一种snmp温度信息验证方法、系统、终端及存储介质
专利摘要:本发明提供一种SNMP温度信息验证方法、系统、终端及存储介质,包括:初始化SNMP用户和代理,配置SNMP参数;调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。本发明能够自动对SNMP温度信息进行验证,测试方法简便,测试过程实时生成测试日志便于对测试数据追踪,使测试操作由传统的手动操作变为自动操作,推广运用后将会大大节省人力测试成本,提升部门产能运作。
专利说明:
一种SNMP温度信息验证方法、系统、终端及存储介质
[0001] 技术领域
[0002] 本发明涉及服务器测试技术领域,具体涉及一种SNMP温度信息验证方法、系统、终端及存储介质。
[0003] 背景技术
[0004] BMC是服务器上一个独立的系统,它不依赖于系统上的其它硬件,但是BMC可以与BIOS和OS交互,起到更好的对服务器的监控和管理作用。BMC平台的用户也分多种权限,每一种权限对应的可对服务器的操作不同,对不同的用户权限的测试任务繁复,耗时耗力,还非常容易出错,且整个过程中没有log,多项目之间权限不同测试结果也不尽相同。
[0005] 简单网络管理协议(SNMP)是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。因此SNMP功能测试是服务器测试的一个重要测试,需要对SNMP监控的服务器参数值的准确性进行测试。目前SNMP功能测试还停留在人工操作,手动使用SNMP协议获取传感器温度信息,操作较为繁琐,且由于信息数量极多,极为难验证其信息的正确性。
[0006] 发明内容
[0007] 针对现有技术的上述不足,本发明提供一种SNMP温度信息验证方法、系统、终端及存储介质,以解决上述技术问题。
[0008] 第一方面,本发明提供一种SNMP温度信息验证方法,包括:
[0009] 初始化SNMP用户和代理,配置SNMP参数;
[0010] 调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
[0011] 调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
[0012] 将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0013] 进一步的,所述调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组,包括:
[0014] 读取服务器所有温度传感器的温度值;
[0015] 读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0016] 进一步的,所述调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组,包括:
[0017] 将所需获取信息的服务器模块的名称存入数组;
[0018] 根据所述模块名称访问温度传感器,采集相应温度值;
[0019] 读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0020] 进一步的,所述将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0021] 确认第一比对参数组与第二比对参数组的参数项数量一致;
[0022] 判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致:
[0023] 是,则判定服务器SNMP温度信息通过验证;
[0024] 否,则判定服务器SNMP温度信息未通过验证,并输出错误提示。
[0025] 第二方面,本发明提供一种SNMP温度信息验证系统,包括:
[0026] 初始配置单元,配置用于初始化SNMP用户和代理,配置SNMP参数;
[0027] 第一获取单元,配置用于调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
[0028] 第二获取单元,配置用于调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
[0029] 参数比对单元,配置用于将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0030] 进一步的,所述第一获取单元包括:
[0031] 第一温度读取模块,配置用于读取服务器所有温度传感器的温度值;
[0032] 第一参数读取模块,配置用于读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0033] 进一步的,所述第二获取单元包括:
[0034] 采集对象设置模块,配置用于将所需获取信息的服务器模块的名称存入数组;
[0035] 第二温度获取模块,配置用于根据所述模块名称访问温度传感器,采集相应温度值;
[0036] 第二参数获取模块,配置用于读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0037] 进一步的,所述参数比对单元包括:
[0038] 数量比对模块,配置用于确认第一比对参数组与第二比对参数组的参数项数量一致;
[0039] 数值比对模块,配置用于判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致;
[0040] 通过判定模块,配置用于判定服务器SNMP温度信息通过验证;
[0041] 错误提示模块,配置用于判定服务器SNMP温度信息未通过验证,并输出错误提示。
[0042] 第三方面,提供一种终端,包括:
[0043] 处理器、存储器,其中,
[0044] 该存储器用于存储计算机程序,
[0045] 该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
[0046] 第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0047] 本发明的有益效果在于,
[0048] 本发明提供的SNMP温度信息验证方法、系统、终端及存储介质,通过预先设置配置文件,并利用脚本调用snmp4j和ipmitool得到两组温度参数组,对两组温度参数组进行对比,对比结果一致则判定SNMP温度信息验证通过。本发明能够自动对SNMP温度信息进行验证,测试方法简便,测试过程实时生成测试日志便于对测试数据追踪,使测试操作由传统的手动操作变为自动操作,推广运用后将会大大节省人力测试成本,提升部门产能运作。
[0049] 此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
[0050] 附图说明
[0051] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052] 图1是本发明一个实施例的方法的示意性流程图。
[0053] 图2是本发明一个实施例的系统的示意性框图。
[0054] 图3为本发明实施例提供的一种终端的结构示意图。
[0055] 具体实施方式
[0056] 为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0057] 下面对本发明中出现的关键术语进行解释。
[0058] 图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种SNMP温度信息验证系统。
[0059] 如图1所示,该方法100包括:
[0060] 步骤110,初始化SNMP用户和代理,配置SNMP参数;
[0061] 步骤120,调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
[0062] 步骤130,调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
[0063] 步骤140,将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0064] 可选地,作为本发明一个实施例,所述调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组,包括:
[0065] 读取服务器所有温度传感器的温度值;
[0066] 读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0067] 可选地,作为本发明一个实施例,所述调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组,包括:
[0068] 将所需获取信息的服务器模块的名称存入数组;
[0069] 根据所述模块名称访问温度传感器,采集相应温度值;
[0070] 读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0071] 可选地,作为本发明一个实施例,所述将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0072] 确认第一比对参数组与第二比对参数组的参数项数量一致;
[0073] 判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致:
[0074] 是,则判定服务器SNMP温度信息通过验证;
[0075] 否,则判定服务器SNMP温度信息未通过验证,并输出错误提示。
[0076] 为了便于对本发明的理解,下面以本发明SNMP温度信息验证方法的原理,结合实施例中对SNMP温度信息进行验证的过程,对本发明提供的SNMP温度信息验证方法做进一步的描述。
[0077] 具体的,所述SNMP温度信息验证方法包括:
[0078] S1、初始化SNMP用户和代理,配置SNMP参数。
[0079] 引入测试所需的插件后,初始化SNMP用户和代理,协议选择v3版本,用户名为sysadmin,认证协议选择MD5密码为rootuser,加密协议选择DES密码为rootuser,实现方法如下:
[0080]

