Server firmware version management method and program product
By obtaining server firmware version data and using clustering algorithms and intelligent decision-making technology, the problem of inconsistent after firmware version update is solved, and automatic abnormality detection and efficient management are achieved.
Patent Information
- Application Number
- CN202510787097.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-06-12
AI Technical Summary
In the prior art, the server firmware version cannot be guaranteed to be consistent with expectations after being updated, and there is a lack of effective abnormality detection methods, resulting in inefficient management.
By obtaining the firmware version data of the server's current and line refresh, using clustering algorithms to perform historical data analysis, monitoring and identifying abnormal data in real time, generating error information, combining intelligent decision-making and edge computing optimization and update strategies.
Automatic exception detection of firmware versions is realized to ensure consistency of the updated version, and improve management efficiency and server stability.
Smart Images

Figure CN120315752B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a server firmware version management method and program product. Background Art
[0002] In the related art, servers are core equipment in data centers, responsible for critical computing and storage tasks. During long-term use, servers often require multiple firmware updates. However, related art often only provides online firmware updates, but cannot guarantee that the updated firmware versions are consistent with expectations. Summary of the Invention
[0003] The present disclosure provides a server firmware version management method and program product, the main purpose of which is to ensure that the updated firmware version is consistent with the expected one, and to achieve automatic anomaly detection of firmware version data, thereby improving the efficiency of firmware version management.
[0004] According to a first aspect of the present disclosure, a server firmware version management method is provided, comprising:
[0005] Get the current firmware version data of the server and the firmware version data updated online;
[0006] If the current firmware version data of the server is inconsistent with the firmware version data refreshed online, an error message is generated;
[0007] Periodically obtaining historical firmware version data of the server;
[0008] Performing cluster analysis on the historical firmware version data using a clustering algorithm to group similar data into the same cluster;
[0009] The new firmware version data of the server is monitored and acquired in real time. If the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data.
[0010] According to a second aspect of the present disclosure, a server firmware version management device is provided, comprising:
[0011] The first data acquisition module is used to obtain the current firmware version data of the server and the firmware version data refreshed online;
[0012] A consistency check module, configured to generate an error message if the current firmware version data of the server is inconsistent with the firmware version data refreshed online;
[0013] A second data acquisition module is used to periodically acquire historical firmware version data of the server;
[0014] A clustering module, configured to perform cluster analysis on the historical firmware version data using a clustering algorithm, and to divide similar data into the same cluster;
[0015] The monitoring module is used to monitor and obtain new firmware version data of the server in real time, and if the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data.
[0016] According to a third aspect of the present disclosure, there is provided an electronic device, including:
[0017] at least one processor; and
[0018] a memory communicatively connected to the at least one processor; wherein,
[0019] The memory stores instructions that can be executed by the at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the first aspect.
[0020] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, including computer instructions, wherein the computer instructions are used to enable the computer to execute the method described in the first aspect.
[0021] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method as described in the first aspect above.
[0022] Through the present disclosure, the current firmware version data of the server and the firmware version data refreshed online are obtained; if the current firmware version data of the server is inconsistent with the firmware version data refreshed online, an error message is generated; the historical firmware version data of the server is periodically obtained; the historical firmware version data is clustered and analyzed using a clustering algorithm, and similar data is divided into the same cluster; the new firmware version data of the server is monitored and obtained in real time, and if the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data. In this way, on the one hand, the firmware version can be checked by comparing the consistency of the firmware version data after the firmware version is refreshed to ensure that the firmware version information is consistent with expectations. On the other hand, abnormal firmware version data can be automatically identified through a clustering algorithm to achieve automatic abnormality detection of firmware version data and improve the efficiency of firmware version management.
[0023] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.
[0025] Figure 1 A flowchart of a server firmware version management method provided by an embodiment of the present disclosure;
[0026] Figure 2 An architectural diagram of a server firmware version management system provided by an embodiment of the present disclosure;
[0027] Figure 3 A schematic diagram of the execution logic of a data acquisition module provided in an embodiment of the present disclosure;
[0028] Figure 4 A schematic diagram of the execution logic of an inspection module provided in an embodiment of the present disclosure;
[0029] Figure 5 A schematic diagram of the execution logic of a reminder module provided in an embodiment of the present disclosure;
[0030] Figure 6 A schematic diagram of the execution logic of a firmware update module provided in an embodiment of the present disclosure;
[0031] Figure 7 A schematic diagram of the execution logic of an intelligent management module provided in an embodiment of the present disclosure;
[0032] Figure 8 A schematic diagram of the structure of a server firmware version management device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0034] The server firmware version management method and program product according to the embodiments of the present disclosure are described below with reference to the accompanying drawings.
[0035] Figure 1 A flowchart of a server firmware version management method provided by an embodiment of the present disclosure.
[0036] like Figure 1 As shown, the method comprises the following steps:
[0037] Step 101: Obtain the current firmware version data of the server and the firmware version data updated online.
[0038] Information about the server's current firmware versions (i.e., firmware version data) can be retrieved from the database. For example, during server diagnostics, the firmware file to be flashed can be uploaded via the BMC WEB (the web-based management interface provided by the Baseboard Management Controller) or a dedicated tool. After receiving the firmware file, the system uses file parsing technology to extract the required firmware version data according to specific file format specifications. The firmware file and firmware version data are then stored in a designated system storage location, such as a specific database table or a dedicated file system directory, for easy access during server firmware version management.
[0039] Specifically, firmware version data required for server updates can be obtained from the production line database, collecting and recording the firmware version data required for server models from the production line database. During this acquisition process, database connection technology can be used to obtain relevant data (i.e., firmware version data) for various firmware versions according to pre-set query statements. It is understood that the acquired firmware version data can also be stored in a local cache or temporary data storage area for subsequent use.
[0040] Step 102: If the current firmware version data of the server is inconsistent with the firmware version data updated online, an error message is generated.
[0041] Among them, after obtaining the current firmware version data of the server and the firmware version data refreshed online, the current firmware version data of the server can be compared with the firmware version data refreshed online to determine whether the current firmware version data of the server is consistent with the firmware version data refreshed online, for example, according to the preset version number comparison rules, such as comparing from the major version, minor version to the revised version of the version number in sequence. If the current firmware version data of the server is consistent with the firmware version data refreshed online, it is considered that the firmware version refresh is successful. On the contrary, if the current firmware version data of the server is inconsistent with the firmware version data refreshed online, an error message can be generated, and the error message may include inconsistent firmware names, actual version numbers, expected version numbers, etc. It can be understood that the error message can be written into the database table.
[0042] Step 103: Periodically obtain historical firmware version data of the server.
[0043] The periodic acquisition of historical firmware version data from the server may be performed at a set period, the specific period of which may be set based on actual needs. The historical firmware version data may be firmware version data within a set historical period. For example, the set historical period may be a period starting from the current moment and before the current moment, with a set interval between the current moment and the current moment. The historical firmware version data may also include the current firmware version data.
[0044] Step 104 : Perform cluster analysis on the historical firmware version data using a clustering algorithm, and divide similar data into the same cluster.
[0045] The clustering algorithm can be a clustering algorithm within a machine learning framework, such as Scikit-Learn. The clustering algorithm can be used to cluster historical firmware version data, grouping similar data (similar firmware version data) into clusters. For example, appropriate clustering parameters, such as the number of clusters and distance metric, can be set to group similar firmware version data into the same cluster.
[0046] Step 105 : monitor and obtain new firmware version data of the server in real time. If the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data.
[0047] The server's firmware's new firmware version data can also be monitored in real time to determine whether the new firmware version data deviates from its cluster. For example, the new firmware version data can be clustered using the clustering algorithm from the previous step (e.g., by comparing the new firmware version data with the clustering of the previous firmware version data) to determine whether the new firmware version data deviates from its cluster. If the new firmware version data deviates from its cluster (e.g., the new firmware version data differs significantly from the cluster), the new firmware version data can be determined to be abnormal data.
[0048] In summary, the method provided by the embodiment of the present disclosure obtains the current firmware version data of the server and the firmware version data refreshed online; if the current firmware version data of the server is inconsistent with the firmware version data refreshed online, an error message is generated; the historical firmware version data of the server is periodically obtained; the historical firmware version data is clustered and analyzed using a clustering algorithm to divide similar data into the same cluster; the new firmware version data of the server is monitored and obtained in real time, and if the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data. In this way, on the one hand, the firmware version can be checked by comparing the consistency of the firmware version data after the firmware version is refreshed to ensure that the firmware version information is consistent with expectations. On the other hand, abnormal firmware version data can be automatically identified through a clustering algorithm to achieve automatic abnormality detection of firmware version data and improve the efficiency of firmware version management.
[0049] It should be noted that the embodiments of the present disclosure may include multiple steps. For the convenience of description, these steps are numbered, but these numbers do not limit the execution time slots or execution order between the steps; these steps can be implemented in any order, and the embodiments of the present disclosure do not limit this.
[0050] Furthermore, in a possible implementation of this embodiment, the following is further included:
[0051] Get historical firmware version update data;
[0052] Use clustering algorithms to perform cluster analysis on historical firmware version data and divide similar data into the same cluster, including:
[0053] Performing data preprocessing on the server's firmware version data and historical firmware version update data to obtain preprocessed server firmware version data;
[0054] Use clustering algorithms to perform cluster analysis on the pre-processed firmware version data and historical firmware version update data, and divide similar data into the same cluster;
[0055] After determining that the new firmware version data is abnormal data, the following steps are also included:
[0056] If the new firmware version data is abnormal, a risk warning will be triggered.
[0057] Furthermore, historical firmware version update data from the server can also be regularly collected. When using a clustering algorithm to perform cluster analysis on the historical firmware version data and group similar data into the same cluster, the server's firmware version data and historical firmware version update data can first be preprocessed, such as by cleaning the data and removing noise and outliers. Then, by setting appropriate clustering parameters, such as the number of clusters and distance measurement method, cluster analysis can be performed on the preprocessed firmware version data and historical firmware version update data using a clustering algorithm, grouping similar data into the same cluster. In this way, by combining the current firmware version data with the historical firmware version update data, anomalies in the firmware version data can be determined. This can further improve the accuracy of the clustering results, enhance the accuracy of the judgment results, and thus enhance management efficiency. Furthermore, data preprocessing can ensure data accuracy, providing accurate data support for subsequent data analysis and processing.
[0058] Among them, if the new firmware version data is abnormal data, it can also trigger a risk warning. It is understandable that the risk warning can be output to management personnel so that management personnel can promptly understand the situation of the server's firmware version data and perform corresponding maintenance.
[0059] Furthermore, in a possible implementation of this embodiment, after periodically obtaining historical firmware version data of the server, the process further includes:
[0060] Obtain the running status data corresponding to each historical firmware version data;
[0061] Based on the historical firmware version data, the operating status data corresponding to each historical firmware version data, and the historical firmware version update data, a preset model is trained to obtain an operating status detection model;
[0062] Predict the target operating state corresponding to the new firmware version data through the operating state detection model;
[0063] Outputs the target operating status.
[0064] The operating status data corresponding to each historical firmware version data can also be obtained, including CPU (central processing unit) usage and memory usage. A preset model is trained based on the historical firmware version data, the operating status data corresponding to each historical firmware version data, and the historical firmware version update data. During the training process, the model parameters (such as weights and biases) are adjusted so that the model can accurately learn the relationship between the firmware version data and the operating status data. The trained preset model is referred to as the operating status detection model. Then, when the new firmware version data is monitored and obtained from the server, the new firmware version data can be input into the operating status detection model. The operating status detection model analyzes and processes the new firmware version data to predict the operating status corresponding to the new firmware version data, which is the target operating status. The target operating status can reflect the stability of the firmware version data and whether it is prone to compatibility issues. Finally, the target operating status can be output and provided to management personnel for decision-making reference, for example. In this way, by using the network model to predict the operating status of the new firmware version data, the stability and compatibility of the new firmware version data can be identified.
[0065] Furthermore, in a possible implementation of this embodiment, the following is further included:
[0066] Obtaining server operation data; wherein the operation data includes load data and running application type data;
[0067] The operation data is analyzed and processed through intelligent decision-making algorithms to obtain the server firmware update plan.
[0068] Acquiring server operational data may include server load data and data on the types of applications running. This operational data is then analyzed and processed using artificial intelligence decision-making algorithms, such as rule-based reasoning or machine learning algorithms, to generate personalized firmware update plans for different servers. For example, for servers running critical tasks under high load, a highly stable firmware version may be recommended; for servers in development and testing environments, a newer firmware version with new features may be recommended. This not only improves server performance but also further enhances firmware management efficiency.
[0069] Furthermore, in a possible implementation of this embodiment, after analyzing and processing the operating data using an intelligent decision-making algorithm to obtain a firmware update solution for the server, the method further includes:
[0070] Obtain performance feedback data after the server has updated its firmware according to the firmware update plan;
[0071] Adjust the server's firmware update plan based on performance feedback data through reinforcement learning algorithms.
[0072] After the server has been updated and is running according to the firmware update plan, performance feedback data can be obtained, such as performance improvement, performance degradation, enhanced stability, and decreased stability. A reinforcement learning algorithm, such as a Q-learning algorithm, adjusts the server's firmware update plan based on this performance feedback data. This optimizes the update strategy and continuously improves the quality of the update plan, thereby further enhancing server performance and firmware management efficiency.
[0073] Furthermore, in a possible implementation of this embodiment, obtaining the current firmware version data of the server includes:
[0074] Determine the firmware type of the firmware;
[0075] If the firmware type of the firmware is a first firmware type, obtaining the firmware version data of the firmware through an original equipment manufacturer command; wherein the first firmware type includes baseboard management controller, basic input and output system, and small card firmware;
[0076] If the firmware type of the firmware is the second firmware type, the firmware version data of the firmware is obtained through the interface.
[0077] Different methods can be used to obtain firmware version data depending on the firmware type. When obtaining the current firmware version data for a server, you can first determine the firmware type, such as a first firmware type like a BMC (Baseboard Management Controller), BIOS (Basic Input / Output System), or small card firmware, or a second firmware type other than the first firmware type, such as a backplane. For firmware types such as the BMC, BIOS, and some small card firmware, where version information is relatively easy to obtain, you can obtain the firmware version data using OEM (Original Equipment Manufacturer) commands. Conversely, for more complex firmware such as the backplane, you can obtain the firmware version data using an interface, such as the Redfish interface. This allows you to obtain firmware files and version data from a maintained storage location based on the firmware type, improving the efficiency and success rate of obtaining firmware version information.
[0078] Redfish is a management standard based on HTTPS (Hypertext Transfer Protocol Secure) services, enabling device management using a RESTful interface. Each HTTPS operation submits or returns a resource in the form of JSON (JavaScript Object Notation) encoded in UTF-8 (Unicode Transformation Format - 8-bit). Just as a web application returns HTML (Hypertext Markup Language) to a browser, a RESTful interface returns data to the client in JSON format using the same transport mechanism (HTTPS).
[0079] Furthermore, in a possible implementation of this embodiment, if the firmware type of the firmware is a baseboard management controller, obtaining the firmware version data of the firmware through an original equipment manufacturer command includes:
[0080] If the firmware type of the firmware is a baseboard management controller, obtaining firmware version data of the firmware through an original equipment manufacturer command;
[0081] Detecting the output status of the firmware version data of the baseboard management controller through the intelligent platform management interface command;
[0082] If the firmware version data of the baseboard management controller can be normally output through the intelligent platform management interface command, it is determined that the firmware version data of the baseboard management controller is successfully obtained and marked as a successful match.
[0083] If the firmware type is BMC (Baseboard Management Controller), the firmware version data can be obtained using OEM commands. During the acquisition process, the output status of the BMC firmware version data can also be checked using IPMI (Intelligent Platform Management Interface) commands to verify whether the firmware version data is displayed properly. If the BMC firmware version data is output properly according to the IPMI command, the match is considered successful; otherwise, an error message is logged. In this way, obtaining BMC firmware version data through OEM commands combined with IPMI commands can improve the accuracy of the obtained version data.
[0084] Furthermore, in a possible implementation of this embodiment, the following is further included:
[0085] Real-time acquisition of firmware version data via an edge computing module integrated in the server; wherein the integrated edge computing module is connected to each firmware of the server via an internal bus or interface;
[0086] The edge computing module monitors and analyzes the acquired firmware version data in real time based on preset rules. The preset rules include version number change frequency thresholds and version number ranges.
[0087] If it is found that the firmware version data does not meet the preset rules, it is determined that the firmware version data is abnormal and an alarm is triggered;
[0088] storing firmware update files whose usage frequency is greater than a set frequency locally on the server; the storage location may be a local hard disk or a cache;
[0089] If a firmware update is required, obtain the firmware update file locally and perform the firmware update.
[0090] An edge computing module can also be integrated into server hardware. This module can connect to various server components (such as the BIOS and BMC) via internal buses or interfaces to obtain real-time firmware version data. The edge computing module can locally monitor and analyze this firmware version data in real time, for example by setting thresholds for version number change frequency and version number range rules. If the firmware version data does not meet pre-set rules, indicating an anomaly, an alert is immediately triggered and sent to management personnel.
[0091] Firmware update files that are used more frequently than a set frequency can be stored locally on the server. This storage location can be a local hard drive or cache. When a firmware update is needed, the local location is prioritized. This reduces network transmission time and improves update efficiency.
[0092] Among them, the edge computing module can also monitor and manage the local update process. During the update process, it monitors the update progress and status in real time. If an error occurs, it tries to re-download the update file or roll back to the previous stable version to ensure the stability and reliability of the update.
[0093] Furthermore, in a possible implementation of this embodiment, the following is further included:
[0094] The server’s firmware version data, version update records, and error information are stored in the distributed ledger network of blockchain technology through encryption algorithms.
[0095] A distributed ledger network based on blockchain technology can be built, comprising multiple nodes, each of which can be a server or a dedicated blockchain device. Nodes communicate using network protocols to jointly maintain blockchain consistency. Data such as server firmware versions, update logs, and error messages can be encapsulated in a blockchain format. A cryptographic algorithm, such as SHA-256 (Secure Hash Algorithm 256-bit), is used to calculate the hash value of each data block, which is then linked to the blockchain. Data is encrypted during storage and transmission to ensure security.
[0096] As you can imagine, during a firmware update, starting with obtaining the update file, you can record information such as the source, download time, and file hash value. During the update process, you can record information such as the update time, server node, and updated firmware type. After the update is complete, you can record the post-update inspection results. All of this information can be recorded chronologically on the blockchain. If a problem arises, administrators can use a blockchain browser or specialized tracing tools to track every step of the update process and quickly locate the issue.
[0097] To make the server firmware version management method provided by the embodiment of the present disclosure clearer, the following is explained with reference to specific examples, as follows:
[0098] The server firmware version management method provided by the present disclosure can comprehensively detect various firmware version data within the server, perform consistency checks, and perform subsequent batch upgrade and maintenance. The system for executing the server firmware version management method may include a data acquisition module, a check module, a reminder module, a firmware update module, and an intelligent management module.
[0099] 1. Data acquisition module: This module can obtain information about various firmware versions (firmware version data) from the database. It also obtains information about the firmware versions that need to be updated online for servers maintained in the production line database, ensuring that subsequent inspections are based on the latest and most accurate data.
[0100] 2. Inspection Module: This module compares the server's actual firmware version information (firmware version data) with the required firmware version information (firmware version data) maintained in the database for consistency. During server diagnostics, the system can upload the firmware file to be updated, either through the BMC web interface or through a tool. The system then parses the file, extracts the required firmware version information, and maintains it in the system. It can also retrieve the firmware files and version data maintained in the system based on the firmware type to determine whether the current machine (server) is a late-model product. Furthermore, it uses OEM commands or the Redfish interface to obtain firmware version data for different firmware types. Finally, it compares the obtained firmware version data with the firmware version data maintained in the system for consistency. If there is any inconsistency, an error is reported and the error information is written to the database table.
[0101] 3. Reminder module: used to read the error information in the database table, filter it, and then feed it back to the corresponding management personnel so that the management personnel can find the specific error causes of the consistency check of multiple firmware versions and take corresponding measures.
[0102] 4. Firmware Update Module: This module facilitates firmware upgrades for machines requiring updates. Administrators can select components to upgrade to the required versions based on actual needs, such as maintaining consistency across all machines or optimizing configurations.
[0103] 5. Intelligent Management Module: This module integrates artificial intelligence, blockchain, and edge computing technologies to achieve intelligent diagnosis, prediction, data security, and local processing capacity optimization. Specifically, it includes the following processing:
[0104] Intelligent Diagnosis and Prediction: Clustering algorithms in machine learning can be used to perform cluster analysis on server firmware version data, automatically identifying abnormal firmware version data. A trained neural network model can be used to predict firmware version stability and compatibility issues, providing risk warnings to managers. Furthermore, AI algorithms can be used to customize firmware update plans for different servers based on server load, running application types, and historical firmware update records. Reinforcement learning algorithms can also be used to optimize update strategies.
[0105] Blockchain data security and traceability: Blockchain's distributed ledger technology can be used to store server firmware version information, update records, error information, etc., and the blockchain's immutability and traceability can be used to ensure data integrity and security, facilitate full traceability of the firmware update process, and quickly locate problems and hold people accountable.
[0106] Edge Computing Local Optimization: Integrating an edge computing module on the server side leverages the local processing power of edge computing to quickly diagnose firmware version information, monitor firmware version data anomalies in real time, and trigger alerts. Furthermore, local storage of frequently used firmware update files optimizes the update process, monitors and manages local updates, and ensures update stability and reliability.
[0107] Furthermore, this disclosure is not only applicable to various types of servers but can also be expanded to cross-platform and multi-device compatibility. Universal interfaces and data parsing algorithms can be developed for different server platform architectures (such as X86, ARM, and Power), enabling cross-platform firmware version consistency checks. Furthermore, a unified management platform can be established to integrate servers with related storage devices, network equipment, and other devices into the management system. This allows for compatibility checks and coordinated updates of firmware versions across devices, improving the stability of the entire server ecosystem.
[0108] Figure 2 This is an architectural diagram of a server firmware version management system provided by an embodiment of the present disclosure. Figure 2 , Figure 2 In the system, user terminals are used for management operations, and the server management system is the core component. The data acquisition module obtains information from the production line database; the inspection module interacts with the server firmware and the production line database through the parsing storage module; the reminder module feeds information back to the management terminal; the firmware update module upgrades the server firmware; the intelligent management module implements corresponding functions using the machine learning platform, blockchain network, and edge computing module; and the cross-platform and multi-device management module manages different server platforms, storage devices, and network devices. The specific implementation of each module is as follows:
[0109] (1) Get data module: refer to Figure 3 The system (server firmware version management system) can accurately collect and record the firmware version data of server models that need to be updated from the production line database through the data acquisition module. During the acquisition process, database connection technology can be used to obtain relevant data of various firmware versions (i.e., firmware version data) according to preset query statements, and store it in a local cache or temporary data storage area for subsequent use by the inspection module.
[0110] (2) Check module, refer to Figure 4 , the inspection module can perform the following processing:
[0111] 1. Uploading firmware files: During server diagnostics, operators can upload the firmware file to be flashed through the BMC web interface or specialized tools. After receiving the file, the system uses file parsing technology to extract the required firmware version information according to specific file format specifications. The system then maintains the firmware file and version information in a designated storage location, such as a specific database table or a dedicated directory in the file system.
[0112] 2. Obtaining Firmware Version Data: Depending on the firmware type, the system retrieves the firmware file and version data from a maintained storage location. For firmware with relatively easy version data, such as the BMC, BIOS, and some small boards, OEM commands are used to obtain version information. For more complex firmware, such as backplanes, the Redfish interface is used to obtain version data. During the acquisition process, if the BMC-related information is output correctly according to the IPMI command, the match is considered successful; otherwise, an error message is logged. If the current machine is a last-minute unit, the current firmware version information is obtained from the refresh log; otherwise, the current firmware version information is obtained.
[0113] 3. Consistency Comparison: The obtained firmware version data is compared with the firmware version data maintained in the system. This comparison can be performed according to pre-set version number comparison rules, such as comparing the major version, minor version, and revision version. If the two versions are inconsistent, the system generates an error message, including the inconsistent firmware name, actual version number, and expected version number, and writes the error message to the database table.
[0114] (3) Reminder module, see Figure 5 , the reminder module can perform the following processing:
[0115] The reminder module periodically reads error information from a database table and, using pre-set filtering rules, selects the error information that needs to be fed back to specific management personnel based on server grouping and error type. It then uses an email interface or the instant messaging tool's API (Application Programming Interface) to send the error information to the corresponding management personnel via email or instant message, prompting them to address the issue promptly.
[0116] (IV) Firmware update module, see Figure 6 , the firmware update module can perform the following processing:
[0117] Based on the error message from the reminder module, the administrator logs into the firmware update module's interface. Within this interface, they select the machine (server) to be updated and, for each selected machine, further select the firmware components to update. Depending on the actual needs, if all machines are to remain consistent, all inconsistent firmware can be updated to the same version. To optimize the configuration, a new version can be imported and the selected components upgraded to the required versions. During the update, the system displays the progress of the update and, after completion, performs a simple check to verify that the firmware has been successfully updated to the target version and that the server can boot normally.
[0118] (V) Intelligent management module: Specifically, the following steps can be performed:
[0119] 1. Intelligent diagnosis and prediction, including:
[0120] a. Data collection and preprocessing: Regularly collect server firmware version information (firmware version data), operating status data (such as CPU usage, memory usage, etc.), and historical update records, and clean and preprocess the data to remove noise data and outliers.
[0121] b. Cluster analysis and anomaly detection: Use clustering algorithms within machine learning frameworks (such as Scikit-Learn) to perform cluster analysis on preprocessed data. Set appropriate clustering parameters, such as the number of clusters and distance metric, to group similar firmware version data into the same cluster. Monitor newly acquired firmware version data in real time. If it deviates from its cluster, it is identified as an anomaly and triggers a risk warning.
[0122] c. Neural Network Training and Prediction: A neural network model (such as a multilayer perceptron) is constructed and trained using historical firmware version information and corresponding operating status (normal or abnormal). During training, model parameters (such as weights and biases) are adjusted to accurately learn the relationship between firmware version and operating status. When a new firmware version is input, the model predicts whether the version is stable and prone to compatibility issues. The prediction results are provided to management personnel for decision-making reference.
[0123] d. Personalized Update Recommendations: This system collects information such as server load and application types, and uses artificial intelligence algorithms (such as rule-based reasoning or machine learning) to generate personalized firmware update plans for different servers. For example, for servers running critical business operations under high load, a more stable firmware version is recommended; for servers in development and testing environments, a newer firmware version with new features is recommended. Using reinforcement learning algorithms (such as Q-learning), the update strategy is optimized based on performance feedback from updated servers (e.g., performance improvements and enhanced stability), continuously improving the quality of the update plan.
[0124] 2. Blockchain data security and traceability, including:
[0125] a. Blockchain Network Construction: Build a distributed ledger network based on blockchain technology. The network consists of multiple nodes, each of which can be a server or a dedicated blockchain device. Nodes communicate with each other through network protocols and jointly maintain the consistency of the blockchain.
[0126] b. Data Storage and Encryption: Server firmware version information, update history, error messages, and other data are encapsulated in a blockchain format. An encryption algorithm (such as SHA-256) is used to calculate the hash value of the data block, and the data block is linked to the blockchain. Data is encrypted during storage and transmission to ensure data security.
[0127] c. Update Process Tracing: During the firmware update process, starting with obtaining the update file, information such as the update file source, download time, and file hash value is recorded. During the update operation, information such as the update time, server node, and updated firmware type is recorded. After the update is complete, the post-update inspection results are recorded. All of this information is recorded chronologically on the blockchain. If problems arise, administrators can use blockchain browsers or specialized tracing tools to track every step of the update process and quickly locate the problem.
[0128] 3. Local optimization of edge computing, including:
[0129] a. Edge computing module integration: The edge computing module is integrated into the server hardware. The edge computing module is connected to various components of the server (such as BIOS, BMC, etc.) through an internal bus or interface to obtain firmware version information in real time.
[0130] b. Local Rapid Diagnosis: The edge computing module monitors and analyzes locally acquired firmware version information in real time. By setting thresholds and rules, such as version number change frequency thresholds and specific version number ranges, an alert module is triggered immediately when an anomaly in firmware version data is detected, sending an alert to management personnel.
[0131] c. Local Update Optimization: Frequently used firmware update files are stored locally on the server, either on the local hard drive or in a cache. When a firmware update is required, the system prioritizes obtaining the update file locally, reducing network transmission time. The edge computing module monitors and manages the local update process, monitoring the update progress and status in real time. If an error occurs, it attempts to re-download the update file or roll back to the previous stable version to ensure update stability and reliability.
[0132] Among them, see Figure 7 The intelligent management module can first collect the server's firmware version data, operating status data, and so on. It then performs data preprocessing (including data cleaning and denoising), followed by cluster analysis to identify abnormal firmware version data. A neural network is then used to predict potential problems with the firmware version data. Furthermore, personalized firmware update solutions are recommended based on server information, and reinforcement learning algorithms are used to optimize the firmware update solution, i.e., optimize the update strategy. At the same time, the data can be encapsulated and uploaded to a chain, i.e., a blockchain, to ensure security and traceability. The edge computing module can also be used for real-time local monitoring (including real-time anomaly diagnosis) and local updates (including obtaining update files and update monitoring). Finally, the update decision (firmware update solution) is provided to the firmware update module, and the process ends.
[0133] (6) Cross-platform and multi-device management, including the following:
[0134] 1. Cross-platform adaptation: Develop a universal interface library for different server platform architectures (such as X86, ARM, and Power). This interface library can include platform-specific firmware version acquisition and data parsing functions. In the data acquisition and verification modules, the corresponding interface functions can be called based on the server platform type to obtain firmware version data. The data parsing functions can then be used to parse version information from different platforms into a unified format, enabling cross-platform firmware version data consistency checks.
[0135] 2. Collaborative management of multiple devices: A unified management platform can be established. This platform can communicate with storage devices, network devices, and other devices through network management protocols (such as SNMP (Simple Network Management Protocol)) or device-specific management interfaces to obtain firmware version data for these devices and integrate it with server firmware version data into a single database for management. Regular compatibility checks are performed on the firmware versions of servers and other devices. When compatibility issues are discovered, the system can prompt administrators to make appropriate updates or adjustments, and develop a collaborative update plan to ensure the stability of the entire server system ecosystem.
[0136] It can be seen that the embodiments of the present disclosure can more effectively check the consistency of the refreshed firmware version data with the required firmware version data through the collaborative work of the data acquisition module, the inspection module, the reminder module and the firmware update module, ensure that the actual firmware version data of the shipped server is consistent with the required firmware version data maintained in the database, avoid missed inspections or unsuccessful refreshes but undetected situations, improve production efficiency, improve product quality, and facilitate subsequent maintenance for customers. Moreover, through the introduction of the intelligent management module, advanced artificial intelligence, blockchain and edge computing technologies can be integrated to achieve intelligent diagnosis and prediction, data security protection and local processing power optimization, further improving the intelligence level, security and efficiency of server firmware management. At the same time, cross-platform and multi-device management functions can expand the scope of application and enhance applicability in different server environments and device combinations.
[0137] The specific implementation methods and technical effects of the above modules and steps are similar to those of the above method embodiments and will not be repeated here.
[0138] 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.
[0139] According to an embodiment of the present disclosure, the present disclosure also provides a server firmware version management device.
[0140] For example, Figure 8 This is a structural diagram of a server firmware version management device provided by an embodiment of the present disclosure. The server firmware version management device 800 includes: a first data acquisition module 801, a consistency check module 802, a second data acquisition module 803, a clustering module 804 and a monitoring module 805; wherein,
[0141] The first data acquisition module 801 is used to obtain the current firmware version data of the server and the firmware version data updated online;
[0142] The consistency check module 802 is configured to generate an error message if the current firmware version data of the server is inconsistent with the firmware version data updated online;
[0143] A second data acquisition module 803 is used to periodically acquire historical firmware version data of the server;
[0144] A clustering module 804 is configured to perform cluster analysis on the historical firmware version data using a clustering algorithm, and to group similar data into the same cluster;
[0145] The monitoring module 805 is configured to monitor and obtain new firmware version data of the server in real time, and determine that the new firmware version data is abnormal data if the new firmware version data deviates from the cluster to which it belongs.
[0146] Furthermore, a third data acquisition module is included, which is used to:
[0147] Get historical firmware version update data;
[0148] The clustering module 804 is configured to:
[0149] Performing data preprocessing on the server's firmware version data and the historical firmware version update data to obtain preprocessed server firmware version data;
[0150] Performing cluster analysis on the pre-processed firmware version data and the historical firmware version update data using a clustering algorithm, and dividing similar data into the same cluster;
[0151] After determining that the new firmware version data is abnormal data, the method further includes:
[0152] If the new firmware version data is abnormal data, a risk warning is triggered.
[0153] Furthermore, it also includes:
[0154] a fourth data acquisition module, configured to acquire the operating status data corresponding to each of the historical firmware version data;
[0155] A training module, configured to train a preset model based on the historical firmware version data, the operating status data corresponding to each of the historical firmware version data, and the historical firmware version update data to obtain an operating status detection model;
[0156] An operating state detection module, configured to predict a target operating state corresponding to the new firmware version data using the operating state detection model;
[0157] An output module is used to output the target operating status.
[0158] Furthermore, it also includes:
[0159] A fifth data acquisition module is used to acquire operation data of the server; wherein the operation data includes load condition data and running application type data;
[0160] The analysis module is used to analyze and process the operation data through an intelligent decision-making algorithm to obtain a firmware update solution for the server.
[0161] Furthermore, it also includes:
[0162] A sixth data acquisition module, configured to acquire performance feedback data of the server after the server performs firmware update according to the firmware update solution;
[0163] An adjustment module is used to adjust the firmware update plan of the server according to the performance feedback data through a reinforcement learning algorithm.
[0164] Furthermore, the first data acquisition module 801 is configured to:
[0165] Determine the firmware type of the firmware;
[0166] If the firmware type of the firmware is a first firmware type, obtaining the firmware version data of the firmware through an original equipment manufacturer command; wherein the first firmware type includes baseboard management controller, basic input and output system, and small card firmware;
[0167] If the firmware type of the firmware is a second firmware type, the firmware version data of the firmware is obtained through an interface; wherein the second firmware type is a firmware type other than the first firmware type.
[0168] Furthermore, the first data acquisition module 801 is specifically configured to:
[0169] If the firmware type of the firmware is a baseboard management controller, obtaining firmware version data of the firmware through an original equipment manufacturer command;
[0170] Detecting the output status of the firmware version data of the baseboard management controller through an intelligent platform management interface command;
[0171] If the firmware version data of the baseboard management controller can be normally output through the intelligent platform management interface command, it is determined that the firmware version data of the baseboard management controller is successfully obtained and marked as a successful match.
[0172] Furthermore, it also includes:
[0173] a seventh data acquisition module, configured to acquire firmware version data in real time through an edge computing module integrated in the server; wherein the integrated edge computing module is connected to each firmware of the server via an internal bus or interface;
[0174] An analysis module, configured to monitor and analyze the acquired firmware version data in real time locally based on preset rules through the edge computing module; wherein the preset rules include a version number change frequency threshold and a version number range;
[0175] An alarm module, configured to determine that the firmware version data is abnormal and trigger an alarm if it is found that the firmware version data does not meet the preset rules;
[0176] A storage module, configured to locally store firmware update files whose usage frequency is greater than a set frequency on the server; wherein the storage location may be a local hard disk or a cache;
[0177] The update module is used to obtain the firmware update file from the local computer and perform the firmware update if a firmware update is required.
[0178] Furthermore, it also includes an encryption storage module for:
[0179] The server's firmware version data, version update records, and error information are stored in a distributed ledger network using blockchain technology through an encryption algorithm.
[0180] It should be noted that, for the description of the features in the embodiment corresponding to the server firmware version management device, reference can be made to the relevant description of the embodiment corresponding to the server firmware version management method, which will not be repeated here.
[0181] An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above server firmware version management method embodiments.
[0182] An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned server firmware version management method embodiments when running.
[0183] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0184] An embodiment of the present disclosure further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned server firmware version management method embodiments are implemented.
[0185] An embodiment of the present disclosure further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned server firmware version management method embodiments are implemented.
[0186] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0187] The above is a detailed introduction to a server firmware version management method provided by the present disclosure. This article uses specific examples to illustrate the principles and implementation methods of the present disclosure. The description of the above embodiments is only used to help understand the method of the present disclosure and its core ideas. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present disclosure, several improvements and modifications can be made to the present disclosure, and these improvements and modifications also fall within the scope of protection of the claims of the present disclosure.
Claims
1. A server firmware version management method, characterized in that: include: Obtain the current firmware version data of the server and the firmware version data updated online, wherein obtaining the current firmware version data of the server includes: Determine the firmware type of the firmware; If the firmware type of the firmware is a first firmware type, obtaining the firmware version data of the firmware through an original equipment manufacturer command; wherein the first firmware type includes baseboard management controller, basic input and output system, and small card firmware; If the firmware type of the firmware is a second firmware type, obtaining the firmware version data of the firmware through an interface; wherein the second firmware type is a firmware type other than the first firmware type; If the current firmware version data of the server is inconsistent with the firmware version data refreshed online, an error message is generated, wherein the firmware version data includes the major version, minor version and revision version of the version number; Periodically obtaining historical firmware version data of the server; Performing cluster analysis on the historical firmware version data using a clustering algorithm to group similar data into the same cluster; The new firmware version data of the server is monitored and acquired in real time. If the new firmware version data deviates from the cluster to which it belongs, the new firmware version data is determined to be abnormal data.
2. The method according to claim 1, characterized in that Also includes: Get historical firmware version update data; The clustering analysis of the historical firmware version data using a clustering algorithm to classify similar data into the same cluster includes: Performing data preprocessing on the server's firmware version data and the historical firmware version update data to obtain preprocessed server firmware version data; Performing cluster analysis on the pre-processed firmware version data and the historical firmware version update data using a clustering algorithm, and dividing similar data into the same cluster; After determining that the new firmware version data is abnormal data, the method further includes: If the new firmware version data is abnormal data, a risk warning is triggered.
3. The method according to claim 2, characterized in that After periodically acquiring the historical firmware version data of the server, the method further includes: Obtaining the operating status data corresponding to each of the historical firmware version data; Based on the historical firmware version data, the operating status data corresponding to each of the historical firmware version data, and the historical firmware version update data, a preset model is trained to obtain an operating status detection model; Predicting the target operating state corresponding to the new firmware version data by using the operating state detection model; The target operating status is output.
4. The method according to claim 1, wherein Also includes: Obtaining server operation data; wherein the operation data includes load condition data and running application type data; The operating data is analyzed and processed by an intelligent decision-making algorithm to obtain a firmware update solution for the server.
5. The method according to claim 4, characterized in that After analyzing and processing the operating data by the intelligent decision-making algorithm to obtain the firmware update solution for the server, the method further includes: Obtaining performance feedback data of the server after the firmware is updated according to the firmware update solution; The server firmware update solution is adjusted according to the performance feedback data through a reinforcement learning algorithm.
6. The method according to claim 1, characterized in that If the firmware type of the firmware is a baseboard management controller, obtaining the firmware version data of the firmware through an original equipment manufacturer command includes: If the firmware type of the firmware is a baseboard management controller, obtaining firmware version data of the firmware through an original equipment manufacturer command; Detecting the output status of the firmware version data of the baseboard management controller through an intelligent platform management interface command; If the firmware version data of the baseboard management controller can be normally output through the intelligent platform management interface command, it is determined that the firmware version data of the baseboard management controller is successfully obtained and marked as a successful match.
7. The method according to claim 1, characterized in that Also includes: Obtaining firmware version data in real time through an edge computing module integrated in the server; wherein the integrated edge computing module is connected to each firmware of the server through an internal bus or interface; The edge computing module monitors and analyzes the acquired firmware version data in real time locally based on preset rules; wherein the preset rules include a version number change frequency threshold and a version number range; If it is found that the firmware version data does not meet the preset rules, it is determined that the firmware version data is abnormal and an alarm is triggered; storing the firmware update file whose usage frequency is greater than the set frequency locally on the server; wherein the storage location is a local hard disk or a cache; If a firmware update is required, obtain the firmware update file locally and perform the firmware update.
8. The method according to claim 1, characterized in that Also includes: The server's firmware version data, version update records, and error information are stored in a distributed ledger network using blockchain technology through an encryption algorithm.
9. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 8 when executed by a processor.
Citation Information
Patent Citations
Operating system updating method based on cloud service
CN120085885A