有向无环图的检测方法、装置、介质和计算设备与流程
- 国知局
- 2024-07-31 22:49:26
本公开的实施方式涉及任务流,更具体地,本公开的实施方式涉及一种有向无环图的检测方法、装置、介质和计算设备。
背景技术:
1、本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、工作流任务指的是将一组任务组合起来以完成某个业务的过程。工作流任务中包括多个子任务,各个子任务之间具有依赖关系,依赖关系指的是一个子任务的输出数据作为另一个子任务的输入数据。
3、目前,可以通过有向无环图的形式构建各个子任务的依赖关系。在构建依赖关系时候在构建依赖时,不会对有向无环图中表征依赖关系的连线具有严格的限制,这就导致了数据开发人员在构建依赖时,会比较随意。随着时间的推移,当工作流任务内的节点(子任务)越来越多,节点之间的依赖越来越复杂,且随着节点内容的变更以及开发人员的变更,过往设置的依赖关系已经不能完全体现工作流任务对应的具体业务情况,导致有向无环图中存在大量的多余的依赖关系或者缺少依赖关系的情况。多余的依赖关系会导致有向无环图中修改任务节点时,需要经过复杂的测试去保证修改的依赖关系的正确性,但是又不能对历史的依赖关系做过多的修改。缺少的依赖关系是有向无环图构建完依赖关系后,漏掉了一些依赖配置,但是无法快速发现,导致数据开发的产出数据有问题。
4、示例性技术中,对于有向无环图中多余或缺少的依赖关系,是通过人工的方式进行确定的。由于有向无环图中依赖关系较多,导致有向无环图中多余或缺少的依赖关系的确定时长过长,从而导致有向无环图中多余或缺少的依赖关系确定效率较低。
技术实现思路
1、本公开提供一种有向无环图的检测方法、装置、介质和计算设备,以解决有向无环图中多余或缺少的依赖关系确定效率较低的问题。
2、在本公开实施方式的第一方面,提供了一种有向无环图的检测方法,包括:获取待检测的目标有向无环图,并确定所述目标有向无环图对应的各个任务;根据完成各个所述任务的系统,确定所述目标有向无环图中每个节点的真实输入的第一数据集以及真实输出的第二数据集,各个所述节点包括各个所述任务以及所述任务的各个子任务;根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中多余的第一依赖关系和/或缺少的第二依赖关系。
3、在本公开一实施例中,所述根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中多余的第一依赖关系,包括:
4、获取每个所述节点的虚拟输入的第三数据集以及虚拟输出的第四数据集,以构建所述节点对应的合集,所述节点对应的合集包括所述节点的第一数据集、第二数据集、第三数据集以及所述第四数据集;
5、确定所述目标有向无环图中第三依赖关系对应的第一节点与第二节点;
6、响应于所述第一节点对应的合集与所述第二节点对应的合集不存在交集,将所述第三依赖关系确定为所述目标有向无环图中多余的第一依赖关系。
7、在本公开另一实施例中,所述获取每个所述节点的虚拟输入的第三数据集以及虚拟输出的第四数据集,包括:
8、确定所述目标有向无环图中第三节点,在所述目标有向无环图中第一下游节点以及第一上游节点;
9、根据所述第一下游节点的真实输入的第一数据集,确定所述第三节点虚拟输入的第三数据集;
10、根据所述第一上游节点的真实输出的第二数据集,确定所述第三节点虚拟输出的第四数据集。
11、在本公开另一实施例中,所述根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中缺少的第二依赖关系,包括:
12、根据各个所述节点对应的第一数据集以及第二数据集,确定有向无环图对应的第四依赖关系,所述第四依赖关系用于指示所述目标有向无环图中待添加的依赖关系;
13、根据所述目标有向无环图,确定所述第四依赖关系所等价的各个第五依赖关系;
14、响应于所述目标有向无环图中未设置各个所述第五依赖关系,将所述第四依赖关系确定为缺少的第二依赖关系。
15、在本公开另一实施例中,所述根据所述目标有向无环图,确定所述第四依赖关系所等价的各个第五依赖关系,包括:
16、确定所述第四依赖关系在所述目标有向无环图中的第四节点以及第五节点,所述第四节点为所述第五节点的上游节点;
17、确定所述第四节点在所述目标有向无环图中的第二下游节点;
18、确定所述第五节点在所述目标有向无环图中的第二上游节点;
19、根据所述第二下游节点、所述第二上游节点、所述第四节点以及所述第五节点,确定所述第四依赖关系所等价的各个第五依赖关系。
20、在本公开另一实施例中,所述根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中多余的第一依赖关系之后,还包括:
21、在所述目标有向无环图中,删除所述第一依赖关系对应的指向连线。
22、在本公开另一实施例中,所述根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中缺少的第二依赖关系之后,还包括:
23、响应于所述目标有向无环图包括缺少的第二依赖关系,确定所述第二依赖关系在所述目标有向无环图中所对应的第六节点以及第七节点;
24、在所述目标有向无环图中设置所述第六节点与所述第七节点之间的连线;
25、根据所述第六节点与所述第七节点之间的关系,对所述连线设置所述关系对应的指向箭头,所述关系用于指示所述第六节点作为所述第七节点的上游节点或下游节点。
26、在本公开另一实施例中,所述获取待检测的目标有向无环图,包括:
27、响应于检测到有向无环图中任一节点的修改,将所述目标有向无环图确定为待检测的目标有向无环图。
28、在本公开实施方式的第二方面,提供一种有向无环图的检测装置,包括:
29、获取模块,用于获取待检测的目标有向无环图,并确定所述目标有向无环图对应的各个任务;
30、第一确定模块,用于根据完成各个所述任务的系统,确定所述目标有向无环图中每个节点的真实输入的第一数据集以及真实输出的第二数据集,各个所述节点包括各个所述任务以及所述任务的各个子任务;
31、第二确定模块,用于根据各个所述节点对应的第一数据集以及第二数据集,确定所述目标有向无环图中多余的第一依赖关系和/或缺少的第二依赖关系。
32、在本公开实施方式的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的方法。
33、在本公开实施方式的第四方面,提供一种计算设备,包括:
34、至少一个处理器;
35、以及与所述至少一个处理器通信连接的存储器;
36、其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述计算设备执行如上所述的方法。
37、根据本公开实施方式的有向无环图的检测方法、装置、介质和计算设备,通过有向无环图中每个节点真实输入的数据集以及真实输出的数据集,自动确定有向无环图中多余的第一依赖关系以及缺少的第二依赖关系,无需人工确定有向无环图中多余或缺少的依赖关系,降低了有向无环图中多余或缺少的依赖关系的确定时长,提高了有向无环图中多余或缺少依赖关系的确定效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194813.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。