一种应用于BIOS和基板管理控制器的数据交互方法与流程

文档序号:14714021发布日期:2018-06-16 00:58阅读:127来源:国知局
一种应用于BIOS和基板管理控制器的数据交互方法与流程

本发明涉及计算机技术领域,更具体地说,涉及一种应用于BIOS和基板管理控制器的数据交互方法、装置、设备及计算机可读存储介质。



背景技术:

基板管理控制器(BMC,Baseboard Management Controller),是一种服务处理机,利用传感器来监控计算机、网络服务器、或其他硬件驱动设备的状态。

BIOS(Basic Input Output System)是计算机的基本输入输出系统,其为一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机内最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,还可以从CMOS中读写系统设置的具体信息。

服务器中的基板管理控制器具有带外管理功能,能够通过独立于数据网络之外专用管理通道对机房网络设备(路由器、交换机、防火墙等),服务器设备(小型机、服务器、工作站)以及机房电源系统进行集中化整合管理。

但是,基板管理控制器和BIOS的SETUP选项信息无法及时同步,当需要改变某一选项的配置值时,需要人工分别设置基板管理控制器和BIOS的SETUP选项信息,如此增加了不必要的工作量,降低了工作效率;并且,不同项目的SETUP选项信息差异大,若均通过手动更改,费时又费力;再者,项目的SETUP选项信息通常需要根据实际情况进行更改,不管是更改选项的配置值还是增/删选项数目,其工作效率均不容乐观;并且,手动配置SETUP选项时,需要重新定义BIOS与基板管理控制器的接口规范,不利于配置工作的实施。

因此,如何及时同步BIOS与基板管理控制器的SETUP选项信息,提高SETUP选项的配置效率,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种应用于BIOS和基板管理控制器的数据交互方法、装置、设备及计算机可读存储介质,以实现及时同步BIOS与基板管理控制器的SETUP选项信息,提高SETUP选项的配置效率。

为实现上述目的,本发明实施例提供了如下技术方案:

一种应用于BIOS和基板管理控制器的数据交互方法,包括:

获取当前SETUP选项的配置信息;

将所述配置信息封装成JSON格式的数据包;

通过IPMI协议将所述数据包发送至基板管理控制器,以使所述基板管理控制器根据所述数据包检测自身存储的SETUP选项的配置信息;

其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

其中,所述根据所述数据包检测自身存储的SETUP选项的配置信息,包括:

解析所述数据包,得到所述当前SETUP选项的配置信息;

判断所述自身存储的SETUP选项的配置信息与所述当前SETUP选项的配置信息是否一致;

若否,则根据所述当前SETUP选项的配置信息更新所述自身存储的SETUP选项的配置信息。

其中,还包括:

当用户基于基板管理控制器对目标SETUP选项的配置值进行修改时,所述基板管理控制器判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

其中,所述根据所述目标配置值更新所述自身存储的SETUP选项的配置信息之后,还包括:

通过所述IPMI协议获取所述基板管理控制器存储的所述目标SETUP选项的目标配置值;

判断所述目标配置值与所述目标SETUP选项的当前配置值是否一致;

若否,则将所述目标SETUP选项的当前配置值更新为所述目标配置值。

一种应用于BIOS和基板管理控制器的数据交互装置,包括:

第一获取模块,用于获取当前SETUP选项的配置信息;

封装模块,用于将所述配置信息封装成JSON格式的数据包;

发送模块,用于通过IPMI协议将所述数据包发送至基板管理控制器,以使所述基板管理控制器根据所述数据包检测自身存储的SETUP选项的配置信息;

其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

其中,还包括:

第二获取模块,用于通过所述IPMI协议获取所述基板管理控制器存储的目标SETUP选项的目标配置值;

判断模块,用于判断所述目标配置值与所述目标SETUP选项的当前配置值是否一致;

更新模块,用于当所述目标配置值与所述目标SETUP选项的当前配置值不一致时,将所述目标SETUP选项的当前配置值更新为所述目标配置值。

一种应用于BIOS和基板管理控制器的数据交互设备,包括:

BIOS,用于获取当前SETUP选项的配置信息;将所述配置信息封装成JSON格式的数据包;通过IPMI协议将所述数据包发送至基板管理控制器;

所述基板管理控制器,用于接收所述数据包,并根据所述数据包检测自身存储的SETUP选项的配置信息;

其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

其中,所述基板管理控制器还用于:

判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

其中,所述BIOS与所述基板管理控制器通过KCS物理链路进行数据交互。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的应用于BIOS和基板管理控制器的数据交互方法的步骤。

通过以上方案可知,本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互方法,包括:获取当前SETUP选项的配置信息;将所述配置信息封装成JSON格式的数据包;通过IPMI协议将所述数据包发送至基板管理控制器,以使所述基板管理控制器根据所述数据包检测自身存储的SETUP选项的配置信息;其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

