博客增量抓取系统的难点之RSS增量抓取策略
公司内部开发了一个博客抓取系统,可是当feed数量增多时,系统面临着一个问题:有的博客很少更新,但系统却很频繁地去抓;有的博客作者手笔很勤,一天更新10多篇,但系统一个月才去抓一次。feed的有效更新效率的低下直接导致带宽和硬件的浪费。如果能够利用技术手段,采用一个智能的抓取策略,那么最直接的效果是节省了公司的资源,同时也减轻了对BSP(博客服务托管商)服务器的压力,长远来讲,也是为环保做点贡献啊!
本文对网络上的一些资料做了些整理,分析前人做出的成绩,并综合出一个简略的实现方法。
博客作者更新文章的时间是毫无规律的,但利用数学的方法可以将此模型归纳为泊松分布。
泊松分布可以作为大量实验中稀有事件出现的频数的概率分布情况的一个数学模型。这些随机变数大致上都有如下的特点:他们都取正整数为值,并且与时间间隔长度有关。当时间间隔极短,取值为数2以上是几乎不可能的。另外,它们取值的概率,只与时间间隔的长度有关,而与从哪个时刻开始算起没有什么关系。并且在不相重叠的时间间隔内,彼此没有什么影响。在满足上述相应的数学条件下,这种与时间有关的随机变量确实是服从泊松分布的。
针对博客更新的时间间隔较短的以天为单位,为了构造“大量实验中的稀有事件”,就把时间的单位定为:分钟或小时。考察博客的更新这一事件,发现其满足以下四个条件: