移动搜索方法及其系统、搜索服务器同步元索引的方法转让专利

申请号 : CN200810147590.5

文献号 : CN101667179B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王玮闵国兵董晓艺胡汉强顾翀李正兵

申请人 : 华为技术有限公司

摘要 :

本发明揭示一种移动搜索方法及系统,方法包括:本地搜索服务器接收客户端发送的搜索请求,所述搜索请求中携带搜索关键字;根据所述搜索关键字,从本地存储的元索引中调度得到成员搜索引擎,所述本地存储的元索引包括所述本地搜索服务器的元索引和其他搜索服务器的元索引;查找所述成员搜索引擎所在的搜索服务器;若所述成员搜索引擎所在的搜索服务器不是本地搜索服务器,则:根据所述搜索请求向所述搜索服务器发送二次搜索请求;接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果;向所述客户端发送所述搜索结果。本发明实施例能够使各搜索服务器管理的成员搜索引擎得到统一调度,减轻搜索服务器的运算负担。

权利要求 :

1.一种移动搜索方法,其特征在于,包括:

本地搜索服务器接收客户端发送的搜索请求,所述搜索请求中携带搜索关键字;

根据所述搜索关键字,从本地存储的元索引中调度得到成员搜索引擎,所述本地存储的元索引包括所述本地搜索服务器的元索引和其他搜索服务器的元索引;

从存储的成员搜索引擎和其所在的搜索服务器的映射关系中查找所述成员搜索引擎所在的搜索服务器;

若所述成员搜索引擎所在的搜索服务器不是本地搜索服务器,则:向所述成员搜索引擎所在的搜索服务器发送二次搜索请求,所述二次搜索请求中包含所述搜索关键字;

接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果;

向所述客户端发送所述搜索结果。

2.根据权利要求1所述的移动搜索的方法,其特征在于,根据所述搜索关键字,从本地存储的元索引中调度得到成员搜索引擎具体包括:解析所述搜索请求得到搜索关键字;

根据所述元索引进行调度选出与所述搜索关键字匹配度最高的成员搜索引擎。

3.根据权利要求1所述的移动搜索方法,其特征在于,向所述成员搜索引擎所在的搜索服务器发送二次搜索请求具体包括:根据所述映射关系,获取所述成员搜索引擎所在的搜索服务器的标识和/或地址;

根据所述成员搜索引擎所在的搜索服务器的标识和/或地址,向所述成员搜索引擎所在的搜索服务器发送二次搜索请求。

4.根据权利要求1所述的移动搜索方法,其特征在于,所述方法还包括:所述成员搜索引擎所在的搜索服务器解析所述二次搜索请求,得到所述搜索关键字和所述成员搜索引擎的标识和/或地址;

根据所述成员搜索引擎的标识和/或地址,将包含所述搜索关键字的所述二次搜索请求转发给所述成员搜索引擎进行搜索。

5.根据权利要求1所述的移动搜索方法,其特征在于,所述方法还包括:所述本地搜索服务器和所述其他搜索服务器同步元索引。

6.根据权利要求5所述的移动搜索方法,其特征在于,所述本地搜索服务器和所述其他搜索服务器同步元索引具体包括:所述本地搜索服务器向所述其他搜索服务器发送所述本地搜索服务器的元索引同步请求;

根据所述本地搜索服务器的元索引同步请求,所述其他搜索服务器更新已存储的所述本地搜索服务器的元索引。

7.根据权利要求6所述的移动搜索方法,其特征在于,向其他搜索服务器发送元索引同步请求具体包括:所述本地搜索服务器获取所述其他搜索服务器的标识和/或地址;

所述本地搜索服务器根据所述其他搜索服务器的标识和/或地址向所述其他搜索服务器发送所述元索引同步请求。

8.根据权利要求6或7所述的移动搜索方法,其特征在于,所述根据所述元索引同步请求,所述其他搜索服务器更新已存储的所述本地搜索服务器的元索引具体包括:解析所述元索引同步请求;

根据所述本地搜索服务器标识,将变更后的所述本地搜索服务器的元索引存储到元索引库的相应位置。

9.根据权利要求8所述的移动搜索方法,其特征在于,所述方法还包括:所述本地搜索服务器和所述其他搜索服务器存储所述本地搜索服务器的成员搜索引擎与其所在的本地搜索服务器的映射关系。

10.根据权利要求6所述的移动搜索方法,其特征在于,所述本地搜索服务器为超级节点搜索服务器;

所述向其他搜索服务器发送所述本地搜索服务器的元索引同步请求具体包括:所述超级节点搜索服务器向其他超级节点搜索服务器发送所述元索引同步请求;

所述根据所述元索引同步请求,所述其他搜索服务器更新已存储的所述本地搜索服务器的元索引具体包括:解析所述元索引同步请求,所述其他超级节点搜索服务器将变更后的所述超级节点搜索服务器的元索引存储到元索引库的相应位置,并将更新的所述元索引同步给自身的叶子节点搜索服务器。

11.根据权利要求6所述的移动搜索方法,其特征在于,所述本地搜索服务器为叶子节点搜索服务器;

所述向其他搜索服务器发送所述本地搜索服务器的元索引同步请求具体包括:所述叶子节点搜索服务器向叶子节点搜索服务器所在的超级节点搜索服务器发送所述元索引同步请求;

所述叶子节点搜索服务器所在的超级节点搜索服务器向其他超级节点搜索服务器发送所述元索引同步请求;

所述根据所述元索引同步请求,所述其他搜索服务器更新已存储的所述本地搜索服务器的元索引具体包括:解析所述元索引同步请求,所述其他超级节点搜索服务器将变更后的所述叶子节点搜索服务器的元索引存储到元索引库的相应位置,并将更新的所述元索引同步给自身的叶子节点搜索服务器。

12.根据权利要求10或11所述的移动搜索方法,其特征在于,进一步包括:所述超级节点搜索服务器和所述叶子节点搜索服务器存储所述本地搜索服务器的成员搜索引擎与其所在的本地搜索服务器的映射关系。

13.一种移动搜索系统,其特征在于,包括:

多个搜索服务器,每个搜索服务器管理至少一个成员搜索引擎,其中:所述搜索服务器用于接收搜索请求,根据所述搜索请求中的搜索关键字,从元索引中调度得到成员搜索引擎,所述元索引中包括本地搜索服务器的元索引和其他搜索服务器的元索引,从存储的成员搜索引擎和其所在的搜索服务器的映射关系中查找所述成员搜索引擎所在的搜索服务器,判断所述成员搜索引擎所在的搜索服务器是否是本地搜索服务器,如果否,则向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求,并接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果,并将搜索结果返回给客户端。

14.一种搜索服务器,其特征在于,包括:

输入输出单元,用于接收客户端的搜索请求,将所述搜索请求发送给成员搜索引擎调度单元,并向客户端返回搜索结果;

元索引库,用于存储本地搜索服务器的元索引和其他搜索服务器的元索引;

成员搜索引擎调度单元,用于根据所述搜索请求,根据所述元索引库中存储的元索引进行调度得到成员搜索引擎,并判断所述成员搜索引擎所在的服务器是否是本地搜索服务器,如果否,则控制搜索协作单元,向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求;

搜索协作单元,向所述成员搜索引擎所在的搜索服务器发送二次搜索请求,接收所述成员搜索引擎所在的搜索服务器返回的搜索结果;

所述搜索服务器还包括用于从存储的成员搜索引擎和其所在的搜索服务器的映射关系中查找所述成员搜索引擎所在的搜索服务器的单元。

15.根据权利要求14所述的搜索服务器,其特征在于,所述搜索服务器进一步包括:元索引管理单元,用于接收元索引同步请求,并根据所述元索引同步请求,在所述元索引库中更新其它搜索服务器的元索引。

说明书 :

移动搜索方法及其系统、搜索服务器同步元索引的方法

技术领域

[0001] 本发明涉及移动通信技术领域,特别涉及一种移动搜索方法及其系统、搜索服务器同步搜索能力的方法。

背景技术

[0002] 移动搜索是移动通信技术和搜索引擎技术相融合的产物。作为两大热门领域的结合体,移动搜索业务正处于高速成长期。当前,移动搜索业务已经成为移动增值业务新的亮点与增长点。
[0003] 现有的移动搜索分为集中式移动搜索和分布式移动搜索。
[0004] 集中式移动搜索引擎是基于单个网页数据库中心上的检索系统,需要存储互联网上以及各地离线数据库中大量的相关对象信息,这就对网页数据库的存储和运算规模提出了挑战。同时,这种单个中心的集中式检索方式需要庞大服务器机群具备超强的计算处理能力和海量的存储能力才能满足人们日常网络信息的检索需求。因此,集中式移动搜索引擎正面临着数据信息采集和维护困难,服务器运算处理瓶颈等诸多问题。
[0005] 分布式移动搜索引擎维护自己的网页数据库,数据存储是分布式的,每个搜索引擎的能力仅限于自身的网页数据库。因此,各搜索服务器管理的成员搜索引擎比较分散,不能统一调度。
[0006] 因此,在进行本发明创造过程中,发明人发现现有技术中至少存在如下问题:现有技术提供的集中式移动搜索,数据信息采集和维护困难,服务器运算处理存在瓶颈,而分布式移动搜索,各搜索服务器管理的成员搜索引擎比较分散,不能统一调度。

发明内容

[0007] 有鉴于此,有必要提出一种移动搜索方法及其系统,能够使各搜索服务器管理的成员搜索引擎得到统一调度,又能减轻搜索服务器的运算负担。
[0008] 本发明实施例提供的移动搜索方法,包括:本地搜索服务器接收客户端发送的搜索请求,所述搜索请求中携带搜索关键字;根据所述搜索关键字,从本地存储的元索引中调度得到成员搜索引擎,所述本地存储的元索引包括所述本地搜索服务器的元索引和其他搜索服务器的元索引;查找所述成员搜索引擎所在的搜索服务器;若所述成员搜索引擎所在的搜索服务器不是本地搜索服务器,则:向所述成员搜索引擎所在的搜索服务器发送二次搜索请求,所述二次搜索请求中包含所述搜索关键字;接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果;向所述客户端发送所述搜索结果。
[0009] 本发明实施例提供的搜索服务器之间同步搜索能力的方法,包括:本地搜索服务器向其他搜索服务器发送元索引同步请求;根据所述元索引同步请求,所述其他搜索服务器更新已存储的所述本地搜索服务器的元索引。
[0010] 本发明实施例提供的移动搜索系统,包括:多个搜索服务器,每个搜索服务器管理至少一个成员搜索引擎,其中:所述搜索服务器用于接收搜索请求,根据所述搜索请求中的搜索关键字,从元索引中调度得到成员搜索引擎,所述元索引中包括本地搜索服务器的元索引和其他搜索服务器的元索引,判断所述成员搜索引擎所在的搜索服务器是否是本地搜索服务器,如果否,则向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求,并接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果,并将搜索结果返回给客户端。
[0011] 本发明实施例提供的搜索服务器,包括:输入输出单元,用于接收客户端的搜索请求,将所述搜索请求发送给成员搜索引擎调度单元,并向客户端返回搜索结果;元索引库,用于存储本地搜索服务器的元索引和其他搜索服务器的元索引;成员搜索引擎调度单元,用于根据所述搜索请求,根据所述元索引库中存储的元索引进行调度得到成员搜索引擎,并判断所述成员搜索引擎所在的服务器是否是本地搜索服务器,如果否,则控制搜索协作单元,向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求;搜索协作单元,向所述成员搜索引擎所在的搜索服务器发送二次搜索请求,接收所述成员搜索引擎所在的搜索服务器返回的搜索结果。
[0012] 通过本发明实施例提供的移动搜索方法及其系统、搜索服务器之间同步搜索能力的方法,可以调度各个搜索服务器所管理的成员搜索引擎来进行搜索,因此能够使得各搜索服务器管理的成员搜索引擎得到统一调度,又能够减轻搜索服务器运算负担,且提高移动搜索的准确度。

附图说明

[0013] 图1为本发明实施例中移动搜索方法实施例示意图;
[0014] 图2为本发明实施例中元搜索引擎的架构示意图;
[0015] 图3为本发明实施例中成员搜索引擎的注册流程图;
[0016] 图4为本发明实施例中中心目录服务器式拓扑结构图;
[0017] 图5为本发明实施例中半分布式结构化对等计算拓扑结构图;
[0018] 图6为本发明实施例中移动搜索方法实施例信令流程图;
[0019] 图7为本发明实施例中移动搜索系统实施例示意图;
[0020] 图8为本发明实施例中搜索服务器实施例示意图。

具体实施方式

[0021] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
[0022] 请参阅图1,本发明实施例提供一种移动搜索方法,包括:
[0023] 101、本地搜索服务器接收客户端发送的搜索请求,所述搜索请求中携带搜索关键字;
[0024] 当用户需要进行搜索时,会通过客户端向本地搜索服务器发送搜索请求,该搜索请求中会携带用户希望进行搜索的搜索关键字。
[0025] 102、本地搜索服务器根据所述搜索关键字,从本地存储的元索引中调度得到成员搜索引擎;
[0026] 本实施例中,本地搜索服务器在本地不仅存储了自身的元索引,同样还存储了其他搜索服务器的元索引,此处所描述的其他搜索服务器是指与本地搜索服务器能够进行通讯连接或数据交换的搜索服务器。
[0027] 为了便于理解,下面对元索引以及使用元索引的元搜索引擎进行简要介绍:
[0028] 请参阅图2,图2为本发明实施例中元搜索引擎的架构示意图,如图2所示:
[0029] 元搜索引擎(Metasearch Engine,也称为搜索服务器),是一种调用其它独立搜索引擎的引擎,元搜索引擎就是对多个独立搜索引擎的整合、调用、控制和优化利用。相对元搜索引擎,可被利用的独立搜索引擎称为“源搜索引擎”(source Engine),或“成员搜索引擎”(member Engine)。
[0030] 元索引(meta index)是元搜索引擎对成员搜索引擎的索引,元搜索引擎通过在本地维护成员搜索引擎的元索引信息来调度和控制成员搜索引擎。成员搜索引擎向元搜索引擎注册时,成员搜索引擎按照元搜索引擎规定的格式提供接口参数和能力参数信息,元搜索引擎生成成员搜索引擎的元索引。元搜索引擎通过各个成员搜索引擎的元索引对已注册的搜索引擎进行集中调度。
[0031] 当客户端发起搜索请求时,该元搜索引擎(搜索服务器)可以根据搜索请求中的关键字调用对应的成员搜索引擎进行搜索。
[0032] 103、本地搜索服务器查找所述成员搜索引擎所在的搜索服务器;
[0033] 本实施例步骤102中根据本地存储的元索引调度得到成员搜索引擎之后,即可查询该成员搜索引擎所在的搜索服务器。
[0034] 104、本地搜索服务器向所述成员搜索引擎所在的搜索服务器发送二次搜索请求;
[0035] 若本地搜索服务器查询到的所述成员搜索引擎所在的搜索服务器并非是本地搜索服务器,则本地搜索服务器将包含该搜索关键字的二次搜索请求发送至所述成员搜索引擎所在的搜索服务器,由该成员搜索引擎根据所述搜索关键字进行搜索。
[0036] 需要说明的是,本实施例中,本地搜索服务器在查询到该成员搜索引擎所在的搜索服务器之后,可以判断该成员搜索引擎所在的搜索服务器是否为本地搜索服务器,具体的判断可以是判断服务器的标识是否相同,或判断服务器的唯一地址是否相同,若本地搜索服务器确定该成员搜索引擎所在的搜索服务器不是本地搜索服务器,则可以向该成员搜索引擎所在的搜索服务器发送二次搜索请求。
[0037] 可以理解的是,上述采用的是判断的步骤实现二次搜索请求的发送,在实际应用中,本地搜索服务器同样可以不进行判断,即本地搜索服务器在查询到该成员搜索引擎所在的搜索服务器之后,直接向该成员搜索引擎所在的搜索服务器发送二次搜索请求,例如,当本地搜索服务器并未管理任何成员搜索引擎时,则本地搜索服务器查询到的该成员搜索引擎所在的搜索服务器必定不会是本地搜索服务器,则本地搜索服务器无需进行判断,即可向该成员搜索引擎所在的搜索服务器发送二次搜索请求。
[0038] 105、本地搜索服务器接收成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果;
[0039] 本实施例中,成员搜索引擎所在的搜索服务器根据本地搜索服务器发送的二次搜索请求发送给所述成员搜索引擎完成搜索之后,会将搜索结果反馈至本地搜索服务器。
[0040] 106、本地搜索服务器向客户端发送所述搜索结果。
[0041] 本地搜索服务器接收到成员搜索引擎所在的搜索服务器反馈的搜索结果之后,将该搜索结果发送至客户端。
[0042] 本实施例中,本地搜索服务器中保存有自身的元索引以及其他搜索服务器的元索引,因此本地搜索服务器可以通过元索引确定成员搜索引擎,进而确定成员搜索引擎所在的搜索服务器,本地搜索服务器可以通过其他的各个搜索服务器来调度其所管理的成员搜索引擎来进行搜索,因此能够使得各搜索服务器管理的成员搜索引擎得到统一调度,又能够减轻本地搜索服务器运算负担,且提高移动搜索的准确度。
[0043] 下面对本发明实施例中的移动搜索方法实施例进行详细描述:
[0044] 首先对成员搜索引擎的注册过程以及与搜索服务器建立元索引的过程进行描述:
[0045] 为了实现移动搜索,本发明实施例中,搜索服务器不仅需要维护本地注册的成员搜索引擎的参数信息,同时需要与其它搜索服务器同步其管理的成员搜索引擎的元索引。
[0046] 请参阅图3,本发明实施例中成员搜索引擎的注册过程以及与搜索服务器建立元索引的过程包括:
[0047] 301:成员搜索引擎向本地搜索服务器进行注册;
[0048] 注册内容包括成员搜索引擎标识,搜索类型,搜索请求统一资源定位符(URL,Uniform Resource Locator)。其中搜索引擎标识可以用来唯一标识成员搜索引擎;搜索类型可以是搜索引擎的内容分类,也可以是地理位置分类,类型也可以由一个或多个标签组成,所述分类或者标签可以由成员搜索引擎自身定义,或者由本地搜索服务器进行定义,再由成员搜索引擎注册时选择所属分类或标签,而且,一个成员搜索引擎可以属于多个搜索类型;搜索请求URL可以按照开放式搜索聚合协议(opensearch)规范来注册,其中URL中所携带参数,可以按照opensearch规范中定义的URL标准化参数和URL个性化参数进行定义。
[0049] 下面举例说明成员搜索引擎向本地搜索服务器进行注册的例子:
[0050] <?xml version=″1.0″encoding=″UTF-8″?>
[0051]
[0052] Hotel Search
[0053] Use Example.com to search the Hotel web site.
[0054] Hotel web
[0055] admin@example.com
[0056]
[0057] template = ″ http://example.com/ ? q = {searchTerms}&;pw ={startPage?}&am
[0058] p;format=rss″/>
[0059]
[0060] 其中“Hotel Search”表示搜索引擎标识;“Hotel web”表示搜索引擎分类;“http://example.com/?q={searchTerms}&;pw={startPage?}&;format=rss”表示搜索请求URL。
[0061] 302:本地搜索服务器生成成员搜索引擎的元索引;
[0062] 元索引(meta index)是元搜索引擎即搜索服务器对成员搜索引擎的索引,元搜索引擎通过在本地维护的成员搜索引擎的元索引来调度和控制成员搜索引擎。
[0063] 元索引为搜索服务器对成员搜索引擎的搜索能力信息的概括和描述。元索引可以保存在元索引库中,本地搜索服务器中的元索引库中存储了本地和其它搜索服务器的元索引。
[0064] 元索引的结构和建立过程可以有多种。在本发明提供的实施例中,元索引可以采用表格式结构,元索引中给出的是关键字对每个引擎的权值。请参见下表1,为元索引的结构示意图。
[0065] 表1元索引的结构
[0066]引擎标识 成员搜索引擎1 成员搜索引擎2 ...... 成员搜索引擎n
关键字1 0.02 0.10 ..... 0.77
关键字2 0.01 0.03 ..... 0.90
....... ..... ..... ...... .....
关键字n 0.55 0.11 ..... 0.28
[0067] 由上述表1可以看出,本发明实施例中的元索引包含三部分内容:关键字,引擎,以及权值。其中,关键字表示搜索时所采用的搜索关键字,权值表示某一关键字与某一成员搜索引擎之间的关联关系。
[0068] 上述表1所示的元索引所描述的为某一个搜索服务器的元索引,在本地搜索服务器中存储有自身的元索引以及所有其他搜索服务器的元索引,可以理解的是,每个搜索服务器都对应一个如上述表1所示的元索引,具体元索引内容此处不再赘述。
[0069] 为便于理解,下面对元索引的生成过程进行描述:
[0070] 本地搜索服务器可以根据预置的数据生成元索引或根据用户的需求生成元索引,例如,当前有三个成员搜索引擎,分别为“新闻搜索引擎”,“天气搜索引擎”以及“饮食搜索引擎”,当本地搜索引擎生成元索引时,读取关键字数据库,该关键字数据库中包含搜索关键字,若读取到第一个关键字为“全聚德”,则本地搜索服务器建立如下表所示的元索引:
[0071] 表2
[0072]引擎标识 新闻搜索引擎 天气搜索引擎 饮食搜索引擎
全聚德 x=0.09 y=0.01 z=0.90
[0073] 上述表2中,x,y以及z分别是关键字“全聚德”与各个成员搜索引擎之间的权值,代表该关键字与该成员搜索引擎之间的匹配程度,该权值的数值一般可以根据经验值进行确定,或由人工设定,或根据搜索结果反馈情况计算,例如“全聚德”与“饮食搜索引擎”之间的匹配程度应该高于与其他成员搜索引擎之间的匹配关系,具体数值的计算方式可以为:
[0074] 不同的成员搜索引擎均对应有一个特定的数据库,该数据库中的数据项与该成员搜索引擎所执行的特定搜索相关,例如对于饮食搜索引擎而言,与其对应的数据库中的数据项均为与饮食相关的信息。
[0075] 当本地搜索服务器读取到某个关键字时,例如“全聚德”,则会按照该关键字要求所有的成员搜索引擎均根据该关键字进行搜索,并将搜索结果上报给本地搜索服务器,本地搜索服务器记录不同的成员搜索引擎反馈的搜索结果,并对结果进行汇总,计算搜索结果的总数,并按照不同的成员搜索引擎反馈的搜索结果的数目在搜索结果的总数中所占的比例配置该成员搜索引擎的权值,例如各成员搜索引擎反馈的有关“全聚德”的搜索结果一共有100个,其中,新闻搜索引擎反馈了9条搜索结果,天气搜索引擎反馈了1条搜索结果,饮食搜索引擎反馈了90条搜索结果,则本地搜索服务器按照这些数值设置“全聚德”对于新闻搜索引擎的权值为0.09,对于天气搜索引擎的权值为0.01,对于饮食搜索引擎的权值为0.90。
[0076] 需要说明的是,上述所描述的权值计算方式仅为一个例子,在实际应用中,同样还可以采用其他类似方式计算不同的关键字对于不同的成员搜索引擎的权值,此处不作限定。
[0077] 303:本地搜索服务器向其它搜索服务器发起成员搜索引擎的搜索能力同步过程,即本地搜索服务器的元索引同步过程;
[0078] 本发明实施例提供的移动搜索系统可以采用两种结构:中心目录服务器式拓扑结构和半分布式结构化P2P拓扑结构。
[0079] 下面详细说明采用中心目录服务器式拓扑结构和半分布式结构化P2P拓扑结构时,元索引同步的具体过程。
[0080] 一、采用中心目录服务器式拓扑结构:
[0081] 请参阅图4,本实施例中,中心目录服务器式拓扑结构如图4所示,其中,中心目录服务器401存储有各个搜索服务器的地址(如图4中所示的搜索服务器402至搜索服务器405)。当网络中某个搜索服务器402要查找另一个搜索服务器403的地址时,该搜索服务器402先向中心目录服务器401发送请求,由中心目录服务器401搜索服务器目录表,然后将检索到的搜索服务器403的URL地址信息发送给搜索服务器402,搜索服务器402可以根据此URL信息直接向搜索服务器403发送消息。
[0082] 在中心目录服务器式拓扑结构中,元索引同步的具体过程包括:
[0083] (1)、本地搜索服务器从中心目录服务器获得要发送索引同步消息的其它搜索服务器的标识和地址,中心目录服务器可以由任意一个搜索服务器来担任,也可以由单独的服务器来担任。在中心目录服务器中保存了各个搜索服务器的ID和物理地址的映射表,以供搜索服务器查询其它搜索服务器的物理地址。每个搜索服务器内部可以保存一个缓存地址表,保存访问过的其它搜索服务器的ID与地址之间的映射关系。
[0084] (2)、本地搜索服务器根据其它搜索服务器的标识和/或地址,向其它搜索服务器发送成员搜索引擎的元索引同步请求消息,请求同步本地搜索服务器的元索引;
[0085] 可以在本地搜索服务器中设定同步时间间隔来触发所述元索引同步消息的发送;或者可以在本地搜索服务器中设定一个事件触发机制(例如成员搜索引擎的元索引新增或者修改)来触发所述元索引同步消息的发送。
[0086] 所述元索引同步请求消息中携带的参数包括:成员搜索引擎的元索引变更的操作标识(例如指明是要求更新元索引)、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识。所述元索引同步请求消息中还可以包括:成员搜索引擎注册的类别、地域等。
[0087] 本实施例中的元索引同步请求消息具体可以如下所示:
[0088] <?xml version=”1.0”encoding=”utf-8”?>
[0089]
[0090] xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
[0091] xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
[0092] xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>[0093]
[0094]
[0095]
[0096]
[0097] “www.mobileServerA.com”[0098] “www.mobileServerB.com”
[0099] METAINDEX_SYNCHRONIIZATION
[0100]
[0101]
[0102] IDofa1
[0103] IDofServerA
[0104] “UPDATE”[0105]
[0106]
[0107] weight value of keyword1=0.11
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114] 下面对上述信息中所包含的具体内容进行解释说明:
[0115] “www.mobileServerA.com”表示该请求消息是由服务器A发送出的;
[0116] “www.mobileServerB.com”表示该请求消息的目的地为服务器B;
[0117] METAINDEX_SYNCHRONIIZATION表示该请求消息为元索引同步请求;
[0118] IDofa1表示该请求消息的对象为a1成员搜索引擎;
[0119] IDofServerA表示该请求消息的对象为服务器A;
[0120] “UPDATE”表示本次同步请求消息所需要进行的操作是“更新”,这三行内容结合起来所要表示的内容为“本次同步请求所需要进行的操作是对服务器A中的a1成员搜索引擎进行更新”。
[0121] weight value of keyword1=0.11表示该请求消息所要进行的具体操作为:将服务器A的元索引中的a1成员搜索引擎对应keyword 1的权值修改为0.11。
[0122] (3)接收到元索引同步请求消息的其他搜索服务器解析元索引同步请求消息,获得成员搜索引擎的元索引变更的操作标识、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识;
[0123] (4)所述其他搜索服务器将更新后的元索引,根据成员搜索引擎所在的搜索服务器存储到自身元索引库的相应位置;
[0124] (5)其他搜索服务器也可以进一步存储所述更新的成员搜索引擎和其所在的元搜索服务器之间的映射关系。
[0125] 所述其它搜索服务器存储成员搜索引擎和成员搜索引擎所在本地搜索服务器之间的映射关系可以为成员搜索引擎标识和成员搜索引擎所在本地搜索服务器的标识和/或地址之间的一一对应关系。所述映射关系可以采用映射表的形式进行存储。此处是以更新元索引中的某个值为例进行介绍的,当然,也可以将本地搜索服务器的元索引作为一个整体进行更新,即将整个元索引同时进行更新。
[0126] 二、采用半分布式结构化对等计算(P2P,Peer to Peer)拓扑结构:
[0127] 请参阅图5,本实施例中,半分布式结构化对等计算拓扑结构如图5所示,其中,半分布式结构化拓扑选择性能较高的节点作为超级节点搜索服务器(如图5中所示的501,502以及503),在各个超级节点搜索服务器上存储了系统中叶子节点搜索服务器的信息(例如超级节点搜索服务器501中存储有系统中叶子节点5011,5012以及5013的信息,超级节点搜索服务器502中存储有系统中叶子节点5021以及5022的信息,超级节点搜索服务器503中存储有系统中叶子节点5031以及5032的信息),请求消息仅在超级节点搜索服务器501,502以及503之间转发,超级节点搜索服务器501,502或503再将请求消息转发给自己的叶子节点搜索服务器。
[0128] 半分布式结构是一个层次式结构,超级节点搜索服务器501,502以及503之间构成一个高速转发层,超级节点搜索服务器501和所负责的叶子节点搜索服务器5011,5012以及5013构成若干层次,超级节点搜索服务器502和所负责的叶子节点搜索服务器5021以及5022构成若干层次,超级节点搜索服务器503和所负责的叶子节点搜索服务器5031以及5032构成若干层次。选择某些搜索服务器担当超级节点搜索服务器(假设为超级节点搜索服务器501),在该超级节点搜索服务器501下可以组织若干叶子节点搜索服务器5011,5012以及5013。超级节点搜索服务器501中保存了其下的所有叶子节点搜索服务器
5011,5012以及5013的地址和超级节点搜索服务器501的ID之间的映射关系表。
[0129] 在半分布式结构拓扑结构中,元索引同步的具体过程包括两种情况:
[0130] A、本地搜索服务器作为叶子节点搜索服务器时的元索引同步过程:
[0131] (1)本地搜索服务器向自身所在的超级节点搜索服务器发送成员搜索引擎的元索引同步请求消息;
[0132] 本实施例中,可以在本地搜索服务器中设定同步时间间隔来触发所述元索引同步请求消息的发送;或者也可以在本地搜索服务器中设定一个事件触发机制(例如成员搜索引擎的元索引新增或者修改)来触发所述元索引同步请求消息的发送。
[0133] 所述元索引同步请求消息中携带的参数可以包括:成员搜索引擎的元索引变更的操作标识、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识。所述元索引同步请求消息还可以进一步包括:成员搜索引擎注册的类别、地域等。
[0134] 例如,消息内容如下所示:
[0135] <?xml version=”1.0”encoding=”utf-8”?>
[0136]
[0137] xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
[0138] xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
[0139] xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>[0140]
[0141]
[0142]
[0143]
[0144] “www.mobileServer5011.com”[0145] “www.mobileServer501.com”[0146] METAINDEX_SYNCHRONIIZATION
[0147]
[0148]
[0149] IDofa1
[0150] IDofServer5011
[0151] “UPDATE”[0152]
[0153]
[0154] weight value of keyword1=0.11
[0155]
[0156]
[0157]
[0158]
[0159]
[0160]
[0161] 下面对上述信息中所包含的具体内容进行解释说明:
[0162] “www.mobileServer5011.com”表示该请求消息是由本地搜索服务器5011发送出的,如图5所示,该本地搜索服务器5011为叶子节点搜索服务器;
[0163] “www.mobileServer501.com””表示该请求消息的目的地为超级节点搜索服务器501,如图5所示,该超级节点搜索服务器501为本地搜索服务器5011所在的超级节点搜索服务器;
[0164] METAINDEX_SYNCHRONIIZATION表示该请求消息为元索引同步请求;
[0165] IDofa1表示该请求消息的对象为a1成员搜索引擎;
[0166] IDofServer5011表示该请求消息的对象为本地搜索服务器5011;
[0167] “UPDATE”表示本次同步请求消息所需要进行的操作是“更新”,这三行内容结合起来所要表示的内容为“本次同步请求所需要进行的操作是对本地搜索服务器5011中的a1成员搜索引擎的元索引进行更新”。
[0168] weight value of keyword1=0.11表示该请求消息所要进行的具体操作为:将本地搜索服务器5011元索引中的a1成员搜索引擎对应keyword 1的权值修改为0.11。
[0169] (2)本地搜索服务器所在的超级节点搜索服务器向该超级节点搜索服务器下所有其他叶子节点搜索服务器转发成员搜索引擎的元索引同步请求消息;
[0170] 本实施例中,超级节点搜索服务器501接收到本地搜索服务器5011发送的元索引同步请求消息之后,将该元索引同步请求消息转发至超级节点搜索服务器501下所有的其他叶子节点搜索服务器(即5012以及5013),转发的元索引同步请求消息与上述例子中描述的元索引同步请求消息的内容相似,仅有如下区别:
[0171] “www.mobileServer501.com”[0172] “www.mobileServer5012.com”[0173] “www.mobileServer5013.com”[0174] 表示该元索引同步请求消息是从超级节点搜索服务器501发送至叶子节点搜索服务器5012以及5013的。
[0175] (3)本地搜索服务器所在的超级节点搜索服务器向其它所有作为超级节点的搜索服务器转发成员搜索引擎的元索引同步请求消息;
[0176] 本实施例中,超级节点搜索服务器501接收到本地搜索服务器5011发送的元索引同步请求消息之后,还可以将该元索引同步请求消息转发至其他的超级节点搜索服务器(如图5中所示的502以及503),转发的元索引同步请求消息与上述例子中描述的元索引同步请求消息的内容相似,如下所示:
[0177] “www.mobileServer501.com”[0178] “www.mobileServer502.com”[0179] “www.mobileServer503.com”[0180] 表示该元索引同步请求消息是从超级节点搜索服务器501发送至超级节点搜索服务器502以及503的。
[0181] (4)接收到元索引同步请求消息的超级节点搜索服务器向各自的叶子节点搜索服务器转发元索引同步请求消息;
[0182] 超级节点搜索服务器502以及503接收到元索引同步请求消息之后,将该消息分别转发至各自的叶子节点搜索服务器,通知各叶子节点搜索服务器进行元索引同步。
[0183] (5)叶子节点搜索服务器解析成员搜索引擎的元索引同步请求消息,将成员搜索引擎的元索引根据所在的搜索服务器储存到元索引库的相应位置;
[0184] 叶子节点搜索服务器5021,5022,5031以及5032接收到元索引同步请求消息之后,根据该元索引同步请求消息进行同步。
[0185] (6)叶子节点搜索服务器和超级节点搜索服务器可以进一步存储成员搜索引擎a1和成员搜索引擎所在本地搜索服务器5011之间的映射关系。
[0186] 所述叶子搜索服务器存储成员搜索引擎和成员搜索引擎所在本地搜索服务器之间的映射关系可以为成员搜索引擎标识和成员搜索引擎所在本地搜索服务器的标识和/或地址之间的一一对应关系。所述映射关系可以采用映射表的形式进行存储。
[0187] B、本地搜索服务器作为超级节点搜索服务器时的元索引同步过程:
[0188] (1)本地搜索服务器向归属于自身的叶子节点搜索服务器发送成员搜索引擎的元索引同步请求消息;
[0189] 本实施例中,可以在本地搜索服务器中设定同步时间间隔来触发所述元索引同步请求消息的发送;或者也可以在本地搜索服务器中设定一个事件触发机制(例如成员搜索引擎的元索引新增或者修改)来触发所述元索引同步请求消息的发送。
[0190] 所述元索引同步请求消息中携带的参数可以包括:成员搜索引擎的元索引变更的操作标识、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识。所述元索引同步请求消息还可以进一步包括:成员搜索引擎注册的类别、地域等。
[0191] 例如,消息内容如下所示:
[0192] <?xml version=”1.0”encoding=”utf-8”?>
[0193]
[0194] xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
[0195] xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
[0196] xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>[0197]
[0198]
[0199]
[0200]
[0201] “www.mobileServer501.com”[0202] “www.mobileServer5011.com”[0203] “www.mobileServer5012.com”[0204] “www.mobileServer5013.com”[0205] METAINDEX_SYNCHRONIIZATION
[0206]
[0207]
[0208] IDofa1
[0209] IDofServer501
[0210] “UPDATE”[0211]
[0212]
[0213] weight value of keyword1=0.11
[0214]
[0215]
[0216]
[0217]
[0218]
[0219]
[0220] 下面对上述信息中所包含的具体内容进行解释说明:
[0221] “www.mobileServer501.com”表示该请求消息是由超级节点搜索服务器501发送出的,如图5所示,本实施例中,超级节点搜索服务器501即为本地搜索服务器;
[0222] “www.mobileServer5011.com”[0223] “www.mobileServer5012.com”[0224] “www.mobileServer5013.com”[0225] 表示该请求消息的目的地为叶子节点搜索服务器5011,5012以及5013,如图5所示,该超级节点搜索服务器501(即本地搜索服务器)下包含三个叶子节点搜索服务器,分别为5011,5012以及5013;
[0226] METAINDEX_SYNCHRONIIZATION表示该请求消息为元索引同步请求;
[0227] IDofa1表示该请求消息的对象为a1成员搜索引擎;
[0228] IDofServer501表示该请求消息的对象为本地搜索服务器501;
[0229] “UPDATE”表示本次同步请求消息所需要进行的操作是“更新”,这三行内容结合起来所要表示的内容为“本次同步请求所需要进行的操作是对超级节点搜索服务器501(即本地搜索服务器)中的a1成员搜索引擎的元索引进行更新”。
[0230] weight value of keyword1=0.11表示该请求消息所要进行的具体操作为:将超级节点搜索服务器501(即本地搜索服务器)元索引中的a1成员搜索引擎对应keyword 1的权值修改为0.11。
[0231] (2)本地搜索服务器向其它所有作为超级节点的搜索服务器转发成员搜索引擎的元索引同步请求消息;
[0232] 本实施例中,超级节点搜索服务器501(即本地搜索服务器)还可以将该元索引同步请求消息转发至其他的超级节点搜索服务器(如图5中所示的502以及503),转发的元索引同步请求消息与上述例子中描述的元索引同步请求消息的内容相似,仅有如下区别:
[0233] “www.mobileServer501.com”[0234] “www.mobileServer502.com”[0235] “www.mobileServer503.com”[0236] 表示该元索引同步请求消息是从超级节点搜索服务器501(即本地搜索服务器)发送至超级节点搜索服务器502以及503的。
[0237] (3)接收到元索引同步请求消息的超级节点搜索服务器向各自的叶子节点搜索服务器转发元索引同步请求消息;
[0238] 超级节点搜索服务器502以及503接收到元索引同步请求消息之后,将该消息分别转发至各自的叶子节点搜索服务器,通知各叶子节点搜索服务器进行元索引同步。
[0239] (4)叶子节点搜索服务器解析成员搜索引擎的元索引同步请求消息,将成员搜索引擎的元索引根据所在的搜索服务器储存到元索引库的相应位置;
[0240] 叶子节点搜索服务器5011,5012,5021,5022,5031以及5032接收到元索引同步请求消息之后,根据该元索引同步请求消息进行同步。
[0241] (5)叶子节点搜索服务器和超级节点搜索服务器可以进一步存储成员搜索引擎a1和成员搜索引擎所在本地搜索服务器501之间的映射关系。
[0242] 所述叶子搜索服务器存储成员搜索引擎和成员搜索引擎所在本地搜索服务器之间的映射关系可以为成员搜索引擎标识和成员搜索引擎所在本地搜索服务器的标识和/或地址之间的一一对应关系。所述映射关系可以采用映射表的形式进行存储。
[0243] 本实施例中,各个搜索服务器之间同步元索引采用的是更新元索引变更的内容。需要说明的是,也可以通过直接更新整个搜索服务器的元索引来进行员索引的同步。
[0244] 上述各个搜索服务器之间同步了元索引之后,可以进一步进行移动搜索,请参阅图6,图6为本发明实施例中移动搜索实施例流程图,移动搜索的过程具体包括:
[0245] 601:客户端发送搜索请求给本地搜索服务器A;
[0246] 本实施例中,当用户需要进行搜索时,会通过客户端向本地搜索服务器A发送包含搜索关键字的搜索请求,为便于理解,本实施例中以“全聚德”为例进行说明,即客户端向本地搜索服务器A发送的搜索请求中所包含的搜索关键字为“全聚德”。
[0247] 602:本地搜索服务器A根据搜索请求中的关键字,调度得到匹配度最高的成员搜索引擎b1;
[0248] 由于本地搜索服务器A中存储了本地注册的成员搜索引擎的元索引和其它搜索服务器的成员搜索引擎的元索引,并且与其它搜索服务器中的元索引保持同步,因此,调度得到匹配度最高的成员搜索引擎可以是本地搜索服务器A或者其它搜索服务器中的成员搜索引擎。本实施例中,以调度得到匹配度最高的成员搜索引擎b1为搜索服务器B中的成员搜索引擎为例进行介绍。
[0249] 并且,调度得到匹配度最高的成员搜索引擎数量也可以是一个或者多个。本实施例中,本实施例以调度得到匹配度最高的成员搜索引擎为一个为例进行介绍。
[0250] 其具体过程为:
[0251] 本地搜索服务器A对搜索请求进行解析,从该搜索请求的“关键字”字段中读取相关信息,即可得到搜索关键字为“全聚德”。
[0252] 本地搜索服务器A,根据所述搜索关键字,从本地搜索服务器A中存储的元索引中得到取配度最高的成员搜索引擎b1。
[0253] 本实施例中,本地搜索服务器A中可以存储有如表2所示的元索引,当本地搜索服务器A读取到关键字为“全聚德”之后,即可按照该元索引判断与“全聚德”匹配程度最高的成员搜索引擎,即权值最高的成员搜索引擎,则可确定“饮食搜索引擎”为匹配程度最高的成员搜索引擎,本实施例中,假设“饮食搜索引擎”位于搜索服务器B上,“饮食搜索引擎”为成员搜索引擎b1。
[0254] 603:本地搜索服务器A根据成员搜索引擎b1标识,查找成员搜索引擎b1和其所在的搜索服务器的映射表,得到成员搜索引擎b1所在的搜索服务器B的标识或地址;
[0255] 成员搜索引擎b1和其所在的搜索服务器的映射表中存储了成员搜索引擎和成员搜索引擎所在搜索服务器之间的映射关系,例如成员搜索引擎的标识b1对应搜索服务器B的标识和/或地址。
[0256] 604:根据所述搜索服务器B的标识和/或地址,本地搜索服务器A向目标搜索服务器B发送二次搜索请求消息;
[0257] 所述搜索服务器B指的是调度得到的成员搜索引擎b1所在的搜索服务器。
[0258] 在向目标搜索服务器B发送搜索请求消息之前还包括:
[0259] 判断所述成员搜索引擎b1所在的搜索服务器是否为本地搜索服务器A,[0260] 如果是,则向本地搜索服务器A的所述成员搜索引擎转发所述二次搜索请求;
[0261] 如果否,则向所述成员搜索引擎b1所在的搜索服务器B发送二次搜索请求。
[0262] 本实施例中,所述成员搜索引擎b1所在的搜索服务器为搜索服务器B,不是本地搜索服务器A。
[0263] 所述二次搜索请求消息携带的参数可以包括:发送请求的本地搜索服务器A的标识、搜索服务器B的标识、成员搜索引擎b1的标识、搜索请求的搜索条件属性、搜索请求的关键字和类别信息。
[0264] 例如,消息内容如下:
[0265] <?xml version=”1.0”encoding=”utf-8”?>
[0266]
[0267] xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
[0268] xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
[0269] xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>[0270]
[0271]
[0272]
[0273]
[0274] “www.mobileServerA.com”[0275] “www.mobileServerB.com”
[0276] SEARCH_REQUEST
[0277]
[0278]
[0279] IDofServerA
[0280] IDofServerB
[0281] IDofb1
[0282] “全聚德”
[0283]
[0284]
[0285] 下面对上述信息中所包含的具体内容进行解释说明:
[0286] “www.mobileServerA.com”表示该请求消息是由本地搜索服务器A发送出的;
[0287] www.mobileServerB.com”表示该请求消息的目的地为搜索服务器B;
[0288] SEARCH_REQUEST表示该请求消息为搜索请求消息;
[0289] IDofServerA表示发起该请求消息的服务器为本地搜索服务器A;
[0290] IDofServerB表示接收该请求消息的是搜索服务器B;
[0291] IDofb1表示进行搜索的成员搜索引擎为成员搜索引擎b1;
[0292] “全聚德”表示需要进行搜索的搜索关键字为“全聚德”。
[0293] 605:搜索服务器B解析二次搜索请求消息,得到搜索关键字和成员搜索引擎b1标识,将所述二次搜索请求转发给成员搜索引擎b1进行搜索,得到搜索结果,并通过搜索服务器B发送给本地搜索服务器A;
[0294] 本实施例中,成员搜索引擎b1接收到搜索服务器B发送的二次搜索请求之后,对该二次搜索请求进行解析,从其中的“关键字”字段中读取出本次搜索的搜索关键字为“全聚德”,则可根据该搜索关键字进行搜索,并得到搜索结果,具体的搜索结果可以为与“全聚德”相关的图片、新闻、链接、视频或文字等信息。
[0295] 606:本地搜索服务器A接收搜索服务器B返回的搜索结果消息。
[0296] 所述消息携带的参数可以包括:发送请求的本地搜索服务器A的标识、搜索服务器B的标识、反馈搜索结果的成员搜索引擎b1的标识、搜索请求的搜索条件属性、搜索请求的关键字和/或类别信息、搜索结果内容。
[0297] 例如,消息内容如下:
[0298] <?xml version=”1.0”encoding=”utf-8”?>
[0299]
[0300] xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
[0301] xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
[0302] xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>[0303]
[0304]
[0305]
[0306]
[0307] “www.mobileServerB.com”[0308] “www.mobileServerA.com”
[0309] SEARCH_RESULT
[0310]
[0311]
[0312] IDofServerA
[0313] IDofServerB
[0314] IDofb1
[0315] “全聚德”
[0316]
[0317] www.quanjude.com
[0318] www.xxxxxx.com/cache/database/eat/chinese/quanjude.jpeg[0319]
[0320]
[0321]
[0322] 下面对上述信息中所包含的具体内容进行解释说明:
[0323] “www.mobileServerB.com”表示该消息是由搜索服务器B发送出的;
[0324] “www.mobileServerA.com”表示该消息的目的地为本地搜索服务器A;
[0325] SEARCH_RESULT表示该消息为搜索结果消息;
[0326] IDofServerA表示搜索请求消息的服务器为本地搜索服务器A;
[0327] IDofServerB表示接收搜索消息的是搜索服务器B;
[0328] IDofb1表示进行搜索的为成员搜索引擎b1;
[0329] “全聚德”表示需要进行搜索的搜索关键字为“全聚德”;
[0330] www.quanjude.com表示搜索到的全聚德网站的超链接;
[0331] www.xxxxxx.com/cache/database/eat/chinese/quanjude.jpeg 表示从某网站搜索到的与全聚德相关的图片。
[0332] 607:本地搜索服务器A对结果进行优化和处理;。
[0333] 本步骤为可选步骤。本地搜索服务器A还可以结合用户的要求对结果进行优化和处理。例如用户要求得到中文的搜索结果,那么本地搜索服务器A将搜索结果中的除了中文结果的其他语言结果删除,仅保留中文结果。
[0334] 608、将结果返回给客户端。
[0335] 本实施例中,当本地搜索服务器A接收到客户端发送的搜索请求之后,从该搜索请求中读取出搜索关键字,并在本地存储的元索引中查询该搜索关键字对应的成员搜索引擎,之后再查询该成员搜索引擎所在的搜索服务器,若查询到的搜索服务器不是本地搜索服务器,则本地搜索服务器向该查询到的搜索服务器发送二次搜索请求,由该成员搜索引擎所在的搜索服务器进行搜索并反馈搜索结果,因此本地搜索服务器可以调度各个搜索服务器所管理的成员搜索引擎来进行搜索,从而能够使各搜索服务器管理的成员搜索引擎得到统一调度,又能够减轻服务器运算负担,且提高移动搜索的准确度。
[0336] 请参阅图7,为本发明移动搜索系统一个实施例的结构图。
[0337] 所述移动搜索系统包括客户端701,搜索服务器702、703、704,以及各个搜索服务器所管理的成员搜索引擎705、706、707。
[0338] 所述搜索服务器702接收客户端701发送的搜索请求,根据所述搜索关键字,从元索引中调度得到成员搜索引擎,所述元索引中包括本地搜索服务器和其它搜索服务器的元索引,判断所述成员搜索引擎所在的搜索服务器是否是本地搜索服务器,如果不是,则向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求,并接收所述成员搜索引擎所在的搜索服务器根据所述二次搜索请求返回的搜索结果,并根据客户端标识,将搜索结果返回给客户端701。
[0339] 如果所述成员搜索引擎所在的搜索服务器为本地搜索服务器,则向所述成员搜索引擎转发所述搜索请求,并接收所述成员搜索引擎根据所述搜索请求搜索后返回的搜索结果,并将所述搜索结果返回给客户端701。
[0340] 所述成员搜索引擎705、706、707用于根据从搜索服务器702接收的二次搜索请求进行搜索,并返回搜索结果给搜索服务器702。
[0341] 本实施例中的移动搜索系统中,由于在搜索服务器702中存储有其自身以及搜索服务器705,706以及707的元索引,所以当搜索服务器702在接收到客户端701发送的搜索请求之后,可以根据该请求中携带的搜索关键字查询与该搜索关键字匹配程度最高的成员搜索引擎,以该成员搜索引擎为成员搜索引擎706为例,并查询该成员搜索引擎706所在的搜索服务器703的标识或地址,根据查询到的标识或地址向搜索服务器703发送二次搜索请求,由搜索服务器703调用成员搜索引擎705进行搜索,成员搜索引擎705进行搜索得到搜索结果,由搜索服务器703向搜索服务器702反馈搜索结果,之后搜索服务器702再将该搜索结果反馈至客户端701,因此搜索服务器702可以调度各个搜索服务器所管理的成员搜索引擎来进行搜索,从而能够使各搜索服务器管理的成员搜索引擎得到统一调度,又能够减轻服务器运算负担,且提高移动搜索的准确度。
[0342] 请参阅图8,为本发明实施例中搜索服务器实施例示意图,本发明实施例中的搜索服务器实施例具体包括:
[0343] 输入输出单元801、元索引库802、成员搜索引擎调度单元803、搜索协作单元804。
[0344] 所述输入输出单元801,用于接收客户端发送的搜索请求,所述搜索请求中携带客户端标识以及搜索关键字,以及返回搜索结果给客户端;
[0345] 所述元索引库802,用于存储本地和其它搜索服务器的元索引。
[0346] 所述成员搜索引擎调度单元803,用于根据所述搜索请求,根据所述元索引库802中存储的元索引进行调度得到成员搜索引擎,并判断所述成员搜索引擎所在的服务器是否是本地搜索服务器,如果否,则控制搜索协作单元,向所述调度得到的成员搜索引擎所在的搜索服务器发送二次搜索请求;
[0347] 具体方式为:根据搜索关键字,采用特定的调度算法,根据所述元索引进行调度得到与所述搜索关键字匹配度最高的成员引擎。
[0348] 所述搜索协作单元804,向所述成员搜索引擎调度单元803调度得到的成员搜索引擎所在的搜索服务器发送搜索请求。
[0349] 所述搜索请求中携带发送搜索请求的搜索服务器的标识、调度得到的成员搜索引擎的标识、搜索关键字。
[0350] 所述搜索服务器还可以包括成员搜索引擎接口单元805,所述成员搜索引擎接口单元805用于发送搜索请求给成员搜索引擎或者接收成员搜索引擎返回的搜索结果。
[0351] 所述搜索服务器还可以包括元索引管理单元806,用于接收其它搜索服务器发送的元索引同步请求,所述请求中携带成员搜索引擎的元索引变更的操作标识、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识,并根据所述元索引同步请求,在所述元索引库中更新其它搜索服务器的元索引。
[0352] 所述元索引变更的操作标识为新增或者修改的标识。所述元索引同步请求还包括用于调度的成员引擎类别、地域等注册参数。
[0353] 根据所述元索引同步请求,在本地搜索服务器中更新其它搜索服务器的元索引具体包括:
[0354] 解析所述元索引同步请求,获得成员搜索引擎的元索引变更的操作标识、元索引变更的内容、成员搜索引擎的标识、成员搜索引擎所在的搜索服务器标识;
[0355] 根据成员搜索引擎所在的搜索服务器标识,将变更后的成员搜索引擎的元索引存储到元索引库中所指定的位置;并根据成员搜索引擎的标识,存储所述更新的成员搜索引擎和其所在的搜索服务器之间的映射关系。
[0356] 本实施例中,由于元索引库802中存储有本地和其它搜索服务器的元索引,所以在输入输出单元801接收到客户端发送的搜索请求之后,可以由成员搜索引擎调度单元803查询到与该搜索请求中的搜索关键字匹配程度最高的成员搜索引擎,并向该成员搜索引擎所在的搜索服务器发送二次搜索请求,因此搜索服务器可以调度各个搜索服务器所管理的成员搜索引擎来进行搜索,从而能够使各搜索服务器管理的成员搜索引擎得到统一调度,又能够减轻服务器运算负担,且提高移动搜索的准确度。
[0357] 本领域普通技术人员可以理解实现上述方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件来完成的,所述程序可以存储于一计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
[0358] 以上对本发明所提供的一种移动搜索方法及其系统、搜索服务器之间同步搜索能力的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明所揭示的技术方案;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。