虚拟机切换的系统和方法

文档序号:9929422阅读:1327来源:国知局
虚拟机切换的系统和方法
【技术领域】
[0001]本发明涉及通信领域,并且更具体地,涉及虚拟机切换的系统和方法。
【背景技术】
[0002]目前在信息技术领域,虚拟化技术得到了广泛的应用。虚拟化技术提供了一种能够将多个虚拟机部署在一个服务器上的能力,降低了用户的总成本。并且,虚拟机技术使得一台物理计算机可以生成多个不同的虚拟机分别运行多个不同或相同的操作系统。虚拟机技术通过将不同的应用运行在不同的虚拟机上,可以避免不同应用程序之间的互相干扰,改善了应用的可靠性和灵活性。
[0003]物理机可以根据需求在不同时间运行不同的虚拟机,由于同一时间物理CPU只能运行宿主机或运行一个虚拟机,这样,虚拟机和宿主机之间需要频繁进行切换。对于通讯技术产业(Communi cat 1n technology,CT)以及信息技术产业(Informat1n Technology,IT)等应用,部分应用场景中对虚拟机切换的实时性要求较高,那么如何快速实现虚拟机和宿主机之间的切换是亟待解决的问题。

【发明内容】

[0004]本发明实施例提供一种虚拟机切换的系统和方法,可以提高虚拟机切换的效率。
[0005]第一方面,提供了一种虚拟机切换的系统,所述系统包括物理中央处理器PCPU、存储设备、存储总线、搬移设备、内存MEM设备和内存总线;所述存储总线仅连接所述存储设备和所述PCPU,所述内存总线连接所述MEM设备和所述PCPU;所述PCPU用于运行第一机的第一数据,得到第二数据;所述搬移设备用于将所述第二数据通过所述存储总线分N次写入所述存储设备,N为小于第一阈值的正整数;所述存储设备用于存储所述第二数据;所述搬移设备还用于通过所述存储总线从所述存储设备中分M次读取第二机的第三数据至所述PCPU,M为小于第二阈值的正整数;其中,所述第一机为宿主机和虚拟机之一,所述第二机为所述宿主机和所述虚拟机中的另一个。
[0006]本发明虚拟机切换的系统通过增加存储设备用于存储PCPU运行后的寄存器状态,并增加PCPU和存储设备之间的存储总线,使得PCPU和存储设备之间可以通过存储总线进行大块数据的读写操作,而不再是PCPU和内存之间多次进行小块数据的读写操作,这样能够提高虚拟机切换的效率。
[0007]本发明实施例中的第二数据可以为寄存器的状态值,即存储设备中存储的可以为寄存器的当前状态,当下次PCHJ再次读取第二数据时,即读取的是寄存器的状态值。PCPU可以根据寄存器的状态值运行状态值指向的相应指令。
[0008]结合第一方面,在第一方面的一种实现方式中,所述系统还包括控制器,所述控制器用于扫描所述系统;当所述控制器扫描得到所述系统中存在所述存储设备的标识符、所述存储总线的标识符和所述搬移设备的标识符时,所述控制器还用于根据所述存储设备的标识符、所述存储总线的标识符和所述搬移设备的标识符查找所述系统中是否存在分别与所述存储设备、所述存储总线和所述搬移设备相匹配的驱动程序。
[0009]在根据本发明实施例的虚拟机切换系统进行虚拟机切换之前,需要检测新增的硬件设备是否可用。当控制器检测得到系统中存在存储设备、存储总线和搬移设备的标识符时,表示系统中存在相应的存储设备、存储总线和搬移设备。当检测到虚拟机切换系统中存在新增的硬件设备时,可以检测系统中是否存在新增硬件的驱动程序,当存在相应设备的驱动程序程序时,表示新增的硬件可用。此时,控制器可以为每个硬件设备加载驱动程序,以使得硬件设备使能,即使得硬件设备具备能够保证虚拟机切换的功能。在硬件可用并且驱动程序使能时,可以保证后续正确使用该虚拟机切换系统。
[0010]在本发明的一个实施例中,控制器可以在新增硬件可用时,将控制器的标签设为预设值。当将控制器的标签设为预设值时,表示系统可以使用上述新增的硬件进行虚拟机切换。
[0011 ]结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述控制器用于在所述存储设备中为所述第一机分配第一初始化数据,所述第一数据为所述第一初始化数据。
[0012]本发明实施例中的第一数据可以为系统首次启动时的初始化数据,也可以为虚拟机和宿主机切换过程中存储器保存的其它数据。
[0013]另外,存储设备上可以为不同的虚拟机或宿主机分配不同的资源和空间索引,这样能够保证不同虚拟机或宿主机之间数据相互独立,在虚拟机切换时,通过空间索引快速找到存储数据的资源,这样能够进一步提高虚拟机切换的效率。
[0014]在本发明的一个实施例中,控制器用于检测控制器的标签是否为预设值;当控制器的标签为预设值时,控制器用于判断存储设备的资源是否大于资源阈值;当存储设备的资源大于资源阈值时,控制器用于为第二机分配第二机资源和第二机空间索引。
[0015]本发明实施例中,控制器可以在PCPU上为宿主机或虚拟机分配相应的初始化数据。控制器可以在存储设备上为宿主机分配或虚拟机分配对应的资源和资源的空间索引。
[0016]本发明实施例中的初始化数据可以为经验值,表示寄存器的初始状态。
[0017]空间索引用于指示数据存放的资源的地址空间,为宿主机或虚拟机分配空间索引,这样能够准确快速地找到数据存放的地址空间,进一步提高虚拟机的切换效率。
[0018]在存储设备中为虚拟机数据分配一定的资源和空间索引时,要判断存储设备的资源是否充足,以保证虚拟机数据在资源中可以有足够的资源来存储。
[0019]搬移设备用于通过存储总线从存储设备中分M次读取第二机的第三数据具体地可以为:搬移设备具体用于根据资源的空间索引通过存储总线从存储设备中分M次读取第二机的第三数据。
[0020]结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述PCPU用于运行所述第三数据,得到第四数据;所述搬移设备用于将所述第四数据通过所述存储总线分G次写入所述存储设备,G为小于第二阈值的正整数;所述存储设备用于存储所述第四数据;所述搬移设备还用于通过所述存储总线从所述存储设备中分H次读取所述第二数据至所述PCPU,H为小于第二阈值的正整数。
[0021]本发明实施例的虚拟机切换可以为宿主机向虚拟机的切换,也可以为虚拟机向宿主机的切换。两个切换的流程相似。当由宿主机切换到虚拟机后,可以由虚拟机切换到宿主机。当由虚拟机切换到宿主机后,可以由宿主机切换回虚拟机。虚拟机切换时,完全使用本发明实施例中的虚拟机切换系统,可以进一步提高虚拟机的切换效率。
[0022]结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述PCPU用于运行所述第三数据,得到第四数据;所述搬移设备用于将所述第四数据通过所述存储总线分P次写入所述存储设备,P为小于第二阈值的正整数;所述存储设备用于存储所述第四数据;所述搬移设备还用于通过所述存储总线从所述存储设备中分Q次读取第三机的第五数据至所述PCHJ,Q为小于第二阈值的正整数,其中,所述第一机为虚拟机,所述第二机为宿主机,所述第三机为虚拟机。
[0023]当由虚拟机切换到宿主机后,可以由宿主机切换到其它虚拟机上,两次切换的虚拟机可以不同。
[0024]当由第一次切换到第二机,再由第二机切换到第一机时,搬移设备读取的数据为上次第一机运行后存储的数据。
[0025]结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述控制器用于在所述存储设备为所述第三机分配第二初始化数据,所述第五数据为所述第二初始化数据。
[0026]当首次切换到第三机上时,搬移设备读取的数据可以是为第三机分配的初始化数据。
[0027]在本发明的一个实施例中,优选地,M=I,N= I。这样,搬移设备可以一次性地对数据进行读写操作,进一步提高虚拟机切换的效率。
[0028]在本发明的一个实施例中,优选地,M = I,N=I,G=I,H=I。这样,搬移设备可以一次性地对数据进行读写操作,进一步提高虚拟机切换的效率。
[0029]在本发明的一个实施例中,优选地,M=I,N= I,P= I,Q= I。这样,搬移设备可以一次性地对数据进行读写操作,进一步提高虚拟机切换的效率。
[0030]第二方面,提供了一种虚拟机切换的方法,所述方法用于虚拟机切换的系统,所述系统包括物理中央处理器PCPU、存储设备、存储总线、搬移设备
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1