一种负载均衡分布式的爬虫方法、爬虫系统技术方案

技术编号:17007023 阅读:25 留言:0更新日期:2018-01-11 03:32
本发明专利技术公开了一种负载均衡分布式的爬虫方法、爬虫系统,包括主服务器和多个与主服务器互通的爬虫服务器,每个所述爬虫服务器的下游设置多个爬虫采集节点,包括系统分布式爬虫负载均衡过程:所述主服务器将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行。对各个所述爬虫采集节点的节点状态信息进行监控和分析,从而所述主服务器可及时对所述爬虫采集节点进行调配,避免出现部分爬虫采集节点处于空载状态,提高爬虫采集节点的整体利用率,减少资源浪费。

【技术实现步骤摘要】
一种负载均衡分布式的爬虫方法、爬虫系统
本专利技术涉及网络搜索领域,尤其涉及一种负载均衡分布式的爬虫方法、爬虫系统。
技术介绍
目前的分布式爬虫中各个节点都只是负责单一的任务。当某一个单一任务需要等待另一个任务完成的时候,负责处理这个单一任务的节点就可能出现空闲情况,造成大量的资源浪费,搜索速度降低。因此,必须想出一种方法解决这种资源浪费的瓶颈情况,让分布式集群机器都处于一个合理利用资源的环境,让各个机器节点都能各司其职。
技术实现思路
本专利技术的目的在于提出一种可及时对所述爬虫采集节点进行调配,避免出现部分爬虫采集节点处于空载状态,提高爬虫采集节点的整体利用率,减少资源浪费的负载均衡分布式的爬虫方法、爬虫系统。为达此目的,本专利技术采用以下技术方案:一种负载均衡分布式的爬虫方法,包括主服务器和多个与主服务器互通的爬虫服务器,每个所述爬虫服务器的下游设置多个爬虫采集节点,包括系统分布式爬虫负载均衡过程:步骤A:所述主服务器将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行;步骤B:所述主服务器把请求页面任务和分析页面任务分发给不同的所述爬虫服务器,所述爬虫服务器再把自身接收到的任务分派给各个所述爬虫采集节点并对各个所述爬虫采集节点的节点状态信息进行监控;步骤C:所述爬虫服务器收集并反馈各个所述爬虫采集节点的节点状态信息到所述主服务器;步骤D:所述主服务器接收并分析所述爬虫服务器反馈的节点状态信息;若分析到所述爬虫采集节点的节点状态信息为空载状态,则所述主服务器调度任务给该爬虫采集节点。优选地,所述步骤B中的爬虫服务器监控方法包括:首先,各个所述爬虫采集节点执行被分派的任务,并发送自身的节点状态信息到对应的所述爬虫服务器;然后,所述爬虫服务器对接收到的所述节点状态信息进行整理,并将整理后的所述节点状态信息实时发送至所述主服务器。优选地,所述步骤D中所述主服务器分析调度方法包括:首先,所述主服务器对接收到的多个所述节点状态信息进行整理;然后,所述主服务器通过整理后的所述节点状态信息分析对应的爬虫采集节点是否处于空闲状态:若不是则分析下一个所述节点状态信息;若是则进一步分析所述爬虫采集节点原先负责的任务是请求页面任务还是分析页面任务:若所述爬虫采集节点原先负责请求页面任务,则分配分析页面任务给所述爬虫采集节点;若所述爬虫采集节点原先负责分析页面任务,则分配请求页面任务给所述爬虫采集节点。优选地,还包括控制爬虫采集节点数量过程:首先,所述主服务器对爬虫任务的分配情况进行检测;若检测到所有爬虫任务均被分配,则进一步分析各个爬虫采集节点的节点状态信息:若分析到存在若干个所述爬虫采集节点处于空闲状态或请求页面任务状态,则删除这些处于空闲状态或请求页面任务状态的爬虫采集节点;若检测有若干个所有爬虫任务未被分配,则进一步分析各个爬虫采集节点的节点状态信息,然后将未分配的爬虫任务分析调度至处于空闲状态的爬虫采集节点;若分析调度完后仍有若干个所有爬虫任务未被分配,则增加爬虫采集节点的数量直至所有爬虫任务均被分配为止。优选地,还包括重复分配过程:所述主服务器将同一个请求页面任务或分析页面任务分配给多个爬虫服务器。优选地,使用所述负载均衡分布式的爬虫方法的爬虫系统,包括主服务器和多个与主服务器互通的爬虫服务器,每个所述爬虫服务器的下游设置多个爬虫采集节点;所述主服务器被配置为:将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行;把请求页面任务和分析页面任务分发给不同的所述爬虫服务器;和接收并分析所述爬虫服务器反馈的节点状态信息;若分析到所述爬虫采集节点的节点状态信息为空载状态,则所述主服务器调度任务给该爬虫采集节点;所述爬虫服务器被配置为:把自身接收到的任务分派给各个所述爬虫采集节点并对各个所述爬虫采集节点的节点状态信息进行监控;和收集并反馈各个所述爬虫采集节点的节点状态信息到所述主服务器;所述爬虫采集节点被配置为:执行被分派的任务,并发送自身的节点状态信息到所述爬虫服务器。优选地,所述爬虫服务器还被配置为:对接收到的所述节点状态信息进行整理,并将整理后的所述节点状态信息实时发送至所述主服务器。优选地,所述主服务器还被配置为:对接收到的多个所述节点状态信息进行整理;通过整理后的所述节点状态信息分析对应的爬虫采集节点是否处于空闲状态:若不是则分析下一个所述节点状态信息;若是则进一步分析所述爬虫采集节点原先负责的任务是请求页面任务还是分析页面任务:若所述爬虫采集节点原先负责请求页面任务,则分配分析页面任务给所述爬虫采集节点;若所述爬虫采集节点原先负责分析页面任务,则分配请求页面任务给所述爬虫采集节点。优选地,所述主服务器还被配置为:对爬虫任务的分配情况进行检测;若检测到所有爬虫任务均被分配,则进一步分析各个爬虫采集节点的节点状态信息:若分析到存在若干个所述爬虫采集节点处于空闲状态或请求页面任务状态,则删除这些处于空闲状态或请求页面任务状态的爬虫采集节点;若检测有若干个所有爬虫任务未被分配,则进一步分析各个爬虫采集节点的节点状态信息,然后将未分配的爬虫任务分析调度至处于空闲状态的爬虫采集节点;若分析调度完后仍有若干个所有爬虫任务未被分配,则增加爬虫采集节点的数量直至所有爬虫任务均被分配为止。优选地,所述主服务器还被配置为:将同一个请求页面任务或分析页面任务分配给多个爬虫服务器。先通过主服务器将多个爬虫任务分配给其下属的多个爬虫服务器,所述爬虫服务器再将接收到的爬虫任务分配给其下属的多个爬虫采集节点。爬虫任务分解成请求页面任务和分析页面任务,爬虫采集节点循环交替进行请求页面任务和分析页面任务,提高分配灵活性和处理速度。对各个所述爬虫采集节点的节点状态信息进行监控和分析,从而所述主服务器可及时对所述爬虫采集节点进行调配,避免出现部分爬虫采集节点处于空载状态,提高爬虫采集节点的整体利用率,减少资源浪费。附图说明附图对本专利技术做进一步说明,但附图中的内容不构成对本专利技术的任何限制。图1是本专利技术其中一个实施例的系统分布式爬虫负载均衡交互图;图2是本专利技术其中一个实施例的爬虫服务器监控交互图;图3是本专利技术其中一个实施例的主服务器分析调度流程图;图4是本专利技术其中一个实施例的主服务器重复分配流程图。其中:主服务器1;爬虫服务器2;爬虫采集节点3。具体实施方式下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。本实施例的负载均衡分布式的爬虫方法,如图1所示,包括主服务器1和多个与主服务器1互通的爬虫服务器2,每个所述爬虫服务器2的下游设置多个爬虫采集节点3,包括系统分布式爬虫负载均衡过程:步骤A:所述主服务器1将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行;步骤B:所述主服务器1把请求页面任务和分析页面任务分发给不同的所述爬虫服务器2,所述爬虫服务器2再把自身接收到的任务分派给各个所述爬虫采集节点3并对各个所述爬虫采集节点3的节点状态信息进行监控;步骤C:所述爬虫服务器2收集并反馈各个所述爬虫采集节点3的节点状态信息到所述主服务器1;步骤D:所述主服务器1接收并分析所述爬虫服务器2反馈的节点状态信息;若分析到所述爬虫采集节点3本文档来自技高网...
一种负载均衡分布式的爬虫方法、爬虫系统

【技术保护点】
一种负载均衡分布式的爬虫方法,包括主服务器和多个与主服务器互通的爬虫服务器,每个所述爬虫服务器的下游设置多个爬虫采集节点,其特征在于,包括系统分布式爬虫负载均衡过程:步骤A:所述主服务器将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行;步骤B:所述主服务器把请求页面任务和分析页面任务分发给不同的所述爬虫服务器,所述爬虫服务器再把自身接收到的任务分派给各个所述爬虫采集节点并对各个所述爬虫采集节点的节点状态信息进行监控;步骤C:所述爬虫服务器收集并反馈各个所述爬虫采集节点的节点状态信息到所述主服务器;步骤D:所述主服务器接收并分析所述爬虫服务器反馈的节点状态信息;若分析到所述爬虫采集节点的节点状态信息为空载状态,则所述主服务器调度任务给该爬虫采集节点。

【技术特征摘要】
1.一种负载均衡分布式的爬虫方法,包括主服务器和多个与主服务器互通的爬虫服务器,每个所述爬虫服务器的下游设置多个爬虫采集节点,其特征在于,包括系统分布式爬虫负载均衡过程:步骤A:所述主服务器将一个爬虫任务分解成请求页面任务和分析页面任务,请求页面任务和分析页面任务之间循环交替进行;步骤B:所述主服务器把请求页面任务和分析页面任务分发给不同的所述爬虫服务器,所述爬虫服务器再把自身接收到的任务分派给各个所述爬虫采集节点并对各个所述爬虫采集节点的节点状态信息进行监控;步骤C:所述爬虫服务器收集并反馈各个所述爬虫采集节点的节点状态信息到所述主服务器;步骤D:所述主服务器接收并分析所述爬虫服务器反馈的节点状态信息;若分析到所述爬虫采集节点的节点状态信息为空载状态,则所述主服务器调度任务给该爬虫采集节点。2.根据权利要求1所述的负载均衡分布式的爬虫方法,其特征在于,所述步骤B中的爬虫服务器监控方法包括:首先,各个所述爬虫采集节点执行被分派的任务,并发送自身的节点状态信息到对应的所述爬虫服务器;然后,所述爬虫服务器对接收到的所述节点状态信息进行整理,并将整理后的所述节点状态信息实时发送至所述主服务器。3.根据权利要求1所述的负载均衡分布式的爬虫方法,其特征在于,所述步骤D中所述主服务器分析调度方法包括:首先,所述主服务器对接收到的多个所述节点状态信息进行整理;然后,所述主服务器通过整理后的所述节点状态信息分析对应的爬虫采集节点是否处于空闲状态:若不是则分析下一个所述节点状态信息;若是则进一步分析所述爬虫采集节点原先负责的任务是请求页面任务还是分析页面任务:若所述爬虫采集节点原先负责请求页面任务,则分配分析页面任务给所述爬虫采集节点;若所述爬虫采集节点原先负责分析页面任务,则分配请求页面任务给所述爬虫采集节点。4.根据权利要求1所述的负载均衡分布式的爬虫方法,其特征在于,还包括控制爬虫采集节点数量过程:首先,所述主服务器对爬虫任务的分配情况进行检测;若检测到所有爬虫任务均被分配,则进一步分析各个爬虫采集节点的节点状态信息:若分析到存在若干个所述爬虫采集节点处于空闲状态或请求页面任务状态,则删除这些处于空闲状态或请求页面任务状态的爬虫采集节点;若检测有若干个所有爬虫任务未被分配,则进一步分析各个爬虫采集节点的节点状态信息,然后将未分配的爬虫任务分析调度至处于空闲状态的爬虫采集节点;若分析调度完后仍有若干个所有爬虫任务未被分配,则增加爬虫采集节点的数量直至所有爬虫任务均被分配为止。5.根据权利要求1所述的负载均衡分布式的爬虫方法,其特征在于...

【专利技术属性】
技术研发人员:曾伟英霍智杰徐国坤
申请(专利权)人:广东科杰通信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1