Server system, firmware processing method, device, equipment, medium and product
By introducing blockchain technology and CPLD nodes into the server system, a decentralized blockchain network is built, and a single point of failure and data tampering risks of traditional server centralized network is solved, and information security and transparency are achieved. Ensures traceability of firmware version and logs.
Patent Information
- Application Number
- CN202411195095.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2044-08-28
AI Technical Summary
Traditional centralized server networks have a risk of single point of failure and data tampering, and cannot guarantee the security and traceability of firmware version updates and operation logs.
Using blockchain technology to build a decentralized server system, implement blockchain networks through CPLD, use dual IP addresses to split services and blockchain networks, ensure information security and transparency, and create, record and verify nodes. Consensus mechanism for information verification and recording.
Decentralization, immutability, transparency and encryption support are realized, which enhances the security and credibility of the server network, reduces the risk of single point of failure, and ensures the integrity and traceability of information.
Smart Images

Figure CN118713816B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of server technology, and in particular to a server system, a firmware processing method, a device, equipment, a medium and a product. Background Art
[0002] Server messaging is essential to maintaining the security and integrity of data transmission within the network. It ensures reliable and secure message delivery between servers, services, and clients. Especially for server firmware version updates and operation logs, if security and traceability cannot be guaranteed, the entire server network will have great hidden dangers. Currently, the centralized network transmission of key information between servers has risks such as single point failure, lack of transparency, and data tampering.
[0003] As a decentralized, secure and reliable distributed ledger technology, blockchain technology has attracted much attention in recent years and has brought about revolutionary changes in many fields. Compared with traditional centralized database systems, each node in the blockchain contains a complete copy of the ledger, and any modification to the ledger requires the consensus of the majority of nodes in the network, ensuring the security and immutability of the data.
[0004] Currently, server-centralized networks are commonly used in traditional enterprise environments, in which central servers manage network traffic, data storage, and application services, and handle all data transactions. Clients request services from central servers and communicate with each other. This type of data processing only through a centralized network will have a single point of failure problem, that is, the centralized system is controlled by a single point. Once it becomes a target of attack and is destroyed, the security of the entire system will be at risk. Summary of the invention
[0005] The purpose of the embodiments of the present invention is to provide a server system, a firmware processing method, an apparatus, a device, a medium and a product. The specific technical solutions are as follows:
[0006] In a first aspect of the implementation of the present invention, a server system is first provided, the server system comprising: a plurality of server nodes, the server nodes comprising a server network port, a baseboard management controller node and a controller node;
[0007] The server network port is bound to a first Internet Protocol address and a second Internet Protocol address;
[0008] Among them, the first Internet Protocol address is used to be assigned to a baseboard management controller node, the second Internet Protocol address is used to be assigned to a controller node, a number of the baseboard management controller nodes constitute a server business network, a number of the controller nodes constitute a blockchain network, and the controller nodes are used to transmit target information in the blockchain network.
[0009] Optionally, a plurality of baseboard management controller nodes are connected via a central node to form a star topology.
[0010] Optionally, several controller nodes are interconnected in a distributed manner.
[0011] Optionally, the blockchain network includes a creation node, an accounting node and a verification node, wherein the creation node, the accounting node and the verification node respectively correspond to the controller node in the blockchain network.
[0012] Optionally, the creation node is a controller node used to upload the target information.
[0013] Optionally, the accounting node is a controller node used to record the target information.
[0014] Optionally, the verification node is used to verify the legitimacy of the target information.
[0015] Optionally, blocks in the blockchain network are linked by hash values.
[0016] Optionally, the block includes a header and a body;
[0017] The header includes a hash value of the current block, a hash value of a previous block corresponding to the current block in a connection order, and timestamp information, wherein the timestamp information is used to record a creation time corresponding to the current block;
[0018] The body includes the target information.
[0019] Optionally, the controller node is used for firmware processing and logging.
[0020] Optionally, the server network port is a single network port configuration, and the server system is connected to an external network via the single network port.
[0021] Optionally, the first Internet Protocol address is a dynamic IP, the second Internet Protocol address is a static IP, and the baseboard management controller node performs service transmission through the dynamic IP.
[0022] In a second aspect of the implementation of the present invention, a firmware processing method is further provided, which is applied to the server system described in the first aspect, and the method includes:
[0023] Determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node;
[0024] Sending firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;
[0025] The firmware processing information is encrypted and packaged with a private key by the creation node to obtain target firmware processing information, and the target firmware processing information is sent to the blockchain network to create a target block in the blockchain network;
[0026] Broadcasting the target block to a verification node through a peer-to-peer topology so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network;
[0027] If the verification is successful, the target block is added to the blockchain network;
[0028] Capturing the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parsing the firmware processing information;
[0029] The target firmware is processed based on the parsed firmware processing information.
[0030] Optionally, before the step of broadcasting to the verification node through the point-to-point topology, the method includes:
[0031] Confirming whether the target encrypted information is in a valid state through the verification node;
[0032] If yes, the target encrypted information is placed in the memory pool corresponding to the verification node;
[0033] The block creation information is determined in the memory pool by the verification node, and a target block is compiled and generated based on the block creation information.
[0034] Optionally, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:
[0035] Upload the log information corresponding to the controller node where the controller is located according to the preset time interval.
[0036] Optionally, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:
[0037] When the controller monitors that the server system is in an abnormal power-off state, the log information corresponding to the controller node where the controller is located is uploaded.
[0038] In a third aspect of the implementation of the present invention, there is further provided a firmware processing device, which is applied to the server system described in the first aspect, and the device includes:
[0039] A determination module, configured to determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node;
[0040] A sending module, configured to send firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;
[0041] A creation module, used to encrypt and package the firmware processing information with a private key through the creation node to obtain target firmware processing information, and send the target firmware processing information to the blockchain network to create a target block in the blockchain network;
[0042] A verification module, configured to broadcast the target block to a verification node through a peer-to-peer topology, so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network;
[0043] An adding module, used for adding the target block to the blockchain network if the verification is successful;
[0044] A capture module, configured to capture the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parse the firmware processing information;
[0045] The processing module is used to process the target firmware based on the parsed firmware processing information.
[0046] In a fourth aspect of the implementation of the present invention, there is also provided a communication device, comprising: a transceiver, a memory, a processor, and a program stored in the memory and executable on the processor;
[0047] The processor is used to read the program in the memory to implement the memory resource integrated machine power backup method as described in any one of the first aspects.
[0048] In the fifth aspect of the implementation of the present invention, a computer-readable storage medium is further provided, wherein instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer implements the memory resource integrated machine power backup method as described in any one of the first aspects.
[0049] In a sixth aspect of the implementation of the present invention, a computer program product is also provided, including a computer program / instruction, which, when executed by a processor, implements the memory resource integrated machine power backup method as described in any one of the first aspects.
[0050] The server system provided in the embodiment of the present invention includes: a plurality of server nodes, the server nodes include a server network port, a baseboard management controller node and a controller node; the server network port is bound to a first Internet Protocol address and a second Internet Protocol address; wherein the first Internet Protocol address is used to be assigned to the baseboard management controller node, the second Internet Protocol address is used to be assigned to the controller node, a plurality of the baseboard management controller nodes constitute a server business network, a plurality of the controller nodes constitute a blockchain network, and the controller node is used to transmit the target information in the blockchain network. In the embodiment of the present invention, the blockchain network is realized by using CPLD in the server, and on the basis of the current single network port of the server, a dual IP is configured and connected to the BMC and CPLD on the motherboard, wherein the main communication function is realized by the BMC, the business remains unchanged, and the CPLD constitutes the blockchain network, that is, the present invention can realize the architecture design of the server target information blockchain by not changing the server main network, and the target information is essentially the key information in the blockchain network. By dividing the key information and the business information into two networks, the information security protection isolation can be well realized. In addition, through the parallel processing of CPLD, data from a large number of sensors can be processed in real time, and the power consumption is relatively low, which is suitable for building blockchain technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art are briefly introduced below.
[0052] Figure 1 A schematic diagram of the architecture of a server system provided by an embodiment of the present invention;
[0053] Figure 2 is a schematic diagram of an exemplary blockchain network block provided by an embodiment of the present invention;
[0054] Figure 3 is a flowchart of a firmware processing method provided by an embodiment of the present invention;
[0055] Figure 4 is a flowchart of another firmware processing method provided by an embodiment of the present invention;
[0056] Figure 5 is a schematic diagram of an exemplary server system provided by an embodiment of the present invention;
[0057] Figure 6 is a device block diagram of a firmware processing device provided by an embodiment of the present invention;
[0058] Figure 7It is a schematic diagram of a communication device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0059] To make the purpose, technical scheme and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. However, it will be appreciated by those skilled in the art that in the embodiments of the present invention, many technical details are proposed in order to enable the reader to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical scheme claimed in the present application can be implemented. The division of the following embodiments is for the convenience of description, and should not constitute any limitation on the specific implementation of the present invention. The various embodiments can be combined and referenced with each other without contradiction.
[0060] Reference Figure 1 , shows a schematic diagram of the architecture of a server system provided by an embodiment of the present invention, the server system comprising: a plurality of server nodes, the server nodes comprising a server network port, a baseboard management controller node and a controller node;
[0061] The server network port is bound to a first Internet Protocol address and a second Internet Protocol address;
[0062] Among them, the first Internet Protocol address is used to be assigned to a baseboard management controller node, the second Internet Protocol address is used to be assigned to a controller node, a number of the baseboard management controller nodes constitute a server business network, a number of the controller nodes constitute a blockchain network, and the controller nodes are used to transmit target information in the blockchain network.
[0063] It should be noted that in the embodiments of the present application, the Internet Protocol address is the IP address.
[0064] It should be noted that in the embodiment of the present application, the CPLD (Complex Programmable Logic Device) in the server can be responsible for important tasks such as upgrading the firmware FW such as BMC / BIOS, controlling and recording the power status of the server, etc. In addition, the CPLD can implement protocols that require high computing power (such as PoW) and encryption functions such as encryption, hashing and digital signatures, as well as network functions, and can process multiple groups of data in parallel with low power consumption and cost. Therefore, the controller node in the embodiment of the present application can be a CPLD node.
[0065] The present invention allocates dual IPs to a single network port of the server, and allocates the two IPs to BMC and CPLD respectively. The BMC network is used for normal business operations of the server and can be used to transmit a large amount of information without changing the original business logic. The CPLD forms a blockchain network with another IP (which can be set as a static IP in advance), plays the role of a controller or gateway, and is used to transmit key information such as firmware information and system logs.
[0066] Furthermore, a plurality of baseboard management controller nodes are connected via a central node to form a star topology.
[0067] Furthermore, a plurality of the controller nodes are interconnected in a distributed manner.
[0068] Furthermore, the blockchain network includes a creation node, an accounting node and a verification node, wherein the creation node, the accounting node and the verification node respectively correspond to the controller node in the blockchain network.
[0069] Furthermore, the creation node is used to upload the controller node of the target information.
[0070] Furthermore, the accounting node is a controller node used to record the target information.
[0071] Furthermore, the verification node is used to verify the legitimacy of the target information.
[0072] It should be noted that in the embodiment of the present application, CPLD is used to transmit key information in the blockchain. In one transmission, there are three roles: creation node, accounting node and verification node. Among them, the creation node, the accounting node and the verification node correspond to the controller node in the blockchain network respectively.
[0073] Specifically, the creation node is the role that initiates accounting, that is, the server node that uploads key information; the verification node is all nodes except the uploading node, responsible for verifying the legality of key information; the accounting node is the node that ultimately records key information, that is, the node that is qualified to register its own recorded bills in the ledger.
[0074] Furthermore, the blocks in the blockchain network are linked by hash values.
[0075] Further, the block includes a header and a body;
[0076] The header includes a hash value of the current block, a hash value of a previous block corresponding to the current block in a connection order, and timestamp information, wherein the timestamp information is used to record a creation time corresponding to the current block;
[0077] The body includes the target information.
[0078] It should be noted that in the embodiment of the present application, the blockchain is composed of a blockchain called an account book. Figure 2 As shown. Blocks are linked by hash values. Each block contains the hash value of the previous block. In this way, blocks are linked in the form of a list. Blocks are divided into two parts: header and body. In addition to the hash value of the previous block, the header also contains a timestamp showing the release time and hash value of the block.
[0079] It should be noted that in the embodiments of the present application, Figure 2 The Merkle root in the Merkle tree is the root node of the Merkle tree. The Merkle tree is a special binary tree data structure that is used to effectively verify the integrity of large amounts of data. In the Merkle tree, each non-leaf node is the hash value of its child node data, and the leaf node contains the hash value of the data block.
[0080] In this way, the integrity of the entire data set can be confirmed by verifying the hash value of the root node. If any data block changes, the hash value of the root node will also change accordingly, so that data tampering can be detected. In blockchain technology, Merkle trees are widely used to verify transaction data. Each block contains a Merkle tree, in which the leaf nodes are the hash values of all transactions in the block. The block header contains the hash value of the root node of the Merkle tree (Merkle root), which is a summary of the transaction data of the entire block. By verifying the Merkle root, the node can quickly confirm whether all transactions in the block have been tampered with without having to verify each transaction one by one.
[0081] Furthermore, the controller node is used for firmware processing and logging.
[0082] Furthermore, the server network port is a single network port configuration, and the server system is connected to the external network through the single network port.
[0083] Furthermore, the first Internet Protocol address is a dynamic IP, the second Internet Protocol address is a static IP, and the baseboard management controller node performs service transmission through the dynamic IP.
[0084] It should be noted that in the embodiment of the present application, dual IPs are configured on a single server node, connected to the baseboard management controller (BMC) and complex programmable logic device (CPLD) on the motherboard. The BMC will use dynamic IP for business transmission and other major elements, while the CPLD will use static IP for firmware upgrades, logging, and blockchain-based functions.
[0085] Specifically, use VLAN tagging to assign two IPs to a single network port. VLAN ID 1 (dynamic IP) for the BMC and VLAN ID 2 (static IP) for the CPLD. Configure DHCP on VLAN ID 1 to assign a dynamic IP to the BMC. Assign a static IP to VLAN ID 2 for the CPLD manually or through a script.
[0086] In the embodiments of the present application, integrating blockchain technology into the server network can bring the following benefits:
[0087] First, decentralization. Unlike traditional centralized systems, where a single entity controls data and transactions, blockchain runs on a decentralized network of computers (nodes). Each node has a copy of the entire blockchain, ensuring that no single entity has complete control. In addition, there is no need to worry about problems with the central node affecting the entire server network.
[0088] Second, immutability, that is, all blockchain transactions are stored in an immutable ledger. This means that it cannot be modified or easily deleted. To change one of them, the attacker must control the majority of nodes in the network. The correctness of key information within the network can be well protected.
[0089] Third, resilience, that is, each node has a copy of the ledger, so information transactions are owned by all nodes. In this way, they cannot be easily destroyed and can be audited at any time. These features also ensure transparency and audibility, increasing trust between server nodes.
[0090] Fourth, cryptographic support, that is, blockchain technology implements strong cryptographic functions to ensure confidentiality, integrity, and authentication. Each user holds a pair of public keys generated at the time of registration. The integrity and authenticity of transactions are guaranteed by signing them. In addition, transactions are divided into multiple blocks, each of which contains a cryptographic hash of the previous block. This makes it extremely difficult to change past transactions without changing all subsequent blocks, which is computationally infeasible.
[0091] Reference Figure 3 , shows a flowchart of a firmware processing method provided by an embodiment of the present invention, the method may include:
[0092] First, refer to Figure 4, using CPLD to transmit key information in the blockchain. In one transmission, there are three roles: creation node, accounting node and verification node. The creation role is the role that initiates accounting, that is, the server node that uploads key information; the verification node is all nodes except the uploading node, responsible for verifying the legitimacy of key information; the accounting node is the node that finally records key information, that is, the node that is qualified to register its own recorded bills in the ledger.
[0093] Assume that CPLD node A needs to upload firmware information in the blockchain network and propagate it to all nodes in the network. The transmission steps are as follows:
[0094] S1. Create node A to start a new information upload instance, upload key information content and encrypt it as appropriate, package it with the private key signature of node A, send it to the blockchain network, and broadcast it to each verification node in the network using the point-to-point topology. The private key signature will serve as proof that server A authorized the information.
[0095] S2. The verification node will first monitor where the latest block is recorded to ensure that its own record is the latest. When receiving the latest transaction, it will first verify its validity (verify whether the information is generated by node A, whether node A has the permission to upload, and whether the random number is repeated to prevent duplicate records), and then further propagate it to ensure redundant transmission.
[0096] S3. The verification node independently verifies the transaction by decrypting the signature of node A using the server public key and comparing it with the hash value of the transaction data. After a period of time (for example, ten minutes), the verification node passes the information generated in this period to form a block. This block first has the information of the previous block, proving that it was indeed written after the previous block, and all the transactions recorded by the node in this period. The block is then distributed to the network for consensus verification.
[0097] S4. After the block is verified, it will be added to the blockchain transaction pool, which is a temporary storage area for storing transactions waiting to be included in the block. The verification node selects transactions from the memory pool, and it is recommended to give priority to transactions with more critical information (such as firmware upgrade information and downtime information). The verification node needs to verify the transaction (solve challenges) according to the consensus strategy. For the verification process, please see Figure 4 .
[0098] S5. After the verification node solves the cryptographic challenge according to the consensus mechanism, it broadcasts the solution and the verification node's signature along with the new block to other nodes. Other nodes verify the solution of the new block based on the signature and check whether all included transactions are still valid and whether they are included in another block. After successful verification, each node will add the new block to its own copy of the blockchain ledger.
[0099] S6. Once a transaction is stored in the ledger, it cannot be changed. To change a transaction, the ledger must be changed. As subsequent blocks are added on top of the included block (confirmed), it becomes increasingly difficult to change the transaction, thus ensuring immutability. In addition, a standard number of confirmations are required before a transaction is considered fully confirmed and irreversible (such as waiting for 51% of the number of nodes to confirm that the transaction is valid before storing it in the ledger).
[0100] After the above steps, a decentralized system running on a server network based on CPLD nodes was realized. The blockchain network makes all information transmissions visible to participants, thereby improving transparency, enhancing trust, and eliminating the need for a central server. Security is achieved through advanced encryption technology (private keys and hash values), which creates an immutable blockchain. Immutability ensures that transactions cannot be tampered with or deleted, which is critical to the integrity of important data in server applications.
[0101] Step 101, determining a first edge computing node in the blockchain network in the server system, and using the first edge computing node as a creation node;
[0102] It should be noted that in an embodiment of the present application, it is determined that the target server manufacturer accesses the first edge computing node in the blockchain network in the blockchain server system, and the first edge computing node is used as the creation node.
[0103] Step 102, sending firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;
[0104] Step 103, encrypting and packaging the firmware processing information with a private key through the creation node to obtain target firmware processing information, and sending the target firmware processing information to the blockchain network to create a target block in the blockchain network;
[0105] Step 104, broadcasting the target block to a verification node through a peer-to-peer topology, so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network;
[0106] Step 105: If the verification is successful, the target block is added to the blockchain network;
[0107] Step 106, capturing the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parsing the firmware processing information;
[0108] Step 107: Process the target firmware based on the parsed firmware processing information.
[0109] Furthermore, before the step of broadcasting to the verification node through the point-to-point topology, the method includes:
[0110] Confirming whether the target encrypted information is in a valid state through the verification node;
[0111] If yes, the target encrypted information is placed in the memory pool corresponding to the verification node;
[0112] The block creation information is determined in the memory pool by the verification node, and a target block is compiled and generated based on the block creation information.
[0113] It should be noted that the memory pool corresponding to the verification node, specifically, after the block is verified, it will be added to the blockchain transaction pool. This is a temporary storage area for storing transactions waiting to be included in the block. The verification node selects transactions from the memory pool, and it is recommended to give priority to transactions with more critical information (such as firmware upgrade information, downtime information). The verification node needs to verify the transaction (solve challenges) according to the consensus strategy.
[0114] It should be noted that, in the embodiment of the present application, in the above 101-107, the specific process of the server network needing to upgrade the firmware FW may include the following:
[0115] That is, first, the server manufacturer accesses the node in the CPLD blockchain, signs the firmware FW upgrade information (BMC / BIOS / CPLD FW, etc.) with its own private key, and sends it to the network; other servers in the network act as verification nodes, receive the information and verify its validity, including the authenticity and random value of the signature, and put the valid transaction into the transaction pool of the verification node; when the verification node creates a block, they select information from their own memory pool and compile the information into a new block; the verifier signs the new block with its own private key to make it authoritative, and broadcasts the newly created block to the network; other validators on the network verify the signature of the block with the known public key of the signer; once verified, the new block is added to the blockchain. This addition is performed synchronously on all nodes in the network. Once subsequent blocks are added, the transactions in the block are considered confirmed, further ensuring its immutability; all nodes capture the latest block information in real time and parse the firmware version information therein. If the current node firmware version is different from the version in the latest block, the firmware is upgraded according to the firmware version in the block information. This upgrade is received and led by the CPLD and can be used in conjunction with the Intel PFR upgrade. And the upgrade log can be uploaded to the blockchain network.
[0116] This implementation case can well meet the server network's requirements for security, integrity, and traceability of firmware upgrades, and prevent the risk of malicious damage to server firmware after the central node in the central network is invaded. In addition, limiting the server manufacturer's side to CPLD blockchain network connections can well protect customer business networks and reduce customer concerns about manufacturer-side access to the network.
[0117] Dual IPs are configured on a single server node, connected to the baseboard management controller (BMC) and complex programmable logic device (CPLD) on the motherboard. The BMC will use dynamic IP for business transmission and other major elements, while the CPLD will use static IP for firmware upgrades, logging, and blockchain-based functions.
[0118] Assign two IPs to a single network port using VLAN tagging. VLAN ID 1 (dynamic IP) for the BMC and VLAN ID 2 (static IP) for the CPLD. Configure DHCP on VLAN ID 1 to assign a dynamic IP to the BMC. Assign a static IP to VLAN ID 2 for the CPLD manually or via a script.
[0119] CPLD is responsible for important tasks in the server, such as upgrading BMC / BIOS and other firmware FW, controlling and recording the server power status, etc. This example uses the CPLD blockchain network to simulate the scenario where after the customer builds the server network, the server manufacturer needs to perform firmware security upgrades and read back logs and error information.
[0120] like Figure 5 As shown in the figure, in the server usage scenario, the business network composed of BMC nodes is connected to the client-side host for the client to process the client's business. The server manufacturer side is not connected to the client's business network to prevent any impact on the client's business.
[0121] The blockchain network composed of CPLD is connected to the server manufacturer side, and can be bidirectionally connected to the server manufacturer by a single node or multiple nodes to ensure redundancy and robustness. In addition, the blockchain network can also be connected to the customer network in one direction or two directions. According to the characteristics of the blockchain, both the customer side and the server manufacturer side can obtain the same important information.
[0122] In this case, the blockchain consensus can adopt the Proof of Authority (PoA) model. Depending on the selected scheme, one or more verification machines are responsible for generating each new transaction block to be included in the blockchain. New blocks can be accepted directly without verification, or by unanimous vote of block generators, or simply by majority vote, depending on the configuration chosen for the blockchain.
[0123] In PoA, each newly created block must be signed and approved by a validator before being added to the blockchain. Validators achieve consensus by digitally signing blocks, thereby proving their authority on the network. In this model, transactions and blocks are verified by approved accounts called validators. Validators are pre-selected trusted entities with the authority to create new blocks and process transactions. Compared to Proof of Work (PoW), PoA allows for faster block creation times and higher throughput.
[0124] Further, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:
[0125] Upload the log information corresponding to the controller node where the controller is located according to the preset time interval.
[0126] After the step of processing the target firmware based on the parsed firmware processing information, the method includes:
[0127] When the controller monitors that the server system is in an abnormal power-off state, the log information corresponding to the controller node where the controller is located is uploaded.
[0128] It should be noted that in the embodiment of the present application, the server node can automatically report the log. Specifically, each server node automatically uploads it to the network and verifies it. The log is sent in two situations: when the CPLD detects an abnormal power failure, or when the log of the current node is uploaded every set time (such as 1 hour). After being uploaded to the network and authenticated by the blockchain, it is distributed to each node for storage. After that, the server manufacturer and the client read the connected node.
[0129] This implementation case can store the key node logs of the entire network on each node of the server, which can greatly prevent the malicious tampering of logs after a single node is attacked by hackers, and also meet the requirements of security, integrity and traceability.
[0130] Reference Figure 6 , shows a schematic diagram of the structure of a firmware processing device provided by an embodiment of the present invention, the device comprising:
[0131] A determination module 201 is used to determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node;
[0132] A sending module 202, configured to send firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;
[0133] A creation module 203 is used to encrypt and package the firmware processing information with a private key through the creation node to obtain target firmware processing information, and send the target firmware processing information to the blockchain network to create a target block in the blockchain network;
[0134] A verification module 204, configured to broadcast the target block to a verification node through a peer-to-peer topology, so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network;
[0135] An adding module 205 is used to add the target block to the blockchain network if the verification is successful;
[0136] A capture module 206, configured to capture the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parse the firmware processing information;
[0137] The processing module 207 is used to process the target firmware based on the parsed firmware processing information.
[0138] The embodiment of the present invention also provides a communication device, such as Figure 7 As shown, it includes a processor 701, a communication interface 702, a memory 703 and a communication bus 704, wherein the processor 701, the communication interface 702, and the memory 703 communicate with each other through the communication bus 704.
[0139] Memory 703, used for storing computer programs;
[0140] The processor 701, when used to execute the program stored in the memory 703, can implement the following steps:
[0141] Determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node;
[0142] Sending firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;
[0143] The firmware processing information is encrypted and packaged with a private key by the creation node to obtain target firmware processing information, and the target firmware processing information is sent to the blockchain network to create a target block in the blockchain network;
[0144] Broadcasting the target block to a verification node through a peer-to-peer topology so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network;
[0145] If the verification is successful, the target block is added to the blockchain network;
[0146] Capturing the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parsing the firmware processing information;
[0147] The target firmware is processed based on the parsed firmware processing information.
[0148] Among them, the memory and the processor are connected in a bus manner, and the bus may include any number of interconnected buses and bridges, and the bus connects various circuits of one or more processors and memories together. The bus can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits together, which are all well known in the art, so this article will not further describe them. The bus interface provides an interface between the bus and the transceiver. The transceiver can be one element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on a transmission medium. The data processed by the processor can be transmitted on a wired medium or on a wireless medium through an antenna. Further, the antenna also receives data and transmits the data to the processor. The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. The memory can be used to store data used by the processor when performing operations.
[0149] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0150] The communication interface is used for communication between the above terminal and other devices.
[0151] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0152] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0153] In another embodiment provided by the present invention, a computer-readable storage medium is also provided, in which instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes the memory resource integrated machine power backup method described in any of the above embodiments.
[0154] In another embodiment provided by the present invention, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute the memory resource integrated machine power backup method described in any one of the above embodiments.
[0155] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.
[0156] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0157] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0158] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.
Claims
1. A server system, characterized in that: The server system includes: a plurality of server nodes, wherein the server nodes include a server network port, a baseboard management controller node and a controller node; The server network port is bound to a first Internet Protocol address and a second Internet Protocol address; The first Internet Protocol address is used to be assigned to a baseboard management controller node, and the second Internet Protocol address is used to be assigned to a controller node. Several of the baseboard management controller nodes constitute a server business network, and several of the controller nodes constitute a blockchain network. The controller nodes are used to transmit target information in the blockchain network, and the target information in the blockchain network includes firmware information and system logs.
2. The server system according to claim 1, characterized in that: A plurality of baseboard management controller nodes are connected via a central node to form a star topology.
3. The server system according to claim 1, characterized in that: Several controller nodes are interconnected in a distributed manner.
4. The server system according to claim 1, characterized in that: The blockchain network includes a creation node, an accounting node and a verification node, wherein the creation node, the accounting node and the verification node correspond to the controller node in the blockchain network respectively.
5. The server system according to claim 4, characterized in that: The creation node is used to upload the controller node of the target information.
6. The server system according to claim 4, characterized in that: The accounting node is a controller node used to record the target information.
7. The server system according to claim 4, characterized in that: The verification node is used to verify the legitimacy of the target information.
8. The server system according to claim 1, characterized in that: The blocks in the blockchain network are linked by hash values.
9. The server system according to claim 8, characterized in that: The block includes a header and a body; The header includes a hash value of the current block, a hash value of a previous block corresponding to the current block in a connection order, and timestamp information, wherein the timestamp information is used to record a creation time corresponding to the current block; The body includes the target information.
10. The server system according to claim 1, characterized in that: The controller node is used for firmware processing and logging.
11. The server system according to claim 1, characterized in that: The server network port is a single network port configuration, and the server system is connected to the external network via the single network port.
12. The server system according to claim 1, characterized in that: The first Internet Protocol address is a dynamic IP, the second Internet Protocol address is a static IP, and the baseboard management controller node performs service transmission through the dynamic IP.
13. A firmware processing method, characterized in that: Applied to the server system according to any one of claims 1 to 11, the method comprising: Determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node; Sending firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer; The firmware processing information is encrypted and packaged with a private key by the creation node to obtain target firmware processing information, and the target firmware processing information is sent to the blockchain network to create a target block in the blockchain network; Broadcasting the target block to a verification node through a peer-to-peer topology so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network; If the verification is successful, the target block is added to the blockchain network; Capturing the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parsing the firmware processing information; The target firmware is processed based on the parsed firmware processing information.
14. The method according to claim 13, characterized in that Before the step of broadcasting to the verification node through the point-to-point topology, the method includes: Confirming whether the target encrypted information is in a valid state through the verification node; If yes, the target encrypted information is placed in the memory pool corresponding to the verification node; The block creation information is determined in the memory pool by the verification node, and a target block is compiled and generated based on the block creation information.
15. The method according to claim 13, characterized in that After the step of processing the target firmware based on the parsed firmware processing information, the method includes: Upload the log information corresponding to the controller node where the controller is located according to the preset time interval.
16. The method according to claim 13, characterized in that After the step of processing the target firmware based on the parsed firmware processing information, the method includes: When the controller monitors that the server system is in an abnormal power-off state, the log information corresponding to the controller node where the controller is located is uploaded.
17. A firmware processing device, characterized in that: Applied to the server system according to any one of claims 1 to 11, the device comprises: A determination module, configured to determine a first edge computing node in the blockchain network in the server system, and use the first edge computing node as a creation node; A sending module, used to send firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer; A creation module, used to encrypt and package the firmware processing information with a private key through the creation node to obtain target firmware processing information, and send the target firmware processing information to the blockchain network to create a target block in the blockchain network; A verification module, configured to broadcast the target block to a verification node through a peer-to-peer topology, so that the target block is verified by the verification node, wherein the verification node is a second edge computing node in the blockchain network; An adding module, used for adding the target block to the blockchain network if the verification is successful; A capture module, configured to capture the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parse the firmware processing information; The processing module is used to process the target firmware based on the parsed firmware processing information.
18. A communication device, characterized in that: include: A transceiver, a memory, a processor, and a program stored on the memory and executable on the processor; The processor is used to read the program in the memory to implement the firmware processing method as described in any one of claims 13-16.
19. A readable storage medium for storing a program, characterized in that: When the program is executed by a processor, the firmware processing method according to any one of claims 13 to 16 is implemented.
20. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the firmware processing method as described in any one of claims 13-16 is implemented.
Citation Information
Patent Citations
System and method for realizing OTA upgrade of embedded hardware based on block chain
CN109889589A
Control method and device based on ARM server, equipment and storage medium
CN114443439A
