[发明专利]一种基于kettle的动态数据库连接和自动化数据同步方法在审
申请号: | 202110817026.5 | 申请日: | 2021-07-20 |
公开(公告)号: | CN113505168A | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 曹培;林永意;李淼淼 | 申请(专利权)人: | 南京工业职业技术大学 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27 |
代理公司: | 芜湖思诚知识产权代理有限公司 34138 | 代理人: | 项磊 |
地址: | 210001 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kettle 动态 数据库连接 自动化 数据 同步 方法 | ||
本发明公开一种基于kettle的动态数据库连接和自动化数据同步方法,涉及数据集成技术领域,包括步骤一、为kettle作业新建共享的DB连接信息,步骤二、设计元数据文件,描述数据分层后不同数据源环境与数据库连接信息映射关系,步骤三、数据传递,步骤四、使用Jenkins实现数据流程自动化,可实现使用kettle工具进行ETL数据同步过程中的数据库连接配置动态切换和整个ETL流程的自动化,具有操作简单、准确率高、速度快、可移植性强等特点。
技术领域
本发明涉及数据集成技术领域,具体涉及一种基于kettle的动态数据库连接和自动化数据同步方法。
背景技术
Kettle是一种数据ETL工具,可以把数据从一个数据库系统同步到另外一个数据库系统中,本质上是数据清洗和迁移工具,但是缺乏动态数据库连接和自动化数据同步的手段。
发明内容
本发明的目的在于提供一种基于kettle的动态数据库连接和自动化数据同步方法,可实现使用kettle工具进行ETL数据同步过程中的数据库连接配置动态切换和整个ETL流程的自动化,具有操作简单、准确率高、速度快、可移植性强等特点。
一种基于kettle的动态数据库连接和自动化数据同步方法,包括如下步骤:
步骤一、为kettle作业新建共享的DB连接信息,
导入或打开kettle一个作业,在作业的菜单导航栏下,新建抽象的数据源层、数据中间层、数据目标层以及DB连接信息,输入数据库连接属性并使用变量定义,共享该DB连接信息;
步骤二、设计元数据文件,描述数据分层后不同数据源环境与数据库连接信息映射关系,
使用Json格式的数据描述数据层、应用环境、数据库连接实例信息之间的层级;
步骤三、数据传递,
根据元数据文件描述,将三个参数传递到Python程序,程序将这三个参数按照层级解析后,获取本次ETL数据同步的数据源、数据中间层、数据目标层连信息后,生成连接属性KEY/VALUE并写入user_home/.kettle/kettle.properties配置文件,从而完成数据库连接信息的切换步骤;share.xml中定义的变量将根据KEY值从该文件中获取VALUE;
步骤四、使用Jenkins实现数据流程自动化,
建立ETL流程JenkinsPipeline,在Pipeline中建立GitcheckoutStage 1,SwitchEnvstage 2,Migration stage 3,在Jenkins中完成作业的数据源动态切换,数据源切换,自动化调度作业。
优选的,所述步骤一中,所有新建的共享DB连接信息存放在user_home/.kettle/share.xml文件中。
优选的,所述步骤二中,所述层级的关系为:层级一-层级二-层级三,其中层级一为数据层名称,层级二为本层下的应用环境,层级三为数据库连接实例信息。
优选的,所述步骤三中,share.xml中定义的变量将根据KEY值从该文件中获取VALUE。
优选的,所述步骤四中,具体操作如下:
Stage 1:获取最新的ETLJOB作业和Python脚本源程序;
Stage 2:执行Python程序,根据参数解析元数据描述文件,向kettle.properties配置文件写入本次同步的环境信息;
Stage 3:调用kitchen脚本文件(.bat/.sh),执行kettle作业文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京工业职业技术大学,未经南京工业职业技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110817026.5/2.html,转载请声明来源钻瓜专利网。