CN104035818A - 多任务调度的方法及装置 - Google Patents
多任务调度的方法及装置 Download PDFInfo
- Publication number
- CN104035818A CN104035818A CN201310068965.XA CN201310068965A CN104035818A CN 104035818 A CN104035818 A CN 104035818A CN 201310068965 A CN201310068965 A CN 201310068965A CN 104035818 A CN104035818 A CN 104035818A
- Authority
- CN
- China
- Prior art keywords
- task
- queue
- system resource
- task queue
- arbitrary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种多任务调度的方法及装置,属于通信技术领域。方法包括:将多个任务分别分配到对应的任务队列中;对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。本发明通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种多任务调度的方法及装置。
背景技术
任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。随着多线程和多进程技术的发展,将多个任务同时由多个线程或者多个进程分别调度的多任务调度方法以其充分利用系统资源,高效率执行任务的优势成为任务调度的核心方法。如何进行多任务调度,既保证系统对任务进行相应处理的速度,又同时完成多种任务操作,提高任务响应时间,是合理分配系统资源,优化系统性能的关键。
目前,操作系统的多任务调度,一般都由操作系统对需要执行的多个任务分别设置优先级,并将其加入到全局队列中,从而根据全局队列中任务的优先级完成任务调度,例如,优先级高的任务先进行任务调度,优先级低的任务后进行任务调度。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
在实际应用中,如果系统任务的优先级数目比较少,全局队列中优先级相同的任务比较多,会出现在相同优先级的多个任务中不能合理排列任务调度顺序的问题;另外,由于操作系统在系统级别无法预知各个任务对于系统资源的协调,从而不能合理分配资源,降低了系统性能。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种多任务调度的方法及装置。所述技术方案如下:
一方面,提供了一种多任务调度的方法,所述方法包括:
将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;
对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;
根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;
其中,所述任务属性至少为优先级及所需的系统资源中的一种。
进一步地,所述将多个任务分别分配到对应的任务队列中,包括:
确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;
根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。
可选地,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:
将所述任一任务队列中的任务按照优先级进行排序;
如果存在优先级相同的任务,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。
可选地,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:
将所述任一任务队列中的任务按照所需的系统资源进行排序;
如果存在所需的系统资源相等的任务,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。
进一步地,所述根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务之前,还包括:
对于任一任务队列,确定所述任一任务队列当前可用的系统资源;
根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。
另一方面,还提供了一种多任务调度的装置,所述装置包括:
分配模块,用于将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;
排序模块,用于对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;
调度模块,用于根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;
其中,所述任务属性至少为优先级及所需的系统资源中的一种。
进一步地,所述分配模块,包括:
确定单元,用于确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;
分配单元,用于根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。
可选地,,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:
第一排序单元,用于将所述任一任务队列中的任务按照优先级进行排序;
第二排序单元,用于当存在优先级相同的任务时,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。
可选地,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:
第三排序单元,用于将所述任一任务队列中的任务按照所需的系统资源进行排序;
第四排序单元,用于当存在所需的系统资源相等的任务时,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。
进一步地,所述装置,还包括:
第一确定模块,用于对于任一任务队列,确定所述任一任务队列当前可用的系统资源;
第二确定模块,用于根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。
本发明实施例提供的技术方案带来的有益效果是:
通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例一提供的一种多任务调度的方法流程图;
图2是本发明实施例二提供的一种多任务调度的示意图;
图3是本发明实施例二提供的一种多任务调度的方法流程图;
图4是本发明实施例三提供的一种多任务调度的装置结构示意图;
图5是本发明实施例三提供的一种分配模块的结构示意图;
图6是本发明实施例三提供的一种排序模块的结构示意图;
图7是本发明实施例三提供的另一种排序模块的结构示意图;
图8是本发明实施例三提供的另一种多任务调度装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本实施例提供了一种多任务调度的方法,参见图1,本实施例提供的方法流程具体如下:
101:将多个任务分别分配到对应的任务队列中,其中,任务队列为至少一个;
102:对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序,其中,任务属性至少为优先级及所需的系统资源中的一种;
103:根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。
本实施例提供的方法,通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
为了更加清楚地阐述上述实施例提供的一种多任务调度的方法,结合上述实施例的内容,以如下实施例二为例,对一种多任务调度的方法进行详细说明,详见如下实施例二:
实施例二
本实施例提供了一种多任务调度的方法,为了便于说明,本实施例结合图2所示的示意图,以对一个应用程序中的多个模块的任务进行调度为例,对本实施例提供的方法进行详细地举例说明。参见图3,本实施例提供的方法流程具体如下:
301:确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源,其中任务队列为至少一个;
本实施例不对确定的系统资源的具体形式进行具体限定,例如可以是CPU(Central Processing Unit,中央处理单元)资源,或者也可以是内存资源。
例如,以系统资源为内存资源为例,确定图2中阅读任务需要的内存资源为20兆,显示任务需要的内存资源为30兆,解析任务需要的内存资源为10兆,并确定任务队列1当前可用的内存资源为100兆,任务队列2当前可用的内存资源为10兆,任务队列3当前可用的内存资源为40兆。当然内存资源的大小也可以是30兆,31兆或者是其它数值,在此不对确定的内存资源的具体数值作具体限定,同时确定的系统资源也可以是CPU资源等其它资源,在此也不作具体限定。
302:根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将多个任务分别分配到对应的任务队列中;
针对此步骤,分别判断各个任务所需的系统资源与各个任务队列可用的系统资源的关系,如果当前任务所需的系统资源小于或等于当前任务队列可用的系统资源,则认为可以将当前任务分配到当前任务队列中;否则认为不可以将此任务分配到此任务队列中。如果某一任务可以分配到多个任务队列中,则可将其随机分配到一个任务队列中。
具体的,以系统资源为内存资源为例。参见图2,判断阅读任务需要的内存资源为20兆,任务队列1当前可用的内存资源为100兆,满足阅读任务需要的内存资源,则可以将阅读任务分配到任务队列1中;任务队列2当前可用的内存资源为10兆,不满足阅读任务需要,则不选择将阅读任务分配到任务队列2中;任务队列3当前可用的内存资源为40兆,满足阅读任务需要,则可以将阅读任务分配到任务队列3中;因此,将阅读任务随机分配到任务队列1或任务队列3中,比如将阅读任务随机分配到任务队列1中。同样的,将显示任务随机分配到任务队列3中,将解析任务分配到任务队列2中。当然,也可以有其它分配方法,在此不对具体分配方式进行限定。
303:对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序,其中任务属性至少为优先级及所需的系统资源中的一种;
针对此步骤,将任一任务队列中的任务按照任务属性进行排序时,可以分为如下3种情况:
第1种情况、任务属性为优先级,则对于任一任务队列,将任一任务队列中的任务按照优先级进行排序。例如,将优先级别高的任务排在前面,优先级别低的任务排在后面,优先级别相同的任务随机排列。
具体的,以图2中的任务属性为优先级,将任务队列1中的任务进行排序为例。则将任务队列1中的各个任务按照优先级进行排序,比如,任务队列1中有4个任务:任务1,任务2,任务3和任务4,任务1的优先级高于任务3的优先级,任务3的优先级高于任务2的优先级,任务2的优先级与任务4的优先级相同,那么排列顺序为任务1,任务3,任务2,任务4。当然排列顺序也可以为任务1,任务3,任务4,任务2。对于任务队列2和任务队列3中按同样方法进行排序,在此不再赘述。
第2种情况、任务属性为所需的系统资源,则对于任一任务队列,将任一任务队列中的任务按照所需的系统资源进行排序。例如,所需的系统资源多的任务排在前面,任务所需的系统资源少的排在后面,任务所需的系统资源相同的任务随机排列。
具体的,以图2中的任务属性为所需的系统资源,系统资源的形式为内存资源,将任务队列1中的任务进行排序为例。则将任务队列1中的各个任务按照所需的内存资源的大小进行排序,比如任务队列1中有4个任务:任务1,任务2,任务3和任务4,任务1所需的内存资源大于任务3所需的内存资源,任务3所需的内存资源大于任务2所需的内存资源,任务2所需的内存资源与任务4所需的内存资源相同,那么排列顺序为任务1,任务3,任务2,任务4。当然,排列顺序也可以为任务1,任务3,任务4,任务2。对于任务队列2和任务队列3中按同样方法进行排序,在此不再赘述。
第3种情况、任务属性为优先级及所需的系统资源,则对于此种情况包括但不限于如下两种排序方法:
第一种排序方法,对于任一任务队列,将任一任务队列中的任务先按照优先级进行排序;如果存在优先级相同的任务,将优先级相同的任务按照所需的系统资源进行排序。例如,优先级别高的任务排在前面,优先级别低的任务排在后面;对于优先级相同的任务,所需的系统资源多的任务排在前面,所需的系统资源少的任务排在后面,得到任一任务队列中的任务的排序结果。
具体的,以图2中任务属性为优先级及所需的系统资源,将任务队列1中的任务进行排序为例。将任务队列1中的各个任务先按照优先级进行排序,比如,任务队列1中有4个任务:任务1,任务2,任务3和任务4,任务1的优先级高于任务3的优先级,任务3的优先级高于任务3的优先级,任务2的优先级与任务4优先级相同。对于任务2与任务4,再按照所需的系统资源排序,例如,系统资源为内存资源,如果任务2所需的内存资源大于任务4所需的内存资源,那么排列顺序为任务1,任务3,任务2,任务4。对于任务队列2和任务队列3中按同样方法进行排序,在此不再赘述。
第二种排序方法,对于任一任务队列,将任一任务队列中的任务先按照所需的系统资源进行排序;如果存在所需的系统资源相等的任务,将所需的系统资源相等的任务按照优先级进行排序。例如,所需的系统资源多的任务排在前面,所需的系统资源少的任务排在后面;对于所需的系统资源相等的任务,优先级别高的任务排在前面,优先级别低的任务排在后面,得到任一任务队列中的任务的排序结果。
具体的,以图2中任务属性为优先级及所需的系统资源,系统资源的形式为内存资源,将任务队列1中的任务进行排序为例。则将任务队列1中的各个任务先按照任务所需的内存资源的大小进行排序,比如任务队列1中有4个任务:任务1,任务2,任务3和任务4,任务1所需的内存资源大于任务3所需的内存资源,任务3所需的内存资源大于任务2所需的内存资源,任务2所需的内存资源与任务3所需的内存资源相同。对于任务2与任务4,再按照优先级排序,例如,任务2的优先级高于任务4的优先级,那么排列顺序为任务1,任务3,任务2,任务4。对于任务队列2和任务队列3中按同样方法进行排序,在此不再赘述。
当然,除了上述几种将任一任务队列中的任务进行排序的方式外,还可以采用其他排序方式,本实施例对此不作具体限定。
304:对于任一任务队列,确定任一任务队列当前可用的系统资源;
针对此步骤,对于任一队列在执行上述步骤302-303的时间段内并非处于静止状态,队列中一些任务在此期间可能已经被调度,从而,队列中当前可用的系统资源随时会发生变化。因此,此步骤需要重新确定任一任务队列当前可用的系统资源。
例如,图2中任务队列1当前可用的内存资源为80兆,任务队列2当前可用的内存资源为10兆,任务队列3当前可用的内存资源为20兆。
305:根据任一任务队列当前可用的系统资源及任一任务队列中的各个任务所需的系统资源确定任一任务队列可调度的任务数量;
针对该步骤,本实施例不对根据任一任务队列当前可用的系统资源及任一任务队列中的各个任务所需的系统资源确定任一任务队列可调度的任务数量的确定方式进行具体限定,包括但不限于:
按照任务排序顺序依次累加相应任务所需的系统资源,并且每累加一个任务所需的系统资源后将累加结果与任务队列当前可用的系统资源比较,当累加结果第一次等于任务队列当前可用的系统资源时,结束累加,并将任务排序中最后累加的任务之前的所有任务数量+1确定为任务队列可调度的任务数量;当累加结果第一次大于任务队列当前可用的系统资源时,结束累加,并将任务排序中最后累加的任务之前的所有任务数量确定为任务队列可调度的任务数量。
仍以图2中为例,任务队列1当前可用的内存资源为80兆,队列1中有4个任务:任务1,任务2,任务3和任务4,并且4个任务按照任务属性排列顺序为任务1,任务3,任务2,任务4。例如任务1所需的内存资源为10兆,任务2所需的内存资源为50兆,任务3所需的内存资源为20兆,任务4所需的内存资源为10兆。按照任务排序顺序,累加任务1所需的内存资源10兆,并且累加结果10兆小于任务队列1当前可用的内存资源80兆;继续累加任务2所需的内存资源50兆,并且累加结果60兆小于任务队列1当前可用的内存资源80兆;继续累加任务3所需的内存资源20兆,并且累加结果80兆等于任务队列1当前可用的内存资源80兆,结束累加,将任务排序中最后累加的任务3之前的所有任务数量2+1=3确定为任务队列1可调度的任务数量。
又例如,任务队列2当前可用的内存资源为10兆,任务队列2中有2个任务:任务5,任务6,并且两个任务按照任务属性排列顺序为:任务5,任务6。例如任务5所需的内存资源为5兆,任务6所需的内存资源为10兆。按照任务排序顺序,累加任务5所需的内存资源5兆,并且累加结果5兆小于任务队列2当前可用的内存资源10兆;继续累加任务6所需的内存资源10兆,累加结果15兆大于任务队列2当前可用的内存资源10兆,结束累加,将任务排序中最后累加的解析任务之前的所有任务数量1确定为任务队列2可调度的任务数量。
再例如,任务队列3当前可用的内存资源为20兆,任务队列3中有2个任务:任务7,任务8,并且2个任务按照任务属性排列顺序为:任务8,任务7。例如任务8所需的内存资源为30兆,任务7所需的内存资源为10兆。按照任务排序顺序,累加任务8所需的内存资源30兆,并且累加结果30兆大于任务队列3当前可用的内存资源20兆,结束累加,将任务排序中最后累加的显示任务之前的所有任务数量0确定为任务队列3可调度的任务数量。
需要说明的是,此处并不对各个任务队列当前可用内存资源以及各个任务所需的内存资源的具体数值大小进行具体限定。例如,可以为20兆,也可以为21兆或者其它数值。另外,此处确定的各个任务队列中的任务数量可以是2个,也可以是3个或者其它个数,本实施例同样不对确定的各个任务队列可调度的任务数量进行具体限定。
306:根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。
针对该步骤,在各个任务队列中的任务的排序结果中,调度步骤305中确定的各个任务队列可调度的任务数量的任务。
例如,以上述步骤305确定图2中的任务队列1可调度的任务数量为3,任务队列1中的任务的排列结果为:任务1,任务3,任务2,任务4为例,则可调度任务队列1中的前3个任务,即任务1,任务3,任务2;以上述步骤305确定图2中的任务队列2可调度的任务数量为1,任务队列2中的任务的排列结果为:任务5,任务6为例,则可调度任务队列2中的前1个任务,即任务5;以上述步骤305确定图2中的任务队列3可调度的任务数量为0,任务队列3中的任务的排列结果为:任务7,任务8为例,则可调度任务队列3中的0个任务,即不调度任务队列3中的任何任务。
本实施例提供的方法,通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
实施例三
本实施例提供了一种多任务调度的装置,该装置用于执行上述实施例一或施例二所提供的实现多任务调度的方法,参见图4,该装置包括:
分配模块401,用于将多个任务分别分配到对应的任务队列中,其中,任务队列为至少一个;
排序模块402,用于对于任一任务队列,将任一任务队列中的任务按照任务属性进行排序,其中,任务属性至少为优先级及所需的系统资源中的一种;
调度模块403,用于根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务。
进一步地,参见图5,分配模块401,包括:
确定单元4011,用于确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;
分配单元4012,用于根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将多个任务分别分配到对应的任务队列中。
进一步地,参见图6,任务属性为优先级及所需的系统资源时,排序模块402,包括:
第一排序单元4021,用于将任一任务队列中的任务按照优先级进行排序;
第二排序单元4022,用于当存在优先级相同的任务时,将优先级相同的任务按照所需的系统资源进行排序,得到任一任务队列中的任务的排序结果。
可选地,参见图7,任务属性为优先级及所需的系统资源时,排序模块402,包括:
第三排序单元4023,用于将任一任务队列中的任务按照所需的系统资源进行排序;
第四排序单元4024,用于当存在所需的系统资源相等的任务时,将所需的系统资源相等的任务按照优先级进行排序,得到任一任务队列中的任务的排序结果。
进一步地,参见图8,该装置,还包括:
第一确定模块404,用于对于任一任务队列,确定任一任务队列当前可用的系统资源;
第二确定模块405,用于根据任一任务队列当前可用的系统资源及任一任务队列中的各个任务所需的系统资源确定任一任务队列可调度的任务数量。
本实施例提供的装置,通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
实施例四
本实施例提供了一种多任务调度的设备,该设备包括:多任务调度的装置。
其中,多任务调度的装置如上述实施例三提供的装置,详见上述实施例三。
综上所述,本实施例提供的设备,通过将多个任务分别分配到对应的任务队列中;并对于任一任务队列中的任务按照任务属性进行排序;根据各个任务队列可调度的任务数量及各个任务队列中的任务的排序结果调度对应的任务,从而合理分配资源,提高任务响应时间及系统性能。
需要说明的是:上述实施例提供的多任务调度的装置及设备在实现多任务调度时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置及设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多任务调度的装置及设备与多任务调度的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多任务调度的方法,其特征在于,所述方法包括:
将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;
对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;
根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;
其中,所述任务属性至少为优先级及所需的系统资源中的一种。
2.根据权利要求1所述的方法,其特征在于,所述将多个任务分别分配到对应的任务队列中,包括:
确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;
根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。
3.根据权利要求1所述的方法,其特征在于,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:
将所述任一任务队列中的任务按照优先级进行排序;
如果存在优先级相同的任务,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。
4.根据权利要求1所述的方法,其特征在于,所述任务属性为优先级及所需的系统资源时,所述对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序,包括:
将所述任一任务队列中的任务按照所需的系统资源进行排序;
如果存在所需的系统资源相等的任务,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。
5.根据权利要求1至4中任一权利要求所述的方法,其特征在于,所述根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务之前,还包括:
对于任一任务队列,确定所述任一任务队列当前可用的系统资源;
根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。
6.一种多任务调度的装置,其特征在于,所述装置包括:
分配模块,用于将多个任务分别分配到对应的任务队列中,所述任务队列为至少一个;
排序模块,用于对于任一任务队列,将所述任一任务队列中的任务按照任务属性进行排序;
调度模块,用于根据各个任务队列可调度的任务数量及所述各个任务队列中的任务的排序结果调度对应的任务;
其中,所述任务属性至少为优先级及所需的系统资源中的一种。
7.根据权利要求6所述的装置,其特征在于,所述分配模块,包括:
确定单元,用于确定各个任务所需的系统资源,并确定各个任务队列当前可用的系统资源;
分配单元,用于根据确定的各个任务所需的系统资源与各个任务队列可用的系统资源将所述多个任务分别分配到对应的任务队列中。
8.根据权利要求6所述的装置,其特征在于,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:
第一排序单元,用于将所述任一任务队列中的任务按照优先级进行排序;
第二排序单元,用于当存在优先级相同的任务时,将优先级相同的任务按照所需的系统资源进行排序,得到所述任一任务队列中的任务的排序结果。
9.根据权利要求6所述的装置,其特征在于,所述任务属性为优先级及所需的系统资源时,所述排序模块,包括:
第三排序单元,用于将所述任一任务队列中的任务按照所需的系统资源进行排序;
第四排序单元,用于当存在所需的系统资源相等的任务时,将所需的系统资源相等的任务按照优先级进行排序,得到所述任一任务队列中的任务的排序结果。
10.根据权利要求6至9中任一权利要求所述的装置,其特征在于,所述装置,还包括:
第一确定模块,用于对于任一任务队列,确定所述任一任务队列当前可用的系统资源;
第二确定模块,用于根据所述任一任务队列当前可用的系统资源及所述任一任务队列中的各个任务所需的系统资源确定所述任一任务队列可调度的任务数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068965.XA CN104035818A (zh) | 2013-03-04 | 2013-03-04 | 多任务调度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068965.XA CN104035818A (zh) | 2013-03-04 | 2013-03-04 | 多任务调度的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104035818A true CN104035818A (zh) | 2014-09-10 |
Family
ID=51466593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310068965.XA Pending CN104035818A (zh) | 2013-03-04 | 2013-03-04 | 多任务调度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035818A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793990A (zh) * | 2015-04-21 | 2015-07-22 | 中国海洋大学 | 一种多时序任务调度方法和系统 |
CN105204938A (zh) * | 2015-11-02 | 2015-12-30 | 重庆大学 | 一种内存访问的数据密集型进程调度方法 |
CN105320561A (zh) * | 2015-11-09 | 2016-02-10 | 深圳市万普拉斯科技有限公司 | 任务管理方法和系统 |
CN106201696A (zh) * | 2016-07-15 | 2016-12-07 | 东软集团股份有限公司 | 用于线程的方法和装置 |
CN106709628A (zh) * | 2016-11-24 | 2017-05-24 | 广州赛意信息科技股份有限公司 | 一种生产排程方法及系统 |
CN107423918A (zh) * | 2017-08-16 | 2017-12-01 | 广州环球梦电子商务股份有限公司 | 一种借卖平台商品任务调度方法和系统 |
CN108037987A (zh) * | 2017-12-07 | 2018-05-15 | 北京小米移动软件有限公司 | 应用程序控制方法、装置、存储介质 |
CN108228324A (zh) * | 2016-12-21 | 2018-06-29 | 天脉聚源(北京)科技有限公司 | 一种服务器集群抢占分配任务的方法和系统 |
CN109213578A (zh) * | 2017-07-05 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 一种任务的调度方法和调度系统 |
WO2019029721A1 (zh) * | 2017-08-11 | 2019-02-14 | 中兴通讯股份有限公司 | 任务的调度方法、装置、设备及存储介质 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
CN109542600A (zh) * | 2018-11-15 | 2019-03-29 | 口碑(上海)信息技术有限公司 | 分布式任务调度系统及方法 |
CN110781145A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种文件系统任务调度方法、装置、设备及可读存储介质 |
CN110837410A (zh) * | 2019-10-30 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及计算机可读存储介质 |
CN111400022A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源调度方法、装置及电子设备 |
CN111582629A (zh) * | 2020-03-24 | 2020-08-25 | 青岛奥利普自动化控制系统有限公司 | 资源调度方法、装置、设备和存储介质 |
CN111950832A (zh) * | 2019-05-17 | 2020-11-17 | 拉扎斯网络科技(上海)有限公司 | 调度方法、装置、服务器、服务器集群和存储介质 |
CN112116399A (zh) * | 2020-09-28 | 2020-12-22 | 平安壹钱包电子商务有限公司 | 活动发放速率控制方法、系统、设备与可读存储介质 |
WO2021212657A1 (zh) * | 2020-04-24 | 2021-10-28 | 平安科技(深圳)有限公司 | 终端和服务器之间的任务调度方法、装置和调度器 |
CN113760494A (zh) * | 2020-11-23 | 2021-12-07 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN113886029A (zh) * | 2021-10-15 | 2022-01-04 | 中国科学院信息工程研究所 | 一种跨地域分布数据中心任务调度方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145112A (zh) * | 2007-11-01 | 2008-03-19 | 北京工业大学 | 一种实时系统任务调度方法 |
CN101393530A (zh) * | 2008-08-27 | 2009-03-25 | 哈尔滨工程大学 | 基于超立方体结构的cmp任务分配方法 |
CN102193853A (zh) * | 2010-03-12 | 2011-09-21 | 三星电子株式会社 | 虚拟机监控器及其调度方法 |
CN102541642A (zh) * | 2011-12-30 | 2012-07-04 | 中国科学院软件研究所 | 一种增强实时性能的任务管理方法 |
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
-
2013
- 2013-03-04 CN CN201310068965.XA patent/CN104035818A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145112A (zh) * | 2007-11-01 | 2008-03-19 | 北京工业大学 | 一种实时系统任务调度方法 |
CN101393530A (zh) * | 2008-08-27 | 2009-03-25 | 哈尔滨工程大学 | 基于超立方体结构的cmp任务分配方法 |
CN102193853A (zh) * | 2010-03-12 | 2011-09-21 | 三星电子株式会社 | 虚拟机监控器及其调度方法 |
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102541642A (zh) * | 2011-12-30 | 2012-07-04 | 中国科学院软件研究所 | 一种增强实时性能的任务管理方法 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793990B (zh) * | 2015-04-21 | 2018-08-17 | 中国海洋大学 | 一种多时序任务调度方法和系统 |
CN104793990A (zh) * | 2015-04-21 | 2015-07-22 | 中国海洋大学 | 一种多时序任务调度方法和系统 |
CN105204938A (zh) * | 2015-11-02 | 2015-12-30 | 重庆大学 | 一种内存访问的数据密集型进程调度方法 |
CN105204938B (zh) * | 2015-11-02 | 2019-01-11 | 重庆大学 | 一种内存访问的数据密集型进程调度方法 |
CN105320561A (zh) * | 2015-11-09 | 2016-02-10 | 深圳市万普拉斯科技有限公司 | 任务管理方法和系统 |
US10802877B2 (en) | 2015-11-09 | 2020-10-13 | Oneplus Technology (Shenzhen) Co., Ltd. | Task management methods and system, and computer storage medium |
CN105320561B (zh) * | 2015-11-09 | 2019-03-08 | 深圳市万普拉斯科技有限公司 | 任务管理方法和系统 |
CN106201696A (zh) * | 2016-07-15 | 2016-12-07 | 东软集团股份有限公司 | 用于线程的方法和装置 |
CN106709628A (zh) * | 2016-11-24 | 2017-05-24 | 广州赛意信息科技股份有限公司 | 一种生产排程方法及系统 |
CN108228324A (zh) * | 2016-12-21 | 2018-06-29 | 天脉聚源(北京)科技有限公司 | 一种服务器集群抢占分配任务的方法和系统 |
CN109213578A (zh) * | 2017-07-05 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 一种任务的调度方法和调度系统 |
WO2019029721A1 (zh) * | 2017-08-11 | 2019-02-14 | 中兴通讯股份有限公司 | 任务的调度方法、装置、设备及存储介质 |
CN107423918A (zh) * | 2017-08-16 | 2017-12-01 | 广州环球梦电子商务股份有限公司 | 一种借卖平台商品任务调度方法和系统 |
CN108037987A (zh) * | 2017-12-07 | 2018-05-15 | 北京小米移动软件有限公司 | 应用程序控制方法、装置、存储介质 |
CN108037987B (zh) * | 2017-12-07 | 2021-06-29 | 北京小米移动软件有限公司 | 应用程序控制方法、装置、存储介质 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
CN109408215B (zh) * | 2018-11-07 | 2021-10-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
CN109542600A (zh) * | 2018-11-15 | 2019-03-29 | 口碑(上海)信息技术有限公司 | 分布式任务调度系统及方法 |
CN109542600B (zh) * | 2018-11-15 | 2020-12-25 | 口碑(上海)信息技术有限公司 | 分布式任务调度系统及方法 |
CN111400022A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源调度方法、装置及电子设备 |
CN111950832A (zh) * | 2019-05-17 | 2020-11-17 | 拉扎斯网络科技(上海)有限公司 | 调度方法、装置、服务器、服务器集群和存储介质 |
CN110781145B (zh) * | 2019-10-25 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种文件系统任务调度方法、装置、设备及可读存储介质 |
CN110781145A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种文件系统任务调度方法、装置、设备及可读存储介质 |
CN110837410A (zh) * | 2019-10-30 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及计算机可读存储介质 |
CN111582629A (zh) * | 2020-03-24 | 2020-08-25 | 青岛奥利普自动化控制系统有限公司 | 资源调度方法、装置、设备和存储介质 |
CN111582629B (zh) * | 2020-03-24 | 2023-11-17 | 青岛奥利普奇智智能工业技术有限公司 | 资源调度方法、装置、设备和存储介质 |
WO2021212657A1 (zh) * | 2020-04-24 | 2021-10-28 | 平安科技(深圳)有限公司 | 终端和服务器之间的任务调度方法、装置和调度器 |
CN112116399A (zh) * | 2020-09-28 | 2020-12-22 | 平安壹钱包电子商务有限公司 | 活动发放速率控制方法、系统、设备与可读存储介质 |
CN113760494B (zh) * | 2020-11-23 | 2023-09-26 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN113760494A (zh) * | 2020-11-23 | 2021-12-07 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN113886029A (zh) * | 2021-10-15 | 2022-01-04 | 中国科学院信息工程研究所 | 一种跨地域分布数据中心任务调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035818A (zh) | 多任务调度的方法及装置 | |
CN113535367B (zh) | 任务调度方法及相关装置 | |
WO2017080273A1 (zh) | 任务管理方法和系统、计算机存储介质 | |
CN102779075A (zh) | 一种在多处理器核系统中进行调度的方法、装置及系统 | |
CN103793272A (zh) | 一种周期性任务调度方法及系统 | |
CN103365718A (zh) | 一种线程调度方法、线程调度装置及多核处理器系统 | |
CN103778016A (zh) | 多线程处理器 | |
US10467054B2 (en) | Resource management method and system, and computer storage medium | |
CN102541642B (zh) | 一种增强实时性能的任务管理方法 | |
CN104063279A (zh) | 任务调度方法、装置和终端 | |
US20130036423A1 (en) | Systems and methods for bounding processing times on multiple processing units | |
CN102096599A (zh) | 一种多队列任务调度方法及相关系统和设备 | |
CN105320571A (zh) | 一种进程调度方法 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN105912386A (zh) | 线程管理方法及系统 | |
CN112306661B (zh) | 任务调度方法、装置、电子设备及可读存储介质 | |
CN110427257A (zh) | 多任务调度方法、装置及计算机可读存储介质 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
CN109491780A (zh) | 多任务调度方法及装置 | |
CN111597044A (zh) | 任务调度方法、装置、存储介质及电子设备 | |
CN112925616A (zh) | 任务分配方法、装置、存储介质及电子设备 | |
CN106874129B (zh) | 一种操作系统进程调度顺序确定方法及控制方法 | |
CN114461365A (zh) | 一种进程调度处理方法、装置、设备和存储介质 | |
CN105824533A (zh) | 一种图片加载方法、装置及终端 | |
CN117311990A (zh) | 资源调整方法、装置、电子设备、存储介质及训练平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140910 |
|
RJ01 | Rejection of invention patent application after publication |