CN112463339A - 一种多任务调度方法、系统、设备及存储介质 - Google Patents
一种多任务调度方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112463339A CN112463339A CN202011453227.3A CN202011453227A CN112463339A CN 112463339 A CN112463339 A CN 112463339A CN 202011453227 A CN202011453227 A CN 202011453227A CN 112463339 A CN112463339 A CN 112463339A
- Authority
- CN
- China
- Prior art keywords
- task
- configuration file
- queue
- influence factor
- tasks
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000000737 periodic effect Effects 0.000 claims description 11
- 238000009825 accumulation Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 11
- 230000001960 triggered effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种多任务调度方法,包括:建立包括N个特征影响因子的配置文件;通过任务调度器将任务队列中的任务进行下发;按照预设周期更新配置文件中的N个特征影响因子;每次更新配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的队列任务总时长低于第一阈值时,停止进行配置文件的更新。应用本申请的方案,可以有效地实现多任务调度,达到良好的任务调度效果。本申请还公开了一种多任务调度系统、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种多任务调度方法、系统、设备及存储介质。
背景技术
PIM平台即物理基础设施管理平台,负责各厂商物理设备例如服务器、交换机、防火墙、磁阵等的统一化管理。针对这些设备,平台需要采集诸如硬件数据、监控数据等大量的信息。数据采集就会有相应的采集任务,而随着设备数量逐渐增多,平台负责采集的任务数量就会呈指数增长,也就产生了任务管理和调度的概念。目前的任务调度方案很多,针对不同场景,有不同的调度方案,但核心目标无非是“多、快、好、省”地执行任务,即,利用尽量少的资源尽量快尽量优质地完成尽量多的任务。
综上所述,如何有效地实现多任务调度,达到良好的任务调度效果,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种多任务调度方法、系统、设备及存储介质,以有效地实现多任务调度,达到良好的任务调度效果。
为解决上述技术问题,本发明提供如下技术方案:
一种多任务调度方法,包括:
建立包括N个特征影响因子的配置文件;
通过任务调度器将任务队列中的任务进行下发;
按照预设周期更新所述配置文件中的N个特征影响因子;
每次更新所述配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新所述配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的所述队列任务总时长低于第一阈值时,停止进行所述配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
优选的,所述建立包括N个特征影响因子的配置文件,包括:
建立至少包括8个特征影响因子的配置文件;
当N=8时,8个特征影响因子依次表示为:第一特征影响因子σ1,第二特征影响因子σ2,第三特征影响因子σ3,第四特征影响因子σ4,第五特征影响因子σ5,第六特征影响因子σ6,第七特征影响因子σ7,第八特征影响因子σ8;依次对应的任务特征为:长任务,短任务,可丢弃任务,不可丢弃任务,周期任务,一次性任务,紧急任务,非紧急任务。
优选的,所述基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序,包括:
针对当前的任务队列中的每一个任务,根据该任务的任务特征确定出当前的配置文件中对应于该任务的各个特征影响因子并进行求和,并将求和结果与该任务的等待时长影响因子求和,得到该任务的权重值;
按照权重值的数值越大越优先出队的规则,得到调整之后的任务队列中的任务出队顺序。
优选的,所述第一阈值为预设的固定阈值或者为通过阈值计算规则确定出的第一阈值;
所述阈值计算规则为:
确定出前一天各次更新配置文件之后得到的各个队列任务总时长的平均值;
将所述平均值与预设的第二阈值求和,得到当天的第一阈值。
优选的,所述按照预设周期更新所述配置文件中的N个特征影响因子,包括:
按照预设周期,基于随机更新的方式,更新所述配置文件中的N个特征影响因子,且更新之后的所述配置文件中的各个特征影响因子均不超出预先为该特征影响因子设定的数值范围。
优选的,还包括:当当天更新所述配置文件的次数达到预设的次数阈值时,停止进行所述配置文件的更新。
优选的,所述通过任务调度器将任务队列中的任务进行下发,包括:
通过任务调度器,基于循环依次发送的方式或者基于块发送的方式将任务队列中的任务下发至各个节点,并且,针对任一节点,当该节点的任务堆积长度达到堆积长度阈值时,跳过该节点的任务下发。
一种多任务调度系统,包括:
配置文件建立单元,用于建立包括N个特征影响因子的配置文件;
任务下发单元,用于通过任务调度器将任务队列中的任务进行下发;
影响因子更新单元,用于按照预设周期更新所述配置文件中的N个特征影响因子;
出队顺序调整单元,用于每次更新所述配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新所述配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的所述队列任务总时长低于第一阈值时,控制所述影响因子更新单元停止进行所述配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
一种多任务调度设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述任一项所述的多任务调度方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的多任务调度方法的步骤。
应用本发明实施例所提供的技术方案,考虑到任务有其自身的特点,大量不同特点的任务进行不同的排列时,会有效率优劣之分,因此,本申请的方案会调整当前的任务队列中的任务出队顺序。具体的,可以建立包括N个特征影响因子的配置文件,每一个特征影响因子均具有该特征影响因子对应的任务特征,并且按照预设周期更新配置文件中的N个特征影响因子,并且针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加。可以看出,本申请通过配置文件的更新以及当前的任务队列中的各个任务的等待时长影响因子,可以不断地调整当前的任务队列中的任务出队顺序,且等待时长高的任务会优先考虑执行。而如果得到的队列任务总时长低于第一阈值时,说明当前的配置文件效果较好,即有利于尽量快地完成尽量多的任务,因此,便可以停止进行配置文件的更新。综上所述,本申请可以有效地实现多任务调度,达到良好的任务调度效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种多任务调度方法的实施流程图;
图2为本发明中一种多任务调度系统的结构示意图;
图3为本发明中一种多任务调度设备的结构示意图。
具体实施方式
本发明的核心是提供一种多任务调度方法,可以有效地实现多任务调度,达到良好的任务调度效果。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种多任务调度方法的实施流程图,该多任务调度方法可以包括以下步骤:
步骤S101:建立包括N个特征影响因子的配置文件。
N个特征影响因子中的每一个特征影响因子均具有该特征影响因子对应的任务特征,而N的具体取值可以根据实际需要进行设定和调整。
例如在本发明的一种具体实施方式中,考虑到本申请的方案可以应用在PIM平台中,任务自身有其独有特点,例如长任务、短任务、可丢弃任务、不可丢弃任务、周期任务、一次性任务、紧急任务、非紧急任务等,大量不同特点的任务进行不同的排列时,会有效率优劣之分。
因此,在本发明的一种具体实施方式中,步骤S101可以具体为:建立至少包括8个特征影响因子的配置文件;当N=8时,8个特征影响因子依次表示为:第一特征影响因子σ1,第二特征影响因子σ2,第三特征影响因子σ3,第四特征影响因子σ4,第五特征影响因子σ5,第六特征影响因子σ6,第七特征影响因子σ7,第八特征影响因子σ8;依次对应的任务特征为:长任务,短任务,可丢弃任务,不可丢弃任务,周期任务,一次性任务,紧急任务,非紧急任务。
步骤S102:通过任务调度器将任务队列中的任务进行下发。
本申请的方案既能够用于单节点,也可以用于分布式的场景,也就是说,任务调度器可以向单节点进行任务下发,也可以向分布式的各个节点进行任务的下发。在实际应用中,任务调度器可以秒级获取各个节点的负载情况,并且将新产生的任务置入任务队列中。
需要强调的是,步骤S102与步骤S103是一并执行的,即二者的执行没有顺序关系,互不影响。在实际应用中,通常会设置为任务调度器周期性地触发任务下发的进程,并且可以理解的是,由于本申请的方案通过对配置文件的更新,任务队列中的任务出队顺序会不断地调整,因此,触发了任务下发的进程之后,即在每次执行步骤S102时,是基于当前时刻的任务队列进行任务的下发。此外还需要强调的是,步骤S102的执行周期和步骤S103中更新配置文件的周期均可任意设置,二者可以相同,也可以不同。
步骤S103:按照预设周期更新配置文件中的N个特征影响因子。
配置文件中的N个特征影响因子的取值不同,任务队列中的任务排序便会不同,在进行配置文件的更新时,具体的更新方式可以根据实际需要进行设定和调整,例如在本发明的一种具体实施方式中,步骤S103可以具体为:
按照预设周期,基于随机更新的方式,更新配置文件中的N个特征影响因子,且更新之后的配置文件中的各个特征影响因子均不超出预先为该特征影响因子设定的数值范围。
该种实施方式基于随机更新的方式进行配置文件中的N个特征影响因子的更新,使得方案实施时较为简单,即不必设计较为复杂的更新算法。当然,针对各个特征影响因子,该种实施方式限定了该特征影响因子不会超出预先为该特征影响因子设定的数值范围。
此外,在其他场景中,可以有更为复杂的更新方式,并且可以理解的是,不断更新配置文件,目的是使得配置文件中的N个特征影响因子的取值变为合适的数值,从而使得任务队列中的任务出队顺序是合适的顺序,进而降低队列任务总时长,达到良好的任务调度效果。即目的是通过对任务出队顺序的调整,达到“利用尽量少的资源尽量快尽量优质地完成尽量多的任务”这一指标。
例如在实际应用中,以前文的N=8的实施例为例,在进行配置文件的更新时,更新的算法是提高第一特征影响因子σ1的取值,从而提高长任务的处理优先级。又如,更新的算法是同时提高第一特征影响因子σ1和第七特征影响因子σ7的取值,从而提高长任务以及紧急任务的处理优先级。
步骤S104:每次更新配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的队列任务总时长低于第一阈值时,停止进行配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
具体的,配置文件以及当前的任务队列中的各个任务的等待时长影响因子,会影响任务队列中的任务出队顺序,具体的规则可以根据实际需要进行设定和调整,例如在本发明的一种具体实施方式中,该过程可以具体包括以下两个步骤:
步骤一:针对当前的任务队列中的每一个任务,根据该任务的任务特征确定出当前的配置文件中对应于该任务的各个特征影响因子并进行求和,并将求和结果与该任务的等待时长影响因子求和,得到该任务的权重值;
步骤二:按照权重值的数值越大越优先出队的规则,得到调整之后的任务队列中的任务出队顺序。
该种实施方式中,针对任意一个任务,直接将对应于该任务的各个特征影响因子该任务的等待时长影响因子求和,得到该任务的权重值,使得该种实施方式计算过程非常简单,便于实施。当然,其他实施方式中,也可以有更加复杂的权重值计算式,例如针对任意一个任务,将对应于该任务的各个特征影响因子乘以对应的参数后再求和,再将求和结果加上该任务的等待时长影响因子,得到该任务的权重值。
还需要说明的是,本申请的方案中,为每一个任务都设置了该任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加,意味着等待时长高的任务会优先考虑执行。
例如在一种具体场景中,任务队列中包括了3个任务,表示为A-B-C,即当前的任务出队顺序是A优先下发,B第二下发,C最后下发。某一次执行了步骤S103之后,例如更新之后的配置文件中的σ1至σ8的数值依次为:7(长任务),2(短任务),3(可丢弃任务),5(不可丢弃任务),2(周期任务),6(一次性任务),10(紧急任务),5(非紧急任务)。并且例如任务A是短任务,且为不可丢弃任务,且为周期任务,且为非紧急任务,任务A的等待时长影响因子的数值为4,则该实施例中任务A的权重值为2+5+2+5+4=18。例如任务B是长任务,且为不可丢弃任务,且为周期任务,且为非紧急任务,任务B的等待时长影响因子的数值为3,则该实施例中任务B的权重值为7+5+2+5+3=22。例如任务C是短任务,且为可丢弃任务,且为周期任务,且为紧急任务,任务C的等待时长影响因子的数值为2,则该实施例中任务C的权重值为2+3+2+10+2=19。则得到的调整之后的任务队列中的任务出队顺序变成了B-C-A,表示B优先下发,C第二下发,A最后下发。
本申请在每次更新配置文件之后,还会将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的队列任务总时长低于第一阈值时,停止进行配置文件的更新。而针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
需要说明的是,由于任务的执行时长由任务本身特性和硬件配置决定,因此,本申请方案的核心在于尽量消灭等待时长。例如一种场合中,任务F是长任务,执行时长为10秒,任务G和任务H都是短任务,执行时长均为1秒,则如果任务队列为F-G-H,则任务F的任务时长为0+10=10,任务G的任务时长为10+1=11,任务H的任务时长为11+1=12,队列任务总时长为10+11+12=33。如果任务队列为G-H-F,则任务G的任务时长为0+1=1,任务H的任务时长为1+1=2,任务F的任务时长为2+10=12,队列任务总时长为1+2+12=15。可以看出,任务队列中的任务出队顺序不同,队列任务总时长不同。而队列任务总时长越低,越有利于达到“尽量快地完成尽量多的任务”的效果,因此,本申请在得到的队列任务总时长低于第一阈值时,说明当前的配置文件较为合适,因此可以停止进行配置文件的更新。
此外需要说明的是,在实际应用中,在停止进行配置文件的更新之后,通常可以持续到当天结束,当第二天来临时,可以重新触发步骤S103,进行配置文件的周期性更新,当然,当第二天的更新过程中,触发了停止条件之后,又可以持续到第二天结束直到第三天来临时重新触发步骤S103。
第一阈值可以设定为预设的固定阈值,也可以是通过阈值计算规则确定出的第一阈值。
例如在本发明的一种具体实施方式中,阈值计算规则可以为:
确定出前一天各次更新配置文件之后得到的各个队列任务总时长的平均值;
将平均值与预设的第二阈值求和,得到当天的第一阈值。
即该种实施方式中,如果T(d)<T(d-1)+第二阈值成立,当天可以不再进行配置文件的更新,该种实施方式中的第一阈值为:T(d-1)+第二阈值。T(d-1)表示前一天各次更新配置文件之后得到的各个队列任务总时长的平均值,第二阈值通常是预设的固定值,当然,可以根据实际需要设定和调整第二阈值的取值。T(d)则表示当天得到的队列任务总时长。
相较于设定固定的阈值作为第一阈值,该种实施方式中,第一阈值的取值与前一天得到的各个队列任务总时长有关,使得第一阈值的数值能够更为合理,即不容易出现将第一阈值设置地过大或者过小的情况。
此外,前述例子中是利用前一天各次更新配置文件之后得到的各个队列任务总时长的平均值与第二阈值求和,得到当天的第一阈值,在部分场合中,考虑到PIM平台中大部分都是周期性任务,因此,可以仅选取前一天中某一次更新配置文件之后得到的队列任务总时长并且与第二阈值求和,得到当天的第一阈值,这样计算量更小。
在本发明的一种具体实施方式中,还可以包括:当当天更新配置文件的次数达到预设的次数阈值时,停止进行配置文件的更新。
该种实施方式中,考虑到可能会出现多次更新配置文件之后,依然无法触发前述的停止更新的条件,例如可能是前一天的任务数量较少导致当天的第一阈值过低,使得无论配置文件如何设置,当天的队列任务总时长都无法低于第一阈值。因此,该种实施方式中,当当天更新配置文件的次数达到预设的次数阈值时,停止进行配置文件的更新,避免更新配置文件的次数过多造成的计算资源浪费情况。
在本发明的一种具体实施方式中,步骤S102可以具体包括:
通过任务调度器,基于循环依次发送的方式或者基于块发送的方式将任务队列中的任务下发至各个节点,并且,针对任一节点,当该节点的任务堆积长度达到堆积长度阈值时,跳过该节点的任务下发。
在实际应用中,每次触发步骤S102时,任务调度器通常都会下发X=2kc个任务,k为节点的数量,c为节点的CPU核数,当然,通常各个节点的CPU核数是相同的。基于循环依次发送的方式,以下发X=2kc个任务为例,指的是向第1节点发1个任务,然后向第2节点发1个任务,以此类推,直到向第k节点发1个任务之后,又返回向第1节点发1个任务,然后向第2节点发1个任务,循环2c轮。基于块发送的方式,仍然以下发X=2kc个任务为例,指的是向第1节点发2c个任务,然后向第2节点发2c个任务,以此类推,直到向第k节点发2c个任务之后,X个任务发送完毕。
并且,该种实施方式中,考虑到各个节点的负载情况不同,因此,针对任一节点,当该节点的任务堆积长度达到堆积长度阈值时,跳过该节点的任务下发,避免某些节点任务过于堆积,而某些节点负载过大的情况。
应用本发明实施例所提供的技术方案,考虑到任务有其自身的特点,大量不同特点的任务进行不同的排列时,会有效率优劣之分,因此,本申请的方案会调整当前的任务队列中的任务出队顺序。具体的,可以建立包括N个特征影响因子的配置文件,每一个特征影响因子均具有该特征影响因子对应的任务特征,并且按照预设周期更新配置文件中的N个特征影响因子,并且针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加。可以看出,本申请通过配置文件的更新以及当前的任务队列中的各个任务的等待时长影响因子,可以不断地调整当前的任务队列中的任务出队顺序,且等待时长高的任务会优先考虑执行。而如果得到的队列任务总时长低于第一阈值时,说明当前的配置文件效果较好,即有利于尽量快地完成尽量多的任务,因此,便可以停止进行配置文件的更新。综上所述,本申请可以有效地实现多任务调度,达到良好的任务调度效果。
相应于上面的方法实施例,本发明实施例还提供了一种多任务调度系统,可与上文相互对应参照。
参见图2所示,为本发明中一种多任务调度系统的结构示意图,包括:
配置文件建立单元201,用于建立包括N个特征影响因子的配置文件;
任务下发单元202,用于通过任务调度器将任务队列中的任务进行下发;
影响因子更新单元203,用于按照预设周期更新配置文件中的N个特征影响因子;
出队顺序调整单元204,用于每次更新配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的队列任务总时长低于第一阈值时,控制影响因子更新单元203停止进行配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
在本发明的一种具体实施方式中,配置文件建立单元201,具体用于:
建立至少包括8个特征影响因子的配置文件;
当N=8时,8个特征影响因子依次表示为:第一特征影响因子σ1,第二特征影响因子σ2,第三特征影响因子σ3,第四特征影响因子σ4,第五特征影响因子σ5,第六特征影响因子σ6,第七特征影响因子σ7,第八特征影响因子σ8;依次对应的任务特征为:长任务,短任务,可丢弃任务,不可丢弃任务,周期任务,一次性任务,紧急任务,非紧急任务。
在本发明的一种具体实施方式中,出队顺序调整单元204基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序,具体包括:
针对当前的任务队列中的每一个任务,根据该任务的任务特征确定出当前的配置文件中对应于该任务的各个特征影响因子并进行求和,并将求和结果与该任务的等待时长影响因子求和,得到该任务的权重值;
按照权重值的数值越大越优先出队的规则,得到调整之后的任务队列中的任务出队顺序。
在本发明的一种具体实施方式中,第一阈值为预设的固定阈值或者为通过阈值计算规则确定出的第一阈值;
阈值计算规则为:
确定出前一天各次更新配置文件之后得到的各个队列任务总时长的平均值;
将平均值与预设的第二阈值求和,得到当天的第一阈值。
在本发明的一种具体实施方式中,影响因子更新单元203,具体用于:
按照预设周期,基于随机更新的方式,更新配置文件中的N个特征影响因子,且更新之后的配置文件中的各个特征影响因子均不超出预先为该特征影响因子设定的数值范围。
在本发明的一种具体实施方式中,还包括:
更新控制单元,用于当当天更新配置文件的次数达到预设的次数阈值时,控制影响因子更新单元203停止进行配置文件的更新。
在本发明的一种具体实施方式中,影响因子更新单元203,具体用于:
通过任务调度器,基于循环依次发送的方式或者基于块发送的方式将任务队列中的任务下发至各个节点,并且,针对任一节点,当该节点的任务堆积长度达到堆积长度阈值时,跳过该节点的任务下发。
相应于上面的方法和系统实施例,本发明实施例还提供了一种多任务调度设备以及一种计算机可读存储介质,可与上文相互对应参照。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的多任务调度方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
该多任务调度设备可以包括:
存储器301,用于存储计算机程序;
处理器302,用于执行计算机程序以实现上述任一实施例中的多任务调度方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种多任务调度方法,其特征在于,包括:
建立包括N个特征影响因子的配置文件;
通过任务调度器将任务队列中的任务进行下发;
按照预设周期更新所述配置文件中的N个特征影响因子;
每次更新所述配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新所述配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的所述队列任务总时长低于第一阈值时,停止进行所述配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
2.根据权利要求1所述的多任务调度方法,其特征在于,所述建立包括N个特征影响因子的配置文件,包括:
建立至少包括8个特征影响因子的配置文件;
当N=8时,8个特征影响因子依次表示为:第一特征影响因子σ1,第二特征影响因子σ2,第三特征影响因子σ3,第四特征影响因子σ4,第五特征影响因子σ5,第六特征影响因子σ6,第七特征影响因子σ7,第八特征影响因子σ8;依次对应的任务特征为:长任务,短任务,可丢弃任务,不可丢弃任务,周期任务,一次性任务,紧急任务,非紧急任务。
3.根据权利要求1所述的多任务调度方法,其特征在于,所述基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序,包括:
针对当前的任务队列中的每一个任务,根据该任务的任务特征确定出当前的配置文件中对应于该任务的各个特征影响因子并进行求和,并将求和结果与该任务的等待时长影响因子求和,得到该任务的权重值;
按照权重值的数值越大越优先出队的规则,得到调整之后的任务队列中的任务出队顺序。
4.根据权利要求1所述的多任务调度方法,其特征在于,所述第一阈值为预设的固定阈值或者为通过阈值计算规则确定出的第一阈值;
所述阈值计算规则为:
确定出前一天各次更新配置文件之后得到的各个队列任务总时长的平均值;
将所述平均值与预设的第二阈值求和,得到当天的第一阈值。
5.根据权利要求1所述的多任务调度方法,其特征在于,所述按照预设周期更新所述配置文件中的N个特征影响因子,包括:
按照预设周期,基于随机更新的方式,更新所述配置文件中的N个特征影响因子,且更新之后的所述配置文件中的各个特征影响因子均不超出预先为该特征影响因子设定的数值范围。
6.根据权利要求1所述的多任务调度方法,其特征在于,还包括:当当天更新所述配置文件的次数达到预设的次数阈值时,停止进行所述配置文件的更新。
7.根据权利要求1所述的多任务调度方法,其特征在于,所述通过任务调度器将任务队列中的任务进行下发,包括:
通过任务调度器,基于循环依次发送的方式或者基于块发送的方式将任务队列中的任务下发至各个节点,并且,针对任一节点,当该节点的任务堆积长度达到堆积长度阈值时,跳过该节点的任务下发。
8.一种多任务调度系统,其特征在于,包括:
配置文件建立单元,用于建立包括N个特征影响因子的配置文件;
任务下发单元,用于通过任务调度器将任务队列中的任务进行下发;
影响因子更新单元,用于按照预设周期更新所述配置文件中的N个特征影响因子;
出队顺序调整单元,用于每次更新所述配置文件之后,基于当前的配置文件以及当前的任务队列中的各个任务的等待时长影响因子,调整当前的任务队列中的任务出队顺序;并且每次更新所述配置文件之后,将当前的任务队列中的各个任务的任务时长进行求和得到队列任务总时长,当得到的所述队列任务总时长低于第一阈值时,控制所述影响因子更新单元停止进行所述配置文件的更新;
其中,每一个特征影响因子均具有该特征影响因子对应的任务特征,N为正整数;针对任一任务的等待时长影响因子,该任务的等待时长影响因子随着该任务的等待时长的增加而增加;针对任意一个任务,该任务的任务时长等于该任务的队列等待时长加上该任务的执行时长。
9.一种多任务调度设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的多任务调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的多任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453227.3A CN112463339B (zh) | 2020-12-11 | 一种多任务调度方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453227.3A CN112463339B (zh) | 2020-12-11 | 一种多任务调度方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463339A true CN112463339A (zh) | 2021-03-09 |
CN112463339B CN112463339B (zh) | 2024-07-02 |
Family
ID=
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056992A (ja) * | 1998-08-13 | 2000-02-25 | Nec Corp | タスクスケジューリングシステム、方法及び記録媒体 |
US20090150209A1 (en) * | 2000-09-06 | 2009-06-11 | Masterlink Corporation | System and method for managing mobile workers |
CN103631657A (zh) * | 2013-11-19 | 2014-03-12 | 浪潮电子信息产业股份有限公司 | 一种基于MapReduce的任务调度算法 |
CN103699448A (zh) * | 2014-01-14 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种云计算环境下基于时间期限和预算的调度方法 |
CN104852860A (zh) * | 2015-05-04 | 2015-08-19 | 四川大学 | 一种基于队列的异构资源多目标调度策略 |
CN106293950A (zh) * | 2016-08-23 | 2017-01-04 | 成都卡莱博尔信息技术股份有限公司 | 一种面向集群系统的资源优化管理方法 |
WO2017166630A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务优先级修正方法和装置 |
CN108989154A (zh) * | 2018-08-30 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种pim平台监控方法、系统及电子设备和存储介质 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
CN110166641A (zh) * | 2019-05-21 | 2019-08-23 | 深圳市中讯网联科技有限公司 | 动态的预测式智能自动外呼系统算法 |
CN110427257A (zh) * | 2019-07-29 | 2019-11-08 | 招商局金融科技有限公司 | 多任务调度方法、装置及计算机可读存储介质 |
CN110781145A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种文件系统任务调度方法、装置、设备及可读存储介质 |
US10740284B1 (en) * | 2016-12-29 | 2020-08-11 | EMC IP Holding Company LLC | Techniques for efficiently performing filesystem reorganization tasks for different filesystems |
CN111813554A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种任务调度处理方法、装置及电子设备和存储介质 |
CN112035236A (zh) * | 2020-09-08 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于多因子协同的任务调度方法、装置、及存储介质 |
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000056992A (ja) * | 1998-08-13 | 2000-02-25 | Nec Corp | タスクスケジューリングシステム、方法及び記録媒体 |
US20090150209A1 (en) * | 2000-09-06 | 2009-06-11 | Masterlink Corporation | System and method for managing mobile workers |
CN103631657A (zh) * | 2013-11-19 | 2014-03-12 | 浪潮电子信息产业股份有限公司 | 一种基于MapReduce的任务调度算法 |
CN103699448A (zh) * | 2014-01-14 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种云计算环境下基于时间期限和预算的调度方法 |
CN104852860A (zh) * | 2015-05-04 | 2015-08-19 | 四川大学 | 一种基于队列的异构资源多目标调度策略 |
WO2017166630A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务优先级修正方法和装置 |
CN106293950A (zh) * | 2016-08-23 | 2017-01-04 | 成都卡莱博尔信息技术股份有限公司 | 一种面向集群系统的资源优化管理方法 |
US10740284B1 (en) * | 2016-12-29 | 2020-08-11 | EMC IP Holding Company LLC | Techniques for efficiently performing filesystem reorganization tasks for different filesystems |
CN108989154A (zh) * | 2018-08-30 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种pim平台监控方法、系统及电子设备和存储介质 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
CN110166641A (zh) * | 2019-05-21 | 2019-08-23 | 深圳市中讯网联科技有限公司 | 动态的预测式智能自动外呼系统算法 |
CN110427257A (zh) * | 2019-07-29 | 2019-11-08 | 招商局金融科技有限公司 | 多任务调度方法、装置及计算机可读存储介质 |
CN110781145A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种文件系统任务调度方法、装置、设备及可读存储介质 |
CN111813554A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种任务调度处理方法、装置及电子设备和存储介质 |
CN112035236A (zh) * | 2020-09-08 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于多因子协同的任务调度方法、装置、及存储介质 |
Non-Patent Citations (3)
Title |
---|
孟宪福: "基于优先级的任务调度与负载均衡模型研究", 小型微型计算机系统, no. 09, 21 September 2005 (2005-09-21) * |
王兰;张龙信;满君丰;周立前;李肯立;: "异构计算环境下基于优先队列划分的调度算法", 小型微型计算机系统, no. 02, 15 February 2020 (2020-02-15) * |
陈英革;王小英;赵海;尹震宇;: "任务调度过程中就绪队列的优化研究", 系统仿真学报, no. 04, 20 April 2006 (2006-04-20) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477521B2 (en) | Method and system for scheduling repetitive tasks in O(1) | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
Nahir et al. | Replication-based load balancing | |
US20170262224A1 (en) | Memory Cleaning Method and Apparatus | |
CN113138860B (zh) | 消息队列的管理方法及装置 | |
CN106464733A (zh) | 一种调整云计算中虚拟资源的方法及装置 | |
CN112860390A (zh) | 作业调度程序、信息处理设备和作业调度方法 | |
CN106453127A (zh) | 一种令牌处理方法和装置 | |
CN114185674A (zh) | 一种cpu任务实时调度方法、装置、设备及存储介质 | |
CN110275765B (zh) | 基于分支dag依赖的数据并行作业调度方法 | |
CN112463339A (zh) | 一种多任务调度方法、系统、设备及存储介质 | |
EP1974270A2 (en) | Method for autonomic system management using adaptive allocation of resources | |
CN116302578B (zh) | 一种QoS约束的流应用延迟确保方法及系统 | |
US11176135B2 (en) | Dynamic block intervals for pre-processing work items to be processed by processing elements | |
CN112463339B (zh) | 一种多任务调度方法、系统、设备及存储介质 | |
Jajoo et al. | Saath: Speeding up coflows by exploiting the spatial dimension | |
JP2016071841A (ja) | ジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラム | |
CN115292023B (zh) | 定时任务处理方法及装置 | |
CN113419836B (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
Lin et al. | Self-learning MapReduce scheduler in multi-job environment | |
Lee et al. | Hierarchical self-tuning of concurrency and resource units in data-analytics frameworks | |
CN113434267B (zh) | 云计算工作流动态调度方法、装置、设备及存储介质 | |
CN111176814B (zh) | 一种任务执行方法及相关装置 | |
CN111176899B (zh) | 一种云备份方法、装置及设备 | |
CN113760494A (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 | ||
GR01 | Patent grant |