CN114356430A - 一种基于airflow调度系统的DAG依赖配置工具 - Google Patents

一种基于airflow调度系统的DAG依赖配置工具 Download PDF

Info

Publication number
CN114356430A
CN114356430A CN202111122254.7A CN202111122254A CN114356430A CN 114356430 A CN114356430 A CN 114356430A CN 202111122254 A CN202111122254 A CN 202111122254A CN 114356430 A CN114356430 A CN 114356430A
Authority
CN
China
Prior art keywords
configuration
node
graph
dag
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111122254.7A
Other languages
English (en)
Other versions
CN114356430B (zh
Inventor
陈灿
王一君
陈佳慧
王光华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Lanzhong Data Technology Co ltd
Original Assignee
Hangzhou Lanzhong Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Lanzhong Data Technology Co ltd filed Critical Hangzhou Lanzhong Data Technology Co ltd
Priority to CN202111122254.7A priority Critical patent/CN114356430B/zh
Publication of CN114356430A publication Critical patent/CN114356430A/zh
Application granted granted Critical
Publication of CN114356430B publication Critical patent/CN114356430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于airflow调度系统的DAG依赖配置工具。本发明包括DAG图渲染模块、DAG图数据格式检查模块、DAG图编辑模块、后台接口管理模块以及其他功能模块。DAG图数据格式检查模块用于检查用户输入的配置数据,是否满足定义规则,是否为所支持的类型。其中支持的类型,可以根据实际使用场景进行动态扩展。DAG图编辑模块包括图和全局配置页面、主机配置页面、点配置页面、边配置页面、点校验配置页面。后台接口管理模块包括DAG图数据的新增、编辑、删除、查询等功能。本发明的目的是提供一种操作方便,配置灵活的DAG配置工具,将原先复杂的通过代码书写DAG定义的方式,优化为常见的表格化页面,为不懂技术的使用人群提供便利。

Description

一种基于airflow调度系统的DAG依赖配置工具
技术领域
本发明属于信息技术领域,具体涉及一种DAG依赖关系的页面配置工具,及airflow的一些增强功能。
背景技术
21世纪以来,我国的科技不断发展进步,互联网的出现产生了大量的数据信息,人类已进入“大数据”时代。在这样一个时代背景下,依靠大数据展开的数据挖掘、机器学习等算法应用于各行各业,那么各个数据、算法逻辑之间的调用关系及调用时间点等存在着紧密的关系。传统的通过crontab等计算机系统自带的定时工具已无法满足需求,并严重影响生产效率,于是出现了一些调度系统,但是这些调度系统往往需要使用人员要有较高的软件开发能力才能很好定义调度依赖。那么如何快速的定义调度中的任务以及各个任务之间的关系显得尤为重要。调度系统实际使用者往往并不是开发人员,而是数据分析师、项目经理等非软件开发人员,所以降低使用者的技术门槛也很显得非常迫切。
发明内容
基于airflow调度系统使用门槛高的现状,结合使用人群包含非技术人员等特点,本发明的目的是提供一种操作方便,配置灵活的 DAG配置工具,将原先复杂的通过代码书写DAG定义的方式,优化为常见的表格化页面,为不懂技术的使用人群提供便利。
本发明解决其技术问题所采用的技术方案如下:
一种基于airflow调度系统的DAG依赖配置工具,包括DAG图渲染模块、DAG图数据格式检查模块、DAG图编辑模块、数据结果校验模块和DAG图的多版本管理模块。
DAG图数据格式检查模块用于检查用户输入的配置数据,是否满足定义规则,是否为所支持的类型。其中支持的类型可以根据实际使用场景进行动态扩展。
DAG图编辑模块包括图和全局配置页面、主机配置页面、点配置页面、边配置页面、点校验配置页面;页面配置流程如下:
步骤1:创建DAG图Ⅰ。在“图和全局配置”页面新增图Ⅰ,配置图信息,具体包括租户ID、图名称、执行超时时间、任务开始时间。
步骤2:配置主机信息。在“主机配置页面”填写任务标签(即后续在步骤3中录入任务时,选择的主机标签,即使用该主机执行节点的调度任务)、主机IP、主机账号、主机密码和主机指令路径。
步骤3:配置节点信息。在“节点”(即一个调度任务,下同) 配置页面配置该点所属图的名称、节点的名称、节点的任务类型(根据使用场景可分为python、bash、dummy、ssh、success_email等,有其他需要可进行扩展)、节点的任务标签(即与步骤2的任务标签相对应)、节点的实例化参数、节点的执行超时阈值。
步骤4:配置边信息。“边”即任务与任务之间的一条有向的连线,用以表示两者间的执行顺序。在“边配置”页面通过填写边的入点名称和出点名称即可完成一条边的新增。
步骤5:配置节点的校验配置。输入校验任务名称、校验任务类型、校验任务标签、校验任务行为、校验任务实例化等。
数据结果校验模块实现了校验节点执行结果准确性的功能。该功能通过给每个节点附加一个或多个数据校验任务,为数仓或测试团队提供校验入口。如附图3所示,可以在图中的每个点后面添加与之对应的任务。比如给节点任务A添加了一个数据校验任务A',当节点任务A执行完毕后,会执行数据校验任务A'进行数据准确性检查。
数据校验任务按行为类型分为阻塞型和通知型:如图4所示,阻塞型数据检验任务A’在执行失败后不再往下执行,同时会发出警告通知;如图5所示通知型数据检验任务A’在执行失败后仍会继续往下执行,同时发出警告通知;
数据校验任务按调用方式类型分为脚本型和服务型:如图6所示,脚本型数据检验任务是指,校验任务为具体的某个脚本。如图7 所示,服务型数据校验任务是,校验任务为具体配置好的某个平台所提供的API服务。
DAG图渲染模块替换了airflow原有的定义有向无环图的代码, DAG图渲染模块具体实现如下:
步骤(1):从数据库中读取之前在页面配置的图信息、主机信息、点信息、边信息。
步骤(2):使用DAG图数据格式检查模块对步骤1)读取到的数据按照模块中定义好的规则进行校验,具体校验规则如下:
①图名称是否重复;
②主机信息是否符合规则,如ip、用户名、密码不能为空,任务标签是否在规定好的标签集合中;
③主机名称是否重复;
④节点名称是否重复;
⑤节点所引用主机信息是否有定义;
⑥边所定义的入点名称和出点名称是否都有定义;
⑦边名称是否重复;入点名称和出点名称组合后不能同时重复;
⑧所有的边合在一起是否成环。
步骤(3):规则校验通过后,根据节点的配置信息以及图的配置信息,确定单个节点的最终配置参数。其中节点的配置信息和图的配置信息关系如下:
设图的配置为{k1:v1,k2:v2,...,kn:vn}:
1)当节点的配置为NULL时,则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v2,...,kn:vn},即引用全局配置;
2)当节点的配置为{}时,则节点的配置信息和图的配置信息最终填充为{},即不引用全局配置
3)当节点的配置为{k1:NULL}或{k1:""},则节点的配置信息和图的配置信息最终填充为{k1:v1};由于NULL和”值视为空,但此时存在键k1,则表明需要引用该键k1的全局配置;
4)当节点的配置为{k2:v22},则节点的配置信息和图的配置信息最终填充为{k2:v22},即全局配置和具体配置都有时采用具体配置;节点的配置v22覆盖v2;
5)当节点的配置为{kx:vx},则节点的配置信息和图的配置信息最终填充为{kx:vx},即具体配置有,全局配置此时不影响具体配置;
6)当节点的配置为{k1:NULL,k2:v22,...,kn:vn},则则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v22,...,kn:vn}。
7){k4:NULL}或{k4:""}==>最终填充为{},即具体配置里出现全局不存在的键,但值为空(NULL或""),该键不会采纳。
步骤4:生成对应的任务执行命令
图渲染模块将根据任务类型的不同,构建不同的命令,其中 dummy类型定义为空节点,无执行命令。而其他的需要构建执行命令的点,其命令可以根据不同场景需要进行定制化处理。系统默认提供了一份灵活的命令模板:{env_vars}{exe}{exe_vars} {path}/{layer}/{name}.{tail}{vars}
Figure RE-GDA0003500047870000041
Figure RE-GDA0003500047870000051
DAG图的多版本管理模块实现流程如下:
如图1所示,本发明将调度系统拆分为调度中心及调度实例两个系统。调度中心负责调度实例不同版本的代码包的管理和不同的 DAG版本的管理。其管理流程如下:
(1)调度中心核心有如下5张表:
代码框架表、全依赖-图表、全依赖-点表、全依赖-边表、全依赖 -模块线表。
代码框架表:记录各个版本的调度实例代码包的具体目录位置。
全依赖-图表:记录各个版本的DAG图信息,以 all_relation_version字段区分不同版本。
全依赖-点表:记录各个版本的DAG图中各个节点的配置信息,其主键为node_id。
全依赖-边表:记录各个版本DAG图中点之间的依赖关系,即边的配置信息。以in_id与全依赖-点表node_id相对应的点为起点,以 out_id与全依赖-点表node_id相对应的点为终点。
(2)当调度依赖关系发生改变时,调度中心将新的依赖关系整理后确定为一个新的依赖版本,则在全依赖-图表中添加对应版本的一行数据,同时在全依赖-点表和全依赖-边表中记录点、边的依赖关系。
(3)当需要升级DAG图的依赖关系时,调度实例可根据 all_relation_version字段调用调度中心接口,获取点、边的依赖关系。
(4)当调度实例发生版本迭代时,将迭代后调度实例的实例代码包压缩为instane.zip,保存在调度中心的dbs/instance_zip/版本号 /instance.zip下,如:dbs/instance_zip/1.3.0/instance.zip。
(5)当需要创建、升级某个调度实例时,调度实例可根据 all_relation_version字段调用调度中心接口,获取实例代码包。并调用实例的scripts/updates/老版本号_to_新版本号_trans_data.py进行数据库升级,如:1_2_0_to_1_3_0_trans_data.py。
进一步的,本发明还设置有后台接口管理模块,包括DAG图数据的新增、编辑、删除、查询等功能。
本发明有益效果如下:
(1)本发明是针对airflow调度系统开发的一个配置工具,方便用户快速查看和编辑调度系统的调度关系;
(2)操作简单,无需具备特定的开发专业的知识和airflow提供的特定语法知识,只要通过页面操作就可以达到调度系统依赖关系的配置;
(3)高度可配置化,系统提供了一个可以高度可配置的方案。支持全局配置,单点配置。且为任务的执行命令提供了一套非常通用的模板方案。
(4)提供个性化定制功能,系统提供了多处可扩展的接口。
(5)提供调度中心管理实例的管理,可快速创建、升级调度实例。
附图说明
图1是本发明调度中心程序结构示意图;
图2是本发明调度实例程序结构示意图;
图3是本发明节点校验示意图;
图4是本发明阻塞型示意图;
图5是本发明通知型示意图;
图6是本发明脚本型示意图;
图7是本发明服务型示意图。
具体实施方式
本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方案实施本发明。因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护范围。
一种基于airflow调度系统的DAG依赖配置工具,包括DAG图渲染模块、DAG图数据格式检查模块、DAG图编辑模块、数据结果校验模块和DAG图的多版本管理模块。
DAG图数据格式检查模块用于检查用户输入的配置数据,是否满足定义规则,是否为所支持的类型。其中支持的类型可以根据实际使用场景进行动态扩展。
DAG图编辑模块包括图和全局配置页面、主机配置页面、点配置页面、边配置页面、点校验配置页面;页面配置流程如下:
步骤1:创建DAG图Ⅰ。在“图和全局配置”页面新增图Ⅰ,配置图信息,具体包括租户ID、图名称、执行超时时间、任务开始时间。
步骤2:配置主机信息。在“主机配置页面”填写任务标签(即后续在步骤3中录入任务时,选择的主机标签,即使用该主机执行节点的调度任务)、主机IP、主机账号、主机密码和主机指令路径。
步骤3:配置节点信息。在“节点”(即一个调度任务,下同) 配置页面配置该点所属图的名称、节点的名称、节点的任务类型(根据使用场景可分为python、bash、dummy、ssh、success_email等,有其他需要可进行扩展)、节点的任务标签(即与步骤2的任务标签相对应)、节点的实例化参数、节点的执行超时阈值。
步骤4:配置边信息。“边”即任务与任务之间的一条有向的连线,用以表示两者间的执行顺序。在“边配置”页面通过填写边的入点名称和出点名称即可完成一条边的新增。
步骤5:配置节点的校验配置。输入校验任务名称、校验任务类型、校验任务标签、校验任务行为、校验任务实例化等。
数据结果校验模块实现了校验节点执行结果准确性的功能。该功能通过给每个节点附加一个或多个数据校验任务,为数仓或测试团队提供校验入口。如附图3所示,可以在图中的每个点后面添加与之对应的任务。比如给节点任务A添加了一个数据校验任务A',当节点任务A执行完毕后,会执行数据校验任务A'进行数据准确性检查。
数据校验任务按行为类型分为阻塞型和通知型:如图4所示,阻塞型数据检验任务A’在执行失败后不再往下执行,同时会发出警告通知;如图5所示通知型数据检验任务A’在执行失败后仍会继续往下执行,同时发出警告通知;
数据校验任务按调用方式类型分为脚本型和服务型:如图6所示,脚本型数据检验任务是指,校验任务为具体的某个脚本。如图7 所示,服务型数据校验任务是,校验任务为具体配置好的某个平台所提供的API服务。
DAG图渲染模块替换了airflow原有的定义有向无环图的代码, DAG图渲染模块具体实现如下:
步骤(1):从数据库中读取之前在页面配置的图信息、主机信息、点信息、边信息。
步骤(2):使用DAG图数据格式检查模块对步骤1)读取到的数据按照模块中定义好的规则进行校验,具体校验规则如下:
①图名称是否重复;
②主机信息是否符合规则,如ip、用户名、密码不能为空,任务标签是否在规定好的标签集合中;
③主机名称是否重复;
④节点名称是否重复;
⑤节点所引用主机信息是否有定义;
⑥边所定义的入点名称和出点名称是否都有定义;
⑦边名称是否重复;入点名称和出点名称组合后不能同时重复;
⑧所有的边合在一起是否成环。
步骤(3):规则校验通过后,根据节点的配置信息以及图的配置信息,确定单个节点的最终配置参数。其中节点的配置信息和图的配置信息关系如下:
设图的配置为{k1:v1,k2:v2,...,kn:vn}:
1)当节点的配置为NULL时,则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v2,...,kn:vn},即引用全局配置;
2)当节点的配置为{}时,则节点的配置信息和图的配置信息最终填充为{},即不引用全局配置
3)当节点的配置为{k1:NULL}或{k1:""},则节点的配置信息和图的配置信息最终填充为{k1:v1};由于NULL和”值视为空,但此时存在键k1,则表明需要引用该键k1的全局配置;
4)当节点的配置为{k2:v22},则节点的配置信息和图的配置信息最终填充为{k2:v22},即全局配置和具体配置都有时采用具体配置;节点的配置v22覆盖v2;
5)当节点的配置为{kx:vx},则节点的配置信息和图的配置信息最终填充为{kx:vx},即具体配置有,全局配置此时不影响具体配置;
6)当节点的配置为{k1:NULL,k2:v22,...,kn:vn},则则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v22,...,kn:vn}。
7){k4:NULL}或{k4:""}==>最终填充为{},即具体配置里出现全局不存在的键,但值为空(NULL或""),该键不会采纳。
步骤4:生成对应的任务执行命令
图渲染模块将根据任务类型的不同,构建不同的命令,其中 dummy类型定义为空节点,无执行命令。而其他的需要构建执行命令的点,其命令可以根据不同场景需要进行定制化处理。系统默认提供了一份灵活的命令模板:{env_vars}{exe}{exe_vars} {path}/{layer}/{name}.{tail}{vars}
Figure RE-GDA0003500047870000091
Figure RE-GDA0003500047870000101
DAG图的多版本管理模块实现流程如下:
如图1所示,本发明将调度系统拆分为调度中心及调度实例两个系统。调度中心负责调度实例不同版本的代码包的管理和不同的DAG版本的管理。其管理流程如下:
(1)调度中心核心有如下5张表:
代码框架表、全依赖-图表、全依赖-点表、全依赖-边表、全依赖 -模块线表。
代码框架表:记录各个版本的调度实例代码包的具体目录位置。
全依赖-图表:记录各个版本的DAG图信息,以 all_relation_version字段区分不同版本。
全依赖-点表:记录各个版本的DAG图中各个节点的配置信息,其主键为node_id。
全依赖-边表:记录各个版本DAG图中点之间的依赖关系,即边的配置信息。以in_id与全依赖-点表node_id相对应的点为起点,以 out_id与全依赖-点表node_id相对应的点为终点。
(2)当调度依赖关系发生改变时,调度中心将新的依赖关系整理后确定为一个新的依赖版本,则在全依赖-图表中添加对应版本的一行数据,同时在全依赖-点表和全依赖-边表中记录点、边的依赖关系。
(3)当需要升级DAG图的依赖关系时,调度实例可根据 all_relation_version字段调用调度中心接口,获取点、边的依赖关系。
(4)当调度实例发生版本迭代时,将迭代后调度实例的实例代码包压缩为instane.zip,保存在调度中心的dbs/instance_zip/版本号/instance.zip下,如:dbs/instance_zip/1.3.0/instance.zip。
(5)当需要创建、升级某个调度实例时,调度实例可根据 all_relation_version字段调用调度中心接口,获取实例代码包。并调用实例的scripts/updates/老版本号_to_新版本号_trans_data.py进行数据库升级,如:1_2_0_to_1_3_0_trans_data.py。

Claims (7)

1.一种基于airflow调度系统的DAG依赖配置工具,其特征在于包括DAG图渲染模块、DAG图数据格式检查模块、DAG图编辑模块、数据结果校验模块、后台接口管理模块和DAG图的多版本管理模块;
DAG图数据格式检查模块用于检查用户输入的配置数据,是否满足定义规则,是否为所支持的类型;其中支持的类型能够根据实际使用场景进行动态扩展;
DAG图编辑模块包括图和全局配置页面、主机配置页面、点配置页面、边配置页面、点校验配置页面;
数据结果校验模块实现了校验节点执行结果准确性的功能;该功能通过给每个节点附加一个或多个数据校验任务,为数仓或测试团队提供校验入口。
2.根据权利要求1所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于DAG图编辑模块中页面配置流程实现如下:
步骤1:创建DAG图Ⅰ;在“图和全局配置”页面新增图Ⅰ,配置图信息,具体包括租户ID、图名称、执行超时时间、任务开始时间;
步骤2:配置主机信息;在“主机配置页面”填写任务标签、主机IP、主机账号、主机密码和主机指令路径;
步骤3:配置节点信息;在“节点”配置页面配置该点所属图的名称、节点的名称、节点的任务类型、节点的任务标签、节点的实例化参数、节点的执行超时阈值;
步骤4:配置边信息;“边”即任务与任务之间的一条有向的连线,用以表示两者间的执行顺序;在“边配置”页面通过填写边的入点名称和出点名称即可完成一条边的新增;
步骤5:配置节点的校验配置;输入校验任务名称、校验任务类型、校验任务标签、校验任务行为、校验任务实例化。
3.根据权利要求2所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于数据结果校验模块具体流程实现如下:
在图中的每个节点后面添加与之对应的任务,设节点任务A添加了一个数据校验任务A',当节点任务A执行完毕后,会执行数据校验任务A'进行数据准确性检查;
数据校验任务按行为类型分为阻塞型和通知型:阻塞型数据检验任务A’在执行失败后不再往下执行,同时会发出警告通知;通知型数据检验任务A’在执行失败后仍会继续往下执行,同时发出警告通知;
数据校验任务按调用方式类型分为脚本型和服务型:脚本型数据检验任务是指,校验任务为具体的某个脚本;服务型数据校验任务是,校验任务为具体配置好的某个平台所提供的API服务。
4.根据权利要求3所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于DAG图渲染模块具体流程实现如下:
步骤(1):从数据库中读取之前在页面配置的图信息、主机信息、点信息、边信息;
步骤(2):使用DAG图数据格式检查模块对步骤(1)读取到的数据按照模块中定义好的规则进行校验,具体校验规则如下:
①图名称是否重复;
②主机信息是否符合规则,如ip、用户名、密码不能为空,任务标签是否在规定好的标签集合中;
③主机名称是否重复;
④节点名称是否重复;
⑤节点所引用主机信息是否有定义;
⑥边所定义的入点名称和出点名称是否都有定义;
⑦边名称是否重复;入点名称和出点名称组合后不能同时重复;
⑧所有的边合在一起是否成环;
步骤(3):规则校验通过后,根据节点的配置信息以及图的配置信息,确定单个节点的最终配置参数;
步骤(4):生成对应的任务执行命令。
5.根据权利要求4所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于节点的配置信息和图的配置信息关系如下:
设图的配置为{k1:v1,k2:v2,...,kn:vn}:
1)当节点的配置为NULL时,则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v2,...,kn:vn},即引用全局配置;
2)当节点的配置为{}时,则节点的配置信息和图的配置信息最终填充为{},即不引用全局配置
3)当节点的配置为{k1:NULL}或{k1:""},则节点的配置信息和图的配置信息最终填充为{k1:v1};由于NULL和”值视为空,但此时存在键k1,则表明需要引用该键k1的全局配置;
4)当节点的配置为{k2:v22},则节点的配置信息和图的配置信息最终填充为{k2:v22},即全局配置和具体配置都有时采用具体配置;节点的配置v22覆盖v2;
5)当节点的配置为{kx:vx},则节点的配置信息和图的配置信息最终填充为{kx:vx},即具体配置有,全局配置此时不影响具体配置;
6)当节点的配置为{k1:NULL,k2:v22,...,kn:vn},则则节点的配置信息和图的配置信息最终填充为{k1:v1,k2:v22,...,kn:vn};
7){k4:NULL}或{k4:""}==>最终填充为{},即具体配置里出现全局不存在的键,但值为空(NULL或""),该键不会采纳。
6.根据权利要求5所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于DAG图渲染模块根据任务类型的不同,构建不同的命令,其中dummy类型定义为空节点,无执行命令;而其他的需要构建执行命令的点,其命令根据不同场景需要进行定制化处理;系统默认提供了一份灵活的命令模板:{env_vars}{exe}{exe_vars}{path}/{layer}/{name}.{tail}{vars}
Figure FDA0003277692080000031
Figure FDA0003277692080000041
7.根据权利要求6所述的一种基于airflow调度系统的DAG依赖配置工具,其特征在于DAG图的多版本管理模块实现流程如下:
将调度系统拆分为调度中心及调度实例两个系统;调度中心负责调度实例不同版本的代码包的管理和不同的DAG版本的管理;其管理流程如下:
(1)调度中心核心有如下5张表:代码框架表、全依赖-图表、全依赖-点表、全依赖-边表、全依赖-模块线表;
代码框架表:记录各个版本的调度实例代码包的具体目录位置;
全依赖-图表:记录各个版本的DAG图信息,以all_relation_version字段区分不同版本;
全依赖-点表:记录各个版本的DAG图中各个节点的配置信息,其主键为node_id;
全依赖-边表:记录各个版本DAG图中点之间的依赖关系,即边的配置信息;以in_id与全依赖-点表node_id相对应的点为起点,以out_id与全依赖-点表node_id相对应的点为终点;
(2)当调度依赖关系发生改变时,调度中心将新的依赖关系整理后确定为一个新的依赖版本,则在全依赖-图表中添加对应版本的一行数据,同时在全依赖-点表和全依赖-边表中记录点、边的依赖关系;
(3)当需要升级DAG图的依赖关系时,调度实例可根据all_relation_version字段调用调度中心接口,获取点、边的依赖关系;
(4)当调度实例发生版本迭代时,将迭代后调度实例的实例代码包压缩为instane.zip,保存在调度中心的dbs/instance_zip/版本号/instance.zip下,如:dbs/instance_zip/1.3.0/instance.zip;
(5)当需要创建、升级某个调度实例时,调度实例可根据all_relation_version字段调用调度中心接口,获取实例代码包;并调用实例的scripts/updates/老版本号_to_新版本号_trans_data.py进行数据库升级。
CN202111122254.7A 2021-09-24 2021-09-24 一种基于airflow调度系统的DAG依赖配置工具 Active CN114356430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111122254.7A CN114356430B (zh) 2021-09-24 2021-09-24 一种基于airflow调度系统的DAG依赖配置工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111122254.7A CN114356430B (zh) 2021-09-24 2021-09-24 一种基于airflow调度系统的DAG依赖配置工具

