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

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

技术编号:41272735 阅读:7 留言:0更新日期:2024-05-11 09:26
本申请公开了一种数据库的同步方法、装置、存储介质及电子设备,涉及金融科技领域和其他相关技术领域。其中,该方法包括:依据源数据库的日志确定N个原始消息,其中,源数据库为升级前的数据库,原始消息用于表征在源数据库中执行的数据库操作语句的信息,确定每个原始消息对应的消息标识、时间戳以及操作类型,依据每个原始消息对应的消息标识、时间戳以及操作类型从N个原始消息中确定M个目标消息,其中,目标消息用于表征在目标数据库中执行的数据库操作语句的信息,目标数据库为升级后的数据库,依据目标消息对源数据库和目标数据库中的数据进行同步。本申请解决了在数据库迁移的过程中因网络波动造成的数据同步的准确率低的技术问题。

【技术实现步骤摘要】

本申请涉及金融科技领域和其他相关,具体而言,涉及一种数据库的同步方法、装置、存储介质及电子设备


技术介绍

1、随着互联网技术的发展,数据库的版本迭代速度加快,金融机构需要对使用的数据库进行频繁升级,为了提高升级前后的数据库中的数据进行同步的效率,现有技术中,通常在升级前数据库和升级后的数据库之间采用并发的方式进行数据同步,由于采用并发的方式,在升级后的数据库侧会同时接收到多条同步数据的消息,而在通讯网络出现波动的情况下,升级后的数据库侧无法保证同时接收到的多条同步消息的有序性,从而无法保证升级前的数据库的数据与升级后的数据库的数据之间的一致性,进而造成现有技术中在进行数据库迁移的过程中因网络波动造成的数据同步的准确率低的技术问题。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请提供了一种数据库的同步方法、装置、存储介质及电子设备,以至少解决在数据库迁移的过程中因网络波动造成的数据同步的准确率低的技术问题。

2、根据本申请的一个方面,提供了一种数据库的同步方法,包括:依据源数据库的日志确定n个原始消息,其中,n为正整数,源数据库为升级前的数据库,原始消息用于表征在源数据库中执行的数据库操作语句的信息;确定每个原始消息对应的消息标识、时间戳以及操作类型,其中,消息标识用于表征原始消息中的数据库操作语句的操作位置,时间戳用于表征原始消息的生成时间,操作类型用于表征原始消息中的数据库操作语句的类型;依据每个原始消息对应的消息标识、时间戳以及操作类型从n个原始消息中确定m个目标消息,其中,m为小于或等于n的正整数,目标消息用于表征在目标数据库中执行的数据库操作语句的信息,目标数据库为升级后的数据库;依据目标消息对源数据库和目标数据库中的数据进行同步。

3、可选地,数据库的同步方法还包括:确定每个原始消息对应的数据库表,其中,数据库表为原始消息对应的数据库操作语句的执行对象;依据数据库表的名称和主键生成数据库表对应的原始消息的消息标识,其中,主键为数据库表中存储的每一行数据的唯一标识;依据每个原始消息对应的数据库操作语句的执行时间确定每个原始消息对应的时间戳;依据每个原始消息对应的数据库操作语句中的预设关键词确定每个原始消息对应的操作类型。

4、可选地,数据库的同步方法还包括:确定每个原始消息对应的对象标识,其中,对象标识为目标对象的唯一标识,目标对象为原始消息对应的数据库操作语句的服务对象;获取p个服务节点,其中,p为正整数,服务节点为与源数据库和目标数据库同时连接的节点,并且每个服务节点对应一个对象标识;根据每个原始消息的对象标识和每个服务节点的对象标识将每个原始消息存储至对应的目标服务节点,其中,目标服务节点为p个服务节点中的一个服务节点,并且目标服务节点的对象标识与存储至目标服务节点的原始消息的对象标识相同。

5、可选地,数据库的同步方法还包括:确定每个服务节点对应的q个消费节点,其中,q为正整数,每个消费节点用于依据对应的服务节点中的原始消息确定目标消息;获取q个消费节点对应的q个待处理消息,其中,每个待处理消息为q个消费节点中的一个消费节点从对应的服务节点中获取的一个原始消息;依据每个待处理消息对应的消息标识、时间戳以及操作类型从q个待处理消息中确定r个目标消息,其中,r为小于或等于q的正整数。

6、可选地,数据库操作语句的操作类型至少包括第一操作类型、第二操作类型以及第三操作类型,其中,第一操作类型用于对数据库中的数据进行更新,第二操作类型用于在数据库中插入新数据,第三操作类型用于对数据库中的数据进行删除,数据库至少包括源数据库和目标数据库。

7、可选地,数据库的同步方法还包括:依据每个待处理消息对应的消息标识对q个待处理消息进行分类,得到s个消息集合,其中,每个消息集合包括消息标识相同的t个待处理消息,s和t均为正整数;依据每个消息集合中的每个待处理消息的时间戳和操作类型从该消息集合中确定该消息集合对应的u个目标消息,其中,u为小于或等于t的正整数。

8、可选地,数据库的同步方法还包括:将消息集合中的时间戳最大的待处理消息确定为第一待处理消息;在消息集合包括的所有待处理消息的操作类型均为第一操作类型或消息集合中的第一待处理消息为第三操作类型的情况下,将第一待处理消息确定为u个目标消息中的一个目标消息,并且不改变第一待处理消息的操作类型;将消息集合中的除第一待处理消息之外的t-1个待处理消息转换为t-1个空白消息,其中,每个空白消息对应t-1个待处理消息中的一个待处理消息,空白消息不对数据库中的数据执行任何操作;将t-1个空白消息中的每个空白消息确定为u个目标消息中的一个目标消息。

