专利名称:基于用户位置及呼叫中心的信息搜索系统的制作方法
技术领域:
本发明涉及一种信息搜索系统,尤其涉及一种基于用户位置及呼叫中心的 信息搜索系统。
背景技术:
随着移动通讯技术的不断发展,其种类也曰益丰富,由原来单一速率的话 音业务逐渐演变为话音、数据、多媒体及一些增值业务等多种业务类型共存。 特别是通信与信息服务技术快速发展的今天,提供多种复杂业务是用户的服务
多样化的需求。特别是随着Intemet的异军突起,其提供的信息服务更加全面和 丰富,但由于其要求的数据传输带宽较大, 一般用PC终端才能满足进行信息交 互的要求。目前,虽然移动运营商通过Intemet服务网关可以向移动终端提供 Intemet服务,由于移动终端处理能力非常有限以及无线网络带宽所限,其信息 传输速率非常慢,达到了用户无法容忍的地步。但随着移动用户的不断壮大, 移动终端的处理能力也越来越强大,移动网络提供的Intemet服务可以不受地点 限制,可随时随地向用户提供服务,因此向移动终端用户提供Inteme傳信息服 务必将是未来的重要方向。3G服务网络的出现即是最好的明证,但3G网络建设 尚未成熟,并且仍然以话务业务为主,其提供的服务主要为定制业务,即其下 行的业务带宽较大,但交互能力仍然不足。用户可选择的业务仅限于网络端提 供的数据信息。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于用户位置及呼叫中心的信 息搜索系统,用户可以通过移动终端查询其附近自己感兴趣的地点信息以及进 行其他相关信息的搜索。为达到上述目的,本发明的技术方案是这样实现的
一种基于用户位置及呼叫中心的信息搜索系统,包括
用户注册管理单元,连接呼叫接入单元,用于移动用户的业务接入注册,
存储已注册用户的相关信息;接收呼叫接入单元的调用并向其提供用户的注册 <舌自.
呼叫接入单元,连接业务逻辑单元,用于用户的呼叫接入,并通过语音提 示向用户提供业务选择,将接收到的用户选择业务的请求、确认的用户数据接
收方式发送至业务逻辑单元;根据用户接入号码调用用户注册管理单元中的注
册数据,向业务逻辑单元发送对用户的定位请求以及向终端适配单元发送终端
的适配请求;接收到业务逻辑单元的定位信息后发送至地图单元;接收地图单 元、终端适配单元返回的地图信息及用户感兴趣地点的数据信息、终端特性信 息并发送至业务逻辑单元;
地图单元,连接地图服务器,根据接收到的呼叫接入单元发送的定位信息 确定搜索范围、以及该范围内用户感兴趣的地点信息及该地点信息的相关数据, 并将感兴趣的地点设置相应标识,截取所述确定范围内的地片,通过呼叫 接入单元返回至业务逻辑单元;
地图服务器,用于提供电子地图信息,接收地图单元的调用并向地图单元 返回地图信息;
终端适配单元,连接呼叫接入单元,根据呼叫接入单元发送的用户终端相 关信息获得终端显示特性信息,并通过呼叫接入单元返回至呼叫接入单元;
业务逻辑单元,分别连接于网关及网络支持单元和呼叫接入单元,接收呼 叫接入单元发送的业务搜索请求和用户定位请求,根据业务请求的类型和定位 请求生成相应的请求信息,分发至网关及网络支持单元的对应网关中;接收网 关及网络支持单元发送的业务响应数据和用户位置信息,并接收呼叫接入单元 发送的地图信息和终端显示信息,根据呼叫接入单元发送的用户所选择的返回 方式或调用用户注册管理单元中保存的返回方式向用户返回搜索结果;
网关及网络支持单元,根据业务逻辑单元的定位请求和业务请求完成定位和业务搜索,向业务逻辑单元提供业务数据和定位信息;接收业务逻辑单元的 业务数据发送请求,通过相应网关向用户发送业务数据。 其中,所述业务逻辑单元包括
请求消息处理模块,连接于呼叫接入单元和网关及网络支持单元,对接收 到的各种请求消息进行解析,按照逻辑生成新的消息序列,并发送给消息分发 模块;
消息分发模块,根据消息序列和类型分发消息到请求消息封装模块,以及 接收数据信息封装发送模块返回的相应消息,缓存消息并构造相应的消息序列
发送给请求消息处理模块或数据信息封装发送模块;
数据信息封装发送模块,接收网关及网络支持单元发送的业务数据,调用 用户注册管理单元确定的用户终端特性,根据用户指定的业务回复方式将所有 的执行结果进行封装,并发送到用户终端。
其中,所述网关及网络支持单元至少包括
短消息服务网关,连接无线通信网络,用于将封装为短消息服务网关支持
的搜索结果发送给用户;
多媒体消息服务网关,连接无线通信网络,用于将封装为多媒体消息服务 网关支持的搜索结果发送给用户;
LBS网关,连接无线通信网络,用于提供移动终端的定位业务,实现用户 位置信息的确认;
Mail网关,连接Internet中的邮件服务器,与业务接入单元其他网关联合 用于向用户提供Mail提醒和搜索结果数据的转发;
Web服务网关,连接Internet,用于向用户提供其感兴趣的业务请求Web 查询及业务推荐;
各网关与业务逻辑单元连接,同时分别连接于各自的网络,向业务逻辑单 元提供相应的业务支持。
其中,所述地图单元由地图Applet构成,所述地图Applet接收用户的位置 信息,实现地图对象的本地操作,地图服务器根据地图Applet接收的经纬度信息,生成基于用户位置的GIS信息。
其中,所述用户相关信息包括但不限于用户终端号码、型号、业务代号、
业务密码、用户Mail信息和用户个人信息。
本发明通过呼叫接入单元向移动用户提供业务搜索接口,用户接入后通过
语音提示选择自己感兴趣的业务,然后由本发明的搜索系统通过LBS网关和地 图单元自动完成对用户的定位,然后,根据用户确定的业务搜索其附近的范围 内的业务,并通过彩信、短信或Mail等用户选定或默认的方式返回至用户。本 发明大大弥补了移动终端处理能力不强、网络功能差的缺点,大大方便了用户 的生活。
图l为本发明基于用户位置及呼叫中心的信息搜索系统整体架构示意图; 图2为本发明业务项目的树结构示意图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。 图1为本发明基于用户位置及呼叫中心的信息搜索系统整体架构示意图。 如图1所示,本发明的基于用户位置及呼叫中心的信息搜索系统包括呼叫接 入单元、业务逻辑单元、用户注册管理单元、终端适配单元、地图单元、地图 服务器和网关及网络支持单元。其中,用户注册管理单元用于移动用户的业务 注册,存储已注册用户的终端号码、终端型号、业务代码、业务密码、用户个 人相关信息、用户Mail信息以及用户要求的搜索结果返回方式等信息。这些信 息注册后被存储,当然,也可以根据具体情况而更改。用户可以直接通过该用 户注册管理单元完成信息注册,也可通过接收呼叫接入单元的人工服务而完成 注册信息的录入和修改。用户注册管理单元接收呼叫接入单元的调用并向其提 供用户的注册信息。呼叫接入单元,为移动用户终端提供业务接入,用户用手 机或者PDA打电话到呼叫中心,呼叫中心接入业务逻辑单元。呼叫中心可以通过特定号码而对外提供业务接入的接口。如果用户需要修改注册信息,也可通 过呼叫接入单元的人工服务完成。以下简单介绍呼叫接入单元的工作机理。
呼叫接入单元可采用呼叫中心来实现,利用交互式语音应答来处理用户端 的业务请求。用户拨打本系统的指定呼叫号码后,通过呼叫中心的处理(如排 队),接入本系统的用户呼叫接入单元。首先系统对用户进行身份验证,通过验 证后才会提供业务选择,也就是能够接入本系统的用户必须是系统的注册用户。 呼叫接入单元向用户播放提示音,比如按1#代表选择实时定位,11#代表交通 运输查询、12#代表娱乐休闲查询、13#代表旅游景点查询等,用户选择11#后
系统向用户提示加油站査询为21#、轻轨站查询为22#、火车站查询为23#、汽 车站查询为24#等等,用户可以根据提示音与本系统进行交互,从而实现业务 的选择,选定业务后通知用户指定业务返回的方式,包括Mail返回、短信返回、 彩信返回或者上述方式的结合等。
需要说明的是,本发明在用户对上述业务选择过程中会对选择项目的次数 进行统计,并按项目选择次数对其进行排序,在语音提示时优先播放这些项目。 如上述的交通运输查询在同级别的旅游景点査询、娱乐休闲查询中最多,则将 交通运输查询放在语音播放的第一位,其它的项目依次排序。而交通运输下的 火车站查询在同级别的项目中最多时,则将火车站查询为23#的提示放在交通 运输查询的首位,其它项目依次排列。本发明中,排序的更新周期可以一天为 周期,也可以一周为周期。以下说明其更新方式。
图2为本发明业务项目的树结构示意图。如图2所示,本发明的业务项目 可通过XML的格式组织,因此,很容易就生成一颗dom树。更新算法如下 遍历树的所有节点,然后统计每个节点的值,每调用一次节点的值加"1",该 节点的值为以这个节点作为根节点的子树的所有叶节点的值的和,这样就可以 为树中的每个节点赋值。然后需要对这个dom树进行重新排序生成新的树结构 即可。
本发明中,还包括业务搜索的范围确定,当用户选择完业务后,系统播放 提示询问用户是否同意默认半径(系统默认搜索半径为2500米)。如果用户选择否,则需要输入搜索半径,范围在0-5000米之间。本发明仅提供用户5000
米之内的相关服务的查询,也就是说,在用户感兴趣的业务中,系统仅提供一 定范围内的搜索,当然,搜索距离的确定可根据系统设置而不同。在后面的业 务提供及搜索过程中将作详细描述。
最后,在用户选择完欲搜索的业务后,启动对用户的定位搜索。也可以在 用户请求业务接入时对其进行定位。如前所述,本发明仅提供用户一定范围内 的周边地点搜索。
地图单元,连接于地图服务器,根据接收到呼叫接入单元发送的定位信息 确定搜索范围以及该范围内用户感兴趣的地点信息以及该地点信息的相关数 据,并将感兴趣的地点设置相应标识,截取上述确定范围内的地片,通过
呼叫接入单元返回至业务逻辑单元。地图单元包括地图Applet,通过JAVAApplet 实现,可使业务查询相关的地点产生特殊的效果,以方便用户接收查询结果。 地图服务器,用于提供电子地图信息,接收地图单元的调用并向其返回地图信 息。以下简单介绍本发明的地图单元和地图服务器,也即本发明可提供GIS服 务。本发明所使用的地图服务器为Maplnfo MapXtreme ( R) JAVA Edition ( TM) 4.5.0服务器,其是用于Internet或企业内部Intranet的由JAVA编写的地图应用 服务器,是Maplnfo MapXtreme技术和JAVA技术的有机结合,向应用开发者 提供了一套高度可视化的、直观的组件,方便开发者将地图功能集成到任何 Web应用中。Maplnfo的地图数据存放方式有两种文件方式和数据库方式(如 Oracle )。本系统使用的是文件方式来存储,因此这里只介绍这种方式。文件方 式管理数据的几个文件的意义气tab文件存放组织信息;气dat存放属性数据; 气map存放地图数据;"d文件为dat文件和map文件之间建立每个图元与属性 的一一对应关系,如果有索引字段可能还存在"nd文件。对于矢量图而言,地 图是由一个个图形对象所组成,关于点对象、线对象和多边形对象的信息被编 码并以x、 y坐标形式储存。例如绿地的矢量图中每块绿地就是一个对象。每个 对象在.tab文件中都对应着一条纪录,每张.tab都有一个隐藏的Obj列,记录着 该对象的图形信息和位置信息。在地图上选中一个对象,就相当于在.tab文件中选中了一条纪录,就可以得到对应于这条纪录的属性信息如表中的绿地名称, 绿地面积等等。
地图窗口中的地图由一系列的图层叠加而成。对于矢量图而言,地图对象 一般不透明,地图对象以外的地方透明,所以只要对象不重叠,图层叠加后所 有的地图对象都能显示,并且这些对象都能在窗口中被选中。 一个图层往往代 表了一类对象,如绿地,街道,建筑物等等。每个图层都有自己的表文件。
本系统的地图数据釆用的都是真实的地图数据,放在MapXtreme的文件夹 下。数据按照MapXtreme软件支持的表文件组织起来,根据数据中的类型字段 分为不同的表,每个表可以代表地图中的一个图层。数据是按照地域来划分的, 同一个地域的数据放在相同的文件夹下,比如北京巿海淀区和深圳巿的数据放 在不同的文件夹下。MapXtreme—个图层的数据需要至少四种格式的文件,分 别是DAT、 ID、 MAP和TAB文件。每个图层按照它所代表的含义划分,比如 学校、加油站和河流、街道等等。
图层的分类是根据地图数据中的kind字段来划分的,kind字段表明了该数 据的具体含义,把kind字段相同或者相近(代表的含义属于一类)的数据生成 为独立的DAT、 ID、 MAP和TAB文件。
对于基本图层的数据例如街道、河流等需要生成一个基础地困文件,该文 件取名为world.mdf。然后将该文件连同网络搜索业务一起部署到服务器上,网 络搜索业务启动时加载的那个地图文件即为world.mdf所显示的内容。其他的 图层可以作为网络搜索业务的搜索结果在地图上显示出来。
网络搜索业务目前的地图是只限于某一个范围之内的,比如要么是北京市 海淀区的地图,要么是深圳巿的地图。因此如果要更换网络搜索业务的服务区 域,只需要更改地图数据的路径并生成新的world.mdf文件然后在网络搜索业 务中指定即可。这样,使得网络搜索业务可以很方便地进行地域移植。
本发明的地图服务器是数据査询和提供的重点,通过本发明的网关及网络 支持单元对用户定位后,即按本发明前述的范围确定业务搜索的范围,然后在 该范围内搜索业务请求的地点,根据该搜索的地点确定其相关信息,作为用户查询结果的组成部分。根据查询结果将业务相关地点的地图信息截取并发送至 用户。
终端适配单元,连接于呼叫接入单元,根据呼叫接入单元发送的用户终端 相关信息获得终端显示特性信息,并通过呼叫接入单元返回至呼叫接入单元。 终端适配单元包括终端适配模块和终端特性数据库,根据用户注册管理单元中 确定业务请求的终端型号,通过终端适配模块调用终端特性数据库,获得终端 信息,终端主要是指手机、个人数字助理或小灵通等带有话音接入的移动终端。 终端特性数据库主要存储着手机详细信息。终端数据库中,由手机品牌和型号 可以取得该手机的详细信息,如手机的屏幕大小、分辨率、是否支持彩信等。 当需要将用户查询业务信息反馈到用户终端时,根据用户终端请求中的终端ID 查询终端特性数据库对终端设备进行适配,根据适配结果,调取其特性信息, 再将业务信息格式调整为终端支持的格式,然后再进行发送。例如最终返回用 户手机上的信息为图像时,通过得到的终端信息,将调整图像的大小来适配该 手机终端,从而实现图像在手机屏幕的正确显示。
业务逻辑单元,分别连接于网关及网络支持单元和呼叫接入单元,接收呼 叫接入单元发送的业务搜索请求和用户定位请求,根据业务请求的类型和定位 请求生成相应的请求信息,分发至网关及网络支持单元的对应网关中;接收网 关及网络支持单元发送的业务响应数据和用户位置信息,并接收呼叫接入单元 发送的地图信息和终端显示信息,根据呼叫接入单元发送的用户所选择的返回 方式或调用用户注册管理单元中保存的返回方式向用户返回搜索结果。对于业 务逻辑单元,下文将结合本发明的业务搜索过程详细描述业务逻辑单元。
网关及网络支持单元,是指基于呼叫中心提供搜索业务所使用的协议和网 络。网关及网络支持单元可提供的相关服务包括但不限于多媒体消息服务
MMS、 LBS (LocationBased Service)服务、Mail服务和Web服务等。网关及 网络支持单元具体实现是通过各业务网络和相应的服务网关而实现。网关及网 络支持单元包括以下网关和相应网络
多媒体消息服务MMS网关,连接于第二代无线通信网络和第三代移动通信网络,用于提供多媒体消息类的授权业务,是目前短消息技术开发的最高标 准的一种。利用这项技术,同样可以发送结合文字、图像、动画或铃声的信息,
容量由30,000 bytes到无限大。MMS可以即时利用手机的内部功能或连接周边 器材以拍摄照片或录取声音再传送给他人分享,而不必局限于只能使用手机内 预设的文件。MMS主要是为3G而提出的,目前也可以在2G和2.5G的GRPS 上使用。多媒体消息服务MMS网关主要用于向支持多媒体业务的终端发送图 像、动画等信息(如地址定位业务的地图信息等),以丰富本发明的业务提供类 型。
LBS ( Location Based Service )网关,连接于第二代无线通信网络和第三代 移动通信网络,用于提供移动终端的定位业务。LBS网关的主要功能是为本发 明的平台接入LBS能力,业务层基于LBS子系统可开发各种面向位置的业务, 诸如定位、地图绘制、路径导航等。本发明的LBS网关是通过与中国联通CDMA 位置业务服务器进行交互来完成地理信息系统(GIS, Geographical Information System)功能及定位功能的,本发明的LBS网关遵循中国联通发布的《中国联 通CDMA定位业务SPACCESS接口技术要求》标准,采用统一标准的消息格 式与服务器交互,本发明的LBS网关作为中国联通位置服务器的客户端,利用 HTTP技术,将XML格式的消息发送至服务器,服务器完成相应功能,将XML 格式的响应结果返回给LBS子系统,LBS系统再解析XML响应消息,然后把 结果返回给业务层。
Mail网关,连接于Internet上的邮件服务器,用于向用户提供Mail转发业 务。本发明业务搜索系统确定用户的搜索数据后,可根据用户的选择或用户注 册时默认的方式,将上述的业务搜索结果自动封装为Mail数据,然后向用户发 送。
Web服务网关,连接于Internet,用于向用户提供Web查询及推荐业务。 根据网络业务需求触发Web搜索,并返回匹配服务。例如利用本发明的Web 服务网关可实现智能搜索业务。用户(可以是移动终端用户,或者是PSTN用 户终端用户等)的搜索条件通过网关及网络支持单元接入后,由Web服务网关智能搜索业务执行智能搜索,通过Web服务网关提交搜索请求,相应的搜索系 统(服务提供商建立)根据用户的需求搜索用户所感兴趣的信息(兴趣点),查 找与这些兴趣点有相关的主页,并查看用户可能关心的更为详细的信息,然后 返回至业务逻辑单元,并作为用户的搜索结果返回至用户。
本领域技术人员应当理解,上述的网关和网络已经相当成熟,所提供的服
务也都是非常容易实现的。例如,对于LBS网关,在确定了用户的ID后,根
据其话务提供网络的定位功能,实现用户的经纬度信息非常容易,根据该经纟争
度信息即可到上述的GIS系统中确认搜索半径和搜索业务的搜索。另外,本发 明的Web网关用于在确定了用户的业务信息后,如果没有该地点的详细信息, 可以通过调用Web网关的搜索功能而轻易取得其相关信息。例如在用户定位了 某电影院信息后,非常想得到电影院的电话信息,而如果上述的GIS系统中仅 示出了其地图信息,明显不能满足用户的服务需求,而如果利用该电影院的名 称进行Web搜索后,很容易得到其详细介绍信息,这样即可向用户提供更为深 入的服务,从而大大提升本系统的服务水平。
以下,通过对本发明系统的业务提供为例进行详细说明,以更详细地说明 本发明搜索系统是如何工作的,特别是对本发明的业务逻辑单元,进行了详细 描述。本发明的业务逻辑单元包括请求消息处理模块、消息分发模块和数据信 息封装发送模块,其中,请求消息处理模块连接于呼叫接入单元和网关及网络 支持单元,对接收到的各种请求消息进行解析,按照逻辑生成新的消息序列, 并发送给消息分发模块。消息分发模块,根据消息序列和类型分发消息到请求 消息封装模块,以及接收数据信息封装发送模块返回的相应消息,缓存消息并 构造相应的消息序列发送给请求消息处理模块或数据信息封装发送模块。数据 信息封装发送模块,接收网关及网络支持单元发送的业务数据,调用用户注册 管理单元确定的用户终端特性,根据用户指定的业务回复方式将所有的执行结 果进行封装,并发送到用户终端。
用户首先输入查询条件包括定位本机以及搜索以其位置为中心的2500米 范围内的酒店。如果用户选择了需要获取具体某一个酒店的详细信息,因此首先用户需要等待定位和网络搜索结束后他才能获取搜索结果。这样,呼叫接入 单元采集到的用户输入会构成下面的XML消息。
<Message Type="request"> Operate name=,,location,,>
<Location number="13366466477"> <Location_Succeed>
<SearchisNeedInfo=true > <Type> restaurant</Type> <Radius> 2500 </ Radius> </Search> </ Location—Succeed> <Location—Failed retry=true m ax=2> <Defaul>
<Return—Type>SMS</ Retum_Type> < /Defaul > </ Location_Failed > </Location> </0perate>
</M6SSag6>
请求消息处理模块负责对这个XML的解析,然后生成对应的消息序列。 Message的Type属性为request,说明这是用户对于系统的请求,表明消息的方 向。
Operate的name属性是实时定位。这个XML消息中为Location表明是用 户选择的实时定位。如果name= "Location", Operate标签的子标签肯定要是 Location标签。
Location的属性有number,指定定位的设备的号码,这里是本机的号码。 Location的子标签有Location—Succeed和Location—Failed分另'J表示定位成 功和定位失败的两种情况。由于用户选择了定位成功还要进行搜索,因此Location_Succeed的子标签 应包含Search。 Search标签的属性isNeedlnfo表示用户是否需要查看某一个搜 索结果的详细信息,如果为true表示需要,同时这种情况也表明消息分发模块 在执行完这个XML消息解析成的所有消息序列后,它要构成新的消息序列返 回给请求消息处理模块,再由请求消息处理模块生成Type= "response"的XML 消息给呼叫接入单元。即isNeedInfo=tme表明该XML消息后呼叫接入单元还 在等待 一条response消息。另外由于isNeedInfo=true,说明用户的输入还并没 有结東,也没有指定最后业务的回复方式,这样Message的子标签中不能出现 Retum_Type标签。但是如果isNeedInfo=false,则需要呼叫接入单元应该对用 户的输入全部釆集完毕,Message的子标签中肯定有Return—Type标签来表明业 务回复方式。这样也同时说明了该request消息不需要有response消息。Search标签的子标签有Type和Radius。 Type表示搜索的类型,这里为 restaurant表明搜索的是酒店,如前面所说,在GIS地图数据中 一定会有一个名 为restaurant的同名图层与其对应,其文件包括restaurant.tab, restaurant.dat, restaurant.id, restaurant.map,搜索restaurant即表明GIS地图需要力口载restaurant 这个图层。Radius是表示搜索半径,单位是米,由用户来指定,该半径的中心 是用户定位后的位置。另夕卜,Location_Failed的属性有retry和max,分别表示是否要重试及重试 的次数。除此之外,Location—Failed的子标签Defalut下面可以指定重试次数达 到多少后仍然失败默认的操作,该XML消息的默认操作是给用户发送一条短 信,短信的内容可以是提示用户定位失败的相关信息。请求消息处理模块解析XML的标签会生成相应的消息并按照一定的逻辑 构成消息序列发送给消息分发模块。比如解析包含到Location标签,就会生成 LocationMsg这样一个消息,在JAVA程序设计中,该消息可以是一个类。在设 计的时候,可以让请求消息处理模块生成的所有消息都实现IMsg这样一个接 口,在消息分发模块的实现类中可以包含一个procMsg (IMsgmsg)这样的一个 方法,请求消息处理模块要发送消息给消息分发模块只需要调用procMsg ()即可,比如要进行定位,则需要构造好LocationMsg,并根据解析XML消息的结 果设定好LocationMsg各项属性值,然后调用procMsg (LocationMsg msg)发送 消息给消息分发模块。由于所有的消息实现了 IMsg接口,那么在procMsg中 只需要判断是哪 一种消息类就可以执行该消息对应的搡作。这样的消息可能有五种LocationMsg , DatabaseMsg , GisMsg 、 WebSearchMsg和FinalRequestMsg。其中,LocationMsg:定位消息,属性包括 number表明的定位号码。DatabaseMsg:操作数据库消息,在要执行查询数据 库的操作时构成的消息。它的属性应该包括数据库名,数据库的URL,数据 库的表名,査询的字段等等。GisMsg: Gis消息,包含Gis图片生成所需要的 一些参数。WebSearchMsg:网络搜索消息,属性应该包括搜索的类型、半径, 以及指定是否需要将搜索结果再返回到请求消息处理模块。FinalRequestMsg: 最后请求的消息,该消息中包含了一个必选的属性字段用户指定的业务回复 方式和一个可选的属性字段指定的某一个搜索结果信息(该字段根据情况可 能有,也可能没有为null)。如果解析到Search标签则表示需要进行网络搜索业务的操作,则生成 WebSearchMsg发送给消息分发模块。消息分发处理模块在收到特定的消息后会 调用网关和网络支持模块中相应的业务提供网关,网关和相应网络提供搜索结 果后再将执行结果返回给数据信息接收模块。数据信息接收模块会将网关及网络支持单元返回的结果又封装成结果消息 回复给消息分发模块,设计的时候可以把所有的结果消息都实现IResultMsg接 口 ,然后在消息分发模块的类中提供 一个方法procMsg (IResultMsg msg)这样 一个方法来接收数据信息接收模块返回的结果消息。相应的结果消息也有四种 类型LocationResultMsg:定位结果消息,属性包括定位号码number,定位时 间time,定位结果经度longitude和定位结果绵度latitude。 DatabaseResultMsg: 数据库查询结果的消息。GisResultMsg:调用GIS能力返回的结果的消息,包 含生成的图片信息。SearchResultMsg:搜索结果消息,属性包括搜索类型Type, 搜索半径radius,符合条件的搜索结果数目count和包含搜索结果类Result的一个List序列result_List。搜索的结果可以设计为Result这样一个类,它里面包 含有一个字符串数组和一个HashMap,第一个数组为该搜索结果包含的搜索信 息字段的名字,比如name、 longitude、 latitude、 distance, phonenumber等,第 二个数组为一个HashMap,它的key为字符串数组中的值,即结果中包含的字 段名,value为搜索结果中对应的字段的值。请求消息处理模块在生成IMsg消息并向消息分发模块发送的消息时,会 按照一定的序列发送,这个顺序也是由XML消息来指定的,比如Search标签 为Location标签的子标签,这样就表示网络搜索业务依赖于定位的结果。这样 就需要消息分发模块具有某种消息缓存的机制,比如在进行网络搜索业务前要 先进行定位,它的流程是请求消息处理模块首先调用消息分发模块的procMsg (LocationMsg msg) 方法,在该方法中消息分发模块调用业务提供模块的LBS网关进行定位,然后 LBS网关将定位结果发送给数据信息接收模块,数据信息接收模块会将定位结 果封装成 LocationResultMsg再调用消息分发模块的 procMsg (LocationResultMsgmsg),将定位结果消息发送给消息分发模块。由于消息分 发模块知道后面还要进行网络搜索操作,而且该操作依赖于LocationResultMsg 的值,因此它首先会把LocationResultMsg缓存起来。从LocationResultMsg中 可以得到用户定位的结果。在消息分发模块处理完LocationResultMsg后,其procMsg ( WebSearchMsg msg)才会被调用,在这个方法中要调用Web服务网关来实现网络搜索业务。 在调用网络搜索业务能力的时候不仅需要WebSearchMsg的信息,还需要从之 前返回的LocationResultMsg中获得用户定位后的位置,从而用来确定搜索中心 点。消息分发模块中在调用网络搜索业务能力的时候,需要指定搜索类型、半 径和用户当前的位置作为搜索中心点,其中MapXtreme提供了一个方法,该方 法将搜索类型(名字会与某个GIS数据文件同名),半径的值,半径的单位(米), 中心点的位置为参数,从而返回搜索到的对应图层的所有信息。该方法为com.mapinfo.mapj丄ayer类的public FeatureSet search WithinRadius (List list, DoublePoint doublePoint, double radius, Unit unit, QueryParams queryParams )。Web服务网关将搜索到的图层信息返回给数据信息接收模块,数据信息接 收模块则构造成SearchResultMsg ,再调用消息分发模块的procMsg (SearchResultMsgmsg)将网络搜索业务的结果返回给消息分发模块。另外,这里请求消息处理模块还要接收消息分发模块的返回消息,然后再 由请求消息处理根据消息序列和消息类型重新构造response的XML消息返回 给呼叫接入单元。请求消息处理模块接收到的消息可以设计成为ResponseMsg 这样一个消息类,它里面包含LocationResultMsg和SearchResultMsg的结果。 消息分发模块根据得到的LocationResultMsg和SearchResultMsg,再按照一定 的消息格式生成ResponseMsg给请求消息处理模块。请求消息处理模块在得到ResponseMsg后,会根据其内容生成response的 XML消息。比如这里面有LocationResultMsg和SearchResultMsg的结果,生成 的XML消息可以为<Message Type=,,response,,> <Locatin_Result><Number> 13366465477</Number> <Time>2007-04-17 16:30:20</Time> <Longitude>l 16.27877</ Longitude > <Latitude>39.930874</Latitude> </ Locatin_Result > <Search—Result><Type> restaurant </Type> <Radius> 2500 </ Radius〉 <Count> 2 </ Count > 〈Result id="l">〈Name〉北京饭店〈/Name〉 〈Longitude〉116,3卯000〈/ Longitude ><Latitude〉3 9.75000</Latitude><Distance>200</Distance><PhoneNumber>01065137766 </ PhoneNumber ><Address>中国北京巿东长安街33号< /Address ><Postalcode> 100004 </ Postalcode > </ Result > 〈Result id="2">〈Name〉王府井酒店</Name><Longitude>l 16.400000</ Longitude ><Latitude>3 9.80000</Latitude><Distance> 1000</Distance><PhoneNumber>01065258888 </ PhoneNumber ><Address>中国北京巿王府井大街1号< /Address ><Postalcode> 100005 </ Postalcode > </ Result > </Search—Result> </Message>呼叫接入单元会将这个XML消息转换为语音提示给用户要用户选择要具 体获得哪一个酒店的详细信息,如果用户选择的是北京饭店并且要求返回方式 为MMS和进行呼叫转接。呼叫接入单元会根据用户的选择生成新的request类 型的XML消息,格式如下〈Message Type=',request,> 〈Result id="l"> <Locatin—Result><Number> 13366465477</Number> <Time>2007-04-17 16:30:20</Time> <Longitude>116.27877</ Longitude > <Latitude>39.930874</Latitude> </Locatin Result ><Search—Result〉<Type> restaurant </Type> <Radius> 2500 </ Radius> <Count> 2 </ Count > <Result>〈Name〉北京饭店</Name><Longitude>116.390000</ Longitude ><Latitude>3 9.75000</Latitude><Distance>200</Distance><PhoneNumber>01065137766 </ PhoneNumber ><Address>中国北京市东长安街33号< /Address ><Postalcode> 100004 </ Postalcode > </ Result > </Search_Result> </Result><Return_Type ref="l,,>MMS</ Return—Type> 〈Return一Type ref="l',>TransferCall</ Return—Type> </Message>请求消息处理模块在解析该XML消息时解析到Return—Type标签,则会生 成 一个FinalRequestMsg消息类,它也实现了 IMsg接口 ,再根据Return—Type 标签的ref属性的值找到对应的带id属性的Result标签,再将Result标签里面 的内容赋给FinalR叫uestMsg中的属性。如果Return—Type中要返回图片的话 (MMS或Email),则先需要构造GisMsg,来得到用户位置的图片和包含搜索 结果的图片。由于这里面指定了返回方式有MMS,所以请求消息处理模块首先调用消息 分发模块的procMsg (GisMsgmsg)方法,然后调用GIS网关生成两张GIS图 片信息发送给数据信息接收模块,数据信息接收模块构造GisResultMsg将图片 信息返回给消息分发模块,消息分发模块会将GisResultMsg缓存起来。在请求消息处理模块调用消息分发模块的procMsg ( GisMsg msg)之后, 请求消息处理模块再调用procMsg (FinalRequestMsg msg)方法,将业务结果 和回复方式通知给消息分发模块。消息分发模块得知业务回复方式有MMS和 呼叫转接,那么它从先前获得的GisResultMsg取出图片信息,再构造好指定的 业务回复消息发送给数据信息封装发送模块。
数据信息封装发送模块在收到业务回复消息后,首先会从终端适配子模块 中获取到用户的终端信息,然后对要发送给用户终端的信息进行封装,比如将 要发送给MMS网关的信息要根据终端信息来判断该终端是否支持彩信以及终 端屏幕的大小,再将要发送的图片大小调整成与用户终端的屏幕大小一致并将 信息封装成MMS网关能够接收到的指定格式发送过去。另外,业务回复方式 中还要求呼叫转接,所以数据信息封装发送模块还需要从业务回复消息中提取 出要转接的电话号码,再封装成指定的格式调用SIP网关的呼叫转接接口以实 现呼叫转接的功能。这样在用户在不挂机的情况下系统就可以将用户与系统的 呼叫转接到指定的电话号码上去。
以上所述,仅为本发明的较佳实施例而已,并非用来限定本发明的保护范围。
权利要求
1、一种基于用户位置及呼叫中心的信息搜索系统,其特征在于,该系统包括用户注册管理单元,连接呼叫接入单元,用于移动用户的业务接入注册,存储已注册用户的相关信息;接收呼叫接入单元的调用并向其提供用户的注册信息;呼叫接入单元,连接业务逻辑单元,用于用户的呼叫接入,并通过语音提示向用户提供业务选择,将接收到的用户选择业务的请求、确认的用户数据接收方式发送至业务逻辑单元;根据用户接入号码调用用户注册管理单元中的注册数据,向业务逻辑单元发送对用户的定位请求以及向终端适配单元发送终端的适配请求;接收到业务逻辑单元的定位信息后发送至地图单元;接收地图单元、终端适配单元返回的地图信息及用户感兴趣地点的数据信息、终端特性信息并发送至业务逻辑单元;地图单元,连接地图服务器,根据接收到的呼叫接入单元发送的定位信息确定搜索范围、以及该范围内用户感兴趣的地点信息及该地点信息的相关数据,并将感兴趣的地点设置相应标识,截取所述确定范围内的地片,通过呼叫接入单元返回至业务逻辑单元;地图服务器,用于提供电子地图信息,接收地图单元的调用并向地图单元返回地图信息;终端适配单元,连接呼叫接入单元,根据呼叫接入单元发送的用户终端相关信息获得终端显示特性信息,并通过呼叫接入单元返回至呼叫接入单元;业务逻辑单元,分别连接于网关及网络支持单元和呼叫接入单元,接收呼叫接入单元发送的业务搜索请求和用户定位请求,根据业务请求的类型和定位请求生成相应的请求信息,分发至网关及网络支持单元的对应网关中;接收网关及网络支持单元发送的业务响应数据和用户位置信息,并接收呼叫接入单元发送的地图信息和终端显示信息,根据呼叫接入单元发送的用户所选择的返回方式或调用用户注册管理单元中保存的返回方式向用户返回搜索结果;网关及网络支持单元,根据业务逻辑单元的定位请求和业务请求完成定位和业务搜索,向业务逻辑单元提供业务数据和定位信息;接收业务逻辑单元的业务数据发送请求,通过相应网关向用户发送业务数据。
2、 根据权利要求1所述的基于用户位置及呼叫中心的信息搜索系统,其特 征在于,所述业务逻辑单元包括请求消息处理模块,连接于呼叫接入单元和网关及网络支持单元,对接收 到的各种请求消息进行解析,按照逻辑生成新的消息序列,并发送给消息分发模块;消息分发模块,根据消息序列和类型分发消息到请求消息封装模块,以及 接收数据信息封装发送模块返回的相应消息,缓存消息并构造相应的消息序列发送给请求消息处理模块或数据信息封装发送模块;数据信息封装发送模块,接收网关及网络支持单元发送的业务数据,调用 用户注册管理单元确定的用户终端特性,根据用户指定的业务回复方式将所有 的执行结果进行封装,并发送到用户终端。
3、 根据权利要求l所述的基于用户位置及呼叫中心的信息搜索系统,其特 征在于,所述网关及网络支持单元至少包括短消息服务网关,连接无线通信网络,用于将封装为短消息服务网关支持 的搜索结果发送给用户;多媒体消息服务网关,连接无线通信网络,用于将封装为多媒体消息服务 网关支持的搜索结果发送给用户;LBS网关,连接无线通信网络,用于提供移动终端的定位业务,实现用户 位置信息的确认;Mail网关,连接Internet中的邮件服务器,与业务接入单元其他网关联合 用于向用户提供Mail提醒和搜索结果数据的转发;Web服务网关,连接Internet,用于向用户提供其感兴趣的业务请求Web 查询及业务推荐;各网关与业务逻辑单元连接,同时分别连接于各自的网络,向业务逻辑单 元提供相应的业务支持。
4、 根据权利要求1所述的基于用户位置及呼叫中心的信息搜索系统,其特征在于,所述地图单元由地图Applet构成,所述地图Applet接收用户的位置信 息,实现地图对象的本地操作,地图服务器根据地图Applet接收的经炜度信息, 生成基于用户位置的GIS信息。
5、 根据权利要求1至4中任一项所述的基于用户位置及呼叫中心的信息搜 索系统,其特征在于,所述用户相关信息包括但不限于用户终端号码、型号、 业务代号、业务密码、用户Mail信息和用户个人信息。
全文摘要
本发明公开了一种基于用户位置及呼叫中心的信息搜索系统,包括用户注册管理单元,提供用户的注册信息;呼叫接入单元,用于用户的呼叫接入,接收用户选择的业务请求;地图单元,连接于地图服务器;地图服务器,用于提供电子地图信息,接收地图单元的调用并向其返回地图信息;终端适配单元,根据呼叫接入单元发送的用户终端相关信息获得终端显示特性信息;业务逻辑单元,接收业务搜索请求和用户定位请求,生成相应的请求信息并分发对应网关;接收响应数据和用户位置信息、地图信息和终端显示信息,向用户返回搜索结果;网关及网络支持单元,向业务逻辑单元提供业务数据和定位信息。本发明实现简单并方便了移动用户的生活。
文档编号H04L12/66GK101309441SQ20071009932
公开日2008年11月19日 申请日期2007年5月16日 优先权日2007年5月16日
发明者孟祥武, 宫云战, 泳 彭, 骏 王, 陈俊亮 申请人:北京邮电大学