CN116661818A - 一种bmc软件系统的升级方法、装置及存储介质 - Google Patents
一种bmc软件系统的升级方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116661818A CN116661818A CN202310477127.1A CN202310477127A CN116661818A CN 116661818 A CN116661818 A CN 116661818A CN 202310477127 A CN202310477127 A CN 202310477127A CN 116661818 A CN116661818 A CN 116661818A
- Authority
- CN
- China
- Prior art keywords
- target
- bmc
- software system
- service
- state
- 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 84
- 230000002159 abnormal effect Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims 2
- 238000007726 management method Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- 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)
- 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当前运行的第二软件系统回退至第一软件系统。
Description
技术领域
本申请实施例涉及服务器领域,尤其涉及一种基板管理控制器(baseboardmanagement controller,BMC)软件系统的升级方法、装置及存储介质。
背景技术
随着计算设备中基板管理控制器(baseboard management controller,BMC)的功能不断增加,需要不断的对BMC的软件系统进行升级。
常见的BMC的软件系统的升级方法是,BMC在启动待升级的软件系统(简称:软件系统A)的过程中,通过检测该软件系统A所在的数据包的完整性,确定该软件系统A是否升级成功,其中,当该数据包完整时,确定软件系统A升级成功。当该数据包的不完整时,确定软件系统A升级失败,然后,将BMC的软件系统从软件系统A回退至升级前的版本。
然而,在基于上述升级方法对BMC的软件系统升级完成后,当该BMC的软件系统不能正常运行时,该BMC处于托管状态;而BMC处于托管状态时,该BMC不能被远程管理,只能通过其他设备连接该BMC所在的计算设备上的物理端口手动将该BMC当前运行的软件系统回退至升级前的软件系统,从而降低了BMC的稳定性。
发明内容
本申请实施例提供一种BMC软件系统的升级方法、装置及存储介质,能够提高BMC的稳定性。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种BMC软件系统的升级方法,该方法包括:将BMC当前运行的第一软件系统升级为第二软件系统;获取软件系统升级后的BMC的目标特征的数据;判断目标特征的数据是否满足目标条件;在目标特征的数据不满足目标条件的情况下,将BMC当前运行的第二软件系统回退至第一软件系统。
本申请实施例提供了一种BMC软件系统的升级方法,在将BMC当前运行的第一软件系统升级为第二软件系统之后,通过判断BMC的目标特征的数据是否满足目标条件,确定该第二软件系统是否升级成功,在该第二软件系统升级失败的情况下,将该BMC当前运行的第二软件系统回退至升级前的第一软件系统,从而避免了BMC因目标特征的数据异常,而导致该BMC处于托管状态的情况,因此,提高了BMC的稳定性。
一种可能的实现方式中,上述目标特征包括:BMC的目标资源特征;该目标资源特征包括:BMC中处理器CPU的使用率、该BMC中内存的使用率和该BMC的网络的时延中的至少一个。
一种可能的实现方式中,上述目标特征包括:BMC的目标服务特征;该目标服务特征包括:BMC中第一服务的启动状态、该BMC中目标文件的读写状态和该BMC中第二服务的运行状态中的至少一个;其中,该第一服务是上述BMC中多个服务中的至少一个服务,该第一服务的启动状态包括:启动或未启动;该目标文件是上述BMC的多个配置文件中至少一个配置文件,该目标文件的读写状态包括:可读写状态或不可读写状态;该第二服务是上述BMC提供的多个服务中至少一个服务,该第二服务的运行状态包括:正常状态或异常状态。
一种可能的实现方式中,当上述目标特征包括:CPU的使用率时,上述目标条件包括:CPU的使用率小于第一CPU使用率;或,该目标条件包括:上述CPU的使用率与该BMC在运行第一软件系统过程中该CPU的最大使用率之差小于第二CPU使用率;或者当上述目标特征包括:BMC中内存的使用率时,上述目标条件包括:该内存的使用率小于第一内存使用率;或,该目标条件包括:该内存的使用率与BMC在运行第一软件系统过程中该内存的最大使用率之差小于第二内存使用率;或者当上述目标特征包括:BMC的网络的时延时,上述目标条件包括:该网络的时延小于目标时延。
一种可能的实现方式中,当上述目标特征包括:第一服务的启动状态时,上述目标条件包括:该第一服务的启动状态为启动;或者当上述目标特征包括:该目标文件的读写状态时,上述目标条件包括:目标文件的读写状态为可读写状态;或者当上述目标特征包括:第二服务的运行状态时,上述目标条件包括:第二服务的运行状态是正常状态。
一种可能的实现方式中,在目标特征的数据不满足上述目标条件之后,该方法还包括:存储上述目标条件中目标特征的数据不满足的异常条件。
一种可能的实现方式中,上述方法还包括:获取第一操作,该第一操作是对目标特征的更新操作;根据该第一操作更新上述目标特征。
一种可能的实现方式中,上述方法还包括:获取第二操作,该第二操作是对目标条件的更新操作;根据该第二操作更新上述目标条件。
本申请实施例根据用于更新目标特征的第一操作更新目标特征,以及根据用于更新目标条件的第二操作更新目标条件,其中,二者可以独立使用,也可以结合使用;从而让目标特征和目标条件始终适用于BMC运行的升级后的软件系统,进一步的,以使BMC后续根据目标特征的数据和目标条件确定的第二软件系统是否升级成功的准确度提高。
第二方面,本申请实施例提供一种计算设备,该计算设备包括:处理单元和收发单元;处理单元用于将BMC当前运行的第一软件系统升级为第二软件系统;收发单元用于获取软件系统升级后的BMC的目标特征的数据;处理单元用于判断目标特征的数据是否满足目标条件;在目标特征的数据不满足目标条件的情况下,将BMC当前运行的第二软件系统回退至第一软件系统。
一种可能的实现方式中,上述目标特征包括:BMC的目标资源特征;该目标资源特征包括:BMC中处理器CPU的使用率、该BMC中内存的使用率和该BMC的网络的时延中的至少一个。
一种可能的实现方式中,上述目标特征包括:BMC的目标服务特征;该目标服务特征包括:BMC中第一服务的启动状态、该BMC中目标文件的读写状态和该BMC中第二服务的运行状态中的至少一个;其中,该第一服务是上述BMC中多个服务中的至少一个服务,该第一服务的启动状态包括:启动或未启动;该目标文件是上述BMC的多个配置文件中至少一个配置文件,该目标文件的读写状态包括:可读写状态或不可读写状态;该第二服务是上述BMC提供的多个服务中至少一个服务,该第二服务的运行状态包括:正常状态或异常状态。
一种可能的实现方式中,当上述目标特征包括:CPU的使用率时,上述目标条件包括:CPU的使用率小于第一CPU使用率;或,该目标条件包括:上述CPU的使用率与该BMC在运行第一软件系统过程中该CPU的最大使用率之差小于第二CPU使用率;或者当上述目标特征包括:BMC中内存的使用率时,上述目标条件包括:该内存的使用率小于第一内存使用率;或,该目标条件包括:该内存的使用率与BMC在运行第一软件系统过程中该内存的最大使用率之差小于第二内存使用率;或者当上述目标特征包括:BMC的网络的时延时,上述目标条件包括:该网络的时延小于目标时延。
一种可能的实现方式中,当上述目标特征包括:第一服务的启动状态时,上述目标条件包括:该第一服务的启动状态为启动;或者当上述目标特征包括:该目标文件的读写状态时,上述目标条件包括:目标文件的读写状态为可读写状态;或者当上述目标特征包括:第二服务的运行状态时,上述目标条件包括:第二服务的运行状态是正常状态。
一种可能的实现方式中,上述计算设备还包括存储单元;存储单元还用于存储目标条件中目标特征的数据不满足的异常条件。
一种可能的实现方式中,收发单元用于获取第一操作,第一操作是对目标特征的更新操作;处理单元用于根据第一操作更新目标特征。
一种可能的实现方式中,收发单元用于获取第二操作,第二操作是对目标条件的更新操作;处理单元用于根据第二操作更新目标条件。
第三方面,本申请实施例提供一种BMC芯片,包括存储器和处理器,存储器与处理器耦合;存储器用于存储计算机程序代码,其中,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得注册设备执行第一方面及其可能的实现方式中任意之一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机指令,当计算机指令在计算设备上运行时,使得计算设备执行上述第一方面及其可能的实现方式中任意之一所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其可能的实现方式中任意之一所述的方法。
应当理解的是,本申请实施例的第二方面至第五方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种计算设备的硬件结构示意图;
图2为本申请实施例提供的一种BMC软件系统的升级方法流程示意图一;
图3为本申请实施例提供的一种BMC软件系统的升级方法流程示意图二;
图4为本申请实施例提供的一种更新方法流程示意图;
图5为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一软件系统和第二软件系统等是用于区别不同的软件系统,而不是用于描述软件系统的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个功能模块是指两个或两个以上的功能模块。
随着计算设备中BMC的功能不断完善,需要不断地对BMC中的软件系统进行升级。
常见的BMC的软件系统的升级方法包括:将待升级的软件系统A下载至BMC的存储区域中的备区,其中,该BMC的存储区域中包括主区和备区,主区用于存储BMC升级前的软件系统B。然后,将BMC中的主区和备区之间的主备关系进行转换,以使BMC从之前的备区进行启动(即:启动软件系统A),在该启动过程中,BMC通过检测软件系统A所在的数据包的完整性,确定该软件系统A是否升级成功,其中,当该数据包完整时,确定软件系统A升级成功。当该数据包的不完整时,确定软件系统A升级失败,然后,将BMC的软件系统从软件系统A回退至升级前的软件系统B。
上述升级方法是在BMC启动软件系统A的过程中,通过判断软件系统A所在数据包的完整性,确定软件系统A是否升级成功;然而,当该软件系统A升级完成后不能正常运行时,该BMC并不能主动将软件系统A回退至升级前的软件系统B,以使得该BMC处于托管状态;而BMC处于托管状态时,该BMC不能被远程管理,只能通过其他设备连接该BMC所在的计算设备上的物理端口手动将该BMC当前运行的软件系统回退至升级前的软件系统,从而降低了BMC的稳定性。
基于此,本申请实施例提供了一种BMC软件系统的升级方法,该方法在将BMC当前运行的第一软件系统升级为第二软件系统之后,通过判断BMC的目标特征的数据是否满足目标条件,确定该第二软件系统是否升级成功,在该第二软件系统升级失败的情况下,将该BMC当前运行的第二软件系统回退至升级前的第一软件系统,从而避免了BMC因目标特征的数据异常,而导致该BMC处于托管状态的情况,因此,提高了BMC的稳定性。
如图1所示,为本申请实施例提供的一种计算设备的硬件结构示意图。该计算机设备的硬件部分包括处理器(central processing unit,CPU)、带外控制器以及内存,软件部分主要包括处理器固件以及操作系统(operating system,OS)管理单元。
示例性的,带外控制器可以包括计算机设备运行状态的管理单元、处理器外的管理芯片中的管理系统、计算机设备主板管理单元(baseboard management controller,BMC)、系统管理模块(system management mode,SMM)等。需要说明的,在下述实施例中,仅以带外控制器为BMC为例进行说明。
需要说明的,下述实施例中描述的带外控制器执行某个步骤(如以下的S110-S140)。
示例性的,处理器固件(也称为处理器固件程序)可以为Firmware、基本输入输出系统(basic input output system,BIOS)、管理引擎(management engine,ME)、微码或智能管理单元(intelligent management unit,IMU)等固件。需要说明的,本申请实施例对处理器固件的具体形式并不限定,以上仅为示例性说明。
其中,内存,也称为内存储器或主存储器,安装在计算机设备的主板上的内存插槽中,内存与内存控制器之间通过内存通道(channel)进行通信。
需要说明的,本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
需要说明的是,执行本申请实施例提供的软件系统的升级方法的装置可以是上述图1所示的计算设备中的BMC或CPU,本申请实施例以BMC为执行主体进行说明,后续不再赘述。
本申请实施例提供的一种BMC软件系统的升级方法,如图2所示,该方法可以包括S110-S140。
S110、BMC将BMC当前运行的第一软件系统升级为第二软件系统。
需要说明的是,上述BMC将第一软件系统升级为第二软件系统的具体过程包括:BMC在运行第一软件系统的过程中,将待升级的第二软件系统下载至BMC的存储区域中的A区;此时,该第一软件系统存储在BMC的存储区域中的B区;其中,B区为主区,A区为备区,即该B区和A区存在主备关系;然后,BMC对该B区和A区进行主备转换,即:将A区确定为主区;将B区确定为备区,以使BMC从A区(主区)启动后,运行A区存储的第二软件系统。
S120、BMC获取软件系统升级后的BMC的目标特征的数据。
上述计算设备是BMC所在的设备;其中,该BMC当前运行的软件系统为该BMC升级后的软件系统,即:第二软件系统。
需要说明的是,当上述第二软件系统中存在漏洞BUG时,上述BMC在运行该第二软件系统的过程中,可能导致该BMC的多个特征中的部分特征(即:目标特征)的数据异常;也就是说,上述目标特征是该BMC运行升级后的软件系统(即:第二软件系统)时,可能导致该BMC的多个特征中数据异常的特征。
上述目标特征包括:该BMC的目标资源特征,和/或该BMC的目标服务特征;其中,目标资源特征是该BMC运行上述第二软件系统时,可能导致该BMC的多个资源特征中数据发生异常的资源特征。上述目标服务特征是该BMC运行第二软件系统时,可能导致该BMC的多个服务特征中数据发生异常的服务特征。
应理解的是,当上述第二软件系统中存在BUG时,可能导致该第二软件系统中部分或全部服务不能正常运行,或者导致该BMC中的可用资源量急剧减少。
其中,上述目标资源特征包括:上述BMC中CPU的使用率,和/或该BMC中内存的使用率,和/或BMC的网络的时延;其中,BMC的网络的时延用于指示该BMC访问与该BMC具有连接关系的器件(如:路由器)的时长。
上述目标服务特征包括:该BMC中第一服务的启动状态、BMC中目标文件的读写状态和BMC中第二服务的运行状态中的至少一个。
上述第一服务是上述BMC中多个服务中的至少一个服务;例如:该第一服务可以是BMC中的用户鉴权服务,和/或自动退出服务,其中,该用户鉴权服务用于确定当前登录BMC的用户的权限;该自动退出服务用于对当前登录BMC的用户中在预定时间内没有执行任何操作的用户执行退出登录(即:自动下线)的操作;该第一服务的启动状态包括:启动或未启动。
需要说明的是,上述第一服务的启动状态用于指示上述BMC当前运行的软件系统(即:第二软件系统)中是否存在该第一服务对应的功能,当第一服务的启动状态为启动时,第二软件系统中存在该第一服务对应功能;当第一服务的启动状态为未启动时,第二软件系统中不存在该第一服务对应的功能。
示例性的,假设第一服务是BMC的登录服务,BMC当前运行的软件系统为第二软件系统;那么,该BMC的登录服务的启动状态用于指示第二软件系统中是否存在BMC的登录功能,当该BMC的登录服务的启动状态为启动时,该第二软件系统中存在BMC的登录功能;该BMC的登录服务的启动状态为未启动时,该第二软件系统中不存在BMC的登录功能。
上述目标文件是上述BMC的多个配置文件中至少一个配置文件,例如,BMC中用于存储用户密码的文件,和/或BMC中第三方提供的对用户密码进行加密的证书文件;该目标文件的读写状态包括:可读写状态或不可读写状态。
上述第二服务是上述BMC提供的多个服务中的至少一个服务,例如,BMC的登录服务,和/或BMC的管理服务;上述第二服务的运行状态包括:正常状态或异常状态。
上述第二服务的运行状态用于指示上述BMC当前运行的软件系统(即:第二软件系统)中的该第二服务能否正常运行,其中,该第二服务是第二软件系统中的任意一个服务;当该第二服务的运行状态为正常状态时,该第二服务的可以正常运行;当第二服务的运行状态为异常状态时,该第二服务的不能正常运行。
示例性的,假设第二服务器是BMC的登录服务,该BMC的登录服务正常运行时的内部逻辑是当用户输入的目标密码与BMC中目标文件中存储的密码一致时,用户登录成功;当用户输入的目标密码与BMC中目标文件中存储的密码不一致时,用户登录失败。其中,目标文件中存储的密码为“pwd”;那么,在用户输入的目标密码为“pwd”的情况下,如果该用户登录成功,即确定该BMC的登录服务的运行状态为正常状态;如果该用户登录失败,即确定该BMC的登录服务的运行状态为异常状态。
需要说明的是,上述BMC是从本地直接获取该BMC中的CPU的使用率和该BMC中的内存的使用率的。上述第一服务的启动状态是BMC通过从该本地日志中查看是否存在第一服务对应的进程或线程号确定的;其中,当第一服务对应的进程或线程号存在时,将该第一服务为启动状态为启动,当第一服务对应的进程或线程号不存在时,将该第一服务为启动状态为未启动。上述目标文件的读写状态是BMC通过对该目标文件执行读写操作确定的。上述第二服务的运行状态可以通过BMC通过运行该第二服务确定。此外,BMC通过连接与该BMC具有直接连接关系的路由器获取该BMC的网络的时延。
示例性的,假设目标特征包括:用于存储用户密码的文件(简称:文件A)的读写状态、BMC的登录服务的运行状态以及BMC的网络的时延;那么,BMC对文件A中的内容执行读写操作,当读写操作执行成功时,该文件A的读写状态为可读写状态;当该读写操作执行失败时,该文件A的读写状态为不可读写状态。BMC在BMC的登录服务中输入正确的密码,当登录成功时,该BMC的登录服务的状态为正常状态;当登录失败时,该BMC的登录服务的状态为异常状态。BMC以PING命令的方式连接目标路由器,获取该BMC的网络的时延,其中,目标路由器是计算设备中与该BMC具有直接连接关系的路由器。
应理解的是,上述S120获取的目标特征的数据是第一时间段内该目标特征的数据。示例性地,第一时间段可以是预设的。
S130、BMC判断目标特征的数据是否满足目标条件。
上述目标条件是目标特征的数据需要匹配的条件,示例性地,目标条件可以是预设;该目标条件具体包括:
当上述目标特征包括:上述CPU的使用率时;该目标条件包括:CPU的使用率小于第一CPU使用率;或,该目标条件包括:CPU的使用率与该BMC在运行上述第一软件系统过程中该CPU的最大使用率之差小于第二CPU使用率。示例性地,上述第一CPU使用率和第二CPU使用率可以是预设的。
上述第一软件系统是上述BMC升级前的软件系统,例如,第一软件系统的版本号低于上述第二软件系统的版本号。
需要说明的是,当BMC运行上述第二软件系统的过程中该BMC中的CPU的使用率与该BMC运行上述第一软件系统时该CPU的最大使用率之差大于或等于第二CPU使用率时,则说明当前CPU的使用率的恶化值超出该CPU的最大承受值;所以将BMC运行的第二软件系统回退至第一软件系统,从而保证了BMC中的CPU使用率始终处于该CPU可接受范围之内,从而提高了该CPU的可靠性。
示例性的,假设第一CPU使用率为80%,上述目标条件包括:CPU的使用率小于80%;或者,假设计算设备在运行第一软件系统过程中该CPU的最大使用率70%,第二CPU使用率为15%,上述目标条件包括:CPU的使用率的小于85%。
当上述目标特征包括:上述内存的使用率时,上述目标条件包括:内存的使用率小于第一内存使用率;或,上述目标条件包括:内存的使用率与该BMC运行上述第一软件系统过程中该内存的最大使用率之差小于第二内存使用率。示例性地,上述第一内存使用率和第二内存使用率可以是预设的。
需要说明的是,当BMC运行上述第二软件系统的过程中该BMC中的内存的使用率与该BMC运行上述第一软件系统时该内存的最大使用率之差大于第二内存使用率时,则说明当前内存的使用率的恶化值超出该内存的最大承受值;所以将BMC运行的第二软件系统回退至第一软件系统,从而保证了BMC中的内存的使用率始终处于该内存可接受范围之内,从而提高了该内存的可靠性。
示例性的,假设第一内存使用率为90%,上述目标条件包括:内存的使用率小于90%;或者,假设计算设备在运行第一软件系统过程中该内存的最大使用率60%,第二内存使用率为15%,上述目标条件包括:内存的使用率的小于75%。
当上述目标特征包括:BMC的网络的时延时,上述目标条件包括:网络的时延小于目标时延。示例性地,上述目标时延可以是预设的。
示例性的,假设目标时延为200ms时,上述预测条件包括BMC的网络的时延小于200ms。
在一种可选实施例中,上述目标资源特征还包括:该BMC的物理端口的连接Link状态对应值,该Link状态包括:正常状态或异常状态。例如,正常状态的对应值为1,异常状态的对应值为0;该Link状态为正常状态时该BMC通过该物理端口接收的I/O数据量,大于该Link状态为异常状态时该BMC通过该物理端口接收的I/O数据量。此时,上述目标条件的包括:上述Link状态对应值大于或等于第三阈值;其中,该第三阈值是上述BMC运行第一软件系统时,该物理端口的Link状态对应值。
当上述目标特征包括:上述第一服务的启动状态时,上述目标条件包括:第一服务的启动状态为启动。
示例性的,假设第一服务为BMC的用户鉴权服务时,上述目标条件包括:BMC的用户鉴权服务的启动状态为启动;又假设第一服务为BMC的自动退出服务时,上述目标条件包括:BMC的自动退出服务的启动状态为启动。
当上述目标特征包括:上述目标文件的读写状态时,上述目标条件包括:上述目标文件的读写状态为可读写状态。
示例性的,假设目标文件为用于存储用户密码的文件A时,上述目标条件包括:文件A的读写状态为可读写状态;又假设目标文件为BMC中第三方提供的对用户密码进行加密的证书文件(简称:文件B)时,上述目标条件包括:文件B的读写状态为可读写状态。
当上述目标特征包括:上述第二服务的运行状态时,上述目标条件包括:上述第二服务的运行状态是正常状态。
示例性的,假设第二服务为BMC的登录服务时,上述目标条件包括:BMC的登录服务的运行状态为正常状态;又假设第二服务为BMC的管理服务时,上述目标条件包括:BMC的管理服务的运行状态为正常状态。
应理解的是,上述目标条件是与上述目标特征一一对应的,也就是说,当目标特征中增加一个特征时,该目标条件中也需增加该特征对应的条件;例如,当目标特征包括:第一服务的启动状态和目标文件的读写状态时,目标条件包括:第一服务的启动状态为启动和目标文件的读写状态为可读写状态。当向该目标特征中增加BMC的网络的时延时,需要向该目标条件中增加该BMC的网络的时延的对应的条件,以使得该目标条件包括第一服务的启动状态为启动,目标文件的读写状态为可读写状态以及网络的时延小于目标时延。
上述S130的具体实现包括:判断目标特征的数据与目标条件中的该目标特征对应的数据是否匹配,当匹配时,确定该目标特征的数据满足目标条件;当不匹配时,确定该目标特征的数据不满足目标条件。
示例性的,假设目标特征的数据包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为不可读写状态;BMC的网络的时延为100ms;上述目标条件包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为可读写状态;以及BMC的网络的时延小于200ms;那么此时,目标特征中的BMC的登录服务的启动状态和BMC的网络的时延满足目标条件,但目标特征中的目标文件的读写状态不满足目标条件,从而确定该目标特征的数据不满足目标条件。
需要说明的是,当上述目标特征的数据满足目标条件时,将确定BMC当前运行的第二软件系统升级成功;当上述目标特征的数据不满足该目标条件时,将确定该第二软件系统为升级失败。
当确定BMC当前运行的第二软件系统升级成功时,BMC执行结束动作。
当确定BMC当前运行的第二软件系统升级失败时,BMC执行下述S140。
S140、BMC将第二软件系统回退至BMC第一软件系统。
上述第一软件系统是上述BMC升级前的软件系统。
需要说明的是,上述BMC将第一软件系统升级为第二软件系统的具体过程包括:BMC在运行第一软件系统的过程中,将待升级的第二软件系统下载至BMC的存储区域中的A区;此时,该第一软件系统存储在BMC的存储区域中的B区;其中,B区为主区,A区为备区,即该B区和A区存在主备关系;然后,BMC对该B区和A区进行主备转换,即:将A区确定为主区;将B区确定为备区,以使BMC从A区(主区)启动后,运行A区存储的第二软件系统。
应理解的是,上述BMC运行在第二软件系统的过程中,该BMC的存储区域的备区(即:B区)中存储了BMC升级前的第一软件系统。基于此,上述S140的具体实现方法包括:BMC对A区(主区)和B区(备区)再次执行主备转换,以使BMC从主区(即:B区)启动并运行该第一软件系统。
需要说明的是,上述S110-S140是在BMC运行上述第二软件系统后的预设时间段内执行的。
本申请实施例提供了一种BMC软件系统的升级方法,在将BMC当前运行的第一软件系统升级为第二软件系统之后,通过判断BMC的目标特征的数据是否满足目标条件,确定该第二软件系统是否升级成功,在该第二软件系统升级失败的情况下,将该BMC当前运行的第二软件系统回退至升级前的第一软件系统,从而避免了BMC因目标特征的数据异常,而导致该BMC处于托管状态的情况,因此,提高了BMC的稳定性。
在一种实施例中,BMC在执行上述S140之前,如图3所示,还包括:S210-S220。
S210、BMC将目标条件中目标特征的数据不满足的条件,确定为异常条件。
需要说明的是,上述异常条件是上述BMC将第二软件系统回退至第一软件系统的回退原因。
示例性的,假设目标特征的数据包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为不可读写状态;BMC的网络的时延为100ms。目标条件包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为可读写状态;以及BMC的网络的时延小于200ms。那么此时,目标特征中的目标文件的读写状态不满足目标条件,所以将目标条件中的“BMC的网络的时延小于200ms”这一条件确定为异常条件。通过该异常条件可知,回退原因是目标特征的数据达不到该“BMC的网络的时延小于200ms”这一条件。
S220、BMC存储异常条件。
需要说明的是,上述异常条件可以存储在BMC的存储区域中,还可以存储在BMC所在的计算设备中的内存中,具体本申请实施例不对上述异常条件的存储位置进行限定。
需要说明的是,上述S210-S220是存储目标条件中上述目标特征的数据不满足的异常条件的具体实现方法。
本申请实施例通过存储目标条件中目标特征的数据不满足的条件(即:异常条件),以使用户后续直接根据该异常条件定位第二软件系统中的BUG位置,从而提高了修复第二软件系统的效率。
随着BMC的软件系统的不断迭代,可能导致上述目标特征和目标条件发生变化;基于此,本申请实施例提供了一种更新方法,用于更新上述目标特征和目标条件;具体如图4所示,该方法包括:S310-S340。
S310、BMC获取第一操作。
上述第一操作是对上述目标特征的更新操作,该更新操作包括:对目标特征进行增加操作、修改操作或删除操作。
需要说明的是,上述第一操作可以是BMC从该BMC所在的计算设备中的中央处理器上接收上述第一操作;也可以是BMC从其他设备接收上述第一操作,其中,该其他设备是除BMC所在的计算设备以外的计算设备;具体本申请实施例不对上述BMC获取第一操作的具体实现方式进行限定。
S320、BMC根据第一操作更新目标特征。
示例性的,假设目标特征包括:BMC的登录服务的启动状态;目标文件的读写状态以及BMC的网络的时延;第一操作是删除目标特征中的BMC的网络的时延这一特征的操作;那么,BMC执行该第一操作,从目标特征中删除BMC的网络的时延这一特征;以使得更新后的目标特征仅包括BMC的登录服务的启动状态和目标文件的读写状态。
S330、BMC获取第二操作。
上述第二操作是对上述目标条件的更新操作,该更新操作包括对目标条件的内容进行修改操作,对目标条件的内容进行删除操作或向目标条件中添加内容的操作。
需要说明的是,上述S330的实现方式与S310的实现方式类似,具体对于S330的具体描述可以参考上述对于S310的相关描述,此处不再赘述。
S340、BMC根据第二操作更新目标条件。
示例性的,假设目标条件包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为可读写状态;以及BMC的网络的时延小于200ms。当上述第二操作是将“BMC的网络的时延小于200ms”修改为“BMC的网络的时延小于300ms”的操作,BMC执行该第二操作,以使的更新后的目标条件包括:BMC的登录服务的启动状态为启动;目标文件的读写状态为可读写状态;以及BMC的网络的时延小于300ms。
需要说明的是,本申请实施例并不限定S310-S320与上述S330-S340的执行顺序,也就是说,BMC可以先执行S310-S320,后执行S330-S340;BMC还可以先执行S330-S340,后执行S310-S320。
本申请实施例根据用于更新目标特征的第一操作更新目标特征,以及根据用于更新目标条件的第二操作更新目标条件,其中,二者可以独立使用,也可以结合使用;从而让目标特征和目标条件始终适用于BMC运行的升级后的软件系统,进一步的,以使BMC后续根据目标特征的数据和目标条件确定的第二软件系统是否升级成功的准确度提高。
相应地,本申请实施例提供一种计算设备,该计算设备中包括BMC。本申请实施例可以根据上述方法示例对该计算设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,上述计算设备用于软件系统的升级方法中各个步骤,图5示出上述实施例中所涉及的计算设备的一种可能的结构示意图。如图5所示,该计算设备包括:处理单元101和收发单元102。
处理单元101用于将BMC当前运行的第一软件系统升级为第二软件系统;例如执行上述方法实施例中的步骤S110。
收发单元102用于获取软件系统升级后的BMC的目标特征的数据;例如执行上述方法实施例中的步骤S120。
处理单元101还用于判断目标特征的数据是否满足目标条件,当确定BMC当前运行的第二软件系统升级失败时,将第二软件系统回退至BMC第一软件系统;例如执行上述方法实施例中的步骤S130-S140。
可选的,上述计算设备还包括:存储单元103。
处理单元101用于将目标条件中目标特征的数据不满足的条件,确定为异常条件;例如执行上述方法实施例中的步骤S210。
存储单元103用于存储异常条件;例如执行上述方法实施例中的步骤S220。
可选的,收发单元102用于获取第一操作;例如执行上述方法实施例中的步骤S310。
处理单元101用于根据第一操作更新目标特征;例如执行上述方法实施例中的步骤S320。
可选的,收发单元102用于获取第二操作;例如执行上述方法实施例中的步骤S330。
处理单元101用于根据第二操作更新目标条件;例如执行上述方法实施例中的步骤S340。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种BMC的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,当计算机指令在计算设备上运行时,使得计算设备执行上述BMC执行的任意方法。
本申请实施例还提供了一种BMC芯片,包括:处理器和存储器,处理器与存储器连接。存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现上述图2-图4提供的任意一种方法。
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述BMC执行的任意之一所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基板管理控制器BMC软件系统的升级方法,其特征在于,包括:
将BMC当前运行的第一软件系统升级为第二软件系统;
获取软件系统升级后的所述BMC的目标特征的数据;
判断所述目标特征的数据是否满足目标条件;
在所述目标特征的数据不满足所述目标条件的情况下,将所述BMC当前运行的所述第二软件系统回退至所述第一软件系统。
2.根据权利要求1所述的方法,其特征在于,
所述目标特征包括:所述BMC的目标资源特征;所述目标资源特征包括:所述BMC中处理器CPU的使用率、所述BMC中内存的使用率和所述BMC的网络的时延中的至少一个。
3.根据权利要求1或2所述的方法,其特征在于,
所述目标特征包括:所述BMC的目标服务特征;所述目标服务特征包括:所述BMC中第一服务的启动状态、所述BMC中目标文件的读写状态和所述BMC中第二服务的运行状态中的至少一个;
其中,所述第一服务是所述BMC中多个服务中的至少一个服务,所述第一服务的启动状态包括:启动或未启动;所述目标文件是所述BMC的多个配置文件中至少一个配置文件,所述目标文件的读写状态包括:可读写状态或不可读写状态;所述第二服务是所述BMC提供的多个服务中至少一个服务,所述第二服务的运行状态包括:正常状态或异常状态。
4.根据权利要求2所述的方法,其特征在于,
当所述目标特征包括:所述CPU的使用率时,所述目标条件包括:所述CPU的使用率小于第一CPU使用率;或,所述目标条件包括:所述CPU的使用率与所述BMC在运行所述第一软件系统过程中所述CPU的最大使用率之差小于第二CPU使用率;或者
当所述目标特征包括:所述内存的使用率时,所述目标条件包括:所述内存的使用率小于第一内存使用率;或,所述目标条件包括:所述内存的使用率与所述BMC在运行所述第一软件系统过程中所述内存的最大使用率之差小于第二内存使用率;或者
当所述目标特征包括:所述BMC的网络的时延时,所述目标条件包括:所述网络的时延小于目标时延。
5.根据权利要求3所述的方法,其特征在于,
当所述目标特征包括:所述第一服务的启动状态时,所述目标条件包括:所述第一服务的启动状态为启动;或者
当所述目标特征包括:所述目标文件的读写状态时,所述目标条件包括:所述目标文件的读写状态为可读写状态;或者
当所述目标特征包括:所述第二服务的运行状态时,所述目标条件包括:所述第二服务的运行状态是正常状态。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述目标特征的数据不满足所述目标条件之后,所述方法还包括:
存储所述目标条件中所述目标特征的数据不满足的异常条件。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
获取第一操作,所述第一操作是对所述目标特征的更新操作;
根据所述第一操作更新所述目标特征。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
获取第二操作,所述第二操作是对所述目标条件的更新操作;
根据所述第二操作更新所述目标条件。
9.一种BMC芯片,其特征在于,包括存储器和处理器,所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算设备上运行时,使得所述计算设备执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310477127.1A CN116661818A (zh) | 2023-04-27 | 2023-04-27 | 一种bmc软件系统的升级方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310477127.1A CN116661818A (zh) | 2023-04-27 | 2023-04-27 | 一种bmc软件系统的升级方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116661818A true CN116661818A (zh) | 2023-08-29 |
Family
ID=87716188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310477127.1A Pending CN116661818A (zh) | 2023-04-27 | 2023-04-27 | 一种bmc软件系统的升级方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116661818A (zh) |
-
2023
- 2023-04-27 CN CN202310477127.1A patent/CN116661818A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720757B2 (en) | Securing crash dump files | |
US6944854B2 (en) | Method and apparatus for updating new versions of firmware in the background | |
US7840662B1 (en) | Dynamically managing a network cluster | |
US8219983B1 (en) | Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system | |
US10049010B2 (en) | Method, computer, and apparatus for migrating memory data | |
US10430082B2 (en) | Server management method and server for backup of a baseband management controller | |
US20060224723A1 (en) | Data updating system and method | |
US20060036832A1 (en) | Virtual computer system and firmware updating method in virtual computer system | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
CN110647333A (zh) | 固件升级方法及配置成对其中的固件进行升级的设备 | |
CN108932249B (zh) | 一种管理文件系统的方法及装置 | |
US20230140209A1 (en) | System and method for secure access to a distributed virtual firmware network drive | |
US20220334733A1 (en) | Data restoration method and related device | |
US7818557B2 (en) | Method for re-imaging a computer system | |
CN111090546B (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
CN114296909A (zh) | 一种根据kubernetes事件的节点自动扩容缩容方法及系统 | |
US20080201694A1 (en) | Code recovery system and method | |
WO2024113995A1 (zh) | 一种bmc异构升级方法、系统、设备及可读存储介质 | |
RU2600101C1 (ru) | Управляющий модуль узла и способ обновления встроенного программного обеспечения для этого управляющего модуля | |
WO2011158367A1 (ja) | 実行中のプログラムの更新技術 | |
CN116661818A (zh) | 一种bmc软件系统的升级方法、装置及存储介质 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
US20160004607A1 (en) | Information processing apparatus and information processing method | |
US20230090032A1 (en) | Storage system and control method | |
US20230236819A1 (en) | Application status reporting via platform binary tables |
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 |