CN115129345A - 一种固件升级方法、装置、设备及存储介质 - Google Patents

一种固件升级方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115129345A
CN115129345A CN202210764700.2A CN202210764700A CN115129345A CN 115129345 A CN115129345 A CN 115129345A CN 202210764700 A CN202210764700 A CN 202210764700A CN 115129345 A CN115129345 A CN 115129345A
Authority
CN
China
Prior art keywords
firmware
upgraded
upgrading
management controller
version
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.)
Pending
Application number
CN202210764700.2A
Other languages
English (en)
Inventor
陈占魁
韩威
薛广营
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210764700.2A priority Critical patent/CN115129345A/zh
Publication of CN115129345A publication Critical patent/CN115129345A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种固件升级方法、装置、设备及存储介质,涉及交换机领域,用于解决目前固件升级耗时长的缺点,包括:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。本申请通过筛选待升级固件,然后对所述待升级固件进行统一的升级操作,并在全部待升级固件升级完成后重启所述交换机,减少了固件升级的耗时。

Description

一种固件升级方法、装置、设备及存储介质
技术领域
本发明涉及交换机领域,特别涉及一种固件升级方法、装置、设备及存储介质。
背景技术
在交换机设备中,固件是最基础最底层工作的软件,决定着硬件设备的功能及性能。交换机生产过程中,固件版本检查和升级是非常重要的一个环节,既要保证可靠性,同时也要兼顾效率。但交换机设备使用的固件很多,按种类可以分为CPU(CentralProcessing Unit,中央处理器)、BIOS(Basic Input Output System,基本输入输出***)、BMC(Baseboard Management Controller,基板管理控制器)FW(Firmware,固件)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)FW等。每种又细分为很多个不同的FW,例如BIOS和BMC分为主用和备用两种,CPLD分为CPU板CPLD、CTRLCPLD(负责设备上下电时序、复位/解复位等控制功能)、PortCPLD(负责交换机光模块信号管理)、FCBCPLD(负责交换机风扇管理)等。如此种类繁多的固件,给设备产测(特别是大批量生产)带来了巨大的挑战。
传统的产测过程是虽然也是检查所有固件版本并进行升级,但实际操作大多都是逐个固件进行升级。由于固件升级之后生效及版本检查都要进行设备重启,每次重启一般需要5至10分钟的时间。每升级一个固件需要重启一次,这样总的用时非常长。
发明内容
有鉴于此,本发明的目的在于提供一种固件升级方法、装置、设备和存储介质,能够减少设备重启次数以及固件升级的耗时。其具体方案如下:
第一方面,本申请公开了一种固件升级方法,应用于交换机,包括:
检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;
分别对各所述待升级固件进行升级操作,以得到各升级后固件;
控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
可选的,所述检查全部固件的当前固件版本之前,还包括:
将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接。
可选的,所述检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件,包括:
获取所述交换机中所述全部固件的所述当前固件版本以及预存储的所述全部固件的最新固件版本;
将所述当前固件版本与所述最新固件版本进行比对;
当所述当前固件版本与所述最新固件版本不同时,判定所述当前固件版本为所述历史版本;
将所述当前固件版本为所述历史版本的固件确定为所述待升级固件。
可选的,所述分别对各所述待升级固件进行升级操作,以得到各升级后固件,包括:
若所述复杂可编程逻辑器件为所述待升级固件,则通过后台模式升级所述复杂可编程逻辑器件;
若第一基本输入输出***为所述待升级固件,则升级所述第一基本输入输出***;
若所述第一基板管理控制器为所述待升级固件,则升级所述第一基板管理控制器。
可选的,所述控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息,包括:
所述基板管理控制器通过预设程序控制所述中央处理器由正常状态切换为关闭状态;
所述基板管理控制器通过所述预设程序控制所述中央处理器由所述关闭状态切换为电源切断状态;
当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或第二复杂可编程逻辑器件是否完成升级;
若完成升级则执行对应的预设下载配置操作,以得到目标配置信息;
所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态;
通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息。
可选的,所述通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息之后,还包括:
判断所述待升级固件是否升级成功;
若升级失败则重新进入所述检查所述全部固件的当前固件版本,并记录所述当前固件版本为历史版本的固件,以得到待升级固件的步骤;
当升级失败的次数达到预设次数时,告警并结束。
可选的,所述判断所述待升级固件是否升级成功之后,还包括:
若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动;所述目标固件为与所述第一基本输入输出***和/或所述第一基板管理控制器对应的第二基本输入输出***和/或第二基板管理控制器;
对所述第二基本输入输出***和/或所述第二基板管理控制器升级;
控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机;
判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功;
若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束。
第二方面,本申请公开了一种固件升级装置,应用于交换机,包括:
待升级固件确定模块,用于检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;
固件升级模块,用于分别对各所述待升级固件进行升级操作,以得到各升级后固件;
重启模块,用于控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的固件升级方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的固件升级方法。
可见,本申请提供了一种固件升级方法,包括:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。由此可见,本申请通过从全部固件中筛选出待升级固件,然后对所述待升级固件进行统一的升级操作,并在全部待升级固件升级完成后重启所述交换机来更新升级后固件对应的固件信息,减少了设备重启次数以及固件升级的耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种固件升级方法流程图;
图2为本申请公开的一种具体的固件升级方法流程图;
图3为本申请公开的一种固件升级整体框图;
图4为本申请公开的一种固件升级方法示意图;
图5为本申请公开的一种具体的固件升级方法流程图;
图6为本申请公开的一种具体的固件升级方法流程图;
图7为本申请提供的固件升级装置结构示意图;
图8为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,传统的产测过程是虽然也是检查所有固件版本并进行升级,但实际操作大多都是逐个固件进行升级。由于固件升级之后生效及版本检查都要进行设备重启,每次重启一般需要5至10分钟的时间。每升级一个固件需要重启一次,这样总的用时非常长。为此,本申请提供了一种固件升级方法,能够减少固件升级的耗时。
本发明实施例公开了一种固件升级方法,参见图1所示,应用于交换机,该方法包括:
步骤S11:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件。
本实施例中,检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件。可以理解的是,初始上电时,CPU或BMC升级FW控制模块会检查所有固件的固件版本是否是最新的版本。若所有固件的固件版本都是最新的版本则表明该交换机设备中的固件无需进行升级操作,若存在一写固件的固件版本不是最新的版本(即为历史版本)则表明该固件需要进行升级操作,因此将上述固件确定为待升级固件。
步骤S12:分别对各所述待升级固件进行升级操作,以得到各升级后固件。
本实施例中,得到各待升级固件之后,分别对各所述待升级固件进行升级操作,以得到各升级后固件。具体的,根据不同的待升级固件选择对应的升级操作,例如若CPLD版本需要升级,则可以通过Back ground模式(即后台模式)逐个升级需升级的CPLD。可以理解的是,再Back ground模式下,加载on-chip Flash(Flash EEPROM Memory,一种存储芯片)时,允许CPLD器件仍然维持在用户操作模式下(即CPLD可以正常工作)。
步骤S13:控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
本实施例中,分别对各所述待升级固件进行升级操作,得到各升级后固件之后,控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。可以理解的是,由于固件升级之后生效及版本检查都要进行设备重启,因此在升级完所有待升级固件之后,先控制CPU掉电,然后通过基板管理控制器重启所述交换机设备更新所述升级后固件对应的固件信息。本申请根据每个固件升级过程的操作流程,将所有固件升级有机的结合起来,在不增加成本的情况下,减少设备重启次数,从而解决产测过程中固件检查用时长的问题,并减少固件升级的总用时,同时简化操作流程,节约了人力成本,带来了经济效益。
需要指出的是,本方案除了应用于交换机领域外,针对其他使用多类型器件的使用环境同样适用,例如服务器、防火墙、路由器等。
可见,本申请提供了一种固件升级方法,包括:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。由此可见,本申请通过从全部固件中筛选出待升级固件,然后对所述待升级固件进行统一的升级操作,并在全部待升级固件升级完成后重启所述交换机来更新升级后固件对应的固件信息,减少了设备重启次数以及固件升级的耗时。
参见图2所示,本发明实施例公开了一种固件升级方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接。
本实施例中,在检查全部固件的当前固件版本之前,先将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接。可以理解的是,本方案提供了一种支持多控制器切换的AVS(Audio Video coding Standard,信源编码标准)调压方式,包括CPU升级FW控制模块、BMC升级FW控制模块、CTRLCPLD中的升级FW控制模块、BIOS升级/加载通道切换模块及控制电路、BMCFW升级/加载通道切换模块及控制电路、CPLD升级通道切换模块及控制电路。如图3所示,所述CPU升级FW控制模块,与BIOS升级/加载通道切换模块及控制电路、BMC FW升级/加载通道切换模块及控制电路、CPLD升级通道切换模块及控制电路连接,通过写CTRLCPLD寄存器控制各切换模块及控制电路,实现CPU对固件版本的升级。所述BMC升级FW控制模块,与BIOS升级/加载通道切换模块及控制电路、BMCFW升级/加载通道切换模块及控制电路、CPLD升级通道切换模块及控制电路连接,通过写CTRLCPLD寄存器控制各切换模块及控制电路,实现BMC对固件版本的升级。所述CTRL CPLD中的升级FW控制模块,与CPU、BMC、BIOS升级/加载通道切换模块及控制电路、BMC FW升级/加载通道切换模块及控制电路、CPLD升级通道切换模块及控制电路连接,CPU和BMC可以通过写寄存器进行相关管理。所述BIOS升级/加载通道切换模块及控制电路,与CPU、BMC、CTRLCPLD、主/备BIOS Flash连接。所述BMC升级/加载通道切换模块及控制电路,与CPU、BMC、CTRLCPLD、主/备BMCFW Flash连接。所述CPLD升级通道切换模块及控制电路,与CPU、BMC、CTRL CPLD中的升级FW控制模块、各CPLD升级通道连接。
例如,如图4所示,BMC芯片为ASPEED公司的AST2520A2-GP,通过I2C(Inter-Integrated Circuit,I2C总线)连接到各CPLD,对寄存器进行读写访问。通过GPIO(General-purpose input/output,通用型之输入输出)模拟JTAG(Joint Test ActionGroup,联合测试工作组)经过MUX(multiplexer,多路复用器)连接到各CPLD。通过SPI(Serial Peripheral Interface,串行外设接口)经过MUX连接到BIOS主/备Flash和BMCFW主/备Flash。CPU芯片是Intel公司的CPU芯片Ice Lake D-1734NT。通过I2C连接到各CPLD,对寄存器进行读写访问。通过GPIO模拟JTAG经过MUX连接到各CPLD。通过SPI经过MUX连接到BIOS主/备Flash和BMCFW主/备Flash。
CTRLCPLD为LATTICE公司的LCMXO3LF-4300C-6BG324I,CPU和BMC可以通道I2C通道进行寄存器读写访问,升级通道为JTAG。通过GPIO连接到各MUX,对升级/加载通道实现控制。
CPU板/Port(端口)/FCB(Fan Contronl Board,风扇控制板)CPLD为LATTICE公司的LCMXO3LF-2100C-5BG256C,CPU和BMC可以通道I2C通道进行寄存器读写访问,升级通道为JTAG。
步骤S22:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件。
本实施例中,检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件。具体的,获取所述交换机中所述全部固件的所述当前固件版本以及预存储的所述全部固件的最新固件版本,然后将所述当前固件版本与所述最新固件版本进行比对。当所述当前固件版本与所述最新固件版本不同时,判定所述当前固件版本为所述历史版本,再将所述当前固件版本为所述历史版本的固件确定为所述待升级固件。
步骤S23:分别对各所述待升级固件进行升级操作,以得到各升级后固件。
本实施例中,分别对各所述待升级固件进行升级操作,以得到各升级后固件。可以理解的是,如图5所示,得到各待升级固件之后,若所述待升级固件中存在所述复杂可编程逻辑器件,即若所述复杂可编程逻辑器件为所述待升级固件,则通过back ground模式逐个升级所述复杂可编程逻辑器件。若所述待升级固件中存在第一基本输入输出***(例如主BIOS),即若所述第一基本输入输出***为所述待升级固件,则升级所述第一基本输入输出***。若所述待升级固件中存在第一基板管理控制器(例如主BMC),即若第一基板管理控制器为所述待升级固件,则升级所述第一基板管理控制器。若所述待升级固件中存在复杂可编程逻辑器件、第一基本输入输出***、第一基板管理控制器,则按照先复杂可编程逻辑器件,中间第一基本输入输出***,最后第一基板管理控制器的顺序逐个进行升级操作。需要指出的是,上述升级顺序可以改变,上述顺序为最优顺序。
步骤S24:控制中央处理器掉电。
本实施例中,待升级固件升级完成之后,控制中央处理器掉电。具体的,所述基板管理控制器通过预设程序(例如CTRL CPLD)控制所述中央处理器由正常状态(S0)切换为关闭状态(S5),无论切换是否成功都进入下一步操作,即基板管理控制器通过所述预设程序控制所述中央处理器由所述关闭状态(S5)切换为电源切断状态(G3),完成中央处理器掉电的过程。
步骤S25:当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或所述第二复杂可编程逻辑器件是否完成升级。
本实施例中,当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或第二复杂可编程逻辑器件是否完成升级。若所述待升级固件中存在所述复杂可编程逻辑器件,则判定FCB/PORT CPLD是否进行了升级,若FCB/PORT CPLD未进行升级,则判断CTRL CPLD是否进行了升级,若CTRL CPLD未进行升级,则直接进入控制中央处理器上电的步骤。
步骤S26:若完成升级则执行对应的预设下载配置操作,以得到目标配置信息。
本实施例中,若完成升级则执行对应的预设下载配置操作,以得到目标配置信息。若FCB/PORT CPLD完成升级,则ReFresh FCB/PORT CPLD,即下载FW到SRAM(Static Random-Access Memory,静态随机存取存储器),重新配置CPLD使升级后的FW生效。若CTRL CPLD完成升级,则ReFresh CTRL CPLD。
步骤S27:所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态。
本实施例中,所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态。具体的,羁绊管理控制器通过CTRL CPLD控制CPU由G3状态切换为S5状态。
步骤S28:通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息。
本实施例中,中央处理器由所述电源切断状态切换为所述正常状态之后,通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息。具体的,BMC执行自身Reboot(重启),启动完成后按照正常情况触发CPU power button(电源按钮),使交换机设备重启。
可见,本申请实施例将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接;检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电;当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或所述第二复杂可编程逻辑器件是否完成升级;若完成升级则执行对应的预设下载配置操作,以得到目标配置信息;所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态;通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息,减少了设备重启次数以及固件升级的耗时。
参见图6所示,本发明实施例公开了一种固件升级方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S31:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件。
步骤S32:分别对各所述待升级固件进行升级操作,以得到各升级后固件。
步骤S33:控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
步骤S34:判断所述待升级固件是否升级成功。
本实施例中,通过基板管理控制器重启所述交换机,更新所述升级后固件对应的固件信息之后,判断所述待升级固件是否升级成功。若升级失败则重新进入所述检查所述全部固件的当前固件版本,并记录所述当前固件版本为历史版本的固件,以得到待升级固件的步骤。当升级失败的次数达到预设次数时,告警并结束。可以理解的是,升级失败的次数达到自定义预设次数时告警并结束。例如当预设次数为2时,表明第一次升级失败时重新进入第一步操作,当第二次升级失败时告警并结束。
具体的,如图5中以BMC升级FW为例的工作流程图所示,BMC读取检查固件版本,记录待升级固件,若所述待升级固件中包含CPLD,则表明CPLD版本需要升级,则通过Background模式逐个升级需升级的CPLD。若所述待升级固件中包含主BIOS,则执行升级指令,若所述待升级固件中不包含主BIOS则跳过。若所述待升级固件中包含主BMC,若所述待升级固件中不包含主BMC则跳过。固件升级完成后,BMC通过CTRL CPLD控制CPU由S0切换到S5(该步骤无论执行成功还是失败继续执行下一步骤),BMC通过CTRL CPLD控制CPU由S5切换到G3。判定FCB/Port CPLD是否进行了升级,如果进行了升级则Refresh FCB/Port CPLD,否则跳过该步骤。判定CTRL CPLD是否进行了升级,如果进行了升级则Refresh CTRL CPLD,否则跳过该步骤。BMC通过CRTL CPLD控制CPU由G3切换至S5。BMC执行自身Reboot,启动完成后按照正常情况触发CPU power button开机。读取固件版本信息,判定CPLD/主BIOS/主BMC是否升级成功,如果第一次失败则跳转到第一步重新开始。如果第二次失败则触发告警,结束流程。如果升级成功则继续执行。设定下次从备BIOS/备BMC Flash启动。BMC通过CRTL CPLD控制CPU由S5切换至G3,BMC执行自身Reboot。设定下次从备BIOS/备BMC Flash启动,执行PSUPower Cycle,设备重启。判定备BIOS/备BMC是否升级成功,如果第一次失败则跳转所述设定下次从备BIOS/备BMC Flash启动的步骤。如果第二次失败则触发告警,结束流程,如果升级成功则继续执行。执行PSU Power Cycle,设备从主BIOS/主BMC Flash重启并结束。
步骤S35:若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动。
本实施例中,若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动。其中,所述目标固件为与所述第一基本输入输出***和/或所述第一基板管理控制器对应的第二基本输入输出***和/或第二基板管理控制器。可以理解的是,若所述待升级固件中存在第一基本输入输出***(即主BIOS),则升级成功后,通过预设启动程序(例如CTRL CPLD)并从第二基本输入输出***(即备BIOS)的存储芯片中启动。若所述待升级固件中存在第一基板管理控制器(即主BMC),则升级成功后,通过预设启动程序(例如CTRL CPLD)并从第二基板管理控制器(即备BMC)的存储芯片中启动。若所述待升级固件中不存在第一基本输入输出***以及第一基板管理控制器,则在所述待升级固件升级完成后结束。
步骤S36:对所述第二基本输入输出***和/或所述第二基板管理控制器升级。
本实施例中,通过预设启动程序并从目标固件的存储芯片中启动之后,对所述第二基本输入输出***和/或所述第二基板管理控制器升级。即根据实际情况选择是否对所述第二基本输入输出***和/或所述第二基板管理控制器升级。
步骤S37:控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机。
本实施例中,控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机。具体的,BMC通过CTRL CPLD控制CPU从S5切换至G3完成掉电过程,然后BMC执行自身reboot。并在该步骤完成后设定下次从备BIOS/备BMC Flash启动,执行PSU Power Cycle,设备重启。
步骤S38:判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功。
本实施例中,判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功。若升级失败,则重新进入所述通过预设启动程序并从目标固件的存储芯片中启动的步骤。需要指出的是,若升级失败的次数达到预设次数则告警并结束,例如在第一次失败时重新进入所述通过预设启动程序并从目标固件的存储芯片中启动的步骤,在第二次失败时告警并结束。
步骤S39:若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束。
本实施例中,若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束。即若升级成功则执行PSU Power Cycle,设备从主BIOS/主BMC Flash重启并结束。
关于上述步骤S31至S33的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例通过检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息;判断所述待升级固件是否升级成功;若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动;对所述第二基本输入输出***和/或所述第二基板管理控制器升级;控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机;判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功;若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束,减少了设备重启次数以及固件升级的耗时。
参见图7所示,本申请实施例还相应公开了一种固件升级装置,应用于交换机,包括:
待升级固件确定模块11,用于检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;
固件升级模块12,用于分别对各所述待升级固件进行升级操作,以得到各升级后固件;
重启模块13,用于控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
可见,本申请提供了一种固件升级方法,包括:检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;分别对各所述待升级固件进行升级操作,以得到各升级后固件;控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。由此可见,本申请通过从全部固件中筛选出待升级固件,然后对所述待升级固件进行统一的升级操作,并在全部待升级固件升级完成后重启所述交换机来更新升级后固件对应的固件信息,减少了设备重启次数以及固件升级的耗时。
在一些具体实施例中,所述待升级固件确定模块11,具体包括:
连接单元,用于将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接;
版本获取单元,用于获取所述交换机中所述全部固件的所述当前固件版本以及预存储的所述全部固件的最新固件版本;
版本比对单元,用于将所述当前固件版本与所述最新固件版本进行比对;
版本判定单元,用于当所述当前固件版本与所述最新固件版本不同时,判定所述当前固件版本为所述历史版本;
待升级固件确定单元,用于将所述当前固件版本为所述历史版本的固件确定为所述待升级固件。
在一些具体实施例中,所述固件升级模块12,具体包括:
复杂可编程逻辑器件升级单元,用于若所述复杂可编程逻辑器件为所述待升级固件,则通过后台模式升级所述复杂可编程逻辑器件;
第一基本输入输出***升级单元,用于若所述第一基本输入输出***为所述待升级固件,则升级所述第一基本输入输出***;
第一基板管理控制器升级单元,用于若所述第一基板管理控制器为所述待升级固件,则升级所述第一基板管理控制器。
在一些具体实施例中,所述重启模块13,具体包括:
中央处理器第一状态切换单元,用于所述基板管理控制器通过预设程序控制所述中央处理器由正常状态切换为关闭状态;
中央处理器第二状态切换单元,用于所述基板管理控制器通过所述预设程序控制所述中央处理器由所述关闭状态切换为电源切断状态;
第一升级判断单元,用于当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或所述第二复杂可编程逻辑器件是否完成升级;
目标配置信息获取单元,用于若完成升级则执行对应的预设下载配置操作,以得到目标配置信息;
中央处理器第三状态切换单元单元,用于所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态;
第一重启单元,用于通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息;
待升级固件升级判断单元,用于判断所述待升级固件是否升级成功;
升级失败单元,用于若升级失败则重新进入所述检查所述全部固件的当前固件版本,并记录所述当前固件版本为历史版本的固件,以得到待升级固件的步骤;
告警单元,用于当升级失败的次数达到预设次数时,告警并结束;
启动单元,用于若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动;所述目标固件为与所述第一基本输入输出***和/或所述第一基板管理控制器对应的第二基本输入输出***和/或第二基板管理控制器;
升级单元,用于对所述第二基本输入输出***和/或所述第二基板管理控制器升级;
第二重启单元,用于控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机;
第二升级判断单元,用于判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功;
升级结束单元,用于若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束。
进一步的,本申请实施例还提供了一种电子设备。图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的固件升级方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的固件升级方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的固件升级方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种固件升级方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种固件升级方法,其特征在于,应用于交换机,包括:
检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;
分别对各所述待升级固件进行升级操作,以得到各升级后固件;
控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
2.根据权利要求1所述的固件升级方法,其特征在于,所述检查全部固件的当前固件版本之前,还包括:
将所述交换机中的固件控制模块集合与固件通道切换模块及控制电路集合按照预设连接规则连接。
3.根据权利要求1所述的固件升级方法,其特征在于,所述检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件,包括:
获取所述交换机中所述全部固件的所述当前固件版本以及预存储的所述全部固件的最新固件版本;
将所述当前固件版本与所述最新固件版本进行比对;
当所述当前固件版本与所述最新固件版本不同时,判定所述当前固件版本为所述历史版本;
将所述当前固件版本为所述历史版本的固件确定为所述待升级固件。
4.根据权利要求1所述的固件升级方法,其特征在于,所述分别对各所述待升级固件进行升级操作,以得到各升级后固件,包括:
若所述复杂可编程逻辑器件为所述待升级固件,则通过后台模式升级所述复杂可编程逻辑器件;
若所述第一基本输入输出***为所述待升级固件,则升级所述第一基本输入输出***;
若第一基板管理控制器为所述待升级固件,则升级所述第一基板管理控制器。
5.根据权利要求4所述的固件升级方法,其特征在于,所述控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息,包括:
所述基板管理控制器通过预设程序控制所述中央处理器由正常状态切换为关闭状态;
所述基板管理控制器通过所述预设程序控制所述中央处理器由所述关闭状态切换为电源切断状态;
当所述待升级固件为所述复杂可编程逻辑器件时,通过所述基板管理控制器判断第一复杂可编程逻辑器件和/或第二复杂可编程逻辑器件是否完成升级;
若完成升级则执行对应的预设下载配置操作,以得到目标配置信息;
所述基板管理控制器通过所述预设程序控制所述中央处理器由所述电源切断状态切换为所述正常状态;
通过所述基板管理控制器执行自身重启操作,重启完成后触发所述中央处理器的电源按钮,以便重启所述交换机并利用所述目标配置信息更新所述升级后固件对应的固件信息。
6.根据权利要求1至5任一项所述的固件升级方法,其特征在于,所述通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息之后,还包括:
判断所述待升级固件是否升级成功;
若升级失败则重新进入所述检查所述全部固件的当前固件版本,并记录所述当前固件版本为历史版本的固件,以得到待升级固件的步骤;
当升级失败的次数达到预设次数时,告警并结束。
7.根据权利要求6所述的固件升级方法,其特征在于,所述判断所述待升级固件是否升级成功之后,还包括:
若升级成功且所述第一基本输入输出***和/或所述第一基板管理控制器为所述待升级固件,则通过预设启动程序并从目标固件的存储芯片中启动;所述目标固件为与所述第一基本输入输出***和/或所述第一基板管理控制器对应的第二基本输入输出***和/或第二基板管理控制器;
对所述第二基本输入输出***和/或所述第二基板管理控制器升级;
控制所述中央处理器掉电,并通过所述基板管理控制器重启所述交换机;
判断所述第二基本输入输出***和/或所述第二基板管理控制器是否升级成功;
若升级成功则执行一次完整的掉电过程并在重启所述交换机后结束。
8.一种固件升级装置,其特征在于,应用于交换机,包括:
待升级固件确定模块,用于检查全部固件的当前固件版本,并从所述全部固件中筛选出所述当前固件版本为历史版本的固件,以得到各待升级固件;
固件升级模块,用于分别对各所述待升级固件进行升级操作,以得到各升级后固件;
重启模块,用于控制中央处理器掉电,并通过基板管理控制器重启所述交换机,以便更新所述升级后固件对应的固件信息。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的固件升级方法。
CN202210764700.2A 2022-07-01 2022-07-01 一种固件升级方法、装置、设备及存储介质 Pending CN115129345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210764700.2A CN115129345A (zh) 2022-07-01 2022-07-01 一种固件升级方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210764700.2A CN115129345A (zh) 2022-07-01 2022-07-01 一种固件升级方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115129345A true CN115129345A (zh) 2022-09-30

