[发明专利]一种将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标签中,得到工作流引擎调度文件。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电海康集团有限公司,未经中电海康集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010214907.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top