主从数据库数据同步的方法与流程

文档序号:40543376发布日期:2025-01-03 11:02阅读:11来源:国知局
主从数据库数据同步的方法与流程

本技术涉及计算机数据存储领域,更具体地说涉及数据库领域,特别是涉及一种主从数据库数据同步的方法。


背景技术:

1、数据库是用来组织、存储和管理数据的仓库。与数据库相适配的数据库管理系统能够使得数据管理员更加方便、直观的管理计算机中存储的数据。若将所有数据存储在一个数据库中,那么在该数据库出现故障或者部署该数据库的计算机设备出现故障时,可能导致该数据库中的数据出现不可逆的丢失。

2、因此,为了保证数据的持久性和不易失性,通常不会采用单一的数据库存储数据,而是采用主从数据库(或主备数据库)的形式进行数据存储。所谓主从数据库是指在一个存储系统部署至少两个数据库,即其中一个数据库是主数据库、另一个数据库是从数据库(当然,从数据库也可以是两个或更多),将存储至主数据库中的数据也存储至从数据库中,以达到备份的作用。当主数据库中的数据丢失的情况下,还能从从数据库中获得数据;同理,在从数据库中的数据丢失的情况下,还能从主数据库中获得数据。

3、为了进一步保证数据的持久性和不易失性,通常主数据库和从数据库部署在不同的计算机设备中。其中,部署主数据库的计算机设备通常称为主设备,部署从数据库的计算机设备通常称为从设备。主设备或从设备独立运行,因此主数据库和从数据库也独立运行,两者互不干涉,主数据库和从数据库两者中之一出现故障时不会影响另一正常数据库的运行,进一步提高了数据的持久性和不易失性。


技术实现思路

1、在相关技术中,主设备(或从设备)在对主数据库(或从数据库)中的数据进行写操作时,会生成相应的写操作日志,并将该写操作日志发送至从设备(或主设备),从设备(或主设备)对该操作日志解析,解析出在主数据库(或从数据库)中执行的历史写操作,然后从设备(或主设备)在从数据库(或主数据库)中执行解析出的所有历史操作,从而将曾写入主数据库(或从数据库)的数据写入从数据库(或主数据库)中。本技术实施例的目的是提供一种主从数据库数据同步的方法、装置、设备、介质、芯片和计算机程序产品,不同于相关技术中依赖于写操作日志进行数据同步,从而摆脱主从数据库数据同步对操作日志的依赖。

2、本技术实施例的第一方面提供了一种主从数据库数据同步的方法,应用于第一设备,在所述第一设备中部署有第一数据库;所述方法包括:

3、监测被部署有第二数据库的第二设备的工作状态;所述第一数据库和所述第二数据库基于双写机制运行;

4、在监测到所述第二设备的工作状态是异常的情况下,对所述第一数据库中在第一时刻之后产生的目标数据添加预设的与之对应的第一类标签;所述第一时刻是监测到所述第二设备的工作状态从正常变为异常时的时刻;所述目标数据包括以下至少之一:新增数据、修改数据和被请求删除但被中止的待删除数据;所述第一类标签包括:未同步标签和删除标签;所述新增数据和所述修改数据均对应于所述未同步标签,所述待删除数据对应于所述删除标签;

5、在监测到所述第二设备的工作状态恢复正常的情况下,根据所述第一类标签和被所述第一类标签所标识的数据生成同步请求,并向所述第二设备发送所述同步请求;所述同步请求携带有在所述第二数据库中同步被所述第一类标签标识的数据的同步操作命令。

6、本技术实施例的第二方面提供了一种主从数据库数据同步的方法,应用于第二设备,在所述第二设备中部署有第二数据库;所述方法包括:

7、在接收到被部署有第一数据库的第一设备发送的同步请求的情况下,从所述同步请求中解析出同步操作命令;所述第二数据库和所述第一数据库基于双写机制运行;

