数据库的同步方法和装置、存储介质及电子装置与流程

文档序号:36015402发布日期:2023-11-17 11:06阅读:24来源:国知局
数据库的同步方法和装置、存储介质及电子装置与流程

本技术涉及金融科技领域,具体而言,涉及一种数据库的同步方法和装置、存储介质及电子装置。


背景技术:

1、对不同数据库之间的数据进行同步是数据库之间执行频率很高的操作,目前,数据库之间数据同步的方式包括:基于消息队列同步sql(structured query language,一种用于管理关系型数据库的标准化语言)语句进行数据双写,第一数据库执行第一功能之前,第一控制设备将sql语句存入存储空间,并在第一数据库成功执行之后发送至消息队列服务器;消息队列服务器根据第二控制设备订阅信息,将至少一个消息队列中的sql语句发送至第二控制设备;第二数据库执行sql,完成数据同步。

2、上述方式需要对源数据库(即,第一数据库)中的sql语句进行存储,并在第一功能执行之后,将sql语句发送到消息队列,这种方式可能出现数据库短时间内执行大量sql语句,导致增加消息队列的纵深,进而引起消息的阻塞。依次执行sql语句使得数据同步时间过长,甚至出现消息队列中sql语句的丢失的情况,使得数据同步缺失。

3、针对相关技术中数据库的同步效率较低等问题,目前尚未提出有效的解决方案。


技术实现思路

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、通过本技术,采用以下步骤:在源数据库中检测到目标数据表的情况下,从具有对应关系的数据表、同步时序信息和同步规则信息中查找出目标数据表对应的目标同步时序信息和目标同步规则信息,其中,目标数据表为源数据库中待同步至目标数据库的数据表,目标数据表中记录了更新时间信息和更新类型信息,更新时间信息用于指示目标数据表上一次数据更新的更新时间点,更新类型信息用于指示目标数据表中每一个更新的数据的更新类型,目标同步时序信息用于指示目标数据表上一次同步的同步时间点,以及,对目标数据表进行同步的时间间隔,目标同步规则信息用于指示目标数据表中的数据从源数据库同步至目标数据库的方式;根据目标同步时序信息、目标同步规则信息、更新时间信息和更新类型信息从目标数据表中筛选出目标数据,其中,目标数据为目标数据表中的全部数据或者部分数据,部分数据为目标数据表中更新时间发生在上一次同步的同步时间点之后,且在上一次数据更新的更新时间点之前的数据;将目标数据发送至目标数据库以同步目标数据表,上述方式中,通过查找出目标数据表的目标同步时序信息、目标同步规则信息、更新时间信息和更新类型信息,并依据目标同步时序信息、目标同步规则信息、更新时间信息和更新类型信息直接从目标数据表中筛选出目标数据,之后将目标数据发送至所述目标数据库以同步所述目标数据表,上述数据库的同步过程无需使用sql语句,因此不存在大量sql语句,导致增加消息队列的纵深,进而引起消息的阻塞的问题,解决了相关技术中数据库的同步效率较低等问题。进而达到了提高数据库的同步效率的技术效果。

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