9、可选地,数据库的同步方法还包括:获取消息集合中的第二待处理消息和第三待处理消息,其中,第三待处理消息的时间戳大于第二待处理消息的时间戳,并且第二待处理消息的操作类型为第二操作类型,第三待处理消息的操作类型为第一操作类型;将第二待处理消息转换为一个空白消息,并将该空白消息确定为u个目标消息中的一个目标消息,其中,空白消息不对数据库中的数据执行任何操作;将第三待处理消息的操作类型从第一操作类型转换为第二操作类型,并将转换后的第三待处理消息确定为u个目标消息中的一个目标消息;将消息集合中除第二待处理消息和第三待处理消息之外的t-2个待处理消息确定为u个目标消息中的t-2个目标消息,其中,u大于t-2,t-2个待处理消息中的每个待处理消息对应t-2个目标消息中的一个目标消息。

10、在本申请中,首先依据源数据库的日志确定n个原始消息,其中,n为正整数,源数据库为升级前的数据库,原始消息用于表征在源数据库中执行的数据库操作语句的信息,其次,确定每个原始消息对应的消息标识、时间戳以及操作类型,其中,消息标识用于表征原始消息中的数据库操作语句的操作位置,时间戳用于表征原始消息的生成时间,操作类型用于表征原始消息中的数据库操作语句的类型,之后,依据每个原始消息对应的消息标识、时间戳以及操作类型从n个原始消息中确定m个目标消息,其中,m为小于或等于n的正整数,目标消息用于表征在目标数据库中执行的数据库操作语句的信息,目标数据库为升级后的数据库,最后,依据目标消息对源数据库和目标数据库中的数据进行同步。

11、由上述内容可知,本申请首先获取源数据库侧的原始消息的消息标识、时间戳以及操作类型,并通过依据消息标识、时间戳以及操作类型对n个原始消息进行转换的方式,得到m个目标消息,并且依据每个目标消息对应的时间戳在目标数据库中执行该目标消息所包括的数据库操作语句,从而保证对源数据库中的数据和目标数据库中的数据进行有序同步的目的。

12、由此可见,本申请的技术方案通过依据每个原始消息的消息标识、时间戳以及操作类型对n个原始消息进行转换的方式,实现了保证源数据库侧的数据与目标数据库侧的数据之间的一致性的目的,从而提高了数据同步的准确率,解决了现有技术中在进行数据库迁移的过程中因网络波本文档来自技高网...

【技术保护点】

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

2.根据权利要求1所述的数据库的同步方法,其特征在于,确定每个所述原始消息对应的消息标识、时间戳以及操作类型,包括:

3.根据权利要求1所述的数据库的同步方法,其特征在于,在确定每个所述原始消息对应的消息标识、时间戳以及操作类型之后,所述数据库的同步方法还包括:

4.根据权利要求3所述的数据库的同步方法,其特征在于,在根据每个所述原始消息的对象标识和每个所述服务节点的对象标识将每个所述原始消息存储至对应的目标服务节点之后,所述数据库的同步方法还包括:

5.根据权利要求4所述的数据库的同步方法,其特征在于,所述数据库操作语句的操作类型至少包括第一操作类型、第二操作类型以及第三操作类型,其中,所述第一操作类型用于对数据库中的数据进行更新,所述第二操作类型用于在所述数据库中插入新数据,所述第三操作类型用于对所述数据库中的数据进行删除,所述数据库至少包括所述源数据库和所述目标数据库。

6.根据权利要求5所述的数据库的同步方法,其特征在于,依据每个所述待处理消息对应的消息标识、时间戳以及操作类型从Q个所述待处理消息中确定R个目标消息,包括:

7.根据权利要求6所述的数据库的同步方法,其特征在于,依据每个消息集合中的每个所述待处理消息的时间戳和操作类型从该消息集合中确定该消息集合对应的U个目标消息,包括:

8.根据权利要求6所述的数据库的同步方法,其特征在于,依据每个消息集合中的每个所述待处理消息的时间戳和操作类型基于T个待处理消息确定该消息集合对应的U个目标消息,包括:

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

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的数据库的同步方法。

11.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的数据库的同步方法。

...

【技术特征摘要】

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

2.根据权利要求1所述的数据库的同步方法,其特征在于,确定每个所述原始消息对应的消息标识、时间戳以及操作类型,包括:

3.根据权利要求1所述的数据库的同步方法,其特征在于,在确定每个所述原始消息对应的消息标识、时间戳以及操作类型之后,所述数据库的同步方法还包括:

4.根据权利要求3所述的数据库的同步方法,其特征在于,在根据每个所述原始消息的对象标识和每个所述服务节点的对象标识将每个所述原始消息存储至对应的目标服务节点之后,所述数据库的同步方法还包括:

5.根据权利要求4所述的数据库的同步方法,其特征在于,所述数据库操作语句的操作类型至少包括第一操作类型、第二操作类型以及第三操作类型,其中,所述第一操作类型用于对数据库中的数据进行更新,所述第二操作类型用于在所述数据库中插入新数据,所述第三操作类型用于对所述数据库中的数据进行删除,所述数据库至少包括所述源数据库和所述目标数据库。

6.根据权利要求5所述的数据库的同步方法,其特征在于,依据每个所述待...

【专利技术属性】
技术研发人员:曾华山戴丹王赛
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1