Family

ID=83382701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210764700.2A Pending CN115129345A (zh) 2022-07-01 2022-07-01 一种固件升级方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115129345A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028094A (zh) * 2023-02-10 2023-04-28 苏州浪潮智能科技有限公司 一种bmc的升级方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028094A (zh) * 2023-02-10 2023-04-28 苏州浪潮智能科技有限公司 一种bmc的升级方法和装置

Similar Documents

Publication Publication Date Title
US6438688B1 (en) Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file
US9298470B2 (en) Method and apparatus for selecting bios program for a processor
US7613937B2 (en) Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer
US10191811B2 (en) Dual boot computer system
CN110908847A (zh) 一种异常恢复方法、***、电子设备及存储介质
CN113254286B (zh) 一种服务器的日志输出方法、***及相关装置
US10540232B2 (en) Recovery using programmable logic device
JP2019204488A (ja) リモートユーティリティによるファームウェアの更新
CN109582372A (zh) 一种***的启动方法及装置
CN114090107A (zh) 计算机和***启动方法
CN113220332A (zh) Bios固件刷新测试方法、装置、电子设备及存储介质
CN115129345A (zh) 一种固件升级方法、装置、设备及存储介质
CN110764799A (zh) 一种优化远程更新fpga加速卡的方法、设备及介质
CN111885420B (zh) 待机保护方法、装置、智能电视和可读存储介质
CN117130672A (zh) 服务器启动流程控制方法、***、终端及存储介质
RU2600101C1 (ru) Управляющий модуль узла и способ обновления встроенного программного обеспечения для этого управляющего модуля
CN113821265B (zh) 操作***控制方法、装置、计算机主板和可读存储介质
CN115951949A (zh) 一种bios的配置参数的恢复方法、装置及计算设备
CN113467797B (zh) 程序更新方法、装置和***以及计算机可读存储介质
CN109344005B (zh) 一种基本输入输出***bios冗余备份方法和装置
CN111488250A (zh) 高密度多节点服务器测试方法、***、终端及存储介质
CN117234544B (zh) 服务器设备进行***恢复的方法和装置
US20240069923A1 (en) Standardized and robust framework to enhance bootloader configuration management
CN113867753A (zh) 一种服务器的固件更新方法及***
CN114879995A (zh) 固件更新的方法和装置

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