拉取虚拟机镜像文件的方法和装置的制造方法_3

文档序号:9506039阅读:来源:国知局
法的流程500,在图2中所示的拉取虚拟机镜像文件的方法的基础上,还可以包括以下步骤:
[0064]步骤501,检查预先分发至各物理机的基础镜像文件是否被虚拟机所引用。
[0065]在一个合理的云计算产品中,虚拟机支持的操作系统的镜像文件总是在不断增加,甚至在一些云计算产品中,设有镜像市场(用户可以自己去制作镜像系统),导致产品中存在大量的镜像文件。为了保证云计算产品中的镜像文件的使用效率较高,减少镜像文件耗用的物理机的存储空间,虚拟机管理模块需要根据预先分发至各物理机的基础镜像文件是否被引用来确定对预先分发至各物理机的基础镜像文件的管理。
[0066]在虚拟机管理模块确定预先分发至各物理机的基础镜像文件是否被引用时,可以将运行于物理机中的虚拟机磁盘文件与预先分发至物理机的基础镜像文件进行对比,若预先分发至物理机的基础镜像文件存在于虚拟机磁盘文件的链结构中,则确定该基础镜像文件被引用。
[0067]步骤502,若引用,则保留检查的基础镜像文件,并将检查的基础镜像文件的时间戳更新为检查时的时间戳。
[0068]在本实施例中,虚拟机管理模块若根据步骤501的检查结果确定预先分发至各物理机的基础镜像文件被虚拟机所引用,则保留检查的基础镜像文件,并将检查的基础镜像文件的时间戳更新为检查时的时间戳。
[0069]步骤503,若未引用,且检查的基础镜像文件的时间戳所指示的时间距当前时间的间隔超过预设时间间隔,删除检查的基础镜像文件。
[0070]在本实施例中,虚拟机管理模块若根据步骤501的检查结果确定预先分发至各物理机的基础镜像文件未被虚拟机所引用,且检查的基础镜像文件的时间戳所指示的时间距当前时间的间隔超过预设的时间间隔,则删除检查的基础镜像文件,也即当检查的基础镜像文件未被虚拟机所引用且其寿命到达预设寿命时,删除检查的基础镜像文件。
[0071]上述提高基础镜像文件的有效存储率的方法,对物理机中预先分发的基础镜像文件进行删选,删除了未被引用且到达预设寿命的基础镜像文件,提高了物理机磁盘空间的利用效率。
[0072]进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种拉取虚拟机镜像文件的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0073]如图6所示,本实施例所述的加速拉取虚拟机镜像文件的装置600包括:第一获取单元610、判断单元620、第二获取单元630和第三获取单元640。其中,第一获取单元610配置用于获取镜像拉取指令,其中,镜像拉取指令可以包括但不限于拉取的镜像文件的时间戳;判断单元620配置用于判断拉取指令是否为仅拉取基础镜像文件的指令;第二获取单元630,配置用于若拉取指令是仅拉取基础镜像文件的指令,则从本地获取预先分发至各物理机的基础镜像文件;而第三获取单元640,配置用于若拉取指令并非仅拉取基础镜像文件的指令,从本地获取预先分发至各物理机的基础镜像文件,从本地或镜像服务器中获取满足拉取的镜像文件的时间戳的增量文件。
[0074]在本实施例中,加速拉取虚拟机镜像文件的装置600的第一获取单元610可以根据接收的创建虚拟机请求,获取镜像拉取指令,其中,镜像拉取指令包括需要拉取的上述创建虚拟机请求中的镜像文件的时间戳。
[0075]在本实施例中,判断单元620可以对于第一获取单元610中获取的镜像拉取指令进行判断,判断拉取指令是否为仅拉取基础镜像文件的指令。在一些实现中,装置中的基础镜像文件可以包括但不限于:原始镜像文件;或原始镜像文件及原始镜像文件的补丁文件。在进一步的实现中,装置中的基础镜像文件可以包括但不限于:原始镜像文件及原始镜像文件的一个补丁文件。
[0076]在本实施例中,组成云计算平台的物理机中预先存储了基础镜像文件。上述的第二获取单元630可以根据判断单元620的第一个判断结果拉取创建虚拟机的文件:若判定拉取指令是仅拉取基础镜像文件的指令,则可以从上述的虚拟机管理模块为虚拟机分配的宿主物理机中,获取物理机中预先存储的基础镜像文件。
[0077]在本实施例中,第三获取单元640可以根据判断单元620的第二个判断结果拉取创建虚拟机的文件:若判定拉取指令并非仅拉取基础镜像文件的指令,则对创建虚拟机的文件分别进行拉取,其中,基础镜像文件,可以直接从本地拉取;除基础镜像文件之外的增量文件,根据增量文件的存储位置,可以从本地拉取或通过云计算平台架构中的虚拟机镜像管理模块从镜像服务器拉取。其中,增量文件为创建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文件。在一些实现中,装置中的增量文件为创建虚拟机镜像文件时根据虚拟机磁盘文件的顶层文件生成的镜像文件。
[0078]在本实施例中,虚拟机镜像文件采用链式结构,例如可以采用qcow2格式的链式结构。
[0079]在本实施例的一些可选实现方式中,上述的第三获取单元可以包括但不限于(图中未示出):判断子单元,配置用于判断本地物理机上是否已存储有满足拉取指令的增量文件;第一获取子单元,配置用于若本地物理机上已存储有增量文件,则从本地物理机上获取增量文件;第一拉取子单元,配置用于若本地物理机上未存储有增量文件,向存储有镜像文件依赖链的数据库发送增量文件查询指令,并基于查询结果,从镜像服务器中拉取增量文件。
[0080]在本实施例的一些可选实现方式中,上述的第一拉取子单元可以包括但不限于(图中未示出):查询子单元,配置用于向数据库查询增量文件的依赖关系,并基于依赖关系查询本地物理机中是否已存储增量文件的依赖文件;第二拉取子单元,配置用于若本地物理机中未存储增量文件的依赖文件,则从镜像服务器中拉取依赖文件。
[0081]在本实施例的一些可选实现方式中,上述的装置还可以包括但不限于(图中未示出):检查单元,配置用于检查预先分发至各物理机的基础镜像文件是否被虚拟机所引用;第一更新单元,配置用于若预先分发至各物理机的基础镜像文件引用被虚拟机所引用,则保留检查的基础镜像文件,并将检查的基础镜像文件的时间戳更新为检查时的时间戳;删除单元,配置用于若预先分发至各物理机的基础镜像文件未被虚拟机所引用,且检查的基础镜像文件的时间戳所指示的时间距当前时间的间隔超过预设时间间隔,删除检查的基础镜像文件。
[0082]在本实施例的一些可选实现方式中,上述的装置还可以包括但不限于(图中未示出):第二更新单元,配置用于间隔预定时间更新预先分发至各物理机的基础镜像文件。
[0083]本领域技术人员应当理解,装置600中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对创建虚拟机系统盘快照的方法描述的操作和特征同样适用于装置600及其中包含的单元,在此不再赘述。装置600中的相应单元可以与终端设备或服务器中的单元相互配合以实现本申请实施例的方案。
[0084]本领域技术人员可以理解,上述加速拉取虚拟机镜像文件的装置600还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图6中未示出。
[0085]下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统700的结构示意图。
[0086]如图7所示,计算机系统700包括中央处理单元(CPU) 701,其可以根据存储在只读存储器(ROM) 702中的程序或者从存储部分708加载到随机访问存储器(RAM) 703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701,ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
[0087]以下部件连接至I/O接口 705:包括键盘、鼠标等的输入部分706 ;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707 ;包括硬盘等的存储部分708 ;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口 705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0088]特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含配置用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1