一种任务调度的方法和系统技术方案

技术编号:13775061 阅读:34 留言:0更新日期:2016-09-30 19:32
本发明专利技术公开了一种任务调度的方法和系统,该方法包括:S1:执行完具有第一优先级的任务后,执行具有第二优先级的任务;S2:当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在具有所述第一优先级的任务,若存在,执行完所有具有所述第一优先级的任务;S3:重复步骤S1、S2,直到执行完所有具有所述第一优先级和所述第二优先级的任务。该方法通过使具有较高优先级的任务得到充分执行,较低优先级的任务暂缓执行,同时超时次数的设置避免了较低优先级任务无法执行的情况,达到了在任何情况下,保证任务根据优先级充分、高效地进行调度。该任务调度方法和系统解决一些场景中现有的任务调度方法难以高效的实现调度的问题。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及一种任务调度的方法和系统
技术介绍
在同一个进程内,有多个任务共享所有的CPU资源,通常会为不同的任务安排不同的优先级,使得高优先级的任务充分得到执行后,再执行低优先级的任务。然而,对于一些特殊的场景,系统提供的这种按照优先级依次执行任务的调度方法并不能完全适用,这时候就需要用户按照场景的要求编写新的调度方法,以便更加符合自己的需求。这种调度方式不具有普适性,难以适用大多数场景。
技术实现思路
本专利技术所要解决的技术问题是如何解决一些场景中现有的任务调度方法难以高效的实现调度的问题。针对以上技术问题,本专利技术提供了一种任务调度的方法,包括:S1:执行完具有第一优先级的任务后,执行具有所述第二优先级的任务;S2:当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在具有所述第一优先级的任务,若存在,执行完所有具有所述第一优先级的任务;S3:重复步骤S1、S2,直到执行完所有具有所述第一优先级和所述第二优先级的任务。优选地,所述步骤S3之后还包括:S4:执行具有第三优先级的任务,在执行完第二预设数目的具有所述第三优先级的任务后,执行所述步骤S3,并将预设的超时次数
减去预设数值;S5:若判断具有所述第三优先级的任务的数量为零或者所述超时次数为零,则执行具有第四优先级的任务;S6:执行完第三预设数目的具有所述第四优先级的任务后,执行所述步骤S3;S7:重复所述步骤S6,直到执行完所有具有所述第四优先级的任务。优选地,所述步骤S7之后还包括:S8:重新设置所述超时次数,执行所述步骤S1至S7。优选地,所述步骤S1之前还包括:清空已经执行过的任务占用的存储空间,并将所述存储空间放入可创建队列中;根据欲创建任务执行时的存储空间,从所述可创建队列中为所述欲创建任务分配相应的存储空间,创建所述欲创建任务,并标明所述欲创建任务的优先级;将具有同一优先级的任务存储在同一个任务队列中。优选地,所述根据欲创建任务执行时的存储空间,从所述可创建队列中为所述欲创建任务分配相应的存储空间,创建所述欲创建任务,并标明所述欲创建任务的优先级的过程中,若所述可创建队列中剩余的存储空间小于所述欲创建任务执行时的存储空间,则发出提示信息。另一方面,本专利技术还提供了一种任务调度的系统,包括:第一执行模块,用于执行完具有第一优先级的任务后,执行具有所述第二优先级的任务;第二执行模块,用于当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在未执行的具有所述第一优先级的任务,若存在,执行完所有未执行的具有所述第一优先级的任务;第三执行模块,用于使所述第一执行模块和所述第二执行模块依次循环执行任务,直到不存在未执行的具有所述第一优先级和所述第二优先级的任务。优选地,在所述第三执行模块执行任务完毕后,还包括:第四执行模块,用于执行具有第三优先级的任务,在执行完第二预设数目的具有所述第三优先级的任务后,使所述第三执行模块执行任务,并将预设的超时次数减去预设数值;第五执行模块,用于在判断未执行的具有所述第三优先级的任务的数量为零或者所述超时次数为零时,执行具有第四优先级的任务;第六执行模块,用于执行完第三预设数目的具有所述第四优先级的任务后,使所述第三执行模块执行任务;第七执行模块,用于使所述第六执行模块重复执行任务,直到不存在未执行的具有所述第四优先级的任务。优选地,在所述第七执行模块执行任务完毕后,还包括:第八执行模块,用于重新设置所述超时次数,使所述第一至第七执行模块依次执行任务。优选地,还包括:清空模块,用于清空已经执行过的任务占用的存储空间,并将所述存储空间放入可创建队列中;创建任务模块,用于根据欲创建任务执行时的存储空间,从所述可创建队列中为所述欲创建任务分配相应的存储空间,创建所述欲创建任务,并标明所述欲创建任务的优先级;分队模块,用于将具有同一优先级的任务存储在同一个任务队列中。优选地,所述创建任务模块还用于在所述可创建队列中剩余的存储空间小于所述欲创建任务执行时的存储空间时发出提示信息。本专利技术提供的任务调度的方法和系统,通过使具有较高优先级的
任务得到充分执行,较低优先级的任务暂缓执行,同时超时次数的设置避免了较低优先级任务无法执行的情况,达到了在任何情况下,保证任务根据优先级充分、高效地进行调度。该任务调度方法和系统解决一些场景中现有的任务调度方法难以高效的实现调度的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种任务调度的方法流程图;图2是本专利技术实施例提供的一种具体的任务调度的方法流程图;图3是本专利技术实施例提供的一种任务调度的系统的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本实施例提供的一种任务调度的方法流程图,参见图1,该方法包括:S1:执行完具有第一优先级的任务后,执行具有所述第二优先级的任务;S2:当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在具有所述第一优先级的任务,若存在,执行完所有具有所述第一优先级的任务;S3:重复步骤S1、S2,直到执行完所有具有所述第一优先级和所述第二优先级的任务。第一预设数目可根据具有第二优先级的任务的总数量而定,当具有第二优先级的任务的总数量较多时,可以设置为2个或者更多,一般情况下,第一预设数目为1个就可以了。任务经过执行后,以前的优先级便不再起作用。例如,一个被执行过的紧急优先级任务其优先级不再起作用。本实施例提供的任务调度的方法,通过使具有较高优先级的任务得到充分执行,较低优先级的任务暂缓执行,保证任务根据优先级充分、高效地进行调度。解决了一些场景中现有的任务调度方法难以高效的实现调度的问题。作为一种优选的实施例,所述步骤S3之后还包括:S4:执行具有第三优先级的任务,在执行完第二预设数目的具有所述第三优先级的任务后,执行所述步骤S3,并将预设的超时次数减去预设数值;S5:若判断具有所述第三优先级的任务的数量为零或者所述超时次数为零,则执行具有第四优先级的任务;S6:执行完第三预设数目的具有所述第四优先级的任务后,执行所述步骤S3;S7:重复所述步骤S6,直到执行完所有具有所述第四优先级的任务。超时次数人为设定,例如设定为15次,预设数值一般设定为1。每执行一次具有第三优先级的任务后,将预设的超时次数减去预设数值,当超时次数为零或者具有第三优先级的任务的数量为零时,执行第四优先级的任务。本实施例提供的任务调度的方法中,超时次数的设置避免了较低优先级任务无法执行的情况,达到了在任何情况下,保证任务根据优先级充分、高效地进行调度。该任务调度方法和
系统解决本文档来自技高网
...

