[发明专利]一种将DAG图数据转换为工作流引擎调度文件的方法在审
申请号: | 202010214907.3 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111597143A | 公开(公告)日: | 2020-08-28 |
发明(设计)人: | 郑焕波;华洁;刘钊岐;李少利;赵政康;张惠根 | 申请(专利权)人: | 中电海康集团有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06Q10/10 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨天娇 |
地址: | 311121 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dag 数据 转换 工作流 引擎 调度 文件 方法 | ||
1.一种将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述将DAG图数据转换为工作流引擎调度文件的方法,包括:
步骤S1、获取待转换的DAG图数据,识别DAG图数据的文件类型;
步骤S2、根据所述文件类型解析DAG图数据,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;
步骤S3、根据工作流引擎定义执行引擎节点类信息的格式,根据定义的格式将所获取的节点类实例转换为执行引擎节点类实例,并根据节点之间的连线以及连线方向的类实例生成执行引擎节点的输入输出信息和前后依赖节点信息;
步骤S4、根据执行引擎节点的前后依赖节点信息,对执行引擎节点类实例进行有序编排;
步骤S5、根据工作流引擎所需调度文件的格式以及文件类型,将有序编排的执行引擎节点类实例以及前后依赖节点信息按照调度文件的格式持久化至文件中,输出与工作流引擎所需的文件类型对应的工作流引擎调度文件。
2.如权利要求1所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述工作流引擎包括oozie工作流引擎、azkaban工作流引擎,所述oozie工作流引擎对应的调度文件为oozie workflow.xml,所述azkaban工作流引擎的调度文件为azkaban flow。
3.如权利要求2所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述DAG图数据转换为oozie工作流引擎的调度文件oozie workflow.xml的过程包括:
a、获取待转换的DAG图数据;
b、继承预定义的节点以及连接线的抽象类,根据oozie的workflow.xml中action节点及其属性信息,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;
c、继承实现预定义的节点转换接口中的方法,将解析DAG图数据获取的节点类实例,转换成oozie工作流引擎中action节点对应的节点属性,同时按照DAG图数据中任务节点端口三级规则组成输出地址,加入节点属性,同时根据DAG图数据中节点的连接关系,生成节点输入地址以及各节点的前后节点属性信息;
d、继承实现预定义的任务编排接口中的方法,在出度大于1的地方插入oozie工作流引擎的fork-join控制节点达到并发执行,之后插入start、end、fail控制节点,得到任务信息;
e、继承实现接口及抽象类的预定义的文件输出方法,实现写workflow.xml文件功能,按照文件中的布局信息,将任务信息输出到文件的workflow中,之后将节点类的属性信息输出到文件的task中,得到工作流引擎调度文件。
4.如权利要求3所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述在出度大于1的地方插入oozie工作流引擎的fork-join控制节点达到并发执行,之后插入start、end、fail控制节点,得到任务信息,包括:
d1、找出入度为零的节点,创建start控制节点,建立start控制节点与入度为零的所有节点的前后输出连接关系,将start控制节点作为当前节点;
d2、取消当前节点的所有节点连接关系,将当前节点的所有输出节点中入度为0的节点取出;
d3、取出的节点个数如果大于1,则创建oozie工作流引擎的fork-join控制节点,将当前节点与fork控制节点建立前后输出关系,将fork控制节点与当前节点的所有输出节点建立前后输出关系;同时将当前节点的所有输出节点与join控制节点建立前后输出关系,将join控制节点与当前节点的所有输出节点的建立前后输出关系;最后将join控制节点作为当前节点,返回步骤d2重新开始执行;
d4、取出的节点个数如果等于1,则将当前节点的下一个节点作为当前节点,返回步骤d2重新开始执行;
d5、取出的节点个数如果等于0,则表示执行完成,创建出end控制节点以及fail控制节点,创建当前节点与end控制节点的前后输出连接,完成节点编排。
5.如权利要求2所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述DAG图数据转换为azkaban工作流引擎的调度文件azkaban flow的过程包括:
a、获取待转换的DAG图数据;
b、继承预定义的节点以及连接线的抽象类,根据azkaban flow中node节点及其属性信息,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;
c、继承实现预定义的节点转换接口中的方法,将解析DAG图数据获取的节点类实例,转换成azkaban工作流引擎中node节点对应的节点属性,同时按照DAG图数据中任务节点端口三级规则组成输出地址,加入节点属性,同时根据DAG图数据中节点的连接关系,生成节点输入地址以及各节点的前后节点属性信息;
d、继承实现预定义的任务编排接口中的方法,直接返回节点转换后得到的各节点的前后节点属性信息,得到任务信息;
e、继承实现接口及抽象类的预定义的文件输出方法,实现写flow文件功能,按照文件中的布局信息,将任务信息输出到文件的config中,之后将节点类的属性信息输出到文件的nodes下边的node标签中,得到工作流引擎调度文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电海康集团有限公司,未经中电海康集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010214907.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置