Data updating method and substrate management controller

By updating the prediction model and identifying dependencies through configuration parameter updates, only the necessary configuration parameters of the baseboard management controller are updated, solving the problem of low upgrade efficiency and achieving efficient and stable configuration parameter updates.

CN120872385BActive Publication Date: 2025-12-16INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511406540.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-12-16
Estimated Expiration
2045-09-29

AI Technical Summary

Technical Problem

In the existing technology, upgrading a single configuration parameter of a functional module of the baseboard management controller is time-consuming and inefficient.

Method used

The system predicts the configuration parameters that need to be updated by using a configuration parameter update prediction model, identifies the configuration parameters that are dependent on it, and directly locates the storage location based on the configuration index list. Only the relevant update data is transmitted and processed, avoiding the download and update of the entire firmware package.

Benefits of technology

It significantly reduces data transfer volume and operation steps, improves update efficiency, avoids system anomalies caused by parameter conflicts and isolated updates, and optimizes operation and maintenance resource allocation and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120872385B_ABST
    Figure CN120872385B_ABST
Patent Text Reader

Abstract

The application discloses a data updating method and a substrate management controller, relates to the technical field of embedded systems, and only operates on a first configuration parameter which needs to be updated, directly positions the storage position of the first configuration parameter through a configuration index list, only transmits and processes updating data related to the first configuration parameter, avoids downloading and updating of the whole firmware package, significantly reduces the data transmission amount and operation steps, and greatly improves the updating efficiency. The second configuration parameter is identified through preset dependency relationship information, and linkage processing is performed based on the association information, so that parameter conflicts which may occur in an isolated updating mode are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of embedded systems technology, and in particular to a data update method and a baseboard management controller. Background Technology

[0002] The baseboard management controller is an important component in server management. It is responsible for monitoring and managing the hardware status of the server and plays a key role in the stable operation of the server.

[0003] In related technologies, upgrading the baseboard management controller involves upgrading the entire firmware package. However, in scenarios where only a single configuration parameter of a functional module of the baseboard management controller needs to be upgraded, the aforementioned technologies also require upgrading the entire firmware package, which is time-consuming and inefficient. Summary of the Invention

[0004] This application provides a data update method and a baseboard management controller to at least solve the problems of long time consumption and low efficiency when upgrading a single configuration parameter of a functional module of a baseboard management controller in the related art.

[0005] This application provides a data update method, including:

[0006] Based on the trained configuration parameter update prediction model, the update of the first configuration parameter in the functional module of the baseboard management controller is predicted to obtain the first request. The first request is used to request the update of the first configuration parameter in the functional module of the baseboard management controller.

[0007] Based on the preset dependency information, determine the second configuration parameter that has a dependency relationship with the first configuration parameter;

[0008] Based on the first request, determine the first storage location corresponding to the first configuration parameter in the configuration index list of the baseboard management controller;

[0009] Obtain the updated data corresponding to the first configuration parameter, and determine the association information between the updated data and the second configuration parameter;

[0010] Based on the updated data and the first storage location, the first configuration parameters are updated, and the update result is obtained;

[0011] If the update result is successful, the second configuration parameter is processed based on the associated information;

[0012] If the update result is an update failure, the first configuration parameter is rolled back, and a prompt message indicating that the first configuration parameter upgrade failed is generated based on the preset importance of the first configuration parameter.

[0013] This application also provides a baseboard management controller, including: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described data update methods when executing the computer program.

[0014] The data update method and baseboard management controller provided in this application operate only on the "first configuration parameter" that needs to be updated. The storage location of the first configuration parameter is directly located through the configuration index list. Only the update data related to the first configuration parameter is transmitted and processed, avoiding the download and update of the entire firmware package. This significantly reduces the amount of data transmission and operation steps, and greatly improves the update efficiency. Attached Figure Description

[0015] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 Flowchart of the data update method provided in the embodiments of this application Figure 1 ;

[0017] Figure 2 Flowchart of the data update method provided in the embodiments of this application Figure 2 ;

[0018] Figure 3 This is a schematic diagram of the structure of the data update device provided in the embodiments of this application;

[0019] Figure 4 This is a schematic diagram of the structure of the baseboard management controller provided in an embodiment of this application. Detailed Implementation

[0020] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, other embodiments obtained by those of ordinary skill in the art without creative effort are all within the protection scope of this application.

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

