维亿CMS资源网,免费分享和下载
当前位置: 首页 > CMS分享 > 资源教程 > 对等分布式爬虫(Peer to Peer)

对等分布式爬虫(Peer to Peer)

匿名站长 资源教程
扫码手机访问

  对等分布式爬虫(Peer to Peer)1【转载自xycseo.com博客】

  在对等式分布爬虫的体系中,服务器之间不存在分工差异,每台服务器承担相同的功能,各自负担一部分URL的抓取工作,如下图即是其中一种对等式分布爬虫,Mercator爬虫采用此种体系结构.

  由于没有URL服务器存在,每台抓取服务器的任务分工就成为为问题。体系结构下,由服务器自己来判断某个URL是否应该由自己来抓取,或者将这个URL传递给相应的服务器。至于采取的判断方法,则是对网址的主域名进行哈希计算,之后取模(即hash[域名]%m,这里的m对应服务器个数),如果计算所得的值和抓取服务器编号匹配,则自己下载该网页,否则将该网址抓发给对应编号的抓取服务器。

  以上图的例子来说,因为有3台抓取服务器,所以取模的时候m设定为3.图中的1号抓取服务器负责抓取哈希取模后值为1的网页,当其接收到网址www.xycseo.com时,首页利用哈希函数计算这个主域名的哈希值,之后对3取模,发现取模后值为1,属于自己的职责范围,于是就自己下载网页:如果接收到网址www.baidu.com,哈希后对3取模,发现其值等于2,不属于自己的职责范畴,则将这个要下载的URL转发给2号抓取服务器,由2号抓取服务器来进行下载。通过这种方式,每台服务器平均承担大约3分之一的抓取工作量。

  由于没有URL分发服务器,所以此种方法不存在系统瓶颈问题,另外其哈希函数不是针对整个URL,而只针对主域名,所以可以保证同一网站的网页都由同一台服务器抓取,这样一方面可以提高下载效率(DNS域名解析可以缓存),另外一个方面可以主动控制对某个网站的访问速度,避免对某个网站访问压力过大。

  就上上图所示,这种体系结构也存在一些缺点,假设抓取过程中某台服务器宕机,或者此时新加入一台抓取服务器,因为取模时m是以服务器个数确定的,所以此外m值发生变化,导致大部分URL哈希取模后的值跟着变化,这意味着几乎所有任务都需要重新进行分配,无疑会导致资源的极大浪费。

  对等分布式爬虫(Peer to Peer)2 

  为了解决哈希取模的对等式分布爬虫存在的问题,UbiCrawler爬虫提出了改进方案。即放弃哈希取模方式,转而采用一致性哈希方法(Consisting

  Hash)来确定服务器的任务分工。

  一致性哈希将网站的主域名进行哈希到这个数值区间。可以如图那样,将哈希值范围首尾相接,即认为数值0和最大值重合,这样可以将其看做有序的环状序列,从数值0开始,沿着环的顺时针方向,哈希值逐渐增大,直到环的结尾。而某个抓取服务器则负责这个环状序列的一个片段,即落在某个哈希取值范围内的URL都由该服务器负责下载。这样即可确定每台服务器的职责范围。如图显示其优势,假设2号抓取服务器接收到域名www.,经过哈希值计算后,2号服务器知道在自己的管辖范围内,于是自己下载这个URL,在此之后,2号服务器收到了www.x.com这个域名。经过哈希计算,可知是3号服务器负责的范围。于是将这个URL抓发给3号服务器。如果3号服务器死机,那么2号服务器得不到回应,于是知道3号服务器出现了状况,此时顺时针按照环的大小顺序查找,将URL转发给第一个碰到的服务器,即1号服务器,此后3号服务器的下载任务由1号服务器接管,直到3号服务器重新启动为止。

  从上面的流程可知,即使某台服务器出了问题,那么本来应该由这台服务器负责的URL则由顺时针下一个服务器接管,并不会对其他服务器的任务造成影响,这就解决了哈希取模方式的弊端,将影响范围从全局限制到了局部,如果新加入一台下载服务器也是如此。

标签:

爬虫

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 123456@qq.com

同类推荐
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网