Basic input and output system firmware upgrading method and electronic equipment

By performing structured conversion and difference processing on the current configuration data of the BIOS firmware, a target configuration file is generated for upgrade, which solves the user configuration retention and compatibility issues in the BIOS firmware upgrade and realizes efficient and reliable firmware upgrade.

CN120704718AActive Publication Date: 2025-09-26INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202511231296.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-31
Publication Date
2025-09-26
Estimated Expiration
2045-08-31

AI Technical Summary

Technical Problem

In the prior art, during the BIOS firmware upgrade process, it is difficult to retain user personalized configurations, resulting in configuration errors and compatibility issues, affecting the normal startup of the system and causing low efficiency.

Method used

By obtaining the current configuration data of the BIOS firmware and performing structured conversion, the configuration parameters are compared with the standard upgrade firmware, the difference configuration items are identified, and the target configuration file is generated for upgrade based on the difference processing rules. The dual-partition design ensures automatic rollback in case of upgrade failure.

Benefits of technology

It achieves the retention of user configurations, avoids upgrade failures or startup failures, improves the accuracy and automation rate of firmware upgrades, and enhances operation and maintenance efficiency and system reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704718A_ABST
    Figure CN120704718A_ABST
Patent Text Reader

Abstract

The invention discloses a basic input and output system firmware upgrading method and electronic equipment, and relates to the technical field of servers, and the method comprises the following steps: obtaining current configuration data of basic input and output system firmware, and carrying out structured conversion on the current configuration data to obtain a first configuration file; obtaining upgrading configuration data of standard upgrading firmware of the basic input and output system to obtain a second configuration file; comparing the configuration parameter of the first configuration file with the configuration parameter of the second configuration file, and determining a difference configuration item; and processing the difference configuration item according to the difference processing rule to obtain a target configuration file, and upgrading the firmware of the basic input / output system according to the target configuration file, thereby solving the technical problem of firmware upgrading compatibility in related technologies, and achieving the purposes of reserving user configuration as much as possible and improving the user experience. The method has the advantages that upgrading failure or starting failure caused by configuration conflicts is avoided, firmware upgrading is efficiently completed, and the accuracy rate and the automation rate are increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of servers, and in particular to a basic input / output system firmware upgrading method and electronic equipment. Background Art

[0002] With the accelerating iteration and update of server requirements, the frequency of BIOS (Basic Input / Output System) updates has also increased significantly. In actual applications, users typically customize the BIOS configuration based on their business needs. During the BIOS firmware upgrade process, users generally expect their personalized configuration to be preserved. Relying on manual configuration backup and recovery is not only cumbersome but also prone to configuration errors due to human negligence, resulting in overall low efficiency. Although some current related technologies have configuration export and import functions, they still have significant deficiencies in handling the semantic evolution of configuration items and changes in applicable scope. When existing configuration items are deleted, renamed, or the configuration parameter range is adjusted in the new version of the firmware, directly using related technologies for configuration migration often leads to compatibility issues. In severe cases, it may even cause the system to fail to boot normally, affecting business continuity.

[0003] Therefore, in order to address the shortcomings of the existing technical solutions, the present invention provides a basic input and output system firmware upgrade method. Summary of the Invention

[0004] The present application provides a basic input / output system firmware upgrade method and an electronic device to at least solve the firmware upgrade compatibility problem in the related art.

[0005] The present application provides a basic input / output system firmware upgrade method, the method comprising: obtaining current configuration data of the basic input / output system firmware, performing structured conversion on the current configuration data to obtain a first configuration file; obtaining upgrade configuration data of the basic input / output system standard upgrade firmware to obtain a second configuration file; comparing configuration parameters of the first configuration file with configuration parameters of the second configuration file to determine difference configuration items; processing the difference configuration items according to a difference processing rule to obtain a target configuration file, and upgrading the basic input / output system firmware according to the target configuration file.

[0006] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any one of the above-mentioned basic input / output system firmware upgrade methods when executing the computer program.

[0007] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any one of the above-mentioned basic input and output system firmware upgrade methods are implemented.

[0008] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned basic input and output system firmware upgrade methods when executed by a processor.

[0009] Through the present application, the current configuration data of the basic input / output system firmware is obtained, the current configuration data is structuredly converted to obtain a first configuration file; the upgrade configuration data of the basic input / output system standard upgrade firmware is obtained to obtain a second configuration file; the configuration parameters of the first configuration file are compared with the configuration parameters of the second configuration file to determine the difference configuration items; the difference configuration items are processed according to the difference processing rules to obtain the target configuration file, and the basic input / output system firmware is upgraded according to the target configuration file. Therefore, the user configuration is retained as much as possible, and upgrade failure or startup failure caused by configuration conflict is avoided. The firmware upgrade is completed efficiently, and the accuracy and automation rate are improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0011] Figure 1 A flowchart of a basic input / output system firmware upgrade method provided in an embodiment of the present application; Figure 2 A schematic diagram of an upgrade process of a basic input / output system firmware upgrade method provided in an embodiment of the present application; Figure 3 A schematic diagram of a dual-partition upgrade process of a basic input / output system firmware upgrade method provided in an embodiment of the present application; Figure 4 A structural block diagram of a basic input / output system firmware upgrade device provided in an embodiment of the present application; Figure 5 This is a diagram of the internal structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0012] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0013] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0014] It should be noted that the terms "S1", "S2", etc. are used only for the purpose of describing the steps and do not specifically refer to the order or sequence, nor are they used to limit this application. They are merely for the convenience of describing the method of this application and should not be understood as indicating the order of the steps. In addition, the technical solutions between the various embodiments can be combined with each other, but this must be based on the fact that ordinary technicians in this field can implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0015] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0016] An embodiment of the present application provides a basic input / output system firmware upgrade method, and the method is described in detail in conjunction with the execution flow of the basic input / output system firmware upgrade method.

[0017] S101: Acquire current configuration data of basic input / output system firmware, perform structured conversion on the current configuration data, and obtain a first configuration file.

[0018] Here, the basic input and output system firmware is a set of core programs in the computer system that are solidified in the motherboard storage chip and are responsible for key functions such as hardware initialization, system self-test, and operating system booting.

[0019] Configuration data may include system time, date, motherboard information, language settings, CPU (Central Processing Unit) configuration, memory settings, chipset and I / O (Input / Output) settings, control system boot sequence settings, control system boot mode settings, security settings, power management, voltage and overclocking settings, integrated peripheral settings, etc. Specifically, CPU configuration may include enabling / disabling CPU dynamic frequency scaling for energy saving, adjusting the CPU multiplier, setting the CPU core voltage, enabling CPU sleep mode, and enabling virtualization support.

[0020] Here, the structured conversion is used to convert the current configuration data into a file with the same format as the second configuration file so that both can be used.

[0021] Among them, structured conversion can be performed through tools, structured conversion can be performed through UEFI NVRAM parsing, or structured conversion can be performed through scripts.

[0022] Exemplarily, the format conversion may be converting the binary configuration into a structured JSON / XML format.

[0023] S102: Acquire upgrade configuration data of the basic input / output system standard upgrade firmware to obtain a second configuration file.

[0024] Here, the basic input / output system standard upgrade firmware is an upgrade firmware that has not been configured for migration.

[0025] S103: Compare the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine different configuration items.

[0026] Specifically, the different configuration items may be determined by comparing configuration parameters of each configuration item in the first configuration file with the configuration parameters of the corresponding configuration item in the second configuration file one by one.

[0027] S104: Process the difference configuration items according to the difference processing rule to obtain a target configuration file, and perform a basic input and output system firmware upgrade according to the target configuration file.

[0028] Here, the difference processing rules can adopt different processing rules according to the different difference configuration items.

[0029] The target configuration file includes the configuration of the basic input / output system standard upgrade firmware and processed difference configuration items. The processed difference configuration items can be obtained from the current configuration data by retaining, mapping, etc.

[0030] Specifically, a target upgrade firmware is obtained according to a target configuration file and a firmware template, and the BIOS upgrade is performed using the target upgrade firmware.

[0031] It should be noted that this application retains user configuration as much as possible, avoids upgrade failure or startup failure due to configuration conflicts, efficiently completes firmware upgrades, and improves accuracy and automation.

[0032] In some specific implementations, obtaining current configuration data of a basic input / output system firmware and performing structured conversion on the current configuration data to obtain a first configuration file includes: Parsing the BIOS firmware and locating the configuration data area of ​​the BIOS firmware according to the configuration area identifier; The configuration data in the configuration data area is structurally converted by a conversion tool to obtain a first configuration file.

[0033] The configuration area identifier may be a Setup Module GUID.

[0034] The conversion tool may be IFR (Internal Forms Representation) to XML.

[0035] Specifically, the configuration block is located by parsing the Setup Module GUID in the header of the current firmware BIOS module, and a structured configuration file is generated using an IFR to XML conversion tool.

[0036] In this way, the originally closed, binary configuration logic can be converted into readable, analyzable, and programmable structured data.

[0037] In some specific implementations, comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file based on the configuration parameters to determine the difference configuration items includes: Identifying a user configuration item according to a preset identifier in the first configuration file; The configuration parameters of the user configuration items in the first configuration file are compared with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the different configuration items.

[0038] The preset flag may be Non-Default.

[0039] Specifically, when a user modifies a configuration, the modified configuration item is marked as Non-Default in real time. When the BIOS firmware is upgraded, the difference configuration items are directly identified through the Non-Default mark.

[0040] Specifically, after determining that a configuration item is a difference configuration item, the configuration parameters of the difference configuration item can be compared according to the configuration item name, data type, value range and configuration value to determine the type of the difference configuration item and process it according to the difference processing rules.

[0041] In this way, different configuration items can be quickly identified through preset identifiers.

[0042] In some specific implementations, comparing the configuration parameters of the first configuration file with the configuration parameters of the second configuration file to determine the different configuration items further includes: Obtaining first configuration parameters of multiple configuration items in a first configuration file, wherein the configuration parameters include a configuration item name, a data type, a value range, and a configuration value; Obtaining second configuration parameters of multiple configuration items in the second configuration file; Compare first configuration parameters and second configuration parameters of multiple configuration items to determine types of different configuration items.

[0043] The types of difference configuration items may include newly added configuration items, discarded configuration items, modified configuration items, conflicting configuration items, and compatibility risk configuration items.

[0044] In one embodiment, after the difference configuration items are determined by the preset identifier, the types of the difference configuration items can be determined by comparing the first configuration parameters and the second configuration parameters of the plurality of difference configuration items.

