CN113204383B - 一种bmc配置参数存储的方法、装置、系统及存储介质 - Google Patents

一种bmc配置参数存储的方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN113204383B
CN113204383B CN202110527709.7A CN202110527709A CN113204383B CN 113204383 B CN113204383 B CN 113204383B CN 202110527709 A CN202110527709 A CN 202110527709A CN 113204383 B CN113204383 B CN 113204383B
Authority
CN
China
Prior art keywords
parameter
parameters
configuration file
target
file
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.)
Active
Application number
CN202110527709.7A
Other languages
English (en)
Other versions
CN113204383A (zh
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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110527709.7A priority Critical patent/CN113204383B/zh
Publication of CN113204383A publication Critical patent/CN113204383A/zh
Application granted granted Critical
Publication of CN113204383B publication Critical patent/CN113204383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种BMC配置参数的存储方法、装置、系统及计算机可读存储介质,包括在BMC启动时根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;参数文件信息包括预先建立的、与配置文件对应的数据存储结构,数据存储结构将配置文件区域分为参数地址描述区和参数存储区;若存在,则根据目标配置文件中的文件头信息及数据存储结构中各个参数信息判断目标配置文件中的参数是否正确;若正确,则依据参数对内存中待存储的目标参数进行初始化;若不正确或不存在目标配置文件,则采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化;本发明的扩展性强,有利于提高系统性能及有效保证后续参数存储的稳定性。

Description

一种BMC配置参数存储的方法、装置、系统及存储介质
技术领域
本发明实施例涉及计算机技术领域,特别是涉及一种BMC配置参数存储的方法、装置、系统及计算机可读存储介质。
背景技术
BMC(baseboard management controller,底板管理控制器)属于服务器管理子系统,可以实现服务器的监控和管理功能,其遵循IPMI(Intelligent Platform ManagementInterface智能平台管理接口)协议。在采用BMC进行管理的过程中,BMC围绕IPMI协议会存在一系列的参数需要处理和存储,包括用户参数、通道参数、权限参数、SOL参数、SEL配置参数、镜像更新配置参数等等。这些参数都支持通过ipmi命令配置或获取,并且支持固件更新过程中针对配置参数的保留操作,目前针对这些IPMI参数的文件存储格式如下所示:
通常是针对每类参数定义一个地址结构体,地址结构体中IPMI参数存储地址区域描述的是每个配置参数在文件中的存储地址,进行参数文件存储的时候,会首先把对应的参数按照上述结构中存储的地址存储到文件特定的位置上,等到所有的配置文件都存储完成之后,再把上述地址结构体存储到文件存储系统的配置文件中。这种方法的文件存储格式如下表所示:
IPMI参数区域
IPMI参数存储地址区域
但是这种实现方式中,当需要扩充一个ipmi配置参数的时候(也即对地址结构体中的某个参数进行扩充后),更新镜像后存储至内存中的配置参数与实际配置文件中的配置参数不一致,会造成更新镜像之后原有的数据结构无法正常解析,造成保留的配置文件因无法正常解析而造成参数信息的丢失甚至关键性进程无法正常启动的问题;当需要针对现有的结构体成员进行扩充的时候(也即在地址结构体中增删某个参数),也会造成IPMI参数区域和IPMI参数存储地址区域的偏移,造成相关IPMI参数无法正常解析,影响整个系统性能。
鉴于此,如何提供一种解决上述技术问题的BMC配置参数存储的方法、装置、系统及计算机可读存储介质成为本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种BMC配置参数的存储方法、装置、系统及计算机可读存储介质,在使用过程中扩展性强,有利于提高系统性能及有效保证后续参数存储的稳定性。
为解决上述技术问题,本发明实施例提供了一种BMC配置参数的存储方法,包括:
在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;所述参数文件信息包括预先建立的、与配置文件对应的数据存储结构,所述数据存储结构将配置文件区域分为参数地址描述区和参数存储区;
若存在,则读取所述目标配置文件中的文件头信息,并根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确;若正确,则依据所述参数对内存中待存储的目标参数进行初始化;若不正确或不存在目标配置文件,则采用与所述目标参数对应的默认值对所述内存中待存储的目标参数进行初始化。
可选的,所述参数地址描述区包括地址描述区的大小和各个参数信息,所述参数信息包括参数名称、起始地址、参数大小和参数校验码。
可选的,所述根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确的过程为:
根据所述文件头信息读取所述目标配置文件的参数地址描述区,并获取所述目标配置文件的各个当前参数信息;
根据所述参数名称及各个所述当前参数信息判断所述目标配置文件中是否存在对应的参数,若存在,则判断与所述参数对应的当前参数信息中记录的当前参数大小与所述参数大小是否一致,若大小一致,则根据所述起始地址和所述参数大小从所述目标配置文件中获取对应的参数,并计算出所述参数的当前校验码;判断所述当前校验码与所述参数信息中的参数校验码是否一致,若校验码一致,则所述目标配置文件中相应的参数正确;若校验码不一致或大小不一致,则所述目标配置文件中相应的参数不正确;若不存在,则判定为所述目标配置文件中相应的参数不正确。
可选的,在所述采用与所述目标参数对应的默认值对所述内存中待存储的目标参数进行初始化后,还包括:
根据初始化后的目标参数对所述数据存储结构中的参数地址描述区和参数存储区中相应的信息进行更新。
可选的,还包括:
在所述目标配置文件中存在不正确的参数、且将所述内存中所有的待存储的目标参数均初始化完成后,将所述目标配置文件从所述文件系统中删除,并根据所述内存中初始化后的目标参数创建新的配置文件。
本发明实施例还相应的提供了一种BMC配置参数的存储装置,包括:
第一判断模块,用于在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;所述参数文件信息包括预先建立的、与配置文件对应的数据存储结构,所述数据存储结构将配置文件区域分为参数地址描述区和参数存储区;若存在,则触发第二判断模块;若不存在,则触发第一初始化模块;
所述第二判断模块,用于读取所述目标配置文件中的文件头信息,并根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确;若正确,则触发第二初始化模块,若不正确,则触发所述第一初始化模块;
所述第二初始化模块,用于依据所述参数对内存中待存储的目标参数进行初始化;
所述第一初始化模块,用于采用与每个目标参数各自对应的默认值分别对所述内存中待存储的目标参数进行初始化。
可选的,所述参数地址描述区包括地址描述区的大小和各个参数信息,所述参数信息包括参数名称、起始地址、参数大小和参数校验码。
可选的,所述第二判断模块包括:
获取单元,用于根据所述文件头信息读取所述目标配置文件的参数地址描述区,并获取所述目标配置文件的各个当前参数信息;
第一判断单元,用于根据所述参数名称及各个所述当前参数信息判断所述目标配置文件中是否存在对应的参数,若存在,则触发第二判断单元;若不存在,则触发第一确定单元;
所述第二判断单元,用于判断与所述参数对应的当前参数信息中记录的当前参数大小与所述参数大小是否一致,若大小一致,则触发计算单元;若大小不一致,则触发第二确定单元;
所述计算单元,用于根据所述起始地址和所述参数大小从所述目标配置文件中获取对应的参数,并计算出所述参数的当前校验码;
第三判断单元,用于判断所述当前校验码与所述参数信息中的参数校验码是否一致,若校验码一致,则触发第三确定单元;若校验码不一致,则触发所述第二确定单元;
所述第三确定单元,用于所述目标配置文件中相应的参数正确;
所述第二确定单元,用于所述目标配置文件中相应的参数不正确;
所述第一确定单元,用于判定为所述目标配置文件中相应的参数不正确。
本发明实施例还提供了一种BMC配置参数的存储系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述BMC配置参数的存储方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述BMC配置参数的存储方法的步骤。
本发明实施例提供了一种BMC配置参数的存储方法、装置、系统及计算机可读存储介质,该方法中的数据存储结构将配置文件区域分为参数地址描述区和参数存储区,在BMC启动时通过根据参数文件中的参数文件信息判断文件系统中是否存在目标配置文件,若存在,则根据目标配置文件的文件头信息及数据存储结构中的各个参数信息进一步判断目标配置文件中的参数是否正确,参数正确则直接根据该参数对内存中待存储的目标参数进行初始化,参数不正确或者不存在目标配置文件,则直采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化;本发明能够在目标配置文件存在时对每个参数是否正确进行判断,正确的参数存储至内存,不正确的参数会在内存中按照对应的默认值进行初始化,扩展性强,能够有效避免因BMC内存的配置参数与实际配置文件中的配置参数不一致导致的无法正常解析或无法正常启动的问题,有利于提高系统性能及有效保证后续参数存储的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种BMC配置参数的存储方法的流程示意图;
图2为本发明实施例提供的一种配置文件的数据存储结构解析示意图;
图3为本发明实施例提供的一种BMC配置参数的存储装置的结构示意图。
具体实施方式
本发明实施例提供了一种BMC配置参数的存储方法、装置、系统及计算机可读存储介质,在使用过程中扩展性强,有利于提高系统性能及有效保证后续参数存储的稳定性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种BMC配置参数的存储方法的流程示意图。该方法包括:
S110:在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;若存在,则进入S120;若不存在,则进入S140;参数文件信息包括预先建立的、与配置文件对应的数据存储结构,数据存储结构将配置文件区域分为参数地址描述区和参数存储区;
需要说明的是,预先建立BMC参数文件的数据存储结构,其中,BMC参数文件定义存储在BMC文件系统的固定目录下(例如存储在/conf目录下),参数文件信息中包括文件名称,从而根据参数文件信息就能够从文件系统中查找是否存在对应的目标配置文件,文件系统中的配置文件均为基于预先建立的数据存储结构进行存储的。其中,本发明实施例中预的数据存储结构将配置文件区域划分为参数地址描述区和参数存储区,参数地址描述区从配置文件起始位置(也即偏移量为0的位置)开始存储,参数地址描述区中存储有每类参数的参数信息(也即属性信息);参数存储区在配置文件中的位置紧随参数地址描述区存储,里面存储的是每类参数的实际信息。S120:读取目标配置文件中的文件头信息,并根据文件头信息以及数据存储结构中各个参数信息判断目标配置文件中的参数是否正确;若正确,则进入S130;若不正确,则进入S140;
需要说明的是,当文件系统中存在对应的目标配置文件时,可以读取目标配置文件的文件头信息,由于配置文件是按照数据存储结构进行存储的,数据结构中包括各个参数信息,因此根据文件头部信息及数据存储结构中的各个参数信息就能够判断目标配置文件中的参数是否正确。其中,该参数为配置参数。
S130:依据参数对内存中待存储的目标参数进行初始化;
具体的,当判定出目标配置文件中的参数正确时,则可以直接根据该参数对BMC内存中待存储的目标参数(也即目标配置参数)进行初始化,也即将BMC内存中待存储的目标参数初始化为目标配置文件中的对应参数即可。
S140:采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化。
具体的,当判定出目标配置文件中的参数不正确时,则直接采用与目标参数对应的默认值对内存中的该目标参数进行初始化,其中,不同的参数(即配置参数)对应的默认值不同;另外,当确定出文件系统中不存在对应的目标配置文件时,可以采用与每个目标参数各自对应的默认值对各个目标参数分别进行初始化,从而在内存中得到对应的配置文件。
具体的,可以将内存中需要存储的每个目标参数均初始化后,在按照顺序将各个目标参数各自初始化后的参数存储至参数存储区形成对应的配置文件。
进一步的,参数地址描述区包括地址描述区的大小和各个参数信息,参数信息包括参数名称、起始地址、参数大小和参数校验码。
具体的,本发明实施例中的参数地址描述区包括地址描述区的大小和各个参数信息,参数信息包括参数名称、起始地址、参数大小和参数校验码;其中,址描述区的大小用来表示地址表述区域占有的字节数,参数名称用来作为参数的唯一标识、用来唯一识别对应的参数,起始地址具体为参数存储起始地址表示参数在配置文件中的起始位置,参数大小表示参数占用的文件大小,参数校验码表示参数区域的校验码;参数数据存储区域包括对应存储的参数。
其中,本发明实施例中的数据存储结构具体可以如表1所示:
表1
Figure BDA0003066486090000071
Figure BDA0003066486090000081
也即,参数地址描述区中主要存储了参数地址描述区的大小(也即表1中的描述区大小)及每类参数的参数信息,其中:1、参数地址描述区的大小即表1中的描述区大小字段,这个字段在配置文件中占用4个字节的大小空间,存储的内容为参数地址描述区的大小(即参数地址描述区在配置文件中占用的字节数),该描述区大小字段的作用主要用来当该配置文件存在需要从配置文件中将参数读取到内存中时,需要先从配置文件中读取这4个字节的数据,然后根据这4个字节的数据内容判断出参数地址描述区的大小,并将参数地址描述区的数据读取出来;2、每类参数结构的相关信息中描述了每类参数在这个文件中的存储的参数信息(也即属性信息),具体可以包括参数名称、起始地址、参数大小、参数校验码,并且每类参数的参数信息包含的字段及占用的字节数都是固定的,其中:参数名称表示了该参数信息描述的是哪一类参数,例如参数1的参数名称为snmpparameters,则参数1的相关信息描述的是snmp参数的属性信息,参数2的参数名称为ipmiparameters,则参数2的相关信息描述的是ipmi参数的属性信息,参数名称是每类参数的唯一标识信息,每类参数的参数名称均不同,并且参数名称字段固定占用20个字节的空间;起始地址字段占用4个字节的空间,里面存储的内容为这类参数在下面的参数存储区的地址(也即,相对于文件开始位置的偏移量),该字段主要用来获取到该参数在配置文件中的位置,并从这个位置开始读取对应的参数的信息;参数大小字段占用4个字节的空间,里面的内容为存储的该类参数的大小(即参数的内容在参数存储区中占用的字节数),该字段需要结合前面的参数起始地址字段来用,通过参数起始地址字段获取到该类参数在参数存储区中的起始位置(也即偏移),然后从该起始位置开始读取参数大小表示的字节数的数据,就可以读取出该类参数的实际内容;参数校验码字段主要用来针对读取出来的该类参数的内容进行校验,参数校验码占用2个字节的空间,里面存储的是该类参数在参数存储区中所有字节进行CRC校验的结果,这样当参数存储区中该类参数被无故篡改了或者文件损坏了,则计算出参数的校验值与这个参数校验字段存储的CRC校验值不一致,说明文件数据被破坏,该类参数不可用,也即该类参数不正确,此时需要在内存中将对应的目标参数恢复成默认值。
参数存储区紧随参数地址描述区存储,参数存储区中为实际存储的每类参数的信息,每类参数占用的字节数不同,从该类参数在参数地址描述区中存储的起始地址开始存储,占用的字节数为参数地址描述区中参数大小表示的字节数。
例如,按照本发明实施例中所提供的数据存储结构存储的配置文件为:
40 00 00 00 73 6E 6D 70 70 61 72 61 6D 65 72 73 00 00 00 00 00 00 4000 00 00 08 00 00 00 CC 00 73 6E 6D 70 70 61 72 61 6D 65 74 65 72 73 00 00 0000 00 00 48 00 00 00 04 00 00 00 CA 00 63 87 98 12 00 98 39 17 23 98 05 14
则针对上述配置文件中存储的数据,按照本发明实施例中的数据存储结构解析如图2所示。
更进一步的,上述根据文件头信息以及数据存储结构中各个参数信息判断目标配置文件中的参数是否正确的过程为:
根据文件头信息读取目标配置文件的参数地址描述区,并获取目标配置文件的各个当前参数信息;
具体的,可以根据目标配置文件的文件头信息来读取目标配置文件的整个参数地址描述区至BMC内存中,然后再进一步根据参数地址描述区获取目标配置文件的各个当前参数信息。例如,当地址表述大小占4个字节时,可以读取配置文件中的前4个字节,这4个字节可以定义为DescribAreaSize,然后根据该DescribAreaSize将整个参数地址描述区读取至BMC内存中。其中,当前参数信息包括当前参数名称、当前起始地址、当前参数大小和当前参数校验码。
根据参数名称及各个当前参数信息判断目标配置文件中是否存在对应的参数,若存在,则判断与参数对应的当前参数信息中记录的当前参数大小与参数大小是否一致,若大小一致,则根据起始地址和参数大小从目标配置文件中获取对应的参数,并计算出参数的当前校验码;判断当前校验码与参数信息中的参数校验码是否一致,若校验码一致,则目标配置文件中相应的参数正确;若校验码不一致或大小不一致,则目标配置文件中相应的参数不正确;若不存在,则判定为目标配置文件中相应的参数不正确。
具体的,目标配置文件的各个当前参数信息中包括各个当前参数名称,因此可以根据数据存储结构中的参数信息中的参数名称与目标配置文件中的各个当前参数名称进行匹配,若匹配成功则存在与该参数名称一致的当前参数名称,又因为参数名称为用于识别参数的唯一标识,因此在参数名称匹配成功时,说明目标配置文件中存在对应的参数,若匹配不成功,则说明目标配置文件中不存在与该参数名称对应的参数,不存在时直接判定为参数不正确即可;在目标配置文件中存在对应的参数时,继续将数据存储结构中的参数大小与目标配置文件中与匹配出的当前参数名称对应的当前参数大小进行比较,若两者一致再根据起始地址和参数大小从目标配置文件中将对应的参数取出,若两者不一致,则说明找到的参数不正确;当参数大小与当前参数大小一致时,从目标配置文件中获取出对应的参数,并计算该参数的当前校验码(也即计算CRC校验值),然后将计算出的当前校验码与数据存储结构中的校验码进行比较,若校验码一致,则说明该参数没有被修改,也即该参数是正确的,若检验码不一致,则说明该参数被更改,也即该参数不正确;当确定出参数正确时,就进入S130依据参数对内存中待存储的目标参数进行初始化,当确定出参数不正确时,就进入S140将内存中待存储的目标参数初始化为对应的默认值。进一步的,在上述S140中采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化后,该方法还可以包括:
根据初始化后的目标参数对数据存储结构中的参数地址描述区和参数存储区中相应的信息进行更新。
具体的,为了保持内存中存储的配置文件中的参数的具体信息与数据存储结构中的具体信息一致,因此在目标配置文件中不存在对应的参数或目标配置文件不存在时,根据与目标参数对应的默认值对内存中的目标参数进行初始化后,还需要根据该目标参数的默认值计算出数据存储结构中的参数地址描述区和参数存储区中与该参数对应的信息,然后对相应的信息进行更新。
另外,具体可以在文件系统中不存在目标配置文件时,直接将内存中待存储的各个目标参数按照对应的默认值进行初始化为,再按照顺序将各个目标参数各自初始化后的参数存储至参数存储区形成对应的配置文件,并且根据内存中初始化后的各个参数计算出数据存储结构中参数地址描述区和参数存储区中与该参数对应的信息。例如:
BMC中存储有关于IPMI参数和SNMP参数的数据存储结构,具体可以先根据数据存储结构定义对应的变量,例如定义如下:
PMIParam stIPMIParam;
SNMPParam stSNMPParam;
当目标配置文件不存在时,采用默认值初始化stIPMIParam和stSNMPParam变量,然后将这些变量中的参数信息按照本发明实施例中提供的数据存储结构的具体文件格式存储到配置文件中,由于需要存储两类参数,一类是IPMIParam结构的参数,另一类为SNMPParam结构的参数,那么参数地址描述区的大小就可以确定出为(20+4+4+2)*2+4,其中,每个数值分别为参数名称占用字节数、起始地址占用字节数、参数大小占用字节数、校验码占用字节数、预存储参数个数、描述区大小字段占用字节数。其中,参数地址描述区的大小已经确定了,则参数区大小字段里面的内容也就确定了,从而可以确定出数据存储结构中每个参数的具体信息,具体的:
(1)针对参数1的参数信息(也即IPMIParam的参数信息),其中参数名称为ipmiparameters,占用20个字节,起始地址为(20+4+4+2)*2+4,参数大小占用5个字节(1个成员为char类型,另外1个成员为int类型),校验码即为把该参数中的值做CRC校验。(2)针对参数2的参数信息(也即SNMPParam的参数信息),其中参数名为snmpparameters,占用20个字节,起始地址为(20+4+4+2)*2+4+5,即参数1的起始地址加上参数1的大小,参数2的参数大小占用14个字节(1个成员为char类型的数组,占10个字节,另外1个成员为int类型,占4个字节),参数2的CRC校验即为参数2的信息的校验值。
通过上述分析,参数地址描述区中的所有信息就确定了,然后按照两个参数的顺序将每个参数的内容存储至参数存储区即可。
进一步的,该方法还可以包括:
在目标配置文件中存在不正确的参数、且将内存中所有的待存储的目标参数均初始化完成后,将目标配置文件从文件系统中删除,并根据内存中初始化后的目标参数创建新的配置文件。需要说明的是,本发明实施例中为了使文件系统中的配置文件与数据存储结构保持一致,因此可以在确定出目标配置文件中存在不正确的参数时,并且每个参数均判断完成、并根据判断结果对内存中待存储的所有目标参数均初始化完成后,可以将文件系统中的目标配置文件删除,然后根据内存中与每个目标参数各自对应的初始化结果在文件系统中创建新的配置文件。
可见,该方法中的数据存储结构将配置文件区域分为参数地址描述区和参数存储区,在BMC启动时通过根据参数文件中的参数文件信息判断文件系统中是否存在目标配置文件,若存在,则根据目标配置文件的文件头信息及数据存储结构中的各个参数信息进一步判断目标配置文件中的参数是否正确,参数正确则直接根据该参数对内存中待存储的目标参数进行初始化,参数不正确或者不存在目标配置文件,则将内存中待存储的目标参数初始化为对应的默认值;本发明能够在目标配置文件存在时对每个参数是否正确进行判断,正确的参数存储至内存,不正确的参数会在内存中初始化为默认值,扩展性强,能够有效避免因BMC内存的配置参数与实际配置文件中的配置参数不一致导致的无法正常解析或无法正常启动的问题,有利于提高系统性能及有效保证后续参数存储的稳定性。
在上述实施例的基础上,本发明实施例还相应的提供了一种BMC配置参数的存储装置,具体如图3所示。该装置包括:
第一判断模块21,用于在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;参数文件信息包括预先建立的、与配置文件对应的数据存储结构,数据存储结构将配置文件区域分为参数地址描述区和参数存储区;若存在,则触发第二判断模块22;若不存在,则触发第一初始化模块23;
第二判断模块22,用于读取目标配置文件中的文件头信息,并根据文件头信息以及数据存储结构中各个参数信息判断目标配置文件中的参数是否正确;若正确,则触发第二初始化模块24,若不正确,则触发第一初始化模块23;
第二初始化模块24,用于依据参数对内存中待存储的目标参数进行初始化;
第一初始化模块23,用于采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化。
进一步的,参数地址描述区包括地址描述区的大小和各个参数信息,参数信息包括参数名称、起始地址、参数大小和参数校验码。
更进一步的,第二判断模块22包括:
获取单元,用于根据文件头信息读取目标配置文件的参数地址描述区,并获取目标配置文件的各个当前参数信息;
第一判断单元,用于根据参数名称及各个当前参数信息判断目标配置文件中是否存在对应的参数,若存在,则触发第二判断单元;若不存在,则触发第一确定单元;
第二判断单元,用于判断与参数对应的当前参数信息中记录的当前参数大小与参数大小是否一致,若大小一致,则触发计算单元;若大小不一致,则触发第二确定单元;
计算单元,用于根据起始地址和参数大小从目标配置文件中获取对应的参数,并计算出参数的当前校验码;
第三判断单元,用于判断当前校验码与参数信息中的参数校验码是否一致,若校验码一致,则触发第三确定单元;若校验码不一致,则触发第二确定单元;
第三确定单元,用于目标配置文件中相应的参数正确;
第二确定单元,用于目标配置文件中相应的参数不正确;
第一确定单元,用于判定为目标配置文件中相应的参数不正确。
需要说明的是,本发明实施例中所提供的BMC配置参数的存储装置具有与上述实施例中所提供的BMC配置参数的存储方法相同的有益效果,并且对于本发明实施例中所涉及到的BMC配置参数的存储方法的具体介绍请参照上述实施例,本发明在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种BMC配置参数的存储系统,该系统包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述BMC配置参数的存储方法的步骤。
例如,本发明实施例中的处理器具体可以用于实现在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;参数文件信息包括预先建立的、与配置文件对应的数据存储结构,数据存储结构将配置文件区域分为参数地址描述区和参数存储区;若存在,则读取目标配置文件中的文件头信息,并根据文件头信息以及数据存储结构中各个参数信息判断目标配置文件中的参数是否正确;若正确,则依据参数对内存中待存储的目标参数进行初始化;若不正确或不存在目标配置文件,则采用与目标参数对应的默认值对内存中待存储的目标参数进行初始化。
在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述BMC配置参数的存储方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种BMC配置参数的存储方法,其特征在于,包括:
在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;所述参数文件信息包括预先建立的、与配置文件对应的数据存储结构,所述数据存储结构将配置文件区域分为参数地址描述区和参数存储区;
若存在,则读取所述目标配置文件中的文件头信息,并根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确;若正确,则依据所述参数对内存中待存储的目标参数进行初始化;若不正确或不存在目标配置文件,则采用与所述目标参数对应的默认值对所述内存中待存储的目标参数进行初始化;其中:所述参数地址描述区包括地址描述区的大小和各个参数信息,所述参数信息包括参数名称、起始地址、参数大小和参数校验码;
所述根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确的过程为:
根据所述文件头信息读取所述目标配置文件的参数地址描述区,并获取所述目标配置文件的各个当前参数信息;
根据所述数据存储结构中的参数信息中的参数名称及各个所述当前参数信息判断所述目标配置文件中是否存在与所述参数名称对应的参数,若存在,则判断所述目标配置文件中与所述参数对应的当前参数信息中记录的当前参数大小与所述数据存储结构中的所述参数信息中的参数大小是否一致,若大小一致,则根据所述起始地址和所述参数大小从所述目标配置文件中获取对应的参数,并计算出所述参数的当前校验码;判断所述当前校验码与所述参数信息中的参数校验码是否一致,若校验码一致,则所述目标配置文件中相应的参数正确;若校验码不一致或大小不一致,则所述目标配置文件中相应的参数不正确;若不存在,则判定为所述目标配置文件中相应的参数不正确;
所述依据所述参数对内存中待存储的目标参数进行初始化为:
将BMC内存中待存储的目标参数初始化为所述目标配置文件中的所述参数。
2.根据权利要求1所述的BMC配置参数的存储方法,其特征在于,在所述采用与所述目标参数对应的默认值对所述内存中待存储的目标参数进行初始化后,还包括:
根据初始化后的目标参数对所述数据存储结构中的参数地址描述区和参数存储区中相应的信息进行更新。
3.根据权利要求1所述的BMC配置参数的存储方法,其特征在于,还包括:
在所述目标配置文件中存在不正确的参数、且将所述内存中所有的待存储的目标参数均初始化完成后,将所述目标配置文件从所述文件系统中删除,并根据所述内存中初始化后的目标参数创建新的配置文件。
4.一种BMC配置参数的存储装置,其特征在于,包括:
第一判断模块,用于在BMC启动时,根据参数文件中的参数文件信息判断文件系统中是否存在对应的目标配置文件;所述参数文件信息包括预先建立的、与配置文件对应的数据存储结构,所述数据存储结构将配置文件区域分为参数地址描述区和参数存储区;若存在,则触发第二判断模块;若不存在,则触发第一初始化模块;
所述第二判断模块,用于读取所述目标配置文件中的文件头信息,并根据所述文件头信息以及所述数据存储结构中各个参数信息判断所述目标配置文件中的参数是否正确;若正确,则触发第二初始化模块,若不正确,则触发所述第一初始化模块;
所述第二初始化模块,用于依据所述参数对内存中待存储的目标参数进行初始化;
所述第一初始化模块,用于采用与每个目标参数各自对应的默认值分别对所述内存中待存储的目标参数进行初始化;其中:
所述参数地址描述区包括地址描述区的大小和各个参数信息,所述参数信息包括参数名称、起始地址、参数大小和参数校验码;
所述第二判断模块包括:
获取单元,用于根据所述文件头信息读取所述目标配置文件的参数地址描述区,并获取所述目标配置文件的各个当前参数信息;
第一判断单元,用于根据所述数据存储结构中的参数信息中的参数名称及各个所述当前参数信息判断所述目标配置文件中是否存在与所述参数名称对应的参数,若存在,则触发第二判断单元;若不存在,则触发第一确定单元;
所述第二判断单元,用于判断所述目标配置文件中与所述参数对应的当前参数信息中记录的当前参数大小与所述数据存储结构中的所述参数信息中的参数大小是否一致,若大小一致,则触发计算单元;若大小不一致,则触发第二确定单元;
所述计算单元,用于根据所述起始地址和所述参数大小从所述目标配置文件中获取对应的参数,并计算出所述参数的当前校验码;
第三判断单元,用于判断所述当前校验码与所述参数信息中的参数校验码是否一致,若校验码一致,则触发第三确定单元;若校验码不一致,则触发所述第二确定单元;
所述第三确定单元,用于所述目标配置文件中相应的参数正确;
所述第二确定单元,用于所述目标配置文件中相应的参数不正确;
所述第一确定单元,用于判定为所述目标配置文件中相应的参数不正确;
所述第二初始化模块,用于将BMC内存中待存储的目标参数初始化为所述目标配置文件中的所述参数。
5.一种BMC配置参数的存储系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述BMC配置参数的存储方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述BMC配置参数的存储方法的步骤。
CN202110527709.7A 2021-05-14 2021-05-14 一种bmc配置参数存储的方法、装置、系统及存储介质 Active CN113204383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110527709.7A CN113204383B (zh) 2021-05-14 2021-05-14 一种bmc配置参数存储的方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110527709.7A CN113204383B (zh) 2021-05-14 2021-05-14 一种bmc配置参数存储的方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113204383A CN113204383A (zh) 2021-08-03
CN113204383B true CN113204383B (zh) 2023-04-14

Family

ID=77031384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110527709.7A Active CN113204383B (zh) 2021-05-14 2021-05-14 一种bmc配置参数存储的方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113204383B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546476A (zh) * 2022-02-24 2022-05-27 浪潮商用机器有限公司 固件参数配置方法、装置、基板管理控制器和存储介质
CN114511039A (zh) * 2022-02-28 2022-05-17 智汇(中山)信息技术有限公司 一种软件开发行为监控系统
CN116991758A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 一种空间布局的更新方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412769A (zh) * 2013-07-25 2013-11-27 华为技术有限公司 外接卡参数配置方法、设备以及系统
CN104955023A (zh) * 2015-06-26 2015-09-30 努比亚技术有限公司 一种移动终端及更新网络参数的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901862A (zh) * 2019-02-28 2019-06-18 苏州浪潮智能科技有限公司 一种bmc配置参数存储方法
CN112016102A (zh) * 2019-05-30 2020-12-01 中移(苏州)软件技术有限公司 一种参数配置方法及装置、计算机可读存储介质
CN111158952B (zh) * 2019-12-12 2024-03-29 浙江华云信息科技有限公司 一种利用外接存储设备自动备份配置文件的方法
CN112463724B (zh) * 2020-11-05 2022-07-12 苏州浪潮智能科技有限公司 一种轻量级文件系统的数据处理方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412769A (zh) * 2013-07-25 2013-11-27 华为技术有限公司 外接卡参数配置方法、设备以及系统
CN104955023A (zh) * 2015-06-26 2015-09-30 努比亚技术有限公司 一种移动终端及更新网络参数的方法

Also Published As

Publication number Publication date
CN113204383A (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
CN113204383B (zh) 一种bmc配置参数存储的方法、装置、系统及存储介质
CN109284073B (zh) 数据存储方法、装置、系统、服务器、控制节点及介质
US20160283711A1 (en) eMMC Monitoring Method and Apparatus
CN108170495B (zh) 一种bios升级方法、系统、设备及计算机可读存储介质
CN106776105B (zh) 一种系统启动文件的校验及编译方法
CN108572883A (zh) 一种数据正确性校验方法及装置
EP3633519A1 (en) Method for storing objects, and object store gateway
CN111158968A (zh) Bios配置信息自检方法、装置及存储介质
CN111158948A (zh) 基于去重的数据存储与校验方法、装置及存储介质
CN110781026A (zh) 嵌入式设备数据存储与修复方法、装置和嵌入式设备
CN108196975B (zh) 基于多校验和的数据验证方法、装置及存储介质
CN109032678B (zh) 控制bios打印信息量的方法、装置、介质及打印信息的方法
CN111818097B (zh) 基于行为的流量监测方法及装置
CN113282921A (zh) 一种文件检测方法、装置、设备及存储介质
CN110231921B (zh) 日志打印方法、装置、设备及计算机可读存储介质
CN110955562A (zh) 一种数据恢复的方法、系统、设备及可读存储介质
CN111078382A (zh) 一种命令超时处理方法及装置
CN107633173B (zh) 文件处理方法和装置
US11994958B2 (en) Inference service management method, apparatus and system for inference platform, and medium
KR20110023580A (ko) 데이터를 복구하기 위한 방법 및 시스템
CN114064133A (zh) 一种硬件信息处理方法、装置及存储系统
CN114281769A (zh) 磁盘上文件管理方法、装置、计算机设备及存储介质
US8417665B2 (en) Information extraction method, extractor rebuilding method, and system and computer program product thereof
CN111783162B (zh) 数据保护实现方法、装置及计算机设备
CN109491947B (zh) 一种pcie外接卡热移除信息的发送方法及相关装置

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
GR01 Patent grant
GR01 Patent grant