一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据库中的数据备份方法与流程

2022-11-14 00:27:11 来源:中国专利 TAG:


1.本说明书的实施方式涉及数据库技术领域,更具体地,本说明书的实施方式涉及一种数据库中的数据备份方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本说明书的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在数据安全领域中,通常通过备份恢复功能来保障数据安全,以应对数据丢失等需要对数据进行恢复的情况。在数据库中,通常存储的数据量非常大,并且对数据安全的要求也比较高,需要频繁的对数据库中的数据进行备份。因此,数据库的备份与恢复通常需要消耗较大的的存储资源和花费较长的时间。


技术实现要素:

4.为克服相关技术中存在的问题,本说明书提供了以下方法及装置。
5.在本说明书实施方式的第一方面中,提供了一种数据库中的数据备份方法,所述方法包括:
6.响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理;
7.响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,
8.对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。
9.在本说明书实施方式的第二方面中,提供了一种数据库中的数据备份装置,所述装置包括:
10.数据备份单元:用于响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理;
11.数据存档单元:用于响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,
12.对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。
13.在本说明书实施方式的第三方面中,提供了一种存储介质;所述存储介质上存储有计算机程序,该计算机程序执行时实现如下所述方法的步骤:
14.响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理;
15.响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,
16.对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。
17.在本说明书实施方式的第四方面中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如下方法:
18.响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理;
19.响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,
20.对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。本说明书以上的实施方式,至少具有如下的有益效果:
21.在以上技术方案中,由于在数据库中采用了在数据库节点本地只存储元数据,而将元数据对应的业务数据存储在远端储存系统中的存储架构,因此在对上述数据库进行数据备份时,只需要对存储在数据库节点本地的元数据进行备份,只在元数据发生删除时归档对应的业务数据,并在数据恢复时恢复归档的技术数据,而不需要对存储在远端存储系统中的业务数据进行全量的备份,从而大大降低了数据库进行数据备份时所消耗的存储成本和时间成本。
附图说明
22.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
23.图1示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法的架构示意图;
24.图2示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法的流程图;
25.图3示意性地示出了根据本说明书实施方式的另一种数据库中的数据备份方法的流程图;
26.图4示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法中元数据备份过程的示意图;
27.图5示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法中数据恢复过程的示意图;
28.图6示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法中数据存档过程的示意图;
29.图7示意性地示出了根据本说明书实施方式的一种数据库中的数据备份装置的框图;
30.图8示意性地示出了根据本说明书实施方式的一种数据库中的数据备份方法所在计算机设备的一种硬件结构图。
31.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
32.下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书更加透彻和完整,并且能够将本说明书的范围完整地传达给本领域的技术人员。
33.本领域技术人员知道,本说明书的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本说明书可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
34.在数据安全领域中,通常需要定期对重要的数据进行备份,以在需要时将其进行恢复到备份时的状态。在数据库领域中,通常对数据安全的要求较高,因此,需要对数据库中的数据进行较为频繁的备份。但是,数据库所包含的数据量通常较大,频繁地对大量数据进行备份需要消耗较大的存储资源和时间成本。
35.有鉴于此,本说明书提出一种数据库中的数据备份方法。
36.下面结合附图对本说明书的方案进行详细说明。
37.请参见图1,图1是一示例性实施例提供的一种数据库中的数据备份系统的架构示意图。如图1所示,该系统可以包括网络10、服务器11、若干电子设备,如手机12、手机13和手机14等。
38.服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器、云服务器等。手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或至少一个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。
39.在一实施例中,服务器11可以与手机12-14进行配合;其中,可由手机12-14接受用户操作,并将接受到的命令和文件通过网络10上传至服务器11,然后由服务器11基于本说明书的方案对文件进行处理。在另一实施例中,手机12-14可以独立实现本说明书的方案;其中,由手机12-14接受用户操作,并基于本说明书的方案对接受的命令和文件进行处理,以实现数据库中的数据备份。
40.请参见图2,图2是一示例性实施例提供的一种数据库中的数据备份方法的流程图,该方法应用于处理设备,该处理设备可以为图1所示的服务器11或手机12-14等。
41.该方法包括以下步骤:
42.步骤202,响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理。
43.在本说明书示出的实施例中,数据库中存储的数据包括存储于远端存储系统的业务数据,和存储在上述数据库本地的与上述业务数据对应的元数据。
44.上述远端存储系统用于存储业务数据,数据库可访问上述远端存储系统中存储的业务数据。
45.需要说明的是,上述业务数据,具体可以包括用户基于具体的业务需求,在上述数据库中存储的任意类型的用户数据。
46.其中,上述业务数据的数据类型,通常与数据库所在的处理设备所搭载的业务类型相关,在本说明书中不进行特别限定。
47.例如,在一个例子中,以上述业务为云业务为例,则上述业务数据具体可以是用户在云服务端上的数据库中存储的与云业务相关的云数据。举例而言,上述云业务具体可以是云服务平台面向用户提供的oss(object storage service,对象存储)服务,而上述数据库可以是云服务平台上的oss数据库,在这种情况下,上述云数据具体可以包括用户上传至oss数据库进行存储的照片、视频等非结构化的数据。
48.上述元数据包括用于描述上述数据库细节的数据,和用于描述与元数据对应的业务数据的数据。
49.上述数据库可以获取到针对上述数据库的备份事件,以对上述数据库中的数据进行备份。
50.上述针对数据库的备份事件,可以是基于预设的备份周期定时触发的备份事件,也可以是由数据库管理程序或用户触发的备份事件,或是检测到上述数据库中数据发生了特定的改变而触发的备份事件,本说明书不对此进行具体限定。
51.获取到上述备份事件后,数据库可以获取本地存储的待备份的元数据。
52.上述待备份的元数据指元数据中需要进行备份的部分,通常可以由上述备份事件指定,也可以预设为所有元数据,或者指定部分的元数据等,本说明书不对此进行具体限定。
53.其中,本说明书不对上述待备份的元数据的备份存储的目标位置进行具体限定。例如,根据实际情况的需要,可以将上述备份存储到计算节点本地,也可以存储到上述远端存储系统中,或是存储到指定的其他存储设备中。
54.通常,在对上述元数据进行备份处理时,会记录备份的时刻。
55.通过对待备份的元数据的备份,可以在需要对元数据进行还原时,将元数据还原到指定的恢复时刻对应的状态。
56.步骤204,响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。
57.由于采用了元数据和业务数据分离存储的架构,当数据库本地的某些元数据被删除时,这些元数据的对应的存储在远端存储系统中的业务数据并不会被同步删除。
58.通常,元数据进行删除后,对应的业务数据也不会再被使用;因此,可以在删除本地的目标元数据时,对远端存储系统中对应的业务数据进行删除。
59.但是,由于本地的目标元数据进行删除后,可能会进行恢复,从而需要再次使用对应的业务数据,因此,目标元数据被删除时,不能直接对上述目标元数据对应的业务数据进行删除。
60.在对上述目标元数据对应的业务数据进行删除之前,要对上述远端存储系统中要被删除的业务数据进行存档处理。请参见图3,图3是一示例性实施例提供的一种数据库中的数据备份方法的流程图,该方法应用于处理设备,该处理设备可以为图1所示的服务器11或手机12-14等。该方法包括以下步骤:
61.步骤302,获取触发的针对所述数据库的备份事件。
62.在本说明书示出的实施例中,数据库包括由多个数据库节点组成的节点集群。上述数据库中存储的数据包括存储于远端存储系统的业务数据,和存储在上述数据库节点中的与上述业务数据对应的元数据。
63.在本说明书示出的一个示意性的实施例中,上述数据库采用存储计算分离架构,上述数据库包括云原生数据仓库;上述数据库节点包括基于上述远端存储系统存储的业务数据进行计算的计算节点。上述计算节点可以进行大规模对数据库中的数据进行并行处理。
64.云原生数据仓库是一种基于云上的共享资源,例如oss(obeject storage servie,对象存储服务)存储系统、s3(simple storage service,简便存储服务)等,实现的数据仓库。
65.上述远端存储系统用于存储业务数据,由上述节点集群中的多个数据库节点共享,各个数据库节点均可访问上述远端存储系统中存储的业务数据。
66.在本说明书示出的一个示意性的实施例中,上述远端存储系统包括部署在云端的oss存储系统。
67.上述元数据包括用于描述上述数据库细节的数据,和用于描述与元数据对应的业务数据的数据。
68.上述数据库可以获取到针对上述数据库的备份事件,以对上述数据库中的数据进行备份。
69.上述针对数据库的备份事件,可以是基于预设的备份周期定时触发的备份事件,也可以是由数据库管理程序或用户发出的备份指令触发的备份事件,或是检测到上述数据库中的数据发生了特定的改变而触发的备份事件,本说明书不对此进行具体限定。
70.在本说明书示出的一个示意性的实施例中,上述备份事件为基于预设的备份周期定时触发的备份事件。
71.在本说明书示出的一个示意性的实施例中,上述备份事件包括基于预设的第一备份周期触发的针对上述元数据的第一备份事件,和,基于预设的第二备份周期触发的针对上述元数据对应的日志文件的第二备份事件;通常,上述第二备份周期小于上述第一备份周期。
72.在数据节点中,待备份的元数据的数据量可能较大,且需要备份的频率较高,为进一步降低备份所消耗的存储空间和时间,可以降低备份元数据的频率,通过备份数据量明显更小的元数据对应的日志文件,来代替对元数据的备份。
73.例如,某数据库中的rpo(恢复点目标)指标为1小时,即最大备份周期为1小时,如果每1小时对该数据库的计算节点的元数据备份1次,需要消耗较多的资源;如果将元数据备份的周期延长到48小时,每1小时对元数据对应的日志文件进行备份,因为日志文件的数据量远小于其对应的元数据,因此备份所消耗的资源将大幅降低。
74.步骤304,响应于获取到的第一备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理。
75.获取到上述第一备份事件后,各个数据库节点可以分别获取本地存储的待备份的元数据。
76.上述待备份的元数据指元数据中需要进行备份的部分,通常可以由上述备份事件
指定,也可以预设为所有元数据,或者指定部分的元数据等,本说明书不对此进行具体限定。
77.上述日志文件记录了对应的元数据在完成上一次的备份后,发生的修改对应的修改详情信息,其中,上述修改可以包括对元数据的新增、改写、删除等各种可以改变元数据的操作。
78.获取到上述待备份的元数据后,可以对其进行备份。其中,本说明书不对上述待备份的元数据的备份存储的目标位置进行具体限定。例如,根据实际情况的需要,可以将上述备份存储到计算节点本地,也可以存储到上述远端存储系统中,或是存储到指定的其他存储设备中。
79.步骤306,响应于获取到的第二备份事件,获取与所述元数据对应的日志文件,并对获取到的所述日志文件进行备份处理。
80.获取到上述第二备份事件后,各个数据库节点可以分别获取本地存储的待备份的元数据对应的日志文件。
81.上述待备份的元数据指元数据中需要进行备份的部分,通常可以由上述备份事件指定,也可以预设为所有元数据,或者指定部分的元数据等,本说明书不对此进行具体限定。
82.上述日志文件记录了对应的元数据在完成上一次的备份后,发生的修改对应的修改详情信息,其中,上述修改可以包括对元数据的新增、改写、删除等各种可以改变元数据的操作。
83.获取到上述待备份的元数据及其对应的日志文件后,可以对其进行备份。其中,本说明书不对上述待备份的元数据及其对应的日志文件的备份存储的目标位置进行具体限定。例如,根据实际情况的需要,可以将上述备份存储到计算节点本地,也可以存储到上述远端存储系统中,或是存储到指定的其他存储设备中。
84.通过对待备份的元数据以及待备份的元数据对应的日志文件的备份,可以在需要对元数据进行还原时,将元数据还原到指定的恢复时刻对应的状态。
85.在本说明书示出的一个实施例中,上述获取到的元数据的备份存储到上述远端存储系统,例如oss存储系统中。
86.在本说明书示出的一个实施例中,上述获取到的元数据的备份存储到上述远端存储系统包括:将上述元数据写入数据管道;从上述数据管道中读取上述元数据,使用线程池将上述元数据分片并行上传到上述远端存储系统。
87.如图4所示,图4是根据本说明书实施方式的一种数据库中的数据备份方法中元数据备份过程的示意图。
88.各个数据节点中的元数据的备份可以写入数据管道中,由于元数据的数据量可能比较大,因此,可以采用线程池对元数据的备份传输到远端存储系统中的过程进行加速。
89.线程池可以将从上述数据管道中获取的元数据的备份,使用并发的,分片的方式,上传到远端存储系统,可以通过合理的调配多线程资源的方式,加快备份上传的速度。
90.步骤308,所述元数据备份完成后,分别判断已有的元数据的备份的保存时长是否超过预设的第一保存时长;若是,删除超过预设的第一保存时长的元数据的备份。
91.为了节省备份所需的存储空间,可以对保存时长过长的元数据的备份进行删除;
92.例如,可以设定预设的第一保存时长,当元数据备份完成后,可以分别判断已有的元数据的备份的保存时长是否超过上述第一保存时长,并删除保存时长超过上述第一保存时长的元数据的备份。
93.又例如,可以通过保存的元数据的备份的数量来控制元数据的保存时长;比如,可以预设保存的元数据的备份的最大数量,当保存的元数据的备份超过上述最大数量时,可以删除保存时长最长的元数据的备份。
94.又例如,可以通过保存的元数据的备份所占用的存储空间来控制元数据的保存时长;比如,可以预设保存的元数据的备份所占用的最大存储空间,当保存的元数据的备份占用的存储空间超过上述最大存储空间时,可以删除保存时长最长的元数据的备份。
95.步骤310,响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数据进行存档处理,并在所述存档处理完成后,删除所述业务数据。由于采用了元数据和业务数据分离存储的架构,当数据库节点本地的某些元数据被删除时,这些元数据的对应的存储在远端存储系统中的业务数据并不会被同步删除。
96.通常,元数据进行删除后,对应的业务数据也不会再被使用;因此,可以在删除本地的目标元数据时,对远端存储系统中对应的业务数据进行删除。
97.但是,由于本地的目标元数据进行删除后,可能需要进行恢复,从而需要再次使用对应的业务数据,因此,目标元数据被删除时,不能直接对上述目标元数据对应的业务数据进行删除。
98.在对上述目标元数据对应的业务数据进行删除之前,可以对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的存储于远端存储系统的业务数据进行存档处理。
99.上述存档处理可以是直接对需要存档的业务数据进行存档,也可以对需要存档的业务数据进行特定处理后进行存档,本说明书不进行具体限定。
100.在本说明书示出的一个实施例中,可以对上述需要存档的业务数据进行压缩后在进行存档,以节约对原始输出的存档所需的空间。
101.步骤312,响应于备份恢复指令,获取所述备份恢复指令中包括的恢复时刻,并获取距离所述恢复时刻最近一次的备份对应的元数据,以及所述恢复时刻之后最近一次的备份对应的日志文件。
102.当需要对上述数据库中的数据进行恢复时,用户可以发送备份恢复指令,以使元数据恢复到指定的恢复时刻的状态。
103.上述恢复指令可以包括恢复时刻,或称为恢复点;特别的,当上述恢复指令不包括恢复时刻,或恢复时刻为缺省值时,可以将恢复时刻指定为预设的恢复时刻,例如最近的恢复时刻,或距离上一次元数据进行备份时的时刻等,本说明书不对此进行具体限定。
104.上述恢复时刻包括一致性恢复时刻。由于上述节点集群中的多个数据库节点在处理事务时,不同的数据库节点在提交和处理事务中各个事务的顺序可能不同,因此,当上述事务提交处理完成后的时刻,各节点之间的状态才达到同步,各节点之间状态同步的恢复时刻,为一致性恢复时刻。在本说明中,若无特殊说明,恢复时刻通常为一致性恢复时刻。
105.步骤314,基于获取到的所述日志文件,对获取到的所述元数据进行重放,直到将
所述元数据恢复到与所述恢复时刻对应的数据版本。
106.当接受到上述备份恢复指令后,各个数据库节点可以获取上述恢复时刻对应的元数据的备份,和对应的日志文件的备份。上述恢复时刻对应的元数据的备份可以是上述恢复时刻前或上述恢复时刻后最近一次备份的元数据,上述日志文件通常可以是上述恢复时刻后最近一次备份对应的日志文件。
107.根据上述日志文件,对上述元数据进行重放,直到将所述元数据恢复到与所述恢复时刻对应的数据版本。
108.特别的,当存在备份时刻与上述恢复时刻相同的元数据的备份时,不需要基于日志文件对上述元数据进行重放。
109.在本说明书示出的一个示意性的实施例中,所述恢复指令指示将所述元数据恢复到新的集群;
110.所述基于获取到的所述日志文件的备份,对获取到的所述元数据的备份进行重放之前,所述方法还包括:
111.根据所述节点集群包括的数据库节点数量,创建由相同数量的新的数据库节点组成的恢复集群,其中,所述恢复集群中新的数据库节点与所述节点集群中数据库节点一一对应;
112.分别将所述节点集群中各个数据库节点中的元数据的备份和日志文件的备份传输到所述恢复集群中对应的新的数据库节点。
113.如图5所示,图5是根据本说明书实施方式的一种数据库中的数据备份方法中数据恢复过程的示意图。
114.当需要将元数据恢复到新的集群时,首先可以创建与上述节点集群对应的恢复集群;上述恢复集群中数据库节点的数量与上述节点集群中数据库节点的数量相等,并且,回复集群中的数据库节点与上述节点集群中的数据库节点一一对应。
115.当上述恢复集群创建完成后,根据上述恢复时刻,恢复集群中的每个数据库节点可以分别获取其对应的上述节点集群中的数据库节点对应的元数据和元数据对应的日志文件的备份。
116.以在恢复集群的各个数据库节点中,基于元数据的备份对应的日志文件对上述元数据进行重放,将所述元数据恢复到与所述恢复时刻对应的数据版本,以在恢复集群的各个数据库节点中,将元数据恢复到恢复时刻的版本。
117.步骤316,基于存档的业务数据,将已删除的业务数据恢复到所述恢复时刻对应的状态。
118.基于存档的业务数据,将已删除的业务数据恢复到上述恢复时刻对应的状态,以使恢复的元数据可以正确的访问其对应的业务数据。
119.在本说明书示出的一个示意性的实施中,由于在上述恢复时刻之前删除的元数据对应的业务数据不再被需要,可以只恢复上述恢复时刻之后存档的业务数据。
120.例如,如果上述需要恢复的业务数据在存档处理时进行过压缩处理,可以先将其进行相应的解压缩处理。
121.如图6所示,图6是根据本说明书实施方式的一种数据库中的数据备份方法中数据存档过程的示意图。
122.某元数据对应的业务数据为表t1,表t1初始包含8个oss文件f1,f2,
……
,f8。此时为恢复时刻rp1。
123.此后,用户针对表t1进行某种操作,例如vacuun merge操作后,表1中的部分数据被删除,并将8个oss文件合并为4个新的oss文件f'1,f'2,f'3,f'4,此时为恢复时刻rp2。由于部分业务数据被删除,因此,需要对业务数据,即表t1在数据被删除前的状态,即恢复时刻rp1时的状态进行存档。对表t1中的各oss文件重命名为f1.done...f8.done进行存档后,删除原oss文件f1,f2,
……
,f8。
124.此后,用户针对表t1进行某种操作,例如insert操作后,表1中插入了oss文件f'5、f'6,但没有数据被删除,则不需要对此前的业务数据进行存档,此时为恢复时刻rp3。
125.此后,用户针对表t1进行某种操作,例如vacuun merge操作后,表1中部分数据被删除,此时为恢复时刻rp4。由于部分业务数据被删除,因此,需要对业务数据,即表t1在数据被删除前的状态,即恢复时刻rp3时的状态进行存档。对表t1中的各oss文件重命名为f'1.done...f'6.done进行存档后,删除原oss文件f'1,f'2,
……
,f'6。
126.当获取到备份恢复指令,将元数据恢复到恢复时刻rp1后,可以将恢复时刻rp1对应的业务数据的存档,即存档文件f1.done...f8.done进行恢复。
127.步骤318,根据预设的判断周期,定期分别判断已有的业务数据的存档是否超出预设的第二保存时长,并删除超过预设的第二保存时长的业务数据的存档。
128.同样的,为了节省存档所需的存储空间,可以对保存时长过长的业务数据的存档进行删除;
129.例如,可以设定预设的第二保存时长,每隔预设的判断周期,可以分别判断已有的业务数据的存档的保存时长是否超过上述第二保存时长,并删除保存时长超过上述第二保存时长的业务数据的存档。
130.又例如,可以通过保存的业务数据的存档的数量来控制业务数据的保存时长;比如,可以预设保存的业务数据的存档的最大数量,当保存的业务数据的存档超过上述最大数量时,可以删除保存时长最长的业务数据的存档。
131.又例如,可以通过保存的业务数据的存档所占用的存储空间来控制业务数据的保存时长;比如,可以预设保存的业务数据的存档所占用的最大存储空间,当保存的业务数据的存档占用的存储空间超过上述最大存储空间时,可以删除保存时长最长的业务数据的存档。
132.在本说明书的示例性实施例中,还提供了一种数据库中的数据备份方法。请参见图7,图7是本说明书实施方式的数据库中的数据备份方法的框图。
133.所述数据库包括由多个数据库节点组成的节点集群;所述数据库中存储的数据包括存储于远端存储系统的业务数据,和存储在所述数据库节点本地的与所述业务数据对应的元数据;所述方法应用于所述数据库节点;所述装置包括:
134.数据备份单元710:用于响应于针对数据库的备份事件,获取存储在所述数据库本地的待备份的元数据,并对获取到的所述元数据进行备份处理;
135.数据存档单元720:用于响应于用户针对目标元数据的删除指令,删除所述目标元数据;以及,
136.对存储在与所述数据库对应的远端存储系统的,与所述目标元数据对应的业务数
据进行存档处理,并在所述存档处理完成后,删除所述业务数据。
137.可选的,所述装置还包括:
138.数据恢复单元730:用于响应于备份恢复指令,获取所述备份恢复指令中包括的恢复时刻,并获取距离所述恢复时刻最近一次的备份对应的元数据,以及所述恢复时刻之后最近一次备份对应的日志文件;
139.基于获取到的所述日志文件,对获取到的所述元数据进行重放,直到将所述元数据恢复到与所述恢复时刻对应的数据版本。
140.可选的,所述数据备份单元710,具体用于获取本地存储的待备份的元数据;以及,与所述元数据对应的日志文件,并对获取到的所述元数据和所述日志文件进行备份处理;其中,所述日志文件记录了所述元数据在完成上一次的备份之后发生的修改对应的修改详情信息。
141.可选的,所述备份事件为基于预设的备份周期定时触发的备份事件;所述备份事件包括基于预设的第一备份周期触发的针对所述元数据的第一备份事件;和基于预设的第二备份周期触发的针对所述日志文件的第二备份事件;其中,所述第二备份周期对应的周期时长,小于所述第一备份周期对应的周期时长;
142.对应的,所述数据备份单元710,具体用于响应于获取到的第一备份事件,获取本地存储的待备份的元数据,并对获取到的所述元数据进行备份处理;以及,
143.响应于获取到的第二备份事件,获取与所述元数据对应的日志文件,并对获取到的所述日志文件进行备份处理。
144.可选的,所述数据备份单元710,具体用于将所述元数据备份到所述远端存储系统。
145.可选的,所述元数据备份单元710,具体用于将所述元数据写入数据管道;从所述数据管道中读取所述元数据,使用线程池将所述元数据分片并行上传到所述远端存储系统。
146.可选的,所述装置还包括:
147.第一清理单元740,用于所述元数据备份完成后,分别判断已有的元数据的备份的保存时长是否超过预设的第一保存时长,并删除超过预设的第一保存时长的元数据备份。
148.业务数据可选的,所述装置还包括:
149.第二清理单元750,用于根据预设的判断周期,定期分别判断已有的业务数据的存档是否超出预设的第二保存时长;
150.若是,删除超过预设的第二保存时长的业务数据的存档。
151.可选的,所述数据库包括由多个数据库节点组成的节点集群;所述元数据存储在上述数据库节点;所述恢复指令指示将所述元数据恢复到新的集群;所述装置还包括:
152.恢复集群单元760,用于根据所述节点集群包括的数据库节点数量,创建由相同数量的新的数据库节点组成的恢复集群,其中,所述恢复集群中新的数据库节点与所述节点集群中数据库节点一一对应;分别将所述节点集群中各个数据库节点中的元数据的备份和日志文件的备份传输到所述恢复集群中对应的新的数据库节点。
153.可选的,所述数据库采用存储计算分离架构;所述数据库包括云原生数据仓库;所述数据库节点包括基于所述远端存储系统存储的所述业务数据进行计算的计算节点。
154.可选的,所述远端存储系统包括部署在云端的oss存储系统。
155.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
156.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少一个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
157.在本说明书的示例性实施例中,还提供了一种装置及其所应用的终端的实施例。
158.本说明书装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,图8为本说明书实施方式的一种装置所在计算机设备80的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
159.在本说明书的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本说明书各种示例性实施例的步骤。
160.根据本说明书的实施例用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本说明书的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
161.所述程序产品可以采用一个或至少一个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或至少一个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
162.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
163.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
164.可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如java、c 等,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
165.虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在至少一个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在至少一个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或至少一个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
166.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统单元和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成至少一个软件产品。
167.由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
168.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献