CN103870334B - 一种大规模漏洞扫描的任务分配方法及装置 - Google Patents
一种大规模漏洞扫描的任务分配方法及装置 Download PDFInfo
- Publication number
- CN103870334B CN103870334B CN201210552125.6A CN201210552125A CN103870334B CN 103870334 B CN103870334 B CN 103870334B CN 201210552125 A CN201210552125 A CN 201210552125A CN 103870334 B CN103870334 B CN 103870334B
- Authority
- CN
- China
- Prior art keywords
- task
- dummy node
- unit
- subtask
- dummy
- 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
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种大规模漏洞扫描的任务分配方法及装置,所述方法包括:接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务;根据划分获得的子任务个数确定虚拟节点的个数;依次将每个子任务对应的目标主机平均分配到每个虚拟节点。本发明技术方案提高了扫描任务分配的合理性以及漏洞扫描效率。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种大规模漏洞扫描的任务分配方法及装置。
背景技术
云计算是一种能够提供动态资源池、虚拟化和高可用性的下一代计算平台的核心技术。云计算所提供的服务面向数量庞大的用户群,系统每时每刻都要处理海量的任务,因此,资源分配的效率对云计算平台的系统综合性能影响很大,资源分配和任务调度是云计算中的重点与难点。
随着网络技术的日益发展,网络安全问题成为一个关注的热点,针对这一问题采取的大规模漏洞扫描,即是一种云计算的典型应用。其中,进行漏洞扫描的虚拟节点构成了云计算的资源池,扫描任务对应于云计算的计算任务。众所周知的,在以分布式的并行方式进行漏洞扫描的过程中,一个并行程序执行的时间取决于最后一个任务的完成时间,因此,为了提高漏洞扫描的效率,需要尽量使每个虚拟节点达到负载均衡,即在不考虑节点间差异性的前提下,使各个虚拟节点的任务量大致相等。
目前的任务分配方法大多要基于检测人员进行,当获得一个扫描任务后,首先检测人员根据经验确定执行扫描任务需要的节点数,然后再将扫描任务中包括的目标主机平均分配到每个节点上。例如,扫描任务为使用若干插件在2小时内对220台目标主机进行漏洞扫描,检测人员确定的虚拟节点数为4个,则分配到每个节点的任务量为220/4。这种分配方法就存在以下问题:
1.执行扫描任务的虚拟节点数直接受检测人员的经验影响,这一方面对检测人员的专业性要求较高,另一方面由检测人员主观判断确定的节点数目的准确性也较低;
2.虽然分配到每个节点上的目标主机数目相同,但是针对每台主机进行漏洞扫描所需的时间也不尽相同,致使这种任务分配方法的合理性较差;
3.进行任务分配时未考虑漏洞间存在的关联关系,每个节点只有将扫描任务中所有的插件都加载完成之后,才能进行漏洞扫描,致使节点执行扫描任务缓慢,降低了漏洞扫描效率。
发明内容
本发明实施例的大规模漏洞扫描的任务分配方法及装置,提高了扫描任务分配的合理性以及漏洞扫描效率。
为此,本发明实施例提供如下技术方案:
一种大规模漏洞扫描的任务分配方法,所述方法包括:
接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;
根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务;
根据划分获得的子任务个数确定虚拟节点的个数;
依次将每个子任务对应的目标主机平均分配到每个虚拟节点。
优选的,划分所述子任务的方式为:
根据所述插件与漏洞的对应关系确定每个漏洞对应的插件;
如果至少两个漏洞对应的插件中存在至少两个相同的插件,则将所述至少两个漏洞对应的扫描任务划分为一个子任务。
优选的,确定所述虚拟节点的个数的方式为:
从预设扫描时间数据库中查找每个漏洞对应的扫描时间ti,i=1,2,…,m,m为漏洞个数;
根据所述扫描时间和目标主机个数确定所述扫描任务对应的时间t=(t1+t2+…+tm)*s,s为目标主机个数;
根据子任务处理速度和子任务个数确定虚拟节点的个数k=t/(n*v),n为子任务个数,v为子任务处理速度。
优选的,所述扫描任务中还包括扫描时间,则确定所述虚拟节点的个数的方式为:
根据所述扫描时间和目标主机个数查找预设节点性能数据库,确定扫描一个子任务需要的虚拟节点个数p,并利用所述子任务个数确定所述扫描任务需要的虚拟节点的个数k=n*p,n为子任务个数,所述预设节点性能数据库用于保存扫描时间、目标主机个数和虚拟节点个数间的关系。
优选的,所述目标主机的身份为目标主机具有的IP地址,则
所述虚拟节点为与所述IP地址在同一网段内的虚拟节点;和/或,
所述虚拟节点为与所述IP地址处于相邻网段的虚拟节点。
优选的,所述方法还包括:
在划分所述子任务之后,向所述云平台上报子任务划分结果;和/或,
在确定所述虚拟节点的个数之后,向所述云平台上报确定结果;和/或,
在平均分配所述子任务之后,向所述云平台上报分配结果。
优选的,向所述云平台上报结果的通信协议中包含表示控制者信息的字段、表示虚拟节点信息的字段、表示分配进度的字段、和表示交互信息的字段。
优选的,所述方法还包括:
接收并保存所述虚拟节点按照预设周期发送的状态信息,利用所述状态信息对所述虚拟节点执行的任务进行动态调度;所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
优选的,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果所述状态信息表示虚拟节点的任务负载过重,则
获取与该任务负载过重的虚拟节点处于同一网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点;和/或,
获取与该任务负载过重的虚拟节点处于相邻网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点。
优选的,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果所述状态信息表示全部虚拟节点的任务负载过重,则向所述云平台发送请求,以增加新的虚拟节点;
将每个虚拟节点的任务部分迁移至所述新的虚拟节点。
优选的,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果在预定时间内未接收到虚拟节点发送的状态信息,则重新分配该虚拟节点的剩余任务,并删除该虚拟节点。
一种大规模漏洞扫描的任务分配装置,所述装置包括:
接收单元,用于接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;
子任务划分单元,用于根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务;
节点数确定单元,用于根据划分获得的子任务个数确定虚拟节点的个数;
分配单元,用于依次将每个子任务对应的目标主机平均分配到每个虚拟节点。
优选的,所述子任务划分单元包括:
对应单元,用于根据所述插件与漏洞的对应关系确定每个漏洞对应的插件;
划分子单元,用于在至少两个漏洞对应的插件中存在至少两个相同的插件,将所述至少两个漏洞对应的扫描任务划分为一个子任务。
优选的,节点数确定单元包括:
第一查找单元,用于从预设扫描时间数据库中查找每个漏洞对应的扫描时间ti,i=1,2,…,m,m为漏洞个数;
时间计算单元,用于根据所述扫描时间和目标主机个数确定所述扫描任务对应的时间t=(t1+t2+…+tm)*s,s为目标主机个数;
第一确定子单元,用于根据子任务处理速度和子任务个数确定虚拟节点的个数k=t/(n*v),n为子任务个数,v为子任务处理速度。
优选的,所述接收单元接收到的所述扫描任务中还包括扫描时间,则所述节点数确定单元包括:
第二查找单元,用于根据所述扫描时间和目标主机个数查找预设节点性能数据库,确定扫描一个子任务需要的虚拟节点个数p,所述预设节点性能数据库用于保存扫描时间、目标主机个数和虚拟节点个数间的关系;
第二确定子单元,用于利用所述子任务个数确定所述扫描任务需要的虚拟节点的个数k=n*p,n为子任务个数。
优选的,所述装置还包括:
第一上报单元,用于在所述子任务划分单元划分所述子任务之后,向所述云平台上报子任务划分结果;和/或,
第二上报单元,用于在所述节点数确定单元确定所述虚拟节点的个数之后,向所述云平台上报确定结果;和/或,
第三上报单元,用于在所述分配单元平均分配所述子任务之后,向所述云平台上报分配结果。
优选的,所述装置还包括:
动态调度单元,用于接收并保存所述虚拟节点按照预设周期发送的状态信息,利用所述状态信息对所述虚拟节点执行的任务进行动态调度;所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
优选的,所述动态调度单元包括:
第一判断单元,用于根据所述状态信息判断虚拟节点的任务负载是否过重;
第一动态调度子单元,用于在虚拟节点任务负载过重时,获取与该任务负载过重的虚拟节点处于同一网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点;和/或,
获取与该任务负载过重的虚拟节点处于相邻网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点。
优选的,所述动态调度单元包括:
第二判断单元,用于根据所述状态信息判断全部虚拟节点的任务负载是否过重;
第二动态调度子单元,用于在全部虚拟节点的任务负载过重时,向所述云平台发送请求,以增加新的虚拟节点;并将每个虚拟节点的任务部分迁移至所述新的虚拟节点。
优选的,所述动态调度单元包括:
第三判断单元,用于判断是否在预定时间内未接收到虚拟节点发送的状态信息;
第三动态调度子单元,用于在未接收到虚拟节点发送的状态信息时,重新分配该虚拟节点的剩余任务,并删除该虚拟节点。
本发明实施例提供一种大规模漏洞扫描的任务分配方法及装置,对具有关联关系的漏洞进行合理粒度的拆分,形成若干子任务,然后以子任务为基本分配单元,将子任务平均分配到每个虚拟节点上。这一方面可以提高扫描任务分配的合理性,另一方面还能加快节点漏洞扫描的进度,从而整体上提高漏洞扫描的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例大规模漏洞扫描的任务分配方法实施例1的流程图;
图2是本发明实施例中步骤102划分子任务的流程图;
图3是本发明实施例大规模漏洞扫描的任务分配方法实施例3的流程图;
图4是本发明实施例大规模漏洞扫描的任务分配方法实施例1的示意图;
图5是本发明实施例中节点数确定单元第一种实现方式的示意图;
图6是本发明实施例中节点数确定单元第二种实现方式的示意图;
图7是本发明实施例大规模漏洞扫描的任务分配方法实施例2的示意图;
图8是本发明实施例大规模漏洞扫描的任务分配方法实施例3的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
为了实现扫描任务的合理分配,提高扫描效率,一般可通过静态分配和动态调度两种方式相互配合实现。对于静态分配来说,其是指在任务正式执行之前,将任务尽量合理的分配到各个虚拟节点,做到初始资源的合理分配,以使任务在执行的过程中最大程度的达到负载平衡。本发明实施例的任务分配方法即是一种任务的静态分配方式,下面对其分配过程进行解释说明。
如图1所示,示出了本发明实施例大规模漏洞扫描的任务分配方法实施例1的流程图,可包括以下步骤:
步骤101,接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系。
大规模漏洞扫描是一种基于云的应用,在需要进行漏洞扫描时,上层云平台向任务分配装置下发扫描任务,由任务分配装置按照扫描任务的指示控制虚拟节点进行漏洞扫描。
一般情况下,扫描任务可直接包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;也可以包括目标主机的身份集合和扫描策略,若要获取插件身份、插件与漏洞的对应关系首先需要解析扫描策略。本发明对扫描任务的形式不做限定,只要能使任务分配装置明确知晓其要分配的任务即可。
步骤102,根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务。
在步骤101接收到云平台下发的扫描任务之后,先进行任务分析,确定扫描任务内部存在的关联关系,并以此为依据拆分扫描任务。作为本步骤的一种实现方式,参见图2所示流程图,可包括以下步骤:
步骤201,根据所述插件与漏洞的对应关系确定每个漏洞对应的插件。
本发明实施例主要是依据插件与漏洞间的关系来拆分扫描任务,因此首先需要明确每个漏洞对应的插件(即扫描一个漏洞需要哪些插件),这主要是根据插件与漏洞的对应关系完成的。
如果扫描任务中插件与漏洞的对应关系为:插件1用于扫描漏洞1、2,插件2用于扫描漏洞1、2,插件3用于扫描漏洞1,插件4用于扫描漏洞2,插件5用于扫描漏洞3,则依据上述关系可确定每个漏洞对应的插件情况为漏洞1对应插件1、2、3,漏洞2对应插件1、2、4,漏洞3对应插件5。
当然扫描任务中也可以如下方式表示插件与漏洞的对应关系:扫描漏洞1需要插件1、2、3,扫描漏洞2需要插件1、2、4,扫描漏洞3需要插件5,这种方式下就可直接执行下述步骤。
步骤202,如果至少两个漏洞对应的插件中存在至少两个相同的插件,则将所述至少两个漏洞对应的扫描任务划分为一个子任务。
因为一些底层的插件可能同时对应于多个漏洞,因此可将这种插件重合度高(至少具有两个相同的插件)的漏洞认为是相互关联的,将这些相互关联的漏洞对应的扫描任务从总的扫描任务中划分出来,作为一个子任务,并将这些漏洞对应的插件分为一组。如果某个漏洞对应的插件与其它漏洞之间不存在重合的情况,则将该漏洞对应的扫描任务作为一个单独的子任务处理,如上例所示,最终可将漏洞1、2对应的扫描任务划分为一个子任务,其对应的插件1、2、3、4分为一组;将漏洞3对应的扫描任务划分为另一个子任务,其对应的插件5为一组。
相对于现有技术来说,这种依赖插件间关联关系的拆分方式就可提高任务的执行速度,以漏洞3的子任务为例,虚拟节点在进行漏洞扫描之前,只需加载插件5即可执行这一子任务,而现有技术因不知晓开始扫描的漏洞需要哪些插件,因此要加载全部插件之后才能开启扫描过程,致使节点执行扫描任务缓慢。
依照上述子任务划分方法,如果最终将总的扫描任务划分成了n个子任务,则对于只有一个目标主机的扫描任务来说,就是将扫描任务划分为(n*1)个子任务;而对于包含s个目标主机的扫描任务来说,根据目标主机具有的身份信息最终可将扫描任务划分为(n*s)个子任务。
步骤103,根据划分获得的子任务个数确定虚拟节点的个数。
在步骤102将扫描任务划分成合理粒度的子任务之后,即可根据子任务的个数确定本次扫描任务需要的虚拟节点个数。对此本发明实施例提供两种具体实现方式,一种是基于扫描任务所需时间与单个节点处理速度估算得到;一种是通过查找虚拟节点性能数据库得到,虚拟节点性能数据库是根据以往漏洞扫描经验构建的数据库,其主要用于反映单个虚拟节点的平均性能指标,为了保证确定节点数目的准确性,可以根据每次漏洞扫描的数据修正数据库信息。
对于上述两种具体实现方式此处暂不详述。
步骤104,依次将每个子任务对应的目标主机平均分配到每个虚拟节点。
任务分配装置确定扫描任务所需的虚拟节点数目后,向云平台发送包含有虚拟节点个数的请求,以使云平台为本次扫描任务分配虚拟节点。优选的,当目标主机的身份为目标主机的IP地址时,任务分配装置向云平台发送的请求中还可包括目标主机的IP地址,这样云平台在分配虚拟节点时,就可以优先分配资源池中存在的、与目标主机IP地址处于同一网段内的虚拟节点。如果不存在与目标主机IP地址处于相同网段的节点或者相同网段中的虚拟节点数不能满足扫描需求时,可以根据“就近原则”分配与目标主机IP地址处于相邻网段的虚拟节点。需要说明的是,所谓相邻网段可以理解为与目标主机IP地址距离“较近”的虚拟节点所处网段。这种根据IP地址分配虚拟节点的方式就能使节点与任务之间具有较好的匹配关系,另外还能有效减小云平台的开销,提高任务扫描速度。
在云平台为本次扫描任务分配虚拟节点之后,就可将步骤102中划分的(n*s)个子任务平均分配到每个虚拟节点上。为了保证任务分配的合理性,本发明实施例将子任务作为基本分配单元,将基于同一组插件而IP地址不相同的s个子任务(对于包含s个目标主机的扫描任务来说,基于同一组插件可划分出s个子任务)视为一组,将其平均分配到虚拟节点上,每个节点获得的任务量为(s/k)。对于n个子任务来说需要按照上述方法分配n次。
优选的,在按照上述方式分配子任务时,还可兼顾考虑目标主机IP地址与虚拟节点处于相同或相邻网段的分配方式,不仅要尽量使每个虚拟节点分配的任务量大致相等,还要尽量减小执行扫描任务的开销。
相对于现有技术,本发明实施例要根据插件与漏洞间的关联关系对扫描任务进行合理粒度的拆分,然后再分别将这些具有关联关系的子任务平均分配到每个虚拟节点上,这样虚拟节点在执行扫描任务时只需要加载当前漏洞对应的插件即可,不必如现有技术必须将所有插件加载完成之后才可以开启扫描任务。对于扫描其它漏洞所需的插件,节点在任务执行过程中完成加载即可,这就可加快节点漏洞扫描的进度,提高扫描效率。
另外,本发明实施例在分配任务时将子任务作为基本分配单元,就可显著降低因目标主机个体性差异导致的任务分配不合理的情况,与现有技术中以目标主机为基本分配单元的方式相比,本发明实施例还使任务分配更趋于合理化,在使虚拟节点负载尽量平衡的情况下,就能提高整体的漏洞扫描效率。
下面对步骤103中确定虚拟节点个数的方式进行简单说明。
方式一,基于扫描任务所需时间与单个节点处理速度估算节点个数。
构建扫描时间数据库,该数据库根据记忆值维护了每个漏洞扫描需要的时间,例如扫描漏洞i需要的时间为ti,则对于存在m个漏洞的一台目标主机来说,总的扫描时间为(t1+t2+…+tm),对于包含s台目标主机的扫描任务来说,该任务对应的总的扫描时间为t=(t1+t2+…+tm)*s。
如果虚拟节点执行一个子任务的速度为v,且每个子任务的任务量大致相等,则k个虚拟节点执行扫描任务(包含n个子任务)所需的时间为t=k*v*n,由此可推算得到虚拟节点数目k=t/(n*v)。
方式二,通过查找虚拟节点性能数据库确定节点个数。
一般情况下,在云平台下发扫描任务的同时,还会将本次扫描任务对应的扫描时间一起下发给任务分配装置,即要求其在规定扫描时间内完成对目标主机的漏洞扫描任务。在这种情况下,可以根据以往的漏洞扫描经验,构建虚拟节点性能数据库,用于维护针对一个子任务的扫描时间、目标主机数以及节点数间的对应关系。
数据库可以表格形式存储并维护上述对应关系,具体可参见下表:
上述表格即可清楚的反映出虚拟节点的平均性能指标,如单个虚拟节点在3小时内最多可扫描210个IP地址的一个子任务。
如果云平台下发的扫描任务为使用若干插件在3小时内对220台目标主机进行漏洞扫描,任务分配装置首先解析扫描任务获得扫描时间为3小时,目标主机数为220台,然后查表可知在上述要求下完成对一个子任务的扫描工作需要2个虚拟节点,最后结合扫描任务划分的子任务个数确定出本次扫描任务需要的虚拟节点数为2*n。
需要说明的是,受路由因素的影响,处于北京地区的虚拟节点扫描北京地区的目标主机,与处于北京地区的虚拟节点扫描广东地区的目标主机所花费的时间必然不同,为了保证确定虚拟节点数目的准确性,可以分别针对不同地区创建并维护不同的扫描时间数据库和虚拟节点性能数据库。以扫描时间数据库为例,由公式k=t/(n*v)可知,花费的扫描时间越长,需要的节点就越多。另外,两种实现方式均不受限于检测人员的主观判断,是根据实际的扫描经验确定的,由此确定的节点数更为客观,更符合扫描任务的实际需求。
作为本发明任务分配方法实施例2,在任务分配过程中,任务分配装置还可实时向云平台上报分配进度。如在步骤102划分扫描任务为至少两个子任务之后,向云平台上报子任务划分结果;和/或,在步骤103确定出扫描任务需要的虚拟节点个数之后,向云平台上报确定结果;和/或,在步骤104平均分配子任务之后,向云平台上报分配结果。
具体地,任务分配装置可通过自定义的协议与云平台通信,云平台亦可通过自定义的通信协议与资源池中的虚拟节点通信。通信协议可包含以下关键字段:表示控制者信息的字段Controller、表示虚拟节点信息的字段ScannerNode、表示分配进度的字段State、表示交互信息的字段Message。
其中,Controller一般为任务分配装置的IP地址或特殊身份标识;ScannerNode一般为虚拟节点的IP地址或特殊编号;State字段一般为自定义的整型值,其初始状态为000。在向云平台上报子任务划分结果时,State字段为010,Message字段为与任务分析和子任务划分有关的变量s、n、m等信息;在向云平台上报确定结果时,State字段为020,Message字段为虚拟节点个数k;在向云平台上报分配结果时,State字段为030,Message字段为与子任务分配有关的信息。
在以上内容介绍了在任务执行前静态分配扫描任务的过程,因为云环境下的资源处于不断变化的状态,所以节点的负载情况很难预测,即使初始资源已经达到了最大化的合理分配,也不能保证在随后的过程中不会出现负载不平衡、甚至是严重不平衡的情况,因此还需要在任务执行过程中实时监视各虚拟节点的负载情况,对任务进行动态调度,为此本发明实施例还在上述静态分配的基础上提供了一种动态调度的方法。
如图3所示,示出了本发明实施例大规模漏洞扫描的任务分配方法实施例3的流程图,在步骤104进行子任务分配后,还可包括以下步骤:
步骤301,接收并保存所述虚拟节点按照预设周期发送的状态信息,所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
步骤302,利用所述状态信息对所述虚拟节点执行的任务进行动态调度。
为了充分利用云平台的资源,使漏洞扫描的任务并行度达到最大,在整个扫描任务的执行过程中,还要求虚拟节点按照预设周期向任务分配装置上报任务执行进度,由任务分配装置据此进行任务的动态调度,实现节点的动态负载平衡。
采用心跳机制实时监控并获取虚拟节点的状态信息,虚拟节点自被分配任务之时起,无论是处于正在执行任务的工作状态,还是处于任务已完成的空闲状态,均按预设周期T定时向任务分配装置发送心跳信息,用于反馈节点的工作状态及任务完成进度。根据节点上报的状态信息的不同,本发明实施例实现了一种基于负载平衡的多层次动态调度方案,具体描述如下。
1.对于异常节点的处理
如果任务分配装置在预定时间内未接收到虚拟节点发送的状态信息,即节点的心跳信息累计出现缺失或异常的情况,则认为该虚拟节点为异常节点。此时,任务分配装置就可以最近一次收到的正常心跳信息为准,获取该节点异常前的任务进度,包括已处理完成的任务和剩余任务,并将剩余任务重新分配给其它正常虚拟节点,然后再向云平台上报异常情况,请求云平台删除该异常虚拟节点。云平台接收到删除异常节点的请求后,将异常节点从本次扫描任务中删除,并对该异常节点进行检查处理。
需要说明的是,任务分配装置接收不到节点上报的状态信息可能是因为节点异常导致的,也可能是因为网络通信故障导致的(这种情况下,节点仍会按照预设周期T上报状态信息,但却无法传送至任务分配装置)。如果是因为网络闪断造成的,则任务分配装置可在网络恢复正常后继续接收节点上报的信息(可能会出现遗漏部分状态信息的情况),若在此种情况下将该节点判断为异常节点显然是不合理的,因此本发明实施例中的预定时间应不小于(2*T)。
另外,在将异常节点的剩余任务重新分配给其它虚拟节点时,还可兼顾考虑目标主机IP地址与重新分配的虚拟节点处于相同或相邻网段的分配方式。
2.对于负载平衡的处理
如果任务分配装置正常的接收到虚拟节点上报的状态信息,但是状态信息表示该节点目前的任务负载过重,则任务分配装置可判定在任务执行过程中出现了负载不平衡的问题,需要进行动态调度。
如果执行扫描任务的虚拟节点中存在与该负载过重节点处于相同网段的其它节点,则获取这部分节点的状态信息,并将负载过重节点的任务部分迁移至这部分节点中任务负载轻的虚拟节点。即优先进行网段内的自适应调整,将任务从完成较慢的节点迁移至完成较快的节点,这样不仅可以减少任务迁移所带来的开销,另外同一网段内的节点与要迁移的任务之间的匹配关系也较好。
如果执行扫描任务的虚拟节点中不存在与该负载过重节点处于相同网段的其它节点,或者网段内的自适应调整无法消除节点的负载不平衡问题,则可获取与负载过重节点处于相邻网段的其它虚拟节点的状态信息,并将负载过重节点的任务部分迁移至这部分虚拟节点中任务负载轻的虚拟节点。即进行网段间的自适应调整,将任务从完成较慢的节点迁移至完成较快的节点。
3.对于负载超重的处理
如果任务分配装置正常的接收到虚拟节点上报的状态信息,但是状态信息表示各节点目前的任务负载都过重,则任务分配装置可判定在任务执行过程中出现了负载超重的问题,需要进行动态调度。
一般情况下,异常节点的删除或者外部新任务的加入可能会导致出现负载超重情况,即总任务所需资源超过了现有已分配节点资源的承受能力,此时任务分配装置就会向上层云平台发送请求,以申请增加新的虚拟节点,解决负载超重问题。
云平台在分配新增加的虚拟节点时,也可以兼顾考虑目标主机IP地址与新增加虚拟节点处于相同或相邻网段的分配方式。
本发明实施例提供的多层次动态调度方案,在出现问题时,优先选择在已分配的节点间进行任务调度,将负载过重节点的部分剩余任务迁移至负载相对较轻的节点,以保证在整体上达到负载平衡,进而控制总的扫描任务在一定时间范围内完成。若经上述调整之后负载仍超出可承受范围,再向云平台提出增加新的虚拟节点的请求,这就可减少与云平台通信和节点分配的开销,可有效提高任务动态调度的效率。
需要说明的是,在进行任务调度的过程中,任务分配装置与云平台以及虚拟节点之间亦可通过自定义的协议进行通信。对应于异常节点的处理时,State字段为041,Message字段为与异常节点处理有关的信息;对应于负载平衡的处理时,State字段为042,Message字段为与负载平衡处理有关的信息;对应于负载超重的处理时,State字段为043,Message字段为与负载超重处理有关的信息。
如图4所示,示出了本发明实施例大规模漏洞扫描的任务分配装置实施例1的示意图,可包括:
接收单元401,用于接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系。
子任务划分单元402,用于根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务。
具体地,所述子任务划分单元包括:
对应单元,用于根据所述插件与漏洞的对应关系确定每个漏洞对应的插件;
划分子单元,用于在至少两个漏洞对应的插件中存在至少两个相同的插件,将所述至少两个漏洞对应的扫描任务划分为一个子任务。
节点数确定单元403,用于根据划分获得的子任务个数确定虚拟节点的个数。
分配单元404,用于依次将每个子任务对应的目标主机平均分配到每个虚拟节点。
相对于现有技术,本发明实施例要根据插件与漏洞间的关联关系对扫描任务进行合理粒度的拆分,形成至少两个子任务,然后再将拆分的子任务平均分配到每个虚拟节点上,这样虚拟节点在开始执行扫描任务前只需要加载当前子任务包含的漏洞对应的插件,对于扫描其它漏洞所需的插件,节点在任务执行过程中完成加载即可,这就可加快节点漏洞扫描的进度,提高扫描效率。
另外,本发明实施例在分配任务时将子任务作为基本分配单元,就可显著降低因目标主机个体性差异导致的任务分配不合理的情况,使任务分配更趋于合理化,在使虚拟节点负载尽量平衡的情况下,就能提高整体的漏洞扫描效率。
需要说明的是,在分配子任务时可以将目标主机对应的子任务优先分配到与目标主机IP地址处于相同网段的节点上。如果不存在与目标主机IP地址处于相同网段的节点或者相同网段中的虚拟节点数不能满足扫描需求时,可以根据“就近原则”分配与目标主机IP地址处于相邻网段的虚拟节点。需要说明的是,所谓相邻网段可以理解为与目标主机IP地址距离“较近”的虚拟节点所处网段。
下面对节点数确定单元403的具体构成进行简单介绍。
作为节点数确定单元的第一种实现方式,如图5所示,该单元包括:
第一查找单元501,用于从预设扫描时间数据库中查找每个漏洞对应的扫描时间ti,i=1,2,…,m,m为漏洞个数;
时间计算单元502,用于根据所述扫描时间和目标主机个数确定所述扫描任务对应的时间t=(t1+t2+…+tm)*s,s为目标主机个数;
第一确定子单元503,用于根据子任务处理速度和子任务个数确定虚拟节点的个数k=t/(n*v),n为子任务个数,v为子任务处理速度。
如果接收单元401接收到的扫描任务中还包括扫描时间,则作为节点数确定单元的第二种实现方式,如图6所示,该单元包括:
第二查找单元601,用于根据所述扫描时间和目标主机个数查找预设节点性能数据库,确定扫描一个子任务需要的虚拟节点个数p,所述预设节点性能数据库用于保存扫描时间、目标主机个数和虚拟节点个数间的关系;
第二确定子单元602,用于利用所述子任务个数确定所述扫描任务需要的虚拟节点的个数k=n*p,n为子任务个数。
如图7所示,示出了本发明实施例大规模漏洞扫描的任务分配装置实施例2的示意图。在任务分配过程中,任务分配装置还可实时向云平台上报分配进度,因此任务分配装置还可包括:
第一上报单元701,用于在所述子任务划分单元划分所述子任务之后,向所述云平台上报子任务划分结果;和/或,
第二上报单元702,用于在所述节点数确定单元确定所述虚拟节点的个数之后,向所述云平台上报确定结果;和/或,
第三上报单元703,用于在所述分配单元平均分配所述子任务之后,向所述云平台上报分配结果。
在与云平台、虚拟节点通信的通信协议中可包含以下关键字段:表示控制者信息的字段Controller、表示虚拟节点信息的字段ScannerNode、表示分配进度的字段State、表示交互信息的字段Message。其中,Controller一般为任务分配装置的IP地址或特殊身份标识;ScannerNode一般为虚拟节点的IP地址或特殊编号;State字段一般为自定义的整型值,其初始状态为000。在向云平台上报子任务划分结果时,State字段为010,Message字段为与任务分析和子任务划分有关的变量s、n、m等信息;在向云平台上报确定结果时,State字段为020,Message字段为虚拟节点个数k;在向云平台上报分配结果时,State字段为030,Message字段为与子任务分配有关的信息。
在任务执行前对扫描任务进行静态分配之后,还要实时监控各虚拟节点在任务执行过程中的负载情况,对任务进行动态调度,为此本发明实施例还在上述静态分配的基础上提供了一种动态调度的方法。如图8所示,示出了本发明实施例大规模漏洞扫描的任务分配装置实施例3的示意图,所述装置还包括:
动态调度单元405,用于接收并保存所述虚拟节点按照预设周期发送的状态信息,利用所述状态信息对所述虚拟节点执行的任务进行动态调度;所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
任务分配装置采用心跳机制实时监控并获取虚拟节点的状态信息,虚拟节点自被分配任务之时起,无论是处于正在执行任务的工作状态,还是处于任务已完成的空闲状态,均按预设周期T定时向动态调度单元发送心跳信息,用于反馈节点的工作状态及任务完成进度。根据节点上报的状态信息的不同,本发明实施例实现了一种基于负载平衡的多层次动态调度方案,具体描述如下。
对于异常节点的处理,所述动态调度单元可具体包括:第三判断单元,用于判断是否在预定时间内未接收到虚拟节点发送的状态信息;第三动态调度子单元,用于在预定时间内未接收到虚拟节点发送的状态信息时,重新分配该虚拟节点的剩余任务,并删除该虚拟节点。
对于负载平衡的处理,所述动态调度单元可具体包括:第一判断单元,用于根据所述状态信息判断虚拟节点的任务负载是否过重;第一动态调度子单元,用于在虚拟节点任务负载过重时,获取与该任务负载过重的虚拟节点处于同一网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点;和/或,获取与该任务负载过重的虚拟节点处于相邻网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点。
对于负载超重的处理,所述动态调度单元可具体包括:第二判断单元,用于根据所述状态信息判断全部虚拟节点的任务负载是否过重;第二动态调度子单元,用于在全部虚拟节点的任务负载过重时,向所述云平台发送请求,以增加新的虚拟节点;并将每个虚拟节点的任务部分迁移至所述新的虚拟节点。
本发明方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序单元。一般地,程序单元包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (18)
1.一种大规模漏洞扫描的任务分配方法,其特征在于,所述方法包括:
接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;
根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务;
根据划分获得的子任务个数确定虚拟节点的个数;
依次将每个子任务对应的目标主机平均分配到每个虚拟节点;
确定所述虚拟节点的个数的方式为:
从预设扫描时间数据库中查找每个漏洞对应的扫描时间ti,i=1,2,…,m,m为漏洞个数;
根据所述扫描时间和目标主机个数确定所述扫描任务对应的时间t=(t1+t2+…+tm)*s,s为目标主机个数;
根据子任务处理速度和子任务个数确定虚拟节点的个数k=t/(n*v),n为子任务个数,v为子任务处理速度。
2.根据权利要求1所述的方法,其特征在于,划分所述子任务的方式为:
根据所述插件与漏洞的对应关系确定每个漏洞对应的插件;
如果至少两个漏洞对应的插件中存在至少两个相同的插件,则将所述至少两个漏洞对应的扫描任务划分为一个子任务。
3.根据权利要求1所述的方法,其特征在于,所述扫描任务中还包括扫描时间,则确定所述虚拟节点的个数的方式为:
根据所述扫描时间和目标主机个数查找预设节点性能数据库,确定扫描一个子任务需要的虚拟节点个数p,并利用所述子任务个数确定所述扫描任务需要的虚拟节点的个数k=n*p,n为子任务个数,所述预设节点性能数据库用于保存扫描时间、目标主机个数和虚拟节点个数间的关系。
4.根据权利要求1所述的方法,其特征在于,所述目标主机的身份为目标主机具有的IP地址,则
所述虚拟节点为与所述IP地址在同一网段内的虚拟节点;和/或,
所述虚拟节点为与所述IP地址处于相邻网段的虚拟节点。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在划分所述子任务之后,向所述云平台上报子任务划分结果;和/或,
在确定所述虚拟节点的个数之后,向所述云平台上报确定结果;和/或,
在平均分配所述子任务之后,向所述云平台上报分配结果。
6.根据权利要求5所述的方法,其特征在于,向所述云平台上报结果的通信协议中包含表示控制者信息的字段、表示虚拟节点信息的字段、表示分配进度的字段、和表示交互信息的字段。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
接收并保存所述虚拟节点按照预设周期发送的状态信息,利用所述状态信息对所述虚拟节点执行的任务进行动态调度;所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
8.根据权利要求7所述的方法,其特征在于,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果所述状态信息表示虚拟节点的任务负载过重,则
获取与该任务负载过重的虚拟节点处于同一网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点;和/或,
获取与该任务负载过重的虚拟节点处于相邻网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点。
9.根据权利要求7所述的方法,其特征在于,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果所述状态信息表示全部虚拟节点的任务负载过重,则向所述云平台发送请求,以增加新的虚拟节点;
将每个虚拟节点的任务部分迁移至所述新的虚拟节点。
10.根据权利要求7所述的方法,其特征在于,所述利用所述状态信息对所述虚拟节点执行的任务进行动态调度,具体包括:
如果在预定时间内未接收到虚拟节点发送的状态信息,则重新分配该虚拟节点的剩余任务,并删除该虚拟节点。
11.一种大规模漏洞扫描的任务分配装置,其特征在于,所述装置包括:
接收单元,用于接收云平台下发的扫描任务,所述扫描任务包括目标主机的身份集合、插件的身份集合以及插件与漏洞的对应关系;
子任务划分单元,用于根据所述插件与漏洞的对应关系将所述扫描任务划分为至少两个子任务;
节点数确定单元,用于根据划分获得的子任务个数确定虚拟节点的个数;
分配单元,用于依次将每个子任务对应的目标主机平均分配到每个虚拟节点;
节点数确定单元包括:
第一查找单元,用于从预设扫描时间数据库中查找每个漏洞对应的扫描时间ti,i=1,2,…,m,m为漏洞个数;
时间计算单元,用于根据所述扫描时间和目标主机个数确定所述扫描任务对应的时间t=(t1+t2+…+tm)*s,s为目标主机个数;
第一确定子单元,用于根据子任务处理速度和子任务个数确定虚拟节点的个数k=t/(n*v),n为子任务个数,v为子任务处理速度。
12.根据权利要求11所述的装置,其特征在于,所述子任务划分单元包括:
对应单元,用于根据所述插件与漏洞的对应关系确定每个漏洞对应的插件;
划分子单元,用于在至少两个漏洞对应的插件中存在至少两个相同的插件,将所述至少两个漏洞对应的扫描任务划分为一个子任务。
13.根据权利要求11所述的装置,其特征在于,所述接收单元接收到的所述扫描任务中还包括扫描时间,则所述节点数确定单元包括:
第二查找单元,用于根据所述扫描时间和目标主机个数查找预设节点性能数据库,确定扫描一个子任务需要的虚拟节点个数p,所述预设节点性能数据库用于保存扫描时间、目标主机个数和虚拟节点个数间的关系;
第二确定子单元,用于利用所述子任务个数确定所述扫描任务需要的虚拟节点的个数k=n*p,n为子任务个数。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一上报单元,用于在所述子任务划分单元划分所述子任务之后,向所述 云平台上报子任务划分结果;和/或,
第二上报单元,用于在所述节点数确定单元确定所述虚拟节点的个数之后,向所述云平台上报确定结果;和/或,
第三上报单元,用于在所述分配单元平均分配所述子任务之后,向所述云平台上报分配结果。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述装置还包括:
动态调度单元,用于接收并保存所述虚拟节点按照预设周期发送的状态信息,利用所述状态信息对所述虚拟节点执行的任务进行动态调度;所述状态信息包括当前工作状态、任务执行进度、CPU使用率、内存使用率和I/O资源使用率。
16.根据权利要求15所述的装置,其特征在于,所述动态调度单元包括:
第一判断单元,用于根据所述状态信息判断虚拟节点的任务负载是否过重;
第一动态调度子单元,用于在虚拟节点任务负载过重时,获取与该任务负载过重的虚拟节点处于同一网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点;和/或,
获取与该任务负载过重的虚拟节点处于相邻网段的其它虚拟节点的状态信息,并将所述任务负载过重的虚拟节点的任务部分迁移至其它虚拟节点中任务负载轻的虚拟节点。
17.根据权利要求15所述的装置,其特征在于,所述动态调度单元包括:
第二判断单元,用于根据所述状态信息判断全部虚拟节点的任务负载是否过重;
第二动态调度子单元,用于在全部虚拟节点的任务负载过重时,向所述云平台发送请求,以增加新的虚拟节点;并将每个虚拟节点的任务部分迁移至所述新的虚拟节点。
18.根据权利要求15所述的装置,其特征在于,所述动态调度单元包括:
第三判断单元,用于判断是否在预定时间内未接收到虚拟节点发送的状态 信息;
第三动态调度子单元,用于在未接收到虚拟节点发送的状态信息时,重新分配该虚拟节点的剩余任务,并删除该虚拟节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210552125.6A CN103870334B (zh) | 2012-12-18 | 2012-12-18 | 一种大规模漏洞扫描的任务分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210552125.6A CN103870334B (zh) | 2012-12-18 | 2012-12-18 | 一种大规模漏洞扫描的任务分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870334A CN103870334A (zh) | 2014-06-18 |
CN103870334B true CN103870334B (zh) | 2017-05-31 |
Family
ID=50908898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210552125.6A Active CN103870334B (zh) | 2012-12-18 | 2012-12-18 | 一种大规模漏洞扫描的任务分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870334B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116181A (zh) * | 2022-01-20 | 2022-03-01 | 湖南云畅网络科技有限公司 | 一种分布式的数据分析任务调度系统及方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205399B (zh) * | 2015-02-10 | 2018-06-26 | 中国移动通信集团广东有限公司 | 漏洞扫描工具的调度方法及其调度系统 |
CN105468981B (zh) * | 2015-11-20 | 2018-07-06 | 上海斐讯数据通信技术有限公司 | 基于漏洞识别技术的插件安全扫描装置及扫描方法 |
CN105589745A (zh) * | 2015-12-18 | 2016-05-18 | 中国科学院软件研究所 | 一种支持非均衡任务分配的动态漏洞挖掘系统和方法 |
CN106446688A (zh) * | 2016-11-09 | 2017-02-22 | 中国科学院软件研究所 | 一种基于dcr的动态漏洞挖掘方法及系统 |
CN106790085B (zh) * | 2016-12-22 | 2020-10-23 | 国网新疆电力公司信息通信公司 | 漏洞扫描方法、装置及系统 |
CN107294774B (zh) * | 2017-06-08 | 2020-07-10 | 深圳市迈岭信息技术有限公司 | 分布式系统物理节点的任务部署方法 |
CN107231437A (zh) * | 2017-07-18 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种任务备份管理方法及装置 |
CN107277063B (zh) * | 2017-08-09 | 2020-09-25 | 四川长虹电器股份有限公司 | 基于漏洞扫描精度判断测试方法 |
CN107800690B (zh) * | 2017-10-09 | 2021-07-06 | 西安交大捷普网络科技有限公司 | 一种分布式漏洞扫描系统的任务分配方法 |
CN108063755B (zh) * | 2017-11-08 | 2020-12-15 | 携程旅游信息技术(上海)有限公司 | 漏洞扫描方法、系统、存储介质和电子设备 |
CN108282489B (zh) * | 2018-02-07 | 2020-01-31 | 网宿科技股份有限公司 | 一种漏洞扫描方法、服务端及系统 |
CN108737213B (zh) * | 2018-05-22 | 2020-06-09 | 中国电子科技集团公司第四十一研究所 | 一种基于fpga的高并行大吞吐量渗透测试系统及方法 |
CN109656634A (zh) * | 2018-11-29 | 2019-04-19 | 西安四叶草信息技术有限公司 | 插件调用方法及设备 |
CN111355751A (zh) * | 2018-12-20 | 2020-06-30 | 普天信息技术有限公司 | 任务调度方法及装置 |
CN109766176B (zh) * | 2018-12-29 | 2021-03-23 | 北京威努特技术有限公司 | 一种基于大规模网络空间探测的扫描进度计算方法及装置 |
CN110471774A (zh) * | 2019-06-28 | 2019-11-19 | 苏宁云计算有限公司 | 一种基于统一任务调度的数据处理方法及装置 |
CN111104188B (zh) * | 2019-11-11 | 2024-05-10 | 中盈优创资讯科技有限公司 | 漏洞扫描器的调度方法及装置 |
CN110928688A (zh) * | 2019-11-29 | 2020-03-27 | 电子科技大学 | 一种分布式爬虫任务的调度系统及方法 |
CN111131262B (zh) * | 2019-12-26 | 2021-11-16 | 绿盟科技集团股份有限公司 | 一种漏洞扫描方法及装置 |
CN111353161A (zh) * | 2020-03-11 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 一种漏洞扫描方法及装置 |
CN111541686B (zh) * | 2020-04-20 | 2023-02-28 | 杭州迪普科技股份有限公司 | 一种扫描器的调用方法和装置 |
CN111625391B (zh) * | 2020-05-29 | 2023-06-13 | 北京思特奇信息技术股份有限公司 | 一种任务处理方法、系统和电子设备 |
CN112511571B (zh) * | 2021-02-07 | 2021-06-22 | 连连(杭州)信息技术有限公司 | 一种Web漏洞扫描方法、装置、系统、设备及存储介质 |
CN112632566B (zh) * | 2021-03-05 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 漏洞扫描方法和装置、存储介质及电子设备 |
CN113553171A (zh) * | 2021-06-07 | 2021-10-26 | 用友汽车信息科技(上海)股份有限公司 | 负载均衡控制方法、装置和计算机可读存储介质 |
CN113672300B (zh) * | 2021-08-17 | 2023-12-26 | 绿盟科技集团股份有限公司 | 一种插件调度的方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2472397A1 (en) * | 2010-12-28 | 2012-07-04 | POLYTEDA Software Corporation Limited | Load distribution scheduling method in data processing system |
EP2487590A2 (en) * | 2011-02-14 | 2012-08-15 | Fujitsu Limited | Processor, computational node, parallel computer system, and arithmetic processing method |
CN102648453A (zh) * | 2009-11-24 | 2012-08-22 | 超威半导体公司 | 分布式多核存储器初始化 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
CN102763086A (zh) * | 2012-01-18 | 2012-10-31 | 华为技术有限公司 | 分布式计算任务处理系统和任务处理方法 |
-
2012
- 2012-12-18 CN CN201210552125.6A patent/CN103870334B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102648453A (zh) * | 2009-11-24 | 2012-08-22 | 超威半导体公司 | 分布式多核存储器初始化 |
EP2472397A1 (en) * | 2010-12-28 | 2012-07-04 | POLYTEDA Software Corporation Limited | Load distribution scheduling method in data processing system |
EP2487590A2 (en) * | 2011-02-14 | 2012-08-15 | Fujitsu Limited | Processor, computational node, parallel computer system, and arithmetic processing method |
CN102763086A (zh) * | 2012-01-18 | 2012-10-31 | 华为技术有限公司 | 分布式计算任务处理系统和任务处理方法 |
CN102722417A (zh) * | 2012-06-07 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 一种扫描任务的分配方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116181A (zh) * | 2022-01-20 | 2022-03-01 | 湖南云畅网络科技有限公司 | 一种分布式的数据分析任务调度系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103870334A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870334B (zh) | 一种大规模漏洞扫描的任务分配方法及装置 | |
Hung et al. | Wide-area analytics with multiple resources | |
US9112782B2 (en) | Reactive auto-scaling of capacity | |
CN103873534B (zh) | 一种应用集群迁移方法及装置 | |
CN104657220A (zh) | 混合云中基于截止时间和费用约束的调度模型及方法 | |
Yao et al. | Self-adjusting slot configurations for homogeneous and heterogeneous hadoop clusters | |
CN107346264A (zh) | 一种虚拟机负载均衡调度的方法、装置和服务器设备 | |
WO2019050952A1 (en) | SYSTEMS, METHODS, AND MEDIA FOR DISTRIBUTING DATABASE INTERROGATIONS THROUGH A PAYING VIRTUAL NETWORK | |
CN110308980A (zh) | 数据的批量处理方法、装置、设备及存储介质 | |
CN110109756A (zh) | 一种网络靶场构建方法、系统及存储介质 | |
CN106325976B (zh) | 一种渲染任务调度处理方法及服务器 | |
CN106557471A (zh) | 任务调度方法及装置 | |
US11500691B2 (en) | Predictive scaling of datacenters | |
CN109800058A (zh) | 一种虚拟机自动迁移方法 | |
WO2021056909A1 (zh) | 一种基于资源管理平台的任务分配方法及系统 | |
CN107317836A (zh) | 一种混合云环境下时间可感知的请求调度方法 | |
CN103425536A (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN113110914A (zh) | 一种基于微服务架构的物联网平台构建方法 | |
CN109871328A (zh) | 一种软件测试方法及装置 | |
CN109740765A (zh) | 一种基于亚马逊网络服务器的机器学习系统搭建方法 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN111190691A (zh) | 适用于虚拟机的自动迁移方法、系统、装置及存储介质 | |
CN105450684A (zh) | 云计算资源调度方法和系统 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN109697105A (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 |