任务调控方法、装置和系统的制作方法

文档序号:6493680阅读:184来源:国知局
任务调控方法、装置和系统的制作方法
【专利摘要】本发明提供一种任务调控方法、装置和系统。该方法包括任务调控装置接收任务排序装置输出的有序任务;所述任务调控装置接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;所述任务调控装置根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。本发明实施例可以在对任务顺序调整时降低对用户技能的要求。
【专利说明】任务调控方法、装置和系统
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种任务调控方法、装置和系统。
【背景技术】
[0002]随着海量计算量的需求,普通架构的机器取代大型机,组成计算集群的方案变得越来越流行。在集群计算系统中,必不可少的是对提交到集群的任务的调度,这个部分包括对任务进行排序,然后选择合适任务进行调度。现在业界有很多任务调度算法,这些调度算法都是定义好规则,通过在提交任务时,给任务指定一系列参数,排序算法根据任务的参数以及规则对任务进行排序。但是,由于用户通常不能理解排序规则以及参数代表的含义,这种方式不能很方便的让用户调节任务的顺序。

【发明内容】

[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]第一调控单元,用于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务;
[0038]第二调控单元,用于在识别出新任务时,将所述新任务插入所述调控后的有序任务中;
[0039]输出单元,用于将所述新任务和所述调控后的有序任务输出给任务执行装置处理。结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二调控单元具体用于:
[0040]如果所述新任务在所述任务排序装置输出的有序任务的最后位置,则将所述新任务放置在所述调控后的有序任务之后;或者,
[0041]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务没有依赖任务,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者,
[0042]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的前面,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者,
[0043]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的后面,则将所述新任务放置在第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是依赖任务在所述调控后的有序任务中所在的位置相邻的后面位置;或者,
[0044]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务是新任务,则对所述依赖任务按照新任务进行处理后再处理所述新任务。
[0045]第三方面,提供了一种任务调控系统,包括:[0046]第二方面任一项所述的任务调控装置;以及,
[0047]任务排序装置,用于输出有序任务;和,
[0048]调整装置,用于输出调控事件,所述调控事件用于调整所述有序任务的顺序。
[0049]通过上述技术方案,通过在现有的任务排序装置之后增加任务调控装置,由任务调控装置根据用户输出的调控事件对任务的顺序进行调整,可以使得用户在不理解排序算法的情况下,根据自己业务需求,对任务的顺序进行调整,降低用户的技能要求。
【专利附图】