Publications (2)

Publication Number Publication Date
CN114356430A true CN114356430A (zh) 2022-04-15
CN114356430B CN114356430B (zh) 2023-12-29

Family

ID=81095415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111122254.7A Active CN114356430B (zh) 2021-09-24 2021-09-24 一种基于airflow调度系统的DAG依赖配置工具

Country Status (1)

Country Link
CN (1) CN114356430B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117909313A (zh) * 2024-03-19 2024-04-19 成都融见软件科技有限公司 设计代码数据的分布式存储方法、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180246988A1 (en) * 2014-04-09 2018-08-30 Introspective Systems LLC Executable graph framework for the management of complex systems
CN110069334A (zh) * 2019-05-05 2019-07-30 重庆天蓬网络有限公司 一种基于包管理的分布式数据作业调度的方法和系统
WO2020139861A1 (en) * 2018-12-24 2020-07-02 Roam Analytics, Inc. Constructing a knowledge graph employing multiple subgraphs and a linking layer including multiple linking nodes
CN111813417A (zh) * 2020-05-29 2020-10-23 杭州览众数据科技有限公司 基于数仓任务和模型任务的页面配置的任务调度方法
CN113254010A (zh) * 2021-07-09 2021-08-13 广州光点信息科技有限公司 一种可视化dag工作流任务调度系统及其运行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180246988A1 (en) * 2014-04-09 2018-08-30 Introspective Systems LLC Executable graph framework for the management of complex systems
WO2020139861A1 (en) * 2018-12-24 2020-07-02 Roam Analytics, Inc. Constructing a knowledge graph employing multiple subgraphs and a linking layer including multiple linking nodes
CN110069334A (zh) * 2019-05-05 2019-07-30 重庆天蓬网络有限公司 一种基于包管理的分布式数据作业调度的方法和系统
CN111813417A (zh) * 2020-05-29 2020-10-23 杭州览众数据科技有限公司 基于数仓任务和模型任务的页面配置的任务调度方法
CN113254010A (zh) * 2021-07-09 2021-08-13 广州光点信息科技有限公司 一种可视化dag工作流任务调度系统及其运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李凡;李梦;李京;: "基于模型的Web页面自动生成系统PAGS", 计算机工程与应用, no. 27 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117909313A (zh) * 2024-03-19 2024-04-19 成都融见软件科技有限公司 设计代码数据的分布式存储方法、电子设备和介质
CN117909313B (zh) * 2024-03-19 2024-05-14 成都融见软件科技有限公司 设计代码数据的分布式存储方法、电子设备和介质

Also Published As

Publication number Publication date
CN114356430B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN108647883B (zh) 一种业务审批方法、装置、设备及介质
EP2228726B1 (en) A method and system for task modeling of mobile phone applications
US20240045850A1 (en) Systems and methods for database orientation transformation
CN105700888A (zh) 一种基于jbpm工作流引擎的可视化快速开发平台
CN106293664A (zh) 代码生成方法及装置
CN101996131A (zh) 基于xml封装关键字的gui自动测试方法及自动测试平台
US20060020931A1 (en) Method and apparatus for managing complex processes
CN104778124A (zh) 一种软件应用自动化测试方法
CN110990274B (zh) 一种生成测试案例的数据处理方法、装置及系统
CN104991763A (zh) 一种通用的游戏界面行为控制系统
CN111104106A (zh) 集成业务流程与通讯报文的可视化开发方法、系统及介质
CN107766042A (zh) 一种基于csar的模型文件的可视化设计方法及装置
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
US20210365258A1 (en) Method and system for updating legacy software
US20090249312A1 (en) Process Generation Approach and System for an Integrated Telecom Platform
CN114356430B (zh) 一种基于airflow调度系统的DAG依赖配置工具
CN107766519B (zh) 一种可视化配置数据结构的方法
US20090024424A1 (en) System and method for dynamic linking of business processes
CN103593188A (zh) 一种用于仪器所见即所得菜单的管理系统及管理方法
CN112947896A (zh) 一种基于有向图的组件依赖分析方法
CN113010154B (zh) 基于动态加载的二级数据管理界面可视化开发配置方法
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
CN116627418A (zh) 一种基于递归算法的多级表单界面可视化生成方法及装置
CN110569187B (zh) 一种多平台系统应用的自动化测试方法、装置及设备
CN113867714A (zh) 一种适配多语言的自动代码生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant