工作流编排方法、服务端及客户端与流程

文档序号:37822869发布日期:2024-04-30 17:32阅读:9来源:国知局
工作流编排方法、服务端及客户端与流程

本发明实施例涉及计算机,具体涉及一种工作流编排方法、服务端及客户端。


背景技术:

1、工作流编排工具(如pipelines)用于管理和编排工作流中不同工作组件的工作流程。比如,对于机器学习工作流程,从数据准备、特征提取,再到模型持续训练,再到模型持续部署,通过自动化工作流,以及通过监控、质量控制和协作等更有效地管理和维护机器学习模型。

2、而已有的工作流编排中,只能实现不同docker镜像的编排调配(每个工作组件使用提前预制好的镜像),无法灵活实现不同工作组件使用不同的python环境配置,不同的docker镜像,不同的python脚本配置。而这一需求在一个流水化生产的工作流中非常常见。例如:机器学习某些特征处理工作组件中,运行只需要依赖基础的pandas python工具包和numpy python工具包;但是在机器学习训练工作组件中,其运行需要依赖特定版本的pytorch工具包或者特定版本的tensorflow工具包;在推理运行组件中,其可能需要依赖特定的tensorrt工具包。


技术实现思路

1、针对现有技术存在的缺陷,本发明实施例提供一种工作流编排方法、服务端及客户端。

2、本发明实施例提供一种工作流编排方法,包括:接收客户端发送的静态配置文件,解析所述静态配置文件,得到工作流中各个工作组件的运行顺序及配置数据;其中,所述配置数据包括python脚本信息、python环境信息、docker镜像信息及机器类别信息;从docker镜像仓库拉取各个所述工作组件的所述docker镜像信息对应的docker镜像至所述机器类别信息对应的机器;根据所述工作组件的所述运行顺序,编排运行各个工作组件;其中,对于当前待运行的工作组件,根据所述工作组件对应的所述python脚本信息及所述python环境信息从共享存储区挂载对应的python环境及python脚本文件至对应的所述机器的所述docker镜像中,利用所述python环境运行所述python脚本文件。

3、根据本发明实施例提供的一种工作流编排方法,该方法还包括:将利用所述python环境运行所述python脚本的运行结果上报给控制台。

4、本发明实施例还提供另一种工作流编排方法,包括:编译运行工作流的流程代码,得到静态配置文件及各个工作组件的python脚本文件;其中,所述静态配置文件包括所述工作流中各个工作组件的运行顺序及配置数据,所述配置数据包括python脚本信息、python环境信息、docker镜像信息及机器类别信息;根据所述python环境信息在共享存储区创建相应的python环境并在所述python环境安装对应的依赖包,将所述python脚本文件存储到共享存储区;将所述静态配置文件发送给服务端,以供所述服务端根据所述静态配置文件进行工作流编排。

5、根据本发明实施例提供的一种工作流编排方法,所述python环境信息、所述docker镜像信息及所述机器类别信息是通过装饰器注解的方式在所述流程代码中配置的。

6、根据本发明实施例提供的一种工作流编排方法,所述编译运行工作流的流程代码,包括:根据所述流程代码获取所述工作流中各个工作组件的所述运行顺序;根据所述运行顺序编译运行各个所述工作组件的脚本代码;其中,对于当前待编译运行的工作组件,获取所述工作组件对应的所述docker镜像信息及所述python环境信息,基于所述docker镜像信息对应的docker镜像,利用所述python环境信息对应的所述python环境编译运行所述工作组件的脚本代码。

7、根据本发明实施例提供的一种工作流编排方法,所述基于所述docker镜像信息对应的docker镜像,利用所述python环境信息对应的所述python环境编译运行所述工作组件的脚本代码,包括:拉取所述docker镜像信息对应的docker镜像,挂载所述共享存储区的所述python环境至所述docker镜像,基于所述docker镜像,利用所述python环境编译运行所述工作组件的脚本代码。

8、本发明实施例还提供一种服务端,包括:接收模块,用于:接收客户端发送的静态配置文件,解析所述静态配置文件,得到工作流中各个工作组件的运行顺序及配置数据;其中,所述配置数据包括python脚本信息、python环境信息、docker镜像信息及机器类别信息;拉取模块,用于:从docker镜像仓库拉取各个所述工作组件的所述docker镜像信息对应的docker镜像至所述机器类别信息对应的机器;编排模块,用于:根据所述工作组件的所述运行顺序,编排运行各个工作组件;其中,对于当前待运行的工作组件,根据所述工作组件对应的所述python脚本信息及所述python环境信息从共享存储区挂载对应的python环境及python脚本文件至对应的所述机器的所述docker镜像中,利用所述python环境运行所述python脚本文件。

9、本发明实施例还提供一种客户端,包括:编译模块,用于:编译运行工作流的流程代码,得到静态配置文件及各个工作组件的python脚本文件;其中,所述静态配置文件包括所述工作流中各个工作组件的运行顺序及配置数据,所述配置数据包括python脚本信息、python环境信息、docker镜像信息及机器类别信息;预存模块,用于:根据所述python环境信息在共享存储区创建相应的python环境并在所述python环境安装对应的依赖包,将所述python脚本文件存储到共享存储区;发送模块,用于:将所述静态配置文件发送给服务端,以供所述服务端根据所述静态配置文件进行工作流编排。

10、本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述工作流编排方法的步骤。

11、本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述工作流编排方法的步骤。

12、本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述工作流编排方法的步骤。

13、本发明实施例提供的工作流编排方法、服务端及客户端,通过接收客户端发送的静态配置文件,解析静态配置文件,得到工作流中各个工作组件的运行顺序及配置数据;其中,配置数据包括python脚本信息、python环境信息、docker镜像信息及机器类别信息,从docker镜像仓库拉取各个工作组件的docker镜像信息对应的docker镜像至机器类别信息对应的机器,根据工作组件的运行顺序,编排运行各个工作组件,其中,对于当前待运行的工作组件,根据工作组件对应的python脚本信息及python环境信息从共享存储区挂载对应的python环境及python脚本文件至对应的机器的docker镜像中,利用python环境运行python脚本文件,实现了不同工作组件采用对应的python环境及docker镜像运行对应的脚本文件,避免出现环境配置及环境冲突的问题,提高了工作效率,提高了工作组件的运行灵活性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1