发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于IPMI协议的通用日志管理方法及系统,该方法简化了添加日志的步骤,借助事件日志信息表提供良好的可扩展性,大大提高了开发人员工作效率。
为达到以上目的,本发明采取的技术方案是:
一种基于IPMI协议的通用日志管理方法,所述方法包括以下步骤:
在原有的OEM事件类型中,新增一自定义事件类型;创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;对SEL数据的空闲字节进行构造,用于存储事件描述信息,所述SEL数据中至少包括OEM事件类型;
当解析到带有自定义事件类型的SEL数据时,遍历所述事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
所述将事件描述信息写入SEL数据中,包括以下步骤:
创建自定义传感器,在SDR信息表中定义所述自定义传感器,用于新增事件描述信息;
通过自定义传感器将事件描述信息写入SEL数据中;
所述方法还包括读取SEL数据的步骤,包括以下步骤:
遍历所述事件日志信息表,根据SEL数据寻找对应的事件描述信息,并根据所述事件ID的事件描述信息以及SEL数据,获得可读字符串。
本发明实施例中,在OEM事件类型中,新增一个新的自定义事件类型,其用于在后期针对需要采用本管理方法处理的SEL数据进行标记;
建立事件日志信息表,主要利用事件日志信息表存储事件描述信息,并将各事件描述信息与其对应的事件ID联系起来,在需要时,可通过其信息表索引对事件描述信息进行检索,而信息表索引为事件ID;
对SEL数据的构造进行改造,通常情况下,SEL数据存在一些空闲字节,在本发明实施例中,将其用于存储事件描述信息;
在上述预设的步骤完成后,则正是开始管理方法的管理操作步骤,当解析到带有自定义事件类型相同的SEL数据时,遍历所述事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
本方法简化了添加日志的步骤,还借助事件日志信息表提供良好的可扩展性,大大提高了开发人员工作效率。
在上述技术方案的基础上,所述对SEL数据的空闲字节进行构造中,具体包括:
将所述SEL数据的第14、15以及16字节作为自定义存储字节,所述自定义存储字节用于存储所述事件描述信息。
在上述技术方案的基础上,所述将事件描述信息写入SEL数据中,具体过程为:创建自定义传感器,用于新增事件描述信息;通过自定义传感器将事件描述信息写入SEL数据中。
所述自定义事件类型为十六进制的数据,其取值范围为0x70~0X7F。
在上述技术方案的基础上,所述自定义事件类型适用于OEM协议中的SEL数据,且其取值不与以后的OEM协议中原有的事件类型重复。
本发明还提供一种基于IPMI协议的通用日志管理系统,所述系统包括:
创建单元,其用于:在原有的OEM事件类型中,新增一自定义事件类型;创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;对SEL数据的空闲字节进行构造,用于存储事件描述信息,所述SEL数据中至少包括OEM事件类型;
逻辑处理单元,其用于:当解析到带有自定义事件类型的SEL数据时,遍历所述事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
读取单元,其用于遍历所述事件日志信息表,根据SEL数据寻找对应的事件描述信息,并根据所述事件ID的事件描述信息以及SEL数据,获得可读字符串;
所述逻辑处理单元还用于创建用于新增事件描述信息的自定义传感器,在SDR信息表中定义所述自定义传感器,通过自定义传感器将事件描述信息写入SEL数据中。
在上述技术方案的基础上,所述自定义事件类型为十六进制的数据,其取值范围为0x70~0X7F。
在上述技术方案的基础上,所述自定义事件类型适用于OEM协议中的SEL数据,且其取值不与以后的OEM协议中原有的事件类型重复。
与现有技术相比,本发明的优点在于:
(1)简化了添加日志的步骤,还借助事件日志信息表提供良好的可扩展性,大大提高了开发人员工作效率。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
实施例1
如图1所示,本发明实施例1提供一种基于IPMI协议的通用日志管理方法,该方法包括以下步骤:
步骤S1、在原有的OEM事件类型中,新增一自定义事件类型;
步骤S2、创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;
步骤S3、对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
步骤S4、当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
本发明实施例中,在OEM事件类型中,新增一个新的自定义事件类型ID,其用于在后期针对需要采用本管理方法处理的SEL数据进行标记;
建立事件日志信息表,主要利用事件日志信息表存储事件描述信息,并将各事件描述信息与其对应的事件ID联系起来,在需要时,可通过其信息表索引对事件描述信息进行检索,而信息表索引为事件ID;
对SEL数据的构造进行改造,通常情况下,SEL数据存在一些空闲字节,在本发明实施例中,将其用于存储事件描述信息;
在上述预设的步骤完成后,则正是开始管理方法的管理操作步骤,当解析到带有自定义事件类型相同的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
本方法简化了添加日志的步骤,还借助事件日志信息表提供良好的可扩展性,大大提高了开发人员工作效率。
需要说明的是,BMC为Baseboard Management Controller,即主板管理控制器;
IPMI为Intelligent Platform Management Interface,即智能平台管理接口;
SEL为System event log,即系统事件日志;
OEM在IPMI标准表示可有厂商自定义的部分,而OEM事件类型,则为厂商自定义的一些事件类型,而本申请则在此基础上,新增一自定义的事件类型用于标记。
需要说明的是,本发明实施例中,步骤S3,所述对SEL数据的空闲字节进行构造中,具体包括:
将所述SEL数据的第14、15以及16字节作为自定义存储字节,所述自定义存储字节用于存储所述事件描述信息;
需要说明的是,所述SEL数据的第14、15以及16字节具体可以定义为Event-Data1、Event-Data2以及Event-Data3,而由于ipmi标准协议规定了响应的字段格式,故而Event-Data1里面的[7:6]和[5:4]是无法使用的,本发明实施例将其分别设置为11b,所以我们实际可以使用Event-Data1的[3:0]以及Event-Data2、Event-Data3共20bit保存事件ID,故而需要将第14、15以及16字节一起作为自定义存储字节。
实施例2
本发明实施例2提供一种基于IPMI协议的通用日志管理方法,该方法包括以下步骤:
步骤S1、在原有的OEM事件类型中,新增一自定义事件类型;
步骤S2、创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;
步骤S3、对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
步骤S4、当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中。
本发明实施例中,该方法还包括读取SEL数据的步骤:遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,并根据事件ID的事件描述信息以及SEL数据,获得可读字符串;
本发明实施例中,此步骤是在对通用日志进行管理的同时,对其进行阅读的步骤,首先通过事件ID,在事件日志信息表中进行定位,寻找到与事件ID对应的事件描述信息;
然后再根据事件描述信息以及SEL数据,将事件描述信息结合SEL数据,生成可读字符串,便于工作人员进行阅读。
实施例3
本发明实施例提供一种基于IPMI协议的通用日志管理方法,该方法包括以下步骤:
步骤S1、在原有的OEM事件类型中,新增一自定义事件类型;
步骤S2、创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;
步骤S3、对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
步骤S4、当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中。
本发明实施例中,将事件描述信息写入SEL数据中,具体过程为:创建自定义传感器,用于新增事件描述信息;通过自定义传感器将事件描述信息写入SEL数据中;
而创建自定义传感器的方式,可以是在SDR信息表中增加与自定义传感器相关的定义;
自定义传感器的相关数据在SDR信息表中定义,BMC工作时收集各传感器的数据放入SEL存储;
通过IPMI传感器模型提供了对受监视信息(如温度和电压、风扇状态等)的访问;
不提供对监视硬件的直接访问,IPMI通过抽象的传感器命令(如"获取传感器读取"命令)提供访问,通过管理控制器实现;
此方法将软件与平台管理硬件实现中的更改隔离开来,自定义传感器根据它们提供的读数类型和/或它们生成的事件类型进行分类,自定义传感器可以返回模拟或离散读数,而传感器事件可以是离散的或基于阈值的,不同的事件类型、传感器类型和受监视的实体使用IPMI规范中定义的数字代码表示,而IPMI能够避免依赖字符串来管理信息。
需要说明的是,SDR为Sensor Data Record,SDR信息表至少包括以下信息:拥有者ID(OwerID),逻辑单元号(LUN),传感器号(SENSOR_NUM),实体ID(EntityID),实体序号(EntityInst),传感器类型(SensorType),模拟值类型(Analog),事件类型(eventType),线性信息(Linearization);
BMC为Baseboard Management Controller,即主板管理控制器;
IPMI为Intelligent Platform Management Interface,即智能平台管理接口;
SEL为System event log,即系统事件日志;
OEM在IPMI标准表示可有厂商自定义的部分,而OEM事件类型,则为厂商自定义的一些事件类型,而本申请则在此基础上,新增一自定义的事件类型用于标记。
本发明实施例中,自定义事件类型为十六进制的数据,其取值范围为0x70~0X7F。
本发明实施例中,自定义事件类型适用于OEM协议中的SEL数据,且其取值不与以后的OEM协议中原有的事件类型重复。
实施例4
参见图2所示,本发明实施例提供一种基于IPMI协议的通用日志管理系统,系统包括:
创建单元1,其用于:在原有的OEM事件类型中,新增一自定义事件类型;创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
逻辑处理单元2,其用于:当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中。
本发明实施例中,在OEM事件类型中,新增一个新的自定义事件类型ID,其用于在后期针对需要采用本管理方法处理的SEL数据进行标记;
建立事件日志信息表,主要利用事件日志信息表存储事件描述信息,并将各事件描述信息与其对应的事件ID联系起来,在需要时,可通过其信息表索引对事件描述信息进行检索,而信息表索引为事件ID;
对SEL数据的构造进行改造,通常情况下,SEL数据存在一些空闲字节,在本发明实施例中,将其用于存储事件描述信息;
在上述预设的步骤完成后,则正是开始管理方法的管理操作步骤,当解析到带有自定义事件类型相同的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中;
本方法简化了添加日志的步骤,还借助事件日志信息表提供良好的可扩展性,大大提高了开发人员工作效率。
需要说明的是,BMC为Baseboard Management Controller,即主板管理控制器;
IPMI为Intelligent Platform Management Interface,即智能平台管理接口;
SEL为System event log,即系统事件日志;
OEM在IPMI标准表示可有厂商自定义的部分,而OEM事件类型,则为厂商自定义的一些事件类型,而本申请则在此基础上,新增一自定义的事件类型用于标记;
需要说明的是,所述SEL数据的第14、15以及16字节具体可以定义为Event-Data1、Event-Data2以及Event-Data3,而由于ipmi标准协议规定了响应的字段格式,故而Event-Data1里面的[7:6]和[5:4]是无法使用的,本发明实施例将其分别设置为11b,所以我们实际可以使用Event-Data1的[3:0]以及Event-Data2、Event-Data3共20bit保存事件ID,故而需要将第14、15以及16字节一起作为自定义存储字节。
实施例5
参见图3所示,本发明实施例提供一种基于IPMI协议的通用日志管理系统,系统包括:
创建单元1,其用于:在原有的OEM事件类型中,新增一自定义事件类型;创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
逻辑处理单元2,其用于:当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中。
该系统还包括读取单元3,其用于:遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,并根据事件ID的事件描述信息以及SEL数据,获得可读字符串;
本发明实施例中,此步骤是在对通用日志进行管理的同时,对其进行阅读的步骤,首先通过事件ID,在事件日志信息表中进行定位,寻找到与事件ID对应的事件描述信息;
然后再根据事件描述信息以及SEL数据,将事件描述信息结合SEL数据,生成可读字符串,便于工作人员进行阅读。
实施例6
本发明实施例提供一种基于IPMI协议的通用日志管理系统,在实施例4的基础上,系统包括:
创建单元1,其用于:在原有的OEM事件类型中,新增一自定义事件类型;创建事件日志信息表,其用于记录与事件ID相关的事件描述信息,其信息表索引为事件ID;对SEL数据的空闲字节进行构造,用于存储事件描述信息,SEL数据中至少包括OEM事件类型;
逻辑处理单元2,其用于:当解析到带有自定义事件类型的SEL数据时,遍历事件日志信息表,根据SEL数据寻找对应的事件描述信息,将事件描述信息写入SEL数据中。
本发明实施例中,逻辑处理单元2将事件描述信息写入SEL数据中,具体过程为:创建自定义传感器,用于新增事件描述信息;通过自定义传感器将事件描述信息写入SEL数据中;
而创建自定义传感器的方式,可以是在SDR信息表中增加与自定义传感器相关的定义;
自定义传感器的相关数据在SDR信息表中定义,BMC工作时收集各传感器的数据放入SEL存储;
通过IPMI传感器模型提供了对受监视信息(如温度和电压、风扇状态等)的访问;
不提供对监视硬件的直接访问,IPMI通过抽象的传感器命令(如"获取传感器读取"命令)提供访问,通过管理控制器实现;
此方法将软件与平台管理硬件实现中的更改隔离开来,自定义传感器根据它们提供的读数类型和/或它们生成的事件类型进行分类,自定义传感器可以返回模拟或离散读数,而传感器事件可以是离散的或基于阈值的,不同的事件类型、传感器类型和受监视的实体使用IPMI规范中定义的数字代码表示,而IPMI能够避免依赖字符串来管理信息。
需要说明的是,SDR为Sensor Data Record,SDR信息表至少包括以下信息:拥有者ID(OwerID),逻辑单元号(LUN),传感器号(SENSOR_NUM),实体ID(EntityID),实体序号(EntityInst),传感器类型(SensorType),模拟值类型(Analog),事件类型(eventType),线性信息(Linearization);
BMC为Baseboard Management Controller,即主板管理控制器;
IPMI为Intelligent Platform Management Interface,即智能平台管理接口;
SEL为System event log,即系统事件日志;
OEM在IPMI标准表示可有厂商自定义的部分,而OEM事件类型,则为厂商自定义的一些事件类型,而本申请则在此基础上,新增一自定义的事件类型用于标记。
本发明实施例中,自定义事件类型为十六进制的数据,其取值范围为0x70~0X7F。
本发明实施例中,自定义事件类型适用于OEM协议中的SEL数据,且其取值不与以后的OEM协议中原有的事件类型重复。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。