一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制器测试方法、装置、服务器和存储介质与流程

2022-03-05 03:01:32 来源:中国专利 TAG:


1.本发明涉及设备维护技术领域,尤其涉及一种控制器测试方法、装置、服务器和存储介质。


背景技术:

2.平台管理(platform management)表示的是一系列的监视和控制功能,监视和控制的对象是设备硬件。比如说,监视设备的温度、电压、风扇、电源等。根据监视获得的信息做出相应的调整工作,从而保证设备处于正常的工作状态。如果设备发生异常,可以通过复位的方式来重启设备。同时,平台管理还需要记录各设备硬件的状态信息和系统事件日志(system event log,简称为sel),状态信息和系统事件日志用于提示用户以及后续设备发生异常的情况进行问题的定位。
3.以上描述的这些功能都可以集成到一个控制器上来实现,这个控制器被称为基板管理控制器(baseboard management controller,简称为bmc)。bmc可以集成在被监控设备中,当bmc监测到被监控设备发生异常时,bmc需要将异常信息发送至远程的监控设备。监控设备将异常信息呈现给管理人员,进而管理人员可以知道被监控设备发生了怎样的异常。
4.在监控被监控设备的过程中,监控设备需要频繁地从bmc中读取各设备硬件的状态信息。为了避免由于频繁的访问而导致的bmc故障,提高bmc的稳定性和可靠性,需要在出厂前对bmc做压力测试。


技术实现要素:

