掌桥专利:专业的专利平台
掌桥专利
首页

服务器固件版本升级方法、装置、系统及可读存储介质

文献发布时间:2023-06-19 11:52:33


服务器固件版本升级方法、装置、系统及可读存储介质

技术领域

本申请涉及服务器技术领域,特别是涉及一种服务器固件版本升级方法、装置、系统及计算机可读存储介质。

背景技术

随着互联网、大数据、云计算的迅猛发展,超大规模数据中心越来越多,服务器的集中管理难度也越来越大,服务器固件版本的维护升级就是其中一项繁琐而重要的工作。

相关技术在进行服务器固件版本批量升级时,首先要从服务器厂商拿到各种机器型号的固件版本,然后对不同的机型进行升级操作并确认升级结果,这种方法对于少量服务器运维还能接受,但是对于超大规模数据中心来说已经捉襟见肘。

鉴于此,如何实现大规模服务器的固件版本的自动化升级,是本领域需要解决的技术问题。

发明内容

本申请提供了一种服务器固件版本升级方法、装置、系统及计算机可读存储介质,实现大规模服务器的固件版本的自动化升级。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种服务器固件版本升级方法,应用于用户端运维管理系统,包括:

接收待升级服务器对应服务器厂商的版本发布系统主动发送的版本升级通知信息;

基于所述版本升级通知信息获取待升级版本,并通过所述待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数,以基于所述待升级版本对服务器进行固件版本升级。

可选的,所述基于所述待升级版本对服务器进行固件版本升级包括:

所述基板管理控制器启动固件升级进程,所述固件升级进程定期监测从所述升级参数中读取新固件版本下载路径中是否存在待升级版本的镜像文件,若所述新固件版本下载路径中存在待升级版本的镜像文件,从所述运维管理系统中下载所述待升级版本的镜像文件,根据所述镜像文件执行固件版本升级操作。

可选的,所述待升级版本的镜像文件包括镜像头和原始镜像;所述镜像头包括镜像类型和镜像版本;

所述镜像类型用于升级时自动识别所述镜像文件所属目标设备,所述镜像版本用于升级时判断待升级目标与所述镜像文件的版本是否一致。

可选的,所述基于所述版本升级通知信息获取待升级版本包括:

所述版本升级通知信息为HTTP请求,解析所述HTTP请求得到所述待升级版本的产品型号、版本类型、版本号及版本下载路径;

根据所述待升级版本的产品型号、版本类型、版本号判断是否为所述待升级服务器所需升级版本;

若是,则基于所述下载路径中下载所述待升级版本的镜像文件。

可选的,所述待升级服务器为多个,所述通过所述待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数包括:

预先为各基板控制器配置管辖范围内的所有服务器的IP地址;

若各待升级服务器所属管辖的基板管理控制器相同,通过任意一个待升级服务器的升级接口自动为所述基板管理控制器配置升级参数,以使所述基板管理控制器对各待升级服务器的固件版本进行批量升级;

若各待升级服务器所属管辖的基板管理控制器不同,同时通过任意一个所管辖的待升级服务器的升级接口自动为对应基板管理控制器配置升级参数,以使各基板管理控制器对所管辖的待升级服务器的固件版本进行批量升级。

本发明实施例提供了一种服务器固件版本升级装置,应用于用户端运维管理系统,包括:

新版本通知模块,用于接收待升级服务器对应服务器厂商的版本发布系统主动发送的版本升级通知信息;

参数配置模块,用于基于所述版本升级通知信息获取待升级版本,并通过所述待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数,以基于所述待升级版本对服务器进行固件版本升级。

本发明实施例另一方面提供了一种服务器固件版本升级方法,应用于基板管理控制器,包括:

将所管辖的服务器的升级接口发送给运维管理系统,以使所述运维管理系统基于服务器厂商的版本发布系统发送的版本升级通知信息通过所述升级接口自动配置升级参数;

基于所述升级参数下载待升级版本,并为所管辖的待升级服务器进行固件版本升级操作。

本发明实施例还提供了一种服务器固件版本升级装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述服务器固件版本升级方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有服务器固件版本升级程序,所述服务器固件版本升级程序被处理器执行时实现如前任一项所述服务器固件版本升级方法的步骤。

本发明实施例最后还提供了一种服务器固件版本升级系统,包括版本发布系统、运维管理系统和多个服务器;所述运维管理系统安装在用户端,分别与所述版本发布系统与各服务器的基板管理控制器相连;

