[发明专利]一种BMC的IPMI命令处理方法、系统、设备以及介质有效
申请号: | 202010852383.0 | 申请日: | 2020-08-21 |
公开(公告)号: | CN111984561B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 梁盛楠;曹风兵;黄帅 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F11/30 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;陈黎明 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bmc ipmi 命令 处理 方法 系统 设备 以及 介质 | ||
本发明公开了一种BMC的IPMI命令处理方法,包括以下步骤:响应于接收到IPMI命令,确定所述IPMI命令对应的若干个处理对象的字符串;根据若干个处理对象的所述字符串确定预先注册到第一进程上的哈希表中的所述若干个所述处理对象;利用所述若干个处理对象对所述IPMI命令进行处理。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提供的方案通过在BMC系统中创建第一进程,各个服务的守护进程之间通过第一进程进行数据共享和消息通信。显著提高了IPMI功能的健壮性,更有利于bug定位、后期维护等。
技术领域
本发明涉及BMC领域,具体涉及一种BMC的IPMI命令处理方法、系统、设备以及存储介质。
背景技术
目前市面上比较成熟的BMC系统,其中都已经包含了对IPMI协议的实现方式。最常见的方式就是BMC系统启动后,开启一个ipmid守护进程,实时监控、管理CPU侧的各个指标;完成一些其他的管理工作,如用户管理、网络配置等;处理不同通道过来的IPMI请求,如CPU端过来的带内请求或者网络端过来的带外请求等。
这种通过一个大而全的守护进程来完成IPMI协议的所有内容,虽然在一定程度上简化了软件结构,但是由于包含的内容众多,一旦任何一个环节出现问题,就有可能导致整个IPMI功能出现异常,必须非常严谨的处理各种异常情况,对于软件的健壮性、可维护性都不够友好。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种BMC的IPMI命令处理方法,包括以下步骤:
响应于接收到IPMI命令,确定所述IPMI命令对应的若干个处理对象的字符串;
根据若干个处理对象的所述字符串确定预先注册到第一进程上的哈希表中的所述若干个所述处理对象;
利用所述若干个处理对象对所述IPMI命令进行处理。
在一些实施例中,根据若干个处理对象的所述字符串确定预先注册到第一进程上的哈希表中的所述若干个所述处理对象,进一步包括:
响应于BMC启动,启动所述第一进程、ipmid主进程以及多个管理进程;
利用所述ipmid主进程调用所述第一进程上的第一功能函数将所述ipmid主进程上创建的多个命令处理对象注册到所述哈希表上,并分别利用多个管理进程调用所述第一进程上的第一功能函数将所述多个管理进程上创建的多个管理处理对象注册到所述哈希表上。
在一些实施例中,还包括:
利用所述第一进程上的第二功能函数根据所述字符串调用所述哈希表中的命令处理对象和/或管理处理对象。
在一些实施例中,利用所述第一进程上的第二功能函数根据所述字符串调用所述哈希表中的命令处理对象和/或管理处理对象,进一步包括:
利用所述命令处理对象判断所述IPMI命令是否符合预设规则;
响应于符合所述预设规则,所述命令处理对象调用对应的管理处理对象以利用所述管理处理对象中预设的处理方法进行处理。
在一些实施例中,响应于接收到IPMI命令,确定所述IPMI命令对应的若干个处理对象的字符串,进一步包括:
响应于接收到带内IPMI命令,利用带内处理进程对所述带内IPMI命令进行解析以确定对应的字符串。
在一些实施例中,响应于接收到IPMI命令,确定所述IPMI命令对应的若干个处理对象的字符串,进一步包括:
响应于接收到带外IPMI命令,利用带外处理进程对所述带外IPMI命令进行解析以确定对应的字符串。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010852383.0/2.html,转载请声明来源钻瓜专利网。