【技术实现步骤摘要】
任务处理方法和任务处理装置
本申请涉及计算处理领域,特别是涉及一种任务处理方法和任务处理装置。
技术介绍
通常来说,对于提供计算处理服务的计算机系统,不论是离线提供服务或者是在线提供服务,均需要多个模块或者系统协同工作才能完成整个服务流程,在这个任务完成过程中一般存在多个节点,每个节点负责计算处理不同的任务。其中,通常会存在一个节点需要访问多个其他节点的服务,一个节点需要其他节点计算获得的数据才能进行下一步计算处理。因此任务之间存在执行顺序的关系,或称为任务之间输入输出的约束关系。鉴于节点之间存在执行顺序关系,通常来说现有技术采用任务的串行执行方式,按照先后顺序排列有执行顺序关系的任务,使得任务串行执行。但是串行执行的方式延长了任务整体执行的时间,某一个计算节点可能会长时间处于等待其他并无约束关系的节点执行任务,导致任务执行的效率降低,浪费了计算装置的资源。
技术实现思路
鉴于上述问题,本专利技术一实施例提出一种任务处理方法和任务处理装置,以解决现有技术存在的问题。为了解决上述问题,本申请一实施例公开一种一种任务处理方法,包括:利用多个任务之间的约束关系,建立任务序列图,所述任务序列图包括节点和边,所述节点对应于任务,所述边对应于任务之间的约束关系;对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务;根据拓扑排序结果执行所述多个任务。在一可选实施例中,所述对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务的步骤之后,所述方法还包括 ...
【技术保护点】
1.一种任务处理方法,其特征在于,包括:/n利用多个任务之间的约束关系,建立任务序列图,所述任务序列图包括节点和边,所述节点对应于任务,所述边对应于任务之间的约束关系;/n对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务;/n根据排序结果执行所述多个任务。/n
【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:
利用多个任务之间的约束关系,建立任务序列图,所述任务序列图包括节点和边,所述节点对应于任务,所述边对应于任务之间的约束关系;
对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务;
根据排序结果执行所述多个任务。
2.根据权利要求1所述的方法,其特征在于,所述对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务的步骤之后,所述方法还包括:
根据多个节点中每一个节点对应的任务的完成时间,确定节点类型;
当确定其中一个节点的节点类型为非关键节点时,在所述非关键节点组成的路径中插入任务。
3.根据权利要求2所述的方法,其特征在于,所述根据多个节点中每一个节点对应的任务的完成时间,确定节点类型之后,所述方法还包括:
当确定其中一个节点的节点类型为关键节点时,拆分所述关键节点对应的任务。
4.根据权利要求2或3所述的方法,其特征在于,所述根据多个节点中每一个节点对应的任务的完成时间,确定所述节点的节点类型的步骤包括:
确定多个节点中每一个节点的任务执行时间;
计算多个节点中每一个节点对应的任务的最早完成时间;
计算多个节点中每一个节点对应的任务的最迟完成时间;
根据节点对应的任务的所述最早完成时间和最迟完成时间,确定个所述节点的节点类型。
5.根据权利要求3所述的方法,其特征在于,所述根据节点对应的任务的所述最早完成时间和最迟完成时间,确定所述节点的节点类型的步骤包括:
当节点对应的任务的最早完成时间小于最迟完成时间,则判断该节点为非关键节点;
当节点对应的任务的最早完成时间等于最迟完成时间,则判断该节点为关键节点。
6.根据权利要求4所述的方法,其特征在于,所述计算多个节点中每一个节点对应的任务的最早完成时间的步骤中,所述节点对应的任务的最早完成时间包括:当前节点的任务的执行时间加上前继节点的任务中最早完成时间的最大值;
所述计算多个节点中每一个节点对应的任务的最迟完成时间的步骤中,所述节点的最迟完成时间包括:在当前节点的所有后继节点中的最早完成时间的最小值减去该后继节点的执行时间。
7.根据权利要求1所述的方法,其特征在于,在利用多个任务之间的约束关系,建立任务序列图的步骤之前,所述方法还包括:
将任务执行系统的总任务拆分为多个任务。
8.根据权利要求7所述的方法,其特征在于,所述将任务执行系统的总任务拆分为多个任务的步骤中,是依据所述任务执行系统的系统开销和所述拆分后的多个任务占用的任务执行系统的资源确定拆分后的任务的粒度。
9.根据权利要求1所述的方法,其特征在于,所述任务序列图为有向无环图。
10.一种任务处理装置,包括:
序列图建立模块,用于利用多个任务之间的约束关系,建立任务序列图;
拓扑排序模块,用于对所述任务序列图中的多个任务进行拓扑排序,确定并发执行的任务;
任务执行模块,用于根据拓扑排序结果执行所述多个任务。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
节点类型确定模块,用于根据多个节点中每一个节点对应的任务的完成时间,确定节点类型;
任务插入模块,用于当确定其中一个节点的节点类型为非关键节点时,在所述非关键节点组成...
【专利技术属性】
技术研发人员:曾魁,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。