论文部分内容阅读
本文主要研究的内容分为网页消重技术研究、Web对象分布式抓取技术、Web对象分布式存储技术。全文将重点对这几个部分进行了详细的论述。在网页消重技术方面,分别针对基于网页URL消重和网页内容消重进行了研究。在基于网页URL消重方面引入了Bloom Filter技术,通过采用Bloom Filter技术可以将庞大数量的URL全部映射到较小的内存中,从而实现快速URL匹配消重处理。针对网页消重的特点,本文还给出了基于Bloom Filter的改进方法,其改进思路是,将原算法中对URL映射空间位的更新操作改为记录该位在映射空间中的索引下标,并将该位的更新操作放到最后统一处理。采用这种内存映射位推迟更新的方法,使得可以将数量庞大的URL平均分配到多台消重服务器上创建相应的内存映射位域,这将大大减轻消重服务器的内存负担并极大地提高消重效率。在基于网页内容消重方面,本文根据新闻网页的固有特点,提出了采用新闻标题与新闻内容结构相结合来作为新闻网页的消重特征值。将新闻标题作为网页消重重要特征,对其进行MD5散列,得到的散列值进行匹配,在匹配成功的情况下,再对新闻内容结构进行相似度计算,利用其相似度来判断两篇新闻网页是否重复;如果在新闻标题匹配失败的情况下,那么就直接认为两篇新闻网页是不重复的。在Web对象分布式抓取方面,本文设计了一套基于任务分配队列的分布式网络爬虫系统,并设计了分布式网页抓取任务的分配算法。整个爬虫系统是由爬虫控制服务器和爬虫服务器组成的,爬虫控制服务器通过任务队列组管理和监控着各个爬虫服务器的工作状态,通过对各个爬虫服务器负载情况的分析,调整各服务器之间的任务分配,从而达到负载均衡。同时由控制服务器向爬虫提供获得抓取任务的服务。爬虫从控制服务器的任务队列组中获得URL抓取任务,并开始从互联网上抓取网页,从爬取下来的网页中抽取出新的URL,进行消重处理后入库。在Web对象分布式存储方面,本文设计了一套基于共享存储分配表的分布式网络存储系统。整个系统主要是由存储控制服务器和存储服务器组成,存储控制服务器向爬虫服务器提供共享存储分配表,爬虫只需要按照获取的存储分配表对Web对象进行存储即可,而在爬虫与存储服务器进行存储的过程中是不需要控制服务器参与的。存储控制服务器通过心跳机制管理和监控着各个存储服务器的工作状态。在存储服务器端以存储组为单位进行存储,而存储组是由主从服务器组成,其中从服务器同步备份主服务器上的数据,实现了存储服务的高可靠性。