中国科学技术大学硕士学位论文分布式搜索引擎设计与实现姓名:李伟申请学位级别:硕士专业:模式识别与智能系统指导教师:朱明20060501摘要在网页如此繁多的今天,人们在互联网上查找各种信息,往往都需要借助互联网搜索引擎的帮助
本文就是要设计一个针对互联网搜索的大规模分布式搜索引擎
互联网搜索引擎系统一般由四个主要部分组成:爬虫子系统,存储子系统,索引子系统,门户子系统
首先爬虫子系统通过网页链接爬行互联网,将网页或者其他Web对象抓取下来,保存到存储子系统;索引子系统从存储子系统获取未索引的网页,计算索引数据,建立索引
门户提供一个用户交互界面,用户搜索互联网时,在门户上输入查询关键字,门户建立查询语句发送到索引子系统,查询关键字对应的网页,然后返回给用户
本文实现了互联网搜索引擎中的核心功能,完成了一个基本的面向大规模互联网的分布式搜索引擎平台
在分布式爬虫子系统中,多个爬虫应该避免重复爬行,本文按照URL的Hash值为每个爬虫分配一个URL空间,互不重叠,并通过调整爬虫爬行的URL空间来进行负载均衡
另外,本文实现的爬虫系统可以同时支持IPv4和IPv6网络
存储子系统由若干个存储组构成,每个存储组存储互不重叠的一个URL空间的Web对象,由主服务器发布这一存储策略
通过扩展存储组可以不断提高整个系统的存储容量
每个存储组又由若干个存储单元组成,它们存储完全相同的数据,即所有的数据都是多备份的,保证数据安全,并可以提高数据访问的并发能力
外部客户端访问存储子系统根据主服务器发布的存储策略直接访问,数据访问过程中,无需主服务器参与,主服务器不再成为频繁数据访问操作下的瓶颈
索引子系统分为两个部分,索引计算和索引服务
索引计算子系统从存储子系统下载待索引数据建立索引,并发送给索引服务子系统
为提高索引计算的可靠性,索引计算服务器与存储子系统的存储组采用多对多的关系,即多个索引