一种复制虚拟机的方法和系统.pdf

上传人:00****42 文档编号:1551559 上传时间:2018-06-23 格式:PDF 页数:13 大小:1.73MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310001144.4

申请日:

2013.01.04

公开号:

CN103077072A

公开日:

2013.05.01

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/455申请公布日:20130501|||实质审查的生效IPC(主分类):G06F 9/455申请日:20130104|||公开

IPC分类号:

G06F9/455; G06F9/46; H04L29/08

主分类号:

G06F9/455

申请人:

浪潮(北京)电子信息产业有限公司

发明人:

熊坤; 张东

地址:

100085 北京市海淀区上地信息路2号2-1号C栋1层

优先权:

专利代理机构:

北京安信方达知识产权代理有限公司 11262

代理人:

栗若木;曲鹏

PDF下载: PDF下载
内容摘要

本发明提供一种复制虚拟机的方法和系统。所述方法,包括:当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。

权利要求书

权利要求书一种复制虚拟机的方法,其特征在于,包括:
当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;
当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;
在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。
根据权利要求1所述的方法,其特征在于,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。
根据权利要求1所述的方法,其特征在于,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:
当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
根据权利要求1所述的方法,其特征在于,所述方法还包括:
在子虚拟机执行计算任务过程中,如果子虚拟机向父虚拟机发起内存申请后,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息;
承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。
根据权利要求4所述的方法,其特征在于,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
根据权利要求4所述的方法,其特征在于,所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
根据权利要求4至6任一所述的方法,其特征在于,所述方法还包括:
向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。
一种复制虚拟机的系统,其特征在于,包括:
承载父虚拟机的终端,包括:
获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
控制装置,用于在父虚拟机得到子虚拟机执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;
承载子虚拟机的终端,包括:
执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;
上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。
根据权利要求8所述的系统,其特征在于,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。
根据权利要求8所述的系统,其特征在于,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:
当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
根据权利要求8所述的系统,其特征在于:
所述承载该父虚拟机的终端,还包括:
申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起内存申请;
其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;
承载该父虚拟机的终端,还包括:
识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;
所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。
根据权利要求11所述的系统,其特征在于,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
根据权利要求11所述的系统,其特征在于,所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
根据权利要求11至13任一所述的系统,其特征在于:
所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。

说明书

