一种互相备份更新主板信息的方法及装置与流程

文档序号:18475182发布日期:2019-08-20 20:55阅读:332来源:国知局
一种互相备份更新主板信息的方法及装置与流程

本发明属于数据备份的技术领域,具体涉及一种互相备份更新主板信息的方法及装置。



背景技术:

在服务器主板开机过程中,bios(basicinputoutputsystem,基本输入输出系统,用于计算机开机过程中各种硬件设备的初始化和检测)程序会进行芯片自检、主板硬件初始化、资源分配等工作,bios也会收集主板信息,构建smbios(systemmanagementbios,主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范)数据结构表,将结构表数据存储在bios非易失性数据存储区内,进入系统后,按照smbios规范规定的格式可以将smbios数据结构表显示出来,供用户查阅主板的基本信息。bmc(baseboardmanagementcontroller,基板管理控制器,一般内置在主板上,支持行业标准的ipmi规范,bmc提供的功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除)芯片会挂载存储芯片,用于存储fru(fieldreplaceableunit,现场可更换单元数据),fru数据信息内包含主板信息,在bmc界面可以将fru的主板信息显示出来供用户查阅。

然而,目前修改smbios数据结构表的方法主要有:

第一:通过重新开发编译bios文件进行修改。该方法对于多种少量定制需求,增加了开发难度和维护成本。

第二:通过工具手动输入信息修改。该方法容易出错,不便于批量设置。

目前fru主板信息的修改方法主要有:

第一:通过烧录器烧录存储芯片。该方法需要硬件焊接操作,不适合批量作业,而且难度较大。

第二:通过工具手动输入信息修改。该方法容易出错,不便于批量设置。

此外,对于bios芯片更换或者升级bios后,smbios数据结构表数据需要更新,如序列号、资产编号等,fru存储芯片更换后或者fru数据被刷掉后,fru主板信息也需要更新。一般主板信息修改时,要求smbios数据结构表和fru数据同时要修改,且主板信息一致,确保用户在smbios数据结构表和fru主板信息中查阅主板信息一致。对于定制主板、维修主板等多种情况下都需要对smbios数据结构表和fru数据更新修改,增加了出错的概率和维护的成本。



技术实现要素:

本发明提供一种互相备份更新主板信息的方法及装置,通过bios和bmc的配合,检查smbios结构表数据和fru信息数据的有效性,互为备份,软件自动将备份数据更新到无效数据存储区。

本发明提供的技术方案如下:

一种互相备份更新主板信息的方法,用于更新smbios数据结构表的主板信息和fru的主板信息,该方法包括:

初始化smbios数据结构表的主板信息,更新smbios数据结构表的主板信息;

分别对smbios数据结构表和fru的主板信息进行有效性判断,判断该主板信息是否为有效主板信息;

根据有效性判断结果,在smbios数据结构表和fru之间传递所述有效主板信息;

更新主板信息,将所述有效主板信息更新到smbios数据结构表或fru中;

其中,通过分别检查smbios数据结构表和fru的主板信息的有效性,自动备份并更新有效主板信息。

优选地,通过bios和bmc的配合,判断smbios数据结构表和fru的主板信息的有效性。

优选地,更新主板信息的方法包括:

s100、smbios数据结构表和fru的主板信息均为无效主板信息,不进行主板信息的同步更新;

s200、smbios数据结构表和fru的主板信息中的一个主板信息为无效主板信息,另一个主板信息为有效主板信息,用有效主板信息同步更新无效主板信息;

s300、smbios数据结构表和fru的主板信息均为有效主板信息,两个主板信息一致,不进行主板信息的同步更新;两个主板信息不一致,根据是否设置有同步标志,同步更新smbios数据结构表或fru的主板信息。

优选地,述s100具体为:

s110、读取smbios数据结构表的主板信息,判断该主板信息为无效主板信息;

s120、获取fru的主板信息,判断该主板信息为无效主板信息;

s130、获取fru同步标志数据,判断是否设置同步标志;

s140、已设置所述同步标志,结束程序运行;未设置所述同步标志,设置所述同步标志后,结束程序运行。

优选地,所述s200具体为:

s211、读取smbios数据结构表的主板信息,判断该主板信息为无效主板信息;

s221、获取fru的主板信息,判断该主板信息为有效主板信息;

s231、将fru的所述有效主板信息传递到smbios数据结构表,并将smbios数据结构表的所述无效主板信息更新为所述有效主板信息;

s241、获取fru同步标志数据,判断是否设置同步标志;

s251、已设置所述同步标志,结束程序运行;未设置所述同步标志,设置所述同步标志后,结束程序运行。

优选地,所述s200具体为:

s212、读取smbios数据结构表的主板信息,判断该主板信息为有效主板信息;

s222、获取fru的主板信息,判断该主板信息为无效主板信息;

s232、将smbios数据结构表的所述有效主板信息传递到fru,并将fru的所述无效主板信息更新为所述有效主板信息;

s242、获取fru同步标志数据,判断是否设置同步标志;

s252、已设置所述同步标志,结束程序运行;未设置所述同步标志,设置所述同步标志后,结束程序运行。

优选地,所述s300具体为:

s311、读取smbios数据结构表的主板信息,判断该主板信息为有效主板信息;

s321、获取fru的主板信息,判断该主板信息为有效主板信息;

s331、比较smbios数据结构表和fru的主板信息,smbios数据结构表的主板信息与fru的主板信息一致;

s341、获取fru同步标志数据,判断是否设置同步标志;

s351、已设置所述同步标志,结束程序运行;未设置所述同步标志,设置所述同步标志后,结束程序运行。

优选地,所述s300具体为:

s312、读取smbios数据结构表的主板信息,判断该主板信息为有效主板信息;

s322、获取fru的主板信息,判断该主板信息为有效主板信息;

s332、比较smbios数据结构表和fru的主板信息,smbios数据结构表的主板信息与fru的主板信息不一致;

s342、获取fru同步标志数据,判断是否设置同步标志。

s352、已设置所述同步标志,传递smbios数据结构表的主板信息传递至fru,并将fru的主板信息更新为smbios数据结构表的主板信息;未设置所述同步标志,传递fru的主板信息至smbios数据结构表,并将smbios数据结构表的主板信息更新为fru的主板信息;

s362、获取fru同步标志数据,判断是否设置同步标志;

s372、已设置所述同步标志,结束程序运行;未设置所述同步标志,设置所述同步标志后,结束程序运行。

优选地,未设置所述同步标志,fru的主板信息数据被修改,fru的主板信息为最新数据,将fru的主板信息同步到smbios;

已设置所述同步标志,smbios数据结构表的主板信息数据被修改,smbios数据结构表的主板信息为最新数据,将smbiosu数据结构表的主板信息同步到fru。

一种基于上述互相备份更新主板信息的方法的装置,包括:

初始化模块,用于初始化主板信息,将主板信息更新;

有效性判断模块,用于对主板信息进行有效性判断;

数据传递模块,用于在smbios数据结构表和fru之间传递主板信息;

信息更新模块,用于更新smbios数据结构表或fru的主板信息。

本发明的互相备份更新主板信息的方法及装置,以自动判断为依据,将smbios结构表数据和fru数据信息同步到最新更新数据,大大降低用户参与修改主板信息的概率,避免出错。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。

图1所示为本发明实施例提供的方法流程示意图;

图2所示为本发明实施例提供的装置架构示意图。

具体实施方式

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

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

本发明实施例的互相备份更新主板信息的方法,用于smbios数据结构表和fru之间的主板信息的相互更新与备份,具体包括:

通过初始化smbios数据结构表的主板信息,对smbios的主板信息进行更新。

分别对smbios数据结构表的主板信息和fru信息数据的主板信息进行有效性判断,判断上述主板信息是否为有效的主板信息。

根据有效性判断结果,在smbios数据结构表和fru存储区之间传递有效的主板信息,可以将有效的主板信息从smbios数据结构表传递到fru存储区,也可以将有效的主板信息从fru存储区传递到smbios数据结构表。

更新smbios数据结构表或fru的主板信息,将有效的主板信息更新到smbios数据结构表或fru存储区中。

其中,通过检查smbios数据结构表和fru的主板信息数据的有效性,本方法能够自动备份并更新主板信息。

具体地,本实施例的互相备份更新主板信息的方法,可以在如图1所示的流程中实现,包括:

对smbios数据结构表中的主板信息进行初始化,具体包括:在主板完成上电后,bios系统开始运行,随即进行硬件自检、硬件初始化、资源分配等工作。在完成上述基础配置后,bios系统开始进行smbios数据结构表的初始化工作,通过构建各种类型的数据结构,组成smbios数据结构表,从而将系统预先定义的或者用户通过工具修改的主板信息及bios收集的信息设置到数据结构表中。

其中,判断smbios数据结构表中的主板信息是有效主板信息还是无效信息的原则是,主板信息要能解析成可见字符,在系统下供用户查阅。如果主板信息中存在不可见字符代码,则该主板信息是无效信息。此外,序列号、资产编号信息必须在产品出厂时进行更新,每个产品所对应的序列号和资产编号信息是唯一的,不能等于bios或者bmc预先定义的数据,如果该数据等于bios或者bmc预先定义的字符数据,则该主板信息也是无效信息。

完成smbios数据结构表中的主板信息初始化后,基于该主板信息有效性的判断原则,本实施例的有效性判断以及主板信息的备份及更新,包括以下几种情况:

第一、smbios数据结构表和fru中的主板信息均被判断为无效信息时,则不进行主板信息的数据同步更新。

第二、smbios数据结构表的主板信息和fru的主板信息中的一个被判断为无效的主板信息,另一个被判断为有效的主板信息,则将smbios数据结构表和fru中的有效主板信息数据同步到smbios数据结构表和fru中的无效主板信息。

第三、smbios数据结构表和fru中的主板信息均被判断为有效主板信息时,且两个有效主板信息一致,则无需同步更新。若两个有效主板信息不一致,则根据是否设置有fur同步标志,同步更新smbios或fru的主板信息,使两个有效主板信息一致。

具体地,对于第一种情况,进行主板信息的相互备份与更新包括如下步骤:

s110、读取smbios数据结构表中的主板信息,根据有效性判断原则,判断该smbios数据结构表中的主板信息是无效主板信息。

s120、获取fru信息数据中的主板信息,根据有效性判断原则,判断该fru信息数据中的主板信息是无效信息。

s130、获取fru同步标志数据,判断fru同步标志是否被设置。

s140、根据判断结果,若fru同步标志已经被设置,则结束整个程序的运行;若fru同步标志没有被设置,则设置fru同步标志后,结束整个程序的运行。

根据以上步骤,通过有效性判断得到smbios数据结构表和fru的主板信息均为无效主板信息,因此本方法的流程无法进行有效主板信息在smbios数据结构表和fru之间的相互同步以及更新。

具体地,对于第二种情况,进行主板信息的相互备份与更新包括如下步骤:

s211、读取smbios数据结构表中的主板信息,根据有效性判断原则,判断smbios数据结构表中的主板信息是无效主板信息。

s221、获取fru信息数据中的主板信息,根据有效性判断原则,判断fru信息数据中的主板信息是有效主板信息。

s231、解析fru的主板信息数据,将fru的主板信息传递到smbios数据结构表,并将smbios数据结构表中的无效主板信息更新为有效主板信息。

其中,解析后的fru主板信息数据,在smbios数据结构表中,按照smbios数据结构表的各种类型数据格式进行分配,从而更新到smbios数据结构表。

s241、获取fru同步标志数据,判断是否设置有同步标志。

s251、根据判断结果,已设置同步标志,则结束整个程序的运行;未设置同步标志,则在设置同步标志后,结束整个程序的运行。

根据以上步骤,通过有效性判断得到smbios数据结构表的主板信息为无效主板信息,fru的主板信息为有效主板信息,因此将有效主板信息从fru同步到smbios数据结构表中,完成smbios数据结构表和fru之间的有效主板信息的相互同步以及更新。

具体地,对于第二种情况,进行主板信息的相互备份与更新还包括如下步骤:

s212、读取smbios数据结构表中的主板信息,根据有效性判断原则,判断smbios数据结构表中的主板信息是有效主板信息。

s222、获取fru信息数据中的主板信息,根据有效性判断原则,判断fru信息数据中的主板信息是无效主板信息。

s232、处理smbios数据结构表中的主板信息数据,将smbios数据结构表中的主板信息传递到fru,并将fru的无效主板信息更新为有效主板信息。

其中,处理smbios数据结构表中的主板信息数据时,按照预先定义的格式配置,通过调用bmc发送命令程序,并将主板信息数据发送给bmc,从而更新fru中的主板信息数据。

s242、获取fru同步标志数据,判断是否设置有同步标志。

s252、根据判断结果,已设置同步标志,则结束整个程序的运行;未设置同步标志,则在设置同步标志后,结束整个程序的运行。

根据以上步骤,通过有效性判断得到smbios数据结构表的主板信息为有效主板信息,fru中的主板信息为无效信息,因此将有效主板信息从smbios数据结构表同步到fru中,从而完成smbios数据结构表和fru之间的有效主板信息的相互同步以及更新。

具体地,对于第三种情况,进行主板信息的相互备份与更新包括如下步骤:

s311、读取smbios数据结构表中的主板信息,根据有效性判断原则,判断smbios数据结构表中的主板信息是有效主板信息。

s321、获取fru信息数据中的主板信息,根据有效性判断原则,判断fru信息数据中的主板信息是有效主板信息。

s331、比较smbios数据结构表中的主板信息和fru中的主板信息,判断smbios数据结构表中的主板信息和fru中的主板信息相一致。

s341、获取fru同步标志数据,判断是否设置有同步标志。

s351、根据判断结果,已设置同步标志,则结束整个程序的运行;未设置同步标志,则在设置同步标志后,结束整个程序的运行。

根据以上步骤,通过有效性判断得到smbios数据结构表的主板信息和fru中的主板信息均为有效主板信息,并且smbios数据结构表的主板信息和fru的主板信息相一致,因此无需进行smbios数据结构表和fru之间的有效主板信息的相互同步以及更新。

具体地,对于第三种情况,进行主板信息的相互备份与更新还包括如下步骤:

s312、读取smbios数据结构表中的主板信息,根据有效性判断原则,判断smbios数据结构表中的主板信息是有效主板信息。

s322、获取fru信息数据中的主板信息,根据有效性判断原则,判断fru信息数据中的主板信息是有效主板信息。

s332、比较smbios中的主板信息和fru中的主板信息,判断smbios中的主板信息和fru中的主板信息不一致。

s342、获取fru同步标志数据,判断是否设置有同步标志。

s352、若已设置同步标志,则传递smbios的主板信息传递至fru,将smbios数据结构表中的主板信息数据同步到fru中,并将fru的主板信息更新为smbios的主板信息;若没有设置同步标志,则传递fru的主板信息至smbios,将fru的主板信息数据同步到smbios数据结构表中,并将smbios的主板信息更新为fru的主板信息。

s362、获取fru同步标志数据,判断是否设置有同步标志。

s372、根据判断结果,已设置同步标志,则结束整个程序的运行;未设置同步标志,则在设置同步标志后,结束整个程序的运行。

根据以上步骤,通过有效性判断得到smbios数据结构表的主板信息和fru中的主板信息均为有效主板信息,并且由于smbios数据结构表的主板信息和fru中的主板信息不一致,因此根据是否设置有同步标志,将有效主板信息在smbios数据结构表和fru之间传递并进行主板信息数据的更新,从而完成smbios数据结构表和fru之间的有效主板信息的相互同步以及更新。

进一步地,对于第三种情况,在smbios数据结构表的主板信息和fru中的主板信息均为有效主板信息的前提下,对于fru的同步标志,每次开机时bios都会在fru标志信息数据中进行检查并设置,如果同步标志被清除,即未设置同步标志,则表明fru的主板信息数据已经被修改,因此fru的主板信息为最新用户更新数据,需要将fru的主板信息同步到smbios;如果同步标志未被清除,即已设置同步标志,则表明smbios数据结构表和fru中的主板信息数据不一致是由于smbios数据被修改引起的,因此smbios数据结构表的主板信息为最新用户更新数据,需要将smbiosu的主板信息同步到fru。

进一步地,判断fru中的主板信息是否为有效主板信息的具体方法是,配置读取fru信息命令数据,调用并发送bmc命令函数,向bmc发送命令,获取fru主板信息,解析fru主板信息,根据解析结果判断fru中的主板信息是否为有效主板信息。

进一步地,获取fru同步标志数据的具体方法是,配置fru标志信息命令数据,调用并发送bmc命令函数,向bmc发送命令,从而获取fru同步标志数据。

进一步地,设置fru同步标志的具体方法是,配置fru同步标志信息命令数据,调用并发送bmc命令函数,向bmc发送命令,从而设置同步标志。

本实施例中的方法流程,具体可以在一种如图2所示的装置上实现,具体来说,该装置包括:

主板信息初始化模块,负责对主板信息进行初始化,通过预先定义主板厂商、型号信息,接收用户配置信息,将主板信息更新。

主板信息有效性判断模块,负责对主板信息进行有效性判断,判断主板信息是否为有效主板信息,具体的判断可以包括是否配置主板信息以及用户是否对主板信息配置有误等。

信息数据传递模块,负责对主板信息在smbios数据结构表和fru存储区之间进行传递,将有效主板信息从具有有效主板信息的一方传递到具有无效信息的一方。

信息更新模块,负责对主板信息进行更新,将有效主板信息更新到smbios结构表或者fru存储区中。

本发明提供的smbios数据结构表和fru之间的主板信息互相备份和更新的方法,通过bios和bmc的配合,检查smbios和fru的主板信息数据的有效性,实现smbios和fru之间的相互备份,自动将备份数据更新到无效主板信息数据的存储区。同时,以自动判断为依据,将smbios数据结构表和fru中的主板信息同步更新为最新数据,从而大大降低用户参与修改主板信息的概率,避免出错。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,应当指出,对于本技术领域的普通技术人员来说,在本发明的技术构思范围内,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,对本发明的技术方案进行多种等同变换,这些改进、润饰和等同变换也应视为本发明的保护范围。

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