[发明专利]一种调度多个执行时机可变的周期任务的方法在审
申请号: | 202110165599.4 | 申请日: | 2021-02-06 |
公开(公告)号: | CN112799821A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 萧俊允 | 申请(专利权)人: | 读书郎教育科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 广州德伟专利代理事务所(普通合伙) 44436 | 代理人: | 黄浩威;何文颖 |
地址: | 528400 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调度 执行 时机 可变 周期 任务 方法 | ||
本发明公开了一种调度多个执行时机可变的周期任务的方法,将所有任务的执行时机和进行调度的时刻映射到同一个时刻序列中,比较得到下一个要执行的任务,完成调度,从而使得调度计算次数与任务执行的次数相等,减少不必要的中断处理操作,适应执行时机和周期常变的周期任务调度需求。
技术领域
本发明涉及多任务调度技术领域,具体涉及一种调度多个执行时机可变的周期任务的方法。
背景技术
现有的多任务调度算法主要侧重研究根据任务优先度和复杂度、设备负载情况等选择要执行的任务,或者确定调度任务周期等选择要执行的任务,而未考虑已经有多个周期任务需要执行的情况。针对这一问题,现有技术中根据所有任务执行周期的最大公约数设置时钟中断,中断时检查各任务是否满足执行条件,即自有的计数变量恰好为:自身周期除以最大公约数。这样减少了CPU消耗,计算简单。
但这一方法要在第一次中断的时候离第一项任务的执行时机相差比较大(从而公约数可以比较大)的时候,性能优势才明显。而一种实际场景是,所有周期任务的执行时机、周期由于用户操作等经常发生不规律的变化,此时重新进行调度,可能下一次执行时机非常近,不能发挥算法的优点。
发明内容
针对现有技术的不足,本发明旨在提供一种调度多个执行时机可变的周期任务的方法。
为了实现上述目的,本发明采用如下技术方案:
一种调度多个执行时机可变的周期任务的方法,具体过程如下:
S1、按设定的循环周期长度T产生一个时刻序列,任务Ni,i=1,2,3......的执行时机落在时刻序列上的固定位置;
S2、当任务信息发生改变而需要重新计算任务的执行时机时,将计算到的下次任务执行时机发生的时刻映射到时刻序列中,从而在时刻序列上找到与之距离最近的执行时机的时刻,执行对应的任务,并将两者相差的时间设为休眠或中断定时,在任务执行的同时进行下次调度的任务执行时机的计算。
进一步地,上述方法中,对于只在其中固定数量周期内执行的任务,在进行步骤S1时,在任务内部设置一个代表待执行次数的计数变量,每执行一次后计数变量自减1,直至计数变量的值为0后将该任务移出待执行任务队列。
本发明的有益效果在于:本发明方法将所有任务的执行时机和进行调度的时刻映射到同一个时刻序列中,比较得到下一个要执行的任务,完成调度,从而使得调度计算次数与任务执行的次数相等,减少不必要的中断处理操作,适应执行时机和周期常变的周期任务调度需求。
附图说明
图1为本发明方法的实施示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种调度多个执行时机可变的周期任务的方法,具体过程如下:
按设定的循环周期长度T产生一个时刻序列,任务Ni(i=1,2,3......)的执行时机落在时刻序列上的固定位置。
当任务信息发生改变而需要重新计算任务的执行时机时,如图1所示,将计算到的下次任务执行时机(称为一次调度)发生的时刻映射到时刻序列中,从而在时刻序列上找到与之距离最近的执行时机的时刻,执行对应的任务,并将两者相差的时间设为休眠或中断定时,在任务执行的同时进行下次调度的任务执行时机的计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于读书郎教育科技有限公司,未经读书郎教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110165599.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能无人售药装置的应用
- 下一篇:内环跨球距及沟底间距测量仪