任务动态调度方法、装置、计算机设备及存储介质与流程

文档序号:22312940发布日期:2020-09-23 01:33阅读:106来源:国知局
任务动态调度方法、装置、计算机设备及存储介质与流程

本发明涉及云服务技术领域,尤其涉及一种任务动态调度方法、装置、计算机设备及存储介质。



背景技术:

随着使用时间的增加,系统中的数据库的数据信息不断扩大,针对数据库的信息采集需求日益增加,在系统正常且请求量不大的时候,多个维度的数据采集对系统不会造成太大的压力,但在请求量较大的情况下,会增加系统的负荷,影响系统的可用性与健康状态。

现有针对系统在负荷异常的情况下针对任务进行调度的方式,主要是根据任务预先设定的优先级进行调度,对于优先级的衡量通常仅取决于紧迫程度和固定优先级,由于任务的优先级随时间的变化将发生不同程度的变化,导致任务调度的准确性不高,从而使系统处理速度降低,且存在系统崩溃情况,影响用户的工作效率。



技术实现要素:

本发明实施例提供一种任务动态调度方法、装置、计算机设备及存储介质,以解决传统任务调度方式的准确性不高,影响用户工作效率的问题。

一种任务动态调度方法,包括:

获取目标系统的系统压力值;

将所述系统压力值与预设阈值进行比较,若所述系统压力值大于预设阈值,则获取所述目标系统中所有执行任务及所述执行任务对应的影响因子,其中,所述执行任务包含最大执行时间;

针对每个所述执行任务,根据所述最大执行时间对所述执行任务进行异常判断,提取正常任务;

利用所述影响因子对所述正常任务进行实时优先级计算,得到每个所述正常任务对应的实时优先级;

根据所述实时优先级和预设调度方案对每个所述正常任务进行实时调度处理,并基于预设时间间隔后重新获取所述目标系统的系统压力值作为目标压力值;

将所述目标压力值与预设阈值进行比较,若所述目标压力值小于预设阈值,则完成对所述正常任务的实时调度处理;

若所述目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对所述正常任务进行实时调度处理,直到所述目标压力值小于预设阈值为止。

一种任务动态调度装置,包括:

第一获取模块,用于获取目标系统的系统压力值;

第二获取模块,用于将所述系统压力值与预设阈值进行比较,若所述系统压力值大于预设阈值,则获取所述目标系统中所有执行任务及所述执行任务对应的影响因子,其中,所述执行任务包含最大执行时间;

异常判断模块,用于针对每个所述执行任务,根据所述最大执行时间对所述执行任务进行异常判断,提取正常任务;

计算模块,用于利用所述影响因子对所述正常任务进行实时优先级计算,得到每个所述正常任务对应的实时优先级;

调度模块,用于根据所述实时优先级和预设调度方案对每个所述正常任务进行实时调度处理,并基于预设时间间隔后重新获取所述目标系统的系统压力值作为目标压力值;

第一调度完成模块,用于将所述目标压力值与预设阈值进行比较,若所述目标压力值小于预设阈值,则完成对所述正常任务的实时调度处理;

第二调度完成模块,用于若所述目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对所述正常任务进行实时调度处理,直到所述目标压力值小于预设阈值为止。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任务动态调度方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任务动态调度方法的步骤。

上述任务动态调度方法、装置、计算机设备及存储介质,在目标系统的系统压力值大于预设阈值时,获取目标系统中所有执行任务及执行任务对应的影响因子;在根据执行任务包含的最大执行时间对执行任务进行异常判断,提取正常任务;接着利用影响因子对正常任务进行实时优先级计算,得到每个正常任务对应的实时优先级;根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值;若目标压力值小于预设阈值,则完成对正常任务的实时调度处理;若目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对正常任务进行实时调度处理,直到目标压力值小于预设阈值为止。通过识别系统压力值的方式能够识别目标系统是否异常,以便后续及时进行实时调度处理,保证目标系统的稳定性;在实时调度过程对执行任务进行异常判断的方式,能够有效过滤异常任务,避免后续调度处理过程由于异常任务的介入,导致目标系统出现异常的情况,从而能够提高目标系统的处理效率以及安全性;通过计算每个正常任务对应的实时优先级,能够实时分析正常任务的重要性,有利于重要性高的正常任务优先处理,提高后续实时调度处理的准确性;且在经过调度处理后目标压力值仍处理异常情况下,将当前预设调度方案反馈给监控端进行分析,能够帮助监控端了解目标系统的实际情况,以提高监控端反馈调整方案的准确性。从而在目标系统出现负荷异常的情况下,提高对执行任务实时调度的准确性,避免目标系统出现崩溃情况,进一步提高用户的工作效率。