[0045] In some specific implementations, comparing the first configuration parameters and the second configuration parameters of the plurality of configuration items to determine the types of the different configuration items further includes: Obtaining a configuration item name in the first configuration parameter, and in response to the absence of the configuration item name in the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a first difference configuration item; In response to the configuration item name being present in the second configuration parameter, comparing the data type in the first configuration parameter with the data type in the second configuration parameter; In response to the data type being inconsistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; In response to the data types being consistent, comparing the parameter range in the first configuration parameter with the parameter range in the second configuration parameter; In response to the parameter range being consistent, determining the configuration item corresponding to the configuration parameter as the second difference configuration item; In response to the parameter range being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; If the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a third difference configuration item; If the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fourth difference configuration item; The configuration item name in the second configuration parameter is obtained, and in response to the configuration item name not existing in the first configuration parameter, the configuration item corresponding to the configuration parameter is determined to be the fifth difference configuration item.

[0046] Here, the first difference configuration item may be an abandoned configuration item, that is, the configuration item only exists in the first configuration file and does not exist in the second configuration file.

[0047] Here, the second difference configuration item can be a conflicting configuration item, that is, the configuration item has the same name but a different data type. For example, "SecureBoot" changes from a Boolean type to an enumeration type.

[0048] Here, the third difference configuration item may be a modified configuration item, that is, the configuration item name remains the same, the parameter range changes, and the current configuration value falls within the updated parameter range.

[0049] Here, the fourth difference configuration item may be a compatibility risk configuration item, that is, the configuration item name is the same, the parameter range is changed, and the current configuration value does not fall within the update parameter range.

[0050] Here, the fifth difference configuration item may be a newly added configuration item, that is, it only exists in the second configuration file and does not exist in the first configuration file.

[0051] Specifically, the configuration parameters of each configuration item in the first configuration file and the second configuration file are compared in sequence. The configuration items of the first configuration file can be obtained first, and the configuration items that match them in the second configuration file can be obtained. After all the configuration items in the first configuration file are compared, the unmatched configuration items in the second configuration file can be obtained.

[0052] In this way, the configuration change type can be accurately identified and analysis efficiency can be improved.

[0053] In some specific implementations, the difference configuration items are processed according to the difference processing rules to obtain the target configuration file, including: In response to the difference configuration item being the first difference configuration item, updating the first difference configuration item according to a preset mapping table to obtain a configuration item in the target configuration file; In response to failure to map through the preset mapping table, updating the first difference configuration item to a default value and generating an alarm log, and obtaining the configuration item in the target configuration file; In response to the difference configuration item being a second difference configuration item, constructing a decision element; Adjust the weights of decision factors based on historical data and user needs; Calculate, based on the decision factors and weights, the score of the second difference configuration item in the first configuration parameter and the score of the second difference configuration item in the second configuration parameter and compare them; The second difference configuration item with the highest score is used as the configuration item in the target configuration file; In response to the difference configuration item being the third difference configuration item, determining the configuration item in the target configuration file according to the first configuration parameter; In response to the difference configuration item being the fourth difference configuration item, obtaining a parameter range in the second configuration parameter and a configuration value in the first configuration parameter; Mapping the configuration value in the first configuration parameter to the parameter range in the second configuration parameter using a linear interpolation formula to determine the configuration item in the target configuration file; In response to the difference configuration item being the fifth difference configuration item, a configuration item in the target configuration file is determined according to the second configuration parameter.

[0054] Here, multiple processing rules can be combined into a multi-layer rule engine.

[0055] Among them, the functional equivalent replacement of the first difference configuration item is completed based on the dynamic mapping table.

[0056] Specifically, the configuration items in the first configuration file are replaced with functionally equivalent configuration items according to the preset mapping table, and the replacement items are automatically found or a compatibility warning is generated. If mapping is not possible, the default value of the configuration item in the second configuration file is used as the configuration value and an alarm log is generated.

[0057] For example, assuming that the boot mode in the first configuration file is Legacy Boot, and the second configuration file removes this mode and changes it to UEFI Boot With CSM, if there is a preset mapping table rule, then according to the mapping table, the old configuration item Legacy Boot = Enabled is replaced with UEFI Boot with CSM = Enabled; if there is no preset mapping table rule, the old item is removed and replaced with the new option and default value, and a compatibility warning is generated (for example: configuration item<Legacy Boot> Deprecated with no replacement).

[0058] The processing of the second difference configuration item is completed through the weighted decision tree arbitration method.

[0059] Among them, decision factors may include policy sources, compliance risks, performance impacts, user historical behaviors, etc.

[0060] Among them, the weight ratio of each decision factor can be automatically adjusted according to the historical conflict resolution effect (such as system stability after decision making).

[0061] Specifically, the weight ratio can be dynamically adjusted according to user needs.

[0062] For the third difference configuration item, the configuration item in the first configuration file may be used as the configuration item in the target configuration file.

[0063] Among them, the processing of the fourth difference configuration item can be achieved through linear interpolation formula mapping.

[0064] Specifically, according to the parameter range mapping, the configuration value in the first configuration file is proportionally mapped to the parameter range in the second configuration file, and the new configuration value can be obtained according to the formula NewValue = (OldValue - OldMin) / (OldMax -OldMin) * (NewMax - NewMin) + NewMin.

[0065] For example, in the first configuration file, the user sets the CPU temperature threshold to 95°C. However, in the second configuration file, due to a change in the heat dissipation design, the maximum temperature is limited to 90°C. The system performs parameter adaptation: 95°C → 90°C, and a log is generated.

[0066] For the fifth different configuration item, the configuration item in the second configuration file may be used as the configuration item in the target configuration file.

[0067] In one embodiment, it may also include: building a dependency graph based on configuration parameters, configuration item read and write dependencies, logical dependencies, binding relationships between configuration items and hardware resources, and service cascade dependencies; and processing difference configuration items based on the dependency graph in combination with difference processing rules.

[0068] Specifically, by parsing the firmware header file, a static configuration definition is obtained to extract the configuration parameters of the configuration items. Through static code analysis, the configuration access relationship is obtained to capture the read and write dependencies of the configuration items. The configuration item access stack is dynamically recorded to obtain the runtime call chain to obtain the implicit logical dependencies. Through device tree or chip manual parsing, a hardware resource mapping table is obtained to establish the binding relationship between the configuration items and hardware resources. The systemd unit or initialization script is analyzed to obtain the service startup dependency to identify the service cascade dependency.

[0069] For example, when processing the first differential configuration item, the mapping table is combined with the dependency graph to obtain the mapping value of the first differential configuration item. When processing the fourth differential configuration item, the dependency graph can be used to quickly identify the upstream and downstream relationships of the differential configuration items as a decision factor. This can improve the accuracy of configuration migration.

[0070] In this way, configuration lifecycle management automation, cross-version compatibility assurance, and a dynamic balance between security and flexibility are achieved.

[0071] In some specific embodiments, calculating and comparing the score of the second difference configuration item in the first configuration parameter and the score of the second difference configuration item in the second configuration parameter based on the decision factor and the weight includes: Determine the priority of the second difference configuration item; In response to the second difference configuration item belonging to the first priority, obtaining a security configuration parameter corresponding to the second difference configuration item; Calculate the score of security configuration parameters based on decision factors and weights; The score of the security configuration parameter, the score of the second difference configuration item in the first configuration parameter, and the score of the second difference configuration item in the second configuration parameter are compared.

[0072] The first priority level includes configuration items corresponding to security policies. Specifically, the priority level may also include configuration items corresponding to security performance and configuration items corresponding to interface preferences.

[0073] For example, assume the configuration item is CPU overclocking. Configuration value A in the first configuration file allows aggressive overclocking, configuration value B in the second configuration file allows basic overclocking, and configuration value C in the security configuration parameter prohibits overclocking. The decision factors include policy source, compliance risk, performance impact, and user history, with weights of 0.6, 0.2, 0.15, and 0.05 for each factor, respectively. The corresponding policy source scores for A, B, and C are 0.3, 0.7, and 1.0; the compliance risk scores are 0 (non-compliant), 0.8 (compliant), and 0.8 (compliant); the performance impact scores are 0.8 (performance gain), 0.7 (performance balance), and 0 (performance loss); and the user history scores are 0.9 (frequently modified), 0.3 (occasionally modified), and 0 (no history). According to the formula, the scores for A are 0.345, B is 0.7, and C is 0.76. Therefore, the security configuration parameter is selected as the configuration parameter for the configuration item in the target configuration file.

[0074] In one embodiment, the weight coefficient is optimized based on feedback from historical decision results. For example, if an enterprise frequently overrides security policies due to performance requirements, the weight of compliance risk is automatically increased.

[0075] In some specific implementations, before performing a basic input / output system firmware upgrade according to the target configuration file, the method further includes: Obtain the target configuration file and perform conflict configuration detection on the target configuration file; The test results are sent to the user for the user to determine how to handle the problem.

[0076] Specifically, the target configuration file is obtained, the migration simulation is pre-executed locally, the configuration is checked, a compatibility report is generated, and the user is prompted with the differences between the target configuration file and the first configuration file. The user then decides whether to agree to the modification; if there is a critical conflict, the user is notified in advance to interrupt the upgrade or confirm the handling method.

[0077] In this way, configuration risks are exposed in advance and failures during the upgrade process are avoided.

[0078] In some specific implementations, performing a basic input / output system firmware upgrade according to a target configuration file includes: Get the target upgrade firmware according to the target configuration file and the preset firmware template; Create a primary partition and a backup partition, where the primary partition runs the basic input and output system firmware; Writing the target upgrade firmware into the backup partition, and performing a basic input and output system firmware upgrade according to the target upgrade firmware; In response to an upgrade failure, an automatic rollback is triggered to restore the firmware in the spare partition to the basic input and output system firmware.

[0079] Here, valid partitions are distinguished by identifiers. The SPI Flash reserved area stores status identifiers: 0x55AA indicates that the primary partition is valid, and 0xAA55 indicates that the backup partition is valid.

[0080] Specifically, when upgrading the BIOS, the target upgrade firmware is written to the backup partition. If the upgrade is successful, an attempt is made to boot from the backup partition. If the boot is successful, the SPI Flash status identifier is updated (0x55AA is changed to 0xAA55), and the primary and backup partitions are switched. If the primary and backup switching is successful, the original primary partition is erased and the rollback image is written, the status identifier is updated, and the original primary partition is updated to the backup partition. If the upgrade fails (firmware flash failure / boot timeout / POST verification error), the recovery status identifier is 0x55AA, the invalid firmware of the backup partition is cleared, automatic rollback is triggered, and the backup partition is restored to the basic input and output system firmware.

[0081] In this way, a dual-partition design is adopted to ensure automatic rollback to the available version when the upgrade fails, reducing the problem of device failure to start due to upgrade interruption, and significantly improving operation and maintenance efficiency and system reliability.

[0082] In one embodiment, the upgrade process may also include: S1, when the user modifies the configuration, all non-default values ​​are automatically marked, and after the modification is completed, the binary configuration is converted into a structured JSON / XML format, key parameters are extracted and compared with the configuration definition files of the new and old firmware, and new items / obsolete items / modified items / conflicting items / compatibility risk items are identified; S2, according to the version difference modification rules, the new and old version difference options are modified; S3, the configuration template of the new firmware is extracted, the migration simulation is pre-executed locally, a compatibility report is generated, and the user is prompted with inconsistent information. If there is a critical conflict, the user is notified in advance to interrupt the upgrade or confirm the handling method; S4, a dual-partition design is adopted, and the new firmware is written to the backup partition and the configuration is migrated during the upgrade. After verification, it is switched to the primary partition. If it fails, it automatically rolls back to the last available version.

[0083] In one embodiment, Figure 2 This is a schematic diagram of the upgrade process in the embodiment of the present application, such as Figure 2 As shown, the upgrade process in this application includes: obtaining the current firmware file, receiving user modified configuration, marking user configuration items, parsing into A.xml file, obtaining standard upgrade firmware file, parsing into B.xml file, comparing A.xml file and B.xml file, obtaining configuration difference items, modifying rules according to version differences, obtaining target configuration files, obtaining target upgrade firmware files according to firmware templates, generating a compatibility report, prompting whether to upgrade, if so, upgrading, if not, ending the upgrade.

[0084] In one embodiment, Figure 3 This is a schematic diagram of the dual partition upgrade process in the embodiment of this application, such as Figure 3 As shown, the dual-partition upgrade process in this application includes: upgrading the standby partition version A to version B, checking whether the upgrade is successful, if not, the standby partition rolls back to version A, if so, checking the main partition version, if the main partition version is B, ending the upgrade, if the main partition version is A, the standby partition switches to the running partition, whether the switch is successful, if so, run partition version B, if not, switch the running partition version A to the standby partition.

[0085] It should be understood that although Figure 1-Figure 3 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1-Figure 3At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0086] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0087] An embodiment of the present application also provides a basic input / output system firmware upgrade device, the cloud platform includes a deployment node and at least one basic node, and the device includes: a first processing module 401, used to obtain the current configuration data of the basic input / output system firmware, perform structured conversion on the current configuration data, and obtain a first configuration file; a second processing module 402, used to obtain the upgrade configuration data of the basic input / output system standard upgrade firmware, and obtain a second configuration file; a third processing module 403, used to compare the configuration parameters of the first configuration file with the configuration parameters of the second configuration file, and determine the difference configuration items; a fourth processing module 404, used to process the difference configuration items according to the difference processing rules, obtain the target configuration file, and upgrade the basic input / output system firmware according to the target configuration file.

[0088] As a preferred implementation, in the embodiment of the present application, the first processing module 401 is specifically used to: parse the basic input and output system firmware, locate the configuration data area of ​​the basic input and output system firmware according to the configuration area identifier; and perform structured conversion on the configuration data in the configuration data area through a conversion tool to obtain a first configuration file.

[0089] As a preferred implementation, in the embodiment of the present application, the third processing module 403 is specifically used to: identify the user configuration item based on the preset identifier in the first configuration file; compare the configuration parameters of the user configuration item in the first configuration file with the configuration parameters of the corresponding user configuration item in the second configuration file to determine the difference configuration item.

[0090] As a preferred implementation method, in an embodiment of the present application, the third processing module 403 is specifically used to: obtain first configuration parameters of multiple configuration items in a first configuration file, where the configuration parameters include configuration item name, data type, value range and configuration value; obtain second configuration parameters of multiple configuration items in a second configuration file; compare the first configuration parameters and the second configuration parameters of multiple configuration items to determine the type of different configuration items.

[0091] As a preferred implementation, in the embodiment of the present application, the third processing module 403 is further specifically used to: obtain the configuration item name in the first configuration parameter, and in response to the absence of the configuration item name in the second configuration parameter, determine that the configuration item corresponding to the configuration parameter is the first difference configuration item; in response to the presence of the configuration item name in the second configuration parameter, compare the data type in the first configuration parameter with the data type in the second configuration parameter; in response to the inconsistency of the data types, determine that the configuration item corresponding to the configuration parameter is the second difference configuration item; in response to the consistency of the data types, compare the parameter range in the first configuration parameter with the parameter range in the second configuration parameter; in response to the parameter range being the same, compare the parameter range in the first configuration parameter with the parameter range in the second configuration parameter; In response to the inconsistent parameter ranges, determine whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determine that the configuration item corresponding to the configuration parameter is the third difference configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determine that the configuration item corresponding to the configuration parameter is the fourth difference configuration item; obtain the configuration item name in the second configuration parameter, and in response to the absence of the configuration item name in the first configuration parameter, determine that the configuration item corresponding to the configuration parameter is the fifth difference configuration item.

[0092] As a preferred implementation, in the embodiment of the present application, the fourth processing module 404 is specifically used to: in response to the difference configuration item being the first difference configuration item, update the first difference configuration item according to the preset mapping table to obtain the configuration item in the target configuration file; in response to the failure to map through the preset mapping table, update the first difference configuration item to the default value and generate an alarm log to obtain the configuration item in the target configuration file; in response to the difference configuration item being the second difference configuration item, construct a decision factor; adjust the weight of the decision factor according to historical data and user needs; calculate the score of the second difference configuration item in the first configuration parameter and the first difference configuration item according to the decision factor and the weight; The scores of the second difference configuration items in the two configuration parameters are compared; the second difference configuration item with a higher score is used as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, the configuration item in the target configuration file is determined according to the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, the parameter range in the second configuration parameter and the configuration value in the first configuration parameter are obtained; through a linear interpolation formula, the configuration value in the first configuration parameter is mapped to the parameter range in the second configuration parameter to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, the configuration item in the target configuration file is determined according to the second configuration parameter.

