一种并行的增量同步方法、系统、存储介质、电子设备技术方案

技术编号:36857400 阅读:23 留言:0更新日期:2023-03-15 17:59
本发明专利技术涉及一种并行的增量同步方法、系统、存储介质、电子设备。方法包括:针对每个待同步的数据表建立物化视图日志表;建立多条抽取线程,并通过多条抽取线程并行且分批次抽取多个物化视图日志表中的数据,将并行且分批次抽取的数据分别存储在多个数据结构体中,各数据结构体均记录了相应批次数据的起始序列号和结束序列号;将多个数据结构体分别缓存至多条缓冲队列中;建立多条入库线程,并通过多条入库线程并行对多条缓冲队列中缓存的数据结构体进行入库,入库后根据各数据结构体记录的起始序列号和结束序列号,对同步的增量数据进行确认,并删除物化视图日志表中的相应记录。本发明专利技术可并行的对多张物化视图日志表的数据进行同步。进行同步。进行同步。

【技术实现步骤摘要】
一种并行的增量同步方法、系统、存储介质、电子设备


[0001]本专利技术属于数据库同步
,具体涉及一种并行的增量同步方法、系统、存储介质、电子设备。

技术介绍

[0002]在数据备份和迁移、国产化和去IOE的需求下,需要从oracle源数据库中同步增量数据到目标数据库中,目标数据库可以是oracle,或者其他类型的数据库。Oracle基于物化视图日志表的同步方案,一个数据表对应一个物化视图日志表,数据入库目标端时,为了保证数据的一致性,通常抽取和入库都需要按照顺序执行,同一时刻仅针对一个物化视图日志表进行抽取和入库,但由于业务或者运行环境的影响,不同表的入库性能不一样,因此如果按照顺序抽取和顺序入库,效率比较低。
[0003]因此,亟需一种新的增量同步方法,可并行的对多张物化视图日志表的数据进行同步。

技术实现思路

[0004]针对现有技术中存在的上述问题,本专利技术提供一种并行的增量同步方法、系统、存储介质、电子设备,可并行的对多张物化视图日志表的数据进行同步。
[0005]本专利技术采用以下技术方案:本本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种并行的增量同步方法,其特征在于,包括步骤:针对每个待同步的数据表建立物化视图日志表;建立多条抽取线程,并通过多条抽取线程并行且分批次抽取多个物化视图日志表中的数据,将并行且分批次抽取的数据分别存储在多个数据结构体中,各数据结构体均记录了相应批次数据的起始序列号和结束序列号;将多个数据结构体分别缓存至多条缓冲队列中;建立多条入库线程,并通过多条入库线程并行对多条缓冲队列中缓存的数据结构体进行入库,入库后根据各数据结构体记录的起始序列号和结束序列号,对同步的增量数据进行确认,并删除物化视图日志表中的相应记录。2.根据权利要求1所述的一种并行的增量同步方法,其特征在于,针对每个待同步的数据表建立物化视图日志表后,赋予各物化视图日志表对应的初始权值,并基于各物化视图日志表对应的初始权值将各物化视图日志表分为热表和普通表,多条抽取线程包括预设比例的热表数据抽取线程、普通表数据抽取线程,其中热表数据抽取线程比例大于普通表数据抽取线程,热表数据抽取线程优先抽取所有热表中权值大的,普通表数据抽取线程优先抽取所有普通表中权值大的。3.根据权利要求2所述的一种并行的增量同步方法,其特征在于,还包括实时统计各物化视图日志表中的剩余同步数据量,并根据各物化视图日志表中的剩余同步数据量,调整各物化视图日志表对应的权值。4.根据权利要求3所述的一种并行的增量同步方法,其特征在于,针对每个待同步的数据表建立物化视图日志表后,还将各物化视图日志表初始化定义为快表或慢表,所述多条缓冲队列中包括快表缓冲队列和慢表缓冲队列,将快表对应的数据结构体缓存至快表缓冲队列,将慢表对应的数据结构体缓存至慢表缓冲队列,快表的数据同步速度大于慢表的数据同步速度。5.根据权利要求4所述的一种并行的增量同步方法,其特征在于,还包括实时统计各物化视图日志表的实时同步速度,以计算得到所有物化视图日志表的平均实时同步速度,基于各物化视图日志表的实时同步速度、所有物化视图日志表的平均实时同步速度实时更新各物化视图日志表的快表、慢表类型。6.根据权利要求5所述的一种并行的增量同步方法,其特征在于,将实时同步速度大于所有物化视图日志表的平均实时同步速度的物化视图日志表定义为快表,将实时同步速度小于所有物化视图日志表的平均实时同步速度的物化视图日志表定义为慢表。7.根据权利要求6所述的一种并行的增量同步方法,其特征在于,在缓存阶段:若抽取的数据结构体对应的表当前定义为快表,且慢表缓冲队列中没有该表对应的数据,则将该数据结构体缓存至快表缓冲队列;若抽取的数据结构体对应的表当前定义为快表,且慢表缓冲队列中有该表对应的数据,则暂停该表内数据的抽取,待该表在慢表缓冲队列中的数据均入库完成后继续进行抽取;若抽取的数据结构体对应的表当前定义为慢表,且快表缓冲队列中没有该表对应的数据,则将该数据结构体缓存至慢表缓冲队列;若抽取的数据结构体对应的表当前定义为慢表,且快表缓冲队列中有该表对应的数
据,则暂停该表内数据的抽取,待该表在快表缓冲队列中的数据均插入至慢表缓冲队列后继续进行抽取。8.根据权利要求7所述的一种并行的增量同步方法,其特征在于,在入库阶段:若当前要进行入库的在快表缓冲队列中的数据结构体对应的表当前定义为慢表,则把该数据结构体插入至慢表缓冲队列中,并继续执行快表缓冲队列中其他数据结构体的入库;若当前要进行入库的在快表缓冲队列中的数据结构体对应的表当前定义为快表,且慢表缓冲队列中有该表对应的数据,则把该数据结构体插入至慢表缓冲队列中,并继续执行快表缓冲队列中其他数据结构体的入库;若当前要进行入库的在快表缓冲队列中的数据结构体对应的表当前定义为快表,且慢表缓冲队列中没有该表对应的数据,则继续执行快表缓冲队列中数据结构体的入库;入库线程池持续对慢表缓冲队列中的数据结构体进行入库。9.一种并行的增量同步系统,其特征在于,包括依次连接的日志表建立模块、抽取模块、缓冲模块、入库模块、增量数据确认模块,增量数据确认模块还与日志表建立模块连接;日志表建立模块,用于对每个待同步的数据表建立物化视图日志表;抽取模块,用于建立多条抽取线程,并通过多条抽取线程并行且分批次抽取多个物化视图日志表中的数据,将并行且分批次抽取的数据分别存储在多个数据结构体中,各数据结构体均记录了相应批次数据的起...

【专利技术属性】
技术研发人员:陈晓帆
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1