一种队列调度方法及装置的制造方法_2

文档序号:9633747阅读:来源:国知局
032]在本发明实施例中,非实时任务为对实时性要求不高的任务,非实时任务的表示绝对截至时限的时间因子设置为负数,以区分实时任务。
[0033]需要说明的是,在新任务满足预设的准入机制时,且新任务的绝对截至时限小于队列中已存在任务的绝对截至时限,则该新任务会发生插队现象,即队列中绝对截至时限大于新任务的任务和非实时任务就会向队尾移动。可以看出实时任务最终会有机会得到运行,但是非实时任务在有新实时任务到达时一直被插队,若非实时任务被插队频繁,则会造成非实时任务得不到调度。因此,在非实时任务的被插队次数达到预设次数,将非实时任务的绝对截至时限置零,使得该非实时任务不再被插队并最终被执行。
[0034]步骤102:根据预先设置的任务与优先级的对应关系,对允许进入队列的新任务进行调度。
[0035]这里,对允许进入队列的新任务进行调度,是指允许进入队列的新任务抢占正在执行的任务,具体来说,该过程包括对正在执行的任务环境进行保存,并切换至新任务的任务环境,从而执行该新任务。
[0036]本步骤具体包括:若队列中的当前任务正在运行,判断新任务的优先级;若新任务的优先级为可抢占优先级,则对新任务进行调度;若新任务的优先级为不可抢占优先级,则不对新任务进行调度,并继续运行当前任务;若队列中的当前任务运行完毕,判断队列中任务的切换次数;若切换次数不为0,则继续运行被切换的任务并将切换次数减1 ;若切换次数为0,则根据优先级对队列中的任务进行调度。
[0037]需要补充的是,新任务的优先级为可抢占优先级,则表明该新任务的优先级很高,需要抢占当前任务并紧急执行;新任务的优先级为不可抢占优先级,则表明该新任务不需要抢占当前任务,因此继续执行当前任务。可以看出,本发明实施例增加了优先级的类别,根据任务的重要程度对任务进行区别,保证了无线传感器网络重要任务的优先运行,避免了现有技术中根据任务到来的先后顺序执行任务所造成的重要任务调度不及时的问题。
[0038]示例性地,在允许新任务进入队列之后,方法还包括:在新任务满足预设的不可抢占原则时,对新任务不进行调度。
[0039]在实际应用中,若存在新任务抢占当前任务时,需要对正在执行的任务环境进行保存,并切换至新任务的任务环境,这样增加了系统开销。因此,通过引入不可抢占原则,即新任务在满足不可抢占原则的情况下,可以不抢占当前任务,减少新任务调度次数,从而减少系统开销。
[0040]优选地,在新任务满足预设的不可抢占原则时,对新任务不进行调度,具体包括:新任务的优先级和正在运行的任务相同,或者,新任务的优先级高于正在运行的任务且满足公式:Ε.-θ.+Ε_< d new_Anew,贝lj不对新任务调度,其中,E.表不正在运行的任务的平均执行时间,Ε_表示新任务的平均执行时间,表示正在运行的任务已经运行的时间,d_表示新任务的绝对截至时限,A_表示新任务的提交时间。
[0041]本发明实施例提供的一种队列调度方法,在队列接收的新任务满足预设的准入机制时,允许新任务进入队列;根据预先设置的任务与优先级的对应关系,对允许进入队列的新任务进行调度,这样一来,由于优先级表示任务对实时性要求的重要程度,通过根据任务对实时性要求的重要程度对任务进行区别,使得无线传感器网络中的重要任务得以优先执行,保障了对实时性要求比较高的任务队列的及时调度。
[0042]图2为本发明实施例提出的一种队列调度装置的结构示意图,该装置包括:准入单元201和调度单元202,其中:
[0043]准入单元201,用于在队列接收的新任务满足预设的准入机制时,允许新任务进入队列,其中,预设的准入机制根据队列接收新任务的优先级进行设置;
[0044]调度单元202,用于根据预先设置的任务与优先级的对应关系,对所述准入单元允许进入队列的新任务进行调度。
[0045]示例性地,准入单元201,具体用于:新任务的绝对截至时限小于队列中已存在任务的绝对截至时限时,将新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前。
[0046]虽然本发明所揭露的实施方式如上,但的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【主权项】
1.一种队列调度方法,其特征在于,包括: 若队列接收的新任务满足预设的准入机制,则允许所述新任务进入队列,其中,预设的准入机制根据队列接收新任务的优先级进行设置; 根据预先设置的任务与优先级的对应关系,对允许进入队列的新任务进行调度。2.根据权利要求1所述的队列调度方法,其特征在于,在允许所述新任务进入队列之前,还包括: 预先设置任务与优先级的对应关系,其中,所述优先级包括可抢占优先级和不可抢占优先级。3.根据权利要求1所述的队列调度方法,其特征在于,所述新任务满足预设的准入机制包括:若所述新任务在所述队列中不存在,或所述新任务为周期性新任务且新任务的执行周期大于等于所有第一任务的执行时间之和; 其中,所述第一任务为队列中已存在的且优先级高于所述新任务的任务。4.根据权利要求1所述的队列调度方法,其特征在于,所述允许新任务进入队列,具体包括: 所述新任务的绝对截至时限小于队列中已存在任务的绝对截至时限,则将所述新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前。5.根据权利要求4所述的队列调度方法,其特征在于,所述将新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前,具体包括: 若队列中已存在的非实时任务的被插队次数未达到预设次数,则将所述新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前; 若队列中已存在的非实时任务的被插队次数达到预设次数,则将所述非实时任务的绝对截至时限置零,并在非实时任务的绝对截至时限置零之后,将所述新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前。6.根据权利要求1所述的队列调度方法,其特征在于,所述根据预先设置的任务与优先级的对应关系,对允许进入队列的新任务进行调度,具体包括: 若队列中的当前任务正在运行,判断所述新任务的优先级;若新任务的优先级为可抢占优先级,则对新任务进行调度;若新任务的优先级为不可抢占优先级,则不对新任务进行调度,并继续运行当前任务; 若队列中的当前任务运行完毕,判断队列中任务的切换次数;若所述切换次数不为0,则继续运行被切换的任务并将切换次数减1;若所述切换次数为0,则根据优先级对队列中的任务进行调度。7.根据权利要求1所述的队列调度方法,其特征在于,在允许所述新任务进入队列之后,所述方法还包括:在所述新任务满足预设的不可抢占原则时,对所述新任务不进行调度。8.根据权利要求7所述的队列调度方法,其特征在于,在所述新任务满足预设的不可抢占原则时,对所述新任务不进行调度,具体包括: 所述新任务的优先级和正在运行的任务相同,或者,所述新任务的优先级高于正在运行的任务且满足公式:Ε.-θ.+Ε_< d new_Anew,则不对所述新任务调度,其中,E.表不正在运行的任务的平均执行时间,Ε_表示新任务的平均执行时间,表示正在运行的任务已经运行的时间,d_表示新任务的绝对截至时限,A _表示新任务的提交时间。9.一种队列调度装置,其特征在于,包括:准入单元和调度单元,其中: 所述准入单元,用于在队列接收的新任务满足预设的准入机制时,允许所述新任务进入队列,其中,预设的准入机制根据队列接收新任务的优先级进行设置; 所述调度单元,用于根据预先设置的任务与优先级的对应关系,对所述准入单元允许进入队列的新任务进行调度。10.根据权利要求9所述的队列调度装置,其特征在于,所述准入单元,具体用于: 所述新任务的绝对截至时限小于队列中已存在任务的绝对截至时限时,将所述新任务进入队列的位置设置在队列中绝对截至时限大于新任务的任务之前。
【专利摘要】本发明公开了一种队列调度方法,该方法包括:若队列接收的新任务满足预设的准入机制,则允许所述新任务进入队列,其中,预设的准入机制根据队列接收新任务的优先级进行设置;根据预先设置的任务与优先级的对应关系,对允许进入队列的新任务进行调度。同时,本发明还公开了一种队列调度装置。通过本发明提供的技术方案,保障了对实时性要求比较高的任务的及时调度。
【IPC分类】H04L12/863, H04L12/865
【公开号】CN105391649
【申请号】CN201510672442
【发明人】马文涛
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2016年3月9日
【申请日】2015年10月16日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1