一种任务分配控制的方法及系统的制作方法

文档序号:6397621阅读:154来源:国知局
专利名称:一种任务分配控制的方法及系统的制作方法
技术领域
本发明属于计算机技术领域,尤其涉及一种任务分配控制的方法及系统。
背景技术
目前,在计算机技术领域,会遇到一个复杂的计算任务模型由多个有依赖关系的计算任务组成的情况。其中,依赖任务只能在被依赖任务完成后才能进行计算,而不具有依赖关系的计算任务可并行计算。对于这种任务模型,如何对任务进行资源分配,以获得最优的任务处理时间,是一个重要的问题。

发明内容
本发明提供一种任务分配控制的方法及系统,以解决上述问题。本发明提供一种任务分配控制的方法。上述方法包括以下步骤客户端将任务提交至任务处理器;任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将任务依赖对照表同步至控制器;控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器;控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器;任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。本发明还提供一种任务分配控制的系统,包括客户端、任务处理器及控制器。客户端连接任务处理器,任务处理器连接控制器。其中,客户端将任务提交至任务处理器。任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将任务依赖对照表同步至控制器。控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器。控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器。任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。相较于先前技术,根据本发明提供的任务分配控制的方法及系统,控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器。控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器。任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。如此,提高了具有依赖关系的任务的资源分配效率,使得具有依赖关系的任务得到了更好的执行,提闻了效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1所示为根据本发明的较佳实施例提供的任务分配控制的方法的流程图;图2所示为根据本发明的较佳实施例提供的任务分配控制的系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为根据本发明的较佳实施例提供的任务分配控制的方法的流程图。如图1所示,本发明的较佳实施例提供的任务分配控制的方法包括步骤IOf 105。于步骤101,客户端将任务提交至任务处理器。于此,任务包括具有依赖关系的任务及相互独立的任务。本发明对此并不限定。于步骤102,所述任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至控制器。于此,任务队列中的任务,按照依赖关系排序,被依赖任务优先被执行。于本实施例中,任务处理器建立的任务依赖对照表例如表I所示。然而,本发明对此并不限定。
被依赖任务依赖任务任务I 任务4、任务5、任务6任务2 任务5、任务6任务3 任务6表I于步骤103,所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器。于此,所述第一策略为所述控制器根据所述任务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。其中,各个被依赖任务对应的依赖任务占比为相应的被依赖任务对应的依赖任务数目与任务总数的比值。各个被依赖任务的空闲时间片分配总数为相应的被依赖任务的依赖任务占比与当前时刻的系统空闲时间片总量的乘积。于本实施例中,以表I为例进行说明,由表I可知,当前任务总数为6个。此外,例如当前时刻的系统空闲时间片总量为a,则被依赖任务I的依赖任务占比=3/6=0. 5,且被依赖任务I的空闲时间片分配总数=0. 5*a ;被依赖任务2的依赖任务占比=2/6=1/3,且被依赖任务2的空闲时间片分配总数=(l/3)*a ;被依赖任务3的依赖任务占比=1/6,且被依赖任务3的空闲时间片分配总数=(1/6) *a。于此,控制器获得被依赖任务f 3对应的空闲时间片分配总数后,将被依赖任务广3对应的空闲时间片分配总数发送至任务处理器。于步骤104,所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至所述任务处理器。于此,所述第二策略为各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。具体而言,各个被依赖任务对应的周期等于相应被依赖任务的空闲时间片分配总数与相应被依赖任务对应的依赖任务个数的比值。然而,本发明对此并不限定。于其他实施例中,各个被依赖任务对应的周期还可以等于相应被依赖任务的空闲时间片分配总数与预设常数的比值。其中,所述预设常数的设置可根据实际需要进行设定。于本实施例中,仍以步骤102中的表I为例进行说明。控制器从任务处理器接收任务依赖对照表(即,表1),并获得被依赖任务f 3对应的空闲时间片分配总数,根据第二策略可知,被依赖任务I对应的周期Tl=O. 5*a/3= (1/6) *a,被依赖任务2对应的周期T2=(l/3)*a/2= (l/6)*a,被依赖任务3对应的周期T3= (l/6)*a。于步骤105,所述任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。具体而言,任务处理器从控制器接收各个被依赖任务的空闲时间片分配总数及对应的周期。任务处理器根据被依赖任务一个周期反馈的结果判断是否能够处理任务队列中的依赖任务,若不能处理,则继续等待被依赖任务下一个周期反馈的结果,直至依赖任务能够处理为止。于本实施例中,仍以步骤102中的表I为例进行说明。于此,任务处理器根据被依赖任务I反馈的结果判断是否能够继续处理依赖任务4、依赖任务5或依赖任务6。若不能继续处理依赖任务4、依赖任务5或依赖任务6,则任务处理器删除被依赖任务I反馈的结果,且任务处理器根据被依赖任务I下一个周期Tl反馈的结果,再判断依赖任务4、依赖任务5或依赖任务6是否能够处理。上述过程直至依赖任务4、依赖任务5或依赖任务6能够处理为止。若任务处理器例如根据被依赖任务I反馈的结果判断得到依赖任务5能够处理,则开始依赖任务5的部分处理,此时,任务处理器暂存接收到的被依赖任务2反馈的结果,并于依赖任务5的部分处理完成后,根据被依赖任务2反馈的结果判断依赖任务5能否继续处理,若能够继续处理,则任务处理器继续处理依赖任务5,若根据被依赖任务2反馈的结果判断不能继续处理依赖任务5,则任务处理器删除暂存的被依赖任务2反馈的结果,等待被依赖任务2下一个周期T2反馈的结果,再继续进行判断,直至依赖任务5能够处理为止。此外,依赖任务6的处理过程同依赖任务5,故于此不再赘述。例如被依赖任务I为更新数据表a、b、C、d ;被依赖任务2为更新数据表e、f、g、h ;依赖任务5为查询数据表a、g ;若被依赖任务I在第一个周期Tl时,完成数据表a的更新;被依赖任务2在第一个周期T2时,完成数据表e的更新,则任务处理器根据被依赖任务I反馈的结果(数据表a的更新),判断依赖任务5能够处理,则开始任务5的部分处理(查询数据表a);此时,任务处理器暂存接收到的被依赖任务2反馈的结果(数据表e的更新)。于依赖任务5的部分处理(查询数据表a)完成后,任务处理器根据被依赖任务2反馈的结果(数据表e的更新),判断依赖任务5不能继续处理,则任务处理器删除暂存的被依赖任务2反馈的结果(数据表e的更新),等待被依赖任务2下一个周期T2反馈的结果,再继续进行判断,直至依赖任务5能够处理为止。此外,于本实施例中,若任务队列中的任一被依赖任务完成,则任务处理器更新任务依赖对照表,并将更新的任务依赖对照表同步至控制器。仍以步骤102中的表I为例,若被依赖任务3完成,则任务处理器更新表1,得到例如表2所示。
权利要求
1.一种任务分配控制的方法,其特征在于,包括以下步骤:客户端将任务提交至任务处理器;所述任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至控制器;所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器;所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至所述任务处理器;所述任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。
2.根据权利要求1所述的方法,其特征在于,所述第一策略为:所述控制器根据所述任务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系 统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。
3.根据权利要求1所述的方法,其特征在于,所述第二策略为:各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。
4.根据权利要求1所述的方法,其特征在于,所述任务队列中的任务,按照依赖关系排序,被依赖任务优先被执行。
5.根据权利要求1所述的方法,其特征在于,所述任务处理器根据被依赖任务一个周期反馈的结果判断是否能够处理所述任务队列中的依赖任务,若不能处理,则继续等待所述被依赖任务下一个周期反馈的结果,直至所述依赖任务能够处理为止。
6.根据权利要求1所述的方法,其特征在于,若所述任务队列中的任一被依赖任务完成,则所述任务处理器更新所述任务依赖对照表,并将更新的所述任务依赖对照表发送至所述控制器。
7.一种任务分配控制的系统,其特征在于,包括客户端、任务处理器及控制器,所述客户端连接所述任务处理器,所述任务处理器连接所述控制器,其中,所述客户端将任务提交至所述任务处理器,所述任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至所述控制器,所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器,所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至所述任务处理器,所述任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。
8.根据权利要求7所述的系统,其特征在于,所述第一策略为:所述控制器根据所述任务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。
9.根据权利要求7所述的系统,其特征在于,所述第二策略为:各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。
10.根据权利要求7所述的系统,其特征在于,所述任务队列中的任务,按照依赖关系排序,被依赖任务优先被执行。
全文摘要
本发明提供一种任务分配控制的方法及系统。上述方法包括以下步骤客户端将任务提交至任务处理器;任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表;控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器;控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器;任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。
文档编号G06F9/50GK103077086SQ201310007649
公开日2013年5月1日 申请日期2013年1月9日 优先权日2013年1月9日
发明者谢静宇 申请人:苏州亿倍信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1