数据库集群的物理备份方法、存储介质及设备与流程

未命名 08-03 阅读:142 评论:0


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.根据表文件列表从各个节点中的多个备节点获取备节点表文件。
29.进一步地,获取物理备份开启信号的步骤之后还包括:
30.数据库记录完整的日志,以备归档和恢复时的日志重放。
31.根据本发明的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种数据库集群的物理备份方法。
32.根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种数据库集群的物理备份方法。
33.本发明的数据库集群的物理备份方法包括:获取物理备份开启信号;获取数据库集群中各个节点的物理备份开始时间;获取备节点表文件;获取备节点表文件的最后修改时间;根据物理备份开始时间与最后修改时间在备节点表文件中确定目标表文件;将目标表文件设置为物理备份来源。本发明的数据库集群的物理备份方法通过比较物理备份开始时间和表文件修改时间以确定可用表文件,确定了拷贝的数据来源的可靠性,进而提高数据库集群数据的一致性。
34.进一步地,本发明的数据库集群的物理备份方法中根据所述物理备份开始时间与所述最后修改时间确定在所述备节点表文件中目标表文件的步骤还包括:在所述备节点表文件中不存在所述目标表文件的情况下,确定目标数据页,将所述目标数据页设置为物理备份来源。本发明的数据库集群的物理备份方法将物理备份的粒度降低到了数据页级别,拷贝来源于集群的各个节点,降低了主节点的压力,提高了物理备份过程的吞吐量从而加快了拷贝速度,同时适用性广,不仅适用于同步集群和异步集群,也适用于同步转异步的集群。
35.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
36.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
37.图1是根据本发明一个实施例的数据库集群的物理备份方法中整合表文件的示意
图;
38.图2是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图;
39.图3是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图;
40.图4是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图;
41.图5是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图;
42.图6是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图;
43.图7是根据本发明一个实施例的机器可读存储介质的示意图;以及
44.图8是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
45.图1是根据本发明一个实施例的数据库集群的物理备份方法中整合表文件的示意图。本实施例的数据库集群一般性地包括主节点100和备节点200。如图1所示,本实施例的数据库集群的物理备份方法从各个节点分别拷贝不同的数据页,拼凑成完整的表文件300。
46.本实施例的数据库的表文件是结构化的文件,通常由一个或多个数据页构成,每个数据页的大小是相同的,同时数据页内部逻辑结构是一致的,内部都会有类似crc(crc,cyclic redundancy check,循环冗余校验)的本数据页的校验值。本实施例提取三种数据页作为物理备份时备份文件的来源,在物理备份的存储端拼凑成完整的物理表文件:在同步集群中所有节点的表文件都是一致的,在本发明中所有节点的所有数据页都是可用的,即可供物理备份使用;异步集群中的备节点的表文件都是滞后的,滞后的原因可能是该表文件内的一个或多个数据页内容没有被及时同步,但该表文件内的其他数据页和主节点的相对应的数据页保持了一致,这些数据页对物理备份来说也是可用的;如果异步集群备节点的某个表文件在物理备份期间被更新了,那更新后的表文件是可用的,因为可以借助数据库日志重放到一致性状态。
47.此外,若备份某数据页或连续的多个数据页时发现数据来源有多处,可使用以下方式确定数据页的拷贝来源,同时拷贝的粒度可以是单个数据页,也可以是连续的多个数据页:1、竞争方式,同时拷贝多个来源的同一数据页,最快的并且crc检验无误的数据页被保留,其他的抛弃。2、轮流方式,比如先使用a节点,再使用b节点、c节点,依次重复。3、权重方式,比如30%的概率使用a节点,70%的概率使用b节点,不使用主节点,再例如a节点拷贝两个数据页,b节点拷贝一个数据页。
48.图2是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图。如图2所示,本实施例数据库集群的物理备份方法包括:
49.步骤s202,获取物理备份开启信号。
50.步骤s204,获取数据库集群中各个节点的物理备份开始时间;
51.步骤s206,获取备节点表文件
52.步骤s208,获取备节点表文件的最后修改时间。
53.步骤s210,根据物理备份开始时间与最后修改时间在备节点表文件中确定目标表文件。
54.步骤s212,将目标表文件设置为物理备份来源。
55.本实施例的数据库集群的物理备份方法包括:获取物理备份开启信号;获取数据
库集群中各个节点的物理备份开始时间;获取备节点表文件;获取备节点表文件的最后修改时间;根据物理备份开始时间与最后修改时间在备节点表文件中确定目标表文件;将目标表文件设置为物理备份来源。本实施例的数据库集群的物理备份方法通过比较物理备份开始时间和表文件修改时间以确定可用表文件,确定了拷贝的数据来源的可靠性,进而提高数据库集群数据的一致性。
56.在一些其他实施例中,获取物理备份开启信号之后的步骤之后还包括:数据库记录完整的日志,以备归档和恢复时的日志重放
57.在一些实施例中,将目标表文件设置为物理备份来源的步骤之后还包括:从所述主节点拷贝的第一类型文件,从所述备节点拷贝第二类型文件。第一类型文件可以为其他关键文件或由用户定义的文件,第二类型文件可以为其他非关键文件或由用户定义的文件。
58.图3是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图。如图3所示,本实施例的数据库集群的物理备份方法包括:
59.步骤s302,获取物理备份开启信号。
60.步骤s304,获取数据库集群中各个节点的物理备份开始时间。
61.步骤s306,获取备节点表文件。
62.步骤s308,获取备节点表文件的最后修改时间。
63.步骤s310,判断物理备份开始时间是否大于最后修改时间。若是,则执行步骤s312。若否,则执行步骤s314。
64.步骤s312,在物理备份开始时间大于最后修改时间的情况下,确定备节点表文件为目标表文件。
65.步骤s314,若备节点文件中的表文件的物理备份开始时间都是小于等于物理开始备份时间,则确定备节点表文件中不存在目标表文件,此时确定目标数据页,将目标数据页设置为物理备份来源。
66.在一些实施例中,获取物理备份开启信号的步骤之后还包括:数据库记录完整日志,以备归档和恢复时的日志重放。
67.本实施例的数据库集群的物理备份方法将物理备份的粒度降低到了数据页级别,拷贝来源于集群的各个节点,降低了主节点的压力,提高了物理备份过程的吞吐量,从而加快了拷贝速度,同时适用性广,不仅适用于同步集群和异步集群,也适用于同步转异步的集群。
68.图4是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图。如图4所示,本实施例的数据库集群的物理备份方法中确定目标数据页的步骤包括:
69.步骤s402,获取主节点表文件。
70.步骤s404,获取主节点表文件的每个数据页的校验值,记为主节点校验值。
71.步骤s406,获取备节点表文件的每个数据页的校验值,记为备节点校验值。
72.步骤s410,根据主节点校验值和备节点校验值确定目标数据页。
73.图5是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图。如图5所示,本实施例的数据库集群的物理备份方法中根据所述主节点校验值和所述备节点校验值确定目标数据页的步骤包括:
74.步骤s502,判断主节点校验值与备节点校验值是否一致。
75.步骤s504,在主节点校验值与备节点校验值一致时,确定备节点表文件的数据页为目标数据页。
76.图6是根据本发明一个实施例的数据库集群的物理备份方法的示意性步骤图。如图6所示,本实施例的数据库集群的物理备份方法中获取备节点表文件的步骤包括:
77.步骤s602,从各个节点中的主节点获取表文件列表。
78.步骤s604,根据表文件列表从各个节点中的多个备节点获取备节点表文件。
79.本实施例的数据库集群的物理备份方法还可以描述为:开始物理备份,让数据库记录完整的日志以备归档和恢复时的日志重放。获取各个节点的时间t1,其中各个节点的t1可以有一些容忍的时间误差。从主节点获取表文件列表,对每个表文件做如下循环:从所有备节点上获取表文件的最后修改时间t2,若某备节点上该表文件最后的修改时间t2大于t1,则该备节点的表文件是可用的。若存在多个备节点上该表文件最后修改时间t2大于t1,则这些备节点的表文件都是可用的。若没有可用的表文件供拷贝,则从所有节点上读取表文件的每个数据页的crc值,从各个节点中找到与主节点校验值一致的可用的数据页。其中每个数据页的crc可以按需以多数据页为单位,多块的crc做一次哈希计算。标记主节点的数据页可用。通过数据页拷贝来源设置的方法,从不同节点拷贝不同的数据页,拼凑成一个完整的物理表文件。从主节点拷贝其他关键文件,从备节点拷贝其他非关键文件。结束物理备份。
80.本发明的数据库集群的物理备份方法将物理备份的粒度降低到了数据页级别,拷贝来源于集群的各个节点,降低了主节点的压力,提高了物理备份过程的吞吐量从而加快了拷贝速度,同时适用性广,不仅适用于同步集群和异步集群,也适用于同步转异步的集群。
81.本实施例还提供了一种机器可读存储介质和计算机设备。图7是根据本发明一个实施例的机器可读存储介质的示意图,图8是根据本发明一个实施例的计算机设备的示意图。
82.机器可读存储介质40其上存储有机器可执行程序41,机器可执行程序41被处理器执行时实现上述任一实施例的数据库集群的物理备份方法。
83.计算机设备50可以包括存储器520、处理器510及存储在存储器520上并在处理器510上运行的机器可执行程序41,并且处理器510执行机器可执行程序41时实现上述任一实施例的数据库集群的物理备份方法。
84.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
85.就本实施例的描述而言,机器可读存储介质40可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存
储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质40甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
86.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
87.计算机设备50可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备50可以是云计算节点。计算机设备50可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备50可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
88.计算机设备50可以包括适于执行存储的指令的处理器510、在操作期间为所述指令的操作提供临时存储空间的存储器520。处理器510可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器520可以包括随机存取存储器(ram)、只读存储器、闪存或任何其他合适的存储系统。
89.处理器510也可以通过系统互连链接到适于将计算机设备50连接到显示设备的显示接口。显示设备可以包括作为计算机设备50的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备50的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,nic)可以适于通过系统互连将计算机设备50连接到网络。在一些实施例中,nic可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(wan))、局域网(lan)或因特网等等。远程设备可以通过网络连接到计算设备。
90.本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
91.至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

技术特征:
1.一种数据库集群的物理备份方法,包括:获取物理备份开启信号;获取所述数据库集群中各个节点的物理备份开始时间;获取备节点表文件;获取所述备节点表文件的最后修改时间;根据所述物理备份开始时间与所述最后修改时间在所述备节点表文件中确定目标表文件;将所述目标表文件设置为物理备份来源。2.根据权利要求1所述的数据库集群的物理备份方法,其中,根据所述物理备份开始时间与所述最后修改时间在所述备节点表文件中确定目标表文件的步骤包括:在所述物理备份开始时间大于所述最后修改时间的情况下,确定所述备节点表文件为所述目标表文件。3.根据权利要求2所述的数据库集群的物理备份方法,其中,根据所述物理备份开始时间与所述最后修改时间确定在所述备节点表文件中目标表文件的步骤还包括:在所述备节点表文件中不存在所述目标表文件的情况下,确定目标数据页,将所述目标数据页设置为物理备份来源。4.根据权利要求3所述的数据库集群的物理备份方法,其中,确定目标数据页的步骤包括:获取主节点表文件;获取所述主节点表文件的每个数据页的校验值,记为主节点校验值;获取所述备节点表文件的每个数据页的校验值,记为备节点校验值;根据所述主节点校验值和所述备节点校验值确定目标数据页。5.根据权利要求4所述的数据库集群的物理备份方法,其中,根据所述主节点校验值和所述备节点校验值确定目标数据页的步骤包括:在所述主节点校验值与所述备节点校验值一致时,确定所述备节点表文件的数据页为所述目标数据页。6.根据权利要求1所述的数据库集群的物理备份方法,其中,将所述目标表文件设置为物理备份来源的步骤之后还包括:从所述主节点拷贝的第一类型文件,从所述备节点拷贝第二类型文件。7.根据权利要求1所述的数据库集群的物理备份方法,其中,所述获取备节点表文件的步骤包括:从所述各个节点中的主节点获取表文件列表;根据所述表文件列表从所述各个节点中的多个备节点获取所述备节点表文件。8.根据权利要求1所述的数据库集群的物理备份方法,其中,获取物理备份开启信号的步骤之后还包括:所述数据库记录完整的日志,以备归档和恢复时的日志重放。9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库集群的物理备份方法。10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运
行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库集群的物理备份方法。

技术总结
本发明提供了一种数据库集群的物理备份方法、存储介质及设备,该数据库集群的物理备份方法包括:获取物理备份开启信号;获取数据库集群中各个节点的物理备份开始时间;获取备节点表文件;获取备节点表文件的最后修改时间;根据物理备份开始时间与最后修改时间在备节点表文件中确定目标表文件;将目标表文件设置为物理备份来源。本发明的数据库集群的物理备份方法通过比较物理备份开始时间和表文件修改时间以确定可用表文件,确定了拷贝的数据来源的可靠性,进而提高数据库集群数据的一致性。性。性。


技术研发人员:王明军 李翔
受保护的技术使用者:北京人大金仓信息技术股份有限公司
技术研发日:2023.03.03
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