CN117499214A - 故障设备的确定方法和装置、存储介质及电子设备 - Google Patents

故障设备的确定方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN117499214A
CN117499214A CN202311747507.9A CN202311747507A CN117499214A CN 117499214 A CN117499214 A CN 117499214A CN 202311747507 A CN202311747507 A CN 202311747507A CN 117499214 A CN117499214 A CN 117499214A
Authority
CN
China
Prior art keywords
equipment
switch
target
information
identifier
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.)
Granted
Application number
CN202311747507.9A
Other languages
English (en)
Other versions
CN117499214B (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.)
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 CN202311747507.9A priority Critical patent/CN117499214B/zh
Publication of CN117499214A publication Critical patent/CN117499214A/zh
Application granted granted Critical
Publication of CN117499214B publication Critical patent/CN117499214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请实施例提供了一种故障设备的确定方法和装置、存储介质及电子设备,其中,该故障设备的确定方法包括:获取目标故障设备的目标设备标识;在预设的N+M个链路信息中查找包括目标设备标识的链路信息;在N+M个链路信息中查找到包括目标设备标识的第j个链路信息、且第j个链路信息中的第j个指示信息表示处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在第j条设备链路上目标故障设备是否位于处理器与第一交换机之间;在目标故障设备不位于处理器与第一交换机之间的情况下,根据预设的记录项信息和目标设备标识,确定目标故障设备是否是交换机板上的设备。

Description

故障设备的确定方法和装置、存储介质及电子设备
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种故障设备的确定方法和装置、存储介质及电子设备。
背景技术
基本输入输出系统(Basic Input and Output System,简称为BIOS),它是一组固化到计算机内主板上的一个ROM芯片上的程序,它保存着计算机最重要的开机上电自检、硬件初始化程序和系统底层的服务程序等。PCIE是一种高速串行总线技术,用于连接计算机主板和其他设备,如显卡、网盘、NVME盘、GPU等。PCIE设备通常具有更高的数据传输速度和带宽,相比于传统的PCI总线,可以提供更好的性能和扩展能力。在PCIE深度优先算法中,SecBus(Secondary Bus)通常被称为“次级总线”,用于标识PCIE总线中的交换机的编号或标识。每个交换机都会有一个唯一的SecBus编号。SubBus(Subordinate Bus)通常被称为“从属总线”,用于标识PCIE总线中的设备的编号或标识。当一个交换机下面连接了多个设备时,每个设备都会有一个唯一的SubBus编号。总结起来,SecBus用于标识交换机,而SubBus用于标识设备。这两个概念在PCIE深度优先算法中被用来确定PICe总线上各个设备和交换机之间的层次关系,以便实现数据传输和管理。BMC是Baseboard ManagementController(主板管理控制器)的缩写,是一种位于计算机主板上的独立芯片或集成电路,用于监控和管理计算机系统的硬件和软件。
现有技术中对普通机型和普通PCIE的设备故障定位能做到准确定位,但对带有Switch板的AI机型就定位不够准确,往往只能定位到主板上的丝印或者定位不出来,而不能直接定位到Switch板上的丝印。对于带有很多个虚拟网口的智能网卡由于BMC存储和处理能力有限,当智能网卡某个虚拟网卡(BDF)发生故障时也经常定位不出来是哪个设备报错。由于不能准确定位导致一些场景下不方便运维人员快速维修。
针对相关技术中,现有技术对普通PCIE的设备故障定位能够做到准确定位,但对带有Switch(交换机)板的AI机型的设备故障定位不够准确的技术问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种故障设备的确定方法和装置、存储介质及电子设备,以至少解决相关技术中,现有技术对普通PCIE的设备故障定位能够做到准确定位,但对带有Switch板(交换机板)的AI机型的设备故障定位不够准确的问题。
根据本申请的一个实施例,提供了一种故障设备的确定方法,包括:获取目标故障设备的目标设备标识;在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
在一个示例性实施例中,在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:在所述N+M个链路信息中查找到包括所述目标设备标识的所述第j个链路信息、且所述第j个指示信息表示所述第j条设备链路上不包括所述第一交换机的情况下,确定所述目标故障设备是所述主板上的设备。
在一个示例性实施例中,所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间之后,所述方法还包括:在所述目标故障设备位于所述处理器与所述第一交换机之间的情况下,确定所述目标故障设备是所述主板上的设备。
在一个示例性实施例中,所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,包括:在所述第j个链路信息中所述目标设备标识位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备位于所述处理器与所述第一交换机之间。
在一个示例性实施例中,所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,包括:在所述记录项信息中查找包括所述目标设备标识的记录项,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识,k为小于或等于P的正整数;在所述记录项信息中查找到包括所述目标设备标识的第p个记录项的情况下,确定所述目标故障设备是所述交换机板上的设备、且所述目标故障设备是所述P个交换机中的一个交换机,其中,p为小于或等于P的正整数,所述第p个记录项中包括的所述P个交换机中的第p个交换机的设备标识与所述目标设备标识相等。
在一个示例性实施例中,所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,包括:根据所述记录项信息中包括的所述P个交换机对应的P个次级总线编号和P个从属总线编号,确定P个总线编号范围,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数,所述P个总线编号范围中的第k个总线编号范围的最小值为所述第k个交换机的次级总线编号,所述第k个总线编号范围的最大值为所述第k个交换机的从属总线编号;确定所述目标设备标识是否位于所述P个总线编号范围中;在确定所述目标设备标识位于所述P个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述交换机板上的所述M个连接设备中的连接设备。
在一个示例性实施例中,在所述确定所述目标设备标识是否位于所述P个总线编号范围中之后,所述方法包括:在确定所述目标设备标识不位于所述P个总线编号范围中的各个总线编号范围中的情况下,根据所述N+M个链路信息中包括的所述N+M个连接设备对应的N+M个次级总线编号和N+M个从属总线编号,确定N+M个总线编号范围,其中,所述N+M个链路信息中的第i个链路信息还包括所述第i个连接设备所在的根端口的次级总线编号和从属总线编号,所述N+M个总线编号范围中的第i个总线编号范围的最小值为所述第i个连接设备所在的根端口的次级总线编号,所述第i个总线编号范围的最大值为所述第i个连接设备所在的根端口的从属总线编号;确定所述目标设备标识是否位于所述N+M个总线编号范围中;在确定所述目标设备标识位于所述N+M个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述主板上的设备。
在一个示例性实施例中,在所述确定所述目标设备标识是否位于所述N+M个总线编号范围中之后,所述方法还包括:在确定所述目标设备标识不位于所述N+M个总线编号范围中的各个总线编号范围中的情况下,显示第一提示信息,其中,所述第一提示信息用于无法确定所述目标故障设备所在的位置。
在一个示例性实施例中,在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:在所述N+M个链路信息中未查找到包括所述目标设备标识的链路信息的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备。
在一个示例性实施例中,所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,包括:在所述第j个链路信息中所述目标设备标识不位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备不位于所述处理器与所述第一交换机之间。
在一个示例性实施例中,在确定所述目标故障设备是所述交换机板上的设备的情况下,所述方法还包括:获取所述交换机板的标识,并显示第二提示信息,其中,所述第二提示信息包括所述交换机板的标识,所述第二提示信息用于表示所述目标故障设备是所述交换机板上的设备;或者获取所述交换机板的标识,在所述目标故障设备是所述M个连接设备中的一个连接设备的情况下,显示第三提示信息,其中,所述第三提示信息包括所述交换机板的标识,所述第三提示信息用于表示所述目标故障设备是所述交换机板上的所述M个连接设备中的一个连接设备;或者获取所述交换机板的标识,在所述目标故障设备是所述P个交换机中的一个交换机的情况下,显示第四提示信息,其中,所述第四提示信息包括所述交换机板的标识,所述第四提示信息用于表示所述目标故障设备是所述交换机板上的所述P个交换机中的一个交换机。
在一个示例性实施例中,所述获取所述交换机板的标识,包括:在所述记录项信息中获取所述交换机板的标识,其中,所述记录项信息中包括所述交换机板的标识和P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识。
在一个示例性实施例中,在确定所述目标故障设备是所述主板上的设备的情况下,所述方法还包括:获取所述主板的标识,并显示第五提示信息,其中,所述第五提示信息包括所述主板的标识,其中,所述第五提示信息用于表示所述目标故障设备是所述主板上的设备;或者获取所述主板的标识,在所述目标故障设备是所述N个连接设备中的一个连接设备的情况下,显示第六提示信息,其中,所述第六提示信息包括所述主板的标识,所述第六提示信息用于表示所述目标故障设备是所述主板上的所述N个连接设备中的一个连接设备;或者获取所述主板的标识,在所述目标故障设备是所述主板上除所述N个连接设备之外的设备的情况下,显示第七提示信息,其中,所述第七提示信息包括所述主板的标识,所述第七提示信息用于表示所述目标故障设备是所述主板上除所述N个连接设备之外的设备。
在一个示例性实施例中,所述获取所述主板的标识,包括:从预先确定的连接设备描述信息中获取所述主板的标识,其中,所述连接设备描述信息包括所述主板的标识和所述N+M个链路信息。
在一个示例性实施例中,所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,其中,所述N+M条设备链路包括从所述处理器到所述N+M个连接设备中的每个设备所形成的设备链路,所述N+M条设备链路中的第i条设备链路上的多个设备的设备标识包括所述第i个连接设备的设备标识以及所述第i个连接设备所在的根端口的设备标识;获取所述主板的标识;获取所述N+M个连接设备中的每个连接设备所在的根端口的次级总线编号和从属总线编号。
在一个示例性实施例中,所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:确定所述N+M条设备链路中的每条设备链路上是否存在所述P个交换机中的一个交换机,得到N+M个指示信息,其中,所述N+M个指示信息中的第i个指示信息用于表示所述第i条设备链路上是否存在所述P个交换机中的一个交换机。
在一个示例性实施例中,所述获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,包括:在所述N+M个连接设备均不是虚拟网口设备的情况下,获取所述N+M个连接设备发送的所述N+M条设备链路中的每条设备链路上的多个设备的设备标识。
在一个示例性实施例中,在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:获取所述P个交换机中的每个交换机的设备标识;获取所述交换机板的标识;获取所述P个交换机中的每个交换机的次级总线编号和从属总线编号。
在一个示例性实施例中,在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:将所述P个交换机中的每个交换机的设备标识和所述P个交换机中的每个交换机的次级总线编号和从属总线编号记录在所述记录项信息中的P个记录项中,其中,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数。
根据本申请的另一个实施例,提供了一种故障设备的确定装置,其特征在于,包括:获取模块,用于获取目标故障设备的目标设备标识;查找模块,用于在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;第一确定模块,用于在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;第二确定模块,用于在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,在预设的N+M个链路信息中查找包含有目标故障设备的目标设备标识的链路信息,其中,每一条链路信息对应了一个连接设备,连接设备有主板上的N个连接设备和交换机板上的M个连接设备,M个连接设备中的每个连接设备与交换机板上的P个交换机中的一个交换机连接,而链路信息包括主板上的处理器到连接设备所形成的设备链路上的多个设备的设备标识;若查找到包含目标设备标识的第j个链路信息,且链路信息中包含的指示信息指示该设备链路上存在第一交换机的情况下,确定目标故障设备在该设备链路中是否位于处理器与第一交换机之间,若目标故障设备不位于处理器与第一交换机之间,则根据预设的记录项信息和目标设备标识确定该目标故障设备是否是交换机板上的设备,其中,记录项信息中包括每个交换机的设备标识;采用上述方案,能够准确定位故障设备的具体位置,从而能够尽快修复故障设备,减少排查故障位置耗费的时间,提升用户体验,从而解决了相关技术中,现有技术对普通PCIE的设备故障定位能够做到准确定位,但对带有Switch板(交换机板)的AI机型的设备故障定位不够准确的技术问题。
附图说明
图1是根据本申请实施例的一种故障设备的确定方法的BIOS的硬件结构框图;
图2是根据本申请实施例的故障设备的确定方法的流程图;
图3是根据本申请实施例的一种可选的PCIE设备故障检测系统的结构框图;
图4是根据本申请实施例的一种可选的PCIE设备故障检测方法的流程示意图;
图5是根据本申请实施例的一种可选的故障设备的确定系统的系统架构的架构示意图;
图6是根据本申请实施例的故障设备的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以下对本申请中的专业术语进行解释说明:
BIOS:计算机基本输入输出系统;
BMC:基板管理控制器;
OS:操作系统;
RpSecBus:Secondary Bus Number,CPU Root Port次级总线;
RpSubBus:Subordinate Bus,CPU Root Port从属总线;
SwitchSecBus:Secondary Bus Number,Switch Port次级总线;
SwitchSubBus:Subordinate Bus,Switch Port从属总线;
Ep:End Point Device,指向GPU、网卡、NVME盘等设备;
需要说明的是,Ep在本申请中指代所有PCIE设备;
AI 机型PCIE链路 CPU Rp ->Bridge1 -> Bridge2 ->Bridge3 -> SwitchBridge ->Ep;
直连智能网卡链路 CPU Rp -> 智能网卡;
Switch板:I/O扩展板,含有4个Switch桥设备芯片,用来扩展PCIE设备的接口;
SlotId:槽位编号。
本申请实施例中所提供的方法实施例可以在BIOS或者类似的运算装置中执行。以运行在BIOS上为例,图1是本申请实施例的一种故障设备的确定方法的BIOS的硬件结构框图。如图1所示,BIOS可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述BIOS还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述BIOS的结构造成限定。例如,BIOS还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的故障设备的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至BIOS。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括BIOS的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种故障设备的确定方法,图2是根据本申请实施例的故障设备的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取目标故障设备的目标设备标识;
步骤S204,在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;
步骤S206,在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;
步骤S208,在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
通过上述步骤,在预设的N+M个链路信息中查找包含有目标故障设备的目标设备标识的链路信息,其中,每一条链路信息对应了一个连接设备,连接设备有主板上的N个连接设备和交换机板上的M个连接设备,M个连接设备中的每个连接设备与交换机板上的P个交换机中的一个交换机连接,而链路信息包括主板上的处理器到连接设备所形成的设备链路上的多个设备的设备标识;若查找到包含目标设备标识的第j个链路信息,且链路信息中包含的指示信息指示该设备链路上存在第一交换机的情况下,确定目标故障设备在该设备链路中是否位于处理器与第一交换机之间,若目标故障设备不位于处理器与第一交换机之间,则根据预设的记录项信息和目标设备标识确定该目标故障设备是否是交换机板上的设备,其中,记录项信息中包括每个交换机的设备标识;采用上述方案,能够准确定位故障设备的具体位置,从而能够尽快修复故障设备,减少排查故障位置耗费的时间,提升用户体验,从而解决了相关技术中,现有技术对普通PCIE的设备故障定位能够做到准确定位,但对带有Switch板(交换机板)的AI机型的设备故障定位不够准确的技术问题。
其中,上述步骤的执行主体可以为BIOS、计算机终端等,但不限于此。
步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202。
在一个示例性实施例中,执行上述步骤S204:在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:在所述N+M个链路信息中查找到包括所述目标设备标识的所述第j个链路信息、且所述第j个指示信息表示所述第j条设备链路上不包括所述第一交换机的情况下,确定所述目标故障设备是所述主板上的设备。
可选的,若在预设的N+M个链路信息中匹配到了包含有该目标设备标识的链路信息,且根据链路信息中包含的指示信息确定该链路信息对应的设备链路中不存在Switch桥设备(即第一交换机),则确定目标故障设备为主板上的设备。
通过本实施例,在匹配到目标设备标识所在的链路后进一步确认该链路上是否存在Switch桥设备,以避免误判,提高了对故障设备定位的准确性。
基于上述步骤,执行上述步骤S206:确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间之后,所述方法还包括:在所述目标故障设备位于所述处理器与所述第一交换机之间的情况下,确定所述目标故障设备是所述主板上的设备。
若确定目标故障设备在处理器和第一交换机之间,则确定故障设备是在Switch桥设备的上行链路,则确定故障设备为主板上的设备,匹配流程退出。
可选的,上述步骤:确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,可以通过以下方案来实现,包括:在所述第j个链路信息中所述目标设备标识位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备位于所述处理器与所述第一交换机之间。
每一条链路信息不仅包含了由处理器到连接设备所经过的多个设备的设备标识,设备标识之间的存储顺序还用于表征不同设备在该链路中的顺序,因此,额可以通过确定目标设备标识是否位于处理器的设备标识和第一交换机的设备标识之间来判定目标故障设备是否位于Switch桥设备的上行链路。
通过本实施例,在确定链路中存在Switch桥设备之后,进一步通过判断故障设备是否位于Switch桥设备的上行链路,以确定故障设备是否为主板上的设备;从而精准地定位故障设备的位置。
可选的,上述步骤S208,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,可以通过以下方式来实现,包括:在所述记录项信息中查找包括所述目标设备标识的记录项,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识,k为小于或等于P的正整数;在所述记录项信息中查找到包括所述目标设备标识的第p个记录项的情况下,确定所述目标故障设备是所述交换机板上的设备、且所述目标故障设备是所述P个交换机中的一个交换机,其中,p为小于或等于P的正整数,所述第p个记录项中包括的所述P个交换机中的第p个交换机的设备标识与所述目标设备标识相等。
确定目标故障设备是否为交换机板上的设备的过程包括:现在记录项信息中(Switch链表对应的PCIE Switch资产信息表)中查找包括目标设备标识的记录项,记录项信息中的每个记录项包含有交换机(Switch桥设备)的设备标识;若查找到了包含有目标设备标识的记录项,则确定目标故障设备是交换机板上的设备,且目标故障设备的类别是Switch桥设备。
通过本实施例,在匹配到故障链路的基础上,进一步在PCIE Switch资产信息表中匹配Switch桥设备的BDF(设备标识),从而精准定位目标故障设备的位置。
可选的,上述步骤S208,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,还可以通过以下方式来实现,包括:根据所述记录项信息中包括的所述P个交换机对应的P个次级总线编号和P个从属总线编号,确定P个总线编号范围,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数,所述P个总线编号范围中的第k个总线编号范围的最小值为所述第k个交换机的次级总线编号,所述第k个总线编号范围的最大值为所述第k个交换机的从属总线编号;确定所述目标设备标识是否位于所述P个总线编号范围中;在确定所述目标设备标识位于所述P个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述交换机板上的所述M个连接设备中的连接设备。
记录项信息中的每个记录项还包含有交换机对应的次级总线编号(SwitchSecBus)和从属总线编号(SwitchSubBus),从而确定出P个交换机对应的P个总线编号范围,总线编号范围为[SwitchSecBus,SwitchSubBus];确定目标设备标识是否位于P个总线范围中的任意一个总线编号范围中,即(SwitchSecBus<=BDF<=SwitchSubBus),若匹配成功,则确定目标故障设备是交换机板上的M个连接设备中的一个连接设备。
基于上述步骤,在所述确定所述目标设备标识是否位于所述P个总线编号范围中之后,所述方法包括:在确定所述目标设备标识不位于所述P个总线编号范围中的各个总线编号范围中的情况下,根据所述N+M个链路信息中包括的所述N+M个连接设备对应的N+M个次级总线编号和N+M个从属总线编号,确定N+M个总线编号范围,其中,所述N+M个链路信息中的第i个链路信息还包括所述第i个连接设备所在的根端口的次级总线编号和从属总线编号,所述N+M个总线编号范围中的第i个总线编号范围的最小值为所述第i个连接设备所在的根端口的次级总线编号,所述第i个总线编号范围的最大值为所述第i个连接设备所在的根端口的从属总线编号;确定所述目标设备标识是否位于所述N+M个总线编号范围中;在确定所述目标设备标识位于所述N+M个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述主板上的设备。
若目标设备标识没有位于P个总线编号范围中的任意一个总线编号范围中,则需要继续遍历PCIE资产信息表,PCIE资产信息表包括该N+M个链路信息;链路信息中还包括连接设备所在的根端口(Rootport)的次级总线编号(即RpSecBus)和从属总线编号(即RpSubBus),确定出N+M个总线编号范围([RpSecBus,RpSubBus]),继续确定目标设备标识是否位于这N+M个总线编号范围中的任意一个总线编号范围内;若匹配成功(即RpSecBus<=BDF<=RpSubBus),则确定目标故障设备是主板上的设备。
基于上述步骤,在所述确定所述目标设备标识是否位于所述N+M个总线编号范围中之后,所述方法还包括:在确定所述目标设备标识不位于所述N+M个总线编号范围中的各个总线编号范围中的情况下,显示第一提示信息,其中,所述第一提示信息用于无法确定所述目标故障设备所在的位置。
经过上述匹配过程之后,若确定目标设备标识不位于这N+M个总线编号范围中的任意一个总线编号范围内,则说明匹配失败了,此时会向用户显示第一提示信息,第一提示信息用于告知用户无法确定目标故障设备所在的位置,并退出匹配流程。
基于上述步骤,在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:在所述N+M个链路信息中未查找到包括所述目标设备标识的链路信息的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备。
如果待查询BDF(目标设备标识)在PCIE资产信息表中没有匹配到包含有该目标设备标识的链路信息的话,即待查询BDF没有匹配到Ep的BDF,Ep的上四级设备的BDF和Ep所在的RootPort BDF,则也要继续进行PCIE Switch资产信息(即上述预设的记录项信息)匹配,其中,PCIE资产信息表用于存储上述预设的N+M个链路信息。
可选的,所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,包括:在所述第j个链路信息中所述目标设备标识不位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备不位于所述处理器与所述第一交换机之间。
若在第j个链路信息中确定目标设备标识的位置不在处理器的设备标识和第一交换机的设备标识之间的话,则确定该目标故障设备不位于处理器和第一交换机之间,即故障设备不在Switch桥设备的上行链路。
可选的,在确定所述目标故障设备是所述交换机板上的设备的情况下,所述方法还包括:获取所述交换机板的标识,并显示第二提示信息,其中,所述第二提示信息包括所述交换机板的标识,所述第二提示信息用于表示所述目标故障设备是所述交换机板上的设备;或者获取所述交换机板的标识,在所述目标故障设备是所述M个连接设备中的一个连接设备的情况下,显示第三提示信息,其中,所述第三提示信息包括所述交换机板的标识,所述第三提示信息用于表示所述目标故障设备是所述交换机板上的所述M个连接设备中的一个连接设备;或者获取所述交换机板的标识,在所述目标故障设备是所述P个交换机中的一个交换机的情况下,显示第四提示信息,其中,所述第四提示信息包括所述交换机板的标识,所述第四提示信息用于表示所述目标故障设备是所述交换机板上的所述P个交换机中的一个交换机。
确定了目标故障设备是交换机板上的设备之后,根据目标故障设备类别的不同向用户显示不同的提示信息,其中,位于交换机板上的目标故障设备的类别包括:交换机板上M个连接设备中的一个连接设备(及PCIE设备),P个交换机中的一个交换机(即Switch桥设备),以及链路上的其他设备;若确定目标故障设备的类别为链路上的其他设备的情况下,将交换机板的标识(即Switch板的丝印信息)显示给用户,并告知用户目标故障设备为链路上的其他设备;若确定目标故障设备的类别为交换机板上M个连接设备中的一个连接设备的情况下,将交换机板的标识显示给用户,并告知用户目标故障设备为M个连接设备中的一个连接设备;若确定目标故障设备的类别为P个交换机中的一个交换机的情况下,将交换机板的标识显示给用户,并告知用户目标故障设备的类别为P个交换机板中的一个交换机。
在一个可选的实施例中,在定位到目标故障设备为交换机板上的设备,向用户展示交换机板的丝印信息以及目标故障设备的类别信息之后,还可以向用户展示目标故障设备具体为哪一个设备,即直接将目标故障设备的BDF信息也一并展示给用户,和/或根据该BDF信息匹配目标故障设备的设备ID信息,并向用户展示,如图5所示,帮助用户确认目标故障设备具体为Switch板上的哪一个设备,例如 Switch Bridge2,EP3等。
通过本实施例,在确定了Switch板的丝印信息的同时,明确了故障设备的具体类别,从而让用户能根据这些信息准确地判断出修复策略和定位故障设备,提升用户体验。
可选的,所述获取所述交换机板的标识,包括:在所述记录项信息中获取所述交换机板的标识,其中,所述记录项信息中包括所述交换机板的标识和P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识。
交换机的标识(即Switch板的丝印信息)可以在记录项信息中查询,记录项信息即基于Switch链表生成的PCIE Switch资产信息,其中存储有每一个Switch桥设备的BDF和Switch板的丝印信息。
可选的,在确定所述目标故障设备是所述主板上的设备的情况下,所述方法还包括:获取所述主板的标识,并显示第五提示信息,其中,所述第五提示信息包括所述主板的标识,其中,所述第五提示信息用于表示所述目标故障设备是所述主板上的设备;或者获取所述主板的标识,在所述目标故障设备是所述N个连接设备中的一个连接设备的情况下,显示第六提示信息,其中,所述第六提示信息包括所述主板的标识,所述第六提示信息用于表示所述目标故障设备是所述主板上的所述N个连接设备中的一个连接设备;或者获取所述主板的标识,在所述目标故障设备是所述主板上除所述N个连接设备之外的设备的情况下,显示第七提示信息,其中,所述第七提示信息包括所述主板的标识,所述第七提示信息用于表示所述目标故障设备是所述主板上除所述N个连接设备之外的设备。
若确定了目标故障设备是主板上的设备,需要获取对应主板的丝印信息(即上述主板的标识),以及根据目标故障设备类别的不同向用户显示不同的提示信息,其中,位于主板上的目标故障设备的类别包括:主板上N个连接设备中的一个连接设备,主板上的设备,主板上除了N个连接设备之外的设备;若目标故障设备的类别为主板上的设备,则将主板的丝印信息显示给用户,并告知用户目标故障设备是主板上的设备;或者,在确定目标故障设备是N个连接设备中的一个连接设备的情况下,将主板的丝印信息显示给用户,并告知用户目标故障设备是N个连接设备中的一个连接设备;或者,若确定目标故障设备是主板上除N个连接设备之外的设备,则将主板私信信息显示给用户,并告知用户目标故障设备是主板上除N个连接设备之外的设备。
在一个可选的实施例中,在定位到目标故障设备为主板上的设备,向用户展示主板的丝印信息以及目标故障设备的类别信息之后,还可以向用户展示目标故障设备具体为哪一个设备,即直接将目标故障设备的BDF信息也一并展示给用户,和/或根据该BDF信息匹配目标故障设备的设备ID信息,并向用户展示,如图5所示,根据BDF信息帮助用户确认目标故障设备具体为主板上的哪一个设备,例如EP1,Bridge3等。
通过本实施例,在确定目标故障设备是主板上的设备的基础上,进一步确定目标故障设备的具体类别,从而帮助用户能更精准地根据故障设备的类别和位置进行故障修复。
可选的,所述获取所述主板的标识,包括:从预先确定的连接设备描述信息中获取所述主板的标识,其中,所述连接设备描述信息包括所述主板的标识和所述N+M个链路信息。
主板的丝印信息可以从预先确定的连接设备描述信息中查找,连接设备描述信息即PCIE资产信息表,存储有主板的标识(即主板丝印信息)和N+M个链路信息。
在一个示例性实施例中,所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,其中,所述N+M条设备链路包括从所述处理器到所述N+M个连接设备中的每个设备所形成的设备链路,所述N+M条设备链路中的第i条设备链路上的多个设备的设备标识包括所述第i个连接设备的设备标识以及所述第i个连接设备所在的根端口的设备标识;获取所述主板的标识;获取所述N+M个连接设备中的每个连接设备所在的根端口的次级总线编号和从属总线编号。
在开始进行故障检测之前,需要先搭建出Ep链表(即上述连接设备描述信息),Ep链表中具体包含有:N+M条设备链路中每条设备链路上的多个设备的设备标识,每条设备链路包含有从处理器到连接设备中的多个设备,包括连接设备、连接设备的上四级设备;另外还需获取连接设备所在的RootPort的BDF以及主板的丝印信息,并获取每个连接设备所在的根端口的RpSecBus(次级总线编号)和 RpSubBus(从属总线编号)。
可选的,所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:确定所述N+M条设备链路中的每条设备链路上是否存在所述P个交换机中的一个交换机,得到N+M个指示信息,其中,所述N+M个指示信息中的第i个指示信息用于表示所述第i条设备链路上是否存在所述P个交换机中的一个交换机。
遍历生成Ep链表的过程中还会扫描Rp(根端口)到Ep设备的链路中是否有SwitchBridge设备(即交换机),并将扫描结果(指示信息)也添加到Ep链表中,其中,指示信息用于表示设备链路上是否存在交换机。
可选的,所述获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,包括:在所述N+M个连接设备均不是虚拟网口设备的情况下,获取所述N+M个连接设备发送的所述N+M条设备链路中的每条设备链路上的多个设备的设备标识。
在遍历过程中还会根据连接设备的DeviceId和VendorId来确定连接设备是否接了智能网卡,若接入了智能网卡,则会过滤掉网卡内部的虚拟网口设备上报,即在连接设备不是虚拟网口设备是,才会获取对应设备链路的多个设备的设备标识。
通过本实施例,通过过滤虚拟网卡设备上报可以节省BMC的存储资源和提高BMC对智能网卡的故障精确定位能力。
可选的,在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:获取所述P个交换机中的每个交换机的设备标识;获取所述交换机板的标识;获取所述P个交换机中的每个交换机的次级总线编号和从属总线编号。
模块会继续遍历所有桥设备(Bridge),识别出Switch板上的Switch桥设备,依次针对每个有效的Switch桥设备进行信息解析,获取对应的Switch BDF(交换机的设备标识),SwitchSecBus(次级总线编号)、 SwitchSubBus(从属总线编号)和Switch板丝印信息(交换机板的标识)。
可选的,在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:将所述P个交换机中的每个交换机的设备标识和所述P个交换机中的每个交换机的次级总线编号和从属总线编号记录在所述记录项信息中的P个记录项中,其中,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数。
获取到上述信息之后,可以根据上述信息来生成Switch链表,也即上述记录项信息,记录项信息具体包括:P个交换机中每个交换机的设备标识、每个交换机的次级总线编号和从属总线编号。
本申请通过BIOS和BMC合作编写代码的方式,覆盖了带有Switch板的AI机型的PCIE设备故障检测和智能网卡多虚拟网口的故障检测场景,减少了BMC存储PCIE资产信息表的空间,提高了查找效率,提高了AI数据中心的运维效率,又能避免自动定位不出来再手动去搜集相关错误信息定位产生的失误,给运维提供极大方便,即对故障诊断精准定位的应用场景有非常显著的效果。同时代码可扩展性强,可适应不同AI服务器平台,技术改进容易,具有很好的推广价值。
可选的,上述故障设备的确定方法可以应用于本申请所提出的一种PCIE设备故障检测系统中,如图3所示,该系统由BIOS PCIE资产信息上报模块32、BMC PCIE资产信息存储模块34、BMC PCIE故障定位模块36和BMC日志告警模块38构成。
PCIE资产信息上报模块32会在BIOS Post(上电)过程中去遍历PICE设备(Ep),初始化存储Ep链表,识别主板直连及Switch板下的PCIE设备,依次针对每个有效的PCIE设备进行信息解析,获取Ep的BDF,Ep的上四级设备的BDF和Ep所在的RootPort BDF,获取到RootPort对应的SlotId,并根据SlotId获取对应的主板丝印信息、RpSecBus和RpSubBus都放到Ep链表中。遍历过程中也扫描Rp到Ep设备的链路中是否有Switch Bridge设备,并将扫描结果信息(即上述指示信息)也添加到链表中。同时根据Ep的DeviceId和VendorId来确定是否接了智能网卡和过滤掉网卡内部的虚拟网卡设备上报,以节省BMC的存储资源和提高BMC对智能网卡的故障精确定位能力。模块继续去遍历所有桥设备(Bridge),初始化存储Switch链表,识别出Switch板上的Switch桥设备,依次针对每个有效的Switch设备进行信息解析,获取对应的Switch BDF、SwitchSecBus、SwitchSubBus和Switch板丝印信息,添加到Switch链表。最后把Ep链表和Switch链表放到共享内存中, 通知BMC PCIE资产信息存储模块。
资产信息存储模块34解析链表得到PCIE资产信息表和和PCIE Switch资产信息表。当实际发送故障后系统会触发SMI中断将报错设备的BDF和错误寄存器信息发送给BMCPCIE故障定位模块36。
PCIE故障定位模块36根据故障设备BDF按照特定规则去PCIE资产信息表和PCIESwitch资产信息表完成匹配和查找。如果查找成功则显示对应丝印,如果没有查找成功则显示Not Found,并调用BMC 日志告警模块38生成告警日志。
在一个可选的实施例中,本申请还提供了一种可选的PCIE设备故障检测方法,其具体实施过程如图4所示,包括以下步骤:
步骤S401、机器上电,BIOS启动;
步骤S402、PCIE资产信息上报模块开始遍历PCIE设备(Ep),初始化存储Ep链表,识别主板直连及Switch板下的PCIE设备,依次针对每个有效的PCIE设备进行信息解析,获取Ep的BDF,Ep的上四级设备的BDF和Ep所在的RootPort BDF,获取到RootPort对应的SlotId,并根据SlotId获取对应的主板丝印信息、RpSecBus和 RpSubBus都放到Ep链表中;
步骤S403、遍历过程中也扫描Rp到Ep设备的链路中是否有 Switch Bridge设备,并将扫描结果信息也添加到链表中,若有则标志该BDF为Switch Bridge,更新到Ep链表;若没有则标志该链路没有Switch Bridge,更新Ep链表;
步骤S404、遍历过程中根据Ep的 DeviceId和VendorId来确定是否接了智能网卡,以过滤掉网卡内部的虚拟网口设备上报;
步骤S405、模块继续遍历所有桥设备(Bridge),初始化存储Switch链表,识别出Switch板上的Switch设备,依次针对每个有效的Switch设备进行信息解析,获取对应的Switch BDF、 SwitchSecBus、 SwitchSubBus和Switch板丝印信息,添加到Switch链表;
步骤S406、把Ep链表和Switch链表放到共享内存中, 通知BMC PCIE资产信息存储模块;
步骤S407、资产信息存储模块解析链表得到PCIE资产信息表和PCIE Switch资产信息表,并以JSON格式存储;
步骤S408、当实际发生故障后系统会触发SMI中断将报错设备的BDF和错误寄存器信息发送给BMC PCIE故障定位模块;
步骤S409、遍历PCIE资产信息表;
步骤S410、确定待查询BDF是否匹配到Ep的BDF,Ep的BDF包括:B.D.F/RootPortB.D.F/LastRoot B.D.F/SecondRoot B.D.F/ThirdRoot B.D.F/FourRoot B.D.F;若是则执行步骤S411;若否则执行步骤S413;
步骤S411、确认匹配到的链路是否有 Switch Bridge设备;如果没有Switch设备则表示匹配成功,故障设备为匹配链路上的主板丝印,匹配流程退出;如果有则执行步骤S412;
步骤S412、确认故障设备BDF是在Switch设备的上行或者下行链路,如果是上行链路则表示匹配成功,故障设备为匹配链路上的主板丝印,匹配流程退出;如果是下行链路则执行步骤S413;
步骤S413、遍历PCIE Switch资产信息表;
步骤S414、确定待查询BDF是否匹配到Switch的BDF,以及确定待查询BDF是否落在SwitchSecBus和SwitchSubBus之间;若待查询BDF匹配到Switch的BDF,或者落在SwitchSecBus和SwitchSubBus之间(SwitchSecBus<=BDF<=SwitchSubBus),则表示匹配成功,故障设备为匹配链路上的Switch板丝印,匹配流程退出;如果待查询BDF没有匹配上,则执行步骤S415;
步骤S415、遍历PCIE资产信息表;
步骤S416、确定待查询BDF是否落在RpSecBus和 RpSubBus之间,如果待查询BDF落在RpSecBus和 RpSubBus之间( RpSecBus<=BDF<=RpSubBus)则表示匹配成功,故障设备为匹配链路上的主板丝印,匹配流程退出;如果待查询BDF还没有匹配上则表示NOT FOUND,匹配流程退出。
执行上述步骤之后,BMC 日志告警模块则根据错误寄存器信息和匹配结果(NOTFOUND/主板丝印x/Switch板丝印x)组成告警日志,在Web界面显示,并根据从错误寄存器信息解析的错误等级(可纠正错误/不可纠正错误)来确定是否邮件通知运维人员维修;从而精准定位故障设备的位置以及错误等级,从而能够更快地修复故障。
在一个可选的实施例中,本申请提供了一种可选的系统架构,如图5所示,图5描述了本申请中主板、Switch板、Bridge、Switch Bridge设备等多种设备之间的一种连接方式,以便于更好地理解本申请。
其中,PCIE设备包括Ep1、Ep2和Ep3,其中,Ep1和Ep2为与主板直连的PCIE设备,且Ep1连接有智能网卡,Ep3为与Switch板连接的PCIE设备;对于Ep1而言,由于连接了智能网卡,因此在生成Ep链表时,会过滤掉该条设备链路上的虚拟网口设备上报的BDF信息,因此,Ep1对应的Ep链表中存储有Ep1对应的根端口RP1的BDF和Ep1的BDF;而对于Ep2对应的Ep链表中,则存储有RP2的BDF、Bridge1-Bridge3(图中仅用作示例,实际应用中可能存在更少或更多的Bridge)的BDF,Ep2的BDF;而对于Ep3对应的Ep链表中,则包含有RP3的BDF、Bridge1的BDF、Switch Bridge2的BDF、Ep3的BDF。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种故障设备的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的故障设备的确定装置的结构框图,如图6所示,该装置包括:
获取模块62,用于获取目标故障设备的目标设备标识;
查找模块64,用于在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;
第一确定模块66,用于在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;
第二确定模块68,用于在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
通过上述装置,在预设的N+M个链路信息中查找包含有目标故障设备的目标设备标识的链路信息,其中,每一条链路信息对应了一个连接设备,连接设备有主板上的N个连接设备和交换机板上的M个连接设备,M个连接设备中的每个连接设备与交换机板上的P个交换机中的一个交换机连接,而链路信息包括主板上的处理器到连接设备所形成的设备链路上的多个设备的设备标识;若查找到包含目标设备标识的第j个链路信息,且链路信息中包含的指示信息指示该设备链路上存在第一交换机的情况下,确定目标故障设备在该设备链路中是否位于处理器与第一交换机之间,若目标故障设备不位于处理器与第一交换机之间,则根据预设的记录项信息和目标设备标识确定该目标故障设备是否是交换机板上的设备,其中,记录项信息中包括每个交换机的设备标识;采用上述方案,能够准确定位故障设备的具体位置,从而能够尽快修复故障设备,减少排查故障位置耗费的时间,提升用户体验,从而解决了相关技术中,现有技术对普通PCIE的设备故障定位能够做到准确定位,但对带有Switch板(交换机板)的AI机型的设备故障定位不够准确的技术问题。
可选的,上述查找模块64,还用于在所述N+M个链路信息中查找到包括所述目标设备标识的所述第j个链路信息、且所述第j个指示信息表示所述第j条设备链路上不包括所述第一交换机的情况下,确定所述目标故障设备是所述主板上的设备。
可选的,若在预设的N+M个链路信息中匹配到了包含有该目标设备标识的链路信息,且根据链路信息中包含的指示信息确定该链路信息对应的设备链路中不存在Switch桥设备(即第一交换机),则确定目标故障设备为主板上的设备。
通过本实施例,在匹配到目标设备标识所在的链路后进一步确认该链路上是否存在Switch桥设备,以避免误判,提高了对故障设备定位的准确性。
可选的,上述第一确定模块66,还用于在所述目标故障设备位于所述处理器与所述第一交换机之间的情况下,确定所述目标故障设备是所述主板上的设备。
若确定目标故障设备在处理器和第一交换机之间,则确定故障设备是在Switch桥设备的上行链路,则确定故障设备为主板上的设备,匹配流程退出。
可选的,上述第一确定模块66,还用于在所述第j个链路信息中所述目标设备标识位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备位于所述处理器与所述第一交换机之间。
每一条链路信息不仅包含了由处理器到连接设备所经过的多个设备的设备标识,设备标识之间的存储顺序还用于表征不同设备在该链路中的顺序,因此,额可以通过确定目标设备标识是否位于处理器的设备标识和第一交换机的设备标识之间来判定目标故障设备是否位于Switch桥设备的上行链路。
通过本实施例,在确定链路中存在Switch桥设备之后,进一步通过判断故障设备是否位于Switch桥设备的上行链路,以确定故障设备是否为主板上的设备;从而精准地定位故障设备的位置。
可选的,上述第二确定模块68,还用于在所述记录项信息中查找包括所述目标设备标识的记录项,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识,k为小于或等于P的正整数;在所述记录项信息中查找到包括所述目标设备标识的第p个记录项的情况下,确定所述目标故障设备是所述交换机板上的设备、且所述目标故障设备是所述P个交换机中的一个交换机,其中,p为小于或等于P的正整数,所述第p个记录项中包括的所述P个交换机中的第p个交换机的设备标识与所述目标设备标识相等。
确定目标故障设备是否为交换机板上的设备的过程包括:现在记录项信息中(Switch链表对应的PCIE Switch资产信息表)中查找包括目标设备标识的记录项,记录项信息中的每个记录项包含有交换机(Switch桥设备)的设备标识;若查找到了包含有目标设备标识的记录项,则确定目标故障设备是交换机板上的设备,且目标故障设备的类别是Switch桥设备。
通过本实施例,在匹配到故障链路的基础上,进一步在PCIE Switch资产信息表中匹配Switch桥设备的BDF(设备标识),从而精准定位目标故障设备的位置。
可选的,上述第二确定模块68,还用于根据所述记录项信息中包括的所述P个交换机对应的P个次级总线编号和P个从属总线编号,确定P个总线编号范围,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数,所述P个总线编号范围中的第k个总线编号范围的最小值为所述第k个交换机的次级总线编号,所述第k个总线编号范围的最大值为所述第k个交换机的从属总线编号;确定所述目标设备标识是否位于所述P个总线编号范围中;在确定所述目标设备标识位于所述P个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述交换机板上的所述M个连接设备中的连接设备。
记录项信息中的每个记录项还包含有交换机对应的次级总线编号(SwitchSecBus)和从属总线编号(SwitchSubBus),从而确定出P个交换机对应的P个总线编号范围,总线编号范围为[SwitchSecBus,SwitchSubBus];确定目标设备标识是否位于P个总线范围中的任意一个总线编号范围中,即(SwitchSecBus<=BDF<=SwitchSubBus),若匹配成功,则确定目标故障设备是交换机板上的M个连接设备中的一个连接设备。
可选的,上述第二确定模块68,还用于在确定所述目标设备标识不位于所述P个总线编号范围中的各个总线编号范围中的情况下,根据所述N+M个链路信息中包括的所述N+M个连接设备对应的N+M个次级总线编号和N+M个从属总线编号,确定N+M个总线编号范围,其中,所述N+M个链路信息中的第i个链路信息还包括所述第i个连接设备所在的根端口的次级总线编号和从属总线编号,所述N+M个总线编号范围中的第i个总线编号范围的最小值为所述第i个连接设备所在的根端口的次级总线编号,所述第i个总线编号范围的最大值为所述第i个连接设备所在的根端口的从属总线编号;确定所述目标设备标识是否位于所述N+M个总线编号范围中;在确定所述目标设备标识位于所述N+M个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述主板上的设备。
若目标设备标识没有位于P个总线编号范围中的任意一个总线编号范围中,则需要继续遍历PCIE资产信息表,PCIE资产信息表包括该N+M个链路信息;链路信息中还包括连接设备所在的根端口(Rootport)的次级总线编号(即RpSecBus)和从属总线编号(即RpSubBus),确定出N+M个总线编号范围([RpSecBus,RpSubBus]),继续确定目标设备标识是否位于这N+M个总线编号范围中的任意一个总线编号范围内;若匹配成功(即RpSecBus<=BDF<=RpSubBus),则确定目标故障设备是主板上的设备。
可选的,上述第二确定模块68,还用于在确定所述目标设备标识不位于所述N+M个总线编号范围中的各个总线编号范围中的情况下,显示第一提示信息,其中,所述第一提示信息用于无法确定所述目标故障设备所在的位置。
经过上述匹配过程之后,若确定目标设备标识不位于这N+M个总线编号范围中的任意一个总线编号范围内,则说明匹配失败了,此时会向用户显示第一提示信息,第一提示信息用于告知用户无法确定目标故障设备所在的位置,并退出匹配流程。
可选的,上述查找模块64,还用于在所述N+M个链路信息中未查找到包括所述目标设备标识的链路信息的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备。
如果待查询BDF(目标设备标识)在PCIE资产信息表中没有匹配到包含有该目标设备标识的链路信息的话,即待查询BDF没有匹配到Ep的BDF,Ep的上四级设备的BDF和Ep所在的RootPort BDF,则也要继续进行PCIE Switch资产信息(即上述预设的记录项信息)匹配,其中,PCIE资产信息表用于存储上述预设的N+M个链路信息。
可选的,上述第一确定模块66,还用于在所述第j个链路信息中所述目标设备标识不位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备不位于所述处理器与所述第一交换机之间。
若在第j个链路信息中确定目标设备标识的位置不在处理器的设备标识和第一交换机的设备标识之间的话,则确定该目标故障设备不位于处理器和第一交换机之间,即故障设备不在Switch桥设备的上行链路。
可选的,上述第二确定模块68,还用于获取所述交换机板的标识,并显示第二提示信息,其中,所述第二提示信息包括所述交换机板的标识,所述第二提示信息用于表示所述目标故障设备是所述交换机板上的设备;或者获取所述交换机板的标识,在所述目标故障设备是所述M个连接设备中的一个连接设备的情况下,显示第三提示信息,其中,所述第三提示信息包括所述交换机板的标识,所述第三提示信息用于表示所述目标故障设备是所述交换机板上的所述M个连接设备中的一个连接设备;或者获取所述交换机板的标识,在所述目标故障设备是所述P个交换机中的一个交换机的情况下,显示第四提示信息,其中,所述第四提示信息包括所述交换机板的标识,所述第四提示信息用于表示所述目标故障设备是所述交换机板上的所述P个交换机中的一个交换机。
确定了目标故障设备是交换机板上的设备之后,根据目标故障设备类别的不同向用户显示不同的提示信息,其中,位于交换机板上的目标故障设备的类别包括:交换机板上M个连接设备中的一个连接设备(及PCIE设备),P个交换机中的一个交换机(即Switch桥设备),以及链路上的其他设备;若确定目标故障设备的类别为链路上的其他设备的情况下,将交换机板的标识(即Switch板的丝印信息)显示给用户,并告知用户目标故障设备为链路上的其他设备;若确定目标故障设备的类别为交换机板上M个连接设备中的一个连接设备的情况下,将交换机板的标识显示给用户,并告知用户目标故障设备为M个连接设备中的一个连接设备;若确定目标故障设备的类别为P个交换机中的一个交换机的情况下,将交换机板的标识显示给用户,并告知用户目标故障设备的类别为P个交换机板中的一个交换机。
在一个可选的实施例中,在定位到目标故障设备为交换机板上的设备,向用户展示交换机板的丝印信息以及目标故障设备的类别信息之后,还可以向用户展示目标故障设备具体为哪一个设备,即直接将目标故障设备的BDF信息也一并展示给用户,和/或根据该BDF信息匹配目标故障设备的设备ID信息,并向用户展示,如图5所示,帮助用户确认目标故障设备具体为Switch板上的哪一个设备,例如 Switch Bridge2,EP3等。
通过本实施例,在确定了Switch板的丝印信息的同时,明确了故障设备的具体类别,从而让用户能根据这些信息准确地判断出修复策略和定位故障设备,提升用户体验。
可选的,上述获取模块62,还用于在所述记录项信息中获取所述交换机板的标识,其中,所述记录项信息中包括所述交换机板的标识和P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识。
交换机的标识(即Switch板的丝印信息)可以在记录项信息中查询,记录项信息即基于Switch链表生成的PCIE Switch资产信息,其中存储有每一个Switch桥设备的BDF和Switch板的丝印信息。
可选的,上述第二确定模块68,还用于获取所述主板的标识,并显示第五提示信息,其中,所述第五提示信息包括所述主板的标识,其中,所述第五提示信息用于表示所述目标故障设备是所述主板上的设备;或者获取所述主板的标识,在所述目标故障设备是所述N个连接设备中的一个连接设备的情况下,显示第六提示信息,其中,所述第六提示信息包括所述主板的标识,所述第六提示信息用于表示所述目标故障设备是所述主板上的所述N个连接设备中的一个连接设备;或者获取所述主板的标识,在所述目标故障设备是所述主板上除所述N个连接设备之外的设备的情况下,显示第七提示信息,其中,所述第七提示信息包括所述主板的标识,所述第七提示信息用于表示所述目标故障设备是所述主板上除所述N个连接设备之外的设备。
若确定了目标故障设备是主板上的设备,需要获取对应主板的丝印信息(即上述主板的标识),以及根据目标故障设备类别的不同向用户显示不同的提示信息,其中,位于主板上的目标故障设备的类别包括:主板上N个连接设备中的一个连接设备,主板上的设备,主板上除了N个连接设备之外的设备;若目标故障设备的类别为主板上的设备,则将主板的丝印信息显示给用户,并告知用户目标故障设备是主板上的设备;或者,在确定目标故障设备是N个连接设备中的一个连接设备的情况下,将主板的丝印信息显示给用户,并告知用户目标故障设备是N个连接设备中的一个连接设备;或者,若确定目标故障设备是主板上除N个连接设备之外的设备,则将主板私信信息显示给用户,并告知用户目标故障设备是主板上除N个连接设备之外的设备。
在一个可选的实施例中,在定位到目标故障设备为主板上的设备,向用户展示主板的丝印信息以及目标故障设备的类别信息之后,还可以向用户展示目标故障设备具体为哪一个设备,即直接将目标故障设备的BDF信息也一并展示给用户,和/或根据该BDF信息匹配目标故障设备的设备ID信息,并向用户展示,如图5所示,根据BDF信息帮助用户确认目标故障设备具体为主板上的哪一个设备,例如EP1,Bridge3等。
通过本实施例,在确定目标故障设备是主板上的设备的基础上,进一步确定目标故障设备的具体类别,从而帮助用户能更精准地根据故障设备的类别和位置进行故障修复。
可选的,上述获取模块62,还用于从预先确定的连接设备描述信息中获取所述主板的标识,其中,所述连接设备描述信息包括所述主板的标识和所述N+M个链路信息。
主板的丝印信息可以从预先确定的连接设备描述信息中查找,连接设备描述信息即PCIE资产信息表,存储有主板的标识(即主板丝印信息)和N+M个链路信息。
可选的,所述查找模块64,还用于获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,其中,所述N+M条设备链路包括从所述处理器到所述N+M个连接设备中的每个设备所形成的设备链路,所述N+M条设备链路中的第i条设备链路上的多个设备的设备标识包括所述第i个连接设备的设备标识以及所述第i个连接设备所在的根端口的设备标识;获取所述主板的标识;获取所述N+M个连接设备中的每个连接设备所在的根端口的次级总线编号和从属总线编号。
在开始进行故障检测之前,需要先搭建出Ep链表(即上述连接设备描述信息),Ep链表中具体包含有:N+M条设备链路中每条设备链路上的多个设备的设备标识,每条设备链路包含有从处理器到连接设备中的多个设备,包括连接设备、连接设备的上四级设备;另外还需获取连接设备所在的RootPort的BDF以及主板的丝印信息,并获取每个连接设备所在的根端口的RpSecBus(次级总线编号)和 RpSubBus(从属总线编号)。
可选的,上述查找模块64,还用于确定所述N+M条设备链路中的每条设备链路上是否存在所述P个交换机中的一个交换机,得到N+M个指示信息,其中,所述N+M个指示信息中的第i个指示信息用于表示所述第i条设备链路上是否存在所述P个交换机中的一个交换机。
遍历生成Ep链表的过程中还会扫描Rp(根端口)到Ep设备的链路中是否有SwitchBridge设备(即交换机),并将扫描结果(指示信息)也添加到Ep链表中,其中,指示信息用于表示设备链路上是否存在交换机。
可选的,上述获取模块62,还用于在所述N+M个连接设备均不是虚拟网口设备的情况下,获取所述N+M个连接设备发送的所述N+M条设备链路中的每条设备链路上的多个设备的设备标识。
在遍历过程中还会根据连接设备的DeviceId和VendorId来确定连接设备是否接了智能网卡,若接入了智能网卡,则会过滤掉网卡内部的虚拟网口设备上报,即在连接设备不是虚拟网口设备是,才会获取对应设备链路的多个设备的设备标识。
通过本实施例,通过过滤虚拟网卡设备上报可以节省BMC的存储资源和提高BMC对智能网卡的故障精确定位能力。
可选的,上述第二确定模块68,还用于获取所述P个交换机中的每个交换机的设备标识;获取所述交换机板的标识;获取所述P个交换机中的每个交换机的次级总线编号和从属总线编号。
模块会继续遍历所有桥设备(Bridge),识别出Switch板上的Switch桥设备,依次针对每个有效的Switch桥设备进行信息解析,获取对应的Switch BDF(交换机的设备标识),SwitchSecBus(次级总线编号)、 SwitchSubBus(从属总线编号)和Switch板丝印信息(交换机板的标识)。
可选的,上述第二确定模块68,还用于将所述P个交换机中的每个交换机的设备标识和所述P个交换机中的每个交换机的次级总线编号和从属总线编号记录在所述记录项信息中的P个记录项中,其中,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数。
获取到上述信息之后,可以根据上述信息来生成Switch链表,也即上述记录项信息,记录项信息具体包括:P个交换机中每个交换机的设备标识、每个交换机的次级总线编号和从属总线编号。
本申请通过BIOS和BMC合作编写代码的方式,覆盖了带有Switch板的AI机型的PCIE设备故障检测和智能网卡多虚拟网口的故障检测场景,减少了BMC存储PCIE资产信息表的空间,提高了查找效率,提高了AI数据中心的运维效率,又能避免自动定位不出来再手动去搜集相关错误信息定位产生的失误,给运维提供极大方便,即对故障诊断精准定位的应用场景有非常显著的效果。同时代码可扩展性强,可适应不同AI服务器平台,技术改进容易,具有很好的推广价值。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种故障设备的确定方法,其特征在于,
包括:
获取目标故障设备的目标设备标识;
在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;
在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;
在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
2.根据权利要求1所述的方法,其特征在于,
在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:
在所述N+M个链路信息中查找到包括所述目标设备标识的所述第j个链路信息、且所述第j个指示信息表示所述第j条设备链路上不包括所述第一交换机的情况下,确定所述目标故障设备是所述主板上的设备。
3.根据权利要求1所述的方法,其特征在于,
所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间之后,所述方法还包括:
在所述目标故障设备位于所述处理器与所述第一交换机之间的情况下,确定所述目标故障设备是所述主板上的设备。
4.根据权利要求1所述的方法,其特征在于,
所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,包括:
在所述第j个链路信息中所述目标设备标识位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备位于所述处理器与所述第一交换机之间。
5.根据权利要求1所述的方法,其特征在于,
所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,包括:
在所述记录项信息中查找包括所述目标设备标识的记录项,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识,k为小于或等于P的正整数;
在所述记录项信息中查找到包括所述目标设备标识的第p个记录项的情况下,确定所述目标故障设备是所述交换机板上的设备、且所述目标故障设备是所述P个交换机中的一个交换机,其中,p为小于或等于P的正整数,所述第p个记录项中包括的所述P个交换机中的第p个交换机的设备标识与所述目标设备标识相等。
6.根据权利要求1所述的方法,其特征在于,
所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,包括:
根据所述记录项信息中包括的所述P个交换机对应的P个次级总线编号和P个从属总线编号,确定P个总线编号范围,其中,所述记录项信息中包括P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数,所述P个总线编号范围中的第k个总线编号范围的最小值为所述第k个交换机的次级总线编号,所述第k个总线编号范围的最大值为所述第k个交换机的从属总线编号;
确定所述目标设备标识是否位于所述P个总线编号范围中;
在确定所述目标设备标识位于所述P个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述交换机板上的所述M个连接设备中的连接设备。
7.根据权利要求6所述的方法,其特征在于,
在所述确定所述目标设备标识是否位于所述P个总线编号范围中之后,所述方法还包括:
在确定所述目标设备标识不位于所述P个总线编号范围中的各个总线编号范围中的情况下,根据所述N+M个链路信息中包括的所述N+M个连接设备对应的N+M个次级总线编号和N+M个从属总线编号,确定N+M个总线编号范围,其中,所述N+M个链路信息中的第i个链路信息还包括所述第i个连接设备所在的根端口的次级总线编号和从属总线编号,所述N+M个总线编号范围中的第i个总线编号范围的最小值为所述第i个连接设备所在的根端口的次级总线编号,所述第i个总线编号范围的最大值为所述第i个连接设备所在的根端口的从属总线编号;
确定所述目标设备标识是否位于所述N+M个总线编号范围中;
在确定所述目标设备标识位于所述N+M个总线编号范围中的一个总线编号范围中的情况下,确定所述目标故障设备是所述主板上的设备。
8.根据权利要求7所述的方法,其特征在于,
在所述确定所述目标设备标识是否位于所述N+M个总线编号范围中之后,所述方法还包括:
在确定所述目标设备标识不位于所述N+M个总线编号范围中的各个总线编号范围中的情况下,显示第一提示信息,其中,所述第一提示信息用于无法确定所述目标故障设备所在的位置。
9.根据权利要求1所述的方法,其特征在于,
在所述预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之后,所述方法还包括:
在所述N+M个链路信息中未查找到包括所述目标设备标识的链路信息的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备。
10.根据权利要求1至9中任一项所述的方法,其特征在于,
所述确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,包括:
在所述第j个链路信息中所述目标设备标识不位于所述处理器的设备标识与所述第一交换机的设备标识之间的情况下,确定在所述第j条设备链路上所述目标故障设备不位于所述处理器与所述第一交换机之间。
11.根据权利要求1至9中任一项所述的方法,其特征在于,
在确定所述目标故障设备是所述交换机板上的设备的情况下,所述方法还包括:
获取所述交换机板的标识,并显示第二提示信息,其中,所述第二提示信息包括所述交换机板的标识,所述第二提示信息用于表示所述目标故障设备是所述交换机板上的设备;或者
获取所述交换机板的标识,在所述目标故障设备是所述M个连接设备中的一个连接设备的情况下,显示第三提示信息,其中,所述第三提示信息包括所述交换机板的标识,所述第三提示信息用于表示所述目标故障设备是所述交换机板上的所述M个连接设备中的一个连接设备;或者
获取所述交换机板的标识,在所述目标故障设备是所述P个交换机中的一个交换机的情况下,显示第四提示信息,其中,所述第四提示信息包括所述交换机板的标识,所述第四提示信息用于表示所述目标故障设备是所述交换机板上的所述P个交换机中的一个交换机。
12.根据权利要求11所述的方法,其特征在于,
所述获取所述交换机板的标识,包括:
在所述记录项信息中获取所述交换机板的标识,其中,所述记录项信息中包括所述交换机板的标识和P个记录项,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识。
13.根据权利要求2、3、6和7中任一项所述的方法,其特征在于,
在确定所述目标故障设备是所述主板上的设备的情况下,所述方法还包括:
获取所述主板的标识,并显示第五提示信息,其中,所述第五提示信息包括所述主板的标识,其中,所述第五提示信息用于表示所述目标故障设备是所述主板上的设备;或者
获取所述主板的标识,在所述目标故障设备是所述N个连接设备中的一个连接设备的情况下,显示第六提示信息,其中,所述第六提示信息包括所述主板的标识,所述第六提示信息用于表示所述目标故障设备是所述主板上的所述N个连接设备中的一个连接设备;或者
获取所述主板的标识,在所述目标故障设备是所述主板上除所述N个连接设备之外的设备的情况下,显示第七提示信息,其中,所述第七提示信息包括所述主板的标识,所述第七提示信息用于表示所述目标故障设备是所述主板上除所述N个连接设备之外的设备。
14.根据权利要求13所述的方法,其特征在于,
所述获取所述主板的标识,包括:
从预先确定的连接设备描述信息中获取所述主板的标识,其中,所述连接设备描述信息包括所述主板的标识和所述N+M个链路信息。
15.根据权利要求1至9中任一项所述的方法,其特征在于,
所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:
获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,其中,所述N+M条设备链路包括从所述处理器到所述N+M个连接设备中的每个设备所形成的设备链路,所述N+M条设备链路中的第i条设备链路上的多个设备的设备标识包括所述第i个连接设备的设备标识以及所述第i个连接设备所在的根端口的设备标识;
获取所述主板的标识;
获取所述N+M个连接设备中的每个连接设备所在的根端口的次级总线编号和从属总线编号。
16.根据权利要求15所述的方法,其特征在于,
所述在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息之前,所述方法还包括:
确定所述N+M条设备链路中的每条设备链路上是否存在所述P个交换机中的一个交换机,得到N+M个指示信息,其中,所述N+M个指示信息中的第i个指示信息用于表示所述第i条设备链路上是否存在所述P个交换机中的一个交换机。
17.根据权利要求15所述的方法,其特征在于,
所述获取N+M条设备链路中的每条设备链路上的多个设备的设备标识,包括:
在所述N+M个连接设备均不是虚拟网口设备的情况下,获取所述N+M个连接设备发送的所述N+M条设备链路中的每条设备链路上的多个设备的设备标识。
18.根据权利要求1至9中任一项所述的方法,其特征在于,
在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:
获取所述P个交换机中的每个交换机的设备标识;
获取所述交换机板的标识;
获取所述P个交换机中的每个交换机的次级总线编号和从属总线编号。
19.根据权利要求18所述的方法,其特征在于,
在所述根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备之前,所述方法还包括:
将所述P个交换机中的每个交换机的设备标识和所述P个交换机中的每个交换机的次级总线编号和从属总线编号记录在所述记录项信息中的P个记录项中,其中,所述P个记录项中的第k个记录项包括所述P个交换机中的第k个交换机的设备标识以及所述第k个交换机的次级总线编号和从属总线编号,k为小于或等于P的正整数。
20.一种故障设备的确定装置,其特征在于,
包括:
获取模块,用于获取目标故障设备的目标设备标识;
查找模块,用于在预设的N+M个链路信息中查找包括所述目标设备标识的链路信息,其中,所述N+M个链路信息与N+M个连接设备具有一一对应的关系,所述N+M个连接设备包括主板上的N个连接设备和交换机板上的M个连接设备,所述M个连接设备中的每个连接设备与所述交换机板上的P个交换机中的一个交换机连接,所述N+M个链路信息中的第i个链路信息包括从所述主板上的处理器到第i个连接设备所形成的第i条设备链路上的多个设备的设备标识,N、M和P均为正整数,i和j为小于或等于N+M的正整数;
第一确定模块,用于在所述N+M个链路信息中查找到包括所述目标设备标识的第j个链路信息、且所述第j个链路信息中的第j个指示信息表示所述处理器到第j个连接设备所形成的第j条设备链路上存在第一交换机的情况下,确定在所述第j条设备链路上所述目标故障设备是否位于所述处理器与所述第一交换机之间,其中,所述P个交换机包括所述第一交换机;
第二确定模块,用于在所述目标故障设备不位于所述处理器与所述第一交换机之间的情况下,根据预设的记录项信息和所述目标设备标识,确定所述目标故障设备是否是所述交换机板上的设备,其中,所述记录项信息中包括所述P个交换机中的每个交换机的设备标识。
21.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至19任一项中所述的方法的步骤。
22.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至19任一项中所述的方法的步骤。
CN202311747507.9A 2023-12-19 2023-12-19 故障设备的确定方法和装置、存储介质及电子设备 Active CN117499214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311747507.9A CN117499214B (zh) 2023-12-19 2023-12-19 故障设备的确定方法和装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311747507.9A CN117499214B (zh) 2023-12-19 2023-12-19 故障设备的确定方法和装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117499214A true CN117499214A (zh) 2024-02-02
CN117499214B CN117499214B (zh) 2024-03-29

Family

ID=89683119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311747507.9A Active CN117499214B (zh) 2023-12-19 2023-12-19 故障设备的确定方法和装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117499214B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521593A (zh) * 2008-11-13 2009-09-02 中国移动通信集团广东有限公司 数据链路层故障定位的方法及装置
US20110286324A1 (en) * 2010-05-19 2011-11-24 Elisa Bellagamba Link Failure Detection and Traffic Redirection in an Openflow Network
CN112564964A (zh) * 2020-12-04 2021-03-26 中国石油大学(华东) 一种基于软件定义网络的故障链路检测与恢复方法
CN113364628A (zh) * 2021-06-11 2021-09-07 上海中通吉网络技术有限公司 服务器与交换机拓扑关系建立方法及设备
CN115964218A (zh) * 2022-12-28 2023-04-14 新华三信息技术有限公司 高速串行计算机扩展总线设备故障的识别方法及装置
CN116032735A (zh) * 2022-12-16 2023-04-28 苏州浪潮智能科技有限公司 一种交换机异常信息确定方法、装置、设备及介质
CN116225804A (zh) * 2023-02-17 2023-06-06 浪潮电子信息产业股份有限公司 一种PCIe链路检测方法、系统、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521593A (zh) * 2008-11-13 2009-09-02 中国移动通信集团广东有限公司 数据链路层故障定位的方法及装置
US20110286324A1 (en) * 2010-05-19 2011-11-24 Elisa Bellagamba Link Failure Detection and Traffic Redirection in an Openflow Network
CN112564964A (zh) * 2020-12-04 2021-03-26 中国石油大学(华东) 一种基于软件定义网络的故障链路检测与恢复方法
CN113364628A (zh) * 2021-06-11 2021-09-07 上海中通吉网络技术有限公司 服务器与交换机拓扑关系建立方法及设备
CN116032735A (zh) * 2022-12-16 2023-04-28 苏州浪潮智能科技有限公司 一种交换机异常信息确定方法、装置、设备及介质
CN115964218A (zh) * 2022-12-28 2023-04-14 新华三信息技术有限公司 高速串行计算机扩展总线设备故障的识别方法及装置
CN116225804A (zh) * 2023-02-17 2023-06-06 浪潮电子信息产业股份有限公司 一种PCIe链路检测方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN117499214B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US20190170822A1 (en) Fully-automatic closed-loop detection method and device for intelligent substation
CN109783324B (zh) 系统运行预警方法及装置
CN105653303B (zh) 应用的安装控制方法及装置
CN111400189A (zh) 代码覆盖率监测方法、装置、电子设备及存储介质
CN115630036A (zh) 报错信息处理方法、装置、设备、存储介质和程序产品
CN113364628A (zh) 服务器与交换机拓扑关系建立方法及设备
CN117499214B (zh) 故障设备的确定方法和装置、存储介质及电子设备
CN112463238A (zh) Pcie设备的报错定位方法、装置、bios和bmc
US6745147B2 (en) Data processing system, method, and product for automatically tracking insertions of integrated circuit devices
JP2017167578A (ja) インシデント管理システム
CN109032897A (zh) 数据调度方法、主机以及固态硬盘
CN113726543B (zh) 运维业务处理方法、装置、系统、服务器及存储介质
CN114896096A (zh) 基于图像识别算法的数据中心设备故障预测系统及方法
CN114116122A (zh) 一种应用容器高可用负载平台
CN114860271A (zh) 一种pxe启动方法、系统、装置及可读存储介质
CN114727100A (zh) 一种监控设备的联合调试方法及装置
CN113447880A (zh) 一种电能表的故障诊断方法、装置及终端设备
CN117234783A (zh) Pcie设备的检测方法及装置、bios及存储介质
CN116959549B (zh) 一种自动化硬盘组阵列方法及设备、介质
CN114390434A (zh) 电子设备的元器件管理系统和方法
CN106992873B (zh) 保护组处理方法和装置
CN108694105B (zh) 机架式服务器系统的接线提示方法
CN111143138A (zh) 一种PCIe Bus总线故障定位方法、系统、终端及存储介质
CN110909378A (zh) 自动化检测方法、装置、存储介质及电子设备
CN113746680A (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