一种虚拟可信根迁移方法、系统及电子设备和存储介质与流程

文档序号:16390195发布日期:2018-12-22 11:18阅读:270来源:国知局
一种虚拟可信根迁移方法、系统及电子设备和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种虚拟可信根迁移方法、系统及一种电子设备和一种计算机可读存储介质。

背景技术

当前,信息安全已成为制约云计算应用与发展的关键因素,其中云数据中心基础设施的安全性、云数据中心虚拟机租户数据及信息的完整性、云服务提供商与云服务租户之间的信任是提升云安全的关键基础,这些问题的解决需要从计算机底层硬件出发、从体系结构入手解决。可信计算作为一种从硬件平台出发、从体系结构入手,解决计算平台信息安全的安全技术,已成为提升云数据中心基础设施安全及租户信任问题的关键技术手段。当前,基于qemu的虚拟可信根技术已经出现,其利用qemu中的qom机制模拟可信根功能,基于物理可信根的信任链技术、远程证明技术等可信计算核心技术可以无差别的在虚拟机中使用。

在虚拟机层面,现有虚拟迁移技术聚焦于磁盘文件的迁移,导致配置了虚拟可信根的虚拟机只能进行静态迁移,无法进行动态迁移。

因此,如何实现配置了虚拟可信根的虚拟机的动态迁移是本领域技术人员需要解决的问题。



技术实现要素:

本申请的目的在于提供一种虚拟可信根迁移方法、系统及一种电子设备和一种计算机可读存储介质,实现配置了虚拟可信根的虚拟机的动态迁移。

为实现上述目的,本申请提供了一种虚拟可信根迁移方法,应用于源宿主机,包括:

接收到迁移命令后,采集虚拟可信根的运行状态数据;

将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;

将所述已存储数据和所述hash值发送至目的宿主机,以便所述目的宿主机恢复所述运行状态数据并验证所述已存储数据的完整性。

其中,所述运行状态数据包括死锁状态数据、nv状态数据、对象状态数据、pcr状态数据、会话状态数据、自检状态数据、全局状态数据中的任一项或任几项的组合。

其中,将所述运行状态数据保存至预先开辟的内存空间中,包括:

调用qemu中qom机制的虚拟设备状态描述符中的pre_save方法将所述运行状态数据保存至预先开辟的内存空间中。

其中,所述目的宿主机恢复所述运行状态数据,包括:

所述目的宿主机根据所述运行状态数据的保存顺序恢复所述运行状态数据。

其中,所述目的宿主机恢复所述运行状态数据,包括:

所述目的宿主机将所述运行状态数据恢复至自身qemu进程的对应结构体中。

其中,所述目的宿主机验证所述已存储数据的完整性,包括:

计算所述已存储数据的hash值作为基准hash值;

对比接收到的hash值与所述基准hash值,得到完整性验证结果。

其中,所述对比接收到的hash值与所述基准hash值,得到完整性验证结果,包括:

判断接收到的hash值与所述基准hash值是否一致;

若是,则迁移成功;

若否,则迁移失败,并根据判断结果发送告警信息。

为实现上述目的,本申请提供了一种虚拟可信根迁移系统,应用于源宿主机,包括:

采集模块,用于接收到迁移命令后,采集虚拟可信根的运行状态数据;

保存模块,用于将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;

发送模块,用于将所述已存储数据和所述hash值发送至目的宿主机,以便所述目的宿主机恢复所述运行状态数据并验证所述已存储数据的完整性。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述虚拟可信根迁移方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述虚拟可信根迁移方法的步骤。

通过以上方案可知,本申请提供的一种虚拟可信根迁移方法,包括:接收到迁移命令后,采集虚拟可信根的运行状态数据;将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;将所述已存储数据和所述hash值发送至目的宿主机,以便所述目的宿主机恢复所述运行状态数据并验证所述已存储数据的完整性。

本申请提供的虚拟可信根迁移方法,在接收到迁移命令时,采集虚拟可信根的运行状态数据,此时的虚拟机处于运行状态,将虚拟可信根的运行状态数据保存至内存空间中,并迁移至目的宿主机,目的宿主机配置了该运行状态数据后可正常运行,迁移的文件不仅包括现有的磁盘文件还包括虚拟可信根的运行状态数据,保证了虚拟可信根的虚拟机的动态迁移。本申请还公开了一种虚拟可信根迁移系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种虚拟可信根迁移方法的流程图;