附图说明

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

图1是本发明实施例提供的任务动态调度方法的流程图;

图2是本发明实施例提供的任务动态调度方法中步骤s3的流程图;

图3是本发明实施例提供的任务动态调度方法中步骤s34的流程图;

图4是本发明实施例提供的任务动态调度方法中步骤s5的流程图;

图5是本发明实施例提供的任务动态调度方法中对正常任务的运行状态进行调整的流程图;

图6是本发明实施例提供的任务动态调度装置的示意图;

图7是本发明实施例提供的计算机设备的基本机构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的任务动态调度方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种任务动态调度方法,包括如下步骤:

s1:获取目标系统的系统压力值。

在本发明实施例中,系统压力值是用于表现目标系统对应的负荷情况,且系统压力值与目标系统对应的负荷情况成正比,即系统压力值越大,表示目标系统对应的负荷情况越重。

通过直接从预设日志表中获取目标系统当前的系统压力值,其中,预设日志表是指专门用于实时记录目标系统的系统压力值的数据表。

s2:将系统压力值与预设阈值进行比较,若系统压力值大于预设阈值,则获取目标系统中所有执行任务及执行任务对应的影响因子,其中,执行任务包含最大执行时间。

在本发明实施例中,将系统压力值与预设阈值进行比较,若系统压力值大于预设阈值,表示目标系统当前的负荷情况达到用户设定的上限值,需要对目标系统中存在的执行任务进行调度,并从预设数据库中获取目标系统当前的所有执行任务及其每个执行任务对应的影响因子。

其中,预设数据库是指专门用于存储目标系统当前在执行中的执行任务及其每个执行任务对应的影响因子的数据库。

需要强调的是,为进一步保证上述执行任务的私密和安全性,上述执行任务还可以存储于一区块链的节点中。

s3:针对每个执行任务,根据最大执行时间对执行任务进行异常判断,提取正常任务。

在本发明实施例中,最大执行时间表示执行任务需要在该时间内完成,否则认为该执行任务执行失败。针对每个执行任务,根据最大执行时间和预设筛选要求,筛选掉异常的执行任务,保留正常的执行任务作为正常任务。

其中,预设筛选要求是指结合最大执行时间对执行任务进行异常判断的过滤规则。

需要说明的是,通过提取正常任务的方式,能够有效将异常任务进行过滤,避免后续调度处理过程由于异常任务的介入,导致目标系统出现异常的情况,影响目标系统的处理效率,且能够有效保证目标系统的安全性。

s4:利用影响因子对正常任务进行实时优先级计算,得到每个正常任务对应的实时优先级。

具体地,将每个正常任务对应的影响因子导入到预设计算端口,预设计算端口在检测到影响因子后,将利用预先设置的实时优先级计算函数计算影响因子对应的实时优先级,即为正常任务对应的实时优先级。

其中,预设计算端口是指用户预先设定用于计算实时优先级的处理端口,且该端口中包含用户预先设置的实时优先级计算函数。

s5:根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值。

在本发明实施例中,预设调度方案是指用户预先设定结合实时优先级进行任务调度的调度规则。预设时间间隔是指根据用户实际需求设定的时间间隔,其具体可以是指1小时,也可以是半小时,此处不作限制。

具体地,根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,且经过预设时间间隔后,重新从预设日志表中获取目标系统的系统压力值作为目标压力值。

s6:将目标压力值与预设阈值进行比较,若目标压力值小于预设阈值,则完成对正常任务的实时调度处理。

具体地,将目标压力值与预设阈值进行比较,若目标压力值小于预设阈值,表示针对目标系统的正常任务的实时调度处理方式能够有效减轻系统负荷,即完成对每个正常任务的调度处理。

s7:若目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对正常任务进行实时调度处理,直到目标压力值小于预设阈值为止。

在本发明实施例中,监控端是指专门针对在目标压力值大于等于预设阈值的情况下,能够对预设调度方案进行分析,并根据分析结果输出调整方案的处理端口。

具体地,若目标压力值大于等于预设阈值,表示针对目标系统的执行的调度处理方案无法有效减轻系统负荷,并将对正常任务的预设调度方案按照预设发送方式发送给监控端,监控端在接收到信息后,可以针对实际情况进行分析,并重新反馈新的调整方案给服务端,当接收到监控端反馈的调整方案时,按照该调整方案对正常任务进行调度处理,直到目标压力值小于预设阈值为止。

其中,预设发送方式具体可以是指以邮件的形式,此处不做限制。

本实施例中,在目标系统的系统压力值大于预设阈值时,获取目标系统中所有执行任务及执行任务对应的影响因子;在根据执行任务包含的最大执行时间对执行任务进行异常判断,提取正常任务;接着利用影响因子对正常任务进行实时优先级计算,得到每个正常任务对应的实时优先级;根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值;若目标压力值小于预设阈值,则完成对正常任务的实时调度处理;若目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对正常任务进行实时调度处理,直到目标压力值小于预设阈值为止。通过识别系统压力值的方式能够识别目标系统是否异常,以便后续及时进行实时调度处理,保证目标系统的稳定性;在实时调度过程对执行任务进行异常判断的方式,能够有效过滤异常任务,避免后续调度处理过程由于异常任务的介入,导致目标系统出现异常的情况,从而能够提高目标系统的处理效率以及安全性;通过计算每个正常任务对应的实时优先级,能够实时分析正常任务的重要性,有利于重要性高的正常任务优先处理,提高后续实时调度处理的准确性;且在经过调度处理后目标压力值仍处理异常情况下,将当前预设调度方案反馈给监控端进行分析,能够帮助监控端了解目标系统的实际情况,以提高监控端反馈调整方案的准确性。从而在目标系统出现负荷异常的情况下,提高对执行任务实时调度的准确性,避免目标系统出现崩溃情况,进一步提高用户的工作效率。

在一实施例中,执行任务存储于区块链中,如图2所示,步骤s3中,即针对每个执行任务,根据最大执行时间对执行任务进行异常判断,提取正常任务包括如下步骤:

s31:针对每个执行任务,从预设历史库中获取执行任务对应的历史执行时间。

在本发明实施例中,每个执行任务都有其对应的任务id,通过将任务id与预设历史库中的历史id进行比较,若任务id与历史id相同,则获取历史id对应的执行时间作为该任务id对应的执行任务的历史执行时间。

其中,预设历史库是指专门用于存储不同的历史id及历史id对应的执行时间的数据库,且必存在与任务id相同的历史id。

s32:基于历史执行时间和最大执行时间,通过拉依达准则剔除异常的执行任务,保留正常的执行任务作为初始任务。

在本发明实施例中,拉依达准则是指先假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。

具体地,根据公式(1)筛选出异常的执行任务作为异常任务,并对异常任务进行剔除,保留正常的执行任务作为初始任务。

|vb|=|xb-x|>3σ公式(1)

其中,vb为误差,xb为最大执行时间,x为历史执行时间,σ为预设标准差。

若vb大于3σ,则表示该误差对应的执行任务为异常任务。

s33:获取初始任务的当前执行状态和预估执行状态。

在本发明实施例中,根据初始任务包含的任务id获取初始任务的当前执行状态和当前执行时间,并利用任务id与预设预估库中的基础id进行匹配的方式,获取匹配成功的基础id对应的所有执行状态,以及每个执行状态对应的执行时间,并根据当前执行时间,从所有执行状态中选取与当前执行时间相同的执行时间对应的执行状态作为预估执行状态。

其中,预设预估库是指专门用于存储基础id及基础id对应的所有执行状态,以及每个执行状态对应的执行时间的数据库。

s34:将当前执行状态和预估执行状态进行比较,并根据比较结果确定正常任务。

具体地,将步骤s33得到的当前执行状态和预估执行状态进行比较,并根据比较结果与预设规则确定正常任务。其中,预设规则是指用户预先设定根据不同的比较结果确定正常任务的规则。

本实施例中,通过根据历史执行时间和最大执行时间从执行任务中筛选出初始任务的方式,能够有效剔除部分不符合用户设定标准的数据,避免后续对多余数据的计算,提高目标系统的计算效率;再根据当前执行状态和预估执行状态从初始任务中筛选出正常任务,能够有效过滤异常任务,避免后续调度处理过程由于异常任务的介入,导致目标系统出现异常的情况,从而能够提高目标系统的处理效率以及安全性。

在一实施例中,如图3所示,步骤s34中,即将当前执行状态和预估执行状态进行比较,并根据比较结果确定正常任务包括如下步骤:

s341:将当前执行状态和预估执行状态进行比较。

具体地,将当前执行状态和预估执行状态进行比较。

s342:若当前执行状态与预估执行状态相同,则将当前执行状态对应的初始任务确定为正常任务,正常任务包含任务优先级。

在本发明实施例中,根据步骤s341的比较方式,若当前执行状态与预估执行状态相同,则将当前执行状态对应的初始任务确定为正常任务,正常任务包含任务优先级。

需要说明的是,任务优先级是指用于表示任务执行的先后顺序。

s343:若当前执行状态与预估执行状态不同,则识别当前执行状态是否为延迟状态,其中,当前执行状态包含延迟状态。

在本发明实施例中,根据步骤s341的比较方式,若当前执行状态与预估执行状态不同,则识别当前执行状态是否为延迟状态。

s344:对延迟状态的初始任务对应的任务优先级进行提高,并将任务优先级提高后的初始任务确定为正常任务。

具体地,对延迟状态的初始任务对应的任务优先级按照预先设定提高标准进行提高,并将任务优先级提高后的初始任务确定为正常任务。

需要说明的是,如果当前执行状态为延迟,表示该当前执行状态对应的初始任务是因为系统资源不足或者其他情况有异常,故需要发出预警以提高其优先级,从而防止饥饿现象发生。

本实施例中,将当前执行状态和预估执行状态进行比较的方式,能够快速准确的辨别出正常任务;且在当前执行状态与预估执行状态不同的情况下,对当前执行状态进行二次识别,能够避免出现误差导致第一次识别不准确,提高正常任务获取的准确性;最后对延迟状态的初始任务对应的任务优先级进行提高并确定为正常任务,能够有效发出预警以提高其优先级,从而防止饥饿现象发生,保证正常任务获取的准确性,进而提高后续实时调度处理的准确性。

在一实施例中,影响因子包含紧急程度、执行价值和均衡因子,步骤s4中,即利用影响因子对正常任务进行实时优先级计算,得到每个正常任务对应的实时优先级包括如下步骤:

s41:按照公式(2),计算每个正常任务对应的实时优先级:

p=ds*(1-a)+wr*a公式(2)

其中,p为实时优先级,ds为紧急程度,a为均衡因子,wr为执行价值。

具体地,利用公式(2)每个正常任务对应的实时优先级。

进一步地,公式(2)中紧急程度ds具体还可以由公式(3)计算得到,执行价值wr可以由公式(4)计算得到。

其中,ts为正常任务对应的最大执行时间,(di-systemtime)为正常任务对应的预设绝对截止期。

预设绝对截止期是指正常任务在该期限内必须得出一个有意义的结果,否则认为该正常任务执行失败。

需要说明的是,ds与ts成正比,表示正常任务对应的最大执行时间越大,正常任务对应的实时优先级越高;ds与di-systemtime成反比,表示正常任务对应的预设绝对截止期越小,正常任务对应的实时优先级越高。

优选地,ds的取值范围为(0,1]。

其中,e为自然对数的底数,u为正常任务对应的预设衰减系数,t为正常任务当前执行时间距离最大执行时间的差值,d为预设绝对截止期。

需要说明的是,预设衰减系数可用于控制正常任务对应的实时优先级,在预设衰减系数不同的情况下,会有不同的衰减速度,假设预设绝对截止期为500,则不同的预设衰减系数将把正常任务分为3种类别,分别为临界型、敏感型和不敏感型。

其中,临界型u的取值范围为:4≤u≤6,表示这类正常任务对于预设绝对截止期有强制性要求,只要在预设绝对截止期前完成收益良好,一旦超过预设绝对截止期则迅速衰减。

敏感型u的取值范围为:0.01≤u≤1,表示这类正常任务对于完成时间较为敏感,会随着完成时间的不同对应的收益也不同。

不敏感型u的取值范围为:u=0,表示这类正常任务对于预设绝对截止期要求比较宽松,收益值基本固定。

本实施例中,通过公式(2)能够快速准确地计算出每个正常任务对应的实时优先级,提高后续根据实时优先级对正常任务进行实时调度处理的准确性及处理效率。

在一实施例中,目标系统包含k个用于执行正常任务的执行平台,且每个执行平台包含资源剩余值,如图4所示,步骤s5中,即根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值包括如下步骤:

s51:将每个执行平台包含的资源剩余值与预设正常值进行比较。

在本发明实施例中,由于目标系统包含k个用于执行正常任务的执行平台,且每个执行平台包含资源剩余值,故将每个执行平台包含的资源剩余值与预设正常值进行比较。

s52:若资源剩余值大于等于预设正常值,则选取资源剩余值最大的执行平台作为目标平台。

在本发明实施例中,根据步骤s51的比较方式,若资源剩余值大于等于预设正常值,则将每个执行平台对于的资源剩余值进行比较,并从中选取资源剩余值最大的执行平台作为目标平台。

其中,资源剩余值用于表示执行平台当前的负载情况,资源剩余值与执行平台当前的负载情况成反比,即资源剩余值越大,执行平台当前的负载情况越轻。

需要说明的是,目标平台是指用于执行正常任务的专属平台,在选择目标平台时,为了均衡使用现有资源,优选取资源剩余值较大的执行平台。

另外,若从节省执行平台资源的角度上选择,则可以选取负载情况较重的执行平台,即选取资源剩余值较小的执行平台作为目标平台。

s53:若资源剩余值小于预设正常值,则将所有执行平台及每个执行平台的资源剩余值发送给审核用户。

在本发明实施例中,根据步骤s51的比较方式,若资源剩余值小于预设正常值,则将所有执行平台及每个执行平台的资源剩余值发送给审核用户。

s54:获取审核用户反馈的执行平台作为目标平台。

在本发明实施例中,审核用户是指专门针对执行平台及每个执行平台的资源剩余值进行分析的用户,当审核用户接收到执行平台及每个执行平台的资源剩余值后,将根据实际情况进行分析,从中选取一个执行平台进行反馈,当获取到审核用户反馈的执行平台,将该执行平台作为目标平台。

s55:将所有正常任务按照实时优先级先后顺序在目标平台上进行调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值。

具体地,将所有正常任务按照实时优先级的先后顺序进行排序,并在目标平台上根据排序进行逐一调度处理,即执行完一个正常任务后在执行第二个正常任务,并在经过预设时间间隔后,重新从预设日志表中获取目标系统的系统压力值作为目标压力值。

进一步地,当出现实时优先级相同的情况时,执行时间越早的正常任务优先进行调度。

需要说明的是,如果正常任务在目标平台上连续调度失败,将重新选取预先设定的执行平台作为目标平台进行调度,从而提高系统的鲁棒性。

本实施例中,将每个执行平台包含的资源剩余值与预设正常值进行比较的方式,能够在不同情况下根据分析筛选出合适的目标平台,保证正常任务能够在目标平台上稳定运行,避免出现资源拥堵,导致实时调度处理失败的情况,从而有效提高实时调度处理的准确性,避免目标系统出现崩溃情况,进一步提高用户的工作效率。

在一实施例中,正常任务包含运行状态,运行状态包含原始状态和调度状态,如图5所示,步骤s6之后,该任务动态调度方法还包括:

s8:若目标压力值小于预设重启值,则从预设状态库中获取目标系统当前的所有正常任务的运行状态。

在本发明实施例中,若目标压力值小于预设重启值,则从预设状态库中获取目标系统当前的所有正常任务的运行状态。其中,预设重启值是指根据用户实际需求进行设定用于恢复正常任务原始状态的数值。

预设状态库是指专门用于存储目标系统当前的正常任务及正常任务对应的运行状态的数据库,其中,运行状态包含原始状态和调度状态。

s9:若检测到运行状态为调度状态,则将调度状态对应的正常任务的运行状态调整为原始状态。

具体地,若检测到运行状态为调度状态,则将调度状态对应的正常任务的运行状态调整为原始状态。

本实施例中,在目标压力值小于预设重启值的情况下,获取目标系统当前的所有正常任务的运行状态,并将调度状态对应的正常任务的运行状态调整为原始状态。通过调整运行状态的方式,能够让目标系统在负荷情况得到改善之后,重新使正常任务恢复原先的运行状态,保证正常任务的处理效率,从而保证用户的工作效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种任务动态调度装置,该任务动态调度装置与上述实施例中任务动态调度方法一一对应。如图6所示,该任务动态调度装置包括第一获取模块61,第二获取模块62,异常判断模块63,计算模块64,调度模块65,第一调度完成模块66和第二调度完成模块67。各功能模块详细说明如下:

