一种BMC升级方法、系统、设备以及存储介质与流程

文档序号:32394378发布日期:2022-11-30 09:40阅读:402来源:国知局
一种BMC升级方法、系统、设备以及存储介质与流程
一种bmc升级方法、系统、设备以及存储介质
技术领域
1.本发明涉及服务器领域,具体涉及一种bmc升级方法、系统、设备以及存储介质。


背景技术:

2.bmc升级功能是bmc迭代开发的一个重要组成部分。目前常用的bmc固件升级使用在线方式升级方式,用户可通过bmc网页实现在线升级;bmc升级过程中并不影响主机系统的运行。用户通过bmc的ip地址、用户名、用户密码登录bmc web界面,再通过上传bmc固件,执行bmc升级操作。
3.但是,目前该方法有几个缺点:1、每次只能升级一个bmc设备;2、升级下一个bmc设备需要登录对应的web网页。这对具有主bmc和从bmc的bmc系统升级带来极大的不便。
4.在对具有主bmc和从bmc的bmc系统升级时,需要打开二者的web界面,对二者分别进行升级。这样的方式比较繁琐,降低了升级效率,同时对主从bmc的固件版本控制带来了一定风险。


技术实现要素:

5.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种bmc升级方法,包括以下步骤:
6.响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
7.所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
8.响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
9.在一些实施例中,还包括:
10.将所述预设存储器的第三部分设置为表示升级中的第一标识;
11.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
12.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功;
13.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
14.退回原固件版本并向web端反馈升级失败。
15.在一些实施例中,还包括:
16.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
17.将所述从bmc退回原固件版本。
18.在一些实施例中,还包括:
19.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
20.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种bmc
升级系统,包括:
21.接收存储模块,配置为响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
22.第一升级模块,配置为所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;第二升级模块,配置为响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
23.在一些实施例中,还包括第一退回模块,第二升级模块还配置为:
24.将所述预设存储器的第三部分设置为表示升级中的第一标识;
25.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
26.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功;
27.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
28.退回原固件版本并向web端反馈升级失败。
29.在一些实施例中,还包括第一退回模块,配置为:
30.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
31.将所述从bmc退回原固件版本。
32.在一些实施例中,还包括检测模块:
33.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
34.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
35.至少一个处理器;以及
36.存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行以下步骤:
37.响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
38.所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
39.响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级并将所述预设存储器的第三部分设置为表示升级中的第一标识;
40.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
41.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功。
42.在一些实施例中,还包括:
43.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
44.退回原固件版本并向web端反馈升级失败。
45.在一些实施例中,还包括:
46.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
47.将所述从bmc退回原固件版本。
48.在一些实施例中,还包括:
49.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
50.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行以下步骤:响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
51.所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
52.响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级并将所述预设存储器的第三部分设置为表示升级中的第一标识;
53.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
54.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功。
55.在一些实施例中,还包括:
56.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
57.退回原固件版本并向web端反馈升级失败。
58.在一些实施例中,还包括:
59.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
60.将所述从bmc退回原固件版本。
61.在一些实施例中,还包括:
62.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
63.本发明具有以下有益技术效果之一:本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
附图说明
64.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
65.图1为本发明的实施例提供的bmc升级方法的流程示意图;
66.图2为本发明的实施例提供的bmc升级方法的流程框图;
67.图3为本发明的实施例提供的bmc升级系统的结构示意图;
68.图4为本发明的实施例提供的计算机设备的结构示意图;
69.图5为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
70.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照
附图,对本发明实施例进一步详细说明。
71.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
72.根据本发明的一个方面,本发明的实施例提出一种bmc升级方法,如图1所示,其可以包括步骤:
73.s1,响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
74.s2,所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
75.s3,响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
76.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
77.在一些实施例中,还包括:
78.将所述预设存储器的第三部分设置为表示升级中的第一标识;
79.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
80.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功。
81.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
82.退回原固件版本并向web端反馈升级失败。
83.在一些实施例中,还包括:
84.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
85.将所述从bmc退回原固件版本。
86.在一些实施例中,还包括:
87.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
88.具体的,可以在bmc系统中增加一个存储器,新增的存储器分别连接主bmc和从bmc,新增的存储器包括三个部分的存储,第一部分用于存放主从的升级状态;第二部分用于存放主设备当前的升级固件;第三部分为从bmc升级状态。支持用户操作主bmc设备升级的同时自动对从bmc进行同步升级。
89.如图2所示,具体升级过程可以如下:
90.1、通过web端对主bmc进行固件升级;
91.2、主bmc设备收到web端传来的升级信号,修改存储器的第一部分将升级状态设为升级中,同时将接收到的升级固件存入存储器的第二部分;
92.3、当主bmc升级完毕,校验存储器第二部分的固件信息,校验完毕后修改存储器第一部分,设升级状态为已完成,并等待从bmc升级完毕;
93.4、当从bmc检测到存储器第一部分的升级状态为已完成后,以存储器第二部分的固件刷新自身bmc固件,设存储器第三部分的升级状态为升级中,若升级完毕,修改存储器第三部分的升级状态为已完成,若失败,则设为升级失败。同时从bmc回退至上一个固件版
本。
94.5、主bmc检测存储器第三部分的升级状态。若为升级完成,则向web端发送升级成功的信号。若为升级失败,发送升级失败的信号。同时主bmc回退至上一个固件版本。
95.需要特别指出的是,上述bmc升级方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于bmc升级方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
96.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
97.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种bmc升级系统400,如图3所示,包括:
98.接收存储模块401,配置为响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
99.第一升级模块402,配置为所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
100.第二升级模块403,配置为响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
101.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
102.在一些实施例中,还包括第二升级模块403还配置为:
103.将所述预设存储器的第三部分设置为表示升级中的第一标识;
104.配置为响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
105.配置为响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功;
106.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
107.退回原固件版本并向web端反馈升级失败。
108.在一些实施例中,还包括第二退回模块,配置为:
109.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
110.将所述从bmc退回原固件版本。
111.在一些实施例中,还包括检测模块:
112.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
113.具体的,可以在bmc系统中增加一个存储器,新增的存储器分别连接主bmc和从bmc,新增的存储器包括三个部分的存储,第一部分用于存放主从的升级状态;第二部分用于存放主设备当前的升级固件;第三部分为从bmc升级状态。支持用户操作主bmc设备升级的同时自动对从bmc进行同步升级。
114.如图2所示,具体升级过程可以如下:
115.1、通过web端对主bmc进行固件升级;
116.2、主bmc设备收到web端传来的升级信号,修改存储器的第一部分将升级状态设为升级中,同时将接收到的升级固件存入存储器的第二部分;
117.3、当主bmc升级完毕,校验存储器第二部分的固件信息,校验完毕后修改存储器第一部分,设升级状态为已完成,并等待从bmc升级完毕;
118.4、当从bmc检测到存储器第一部分的升级状态为已完成后,以存储器第二部分的固件刷新自身bmc固件,设存储器第三部分的升级状态为升级中,若升级完毕,修改存储器第三部分的升级状态为已完成,若失败,则设为升级失败。同时从bmc回退至上一个固件版本。
119.5、主bmc检测存储器第三部分的升级状态。若为升级完成,则向web端发送升级成功的信号。若为升级失败,发送升级失败的信号。同时主bmc回退至上一个固件版本。
120.需要特别指出的是,上述bmc升级方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于bmc升级方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
121.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
122.基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机设备501,包括:
123.至少一个处理器520;以及
124.存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
125.s1,响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
126.s2,所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
127.s3,响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
128.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
129.在一些实施例中,还包括:
130.将所述预设存储器的第三部分设置为表示升级中的第一标识;
131.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
132.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功。
133.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
134.退回原固件版本并向web端反馈升级失败。
135.在一些实施例中,还包括:
136.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
137.将所述从bmc退回原固件版本。
138.在一些实施例中,还包括:
139.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本
并向web端反馈升级失败。
140.具体的,可以在bmc系统中增加一个存储器,新增的存储器分别连接主bmc和从bmc,新增的存储器包括三个部分的存储,第一部分用于存放主从的升级状态;第二部分用于存放主设备当前的升级固件;第三部分为从bmc升级状态。支持用户操作主bmc设备升级的同时自动对从bmc进行同步升级。
141.如图2所示,具体升级过程可以如下:
142.1、通过web端对主bmc进行固件升级;
143.2、主bmc设备收到web端传来的升级信号,修改存储器的第一部分将升级状态设为升级中,同时将接收到的升级固件存入存储器的第二部分;
144.3、当主bmc升级完毕,校验存储器第二部分的固件信息,校验完毕后修改存储器第一部分,设升级状态为已完成,并等待从bmc升级完毕;
145.4、当从bmc检测到存储器第一部分的升级状态为已完成后,以存储器第二部分的固件刷新自身bmc固件,设存储器第三部分的升级状态为升级中,若升级完毕,修改存储器第三部分的升级状态为已完成,若失败,则设为升级失败。同时从bmc回退至上一个固件版本。
146.5、主bmc检测存储器第三部分的升级状态。若为升级完成,则向web端发送升级成功的信号。若为升级失败,发送升级失败的信号。同时主bmc回退至上一个固件版本。
147.需要特别指出的是,上述bmc升级方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于bmc升级方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
148.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
149.基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序610,计算机程序610被处理器执行时执行以下步骤:
150.s1,响应于主bmc接收到web端的升级指令和升级固件,将预设存储器的第一部分设置为表示升级中的第一标识并将所述升级固件存入到所述预设存储器的第二部分;
151.s2,所述主bmc利用所述第二部分中的升级固件进行升级并在升级成功后将所述第一部分设置为表示升级成功的第二标识;
152.s3,响应于所述从bmc检测到所述第一部分为第二标识,获取所述第二部分中的升级固件进行从bmc的升级。
153.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
154.在一些实施例中,还包括:
155.将所述预设存储器的第三部分设置为表示升级中的第一标识;
156.响应于所述从bmc升级成功,将所述第三部分设置为表示升级成功的第二标识;
157.响应于所述主bmc检测到所述第三部分为第二标识,向所述web端反馈升级成功。
158.响应于所述主bmc升级失败,将所述第一部分设置为表示升级失败的第三标识;
159.退回原固件版本并向web端反馈升级失败。
160.在一些实施例中,还包括:
161.响应于所述从bmc升级失败,将所述第三部分设置为表示升级失败的第三标识;
162.将所述从bmc退回原固件版本。
163.在一些实施例中,还包括:
164.响应于所述主bmc检测到所述第三部分为第三标识,将所述主bmc退回原固件版本并向web端反馈升级失败。
165.具体的,可以在bmc系统中增加一个存储器,新增的存储器分别连接主bmc和从bmc,新增的存储器包括三个部分的存储,第一部分用于存放主从的升级状态;第二部分用于存放主设备当前的升级固件;第三部分为从bmc升级状态。支持用户操作主bmc设备升级的同时自动对从bmc进行同步升级。
166.如图2所示,具体升级过程可以如下:
167.1、通过web端对主bmc进行固件升级;
168.2、主bmc设备收到web端传来的升级信号,修改存储器的第一部分将升级状态设为升级中,同时将接收到的升级固件存入存储器的第二部分;
169.3、当主bmc升级完毕,校验存储器第二部分的固件信息,校验完毕后修改存储器第一部分,设升级状态为已完成,并等待从bmc升级完毕;
170.4、当从bmc检测到存储器第一部分的升级状态为已完成后,以存储器第二部分的固件刷新自身bmc固件,设存储器第三部分的升级状态为升级中,若升级完毕,修改存储器第三部分的升级状态为已完成,若失败,则设为升级失败。同时从bmc回退至上一个固件版本。
171.5、主bmc检测存储器第三部分的升级状态。若为升级完成,则向web端发送升级成功的信号。若为升级失败,发送升级失败的信号。同时主bmc回退至上一个固件版本。
172.需要特别指出的是,上述bmc升级方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于bmc升级方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
173.本发明提出的方案能够更加方便、更加效率的对两个bmc进行升级,同时也减少了主从bmc固件版本不一致的风险。
174.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
175.此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
176.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
177.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本
发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
178.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
179.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
180.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
181.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1