【附图说明】
[0050]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0051]图1为本发明实施例基于的高性能计算集群的架构示意图;
[0052]图2为本发明实施例中管理节点的结构示意图;
[0053]图3为本发明实施例提供的一种任务调控方法的流程示意图;
[0054]图4为本发明实施例提供的另一种任务调控方法的流程示意图;
[0055]图5为图4中的43的流程示意图;
[0056]图6为本发明实施例提供的另一种任务调控方法的流程示意图;
[0057]图7为本发明实施例提供的一种任务调控装置的结构示意图;
[0058]图8为本发明实施例提供的另一种任务调控装置的结构示意图;
[0059]图9为本发明实施例提供的一种任务调控系统的结构示意图。
【具体实施方式】
[0060]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]参见图1,为本发明实施例基于的高性能计算集群的架构示意图,该集群包括用户界面(User Interface, UI) 11、管理节点12和计算节点13。用户可以通过UI 11提交任务(job),由管理节点12负责调度任务,包括先调度哪个任务以及将任务调度到哪些计算节点上,计算节点负责运行任务。
[0062]参见图2,给出了管理节点的结构示意图,管理节点12可以具体包括任务排序装置121、任务调控装置122和任务执行装置123。另外,该集群系统还可以包括调整装置14,用于用户提交调控事件,例如将某个任务放置到某个位置等。其中,用户可以通过界面、命令行、网络请求等输入调控事件,因此,上述的调整装置可以是指界面、输入命令行的装置、输入网络请求的装置等。当该调整装置为界面时,该调整装置14与用于提交任务的Π 11可以位于同一个界面中,也可以分开设置。
[0063]任务排序装置121用于根据任务参数和排序算法,对任务进行排序,输出有序的任务列表。排序算法例如先进先出算法、优先级算法等。现有技术中,如果用户需要调整任务的顺序,需要用户理解排序规则以及任务顺序代表的含义,通过调整任务参数来达到任务顺序的调整,这样对用户的要求较高,不利于集群系统的普遍化使用。
[0064]与现有技术不同的是,本发明实施例通过增加任务调控装置122,该任务调控装置122用于接收用户输入的调控事件,根据调控事件和排序系统导出的有序任务对任务顺序进行调整,并将调整顺序后的任务提供给任务执行系统。其中对任务顺序的调整包括两两对调、将某个任务放置到某个位置,其余顺移等。
[0065]任务执行装置123用于接收调整顺序后的任务,按照顺序对任务进行调度。
[0066]结合上述的系统结构示意图,本发明给出如下实施例。
[0067]图3为本发明实施例提供的一种任务调控方法的流程示意图,包括:
[0068]31:任务调控装置接收任务排序装置输出的有序任务;[0069]32:所述任务调控装置接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;
[0070]33:所述任务调控装置根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。
[0071]如上所示,任务排序装置可以是按照现有系统的排序规则输出有序任务,本发明实施例可以在现有的任务排序装置之后增加任务调控装置,任务排序装置可以按照现有的排序算法对用户提交的任务进行排序,并输出有序任务。用户不需要获知任务排序装置的排序算法。
[0072]本发明实施例新提出的任务调控装置的另一输入为调控事件,该调控事件是用户根据自身的需要通过调整装置输出给任务调控装置的。例如,用户可以通过Π查询到任务信息,任务信息包括哪个任务在哪个位置,之后可以根据自身的将任务调整到所需的位置。例如,用户通过查询可以获知任务I在位置3,而用户需要立即执行该任务,那么用户输入的调控事件可以是:将任务I从位置3调整到位置I。
[0073]当任务调控装置接收到调控事件后,就可以对有序任务进行相应调整。
[0074]参见图4,为本发明实施例提供的另一种任务调控方法的流程示意图,包括:
[0075]41:任务调控装置接收任务排序装置输出的有序任务。
[0076]该有序任务可以是周期性由任务排序装置输出给任务调控装置的。
[0077]42:任务调控装置接收调控事件,并根据调控事件判断该调控事件是否可接受,若是,执行43,否则执行44。
[0078]在高性能计算领域,任务有一些共同特征,如任务之间有依赖关系。下面以对一个视频文件进行并行转码为例来说明任务间的依赖关系。转码是指通过转码软件将一个视频文件的分辨率等参数进行调整,如将分辨率低的视频转成分辨率高的,或者改变视屏文件的格式。如果对一个大文件进行转码,需要很长时间,一般通过并行转码技术来缩短时间。并行转码一般分为三步,分片,转码,合并。分片是只将文件分割成多份小文件,转码是指对分割后的小文件进行转码,待所有小文件转码完后,再将小文件合并成一个文件,也就是最终要求的转码后的文件。在这三个步骤中,转码这个步骤是依赖分片任务的,只有将文件分割出小片后,才能对小片进行转码。多个小文件的转码是没有依赖的,而合并是依赖于上一个转码步骤的,只有所有小片转码完成后,才能够一起按顺序合并成完整的大文件。这个是一个例子,在高性能计算中,很多应用逻辑是比较复杂的。如在生物计算领域中,很多数据的计算如基因统计,是需要对原始输入数据进行多个步骤(不同执行软件或者程序)的处理,最终才能得到想要的结果。这些步骤之间就存在依赖关系。所以任务依赖关系是高性能计算中一个很重要的特征。
[0079]本发明实施例,可以根据任务间的依赖关系,来确定调控事件是否可以接受。只有要调整的任务的累计依赖任务都在调整后该任务的前面时,才表明调控事件是可接受的,否则为不可接受的。一个任务的累计依赖任务包括该任务的依赖任务以及该依赖任务的依赖任务。例如,调控事件表明要调整任务2,需要将任务2调整到位置3,如果任务2所依赖的任务为任务1,任务I没有依赖任务,那当任务I位于位置3的前面,则表明调控事件是可接受的,否则为不可接受的。或者,任务I还依赖任务0,则在任务I和任务O都位于位置3的前面时,才表明调控事件是可接受的。
[0080]其中,在任务提交时对应的属性中会表明该任务的依赖关系,例如,在任务2的一个属性中表明任务2需要依赖任务I完成,具体如上述的转码任务需要依赖分片任务来完成,此时,任务2 (转码任务)有依赖关系,其所依赖的任务是任务I (分片任务)。
[0081]43:任务调控装置根据调控事件确定要调整的任务以及要调整的顺序,根据要调整的顺序对要调整的任务在所述有序任务中进行顺序调整。
[0082]44:任务调控装置向用户反馈事件不能接受。
[0083]参见图5,为上述43的流程示意图,包括:
[0084]51:判断要调整的任务是否有依赖的任务,若否,执行52,若是,执行54。
[0085]如上所示,可以根据任务的属性来确定任务是否有依赖的任务。
[0086]52:判断要调整的任务引起的要发生顺序改变的任务是否有依赖任务,若否,执行53,若是执行54。
[0087]其中,由于要进行顺序调整,除了要调整的任务外还会引起另一些任务的顺序改变,这些任务称为要发生顺序改变的任务。例如,要调整的任务是任务1,要调整的顺序是将任务I从第9位调整到第5位,其余任务位置向后顺移,那么要发生顺序改变的任务就是原来有序任务中第5位?第8位的任务。再例如,要调整的任务是任务1,要调整的顺序是将任务I从第9位对调到第5位,那么要发生顺序改变的任务就是原来有序任务中第5位的任务。
[0088]类似的,也可以根据这些要发生顺序改变的任务的属性来判断对应任务是否有依赖任务。
[0089]53:直接按照要调整的顺序对有序任务进行调整。
[0090]例如,在上述的要调整的任务以及要发生顺序改变的任务都没有依赖任务时,如果要调整的顺序是将任务I从第9位调整到第5位,其余任务位置向后顺移。那么就直接将任务I从第9位移到第5位,而原来的第5位?第8位的任务依次向后顺移,分别移到第6位?第9位。
[0091]再例如,如果要调整的顺序是将任务I从第9位与第5位的任务对调。那么就直接将第9位的任务I与原来第5位的任务进行对调。
[0092]54:对于有依赖任务的任务,确定该任务的累计依赖任务,在累计依赖任务均在调整后的该任务之前时,按照要调整的顺序对有序任务进行调整。
[0093]一个任务的累计依赖任务包括该任务的依赖任务以及该依赖任务的依赖任务。[0094]例如,当要调整的任务为任务1,要调整的顺序是将任务I从第9位对调到第5位,如果任务I的累计依赖任务都在第5位之前,且对于其它的要发生顺序改变的任务的累计依赖任务也在相应任务的调整后的位置之前,如,原来第5位的任务的累计依赖任务在第9位之前,则将第9位的任务I与第5位的任务对调。
[0095]另外,对于一个任务的累计依赖任务不都在调整后的该任务之前时,可以向用户反馈事件不可接受。
[0096]本实施例可以根据用户的业务需求,对任务顺序进行调整,可以降低对用户的技能要求,并且,可以根据任务是否有依赖任务进行相应处理,满足高性能集群时的特点需求。
[0097]图6为本发明实施例提供的另一种任务调控方法的流程示意图,包括:
[0098]61:任务调控装置接收任务排序装置输出的有序任务;
[0099]62:所述任务调控装置接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;
[0100]63:所述任务调控装置根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务;
[0101]上述的61飞3的具体内容可以参见上述实施例相应的描述。
[0102]64:所述任务调控装置在接收到新任务时,将该新任务插入到调控后的有序任务中,并一起输出给任务执行装置处理。
[0103]新任务是指任务调控装置中没有的任务,可以根据如下方式插入新任务:
[0104]如果所述新任务在所述任务排序装置输出的有序任务的最后位置,则将所述新任务放置在所述调控后的有序任务之后;例如,新任务在原来的有序任务的末尾,则在调控后其仍然在调控后的有序任务末尾。或者,
[0105]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务没有依赖任务,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;例如,新任务在原来的有序任务的第2位,在当该新任务不是末尾且没有依赖任务时,将该新任务放置在调控后的有序任务的第2位。或者,
[0106]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的前面,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;例如,新任务在原来的有序任务的第2位,在当该新任务不是末尾且有依赖任务时,当该依赖任务不是新任务且该依赖任务在调控后的有序任务的第2位之前,那么将该新任务放置在调控后的有序任务的第2位。或者,
[0107]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的后面,则将所述新任务放置在第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是依赖任务在所述调控后的有序任务中所在的位置相邻的后面位置;例如,新任务在原来的有序任务的第2位,在当该新任务不是末尾且有依赖任务时,当该依赖任务不是新任务且该依赖任务在调控后的有序任务的第2位之后,假设在第3位,那么将该新任务放置在调控后的有序任务的第4位。或者,
[0108]如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务是新任务,则对所述依赖任务按照新任务进行处理后再处理所述新任务。也就是说首先按照上述的流程处理该依赖任务,在确定该依赖任务在调控后的有序任务中的位置之后再按照上述流程处理该新任务。
[0109]本实施例可以完成对新任务的处理。
[0110]图7为本发明实施例提供的一种任务调控装置的结构示意图,该装置70包括第一接收模块71、第二接收模块72和调控模块73 ;第一接收模块71于接收任务排序装置输出的有序任务;第二接收模块72于接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;调控模块73于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。
[0111]可选的,所述调控模块具体用于:
[0112]判断单元,用于判断所述调控事件是否为可接受的;
[0113]调控单元,用于在可接受时,根据所述调控事件确定要调整的任务以及要调整的顺序,根据要调整的顺序对要调整的任务在所述有序任务中进行顺序调整。
[0114]可选的,所述判断单元具体用于:
[0115]如果根据所述调控事件确定的要调整的任务的累计依赖任务,都位于所述要调整的任务在调整后的位置之前,则所述调控事件是可接受的,所述累计依赖任务包括所述要调整的任务的依赖任务以及所述依赖任务的依赖任务。
[0116]可选的,所述调控单元具体用于:
[0117]在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务均没有依赖任务时,根据所述要调整的顺序对所述有序任务进行顺序调整;或者,
[0118]在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务中的至少一项有依赖任务时,在有依赖任务的所有任务的累计依赖任务都在对应任务在调整后的位置之前时,根据所述要调整的顺序对所述有序任务进行顺序调整。
[0119]可选的,所述调控模块包括:
[0120]第一调控单元,用于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务;
[0121]第二调控单元,用于在识别出新任务时,将所述新任务插入所述调控后的有序任务中;
[0122]输出单元,用于将所述新任务和所述调控后的有序任务输出给任务执行装置处理。
[0123]可选的,所述调控模块包括:
[0124]第一调控单元,用于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务;
[0125]第二调控单元,用于在识别出新任务时,将所述新任务插入所述调控后的有序任务中;
[0126]输出单元,用于将所述新任务和所述调控后的有序任务输出给任务执行装置处理。
[0127]在硬件实现上,以上第一接收模块、第二接收模块可以具体为接收机或收发机,输出单元可以具体为发送机或收发机,另外,接收机和发送机可以集成在一起对应于硬件实现为收发机。以上判断单元、调控单元(包括第一调控单元和第二调控单元)可以以硬件形式内嵌于或独立于处理器中,也可以以软件形式存储于存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
[0128]请参考图8,其为本发明实施例提供的另一种任务调控装置的结构示意图。如图所示,该装置包括发射机81、接收机82、存储器83以及分别与发射机81、接收机82和存储器83连接的处理器84。当然,基站还可以包括天线、基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不再任何限制。
[0129]其中,存储器中存储一组程序代码,且处理器84用于调用存储器83中存储的程序代码,用于执行以下操作:
[0130]接收任务排序装置输出的有序任务;
[0131]接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;
[0132]根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。
[0133]需要说明的是,图7和图8所示的装置可以用于实现以上方法实施例所提供的任一种方法,且关于任务、依赖任务、累计依赖任务以及各种情况下的顺序调控方式可以参见上述方法实施例,在此不再赘述。
[0134]本实施例可以根据用户的业务需求,对任务顺序进行调整,可以降低对用户的技能要求,并且,可以根据任务是否有依赖任务进行相应处理,满足高性能集群时的特点需求。
[0135]图9为本发明实施例提供的一种任务调控系统的结构示意图,该系统90包括任务排序装置91、调整装置92和任务调控装置93,任务排序装置91用于输出有序任务,其中,该有序任务可以是根据现有系统的排序规则输出的;调整装置92用于输出调控事件,所述调控事件用于调整所述有序任务的顺序。任务调控装置93用于接收任务排序装置输出的有序任务;接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序;根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。具体的任务调控装置可以参见图7或图8所示的实施例。
[0136]另外,该系统还可以包括用于提交任务的U1、用于执行任务的任务执行装置等。
[0137]本实施例可以根据用户的业务需求,对任务顺序进行调整,可以降低对用户的技能要求,并且,可以根据任务是否有依赖任务进行相应处理,满足高性能集群时的特点需求。
[0138]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0139]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0140]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0141]另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0142]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
【权利要求】
1.一种任务调控方法,其特征在于,包括: 任务调控装置接收任务排序装置输出的有序任务; 所述任务调控装置接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序; 所述任务调控装置根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述调控事件,对所述有序任务进行顺序调整,包括: 判断所述调控事件是否为可接受的; 在可接受时,根据所述调控事件确定要调整的任务以及要调整的顺序,根据要调整的顺序对要调整的任务在所述有序任务中进行顺序调整。
3.根据权利要求2所述的方法,其特征在于,所述判断所述调控事件是否为可接受的,包括: 如果根据所述调控事件确定的要调整的任务的累计依赖任务,都位于所述要调整的任务在调整后的位置之前,则所述调控事件是可接受的,所述累计依赖任务包括所述要调整的任务的依赖任务以及所述依赖任务的依赖任务。
4.根据权利 要求2所述的方法,其特征在于,所述根据要调整的顺序对要调整的任务在所述有序任务中进行顺序调整,包括: 在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务均没有依赖任务时,根据所述要调整的顺序对所述有序任务进行顺序调整;或者, 在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务中的至少一项有依赖任务时,在有依赖任务的所有任务的累计依赖任务都在对应任务在调整后的位置之前时,根据所述要调整的顺序对所述有序任务进行顺序调整。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括: 在识别出新任务时,将所述新任务插入所述调控后的有序任务中,以便将所述新任务和所述调控后的有序任务输出给任务执行装置处理。
6.根据权利要求5所述的方法,其特征在于,所述将所述新任务插入所述调控后的有序任务中,包括: 如果所述新任务在所述任务排序装置输出的有序任务的最后位置,则将所述新任务放置在所述调控后的有序任务之后;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务没有依赖任务,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的前面,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者,如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的后面,则将所述新任务放置在第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是依赖任务在所述调控后的有序任务中所在的位置相邻的后面位置;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务是新任务,则对所述依赖任务按照新任务进行处理后再处理所述新任务。
7.一种任务调控装置,其特征在于,包括: 第一接收模块,用于接收任务排序装置输出的有序任务; 第二接收模块,用于接收调整装置输出的调控事件,所述调控事件用于调整所述有序任务的顺序; 调控模块,用于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务,并输出给任务执行装置处理。
8.根据权利要求7所述的装置,其特征在于,所述调控模块具体包括: 判断单元,用于判断所述调控事件是否为可接受的; 调控单元,用于在可接受时,根据所述调控事件确定要调整的任务以及要调整的顺序,根据要调整的顺序对要调整的任务在所述有序任务中进行顺序调整。
9.根据权利要求8所述的装置,其特征在于,所述判断单元具体用于: 如果根据所述调控事件确定的要调整的任务的累计依赖任务,都位于所述要调整的任务在调整后的位置之前,则所述调控事件是可接受的,所述累计依赖任务包括所述要调整的任务的依赖任务以及所述依赖任务的依赖任务。
10.根据权利要求8所述的装置,其特征在于,所述调控单元具体用于: 在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务均没有依赖任务时,根据所述要调整的顺序对所述有序任务进行顺序调整;或者, 在要调整的任务以及根据要调整的顺序确定的要发生顺序改变的任务中的至少一项有依赖任务时,在有依赖任务的所有任务的累计依赖任务都在对应任务在调整后的位置之前时,根据所述要调整的顺序对所述有序任务进行顺序调整。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述调控模块包括: 第一调控单元,用于根据所述调控事件,对所述有序任务进行顺序调整,得到调控后的有序任务; 第二调控单元,用于在识别出新任务时,将所述新任务插入所述调控后的有序任务中; 输出单元,用于将所述新任务和所述调控后的有序任务输出给任务执行装置处理。
12.根据权利要求11所述的装置,其特征在于,所述第二调控单元具体用于: 如果所述新任务在所述任务排序装置输出的有序任务的最后位置,则将所述新任务放置在所述调控后的有序任务之后;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务没有依赖任务,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的前面,则将所述新任务放置在与第一位置相同的第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是所述新任务在所述调控后的有序任务中所在的位置;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务不是新任务,且所述依赖任务在所述调控后的有序任务中所在的位置位于第一位置的后面,则将所述新任务放置在第二位置,所述第一位置是所述新任务在所述任务排序装置输出的有序任务中所在的位置,所述第二位置是依赖任务在所述调控后的有序任务中所在的位置相邻的后面位置;或者, 如果所述新任务不在所述任务排序装置输出的有序任务的最后位置,且所述新任务有依赖任务,如果所述依赖任务是新任务,则对所述依赖任务按照新任务进行处理后再处理所述新任务。
13.一种任务调控系统,其特征在于,包括: 如权利要求7-12任一项所述的任务调控装置;以及, 任务排序装置,用于输出有序任务;和, 调整装置,用于输出调控事件,所述调控事件用于调整所述有序任务的顺序。
【文档编号】G06F9/48GK103902365SQ201210574094
【公开日】2014年7月2日 申请日期:2012年12月26日 优先权日:2012年12月26日
【发明者】靳变变 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1