所述版本发布系统用于发布相应服务器的固件版本,并向所述运维管理系统发送新固件版本信息;

每个服务器预先定义升级接口,并通过相应基板管理控制器向所述运维管理系统提供所述升级接口;

所述运维管理系统包括如上所述服务器固件版本升级装置。

本申请提供的技术方案的优点在于,服务器厂商的版本发布系统在新版本发布时将新版本主动推送给运维管理系统,运维管理系统为其下管辖的所有服务器自动配置升级参数,这样每个服务器便可通过升级参数来检查是否有待升级版本并且进行相应的升级,实现大规模服务器的固件版本的自动化升级,提高大规模服务器的运维效率,降低固件更新操作难度和固件升级成本。

此外,本发明实施例还针对服务器固件版本升级方法提供了相应的实现装置、系统及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、系统及计算机可读存储介质具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

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

图1为本发明实施例提供的一种服务器固件版本升级方法的流程示意图;

图2为本发明实施例提供的另一种服务器固件版本升级方法的流程示意图;

图3为本发明实施例提供的务器固件版本升级过程的交互流程示意图;

图4为本发明实施例提供的服务器固件版本升级装置的一种具体实施方式结构图;

图5为本发明实施例提供的服务器固件版本升级装置的另一种具体实施方式结构图。

图6为本发明实施例提供的服务器固件版本升级系统的一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种服务器固件版本升级方法的流程示意图,应用于用户端运维管理系统,本发明实施例可包括以下内容:

S101:接收待升级服务器对应服务器厂商的版本发布系统主动发送的版本升级通知信息。

本实施例中的服务器厂商的版本发布系统可用于发布固件版本,并将新发布的固件版本通知给用户端的运维管理系统。其中,本实施例所涉及的可升级的固件包括但并不限于BMC、BIOS(Basic Input Output System,基板输入输出系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)、PSU(Power Supply Unit,供电单元)等。用户端的运维管理系统管理大量服务器,运维管理系统与服务器的BMC(BaseboardManagement Controller,基板管理控制器)进行数据通讯与数据传输;被管理服务器的BMC可预先设置一个升级监控管理系统。

其中,服务器厂商的版本发布系统可以是厂商的官方网站,版本发布系统将在新固件版本发布时发送消息给用户运维管理系统,该消息可以是两端预先约定好的HTTP请求,在该请求中,版本发布系统可携带待升级版本的产品型号、版本类型、版本号、版本下载路径等信息。用户端的运维管理系统可预先将启动一个升级服务监控进程,该服务进程用于接收来自版发布系统的版本发布消息,接收到版本发布消息后,将识别版本信息确认是否是需要的版本,并从提供的版本下载路径下载该镜像。作为一种可选的实施方式,版本升级通知信息可为HTTP请求,通过解析HTTP请求得到待升级版本的产品型号、版本类型、版本号及版本下载路径;根据待升级版本的产品型号、版本类型、版本号判断是否为待升级服务器所需升级版本;若待升级服务器所需升级版本,则基于下载路径中下载待升级版本的镜像文件。

S102:基于版本升级通知信息获取待升级版本,并通过待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数,以基于待升级版本对服务器进行固件版本升级。

运维管理系统所管辖的所有服务器的BMC会预先将升级接口提供给运维管理系统,运维管理系统通过该接口配置BMC所需的升级参数,如BMC采用何种协议、哪个IP、端口、下载路径,有了这些参数BMC将能够从相应的路径下载镜像。用户通过运维管理系统发送升级接口,将管辖范围内的所有服务器的IP配置给BMC;BMC启动一个固件升级进程,该进程用于根据上述所设置的下载路径,定期检测运维管理系统中是否有待升级镜像,如图2中的例子是通过TFTP的协议来检查、下载待升级镜像,如果发现有待升级镜像将从运维管理系统中下载待升级镜像并进行升级。

本实施例的待升级固件版本的镜像文件可预先定义文件格式,将待升级的原始镜像设计为镜像头+原始镜像的格式,也即待升级版本的镜像文件包括镜像头和原始镜像。镜像头包括镜像类型和镜像版本,镜像类型用于升级时自动识别镜像文件所属目标设备,镜像版本用于升级时判断待升级目标与镜像文件的版本是否一致。由于镜像类型用于升级时自动识别该镜像升级到哪个目标设备,镜像类型可以固件名称命名或者是固件名称加固件编号命名,镜像类型例如可为BMC、BIOS、CPLD、PSU等,当待升级版本的镜像文件的版本在所有同一类镜像文件版本中最高时,证明需要进行固件版本升级,则触发升级。

