【技术实现步骤摘要】
一种分布式爬虫系统及周期性增量抓取方法
本专利技术涉及互联网大数据的高效数据采集
,尤其涉及一种分布式爬虫系统及周期性增量抓取方法。
技术介绍
网络爬虫是从一个或若干初始网页的URL(UniformResourceLocator,统一资源定位符)开始,获得初始网页上的URL,在抓取网页的过程中,根据不同的抓取策略,不断从当前页面上抽取新的URL放入任务队列,直到满足系统的停止条件。随着互联网的高速发展,网络数据呈现爆炸式增长,网络数据源也越来越趋于多元化。面对如此庞大而多元化的互联网数据,如何提高网络爬虫的抓取效率,如何针对不同的数据源进行可定制化的爬取策略,显得至关重要。相比于传统单机爬虫,分布式爬虫可以明显提高爬虫的抓取效率,但随之也引入了新的问题:分布式环境下多节点的任务下发问题、负载均衡问题、网页重复性问题和周期性增量抓取问题等。综上所述,如何在解决分布式爬虫带来的一系列问题的同时,能够有效地提高爬虫的抓取速度,并在此基础上实现分布式爬虫的周期性增量抓取是目前现有技术中存在的主要问题。
技术实现思路
本专利技术所要解决的技术问题是,提供一种分布式爬虫系统及周期性增量抓取方法,解决如何将单机爬虫有效的结合在一起,实现集群环境下高可用、高稳定和高吞吐率的分布式爬虫,并实现周期性增量抓取。本专利技术解决上述问题所采用的技术方案是:本专利技术公开一种分布式爬虫系统,该系统被配置为基于ZooKeeper的分布式服务、系统组件和数据库三大部分,其中,系统组件包括系统监控组件Monitor、协调组件Coordinator、日志收集组件Logger、基础爬虫组件 ...
【技术保护点】
一种分布式爬虫系统,其特征在于,该系统被配置为基于ZooKeeper的分布式服务、系统组件和数据库三大部分,其中,系统组件包括系统监控组件Monitor、协调组件Coordinator、日志收集组件Logger、基础爬虫组件Spider,数据库包括Redis内存数据库,Redis内存数据库中存放有分布式URL任务队列和分布式BloomFilter;其中,基于ZooKeeper的分布式服务为各系统组件提供分布式协调服务,所述系统监控组件Monitor负责系统的动态配置和系统的状态监控,所述协调组件Coordinator负责将种子URL导入到基于Redis的分布式任务队列、周期性汇总各节点状态到ZooKeeper、为日志收集组件Logger动态分配日志源和集群节点的检测与管理中的一种或多种,所述日志收集组件Logger负责从集群中各基础爬虫组件Spider收集日志数据,所述基础爬虫组件Spider负责处理网页的爬取任务,所述基于Redis的分布式URL任务队列负责存储所有待爬取的任务URL,所述基于Redis的分布式BloomFilter负责集群中所有基础爬虫组件Spider的URL去重请 ...
【技术特征摘要】
1.一种分布式爬虫系统,其特征在于,该系统被配置为基于ZooKeeper的分布式服务、系统组件和数据库三大部分,其中,系统组件包括系统监控组件Monitor、协调组件Coordinator、日志收集组件Logger、基础爬虫组件Spider,数据库包括Redis内存数据库,Redis内存数据库中存放有分布式URL任务队列和分布式BloomFilter;其中,基于ZooKeeper的分布式服务为各系统组件提供分布式协调服务,所述系统监控组件Monitor负责系统的动态配置和系统的状态监控,所述协调组件Coordinator负责将种子URL导入到基于Redis的分布式任务队列、周期性汇总各节点状态到ZooKeeper、为日志收集组件Logger动态分配日志源和集群节点的检测与管理中的一种或多种,所述日志收集组件Logger负责从集群中各基础爬虫组件Spider收集日志数据,所述基础爬虫组件Spider负责处理网页的爬取任务,所述基于Redis的分布式URL任务队列负责存储所有待爬取的任务URL,所述基于Redis的分布式BloomFilter负责集群中所有基础爬虫组件Spider的URL去重请求。2.根据权利要求1所述的分布式爬虫系统,其特征在于,基于ZooKeeper的分布式服务通过与各系统组件相互协调工作,为各系统组件提供包括动态配置、集群节点检测与管理、Master选举、分布式锁、全局URL的ID生成的分布式服务中的一种或多种。3.根据权利要求1所述的一种分布式爬虫系统,其特征在于,其中所述系统监控组件Monitor具有Monitor界面,用户可以通过Monitor界面修改存在于ZooKeeper上的系统配置参数,集群中的协调组件Coordinator、日志收集组件Logger和基础爬虫组件Spider会监听ZooKeeper上的相应数据节点,并在数据节点内容被修改后得到相应的通知,进而根据修改后的配置参数做相应调整。4.根据权利要求3所述的分布式爬虫系统,其特征在于,Monitor界面还能实时显示存在于ZooKeeper上的各系统状态参数和各组件状态参数。5.根据权利要求1所述的一种分布式爬虫系统,其特征在于,所述基础爬虫组件Spider组件具有多种组件内核,且各组件内核的爬取策略不完全一致。6.根据权利要求1所述的分布式爬虫系统,其特征在于,所述基础爬虫组件Spider组件具有高扩展性,以方便针对新的数据源编写新的组件内...
【专利技术属性】
技术研发人员:张雷,韩建军,张文哲,谭龙海,王崇骏,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。