说明书一种复制虚拟机的方法和系统
技术领域
本发明涉及计算机应用领域,尤其涉及一种复制虚拟机的方法和系统
背景技术
云计算作为一种新型的基于Internet的服务供应方式,已经对于IT的服务理念产生深远的影响。随着IT企业和社会对云计算理念的关注,及科研人员对云计算需求和实现方法的探索与研究,云计算的神秘面纱正逐渐被揭开。人们在云计算诸多方面已经达成了共识,如资源流转、按需分配、按量计费等;云计算在应用上分为三层,即云基础设施即服务(IaaS)、云平台即服务(PaaS)和云软件即服务(SaaS),分别面向硬件基础设施,平台服务和应用服务三个领域云计算。
云计算实现的资源整合,必然会带来运算任务的高度集中。云计算的优势是可以在非常短的时间内聚集大量的计算资源(包括物理机和虚拟机)来完成以前的互联网时代无法完成短时间大计算量的处理任务。
虚拟机复制,本质上是虚拟机内存的快速复制,是将父虚拟机的实时状态,即实时的内存信息分发到不同的主机上,然后每个内存副本在主机上成为新的子虚拟机进行运行计算。在现有的虚拟机复制系统中,如何实现快速复制是最大的挑战。一个上G内存虚拟机的复制是一个非常消耗资源的操作,如果复制多份,将对父虚拟机运行的主机带来非常大的负载和网络阻塞。根据测试结果,随着复制虚拟机数量的增加,对主机系统带来的延迟将是线性增长。
发明内容
本发明提供一种复制虚拟机的方法和系统,要解决的技术问题是如何缩短虚拟机复制流程。
为解决上述技术问题,本发明提供了如下技术方案:
一种复制虚拟机的方法,包括:
当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;
当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;
在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。
优选的,所述方法还具有如下特点:所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。
优选的,所述方法还具有如下特点:所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:
当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
优选的,所述方法还具有如下特点:所述方法还包括:
在子虚拟机执行计算任务过程中,如果子虚拟机向父虚拟机发起内存申请后,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息;
承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。
优选的,所述方法还具有如下特点:该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
优选的,所述方法还具有如下特点:所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
优选的,所述方法还具有如下特点:所述方法还包括:
向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。
一种复制虚拟机的系统,包括:
承载父虚拟机的终端,包括:
获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
控制装置,用于在父虚拟机得到子虚拟机执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;
承载子虚拟机的终端,包括:
执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;
上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。
优选的,所述系统还具有如下特点:所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。
优选的,所述系统还具有如下特点:所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:
当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
优选的,所述系统还具有如下特点:
所述承载该父虚拟机的终端,还包括:
申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起内存申请;
其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;
承载该父虚拟机的终端,还包括:
识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;
所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。
优选的,所述系统还具有如下特点:该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
优选的,所述系统还具有如下特点:所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
优选的,所述系统还具有如下特点:所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。
与现有技术不同,本发明提供的实施例通过按需内存复制,并不完整的复制虚拟机的所有内存,这样就可以大大提高虚拟机的复制速度。另外通过分布式系统,将计算完成的任务传回父虚拟机。复制的子虚拟机就可以快速关闭,即时释放资源。这样,就实现了虚拟机的快速复制和即时释放。
附图说明
图1为本发明提供的复制虚拟机的方法实施例的流程示意图;
图2为本发明应用实例中快速虚拟机复制系统流程示意图;
图3为本发明应用实例中内存按需复制示意图;
图4为本发明应用实例中内存快速复制示意图;
图5为本发明提供的复制虚拟机的系统实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明提供的复制虚拟机的方法实施例的流程示意图。图1所示方法实施例,包括:
步骤101、当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
其中,该步骤的目的是使复制出的虚拟机不包括父虚拟机的磁盘等,仅使用最低限度的内存资源,完成对应的计算任务,即子虚拟机仅完成父虚拟机交付的计算任务,不执行其他任务;
步骤102、承载该父虚拟机的终端向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
步骤103、其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机;
步骤104、其他终端上的子虚拟机执行父虚拟机的计算任务数据;
步骤105、当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;
步骤106、在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。
下面对本发明提供的方法实施例作进一步说明:
其中,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据;而所述子虚拟机启动所需的内存信息是通过如下方式发送的:当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
在实际应用中,在子虚拟机执行计算任务过程中,可能会发现计算所需的部分内存并不存在,原因是没有完全复制过来,则子虚拟机进入暂停状态,向父虚拟机发起内存,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息;而承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。
其中该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
为了避免后续其他终端也向父虚拟机申请内存,所述方法还包括:
向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。
由上可以看出,本发明建立一种按需内存复制机制,仅将子虚拟机运行所需要的内存进行复制即可,这将大大提高虚拟机的复制速度。另外每个复制出来的子虚拟机经常只完成计算任务,即该任务一般是计算密集型,而不会产生IO访问请求,所以每个复制出来的子虚拟机并不需要存储数据,该虚拟机只需要在每个主机上的内存中存在,这样一旦计算任务结束,子虚拟机把运算结果返回给父虚拟机后,子虚拟机可以快速关闭,释放资源。
下面进行进一步说明:
图2为本发明应用实例中快速虚拟机复制系统流程示意图。
经过实验,得到如下结论,每个从虚拟机复制得到的子虚拟机在启动时,只需要父虚拟机很小部分的内存信息,相应的,每个子虚拟机在运行过程中也只需要访问父虚拟机的很小一部分的内存信息。
步骤A1、内存分析模块获取子虚拟机运行所需的内存信息,;
其中,一个子虚拟机所需的内存信息包括该虚拟机启动所需的内存信息和用于与父虚拟机交互时所使用的内存信息,而这些内存信息是需要通过分析和识别得到,下面进行分别说明:
对于子虚拟机如何单独启动运行,这就需要对父虚拟机的内存进行分析,抽取出运行所需的基本内存信息,即子虚拟机启动所需内存主要包括父虚拟机的元数据和操作系统内核管理数据。
用于与父虚拟机交互时所使用的内存信息是通过如下方式确定和下发的:当子虚拟机启动后需要同父虚拟机交互时,虚拟机监控器中内存分析模块会发现子虚拟机的CPU将访问一块丢失的内存,此时内存分析模块会剥夺分给这个VCPU的时间片,将该VCPU切入暂停状态,并从父虚拟机中获取这部分内存信息,将该VCPU所访问的内存信息作为与父虚拟机交互时所使用的内存信息。
步骤A2、内存复制模块对子虚拟所需的内存信息进行复制,包括:
图3为本发明应用实例中内存按需复制示意图。具体说明如下:
对于子虚拟机启动所需的内存信息,复制方式如下:
当父虚拟机一直处于运行状态,上述的内存数据一直处于活跃状态,无法进行复制,此时可以将父虚拟机进入短暂的暂停状态,进入暂停状态后,快速的将对应的内存数据拷贝到一个内存块中,将拷贝得到的内存块中的内存信息作为复制得到的子虚拟机启动所需的内存信息;
在父虚拟机处于暂停状态时,父虚拟机的外部IO数据会全部缓存到主机系统中,当父虚拟机恢复时,再由父虚拟机传递给子虚拟机,所以说整个暂停过程是非常快而且不会导致虚拟机数据丢失的。
当然,子虚拟机除了启动时所需内存外,在虚拟机的运行过程中,还会有一部分数据需要从父虚拟机处获取,这部分内存也需要获取。而这部分内存是通过如下方式确定和下发的:
当子虚拟机启动后需要同父虚拟机交互时,处于虚拟机监控器中的内存分析模块会发现某个VCPU将访问一块丢失的内存,此时内存分析模块会剥夺分给这个VCPU的时间片,将该VCPU切入暂停状态,并从父虚拟机中获取这部分内存信息,将数据从父虚拟机中拷贝至子虚拟机所处的主机中,然后将VCPU跳转至运行状态,从而保证子虚拟机的正确运行。
图4为本发明应用实例中内存快速复制示意图。由于每个子虚拟机需要跟父虚拟机交互的内容大致相同,他们一般需要执行相同的代码和访问相同的数据结构。如果每个虚拟机都等到运行的时候向父虚拟机发起访问请求,然后再传输,这样产生的网络流量负载是相当惊人的。所以当有某个子虚拟机向父虚拟机申请内存数据时,将这些数据通过网络组播给所有的子虚拟机。在一次操作中将数据发送给所有的子虚拟机比点对点的每次发送要极大的降低网络负载和提高效率。
步骤A3、当子虚拟机的计算任务结束时,关闭子虚拟机;
由于每个子虚拟机在主机上不存在存储系统,所以在子虚拟机运算的结果全部存在内存中,这样关闭虚拟机操作将变得非常简单而且快速。每个子虚拟机被创建时,都是带有特殊的唯一标识,在父虚拟机所处的主机上,维护一张任务列表,这些列表维护了虚拟机的任务和唯一标识,当子虚拟机运算结束时,会将运算结果的内存信息返回给父虚拟机,然后父虚拟机通过唯一标识对子虚拟机实现关闭,这样由于不需要同步内存和存储里面的数据,虚拟机的关闭时间将大大缩短,而且子虚拟机运算所占据的内存将全部释放,实现资源的高效利用。
上述的目标主要是通过虚拟机的复制来实现的。但是在虚拟机的复制中,经常需要实现虚拟机的快速复制,希望在非常短的时间内,完成计算资源的准备;当计算任务完成时,希望可以即时释放资源,让资源可以用于其它计算任务。
由上可以看出,采用一个内存分析模块来计算哪些内存信息是子虚拟机所必须的,复制出的子虚拟机并不是完整的复制父虚拟机的全部内存信息,这样就可以大大提高虚拟机的复制速度,再采用内存复制模块来将需要复制的内存信息组播给所有的复制出来的子虚拟机,通过在一次操作中将数据发送给所有的子虚拟机来提高复制的速度,进而采用内存回收模块来实现子虚拟机的快速关闭。内存回收模块负责将子虚拟机运算结果返回给父虚拟机,然后直接关闭子虚拟机,释放其内存信息。
图5为本发明提供的复制虚拟机的系统实施例的结构示意图。图5所示复制虚拟机的系统实施例,包括:
承载该父虚拟机的终端,包括:
获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;
控制装置,用于在父虚拟机得到子虚拟机执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;
承载子虚拟机的终端,包括:
执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;
上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。
其中,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。
其中,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:
当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。
其中,所述承载该父虚拟机的终端,还包括:
申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起内存申请;
其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;
承载该父虚拟机的终端,还包括:
识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;
所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。
其中,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。
其中,所申请的内存信息是通过如下方式发送的,包括:
暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。
可选的,所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。
本发明提供的实施例通过按需内存复制,并不完整的复制虚拟机的所有内存,这样就可以大大提高虚拟机的复制速度。另外通过分布式系统,将计算完成的任务传回父虚拟机。复制的子虚拟机就可以快速关闭,即时释放资源。这样,就实现了虚拟机的快速复制和即时释放。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

一种复制虚拟机的方法和系统.pdf_第1页
第1页 / 共13页
一种复制虚拟机的方法和系统.pdf_第2页
第2页 / 共13页
一种复制虚拟机的方法和系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种复制虚拟机的方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种复制虚拟机的方法和系统.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103077072 A(43)申请公布日 2013.05.01CN103077072A*CN103077072A*(21)申请号 201310001144.4(22)申请日 2013.01.04G06F 9/455(2006.01)G06F 9/46(2006.01)H04L 29/08(2006.01)(71)申请人浪潮(北京)电子信息产业有限公司地址 100085 北京市海淀区上地信息路2号2-1号C栋1层(72)发明人熊坤 张东(74)专利代理机构北京安信方达知识产权代理有限公司 11262代理人栗若木 曲鹏(54) 发明名称一种复制虚拟机的方法和系统(57) 。

2、摘要本发明提供一种复制虚拟机的方法和系统。所述方法,包括:当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。(51)Int.Cl.权利要求书2页 说明书7页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利。

3、申请权利要求书2页 说明书7页 附图3页(10)申请公布号 CN 103077072 ACN 103077072 A1/2页21.一种复制虚拟机的方法,其特征在于,包括:当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。

4、。2.根据权利要求1所述的方法,其特征在于,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。3.根据权利要求1所述的方法,其特征在于,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在子虚拟机执行计算任务过程中,如果子虚拟机向父虚拟机发起内存申请后,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该。

5、子虚拟机所申请的内存信息;承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。5.根据权利要求4所述的方法,其特征在于,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。6.根据权利要求4所述的方法,其特征在于,所申请的内存信息是通过如下方式发送的,包括:暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。7.根据权利要求4至6任一所述的方法,其特征在于,所述方法还包括:向父虚拟机所有的子。

6、虚拟机均发送该子虚拟申请的内存信息。8.一种复制虚拟机的系统,其特征在于,包括:承载父虚拟机的终端,包括:获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;控制装置,用于在父虚拟机得到子虚拟机执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;承载子虚拟机的终端,包括:执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的权 利 要 求 书CN 103077072 A2/2页3计算任务。

7、数据;上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。9.根据权利要求8所述的系统,其特征在于,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。10.根据权利要求8所述的系统,其特征在于,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。11.根据权利要求8所述的系统,其特征在于:所述承载该父虚拟机的终端,还包括:申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起。

8、内存申请;其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;承载该父虚拟机的终端,还包括:识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。12.根据权利要求11所述的系统,其特征在于,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。13.根据权利要求11所述的系统,其特征在于,所申请的内存信息是通过如下方式发送的,包括:暂停发起内。

9、存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。14.根据权利要求11至13任一所述的系统,其特征在于:所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。权 利 要 求 书CN 103077072 A1/7页4一种复制虚拟机的方法和系统技术领域0001 本发明涉及计算机应用领域,尤其涉及一种复制虚拟机的方法和系统背景技术0002 云计算作为一种新型的基于Internet的服务供应方式,已经对于IT的服务理念产生深远的影响。随着IT企业和社会对云计算理念的关注,及科研人员对云计算需求和实现方法的探索与。