[0022] To address the technical problem of long upgrade times and low efficiency when upgrading a single configuration parameter of a functional module of the baseboard management controller in the aforementioned related technologies, the following technical concept is proposed: To avoid the need to download and update the entire firmware package in any upgrade scenario, the inventors propose that when upgrading a single configuration parameter of a functional module of the baseboard management controller, only the single configuration parameter needs to be upgraded and updated, thereby improving upgrade efficiency.

[0023] Meanwhile, during the process of upgrading a single configuration parameter, the inventors discovered that some configuration parameters that are highly dependent on the upgraded configuration parameter also need to be updated synchronously; otherwise, the system would malfunction due to the isolated updating of a single configuration parameter.

[0024] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0025] Figure 1 Flowchart of the data update method provided in the embodiments of this application Figure 1 ,like Figure 1 As shown, the data update method provided in this application embodiment is applied to any baseboard management controller, and the method includes:

[0026] S101. Based on the trained configuration parameter update prediction model, predict the update of the first configuration parameter in the functional module of the baseboard management controller to obtain a first request. The first request is used to request the update of the first configuration parameter in the functional module of the baseboard management controller.

[0027] The Baseboard Management Controller (BMC) monitors server hardware status, controls power supply, and manages fan speed. Operating independently of the server's main processor and operating system, it is a core component for remote server management and monitoring. Functional modules indicate the logical units within the BMC, such as power management, sensor monitoring, network configuration, and security authentication modules. The trained configuration parameter update prediction model indicates a deep learning or machine learning model trained on historical data, capable of analyzing the BMC's operational status data and predicting whether specific configuration parameters need updating. The first configuration parameter indicates the specific BMC configuration parameter that needs to be predicted for update, such as fan speed thresholds, sensor sampling frequency, and network timeout.

[0028] Specifically, operational data related to the first configuration parameter (e.g., real-time status data of BMC functional modules, historical configuration change records of monitoring indicators of associated hardware, and system event logs) are collected from the BMC and the server hardware it manages. The collected data is preprocessed and then input into the trained configuration parameter update prediction model. When the model prediction result is "update is needed", the first request is automatically generated.

[0029] It is possible that the first request can be sent from the user terminal device to the baseboard management controller.

[0030] S102. Based on preset dependency information, determine the second configuration parameter that has a dependency relationship with the first configuration parameter.

[0031] It's possible that the second configuration parameter is a prerequisite or constraint for the first configuration parameter. For example, if the first configuration parameter is "fan speed control mode" (such as "automatic speed control" or "manual speed control"), then the second configuration parameter might be "fixed RPM value during manual speed control"—when the "fan speed control mode" is updated to "manual," the "fixed RPM value" must be a valid value (non-zero), otherwise there will be a functional conflict. The versions of the second configuration parameter and the first configuration parameter must match. For example, if the first configuration parameter is "BMC firmware version," then the second configuration parameter might be "system version"—new BMC firmware might require the system version to be no lower than a certain threshold, otherwise communication errors will occur. The second configuration parameter shares system resources (such as memory) with the first configuration parameter. For example, if the first configuration parameter is "video resolution of the remote control console," then the second configuration parameter might be "video cache size"—higher resolution may require a larger cache, and if the cache size is insufficient, the cache parameters need to be adjusted first.

[0032] S103. Based on the first request, determine the first storage location corresponding to the first configuration parameter in the configuration index list of the baseboard management controller.

[0033] Specifically, based on the specific name of the configuration parameter in the first request, a preset traversal algorithm is used to traverse the configuration index list of the BMC and determine the first storage location corresponding to the specific name of the configuration parameter.

[0034] S104. Obtain the update data corresponding to the first configuration parameter, and determine the association information between the update data and the second configuration parameter.

[0035] Possibly, the updated data could be obtained from the user's terminal device, downloaded from the internet, or automatically generated by the baseboard management controller using a preset update algorithm. Correlation information can be determined by analyzing the relationship between the updated data and the second configuration parameters using a generative artificial intelligence cluster.

[0036] For example, if the updated data is "increase the maximum fan speed", then it is necessary to analyze its correlation information with the "CPU temperature alarm threshold" (second configuration parameter). The correlation information is that increasing the fan speed may allow for a proper relaxation of the CPU temperature alarm threshold.

[0037] S105. Based on the updated data and the first storage location, update the first configuration parameters and obtain the update result.

[0038] Specifically, the updated data is written to the first storage location to update the first configuration parameter. If the first configuration parameter has been correctly written and can take effect normally, the update result is determined to be "update successful". If there is a writing failure, verification failure or parameter failure, the update result is determined to be "update failed".

