服务器中传感器数据的获取方法、获取系统和相关装置与流程

文档序号:16276983发布日期:2018-12-14 22:38阅读:646来源:国知局
服务器中传感器数据的获取方法、获取系统和相关装置与流程

本申请涉及服务器领域,特别涉及一种服务器中传感器数据的获取方法、获取系统,一种计算机可读存储介质和一种服务器。

背景技术

随着信息技术的飞速发展,服务器在云计算、大数据以及传统行业得到了广泛深入的应用,而服务器的监控管理系统,即bmc(baseboardmanagementcontroller,基板管理控制器)在服务器的管理、运维、对上层应用提供管理接口方面起到了关键的作用。bmc的核心接口之一是ipmi(intelligentplatformmanagementinterface,智能型平台管理接口),用户通过ipmi命令对服务器实现监控。ipmi中传感器的监控是服务器监控管理的核心监控内容之一,通过监控服务器sensor,可以及时获取cpu温度、电压、风扇等信息,为散热和保证服务器正常运行提供可靠的信息。

然而当下配置监控服务器sensor时需要经过生成代码、编译、重启ipmi服务等复杂的过程,给监控乃至后期的调试和维护带来很大的困难。

因此如何简化实现监控服务器sensor的配置是本领域技术人员亟需解决的问题。

申请内容

本申请的目的是提供一种服务器中传感器数据的获取方法、获取系统,一种计算机可读存储介质和一种服务器,解决现有的服务器sensor配置过程复杂、繁琐的问题

为解决上述技术问题,本申请提供一种服务器中传感器数据的获取方法,具体技术方案如下:

获取所述传感器的访问地址;

当接收到获取请求时根据所述访问地址读取yaml文件;其中所述yaml文件包括所述传感器的参数信息;

调取ipmisensor协议,将所述参数信息按所述ipmisensor协议组成传感器协议格式的传感器数据。

其中,所述参数信息包括所述传感器类型、所述传感器名称、所述传感器的报警阈值、单位、所述传感器的编号和dbus信息。

其中,获取传感器的访问地址包括:

通过物理链路连接传感器并获取所述传感器的访问地址。

其中,调取ipmisensor协议包括:

利用dbus服务接口从bmc的ipmistack模块调取ipmisensor协议。

其中,还包括:

当所述传感器被删除或者新传感器接入时,更新所述yaml文件。

本申请还提供一种服务器中传感器的获取系统,包括:

地址获取模块,用于获取所述传感器的访问地址;

参数读取模块,用于当接收到获取请求时根据所述访问地址读取yaml文件;其中所述yaml文件包括所述传感器的参数信息;

信息获取模块,用于根据所述参数信息调用获取所述传感器的基本信息;

数据合成模块,调取ipmisensor协议,将所述基本信息按所述ipmisensor协议组成传感器协议格式的传感器数据。

其中,所述地址获取模块具体为通过物理链路连接传感器并获取所述传感器的访问地址的地址获取模块。

其中,还包括:

更新模块,用于当所述传感器被删除或者新传感器接入时,更新所述yaml文件。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的获取方法的步骤。

本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的获取方法的步骤。

本申请所提供的一种服务器中传感器数据的获取方法,包括:获取所述传感器的访问地址;当接收到获取请求时根据所述访问地址读取yaml文件;其中所述yaml文件包括所述传感器的参数信息;调取ipmisensor协议,将所述参数信息按所述ipmisensor协议组成传感器协议格式的传感器数据。

本申请通过以yaml文件形式提供传感器的参数信息,利用参数信息获取传感器的基本信息,最后按ipmisensor协议组合基本信息,使得用户可以直接通过ipmi协议访问传感器时bmc可以访问传感器信息,从而在bmc上即可实现服务器中传感器数据的获取,便于进行传感器的监控、维护和调试。本申请还提供一种服务器中传感器的获取系统、一种计算机可读存储介质和一种服务器,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种服务器中传感器数据的获取方法的流程图;

图2为本申请实施例所提供的一种服务器中传感器的获取系统结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种服务器中传感器数据的获取方法的流程图,该获取方法包括:

s101:获取所述传感器的访问地址;

本步骤旨在确定传感器的访问地址。通常是由bmc通过与传感器相连的物理链路确定。这些传感器反应了cpu的温度、服务器中的电压数据、风扇数据,与服务器的正常工作息息相关,一旦发生异常,相关数据将会发生明显变化。本申请中,bmc通过硬件电路与传感器相连时即可确定传感器的访问地址。

s102:当接收到获取请求时根据所述访问地址读取yaml文件;

