Blockchain system and method for a blockchain system
By monitoring and dynamically adjusting the number and resource configuration of execution nodes through the node configuration terminal, the problem of insufficient blockchain node performance is solved, the system performance and adaptability are improved, and resource utilization is optimized.
Patent Information
- Application Number
- CN202111355932.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-16
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2041-11-16
AI Technical Summary
The performance of blockchain nodes cannot meet the application requirements, resulting in their ineffective operation in some scenarios.
The system monitors the status information of each execution node through the node configuration terminal, and dynamically adjusts the number and resource configuration of execution nodes when preset conditions are met, including adding or disabling execution nodes, in order to optimize the performance and adaptability of peer nodes.
By dynamically adjusting the resource allocation of execution nodes, the performance and adaptability of the blockchain system are improved, resource utilization is optimized, and the needs of different application scenarios are met.
Smart Images

Figure CN114036235B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of blockchain technology, and more specifically, to a blockchain system and a method for using a blockchain system. Background Technology
[0002] Blockchain technology is a technology that enables the collective maintenance of a reliable database in a decentralized and trustless manner. In a blockchain network, even mutually untrusted nodes can easily verify data and reach consensus through a certain consensus mechanism. Therefore, blockchain technology can significantly reduce the trust costs between multiple nodes, thus having broad application scenarios and value in cross-border payments, credential services, and the financial sector.
[0003] Behind its widespread adoption, the performance issues of blockchain are becoming increasingly apparent. In some scenarios, the performance of blockchain nodes may not meet application requirements. Summary of the Invention
[0004] The purpose of this disclosure is to provide a blockchain system and a method for using a blockchain system to solve the aforementioned technical problems.
[0005] To achieve the above objectives, according to a first aspect of the present disclosure, a blockchain system is provided, including a node configuration terminal and multiple peer nodes, wherein...
[0006] At least one of the peer nodes is composed of multiple execution nodes, and each of the execution nodes is configured to implement a portion of the functions of the peer node.
[0007] The node configuration terminal is used to obtain the status information of each execution node, and add or disable execution nodes when the status information meets preset conditions.
[0008] Optionally, the plurality of execution nodes include storage execution nodes and computation execution nodes, wherein the storage execution nodes are used to implement the data storage function of the peer nodes, and the computation execution nodes are used to implement the data computation function of the peer nodes.
[0009] Optionally, the node configuration terminal is specifically used for,
[0010] When the status information indicates a failure of the computation execution node, a new computation execution node is added;
[0011] When the status information indicates a failure of the storage execution node, the data of the storage execution node is copied to a backup device, and a new storage execution node is added based on the backup device.
[0012] Optionally, the node configuration terminal is specifically used to obtain the storage status information of the storage execution node and the running status information of the computing execution node when obtaining the status information of each execution node;
[0013] The storage status information includes one or more of the following: storage capacity, remaining storage space, and input / output performance parameters; the operating status information includes one or more of the following: response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency.
[0014] Optionally, the node configuration terminal is further configured to calculate the load description value of the computing execution node based on the running status information, and,
[0015] When the load description value is greater than the first load threshold, one or more computing execution nodes are added;
[0016] When the load description value is less than the second load threshold, one or more computing execution nodes are disabled, wherein the second load threshold is less than the first load threshold.
[0017] Optionally, the node configuration terminal is further configured to initiate a storage expansion request when the storage status information indicates that the storage capacity of the storage execution node is less than a capacity threshold. The storage expansion request is used to expand the storage capacity of the storage execution node.
[0018] Optionally, the node configuration terminal is further configured to obtain metadata of the plurality of execution nodes, the metadata including storage association relationships between computation execution nodes and storage execution nodes.
[0019] The node configuration terminal is also specifically used to add execution nodes according to the storage association relationship between the computing execution node and the storage execution node.
[0020] Optionally, the computation execution node includes one or more of the following: endorsement execution node, data retrieval execution node, and accounting execution node;
[0021] The endorsement execution node is used to implement the endorsement function of the peer node;
[0022] The data retrieval execution node is used to obtain block data from the sorting nodes in the blockchain network;
[0023] The accounting execution node is used to verify the transaction data in the block data;
[0024] The storage execution node is specifically used to store block data.
[0025] According to a second aspect of the present disclosure, a method for a blockchain system is provided, applied to the blockchain system described in any one of the first aspects above, the method comprising:
[0026] The node configuration end obtains the status information of each execution node; and,
[0027] When the status information meets the preset conditions, a new execution node is added or an execution node is deactivated.
[0028] Optionally, the plurality of execution nodes includes storage execution nodes and computation execution nodes, and obtaining the status information of each execution node includes:
[0029] Obtain the storage status information of the storage execution node and the running status information of the computing execution node;
[0030] The step of adding or disabling an execution node when the status information meets preset conditions includes:
[0031] The load description value of the computing execution node is calculated based on the running status information;
[0032] When the load description value is greater than the first load threshold, one or more computing execution nodes are added;
[0033] When the load description value is less than the second load threshold, one or more computing execution nodes are disabled;
[0034] The storage status information includes one or more of the following: storage capacity, remaining storage space, and input / output performance parameters; the operation status information includes one or more of the following: response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency; and the second load threshold is less than the first load threshold.
[0035] In the above technical solution, a peer node consists of multiple execution nodes, each configured to implement a portion of the peer node's functions, such as computation and storage. This allows the node configuration end to monitor the status information of each execution node and adjust its accordingly. For example, if the initial execution node has a high load, additional execution nodes can be added to process the data, thereby reducing the load on the initial execution node. In other words, the above technical solution can add or deactivate execution nodes based on their status, thus dynamically adjusting the resources of the peer node. By dynamically allocating resources to the peer node, its performance can be optimized, and its adaptability to different application scenarios can be improved.
[0036] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0037] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings:
[0038] Figure 1 This is a block diagram of a blockchain system shown in an exemplary embodiment of this disclosure.
[0039] Figure 2 This is a block diagram illustrating a peer node 1 as shown in an exemplary embodiment of this disclosure.
[0040] Figure 3 This is a flowchart illustrating a node configuration terminal for configuring an execution node, as shown in an exemplary embodiment of this disclosure.
[0041] Figure 4 This is a flowchart illustrating a method for a blockchain system as shown in an exemplary embodiment of this disclosure.
[0042] Figure 5 This is a flowchart illustrating a method for a blockchain system as shown in an exemplary embodiment of this disclosure. Detailed Implementation
[0043] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0044] Figure 1 This is a block diagram of a blockchain system shown in this disclosure, with reference to... Figure 1 The blockchain system includes multiple peer nodes ( Figure 1 (Illustrated with two peer nodes). One or more of these peer nodes consist of multiple execution nodes, each of which is configured to implement a portion of the functions of the peer node.
[0045] For example, in some scenarios, the execution nodes can adopt a microservice architecture. By dividing the functions of peer nodes, microservices corresponding to the functions of each peer node can be configured. Each function of a peer node can correspond to one or more microservices.
[0046] Figure 2 This is a block diagram of a peer node 1 shown in this disclosure. In one possible implementation, the multiple execution nodes of peer node 1 include storage execution nodes and computation execution nodes. Figure 2In this context, the storage execution nodes include execution node 3 and execution node 4, which are used to implement the data storage functions of the peer nodes, such as blockchain ledger data storage, blockchain state data storage, blockchain transaction data storage, blockchain historical data storage, etc. The computing execution nodes include execution node 1 and execution node 2, which are used to implement the data computing functions of the peer nodes.
[0047] Regarding the computation execution node, it can be a stateless node, meaning that multiple computation execution nodes included in the same peer node can run on the same execution device or migrate between different execution devices. In some implementation scenarios, the computation execution node includes one or more endorsement execution nodes, which are used to implement the endorsement function of the peer node.
[0048] In some implementation scenarios, the computation execution node includes one or more data retrieval execution nodes, which are used to retrieve block data from sorting nodes in the blockchain network.
[0049] In some implementation scenarios, the computation execution node includes one or more accounting execution nodes, which are used to verify transaction data in the block data.
[0050] Of course, in some implementation scenarios, the computation execution node may include multiple of the aforementioned endorsement execution node, data retrieval execution node, and accounting execution node. Furthermore, other execution nodes can be identified based on the other functions of the peer node to perform that function. For example, in some implementation scenarios, an information forwarding execution node can also be identified, which is used to forward received requests to the execution node corresponding to the request (e.g., forwarding an endorsement request to the endorsement execution node). This disclosure does not impose specific limitations on the type and function of the execution nodes.
[0051] Furthermore, the storage execution node can be specifically used for storing block data, for example. For instance, after verifying the transaction data in a block, the accounting execution node can send the verified data to the storage execution node for storage. (See also...) Figure 2 In some possible implementation scenarios, storage execution nodes can also interact with computing execution nodes to store the data generated by the computing execution nodes.
[0052] The blockchain system also includes a node configuration client, which can be configured to correspond one-to-one with peer nodes. For example, in... Figure 1In this configuration, peer node 1 is configured with node configuration terminal 1, and peer node 2 is configured with node configuration terminal 2. In some implementations, the node configuration terminal may be configured for multiple peer nodes, such as node configuration terminal 1 being configured for both peer node 1 and peer node 2.
[0053] The node configuration terminal can be used to obtain the status information of each execution node, and add or disable execution nodes when the status information meets preset conditions.
[0054] For example, in one possible implementation, the node configuration terminal is specifically used for,
[0055] When the status information indicates a failure of the compute execution node, a new compute execution node is added. When the status information indicates a failure of the storage execution node, the data of the storage execution node is copied to a backup device, and a new storage execution node is added based on the backup device.
[0056] For example, the node configuration client can maintain heartbeat detection with each execution node. In this case, the status information can be, for example, the heartbeat response of the execution node. When the node configuration client does not receive a heartbeat response from the computing execution node within a preset time period, it can be determined that the computing execution node is faulty. In this case, the node configuration client can instantiate a new computing execution node, which can be implemented, for example, by mounting a container.
[0057] If the node configuration terminal does not receive a heartbeat response from the storage execution node within a preset time period, the storage execution node can be considered faulty. In this case, if the storage medium of the storage execution node is not damaged, the data in the storage medium can be copied to another device, and then a new storage execution node can be instantiated on that device.
[0058] It should be noted that in some implementation scenarios, the node configuration terminal can also restart the execution node before adding a new execution node. When the number of restarts exceeds a threshold (e.g., 3 times) and the execution node is still in a faulty state, the node configuration terminal can add a new execution node.
[0059] In the above technical solution, a peer node consists of multiple execution nodes, each configured to implement a portion of the peer node's functions, such as computation and storage. This allows the node configuration end to monitor the status information of each execution node and adjust its accordingly. For example, if the initial execution node has a high load, additional execution nodes can be added to process the data, thereby reducing the load on the initial execution node. In other words, the above technical solution can add or deactivate execution nodes based on their status, thus dynamically adjusting the resources of the peer node. By dynamically allocating resources to the peer node, its performance can be optimized, and its adaptability to different application scenarios can be improved.
[0060] In one possible implementation, the node configuration terminal is specifically used to acquire the storage status information of the storage execution node and the running status information of the computing execution node when acquiring the status information of each execution node.
[0061] The storage status information includes one or more of the following: storage capacity, remaining storage space, and input / output performance parameters. The operating status information includes one or more of the following: response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency.
[0062] The node configuration terminal is further configured to calculate the load description value of the computing execution node based on the running status information. When the load description value is greater than a first load threshold, one or more computing execution nodes are added. When the load description value is less than a second load threshold, one or more computing execution nodes are disabled. The second load threshold is less than the first load threshold.
[0063] Figure 3 This disclosure presents a flowchart illustrating a node configuration process for configuring an execution node. The node configuration terminal can acquire the execution node's response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency, and input these parameters to the input layer. The input layer receives the execution node's running status information and performs algorithm model mapping, thereby transforming it into parameters required by the decision layer.
[0064] For example, in one possible implementation, the parameters can be converted in the following way:
[0065] x1=(1-c)×100 (1)
[0066] x2=(1-α)×100 (2)
[0067]
[0068]
[0069]
[0070] x6=δ (6)
[0071] Where c is the CPU utilization, x1 is the converted value of CPU utilization, α is the memory utilization, x2 is the converted value of memory utilization, t is the response time, x3 is the converted value of response time, β is the throughput, and x4 is the converted value of throughput. x5 is the transaction success rate, δ is the transaction concurrency, and x6 is the transaction concurrency conversion value.
[0072] In the decision-making layer, the state of the execution node can be analyzed based on the obtained x1 to x6. For example, in some implementations, the decision-making layer can use a linear regression algorithm to achieve decision analysis. The calculation formula is as follows:
[0073] lnf(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w5x5+b (6)
[0074]
[0075] In this way, the least squares method can be used to obtain the optimal values of w and b.
[0076] in,
[0077] It should be noted that E(w,b) is a convex function with respect to (w,b), and therefore has a minimum value. That is, when the derivatives of E(w,b) with respect to both w and b are zero, the optimal solution for w and b can be obtained, and its calculation formula is as follows:
[0078]
[0079]
[0080] Thus, the optimal values of w and b can be calculated using equations (9) and (10), thereby obtaining the mapping relationship of f(x). With the mapping relationship of f(x) obtained, the value of f(x) can be calculated based on the input parameters x1 to x6, and this data can be transmitted to the output layer.
[0081] In the output layer, for example, the sigmoid function can be used to transform the range of f(x) to the (0,1) interval, thereby obtaining the load description value Q(f(x)):
[0082]
[0083] In this way, load thresholds can be set according to application requirements, thereby configuring the execution nodes. For example, in some scenarios, S can be defined as an output control command with the following states: when S = -1, the execution node is disabled; when S = 1, a new execution node is added; and when S = 0, the execution node state is maintained.
[0084] The correspondence between S and Q(f(x)) is as follows:
[0085]
[0086] In one possible implementation, the node configuration terminal can also be used to obtain metadata of the plurality of execution nodes, the metadata including storage association relationships between computation execution nodes and storage execution nodes.
[0087] For example, identification tags can be assigned to the execution nodes included in each peer node. Figure 1 For example, for execution nodes 1 to 4 of peer node 1, an identification tag "peer1" can be assigned. In this way, execution nodes 1 to 4 can identify each other using the identification tag "peer1". After the computation execution node of peer node 1 identifies the storage execution node of peer node 1, it can store data through the storage execution node. In this way, the association between computation execution nodes and storage execution nodes can be established. Of course, the node configuration terminal can also identify the execution nodes of each peer node using the identification tag. For example, after obtaining the status information of multiple execution nodes, the node configuration terminal can filter and aggregate the status information of multiple execution nodes of the same peer node based on the identification tag for easier analysis and processing. Furthermore, in some implementation scenarios, the metadata of the execution node may also include the node name, the number of execution nodes, the physical host address of the execution node, etc.
[0088] In this case, the node configuration terminal is further used to add execution nodes according to the storage association relationship between the computing execution node and the storage execution node.
[0089] Using the above technical solution, the node configuration end can obtain the execution node's operating status information, such as CPU utilization, memory utilization, response time, throughput, transaction success rate, and transaction concurrency, and calculate the execution node's load description value based on the obtained status information. When the load description value is greater than a first load threshold, it can be determined that the execution node's load is high. At this time, one or more computing execution nodes can be added to reduce the execution node's load. When the load description value is less than a second load threshold, it can be determined that the execution node's load is low. At this time, one or more computing execution nodes can be deactivated to reclaim resources and improve resource utilization. In this way, by dynamically allocating resources to peer nodes, the performance of peer nodes can be optimized, and the adaptability of peer nodes to different application scenarios can be improved.
[0090] Furthermore, the storage capacity of a storage execution node can also be adjusted based on its storage status information. For example, in some implementation scenarios, the node configuration terminal is further used to initiate a storage expansion request when the storage status information indicates that the storage capacity of the storage execution node is less than a capacity threshold. The storage expansion request is used to expand the storage capacity of the storage execution node.
[0091] For example, the node configuration end can detect parameters such as the total storage space and remaining storage space of the storage execution node, and set threshold ranges for each parameter. When a parameter exceeds its threshold range, a storage expansion request is initiated. The set threshold range can be, for example, disk remaining space > 10GB, disk occupancy < 80%, etc., and this disclosure does not impose any restrictions on this. When expanding the storage execution node, for example, distributed file storage technology can be used to achieve dynamic storage expansion.
[0092] Based on the same inventive concept, this disclosure also provides a method for a blockchain system, which is applied to the blockchain system provided in this disclosure. Figure 4 This is a flowchart illustrating a method for a blockchain system as shown in this disclosure, such as... Figure 4 As shown, the method includes:
[0093] S41, the node configuration end obtains the status information of each execution node.
[0094] S42, when the status information meets the preset conditions, the node configuration terminal adds an execution node or disables the execution node.
[0095] For example, in one possible implementation, the node configuration terminal can add a new computing execution node when the status information indicates a failure of the computing execution node. When the status information indicates a failure of the storage execution node, the data of the storage execution node is copied to a backup device, and a new storage execution node is added based on the backup device.
[0096] For example, the node configuration client can maintain heartbeat detection with each execution node. In this case, the status information can be, for example, the heartbeat response of the execution node. When the node configuration client does not receive a heartbeat response from the computing execution node within a preset time period, it can be determined that the computing execution node is faulty. In this case, the node configuration client can instantiate a new computing execution node, which can be implemented, for example, by mounting a container.
[0097] If the node configuration terminal does not receive a heartbeat response from the storage execution node within a preset time period, the storage execution node can be considered faulty. In this case, if the storage medium of the storage execution node is not damaged, the data in the storage medium can be copied to another device, and then a new storage execution node can be instantiated on that device.
[0098] It should be noted that in some implementation scenarios, the node configuration terminal can also restart the execution node before adding a new execution node. When the number of restarts exceeds a threshold (e.g., 3 times) and the execution node is still in a faulty state, the node configuration terminal can add a new execution node.
[0099] In the above technical solution, a peer node consists of multiple execution nodes, each configured to implement a portion of the peer node's functions, such as computation and storage. This allows the node configuration end to monitor the status information of each execution node and adjust its accordingly. For example, if the initial execution node has a high load, additional execution nodes can be added to process the data, thereby reducing the load on the initial execution node. In other words, the above technical solution can add or deactivate execution nodes based on their status, thus dynamically adjusting the resources of the peer node. By dynamically allocating resources to the peer node, its performance can be optimized, and its adaptability to different application scenarios can be improved.
[0100] Figure 5 This is a flowchart illustrating a method for a blockchain system disclosed herein, the method being applied to the blockchain system provided herein, the method comprising:
[0101] S51, the node configuration terminal obtains the storage status information of the storage execution node and the running status information of the computing execution node.
[0102] S52, the node configuration terminal calculates the load description value of the computing execution node based on the running status information.
[0103] S53, when the load description value is greater than the first load threshold, the node configuration terminal adds one or more computing execution nodes.
[0104] S54, when the load description value is less than the second load threshold, the node configuration terminal disables one or more computing execution nodes.
[0105] The storage status information includes one or more of the following: storage capacity, remaining storage space, and input / output performance parameters; the operation status information includes one or more of the following: response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency; and the second load threshold is less than the first load threshold.
[0106] Reference Figure 3 The node configuration terminal can obtain the response time, CPU utilization, memory utilization, throughput, transaction success rate, and transaction concurrency of the execution node, and input the obtained parameters to the input layer. The input layer receives the running status information of the execution node and performs algorithm model mapping, thereby transforming it into parameters required by the decision layer. In one possible implementation, the parameters can be transformed in the following way:
[0107] x1=(1-c)×100 (1)
[0108] x2=(1-α)×100 (2)
[0109]
[0110]
[0111]
[0112] x6=δ (6)
[0113] Where c is the CPU utilization, x1 is the converted value of CPU utilization, α is the memory utilization, x2 is the converted value of memory utilization, t is the response time, x3 is the converted value of response time, β is the throughput, and x4 is the converted value of throughput. x5 is the transaction success rate, δ is the transaction concurrency, and x6 is the transaction concurrency conversion value.
[0114] In the decision-making layer, the state of the execution node can be analyzed based on the obtained x1 to x6. For example, in some implementations, the decision-making layer can use a linear regression algorithm to achieve decision analysis. The calculation formula is as follows:
[0115] lnf(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w5x5+b (6)
[0116]
[0117] In this way, the least squares method can be used to obtain the optimal values of w and b.
[0118]
[0119] Here, E(w,b) is a convex function with respect to (w,b), and therefore has a minimum value. That is, when the derivatives of E(w,b) with respect to both w and b are zero, the optimal solution for w and b can be obtained, and its calculation formula is as follows:
[0120]
[0121]
[0122] Thus, the optimal values of w and b can be calculated using equations (9) and (10), thereby obtaining the mapping relationship of f(x). With the mapping relationship of f(x) obtained, the value of f(x) can be calculated based on the input parameters x1 to x6, and this data can be transmitted to the output layer.
[0123] In the output layer, for example, the sigmoid function can be used to transform the range of f(x) to the (0,1) interval, thereby obtaining the load description value Q(f(x)):
[0124]
[0125] In this way, load thresholds can be set according to application requirements, thereby configuring the execution nodes. For example, in some scenarios, S can be defined as an output control command with the following states: when S = -1, the execution node is disabled; when S = 1, a new execution node is added; and when S = 0, the execution node state is maintained.
[0126] The correspondence between S and Q(f(x)) is as follows:
[0127]
[0128] In one possible implementation, the node configuration terminal can also be used to obtain metadata of the plurality of execution nodes, the metadata including storage association relationships between computation execution nodes and storage execution nodes.
[0129] For example, identification tags can be assigned to the execution nodes included in each peer node. Figure 1For example, for execution nodes 1 to 4 of peer node 1, an identification tag "peer1" can be assigned. In this way, execution nodes 1 to 4 can identify each other using the identification tag "peer1". After the computation execution node of peer node 1 identifies the storage execution node of peer node 1, it can store data through the storage execution node. In this way, the association between computation execution nodes and storage execution nodes can be established. Of course, the node configuration terminal can also identify the execution nodes of each peer node using the identification tag. For example, after obtaining the status information of multiple execution nodes, the node configuration terminal can filter and aggregate the status information of multiple execution nodes of the same peer node based on the identification tag for easier analysis and processing. Furthermore, in some implementation scenarios, the metadata of the execution node may also include the node name, the number of execution nodes, the physical host address of the execution node, etc.
[0130] In this case, the node configuration terminal is further used to add execution nodes according to the storage association relationship between the computing execution node and the storage execution node.
[0131] Using the above technical solution, the node configuration end can obtain the execution node's operating status information, such as CPU utilization, memory utilization, response time, throughput, transaction success rate, and transaction concurrency, and calculate the execution node's load description value based on the obtained status information. When the load description value is greater than a first load threshold, it can be determined that the execution node's load is high. At this time, one or more computing execution nodes can be added to reduce the execution node's load. When the load description value is less than a second load threshold, it can be determined that the execution node's load is low. At this time, one or more computing execution nodes can be deactivated to reclaim resources and improve resource utilization. In this way, by dynamically allocating resources to peer nodes, the performance of peer nodes can be optimized, and the adaptability of peer nodes to different application scenarios can be improved.
[0132] In another exemplary embodiment, a computer program product is also provided, comprising a computer program executable by a programmable device, the computer program having a code portion for performing the methods described above for a blockchain system when executed by the programmable device.
[0133] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0134] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
[0135] Furthermore, various different embodiments of this disclosure can be combined in any way, as long as they do not violate the spirit of this disclosure, they should also be regarded as the content disclosed in this disclosure.
Claims
1. A blockchain system, characterized by, The node configuration end and a plurality of peer nodes are included, wherein, At least one of the peer nodes is composed of a plurality of execution nodes, and each of the execution nodes is configured to implement partial functions of the peer node; The node configuration end is configured to acquire state information of each execution node, and add an execution node or disable an execution node when the state information meets a preset condition; The plurality of execution nodes include a storage execution node and a computing execution node, the storage execution node is configured to implement a data storage function of the peer node, and the computing execution node is configured to implement a data computing function of the peer node; the storage execution node is configured to interact with the computing execution node to store data generated by the computing execution node; The node configuration end is further configured to acquire meta-information of the plurality of execution nodes, the meta-information including a storage association relationship between the computing execution node and the storage execution node, The node configuration end is further configured to add an execution node according to the storage association relationship between the computing execution node and the storage execution node.
2. The blockchain system of claim 1, wherein, The node configuration end is specifically configured to, add a computing execution node when the state information indicates that the computing execution node fails; and copy data of the storage execution node to a backup device and add a storage execution node based on the backup device when the state information indicates that the storage execution node fails. 3.The blockchain system of claim 1, wherein, The node configuration end is specifically configured to acquire storage state information of the storage execution node and acquire running state information of the computing execution node when acquiring the state information of each execution node; The storage state information includes one or more of storage capacity, remaining storage space, and input / output performance parameters; and the running state information includes one or more of response time, central processing unit occupancy, memory occupancy, throughput, transaction success rate, and transaction concurrency.
4. The blockchain system of claim 3, wherein, The node configuration end is further configured to calculate a load description value of the computing execution node according to the running state information, and add one or more computing execution nodes when the load description value is greater than a first load threshold; and disable one or more computing execution nodes when the load description value is less than a second load threshold, wherein the second load threshold is less than the first load threshold. 5.The blockchain system of claim 3, wherein, The node configuration end is further configured to initiate a storage expansion request when the storage state information indicates that the storage capacity of the storage execution node is less than a capacity threshold, the storage expansion request being configured to expand the storage capacity of the storage execution node. 6.The blockchain system of any one of claims 1-5, wherein, The computing execution node includes one or more of an endorsement execution node, a data pulling execution node, and a ledger execution node; The endorsement execution node is configured to implement an endorsement function of the peer node; The data pulling execution node is configured to acquire block data from a sorting node in a block chain network; The ledger execution node is configured to verify transaction data in the block data; The storage execution node is specifically configured to store the block data.
7. A method for a blockchain system, characterized by, The method is applied to the block chain system of any one of claims 1 to 6, and the method includes: The node configuration end acquires state information of each execution node; and When the state information meets a preset condition, a new execution node is added or an execution node is disabled.
8. The method of claim 7, wherein, The multiple execution nodes include storage execution nodes and computing execution nodes, and the acquiring of the state information of each execution node includes: Acquiring storage state information of the storage execution nodes and running state information of the computing execution nodes; The adding of the new execution node or the disabling of the execution node when the state information meets the preset condition includes: Calculating a load description value of the computing execution nodes according to the running state information; When the load description value is greater than a first load threshold, one or more computing execution nodes are added; When the load description value is less than a second load threshold, one or more computing execution nodes are disabled; The storage state information includes one or more of storage capacity, remaining storage space and input / output performance parameters; the running state information includes one or more of response time length, central processing unit occupancy rate, memory occupancy rate, throughput, transaction success rate and transaction concurrency number, and the second load threshold is less than the first load threshold.
Citation Information
Patent Citations
Signature verification method, signature verification device, signature verification system, storage medium and electronic device
CN108777625A
Block chain node access method, device and equipment and readable storage medium
CN111818087A
Service request message sending method and distributed database architecture
CN112307113A