CN116627458A - Server firmware refreshing method and device - Google Patents

Server firmware refreshing method and device Download PDF

Info

Publication number
CN116627458A
CN116627458A CN202310572487.XA CN202310572487A CN116627458A CN 116627458 A CN116627458 A CN 116627458A CN 202310572487 A CN202310572487 A CN 202310572487A CN 116627458 A CN116627458 A CN 116627458A
Authority
CN
China
Prior art keywords
firmware
refreshed
target
server
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310572487.XA
Other languages
Chinese (zh)
Inventor
徐志敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310572487.XA priority Critical patent/CN116627458A/en
Publication of CN116627458A publication Critical patent/CN116627458A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to the field of computers, and discloses a server firmware refreshing method and device, wherein the method comprises the following steps: broadcasting refreshing information to the server cluster, wherein the refreshing information comprises information of firmware to be refreshed; receiving feedback information reported by a target server based on the refreshing message; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and is transmitted through a link layer management protocol, wherein the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed; determining a target version of firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version; the invention can avoid the error brushing of the firmware of the target server to a certain extent, and improves the timeliness and reliability of the refreshing of the firmware of the server.

Description

Server firmware refreshing method and device
Technical Field
The invention relates to the technical field of computers, in particular to a server firmware refreshing method and device.
Background
In recent years, as the demand of servers increases, the number of server clusters built in a local area network increases, so that it is particularly important to perform batch refreshing on servers in the entire server cluster. At present, the industry specially develops some management software for realizing batch refreshing of the server, but the management software often needs to call a baseboard management chip of a baseboard management controller to refresh in an interface calling mode, and the timeliness of refreshing the firmware of the server is reduced due to the instability and the time delay of software operation.
Disclosure of Invention
In view of this, the invention provides a method and a device for refreshing server firmware, so as to solve the problem that the management software of batch refreshing of the existing server always needs to call the substrate management chip of the substrate management controller to refresh in an interface calling mode, but the timeliness and stability of refreshing the server firmware are reduced due to the instability and delay of software operation.
In a first aspect, the present invention provides a server firmware refreshing method, which includes: broadcasting refreshing information to the server cluster, wherein the refreshing information comprises information of firmware to be refreshed; receiving feedback information reported by a target server based on the refreshing message; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and is transmitted through a link layer management protocol, wherein the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed; and determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version. Through the process, the error brushing of the target server firmware can be avoided to a certain extent, and the timeliness and reliability of the server firmware refreshing are improved.
In an alternative embodiment, broadcasting a refresh message to a server cluster includes:
setting the working modes of all servers in the server cluster to be duplex modes;
broadcasting the refresh message within the server cluster.
In an alternative embodiment, obtaining feedback information includes:
and the attribute of the target server and the version of the firmware to be refreshed are packaged in a link layer management data frame to obtain feedback information.
In an alternative embodiment, acquiring a link layer management data frame includes:
acquiring data to be transmitted;
and assembling the data to be transferred according to the message format of the link layer management protocol to obtain a link layer management data frame.
In an alternative embodiment, determining the target version of firmware to be refreshed in the target server based on the feedback information includes:
determining a model of the target server based on the attribute of the target server;
searching a target model which is the same as the model of the target server in the model table;
and determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed.
In an alternative embodiment, determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed includes:
Inquiring all firmware versions which can be refreshed by the firmware to be refreshed from a firmware version table according to the target model;
and taking the optimal version in all firmware versions which can be refreshed by the firmware to be refreshed as a target version.
In an alternative embodiment, determining the target version of the firmware to be refreshed in the target server based on the feedback information further includes:
acquiring a target version selection model according to the version of the firmware to be refreshed of the target server;
and determining a target version for refreshing the target server through the target version selection model.
In an alternative embodiment, before the target version selection model is obtained, the method further comprises:
dividing a first sample set and a second sample set from the training sample set;
training the target object recognition model by using the firmware samples in the first sample set, and verifying the target object recognition model by using the second sample set.
In an alternative embodiment, the target server performs a self-check before refresh determination based on information of firmware to be refreshed to enable refreshing, including:
the firmware to be refreshed of the target server does not store a refresh task repeated with the refresh message, and meets the triggering condition;
The triggering condition includes that the server is in a task refreshing environment and can refresh firmware to be refreshed.
In a second aspect, the present invention provides a server firmware refreshing apparatus, which mainly includes: the system comprises a message broadcasting module, an information reporting module and a firmware refreshing module; the message broadcasting module is used for broadcasting refreshing messages to the server clusters, wherein the refreshing messages comprise information of firmware to be refreshed; the information reporting module is used for receiving feedback information reported by the target server based on the refreshing information; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and is transmitted through a link layer management protocol, wherein the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed; the firmware refreshing module is used for determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version. Through the process, the error brushing of the target server firmware can be avoided to a certain extent, and the timeliness and reliability of the server firmware refreshing are improved.
In a third aspect, the present invention provides a computer device comprising: the server firmware refreshing method comprises the steps of storing computer instructions in a memory and a processor, wherein the memory and the processor are in communication connection, and the processor executes the computer instructions, so that the server firmware refreshing method of the first aspect or any corresponding implementation mode is executed.
In a fourth aspect, the present invention provides a computer readable storage medium having stored thereon computer instructions for causing a computer to perform the server firmware refreshing method of the first aspect or any of its corresponding embodiments.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic illustration of an application environment of an embodiment of the present invention;
FIG. 2 is a flowchart of a server firmware refreshing method according to an embodiment of the present invention;
FIG. 3 is a flowchart of another method for refreshing firmware of a server according to an embodiment of the present invention;
FIG. 4 is a flowchart of a method for refreshing firmware of a server according to an embodiment of the present invention;
FIG. 5 is a flowchart of a method for refreshing firmware of a server according to an embodiment of the present invention;
FIG. 6 is a block diagram of a server firmware refreshing apparatus according to an embodiment of the present invention;
fig. 7 is a schematic diagram of a hardware structure of a computer device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The terms first and second in the description and claims of the invention and in the above-mentioned figures are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the term "include" and any variations thereof is intended to cover non-exclusive protection. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus. The term "plurality" in the present invention may mean at least two, for example, two, three or more, and embodiments of the present invention are not limited.
Referring to fig. 1, fig. 1 is a schematic diagram of an application environment according to an embodiment of the present invention, where the schematic diagram includes a server 100 that may include a display 101, a processor 102, and a memory 103. The server 100 may be communicatively coupled to a central server 200 via a network 300, the central server 200 may be configured to provide services (e.g., application services, etc.) to servers or clients installed on the servers, and a database 201 may be provided on the central server 200 or independent of the central server 200 for providing data storage services to the central server 200. In addition, a processing engine 202 may be run in the central server 200, which processing engine 202 may be used to perform the steps performed by the central server 200.
Alternatively, the server 100 may be, but is not limited to, a terminal capable of calculating data, such as a mobile terminal (e.g., a mobile phone, a tablet computer), a notebook computer, a PC (Personal Computer, a personal computer) or the like, and the network may include, but is not limited to, a wireless network or a wired network. Wherein the wireless network comprises: bluetooth, WIFI (Wireless Fidelity ) and other networks that enable wireless communications. The wired network may include, but is not limited to: wide area network, metropolitan area network, server cluster. The central server 200 may include, but is not limited to, any hardware device that may perform calculations.
In addition, in this embodiment, the method for refreshing the server firmware may be applied to, but not limited to, an independent processing device with a relatively high processing capability, without data interaction. For example, the processing device may be, but is not limited to, a more powerful terminal device, i.e., the operations of the server firmware refresh method described above may be integrated into a single processing device. The above is merely an example, and is not limited in any way in the present embodiment.
Alternatively, in this embodiment, the above-mentioned server firmware refreshing method may be performed by the central server 200, may be performed by the server 100, or may be performed by both the central server 200 and the server 100. The server 100 may execute the server firmware refreshing method according to the embodiment of the present invention by a client installed thereon.
According to an embodiment of the present invention, there is provided a server firmware refreshing method embodiment, it should be noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions, and that although a logical order is illustrated in the flowchart, in some cases, the steps illustrated or described may be performed in an order other than that illustrated herein.
In this embodiment, a method for refreshing server firmware is provided, which may be used in the above server, where the server communicates with a central server through a local area network, and fig. 2 is a flowchart of a method for refreshing server firmware according to an embodiment of the present invention, as shown in fig. 2, where the flowchart includes the following steps:
step S201, broadcasting a refresh message to the server cluster.
In this embodiment, the update message including the information of the firmware to be updated is broadcasted to the server cluster, so as to inform each target server in the server cluster of the firmware information that can be updated at this time.
In an alternative implementation manner, the working mode of all servers in the server cluster is set to be a duplex mode, that is, the working mode of all servers in the server cluster before batch refreshing is set to be the duplex mode, so that data can be sent or received. In other embodiments, the central server for receiving the feedback information reported by the target server based on the refresh message may also be set to the duplex mode. The central server broadcasts the refresh message within the server cluster via the local area network.
Step S202, receiving feedback information reported by the target server based on the refresh message.
In this embodiment, the version of firmware refreshing for the firmware to be refreshed in the target server is determined by acquiring feedback information reported by the target server based on the refresh message, so as to facilitate determining the version of firmware refreshing for the firmware to be refreshed in the target server according to the feedback information of the target server. The version of firmware refreshing the firmware to be refreshed in the target server may be the latest version that can be refreshed by the firmware to be refreshed of the target server, or may be one of some versions that can be refreshed by the firmware to be refreshed of the target server. It can be appreciated that by the target server actively reporting feedback information based on the refresh message, a false brushing of the target server firmware can be avoided to a certain extent.
In an alternative embodiment, the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information includes the attribute of the target server and the version of the firmware to be refreshed.
In an alternative embodiment, the central server broadcasts the refresh message within the server cluster via a local area network. After receiving the refresh message, such as the information of the firmware to be refreshed, sent by the central server, the servers in the server cluster perform self-checking before refresh, such as by the baseboard management controller, so as to determine whether the refresh condition is met. When the target server confirms that the firmware to be refreshed meets the refreshing condition (can be refreshed), the target server reports the feedback information of the target server through a link layer management protocol. Before the target server reports the feedback information of the target server, the target server needs to perform self-checking according to the refreshing information broadcast by the central server, and only when the target server accords with the refreshing condition, the feedback information is reported through a link layer management protocol, and the target server changes from passive to active, so that the error brushing is prevented to a certain extent. It can be understood that when the target server performs self-checking and finds that the refresh condition is not met, the feedback information of the target server is not reported.
In an optional implementation manner, when the target server confirms that the self-firmware of the target server meets the refresh condition, the target server can confirm that the self-firmware to be refreshed meets the refresh condition when the firmware to be refreshed of the target server does not have a refresh task repeated with the refresh message and meets the trigger condition, and can refresh. The triggering condition includes that the server is in a task refreshing environment and can refresh firmware to be refreshed. It can be appreciated that the self-checking in this embodiment is used to detect whether the refresh condition is met, so that on one hand, whether a refresh task is currently present can be detected, and on the other hand, whether the trigger condition is met.
For example, the BIOS (Basic Input Output System, basic input/output system, a set of programs solidified on a ROM chip on a motherboard in a computer, which stores the most important basic input/output programs, system setting information, self-checking programs after starting up and self-starting programs after system, and the main functions of the BIOS are to provide the bottommost and most direct hardware setting and control for the computer) needs to be triggered by shutdown, and if the BIOS is in a current starting-up state, the BIOS may not be refreshed. Yet another scenario is that it may already be in a refresh state that is repeated with a refresh message, and that no refresh can be performed any more. Therefore, in the shutdown state, the BIOS is not in a refresh state that is repeated with the refresh message, and can be refreshed according to the information of the firmware to be refreshed (such as new version firmware refresh), and the BIOS refresh can be performed.
In an optional implementation manner, when obtaining feedback information of the target server, an attribute of the target server and a version of firmware to be refreshed may be encapsulated in a link layer management data frame to obtain the feedback information, so as to report the feedback information generated by the target server based on the refresh message. The link layer management data frame is a data frame with pointer structure or sequence and conforming to the link layer management protocol.
Step S203, determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version.
In this embodiment, if the target server confirms that the server firmware of the target server meets the refresh condition, feedback information generated based on the attribute of the target server and the version of the firmware to be refreshed is reported to the central server through the link layer management protocol, and after the central server receives the feedback information reported by the target server, the attribute of the target server and the version of the firmware to be refreshed are determined through the feedback information, and the firmware to be refreshed of the target server is refreshed according to the attribute of the target server and the version of the firmware to be refreshed, so that the substrate management chip of the substrate management controller is not required to be refreshed through management software, the influence of instability and delay in software operation on the refreshing of the server firmware is avoided, and the timeliness and reliability of the refreshing of the server firmware are improved.
In an alternative implementation manner, if the target server confirms that the own server firmware accords with the refreshing condition in the refreshing message, the target server reports the own feedback information to the central server through the link layer management protocol, and after receiving the feedback information reported by the target server, the central server firstly analyzes the feedback information to obtain the attribute of the target server and the version of the firmware to be refreshed; then determining the model of the target server based on the attribute of the target server; searching a target model which is the same as the model of the target server in the model table; the target version of the firmware to be refreshed is determined according to the target model and the version of the firmware to be refreshed, so that refreshing among mutually exclusive versions can be prevented to a certain extent, and the stability of the system is ensured. In other embodiments, the target version selection model may also be used to determine target server version information for refreshing the target server based on firmware information of the target server.
Optionally, when firmware refreshing is performed on the target server according to the feedback information, the central server may determine target version information of the firmware to be refreshed according to the feedback information reported by the server, obtain a target version according to version path information carried in the target version information, and send the target version to a corresponding target server through a local area network, so as to refresh the firmware to be refreshed of the target server.
The method for refreshing the server firmware includes the steps that firstly, a refreshing message is broadcast to a server cluster, and the refreshing message comprises information of firmware to be refreshed so as to inform each target server in the server cluster of firmware information which can be refreshed at the time; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed, so that the error refreshing of the firmware of the target server can be avoided to a certain extent; the method comprises the steps of determining the target version of the firmware to be refreshed in the target server based on feedback information, refreshing the firmware to be refreshed of the target server based on the target version, screening the latest available target version information for the target server, preventing refreshing among mutually exclusive versions to a certain extent, ensuring the stability of a system, avoiding the influence of instability and delay in software operation on refreshing of the server firmware because a substrate management chip of a substrate management controller is not required to be called by management software, and improving the timeliness and reliability of refreshing of the server firmware.
In this embodiment, a method for refreshing server firmware is provided, which may be used in the above server, where the server communicates with a central server through a local area network, and fig. 3 is a flowchart of a method for refreshing server firmware according to an embodiment of the present invention, as shown in fig. 3, where the flowchart includes the following steps:
step S301, broadcasting a refresh message to the server cluster.
Please refer to step S201 in the embodiment shown in fig. 2 in detail, which is not described herein.
Step S302, receiving feedback information reported by the target server based on the refresh message.
In this embodiment, the version of firmware refreshing for the firmware to be refreshed in the target server is determined by acquiring feedback information reported by the target server based on the refresh message, so as to facilitate determining the version of firmware refreshing for the firmware to be refreshed in the target server according to the feedback information of the target server. The version of firmware refreshing the firmware to be refreshed in the target server may be the latest version that can be refreshed by the firmware to be refreshed of the target server, or may be one of some versions that can be refreshed by the firmware to be refreshed of the target server. It can be appreciated that by the target server actively reporting feedback information based on the refresh message, a false brushing of the target server firmware can be avoided to a certain extent.
Specifically, the step S302 includes:
in step S3021, data to be transferred is acquired.
In an alternative embodiment, the data to be transferred may comprise three parts: the header, data portion, and trailer, i.e., the data to be transferred, may occur in the format of a data frame. Wherein the frame header and the frame tail contain some necessary control information, such as synchronization information, address information, error control information, etc.; the data portion includes data transmitted from the network layer.
Step S3022, assembling the data to be transferred according to the message format of the link layer management protocol to obtain the link layer management data frame.
In this embodiment, first, data to be transferred is acquired; and then, the data to be transferred are assembled according to the message format of the link layer management protocol to obtain a link layer management data frame so as to facilitate the addition of the attribute of the target server and the version information of the firmware to be refreshed. That is, a necessary condition is provided for the feedback information to be added to the link layer management data frame.
For example, if the data frame appears in the format of the data frame, and the data frame of the data to be transferred includes the MAC address, the IP address, the server model, the current version information, etc., the data to be transferred is assembled according to the message format of the link layer management protocol, so as to obtain the link layer management data frame. The main components of the link layer management data frame may be as follows:
DA (destination MAC address) SA (Source MAC address) Frame type LLDPDU FCS (frame detection sequence)
The LLDPDU is a payload of a link layer management protocol, that is, a data unit, and is used to accept a message to be sent, for example, a current version of firmware to be refreshed by the target server may be sent to the central server through the LLDPDU.
In step S3023, the attribute of the target server and the version of the firmware to be refreshed are encapsulated in the link layer management data frame to obtain the feedback information.
In this embodiment, the attribute of the target server and the version of the firmware to be refreshed are encapsulated in the link layer management data frame to obtain feedback information, so that the feedback information link layer management protocol generated by the target server according to the attribute of the target server and the version of the firmware to be refreshed is uploaded to the central server.
Based on the content in step S3022, the format of the LLDPDU is as follows, for example:
ChassisID PortID Time To Live Optional data End Of LLDPDU
the chassisID is a model ID Of the target server, the PortID is an IP address Of the target server, the Time To Live is the survival Time Of the link layer management protocol in the neighbor device (server), the Optional data is Optional data, and the End Of LLDPDU is finished. ChassisID, portID are respectively filled with the Board ID+BOMID and IP of the target server, and the Optional data is used for feeding back the attribute of the target server in the broadcast address and the version of the firmware to be refreshed, and each piece of information occupies 16 bytes and can be added according to the requirement.
Step S303, determining a target version of firmware to be refreshed in a target server based on feedback information, and refreshing the firmware to be refreshed of the target server based on the target version.
In this embodiment, if the target server confirms that the server firmware of the target server meets the refresh condition, feedback information generated based on the attribute of the target server and the version of the firmware to be refreshed is reported to the central server through the link layer management protocol, and after the central server receives the feedback information reported by the target server, the attribute of the target server and the version of the firmware to be refreshed are determined through the feedback information, and the firmware to be refreshed of the target server is refreshed according to the attribute of the target server and the version of the firmware to be refreshed, so that the substrate management chip of the substrate management controller is not required to be refreshed through management software, the influence of instability and delay in software operation on the refreshing of the server firmware is avoided, and the timeliness and reliability of the refreshing of the server firmware are improved.
Please refer to step S203 in the embodiment shown in fig. 2 in detail, which is not described herein.
The method for refreshing the server firmware includes the steps that firstly, a refreshing message is broadcast to a server cluster, and the refreshing message comprises information of firmware to be refreshed so as to inform each target server in the server cluster of firmware information which can be refreshed at the time; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed, so that the error refreshing of the firmware of the target server can be avoided to a certain extent; the method comprises the steps of determining the target version of the firmware to be refreshed in the target server based on feedback information, refreshing the firmware to be refreshed of the target server based on the target version, screening the latest available target version information for the target server, preventing refreshing among mutually exclusive versions to a certain extent, ensuring the stability of a system, avoiding the influence of instability and delay in software operation on refreshing of the server firmware because a substrate management chip of a substrate management controller is not required to be called by management software, and improving the timeliness and reliability of refreshing of the server firmware.
In this embodiment, a method for refreshing server firmware is provided, which may be used for the above server, where the server communicates with a central server through a server cluster, and fig. 4 is a flowchart of a method for refreshing server firmware according to an embodiment of the present invention, as shown in fig. 4, where the flowchart includes the following steps:
step S401, broadcasting a refresh message to the server cluster.
Please refer to step S201 in the embodiment shown in fig. 2 in detail, which is not described herein.
Step S402, receiving feedback information reported by the target server based on the refresh message.
In this embodiment, the version of firmware refreshing for the firmware to be refreshed in the target server is determined by acquiring feedback information reported by the target server based on the refresh message, so as to facilitate determining the version of firmware refreshing for the firmware to be refreshed in the target server according to the feedback information of the target server. The version of firmware refreshing the firmware to be refreshed in the target server may be the latest version that can be refreshed by the firmware to be refreshed of the target server, or may be one of some versions that can be refreshed by the firmware to be refreshed of the target server. It can be appreciated that by the target server actively reporting feedback information based on the refresh message, a false brushing of the target server firmware can be avoided to a certain extent.
In an alternative embodiment, the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information includes the attribute of the target server and the version of the firmware to be refreshed.
In an alternative embodiment, the central server broadcasts the refresh message within the server cluster via a local area network. After receiving the refresh message, such as the information of the firmware to be refreshed, sent by the central server, the servers in the server cluster perform self-checking before refresh, such as by the baseboard management controller, so as to determine whether the refresh condition is met. When the target server confirms that the firmware to be refreshed meets the refreshing condition (can be refreshed), the target server reports the feedback information of the target server through a link layer management protocol. Before the target server reports the feedback information of the target server, the target server needs to perform self-checking according to the refreshing information broadcast by the central server, and only when the target server accords with the refreshing condition, the feedback information is reported through a link layer management protocol, and the target server changes from passive to active, so that the error brushing is prevented to a certain extent. It can be understood that when the target server performs self-checking and finds that the refresh condition is not met, the feedback information of the target server is not reported.
In an optional implementation manner, when the target server confirms that the self-firmware of the target server meets the refresh condition, the target server can confirm that the self-firmware to be refreshed meets the refresh condition when the firmware to be refreshed of the target server does not have a refresh task repeated with the refresh message and meets the trigger condition, and can refresh. The triggering condition includes that the server is in a task refreshing environment and can refresh firmware to be refreshed. It can be appreciated that the self-checking in this embodiment is used to detect whether the refresh condition is met, so that on one hand, whether a refresh task is currently present can be detected, and on the other hand, whether the trigger condition is met.
For example, the BIOS (Basic Input Output System, basic input/output system, a set of programs solidified on a ROM chip on a motherboard in a computer, which stores the most important basic input/output programs, system setting information, self-checking programs after starting up and self-starting programs after system, and the main functions of the BIOS are to provide the bottommost and most direct hardware setting and control for the computer) needs to be triggered by shutdown, and if the BIOS is in a current starting-up state, the BIOS may not be refreshed. Yet another scenario is that it may already be in a refresh state that is repeated with a refresh message, and that no refresh can be performed any more. Therefore, in the shutdown state, the BIOS is not in a refresh state that is repeated with the refresh message, and firmware refresh (such as new version firmware refresh) can be performed according to the information of the firmware to be refreshed, so that the BIOS refresh can be performed.
In an optional implementation manner, when obtaining feedback information of the target server, an attribute of the target server and a version of firmware to be refreshed may be encapsulated in a link layer management data frame to obtain the feedback information, so as to report the feedback information generated by the target server based on the refresh message. Please refer to step S302 in the embodiment shown in fig. 3 in detail, which is not described herein.
Step S403, determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version.
In this embodiment, if the target server confirms that the server firmware of the target server meets the refresh condition, feedback information generated based on the attribute of the target server and the version of the firmware to be refreshed is reported to the central server through the link layer management protocol, and after the central server receives the feedback information reported by the target server, the attribute of the target server and the version of the firmware to be refreshed are determined through the feedback information, and the firmware to be refreshed of the target server is refreshed according to the attribute of the target server and the version of the firmware to be refreshed, so that the substrate management chip of the substrate management controller is not required to be refreshed through management software, the influence of instability and delay in software operation on the refreshing of the server firmware is avoided, and the timeliness and reliability of the refreshing of the server firmware are improved.
Specifically, the step S403 of determining the target version of the firmware to be refreshed in the target server based on the feedback information includes:
step S4031, determining the model of the target server based on the attribute of the target server.
In this embodiment, the feedback information is analyzed to obtain the attribute of the target server, so as to determine the target version information based on the attribute of the target server. The feedback information is parsed into an inverse process of feedback information assembly, which is not described herein.
In step S4032, the target model identical to the model of the target server is found in the model table.
In this embodiment, the version of the firmware to be refreshed of the target server is determined according to the target model by searching the target model which is the same as the model of the target server in the model table.
In an alternative embodiment, the server version management database includes a plurality of model tables for characterizing server models, and corresponding version-swivable arrays. For example, if the model table includes N model tables, where N represents N server models, the server version management database system is constructed as follows:
model 1 BMC BIOS CPLD FAN board PSU
FW1 FW path
FW2 FW path
FW3 FW path
Wherein FW: firmware) represents a version; BMC: baseboard Manager controller is used for monitoring the server; basic Input output system basic input/output system, a ROM chip on the server; CPLD: and the complex programmable logic device is used for controlling the power-on and power-off of the server. PSU: power supply unit power supply module; FAN plate: a fan plate. The FW path is a storage path corresponding to the current version.
Step S4033, determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed.
In this embodiment, the firmware to be refreshed of the target server is conveniently refreshed according to the obtained target version by determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed.
In an alternative implementation manner, all firmware versions which can be refreshed by the firmware to be refreshed can be queried from a firmware version table according to the target model; and taking the optimal version in all firmware versions which can be refreshed by the firmware to be refreshed as a target version.
Specifically, when the target version is obtained from the server version management database, an optimal version can be output from all firmware versions which can be refreshed as the target version on the basis of the principle that the version is optimal and the latest is available. The firmware version table may be a version-swipable array, and a two-dimensional array based on R may be selected, where R represents firmware supporting refreshing, i represents a current version, and j represents a refreshable version. The two-dimensional array can be expressed as:
Where the value of T is either 0 or 1, where 0 represents no refresh and 1 represents an available refresh. Such as T 21 =0 represents that the current version is FW2 and cannot be refreshed as FW1. The value of T defaults to 1, representing that all can be refreshed. If the two versions have mutually exclusive relationships, the value of the two-dimensional array is set to 0. The mutual exclusion relation between the two versions means that the two versions cannot be mutually brushed through some modes, such as WEB, for example, when a target server is refreshed through WEB under the scene of modifying a server partition, the problem that a kernel Panic causes a baseboard management controller to be restarted all the time occurs.
The present embodiment will create a refresh task based on current feedback information such as version selection of the latest version of the available updates. For a version that is not refreshable, but requires forced refresh, a FLASH full-clear refresh tool is selected for refresh. That is, when the center server receives feedback information (message) sent by the target server, the model of the target server is located according to the Board ID and the BomID stored in the ChassisID. And then positioning the corresponding servers in the N server version management databases according to the machine types. And finally, selecting an optimal version which is suitable for refreshing at present according to the current version of the firmware transmitted in the LLDPDU message, and selecting to carry out forced execution according to requirements or determining which version to refresh according to instructions, and if the forced execution is selected, creating a refreshing task according to a recommended refreshing mode. In other embodiments, data information may also be added to the two-dimensional array as to whether to alter the firmware configuration.
In an alternative implementation manner, the target version selection model can be obtained according to the version of the firmware to be refreshed of the target server; and determining a target version for refreshing the target server through the target version selection model.
Optionally, the obtaining of the target version selection model may be a label that can obtain the sample data and the sample data first, where the label is used to characterize feedback information of the target server; inputting the sample data into a version selection model to obtain version information of a prediction server; based on the version information and the labels of the prediction servers, updating parameters of the version selection model to determine a target version selection model, wherein the input of the target version selection model can be feedback information, and the output of the target version selection model can be target server version information of a target server.
In the training of the target version selection model, a training sample set can be acquired first; dividing a first sample set and a second sample set from the training sample set; training a target object recognition model by using the firmware samples in the first sample set, and verifying the target object recognition model by using the second sample set.
The method for refreshing the server firmware includes the steps that firstly, a refreshing message is broadcast to a server cluster, and the refreshing message comprises information of firmware to be refreshed so as to inform each target server in the server cluster of firmware information which can be refreshed at the time; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed, so that the error refreshing of the firmware of the target server can be avoided to a certain extent; the method comprises the steps of determining the target version of the firmware to be refreshed in the target server based on feedback information, refreshing the firmware to be refreshed of the target server based on the target version, screening out the latest available version information of the target server for the target server, preventing refreshing among mutually exclusive versions to a certain extent, ensuring the stability of a system, avoiding the influence of instability and delay in software operation on refreshing of the firmware of the server because a substrate management chip of a substrate management controller is not required to be called by management software to refresh, and improving the timeliness and reliability of refreshing of the firmware of the server.
In this embodiment, a method for refreshing server firmware is provided, which may be used for the above server, where the server communicates with a central server through a server cluster, and fig. 5 is a flowchart of a method for refreshing server firmware according to an embodiment of the present invention, as shown in fig. 5, where the flowchart includes the following steps:
in step S501, the operation mode of all the target servers in the server cluster is set to duplex mode.
In this embodiment, the working modes of all the target servers in the server cluster are set to be duplex modes, that is, the working modes of all the target servers and the central server in the server cluster before batch refreshing are duplex modes, so that data can be sent and received.
In step S502, a refresh message is broadcasted in the server cluster.
In this embodiment, the central server broadcasts the refresh message in the server cluster through the local area network, so as to inform each target server in the server cluster of the firmware information that can be refreshed and the corresponding refresh conditions.
Step S503, receiving feedback information reported by the target server based on the refresh message.
In this embodiment, the version of firmware refreshing for the firmware to be refreshed in the target server is determined by acquiring feedback information reported by the target server based on the refresh message, so as to facilitate determining the version of firmware refreshing for the firmware to be refreshed in the target server according to the feedback information of the target server. The version of firmware refreshing the firmware to be refreshed in the target server may be the latest version that can be refreshed by the firmware to be refreshed of the target server, or may be one of some versions that can be refreshed by the firmware to be refreshed of the target server. It can be appreciated that by the target server actively reporting feedback information based on the refresh message, a false brushing of the target server firmware can be avoided to a certain extent.
Please refer to the step S202 of the embodiment shown in fig. 2 and the step S302 of the embodiment shown in fig. 3 in detail, which are not described herein.
Step S504, determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version.
In this embodiment, if the target server confirms that the server firmware of the target server meets the refresh condition, feedback information generated based on the attribute of the target server and the version of the firmware to be refreshed is reported to the central server through the link layer management protocol, and after the central server receives the feedback information reported by the target server, the attribute of the target server and the version of the firmware to be refreshed are determined through the feedback information, and the firmware to be refreshed of the target server is refreshed according to the attribute of the target server and the version of the firmware to be refreshed, so that the substrate management chip of the substrate management controller is not required to be refreshed through management software, the influence of instability and delay in software operation on the refreshing of the server firmware is avoided, and the timeliness and reliability of the refreshing of the server firmware are improved.
Please refer to the step S203 of the embodiment shown in fig. 2 and the step S403 of the embodiment shown in fig. 4 in detail, which will not be described herein.
According to the server firmware refreshing method, firstly, the working modes of all target servers in the server cluster are set to be duplex modes, namely, the working modes of all target servers and the central server in the server cluster before batch refreshing are duplex modes, so that data can be sent and received; the central server broadcasts refreshing information in the server cluster through the local area network so as to inform each target server in the server cluster of firmware information which can be refreshed at the time and corresponding refreshing conditions; broadcasting refreshing information to the server cluster, wherein the refreshing information comprises firmware information to be refreshed so as to inform each target server in the server cluster of the firmware information which can be refreshed at the time; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed, so that the error refreshing of the firmware of the target server can be avoided to a certain extent; the method comprises the steps of determining the target version of the firmware to be refreshed in the target server based on feedback information, refreshing the firmware to be refreshed of the target server based on the target version, screening out the latest available version information of the target server for the target server, preventing refreshing among mutually exclusive versions to a certain extent, ensuring the stability of a system, avoiding the influence of instability and delay in software operation on refreshing of the firmware of the server because a substrate management chip of a substrate management controller is not required to be called by management software to refresh, and improving the timeliness and reliability of refreshing of the firmware of the server.
The embodiment also provides a server firmware refreshing device, which is used for implementing the above embodiment and the preferred implementation, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
The present embodiment provides a server firmware refreshing apparatus, as shown in fig. 6, including:
a message broadcasting module 601, configured to broadcast a refresh message to a server cluster.
The refresh message includes information of firmware to be refreshed.
In some alternative embodiments, the message broadcast module 601 includes:
and the mode setting unit is used for setting the working modes of all servers in the server cluster to be duplex mode.
And the message broadcasting unit is used for broadcasting the refreshing message in the server cluster.
The information reporting module 602 is configured to receive feedback information reported by the target server based on the refresh message.
The feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, and is transmitted through a link layer management protocol, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed.
Optionally, the determining that the target server can refresh based on the self-check before refreshing of the information of the firmware to be refreshed includes: the firmware to be refreshed of the target server does not have a refresh task repeated with the refresh message, and the trigger condition is satisfied. The triggering condition includes that the server is in a task refreshing environment and can refresh firmware to be refreshed.
In some alternative embodiments, the information reporting module 602 includes:
and the data acquisition unit is used for acquiring the data to be transmitted.
And the data assembling unit is used for assembling the data to be transmitted according to the message format of the link layer management protocol to obtain a link layer management data frame.
And the version packaging unit is used for packaging the attribute of the target server and the version of the firmware to be refreshed in the link layer management data frame to obtain feedback information.
And the firmware information determining unit is used for taking the link layer management data frame added with the firmware information of the target server as feedback information.
The firmware refreshing module 603 is configured to determine a target version of firmware to be refreshed in the target server based on the feedback information, and refresh the firmware to be refreshed of the target server based on the target version.
In some alternative embodiments, firmware refresh module 603 includes:
And the model determining unit is used for determining the model of the target server based on the attribute of the target server.
The model searching unit is used for searching the target model which is the same as the model of the target server in the model table.
And the version determining unit is used for determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed.
Optionally, when determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed, the version determining unit is specifically configured to query all firmware versions that can be refreshed by the firmware to be refreshed from the firmware version table according to the target model; and taking the optimal version in all firmware versions which can be refreshed by the firmware to be refreshed as a target version.
Optionally, the first sample set and the second sample set are partitioned from the training sample set; training a target object recognition model by using a firmware sample in the first sample set, and verifying the target object recognition model by using the second sample set; acquiring a target version selection model according to the version of the firmware to be refreshed of the target server; and determining a target version for refreshing the target server through the target version selection model.
The server firmware refreshing means in this embodiment are presented in the form of functional units, where the units refer to ASIC circuits, processors and memories executing one or more software or firmware programs, and/or other devices that can provide the above described functionality.
Further functional descriptions of the above respective modules and units are the same as those of the above corresponding embodiments, and are not repeated here.
The embodiment of the invention also provides computer equipment, which is provided with the server firmware refreshing device shown in the figure 6.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a computer device according to an alternative embodiment of the present invention, as shown in fig. 7, the computer device includes: one or more processors 10, memory 20, and interfaces for connecting the various components, including high-speed interfaces and low-speed interfaces. The various components are communicatively coupled to each other using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions executing within the computer device, including instructions stored in or on memory to display graphical information of the GUI on an external input/output device, such as a display device coupled to the interface. In some alternative embodiments, multiple processors and/or multiple buses may be used, if desired, along with multiple memories and multiple memories. Also, multiple computer devices may be connected, each providing a portion of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system). One processor 10 is illustrated in fig. 7.
The processor 10 may be a central processor, a network processor, or a combination thereof. The processor 10 may further include a hardware chip, among others. The hardware chip may be an application specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general-purpose array logic, or any combination thereof.
Wherein the memory 20 stores instructions executable by the at least one processor 10 to cause the at least one processor 10 to perform a method for implementing the embodiments described above.
The memory 20 may include a storage program area that may store an operating system, at least one application program required for functions, and a storage data area; the storage data area may store data created from the use of the computer device of the presentation of a sort of applet landing page, and the like. In addition, the memory 20 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, memory 20 may optionally include memory located remotely from processor 10, which may be connected to the computer device via a network. Examples of such networks include, but are not limited to, the internet, intranets, server clusters, mobile communication networks, and combinations thereof.
Memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk, or solid state disk; the memory 20 may also comprise a combination of the above types of memories.
The computer device also includes a communication interface 30 for the computer device to communicate with other devices or communication networks.
The embodiments of the present invention also provide a computer readable storage medium, and the method according to the embodiments of the present invention described above may be implemented in hardware, firmware, or as a computer code which may be recorded on a storage medium, or as original stored in a remote storage medium or a non-transitory machine readable storage medium downloaded through a network and to be stored in a local storage medium, so that the method described herein may be stored on such software process on a storage medium using a general purpose computer, a special purpose processor, or programmable or special purpose hardware. The storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, a solid state disk or the like; further, the storage medium may also comprise a combination of memories of the kind described above. It will be appreciated that a computer, processor, microprocessor controller or programmable hardware includes a storage element that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, implements the methods illustrated by the above embodiments.
Although embodiments of the present invention have been described in connection with the accompanying drawings, various modifications and variations may be made by those skilled in the art without departing from the spirit and scope of the invention, and such modifications and variations fall within the scope of the invention as defined by the appended claims.

Claims (10)

1. A method for refreshing server firmware, the method comprising:
broadcasting a refreshing message to a server cluster, wherein the refreshing message comprises information of firmware to be refreshed;
receiving feedback information reported by a target server based on the refreshing message; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, the feedback information is transmitted through a link layer management protocol, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed;
and determining a target version of the firmware to be refreshed in the target server based on the feedback information, and refreshing the firmware to be refreshed of the target server based on the target version.
2. The method of claim 1, wherein broadcasting the refresh message to the server cluster comprises:
Setting the working modes of all servers in the server cluster to be duplex modes;
broadcasting the refresh message in the server cluster.
3. The method of claim 2, wherein obtaining the feedback information comprises:
and packaging the attribute of the target server and the version of the firmware to be refreshed in a link layer management data frame to obtain the feedback information.
4. The method of claim 3, wherein obtaining a link layer management data frame comprises:
acquiring data to be transmitted;
and assembling the data to be transferred according to a message format of a link layer management protocol to obtain the link layer management data frame.
5. The method of claim 4, wherein determining the target version of firmware to be refreshed in the target server based on the feedback information comprises:
determining a model of the target server based on the attribute of the target server;
searching a target model which is the same as the model of the target server in a model table;
and determining the target version of the firmware to be refreshed according to the target model and the version of the firmware to be refreshed.
6. The method of claim 5, wherein determining the target version of the firmware to be refreshed based on the target model and the version of the firmware to be refreshed comprises:
inquiring all firmware versions which can be refreshed by the firmware to be refreshed from a firmware version table according to the target model;
and taking the optimal version in all firmware versions which can be refreshed by the firmware to be refreshed as a target version.
7. The method of claim 4, wherein determining the target version of firmware to be refreshed in the target server based on the feedback information further comprises:
acquiring a target version selection model according to the version of the firmware to be refreshed of the target server;
and determining a target version for refreshing the target server through the target version selection model.
8. The method of claim 7, wherein prior to obtaining the target version selection model, the method further comprises:
dividing a first sample set and a second sample set from the training sample set;
training the target object recognition model by using firmware samples in the first sample set, and verifying the target object recognition model by using the second sample set.
9. The method according to any one of claims 1 to 8, wherein the target server performs a pre-refresh self-test determination that can be refreshed based on the information of the firmware to be refreshed, including:
the firmware to be refreshed of the target server does not have a refresh task which is repeated with the refresh message, and meets a trigger condition;
the triggering condition includes that the server is in a task refreshing environment and can refresh firmware to be refreshed.
10. A server firmware refreshing apparatus, the apparatus comprising:
the message broadcasting module is used for broadcasting refreshing messages to the server clusters, wherein the refreshing messages comprise information of firmware to be refreshed;
the information reporting module is used for receiving feedback information reported by the target server based on the refreshing information; the feedback information is generated after the target server performs self-checking before refreshing based on the information of the firmware to be refreshed, the feedback information is transmitted through a link layer management protocol, and the feedback information comprises the attribute of the target server and the version of the firmware to be refreshed;
and the firmware refreshing module is used for determining a target version of the firmware to be refreshed in the target server based on the feedback information and refreshing the firmware to be refreshed of the target server based on the target version.
CN202310572487.XA 2023-05-19 2023-05-19 Server firmware refreshing method and device Pending CN116627458A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310572487.XA CN116627458A (en) 2023-05-19 2023-05-19 Server firmware refreshing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310572487.XA CN116627458A (en) 2023-05-19 2023-05-19 Server firmware refreshing method and device

Publications (1)

Publication Number Publication Date
CN116627458A true CN116627458A (en) 2023-08-22

Family

ID=87609272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310572487.XA Pending CN116627458A (en) 2023-05-19 2023-05-19 Server firmware refreshing method and device

Country Status (1)

Country Link
CN (1) CN116627458A (en)

Similar Documents

Publication Publication Date Title
CN108804618B (en) Database configuration method, device, computer equipment and storage medium
CN107800565B (en) Inspection method, inspection device, inspection system, computer equipment and storage medium
US10462250B2 (en) Distributed caching cluster client configuration
US20170163479A1 (en) Method, Device and System of Renewing Terminal Configuration In a Memcached System
US20200327045A1 (en) Test System and Test Method
CN112867988A (en) Implementing compliance settings by a mobile device to follow a configuration scenario
CN103268319A (en) Cloud browser based on webpages
WO2020248375A1 (en) Method and system for synchronizing data between databases, computer device and storage medium
CN104978172A (en) Integrated management and control method, system and equipment of SDN (Software Defined Networking) applications
CN108984544B (en) Method and device for modifying configuration information of distributed system
US20160036665A1 (en) Data verification based upgrades in time series system
CN112527397A (en) Method and device for modifying basic input output system options and computer equipment
US20240146650A1 (en) Creating endpoints
CN112445874A (en) Node information checking method, device, equipment and storage medium
CN112100152A (en) Service data processing method, system, server and readable storage medium
CN116805946A (en) Message request processing method and device, electronic equipment and storage medium
US10324766B1 (en) Task profile collection
CN108111496B (en) Method, device and system for exposing http service for dubbo distributed application
CN114401187A (en) Gray scale distribution method and device, computer equipment and storage medium
CN107105004B (en) Cross-platform service calling method and device
CN112804099A (en) Parameter batch configuration method and device, computer equipment and readable storage medium
CN116627458A (en) Server firmware refreshing method and device
CN112416698B (en) Expansion method and device of monitoring system, storage medium and electronic equipment
CN114466000A (en) CDN gateway source returning method and device
CN113079152A (en) Data transmission method, device and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination