CN114356430A - 一种基于airflow调度系统的DAG依赖配置工具 - Google Patents
一种基于airflow调度系统的DAG依赖配置工具 Download PDFInfo
- 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
Links
- 238000009877 rendering Methods 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 23
- 238000013524 data verification Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 238000013515 script Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims 4
- 230000001419 dependent effect Effects 0.000 claims 3
- 238000012545 processing Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
技术领域
本发明属于信息技术领域,具体涉及一种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}
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}
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或""),该键不会采纳。
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进行数据库升级。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117909313A (zh) * | 2024-03-19 | 2024-04-19 | 成都融见软件科技有限公司 | 设计代码数据的分布式存储方法、电子设备和介质 |
Citations (5)
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工作流任务调度系统及其运行方法 |
-
2021
- 2021-09-24 CN CN202111122254.7A patent/CN114356430B/zh active Active
Patent Citations (5)
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)
Title |
---|
李凡;李梦;李京;: "基于模型的Web页面自动生成系统PAGS", 计算机工程与应用, no. 27 * |
Cited By (2)
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 |