本步骤旨在说明需要获取传感器信息,以监控服务器的正常运行。当然,这里发送获取请求的主体并非仅仅针对人,还可以是服务器的监控设备。

yaml文件包括所述传感器的参数信息,需要说明的是,本步骤默认之前存在生成yaml文件的步骤。yaml是"yamlain'tamarkuplanguage"(yaml不是一种置标语言)的递归缩写,yaml的意思其实是:"yetanothermarkuplanguage"(仍是一种置标语言)。在此对于参数信息中具体内容不作限定,可以理解的是,其内容应该包括监控用户所需要的信息,例如可以包括传感器类型、所述传感器名称、所述传感器的报警阈值、单位、所述传感器的编号和dbus信息等。

需要说明的是,因服务器中通常存在多个传感器,因此可以存在于传感器数量相同的yaml文件,即每个传感器都存在对应的yaml文件。也可以仅存在一个yaml文件,包括所有的传感器参数信息。

s103:根据所述参数信息调用获取所述传感器的基本信息;

s102中已经获取到传感器的参数信息,本步骤旨在根据参数信息获取对应的传感器基本信息,也就是传感器的实时信息。

需要说明的是,在读取传感器基本信息时,通常并非由bmc直接读取,而是利用硬件监控模块进行读取。这个硬件监控模块并非硬件模块,而是一个软件模块,其对bmc可以提供dbus服务接口,dbus是一种低延迟、低开销、高可用性的进程间通信机制。dbus服务接口也并非指的是硬件接口,而是函数接口。当接收到获取请求时,即可实现由硬件监控模块读取传感器。

s104:调取ipmisensor协议,将所述基本信息按所述ipmisensor协议组成传感器协议格式的传感器数据。

本步骤的重点是将参数信息按ipmisensor协议组合符成合传感器协议格式的传感器数据。具体的,需要先调取ipmisensor协议,通常可以利用dbus服务接口从bmc的ipmistack模块调取ipmisensor协议。

当调取得到ipmisensor协议后,即可将传感器的基本信息按ipmisensor协议组合,得到传感器协议格式的传感器数据。此时用户即可利用ipmi得到服务器中传感器的数据。

本申请通过以yaml文件形式提供传感器的参数信息,利用参数信息获取传感器的基本信息,最后按ipmisensor协议组合基本信息,使得用户可以直接通过ipmi协议访问传感器时bmc可以访问传感器信息,从而在bmc上即可实现服务器中传感器数据的获取,便于进行传感器的监控、维护和调试。

以下以温度传感器为例,左侧为传感器的参数信息,右侧为传感器的基本信息,而用户最终即可得到如下所示的数据。

基于上述实施例,作为优选的实施例,该获取方法还可以包括:

当所述传感器被删除或者新传感器接入时,更新所述yaml文件。

本实施例旨在说明一旦存在传感器从服务器被删除或服务器接入新的传感器时,更新yaml文件。同时,对应的上一实施例s102中则相应的需要再次读取yaml(只要之前存在获取请求即可,无论此时有没有获取请求),并重复s103和s104,最终将更新后的传感器数据发送至获取请求的主体。本实施例表明可以动态读取yaml文件,并动态更新传感器数据。避免了每次添加和删除传感器时的代码生成、编写、编译以及重启ipmi服务等复杂的过程,简单高效且不易出错,极大提高了ipmi传感器的开发调试效率。

下面对本申请实施例提供的一种服务器中传感器的获取系统进行介绍,下文描述的获取系统与上文描述的获取方法可相互对应参照。

参见图2,图2为本申请实施例所提供的一种服务器中传感器的获取系统结构示意图,该获取系统包括:

地址获取模块100,用于获取所述传感器的访问地址;

参数读取模块200,用于当接收到获取请求时根据所述访问地址读取yaml文件;其中所述yaml文件包括所述传感器的参数信息;

信息获取模块300,用于根据所述参数信息调用获取所述传感器的基本信息;

数据合成模块400,调取ipmisensor协议,将所述基本信息按所述ipmisensor协议组成传感器协议格式的传感器数据,以便根据所述传感器数据对所述传感器进行监控。

基于上述实施例,作为优选的实施例,所述地址获取模块100具体为通过物理链路连接传感器并获取所述传感器的访问地址的地址获取模块100。

基于上述实施例,作为优选的实施例,所述数据合成模块400可以包括:

调取单元,用于利用dbus服务接口从bmc的ipmistack模块调取ipmisensor协议。

基于上述实施例,作为优选的实施例,该获取系统还可以包括:

更新模块,用于当所述传感器被删除或者新传感器接入时,更新所述yaml文件。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1