[0039] S106. If the update result is successful, then the second configuration parameter is processed based on the associated information.

[0040] For example, the first configuration parameter is the IP address of the BMC (updated from 192.168.1.10 to 10.0.0.10). The preset dependency information records the association between the "IP address" and the "connection address of the remote monitoring service" and the "log upload server address" (these are the second configuration parameters). The association information is that the updated IP address does not match the network segment of the second configuration parameter (the connection address of the remote monitoring service is 192.168.1.200).

[0041] Based on the associated information, the connection address of the remote monitoring service is synchronously updated to a new address in the same network segment (e.g., 10.0.0.200).

[0042] S107. If the update result is that the update fails, the first configuration parameter is rolled back, and a prompt message indicating that the first configuration parameter upgrade failed is generated based on the preset importance of the first configuration parameter.

[0043] The rollback function indicates that when an update fails, the first configuration parameter will be restored to its state before the update, ensuring that system functionality is not affected. The preset importance function indicates the predefined importance level of parameters based on business needs (e.g., urgent, important, general), which determines the level of the prompt message and the processing priority.

[0044] For example, a corresponding prompt message is generated based on the preset importance of the first configuration parameter. The prompt message can be: Emergency level: trigger a real-time alarm and notify the administrator to handle it immediately; Important level: generate a fault work order and require handling within a specified time; General level: record logs and reflect it in periodic reports.

[0045] The data update method provided in this application only operates on the "first configuration parameter" that needs to be updated. It directly locates the storage location of the first configuration parameter through a configuration index list, and only transmits and processes update data related to the first configuration parameter. This avoids downloading and updating the entire firmware package, significantly reducing data transmission volume and operation steps, and greatly improving update efficiency. The second configuration parameter is identified through preset dependency information, and linked processing is performed based on the association information, avoiding parameter conflicts that may occur in isolated update mode. By accurately identifying the update requirements of the first configuration parameter in advance through a model, invalid and missed updates are effectively reduced, sudden failures are reduced to lower operation and maintenance costs, and system stability is ensured by dynamically adapting to changes in business and environment. Based on the preset importance of the first configuration parameter, prompt information is generated, which can avoid alarm storms when updates fail, helping operation and maintenance personnel quickly focus on core issues, while optimizing the allocation of operation and maintenance resources to clarify the priority of problem handling.

[0046] Figure 2 Flowchart of the data update method provided in the embodiments of this application Figure 2 ,like Figure 2 As shown, the method includes:

[0047] S201. Based on the trained configuration parameter update prediction model, predict the update of the first configuration parameter in the functional module of the baseboard management controller to obtain a first request. The first request is used to request the update of the first configuration parameter in the functional module of the baseboard management controller.

[0048] In a possible BMC upgrade scenario, multiple upgrade requests may be obtained. Based on configuration parameter characteristics (e.g., "IP=192.168.1.1") and full firmware characteristics (e.g., "V2.0"), the first request and the full firmware package upgrade request may be identified from the multiple upgrade requests.

[0049] S202. Based on the preset dependency information, determine the second configuration parameter that has a dependency relationship with the first configuration parameter.

[0050] S203. Determine the user identifier of the first request.

[0051] For example, a user identifier is parsed from the first request. The user identifier may include a username, digital certificate, token, etc.

[0052] S204. Verify the user identifier and the format of the first request.

[0053] Specifically, the system verifies whether the user corresponding to the user identifier has the permission to operate the first configuration parameter mentioned above. It also verifies whether the format of the first request conforms to a preset data format, which includes, but is not limited to, preset parameter names, preset data types, and preset necessary fields.

[0054] S205. When the user identifier is verified and the format of the first request is verified, determine the first storage location corresponding to the first configuration parameter in the configuration index list of the BMC according to the first request.

[0055] S206. Obtain the update data corresponding to the first configuration parameter, and determine the association information between the update data and the second configuration parameter.

[0056] S207. Based on the updated data and the first storage location, update the first configuration parameters and obtain the update result.

[0057] In one possible implementation, for any first configuration parameter; the current first configuration parameter is obtained from a first storage location, and the current first configuration parameter is backed up to obtain the backed-up first configuration parameter; the updated data corresponding to the first configuration parameter is stored in the first storage location to obtain the updated first configuration parameter.