图2为本申请实施例公开的另一种虚拟可信根迁移方法的流程图;

图3为本申请实施例公开的一种虚拟可信根迁移系统的结构图;

图4为本申请实施例公开的一种电子设备的结构图;

图5为本申请实施例公开的另一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种虚拟可信根迁移方法,实现配置了虚拟可信根的虚拟机的动态迁移。

参见图1,本申请实施例公开的一种虚拟可信根迁移方法的流程图,如图1所示,包括:

s101:接收到迁移命令后,采集虚拟可信根的运行状态数据;

在具体实施中,接收到迁移命令时,虚拟机处于运行状态,采集当前状态的运行状态数据,此处不对运行状态数据的具体内容进行限定,本领域技术人员可以根据实际情况灵活选择,作为一种优选实施方式,所述运行状态数据包括死锁状态数据、nv(非易失性存储器,英文全称:non-volatilememory)状态数据、对象状态数据、pcr(中文全称:程序控制暂存器,英文全称:programcontrolregister)状态数据、会话状态数据、自检状态数据、全局状态数据中的任一项或任几项的组合。

s102:将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;

在具体实施中,虚拟可信根的具体实现依赖于qemu(虚拟操作系统模拟器)的qom(qemuobjectmodule)机制,该机制中构建了虚拟设备状态描述符(vmstatedescription),在迁移时由qemu触发调用该描述符中的pre_save方法完成运行状态数据的保存,可以直接复用该机制,将虚拟可信根运行状态数据保存至一内存空间中即可。

可以理解的是,在本步骤之前默认存在开辟内存空间的步骤,具体的,在qemu的运行空间中开辟一段与虚拟可信根的运行状态数据区域长度一致的内存用以保存虚拟可信根的运行状态数据,待qemu迁移机制执行完毕后,可在目的宿主机上访问该段内存;

待虚拟可信根的运行状态数据保存至指定内存中后,计算该段内存数据的hash值,以便迁移完毕后检测该段数据的完整性。

s103:将所述已存储数据和所述hash值发送至目的宿主机,以便所述目的宿主机恢复所述运行状态数据并验证所述已存储数据的完整性。

在具体实施中,源宿主机将内存空间中的已存储数据和计算得到的该已存储数据的hash值发送至目的宿主机,即完成了运行状态数据的迁移。迁移完毕后,目的宿主机上的qemu会触发post_load方法,将保存的状态数据恢复至指定内存中,虚拟可信根状态数据恢复模块将迁移后的内存数据恢复至虚拟可信根运行时结构体中即可完成虚拟可信根的恢复。

可以理解的是,由于在源宿主机中各运行状态数据的存在一定的顺序,因此,作为一种优选实施方式,目的宿主机需要根据运行状态数据的保存顺序恢复运行状态数据。例如,在步骤s102中,按照死锁状态数据、nv状态数据、对象状态数据、pcr状态数据、会话状态数据、自检状态数据、全局状态数据的顺序保存,则在本步骤中需按照相同的顺序恢复运行状态数据。

本申请实施例提供的虚拟可信根迁移方法,在接收到迁移命令时,采集虚拟可信根的运行状态数据,此时的虚拟机处于运行状态,将虚拟可信根的运行状态数据保存至内存空间中,并迁移至目的宿主机,目的宿主机配置了该运行状态数据后可正常运行,迁移的文件不仅包括现有的磁盘文件还包括虚拟可信根的运行状态数据,保证了虚拟可信根的虚拟机的动态迁移。

本申请实施例公开了一种虚拟可信根迁移方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图2,本申请实施例提供的另一种虚拟可信根迁移方法的流程图,如图2所示,包括:

s201:源宿主机接收到迁移命令后,采集虚拟可信根的运行状态数据;

s202:将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;

s203:将所述已存储数据和所述hash值发送至目的宿主机;

s204:目的宿主机计算所述已存储数据的hash值作为基准hash值,对比接收到的hash值与所述基准hash值,得到完整性验证结果。

