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

文档序号:34887537发布日期:2023-07-25 16:34阅读:29来源:国知局
数据同步方法、装置、电子设备及存储介质与流程

本申请涉及数据库,具体而言,本申请涉及一种数据同步方法、装置、电子设备及存储介质。


背景技术:

1、数据同步指的是下游系统中的数据与上游系统中的数据最终保持一致,当上游系统中的数据发生变化时,下游系统可以感知到数据变化,并将变化的数据同步过来。

2、当上游系统为关系型数据库时,关系型数据库中的数据可以以数据表的形式进行存储,数据同步可以转化为将上游系统中数据表同步在下游系统。现有的数据同步方法通常是通过单个节点来来实现上下游系统之间的数据同步,现有的数据同步方法中的单个节点的处理机制容易导致单个节点的负荷过大,处理效率较低。


技术实现思路

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、更新数据写入模块,用于通过至少一个写入节点,将各个第一节点输出的更新数据写入第二系统。

35、根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一种数据同步方法的步骤。

36、根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种数据同步方法的步骤。

37、本申请实施例提供的技术方案带来的有益效果是:

38、通过将第一数据表划分为预设数量个同步分区,而且第一数据表中主键相同的多个行数据位于同一同步分区,并设置预设数量个第一节点对应处理预设数量个同步分区内的数据,既可以实现主键相同的多个行数据可以通过一个节点来处理,保证了主键相同的多个行数据之间的一致性,又可以实现通过多个节点对一张数据表进行处理,避免了单点处理机制带来的性能热点问题,将对一张数据表的处理分摊给多个节点,减轻了每个节点的处理压力,提高了处理效率。同时,即使有一个节点发生故障,也可以由其他节点继续进行数据同步,不会导致整张数据表的数据同步停止,提高了可用性。



技术特征:

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

2.根据权利要求1所述的数据同步方法,其特征在于,所述通过至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据,包括:

3.根据权利要求1所述的数据同步方法,其特征在于,所述第一数据表中预设数量个同步分区是通过如下方式确定的:

4.根据权利要求3所述的数据同步方法,其特征在于,所述基于所述第一数据表中的主键,确定分区字段的范围,包括:

5.根据权利要求3所述的数据同步方法,其特征在于,所述基于所述第一数据表中的主键,确定分区字段的范围,包括:

6.根据权利要求2所述的数据同步方法,其特征在于,所述通过所述至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据,并确定所述至少一个更新数据对应的更新次序,包括:

7.根据权利要求2所述的数据同步方法,其特征在于,所述第二系统包括消息队列;

8.根据权利要求2所述的数据同步方法,其特征在于,所述第二系统包括关系型数据库;

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

10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至8中任一项所述方法的步骤。

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


技术总结
本申请实施例提供了一种数据同步方法、装置、电子设备及存储介质,涉及数据库技术领域。该方法包括:当第一系统中的第一数据表中出现数据更新时,通过至少一个第一节点获取至少一个第一节点对应的同步分区中的更新数据;第一数据表包括预设数量个同步分区,预设数量个同步分区与预设数量个第一节点一一对应;第一数据表中主键相同的多个行数据位于同一同步分区;通过至少一个写入节点,将各个第一节点输出的更新数据写入第二系统。本申请实施例保证了主键相同的多个行数据之间的一致性,通过多个节点对一张数据表进行处理,避免了单点处理机制带来的性能热点问题,减轻了每个节点的处理压力,提高了处理效率。

技术研发人员:沈泰宁,刘奇,黄东旭,崔秋
受保护的技术使用者:平凯星辰(北京)科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1