CN103440157A - 一种用于获得虚拟机的模板的方法和装置 - Google Patents
一种用于获得虚拟机的模板的方法和装置 Download PDFInfo
- Publication number
- CN103440157A CN103440157A CN201310256424XA CN201310256424A CN103440157A CN 103440157 A CN103440157 A CN 103440157A CN 201310256424X A CN201310256424X A CN 201310256424XA CN 201310256424 A CN201310256424 A CN 201310256424A CN 103440157 A CN103440157 A CN 103440157A
- Authority
- CN
- China
- Prior art keywords
- template
- virtual machine
- group
- deriving means
- dependence
- 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.)
- Granted
Links
Images
Abstract
本发明的目的在于提供一种用于获得虚拟机的模板的方法和装置。根据本发明的方法包括:确定所述虚拟机所依据的第一模板;获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息;根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。本发明的优点在于,通过建立相互之间具有依赖关系的多个模板,使得用户可方便的从一个模板切换至另一个模板,并且,由于模板之间的依赖关系,使得每个模板仅需保存自身的增量数据即可,极大的减少了模板的存储空间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于获得虚拟机的模板和装置。
背景技术
在虚拟化环境下,主要通过利用模板来快速创建虚拟机,在现有技术中,传统的模板是某虚拟机的一个完全备份,如果用户希望建立多种状态下的虚拟机,则需要预先存储虚拟机在该多个状态时的完全备份。通常采用磁盘完全备份或者采用增量磁盘来实现。
然而,磁盘完全备份占用空间多,不利于多个状态保持,不同状态切换不灵活;现有的增量磁盘虽然单个模板占用空间不多,但是多个模板之间没有关系,每个模板只是当前状态的压缩存储,因此也不利于各个模板之间的切换。
发明内容
本发明的目的在于提供一种用于获得虚拟机的模板的方法和装置。
根据本发明的一个方面,提供一种用于获得虚拟机的模板的方法,其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至少一个其他模板具有依赖关系,所述方法包括以下步骤:
a确定所述虚拟机所依据的第一模板;
b获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息;
c根据相对于所述第一模板的所述增量数据信息,生成与所述虚 拟机的所述当前状态相对应的第二模板。
根据本发明的一个方面,提供一种用于获得虚拟机的模板的模板获取装置,其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至少一个其他模板具有依赖关系,所述模板获取装置包括:
第一确定装置,用于确定所述虚拟机所依据的第一模板;
第一获取装置,用于获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息;
生成装置,用于根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。
本发明的优点在于,通过建立相互之间具有依赖关系的多个模板,使得用户可方便的从一个模板切换至另一个模板,并且,由于模板之间的依赖关系,使得每个模板仅需保存自身的增量数据即可,极大的减少了模板的存储空间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为根据本发明的一个方面的用于获得虚拟机的模板的方法流程图;
图2为根据本发明的一个方面的用于获得虚拟机的模板的模板获取装置的结构示意图;
图3示意出了根据本发明的一个示例的模板组的树状拓扑结构图;
图4示意出了根据本发明的一个示例的更新后的模板组的树状拓扑结构图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示意出了根据本发明的一种用于获得虚拟机的模板的方法流程图。其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至 少一个其他模板具有依赖关系。
其中,所述不同状态分别对应于不同时间点下的虚拟机。其中,一个模板依赖于另一个模板的依赖关系表示:该一个模板可基于对该另一个模板进行一定数据操作后获得。
优选地,所述各个模板与该组的至少一个其他模板具有依赖关系包括各个模板相对于该组的所述至少一个其他模板的增量数据信息。
更优选地,所述模板组采用树状拓扑结构来记录各个模板之间的依赖关系,其中,被依赖的模板为父节点,依赖于该模板的一个或多个其他模板均为该父节点的子节点。
其中,根据本发明的方法通过计算机设备实现。优选地,根据本发明的所述虚拟机与其所对应的模板组分别位于不同的计算机设备,并且该两个计算机设备之间可进行通信。
所述计算机设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述计算机设备包括网络设备和/或用户设备。其中,所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、PDA、游戏机、或IPTV等。其中,所述用户设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述计算机设备以及网络仅为举例,其他现有的或今后可能出现的用户设备以及网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
参照图1,根据本发明的方法包括步骤S1、步骤S2和步骤S3。
在步骤S1中,计算机设备确定所述虚拟机所依据的第一模板。
1)计算机设备先确定待建立的虚拟机对应的模板组;由所述模板组中选择一个模板,以生成与该模板对应的虚拟机;以将所选择的模板作为第一模板。
具体地,计算机设备基于待建立虚拟机的特征信息,确定与待建立虚拟机对应的模板组。
其中,所述特征信息包括以下至少任一项:
i)待建立虚拟机的功能,例如,虚拟操作系统,虚拟游戏系统等;
ii)待建立虚拟机的属性信息,例如,虚拟机所需的存储空间大小,虚拟机所需的硬件设备的配置等;
iii)待建立虚拟机对应的用户信息,例如,用户标识信息等。
例如,计算机设备可基于待建立虚拟机所采用的操作系统,与多个模板组对应的操作系统进行比较,以确定与待建立虚拟机对应的模板组等。
其中,当模板组存储于可与计算机设备通过网络进行通信的另一设备时,计算机设备可通过向该设备发送包含特征信息的相关信息,并接收该设备所反馈的与该特征信息相对应的模板组,以确定与待建立虚拟机对应的模板组。
其中,由于本领域技术人员可根据实际情况和需求,确定设备间的通信的具体方式,故在此不再赘述。
2)在至少已执行一次步骤S1至步骤S3的操作之后,计算机设备将前一次执行步骤S3所获得的第二模板作为新的所述虚拟机所依据的第一模板,以继续执行步骤S2与步骤S3。
3)计算机设备将基于数据回滚操作所恢复至的目标模板作为新的所述虚拟机所依据的第一模板。具体地将在后续步骤S6中予以详述,此处不再赘述。
根据本发明的第一示例,计算机设备中的待建立虚拟机的特征信息包括采用Linux系统,与该计算机设备可进行通信的另一设备中保存了三个模板组MG1、MG2以及MG3,则计算机设备将该待建立虚拟机的特征信息发送至该另一设备,并通过与该另一设备的通信,确定待建立虚拟机对应的模板组为MG1。其中,模板组MG1采用如图3所示的树状拓扑结构来记录各个模板之间的依赖关系,其中各个节 点表示一个模板,箭头表示依赖关系,例如,模板M0指向模板M1,表示模板M1依赖于模板M0。计算机设备根据用户的选择操作,确定其所选择的模板为如图3所示的模板组中的模板M7,则计算机设备将该模板M7应用于候选设备中以生成与该模板M7对应状态下的虚拟机,并将模板M7作为第一模板。
接着,在步骤S2中,计算机设备获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息。
优选地,当满足预定触发条件时,计算机设备获取当前状态的虚拟机相对于第一模板的增量数据信息。
其中,所述预定触发条件包括以下任一项:
1)接收到用户的生成模板的指令时;
2)满足预定时间条件时,例如,满足预定时间周期条件时等。
3)检测到预定事件时,例如,检测到用户执行了某一特定操作时等。
继续通过对前述第一示例进行说明。用户对所生成的虚拟机执行一定的数据操作后,指示为当前状态下的虚拟机生成新的模板,则当计算机设备接收到该用户的指示后,获取当前状态下的虚拟机中的相对于模板M7的增量数据信息Data1。
接着,在步骤S3中,计算机设备根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。
继续通过对前述第一示例进行说明。计算机设备获取到增量数据信息Data1之后,基于该增量数据信息Data1,生成与当前状态下的虚拟机相对应的第二模板M8,并确定模板M8依赖于模板M7。
其中,所述第二模板中包含相对于第一模板的增量数据信息。
优选地,根据本发明的方法还包括步骤S4(图未示)。
在步骤S4中,计算机设备根据所述第二模板,以及所述第二模板所对应的第一模板,来更新所述模板组。其中,所述第二模板依赖于所述第一模板。
具体地,计算机设备根据第二模板与第一模板之间的依赖关系,以及第一模板所属模板组中各个模板对应的拓扑结构,将第二模板作为新节点,添加至该模板组对应的拓扑结构中,以获得更新后的模板组。
继续通过对前述第一示例进行说明。参照图4,计算机设备根据模板M8相对于模板M7的依赖关系,确定模板M8为M7的子节点,并基于该子节点来更新与模板组MG1对应的树状拓扑关系,以获得如图4所示的更新后的模板组MG1。
根据本发明的一个优选实施例,根据本发明的方法还包括步骤S5(图未示)和步骤S6(图未示)。
在步骤S5中,计算机设备获取用户指定的目标模板,所述目标模板为所述虚拟机所对应的模板组中的模板。
具体地,计算机设备根据用户的操作,确定其所指定的目标模板。
接着,在步骤S6中,计算机设备根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
优选地,计算机设备先根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,确定所述模板组中,从所述第二模板到达所述目标模板的模板路径,所述模板路径包括至少两个彼此相邻的模板;接着,计算机设备基于所述模板路径中各个相邻模板之间的增量数据信息,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
继续通过对前述第一示例进行说明。虚拟机所依据的第一模板为模板M7,且计算机设备在步骤S5中接收到用户所指定的目标模板为M5,则计算机设备基于如图4所示的各个模板之间的依赖关系,确定从模板M7到达目标模板M5的模板路径包括M7→M0→M5,则计算机设备先基于当前状态的虚拟机相对于第一模板M7的增量数据信息Data1,回滚至第一模板M7,接着,基于第一模板M7相对于模板M0的增量数据信息,回滚至模板M0,相似地,再由模板M0执行数 据回滚,使虚拟机恢复至模板M5。
优选地,计算机设备将回滚后的目标模板作为新的虚拟机所依据的第一模板。
其中,本领域技术人员应当能够根据实际情况和需求,确定基于相邻节点的模板之间的增量数据信息,来执行数据回滚操作的具体实现方式,在此不再赘述。
根据本发明的方法,由于各个模板中仅需存储增量数据以及其所相关的模板的标识信息,因此极大的减少了模板所需的存储空间。并且,由于获知了各个模板之间的依赖关系,使得用户能够方便从一个模板切换至另一个模板,提高了用户的操作效率。
图2示意出了根据本发明的一种用于获得虚拟机的模板的模板获取装置的结构示意图。其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至少一个其他模板具有依赖关系。
其中,所述不同状态分别对应于不同时间点下的虚拟机。其中,一个模板依赖于另一个模板的依赖关系表示:该一个模板可基于对该另一个模板进行一定数据操作后获得。
优选地,所述各个模板与该组的至少一个其他模板具有依赖关系包括各个模板相对于该组的所述至少一个其他模板的增量数据信息。
更优选地,所述模板组采用树状拓扑结构来记录各个模板之间的依赖关系,其中,被依赖的模板为父节点,依赖于该模板的一个或多个其他模板均为该父节点的子节点。
优选地,根据本发明的所述虚拟机与其所对应的模板组分别位于不同的计算机设备,并且该两个计算机设备之间可进行通信。
参照图2,根据本发明的模板获取装置包括第一确定装置1、第一获取装置2和第一生成装置3。
第一确定装置1确定所述虚拟机所依据的第一模板。
1)模板获取装置所包含的第三确定装置(图未示)先确定待建立的虚拟机对应的模板组;接着,模板获取装置所包含的的第二生成 装置(图未示)由所述模板组中选择一个模板,以生成与该模板对应的虚拟机;接着,模板获取装置所包含的第一确定装置1将所选择的模板作为第一模板。
具体地,第三确定装置基于待建立虚拟机的特征信息,确定与待建立虚拟机对应的模板组。
其中,所述特征信息包括以下至少任一项:
i)待建立虚拟机的功能,例如,虚拟操作系统,虚拟游戏系统等;
ii)待建立虚拟机的属性信息,例如,虚拟机所需的存储空间大小,虚拟机所需的硬件设备的配置等;
iii)待建立虚拟机对应的用户信息,例如,用户标识信息等。
例如,第三确定装置可基于待建立虚拟机所采用的操作系统,与多个模板组对应的操作系统进行比较,以确定与待建立虚拟机对应的模板组等。
其中,当模板组存储于可与计算机设备通过网络进行通信的另一设备时,第三确定装置可通过向该设备发送包含特征信息的相关信息,并接收该设备所反馈的与该特征信息相对应的模板组,以确定与待建立虚拟机对应的模板组。
其中,由于本领域技术人员可根据实际情况和需求,确定设备间的通信的具体方式,故在此不再赘述。
2)在第一确定装置1、第一获取装置2以及第一生成装置3至少已执行一次操作之后,第一确定装置1将第一生成装置3前一次执行操作所获得的第二模板作为新的所述虚拟机所依据的第一模板,以使第一获取装置2以及第一生成装置3继续执行操作。
3)第一确定装置1将基于数据回滚操作所恢复至的目标模板作为新的所述虚拟机所依据的第一模板。具体可参照后续对于数据回滚装置(图未示)的说明,此处不再赘述。
根据本发明的第一示例,计算机设备中的待建立虚拟机的特征信息包括采用Linux系统,与该计算机设备可进行通信的另一设备中保 存了三个模板组MG1、MG2以及MG3,则第三确定装置将该待建立虚拟机的特征信息发送至该另一设备,并通过与该另一设备的通信,确定待建立虚拟机对应的模板组为MG1。其中,模板组MG1采用如图3所示的树状拓扑结构来记录各个模板之间的依赖关系,其中各个节点表示一个模板,箭头表示依赖关系,例如,模板M0指向模板M1,表示模板M1依赖于模板M0。第二生成装置根据用户的选择操作,确定其所选择的模板为如图3所示的模板组中的模板M7,则第二生成装置将该模板M7应用于候选设备中以生成与该模板M7对应状态下的虚拟机。接着,第一确定装置1将模板M7作为第一模板。
接着,第一获取装置2获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息。
优选地,当满足预定触发条件时,第一获取装置2获取当前状态的虚拟机相对于第一模板的增量数据信息。
其中,所述预定触发条件包括以下任一项:
1)接收到用户的生成模板的指令时;
2)满足预定时间条件时,例如,满足预定时间周期条件时等。
3)检测到预定事件时,例如,检测到用户执行了某一特定操作时等。
继续通过对前述第一示例进行说明。用户对所生成的虚拟机执行一定的数据操作后,指示为当前状态下的虚拟机生成新的模板,则当第一获取装置2接收到该用户的指示后,获取当前状态下的虚拟机中的相对于模板M7的增量数据信息Data1。
接着,第一生成装置3根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。
继续通过对前述第一示例进行说明。第一获取装置2获取到增量数据信息Data1之后,第一生成装置3基于该增量数据信息Data1,生成与当前状态下的虚拟机相对应的第二模板M8,并确定模板M8依赖于模板M7。
其中,所述第二模板中包含相对于第一模板的增量数据信息。
优选地,根据本发明的模板获取装置还包括更新装置(图未示)。
更新装置根据所述第二模板,以及所述第二模板所对应的第一模板,来更新所述模板组。其中,所述第二模板依赖于所述第一模板。
具体地,更新装置根据第二模板与第一模板之间的依赖关系,以及第一模板所属模板组中各个模板对应的拓扑结构,将第二模板作为新节点,添加至该模板组对应的拓扑结构中,以获得更新后的模板组。
继续通过对前述第一示例进行说明。参照图4,更新装置根据模板M8相对于模板M7的依赖关系,确定模板M8为M7的子节点,并基于该子节点来更新与模板组MG1对应的树状拓扑关系,以获得如图4所示的更新后的模板组MG1。
根据本发明的一个优选实施例,根据本发明的模板获取装置还包括第二获取装置(图未示)和数据回滚装置(图未示)。
第二获取装置获取用户指定的目标模板,所述目标模板为所述虚拟机所对应的模板组中的模板。
具体地,第二获取装置根据用户的操作,确定其所指定的目标模板。
接着,数据回滚装置根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
优选地,数据回滚装置中的第二确定装置(图未示)先根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,确定所述模板组中,从所述第二模板到达所述目标模板的模板路径,所述模板路径包括至少两个彼此相邻的模板;接着,数据回滚装置中的子回滚装置(图未示)基于所述模板路径中各个相邻模板之间的增量数据信息,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
继续通过对前述第一示例进行说明。虚拟机所依据的第一模板为模板M7,第二获取装置接收到用户所指定的目标模板为M5,则第二确定装置基于如图4所示的各个模板之间的依赖关系,确定从模板 M7到达目标模板M5的模板路径包括M7→M0→M5,则子回滚装置先基于当前状态的虚拟机相对于第一模板M7的增量数据信息Data1,回滚至第一模板M7,接着,基于第一模板M7相对于模板M0的增量数据信息,回滚至模板M0,相似地,再由模板M0执行数据回滚,使虚拟机回滚至模板M5。
优选地,模板获取装置将回滚后的目标模板作为新的虚拟机所依据的第一模板。
其中,本领域技术人员应当能够根据实际情况和需求,确定基于相邻节点的模板之间的增量数据信息,来执行数据回滚操作的具体实现方式,在此不再赘述。
根据本发明的方案,由于各个模板中仅需存储增量数据以及其所相关的模板的标识信息,因此极大的减少了模板所需的存储空间。并且,由于获知了各个模板之间的依赖关系,使得用户能够方便从一个模板切换至另一个模板,提高了用户的操作效率。
本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种用于获得虚拟机的模板的方法,其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至少一个其他模板具有依赖关系,所述方法包括以下步骤:
a确定所述虚拟机所依据的第一模板;
b获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息;
c根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。
2.根据权利要求1所述的方法,其中,所述方法还包括以下步骤:
-根据所述第二模板,以及所述第二模板所对应的第一模板,来更新所述模板组,其中,所述第二模板依赖于所述第一模板。
3.根据权利要求2所述的方法,其中,所述步骤a包括以下步骤:
-将所述第二模板作为新的所述虚拟机所依据的第一模板。
4.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括以下步骤:
m获取用户指定的目标模板,所述目标模板为所述虚拟机所对应的模板组中的模板;
n根据虚拟机所依据的第一模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
5.根据权利要求4所述的方法,其中,所述步骤n包括以下步骤:
-根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,确定所述模板组中,从所述第二模板到达所述目标模板的模板路径,所述模板路径包括至少两个彼此相邻的模板;
-基于所述模板路径中各个相邻模板之间的增量数据信息,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
6.根据权利要求1至5中任一项所述的方法,其中,所述模板组采用树状拓扑结构来记录各个模板之间的依赖关系,其中,被依赖的模板为父节点,依赖于该模板的一个或多个其他模板均为该父节点的子节点。
7.根据权利要求1至6中任一项所述的方法,其中,所述方法还包括以下步骤:
-确定待建立的虚拟机对应的模板组;
-由所述模板组中选择一个模板,以生成与该模板对应的虚拟机。
8.根据权利要求1至7中任一项所述的方法,其中,所述各个模板与该组的至少一个其他模板具有依赖关系包括:各个模板相对于该组的所述至少一个其他模板的增量数据信息。
9.根据权利要求1至8中任一项所述的方法,其中,所述虚拟机与其所对应的模板组分别位于不同的设备,并且该两个设备之间可进行通信。
10.一种用于获得虚拟机的模板的模板获取装置,其中,所述虚拟机对应一个模板组,所述模板组包括至少一个分别用于生成不同状态的虚拟机的模板,并且,各个模板与该组的至少一个其他模板具有依赖关系,所述模板获取装置包括:
第一确定装置,用于确定所述虚拟机所依据的第一模板;
第一获取装置,用于获取当前状态的所述虚拟机相对于所述第一模板的增量数据信息;
第一生成装置,用于根据相对于所述第一模板的所述增量数据信息,生成与所述虚拟机的所述当前状态相对应的第二模板。
11.根据权利要求10所述的模板获取装置,其中,所述模板获取装置还包括:
更新装置,用于根据所述第二模板,以及所述第二模板所对应的第一模板,来更新所述模板组,其中,所述第二模板依赖于所述第一模板。
12.根据权利要求11所述的模板获取装置,其中,所述第一确定装置用于:
-将所述第二模板作为新的所述虚拟机所依据的第一模板。
13.根据权利要求10至12中任一项所述的模板获取装置,其中,所述模板获取装置还包括:
第二获取装置,用于获取用户指定的目标模板,所述目标模板为所述虚拟机所对应的模板组中的模板;
数据回滚装置,用于根据虚拟机所依据的第一模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
14.根据权利要求13所述的模板获取装置,其中,所述数据回滚装置包括:
第二确定装置,用于根据虚拟机当前状态点所对应的第二模板,以及所述虚拟机所对应的模板组中各个模板之间的依赖关系,确定所述模板组中,从所述第二模板到达所述目标模板的模板路径,所述模板路径包括至少两个彼此相邻的模板;
子回滚装置,用于基于所述模板路径中各个相邻模板之间的增量数据信息,执行数据回滚操作,以使所述虚拟机恢复至所述目标模板。
15.根据权利要求10至14中任一项所述的模板获取装置,其中,所述模板组采用树状拓扑结构来记录各个模板之间的依赖关系,其中,被依赖的模板为父节点,依赖于该模板的一个或多个其他模板均为该父节点的子节点。
16.根据权利要求10至15中任一项所述的模板获取装置,其中,所述模板获取装置还包括:
第三确定装置,用于确定待建立的虚拟机对应的模板组;
第二生成装置,用于由所述模板组中选择一个模板,以生成与该模板对应的虚拟机。
17.根据权利要求10至16中任一项所述的模板获取装置,其中,所述各个模板与该组的至少一个其他模板具有依赖关系包括:各个模板相对于该组的所述至少一个其他模板的增量数据信息。
18.根据权利要求10至17中任一项所述的模板获取装置,其中,所述虚拟机与其所对应的模板组可分别位于不同的设备中,并且该两个设备之间可进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310256424.XA CN103440157B (zh) | 2013-06-25 | 2013-06-25 | 一种用于获得虚拟机的模板的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310256424.XA CN103440157B (zh) | 2013-06-25 | 2013-06-25 | 一种用于获得虚拟机的模板的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103440157A true CN103440157A (zh) | 2013-12-11 |
CN103440157B CN103440157B (zh) | 2016-12-28 |
Family
ID=49693848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310256424.XA Active CN103440157B (zh) | 2013-06-25 | 2013-06-25 | 一种用于获得虚拟机的模板的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440157B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090890A1 (zh) * | 2014-12-11 | 2016-06-16 | 中兴通讯股份有限公司 | 一种恢复、升级虚拟机的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933654B (zh) * | 2017-03-17 | 2020-08-28 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
CN102841759A (zh) * | 2012-05-10 | 2012-12-26 | 天津兆民云计算科技有限公司 | 一种针对超大规模虚拟机集群的存储系统 |
US20130014102A1 (en) * | 2011-07-06 | 2013-01-10 | Microsoft Corporation | Planned virtual machines |
US8370835B2 (en) * | 2009-03-12 | 2013-02-05 | Arend Erich Dittmer | Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device |
CN103019802A (zh) * | 2012-11-20 | 2013-04-03 | 中标软件有限公司 | 一种虚拟机管理方法及平台 |
CN103036986A (zh) * | 2011-12-15 | 2013-04-10 | 微软公司 | 在分布式应用对象上提供更新通知 |
-
2013
- 2013-06-25 CN CN201310256424.XA patent/CN103440157B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370835B2 (en) * | 2009-03-12 | 2013-02-05 | Arend Erich Dittmer | Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device |
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
US20130014102A1 (en) * | 2011-07-06 | 2013-01-10 | Microsoft Corporation | Planned virtual machines |
CN103036986A (zh) * | 2011-12-15 | 2013-04-10 | 微软公司 | 在分布式应用对象上提供更新通知 |
CN102841759A (zh) * | 2012-05-10 | 2012-12-26 | 天津兆民云计算科技有限公司 | 一种针对超大规模虚拟机集群的存储系统 |
CN103019802A (zh) * | 2012-11-20 | 2013-04-03 | 中标软件有限公司 | 一种虚拟机管理方法及平台 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090890A1 (zh) * | 2014-12-11 | 2016-06-16 | 中兴通讯股份有限公司 | 一种恢复、升级虚拟机的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103440157B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103389926B (zh) | 一种用于对虚拟磁盘进行备份的方法和装置 | |
CN104252527A (zh) | 一种确定移动用户的常驻点信息的方法和装置 | |
CN104965757A (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
CN111931097B (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN102903029A (zh) | 云计算资源分域授权方法 | |
CN103605500B (zh) | 利用一个或多个约束计算设备的设置的系统、方法 | |
CN104317749A (zh) | 信息写入方法和装置 | |
CN103885968A (zh) | 一种用于提供推荐信息的方法和装置 | |
CN105277205A (zh) | 一种为用户提供公共交通导航服务的方法与装置 | |
CN104679858A (zh) | 一种查询数据的方法和装置 | |
CN104580375A (zh) | 确定目标应用的ui样式信息的方法与设备 | |
CN105260092A (zh) | 一种动态改变输入键盘的方法和装置 | |
CN103440157A (zh) | 一种用于获得虚拟机的模板的方法和装置 | |
US20140310248A1 (en) | Verification support program, verification support apparatus, and verification support method | |
US11062523B2 (en) | Creation authoring point tool utility to recreate equipment | |
CN106201655B (zh) | 虚拟机分配方法和虚拟机分配系统 | |
CN104506636A (zh) | 一种数据同步方法及装置 | |
CN103699552A (zh) | 一种用于对计算机文件进行管理的方法、装置和设备 | |
CN105205062A (zh) | 数据存储方法、数据读取方法和装置 | |
CN102629208A (zh) | 一种用于确定系统界面的方法、装置和设备 | |
CN106412257B (zh) | 定位服务控制方法及系统 | |
CN114756706A (zh) | 一种资源合成方法、装置、设备及存储介质 | |
CN105868191B (zh) | 数据处理方法及装置 | |
CN114186306A (zh) | 结构设计中的柱放置的可定制强化学习 | |
CN103455525A (zh) | 基于用户的搜索推广行为确定推广帐号状态的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |