CN113467801B - 一种bmc固件应用更新方法、bmc、系统及存储介质 - Google Patents

一种bmc固件应用更新方法、bmc、系统及存储介质 Download PDF

Info

Publication number
CN113467801B
CN113467801B CN202110652336.6A CN202110652336A CN113467801B CN 113467801 B CN113467801 B CN 113467801B CN 202110652336 A CN202110652336 A CN 202110652336A CN 113467801 B CN113467801 B CN 113467801B
Authority
CN
China
Prior art keywords
firmware application
check value
bmc
installation package
installation
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.)
Active
Application number
CN202110652336.6A
Other languages
English (en)
Other versions
CN113467801A (zh
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202110652336.6A priority Critical patent/CN113467801B/zh
Publication of CN113467801A publication Critical patent/CN113467801A/zh
Application granted granted Critical
Publication of CN113467801B publication Critical patent/CN113467801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Stored Programmes (AREA)

Abstract

本申请涉及的BMC固件应用更新方法、BMC、系统及存储介质,其中方法包括服务器BMC采集已安装固件应用的已安装固件应用信息和第二校验值;服务器BMC响应更新请求,从固件应用安装包库获取安装包信息及第一校验值;所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务;所述服务器BMC根据更新任务执行相应的更新操作,更新操作包括删除固件应用及第二校验值、新增固件应用及第二校验值和替换固件应用及第二校验值。本申请能够通过对比已安装固件应用信息和安装包信息并对别第一校验值和第二校验值实现自动确定更新任务,将更新任务细化到固件应用级,并根据更新任务高效自动执行更新,对BMC影响小。

Description

一种BMC固件应用更新方法、BMC、系统及存储介质
技术领域
本申请涉及BMC固件应用更新领域,尤其涉及一种BMC固件应用更新方法、BMC、系统及存储介质。
背景技术
服务器中集成了用于对服务器进行平台管理的BMC(基板管理控制器)。通过在BMC安装固件来实现对服务器温度、电压、风扇、电源进行监控,通过复位和上下电重启服务器,记录服务器异常日志等。用户可以通过BMC了解服务器的状态。
BMC实现其功能需要配置相应的固件,出于安全考虑,BMC不会设计为持续联网,对于相对封闭的BMC,无法通过联网的方式检测固件应用是否需要更新,然后实时针对某一固件应用进行更新。现有BMC更新固件的方式是将固件整体进行更新,将更新的固件应用打包呈固件文件,控制BMC通过SPI总线将所有存放在ROM当中的就固件文件整体擦除,然后将获取的待更新固件文件,并整体写入ROM当中。因此现有BMC固件更新方式采用整体更新的方式,无法实现固件应用级的更新,更新过程中,由于整体删除旧固件文件BMC无法继续工作,造成BMC功能缺失;且更新过程消耗时间长,效率低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种BMC固件应用更新方法、BMC、系统及存储介质。
第一方面,本申请提供一种BMC固件应用更新方法,包括服务器BMC采集已安装固件应用的已安装固件应用信息和第二校验值;
服务器BMC响应更新请求,从固件应用安装包库获取安装包信息及第一校验值;
所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务;
所述服务器BMC根据更新任务执行相应的更新操作,更新操作包括删除固件应用及相应第二校验值、新增固件应用及相应第二校验值和替换固件应用及相应第二校验值。
更进一步地,通过信息摘要算法计算安装包的MD5值作为所述第一校验值;安装包安装时,将安装包的所述第一校验值赋值给相应固件应用的第二校验值。
更进一步地,设定服务器BMC连接所述固件应用安装包库;所述固件应用安装包库用于存储安装包和安装包的第一校验值,所述固件应用安装包库用于向服务器BMC传递安装包信息及第一校验值,所述固件应用安装包库用于向服务器BMC提供安装包。
更进一步地,所述固件应用安装包库按固件版本构建,每个所述固件应用安装包库存储对应固件版本所包含全部固件应用的安装包及第一校验值。
更进一步地,在服务器BMC和固件应用安装包库中为每种固件应用及其安装包配置全局一致的识别名称;
安装包信息包含固件应用安装包库中安装包的识别名称以及安装包存储的url路径;
已安装固件应用信息包含已安装在服务器BMC的固件应用的识别名称以及固件应用的安装位置。
更进一步地,所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务包括:
服务器BMC比较安装包信息和已安装固件应用信息中的识别名称;
如果存在识别名称,该识别名称在已安装固件应用信息中存在且在安装包信息中不存在,则确定删除固件应用及相应的第二校验值的更新任务;
如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中不存在,则确定新增固件应用及相应的第二校验值的更新任务;
如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中存在,则获取相同的识别名称所对应的安装包的第一校验值和所对应的固件应用的第二校验值,并进一步对比安装包的第一校验值和对应已安装固件应用的第二校验值是否不同,是则确定替换固件应用及相应的第二校验值的更新任务。
第二方面,本申请提供一种实现BMC固件应用更新的BMC,包括第一采集模块,所述第一采集模块用于从固件应用安装包库采集安装包信息以及第一校验值;
第二采集模块,所述第一采集模块用于采集服务器BMC已安装固件应用的已安装固件应用信息和第二校验值;
更新任务制定模块,所述更新任务制定模块用于根据安装包信息和已安装固件应用信息的对比、第一校验值和第二校验值的对比确定更新任务;
安装包获取模块,所述安装包获取模块根据更新任务从固件应用安装包库下载相应的安装包;
更新执行模块,所述更新执行模块用于擦除被删除固件应用以及安装下载的安装包。
更进一步地,包括安装验证模块,所述安装验证模块重启服务器BMC并检测重启服务器BMC后运行的固件应用,根据固件应用的运行情况判断更新是否完成。
第三方面,本申请提供一种实现BMC固件应用更新的系统,包括存储节点,所述存储节点配置至少一个固件应用安装包库;
与所述存储节点连接的至少一个开发节点,所述开发节点用于开发固件应用的安装包,并将开发的安装包上传到相应的所述固件应用安装包库;
与所述存储节点连接的至少一个待更新服务器节点。
第四方面本申请提供一种实现BMC固件应用更新的存储介质,所述存储介质存储至少一条指令,执行所述指令实现所述BMC固件应用更新方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的BMC固件应用更新方法利用根据固件版本配置的固件应用安装包库来存储该固件版本所包含的全部固件应用的安装包以及安装包的第一校验值。本申请在固件应用安装包库和BMC为每种固件应用配置全局一致的识别名称,服务器BMC采集安装在服务器BMC的固件应用的识别名称集合以及每个固件应用的安装位置作为已安装固件应用信息,固件应用安装包库采集固件应用安装包库中安装包的识别名称集合以及安装包存储的url路径作为安装包信息。安装在服务器BMC的固件应用设置第二校验值属性,第二校验值等于该固件应用的安装包的第一校验值。
一方面,服务器BMC接收更新请求时,从固件应用安装包库采集安装包信息和第一校验值;然后通过对比安装包信息和已安装固件应用信息确定删除固件和新增固件应用的更新任务;通过进一步对比第一校验值和第二校验值确定替换固件应用的更新任务。仅仅需要向服务器BMC发送更新请求,该更新请求中无需配置具体的任务,服务器BMC通过对比安装包信息和已安装固件应用信息即可自动确定更新的任务并执行。实现固件更新的傻瓜式操作,简单,易实现。
另一方面,服务器BMC通过对比安装包信息和已安装固定应用信息,对比第一校验值和第二校验值将更新任务细化到固件应用。细化到固件应用的优势在于:1)可以实现固件应用级更新,某一固件应用更新过程中其他与之无关的固件应用可以继续工作来管理服务器,避免固件整体更新过程中BMC功能的整体缺失的问题。2)针对固件应用更新替代现有的固件整体更新,更新内容少,更新速度更快。3)服务器BMC可以及时的更新的固件应用,更快的获得固件应用带来的优化。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种BMC固件应用更新方法流程图;
图2为本实施例提供的BMC固件应用更新方法的自动制定更新任务的流程图;
图3为本实施例提供的一种实现BMC固件应用更新的BMC的架构示意图;
图4为本实施例提供的一种实现BMC固件应用更新方法的系统的架构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例1
实施例1提供一种BMC固件应用更新方法。为实现该BMC固件应用更新方法,第一需要为安装在服务器BMC的固件应用配置第二校验值以及第二校验值更新指令;第二需要预先配置服务器BMC可以连接的固件应用安装包库,所述固件应用安装包库按固件版本构建,每个所述固件应用安装包库存储对应固件版本所包含全部固件应用的安装包及第一校验值;第三需要在服务器BMC和固件应用安装包库中为每种固件应用及其安装包配置全局一致的识别名称。
其中,服务器BMC安装所述安装包来实现安装固件应用,其中,通过信息摘要算法计算安装包的MD5值作为所述第一校验值;其中,所述第二校验值更新指令监测安装包安装情况,当监测到所述安装包安装时,所述第二校验值更新指令将安装包的所述第一校验值赋值给相应固件应用的第二校验值;其中,所述识别名称构建了固件应用及其安装包之间的对应关系。
参阅图1所示,BMC固件应用更新方法的具体过程包括:
S10,所述服务器BMC采集已安装固件应用的已安装固件应用信息和第二校验值。其中,所述已安装固件应用信息包括服务器BMC安装的全部固件应用的识别名称的集合以及每个固件应用的安装位置。根据所述已安装固件应用信息可以确定服务器BMC上安装的固件应用以及固件应用的安装位置。
S20,向所述服务器BMC发送更新请求,服务器BMC接收并响应更新请求,从所述固件应用安装包库获取安装包信息及第一校验值。具体实施过程中,所述更新请求包含更新指令以及固件应用安装包库的url路径,登录用户名以及登录密码。所述服务器BMC根据url路径,登录用户名以及登录密码连接到相应的固件应用安装包库,连接后,所述服务器BMC向固件应用安装包库发送安装包信息及第一校验值请求。所述固件应用安装包库响应所述安装包信息及第一校验值请求采集安装包信息和第一校验值发送给所述服务器BMC。
其中,所述安装包信息包括存储于某一固件应用安装包库的全部安装包的识别名称的集合以及每个安装包存储的url路径。
S30,所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务。更新任务精确到固件应用级。
具体实施过程中,参阅图2所示,所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务的过程包括:
S31,服务器BMC比较安装包信息和已安装固件应用信息中的识别名称;
S32,判断是否存在识别名称、该识别名称在已安装固件应用信息中存在且在安装包信息中不存在,如果是,则制定删除固件应用及相应的第二校验值的更新任务,如果否,则执行S33。其中,删除固件应用及相应的第二校验值的更新任务具体内容包括删除识别名称所对应的固件应用及固件应用对应的第二校验值。
S33,判断是否存在识别名称、该识别名称在安装包信息中存在且在已安装固件应用信息中不存在,如果是,则制定新增固件应用及相应的第二校验值的更新任务,否则执行S34。其中,新增固件应用及相应的第二校验值的更新任务具体内容包括下载识别名称所对应的安装包,安装下载的安装包,并将安装包的第一校验值赋值给安装安装包形成的固件应用的第二校验值。
S34、判断是否存在识别名称、该识别名称在安装包信息中存在且在已安装固件应用信息中存在,如果是,则获取相同的识别名称所对应的安装包的第一校验值和所对应的固件应用的第二校验值,并进一步执行S35。
S35,对比安装包的第一校验值和对应的已安装固件应用的第二校验值是否不同,是则执行替换固件应用及第二校验值的更新任务。其中,替换固件应用及第二校验值的更新任务具体内容包括下载识别名称所对应的安装包,删除识别名称所对应的已安装固件应用,安装消灾的安装包并将安装包的第一校验值赋值给已安装固件应用的第二校验值。
S40,所述服务器BMC根据更新任务执行相应的更新操作,更新操作包括删除固件应用及第二校验值、新增固件应用及第二校验值和替换固件应用及第二校验值。
具体实施过程中,所述服务器BMC执行删除固件应用及第二校验值的更新操作包括:
所述服务器BMC从所述已安装固件应用信息中获取固件应用的安装位置,
所述服务器BMC从相应的安装位置将固件应用擦除,
所述服务器BMC将固件应用的第二校验值删除。
具体实施过程中,所述服务器BMC执行新增固件应用及第二校验值的更新操作包括:
所述服务器BMC从所述安装包信息中获取安装包存储的url路径;
所述服务器BMC根据url路径从所述固件应用安装包库下载相应的安装包;
所述服务器BMC安装所述安装包,并记录安装包的安装位置;
所述服务器BMC将安装包的第一校验值赋值给固件应用的第二校验值。
具体实施过程中,所述服务器BMC执行替换固件应用及第二校验值的更新操作包括:
所述服务器BMC从所述已安装固件应用信息中获取固件应用的安装位置,
所述服务器BMC从相应的安装位置将固件应用擦除,
所述服务器BMC从所述安装包信息中获取安装包存储的url路径;
所述服务器BMC根据url路径和安装包识别名称从所述固件应用安装包库下载相应的安装包;
所述服务器BMC安装所述安装包,并记录安装包的安装位置;
所述服务器BMC将安装包的第一校验值赋值给固件应用的第二校验值。
实施例2
本申请实施例提供一种实现BMC固件应用更新的BMC,参阅图3所示,包括第一采集模块,所述第一采集模块用于从固件应用安装包库采集安装包信息以及第一校验值;所述第一采集模块向所述固件应用安装包库发送安装包信息以及第一校验值请求,所述固件应用安装包库将安装包信息以及第一校验值发送给所述第一采集模块,所述第一采集模块将采集的安装包信息和第一校验值存储在指定路径。
第二采集模块,所述第一采集模块用于采集服务器BMC已安装固件应用的已安装固件应用信息和第二校验值。
更新任务制定模块,所述更新任务制定模块用于根据安装包信息和已安装固件应用信息的对比、第一校验值和第二校验值的对比确定更新任务;所述更新任务制定模块先对比所述安装包信息和所述已安装固件应用信息中的识别名称,并进一步对比第一校验值和第二校验值来确定删除固件应用、新增固件应用以及替换固件应用的更新任务。
安装包获取模块,所述安装包获取模块根据新增固件应用以及替换固件应用更新任务从固件应用安装包库下载相应的安装包;具体实施过程中,所述安装包获取模块向所述固件应用安装包库发送安装包获取请求,所述固件应用安装包库将安装包传输给所述安装包获取模块,所述安装包获取模块将安装包保存在指定位置。
更新执行模块,所述更新执行模块用于擦除被删除固件应用以及安装下载的安装包。
具体实施过程中,所述更新执行模块根据删除固件应用的更新任务从目标安装位置删除目标固件应用,所述更新执行模块将目标固件应用的第二校验值删除。
具体实施过程中,所述更新执行模块根据新增固件应用的更新任务从指定位置获取目标安装包,并安装目标安装包,所述更新执行模块将目标安装包的第一校验值赋值给固件应用的第二校验值。
具体实施过程中,所述更新根据替换固件应用的更新任务从目标安装位置删除目标固件应用,所述更新执行模块从指定位置获取目标安装包,并安装目标安装包,所述更新执行模块将目标安装包的第一校验值赋值给目标固件应用的第二校验值。
本申请提供的实现BMC固件应用更新的BMC还包括安装验证模块,所述安装验证模块用于重启服务器BMC并检测重启服务器BMC后运行的固件应用,根据固件应用的运行情况判断更新是否完成。对于删除的目标固件应用,所述安装验证模块通过确定重启后服务器BMC不再运行目标固件应用确定删除成功。对于新增或替换的目标固件应用,所述安装验证模块通过确定重启后服务器BMC运行目标固件应用确定新增或替换成功。
实施例3
本申请实施例提供一种实现BMC固件应用更新的系统,参阅图4所示,包括存储节点,所述存储节点配置至少一个固件应用安装包库;
与所述存储节点连接的至少一个开发节点,所述开发节点用于开发固件应用的安装包,并将开发的安装包上传到相应的所述固件应用安装包库;具体实施过程中,所述开发节点编译源程序形成所述安装包后,通过信息摘要算法计算安装包的MD5值,上述开发节点将安装包的MD5值和安装包上传到相应的目标固件应用安装包库。
与所述存储节点连接的至少一个待更新服务器节点。具体实施过程中所述待更新服务器节点的BMC接收更新请求与存储节点的目标固件应用安装包库连接,并执行实施例1所述BMC固件应用更新方法。一种可行的方式是,所述开发节点配置所述待更新服务器节点的BMC管理系统,所述开发节点通过BMC管理系统向待更新服务器发送所述更新请求。
实施例4
本申请实施例提供一种实现BMC固件应用更新的存储介质,所述存储介质存储至少一条指令,执行所述指令实现所述BMC固件应用更新方法。
本申请实施例提供的BMC固件应用更新方法利用根据固件版本配置的固件应用安装包库来存储该固件版本所包含的全部固件应用的安装包以及安装包的第一校验值。本申请在固件应用安装包库和BMC为每种固件应用配置全局一致的识别名称,服务器BMC采集安装在服务器BMC的固件应用的识别名称集合以及每个固件应用的安装位置作为已安装固件应用信息,固件应用安装包库采集固件应用安装包库中安装包的识别名称集合以及安装包存储的url路径作为安装包信息。安装在服务器BMC的固件应用设置第二校验值属性,第二校验值等于该固件应用的安装包的第一校验值。
一方面,服务器BMC接收更新请求时,从固件应用安装包库采集安装包信息和第一校验值;然后通过对比安装包信息和已安装固件应用信息确定删除固件和新增固件应用的更新任务;通过进一步对比第一校验值和第二校验值确定替换固件应用的更新任务。仅仅需要向服务器BMC发送更新请求,该更新请求中无需配置具体的任务,服务器BMC通过对比安装包信息和已安装固件应用信息即可自动确定更新的任务并执行。实现固件更新的傻瓜式操作,简单,易实现。
另一方面,服务器BMC通过对比安装包信息和已安装固定应用信息,对比第一校验值和第二校验值将更新任务细化到固件应用。细化到固件应用的优势在于:1)可以实现固件应用级更新,某一固件应用更新过程中其他与之无关的固件应用可以继续工作来管理服务器,避免固件整体更新过程中BMC功能的整体缺失的问题。2)针对固件应用更新替代现有的固件整体更新,更新内容少,更新速度更快。3)服务器BMC可以及时的更新的固件应用,更快的获得固件应用带来的优化。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种BMC固件应用更新方法,其特征在于,包括:
服务器BMC采集已安装固件应用的已安装固件应用信息和第二校验值;服务器BMC响应更新请求,从固件应用安装包库获取安装包信息及第一校验值;其中,在服务器BMC和固件应用安装包库中为每种固件应用及其安装包配置全局一致的识别名称;安装包信息包含固件应用安装包库中安装包的识别名称以及安装包存储的url路径;已安装固件应用信息包含已安装在服务器BMC的固件应用的识别名称以及固件应用的安装位置;
所述服务器BMC对比已安装固件应用信息与安装包信息并进一步对比第一校验值和第二校验值来确定更新任务,包括:服务器BMC比较安装包信息和已安装固件应用信息中的识别名称;如果存在识别名称,该识别名称在已安装固件应用信息中存在且在安装包信息中不存在,则确定删除固件应用及相应的第二校验值的更新任务;如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中不存在,则确定新增固件应用及相应的第二校验值的更新任务;如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中存在,则获取相同的识别名称所对应的安装包的第一校验值和所对应的固件应用的第二校验值,并进一步对比安装包的第一校验值和对应已安装固件应用的第二校验值是否不同,是则确定替换固件应用及相应的第二校验值的更新任务;
所述服务器BMC根据更新任务执行相应的更新操作,更新操作包括删除固件应用及相应第二校验值、新增固件应用及相应第二校验值和替换固件应用及相应第二校验值。
2.根据权利要求1所述BMC固件应用更新方法,其特征在于,通过信息摘要算法计算安装包的MD5值作为所述第一校验值;安装包安装时,将安装包的所述第一校验值赋值给相应固件应用的第二校验值。
3.根据权利要求1所述BMC固件应用更新方法,其特征在于,设定服务器BMC连接所述固件应用安装包库;所述固件应用安装包库用于存储安装包和安装包的第一校验值,所述固件应用安装包库用于向服务器BMC传递安装包信息及第一校验值,所述固件应用安装包库用于向服务器BMC提供安装包。
4.根据权利要求1所述BMC固件应用更新方法,其特征在于,所述固件应用安装包库按固件版本构建,每个所述固件应用安装包库存储对应固件版本所包含全部固件应用的安装包及第一校验值。
5.一种实现BMC固件应用更新的BMC,其特征在于,包括第一采集模块,所述第一采集模块用于从固件应用安装包库采集安装包信息以及第一校验值;第二采集模块,所述第一采集模块用于采集服务器BMC已安装固件应用的已安装固件应用信息和第二校验值;其中,在服务器BMC和固件应用安装包库中为每种固件应用及其安装包配置全局一致的识别名称;安装包信息包含固件应用安装包库中安装包的识别名称以及安装包存储的url路径;已安装固件应用信息包含已安装在服务器BMC的固件应用的识别名称以及固件应用的安装位置;
更新任务制定模块,所述更新任务制定模块用于根据安装包信息和已安装固件应用信息的对比、第一校验值和第二校验值的对比确定更新任务;包括:比较安装包信息和已安装固件应用信息中的识别名称;如果存在识别名称,该识别名称在已安装固件应用信息中存在且在安装包信息中不存在,则确定删除固件应用及相应的第二校验值的更新任务;如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中不存在,则确定新增固件应用及相应的第二校验值的更新任务;如果存在识别名称,该识别名称在安装包信息中存在且在已安装固件应用信息中存在,则获取相同的识别名称所对应的安装包的第一校验值和所对应的固件应用的第二校验值,并进一步对比安装包的第一校验值和对应已安装固件应用的第二校验值是否不同,是则确定替换固件应用及相应的第二校验值的更新任务;
安装包获取模块,所述安装包获取模块根据更新任务从固件应用安装包库下载相应的安装包;
更新执行模块,所述更新执行模块用于擦除被删除固件应用以及安装下载的安装包。
6.根据权利要求5所述实现BMC固件应用更新的BMC,其特征在于,包括安装验证模块,所述安装验证模块重启服务器BMC并检测重启服务器BMC后运行的固件应用,根据固件应用的运行情况判断更新是否完成。
7.一种实现BMC固件应用更新的系统,其特征在于,包括存储节点,所述存储节点配置至少一个固件应用安装包库;
与所述存储节点连接的至少一个开发节点,所述开发节点用于开发固件应用的安装包,并将开发的安装包上传到相应的所述固件应用安装包库;
与所述存储节点连接的至少一个待更新服务器节点,所述待更新服务器节点的BMC接收更新请求与存储节点的目标固件应用安装包库连接,并执行权利要求1-4任一所述BMC固件应用更新方法。
8.一种实现BMC固件应用更新的存储介质,其特征在于,所述存储介质存储至少一条指令,处理器执行所述指令实现权利要求1-4任一所述BMC固件应用更新方法。
CN202110652336.6A 2021-06-11 2021-06-11 一种bmc固件应用更新方法、bmc、系统及存储介质 Active CN113467801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110652336.6A CN113467801B (zh) 2021-06-11 2021-06-11 一种bmc固件应用更新方法、bmc、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110652336.6A CN113467801B (zh) 2021-06-11 2021-06-11 一种bmc固件应用更新方法、bmc、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113467801A CN113467801A (zh) 2021-10-01
CN113467801B true CN113467801B (zh) 2024-02-23

