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

文档序号:10724678阅读:343来源:国知局
任务调度方法及装置的制造方法
【专利摘要】本发明公开了一种任务调度方法及装置。该方法包括:根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重,根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。由于任务的分配不仅受优先级影响,还可以受在队列中的位置以及等待时长影响,从而低优先级任务不是一定在高优先级任务处理完成后才能执行,避免低优先级任务的长期等待,避免形成低优先级任务的堵塞。
【专利说明】
任务调度方法及装置
技术领域
[0001]本发明涉及计算机应用领域,具体地,涉及一种任务调度方法及装置。
【背景技术】
[0002]目前,在利用计算机进行业务处理时,通常会根据业务类型将要处理的任务划分不同的优先级,将各任务按优先级尚低顺序在任务队列中排序,使优先级尚的任务优先执行。
[0003]但是,由于低优先级任务必须要等到高优先级任务处理完成后才能执行,导致低优先级任务长期等待形成低优先级任务的堵塞。

【发明内容】

[0004]本发明的目的是提供一种任务调度方法及装置,以避免低优先级任务的堵塞。
[0005]在本发明实施例的一个方面中,提供了一种任务调度方法。例如,该方法可以包括:根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重,根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。
[0006]可选地,所述任务队列中的任务按照优先级从高到低的顺序排位,高优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后。所述根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重包括:根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重。其中,所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加。所述根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务包括:从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。
[0007]可选地,所述根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重包括:针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。
[0008]可选地,所述任务在任务队列中的位置对应的权重分量,等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数。所述等待时长对应的权重分量,等于所述等待时长除以预设时长阈值再乘以时长权重系数。所述优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数。其中,所述优先级权重系数〉所述时长权重系数〉所述位置权重系数。
[0009]可选地,所述优先级权重系数>0.5。
[0010]在本发明实施例的另一方面中,提供了一种任务调度装置。例如,该装置可以包括:计算模块,被配置为根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重。筛选模块,被配置为根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。
[0011]可选地,所述任务队列中的任务按照优先级从高到低的顺序排位,高优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后。所述计算模块被配置为根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重。其中,所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加。所述筛选模块被配置为从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。
[0012]可选地,所述计算模块被配置为针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。
[0013]可选地,所述任务在任务队列中的位置对应的权重分量,等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数。所述等待时长对应的权重分量,等于所述等待时长除以预设时长阈值再乘以时长权重系数。所述优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数。其中,所述优先级权重系数〉所述时长权重系数〉所述位置权重系数。
[0014]可选地,所述优先级权重系数>0.5。
[0015]通过上述技术方案,根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重,根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务,可见任务的分配不仅受优先级影响,还可以受在队列中的位置以及等待时长影响,低优先级任务不是一定在高优先级任务处理完成后才能执行,从而避免低优先级任务的长期等待,避免形成低优先级任务的堵塞。
[0016]本发明的其他特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0017]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0018]图1是根据一示例性实施例示出的实施环境示意图。
[0019]图2是根据本发明的一示例性实施例示出的一种任务调度方法的流程图。
[0020]图3是根据本发明的另一示例性实施例示出的一种任务调度方法的流程图。
[0021]图4是根据本发明的一示例性实施例示出的一种任务调度装置的框图。
【具体实施方式】
[0022]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0023]图1是根据一示例性实施例示出的实施环境示意图。在该实施环境中,由分发设备101在计算设备的剩余资源可供分配时,筛选出当前需要分配的任务,将筛选出的任务分发给各个计算设备102来并行执行。假设分发设备101的任务队列中有N个任务封装对象,则针对每个任务封装对象进行分配权重的计算,其中,每个任务封装对象可以分为若干个子任务。分发设备101根据各个任务封装对象的分配权重,筛选出当前需要分配的任务封装对象。将筛选出的任务封装对象的全部或者部分子任务分发给各个计算设备102。其中,任务的分发量根据各个计算设备的剩余资源确定,在此不再赘述。该实施环境可以应用于各个行业,例如,该实施环境可以应用于银行业对信用卡到账记录任务的处理。
[0024]可以理解的是,图1所示实施环境仅用于示意本发明实施例提供的方法,并不构成对本发明实施例的限制。
[0025]图2是根据本发明的一示例性实施例示出的一种任务调度方法的流程图。该方法可以包括:
[0026]在步骤210中,根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重。
[0027]在步骤220中,根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。
[0028]可见,根据本发明实施例提供的方法,任务的分配不仅受优先级影响,还可以受在队列中的位置以及等待时长影响,低优先级任务不是一定在高优先级任务处理完成后才能执行,从而避免低优先级任务的长期等待,避免形成低优先级任务的堵塞。
[0029]图3是根据本发明的另一示例性实施例示出的一种任务调度方法的流程图。该方法可以包括:
[0030]在步骤310中,根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重。
[0031]其中,所述任务队列中的任务按照优先级从高到低的顺序排位,高优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后。所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加。
[0032]需要说明的是,本发明实施例对任务在任务队列中的位置对应的权重分量随着任务的位置越靠前而增大的实现方式不限。例如,一种可能的实现方式中,任务在任务队列中的位置对应的权重分量,可以等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数。
[0033]算式可以表达为:任务在任务队列中的位置对应的权重分量=(队列长度-任务在任务队列中的排位值)X位置权重系数/队列长度。其中,位置权重系数可以根据位置的重要程度需要设置,例如,可以设置为0.2、0.1等等。
[0034]本发明实施例对等待时长对应的权重分量随着等待时长的增加而增大的实现方式不限。例如,一种可能的实现方式中,等待时长对应的权重分量,可以等于所述等待时长除以预设时长阈值再乘以时长权重系数。
[0035]算式可以表达为:等待时长对应的权重分量=(当前时刻-该任务上一次被分配的时刻)X时长权重系数/预设时长阈值。其中,预设时长阈值可以根据实际需要设置,例如,可以根据经验确定预设时长阈值,或者,可以统计大量任务等待时长,根据大量任务等待时长的平均值或最大值确定预设时长阈值,等等。等待时长权重系数可以根据等待时长的重要程度需要设置,例如,可以设置为0.4、0.3等等。
[0036]本发明实施例对优先级对应的权重分量随着优先级增高而增加的实现方式不限。例如,一种可能的实现方式中,优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数。
[0037]算式可以表达为:优先级对应的权重分量=优先级对应的优先级系数X优先级权重系数。其中,不同优先级可以对应不同的优先级系数。例如,最高优先级对应的优先级系数可以为I,按优先级逐级降低,优先级系数可以逐级减小。其中,优先级权重系数可以根据优先级的重要程度需要设置,例如,可以设置为0.6。
[0038]考虑到优先级的重要程度一般大于等待时长的重要程度,而等待时长的重要程度一般大于在任务队列中的位置的重要程度,因此,可以根据优先级权重系数〉所述时长权重系数〉所述位置权重系数来设置各权重系数。一种可能的实施方式中,优先级权重系数+所述时长权重系数+所述位置权重系数=I,位置权重系数>0,优先级权重系数>0.5。
[0039]在该步骤中,根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重,可以根据实际需要设置算法,本发明对此并不进行限制。例如,可以针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。
[0040]在步骤320中,从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。
[0041]需要说明的是,从任务队列中筛选出分配权重最大的任务作为当前需要分配的任务仅为本发明一种可能的实施方式,本发明对此并不进行限制。例如,也可以根据实际实施需要,筛选出分配权重符合其他预设条件的任务作为当前需要分配的任务。例如,预设条件可以为筛选出分配权重按从大到小排序,排位在头几位的任务、可以为筛选出分配权重在一定范围内的任务、等等。
[0042]可见,根据该实施例提供的方法,任务的分配不仅受优先级影响,还可以受在队列中的位置以及等待时长影响,当在队列中的位置越靠前,等待时长越长,则分配权重越高,从而避免低优先级任务的长期等待,避免形成低优先级任务的堵塞。
[0043]图4是根据本发明的一示例性实施例示出的一种任务调度装置的框图。该装置可以包括:计算模块410和筛选模块420。
[0044]该计算模块410,可以被配置为根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重;
[0045]该筛选模块420,可以被配置为根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。
[0046]可见,根据本发明实施例提供的装置,任务的分配不仅受优先级影响,还可以受在队列中的位置以及等待时长影响,低优先级任务不是一定在高优先级任务处理完成后才能执行,从而避免低优先级任务的长期等待,避免形成低优先级任务的堵塞。
[0047]—种可能的实施方式中,所述任务队列中的任务按照优先级从高到低的顺序排位,尚优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后。所述计算模块410可以被配置为根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重。其中,所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加。所述筛选模块420可以被配置为从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。
[0048]一种可能的实施方式中,所述计算模块410可以被配置为针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。
[0049]—种可能的实施方式中,所述任务在任务队列中的位置对应的权重分量,等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数。所述等待时长对应的权重分量,等于所述等待时长除以预设时长阈值再乘以时长权重系数。所述优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数。其中,所述优先级权重系数〉所述时长权重系数〉所述位置权重系数。
[0050]—种可能的实施方式中,所述优先级权重系数>0.5。
[0051]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0052]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0053]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种任务调度方法,其特征在于,包括: 根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重; 根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。2.根据权利要求1所述的方法,其特征在于,所述任务队列中的任务按照优先级从高到低的顺序排位,尚优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后; 所述根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重包括: 根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重; 其中,所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加; 所述根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务包括: 从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。3.根据权利要求2所述的方法,其特征在于,所述根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重包括: 针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。4.根据权利要求2所述的方法,其特征在于,所述任务在任务队列中的位置对应的权重分量,等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数; 所述等待时长对应的权重分量,等于所述等待时长除以预设时长阈值再乘以时长权重系数; 所述优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数; 其中,所述优先级权重系数〉所述时长权重系数〉所述位置权重系数。5.根据权利要求4所述的方法,其特征在于,所述优先级权重系数>0.5。6.一种任务调度装置,其特征在于,包括: 计算模块,被配置为根据任务队列中各个任务在任务队列中的位置、等待时长、优先级,分别计算出各个任务的分配权重; 筛选模块,被配置为根据所述任务队列中各个任务的分配权重,筛选出当前需要分配的任务。7.根据权利要求6所述的装置,其特征在于,所述任务队列中的任务按照优先级从高到低的顺序排位,尚优先级在前,低优先级在后,相同优先级的任务按提交顺序排序,先提交的靠前,后提交的靠后; 所述计算模块被配置为根据各个任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量,分别计算出各个任务的分配权重; 其中,所述任务在任务队列中的位置对应的权重分量,随着任务的位置越靠前而增大,所述等待时长对应的权重分量,随着等待时长的增加而增大,所述优先级对应的权重分量,随着优先级增高而增加; 所述筛选模块被配置为从所述任务队列中筛选出分配权重最大的任务作为当前需要分配的任务。8.根据权利要求7所述的装置,其特征在于,所述计算模块被配置为针对每个任务,将该任务在任务队列中的位置对应的权重分量、等待时长对应的权重分量、优先级对应的权重分量线性相加,计算出该任务的分配权重。9.根据权利要求7所述的装置,其特征在于,所述任务在任务队列中的位置对应的权重分量,等于所述任务队列的长度与所述任务在任务队列中的排位值之差除以所述长度再乘以位置权重系数; 所述等待时长对应的权重分量,等于所述等待时长除以预设时长阈值再乘以时长权重系数; 所述优先级对应的权重分量,等于所述优先级对应的优先级系数乘以优先级权重系数; 其中,所述优先级权重系数〉所述时长权重系数〉所述位置权重系数。10.根据权利要求9所述的装置,其特征在于,所述优先级权重系数>0.5。
【文档编号】G06F9/48GK106095545SQ201610383434
【公开日】2016年11月9日
【申请日】2016年6月1日 公开号201610383434.3, CN 106095545 A, CN 106095545A, CN 201610383434, CN-A-106095545, CN106095545 A, CN106095545A, CN201610383434, CN201610383434.3
【发明人】王冰倩, 于洋, 郝健, 沈牧溪
【申请人】东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1