【技术保护点】
一种任务调度的方法,其特征在于,包括:S1:执行完具有第一优先级的任务后,执行具有所述第二优先级的任务;S2:当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在具有所述第一优先级的任务,若存在,执行完所有具有所述第一优先级的任务;S3:重复步骤S1、S2,直到执行完所有具有所述第一优先级和所述第二优先级的任务。

【技术特征摘要】
1.一种任务调度的方法,其特征在于,包括:S1:执行完具有第一优先级的任务后,执行具有所述第二优先级的任务;S2:当执行完第一预设数目的具有所述第二优先级的任务后,检查是否还存在具有所述第一优先级的任务,若存在,执行完所有具有所述第一优先级的任务;S3:重复步骤S1、S2,直到执行完所有具有所述第一优先级和所述第二优先级的任务。2.根据权利要求1所述的任务调度的方法,其特征在于,所述步骤S3之后还包括:S4:执行具有第三优先级的任务,在执行完第二预设数目的具有所述第三优先级的任务后,执行所述步骤S3,并将预设的超时次数减去预设数值;S5:若判断具有所述第三优先级的任务的数量为零或者所述超时次数为零,则执行具有第四优先级的任务;S6:执行完第三预设数目的具有所述第四优先级的任务后,执行所述步骤S3;S7:重复所述步骤S6,直到执行完所有具有所述第四优先级的任务。3.根据权利要求2所述的任务调度的方法,其特征在于,所述步骤S7之后还包括:S8:重新设置所述超时次数,执行所述步骤S1至S7。4.根据权利要求1所述的任务调度的方法,其特征在于,所述步骤S1之前还包括:清空已经执行过的任务占用的存储空间,并将所述存储空间放入可创建队列中;根据欲创建任务执行时的存储空间,从所述可创建队列中为所述欲创建任务分配相应的存储空间,创建所述欲创建任务,并标明所述欲创建任务的优先级;将具有同一优先级的任务存储在同一个任务队列中。5.根据权利要求4所述的任务调度的方法,其特征在于,所述根据欲创建任务执行时的存储空间,从所述可创建队列中为所述欲创建任务分配相应的存储空间,创建所述欲创建任务,并标明所述欲创建任务的优先级的过程中,若所述可创建队列中剩余的存储空间小于所述欲创建任务执行时的存储空间,则发出提示信息。6.一种任务调度的系统,其特征在于,包括:第一执行模块,用于执行完具有第一...

【专利技术属性】
技术研发人员:李鹏
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:天津;12

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

1