CN103514037A - 任务调度处理方法及装置 - Google Patents
任务调度处理方法及装置 Download PDFInfo
- Publication number
- CN103514037A CN103514037A CN201210207140.7A CN201210207140A CN103514037A CN 103514037 A CN103514037 A CN 103514037A CN 201210207140 A CN201210207140 A CN 201210207140A CN 103514037 A CN103514037 A CN 103514037A
- Authority
- CN
- China
- Prior art keywords
- task
- probability
- queue
- tasks
- scheduling
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种任务调度处理方法及装置,该方法包括,依据一个或多个任务的优先级及一个或多个任务的优先级权重因子生成一个或多个任务的调度概率;根据生成的一个或多个任务的调度概率,以及由一个或多个任务构成的任务队列,生成由一个或多个任务构成的任务概率调度队列,通过本发明,解决了现有技术对优先级较高的任务进行处理时存在延时较长,另外,对于优先级低的任务还存在被饿死的情况,较为严重地影响了用户体验的问题,进而达到了基于概率对任务进行处理,不仅使得高优先级的任务获得较短的服务时延外,又保证了低优先级的任务不会被饿死的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种任务调度处理方法及装置。
背景技术
调度器涉及两大类:实时调度器和非实时调度器。对于实时调度器必须保证实时性,出于性能的考虑,实现一般比较简单,大部分采用基于优先级队列的RoundRobin算法。对于非实时调度器的算法可谓是百花争鸣,但大部分的基本原理是通过优先级进行排序,然后优先调度优先级比较高的任务。
因此,在相关技术中均是针对优先级进行排序来实现对任务的调度,而采用这样排序的处理方式在对优先级较高的任务进行处理时存在延时较长,另外,对于优先级低的任务还存在被饿死的情况,较为严重地影响了用户体验。
发明内容
本发明提供了一种任务调度处理方法及装置,以至少解决现有技术对优先级较高的任务进行处理时存在延时较长,另外,对于优先级低的任务还存在被饿死的情况,较为严重地影响了用户体验的问题。
根据本发明的一个方面,提供了一种任务调度处理方法,包括:依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率;根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列。
优选地,在生成由所述一个或多个任务构成的所述任务概率调度队列之后,还包括:依据生成的所述任务概率调度队列获取所述一个或多个任务的实际调度概率;根据所述实际调度概率与生成的所述调度概率计算此次任务调度的负反馈因子;采用所述负反馈因子对下一次任务调度中生成的调度概率进行修正。
优选地,通过以下公式依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率:
优选地,根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列包括:根据所述一个或多个任务在所述任务概率调度队列中出现的频度生成所述一个或多个任务所对应的一个或多个临时调度队列;根据所述临时调度队列生成所述任务调度队列。
优选地,根据所述临时调度队列生成所述任务调度队列包括:将所述一个或多个临时调度队列按照任务的顺序生成构成所述任务调度队列的中间队列;按照预定的规则将所述按照任务顺序的所述中间队列的顺序重新排布。
优选地,所述预定的规则为随机数生成规则。
根据本发明的另一方面,提供了一种任务调度处理装置,包括:第一生成模块,用于依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率;第二生成模块,用于根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列。
优选地,还包括:第一获取模块,用于在生成由所述一个或多个任务构成的所述任务概率调度队列之后,依据生成的所述任务概率调度队列获取所述一个或多个任务的实际调度概率;计算模块,用于根据所述实际调度概率与生成的所述调度概率计算此次任务调度的负反馈因子;修正模块,用于采用所述负反馈因子对下一次任务调度中生成的调度概率进行修正。
优选地,所述第二生成模块包括:第一生成单元,用于根据所述一个或多个任务在所述任务概率调度队列中出现的频度生成所述一个或多个任务所对应的一个或多个临时调度队列;第二生成单元,用于根据所述临时调度队列生成所述任务调度队列。
优选地,所述第二生成单元包括:第二生成子单元,用于将所述一个或多个临时调度队列按照任务的顺序生成构成所述任务调度队列的中间队列;排布单元,用于按照预定的规则将所述按照任务顺序的所述中间队列的顺序重新排布。
通过本发明,采用依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率;根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列,解决了现有技术对优先级较高的任务进行处理时存在延时较长,另外,对于优先级低的任务还存在被饿死的情况,较为严重地影响了用户体验的问题,进而达到了基于概率对任务进行处理,不仅使得高优先级的任务获得较短的服务时延外,又保证了低优先级的任务不会被饿死的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的任务调度处理方法的流程图;
图2是根据本发明实施例的任务调度处理装置的结构框图;
图3是根据本发明优选实施例的任务调度处理装置的结构框图;
图4是根据本发明实施例的任务调度处理装置中第二生成模块24的优选结构框图;
图5是根据本发明优选实施例的任务调度处理装置中第二生成模块24中第二生成单元44的优选结构框图;
图6是根据本发明实施例的优选级概率调度器的结构框图;
图7是根据本发明实施例的优先级概率调度器的处理方法的流程图;
图8是根据本发明实施例的概率生成器的结构示意图;
图9是根据本发明实施例的概率调度队列生成器的结构示意图;
图10是根据本发明优选实施例的概率调度队列生成方法的流程图;
图11是根据本发明优选实施例的负反馈处理器的结构示意图;
图12是根据本发明优选实施例的实施例的负反馈处理器的处理方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种任务调度处理方法,图1是根据本发明实施例的任务调度处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,依据一个或多个任务的优先级及一个或多个任务的优先级权重因子生成一个或多个任务的调度概率;
步骤S104,根据生成的一个或多个任务的调度概率,以及由一个或多个任务构成的任务队列,生成由一个或多个任务构成的任务概率调度队列。
通过上述步骤,将不同任务的优先级映射到概率上,即通过概率的方式对任务进行调度,优先级高的任务被调度的概率就大,而优先级低所对应的低概率任务也能够被调度,相对于现有技术中仅仅依据绝对的优先级来对任务进行调度,解决了现有技术中由于仅仅依据绝对优先级调度所造成的延时大,以及低优先级被饿死的问题,进而达到了基于概率对任务进行调度,不仅能够使高优先级的任务获得较短的服务时延,而且保证了低优先级的任务不会被饿死的效果。
较优地,为了使得依据优先级以及优先级权重生成的调度概率更为准确,可以在生成由一个或多个任务构成的任务概率调度队列之后,依据生成的任务概率调度队列获取一个或多个任务的实际调度概率;根据该实际调度概率与之前所生成的调度概率计算此次任务调度的负反馈因子;采用该负反馈因子对下一次任务调度中生成的调度概率进行修正。即通过上一次调度所产生的调度任务的实际概率与依据优先级和优先级权重所生成的调度概率之间的偏差,来修正下一次对任务进行调度时所产生的调度概率,通过一次一次的修正使得两者之间的偏差不断缩小,提高获得调度概率的准确性。
将上一次调度概率考虑进去,可以通过以下公式依据一个或多个任务的优先级及一个或多个任务的优先级权重因子生成一个或多个任务的调度概率:
在根据生成的一个或多个任务的调度概率,以及由一个或多个任务构成的任务队列,生成由一个或多个任务构成的任务概率调度队列也可以采用多种处理方式,例如,可以根据一个或多个任务在任务概率调度队列中出现的频度先生成一个或多个任务所对应的一个或多个临时调度队列;根据临时调度队列生成任务调度队列。该一个或多个任务在任务概率调度概率中出现的频度可以通过计算的方式获得,也可以预先对其进行设置,依据具体的任务的不同而不同。当然,根据临时调度队列生成任务调度队列也可以采用多种处理方式,这里提供一种较优的处理方式,可以先将一个或多个临时调度队列按照任务的顺序生成构成任务调度队列的中间队列;然后,按照预定的规则将按照任务顺序的中间队列的顺序重新排布。其中,该预定的规则可以为随机数生成规则,具体操作时,可以先对构成任务调度队列的中间队列中的元素进行编号,而后将该编号作为随机数集合采用随机数生成的规则进行提取,将提取出的编号所对应的元素放入该任务调度队列中,并提取出的编号从随机数集合中删除,继续下一次的提取操作。
在本实施例中还提供了一种任务调度处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的任务调度处理装置的结构框图,如图2所示,该装置包括第一生成模块22、第二生成模块24,下面对该装置进行说明。
第一生成模块22,用于依据一个或多个任务的优先级及一个或多个任务的优先级权重因子生成一个或多个任务的调度概率;第二生成模块24,连接至上述第一生成模块22,用于根据生成的一个或多个任务的调度概率,以及由一个或多个任务构成的任务队列,生成由一个或多个任务构成的任务概率调度队列。
图3是根据本发明优选实施例的任务调度处理装置的结构框图,如图3所示,该装置除包括图2所示的所有模块外,还包括第一获取模块32、计算模块34和修正模块36,下面对该装置进行说明。
第一获取模块32,用于在生成由一个或多个任务构成的任务概率调度队列之后,依据生成的任务概率调度队列获取一个或多个任务的实际调度概率;计算模块34,连接至上述第一获取模块32,用于根据实际调度概率与生成的调度概率计算此次任务调度的负反馈因子;修正模块36,连接至上述计算模块34,用于采用负反馈因子对下一次任务调度中生成的调度概率进行修正。
图4是根据本发明实施例的任务调度处理装置中第二生成模块24的优选结构框图,如图4所示,该第二生成模块24包括第一生成单元42和第二生成单元44,下面对该第二生成模块24进行说明。
第一生成单元42,用于根据一个或多个任务在任务概率调度队列中出现的频度生成一个或多个任务所对应的一个或多个临时调度队列;第二生成单元44,连接至上述第一生成单元42,用于根据临时调度队列生成任务调度队列。
图5是根据本发明优选实施例的任务调度处理装置中第二生成模块24中第二生成单元44的优选结构框图,如图5所示,该第二生成单元44包括第二生成子单元52和排布单元54,下面对该第二生成单元44进行说明。
第二生成子单元52,用于将一个或多个临时调度队列按照任务的顺序生成构成任务调度队列的中间队列;排布单元54,连接至上述第二生成单元52,用于按照预定的规则将按照任务顺序的中间队列的顺序重新排布。
上述实施例及优选实施方式所提供的按照概率调度的调度器。该概率调度器能够保证在低优先级用户不被饿死的同时,高优先级任务也具有较短的响应时间。
在本实施例中提供了一种基于优先级的概率调度器,图6是根据本发明实施例的优选级概率调度器的结构框图,如图6所示,该概率调度器包括概率生成器62(与上述第一生成模块22功能相当)、概率调度队列生成器64(与上述第二生成模块24功能相当)、负反馈处理器66(与上述第一获取模块32、计算模块34及修正模块36所结合的功能相当),下面对该概率调度器进行说明。
概率生成器62,用于生成任务的调度概率;
概率调度队列生成器64,用于生成具有调度周期的概率调度队列,即该概率调度队列生成器产生的是一个调度周期的调度结果;
负反馈处理器66,用于生成负反馈因子,输出负反馈因子用来修正概率生成器所产生的偏差。
采用概率高度的方式突破了传统的调度器设计思路,并不是按照从高到低的优先级顺序来调度任务,而是将不同任务的优先级映射到调度的概率上来。举例说明,就是优先级高的任务得到调度的概率就大,从概率的角度进行调度。调度概率大的用户,交互性比较好,因此可以说优先级高的用户交互性好。比如,在无线分组调度中,高优先级用户的数据时延小,相应的用户体验就好。
从概率角度讲,低优先级或者低概率的任务也会得到调度,因此不会出现低优先级任务饿死的情况。因此,基于优先级的概率调度器在提高高优先级用户的交互性同时保证了低优先级用户不会饿死。而传统调度器一般只能满足交互性与不饿死其中的特性之一。
基于上述所提供的优先级概率调度器,在本实施例中还提供了一种基于上述优先级概率调度器的处理方法,图7是根据本发明实施例的优先级概率调度器的处理方法的流程图,如图7所示,该流程包括以下步骤:
步骤S702,概率生成器生成概率因子;在该步骤中,概率生成器的以单个任务为处理单位,以待处理任务的优先级、权重因子、任务总数以及负反馈处理器输出的负反馈因子为输入参数,输出针对该任务的概率因子,该概率因子是相对于其他任务的调度概率,实际就是得到该任务所期望的调度概率;
步骤S704,概率调度队列生成器生成一个调度周期的概率调度队列;在该步骤中,概率调度队列生成器,以原始任务调度队列、概率生成器输出的各个任务的概率因子为输入参数,输出一个周期的概率调度队列。其中,概率调度队列中各个任务出现的频度与其概率因子一致。即,概率调度队列生成器将原始任务调度队列中的任务按照一定的频度放入概率调度队列中,这个频度与该任务的概率因子成比例;
步骤S706,负反馈处理器生成负反馈因子,在该步骤中,负反馈处理器对概率调度队列生成器每次生成的概率调度队列进行监控。负反馈处理器根据每次生成的概率调度队列对各个任务计算实际的调度概率,然后将各个任务的实际概率与上一次概率生成器生成的概率因子做比较,最后输出负反馈因子。负反馈因子用来修正概率生成器的下一次计算。负反馈的作用是:如果某个任务的实际调度概率大于概率生成器生成的概率因子,则输出一个负值用来修正概率生成器,使得概率生成器下一次生成的概率因子变小,反之亦然。
与现有技术相比较,在本实施例中引入了概率生成器、负反馈处理器以及概率调度队列生成器三个部分,与现有技术采用对优先级进行排序的处理完全不同。基于优先级概率调度器使任务调度的频度与指定的概率一致,使得高优先级任务获得较短的服务时延外,又保证了低优先级任务不会被饿死,大大提高了用户体验。
下面结合附图对上述实施例及优选实施进行说明。
图8是根据本发明实施例的概率生成器的结构示意图,如图8所示,该概率生成器的工作原理包括如下内容:
该概率生成器以priority(i)、wpriority(i)、kfeedback(i,t-1)、N四个参数为输入,生成kprobability(i,t)因子,即:
kprobability(i,t)=fprobability(priority(i),wpriority(i),kfeedback(i,t-1),N) (式1-1)
其中:kprobability(i,t):为任务i第t次调度的概率因子,即概率。每个任务i的概率因子会作为输入参数提供给概率调度队列生成器。
priority(i):为任务i的优先级,该优先级在任务i生成的时候就指定好了。概率生成器以priority(i)为主要参数来计算任务i的概率kprobability(i)。
wpriority(i):为任务i的优先级priority(i)的权重。实际只有priority(i)和kfeedback(i,t-1)两个因素影响不同任务的kprobability(i,t)相对大小,而wpriority(i)是priority(i)所占的权重大小。
kfeedback(i,t-1):为任务i的第t-1次调度的负反馈因子。负反馈生成器根据优先级概率调度器第t-1次调度结果以及概率生成器的第t-1次结果kprobability(i,t-1)输出的第t次调度修正因子,该因子对概率生成器本次结果起到一个修正作用。
N:为待调度的任务总数,该参数用作计算不同任务的概率因子的绝对值,决定不了不同任务的相对概率大小。
fprobability:为概率生成器生成任务i的概率的法则或者算法。根据相关输入参数来输出任务i的第t次调度概率因子kprobability(i,t)。输入参数个数不限,可根据算法设定。在本实施例中给出一个较优的实现方式:
需要指出的是上述实施方式只是一个较优的实现方式,并不限于此。
图9是根据本发明实施例的概率调度队列生成器的结构示意图,如图9所示,该概率调度队列生成器的原理包括如下内容:
该概率调度队列生成器以kprobability(i,t)、queueorg两个参数为输入,生成调度概率调度队列queueprobability(t),即:
queueprobability(t)=fqueue_probability(kprobability(i,t),queueorg),i∈(1,2,...,N) (式1-3)
其中:
queueprobability(t):为概率调度队列生成器第t次的结果输出。该队列任务i根据其概率不同可以出现多次,出现的频度与其概率因子一致。即queueprobability(t)是由不同频度的任务组成的调度队列,后续的任务从这个队列中顺次取出并得到执行或者调度。
kprobability(i,t):为任务i第t次调度的概率因子。这个概率因子为概率生成器第t次调度输出的结果。
queueorg:为原始任务队列,是所有任务的队列,每个任务只出现一次,队列大小等于任务总数N,概率调度队列生成器将从这个队列中取任务,按照一定频度以及规则fqueue_probability放入概率调度队列queueprobability(t)中。
fqueue_probability:为概率调度队列生成器生成概率调度队列的法则或者算法。根据相关输入参数来输出第t次结果queueprobability(t)。输入参数个数不限,可根据算法设定。
依据上述算法的不同,采用概率调度队列生成器生成概率调度队列所执行的步骤也可以不同,在本实施例中提供了一种较优的实现方式,图10是根据本发明优选实施例的概率调度队列生成方法的流程图,如图10所示,该方法包括如下步骤:
步骤S1002,计算每个任务第t调度在概率调度队列queueprobability(t)出现的频度或者次数λfrequency(i,t),较优地,在该步骤中:
λfrequency(i,t)=Length(queueprobability(t))*kprobability(i,t) (式1-4)
其中:
λfrequency(i,t):为任务i第t次调度在queueprobability(t)中的频度;
Length(queueprobability(t)):为概率调度队列queueprobability(t)的长度,这个队列的长度可以是已经设置好的,也可以是根据任务总数计算出来的,一般来说是要大于任务总数N,否则所计算的频度精度有较大损失。
步骤S1004,根据每个任务的频度λfrequency(i,t)生成该任务的临时调度队列queue_tmpprobability(i,t),在该步骤中:
queue_tmpprobability(i,t)=[queueorg[i],...,queueorg[i]], (式1-5)
Length(queue_tmpprobability(i,t))=λfrequency(i,t)
其中:
queue_tmpprobability(i,t):为任务i在t时刻的临时概率调度队列;
queueorg[i]:为原始任务队列queueorg中第i个元素,即任务i在queueorg队列中的表述;
Length(queue_tmpprobability(i,t)):为queue_tmpprobability(i,t)队列的长度,该长度为任务i在t时刻在queueprobability(t)队列中出现的次数。
步骤S1006,根据每个任务的临时调度队列queue_tmpprobability(i,t)生成概率调度队列queueprobability(t)的中间队列queue_tmpprobability(i,t),在该步骤中:
queue_tmpprobability(t)=[queue_tmpprobability(1,t),...,queue_tmpprobability(i,t),...,queue_tmpprobability(N,t)],
(式1-6)
其中:
queue_tmpprobability(i,t):为生成最终概率调度队列queueprobability(t)而使用的中间队列;
Length(queue_tmpprobability(t)):为该中间队列的长度,其长度等于最终概率调度队列queueprobability(t)长度。
步骤S1008,生成最终概率调度队列queueprobability(t)中的每个元素queueprobability(t)[l],在该步骤中:
queueprobability(t)[l]=queue_tmpprobability(t)[fmapping(l)] (式1-7)
实际是根据fmapping法则,将中间队列queue_tmpprobability(t)中的元素一一映射到最终概率调度队列queueprobability(t)中的元素。fmapping法则主要作用将queue_tmpprobability(t)队列中元素打散,然后形成queueprobability(t)。fmapping法则具体形式不定,只要满足这个功能就行,这里给出一种实现,即,利用随机数生成:
其中:
random(range):生成在[1-range]范围内的随机数。
每生成一个l元素queueprobability(t)[l],要将queue_tmpprobability(t)队列中将对应的元素去掉,以便fmapping法则计算下一个元素。
步骤S1010,生成最终概率调度队列queueprobability(t):
(式1-9)
图11是根据本发明优选实施例的负反馈处理器的结构示意图,如图11所示,该负反馈处理器的工作原理包括以下内容:
该负反馈处理器以queueprobability(t-1)、kprobability(i,t-1)两个参数为输入,生成kfeedback(i,t)因子,即:
kfeedback(i,t)=ffeedback(queueprobability(t-1),kprobability(i,t-1)) (式1-10)
其中:
kfeedback(i,t):为生成的任务i在t时刻的负反馈因子;
queueprobability(t-1):为概率队列生成器所生成的在t-1时刻的概率调度队列;
ffeedback:为负反馈处理器的处理法则。负反馈处理器的主要作用是根据概率队列生成器所生成的结果来对下一次概率生成器进行修正。因此ffeedback法则具体形式不定,只要能够根据概率调度队列生成器的结果进行修订就行了。
上述实施例所提供的负反馈处理器针对具体的输入参数个数、输出参数的个数也不定,在本实施例中给出了一种较优的实现方式,图12是根据本发明优选实施例的实施例的负反馈处理器的处理方法的流程图,如图12所示,该流程包括如下步骤:
步骤S1202,根据概率调度队列queueprobability(t-1)计算任务i在t-1时刻的实际的概率频度或者出现次数λreal-frequency(i,t-1),在该步骤中:
λreal-frequency(i,t-1)实际是任务i在queueprobability(t-1)队列中出现的次数。
步骤S1204,计算任务i在t时刻的实际概率因子kreal-probability(i,t-1),在该步骤中:
其中:
Length(queueprobability(t-1)):为上一次调度队列queueprobability(t-1)的队列长度。
步骤S1206,计算任务i在t时刻的负反馈因子:
kfeedback(i,t)=ffeedback=kprobability(i,t-1)-kreal-probability(i,t-1) (式1-12)
其中:
kprobability(i,t-1):为t-1时刻或者说是上一次概率生成器产生的概率因子。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务调度处理方法,其特征在于,包括:
依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率;
根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列。
2.根据权利要求1所述的方法,其特征在于,在生成由所述一个或多个任务构成的所述任务概率调度队列之后,还包括:
依据生成的所述任务概率调度队列获取所述一个或多个任务的实际调度概率;
根据所述实际调度概率与生成的所述调度概率计算此次任务调度的负反馈因子;
采用所述负反馈因子对下一次任务调度中生成的调度概率进行修正。
3.根据权利要求1所述的方法,其特征在于,通过以下公式依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率:
其中,kprobability(i,t)为任务i第t次的调度概率,priority(i)为任务i的优先级,wpriority(i)为任务i的优先级priority(i)的权重,kfeedback(i,t-1)为任务i第t-1次调度的负反馈因子,N为待调度的任务总数。
4.根据权利要求1-3中任一项所述的方法,其特征在于,根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列包括:
根据所述一个或多个任务在所述任务概率调度队列中出现的频度生成所述一个或多个任务所对应的一个或多个临时调度队列;
根据所述临时调度队列生成所述任务调度队列。
5.根据权利要求4所述的方法,其特征在于,根据所述临时调度队列生成所述任务调度队列包括:
将所述一个或多个临时调度队列按照任务的顺序生成构成所述任务调度队列的中间队列;
按照预定的规则将所述按照任务顺序的所述中间队列的顺序重新排布。
6.根据权利要求5所述的方法,其特征在于,所述预定的规则为随机数生成规则。
7.一种任务调度处理装置,其特征在于,包括:
第一生成模块,用于依据一个或多个任务的优先级及所述一个或多个任务的优先级权重因子生成所述一个或多个任务的调度概率;
第二生成模块,用于根据生成的所述一个或多个任务的调度概率,以及由所述一个或多个任务构成的任务队列,生成由所述一个或多个任务构成的任务概率调度队列。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一获取模块,用于在生成由所述一个或多个任务构成的所述任务概率调度队列之后,依据生成的所述任务概率调度队列获取所述一个或多个任务的实际调度概率;
计算模块,用于根据所述实际调度概率与生成的所述调度概率计算此次任务调度的负反馈因子;
修正模块,用于采用所述负反馈因子对下一次任务调度中生成的调度概率进行修正。
9.根据权利要求7或8所述的装置,其特征在于,所述第二生成模块包括:
第一生成单元,用于根据所述一个或多个任务在所述任务概率调度队列中出现的频度生成所述一个或多个任务所对应的一个或多个临时调度队列;
第二生成单元,用于根据所述临时调度队列生成所述任务调度队列。
10.根据权利要求9所述的装置,其特征在于,所述第二生成单元包括:
第二生成子单元,用于将所述一个或多个临时调度队列按照任务的顺序生成构成所述任务调度队列的中间队列;
排布单元,用于按照预定的规则将所述按照任务顺序的所述中间队列的顺序重新排布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210207140.7A CN103514037B (zh) | 2012-06-21 | 2012-06-21 | 任务调度处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210207140.7A CN103514037B (zh) | 2012-06-21 | 2012-06-21 | 任务调度处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514037A true CN103514037A (zh) | 2014-01-15 |
CN103514037B CN103514037B (zh) | 2018-06-01 |
Family
ID=49896810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210207140.7A Active CN103514037B (zh) | 2012-06-21 | 2012-06-21 | 任务调度处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514037B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778011A (zh) * | 2014-01-21 | 2014-05-07 | 国家电网公司 | 一种电力系统中服务平台任务公平随机调度方法 |
CN105468305A (zh) * | 2015-12-09 | 2016-04-06 | 浪潮(北京)电子信息产业有限公司 | 一种数据缓存方法、装置和系统 |
CN107168250A (zh) * | 2016-03-07 | 2017-09-15 | 济南兰光机电技术有限公司 | 一种包装检测任务的自动分配方法及服务器 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN108052443A (zh) * | 2017-10-30 | 2018-05-18 | 北京奇虎科技有限公司 | 一种测试任务调度方法、装置、服务器及存储介质 |
CN109325642A (zh) * | 2017-07-31 | 2019-02-12 | 北京搜狗科技发展有限公司 | 一种任务处理方法、装置、设备及机器可读存储介质 |
CN110780984A (zh) * | 2019-09-26 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种基于优先级的请求调度方法及装置 |
US10705761B2 (en) | 2018-09-14 | 2020-07-07 | Yandex Europe Ag | Method of and system for scheduling transmission of I/O operations |
US10908982B2 (en) | 2018-10-09 | 2021-02-02 | Yandex Europe Ag | Method and system for processing data |
US10996986B2 (en) | 2018-12-13 | 2021-05-04 | Yandex Europe Ag | Method and system for scheduling i/o operations for execution |
US11003600B2 (en) | 2018-12-21 | 2021-05-11 | Yandex Europe Ag | Method and system for scheduling I/O operations for processing |
US11010090B2 (en) | 2018-12-29 | 2021-05-18 | Yandex Europe Ag | Method and distributed computer system for processing data |
CN112822268A (zh) * | 2021-01-06 | 2021-05-18 | 大连理工大学 | 一种工业物联网中面向多服务共存以及确定性网络需求的ip层数据包调度算法 |
US11048547B2 (en) | 2018-10-09 | 2021-06-29 | Yandex Europe Ag | Method and system for routing and executing transactions |
US11055160B2 (en) | 2018-09-14 | 2021-07-06 | Yandex Europe Ag | Method of determining potential anomaly of memory device |
US11061720B2 (en) | 2018-09-14 | 2021-07-13 | Yandex Europe Ag | Processing system and method of detecting congestion in processing system |
CN113421034A (zh) * | 2021-08-20 | 2021-09-21 | 北京智行者科技有限公司 | 清洁组合任务调度方法及其装置、相关产品及清洁设备 |
US11184745B2 (en) | 2019-02-06 | 2021-11-23 | Yandex Europe Ag | Actor system and method for transmitting a message from a first actor to a second actor |
US11288254B2 (en) | 2018-10-15 | 2022-03-29 | Yandex Europe Ag | Method of and system for processing request in distributed database |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425964A (zh) * | 2007-11-01 | 2009-05-06 | 大唐移动通信设备有限公司 | 基于服务质量的业务调度方法与装置 |
CN101510164A (zh) * | 2009-03-25 | 2009-08-19 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
CN101848149A (zh) * | 2010-04-22 | 2010-09-29 | 北京航空航天大学 | 分组网络中分级队列调度的方法和装置 |
-
2012
- 2012-06-21 CN CN201210207140.7A patent/CN103514037B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425964A (zh) * | 2007-11-01 | 2009-05-06 | 大唐移动通信设备有限公司 | 基于服务质量的业务调度方法与装置 |
CN101510164A (zh) * | 2009-03-25 | 2009-08-19 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
CN101848149A (zh) * | 2010-04-22 | 2010-09-29 | 北京航空航天大学 | 分组网络中分级队列调度的方法和装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778011B (zh) * | 2014-01-21 | 2017-02-08 | 国家电网公司 | 一种电力系统中服务平台任务公平随机调度方法 |
CN103778011A (zh) * | 2014-01-21 | 2014-05-07 | 国家电网公司 | 一种电力系统中服务平台任务公平随机调度方法 |
CN105468305A (zh) * | 2015-12-09 | 2016-04-06 | 浪潮(北京)电子信息产业有限公司 | 一种数据缓存方法、装置和系统 |
CN107168250A (zh) * | 2016-03-07 | 2017-09-15 | 济南兰光机电技术有限公司 | 一种包装检测任务的自动分配方法及服务器 |
CN107168250B (zh) * | 2016-03-07 | 2019-06-04 | 济南兰光机电技术有限公司 | 一种包装检测任务的自动分配方法及服务器 |
CN107423120B (zh) * | 2017-04-13 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN109325642A (zh) * | 2017-07-31 | 2019-02-12 | 北京搜狗科技发展有限公司 | 一种任务处理方法、装置、设备及机器可读存储介质 |
CN108052443A (zh) * | 2017-10-30 | 2018-05-18 | 北京奇虎科技有限公司 | 一种测试任务调度方法、装置、服务器及存储介质 |
US11061720B2 (en) | 2018-09-14 | 2021-07-13 | Yandex Europe Ag | Processing system and method of detecting congestion in processing system |
US11055160B2 (en) | 2018-09-14 | 2021-07-06 | Yandex Europe Ag | Method of determining potential anomaly of memory device |
US10705761B2 (en) | 2018-09-14 | 2020-07-07 | Yandex Europe Ag | Method of and system for scheduling transmission of I/O operations |
US11449376B2 (en) | 2018-09-14 | 2022-09-20 | Yandex Europe Ag | Method of determining potential anomaly of memory device |
US10908982B2 (en) | 2018-10-09 | 2021-02-02 | Yandex Europe Ag | Method and system for processing data |
US11048547B2 (en) | 2018-10-09 | 2021-06-29 | Yandex Europe Ag | Method and system for routing and executing transactions |
US11288254B2 (en) | 2018-10-15 | 2022-03-29 | Yandex Europe Ag | Method of and system for processing request in distributed database |
US10996986B2 (en) | 2018-12-13 | 2021-05-04 | Yandex Europe Ag | Method and system for scheduling i/o operations for execution |
US11003600B2 (en) | 2018-12-21 | 2021-05-11 | Yandex Europe Ag | Method and system for scheduling I/O operations for processing |
US11010090B2 (en) | 2018-12-29 | 2021-05-18 | Yandex Europe Ag | Method and distributed computer system for processing data |
US11184745B2 (en) | 2019-02-06 | 2021-11-23 | Yandex Europe Ag | Actor system and method for transmitting a message from a first actor to a second actor |
CN110780984A (zh) * | 2019-09-26 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种基于优先级的请求调度方法及装置 |
CN112822268B (zh) * | 2021-01-06 | 2021-11-16 | 大连理工大学 | 一种工业物联网中多服务共存及ip层数据包的调度方法 |
CN112822268A (zh) * | 2021-01-06 | 2021-05-18 | 大连理工大学 | 一种工业物联网中面向多服务共存以及确定性网络需求的ip层数据包调度算法 |
CN113421034A (zh) * | 2021-08-20 | 2021-09-21 | 北京智行者科技有限公司 | 清洁组合任务调度方法及其装置、相关产品及清洁设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103514037B (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514037A (zh) | 任务调度处理方法及装置 | |
Saeed et al. | Eiffel: Efficient and flexible software packet scheduling | |
Gao et al. | An M/G/1 retrial queue with general retrial times, working vacations and vacation interruption | |
CN110347708A (zh) | 一种数据处理方法以及相关设备 | |
CN109117742A (zh) | 手势检测模型处理方法、装置、设备及存储介质 | |
CN102495804A (zh) | 软件自动化测试方法 | |
CN105760361B (zh) | 一种语言模型建立方法及装置 | |
CN104317738B (zh) | 一种基于MapReduce的增量计算方法 | |
CN109684290A (zh) | 日志存储方法、装置、设备及计算机可读存储介质 | |
CN110263076A (zh) | 一种自动化生成数据分析报告的方法 | |
CN105302827B (zh) | 一种事件的搜索方法和设备 | |
CN117473188B (zh) | 一种显示数据的渲染方法、装置、电子设备及存储介质 | |
CN112199407B (zh) | 一种数据分组排序方法、装置、设备及存储介质 | |
CN109885298A (zh) | 一种ui组件生成方法、装置和终端设备 | |
CN109635034A (zh) | 训练数据重采样方法、装置、存储介质及电子设备 | |
JP5807978B2 (ja) | プログラム | |
CN107018095B (zh) | 基于离散事件的交换单元仿真系统及方法 | |
CN114358030A (zh) | 一种专利文献翻译后的机器校对方法及其系统 | |
Manolache | Schedulability analysis of real-time systems with stochastic task execution times | |
CN104238372B (zh) | 多个模型并行仿真的调度方法和装置 | |
Rox et al. | Modeling event stream hierarchies with hierarchical event models | |
Chang et al. | Modeling and performance analysis of a finite-buffer queue with batch arrivals, batch services, and setup times: The MX/GY/1/K+ B queue with setup times | |
Buss | Simkit analysis workbench for rapid construction of modeling and simulation components | |
CN110647407A (zh) | 一种数据配置方法和系统 | |
CN103810277B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |