任务调度控制方法、装置、设备及可读存储介质制造方法及图纸

技术编号:34271265 阅读:60 留言:0更新日期:2022-07-24 16:05
本发明专利技术提供一种任务调度控制方法、装置、设备及可读存储介质。该方法包括:获取各个任务的任务周期的最大公约数,并根据最大公约数确定单位时长;启动计时器;每当计时器的计时时长为单位时长的倍数时,重新从各个任务中选取新的目标任务,计时时长为新的目标任务的任务周期的倍数;当存在前一次未执行完成的任务时,按照新的目标任务和前一次未执行完成的任务的优先级依次执行新的目标任务和前一次未执行完成的任务。通过本发明专利技术,解决了现有技术中任务执行先后顺序与任务优先级需求倒置,导致任务优先级高的任务数据丢失,功能失效等问题。题。题。

Task scheduling control method, device, device and readable storage medium

【技术实现步骤摘要】
任务调度控制方法、装置、设备及可读存储介质


[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]图1为本专利技术实施例方案中涉及的任务调度控制设备的硬件结构示意图;
[0030]图2为本专利技术任务调度控制方法第一实施例的流程示意图;
[0031]图3为本专利技术任务调度控制方法第二实施例的流程示意图;
[0032]图4为本专利技术任务调度控制方法第三实施例的流程示意图;
[0033]图5为本专利技术任务调度控制装置一实施例的功能模块示意图。
[0034]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0035]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0036]第一方面,本专利技术实施例提供一种任务调度控制设备。
[0037]参照图1,图1为本专利技术实施例方案中涉及的任务调度控制设备的硬件结构示意图。本专利技术实施例中,任务调度控制设备可以包括处理器1001(例如中央处理器Central ProcessingUnit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless

FIdelity,WI

FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non

volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本专利技术的限定,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度控制方法,其特征在于,所述任务调度控制方法包括:获取各个任务的任务周期的最大公约数,并根据最大公约数确定单位时长;启动计时器;每当计时器的计时时长为单位时长的倍数时,重新从各个任务中选取新的目标任务,计时时长为新的目标任务的任务周期的倍数;当存在前一次未执行完成的任务时,按照新的目标任务和前一次未执行完成的任务的优先级依次执行新的目标任务和前一次未执行完成的任务。2.如权利要求1所述的任务调度控制方法,其特征在于,在所述每当计时器的计时时长为单位时长的倍数时,重新从各个任务中选取新的目标任务,计时时长为新的目标任务的任务周期的倍数之后,包括:当不存在前一次未执行完成的任务时,按照新的目标任务的优先级依次执行新的目标任务。3.如权利要求1所述的任务调度控制方法,其特征在于,在所述启动计时器之后,包括:当计时器的计时时长为单位时长的倍数时,中断正在执行的任务并保存断点以及未执行的任务,得到前一次未执行完成的任务的上下文环境。4.如权利要求1所述的任务调度控制方法,其特征在于,所述任务的优先级根据各个任务的任务周期确定。5.如权利要求1所述的任务调度控制方法,其特征在于,在所述启动计时器之后,包括:当计时器开始计时设置任务执行标志位初始状态为第一常量,当计时器的计时时长第一次为单位时长的倍数时,控制任务执行标志位由第一常量变为第二常量;当任务周期最长的任务被执行完毕后,控制任务执行标志位由第二常量变为第一常量。6.一种...

【专利技术属性】
技术研发人员:何英沈成宇侯敏曹辉
申请(专利权)人:上海瑞浦青创新能源有限公司
类型:发明
国别省市:

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

1