首页> 中国专利> 爬虫调度管理平台通信方法和爬虫调度管理平台系统

爬虫调度管理平台通信方法和爬虫调度管理平台系统

摘要

本申请是关于爬虫调度管理平台通信方法和爬虫调度管理平台系统。该方法由负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点执行,工作节点主机发送包含本机唯一标识信息到数据存储节点;数据存储节点根据唯一标识信息在本地数据库中查找对应的工作节点信息;确认本地数据库中没有对应的工作节点信息,则将工作节点信息加入到本地数据库中;将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。本实施例通过工作节点主动将自身信息存储于数据存储节点的方法,确保工作节点能够成功注册,进而保证了主节点与工作节点的通信稳定性。

著录项

  • 公开/公告号CN112416550A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 广州探途网络技术有限公司;

    申请/专利号CN202011302154.8

  • 发明设计人 刘明东;

    申请日2020-11-19

  • 分类号G06F9/48(20060101);G06F9/54(20060101);G06F11/30(20060101);G06F16/951(20190101);

  • 代理机构11769 北京中知君达知识产权代理有限公司;

  • 代理人李辰;黄启法

  • 地址 510000 广东省广州市海珠区新港东路70号之二自编004号房(仅限办公)

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本申请涉及数据管理技术领域,尤其涉及爬虫调度管理平台通信方法和爬虫调度管理平台系统。

背景技术

相关技术中爬虫调度管理平台架构包括了一个主节点和多个工作节点、负责通信的Redis和负责数据储存MongoDB数据库。前端应用向主节点请求数据,主节点通过MongoDB和Redis来执行任务派发调度以及部署,工作节点收到任务之后,开始执行爬虫任务,并将任务结果储存到MongoDB。这种平台架构存在如下两个技术问题,第一:windows机使用go语言注册工作节点时,有时候无法获取工作节点的信息而导致工作节点无法注册,进而导致主节点与工作节点无法通信。第二:工作节点任务量过大容易假死导致定时任务挤压,从而导致爬虫任务执行效率下降。

发明内容

为克服相关技术中存在的问题,本申请提供爬虫调度管理平台通信方法和爬虫调度管理平台系统,该方法能够解决主节点与工作节点无法通信的问题。

本申请第一方面提供爬虫调度管理平台通信方法,方法由负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点执行,工作节点主机发送包含本机唯一标识信息到数据存储节点;数据存储节点根据唯一标识信息在本地数据库中查找对应的工作节点信息;确认本地数据库中没有对应的工作节点信息,则将工作节点信息加入到本地数据库中;将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。

其中,方法还包括:确认本地数据库中有对应的工作节点信息,则将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。

其中,方法还包括:预设阈值时间发送心跳信息来检测工作节点和主节点是否离线。

其中,唯一标识信息为MAC地址。

其中,方法还包括:主节点读取数据存储节点的工作节点信息;发送爬虫任务给工作节点;启动新的监听线程监听工作节点工作情况,其中,监听线程在到达预设时间爬虫任务还未执行情况下,执行进程杀死动作以终止爬虫任务的执行。

本申请第二方面提供一种爬虫调度管理平台系统,包括:负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点,工作节点还用于发送包含本机唯一标识信息到数据存储节点;数据存储节点还用于根据唯一标识信息在本地数据库中查找对应的工作节点信息和确认本地数据库中没有对应的工作节点信息,则将工作节点信息加入到本地数据库中;主节点还用于通过本地数据库的工作节点信息与工作节点进行通信。

其中,数据存储节点还用于到预设阈值时间发送心跳信息来检测工作节点和主节点是否离线。

其中,上述系统还包括数据通信节点,数据通信节点,用于启动新的监听线程监听工作节点工作情况,其中,监听线程在到达预设时间爬虫任务还未执行情况下,执行进程杀死动作以终止爬虫任务的执行。

其中,还包括备份节点,备份节点与主节点功能相同,如果主节点出现通信故障,则由备份节点暂时执行主节点的任务。

备份节点与主节点定时同步数据和信息。

本申请提供的技术方案可以包括以下有益效果:通过工作节点主动将自身信息存储于数据存储节点的方法,确保工作节点能够成功注册,进而保证了主节点与工作节点的通信稳定性。

本申请的技术方案,还可以,设置监听线程来监听爬虫任务的执行情况,对每个爬虫任务设置超时杀死,避免出现爬虫任务积压和线程积累,进一步增强了平台分发调度的稳定性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。

图1是本申请实施例示出的爬虫调度管理平台通信方法的流程示意图;

图2是本申请实施例示出的爬虫调度管理平台通信方法的另一流程示意图;

图3是本申请实施例示出的爬虫调度管理平台系统的网络结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

针对上述问题,本申请实施例提供一种爬虫调度管理平台通信方法,该方法能够解决主节点与工作节点无法通信的问题。

以下结合附图详细描述本申请实施例的技术方案。

图1是本申请实施例示出的爬虫调度管理平台通信方法的流程示意图。

参见图1,爬虫调度管理平台通信方法,由负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点执行,该方法包括:

S101,工作节点主机发送包含本机唯一标识信息到数据存储节点。本实施例的唯一标识信息可以是工作节点的主机的MAC地址,也可以是其他的能唯一标识工作节点的信息。本实施例不做限定。

