CN106034040B - 扫描节点的控制方法、装置及系统 - Google Patents
扫描节点的控制方法、装置及系统 Download PDFInfo
- Publication number
- CN106034040B CN106034040B CN201510112641.0A CN201510112641A CN106034040B CN 106034040 B CN106034040 B CN 106034040B CN 201510112641 A CN201510112641 A CN 201510112641A CN 106034040 B CN106034040 B CN 106034040B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- scan
- scan node
- load
- 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.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种扫描节点的控制方法、装置及系统。其中,该方法包括:接收扫描节点生成的心跳请求,所述心跳请求包括所述扫描节点的负载量;根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,其中,由主控节点预先设定所述扫描节点对应的负载阈值;判断所述扫描节点的负载量是否小于所述对应的负载阈值;当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务。本发明解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种扫描节点的控制方法、装置及系统。
背景技术
网络端口或协议扫描,作为检测系统对外部基础开放层度的手段,在网络攻防上被广泛应用(例如对特定系统的安全情况评估,攻击前的弱点扫描)。但随着互联网发展,网络规模的扩大,单节点的扫描已经无法负荷起日益增长的扫描量,即使在扫描工具的效率不断提高、扫描节点的性能配置不断提升下,问题并没得到很好的解决。
现有的一种扫描节点的控制方案是,扫描任务在服务端(也称主控节点)进行管理,由主控节点将扫描任务分成小任务后,发送到扫描客户端(也称扫描节点)上;扫描节点收到小任务后,发起扫描;主控节点会通过轮询的方式去请求扫描节点,查看对应的扫描任务是否已经完成并获取扫描结果。
然而,现有的扫描节点的控制方案存在如下问题:1)扩展性问题:当扫描量的继续增大,扫描节点需要继续增多时,几千甚至上万个扫描节点的时候,主控节点将达到瓶颈,要消除这个瓶颈就必须对扫描节点进行分组处理,这样带来了第二缺点;2)可运维性问题:随着扫描节点的增多,分组的增多,运维和运营的成本随着线性上升;3)任务管理效率较低:任务做分拆后,下发到扫描节点后,就不在都下发的任务做管理,如果大扫描量,长持续时间的重复扫描,会出现扫描节点工作负载不平衡。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种扫描节点的控制方法、装置及系统,以至少解决由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
根据本发明实施例的一个方面,提供了一种扫描节点的控制方法,包括:接收扫描节点生成的心跳请求,上述心跳请求包括上述扫描节点的负载量;根据上述扫描节点的负载量获取上述扫描节点对应的负载阈值,其中,由主控节点预先设定上述扫描节点对应的负载阈值;判断上述扫描节点的负载量是否小于上述对应的负载阈值;当上述扫描节点的负载量小于上述对应的负载阈值时,向上述扫描节点下发上述第一任务。
根据本发明实施例的另一方面,还提供了一种扫描节点的控制方法,包括:获取扫描节点的负载量;向主控节点发送心跳请求,上述心跳请求包括上述扫描节点的负载量;接收上述主控节点发送的第一任务,上述第一任务由上述主控节点根据上述扫描节点的负载量获取上述扫描节点对应的负载阈值后,上述主控节点判断上述扫描节点的负载量是否小于上述对应的负载阈值,当上述扫描节点的负载量小于上述对应的负载阈值时,上述主控节点向上述扫描节点下发上述第一任务,其中,由上述主控节点预先设定上述扫描节点对应的负载阈值;执行上述第一任务。
根据本发明实施例的另一方面,还提供了一种主控节点,包括:第一接收单元,用于接收扫描节点生成的心跳请求,上述心跳请求包括上述扫描节点的负载量;第一获取单元,用于根据上述扫描节点的负载量获取上述扫描节点对应的负载阈值,其中,由主控节点预先设定上述扫描节点对应的负载阈值;判断单元,用于判断上述扫描节点的负载量是否小于上述对应的负载阈值;任务下发单元,用于当上述扫描节点的负载量小于上述对应的负载阈值时,向上述扫描节点下发上述第一任务。
根据本发明实施例的另一方面,还提供了一种扫描节点,包括:负载监控单元,用于获取扫描节点的负载量;第二发送单元,用于向主控节点发送心跳请求,上述心跳请求包括上述扫描节点的负载量;第二接收单元,用于接收上述主控节点发送的第一任务,上述第一任务由上述主控节点根据上述扫描节点的负载量获取上述扫描节点对应的负载阈值后,上述主控节点判断上述扫描节点的负载量是否小于上述对应的负载阈值,当上述扫描节点的负载量小于上述对应的负载阈值时,上述主控节点向上述扫描节点下发上述第一任务,其中,由上述主控节点预先设定上述扫描节点对应的负载阈值;任务调度单元,用于执行上述第一任务。
根据本发明实施例的另一方面,还提供了一种扫描节点的控制系统,包括:具有上述任意特征的主控节点,以及与上述主控节点连接的具有上述任意特征的扫描节点。
在本发明实施例中,采用接收扫描节点生成的心跳请求,心跳请求包括扫描节点的负载量;根据扫描节点的负载量获取扫描节点对应的负载阈值,其中,由主控节点预先设定扫描节点对应的负载阈值;判断扫描节点的负载量是否小于对应的负载阈值;当扫描节点的负载量小于对应的负载阈值时,向扫描节点下发第一任务的方式,通过扫描节点主动上报扫描节点的负载量,主控节点通过扫描节点的负载量,确定是否向扫描节点下发第一任务,达到了在扫描节点增多时,主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果,进而解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种运行扫描节点的控制方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种可选的扫描节点的控制方法的流程示意图;
图3是根据本发明实施例的另一种可选的扫描节点的控制方法的流程示意图;
图4是根据本发明实施例的又一种可选的扫描节点的控制方法的流程示意图;
图5是根据本发明实施例的又一种可选的扫描节点的控制方法的流程示意图;
图6是根据本发明实施例的又一种可选的扫描节点的控制方法的流程示意图;
图7是根据本发明实施例的又一种可选的扫描节点的控制方法的流程示意图;
图8是根据本发明实施例的又一种可选的扫描节点的控制方法的流程示意图;
图9是根据本发明实施例的一种可选的主控节点的结构示意图;
图10是根据本发明实施例的一种可选的任务下发单元的结构示意图;
图11是根据本发明实施例的另一种可选的任务下发单元的结构示意图;
图12是根据本发明实施例的又一种可选的任务下发单元的结构示意图;
图13是根据本发明实施例的另一种可选的主控节点的结构示意图;
图14是根据本发明实施例的又一种可选的主控节点的结构示意图;
图15是根据本发明实施例的一种可选的扫描节点的结构示意图;
图16是根据本发明实施例的一种可选的第二接收单元的结构示意图;
图17是根据本发明实施例的另一种可选的第二接收单元的结构示意图;
图18是根据本发明实施例的另一种可选的扫描节点的结构示意图;
图19是根据本发明实施例的又一种可选的扫描节点的结构示意图;
图20是根据本发明实施例的一种运行扫描节点的控制系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种扫描节点的控制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种扫描节点的控制方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的扫描节点的控制方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的扫描节点的控制方法。图2是根据本发明实施例一的扫描节点的控制方法的流程图。
如图2所示,该扫描节点的控制方法可以包括如下实现步骤:
步骤S202,接收扫描节点生成的心跳请求,心跳请求包括扫描节点的负载量。
本申请上述步骤S202中的心跳请求是指扫描节点每隔一段固定的时间(相对较短的时间)向主控节点发送一次请求,心跳请求中可以包括扫描节点的负载量。主控节点在接收到扫描节点生成的心跳请求之后,可以根据心跳请求中的扫描节点的负载量判断是否向扫描节点下发第一任务。
可选地,扫描节点的负载量可以包括以下一种或几种:CPU负载量、网络负载量以及任务负载量。其中,任务负载量可以包括扫描节点共有多少个扫描任务、扫描节点正在执行多少个扫描任务、有多少个扫描任务在任务队列中、哪些任务已经执行等。其中,CPU负载量可以是指在一端时间内正在使用和等待使用CPU的平均任务数。
可选地,心跳请求中还可以包括扫描节点的配置信息,该扫描节点的配置信息中可以包括扫描节点的扫描速度以及并行处理能力等。主控节点可以根据扫描节点的配置信息获知扫描节点的情况。
步骤S204,根据扫描节点的负载量获取扫描节点对应的负载阈值,其中,由主控节点预先设定扫描节点对应的负载阈值。
本申请上述步骤S204中的负载阈值是与负载量对应的阈值,例如,CPU负载量有其对应的CPU负载阈值,网络负载量有其对应的网络负载阈值,任务负载量有其对应的任务负载阈值。
以扫描节点的负载量包括CPU负载量、网络负载量以及任务负载量为例,主控节点根据扫描节点的负载量获取扫描节点对应的负载阈值可以包括根据CPU负载量获取扫描节点对应的CPU负载阈值;根据网络负载量获取扫描节点对应的网络负载阈值;根据任务负载量获取扫描节点对应的任务负载阈值。
进而,主控节点可以根据获取到的扫描节点对应的CPU负载阈值、网络负载阈值以及任务负载阈值判断是否向扫描节点下发第一任务。其中,本发明实施例的负载阈值(包括CPU负载阈值、网络负载阈值以及任务负载阈值等),可以是预先配置存储在主控节点中的,也可以是主控节点向其它存储有该负载阈值的设备请求获取到的,均应在本发明实施例的保护范围之内。
步骤S206,判断扫描节点的负载量是否小于对应的负载阈值。
本申请上述步骤S206可以实现,在获取扫描节点对应的负载阈值之后,主控节点可以对扫描节点的负载量是否小于对应的负载阈值进行判断。
仍以扫描节点的负载量包括CPU负载量、网络负载量以及任务负载量为例,主控节点判断扫描节点的负载量是否小于对应的负载阈值可以包括判断扫描节点的CPU负载量是否小于对应的CPU负载阈值;判断扫描节点的网络负载量是否小于对应的网络负载阈值;判断扫描节点的任务负载量是否小于对应的任务负载阈值。
步骤S208,当扫描节点的负载量小于对应的负载阈值时,向扫描节点下发第一任务。
作为一种可选的实现方式,本申请上述步骤S208中,当判断出扫描节点的负载量小于对应的负载阈值时,主控节点向扫描节点下发第一任务。
本发明实施例中,第一任务可以是配置新的扫描任务、回收未处理的扫描任务或反馈扫描结果等。其中,扫描任务可以包括端口扫描和协议扫描,端口扫描,就是对特定的机器的特定端口,发送链接请求数据包,然后根据是否返回回应包,或者返回的回应包的情况,判断端口是否开放;协议扫描,虽然通常通讯协议有约定俗成的对应端口,但并没强制规定,所以对于一个端口上开放的是什么协议,不能武断根据约定下判断,需要根据具体返回的数据包,分析数据来推断端口上应用的协议,这就是协议扫描。
仍以扫描节点的负载量包括CPU负载量、网络负载量以及任务负载量为例,当扫描节点的负载量小于对应的负载阈值时,向扫描节点下发第一任务可以包括当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时,向扫描节点下发第一任务。
由上可知,本申请上述实施例一所提供的方案,通过扫描节点主动上报扫描节点的负载量,主控节点通过扫描节点的负载量,确定是否向扫描节点下发第一任务,达到了在扫描节点增多时,主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果,进而解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
本申请上述实施例提供的一种可选方案中,如图3所示,在第一任务为配置新的扫描任务的情况下,上述步骤S208,向扫描节点下发第一任务的步骤可以包括:
步骤S302,向扫描节点发送任务配置激活信息。
上述步骤S302中当扫描节点的负载量小于对应的负载阈值时(例如,当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时),主控节点可以为扫描节点配置新的扫描任务,那么,主控节点可以向扫描节点发送任务配置激活信息。
本发明实施例中,该任务配置激活信息具体可以为一个标识,例如“1001”,主控节点在向扫描节点发送任务配置激活信息后,扫描节点会向主控节点请求任务配置。
步骤S304,接收扫描节点生成的对应于任务配置激活信息的任务配置请求信息。
基于上述步骤S302扫描节点在接收到主控节点发送的任务配置激活信息之后,扫描节点会生成对应于任务配置激活信息的任务配置请求信息,并将对应于任务配置激活信息的任务配置请求信息发送至主控节点,作为主控节点而言,主控节点会接收到扫描节点生成的对应于任务配置激活信息的任务配置请求信息。
例如,扫描节点在接收到主控节点发送的“1001”后获知主控节点要为扫描节点配置新的扫描任务,扫描节点则生成任务配置请求信息,该任务配置请求信息具体也可以为一个标识,例如“10011”,并将该“10011”发送至主控节点。
步骤S306,向扫描节点发送对应于任务配置请求信息的任务配置信息,任务配置信息包括新的扫描任务的配置,以便扫描节点执行新的扫描任务或将新的扫描任务加入扫描节点的任务队列。
上述步骤S306中主控节点在接收到扫描节点生成的对应于任务配置激活信息的任务配置请求信息之后,例如接收到“10011”之后,向扫描节点发送对应于任务配置请求信息的任务配置信息,任务配置信息包括新的扫描任务的配置,以便扫描节点执行新的扫描任务或将新的扫描任务加入扫描节点的任务队列。
对于扫描节点而言,对下发到扫描节点的扫描任务进行调度处理,可以同时并发处理多个不同的任务,同时按照扫描任务的优先级、下发时间等进行调度,例如,下发到扫描节点的扫描任务共有10个,扫描节点可以并发处理2个任务,那么扫描节点可以按照扫描任务的优先级,优先处理优先级高的扫描任务,在2个以上优先级相同的扫描任务中,优先处理下发时间早的扫描任务。扫描任务的处理可以包含两个部分:端口扫描、协议扫描。在扫描任务执行逻辑上端口扫描先,协议扫描后;但在系统执行的角度两者是独立并行的:一个任务在端口扫描得出的结果会不断的吐到一个独立的池子里,扫描节点会根据情况从池子里取出数据,发起一个单独的协议扫描。多任务的并发和任务的流式处理,能更好的利用上扫描节点自身的计算资源。
本申请上述步骤S302至步骤S306提供了一种向扫描节点下发第一任务的可选方案,通过向扫描节点发送任务配置激活信息,接收扫描节点生成的对应于任务配置激活信息的任务配置请求信息,向扫描节点发送对应于任务配置请求信息的任务配置信息,为扫描节点配置新的扫描任务。
本申请上述实施例提供的一种可选方案中,如图4所示,在第一任务为反馈扫描结果的情况下,任务负载量包括已执行任务的标识,上述步骤S208,向扫描节点下发第一任务的步骤可以包括:
步骤S402,向扫描节点发送任务结果激活信息。
上述步骤S402中当扫描节点的负载量小于对应的负载阈值时(例如,当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时),并且扫描节点有已执行任务时,主控节点可以向扫描节点发送任务结果激活信息。
本发明实施例中,该任务结果激活信息具体可以为一个标识,例如“1010”,主控节点在向扫描节点发送任务结果激活信息后,扫描节点会向主控节点反馈对应于已执行任务的扫描结果。
步骤S404,接收扫描节点生成的对应于已执行任务的扫描结果。
基于上述步骤S402扫描节点在接收到主控节点发送的任务结果激活信息之后,扫描节点会将对应于已执行任务的扫描结果反馈至主控节点。
需要说明的是,扫描节点可以将本次全部的已执行任务的扫描结果反馈至主控节点,也可以根据主控节点的指示,例如任务结果激活信息中包括指定的已执行任务的标识,扫描节点可以将主控节点所指示的已执行任务的扫描结果反馈至主控节点,均应在本发明实施例的保护范围之内。
本申请上述步骤S402至步骤S404提供了一种向扫描节点下发第一任务的可选方案,通过向扫描节点发送任务结果激活信息,进而获取扫描节点已执行任务的扫描结果,实现端口或协议的扫描。
本申请上述实施例提供的一种可选方案中,如图5所示,当扫描节点的负载量大于等于对应的负载阈值时,本发明实施例的扫描节点的控制方法还包括:
S502,根据任务负载量中包含的待执行任务的标识,确定待回收的扫描任务。
上述步骤S502中当扫描节点的负载量大于等于对应的负载阈值时(例如,当扫描节点的CPU负载量大于等于对应的CPU负载阈值,或扫描节点的网络负载量大于等于对应的网络负载阈值,或扫描节点的任务负载量大于等于对应的任务负载阈值时),主控节点可以调节扫描节点的任务队列,例如回收某些扫描任务,那么,主控节点首先可以根据任务负载量中包含的待执行任务的标识,确定待回收的扫描任务。
需要说明的是,待回收的扫描任务的数量可以是一个也可以是多个,本发明实施例对此不作限制。
S504,向扫描节点发送任务回收信息,任务回收信息包括待回收的扫描任务的标识,以便扫描节点根据待回收的扫描任务的标识删除扫描节点的任务队列中对应的待回收的扫描任务。
基于上述步骤S502主控节点在确定了待回收的扫描任务之后,可以向扫描节点发送任务回收信息,任务回收信息包括待回收的扫描任务的标识,以便扫描节点根据待回收的扫描任务的标识删除扫描节点的任务队列中对应的待回收的扫描任务。进而,主控节点可以将该回收的扫描任务分配给其它扫描节点,实现负载均衡。
需要补充的是,主控节点也可以某种特殊的情况下对扫描节点进行任务回收,例如当前系统有三个扫描节点,每个扫描节点的负载量均小于对应的负载阈值,主控节点也可以将任务队列较长的扫描节点中的扫描任务回收,分配给其它扫描节点,也应在本发明实施例的保护范围之内。
本申请上述实施例提供的一种可选方案中,心跳请求还可以包括预先设置的密钥,其中,在步骤S202之后,步骤S204之前,本发明实施例的扫描节点的控制方法还包括:
S20,提取预先设置的密钥。
上述步骤S20中扫描节点发送的心跳请求可以包括预先设置的密钥,即用预先颁发的key对数据做签名,主控节点可以根据该预先设置的密钥识别扫描节点的身份。
需要补充的是,本发明实施例中,扫描节点发送的所有消息,例如上述的心跳请求、任务配置请求信息等都可以包含该预先设置的密钥,本发明实施例对此不做限制。
S22,对预先设置的密钥进行验证。
上述步骤S22中主控节点在提取了预先设置的密钥之后,可以对该预先设置的密钥进行验证,判断该扫描节点的身份是否合法,若不合法则可以丢弃该心跳请求。
可选地,步骤S204根据扫描节点的负载量获取扫描节点对应的负载阈值,可以包括:在验证通过的情况下,根据扫描节点的负载量获取扫描节点对应的负载阈值。
本申请上述步骤S20至步骤S22提供了一种识别扫描节点身份的可选方案,通过对心跳请求中的预先设置的密钥进行验证,实现扫描节点身份的识别。
本申请上述实施例提供的一种可选方案中,若检测到在预设时间段内扫描节点的负载量未发生变化,本发明实施例的扫描节点的控制方法还包括:向扫描节点发送重置激活信息,以便扫描节点清空扫描节点的所有任务。
当主控节点检测到扫描节点达到预定条件,例如扫描节点发生卡顿,其具体可以为在预设时间段内(例如半小时之内)扫描节点的负载量(例如,CPU负载量、网络负载量、任务负载量)未发生变化,主控节点则可以重置该扫描节点,如向扫描节点发送重置激活信息,扫描节点在接收到该重置激活信息之后,则清空自身所有的当前扫描任务。同样地,重置激活信息可以为一个标识。
需要说明的是,本申请中提到的心跳请求,除了作为监控扫描节点的工作状态的手段之外,还起着控制扫描节点的作用:心跳请求的返回数据会携带着功能激活标识,扫描节点会依据标识,启动相应的功能;不通过主动下发命令,就可以起到主动控制扫描节点的效果。此外,主控节点可以根据扫描节点返回的负载量,动态调整不同扫描节点上的任务,实现自适应的负载均衡控制。
由此可知,现有技术存在的在主控节点主动分配扫描任务,扫描节点增多时,主控节点工作负荷量大扩展性较低的问题,本发明提出一种基于扫描节点主动请求扫描任务的方法,从而使主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种扫描节点的控制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例二所提供的方法实施例仍旧可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,实施例二所提供的方法实施例仍旧可以运行在图1所示的计算机终端上。
在上述运行环境下,本申请提供了如图6所示的扫描节点的控制方法。图6是根据本发明实施例二的扫描节点的控制方法的流程图。
如图6所示,该扫描节点的控制方法可以包括如下实现步骤:
步骤S602,获取扫描节点的负载量。
本申请上述步骤S602的扫描节点的负载量可以包括以下一种或几种:CPU负载量、网络负载量以及任务负载量。其中,任务负载量可以包括扫描节点共有多少个扫描任务、扫描节点正在执行多少个扫描任务、有多少个扫描任务在任务队列中、哪些任务已经执行等。其中,CPU负载量可以是指在一端时间内正在使用和等待使用CPU的平均任务数。
步骤S604,向主控节点发送心跳请求,心跳请求包括扫描节点的负载量。
本申请上述步骤S604的心跳请求是指扫描节点每隔一段固定的时间(相对较短的时间)向主控节点发送一次请求,心跳请求中可以包括扫描节点的负载量。
可选地,心跳请求中还可以包括扫描节点的配置信息,该扫描节点的配置信息中可以包括扫描节点的扫描速度以及并行处理能力等。主控节点可以根据扫描节点的配置信息获知扫描节点的情况。
步骤S606,接收主控节点发送的第一任务,第一任务由主控节点根据扫描节点的负载量获取扫描节点对应的负载阈值后,主控节点判断扫描节点的负载量是否小于对应的负载阈值,当扫描节点的负载量小于对应的负载阈值时,主控节点向扫描节点下发第一任务,其中,由主控节点预先设定扫描节点对应的负载阈值。
以扫描节点的负载量包括CPU负载量、网络负载量以及任务负载量为例,主控节点根据扫描节点的负载量获取扫描节点对应的负载阈值可以包括根据CPU负载量获取扫描节点对应的CPU负载阈值;根据网络负载量获取扫描节点对应的网络负载阈值;根据任务负载量获取扫描节点对应的任务负载阈值。
进而,主控节点可以根据获取到的扫描节点对应的CPU负载阈值、网络负载阈值以及任务负载阈值判断是否向扫描节点下发第一任务。其中,本发明实施例的负载阈值(包括CPU负载阈值、网络负载阈值以及任务负载阈值等),可以是预先配置存储在主控节点中的,也可以是主控节点向其它存储有该负载阈值的设备请求获取到的,均应在本发明实施例的保护范围之内。
主控节点判断扫描节点的负载量是否小于对应的负载阈值可以包括判断扫描节点的CPU负载量是否小于对应的CPU负载阈值;判断扫描节点的网络负载量是否小于对应的网络负载阈值;判断扫描节点的任务负载量是否小于对应的任务负载阈值。
作为一种可选的实现方式,本申请上述步骤S606中,当主控判断出扫描节点的负载量小于对应的负载阈值时,扫描节点会接收到主控节点发送的第一任务。
步骤S608,执行第一任务。
在上述步骤S608中第一任务可以是配置新的扫描任务、回收未处理的扫描任务或反馈扫描结果等。其中,扫描任务可以包括端口扫描和协议扫描,端口扫描,就是对特定的机器的特定端口,发送链接请求数据包,然后根据是否返回回应包,或者返回的回应包的情况,判断端口是否开放;协议扫描,虽然通常通讯协议有约定俗成的对应端口,但并没强制规定,所以对于一个端口上开放的是什么协议,不能武断根据约定下判断,需要根据具体返回的数据包,分析数据来推断端口上应用的协议,这就是协议扫描。
由上可知,本申请上述实施例一所提供的方案,通过扫描节点主动上报扫描节点的负载量,主控节点通过扫描节点的负载量,确定是否向扫描节点下发第一任务,达到了在扫描节点增多时,主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果,进而解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
本申请上述实施例提供的一种可选方案中,负载量包括CPU负载量、网络负载量以及任务负载量;其中,主控节点根据扫描节点的负载量获取扫描节点对应的负载阈值,包括如下任意一种或多种方案:主控节点根据CPU负载量获取扫描节点对应的CPU负载阈值;主控节点根据网络负载量获取扫描节点对应的网络负载阈值;主控节点根据任务负载量获取扫描节点对应的任务负载阈值。
进一步地,主控节点判断扫描节点的负载量是否小于对应的负载阈值,包括如下任意一种或多种方案:主控节点判断扫描节点的CPU负载量是否小于对应的CPU负载阈值;主控节点判断扫描节点的网络负载量是否小于对应的网络负载阈值;主控节点判断扫描节点的任务负载量是否小于对应的任务负载阈值。
可选地,当扫描节点的负载量小于对应的负载阈值时,主控节点向扫描节点下发第一任务,包括:当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时,主控节点向扫描节点下发第一任务。
本申请上述实施例提供的一种可选方案中,如图7所示,在第一任务为配置新的扫描任务的情况下,上述步骤S606,接收主控节点发送的第一任务的步骤可以包括:
步骤S702,接收主控节点发送的任务配置激活信息。
上述步骤S302中当扫描节点的负载量小于对应的负载阈值时(例如,当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时),主控节点可以为扫描节点配置新的扫描任务,那么,扫描节点可以接收主控节点发送的任务配置激活信息。
本发明实施例中,该任务配置激活信息具体可以为一个标识,例如“1001”,主控节点在向扫描节点发送任务配置激活信息后,扫描节点会向主控节点请求任务配置。
步骤S704,生成对应于任务配置激活信息的任务配置请求信息。
步骤S706,向主控节点发送任务配置请求信息。
基于上述步骤S702扫描节点在接收到主控节点发送的任务配置激活信息之后,扫描节点会生成对应于任务配置激活信息的任务配置请求信息,并将对应于任务配置激活信息的任务配置请求信息发送至主控节点,作为主控节点而言,主控节点会接收到扫描节点生成的对应于任务配置激活信息的任务配置请求信息。
例如,扫描节点在接收到主控节点发送的“1001”后获知主控节点要为扫描节点配置新的扫描任务,扫描节点则生成任务配置请求信息,该任务配置请求信息具体也可以为一个标识,例如“10011”,并将该“10011”发送至主控节点。
步骤S708,接收主控节点发送的对应于任务配置请求信息的任务配置信息,任务配置信息包括新的扫描任务的配置。
上述步骤S708中主控节点在接收到扫描节点生成的对应于任务配置激活信息的任务配置请求信息之后,例如接收到“10011”之后,扫描节点会接收主控节点发送的对应于任务配置请求信息的任务配置信息,任务配置信息包括新的扫描任务的配置。
可选地,执行第一任务包括:将新的扫描任务加入扫描节点的任务队列。
对于扫描节点而言,对下发到扫描节点的扫描任务进行调度处理,可以同时并发处理多个不同的任务,同时按照扫描任务的优先级、下发时间等进行调度,例如,下发到扫描节点的扫描任务共有10个,扫描节点可以并发处理2个任务,那么扫描节点可以按照扫描任务的优先级,优先处理优先级高的扫描任务,在2个以上优先级相同的扫描任务中,优先处理下发时间早的扫描任务。扫描任务的处理可以包含两个部分:端口扫描、协议扫描。在扫描任务执行逻辑上端口扫描先,协议扫描后;但在系统执行的角度两者是独立并行的:一个任务在端口扫描得出的结果会不断的吐到一个独立的池子里,扫描节点会根据情况从池子里取出数据,发起一个单独的协议扫描。多任务的并发和任务的流式处理,能更好的利用上扫描节点自身的计算资源。
本申请上述步骤S702至步骤S708提供了一种向扫描节点下发第一任务的可选方案,通过向扫描节点发送任务配置激活信息,接收扫描节点生成的对应于任务配置激活信息的任务配置请求信息,向扫描节点发送对应于任务配置请求信息的任务配置信息,为扫描节点配置新的扫描任务。
本申请上述实施例提供的一种可选方案中,在第一任务为反馈扫描结果的情况下,任务负载量包括已执行任务的标识,上述步骤S606,接收主控节点发送的第一任务的步骤可以包括:接收主控节点发送的任务结果激活信息;向主控节点发送对应于已执行任务的扫描结果。
当扫描节点的负载量小于对应的负载阈值时(例如,当扫描节点的CPU负载量小于对应的CPU负载阈值,且扫描节点的网络负载量小于对应的网络负载阈值,且扫描节点的任务负载量小于对应的任务负载阈值时),并且扫描节点有已执行任务时,扫描节点可以接收主控节点发送的任务结果激活信息。
本发明实施例中,该任务结果激活信息具体可以为一个标识,例如“1010”,主控节点在向扫描节点发送任务结果激活信息后,扫描节点会向主控节点反馈对应于已执行任务的扫描结果。
需要说明的是,扫描节点可以将本次全部的已执行任务的扫描结果反馈至主控节点,也可以根据主控节点的指示,例如任务结果激活信息中包括指定的已执行任务的标识,扫描节点可以将主控节点所指示的已执行任务的扫描结果反馈至主控节点,均应在本发明实施例的保护范围之内。
本申请上述实施例提供的一种可选方案中,当扫描节点的负载量大于等于对应的负载阈值时,本发明实施例的扫描节点的控制方法还包括:
S30,接收主控节点发送的任务回收信息,任务回收信息由主控节点根据任务负载量中包含的待执行任务的标识,确定待回收的扫描任务后生成的,任务回收信息包括待回收的扫描任务的标识。
上述步骤S30中当扫描节点的负载量大于等于对应的负载阈值时(例如,当扫描节点的CPU负载量大于等于对应的CPU负载阈值,或扫描节点的网络负载量大于等于对应的网络负载阈值,或扫描节点的任务负载量大于等于对应的任务负载阈值时),主控节点可以调节扫描节点的任务队列,例如回收某些扫描任务,那么,主控节点首先可以根据任务负载量中包含的待执行任务的标识,确定待回收的扫描任务。
需要说明的是,待回收的扫描任务的数量可以是一个也可以是多个,本发明实施例对此不作限制。
可选地,执行第一任务包括:根据待回收的扫描任务的标识删除扫描节点的任务队列中对应的待回收的扫描任务。
本发明实施例中,主控节点在确定了待回收的扫描任务之后,可以向扫描节点发送任务回收信息,任务回收信息包括待回收的扫描任务的标识,以便扫描节点根据待回收的扫描任务的标识删除扫描节点的任务队列中对应的待回收的扫描任务。进而,主控节点可以将该回收的扫描任务分配给其它扫描节点,实现负载均衡。
需要补充的是,主控节点也可以某种特殊的情况下对扫描节点进行任务回收,例如当前系统有三个扫描节点,每个扫描节点的负载量均小于对应的负载阈值,主控节点也可以将任务队列较长的扫描节点中的扫描任务回收,分配给其它扫描节点,也应在本发明实施例的保护范围之内。
可选地,心跳请求还包括预先设置的密钥。
本申请上述实施例提供的一种可选方案中,若主控节点检测到在预设时间段内扫描节点的负载量未发生变化,本发明实施例的扫描节点的控制方法还包括:
S40,接收主控节点发送的重置激活信息,重置激活信息为在主控节点检测到在预设时间段内扫描节点的负载量未发生变化的情况下发送的;
S42,清空扫描节点的所有任务。
当主控节点检测到扫描节点达到预定条件,例如扫描节点发生卡顿,其具体可以为在预设时间段内(例如半小时之内)扫描节点的负载量(例如,CPU负载量、网络负载量、任务负载量)未发生变化,主控节点则可以重置该扫描节点,如向扫描节点发送重置激活信息,扫描节点在接收到该重置激活信息之后,则清空自身所有的当前扫描任务。同样地,重置激活信息可以为一个标识。
需要说明的是,本申请中提到的心跳请求,除了作为监控扫描节点的工作状态的手段之外,还起着控制扫描节点的作用:心跳请求的返回数据会携带着功能激活标识,扫描节点会依据标识,启动相应的功能;不通过主动下发命令,就可以起到主动控制扫描节点的效果。此外,主控节点可以根据扫描节点返回的负载量,动态调整不同扫描节点上的任务,实现自适应的负载均衡控制。
一种可选方案中,结合图8,对本发明上述扫描节点的控制方法进行描述:
步骤A,扫描节点向主控节点发送心跳请求。
其中,心跳请求是指扫描节点每隔一段固定的时间(相对较短的时间)向主控节点发送一次请求,心跳请求中可以包括扫描节点的负载量。扫描节点的负载量可以包括以下一种或几种:CPU负载量、网络负载量以及任务负载量。其中,任务负载量可以包括扫描节点共有多少个扫描任务、扫描节点正在执行多少个扫描任务、有多少个扫描任务在任务队列中、哪些任务已经执行等。其中,CPU负载量可以是指在一端时间内正在使用和等待使用CPU的平均任务数。
可选地,心跳请求中还可以包括扫描节点的配置信息,该扫描节点的配置信息中可以包括扫描节点的扫描速度以及并行处理能力等。主控节点可以根据扫描节点的配置信息获知扫描节点的情况。
步骤B,扫描节点检测主控节点是否有返回。
若是,执行步骤C,若否,返回步骤A。
其中,主控节点在接收到心跳请求之后,主控节点可以根据获取到的扫描节点对应的CPU负载阈值、网络负载阈值以及任务负载阈值判断是否向扫描节点下发第一任务。扫描节点检测主控节点是否有返回。
步骤C,扫描节点处理返回的数据。
其中,当扫描节点接收到主控节点返回的数据(即上述的第一任务)后,可以对返回的数据进行处理,第一任务可以是配置新的扫描任务、回收未处理的扫描任务或反馈扫描结果等。
步骤D,扫描节点判断返回的数据中是否有激活标识。
若是,执行步骤E,若否,返回步骤A。
其中,扫描任务可以包括端口扫描和协议扫描,端口扫描,就是对特定的机器的特定端口,发送链接请求数据包,然后根据是否返回回应包,或者返回的回应包的情况,判断端口是否开放;协议扫描,虽然通常通讯协议有约定俗成的对应端口,但并没强制规定,所以对于一个端口上开放的是什么协议,不能武断根据约定下判断,需要根据具体返回的数据包,分析数据来推断端口上应用的协议,这就是协议扫描。
步骤E,执行激活标识对应的功能。
其中,扫描节点可以根据激活标识执行对应的功能,例如配置新的扫描任务、回收未处理的扫描任务或反馈扫描结果等。
由此可知,现有技术存在的在主控节点主动分配扫描任务,扫描节点增多时,主控节点工作负荷量大扩展性较低的问题,本发明提出一种基于扫描节点主动请求扫描任务的方法,从而使主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在计算机终端上运行。
图9是根据本申请实施例的主控节点的结构示意图。
如图9所示,该主控节点可以包括第一接收单元902、第一获取单元904、判断单元906以及任务下发单元908。
其中,第一接收单元902,用于接收扫描节点生成的心跳请求,所述心跳请求包括所述扫描节点的负载量;第一获取单元904,用于根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,其中,由主控节点预先设定所述扫描节点对应的负载阈值;判断单元906,用于判断所述扫描节点的负载量是否小于所述对应的负载阈值;任务下发单元908,用于当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务。
由上可知,本申请上述实施例三所提供的方案,通过扫描节点主动上报扫描节点的负载量,主控节点通过扫描节点的负载量,确定是否向扫描节点下发第一任务,达到了在扫描节点增多时,主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果,进而解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
此处需要说明的是,上述第一接收单元902、第一获取单元904、判断单元906以及任务下发单元908对应于实施例一中的步骤S202至步骤S208,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述负载量包括CPU负载量、网络负载量以及任务负载量;其中,所述第一获取单元904用于执行以下任意一个或多个步骤根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值:根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;根据所述网络负载量获取所述扫描节点对应的网络负载阈值;根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
可选地,所述判断单元906用于执行以下任意一个或多个步骤判断所述扫描节点的负载量是否小于所述对应的负载阈值:判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
可选地,所述任务下发单元908用于执行以下步骤当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务:当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,向所述扫描节点下发所述第一任务。
可选地,如图10所示,在所述第一任务为配置新的扫描任务的情况下,其中,所述任务下发单元908包括:第一发送模块1002、第一接收模块1004以及第二发送模块1006。
其中,第一发送模块1002,用于向所述扫描节点发送任务配置激活信息;第一接收模块1004,用于接收所述扫描节点生成的对应于所述任务配置激活信息的任务配置请求信息;第二发送模块1006,用于向所述扫描节点发送对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置,以便所述扫描节点执行所述新的扫描任务或将所述新的扫描任务加入所述扫描节点的任务队列。
此处需要说明的是,上述第一发送模块1002、第一接收模块1004以及第二发送模块1006对应于实施例一中的步骤S302至步骤S306,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图11所示,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;其中,所述任务下发单元908包括:第四发送模块1102和第二接收模块1104。
其中,第四发送模块1102,用于向所述扫描节点发送任务结果激活信息;第二接收模块1104,用于接收所述扫描节点生成的对应于已执行任务的扫描结果。
此处需要说明的是,上述第四发送模块1102和第二接收模块1104对应于实施例一中的步骤S402至步骤S404,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图12所示,当所述扫描节点的负载量大于等于所述对应的负载阈值时,所述任务下发单元908包括:确定模块1202和第三发送模块1204。
其中,确定模块1202,用于根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务;第三发送模块1204,用于向所述扫描节点发送任务回收信息,所述任务回收信息包括所述待回收的扫描任务的标识,以便所述扫描节点根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
此处需要说明的是,上述确定模块1202和第三发送模块1204对应于实施例一中的步骤S502至步骤S504,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图13所示,所述心跳请求还包括预先设置的密钥;其中,所述主控节点还包括:提取单元1302和验证单元1304。
其中,提取单元1302,用于提取所述预先设置的密钥;验证单元1304,用于对所述预先设置的密钥进行验证;其中,所述第一获取单元904用于执行以下步骤根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值:在验证通过的情况下,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值。
此处需要说明的是,上述提取单元1302和验证单元1304对应于实施例一中的步骤S20至步骤S22,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图14所示,主控节点还包括:第一发送单元1402。
其中,第一发送单元1402,用于若检测到在预设时间段内所述扫描节点的负载量未发生变化,向所述扫描节点发送重置激活信息,以便所述扫描节点清空所述扫描节点的所有任务。
由此可知,现有技术存在的在主控节点主动分配扫描任务,扫描节点增多时,主控节点工作负荷量大扩展性较低的问题,本发明提出一种基于扫描节点主动请求扫描任务的方法,从而使主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果。
实施例4
根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在计算机终端上运行。
图15是根据本申请实施例的扫描节点的结构示意图。
如图15所示,该扫描节点可以包括负载监控单元1502、第二发送单元1504、第二接收单元1506以及任务调度单元1508。
其中,负载监控单元1502,用于获取扫描节点的负载量;第二发送单元1504,用于向主控节点发送心跳请求,所述心跳请求包括所述扫描节点的负载量;第二接收单元1506,用于接收所述主控节点发送的第一任务,所述第一任务由所述主控节点根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值后,所述主控节点判断所述扫描节点的负载量是否小于所述对应的负载阈值,当所述扫描节点的负载量小于所述对应的负载阈值时,所述主控节点向所述扫描节点下发所述第一任务,其中,由所述主控节点预先设定所述扫描节点对应的负载阈值;任务调度单元1508,用于执行所述第一任务。
由上可知,本申请上述实施例四所提供的方案,通过扫描节点主动上报扫描节点的负载量,主控节点通过扫描节点的负载量,确定是否向扫描节点下发第一任务,达到了在扫描节点增多时,主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果,进而解决了由于现有技术主控节点主动分配扫描任务,导致的在扫描节点增多时,主控节点工作负荷量大扩展性较低的技术问题。
此处需要说明的是,上述负载监控单元1502、第二发送单元1504、第二接收单元1506以及任务调度单元1508对应于实施例二中的步骤S602至步骤S608,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图16所示,在所述第一任务为配置新的扫描任务的情况下,其中,所述第二接收单元1504包括:第三接收模块1602、生成模块1604、第五发送模块1606、第四接收模块1608。
其中,第三接收模块1602,用于接收所述主控节点发送的任务配置激活信息;生成模块1604,用于生成对应于所述任务配置激活信息的任务配置请求信息;第五发送模块1606,用于向所述主控节点发送所述任务配置请求信息;第四接收模块1608,用于接收所述主控节点发送的对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置。
此处需要说明的是,上述第三接收模块1602、生成模块1604、第五发送模块1606、第四接收模块1608对应于实施例二中的步骤S702至步骤S708,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述任务调度单元1508用于执行以下步骤执行所述第一任务:将所述新的扫描任务加入所述扫描节点的任务队列。
可选地,如图17所示,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;其中,所述第二接收单元1506包括:第五接收模块1702和第六发送模块1704。
其中,第五接收模块1702,用于接收所述主控节点发送的任务结果激活信息;第六发送模块1704,用于向所述主控节点发送对应于已执行任务的扫描结果。
可选地,如图18所示,当所述扫描节点的负载量大于等于所述对应的负载阈值时,扫描节点还包括:第三接收单元1802。
其中,第三接收单元1802,用于接收所述主控节点发送的任务回收信息,所述任务回收信息由所述主控节点根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务后生成的,所述任务回收信息包括所述待回收的扫描任务的标识。
此处需要说明的是,上述第三接收单元1802对应于实施例二中的步骤S30,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述任务调度单元1508用于执行以下步骤执行所述第一任务:根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
可选地,如图19所示,扫描节点还包括:第四接收单元1902和处理单元1904。
其中,第四接收单元1902,接收所述主控节点发送的重置激活信息,所述重置激活信息为在所述主控节点检测到在预设时间段内所述扫描节点的负载量未发生变化的情况下发送的;处理单元1904,用于清空所述扫描节点的所有任务。
此处需要说明的是,上述第四接收单元1902和处理单元1904对应于实施例二中的步骤S40至步骤S42,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
由此可知,现有技术存在的在主控节点主动分配扫描任务,扫描节点增多时,主控节点工作负荷量大扩展性较低的问题,本发明提出一种基于扫描节点主动请求扫描任务的方法,从而使主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果。
实施例5
根据本发明实施例,还提供了一种扫描节点的控制系统,图20是根据本发明实施例的一种扫描节点的控制系统的结构示意图。
该系统包括:具有上述任意特征的主控节点200,以及与主控节点200连接的具有上述任意特征的扫描节点202。
本发明实施例中,主控节点通过NAT(Network Address Translation,网络地址转换),LVS(Linux Virtual Server,Linux虚拟服务器),域名解析等方法将扫描节点的请求分配到不同的主控节点上,主控节点可以随时通过添加节点进行性能的扩容;主控节点链接存储,保存不同扫描节点的相关信息,以及任务记录、任务结果;扫描节点在不同的网络环境中,相互之间完全对等,主控节点可以随时通过添加节点进行性能的扩容。根据业务上的需要,可以对不同的节点在主控节点进行逻辑上的划分,对不同的分组实行不同的扫描任务和策略,而且分组后并不会失去原本的高扩展性,组内同样具备随时性能扩容的能力。
这样,在对于不同的业务需求,整个系统具备高复用性,和灵活性。通过主控节点的简单的配置就可实现不同的扫描需要,提高了系统的可运维性;本发明实施例的方案,保存每个任务的扫描配置和对应扫描结果,并不对扫描结果做其他特殊处理。不同的业务的需求可以通过定制自己的处理脚本,对结果进行各自的处理,如合并分析结果等。这个属于对上层业务需求的可扩展式的处理。
本发明实施例提供的扫描节点的控制系统具有如下优点:
(1)高扩展能力
扫描节点之间,控制节点之间是完全对等的节点,扫描端,控制端都具有水平扩展的特性,而扩展并不会带来其他额外的影响。
(2)任务的自适应负载均衡
任务在扫描节点间实现持续的负载均衡,在整个系统的运行过程中,负载过高的扫描节点的部分任务会自动转移到,负载相对低的节点上执行,实现资源的最大化利用,进一步提升整个系统的效率。
由此可知,现有技术存在的在主控节点主动分配扫描任务,扫描节点增多时,主控节点工作负荷量大扩展性较低的问题,本发明提出一种基于扫描节点主动请求扫描任务的方法,从而使主控节点无需轮询对各个扫描节点进行检测,减轻主控节点负荷量的目的,从而实现了扩展性较高,负载均衡的技术效果。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的扫描节点的控制方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收扫描节点生成的心跳请求,所述心跳请求包括所述扫描节点的负载量;根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,其中,由主控节点预先设定所述扫描节点对应的负载阈值;判断所述扫描节点的负载量是否小于所述对应的负载阈值;当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;根据所述网络负载量获取所述扫描节点对应的网络负载阈值;根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,向所述扫描节点下发所述第一任务。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在所述第一任务为配置新的扫描任务的情况下,向所述扫描节点发送任务配置激活信息;接收所述扫描节点生成的对应于所述任务配置激活信息的任务配置请求信息;向所述扫描节点发送对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置,以便所述扫描节点执行所述新的扫描任务或将所述新的扫描任务加入所述扫描节点的任务队列。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在所述第一任务为反馈扫描结果的情况下,向所述扫描节点发送任务结果激活信息;接收所述扫描节点生成的对应于已执行任务的扫描结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当所述扫描节点的负载量大于等于所述对应的负载阈值时,根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务;向所述扫描节点发送任务回收信息,所述任务回收信息包括所述待回收的扫描任务的标识,以便所述扫描节点根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在接收扫描节点生成的心跳请求之后,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值之前,提取所述预先设置的密钥;对所述预先设置的密钥进行验证。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在验证通过的情况下,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:若检测到在预设时间段内所述扫描节点的负载量未发生变化,向所述扫描节点发送重置激活信息,以便所述扫描节点清空所述扫描节点的所有任务。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例二所提供的扫描节点的控制方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取扫描节点的负载量;向主控节点发送心跳请求,所述心跳请求包括所述扫描节点的负载量;接收所述主控节点发送的第一任务,所述第一任务由所述主控节点根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值后,所述主控节点判断所述扫描节点的负载量是否小于所述对应的负载阈值,当所述扫描节点的负载量小于所述对应的负载阈值时,所述主控节点向所述扫描节点下发所述第一任务,其中,由所述主控节点预先设定所述扫描节点对应的负载阈值;执行所述第一任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:所述主控节点根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;所述主控节点根据所述网络负载量获取所述扫描节点对应的网络负载阈值;所述主控节点根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:所述主控节点判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;所述主控节点判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;所述主控节点判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,所述主控节点向所述扫描节点下发所述第一任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在所述第一任务为配置新的扫描任务的情况下,接收所述主控节点发送的任务配置激活信息;生成对应于所述任务配置激活信息的任务配置请求信息;向所述主控节点发送所述任务配置请求信息;接收所述主控节点发送的对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将所述新的扫描任务加入所述扫描节点的任务队列。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在所述第一任务为反馈扫描结果的情况下,接收所述主控节点发送的任务结果激活信息;向所述主控节点发送对应于已执行任务的扫描结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当所述扫描节点的负载量大于等于所述对应的负载阈值时,接收所述主控节点发送的任务回收信息,所述任务回收信息由所述主控节点根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务后生成的,所述任务回收信息包括所述待回收的扫描任务的标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收所述主控节点发送的重置激活信息,所述重置激活信息为在所述主控节点检测到在预设时间段内所述扫描节点的负载量未发生变化的情况下发送的;清空所述扫描节点的所有任务。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的订单信息的处理装置,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (33)
1.一种扫描节点的控制方法,其特征在于,包括:
接收扫描节点生成的心跳请求,所述心跳请求包括所述扫描节点的负载量;
根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,其中,由主控节点预先设定所述扫描节点对应的负载阈值;
判断所述扫描节点的负载量是否小于所述对应的负载阈值;
当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发第一任务;
其中,在所述第一任务为配置新的扫描任务的情况下,其中,向所述扫描节点下发所述第一任务包括:向所述扫描节点发送任务配置激活信息;接收所述扫描节点生成的对应于所述任务配置激活信息的任务配置请求信息;向所述扫描节点发送对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置,以便所述扫描节点执行所述新的扫描任务或将所述新的扫描任务加入所述扫描节点的任务队列。
2.根据权利要求1所述的方法,其特征在于,所述负载量包括CPU负载量、网络负载量以及任务负载量;
其中,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,包括如下任意一种或多种方案:
根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;
根据所述网络负载量获取所述扫描节点对应的网络负载阈值;
根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
3.根据权利要求2所述的方法,其特征在于,判断所述扫描节点的负载量是否小于所述对应的负载阈值,包括如下任意一种或多种方案:
判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;
判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;
判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
4.根据权利要求3所述的方法,其特征在于,当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务,包括:
当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,向所述扫描节点下发所述第一任务。
5.根据权利要求2所述的方法,其特征在于,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;
其中,向所述扫描节点下发所述第一任务包括:
向所述扫描节点发送任务结果激活信息;
接收所述扫描节点生成的对应于已执行任务的扫描结果。
6.根据权利要求2所述的方法,其特征在于,当所述扫描节点的负载量大于等于所述对应的负载阈值时,所述方法还包括:
根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务;
向所述扫描节点发送任务回收信息,所述任务回收信息包括所述待回收的扫描任务的标识,以便所述扫描节点根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
7.根据权利要求1所述的方法,其特征在于,所述心跳请求还包括预先设置的密钥;
其中,在接收扫描节点生成的心跳请求之后,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值之前,所述方法还包括:
提取所述预先设置的密钥;
对所述预先设置的密钥进行验证;
其中,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,包括:
在验证通过的情况下,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值。
8.根据权利要求1所述的方法,其特征在于,若检测到在预设时间段内所述扫描节点的负载量未发生变化,所述方法还包括:
向所述扫描节点发送重置激活信息,以便所述扫描节点清空所述扫描节点的所有任务。
9.一种扫描节点的控制方法,其特征在于,包括:
获取扫描节点的负载量;
向主控节点发送心跳请求,所述心跳请求包括所述扫描节点的负载量;
接收所述主控节点发送的第一任务,所述第一任务由所述主控节点根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值后,所述主控节点判断所述扫描节点的负载量是否小于所述对应的负载阈值,当所述扫描节点的负载量小于所述对应的负载阈值时,所述主控节点向所述扫描节点下发所述第一任务,其中,由所述主控节点预先设定所述扫描节点对应的负载阈值;
执行所述第一任务;
其中,在所述第一任务为配置新的扫描任务的情况下,其中,接收所述主控节点发送的第一任务包括:接收所述主控节点发送的任务配置激活信息;生成对应于所述任务配置激活信息的任务配置请求信息;向所述主控节点发送所述任务配置请求信息;接收所述主控节点发送的对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置。
10.根据权利要求9所述的方法,其特征在于,所述负载量包括CPU负载量、网络负载量以及任务负载量;
其中,所述主控节点根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,包括如下任意一种或多种方案:
所述主控节点根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;
所述主控节点根据所述网络负载量获取所述扫描节点对应的网络负载阈值;
所述主控节点根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
11.根据权利要求10所述的方法,其特征在于,所述主控节点判断所述扫描节点的负载量是否小于所述对应的负载阈值,包括如下任意一种或多种方案:
所述主控节点判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;
所述主控节点判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;
所述主控节点判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
12.根据权利要求11所述的方法,其特征在于,当所述扫描节点的负载量小于所述对应的负载阈值时,所述主控节点向所述扫描节点下发所述第一任务,包括:
当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,所述主控节点向所述扫描节点下发所述第一任务。
13.根据权利要求9所述的方法,其特征在于,所述执行所述第一任务包括:
将所述新的扫描任务加入所述扫描节点的任务队列。
14.根据权利要求10所述的方法,其特征在于,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;
其中,接收所述主控节点发送的第一任务包括:
接收所述主控节点发送的任务结果激活信息;
向所述主控节点发送对应于已执行任务的扫描结果。
15.根据权利要求10所述的方法,其特征在于,当所述扫描节点的负载量大于等于所述对应的负载阈值时,所述方法还包括:
接收所述主控节点发送的任务回收信息,所述任务回收信息由所述主控节点根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务后生成的,所述任务回收信息包括所述待回收的扫描任务的标识。
16.根据权利要求15所述的方法,其特征在于,所述执行所述第一任务包括:
根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
17.根据权利要求9所述的方法,其特征在于,所述心跳请求还包括预先设置的密钥。
18.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述主控节点发送的重置激活信息,所述重置激活信息为在所述主控节点检测到在预设时间段内所述扫描节点的负载量未发生变化的情况下发送的;
清空所述扫描节点的所有任务。
19.一种主控节点,其特征在于,包括:
第一接收单元,用于接收扫描节点生成的心跳请求,所述心跳请求包括所述扫描节点的负载量;
第一获取单元,用于根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值,其中,由主控节点预先设定所述扫描节点对应的负载阈值;
判断单元,用于判断所述扫描节点的负载量是否小于所述对应的负载阈值;
任务下发单元,用于当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发第一任务;
在所述第一任务为配置新的扫描任务的情况下,其中,所述任务下发单元包括:第一发送模块,用于向所述扫描节点发送任务配置激活信息;第一接收模块,用于接收所述扫描节点生成的对应于所述任务配置激活信息的任务配置请求信息;第二发送模块,用于向所述扫描节点发送对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置,以便所述扫描节点执行所述新的扫描任务或将所述新的扫描任务加入所述扫描节点的任务队列。
20.根据权利要求19所述的主控节点,其特征在于,所述负载量包括CPU负载量、网络负载量以及任务负载量;
其中,所述第一获取单元用于执行以下任意一个或多个步骤根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值:
根据所述CPU负载量获取所述扫描节点对应的CPU负载阈值;
根据所述网络负载量获取所述扫描节点对应的网络负载阈值;
根据所述任务负载量获取所述扫描节点对应的任务负载阈值。
21.根据权利要求20所述的主控节点,其特征在于,所述判断单元用于执行以下任意一个或多个步骤判断所述扫描节点的负载量是否小于所述对应的负载阈值:
判断所述扫描节点的CPU负载量是否小于所述对应的CPU负载阈值;
判断所述扫描节点的网络负载量是否小于所述对应的网络负载阈值;
判断所述扫描节点的任务负载量是否小于所述对应的任务负载阈值。
22.根据权利要求21所述的主控节点,其特征在于,所述任务下发单元用于执行以下步骤当所述扫描节点的负载量小于所述对应的负载阈值时,向所述扫描节点下发所述第一任务:
当所述扫描节点的CPU负载量小于所述对应的CPU负载阈值,且所述扫描节点的网络负载量小于所述对应的网络负载阈值,且所述扫描节点的任务负载量小于所述对应的任务负载阈值时,向所述扫描节点下发所述第一任务。
23.根据权利要求20所述的主控节点,其特征在于,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;
其中,所述任务下发单元包括:
第四发送模块,用于向所述扫描节点发送任务结果激活信息;
第二接收模块,用于接收所述扫描节点生成的对应于已执行任务的扫描结果。
24.根据权利要求20所述的主控节点,其特征在于,当所述扫描节点的负载量大于等于所述对应的负载阈值时,所述任务下发单元包括:
确定模块,用于根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务;
第三发送模块,用于向所述扫描节点发送任务回收信息,所述任务回收信息包括所述待回收的扫描任务的标识,以便所述扫描节点根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
25.根据权利要求19所述的主控节点,其特征在于,所述心跳请求还包括预先设置的密钥;
其中,所述主控节点还包括:
提取单元,用于提取所述预先设置的密钥;
验证单元,用于对所述预先设置的密钥进行验证;
其中,所述第一获取单元用于执行以下步骤根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值:
在验证通过的情况下,根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值。
26.根据权利要求19所述的主控节点,其特征在于,还包括:
第一发送单元,用于若检测到在预设时间段内所述扫描节点的负载量未发生变化,向所述扫描节点发送重置激活信息,以便所述扫描节点清空所述扫描节点的所有任务。
27.一种扫描节点,其特征在于,包括:
负载监控单元,用于获取扫描节点的负载量;
第二发送单元,用于向主控节点发送心跳请求,所述心跳请求包括所述扫描节点的负载量;
第二接收单元,用于接收所述主控节点发送的第一任务,所述第一任务由所述主控节点根据所述扫描节点的负载量获取所述扫描节点对应的负载阈值后,所述主控节点判断所述扫描节点的负载量是否小于所述对应的负载阈值,当所述扫描节点的负载量小于所述对应的负载阈值时,所述主控节点向所述扫描节点下发所述第一任务,其中,由所述主控节点预先设定所述扫描节点对应的负载阈值;
任务调度单元,用于执行所述第一任务;
在所述第一任务为配置新的扫描任务的情况下,其中,所述第二接收单元包括:第三接收模块,用于接收所述主控节点发送的任务配置激活信息;生成模块,用于生成对应于所述任务配置激活信息的任务配置请求信息;第五发送模块,用于向所述主控节点发送所述任务配置请求信息;第四接收模块,用于接收所述主控节点发送的对应于所述任务配置请求信息的任务配置信息,所述任务配置信息包括所述新的扫描任务的配置。
28.根据权利要求27所述的扫描节点,其特征在于,所述任务调度单元用于执行以下步骤执行所述第一任务:
将所述新的扫描任务加入所述扫描节点的任务队列。
29.根据权利要求27所述的扫描节点,其特征在于,在所述第一任务为反馈扫描结果的情况下,所述任务负载量包括已执行任务的标识;
其中,所述第二接收单元包括:
第五接收模块,用于接收所述主控节点发送的任务结果激活信息;
第六发送模块,用于向所述主控节点发送对应于已执行任务的扫描结果。
30.根据权利要求27所述的扫描节点,其特征在于,当所述扫描节点的负载量大于等于所述对应的负载阈值时,还包括:
第三接收单元,用于接收所述主控节点发送的任务回收信息,所述任务回收信息由所述主控节点根据所述任务负载量中包含的待执行任务的标识,确定待回收的扫描任务后生成的,所述任务回收信息包括所述待回收的扫描任务的标识。
31.根据权利要求30所述的扫描节点,其特征在于,所述任务调度单元用于执行以下步骤执行所述第一任务:
根据所述待回收的扫描任务的标识删除所述扫描节点的任务队列中对应的所述待回收的扫描任务。
32.根据权利要求27所述的扫描节点,其特征在于,还包括:
第四接收单元,接收所述主控节点发送的重置激活信息,所述重置激活信息为在所述主控节点检测到在预设时间段内所述扫描节点的负载量未发生变化的情况下发送的;
处理单元,用于清空所述扫描节点的所有任务。
33.一种扫描节点的控制系统,其特征在于,包括如权利要求19至26中任意一项所述的主控节点,以及与所述主控节点连接的如权利要求27至32中任意一项所述的扫描节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112641.0A CN106034040B (zh) | 2015-03-13 | 2015-03-13 | 扫描节点的控制方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112641.0A CN106034040B (zh) | 2015-03-13 | 2015-03-13 | 扫描节点的控制方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106034040A CN106034040A (zh) | 2016-10-19 |
CN106034040B true CN106034040B (zh) | 2019-07-02 |
Family
ID=57151180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510112641.0A Active CN106034040B (zh) | 2015-03-13 | 2015-03-13 | 扫描节点的控制方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106034040B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817362A (zh) * | 2016-12-08 | 2017-06-09 | 西安交大捷普网络科技有限公司 | 一种基于分布式集群部署下的ip分发调度实现方法 |
CN108762909B (zh) * | 2018-06-01 | 2020-12-25 | 南方电网科学研究院有限责任公司 | 电力网络的短路电流扫描系统和方法 |
CN111355751A (zh) * | 2018-12-20 | 2020-06-30 | 普天信息技术有限公司 | 任务调度方法及装置 |
CN114462900B (zh) * | 2022-04-13 | 2022-07-29 | 云智慧(北京)科技有限公司 | 一种业务活动节点的拆分方法、装置及设备 |
CN116502225B (zh) * | 2023-06-20 | 2023-09-19 | 杭州海康威视数字技术股份有限公司 | 自适应分组冗余编排的病毒扫描方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119359A (zh) * | 2006-08-01 | 2008-02-06 | 中兴通讯股份有限公司 | 基于策略的服务负载均衡方法 |
CN101304366A (zh) * | 2007-05-08 | 2008-11-12 | 华为技术有限公司 | 一种分组网络中实现负载均衡的方法、装置和系统 |
CN102158387A (zh) * | 2010-02-12 | 2011-08-17 | 华东电网有限公司 | 基于动态负载均衡与互相热备的保护故障信息处理系统 |
CN103220354A (zh) * | 2013-04-18 | 2013-07-24 | 广东宜通世纪科技股份有限公司 | 一种实现服务器集群负载均衡的方法 |
CN103699443A (zh) * | 2013-12-16 | 2014-04-02 | 北京神州绿盟信息安全科技股份有限公司 | 任务分发方法及扫描器 |
-
2015
- 2015-03-13 CN CN201510112641.0A patent/CN106034040B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119359A (zh) * | 2006-08-01 | 2008-02-06 | 中兴通讯股份有限公司 | 基于策略的服务负载均衡方法 |
CN101304366A (zh) * | 2007-05-08 | 2008-11-12 | 华为技术有限公司 | 一种分组网络中实现负载均衡的方法、装置和系统 |
CN102158387A (zh) * | 2010-02-12 | 2011-08-17 | 华东电网有限公司 | 基于动态负载均衡与互相热备的保护故障信息处理系统 |
CN103220354A (zh) * | 2013-04-18 | 2013-07-24 | 广东宜通世纪科技股份有限公司 | 一种实现服务器集群负载均衡的方法 |
CN103699443A (zh) * | 2013-12-16 | 2014-04-02 | 北京神州绿盟信息安全科技股份有限公司 | 任务分发方法及扫描器 |
Also Published As
Publication number | Publication date |
---|---|
CN106034040A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106034040B (zh) | 扫描节点的控制方法、装置及系统 | |
CN111083722B (zh) | 模型的推送、模型的请求方法及装置、存储介质 | |
CN106301829B (zh) | 一种网络业务扩容的方法和装置 | |
CN109829308A (zh) | 控制策略的管理方法及装置、存储介质、电子装置 | |
CN104978261B (zh) | 应用程序的测试方法、装置及系统 | |
CN103414535B (zh) | 数据发送方法和数据接收方法及相关装置 | |
CN102395144B (zh) | 无线接入点升级方法、系统及设备 | |
CN108282489A (zh) | 一种漏洞扫描方法、服务端及系统 | |
CN105930191B (zh) | 系统服务的重载方法及装置 | |
CN105915650B (zh) | 负载均衡方法和装置 | |
CN108777640B (zh) | 一种服务器探测方法、装置、系统及存储介质 | |
CN114039858B (zh) | 一种算网资源融合方法、装置、设备及存储介质 | |
CN113127192B (zh) | 一种多个服务共享同一个gpu的方法、系统、设备及介质 | |
CN103716356B (zh) | 基于web的存储过程操作方法、装置和系统 | |
CN105812248A (zh) | 标识取值的分配方法和装置 | |
CN105722089B (zh) | 一种设备认证方法 | |
CN110213121A (zh) | 虚拟通信产品的测试平台、测试方法和测试装置 | |
CN108702316A (zh) | 一种vnf的资源分配方法及装置 | |
CN110380925B (zh) | 一种网络设备探测中端口选择方法及系统 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN109189400A (zh) | 程序发布方法及装置、存储介质、处理器 | |
CN109240796A (zh) | 虚拟机信息获取方法及装置 | |
CN106713420A (zh) | 监控的部署方法及装置 | |
CN106991095A (zh) | 机器异常的处理方法、学习速率的调整方法及装置 | |
CN113867782A (zh) | 灰度发布方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |