CN114721881B - 一种数据库管理方法、系统、电子设备及存储介质 - Google Patents
一种数据库管理方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114721881B CN114721881B CN202210643576.4A CN202210643576A CN114721881B CN 114721881 B CN114721881 B CN 114721881B CN 202210643576 A CN202210643576 A CN 202210643576A CN 114721881 B CN114721881 B CN 114721881B
- Authority
- CN
- China
- Prior art keywords
- backup
- task
- request
- file
- incremental
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 110
- 238000013515 script Methods 0.000 claims abstract description 203
- 238000012217 deletion Methods 0.000 claims abstract description 55
- 230000037430 deletion Effects 0.000 claims abstract description 55
- 238000011084 recovery Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 25
- 230000003993 interaction Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 8
- 238000007639 printing Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库管理方法、系统、电子设备及存储介质,所属的技术领域为数据库技术领域,用于提高数据库的用户体验。数据库管理方法,包括:接收用户端设备发送的脚本执行参数;将脚本执行参数传入云主机的目标脚本;通过运行目标脚本执行用户操作请求对应的数据库管理操作;其中,若用户操作请求为增量备份请求,则运行目标脚本时执行的数据库管理操作包括:生成备份文件,并将备份文件的备份信息添加至任务元文件;若用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则运行目标脚本时执行的数据库管理操作包括:根据任务元文件执行对应的数据库管理操作,本申请能够提高数据库管理的效率。
Description
技术领域
本申请涉及数据库技术领域,特别涉及一种数据库管理方法、系统、电子设备及存储介质。
背景技术
随着云主机的发展,云主机提供的服务也越来越多。对数据库服务而言,数据库备份关系到数据库服务的稳定性,安全性和可靠性,因此显得尤为重要。常规的数据库全量备份占用存储空间较大,备份了过多的重复数据,造成严重的存储浪费,而逻辑备份恢复速度慢,当数据库异常时无法快速恢复。因此在备份方式的选择上基于物理备份的增量备份方式更容易被用户所接受和采纳。
Xtrabackup等数据备份工具可以实现数据库服务增量物理备份,但是,在使用时基于命令行只能实现单次的操作,无法将一系列的增量备份串联整合起来,用户在使用其进行增量备份时使用成本较高,用户体验较差。
因此,如何提高数据库管理的效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据库管理方法、一种数据库管理系统、一种电子设备及一种存储介质,能够提高数据库管理的效率。
为解决上述技术问题,本申请提供一种数据库管理方法,应用于运行有数据备份工具的云主机,该数据库管理方法包括:
接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;
将所述脚本执行参数传入所述云主机的目标脚本;
通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
可选的,所述生成备份文件,并将所述备份文件的备份信息添加至所述任务元文件,包括:
确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;
若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;
若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
可选的,若所述用户操作请求为增量备份恢复请求,则根据所述任务元文件执行对应的数据库管理操作包括:
确定所述增量备份恢复请求对应的待恢复备份文件;
若所述待恢复备份文件可用,则判断所述待恢复备份文件的备份信息是否在所述任务元文件的第一行;
若是,则利用所述待恢复备份文件执行备份恢复操作;
若否,则根据所述任务元文件确定所述待恢复备份文件之前备份生成的所有历史备份文件,将所述历史备份文件和所述待恢复备份文件进行合并得到合并文件,利用所述合并文件执行备份恢复操作。
可选的,若所述用户操作请求为备份删除请求,则根据所述任务元文件执行对应的数据库管理操作包括:
确定所述备份删除请求对应的待删除备份文件;
根据所述任务元文件判断所述待删除备份文件是否被其他备份文件引用;
若是,则对所述待删除备份文件进行逻辑删除;
若否,则将所述待删除备份文件进行物理删除。
可选的,还包括:
若存在引用关系的多个备份文件被逻辑删除,则合并所述存在引用关系的多个备份文件。
可选的,在将所述待删除备份文件进行物理删除之后,还包括:
在所述任务元文件中删除所述待删除备份文件的备份信息。
可选的,若所述用户操作请求为备份状态获取请求,则根据所述任务元文件执行对应的数据库管理操作包括:
生成所述备份状态获取请求对应的备份状态获取任务,根据所述备份状态获取任务确定待查询备份文件;
判断所述待查询备份文件是否存在;
若存在,则获取所述待查询备份文件在所述任务元文件中的MD5值;
判断所述待查询备份文件与所述任务元文件中的MD5值是否匹配;
若匹配,则判定所述待查询备份文件的备份状态正常。
可选的,所述脚本执行参数为所述用户端设备的后端程序通过虚拟机内部的守护程序传输的参数。
本申请还提供一种数据库管理方法,应用于用户端设备,包括:
确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
根据所述用户操作请求确定脚本执行参数;
向运行有数据备份工具的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
可选的,所述确定用户操作请求,包括:
接收用户在人机交互界面输入的请求参数,根据所述请求参数确定所述用户操作请求。
可选的,向运行有数据备份工具的云主机发送所述脚本执行参数之后,还包括:
接收所述云主机反馈的数据库管理操作的执行结果,在人机交互界面显示所述执行结果。
本申请还提供了一种数据库管理系统,应用于运行有数据备份工具的云主机,该系统包括:
参数接收模块,用于接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;
参数传入模块,用于将所述脚本执行参数传入所述云主机的目标脚本;
脚本运行模块,用于通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
本申请还提供了一种数据库管理装置,应用于用户端设备,包括:
请求确定模块,用于确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
参数确定模块,用于根据所述用户操作请求确定脚本执行参数;
参数传递模块,用于向运行有数据备份工具的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据库管理方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据库管理方法执行的步骤。
本申请提供了一种数据库管理方法,应用于运行有数据备份工具的云主机,包括:接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;将所述脚本执行参数传入所述云主机的目标脚本;通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
本申请根据用户端设备发送的脚本执行参数设置云主机的目标脚本,并利用目标脚本执行用户操作请求对应的数据库管理操作。若用户操作请求为增量备份请求时,本申请生成备份文件并将备份文件的备份信息添加至任务元文件,任务元文件用于存储同一增量备份任务的每次增量备份的关联信息,进而根据任务元文件实现增量备份恢复、备份删除或备份状态的操作。通过上述方式无需用户关注数据库管理操作的技术细节,由云主机中的目标脚本执行用户操作请求对应的数据库管理操作,能够提高数据库管理的效率。本申请同时还提供了一种数据库管理系统、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据库管理方法的流程图;
图2为本申请实施例所提供的一种基于Xtrabackup的云主机MySQL数据库增量备份系统的结构示意图;
图3为本申请实施例所提供的一种备份脚本进行增量备份的操作流程图;
图4为本申请实施例所提供的一种增量备份恢复脚本进行增量备份恢复的操作流程图;
图5为本申请实施例所提供的一种备份删除脚本进行备份删除的操作流程图;
图6为本申请实施例所提供的一种备份状态获取脚本进行备份删除的操作流程图;
图7为本申请实施例所提供的一种数据库管理系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据库管理方法的流程图。
具体步骤可以包括:
S101:接收用户端设备发送的脚本执行参数;
其中,本实施例可以应用于运行有数据备份工具(如Xtrabackup)的云主机,该云主机用于提供MySQL数据库服务,用户可以用户端设备的人机交互界面(UI界面)输入用户操作请求,用户设备的后端程序可以根据用户操作请求确定相应的脚本执行参数。具体的,后端程序可以通过虚拟机内部的守护程序向云主机传输脚本执行参数。上述虚拟机内部的守护程序可以为qemu-guest-agent(Quick EMUlator- guest-agent,虚拟操作系统模拟器用户引导程序)。
S102:将所述脚本执行参数传入所述云主机的目标脚本;
其中,在得到脚本执行参数后可以将脚本执行参数传入云主机的目标脚本。可以理解的是,不同的用户操作请求对应不同的脚本执行参数,脚本执行参数传入对应的目标脚本(如,备份脚本、增量备份恢复脚本、备份删除脚本、备份状态获取脚本)后,目标脚本可以实现用户操作请求对应的操作。具体的,若用户操作请求为增量备份请求,则可以将脚本执行参数传入备份脚本;若用户操作请求为增量备份恢复请求,则可以将脚本执行参数传入增量备份恢复脚本;若用户操作请求为备份删除请求,则可以将脚本执行参数传入备份删除脚本;若用户操作请求为备份状态获取请求,则可以将脚本执行参数传入备份状态获取脚本。
S103:通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,在将脚本执行参数传入相应的目标脚本后可以通过运行目标脚本实现相应的数据库管理。
具体的,用户操作请求可以为增量备份请求、增量备份恢复请求、备份删除请求或备份状态获取请求,对于每一种用户操作请求,脚本执行参数传入目标脚本后执行相应的数据库管理操作。若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
具体的,若所述用户操作请求为增量备份请求,则运行所述目标脚本(备份脚本)时执行的数据库管理操作包括:生成备份文件,并将所述备份文件的备份信息添加至所述任务元文件。上述任务元文件为增量备份任务对应的元文件,用于记录增量备份任务每次的备份信息,上述备份信息可以包括备份标识backup ID和MD5(信息摘要算法)值,备份标识为备份文件对应压缩文件的存储路径,MD5值为备份文件的MD5值。例如任务元文件可以包括某一增量备份任务的全量备份文件的备份信息、第1次增量备份的备份信息、第2次增量备份的备份信息、……,第n次增量备份的备份信息。
任务元文件中存储有每次增量备份的关联信息,因此若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则运行所述目标脚本(增量备份恢复脚本、备份删除脚本或备份状态获取脚本)时执行的数据库管理操作包括:根据所述任务元文件中存储的每次增量备份的关联信息执行对应的数据库管理操作。
本实施例根据用户端设备发送的脚本执行参数设置云主机的目标脚本,并利用目标脚本执行用户操作请求对应的数据库管理操作。若用户操作请求为增量备份请求时,本实施例生成备份文件并将备份文件的备份信息添加至任务元文件,任务元文件用于存储同一增量备份任务的每次备份之间的关联信息(即,全量备份文件与增量备份文件之间的关联信息,增量备份文件之间的关联信息),进而根据任务元文件实现增量备份恢复、备份删除或备份状态的操作。通过上述方式无需用户关注数据库管理操作的技术细节,由云主机中的目标脚本执行用户操作请求对应的数据库管理操作,能够提高数据库管理的效率。
作为对于图1对应实施例的进一步介绍,若所述用户操作请求为增量备份请求,则运行所述目标脚本(备份脚本)时执行的数据库管理操作包括:确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
通过上述方式可以实现数据库增量备份。用户在人机交互界面配置好定时备份的相关参数(即增量备份请求)后,后端程序通过虚拟机内部的守护程序qemu-guest-agent将参数下发至MySQL数据库服务所在云主机,以便云主机基于数据备份工具Xtrabackup执行数据库增量备份操作,在进行备份时首次进行全量备份,之后基于上一次备份做增量备份。
进一步的,若所述用户操作请求为增量备份恢复请求,则运行所述目标脚本(增量备份恢复脚本)时执行的数据库管理操作包括:确定所述增量备份恢复请求对应的待恢复备份文件;若所述待恢复备份文件可用,则判断所述待恢复备份文件的备份信息是否在所述任务元文件的第一行;若是,则利用所述待恢复备份文件执行备份恢复操作;若否,则根据所述任务元文件确定所述待恢复备份文件之前备份生成的所有历史备份文件,将所述历史备份文件和所述待恢复备份文件进行合并得到合并文件,利用所述合并文件执行备份恢复操作。待恢复备份文件指需要恢复的备份文件。
通过上述方式可以实现增量备份的数据库恢复。数据库恢复时首先需要将当前恢复时间节点涉及到的所有备份文件执行数据备份工具Xtrabackup命令进行合并整合,然后暂停数据库服务,将整合后的数据库文件拷贝至数据库的制定目录下重启数据库服务,完成数据库的恢复。
作为对于图1对应实施例的进一步介绍,若所述用户操作请求为备份删除请求,则运行所述目标脚本(备份删除脚本)时执行的数据库管理操作包括:确定所述备份删除请求对应的待删除备份文件;根据所述任务元文件判断所述待删除备份文件是否被其他备份文件引用;若是,则对所述待删除备份文件进行逻辑删除;若否,则将所述待删除备份文件进行物理删除。待删除备份文件指需要删除的备份文件。进一步的,若存在引用关系的多个备份文件被逻辑删除,则合并所述存在引用关系的多个备份文件,以便节约物理存储空间。在将所述待删除备份文件进行物理删除之后,还可以在所述任务元文件中删除所述待删除备份文件的备份信息,以便更新任务元文件。
通过上述方式可以实现备份删除时的文件自动合并。随着备份时间的增加,备份文件越来越多,对于用户不再需要的数据库备份时间节点,用户可以进行备份删除,但是增量备份中各备份文件存在依赖关系,不被其他备份文件依赖的备份文件可以直接删除,被依赖的备份文件如果跟全量文件有直接关联可以合并到全量文件中,进而减少文件数量,降低维护成本,提升备份恢复速度。
作为对于图1对应实施例的进一步介绍,若所述用户操作请求为备份状态获取请求,则运行所述目标脚本(备份状态获取脚本)时执行的数据库管理操作包括:生成所述备份状态获取请求对应的备份状态获取任务,根据所述备份状态获取任务确定待查询备份文件;判断所述待查询备份文件是否存在;若存在,则获取所述待查询备份文件在所述任务元文件中的MD5值;判断所述待查询备份文件与所述任务元文件中的MD5值是否匹配;若匹配,则判定所述待查询备份文件的备份状态正常;若不匹配,则判定所述待查询备份文件的备份状态异常。
通过上述方式可以实现备份文件的状态校验。某个备份时间节点能否进行恢复需要保证该时间节点所需要的备份文件全部存在且无损坏,本实施例可以定时对备份文件的状态进行校验,告知用户备份文件是否有效。通过上述方还可以实现对用户更友好便捷的云主机MySQL(关系型数据库管理系统)数据库的增量备份体验,节省备份存储空间,降低使用成本。
在上述实施例中,用户可以在用户端设备的UI界面进行数据增量备份的配置、恢复、删除、校验等操作,后端程序将请求通过虚拟机内部的守护程序qemu-guest-agent下发至MySQL数据库服务所在云主机并执行数据库备份的相关脚本进行数据库备份、恢复、删除校验等操作。在实现过程中将每个备份任务的所有备份信息写入云主机的任务元文件中,借助任务元文件实现增量备份的相关功能。通过以上实施例,用户可以无感知一键化实现MySQL数据库服务的增量备份,并且基于多个备份文件一键恢复到任意状态,同时可以对备份文件进行自动合并提升恢复速度。本实施例借助数据备份工具Xtrabackup实现增量备份,基于备份脚本实现增量备份的相关逻辑实现,通过备份任务元文件记录备份间的依赖关系。备份脚本实现后依赖于虚拟机内部的守护程序qemu-guest-agent使得服务后端可以运行该脚本实现数据库的一键自动化增量备份。
本申请实施例还提供了一种应用于用户端设备的数据库管理方法,其具体过程包括:
步骤1:确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
步骤2:根据所述用户操作请求确定脚本执行参数;
步骤3:向运行有数据备份工具Xtrabackup的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
上述用户操作请求可以包括增量备份请求、增量备份恢复请求、备份删除请求和备份状态获取请求中的任一种或任几种的组合。若所述用户操作请求为增量备份请求,则云主机运行所述目标脚本时执行的数据库管理操作包括:生成备份文件,并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则云主机运行所述目标脚本时执行的数据库管理操作包括:根据所述任务元文件执行对应的数据库管理操作。
本实施例根据用户操作请求确定脚本执行参数,将脚本执行参数发送至云主机,以使云主机根据脚本执行参数设置云主机的目标脚本,并利用目标脚本执行用户操作请求对应的数据库管理操作。若用户操作请求为增量备份请求时,本实施例生成备份文件并将备份文件的备份信息添加至任务元文件,任务元文件用于存储同一增量备份任务的每次备份之间的关联信息(即,全量备份文件与增量备份文件之间的关联信息,增量备份文件之间的关联信息),进而根据任务元文件实现增量备份恢复、备份删除或备份状态的操作。通过上述方式无需用户关注数据库管理操作的技术细节,由云主机中的目标脚本执行用户操作请求对应的数据库管理操作,能够提高数据库管理的效率。
作为对于上述实施例的进一步介绍,可以通过以下方式确定用户操作请求:接收用户在人机交互界面输入的请求参数,根据所述请求参数确定所述用户操作请求。进一步的,在向运行有数据备份工具Xtrabackup的云主机发送所述脚本执行参数之后,还可以接收所述云主机反馈的数据库管理操作的执行结果,在人机交互界面显示所述执行结果。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
请参见图2,图2为本申请实施例所提供的一种基于数据备份工具Xtrabackup的云主机MySQL数据库增量备份系统的结构示意图,用户端设备的包括UI界面和后端程序,用户可以通过人机交互界面触发备份相关操作(即,输入用户操作请求),后端程序可以拼装处理用户操作请求得到脚本执行参数并将脚本执行参数发送至云主机,云主机可以按照脚本执行参数运行相应的脚本。
用户可以在人机交互界面触发如下备份相关操作:
数据库备份:用户选择要备份的数据库、备份文件存放位置、备份文件的保存天数(过期自动删除)、备份周期和备份时间,形成增量备份的定时任务进行保存下发。即,通过上述方式输入增量备份请求。
数据库备份恢复:数据库增量备份完成一次会在页面展示一次备份时间节点的执行记录,用户可以选择该备份时间节点,进行数据库恢复,使其恢复至该时间节点的数据状态。即,通过上述方式输入增量备份恢复请求。
备份删除:用户可以选择某个时间节点的备份数据进行删除。即,通过上述方式输入备份删除请求。
查看备份文件状态:用户可以在页面查看每个备份时间节点的备份状态,确定能否基于备份的时间节点进行数据恢复。即,通过上述方式输入备份状态获取请求。
后端程序在接收到用户输入的增量备份请求、增量备份恢复请求、备份删除请求或备份状态获取请求后,将用户的请求参数拼装为服务云主机shell脚本(包括备份脚本、增量备份恢复脚本、备份删除脚本或备份状态获取脚本)执行参数,然后基于qemu-guest-agent打破网络隔离,执行服务云主机中的数据库备份相关脚本。
云主机中MySQL数据库增量备份依赖Xtrabackup, Xtrabackup本质是数据库数据文件的物理备份,备份文件可直接由数据库识别和使用,在恢复时,只需要把备份文件拷贝到数据的指定路径下进行整个文件夹的替换即可,因为涉及到数据库数据文件的替换所以在恢复时需要停止数据库服务,拷贝完成后重新启动。通过执行Xtrabackup的备份和恢复命令可以实现数据库的增量备份和备份恢复。
Xtrabackup命令如下:
全量备份(首次)
xtrabackup --backup --host=127.0.0.1 --user=test --password=xxx --database=test --target-dir=/var/test
增量备份
xtrabackup --backup --host=127.0.0.1 --user=test --password=xxx --database=test --target-dir=/var/test1 --incremental-basedir=/var/test
备份恢复文件准备(全量)
xtrabackup --prepare --apply-only --target-dir=/var/test
备份恢复文件准备增量合并
xtrabackup --prepare --apply-only --target-dir=/var/test --incremental-dir=/var/test1
数据库增量备份最终是通过执行备份脚本实现的,后端程序将脚本执行参数传入备份脚本,备份脚本实现相关的功能。
备份脚本实现增量备份的流程如下:数据库每个增量备份任务首次执行时在指定备份路径下创建一个 “任务Id.info”的任务元文件,用于存储该任务的每次增量备份信息。
任务元文件数据格式如下:
backupId=增量or全量备份压缩文件的完整路径;备份文件的MD5值。
backupId为定时任务每次执行的执行记录ID。
每执行一次增量备份,执行完成后往文件中写入一行本次备份信息。
请参见图3,图3为本申请实施例所提供的一种备份脚本进行增量备份的操作流程图,具体过程包括:
S301:判断是否存在增量备份任务的元文件;若是,则进入S302;若否,则进入S305。
S302:读取最近一次的备份文件并解压。
S303:以解压后的文件为basedir(base direction,基础路径)进行增量备份。
S304:删除上次备份的解压文件。
S305:执行全量备份。
S306:将本次备份文件压缩并删除源文件。
S307:判断是否执行成功;若是,则进入S308;若否,则进入S310。
S308:将备份信息追加写入备份任务的元文件。
S309:输出成功。
S310:输出失败。
增量备份恢复脚本实现增量备份恢复的流程如下:数据库增量备份恢复脚本根据要恢复的备份ID(即备份标识)找到任务元文件,并将元文件中该备份及之前的备份循环进行合并,合并完成后用合并后的文件进行恢复。恢复时需要先关闭数据库,然后将备份文件中指定数据库的文件替换数据库存储文件路径下的数据库文件,替换完成后重新启动数据库。通过上述方式可以替换之前进行备份,启动失败时及时恢复。
请参见图4,图4为本申请实施例所提供的一种增量备份恢复脚本进行增量备份恢复的操作流程图,具体过程包括:
S401:判断备份任务文件是否存在;若是,则进入S402;若否,则进入S418。
S402:顺序读取备份任务文件一行备份信息。
S403:解析获取备份文件完整路径。
S404:判断备份文件是否可用;若是,则进入S405;若否,则进入S418。
S405:解压备份文件。
S406:判断备份文件的备份信息是否在任务元文件的第一行。若是,则进入S407;若否,则进入S415。
S407:记录基础路径并prepare(准备);
其中上述准备对应的操作具体指备份恢复之前Xtrabackup需要执行的操作。
S408:判断当前备份是否为指定备份。若是,则进入S409;若否,则进入S402。
其中,上述指定备份为用户在增量备份恢复请求中指定的备份。
S409:停止数据库。
S410:备份数据库存储目录下需要恢复的数据库后删除。
S411:将备份文件中的数据库文件拷贝至数据库存储目录下。
S412:启动数据库。
S413:判断数据库是否启动成功;若是,则进入S414;若否,则进入S417。
S414:删除备份的数据库目录的数据库文件,打印成功。
S415:将当前文件准备合并至基础路径。
S416:删除解压的当前备份文件。
S417:恢复备份的数据库。
S418:打印失败。
备份删除脚本实现备份删除的流程如下:备份删除时先标记要删除的备份文件,在备份信息行的前面加@DELETE@前缀,然后循环检查任务元文件中的备份信息,如果要删除的备份文件在任务元文件的最后一行(无其他备份引用),删除备份文件,删除任务元文件中的记录。如果全量备份文件已经逻辑删除,且要删除的备份文件在第二行,将备份文件合并到第一行的备份文件(全量备份文件)中并压缩,然后删除任务元文件中的记录,否则不做处理。
请参见图5,图5为本申请实施例所提供的一种备份删除脚本进行备份删除的操作流程图,本实施例在任务元文件的第一行备份信息对应的全量备份文件已被删除的基础上实现,其具体过程包括:
S501:在任务元文件中标记要删除的备份信息。
S502:读取任务元文件中的最后一行。
S503:最后一行备份信息是否被标记删除;若是,则删除最后一行记录的备份文件并删除最后一行备份信息,并进入S502;若否,则进入S504。
S504:读取任务元文件第一行全量备份信息并解压记录基础路径。
S505:读取任务元文件中的第二行备份信息。
S506:第二行备份信息是否被标记删除;若是,则将第二行备份的文件准备合并至基础路径并删除第二行备份记录,进入S505;若否,则进入S507。
S507:将基础路径压缩更新,打印成功。
备份状态获取脚本实现备份状态获取的流程如下:
数据库增量备份状态获取脚本根据要获取的备份ID找到任务元文件,并将任务元文件中该备份及之前的备份循环进行校验,校验中所有文件均正常可用,则备份状态正常,否则备份状态异常。
请参见图6,图6为本申请实施例所提供的一种备份状态获取脚本进行备份删除的操作流程图,具体过程包括:
S601:判断备份文件是否存在;若是,则进入S602;若否,则进入S607。
S602:在任务元文件中顺序读取备份文件对应一行备份信息。
S603:解析获取备份文件完整路径及文件MD5值。
S604:判断备份文件是否存在且MD5值匹配;若是,则进入S605;若否,则进入S607。
S605:判断当前的备份文件是否为指定备份文件;若是则进入S606;若否,则进入S602。
上述指定备份文件为用户指定的文件。
S606:打印状态正常。
S607:打印状态异常。
上述实施例在备份时增加了记录备份信息的元文件,通过脚本解析该文件内容,获取每次增量备份的关联信息,从而进行每次的增量备份和恢复以及备份状态的获取,同时基于该文件通过标记的方式可以实现备份文件的逻辑删除,并且根据删除标记的位置可以判断文件的依赖关系,从而进行备份文件的物理删除或者文件合并。本实施例使得云主机MySQL数据库可以实现增量备份,且在备份过程中对用户屏蔽了技术细节,一键化实现自动定时备份和根据指定时间节点进行备份恢复,同时支持用户删除不需要的时间节点备份文件,而不影响关联备份,让用户以全量备份的友好体验实现增量备份,降低了备份占用的存储空间,节省了用户成本的同时提升了云主机的用户体验。
请参见图7,图7为本申请实施例所提供的一种数据库管理系统的结构示意图,该系统可以包括:
参数接收模块701,用于接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;
参数传入模块702,用于将所述脚本执行参数传入所述云主机的目标脚本;
脚本运行模块703,用于通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
本实施例根据用户端设备发送的脚本执行参数设置云主机的目标脚本,并利用目标脚本执行用户操作请求对应的数据库管理操作。若用户操作请求为增量备份请求时,本实施例生成备份文件并将备份文件的备份信息添加至任务元文件,任务元文件用于存储同一增量备份任务的每次增量备份的关联信息,进而根据任务元文件实现增量备份恢复、备份删除或备份状态的操作。通过上述方式无需用户关注数据库管理操作的技术细节,由云主机中的目标脚本执行用户操作请求对应的数据库管理操作,能够提高数据库管理的效率。
进一步的,脚本运行模块703用于确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
进一步的,若所述用户操作请求为增量备份恢复请求,则脚本运行模块703根据所述任务元文件执行对应的数据库管理操作包括:确定所述增量备份恢复请求对应的待恢复备份文件;若所述待恢复备份文件可用,则判断所述待恢复备份文件的备份信息是否在所述任务元文件的第一行;若是,则利用所述待恢复备份文件执行备份恢复操作;若否,则根据所述任务元文件确定所述待恢复备份文件之前备份生成的所有历史备份文件,将所述历史备份文件和所述待恢复备份文件进行合并得到合并文件,利用所述合并文件执行备份恢复操作。
进一步的,若所述用户操作请求为备份删除请求,则脚本运行模块703根据所述任务元文件执行对应的数据库管理操作包括:确定所述备份删除请求对应的待删除备份文件;根据所述任务元文件判断所述待删除备份文件是否被其他备份文件引用;若是,则对所述待删除备份文件进行逻辑删除;若否,则将所述待删除备份文件进行物理删除。
进一步的,脚本运行模块703还用于若存在引用关系的多个备份文件被逻辑删除,则合并所述存在引用关系的多个备份文件。
进一步的,还包括:
更新模块,用于在将所述待删除备份文件进行物理删除之后,在所述任务元文件中删除所述待删除备份文件的备份信息。
进一步的,若所述用户操作请求为备份状态获取请求,则脚本运行模块703根据所述任务元文件执行对应的数据库管理操作包括:生成所述备份状态获取请求对应的备份状态获取任务,根据所述备份状态获取任务确定待查询备份文件;判断所述待查询备份文件是否存在;若存在,则获取所述待查询备份文件在所述任务元文件中的MD5值;判断所述待查询备份文件与所述任务元文件中的MD5值是否匹配;若匹配,则判定所述待查询备份文件的备份状态正常。
进一步的,所述脚本执行参数为所述用户端设备的后端程序通过虚拟机内部的守护程序传输的参数。
本申请实施例还提供一种数据库管理装置,应用于用户端设备,包括:
请求确定模块,用于确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
参数确定模块,用于根据所述用户操作请求确定脚本执行参数;
参数传递模块,用于向运行有数据备份工具的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至所述任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作。
进一步的,请求确定模块用于接收用户在人机交互界面输入的请求参数,根据所述请求参数确定所述用户操作请求。
进一步的,还包括:
显示模块,用于在向运行有数据备份工具的云主机发送所述脚本执行参数之后,接收所述云主机反馈的数据库管理操作的执行结果,在人机交互界面显示所述执行结果。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。上述电子设备可以为云主机。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (14)
1.一种数据库管理方法,其特征在于,应用于运行有数据备份工具的云主机,包括:
接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;
将所述脚本执行参数传入所述云主机的目标脚本;
通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作;
其中,所述生成备份文件,并将所述备份文件的备份信息添加至所述任务元文件,包括:
确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;
若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;
若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
2.根据权利要求1所述数据库管理方法,其特征在于,若所述用户操作请求为增量备份恢复请求,则根据所述任务元文件执行对应的数据库管理操作包括:
确定所述增量备份恢复请求对应的待恢复备份文件;
若所述待恢复备份文件可用,则判断所述待恢复备份文件的备份信息是否在所述任务元文件的第一行;
若是,则利用所述待恢复备份文件执行备份恢复操作;
若否,则根据所述任务元文件确定所述待恢复备份文件之前备份生成的所有历史备份文件,将所述历史备份文件和所述待恢复备份文件进行合并得到合并文件,利用所述合并文件执行备份恢复操作。
3.根据权利要求1所述数据库管理方法,其特征在于,若所述用户操作请求为备份删除请求,则根据所述任务元文件执行对应的数据库管理操作包括:
确定所述备份删除请求对应的待删除备份文件;
根据所述任务元文件判断所述待删除备份文件是否被其他备份文件引用;
若是,则对所述待删除备份文件进行逻辑删除;
若否,则将所述待删除备份文件进行物理删除。
4.根据权利要求3所述数据库管理方法,其特征在于,还包括:
若存在引用关系的多个备份文件被逻辑删除,则合并所述存在引用关系的多个备份文件。
5.根据权利要求3所述数据库管理方法,其特征在于,在将所述待删除备份文件进行物理删除之后,还包括:
在所述任务元文件中删除所述待删除备份文件的备份信息。
6.根据权利要求1所述数据库管理方法,其特征在于,若所述用户操作请求为备份状态获取请求,则根据所述任务元文件执行对应的数据库管理操作包括:
生成所述备份状态获取请求对应的备份状态获取任务,根据所述备份状态获取任务确定待查询备份文件;
判断所述待查询备份文件是否存在;
若存在,则获取所述待查询备份文件在所述任务元文件中的MD5值;
判断所述待查询备份文件与所述任务元文件中的MD5值是否匹配;
若匹配,则判定所述待查询备份文件的备份状态正常。
7.根据权利要求1至6任一项所述数据库管理方法,其特征在于,所述脚本执行参数为所述用户端设备的后端程序通过虚拟机内部的守护程序传输的参数。
8.一种数据库管理方法,其特征在于,应用于用户端设备,包括:
确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
根据所述用户操作请求确定脚本执行参数;
向运行有数据备份工具的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作;
其中,所述生成备份文件,并将所述备份文件的备份信息添加至所述任务元文件,包括:
确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;
若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;
若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
9.根据权利要求8所述数据库管理方法,其特征在于,所述确定用户操作请求,包括:
接收用户在人机交互界面输入的请求参数,根据所述请求参数确定所述用户操作请求。
10.根据权利要求8所述数据库管理方法,其特征在于,在向运行有数据备份工具的云主机发送所述脚本执行参数之后,还包括:
接收所述云主机反馈的数据库管理操作的执行结果,在人机交互界面显示所述执行结果。
11.一种数据库管理系统,其特征在于,应用于运行有数据备份工具的云主机,包括:
参数接收模块,用于接收用户端设备发送的脚本执行参数;其中,所述脚本执行参数由所述用户端设备的后端程序根据用户操作请求确定;
参数传入模块,用于将所述脚本执行参数传入所述云主机的目标脚本;
脚本运行模块,用于通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作;
其中,所述脚本运行模块用于确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
12.一种数据库管理装置,其特征在于,应用于用户端设备,包括:
请求确定模块,用于确定用户操作请求;其中,所述用户操作请求为用户对数据库进行管理的请求;
参数确定模块,用于根据所述用户操作请求确定脚本执行参数;
参数传递模块,用于向运行有数据备份工具的云主机发送所述脚本执行参数,以便所述云主机将所述脚本执行参数传入所述云主机的目标脚本,并通过运行所述目标脚本执行所述用户操作请求对应的数据库管理操作;
其中,若所述用户操作请求为增量备份请求,则所述目标脚本用于生成备份文件并将所述备份文件的备份信息添加至任务元文件;若所述用户操作请求为增量备份恢复请求、备份删除请求或备份状态获取请求,则所述目标脚本用于根据所述任务元文件执行对应的数据库管理操作;
其中,所述生成备份文件,并将所述备份文件的备份信息添加至所述任务元文件的过程,包括:确定所述增量备份请求对应的增量备份任务,并判断是否存在增量备份任务对应的任务元文件;若是,则根据所述任务元文件确定最近一次的备份文件,并根据所述最近一次的备份文件执行所述增量备份任务对应的增量备份操作得到增量备份文件,将所述增量备份文件的备份信息添加至所述任务元文件的下一行;其中,所述增量备份文件的备份信息包括所述增量备份文件的备份标识和MD5值;若否,则创建所述增量备份任务对应的任务元文件,并执行所述增量备份任务对应的全量备份操作得到全量备份文件,并将所述全量备份文件的备份信息添加至所述增量备份任务对应的任务元文件的第一行;其中,所述全量备份文件的备份信息包括所述全量备份文件的备份标识和MD5值。
13.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至10任一项所述数据库管理方法的步骤。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至10任一项所述数据库管理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210643576.4A CN114721881B (zh) | 2022-06-09 | 2022-06-09 | 一种数据库管理方法、系统、电子设备及存储介质 |
PCT/CN2022/141173 WO2023236504A1 (zh) | 2022-06-09 | 2022-12-22 | 一种数据库管理方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210643576.4A CN114721881B (zh) | 2022-06-09 | 2022-06-09 | 一种数据库管理方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114721881A CN114721881A (zh) | 2022-07-08 |
CN114721881B true CN114721881B (zh) | 2022-11-04 |
Family
ID=82232916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210643576.4A Active CN114721881B (zh) | 2022-06-09 | 2022-06-09 | 一种数据库管理方法、系统、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114721881B (zh) |
WO (1) | WO2023236504A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721881B (zh) * | 2022-06-09 | 2022-11-04 | 苏州浪潮智能科技有限公司 | 一种数据库管理方法、系统、电子设备及存储介质 |
CN116185718B (zh) * | 2023-03-10 | 2023-12-15 | 上海翔麟马大数据科技有限公司 | 一种基于云存储的数据备份管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634774A (zh) * | 2017-10-09 | 2019-04-16 | 北京国双科技有限公司 | 数据备份、恢复方法及装置 |
CN111552595A (zh) * | 2020-04-29 | 2020-08-18 | 上海中通吉网络技术有限公司 | 数据库备份与恢复方法、装置和设备 |
CN112596956A (zh) * | 2020-12-28 | 2021-04-02 | 北京浪潮数据技术有限公司 | 一种文件系统管理方法、装置及相关组件 |
CN114490189A (zh) * | 2022-02-11 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种云平台数据库备份方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882073B1 (en) * | 2007-09-28 | 2011-02-01 | Symantec Operating Corporation | Backup agent for dynamically decomposing a database backup request to constituent files to facilitate backup restartability |
CN101714107A (zh) * | 2009-10-23 | 2010-05-26 | 金蝶软件(中国)有限公司 | 一种erp系统中的数据库备份、恢复方法和装置 |
CN104850598B (zh) * | 2015-04-28 | 2017-11-14 | 江苏瑞中数据股份有限公司 | 一种实时数据库备份恢复方法 |
CN108241555B (zh) * | 2016-12-26 | 2022-03-01 | 阿里巴巴集团控股有限公司 | 一种分布式数据库的备份、恢复方法、装置和服务器 |
CN108958979A (zh) * | 2018-07-19 | 2018-12-07 | 汉能移动能源控股集团有限公司 | MySQL数据库备份方法、装置及电子设备 |
CN112463450B (zh) * | 2020-11-27 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种增量备份管理方法、系统、电子设备及存储介质 |
CN114721881B (zh) * | 2022-06-09 | 2022-11-04 | 苏州浪潮智能科技有限公司 | 一种数据库管理方法、系统、电子设备及存储介质 |
-
2022
- 2022-06-09 CN CN202210643576.4A patent/CN114721881B/zh active Active
- 2022-12-22 WO PCT/CN2022/141173 patent/WO2023236504A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634774A (zh) * | 2017-10-09 | 2019-04-16 | 北京国双科技有限公司 | 数据备份、恢复方法及装置 |
CN111552595A (zh) * | 2020-04-29 | 2020-08-18 | 上海中通吉网络技术有限公司 | 数据库备份与恢复方法、装置和设备 |
CN112596956A (zh) * | 2020-12-28 | 2021-04-02 | 北京浪潮数据技术有限公司 | 一种文件系统管理方法、装置及相关组件 |
CN114490189A (zh) * | 2022-02-11 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种云平台数据库备份方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023236504A1 (zh) | 2023-12-14 |
CN114721881A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114721881B (zh) | 一种数据库管理方法、系统、电子设备及存储介质 | |
DK3179359T3 (en) | PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
JP5838810B2 (ja) | バックアップ制御プログラム、バックアップ制御方法およびバックアップ制御装置 | |
JP5103807B2 (ja) | 制御プログラム、制御方法、情報処理装置及び情報処理システム | |
CN109542682B (zh) | 一种数据备份方法、装置、设备和存储介质 | |
CN109284073B (zh) | 数据存储方法、装置、系统、服务器、控制节点及介质 | |
US9672244B2 (en) | Efficient undo-processing during data redistribution | |
CN112114999A (zh) | 一种数据备份方法、数据恢复方法、装置及电子设备 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
US20110282843A1 (en) | Method and system for data backup and replication | |
JPH11134235A (ja) | 外部記憶装置故障時の回復支援方法 | |
CN110825546A (zh) | 一种面向高可用数据库集群的恢复方法、系统及设备终端 | |
CN111831475A (zh) | 数据备份方法、装置、节点设备及可读存储介质 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
US11163799B2 (en) | Automatic rollback to target for synchronous replication | |
CN108829813A (zh) | 一种基于分布式存储系统的文件快照方法及系统 | |
CN111488124A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
CN114138182B (zh) | 一种分布式云硬盘的跨存储在线克隆方法、系统及装置 | |
CN116303789A (zh) | 多分片多副本数据库并行同步方法、装置及可读介质 | |
CN106997305B (zh) | 一种事务处理方法与装置 | |
CN115422135A (zh) | 数据处理方法以及装置 | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
CN111142791A (zh) | 数据迁移方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |