功能需求背景
由于信创(信息技术应用创新产业)改造要求,上个月已将从数据仓库推送下游官网系统的ORACLE
数据库相关数据推送任务迁移到信创人大金仓临时数据库,整体任务完成切换上线并试运行稳定。
由于年底需要进行信创数据库的正式上线,目前需要将人大金仓临时数据库切换到生产环境的人大金仓正式数据库,两者的区别仅仅在于数据库的IP和端口不同。
因为推送信创官网的表数据相关任务分散在 Apache DolphinScheduler (以下简称海豚调度)系统各个工作流之中,如何找到所有的推送任务并进行切换,保证所有的推送任务都能够完整覆盖是本次功能实现的难点。
方案设计
本次功能实现的方案设计方案如下图所示:
首先,通过海豚调度元数据中工作流定义相关表找到推送官网的相关工作流任务,梳理出相关工作流和子工作流,并通过工作流及子工作流找到对应的推送任务;
然后,通过解析DATAX推送任务JSON配置文件找到该任务对应推送目标表并整理出目标表清单,让下游系统(即官网系统)负责人确认梳理出的推送任务是否包括所有推送表;
接着,将之前完成配置并上线的工作流及子工作流导出并在开发环境进行配置,修改推送下游系统(即官网系统)的数据库连接信息,完成配置后上线并执行一次推送任务,当所有推送任务