CN107168769B - 一种信息处理方法及电子设备 - Google Patents
一种信息处理方法及电子设备 Download PDFInfo
- Publication number
- CN107168769B CN107168769B CN201710203279.7A CN201710203279A CN107168769B CN 107168769 B CN107168769 B CN 107168769B CN 201710203279 A CN201710203279 A CN 201710203279A CN 107168769 B CN107168769 B CN 107168769B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- storage area
- target device
- address
- storage
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息处理方法及电子设备,其中,方法包括:获取第一虚拟机所对应的目标设备的相关信息;从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
Description
技术领域
本发明涉及虚拟机管理技术,具体涉及一种应用于电子设备中的信息处理方法及一种电子设备。
背景技术
目前,在虚拟化环境中,当系统管理员需要对宿主机的Hypervisor进行升级时,为了避免中断在虚拟机上正在运行的业务程序,可以采取将虚拟机从原(低版本)Hypervisor1通过动态迁移来热升级到目标(高版本)Hypervisor2的方式。而当所要热升级的Hypervisor1所虚拟的虚拟机带有透传硬件设备时,虚拟机的物理透传设备在热升级时无法由当前Hypervisor1到目标Hypervisor2的动态迁移中完成平滑迁移。
发明内容
本发明的主要目的在于提出一种信息处理方法及电子设备,旨在解决现有技术中存在的上述问题。
为实现上述目的,本发明提供一种信息处理方法,应用于电子设备,包括:
获取第一虚拟机所对应的目标设备的相关信息;
从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互
本发明提供一种电子设备,所述电子设备包括:
虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互;
地址转换单元,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系。
本实施例提供的信息处理方法及电子设备,能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。
附图说明
图1为本发明实施例中信息处理方法的实现流程示意图1;
图2为本发明实施例中处理示意图1;
图3为本发明实施例中处理示意图2;
图4为本发明实施例中信息处理方法的实现流程示意图2;
图5为本发明实施例中电子设备组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
实施例一、
本发明实施例提供一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机,如图1所示,包括:
步骤101:获取第一虚拟机所对应的目标设备的相关信息;
步骤102:从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
步骤103:转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
步骤104:基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
具体来说,前述步骤101,获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述步骤103中,转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例二、
本发明实施例提供一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机,如图1所示,包括:
步骤101:获取第一虚拟机所对应的目标设备的相关信息;
步骤102:从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
步骤103:转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
步骤104:基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
具体来说,前述步骤101,获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述步骤103中,转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
前述步骤104所述映射关系,建立所述第二虚拟机与目标设备的相关信息之后,所述方法还包括:基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
其中,地址翻译表可以为第二虚拟机的虚拟地址与第二虚拟机的第二存储区域之间的映射关系;所述更新,也就是将目标设备中原保存的第一虚拟机的虚拟地址与物理地址的映射关系,更新为新的地址翻译表。
控制所述第二虚拟机基于所述目标设备的相关信息,也就是基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;
所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
本发明实施例提供的整体处理流程,可以结合图2、3,以及流程图4进行如下说明:
在动态迁移的设备状态传输阶段开始时,由Hypervisor向VM1发送通知,使其通过相应设备驱动暂停透传设备并保存设备状态;
由Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF;
将该内存区域通过页面翻转转换给Hypervisor2;具体的可以将Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF转换至Hypervisor2宿主机物理地址:0EE1F~0EEFF;
将以上用于设备重定向内存区域新的GPA->HPA的映射关系更新到DMA Re-Mapping硬件里的地址翻译表;
当动态迁移完成后,Hypervisor2通知VM2设备驱动到翻转后的内存地址读取之前保存的设备状态,并恢复该透传设备。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例三、
本发明实施例提供一种电子设备,所述电子设备能够管理至少一个虚拟机,如图5所示,包括:
虚拟机管理单元51,用于获取第一虚拟机所对应的目标设备的相关信息;基于所述映射关系,建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互;
地址转换单元52,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系。
具体来说,虚拟机管理单元51,用于获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
所述虚拟机管理单元51,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述地址转换单元52,用于转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,地址转换单元52,用于将这第一存储区域迁移到第二存储区域内的子区域中。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
实施例四、
本发明实施例提供一种电子设备,与实施例三提供的电子设备结构相同,具体来说,虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息,也就是获取到物理设备的相关信息,其中可以包括有硬件设备上下文等信息。
虚拟机管理单元,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理;至少获取所述第一虚拟机对应的目标设备的上下文信息,将所述上下文信息作为所述相关信息。
其中,所述目标设备可以为图2所示的物理设备,比如,在物理设备中保存所有虚拟机所对应的上下文信息以及接口信息等内容。
向目标设备发送暂停数据处理的指令,能够避免虚拟机迁移过程中出现处理进度不符合的问题,使得目标设备在最终迁移至第二虚拟机之后能将处理进度无缝切换。
进一步地,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。比如,参见图3,第一虚拟机通过虚拟地址与物理地址的映射,查找到对应的物理存储区域;在物理存储区域中可以存储多种信息,本实施例中关键获取的内容为目标设备的上下文信息,以及内存访问接口对应的存储区域;这两个内存对应的存储区域可以为连续的也可以为不连续的。
前述地址转换单元,用于转换所述第一存储区域的存储地址得到第二存储地址,可以为将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
其中,第二虚拟机的第二存储区域可以为在第二虚拟机建立时为第二虚拟机分配的存储区域,包含有第二虚拟机的全部物理地址。
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址的具体处理,可以为将第一存储区域对应的包含有目标设备的上下文信息,以及内存访问接口对应的这些存储区域;进行转换的方式,可以为从第二虚拟机的第二存储区域中,选取一定大小的子存储区域,这个子存储区域大小为能够保存目标设备的上下文信息,以及内存访问接口这些内容的大小。
进一步地,转换存储区域的方式可以为之间将这第一存储区域迁移到第二存储区域内的子区域中。
前述虚拟机管理单元,用于基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
其中,地址翻译表可以为第二虚拟机的虚拟地址与第二虚拟机的第二存储区域之间的映射关系;所述更新,也就是将目标设备中原保存的第一虚拟机的虚拟地址与物理地址的映射关系,更新为新的地址翻译表。
控制所述第二虚拟机基于所述目标设备的相关信息,也就是基于更新后的地址翻译表,控制所述第二虚拟机从所述第二物理地址中获取所述目标设备的相关信息;
所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
本发明实施例提供的整体处理流程,可以结合图2、3,以及流程图4进行如下说明:
在动态迁移的设备状态传输阶段开始时,由Hypervisor向VM1发送通知,使其通过相应设备驱动暂停透传设备并保存设备状态;
由Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF;
将该内存区域通过页面翻转转换给Hypervisor2;具体的可以将Hypervior1获取VM1的物理地址(GPA)中用于DMA IO及存放Device State的内存区域:0001F~000FF转换至Hypervisor2宿主机物理地址:0EE1F~0EEFF;
将以上用于设备重定向内存区域新的GPA->HPA的映射关系更新到DMA Re-Mapping硬件里的地址翻译表;
当动态迁移完成后,Hypervisor2通知VM2设备驱动到翻转后的内存地址读取之前保存的设备状态,并恢复该透传设备。
本发明实施例,为了支持虚拟机带有透传硬件设备的本地Hypervisor热升级,在虚拟化中实现一个可以转换透传硬件设备所有权的半虚拟化翻转模块,可以在热升级过程中直接将透传硬件设备的所有权交给迁移后的虚拟机。具体来说,主要包括以下三个方面:在动态迁移过程中保存透传硬件设备上下文;获取VM中相关内存地址映射,并翻转相关内存区域;恢复透传设备上下文。
可见,通过采用上述方案,就能够获取第一虚拟机所对应的目标设备的相关信息,将所述第一虚拟机所对应的物理存储单元中选取的第一存储区域,转换为第二虚拟机对应的第二存储地址,建立所述第二存储地址与第二控制层的映射关系,基于所述映射关系建立所述第二虚拟机与目标设备的相关信息,并控制所述第二虚拟机与所述目标设备进行数据交互。如此,在进行目标设备在虚拟机之间迁移的时候,不需要进行复杂的替换流程,仅需要直接转换该设备所属虚拟机的所有权即可实现,从而保证透传硬件设备的迁移更加平滑无缝,并有效缩短迁移时间。另外,还能够在迁移开始之前将目标设备的处理状态控制为暂停状态,从而避免在迁移过程中该透传硬件设备被其它虚拟机占用。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种信息处理方法,应用于电子设备,所述电子设备能够管理至少一个虚拟机;所述方法包括:
获取第一虚拟机所对应的目标设备的相关信息;其中,所述目标设备的相关信息至少包括所述目标设备的上下文信息;
从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;基于所述映射关系,建立第二虚拟机与所述目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
2.根据权利要求1所述的方法,其特征在于,所述建立所述第二存储地址与第二控制层的映射关系之后,所述方法还包括:
基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与所述目标设备的相关信息。
3.根据权利要求1所述的方法,其特征在于,所述获取第一虚拟机所对应的目标设备的相关信息时,所述方法还包括:
向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理。
4.根据权利要求1所述的方法,其特征在于,所述从所述第一虚拟机的物理存储中选取第一存储区域,还包括:
从所述第一虚拟机的所述物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为所述第一存储区域。
5.根据权利要求1所述的方法,其特征在于,所述转换所述第一存储区域的存储地址得到第二存储地址,包括:
将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
6.根据权利要求2所述的方法,其特征在于,所述基于所述映射关系,建立第二虚拟机与所述目标设备的相关信息,包括:
基于更新后的地址翻译表,控制所述第二虚拟机从所述第二虚拟机的第二存储区域所对应的第二物理地址中获取所述目标设备的相关信息;
相应的,所述控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互,包括:
通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
7.一种电子设备,其特征在于,所述电子设备包括:
虚拟机管理单元,用于获取第一虚拟机所对应的目标设备的相关信息;其中,所述目标设备的相关信息至少包括所述目标设备的上下文信息;
地址转换单元,用于从所述第一虚拟机所对应的物理存储单元中选取第一存储区域;其中,所述第一存储区域中至少用于存储所述目标设备的相关信息;
转换所述第一存储区域的存储地址得到第二存储地址,建立所述第二存储地址与第二控制层的映射关系;
所述虚拟机管理单元,还用于基于所述映射关系,建立第二虚拟机与所述目标设备的相关信息,并控制所述第二虚拟机基于所述目标设备的相关信息,与所述目标设备进行数据交互。
8.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于基于所述映射关系,对直接内存存取进行重映射得到更新后的地址翻译表,以使得所述目标设备基于所述地址翻译表建立所述第二虚拟机与目标设备的相关信息。
9.根据权利要求7所述的电子设备,其特征在于,所述虚拟机管理单元,用于向所述目标设备发送停止处理的指令,以使得所述目标设备基于所述停止处理的指令暂停数据处理。
10.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于从所述第一虚拟机的物理存储中,选取包含有所述目标设备的相关信息、以及直接内存访问接口的存储区域作为第一存储区域。
11.根据权利要求7所述的电子设备,其特征在于,所述地址转换单元,用于将所述第一存储区域对应的物理地址,转换至所述第二虚拟机的第二存储区域所对应的第二物理地址。
12.根据权利要求8所述的电子设备,其特征在于,所述虚拟机管理单元,用于基于更新后的地址翻译表,控制所述第二虚拟机从所述第二虚拟机的第二存储区域所对应的第二物理地址中获取所述目标设备的相关信息;通过所述第二虚拟机向所述目标设备发送运行指令,使得所述目标设备基于第二虚拟机的控制重新开始进行数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710203279.7A CN107168769B (zh) | 2017-03-30 | 2017-03-30 | 一种信息处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710203279.7A CN107168769B (zh) | 2017-03-30 | 2017-03-30 | 一种信息处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107168769A CN107168769A (zh) | 2017-09-15 |
CN107168769B true CN107168769B (zh) | 2020-12-18 |
Family
ID=59849515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710203279.7A Active CN107168769B (zh) | 2017-03-30 | 2017-03-30 | 一种信息处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168769B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932155A (zh) * | 2018-07-25 | 2018-12-04 | 迈普通信技术股份有限公司 | 虚拟机存储管理方法、装置、电子设备及可读存储介质 |
CN110968392B (zh) * | 2018-09-30 | 2024-04-12 | 华为技术有限公司 | 一种升级虚拟化模拟器的方法和装置 |
CN113032086A (zh) * | 2019-12-25 | 2021-06-25 | 中兴通讯股份有限公司 | 虚拟机部署及热迁移方法、vmm升级方法、服务器 |
CN111857968A (zh) * | 2020-07-29 | 2020-10-30 | 山东超越数控电子股份有限公司 | 一种虚拟机的热迁移方法、系统、设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942087A (zh) * | 2014-03-31 | 2014-07-23 | 华为技术有限公司 | 虚拟机热迁移方法及相关装置和集群系统 |
CN106156031A (zh) * | 2015-03-24 | 2016-11-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106301876A (zh) * | 2015-06-26 | 2017-01-04 | 中兴通讯股份有限公司 | 物理机升级方法、业务迁移方法及装置 |
CN106293846A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 模拟处理器的升级方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016167143A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 情報処理システムおよび情報処理システムの制御方法 |
-
2017
- 2017-03-30 CN CN201710203279.7A patent/CN107168769B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942087A (zh) * | 2014-03-31 | 2014-07-23 | 华为技术有限公司 | 虚拟机热迁移方法及相关装置和集群系统 |
CN106156031A (zh) * | 2015-03-24 | 2016-11-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106301876A (zh) * | 2015-06-26 | 2017-01-04 | 中兴通讯股份有限公司 | 物理机升级方法、业务迁移方法及装置 |
CN106293846A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 模拟处理器的升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107168769A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168769B (zh) | 一种信息处理方法及电子设备 | |
US10073713B2 (en) | Virtual machine migration | |
US8176294B2 (en) | Reducing storage expansion of a virtual machine operating system | |
EP2449469B1 (en) | Hypervisor-based management of local and remote virtual memory pages | |
US10579404B2 (en) | Provisioning virtual desktops with stub virtual disks | |
JP6009675B2 (ja) | 物理メモリの動的パーティショニング技術 | |
US8635395B2 (en) | Method of suspending and resuming virtual machines | |
US20110167422A1 (en) | Virtualization apparatus | |
US20120304168A1 (en) | System and method for generating a virtual desktop | |
KR20210089150A (ko) | 호스트 컴퓨팅 디바이스 가상 메모리에 의해 지원되는 가상 머신 메모리의 더 빠른 액세스 | |
US10671542B2 (en) | Application execution enclave memory method and apparatus | |
CN107209683B (zh) | 备份映像恢复 | |
WO2018176911A1 (zh) | 一种虚拟磁盘文件格式转换方法和装置 | |
US8117373B2 (en) | VM host responding to initiation of a page swap by transferring pages from host-but-non-guest-addressable RAM to host-and-guest-addressable RAM | |
US9529618B2 (en) | Migrating processes between source host and destination host using a shared virtual file system | |
US20160350010A1 (en) | Providing block size compatibility with a storage filter | |
US11675615B2 (en) | Zero copy message reception for applications | |
CN114625484B (zh) | 虚拟化实现方法、装置、电子设备、介质及arm平台 | |
US10503659B2 (en) | Post-copy VM migration speedup using free page hinting | |
JP6458650B2 (ja) | 情報処理システム、情報処理プログラムおよび情報処理装置 | |
US20140208034A1 (en) | System And Method for Efficient Paravirtualized OS Process Switching | |
US11762573B2 (en) | Preserving large pages of memory across live migrations of workloads | |
WO2023165308A1 (zh) | 一种内存回收方法、装置及控制设备 | |
US11593168B2 (en) | Zero copy message reception for devices via page tables used to access receiving buffers | |
US12039364B1 (en) | Allocating functionality of a block device driver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |