【技术实现步骤摘要】
工作流执行方法、装置、电子设备及存储介质
[0001]本申请涉及数据处理
,尤其涉及一种工作流执行方法、装置、电子设备及存储介质。
技术介绍
[0002]在实际机器学习算法生产中,对开发者和使用者的要求都很高,开发者需要花费额外的时间精力在服务器运维、环境适配,集群部署、数据库等工作,此外,需求在一直变更,故在开发过程中需考虑可拓展性、一致性、模块化等,同时在生成环境中代码难以调试,开发效率低。对使用者而言,机器学习应用上手门槛较高,难以满足自己的定制需求,缺乏完善的解决方案。此时就会用到工作流,将业务流程按照一定的规则设计抽象出来,根据不同条件场景执行。
[0003]然而实践发现,现有的工作流引擎大多为独立的顺序任务设计,无法应对任务之间存在数据依赖的场景应用需求。
技术实现思路
[0004]有鉴于此,本申请提供一种工作流执行方法、装置、电子设备及存储介质,以扩展工作流执行方案的适用场景范围。
[0005]具体地,本申请是通过如下技术方案实现的:
[0006]根据本申请实施例的第一方面,提供一种工作流执行方法,包括:
[0007]获取工作流配置文件,所述工作流配置文件包括待执行工作任务以及执行顺序;
[0008]解析所述工作流配置文件,以待执行工作任务为节点,依据待执行工作任务的执行顺序构建节点之间的边,得到工作流对应的有向图;
[0009]依据所述有向图,按照拓扑顺序,依次执行各节点对应的待执行工作任务;其中,所述有向图中任一节点对应待执行工作 ...
【技术保护点】
【技术特征摘要】
1.一种工作流执行方法,其特征在于,包括:获取工作流配置文件,所述工作流配置文件包括待执行工作任务以及执行顺序;解析所述工作流配置文件,以待执行工作任务为节点,依据待执行工作任务的执行顺序构建节点之间的边,得到工作流对应的有向图;依据所述有向图,按照拓扑顺序,依次执行各节点对应的待执行工作任务;其中,所述有向图中任一节点对应待执行工作任务的执行结果数据,依据节点之间的边,被传输至该节点的下一节点。2.根据权利要求1所述的方法,其特征在于,所述以待执行工作任务为节点,依据待执行工作任务的执行顺序构建节点之间的边,包括:对于任一待执行工作任务,若该待执行工作任务在不同条件下,分别指向指定前置待执行任务和指定后置待执行任务,则在该待执行工作任务对应的节点与该指定前置待执行任务对应的节点之间构建回溯边,并在该待执行工作任务对应的节点与该指定后置执行任务对应的节点之间构建前向边;其中,回溯边不参与有向图的拓扑排序;所述按照拓扑顺序,依次执行各节点对应的待执行工作任务,包括:对于存在回溯边的节点,依据该节点对应的待执行任务的条件获取返回值;在返回值为第一值的情况下,将该节点对应的待执行工作任务的执行结果数据传输至前向边指向的后置节点,并跳转至该后置节点;在返回值为非第一值的情况下,跳转至回溯边指向的前置节点。3.根据权利要求2所述的方法,其特征在于,所述按照拓扑顺序,依次执行各节点对应的待执行工作任务,还包括:对于任一节点,若该节点对应的待执行工作任务设置有终止条件,则在执行完该待执行工作任务,且终止条件满足的情况下,向以该节点为入节点的回溯边的出节点返回所述第一值;在执行完该待执行工作条件,且终止条件不满足的情况下,向以该节点为入节点的回溯边的出节点返回非第一值。4.根据权利要求1所述的方法,其特征在于,所述工作流配置文件还包括子图配置文件路径信息,以及子图节点的输入信息和子图节点的输出信息;所述方法还包括:构建子图节点,并依据所述子图节点的输入信息和子图节点的输出信息,确定子图节点在工作流对应的有向图中的相邻前置节点和相邻后置节点;所述子图节点记录了子图配置文件路径信息;所述按照拓扑顺序,依次执行各待执行工作任务,包括:对于子图节点,依据该子图节点记录的子图配置文件路径信息,获取子图配置文件;将该子图节点的相邻前置节点对应的待执行任务的执行结果数据作为子图的输入,执行子图,将子图的执行结果数据传输至该子图节点的相邻后置节点,并跳转至该子图节点的相邻后置节点。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在工作流执行异常的情况下,保存已得到的执行结果数据;在检测到针对该工作流的执行指令的情况下,依据所保存的执行结果数据,执行该工
作流。6.一种工作流执行装置,其特征在于,包括:获取单元,用于获取工作流配置文件,所述工作流配置文件包括待执行工作任务以及执行顺序;构图单元,用于解析所述工作流配置文件,以待执行工作任务为节点,依据待执行工作任务的执行顺序构建节点之间的边,得到工作流对应的有向图;执行单元,...
【专利技术属性】
技术研发人员:李鹏飞,
申请(专利权)人:上海高德威智能交通系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。