CN115470166A - 主机与bmc间的数据通信方法、装置、设备及存储介质 - Google Patents

主机与bmc间的数据通信方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115470166A
CN115470166A CN202211191896.7A CN202211191896A CN115470166A CN 115470166 A CN115470166 A CN 115470166A CN 202211191896 A CN202211191896 A CN 202211191896A CN 115470166 A CN115470166 A CN 115470166A
Authority
CN
China
Prior art keywords
command
ipmi
bmc
memory
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211191896.7A
Other languages
English (en)
Inventor
刘春明
范宇龙
李辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202211191896.7A priority Critical patent/CN115470166A/zh
Publication of CN115470166A publication Critical patent/CN115470166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及通信技术领域,提供了一种主机与BMC间的数据通信方法、装置、设备及存储介质。该方法包括:数据发送端生成智能平台管理接口IPMI命令,并将IPMI命令写入内存的命令存储区域中,该数据发送端为主机或基板管理控制器BMC;数据接收端读取并处理命令存储区域中的IPMI命令,获得相应的命令执行结果,并将命令执行结果写入内存的结果存储区域中,该数据接收端为主机或BMC。BMC与主机共享内存的两块存储区域,实现了BMC与主机间的异步交互,缩短主机启动时间与命令响应时间,支持批量下发数据,极大地提高了BMC与主机间的数据交互效率。

Description

