[发明专利]一种工作流的调度方法及系统在审
申请号: | 202110076449.6 | 申请日: | 2021-01-20 |
公开(公告)号: | CN112748997A | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 杜泉 | 申请(专利权)人: | 北京明略昭辉科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 青岛清泰联信知识产权代理有限公司 37256 | 代理人: | 李红岩 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 工作流 调度 方法 系统 | ||
本申请公开了一种工作流的调度方法及系统。工作流的调度方法包括:提交步骤:通过前端提交工作流的任务;设置步骤:根据所述任务设置虚根以及哈希表;执行步骤:根据所述虚根以及所述哈希表执行所述任务;持久化步骤:当所有的所述任务结束后,将所述工作流中的所述任务的任务状态持久化到数据库中。本发明提供一种工作流的调度方法及系统,本发明通过DAG组织任务,组织了管理一个工作流任务的多个子任务在多个集群执行任务时状态依赖关系,并通过哈希表保存对应子任务的状态。
技术领域
本申请涉及工作流管理技术领域,尤其涉及一种工作流的调度方法及系统。
背景技术
argo是一个基于kubernetes CRD实现的一个workflow(工作流)工具。然而argo适用于单个集群的工作流调度,在跨kubernetes集群提交工作流方面仍无法支持。暂时无法组织管理一个工作流任务的多个子任务在多个集群执行任务时状态依赖关系。
因此,针对以上现状,本发明提供一种工作流的调度方法及系统,本发明通过DAG组织任务,组织了管理一个工作流任务的多个子任务在多个集群执行任务时状态依赖关系,并通过哈希表保存对应子任务的状态。
发明内容
本申请实施例提供了一种工作流的调度方法及系统,以至少解决相关技术中主观因素影响的问题。
本发明提供了一种工作流的调度方法,包括:
提交步骤:通过前端提交工作流的任务;
设置步骤:根据所述任务设置虚根以及哈希表;
执行步骤:根据所述虚根以及所述哈希表执行所述任务;
持久化步骤:当所有的所述任务结束后,将所述工作流中的所述任务的任务状态持久化到数据库中。
上述的工作流的调度方法,所述提交步骤包括,通过前端填写所述工作流的所述任务并选好所述任务的依赖关系后提交所述任务。
上述的工作流的调度方法,所述设置步骤包括,将所述哈希表中的所述任务的初始值设为0,其中所述任务包括所述前端任务与所述后端任务。
上述的工作流的调度方法,所述执行步骤包括,当所述前端任务正确执行完成后将所述前端任务的所述初始值置为1,并发出信号通知依赖所述前端任务的所述后端任务的扫描状态队列后,所述后端任务开始执行,若所述前端任务失败,所述后端任务不再执行。
上述的工作流的调度方法,所述持久化步骤包括,当所有的所述任务执行结束或所述任务失败后,将所述工作流中的所述任务的所述任务状态持久化到所述数据库中。
本发明还提供一种工作流的调度系统,其中,适用于上述所述的工作流的调度方法,所述工作流的调度系统包括:
提交单元:通过前端提交工作流的任务;
设置单元:根据所述任务设置虚根以及哈希表;
执行单元:根据所述虚根以及所述哈希表执行所述任务;
持久化单元:当所有的所述任务结束后,将所述工作流中的所述任务的任务状态持久化到数据库中。
上述的工作流的调度系统,通过前端填写所述工作流的所述任务并选好所述任务的依赖关系后通过所述提交单元提交所述任务。
上述的工作流的调度系统,所述设置单元将所述哈希表中的所述任务的初始值设为0,其中所述任务包括所述前端任务与所述后端任务。
上述的工作流的调度系统,当所述前端任务正确执行完成后所述执行单元将所述前端任务的所述初始值置为1,并发出信号通知依赖所述前端任务的所述后端任务的扫描状态队列后,所述执行单元开始执行所述后端任务,若所述前端任务失败,所述后端任务不再执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明略昭辉科技有限公司,未经北京明略昭辉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110076449.6/2.html,转载请声明来源钻瓜专利网。