基于动态依赖管理的流水线编排方法、装置、设备及介质与流程
- 国知局
- 2024-10-09 15:38:08
本发明属于流程编排,具体涉及一种基于动态依赖管理的流水线编排方法、装置、设备及介质。
背景技术:
1、基于devops工具(devops为(开发 (dev) 和运营 (ops)的复合词))集成的多应用项目的流水线编排方法,在现有技术中,应用现状是使用容器编排调度系统如kubernetes来构建云原生应用的流水线。现有的技术主要依赖于以下几个关键点:
2、基础设施管理(iac):利用devops工具实现基础设施管理的自动化,这包括中间件的自动化安装、管理等任务;
3、价值流分析:对价值流进行分析和整理,形成内部端到端的、完整的、有序的、可落地实施的工作流程。持续集成/持续交付(ci/cd):这是devops实践中非常重要的一环,目的是缩短系统变更从提交到部署至生产环境的时间,同时保证高质量;
4、测试节点:在流水线编排时考虑各类测试节点,包括静态代码检查、自动化的单元测试以及人工的测试验证,以实现与qa/qc的协同工作。
5、但上述编排方法在实际应用中还至少存在以下缺陷:
6、1、复杂性管理:随着项目数量和规模的增加,管理多个应用之间的依赖关系和协调它们的构建、测试和部署过程变得更加复杂;
7、2、灵活性和可扩展性:现有的流水线编排方法可能不够灵活,难以适应快速变化的业务需求和技术环境;
8、3、成本控制:自动化工具和流程的实施可能会带来额外的成本,特别是在资源分配和优化方面;
9、4、安全性问题:自动化流程可能会引入新的安全漏洞,需要确保流水线的安全性得到充分考虑和加强。
技术实现思路
1、本发明的目的是提供一种基于动态依赖管理的流水线编排方法、装置、设备及介质,用以解决现有技术中存在着多应用项目流程的复杂性较高、灵活性较差、成本较高和安全性较低的问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,本发明提供了一种基于动态依赖管理的流水线编排方法,所述方法包括:
4、对多应用项目流程进行任务提取,得到任务集,所述任务集中包括多个任务;
5、对多个任务进行关系分析,得到各任务之间的依赖关系;
6、基于各任务之间的依赖关系,构建动态依赖模型,所述动态依赖模型用于描述各任务之间的动态约束和各任务的执行顺序;
7、监测各任务之间的依赖关系的变化,基于变化后的依赖关系动态调整多应用项目流程的执行顺序;
8、在任意任务执行完成后,获取执行反馈信息,基于执行反馈信息对动态依赖模型进行优化。
9、优选地,所述动态调整多应用项目流程的执行顺序包括:启动执行新任务、暂停当前任务、跳过当前任务或重复执行当前任务。
10、优选地,基于各任务之间的依赖关系,构建动态依赖模型,包括:
11、基于各任务之间的依赖关系,确定各任务之间的依赖系数;
12、基于各任务之间的依赖关系,确定各任务之间的延时时长;
13、基于各任务之间的依赖系数、各任务之间的依赖关系和各任务之间的延时时长,构建动态依赖模型。
14、优选地,基于各任务之间的依赖关系,确定各任务之间的依赖系数,包括:
15、对于任意一个任务,提取该任务在任务集合中与该任务具有依赖关系的其他任务;
16、确定该任务和与该任务具有依赖关系的其他任务之间的公共参数和私有参数;
17、根据公共参数的数量和私有参数的数量,确定该任务和与该任务具有依赖关系的其他任务之间的依赖系数。
18、优选地,在所述任务集中的任意一个任务与一个其他任务之间存在依赖关系时,所述动态依赖模型的表达式为:
19、;
20、式中, a表示任务 a, b表示任务 b,表示任务 b的执行开始时间,表示任务 a的执行结束时间,表示任务 a与任务 b之间的依赖系数,为任务 a与任务 b之间的依赖关系,表示任务 a与任务 b之间的延时时长。
21、优选地,在所述任务集中的任意一个任务与至少两个其他任务之间存在依赖关系时,所述动态依赖模型的表达式为:
22、;
23、式中,表示第 i个任务的执行开始时间,表示第 j个任务的执行结束时间, j表示与第 i个任务存在依赖关系的其他任务的总数,表示第 i个任务与第 j个其他任务之间的依赖系数,表示第 i个任务与第 j个其他任务之间的依赖关系,表示第 i个任务与第 j个其他任务之间的延时时长;其中, i=1,2,…, i, i表示任务集中任务的总数, j为与第 i个任务存在依赖关系的第 j个其他任务, j< i,且 i≠ j。
24、优选地,基于执行反馈信息对动态依赖模型进行优化,包括:
25、根根据执行反馈信息,调整各任务之间的依赖系数和各任务之间的依赖关系,得到调整后的各任务之间的依赖系数和调整后的各任务之间的依赖关系;
26、根据调整后的各任务之间的依赖系数和调整后的各任务之间的依赖关系对动态依赖模型进行重构。
27、第二方面,本发明提供了一种基于动态依赖管理的流水线编排装置,用于实现上述的基于动态依赖管理的流水线编排方法,所述装置包括:
28、任务提取模块,用于对多应用项目流程进行任务提取,得到任务集,所述任务集中包括多个任务;
29、关系分析模块,用于对多个任务进行关系分析,得到各任务之间的依赖关系;
30、模型构建模块,用于基于各任务之间的依赖关系,构建动态依赖模型,所述动态依赖模型用于描述各任务之间的动态约束和各任务的执行顺序;
31、关系监测模块,用于监测各任务之间的依赖关系的变化,基于变化后的依赖关系动态调整多应用项目流程的执行顺序;
32、模型优化模块,用于在任意任务执行完成后,获取执行反馈信息,基于执行反馈信息对动态依赖模型进行优化。
33、第三方面,本发明提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于动态依赖管理的流水线编排方法。
34、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于动态依赖管理的流水线编排方法。
35、有益效果:
36、1、提高了流程效率:通过实时感知依赖关系的变化,能够更高效地安排和执行任务,避免不必要的等待和延误,提高整体流程的效率;
37、2、增强了灵活性:根据依赖关系动态调整多应用项目流程的执行,能够灵活应对各种情况,例如任务的新增、变更或延迟,从而更好地适应业务需求的变化;
38、3、降低风险:及时发现和处理依赖冲突或异常情况,可以减少错误和故障的发生,降低项目风险;
39、4、提升质量:确保任务按照正确的顺序执行,有助于提高产品或服务的质量;
40、5、更好的资源利用:根据任务的依赖关系和实时需求,合理分配资源,提高资源的利用率;
41、6、可视化和监控:通过构建动态依赖模型,能够更清晰地了解整个流程,便于监控和管理;
42、7、快速响应变化:在动态的业务环境中,能够快速响应市场变化和客户需求,提高企业的竞争力。
本文地址:https://www.jishuxx.com/zhuanli/20241009/309422.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表