[发明专利]一种基于数据的实时同步方法及系统有效
申请号: | 202010066948.2 | 申请日: | 2020-01-20 |
公开(公告)号: | CN111274257B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 樊文昌;何文钦;刘浩喆;江磊 | 申请(专利权)人: | 山东省电子口岸有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 250013 山东省济南市中国(山东)自由*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 实时 同步 方法 系统 | ||
本发明公开一种基于数据的实时同步方法及系统,涉及数据同步技术领域;包括控制模块、变更捕获模块、消息队列模块、数据同步模块及Schema管理模块,控制模块定义并启动同步任务,变更捕获模块捕获源数据库变更的数据并根据同步消息Schema模板编码所述的数据为同步消息,将同步消息发送到消息队列模块,数据同步模块拉取消息队列模块中未消费的同步消息,根据Schema管理模块中的源表Schema信息解析校验同步消息,再组装成目标数据库命令,发送目标数据库执行。
技术领域
本发明公开一种基于数据的实时同步方法及系统,涉及数据同步技术领域。
背景技术
数据实时同步是在数据之间建立一种从数据源到目的地的实时协调过程。常见的数据实时同步技术有两种,分别是基于日志的数据同步和基于数据的数据同步。
基于日志的同步:源数据库进行DML操作后,在日志文件中记录下每一条操作命令的详细信息。同步组件根据本地维护的偏移量主动拉取源数据库增量日志,然后逐条解析出日志的命令信息,并依此拼装成目标数据的DML操作,最后DML操作发送到目标数据库执行,完成同步过程。该同步方式虽然实时效率高,但是需要识别源数据库的各种不同的日志格式,因此对源数据库的兼容性不好。
基于数据的同步:源数据库执行DML操作后,将同步消息推送到同步组件,该消息只包含变更的数据本身,不包含任何操作的详细信息。同步组件将接收到的变更数据写入目标数据库中,完成同步过程。该同步方式的优点是同步逻辑简单、不存在源数据库日志解析和兼容性问题、支持数据流式预处理,但是不支持Update和Delete同步语义,而且以行为最小传输单位,当一行中的任意字段的数据变化时,发送整个行的数据,当字段较多时,发送大量重复数据导致传输效率不高,并且不支持Schema变更自动同步。
偏移量:消息在分区的位置,由消息队列维护,可以用来查询,回滚同步数据到所需位置。
DML:数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作,包括插入、修改和删除等操作。
Upsert/Delete同步语义:数据库中DML操作,每条操作都有明确的语义,比如Insert(插入),Update(更新),Delete(删除),Upsert(插入和更新)。在源数据库和目标数据库之间同一条数据应该遵循同一语义。
Schema变更:源数据库中的表,在同步过程中,Schema表,如列名或列类型发生了变更。
发明内容
本发明针对现有技术的问题,提供一种基于数据的实时同步方法及系统,解决基于数据的实时同步存在的不支持Update/Delete同步语义、不支持Schema变更自动同步等问题,并能够大大提升同步效率高。
本发明提出的具体方案是:
一种基于数据的实时同步系统,包括控制模块、变更捕获模块、消息队列模块、数据同步模块及Schema管理模块,
控制模块定义并启动同步任务,
变更捕获模块捕获源数据库变更的数据并根据同步消息Schema模板编码所述的数据为同步消息,将同步消息发送到消息队列模块,
数据同步模块拉取消息队列模块中未消费的同步消息,根据Schema管理模块中的源表Schema信息解析校验同步消息,再组装成目标数据库命令,发送目标数据库执行。
所述的系统中变更捕获模块根据源数据库的源表字段信息和同步消息Schema模板生成源表Schema信息,将源表Schema信息交由Schema管理模块完成初始化注册,
变更捕获模块捕获源表字段信息发生变更时,交由Schema管理模块变更相应源表Schema信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省电子口岸有限公司,未经山东省电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010066948.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置