CN106354587A - 镜像服务器以及导出虚拟机镜像文件的方法 - Google Patents

镜像服务器以及导出虚拟机镜像文件的方法 Download PDF

Info

Publication number
CN106354587A
CN106354587A CN201610804746.7A CN201610804746A CN106354587A CN 106354587 A CN106354587 A CN 106354587A CN 201610804746 A CN201610804746 A CN 201610804746A CN 106354587 A CN106354587 A CN 106354587A
Authority
CN
China
Prior art keywords
file
delta
mirror
initial
delta file
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
Application number
CN201610804746.7A
Other languages
English (en)
Inventor
李群
魏琪
钱登胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Axis Mdt Infotech Ltd
Original Assignee
Shanghai Axis Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Axis Mdt Infotech Ltd filed Critical Shanghai Axis Mdt Infotech Ltd
Priority to CN201610804746.7A priority Critical patent/CN106354587A/zh
Publication of CN106354587A publication Critical patent/CN106354587A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

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

镜像服务器以及导出虚拟机镜像文件的方法
技术领域
本申请涉及信息技术领域,尤其涉及一种镜像服务器以及导出虚拟机镜像文件的方法。
背景技术
云计算作为一种新兴的资源供应模式,近年来得到了快速的发展。云计算旨在低成本地为用户按需提供高质量的弹性云服务。云计算提供的虚拟机服务有利于降低用户的IT成本,提高云供应商的资源利用率和管理能力,这种方式也存在资源滥用问题。由于虚拟机的创建成本较低,用户往往为不同的任务创建不同的虚拟机,由虚拟机产生的镜像文件是用户使用环境的备份文件。当虚拟机出现异常状况时,镜像文件可以为用户恢复备份时的使用场景。
在现有技术中,虚拟机(VM,Virtual Machine)运行于云计算平台的主存储设备中,虚拟机的镜像文件存储于镜像服务器中。一个完整的镜像文件(image)大小可能为几GB(GigaByte,千兆字节)到几十GB。在每次存储虚拟机镜像文件时,需要由主存储设备创建完整的镜像文件,然后通过SFTP(Secure File Transfer Protocol,安全文件传输协议),将镜像文件从主存储设备本地上传到到镜像服务器,保存一个相同大小的完整的镜像文件,由此完成镜像文件的存储过程。由于完成的镜像文件数据量较大,在每一次处理过程中都创建并存储虚拟机的完整镜像文件,将会占用大量的磁盘空间、计算资源以及网络资源。
申请内容
本申请的一个目的是提供一种镜像服务器以及导出虚拟机镜像文件的方法,用以解决现有技术中每次存储虚拟机镜像文件时需要占用大量的磁盘空间以及网络资源的问题。
为实现上述目的,本申请提供了一种导出虚拟机镜像文件的方法,其中,所述方法包括:
根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件;
基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件;
导出所述目标镜像文件所有的增量文件和初始镜像文件。
进一步地,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,包括:
基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件;
检测所述父级文件是否为所述目标镜像文件的初始镜像文件;
在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。
进一步地,该方法该还包括:
在检测结果为否时,将所述父级文件作为中间增量文件;
基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是;
将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。
进一步地,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,包括:
基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
导出所述目标镜像文件所有的增量文件和初始镜像文件,包括:
导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
进一步地,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件,包括:
基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
对每个增量文件或初始镜像文件的切片文件进行校验;
将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。
进一步地,对每个增量文件或初始镜像文件的切片文件进行校验,包括:
获取每个增量文件或初始镜像文件的切片文件的摘要;
根据所述摘要生成第一汇总摘要,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一;
将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要进行比较,若相同,则校验成功。
基于本申请的另一方面,还提供了一种镜像服务器,其中,所述镜像服务器包括:
请求处理装置,用于根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件;
查询装置,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件;
导出装置,用于导出所述目标镜像文件所有的增量文件和初始镜像文件。
进一步地,所述查询装置,用于基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件;检测所述父级文件是否为所述目标镜像文件的初始镜像文件;以及在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。
进一步地,所述查询装置,还用于在检测结果为否时,将所述父级文件作为中间增量文件;基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是;以及将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。
进一步地,所述查询装置,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
所述导出装置,用于导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
进一步地,所述查询装置,用于基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;对每个增量文件或初始镜像文件的切片文件进行校验;以及将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。
进一步地,所述查询装置在对每个增量文件或初始镜像文件的切片文件进行校验时,用于获取每个增量文件或初始镜像文件的切片文件的摘要,根据所述摘要生成第一汇总摘要,以及将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要进行比较,若相同,则校验成功,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。
此外,本申请还提供了另一种镜像服务器,其中,所述镜像服务器中存储有初始镜像文件、增量文件以及描述文件,其中,所述描述文件包含索引关系,所述索引关系用于确定导出请求中目标镜像文件对应的初始镜像文件和增量文件。
进一步地,所述初始镜像文件和所述增量文件采用切片文件的形式保存。
进一步地,所述描述文件中还包含初始镜像文件和每个增量文件的汇总摘要第二汇总摘要,所述汇总摘要第二汇总摘要用于第一汇总摘要进行比较,完成校验,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。
与现有技术相比,本申请提供了导出虚拟机镜像文件的方法及镜像服务器,该方案中在镜像服务器中不直接存储完整的镜像文件,而是分别存储初始镜像文件和增量文件,因此运行虚拟机的主存储设备在每次存储虚拟机镜像文件时无需生成完整的镜像文件,仅需要把本次的增量文件上传至镜像服务器存储即可,从而避免占用大量的磁盘空间以及网络资源。
而在获取到导出请求后,能够根据目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件,并进一步结合索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,然后导出增量文件和初始镜像文件,使得接收到这些增量文件和初始镜像文件,能够将其恢复成完整的镜像文件。
进一步地,镜像服务器在存储这些初始镜像文件和增量文件时,可以采用切片文件的方式进行存储,而非直接存储完整的初始镜像文件和增量文件,由此,在导入和导出时可以采用并发的方式,提升网络的利用率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的镜像服务器的存储内容的示意图;
图2为本申请实施例所述镜像服务器适用的云计算平台的场景示意图;
图3为本申请实施例提供的一种导出虚拟机镜像文件的方法的流程图;
图4为镜像服务器中各个增量文件以及初始镜像文件之间的关系示意图;
图5为本申请实施例提供的一种优选的查找增量文件和初始镜像文件的方法示意图;
图6为本申请实施例中主存储设备和镜像服务器的组成示意图;
图7为本申请实施例中对查找到的切片文件进行校验的处理流程图;
图8为本申请实施例提供的一种用于导出虚拟机镜像文件的镜像服务器的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出本申请实施例提供的一种镜像服务器,该镜像服务器存储有初始镜像文件110、增量文件120以及描述文件130,其中,所述描述文件包含索引关系,所述索引关系用于确定导出请求中目标镜像文件对应的初始镜像文件和增量文件。
图2示出了上述方案适用的云计算平台的场景,在该场景中,镜像服务器100用于存储镜像相关的文件,即增量文件、初始镜像文件和描述文件。主存储设备200用于运行虚拟机,所述导出请求一般由主存储设备发出,用于根据导出的相关文件创建新的虚拟机。所述主存储设备和镜像服务器可以是云计算平台的某一节点,其具体实现可以是网络主机、单个网络服务器、多个网络服务器组成的集群等。在虚拟机的运行过程中,主存储设备200也可以创建该虚拟机的镜像,由于在现有技术中,主存储设备中产生的某一虚拟机的完整的镜像文件(image)有可能为几G到几十G的大小,上传后,镜像服务器中同样需要存储这些完整的镜像文件,因此会占用大量的存储资源以及上传时的网络资源。
而本申请中,所述镜像服务器中仅需要存储初始镜像文件、每次备份的增量文件以及描述两个增量文件或者增量文件与初始镜像文件之间索引关系的描述文件即可。其中,所述初始镜像文件base0,存储于所述镜像服务器中最早的一个镜像文件,主存储设备可以获取该初始镜像文件作为完整的镜像文件image生成创建虚拟机。而所述增量文件一般采用快照的方式生成,即快照文件(snapshot),当主存储设备生成一个虚拟机镜像时,将创建虚拟机时的image0指定为只读状态,将磁盘中相对于该image0的增量数据作为snapshot。一般情况下,增量文件的数据量远小于创建该虚拟机的镜像文件。
基于上述镜像服务器,本申请实施例提供了一种导出虚拟机镜像文件的方法,该方法具体处理流程如图3所示,包括以下步骤:
步骤S301,根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件。
步骤S302,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件。
步骤S303,导出所述目标镜像文件所有的增量文件和初始镜像文件。
在前述场景中,所述导出请求一般由主存储设备在需要使用镜像文件时发出,例如需要创建虚拟机时,可以向镜像服务器发送导出请求。所述目标镜像文件是指一个完整的镜像文件image,即表示发出导出请求的主存储设备希望最终可以获取到的是一个完整的镜像文件,所述导出请求中可以包含本次需要的目标镜像文件的识别信息,该识别信息可以是名称、编号等信息,用于唯一确定目标镜像文件。由于主存储设备在存储目标镜像文件时,实际上仅仅是生成了该目标镜像文件对应的一个快照文件,即所述第一增量文件,因此第一增量文件能够通过目标镜像文件的识别信息查找到。
图4示出了镜像服务器中各个增量文件以及初始镜像文件之间的关系,假设最早的初始镜像文件为base0,依次生成的虚拟机镜像的增量文件分别为snapshot1、snapshot2、snapshot3等等。snapshot3的索引关系会指向snapshot2,可以将snapshot2记为snapshot3的父级文件(parent),同理,snapshot1为snapshot2父级文件,而base0为snapshot1的父级文件,并且base0本身没有父级文件。一个完整的镜像文件可以由初始镜像文件以及依次生成的至少一个增量文件恢复而成,例如导出请求中需要得到的目标镜像文件为image2,在生成并存储image2时,实际上存储的时创建镜像时的快照文件snapshot2,由此,可以确定snapshot2为所述第一增量文件,并基于索引关系可以确定image2对应的增量文件为snapshot2、snapshot1,初始镜像文件为base0。镜像服务器向主存储设备导出这三个文件后,主存储设备可以将其恢复成image2,以进行虚拟机的创建。
上例中,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件的具体过程,可以参考图5所示的处理步骤:
步骤S501,基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件。即上例中,image2的第一增量文件为snapshot2,基于snapshot2以及索引关系可以确定其父级文件为snapshot1。
步骤S502,检测所述父级文件是否为所述目标镜像文件的初始镜像文件。即检测snapshot1是否为初始镜像文件,在实际场景中,可以通过检测snapshot1是否存在父级文件的方式来确定,若snapshot1也存在父级文件,则可以确定其并非初始镜像文件,此时检测结果为否。若此步骤中检测的是目标镜像文件image1的第一增量文件snapshot1对应的父级文件base0,由于没有指向其他文件的索引关系,则可以确定其不存在父级文件,此时检测结果为是。
步骤S503,在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。例如,可对于目标镜像文件image1来说,其所有的增量文件仅有一个,即snapshot1,而初始镜像文件为base0。
步骤S504,在检测结果为否时,将所述父级文件作为中间增量文件。对于包含多个增量文件的完整镜像文件中,除第一增量文件之外的其他任意一个增量文件,均可以算作中间增量文件。例如,对于目标镜像文件image2来说,在确定snapshot1并非初始镜像文件后,可以将其记为中间增量文件,以进行后续的迭代处理。
步骤S505,基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是。对所述中间增量文件如步骤501、502的迭代处理,以逐层查找到索引关系所指向的其他中间增量文件以及最终的初始镜像文件。
步骤S506,将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。例如,对于前述的image2,第一增量文件为snapshot2,中间增量文件为snapshot1,进一步结合初始镜像文件base0就能够最终恢复成完整的镜像文件image2。
进一步地,在所述镜像服务器中,所述初始镜像文件和所述增量文件采用切片文件(chunk)的形式保存。图6示出了主存储设备和镜像服务器的组成示意图,由示意图可知:虚拟机VM运行在主存储设备中,在存储镜像时,仅生成虚拟机运行状态的快照文件snapshot,作为增量文件。镜像服务器以切片文件chunk的形式保存着增量文件和初始镜像文件,以增量文件为例,在实际处理过程中,可以由主存储设备在创建镜像的过程中对生成的增量文件进行切片处理,将较大的增量文件切分为每个4MB大小的切片文件(除最后一个切片文件可能小于4MB),然后发送至镜像服务器保存。通过索引关系,使其能够在逻辑上组合为初始镜像文件、增量文件、完整的镜像文件等。
对于上述采用切片文件的存储方式,在导出虚拟机镜像文件的方法中,步骤S302具体包括:基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件。相应地,步骤S303具体包括:导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
此外,由于每个增量文件和初始镜像文件的是由较多的切片文件组成,因此在查找到之后,对其进行校验,能够保证每个增量文件以及初始镜像文件的完整性,以避免出现查找到的切片文件缺失、错误等情况。因此,所述步骤S302的另一种优选方式为:
首先,基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
然后,对每个增量文件或初始镜像文件的切片文件进行校验;
最终,将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。以此来保证增量文件和初始镜像文件对应的切片文件的正确性。
为了保证校验的准确性,可以采用如图7所示的校验方式,具体包括以下步骤:
步骤S701,获取每个增量文件或初始镜像文件的切片文件的摘要(digest)。该摘要可以是由主存储设备在生成切片文件时,根据每个切片文件的内容生成。
步骤S702,根据所述摘要生成第一汇总摘要,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。具体地,生成第一汇总摘要的具体方式为将所有的摘要进行hash计算,得到一个hash值,即作为第一汇总摘要。
步骤S703,将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要进行比较,若相同,则校验成功。其中,所述第一汇总摘要和第二汇总摘要均是由切片文件(chunk)的摘要(digest)通过hash计算生成的汇总摘要(blobsum),两者区别在于是在不同的处理阶段基于对应的chunk所生成的。所述第二汇总摘要是指在主存储设备在生成这些切片文件及其摘要进行hash计算得到的hash值,因此该第二汇总摘要是基于正确的切片文件的摘要得到的标准值。而所述第一汇总摘要是在导出虚拟机镜像时,由查找的到某一初始镜像文件或增量文件的chunk所生成。为了验证导出时所查找到的chunk是否正确,需要将查找到的chunk的digest进行hash计算,得到该第一汇总摘要,然后与创建镜像时基于所有正确的chunk的digest所生成的第二汇总摘要比较,若两者相同,则表示导出时所查找到的chunk是正确、完整的,由此完整校验过程。
在实际场景中,所述描述文件可以采用JSON(JavaScript Object Notation,JavaScript对象表示法)文件,描述文件用于描述一个增量文件或者初始镜像文件的信息,以某一增量文件的描述文件为例,如下示出了该描述文件的一种可行的定义方式,:
其中,id表示该增量文件的标识信息;
parents表示该增量文件的父级文件信息;
blobsum表示该增量文件的汇总摘要第二汇总摘要;
created表示该增量文件的创建时间信息;
autho表示该增量文件的创建者信息;
architecture表示该增量文件的对应的虚拟机的操作***信息;
size表示该增量文件的数据量;
name表示该增量文件对应的虚拟机镜像文件的名称;
desc表示该增量文件的其它描述信息。
进一步地,对于其中的blobsum项,可以进一步定义该blobsum的json文件,用于每个chunk查找和校验
其中,chunks的内容为该bolbsum对应的所有chunk的digest。//blobsum=sha256(chunks[0],chunks[1],...,chunks[n]),表示基于这些chunk的digest进行hash计算得到256位长度的blobsum。基于JSON文件的信息,每个增量文件不但其包含哪些切片文件,进而恢复成一个image,而且可以知道每个image是何时、什么***的VM、以及由哪个用户所创建的。基于上述信息,对于管理这些虚拟机和镜像的节点设备来说,可以直接看到每个用户下面完整的image文件。
基于同一发明构思,本申请实施例中还提供了一种用于导出虚拟机镜像文件的镜像服务器,由于其对应的处理方法即为前述实施例中的用于导出虚拟机镜像文件的方法,并且与所述方法解决问题的原理相似,因此所述镜像服务器的实施可以参见对应方法的实施,重复之处不再赘述。
图8示出了该用于导出虚拟机镜像文件的镜像服务器的结构,具体包括:
请求处理装置810,用于根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件;
查询装置820,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件;
导出装置830,用于导出所述目标镜像文件所有的增量文件和初始镜像文件。
进一步地,所述查询装置820,用于基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件;检测所述父级文件是否为所述目标镜像文件的初始镜像文件;以及在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。
进一步地,所述查询装置820,还用于在检测结果为否时,将所述父级文件作为中间增量文件;基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是;以及将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。
作为另一种优选的方式,所述查询装置820,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
所述导出装置830,用于导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
在此基础上,所述查询装置820,进一步用于基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;对每个增量文件或初始镜像文件的切片文件进行校验;以及将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。
进一步地,所述查询装置820在对每个增量文件或初始镜像文件的切片文件进行校验时,用于获取每个增量文件或初始镜像文件的切片文件的摘要,根据所述摘要生成第一汇总摘要,以及将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要进行比较,若相同,则校验成功,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。
综上所述,本申请提供的镜像服务器中,不直接存储完整的镜像文件,而是分别存储初始镜像文件和增量文件,因此运行虚拟机的主存储设备在每次存储虚拟机镜像文件时无需生成完整的镜像文件,仅需要把本次的增量文件上传至镜像服务器存储即可,从而避免占用大量的磁盘空间以及网络资源。
而在获取到导出请求后,能够根据目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件,并进一步结合索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,然后导出增量文件和初始镜像文件,使得接收到这些增量文件和初始镜像文件,能够将其恢复成完整的镜像文件。
进一步地,镜像服务器在存储这些初始镜像文件和增量文件时,可以采用切片文件的方式进行存储,而非直接存储完整的初始镜像文件和增量文件,由此,在导入和导出时可以采用并发的方式,提升网络的利用率。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。

Claims (15)

1.一种导出虚拟机镜像文件的方法,其中,所述方法包括:
根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件;
基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件;
导出所述目标镜像文件所有的增量文件和初始镜像文件。
2.根据权利要求1所述的方法,其中,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,包括:
基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件;
检测所述父级文件是否为所述目标镜像文件的初始镜像文件;
在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。
3.根据权利要求2所述的方法,其中,该方法该还包括:
在检测结果为否时,将所述父级文件作为中间增量文件;
基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是;
将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。
4.根据权利要求1所述的方法,其中,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件,包括:
基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
导出所述目标镜像文件所有的增量文件和初始镜像文件,包括:
导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
5.根据权利要求4所述的方法,其中,基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件,包括:
基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
对每个增量文件或初始镜像文件的切片文件进行校验;
将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。
6.根据权利要求5所述的方法,其中,对每个增量文件或初始镜像文件的切片文件进行校验,包括:
获取每个增量文件或初始镜像文件的切片文件的摘要;
根据所述摘要生成第一汇总摘要,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一;
将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要,若相同,则校验成功。
7.一种镜像服务器,其中,所述镜像服务器包括:
请求处理装置,用于根据导出请求中目标镜像文件的识别信息,确定该目标镜像文件对应的第一增量文件;
查询装置,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件和初始镜像文件;
导出装置,用于导出所述目标镜像文件所有的增量文件和初始镜像文件。
8.根据权利要求7所述的镜像服务器,其中,所述查询装置,用于基于所述第一增量文件和索引关系确定所述第一增量文件的父级文件;检测所述父级文件是否为所述目标镜像文件的初始镜像文件;以及在检测结果为是时,将所述第一增量文件作为所述目标镜像文件所有的增量文件。
9.根据权利要求8所述的镜像服务器,其中,所述查询装置,还用于在检测结果为否时,将所述父级文件作为中间增量文件;基于所述增量文件和索引关系确定所述中间增量文件的父级文件,并采用迭代的方式检测所述父级文件是否为所述目标镜像文件的初始镜像文件,直至检测结果为是;以及将所述第一增量文件和中间增量文件作为所述目标镜像文件所有的增量文件。
10.根据权利要求7所述的镜像服务器,其中,所述查询装置,用于基于所述第一增量文件和索引关系确定所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;
所述导出装置,用于导出所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件所对应的切片文件。
11.根据权利要求10所述的镜像服务器,其中,所述查询装置,用于基于所述第一增量文件和索引关系查询所述目标镜像文件所有的增量文件对应的切片文件、以及初始镜像文件对应的切片文件;对每个增量文件或初始镜像文件的切片文件进行校验;以及将校验成功的所述切片文件确定为所述增量文件或初始镜像文件对应的切片文件。
12.根据权利要求11所述的镜像服务器,其中,所述查询装置在对每个增量文件或初始镜像文件的切片文件进行校验时,用于获取每个增量文件或初始镜像文件的切片文件的摘要,根据所述摘要生成第一汇总摘要,以及将生成的第一汇总摘要与所述增量文件或初始镜像文件的汇总摘要第二汇总摘要,若相同,则校验成功,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。
13.一种镜像服务器,其中,所述镜像服务器中存储有初始镜像文件、增量文件以及描述文件,其中,所述描述文件包含索引关系,所述索引关系用于确定导出请求中目标镜像文件对应的初始镜像文件和增量文件。
14.根据权利要求13所述的镜像服务器,其中,所述初始镜像文件和所述增量文件采用切片文件的形式保存。
15.根据权利要求14所述的镜像服务器,其中,所述描述文件中还包含初始镜像文件和每个增量文件的汇总摘要第二汇总摘要,所述汇总摘要第二汇总摘要用于第一汇总摘要进行比较,完成校验,其中,所述第一汇总摘要与所述初始镜像文件或每个增量文件的切片文件的摘要对应,且映射关系唯一。
CN201610804746.7A 2016-09-06 2016-09-06 镜像服务器以及导出虚拟机镜像文件的方法 Pending CN106354587A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610804746.7A CN106354587A (zh) 2016-09-06 2016-09-06 镜像服务器以及导出虚拟机镜像文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610804746.7A CN106354587A (zh) 2016-09-06 2016-09-06 镜像服务器以及导出虚拟机镜像文件的方法

Publications (1)

Publication Number Publication Date
CN106354587A true CN106354587A (zh) 2017-01-25

Family

ID=57859588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610804746.7A Pending CN106354587A (zh) 2016-09-06 2016-09-06 镜像服务器以及导出虚拟机镜像文件的方法

Country Status (1)

Country Link
CN (1) CN106354587A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897171A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种用于虚拟环境下的存储设备的灾难恢复方法
CN108572888A (zh) * 2017-03-14 2018-09-25 阿里巴巴集团控股有限公司 磁盘快照创建方法和磁盘快照创建装置
CN109358857A (zh) * 2018-08-22 2019-02-19 华为技术有限公司 镜像构建、镜像存储、镜像分发方法及装置
CN111600943A (zh) * 2020-05-09 2020-08-28 上海云轴信息科技有限公司 一种用于获取目标数据的方法与设备
CN115220797A (zh) * 2022-04-21 2022-10-21 北京联合伟世科技股份有限公司 操作***启动及部署方法、装置、设备、介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储***及文件存储和读取方法
US20150339148A1 (en) * 2013-01-31 2015-11-26 Hangzhou H3C Technologies Co., Ltd. Creating virtual machines
CN105404506A (zh) * 2015-10-30 2016-03-16 广州云晫信息科技有限公司 一种云计算镜像文件的构建方法及***
CN105791400A (zh) * 2016-02-29 2016-07-20 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种切换云桌面的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339148A1 (en) * 2013-01-31 2015-11-26 Hangzhou H3C Technologies Co., Ltd. Creating virtual machines
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储***及文件存储和读取方法
CN105404506A (zh) * 2015-10-30 2016-03-16 广州云晫信息科技有限公司 一种云计算镜像文件的构建方法及***
CN105791400A (zh) * 2016-02-29 2016-07-20 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种切换云桌面的方法及***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897171A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种用于虚拟环境下的存储设备的灾难恢复方法
CN108572888A (zh) * 2017-03-14 2018-09-25 阿里巴巴集团控股有限公司 磁盘快照创建方法和磁盘快照创建装置
CN109358857A (zh) * 2018-08-22 2019-02-19 华为技术有限公司 镜像构建、镜像存储、镜像分发方法及装置
CN111600943A (zh) * 2020-05-09 2020-08-28 上海云轴信息科技有限公司 一种用于获取目标数据的方法与设备
CN111600943B (zh) * 2020-05-09 2023-05-30 上海云轴信息科技有限公司 一种用于获取目标数据的方法与设备
CN115220797A (zh) * 2022-04-21 2022-10-21 北京联合伟世科技股份有限公司 操作***启动及部署方法、装置、设备、介质及程序产品
CN115220797B (zh) * 2022-04-21 2024-05-24 北京联合伟世科技股份有限公司 操作***启动及部署方法、装置、设备、介质及程序产品

Similar Documents

Publication Publication Date Title
CA3034034C (en) Data storage, data check, and data linkage method and apparatus
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN106354587A (zh) 镜像服务器以及导出虚拟机镜像文件的方法
US8352490B2 (en) Method and system for locating update operations in a virtual machine disk image
CN106446061A (zh) 用于存储虚拟机镜像的方法及设备
CN103136243B (zh) 基于云存储的文件***去重方法及装置
US10284623B2 (en) Optimized browser rendering service
CN108108127B (zh) 一种文件读取方法及***
CN106445643A (zh) 克隆、升级虚拟机的方法及设备
CN105930479A (zh) 一种数据倾斜处理方法及装置
WO2014000578A1 (en) Method and apparatus for processing database data in distributed database system
CN106899654A (zh) 一种序列值生成方法、装置及***
CN110209714A (zh) 报表生成方法、装置、计算机设备及计算机可读存储介质
CN110855458A (zh) 配置命令生成方法及设备
CN111435367A (zh) 知识图谱的构建方法、***、设备及存储介质
EP3264254B1 (en) System and method for a simulation of a block storage system on an object storage system
CN111274004B (zh) 进程实例管理方法、装置及计算机存储介质
CN107291524B (zh) 一种远程命令的处理方法和装置
CN109656825B (zh) 美术资源处理的方法及装置、电子设备、存储介质
Nguyen et al. An efficient similar image search framework for large-scale data on cloud
CN109389271B (zh) 应用性能管理方法及***
CN109241027B (zh) 数据迁移的方法、装置、电子设备及计算机可读存储介质
CN112632211A (zh) 用于移动机器人的语义信息处理方法与设备
CN109150571B (zh) 网格映射方法和装置
CN113282551B (zh) 数据处理方法、***及设备

Legal Events

Date Code Title Description
C06 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170125