一种分层结构、分布式搜索引擎系统及其实现方法技术方案

技术编号:4102860 阅读:288 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种应用于分布式搜索引擎的分层结构,包括物理层、抽象层、应用层和表示层;本发明专利技术还公开了一种分布式搜索引擎系统,包括Web服务器、代理节点、查询代理池、抽象适配器和多个工作节点,所述查询代理池由多个查询节点组成;本发明专利技术还公开了上述一种分布式搜索引擎系统的实现方法,包括以下步骤:S1、查询节点注册;S2、工作节点的注册;S3、节点的状态更新;S4、查询请求的分发与检索。本发明专利技术具有性能好、可靠性高、多样化、专业化以及适用性强等优点。

【技术实现步骤摘要】

本专利技术涉及分布式搜索引擎系统的设计和实现,具体是指基于WebServices和 RMI (Remote Method Invocation,远程方法调用)的技术联合部署在多个集群上的多个单 元搜索引擎,提供统一的检索服务的分布式搜索引擎服务。
技术介绍
随着下一代网络的快速发展,Web2. 0等新一代信息技术的成熟,信息资源呈现分 布化,这为搜索引擎的体系结构设计提出了更多新的挑战。一方面,地理位置分散的异构数 字化信息中包含了大量宝贵的资源,用户迫切地需要从这些信息中找到所需信息;另一方 面,虽然单个集中式搜索引擎的处理能力不断提高,但是在如此大规模的条件下,要对这样 海量的信息进行检索,集中式搜索引擎的处理能力毕竟有限,特别需要多个搜索引擎进行 协助工作。而随着互联网信息的爆炸性增长,传统搜索引擎开始显示出一些局限性(一 )搜索深度不够传统搜索引擎只能搜索到Internet上互相链接的表层资 源,而深层资源,比如需要权限才能访问的页面,组织内部的页面和一些网络信息孤岛资源 等都无法索引。(二)时效性较差如果服务器更新周期过长,容易产生大量的无效链接。事实上, 采用网络蜘蛛爬行网络的技术是无法避免无效链接的。只能通过缩短更新周期来尽量减少 无效链接。(三)成本较高海量的资源索引信息需要庞大的服务器来维护。每一条检索请 求都将发送给服务器来处理,因此要求服务器有强大的处理能力、存储能力以及网络带宽。
技术实现思路
本专利技术的目的之一在于克服上述缺点和不足,提供一种应用于分布式搜索引擎的 分层结构。该结构具有性能好、可靠性高、多样化、专业化以及适用性强等优点。本专利技术的目的之二在于提供一种分布式搜索引擎系统。本专利技术的目的之三在于提供上述一种分布式搜索引擎系统的实现方法。本专利技术的目的之一是通过下述方式实现的,一种应用于分布式搜索引擎的分层结 构,包括物理层、抽象层、应用层和表示层,其中所述物理层是由若干个单元搜索引擎组成,用于接收来自抽象层的检索请求,完 成各个搜索引擎本身的数据检索请求任务,并且通过抽象层发送标准的心跳信息至应用 层,更新其在应用层的状态信息;所述抽象层用于实现物理层与应用层之间消息通信的格式转换;以及用于接收来 自应用层的检索请求,根据单元搜索引擎的异构性将查询请求进行封装,将封装后的查询 请求转发给单元搜索引擎,接收单元搜索引擎返回的检索结果,并发送给应用层;所述应用层用于提供数据应用的用户接口,接收用户的查询请求并将查询请求转 发至抽象层,同时对抽象层返回的检索结果进行输出格式化处理后再提交给表示层;所述表示层用于为用户提供友好的检索入口和结果显示页面。为更好的实现本专利技术,所述应用层包括应用服务器和Web服务器,其中所述应用服务器用于实现用户查询信息的转发和查询结果的融合,同时还负责管 理各个单元搜索引擎的生存状态;所述Web服务器用于负责运行前端页面,对搜索结果进行聚类分析的工作。本专利技术的目的之二是通过下述方式实现的,一种分布式搜索引擎系统,包括Web 服务器、代理节点、查询代理池、抽象适配器和多个工作节点,所述查询代理池由多个查询 节点组成;其中所述Web服务器用于运行分布式搜索引擎系统的前端页面,并对搜索结果进行聚 类分析的工作;所述代理节点用于接受来自Web服务器的查询请求,根据各查询节点的状态进行 查询任务分配,并将选择结果发送给Web服务器;代理节点还用于接受查询节点和工作节 点的注册请求,并管理其生存状态;所述查询节点用于与代理节点进行交互,接收代理节点转发的工作节点状态更新 信息并进行维护,周期性地向代理节点发送状态信息;接收Web服务器的查询请求,并将查 询请求分发到各个工作节点;收到工作节点返回的命中文档列表并进行消重、合并的处理 操作,将处理后的检索结果发送给Web服务器;所述抽象适配器用于接收上层的查询请求,并根据单元搜索引擎接口读取信息的 要求对查询请求信息进行封装转换,抽象适配器将封装转换后的查询请求发送给相应的单 元搜索引擎;接收单元搜索引擎返回的检索结果并封装转换成系统统一的检索结果格式, 将检索结果发送至查询节点;所述工作节点用于提供检索接口,接收抽象适配器发送的查询请求并进行检索; 以及周期性地向代理节点发送心跳信息。为更好的实现本专利技术,所述代理节点分成网络层、逻辑层和应用层,其中所述网络层用于实现代理节点与查询节点,以及工作节点之间的通信和数据传 输,接收查询节点和工作节点注册请求信息和心跳信息;所述逻辑层包括节点管理器和后台工作线程池两个部分,所述节点管理器用于进 行工作节点和查询节点的注册工作并管理其生存状态信息,所述后台工作线程池用于周期 性地触发管理任务,删除超时或生存状态为错误(false)的节点;应用层用于在响应查询时从查询代理池中选择一个最适合的查询节点响应当次 查询。优选的,所述节点管理器包括节点注册管理模块和节点状态管理模块;其中所述节点注册管理模块,负责节点的注册管理工作;所述节点状态管理模块,用于管理当前已注册节点的状态,包括接收节点的心跳 信息,更新节点的状态和周期性地检查已注册的各节点的状态,删除超时未收到心跳信息 的无效节点;并在代理节点响应查询请求时,从查询代理池中选择一个当前负载最轻的查 询节点负责响应当前查询请求。优选的,所述查询节点分为网络层、逻辑层及应用层;所述网络层用于与代理节点进行通信,包括接收代理节点发送的工作节点更新状6态,和主动向代理节点发送心跳状态信息;所述逻辑层包括工作节点管理器和查询节点后台工作线程池两个部分;所述工作 节点管理器负责维护工作节点的生存状态信息,周期性地检查工作节点的状态信息,删除 超时掉线和故障的工作节点,接收代理节点发送的工作节点状态更新;所述查询节点后台 工作线程池用于周期性地向代理节点报告自身的状态信息,及周期性地检查各工作节点状 态并向代理节点报告。本专利技术的目的之三是通过下述方式实现的,一种分布式搜索引擎系统的实现方 法,包括以下步骤Si、查询节点注册查询节点启动之后读取配置文件,查找代理节点发布RMI的 URI地址,查找代理节点,并请求加入由代理节点控制的分布式搜索引擎系统;进入步骤 S2 ;S2、工作节点的注册单元搜索引擎注册加入分布式搜索引擎系统;进入步骤S3 ;S3、Web服务器将检索短语包装成系统标准的查询格式,形成查询请求,并把查询 请求发送至代理节点,进入步骤S4 ;S4、代理节点选出负责分发及合并查询的查询节点的句柄号,并把选择结果发送 给Web服务器,进入步骤S5 ;S5、Web服务器将查询请求发送至响应该次查询的查询节点,进入步骤S6 ;S6、查询节点将查询请求通过抽象适配器转换后分发给工作节点,等待并接收工 作节点返回的中间结果,进入步骤S7 ;S7、工作节点查询本地索引,并将命中的前N个文档列表结果集合发送至查询节 点,所述N为正整数,由管理员预设;进入步骤S8 ;S8、查询节点在预先配置的时间限度内等待并接收工作节点返回检索结果,忽略 检索超时的节点,经过抽象适配器的封装转换得到各工作节点返回的文档列表,将检索结 果融合排序去重后,保留最终的前N个命中文档,返回给Web服务器,进入步骤S9 ;S9、系统判断是否还有检索任务,若是,则本文档来自技高网...

【技术保护点】
一种应用于分布式搜索引擎的分层结构,其特征在于,包括物理层、抽象层、应用层和表示层,其中所述物理层是由若干个单元搜索引擎组成,用于接收来自抽象层的检索请求,完成各个搜索引擎本身的数据检索请求任务,并且通过抽象层发送标准的心跳信息至应用层,更新其在应用层的状态信息;所述抽象层用于实现物理层与应用层之间消息通信的格式转换;以及用于接收来自应用层的检索请求,根据单元搜索引擎的异构性将查询请求进行封装,将封装后的查询请求转发给单元搜索引擎,接收单元搜索引擎返回的检索结果,并发送给应用层;所述应用层用于提供数据应用的用户接口,接收用户的查询请求并将查询请求转发至抽象层,同时对抽象层返回的检索结果进行处理后再提交给表示层;所述表示层用于为用户提供友好的检索入口和结果显示页面。

【技术特征摘要】
一种应用于分布式搜索引擎的分层结构,其特征在于,包括物理层、抽象层、应用层和表示层,其中所述物理层是由若干个单元搜索引擎组成,用于接收来自抽象层的检索请求,完成各个搜索引擎本身的数据检索请求任务,并且通过抽象层发送标准的心跳信息至应用层,更新其在应用层的状态信息;所述抽象层用于实现物理层与应用层之间消息通信的格式转换;以及用于接收来自应用层的检索请求,根据单元搜索引擎的异构性将查询请求进行封装,将封装后的查询请求转发给单元搜索引擎,接收单元搜索引擎返回的检索结果,并发送给应用层;所述应用层用于提供数据应用的用户接口,接收用户的查询请求并将查询请求转发至抽象层,同时对抽象层返回的检索结果进行处理后再提交给表示层;所述表示层用于为用户提供友好的检索入口和结果显示页面。2.根据权利要求1所述一种应用于分布式搜索引擎的分层结构,其特征在于,所述应 用层包括应用服务器和Web服务器,其中所述应用服务器用于实现用户查询信息的转发和查询结果的融合,同时还负责管理各 个单元搜索引擎的生存状态;所述Web服务器用于负责运行前端页面,对搜索结果进行聚类分析的工作。3.一种分布式搜索引擎系统,其特征在于,包括Web服务器、代理节点、查询代理池、抽 象适配器和多个工作节点,所述查询代理池由多个查询节点组成;其中所述Web服务器用于运行分布式搜索引擎系统的前端页面,并对搜索结果进行聚类分 析的工作;所述代理节点用于接受来自Web服务器的查询请求,根据各查询节点的状态进行查询 任务分配,并将选择结果发送给Web服务器;代理节点还用于接受查询节点和工作节点的 注册请求,并管理其生存状态;所述查询节点用于与代理节点进行交互,接收代理节点转发的工作节点状态更新信息 并进行维护,周期性地向代理节点发送状态信息;接收Web服务器的查询请求,并将查询请 求分发到各个工作节点;收到工作节点返回的命中文档列表并进行消重、合并的处理操作, 将处理后的检索结果发送给Web服务器;所述抽象适配器用于接收上层的查询请求,并根据单元搜索引擎接口读取信息的要求 对查询请求信息进行封装转换,抽象适配器将封装转换后的查询请求发送给相应的单元搜 索引擎;接收单元搜索引擎返回的检索结果并封装转换成系统统一的检索结果格式,将检 索结果发送至查询节点;所述工作节点用于提供检索接口,接收抽象适配器发送的查询请求并进行检索;以及 周期性地向代理节点发送心跳信息。4.根据权利要求3所述一种分布式搜索引擎系统,其特征在于,所述代理节点分成网 络层、逻辑层和应用层,其中所述网络层用于实现代理节点与查询节点,以及工作节点之间的通信和数据传输,接 收查询节点和工作节点注册请求信息和心跳信息;所述逻辑层包括节点管理器和后台工作线程池两个部分,所述节点管理器用于进行工 作节点和查询节点的注册工作并管理其生存状态信息,所述后台工作线程池用于周期性地2触发管理任务,删除超时或生存状态为错误的节点;应用层用于在响应查询时从查询代理池中选择一个最适合的查询节点响应当次查询。5.根据权利要求4所述一种分布式搜索引擎系统,其特征在于,所述节点管理器包括 节点注册管理模块和节点状态管理模块;其中所述节点注册管理模块,负责节点的注册管理工作;所述节点状态管理模块,用于管理当前已注册节点的状态,包括接收节点的心跳信息, 更新节点的状态和周期性地检查已注册的各节点的状态,删除超时未收到心跳信息的无效 节点;并在代理节点响应查询请求时,从查询代理池中选择一个当前负载最轻的查询节点 负责响应当前查询请求。6.根据权利要求3所述一种分布式搜索引擎系统,其特征在于,所述查询节点分为网 络层、逻辑层及应用层;所述网络层用于与代理节点进行通信,包括接收代理节点发送的工作节点更新状态, 和主动向代理节点发送心跳状态信息;所述逻辑层包括工作节点管理器和查询节点后台工作线程池两个部分;所述工作节点 管理器负责维护工作节点的生存状态信息,周期性地检查工作节点的状态信息,删除超时 掉线和故障的工作节点,接收代理节点发送的工作节点状态更新;所述查询节点后台工作 线程池用于周期性地向代理节点报告自身的状态信息,及周期性地检查各工作节点状态并 向代理节点报告。7.一种分布式搜索引擎系统的实现方法,...

【专利技术属性】
技术研发人员:董守斌李粤张凌李浩李嘉林袁华
申请(专利权)人:华南理工大学广州数园网络有限公司
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1