Configuration synchronization method, device and equipment and computer readable storage medium

By establishing a configuration database for dual BIOS flash memory in the substrate management controller, automatic synchronization of dual BIOS flash memory configuration is achieved, solving the problem of inflexible and high cost of configuration synchronization in traditional methods, and improving the stability and reliability of the server.

CN119621850APending Publication Date: 2025-03-14INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411708542.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The traditional BIOS flash configuration synchronization method is inflexible, costly and complex, and it is impossible to automatically synchronize and backup BIOS flash memory, resulting in system startup failure or instability.

Method used

By establishing a configuration database for dual BIOS flash memory in the substrate management controller, recording and comparing the configuration information of dual BIOS flash memory, automated configuration synchronization is achieved.

Benefits of technology

The automatic synchronization of dual BIOS flash configurations is realized, which reduces the need for manual intervention, simplifies system management processes, improves the stability and reliability of the server, and reduces cost and complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621850A_ABST
    Figure CN119621850A_ABST
Patent Text Reader

Abstract

The invention discloses a configuration synchronization method, a configuration synchronization device, configuration synchronization equipment and a computer readable storage medium, which are applied to the field of synchronization. A configuration database of a double-basic-input-output-system flash memory is established in a baseboard management controller, and configuration information of the double-basic-input-output-system flash memory is recorded by the configuration database; based on the configuration database, the automatic synchronization of the configuration change of the flash memory of the basic input and output system is realized. According to the automatic configuration synchronization process, the requirement of manual intervention is reduced, the system management process is simplified, and the operation and maintenance cost is reduced; extra hardware work does not need to be added, dependence on a hardware platform is not needed, cost is reduced, and the method is more convenient and efficient; and a more efficient and convenient means is provided for maintenance and management of the server system with the double basic input and output system flash memory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of synchronization, and in particular to a configuration synchronization method, device, equipment and computer-readable storage medium. Background Art

[0002] Traditional BIOS (Basic Input / Output System) flash configuration synchronization is usually only performed on the currently used BIOS flash, and the backup BIOS flash will not be automatically sensed and synchronized. This will cause system startup failure or instability when it is necessary to switch to the backup BIOS flash. Currently, configuration synchronization is generally implemented at the hardware level, but this increases cost and complexity, and is also limited by the hardware platform.

[0003] Therefore, how to provide a flexible, low-cost, and convenient dual BIOS flash memory configuration synchronization method is currently an urgent problem to be solved. Summary of the invention

[0004] In view of this, an object of the present invention is to provide a configuration synchronization method, apparatus, device and computer-readable storage medium, which solve the problems of inflexibility, high cost and inconvenience of configuration synchronization in the prior art.

[0005] To solve the above technical problems, the present invention provides a configuration synchronization method, comprising:

[0006] Pre-storing configuration information of the first basic input / output system flash memory and the second basic input / output system flash memory in a configuration database of a baseboard management controller;

[0007] Acquire current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory;

[0008] Configuration synchronization is performed based on the configuration information in the configuration database and the current configuration information.

[0009] On the one hand, it also includes:

[0010] Monitoring the configuration information of the operating system and / or the basic input / output system flash memory; the basic input / output system flash memory includes the first basic input / output system flash memory and the second basic input / output system flash memory;

[0011] When the operating system is started and / or the configuration information of the basic input and output system flash memory is modified, the step of performing configuration synchronization based on the configuration information in the configuration database and the current configuration information is performed.

[0012] On the one hand, the configuration information includes:

[0013] The identifier, check value and configuration update time of the basic input and output system flash memory; the basic input and output system flash memory includes the first basic input and output system flash memory and the second basic input and output system flash memory.

[0014] On the one hand, performing configuration synchronization based on the configuration information in the configuration database and the current configuration information includes:

[0015] Comparing the identifier in the configuration database with the identifier in the current configuration information;

[0016] If the two pairs of identifiers are not consistent, initialization is performed;

[0017] If a pair of identifiers do not match when compared, a single synchronization is performed;

[0018] If the two pairs of identifiers are consistent, then the check value in the configuration database is compared with the check value in the current configuration information;

[0019] If the checksum values ​​are equal, exit;

[0020] If the check values ​​are not equal, then the configuration update time in the configuration database is compared;

[0021] If the configuration update time is consistent, exit;

[0022] If the configuration update time is inconsistent, the check value, configuration update time and configuration partition data of the BIOS flash memory with the latest configuration update time are synchronized to another BIOS flash memory, and the configuration information in the configuration database is updated.

[0023] On the one hand, initialization is performed, including:

[0024] Writing the configuration partition data of the primary basic input / output system flash memory into the configuration partition of the backup basic input / output system flash memory;

[0025] Updating the check value in the configuration database to the check value of the master BIOS flash memory;

[0026] The identifier in the current configuration information is written into the configuration database, and the current time is set as the configuration update time in the configuration database.

[0027] On the one hand, a single synchronization is performed, including:

[0028] Using a BIOS flash memory with an inconsistent identifier as a target flash memory;

[0029] Acquire a current identifier of the target flash memory from the current configuration information;

[0030] updating the identifier of the target flash memory in the configuration database to the current identifier, and deleting the check value and configuration update time of the target flash memory in the configuration database;

[0031] Deleting the configuration partition data of the target flash memory, and writing the configuration partition data of the basic input and output system flash memory with the same identifier into the configuration partition of the target flash memory;

[0032] The check value and configuration update time of the target flash memory in the configuration database are updated according to the configuration partition data and the current write time.

[0033] On the one hand, it also includes:

[0034] If the identifier in the configuration database is empty, the initialization is performed.

[0035] The present invention also provides a configuration synchronization device, comprising:

[0036] A configuration information recording module, used to store the configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory in a configuration database of the baseboard management controller in advance;

[0037] A current configuration information acquisition module, used to acquire current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory;

[0038] A configuration synchronization module is used to perform configuration synchronization based on the configuration information in the configuration database and the current configuration information.

[0039] The present invention also provides a configuration synchronization device, comprising:

[0040] Memory for storing computer programs;

[0041] A processor is used to implement the configuration synchronization method as described above when executing the computer program.

[0042] The present invention also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are loaded and executed by a processor, the configuration synchronization method as described above is implemented.

[0043] The present invention also provides a computer program product, comprising a computer program / instruction, which implements the steps of the above configuration synchronization method when executed by a processor.

[0044] It can be seen from the above technical scheme that the present invention stores the configuration information of the first basic input-output system flash memory and the second basic input-output system flash memory in the configuration database of the baseboard management controller in advance; obtains the current configuration information of the first basic input-output system flash memory and the second basic input-output system flash memory; performs configuration synchronization based on the configuration information in the configuration database and the current configuration information. The beneficial effect of the present invention is that by establishing a configuration database of dual basic input-output system flash memories in the baseboard management controller, the configuration database is used to record the configuration information of the dual basic input-output system flash memories, and the automatic synchronization of basic input-output system flash memory configuration changes is realized based on the configuration database. It can be seen that the method does not require manual intervention and does not require additional hardware work, reduces costs, is more convenient and efficient, enhances the overall stability and reliability of the server, and provides a more efficient and convenient means for the maintenance and management of server systems with dual basic input-output system flash memories.

[0045] In addition, the present invention also provides a configuration synchronization device, equipment and computer-readable storage medium, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0047] Figure 1 A flowchart of a configuration synchronization method provided by an embodiment of the present invention;

[0048] Figure 2 An example flow chart of a configuration synchronization method provided by an embodiment of the present invention;

[0049] Figure 3 A structural example diagram of a configuration synchronization system provided by an embodiment of the present invention;

[0050] Figure 4 A schematic diagram of the structure of a configuration synchronization device provided by an embodiment of the present invention;

[0051] Figure 5 A structural diagram of a configuration synchronization device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0052] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0053] First, some terms used in this application are explained:

[0054] BIOS: Basic Input / Output System, basic input / output system;

[0055] BMC: Baseboard Management Controller, baseboard management controller;

[0056] OS: operating system;

[0057] flash UID: unique identifier of the flash memory;

[0058] BIOS flash: Basic input and output system flash memory.

[0059] With the rapid development of information technology, the stability and reliability of servers as core devices for data processing and storage have become particularly important. In server architecture, dual BIOS system design has become one of the key measures to improve system stability and fault tolerance. Dual BIOS systems usually contain two independent BIOS flashes, one of which works as the main device and the other as a backup device. When the main device fails, it can seamlessly take over system control, thus avoiding server downtime.

[0060] In the dual BIOS flash scenario, BIOS flash configuration synchronization is a difficult problem that needs to be solved urgently. Traditional configuration synchronization methods usually only target the main BIOS flash currently in use, while the backup BIOS flash does not automatically sense and synchronize these changes. This design may cause the backup BIOS flash to fail to correctly reflect the latest configuration status of the system when important changes occur in the BIOS flash configuration (such as boot order, hardware settings, etc.), which may cause system startup failure or instability when switching to the backup BIOS flash. At present, solutions for BIOS flash configuration synchronization are mainly based on hardware implementation, such as automatically synchronizing configurations when switching BIOS flashes through hardware triggers, or using dedicated synchronization chips to achieve real-time data exchange between two BIOS flashes. However, the above methods rely on specific hardware platforms or operating systems, lack versatility and flexibility; most solutions require manual intervention to trigger synchronization operations, which reduces the automation level of the system; and hardware implementation is often costly and increases the complexity of system deployment and maintenance.

[0061] Therefore, the current configuration synchronization method has the problems of high cost, complex implementation, poor flexibility and versatility. Based on the above problems, the present invention provides a configuration synchronization method. For details, please refer to Figure 1 , Figure 1 A flowchart of a configuration synchronization method provided by an embodiment of the present invention, the method may include:

[0062] S101: Pre-store configuration information of a first BIOS flash memory and a second BIOS flash memory in a configuration database of a baseboard management controller.

[0063] The execution subject of this embodiment may be a central processing unit. The dual basic input and output system flash memory of this embodiment includes a first basic input and output system flash memory and a second basic input and output system flash memory, and each basic input and output system flash memory is divided into a firmware area (storing a firmware version number) and a configuration area. This embodiment does not limit the configuration information. This embodiment also does not limit the amount of configuration information. For example, the configuration information may be a check value; or the configuration information may also be a check value and a configuration update time.

[0064] Furthermore, in order to ensure the accuracy of configuration synchronization, the above configuration information may include: an identifier of the basic input and output system flash memory, a check value and a configuration update time.

[0065] It should be noted that the basic input and output system flash memory is a general term for the first basic input and output system flash memory and the second basic input and output system flash memory, that is, a dual basic input and output system flash memory. This embodiment provides multi-dimensional configuration information, and performs data verification based on the multi-dimensional configuration information. The configuration information complements each other and together constitutes a comprehensive verification of the BIOS configuration information, which can effectively avoid missynchronization and missed synchronization.

[0066] S102: Acquire current configuration information of the first basic input / output system flash memory and the second basic input / output system flash memory.

[0067] The purpose of step S102 is to obtain the current configuration information of the dual BIOS flash memory, that is, the actual configuration information.

[0068] S103: Perform configuration synchronization based on the configuration information in the configuration database and the current configuration information.

[0069] When the configuration of the BIOS flash memory is updated, the configuration database stores the configuration information before the BIOS flash memory is updated. Then the current configuration information of the BIOS flash memory is inconsistent with the configuration information stored in the configuration database, and configuration synchronization is required.

[0070] This embodiment does not limit the triggering conditions for configuration synchronization. For example, it can be triggered according to a time period; or it can be triggered when a preset condition is obtained. This embodiment also does not limit the preset condition.

[0071] Furthermore, in order to improve the efficiency of configuration synchronization and save resources, the above configuration synchronization method may further include the following steps:

[0072] Step 11: monitoring the configuration information of the operating system and / or basic input and output system flash memory;

[0073] Step 12: When the operating system is started and / or the configuration information of the basic input and output system flash memory is modified, a step of performing configuration synchronization based on the configuration information in the configuration database and the current configuration information is executed.

[0074] This embodiment triggers the operation of step S103 each time the operating system is started and / or when the configuration information of the basic input / output system flash memory is modified. Such a trigger mechanism can improve the timeliness of configuration synchronization, and compared with the traditional time trigger, it can save resources and improve the operation efficiency of the server.

[0075] Further, in order to improve the accuracy of configuration synchronization, the configuration synchronization based on the configuration information in the configuration database and the current configuration information may include the following steps:

[0076] Step 21: Compare the identifier in the configuration database with the identifier in the current configuration information;

[0077] Step 22: If the two pairs of identifiers are not consistent, initialization is performed;

[0078] Step 23: If the pair of identifiers are inconsistent when compared, a single synchronization is performed;

[0079] Step 24: If the two pairs of identifiers are consistent, the check value in the configuration database is compared with the check value in the current configuration information;

[0080] Step 25: If the check values ​​are equal, exit;

[0081] Step 26: If the check values ​​are not equal, the configuration update time in the configuration database is compared;

[0082] Step 27: If the configuration update time is consistent, exit;

[0083] Step 28: If the configuration update time is inconsistent, synchronize the check value, configuration update time and configuration partition data of the BIOS flash memory with the latest configuration update time to another BIOS flash memory, and update the configuration information in the configuration database.

[0084] It should be noted that the pair here can be understood as the first / second basic input / output system flash memory stored in the configuration database and the first / second basic input / output system flash memory actually obtained currently being a pair of basic input / output system flash memories. The priority of the configuration information comparison of this embodiment is: the identifier priority is higher than the check value, and the check value priority is higher than the configuration update time. The identifier of this embodiment can determine whether to replace the basic input / output system flash memory. The check value of this embodiment is calculated based on the configuration partition data. If the check values ​​are different, the configuration may be changed, and the configuration update time is checked at this time.

[0085] For details, please refer to Figure 2 , Figure 2The flowchart of a configuration synchronization method provided by an embodiment of the present invention is as follows. (1) UID comparison: If both UIDs stored in the configuration database are inconsistent with the currently acquired BIOS flash UID, it indicates that the dual BIOS flashes may be replaced at the same time or the BMC flash (baseboard management controller) may be reset. In this case, the initialization process needs to be executed; if only one UID is inconsistent with the currently acquired BIOS flash UID, it indicates that one BIOS flash has been replaced and the single BIOS synchronization process is executed. If the UIDs are all consistent, the check value comparison is entered. (2) Check value comparison: If the four check values ​​(the check value stored in the BMC configuration database and the currently actually calculated BIOS flash check value) are all equal, synchronization is not required and the process is exited. If there is a difference, the configuration update time is further compared. (3) Configuration update time comparison: If the configuration update time is consistent, it may be that the device has been synchronized and the process is exited. If the time is inconsistent, the check value, configuration update time and configuration partition data of the BIOS flash with a later configuration time are synchronized to another BIOS flash, and the corresponding information in the configuration database is updated.

[0086] By using the above-mentioned intelligent decision-making and differentiated synchronization, differentiated synchronization decisions can be made according to different situations. For example, when the configuration information of two BIOS flashes is detected to be inconsistent, the system will intelligently determine which is the latest configuration based on factors such as the configuration update time, and only synchronize the difference. This differentiated synchronization strategy not only improves the synchronization efficiency, but also reduces the impact on the normal operation of the system. In addition, this progressive and comprehensive comparison method can improve the comprehensiveness of the detection and avoid false synchronization and missed synchronization.

[0087] In this embodiment, the CheckSum algorithm can be used to calculate the configuration partition data to obtain a check value. CheckSum is a method for checking whether a data file has changed. Its basic principle is to open a file in binary mode, add up the values ​​of all the bytes in it one by one until the last byte, and finally obtain an accumulated value. In order to improve the applicability and versatility, this embodiment uses a cyclic redundancy check method to calculate a CRC check value. Specifically, the cyclic redundancy check method can not only calculate the check value for simple data, but also be applied to more complex data, so that the validity and accuracy of the check value calculation can be guaranteed. The CRC check value can be calculated after the program is compiled, and the CRC value is added to the end of the executable file. Then the executable file with the CRC check value is burned into the MCU (micro control unit). After the program is started, the self-check code will recalculate the CRC value and compare it with the CRC check value in the configuration database to determine whether the configuration partition data has changed.

[0088] Furthermore, in order to ensure the comprehensiveness of the detection, the following steps may also be included:

[0089] If the identifier in the configuration database is empty, initialization is performed.

[0090] Specifically, when the identifier in the configuration database of the baseboard management controller is empty, it means that the configuration information of the dual BIOS flash has not been recorded yet, and it may be the first time to power on, and initialization is required at this time.

[0091] Further, in order to improve synchronization efficiency, the above execution initialization may include the following steps:

[0092] Step 31: writing the configuration partition data of the main basic input and output system flash memory into the configuration partition of the backup basic input and output system flash memory;

[0093] Step 32: updating the check value in the configuration database to the check value of the main basic input and output system flash memory;

[0094] Step 33: Write the identifier in the current configuration information into the configuration database, and set the current time as the configuration update time in the configuration database.

[0095] The initialization of this embodiment includes configuring partition data, configuring update time, check value and identifier. Figure 2 The initialization part in the configuration database. The main BIOS flash memory in the present embodiment can be understood as the BIOS flash memory currently in use. The configuration partition data of the main BIOS flash is written to the backup BIOS flash, and a check value is calculated based on the configuration partition data, and its check value and the current time are written to the configuration database. In this way, the check value and the current time of the two BIOS flash memories of the configuration database are consistent. Then the identifier of each BIOS flash memory is written into the configuration database, and the identifier of the BIOS flash memory is recorded.

[0096] Further, in order to improve synchronization efficiency, the above-mentioned single synchronization may include the following steps:

[0097] Step 41: using the BIOS flash memory with inconsistent identifiers as the target flash memory;

[0098] Step 42: Obtain the current identifier of the target flash memory from the current configuration information;

[0099] Step 43: updating the identifier of the target flash memory in the configuration database to the current identifier, and deleting the check value and configuration update time of the target flash memory in the configuration database;

[0100] Step 44: deleting the configuration partition data of the target flash memory, and writing the configuration partition data of the basic input and output system flash memory with the same identifier into the configuration partition of the target flash memory;

[0101] Step 45: Update the checksum value and configuration update time of the target flash memory in the configuration database according to the configuration partition data and the current write time.

[0102] For details, please refer to Figure 2 The single synchronization part. If only one pair of BIOS flash UIDs are inconsistent, it is considered that one BIOS flash has been replaced. At this time, the checksum value and configuration update time of the BIOS flash (i.e., the target flash) with inconsistent UID in the BMC configuration database need to be erased, and the checksum value and configuration update time of the other BIOS flash need to be written, and the BMC configuration database needs to be updated. Specifically, it includes the identifier, checksum value, and configuration update time of the target flash. At the same time, the configuration partition data of the target flash is erased and the configuration partition data of the other BIOS flash is written.

[0103] The configuration synchronization method provided by the embodiment of the present invention is applied, by pre-storing the configuration information of the first basic input-output system flash memory and the second basic input-output system flash memory into the configuration database of the baseboard management controller; obtaining the current configuration information of the current first basic input-output system flash memory and the second basic input-output system flash memory; and performing configuration synchronization based on the configuration information in the configuration database and the current configuration information. The present invention establishes a configuration database of dual basic input-output system flash memories in the baseboard management controller, uses the configuration database to record the configuration information of the dual basic input-output system flash memories, and realizes automatic synchronization of basic input-output system flash memory configuration changes based on the configuration database. The automated configuration synchronization process of the present invention reduces the need for manual intervention, simplifies the system management process, reduces the operation and maintenance cost, and allows administrators to focus more on core business without frequent intervention in configuration synchronization work; through configuration synchronization, system startup failure or abnormal operation caused by inconsistent configuration is avoided, thereby significantly improving the overall stability and reliability of the server, and users do not need to worry about system instability or shutdown caused by configuration problems, thereby improving the user experience and satisfaction; no additional hardware work is required, and there is no need to rely on the hardware platform, which reduces the cost and is more convenient and efficient; it provides a more efficient and convenient means for the maintenance and management of server systems with dual basic input-output system flash memories. In addition, automatic synchronization of configuration changes is achieved through verification values, configuration update time and identifiers, providing a reliable data source for configuration verification and recovery, enhancing the system's data security and fault tolerance; and the synchronization process is triggered each time the operating system is started or a configuration change is detected, improving the efficiency of synchronization configuration and saving resources.

[0104] In order to make the present invention easier to understand, please refer to Figure 3 , Figure 3 A structural example diagram of a configuration synchronization system provided by an embodiment of the present invention may specifically include: a central processing unit, a basic input and output system flash memory and a baseboard management controller.

[0105] An operating system is run on a central processing unit, and the operating system includes a synchronization management module, which is used to trigger a synchronization process when the operating system is started or when a configuration change is detected; wherein the synchronization management module is responsible for reading the configuration information of two BIOS flashes from the configuration database of the baseboard management controller, and directly performing configuration verification with the read BIOS flash configuration information. Specifically, the synchronization management module verifies the identifier; the synchronization management module also calculates the verification value of the actual BIOS flash configuration partition, which is used to compare with the verification value of the configuration database of the baseboard management controller to verify the integrity and consistency of the configuration information; the synchronization management module also compares the configuration update time. Based on the verification value, configuration update time and identifier, the synchronization management module determines whether a synchronization operation needs to be performed; if a synchronization operation is performed, the configuration partition data in the BIOS flash with a later configuration time is written to another BIOS flash through the underlying interface of the BMC or OS, and the synchronized verification value, configuration update time and identifier are updated in the configuration database in the BMC flash to ensure that the current state can be correctly reflected during the next detection.

[0106] The baseboard management controller is provided with a configuration database, and the baseboard management controller does not participate in the specific execution of the synchronization process. The configuration database is used to store the configuration information of the two BIOS flashes. The configuration information includes a check value. It can also include a configuration update time and an identifier to assist the synchronization management module in determining which BIOS flash configuration information is the latest configuration information.

[0107] The dual BIOS flash memory comprises a first BIOS flash memory and a second BIOS flash memory, each of which comprises a configuration partition for storing configuration partition data.

[0108] The following is an introduction to a configuration synchronization device provided by an embodiment of the present invention. The configuration synchronization device described below and the configuration synchronization method described above can be referenced to each other.

[0109] Please refer to Figure 4 , Figure 4 A schematic diagram of a configuration synchronization device provided by an embodiment of the present invention may include:

[0110] The configuration information recording module 100 is used to store the configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory in the configuration database of the baseboard management controller in advance;

[0111] A current configuration information acquisition module 200 is used to acquire current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory;

[0112] The configuration synchronization module 300 is used to perform configuration synchronization based on the configuration information in the configuration database and the current configuration information.

[0113] Based on the above embodiment, configuring the synchronization device may further include:

[0114] A monitoring module, used for monitoring configuration information of an operating system and / or a basic input / output system flash memory; the basic input / output system flash memory includes the first basic input / output system flash memory and a second basic input / output system flash memory;

[0115] The trigger module is used to execute the step of synchronizing the configuration based on the configuration information in the configuration database and the current configuration information when the operating system is started and / or the configuration information of the basic input and output system flash memory is modified.

[0116] Based on the above embodiment, the configuration information may include: an identifier, a check value and a configuration update time of a basic input / output system flash memory; the basic input / output system flash memory includes the first basic input / output system flash memory and the second basic input / output system flash memory.

[0117] Based on the above embodiment, the configuration synchronization module 300 may include:

[0118] an identifier comparison unit, configured to compare the identifier in the configuration database with the identifier in the current configuration information;

[0119] An identifier comparison first result unit, used to perform initialization if the two pairs of identifiers are not consistent;

[0120] The identifier comparison second result unit is used to perform single synchronization if a pair of identifiers are inconsistent when compared;

[0121] The identifier comparison third result unit is used to compare the check value in the configuration database with the check value in the current configuration information if the two pairs of identifiers are consistent;

[0122] A check value comparison first result unit is used to exit if the check values ​​are equal;

[0123] A check value comparison second result unit is used to compare the configuration update time in the configuration database if the check value comparison is not equal;

[0124] A configuration update time comparison first result unit is used to exit if the configuration update time comparison is consistent;

[0125] The configuration update time comparison second result unit is used to synchronize the check value, configuration update time and configuration partition data of the basic input and output system flash memory with the latest configuration update time to another basic input and output system flash memory if the configuration update time comparison is inconsistent, and update the configuration information in the configuration database.

[0126] Based on the above embodiment, configuration synchronization may further include:

[0127] The identifier unit is used to perform the initialization if the identifier in the configuration database is empty.

[0128] Based on the above embodiment, comparing the identifier with the first result unit may include:

[0129] A first updating subunit, used for writing the configuration partition data of the main basic input and output system flash memory into the configuration partition of the backup basic input and output system flash memory;

[0130] A second subunit, configured to update the check value in the configuration database to the check value of the main BIOS flash memory;

[0131] The third updating subunit is configured to write the identifier in the current configuration information into the configuration database, and set the current time as the configuration update time in the configuration database.

[0132] Based on the above embodiment, comparing the identifier with the second result unit may include:

[0133] A target flash memory determination subunit, used for taking a basic input and output system flash memory with inconsistent identifiers as a target flash memory;

[0134] A current identifier acquisition subunit, used to acquire a current identifier of the target flash memory from the current configuration information;

[0135] a fourth updating subunit, configured to update the identifier of the target flash memory in the configuration database to the current identifier, and delete the check value and configuration update time of the target flash memory in the configuration database;

[0136] a fifth updating subunit, configured to delete the configuration partition data of the target flash memory, and write the configuration partition data of the basic input / output system flash memory with the same identifier into the configuration partition of the target flash memory;

[0137] The sixth updating subunit is used to update the check value and configuration update time of the target flash memory in the configuration database according to the configuration partition data and the current writing time.

[0138] It should be noted that the order of the modules and units in the above configuration synchronization device can be changed without affecting the logic.

[0139] The configuration synchronization device provided by the embodiment of the present invention is used to store the configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory in the configuration database of the baseboard management controller in advance through the configuration information recording module 100; the current configuration information acquisition module 200 is used to obtain the current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory; the configuration synchronization module 300 is used to perform configuration synchronization based on the configuration information in the configuration database and the current configuration information. The automated configuration synchronization process of the present invention reduces the need for manual intervention, simplifies the system management process, reduces the operation and maintenance cost, and allows administrators to focus more on core business without frequently intervening in configuration synchronization work; through configuration synchronization, system startup failure or abnormal operation caused by inconsistent configuration is avoided, thereby significantly improving the overall stability and reliability of the server, and users do not need to worry about system instability or shutdown caused by configuration problems, thereby improving the user experience and satisfaction; no additional hardware work is required, and there is no need to rely on the hardware platform, which reduces costs and is more convenient and efficient; it provides a more efficient and convenient means for the maintenance and management of server systems with dual basic input and output system flash memories. In addition, automatic synchronization of configuration changes is achieved through verification values, configuration update time and identifiers, providing a reliable data source for configuration verification and recovery, enhancing the system's data security and fault tolerance; and the synchronization process is triggered each time the operating system is started or a configuration change is detected, improving the efficiency of synchronization configuration and saving resources.

[0140] Figure 5 A structural diagram of a configuration synchronization device provided by an embodiment of the present invention, such as Figure 5 As shown, the configuration synchronization device includes:

[0141] A memory 60, for storing computer programs;

[0142] The processor 61 is used to implement the steps of configuring the synchronization method in the above embodiment when executing the computer program.

[0143] The configuration synchronization device provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer, or a desktop computer.

[0144] Among them, the processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 61 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 61 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0145] The memory 60 may include one or more computer-readable storage media, which may be non-transitory. The memory 60 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 60 is at least used to store the following computer program 601, wherein, after the computer program is loaded and executed by the processor 61, it can implement the relevant steps of the configuration synchronization method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 60 may also include an operating system 602 and data 603, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 602 may include Windows, Unix, Linux, etc. Data 603 may include but is not limited to data of the configuration synchronization method, etc.

[0146] In some embodiments, the configuration synchronization device may further include a display screen 62 , an input and output interface 63 , a communication interface 64 , a power supply 65 , and a communication bus 66 .

[0147] Those skilled in the art will understand that Figure 5 The structure shown in the figure does not constitute a limitation on the configuration synchronization device, and may include more or less components than shown in the figure.

[0148] It is understandable that if the configuration synchronization method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the current technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk or optical disk and other media that can store program code.

[0149] Based on this, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the configuration synchronization method described above are implemented.

[0150] A computer program product provided in an embodiment of the present application is introduced below. The computer program product described below can be referenced to other embodiments described in this document.

[0151] A computer program product comprises a computer program / instruction, which implements the steps of the configuration synchronization method disclosed above when executed by a processor.

[0152] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0153] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0154] Finally, it should be noted that, in this article, relationships such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variations are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0155] The above is a detailed introduction to a configuration synchronization method, device, equipment and computer-readable storage medium provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A configuration synchronization method, characterized in that: include: Pre-storing configuration information of the first basic input / output system flash memory and the second basic input / output system flash memory in a configuration database of a baseboard management controller; Acquire current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory; Configuration synchronization is performed based on the configuration information in the configuration database and the current configuration information.

2. The configuration synchronization method according to claim 1, characterized in that: Also includes: Monitoring configuration information of operating system and / or basic input and output system flash memory; The basic input and output system flash memory includes the first basic input and output system flash memory and the second basic input and output system flash memory; When the operating system is started and / or the configuration information of the basic input and output system flash memory is modified, the step of performing configuration synchronization based on the configuration information in the configuration database and the current configuration information is performed.

3. The configuration synchronization method according to claim 1, characterized in that: The configuration information includes: The identifier, check value and configuration update time of the basic input and output system flash memory; the basic input and output system flash memory includes the first basic input and output system flash memory and the second basic input and output system flash memory.

4. The configuration synchronization method according to claim 3, characterized in that: Performing configuration synchronization based on the configuration information in the configuration database and the current configuration information includes: Comparing the identifier in the configuration database with the identifier in the current configuration information; If the two pairs of identifiers are not consistent, initialization is performed; If a pair of identifiers do not match when compared, a single synchronization is performed; If the two pairs of identifiers are consistent, then the check value in the configuration database is compared with the check value in the current configuration information; If the checksum values ​​are equal, exit; If the check values ​​are not equal, then the configuration update time in the configuration database is compared; If the configuration update time is consistent, exit; If the configuration update time is inconsistent, the check value, configuration update time and configuration partition data of the BIOS flash memory with the latest configuration update time are synchronized to another BIOS flash memory, and the configuration information in the configuration database is updated.

5. The configuration synchronization method according to claim 4, characterized in that: Perform initialization, including: Writing the configuration partition data of the primary basic input / output system flash memory into the configuration partition of the backup basic input / output system flash memory; Updating the check value in the configuration database to the check value of the master BIOS flash memory; The identifier in the current configuration information is written into the configuration database, and the current time is set as the configuration update time in the configuration database.

6. The configuration synchronization method according to claim 4, characterized in that: Perform a single synchronization, including: Using a BIOS flash memory with an inconsistent identifier as a target flash memory; Acquire a current identifier of the target flash memory from the current configuration information; updating the identifier of the target flash memory in the configuration database to the current identifier, and deleting the check value and configuration update time of the target flash memory in the configuration database; Deleting the configuration partition data of the target flash memory, and writing the configuration partition data of the basic input and output system flash memory with the same identifier into the configuration partition of the target flash memory; The check value and the configuration update time of the target flash memory in the configuration database are updated according to the configuration partition data and the current write time.

7. The configuration synchronization method according to claim 4, characterized in that: Also includes: If the identifier in the configuration database is empty, the initialization is performed.

8. A configuration synchronization device, characterized in that: include: A configuration information recording module, used to store the configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory in a configuration database of the baseboard management controller in advance; A current configuration information acquisition module, used to acquire current configuration information of the first basic input and output system flash memory and the second basic input and output system flash memory; A configuration synchronization module is used to perform configuration synchronization based on the configuration information in the configuration database and the current configuration information.

9. A configuration synchronization device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the configuration synchronization method as claimed in any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are loaded and executed by a processor, the configuration synchronization method according to any one of claims 1 to 7 is implemented.