8、执行所述同步操作命令,以在所述第二数据库中同步所述第一数据库中被第一类标签标识的数据;所述第一类标签是所述第一设备在监测到所述第二设备的工作状态是异常的期间,对所述第一数据库中在第一时刻之后产生的目标数据添加的预设的与之对应的第一类标签;所述第一时刻是所述第一设备在监测到所述第二设备的工作状态从正常变为异常时的时刻;所述目标数据包括以下至少之一:新增数据、修改数据和被请求删除但被中止的待删除数据;所述第一类标签包括:未同步标签和删除标签;所述新增数据和所述修改数据均对应于所述未同步标签,所述待删除数据对应于所述删除标签。

9、本技术实施例的第三方面提供了一种主从数据库数据同步的装置,所述装置包括:

10、第一监测模块,用于监测被部署有第二数据库的第二设备的工作状态;所述第一数据库和所述第二数据库基于双写机制运行;

11、第一添加模块,用于在监测到所述第二设备的工作状态是异常的情况下,对所述第一数据库中在第一时刻之后产生的目标数据添加预设的与之对应的第一类标签;所述第一时刻是监测到所述第二设备的工作状态从正常变为异常时的时刻;所述目标数据包括以下至少之一:新增数据、修改数据和被请求删除但被中止的待删除数据;所述第一类标签包括:未同步标签和删除标签;所述新增数据和所述修改数据均对应于所述未同步标签,所述待删除数据对应于所述删除标签;

12、第一发送模块,用于在监测到所述第二设备的工作状态恢复正常的情况下,根据所述第一类标签和被所述第一类标签所标识的数据生成同步请求,并向所述第二设备发送所述同步请求;所述同步请求携带有在所述第二数据库中同步被所述第一类标签标识的数据的同步操作命令。

13、本技术实施例的第四方面提供了一种主从数据库数据同步的装置,所述装置包括:

14、第一解析模块,用于在接收到被部署有第一数据库的第一设备发送的同步请求的情况下,从所述同步请求中解析出同步操作命令;所述第二数据库和所述第一数据库基于双写机制运行;

15、第一执行模块,用于执行所述同步操作命令,以在所述第二数据库中同步所述第一数据库中被第一类标签标识的数据;所述第一类标签是所述第一设备在监测到所述第二设备的工作状态是异常的期间,对所述第一数据库中在第一时刻之后产生的目标数据添加的预设的与之对应的第一类标签;所述第一时刻是所述第一设备在监测到所述第二设备的工作状态从正常变为异常时的时刻;所述目标数据包括以下至少之一:新增数据、修改数据和被请求删除但被中止的待删除数据;所述第一类标签包括:未同步标签和删除标签;所述新增数据和所述修改数据均对应于所述未同步标签,所述待删除数据对应于所述删除标签。

16、本技术实施例的第五方面提供了一种电子设备,所述电子设备包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面至第二方面中任一方面所述的主从数据库数据同步的方法的步骤。

17、本技术实施例的第六方面提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面至第二方面中任一方面所述的主从数据库数据同步的方法的步骤。

18、本技术实施例的第七方面提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面至第二方面中任一方面所述的主从数据库数据同步的方法的步骤。

19、本技术实施例的第八方面提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面至第二方面中任一方面所述的主从数据库数据同步的方法的步骤。

20、在本技术实施例中,在第一设备和第二设备的工作状态均正常时,基于双写机制会同步将写入第一数据库中的数据写入第二数据库中;当第二设备的工作状态异常时,会对单写入第一数据库中的数据添加第一类标签;在第二设备的工作状态恢复正常时,生成被第一类标签标识的数据的同步操作命令,将同步操作命令封装进同步请求,并将同步请求发送至第二设备,第二设备在接收到同步请求后,执行同步请求中的同步操作命令,以将第一数据库中被第一类标签标识的数据同步至第二数据库中,从而实现在第二数据库中写入在第二设备异常期间单写入第一数据库中的数据。

21、有关技术效果更具体的相关说明请参见具体实施方式。

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