CN111355751A - 任务调度方法及装置 - Google Patents
任务调度方法及装置 Download PDFInfo
- Publication number
- CN111355751A CN111355751A CN201811564311.5A CN201811564311A CN111355751A CN 111355751 A CN111355751 A CN 111355751A CN 201811564311 A CN201811564311 A CN 201811564311A CN 111355751 A CN111355751 A CN 111355751A
- Authority
- CN
- China
- Prior art keywords
- task
- scanned
- node
- scanning
- scheduling
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种任务调度方法及装置。所述方法应用于分布式系统的调度中心,所述方法包括:获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。本发明实施例解决了现有技术中,分布式扫描任务的调度分配机制,容易导致整个分布式系统的性能降低的问题。
Description
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种任务调度方法及装置。
背景技术
随着互联网技术的快速发展,网络设备价格不断降低,各种骨干网、接入网和局域网随之迅速建设起来,各种传统的设备也具备了联网功能。现有的网络系统中,除了常用的服务器、个人计算机之外,智能手机、智能家电、机械设备、汽车终端等各种类型的网络设备都可连接在网络上,逐渐形成物联网。而物联网的推广和普及,将会使网络终端的数量规模呈几何级数增长。
此外,网络中硬件设备的数量在与日俱增的同时,各种软件、服务形式的虚拟设备的规模也在不断扩大;并且,每种硬件设备、软件或服务,都是一个复杂的系统,从不同角度分析,具有不同的参数和特性,各种系统支持的网络协议和网络服务,也各有不同。为了实现对一定网络空间区域内,大量的网络设备的存在以及状态参数进行监控,实现网络安全态势的感知,需要定期对网络空间内的硬件设备、虚拟设备进行扫描。
扫描过程中,建立多节点分布式扫描模式,比单机扫描在速度和效率上更有优势。而如何对每一个节点进行适当的任务调度,对于提高整个分布式扫描系统效率具有重要意义。
当前,分布式扫描的任务调度分配机制,通常有以下几种类型:
一、随机分配型
即分配任务时按照任务数量,随机分配给每一个扫描节点,对扫描节点本身的速度、性能等不做区分。然而,此种方式容易造成低性能节点执行任务多,效率低;而高性能节点快速将任务执行完成后,空闲时间长;因此,整个分布式系统扫描效率低下。
二、静态参数分配型
系统建立初期,调度中心预先掌握每个扫描节点的机器性能、网络带宽以及网络时延等特性,在进行任务分配时,根据要分配任务的工作量大小,选择最适合的节点进行分配。也就是说,即所有节点的性能参数从系统建立以后,就是静态不变的。在任务分配时,只按照初始掌握的性能参数进行分配,而不关注每个节点当前执行任务的状态;有可能造成性能高的节点负载较高,有多个任务排队,而性能低的节点空闲,系统整体效率仍然不高。
三,动态分配型
动态分配型调度方式,在有任务需要分配时,会查找空闲节点,将新任务分配给空闲节点,从而保证新分配的任务快速启动。而选择空闲节点时,依然根据节点的静态参数选择,将包含工作量大的任务分配给高性能节点,工作量小的任务分配给低性能节点。此种分配方式,相比前面两种,具有一定优势,然而,每个节点的性能参数是固定的,若系统性能发生变化,导致该节点的性能参数变化,而调度中心在在分配任务时却无从知晓,所以无法根据变化后的性能进行分配,会造成初始状态为高性能的节点,在网络特性或机器性能下降后,仍被分配大工作量任务,使整个分布式系统性能降低。
因此,现有技术中,分布式扫描任务的调度分配机制,容易导致整个分布式系统的性能降低。
发明内容
本发明实施例提供一种任务调度方法及装置,用以解决现有技术中,分布式扫描任务的调度分配机制,容易导致整个分布式系统的性能降低的问题。
一方面,本发明实施例提供一种任务调度方法,所述方法应用于分布式系统的调度中心,所述方法包括:
获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;
当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
一方面,本发明实施例提供一种任务调度方法,所述方法应用于分布式系统的扫描节点,所述方法包括:
向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
另一方面,本发明实施例提供一种任务调度装置,应用于分布式系统的调度中心,所述装置包括:
获取模块,用于获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
第一调度模块,用于当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;
第二调度模块,用于当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
另一方面,本发明实施例提供一种任务调度装置,应用于分布式系统的扫描节点,所述装置包括:
上报模块,用于向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
执行模块,用于接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任务调度方法中的步骤。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任务调度方法中的步骤。
本发明实施例提供的任务调度方法及装置,通过获取每个待扫描任务的工作量参数,以及所述分布式系统的预设的扫描节点的当前节点参数,当前节点参数可以按照预设周期定期获取,也可以在启动任务调度时临时获取,确保当前节点参数处于动态更新状态。当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点;通过当前节点参数对扫描节点的速度、性能做区分,优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务调度方法的流程示意图之一;
图2为本发明实施例的第一示例的分布式系统架构的示意图;
图3为本发明实施例的第二示例的流程示意图;
图4为本发明实施例的第三示例的流程示意图;
图5为本发明实施例提供的任务调度方法的流程示意图之二;
图6为本发明实施例提供的任务调度装置的结构示意图之一;
图7为本发明实施例提供的任务调度装置的结构示意图之二;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
图1示出了本发明实施例提供的一种任务调度方法的流程示意图。
如图1所示,本发明实施例提供的任务调度方法,应用于分布式系统的调度中心,所述方法具体包括以下步骤:
步骤101,获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间。
作为第一示例,如图2所示,本发明实施例中的分布式系统架构包括调度中心和多个扫描节点。其中,启动扫描任务时,调度中心获取每个待扫描任务的工作量参数,工作量参数用于指示单个所述待扫描任务包含的单位工作量数量。
调度中心从扫描节点处获取其当前节点参数,可以按照预设周期定期获取,也可以在启动任务调度时临时获取,确保当前节点参数处于动态更新状态。
所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间,当前执行速率指在预设运行周期内,扫描节点的平均扫描速率,具体地,当前执行速率可根据以下公式1确定:
En=Stn/Ttn;
其中,En为当前执行速率,Stn为在当前预设周期内已完成的扫描工作量,Ttn为完成当前工作量所消耗的时间,即从当前、预设周期的起始时刻到当前时刻的时间长度,Stn、Ttn可由扫描节点自行记载。
预计完成时间为按照当前执行速率,预计剩余任务所需的执行时间长度,预计完成时间可由以下公式2求得:
Tfn=Sfn/En;
其中,Tfn为预计完成时间,Sfn为当前任务剩余工作量,En为当前执行速率,Sfn、En可由扫描节点自行记载。
当调度中心有一个或多个待扫描任务准备分配给扫描节点时,会首先查询各扫描节点的En值和Tfn值;En值越大,代表该扫描节点当前执行速率越高;Tfn值越小,代表该节点能越快地执行完当前任务,启动新的任务。
步骤102,当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
其中,扫描节点的空闲状态可由扫描节点自行上报,也可由调度中心根据当前节点参数确定,比如,当预计完成时间为零时,可确定该扫描节点当前处于空闲状态。
当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,也即当前空闲的扫描节点可完全承载待扫描任务,此时,根据当前执行速率调度扫描节点,优选当前执行速率高的空闲扫描节点,使得高性能节点快速将任务执行完成,再执行新分配的任务,提高整个分布式系统工作效率。
步骤103,当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
其中,当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量,也即空闲扫描节点不足时,优先占用空闲扫描节点;而对于其他未调度的待扫描任务,继续分配给非空闲扫描节点,需要根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定若将该扫描任务下发给非空闲扫描节点,每个扫描节点非空闲状态的理论完成时间。
优选将待扫描任务分配给理论完成时间最小的扫描节点,以确保扫描节点执行原有扫描任务以及新下发的所述待扫描任务的平均执行速率最高,以提高提高整个分布式系统工作效率。
本发明上述实施例中,通过获取每个待扫描任务的工作量参数,以及所述分布式系统的预设的扫描节点的当前节点参数,当前节点参数可以按照预设周期定期获取,也可以在启动任务调度时临时获取,确保当前节点参数处于动态更新状态。当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点;通过当前节点参数对扫描节点的速度、性能做区分,优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。本发明实施例解决了现有技术中,分布式扫描任务的调度分配机制,容易导致整个分布式系统的性能降低的问题。
可选地,本发明上述实施例中,所述根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点的步骤,包括:
当所述待扫描任务的任务数量为单个时,为所述待扫描任务调度当前执行速率最高的所述扫描节点;
和/或
当所述待扫描任务的任务数量大于或等于两个时,依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度当前执行速率最高的所述扫描节点。
其中,当前空闲的扫描节点可完全承载待扫描任务时,若仅有一个待扫描任务,则为所述待扫描任务调度当前执行速率最高的所述扫描节点,使得高性能节点快速将任务执行完成,再执行新分配的任务,提高整个分布式系统工作效率。
同理,若存在大于或等于两个待扫描任务时,根据待扫描任务的自身包含的工作数量,优先为包含工作数量多的待扫描任务调度当前执行速率最高的所述扫描节点。
可选地,本发明上述实施例中,所述根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点的步骤,包括:
根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定所述扫描节点承载所述待扫描任务的理论完成时间;
依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度理论完成时间最小的所述扫描节点。
其中,当空闲扫描节点不足时,优先占用空闲扫描节点;而对于其他未调度的待扫描任务,继续分配给非空闲扫描节点。
具体地,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定若将该扫描任务下发给非空闲扫描节点,非空闲扫描节点完成所述当前正在执行的扫描任务及待下发扫描任务总的理论完成时间。
优选地,将待扫描任务分配给理论完成时间最小的扫描节点,以确保扫描节点执行原有扫描任务以及新下发的所述待扫描任务的平均执行速率最高,以提高提高整个分布式系统工作效率。
这样,依据所述工作量参数指示的工作数量由大到小,依次进行调度,确保为工作数量较大的待扫描任务,所调度的扫描节点性能更高。
进一步地,本发明上述实施例中,所述根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定所述扫描节点承载所述待扫描任务的理论完成时间的步骤,包括:
根据以及所述工作量参数,确定所述扫描节点以所述当前执行速率执行所述待扫描任务的预计增加时间;
将所述预计增加时间与所述预计完成时间相加,得到所述扫描节点承载所述待扫描任务的理论完成时间。
其中,根据以下公式3确定预计增加时间:
Tnn=Snn/En;
Tnn为预计增加时间,按照当前执行速率进行推算得到,Snn为工作量参数,即将工作量参数为Snn的待扫描任务分配给该扫描节点所需的完成时间;而理论完成时间为预计增加时间与所述预计完成时间相加之和,即该扫描节点完成原有任务以及即将下发的待扫描任务的时间之和。
可选地,本发明实施例中,所述获取每个待扫描任务的工作量参数的步骤,包括:
接收到携带有待扫描任务的预设扫描指令时,获取每个所述待扫描任务的工作量参数;
或按照预设扫描周期,获取所述分布式系统内预设的待扫描任务的工作量参数。
其中,调度中心启动任务调度流程,可以是接收到上层指令,即携带有待扫描任务的预设扫描指令;也可以是按照预设扫描周期自启动。
可选地,本发明实施例中,所述为所述待扫描任务调度所述扫描节点的步骤,包括:
通过预设任务下发通道,向所述扫描节点下发对应的所述待扫描任务;
和/或
通过预设反馈通道,接收所述扫描节点执行所述待扫描任务时反馈的扫描结果和/或扫描状态参数。
其中,扫描结果可以包括该扫描节点的网络范围内,包括的硬件设备、虚拟设备(比如软件和服务)的相关数量和参数等;
扫描状态参数包括正在执行的扫描任务的执行状态和扫描速率等状态参数。
仍然参考图2,每一个扫描节点与调度中心之间,有两条信息通道,一条是预设任务下发通道(图2中实线所示),即调度中心节点下发任务的通道;另一条是预设反馈通道(图2中虚线所示),扫描节点对调度中心反馈扫描结果或其他信息的通道。
可选地,本发明实施例中,所述当前节点参数为所述扫描节点向所述调度中心上报的;
所述为所述待扫描任务调度所述扫描节点的步骤之后,所述方法还包括:
若所述扫描节点连续一预设数目次上报的所述当前节点参数指示任务完成率为零,撤回所述待扫描任务,并产生故障告警。
其中,若当前节点参数中的预计完成时间为默认最大值,则指示任务完成率为零;若扫描节点连续一预设数目次上报的参数均如此,则表示该扫描节点没有执行待扫描任务,此时撤回所述待扫描任务,并产生针对该扫描节点的故障告警。
具体地,在分布式系统启动的初始状态,因为各扫描节点还没有开始任何一个扫描任务,所以,当前执行速率En和预计完成时间Tfn应该赋予初始值。比如,所有的扫描节点,En统一赋值0,代表初始状态;Tfn统一赋初始值0,代表扫描节点空闲,可以立即接收并执行新的扫描任务。当该节点接收到一个任务开始执行时,Tfn值改为65535,En仍为0,表示一个任务刚启动,节点忙碌,且未计算出当前执行效率。
如果一个扫描节点的网络发生故障,接收到一个待扫描任务后,经历了一段时间,扫描工作量Stn一直为零,则Tfn一直为65535。如果调度中心连续多次(例如5次)询问一个扫描节点,反馈的Tfn一直为65535,则认为该扫描节点发生故障,将发送给该节点的任务撤回,并产生故障告警,提示管理员对该扫描节点进行测试和维修。
作为第二示例,参见图3,工作数量为单个的待扫描任务(以下简称任务)的调度分配,按照如下流程进行:
步骤301,单个任务(工作量为Snn)需要分配。
步骤302,查询所有节点(扫描节点)的En和Tfn。
其中,Tfn为预计完成时间,En为当前执行速率。
步骤303,判断是否有空闲节点(Tfn=0):若是,执行步骤304,否则,执行步骤306。
步骤304,比较所有空闲节点的En。
步骤305,将任务分配给En值最大的空闲节点,并结束流程。
步骤306,计算所有节点的理论完成时间(Snn/En)+Tfn;
步骤307,将任务分配给(Snn/En)+Tfn值最小的节点,并结束流程。
作为第三示例,参见图4,工作数量为多个的待扫描任务(以下简称任务)的调度分配,按照如下流程进行:
步骤401,m个任务(工作量为S1—Sm)需要分配;m大于或等于2;
步骤402,查询所有扫描节点的En和Tfn:
步骤403,判断空闲节点数是否大于等于m:若是执行步骤404,否则执行步骤407;
步骤404,比较所有空闲节点的En;
步骤405,选出En最大的m个节点;
步骤406,将任务按工作量大小和En值一一匹配,并结束流程;
步骤407,选出未分配任务中工作量最大的一项;
步骤408,将工作量最大的任务分配给En最大的空闲节点;
步骤409,判断是否还有空闲节点:若是返回步骤407,否则执行步骤410;
步骤410,计算所有节点的(Snn/En)+Tfn;
步骤411,选出未分配任务中工作量最大的一项;
步骤412,将任务分配给(Snn/En)+Tfn值最小的节点;
步骤413,判断是否还有未分配任务:若是返回步骤411,否则结束流程。
本发明上述实施例中,通过获取每个待扫描任务的工作量参数,以及所述分布式系统的预设的扫描节点的当前节点参数,当前节点参数可以按照预设周期定期获取,也可以在启动任务调度时临时获取,确保当前节点参数处于动态更新状态。当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点;通过当前节点参数对扫描节点的速度、性能做区分,优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。
以上从调度中心一侧介绍了本发明实施例提供的任务调度方法,下面将结合附图从扫描节点一侧介绍本发明实施例提供的任务调度方法。
如图5所示,本发明实施例提供的任务调度方法,应用于分布式系统的扫描节点,所述方法包括:
步骤501,向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间。
其中,参见图2,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间,当前执行速率指在预设运行周期内,扫描节点的平均扫描速率,具体地,当前执行速率可根据以下公式1确定:
En=Stn/Ttn;
其中,En为当前执行速率,Stn为在当前预设周期内已完成的扫描工作量,Ttn为完成当前工作量所消耗的时间,即从当前、预设周期的起始时刻到当前时刻的时间长度,Stn、Ttn可由扫描节点自行记载。
预计完成时间为按照当前执行速率,预计剩余任务所需的执行时间长度,预计完成时间可由以下公式2求得:
Tfn=Sfn/En;
其中,Tfn为预计完成时间,Sfn为当前任务剩余工作量,En为当前执行速率,Sfn、En可由扫描节点自行记载。
当调度中心有一个或多个待扫描任务准备分配给扫描节点时,会首先查询各扫描节点的En值和Tfn值,扫描节点向调度中心上报En值和Tfn值;En值越大,代表该扫描节点当前执行速率越高;Tfn值越小,代表该节点能越快地执行完当前任务,启动新的任务。
步骤502,接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
其中,扫描节点接收到调度中心下发的待扫描任务时,表明调度中心根据任务数量以及所述当前节点参数,确定该扫描节点为当前性能较高的节点,在由该扫描节点执行所述待扫描任务。
本发明上述实施例中,通过向所述分布式系统的调度中心上报所述扫描节点的当前节点参数,确保当前节点参数处于动态更新状态。接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务;通过当前节点参数对扫描节点的速度、性能做区分,使得调度中心优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。本发明实施例解决了现有技术中,分布式扫描任务的调度分配机制,容易导致整个分布式系统的性能降低的问题。
以上介绍了本发明实施例提供的任务调度方法,下面将结合附图介绍本发明实施例提供的任务调度装置。
参见图6,本发明实施例提供了一种任务调度装置,应用于分布式系统的调度中心,所述装置包括:
获取模块601,用于获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间。
第一调度模块602,用于当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
第二调度模块603,用于当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
可选地,本发明上述实施例中,所述第一调度模块602用于:
当所述待扫描任务的任务数量为单个时,为所述待扫描任务调度当前执行速率最高的所述扫描节点;
和/或
当所述待扫描任务的任务数量大于或等于两个时,依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度当前执行速率最高的所述扫描节点。
可选地,本发明上述实施例中,所述第二调度模块603,用于:
确定子模块,用于根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定所述扫描节点承载所述待扫描任务的理论完成时间;
调度子模块,用于依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度理论完成时间最小的所述扫描节点。
可选地,本发明上述实施例中,所述确定子模块用于:
根据以及所述工作量参数,确定所述扫描节点以所述当前执行速率执行所述待扫描任务的预计增加时间;
将所述预计增加时间与所述预计完成时间相加,得到所述扫描节点承载所述待扫描任务的理论完成时间。
可选地,本发明上述实施例中,所述获取模块601用于:
接收到携带有待扫描任务的预设扫描指令时,获取每个所述待扫描任务的工作量参数;
或按照预设扫描周期,获取所述分布式系统内预设的待扫描任务的工作量参数。
可选地,本发明上述实施例中,所述为所述待扫描任务调度所述扫描节点包括:
通过预设任务下发通道,向所述扫描节点下发对应的所述待扫描任务;
和/或
通过预设反馈通道,接收所述扫描节点执行所述待扫描任务时反馈的扫描结果和/或扫描状态参数。
可选地,本发明上述实施例中,所述当前节点参数为所述扫描节点向所述调度中心上报的;
所述装置还包括:
告警模块,用于若所述扫描节点连续一预设数目次上报的所述当前节点参数指示任务完成率为零,撤回所述待扫描任务,并产生故障告警。
本发明上述实施例中,在获取模块601获取每个待扫描任务的工作量参数,以及所述分布式系统的预设的扫描节点的当前节点参数,当前节点参数可以按照预设周期定期获取,也可以在启动任务调度时临时获取,确保当前节点参数处于动态更新状态。当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,第一调度模块602根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,第二调度模块603根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点;通过当前节点参数对扫描节点的速度、性能做区分,优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。
参见图7,本发明实施例提供了一种任务调度装置,应用于分布式系统的扫描节点,所述装置包括:
上报模块701,用于向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
执行模块702,用于接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
本发明上述实施例中,通过上报模块701向所述分布式系统的调度中心上报所述扫描节点的当前节点参数,确保当前节点参数处于动态更新状态。执行模块702接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务;通过当前节点参数对扫描节点的速度、性能做区分,使得调度中心优先为待扫描任务调度高性能节点,且当前节点参数处于动态更新状态,确保任务调度时具有参考价值,提高整个分布式系统性能以及工作效率。
图8示出了本发明又一实施例提供的一种电子设备的结构示意图。
如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:
获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;
当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
或
向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明又一实施例提供的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,所述程序被处理器执行时实现如本发明上述实施例中提供的方法中的步骤,本实施不再赘述。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种任务调度方法,应用于分布式系统的调度中心,其特征在于,所述方法包括:
获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;
当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点的步骤,包括:
当所述待扫描任务的任务数量为单个时,为所述待扫描任务调度当前执行速率最高的所述扫描节点;
和/或
当所述待扫描任务的任务数量大于或等于两个时,依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度当前执行速率最高的所述扫描节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点的步骤,包括:
根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定所述扫描节点承载所述待扫描任务的理论完成时间;
依据所述工作量参数指示的工作数量由大到小,依次为所述待扫描任务调度理论完成时间最小的所述扫描节点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前执行速率、所述预计完成时间以及所述工作量参数,确定所述扫描节点承载所述待扫描任务的理论完成时间的步骤,包括:
根据以及所述工作量参数,确定所述扫描节点以所述当前执行速率执行所述待扫描任务的预计增加时间;
将所述预计增加时间与所述预计完成时间相加,得到所述扫描节点承载所述待扫描任务的理论完成时间。
5.根据权利要求1所述的方法,其特征在于,所述获取每个待扫描任务的工作量参数的步骤,包括:
接收到携带有待扫描任务的预设扫描指令时,获取每个所述待扫描任务的工作量参数;
或按照预设扫描周期,获取所述分布式系统内预设的待扫描任务的工作量参数。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述为所述待扫描任务调度所述扫描节点的步骤,包括:
通过预设任务下发通道,向所述扫描节点下发对应的所述待扫描任务;
和/或
通过预设反馈通道,接收所述扫描节点执行所述待扫描任务时反馈的扫描结果和/或扫描状态参数。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述当前节点参数为所述扫描节点向所述调度中心上报的;
所述为所述待扫描任务调度所述扫描节点的步骤之后,所述方法还包括:
若所述扫描节点连续一预设数目次上报的所述当前节点参数指示任务完成率为零,撤回所述待扫描任务,并产生故障告警。
8.一种任务调度方法,应用于分布式系统的扫描节点,其特征在于,所述方法包括:
向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
9.一种任务调度装置,应用于分布式系统的调度中心,其特征在于,所述装置包括:
获取模块,用于获取每个待扫描任务的工作量参数以及所述分布式系统的预设的扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
第一调度模块,用于当所述待扫描任务的任务数量小于或等于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率以及所述工作量参数,为所述待扫描任务调度所述扫描节点;
第二调度模块,用于当所述待扫描任务的任务数量大于处于空闲状态的所述扫描节点的节点数量时,根据所述当前执行速率、所述预计完成时间以及所述工作量参数,为所述待扫描任务调度所述扫描节点。
10.一种任务调度装置,应用于分布式系统的扫描节点,其特征在于,所述装置包括:
上报模块,用于向所述分布式系统的调度中心上报所述扫描节点的当前节点参数;其中,所述当前节点参数包括当前执行速率和/或执行原有扫描任务的预计完成时间;
执行模块,用于接收到所述调度中心根据待扫描任务的任务数量以及所述当前节点参数下发的待扫描任务时,执行所述待扫描任务。
11.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8中任一项所述的任务调度方法中的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1至8中任一项所述的任务调度方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564311.5A CN111355751A (zh) | 2018-12-20 | 2018-12-20 | 任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564311.5A CN111355751A (zh) | 2018-12-20 | 2018-12-20 | 任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111355751A true CN111355751A (zh) | 2020-06-30 |
Family
ID=71195333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811564311.5A Withdrawn CN111355751A (zh) | 2018-12-20 | 2018-12-20 | 任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111355751A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565248A (zh) * | 2020-12-02 | 2021-03-26 | 北京知道创宇信息技术股份有限公司 | 网络扫描调度方法、装置及控制设备 |
CN113449300A (zh) * | 2021-05-31 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种分布式服务器自动分配并扫描病毒的方法及装置 |
CN116362644A (zh) * | 2023-04-10 | 2023-06-30 | 湖南省港务集团有限公司 | 一种解决集装箱自动化堆场双机协作的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063336A (zh) * | 2011-01-12 | 2011-05-18 | 国网电力科学研究院 | 一种分布式计算多应用功能异步并发调度方法 |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
CN103473345A (zh) * | 2013-09-23 | 2013-12-25 | 深圳市融创天下科技股份有限公司 | 一种预估时长的方法 |
US20140108861A1 (en) * | 2012-10-15 | 2014-04-17 | Hadapt, Inc. | Systems and methods for fault tolerant, adaptive execution of arbitrary queries at low latency |
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN104811415A (zh) * | 2014-01-23 | 2015-07-29 | 杭州迪普科技有限公司 | 分布式扫描系统负载均衡方法及装置 |
CN106034040A (zh) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 扫描节点的控制方法、装置及系统 |
CN107800690A (zh) * | 2017-10-09 | 2018-03-13 | 西安交大捷普网络科技有限公司 | 一种分布式漏洞扫描系统的任务分配方法 |
-
2018
- 2018-12-20 CN CN201811564311.5A patent/CN111355751A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063336A (zh) * | 2011-01-12 | 2011-05-18 | 国网电力科学研究院 | 一种分布式计算多应用功能异步并发调度方法 |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
US20140108861A1 (en) * | 2012-10-15 | 2014-04-17 | Hadapt, Inc. | Systems and methods for fault tolerant, adaptive execution of arbitrary queries at low latency |
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN103473345A (zh) * | 2013-09-23 | 2013-12-25 | 深圳市融创天下科技股份有限公司 | 一种预估时长的方法 |
CN104811415A (zh) * | 2014-01-23 | 2015-07-29 | 杭州迪普科技有限公司 | 分布式扫描系统负载均衡方法及装置 |
CN106034040A (zh) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 扫描节点的控制方法、装置及系统 |
CN107800690A (zh) * | 2017-10-09 | 2018-03-13 | 西安交大捷普网络科技有限公司 | 一种分布式漏洞扫描系统的任务分配方法 |
Non-Patent Citations (1)
Title |
---|
胡小明: ""云安全漏洞扫描系统虚拟节点管理模块的设计与实现"", 《中国优秀硕士论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565248A (zh) * | 2020-12-02 | 2021-03-26 | 北京知道创宇信息技术股份有限公司 | 网络扫描调度方法、装置及控制设备 |
CN112565248B (zh) * | 2020-12-02 | 2023-06-02 | 北京知道创宇信息技术股份有限公司 | 网络扫描调度方法、装置及控制设备 |
CN113449300A (zh) * | 2021-05-31 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种分布式服务器自动分配并扫描病毒的方法及装置 |
CN116362644A (zh) * | 2023-04-10 | 2023-06-30 | 湖南省港务集团有限公司 | 一种解决集装箱自动化堆场双机协作的方法 |
CN116362644B (zh) * | 2023-04-10 | 2024-05-10 | 湖南省港务集团有限公司 | 一种解决集装箱自动化堆场双机协作的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940162B2 (en) | Realtime optimization of compute infrastructure in a virtualized environment | |
CN108572875B (zh) | 资源分配方法、装置及系统 | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN111355751A (zh) | 任务调度方法及装置 | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
CN110955501B (zh) | 服务请求处理方法、装置、电子设备及可读介质 | |
CN109936471B (zh) | 一种多集群的资源分配方法和装置 | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN114816709A (zh) | 任务调度方法、装置、服务器及可读存储介质 | |
Wu et al. | ABP scheduler: Speeding up service spread in docker swarm | |
CN111464382A (zh) | 一种业务系统的压力智能分配测试方法及装置 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN111143210A (zh) | 一种测试任务调度方法和系统 | |
CN115129481B (zh) | 一种计算资源分配方法、装置及电子设备 | |
CN108833532B (zh) | 基于物联网的服务处理方法、装置和系统 | |
CN115712501A (zh) | 一种适用于工程机械的云仿真方法和系统 | |
US10877800B2 (en) | Method, apparatus and computer-readable medium for application scheduling | |
CN114327906A (zh) | 批量任务的处理方法及其装置、计算机可读存储介质 | |
US10866833B2 (en) | Method and appratus for implementing microkernel architecture of industrial server | |
CN111309467A (zh) | 任务分发方法及装置、电子设备及存储介质 | |
CN111782688A (zh) | 基于大数据分析的请求处理方法、装置、设备及存储介质 | |
CN114546631A (zh) | 任务调度方法、控制方法、核心、电子设备、可读介质 | |
CN114070855A (zh) | 资源分配方法、资源分配装置、资源分配系统、存储介质 | |
CN115145711B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200630 |
|
WW01 | Invention patent application withdrawn after publication |