《一种任务分配控制的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种任务分配控制的方法及系统.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077086 A(43)申请公布日 2013.05.01CN103077086A*CN103077086A*(21)申请号 201310007649.1(22)申请日 2013.01.09G06F 9/50(2006.01)(71)申请人苏州亿倍信息技术有限公司地址 215021 江苏省苏州市苏州工业园区星湖街328号崇文路国华大厦A511(72)发明人谢静宇(54) 发明名称一种任务分配控制的方法及系统(57) 摘要本发明提供一种任务分配控制的方法及系统。上述方法包括以下步骤:客户端将任务提交至任务处理器;任务处理器将具有依赖关系的任务放入任务队列,并根据任务。
2、之间的依赖关系建立任务依赖对照表;控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器;控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器;任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。(51)Int.Cl.权利要求书2页 说明书5页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图2页(10)申请公。
3、布号 CN 103077086 ACN 103077086 A1/2页21.一种任务分配控制的方法,其特征在于,包括以下步骤:客户端将任务提交至任务处理器;所述任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至控制器;所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器;所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至所述任务处理器;所述任。
4、务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。2.根据权利要求1所述的方法,其特征在于,所述第一策略为:所述控制器根据所述任务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。3.根据权利要求1所述的方法,其特征在于,所述第二策略为:各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。4.根据权利要求1所述的方法,其特征在于,所述任务队列中的任务,按照依赖关系。
5、排序,被依赖任务优先被执行。5.根据权利要求1所述的方法,其特征在于,所述任务处理器根据被依赖任务一个周期反馈的结果判断是否能够处理所述任务队列中的依赖任务,若不能处理,则继续等待所述被依赖任务下一个周期反馈的结果,直至所述依赖任务能够处理为止。6.根据权利要求1所述的方法,其特征在于,若所述任务队列中的任一被依赖任务完成,则所述任务处理器更新所述任务依赖对照表,并将更新的所述任务依赖对照表发送至所述控制器。7.一种任务分配控制的系统,其特征在于,包括客户端、任务处理器及控制器,所述客户端连接所述任务处理器,所述任务处理器连接所述控制器,其中,所述客户端将任务提交至所述任务处理器,所述任务处理。
6、器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至所述控制器,所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器,所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至所述任务处理器,所述任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。8.根据权利要求7所述的系统,其特征在于,所述。
7、第一策略为:所述控制器根据所述任权 利 要 求 书CN 103077086 A2/2页3务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。9.根据权利要求7所述的系统,其特征在于,所述第二策略为:各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。10.根据权利要求7所述的系统,其特征在于,所述任务队列中的任务,按照依赖关系排序,被依赖任务优先被执行。权 利 要 求 书CN 103077086 A1/5页4一种任务分配控制的方法。
8、及系统技术领域0001 本发明属于计算机技术领域,尤其涉及一种任务分配控制的方法及系统。背景技术0002 目前,在计算机技术领域,会遇到一个复杂的计算任务模型由多个有依赖关系的计算任务组成的情况。其中,依赖任务只能在被依赖任务完成后才能进行计算,而不具有依赖关系的计算任务可并行计算。对于这种任务模型,如何对任务进行资源分配,以获得最优的任务处理时间,是一个重要的问题。发明内容0003 本发明提供一种任务分配控制的方法及系统,以解决上述问题。0004 本发明提供一种任务分配控制的方法。上述方法包括以下步骤:客户端将任务提交至任务处理器;任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的。
9、依赖关系建立任务依赖对照表,并将任务依赖对照表同步至控制器;控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器;控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器;任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。0005 本发明还提供一种任务分配控制的系统,包括客户端、任务处理器及控制器。客户端连接任务处理器,任务处理器连接控制器。其中,客户端将任。
10、务提交至任务处理器。任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将任务依赖对照表同步至控制器。控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器。控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器。任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。0006 相较于先前技术,根据本发明提供的任务分配控制的方。
11、法及系统,控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器。控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器。任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。如此,提高了具有依赖关系的任务的资源分配效率,使得具有依赖关系的任务得到了更好的执行,提高了效率。说 明 书CN 103077086 A2/5页5附图说明0007 此处所说明的附图用来提供。
12、对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:0008 图1所示为根据本发明的较佳实施例提供的任务分配控制的方法的流程图;0009 图2所示为根据本发明的较佳实施例提供的任务分配控制的系统的示意图。具体实施方式0010 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。0011 图1所示为根据本发明的较佳实施例提供的任务分配控制的方法的流程图。如图1所示,本发明的较佳实施例提供的任务分配控制的方法包括步骤101105。0012 于步骤101,客。
13、户端将任务提交至任务处理器。于此,任务包括具有依赖关系的任务及相互独立的任务。本发明对此并不限定。0013 于步骤102,所述任务处理器将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将所述任务依赖对照表同步至控制器。于此,任务队列中的任务,按照依赖关系排序,被依赖任务优先被执行。0014 于本实施例中,任务处理器建立的任务依赖对照表例如表1所示。然而,本发明对此并不限定。0015 被依赖任务依赖任务任务1任务4、任务5、任务6任务2任务5、任务6任务3任务60016 表10017 于步骤103,所述控制器根据所述任务依赖对照表及第一策略,获得各个被依赖任务的空。
14、闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至所述任务处理器。0018 于此,所述第一策略为:所述控制器根据所述任务依赖对照表分别计算各个被依赖任务对应的依赖任务占比,根据各个被依赖任务对应的依赖任务占比及当前时刻的系统空闲时间片的总量,计算获得各个被依赖任务的空闲时间片分配总数。其中,各个被依赖任务对应的依赖任务占比为相应的被依赖任务对应的依赖任务数目与任务总数的比值。各个被依赖任务的空闲时间片分配总数为相应的被依赖任务的依赖任务占比与当前时刻的系统空闲时间片总量的乘积。0019 于本实施例中,以表1为例进行说明,由表1可知,当前任务总数为6个。此外,例如当前时刻的系统空闲时。
15、间片总量为a,则被依赖任务1的依赖任务占比=3/6=0.5,且被依赖任务1的空闲时间片分配总数=0.5*a;被依赖任务2的依赖任务占比=2/6=1/3,且被依说 明 书CN 103077086 A3/5页6赖任务2的空闲时间片分配总数=(1/3)*a;被依赖任务3的依赖任务占比=1/6,且被依赖任务3的空闲时间片分配总数=(1/6)*a。于此,控制器获得被依赖任务13对应的空闲时间片分配总数后,将被依赖任务13对应的空闲时间片分配总数发送至任务处理器。0020 于步骤104,所述控制器根据接收的所述任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将。
16、各个被依赖任务对应的周期发送至所述任务处理器。0021 于此,所述第二策略为:各个被依赖任务对应的周期根据各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的依赖任务个数确定。具体而言,各个被依赖任务对应的周期等于相应被依赖任务的空闲时间片分配总数与相应被依赖任务对应的依赖任务个数的比值。然而,本发明对此并不限定。于其他实施例中,各个被依赖任务对应的周期还可以等于相应被依赖任务的空闲时间片分配总数与预设常数的比值。其中,所述预设常数的设置可根据实际需要进行设定。0022 于本实施例中,仍以步骤102中的表1为例进行说明。控制器从任务处理器接收任务依赖对照表(即,表1),并获得被依赖任务13。
17、对应的空闲时间片分配总数,根据第二策略可知,被依赖任务1对应的周期T1=0.5*a/3=(1/6)*a,被依赖任务2对应的周期T2=(1/3)*a/2=(1/6)*a,被依赖任务3对应的周期T3=(1/6)*a。0023 于步骤105,所述任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理所述任务队列中具有依赖关系的任务。0024 具体而言,任务处理器从控制器接收各个被依赖任务的空闲时间片分配总数及对应的周期。任务处理器根据被依赖任务一个周期反馈的结果判断是否能够处理任务队列中的依赖任务,若不能处理,则继续等待被依赖任务下一个周期反馈的结果,直至依赖任务能够。
18、处理为止。0025 于本实施例中,仍以步骤102中的表1为例进行说明。于此,任务处理器根据被依赖任务1反馈的结果判断是否能够继续处理依赖任务4、依赖任务5或依赖任务6。若不能继续处理依赖任务4、依赖任务5或依赖任务6,则任务处理器删除被依赖任务1反馈的结果,且任务处理器根据被依赖任务1下一个周期T1反馈的结果,再判断依赖任务4、依赖任务5或依赖任务6是否能够处理。上述过程直至依赖任务4、依赖任务5或依赖任务6能够处理为止。若任务处理器例如根据被依赖任务1反馈的结果判断得到依赖任务5能够处理,则开始依赖任务5的部分处理,此时,任务处理器暂存接收到的被依赖任务2反馈的结果,并于依赖任务5的部分处理。
19、完成后,根据被依赖任务2反馈的结果判断依赖任务5能否继续处理,若能够继续处理,则任务处理器继续处理依赖任务5,若根据被依赖任务2反馈的结果判断不能继续处理依赖任务5,则任务处理器删除暂存的被依赖任务2反馈的结果,等待被依赖任务2下一个周期T2反馈的结果,再继续进行判断,直至依赖任务5能够处理为止。此外,依赖任务6的处理过程同依赖任务5,故于此不再赘述。0026 例如:被依赖任务1为更新数据表a、b、c、d;被依赖任务2为更新数据表e、f、g、h;依赖任务5为查询数据表a、g;若被依赖任务1在第一个周期T1时,完成数据表a的更新;被依赖任务2在第一个周期T2时,完成数据表e的更新,则任务处理器根。
20、据被依赖任务1反馈的结果(数据表a的更新),判断依赖任务5能够处理,则开始任务5的部分处理(查询数据表a);此时,任务处理器暂存接收到的被依赖任务2反馈的结果(数据表e的更新)。说 明 书CN 103077086 A4/5页7于依赖任务5的部分处理(查询数据表a)完成后,任务处理器根据被依赖任务2反馈的结果(数据表e的更新),判断依赖任务5不能继续处理,则任务处理器删除暂存的被依赖任务2反馈的结果(数据表e的更新),等待被依赖任务2下一个周期T2反馈的结果,再继续进行判断,直至依赖任务5能够处理为止。0027 此外,于本实施例中,若任务队列中的任一被依赖任务完成,则任务处理器更新任务依赖对照表。
21、,并将更新的任务依赖对照表同步至控制器。仍以步骤102中的表1为例,若被依赖任务3完成,则任务处理器更新表1,得到例如表2所示。0028 被依赖任务依赖任务任务1任务4、任务5、任务6任务2任务5、任务60029 表20030 此时,任务处理器将更新的任务依赖对照表(即,表2)同步至控制器。控制器根据表2及第一策略,重新获得各个被依赖任务的空闲时间片分配总数,并发送给任务处理器,控制器根据表2、各个被依赖任务的空闲时间片分配总数及第二策略,重新获得各个被依赖任务对应的周期,并发送给任务处理器。任务处理器根据更新的各个被依赖任务的空闲时间片分配总数及对应的周期,处理任务队列中具有依赖关系的任务,。
22、直至将任务队列中的任务全部处理。0031 图2所示为根据本发明的较佳实施例提供的任务分配控制的系统的示意图。如图2所示,本发明的较佳实施例提供的任务分配控制的系统包括客户端10、任务处理器11及控制器12。其中,客户端10连接任务处理器11,任务处理器11连接控制器12。0032 于本实施例中,客户端10将任务提交至任务处理器11。任务处理器11将具有依赖关系的任务放入任务队列,并根据任务之间的依赖关系建立任务依赖对照表,并将任务依赖对照表同步至控制器12。控制器12根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器11。
23、。控制器12根据接收的任务依赖对照表、各个被依赖任务的空闲时间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器11。任务处理器11根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。关于所述系统的具体操作过程同上述方法所述,故于此不再赘述。0033 综上所述,根据本发明较佳实施例提供的任务分配控制的方法及系统,控制器根据任务依赖对照表及第一策略,获得各个被依赖任务的空闲时间片分配总数,并将各个被依赖任务的空闲时间片分配总数发送至任务处理器。控制器根据接收的任务依赖对照表、各个被依赖任务的空闲时。
24、间片分配总数及第二策略,确定各个被依赖任务对应的周期,并将各个被依赖任务对应的周期发送至任务处理器。任务处理器根据接收的各个被依赖任务的空闲时间片分配总数及各个被依赖任务对应的周期,处理任务队列中具有依赖关系的任务。如此,提高了具有依赖关系的任务的资源分配效率,使得具有依赖关系的任务得到了更说 明 书CN 103077086 A5/5页8好的执行,提高了效率。0034 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说 明 书CN 103077086 A1/2页9图1说 明 书 附 图CN 103077086 A2/2页10图2说 明 书 附 图CN 103077086 A10。