CN113434461A - 快照创建方法和装置,快照还原方法和装置 - Google Patents
快照创建方法和装置,快照还原方法和装置 Download PDFInfo
- Publication number
- CN113434461A CN113434461A CN202010207517.3A CN202010207517A CN113434461A CN 113434461 A CN113434461 A CN 113434461A CN 202010207517 A CN202010207517 A CN 202010207517A CN 113434461 A CN113434461 A CN 113434461A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- disk
- information
- creating
- target
- 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 72
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- 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
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种快照创建方法、装置、计算机设备和存储介质。所述方法包括:获取快照创建指令;根据所述快照创建指令获取磁盘的信息;当根据所述磁盘的信息判断所述磁盘中不包括快照时,创建参考快照;基于所述参考快照更新所述磁盘的信息;当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。采用本方法能够提高快照创建的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种快照创建方法、装置、计算机设备和存储介质,以及一种快照还原方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了快照技术。快照技术可以用于用户返回至某一个时间点的快照,方便用户对之前所作的文件进行修改或者其他操作等。然而,传统的快照技术,存在快照创建不准确的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够准确性的快照创建方法、装置、计算机设备和存储介质,以及一种能够提供准确性的快照还原方法、装置、计算机设备和存储介质。
一种快照创建方法,所述方法包括:
获取快照创建指令;
根据所述快照创建指令获取磁盘的信息;
当根据所述磁盘的信息判断所述磁盘中不包括快照时,创建参考快照;
基于所述参考快照更新所述磁盘的信息;
当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
在其中一个实施例中,所述快照创建指令中包括磁盘类型;
所述根据所述快照创建指令获取磁盘的信息,包括:
根据所述磁盘类型获取所述磁盘的位置信息;
查找所述磁盘的位置信息对应的位置,并从所述位置获取所述磁盘的信息。
在其中一个实施例中,所述创建目标快照,包括:
生成所述磁盘所在的虚拟机当前的配置文件,并获取当前的时间戳,将当前的所述时间戳作为当前的所述配置文件的标识;
根据当前的所述配置文件的标识创建目标快照。
在其中一个实施例中,所述方法还包括:
获取磁盘中各个快照的时间戳;
基于各个所述快照的时间戳,生成所述磁盘的快照链。
在其中一个实施例中,所述方法还包括:
获取所述磁盘的快照链的长度;
当所述长度大于所述长度阈值时,从所述快照链中确定第一快照和第二快照;所述第一快照为所述第二快照的上一个快照;
将所述第二快照的快照信息添加至所述第一快照中,并去除所述快照链中第二快照的快照信息。
在其中一个实施例中,所述方法还包括:
确定第三快照;所述第三快照为所述第二快照的下一个快照;
将所述第三快照指向所述第一快照。
在其中一个实施例中,所述根据所述快照创建指令获取磁盘的信息之后,还包括:
当根据所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
一种快照还原方法,所述方法包括:
获取待还原快照;
当判断所述待还原快照为目标快照时,获取参考快照;所述参考快照为所述目标快照的上一个快照,所述参考快照是当根据磁盘的信息判断所述磁盘中不包括快照时创建的,所述磁盘的信息是根据快照创建指令获取的;
还原至所述参考快照。
在其中一个实施例中,所述还原至所述参考快照,包括:
获取所述参考快照的第一时间戳;
根据所述第一时间戳查找所述参考快照的配置文件;
基于所述参考快照的配置文件对所述参考快照进行还原。
一种快照创建装置,所述装置包括:
指令获取模块,用于获取快照创建指令;
快照信息获取模块,用于根据所述快照创建指令获取磁盘的信息;
参考快照创建模块,用于当根据所述磁盘的信息判断所述磁盘中不包括快照时,创建参考快照;
更新模块,用于基于所述参考快照更新所述磁盘的信息;
目标快照创建模块,用于当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
一种快照还原装置,所述装置包括:
待还原快照获取模块,用于获取待还原快照;
参考快照获取模块,用于当判断所述待还原快照为目标快照时,获取参考快照;所述参考快照为所述目标快照的上一个快照,所述参考快照是当根据磁盘的信息判断所述磁盘中不包括快照时创建的,所述磁盘的信息是根据快照创建指令获取的;
还原模块,用于还原至所述参考快照。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述快照创建方法、装置、计算机设备和存储介质,获取快照创建指令;根据快照创建指令获取磁盘的信息;当根据磁盘的信息判断磁盘中不包括快照时,创建参考快照;基于参考快照更新磁盘的信息;当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照。由于对快照的还原是还原至该快照的上一个快照,则当判断磁盘的信息中不包括快照时,先创建一个参考快照,对磁盘的信息进行更新之后,再创建目标快照,在还原时可以准确还原至该目标快照,避免了在磁盘中不包括快照时,根据获取到的快照创建指令直接创建目标快照,而后续无法对目标快照还原的问题,提高了快照创建的准确性。
上述快照还原方法、装置、计算机设备和存储介质,获取待还原快照;当判断待还原快照为目标快照时,获取参考快照;参考快照为目标快照的上一个快照,参考快照是当根据磁盘的信息判断磁盘中不包括快照时创建的,磁盘的信息是根据快照创建指令获取的;即参考快照为磁盘中的第一个快照,而待还原快照即目标快照为磁盘中的第二个快照,也是根据快照创建指令而创建的用户的第一个快照,则还原至该目标快照的上一个快照即参考快照,可以更准确对该目标快照进行还原。
附图说明
图1为一个实施例中快照创建方法的流程示意图;
图2为另一个实施例中快照创建方法的流程示意图;
图3为一个实施例中获取快照信息的流程示意图;
图4为一个实施例中调整快照链的长度的流程示意图;
图5为另一个实施例中调整快照链的长度的流程示意图;
图6为一个实施例中快照还原方法的流程示意图;
图7为另一个实施例中快照还原方法的流程示意图;
图8为一个实施例中快照删除方法的流程示意图;
图9为一个实施例中快照创建装置的结构框图;
图10为一个实施例中快照还原装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种虚拟机的快照创建方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,获取快照创建指令。
快照是虚拟机磁盘文件(VMDK)在某个点即时的副本。当系统异常或者用户需要对某一个历史时间点磁盘文件进行操作、修改时,可以通过使用还原快照来恢复磁盘文件系统和系统存储。其中,虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
具体地,当检测到触发操作时,获取快照创建指令。触发操作可以是点击屏幕中的“快照创建”按钮,可以是语音输入“创建快照”,也可以是输入的创建快照的代码,还可以是预设的姿态或者图案等,不限于此。
步骤104,根据快照创建指令获取磁盘的信息。
磁盘(Disk),是指利用磁记录技术存储数据的虚拟存储器。虚拟机可以包括至少一个硬件存储器,针对每一个硬件存储器,可以生成至少一个虚拟的磁盘。硬件存储器可以是虚拟机所在的计算机设备内部的存储器,也可以虚拟机所在的计算机设备外部的存储器,如U盘等。创建快照时生成的快照信息存储在磁盘中。虚拟机的磁盘数量可以包括至少一个。每个磁盘的信息独立存储。
在一种实施方式中,当虚拟机的磁盘数量为一个时,该磁盘用于存储创建的快照,根据快照创建指令获取该磁盘的信息。
在另一种实施方式中,当虚拟机的磁盘数量为至少两个时,在快照创建指令中可以包括创建快照所对应的磁盘标识,根据该创建快照所对应的磁盘标识可以查找到该磁盘,获取该磁盘的信息。其中,快照创建指令中包括的创建快照所对应的磁盘标识可以是用户根据需要确定的,也可以是系统默认的,不限于此。
磁盘的信息可以包括磁盘的存储容量、磁盘的位置、磁盘中存储的数据等。磁盘中存储的数据可以包括快照信息、用户数据等。其中,快照信息包括快照位置、快照所在的快照链、快照的数量、快照的时间戳、快照的标识、快照的序号等。其中,快照链是由至少两个快照组成的链式结构的快照。该快照所在磁盘的信息可以包括该磁盘是数据盘还是系统盘,该磁盘是第几块磁盘,磁盘位置等。需要指出的是,当磁盘中包括快照时,磁盘的信息可以包括快照信息。当磁盘中不包括快照时,磁盘的信息不包括快照信息。
步骤106,当根据磁盘的信息判断磁盘中不包括快照时,创建参考快照。
参考快照是当判断磁盘中不包括快照时创建的快照,即参考快照为该磁盘中所创建的第一个快照。可以理解的是,创建的参考快照存储于磁盘中,当更新磁盘的信息之后,可以获取到该参考快照的信息。
快照信息可以为一个存放快照的各种信息的存储集合,当该存储集合为空时,表示磁盘中不包括快照,则创建参考快照。
步骤108,基于参考快照更新磁盘的信息。
创建参考快照之后,基于参考快照更新磁盘的信息。则更新之后的磁盘的信息可以包括磁盘的存储容量、磁盘的位置、磁盘中存储的数据等。磁盘中存储的数据可以包括快照信息、用户数据等。其中,快照信息包括参考快照的时间戳、参考快照的标识、参考快照的序号等。
步骤110,当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照。
获取更新之后的磁盘的信息,此时磁盘的信息中包括了参考快照的信息,即判断磁盘中包括了快照,则创建目标快照。需要指出的是,参考快照为磁盘中创建的第一个快照,是虚拟机所在的计算机设备额外创建的快照,而目标快照则是快照创建指令对应的快照,是用户所需要创建的快照。
上述快照创建方法,获取快照创建指令;根据快照创建指令获取磁盘的信息;当根据磁盘的信息判断磁盘中不包括快照时,创建参考快照;基于参考快照更新磁盘的信息;当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照。由于对快照的还原是还原至该快照的上一个快照,则当判断磁盘的信息中不包括快照时,先创建一个参考快照,对磁盘的信息进行更新之后,再创建目标快照,在还原时可以准确还原至该目标快照,避免了在磁盘中不包括快照时,根据获取到的快照创建指令直接创建目标快照,而后续无法对目标快照还原的问题,提高了快照创建的准确性。
另外,上述快照创建方法,避免了虚拟机在克隆过程中需要拷贝原虚拟机的全部资源,通过创建快照即可获取到虚拟机当前的文件和操作,提高了获取虚拟机某一时刻的文件和操作的效率,以及节约了计算机资源。
在一个实施例中,如图2所示,当获取到快照创建指令时,执行步骤202,获取磁盘的信息;执行步骤204,判断磁盘中是否包括快照。当判断为否时,即判断磁盘中不包括快照时,执行步骤206,创建参考快照。执行步骤208,基于参考快照更新磁盘的信息。当根据更新之后的磁盘的信息判断磁盘中包括快照时,执行步骤210,创建目标快照。
执行步骤204之后,当判断为是时,即当判断磁盘中包括快照时,执行步骤210,创建目标快照。创建目标快照之后,执行步骤212,返回目标快照的快照信息。
在一个实施例中,快照创建指令中包括磁盘类型。根据快照创建指令获取磁盘的信息,包括:根据磁盘类型获取磁盘的位置信息;查找磁盘的位置信息对应的位置,并从位置获取磁盘的信息。
磁盘类型可以包括本地盘和gfs共享盘。可以理解的是,不同磁盘类型的磁盘位置不同,则根据磁盘类型可以获取此判断的位置信息。
进一步地,可以获取用户输入的目标磁盘,在生成快照创建指令时,获取该目标磁盘的磁盘类型,并基于该目标磁盘的磁盘类型生成快照创建指令。目标磁盘是目标快照的信息所存储的磁盘。在数据库中会记录虚拟机的各个磁盘的磁盘类型,根据各个磁盘的磁盘类型,可以获取磁盘的位置信息。
查找磁盘的位置信息对应的位置,并从该位置中获取磁盘的信息。例如,磁盘的位置信息对应的位置为A文件夹,则从该A文件夹中获取磁盘的信息。
在本实施例中,根据磁盘的类型可以快速获取磁盘的位置信息,并从该磁盘的位置信息对应的位置可以更快速获取磁盘的信息,提高快照创建的效率。
在一个实施例中,在创建新的快照之后,需要基于创建的新的快照更新磁盘的信息;其中,创建的新的快照可以是参考快照或者目标快照。如图3所示,在创建新的快照之后,基于创建的新的快照更新磁盘的信息,包括:执行步骤302,获取磁盘的位置信息;执行步骤304,根据磁盘的位置信息获取磁盘中所包括的快照;执行步骤306,重新组合各个快照,并根据组合后的各个快照更新该磁盘的信息。其中,磁盘中所包括的快照包括创建的新的快照。
具体地,将磁盘的名称作为关键字key,将磁盘中各个快照的时间戳作为值value,拼装成JSON格式的快照信息。其中,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。
在一个实施例中,创建目标快照,包括:生成磁盘所在的虚拟机当前的配置文件,并获取当前的时间戳,将当前的时间戳作为当前的配置文件的标识;根据当前的配置文件的标识创建目标快照。
当根据更新之后的磁盘的信息判断磁盘中包括快照时,获取该磁盘所在的虚拟机当前的配置文件。该配置文件可以包括虚拟机的网卡信息,CPU(central processingunit,中央处理器)信息,内存信息,磁盘信息等。该配置文件的格式可以为xml(eXtensibleMarkup Language,可扩展标记语言)格式。
获取当前的时间戳,将当前的时间戳作为当前的配置文件的标识,根据当前的配置文件的标识创建目标快照。该目标快照是基于当前的配置文件的标识创建的,也就是当前的时间戳创建,则在还原目标快照时,可以直接从目标快照获取到该配置文件的标识即该配置文件对应的时间戳,可以快速地找到需要还原的时间戳,从而快速进行还原。
进一步地,可以调用libvirt模块建立和虚拟机的连接,再通过libvirt接口为虚拟机的磁盘创建目标快照。其中Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。
在一个实施例中,创建参考快照,包括:生成磁盘所在的虚拟机当前的配置文件,并获取当前的时间戳,将当前的时间戳作为当前的配置文件的标识;根据当前的配置文件的标识创建参考快照。可以理解的是,创建参考快照的时刻早于创建目标快照的时刻,即参考快照的时间戳早于目标快照的时间戳。
当根据磁盘的信息判断磁盘中不包括快照时,获取该磁盘所在的虚拟机当前的配置文件。该配置文件可以包括虚拟机的网卡信息,CPU(central processing unit,中央处理器)信息,内存信息,磁盘信息等。该配置文件的格式可以为xml(eXtensible MarkupLanguage,可扩展标记语言)格式。
进一步地,可以调用libvirt模块建立和虚拟机的连接,再通过libvirt接口为虚拟机的磁盘创建参考快照。其中Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。
在一个实施例中,当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照之后,还包括:获取磁盘中各个快照的时间戳;基于各个快照的时间戳,生成磁盘的快照链。
时间戳(timestamp)表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。快照的时间戳也就是生成该快照的时刻。快照链是由至少两个快照组成的链式结构的快照。
具体地,获取各个快照的时间戳之后,可以按照时间戳对应的时间先后顺序将各个快照进行拼接,生成磁盘的快照链。其中,各个快照包括参考快照和目标快照。
在本实施例中,获取磁盘中各个快照的时间戳;基于各个快照的时间戳,生成磁盘的快照链。当需要查找快照时,从快照链中按照顺序进行查找所需的快照,可以更快速进行查找。
在另一个实施例中,还可以根据磁盘中的各个快照生成快照列表,并将该快照列表显示在虚拟机所在的计算机设备的屏幕上,可以用于用户进行查看以及管理。
在一个实施例中,如图4所示,上述方法还包括:
步骤402,获取磁盘的快照链的长度。
快照链的长度可以用快照的数量进行表示。例如,快照链中所包括的快照数量为10,则该快照链的长度可以为10;快照链中所包括的快照数量为152,则该快照链的长度可以为152。
步骤404,当长度大于长度阈值时,从快照链中确定第一快照和第二快照;第一快照为第二快照的上一个快照。
长度阈值可以根据用户需要进行设定。第一快照和第二快照为相邻的两个快照,且第一快照为第二快照的上一个快照。
具体地,可以获取各个快照的优先级,基于各个快照的优先级确定第二快照,并将第二快照的上一个快照确定为第一快照。其中,各个快照的优先级可以根据用户需要进行设定。例如,在创建快照时,可以获取设置的该快照的优先级。
可以理解的是,优先级越高,则该快照的重要程度越重要;优先级越低,则该快照的重要程度越低。可选地,可以将优先级最低的快照确定为第二快照,也可以将优先级次低的快照确定为第二快照,不限于此。
步骤406,将第二快照的快照信息添加至第一快照中,生成新的第一快照,并去除快照链中第二快照的快照信息。
可以理解的是,当快照链的长度大于长度阈值时,表示该快照链中所包括的快照多,则在查找快照时存在查找速度慢的问题。因此,可以去除快照链中的若干个快照,减少快照链中所包括的快照的数量,从而提高查找快照的速度。
具体地,将第二快照的快照信息添加至第一快照中,生成新的第一快照。则该新的第一快照中既包括原本第一快照的快照信息,也包括第二快照的快照信息。去除快照链中第二快照的快照信息,减少快照链中所包括的快照的数量,从而提高查找快照的速度。第二快照的数量可以为一个,也可以为多个。在一个实施例中,具体地,可以调用qemu-img命令执行步骤406。
在一个实施例中,如图5所示,执行步骤502,调用libvirt模块建立和虚拟机的连接。执行步骤504,通过libvirt接口分别为虚拟机的各个磁盘创建快照。执行步骤506,将当前的时间戳作为当前创建的快照的配置文件的标识。获取磁盘中各个快照的时间戳;基于各个快照的时间戳,生成磁盘的快照链。执行步骤508,判断快照链的长度是否大于长度阈值。当判断为是时,执行步骤510,从快照链中确定第一快照和第二快照;第一快照为第二快照的上一个快照。执行步骤512,将第二快照的快照信息添加至第一快照中,生成新的第一快照,并去除快照链中第二快照的快照信息。去除第二快照的快照信息之后,则结束。当判断为否时,即判断快照链的长度小于或等于长度阈值时,则结束。
在一个实施例中,上述方法还包括:确定第三快照;第三快照为第二快照的下一个快照;将第三快照指向新的第一快照。
可以理解的是,快照链中的每个快照环环相扣,即每个快照均指向上一个快照。当将第二快照的快照信息添加至第一快照中,生成新的第一快照,并去除快照链中第二快照的快照信息之后,则将原本指向第二快照的第三快照,更新为指向新的第一快照。当第三快照指向新的第一快照之后,则更新之后的快照链中的每个快照依旧是环环相扣,在对第三快照进行还原时可以准确进行还原。
在一个实施例中,根据快照创建指令获取磁盘的信息之后,还包括:当根据磁盘的信息判断磁盘中包括快照时,创建目标快照。
根据快照创建指令获取磁盘的信息之后,当根据磁盘的信息判断磁盘中包括快照时,即根据快照创建指令所要创建的目标快照不是该磁盘中的第一个快照,则可以直接创建目标快照,在对该目标快照进行还原时也可以准确还原至该目标快照。
在一个实施例中,如图6所示,提供了一种快照还原方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤602,获取待还原快照。
步骤604,当判断待还原快照为目标快照时,获取参考快照;参考快照为目标快照的上一个快照,参考快照是当根据磁盘的信息判断磁盘中不包括快照时创建的,磁盘的信息是根据快照创建指令获取的。
参考快照是目标快照的上一个快照。当判断待还原快照为目标快照时,表示该待还原快照为磁盘中的第二个快照,该待还原快照为用户创建的第一个快照,而参考快照为磁盘中的第一个快照。
步骤606,还原至参考快照。
可以理解的是,当用户确定待还原快照之后,是需要重新对该待还原快照的文件进行修改或者其他操作。因此获取待还原快照的上一个快照,即参考快照,还原至该参考快照对应的时间点,则用户可以重新对该待还原快照的文件进行修改或者其他操作,从而生成新的快照。
进一步地,当还原至参考快照之后,可以去除磁盘中在参考快照之后的其他快照,从而节约计算机资源和空间。
在本实施例中,获取待还原快照;当判断待还原快照为目标快照时,获取参考快照;参考快照为目标快照的上一个快照,参考快照是当根据磁盘的信息判断磁盘中不包括快照时创建的,磁盘的信息是根据快照创建指令获取的;即参考快照为磁盘中的第一个快照,而待还原快照即目标快照为磁盘中的第二个快照,也是根据快照创建指令而创建的用户的第一个快照,则还原至该目标快照的上一个快照即参考快照,可以准确对该目标快照进行还原。
在一个实施例中,还原至参考快照,包括:获取参考快照的第一时间戳;根据第一时间戳查找参考快照的配置文件;基于参考快照的配置文件对参考快照进行还原。
具体地,将参考快照的第一时间戳与磁盘中的各个配置文件的时间戳进行匹配,将与第一时间戳相匹配的配置文件作为参考快照的配置文件。该参考快照的配置文件包括虚拟机的网卡信息,CPU(central processing unit,中央处理器)信息,内存信息,磁盘信息等信息,通过该参考快照的配置文件可以还原至该参考快照。
在本实施例中,获取参考快照的第一时间戳;根据第一时间戳可以准确查找到参考快照的配置文件;基于参考快照的配置文件可以对参考快照进行准确还原。
在一个实施例中,如图7所示,执行步骤702,获取待还原快照。执行步骤704,判断待还原快照是否存在。当判断为否时,即该待还原快照不存在,则无法还原。当判断为是时,执行步骤708,判断待还原快照是否为参考快照,即判断待还原快照是否为磁盘中的第一个快照。当判断为是时,即待还原快照为磁盘中的第一个快照,无法还原。当判断为否时,即待还原快照不是磁盘中的第一个快照,执行步骤710,获取待还原快照的上一个快照的时间戳。执行步骤712,根据该时间戳查找上一个快照对应的配置文件。执行步骤714,重新启动虚拟机,启动之后可以使得该配置文件生效。执行步骤716,删除待还原快照以及待还原快照之后的快照。可以理解的是,删除快照时可以删除包括该快照的配置文件、该快照的名称、该快照的时间戳等信息。
在一个实施例中,如图8所示,执行步骤802,获取待删除快照。执行步骤804,判断待删除快照是否存在。当判断为否时,即该待删除快照不存在,则无法删除。当判断为是时,执行步骤808,判断待删除快照是否为参考快照,即判断待删除快照是否为磁盘中的第一个快照。当判断为是时,即待删除快照为磁盘中的第一个快照,无法删除。当判断为否时,即待删除快照不是参考快照,也即待删除快照不是磁盘中的第一个快照,则执行步骤810,确定待删除快照的上一个快照。具体地,获取待删除快照的时间戳,根据该时间戳获取上一个时间戳,并将上一个时间戳对应的快照确定为待删除快照的上一个快照。执行步骤812,将待删除快照的快照信息添加至上一个快照中,并删除待删除快照。具体地,可以调用qemu-img命令执行步骤812。
应该理解的是,虽然图1、图4和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图4和图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种快照创建装置900,包括:指令获取模块902、磁盘的信息获取模块904、参考快照创建模块906、更新模块908和目标快照创建模块910,其中:
指令获取模块902,用于获取快照创建指令。
磁盘的信息获取模块904,用于根据快照创建指令获取磁盘的信息。
参考快照创建模块906,用于当根据磁盘的信息判断磁盘中不包括快照时,创建参考快照。
更新模块908,用于基于参考快照更新磁盘的信息。
目标快照创建模块910,用于当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照。
上述快照创建装置,获取快照创建指令;根据快照创建指令获取磁盘的信息;当根据磁盘的信息判断磁盘中不包括快照时,创建参考快照;基于参考快照更新磁盘的信息;当根据更新之后的磁盘的信息判断磁盘中包括快照时,创建目标快照。由于对快照的还原是还原至该快照的上一个快照,则当判断磁盘的信息中不包括快照时,先创建一个参考快照,对磁盘的信息进行更新之后,再创建目标快照,在还原时可以准确还原至该目标快照,避免了在磁盘中不包括快照时,根据获取到的快照创建指令直接创建目标快照,而后续无法对目标快照还原的问题,提高了快照创建的准确性。
在一个实施例中,快照创建指令中包括磁盘类型。上述磁盘的信息获取模块904还用于根据磁盘类型获取磁盘的位置信息;查找磁盘的位置信息对应的位置,并从位置获取磁盘的信息。
在一个实施例中,上述目标快照创建模块910还用于生成磁盘所在的虚拟机当前的配置文件,并获取当前的时间戳,将当前的时间戳作为当前的配置文件的标识;根据当前的配置文件的标识创建目标快照。
在一个实施例中,上述快照创建装置900还包括快照链生成模块,用于获取磁盘中各个快照的时间戳;基于各个快照的时间戳,生成磁盘的快照链。
在一个实施例中,上述快照创建装置900还包括快照链长度调整模块,用于获取磁盘的快照链的长度;当长度大于长度阈值时,从快照链中确定第一快照和第二快照;第一快照为第二快照的上一个快照;将第二快照的快照信息添加至第一快照中,生成新的第一快照,并去除快照链中第二快照的快照信息。
在一个实施例中,上述快照链长度调整模块还用于确定第三快照;第三快照为第二快照的下一个快照;将第三快照指向新的第一快照。
在一个实施例中,上述目标快照创建模块910还用于当根据磁盘的信息判断磁盘中包括快照时,创建目标快照。
关于快照创建装置的具体限定可以参见上文中对于快照创建方法的限定,在此不再赘述。上述快照创建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图10所示,提供了一种快照还原装置1000,包括:待还原快照获取模块1002、参考快照获取模块1004和还原模块1006,其中:
待还原快照获取模块1002,用于获取待还原快照。
参考快照获取模块1004,用于当判断待还原快照为目标快照时,获取参考快照;参考快照为目标快照的上一个快照,参考快照是当根据磁盘的信息判断磁盘中不包括快照时创建的,磁盘的信息是根据快照创建指令获取的。
还原模块1006,用于还原至参考快照。
在本实施例中,获取待还原快照;当判断待还原快照为目标快照时,获取参考快照;参考快照为目标快照的上一个快照,参考快照是当根据磁盘的信息判断磁盘中不包括快照时创建的,磁盘的信息是根据快照创建指令获取的;即参考快照为磁盘中的第一个快照,而待还原快照即目标快照为磁盘中的第二个快照,也是根据快照创建指令而创建的用户的第一个快照,则还原至该目标快照的上一个快照即参考快照,可以准确对该目标快照进行还原。
在一个实施例中,上述还原模块1006还用于获取参考快照的第一时间戳;根据第一时间戳查找参考快照的配置文件;基于参考快照的配置文件对参考快照进行还原。
关于快照还原装置的具体限定可以参见上文中对于快照还原方法的限定,在此不再赘述。上述快照还原装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种快照创建方法以及一种快照还原方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述快照创建方法的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述快照还原方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述快照创建方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述快照还原方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种快照创建方法,其特征在于,所述方法包括:
获取快照创建指令;
根据所述快照创建指令获取磁盘的信息;
当根据所述磁盘的信息判断所述磁盘中不包括快照时,创建参考快照;
基于所述参考快照更新所述磁盘的信息;
当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
2.根据权利要求1所述的方法,其特征在于,所述快照创建指令中包括磁盘类型;
所述根据所述快照创建指令获取磁盘的信息,包括:
根据所述磁盘类型获取所述磁盘的位置信息;
查找所述磁盘的位置信息对应的位置,并从所述位置获取所述磁盘的信息。
3.根据权利要求1所述的方法,其特征在于,所述创建目标快照,包括:
生成所述磁盘所在的虚拟机当前的配置文件,并获取当前的时间戳,将当前的所述时间戳作为当前的所述配置文件的标识;
根据当前的所述配置文件的标识创建目标快照。
4.根据权利要求1所述的方法,其特征在于,所述当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照之后,还包括:
获取所述磁盘中各个快照的时间戳;
基于各个所述快照的时间戳,生成所述磁盘的快照链。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述磁盘的快照链的长度;
当所述长度大于所述长度阈值时,从所述快照链中确定第一快照和第二快照;所述第一快照为所述第二快照的上一个快照;
将所述第二快照的快照信息添加至所述第一快照中,生成新的第一快照,并去除所述快照链中第二快照的快照信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定第三快照;所述第三快照为所述第二快照的下一个快照;
将所述第三快照指向所述新的第一快照。
7.根据权利要求1所述的方法,其特征在于,所述根据所述快照创建指令获取磁盘的信息之后,还包括:
当根据所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
8.一种快照还原方法,其特征在于,所述方法包括:
获取待还原快照;
当判断所述待还原快照为目标快照时,获取参考快照;所述参考快照为所述目标快照的上一个快照,所述参考快照是当根据磁盘的信息判断所述磁盘中不包括快照时创建的,所述磁盘的信息是根据快照创建指令获取的;
还原至所述参考快照。
9.根据权利要求8所述的方法,其特征在于,所述还原至所述参考快照,包括:
获取所述参考快照的第一时间戳;
根据所述第一时间戳查找所述参考快照的配置文件;
基于所述参考快照的配置文件对所述参考快照进行还原。
10.一种快照创建装置,其特征在于,所述装置包括:
指令获取模块,用于获取快照创建指令;
磁盘的信息获取模块,用于根据所述快照创建指令获取磁盘的信息;
参考快照创建模块,用于当根据所述磁盘的信息判断所述磁盘中不包括快照时,创建参考快照;
更新模块,用于基于所述参考快照更新所述磁盘的信息;
目标快照创建模块,用于当根据更新之后的所述磁盘的信息判断所述磁盘中包括快照时,创建目标快照。
11.一种快照还原装置,其特征在于,所述装置包括:
待还原快照获取模块,用于获取待还原快照;
参考快照获取模块,用于当判断所述待还原快照为目标快照时,获取参考快照;所述参考快照为所述目标快照的上一个快照,所述参考快照是当根据磁盘的信息判断所述磁盘中不包括快照时创建的,所述磁盘的信息是根据快照创建指令获取的;
还原模块,用于还原至所述参考快照。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207517.3A CN113434461A (zh) | 2020-03-23 | 2020-03-23 | 快照创建方法和装置,快照还原方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207517.3A CN113434461A (zh) | 2020-03-23 | 2020-03-23 | 快照创建方法和装置,快照还原方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113434461A true CN113434461A (zh) | 2021-09-24 |
Family
ID=77752394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010207517.3A Pending CN113434461A (zh) | 2020-03-23 | 2020-03-23 | 快照创建方法和装置,快照还原方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434461A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777219A (zh) * | 2016-12-23 | 2017-05-31 | 北京亚细亚智业科技有限公司 | 用于虚拟化数据中心的数据处理方法及装置 |
CN109189546A (zh) * | 2018-07-11 | 2019-01-11 | 新华三云计算技术有限公司 | 一种虚拟机在线快照的制作方法及装置 |
CN109358947A (zh) * | 2018-10-08 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种虚拟机快照的实现方法及系统 |
CN110879742A (zh) * | 2019-10-15 | 2020-03-13 | 平安科技(深圳)有限公司 | 虚拟机异步创建内部快照方法、装置及存储介质 |
-
2020
- 2020-03-23 CN CN202010207517.3A patent/CN113434461A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777219A (zh) * | 2016-12-23 | 2017-05-31 | 北京亚细亚智业科技有限公司 | 用于虚拟化数据中心的数据处理方法及装置 |
CN109189546A (zh) * | 2018-07-11 | 2019-01-11 | 新华三云计算技术有限公司 | 一种虚拟机在线快照的制作方法及装置 |
CN109358947A (zh) * | 2018-10-08 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种虚拟机快照的实现方法及系统 |
CN110879742A (zh) * | 2019-10-15 | 2020-03-13 | 平安科技(深圳)有限公司 | 虚拟机异步创建内部快照方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6629697B2 (ja) | 仮想マシンイメージファイルを抽出する方法および装置 | |
CN108363587B (zh) | 应用程序运行监控方法、装置、计算机设备和存储介质 | |
US11157445B2 (en) | Indexing implementing method and system in file storage | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN111068328B (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN109657177A (zh) | 升级后页面的生成方法、装置、存储介质及计算机设备 | |
CN105867962A (zh) | 系统升级的方法和装置 | |
CN111562870B (zh) | 地图点位图标扩展处理方法及装置 | |
CN110543450A (zh) | 电子文档生成方法、装置、计算机设备及存储介质 | |
CN113282799A (zh) | 节点的操作方法、装置、计算机设备和存储介质 | |
CN113778442A (zh) | 一种系统菜单生成方法、装置、设备及存储介质 | |
CN113377458B (zh) | 插件管理方法、装置、电子设备和存储介质 | |
US11416801B2 (en) | Analyzing value-related data to identify an error in the value-related data and/or a source of the error | |
CN111090701B (zh) | 业务请求处理方法、装置、可读存储介质和计算机设备 | |
CN115221156A (zh) | 数据库集群扩容方法、装置、计算机设备和存储介质 | |
JP5943753B2 (ja) | 仮想マシン管理システム、仮想マシン管理方法およびプログラム | |
CN113434461A (zh) | 快照创建方法和装置,快照还原方法和装置 | |
CN114138734A (zh) | 基于Web的面向数据库及文件资源的版本管理方法 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN113094052A (zh) | 应用构建方法、装置、计算机设备和存储介质 | |
CN108614838B (zh) | 一种用户群索引处理方法、装置及系统 | |
US20150046414A1 (en) | Computer product, managing apparatus, and managing method | |
CN112699372A (zh) | 漏洞处理方法、装置和计算机可读存储介质 | |
CN117130987B (zh) | 一种大规模无人机集群的飞控管理方法 | |
CN115617580B (zh) | 基于共享sst文件的增量备份、恢复方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210924 |
|
RJ01 | Rejection of invention patent application after publication |