CN113312216A - 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 - Google Patents
一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 Download PDFInfo
- Publication number
- CN113312216A CN113312216A CN202110604575.4A CN202110604575A CN113312216A CN 113312216 A CN113312216 A CN 113312216A CN 202110604575 A CN202110604575 A CN 202110604575A CN 113312216 A CN113312216 A CN 113312216A
- Authority
- CN
- China
- Prior art keywords
- crawler
- master control
- control server
- service
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000003247 decreasing effect Effects 0.000 claims abstract description 8
- 230000001360 synchronised effect Effects 0.000 claims abstract description 4
- 230000004083 survival effect Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 9
- 230000007423 decrease Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000009193 crawling Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Abstract
本发明公开一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法,模型包括主控服务器以及至少一台热备主控服务器,主控服务器分别连接任务下发中心和爬虫采集服务集群,任务下发中心用于发布采集任务至当前主控服务器;主控服务用于采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息至热备主控服务器;热备主控服务器在主控服务宕机时接替主控服务器以负责采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息。本发明比起一般的分布式爬虫可以动态增减爬虫节点而不需要重启系统,同时每个爬虫节点互为热备,主控也有对应的热备服务,所以任何一个设备出现故障,对这个系统的稳定性没有影响。
Description
技术领域
本发明涉及网络信息技术领域,尤其涉及一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法。
背景技术
目前市面上的网络爬虫主要分为两种:1.单机部署模式,这种也是最简单的网络爬虫模式,以单机的形式开启多个线程来模拟Http的请求以获取应答内容从而实现对网站内容的爬取,优点是部署简单,开发成本低,缺点也很明显,面对互联网海量的信息,爬取的性能就显得力不从心,单机的机制意味着爬虫的主要瓶颈在于网络的吞吐性能。2.分布式部署方案,也就是在单机模式的实现基础上由主控服务负责将要爬取的网站发送给各个爬虫节点,爬虫节点将爬取后的结果上报给主控服务,由主控服务负责持久化处理。这种模式弥补了单机模式的性能瓶颈。但是由于这种模式需要实现配置好一台的主控服务与N台爬虫节点,也就是说需要在部署的前期就要设计好网络拓扑和对服务器的规划。如果主控服务出现宕机,那么爬虫系统就会崩盘。如果是某台爬虫节点出现宕机,那就会使得后续原本应该交于该节点的任务就无法送达爬虫节点。
发明内容
本发明的目的在于提供一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法,通过一致性Hash算法来动态增减节点,以心跳来实现网络拓扑变化的实时变更。
本发明采用的技术方案是:
一种可扩展型分布式热拔插部署网络爬虫服务模型,其包括主控服务器以及至少一台热备主控服务器,主控服务器分别连接任务下发中心和爬虫采集服务集群,任务下发中心用于发布采集任务至当前主控服务器;主控服务用于采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息至热备主控服务器;热备主控服务器在主控服务宕机时接替主控服务器以负责采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息。
进一步地,作为一种较优实施方式,爬虫采集服务集群由若干爬虫节点组成。
进一步地,作为一种较优实施方式,爬虫节点与主控服务器之间通过心跳来交互信息,热备主控服务器与主控服务器之间通过心跳来交互信息。
进一步地,作为一种较优实施方式,增加或减少热备主控服务器时,热备主控服务器将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点;同时由主控服务器将信息同步给热备主控服务器。
一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,其包括以下步骤;
步骤1,任务下发中心下发采集任务至主控服务器,
步骤2,主控服务器根据采集任务需求确定任务负载,并将采集任务下发至爬虫采集服务集群中选定的爬虫节点;
步骤3,选定的爬虫节点接收并执行采集任务,同时返回接收任务响应至主控服务器;
步骤4,爬虫采集服务集群的所有爬虫节点周期性向主控服务器通知爬虫节点的存活信息;
步骤5,主控服务器更新对应爬虫节点的存活信息,并同步爬虫节点的存活消息至热备主控服务器的同时向对应的爬虫节点返回响应信息;
步骤6,对应的爬虫节点检查是否在指定时间内收到主控服务器的返回响应信息;是则,保持当前主控服务器不变;否则,判断当前主控服务器宕机同时将后续请求发送至热备主控服务器;
步骤7,主控服务器周期性检查每个爬虫节点是否均有发送存活信息;是则,执行步骤9;否则,将未发送存活信息的爬虫节点移除出爬虫采集服务集群并执行步骤8;
步骤8,主控服务器从爬虫采集服务集群中重新选定新的爬虫节点并下发采集任务并执行步骤3;
步骤9;接收选定爬虫节点的任务反馈判断当前采集任务是否完成;是则,结束当前采集任务;否则,执行步骤4。
进一步地,作为一种较优实施方式,步骤1中当任务下发中心下发采集任务超时,则下发采集任务至热备主控服务器。
进一步地,作为一种较优实施方式,步骤2中主控服务器从爬虫采集服务集群中当前周期标识为存活的爬虫节点选定执行采集任务的爬虫节点。
进一步地,作为一种较优实施方式,步骤5中主控服务器先判断发送通知的爬虫节点是否在爬虫采集服务集群中;是则,更新存活信息;否则,将该爬虫节点添加至爬虫采集服务集群再更新存活信息。
本发明采用以上技术方案,以一台主控服务+N(N>=1)台爬虫节点作为部署基础,以一致性Hash算法作为任务的Hash分发,以心跳作为主控与爬虫节点间存活信息的交互,后续增加或减少爬虫节点,通过由爬虫节点向主控发起的心跳信息来通知主控服务来增加或减少逻辑节点。后续增加或减少主控热备时,热备主控服务将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点,同时由主控服务将信息同步给热备服务。当主控服务出现宕机时,爬虫节点的上传数据将转变为上传至热备服务,热备服务将自动肩负起主控服务的任务下发及持久化任务。本发明比起一般的分布式爬虫可以动态增减爬虫节点而不需要重启系统,同时每个爬虫节点互为热备,主控也有对应的热备服务,所以任何一个设备出现故障,对这个系统的稳定性没有影响。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明一种可扩展型分布式热拔插部署网络爬虫服务模型的结构示意图;
图2为本发明一种可扩展型分布式热拔插部署网络爬虫服务模型的部署架构示意图;
图3为本发明一种可扩展型分布式热拔插部署网络爬虫服务模型的控制流程时序示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
如图1或2所示,本发明公开了一种可扩展型分布式热拔插部署网络爬虫服务模型,其包括主控服务器以及至少一台热备主控服务器,主控服务器分别连接任务下发中心和爬虫采集服务集群,任务下发中心用于发布采集任务至当前主控服务器;主控服务用于采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息至热备主控服务器;热备主控服务器在主控服务宕机时接替主控服务器以负责采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息。
进一步地,作为一种较优实施方式,爬虫采集服务集群由若干爬虫节点组成。
进一步地,作为一种较优实施方式,爬虫节点与主控服务器之间通过心跳来交互信息,热备主控服务器与主控服务器之间通过心跳来交互信息。
进一步地,作为一种较优实施方式,增加或减少热备主控服务器时,热备主控服务器将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点;同时由主控服务器将信息同步给热备主控服务器。
本发明以一台主控服务+N(N>=1)台爬虫节点作为部署基础,以一致性Hash算法作为任务的Hash分发,以心跳作为主控与爬虫节点间存活信息的交互,后续增加或减少爬虫节点,通过由爬虫节点向主控发起的心跳信息来通知主控服务来增加或减少逻辑节点。后续增加或减少主控热备时,热备主控服务将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点,同时由主控服务将信息同步给热备服务。当主控服务出现宕机时,爬虫节点的上传数据将转变为上传至热备服务,热备服务将自动肩负起主控服务的任务下发及持久化任务。主控服务负责对采集任务进行负载,如果某台爬虫采集服务掉线或者上线,主控服务将会第一时间知道,从而动态调整负载策略。
如图3所示,一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,其包括以下步骤;
步骤1,任务下发中心下发采集任务至主控服务器,
步骤2,主控服务器根据采集任务需求确定任务负载,并将采集任务下发至爬虫采集服务集群中选定的爬虫节点;
步骤3,选定的爬虫节点接收并执行采集任务,同时返回接收任务响应至主控服务器;
步骤4,爬虫采集服务集群的所有爬虫节点周期性向主控服务器通知爬虫节点的存活信息;
步骤5,主控服务器更新对应爬虫节点的存活信息,并同步爬虫节点的存活消息至热备主控服务器的同时向对应的爬虫节点返回响应信息;
步骤6,对应的爬虫节点检查是否在指定时间内收到主控服务器的返回响应信息;是则,保持当前主控服务器不变;否则,判断当前主控服务器宕机同时将后续请求发送至热备主控服务器;
步骤7,主控服务器周期性检查每个爬虫节点是否均有发送存活信息;是则,执行步骤9;否则,将未发送存活信息的爬虫节点移除出爬虫采集服务集群并执行步骤8;
步骤8,主控服务器从爬虫采集服务集群中重新选定新的爬虫节点并下发采集任务并执行步骤3;
步骤9;接收选定爬虫节点的任务反馈判断当前采集任务是否完成;是则,结束当前采集任务;否则,执行步骤4。
进一步地,作为一种较优实施方式,步骤1中当任务下发中心下发采集任务超时,则下发采集任务至热备主控服务器。
进一步地,作为一种较优实施方式,步骤2中主控服务器从爬虫采集服务集群中当前周期标识为存活的爬虫节点选定执行采集任务的爬虫节点。
进一步地,作为一种较优实施方式,步骤5中主控服务器先判断发送通知的爬虫节点是否在爬虫采集服务集群中;是则,更新存活信息;否则,将该爬虫节点添加至爬虫采集服务集群再更新存活信息。
本发明采用以上技术方案,以一台主控服务+N(N>=1)台爬虫节点作为部署基础,以一致性Hash算法作为任务的Hash分发,以心跳作为主控与爬虫节点间存活信息的交互,后续增加或减少爬虫节点,通过由爬虫节点向主控发起的心跳信息来通知主控服务来增加或减少逻辑节点。后续增加或减少主控热备时,热备主控服务将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点,同时由主控服务将信息同步给热备服务。当主控服务出现宕机时,爬虫节点的上传数据将转变为上传至热备服务,热备服务将自动肩负起主控服务的任务下发及持久化任务。本发明比起一般的分布式爬虫可以动态增减爬虫节点而不需要重启系统,同时每个爬虫节点互为热备,主控也有对应的热备服务,所以任何一个设备出现故障,对这个系统的稳定性没有影响。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Claims (8)
1.一种可扩展型分布式热拔插部署网络爬虫服务模型,其特征在于:其包括主控服务器以及至少一台热备主控服务器,主控服务器分别连接任务下发中心和爬虫采集服务集群,任务下发中心用于发布采集任务至当前主控服务器;主控服务用于采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息至热备主控服务器;热备主控服务器在主控服务宕机时接替主控服务器以负责采集任务下发、动态调整爬虫采集服务集群的负载策略以及同步信息。
2.根据权利要求1所述的一种可扩展型分布式热拔插部署网络爬虫服务模型,其特征在于:爬虫采集服务集群由若干爬虫节点组成。
3.根据权利要求2所述的一种可扩展型分布式热拔插部署网络爬虫服务模型,其特征在于:爬虫节点与主控服务器之间通过心跳来交互信息,热备主控服务器与主控服务器之间通过心跳来交互信息。
4.根据权利要求1所述的一种可扩展型分布式热拔插部署网络爬虫服务模型,其特征在于:增加或减少热备主控服务器时,热备主控服务器将发送心跳于主控服务,再由主控服务通过心跳Ack将热备信息发送给各个爬虫节点;同时由主控服务器将信息同步给热备主控服务器。
5.一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,采用权利要求1至4之一所述的一种可扩展型分布式热拔插部署网络爬虫服务模型,其特征在于:方法包括以下步骤;
步骤1,任务下发中心下发采集任务至主控服务器,
步骤2,主控服务器根据采集任务需求确定任务负载,并将采集任务下发至爬虫采集服务集群中选定的爬虫节点;
步骤3,选定的爬虫节点接收并执行采集任务,同时返回接收任务响应至主控服务器;
步骤4,爬虫采集服务集群的所有爬虫节点周期性向主控服务器通知爬虫节点的存活信息;
步骤5,主控服务器更新对应爬虫节点的存活信息,并同步爬虫节点的存活消息至热备主控服务器的同时向对应的爬虫节点返回响应信息;
步骤6,对应的爬虫节点检查是否在指定时间内收到主控服务器的返回响应信息;是则,保持当前主控服务器不变;否则,判断当前主控服务器宕机同时将后续请求发送至热备主控服务器;
步骤7,主控服务器周期性检查每个爬虫节点是否均有发送存活信息;是则,执行步骤9;否则,将未发送存活信息的爬虫节点移除出爬虫采集服务集群并执行步骤8;
步骤8,主控服务器从爬虫采集服务集群中重新选定新的爬虫节点并下发采集任务并执行步骤3;
步骤9;接收选定爬虫节点的任务反馈判断当前采集任务是否完成;是则,结束当前采集任务;否则,执行步骤4。
6.根据权利要求6所述的一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,其特征在于:步骤1中当任务下发中心下发采集任务超时,则下发采集任务至热备主控服务器。
7.根据权利要求6所述的一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,其特征在于:步骤2中主控服务器从爬虫采集服务集群中当前周期标识为存活的爬虫节点选定执行采集任务的爬虫节点。
8.根据权利要求6所述的一种可扩展型分布式热拔插部署网络爬虫服务模型的控制方法,其特征在于:步骤5中主控服务器先判断发送通知的爬虫节点是否在爬虫采集服务集群中;是则,更新存活信息;否则,将该爬虫节点添加至爬虫采集服务集群再更新存活信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604575.4A CN113312216A (zh) | 2021-05-31 | 2021-05-31 | 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604575.4A CN113312216A (zh) | 2021-05-31 | 2021-05-31 | 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312216A true CN113312216A (zh) | 2021-08-27 |
Family
ID=77376693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110604575.4A Pending CN113312216A (zh) | 2021-05-31 | 2021-05-31 | 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312216A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1458747A (zh) * | 2002-05-13 | 2003-11-26 | 华为技术有限公司 | 主控板数据热备份的方法 |
CN1719831A (zh) * | 2005-07-15 | 2006-01-11 | 清华大学 | 基于集群路由器结构的高可用分布式边界网关协议系统 |
CN101980476A (zh) * | 2010-11-16 | 2011-02-23 | 北京星网锐捷网络技术有限公司 | 一种热备份的方法及网络设备 |
US20170068735A1 (en) * | 2015-09-08 | 2017-03-09 | MOLBASE (Shanghai) Biotechnology Co., Ltd . | Task-crawling system and task-crawling method for distributed crawler system |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN107562541A (zh) * | 2017-09-05 | 2018-01-09 | 广东科杰通信息科技有限公司 | 一种负载均衡分布式的爬虫方法、爬虫系统 |
-
2021
- 2021-05-31 CN CN202110604575.4A patent/CN113312216A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1458747A (zh) * | 2002-05-13 | 2003-11-26 | 华为技术有限公司 | 主控板数据热备份的方法 |
CN1719831A (zh) * | 2005-07-15 | 2006-01-11 | 清华大学 | 基于集群路由器结构的高可用分布式边界网关协议系统 |
CN101980476A (zh) * | 2010-11-16 | 2011-02-23 | 北京星网锐捷网络技术有限公司 | 一种热备份的方法及网络设备 |
US20170068735A1 (en) * | 2015-09-08 | 2017-03-09 | MOLBASE (Shanghai) Biotechnology Co., Ltd . | Task-crawling system and task-crawling method for distributed crawler system |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN107562541A (zh) * | 2017-09-05 | 2018-01-09 | 广东科杰通信息科技有限公司 | 一种负载均衡分布式的爬虫方法、爬虫系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632067B (zh) | 容灾部署方法、装置及系统 | |
CN103383689A (zh) | 一种服务进程故障检测方法、装置及服务节点 | |
CN101958805B (zh) | 一种云计算中终端接入和管理的方法及系统 | |
CN104142896B (zh) | 一种缓存控制方法和系统 | |
CN101247273B (zh) | 分布式环境下服务协同节点组织结构的维护方法 | |
CN112565415B (zh) | 一种基于云边协同的跨地域资源纳管系统和纳管方法 | |
CN103036719A (zh) | 一种基于主备集群服务器的跨地区服务容灾方法及装置 | |
CN109639773B (zh) | 一种动态构建的分布式数据集群控制系统及其方法 | |
EP3291487B1 (en) | Method for processing virtual machine cluster and computer system | |
CN103051551A (zh) | 一种分布式系统及其自动维护方法 | |
CN110611603B (zh) | 一种集群网卡监控方法及装置 | |
DE112016003242T5 (de) | System und verfahren zum handhaben von verbindungsverlust in einem netzwerk | |
CN113535391B (zh) | 跨域大数据平台的分布式集群状态信息管理方法及系统 | |
CN114070739B (zh) | 一种集群部署方法、装置、设备和计算机可读存储介质 | |
WO2019076236A1 (zh) | 数据同步方法、装置、超级控制器、域控制器及存储介质 | |
CN106230622B (zh) | 一种集群实现方法及装置 | |
CN117061512A (zh) | 基于大数据的分布式信息管理方法和系统 | |
CN110958151B (zh) | 保活检测方法、装置、节点、存储介质及通信系统 | |
CN106357723A (zh) | 一种基于云主机的多集群缓存信息同步系统和方法 | |
CN113312216A (zh) | 一种可扩展型分布式热拔插部署网络爬虫服务模型及其控制方法 | |
CN107046474B (zh) | 一种服务集群 | |
US20140143589A1 (en) | Method for managing path of osek networks | |
CN114363350A (zh) | 一种服务治理系统及方法 | |
CN110435722B (zh) | 一种轨道交通综合监控系统跨区域数据交换的负载均衡实现方法 | |
CN113794765A (zh) | 基于文件传输的网闸负载均衡方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210827 |