第一获取模块61,用于获取目标系统的系统压力值;

第二获取模块62,用于将系统压力值与预设阈值进行比较,若系统压力值大于预设阈值,则获取目标系统中所有执行任务及执行任务对应的影响因子,其中,执行任务包含最大执行时间;需要强调的是,为进一步保证上述执行任务的私密和安全性,上述执行任务还可以存储于一区块链的节点中;

异常判断模块63,用于针对每个执行任务,根据最大执行时间对执行任务进行异常判断,提取正常任务;

计算模块64,用于利用影响因子对正常任务进行实时优先级计算,得到每个正常任务对应的实时优先级;

调度模块65,用于根据实时优先级和预设调度方案对每个正常任务进行实时调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值;

第一调度完成模块66,用于将目标压力值与预设阈值进行比较,若目标压力值小于预设阈值,则完成对正常任务的实时调度处理;

第二调度完成模块67,用于若目标压力值大于等于预设阈值,则将预设调度方案发送给监控端,并获取监控端发送的调整方案对正常任务进行实时调度处理,直到目标压力值小于预设阈值为止。

进一步地,异常判断模块63包括:

第三获取子模块,用于针对每个执行任务,从预设历史库中获取执行任务对应的历史执行时间;

初始任务确定子模块,用于基于历史执行时间和最大执行时间,通过拉依达准则剔除异常的执行任务,保留正常的执行任务作为初始任务;

第四获取子模块,用于获取初始任务的当前执行状态和预估执行状态;

比较子模块,用于将当前执行状态和预估执行状态进行比较,并根据比较结果确定正常任务。

进一步地,比较子模块包括:

状态比较单元,用于将当前执行状态和预估执行状态进行比较;

状态比较相同单元,用于若当前执行状态与预估执行状态相同,则将当前执行状态对应的初始任务确定为正常任务,正常任务包含任务优先级;

状态比较不同单元,用于若当前执行状态与预估执行状态不同,则识别当前执行状态是否为延迟状态,其中,当前执行状态包含延迟状态;

正常任务确定单元,用于对延迟状态的初始任务对应的任务优先级进行提高,并将任务优先级提高后的初始任务确定为正常任务。

进一步地,计算模块64包括:

实时优先级计算子模块,用于按照公式(2),计算每个正常任务对应的实时优先级:

p=ds*(1-a)+wr*a公式(2)

其中,p为实时优先级,ds为紧急程度,a为均衡因子,wr为执行价值。

进一步地,调度模块65包括:

数值比较子模块,用于将每个执行平台包含的资源剩余值与预设正常值进行比较;

第一数值比较子模块,用于若资源剩余值大于等于预设正常值,则选取资源剩余值最大的执行平台作为目标平台;

第二数值比较子模块,用于若资源剩余值小于预设正常值,则将所有执行平台及每个执行平台的资源剩余值发送给审核用户;

第五获取子模块,用于获取审核用户反馈的执行平台作为目标平台;

目标平台调度子模块,用于将所有正常任务按照实时优先级先后顺序在目标平台上进行调度处理,并基于预设时间间隔后重新获取目标系统的系统压力值作为目标压力值。

进一步地,该任务动态调度装置还包括:

运行状态获取模块,用于若目标压力值小于预设重启值,则从预设状态库中获取目标系统当前的所有正常任务的运行状态;

运行状态调整模块,用于若检测到运行状态为调度状态,则将调度状态对应的正常任务的运行状态调整为原始状态。

本申请的一些实施例公开了计算机设备。具体请参阅图7,为本申请的一实施例中计算机设备90基本结构框图。

如图7中所示意的,所述计算机设备90包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图7中仅示出了具有组件91-93的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器91还可以既包括所述计算机设备90的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备90的操作系统和各类应用软件,例如所述任务动态调度方法的程序代码等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器92在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备90的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的程序代码或者处理数据,例如运行所述任务动态调度方法的程序代码。

所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备90与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行任务信息录入程序,所述执行任务信息录入程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种任务动态调度方法的步骤。

需要强调的是,为进一步保证上述执行任务的私密和安全性,上述执行任务还可以存储于一区块链的节点中

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1