[发明专利]基于CDC实现的数据同步的方法在审
申请号: | 202211507823.4 | 申请日: | 2022-11-29 |
公开(公告)号: | CN115658815A | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 王锐;余渤;李建衡 | 申请(专利权)人: | 贵州易鲸捷信息技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/2455;G06F16/28 |
代理公司: | 四川言己律师事务所 51349 | 代理人: | 罗韬 |
地址: | 550000 贵州省贵阳市贵阳综*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cdc 实现 数据 同步 方法 | ||
本发明公开了一种基于CDC实现的数据同步的方法,属一种数据库间数据同步的方法,上游数据库在数据源表发生变动时,将变动操作数据记录下来,进行序列化后并传输至数据处理端;数据处理端将变动操作数据进行反序列化后,解析为目标数据库相对应的特定格式;数据处理端在一个窗口期内,将反序列化后的变动操作数据分为DML与DDL两类语句;然后将DDL直接解析后提交并同步至下游数据库;将DML语句解析后根据表名进行拆分,并逐条解析重组后进行聚合;通过高度自定义的数据处理端可以针对不同数据库之间的数据同步,既可以保证实时性高,精准捕获上游数据库的数据变更,亦可通过数据处理端进行数据编译与聚合对不同数据库之间的差异进行兼容处理。
技术领域
本发明涉及一种数据库间数据同步的方法,更具体的说,本发明主要涉及一种基于CDC实现的数据同步的方法。
背景技术
目前,主流的CDC同步通常分为基于查询的CDC、基于触发器的CDC、基于快照的CDC、基于日志的CDC。其中基于查询的CDC的方法中,需要不断的查询源数据库表中的数据,以获取更改的数据记录;查询过程中需要通过附加列来判断数据是变更情况的;常见的有时间戳列、自增序列,可以通过保存创建时间列、修改时间列来表示插入、变更的记录,自增列也很容易识别出新插入的记录。在基于触发器的CDC的方法中,当业务系统执行插入、更新、删除这些SQL时,以激活数据库的触发器,使其对数据记录进行变更捕获,并将数据保存在一个临时表中,最后将变更数据从临时表中抽取到数据仓库中。在基于快照的CDC的方法中,在存储层面使用到了数据源 3 份副本,分别是原始数据、先前快照和当前快照。通过对比 2 次快照之间的差异来获取这之间的数据变更内容,发送下游系统。在基于日志的CDC的方法中,当数据库表完成一个的新的DML(insert,update,delete)操作后,数据库都会将它实时记录到日志文件中;通过解析数据库操作日志的方式,可以将插入、更新、删除的数据更改操作都可以捕获,发送下游系统。
上述四种CDC的实现方式中,基于日志方式的CDC是最优的实现方式,其实时性高、无侵入性,并且能将所有的更改捕获,如果无法获取并解析数据库日志文件,则只能选择其他三种方式进行CDC;基于快照的方式虽然可以通过比较获得的变更记录,但是其有个明显的缺点就是需要大量的存储空间来保存快照数据,且实时性低;基于触发器的方式因为要增加触发器,则对变更数据进行多次写入操作,有一定的侵入性;基于查询的方式则需要在数据表上进行时间列、自增列的添加,侵入性强,且无法获取删除操作,故很少使用。因此有必要针对基于CDC实现的数据库间数据的同步方法进行研究和改进。
发明内容
本发明的目的之一在于针对上述不足,提供一种基于CDC实现的数据同步的方法,以期望解决现有技术中同类的CDC实现数据同步的方法需要大量的存储空间来保存快照数据,需对变更数据进行多次写入操作等技术问题。
为解决上述的技术问题,本发明采用以下技术方案。
本发明所提供的一种基于CDC实现的数据同步的方法,方法包括如下步骤。
步骤A、上游数据库在数据源表发生变动时,将变动操作数据记录下来,进行序列化后并传输至数据处理端。
步骤B、数据处理端将变动操作数据进行反序列化后,解析为目标数据库相对应的特定格式。
步骤C、数据处理端在一个窗口期内,将反序列化后的变动操作数据分为DML与DDL两类语句;然后将DDL直接解析后提交并同步至下游数据库;将DML语句解析后根据表名进行拆分,并逐条解析重组后进行聚合,在一个窗口期内一同提交并同步至下游数据库。
步骤D、下游数据库对变动操作数据进行重放,将数据表更新至与当前上游数据库系统的数据源表相一致。
作为优选,进一步的技术方案是:所述特定格式至少包括针对oracle数据库默认将所有表名与列名转为大写,针对Greenplum数据库默认将所有表名与列名转为小写。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州易鲸捷信息技术有限公司,未经贵州易鲸捷信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211507823.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置