多任务调度的方法及装置制造方法及图纸

技术编号:10423384 阅读:179 留言:0更新日期:2014-09-12 14:06
本发明专利技术公开了一种多任务调度的方法及装置,属于通信技术领域。方法包括:将多个任务分别分配到对应的任务队列中;对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。本发明专利技术通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。

【技术实现步骤摘要】
多任务调度的方法及装置
本专利技术涉及通信
,特别涉及一种多任务调度的方法及装置。
技术介绍
任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。随着多线程和多进程技术的发展,将多个任务同时由多个线程或者多个进程分别调度的多任务调度方法以其充分利用系统资源,高效率执行任务的优势成为任务调度的核心方法。如何进行多任务调度,既保证系统对任务进行相应处理的速度,又同时完成多种任务操作,提高任务响应时间,是合理分配系统资源,优化系统性能的关键。目前,操作系统的多任务调度,一般都由操作系统对需要执行的多个任务分别设置优先级,并将其加入到全局队列中,从而根据全局队列中任务的优先级完成任务调度,例如,优先级高的任务先进行任务调度,优先级低的任务后进行任务调度。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下缺点:在实际应用中,如果系统任务的优先级数目比较少,全局队列中优先级相同的任务比较多,会出现在相同优先级的多个任务中不能合理排列任务调度顺序的问题;另外,由于操作系统在系统级别无法预知各个任务对于系统资源的协调,从而不能合理分配资源,降低了系统性能。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种多任务调度的方法及装置。所述技术方案如下:—方面,提供了一种多任务调度的方法,所述方法包括:将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;其中,所述任务属性至少为优先级及所需的系统资源中的一种。进一步地,所述将多个任务分别分配到对应的任务队列中,包括:确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。可选地,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:将所述任一任务队列中的任务按照优先级进行排序;如果存在优先级相同的任务,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。可选地,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:将所述任一任务队列中的任务按照所需的系统资源进行排序;如果存在所需的系统资源相等的任务,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。进一步地,所述根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务之前,还包括:对于任一任务队列,确定所述任一任务队列当前可用的系统资源;根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。另一方面,还提供了一种多任务调度的装置,所述装置包括:分配模块,用于将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;排序模块,用于对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;调度模块,用于根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;其中,所述任务属性至少为优先级及所需的系统资源中的一种。进一步地,所述分配模块,包括:确定单元,用于确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;分配单元,用于根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。可选地,,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:第一排序单元,用于将所述任一任务队列中的任务按照优先级进行排序;第二排序单元,用于当存在优先级相同的任务时,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。可选地,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:第三排序单元,用于将所述任一任务队列中的任务按照所需的系统资源进行排序;第四排序单元,用于当存在所需的系统资源相等的任务时,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。进一步地,所述装置,还包括:第一确定模块,用于对于任一任务队列,确定所述任一任务队列当前可用的系统资源;第二确定模块,用于根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。本专利技术实施例提供的技术方案带来的有益效果是:通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术实施例一提供的一种多任务调度的方法流程图;图2是本专利技术实施例二提供的一种多任务调度的示意图;图3是本专利技术实施例二提供的一种多任务调度的方法流程图;图4是本专利技术实施例三提供的一种多任务调度的装置结构示意图;图5是本专利技术实施例三提供的一种分配模块的结构示意图;图6是本专利技术实施例三提供的一种排序模块的结构示意图;图7是本专利技术实施例三提供的另一种排序模块的结构示意图;图8是本专利技术实施例三提供的另一种多任务调度装置的结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一本实施例提供了一种多任务调度的方法,参见图1,本实施例提供的方法流程具体如下:101:将多个任务分别分配到对应的任务队列中,其中,任务队列为至少一个;102:对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序,其中,任务属性至少为优先级及所需的系统资源中的一种;103:根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。本实施例提供的方法,通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。为了更加清楚地阐述上述实施例提供的一种多任务调度的方法,结合上述实施例的内容,以如下实施例二为例,对一种多任务调度的方法进行详细说明,详见如下实施例实施例二本实施例提供了一种多任务调度的方法,为了便于说明,本实施例结合图2所示的示意图,以对一个应用程序中的多个模块的任务进行调度为例,对本实施例提供的方法进行详细地举例说明。参见图3,本实施例提供的方法流程具体如下:301:确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源,其中任务队列为至少一个;本实本文档来自技高网...

【技术保护点】
一种多任务调度的方法,其特征在于,所述方法包括:将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;其中,所述任务属性至少为优先级及所需的系统资源中的一种。

【技术特征摘要】
1.一种多任务调度的方法,其特征在于,所述方法包括: 将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个; 对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序; 根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务; 其中,所述任务属性至少为优先级及所需的系统资源中的一种。2.根据权利要求1所述的方法,其特征在于,所述将多个任务分别分配到对应的任务队列中,包括: 确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源; 根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。3.根据权利要求1所述的方法,其特征在于,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括: 将所述任一任务队列中的任务按照优先级进行排序; 如果存在优先级相同的任务,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。4.根据权利要求1所述的方法,其特征在于,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括: 将所述任一任务队列中的任务按照所需的系统资源进行排序; 如果存在所需的系统资源相等的任务,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。5.根据权利要求1至4中任一权利要求所述的方法,其特征在于,所述根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务之前,还包括: 对于任一任务队列,确定所述任一任务队列当前可用的系统资源; 根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任...

【专利技术属性】
技术研发人员:赵千千薄川川刘天扬
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1