一种带内通讯方法、系统及相关组件

文档序号:1889030 发布日期:2021-11-26 浏览:19次 >En<

阅读说明:本技术 一种带内通讯方法、系统及相关组件 (In-band communication method, system and related components ) 是由 刘刚 于 2021-07-31 设计创作,主要内容包括:本申请公开了一种带内通讯方法、系统及相关组件,用于实现智能平台管理接口通讯,该方法包括:通过串口设备文件建立CPU与BMC通讯的第一串口;在BMC中建立与IPMI模块进行数据传输的第二串口;对第一串口和第二串口设置相同的通讯参数;在BMC中建立第一串口和第二串口的映射关系;利用建立了映射关系的第一串口和第二串口,进行CPU和IPMI模块的数据通讯。本申请利用通用的串口设备文件建立第一串口,并通过建立第一串口和第二串口的映射关系实现CPU的通讯串口重定向,为CPU和IPMI模块的数据通讯提供了必要的前提条件,不需要考虑IPMI驱动的适配性,各类CPU均可使用本方案,操作成本低,具有较高的通用性。(The application discloses an in-band communication method, a system and related components, which are used for realizing intelligent platform management interface communication, and the method comprises the following steps: establishing a first serial port for communication between the CPU and the BMC through a serial port device file; establishing a second serial port for data transmission with the IPMI module in the BMC; setting the same communication parameters for the first serial port and the second serial port; establishing a mapping relation between a first serial port and a second serial port in the BMC; and carrying out data communication between the CPU and the IPMI module by utilizing the first serial port and the second serial port which establish the mapping relation. The method and the device have the advantages that the first serial port is established by utilizing the universal serial port equipment file, the communication serial port of the CPU is redirected by establishing the mapping relation between the first serial port and the second serial port, necessary precondition is provided for data communication between the CPU and the IPMI module, the suitability of IPMI drive does not need to be considered, various CPUs can use the scheme, the operation cost is low, and the universality is high.)

一种带内通讯方法、系统及相关组件

技术领域

本发明涉及主机交互领域,特别涉及一种带内通讯方法、系统及相关组件。

背景技术

当前,IPMI(Intelligent Platform Management Interface,智能平台管理接口)已经成为使硬件管理智能化的新一代通用接口标准。用户可以利用IPMI监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等。IPMI一般通过BMC(Baseboard ManagementController,基板管理控制器)实现监控各个传感器的数据并记录各种事件的日志等功能。目前,BMC部分的IPMI功能一般已经做的比较完善,但要起到更好的平台管理作用,需要OS(Operation System,操作系统)也能够获取IPMI信息。

为了使OS获取IPMI信息,常规手段是在OS中下载安装网上开源的IPMI驱动,在IPMI驱动的支持下,OS可实现与BMC的信息交换。然而,由于CPU(Central ProcessingUnit,中央处理器)芯片的设计差异,并非所有支持与BMC通讯的CPU芯片能运行网上开源的IPMI驱动。

因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种通用的带内通讯方法、系统及相关组件。其具体方案如下:

一种带内通讯方法,用于实现智能平台管理接口通讯,包括:

通过串口设备文件建立CPU与BMC通讯的第一串口;

在所述BMC中建立与IPMI模块进行数据传输的第二串口;

对所述第一串口和所述第二串口设置相同的通讯参数;

在所述BMC中建立所述第一串口和所述第二串口的映射关系;

利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯。

优选的,所述第一串口和所述第二串口均为UART串口。

优选的,所述第一串口具体为基于硬件通道协议的UART串口。

优选的,所述通讯参数包括波特率、和/或数据位、和/或奇偶校验位、和/或停止位。

优选的,所述串口设备文件具体为ttyS设备文件。

优选的,所述对所述第一串口和所述第二串口设置相同的通讯参数的过程,包括:

通过所述ttyS设备文件分别对所述第一串口和所述第二串口设置相同的通讯参数。

优选的,所述利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯的过程,包括:

获取所述CPU的IPMI数据请求指令信息并进行串口封装;

通过建立了所述映射关系的所述第一串口和所述第二串口,将串口封装后的所述IPMI数据请求指令信息发送到所述IPMI模块,以使所述IPMI模块执行以下操作:

对所述IPMI数据请求指令信息进行串口解封装;

确定所述IPMI数据请求指令信息对应的IPMI响应数据;

对所述IPMI响应数据进行串口封装并通过所述第一串口和所述第二串口发送给所述CPU。

相应的,本申请还公开了一种带内通讯系统,用于实现智能平台管理接口通讯,包括:

第一模块,用于通过串口设备文件建立CPU与BMC通讯的第一串口;

第二模块,用于在所述BMC中建立与IPMI模块进行数据传输的第二串口;

设置模块,用于对所述第一串口和所述第二串口设置相同的通讯参数;

映射模块,用于在所述BMC中建立所述第一串口和所述第二串口的映射关系;

通讯模块,用于利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯。

相应的,本申请还公开了一种带内通讯装置,用于实现智能平台管理接口通讯,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述带内通讯方法的步骤。

相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述带内通讯方法的步骤。

本申请公开了一种带内通讯方法,用于实现智能平台管理接口通讯,包括:通过串口设备文件建立CPU与BMC通讯的第一串口;在所述BMC中建立与IPMI模块进行数据传输的第二串口;对所述第一串口和所述第二串口设置相同的通讯参数;在所述BMC中建立所述第一串口和所述第二串口的映射关系;利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯。本申请利用通用的串口设备文件建立第一串口,并通过建立第一串口和第二串口的映射关系实现CPU的通讯串口重定向,为CPU和IPMI模块的数据通讯提供了必要的前提条件,不需要考虑IPMI驱动的适配性,各类CPU均可使用本方案,操作成本低,具有较高的通用性。

附图说明

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

图1为本发明实施例中一种带内通讯方法的步骤流程图;

图2为本发明实施例中一种带内通讯方法的子步骤流程图;

图3为本发明实施例中一种带内通讯系统的结构分布图。

具体实施方式

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

为了使OS获取IPMI信息,常规手段是在OS中下载安装网上开源的IPMI驱动,在IPMI驱动的支持下,OS可实现与BMC的信息交换。然而,由于CPU芯片的设计差异,并非所有支持与BMC通讯的CPU芯片能运行网上开源的IPMI驱动。

本申请利用通用的串口设备文件建立第一串口,并通过建立第一串口和第二串口的映射关系实现CPU的通讯串口重定向,为CPU和IPMI模块的数据通讯提供了必要的前提条件,不需要考虑IPMI驱动的适配性,各类CPU均可使用本方案,操作成本低,具有较高的通用性。

本发明实施例公开了一种带内通讯方法,用于实现智能平台管理接口通讯,参见图1所示,包括:

S1:通过串口设备文件建立CPU与BMC通讯的第一串口;

具体的,这里的第一串口一般为UART串口,而且是基于硬件通道协议的UART串口,这里的硬件通道协议包括但不限于LPC(Low Pin Count,少针脚型接口)、AHB(AdvancedHigh-performance Bus,高级高性能总线),串口设备文件也就是ttyS设备文件,该设备文件具体位于系统应用层中,可进行相应的读写操作来达到相应的效果。

S2:在BMC中建立与IPMI模块进行数据传输的第二串口;

类似的,第二串口一般也是UART串口,通过BMC中的ttyS设备文件建立。

除此外,本实施例也可以使用虚拟串口virtual UART实现第一串口和第二串口。

S3:对第一串口和第二串口设置相同的通讯参数;

具体的,这里的通讯参数包括波特率、和/或数据位、和/或奇偶校验位、和/或停止位,还可能包括其他的通讯参数,此处不作限制。

具体的,设置通讯参数的手段同样是对每个串口对应的设备文件进行通讯参数的写入,也即通过设备文件分别对第一串口和第二串口设置相同的通讯参数。

S4:在BMC中建立第一串口和第二串口的映射关系;

可以理解的是,此处建立了映射关系,实际上实现了CPU对BMC中通讯串口的重定向,该映射关系存储在BMC内部的相关寄存器中,建立了第一串口和第二串口的通道连接。

可以理解的是,由于第一串口和第二串口,这两个串口的建立动作主体不同,因此不要求步骤S1和S2有明确的动作先后,步骤S3的设置也可以是等待任一串口建立后,将后一串口的通讯参数设为与前一串口相同。步骤S4的执行也只要求在两个串口建立后,具体与S3的先后顺序并不强制要求。也就是说,本方法中只要在S5开始正常工作前,步骤S1-S4均完成即可建立通讯通道。

S5:利用建立了映射关系的第一串口和第二串口,进行CPU和IPMI模块的数据通讯。

进一步的,参见图2所示,步骤S5利用建立了映射关系的第一串口和第二串口,进行CPU和IPMI模块的数据通讯的过程,包括:

S51:获取CPU的IPMI数据请求指令信息并进行串口封装;

具体的,此处IPMI数据请求指令信息基于IPMI协议,通常通过调用函数生成,该函数可借用开源ipmitool的程序编写。

S52:通过建立了映射关系的第一串口和第二串口,将串口封装后的IPMI数据请求指令信息发送到IPMI模块,以使IPMI模块执行步骤S53-S55。