10、研究,云计算的神秘面纱正逐渐被揭开。人们在云计算诸多方面已经达成了共识,如资源流转、按需分配、按量计费等;云计算在应用上分为三层,即云基础设施即服务(IaaS)、云平台即服务(PaaS)和云软件即服务(SaaS),分别面向硬件基础设施,平台服务和应用服务三个领域云计算。0003 云计算实现的资源整合,必然会带来运算任务的高度集中。云计算的优势是可以在非常短的时间内聚集大量的计算资源(包括物理机和虚拟机)来完成以前的互联网时代无法完成短时间大计算量的处理任务。0004 虚拟机复制,本质上是虚拟机内存的快速复制,是将父虚拟机的实时状态,即实时的内存信息分发到不同的主机上,然后每个内存副本在主机上成。

11、为新的子虚拟机进行运行计算。在现有的虚拟机复制系统中,如何实现快速复制是最大的挑战。一个上G内存虚拟机的复制是一个非常消耗资源的操作,如果复制多份,将对父虚拟机运行的主机带来非常大的负载和网络阻塞。根据测试结果,随着复制虚拟机数量的增加,对主机系统带来的延迟将是线性增长。发明内容0005 本发明提供一种复制虚拟机的方法和系统,要解决的技术问题是如何缩短虚拟机复制流程。0006 为解决上述技术问题,本发明提供了如下技术方案:0007 一种复制虚拟机的方法,包括:0008 当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据。

12、,并向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0009 其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;0010 当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;0011 在父虚拟机得到的执行结果后,承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。0012 优选的,所述方法还具有如下特点:所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。0013 优选的,所述方法还具有如下特点:所述子虚拟机启动所需的内存信息是通过如说 明 书CN 103077072 A2/7页5下方式发送的。

13、,包括:0014 当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。0015 优选的,所述方法还具有如下特点:所述方法还包括:0016 在子虚拟机执行计算任务过程中,如果子虚拟机向父虚拟机发起内存申请后,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息;0017 承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。0018 优选的,所述方法还具有如下特点:该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟。

14、机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。0019 优选的,所述方法还具有如下特点:所申请的内存信息是通过如下方式发送的,包括:0020 暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。0021 优选的,所述方法还具有如下特点:所述方法还包括:0022 向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。0023 一种复制虚拟机的系统,包括:0024 承载父虚拟机的终端,包括:0025 获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制。

15、操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0026 发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0027 控制装置,用于在父虚拟机得到子虚拟机执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;0028 承载子虚拟机的终端,包括:0029 执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;0030 上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。0031 优选的,所述系统还具有如下特点:所述子虚拟机。

16、启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。0032 优选的,所述系统还具有如下特点:所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:0033 当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。0034 优选的,所述系统还具有如下特点:0035 所述承载该父虚拟机的终端,还包括:0036 申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起内存申请;说 明 书CN 103077072 A3/7页60037 其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;0038 。

