[发明专利]一种分布式网络爬虫系统中的URL去重方法有效
申请号: | 201210090259.0 | 申请日: | 2012-03-30 |
公开(公告)号: | CN102663058A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 邹复好;凌贺飞;李平;刘学;邱荷花 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 网络 爬虫 系统 中的 url 方法 | ||
1.一种分布式网络爬虫系统中的URL去重方法,其特征在于,包括以下步骤:
(1)当前爬行结点根据初始URL任务集进入网络爬行状态,并获取待处理URL任务集;
(2)判断待处理URL任务集是否为空,若为空则过程结束,否则进入步骤(3);
(3)从待处理URL任务集中获取URL任务;
(4)对获取的URL任务进行哈希运算得到其对应的虚拟爬行结点号;
(5)根据该虚拟爬行结点号,查找虚拟爬行结点与实际爬行结点的映射关系表,从而得到对应的实际爬行结点;
(6)判断获取的URL任务是否属于当前爬行结点,如果是则进入步骤(9),否则转入步骤(7);
(7)将获取的URL任务转发给实际爬行结点;
(8)对于待处理URL任务集中的所有URL任务,重复上述步骤(2)至(7),直到所有URL任务均处理完毕为止;
(9)对该URL任务进行哈希运算,以找到该URL任务所属的虚拟爬行结点,并找到对应的布隆过滤器去重结构;
(10)对URL任务用K个哈希函数计算,以得到K个哈希值H[0],H[1],H[2],...,H[K-1];
(11)根据K个哈希值查找布隆过滤器去重结构的位数组中对应的第H[0],H[1],H[2],...,H[K-1]位,以判断第H[0],H[1],H[2],...,H[K-1]位是否均为1,若均为1,则进入步骤(12),否则进入步骤(13);
(12)丢弃该URL任务,然后转入步骤(14);
(13)表明该URL任务不是处于当前爬行结点的URL任务集合中,将该URL任务加入当前爬行结点的待处理队列中;
(14)将布隆过滤器去重结构的位数组中对应的第H[0],H[1],H[2],...,H[K-1]位全部置1;
(15)判断是否有实际爬行结点退出,若有则转入步骤(16),否则转入步骤(25);
(16)设定退出的实际爬行结点所映射的虚拟爬行结点集合为S,S中虚拟爬行结点个数记为vz;
(17)将剩余的实际爬行结点按照其所映射的虚拟爬行结点数从小到大排序,剩余的实际爬行结点个数记为rz;
(18)初始化计数器i和计数器j均为0,其中i指向排序后的实际爬行结点集合中第i+1个实际爬行结点,j指向虚拟爬行结点集合S中第j+1个虚拟爬行结点;
(19)判断j是否等于vz,若是则转入步骤(25),否则转入步骤(20);
(20)从虚拟爬行结点集合S中取出第j+1个虚拟爬行结点,并将其加入到第i+1个实际爬行结点所映射的虚拟爬行结点集合中;
(21)设置i=i+1,j=j+1;
(22)判断i是否等于rz,若是则转入步骤(23),否则转入步骤(24);
(23)将i值置0;
(24)重复上述步骤(19)至(23),直到j值等于vz为止;
(25)判断是否有新的实际爬行结点加入,若有则转入步骤(26),否则返回步骤(2);
(26)设定average=N/M,M为加入新实际爬行结点后实际爬行结点的总数,设定新实际爬行结点所映射的虚拟爬行结点集合为Q,其初始为空;
(27)将原有实际爬行结点按照映射的虚拟爬行结点数从大到小排序;
(28)初始化计数器s和t均为0,其中s指向排序后的实际爬行结点集合中第s+1个实际爬行结点,t为虚拟爬行结点集合Q中虚拟爬行结点个数;
(29)判断t是否等于average,若是则返回步骤(2),否则转入步骤(30);
(30)从第s+1个实际爬行结点所映射的虚拟爬行结点集合中取出一个虚拟爬行结点加入到Q中,并设置t=t+1,s=s+1;
(31)判断s值是否等于M-1,若是则转入步骤(32),否则转入步骤(33);
(32)将s值置0;
(33)重复执行上述步骤(29)至(32),直到t等于average为止。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述当前爬行结点根据初始URL任务集进入网络爬行状态,并获取待处理URL任务集的步骤之前,设定系统的虚拟爬行结点数N及初始URL任务集,每一个虚拟爬行结点对应一个布隆过滤器去重结构,布隆过滤器去重结构在内存中申请有一个位数组,位数组大小为n,将虚拟爬行结点平均分配给实际爬行结点,建立虚拟爬行结点与实际爬行结点的映射关系,采用基于模的哈希运算方式将初始URL任务集映射到各个虚拟爬行结点,并根据虚拟爬行结点与实际爬行结点的映射关系将初始URL任务集映射到对应的实际爬行结点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210090259.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于模拟退火算法的三维人脸识别方法
- 下一篇:一种三维众核片上系统