数据同步方法、装置、电子设备及存储介质制造方法及图纸

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

【技术实现步骤摘要】
数据同步方法、装置、电子设备及存储介质


[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]针对每个写入节点,通过所述写入节点基于所述写入节点对应的第一节点输出的更新数据的更新次序,将所述更新数据依次写入所述第二系统。
[0031]可选地,所述第二系统包括关系型数据库;
[0032]所述通过所述至少一个写入节点,基于各个更新数据对应的更新次序,将各个更新数据依次写入所述第二系统,包括:
[0033]通过所述至少一个写入节点对各个更新数据对应的更新次序进行整合,得到总更新次序,并基于所述总更新次序,将各个更新数据依次写入所述第二系统。
[0034]根据本申请实施例的另一个方面,提供了一种数据同步装置,该装置包括:
[0035]更新数据获取模块,用于当第一系统中的第一数据表中出现数据更新时,通过至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据;
[0036]其中,所述第一数据表包括预设数量个同步分区,所述预设数量个同步分区与预设数量个第一节点一一对应;所述第一数据表中主键相同的多个行数据位于同一同步分区;
[0037]更新数据写入模块,用于通过至少一个写入节点,将各个第一节点输出的更新数据写入第二系统。
[0038]根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一种数据同步方法的步骤。
[0039]根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种数据同步方法的步骤。
[0040]本申请实施例提供的技术方案带来的有益效果是:
[0041]通过将第一数据表划分为预设数量个同步分区,而且第一数据表中主键相同的多个行数据位于同一同步分区,并设置预设数量个第一节点对应处理预设数量个同步分区内的数据,既可以实现主键相同的多个行数据可以通过一个节点来处理,保证了主键相同的多个行数据之间的一致性,又可以实现通过多个节点对一张数据表进行处理,避免了单点处理机制带来的性能热点问题,将对一张数据表的处理分摊给多个节点,减轻了每个节点的处理压力,提高了处理效率。同时,即使有一个节点发生故障,也可以由其他节点继续进行数据同步,不会导致整张数据表的数据同步停止,提高了可用性。
附图说明
[0042]为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
[0043]图1为本申请实施例提供的一种数据同步系统的系统架构图;
[0044]图2为本申请实施例提供的一种数据同步方法的流程示意图;
[0045]图3为本申请实施例提供的同步分区与第一节点之间对应关系的示意图;
[0046]图4为本申请另一实施例提供的一种数据同步系统的系统结构图;
[0047]图5为本申请又一实施例提供的一种数据同步系统的系统结构图;
[0048]图6为本申请实施例提供的一种数据同步装置的结构示意图;
[0049]图7为本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:当第一系统中的第一数据表中出现数据更新时,通过至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据;其中,所述第一数据表包括预设数量个同步分区,所述预设数量个同步分区与预设数量个第一节点一一对应;所述第一数据表中主键相同的多个行数据位于同一同步分区;通过至少一个写入节点,将各个第一节点输出的更新数据写入第二系统。2.根据权利要求1所述的数据同步方法,其特征在于,所述通过至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据,包括:通过所述至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据,并确定所述至少一个更新数据对应的更新次序;所述通过至少一个写入节点,将各个第一节点输出的更新数据写入第二系统,包括:通过所述至少一个写入节点,基于各个更新数据对应的更新次序,将各个更新数据依次写入所述第二系统。3.根据权利要求1所述的数据同步方法,其特征在于,所述第一数据表中预设数量个同步分区是通过如下方式确定的:基于所述第一数据表中的主键,确定分区字段的范围;将所述分区字段的范围划分为预设数量个范围区间,并按照所述预设数量个范围区间,将所述第一数据表对应划分为预设数量个同步分区。4.根据权利要求3所述的数据同步方法,其特征在于,所述基于所述第一数据表中的主键,确定分区字段的范围,包括:若所述主键为数值,则将所述主键作为分区字段;若所述主键为字符串,则将所述主键映射为数值,并将映射得到的数值作为分区字段;基于所述分区字段的数据类型,确定所述分区字段的范围。5.根据权利要求3所述的数据同步方法,其特征在于,所述基于所述第一数据表中的主键,确定分区字段的范围,包括:确定包含所述主键及其对应的行数据的数据对;将所述数据对序列化得到范围作为所述分区字段的范围。6.根据权利要求2所述的数据同步方法,其特征在于,所述通过所述至少一个第一节点获取所述至少一个第一节点对应的同步分区中的更新数据,并确定...

【专利技术属性】
技术研发人员:沈泰宁刘奇黄东旭崔秋
申请(专利权)人:平凯星辰北京科技有限公司
类型:发明
国别省市:

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

1