17、承载该父虚拟机的终端,还包括:0039 识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;0040 所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。0041 优选的,所述系统还具有如下特点:该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。0042 优选的,所述系统还具有如下特点:所申请的内存信息是通过如下方式发送的,包括:0043 暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内。

18、存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。0044 优选的,所述系统还具有如下特点:所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。0045 与现有技术不同,本发明提供的实施例通过按需内存复制,并不完整的复制虚拟机的所有内存,这样就可以大大提高虚拟机的复制速度。另外通过分布式系统,将计算完成的任务传回父虚拟机。复制的子虚拟机就可以快速关闭,即时释放资源。这样,就实现了虚拟机的快速复制和即时释放。附图说明0046 图1为本发明提供的复制虚拟机的方法实施例的流程示意图;0047 图2为本发明应用实例中快速虚拟机复制系统流程示意图;0048 图3为。

19、本发明应用实例中内存按需复制示意图;0049 图4为本发明应用实例中内存快速复制示意图;0050 图5为本发明提供的复制虚拟机的系统实施例的结构示意图。具体实施方式0051 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。0052 图1为本发明提供的复制虚拟机的方法实施例的流程示意图。图1所示方法实施例,包括:0053 步骤101、当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,承载该父虚拟机的终端获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0054。

20、 其中,该步骤的目的是使复制出的虚拟机不包括父虚拟机的磁盘等,仅使用最低限度的内存资源,完成对应的计算任务,即子虚拟机仅完成父虚拟机交付的计算任务,不执行其他任务;0055 步骤102、承载该父虚拟机的终端向其他终端发送子虚拟机启动所需的内存信息说 明 书CN 103077072 A4/7页7以及父虚拟机的计算任务数据;0056 步骤103、其他终端根据子虚拟机启动所需的内存信息,启动子虚拟机;0057 步骤104、其他终端上的子虚拟机执行父虚拟机的计算任务数据;0058 步骤105、当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果;0059 步骤106、在父虚拟机得到的执行结果后,。

21、承载该父虚拟机的终端发起关闭已执行完计算任务的子虚拟机的操作。0060 下面对本发明提供的方法实施例作进一步说明:0061 其中,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据;而所述子虚拟机启动所需的内存信息是通过如下方式发送的:当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内存块中,并发送给其他终端。0062 在实际应用中,在子虚拟机执行计算任务过程中,可能会发现计算所需的部分内存并不存在,原因是没有完全复制过来,则子虚拟机进入暂停状态,向父虚拟机发起内存,承载该父虚拟机的终端根据子虚拟机访问过程中本地内存的。

22、状态信息,确定该子虚拟机所申请的内存信息,并向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息;而承载子虚拟机的终端加载所申请的内存信息,并继续执行所述计算任务。0063 其中该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,则将所访问的丢失的内存作为与父虚拟机交互所需的内存信息。0064 所申请的内存信息是通过如下方式发送的,包括:0065 暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。0066 为了避免后续其他终端也向父虚拟机申请内存,所述方。

23、法还包括:0067 向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。0068 由上可以看出,本发明建立一种按需内存复制机制,仅将子虚拟机运行所需要的内存进行复制即可,这将大大提高虚拟机的复制速度。另外每个复制出来的子虚拟机经常只完成计算任务,即该任务一般是计算密集型,而不会产生IO访问请求,所以每个复制出来的子虚拟机并不需要存储数据,该虚拟机只需要在每个主机上的内存中存在,这样一旦计算任务结束,子虚拟机把运算结果返回给父虚拟机后,子虚拟机可以快速关闭,释放资源。0069 下面进行进一步说明:0070 图2为本发明应用实例中快速虚拟机复制系统流程示意图。0071 经过实验,得到如下结论,每。

