CN110162507B - 快照覆写方法、装置、计算机设备及存储介质 - Google Patents
快照覆写方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110162507B CN110162507B CN201910323358.0A CN201910323358A CN110162507B CN 110162507 B CN110162507 B CN 110162507B CN 201910323358 A CN201910323358 A CN 201910323358A CN 110162507 B CN110162507 B CN 110162507B
- Authority
- CN
- China
- Prior art keywords
- snapshot
- name
- same
- instruction
- parameters
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种快照覆写方法、装置、计算机设备及存储介质。该方法包括:获取客户端发送的快照创建指令,快照创建指令包括指令参数;使用校验规则对指令参数进行规则校验,获取校验结果;当校验结果为校验通过时,对指令参数进行解析,获取指令参数对应的参数值;若参数值包括组名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照组,同名快照组包括至少两个同名快照;若同名快照组中的所有同名快照均处于非保护状态,则基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名,不需要人工参与,完全由计算机完成快照覆写,节约时间,提高覆写效率。
Description
技术领域
本发明涉及计算机开发领域,尤其涉及一种快照覆写方法、装置、计算机设备及存储介质。
背景技术
Ceph是一种性能优秀,具有可靠性和可扩展性的分布式文件系统。传统的Ceph中提供了快照功能,但没有提供快照覆写(overwrite)功能。在日常运维中,某些场景需要为Ceph中的rbd组件的image(映像)进行快照覆写(即对rbd组件的image(映像)打快照,并且保持快照名不变)。如果没有快照覆写功能,运维人员需要先检测快照是否是保护状态,如果不处于保护状态,则将原有快照删除再创建一个同名的快照,步骤繁琐且容易出错;如果是一致性快照组,由于一致性快照组中包括有几十甚至上百个rbd组件的image,单纯靠开发人员手工对快照组中的几十甚至上百个rbd组件的image一一进行快照覆写,步骤繁琐,浪费时间并且效率低下。
发明内容
本发明实施例提供一种快照覆写方法、装置、计算机设备及存储介质,以解决ceph中不能进行快照覆写和人工进行快照覆写效率低下的问题。
一种快照覆写方法,包括:
获取客户端发送的快照创建指令,所述快照创建指令包括指令参数;
使用校验规则对所述指令参数进行规则校验,获取校验结果;
当所述校验结果为校验通过时,对所述指令参数进行解析,获取所述指令参数对应的参数值;
若所述参数值包括组名,则基于所述指令参数中的目标快照名,获取与所述目标快照名对应的同名快照组,所述同名快照组包括至少两个同名快照;
若所述同名快照组中的所有同名快照均处于非保护状态,则基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名。
一种快照覆写装置,包括:
快照创建指令获取模块,用于获取客户端发送的快照创建指令,所述快照创建指令包括指令参数;
规则校验模块,用于使用校验规则对所述指令参数进行规则校验,获取校验结果;
指令参数解析模块,用于当所述校验结果为校验通过时,对所述指令参数进行解析,获取所述指令参数对应的参数值;
同名快照组获取模块,用于若所述参数值包括组名,则基于所述指令参数中的目标快照名,获取与所述目标快照名对应的同名快照组,所述同名快照组包括至少两个同名快照;
重命名模块,用于若所述同名快照组中的所有同名快照均处于非保护状态,则基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述快照覆写方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述快照覆写方法。
上述快照覆写方法、装置、计算机设备及存储介质,通过获取快照创建指令获取指令参数,并使用校验规则对指令参数进行校验,获取校验结果,当校验结果为校验通过时,表示指令参数及指令参数的编写格式都符合要求,可以执行下一步骤。对指令参数进行解析,获取指令参数中的参数值,若参数值包括组名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照组,并确定同名快照组是否处于保护状态,以便确定是否可以对该同名快照组进行重命名。若同名快照组不处于保护状态,则获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名,不需要人工参与,完全由计算机完成快照覆写,节约时间,提高覆写效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中快照覆写方法的一应用环境示意图;
图2是本发明一实施例中快照覆写方法的一流程图;
图3是图2中步骤S20的一具体流程图;
图4是图2中步骤S50的一具体流程图;
图5是本发明一实施例中快照覆写方法的另一流程图;
图6是本发明一实施例中快照覆写装置的一示意图;
图7是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的快照覆写方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种快照覆写方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:获取客户端发送的快照创建指令,快照创建指令包括指令参数。
本实施例中的快照创建指令指对rbd创建快照的指令。其中,快照是映像在某个特定时间点的一份只读副本。映像指映像文件,是将来源资料经过格式转换后在硬盘上存成与目的盘内容完全一样的文件。rbd是Ceph分布式文件系统中一个用于进行块存储的组件,该组件在ceph的存储池中以卷的概念管理数据,当将卷映射出去后,用户便可以像使用本地硬盘一样对其操作了。rbd通过采用COW(copy-on-write,写时复制),可以实现高效快照和克隆管理,方便卷数据的迁移和备份。卷(通常也称之为盘或者分区)是对文件管理的基本容器单位。
具体地,获取客户端发送的快照创建指令,该快照创建指令包括指令参数。其中,快照创建指令指用于创建快照的指令。指令参数指快照创建指令携带的参数,包括存储池名、映像名/组名、快照名和覆写参数。本实施例中的指令参数有规定的编写格式包括两种,一种为{pool-name}/{image-name}@{snap-name}-overwrite;另一种为{pool-name}/{group-name}@{snap-name}-overwrite,按照规定格式编写指令参数便于后续步骤对指令参数进行解析。
S20:使用校验规则对指令参数进行规则校验,获取校验结果。
其中,校验规则指对指令参数进行校验的规则,该校验规则用于检验指令参数中的每一参数是否满足要求。本实施例中的校验规则包括参数校验规则和格式校验规则。参数校验规则指对指令参数中的存储池名、映像名、快照名和覆写等参数或者存储池名、组名、快照名和覆写等参数进行校验的规则。格式校验规则指对指令参数的编写格式进行校验的规则。
具体地,在获取快照创建指令的指令参数后,服务器通过参数校验规则对指令参数中的存储池名、映像名、快照名和覆写参数或者存储池名、组名、快照名和覆写参数分别进行空校验、类型校验和长度校验,获取参数校验结果。当参数校验结果为校验通过,则通过格式校验规则对指令参数的编写格式进行校验,确定指令参数的编写格式是否满足“存储池名/映像名@快照名-覆写参数”或者“存储池名/组名@快照名-覆写参数”对应的格式。
S30:当校验结果为校验通过时,对指令参数进行解析,获取指令参数对应的参数值。
具体地,当校验结果为校验通过时,表示指令参数及指令参数的编写格式都符合要求。由于指令参数中包括多个参数值,在确定校验结果为校验通过后,对指令参数进行解析,获取指令参数对应的参数值。如指令参数为
{pool-one}/{image-a}@{snap-A}-overwrite,对指令参数进行解析,该指令参数中的参数值则为pool-one、image-a、snap-A和overwrite。
S40:若参数值包括组名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照组,同名快照组包括至少两个同名快照。
其中,目标快照指快照创建指令对应的指令参数中的快照名。同名快照组指与指令参数中的存储池名、组名和快照名相同的快照组。快照组中包括至少两个同名快照。同名快照指与目标快照名相同的快照。
具体地,若参数值包括组名,则表示该目标快照名可能存在有对应的同名快照组。若该目标快照名存在对应的同名快照组,则服务器根据指令参数中的目标快照名遍历存储的快照组,获取目标快照名对应的同名快照组。
进一步地,若该目标快照名不存在对应的同名快照组,则跳转至结束步骤,不执行后续步骤,并发送同名快照组搜索失败的信息给客户端,以使客户端对应的用户及时获知该消息。
S50:若同名快照组中的所有同名快照均处于非保护状态,则基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名。
具体地,在获取同名快照组后,服务器需要判断同名快照组中的每一个同名快照是否处于保护状态。若同名快照组中有任意一个同名快照处于保护状态,则表示该同名快照组被保护,不能执行覆写(overwrite)操作;若同名快照组中的所有同名快照均不处于保护状态,则表示该同名快照组可以执行覆写(overwrite)操作。
当同名快照组中的所有同名快照均处于非保护状态时,服务器基于指令参数中的覆写(overwrite)参数,执行重命名语句,该重命名语句中包括预先设置好的快照命名模板,根据预先设置好的快照命名模板获取当前快照名。然后使用当前快照名对同名快照组中的每一个同名快照进行重命名,将同名快照的原快照名替换为当前快照名。其中,原快照名指同名快照组中各同名快照原本的快照名。当前快照名指按照快照命名模板获取的新的快照名。快照命名模板指预先设置好的用于对非保护状态的同名快照进行重命名的模板。
本实施例中的快照命名模板具体为:原快照名+UUID。其中,UUID(UniversallyUnique Identifier,通用唯一识别码)是一种能唯一辨识分布式系统中的所有元素的识别码,不需要通过中央控制端来做辨识信息的指定。每个UUID都是不同的,使用UUID+原快照名组成当前快照名,可以解决创建快照时出现名称重复的问题。
步骤S10-步骤S50,服务器通过获取快照创建指令获取指令参数,并使用校验规则对指令参数进行校验,获取校验结果,当校验结果为校验通过时,表示指令参数及指令参数的编写格式都符合要求,可以执行下一步骤。服务器对指令参数进行解析,获取指令参数中的参数值,若参数值包括组名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照组,并确定同名快照组是否处于保护状态,以便确定是否可以对该同名快照组进行重命名。若同名快照组不处于保护状态,则服务器获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名,不需要人工参与,完全由计算机完成快照覆写,节约时间,提高覆写效率。
在一实施例中,如图2所示,在步骤S30,对指令参数进行解析,获取指令参数对应的参数值之后,快照覆写方法还包括如下步骤:
S60:若参数值包括映像名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照。
具体地,若参数值包括映像名,则表示该目标快照名可能存在有对应的同名快照。若该目标快照名存在对应的同名快照,则服务器根据指令参数中的目标快照名,获取与目标快照名对应的同名快照。
进一步地,若该目标快照名不存在对应的同名快照,则跳转至结束步骤,不执行后续步骤,并发送同名快照组搜索失败的信息给客户端,已客户端对应的用户及时获知该消息。
S70:若同名快照不处于保护状态,则基于指令参数中的覆写参数获取当前快照名,使用当前快照名对同名快照进行重命名。
具体地,若同名快照不处于保护状态,则表示该同名快照没有被保护,可以执行覆写(overwrite)操作。服务器基于指令参数中的覆写参数,执行重命名语句,重命名语句根据预先设置好的快照命名模板获取当前快照名,然后使用当前快照名对同名快照进行重命名。
进一步地,若同名快照处于保护状态,则表示该同名快照被保护,不能执行覆写(overwrite)操作。
步骤S60-步骤S70,服务器通过确定参数值中包括映像名,获取与目标快照名对应的同名快照,然后确定同名快照是否处于保护状态,若不处于保护状态,则表示该同名快照没有被保护,可以执行覆写(overwrite)操作。然后服务器基于指令参数中的覆写参数获取当前快照名,使用当前快照名对同名快照进行重命名,完成快照覆写,提高覆写效率。
在一实施例中,如图3所示,步骤S20,使用校验规则对指令参数进行规则校验,获取校验结果,具体包括如下步骤:
S21:使用校验规则对指令参数进行校验,若指令参数全部参数值通过校验,则获取校验通过的校验结果。
具体地,若指令参数通过参数校验规则和格式校验规则的规则校验,则表示指令参数全部通过校验规则的校验,获取校验通过的校验结果,以使该指令参数继续执行后续步骤。
S22:若指令参数中有一个参数值没有通过校验,则获取校验不通过的校验结果。
具体地,若指令参数中包括的存储池名、映像名、快照名和重写等参数或者存储池名、组名、快照名和重写等参数中有一个参数没有通过参数校验规则的校验,则该指令参数对应的校验结果为校验不通过;若指令参数的格式不符合格式校验规则,则该指令参数对应的校验结果为校验不通过。
在一实施例中,如图3所示,在步骤S22,若指令参数中有一个参数值没有通过校验,则获取校验不通过的校验结果之后,快照覆写方法还包括如下步骤:
S23:对校验不通过的校验结果对应的参数值进行智能纠错,获取修正参数值。
本实施例中设置了智能纠错脚本对校验不通过的校验结果对应的参数值进行智能纠错。其中,智能纠错脚本指编写有智能纠错语句的脚本。如格式校验规则中要求指令参数的格式为{参数1}/{参数2}@{参数3}-overwrite,当指令参数为{参数1}{参数2}@{参数3}-overwrite,缺少“/”时,脚本语句规范校验规则中的智能纠错脚本会对指令参数的格式进行智能纠错,将“/”添加到{参数1}和{参数2}之间。
具体地,当服务器获取到校验结果校验不通过的参数值时,会调用智能纠错脚本对指令参数中校验不通过的参数值进行智能纠错,以获取修正参数值,该修正参数值指通过智能纠错脚本纠正后的参数值。
S24:采用校验规则对修正参数值进行校验,获取修正校验结果。
具体地,在对校验不通过的校验结果对应的参数值进行智能纠错后,还需要采用校验规则对获取的修正参数值进行再次校验,以保证智能纠错后的修正参数值的准确性。
S25:若修正校验结果为校验通过,则执行对指令参数进行解析,获取指令参数对应的参数值。
具体地,在获取修正校验结果后,若修正校验结果为校验通过,则表示智能纠错后的修正参数值满足校验规则的要求,服务器会执行对指令参数进行解析,获取指令参数对应的参数值的步骤。
S26:若修正校验结果为校验不通过,则生成校验提醒信息,并将校验提醒信息发送给客户端。
具体地,若修正校验结果为校验不通过,则表示智能纠错后的修正参数值仍不满足校验规则的要求,服务器会生成校验提醒信息,并将校验提醒信息发送给客户端,以使客户端对应的用户对该修正参数进行人工纠错。
步骤S21-步骤S26,服务器通过使用校验规则对指令参数进行校验,以保证后续步骤执行的准确性。若获取的是校验通过的校验结果,则继续执行后续步骤;若获取的是校验不通过的校验结果,则使用智能纠错脚本对校验不通过的参数值进行智能纠错,获取修正参数。为了确保智能纠错后参数值的准确性,服务器还需要使用校验规则对修正参数进行再次校验,若修正参数仍不满足校验规则的要求,则发送校验提醒信息给客户端,进行人工纠错。
在一实施例中,如图4所示,步骤S50,基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名,具体包括如下步骤:
S51:基于覆写参数,调用预先设置好的快照命名模板生成当前快照名。
具体地,若同名快照组中的所有同名快照均处于非保护状态,则基于覆写参数,执行重命名语句。重命名语句调用预先设置好的快照命名模板生成当前快照名。
S52:将同名快照组中每个同名快照的原快照名更换为当前快照名。
具体地,在生成当前快照名后,由于当前快照名的命名模板为原快照名+UUID,因此,根据当前快照名中包含的原快照名可以快速锁定同名快照组中每个同名快照的位置,在找到同名快照组中每个同名快照的位置后,使用当前快照名将原快照名替换掉,使得同名快照组中每个同名快照都携带有当前快照名,便于后续步骤根据快照创建指令创建新快照。
在一实施例中,如图2所示,在步骤S40,获取与目标快照名对应的同名快照组之后,快照覆写方法还包括如下步骤:
S81:若同名快照组存在一个同名快照处于保护状态,则生成快照创建失败消息,并将快照创建失败消息发送给客户端。
具体地,若同名快照组存在一个同名快照处于保护状态,则表示该同名快照组不能执行基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名的步骤。服务器会生成快照创建失败消息,并将快照创建失败消息发送给客户端,由客户端对应的用户决定是否修改该同名快照组中同名快照的保护状态。若用户决定修改该同名快照组中同名快照的保护状态,则执行步骤S82-步骤S84;若用户决定不修改该同名快照组中同名快照的保护状态,则执行结束步骤,不再执行后续步骤。
S82:获取客户端发送的状态修改请求,状态修改请求携带有同名快照ID。
步骤S81中的创建失败信息中包括同名快照ID。其中,同名快照ID只用于唯一识别同名快照的标识。同名快照ID由存储池名、映像名和快照名组成,其对应的格式具体为{pool-name}/{image-name}@{snap-name},由
{pool-name}/{image-name}@{snap-name}可以唯一确定一个表示同名快照的标识。
具体地,在将快照创建失败消息发送给客户端后,用户可以根据实际需求决定是否修改快照创建失败消息对应的同名快照组的保护状态。若用户决定修改该同名快照组的保护状态,则在客户端输入同名快照ID并发送状态修改请求给服务器。
S83:基于同名快照ID获取待修改快照。
具体地,服务器在获取到同名快照ID后,根据同名快照ID查找到与同名快照ID相对应的同名快照作为待修改快照,并发送给客户端,以使用户在客户端修改待修改快照的保护状态。其中,待修改快照指需要将保护状态修改非保护状态的同名快照。
S84:将待修改快照的保护状态修改为非保护状态,重复执行基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名。
具体地,步骤S81中的创建失败信息中包括用户填写的非保护状态。当修改快照的保护状态修改为非保护状态后,其对应的同名快照组就可以执行基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名的步骤,以完成快照覆写。
步骤S81-步骤S84,若同名快照组存在一个同名快照处于保护状态,则生成快照创建失败消息,并将快照创建失败消息发送给客户端,由客户端对应的用户决定是否修改该同名快照组中同名快照的保护状态,若用户决定修改该同名快照组中同名快照的保护状态,则获取待修改快照,并将待修改快照的保护状态修改为非保护状态,然后使用当前快照名对同名快照组中的每一同名快照进行重命名;若用户决定不修改该同名快照组中同名快照的保护状态,则执行结束步骤,不再执行后续步骤。
在一实施例中,如图5所示,在步骤S50,基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名之后,快照覆写方法还包括:
S91:基于快照创建指令创建新快照,若新快照创建成功,则删除重命名后的同名快照。
具体地,当用户需要在磁盘上进行数据的写入和存储时,或者需要使用某块磁盘上的数据作为其它磁盘的基础数据时,快照是最为便捷的方式。此时,用户需要在客户端发送一个快照创建指令创建新快照。
服务器在获取快照创建指令后,需要获取映像锁。其中,映像锁是指服务器根据获取快照创建指令的先后顺序,对快照创建指令分配的队列锁。服务器会按照映像锁的顺序依序完成快照创建指令对应的创建新快照的操作。若映像锁获取成功,则中断上层对映像的写请求,并给映像打快照,然后将快照信息更新到数据库中。为了存储新快照,需要将重命名后的同名快照删除,以保证存储的数据不重复。
S92:若新快照创建失败,则启动自动回滚模式,将重命名后的同名快照回滚为原快照名,并返回创建失败提示信息给客户端。
具体地,若由于网络原因或者映像繁忙等原因导致映像锁获取失败,或者在存储快照信息入数据库时失败等,则表示基于快照创建指令创建新快照失败。在创建新快照失败后,服务器会启动自动回滚模式,将同名快照重命名回原快照名,并向客户端发送新快照创建失败的提示信息。
对步骤S91-S92,服务器通过快照创建指令创建新快照,若新快照创建成功,则删除重命名后的同名快照,以保证存储的数据不重复;若新快照创建失败,则启动自动回滚模式,将重命名后的同名快照回滚为原快照名,无需人工干预,全部由计算机完成,提高效率,有效节省了用户的时间。
本发明实施例提供的快照覆写方法,服务器通过获取快照创建指令获取指令参数,并使用校验规则对指令参数进行校验,获取校验结果,当校验结果为校验通过时,表示指令参数及指令参数的编写格式都符合要求,可以执行下一步骤。当校验结果为校验不通过时,则对校验不通过的参数值进行智能纠错,以达到不需要人工纠错,完全智能化的目的。然后对指令参数进行解析,获取指令参数中的参数值,若参数值包括组名,则获取与目标快照名对应的同名快照组,并确定同名快照组是否处于保护状态,以便确定是否可以对该同名快照组进行重命名;若参数值包括映像名,则获取与目标快照名对应的同名快照,并确定同名快照是否处于保护状态,以便确定是否可以对该同名快照组进行重命名。若同名快照组或者同名快照处于保护状态,则根据用户意思决定是否需要修改该同名快照组或者同名快照的保护状态,若不需要,则结束流程。若需要,则修改其对应的保护状态为非保护状态。若同名快照组或者同名快照不处于保护状态,则获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名,不需要人工参与,完全由计算机完成快照覆写,节约时间,提高覆写效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种快照覆写装置,该快照覆写装置与上述实施例中快照覆写方法一一对应。如图6所示,该快照覆写装置包括快照创建指令获取模块10、规则校验模块20、指令参数解析模块30、同名快照组获取模块40、第一重命名模块50、同名快照获取模块60和第二重命名模块70。各功能模块详细说明如下:
快照创建指令获取模块10,用于获取客户端发送的快照创建指令,快照创建指令包括指令参数。
规则校验模块20,用于使用校验规则对指令参数进行规则校验,获取校验结果。
指令参数解析模块30,用于当校验结果为校验通过时,对指令参数进行解析,获取指令参数对应的参数值。
同名快照组获取模块40,用于若参数值包括组名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照组,同名快照组包括至少两个同名快照。
第一重命名模块50,用于若同名快照组中的所有同名快照均处于非保护状态,则基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名。
同名快照获取模块60,用于若参数值包括映像名,则基于指令参数中的目标快照名,获取与目标快照名对应的同名快照。
第二重命名模块70,用于若同名快照不处于保护状态,则基于指令参数中的覆写参数获取当前快照名,使用当前快照名对同名快照进行重命名。
进一步地,规则校验模块20包括第一规则校验单元、第二规则校验单元、智能纠错单元、修正校验单元、第一修正处理单元和第二修正处理单元。
第一规则校验单元,用于使用校验规则对指令参数进行校验,若指令参数全部参数值通过校验,则获取校验通过的校验结果。
第二规则校验单元,用于若指令参数中有一个参数值没有通过校验,则获取校验不通过的校验结果。
智能纠错单元,用于对校验不通过的校验结果对应的参数值进行智能纠错,获取修正参数值。
修正校验单元,用于采用校验规则对修正参数值进行校验,获取修正校验结果。
第一修正处理单元,用于若修正校验结果为校验通过,则执行对指令参数进行解析,获取指令参数对应的参数值。
第二修正处理单元,用于若修正校验结果为校验不通过,则生成校验提醒信息,并将校验提醒信息发送给客户端。
进一步地,第一重命名模块50包括当前快照名生成单元和当前快照名处理单元。
当前快照名生成单元,用于基于覆写参数,调用预先设置好的快照命名模板生成当前快照名。
当前快照名处理单元,用于将同名快照组中每个同名快照的原快照名更换为当前快照名。
进一步地,快照覆写装置还包括快照创建失败模块、修改请求获取模块、待修改快照获取模块和保护状态修改模块。
快照创建失败模块,用于若同名快照组存在一个同名快照处于保护状态,则生成快照创建失败消息,并将快照创建失败消息发送给客户端。
修改请求获取模块,用于获取客户端发送的状态修改请求,状态修改请求携带有同名快照ID。
待修改快照获取模块,用于基于同名快照ID获取待修改快照。
保护状态修改模块,用于将待修改快照的保护状态修改为非保护状态,重复执行基于指令参数中的覆写参数获取当前快照名,并使用当前快照名对同名快照组中的每一同名快照进行重命名。
进一步地快照覆写装置还包括新快照创建成功处理模块和新快照创建失败处理模块。
新快照创建成功处理模块,用于基于快照创建指令创建新快照,若新快照创建成功,则删除重命名后的同名快照。
新快照创建失败处理模块,用于若新快照创建失败,则启动自动回滚模式,将重命名后的同名快照回滚为原快照名,并返回创建失败提示信息给客户端。
关于快照覆写装置的具体限定可以参见上文中对于快照覆写方法的限定,在此不再赘述。上述快照覆写装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储快照覆写涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种快照覆写方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述快照覆写方法,例如图2所示的步骤,或者图3至图5所示的步骤。或者,处理器执行计算机程序时实现快照覆写装置这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述快照覆写方法,例如图2所示的步骤,或者图3至图5所示的步骤。或者,计算机程序被处理器执行时实现快照覆写装置这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种快照覆写方法,其特征在于,包括:
获取客户端发送的快照创建指令,所述快照创建指令包括指令参数;
使用校验规则对所述指令参数进行规则校验,获取校验结果;
当所述校验结果为校验通过时,对所述指令参数进行解析,获取所述指令参数对应的参数值;
若所述参数值包括组名,则基于所述指令参数中的目标快照名,获取与所述目标快照名对应的同名快照组,所述同名快照组包括至少两个同名快照;
若所述同名快照组中的所有同名快照均处于非保护状态,则基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名;
若所述同名快照组存在一个同名快照处于保护状态,则生成快照创建失败消息,并将所述快照创建失败消息发送给客户端;
获取客户端发送的状态修改请求,所述状态修改请求携带有同名快照ID;
基于所述同名快照ID获取待修改快照;
将所述待修改快照的保护状态修改为非保护状态,重复执行所述基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名。
2.如权利要求1所述的快照覆写方法,其特征在于,在所述对所述指令参数进行解析,获取所述指令参数对应的参数值之后,所述快照覆写方法还包括:
若所述参数值包括映像名,则基于所述指令参数中的目标快照名,获取与所述目标快照名对应的同名快照;
若所述同名快照不处于保护状态,则基于所述指令参数中的覆写参数获取当前快照名,使用所述当前快照名对同名快照进行重命名。
3.如权利要求1所述的快照覆写方法,其特征在于,所述使用校验规则对所述指令参数进行规则校验,获取校验结果,包括:
使用校验规则对所述指令参数进行校验,若所述指令参数全部参数值通过校验,则获取校验通过的校验结果;
若所述指令参数中有一个参数值没有通过校验,则获取校验不通过的校验结果。
4.如权利要求3所述的快照覆写方法,其特征在于,在所述若所述指令参数中有一个参数值没有通过校验,则获取校验不通过的校验结果之后,所述快照覆写方法还包括:
对所述校验不通过的校验结果对应的参数值进行智能纠错,获取修正参数值;
采用所述校验规则对所述修正参数值进行校验,获取修正校验结果;
若所述修正校验结果为校验通过,则执行所述对所述指令参数进行解析,获取所述指令参数对应的参数值;
若所述修正校验结果为校验不通过,则生成校验提醒信息,并将所述校验提醒信息发送给所述客户端。
5.如权利要求1所述的快照覆写方法,其特征在于,所述基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名,包括:
基于所述覆写参数,调用预先设置好的快照命名模板生成当前快照名;
将同名快照组中每个同名快照的原快照名更换为当前快照名。
6.如权利要求1所述的快照覆写方法,其特征在于,在所述基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名之后,所述快照覆写方法还包括:
基于所述快照创建指令创建新快照,若所述新快照创建成功,则删除重命名后的同名快照;
若所述新快照创建失败,则启动自动回滚模式,将重命名后的同名快照回滚为原快照名,并返回创建失败提示信息给所述客户端。
7.一种快照覆写装置,其特征在于,包括:
快照创建指令获取模块,用于获取客户端发送的快照创建指令,所述快照创建指令包括指令参数;
规则校验模块,用于使用校验规则对所述指令参数进行规则校验,获取校验结果;
指令参数解析模块,用于当所述校验结果为校验通过时,对所述指令参数进行解析,获取所述指令参数对应的参数值;
同名快照组获取模块,用于若所述参数值包括组名,则基于所述指令参数中的目标快照名,获取与所述目标快照名对应的同名快照组,所述同名快照组包括至少两个同名快照;
重命名模块,用于若所述同名快照组中的所有同名快照均处于非保护状态,则基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名;若所述同名快照组存在一个同名快照处于保护状态,则生成快照创建失败消息,并将所述快照创建失败消息发送给客户端;
获取客户端发送的状态修改请求,所述状态修改请求携带有同名快照ID;
基于所述同名快照ID获取待修改快照;
将所述待修改快照的保护状态修改为非保护状态,重复执行所述基于所述指令参数中的覆写参数获取当前快照名,并使用所述当前快照名对所述同名快照组中的每一同名快照进行重命名。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述快照覆写方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述快照覆写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910323358.0A CN110162507B (zh) | 2019-04-22 | 2019-04-22 | 快照覆写方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910323358.0A CN110162507B (zh) | 2019-04-22 | 2019-04-22 | 快照覆写方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162507A CN110162507A (zh) | 2019-08-23 |
CN110162507B true CN110162507B (zh) | 2023-06-27 |
Family
ID=67639802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910323358.0A Active CN110162507B (zh) | 2019-04-22 | 2019-04-22 | 快照覆写方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162507B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182184A (zh) * | 2014-08-27 | 2014-12-03 | 浪潮电子信息产业股份有限公司 | 一种分布式块存储克隆方法 |
CN105608150A (zh) * | 2015-12-17 | 2016-05-25 | 浪潮电子信息产业股份有限公司 | 一种业务数据的处理方法及系统 |
CN106250265A (zh) * | 2016-07-18 | 2016-12-21 | 乐视控股(北京)有限公司 | 用于对象存储的数据备份方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335253B (zh) * | 2015-10-28 | 2019-01-15 | 北京百度网讯科技有限公司 | 创建虚拟机系统盘快照的方法和装置 |
-
2019
- 2019-04-22 CN CN201910323358.0A patent/CN110162507B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182184A (zh) * | 2014-08-27 | 2014-12-03 | 浪潮电子信息产业股份有限公司 | 一种分布式块存储克隆方法 |
CN105608150A (zh) * | 2015-12-17 | 2016-05-25 | 浪潮电子信息产业股份有限公司 | 一种业务数据的处理方法及系统 |
CN106250265A (zh) * | 2016-07-18 | 2016-12-21 | 乐视控股(北京)有限公司 | 用于对象存储的数据备份方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110162507A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297813B (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN108446116B (zh) | 应用程序页面的生成方法、装置、计算机设备和存储介质 | |
CN110209650B (zh) | 数据规整迁移方法、装置、计算机设备和存储介质 | |
US11741046B2 (en) | Method and apparatus for creating system disk snapshot of virtual machine | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN111008188B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
WO2020151181A1 (zh) | 基于区块链的跨平台数据更新方法、装置和计算机设备 | |
CN109885299B (zh) | 模型开发中的模板处理方法、装置、计算机设备和存储介质 | |
CN110602165B (zh) | 政务数据同步方法、装置、系统、计算机设备和存储介质 | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN115277677B (zh) | 批量档案挂接方法、装置、计算机设备及存储介质 | |
CN111737227A (zh) | 数据修改方法及系统 | |
CN111538754A (zh) | 一种数据归集管理系统、方法、装置、设备和存储介质 | |
CN113535563A (zh) | 测试用例去重方法、装置、计算机设备及存储介质 | |
CN111090701B (zh) | 业务请求处理方法、装置、可读存储介质和计算机设备 | |
CN110162507B (zh) | 快照覆写方法、装置、计算机设备及存储介质 | |
CN112416350A (zh) | 视图页面构建方法、装置、计算机设备和存储介质 | |
CN114201207B (zh) | 一种资源同步方法、装置、电子设备及存储介质 | |
CN110471906A (zh) | 数据库切换方法、装置及设备 | |
CN114138408B (zh) | 克隆卷创建的方法、装置、计算机设备和存储介质 | |
CN115586872A (zh) | 一种容器镜像管理方法、装置、设备及存储介质 | |
CN112463431B (zh) | 一种bios错误定位方法、装置、设备及存储介质 | |
CN115185821A (zh) | 程序测试中版本标注方法、系统、设备及存储介质 | |
CN107844491B (zh) | 一种在分布式系统中实现强一致性读操作的方法与设备 | |
CN111400243A (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 |