一种存储底层信息查询方法、介质、设备及系统与流程

文档序号:24184872发布日期:2021-03-09 13:25阅读:131来源:国知局
一种存储底层信息查询方法、介质、设备及系统与流程

1.本发明涉及查询方法领域,特别是涉及一种存储底层信息查询方法、介质、设备及系统。


背景技术:

2.存储测试过程中底层固件需要对设备的cpu、主板、风扇、bbu等部件的在位信息、状态信息、功耗信息、温度信息、状态灯的颜色等等信息进行全覆盖的测试,并且有些数据需要实时监控测试。
3.目前常用的查询存储底层部件信息的途径是使用测试仪器直接测量或ipmitool工具远程查询。
4.目前使用测试仪器获取存储底层信息非常耗时,测试步骤也很繁杂;另外ipmitool查询命令得到的结果是一串16进制数字队列,用户如果要查询某一字段的值需要一个一个字节的数,非常耗时,而且在比对的时候很容易出错,十分不方便测试查看,同时也不具备查询结果的自动比对校验功能。


技术实现要素:

5.本发明主要解决的技术问题是提供一种存储底层信息查询方法、介质、设备及系统,能够通过自定义变量将ipmitool命令进行区分,根据不同的自定义变量进行解释查询出的ipmitool命令16进制,将结果清晰的展示出来,并且将查询出的此次日志与上次日志进行对比将差异数据提炼出来,节省了测试时间,并提高了测试数据的准确性。
6.为解决上述技术问题,本发明采用的一个技术方案是:提供一种存储底层信息查询方法,包括:
7.定义若干种变量,每种变量用于存储一种ipmitool命令;
8.定义第一日志文件,第一日志文件存储历史ipmitool命令查询结果;
9.进入主程序,获取若干种变量中变量之间的对应关系;
10.读取变量的字段位数,变量的字段位数为当前ipmitool命令返回值第一个字段的长度;
11.根据变量的字段位数,输出ipmitool命令查询结果;
12.将输出的ipmitool命令查询结果存储到日志文件中;
13.将所述日志文件中ipmitool命令查询结果与所述第一日志文件中历史ipmitool命令查询结果对比,并将有差异的信息存储至比较日志文件中。
14.进一步,进入主程序前,在ipmitool中输入ipmitool命令,并进行判断,若输入的ipmitool命令不是“全部”命令,则进入第一模式,并将ipmitool命令返回值保存到日志文件中;若输入的ipmitool命令是“全部”命令,则进入第二模式。
15.进一步,所述若干种变量包括第一变量、第二变量、第三变量和第四变量;
16.所述第一变量为存储ipmitool命令的变量;
17.所述第二变量为存储ipmitool命令返回的16进制数字队列的变量;
18.所述第三变量为存储ipmitool命令返回值的每一字段位数的变量;
19.所述第四变量为存储ipmitool命令返回值每一字段定义和解释的变量。
20.进一步,进入第一模式后,所述第一变量中存储有若干个ipmitool命令;将输入的ipmitool命令与所述第一变量中若干个ipmitool命令逐一进行匹配;匹配成功后进入主程序;
21.进入第二模式后,循环遍历第一变量中所有的ipmitool命令,循环遍历后进入主程序。
22.进一步,所述根据变量的字段位数,输出ipmitool命令查询结果包括:
23.若变量的字段位数为1,则当前ipmitool命令返回值第一个字段的长度为1,输出第一结果;
24.若变量的字段位数为2,则当前ipmitool命令返回值第一个字段的长度为2,输出第二结果;
25.若变量的字段位数为3,则当前ipmitool命令返回值第一个字段的长度为3,输出第三结果;
26.进一步,所述第一结果为当字段位数为1时,输出的信息为第一变量中字段位数为1的ipmitool命令返回的16进制数字队列,字段位数1和第四变量中字段位数为1的ipmitool命令返回值的定义和解释;
27.所述第二结果为当字段位数为2时,输出的信息为第一变量中字段位数为1和字段位数为2的ipmitool命令返回的16进制数字队列,字段位数2和第四变量中字段位数为2的ipmitool命令返回值的定义和解释;
28.所述第三结果为当字段位数为3时,输出的信息为第一变量中字段位数为1、字段位数为2和字段位数为3的ipmitool命令返回的16进制数字队列,字段位数3和第四变量中字段位数为3的ipmitool命令返回值的定义和解释。
29.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述任一项所述的一种存储底层信息查询方法。
30.一种电子设备,包括处理器、存储器以及程序,所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行上述任一项所述的一种存储底层信息查询方法。
31.一种存储底层信息查询系统,包括:变量模块、判断模块、执行模块、对比模块和存储模块;
32.所述变量模块定义变量,并使用变量存储ipmitool命令;
33.所述判断模块判断所述变量模块中变量存储的ipmitool命令是否为“全部”命令;若为“全部”命令,则进入执行模块,若不为“全部”命令,则循环遍历全部变量存储的ipmitool命令,循环遍历后进入执行模块;
34.所述执行模块获取所述变量模块中对应的变量,并根据对应的变量执行输出ipmitool命令查询结果并存储至存储模块中;
35.所述对比模块将执行模块输出的ipmitool命令查询结果与历史ipmitool命令查询结果进行对比,将有差异的信息存储至存储模块中;
36.所述存储模块存储所述执行模块输出的ipmitool命令查询结果和所述对比模块中有差异的信息。
37.本发明的有益效果是:本发明能够返回ipmitool命令的查询结果,将结果清晰的展示出来,避免了用户查询文档看错定义表的失误,提升了测试效率和测试质量;同时自动的完成测试结果与上一版本结果的对比,将差异数据提炼出来,节省了测试时间,并提高了测试数据的准确性。
附图说明
38.图1是本发明一种存储底层信息查询方法一较佳实施例的流程图;
39.图2是本发明一种存储底层信息查询系统架构示意图。
具体实施方式
40.下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
41.本发明实施例包括:
42.见图1,一种存储底层信息查询方法,包括:
43.定义第一变量arraycommendx、第二变量arraycodex、第三变量arraynumx和第四变量arraydefx,四个变量,用于存储ipmitool各种命令;
44.arraycommendx为存储ipmitool命令的变量;
45.arraycodex为存储ipmitool命令返回的16进制数字队列的变量;
46.arraynumx为存储ipmitool命令返回值的每一字段位数的变量;
47.arraydefx为存储ipmitool命令返回值每一字段的定义和解释的变量。
48.其中,x为变量,每个x对应一组变量,例如arraycommend1,arraycode1,arraynum1,arraydef1,为一组;
49.另外arraynumx中每一字段的位数分别使用1、2、3代替int8u、int16u、int8u*3。
50.定义第一日志文件,第一日志文件ipmitool1.log存储历史ipmitool命令查询结果。
51.在ipmitool输入ipmitool命令,并进行判断,若输入的ipmitool命令不是“all”,则进入第一模式,并将ipmitool命令返回值并保存到ipmitool2.log文件中;若输入的ipmitool命令是“all”,则进入第二模式;
52.进入第二模式后,循环遍历arraycommendx中所有的ipmitool命令;循环遍历后进入主程序;
53.进入第一模式后,将输入的ipmitool命令与arraycommendx逐一进行匹配,arraycommendx存储了若干个ipmitool命令;匹配成功后进入主程序;
54.进入主程序,根据当前ipmitoolcommendx的x的数组获取对应的arraycodex、arraynumx、arraydefx的数值;
55.读取对应的arraynumx中的字段位数,arraynumx中的字段位数代表了当前ipmitool命令返回值第一个字段的长度;
56.若arraynumx中的字段位数为1,则当前ipmitool命令返回值第一个字段的长度为
1,则输出arraycode1,arraynum1,arraydef1;
57.即当字段位数为1时,输出变量为arraycode1的ipmitool命令返回的16进制数字队列,字段位数1和输出变量为arraydef1的ipmitool命令返回值字段的定义和解释;
58.若arraynumx中的字段位数为2,则当前ipmitool命令返回值第一个字段的长度为2,则输出arraycode1,arraycode2,arraynum2,arraydef2;
59.即当字段位数为2时,输出变量为arraycode1和arraycode2的ipmitool命令返回的16进制数字队列,字段位数2和输出变量为arraydef2的ipmitool命令返回值字段的定义和解释;
60.若arraynumx中的字段位数为3,则当前ipmitool命令返回值第一个字段的长度为3,则输出arraycode1,arraycode2,arraycode3,arraynum3,arraydef3;
61.即当字段位数为3时,输出变量为arraycode1、arraycode2和arraycode3的ipmitool命令返回的16进制数字队列,字段位数3和输出变量为arraydef3的ipmitool命令返回值字段的定义和解释;
62.将输出的结果存储到ipmitool2.log文件中;
63.将ipmitool2.log文件中的结果与第一日志文件ipmitool1.log文件中的结果进行对比,并将有差异的信息存储至ipmicompare.log文件中。
64.ipmitool是一种可用在linux系统下的命令行方式的ipmi平台管理工具,通过它可以实现获取传感器的信息、显示系统日志内容、网络远程开关机等功能。
65.一种电子设备,包括:处理器、存储器以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行一种存储底层信息查询方法。
66.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行一种存储底层信息查询方法。
67.见图2,基于与前述实施例中一种存储底层信息查询方法同样的发明构思,本说明书实施例还提供一种存储底层信息查询系统,包括:变量模块、判断模块、执行模块、对比模块和存储模块;
68.变量模块定义变量,并使用变量存储ipmitool命令;
69.判断模块判断变量模块中变量存储的ipmitool命令是否为“all”;若为“all”,则进入执行模块,若不为“all”,则循环遍历全部变量存储的ipmitool命令,,循环遍历后进入执行模块;
70.执行模块获取变量模块中对应的变量,并根据对应的变量执行输出ipmitool命令查询结果并存储至存储模块中;
71.对比模块将执行模块输出的ipmitool命令查询结果与历史ipmitool命令查询结果进行对比,将有差异的信息存储至存储模块中;
72.存储模块存储执行模块输出的pmitool命令查询结果和对比模块中有差异的信息。
73.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1