BMC升级外接部件的固件程序的方法及相关组件与流程

文档序号:31045220发布日期:2022-08-06 05:15阅读:47来源:国知局
BMC升级外接部件的固件程序的方法及相关组件与流程
bmc升级外接部件的固件程序的方法及相关组件
技术领域
1.本发明涉及服务器升级领域,特别是涉及一种bmc升级外接部件的固件程序的方法及相关组件。


背景技术:

2.服务器中的bmc(baseboard management controller,基板管理控制器)监控如psu(power supply unit,供电装置)、cpld(complex programmable logic device,复杂可编程逻辑器件)及功能扩展卡等大量外接部件,外接部件中集成有固件程序。当服务器的需求增多或部件中的固件程序设计上存在缺陷时,需要对固件程序进行升级。预先在bmc中集成升级程序或工具,在接收到用户通过升级接口发送的升级文件时,通过升级程序或工具,将升级文件发送至部件中,以实现对固件程序的更新。现有技术中,由于预先将升级程序或工具集成进bmc中,若先出现升级程序或工具存在缺陷或出现新的部件需要升级时,需要更新bmc固件来实现,增加了bmc的版本发布次数以及维护次数。


技术实现要素:

3.本发明的目的是提供一种bmc升级外接部件的固件程序的方法及相关组件。将部件升级时需要的升级工具及部件固件文件打包成部件升级文件,在bmc内部集成的升级工具不满足当前升级需求时,只需要将部件升级文件升级,即可满足部件升级需求,无需升级bmc,减少了bmc的版本发布次数以及维护次数。
4.为解决上述技术问题,本发明提供了一种bmc升级外接部件的固件程序的方法,包括:
5.接收部件升级文件;
6.判断所述部件升级文件中是否包括部件升级工具;
7.若包括所述部件升级工具,则解析所述部件升级文件,得到所述部件升级工具和部件固件文件;
8.通过所述部件升级工具将所述部件固件文件发送至部件中,以实现对所述部件的升级。
9.优选的,判断所述部件升级文件中是否包括部件升级工具之前,还包括:
10.判断接收到的所述部件升级文件是否完整,若是,则进入判断所述部件升级文件中是否包括部件升级工具的步骤。
11.优选的,判断接收到的所述部件升级文件是否完整,包括:
12.对所述部件升级文件进行加密校验以及签名校验;
13.若所述加密校验以及所述签名校验通过,则判定接收到的所述部件升级文件完整;
14.若所述加密校验以及所述签名校验不通过,则判定接收到的所述部件升级文件不完整。
15.优选的,判定接收到的所述部件升级文件不完整之后,还包括:
16.提示所述部件升级文件错误,并返回接收部件升级文件的步骤。
17.优选的,接收部件升级文件,包括:
18.通过ipmi接收部件升级文件。
19.优选的,对部件进行升级之后,还包括:
20.控制提示模块提示所述升级已完成。
21.优选的,判断所述部件升级文件中是否包括部件升级工具之后,还包括:
22.若不包括所述部件升级工具,则解析所述部件升级文件,得到部件固件文件,则使用所述bmc内部集成的所述部件升级工具将所述部件固件文件发送至所述部件,以实现对部件进行升级。
23.为解决上述技术问题,本发明还提供了一种bmc升级外接部件的固件程序的系统,包括:
24.接收单元,用于接收部件升级文件;
25.判断单元,用于判断所述部件升级文件中是否包括部件升级工具;
26.解析单元,用于在所述部件升级文件中包括所述部件升级工具,则解析所述部件升级文件,得到所述部件升级工具和部件固件文件;
27.发送单元,用于通过所述部件升级工具将所述部件固件文件发送至部件中,以实现对所述部件的升级。
28.为解决上述技术问题,本发明还提供了一种bmc,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现上述bmc升级外接部件的固件程序的方法的步骤。
31.为解决上述技术问题,本发明还提供了一种服务器,包括上述的bmc。
32.本技术提供了一种bmc升级外接部件的固件程序的方法及相关组件。接收部件升级文件;判断所述部件升级文件中是否包括部件升级工具;若包括所述部件升级工具,则解析所述部件升级文件,得到所述部件升级工具和部件固件文件;通过所述部件升级工具将所述部件固件文件发送至部件中,以实现对所述部件的升级。将部件升级时需要的升级工具及部件固件文件打包成部件升级文件,在bmc内部集成的升级工具不满足当前升级需求时,只需要将部件升级文件升级,即可满足部件升级需求,无需升级bmc,减少了bmc的版本发布次数以及维护次数。
附图说明
33.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本发明提供的一种bmc升级外接部件的固件程序的方法的流程图;
35.图2为本发明提供的一种bmc升级外接部件的固件程序的系统的结构示意图;
36.图3为本发明提供的一种bmc的结构示意图。
具体实施方式
37.本发明的核心是提供一种bmc升级外接部件的固件程序的方法及相关组件。将部件升级时需要的升级工具及部件固件文件打包成部件升级文件,在bmc内部集成的升级工具不满足当前升级需求时,只需要将部件升级文件升级,即可满足部件升级需求,无需升级bmc,减少了bmc的版本发布次数以及维护次数。
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.图1为本发明提供的一种bmc升级外接部件的固件程序的方法的流程图,包括:
40.s11:接收部件升级文件;
41.s12:判断部件升级文件中是否包括部件升级工具;若是,则进入步骤s13;
42.s13:解析部件升级文件,得到部件升级工具和部件固件文件;
43.s14:通过部件升级工具将部件固件文件发送至部件中,以实现对部件的升级。
44.服务器的需求增多或部件中的固件程序设计上存在缺陷时,需要对部件中的固件程序进行升级。考虑到部件没有外设接口,无法接收用户发送的数据,所以预先在bmc中集成升级程序或工具,在接收到用户通过升级接口发送的升级文件时,通过升级程序或工具,将升级文件发送至部件中,以实现对固件程序的更新。现有技术中,由于预先将升级程序或工具集成进bmc中,若先出现升级程序或工具存在缺陷或出现新的部件需要升级时,需要更新bmc固件来实现,增加了bmc的版本发布次数以及维护次数。
45.本技术提供的bmc升级外接部件的固件程序的方法,bmc通过升级接口接收到用户发送的部件升级文件后,判断部件升级文件中是否包括部件升级工具。若部件升级文件中包括部件升级工具,则bmc对部件升级文件进行解析,得到部件升级工具以及部件固件文件。bmc通过部件升级工具将部件固件文件发送至部件中,此时完成了对部件的升级。
46.此外,bmc在接收到部件升级文件之前,预先初始化升级服务,如启动升级服务相关的程序。
47.将部件升级时需要的升级工具及部件固件文件打包成部件升级文件,在bmc内部集成的升级工具不满足当前升级需求时,只需要将部件升级文件升级,即可满足部件升级需求,无需升级bmc,减少了bmc的版本发布次数以及维护次数。
48.在上述实施例的基础上:
49.作为一种优选的实施例,判断部件升级文件中是否包括部件升级工具之前,还包括:
50.判断接收到的部件升级文件是否完整,若是,则进入判断部件升级文件中是否包括部件升级工具的步骤。
51.考虑到bmc接收到部件升级文件后,需要对部件升级文件进行解析,所以当部件升级文件存在问题时,如在传输过程中被更改,可能会对bmc以及服务器造成伤害。所以在接收到部件升级文件之后,对部件升级文件进行完整性校验。若部件升级文件完成,则判定在传输的过程中没有被更改,可以进行后续的判断及解析。
52.通过对部件升级文件是否完整进行判断,可以判断部件升级文件在传输的过程中
是否被更改,安全性更高。
53.作为一种优选的实施例,判断接收到的部件升级文件是否完整,包括:
54.对部件升级文件进行加密校验以及签名校验;
55.若加密校验以及签名校验通过,则判定接收到的部件升级文件完整;
56.若加密校验以及签名校验不通过,则判定接收到的部件升级文件不完整。
57.考虑到用户在发送部件升级文件时会先加密再发送至bmc,所以bmc对部件升级文件进行加密校验,可以判断文件是否被更改。此外,bmc还可以对部件升级文件进行签名校验,通过判断签名的正确性也可以判断文件是否被更改。考虑到需要对部件升级文件是否完整进行判断,本技术采用对部件升级文件的加密和签名进行校验。本技术采用的完整性判断包括但不限于加密校验及签名校验,此处不做过多限定。
58.通过加密校验及签名校验判断部件升级文件是否完整,较为准确的判断部件升级文件在传输的过程中是否被更改,提高数据传输的安全性。
59.作为一种优选的实施例,判定接收到的部件升级文件不完整之后,还包括:
60.提示部件升级文件错误,并返回接收部件升级文件的步骤。
61.当对部件升级文件的完整性校验不通过时,判定部件升级文件不完整,在传输的过程中有被更改的可能。所以在判定接收到的部件升级文件不完整之后,bmc提示部件升级文件错误,然后继续等待用户下一次发送新的部件升级文件。
62.具体的,bmc可以通过显示模块告知用于文件错误,或通过报警模块对文件错误进行播报,此处不做过多限定。
63.bmc在判定接收到的部件升级文件不完整之后,提示部件升级文件错误,用户可以了解文件在传输过程中被篡改,以便后续的维护。
64.作为一种优选的实施例,接收部件升级文件,包括:
65.通过ipmi(intelligent platform management interface,智能平台管理接口)接收部件升级文件。
66.用户可以通过ipmi将数据传输至bmc,包括但不限于将数据进行远程传输,传输数据更加方便快捷。将ipmi作为升级接口,使得传输数据更加方便快捷。
67.此外,升级接口包括但不限于ipmi,本发明在此处不做过多限定。
68.作为一种优选的实施例,对部件进行升级之后,还包括:
69.控制提示模块提示升级已完成。
70.考虑到部件接收到部件固件文件后可能不会及时对固件程序进行更新,所以在bmc通过部件升级工具将部件固件文件发送至部件后,会告知固件文件发送完成,以便部件对部件固件文件进行相应的处理,完成对部件固件程序的更新。提示模块包括但不限于向部件发送一个升级完成的信号。
71.在将部件固件文件发送至部件后,告知部件文件发送成功,便于部件及时对固件程序进行升级,提高数据传输效率。
72.作为一种优选的实施例,判断部件升级文件中是否包括部件升级工具之后,还包括:
73.若不包括部件升级工具,则解析部件升级文件,得到部件固件文件,则使用bmc内部集成的部件升级工具将部件固件文件发送至部件,以实现对部件进行升级。
74.考虑到bmc中依然会集成有部件升级工具,在判定部件升级文件中不包括部件升级工具之后,为对部件的固件程序进行升级,bmc会使用自身预先集成的部件升级工具将部件升级文件中的部件固件文件发送至部件中,以保证部件的固件程序的正常升级。
75.需要说明的是,部件升级文件可以不包括部件升级工具,但一般情况下都包括部件固件文件,故本技术不对部件升级文件中是否有部件固件文件进行判定。
76.此外,当bmc中集成的部件升级工具无法满足当前的升级请求时,往往不采用升级bmc来实现当前升级,而是升级部件升级文件中的部件升级工具及部件固件文件,减少了bmc的版本发布次数以及维护次数。
77.图2为本发明提供的一种bmc升级外接部件的固件程序的系统的结构示意图,包括:
78.接收单元21,用于接收部件升级文件;
79.判断单元22,用于判断部件升级文件中是否包括部件升级工具;
80.解析单元23,用于在部件升级文件中包括部件升级工具,则解析部件升级文件,得到部件升级工具和部件固件文件;
81.发送单元24,用于通过部件升级工具将部件固件文件发送至部件中,以实现对部件的升级。
82.本技术提供的bmc升级外接部件的固件程序的系统的介绍请参照上述实施例,在此处不再赘述。
83.图3为本发明提供的一种bmc的结构示意图,包括:
84.存储器31,用于存储计算机程序;
85.处理器32,用于执行计算机程序时实现上述bmc升级外接部件的固件程序的方法的步骤。
86.本技术提供的bmc的介绍请参照上述实施例,在此处不再赘述。
87.本发明还提供了一种服务器,包括上述的bmc。
88.本技术提供的服务器的介绍请参照上述实施例,在此处不再赘述。
89.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
90.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
91.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1