Server firmware version management method and program product
The method ensures firmware version consistency and automates anomaly detection in server firmware management by comparing and clustering firmware data, improving management efficiency.
Patent Information
- Application Number
- CN202510787097.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2045-06-12
AI Technical Summary
In the prior art, the server firmware version cannot be updated and the automatic abnormality detection method is lacking, resulting in inefficient management.
By obtaining the firmware version data of the server and refreshed with the line, using the clustering algorithm to perform historical data analysis, monitoring and determining abnormal data in real time, generating error information, and managing it in combination with edge computing and blockchain technology.
Automatic consistency check and abnormal detection of firmware versions are realized, management efficiency is improved, the updated firmware version is consistent with expectations, and the stability and reliability of the server are improved.
Smart Images

Figure CN120315752A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technologies, and in particular, to a method and a program product for managing server firmware versions. Background Art
[0002] In related technologies, a server is a core device in a data center, undertaking key computing and storage tasks. During the long-term use of the server, the firmware versions of various firmwares on it usually need to be updated multiple times. However, in related technologies, there are often only in-line refreshing operations for various firmware versions, but it cannot be ensured whether the updated firmware version is consistent with the expectation. Summary of the Invention
[0003] The present disclosure provides a method and a program product for managing server firmware versions. Its main purpose is to ensure whether the updated firmware version is consistent with the expectation, and to realize automatic anomaly detection of firmware version data, improving the efficiency of firmware version management.
[0004] According to a first aspect of the present disclosure, there is provided a method for managing server firmware versions, including: Obtaining the current firmware version data of the server and the firmware version data of in-line refreshing; If the current firmware version data of the server is inconsistent with the firmware version data of in-line refreshing, generating an error message; Periodically obtaining the historical firmware version data of the server; Performing clustering analysis on the historical firmware version data by using a clustering algorithm, and dividing similar data into the same cluster; Real-time monitoring and obtaining the new firmware version data of the server, and if the new firmware version data deviates from the cluster it belongs to, determining that the new firmware version data is abnormal data.
[0005] According to a second aspect of the present disclosure, there is provided a device for managing server firmware versions, including: A first data acquisition module, configured to obtain the current firmware version data of the server and the firmware version data of in-line refreshing; A consistency verification module, configured to generate an error message if the current firmware version data of the server is inconsistent with the firmware version data of in-line refreshing; A second data acquisition module, configured to periodically obtain the historical firmware version data of the server; A clustering module, configured to perform clustering analysis on the historical firmware version data by using a clustering algorithm, and divide similar data into the same cluster; A monitoring module for monitoring in real time and obtaining new firmware version data of the server, and determining the new firmware version data as abnormal data if the new firmware version data deviates from the cluster it belongs to.
[0006] According to a third aspect of the present disclosure, there is provided an electronic device, including: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method described in the foregoing first aspect.
[0007] According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, including the computer instructions, wherein the computer instructions are used to cause the computer to execute the method described in the foregoing first aspect.
[0008] According to a fifth aspect of the present disclosure, there is provided a computer program product, including a computer program, where the computer program implements the method described in the foregoing first aspect when executed by a processor.
[0009] Through the present disclosure, by obtaining the current firmware version data of the server and the firmware version data refreshed along the line; if the current firmware version data of the server is inconsistent with the firmware version data refreshed along the line, an error message is generated; the historical firmware version data of the server is obtained periodically; the historical firmware version data is subjected to clustering analysis 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 it belongs to, the new firmware version data is determined as abnormal data. In this way, on the one hand, after the firmware version is refreshed, the firmware version can be checked by comparing the consistency of the firmware version data to ensure that the firmware version information is consistent with the expectation. On the other hand, the clustering algorithm can be used to automatically identify abnormal firmware version data, realizing automatic abnormal detection of firmware version data and improving the efficiency of firmware version management.
[0010] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them: Figure 1Schematic flowchart of a server firmware version management method provided by an embodiment of the present disclosure; Figure 2 Architecture diagram of a server firmware version management system provided by an embodiment of the present disclosure; Figure 3 Schematic execution logic diagram of a data acquisition module provided by an embodiment of the present disclosure; Figure 4 Schematic execution logic diagram of an inspection module provided by an embodiment of the present disclosure; Figure 5 Schematic execution logic diagram of a reminder module provided by an embodiment of the present disclosure; Figure 6 Schematic execution logic diagram of a firmware update module provided by an embodiment of the present disclosure; Figure 7 Schematic execution logic diagram of an intelligent management module provided by an embodiment of the present disclosure; Figure 8 Schematic structural diagram of a server firmware version management device provided by an embodiment of the present disclosure. Detailed implementation manners
[0012] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to assist understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, descriptions of well-known functions and structures are omitted for clarity and conciseness.
[0013] The following describes a server firmware version management method and program product according to an embodiment of the present disclosure with reference to the accompanying drawings.
[0014] Figure 1 Schematic flowchart of a server firmware version management method provided by an embodiment of the present disclosure.
[0015] As Figure 1 shown, the method includes the following steps: Step 101, obtain the current firmware version data of the server and the firmware version data refreshed online.
[0016] Among them, relevant information (i.e., firmware version data) of various current firmware versions of the server can be obtained from the database. As an example, during server diagnosis, a firmware file to be refreshed can be uploaded through BMC WEB (i.e., a web-based management interface provided by the Baseboard Management Controller) or a dedicated tool. After the system receives the firmware file, through file parsing technology, the firmware version data to be flashed into the firmware can be extracted according to specific file format specifications, and the firmware file and the firmware version data can be maintained in a specified storage location of the system, such as a specific table in the database or a dedicated directory in the file system, for obtaining during server firmware version management.
[0017] Among them, the firmware version data that the server needs to be refreshed along the production line maintained in the production line database can be obtained, and the firmware version data that the server model needs to be refreshed can be collected and recorded from the production line database. During the obtaining process, database connection technology can be used to obtain relevant data of various firmware versions (i.e., firmware version data) according to a preset query statement. It can be understood that the obtained various firmware version data can also be stored in a local cache or a temporary data storage area for subsequent use.
[0018] Step 102, if the current firmware version data of the server is inconsistent with the firmware version data to be refreshed along the production line, an error message is generated.
[0019] Among them, after obtaining the current firmware version data of the server and the firmware version data to be refreshed along the production line, the current firmware version data of the server can be compared with the firmware version data to be refreshed along the production line for consistency to determine whether the current firmware version data of the server is consistent with the firmware version data to be refreshed along the production line. For example, according to a preset version number comparison rule, such as comparing from the major version, minor version to the revision version of the version number in sequence. If the current firmware version data of the server is consistent with the firmware version data to be refreshed along the production line, 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 to be refreshed along the production line, an error message can be generated. The error message can include content such as the inconsistent firmware name, actual version number, and expected version number. It can be understood that the error message can be written into a database table.
[0020] Step 103, periodically obtain the historical firmware version data of the server.
[0021] The periodic acquisition of the historical firmware version data of the server may be performed at a set period, and the specific period may be set according to actual needs. The historical firmware version data may be the version data of the firmware within a set historical period, for example, the set historical period may be a period starting from the current moment, before the current moment, and with a set interval length from the current moment. The historical firmware version data may also include the current firmware version data.
[0022] Step 104: Perform cluster analysis on the historical firmware version data using a clustering algorithm, and divide similar data into the same cluster.
[0023] The clustering algorithm may be a clustering algorithm in a machine learning framework, and the aforementioned and its learning framework may be, for example, (Scikit-learn, a scientific tool learning library). The clustering algorithm may be used to cluster the historical firmware version data, and divide similar data (similar firmware version data) into a cluster. For example, appropriate clustering parameters may be set, such as the number of clusters, distance measurement methods, etc., to divide similar firmware version data into the same cluster.
[0024] Step 105 , monitor and obtain new firmware version data of the server in real time. If the new firmware version data deviates from the corresponding cluster, the new firmware version data is determined to be abnormal data.
[0025] Among them, the new firmware version data of the server's firmware can also be monitored in real time to determine whether the new firmware version data deviates from the cluster to which it belongs. For example, the new firmware version data can also be clustered using the clustering algorithm in the previous step (for example, the new firmware version data is compared with the clustering of the previous firmware version data) to determine whether the new firmware version data deviates from the cluster to which it belongs. If the new firmware version data deviates from the cluster to which it belongs (for example, the new firmware version is very different from the cluster), it can be determined that the new firmware version data is abnormal data.
[0026] In summary, the method provided by the embodiments of the present disclosure includes: obtaining the current firmware version data of the server and the firmware version data refreshed along the line; if the current firmware version data of the server is inconsistent with the firmware version data refreshed along the line, generating an error message; periodically obtaining the historical firmware version data of the server; using a clustering algorithm to perform clustering analysis on the historical firmware version data, and dividing similar data into the same cluster; and real-time monitoring and obtaining the new firmware version data of the server. If the new firmware version data deviates from the cluster it belongs to, it is determined that the new firmware version data is abnormal data. In this way, on the one hand, after the firmware version is refreshed, the firmware version can be checked through the consistency comparison of the firmware version data to ensure that the firmware version information is consistent with the expectation. On the other hand, the clustering algorithm can be used to automatically identify abnormal firmware version data, realizing the automatic abnormal detection of firmware version data and improving the efficiency of firmware version management.
[0027] It should be noted that there may be multiple steps in the embodiments of the present disclosure. For the convenience of description, these steps are numbered, but these numbers are not intended to limit the execution time slots and execution orders between the steps; these steps can be implemented in any order, and the embodiments of the present disclosure do not make any limitations in this regard.
[0028] Further, in a possible implementation manner of this embodiment, it further includes: Obtaining historical firmware version update data; Using a clustering algorithm to perform clustering analysis on the historical firmware version data and dividing similar data into the same cluster, including: Performing data preprocessing on the firmware version data of the server and the historical firmware version update data to obtain the preprocessed firmware version data of the server; Using a clustering algorithm to perform clustering analysis on the preprocessed firmware version data and the historical firmware version update data, and dividing similar data into the same cluster; After determining that the new firmware version data is abnormal data, it further includes: If the new firmware version data is abnormal data, triggering a risk warning.
[0029] Among them, the historical firmware version update data of the server can also be collected regularly. When using the clustering algorithm to perform clustering analysis on the historical firmware version data and dividing similar data into the same cluster, the firmware version data of the server and the historical firmware version update data can be preprocessed first. For example, the data can be cleaned, noise data and outliers can be removed, etc. Then, by setting appropriate clustering parameters, such as the number of clusters, the distance metric method, etc., the preprocessed firmware version data and historical firmware version update data are clustered through the clustering algorithm, and similar data is divided into the same cluster. In this way, based on the current firmware version data combined with the historical firmware version update data, the abnormality judgment of the firmware version data can be carried out. The accuracy of the clustering result can be further improved, the accuracy of the judgment result can be improved, and thus the management efficiency can be improved. Moreover, data preprocessing can also ensure the accuracy of the data and provide accurate data support for subsequent data analysis and processing.
[0030] Among them, if the new firmware version data is abnormal data, a risk warning can also be triggered. It can be understood that the risk warning can be output to the management personnel so that the management personnel can timely understand the situation of the server's firmware version data for corresponding maintenance.
[0031] Further, in a possible implementation manner of this embodiment, after periodically obtaining the historical firmware version data of the server, it further includes: Obtain the operation status data corresponding to each historical firmware version data; Based on the historical firmware version data, the operation status data corresponding to each historical firmware version data, and the historical firmware version update data, train a preset model to obtain an operation status detection model; Predict the target operation status corresponding to the new firmware version data through the operation status detection model; Output the target operation status.
[0032] Among them, it is also possible to obtain the corresponding running status data under each historical firmware version data, such as the CPU (Central Processing Unit) usage rate, memory usage rate, etc. of the running status data. And based on the historical firmware version data, the running status data corresponding to each historical firmware version data, and the historical firmware version update data, a preset model is trained. During the training process, the parameters of the model (such as weights, biases) are adjusted to enable the model to accurately learn the relationship between the firmware version data and the running status data. The trained preset model is the running status detection model. Then, in the case of monitoring and obtaining the new firmware version data of the server, the new firmware version data can be input into the running status detection model, and the new firmware version data is analyzed and processed through the running status detection model to predict the running status corresponding to the new firmware version data, which is the target running status. The target running status can reflect whether the firmware version data is stable and whether compatibility problems are likely to occur. Finally, the target running status can be output. For example, it can be provided to the management personnel as a decision-making reference. In this way, by predicting the running status under the new firmware version data through the network model, the stability and compatibility of the new firmware version data can be identified.
[0033] Further, in a possible implementation manner of this embodiment, it further includes: Obtain the running data of the server; where the running data includes load situation data and running application type data; Analyze and process the running data through an intelligent decision-making algorithm to obtain a firmware update plan for the server.
[0034] Among them, obtaining the running data of the server may include obtaining the load situation data and running application type data of the server. Then, through an artificial intelligence decision-making algorithm, such as rule-based reasoning or machine learning algorithm, the running data is analyzed and processed to generate a personalized firmware update plan for different servers. For example, for a server running critical services with high load, a firmware version with high stability is recommended; for a server in a development and testing environment, a newer version of firmware with new functions is recommended. In this way, not only can the performance of the server be improved, but also the firmware management efficiency can be further improved.
[0035] Further, in a possible implementation manner of this embodiment, after analyzing and processing the running data through an intelligent decision-making algorithm to obtain a firmware update plan for the server, it further includes: Obtain the performance feedback data after the server performs firmware update according to the firmware update plan; Adjust the firmware update plan of the server according to the performance feedback data through a reinforcement learning algorithm.
[0036] After the server performs firmware update according to the firmware update plan and runs, performance feedback data after the firmware update of the server according to the firmware update plan can be obtained, such as data on performance improvement, performance degradation, enhanced stability, weakened stability, etc. Then, the reinforcement learning algorithm adjusts the firmware update plan of the server according to the performance feedback data. The reinforcement learning algorithm is, for example, Q - learning (Q - learning algorithm). In this way, the update strategy can be optimized, the quality of the update plan can be continuously improved, and thus the performance of the server and the firmware management efficiency can be further improved.
[0037] Further, in a possible implementation manner of this embodiment, 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 the first firmware type, obtain the firmware version data of the firmware through the original equipment manufacturer command; wherein, the first firmware type includes the baseboard management controller, the basic input / output system, and the small board card firmware; If the firmware type of the firmware is the second firmware type, obtain the firmware version data of the firmware through the interface method.
[0038] Among them, different methods can be adopted to obtain the firmware version data according to different types of firmware. When obtaining the current firmware version data of the server, the firmware type of the firmware can be determined first. For example, it is the first firmware type such as BMC (Baseboard Management Controller), BIOS (Basic Input Output System), and small board card firmware, or the second firmware type other than the first firmware type, such as the backplane. If the firmware is relatively easy to obtain version information, such as BMC, BIOS, and some small board card firmware, the firmware version data of the firmware can be obtained through the OEM (original equipment manufacturer) command. On the contrary, if the firmware is relatively complex, such as the backplane, the firmware version data of the firmware can be obtained through the interface method. For example, the redfish interface method is used to obtain the firmware version data. In this way, according to different firmware types, the firmware file and the firmware version data can be obtained from the maintained storage location, and the acquisition efficiency and success rate of the firmware version information can be improved.
[0039] Among them, Redfish is a management standard based on HTTPS (Hypertext Transfer Protocol Secure) service. Device management can be achieved using the 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, the restful interface returns data to the client in the form of JSON through the same transmission mechanism (HTTPS).
[0040] Furthermore, in a possible implementation manner of this embodiment, if the firmware type of the firmware is a baseboard management controller, the firmware version data of the firmware is obtained through the original equipment manufacturer's command, including: If the firmware type of the firmware is a baseboard management controller, the firmware version data of the firmware is obtained through the original equipment manufacturer's command; The output status of the firmware version data of the baseboard management controller is detected through the 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 acquisition of the firmware version data of the baseboard management controller is successful and marked as successfully matched.
[0041] Among them, if the firmware type of the firmware is a BMC (Baseboard Management Controller) baseboard management controller, the firmware version data of the firmware can be obtained through the original equipment manufacturer's command. During the acquisition process, the output status of the firmware version data of the baseboard management controller can also be detected through the IPMI (Intelligent Platform Management Interface) command, that is, to check whether this firmware version data can be normally displayed. If the firmware version data of the BMC can be normally output according to the IPMI command, it is determined that the match is successful; otherwise, the error message is recorded. In this way, by combining the OEM command with the IPMI command to obtain the BMC firmware version data, the accuracy of the obtained version data can be improved.
[0042] Furthermore, in a possible implementation manner of this embodiment, it further includes: The firmware version data is obtained in real time through the edge computing module integrated in the server; among them, the integrated edge computing module is connected to each firmware of the server through an internal bus or interface; Based on preset rules locally through an edge computing module, the acquired firmware version data is monitored and analyzed in real time; 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; Firmware update files with a usage frequency greater than a set frequency are stored locally on the server; wherein, the storage location can be a local hard disk or a cache; If a firmware update is required, the firmware update file is obtained locally and the firmware is updated.
[0043] Among them, an edge computing module can also be integrated into the server hardware. The edge computing module can be connected to each component of the server (such as BIOS, BMC, etc.) through an internal bus or interface to obtain firmware version data in real time. The edge computing module can monitor and analyze the acquired firmware version data locally, for example, by setting rules such as 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, that is, it is found that the firmware version data is abnormal, an alarm is immediately triggered and an alarm is sent to the management personnel.
[0044] Among them, firmware update files with a usage frequency greater than a set frequency can be stored locally on the server, that is, common firmware update files are stored locally on the server, and the storage location can be a local hard disk or a cache. When a firmware update is required, the firmware update file is preferentially obtained locally. In this way, the network transmission time can be reduced and the update efficiency can be improved.
[0045] Among them, the edge computing module can also monitor and manage the local update process. During the update process, the update progress and status are monitored in real time. If an error occurs, an attempt is made to re-download the update file or roll back to the previous stable version to ensure the stability and reliability of the update.
[0046] Furthermore, in a possible implementation manner of this embodiment, it further includes: The firmware version data, version update records, and error messages of the server are stored in the distributed ledger network of blockchain technology through an encryption algorithm.
[0047] Among them, a distributed ledger network based on blockchain technology can be built. The network can include multiple nodes, and each node can be a server or a dedicated blockchain device. Nodes communicate with each other through network protocols to jointly maintain the consistency of the blockchain. Data such as server firmware version data, version update records, error messages, etc. can be encapsulated in the data format of the blockchain, and the hash value of the data block is calculated using a cryptographic algorithm (such as the SHA-256 (Secure Hash Algorithm 256-bit) algorithm), and the data block is linked to the blockchain. The data is encrypted during storage and transmission to ensure data security.
[0048] It can be understood that during the firmware update process, information such as the source of the update file, download time, file hash value, etc. can be recorded starting from obtaining the update file; during the update operation, information such as the update time, server node, type of firmware to be updated, etc. can be recorded; after the update is completed, the inspection result after the update can be recorded. All this information can be recorded on the blockchain in chronological order. When a problem occurs, the management personnel can query each step in the update process through a blockchain browser or a dedicated traceability tool to quickly locate the problem.
[0049] To make the server firmware version management method provided by the embodiments of the present disclosure clearer, the following will be described in combination with specific examples as follows: The server firmware version management method provided by the present disclosure can comprehensively detect various types of firmware version data inside the server, perform consistency checks, and subsequent batch upgrade and maintenance. The system for executing the server firmware version management method can include a data acquisition module, an inspection module, a reminder module, a firmware update module, and an intelligent management module. Among them, 1. Data acquisition module: It can obtain relevant information (firmware version data) of various firmware versions from the database, and at the same time obtain relevant information of the firmware versions that need to be refreshed along the production line maintained in the production line database to ensure that subsequent inspection work can be carried out based on the latest and most accurate data.
[0050] 2. Check Module: It can perform a consistency comparison check between the actual firmware version information (firmware version data) of the server and the required firmware version information (firmware version data) maintained in the database. During the server diagnosis process, operations can be carried out by uploading the firmware file to be refreshed, including uploading the refresh file through BMC WEB or tools. The system parses the file to extract the version information required for firmware flashing and maintains it in the system. It can also obtain the firmware files and firmware version data maintained in the system according to different firmware types to determine whether the current machine (server) is an end-of-line order. In addition, for different firmware, the firmware version data is obtained by using OEM commands or redfish interfaces. Finally, the obtained firmware version data is compared with the firmware version data maintained in the system for consistency. If they are inconsistent, an error is reported and the error message is written into the database table.
[0051] 3. Reminder Module: It is used to read the error messages in the database table, filter them and then feedback to the corresponding management personnel, so that the management personnel can find the specific reasons for the consistency check errors of multiple firmware versions and take corresponding measures.
[0052] 4. Firmware Update Module: It is used to facilitate the firmware upgrade of the machines that need to be updated. The management personnel can select the components to be updated and upgrade them to the required version according to actual needs, such as keeping all machines consistent or optimizing the configuration.
[0053] 5. Intelligent Management Module: It is used to integrate artificial intelligence, blockchain and edge computing technologies to achieve intelligent diagnosis, prediction, data security guarantee and optimization of local processing capabilities. The specific processing includes the following: Intelligent Diagnosis and Prediction: The clustering algorithm in machine learning can be used to perform clustering analysis on the server firmware version data to automatically identify abnormal firmware version data. The stability and compatibility issues of the firmware version can be predicted by training a neural network model to provide risk warnings for the management personnel. At the same time, based on the load conditions of the server, the types of running application programs and the historical firmware update records, artificial intelligence algorithms can be used to customize personalized firmware update plans for different servers and optimize the update strategy through reinforcement learning algorithms.
[0054] Blockchain Data Security and Traceability: The distributed ledger technology of blockchain can be used to store server firmware version information, update records, error messages, etc. By using the immutability and traceability of blockchain, the integrity and security of data can be guaranteed, which is convenient for the whole process traceability of the firmware update process, quickly locating problems and holding people accountable.
[0055] Edge Computing Local Optimization: Integrate an edge computing module on the server side, utilize the local processing power of edge computing to quickly diagnose firmware version information, monitor firmware version data anomalies in real time and trigger alerts. At the same time, store common firmware update files locally, optimize the update process, monitor and manage local updates to ensure the stability and reliability of the updates.
[0056] Moreover, the present disclosure can not only be applied to various types of servers, but also be extended to cross-platform and multi-device compatibility. For different server platform architectures (such as X86, ARM, Power, etc.), common interfaces and data parsing algorithms can be developed to achieve cross-platform firmware version consistency checking. At the same time, a unified management platform can be established to incorporate servers and related storage devices, network devices, etc. into the management system, perform compatibility checks and coordinated updates on the firmware versions between devices, and improve the stability of the entire server system ecosystem.
[0057] Figure 2 is an architecture diagram of a server firmware version management system provided by an embodiment of the present disclosure. Refer to Figure 2 , Figure 2 In, the user terminal is used for management personnel to operate, and the server management system is the core part. The data acquisition module can obtain information from the production line database; the inspection module interacts with the server firmware and interacts with the production line database through the parsing storage module; the reminder module feeds back information to the management personnel terminal; the firmware update module upgrades the server firmware; the intelligent management module realizes corresponding functions with the help of a machine learning platform, a blockchain network and an edge computing module; 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: (I) Data Acquisition Module: Refer to Figure 3 , the system (server firmware version management system) can accurately collect and record the firmware version data that needs to be refreshed for the server model from the production line database through the data acquisition module. During the acquisition process, database connection technology can be used to obtain relevant data (i.e., firmware version data) of various firmware versions according to a preset query statement and store it in the local cache or temporary data storage area for subsequent use by the inspection module.
[0058] (II) Inspection Module, refer to Figure 4 , the inspection module can perform the following processing: 1. Upload firmware file: During server diagnosis, operators can upload the firmware file to be refreshed through BMC WEB or a dedicated tool. After receiving the file, the system can use file parsing technology to extract the version information required for firmware flashing according to specific file format specifications, and maintain the firmware file and version information in a designated storage location in the system, such as a specific table in the database or a dedicated directory in the file system.
[0059] 2. Obtain firmware version data: According to different firmware types, the system obtains the firmware file and firmware version data from the maintained storage location. For firmware where version data is relatively easy to obtain, such as BMC, BIOS, and some small circuit boards, OEM commands are called to obtain version information; for more complex firmware such as backplanes, the redfish interface method is used to obtain version data. During the obtaining process, if BMC-related information can be normally output according to the ipmi command, it is determined that the match is successful; otherwise, error messages are recorded. If the current machine is the last order, the current firmware version information is obtained from the refresh log; otherwise, the current firmware version information of the machine is obtained.
[0060] 3. Consistency comparison: Compare the obtained firmware version data with the firmware version data maintained in the system for consistency. During the comparison process, the comparison can be made according to preset version number comparison rules, such as comparing from the major version, minor version to the revision version of the version number in sequence. If the two are inconsistent, the system generates error messages, including the name of the inconsistent firmware, the actual version number, the expected version number, etc., and writes the error messages into the database table.
[0061] (III) Reminder module, see Figure 5 , the reminder module can perform the following processing: The reminder module periodically reads the error messages in the database table, and filters out the error messages that need to be fed back to specific managers through preset filtering rules, such as according to the grouping of servers, error types, etc. Then, using the email sending interface or the API (Application Programming Interface) of the instant messaging tool, the error messages are sent to the corresponding managers in the form of emails or instant messages to remind them to handle them in a timely manner.
[0062] (IV) Firmware update module, see Figure 6 , the firmware update module can perform the following processing: Based on the error messages fed back by the reminder module, the management personnel log in to the operation interface of the firmware update module. In the interface, the machines (servers) to be updated can be selected. For the selected machines, the firmware components to be updated can be further selected. According to the actual requirements, if all machines are to be kept consistent, the inconsistent firmware can be updated to the same version; if the configuration is to be optimized, a new version is imported and the selected components are upgraded to the required version. During the update process, the system will display the update progress and perform a simple check on the update result after the update is completed, such as checking whether the firmware version has been successfully updated to the target version and whether the server can start normally, etc.
[0063] (5) The intelligent management module can specifically execute the following steps: 1. Intelligent diagnosis and prediction, including: a. Data collection and preprocessing: Regularly collect data such as the firmware version information (firmware version data), operating status data (such as CPU usage, memory usage, etc.), and historical update records of the server, and clean and preprocess the data to remove noise data and outliers.
[0064] b. Cluster analysis and anomaly detection: Use the clustering algorithm in the machine learning framework (such as Scikit - learn) to perform cluster analysis on the preprocessed data. Set appropriate clustering parameters, such as the number of clusters, distance metric methods, etc., and divide the similar firmware version data into the same cluster. Real - time monitor the newly obtained firmware version data. If it deviates from its belonging cluster, it is determined as an anomaly and a risk warning is triggered.
[0065] c. Neural network training and prediction: Construct a neural network model (such as a multi - layer perceptron), use the firmware version information and the corresponding operating status (normal or abnormal) in the historical data as training data, and train the model. During the training process, adjust the parameters of the model (such as weights, biases) so that the model can accurately learn the relationship between the firmware version and the operating status. When new firmware version information is input, the model predicts whether the version is stable, whether it is likely to have compatibility issues, etc., and provides the prediction results to the management personnel as a decision - making reference.
[0066] d. Personalized update recommendation: Collect information such as the load situation of the server and the types of applications running, and use artificial intelligence 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 services with high loads, recommend firmware versions with high stability; for servers in the development and testing environment, recommend relatively new firmware versions with new functions. Through reinforcement learning algorithms (such as Q - learning), optimize the update strategy according to the feedback of the server performance after the update (such as performance improvement, enhanced stability, etc.), and continuously improve the quality of the update plan.
[0067] 2. Blockchain data security and traceability, including: a. Blockchain network construction: Build a distributed ledger network based on blockchain technology. The network contains multiple nodes, and each node can be a server or a dedicated blockchain device. Nodes communicate with each other through network protocols to jointly maintain the consistency of the blockchain.
[0068] b. Data storage and encryption: Package data such as server firmware version information, update records, and error messages in the data format of the blockchain. Use an encryption algorithm (such as SHA - 256) to calculate the hash value of the data block and link the data block to the blockchain. The data is encrypted during storage and transmission to ensure data security.
[0069] c. Update process traceability: During the firmware update process, starting from obtaining the update file, record information such as the source of the update file, download time, and file hash value; during the update operation, record information such as the update time, server node, and type of firmware being updated; after the update is completed, record the inspection results after the update. All this information is recorded on the blockchain in chronological order. When a problem occurs, managers can query each step in the update process through a blockchain browser or a dedicated traceability tool to quickly locate the problem.
[0070] 3. Edge computing local optimization, including: a. Edge computing module integration: Integrate an edge computing module 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.
[0071] b. Local rapid diagnosis: The edge computing module performs real - time monitoring and analysis on the obtained firmware version information locally. By setting thresholds and rules, such as the threshold for the frequency of version number changes, a specific version number range, etc., when abnormal firmware version data is found, the reminder module is immediately triggered to send an alarm to the manager.
[0072] c. Local update optimization: Store commonly used firmware update files locally on the server. The storage location can be the local hard disk or cache. When a firmware update is required, the system preferentially obtains the update file locally to reduce network transmission time. The edge computing module monitors and manages the local update process. During the update process, it monitors the update progress and status in real time. If an error occurs, it attempts to redownload the update file or roll back to the previous stable version to ensure the stability and reliability of the update.
[0073] Among them, see Figure 7, the intelligent management module can first collect the firmware version data, operating status data, etc. of the server. Then, it performs data preprocessing (including data cleaning and denoising, etc.), and then conducts clustering analysis to identify abnormal firmware version data. It then predicts possible problems with the firmware version data through a neural network; and recommends a personalized firmware update plan based on the server information, and optimizes the firmware update plan through a reinforcement learning algorithm, that is, optimizes the update strategy. At the same time, it can encapsulate the data and upload it to the chain, that is, the blockchain, to ensure security and traceability. It can also use the edge computing module to perform real-time local monitoring (including real-time anomaly diagnosis) and local updates (including obtaining update files and update monitoring). Finally, it provides the update decision (firmware update plan) to the firmware update module, and the process ends.
[0074] (VI) Cross-platform and multi-device management, including the following processing: 1. Cross-platform adaptation: Develop a common interface library for different server platform architectures (such as X86, ARM, Power, etc.). The interface library can include firmware version acquisition functions and data parsing functions for different platforms. In the data acquisition module and the inspection module, according to the platform type of the server, the corresponding interface functions can be called to obtain the firmware version data, and the data parsing function can be used to parse the version information of different platforms into a unified format to achieve cross-platform consistency checking of the firmware version data.
[0075] 2. Multi-device collaborative management: A unified management platform can be established. This platform can communicate with storage devices, network devices, etc. through a network management protocol (such as SNMP (Simple Network Management Protocol)) or a device-specific management interface to obtain the firmware version data of these devices, and integrate it with the firmware version data of the server into a database for management. Regularly check the compatibility of the firmware versions of the server and other devices. When compatibility problems are found, the system can prompt the administrator to perform corresponding updates or adjustments, and formulate a collaborative update plan to ensure the stability of the entire server system ecosystem.
[0076] It can be seen that the embodiments of the present disclosure can more effectively check the consistency between the firmware version data after refreshing and 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, ensuring that the actual firmware version data of the shipped server is consistent with the required firmware version data maintained in the database, avoiding the occurrence of missed inspections or undetected cases where the refresh is unsuccessful, improving production efficiency, enhancing product quality, and facilitating subsequent maintenance by 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 optimization of local processing capabilities, further enhancing the intelligent level, security, and efficiency of server firmware management. At the same time, the cross-platform and multi-device management functions can expand the application scope and enhance the applicability in different server environments and device combinations.
[0077] The specific implementation manners and technical effects of the above-mentioned modules and steps are similar to those of the method embodiments above, and will not be elaborated herein.
[0078] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation manner.
[0079] According to an embodiment of the present disclosure, the present disclosure also provides a server firmware version management device.
[0080] Exemplarily, Figure 8 FIG. is a schematic 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 verification module 802, a second data acquisition module 803, a clustering module 804, and a monitoring module 805; wherein, The first data acquisition module 801 is configured to acquire the current firmware version data of the server and the firmware version data refreshed along the line. The consistency verification 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 refreshed along the line. The second data acquisition module 803 is configured to periodically acquire the historical firmware version data of the server. The clustering module 804 is configured to perform clustering analysis on the historical firmware version data by using a clustering algorithm and divide similar data into the same cluster. The monitoring module 805 is configured to monitor and acquire the 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.
[0081] Furthermore, it further includes a third data acquisition module for: Obtain historical firmware version update data; The clustering module 804 is used for: Perform data preprocessing on the firmware version data of the server and the historical firmware version update data to obtain the preprocessed firmware version data of the server; Use a clustering algorithm to perform clustering analysis on the preprocessed firmware version data and the historical firmware version update data, and divide similar data into the same cluster; After determining that the new firmware version data is abnormal data, it further includes: If the new firmware version data is abnormal data, trigger a risk warning.
[0082] Furthermore, it further includes: A fourth data acquisition module for obtaining the operation status data corresponding to each of the historical firmware version data; A training module for training a preset model based on the historical firmware version data, the operation status data corresponding to each of the historical firmware version data, and the historical firmware version update data to obtain an operation status detection model; An operation status detection module for predicting the target operation status corresponding to the new firmware version data through the operation status detection model; An output module for outputting the target operation status.
[0083] Furthermore, it further includes: A fifth data acquisition module for obtaining the operation data of the server; wherein, the operation data includes load condition data and the type data of the running application programs; An analysis module for analyzing and processing the operation data through an intelligent decision-making algorithm to obtain a firmware update plan for the server.
[0084] Furthermore, it further includes: A sixth data acquisition module for obtaining the performance feedback data after the server performs firmware update according to the firmware update plan; An adjustment module for adjusting the firmware update plan of the server according to the performance feedback data through a reinforcement learning algorithm.
[0085] Furthermore, the first data acquisition module 801 is used for: Determine the firmware type of the firmware; If the firmware type of the firmware is the first firmware type, obtain the firmware version data of the firmware through the original equipment manufacturer command; wherein, the first firmware type includes the baseboard management controller, the basic input / output system, and the small board card firmware; If the firmware type of the firmware is the second firmware type, obtain the firmware version data of the firmware through the interface method; wherein, the second firmware type is the firmware type other than the first firmware type.
[0086] Further, the first data acquisition module 801 is specifically configured to: If the firmware type of the firmware is the baseboard management controller, obtain the firmware version data of the firmware through the original equipment manufacturer command; Detect the output status of the firmware version data of the baseboard management controller through the 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 acquisition of the firmware version data of the baseboard management controller is successful and marked as successfully matched.
[0087] Further, it further includes: The seventh data acquisition module is used to obtain the firmware version data in real time through the 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 an interface; The analysis module is used to perform real-time monitoring and analysis on the obtained firmware version data locally based on preset rules through the edge computing module; wherein, the preset rules include the version number change frequency threshold and the version number range; The alarm module is used 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; The storage module is used to store the firmware update files with a usage frequency greater than the set frequency locally in the server; wherein, the storage location can be a local hard disk or a cache; The update module is used to obtain the firmware update file from the local area and perform firmware update if firmware update is required.
[0088] Further, it further includes an encrypted storage module for: Store the firmware version data, version update records, and error messages of the server in the distributed ledger network of blockchain technology through an encryption algorithm.
[0089] It should be noted that the descriptions of the features in the corresponding embodiments of the server firmware version management device can refer to the relevant descriptions of the corresponding embodiments of the server firmware version management method, which will not be elaborated here one by one.
[0090] Embodiments of the present disclosure further provide an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above-described embodiments of the server firmware version management method.
[0091] Embodiments of the present disclosure further provide a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps in any of the above-described embodiments of the server firmware version management method when running.
[0092] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media 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 disc that can store a computer program.
[0093] Embodiments of the present disclosure further provide a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described embodiments of the server firmware version management method.
[0094] Embodiments of the present disclosure further provide another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described embodiments of the server firmware version management method.
[0095] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to their functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present disclosure.
[0096] The above has introduced in detail a method for managing server firmware versions provided by the present disclosure. Specific examples are used in this article to elaborate on the principles and implementation manners of the present disclosure. The description of the above embodiments is only used to help understand the method and its core idea of the present disclosure. It should be noted that for those of ordinary skill in the art, without departing from the principles of the present disclosure, several improvements and modifications can also be made to the present disclosure, and these improvements and modifications also fall within the protection scope of the claims of the present disclosure.
Claims
1. A server firmware version management method, characterized in that, Including: Obtain the current firmware version data of the server and the firmware version data refreshed along the line; If the current firmware version data of the server is inconsistent with the firmware version data refreshed along the line, generate an error message; Periodically obtain the historical firmware version data of the server; Use a clustering algorithm to perform clustering analysis on the historical firmware version data, and divide similar data into the same cluster; Real-time monitor and obtain the new firmware version data of the server. If the new firmware version data deviates from the cluster it belongs to, determine that the new firmware version data is abnormal data.
2. The method according to claim 1, wherein It also includes: Obtain historical firmware version update data; The step of using a clustering algorithm to perform clustering analysis on the historical firmware version data and dividing similar data into the same cluster includes: Perform data preprocessing on the firmware version data of the server and the historical firmware version update data to obtain the preprocessed firmware version data of the server; Use a clustering algorithm to perform clustering analysis on the preprocessed firmware version data and the historical firmware version update data, and divide similar data into the same cluster; After determining that the new firmware version data is abnormal data, it also includes: If the new firmware version data is abnormal data, trigger a risk warning.
3. The method according to claim 2, wherein After periodically obtaining the historical firmware version data of the server, it also includes: Obtain the operation status data corresponding to each piece of the historical firmware version data; Based on the historical firmware version data, the operation status data corresponding to each piece of the historical firmware version data, and the historical firmware version update data, train a preset model to obtain an operation status detection model; Predict the target operation status corresponding to the new firmware version data through the operation status detection model; Output the target operation status.
4. The method according to claim 1, characterized in that It also includes: Obtain the operation data of the server; wherein, the operation data includes load condition data and the type data of the running application programs; Analyze and process the operation data through an intelligent decision-making algorithm to obtain the firmware update plan of the server.
5. The method according to claim 4, wherein After analyzing and processing the operation data through the intelligent decision-making algorithm to obtain the firmware update plan of the server, it also includes: Obtain the performance feedback data after the server performs firmware update according to the firmware update plan; Adjust the firmware update plan of the server according to the performance feedback data through a reinforcement learning algorithm.
6. The method according to claim 1, wherein The step of 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 the first firmware type, obtain the firmware version data of the firmware through the original equipment manufacturer command; wherein, the first firmware type includes the baseboard management controller, the basic input / output system, and the small board card firmware; If the firmware type of the firmware is the second firmware type, obtain the firmware version data of the firmware through an interface method; wherein, the second firmware type is the firmware type other than the first firmware type.
7. The method according to claim 6, characterized in that, If the firmware type of the firmware is the baseboard management controller, the step of obtaining the firmware version data of the firmware through the original equipment manufacturer command includes: If the firmware type of the firmware is a baseboard management controller, obtain the firmware version data of the firmware through the original equipment manufacturer command; Detect the output status of the firmware version data of the baseboard management controller through the 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 acquisition of the firmware version data of the baseboard management controller is successful and marked as successfully matched.
8. The method according to claim 1, characterized in that Further included: Obtain the firmware version data in real time through the 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; Based on preset rules, perform real-time monitoring and analysis on the obtained firmware version data locally through the edge computing module; 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; Store the firmware update file with a usage frequency greater than the set frequency locally in the server; wherein, the storage location is a local hard disk or a cache; If firmware update is required, obtain the firmware update file locally and perform firmware update.
9. The method according to claim 1, characterized in that, Further included: Store the firmware version data, version update record, and error message of the server in the distributed ledger network of blockchain technology through an encryption algorithm.
10. A computer program product, characterized in that, Includes a computer program, and the computer program realizes the method according to any one of the foregoing claims 1-9 when executed by a processor.
Citation Information
Patent Citations
Software version monitoring method and system, computer and readable storage medium
CN113656065A
Hard disk firmware refreshing method and system, terminal and storage medium
CN116679969A
Operating system updating method based on cloud service
CN120085885A
Firmware verification mechanism
US20200226261A1
Firmware updating method and data storage device utilizing the same
US20240152347A1