24、个从虚拟机复制得到的子虚拟机在启动时,只需要父虚拟机很小部分的内存信息,相应的,每个子虚拟机在运行过程中也只需要访问父虚拟机的很小一部分的内存信息。0072 步骤A1、内存分析模块获取子虚拟机运行所需的内存信息,;0073 其中,一个子虚拟机所需的内存信息包括该虚拟机启动所需的内存信息和用于与父虚拟机交互时所使用的内存信息,而这些内存信息是需要通过分析和识别得到,下面进行分别说明:说 明 书CN 103077072 A5/7页80074 对于子虚拟机如何单独启动运行,这就需要对父虚拟机的内存进行分析,抽取出运行所需的基本内存信息,即子虚拟机启动所需内存主要包括父虚拟机的元数据和操作系统内核管理。

25、数据。0075 用于与父虚拟机交互时所使用的内存信息是通过如下方式确定和下发的:当子虚拟机启动后需要同父虚拟机交互时,虚拟机监控器中内存分析模块会发现子虚拟机的CPU将访问一块丢失的内存,此时内存分析模块会剥夺分给这个VCPU的时间片,将该VCPU切入暂停状态,并从父虚拟机中获取这部分内存信息,将该VCPU所访问的内存信息作为与父虚拟机交互时所使用的内存信息。0076 步骤A2、内存复制模块对子虚拟所需的内存信息进行复制,包括:0077 图3为本发明应用实例中内存按需复制示意图。具体说明如下:0078 对于子虚拟机启动所需的内存信息,复制方式如下:0079 当父虚拟机一直处于运行状态,上述的内。

26、存数据一直处于活跃状态,无法进行复制,此时可以将父虚拟机进入短暂的暂停状态,进入暂停状态后,快速的将对应的内存数据拷贝到一个内存块中,将拷贝得到的内存块中的内存信息作为复制得到的子虚拟机启动所需的内存信息;0080 在父虚拟机处于暂停状态时,父虚拟机的外部IO数据会全部缓存到主机系统中,当父虚拟机恢复时,再由父虚拟机传递给子虚拟机,所以说整个暂停过程是非常快而且不会导致虚拟机数据丢失的。0081 当然,子虚拟机除了启动时所需内存外,在虚拟机的运行过程中,还会有一部分数据需要从父虚拟机处获取,这部分内存也需要获取。而这部分内存是通过如下方式确定和下发的:0082 当子虚拟机启动后需要同父虚拟机交。

27、互时,处于虚拟机监控器中的内存分析模块会发现某个VCPU将访问一块丢失的内存,此时内存分析模块会剥夺分给这个VCPU的时间片,将该VCPU切入暂停状态,并从父虚拟机中获取这部分内存信息,将数据从父虚拟机中拷贝至子虚拟机所处的主机中,然后将VCPU跳转至运行状态,从而保证子虚拟机的正确运行。0083 图4为本发明应用实例中内存快速复制示意图。由于每个子虚拟机需要跟父虚拟机交互的内容大致相同,他们一般需要执行相同的代码和访问相同的数据结构。如果每个虚拟机都等到运行的时候向父虚拟机发起访问请求,然后再传输,这样产生的网络流量负载是相当惊人的。所以当有某个子虚拟机向父虚拟机申请内存数据时,将这些数据通。

28、过网络组播给所有的子虚拟机。在一次操作中将数据发送给所有的子虚拟机比点对点的每次发送要极大的降低网络负载和提高效率。0084 步骤A3、当子虚拟机的计算任务结束时,关闭子虚拟机;0085 由于每个子虚拟机在主机上不存在存储系统,所以在子虚拟机运算的结果全部存在内存中,这样关闭虚拟机操作将变得非常简单而且快速。每个子虚拟机被创建时,都是带有特殊的唯一标识,在父虚拟机所处的主机上,维护一张任务列表,这些列表维护了虚拟机的任务和唯一标识,当子虚拟机运算结束时,会将运算结果的内存信息返回给父虚拟机,然后父虚拟机通过唯一标识对子虚拟机实现关闭,这样由于不需要同步内存和存储里面的数据,虚拟机的关闭时间将大。