[0093] As a preferred implementation method, in the embodiment of the present application, the fourth processing module 404 is specifically used to: determine the priority of the second difference configuration item; in response to the second difference configuration item belonging to the first priority, obtain the security configuration parameter corresponding to the second difference configuration item; calculate the score of the security configuration parameter based on the decision factors and weights; compare the score of the security configuration parameter, the score of the second difference configuration item in the first configuration parameter, and the score of the second difference configuration item in the second configuration parameter.

[0094] As a preferred implementation, in an embodiment of the present application, the device further includes a detection module, which is specifically used to: obtain a target configuration file, perform conflict configuration detection on the target configuration file; and send the detection result to the user for the user to determine a handling method.

[0095] As a preferred implementation, in an embodiment of the present application, the fourth processing module 404 is further specifically used to: obtain a target upgrade firmware based on a target configuration file and a preset firmware template; create a primary partition and a backup partition, wherein the basic input / output system firmware runs in the primary partition; write the target upgrade firmware to the backup partition, and upgrade the basic input / output system firmware based on the target upgrade firmware; in response to an upgrade failure, trigger an automatic rollback, and restore the firmware in the backup partition to the basic input / output system firmware.

[0096] For the description of the features in the embodiment corresponding to the basic input / output system firmware upgrading apparatus, reference can be made to the relevant description of the embodiment corresponding to the basic input / output system firmware upgrading method, which will not be described in detail here.

[0097] The embodiment of the present application further provides an electronic device, which may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 5 As shown. The electronic device includes a processor, a memory, a network interface, a display screen and an input device connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a basic input and output system firmware upgrade method is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the housing of the electronic device, or an external keyboard, touchpad or mouse, etc.

[0098] Those skilled in the art will understand that Figure 5The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the electronic device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0099] In one embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: S1: obtaining current configuration data of basic input / output system firmware, performing structured conversion on the current configuration data, and obtaining a first configuration file; S2: obtaining upgrade configuration data of a basic input / output system standard upgrade firmware, and obtaining a second configuration file; S3: comparing configuration parameters of the first configuration file with configuration parameters of the second configuration file, and determining difference configuration items; S4: processing the difference configuration items according to a difference processing rule, and obtaining a target configuration file, and upgrading the basic input / output system firmware according to the target configuration file.

[0100] In one embodiment, when executing the computer program, the processor further implements the following steps: parsing the basic input and output system firmware, locating the configuration data area of ​​the basic input and output system firmware based on the configuration area identifier; and performing structured conversion on the configuration data in the configuration data area using a conversion tool to obtain a first configuration file.

[0101] In one embodiment, when the processor executes the computer program, it further implements the following steps: identifying the user configuration item based on a preset identifier in the first configuration file; and comparing the configuration parameters of the user configuration item in the first configuration file with the configuration parameters of the corresponding user configuration item in the second configuration file to determine the different configuration items.

[0102] In one embodiment, when the processor executes the computer program, it also implements the following steps: obtaining first configuration parameters of multiple configuration items in a first configuration file, where the configuration parameters include configuration item name, data type, value range and configuration value; obtaining second configuration parameters of multiple configuration items in a second configuration file; comparing the first configuration parameters and the second configuration parameters of the multiple configuration items to determine the type of the different configuration items.

[0103] In one embodiment, when the processor executes the computer program, the processor further implements the following steps: obtaining a configuration item name in the first configuration parameter, and in response to the absence of the configuration item name in the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a first difference configuration item; in response to the presence of the configuration item name in the second configuration parameter, comparing the data type in the first configuration parameter with the data type in the second configuration parameter; in response to the data types being inconsistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; in response to the data types being consistent, comparing the parameter range in the first configuration parameter with the parameter range in the second configuration parameter; in response to the parameter ranges being consistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; in response to the parameter ranges being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a third difference configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fourth difference configuration item; obtaining the configuration item name in the second configuration parameter, and in response to the absence of the configuration item name in the first configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fifth difference configuration item.

[0104] In one embodiment, when the processor executes the computer program, the following steps are further implemented: in response to the difference configuration item being the first difference configuration item, the first difference configuration item is updated according to the preset mapping table to obtain the configuration item in the target configuration file; in response to the difference configuration item being unable to be mapped through the preset mapping table, the first difference configuration item is updated to the default value and an alarm log is generated to obtain the configuration item in the target configuration file; in response to the difference configuration item being the second difference configuration item, a decision factor is constructed; according to historical data and user needs, the weight of the decision factor is adjusted; according to the decision factor and the weight, a score of the second difference configuration item in the first configuration parameter and a second configuration item are calculated; The scores of the second difference configuration items in the parameters are compared; the second difference configuration item with a higher score is used as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, the configuration item in the target configuration file is determined according to the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, the parameter range in the second configuration parameter and the configuration value in the first configuration parameter are obtained; through the linear interpolation formula, the configuration value in the first configuration parameter is mapped to the parameter range in the second configuration parameter to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, the configuration item in the target configuration file is determined according to the second configuration parameter.

[0105] In one embodiment, when the processor executes the computer program, it also implements the following steps: determining the priority of the second difference configuration item; in response to the second difference configuration item belonging to the first priority, obtaining the security configuration parameter corresponding to the second difference configuration item; calculating the score of the security configuration parameter based on the decision factor and the weight; and comparing the score of the security configuration parameter, the score of the second difference configuration item in the first configuration parameter, and the score of the second difference configuration item in the second configuration parameter.

