物理主机的固件升级方法、物理主机及虚拟机与流程

文档序号:14571725发布日期:2018-06-01 22:34阅读:277来源:国知局
物理主机的固件升级方法、物理主机及虚拟机与流程

本申请属于计算机技术领域,尤其涉及物理主机的固件升级方法、物理主机及虚拟机。



背景技术:

VM(Virtual Machine,虚拟机)指通过软件模拟的方式实现具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台物理计算机上模拟出一台或多台虚拟的计算机,虚拟机像真正的计算机那样工作,例如,可以安装操作系统、安装应用程序、访问网络资源等。运行虚拟机的物理计算机称为宿主机或者物理主机。

固件(Firmware)是担任一个系统最基础最底层工作的软件,一般存储于芯片内的EEPROM(Electrically Erasable Programmable ROM,电可擦除只读存储器)或者FLASH芯片中。

在电子设备使用过程中,需要根据实际需求对固件进行升级。物理主机的操作系统仅相当于一个hypervisor,hypervisor也称为VMM(Virtual Machine Monitor,虚拟机监控单元),并未提供API接口(Application Programming Interface,应用程序编程接口),这就导致无法对物理主机中的固件进行带内升级。



技术实现要素:

有鉴于此,本申请的目的在于一种物理主机的固件升级方法、物理主机及虚拟机,以解决现有技术中无法对物理主机中的固件进行带内升级的问题。

为实现上述目的,本申请提供如下技术方案:

本申请提供一种物理主机的固件升级方法,所述固件升级方法应用于所述物理主机,所述固件升级方法包括:

响应固件升级指令,启动第一虚拟机,所述第一虚拟机运行于所述物理主机,并且所述第一虚拟机设置有固件升级工具,所述固件升级指令携带有待升级的固件的标识;

根据所述固件升级指令确定待升级的固件;

对待升级的固件的接口进行虚拟化处理,将虚拟固件升级接口传递至所述第一虚拟机,由所述第一虚拟机通过所述固件升级工具对所述待升级的固件进行升级。

可选的,在上述固件升级方法中,所述将虚拟固件升级接口传递至所述第一虚拟机,包括:

通过passthrough直传方式将所述虚拟固件升级接口传递至所述第一虚拟机。

可选的,在上述固件升级方法中,还包括:在完成固件升级后,移除所述第一虚拟机。

本申请还提供一种物理主机的固件升级方法,所述固件升级方法应用于虚拟机,所述虚拟机运行于一物理主机,所述虚拟机设置有固件升级工具,所述固件升级方法包括:

接收所述物理主机传递的虚拟固件升级接口,所述虚拟固件升级接口由所述物理主机响应固件升级指令对待升级的固件的升级接口进行虚拟化处理产生;

通过所述固件升级工具对所述待升级的固件进行升级。

可选的,在上述固件升级方法中,所述通过所述固件升级工具对所述待升级的固件进行升级,包括:

获得所述待升级的固件的固件升级包;

由所述固件升级工具使用所述固件升级包对所述待升级的固件进行升级。

本申请还提供一种物理主机,所述物理主机包括处理器和存储器,所述物理主机上运行有至少一个虚拟机;

所述处理器用于:响应固件升级指令,启动第一虚拟机,所述第一虚拟机运行于所述物理主机,并且所述第一虚拟机设置有固件升级工具,所述固件升级指令携带有待升级的固件的标识;根据所述固件升级指令确定待升级的固件;对待升级的固件的升级接口进行虚拟化处理,将虚拟固件升级接口传递至所述第一虚拟机,由所述第一虚拟机通过所述固件升级工具对所述待升级的固件进行升级。

可选的,在上述物理主机中,所述处理器在将所述虚拟固件升级接口传递至所述第一虚拟机的方面,具体用于:通过passthrough直传方式将所述虚拟固件升级接口传递至所述第一虚拟机。

可选的,在上述物理主机中,所述处理器还用于:在完成固件升级后,移除所述第一虚拟机。

本申请还提供一种虚拟机,所述虚拟机运行于一物理主机,所述虚拟机设置有固件升级工具,所述虚拟机包括虚拟处理器;

所述虚拟处理器用于:接收所述物理主机传递的虚拟固件升级接口,所述虚拟固件升级接口由所述物理主机响应固件升级指令对待升级的固件的升级接口进行虚拟化处理产生;通过固件升级工具对所述待升级的固件进行升级。

可选的,在上述虚拟机中,所述虚拟处理器在通过固件升级工具对所述待升级的固件进行升级的方面,用于:获得所述待升级的固件的固件升级包;由所述固件升级工具使用所述固件升级包对所述待升级的固件进行升级。

由此可见,本申请的有益效果为:

本申请公开的物理主机的固件升级方法,物理主机在接收到固件升级指令后,启动运行于自身的第一虚拟机,并对待升级的固件的升级接口进行虚拟化处理,将生成的虚拟固件升级接口作为一个虚拟设备传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级,从而实现对物理主机中固件的带内升级。

附图说明

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

图1为本申请公开的一种物理主机的固件升级方法的流程图;

图2为本申请公开的另一种物理主机的固件升级方法的流程图;

图3为本申请公开的物理主机的系统架构图;

图4为本申请公开的另一种物理主机的固件升级方法的流程图;

图5为本申请公开的另一种物理主机的固件升级方法的流程图;

图6为本申请公开的一种物理主机的结构图。

具体实施方式

本申请公开物理主机的固件升级方法、物理主机及虚拟机,以解决现有技术中无法对物理主机中的固件进行带内升级的问题。

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

参见图1,图1为本申请公开的一种物理主机的固件升级方法的流程图。该固件升级方法应用于物理主机,包括:

步骤S101:响应固件升级指令,启动第一虚拟机。

其中,固件升级指令携带有待升级的固件的标识,第一虚拟机运行于该物理主机,并且第一虚拟机设置有固件升级工具。

本申请公开的物理主机运行有多个虚拟机,其中一个虚拟机设置有固件升级工具,为了便于描述,将该虚拟机记为第一虚拟机。

在有固件升级需求时,向物理主机输出固件升级指令,该固件升级指令携带有待升级的固件的标识。物理主机接收到固件升级指令后,启动设置有固件升级工具的第一虚拟机。

实施中,该固件升级指令可以是服务器发送,服务器确定物理主机中的固件有升级需求时,向物理主机发送固件升级指令。另外,该固件升级指令也可以由用户触发发送,当用户需要升级物理主机中的固件时,通过交互设备向物理主机发送固件升级指令。

步骤S102:根据固件升级指令确定待升级的固件。

步骤S103:对待升级的固件的升级接口进行虚拟化处理,将虚拟固件升级接口传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级。

固件升级指令携带有待升级的固件的标识,物理主机根据该固件升级指令即可确定待升级的固件。物理主机对待升级的固件的升级接口进行虚拟化处理,将生成的虚拟固件升级接口作为一个虚拟设备传递至第一虚拟机,也就是将待升级的固件的升级接口地址传输至第一虚拟机,第一虚拟机能够访问待升级的固件。第一虚拟机通过固件升级工具对待升级的固件进行升级。

本申请公开的物理主机的固件升级方法,物理主机在接收到固件升级指令后,启动运行于自身的第一虚拟机,并对待升级的固件的升级接口进行虚拟化处理,将生成的虚拟固件升级接口作为一个虚拟设备传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级,从而实现对物理主机中固件的带内升级。

参见图2,图2为本申请公开的另一种物理主机的固件升级方法的流程图。该固件升级方法应用于物理主机,包括:

步骤S201:响应固件升级指令,启动第一虚拟机。

其中,固件升级指令携带有待升级的固件的标识,第一虚拟机运行于该物理主机,并且第一虚拟机设置有固件升级工具。

步骤S202:根据固件升级指令确定待升级的固件。

步骤S203:对待升级的固件的升级接口进行虚拟化处理,通过passthrough方式将虚拟固件升级接口传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级。

物理主机对待升级的固件的升级接口进行虚拟化处理后,通过passthrough方式(直传方式)将虚拟固件升级接口传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级。

