一种数据同步方法、装置、电子设备及存储介质与流程

文档序号:37236803发布日期:2024-03-06 16:58阅读:15来源:国知局
一种数据同步方法、装置、电子设备及存储介质与流程

本发明涉及计算机应用,尤其涉及一种数据同步方法、装置、电子设备及存储介质。


背景技术:

1、随着计算机技术的飞速发展,计算机的应用领域越来越广,数据出现了爆炸性地增长,数据存储技术和介质逐渐多样化,许多应用场景需要来源于多方且多维的大量数据聚合处理才能得以实现。因此,在数据量方面,源端数据库的数据量以及数据变化量大大增加,数据同步处理需要支持更大的吞吐量。而在时效方面,当源数据库的某个数据表的数据发生变化时,需要保证其对应的目标数据库中的数据在秒级甚至是毫秒级等较短时间内发生一致的变化。因此,需要实现源数据库和目标数据库之间快速的数据同步。

2、为了不对源数据库本身产生侵入性或性能影响,通常会采用基于无侵入性的数据同步方法。该方法是通过对源数据库产生的日志进行解析,还原源数据库中变更的数据,基于还原的数据实现在无侵入和无性能影响的情况下对目标数据库进行数据同步。

3、上述方法虽然对源数据库无侵入和性能影响的压力,在小数据量同步时有着高效、低时延的优势,但是当源数据库中大批量数据发生变更需要进行数据同步时,不能及时完成变更数据的同步,数据同步的效率较低。


技术实现思路

1、本发明提供一种数据同步方法、装置、电子设备及存储介质,用以解决现有技术中数据同步的效率较低的缺陷,实现提高数据同步的效率的目的。

2、本发明提供一种数据同步方法,包括:

3、获取源数据库的各数据表;

4、获取所述源数据库的至少一个数据变更日志,解析各所述数据变更日志,得到所述数据表中的变更数据信息;

5、基于数据表与数据族的映射关系,确定目标数据族对应的目标数据表;所述数据族为用于表征具有相互关联关系的各数据表的集合;

6、基于数据族与缓冲区的映射关系,将所述目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内;

7、基于缓冲区与消费者的映射关系,确定目标消费者对应的目标缓冲区,并通过所述目标消费者消费所述目标缓冲区内的变更数据信息,得到写入脚本,并将所述写入脚本信息推送至目标数据库。

8、根据本发明提供的数据同步方法,所述方法还包括:

9、针对各数据同步业务,在所述源数据库的各数据表中确定所述数据同步业务对应的所有数据表;

10、将所述数据同步业务对应的所有数据表,基于变更数据信息进行划分,得到至少一个数据组;所述数据组为用于表征对应的所述数据族中具有数据时序关系的各数据表的集合;

11、将所述至少一个数据组确定为所述数据同步业务对应的所有数据表对应的数据族,以配置数据表与数据族的映射关系。

12、根据本发明提供的数据同步方法,所述将所述数据同步业务对应的所有数据表,基于变更数据信息进行划分,得到至少一个数据组,包括:

13、基于各所述变更数据信息的字段值,计算所述变更数据信息的哈希取模值;

14、将所述数据同步业务对应的所有数据表中,哈希取模值相等的各所述变更数据信息对应的数据表划分在一个数据组内。

15、根据本发明提供的数据同步方法,同一个数据组内的数据表中的变更数据信息线性有序。

16、根据本发明提供的数据同步方法,所述将所述目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内,包括:

17、获取所述目标数据族中各目标数据组对应的缓冲队列,各所述缓冲队列为与目标数据族对应的缓冲区内的队列;

18、针对各所述目标数据组,将所述目标数据组中数据表的变更数据信息缓存至与所述目标数据组对应的缓冲队列中。

19、根据本发明提供的数据同步方法,所述目标消费者包括至少一个消费者实例,所述消费者实例对应至少一个缓冲队列;

20、所述通过所述目标消费者消费所述目标缓冲区内的变更数据信息,得到写入脚本,包括:

21、通过所述消费者实例拉取与所述消费者实例对应的缓冲队列中的变更数据信息;

22、通过所述消费者实例,基于所述目标数据库的适配规则,对所述变更数据信息进行格式转换,得到所述写入脚本。

23、根据本发明提供的数据同步方法,所述方法还包括:

24、通过数据同步监控器监控各所述数据族、各所述缓冲区以及各所述消费者,在所述变更数据信息和所述写入脚本的数量不相等的情况下,执行数据回滚和/或幂等处理。

25、本发明还提供一种数据同步装置,包括:

26、获取模块,用于获取源数据库的各数据表;

27、解析模块,用于获取所述源数据库的至少一个数据变更日志,解析各所述数据变更日志,得到所述数据表中的变更数据信息;

28、第一确定模块,用于基于数据表与数据族的映射关系,确定目标数据族对应的目标数据表;所述数据族为用于表征具有相互关联关系的各数据表的集合;

29、缓存模块,用于基于数据族与缓冲区的映射关系,将所述目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内;

30、消费模块,用于基于缓冲区与消费者的映射关系,确定目标消费者对应的目标缓冲区,并通过所述目标消费者消费所述目标缓冲区内的变更数据信息,得到写入脚本,并将所述写入脚本信息推送至目标数据库。

31、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述数据同步方法。

32、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据同步方法。

33、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据同步方法。

34、本发明提供的一种数据同步方法、装置、电子设备及存储介质,该方法获取源数据库的各数据表;获取源数据库的至少一个数据变更日志,解析各数据变更日志,得到数据表中的变更数据信息;基于数据表与数据族的映射关系,确定目标数据族对应的目标数据表;数据族为用于表征具有相互关联关系的各数据表的集合;基于数据族与缓冲区的映射关系,将目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内;基于缓冲区与消费者的映射关系,确定目标消费者对应的目标缓冲区,并通过目标消费者消费目标缓冲区内的变更数据信息,得到写入脚本,并将写入脚本信息推送至目标数据库。这样,基于各映射关系,目标消费者对应有目标缓冲区,而该目标缓冲区对应有目标数据族,该目标数据族又对应了目标数据表,目标消费者消费的变更数据信息均为对应的目标数据表的变更数据信息,则各消费者可以并行消费处理与其对应的变更数据信息,缩短数据消费处理的整体耗时,提升消费者整体的消费效率,因此,各消费者快速得到大批量的写入脚本后,将各写入脚本推送至目标数据库,则目标数据库可以及时完成数据的持久化,提高了数据同步的效率。



技术特征:

1.一种数据同步方法,其特征在于,包括:

2.根据权利要求1所述的数据同步方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的数据同步方法,其特征在于,所述将所述数据同步业务对应的所有数据表,基于变更数据信息进行划分,得到至少一个数据组,包括:

4.根据权利要求3所述的数据同步方法,其特征在于,同一个数据组内的数据表中的变更数据信息线性有序。

5.根据权利要求2所述的数据同步方法,其特征在于,所述将所述目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内,包括:

6.根据权利要求5所述的数据同步方法,其特征在于,所述目标消费者包括至少一个消费者实例,所述消费者实例对应至少一个缓冲队列;

7.根据权利要求1-6任一项所述的数据同步方法,其特征在于,所述方法还包括:

8.一种数据同步装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述数据同步方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据同步方法。


技术总结
本发明提供一种数据同步方法、装置、电子设备及存储介质,涉及计算机应用技术领域。该方法包括:获取源数据库的各数据表;获取源数据库的至少一个数据变更日志,解析各数据变更日志,得到数据表中的变更数据信息;基于数据表与数据族的映射关系,确定目标数据族对应的目标数据表;基于数据族与缓冲区的映射关系,将目标数据表中的变更数据信息缓存至与目标数据族对应的缓冲区内;基于缓冲区与消费者的映射关系,确定目标消费者对应的目标缓冲区,并通过目标消费者消费目标缓冲区内的变更数据信息,得到写入脚本,并将写入脚本信息推送至目标数据库。基于此,各消费者能并行消费处理各自对应的缓冲区内的变更数据信息,提高了数据同步的效率。

技术研发人员:侯立峰,董海疆,宋志新
受保护的技术使用者:元保科创(北京)科技有限公司
技术研发日:
技术公布日:2024/3/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1