[0106] In one embodiment, when the processor executes the computer program, the processor further implements the following steps: obtaining a target configuration file, performing conflict configuration detection on the target configuration file; and sending the detection result to the user for the user to determine a handling method.

[0107] In one embodiment, when the processor executes the computer program, the processor further implements the following steps: obtaining a target upgrade firmware based on a target configuration file and a preset firmware template; creating a primary partition and a backup partition, wherein the BIOS firmware runs in the primary partition; writing the target upgrade firmware into the backup partition, and upgrading the BIOS firmware based on the target upgrade firmware; in response to an upgrade failure, triggering an automatic rollback, and restoring the firmware in the backup partition to the BIOS firmware.

[0108] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: S1: obtaining current configuration data of basic input / output system firmware, performing structured conversion on the current configuration data, and obtaining a first configuration file; S2: obtaining upgrade configuration data of standard upgrade firmware of the basic input / output system, and obtaining a second configuration file; S3: comparing configuration parameters of the first configuration file with configuration parameters of the second configuration file to determine difference configuration items; S4: processing the difference configuration items according to difference processing rules to obtain a target configuration file, and upgrading the basic input / output system firmware according to the target configuration file.

[0109] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: parsing the basic input and output system firmware, locating the configuration data area of ​​the basic input and output system firmware based on the configuration area identifier; and performing structured conversion on the configuration data in the configuration data area using a conversion tool to obtain a first configuration file.

[0110] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: identifying the user configuration item based on a preset identifier in the first configuration file; and comparing the configuration parameters of the user configuration item in the first configuration file with the configuration parameters of the corresponding user configuration item in the second configuration file to determine the different configuration items.

[0111] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented: obtaining first configuration parameters of multiple configuration items in a first configuration file, where the configuration parameters include configuration item name, data type, value range and configuration value; obtaining second configuration parameters of multiple configuration items in a second configuration file; comparing the first configuration parameters and the second configuration parameters of the multiple configuration items to determine the type of the different configuration items.

[0112] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: obtaining a configuration item name in the first configuration parameter, and in response to the absence of the configuration item name in the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a first difference configuration item; in response to the presence of the configuration item name in the second configuration parameter, comparing the data type in the first configuration parameter with the data type in the second configuration parameter; in response to the data types being inconsistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; in response to the data types being consistent, comparing the parameter range in the first configuration parameter with the parameter range in the second configuration parameter; in response to the parameter ranges being consistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; in response to the parameter ranges being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a third difference configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fourth difference configuration item; obtaining the configuration item name in the second configuration parameter, and in response to the absence of the configuration item name in the first configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fifth difference configuration item.

[0113] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: in response to the difference configuration item being the first difference configuration item, the first difference configuration item is updated according to the preset mapping table to obtain the configuration item in the target configuration file; in response to the difference configuration item being unable to be mapped through the preset mapping table, the first difference configuration item is updated to the default value and an alarm log is generated to obtain the configuration item in the target configuration file; in response to the difference configuration item being the second difference configuration item, a decision factor is constructed; according to historical data and user needs, the weight of the decision factor is adjusted; according to the decision factor and the weight, a score of the second difference configuration item in the first configuration parameter and a second configuration item are calculated; The scores of the second difference configuration items in the parameters are compared; the second difference configuration item with a higher score is used as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, the configuration item in the target configuration file is determined according to the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, the parameter range in the second configuration parameter and the configuration value in the first configuration parameter are obtained; through the linear interpolation formula, the configuration value in the first configuration parameter is mapped to the parameter range in the second configuration parameter to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, the configuration item in the target configuration file is determined according to the second configuration parameter.

[0114] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: determining the priority of the second difference configuration item; in response to the second difference configuration item belonging to the first priority, obtaining the security configuration parameter corresponding to the second difference configuration item; calculating the score of the security configuration parameter based on the decision factor and the weight; and comparing the score of the security configuration parameter, the score of the second difference configuration item in the first configuration parameter, and the score of the second difference configuration item in the second configuration parameter.

[0115] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: obtaining a target configuration file, performing conflict configuration detection on the target configuration file; and sending the detection result to the user for the user to determine a handling method.

[0116] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: obtaining a target upgrade firmware based on a target configuration file and a preset firmware template; creating a primary partition and a backup partition, wherein the BIOS firmware runs in the primary partition; writing the target upgrade firmware into the backup partition, and upgrading the BIOS firmware based on the target upgrade firmware; in response to an upgrade failure, triggering an automatic rollback, and restoring the firmware in the backup partition to the BIOS firmware.

[0117] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0118] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0119] The above embodiments merely illustrate several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make numerous variations and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application.

Claims

1. A basic input and output system firmware upgrade method, characterized in that: The method comprises: Acquiring current configuration data of basic input / output system firmware, and performing structured conversion on the current configuration data to obtain a first configuration file; Acquire upgrade configuration data of the basic input / output system standard upgrade firmware to obtain a second configuration file; Comparing configuration parameters of the first configuration file with configuration parameters of the second configuration file to determine different configuration items; The difference configuration items are processed according to a difference processing rule to obtain a target configuration file, and the basic input and output system firmware is upgraded according to the target configuration file.

2. The basic input and output system firmware upgrade method according to claim 1, characterized in that: The step of obtaining current configuration data of the basic input / output system firmware and performing structured conversion on the current configuration data to obtain a first configuration file includes: parsing the basic input / output system firmware, and locating a configuration data area of ​​the basic input / output system firmware according to a configuration area identifier; The configuration data in the configuration data area is structurally converted by a conversion tool to obtain the first configuration file.

3. The basic input and output system firmware upgrade method according to claim 1, characterized in that: The comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the different configuration items includes: Identifying a user configuration item according to a preset identifier in the first configuration file; The configuration parameters of the user configuration items in the first configuration file are compared with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the different configuration items.

4. The basic input and output system firmware upgrade method according to claim 1, characterized in that: The comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the different configuration items further includes: Obtaining first configuration parameters of multiple configuration items in the first configuration file, wherein the configuration parameters include a configuration item name, a data type, a value range, and a configuration value; Obtaining second configuration parameters of multiple configuration items in the second configuration file; The first configuration parameters and the second configuration parameters of the multiple configuration items are compared to determine the types of the different configuration items.

5. The basic input and output system firmware upgrade method according to claim 4, characterized in that: The comparing the first configuration parameters and the second configuration parameters of the plurality of configuration items to determine the types of the different configuration items further includes: Obtaining a configuration item name in the first configuration parameter, and in response to the absence of the configuration item name in the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a first difference configuration item; In response to the configuration item name being present in the second configuration parameter, comparing the data type in the first configuration parameter with the data type in the second configuration parameter; In response to the data types being inconsistent, determining that the configuration item corresponding to the configuration parameter is a second difference configuration item; In response to the data types being consistent, comparing a parameter range in the first configuration parameter with a parameter range in the second configuration parameter; In response to the parameter range being consistent, determining the configuration item corresponding to the configuration parameter as a second difference configuration item; In response to the parameter range being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; If the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a third difference configuration item; If the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining that the configuration item corresponding to the configuration parameter is a fourth difference configuration item; The configuration item name in the second configuration parameter is obtained, and in response to the absence of the configuration item name in the first configuration parameter, the configuration item corresponding to the configuration parameter is determined to be the fifth difference configuration item.

6. The basic input and output system firmware upgrade method according to claim 5, characterized in that: The step of processing the difference configuration items according to the difference processing rules to obtain the target configuration file includes: In response to the difference configuration item being the first difference configuration item, updating the first difference configuration item according to a preset mapping table to obtain a configuration item in the target configuration file; In response to a failure to map through the preset mapping table, updating the first difference configuration item to a default value and generating an alarm log, and obtaining the configuration item in the target configuration file; In response to the difference configuration item being the second difference configuration item, constructing a decision element; Adjust the weights of the decision factors based on historical data and user needs; Calculating, based on the decision factors and weights, a score of the second difference configuration item in the first configuration parameter and a score of the second difference configuration item in the second configuration parameter and comparing them; The second difference configuration item with the highest score is used as the configuration item in the target configuration file; In response to the difference configuration item being the third difference configuration item, determining a configuration item in the target configuration file according to the first configuration parameter; In response to the difference configuration item being a fourth difference configuration item, obtaining a parameter range in the second configuration parameter and a configuration value in the first configuration parameter; Mapping the configuration value in the first configuration parameter to the parameter range in the second configuration parameter using a linear interpolation formula to determine the configuration item in the target configuration file; In response to the difference configuration item being the fifth difference configuration item, a configuration item in the target configuration file is determined according to the second configuration parameter.

7. The basic input and output system firmware upgrade method according to claim 6, characterized in that: The calculating, based on the decision factors and weights, a score of the second difference configuration item in the first configuration parameter and a score of the second difference configuration item in the second configuration parameter and comparing them includes: Determining the priority of the second difference configuration item; In response to the second difference configuration item belonging to the first priority, obtaining a security configuration parameter corresponding to the second difference configuration item; Calculating the score of the security configuration parameter according to the decision factors and weights; The score of the security configuration parameter, the score of the second difference configuration item in the first configuration parameter, and the score of the second difference configuration item in the second configuration parameter are compared.

8. The basic input and output system firmware upgrade method according to claim 1, characterized in that: Before performing the basic input and output system firmware upgrade according to the target configuration file, the method further includes: Obtaining the target configuration file, and performing conflict configuration detection on the target configuration file; The test results are sent to the user for the user to determine how to handle the problem.

9. The basic input and output system firmware upgrade method according to claim 1, characterized in that: The step of performing the basic input / output system firmware upgrade according to the target configuration file includes: Obtaining target upgrade firmware according to the target configuration file and the preset firmware template; creating a primary partition and a backup partition, wherein the BIOS firmware runs in the primary partition; Writing the target upgrade firmware into a spare partition, and performing a basic input / output system firmware upgrade according to the target upgrade firmware; In response to an upgrade failure, an automatic rollback is triggered to restore the firmware in the spare partition to the basic input and output system firmware.

10. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the basic input / output system firmware upgrade method according to any one of claims 1 to 9 when executing the computer program.

Citation Information

Patent Citations

  • Object selection method and device, storage medium and electronic equipment

    CN110533485A

  • Target object recommendation method and device, equipment and storage medium

    CN111914165A

  • BIOS configuration item display and modification method and system based on UEFI

    CN117707604A

  • Version updating method, device and equipment of baseboard management controller, and medium

    CN117742764A

  • Basic input and output system firmware upgrading method, product, equipment and medium

    CN118567692A

Cited By

  • Basic input and output system configuration method and electronic equipment

    CN122247858A

  • Basic input output system configuration method and electronic device

    CN122247858B