29、大缩短,而且子虚拟机运算所占据的内存将全部释放,实现资源说 明 书CN 103077072 A6/7页9的高效利用。0086 上述的目标主要是通过虚拟机的复制来实现的。但是在虚拟机的复制中,经常需要实现虚拟机的快速复制,希望在非常短的时间内,完成计算资源的准备;当计算任务完成时,希望可以即时释放资源,让资源可以用于其它计算任务。0087 由上可以看出,采用一个内存分析模块来计算哪些内存信息是子虚拟机所必须的,复制出的子虚拟机并不是完整的复制父虚拟机的全部内存信息,这样就可以大大提高虚拟机的复制速度,再采用内存复制模块来将需要复制的内存信息组播给所有的复制出来的子虚拟机,通过在一次操作中将数据发。

30、送给所有的子虚拟机来提高复制的速度,进而采用内存回收模块来实现子虚拟机的快速关闭。内存回收模块负责将子虚拟机运算结果返回给父虚拟机,然后直接关闭子虚拟机,释放其内存信息。0088 图5为本发明提供的复制虚拟机的系统实施例的结构示意图。图5所示复制虚拟机的系统实施例,包括:0089 承载该父虚拟机的终端,包括:0090 获取装置,用于当发起将一虚拟机作为父虚拟机进行虚拟机复制操作时,获取子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0091 发送装置,与所述获取装置相连,用于向其他终端发送子虚拟机启动所需的内存信息以及父虚拟机的计算任务数据;0092 控制装置,用于在父虚拟机得到子虚拟机。

31、执行计算任务的执行结果后,发起关闭已执行完计算任务的子虚拟机的操作;0093 承载子虚拟机的终端,包括:0094 执行装置,用于根据子虚拟机启动所需的内存信息,启动子虚拟机,并执行父虚拟机的计算任务数据;0095 上报装置,与所述执行装置和所述控制装置相连,用于当子虚拟机的计算任务执行结束后,向所述父虚拟机上报执行结果。0096 其中,所述子虚拟机启动所需的内存信息包括父虚拟机的元数据以及父虚拟机的操作系统内核数据。0097 其中,所述子虚拟机启动所需的内存信息是通过如下方式发送的,包括:0098 当检测到父虚拟机进入暂停状态后,将存储有所述子虚拟机启动所需的内存信息对应的内存数据拷贝到一个内。

32、存块中,并发送给其他终端。0099 其中,所述承载该父虚拟机的终端,还包括:0100 申请装置,用于在子虚拟机执行计算任务过程中,机向父虚拟机发起内存申请;0101 其中所述执行装置在加载所申请的内存信息,并继续执行所述计算任务;0102 承载该父虚拟机的终端,还包括:0103 识别装置,与所述申请装置相连,用于根据子虚拟机访问过程中本地内存的状态信息,确定该子虚拟机所申请的内存信息;0104 所述发送装置还用于向所述承载子虚拟机的终端发送该子虚拟机所申请的内存信息。0105 其中,该子虚拟机所申请的内存信息是通过如下方式确定的:在子虚拟机访问父虚拟机后,如果检测到该子虚拟机访问一丢失的内存,。

33、则将所访问的丢失的内存作为与父说 明 书CN 103077072 A7/7页10虚拟机交互所需的内存信息。0106 其中,所申请的内存信息是通过如下方式发送的,包括:0107 暂停发起内存申请的子虚拟机的访问,将与所述父虚拟机交互所需的内存信息拷贝到一个内存块中,并发送承载该发起内存申请的子虚拟机的终端。0108 可选的,所述发送装置,还用于向父虚拟机所有的子虚拟机均发送该子虚拟申请的内存信息。0109 本发明提供的实施例通过按需内存复制,并不完整的复制虚拟机的所有内存,这样就可以大大提高虚拟机的复制速度。另外通过分布式系统,将计算完成的任务传回父虚拟机。复制的子虚拟机就可以快速关闭,即时释放资源。这样,就实现了虚拟机的快速复制和即时释放。0110 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。说 明 书CN 103077072 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1