基板管理控制器启动固件升级进程,固件升级进程定期监测从升级参数中读取的新固件版本下载路径中是否存在待升级版本的镜像文件,若新固件版本下载路径中存在待升级版本的镜像文件,则BMC从运维管理系统中下载待升级版本的镜像文件。BMC下载待升级镜像后,就会先检查镜像头,识别出类型进而判断待升级的目标设备,进一步检查待升级设备中的镜像与待升级镜像的版本差异,如果待升级镜像版本高则启动升级程序,将原始镜像升级到目标设备。本实施例的运维管理系统管辖的所有服务器的BMC将通过上述方式检查是否有待升级镜像,并且进行相应的升级,就实现了批量智能运维升级的效果。

在本发明实施例提供的技术方案中,服务器厂商的版本发布系统在新版本发布时将新版本主动推送给运维管理系统,运维管理系统为其下管辖的所有服务器自动配置升级参数,这样每个服务器便可通过升级参数来检查是否有待升级版本并且进行相应的升级,实现大规模服务器的固件版本的自动化升级,提高大规模服务器的运维效率,降低固件更新操作难度和固件升级成本。

不可避免的需要在同一时刻升级的服务器有多个,多个待升级服务器可能是同一个基板管理控制器下的多个服务器,也可能是不同基板管理控制器的多个服务器同时需要固件版本升级,对于这种应用场景,本申请基于上述实施例还提供了另外一个实施例,可包括下述内容:

预先为各基板控制器配置管辖范围内的所有服务器的IP地址;

若各待升级服务器所属管辖的基板管理控制器相同,通过任意一个待升级服务器的升级接口自动为基板管理控制器配置升级参数,以使基板管理控制器对各待升级服务器的固件版本进行批量升级。

若各待升级服务器所属管辖的基板管理控制器不同,同时通过任意一个所管辖的待升级服务器的升级接口自动为对应基板管理控制器配置升级参数,以使各基板管理控制器对所管辖的待升级服务器的固件版本进行批量升级。

在本实施例中,若待升级服务器有3个SA、SB和SC,其中SA、SB归属基板管理控制器B1,而SC归属基板管理控制器B2。系统通过SA或SB的升级接口自动为B1配置升级参数和通过SC的升级接口自动为B2配置升级参数为同时执行的操作,B1基于自己的升级参数读取并下载待升级版本的镜像文件,并基于下载的镜像文件同时为SA和SB执行固件版本升级操作。B2基于自己的升级参数读取并下载待升级版本的镜像文件,并基于下载的镜像文件为SC执行固件版本升级操作。

本实施例通过设置多个进程同时处理,进一步提升了大规模服务器的运维效率。

由于整个服务器固件版本升级过程涉及到多个硬件端,包括服务器厂商的版本发布系统、用户端的运维管理系统和服务器的基板管理控制器,为了使所属领域技术人员更加清楚明白本申请的技术方案,请参见图2和3,本发明实施例还提供了服务器固件版本升级过程中各硬件端的交互流程示意图,本发明实施例例如可应用于服务器、存储、交换机等计算机系统涉及批量固件版本升级的场景中,可包括以下内容:

S301:服务器的基板管理控制器将所管辖的服务器的升级接口发送给运维管理系统。

S302:版本发布系统将发布的新固件版本携带在版本升级通知信息中发送给运维管理系统。

S303:运维管理系统接收待升级服务器对应服务器厂商的版本发布系统主动发送的版本升级通知信息。

S304:运维管理系统基于版本升级通知信息获取待升级版本,并通过待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数。

S305:基板管理控制器基于升级参数下载待升级版本,并为所管辖的待升级服务器进行固件版本升级操作。

本实施例与上述实施例相同或实质相同的步骤可参阅上述实施例的描述,此处,便不再赘述。

由上可知,本发明实施例可实现大规模服务器的固件版本的自动化升级。

需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1-图3只是一种示意方式,并不代表只能是这样的执行顺序。

本发明实施例还针对服务器固件版本升级方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的服务器固件版本升级装置进行介绍,下文描述的服务器固件版本升级装置与上文描述的服务器固件版本升级方法可相互对应参照。

基于功能模块的角度,对于应用于用户端运维管理系统的服务器固件版本升级装置,参见图4,图4为本发明实施例提供的服务器固件版本升级装置在一种具体实施方式下的结构图,该装置可包括:

