[发明专利]一种基于kettle和数据库日志的数据同步方法在审
申请号: | 202111157359.6 | 申请日: | 2021-09-30 |
公开(公告)号: | CN114036119A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 冯钧;魏大保;陆佳民 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F16/18 | 分类号: | G06F16/18;G06F16/23;G06F16/27 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 罗运红 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kettle 数据库 日志 数据 同步 方法 | ||
本发明公开了一种基于kettle和数据库日志的数据同步方法,包括以下步骤:确定数据源与目标数据库;确定数据同步方式即全量同步和增量同步;根据同步方式执行相应的数据同步操作。其中,全量同步包括:初始化kettle配置,清空目标数据库中的数据,获取各数据源处数据,将数据加载至目标数据库;增量同步包括:获取并解析源数据库日志文件得到数据库的详细操作序列等信息,更新同步时间戳记录表,过滤无关信息并抽取整合事务操作信息,将增量序列发送到Kafka消息中间件队列,转换数据格式并批量写入目标数据库。本发明可以指定多个数据来源,对数据进行动态更新,配置方便,更新速度较快。
技术领域
本发明属于计算机软件领域,具体的涉及一种基于kettle和数据库日志的数据同步方法。
背景技术
随着信息技术的不断发展,互联网行业来到了一个新的阶段,每时每刻都有大量数据产生,政府单位和企事业单位均部署了数据库管理系统。然而随着企业规模的扩大和业务发展,相关联的业务系统也逐渐增多,这些业务系统在运行时需要进行数据共享或集成到数据中心里,因此持续的数据同步就成了关联业务系统中必不可少的一部分。但业务系统使用的数据库系统之间架构和版本都可能存在差异,这造成了所存储的数据的异构问题,数据库成为了与其他数据库不能相互交流的数据孤岛。随着企业的扩张和业务的升级,部门之间相互协作,部门开发的业务系统经常性地会出现需要接入其他部门的业务系统的情况,现有的数据中心为了业务系统能够正常地对外提供服务,就必须要集成和同步异构的数据库系统,来保证业务数据的一致性。
目前使用较多的数据同步方案有数据库语句数据同步、应用程序之间的定时同步、通过系统间RPC调用等方法,数据库语句导入工作量大效率低,应用程序之间的同步则会限制应用之间的扩展,远程调用会加重服务器的压力,且集成相对复杂。还有采用一些Etl工具在本地做数据转换,有一个名为kettle的开源Etl工具,由纯Java编写,在数据抽取上具有高效、稳定的特点。利用kettle工具,可以任意指定多个源数据库之间的数据流转,可以显著提升数据同步效率。现在常用Kettle做数据同步,其也适用于多数据源的数据同步,解决大多数的多源数据更新效率较低,更新结构灵活性较差的问题。此外,针对不同类型、不同更新频率、不同数据源的数据,需要根据不同场景需求采用不同的数据同步方式,例如监测数据通常数据量大且更新频率较快,若采用全量迁移,则会耗时耗力,导致资源浪费,因此希望以增量的方式进行数据同步。同时,若数据源对已进行增量同步的数据进行了修改,会造成元数据和目标数据库的不一致,此时需要对修改过的数据进行识别并重新加载到目标库,对于海量数据而言实现难度大。数据库日志是保证数据库正常运行的一种机制,用户对数据库所有的改动信息都会被记录,包括对数据库对象的增删改的操作以及事务的开始和回滚。现有的变更数据捕获技术大多依赖数据库本身的体制,例如影子表法和触发器法,这都需要数据库花费额外的时间或空间去维护,也因此对数据库自身的正常运行影响较大。而基于日志解析的同步技术是独立于数据库进程的,它只需读取日志文件的增量数据,对数据库的影响最小。如今市场上大多数数据库都具备日志记录的功能,可以通过日志解析的手段获取用户对数据库的操作信息并将操作序列在目的数据库进行复现。
发明内容
发明目的:为了克服现有技术的不足,本发明的目的是提供一种基于kettle和数据库日志的数据库同步方法。
技术方案:一种基于kettle和数据库日志的数据同步方法,包括以下步骤:
(1)获取数据源和目标数据库连接信息;
(2)确定数据同步方式;
(3)根据同步方式执行相应的数据同步操作。
进一步的,步骤(1)中获取数据源和目标数据库连接信息,包括以下步骤:
(11)确定数据源类型,包括:手工填写表格数据源、数据库源;
(12)根据数据源类型,确定数据源访问方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111157359.6/2.html,转载请声明来源钻瓜专利网。