通信异常的诊断方法、其装置及电子设备与流程

未命名 10-26 阅读:206 评论:0


1.本技术实施例涉及计算机领域,具体而言,涉及一种通信异常的诊断方法、其装置及电子设备。


背景技术:

2.近年来随着云计算、大数据、人工智能等领域的快速发展,以服务器为核心基础设施的数据中心建设迅速增长,大规模及超大规模数据中心集群建设正在成为数据中心产业发展的重要趋势。为确保数据中心能够提供稳定的算力支撑,要求作为算力载体的服务器节点必须稳定可靠运行,尤其是当服务器出现故障时,必须及时定位问题原因并给予快速解决,最大限度地降低服务器故障对数据中心业务方面的影响。intel处理器架构(intel architecture,ia)服务器通常搭载基板管理控制器(baseboard management controller,bmc)管理单元,负责对整个服务器的监控管理工作,同时搭载平台控制器中枢(platform controller hub,pch)中的管理引擎(management engine,me)实现服务器平台的电源和功耗管理功能。
3.bmc通过向me发送标准的智能平台管理接口(intelligent platform management interface,ipmi)命令获取cpu、内存等关键部件的监控信息(如温度和功耗等信息),以根据既定管理策略采取具体管理措施,如发起故障日志记录、cpu降频及关机等动作。一旦bmc与me之间的通信链路出现异常,将直接影响bmc对服务器cpu和内存等关键部件的监控能力,甚至会导致数据中心服务器大范围宕机的严重后果。然而,bmc与me间的通信异常问题多为偶发性问题,出现概率小,复现难度大。


技术实现要素:

4.本技术实施例提供了一种通信异常的诊断方法、其装置及电子设备,以至少解决相关技术中在bmc与me间的通信异常时,难以对问题原因进行快速定位的问题。
5.根据本技术的一个实施例,提供了一种通信异常的诊断方法,包括:根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景至少包括第一模拟测试场景,第一模拟测试场景用于使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路;根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常;在判断结果指示出现通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。
6.在一个示例性实施例中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第一预设通信条件,第一预设通信条件包括:第一基板管理控制器以第一预设频率向管理引擎发送数据包,管理引擎以第二预设频率向第一基板管理控制器发送数据包,第一预设频率大于第二预设频率;根据第一预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一
基板管理控制器发送数据包的频率为第一预设频率,管理引擎发送数据包的频率为第二预设频率。
7.在一个示例性实施例中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第二预设通信条件,第二预设通信条件包括:第一基板管理控制器以第三预设频率向管理引擎发送数据包,管理引擎以第四预设频率向第一基板管理控制器发送数据包,第三预设频率和第四预设频率大于参考频率,其中,参考频率为以下之一:第一基板管理控制器在目标故障场景中向管理引擎发送数据包的历史频率,以及管理引擎在目标故障场景中向第一基板管理控制器发送数据包的历史频率;根据第二预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一基板管理控制器发送数据包的频率为第三预设频率,管理引擎发送数据包的频率为第四预设频率。
8.在一个示例性实施例中,根据第二预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理在第一模拟测试场景中双向发送数据包,包括:向第一基板管理控制器发送第一使能信号,以使第一基板管理控制器根据第一使能信号,在第一模拟测试场景中以第三预设频率向管理引擎发送数据包;向与管理引擎对应的基本输入输出系统发送修改指令,以使得修改后的基本输入输出系统使能管理引擎在目标故障场景中以第四预设频率向第一基板管理控制器发送数据包。
9.在一个示例性实施例中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第三预设通信条件,第三预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接收干扰模块发送的干扰信号;根据第三预设通信条件,构建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎通过i2c总线双向发送数据包的情况下,i2c总线在第一模拟测试场景中接收干扰信号。
10.在一个示例性实施例中,干扰模块为第一基板管理控制器的通用输入输出模块,干扰信号为通用输入输出模块输出的固定电平。
11.在一个示例性实施例中,根据第三预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得在第一基板管理控制器与管理引擎通过i2c总线双向发送数据包的情况下,i2c总线在第一模拟测试场景中接收干扰信号,包括:通过i2c总线,建立第一基板管理控制器与管理引擎之间的通信链路;循环执行以下步骤:设置通用输入输出模块的属性为输出,并向通用输入输出模块发送第二使能信号,其中,在通用输入输出模块接收到第二使能信号的情况下,通用输入输出模块顺序执行以下步骤:输出固定电平,以及休眠预设时间;设置通用输入输出模块的属性为输入。
12.在一个示例性实施例中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得第一基板管理控制器与管理引擎在模拟测试场景中建立满足预设通信条件的通信链路,包括:获取第四预设通信条件,第四预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接地或接高电平电源;根据第四预设通信条件,构建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎在第一模拟测试场景中通过i2c总线双向发送数据包。
13.在一个示例性实施例中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第五预设通信条件,第五预设通信条件包括:信号发生模块在第二模拟
测试场景中向第一基板管理控制器循环发送智能平台管理总线命令,其中,信号发生模块用于模拟管理引擎发送并接收数据包的功能;根据第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,其中,第二模拟测试场景用于使第一基板管理控制器与信号发生模块之间具有满足第五预设通信条件的通信链路。
14.在一个示例性实施例中,第一基板管理控制器具有第一通信接口,信号发生模块具有第二通信接口,第一通信接口与第二通信接口通过i2c总线通信连接。
15.在一个示例性实施例中,根据第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,包括:建立第一基板管理控制器与信号发生模块之间的通信链路;向信号发生模块发送第三使能信号,以使得信号发生模块在第二模拟测试场景中向第一基板管理控制器循环发送智能平台管理总线命令。
16.在一个示例性实施例中,诊断方法还包括:构建步骤,在判断结果指示未出现通信异常的情况下,根据更新的预设通信条件,构建与目标故障场景对应的更新的模拟测试场景,其中,更新的预设通信条件为与前一个模拟测试场景对应的预设通信条件不同的预设通信条件;判断步骤,判断第一基板管理控制器与管理引擎在更新的模拟测试场景中是否出现通信异常;在判断结果指示未出现通信异常的情况下,循环执行构建步骤和判断步骤,直到判断结果指示出现通信异常时停止。
17.在一个示例性实施例中,诊断方法还包括:在执行到第n次构建步骤和判断步骤,判断结果仍指示未出现通信异常的情况下,修改与当前模拟测试场景对应的测试条件,得到更新的测试条件,其中,n为预设通信条件的全部数量,当前模拟测试场景为第n次执行的构建步骤中构建的模拟测试场景,测试条件包括外部条件和/或内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管理控制器的日志信息;根据更新的测试条件,再次循环执行构建步骤和判断步骤,直到判断结果指示出现通信异常时停止。
18.在一个示例性实施例中,测试设备包括以下至少之一:示波器,以及逻辑分析仪。
19.在一个示例性实施例中,场景信息包括测试条件,测试条件包括外部条件,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常,包括:根据测试设备的测试结果,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现通信异常。
20.在一个示例性实施例中,场景信息包括测试条件,测试条件包括内部条件,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常,包括:判断第一基板管理控制器的日志信息中是否出现与目标故障场景对应的异常告警记录,其中,在判断结果指示出现异常告警记录的情况下,确定为第一基板管理控制器与管理引擎在模拟测试场景中出现通信异常。
21.在一个示例性实施例中,诊断方法还包括:在根据预设通信条件,构建与目标故障场景对应的模拟测试场景之前,将与模拟测试场景对应的测试条件初始化,其中,测试条件包括外部条件和内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管理控制器的日志信息。
22.根据本技术的另一个实施例,提供了一种通信异常的诊断装置,包括:第一构建模
块,用于根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景至少包括第一模拟测试场景,第一模拟测试场景用于使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路;第一判断模块,用于根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常;定位模块,用于在判断结果指示出现通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。
23.根据本技术的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
24.根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
25.本技术的上述方法中,将第一基板管理控制器与管理引擎发生通信异常的场景作为目标故障场景,根据预设通信条件,构建与其对应的模拟测试场景,从而使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路,然后根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常,在通信故障场景出现通信异常的情况下,能够实现对通信故障场景的复现,从而在成功复现后,能够基于此时的复现场景进行问题原因分析,最终定位问题原因,输出分析结论,完成bmc与me之间通信故障的诊断过程。因此,可以解决相关技术中在bmc与me间的通信异常时,难以对问题原因进行快速定位的问题,达到稳定复现bmc与me之间通信故障场景,进而快速定位问题原因,提升问题解决效率,最终保障服务器的高效可靠运行的效果。
附图说明
26.图1是根据本技术实施例的一种通信异常的诊断方法的硬件环境示意图;
27.图2是根据本技术实施例的一种通信异常的诊断方法的流程示意图;
28.图3是根据本技术实施例的一种通信异常的诊断方法中,bmc与me通信交互原理示意图;
29.图4是根据本技术实施例的一种通信异常的诊断方法中,采用bmc到me的单向施压法的测试模型的示意图;
30.图5是根据本技术实施例的一种通信异常的诊断方法中,采用bmc与me的双向施压法的测试模型的示意图;
31.图6是根据本技术实施例的一种通信异常的诊断方法中,采用主动干扰法的测试模型的示意图;
32.图7是根据本技术实施例的一种通信异常的诊断方法中,采用黑盒替代法的测试模型的示意图;
33.图8是根据本技术实施例的一种通信异常的诊断方法中,bmc与me通信故障定位的迭代诊断流程示意图;
34.图9是根据本技术实施例的通信异常的诊断装置的结构框图。
具体实施方式
35.下文中将参考附图并结合实施例来详细说明本技术的实施例。
36.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
37.本技术实施例所提供的方法实施例可以在服务器、计算机终端、设备终端或者类似的运算装置中执行。以运行在服务器上为例,图1是根据本技术实施例的一种嵌入式系统的启动控制方法的硬件环境示意图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
38.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的嵌入式系统的启动控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
39.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
40.在本实施例中提供了一种通信异常的诊断方法,应用于上述服务器,图2是根据本技术实施例的一种通信异常的诊断方法的流程图,如图2所示,该流程包括如下步骤:
41.步骤s202,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景至少包括第一模拟测试场景,第一模拟测试场景用于使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路;
42.步骤s204,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常;
43.步骤s206,在判断结果指示出现上述通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。
44.基板管理控制器(baseboard management controller,bmc)管理单元与管理引擎(management engine,me)之间的通信异常问题多为偶发性问题,出现概率小,复现难度大,
针对上述问题,相关技术中通常是同时对多台服务器进行通信链路的波形测量(如在每台服务器上实际挂载示波器探针)监控,该方法通过增加服务器数据来提升问题复现的概率,待问题出现后再进一步分析问题原因。然而,上述方法需要投入大量人力物力,且由于只是被动地等待问题自发出现,有可能需要较长时间才能复现问题,即使问题复现了,也无法保证问题复现状态常驻,一般留给问题分析定位的时间相当有限,最终导致问题解决的时效性较差。
45.基于此,本技术实施例中通过上述步骤,将第一基板管理控制器与管理引擎发生通信异常的场景作为目标故障场景,根据预设通信条件,构建与其对应的模拟测试场景,从而使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路,然后根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常,在通信故障场景出现上述通信异常的情况下,能够实现对通信故障场景的复现,从而在成功复现后,能够基于此时的复现场景进行问题原因分析,最终定位问题原因,输出分析结论,完成bmc与me之间通信故障的诊断过程。因此,可以解决相关技术中在bmc与me间的通信异常时,难以对问题原因进行快速定位的问题,达到稳定复现bmc与me之间通信故障场景,进而快速定位问题原因,提升问题解决效率,最终保障服务器的高效可靠运行的效果。
46.具体地,判断bmc与me之间是否通信异常的方式有很多种,例如,可以判断服务器的bmc日志中是否出现me告警信息,在出现me告警信息时确定为bmc与me之间通信异常,以上述判断方式为例,如图3所示,本技术实施例中bmc与me通信交互原理如下:
47.在服务器静置或使用中产生最高级别(critical)告警,告警内容为“me_fw_status transition to critical from less severe
ꢀ‑ꢀ
assert”。bmc与me间通过ipmb命令进行交互,物理层为i2c总线。正常通信时,bmc定期向me发送自检请求命令,即get self test results命令(标准ipmi命令,netfn=0x06, cmd=0x04),以获取me的自检结果,me收到来自bmc的请求命令后,则发送自检响应命令给bmc。bmc则根据me的响应结果判断me是否工作正常,当判定结果为异常时,bmc在web界面记录告警日志并显示。需要注意的是,bmc与me通信过程中,i2c总线工作于双主模式,即bmc与me都可作为主机(master)给对方主动发请求,如me也会主动向bmc发起平台功耗获取命令,即oem get reading(netfn=0x30, cmd=0xe2)命令,以获取平台功耗信息并处理,bmc收到来自me的获取命令后,则发送平台功耗响应命令给bmc,如图3所示,当bmc为主机时,me为从机,当me为主机时,bmc为从机。
48.在上述步骤s202中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景至少包括第一模拟测试场景,第一模拟测试场景用于使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路。
49.上述步骤可以通过对预设通信条件进行设定,从不同角度主动构造第一基板管理控制器与管理引擎之间通信异常的场景,每种预设通信条件均可进行变量控制,使得通信故障场景的复现方法具有灵活、可控和高效的特点,从而能够达到显著提高基板管理控制器(bmc)与管理引擎(me)之间通信链路异常的复现概率,以及大大提升bmc与me通信故障问题解决效率的目标。
50.在一些可选的实施方式中,根据预设通信条件,构建与目标故障场景对应的模拟
测试场景,包括:获取第一预设通信条件,第一预设通信条件包括:第一基板管理控制器以第一预设频率向管理引擎发送数据包,管理引擎以第二预设频率向第一基板管理控制器发送数据包,第一预设频率大于第二预设频率;根据第一预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一基板管理控制器发送数据包的频率为第一预设频率,管理引擎发送数据包的频率为第二预设频率。
51.在上述可选的实施方式中,在使第一基板管理控制器与管理引擎双向发送数据包的过程中,通过使第一基板管理控制器的发包频率大于管理引擎的发包频率,能够实现bmc到me的单向施压。
52.具体地,上述单向施压法的测试模型可以如图4所示,在第一基板管理控制器与管理引擎之间通过i2c总线实现通信的情况下,上述单向施压法能够通过增加i2c总线一方的数据吞吐量提升总线繁忙程度,进而增加问题复现的概率,当bmc为主机时,me为从机,当me为主机时,bmc为从机。示例性的,将bmc向me的发包频率由10us(微秒)改为1us来构造i2c总线冲突,复现bmc i2c控制器异常导致发包失败的场景。
53.在一些可选的实施方式中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第二预设通信条件,第二预设通信条件包括:第一基板管理控制器以第三预设频率向管理引擎发送数据包,管理引擎以第四预设频率向第一基板管理控制器发送数据包,第三预设频率和第四预设频率大于参考频率,其中,参考频率为以下之一:第一基板管理控制器在目标故障场景中向管理引擎发送数据包的历史频率,以及管理引擎在目标故障场景中向第一基板管理控制器发送数据包的历史频率;根据第二预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一基板管理控制器发送数据包的频率为第三预设频率,管理引擎发送数据包的频率为第四预设频率。
54.在上述可选的实施方式中,在使第一基板管理控制器与管理引擎双向发送数据包的过程中,同时提高第一基板管理控制器和管理引擎的发包频率,能够实现bmc到me的双向施压。
55.具体地,上述双向施压法的测试模型可以如图5所示,在第一基板管理控制器与管理引擎之间通过i2c总线实现通信的情况下,双向施压法能够通过增加i2c总线双方的数据吞吐量提升总线繁忙程度,进而增加问题复现的概率,当bmc为主机时,me为从机,当me为主机时,bmc为从机。
56.在上述可选的实施方式中,根据第二预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,可以包括:向第一基板管理控制器发送第一使能信号,以使第一基板管理控制器根据第一使能信号,在第一模拟测试场景中以第三预设频率向管理引擎发送数据包;向与管理引擎对应的基本输入输出系统发送修改指令,以使得修改后的基本输入输出系统使能管理引擎在目标故障场景中以第四预设频率向第一基板管理控制器发送数据包。
57.具体地,为了实现第一基板管理控制器与管理引擎之间的双向施压,上述实施方式中通过修改基本输入输出系统(bios)中的配置文件,以使能me 的heartbeat功能,来提高me向bmc的发包频率。由于上述双向施压法能够使i2c总线双向数据量同时增大,从而与
单向施压法相比,问题复现的概率更大。
58.在一些可选的实施方式中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第三预设通信条件,第三预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接收干扰模块发送的干扰信号;根据第三预设通信条件,构建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎通过i2c总线双向发送数据包的情况下,i2c总线在第一模拟测试场景中接收干扰信号。
59.在上述可选的实施方式中,在第一基板管理控制器与管理引擎之间通过i2c总线实现通信的情况下,在i2c总线中引入干扰信号,以增加i2c总线出错的概率,从而提升问题复现的概率。
60.在上述可选的实施方式中,干扰模块可以为第一基板管理控制器的通用输入输出模块,干扰信号可以为通用输入输出模块输出的固定电平。此时,根据第三预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得在第一基板管理控制器与管理引擎通过i2c总线双向发送数据包的情况下,i2c总线在第一模拟测试场景中接收干扰信号,包括:通过i2c总线,建立第一基板管理控制器与管理引擎之间的通信链路;循环执行以下步骤:设置通用输入输出模块的属性为输出,并向通用输入输出模块发送第二使能信号,其中,在通用输入输出模块接收到第二使能信号的情况下,通用输入输出模块顺序执行以下步骤:输出固定电平,以及休眠预设时间;设置通用输入输出模块的属性为输入。
61.具体地,上述通过干扰模块在i2c总线中引入干扰信号的方式为主动干扰法,上述主动干扰法的测试模型可以如图6所示,具体为通过通用输入输出模块(general purpose input/output,gpio)发送特定的信号以引入干扰信号。本技术实施例中将bmc的gpio接入bmc与me通信的i2c总线,并通过控制gpio输出固定电平(如低电平)来制造i2c总线冲突。示例性的,控制gpio的过程采用自定义脚本实现,控制逻辑为循环执行以下动作:设置随机休眠时间;休眠;设置gpio属性为输出;设置gpio输出为低电平;休眠1ms;设置gpio属性为输入。
62.在一些可选的实施方式中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得第一基板管理控制器与管理引擎在模拟测试场景中建立满足预设通信条件的通信链路,包括:获取第四预设通信条件,第四预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接地或接高电平电源;根据第四预设通信条件,构建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎在第一模拟测试场景中通过i2c总线双向发送数据包。
63.在上述可选的实施方式中,在第一基板管理控制器与管理引擎之间通过i2c总线实现通信的情况下,将总线信号接地(或接高电平电源),以增加i2c总线出错的概率,从而提升问题复现的概率。
64.在一些可选的实施方式中,根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第五预设通信条件,第五预设通信条件包括:信号发生模块在第二模拟测试场景中向第一基板管理控制器循环发送智能平台管理总线命令,其中,上述信号发生模块用于模拟管理引擎发送并接收数据包的功能;根据第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,其中,第二模拟测试场景用于使第一基板管理控制器与信号发生模块之间具有满足第五预设通信条件的通信链路。
65.在上述可选的实施方式中,采用黑盒替代法将第一基板管理控制器替换为第二基板管理控制器,由于bmc的开发人员无法修改me的代码,导致me的实现过程完全不可控,从而通过一个能够模拟me输入输出功能的信号发生模块实现对该me的替代,能够灵活地控制me向bmc的发包过程。示例性的,通过另一个bmc实现对me的替代,控制该替代bmc向测试bmc的发包过程。
66.在上述可选的实施方式中,第一基板管理控制器具有第一通信接口,信号发生模块具有第二通信接口,第一通信接口与第二通信接口可以通过i2c总线通信连接。
67.在上述可选的实施方式中,根据第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,包括:建立第一基板管理控制器与信号发生模块之间的通信链路;向信号发生模块发送第三使能信号,以使得信号发生模块在第二模拟测试场景中向第一基板管理控制器循环发送智能平台管理总线命令。
68.具体地,上述黑盒替代法的测试模型可以如图7所示,黑盒替代法通过构建第三方模型,引入与黑盒设备功能表现完全一致的模块对黑盒设备进行替代,由于引入的第三方模型对测试人员而言更易于操作与控制,因此能够摆脱对墨盒设备的依赖,实现更多场景下的测试,该方法灵活较高,为存在墨盒设备的测试场景提供更多可能性。本技术实施例中采用另一个bmc(简称替代bmc)的i2c接口实现对me的替代,向测试bmc循环发送智能平台管理总线(intelligent platform management bus,ipmb)命令,达到制造总线冲突,提升问题复现概率的目的。示例性的,本技术实施例中通过运行自定义脚本实现替代bmc向测试bmc循环发送ipmb命令。
69.在一些可选的实施方式中,本技术实施例中的上述诊断方法还包括:构建步骤,在判断结果指示未出现与目标故障场景中相同的通信异常的情况下,根据更新的预设通信条件,构建与目标故障场景对应的更新的模拟测试场景,其中,更新的预设通信条件为与前一个模拟测试场景对应的预设通信条件不同的预设通信条件;判断步骤,判断第一基板管理控制器与管理引擎在更新的模拟测试场景中是否出现上述通信异常;在判断结果指示未出现上述通信异常的情况下,循环执行构建步骤和判断步骤,直到判断结果指示出现上述通信异常时停止。
70.在上述可选的实施方式中,通过采用不同的预设通信条件,可以从多个角度主动构造i2c总线异常场景,在反复迭代测试中不断验证各种异常场景下的问题复现情况,且每种复现场景均可进行变量控制。
71.具体地,采用不同的预设通信条件,可以设计单向施压法、双向施压法、黑盒替代法和主动干扰法等测试模型,提升了双主场景下通信故障的复现概率,为问题分析提供足够的时间窗口,保障bmc与me通信故障问题的高效解决。
72.在上述可选的实施方式中,本技术实施例中的诊断方法还可以包括:在执行到第n次构建步骤和判断步骤,判断结果仍指示未出现与目标故障场景中相同的通信异常的情况下,修改与当前模拟测试场景对应的测试条件,得到更新的测试条件,其中,n为预设通信条件的全部数量,当前模拟测试场景为第n次执行的构建步骤中构建的模拟测试场景,测试条件包括外部条件和/或内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管理控制器的日志信息;根据更新的测试条件,再次循环执行构建步骤和判断步骤,直
到判断结果指示出现上述通信异常时停止。
73.在上述可选的实施方式中,本技术实施例中的诊断方法还可以包括:在根据预设通信条件,构建与目标故障场景对应的模拟测试场景之前,将与模拟测试场景对应的测试条件初始化,其中,测试条件包括外部条件和内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管理控制器的日志信息。
74.具体地,本技术实施例中bmc与me通信故障定位的迭代诊断原理可分为两个主要流程,即:复现测试流程和分析定位流程。下面将结合具体示例对迭代诊断流程进行举例说明。
75.示例性的,本技术实施例中bmc与me通信故障定位的迭代诊断流程如图8所示,包括:
76.步骤

:初始化测试条件。该步骤主要完成测试前的准备工作,包括测试前的外部条件与内部条件准备。外部条件准备包括主板的供电准备,挂载示波器进行i2c总线监测准备等;内部条件准备指在bmc固件中的关键处理逻辑处增加日志输出的代码,以备后续问题复现后梳理代码执行状态,辅助问题分析。
77.步骤

:采用单向施压法测试,验证问题复现情况。若问题成功复现,则跳转至步骤

,否则执行步骤

。该步骤主要通过增加i2c总线的单向数据量进行压力测试,提升问题复现的概率。
78.步骤

:采用双向施压法测试,验证问题复现情况。若问题成功复现,则跳转至步骤

,否则执行步骤

。该步骤主要通过增加i2c总线的双向数据量进行压力测试,提升问题复现的概率。
79.步骤

:采用黑盒替代法测试,验证问题复现情况。若问题成功复现,则跳转至步骤

,否则执行步骤

。该步骤主要通过将引入me代替单元模拟me向bmc发包的各种场景进行压力测试,提升问题复现的概率。
80.步骤

:采用主动干扰法测试,验证问题复现情况。若问题成功复现,则跳转至步骤

,否则调整测试条件,返回步骤

。该步骤主要通过在i2c总线中引入干扰信号进行测试,提升问题复现的概率。
81.步骤

:问题分析。该步骤基于问题能成功复现的基本条件,进行具体问题分析,验证导致问题发生的各种可能原因,从硬件与软件层面不断缩小问题排查范围。
82.步骤

:输出结论。该步骤基于步骤

的分析,定位引发问题产生的最终原因,作为问题诊断的最终输出。
83.需要注意的是,本技术实施例中对bmc与me之间的通信故障场景进行复现,并不局限于上述图8中示出的步骤

至步骤

的循环顺序,例如,可以任意调换步骤

至步骤

中任意两个步骤的顺序,本技术实施例不作具体限定。
84.在上述步骤s204中,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常。
85.具体地,若bmc与me间的通信链路出现异常,将直接影响bmc对服务器cpu和内存等关键部件的监控能力,甚至会导致数据中心服务器大范围宕机的严重后果,本技术实施例在构建模拟测试场景之后,能够在模拟测试场景出现通信异常的情况下,实现对通信故障
场景的复现。
86.示例性的,在如图8所示的迭代诊断流程中,在通过步骤

至步骤

中的一个或多个步骤实现问题能成功复现后,通过步骤

,基于问题能成功复现的基本条件,进行具体问题分析,验证导致问题发生的各种可能原因,从硬件与软件层面不断缩小问题排查范围。
87.在一些可选的实施方式中,在上述场景信息中的测试条件包括外部条件的情况下,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常,包括:根据测试设备的测试结果,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现上述通信异常。
88.示例性的,上述测试设备可以为挂载在i2c总线上的示波器或逻辑分析仪,还可以为其它测试设备,本技术实施例不做具体限定。
89.在另一些可选的实施方式中,在上述场景信息中的测试条件包括内部条件的情况下,根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常,可以包括:判断第一基板管理控制器的日志信息中是否出现与目标故障场景相应的异常告警记录,其中,在判断结果指示出现异常告警记录的情况下,确定为第一基板管理控制器与管理引擎在模拟测试场景中出现上述通信异常。
90.在上述步骤s206中,在判断结果指示出现上述通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。
91.具体地,本技术实施例通过对通信故障场景进行复现,从而在成功复现后,能够基于此时的复现场景进行问题原因分析,最终定位问题原因,输出分析结论,完成bmc与me之间通信故障的诊断过程。
92.示例性的,在如图8所示的迭代诊断流程中,通过步骤

进行问题分析之后,实现对导致问题发生的各种可能原因进行验证后,通过步骤

输出结论,定位引发问题产生的最终原因,作为问题诊断的最终输出。
93.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
94.在本实施例中还提供了一种通信异常的诊断装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
95.图9是根据本技术实施例的通信异常的诊断装置的结构框图,如图9所示,该装置包括:
96.第一构建模块10,用于根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景至少包括第一模拟测试场景,第一模拟测试场景用于使第一基板管理控制器与管理
引擎之间具有满足预设通信条件的通信链路;
97.第一判断模块20,用于根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常;
98.定位模块30,用于在判断结果指示出现上述通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。
99.本技术上述装置中,将第一基板管理控制器与管理引擎发生通信异常的场景作为目标故障场景,第一构建模块10根据预设通信条件,构建与其对应的模拟测试场景,从而使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路,然后第一判断模块20根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常,在通信故障场景出现通信异常的情况下,能够实现对通信故障场景的复现,从而在成功复现后,定位模块30能够基于此时的复现场景进行问题原因分析,最终定位问题原因,输出分析结论,完成bmc与me之间通信故障的诊断过程。因此,可以解决相关技术中在bmc与me间的通信异常时,难以对问题原因进行快速定位的问题,达到稳定复现bmc与me之间通信故障场景,进而快速定位问题原因,提升问题解决效率,最终保障服务器的高效可靠运行的效果。
100.在一些可选的实施方式中,第一构建模块包括:第一获取子模块,用于获取第一预设通信条件,第一预设通信条件包括:第一基板管理控制器以第一预设频率向管理引擎发送数据包,管理引擎以第二预设频率向第一基板管理控制器发送数据包,第一预设频率大于第二预设频率;第一构建子模块,用于根据第一预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一基板管理控制器发送数据包的频率为第一预设频率,管理引擎发送数据包的频率为第二预设频率。
101.在一些可选的实施方式中,第一构建模块包括:第二获取子模块,用于获取第二预设通信条件,第二预设通信条件包括:第一基板管理控制器以第三预设频率向管理引擎发送数据包,管理引擎以第四预设频率向第一基板管理控制器发送数据包,第三预设频率和第四预设频率大于参考频率,其中,参考频率为以下之一:第一基板管理控制器在目标故障场景中向管理引擎发送数据包的历史频率,以及管理引擎在目标故障场景中向第一基板管理控制器发送数据包的历史频率;第二构建子模块,用于根据第二预设通信条件,构建第一模拟测试场景,以使得第一基板管理控制器与管理引擎在第一模拟测试场景中双向发送数据包,第一基板管理控制器发送数据包的频率为第三预设频率,管理引擎发送数据包的频率为第四预设频率。
102.在一些可选的实施方式中,第二构建子模块包括:第一发送子模块,用于向第一基板管理控制器发送第一使能信号,以使第一基板管理控制器根据第一使能信号,在第一模拟测试场景中以第三预设频率向管理引擎发送数据包;第二发送子模块,用于向与管理引擎对应的基本输入输出系统发送修改指令,以使得修改后的基本输入输出系统使能管理引擎在目标故障场景中以第四预设频率向第一基板管理控制器发送数据包。
103.在一些可选的实施方式中,第一构建模块包括:第三获取子模块,用于获取第三预设通信条件,第三预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接收干扰模块发送的干扰信号;第三构建子模块,用于根据第三预设通信条件,构
建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎通过i2c总线双向发送数据包的情况下,i2c总线在第一模拟测试场景中接收干扰信号。
104.在一些可选的实施方式中,干扰模块为第一基板管理控制器的通用输入输出模块,干扰信号为通用输入输出模块输出的固定电平。
105.在一些可选的实施方式中,第三构建子模块包括:第一建立子模块,用于通过i2c总线,建立第一基板管理控制器与管理引擎之间的通信链路;循环子模块,用于循环执行以下步骤:设置通用输入输出模块的属性为输出,并向通用输入输出模块发送第二使能信号,其中,在通用输入输出模块接收到第二使能信号的情况下,通用输入输出模块顺序执行以下步骤:输出固定电平,以及休眠预设时间;设置通用输入输出模块的属性为输入。
106.在一些可选的实施方式中,第一构建模块包括:第四获取子模块,用于获取第四预设通信条件,第四预设通信条件包括:第一基板管理控制器与管理引擎通过i2c总线通信,i2c总线接地或接高电平电源;第四构建子模块,用于根据第四预设通信条件,构建第一模拟测试场景,以使得在第一基板管理控制器与管理引擎在第一模拟测试场景中通过i2c总线双向发送数据包。
107.在一些可选的实施方式中,第一构建模块包括:第五获取子模块,用于获取第五预设通信条件,第五预设通信条件包括:信号发生模块在第二模拟测试场景中向第一基板管理控制器循环发送智能平台管理总线命令,其中,信号发生模块用于模拟管理引擎发送并接收数据包的功能;第五构建子模块,用于根据第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,其中,第二模拟测试场景用于使第一基板管理控制器与信号发生模块之间具有满足第五预设通信条件的通信链路。
108.在一些可选的实施方式中,第一基板管理控制器具有第一通信接口,信号发生模块具有第二通信接口,第一通信接口与第二通信接口通过i2c总线通信连接。
109.在一些可选的实施方式中,第五构建子模块包括:第二建立子模块,用于建立第一基板管理控制器与信号发生模块之间的通信链路;第三发送子模块,用于向信号发生模块发送第三使能信号,以使得信号发生模块在第二模拟测试场景中向第一基板管理控制器循环发送智能平台管理总线命令。
110.在一些可选的实施方式中,诊断装置还包括:第二构建模块,用于执行构建步骤:在判断结果指示未出现与目标故障场景相同的通信异常的情况下,根据更新的预设通信条件,构建与目标故障场景对应的更新的模拟测试场景,其中,更新的预设通信条件为与前一个模拟测试场景对应的预设通信条件不同的预设通信条件;第二判断模块,用于执行判断步骤:判断第一基板管理控制器与管理引擎在更新的模拟测试场景中是否出现上述通信异常;第一循环模块,用于在判断结果指示未出现上述通信异常的情况下,循环执行构建步骤和判断步骤,直到判断结果指示出现上述通信异常时停止。
111.在一些可选的实施方式中,诊断装置还包括:修改模块,用于在执行到第n次构建步骤和判断步骤,判断结果仍指示未出现与目标故障场景相同的通信异常的情况下,修改与当前模拟测试场景对应的测试条件,得到更新的测试条件,其中,n为预设通信条件的全部数量,当前模拟测试场景为第n次执行的构建步骤中构建的模拟测试场景,测试条件包括外部条件和/或内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管
理控制器的日志信息;第二循环模块,用于根据更新的测试条件,再次循环执行构建步骤和判断步骤,直到判断结果指示出现上述通信异常时停止。
112.在一些可选的实施方式中,测试设备包括以下至少之一:示波器,以及逻辑分析仪。
113.在一些可选的实施方式中,场景信息包括测试条件,测试条件包括外部条件,根据模拟测试场景的场景信息,第一判断模块包括:第一判断子模块,用于根据测试设备的测试结果,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景相同的通信异常。
114.在一些可选的实施方式中,场景信息包括测试条件,测试条件包括内部条件,根据模拟测试场景的场景信息,第一判断模块包括:第二判断子模块,用于判断第一基板管理控制器的日志信息中是否出现与目标故障场景对应的异常告警记录,其中,在判断结果指示出现异常告警记录的情况下,确定为第一基板管理控制器与管理引擎在模拟测试场景中出现上述通信异常。
115.在在一些可选的实施方式中,诊断装置还包括:初始化模块,用于在根据预设通信条件,构建与目标故障场景对应的模拟测试场景之前,将与模拟测试场景对应的测试条件初始化,其中,测试条件包括外部条件和内部条件,外部条件包括以下至少之一:设置有第一基板管理控制器的主板的供电电压,以及测试设备的测试点在通信链路中的位置;内部条件至少包括:第一基板管理控制器的日志信息。
116.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
117.本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
118.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
119.本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
120.在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
121.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
122.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作
成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
123.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种通信异常的诊断方法,其特征在于,包括:根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,所述目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,所述模拟测试场景至少包括第一模拟测试场景,所述第一模拟测试场景用于使所述第一基板管理控制器与所述管理引擎之间具有满足所述预设通信条件的通信链路;根据所述模拟测试场景的场景信息,判断所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中是否出现与所述目标故障场景中相同的通信异常;在判断结果指示出现所述通信异常的情况下,根据所述模拟测试场景的场景信息,定位与所述目标故障场景对应的故障原因。2.根据权利要求1所述的诊断方法,其特征在于,所述根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第一预设通信条件,所述第一预设通信条件包括:所述第一基板管理控制器以第一预设频率向所述管理引擎发送数据包,所述管理引擎以第二预设频率向所述第一基板管理控制器发送数据包,所述第一预设频率大于所述第二预设频率;根据所述第一预设通信条件,构建所述第一模拟测试场景,以使得所述第一基板管理控制器与所述管理引擎在所述第一模拟测试场景中双向发送数据包,所述第一基板管理控制器发送数据包的频率为所述第一预设频率,所述管理引擎发送数据包的频率为所述第二预设频率。3.根据权利要求1所述的诊断方法,其特征在于,所述根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第二预设通信条件,所述第二预设通信条件包括:所述第一基板管理控制器以第三预设频率向所述管理引擎发送数据包,所述管理引擎以第四预设频率向所述第一基板管理控制器发送数据包,所述第三预设频率和所述第四预设频率大于参考频率,其中,所述参考频率为以下之一:所述第一基板管理控制器在所述目标故障场景中向所述管理引擎发送数据包的历史频率,以及所述管理引擎在所述目标故障场景中向所述第一基板管理控制器发送数据包的历史频率;根据所述第二预设通信条件,构建所述第一模拟测试场景,以使得所述第一基板管理控制器与所述管理引擎在所述第一模拟测试场景中双向发送数据包,所述第一基板管理控制器发送数据包的频率为所述第三预设频率,所述管理引擎发送数据包的频率为所述第四预设频率。4.根据权利要求3所述的诊断方法,其特征在于,所述根据所述第二预设通信条件,构建所述第一模拟测试场景,以使得所述第一基板管理控制器与所述管理引擎在所述第一模拟测试场景中双向发送数据包,包括:向所述第一基板管理控制器发送第一使能信号,以使所述第一基板管理控制器根据所述第一使能信号,在所述第一模拟测试场景中以所述第三预设频率向所述管理引擎发送数据包;向与所述管理引擎对应的基本输入输出系统发送修改指令,以使得修改后的所述基本输入输出系统使能管理引擎在所述目标故障场景中以所述第四预设频率向所述第一基板管理控制器发送数据包。
5.根据权利要求1所述的诊断方法,其特征在于,所述根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第三预设通信条件,所述第三预设通信条件包括:所述第一基板管理控制器与所述管理引擎通过i2c总线通信,所述i2c总线接收干扰模块发送的干扰信号;根据所述第三预设通信条件,构建所述第一模拟测试场景,以使得在所述第一基板管理控制器与所述管理引擎通过所述i2c总线双向发送数据包的情况下,所述i2c总线在所述第一模拟测试场景中接收所述干扰信号。6.根据权利要求5所述的诊断方法,其特征在于,所述干扰模块为所述第一基板管理控制器的通用输入输出模块,所述干扰信号为所述通用输入输出模块输出的固定电平。7.根据权利要求6所述的诊断方法,其特征在于,所述根据所述第三预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得在所述第一基板管理控制器与所述管理引擎通过i2c总线双向发送数据包的情况下,所述i2c总线在所述第一模拟测试场景中接收所述干扰信号,包括:通过所述i2c总线,建立所述第一基板管理控制器与所述管理引擎之间的通信链路;循环执行以下步骤:设置所述通用输入输出模块的属性为输出,并向所述通用输入输出模块发送第二使能信号,其中,在所述通用输入输出模块接收到所述第二使能信号的情况下,所述通用输入输出模块顺序执行以下步骤:输出固定电平,以及休眠预设时间;设置所述通用输入输出模块的属性为输入。8.根据权利要求1所述的诊断方法,其特征在于,所述根据预设通信条件,构建与目标故障场景对应的模拟测试场景,以使得所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中建立满足所述预设通信条件的通信链路,包括:获取第四预设通信条件,所述第四预设通信条件包括:所述第一基板管理控制器与所述管理引擎通过i2c总线通信,所述i2c总线接地或接高电平电源;根据所述第四预设通信条件,构建所述第一模拟测试场景,以使得在所述第一基板管理控制器与所述管理引擎在所述第一模拟测试场景中通过所述i2c总线双向发送数据包。9.根据权利要求1所述的诊断方法,其特征在于,所述根据预设通信条件,构建与目标故障场景对应的模拟测试场景,包括:获取第五预设通信条件,所述第五预设通信条件包括:信号发生模块在第二模拟测试场景中向所述第一基板管理控制器循环发送智能平台管理总线命令,其中,所述信号发生模块用于模拟所述管理引擎发送并接收数据包的功能;根据所述第五预设通信条件,构建与所述目标故障场景对应的所述第二模拟测试场景,其中,所述第二模拟测试场景用于使所述第一基板管理控制器与所述信号发生模块之间具有满足所述第五预设通信条件的通信链路。10.根据权利要求9所述的诊断方法,其特征在于,所述第一基板管理控制器具有第一通信接口,所述信号发生模块具有第二通信接口,所述第一通信接口与所述第二通信接口通过i2c总线通信连接。11.根据权利要求9所述的诊断方法,其特征在于,所述根据所述第五预设通信条件,构建与目标故障场景对应的第二模拟测试场景,包括:建立所述第一基板管理控制器与所述信号发生模块之间的通信链路;
向所述信号发生模块发送第三使能信号,以使得所述信号发生模块在所述第二模拟测试场景中向所述第一基板管理控制器循环发送所述智能平台管理总线命令。12.根据权利要求1至11中任一项所述的诊断方法,其特征在于,还包括:构建步骤,在判断结果指示未出现所述通信异常的情况下,根据更新的预设通信条件,构建与所述目标故障场景对应的更新的模拟测试场景,其中,所述更新的预设通信条件为与前一个模拟测试场景对应的预设通信条件不同的预设通信条件;判断步骤,判断所述第一基板管理控制器与所述管理引擎在所述更新的模拟测试场景中是否出现所述通信异常;在判断结果指示未出现所述通信异常的情况下,循环执行所述构建步骤和所述判断步骤,直到所述判断结果指示出现所述通信异常时停止。13.根据权利要求12所述的诊断方法,其特征在于,还包括:在执行到第n次所述构建步骤和所述判断步骤,所述判断结果仍指示未出现所述通信异常的情况下,修改与当前模拟测试场景对应的测试条件,得到更新的测试条件,其中,n为所述预设通信条件的全部数量,所述当前模拟测试场景为第n次执行的所述构建步骤中构建的模拟测试场景,所述测试条件包括外部条件和/或内部条件,所述外部条件包括以下至少之一:设置有所述第一基板管理控制器的主板的供电电压,以及测试设备的测试点在所述通信链路中的位置;所述内部条件至少包括:所述第一基板管理控制器的日志信息;根据所述更新的测试条件,再次循环执行所述构建步骤和所述判断步骤,直到所述判断结果指示出现所述通信异常时停止。14.根据权利要求13所述的诊断方法,其特征在于,所述测试设备包括以下至少之一:示波器,以及逻辑分析仪。15.根据权利要求13所述的诊断方法,其特征在于,所述场景信息包括所述测试条件,所述测试条件包括外部条件,所述根据所述模拟测试场景的场景信息,判断所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中是否出现与所述目标故障场景中相同的通信异常,包括:根据所述测试设备的测试结果,判断所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中是否出现所述通信异常。16.根据权利要求13所述的诊断方法,其特征在于,所述场景信息包括所述测试条件,所述测试条件包括内部条件,所述根据所述模拟测试场景的场景信息,判断所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中是否出现与所述目标故障场景相同的通信异常,包括:判断所述第一基板管理控制器的日志信息中是否出现与所述目标故障场景对应的异常告警记录,其中,在判断结果指示出现异常告警记录的情况下,确定为所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中出现所述通信异常。17.根据权利要求1至11中任一项所述的诊断方法,其特征在于,还包括:在根据所述预设通信条件,构建与所述目标故障场景对应的所述模拟测试场景之前,将与所述模拟测试场景对应的测试条件初始化,其中,所述测试条件包括外部条件和内部条件,所述外部条件包括以下至少之一:设置有所述第一基板管理控制器的主板的供电电压,以及测试设备的测试点在所述通信链路中的位置;所述内部条件至少包括:所述第一基
板管理控制器的日志信息。18.一种通信异常的诊断装置,其特征在于,包括:第一构建模块,用于根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中,所述目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,所述模拟测试场景至少包括第一模拟测试场景,所述第一模拟测试场景用于使所述第一基板管理控制器与所述管理引擎之间具有满足所述预设通信条件的通信链路;第一判断模块,用于根据所述模拟测试场景的场景信息,判断所述第一基板管理控制器与所述管理引擎在所述模拟测试场景中是否出现与所述目标故障场景中相同的通信异常;定位模块,用于在判断结果指示出现所述通信异常的情况下,根据所述模拟测试场景的场景信息,定位与所述目标故障场景对应的故障原因。19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至17任一项中所述的方法的步骤。20.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至17任一项中所述的方法的步骤。

技术总结
本申请实施例涉及计算机领域,具体而言,提供了一种通信异常的诊断方法、其装置及电子设备。其中,该方法包括:根据预设通信条件,构建与目标故障场景对应的模拟测试场景,其中目标故障场景为第一基板管理控制器与管理引擎发生通信异常的场景,模拟测试场景中的第一模拟测试场景用于使第一基板管理控制器与管理引擎之间具有满足预设通信条件的通信链路;根据模拟测试场景的场景信息,判断第一基板管理控制器与管理引擎在模拟测试场景中是否出现与目标故障场景中相同的通信异常;在出现通信异常的情况下,根据模拟测试场景的场景信息,定位与目标故障场景对应的故障原因。通过本申请解决了BMC与ME通信异常时,难以对问题原因进行快速定位的问题。进行快速定位的问题。进行快速定位的问题。


技术研发人员:陈超凡 曹宇瑞 马文凯 赵凤鸣 杜洪斌 刘宝阳
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.09.12
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