[0081]

[0082] 函数代码:
[0083]

[0084] S2、调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组。
[0085] 调用snmp4j方法获取所有传感器温度包括传感器个数,名称,状态,读值,不可逆低阈,严重低阈,非严重低阈,非严重高阈,严重高阈,不可逆高阈的信息。温度传感器根节点oid为1.3.6.1.4.1.37945.2.1.2.1.1。具体实现方法如下:
[0086]

[0087] S3、调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组。
[0088] 调用ipmitool带外指令获取传感器温度信息包括传感器个数,名称,状态,读值,不可逆低阈,严重低阈,非严重低阈,非严重高阈,严重高阈,不可逆高阈的信息。ipmitool-I lanplus-H BMCIP-U用户名-P密码sensor list|grep-i degress。具体实现方法如下:
[0089]

[0090]

[0091] S4、将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0092] 首先对两组数据的参数项数量进行对比,在参数项数量一致后再对两组数据的相同参数项的参数值进行比对,比对结果为一致后,判定验证通过。若两组参数数据的参数项数量不一致,则不进行参数值比对,直接输出错误提示。若参数值比对不一致,则返回错误提示和不一致的参数值信息,便于测试人员查找错误。具体实施方法如下:
[0093]

[0094]

[0095]

[0096]

[0097]

[0098]

[0099] 如图2示,该系统200包括:
[0100] 初始配置单元210,配置用于初始化SNMP用户和代理,配置SNMP参数;
[0101] 第一获取单元220,配置用于调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
[0102] 第二获取单元230,配置用于调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
[0103] 参数比对单元240,配置用于将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
[0104] 可选地,作为本发明一个实施例,所述第一获取单元包括:
[0105] 第一温度读取模块,配置用于读取服务器所有温度传感器的温度值;
[0106] 第一参数读取模块,配置用于读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0107] 可选地,作为本发明一个实施例,所述第二获取单元包括:
[0108] 采集对象设置模块,配置用于将所需获取信息的服务器模块的名称存入数组;
[0109] 第二温度获取模块,配置用于根据所述模块名称访问温度传感器,采集相应温度值;
[0110] 第二参数获取模块,配置用于读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
[0111] 可选地,作为本发明一个实施例,所述参数比对单元包括:
[0112] 数量比对模块,配置用于确认第一比对参数组与第二比对参数组的参数项数量一致;
[0113] 数值比对模块,配置用于判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致;
[0114] 通过判定模块,配置用于判定服务器SNMP温度信息通过验证;
[0115] 错误提示模块,配置用于判定服务器SNMP温度信息未通过验证,并输出错误提示。
[0116] 图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的SNMP温度信息验证方法。
[0117] 其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0118] 其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
[0119] 处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
[0120] 通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
[0121] 本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
[0122] 因此,本发明通过预先设置配置文件,并利用脚本调用snmp4j和ipmitool得到两组温度参数组,对两组温度参数组进行对比,对比结果一致则判定SNMP温度信息验证通过。本发明能够自动对SNMP温度信息进行验证,测试方法简便,测试过程实时生成测试日志便于对测试数据追踪,使该功能模块的操作由传统的手动操作变为自动操作,推广运用后将会大大节省人力测试成本,提升部门产能运作,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
[0123] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
[0124] 本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0125] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0126] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0127] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0128] 尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求:1.一种SNMP温度信息验证方法,其特征在于,包括:
初始化SNMP用户和代理,配置SNMP参数;
调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
2.根据权利要求1所述的方法,其特征在于,所述调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组,包括:
读取服务器所有温度传感器的温度值;
读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
3.根据权利要求1所述的方法,其特征在于,所述调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组,包括:
将所需获取信息的服务器模块的名称存入数组;
根据所述模块名称访问温度传感器,采集相应温度值;
读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
确认第一比对参数组与第二比对参数组的参数项数量一致;
判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致:
是,则判定服务器SNMP温度信息通过验证;
否,则判定服务器SNMP温度信息未通过验证,并输出错误提示。
5.一种SNMP温度信息验证系统,其特征在于,包括:
初始配置单元,配置用于初始化SNMP用户和代理,配置SNMP参数;
第一获取单元,配置用于调用snmp4j获取温度传感器温度参数,将获取的温度参数标记为第一比对参数组;
第二获取单元,配置用于调用ipmitool带外指令获取温度传感器温度参数,将获取的温度参数标记为第二比对参数组;
参数比对单元,配置用于将所述第一比对参数组和所述第二比对参数组进行比对,在确认比对结果为一致后,判定验证通过。
6.根据权利要求5所述的系统,其特征在于,所述第一获取单元包括:
第一温度读取模块,配置用于读取服务器所有温度传感器的温度值;
第一参数读取模块,配置用于读取服务器温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
7.根据权利要求5所述的系统,其特征在于,所述第二获取单元包括:
采集对象设置模块,配置用于将所需获取信息的服务器模块的名称存入数组;
第二温度获取模块,配置用于根据所述模块名称访问温度传感器,采集相应温度值;
第二参数获取模块,配置用于读取服务器模块的温度传感器个数、传感器名称、传感器状态、以及温度传感器的不可逆低阈、严重低阈、非严重低阈、非严重高阈、严重高阈、不可逆高阈。
8.根据权利要求5所述的系统,其特征在于,所述参数比对单元包括:
数量比对模块,配置用于确认第一比对参数组与第二比对参数组的参数项数量一致;
数值比对模块,配置用于判断第一比对参数组与第二比对参数组的相同参数项的参数值是否一致;
通过判定模块,配置用于判定服务器SNMP温度信息通过验证;
错误提示模块,配置用于判定服务器SNMP温度信息未通过验证,并输出错误提示。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
公开号:CN110597683
申请号:CN201910656745.6A
发明人:刘帅 魏文华
申请人:苏州浪潮智能科技有限公司
申请日:2019-07-19
公开日:2019-12-20