CN117785546A - 数据库备份的方法、系统和计算设备集群 - Google Patents
数据库备份的方法、系统和计算设备集群 Download PDFInfo
- Publication number
- CN117785546A CN117785546A CN202211145360.1A CN202211145360A CN117785546A CN 117785546 A CN117785546 A CN 117785546A CN 202211145360 A CN202211145360 A CN 202211145360A CN 117785546 A CN117785546 A CN 117785546A
- Authority
- CN
- China
- Prior art keywords
- target
- storage node
- wal
- node
- main storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012217 deletion Methods 0.000 claims abstract description 16
- 230000037430 deletion Effects 0.000 claims abstract description 16
- 238000011084 recovery Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 87
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据库备份的方法、系统和计算设备集群,属于数据库技术领域。该方法应用于存储系统,包括:目标主存储节点向对应的至少一个目标备存储节点发送目标事务的WAL;每个目标备存储节点根据所述WAL进行数据同步,在所述数据同步完成后,向所述管理节点发送同步完成通知;所述管理节点在确定所述目标主存储节点对应的目标备存储节点均完成所述数据同步后,向所述目标主存储节点发送删除通知;所述目标主存储节点删除所述WAL。采用本申请能够降低数据库备份对网络资源的占用。
Description
技术领域
本申请涉及数据库技术领域,特别涉及一种数据库备份的方法、系统和计算设备集群。
背景技术
目前对数据库的备份通常是基于数据快照实现的,即主实例对比数据库在一个备份周期前后的数据快照,得到数据库在备份周期中更新的数据文件,然后将更新的数据文件发送至备实例,之后备实例可以根据接收的数据文件实现与主实例数据库的同步。
由于存在更新的数据文件中仍然存在大量备份周期前的数据,所以主实例向备实例发送更新的数据文件中存在大量备实例已经备份过的数据。因此当前主实例对数据库进行备份的方法会浪费大量的网络资源。
发明内容
本申请实施例提供了一种数据库备份的方法、系统和计算设备集群,能够降低数据库的备份对网络资源的占用。所述技术方案如下:
第一方面,提供了一种数据库备份的方法,该方法应用于存储系统,该存储系统中包括管理节点和多个存储节点,该多个存储节点中包括至少一个主存储节点和每个主存储节点对应至少一个备存储节点;该方法包括:
目标主存储节点向对应的至少一个目标备存储节点发送目标事务的WAL;每个目标备存储节点根据该WAL进行数据同步,在数据同步完成后,向管理节点发送同步完成通知;管理节点在确定目标主存储节点对应的目标备存储节点均完成数据同步后,向目标主存储节点发送删除通知;目标主存储节点删除该WAL。其中,主存储节点为部署主实例的存储节点,备存储节点为部署备实例的存储节点。
本申请所示的方案中,目标主存储节点可以将备份周期生成的WAL发送至目标备存储节点,由于该WAL中记录是备份周期对目标主存储节点的数据库执行操作,因此目标备存储节点在对本地的数据库执行该WAL中记录的操作后,可实现与目标主存储节点的数据库的数据同步,如此也就实现了数据库的备份。由于该WAL中不包括目标备存储节点已备份过的数据,因此通过目标主存储节点通过向目标备存储节点发送WAL实现数据库的备份,能够降低对目标主存储节点的网络资源的占用。
并且,由于为了确保数据库事务的原子性和持久性,目标主存储节点中原本就会记录目标事务的WAL。因此,目标主存储节点将备份周期的WAL发送至目标备存储节点进行数据同步,不会多余占用目标主存储节点的存储空间。并且管理节点在确定目标备存储节点均根据该WAL完成数据同步后,可以向目标主存储节点发送删除通知,以删除目标主存储节点的中存储的WAL,如此能够进一步节省目标主存储节点的存储资源。
在一种示例中,管理节点中存储有目标主存储节点与目标备存储节点的对应关系;对于确定目标主存储节点对应的目标备存储节点均完成数据同步,包括:管理节点根据该对应关系,确定已接收到目标主存储节点对应的每个目标备存储节点发送的同步完成通知。
本申请所示的方案中,管理节点可以根据存储的目标主存储节点与目标备存储节点的对应关系,确定是否接收到目标主存储节点对应的各个目标备存储节点发送的同步完成通知。在管理节点确定各个目标备存储节点均完成数据同步后再向目标主存储节点发送删除通知,如此将目标主存储节点中的WAL交由管理节点进行管理。可以避免目标主存储节点误删或漏删该WAL的问题。
在一种示例中,管理节点在确定目标主存储节点对应的目标备存储节点均完成数据同步之前,还包括:目标主存储节点向管理节点发送目标事务的同步开始通知,该同步开始通知中携带有目标主存储节点与目标备存储节点的对应关系。
本申请所示的方案中,目标主存储节点向目标备存储节点发送的备份周期的WAL时,可以向管理节点发送携带有目标主存储节点与目标备存储节点的对应关系的同步开始通知。这样管理节点在接收到同步开始通知后,可以根据该对应关系确定目标备存储节点是否均根据该WAL完成数据同步。如此可以避免存在目标备存储节点未完成数据同步时误删存储的WAL。
在一种示例中,多个存储节点中还包括每个主存储节点对应的WAL存储节点,该方法还包括:目标主存储节点向对应的目标WAL存储节点发送目标事务的WAL;目标主存储节点向管理节点发送WAL中包括的至少一个操作的时间戳。
本申请所示的方案中,主存储节点对应有WAL存储节点,可用于备份主存储节点产生的WAL。这样当主存储节点的数据库对应数据文件存在损毁时,可以通过WAL存储节点存储的WAL对损坏的文件进行恢复。
在一种示例中,该方法还包括:目标主存储节点向管理节点发送数据恢复通知,数据恢复通知中携带有需要进行数据恢复的时间段;管理节点根据时间段以及目标主存储节点发送的各WAL对应的时间戳,确定时间段对应的至少一个WAL;管理节点将至少一个WAL的标识信息发送至目标主存储节点;目标主存储节点根据标识信息从目标WAL存储节点获取至少一个WAL;目标主存储节点根据至少一个WAL进行数据恢复。
本申请所示的方案中,在目标主存储节点中存在损坏的数据文件时,可以向管理节点发送携带有需要进行数据恢复的时间段的数据恢复通知。管理节点可以根据存储的目标主存储节点发送的各WAL中包括的各操作对应的时间戳,确定覆盖该时间段的至少一个WAL。然后管理节点可以将该WAL发送至目标主存储节点,以使目标主存储节点根据至少一个WAL进行数据恢复。
在一种示例中,目标主存储节点根据标识信息从目标WAL存储节点获取至少一个WAL之前,还包括:管理节点在至少一个WAL包括的操作对应的时间戳中,确定与该时间段的起始时间点差值最小且未在起始时间点之后的第一时间戳,并确定与时间段的截止时间点差值最小且未在截止时间点之前的第二时间戳;管理节点将第一时间戳对应的第一操作、第二时间戳对应的第二操作发送至目标主存储节点;目标主存储节点根据至少一个WAL进行数据恢复,包括:目标主存储节点根据至少一个WAL的顺序以及至少一个WAL中各操作的顺序,执行由第一操作至第二操作的各操作。
本申请所示的方案中,管理节点除可以确定覆盖需要进行数据恢复的时间段的至少一个WAL外,还可以在该至少一个WAL中确定对应的时间戳组成的时间段能够覆盖该数据恢复时间段的至少一个操作。这样,目标主存储节点可以只执行至少一个WAL中的部分操作便可完成数据恢复,能够提高目标主存储节点进行数据恢复的效率。
第二方面,提供了一种存储系统,该存储系统中包括管理节点和多个存储节点,该多个存储节点中包括至少一个主存储节点和每个主存储节点对应至少一个备存储节点,其中:
目标主存储节点,用于向对应的至少一个目标备存储节点发送目标事务的WAL;
每个目标备存储节点,用于根据该WAL进行数据同步,在数据同步完成后,向管理节点发送同步完成通知;
管理节点,用于在确定目标主存储节点对应的目标备存储节点均完成数据同步后,向目标主存储节点发送删除通知;
目标主存储节点,用于删除该WAL。
在一种示例中,管理节点中存储有目标主存储节点与目标备存储节点的对应关系;
管理节点,用于根据该对应关系,确定已接收到目标主存储节点对应的每个目标备存储节点发送的同步完成通知。
在一种示例中,目标主存储节点还用于,向管理节点发送目标事务的同步开始通知,同步开始通知中携带有目标主存储节点与目标备存储节点的对应关系。
在一种示例中,多个存储节点中还包括每个主存储节点对应的WAL存储节点;
目标主存储节点还用于,向对应的目标WAL存储节点发送目标事务的WAL;
目标主存储节点还用于,向管理节点发送该WAL中包括的至少一个操作的时间戳。
在一种示例中,目标主存储节点还用于,向管理节点发送数据恢复通知,数据恢复通知中携带有需要进行数据恢复的时间段;
管理节点还用于,根据该时间段以及目标主存储节点发送的各WAL对应的时间戳,确定时间段对应的至少一个WAL,将至少一个WAL的标识信息发送至目标主存储节点;
目标主存储节点还用于,根据标识信息从目标WAL存储节点获取至少一个WAL,根据至少一个WAL进行数据恢复。
在一种示例中,管理节点还用于,在至少一个WAL包括的操作对应的时间戳中,确定与该时间段的起始时间点差值最小且未在起始时间点之后的第一时间戳,并确定与时间段的截止时间点差值最小且未在截止时间点之前的第二时间戳,将第一时间戳对应的第一操作、第二时间戳对应的第二操作发送至目标主存储节点;
目标主存储节点用于,根据至少一个WAL的顺序以及至少一个WAL中各操作的顺序,执行由第一操作至第二操作的各操作。
第三方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;该至少一个计算设备的处理器用于执行该至少一个计算设备的存储器中存储的指令,以使得该计算设备集群执行如上述第一方面或第一方面中任一种示例所提供的数据库备份的方法。
第四方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备集群运行时,使得该计算设备集群执行如上述第一方面或第一方面中任一种示例所提供的数据库备份的方法。
第五方面,提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如上述第一方面或第一方面中任一种示例所提供的数据库备份的方法。
附图说明
图1是本申请实施例提供的一种存储系统的示意图;
图2是本申请实施例提供的一种数据库备份的方法流程图;
图3是本申请实施例提供的一种对数据库进行恢复的方法流程图;
图4是本申请实施例提供的一种计算设备的示意图;
图5是本申请实施例提供的一种计算设备集群的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种存储系统的示意图,如图1所示,本实施例提供的存储系统中可包括至少一个管理节点和多个存储节点。其中,在多个存储节点上可部署有多个数据库实例,一个数据库实例可对应一个数据库,用户可通过数据库实例对相应的数据库进行操作。其中,一个数据库实例可以单独的部署在一个存储节点中,也可以分布式的部署在两个或者更多的存储节点中。
在一种情况中,一个数据库实例可分为一个主实例至少一个备实例,主实例运行的数据库可提供给用户进行增删改查等服务,备实例运行的数据库可用于对主实例中的数据进行备份,并可以向用户提供只读服务。一个主实例可对应有多个备实例。在备实例中还可以包括灾备实例,该灾备实例是指与主实例分别部署在不同区域,且仅用于对主实例的数据库进行备份的备实例。在另一种情况中,一个数据库实例可包括多个多活实例,即一个数据库实例中包括多个对应向用户进行增删改查等服务的实例。这种情况下,多活实例中的任一实例可以认为是主实例,对于该主实例,多活实例中的其他实例为该主实例对应的备实例。其中,一个主实例或一个备实例可单独部署在一个存储节点中,也可以分布式的部署在多个存储节点中。
目前,备实例对主实例的数据库的备份通常是基于数据快照实现的。主实例对应的存储节点可以在每个备份周期,对比主实例的数据库备份周期前后的数据快照,得到数据库在备份周期的增量数据(即存在更新的数据文件),然后将该增量数据发送至备实例。之后备实例的存储节点可以根据接收的增量数据添加到当前的数据库中,进而实现与主实例数据库的同步。由于数据库在备份周期中更新的数据文件是备份周期中新增的数据与数据库原有的数据文件合成得到的,因此更新的数据文件中存在大量的数据库在该备份周期之前的数据。所以主实例向备实例发送的数据文件中会包括备实例已经备份过的数据。因此当前主实例对数据库进行备份的方法会浪费大量的网络资源。且主实例对数据快照进行对应也会占用主实例较多的处理资源。
图1所示的存储系统为分布式存储系统,该分布式存储系统采用存算分离架构也可以采用的存算一体架构。当该分布式存储系统采用存算分离架构时,该分布式存储系统还可以包括用于实现计算功能的计算节点。当该分布式存储系统采用存算一体架构时,该分布式存储系统中的存储节点除可以实现存储功能外,还可以实现计算功能。对于上述存储系统中包括的管理节点或存储节点,可以是实际的物理机,或者可以是的通过虚拟技术在物理机上虚拟化出来的虚拟设备,如虚拟机。
预写日志(Write Ahead Log,WAL)是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性。在采用WAL的数据库中,所有对数据库进行更新的操作(如写操作、删除操作等)在执行之前,都需要先记录在日志文件中,该日志文件即为WAL。在WAL中记录有对数据库更新的每个操作以及每个操作对应的时间戳以及操作序号。每个WAL对应的数据量可由技术人员预先设置,当一个WAL对应的数据量达到技术人员预先设置的数据量阈值时,可以将该WAL进行归档。
本申请提供的数据库备份的方法,可应用于图1所示的存储系统中。可通过预写日志(Write Ahead Log,WAL),实现备实例对主实例的数据库的备份,该方法能够减少对主实例存储空间的占用,且可以减少对存储系统中处理资源和网络资源占用。另外,本申请还提供了一种对WAL的管理方法,能够进一步减少数据库的备份对主实例存储空间的占用。
图2是本申请提供的一种数据库备份的方法流程图,该方法应用于存储系统,该存储系统可以是上述图1所示的存储系统,在该存储系统中的多个存储节点中包括至少一个主存储节点和每个主存储节点对应的至少一个备存储节点。其中,主存储节点即为部署主实例的存储节点,该主存储节点对应的备存储节点即为部署该主实例的备实例对应的存储节点。参见图2,该方法包括:
步骤201、目标主存储节点向对应的至少一个目标备存储节点发送目标事务的WAL。
其中,目标主存储节点可以是存储系统中任一主实例对应的存储节点。目标备存储节点是该任一主实例的备实例对应的存储节点。目标事务可以是备份周期中用户对主实例中的数据库进行操作的事务,该目标事务可以是一个也可以是多个。
在实施中,目标主存储节点可以按照备份周期,将在备份周期内根据目标事务生成的且已归档的WAL发送至对应的目标备存储节点。
步骤202、每个目标备存储节点根据WAL进行数据同步,在数据同步完成后,向管理节点发送同步完成通知。
其中,该管理节点可以是存储系统中任一运行有管理进程的节点,可用于对主实例中存储的WAL进行管理等。该节点可以是存储节点也可以是计算节点,如节点可以为主实例对应的存储节点。
每个目标备存储节点在接收到目标主存储节点发送的WAL后,目标备存储节点对应的备实例可以根据WAL进行数据同步。也就是备实例在当前运行的数据库的基础上,执行该WAL中记录的各个操作。这样备实例的数据库在经过与主实例在备份周期中相同的操作后,可以得到与主实例的数据库相同的数据库,如此也就实现了与主实例的数据库的备份。
在备实例根据WAL进行数据同步的过程中,备实例可以通过目标备存储节点向管理节点发送数据同步的同步进度。该同步进度可以是WAL中包括的各个操作的时间戳,和/或,操作序号。备实例在每次执行完WAL中的一个操作后,可以将该操作在WAL中对应的时间戳或操作序号发送至管理节点。每个备实例根据WAL完成数据同步后,可以通过目标备存储节点向管理节点发送的同步完成通知,其中,在同步完成通知中可以携带该WAL对应的标识信息,该标识信息可以是WAL的日志标识(identity document,ID)。并且,每个备实例根据WAL完成数据同步后,可以将相应的WAL删除。
步骤203、管理节点在确定目标主存储节点对应的目标备存储节点均完成数据同步后,向目标主存储节点发送删除通知。
在管理节点中存储有存储系统中每个主存储节点和备存储节点的对应关系。该对应关系可以是每个主实例在启动后,注册到管理节点的。即每个主实例在运行后,可以将该主实例的实例ID、该主实例对应备实例的实例ID以及各实例ID对应的主备关系(即主实例与备实例的对应关系)发送至管理节点。管理节点可以将每个主实例发送的主实例ID、备实例ID以及各实例ID对应的主备关系进行存储。
在实施中,管理节点可以接收每个备存储节点发送的同步完成通知。管理节点可以根据每个备存储节点发送的同步完成通知,确定主实例对应的备实例是否均根据WAL完成了对主实例数据库的数据同步。如管理节点可以在记录发送同步完成通知的备实例对应的实例ID以及同步完成通知中的WAL的日志ID。然后按照存储的各实例ID对应的主备关系,确定是否接收目标主存储节点对应的各个备实例发送的同步完成通知。在确定接收到目标主存储节点对应的各个备实例发送的同步完成通知后,则说明目标主存储节点对应的目标备存储节点均完成数据同步。之后,管理节点可以向目标主存储节点发送WAL的删除通知。
在一种可能的实施方式中,目标主存储节点在每次达到备份周期时,除了向目标备存储节点发送WAL外,还可以向管理节点发送目标事务的同步开始通知。在该同步开始通知中可以携带有本次目标主存储节点向目标备存储节点发送的WAL的日志ID。这样,管理节点可以在接收到目标主存储节点发送的同步开始通知后,可以启动对各目标备存储节点的监控,即监控是否接收到目标主存储节点对应的每个目标备存储节点发送的与同步开始通知具有相同的日志ID的同步完成通知。
其中,在目标主存储节点向管理节点发送的同步开始通知中,还可以携带有主实例与备实例的对应关系,即目标主存储节点对应的主实例的实例ID与目标备存储节点对应的备实例的实例ID的对应关系。在目标主存储节点预先向管理节点注册过目标主存储节点与目标备存储节点的对应关系的情况下,管理节点可以根据预先存储的对应关系对同步开始通知中携带的对应关系进行验证,验证通过后,可以启动对各目标备存储节点的监控。在目标主存储节点未向管理节点注册过目标主存储节点与目标备存储节点的对应关系的情况下,管理节点可以同步开始通知中携带的对应关系,对各目标备存储节点的监控。
步骤204、目标主存储节点删除WAL。
目标主存储节点在接收到管理节点发送的删除通知,可以根据删除通知中携带的WAL的日志ID,删除本地存储的对应日志ID的WAL。
由于为了确保事务的原子性和持久性,主实例中原本就会记录事务的WAL。因此,主实例将备份周期的WAL发送至备实例进行数据同步,不会多余占用主实例的存储空间。并且无需记录数据快照且无需对数据快照进行对比,因此也不会多余占用主实例的处理资源。又由于WAL中只记录对数据库的操作,如写操作。因此WAL的数据量不会大于通过对比数据快照得到的数据增量。因此通过WAL进行主实例与备实例的数据库备份,还能够减少对存储系统网络资源的占用。
另外,在本申请的步骤203中,还提供了一种对WAL进行管理的方法,即管理节点在确定每个备实例根据主实例发送的WAL完成数据同步后,可以向目标主存储节点发送删除通知,以使目标主存储节点删除发送的WAL,如何可以进一步减少对目标主存储节点存储空间的占用,并可以防止WAL误删、漏删等问题出现。
本申请还提供的数据库备份的方法基础上,本申请还提供了一种对数据库进行恢复的方法。在对数据库进行恢复的方法中,存储系统的多个存储节点中还可以包括WAL存储节点。每个主存储节点可以对应一个或多个WAL存储节点,WAL存储节点可用于对主存储节点生成的WAL进行备份。
在本申请提供的对数据库进行恢复的方法中,每个主存储节点在向对应的备存储节点发送备份周期中归档的WAL时,还可以向对应的WAL存储节点发送WAL。WAL存储节点可以接收并存储主存储节点发送的WAL,以对主存储节点的WAL进行备份。
并且,每个主存储节点在向对应的备存储节点发送备份周期中归档的WAL时,可以获取WAL对应的日志ID,以及该WAL中包括的各个操作对应的时间戳以及操作序号,然后将WAL对应的日志ID以及WAL中包括的各个操作对应的时间戳以及操作序号发送至管理节点。管理节点可以接收并对应存储每个主存储节点发送的WAL对应的日志ID以及WAL中包括的各个操作对应的时间戳以及操作序号。
图3是本申请提供的对数据库进行恢复的方法流程图,参见图3,该方法包括:
步骤301、目标主存储节点向管理节点发送数据恢复通知。
在实施中,目标主存储节点可以通过检测工具(如rocksdb-ldb)对数据库对应的各个数据文件进行检测。在检测到存在损坏的数据文件后,可以确定生成该数据文件对数据库所执行的各个操作对应的时间段。目标存储节点在得到损坏的数据文件对应的时间段后,可以将该时间段携带在数据恢复通知中并发送至管理节点。
步骤302、管理节点根据时间段以及目标主存储节点发送的各WAL对应的时间戳,确定时间段对应的至少一个WAL。
管理节点在接收到目标主存储节点发送的数据恢复通知后,可以获取该数据恢复通知中携带的需要进行数据恢复的时间段。然后根据目标主存储节点发送的各个WAL中各操作对应的时间戳,确定包括的各个操作能够覆盖该时间段的至少一个WAL。
步骤303、管理节点将至少一个WAL的标识信息发送至目标主存储节点。
步骤304、目标主存储节点根据标识信息从目标WAL存储节点获取至少一个WAL。
目标主存储节点接收到管理节点发送的至少一个WAL的标识信息后,可以向目标主存储节点对应的目标WAL存储节点发送WAL获取通知,其中,该WAL获取通知中可以携带管理节点发送的至少一个WAL的标识信息。目标WAL存储节点在接收到目标主存储节点发送的携带至少一个WAL的标识信息的WAL获取通知后,可以将本地存储的对应至少一个WAL的标识信息的WAL发送至目标主存储节点。
步骤305、目标主存储节点根据至少一个WAL进行数据恢复。
目标主存储节点接收到目标WAL存储节点发送的至少一个WAL后,可以执行至少一个WAL中包括的各个操作,进而对损坏的数据文件进行恢复。
在一种可能的情况中,上述步骤302中,管理节点除了可以确定覆盖目标主存储节点需要进行数据恢复的时间段的至少一个WAL外,还可以确定至少一个WAL中在对应时间段内的各个操作。相应的处理如下:
管理节点在确定覆盖目标主存储节点需要进行数据恢复的时间段的至少一个WAL后,可以在至少一个WAL包括的操作对应的时间戳中,确定与时间段的起始时间点差值最小且未在起始时间点之后的第一时间戳,并确定与时间段的截止时间点差值最小且未在截止时间点之前的第二时间戳。这样,对应的时间戳在第一时间戳和第二时间戳之间的各个操作,均为对应的时间段内执行的操作。
相应的在步骤303中,管理节点除了可以将至少一个WAL的标识信息发送至目标主存储节点外,还可以确定第一时间戳对应的第一操作,第二时间戳对应的第二操作。然后将第一操作和第二操作发送至目标主存储节点。其中,时间戳对应的操作可以是操作序号。
相应的在步骤305中,目标主存储节点根据至少一个WAL进行数据恢复的处理还可以如下:
目标主存储节点在确定需要进行数据恢复的时间段的至少一个WAL,以及至少一个WAL中在该时间段内的第一个操作对应的操作序号和最后一个操作对应的操作序号后。可以按照至少一个WAL在目标主存储节点中的生成的顺序,以及该第一个操作至该最后一个操作在相应的WAL中的操作序号,顺序执行该第一个操作至该最后一个操作的各操作,进而重新生成损坏的文件。如此可以减少数据恢复时需要执行的操作的数量,进而可以提高进行数据恢复的效率。
本申请实施例提供了一种存储系统,该存储系统可以是上述图1所示的存储系统。该存储系统中包括管理节点和多个存储节点,多个存储节点中包括至少一个主存储节点和每个主存储节点对应至少一个备存储节点,其中:
目标主存储节点,用于向对应的至少一个目标备存储节点发送目标事务的WAL;
每个目标备存储节点,用于根据该WAL进行数据同步,在数据同步完成后,向管理节点发送同步完成通知;
管理节点,用于在确定目标主存储节点对应的目标备存储节点均完成数据同步后,向目标主存储节点发送删除通知;
目标主存储节点,用于删除该WAL。
在一种示例中,管理节点中存储有目标主存储节点与目标备存储节点的对应关系;
管理节点,用于根据该对应关系,确定已接收到目标主存储节点对应的每个目标备存储节点发送的同步完成通知。
在一种示例中,目标主存储节点还用于,向管理节点发送目标事务的同步开始通知,该同步开始通知中携带有目标主存储节点与目标备存储节点的对应关系。
在一种示例中,多个存储节点中还包括每个主存储节点对应的WAL存储节点;
目标主存储节点还用于,向对应的目标WAL存储节点发送目标事务的WAL;
目标主存储节点还用于,向管理节点发送WAL中包括的至少一个操作的时间戳。
在一种示例中,目标主存储节点还用于,向管理节点发送数据恢复通知,数据恢复通知中携带有需要进行数据恢复的时间段;
管理节点还用于,根据该时间段以及目标主存储节点发送的各WAL对应的时间戳,确定时间段对应的至少一个WAL,将至少一个WAL的标识信息发送至目标主存储节点;
目标主存储节点还用于,根据该标识信息从目标WAL存储节点获取至少一个WAL,根据至少一个WAL进行数据恢复。
在一种示例中,管理节点还用于,在至少一个WAL包括的操作对应的时间戳中,确定与时间段的起始时间点差值最小且未在起始时间点之后的第一时间戳,并确定与时间段的截止时间点差值最小且未在截止时间点之前的第二时间戳,将第一时间戳对应的第一操作、第二时间戳对应的第二操作发送至目标主存储节点;
目标主存储节点用于,根据至少一个WAL的顺序以及至少一个WAL中各操作的顺序,执行由第一操作至第二操作的各操作。
上述实施例提供的存储系统进行数据库备份方法,可参见上述实施例对数据库备份方法的介绍,此处不再赘述。
图4是本申请实施例提供的一种计算设备400的结构示意图。该计算设备可以是上述实施例中的存储节点或管理节点。如图4所示,计算设备400包括:总线402、处理器404、存储器406和通信接口408。处理器404、存储器406和通信接口408之间通过总线402通信。应理解,本申请不限定计算设备400中的处理器和存储器的个数。
总线402可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线和控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线404可包括在计算设备400各个部件(例如,存储器406、处理器404和通信接口408)之间传送信息的通路。
处理器404可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器406可以包括易失性存储器(volatile memory),例如,随机存取存储器(random access memory,RAM)。处理器404还可以包括非易失性存储器(non-volatilememory),例如,只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器406中存储有可执行的程序代码,处理器404执行该可执行的程序代码可以实现前文中目标主存储节点、目标备存储节点和/或管理节点的功能,从而实现数据库备份的方法。也即,存储器406上存有用于执行数据库备份的方法对应的指令。
通信接口408使用例如但不限于网络接口卡和收发器一类的收发模块,来实现计算设备400与其他设备或通信网络之间的通信。
图5是本申请实施例提供的一种计算设备集群的示意图。该计算设备集群包括至少一个如图4所示的计算设备400,该计算设备集群可实现上述实施例中存储系统。如图5所示,该计算设备集群包括至少一个计算设备400。计算设备集群中的一个或多个计算设备400中的存储器406中可以存有相同的用于数据库备份的方法的指令。当计算设备集群中至少一个计算设备执行该指令时,可以使该计算设备集群实现如实施例所述的数据库备份的方法。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备400的存储器406中也可以分别存有用于执行数据库备份的方法的部分指令。换言之,一个或多个计算设备400的组合可以共同执行用于执行数据库备份的方法的指令。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行数据库备份的方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行数据库备份的方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请中术语“第一”和“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”和“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语“第一”和“第二”等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一操作可以被称为第二操作,并且类似地,第二操作可以被称为第一操作。第一操作和第二操作都可以是操作,并且在某些情况下,可以是单独且不同的操作。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的保护范围。
Claims (15)
1.一种数据库备份的方法,其特征在于,所述方法应用于存储系统,所述存储系统中包括管理节点和多个存储节点,所述多个存储节点中包括至少一个主存储节点和每个主存储节点对应至少一个备存储节点;
所述方法包括:
目标主存储节点向对应的至少一个目标备存储节点发送目标事务的预写日志WAL;
每个目标备存储节点根据所述WAL进行数据同步,在所述数据同步完成后,向所述管理节点发送同步完成通知;
所述管理节点在确定所述目标主存储节点对应的目标备存储节点均完成所述数据同步后,向所述目标主存储节点发送删除通知;
所述目标主存储节点删除所述WAL。
2.根据权利要求1所述的方法,其特征在于,所述管理节点中存储有所述目标主存储节点与目标备存储节点的对应关系;
所述确定所述目标主存储节点对应的目标备存储节点均完成所述数据同步,包括:
所述管理节点根据所述对应关系,确定已接收到所述目标主存储节点对应的每个目标备存储节点发送的同步完成通知。
3.根据权利要求2所述的方法,其特征在于,所述管理节点在确定所述目标主存储节点对应的目标备存储节点均完成所述数据同步之前,还包括:
所述目标主存储节点向所述管理节点发送所述目标事务的同步开始通知,所述同步开始通知中携带有所述目标主存储节点与目标备存储节点的对应关系。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述多个存储节点中还包括每个主存储节点对应的WAL存储节点,所述方法还包括:
所述目标主存储节点向对应的目标WAL存储节点发送所述目标事务的WAL;
所述目标主存储节点向所述管理节点发送所述WAL中包括的至少一个操作的时间戳。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述目标主存储节点向所述管理节点发送数据恢复通知,所述数据恢复通知中携带有需要进行数据恢复的时间段;
所述管理节点根据所述时间段以及所述目标主存储节点发送的各WAL对应的时间戳,确定所述时间段对应的至少一个WAL;
所述管理节点将所述至少一个WAL的标识信息发送至所述目标主存储节点;
所述目标主存储节点根据所述标识信息从所述目标WAL存储节点获取所述至少一个WAL;
所述目标主存储节点根据所述至少一个WAL进行数据恢复。
6.根据权利要求5所述的方法,其特征在于,所述目标主存储节点根据所述标识信息从所述目标WAL存储节点获取所述至少一个WAL之前,还包括:
所述管理节点在所述至少一个WAL包括的操作对应的时间戳中,确定与所述时间段的起始时间点差值最小且未在所述起始时间点之后的第一时间戳,并确定与所述时间段的截止时间点差值最小且未在所述截止时间点之前的第二时间戳;
所述管理节点将所述第一时间戳对应的第一操作、所述第二时间戳对应的第二操作发送至所述目标主存储节点;
所述目标主存储节点根据所述至少一个WAL进行数据恢复,包括:
所述目标主存储节点根据所述至少一个WAL的顺序以及所述至少一个WAL中各操作的顺序,执行由所述第一操作至所述第二操作的各操作。
7.一种存储系统,其特征在于,所述存储系统中包括管理节点和多个存储节点,所述多个存储节点中包括至少一个主存储节点和每个主存储节点对应至少一个备存储节点,其中:
目标主存储节点,用于向对应的至少一个目标备存储节点发送目标事务的预写日志WAL;
每个目标备存储节点,用于根据所述WAL进行数据同步,在所述数据同步完成后,向所述管理节点发送同步完成通知;
所述管理节点,用于在确定所述目标主存储节点对应的目标备存储节点均完成所述数据同步后,向所述目标主存储节点发送删除通知;
所述目标主存储节点,用于删除所述WAL。
8.根据权利要求7所述的存储系统,其特征在于,所述管理节点中存储有所述目标主存储节点与目标备存储节点的对应关系;
所述管理节点,用于根据所述对应关系,确定已接收到所述目标主存储节点对应的每个目标备存储节点发送的同步完成通知。
9.根据权利要求8所述的存储系统,其特征在于,所述目标主存储节点还用于,向所述管理节点发送所述目标事务的同步开始通知,所述同步开始通知中携带有所述目标主存储节点与目标备存储节点的对应关系。
10.根据权利要求7至9任一项所述的存储系统,其特征在于,所述多个存储节点中还包括每个主存储节点对应的WAL存储节点;
所述目标主存储节点还用于,向对应的目标WAL存储节点发送所述目标事务的WAL;
所述目标主存储节点还用于,向所述管理节点发送所述WAL中包括的至少一个操作的时间戳。
11.根据权利要求10所述的存储系统,其特征在于,所述目标主存储节点还用于,向所述管理节点发送数据恢复通知,所述数据恢复通知中携带有需要进行数据恢复的时间段;
所述管理节点还用于,根据所述时间段以及所述目标主存储节点发送的各WAL对应的时间戳,确定所述时间段对应的至少一个WAL,将所述至少一个WAL的标识信息发送至所述目标主存储节点;
所述目标主存储节点还用于,根据所述标识信息从所述目标WAL存储节点获取所述至少一个WAL,根据所述至少一个WAL进行数据恢复。
12.根据权利要求11所述的存储系统,其特征在于,所述管理节点还用于,在所述至少一个WAL包括的操作对应的时间戳中,确定与所述时间段的起始时间点差值最小且未在所述起始时间点之后的第一时间戳,并确定与所述时间段的截止时间点差值最小且未在所述截止时间点之前的第二时间戳,将所述第一时间戳对应的第一操作、所述第二时间戳对应的第二操作发送至所述目标主存储节点;
所述目标主存储节点用于,根据所述至少一个WAL的顺序以及所述至少一个WAL中各操作的顺序,执行由所述第一操作至所述第二操作的各操作。
13.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至6所述的数据库备份的方法。
14.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至6所述的数据库备份的方法。
15.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至6所述的数据库备份的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145360.1A CN117785546A (zh) | 2022-09-20 | 2022-09-20 | 数据库备份的方法、系统和计算设备集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211145360.1A CN117785546A (zh) | 2022-09-20 | 2022-09-20 | 数据库备份的方法、系统和计算设备集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785546A true CN117785546A (zh) | 2024-03-29 |
Family
ID=90394970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211145360.1A Pending CN117785546A (zh) | 2022-09-20 | 2022-09-20 | 数据库备份的方法、系统和计算设备集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785546A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394560A (zh) * | 2024-06-28 | 2024-07-26 | 苏州元脑智能科技有限公司 | 数据恢复方法及分布式存储系统、装置、程序产品 |
CN118394560B (zh) * | 2024-06-28 | 2024-10-22 | 苏州元脑智能科技有限公司 | 数据恢复方法及分布式存储系统、装置、程序产品 |
-
2022
- 2022-09-20 CN CN202211145360.1A patent/CN117785546A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394560A (zh) * | 2024-06-28 | 2024-07-26 | 苏州元脑智能科技有限公司 | 数据恢复方法及分布式存储系统、装置、程序产品 |
CN118394560B (zh) * | 2024-06-28 | 2024-10-22 | 苏州元脑智能科技有限公司 | 数据恢复方法及分布式存储系统、装置、程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575849B2 (en) | Synchronized backup and recovery of database systems | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US20190102257A1 (en) | Partial database restoration | |
US7499954B2 (en) | Consistent reintegration of a failed primary instance | |
CN109542682B (zh) | 一种数据备份方法、装置、设备和存储介质 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
CN103761165B (zh) | 日志备份方法及装置 | |
CN110543386A (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN107329859B (zh) | 一种数据保护方法及存储设备 | |
US11748215B2 (en) | Log management method, server, and database system | |
US6944635B2 (en) | Method for file deletion and recovery against system failures in database management system | |
CN115145697A (zh) | 数据库事务的处理方法、装置及电子设备 | |
CN110825546A (zh) | 一种面向高可用数据库集群的恢复方法、系统及设备终端 | |
CN115729749A (zh) | 一种数据备份方法及系统 | |
CN114490543A (zh) | 内存多维数据库的事务日志实现方法、装置、设备及介质 | |
US20200310650A1 (en) | Virtual machine synchronization and recovery | |
CN109960602B (zh) | 信息管理方法、装置、设备及介质 | |
CN114791901A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116483284B (zh) | 一种读写虚拟硬盘的方法、装置、介质及电子设备 | |
CN110825758B (zh) | 一种交易处理的方法及装置 | |
WO2017067397A1 (zh) | 一种数据恢复方法和装置 | |
CN106815098A (zh) | 基于Linux系统的设置备份与恢复的方法和系统 | |
CN109165117B (zh) | 数据处理的方法和系统 | |
CN106997305B (zh) | 一种事务处理方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |