一种集群系统中数据存储方法与装置制造方法及图纸

技术编号:9007808 阅读:171 留言:0更新日期:2013-08-08 02:47
本发明专利技术公开了一种集群系统中数据的存储方法与装置,所述方法包括:对采集的服务器运行数据进行解析;若解析出的数据是基于IPMI协议采集的数据,根据解析出的服务器标识ID确定对应的初始映射关系表;执行基于IPMI协议采集的数据的转化步骤,以去除数据异构性;建立所有被采集传感器的数值与表字段名之间的目标映射关系表;根据所述目标映射关系表,生成SQL语句将所述采集的服务器运行数据存入数据库。本发明专利技术中,通过设置不同服务器初始映射关系表和建立服务器目标映射关系表的形式去除了数据的异构性,将所有服务器运行数据集中存储,便于数据的统一管理和集群的维护。

【技术实现步骤摘要】

本专利技术涉及集群通信
,更具体的说是涉及一种集群系统中数据存储方法与装置
技术介绍
为了实时获取服务器集群是否正常运行,需要对服务器集群进行监控,对服务器集群进行监控主要包括根据通信协议采集服务器运行数据(是封装的数据,便于传输),存储采集的服务器运行数据,根据存储的服务器运行数据分析集群运行是否正常。其中所述运行数据进一步可以包括状态数据和性能数据,所述状态数据是指一些数值固定的数据,比如CPU型号;所述性能数据可以包括CPU使用率、网络流量使用信息等一些动态变化的数据。在采集服务器运行数据 时,若集群中的服务器型号不同,基于SNMP协议采集的数据具有相同的维度,可以统一存储管理。但是,基于IPMI协议主要通过服务器中传感器采集数据,采集的数据维度一般不同,比如服务器中传感器的名称不同,传感器种类不同,这些会导致采集数据的异构性,数据存储起来较困难。目前互联网公司采用的都是由服务器生产厂商提供的IPMI管理系统,如果组成集群的服务器来自于多个厂商,那么,在对服务器集群监控时就会有多套IPMI管理系统,即不同型号服务器运行数据保存在不同的数据库中。当维护人员要通过所有服务器的运行数据来检测集群的运行状态时,需要在不同的IPMI管理系统之间进行数据的调取和比较,当集群规模较大时,存储的服务器运行数据量较大,使得集群的维护难度较大,效率较低。
技术实现思路
本申请实施例提供一种集群系统中数据存储方法与装置,以解决现有技术中由不同型号服务器构成的集群中,服务器运行数据存在异构性无法统一存储,造成的集群整体的管理维护分散的技术问题,为具有异构性的数据提供一种统一的数据存储方式,将所有型号的服务器运行数据存储在数据库的同一张表中,提高服务器运行数据的集中度和集群整体的维护效率。为解决上述技术问题,本专利技术提供一种集群系统中数据存储方法与装置,本专利技术提供如下技术方案:一种集群系统中数据存储方法,所述方法包括:对采集的服务器运行数据进行解析;若解析出的数据是基于智能平台管理IPMI协议采集的数据,根据解析出的服务器标识ID确定所述服务器对应的初始映射关系表,所述初始映射关系表记录了所述服务器中至少一个传感器名称与表字段名之间的映射关系,不同服务器对应的初始映射表中使用相同的表字段名;执行基于IPMI协议采集的数据转化步骤以去除数据异构性,所述基于IPMI协议采集的数据转化步骤包括:判断解析出的所有被采集传感器的名称在所述初始映射关系表是否都有记录,若是,则根据初始映射关系表建立被采集传感器的数值与表字段名之间的目标映射关系表;若否,在所述初始映射关系表中增加新的表字段名,并建立所述新表字段名与未记录的被采集传感器名称之间的映射关系;执行所述根据初始映射关系表建立被采集传感器的数值与表字段名之间的目标映射关系表的步骤;根据所述目标映射关系表,生成SQL语句将所述基于IPMI协议采集的数据存入数据库。优选的,所述根据解析出的服务器标识ID确定所述服务器对应的初始映射关系表包括:根据所述服务器标识ID以数据库检索的方式确定服务器型号标识;根据所述服务器型号标识确定所述服务器对应的初始映射关系表。优选的,所述初始映射关系表以哈希索引表的方式建立,则根据所述服务器的型号确定所述服务器对应的初始映射表包括:根据服务器型号对应的标识,通过哈希方式查找所述预先存储的初始映射关系表。优选的,所述对采集的服务器运行数据进行解析,包括:根据Epoll方式获取由可读文件描述符组成的队列;从可读文件描述符队列中获取队列头指示的文件描述符;根据所述队列头指示的文件描述符获取服务器运行原始数据,包括:从Socket中读取预设个数的字节,以确定 所述队列头指示的文件描述符描述的服务器运行数据的长度;根据确定的数据长度,从所 述文件描述符描述的文件中读取该长度值的数据;根据预设数据格式从所述长度的数据中读取服务器的原始数据。优选的,若解析出的数据是基于简单网络管理SNMP协议采集的数据,执行基于SNMP协议采集的数据的存储步骤;所述基于SNMP协议采集的数据的存储步骤包括:建立解析出的数据及所述解析出的数据对应的参数名称之间的映射关系表;根据所述映射关系表中的状态数据,通过SQL语句更新所述状态数据在数据库中的值;将所述映射关系表中的性能数据通过SQL语句存入数据库。 优选的,所述数据库为关系型数据库。本专利技术还提供一种集群系统中数据存储装置,其特征在于,所述装置包括:数据解析模块,用于对采集的服务器运行数据进行解析;初始映射表获取模块,用于解析出的数据是基于IPMI协议采集的数据时,根据解析出的服务器标识ID确定所述服务器对应的初始映射关系表,所述初始映射关系表记录了所述服务器中至少一个传感器名称与表字段名之间的映射关系,不同服务器对应的初始映射表中使用相同的表字段名;第一执行模块,用于执行基于IPMI协议采集的数据的转化以去除数据的异构性,所述第一执行模块包括:判断子模块,用于判断所有被采集传感器的名称在所述初始映射关系表是否都有记录;生成子模块,用于所述判断子模块的结果为是时,根据初始映射关系表建立被采集传感器的数值与表字段名之间目标映射关系表;表字段名新增模块,用于所述判断子模块的结果为否时,在所述初始映射关系表中增加新的表字段名,并建立所述新表字段名与未记录的被采集传感器名称之间的映射关系;触发子模块,用于触发所述生成子模块。数据存储模块,用于根据所述目标映射关系表,生成SQL语句将所述基于IPMI协议采集的数据存入数据库。优选的,所述初始映射表获取模块包括:服务器型号标识确定子模块,用于根据解析出的服务器标识ID以数据库检索的方式确定服务器型号标识;初始映射关系表确定子模块,用于根据所述服务器型号标识确定所述服务器对应的初始映射关系表。优选的,所述初始映射关系表以哈希索引表的方式建立,则初始映射关系表确定子模块,具体用于根据服务器型号对应的标识,通过哈希方式查找所述预先存储的初始映射关系表。优选的,所述数据解析模块包括:描述符队列获取子模块,用于根据Epoll方式获取由可读文件描述符组成的队列;描述符读取子模 块,用于从可读文件描述符队列中获取队列头指示的文件描述符;原始数据读取子模块,用于根据所述队列头指示的文件描述符获取服务器运行原始数据具体包括:从Socket中读取预设个数的字节,以确定所述队列头指示的文件描述符描述的服务器运行数据的长度;根据确定的数据长度,从所述文件描述符描述的文件中读取该长度值的数据;根据预设数据格式从所述长度的数据中读取服务器的原始数据。优选的,所述装置还包括:第二执行模块,用于解析出的数据是基于SNMP协议采集的数据时,执行基于SNMP协议采集的数据的存储;所述第二执行模块包括:映射关系表建立子模块,用于解析出的数据是基于SNMP协议采集的数据时,建立解析出的数据及所述数据对应的参数名称之间的映射关系表;状态数据存储子模块,用于根据所述映射关系表中的状态数据,通过SQL语句更新所述状态数据在数据库中的值;性能数据存储子模块,用于将所述映射关系表中的性能数据,通过SQL语句存入数据库。本专利技术的技术方案中,集群中每个服务器都有对应的传感器名称与表字段名之间的初始映射关系表,然后根据所述初始关系映本文档来自技高网...

【技术保护点】
一种集群系统中数据存储方法,其特征在于,所述方法包括:对采集的服务器运行数据进行解析;若解析出的数据是基于智能平台管理IPMI协议采集的数据,根据解析出的服务器标识ID确定所述服务器对应的初始映射关系表,所述初始映射关系表记录了所述服务器中至少一个传感器名称与表字段名之间的映射关系,不同服务器对应的初始映射表中使用相同的表字段名;执行基于IPMI协议采集的数据转化步骤以去除数据异构性,所述基于IPMI协议采集的数据转化步骤包括:判断解析出的所有被采集传感器的名称在所述初始映射关系表是否都有记录,若是,则根据初始映射关系表建立被采集传感器的数值与表字段名之间的目标映射关系表;若否,在所述初始映射关系表中增加新的表字段名,并建立所述新表字段名与未记录的被采集传感器名称之间的映射关系;执行所述根据初始映射关系表建立被采集传感器的数值与表字段名之间的目标映射关系表的步骤;根据所述目标映射关系表,生成SQL语句将所述基于IPMI协议采集的数据存入数据库。

【技术特征摘要】

【专利技术属性】
技术研发人员:周星栾利刚彭毅
申请(专利权)人:北京搜狐新媒体信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1