2.用户体验策略的四个常见的更新策略

优采云 发布时间: 2021-08-23 04:33

  2.用户体验策略的四个常见的更新策略

  四、更新策略

  互联网实时变化且高度动态。网页更新策略主要是决定什么时候更新之前下载过的页面。共有三种常见的更新策略:

  1.历史参考策略

  顾名思义,根据页面之前的历史更新数据,预测页面未来什么时候会发生变化。一般来说,预测是通过泊松过程建模进行的。

  2.用户体验策略

  虽然搜索引擎可以针对某个查询条件返回大量结果,但用户往往只关注结果的前几页。因此,爬虫系统可以先更新那些实际在查询结果前几页的网页,然后再更新后面的那些网页。此更新策略还需要历史信息。用户体验策略保留网页的多个历史版本,并根据过去每次内容变化对搜索质量的影响求取平均值,并以此值作为决定何时重新抓取的依据。

  3.Clustering 抽样策略

  上面提到的两种更新策略都有一个前提:需要网页的历史信息。这种方式存在两个问题:一是系统如果为每个系统保存多个版本的历史信息,无疑会增加不少系统负担;其次,如果新网页根本没有历史信息,则无法确定更新策略。

  该策略认为网页有很多属性,属性相似的网页可以认为更新频率相似。要计算某一类网页的更新频率,只需对该类网页进行采样,并将其更新周期作为整个类别的更新周期。基本思路如图:

  

  五、分布式爬取系统结构

  一般来说,爬虫系统需要面对整个互联网上亿万个网页。一个抓取程序不可能完成这样的任务。通常需要多个抓取程序来一起处理。一般来说,爬虫系统往往是分布式的三层结构。如图:

  

  底层是分布在不同地理位置的数据中心。每个数据中心有多个爬虫服务器,每个爬虫服务器可能部署多套爬虫程序。这样就构成了一个基本的分布式爬虫系统。

  对于数据中心内不同的抓取服务器,有多种协同工作的方式:

  1.主从

  主从式的基本结构如图:

  

  对于主从模式,有一个专用的主服务器来维护要爬取的 URL 队列。它负责每次将 URL 分发到不同的从服务器,从服务器负责实际的网页下载工作。 Master服务器除了维护要爬取的URL队列和分发URL之外,还负责调解各个Slave服务器的负载。为了避免一些Slave服务器太闲或者太累。

  这种模式下,Master往往容易成为系统瓶颈。

  2.对等式(Peer to Peer)

  等价方程的基本结构如图:

  

  在这种模式下,所有爬取服务器之间的分工没有区别。每个爬虫服务器都可以从要爬取的URL队列中获取URL,然后得到该URL主域名的hash值H,然后计算H mod m(其中m为服务器数量,上图为一个例如,m 对于3),计算出的数字就是处理该URL的主机号。

  示例:假设对于URL,计算器哈希值H=8,m=3,那么H mod m=2,那么编号为2的服务器就会抓取链接。假设此时服务器0获取到了URL,就会将URL转发给服务器2,服务器2就会抓取。

  这个模型有问题。当服务器崩溃或添加新服务器时,所有 URL 的哈希余数的结果将发生变化。换句话说,这种方法的可扩展性不好。针对这种情况,又提出了另一个改进方案。这种改进的方案是通过一致性哈希来确定服务器分工。其基本结构如图所示:

  

  一致散列对 URL 的主域名进行散列,并将其映射到 0-232 范围内的数字。并且这个范围平均分配给m台服务器,根据URL主域名hash运算的取值范围判断使用哪个服务器进行爬取。

  如果某台服务器出现问题,则该服务器应该负责的网页顺时针延迟,下一个服务器会被抓取。在这种情况下,如果一个服务器及时出现问题,不会影响其他任务。

  参考书目:

  1.《这是核心技术的搜索引擎详解》张俊林电子工业出版社

  2.《搜索引擎技术基础》刘义群等清华大学出版社

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线