- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式并行信息检索系统的设计与实现
随着社会信息化程度的不断提高,很多系统面临从
大规模数据集中快速检索信息的需求。传统的基于单机
的集中式信息检索技术已无法满足这种以大规模数据集
为基础的并发多用户信息检索的需求。利用高速网络环
境,开发分布式并行信息检索系统,使多台低端服务器或
PC机协同工作,共同承担信息检索任务,不失为一种既
经济又高效的解决方案[ 1, 2 ]
。本文以基础教育资源搜索
引擎 (Basic Educational Res ources Search Engine, BERSE)
系统为例,探讨分布式并行信息检索系统的设计与实现
技术。
1 系统模型与主要算法
1 . 1 设计思想
BERSE是南京师范大学教育科学学院设计开发的一
个面向基础教育领域的专业搜索引擎,该系统中涉及的
数据量庞大,数据变化频繁,用户对系统的响应时间要求
较高。为了能实现信息的快速检索,同时又不用大规模
地增加系统成本,笔者选择了基于低端服务器或 PC机群
的分布式并行信息检索系统设计方案[ 3 ]
。
分布式并行信息检索系统是分布式并行计算技术在
信息检索领域的应用,是计算机技术与网络通讯技术的
有机结合,它将分散的计算机资源统一整合,以发挥集群
优势为目标,实现高速网络环境下的快速信息检索。在
大规模数据检索中,并行处理具有较大的潜力可以挖掘,
利用分布式系统,可以实现多条查询之间的并行检索以
及单条查询内部的并行处理,由此提高整个系统的效
率[ 1, 2, 4 ]
。
为此,在 BERSE中,南京师范大学教育科学学院将
海量数据域进行分段,然后分布在多个查询节点上;对于
复杂的查询进行合理分解,以便在不同的数据段上并行
检索;对来自多个查询节点的查询结果通过合并处理最
后反馈给用户。同时,还需考虑当网页采集量发生较大
变化时,系统能够快速灵活地对数据域重新分段,必要时
能够方便地扩充新的查询节点。
1 . 2 检索模型
当前,并行计算结构主要分为完全共享结构 ( Shared
Everything, SE )、 共享主存储器结构 ( Shared Memory,
S M)、 共享磁盘结构 ( Shared Disk, SD)和无共享资源结构
( Shared Nothing, SN)等 4种,其中, SN结构被公认为是支
持并行信息检索较好的结构,它具有资源竞争干扰最小、
高扩充性等优势[ 4, 5 ]
。分布式并行信息检索系统是一种
典型的 SN结构,它通过查询代理 (Query Agent,QA)收集
用户的检索请求,然后将查询任务分配到多个搜索器
( Searcher)并行完成查询任务。
在 BERSE中,检索功能分为前台服务子系统和后台
数据检索子系统两部分。前台服务子系统承担查询代
理,它响应用户的信息检索请求;后台处理子系统承担具
体的检索任务,由文档服务器 (Document Server, DS)、 索
引服务器 ( Index Server, IS)和若干查询节点 (QueryNode,
QN)构成,它们通过千兆交换机组成高速局域网,如图 1
所示:
系统的工作流程为:初始化时,各个 QN根据数据域
的分段信息,从 IS中读取属于自己的数据段并完成数据
的分布;QA收到查询请求时,将查询任务分解为多个子
查询,并进行形式化处理,然后向 QN分配任务; QN收到
查询任务后实施查询,并将查询结果回送给 QA; QA对查
询结果进行排序,并选取前面若干条记录,根据文档编号
(Doc I D)从 DS中提取文档,最后生成检索页面反馈给用
户,至此完成一次查询任务。
1 . 3 主要算法
(1)数据域的划分
在分布式并行检索系统中 ,数据域的划分关系到系统的
查询性能、 扩展性及易维护性等。目前 ,数据划分方法主要有
两大类:一维数据划分和多维数据划分。其中 ,一维数据划分
是根据数据的某个属性的值来划分整个数据 ,这种方法简单
明确 ,容易实现。一维数据划分方法主要有 Round - Robin划
分法、 Hash划分法、 Rang划分法和 Hybrid - Rang划分法等 4
种[ 4, 6 ]
。本文参考了 Hybrid - Rang并结合 BERSE系统的特
点 ,用“ 轮转 ” 算法实现了数据域的划分。
在 BERSE中 ,标引数据被集中存放在 IS中 ,其词条编号
(Ter m I D)对应于词典 (Lexicon)中的词条编号 ,词典中同时包
含 QN编号 (Node I D) ,如图 2所示。数据域的划分是通过对
词典中的 Node I D写标记来实现的。数据标记后 , QN初始化
时在词典中查找各自的 Node I D,然后根据对应关系从 IS中读
取数据 ,并转存在本机 ,从而
文档评论(0)