在具体实施中,目的宿主机利用接收到的hash值判断接收到的数据的完整性。具体的,计算接收到的数据的hash至作为基准hash值,再将该基准hash值与接收到的hash值进行对比,若二者相同,则表明迁移成功,目的宿主机配置了接收到的数据即运行状态数据后可正常运行,若二者不相同,则迁移失败,并向管理员发送告警信息。此处不对该告警信息的具体内容和告警的具体方式进行限定,本领域技术人员可以根据实际情况灵活选择。

下面对本申请实施例提供的一种虚拟可信根迁移系统进行介绍,下文描述的一种虚拟可信根迁移系统与上文描述的一种虚拟可信根迁移方法可以相互参照。

参见图3,本申请实施例提供的一种虚拟可信根迁移系统的结构图,如图3所示,包括:

采集模块301,用于接收到迁移命令后,采集虚拟可信根的运行状态数据;

保存模块302,用于将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值;

发送模块303,用于将所述已存储数据和所述hash值发送至目的宿主机,以便所述目的宿主机恢复所述运行状态数据并验证所述已存储数据的完整性。

本申请实施例提供的虚拟可信根迁移系统,在接收到迁移命令时,采集虚拟可信根的运行状态数据,此时的虚拟机处于运行状态,将虚拟可信根的运行状态数据保存至内存空间中,并迁移至目的宿主机,目的宿主机配置了该运行状态数据后可正常运行,迁移的文件不仅包括现有的磁盘文件还包括虚拟可信根的运行状态数据,保证了虚拟可信根的虚拟机的动态迁移。

在上述实施例的基础上,作为一种优选实施方式,所述运行状态数据包括死锁状态数据、nv状态数据、对象状态数据、pcr状态数据、会话状态数据、自检状态数据、全局状态数据中的任一项或任几项的组合。

在上述实施例的基础上,作为一种优选实施方式,所述保存模块302具体为调用qemu中qom机制的虚拟设备状态描述符中的pre_save方法将所述运行状态数据保存至预先开辟的内存空间中,并计算所述内存空间中已存储数据的hash值的模块。

在上述实施例的基础上,作为一种优选实施方式,所述目的宿主机包括:

恢复模块,用于根据所述运行状态数据的保存顺序恢复所述运行状态数据的模块。

在上述实施例的基础上,作为一种优选实施方式,所述目的宿主机包括:

恢复模块,用于将所述运行状态数据恢复至自身qemu进程的对应结构体中。

在上述实施例的基础上,作为一种优选实施方式,所述目的宿主机包括:

计算模块,用于计算所述已存储数据的hash值作为基准hash值;

对比模块,用于对比接收到的hash值与所述基准hash值,得到完整性验证结果。

在上述实施例的基础上,作为一种优选实施方式,所述对比模块具体为判断接收到的hash值与所述基准hash值是否一致;若是,则迁移成功;若否,则迁移失败,并根据判断结果发送告警信息的模块。

本申请还提供了一种电子设备,参见图4,本申请实施例提供的一种电子设备的结构图,如图4所示,包括:

存储器100,用于存储计算机程序;

处理器200,用于执行所述计算机程序时可以实现上述任一实施例所提供的虚拟可信根迁移方法的步骤。

具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现上述任一实施例所提供的虚拟可信根迁移方法的步骤。

本申请实施例提供的电子设备,在接收到迁移命令时,采集虚拟可信根的运行状态数据,此时的虚拟机处于运行状态,将虚拟可信根的运行状态数据保存至内存空间中,并迁移至目的宿主机,目的宿主机配置了该运行状态数据后可正常运行,迁移的文件不仅包括现有的磁盘文件还包括虚拟可信根的运行状态数据,保证了虚拟可信根的虚拟机的动态迁移。

在上述实施例的基础上,作为优选实施方式,参见图5,所述电子设备还包括:

输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。具体的,在本实施例中,通过输入接口300输入运行状态数据的保存顺序等。

显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,可以通过显示单元400显示运行状态数据的迁移进度等。

网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。

本申请还提供了一种计算机可读存储介质,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所提供的虚拟可信根迁移方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1