一种作业调度方法及装置制造方法

文档序号:6500172阅读:172来源:国知局
一种作业调度方法及装置制造方法
【专利摘要】本发明提供一种作业调度方法及装置。方法包括:对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;从所述调度队列中选取一待调度作业作为目标作业;根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度。本发明的方法及装置不仅使优先级高的作业得到优先执行,由于考虑到待执行作业需要占用执行设备的资源这一因素,从而还能够使执行设备充分的利用自身资源执行作业,并且有效防止了因为作业调度的不合理至使执行设备进行超负载工作。
【专利说明】一种作业调度方法及装置
【技术领域】
[0001]本发明涉及任务管理领域,特别是提供一种作业调度方法及装置。
【背景技术】
[0002]现有的作业调度是以时间因素作为优先级,进行调度。其原理是建立一个先进先出(FIFO)的任务队列,新调度的任务被排在任务队列的最后面,每次当资源发生空闲时从队列的最前面取出一个任务执行,即先到先服务。
[0003]但是先进先出的调度只以时间这一个因素作为调度的依据,会带来以下问题:
[0004]执行作业任务的设备有空闲状态和忙绿状态,无论设备的忙闲,调度策略都不发生改变,这就有可能给忙绿状态下的设备带来额外的压力,在运行过程中带来隐患。

【发明内容】

[0005]本发明要解决的技术问题是提供一种作业调度方法及装置。能够使优先级高的作业得到优先执行,同时还能使执行设备充分合理地进行工作。
[0006]为解决上述技术问题,本发明的实施例提供一种作业调度方法,包括如下步骤:
[0007]对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;
[0008]从所述调度队列中选取一待调度作业作为目标作业;
[0009]根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度。
[0010]其中,根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度的步骤包括:
[0011]若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;
[0012]若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列;
[0013]若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
[0014]其中,所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业的步骤包括:
[0015]当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业;
[0016]若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
[0017]其中,若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
[0018]其中,对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级的步骤包括:
[0019]根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。
[0020]本发明的实施例还提供一种作业调度装置,包括:
[0021]判定模块,用于对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;
[0022]选取模块,用于从所述调度队列中选取一待调度作业作为目标作业;
[0023]调度模块,用于根据所述目标作业需要占用执行设备的资源,对所述目标作业进行调度。
[0024]其中,所述调度模块具体用于:
[0025]若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;
[0026]若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列;
[0027]若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
[0028]其中,所述调度模块进一步具体用于:
[0029]当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业;
[0030]若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
[0031]其中,本实施例的装置还包括:
[0032]重调度模块,用于若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
[0033]其中,所述判定模块具体用于:
[0034]根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。[0035]本发明的上述方案具有如下有益效果:
[0036]本发明的方法以及装置能首先对待调度的作业进行优先级判定,使优先级高的作业得到优先执行,从而使执行设备能够根据作业的轻重缓急执行作业,更加合理性。同时还考虑到待调度作业需要占用执行设备的资源这一因素,保证了执行设备能够充分的利用自身资源执行作业,并且有效防止了因为作业调度的不合理至使执行设备进行超负载工作。
【专利附图】

【附图说明】
[0037]图1为本发明中作业调度方法的示意图;
[0038]图2为本发明中作业调度方法的具体实施过程的步骤图;
[0039]图3为本发明中作业调度装置的结构示意图。
【具体实施方式】
[0040]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0041]如图1所示,一种作业调度方法,包括如下步骤:
[0042]步骤110,对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;
[0043]步骤120,从所述调度队列中选取一目标作业;
[0044]步骤130,根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度。
[0045]上述作业调度方法首先对待调度的作业进行优先级判定,使优先级高的作业得到优先执行,从而使执行设备能够根据作业的轻重缓急执行作业,更加合理性。同时还考虑到待调度作业需要占用执行设备的资源这一因素,保证了执行设备能够充分的利用自身资源执行作业,并且有效防止了因为作业调度的不合理至使执行设备进行超负载工作。
[0046]在本发明的上述实施例中,步骤130进一步包括:
[0047]步骤131,若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;
[0048]步骤132,若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列;
[0049]步骤133,若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;
[0050]步骤134,使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
[0051]在本发明的上述实施例中,步骤134中的所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业的步骤具体包括:
[0052]当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业;[0053]若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
[0054]此外,由于执行设备的剩余资源不足,可能会无法执行当前任务,造成该执行设备停滞,耽误拖长工作周期,使执行效率降低,为避免此类情况出现,在本发明的上述实施例中,还包括:
[0055]步骤140,若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
[0056]具体地,在本发明的上述是实施例中,步骤110包括:
[0057]根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。
[0058]下面对上述调度方法结合执行设备进行详细描述:
[0059]本发明的方法为待调度作业制定了 3种不同类型的队列以等待被执行设备执行,即多个先入先出队列,一个抢占队列、一个被抢队列。基于作业的优先级因素以及作业在被执行时所要占用执行设备的使用资源因素为待调度作业选择一种队列,从而使执行设备先同时执行每个先入先出队列中的作业以及抢占队列中的作业,当抢占队列中的作业全部执行完毕后,再开始执行被抢队列中的作业。其步骤包括:
[0060]步骤A,对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;优选地,为进一步对保证作业能被合理的执行,所述调度队列里的待调度作业可以按照作业的优先级进行排列,以等待调度。
[0061]其中,作业优先级判定方法为:将影响作业优先级的因素归纳成不同的部分,给每个部分指定一个权重因子,将各个部分的权重因子进行算术加权后再累加,从而得到作业的优先级;这里权重因子主要考虑了作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数;
[0062]步骤B,从所述调度队列中选取一个待调度作业作为目标作业;
[0063]步骤C,判断执行所述目标作业时需要占用执行设备的资源;这里需设置一阈值,若所述资源小于预设阈值,则进行步骤D ;若所述资源大于预设阈值,则进行步骤E ;
[0064]步骤D,在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;
[0065]步骤E,判断所述目标作业的优先级是否高于预设优先级阈值;这里优先级阈值用于划分目标作业是放入抢占队列中,还是被抢队列中,当所述目标作业的优先级高于该优先级阈值是,进行步骤F ;否则,则进行步骤G ;
[0066]步骤F,将所述目标作业放入抢占队列;之后进行步骤H ;
[0067]步骤G,将所述目标作业放入被抢队列;之后进行步骤H ;
[0068]步骤H,执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业;
[0069]在整个执行过程中,若执行设备正在执行的作业含有被抢队列中的作业时,需判断抢占队列中是否含有待执行的作业;若含有,则使所述执行设备暂停正在执行的被抢队列中的作业,并开始陆续执行抢占队列中的作业;当所述抢占队列中的作业全部执行完毕后,再开始恢复执行该被暂停的作业,之后陆续执行被抢队列中的作业;此外,若所述执行设备的当前剩余资源不能满足将要执行的作业时,则执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成;
[0070]步骤I,对已完成的作业标记已执行状态。
[0071]综上所述,本实施例的方法具有以下优点:
[0072]1.当目标作业需要占用执行设备的资源小于预设阈值时,根据作业的优先级为目标作业选择一个对应先进先出队列,执行设备由于同时执行每个先进先出队列中的作业,从而可以充分利用自身资源。此外,需要尽快被执行的作业由于被放入与其优先级对应的先进先出队列中,避免了与其他不需要尽快被执行的作业处于同一队列,出现一起排队的现象;
[0073]2.当目标作业需要占用执行设备的资源大于预设阈值时,优先级高的作业被放入到抢占队列中,而优先级低的作业则会被放入到被抢队列中,这样一来,执行设备由于先执行抢占队列中的作业,之后再执行被抢队列中的作业,并且被抢队列中的作业在被执行时,如果有新的作业被放入到抢占队列中还能将占用的资源让给抢占队列中的作业,从而使优先级高的作业能够先得到执行;此外由于抢占队列与被抢队列中的作业不能同时被执行,从而有效地避免了执行设备处于超负载的状态;
[0074]3.当执行设备因为资源不够无法执行作业时,会暂时放弃掉该作业任务,并对不能执行的作业重新调度,有效避免了执行设备出现工作停滞现象;此外,作业的优先级还考虑到了作业被调度的次数,被重新调度的作业其优先级会得到提高,从而有效减小了此类作业被延误执行的风险。
[0075]本发明的实施例还提供了一种作业调度装置,包括:
[0076]判定模块,用于对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级;
[0077]选取模块,用于从所述调度队列中选取一待调度作业作为目标作业;
[0078]调度模块,用于根据所述目标作业需要占用执行设备的资源,对所述目标作业进行调度。
[0079]上述作业调度装置首先对待调度的作业进行优先级判定,使优先级高的作业得到优先执行,从而使执行设备能够根据作业的轻重缓急执行作业,更加合理性。同时还考虑到待调度作业需要占用执行设备的资源这一因素,保证了执行设备能够充分的利用自身资源执行作业,并且有效防止了因为作业调度的不合理至使执行设备进行超负载工作。
[0080]在本发明的上述实施例中,所述调度模块具体用于:
[0081]若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;
[0082]若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列;
[0083]若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
[0084]具体地,所述调度模块进一步用于:
[0085]当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业;
[0086]若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
[0087]此外,由于执行设备的剩余资源不足,可能会无法执行当前任务,造成该执行设备停滞,耽误拖长工作周期,使执行效率降低,为避免此类情况出现,在本发明的上述实施例中,还包括:
[0088]重调度模块,用于若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
[0089]具体地,在本发明的上述是实施例中,所述判定模块具体用于:
[0090]根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。
[0091]综上所述,本实施例的装置具有以下优点:
[0092]1.当目标作业需要占用执行设备的资源小于预设阈值时,根据作业的优先级为目标作业选择一个对应先进先出队列,执行设备由于同时执行每个先进先出队列中的作业,从而可以充分利用自身资源。此外,需要尽快被执行的作业由于被放入与其优先级对应的先进先出队列中,避免了与其他不需要尽快被执行的作业处于同一队列,出现一起排队的现象;
[0093]2.当目标作业需要占用执行设备的资源大于预设阈值时,优先级高的作业被放入到抢占队列中,而优先级低的作业则会被放入到被抢队列中,这样一来,执行设备由于先执行抢占队列中的作业,之后再执行被抢队列中的作业,并且被抢队列中的作业在被执行时,如果有新的作业被放入到抢占队列中还能将占用的资源让给抢占队列中的作业,从而使优先级高的作业能够先得到执行;此外由于抢占队列与被抢队列中的作业不能同时被执行,从而有效地避免了执行设备处于超负载的状态;
[0094]3.当执行设备因为资源不够无法执行作业时,会暂时放弃掉该作业任务,并对不能执行的作业重新调度,有效避免了执行设备出现工作停滞现象;此外,作业的优先级还考虑到了作业被调度的次数,被重新调度的作业其优先级会得到提高,从而有效减小了此类作业被延误执行的风险。
[0095]显然,上述实施例为本发明中作业调度方法对应的装置实施例,所述作业调度方法能达到的技术效果,本实施例的装置也同样能够达到。
[0096]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种作业调度方法,其特征在于,包括如下步骤: 对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级; 从所述调度队列中选取一待调度作业作为目标作业; 根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度。
2.根据权利要求1所述的作业调度方法,其特征在于,根据所述目标作业的优先级以及在执行所述目标作业时需要占用执行设备的资源,对所述目标作业进行调度的步骤包括: 若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中; 若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列; 若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
3.根据权利要求2所述的作业调度方法,其特征在于,所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业的步骤包括: 当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业; 若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
4.根据权利要求1所述的作业调度方法,其特征在于,若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
5.根据权利要求4所述的作业调度方法,其特征在于,对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级的步骤包括: 根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。
6.一种作业调度装置,其特征在于,包括: 判定模块,用于对一调度队列中的待调度作业进行优先级判定,得到所述待调度作业的优先级; 选取模块,用于从所述调度队列中选取一待调度作业作为目标作业; 调度模块,用于根据所述目标作业需要占用执行设备的资源,对所述目标作业进行调度。
7.根据权利要求6所述的作业调度装置,其特征在于,所述调度模块具体用于: 若所述资源小于预设阈值,则在多个优先级不同的先入先出队列中,根据所述目标作业的优先级,将所述目标作业放入与所述目标作业的优先级对应的一个先入先出队列中;若所述资源大于资源预设阈值,且所述目标作业的优先级高于一预设优先级阈值,将所述目标作业放入抢占队列; 若所述资源大于所述资源预设阈值,且所述目标作业的优先级低于所述预设优先级阈值,将所述目标作业放入被抢队列;使所述执行设备按照先后顺序同时执行所有先入先出队列以及抢占队列中的作业,并使所述执行设备在执行完所述抢占队列中的作业后,开始陆续执行所述被抢队列中的作业。
8.根据权利要求7所述的作业调度装置,其特征在于,所述调度模块进一步具体用于: 当所述执行设备正在执行的作业含有所述被抢队列中的作业时,则判断所述抢占队列中是否含有待执行的作业; 若含有,则使所述执行设备暂停正在执行的所述被抢队列中的作业,并开始陆续执行抢占队列中的作业,直至所述抢占队列中的作业全部执行完毕后再开始执行该被暂停的作业,之后陆续执行被抢队列中的作业。
9.根据权利要求6所述的作业调度装置,其特征在于,还包括: 重调度模块,用于若所述执行设备的当前剩余资源无法满足将要执行的作业时,则使所述执行设备暂时放弃执行所述将要执行的作业,并将该作业重新放入所述调度队列中,等待调度,直至被所述执行设备完成。
10.根据权利要求9所述的作业调度装置,其特征在于,所述判定模块具体用于: 根据权重因子对一调度队列中的待调度作业进行优先级划分,得到所述目标作业的优先级;其中,所述权重因子包括:所述待调度作业的重要性、截止期限、预计执行时间、下发时间、可空闲时间、需占用执行设备的资源以及被调度的次数。
【文档编号】G06F9/50GK104021044SQ201310063801
【公开日】2014年9月3日 申请日期:2013年2月28日 优先权日:2013年2月28日
【发明者】方国梁, 李凯, 唐涛, 余健利, 王晓征, 王顶, 汤劲松, 项捷, 陈勇, 王振志, 莫喆, 周俊 申请人:中国移动通信集团浙江有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1