传感器故障注入方法、装置、服务器和存储介质与流程

未命名 10-09 阅读:182 评论:0


1.本发明涉及计算机技术领域,尤其涉及一种传感器故障注入方法、装置、服务器和存储介质。


背景技术:

2.在存储服务器中存在很多传感器,这些传感器用于监视和检查许多不同的事物,然而,传感器一旦出现故障,会导致系统或控制模块出现紊乱,因此,传感器故障模拟测试显得越来越重要。在相关技术中,采用硬件注入的方式模拟传感器故障,采用这种方式需要对传感器产生一定的破坏或者将链路短路来构造传感器故障场景,不仅测试效率较低,同时会对传感器造成一定损害,产生不必要的浪费。


技术实现要素:

3.本发明提供一种传感器故障注入方法、装置、服务器和存储介质,用以解决相关技术中在对传感器故障进行模拟测试时,存在测试效率较低且对传感器存在一定损害的缺陷。
4.第一方面,本发明提供一种传感器故障注入方法,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述方法包括:
5.通过bmc提供的对外接口,接收用户下发的故障注入指令;
6.判断所述bmc的当前工作模式;
7.在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
8.在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
9.在一些实施例中,所述方法还包括:
10.在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,将所述传感器的读数上报至所述传感器监测模块。
11.在一些实施例中,所述方法还包括:
12.通过所述传感器监测模块,对所述传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;
13.在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警。
14.在一些实施例中,所述方法还包括:
15.在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
16.在一些实施例中,所述方法还包括:
17.在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息。
18.在一些实施例中,所述方法还包括:
19.在所述bmc的当前工作模式为非测试模式的情况下,返回不支持注入故障消息。
20.在一些实施例中,所述方法还包括:
21.通过所述bmc提供的对外接口,接收用户下发的故障清除指令;
22.响应于所述故障清除指令,所述bmc退出测试模式,切换回正常工作模式,并将所述目标fru模块的故障标记位清零,以使所述目标fru模块通过硬件访问的方式获取传感器读数。
23.第二方面,本发明提供一种传感器故障注入装置,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述装置包括:
24.接收单元,用于通过bmc提供的对外接口,接收用户下发的故障注入指令;
25.第一判断单元,用于判断所述bmc的当前工作模式;
26.第二判断单元,用于在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
27.设置单元,用于在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
28.第三方面,本发明提供一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的传感器故障注入方法。
29.第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的传感器故障注入方法。
30.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的传感器故障注入方法。
31.本发明提供的传感器故障注入方法、装置、服务器和存储介质,通过bmc提供的对外接口,接收用户下发的故障注入指令;判断bmc的当前工作模式;在bmc的当前工作模式为测试模式的情况下,判断故障注入指令对应的目标fru模块是否为共享器件;在故障注入指令对应的目标fru模块为共享器件的情况下,确定目标fru模块中控制器的主从状态,在目标fru模块中控制器的主从状态为主的情况下,调用目标fru模块的故障注入接口,以将故障注入指令传递至目标fru模块,并将目标fru模块的故障标记位设置为置位状态。本发明通过采用软件方式将故障注入传感器,可提高模拟传感器故障测试效率,同时可减小对传
感器的损害。
附图说明
32.为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明一个实施例提供的传感器故障注入方法的流程示意图;
34.图2为本发明一个实施例提供的得到传感器故障告警的流程示意图;
35.图3为本发明一个实施例提供的得到传感器故障清除的流程示意图;
36.图4为本发明一个实施例提供的传感器故障注入装置的结构示意图;
37.图5为本发明提供的一种服务器的实体结构示意图。
具体实施方式
38.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
40.针对相关技术中,在对传感器故障进行模拟测试时,存在测试效率较低且对传感器存在一定损害等缺陷,本发明提供了一种传感器故障注入方法、装置、服务器和存储介质。
41.本发明所提供的传感器故障注入方法的执行主体可以是传感器故障注入装置,该装置可通过软件和/或硬件实现,该装置可集成在电子设备中,电子设备可以是终端设备(如智能手机、个人电脑、学习机等),也可以是服务器(如本地服务器或云端服务器,也可以为服务器集群等),也可以是处理器,也可以是芯片等。
42.下面以执行主体是传感器故障注入装置为例,结合图1-图5,对本发明进行描述。需要说明的是,本发明提供的传感器故障注入方法应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断。
43.图1为本发明一个实施例提供的传感器故障注入方法的流程示意图,如图1所示,该方法包括以下步骤:步骤110、步骤120、步骤130和步骤140。该方法流程步骤仅仅作为本发明一个可能的实现方式。所述方法包括:
44.步骤110、通过bmc提供的对外接口,接收用户下发的故障注入指令;
45.可以理解,bmc提供的对外接口是指需要注入故障的fru模块的接口。
46.在具体实施时,在对传感器故障进行模拟测试时,通过bmc提供的对外接口,接收用户下发的故障注入指令。
47.步骤120、判断所述bmc的当前工作模式;
48.进一步地,在接收到用户下发的故障注入指令后,需要在接口层对bmc的当前工作模式进行判断。
49.一般而言,bmc的工作模式分为非测试模式和测试模式。非测试模式主要用于正常工作模式,不支持任何指令的故障注入,在该模式下,获取的是传感器的真实读数。测试模式主要用于模拟测试异常状态场景,由于传感器的故障注入主要用于对传感器告警等功能测试验证,即只有在bmc的当前工作模式为测试模式的情况下,才支持对目标fru模块进行故障注入。因此在设置故障注入之前,需要对bmc的当前工作模式进行判断。
50.步骤130、在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
51.可以理解,目标fru模块是指需要注入故障的fru模块。
52.进一步地,在所述bmc的当前工作模式为测试模式的情况下,需要判断所述故障注入指令对应的目标fru模块的共享属性,fru模块的共享属性包括共享器件和非共享器件。在所述故障注入指令对应的目标fru模块为共享器件的情况下,执行步骤140。
53.对于目标fru模块的共享属性是共享器件,由于对应fru模块的设计情况仅在主控制器上获取数据信息,然后将数据信息同步给从控制器,因此共享器件在模拟故障情况时,需要在主控制器上通过标志位实现故障注入,上报数据信息给传感器监测模块,才能有效的注入故障,因此对于共享器件仅支持在主控制器上注入故障。
54.对于目标fru模块的共享属性是非共享器件,对应fru模块分别在各个控制器上读取传感器的温度,然后将数据信息同步给其他模块,因此对于非共享器件可以支持在任意控制器上注入故障。
55.步骤140、在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
56.在具体实施时,在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,则支持下发故障注入指令,可以注入故障。
57.进一步地,通过调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态,从而实现采用软件方式将故障注入传感器。
58.在本发明实施例中,通过bmc提供的对外接口,接收用户下发的故障注入指令;判断bmc的当前工作模式;在bmc的当前工作模式为测试模式的情况下,判断故障注入指令对应的目标fru模块是否为共享器件;在故障注入指令对应的目标fru模块为共享器件的情况下,确定目标fru模块中控制器的主从状态,在目标fru模块中控制器的主从状态为主的情况下,调用目标fru模块的故障注入接口,以将故障注入指令传递至目标fru模块,并将目标
fru模块的故障标记位设置为置位状态。本发明通过采用软件方式将故障注入传感器,可提高模拟传感器故障测试效率,同时可减小对传感器的损害。
59.在一些实施例中,所述方法还包括:
60.在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,将所述传感器的读数上报至所述传感器监测模块。
61.需要说明的是,本发明提供的传感器故障注入方法适应于独立获取温度的fru模块传感器,具体地,独立获取温度的fru模块传感器通过架构配置目录定义文件,生成传感器编号,在对应fru模块中访问硬件,实现对相关温度的物理扫描,采集温度点后,向传感器监测模块提供温度读取接口,用于传感器监测模块挂接钩子,实现对传感器读数的管理和告警判断。
62.在具体实施时,在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,示例性地,设置的无效值为ff,实现采用软件方式在传感器中注入故障,同时将所述传感器的读数上报至所述传感器监测模块,进一步通过所述传感器监测模块实现对传感器读数的管理和告警判断。
63.在本发明实施例中,在目标fru模块检测到bmc的当前工作模式为测试模式,且目标fru模块的故障标记位为置位状态的情况下,通过目标fru模块采集对应的传感器的读数,并将传感器的读数设置为无效值,将传感器的读数上报至传感器监测模块,实现采用软件的方式向传感器注入故障,提高模拟传感器故障测试效率,减少对传感器的损耗,节约材料成本。
64.在一些实施例中,图2为本发明一个实施例提供的得到传感器故障告警的流程示意图,如图2所示,所述方法还包括:
65.步骤210、通过所述传感器监测模块,对所述传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;
66.在具体实施时,各fru模块上报传感器读数至所述传感器监测模块,所述传感器监测模块对接收到的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;
67.示例性地,若接收到的fru模块上报的传感器读数为无效值时,例如为ff时,则确定产生故障告警。
68.步骤220、在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警。
69.为提高传感器器件故障告警的准确性,减少误判情况,针对产生故障告警的次数提前设定容错阈值。
70.在具体实施时,在确定产生故障告警的情况下,进一步判断产生故障告警的次数是否达到容错阈值,若达到容错阈值,则上报传感器器件故障告警,示例性地,容错阈值为3次,本发明对此不作具体限定。
71.在本发明实施例中,通过传感器监测模块,对传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警,实现对于
传感器故障告警功能的验证,可提高模拟传感器故障测试的准确性和测试验证效率,节约时间成本。
72.在一些实施例中,所述方法还包括:
73.在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
74.需要说明的是,在所述故障注入指令对应的目标fru模块为非共享器件的情况下,可以支持在所述目标fru模块中控制器的任意状态下下发故障注入指令,不需要确定所述目标fru模块中控制器的主从状态。
75.在具体实施时,在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
76.在本发明实施例中,在故障注入指令对应的目标fru模块为非共享器件的情况下,调用目标fru模块的故障注入接口,将故障注入指令传递至目标fru模块,并将目标fru模块的故障标记位设置为置位状态,本实施例介绍了在故障注入指令对应的目标fru模块为非共享器件时,如何采用软件方式对目标fru模块进行故障注入,可提高模拟传感器故障注入测试效率,同时可减小对传感器的损害。
77.在一些实施例中,所述方法还包括:
78.在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息。
79.在具体实施时,在所述故障注入指令对应的目标fru模块为共享器件的情况下,进一步确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,则不支持向传感器注入故障,接口返回不支持注入故障提示消息。
80.在本发明实施例中,在故障注入指令对应的目标fru模块为共享器件的情况下,确定目标fru模块中控制器的主从状态,在目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息,明确了在目标fru模块中控制器的主从状态为从的情况下,不支持注入故障,可提高测试效率,节约时间成本。
81.在一些实施例中,图3为本发明一个实施例提供的得到传感器故障清除的流程示意图,如图3所示,所述方法还包括:
82.步骤310、通过所述bmc提供的对外接口,接收用户下发的故障清除指令;
83.在具体实施时,通过bmc提供的对外接口,即需要注入故障的fru模块的接口,接收用户下发的故障清除指令,并步骤320对故障清除指令进行响应。
84.步骤320、响应于所述故障清除指令,所述bmc退出测试模式,切换回正常工作模式,并将所述目标fru模块的故障标记位清零,以使所述目标fru模块通过硬件访问的方式获取传感器读数。
85.在具体实施时,响应于所述故障清除指令,所述bmc退出测试模式,切换回非测试模式,即切换回正常工作模式,同时将所述目标fru模块的故障标记位清零,以恢复初始值,使得所述目标fru模块能够正常获取传感器读数,即恢复通过硬件访问的方式获取传感器
读数。
86.在本发明实施例中,通过bmc提供的对外接口,接收用户下发的故障清除指令;响应于故障清除指令,bmc退出测试模式,切换回正常工作模式,并将目标fru模块的故障标记位清零,以使目标fru模块通过硬件访问的方式获取传感器读数,可恢复目标fru模块正常读取传感器读数,实现传感器故障清除。
87.在一些实施例中,所述方法还包括:
88.在所述bmc的当前工作模式为非测试模式的情况下,返回不支持注入故障消息。
89.在具体实施时,在对传感器故障进行模拟测试时,通过bmc提供的对外接口,接收用户下发的故障注入指令。进一步地,对所述bmc的当前工作模式进行判断,在所述bmc的当前工作模式为非测试模式的情况下,不支持向传感器注入故障,接口返回不支持注入故障的提示消息。
90.在本发明实施例中,明确了在bmc的当前工作模式为非测试模式的情况下,不支持注入故障,可提高测试效率,节约时间成本。
91.下面对本发明提供的传感器故障注入装置进行描述,下文描述的传感器故障注入装置与上文描述的传感器故障注入方法可相互对应参照。
92.需要说明的是,本发明提供的传感器故障注入装置,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断。
93.图4为本发明一个实施例提供的传感器故障注入装置的结构示意图,如图4所示,该传感器故障注入装置400包括:
94.接收单元410,用于通过bmc提供的对外接口,接收用户下发的故障注入指令;
95.第一判断单元420,用于判断所述bmc的当前工作模式;
96.第二判断单元430,用于在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
97.设置单元440,用于在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
98.在一些实施例中,所述装置还包括:
99.采集设置上报单元,用于在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,将所述传感器的读数上报至所述传感器监测模块。
100.在一些实施例中,所述装置还包括:
101.故障告警判断单元,用于通过所述传感器监测模块,对所述传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;
102.容错阈值判断单元,用于在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警。
103.在一些实施例中,所述装置还包括:
104.故障注入指令传递单元,用于在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
105.在一些实施例中,所述装置还包括:
106.状态确定单元,用于在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息。
107.在一些实施例中,所述装置还包括:
108.返回单元,用于在所述bmc的当前工作模式为非测试模式的情况下,返回不支持注入故障消息。
109.在一些实施例中,所述装置还包括:
110.故障清除指令接收单元,用于通过所述bmc提供的对外接口,接收用户下发的故障清除指令;
111.故障清除指令响应单元,用于响应于所述故障清除指令,所述bmc退出测试模式,切换回正常工作模式,并将所述目标fru模块的故障标记位清零,以使所述目标fru模块通过硬件访问的方式获取传感器读数。
112.在此需要说明的是,本发明实施例提供的传感器故障注入装置,能够实现上述传感器故障注入方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
113.需要说明的是,本技术每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
114.图5为本发明提供的一种服务器的实体结构示意图,如图5所示,该服务器可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行传感器故障注入方法,该方法包括:通过bmc提供的对外接口,接收用户下发的故障注入指令;判断所述bmc的当前工作模式;在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
115.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
116.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的传感器故障注入方法,该方法包括:通过bmc提供的对外接口,接收用户下发的故障注入指令;判断所述bmc的当前工作模式;在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
117.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的传感器故障注入方法,该方法包括:通过bmc提供的对外接口,接收用户下发的故障注入指令;判断所述bmc的当前工作模式;在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
118.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
119.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
120.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种传感器故障注入方法,其特征在于,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述方法包括:通过bmc提供的对外接口,接收用户下发的故障注入指令;判断所述bmc的当前工作模式;在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。2.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,将所述传感器的读数上报至所述传感器监测模块。3.根据权利要求2所述的传感器故障注入方法,其特征在于,所述方法还包括:通过所述传感器监测模块,对所述传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警。4.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。5.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息。6.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:在所述bmc的当前工作模式为非测试模式的情况下,返回不支持注入故障消息。7.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:通过所述bmc提供的对外接口,接收用户下发的故障清除指令;响应于所述故障清除指令,所述bmc退出测试模式,切换回正常工作模式,并将所述目标fru模块的故障标记位清零,以使所述目标fru模块通过硬件访问的方式获取传感器读数。8.一种传感器故障注入装置,其特征在于,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述装置包括:接收单元,用于通过bmc提供的对外接口,接收用户下发的故障注入指令;
第一判断单元,用于判断所述bmc的当前工作模式;第二判断单元,用于在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;设置单元,用于在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。9.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的传感器故障注入方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的传感器故障注入方法。

技术总结
本发明提供一种传感器故障注入方法、装置、服务器和存储介质,属于计算机技术领域。其中,方法包括:通过BMC提供的对外接口,接收用户下发的故障注入指令;判断BMC的当前工作模式;在BMC的当前工作模式为测试模式的情况下,判断故障注入指令对应的目标FRU模块是否为共享器件;在故障注入指令对应的目标FRU模块为共享器件的情况下,确定目标FRU模块中控制器的主从状态,在目标FRU模块中控制器的主从状态为主的情况下,调用目标FRU模块的故障注入接口,以将故障注入指令传递至目标FRU模块,并将目标FRU模块的故障标记位设置为置位状态。通过采用软件方式将故障注入传感器,可提高测试效率,同时减小对传感器的损害。同时减小对传感器的损害。同时减小对传感器的损害。


技术研发人员:杜思瑶
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.29
技术公布日:2023/10/7
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