可见,所述方法通过将当前SETUP选项的配置信息以JSON格式的数据包发送至基板管理控制器,使得基板管理控制器可以根据该数据包检测自身存储的SETUP选项的配置信息,从而实现了基板管理控制器和BIOS的数据交互,使得两端的SETUP选项的配置信息可以同步更新。

例如:当BIOS升级更新或者新增SETUP选项后,服务器开机时,BIOS将当前的SETUP选项的配置信息以JSON格式的数据包发送至基板管理控制器,基板管理控制器根据当前的SETUP选项的配置信息检测自身存储的SETUP选项的配置信息,当二者不一致时,基板管理控制器便将自身存储的SETUP选项的配置信息更新为当前SETUP选项的配置信息,以实现两端的SETUP选项的配置信息的同步。由此避免了分别手动设置BIOS和基板管理控制器的SETUP选项的配置信息,提高了工作效率,也节约了时间和成本。

相应地,本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互装置、设备及计算机可读存储介质,也同样具有上述技术效果。

附图说明

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

图1为本发明实施例公开的一种应用于BIOS和基板管理控制器的数据交互方法流程图;

图2为本发明实施例公开的另一种应用于BIOS和基板管理控制器的数据交互方法流程图;

图3为本发明实施例公开的一种应用于BIOS和基板管理控制器的数据交互装置示意图;

图4为本发明实施例公开的一种应用于BIOS和基板管理控制器的数据交互设备示意图。

具体实施方式

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

本发明实施例公开了一种应用于BIOS和基板管理控制器的数据交互方法、装置、设备及计算机可读存储介质,以实现及时同步BIOS与基板管理控制器的SETUP选项信息,提高SETUP选项的配置效率。

参见图1,本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互方法,包括:

S101、获取当前SETUP选项的配置信息;

具体的,当服务器开机时,BIOS主动获取当前SETUP选项的配置信息,包括:BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值等信息。

S102、将配置信息封装成JSON格式的数据包;

具体的,为了便于传输数据,将配置信息封装成JSON格式的数据包。其中,JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读,同时也方便了机器进行解析和生成。JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。

当然,本领域内的技术人员还可以根据实际需求采用HML等数据格式来传输配置信息,因此包含配置信息的JSON格式的数据包不应理解为对本发明的限制,对于其他格式的数据包的具体实施过程,本说明书在此不再赘述。

S103、通过IPMI协议将数据包发送至基板管理控制器,以使基板管理控制器根据数据包检测自身存储的SETUP选项的配置信息;

在本实施例中,所述根据所述数据包检测自身存储的SETUP选项的配置信息,包括:解析所述数据包,得到所述当前SETUP选项的配置信息;判断所述自身存储的SETUP选项的配置信息与所述当前SETUP选项的配置信息是否一致;若否,则根据所述当前SETUP选项的配置信息更新所述自身存储的SETUP选项的配置信息。

具体的,基板管理控制器在接收到所述数据包后,通过对该数据包的解析,可以获得BIOS的当前SETUP选项的配置信息,故基板管理控制器便能够以当前SETUP选项的配置信息为依据,更新其自身存储的SETUP选项的配置信息,使得基板管理控制器与BIOS的SETUP选项的配置信息得到同步更新。

当前,基板管理控制器解析得到BIOS的当前SETUP选项的配置信息后,用户可以对SETUP选项的配置值进行修改和查看,有利于SETUP选项的配置工作的实施。

可见,本实施例提供的一种应用于BIOS和基板管理控制器的数据交互方法,所述方法通过将当前SETUP选项的配置信息以JSON格式的数据包发送至基板管理控制器,使得基板管理控制器可以根据该数据包检测自身存储的SETUP选项的配置信息,从而实现了基板管理控制器和BIOS的数据交互,使得两端的SETUP选项的配置信息可以同步更新。例如:当BIOS升级更新或者新增SETUP选项后,服务器开机时,BIOS将当前的SETUP选项的配置信息以JSON格式的数据包发送至基板管理控制器,基板管理控制器根据当前的SETUP选项的配置信息检测自身存储的SETUP选项的配置信息,当二者不一致时,基板管理控制器便将自身存储的SETUP选项的配置信息更新为当前SETUP选项的配置信息,以实现两端的SETUP选项的配置信息的同步。由此避免了分别手动设置BIOS和基板管理控制器的SETUP选项的配置信息,提高了工作效率,也节约了时间和成本。

本发明实施例公开了另一种应用于BIOS和基板管理控制器的数据交互方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。

参见图2,本发明实施例提供的另一种应用于BIOS和基板管理控制器的数据交互方法,包括:

S201、通过IPMI协议获取基板管理控制器存储的目标SETUP选项的目标配置值;

在本实施例中,当用户基于基板管理控制器对目标SETUP选项的配置值进行修改后,在服务器开机启动时,BIOS可以主动从基板管理控制器获取其存储的目标SETUP选项的目标配置值。其中,所述目标配置值为用户对于目标SETUP选项的修改值,在用户修改后,基板管理控制器对其进行了存储,以便于BIOS的获取。

S202、判断目标配置值与目标SETUP选项的当前配置值是否一致;若是,则执行S203;若否,则执行S204;

S203、将目标SETUP选项的当前配置值更新为目标配置值;

S204、无操作。

具体的,当用户在基板管理控制器对某一SETUP选项的配置值进行了修改后,BIOS可以主动获取用户输入的修改值,并根据该修改值更新该SETUP选项的配置值,由此实现了BIOS依据基板管理控制器存储的SETUP选项的配置信息对其自身的SETUP选项的配置信息进行更新,使得二者的数据实现了及时的同步,避免了重复手动配置,提高了SETUP选项的配置效率。

可见,本实施例提供的另一种应用于BIOS和基板管理控制器的数据交互方法,所述方法通过BIOS主动获取用户输入的目标SETUP选项的目标配置值,并依据此更新自身信息,从而实现了BIOS依据基板管理控制器存储的SETUP选项的配置信息对其自身的SETUP选项的配置信息进行更新,使得二者的数据实现了及时的同步,避免了重复手动配置,提高了SETUP选项的配置效率。

基于上述任意实施例,需要说明的是,所述BIOS与所述基板管理控制器通过KCS物理链路进行数据交互。其中,所述KCS(keyboard Controller style)物理链路,可以为BIOS和基板管理控制器提供数据传输的物理通道。

基于上述任意实施例,需要说明的是,当用户基于基板管理控制器对目标SETUP选项的配置值进行修改时,所述基板管理控制器判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

下面对本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互装置进行介绍,下文描述的一种应用于BIOS和基板管理控制器的数据交互装置与上文描述的一种应用于BIOS和基板管理控制器的数据交互方法可以相互参照。

参见图3,本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互装置,包括:

第一获取模块301,用于获取当前SETUP选项的配置信息;

封装模块302,用于将所述配置信息封装成JSON格式的数据包;

发送模块303,用于通过IPMI协议将所述数据包发送至基板管理控制器,以使所述基板管理控制器根据所述数据包检测自身存储的SETUP选项的配置信息;

其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

其中,还包括:

第二获取模块,用于通过所述IPMI协议获取所述基板管理控制器存储的目标SETUP选项的目标配置值;

判断模块,用于判断所述目标配置值与所述目标SETUP选项的当前配置值是否一致;

更新模块,用于当所述目标配置值与所述目标SETUP选项的当前配置值不一致时,将所述目标SETUP选项的当前配置值更新为所述目标配置值。

其中,还包括:

基板管理控制器更新模块,用于当用户基于基板管理控制器对目标SETUP选项的配置值进行修改时,所述基板管理控制器判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

其中,所述发送模块包括:

解析单元,用于解析所述数据包,得到所述当前SETUP选项的配置信息;

判断单元,用于判断所述自身存储的SETUP选项的配置信息与所述当前SETUP选项的配置信息是否一致;

更新单元,用于当所述自身存储的SETUP选项的配置信息与所述当前SETUP选项的配置信息不一致时,根据所述当前SETUP选项的配置信息更新所述自身存储的SETUP选项的配置信息。

下面对本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互设备进行介绍,下文描述的一种应用于BIOS和基板管理控制器的数据交互设备与上文描述的一种应用于BIOS和基板管理控制器的数据交互方法及装置可以相互参照。

参见图4,本发明实施例提供的一种应用于BIOS和基板管理控制器的数据交互设备,包括:

BIOS401,用于获取当前SETUP选项的配置信息;将所述配置信息封装成JSON格式的数据包;通过IPMI协议将所述数据包发送至基板管理控制器;

所述基板管理控制器402,用于接收所述数据包,并根据所述数据包检测自身存储的SETUP选项的配置信息;

其中,所述配置信息至少包括:所述BIOS的当前SETUP选项的个数,每个选项的名称和当前配置值以及每个选项的可配置值。

其中,所述基板管理控制器还用于:

判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

其中,所述BIOS与所述基板管理控制器通过KCS物理链路进行数据交互。

其中,所述基板管理控制器具体用于:

解析所述数据包,得到所述当前SETUP选项的配置信息;判断所述自身存储的SETUP选项的配置信息与所述当前SETUP选项的配置信息是否一致;若否,则根据所述当前SETUP选项的配置信息更新所述自身存储的SETUP选项的配置信息。

其中,所述基板管理控制器还用于:

当用户基于基板管理控制器对目标SETUP选项的配置值进行修改时,所述基板管理控制器判断用户输入的目标配置值是否是所述目标SETUP选项的可配置值;若是,则存储所述目标配置值,并根据所述目标配置值更新所述自身存储的SETUP选项的配置信息。

下面对本发明实施例提供的一种计算机可读存储介质进行介绍,下文描述的一种计算机可读存储介质与上文描述的一种应用于BIOS和基板管理控制器的数据交互方法、装置及设备可以相互参照。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的应用于BIOS和基板管理控制器的数据交互的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1