多任务调度方法、装置及电子设备制造方法及图纸

技术编号:35526538 阅读:10 留言:0更新日期:2022-11-09 14:48
本申请提供一种多任务调度方法、装置及电子设备,所述方法包括:根据待调度的各任务的总执行时长、各任务的执行周期以及平均时长来确定各控制周期中各任务的目标执行时长,其中,各任务的总执行时长不同,平均时长指示的是在每个控制周期内可以用于任务调度和执行的时长,各任务的执行周期指示任务完成需要经过的控制周期的数量,根据上述数据确定的各任务在每个控制周期中的目标执行时长,可以保证各任务能够完成,使得各任务的目标执行时长分配合理并且实现各任务之间的时间隔离;也可以实现根据各任务的执行时长来调度并执行各任务,避免各任务之间的相互影响。避免各任务之间的相互影响。避免各任务之间的相互影响。

【技术实现步骤摘要】
多任务调度方法、装置及电子设备


[0001]本申请涉及工业控制领域,具体而言,涉及一种多任务调度方法、装置及电子设备。

技术介绍

[0002]工业控制领域中往往需要控制系统具备多任务处理能力,因此如何实现控制系统的多任务调度是该领域中的一个重要问题。
[0003]现有技术中,多任务调度的方式一般包括基于优先级的时长片轮询调度或者基于优先级的抢占式调度。在这两种调度方式中,各个任务执行时长具有不确定性,通过这两种调度方式调度时,任务容易受其他任务影响,例如当某个任务长期占用系统运行资源时,其他任务无法正常执行。
[0004]然而,在工业控制领域中,对于任务的独立性要求较高,多个任务之间需要时长隔离,并且互不影响。因此,现有技术中的多任务调度方式无法适用于工业控制领域中的多任务调度。

技术实现思路

[0005]本申请的目的在于,针对上述现有技术中的不足,提供一种多任务调度方法、装置及电子设备,使得各任务之间的时间严格隔离,避免各任务之间的相互影响。
[0006]为实现上述目的,本申请实施例采用的技术方案如下:
[0007]第一方面,本申请实施例提供了一种多任务调度方法,所述方法包括:
[0008]获取待调度的各任务的总执行时长和各任务的执行周期,所述执行周期用于指示所述任务执行完成所需要经过的控制周期的数量,且所述执行周期与所述任务的重要程度成反比;
[0009]根据多个控制周期中实际用于任务执行的时长,确定每个控制周期中用于任务执行的平均时长,所述平均时长用于指示控制系统在每个控制周期内可以用于任务调度和执行的时长;
[0010]根据待调度的各任务的总执行时长、各任务的执行周期以及所述平均时长,确定各控制周期中各任务的目标执行时长;
[0011]按照所述目标执行时长以及预设的执行顺序,在每个控制周期内依次调度并执行各任务。
[0012]可选的,所述根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:
[0013]获取各任务的执行时长余量比例,所述执行时长余量比例用于指示为所述任务分配的余量时长占所述平均时长的比例;
[0014]根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长。
[0015]可选的,所述根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:
[0016]根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期内是否可以完成所有任务的执行;
[0017]若是,则按照目标分配策略,根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长。
[0018]可选的,所述根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期内是否可以完成所有任务的执行,包括:
[0019]根据各任务的总执行时长和执行周期,确定各任务在一个控制周期内的执行时长;
[0020]根据各任务在一个控制周期内的执行时长,确定所有任务在一个控制周期内的第一总执行时长;
[0021]计算所述第一总执行时长与所述平均时长的比值,得到第一任务时长比例;
[0022]根据各任务的执行时长余量比例,确定所有任务的总执行时长余量比例;
[0023]计算所述第一任务时长比例与所述执行时长余量比例的和;
[0024]若所述第一任务时长比例与所述总执行时长余量比例的和小于或等于预设阈值,则确定各控制周期内可以完成所有任务的执行。
[0025]可选的,按照目标分配策略,根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:
[0026]若所述目标分配策略为按需分配策略,则根据各任务的总执行时长、执行周期以及所述平均时长,确定各任务的第二任务时长比例,并计算所述第二任务时长比例与所述任务的执行时长余量比例的和,根据所述第二任务时长比例与所述任务的执行时长余量比例的和得到所述任务的目标执行时长。
[0027]可选的,所述根据各任务的总执行时长、执行周期以及所述平均时长,确定各任务的第二任务时长比例,包括:
[0028]根据第一任务的总执行时长和执行周期,确定所述第一任务在一个控制周期内的执行时长,所述第一任务为待调度的任务中的任意一个任务;
[0029]计算所述第一任务在一个控制周期内的执行时长与所述平均时长的比值,得到所述第一任务的第二任务时长比例。
[0030]可选的,按照目标分配策略,根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:
[0031]若所述目标分配策略为按最大化比例分配策略,则根据各任务的总执行时长、执行周期以及所述平均时长,确定各任务的第二任务时长比例;计算所述第二任务时长比例与所述任务的执行时长余量比例的和,得到第一参数值,所述第一参数值用于表征各任务在各控制周期内的按需执行时长比例;
[0032]根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,得到第二参数值,所述第二参数值用于表征各任务的可放大系数;
[0033]根据所述第一参数值和所述第二参数值,确定各控制周期中各任务的目标执行时长。
[0034]可选的,所述方法还包括:
[0035]在第一控制周期内,确定第二任务是否执行完成,所述第一控制周期为控制系统中的任意一个控制周期,所述第二任务为待调度的任务中的任意一个任务;
[0036]若是,则确定所述第一控制周期是否为所述第二任务的最后一个执行周期,并确定所述第一控制周期内是否存在剩余时段,所述剩余时段为分配给所述第二任务且所述第二任务未执行的时段;
[0037]若所述第一控制周期不为所述第二任务的最后一个执行周期,则将所述第一控制周期之后的各控制周期中为所述第二任务分配的执行时段分配给系统程序;
[0038]若所述第一控制周期内存在剩余时段,则将所述剩余时段分配给系统程序。
[0039]第二方面,本申请实施例还提供了一种多任务调度装置,所述装置包括:
[0040]获取模块,用于获取待调度的各任务的总执行时长和各任务的执行周期,所述执行周期用于指示所述任务执行完成所需要经过的控制周期的数量,且所述执行周期与所述任务的重要程度成反比;
[0041]确定模块,用于根据多个控制周期中实际用于任务执行的时长,确定每个控制周期中用于任务执行的平均时长,所述平均时长用于指示控制系统在每个控制周期内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多任务调度方法,其特征在于,所述方法包括:获取待调度的各任务的总执行时长和各任务的执行周期,所述执行周期用于指示所述任务执行完成所需要经过的控制周期的数量,且所述执行周期与所述任务的重要程度成反比;根据多个控制周期中实际用于任务执行的时长,确定每个控制周期中用于任务执行的平均时长,所述平均时长用于指示控制系统在每个控制周期内用于任务调度和执行的时长;根据待调度的各任务的总执行时长、各任务的执行周期以及所述平均时长,确定各控制周期中各任务的目标执行时长;按照所述目标执行时长以及预设的执行顺序,在每个控制周期内依次调度并执行各任务。2.根据权利要求1所述的多任务调度方法,其特征在于,所述根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:获取各任务的执行时长余量比例,所述执行时长余量比例用于指示为所述任务分配的余量时长占所述平均时长的比例;根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长。3.根据权利要求2所述的多任务调度方法,其特征在于,所述根据待调度的各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期内是否完成所有任务的执行;若是,则按照目标分配策略,根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长。4.根据权利要求3所述的多任务调度方法,其特征在于,所述根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期内是否完成所有任务的执行,包括:根据各任务的总执行时长和执行周期,确定各任务在一个控制周期内的执行时长;根据各任务在一个控制周期内的执行时长,确定所有任务在一个控制周期内的第一总执行时长;计算所述第一总执行时长与所述平均时长的比值,得到第一任务时长比例;根据各任务的执行时长余量比例,确定所有任务的总执行时长余量比例;计算所述第一任务时长比例与所述执行时长余量比例的和;若所述第一任务时长比例与所述总执行时长余量比例的和小于或等于预设阈值,则确定各控制周期内完成所有任务的执行。5.根据权利要求3所述的多任务调度方法,其特征在于,按照目标分配策略,根据各任务的总执行时长、各任务的执行周期、各任务的执行时长余量比例以及所述平均时长,确定各控制周期中各任务的目标执行时长,包括:
若所述目标分配策略为按需分配策略,则根据各任务的总执行时长、执行周期以及所述平均时长,确定各任务的第二任务时长比例,并计算所述第二任务时长比例与所述任务的执行时长余量比例的和,根据所述第二任务时长比例与所述任务的执行时长余...

【专利技术属性】
技术研发人员:张乾斌吕铖灿方珂琦邵承启陈超
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1