另外,第一虚拟机通过固件升级工具对固件进行升级的过程中,传输数据也可以采用passthrough方式。

图3示出了物理主机的系统架构,包括硬件层、虚拟机监控单元VMM和由VMM控制的至少一个虚拟机,图3中具体为VM1、VM2和VM3,其中VM1为本申请中设置有固件升级工具的第一虚拟机,硬件层设置有多个硬件以及固件。

在本申请图2所示的物理主机的固件升级方法中,将虚拟固件升级接口传递至第一虚拟机时,以及通过固件升级工具对固件进行升级的过程中,采用passthrough方式,使得数据穿过VMM传输,使得数据传输的过程更加快速,从而快速完成对固件的带内升级。

在本申请上述公开的物理主机的固件升级方法中,还可以设置以下步骤:在完成固件升级后,移除第一虚拟机。

也就是说,物理主机中的固件完成升级后,物理主机移除第一虚拟机,即关闭第一虚拟机,从而节省更多的硬件资源,节省的硬件资源可以分配给其他的虚拟机。

可选的,在上述公开的物理主机的固件升级方法中,物理主机还可以向第一虚拟机传递固件升级包信息,该固件升级包信息至少包括固件升级包的版本信息。相应的,第一虚拟机通过固件升级工具对待升级的固件进行升级的过程中,获得该版本的固件升级包,从而将该固件升级至相应的版本。

可选的,物理主机向第一虚拟机传递的固件升级包信息包括固件升级包的版本信息以及该版本固件升级包的下载地址。相应的,第一虚拟机通过固件升级工具对待升级的固件进行升级的过程中,基于该下载地址获得该版本的固件升级包,从而将该固件升级至相应的版本,而且能够避免出现获得恶意固件升级包的问题。

参见图4,图4为本申请公开的另一种物理主机的固件升级方法的流程图。

该固件升级方法应用于虚拟机,该虚拟机运行于一物理主机,并且该虚拟机设置有固件升级工具。该固件升级方法包括:

步骤S401:接收物理主机传递的虚拟固件升级接口。

其中,该虚拟固件升级接口由物理主机响应固件升级指令对待升级的固件的升级接口进行虚拟化处理产生。虚拟机内置识别虚拟固件升级接口的驱动。

作为一种实施方式,虚拟机在物理主机接收到固件升级指令后,被物理主机启动。

步骤S402:通过固件升级工具对物理主机中待升级的固件进行升级。

虚拟机接收到虚拟固件升级接口后,利用内置的固件升级工具对物理主机中待升级的固件进行升级。

本申请公开的物理主机的固件升级方法,虚拟机内置固件升级工具,该虚拟机在接收到物理主机传递的虚拟固件升级接口后,通过内置的固件升级工具对物理主机中待升级的固件进行升级,完成物理主机中固件的带内升级。

参见图5,图5为本申请公开的另一种物理主机的固件升级方法的流程图。

该固件升级方法应用于虚拟机,该虚拟机运行于一物理主机,并且该虚拟机设置有固件升级工具。该固件升级方法包括:

步骤S501:接收物理主机传递的虚拟固件升级接口。

其中,该虚拟固件升级接口由物理主机响应固件升级指令对待升级的固件的升级接口进行虚拟化处理产生。虚拟机内置识别虚拟固件升级接口的驱动。

步骤S501:获得待升级的固件的固件升级包。

作为一种实施方式,虚拟机从本地存储介质中获得待升级的固件的最新版本的固件升级包,或者通过网络获得待升级的固件的最新版本的固件升级包。

作为另一种实施方式,物理主机进一步向虚拟机传递固件升级包信息,该固件升级包信息至少包括固件升级包的版本信息。虚拟机基于物理主机传递的固件升级包信息,从本地存储介质中获得该版本的固件升级包,或者通过网络获得该版本的固件升级包。

作为另一种实施方式,物理主机进一步向虚拟机传递固件升级包信息,该固件升级包信息至少包括固件升级包的版本信息以及该版本固件升级包的下载地址。虚拟机基于物理主机传递的下载地址,获得该版本的固件升级包。基于该实施方式,虚拟机在物理主机指定的下载地址获得指定版本的固件升级包,能够避免出现获得恶意固件升级包的问题。

步骤S501:由固件升级工具使用该固件升级包对待升级的固件进行升级。

虚拟机获得待升级的固件的固件升级包后,由内置的固件升级工具使用该固件升级包对物理主机中待升级的固件进行升级。

本申请图5所示的物理主机的固件升级方法,虚拟机内置固件升级工具,该虚拟机在接收到物理主机传递的虚拟固件升级接口后,获得待升级的固件的固件升级包,由固件升级工具使用固件升级包对物理主机中待升级的固件进行升级,完成物理主机中固件的带内升级。

本申请还公开一种物理主机,其结构如图6所示,包括处理器100和存储器200,在该物理主机上运行有至少一个虚拟机。

处理器100用于:响应固件升级指令,启动第一虚拟机,该第一虚拟机运行于物理主机,并且第一虚拟机设置有固件升级工具,固件升级指令携带有待升级的固件的标识;根据固件升级指令确定待升级的固件;对待升级的固件的升级接口进行虚拟化处理,将虚拟固件升级接口传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级。

本申请公开的物理主机运行有至少一个虚拟机,其中第一虚拟机设置有固件升级工具,物理主机在接收到固件升级指令后,启动第一虚拟机,并对待升级的固件的升级接口进行虚拟化处理,将生成的虚拟固件升级接口作为一个虚拟设备传递至第一虚拟机,由第一虚拟机通过固件升级工具对待升级的固件进行升级,从而实现对物理主机中固件的带内升级。

可选的,处理器100在将虚拟固件升级接口传递至第一虚拟机的方面,具体用于:处理器100通过passthrough直传方式将虚拟固件升级接口传递至第一虚拟机。

另外,第一虚拟机通过固件升级工具对固件进行升级的过程中,传输数据也可以采用passthrough方式。

可选的,处理器100还用于:在完成固件升级后,移除第一虚拟机。

也就是说,物理主机中的固件完成升级后,物理主机移除第一虚拟机,即关闭第一虚拟机,从而节省更多的硬件资源,节省的硬件资源可以分配给其他的虚拟机。

本申请还公开一种虚拟机,该虚拟机运行于一物理主机,并且该虚拟机设置有固件升级工具,虚拟机包括虚拟处理器。

虚拟处理器用于:接收物理主机传递的虚拟固件升级接口,虚拟固件升级接口由物理主机响应固件升级指令对待升级的固件的升级接口进行虚拟化处理产生;通过固件升级工具对待升级的固件进行升级。

本申请公开的虚拟机运行于一物理主机,并且该虚拟机设置有固件升级工具,虚拟机在接收到物理主机传递的虚拟固件升级接口后,通过内置的固件升级工具对物理主机中待升级的固件进行升级,完成物理主机中固件的带内升级。

可选的,虚拟处理器在通过固件升级工具对待升级的固件进行升级的方面,用于:获得待升级的固件的固件升级包;由固件升级工具使用固件升级包对待升级的固件进行升级。

作为一种实施方式,虚拟处理器从本地存储介质中获得待升级的固件的最新版本的固件升级包,或者通过网络获得待升级的固件的最新版本的固件升级包。

作为另一种实施方式,物理主机进一步向虚拟机传递固件升级包信息,该固件升级包信息至少包括固件升级包的版本信息。虚拟处理器基于物理主机传递的固件升级包信息,从本地存储介质中获得该版本的固件升级包,或者通过网络获得该版本的固件升级包。

作为另一种实施方式,物理主机进一步向虚拟机传递固件升级包信息,该固件升级包信息至少包括固件升级包的版本信息以及该版本固件升级包的下载地址。虚拟处理器基于物理主机传递的下载地址,获得该版本的固件升级包。基于该实施方式,虚拟机在物理主机指定的下载地址获得指定版本的固件升级包,能够避免出现获得恶意固件升级包的问题。

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

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的物理主机和虚拟机而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

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