CN116483416A - 固件在线升级方法、服务器及存储介质 - Google Patents
固件在线升级方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN116483416A CN116483416A CN202310412946.8A CN202310412946A CN116483416A CN 116483416 A CN116483416 A CN 116483416A CN 202310412946 A CN202310412946 A CN 202310412946A CN 116483416 A CN116483416 A CN 116483416A
- Authority
- CN
- China
- Prior art keywords
- firmware
- request
- package
- server
- identification information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机固件升级领域,尤其涉及固件在线升级方法、服务器及存储介质。通过部署一固件存放平台,厂商将新版本固件统一发布到固件存放平台,无需单独发送给各个用户,极大提高固件升级效率;降低了固件升级的难度,同时可更好地保证所有用户在固件更新的第一时间进行升级,降低网络攻击的风险。
Description
技术领域
本申请涉及计算机固件升级领域,尤其是涉及固件在线升级方法、服务器及存储介质。
背景技术
早期固件(Firmware)芯片一般采用了ROM设计,它的Firmware代码是在生产过程中固化的,用任何手段都无法修改。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了服务器使用者(下文简称用户)的迫切要求,所以,可重复写入的EPROM(ErasableProgrammable Read-Only Memory,可编程可擦除只读存储器),EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦编程只读存储器)和闪存Flash出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。
当服务器固件出现相关问题/BUG时,目前主要是通过用户将相关问题反馈给服务器厂商,厂商技术人员通过修改固件代码,以对BUG进行修复,从而生成新版本固件;并通过第三方应用(例如邮箱、微信等)将新版本固件发送给用户,用户下载保存该新版本固件,然后进入服务器BMC(Baseboard Management Controller,基板管理控制器)***进行自行安装,这种升级方式通常适用于专业能力和动手能力较强的用户。对于那些普通用户而言,完成该固件自行升级过程是有一定难度的,甚至由于专业度不够,普通用户是很难发现存在的BUG的,因此也就更难及时、快速地完成对服务器固件的升级。
另外,对于服务器厂商而言,无论是一对一,还是一对多地将新版本固件发送给用户,当用户量较大时,都是一个耗费费力的工作。
发明内容
为了更方便地完成对服务器固件的升级,降低固件升级的难度,本申请提供了一种固件在线升级方法、服务器及存储介质。
第一方面,本申请提供的固件在线升级方法,采用如下的技术方案:
一种固件在线升级方法,应用于服务器的BMC***,包括:
在接收到查询指令时,基于所述查询指令生成第一请求;
利用远程通信连接将所述第一请求发送给固件存放平台;
接收所述固件存放平台基于所述第一请求发送的固件更新清单;所述固件更新清单包括更新版本的各固件包的标识信息;
在接收到对相关固件包的选取指令时,基于所述选取指令生成第二请求;
利用所述远程通信连接将所述第二请求发送给所述固件存放平台;所述第二请求携带有指示升级的所述相关固件包的标识信息;
接收所述固件存放平台基于所述第二请求发送的目标固件包;所述目标固件包包括与所述相关固件包的标识信息匹配的固件包;
利用所述目标固件包完成对所述服务器的固件升级。
通过采用上述技术方案,通过部署一固件存放平台,厂商将新版本固件统一发布到固件存放平台,无需单独发送给各个用户,极大提高固件升级效率;基于服务器的BMC***具有独立IP的属性,可利用BMC***的远程通信模块建立与固件存放平台之间的通信连接,用户可首先通过一键下发查询指令,即可从固件存放平台获取到固件更新清单,从而了解到固件更新情况;进而可根据固件更新需求,下发对需要更新的相关固件包的选取指令,以指示BMC***从固件存放平台获取对应的目标服固件包,最后BMC***即可根据获取到的目标固件包完成固件自动升级。对于用户而言,操作便捷,只需要一键下发查询指令和根据实际更新需求从固件更新清单中选取需要升级的相关固件包的选取指令服务器BMC***即可实现对固件的在线升级,降低了固件升级的难度。
可选的,所述接收到查询指令包括:
当设定查询周期到达时,判定接收到所述查询指令。
可选的,所述标识信息包括固件包名称和/或固件版本号;所述固件更新清单还包括发布时间以及更新内容概要。
可选的,在所述接收所述固件存放平台基于所述第一请求发送的固件更新清单之后,在所述根据所述选取指令生成第二请求之前,所述固件在线升级方法还包括:
控制所述固件更新清单在所述BMC***的WEB UI界面进行展示;监测外部对所述相关固件包的选取指令。
可选的,所述利用所述目标固件包完成对所述服务器的固件升级包括:
对所述目标固件包进行解压,得到配置文件和二进制烧录文件;所述配置文件包括所述二进制烧录文件中所包含的固件类型以及各所述固件类型对应的烧录顺序;
对解压得到的文件进行合法性校验;
校验通过后,根据所述烧录顺序将各所述固件类型对应的二进制烧录文件写入对应的FLASH中。
可选的,所述将各所述固件类型对应的二进制烧录文件写入对应的FLASH中包括:将各所述固件类型的原始二进制烧录文件备份到BMC***的存储器中;在备份完成后,将所述固件类型对应的二进制烧录文件写入到该固件类型对应的FLASH中,然后将所述原始二进制烧录文件擦除。
可选的,所述固件在线升级方法还包括:
在监测获取到问题反馈指令时,基于所述问题反馈指令生成第三请求;所述第三请求携带有所述服务器的身份标识信息和对固件问题的描述信息;
利用远程通信连接将所述第三请求发送给厂商服务端。
第二方面,本申请提供的固件在线升级方法,采用如下的技术方案:
一种固件在线升级方法,应用于固件存放***,包括:
基于远程通信连接接收待升级服务器的BMC***发送的第一请求;
根据所述第一请求将固件更新清单发送给所述BMC***;
基于所述远程通信连接接收所述BMC***发送的第二请求;
解析所述第二请求,以获取得到所述第二请求携带的相关固件包的标识信息;
获取本地存储的所有固件包的标识信息,将所述相关固件包的标识信息与所述所有固件包的标识信息一一进行比较,判断两者是否匹配;
筛选出与所述相关固件包的标识信息匹配的固件包,作为目标固件包;
将所述目标固件包发送给所述BMC***,以用于实现对所述服务器的固件升级。
第三方面,本申请提供的服务器,采用如下的技术方案:
一种服务器,包括BMC***,所述BMC***包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的固件代码,所述处理器执行所述固件代码时实现如上任意一项所述的固件在线升级方法。
第四方面,本申请提供的计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质存储有固件代码;所述固件代码被处理器执行时实现如上任意一项所述的固件在线升级方法。
综上所述,本申请包括以下至少有益技术效果:
降低了固件升级的难度,对于普通用户可更方便地完成对服务器固件的升级;同时也降低了服务器厂商的工作量,可更好地保证所有用户在固件更新的第一时间进行升级,降低网络攻击的风险。
附图说明
图1是本申请实施例中一种固件在线升级方法的流程框图;
图2是本申请实施例中关于固件包选取界面示意图;
图3是本申请实施例中另一种固件在线升级方法的流程框图;
图4是本申请实施例中又一种固件在线升级方法的流程框图;
图5是本申请实施例中服务器的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种固件在线升级方法。
参考图1,一种固件在线升级方法,该固件升级方法应用于主要由服务器的BMC***与固件存放平台构成的***。本实施例中,BMC***所在的服务器指的是用户使用的服务器;固件存放平台可以部署在任意计算节点上,计算节点可以是一台计算机或者一台服务器,只要该计算节点能够被访问以及实现数据存储和下载即可。服务器厂商可通过部署的固件存放平台实现对所辖服务器的固件升级管理,无需厂商技术人员或者服务人员单独一一为各个服务器使用者提供固件升级服务,降低维护成本。对于用户而言,可基于服务器BMC***与固件存放平台之间的通信连接,只需简单的操作,即可实现对服务器固件的升级,方便快捷。
该固件升级方法主要包括以下步骤:
S101、BMC***监测外部的查询指令。
服务器上电之后,BMC***可自动启动,基于固件功能可实现对相关芯片/模块的状态监控管理,包括但不限于记录服务器信息、BMC***信息,对服务器各个部件(例如CPU、内存、硬盘、风扇、机框等)的温度、电压等健康状态进行检测、控制、告警等。
用户可通过BMC***提供的WEB人机接口,利用浏览器访问BMC***的IP(InternetProtocol Address,互联网协议地址),身份验证(例如账号+登录密码)通过后,即可下发查询指令,以随时了解当前厂商对服务器固件的更新情况,便于及时对需要更新的固件进行更新。
在本申请的可选实施例中,可对BMC***预设查询周期,例如每天定时进行查询。当设定查询周期到达时,判定接收到查询指令,触发生成第一请求,实现无接触式更新。
S102、基于查询指令生成第一请求。
用户可在BMC的WEB UI界面一键点击“查询”按钮,以查询是否存在更新,操作便捷。此时,BMC***即可监测到接收到查询指令,进而触发BMC***立即生成相应的请求(即第一请求),以用于获取固件更新清单。应当理解的是,基于用户操作生成请求的方式,可采用现有任意方式,本实施例对此不做限制。
S103、利用远程通信连接将第一请求发送给固件存放平台。
本申请实施例中,BMC******设备包括但不限于以太网模块或者远程通信模块,例如采用4G(***移动电话行动通信标准)、5G(第五代移动电话行动通信标准)、6G(第六代移动电话行动通信标准)等移动通信模块。BMC***可建立与固件存放平台之间的远程通信连接,从而将第一请求发送给固件存放平台。
S104、固件存放平台接收第一请求,基于第一请求获取固件更新清单。
需要说明的是,固件更新清单可用于表示厂商对服务器的固件更新情况。本申请实施例中,固件更新清单包括更新版本的各固件包的标识信息。参考如下表1所示:
表1固件更新清单示例
固件包名称 | 固件版本号 | 发布时间 | 更新内容概要 |
固件包1 | Version1.1 | 2022.03.01 | 修复了***BUG… |
固件包2 | Version2.1 | 2023.03.01 | 新增了***功能… |
… | … | … | … |
在本申请的可选实施例中,固件包的标识信息包括固件包名称和固件版本号,发布时间为服务器厂商上传更新固件包的时间,更新内容概要指的是对本次更新固件包相对于前一版本固件包所更新的内容描述,在服务器厂商上传更新固件包时填写。
固件存放平台在每次接收到厂商上传更新固件包时,通过获取上述上传信息,然后映射填写到上述表1所示的固件更新清单中,以对固件更新清单进行及时更新,保证发送给BMC***的固件更新清单是最新版本对的,保证更新及时性。
在本申请的可选实施例中,随着固件版本的不断更新,固件更新清单会越来越冗长,但用户真正需要获取的固件包可能并不多,因此不便于用户快速查找到所需的固件信息。对此,可按照发布时间的先后顺序,将最近发布的固件包排在前面,将前面发布的固件包排在后面,也即发布时间越近,排列位置越靠前,这样用户可第一时间获取到最新的固件包信息。
在本申请的可选实施例中,固件更新平台还可进一步针对固件包名称相同的固件包,直接删除该固件包以前的全部版本,仅保留最新版本,便于用户直接查找到最新版本。
S105、将固件更新清单打包发送给BMC***。
同理,固件更新平台通过与BMC***之间的通信连接,将固件更新清单打包后发送给BMC***。其中打包方式为现有方式,在此不再赘述。
S106、BMC***对固件更新清单进行解析并展示。
BMC***接收固件存放平台发送的固件更新清单,并进行解析处理,并将解析得到的清单内容进行展示。可选的,控制清单内容在WEB UI相应界面上进行显示,用户通过访问WEB UI,查看清单内容。
进一步的,用户根据实际更新需求(用户认为存在更新的必要,或者发现固件问题必须解决处理等情形),选取相应的更新包进行更新。
S107、监测外部对相关固件包的选取指令。
参见图2所示,用户可对清单内容所展示的固件按照更新需求进行勾选,选取完成即可点击确定升级,此时服务器将监测到对相关固件包(即用户勾选的固件包)的选取指令,进而触发生成相应的请求(即第二请求)以获取相应的固件包。
S108、基于选取指令生成第二请求。
应当说明的是,第二请求携带有指示升级的相关固件包(即用户勾选的固件包)的标识信息,其中标识信息例如包含由固件包名称和版本号。应当理解的是,生成请求的方式为现有方式,在此不再赘述。
在本申请的可选实施例中,对于很多普通用户而言,可能并不清楚需要对哪些固件进行升级,或者知道需要升级哪些固件,但是无法准确地从清单内容中找到对应的固件包,因此在一定程度上给用户带来了操作上比较繁琐的问题,影响用户的使用。对此,在本申请可选实施例中,BMC***可获取BMC芯片(例如RAM芯片)及其连接的***芯片或模块的固件版本,与更新清单进行比较,判断该芯片/模块的固件是否存在更新;若存在,则生成对应的选取指令,从而获取固件更新包进行固件更新,实现固件的全自动化更新,实现无感升级。
S109、利用远程通信连接将第二请求发送给固件存放平台。
同理,基于远程通信连接,可实现BMC***与固件存放平台之间的信息交互,从而将第二请求发送给固件存放平台。
S110、固件存放平台接收第二请求,并解析得到相关固件包的标识信息。
应当理解的是,对于数据包的解析可采用现有方式,在此不再赘述。第二请求中携带有相关固件包的标识信息,通过现有解析方法可直接解析得到。
S111、根据相关固件包的标识信息,筛选与之匹配的目标固件包。
固件存放平台根据相关固件包的标识信息,通过标识信息的比较,筛选出与该相关固件包的标识信息匹配的固件包,即目标固件包。这里,标识信息的匹配,具体可以是将该相关固件包的标识信息(后面简称第一标识信息),与固件存放平台中存储的其他固件包的标识信息(后面简称第二标识信息)进行比较,若两者的标识信息一致或者相同,即可判定两者匹配。
在本申请的可选实施例中,固件存放平台可建立各固件包的标识信息与存放地址的映射关系表,参见如下表2所示:
表2固件包的标识信息与存放地址的映射关系表
固件包的标识信息 | 存放地址 |
固件包1+version1.1 | 地址1 |
固件包2+version2.1 | 地址2 |
… | … |
固件存放平台根据解析得到的相关固件包的标识信息,在映射关系表中查找与该标识信息对应的存放地址,然后根据该存放地址直接获取存放在该地址的固件包,作为目标固件包发送给BMC***。
S112、固件存放平台将目标固件包发送给BMC***。
S113、BMC***接收目标固件包,对目标固件包进行解压,得到配置文件和二进制烧录文件。
本申请实施例中,配置文件包括二进制烧录文件中所包含的固件类型以及各固件类型对应的烧录顺序。在本申请可选实施例中,固件类型包括但不限于BIOS(BasicInput/OutputSystem,基本输入/输出***),BMC,CPLD(Complex Programmable logic device,复杂可编程逻辑器件)等。
S114、对解压得到的文件进行合法性校验。
对文件进行合法性校验的方式可采用现有任意校验方式,例如通过校验码或者签名等方式实现,本实施例对此不做限制。通过对解压得到的文件进行合法性校验,以保证获取的固件包是用户真正需求更新的固件包,没有被篡改,从而防止病毒从固件层面的入侵。
S115、校验通过后,根据烧录顺序将各固件类型对应的二进制烧录文件写入对应的FLASH(闪存)中,以完成对服务器的固件升级。
例如当升级开始时,先判断固件包中固件类型,并根据配置文件自动获取各固件的升级顺序,按照升级顺序一一升级固件,如先升级BIOS,再升级CPLD,最后升级BMC。
在本申请可选实施例中,为了避免在固件升级过程中突然掉电的情况,导致固件升级失败的问题,可选择将各固件类型的原始二进制烧录文件备份到BMC***的存储器(例如内存)中;在备份完成后,将固件类型对应的二进制烧录文件写入到该固件类型对应的FLASH中,然后将原始二进制烧录文件擦除。在将二进制烧录文件写入FLASH的过程中,若写入失败,则可重新启动将原始二进制烧录文件进行写入,保证固件的正常工作。
目前,当用户在使用服务器的过程中,若发现存在固件问题,通常需要用户单独向厂商技术人员进行反馈,厂商技术人员在解决了该问题并重新完善了固件之后,将更新的固件再单独发送给用户。整个固件升级过程无法有效监控,可能存在厂商不能及时反馈处理方案或者遗忘或者反馈到其他用户的情况,影响前期的处理效率,降低了用户体验。在本申请的可选实施例中,用户可通过BMC***进行固件问题反馈,将反馈问题通过BMC***发送给厂商,BMC***在监测获取到问题反馈指令时,基于问题反馈指令生成第三请求;其中,第三请求携带有服务器的身份标识信息和对固件问题的描述信息;利用远程通信连接将第三请求发送给厂商服务端。厂商服务端对反馈问题进行技术评估,确定处理方案,例如经评估确认后确实存在该技术问题,则对固件进行完善修复,重新编写固件代码,生成更新固件包,上传到固件存放平台,并将处理方案反馈给用户。用户可在BMC***查看到反馈记录和回复的处理方案,有利于跟进与追溯。
基于同一设计构思,本实施例还公开一种固件在线升级方法。参见图3,该固件在线升级方法主要应用于服务器的BMC***,主要包括以下步骤:
S301、在接收到查询指令时,基于查询指令生成第一请求;
S302、利用远程通信连接将第一请求发送给固件存放平台;
S303、接收固件存放平台基于第一请求发送的固件更新清单;其中,固件更新清单包括更新版本的各固件包的标识信息;
S304、在接收到对相关固件包的选取指令时,基于选取指令生成第二请求;
S305、利用远程通信连接将第二请求发送给固件存放平台;其中第二请求携带有指示升级的相关固件包的标识信息;
S306、接收固件存放平台基于第二请求发送的目标固件包;目标固件包包括与相关固件包的标识信息匹配的固件包;
S307、利用目标固件包完成对服务器的固件升级。
具体过程可参见上述相关描述,在此不再赘述。
基于同一设计构思,本实施例还公开一种固件在线升级方法。参见图4,该固件在线升级方法主要应用于固件存放***,主要包括以下步骤:
S401、基于远程通信连接接收待升级服务器的BMC***发送的第一请求;
本申请实施例中,待升级服务器指的是将发送第一请求的服务器,而不管到底能不能完成升级。
S402、根据第一请求将固件更新清单发送给BMC***;
S403、基于远程通信连接接收BMC***发送的第二请求;
S404、解析第二请求,以获取得到第二请求携带的相关固件包的标识信息;
相关固件包指的是用户所选取的固件包。
S405、获取本地存储的所有固件包的标识信息,将相关固件包的标识信息与所有固件包的标识信息一一进行比较,判断两者是否匹配;
当两者的标识信息一致或相同时,判定两者匹配。
S406、筛选出与相关固件包的标识信息匹配的固件包,作为目标固件包;
S407、将目标固件包发送给BMC***,以用于实现对服务器的固件升级。
具体过程可参见上述相关描述,在此不再赘述。
为了更好地执行上述方法的程序,本申请实施例还提供一种服务器,如图5所示,服务器包括BMC***,其中BMC***包括处理器和存储器,处理器包括RAM芯片,存储器为FLASH闪存,FLASH闪存中存储有可在处理器上运行的固件代码,处理器执行固件代码时实现如上所述的固件在线升级方法。服务器可以以各种形式来实施,包括台式计算机等设备。
本申请实施例提供一种计算机可读存储介质,介质例如包括FLASH,该计算机可读存储介质存储有能够被处理器加载并执行上述实施例的固件在线升级方法的固件代码。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,不应理解为对本申请的限制。本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种固件在线升级方法,其特征在于,所述固件在线升级方法应用于服务器的BMC***,包括:
在接收到查询指令时,基于所述查询指令生成第一请求;
利用远程通信连接将所述第一请求发送给固件存放平台;
接收所述固件存放平台基于所述第一请求发送的固件更新清单;所述固件更新清单包括更新版本的各固件包的标识信息;
在接收到对相关固件包的选取指令时,基于所述选取指令生成第二请求;
利用所述远程通信连接将所述第二请求发送给所述固件存放平台;所述第二请求携带有指示升级的所述相关固件包的标识信息;
接收所述固件存放平台基于所述第二请求发送的目标固件包;所述目标固件包包括与所述相关固件包的标识信息匹配的固件包;
利用所述目标固件包完成对所述服务器的固件升级。
2.根据权利要求1所述的固件在线升级方法,其特征在于,所述接收到查询指令包括:
当设定查询周期到达时,判定接收到所述查询指令。
3.根据权利要求1所述的固件在线升级方法,其特征在于,所述标识信息包括固件包名称和/或固件版本号;所述固件更新清单还包括发布时间以及更新内容概要。
4.根据权利要求1至3所述的固件在线升级方法,其特征在于,在所述接收所述固件存放平台基于所述第一请求发送的固件更新清单之后,在所述根据所述选取指令生成第二请求之前,所述固件在线升级方法还包括:
控制所述固件更新清单在所述BMC***的WEB UI界面进行展示;监测外部对所述相关固件包的选取指令。
5.根据权利要求4所述的固件在线升级方法,其特征在于,所述利用所述目标固件包完成对所述服务器的固件升级包括:
对所述目标固件包进行解压,得到配置文件和二进制烧录文件;所述配置文件包括所述二进制烧录文件中所包含的固件类型以及各所述固件类型对应的烧录顺序;
对解压得到的文件进行合法性校验;
校验通过后,根据所述烧录顺序将各所述固件类型对应的二进制烧录文件写入对应的FLASH中。
6.根据权利要求5所述的固件在线升级方法,其特征在于,所述将各所述固件类型对应的二进制烧录文件写入对应的FLASH中包括:
将各所述固件类型的原始二进制烧录文件备份到BMC***的存储器中;在备份完成后,将所述固件类型对应的二进制烧录文件写入到该固件类型对应的FLASH中,然后将所述原始二进制烧录文件擦除。
7.根据权利要求4所述的固件在线升级方法,其特征在于,所述固件在线升级方法还包括:
在监测获取到问题反馈指令时,基于所述问题反馈指令生成第三请求;所述第三请求携带有所述服务器的身份标识信息和对固件问题的描述信息;
利用远程通信连接将所述第三请求发送给厂商服务端。
8.一种固件在线升级方法,其特征在于,应用于固件存放***,所述固件在线升级方法包括:
基于远程通信连接接收待升级服务器的BMC***发送的第一请求;
根据所述第一请求将固件更新清单发送给所述BMC***;
基于所述远程通信连接接收所述BMC***发送的第二请求;
解析所述第二请求,以获取得到所述第二请求携带的相关固件包的标识信息;
获取本地存储的所有固件包的标识信息,将所述相关固件包的标识信息与所述所有固件包的标识信息一一进行比较,判断两者是否匹配;
筛选出与所述相关固件包的标识信息匹配的固件包,作为目标固件包;
将所述目标固件包发送给所述BMC***,以用于实现对所述服务器的固件升级。
9.一种服务器,其特征在于,包括BMC***,所述BMC***包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的固件代码,所述处理器执行所述固件代码时实现如权利要求1至7中任意一项所述的固件在线升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有固件代码;所述固件代码被处理器执行时实现如权利要求1至7任意一项所述的固件在线升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412946.8A CN116483416A (zh) | 2023-04-10 | 2023-04-10 | 固件在线升级方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412946.8A CN116483416A (zh) | 2023-04-10 | 2023-04-10 | 固件在线升级方法、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483416A true CN116483416A (zh) | 2023-07-25 |
Family
ID=87213190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310412946.8A Pending CN116483416A (zh) | 2023-04-10 | 2023-04-10 | 固件在线升级方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483416A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841591A (zh) * | 2023-08-30 | 2023-10-03 | 杭州炬源智能科技有限公司 | 计量设备的固件升级方法、***以及介质 |
-
2023
- 2023-04-10 CN CN202310412946.8A patent/CN116483416A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841591A (zh) * | 2023-08-30 | 2023-10-03 | 杭州炬源智能科技有限公司 | 计量设备的固件升级方法、***以及介质 |
CN116841591B (zh) * | 2023-08-30 | 2023-12-26 | 杭州炬源智能科技有限公司 | 计量设备的固件升级方法、***以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507450B2 (en) | Systems and methods to reprogram mobile devices via a cross-matrix controller to port connection | |
CN103530199B (zh) | 一种修复软件运行错误的方法、装置及*** | |
US6789215B1 (en) | System and method for remediating a computer | |
CN115190035B (zh) | 用于提供移动设备支持服务的***、方法、装置和介质 | |
US8782204B2 (en) | Monitoring hardware resources in a software provisioning environment | |
US8601460B2 (en) | Systems and methods for firmware cloning | |
CN110943860B (zh) | 一种bmc固件更新方法、***、电子设备及存储介质 | |
EP3152650A1 (en) | High-speed application for installation on mobile devices for permitting remote configuration of such mobile devices | |
CN109388569B (zh) | 远程检测客户端环境异常的方法、测试服务器及存储介质 | |
JP2013156993A (ja) | コンピュータシステムにおけるbiosの設定方法とコンピュータプログラム製品 | |
TW201324354A (zh) | 自動化連續安裝作業系統的方法 | |
CN112527397A (zh) | 基本输入输出***选项的修改方法、装置和计算机设备 | |
CN116483416A (zh) | 固件在线升级方法、服务器及存储介质 | |
CN114003312A (zh) | 大数据服务组件管理方法、计算机装置及存储介质 | |
CN114327536A (zh) | 一种服务器运维方法、装置、设备及存储介质 | |
CN116244186A (zh) | 一种操作***测试管理方法、装置与计算设备 | |
CN113467801A (zh) | 一种bmc固件应用更新方法、bmc、***及存储介质 | |
CN109428936B (zh) | App的升级方法、装置、***、电子设备及存储介质 | |
CN115372803B (zh) | 主板测试***、方法、装置和存储介质 | |
CN113688143B (zh) | 具***设定数据同步功能的服务器 | |
CN109683924B (zh) | 应用软件升级方法、***、设备及计算机可读存储介质 | |
CN116880872A (zh) | 集群固件组合升级方法、***、终端及存储介质 | |
CN118276866A (zh) | 编译配置方法、编译方法、电子设备及可读存储介质 | |
CN118312417A (zh) | 调试方法、装置、计算机设备、存储介质及程序产品 | |
CN115129362A (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 |