新版本通知模块401,用于接收待升级服务器对应服务器厂商的版本发布系统主动发送的版本升级通知信息。

参数配置模块402,用于基于版本升级通知信息获取待升级版本,并通过待升级服务器的升级接口自动为相应待升级服务器的基板管理控制器配置升级参数,以基于待升级版本对服务器进行固件版本升级。

可选的,在本实施例的一些实施方式中,上述参数配置模块402可用于:

基板管理控制器启动固件升级进程,固件升级进程定期监测从升级参数中读取新固件版本下载路径中是否存在待升级版本的镜像文件,若新固件版本下载路径中存在待升级版本的镜像文件,从运维管理系统中下载待升级版本的镜像文件。

在本实施例的另一些实施方式中,上述参数配置模块402还可进一步用于:

版本升级通知信息为HTTP请求,解析HTTP请求得到待升级版本的产品型号、版本类型、版本号及版本下载路径;根据待升级版本的产品型号、版本类型、版本号判断是否为待升级服务器所需升级版本;若是,则基于下载路径中下载待升级版本的镜像文件。

可选的,在本实施例的另一些实施方式中,上述参数配置模块402例如还可进一步用于:待升级服务器为多个,预先为各基板控制器配置管辖范围内的所有服务器的IP地址;若各待升级服务器所属管辖的基板管理控制器相同,通过任意一个待升级服务器的升级接口自动为基板管理控制器配置升级参数,以使基板管理控制器对各待升级服务器的固件版本进行批量升级;若各待升级服务器所属管辖的基板管理控制器不同,同时通过任意一个所管辖的待升级服务器的升级接口自动为对应基板管理控制器配置升级参数,以使各基板管理控制器对所管辖的待升级服务器的固件版本进行批量升级。

基于功能模块的角度,对于应用于基板管理控制器的服务器固件版本升级装置,该装置可包括:

接口信息发送模块,用于将所管辖的服务器的升级接口发送给运维管理系统,以使运维管理系统基于服务器厂商的版本发布系统发送的版本升级通知信息通过升级接口自动配置升级参数;

升级模块,用于基于升级参数下载待升级版本,并为所管辖的待升级服务器进行固件版本升级操作。

本发明实施例所述服务器固件版本升级装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例可实现大规模服务器的固件版本的自动化升级。

上文中提到的服务器固件版本升级装置是从功能模块的角度描述,进一步的,本申请还提供一种服务器固件版本升级装置,是从硬件角度描述。图5为本申请实施例提供的另一种服务器固件版本升级装置的结构图,服务器固件版本升级装置可应用于运维管理系统和服务器的基板管理控制器。如图5所示,该装置包括存储器50,用于存储计算机程序;处理器51,用于执行计算机程序时实现如上述相应硬件端对应方法实施例提到的服务器固件版本升级方法的步骤。

其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的服务器固件版本升级方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于服务器固件版本升级结果对应的数据等。

在一些实施例中,服务器固件版本升级装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。

本领域技术人员可以理解,图5中示出的结构并不构成对服务器固件版本升级装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器57。

本发明实施例所述服务器固件版本升级装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例可实现大规模服务器的固件版本的自动化升级。

可以理解的是,如果上述实施例中的服务器固件版本升级方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种计算机可读存储介质,存储有服务器固件版本升级程序,所述服务器固件版本升级程序被处理器执行时如上任意一实施例所述服务器固件版本升级方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例可实现大规模服务器的固件版本的自动化升级。

本发明实施例还提供了一种服务器固件版本升级系统,请参见图6,可包括:

服务器固件版本升级系统可包括版本发布系统、运维管理系统和多个服务器;运维管理系统安装在用户端,分别与版本发布系统与各服务器的基板管理控制器相连。

其中,版本发布系统用于发布相应服务器的固件版本,并向运维管理系统发送新固件版本信息;每个服务器预先定义升级接口,并通过相应基板管理控制器向运维管理系统提供升级接口;运维管理系统包括如上运维管理系统端对应的服务器固件版本升级装置。

本发明实施例所述服务器固件版本升级系统的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例可实现大规模服务器的固件版本的自动化升级。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本申请所提供的一种服务器固件版本升级方法、装置、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 服务器固件版本升级方法、装置、系统及可读存储介质
  • 一种基于四路服务器的BIOS固件更新方法、系统及计算机可读存储介质
技术分类

06120113084468