System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据同步方法、装置、电子设备及存储介质制造方法及图纸_技高网

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

技术编号:40066969 阅读:6 留言:0更新日期:2024-01-16 23:34
本申请提供了一种数据同步方法、装置、电子设备及存储介质,包括:接收数据同步指令;根据数据同步时间范围以及分布式系统的每个业务系统的数据库中时间戳字段对应的字段值,确定每个业务系统对应的目标数据块;其中,时间戳字段的字段值用于记录数据库中每条数据的更新时间;比对每个业务系统对应的目标数据块是否一致;若不一致,则基于每个业务系统对应的目标数据块进行数据同步。这样,通过在业务系统的数据库中加入用于记录更新时间的时间戳字段,能够确定出各业务系统中发生更新的目标数据块,并在数据更新不一致时进行数据同步,可以避免数据同步时暂停业务产生的损失,减少复制数据所带来的数据库运行压力。

【技术实现步骤摘要】

本申请涉及计算机,尤其是涉及一种数据同步方法、装置、电子设备及存储介质


技术介绍

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、若确定在至少两个业务系统中,存在同一主键值对应的一条目标数据所生成的检验字符串不一致,则比较该条目标数据中时间戳字段的字段值;

39、将所述时间戳字段的字段值最新的目标数据确定为所述至少两个业务系统中目标业务系统的一条待同步数据。

40、本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的一种数据同步方法的步骤。

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

42、本申请实施例提供的一种数据同步方法、装置、电子设备及存储介质,通过本文档来自技高网...

【技术保护点】

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

2.根据权利要求1所述的方法,其特征在于,每个业务系统的数据库的数据模型中包括主键、至少一个属性字段和所述时间戳字段;所述数据库中每条数据在创建时配置有触发器;每条数据对应的触发器用于在创建该条数据时将所述时间戳字段对应的字段值设置为创建时间,并在确定该条数据发生变更时,将所述时间戳字段对应的字段值更新为该条数据的变更时间。

3.根据权利要求1所述的方法,其特征在于,所述根据所述数据同步时间范围以及分布式系统中每个业务系统的数据库时间戳字段对应的字段值,确定目标数据块,包括:

4.根据权利要求1所述的方法,其特征在于,所述比对每个业务系统对应的目标数据块是否一致,包括:

5.根据权利要求2所述的方法,其特征在于,所述若不一致,则基于每个业务系统对应的目标数据块进行数据同步,包括:

6.根据权利要求5所述的方法,其特征在于,所述对每个业务系统的每个检验字符串进行逐个比对,确定每个业务系统的待同步数据,包括:

7.一种数据同步装置,其特征在于,所述装置包括:>

8.根据权利要求7所述的装置,其特征在于,每个业务系统的数据库的数据模型中包括主键、至少一个属性字段和所述时间戳字段;所述数据库中每条数据在创建时配置有触发器;每条数据对应的触发器用于在创建该条数据时将所述时间戳字段对应的字段值设置为创建时间,并在确定该条数据发生变更时,将该条数据的变更时间更新为所述时间戳字段对应的字段值。

9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至6任一所述的一种数据同步方法的步骤。

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

...

【技术特征摘要】

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

2.根据权利要求1所述的方法,其特征在于,每个业务系统的数据库的数据模型中包括主键、至少一个属性字段和所述时间戳字段;所述数据库中每条数据在创建时配置有触发器;每条数据对应的触发器用于在创建该条数据时将所述时间戳字段对应的字段值设置为创建时间,并在确定该条数据发生变更时,将所述时间戳字段对应的字段值更新为该条数据的变更时间。

3.根据权利要求1所述的方法,其特征在于,所述根据所述数据同步时间范围以及分布式系统中每个业务系统的数据库时间戳字段对应的字段值,确定目标数据块,包括:

4.根据权利要求1所述的方法,其特征在于,所述比对每个业务系统对应的目标数据块是否一致,包括:

5.根据权利要求2所述的方法,其特征在于,所述若不一致,则基于每个业务系统对应的目标数据块进行数据同步,包括:

6.根据权利要求5所述的方法,其特征在于,所述对每个业务系统的每个检验字符串进行逐个比对,确...

【专利技术属性】
技术研发人员:孙宇来
申请(专利权)人:富赛汽车电子有限公司
类型:发明
国别省市:

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

1