S53:对IPMI数据请求指令信息进行串口解封装;

S54:确定IPMI数据请求指令信息对应的IPMI响应数据;

S55:对IPMI响应数据进行串口封装并通过第一串口和第二串口发送给CPU。

可以理解的是,本实施例中对IPMI数据请求指令信息和IPMI响应数据的串口封装,均可通过调用串口数据帧封装函数实现,实际上是在数据对象的首尾增加了帧头字符和帧尾字符,在收到封装的信息时,需要进行解封装才能获取其内部的信息主体。进一步的,IPMI数据请求指令信息和IPMI响应数据均基于IPMI协议,当CPU收到IPMI响应数据,应先进行串口解封装,然后基于IPMI协议对IPMI响应数据进行解析,最终得到直观可用的数据,供客户后续处理。

可以理解的是,本实施例中基于CPU与BMC之间的LPC通道,常见的服务器系统大多通过LPC访问串口功能,开发人员也经常对串口进行开发使用,因此串口相关的软件开发流程比较简单,只要对相关的设备文件进行读写等操作即可,最终得到一个代理软件或应用软件来实现本方法,软件开发简单,耗时短。

可以理解的是,本实施例不仅绕开了IPMI驱动,也没有增加外接串口,而是使用原本BMC和CPU常用的LPC通道,在未增加硬件成本的基础上,实现了一种通用于各类CPU的对IPMI的通讯方法。

本申请公开了一种带内通讯方法,用于实现智能平台管理接口通讯,包括:通过串口设备文件建立CPU与BMC通讯的第一串口;在所述BMC中建立与IPMI模块进行数据传输的第二串口;对所述第一串口和所述第二串口设置相同的通讯参数;在所述BMC中建立所述第一串口和所述第二串口的映射关系;利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯。本申请利用通用的串口设备文件建立第一串口,并通过建立第一串口和第二串口的映射关系实现CPU的通讯串口重定向,为CPU和IPMI模块的数据通讯提供了必要的前提条件,不需要考虑IPMI驱动的适配性,各类CPU均可使用本方案,操作成本低,具有较高的通用性。

相应的,本申请还公开了一种带内通讯系统,用于实现智能平台管理接口通讯,参见图3所示,包括:

第一模块1,用于通过串口设备文件建立CPU与BMC通讯的第一串口;

第二模块2,用于在所述BMC中建立与IPMI模块进行数据传输的第二串口;

设置模块3,用于对所述第一串口和所述第二串口设置相同的通讯参数;

映射模块4,用于在所述BMC中建立所述第一串口和所述第二串口的映射关系;

通讯模块5,用于利用建立了所述映射关系的所述第一串口和所述第二串口,进行所述CPU和所述IPMI模块的数据通讯。

本实施例利用通用的串口设备文件建立第一串口,并通过建立第一串口和第二串口的映射关系实现CPU的通讯串口重定向,为CPU和IPMI模块的数据通讯提供了必要的前提条件,不需要考虑IPMI驱动的适配性,各类CPU均可使用本方案,操作成本低,具有较高的通用性。

在一些具体的实施例中,所述第一串口和所述第二串口均为UART串口。

在一些具体的实施例中,所述第一串口具体为基于硬件通道协议的UART串口。

在一些具体的实施例中,所述通讯参数包括波特率、和/或数据位、和/或奇偶校验位、和/或停止位。

在一些具体的实施例中,所述串口设备文件具体为ttyS设备文件。在一些具体的实施例中,设置模块3具体用于:

通过所述设备文件分别对所述第一串口和所述第二串口设置相同的通讯参数。

在一些具体的实施例中,通信模块5具体用于:

获取所述CPU的IPMI数据请求指令信息并进行串口封装;

通过建立了所述映射关系的所述第一串口和所述第二串口,将串口封装后的所述IPMI数据请求指令信息发送到所述IPMI模块,以使所述IPMI模块执行以下操作:

对所述IPMI数据请求指令信息进行串口解封装;

确定所述IPMI数据请求指令信息对应的IPMI响应数据;

对所述IPMI响应数据进行串口封装并通过所述第一串口和所述第二串口发送给所述CPU。

相应的,本申请还公开了一种带内通讯装置,用于实现智能平台管理接口通讯,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述带内通讯方法的步骤。

相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述带内通讯方法的步骤。

其中,本实施例中带内通讯方法的具体内容,可以参照上文实施例中的相关描述,此处不再赘述。

其中,本实施例中带内通讯装置和可读存储介质的技术效果,与上文实施例中带内通讯方法相同,此处不再赘述。

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

以上对本发明所提供的一种带内通讯方法、系统及相关组件进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用户态下DMA数据缓存一致性方法、装置及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!