5.本发明实施例提供一种控制器测试方法、装置、服务器和存储介质,用以实现保证测试bmc过程的可靠性以及提高测试效率。
6.第一方面,本发明实施例提供一种控制器测试方法,该方法包括:
7.获取基板管理控制器bmc测试任务,所述bmc测试任务携带有并发测试数量和测试策略;
8.启动信息传递接口mpi控制器,并配置与所述并发测试数量相等的mpi执行器;
9.通过所述mpi控制器将所述测试策略下发至各mpi执行器;
10.通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,以获取所述待测试bmc基于不同访问返回的测试信息;
11.根据所述待测试bmc基于不同访问返回的测试信息,确定所述待测试bmc是否发生异常。
12.可选地,所述并发测试数量为需要同时向同一待测试bmc发起的访问次数、或者需要同时访问的待测试bmc的数量。
13.可选地,所述测试策略包括第一策略、第二策略或者第三策略;
14.当所述测试策略为所述第一策略时,所述通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,包括:通过不同mpi执行器并发执行在多个预设类型的bmc访问命令
中随机选取的不同bmc访问命令;
15.当所述测试策略为所述第二策略时,所述通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,包括:通过所述各mpi执行器并发执行同一预设类型的bmc访问命令;
16.当所述测试策略为第三策略时,所述通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,包括:通过所述各mpi执行器并发执行各自对应的预设类型的bmc访问命令,执行各预设类型的bmc访问命令的mpi执行器分别对应的数量满足预设条件。
17.可选地,所述根据所述待测试bmc基于不同访问返回的测试信息,确定所述待测试bmc是否发生异常,包括:
18.获取与不同访问分别对应的参考信息;
19.对于每个访问,对所述访问对应的测试信息和参考信息进行比较匹配;
20.根据各访问分别对应的比较匹配结果,确定所述待测试bmc是否发生异常。
21.可选地,所述根据各访问分别对应的比较匹配结果,确定所述待测试bmc是否发生异常,包括:
22.若各访问分别对应的比较匹配结果为都不匹配,则确定所述待测试bmc发生宕机;
23.若所述各访问中任一访问对应的比较匹配结果为不匹配,则确定所述任一访问对应的所述待测试bmc中的传感器发生异常。
24.第二方面,本发明实施例提供一种控制器测试装置,包括:
25.获取模块,用于获取基板管理控制器bmc测试任务,所述bmc测试任务携带有并发测试数量和测试策略;
26.配置模块,用于启动信息传递接口mpi控制器,并配置与所述并发测试数量相等的mpi执行器;
27.下发模块,用于通过所述mpi控制器将所述测试策略下发至各mpi执行器;
28.测试模块,用于通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,以获取所述待测试bmc基于不同访问返回的测试信息;
29.判断模块,用于根据所述待测试bmc基于不同访问返回的测试信息,确定所述待测试bmc是否发生异常。
30.可选地,所述并发测试数量为需要同时向同一待测试bmc发起的访问次数、或者需要同时访问的待测试bmc的数量。
31.可选地,所述测试策略包括第一策略、第二策略或者第三策略,所述测试模块,用于:
32.通过不同mpi执行器并发执行在多个预设类型的bmc访问命令中随机选取的不同bmc访问命令;或者,
33.通过所述各mpi执行器并发执行同一预设类型的bmc访问命令;或者,
34.通过所述各mpi执行器并发执行各自对应的预设类型的bmc访问命令,执行各预设类型的bmc访问命令的mpi执行器分别对应的数量满足预设条件。
35.可选地,所述判断模块,用于:
36.获取与不同访问分别对应的参考信息;
37.对于每个访问,对所述访问对应的测试信息和参考信息进行比较匹配;
38.根据各访问分别对应的比较匹配结果,确定所述待测试bmc是否发生异常。
39.可选地,所述判断模块,用于:
40.若各访问分别对应的比较匹配结果为都不匹配,则确定所述待测试bmc发生宕机;
41.若所述各访问中任一访问对应的比较匹配结果为不匹配,则确定所述任一访问对应的所述待测试bmc中的传感器发生异常。
42.第三方面,本发明实施例提供一种服务器,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的控制器测试方法。
43.第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被服务器的处理器执行时,使所述处理器至少可以实现第一方面中的控制器测试方法。
44.采用本发明,可以基于mpi技术实现对bmc的并行测试,采用mpi技术能够保证并发访问的可靠性。可以基于mpi技术通过并发的方式对bmc同时进行访问,这样就可以达到将访问压力调到较高程度的目的,进而可以测试出bmc在较高的访问压力下是否能够继续正常工作。通过这样的测试方式可以保证测试的可靠性并且提高测试效率。
附图说明
45.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本发明实施例提供的一种控制器测试方法的流程示意图;
47.图2为本发明实施例提供的一种控制器测试系统的结构示意图;
48.图3为本发明实施例提供的一种mpi方案示意图;
49.图4为本发明实施例提供的一种控制器测试装置的结构示意图;
50.图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
53.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
54.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
55.图1为本发明实施例提供的一种控制器测试方法的流程图,该方法可以应用于服务器。如图1所示,该方法包括如下步骤:
56.101、获取bmc测试任务,bmc测试任务携带有并发测试数量和测试策略。
57.102、启动信息传递接口(message passing interface,mpi)控制器,并配置与并发测试数量相等的mpi执行器。
58.103、通过mpi控制器将测试策略下发至各mpi执行器。
59.104、通过各mpi执行器,根据测试策略并发访问待测试bmc,以获取待测试bmc基于不同访问返回的测试信息。
60.105、根据待测试bmc基于不同访问返回的测试信息,确定待测试bmc是否发生异常。
61.bmc是智能平台控制接口(intelligent platform management interface,简称为ipmi)的一部分,并且通常被集成在模板或者被监控设备的主电路板里。bmc的传感器用来监测被监控设备内部的物理变量,比如说温度、湿度、电源电压、风扇速度、通信参数、操作系统函数等。如果这些物理变量中的任何一个超过指定范围,bmc就会通知管理人员,管理人员就会通过监控设备远程来采取正确的措施。被监控设备可以被控制或者在必要的情况下重新被启动。这样,一名管理人员就可以同时通过远程的方式控制大量的被监控设备,节省了网络的总体成本,并且可以确保可靠性。
62.监控设备中的操作系统可以通过bmcserver服务实现获取传感器的信息、显示系统事件日志内容、网络远程开关机等功能,并且通过bmcserver服务可以监控各个传感器的数据并记录各种事件的系统事件日志。当任一传感器出现异常时,异常信息将被当做一个事件记录在系统事件日志中。
63.实际应用中,可以采用本发明实施例提供的方法实现对bmc的测试,具体来说,是基于mpi技术实现的对bmc的并行测试。其中,mpi是一个跨语言的通讯协议,用于编写并行计算机。采用mpi技术能够保证并发访问的可靠性。在某些可选实施例中,如图2所示,本发明实施例提供的方法可以由执行服务器对待测试bmc进行测试,并由运维服务器等配合实现。
64.在运维服务器中可以预先定制mpi执行环境,该mpi执行环境指的是mpi脚本,该脚本可以是mpi.py形式的文件。基于该mpi脚本,可以运行mpi方案。在mpi脚本中,可以将实现bmc测试任务的测试命令封装成函数,这样无需关心具体的函数内部的细节,技术人员只需向函数传入合适的参数,服务器就可以完成bmc测试任务。其中,向函数传入的参数指的是bmc测试任务中的并发测试数量和测试策略,测试策略定义了不同的对待测试bmc进行测试的方案。
65.可选地,并发测试数量可以是需要同时向同一待测试bmc发起的访问次数、或者需要同时访问的待测试bmc的数量。
66.根据测试需求,在某些应用场景中需要对同一待测试bmc访问n次,n例如可以是10、100、1000等。或者,在某些应用场景中需要同时对m个待测试bmc进行访问,m例如可以是10以内的整数。
67.对于测试单一的待测试bmc的场景来说,为了将访问压力调到最大,以测试出待测
试bmc在巨大的访问压力下是否能够正常工作,可以基于mpi技术通过并发的方式对待测试bmc同时进行访问。这样,可以测试出待测试bmc在如此大的访问压力下是否还能正常工作,以保证测试的可靠性。
68.对于同时测试m个待测试bmc的场景来说,如果按照顺序依次对单一的待测试bmc进行测试,一个待测试bmc所需的测试时长为t,那么测试完m个待测试bmc需要mt时间。而如果基于mpi技术通过并发的方式同时对m个待测试bmc进行测试,则仅需t时间就可以完成所有测试,可见可以大大缩短测试时间,提高测试效率。
69.技术人员可以通过运维服务器,将并发测试数量和想要使用的测试策略设定好,并传给封装好的函数,这样就设定好了mpi脚本。需要说明的是,由于基于mpi脚本,就可以运行mpi方案,因此当设定好mpi脚本之后,需要在哪个运维服务器上实施mpi方案,就将设定好的mpi脚本拷贝到该运维服务器上即可,测试过程的可移植性较高。
70.运维服务器可以将设定好的mpi脚本发送给执行服务器,该设定好的mpi脚本也可以认为是bmc测试任务。最终,由执行服务器根据bmc测试任务来对待测试bmc进行并发测试。
71.可选地,在上述过程中,运维服务器可以通过运维应用程序实现对测试过程的管理和控制操作。其中,运维应用程序例如可以是ansible。基于此,可以将设定好的mpi脚本集成到ansible中,通过ansible将设定好的mpi脚本发送给执行服务器。
72.执行服务器可以获取bmc测试任务,然后执行该bmc测试任务。执行服务器可以根据bmc测试任务,启动mpi控制器。其中,如图3所示,mpi控制器负责监控mpi执行器的执行过程以及将mpi执行器的执行结果汇总。另外,执行服务器还可以配置与并发测试数量相等的mpi执行器。比如说,假设当前需要对同一待测试bmc并发访问1000次,则可以配置1000个mpi执行器。再比如说,假设当前需要同时对10个bmc进行测试,则可以配置10个mpi执行器。在配置好mpi执行器之后,mpi控制器可以将测试策略下发给各mpi执行器,这样,各mpi执行器可以知道采用什么样的方案对待测试bmc进行测试。具体不同的对待测试bmc进行测试的方案会在后文中进行说明,在此暂不展开说明。
73.各mpi执行器可以根据接收到的测试策略并发访问待测试bmc,也就是说,各mpi执行器根据接收到的测试策略,确定对应的访问bmc的命令,执行对应的访问bmc的命令,以访问待测试bmc。相应地,bmc在接收到访问后会返回相应的测试信息。需要说明的是,bmc中设置有多种传感器,用于采集指示被监控设备的状态的数据。基于此,访问bmc的过程例如可以是请求bmc中某个传感器采集的数据,那么该数据就可以作为上述测试信息。
74.最后,可以根据待测试bmc基于不同访问返回的测试信息,确定待测试bmc是否发生异常。可选地,根据待测试bmc基于不同访问返回的测试信息,确定待测试bmc是否发生异常的过程可以实现为:获取与不同访问分别对应的参考信息;对于每个访问,对访问对应的测试信息和参考信息进行比较匹配;根据各访问分别对应的比较匹配结果,确定待测试bmc是否发生异常。
75.需要说明的是,不同mpi执行器根据测试策略可能会对待测试bmc发起相同的或者不同的访问,因此假设在待测试bmc完全正常的情况下,待测试bmc返回的测试信息可能相同也可能不同。针对不同的访问,可以预先设计好它们各自对应的参考信息,该参考信息也就是在待测试bmc正常工作的情况下待测试bmc接收到某种访问应该返回的正确的信息。
76.基于此,mpi执行器可以获取与不同访问分别对应的参考信息。对于每个访问,对访问对应的测试信息和参考信息进行比较匹配。具体来说,可以计算测试信息和参考信息的文本相似度,如果文本相似度大于预设阈值,则表示与某个访问对应的测试信息和参考信息是相匹配的。然后,可以根据各访问分别对应的比较匹配结果,确定某个访问是通过还是失败。
77.各mpi执行器还可以将各自确定出的访问是否通过的结果反馈给mpi控制器,由mpi控制器统计汇总所有mpi执行器确定出的访问是否通过的结果,然后将统计信息反馈给运维服务器。比如说,假设有100个mpi执行器对待测试bmc进行了访问,其中99个mpi执行器返回访问通过的结果,1个mpi执行器返回访问失败的结果。mpi控制器可以将99个mpi执行器返回访问通过的结果且1个mpi执行器返回访问失败的结果的统计信息反馈给运维服务器。在某些可选实施例中,运维服务器可以通过ansible获取mpi控制器反馈回来的统计信息。
78.运维服务器可以根据统计信息,判定待测试bmc是否发生异常。可选地,判定待测试bmc是否发生异常的过程可以实现为:若各访问分别对应的比较匹配结果为都不匹配,则确定待测试bmc发生宕机;若各访问中任一访问对应的比较匹配结果为不匹配,则确定任一访问对应的待测试bmc中的传感器发生异常。
79.可以理解的是,对于同一待测试bmc来说,如果所有访问都失败了,则表示该待测试bmc已发生宕机。如果个别访问失败了,则表示个别访问需要请求数据的传感器发生异常了。
80.下面介绍mpi执行器都可以采取的对待测试bmc进行测试的测试策略。
81.可选地,测试策略可以包括第一策略、第二策略或者第三策略。其中,第一策略也可称为随机策略,第二策略也可称为定点策略,第三策略也可称为顺序策略。
82.第一策略:通过不同mpi执行器并发执行在多个预设类型的bmc访问命令中随机选取的不同bmc访问命令。
83.举例来说,假设有6个预设类型的bmc访问命令,有10个mpi执行器需要并发地对待测试bmc发起访问。对于每个mpi执行器i来说,mpi执行器i可以从6个预设类型的bmc访问命令随机抽取一个bmc访问命令,然后通过随机抽取的bmc访问命令对待测试bmc发起访问。
84.采用第一策略能够保证业务随机行为的稳定性。
85.第二策略:通过各mpi执行器并发执行同一预设类型的bmc访问命令。
86.采用第二策略能够保证同一业务行为的稳定性。
87.第三策略:通过各mpi执行器并发执行各自对应的预设类型的bmc访问命令,执行各预设类型的bmc访问命令的mpi执行器分别对应的数量满足预设条件。
88.其中,执行各预设类型的bmc访问命令的mpi执行器分别对应的数量需要是平均的。
89.举例来说,假设mpi脚本中设置有6个预设类型的bmc访问命令且该6个预设类型的bmc访问命令是常用的,有12个mpi执行器需要并发地对待测试bmc发起访问,mpi脚本中设置:
90.mpi执行器1通过bmc访问命令1对待测试bmc发起访问;
91.mpi执行器2通过bmc访问命令2对待测试bmc发起访问;
92.mpi执行器3通过bmc访问命令3对待测试bmc发起访问;
93.mpi执行器4通过bmc访问命令4对待测试bmc发起访问;
94.mpi执行器5通过bmc访问命令5对待测试bmc发起访问;
95.mpi执行器6通过bmc访问命令6对待测试bmc发起访问;
96.mpi执行器7通过bmc访问命令1对待测试bmc发起访问;
97.mpi执行器8通过bmc访问命令2对待测试bmc发起访问;
98.mpi执行器9通过bmc访问命令3对待测试bmc发起访问;
99.mpi执行器10通过bmc访问命令4对待测试bmc发起访问;
100.mpi执行器11通过bmc访问命令5对待测试bmc发起访问;
101.mpi执行器12通过bmc访问命令6对待测试bmc发起访问。
102.采用第三策略能够保证业务中常用基础行为的稳定性。
103.在某些可选实施例中,运维服务器还可以对bmc进行升级操作,升级操作可以由编译服务器辅助实现。编译服务器可以用于存储bmc更新应用程序,运维服务器可以通过ansible从编译服务器获取bmc更新应用程序,然后通过bmc的升级通道控制bmc安装bmc更新应用程序,以对bmc进行升级。
104.在某些可选实施例中,运维服务器还可以升级本地定制的mpi执行环境。
105.在某些可选实施例中,运维服务器还可以通过ansible远程登录到被监控设备。具体来说,可以通过安全外壳协议(secure shell,简称为ssh)或者telnet(是internet远程登录服务的标准协议和主要方式)登录到被监控设备。
106.在某些可选实施例中,运维服务器还可以集成登录执行服务器的功能。
107.在某些可选实施例中,被监控设备可以是白盒交换机,它是交换机的一种。白盒交换机将交换机硬件和软件进行解耦,因此用户可以只购买交换机的硬件,然后按需搭配软件。
108.需要说明的是,bmc在白盒交换机的监控管理过程中起着重要作用。bmc初始状态下包括有现场可更换单元(field replace unit,简称为fru)、系统事件日志(system event log,简称为sel)、管理控制器(management controller,简称为mc)、局域网(local area network,简称为lan)、传感器数据记录(sensor date record,简称为sdr)等的基础信息。bmc利用传感器来监控白盒交换机中的硬件、操作系统sonic组件、或者其他硬件驱动设备的状态。bmc可以通过i2c(一种双向二线制同步串行总线)和白盒交换机中的硬件进行通信。
109.为了便于理解,结合如下的应用场景对以上提供的测试方法的具体实现进行示例性说明。
110.在实际测试之前,运维服务器可以通过ansible,测试运维服务器、执行服务器和待测试bmc之间的网络是连通的。可以通过命令“ansibleall

mping”进行测试,命令执行结果可以如下所示:
[0111][0112][0113]
运维服务器还可以对待测试bmc进行升级操作。在某些场景中,可以通过命令“wget http://172.28.55.66/output/git-openbmc-build/whitebox/switch/switch#arch6_0_a_id20210926094821781/bmc.bin”和“fw_upgrade/home/admin/bmc.bin 0 block 4e、fw_upgrade/home/admin/bmc.bin 1 block 4e”实现,命令执行结果可以如下所示:
[0114][0115]
在运维服务器中mpi脚本可以配置为“node1 slots=100、node1 slots=100、node1 slots=100”。该配置表示启用3台执行服务器,每台执行服务器启用100个进程,这
样共有300个进程,可以并发的访问同一待测试bmc 300次。在完成配置后,可以通过命令“mpirun
‑‑
hostfile host-np 300 python mpi.py”启动上述300个进程。
[0116]
最后,对待测试bmc进行测试。
[0117]
在测试过程中,对于mpi执行器,假设mpi执行器执行的bmc访问命令为“bmcserver-i lanplus-h 172.28.57.87-u admin-p admin fru print”,参考信息如下:
[0118]
fru device description:builtin fru device(id 0)
[0119]
fru device description:system(id 3)
[0120]
product manufacturer
ꢀꢀ
:ruijie
[0121]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:ra-b6510-48v8c
[0122]
product part number
ꢀꢀꢀ
:rj000001
[0123]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:100
[0124]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:1234567834567
[0125]
fru device description:powersupply0(id 75)
[0126]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:crps550w
[0127]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:aa
[0128]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:m623tw0028aal
[0129]
fru device description:powersupply1(id 76)
[0130]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:crps550w
[0131]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:aa
[0132]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:m623tt0004aal
[0133]
待测试bmc响应上述访问返回的测试信息如下:
[0134]
fru device description:builtin fru device(id 0)
[0135]
fru device description:system(id 3)
[0136]
product manufacturer
ꢀꢀ
:ruijie
[0137]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:ra-b6510-48v8c
[0138]
product part number
ꢀꢀꢀ
:rj000001
[0139]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:100
[0140]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:1234567834567
[0141]
fru device description:powersupply0(id 75)
[0142]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:crps550w
[0143]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:aa
[0144]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:m623tw0028aal
[0145]
fru device description:powersupply1(id 76)
[0146]
product name
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
:crps550w
[0147]
product version
ꢀꢀꢀꢀꢀꢀꢀ
:aa
[0148]
product serial
ꢀꢀꢀꢀꢀꢀꢀꢀ
:m623tt0004aal
[0149]
可以对测试信息和参考信息进行文本相似度计算,结果为100%相似,则该访问通过。
[0150]
对于mpi控制器,mpi控制器汇总的各mpi执行器的统计信息的一种示例可以是:
[0151]
被测交换机172.28.57.87:并发100个测试,pass 100个,fail 0个
[0152]
被测交换机172.28.57.90:并发100个测试,pass 0个,fail 100个
[0153]
mpi控制器将统计信息反馈给运维服务器,运维服务器根据统计信息判断待测试bmc是否发生异常,判断的一种示例可以是:
[0154]
被测交换机172.28.57.87:pass
[0155]
bmc正常
[0156]
被测交换机172.28.57.90:fail
[0157]
bmc可能宕机
[0158]
采用本发明,可以基于mpi技术实现对bmc的并行测试,采用mpi技术能够保证并发访问的可靠性。可以基于mpi技术通过并发的方式对bmc同时进行访问,这样就可以达到将访问压力调到较高程度的目的,进而可以测试出bmc在较高的访问压力下是否能够继续正常工作。通过这样的测试方式可以保证测试的可靠性并且提高测试效率。
[0159]
以下将详细描述本发明的一个或多个实施例的控制器测试装置。本领域技术人员可以理解,这些控制器测试装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
[0160]
图4为本发明实施例提供的一种控制器测试装置的结构示意图,如图4所示,该装置包括:
[0161]
获取模块41,用于获取基板管理控制器bmc测试任务,所述bmc测试任务携带有并发测试数量和测试策略;
[0162]
配置模块42,用于启动信息传递接口mpi控制器,并配置与所述并发测试数量相等的mpi执行器;
[0163]
下发模块43,用于通过所述mpi控制器将所述测试策略下发至各mpi执行器;
[0164]
测试模块44,用于通过所述各mpi执行器,根据所述测试策略并发访问待测试bmc,以获取所述待测试bmc基于不同访问返回的测试信息;
[0165]
判断模块45,用于根据所述待测试bmc基于不同访问返回的测试信息,确定所述待测试bmc是否发生异常。
[0166]
可选地,所述并发测试数量为需要同时向同一待测试bmc发起的访问次数、或者需要同时访问的待测试bmc的数量。
[0167]
可选地,所述测试策略包括第一策略、第二策略或者第三策略,所述测试模块44,用于:
[0168]
通过不同mpi执行器并发执行在多个预设类型的bmc访问命令中随机选取的不同bmc访问命令;或者,
[0169]
通过所述各mpi执行器并发执行同一预设类型的bmc访问命令;或者,
[0170]
通过所述各mpi执行器并发执行各自对应的预设类型的bmc访问命令,执行各预设类型的bmc访问命令的mpi执行器分别对应的数量满足预设条件。
[0171]
可选地,所述判断模块45,用于:
[0172]
获取与不同访问分别对应的参考信息;
[0173]
对于每个访问,对所述访问对应的测试信息和参考信息进行比较匹配;
[0174]
根据各访问分别对应的比较匹配结果,确定所述待测试bmc是否发生异常。
[0175]
可选地,所述判断模块45,用于:
[0176]
若各访问分别对应的比较匹配结果为都不匹配,则确定所述待测试bmc发生宕机;
[0177]
若所述各访问中任一访问对应的比较匹配结果为不匹配,则确定所述任一访问对应的所述待测试bmc中的传感器发生异常。
[0178]
图4所示装置可以执行前述图1至图3所示实施例中提供的控制器测试方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
[0179]
在一个可能的设计中,上述图4所示控制器测试装置的结构可实现为一服务器,如图5所示,该服务器可以包括:处理器91、存储器92。其中,所述存储器92上存储有可执行代码,当所述可执行代码被所述处理器91执行时,使所述处理器91至少可以实现如前述图1至图3所示实施例中提供的控制器测试方法。
[0180]
可选地,该服务器中还可以包括通信接口93,用于与其他设备进行通信。
[0181]
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被服务器的处理器执行时,使所述处理器至少可以实现如前述图1至图3所示实施例中提供的控制器测试方法。
[0182]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0183]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0184]
本发明实施例提供的控制器测试方法可以由某种程序/软件来执行,该程序/软件可以由网络侧提供,前述实施例中提及的服务器可以将该程序/软件下载到本地的非易失性存储介质中,并在其需要执行前述控制器测试方法时,通过cpu将该程序/软件读取到内存中,进而由cpu执行该程序/软件以实现前述实施例中所提供的控制器测试方法,执行过程可以参见前述图1至图3中的示意。
[0185]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献