一种基于事务高可用的数据实时同步方法技术

技术编号:38360606 阅读:8 留言:0更新日期:2023-08-05 17:30
本申请涉及大数据领域,具体是一种基于事务高可用的数据实时同步方法,其特征在于,包括以下步骤:进入抽取阶段,通过日志挖掘技术从源数据库中获得变更数据,将捕获的变更数据解析重构成统一数据结构体;将统一数据结构体送至事务协调模块;进入投递阶段,数据进入事务协调模块后将根据事务标识分配到对应缓存队列中并且进行压缩处理;将压缩后的事务数据投递到分布式消息处理模块;进入复制阶段,根据目标库的类型采用不同的构建模板,将统一数据结构体重新构建为目标库的执行语言率,能够支持多源异构数据库,同步服务高效、灵活并且高可用。高可用。高可用。

【技术实现步骤摘要】
一种基于事务高可用的数据实时同步方法


[0001]本专利技术涉及大数据领域,尤其涉及一种基于事务高可用的数据实时同步方法。

技术介绍

[0002]在云计算和大数据的蓬勃发展下,当今时代已是数据的时代,数据的实时同步已作为大部分业务系统的基础技术支撑。各类型的数据同步产品也在这个大环境下顺应而生,当前主流的数据同步技术主要包括基于日志文件的数据同步、基于触发器的数据同步以及基于日志挖掘的数据同步,基于日志文件的数据同步由于传输的是整个日志文件,对网络带宽要求较高,不能实现低延迟的实时同步,基于触发器的数据同步会加大数据库的负担,而且触发器的编排,可移植性差,维护及排错难度大,基于日志挖掘的数据同步由于数据库日志的数据庞大且复杂,同步过程容易发生数据丢失,对技术要求较高。以上三种主流数据同步技术各有优劣,如何保证数据在同步复制中的安全性、一致性、及时性,保证同步过程的高可靠,无论是从商业价值还是技术难度,仍然是时下的一个研究热点。

技术实现思路

[0003]本专利技术的目的在于提供一种事务的数据实时同步方法,以解决上述
技术介绍
中提出的问题至少之一。
[0004]为实现上述目的,本专利技术通过以下技术方案予以实现:
[0005]本申请实施例公开了一种基于事务高可用的数据实时同步方法,包括以下步骤:
[0006]进入抽取阶段,通过日志挖掘技术从源数据库中获得变更数据,将捕获的变更数据解析重构成统一数据结构体;将统一数据结构体送至事务协调模块;
[0007]进入投递阶段,数据进入事务协调模块后将根据事务标识分配到对应缓存队列中并且进行压缩处理;将压缩后的事务数据投递到分布式消息处理模块;
[0008]进入复制阶段,根据目标库的类型采用不同的构建模板,将统一数据结构体重新构建为目标库的执行语言。
[0009]可选的,进入抽取阶段步骤如下:
[0010]读取并解析源数据库日志,提取需要的变更源数据;
[0011]解析所述源数据,并将源数据重构成脱离源数据库特性的统一数据结构体,源数据成为数据同步的元数据;
[0012]将元数据发送至事务协调模块,并按照事务标识分类;
[0013]将识别到已提交的事务队列从事务协调模块转移到发送队列中,并且进入投递阶段。
[0014]可选的,进入投递阶段步骤如下:
[0015]监听线程从发送队列获取一批数据,对所述数据进行压缩处理;
[0016]将压缩后的数据发送到分布式消息处理模块上;
[0017]分布式消息处理模块接受所述压缩后的数据,校验其完整性,并进行数据备份;
[0018]分布式消息处理模块发送数据处理成功响应;
[0019]监听线程接收到响应,重复上述步骤并继续处理数据。
[0020]可选的,进入复制阶段步骤如下:
[0021]复制服务从分布式消息处理模块获得一批待复制的数据;
[0022]复制服务根据过滤项和映射项的配置,对数据进行过滤及映射转换;
[0023]处理完成的数据将根据目标库的配置,重新构建为对应的执行语句;
[0024]执行器逐条执行命令并等待结果;
[0025]执行器处理完待复制的数据,重复上述步骤继续处理下一批数据。
[0026]可选的,在开始进行同步方法步骤之前,需由管理平台定义并创建抽取服务的任务配置和源数据库信息。
[0027]可选的,所述事务协调模块能够实现根据监控指标区别提交事务,事务包括未提交事务、长事务以及大事务。
[0028]可选的,针对不同的事务类型将采用不同的处理方式,针对长事务,协调中心将长事务持久化,减少系统内存的占用,针对大事务,协调中心将大事务部分数据转移到磁盘,以降低系统内存压力,针对未提交事务,协调中心将未提交事务重新转移到事务协调模块。
[0029]可选的,事务由事务协调模块传递到分布式消息处理模块采用的是收发应答机制。
[0030]数据同步方法全流程采用基于JMX技术的实时细粒度监控。本专利技术的有益效果在于以下至少之一:
[0031]1.支持多源异构数据库。通过抽取阶段的解析重构机制以及应用阶段的模板应答机制,本专利技术可以让同步数据脱离源库的特性,转化为统一结构体的元数据,该技术可以让数据在各种源、目标数据库实现同步。
[0032]2.高可用,高效率的同步。通过抽取阶段的事务协调机制,高效处理长事务,大事务场景,实现不间断同步,保证同步过程的高效率。分布式缓存技术的应用,能保证断点续传数据不丢失,同步服务高可用。
[0033]3.细粒度同步,服务热更新。通过基于JMX技术构建的实时监控,能实现同步过程代码级别的粒度监控,并实现动态调整同步过程,同步更灵活高效。
附图说明
[0034]下面结合附图和实施例对本专利技术作进一步解释:
[0035]图1为本申请数据实时同步总流程图;
[0036]图2为本申请同步抽取阶段流程图;
[0037]图3为本申请同步投递阶段流程图;
[0038]图4为本申请同步复制阶段流程图;
[0039]图5为本申请执行流程示意图。
具体实施方式
[0040]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体
细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0041]应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0042]还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0043]如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0044]另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0045]在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于事务高可用的数据实时同步方法,其特征在于,包括以下步骤:进入抽取阶段,通过日志挖掘技术从源数据库中获得变更数据,将捕获的变更数据解析重构成统一数据结构体;将统一数据结构体送至事务协调模块;进入投递阶段,数据进入事务协调模块后将根据事务标识分配到对应缓存队列中并且进行压缩处理;将压缩后的事务数据投递到分布式消息处理模块;进入复制阶段,根据目标库的类型采用不同的构建模板,将统一数据结构体重新构建为目标库的执行语言。2.根据权利要求1所述的同步方法,其特征在于,进入抽取阶段步骤如下:读取并解析源数据库日志,提取需要的变更源数据;解析所述源数据,并将源数据重构成脱离源数据库特性的统一数据结构体,源数据成为数据同步的元数据;将元数据发送至事务协调模块,并按照事务标识分类;将识别到已提交的事务队列从事务协调模块转移到发送队列中,并且进入投递阶段。3.根据权利要求1所述的同步方法,其特征在于,进入投递阶段步骤如下:监听线程从发送队列获取一批数据,对所述数据进行压缩处理;将压缩后的数据发送到分布式消息处理模块上;分布式消息处理模块接受所述压缩后的数据,校验其完整性,并进行数据备份;分布式消息处理模块发送数据处理成功响应;监听线程接收到响应,重复上述步骤并继续处理数据。4...

【专利技术属性】
技术研发人员:黄志春李蓟田郑传坚李韧沙连玉卢小锋陈云
申请(专利权)人:广州伟宏智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1