[发明专利]一种任务处理方法及装置在审
申请号: | 202110051110.0 | 申请日: | 2021-01-14 |
公开(公告)号: | CN112817744A | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 杨春雨;卫军;李鹏飞 | 申请(专利权)人: | 内蒙古蒙商消费金融股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06Q10/10 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 014030 内蒙古*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 处理 方法 装置 | ||
本申请实施例提供了一种任务处理方法及装置。所述方法包括:在需要对工作流进行处理的情况下,获取所述工作流中的所有任务及所述所有任务之间的依赖关系;获取与所述所有任务具有依赖关系的跨工作流任务;根据所述所有任务、所述跨工作流任务和所述依赖关系,构建得到所述工作流对应的有向无环图;根据所述有向无环图,依次执行所述所有任务,确定所述工作流对应的任务执行结果。本申请实施例通过结合工作流中所有任务的依赖关系构建有向无环图,结合有向无环图执行所有任务,能够确保所有任务按照依赖关系准确执行,进而提高了工作流任务执行的准确性,能够实现跨工作流依赖的任务执行。
技术领域
本申请涉及任务处理技术领域,特别是涉及一种任务处理方法及装置。
背景技术
工作流是指业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在一个工作流中包含了多个任务,多个任务之间的执行是存在依赖关系的。
目前,公知的任务调度方法,只能处理工作流内部的依赖关系,对于跨工作流的任务依赖通常是通过工作流的启动时间先后顺序来控制。由于任务执行时间的不确定性,所以无法保证子任务所在工作流启动时,父任务已经执行完成,从而导致任务执行的结果不准确,而更复杂的跨工作流依赖基本无法实现。
发明内容
本申请提供一种任务处理方法及装置,以解决现有技术中无法保证子任务所在工作流启动时,父任务已经执行完成,从而导致任务执行的结果不准确,而更复杂的跨工作流依赖基本无法实现的问题。
为了解决上述问题,本申请实施例提供了一种任务处理方法,包括:
在需要对工作流进行处理的情况下,获取所述工作流中的所有任务及所述所有任务之间的依赖关系;
获取与所述所有任务具有依赖关系的跨工作流任务;
根据所述所有任务、所述跨工作流任务和所述依赖关系,构建得到所述工作流对应的有向无环图;
根据所述有向无环图,依次执行所述所有任务,确定所述工作流对应的任务执行结果。
可选地,所述根据所述所有任务、所述跨工作流任务和所述依赖关系,构建得到所述工作流对应的有向无环图,包括:
以所述所有任务和所述跨工作流任务作为图节点,并以所述依赖关系作为所述图节点的依赖边,构建得到初始有向无环图;
根据所述依赖关系,对所述依赖边进行标记,生成所述有向无环图;
其中,所述依赖边包括工作流内依赖边和跨工作流依赖边。
可选地,所述根据所述有向无环图,依次执行所述所有任务,确定所述工作流对应的任务执行结果,包括:
获取并执行所述有向无环图中属于所述工作流的父节点;
在所述父节点执行完成之后,根据所述依赖关系,获取所述父节点对应的子节点;
在执行所述子节点之前,获取与所述子节点具有依赖关系的所有父节点的节点执行状态;
在所述节点执行状态为执行成功状态的情况下,执行所述子节点;
在所述子节点执行完成之后,以所述子节点作为父节点,循环执行所述根据所述依赖关系,获取所述父节点对应的子节点、所述在执行所述子节点之前,获取与所述子节点具有依赖关系的所有父节点的节点执行状态和所述在所述节点执行状态为执行成功状态的情况下,执行所述子节点的步骤,直至所述有向无环图中的所有图节点均执行完成,得到所述工作流的任务执行结果。
可选地,所述获取与所述子节点具有依赖关系的所有父节点的节点执行状态,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古蒙商消费金融股份有限公司,未经内蒙古蒙商消费金融股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110051110.0/2.html,转载请声明来源钻瓜专利网。