首页> 中国专利> 一种漏洞扫描任务调度的方法、装置、设备和介质

一种漏洞扫描任务调度的方法、装置、设备和介质

摘要

本公开提供一种漏洞扫描任务调度的方法、装置、设备及介质,其方法包括:确认执行队列中的扫描任务发生变化,所述执行队列用于存放处于执行中的扫描任务,其中,每个扫描任务具有对应的优先级;为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。通过对扫描任务进行优先级区分,并且在为任务分配资源时根据优先级对应分配,这样就可以使得高优先级的任务能够分配到更多的资源,而且根据扫描任务的进展情况,动态地分配系统资源,从而使资源分配更加合理,效率更高。

著录项

  • 公开/公告号CN112269999A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 杭州迪普科技股份有限公司;

    申请/专利号CN202011219347.7

  • 发明设计人 曹浪;

    申请日2020-11-04

  • 分类号G06F21/57(20130101);G06F9/50(20060101);G06F9/48(20060101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人王茹

  • 地址 310051 浙江省杭州市滨江区通和路68号中财大厦6楼

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本公开涉及信息安全技术领域,尤其涉及一种漏洞扫描任务调度的方法、装置、设备和介质。

背景技术

业务信息化带来巨大经济和社会效益的同时,也面临信息安全严峻的挑战。网络安全产品也应运而生,这类产品从发现漏洞、解决漏洞、防护攻击等方式,避免网络环境遭受不法侵害。

现有技术在对漏洞扫描时分配系统资源时,可设置最大任务并发数,针对每个扫描任务可设置最大主机并发数,每个主机可设置最大线程并发数。由于用于漏洞扫描的装置自身可用资源及网络环境资源有限,重要的扫描任务会受到其他任务占用资源的影响,导致重要的扫描任务进展很慢,同时系统资源得不到合理的利用,影响扫描效果。

发明内容

有鉴于此,本公开实施例提供一种漏洞扫描任务调度的方法、装置、设备及介质,以有效解决漏洞扫描时系统资源利用不合理的问题。

具体地,本公开是通过如下技术方案实现的:

第一方面,提供一种漏洞扫描任务调度的方法,所述方法包括:

确认执行队列中的扫描任务发生变化,所述执行队列用于存放处于执行中的扫描任务,其中,每个扫描任务具有对应的优先级;

为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。

第二方面,提供一种漏洞扫描任务调度的装置,所述装置包括:

确认模块,用于确认执行队列中的扫描任务发生变化,所述执行队列用于存放处于执行中的扫描任务,其中,每个扫描任务具有对应的优先级;

资源分配模块,用于为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。

第三方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的方法。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的方法。

本公开实施例提供的漏洞扫描任务调度的方法、装置、设备,通过对扫描任务进行优先级区分,并且在为扫描任务分配资源时根据优先级对应分配,这样就可以使得高优先级的扫描任务能够分配到更多的资源;根据扫描任务的进展情况,动态地分配系统资源,从而使资源分配更加合理,效率更高。

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

附图说明

为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例示出的一种漏洞扫描任务调度的方法的流程图;

图2是本公开实施例示出的另一种漏洞扫描任务调度的方法的流程图;

图3是本公开实施例示出的一种漏洞扫描任务调度装置的框图;

图4是本公开实施例示出的另一种漏洞扫描任务调度装置的框图;

图5是本公开实施例示出的一种电子设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

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

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如图1所示,图1是本公开实施例示出的一种漏洞扫描任务调度的方法的流程图,该方法可用于能够进行漏洞扫描的装置(以下简称漏洞扫描装置),包括以下步骤:

步骤S101,确认执行队列中的扫描任务发生变化,所述执行队列用于存放处于执行中的扫描任务,其中,每个扫描任务具有对应的优先级。

优先级高的扫描任务拥有优先进入执行队列的权限,以及可使用更多的资源。优先级可以使用字母表示,比如,优先级从高到低依次用A、B、C、D、E和F表示;也可以使用颜色表示,比如,优先级从高到低依次用红、橙、黄、绿、青、蓝和紫表示;也可以使用数字表示,优先级从高到低依次用10、9、8、……和0表示。本公开不限制优先级的具体表示形式。

在执行队列中的扫描任务都处于执行状态,其中的扫描任务可以具有不同的优先级,优先级高的扫描任务占用的可使用资源多,优先级低的扫描任务占用的可使用资源少。执行队列中的扫描任务发生变化可以是扫描任务的任务数量增加,比如,执行队列中新增了扫描任务;可以是扫描任务的任务数量减少,比如,执行队列中的扫描任务执行完毕后退出执行队列,或是扫描任务意外终止退出执行队列;可以是扫描任务的优先级发生了变化,比如,执行队列中低优先级的扫描任务被替换为了高优先级任务,或者,执行队列中某个任务的优先级被临时提升。

如下示出执行队列中的扫描任务发生变化的例子:

例如,漏洞扫描装置在接收到新的扫描任务时,可以获取新的扫描任务的优先级。其中,该新的扫描任务的优先级可以是由运维人员设定,也可以在历史记录中查找。然后,漏洞扫描装置可以确认下执行队列中的扫描任务的任务数量是否达到上限,在未达到上限的情况下,可以将新的扫描任务插入所述执行队列。此时,由于新的扫描任务插入了执行队列,可以确认执行队列中的扫描任务发生了数量上的变化。其中,上述的执行队列的上限是漏洞扫描装置的最大任务执行数,设置该执行队列的上限能够避免装置的任务量过大,负载过重致使的页面卡死、装置宕机等问题。

在所述执行队列中的扫描任务的任务数量达到所述上限的情况下,将所述新的扫描任务插入等待队列,不确认执行队列中的扫描任务发生变化,所述等待队列用于存放处于等待状态的扫描任务,等待队列没有上限。

例如,漏洞扫描装置可以比较所述执行队列的扫描任务中优先级最低的第一任务与等待队列的扫描任务中优先级最高的第二任务,所述等待队列用于存放处于等待状态的扫描任务。当比较的结果是所述第一任务的优先级比所述第二任务的优先级低时,停止执行所述第一任务,并将所述第一任务由所述执行队列移入所述等待队列,将所述第二任务由所述等待队列移入所述执行队列,此时,可以确认执行队列中的扫描任务的优先级发生了变化。

将执行队列中的扫描任务与等待队列中扫描任务的优先级进行比较,保障了高优先级的扫描任务总是能优先被执行,不会因为被插入等待队列而影响执行的顺序。

例如,漏洞扫描装置的等待队列中有扫描任务时,每指定周期判断所述执行队列中扫描任务的任务数量是否达到上限,所述等待队列用于存放处于等待状态的扫描任务。当所述执行队列中扫描任务的任务数量未达到所述上限时,将所述等待队列中优先级最高的扫描任务移入所述执行队列。此时,由于新的扫描任务插入了执行队列,可以确认执行队列中的扫描任务发生了数量上的变化。及时地将等待队列中的高优先级扫描任务移入执行队列,提高了扫描的效率。

步骤S102,为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。

分配给扫描任务的资源是扫描任务在执行中可使用的资源,可以是可占用的内存、CPU(central processing unit,中央处理器)、硬盘,可以是可并发的线程、会话等,也可以是网络出口流量。对于资源的具体形式,本公开实施例并不进行限制。

在确认执行队列中的扫描任务发生变化后,重新分配执行队列中每个扫描任务与其优先级对应的可以使用的资源。无论是重新分配之前还是之后,优先级高的扫描任务占用的可使用资源多,优先级低的扫描任务占用的可使用资源少。

例如,当执行队列中有扫描任务执行完毕后退出执行队列,释放出之前占用的资源,被释放的资源按照执行队列中其余扫描任务的优先级重新分配给其余扫描任务,优先级高的扫描任务原来占用的可使用资源多,重新分配到的可使用资源也多,优先级低的扫描任务原来占用的可使用资源少,重新分配到的可使用资源也少。

又例如,当执行队列中增加新的扫描任务时,为执行队列中新增的扫描任务和原来的扫描任务按照对应的优先级重新分配可使用资源。每个扫描任务在执行过程中,实际使用可使用资源时其实是一直不停地在获取和释放可使用资源,并且占用的可使用资源并非都处于使用状态而是部分处于空闲状态。当新的扫描任务进入执行队列,那么原来的扫描任务在执行过程中释放的可使用资源就不再获取,而是将释放的可使用资源以及处于空闲状态的可使用资源重新分配给新的扫描任务,直到执行队列中每个扫描任务占用的可使用资源都与其优先级对应,重新分配实际上是一个动态调整的过程。

本公开实施例通过对扫描任务进行优先级区分,并且在为扫描任务分配资源时根据对应的优先级分配,这样就可以使得高优先级的任务能够分配到更多的资源;根据扫描任务的进展情况,动态地分配系统资源,从而使资源分配更加合理,效率更高。

在一公开实施例中,每个扫描任务的优先级使用分值表示,在重新分配时,计算所述执行队列中每个扫描任务的优先级分值占所述执行队列中全部扫描任务的优先级总分值的比值,根据每个扫描任务对应的所述比值,分配所述扫描任务对应的任务资源,所述任务资源占任务总资源的份额是所述比值。

其中,任务总资源是漏洞扫描装置的最大可使用资源,包括最大出口流量、最大会话数以及最大可使用的内存、CPU、硬盘等。任务总资源完全被执行队列中的扫描任务占用,每个扫描任务的优先级分值占执行队列中全部扫描任务的优先级分值之和的比值,即为该扫描任务占用的任务资源占任务总资源的比值。其中的比值,可以用百分数,分数等数学形式表示。

比如,执行队列中原有的扫描任务的优先级分值之和为80,其中的第三任务优先级分值为8,第三任务优先级分值占原有的执行队列中全部扫描任务优先级总分值的百分比为10%,第三任务占用的任务资源占任务总资源的百分比仍为10%。执行队列中新增了扫描任务,执行队列中新增的第四任务优先级分值为20,此时执行队列中扫描任务的优先级分值之和为100,第四任务优先级分值占执行队列中全部扫描任务优先级总分值的百分比为20%,第四任务占用的任务资源占任务总资源的百分比被分配为20%。此时,第三任务优先级分值占执行队列中全部扫描任务优先级总分值的百分比为8%,第三任务占用的任务资源占任务总资源的百分比被重新分配为8%。

又比如,执行队列中只剩一个扫描任务时,将任务总资源全部分配给该扫描任务。

本公开实施例通过将扫描任务的优先级使用分值表示,用每个扫描任务的优先级分值占优先级总分值的比值决定扫描任务执行时的可使用任务资源,每个扫描任务分配到的任务资源不仅与自己的优先级有关,而且与执行队列中其他的扫描任务的优先级有关,让更多的任务资源向相对高优先级任务倾斜,保障了高优先级任务的执行;同时,任务资源总是被全部分配,将资源利用率与扫描任务数解耦,实现资源最大化利用。

在一公开实施例中,漏洞扫描装置在开始扫描之前,接收预配置的参数,所述参数包括如下至少一项:最大出口流量、最大会话数和所述执行队列中任务数量的所述上限。预配置的参数可以由运维人员评估网络环境,如路由器交换机防火墙等的承载能力后设置,降低了装置的使用风险。

如图2所示,是本公开实施例示出的另一种漏洞扫描任务调度的方法的流程图,该方法更详细的描述了漏洞扫描任务调度的过程,该方法可用于漏洞扫描装置,包括以下步骤:

S200,接收到新的扫描任务,获取所述新的扫描任务的优先级。

进入下一步S201。

S201,判断执行队列中的扫描任务的任务数量是否达到上限。

若是,执行S202;否则,执行S203。

S202,将扫描任务插入等待队列。

在本步骤中,可以是等待队列中每个扫描任务按优先级分值从高到低排列,根据所述扫描任务优先级分值排序,将所述扫描任务插入正确的队列位置,执行S204和S205。

S203,将扫描任务插入执行队列。

在本步骤中,可以是执行队列中的每个扫描任务按优先级分值从高到低排列,根据所述扫描任务优先级分值,将所述扫描任务插入合适的位置,执行S206。

S204,比较所述执行队列的扫描任务中优先级最低的任务与等待队列的扫描任务中优先级最高的任务。

在本步骤中,可以是等待队列中,有一条线程循环比较等待队列的第一个扫描任务的优先级分值与执行队列的最后一个扫描任务的优先级分值。若等待队列的第一个扫描任务优先级分值高,则将执行队列的最后一个扫描任务暂停并执行S202,并将等待队列的第一个扫描任务执行S203。若执行队列的最后一个扫描任务优先级分值高,则不进行下一步。

S205,每指定周期判断所述执行队列中扫描任务的任务数量是否达到上限。

在本步骤中,可以是等待队列中有扫描任务在等待时,等待队列的线程循环判断执行队列是否达到上限,如未达到上限,则将等待队列的第一个扫描任务执行S203。如果仍达到上限,则不进行下一步。

S206,为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。

在本步骤中,优先级高的扫描任务分配到的可使用资源多,优先级低的扫描任务分配到的可使用资源少。

本公开实施例通过对扫描任务进行优先级区分,优先级高的扫描任务拥有优先进入执行队列的权限和更多的可使用资源,不会因为被插入等待队列而影响扫描任务的优先执行;动态分配系统资源,使系统资源得到合理利用。

如图3所示,图3是本公开实施例示出的一种漏洞扫描任务调度的装置的框图,所述装置包括:

确认模块310,用于确认执行队列中的扫描任务发生变化,所述执行队列用于存放处于执行中的扫描任务,其中,每个扫描任务具有对应的优先级;

资源分配模块320,用于为所述执行队列中每个扫描任务重新分配与所述扫描任务的优先级相对应的资源。

本公开实施例中的漏洞扫描任务调度装置通过对扫描任务进行优先级区分,并且在为扫描任务分配资源时根据对应的优先级分配,这样就可以使得高优先级的任务能够分配到更多的资源;根据扫描任务的进展情况,动态地分配系统资源,从而使资源分配更加合理,效率更高。

如图4所示,图4是本公开实施例示出的另一种漏洞扫描任务调度的装置的框图,在前述装置实施例的基础上,所述装置还包括:

参数配置模块300,用于接收预配置的参数,所述参数包括如下至少一项:最大出口流量、最大会话数和所述执行队列中任务数量的所述上限;

所述确认模块310,还包括:

接收模块311,用于接收新的扫描任务,获取所述新的扫描任务的优先级;在所述执行队列中的扫描任务的任务数量未达到上限的情况下,将所述新的扫描任务插入所述执行队列,在所述执行队列中的扫描任务的任务数量达到所述上限的情况下,将所述新的扫描任务插入等待队列,所述等待队列用于存放处于等待状态的扫描任务;

比较模块312,用于比较所述执行队列的扫描任务中优先级最低的第一任务与等待队列的扫描任务中优先级最高的第二任务,所述等待队列用于存放处于等待状态的扫描任务;当所述第一任务的优先级比所述第二任务的优先级低时,停止执行所述第一任务,并将所述第一任务由所述执行队列移入所述等待队列,将所述第二任务由所述等待队列移入所述执行队列;

判断模块313,用于等待队列中有扫描任务时,每指定周期判断所述执行队列中扫描任务的任务数量是否达到上限,所述等待队列用于存放处于等待状态的扫描任务;当所述执行队列中扫描任务的任务数量未达到所述上限时,将所述等待队列中优先级最高的扫描任务移入所述执行队列;

所述资源分配模块320,还用于将优先级使用分值表示,计算所述执行队列中每个扫描任务的优先级分值占所述执行队列中全部扫描任务的优先级总分值的比值;根据每个扫描任务对应的所述比值,分配所述扫描任务对应的任务资源,所述任务资源占任务总资源的份额是所述比值。

本公开还提供了一种电子设备,如图5所示,所述电子设备包括存储器401、处理器402,所述存储器401用于存储可在处理器上运行的计算机指令,所述处理器402用于在执行所述计算机指令时实现本公开任一实施例所述的漏洞扫描任务调度的方法。

本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的漏洞扫描任务调度的方法。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号