主机与BMC间的数据通信方法、装置、设备及存储介质
技术领域
本申请涉及通信技术领域,提供了一种主机与BMC间的数据通信方法、装置、设备及存储介质。
背景技术
随着科学技术的飞速发展,服务器的易用性、性能及功能都在不断增强。运维人员通过基板管理控制器(Baseboard ManagementController,BMC)远程管理服务器,在一些应用场景下,BMC还需要与主机(即运行基本输入输出系统(Basic Input Output System,BIOS)的服务器主机CPU)之间交互大量数据。
目前,BMC与主机通过智能平台管理接口(Intelligent Platform ManagementInterface,IPMI)协议向对方发送IPMI命令,以实现BMC与主机之间的数据交互。由于IPMI协议的串行交互方式,使得基于IPMI协议的交互方案需要阻塞等待当前IPMI命令返回执行结果后,才会继续发送下一个IPMI命令,一旦当前IPMI命令阻塞等待时间过长,容易造成主机任务阻塞。而且,IPMI协议的串行交互方式也导致该交互方案不支持批量下发数据,数据交互效率低,命令响应速度慢。此外,BIOS采用单线程的运行机制,阻塞等待期间无法运行其他模块,也进一步延长了主机启动时间。
发明内容
本申请实施例提供了一种主机与BMC间的数据通信方法、装置、设备及存储介质,以解决数据交互效率低、主机启动时间长和容易造成主机任务阻塞的问题。
第一方面,本申请实施例提供了一种主机与BMC间的数据通信方法,包括:
数据发送端生成智能平台管理接口IPMI命令,并将所述IPMI命令写入内存的命令存储区域中,所述数据发送端为主机或基板管理控制器BMC;
数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,并将所述命令执行结果写入所述内存的结果存储区域中,所述数据接收端为主机或BMC。
可选的,所述将IPMI命令写入内存的命令存储区域中,包括:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,并将所述IPMI命令写入所述内存的命令存储区域中。
可选的,所述数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,包括:
所述数据接收端通过IPMI协议栈访问所述BMC的内存,从所述内存的命令存储区域中读取所述IPMI命令;
所述数据接收端解析所述IPMI命令,获得相应的命令执行结果。
可选的,所述数据发送端生成智能平台管理接口IPMI命令,包括:
当所述数据发送端为主机时,所述数据发送端基于待请求BMC信息和自身主机运行信息中的至少一种,生成所述IPMI命令;
当所述数据发送端为BMC时,所述数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成所述IPMI命令。
可选的,在将所述命令执行结果写入所述内存的结果存储区域之后,还包括:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,从所述内存的结果存储区域中读取所述命令执行结果;
所述数据发送端通过IPMI结果处理接口解析所述命令执行结果,获得相应的解析结果。
第二方面,本申请实施例还提供了一种主机与BMC间的数据通信装置,包括:
命令生成单元,用于数据发送端生成智能平台管理接口IPMI命令,并将所述IPMI命令写入内存的命令存储区域中,所述数据发送端为主机或基板管理控制器BMC;
命令处理单元,用于数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,并将所述命令执行结果写入所述内存的结果存储区域中,所述数据接收端为主机或BMC。
可选的,所述命令生成单元用于:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,并将所述IPMI命令写入所述内存的命令存储区域中。
可选的,所述命令处理单元用于:
所述数据接收端通过IPMI协议栈访问所述BMC的内存,从所述内存的命令存储区域中读取所述IPMI命令;
所述数据接收端解析所述IPMI命令,获得相应的命令执行结果。
可选的,所述命令生成单元用于:
当所述数据发送端为主机时,所述数据发送端基于待请求BMC信息和自身主机运行信息中的至少一种,生成所述IPMI命令;
当所述数据发送端为BMC时,所述数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成所述IPMI命令。
可选的,在将所述命令执行结果写入所述内存的结果存储区域之后,所述命令处理单元还用于:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,从所述内存的结果存储区域中读取所述命令执行结果;
所述数据发送端通过IPMI结果处理接口解析所述命令执行结果,获得相应的解析结果。
第三方面,本申请实施例还提供了一种计算机设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种主机与BMC间的数据通信方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其包括程序代码,当程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行上述任意一种主机与BMC间的数据通信方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种主机与BMC间的数据通信方法、装置、设备及存储介质,该方法包括:数据发送端生成智能平台管理接口IPMI命令,并将IPMI命令写入内存的命令存储区域中,该数据发送端为主机或基板管理控制器BMC;数据接收端读取并处理命令存储区域中的IPMI命令,获得相应的命令执行结果,并将命令执行结果写入内存的结果存储区域中,该数据接收端为主机或BMC。
BMC与主机间的物理链路是内存中共享的两块存储区域,替代了原有的线性预测编码(Linear Prencdictive Coding,LPC)通道,克服了因IPMI协议的串行交互方式与主机上BIOS的单线程运行机制,所带来的长时间阻塞主机任务、不支持批量下发数据的问题,实现了BMC与主机间的异步交互,缩短主机启动时间与命令响应时间,支持批量下发数据,极大地提高了BMC与主机间的数据交互效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为本申请实施例提供的主机与BMC间进行数据通信的流程示意图;
图1B为本申请实施例提供的主机与BMC间进行数据通信的逻辑交互图;
图1C为本申请实施例提供的命令存储区域的存储格式示意图;
图1D为本申请实施例提供的结果存储区域的存储格式示意图;
图2为本申请实施例提供的主机向BMC发送IPMI指令的交互流程图;
图3为本申请实施例提供的一种主机与BMC间的数据通信装置的结构示意图;
图4为本申请实施例中提供的一种计算机设备的组成结构示意图;
图5为本申请实施例中的一个计算装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、BIOS是固化到主板只读存储器(Read-Only Memory,ROM)芯片上的一组程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
2、IPMI是一种管理基于Intel结构的企业系统中所使用外围设备的工业标准,能够横跨不同的操作系统、固件和硬件平台,智能监视、控制和自动反馈大量服务器的运作状况,以降低服务器系统成本。
IPMI的核心是一个安装在服务器主板上的独立板卡——BMC。BMC不依赖于服务器的处理器、BIOS或操作系统,它是一个单独在系统内运行的无代理管理子系统,只要有BMC与IPMI固件其便可开始工作,作用是方便运维人员通过BMC远程控制和维护服务器。
3、视频图形阵列(Video Graphics Array,VGA):是使用模拟信号的一种视频传输标准,在640×480的分辨率下,能同时显示16种色彩或256种灰度,同时在320×240的分辨率下,可以同时显示256种颜色。
虽然这个标准对现今的个人电脑市场已经十分过时,但它目前仍是个人电脑制造商公认的标准,个人电脑在加载自己的独特驱动程序之前,都必须支持VGA的标准。
下面对本申请实施例的设计思想进行简要介绍:
随着科学技术的飞速发展,服务器的易用性、性能及功能都在不断增强。运维人员通过BMC远程管理服务器,在一些应用场景下,BMC还需要与主机(即运行BIOS的服务器主机CPU)之间交互大量数据。
目前,BMC与主机通过IPMI协议向对方发送IPMI命令,以实现BMC与主机之间的数据交互。由于IPMI协议的串行交互方式,使得基于IPMI协议的交互方案需要阻塞等待当前IPMI命令返回执行结果后,才会继续发送下一个IPMI命令,一旦当前IPMI命令阻塞等待时间过长,容易造成主机任务阻塞。而且,IPMI协议的串行交互方式也导致该交互方案不支持批量下发数据,数据交互效率低,命令响应速度慢。此外,BIOS采用单线程的运行机制,阻塞等待期间无法运行其他模块,也进一步延长了主机启动时间。
有鉴于此,本申请实施例提供了一种主机与BMC间的数据通信方法、装置、设备及存储介质。该方法包括:数据发送端生成智能平台管理接口IPMI命令,并将IPMI命令写入内存的命令存储区域中,该数据发送端为主机或基板管理控制器BMC;数据接收端读取并处理命令存储区域中的IPMI命令,获得相应的命令执行结果,并将命令执行结果写入内存的结果存储区域中,该数据接收端为主机或BMC。
BMC与主机间的物理链路是内存中共享的两块存储区域,替代了原有的LPC通道,克服了因IPMI协议的串行交互方式与主机上BIOS的单线程运行机制,所带来的长时间阻塞主机任务、不支持批量下发数据的问题,实现了BMC与主机间的异步交互,缩短主机启动时间与命令响应时间,支持批量下发数据,极大地提高了BMC与主机间的数据交互效率。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参阅图1A示出的流程示意图与图1B示出的逻辑交互图,主机与BMC间的数据通信过程如下:
S101:数据发送端生成智能平台管理接口IPMI命令,并将IPMI命令写入内存的命令存储区域中,该数据发送端为主机或基板管理控制器BMC。
当数据发送端为主机时,数据发送端基于待请求BMC信息(如,获取产品名、BMC配置等)和自身主机运行信息(如,中央处理器CPU、高速串行计算机扩展总线标准(peripheral component interconnect express),PCIe)、双列直插式存储模块DIMM等)中的至少一种,生成IPMI命令;
当数据发送端为BMC时,数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成IPMI命令。
BMC在内部的VGA内存中划分出两块存储区域,BMC与主机共享这两块存储区域。其中,一块用来存储数据发送端生成的IPMI命令,被称为“命令存储区域”;另一块用来存储数据接收端处理得到的命令执行结果,被称为“结果存储区域”。
主机与BMC之间通过PCIe总线连接,所以,数据发送端在生成IPMI命令之后,通过PCIe总线的IPMI协议栈访问BMC的内存,并以raw data格式,将IPMI命令写入内存的命令存储区域中。
如图1C所示,数据发送端每次写入新的IPMI命令时,会使用raw data定义的分割字符,分割本次写入的IPMI命令与之前写入的IPMI命令,避免数据接收端因IPMI命令存储混乱,而无法正常处理命令。
S102:数据接收端读取并处理命令存储区域中的IPMI命令,获得相应的命令执行结果,并将命令执行结果写入内存的结果存储区域中,该数据接收端为主机或BMC。
数据接收端通过IPMI协议栈访问BMC的内存,从内存的命令存储区域中读取IPMI命令,再解析IPMI命令,获得相应的命令执行结果。然后,数据接收端通过IPMI协议栈访问BMC的内存,并以raw data格式,将命令执行结果写入内存的结果存储区域中。
同样地,如图1D所示,数据发送端每次写入新的命令执行结果时,会使用raw data定义的分割字符,分割本次写入的命令执行结果与之前写入的命令执行结果。需要特别说明的是,结果存储区域存储各命令执行结果的顺序,与命令存储区域存储各IPMI命令的顺序是一一对应的,方便数据发送端查询相应的命令执行结果。
在数据接收端将命令执行结果写入内存的结果存储区域之后,数据发送端通过IPMI协议栈访问BMC的内存,从内存的结果存储区域中读取命令执行结果;再通过IPMI结果处理接口解析命令执行结果,获得相应的解析结果。
首先,使用本申请实施例提出的数据通信方法,可以完美继承原有的IPMI协议字段,实现BMC与主机间的协议交互,不用为了实现BMC与主机间的数据解析,而额外设计新的协议,二次开发工作量小。
其次,BMC与主机间的物理链路是内存中共享的两块存储区域,替代了原有的LPC通道,克服了因IPMI协议的串行交互方式与主机上BIOS的单线程运行机制,所带来的长时间阻塞主机任务、不支持批量下发数据的问题,实现了BMC与主机间的异步交互,缩短主机启动时间与命令响应时间,支持批量下发数据,极大地提高了BMC与主机间的数据交互效率。
为了便于理解,以数据发送端为主机,以数据接收端为BMC为例,参阅图2所示的流程示意图,了解两者间的单向交互过程。
S201:开启电源,控制主机开机;
S202:启动主机上的BIOS,BIOS基于待请求BMC信息生成IPMI命令,并通过IPMI协议栈访问BMC的内存,以raw data格式,以raw data定义的分割字符,将IPMI命令写入内存的命令存储区域中;
S203:BIOS通过异步加载的方式,采集自身主机运行信息,再基于主机运行信息生成IPMI命令,并通过IPMI协议栈访问BMC的内存,以raw data格式,以raw data定义的分割字符,将IPMI命令写入内存的命令存储区域中;
S204:在BIOS继续加载主机上其他模块的时候,BMC轮询命令存储区域,读取该区域存储的各IPMI命令,其中,每读取一个IPMI命令,BMC解析IPMI命令,获得相应的命令执行结果,并通过IPMI协议栈访问BMC的内存,以raw data格式,以raw data定义的分割字符,将命令执行结果写入内存的结果存储区域中;
S205:BIOS异步读取结果存储区域中存储的各命令执行结果,其中,每读取一个命令执行结果,BIOS通过IPMI结果处理接口解析命令执行结果,获得相应的解析结果。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种主机与BMC间的数据通信装置。如图3所示,主机与BMC间的数据通信装置300可以包括:
命令生成单元301,用于数据发送端生成智能平台管理接口IPMI命令,并将IPMI命令写入内存的命令存储区域中,数据发送端为主机或基板管理控制器BMC;
命令处理单元302,用于数据接收端读取并处理命令存储区域中的IPMI命令,获得相应的命令执行结果,并将命令执行结果写入内存的结果存储区域中,数据接收端为主机或BMC。
可选的,命令生成单元301用于:
数据发送端通过IPMI协议栈访问BMC的内存,并将IPMI命令写入内存的命令存储区域中。
可选的,命令处理单元302用于:
数据接收端通过IPMI协议栈访问BMC的内存,从内存的命令存储区域中读取IPMI命令;
数据接收端解析IPMI命令,获得相应的命令执行结果。
可选的,命令生成单元301用于:
当数据发送端为主机时,数据发送端基于待请求BMC信息和自身主机运行信息中的至少一种,生成IPMI命令;
当数据发送端为BMC时,数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成IPMI命令。
可选的,在将命令执行结果写入内存的结果存储区域之后,命令处理单元302还用于:
数据发送端通过IPMI协议栈访问BMC的内存,从内存的结果存储区域中读取命令执行结果;
数据发送端通过IPMI结果处理接口解析命令执行结果,获得相应的解析结果。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的服务平台的访问方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算机设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种计算机设备,参阅图4所示,计算机设备400可以至少包括处理器401、以及存储器402。其中,存储器402存储有程序代码,当程序代码被处理器401执行时,使得处理器401执行上述任意一种主机与BMC间的数据通信方法的步骤。
在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的主机与BMC间的数据通信方法中的步骤。例如,处理器可以执行如图1A中所示的步骤。
下面参照图5来描述根据本申请的这种实施方式的计算装置500。图5的计算装置500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算装置500以通用计算装置的形式表现。计算装置500的组件可以包括但不限于:上述至少一个处理单元501、上述至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。
总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储单元5022,还可以进一步包括只读存储器(ROM)5023。
存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置500也可以与一个或多个外部设备504(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置500交互的设备通信,和/或与使得该计算装置500能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算装置500还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器506通过总线503与用于计算装置500的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
与上述方法实施例基于同一发明构思,本申请提供的主机与BMC间的数据通信方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的主机与BMC间的数据通信方法中的步骤,例如,计算机设备可以执行如图1A中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种主机与BMC间的数据通信方法,其特征在于,包括:
数据发送端生成智能平台管理接口IPMI命令,并将所述IPMI命令写入内存的命令存储区域中,所述数据发送端为主机或基板管理控制器BMC;
数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,并将所述命令执行结果写入所述内存的结果存储区域中,所述数据接收端为主机或BMC。
2.如权利要求1所述的方法,其特征在于,所述将IPMI命令写入内存的命令存储区域中,包括:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,并将所述IPMI命令写入所述内存的命令存储区域中。
3.如权利要求1所述的方法,其特征在于,所述数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,包括:
所述数据接收端通过IPMI协议栈访问所述BMC的内存,从所述内存的命令存储区域中读取所述IPMI命令;
所述数据接收端解析所述IPMI命令,获得相应的命令执行结果。
4.如权利要求1或2所述的方法,其特征在于,所述数据发送端生成智能平台管理接口IPMI命令,包括:
当所述数据发送端为主机时,所述数据发送端基于待请求BMC信息和自身主机运行信息中的至少一种,生成所述IPMI命令;
当所述数据发送端为BMC时,所述数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成所述IPMI命令。
5.如权利要求1~3任一项所述的方法,其特征在于,在将所述命令执行结果写入所述内存的结果存储区域之后,还包括:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,从所述内存的结果存储区域中读取所述命令执行结果;
所述数据发送端通过IPMI结果处理接口解析所述命令执行结果,获得相应的解析结果。
6.一种主机与BMC间的数据通信装置,其特征在于,包括:
命令生成单元,用于数据发送端生成智能平台管理接口IPMI命令,并将所述IPMI命令写入内存的命令存储区域中,所述数据发送端为主机或基板管理控制器BMC;
命令处理单元,用于数据接收端读取并处理所述命令存储区域中的IPMI命令,获得相应的命令执行结果,并将所述命令执行结果写入所述内存的结果存储区域中,所述数据接收端为主机或BMC。
7.如权利要求6所述的装置,其特征在于,所述命令生成单元用于:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,并将所述IPMI命令写入所述内存的命令存储区域中。
8.如权利要求6所述的装置,其特征在于,所述命令处理单元用于:
所述数据接收端通过IPMI协议栈访问所述BMC的内存,从所述内存的命令存储区域中读取所述IPMI命令;
所述数据接收端解析所述IPMI命令,获得相应的命令执行结果。
9.如权利要求6或7所述的装置,其特征在于,所述命令生成单元用于:
当所述数据发送端为主机时,所述数据发送端基于待请求BMC信息和自身主机运行信息中的至少一种,生成所述IPMI命令;
当所述数据发送端为BMC时,所述数据发送端基于客户端发送的运维指令和自身控制器运行信息中的至少一种,生成所述IPMI命令。
10.如权利要求6~8任一项所述的装置,其特征在于,在将所述命令执行结果写入所述内存的结果存储区域之后,所述命令处理单元还用于:
所述数据发送端通过IPMI协议栈访问所述BMC的内存,从所述内存的结果存储区域中读取所述命令执行结果;
所述数据发送端通过IPMI结果处理接口解析所述命令执行结果,获得相应的解析结果。
11.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~5中任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1~5中任一项所述方法的步骤。
CN202211191896.7A 2022-09-28 2022-09-28 主机与bmc间的数据通信方法、装置、设备及存储介质 Pending CN115470166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211191896.7A CN115470166A (zh) 2022-09-28 2022-09-28 主机与bmc间的数据通信方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211191896.7A CN115470166A (zh) 2022-09-28 2022-09-28 主机与bmc间的数据通信方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115470166A true CN115470166A (zh) 2022-12-13

Family

ID=84335331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211191896.7A Pending CN115470166A (zh) 2022-09-28 2022-09-28 主机与bmc间的数据通信方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115470166A (zh)

Similar Documents

Publication Publication Date Title
US10846160B2 (en) System and method for remote system recovery
US20130097339A1 (en) Communication with input/output system devices
US20240037060A1 (en) Computing device, virtualization acceleration device, remote control method and storage medium
US7069456B2 (en) Method and apparatus facilitating direct access to a serial ATA device by an autonomous subsystem
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
CN116723198A (zh) 一种多节点服务器主机控制方法、装置、设备、存储介质
CN114490023B (zh) 一种基于arm和fpga的高能物理可计算存储设备
US11308002B2 (en) Systems and methods for detecting expected user intervention across multiple blades during a keyboard, video, and mouse (KVM) session
CN113806097A (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN116701285A (zh) 远程访问控制装置、方法、设备及计算机可读介质
US6775785B1 (en) Method and apparatus for access to resources not mapped to an autonomous subsystem in a computer based system without involvement of the main operating system
CN115470166A (zh) 主机与bmc间的数据通信方法、装置、设备及存储介质
CN108334453B (zh) 一种文件调试方法、装置、终端设备及存储介质
CN115061958A (zh) 一种硬盘识别方法、识别系统、存储介质和计算机设备
CN115469807A (zh) 磁盘功能配置方法、装置、设备及存储介质
CN112486274B (zh) 计算机扩展卡及计算机系统
US20210216480A1 (en) System and method for graphics processing unit management infrastructure for real time data collection
CN111930502A (zh) 一种服务器管理方法、装置、设备及存储介质
US6401151B1 (en) Method for configuring bus architecture through software control
CN111881070A (zh) 一种交换机外部设备管理方法、系统、设备及存储介质
US7058836B2 (en) Method and apparatus facilitating direct access to a parallel ATA device by an autonomous subsystem
US20040049560A1 (en) Method and apparatus for configuring a computer system to operate with perhiperal devices
US7299344B2 (en) Setup support system, physical access driver, and setup support method
CN112527192B (zh) 数据获取方法、装置及服务设备
CN112698874B (zh) 一种麒麟系统中ast显卡和独立显卡同时显示的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination