[发明专利]一种分布式爬虫系统中的URL去重方法有效

专利信息
申请号: 201711047215.9 申请日: 2017-10-31
公开(公告)号: CN107798106B 公开(公告)日: 2023-04-18
发明(设计)人: 曾映方 申请(专利权)人: 广东思域信息科技有限公司
主分类号: G06F16/951 分类号: G06F16/951;G06F16/953;G06F16/9532
代理公司: 东莞卓诚专利代理事务所(普通合伙) 44754 代理人: 朱鹏
地址: 523000 广东省东莞*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 爬虫 系统 中的 url 方法
【说明书】:

发明公开了一种分布式爬虫系统中的URL去重方法,包括将Hash值放入一个2supgt;m/supgt;的环形空间中,每个节点处理连续的Hash环上的一段,每个节点对应一个Bloom Filter结构。URL的去重过程为先计算Hash,获得对应的服务器节点,再判断根据Bloom Filter的内容判断是否已经存在。本发明采用一致性Hash和Bloom Filter相结合的方式,可以根据需要动态增加Bloom Filter节点,既可以保证URL数量不断增大时,控制Bloom Filter的假阳性误判率控制在给定范围内,又可以充分利用Bloom Filter的高效性,适用于构造大规模分布式的网络爬虫,支持高效抓取海量网页内容。

技术领域

本发明涉及网络技术领域,具体为一种分布式爬虫系统中的URL去重方法。

背景技术

网络爬虫是一种按照一定规则,自动抓取网络内容的程序,已被广泛的应用于互联网领域。爬虫从指定的URL地址开始下载页面内容,提取其中的URL地址,再从这些地址开始继续下载内容。由于新提取到的URL地址可能已经处理过,继续处理会导致重复下载,浪费带宽和计算资源。URL去重技术广泛应用于网络审计系统,搜索引擎系统中。在分布式网络爬虫系统中,需要采用某种策略将URL任务分配到多台服务器并行抓取,划分策略必须高效而且易于实现。在分布式环境下,某个主机提取到的URL地址可能已经被系统其它主机处理过,因此系统需要有一种分布式的URL去重机制。URL去重技术主要考虑两方面的问题:URL存储空间和URL匹配速度。URL的存储空间是指可以处理非重复URL的最大数目和每条URL所占用的内存空间。URL匹配速度是通过判断一条URL记录是否为重复URL所用的时间来衡量的。

Bloom Filter是处理URL去重的有效工具。BloomFilter算法的去重方案的主要思路大致包括:将同一个URL通过多个不同的哈希计算函数映射到同一个位数组中的不同位上,根据其位数组中多个不同位的状态识别该URL的采集状态(该URL是否已采集)。BloomFilter 算法的优点是,只需要在内存中保存位数组这样一个数据结构,就能够判别URL的采集状态,不需要保存具体的URL,占用的存储空间小,同时查找计算的速度快。但是,BloomFilter算法在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合。因此BloomFilter 算法的缺点是不能做到精确无误,存在一定的误差。

目前已有的一些基于Bloom Filter的URL去重方案,在效率、可扩展性和性能等方面存在欠缺。如Internet Archive爬虫使用32KB的Bloom Filter来存储每个网站的所有URL。Apoide爬虫使用8KB的Bloom Filter来存储每个网站的所有URL,并且根据网站域名的哈希值来决定某一条URL具体存储在哪一个Bloom Filter中。总的来说,这些方案中的Bloom Filter组织方式相对比较固定。对于一些大型门户网站(如新浪网、新华网等)而言,由于该域名下的URL数目众多,常常难以使用一个长度有限的固定大小Bloom Filter来存储;而对于一些小规模的网站,采用过大的Bloom Filter势必引起存储空间的浪费。另外,一些对处理性能要求较高的信息采集系统,往往会在网络分布环境中同时部署大量网络爬虫进行网页的并行爬行。针对这种应用场景中的URL去重问题,现有的Bloom Filter及它的一些改进方案大多难以适应。

一致哈希是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n关键字重新映射,其中 K是关键字的数量,n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。一致哈希将每个对象映射到圆环边上的一个点,系统再将可用的节点机器映射到圆环的不同位置。查找某个对象对应的机器时,需要用一致哈希算法计算得到对象对应圆环边上位置,沿着圆环边上查找直到遇到某个节点机器,这台机器即为对象应该保存的位置。当删除一台节点机器时,这台机器上保存的所有对象都要移动到下一台机器。添加一台机器到圆环边上某个点时,这个点的下一台机器需要将这个节点前对应的对象移动到新机器上。 更改对象在节点机器上的分布可以通过调整节点机器的位置来实现。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东思域信息科技有限公司,未经广东思域信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711047215.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top