Family

ID=77869734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110652336.6A Active CN113467801B (zh) 2021-06-11 2021-06-11 一种bmc固件应用更新方法、bmc、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113467801B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541853B (zh) * 2023-07-06 2023-09-19 苏州浪潮智能科技有限公司 基板管理控制器固件的管理方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930372A (zh) * 2009-06-24 2010-12-29 英业达股份有限公司 程序更新系统及方法
CN103488494A (zh) * 2013-08-12 2014-01-01 浪潮电子信息产业股份有限公司 一种刀片服务器多固件同步更新升级方法
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统
CN110083379A (zh) * 2019-05-10 2019-08-02 苏州浪潮智能科技有限公司 一种服务器部件升级方法及相关装置
CN110780905A (zh) * 2019-10-31 2020-02-11 山东超越数控电子股份有限公司 一种基于usb接口的bmc软件更新方法和装置
CN110943860A (zh) * 2019-11-22 2020-03-31 苏州浪潮智能科技有限公司 一种bmc固件更新方法、系统、电子设备及存储介质
US10846113B1 (en) * 2017-03-30 2020-11-24 Amazon Technologies, Inc. Board management controller firmware virtualization
CN112596742A (zh) * 2020-11-30 2021-04-02 新华三云计算技术有限公司 一种bmc软件升级方法、装置、设备及机器可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956143B2 (en) * 2017-12-06 2021-03-23 Hewlett Packard Enterprise Development Lp Server updates

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930372A (zh) * 2009-06-24 2010-12-29 英业达股份有限公司 程序更新系统及方法
CN103488494A (zh) * 2013-08-12 2014-01-01 浪潮电子信息产业股份有限公司 一种刀片服务器多固件同步更新升级方法
US10846113B1 (en) * 2017-03-30 2020-11-24 Amazon Technologies, Inc. Board management controller firmware virtualization
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统
CN110083379A (zh) * 2019-05-10 2019-08-02 苏州浪潮智能科技有限公司 一种服务器部件升级方法及相关装置
CN110780905A (zh) * 2019-10-31 2020-02-11 山东超越数控电子股份有限公司 一种基于usb接口的bmc软件更新方法和装置
CN110943860A (zh) * 2019-11-22 2020-03-31 苏州浪潮智能科技有限公司 一种bmc固件更新方法、系统、电子设备及存储介质
CN112596742A (zh) * 2020-11-30 2021-04-02 新华三云计算技术有限公司 一种bmc软件升级方法、装置、设备及机器可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Wei He ; Nicholas Williard ; Michael Osterman ; Michael Pecht.Remaining useful performance analysis of batteries.《2011 IEEE Conference on Prognostics and Health Management》.2011,全文. *
基于国产BMC的服务器安全启动技术研究与实现;苏振宇;;信息安全研究;20170905(09);全文 *

Also Published As

Publication number Publication date
CN113467801A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN107608710B (zh) 基于Jenkins工具的软件项目构建任务配置方法及装置
US8381208B2 (en) Tracking application installation among a plurality of client devices
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
US8001083B1 (en) Repository including version management
US8601460B2 (en) Systems and methods for firmware cloning
US10963236B2 (en) Creation of software images of software applications for image-based maintenance of the software applications
WO2009048894A2 (en) Managing updates to create a virtual machine facsimile
CN111324423B (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
US20220188088A1 (en) Repository including exclusion list
CN110347483B (zh) 物理机到虚拟机迁移方法、装置及存储介质
CN113467801B (zh) 一种bmc固件应用更新方法、bmc、系统及存储介质
CN114327536A (zh) 一种服务器运维方法、装置、设备及存储介质
US9015180B1 (en) Repository including file identification
CN111625264B (zh) 一种多级管理系统的升级方法、装置、设备及介质
CN110633086B (zh) 刀片服务器
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
CN115756659A (zh) 一种服务装配、部署和运维的集成方法及系统
CN113992739B (zh) 一种局域网ota固件升级装置、方法及系统
CN111324384B (zh) 于预执行环境依装置消息选择开机图像文件的装置及方法
JP7043737B2 (ja) 情報処理システム及び情報処理方法
CN113687915B (zh) 容器运行方法、装置、设备及存储介质
EP4361804A1 (en) Method for optimizing execution of rpa bot
KR100487717B1 (ko) 내장형 시스템을 위한 운영체제 로딩 시스템 및 방법
CN114697377B (zh) 一种客户端产品的保活方法、系统、装置及可读存储介质
CN113064615B (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
GR01 Patent grant
GR01 Patent grant