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

文档序号:36973233发布日期:2024-02-07 13:23阅读:20来源:国知局
一种数据迁移方法、装置、电子设备及存储介质与流程

本发明涉及数据处理,特别是涉及一种数据迁移方法、装置、电子设备及存储介质。


背景技术:

1、由于mysql(my structured query language,关系型数据库管理系统)数据库单机磁盘空间有限,在利用单机mysql数据库存储大量数据时,例如,在数据库单表行数超过500万行或者单表容量超过2gb时,执行一次sql(structured query language,结构化查询语言)的时间也会变长,进而针对一些高并发场景,由于需要逐条执行sql,导致待执行sql数量越多,执行等待的时间就会越长,即mysql数据库将会出现读写性能瓶颈,难以稳定的为业务端提供服务。

2、针对这种情况,通常会选择将数据迁移至其他性能更优的数据库,利用其他数据库接替mysql数据库向业务端提供服务,但是相关技术中需要暂停业务服务才能实现数据的迁移,这导致业务服务的中断。


技术实现思路

1、本发明实施例的目的在于提供一种数据迁移方法、装置、电子设备及存储介质,以提高业务服务的稳定性。具体技术方案如下:

2、在本发明实施的第一方面,首先提供了一种数据迁移方法,所述方法包括:

3、接收交易数据;

4、将所述交易数据写入mysql数据库以及目标数据库;

5、对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配,若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库;所述增量交易数据表示新写入的交易数据。

6、可选地,所述将所述交易数据写入mysql数据库以及目标数据库,包括:

7、基于mysql数据库中存储交易数据的交易数据表单,将所述交易数据写入所述mysql数据库;

8、以与所述交易数据唯一对应的且具有随机属性的标识为主键,将所述交易数据写入目标数据库。

9、可选地,将写入所述mysql数据库中的增量交易数据作为第一增量交易数据,将写入所述目标数据库中的增量交易数据作为第二增量交易数据;

10、所述对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配,包括:

11、针对与所述第一增量交易数据唯一对应的且具有随机属性的标识中的每一标识,在所述第二增量交易数据中确定与每一标识分别对应的第二目标增量交易数据,并将由同一标识确定的第一增量交易数据和第二目标增量交易数据作为一组待验证数据;

12、判断所述待验证交易数据是否匹配。

13、可选地,在所述对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配之后,所述方法还包括:

14、若匹配结果不一致,则针对匹配结果不一致的待验证交易数据,基于所述匹配结果不一致的待验证交易数据中的第一增量交易数据包括的各项信息,对所述第二目标增量交易数据包括的各项信息进行修改;所述第二目标增量交易数据包括的各项信息在修改后与所述第一增量交易数据包括的各项信息匹配。

15、可选地,在所述若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库之前,所述方法还包括:

16、获取历史交易数据;所述历史交易数据包括在所述将所述交易数据写入mysql数据库以及目标数据库之前,存储在所述mysql数据的交易数据;

17、将所述历史交易数据写入所述目标数据库。

18、可选地,所述将所述历史交易数据写入所述目标数据库,包括:

19、在所述目标数据库中,创建用于存储交易数据的交易数据表单;所述交易数据表单的结构与所述mysql数据库中用于存储交易数据的交易数据表单的结构相同;

20、从所述交易数据表单中,删除具有递增属性的索引字段,得到与所述目标数据库适配的交易数据表单;

21、基于与所述目标数据库适配的交易数据表单的结构,以与所述交易数据唯一对应的且具有随机属性的标识为主键,将所述历史交易数据写入所述目标数据库。

22、可选地,在所述将所述历史交易数据写入所述目标数据库之后,所述方法还包括:

23、针对与所述历史交易数据唯一对应的且具有随机属性的标识中的每一标识,判断所述mysql数据库以及所述目标数据库中,具有相同标识的历史交易数据包括的各项信息是否匹配;

24、所述若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库,包括:

25、若所述增量交易数据的匹配结果一致且所述历史交易数据的匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库。

26、可选地,在所述对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配之后,所述方法还包括:

27、若匹配结果一致,则在业务端请求读取交易数据时,从所述目标数据库读取交易数据。

28、在本发明实施的第二方面,提供了一种数据迁移装置,所述装置包括:

29、接收模块,用于接收交易数据;

30、第一写入模块,用于将所述交易数据写入mysql数据库以及目标数据库;

31、第一匹配模块,用于对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配;所述增量交易数据表示新写入的交易数据;

32、第一切换模块,用于若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库。

33、可选地,所述第一写入模块,具体用于基于mysql数据库中存储交易数据的交易数据表单,将所述交易数据写入所述mysql数据库;以与所述交易数据唯一对应的且具有随机属性的标识为主键,将所述交易数据写入目标数据库。

34、可选地,将写入所述mysql数据库中的增量交易数据作为第一增量交易数据,将写入所述目标数据库中的增量交易数据作为第二增量交易数据;

35、所述第一匹配模块,具体用于针对与所述第一增量交易数据唯一对应的且具有随机属性的标识中的每一标识,在所述第二增量交易数据中确定与每一标识分别对应的第二目标增量交易数据,并将由同一标识确定的第一增量交易数据和第二目标增量交易数据作为一组待验证数据;判断所述待验证交易数据是否匹配。

36、可选地,所述装置还包括,

37、修改模块,用于在所述对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配之后,若匹配结果不一致,则针对匹配结果不一致的待验证交易数据,基于所述匹配结果不一致的待验证交易数据中的第一增量交易数据包括的各项信息,对所述第二目标增量交易数据包括的各项信息进行修改;所述第二目标增量交易数据包括的各项信息在修改后与所述第一增量交易数据包括的各项信息匹配。

38、可选地,所述装置还包括:

39、第二写入模块,用于在所述若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库之前,获取历史交易数据;所述历史交易数据包括在所述将所述交易数据写入mysql数据库以及目标数据库之前,存储在所述mysql数据的交易数据;将所述历史交易数据写入所述目标数据库。

40、可选地,所述第二写入模块,具体用于在所述目标数据库中,创建用于存储交易数据的交易数据表单;所述交易数据表单的结构与所述mysql数据库中用于存储交易数据的交易数据表单的结构相同;从所述交易数据表单中,删除具有递增属性的索引字段,得到与所述目标数据库适配的交易数据表单;基于与所述目标数据库适配的交易数据表单的结构,以与所述交易数据唯一对应的且具有随机属性的标识为主键,将所述历史交易数据写入所述目标数据库。

41、可选地,所述装置还包括,

42、第二匹配模块,用于针对与所述历史交易数据唯一对应的且具有随机属性的标识中的每一标识,判断所述mysql数据库以及所述目标数据库中,具有相同标识的历史交易数据包括的各项信息是否匹配;

43、所述第一切换模块,具体用于若所述增量交易数据的匹配结果一致且所述历史交易数据的匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库。

44、可选地,所述装置还包括,

45、第二切换模块,用于在所述对所述mysql数据库以及所述目标数据库中的增量交易数据进行匹配之后,若匹配结果一致,则在业务端请求读取交易数据时,从所述目标数据库读取交易数据。

46、本发明实施的第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

47、所述存储器,用于存放计算机程序;

48、所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面所述的数据迁移方法。

49、在本发明实施的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的数据迁移方法。

50、在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据迁移方法。

51、本发明实施例提供的数据迁移方法,通过接收交易数据;将交易数据写入mysql数据库以及目标数据库;对mysql数据库以及目标数据库中的增量交易数据进行匹配,若匹配结果一致,则在后续接收到交易数据时,将后续接收到的交易数据写入目标数据库;增量交易数据表示新写入的交易数据。

52、在接收到交易数据时,同时向mysql数据库和目标数据库两个数据库写入,并对两个数据库中的增量交易数据进行匹配,在匹配结果一致时,认为写入目标数据库的数据是可信的,此时即可利用目标数据库接替mysql数据库提供服务。本发明实施例能够在线实现数据的迁移,无需暂停业务服务,提高了业务服务的稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1