快速批量执行数据仓库工作流的方法、系统及存储介质与流程

专利2026-08-22  11


本发明涉及数据仓库调度,尤其涉及一种快速批量执行数据仓库工作流的方法、系统及存储介质。


背景技术:

1、随着大数据时代的到来,数据仓库系统已成为企业决策支持和业务洞察的重要基础架构。数据仓库系统的建设需要完成大量的数据抽取、数据转换、数据加载等任务,而这些任务之间通常存在复杂的依赖关系,需要通过任务调度来实现自动化执行与协调。随着大数据技术的发展,通常会选择apache dolphinscheduler作为任务调度系统,它是一个分布式易扩展的可视化dag工作流任务调度开源系统,适用于企业级场景,其提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。

2、apache dolphinscheduler每天会调度大量数据仓库任务,每一个任务对应一个工作流,并且工作流之间还存在复杂的依赖关系。当一个工作流a执行的数据有问题时,依赖它的工作流b执行的数据也会出现异常,同理,依赖工作流b的工作流c执行的数据也会出现异常,以此类推,后面所有有直接或间接依赖工作流c的也会出现异常,直到最后一个工作流。

3、而如果想修复工作流a,以及影响的所有下游工作流,由于工作流之间存在依赖关系,必须按照依赖顺序先后顺序执行所有的工作流,目前的方式只能通过人工方法找出依赖关系,并根据依赖的先后顺序逐个手工重新执行工作流,存在执行效率差、花费人工成本高,且容易产生遗漏,进而影响数据仓库数据的准确性的问题。


技术实现思路

1、本发明的目的是提供一种快速批量执行数据仓库工作流的方法、系统及存储介质,该方法通过分析工作流的依赖关系,并利用neo4j图数据库存储,再通过查询图数据库中的节点,找出所有下游工作流,最后调用apache dolphinscheduler api自动化按顺序重新执行工作流,提高了执行效率,也保证了工作流执行的准确性。

2、为实现上述目的,采用以下技术方案:

3、一种快速批量执行数据仓库工作流的方法,包括如下步骤:

4、s1:解析apache dolphinscheduler,得到所有工作流之间的依赖关系;

5、s2:将s1得到的所有工作流之间的依赖关系,存储于neo4j图数据库中;

6、s3:输入需要批量执行的所有工作流的名称,在neo4j图数据库中,查询每一要执行的工作流对应的所有下游工作流的节点;

7、s4:基于下游工作流的节点,确定所有下游工作流的名称与层级;

8、s5:基于下游工作流的层级顺序,调用dolphinscheduler api,批量执行对应层级的工作流,直至所有下游工作流执行完成。

9、进一步的,所述s1中,是通过扫描apache dolphinscheduler的元数据库的t_ds_process_task_relation表,得到所有工作流之间的依赖关系。

10、进一步的,在所述neo4j图数据库中,节点存储工作流名称,关系指向依赖的工作流。

11、进一步的,所述s3具体包括如下步骤:

12、s31:输入需要批量执行的所有工作流ai,其中,i=1,2,3,…,n;

13、s32:在neo4j图数据库中,查询每一工作流对应的节点na,并标层级为1;

14、s33:查询与节点na相连接的所有下游节点naj,并标层级为2,其中,j=1,2,3,…,n;

15、s34:以此类推,继续查询与每一节点naj相连接的所有下游节点,并依次标记层级,直至所有节点没有下游节点为止。

16、进一步的,所述s5中,是基于下游工作流名称以及层级,按照层级从小到大的顺序调用dolphinscheduler api,以批量执行对应层级的工作流。

17、一种快速批量执行数据仓库工作流的系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述的方法。

18、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行上述的方法。

19、采用上述方案,本发明的有益效果是:

20、1)本申请通过分析工作流的依赖关系,并利用neo4j图数据库存储,再通过查询图数据库中的节点,找出所有下游工作流,最后调用apache dolphinscheduler api自动化按顺序重新执行工作流,提高了执行效率,也保证了工作流执行的准确性。

21、2)本申请可以快速执行全部工作流,不再需要人工逐个点击执行,而且随着批量执行工作流的增多,人工参与的时间也不会增加,同时,也可以避免人工操作产生遗漏或者执行顺序不正确的情况,提高了工作流执行的准确性。



技术特征:

1.一种快速批量执行数据仓库工作流的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的快速批量执行数据仓库工作流的方法,其特征在于,所述s1中,是通过扫描apache dolphinscheduler的元数据库的t_ds_process_task_relation表,得到所有工作流之间的依赖关系。

3.根据权利要求1所述的快速批量执行数据仓库工作流的方法,其特征在于,在所述neo4j图数据库中,节点存储工作流名称,关系指向依赖的工作流。

4.根据权利要求1所述的快速批量执行数据仓库工作流的方法,其特征在于,所述s3具体包括如下步骤:

5.根据权利要求1所述的快速批量执行数据仓库工作流的方法,其特征在于,所述s5中,是基于下游工作流名称以及层级,按照层级从小到大的顺序调用dolphinschedulerapi,以批量执行对应层级的工作流。

6.一种快速批量执行数据仓库工作流的系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现如权利要求1至5中任一项所述的方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至5任意一项所述的方法。


技术总结
本发明公开一种快速批量执行数据仓库工作流的方法,包括如下步骤:S1:解析Apache DolphinScheduler,得到所有工作流之间的依赖关系;S2:将S1得到的所有工作流之间的依赖关系,存储于Neo4j图数据库中;S3:输入需要批量执行的所有工作流的名称,在Neo4j图数据库中,查询每一要执行的工作流对应的所有下游工作流的节点;S4:基于下游工作流的节点,确定所有下游工作流的名称与层级。本发明可以快速执行全部工作流,不再需要人工逐个点击执行,同时,也可以避免人工操作产生遗漏或者执行顺序不正确的情况,提高了工作流执行的准确性。

技术研发人员:徐涛,单新宁
受保护的技术使用者:深圳市丰宜科技有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1833296.html

最新回复(0)