[0058] Specifically, the scope of application is "any first configuration parameter," meaning that when multiple configuration parameters to be updated exist in a BMC functional module (such as a fan control module, power management module, etc.), each parameter needs to be updated individually. Different configuration parameters have different functions in the BMC system (for example, fan speed threshold and power-on delay parameters belong to different functional domains). Individual processing can prevent the failure of updating one parameter from affecting the normal updating of other parameters, and also reduce errors caused by batch operations. The current first configuration parameter is backed up in a preset backup storage area to obtain the backed-up first configuration parameter. The backed-up first configuration parameter also includes the attribute information of the configuration parameter (such as data type, scope of application, version number, etc.). The preset backup storage area is physically isolated from the storage location of the original configuration parameter (for example, the original configuration parameter is stored in the BMC's Flash main partition, and the backed-up configuration parameter is stored in the Flash backup partition or temporary cache) to avoid backup failure due to failure of the main storage area.

[0059] It is possible to choose different write strategies depending on the type of configuration parameter (such as static or dynamic parameters). For example, static parameters may need to be written to non-volatile memory, while dynamic parameters may be written to random access memory to improve efficiency.

[0060] In one possible implementation, it is determined whether the update data has been successfully stored; if the update data has been successfully stored, a message indicating successful update is sent to the user terminal device; if the update data has not been successfully stored, the backed-up first configuration parameters are re-stored to the first storage location, and a message indicating update failure is sent to the user terminal device.

[0061] Specifically, based on a preset hash algorithm, the system verifies whether the stored data and the updated data are consistent. If the stored data and the updated data are consistent, the updated data is determined to have been successfully stored; otherwise, the updated data is determined to have not been successfully stored, thus avoiding data corruption caused by storage medium errors (such as bad blocks in Flash).

[0062] In addition to the "Update Successful" status indicator, successful update messages may include supplementary information such as the update completion time, the updated configuration parameter values, and the method of configuration parameter activation (e.g., immediate or after a restart). For example, a successful update message might read: "Fan speed threshold has been updated to 3000 RPM, and will take effect in 5 seconds." Failed update messages can include specific reasons for the failure (e.g., "Storage media read / write error" or "Data verification failed") to help users locate the problem. Simultaneously, the failure reason is written to the BMC's system log for subsequent operational analysis.

[0063] For update failures caused by temporary network fluctuations, a "retry update" option can be provided to the user device after rollback, but the number of retries should be limited (e.g., a maximum of 3 times) to avoid repeated operations causing damage to the BMC storage media.

[0064] In one possible implementation, a second configuration parameter associated with the first configuration parameter is determined; compatibility information between the second configuration parameter and the update data is determined, and the update data corresponding to the first configuration parameter is stored in a first storage location according to the compatibility information; when the compatibility information indicates that the second configuration parameter and the update data are incompatible, the updating of the first configuration parameter is stopped.

[0065] Specifically, the compatibility information between the second configuration parameter and the updated data is determined based on preset compatibility rules. For example, the rule might be "If the first configuration parameter is updated to IPv6 format, then the IP address format of the second configuration parameter must be IPv6". If the second configuration parameter is currently "IPv4", then the compatibility information is "incompatible".

[0066] For numerical parameters, compatibility is determined by checking whether the updated data is within the range allowed by the second configuration parameter. For example, if the first configuration parameter is "maximum power consumption threshold of the central processing unit" and the updated data is "300W", and the second configuration parameter is "maximum output power of the power module" (current value is 250W), then because 300W > 250W, the compatibility information is "incompatible".

[0067] Specifically, even if the compatibility information indicates "compatible," a quick verification must still be performed before storage to ensure that the second configuration parameter has not been modified by other processes after the compatibility check. For example, if the BMC receives two update requests simultaneously (updating parameter A and parameter B respectively, and A and B are associated), a locking mechanism (such as a mutex lock) is needed to prevent parameter B from being modified after the compatibility check of A, which would cause compatibility failure during actual storage. For the first configuration parameter that has a strong dependency on the second configuration parameter, a "temporary storage first, then formal implementation" approach can be adopted. For example, when updating the "fan speed control curve" (first configuration parameter), if it is compatible with the "temperature sensor accuracy" (second configuration parameter), the updated data can be stored in a temporary area first. After the functional module loads and verifies that there are no errors, it can be written to the formal storage location to further reduce errors. If the compatibility information indicates "second configuration parameter needs to be updated synchronously" (e.g., after the first parameter is updated, the second parameter needs to be fine-tuned to maintain suitable compatibility), then when storing the updated data of the first parameter, the adaptation update of the second parameter can be automatically triggered (the user needs to pre-authorize such linkage operations). For example, after updating the "CPU Overclocking Mode" (first configuration parameter), the "Cooling Fan Speed ​​Limit" (second configuration parameter) will be automatically increased by 10% to match higher cooling requirements.

[0068] When the compatibility information is "incompatible," "stop updating" not only means interrupting the storage operation of the current first configuration parameter, but also ensuring that the steps already performed (such as backing up the original parameters) do not affect the system state. For example, if parameters were backed up before compatibility verification, the backup should be retained but no write operation should be performed to maintain the system in its pre-update state. The information fed back to the user device should clearly specify the specific type of incompatibility, such as "numerical range conflict," "version mismatch," or "missing functional dependencies," to help users resolve the problem specifically. For resolvable incompatibility issues, solutions can be provided to the user. For example, if the update data for "maximum number of connections" (first parameter) is incompatible due to insufficient "memory capacity" (second parameter), it can be suggested to "expand the memory capacity from 2GB to 4GB and then retry."

[0069] In one possible implementation, a second request is obtained, the second request including configuration parameter features or full firmware features; if the second request includes configuration parameter features, the second request is determined as the first request.

[0070] Specifically, the second request can be an original update request sent by the user terminal device to the baseboard management controller. The baseboard management controller identifies whether the second request is the first request based on the configuration parameter features or full firmware features in the second request. If the second request includes configuration parameter features, the second request is determined to be the first request.

[0071] For example, the configuration parameter feature can be "IP=192.168.1.20", which means updating the configuration parameters (IP address) of the baseboard management controller, or it can be "addadmin2", which means updating the configuration parameters (administrator account) of the baseboard management controller. The full firmware feature can be "V2.3.1>>>V2.4.0", which means the second request is used to request an update of the full firmware to version V2.4.0.

[0072] In one possible implementation, the control function module loads the updated first configuration parameters; determines the running status of the function module that loads the updated first configuration parameters; and when the running status is abnormal, replaces the updated first configuration parameters in the function module with the backed-up first configuration parameters and sends an abnormal running prompt message to the user equipment.

[0073] Specifically, for dynamically effective parameters (such as alarm thresholds and fan speeds), the functional modules are immediately notified to reread and apply the parameters after storage. For example, upon receiving a parameter update notification, the fan control module immediately adjusts the fan motor signal according to the new speed threshold. For parameters that require system stability to take effect (such as network configurations and power modes), a delay loading time (e.g., 5 seconds) is set to avoid functional fluctuations caused by loading under high load. For example, after updating the "remote management port number," delayed loading ensures that the current network connection is properly disconnected before enabling the new port. For parameters that depend on specific system states, they must be loaded when conditions are met (e.g., when the device restarts). In this case, the BMC must mark the updated parameters as "pending effect" and trigger loading on the next restart. Perform functional tests related to the updated parameters to verify whether the modules work as expected. For example, if the "temperature alarm threshold" is updated, a scenario where the temperature exceeds the threshold is simulated using a heating sensor to check if an alarm is triggered; if the "network address" is updated, an attempt is made to establish a connection using the new address to verify whether the network function is normal. For parameters that affect system performance, it is necessary to monitor whether the updated performance indicators (such as processing speed and response time) are within the normal range to avoid performance degradation caused by improper parameter settings. By reading the status register or health check interface of the functional module, it can be determined whether the module is operating normally (such as whether it is in the "running" or "ready" state, rather than the "fault" or "offline" state).

[0074] In one possible implementation, update information associated with the update of the first configuration parameter is obtained, including the update time, update duration, configuration parameter values ​​before and after the update, and update operator information; the update information is then stored in the log storage area.

[0075] Specifically, timestamps accurate to milliseconds record the start time of the update operation (e.g., "2023-10-01 10:00:00.123"), used to trace the timeline of the operation, especially crucial during multiple updates or troubleshooting. The time interval from the start of the update to its final completion (success or failure) (e.g., "2.5 seconds") can be used to analyze update efficiency and identify time-consuming operations (potentially indicating aging storage media or excessive system load). Recording the original parameter values ​​and the updated values ​​(if the update is successful) or target values ​​(if the update fails) forms a "parameter change trajectory." For example, "fan speed threshold: 2000 before update → 3000 after update," facilitating comparative analysis of the impact of parameter changes on the system. Includes the operator's unique identifier (e.g., username, employee ID) and the physical address of the operating terminal for accountability and access control auditing, preventing unauthorized operations.

[0076] The log storage area must use non-volatile storage to ensure that logs are not lost after a BMC restart or power outage. For large-volume logs, a combination of local caching and periodic uploads to the server can be used to balance local storage pressure and log integrity.

[0077] In one possible implementation, the read / write performance parameters of the first storage location are detected in real time; if the read / write performance parameters are greater than or equal to a preset threshold, the updated data is written to the first storage location in a parallel writing manner; if the read / write performance parameters are less than the preset threshold, the updated data is written to the first storage location in a serial writing manner.

[0078] The read / write performance parameters include, but are not limited to, read / write speed, response time, and error rate. Read / write speed refers to the amount of data that can be written per unit of time, reflecting the throughput capacity of the storage medium. Response time refers to the time interval (e.g., milliseconds) between issuing a write request and the storage medium's confirmation of receipt, reflecting the workload of the storage medium. Error rate refers to the proportion of recent write operations that failed or were retried, reflecting the health status of the storage medium. Parallel write methods involve dividing the updated data into multiple data blocks and simultaneously writing to different areas of the storage medium (e.g., multiple blocks in Flash) through multiple write channels, shortening the total write time. For example, dividing 10KB of updated data into two 5KB blocks and writing them through two parallel channels can halve the write time. Serial write methods involve writing the updated data as a continuous whole sequentially through a single channel to the storage medium, avoiding multi-channel resource contention. For example, for a storage medium with a write speed of only 1MB / s, serial writing can reduce channel switching overhead and is more stable than parallel writing.

[0079] Possibly, multiple baseboard management controllers can be grouped into a single device group. When any baseboard management controller in the same device group receives a first request and a batch synchronization request for the device group, the baseboard management controller will share the update data and the first request with each baseboard management controller in the same device group through a physical link or wireless communication module during the update process, so as to achieve batch synchronization update of each baseboard management controller in the same device group.

[0080] S208. If the update result is successful, then the second configuration parameter is processed based on the associated information.

[0081] S209. If the update result is that the update fails, the first configuration parameter is rolled back, and a prompt message indicating that the first configuration parameter upgrade failed is generated based on the preset importance of the first configuration parameter.

[0082] The data update method provided in this application only operates on the "first configuration parameter" that needs to be updated. It directly locates the storage location of the first configuration parameter through a configuration index list, and only transmits and processes update data related to the first configuration parameter. This avoids downloading and updating the entire firmware package, significantly reducing data transmission volume and operation steps, and greatly improving update efficiency. The second configuration parameter is identified through preset dependency information, and linked processing is performed based on the association information, avoiding parameter conflicts that may occur in isolated update mode. Simultaneously, user identification verification ensures that only authorized personnel can modify parameters, preventing unauthorized users from tampering or misoperating, thus improving system security. The format verification of the first request can filter out incorrect parameter names, data types, etc., in advance, avoiding update failures due to format errors and reducing waste of system resources.

[0083] Furthermore, the backup operation ensures that the original configuration parameters are traceable, providing a data foundation for subsequent possible update failures and abnormal recovery, and avoiding parameter loss or system unrecoverability due to update errors.

[0084] By verifying the stored results, issues such as "incomplete update data" or "incorrect parameter values" caused by transmission errors or storage failures are avoided, ensuring the accuracy of configuration parameters. In the event of an update failure, the system automatically overwrites the erroneous data with backup configuration parameters, restoring the system to its pre-update state without manual intervention. This reduces operational costs and minimizes system downtime due to parameter errors.

[0085] BMC configuration parameters often have dependencies. Compatibility checks prevent related functions from failing due to a single parameter update, ensuring the overall configuration logic is consistent. Updates are terminated directly when configuration parameters are incompatible, preventing erroneous configuration parameters from entering the system and reducing functional anomalies caused by parameter conflicts from the source.

[0086] By explicitly designating only requests containing configuration parameter characteristics as the first request, the BMC can directly initiate the update process for specific configuration parameters without having to perform configuration parameter update steps on full firmware update requests, thus reducing invalid operations and improving processing efficiency.

[0087] The successful storage of the first configuration parameters only indicates that the data was written correctly; the final goal is to assess the operational status of the loaded functional modules. This mechanism ensures that the updated parameters can actually support the normal operation of the functional modules. If a functional module malfunctions, it is automatically restored using backup parameters, preventing long-term failure of the functional module due to parameter errors and ensuring the continuity of BMC's core management functions.

[0088] Complete records of update time, parameter changes, operators, and other information facilitate subsequent tracing of "when, who, and why the parameters were modified," especially in case of system anomalies, allowing for quick identification of whether the issue was caused by parameter updates.

[0089] Parallel writing is used when storage performance is good to accelerate data transfer and shorten update time, which is especially suitable for batch parameter update scenarios. Serial writing is used when storage performance is poor to avoid storage congestion and data conflicts caused by parallel operations, ensuring the correctness of parameter writes.

[0090] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.

[0091] Figure 3 This is a schematic diagram of the structure of the data update device provided in an embodiment of this application. Figure 3 As shown, embodiments of this application also provide a data update device 30 including: an acquisition module 301, a determination module 302, and an update module 303.

[0092] The acquisition module 301 is used to predict the update of the first configuration parameter in the functional module of the baseboard management controller based on the training completed configuration parameter update prediction model, and obtain a first request. The first request is used to request the update of the first configuration parameter in the functional module of the baseboard management controller.

[0093] The determination module 302 is used to determine the second configuration parameter that has a dependency relationship with the first configuration parameter based on the preset dependency relationship information;

[0094] The determining module 302 is further configured to determine, according to the first request, the first storage location corresponding to the first configuration parameter in the configuration index list of the baseboard management controller;

[0095] The acquisition module 301 is also used to acquire the update data corresponding to the first configuration parameter and determine the association information between the update data and the second configuration parameter;

[0096] The update module 303 is used to update the first configuration parameters based on the update data and the first storage location, and obtain the update result;

[0097] The update module 303 is also used to process the second configuration parameter based on the associated information if the update result is successful.

[0098] The update module 303 is also used to roll back the first configuration parameter if the update result is an update failure, and generate a prompt message indicating that the upgrade of the first configuration parameter has failed based on the preset importance of the first configuration parameter.

[0099] In one possible implementation, the update module 303 is specifically used for:

[0100] Obtain the current first configuration parameters from the first storage location and back up the current first configuration parameters to obtain the backed-up first configuration parameters;

[0101] The updated data corresponding to the first configuration parameter is stored in the first storage location to obtain the updated first configuration parameter.

[0102] In one possible implementation, the update module 303 is specifically used for:

[0103] Determine whether the updated data was successfully stored;

[0104] If the updated data is successfully stored, a message indicating successful update is sent to the user terminal device.

[0105] If the updated data is not successfully stored, the backed-up first configuration parameters will be re-stored to the first storage location, and an update failure message will be sent to the user terminal device.

[0106] In one possible implementation, the update module 303 is specifically used for:

[0107] Determine the second configuration parameter associated with the first configuration parameter;

[0108] Determine the compatibility information between the second configuration parameter and the updated data, and store the updated data corresponding to the first configuration parameter in the first storage location according to the compatibility information.

[0109] In one possible implementation, the update module 303 is specifically used for:

[0110] When the compatibility information indicates that the second configuration parameter is compatible with the updated data, the updated data corresponding to the first configuration parameter is stored in the first storage location;

[0111] When the compatibility information indicates that the second configuration parameter is incompatible with the updated data, the updating of the first configuration parameter is stopped.

[0112] In one possible implementation, the update module 303 is specifically used for:

[0113] Control the loading and updating of the first configuration parameters of the functional module;

[0114] Determine the running status of the functional module that has loaded the updated first configuration parameters;

[0115] When the operating state is abnormal, the updated first configuration parameter in the functional module is replaced with the backed-up first configuration parameter, and an abnormal operation prompt message is sent to the user equipment.

[0116] In one possible implementation, the update module 303 is specifically used for:

[0117] Obtain update information associated with the update of the first configuration parameter, the update information including update time, update duration, configuration parameter values ​​before and after the update, and update operator information;

[0118] The update information is stored in the log storage area.

[0119] In one possible implementation, the determining module 302 is specifically used for:

[0120] Determine the user identifier of the first requester;

[0121] Verify the user identifier and the format of the first request;

[0122] When the user identifier is verified and the format of the first request is verified, the first storage location corresponding to the first configuration parameter is determined in the configuration index list of the BMC according to the first request.

[0123] In one possible implementation, the update module 303 is specifically used for:

[0124] Real-time monitoring of read / write performance parameters of the first storage location;

[0125] If the read / write performance parameter is greater than or equal to a preset threshold, the updated data is written to the first storage location based on the parallel write method.

[0126] If the read / write performance parameter is less than the preset threshold, the updated data is written to the first storage location using a serial write method.

[0127] For a description of the features in the embodiment corresponding to the data update device, please refer to the relevant description in the embodiment corresponding to the data update method, which will not be repeated here.

[0128] Figure 4 This is a schematic diagram of the structure of the baseboard management controller provided in an embodiment of this application. Figure 4 As shown, the baseboard management controller 40 provided in this embodiment includes a processor 401 and a memory 402. Optionally, the baseboard management controller 40 further includes a communication component 403. The processor 401, memory 402, and communication component 403 are connected via a bus.

[0129] In the specific implementation process, the processor 401 executes the computer execution instructions stored in the memory 402, causing the processor 401 to execute the above-described data update method embodiment.

[0130] The specific implementation process of processor 401 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0131] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0132] The memory may include high-speed memory (Random Access Memory, RAM) and may also include non-volatile memory (NVM), such as disk storage.

[0133] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0134] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described data update method embodiments when it is run.

[0135] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0136] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described data update method embodiments.

[0137] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described data update method embodiments.

[0138] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0139] The data update method and baseboard management controller provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A data update method, characterized in that, Applied to a baseboard management controller, the method includes: Based on the trained configuration parameter update prediction model, the operating status data of the baseboard management controller is analyzed to predict the update of the first configuration parameter in the functional module of the baseboard management controller, and a first request is obtained. The first request is used to request the update of the first configuration parameter in the functional module of the baseboard management controller. The first configuration parameter includes any one of fan speed threshold, sensor sampling frequency or network timeout time. Based on preset dependency information, a second configuration parameter that has a dependency relationship with the first configuration parameter is determined; the second configuration parameter is a prerequisite or constraint of the first configuration parameter. Based on the specific name of the first configuration parameter in the first request, determine the first storage location corresponding to the first configuration parameter in the configuration index list of the baseboard management controller; Obtain the updated data corresponding to the first configuration parameter, and determine the association information between the updated data and the second configuration parameter; Based on the updated data and the first storage location, the first configuration parameters are updated, and the update result is obtained; If the update result is successful, then the second configuration parameter is processed based on the associated information; If the update result is an update failure, the first configuration parameter is rolled back, and a prompt message indicating that the first configuration parameter upgrade failed is generated based on the preset importance of the first configuration parameter. For any given first configuration parameter; updating the first configuration parameter based on the updated data and the first storage location includes: Obtain the current first configuration parameters from the first storage location and back up the current first configuration parameters to obtain the backed-up first configuration parameters; Determine the compatibility information between the second configuration parameter and the updated data; When the compatibility information indicates that the second configuration parameter is compatible with the updated data, the updated data corresponding to the first configuration parameter is stored in the first storage location to obtain the updated first configuration parameter; When the compatibility information indicates that the second configuration parameter is incompatible with the updated data, the updating of the first configuration parameter is stopped; After storing the updated data corresponding to the first configuration parameter to the first storage location to obtain the updated first configuration parameter, the method further includes: Determine whether the updated data was successfully stored; If the updated data is successfully stored, a message indicating successful update is sent to the user terminal device. If the updated data is not successfully stored, the backed-up first configuration parameters will be re-stored to the first storage location, and an update failure message will be sent to the user terminal device. Control the loading and updating of the first configuration parameters of the functional module; Determine the running status of the functional module that has loaded the updated first configuration parameters; When the running state is abnormal, the updated first configuration parameter in the functional module is replaced with the backed-up first configuration parameter, and an abnormal running prompt message is sent to the user equipment. Obtain update information associated with the update of the first configuration parameter, the update information including update time, update duration, configuration parameter values ​​before and after the update, and update operator information; The update information is stored in the log storage area.

2. The method according to claim 1, characterized in that, The first request includes: Obtain a second request, which includes configuration parameter features or full firmware features; When the second request includes configuration parameter features, the second request is identified as the first request.

3. The method according to claim 1, characterized in that, Determining the first storage location corresponding to the first configuration parameter in the configuration index list of the baseboard management controller according to the first request includes: Determine the user identifier of the first requester; Verify the user identifier and the format of the first request; When the user identifier is verified and the format of the first request is verified, the first storage location corresponding to the first configuration parameter is determined in the configuration index list of the baseboard management controller according to the first request.

4. The method according to claim 1, characterized in that, When storing the updated data corresponding to the first configuration parameter to the first storage location, the method further includes: Real-time monitoring of read / write performance parameters of the first storage location; If the read / write performance parameter is greater than or equal to a preset threshold, the updated data is written to the first storage location based on the parallel write method. If the read / write performance parameter is less than the preset threshold, the updated data is written to the first storage location using a serial write method.

5. A baseboard management controller, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the data update method as described in any one of claims 1 to 4 when executing the computer program.

Citation Information

Patent Citations

  • Updating method and device of configuration file and electronic equipment

    CN115756532A