CN117873519A - 固件升级方法及装置、存储介质及电子装置 - Google Patents

固件升级方法及装置、存储介质及电子装置 Download PDF

Info

Publication number
CN117873519A
CN117873519A CN202311811815.3A CN202311811815A CN117873519A CN 117873519 A CN117873519 A CN 117873519A CN 202311811815 A CN202311811815 A CN 202311811815A CN 117873519 A CN117873519 A CN 117873519A
Authority
CN
China
Prior art keywords
firmware
controller
upgrading
command
instruction
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
Application number
CN202311811815.3A
Other languages
English (en)
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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311811815.3A priority Critical patent/CN117873519A/zh
Publication of CN117873519A publication Critical patent/CN117873519A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种固件升级方法及装置、存储介质及电子装置,其中,该固件升级方法包括:在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。

Description

固件升级方法及装置、存储介质及电子装置
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种固件升级方法及装置、存储介质及电子装置。
背景技术
随着视频编解码、科学计算及人工智能等领域的发展,对GPU服务器的需求越来越大,通常GPU服务器有2中表现形式,一种是以GPU采集卡的形式直接插在通用服务器的PCIE插槽上,另一种由于GPU的尺寸,个数及散热等条件的限制,不能直接插在通用服务器的PCIE插槽上,而是需要做一个独立的服务器用于放置GPU,称之为GPU BOX。GPU BOX通过CDFP线缆和通用服务器连接,相当于GPU BOX上的GPU挂接在通用服务器的PCIE总线上,这样通用服务器和GPU BOX服务器组合的整体是CPU服务器的另一种表现形式。我们将组合中的通用服务器简称为机头,GPU BOX服务器简称为BOX。由于BOX是独立的服务器,那么BOX上的部件就有固件升级的需求。通常这种组合型GPU服务器,为了节约交换机网口的资源,只有机头的网口连到了交换机上,即机头BMC网卡IP地址是可以被外部访问到的,而GPU BOXBMC网卡的IP地址是私有的,是不能被外部访问到的,针对这种情况,会将机头BMC网卡以别名的形式再配置为一个和BOX BMC网卡的IP地址同网段的IP地址,即机头BMC网卡有2个IP地址,一个是连接到交换机DHCP分配的公有IP地址,另一个是和BOX BMC同网段的静态私有IP地址,这样保证了机头BMC和BOX BMC可以基于网络通信。对GPU BOX服务器上的部件固件升级的现有技术方案就是将机头BMC作为升级工具和BOX BMC的中间媒介,完成对GPU BOX服务器部件固件升级功能。
现有技术中,每当GPU BOX服务器新增一个部件的固件升级需求时,机头BMC就需要同步开发支持该部件升级的相关命令,增加了机头BMC的开发成本,同时也增加了机头BMC代码复杂度和后期维护成本。
针对相关技术中,GPU BOX服务器每新增一个部件的固件升级需求时,机头BMC也需要同步开发以支持该部件升级,开发成本高,用户体验差的技术问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种固件升级方法及装置、存储介质及电子装置,以至少解决相关技术中,GPU BOX服务器每新增一个部件的固件升级需求时,机头BMC也需要同步开发以支持该部件升级,开发成本高,用户体验差的问题。
根据本申请的一个实施例,提供了一种固件升级方法,包括:在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
在一个示例性实施例中,所述根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新,包括:确定所述预设配置文件所指示的多个第二固件升级指令,其中,所述多个第二固件升级指令为所述第二控制器所支持的固件升级指令;在所述多个固件升级指令中匹配所述多个第二固件升级指令;在确定所述多个固件升级指令中不包括所述多个第二固件升级指令中的第三固件升级指令的情况下,通过所述第二预设指令将所述第三固件升级指令添加到所述多个固件升级指令中,以对所述多个固件升级指令进行更新;通过所述第一预设指令在目标时刻获取所述第一控制器中存储的多个第四固件升级指令,其中,所述目标时刻为所述第二预设指令执行之后的时刻;在所述多个第四固件升级指令中匹配所述第三固件升级指令;在确定所述多个第四固件升级指令包括所述第三固件升级指令的情况下,确定所述多个固件升级指令更新完成。
在一个示例性实施例中,所述将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:将目标信息记录到日志文件中,其中,所述目标信息包括以下至少之一:所述第一预设指令,所述第二预设指令,所述第一预设指令的第一返回数据,所述第二预设指令的第二返回数据,所述固件升级命令,所述固件升级命令的第三返回数据。
在一个示例性实施例中,所述将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:在确定所述第一固件升级失败的情况下,检测所述升级工具与所述第一控制器之间的第一网络连接是否正常,以及检测所述第一控制器与所述第二控制器之间的第二网络连接是否正常;根据检测结果确定处理方式,其中,所述处理方式用于重新升级所述第一固件。
在一个示例性实施例中,所述根据检测结果确定处理方式,包括:在所述检测结果指示所述第一网络连接和/或所述第二网络连接异常的情况下,重新建立所述第一网络连接和/或所述第二网络连接,并重新发送所述固件升级命令给所述第一控制器;在所述检测结果指示所述第一网络连接和所述第二网络连接均正常的情况下,对故障组件进行修复,并重新发送所述固件升级命令给所述第一控制器,其中,所述故障组件包括以下至少之一:所述第一控制器,所述第二控制器。
在一个示例性实施例中,所述对故障组件进行修复之前,所述方法还包括:对所述日志文件中的所述第三返回数据进行解析,以确定所述故障组件,其中,所述第三返回数据至少包括以下之一:所述第一控制器的错误信息,所述第二控制器的错误信息,所述第一控制器的错误类别,所述第二控制器的错误类别。
在一个示例性实施例中,所述方法还包括:根据预设频率向所述第一控制器发送第三预设指令,以指示所述第一控制器通过第四预设指令获取所述第二控制器所支持执行的多个第五固件升级指令,以通过所述多个第五固件升级指令对所述第一控制器存储的多个固件升级指令进行更新,其中,所述第三预设指令用于指示所述第一控制器对所述多个固件升级指令进行更新。
根据本申请的另一个实施例,提供了一种固件升级装置,包括:获取模块,用于在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;更新模块,用于根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;发送模块,用于将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,在接收到用于指示第二控制器中对应的固件中存在某固件待升级的固件升级命令的情况下,通过执行第一预设指令获取第一控制器中存储的多个固件升级指令,固件升级指令用于升级第二控制器对应的固件;根据升级工具中存储的预设配置文件和第二预设指令对第一控制器存储的多个固件升级指令进行更新;然后将固件升级命令发送给第一控制器,指示第一控制器将固件升级命令对应的第一固件升级指令发送给第二控制器,第一固件升级指令用于升级固件升级命令对应的第一固件;采用上述方案,在每次执行固件升级前,均对机头BMC(第一控制器)存储的固件升级指令进行自动更新,使得机头BMC可以支持对BOX服务器中的固件的升级,从而无需对机头BMC进行额外开发,节省成本;进而解决了相关技术中,GPU BOX服务器每新增一个部件的固件升级需求时,机头BMC也需要同步开发以支持该部件升级,开发成本高,用户体验差的问题。
附图说明
图1是根据本申请实施例的一种固件升级方法的升级工具的硬件结构框图;
图2是根据本申请实施例的固件升级方法的流程图;
图3是根据本申请实施例的一种可选的固件升级方法的流程示意图;
图4是根据本申请实施例的固件升级装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在升级工具或者类似的运算装置中执行。以运行在升级工具上为例,图1是本申请实施例的一种固件升级方法的升级工具的硬件结构框图。如图1所示,升级工具可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述升级工具还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述升级工具的结构造成限定。例如,升级工具还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的固件升级方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至升级工具。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括升级工具的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种固件升级方法,图2是根据本申请实施例的固件升级方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;
步骤S204,根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;
步骤S206,将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
通过上述步骤,在接收到用于指示第二控制器中对应的固件中存在某固件待升级的固件升级命令的情况下,通过执行第一预设指令获取第一控制器中存储的多个固件升级指令,固件升级指令用于升级第二控制器对应的固件;根据升级工具中存储的预设配置文件和第二预设指令对第一控制器存储的多个固件升级指令进行更新;然后将固件升级命令发送给第一控制器,指示第一控制器将固件升级命令对应的第一固件升级指令发送给第二控制器,第一固件升级指令用于升级固件升级命令对应的第一固件;采用上述方案,在每次执行固件升级前,均对机头BMC(第一控制器)存储的固件升级指令进行自动更新,使得机头BMC可以支持对BOX服务器中的固件的升级,从而无需对机头BMC进行额外开发,节省成本;进而解决了相关技术中,GPU BOX服务器每新增一个部件的固件升级需求时,机头BMC也需要同步开发以支持该部件升级,开发成本高,用户体验差的问题。
其中,上述步骤的执行主体可以为升级工具等,但不限于此。
步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202。
以下对本申请中出现的专业名词进行解释说明:
BMC:Baseboard Management Controller,基板管理控制器。
BOX:组合型GPU服务器中的GPU BOX服务器。
机头:组合型GPU服务器中的通用服务器。
在一个示例性实施例中,执行上述步骤S204:所述根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新,包括以下步骤:确定所述预设配置文件所指示的多个第二固件升级指令,其中,所述多个第二固件升级指令为所述第二控制器所支持的固件升级指令;在所述多个固件升级指令中匹配所述多个第二固件升级指令;在确定所述多个固件升级指令中不包括所述多个第二固件升级指令中的第三固件升级指令的情况下,通过所述第二预设指令将所述第三固件升级指令添加到所述多个固件升级指令中,以对所述多个固件升级指令进行更新;通过所述第一预设指令在目标时刻获取所述第一控制器中存储的多个第四固件升级指令,其中,所述目标时刻为所述第二预设指令执行之后的时刻;在所述多个第四固件升级指令中匹配所述第三固件升级指令;在确定所述多个第四固件升级指令包括所述第三固件升级指令的情况下,确定所述多个固件升级指令更新完成。
预设配置文件中包含有当前BOXBMC支持的每个部件升级所采用的redfish命令(即第二固件升级指令)对预设配置文件进行解析,确定预设配置文件中存储的多个第二固件升级指令,然后比对多个固件升级指令与多个第二固件升级指令,以确定当前机头BMC所存储的固件升级指令是否为最新版本,若确定存在某个第三固件升级指令未被机头BMC所存储的情况下,确定机头BMC需要进行更新,通过第二预设指令将机头BMC未存储的第三固件升级指令添加到机头BMC中存储;执行完第二预设指令之后,需要对其进行一次校验,以确定是否更新完成,因此再次通过第一预设指令获取第一控制器中存储的所有固件升级指令,校验机头BMC是否存储有第三固件升级指令,若确定有,则确定机头BMC存储的固件升级指令更新完成;若仍未匹配到则需重新尝试对其进行更新,否则无法保证机头BMC能够支持执行该固件升级命令。
通过上述实施例,通过在每次执行固件升级过程之前,自动对机头BMC中存储的固件升级指令进行校验以及更新,保证机头BMC中存储有当前BOX BMC支持的所有部件升级的redfish命令(即固件升级指令),从而确保固件升级过程能够顺利完成。
需要说明的是,Redfish命令是一组用于管理和配置服务器硬件的命令行工具,它们遵循Redfish API规范。Redfish是一种开放式标准,用于管理和监控服务器硬件,包括处理器、内存、存储和网络设备。Redfish命令可以用于执行诸如重启服务器、设置BIOS配置、监视传感器数据等操作。这些命令提供了一种简单而强大的方式来管理服务器硬件,同时也可以与自动化工具和脚本集成,以便更有效地管理大型服务器基础设施。Redfish命令通常由服务器供应商提供,并且可以在各种操作系统上运行。
在一个示例性实施例中,执行上述步骤S206:将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:将目标信息记录到日志文件中,其中,所述目标信息包括以下至少之一:所述第一预设指令,所述第二预设指令,所述第一预设指令的第一返回数据,所述第二预设指令的第二返回数据,所述固件升级命令,所述固件升级命令的第三返回数据。
由于GPU BOX部件的固件升级是以机头BMC作为中间媒介的,因此当GPU BOX部件的固件升级异常时,可能是机头BMC导致的,也可能是BOX BMC导致的,因此在固件升级失败时,无法定位问题所在;本申请为了解决该问题,在升级工具中增加日志文件来记录固件升级过程中的所有相关信息,具体包括升级工具发送给机头BMC的oem命令(第一预设指令和第二预设指令)和redfish命令(固件升级命令),以及oem命令的返回数据(相当于上述第一返回数据和上述第二返回数据)和redfish命令返回数据(相当于上述第三返回数据);从而在故障发生时,可以通过日志数据快速确定问题所在,减少故障所带来的影响。
需要说明的是,本申请中,机头BMC和BOX BMC也同样增加了日志文件,机头BMC日志文件用于记录发送给BOX BMC的redfish命令数据(第一固件升级指令)和BOX BMCredfish命令返回数据,以及处理redfish命令时的错误信息(相当于上述第一控制器的错误信息);BOX BMC日志文件记录了BOX BMC处理redfish命令时的错误信息,同时在BOX BMC的redfish命令返回数据表示出BOX的错误(相当于上述第二控制器的错误信息);因此,机头BMC可以知道错误具体发生在何处,从而返回给升级工具的redfish命令返回数据中携带有该信息,以让升级工具也记录下错误信息;使得工作人员可以通过升级工具的日志文件和/或机头BMC的日志文件来定位问题所在。
在一个可选的实施例中,执行上述步骤S206:所述将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:在确定所述第一固件升级失败的情况下,检测所述升级工具与所述第一控制器之间的第一网络连接是否正常,以及检测所述第一控制器与所述第二控制器之间的第二网络连接是否正常;根据检测结果确定处理方式,其中,所述处理方式用于重新升级所述第一固件。
由于GPU BOX部件的固件升级是以机头BMC作为中间媒介的,那么如果升级工具和机头BMC(第一控制器)之间,机头BMC和BOX BMC(第二控制器)中任一网络出现波动不稳定的情况,均会导致固件升级失败,因此若确定第一固件升级失败,则需要先检查升级工具与机头BMC之间的网络连接状态,以及检查机头BMC和BOX BMC之间的网络连接状态,从而根据检测结果来确定如何修复问题并重新对第一固件进行升级。
在一个可选的实施例中,执行上述步骤:所述根据检测结果确定处理方式,包括:在所述检测结果指示所述第一网络连接和/或所述第二网络连接异常的情况下,重新建立所述第一网络连接和/或所述第二网络连接,并重新发送所述固件升级命令给所述第一控制器;在所述检测结果指示所述第一网络连接和所述第二网络连接均正常的情况下,对故障组件进行修复,并重新发送所述固件升级命令给所述第一控制器,其中,所述故障组件包括以下至少之一:所述第一控制器,所述第二控制器。
若检测结果指示第一网络连接与第二网络连接中的至少一个存在异常,异常情况包括网络波动过大、网络连接断开等,则尝试重新建立网络连接,并在确定网络连接状态均处理正常状态的情况下,重新发送固件升级命令给第一控制器,以继续对第一固件进行固件升级;若检测结果指示第一网络连接和第二网络连接均处于正常状态,则确定导致固件升级失败的原因不在于网络,而在于硬件故障;因此需要先对故障组件进行修复,并重新发送固件升级命令给第一控制器,故障组件包括以下至少之一:第一控制器,第二控制器。
通过本实施例,在确定固件升级失败的情况下,导致固件升级失败的原因可能为网络故障或硬件故障,由于网络故障的修复所花费的时间成本远小于硬件故障,因此优先对网络状态进行检测,以确定是否由于网络状态导致固件升级失败,并在定位问题所在后立即解决问题,减少故障所带来的影响。
在一个可选的实施例中,执行上述步骤:所述对故障组件进行修复之前,所述方法还包括:对所述日志文件中的所述第三返回数据进行解析,以确定所述故障组件,其中,所述第三返回数据至少包括以下之一:所述第一控制器的错误信息,所述第二控制器的错误信息,所述第一控制器的错误类别,所述第二控制器的错误类别。
由于本申请中通过日志文件已经记录了升级全过程中每一步骤对应的信息,因此可以在问题出现时,直接对日志文件中的第三返回数据进行解析,以确定导致固件升级失败的故障组件具体是哪个组件,而第三返回数据中可能包含有机头BMC的错误信息,机头BMC的错误类别,BOX BMC的错误信息,BOX BMC的错误类别,帮助用户快速定位问题所在;并且可以根据确定出的错误信息和/或错误类别快速确定解决问题的手段。
在一个可选的实施例中,所述方法还包括:根据预设频率向所述第一控制器发送第三预设指令,以指示所述第一控制器通过第四预设指令获取所述第二控制器所支持执行的多个第五固件升级指令,以通过所述多个第五固件升级指令对所述第一控制器存储的多个固件升级指令进行更新,其中,所述第三预设指令用于指示所述第一控制器对所述多个固件升级指令进行更新。
上述实施例中提出了一种可选的机头BMC的固件升级指令的更新方案,在每次执行固件升级命令之前尝试对固件升级指令进行更新,在该方案中,需要用户提前配置好预设配置文件,并在每次BOX BMC中新增了固件之后对预设配置文件进行更新,以保证预设配置文件中存储的固件升级指令为最新版本;但这样的操作方式略显繁琐;因此,在本实施例中,提出了另一种固件升级指令的更新方案,包括:升级工具按照预设频率向机头BMC发送第三预设指令,指示机头BMC主动获取BOX BMC对应的所有固件升级指令,以对自身存储的固件升级指令进行更新。
通过本实施例,可以全自动化地完成机头BMC中存储的固件升级指令的更新过程,更加便利快捷,用户使用体验更佳。
现有技术中,针对组合型GPU服务器,对GPU BOX服务器上的部件固件升级的技术方案如图3所示,包括以下步骤:
步骤1、升级工具执行机头BMC提供的BOX部件固件升级命令;
步骤2、机头BMC执行BOX BMC提供的BOX部件固件升级命令;
步骤3、BOX BMC将BOX部件固件升级命令执行后的返回值返回给机头BMC;
步骤4、机头BMC将BOX BMC发送的返回值返回给升级工具。
针对上述步骤,技术人员需要进行三个部分的开发过程:一、升级工具相关开发;二、机头BMC相关开发;三、BOX BMC相关开发。
由于BOX服务器的IP地址是私有的,是不能被升级工具访问到的,这种情况下对BOX部件升级需要机头BMC和BOX BMC配合完成,所以机头BMC相关开发包括3部分:第一部分是机头BMC也需要为BOX每个部件固件升级提供3条redfish命令,包括固件上传,固件升级,固件升级状态查询,为升级工具提供命令接口;第二部分是当机头BMC收到升级工具发的机头BMC提供的BOX部件升级的固件上传,固件升级,固件升级状态查询命令时,需要给BOXBMC发送BOX BMC提供的该部件对应的固件上传,固件升级,固件升级状态查询redfish命令;第三部分是将BOX BMC命令的执行结果以机头BMC为BOX部件固件升级提供的命令格式返回给升级工具。
而BOX BMC相关开发为:为BOX每个部件固件升级提供3条redfish命令,包括固件上传,固件升级,固件升级状态查询,为机头BMC提供命令接口。
升级工具相关开发包括:使用机头BMC提供的BOX部件固件升级redfish命令发送给机头BMC,并根据机头BMC命令的返回结果(即上述第三返回数据)更新固件升级的结果。
基于上述方案,每当GPU服务器新增一个部件的固件升级需求时,机头BMC就需要同步开发支持该部件升级的相关命令,增加了机头BMC的开发成本,同时也增加了机头BMC代码复杂度和后期维护成本。
而基于本申请所提供的上述实施例,本申请在进行BOX BMC中的固件升级过程中,开发人员所需要进行的开发过程包括:
一、升级工具相关开发:
1、对升级工具执行时传入的参数进行解析;
2、对配置文件(相当于上述预设配置文件)进行解析,配置文件包括当前BOX BMC支持的每个部件升级的redfish命令,另外使用机头BMC提供的2条oem command(相当于上述第一预设指令和第二预设指令),获取和设置机头BMC RAM中存储的BOX各个部件升级的redfish命令;
3、在机头BMC为BOX部件固件升级所设置的3条redfish命令中增加部件类型参数,以根据传入的参数中指定的升级部件类型确定3条redfish命令所指示的固件类型;
4、增加日志文件记录升级工具发送给机头BMC的oem命令和redfish命令,以及oem命令的返回数据和redfish命令返回数据。
二、机头BMC相关开发:
1、为BOX部件固件升级增加3条redfish命令,包括固件上传,固件升级,固件升级状态查询,其中每条redfish命令中都增加一个部件类型参数,用于表示给GPU BOX服务器的哪个部件升级;
2、增加2条oem command,用于设置和获取机头BMC用于给BOX各个部件升级的redfish命令,设置命令(相当于上述第二预设指令)用于将BOX BMC支持的各个部件升级的redfish命令配置到机头BMC的RAM中,获取命令(相当于上述第一预设指令)用于得到当前机头BMC的RAM中存储的BOX BMC支持的各个部件升级的redfish命令;
3、机头BMC日志文件记录发给BOX BMC的redfish命令数据和BOX BMC redfish命令返回数据,以及处理redfish命令时的错误信息,同时在机头BMC的redfish命令返回数据中表示出是机头的错误还是BOX的错误。
三、BOX BMC相关开发:
1、为每个部件固件升级提供3条redfish命令,包括固件上传,固件升级,固件升级状态查询,其中每一条redfish命令中均新增了一个部件类型参数,用于确定升级固件的类型,为机头BMC提供redfish命令接口;
2、BOX BMC日志文件记录BOX BMC处理redfish命令时的错误信息,同时在BOX BMC的redfish命令返回数据表示出BOX的错误;
3、每个部件固件升级功能的具体底层实现。
本申请所提供的BOX部件升级方案,通过在机头BMC的3条redfish升级通用命令中通过参数来区分BOX部件,以及2条oem命令的开发,解决了现有方案中每当BOX新增一个部件的固件升级需求时,机头BMC就需要同步开发支持该部件升级的相关命令的问题,降低了机头BMC的开发成本,同时也降低了机头BMC代码复杂度和后期维护成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种固件升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的固件升级装置的结构框图,如图4所示,该装置包括:
获取模块42,用于在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;
更新模块44,用于根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;
发送模块46,用于将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
通过上述装置,在接收到用于指示第二控制器中对应的固件中存在某固件待升级的固件升级命令的情况下,通过执行第一预设指令获取第一控制器中存储的多个固件升级指令,固件升级指令用于升级第二控制器对应的固件;根据升级工具中存储的预设配置文件和第二预设指令对第一控制器存储的多个固件升级指令进行更新;然后将固件升级命令发送给第一控制器,指示第一控制器将固件升级命令对应的第一固件升级指令发送给第二控制器,第一固件升级指令用于升级固件升级命令对应的第一固件;采用上述方案,在每次执行固件升级前,均对机头BMC(第一控制器)存储的固件升级指令进行自动更新,使得机头BMC可以支持对BOX服务器中的固件的升级,从而无需对机头BMC进行额外开发,节省成本;进而解决了相关技术中,GPU BOX服务器每新增一个部件的固件升级需求时,机头BMC也需要同步开发以支持该部件升级,开发成本高,用户体验差的问题。
可选的,上述更新模块44,还用于确定所述预设配置文件所指示的多个第二固件升级指令,其中,所述多个第二固件升级指令为所述第二控制器所支持的固件升级指令;在所述多个固件升级指令中匹配所述多个第二固件升级指令;在确定所述多个固件升级指令中不包括所述多个第二固件升级指令中的第三固件升级指令的情况下,通过所述第二预设指令将所述第三固件升级指令添加到所述多个固件升级指令中,以对所述多个固件升级指令进行更新;通过所述第一预设指令在目标时刻获取所述第一控制器中存储的多个第四固件升级指令,其中,所述目标时刻为所述第二预设指令执行之后的时刻;在所述多个第四固件升级指令中匹配所述第三固件升级指令;在确定所述多个第四固件升级指令包括所述第三固件升级指令的情况下,确定所述多个固件升级指令更新完成。
预设配置文件中包含有当前BOX BMC支持的每个部件升级所采用的redfish命令(即第二固件升级指令)对预设配置文件进行解析,确定预设配置文件中存储的多个第二固件升级指令,然后比对多个固件升级指令与多个第二固件升级指令,以确定当前机头BMC所存储的固件升级指令是否为最新版本,若确定存在某个第三固件升级指令未被机头BMC所存储的情况下,确定机头BMC需要进行更新,通过第二预设指令将机头BMC未存储的第三固件升级指令添加到机头BMC中存储;执行完第二预设指令之后,需要对其进行一次校验,以确定是否更新完成,因此再次通过第一预设指令获取第一控制器中存储的所有固件升级指令,校验机头BMC是否存储有第三固件升级指令,若确定有,则确定机头BMC存储的固件升级指令更新完成;若仍未匹配到则需重新尝试对其进行更新,否则无法保证机头BMC能够支持执行该固件升级命令。
通过上述实施例,通过在每次执行固件升级过程之前,自动对机头BMC中存储的固件升级指令进行校验以及更新,保证机头BMC中存储有当前BOX BMC支持的所有部件升级的redfish命令(即固件升级指令),从而确保固件升级过程能够顺利完成。
需要说明的是,Redfish命令是一组用于管理和配置服务器硬件的命令行工具,它们遵循Redfish API规范。Redfish是一种开放式标准,用于管理和监控服务器硬件,包括处理器、内存、存储和网络设备。Redfish命令可以用于执行诸如重启服务器、设置BIOS配置、监视传感器数据等操作。这些命令提供了一种简单而强大的方式来管理服务器硬件,同时也可以与自动化工具和脚本集成,以便更有效地管理大型服务器基础设施。Redfish命令通常由服务器供应商提供,并且可以在各种操作系统上运行。
可选的,上述发送模块46,还用于将目标信息记录到日志文件中,其中,所述目标信息包括以下至少之一:所述第一预设指令,所述第二预设指令,所述第一预设指令的第一返回数据,所述第二预设指令的第二返回数据,所述固件升级命令,所述固件升级命令的第三返回数据。
由于GPU BOX部件的固件升级是以机头BMC作为中间媒介的,因此当GPU BOX部件的固件升级异常时,可能是机头BMC导致的,也可能是BOX BMC导致的,因此在固件升级失败时,无法定位问题所在;本申请为了解决该问题,在升级工具中增加日志文件来记录固件升级过程中的所有相关信息,具体包括升级工具发送给机头BMC的oem命令(第一预设指令和第二预设指令)和redfish命令(固件升级命令),以及oem命令的返回数据(相当于上述第一返回数据和上述第二返回数据)和redfish命令返回数据(相当于上述第三返回数据);从而在故障发生时,可以通过日志数据快速确定问题所在,减少故障所带来的影响。
需要说明的是,本申请中,机头BMC和BOX BMC也同样增加了日志文件,机头BMC日志文件用于记录发送给BOX BMC的redfish命令数据(第一固件升级指令)和BOX BMCredfish命令返回数据,以及处理redfish命令时的错误信息(相当于上述第一控制器的错误信息);BOX BMC日志文件记录了BOX BMC处理redfish命令时的错误信息,同时在BOX BMC的redfish命令返回数据表示出BOX的错误(相当于上述第二控制器的错误信息);因此,机头BMC可以知道错误具体发生在何处,从而返回给升级工具的redfish命令返回数据中携带有该信息,以让升级工具也记录下错误信息;使得工作人员可以通过升级工具的日志文件和/或机头BMC的日志文件来定位问题所在。
可选的,上述发送模块46,还用于在确定所述第一固件升级失败的情况下,检测所述升级工具与所述第一控制器之间的第一网络连接是否正常,以及检测所述第一控制器与所述第二控制器之间的第二网络连接是否正常;根据检测结果确定处理方式,其中,所述处理方式用于重新升级所述第一固件。
由于GPU BOX部件的固件升级是以机头BMC作为中间媒介的,那么如果升级工具和机头BMC(第一控制器)之间,机头BMC和BOX BMC(第二控制器)中任一网络出现波动不稳定的情况,均会导致固件升级失败,因此若确定第一固件升级失败,则需要先检查升级工具与机头BMC之间的网络连接状态,以及检查机头BMC和BOX BMC之间的网络连接状态,从而根据检测结果来确定如何修复问题并重新对第一固件进行升级。
可选的,上述发送模块46,还用于在所述检测结果指示所述第一网络连接和/或所述第二网络连接异常的情况下,重新建立所述第一网络连接和/或所述第二网络连接,并重新发送所述固件升级命令给所述第一控制器;在所述检测结果指示所述第一网络连接和所述第二网络连接均正常的情况下,对故障组件进行修复,并重新发送所述固件升级命令给所述第一控制器,其中,所述故障组件包括以下至少之一:所述第一控制器,所述第二控制器。
若检测结果指示第一网络连接与第二网络连接中的至少一个存在异常,异常情况包括网络波动过大、网络连接断开等,则尝试重新建立网络连接,并在确定网络连接状态均处理正常状态的情况下,重新发送固件升级命令给第一控制器,以继续对第一固件进行固件升级;若检测结果指示第一网络连接和第二网络连接均处于正常状态,则确定导致固件升级失败的原因不在于网络,而在于硬件故障;因此需要先对故障组件进行修复,并重新发送固件升级命令给第一控制器,故障组件包括以下至少之一:第一控制器,第二控制器。
通过本实施例,在确定固件升级失败的情况下,导致固件升级失败的原因可能为网络故障或硬件故障,由于网络故障的修复所花费的时间成本远小于硬件故障,因此优先对网络状态进行检测,以确定是否由于网络状态导致固件升级失败,并在定位问题所在后立即解决问题,减少故障所带来的影响。
可选的,上述获取模块42,还用于对所述日志文件中的所述第三返回数据进行解析,以确定所述故障组件,其中,所述第三返回数据至少包括以下之一:所述第一控制器的错误信息,所述第二控制器的错误信息,所述第一控制器的错误类别,所述第二控制器的错误类别。
由于本申请中通过日志文件已经记录了升级全过程中每一步骤对应的信息,因此可以在问题出现时,直接对日志文件中的第三返回数据进行解析,以确定导致固件升级失败的故障组件具体是哪个组件,而第三返回数据中可能包含有机头BMC的错误信息,机头BMC的错误类别,BOX BMC的错误信息,BOX BMC的错误类别,帮助用户快速定位问题所在;并且可以根据确定出的错误信息和/或错误类别快速确定解决问题的手段。
可选的,上述更新模块46,还用于根据预设频率向所述第一控制器发送第三预设指令,以指示所述第一控制器通过第四预设指令获取所述第二控制器所支持执行的多个第五固件升级指令,以通过所述多个第五固件升级指令对所述第一控制器存储的多个固件升级指令进行更新,其中,所述第三预设指令用于指示所述第一控制器对所述多个固件升级指令进行更新。
上述实施例中提出了一种可选的机头BMC的固件升级指令的更新方案,在每次执行固件升级命令之前尝试对固件升级指令进行更新,在该方案中,需要用户提前配置好预设配置文件,并在每次BOX BMC中新增了固件之后对预设配置文件进行更新,以保证预设配置文件中存储的固件升级指令为最新版本;但这样的操作方式略显繁琐;因此,在本实施例中,提出了另一种固件升级指令的更新方案,包括:升级工具按照预设频率向机头BMC发送第三预设指令,指示机头BMC主动获取BOX BMC对应的所有固件升级指令,以对自身存储的固件升级指令进行更新。
通过本实施例,可以全自动化地完成机头BMC中存储的固件升级指令的更新过程,更加便利快捷,用户使用体验更佳。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种固件升级方法,其特征在于,
包括:
在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;
根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;
将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
2.根据权利要求1所述的方法,其特征在于,
所述根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新,包括:
确定所述预设配置文件所指示的多个第二固件升级指令,其中,所述多个第二固件升级指令为所述第二控制器所支持的固件升级指令;
在所述多个固件升级指令中匹配所述多个第二固件升级指令;
在确定所述多个固件升级指令中不包括所述多个第二固件升级指令中的第三固件升级指令的情况下,通过所述第二预设指令将所述第三固件升级指令添加到所述多个固件升级指令中,以对所述多个固件升级指令进行更新;
通过所述第一预设指令在目标时刻获取所述第一控制器中存储的多个第四固件升级指令,其中,所述目标时刻为所述第二预设指令执行之后的时刻;
在所述多个第四固件升级指令中匹配所述第三固件升级指令;
在确定所述多个第四固件升级指令包括所述第三固件升级指令的情况下,确定所述多个固件升级指令更新完成。
3.根据权利要求1所述的方法,其特征在于,
所述将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:
将目标信息记录到日志文件中,其中,所述目标信息包括以下至少之一:所述第一预设指令,所述第二预设指令,所述第一预设指令的第一返回数据,所述第二预设指令的第二返回数据,所述固件升级命令,所述固件升级命令的第三返回数据。
4.根据权利要求3所述的方法,其特征在于,
所述将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器之后,所述方法还包括:
在确定所述第一固件升级失败的情况下,检测所述升级工具与所述第一控制器之间的第一网络连接是否正常,以及检测所述第一控制器与所述第二控制器之间的第二网络连接是否正常;
根据检测结果确定处理方式,其中,所述处理方式用于重新升级所述第一固件。
5.根据权利要求4所述的方法,其特征在于,
所述根据检测结果确定处理方式,包括:
在所述检测结果指示所述第一网络连接和/或所述第二网络连接异常的情况下,重新建立所述第一网络连接和/或所述第二网络连接,并重新发送所述固件升级命令给所述第一控制器;
在所述检测结果指示所述第一网络连接和所述第二网络连接均正常的情况下,对故障组件进行修复,并重新发送所述固件升级命令给所述第一控制器,其中,所述故障组件包括以下至少之一:所述第一控制器,所述第二控制器。
6.根据权利要求5所述的方法,其特征在于,
所述对故障组件进行修复之前,所述方法还包括:
对所述日志文件中的所述第三返回数据进行解析,以确定所述故障组件,其中,所述第三返回数据至少包括以下之一:所述第一控制器的错误信息,所述第二控制器的错误信息,所述第一控制器的错误类别,所述第二控制器的错误类别。
7.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
根据预设频率向所述第一控制器发送第三预设指令,以指示所述第一控制器通过第四预设指令获取所述第二控制器所支持执行的多个第五固件升级指令,以通过所述多个第五固件升级指令对所述第一控制器存储的多个固件升级指令进行更新,其中,所述第三预设指令用于指示所述第一控制器对所述多个固件升级指令进行更新。
8.一种固件升级装置,其特征在于,
包括:
获取模块,用于在接收到固件升级命令的情况下,通过第一预设指令获取第一控制器中存储的多个固件升级指令,其中,所述固件升级命令用于指示第二控制器对应的固件待升级,所述固件升级指令用于升级所述第二控制器对应的固件,所述第一控制器用于与所述第二控制器进行通讯;
更新模块,用于根据升级工具中存储的预设配置文件和第二预设指令对所述多个固件升级指令进行更新;
发送模块,用于将所述固件升级命令发送给所述第一控制器,以指示所述第一控制器将所述固件升级命令对应的第一固件升级指令发送给所述第二控制器,其中,所述第一固件升级指令用于升级所述固件升级命令对应的第一固件。
9.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
CN202311811815.3A 2023-12-26 2023-12-26 固件升级方法及装置、存储介质及电子装置 Pending CN117873519A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311811815.3A CN117873519A (zh) 2023-12-26 2023-12-26 固件升级方法及装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311811815.3A CN117873519A (zh) 2023-12-26 2023-12-26 固件升级方法及装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN117873519A true CN117873519A (zh) 2024-04-12

Family

ID=90596175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311811815.3A Pending CN117873519A (zh) 2023-12-26 2023-12-26 固件升级方法及装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN117873519A (zh)

Similar Documents

Publication Publication Date Title
CN110879712B (zh) 一种云数据中心物理主机装机方法及相关装置
CN106919485B (zh) 一种基于服务器上配置硬件测试工具的系统
CN103530199A (zh) 一种修复软件运行错误的方法、装置及系统
CN113312064B (zh) 物理机的安装配置方法、装置以及计算机可读介质
JP7341244B2 (ja) クラスタ管理方法、装置、およびシステム
CN111273924B (zh) 软件更新方法及装置
CN117251333A (zh) 一种硬盘信息获取方法、装置、设备及存储介质
CN111290351A (zh) 一种驱动器管理方法、系统、计算机设备及存储介质
US20050066017A1 (en) Deterministically electing an active node
CN109660386B (zh) 一种半导体存储器老化测试系统软件升级方法
US7475164B2 (en) Apparatus, system, and method for automated device configuration and testing
CN106411643B (zh) Bmc检测方法以及装置
CN111078476B (zh) 一种网卡驱动固件稳定性测试方法、系统、终端及存储介质
CN116974941A (zh) 基板管理控制器智能平台管理接口功能的测试方法
CN117873519A (zh) 固件升级方法及装置、存储介质及电子装置
US9798608B2 (en) Recovery program using diagnostic results
CN116483416A (zh) 固件在线升级方法、服务器及存储介质
CN114490746B (zh) 一种设备测试方法、装置、待测试设备及存储介质
CN113849354A (zh) 连线检查方法、连线检查装置、服务器和存储介质
CN113805950A (zh) 一种集群管理系统管理服务器的方法
CN114422414B (zh) 一种bmc的生产测试方法与终端
CN109683924B (zh) 应用软件升级方法、系统、设备及计算机可读存储介质
US20240214265A1 (en) System and method for automated configuration of nodes in a server cluster
CN117632559A (zh) 故障磁盘修复方法、装置、存储介质及电子设备
CN117312097A (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