论文部分内容阅读
网络蜘蛛为搜索引擎提供了需要检索数据的来源,其性能直接影响着搜索引擎的服务质量。进入Web2.0时代后,互联网数据呈现出海量增长的趋势。面对海量页面数据,如何能够及时获取高质量的页面以及有效存储和计算抓取过程中产生的数据是网络蜘蛛面临的重要问题。分布式技术以其高性能的特点成为解决这些问题的有效方案。 本文使用分布式技术对传统串型工作方式的网络蜘蛛进行改进,设计实现基于分布式系统的并行工作蜘蛛,即分布式网络蜘蛛。首先,因为海量页面质量参差不齐,所以需要设计有效的策略对页面进行有选择地抓取,本文基于页面的动态变化特性,结合历史信息参考策略、大站优先策略和PageRank页面重要度评分技术,提出了新的多级权值抓取策略对页面进行更为有效地抓取;其次为了使网络蜘蛛并行分布式地高速运行,我们利用MapReduce分布式计算技术,设计了URL分发器,对抓取到页面的URL地址进行有效分析,使得抓取的页面能够进行有效的聚集;基于此,给出了带URL分发器的对等式网络蜘蛛架构;同时利用分布式文件存储系统(Hadoop Distributed File System,HDFS)技术,对网络蜘蛛的分布式存储结构进行设计;利用MapReduce和HDFS分布式技术特点,给出了具体的key/value设计,规划相关key/value数据流转;最后将通用抓取框架、URL分发器、多级权值抓取策略、和PageRank算法进行有效地组合设计,并对得到的算法进行了分布式并行实现。为了验证分布式网络蜘蛛的性能,搭建Hadoop集群环境对其进行了分析和测试。 分布式网络蜘蛛对海量页面能进行有效的抓取,通过并行高速实现,提高了抓取的性能和速度。基于此,可以提高搜索引擎的工作效率和质量,从而提高信息处理的速度并改善查询的体验。本系统结构具有兼容性和灵活性,可方便的在其上进行兼容和扩展,为搜索引擎的并行设计与实现,进行了探索,提供了有效途径。