一种任务处理方法及装置制造方法及图纸

技术编号:22501837 阅读:20 留言:0更新日期:2019-11-09 02:29
本发明专利技术实施例提供了一种任务处理方法及装置,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;根据各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动各子任务,得到待处理任务对应的有向无环图;按照自顶向下的执行顺序,依次执行有向无环图中各层计算结点的执行逻辑,其中,在执行有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。利用自底向上的方式启动各子任务,得到有向无环图,因此,可以知道每一层的哪些计算结点可以并发执行,并发执行这些处于同一层的各计算结点的执行逻辑,可以提高任一层计算结点的执行逻辑的执行并发度,从而提高了任务的执行效率。

A task processing method and device

The embodiment of the invention provides a task processing method and device, which divides the tasks to be processed into multiple subtasks, and configures the execution sequence of each subtask; according to the execution sequence of each subtask, start each subtask from the target subtask, and start each subtask in sequence from the back to the front to get the directed acyclic graph corresponding to the tasks to be processed; according to the top-down execution sequence In the directed acyclic graph, the execution logic of each calculation node in each layer is executed in turn. When the execution logic of each calculation node in the directed acyclic graph is executed, the execution logic of each calculation node in the same layer is executed concurrently. By using the bottom-up method to start the subtasks, we can get the directed acyclic graph. Therefore, we can know which compute nodes in each layer can execute concurrently, and execute the execution logic of these compute nodes in the same layer concurrently, which can improve the execution concurrency of the execution logic of the compute nodes in any layer, thus improving the execution efficiency of the task.

【技术实现步骤摘要】
一种任务处理方法及装置
本专利技术涉及计算机
,特别是涉及一种任务处理方法及装置。
技术介绍
计算机在进行某项工作时,常常需要好几个任务的协调执行才能完成,而任务的数量庞大,各任务之间的依赖关系十分复杂。除此之外,每个任务内部拥有多个子任务,各子任务之间的依赖关系也很复杂,并且,每个子任务内部又包括多种执行逻辑。现有技术中,通常采用oozie(一种工作流配置方式)提前配置各子任务的执行顺序。但是,对于由工作流触发执行的各子任务来说,需要等待上一层各子任务的所有执行逻辑全部执行结束才可以执行下一层子任务,这可能会降低任务的执行效率。
技术实现思路
本专利技术实施例的目的在于提供一种任务处理方法及装置,以实现提高任务的执行效率。具体技术方案如下:第一方面,本专利技术实施例提供了一种任务处理方法,所述方法包括:根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,其中,所述目标子任务为所述执行顺序中的最后一个子任务,所述有向无环图中的各计算结点分别对应一个子任务;按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,其中,在执行所述有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。可选的,所述根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,包括:从目标子任务开始,启动当前子任务,并根据配置的所述当前子任务的各上游子任务的任务信息,并发启动所述各上游子任务,直至所述执行顺序中的第一个子任务,得到所述待处理任务对应的有向无环图。可选的,所述按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,包括:针对任一计算结点,判断该计算结点是否正在执行其他任务的子任务的执行逻辑;若是,则等待所述其他任务的子任务的执行逻辑执行结束后,执行该计算结点对应的所述待处理任务的子任务的执行逻辑。可选的,所述方法还包括:针对任一计算结点,统计该计算结点的执行逻辑的执行次数及执行时长;判断所述执行次数是否大于第一预设阈值,以及所述执行时长是否大于第二预设阈值;若所述执行次数大于所述第一预设阈值,和/或,所述执行时长大于所述第二预设阈值,则输出提示信息,所述提示信息用于提示所述计算结点执行异常。可选的,所述方法还包括:获取待增加的子任务,以及配置的所述待增加的子任务在所述待处理任务中的执行顺序;根据所述待增加的子任务在所述待处理任务中的执行顺序,确定所述有向无环图中所述待增加的子任务对应的计算结点的上一层计算结点和下一层计算结点;在所述上一层计算结点和所述下一层计算结点之间,插入所述待增加的子任务对应的计算结点,得到更新的所述有向无环图。可选的,接收计算结点删除指令;根据所述计算结点删除指令,确定所述有向无环图中待删除的计算结点;从所述有向无环图中删除所述待删除的计算结点,并将所述待删除的计算结点的下一层计算结点确定为所述待删除的计算结点的上一层计算结点的下一层计算结点,得到更新后的所述有向无环图。第二方面,本专利技术实施例提供了一种任务处理装置,所述装置包括:第一获取模块,用于根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;启动模块,用于根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,其中,所述目标子任务为所述执行顺序中的最后一个子任务,所述有向无环图中的各计算结点分别对应一个子任务;执行模块,用于按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,其中,在执行所述有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。可选的,所述启动模块,具体用于从目标子任务开始,启动当前子任务,并根据配置的所述当前子任务的各上游子任务的任务信息,并发启动所述各上游子任务,直至所述执行顺序中的第一个子任务,得到所述待处理任务对应的有向无环图。可选的,所述执行模块,具体用于针对任一计算结点,判断该计算结点是否正在执行其他任务的子任务的执行逻辑,若是,则等待所述其他任务的子任务的执行逻辑执行结束后,执行该计算结点对应的所述待处理任务的子任务的执行逻辑。可选的,所述装置还包括:统计模块,用于针对任一计算结点,统计该计算结点的执行逻辑的执行次数及执行时长;判断模块,用于判断所述执行次数是否大于第一预设阈值,以及所述执行时长是否大于第二预设阈值;提示模块,用于若所述执行次数大于所述第一预设阈值,和/或,所述执行时长大于所述第二预设阈值,则输出提示信息,所述提示信息用于提示所述计算结点执行异常。可选的,所述装置还包括:第二获取模块,用于获取待增加的子任务,以及配置的所述待增加的子任务在所述待处理任务中的执行顺序;第一确定模块,用于根据所述待增加的子任务在所述待处理任务中的执行顺序,确定所述有向无环图中所述待增加的子任务对应的计算结点的上一层计算结点和下一层计算结点;插入模块,用于在所述上一层计算结点和所述下一层计算结点之间,插入所述待增加的子任务对应的计算结点,得到更新的所述有向无环图。可选的,所述装置还包括:接收模块,用于接收计算结点删除指令;第二确定模块,用于根据所述计算结点删除指令,确定所述有向无环图中待删除的计算结点;删除模块,用于从所述有向无环图中删除所述待删除的计算结点,并将所述待删除的计算结点的下一层计算结点确定为所述待删除的计算结点的上一层计算结点的下一层计算结点,得到更新后的所述有向无环图。第三方面,本专利技术实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的所述计算机程序时,实现上述第一方面任一所述的任务处理方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的任务处理方法。本专利技术实施例提供的任务处理方法及装置,该方法包括:根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;根据各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动各子任务,得到待处理任务对应的有向无环图,其中,目标子任务为执行顺序中的最后一个子任务,有向无环图中的各计算结点分别对应一个子任务;按照自顶向下的执行顺序,依次执行有向无环图中各层计算结点的执行逻辑,其中,在执行有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。利用自底向上的方式启动各子任务,得到有向无环图,因此,可以知道每一层的哪些计算结点可以并发执行,并发执行这些处于同一层的各计算结点的执行逻辑,可以提高任一层计算结点的执行逻辑的执行并发度,从而提高了任务的执行效率。当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,所述方法包括:根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,其中,所述目标子任务为所述执行顺序中的最后一个子任务,所述有向无环图中的各计算结点分别对应一个子任务;按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,其中,在执行所述有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法包括:根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,其中,所述目标子任务为所述执行顺序中的最后一个子任务,所述有向无环图中的各计算结点分别对应一个子任务;按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,其中,在执行所述有向无环图中各层计算结点的执行逻辑时,并发执行处于同一层的各计算结点的执行逻辑。2.根据权利要求1所述的方法,其特征在于,所述根据所述各子任务的执行顺序,从目标子任务开始,按照从后向前的顺序,依次启动所述各子任务,得到所述待处理任务对应的有向无环图,包括:从目标子任务开始,启动当前子任务,并根据配置的所述当前子任务的各上游子任务的任务信息,并发启动所述各上游子任务,直至所述执行顺序中的第一个子任务,得到所述待处理任务对应的有向无环图。3.根据权利要求1所述的方法,其特征在于,所述按照自顶向下的执行顺序,依次执行所述有向无环图中各层计算结点的执行逻辑,包括:针对任一计算结点,判断该计算结点是否正在执行其他任务的子任务的执行逻辑;若是,则等待所述其他任务的子任务的执行逻辑执行结束后,执行该计算结点对应的所述待处理任务的子任务的执行逻辑。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对任一计算结点,统计该计算结点的执行逻辑的执行次数及执行时长;判断所述执行次数是否大于第一预设阈值,以及所述执行时长是否大于第二预设阈值;若所述执行次数大于所述第一预设阈值,和/或,所述执行时长大于所述第二预设阈值,则输出提示信息,所述提示信息用于提示所述计算结点执行异常。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待增加的子任务,以及配置的所述待增加的子任务在所述待处理任务中的执行顺序;根据所述待增加的子任务在所述待处理任务中的执行顺序,确定所述有向无环图中所述待增加的子任务对应的计算结点的上一层计算结点和下一层计算结点;在所述上一层计算结点和所述下一层计算结点之间,插入所述待增加的子任务对应的计算结点,得到更新的所述有向无环图。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收计算结点删除指令;根据所述计算结点删除指令,确定所述有向无环图中待删除的计算结点;从所述有向无环图中删除所述待删除的计算结点,并将所述待删除的计算结点的下一层计算结点确定为所述待删除的计算结点的上一层计算结点的下一层计算结点,得到更新后的所述有向无环图。7.一种任务处理装置,其特征在于,所述装置包括:第一获取模块,用于根据预设切分规则,将待处理任务切分为多个子任务,并配置各子任务的执行顺序;...

【专利技术属性】
技术研发人员:汪圣涛顾海斌
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1