S102,数据存储节点根据唯一标识信息在本地数据库中查找对应的工作节点信息。本实施例是将MAC地址作为key去数据存储节点的节点表中查询。

S103,判断工作节点信息是否在本地数据中,如果不存在,则进入S104将工作节点信息加入到本地数据库中。即如果不存在,则将从节点的主机MAC地址写入数据存储节点的节点表中。

如果存在,则进入S105将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。本实施例主节点与工作节点的通信主要包括主节点接收到工作节点信息之后,首先完成工作节点的注册,即完成与工作节点的第一次连接,之后主节点就可以向工作节点发送爬虫任务,接收爬虫任务执行结果。

本实施例完成S104之后,也进入S105。

在一个优选实施例中,还包括到达预设阈值时间发送心跳信息来检测工作节点和主节点是否离线。具体可以是遍历数据存储节点的节点表的值,30秒发送一次心跳来记录节点表中各个节点是否离线。发送心跳信息来检测工作节点与主节点是否离线,进一步保证了工作节点与主节点之间的通信稳定性。

以上实施例的爬虫调度管理平台通信方法由负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点执行,工作节点主机发送包含本机唯一标识信息到数据存储节点;数据存储节点根据唯一标识信息在本地数据库中查找对应的工作节点信息;确认本地数据库中没有对应的工作节点信息,则将工作节点信息加入到本地数据库中;将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。本实施例通过工作节点主动将自身信息存储于数据存储节点的方法,确保工作节点能够成功注册,进而保证了主节点与工作节点的通信稳定性。

图2是本申请实施例示出的爬虫调度管理平台通信方法的另一流程示意图。本实施例的方法在图1的实施例的基础上还包括:

S201,主节点读取数据存储节点的工作节点信息。

S202,发送爬虫任务给工作节点。

S203,启动新的监听线程监听工作节点工作情况。

S204,到达预设时间爬虫任务是否执行。如果到达预设时间爬虫任务没有执行,则进入S205监听线程执行进程杀死动作以终止爬虫任务的执行。S204如果到达预设时间爬虫任务已经执行或者正在执行,则继续等待下一个爬虫任务。

本实施例设置监听线程来监听爬虫任务的执行情况,对每个爬虫任务设置超时杀死,避免出现爬虫任务积压和线程积累,进一步增强了平台分发调度的稳定性。

与前述应用功能实现方法实施例相对应,本申请还提供了一种爬虫调度管理平台系统相应的实施例。

图3是本申请实施例示出的爬虫调度管理平台系统的网络结构示意图。

参见图3,爬虫调度管理平台系统,包括负责下达和发送爬虫任务的主节点300、负责执行爬虫任务的工作节点310和负责数据存储的数据存储节点320,其中,工作节点310,还用于发送包含本机唯一标识信息到数据存储节点320。本实施例的唯一标识信息可以是工作节点310的主机的MAC地址,也可以是其他的能唯一标识工作节点310的其他信息。不做限定。本实施例还可以设置备份节点350,备份节点350的功能与主节点300相同,在正常情况下其他网络节点与主节点300连接,如果主节点300出现通信故障,则所有其他节点连接至备份节点350,由备份节点350暂时执行主节点300的任务。备份节点350与主节点300之间定时同步信息。工作节点320可以布局多个。

数据存储节点320,还用于根据唯一标识信息在本地数据库中查找对应的工作节点310信息;确认本地数据库中没有对应的工作节点310信息,则将工作节点310信息加入到本地数据库中。本实施例是将MAC地址作为key去数据存储节点320的节点表中查询。

主节点300还用于:通过本地数据库的工作节点310信息与工作节点310进行通信。本实施例主节点300接收到工作节点310信息之后,首先完成工作节点310的注册,即完成与工作节点310的第一次连接,之后主节点300就可以向工作节点310发送爬虫任务。

数据存储节点320,还用于:到预设阈值时间发送心跳信息来检测工作节点310和主节点300是否离线。具体可以是遍历数据存储节点320的节点表的值,30秒发送一次心跳来记录节点表中各个节点是否离线。发送心跳信息来检测工作节点310与主节点300是否离线,进一步保证了工作节点310与主节点300之间的通信稳定性。

一个优选实施例中,本系统还包括数据通信节点340,数据通信节点340,用于启动新的监听线程监听工作节点310工作情况,其中,监听线程在到达预设时间爬虫任务还未执行情况下,执行进程杀死动作以终止爬虫任务的执行。设置监听线程来监听爬虫任务的执行情况,对每个爬虫任务设置超时杀死,避免出现爬虫任务积压和线程积累,进一步增强了平台分发调度的稳定性。

以上实施例的爬虫调度管理平台系统包括负责下达和发送爬虫任务的主节点、负责执行爬虫任务的工作节点和负责数据存储的数据存储节点,工作节点主机发送包含本机唯一标识信息到数据存储节点;数据存储节点根据唯一标识信息在本地数据库中查找对应的工作节点信息;确认本地数据库中没有对应的工作节点信息,则将工作节点信息加入到本地数据库中;将工作节点信息发送至主节点以供主节点使用工作节点信息与工作节点进行通信。本实施例通过工作节点主动将自身信息存储于数据存储节点的方法,确保工作节点能够成功注册,进而保证了主节点与工作节点的通信稳定性。

关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。

上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例系统中的模块可以根据实际需要进行合并、划分和删减。

本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号