CN114205233A - Intelligent contract self-adaptive configuration and execution framework oriented to data management and control - Google Patents

Intelligent contract self-adaptive configuration and execution framework oriented to data management and control Download PDF

Info

Publication number
CN114205233A
CN114205233A CN202111440264.5A CN202111440264A CN114205233A CN 114205233 A CN114205233 A CN 114205233A CN 202111440264 A CN202111440264 A CN 202111440264A CN 114205233 A CN114205233 A CN 114205233A
Authority
CN
China
Prior art keywords
cluster
module
contract
consensus
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111440264.5A
Other languages
Chinese (zh)
Other versions
CN114205233B (en
Inventor
蔡华谦
黄罡
张宁
孙艳春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202111440264.5A priority Critical patent/CN114205233B/en
Publication of CN114205233A publication Critical patent/CN114205233A/en
Application granted granted Critical
Publication of CN114205233B publication Critical patent/CN114205233B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Abstract

The application provides an intelligent contract self-adaptation configuration and execution framework oriented to data management and control, which comprises the following steps: the cluster module is used for determining a target contract cluster corresponding to the intelligent contract request; the consensus module is used for determining a target consensus algorithm from a plurality of preset consensus algorithms in a self-adaptive mode; carrying out consensus sequencing on the intelligent contract requests through a target consensus algorithm; the execution module is used for executing the intelligent contract request by a local intelligent contract engine of the control node according to the sequence of the consensus sequence; and the communication module is used for adaptively determining the optimal communication type among the functional modules from a plurality of preset communication types. The method aims to provide a data management and control oriented intelligent contract self-adaptive configuration and execution framework which simultaneously supports diversified business scenes on one block chain, so that each intelligent contract cluster running on the same block chain can be optimally matched with different business scenes.

Description

Intelligent contract self-adaptive configuration and execution framework oriented to data management and control
Technical Field
The invention relates to the technical field of block chains, in particular to an intelligent contract self-adaptive configuration and execution framework oriented to data management and control.
Background
As blockchain technology has evolved, the use of blockchain technology for more scenes has received more attention, with ether houses being the most concerned. The Etherhouse combines the intelligent contract with the block chain technology for the first time, expands the transaction scene of the bitcoin, and a user can write application with any function through the Solidity language with complete picture flexibility. The intelligent contract greatly expands the application scene of the blockchain, and the blockchain is also concerned by people when used for a big data scene besides a financial scene originated from the blockchain. The data is protected and supervised by a block chain technology to realize the control of the data, and various flexibly invoked applications are realized by an intelligent contract, so that the method becomes a very valuable business model.
The operation process of the block chain intelligent contract is essentially a consensus process called on the intelligent contract on the block chain, and the intelligent contract is a protocol which is developed by a complete-drawing language and can automatically execute tasks. Through the consensus process, all nodes in the network can reach the consistency of the calling sequence of the intelligent contracts, so that the consistency of the states is realized.
As the blockchain technology is popularized in different industries, more and more service scenes are combined with intelligent contracts running on blockchains, and the requirement of necessarily developing blockchains for simultaneously supporting diversified service scenes on one blockchain becomes necessary, while different service scenes have different performance requirements and trust requirements. However, at present, there is no consensus algorithm that can perfectly meet the multidimensional requirements of Byzantine fault tolerance, efficiency, security, fairness and the like, and although a mode of dynamically modifying a full-chain consensus algorithm is adopted by some platforms to enable the platforms to support different service scenes, the platforms cannot support diversified service scenes on one block chain at the same time, and a framework that can support diversified service scenes on one block chain at the same time is urgently needed.
Disclosure of Invention
In view of this, embodiments of the present application provide a data management and control oriented intelligent contract adaptive configuration and execution framework, and aim to provide a data management and control oriented intelligent contract adaptive configuration and execution framework that supports diversified business scenarios on one block chain at the same time, so that each intelligent contract cluster running on the same block chain can optimally match different business scenarios. The framework applies to a federation chain, the framework comprising: the system comprises a plurality of functional modules and a communication module, wherein the functional modules comprise a cluster module, a consensus module and an execution module, and the functional modules are connected through the communication module;
the cluster module is used for determining cluster information of a target contract cluster corresponding to the intelligent contract request according to the initiated intelligent contract request;
the consensus module is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms; performing consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm;
the execution module is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence after the consensus sequence of the intelligent contract request is completed by the consensus module, so that data corresponding to the intelligent contract request, recorded by each node in the target contract cluster, are kept consistent;
the communication module is used for adaptively determining the optimal communication type between every two functional modules from a plurality of preset communication types, and every two functional modules are connected through the determined optimal communication type.
Optionally, the cluster module includes: the storage module is used for storing the cluster information of each contract cluster;
the cluster module is specifically configured to, based on the optimal communication type with the storage module, obtain, according to the initiated intelligent contract request, cluster information of a target contract cluster corresponding to the intelligent contract request from the storage module.
Optionally, the frame further comprises:
the contract management module is used for determining the size of the target contract cluster and each node included by the target contract cluster according to the configuration of a contract manager, wherein each node in the nodes can be in zero to a plurality of contract clusters;
the contract agreement determining module is used for generating a contract agreement determining instruction according to the triggering operation of a contract manager, wherein the contract agreement module is particularly used for adaptively determining a target contract agreement algorithm suitable for the intelligent contract request from a plurality of preset contract algorithms in response to the contract agreement determining instruction;
the cluster starting module is used for sending a starting request to each node in the determined target contract cluster according to the triggering operation of the contract manager;
the execution module includes: the node starting unit is used for receiving the starting request based on the optimal communication type between the node starting unit and the cluster starting module and starting a local intelligent contract engine of the node according to the starting request;
the consensus module comprises: the consensus starting unit is used for receiving the starting request based on the optimal communication type between the consensus starting unit and the cluster starting module and starting the determined target consensus algorithm according to the starting request;
and the storage module is used for storing the cluster information of the target contract cluster after all the nodes in the target contract cluster are started.
Optionally, the frame further comprises:
and the cluster calling module is used for sending a calling request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster calling is located on the basis of the optimal communication type between the cluster calling module and the cluster module of the node where the cluster calling is located according to the triggering operation of the contract user.
Optionally, the consensus module is configured to receive the invocation request based on an optimal communication type with the cluster invocation module, query cluster information of the target contract cluster from the cluster module according to the invocation request based on the optimal communication type with the cluster module, and perform consensus sequencing on an order of executing the intelligent contract requests in the target contract cluster through the target consensus algorithm;
the execution module includes: and the node calling unit is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence of the intelligent contract requests after the consensus module completes the consensus sequence of the intelligent contract requests based on the optimal communication type between the node calling unit and the consensus module, so that the data, corresponding to the intelligent contract request, recorded by each node in the target contract cluster are kept consistent.
Optionally, the frame further comprises:
and the cluster stopping module is used for sending a stopping request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster stopping module is located on the basis of the optimal communication type between the cluster stopping module and the cluster module of the node where the cluster stopping module is located according to the triggering operation of the contract manager.
Optionally, the consensus module is configured to receive the stop request based on an optimal communication type with the cluster stop module, query cluster information of the target contract cluster from the cluster module according to the stop request based on the optimal communication type with the cluster module, and perform consensus sequencing, by using the target consensus algorithm, on an order of stopping the intelligent contract requests in the target contract cluster;
the execution module further comprises: a node stopping unit, configured to control, after the consensus module completes stopping the consensus sequence of the intelligent contract requests, a local intelligent contract engine of the node to stop executing the intelligent contract requests according to an order of stopping the consensus sequence of the intelligent contract requests, based on an optimal communication type with the consensus module;
the storage module is configured to delete the stored cluster information of the target contract cluster after all nodes in the target contract cluster stop executing the intelligent contract request.
Optionally, the consensus module comprises:
the consensus algorithm integration unit is used for integrating the multiple preset consensus algorithms;
the consensus algorithm determining unit is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms;
a consensus algorithm sequencing unit, configured to perform consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm determined by the consensus algorithm determination unit.
Optionally, the consensus algorithm integration unit further includes:
the user-defined consensus algorithm integration unit is used for integrating user-defined consensus algorithms;
and the consensus algorithm updating unit is used for adding or deleting the consensus algorithm.
Optionally, the communication module includes:
the communication determining unit is used for determining the optimal communication type for connecting every two functional modules;
and the communication connection unit is used for connecting every two functional modules through the optimal communication type.
The embodiment of the application provides an intelligent contract self-adaptive configuration and execution framework oriented to data management and control, which is applied to a alliance chain and comprises the following steps: the device comprises a cluster module, a consensus module, an execution module and a communication module. The cluster module is used for determining cluster information of a target contract cluster corresponding to the intelligent contract request according to the initiated intelligent contract request; the consensus module is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms; performing consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm; the execution module is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence after the consensus sequence of the intelligent contract request is completed by the consensus module, so that data corresponding to the intelligent contract request, recorded by each node in the target contract cluster, are kept consistent; the communication module is used for adaptively determining the optimal communication type between every two functional modules from a plurality of preset communication types, and every two functional modules are connected through the determined optimal communication type. The data management and control oriented intelligent contract self-adaptive configuration and execution framework provided by the application can simultaneously support diversified service scenes on one block chain, and specifically comprises the following steps: in the aspect of participant composition of service scene diversity, participants forming a alliance chain can provide machines accessible to a public network, and part of participants can only provide machines in a local network. Therefore, the application decouples the consensus algorithm and the network transmission protocol, adapts the TCP transmission protocol suitable for the efficient direct connection of the IP and the P2P transmission protocol suitable for the complex network condition in the network layer, and solves the problem of dynamic diversity of the network environment caused by the diversity of the participant components. In the aspect of trust requirement of service scene diversity, some service scenes need a Byzantine fault-tolerant consensus algorithm, and some service scenes only need a crash fault-tolerant consensus algorithm. Therefore, the application provides a consensus dynamic configuration mechanism with intelligent contract granularity, and each intelligent contract cluster can independently configure a consensus algorithm, so that different trust requirements of different service scenes on the same chain are met.
Through the data management and control oriented intelligent contract self-adaptive configuration and execution framework, an intelligent contract developer can designate random nodes of any number to form a cluster, and dynamically configures a consensus algorithm and a communication mode when the cluster is started. Each intelligent contract on the same block chain can balance efficiency, safety and fairness by configuring different consensus algorithms, and can realize the optimal communication effect by configuring different communication modes, so that each intelligent contract cluster running on the same block chain can be matched with different service scenes in an optimal mode. Each cluster is independent, and each node can be in zero to a plurality of intelligent contract clusters.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the description of the embodiments of the present application will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without inventive exercise.
Fig. 1 is a schematic diagram illustrating a data management oriented intelligent contract adaptive configuration and execution framework according to an embodiment of the present application;
FIG. 2 is a block diagram of a BDLedger project upon which the intelligent contract execution framework provided herein is based;
fig. 3 is a structural diagram of a node and an admission node in a BDWare project based on which the intelligent contract execution framework provided by the present application is based;
FIG. 4 is a diagram illustrating a communication module architecture within an intelligent contract execution framework according to one embodiment of the present application;
fig. 5 is a block diagram of a consensus module in an intelligent contract execution framework according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Before describing the data-management-oriented intelligent contract adaptive configuration and execution framework provided by the present application, a brief description will be given below of a manner of consensus sequencing of intelligent contracts in the related art. As the blockchain technology is popularized in different industries, more and more service scenes are combined with intelligent contracts running on blockchains, and the requirement of necessarily developing blockchains for simultaneously supporting diversified service scenes on one blockchain becomes necessary, while different service scenes have different performance requirements and trust requirements. However, at present, there is no consensus algorithm that can perfectly meet the multidimensional requirements of Byzantine fault tolerance, efficiency, security, fairness and the like, and although a mode of dynamically modifying a full-chain consensus algorithm is adopted by some platforms to enable the platforms to support different service scenes, the platforms cannot simultaneously support diversified service scenes on one block chain.
Based on the above, the data management and control oriented intelligent contract adaptive configuration and execution framework provided by the application can simultaneously support diversified service scenes on one block chain. In the aspect of participant composition of service scene diversity, participants forming a alliance chain can provide machines accessible to a public network, and part of participants can only provide machines in a local network. Therefore, the application decouples the consensus algorithm and the network transmission protocol, adapts the TCP transmission protocol suitable for the efficient direct connection of the IP and the P2P transmission protocol suitable for the complex network condition in the network layer, and solves the problem of dynamic diversity of the network environment caused by the diversity of the participant components. In the aspect of trust requirement of service scene diversity, some service scenes need a Byzantine fault-tolerant consensus algorithm, and some service scenes only need a crash fault-tolerant consensus algorithm. Therefore, the application provides a consensus dynamic configuration mechanism with intelligent contract granularity, and each intelligent contract cluster can independently configure a consensus algorithm, so that different trust requirements of different service scenes on the same chain are met.
Through the data management and control oriented intelligent contract self-adaptive configuration and execution framework, an intelligent contract developer can designate random nodes of any number to form a cluster, and dynamically configures a consensus algorithm and a communication mode when the cluster is started. Each intelligent contract on the same block chain can balance efficiency, safety and fairness by configuring different consensus algorithms, and can realize the optimal communication effect by configuring different communication modes, so that each intelligent contract cluster running on the same block chain can be matched with different service scenes in an optimal mode. Each cluster is independent, and each node can be in zero to a plurality of intelligent contract clusters.
Fig. 1 is a schematic diagram of an intelligent contract adaptive configuration and execution framework oriented to data management and control according to an embodiment of the present application. Referring to fig. 1, the framework 100 for adaptive configuration and execution of intelligent contracts oriented to data management and control provided in the present application is applied to a federation chain, where the framework 100 includes: a cluster module 101, a consensus module 102, an execution module 103 and a communication module 104;
the cluster module 101 is configured to determine, according to an initiated intelligent contract request, cluster information of a target contract cluster corresponding to the intelligent contract request;
the consensus module 102 is configured to adaptively determine a target consensus algorithm applicable to the intelligent contract request from a plurality of preset consensus algorithms; performing consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm;
the execution module 103 is configured to, after the consensus module completes the consensus sequence of the intelligent contract requests, control a local intelligent contract engine of a node to execute the intelligent contract requests according to the consensus sequence, so that data corresponding to the intelligent contract requests recorded by each node in the target contract cluster is kept consistent;
the communication module 104 is configured to adaptively determine an optimal communication type between every two functional modules from a plurality of preset communication types, where every two functional modules are connected through the determined optimal communication type
The intelligent contract request in this application is an executable intelligent contract application written by a contract provider. The framework provided by the application is applied to a federation chain in a block chain, the federation chain comprises a plurality of centralized organizations, namely a plurality of clusters, each cluster is provided with a plurality of nodes, the capacities of a CPU (central processing unit), a memory, a network, a hard disk and the like of the nodes are different, part of the nodes do not have public network IP (Internet protocol), and each node can be in a zero to a plurality of contract clusters. Different contract clusters on the alliance chain network can simultaneously run independent intelligent contract requests which do not influence each other. The nodes cooperate with each other to provide the functions of data sharing and evidence storage for the alliance chain.
The framework provided by the application is developed based on the big-north-ruin big data blockchain project, and the big-north-ruin big data blockchain project comprises the following steps: the BDLedger project, namely a credible image type ledger project of the North Dairy block chain, provides storage and communication support for the application of an upper-layer intelligent contract and is developed by Golang; the BDWare project is a credible intelligent contract execution engine of northern Dari, provides front-end projects accessed by webpages and executable files, and is developed by Java; the gPC communication protocol is an open-source high-performance RPC framework developed by Google, has strong universality, supports development of multiple languages, also provides pluggable functions such as flow control, verification mechanism, safety check and the like, can be used for communication at the front end and the back end, and can also be used for data exchange among different services.
Fig. 2 is a block diagram of a bdleader project upon which the intelligent contract execution framework provided herein is based. Referring to fig. 2, the bdlegger project mainly includes: a Command containing all executable files for the project; the SDK comprises an external calling interface provided by the project, and can support calling of multiple languages; the Package is a core part of project functions and comprises various modules and components of the server. The method mainly comprises the following modules: the P2P module is responsible for P2P communication of nodes, and mainly used for sending or receiving packets of other peer nodes in the network; the nRM module is responsible for the module for the common identification of the book data of the account and adopts an nRM common identification algorithm; and the DAG module is responsible for operating and managing a specific account book and comprises the steps of adding, deleting, modifying and checking account book data. And the gPRC module is responsible for a module of the external interface service of the whole account book. The gPC interface is used for receiving an external request and delivering the external request to a corresponding module for processing.
Fig. 3 is a structural diagram of a node and an admission node in the BDWare project based on which the intelligent contract execution framework provided by the present application is based. Referring to FIG. 3, the intelligent contract execution engine of BDWare provides support for the running of YJS intelligent contracts, which can be used as a jar package by individual reference. The BDWare project contains the management projects of the front end, including the node server programs running on a single node, and the service management programs running as admission nodes. Each node registers to the access node to join the network, and sends heartbeat packets to the access node to keep connection. The admission node stores the node information of the whole network and provides each node for the intelligent contract request.
In this embodiment, in the federation chain, a plurality of contract clusters exist at the same time, and each intelligent contract request is executed independently of each other in the corresponding contract cluster without interfering with each other. There are zero to multiple intelligent contract requests waiting to execute simultaneously in the same contract cluster.
In this application, the cluster module 101 is configured to determine, according to an initiated intelligent contract request, cluster information of a target contract cluster corresponding to the intelligent contract request.
In this embodiment, the contract user will initiate an intelligent contract request through any one of the nodes. The contract administrator configures the corresponding target contract cluster for the intelligent contract request, namely the intelligent contract request is executed in the target contract cluster, wherein the target contract cluster at least comprises one node.
After a contract manager configures a corresponding target contract cluster for the intelligent contract request, the intelligent contract request is sent to each node in the target contract cluster, a cluster module of each node acquires cluster information of the target contract cluster corresponding to the intelligent contract request according to the intelligent contract request, and the cluster information in the target contract cluster comprises node information of each node in the target contract cluster and public key information of each node.
After each node in the target contract cluster acquires the cluster information of the target contract cluster corresponding to the intelligent contract request through the cluster module of each node, each node completes the consensus sequencing of the intelligent contract requests in the target contract cluster based on the cluster information of the target contract cluster.
In a TCP communication connection mode, cluster information of a target contract cluster is stored in an access node; in the P2P communication connection mode, the cluster information of the target contract cluster is stored in the DHT table of the nodes of the whole network. The cluster module of each node in the target contract cluster acquires the cluster information of the target contract cluster from the admission node and the DHT table. As long as one of the admission node and the DHT table stores the cluster information of the target contract cluster, each node in the target contract cluster acquires the cluster information of the target contract cluster through the cluster module of each node.
In this application, the consensus module 102 is configured to adaptively determine a target consensus algorithm applicable to the intelligent contract request from a plurality of preset consensus algorithms; consensus sequencing, by the target consensus algorithm, the intelligent contract requests in the target contract cluster determined by the cluster module.
In this embodiment, in a distributed environment, a process and an algorithm thereof, i.e., a consensus algorithm, are required to have data of all nodes consistent and can agree on a proposal. When a plurality of intelligent contract requests are initiated in one period of one contract cluster, when the execution sequence of executing the intelligent contract requests by each node in the contract cluster is different, different nodes generate different execution results, and execution errors of the intelligent contract requests are caused. Therefore, before the initiated intelligent contract requests are executed, the intelligent contract requests need to be subjected to consensus sequencing through a consensus algorithm, namely, the sequence in which the intelligent contract requests are executed is determined. The execution results of the intelligent contract requests through the consensus sequence and the execution sequence of the intelligent contract requests can keep consistency. The consensus module comprises a plurality of preset consensus algorithms including a PBFT consensus algorithm and a Single consensus algorithm.
In this embodiment, the contract administrator configures a corresponding target consensus algorithm for the intelligent contract request, and after the intelligent contract request is sent to each node in the target contract cluster, the respective consensus module of each node automatically determines the target formula algorithm configured by the contract administrator from the multiple preset consensus algorithms.
After the consensus module of each node in the target contract cluster determines the target consensus algorithm corresponding to the intelligent contract request, each node in the target contract cluster acquires the cluster information of the target contract cluster corresponding to the intelligent contract request through the cluster module of each node, and each node in the target contract cluster also acquires the target contract cluster to be subjected to consensus sequencing. The intelligent contract request is subjected to consensus sequencing in each node in the target contract cluster through the target contract consensus algorithm, namely, the intelligent contract request is determined to be the next executed intelligent contract request in the target contract cluster.
In this embodiment, according to an application scenario of the initiated intelligent contract request, the consensus module may automatically determine a target consensus algorithm applicable to the application scenario from a plurality of preset consensus algorithms. And the nodes in the target contract cluster finish the consensus sequencing of the intelligent contract requests in the target contract cluster according to the acquired cluster information of the target contract cluster through a determined target consensus algorithm.
In the alliance chain, the intelligent contract requests executed by different contract clusters are independent and do not interfere with each other. In a coalition chain, the framework of the application can configure a target consensus algorithm suitable for respective application scenarios for a plurality of intelligent contract requests according to different application scenarios of the intelligent contract requests executed by different contract clusters respectively, so as to meet different consensus requirements of the intelligent contract requests operated by different contract clusters in the coalition chain.
For example, the PBFT consensus algorithm has the advantages of high bayer fault tolerance and the disadvantages of high communication consumption, and cannot work when 1/3 nodes are down, and is suitable for a scenario with a small number of nodes and good network communication; the Single consensus algorithm has the advantages of being simple to implement, high in efficiency, centralized in disadvantages, easy to attack in a Single point, high in performance of a central node and stable in network. According to the scene applied by the initiated intelligent contract request, the nodes in the target contract cluster determine a target consensus algorithm suitable for the application scene of the intelligent contract request through a consensus module, and the nodes in the target contract cluster complete consensus sequencing of the intelligent contract request in the target contract cluster according to the acquired cluster information of the target contract cluster through the determined target consensus algorithm. In the federation chain, a contract cluster 1 is simultaneously present to prepare for executing an intelligent contract request 1, and a contract cluster 2 is present to prepare for executing an intelligent contract request 2. The consensus module of each node in the contract cluster 1 determines that the target consensus algorithm is the PBFT consensus algorithm, and the target consensus algorithm is used for carrying out consensus sequencing on the intelligent contract request 1 in the contract cluster 1. The consensus module of the nodes in the contract cluster 2 determines that the target consensus algorithm is a Single consensus algorithm, and the target consensus algorithm is used for carrying out consensus sequencing on the intelligent contract request 2 in the contract cluster 2.
In this application, the executing module 103 is configured to, after the consensus module completes the consensus sequence of the intelligent contract requests, control a local intelligent contract engine of a node to execute the intelligent contract requests according to the consensus sequence, so that data corresponding to the intelligent contract requests recorded by each node in the target contract cluster is kept consistent.
In this embodiment, the nodes in the target contract cluster complete the consensus sequence of the intelligent contract requests in the target contract cluster through the determined target consensus algorithm. And the execution modules of all the nodes in the target contract cluster control respective local intelligent contract engines to execute the intelligent contract requests according to the sequence of the consensus sequence, and return execution results to contract users who initiate the intelligent contract requests. After all the nodes in the target contract cluster execute the intelligent contract request, all the nodes in the target contract cluster complete the recording of the data corresponding to the intelligent contract request, and before each node in the target contract cluster executes the intelligent contract request, the intelligent contract request is subjected to consensus sequencing through the consensus modules of the nodes in the target contract cluster, so that the consistency of the data records corresponding to the intelligent contract request by all the nodes in the target contract cluster is finally maintained, namely the data recorded by all the nodes is consistent.
In this application, the communication module 104 is configured to adaptively determine an optimal communication type between each two functional modules, which are connected through the determined optimal communication type, from a plurality of preset communication types.
In this embodiment, the communication module is a module for performing data exchange between a node (i.e., a client) and an admission node (i.e., a server), and between other nodes and the BDLedger item of the node, and is an external interface of the entire framework. Every two functional modules in a single node are connected through a communication module, and every two functional modules between nodes are also connected through the communication module. The communication module, the cluster module, the consensus module and the execution module are completely decoupled and independently run and exist as basic functions of a lower layer, and a communication interface is provided for the cluster module, the consensus module and the execution module of an upper layer.
Fig. 4 is a diagram illustrating a communication module structure in an intelligent contract execution framework according to an embodiment of the present application. Referring to fig. 4, the communication module includes two preset communication types, TCP and P2P, and the two preset communication types provide the same interface, including send, publish, describe, and receive. The P2P communication connection mode is provided by the BDLedger project developed by Golang; TCP communication capabilities are provided by the framework of the present application. The framework provided by the application is realized in a BDWare project developed by Java, and the BDWare project needs to be communicated with a BDLedger project, so that the communication module maintains the communication between the BDWare project and the BDLedger project. The node information of all nodes in the network is managed by the admission node in the network, so that the communication module in the framework maintains the communication between each node and the admission node. For each connection between two functional modules in a single node, the connection is made in the specific optimal communication type determined by the communication module corresponding to the two functional modules, such as a TCP connection or a P2P connection. Meanwhile, for every two functional modules connected between the nodes, the connection is also carried out according to the specific optimal communication type determined by the communication module and corresponding to the two functional modules, such as a TCP connection or a P2P connection.
For example, when the cluster module of the node a needs to be connected to the execution module in the node a, the communication module determines, from the multiple preset communication types, that the optimal communication type for performing communication connection between the cluster module and the execution module is a TCP connection, and connects the cluster module and the execution module of the node a by using the connection manner as the optimal communication type between the cluster module and the execution module. When node a needs to connect with node B, node a queries node B's node information from the DHT table of the bdlegger entry through P2P communication, or queries node B's node information from the admission node through TCP communication. After the node information of the node B is inquired, the communication module determines that the communication connection mode to the P2P is the optimal connection mode between the node B and the node B, the P2P communication connection mode is used as the optimal communication type, and the communication connection between the node A and the node B is realized in the P2P communication connection mode.
In this application, the cluster module includes: the storage module is used for storing the cluster information of each contract cluster; the cluster module is specifically configured to, based on the optimal communication type with the storage module, obtain, according to the initiated intelligent contract request, cluster information of a target contract cluster corresponding to the intelligent contract request from the storage module.
In this embodiment, the cluster information of each contract cluster is stored in the storage module of the cluster module, the target contract cluster of the initiated intelligent contract request also belongs to the contract cluster, and the cluster information of the target contract cluster is also stored in the storage module. And the cluster module of each node of the target contract cluster acquires the cluster information of the target contract cluster corresponding to the intelligent contract request from each storage module according to the target contract cluster configured for the intelligent contract request by the contract manager.
In this application, the frame further comprises: the contract management module is used for determining the size of the target contract cluster and each node included by the target contract cluster according to the configuration of a contract manager, wherein each node in the nodes can be in zero to a plurality of contract clusters; the contract agreement determining module is used for generating a contract agreement determining instruction according to the triggering operation of a contract manager, wherein the contract agreement module is particularly used for adaptively determining a target contract agreement algorithm suitable for the intelligent contract request from a plurality of preset contract algorithms in response to the contract agreement determining instruction; the cluster starting module is used for sending a starting request to each node in the determined target contract cluster according to the triggering operation of the contract manager; the execution module includes: the node starting unit is used for receiving the starting request based on the optimal communication type between the node starting unit and the cluster starting module and starting a local intelligent contract engine of the node according to the starting request; the consensus module comprises: the consensus starting unit is used for receiving the starting request based on the optimal communication type between the consensus starting unit and the cluster starting module and starting the determined target consensus algorithm according to the starting request; and the storage module is used for storing the cluster information of the target contract cluster after all the nodes in the target contract cluster are started.
In this embodiment, in the process of executing an intelligent contract request initiated by a contract user, it is necessary to determine a target contract cluster corresponding to the intelligent contract request and determine a target consensus algorithm corresponding to the intelligent contract request. And determining the target contract cluster, and determining the target consensus algorithm are determined via the contract administrator.
Firstly, a contract manager determines the cluster size of a target contract cluster corresponding to the intelligent contract request and specific nodes included in the target contract cluster through a cluster determining module of the nodes at any node, wherein in each contract cluster determined by the contract manager, each node can be in zero to a plurality of contract clusters. Secondly, the contract manager generates a consensus determining instruction through the triggering operation of the consensus determining module of the arbitrary node, and in the subsequent starting process of the target contract cluster, the consensus module of each node in the target contract cluster determines a target consensus algorithm from a plurality of preset consensus algorithms in response to the consensus determining instruction. And then, the contract manager sends a starting request to each node in the target contract cluster determined by the cluster determination module through the triggering operation of the cluster starting module of the arbitrary node.
The node starting unit in the execution module of each node in the target contract cluster is used for connecting the optimal communication type determined by the communication module of the node with the cluster starting module, receiving a starting request sent by the cluster starting module and starting the local intelligent contract engine of the node according to the starting request. The process of starting the local intelligent contract engine by one node in the target contract cluster is only described here, and the process of starting the local intelligent contract engine by another node in the target contract cluster is the same as the process of starting the local intelligent contract engine by one node in the target contract cluster, and is not described here again.
The consensus starting unit in the consensus module of the node in the target contract cluster is used for connecting the optimal communication type determined by the communication module of the node with the cluster starting module, receiving a starting request sent by the cluster starting module, and starting a target consensus algorithm determined from a plurality of preset consensus algorithms in the node according to the starting request. The process of starting the consensus algorithm for other nodes in the target contract cluster is the same as the process of starting the consensus algorithm for one node in the target contract cluster, and details are not repeated here.
After the local intelligent contract engines and the target consensus algorithm of all the nodes in the target contract cluster are started, the cluster information of the target contract cluster is stored in the storage module of each node of the target contract cluster.
By way of example, after the intelligent contract manager determines the cluster size of the target contract cluster Y and the specific nodes included in the target contract cluster Y through the cluster determination module of any node, and generates the consensus determination instruction through the consensus determination module, the intelligent contract manager sends a start request for the target contract cluster Y through the cluster start module of any node, and controls the start of each node in the target contract cluster Y corresponding to the intelligent contract request a through the start request, where the intelligent contract request a is initiated by a contract user through any node, and the specific start process is as follows:
a contract user initiates an intelligent contract request a through any node;
the contract manager determines the size of a contract cluster Y corresponding to the intelligent contract request a and each node included in the target contract cluster Y through a cluster determining module of any node A, generates a consensus determining instruction through a consensus determining module, and configures a result collecting mode, wherein the result collecting mode comprises All, Most and First result collecting modes;
after the contract manager completes configuration, the contract manager initiates a starting request for starting each node of the target contract cluster Y through the cluster starting module at any node A.
And sending the starting request to a cluster node Y in a target contract cluster Y by any node A through a cluster starting module, wherein the cluster node Y is at least one node.
After receiving the start request, the communication module of the cluster node y forwards the start request to the node start unit in the execution module of the cluster node y.
And the node starting unit of the cluster node y starts a local intelligent contract engine of the cluster node y according to the starting request, generates a public and private key pair for result verification, and stores the private key of the cluster node y into a storage module of the cluster node y, wherein the intelligent contract starting request is only to start the cluster node y, and the local intelligent contract engine of the cluster node y does not execute the intelligent contract request a.
And the cluster node y returns a local starting result through the communication module, and the consensus module of the cluster node y responds to the consensus determining instruction generated by the contract manager through the consensus determining module, determines a target consensus algorithm, and then starts the target consensus algorithm corresponding to the intelligent contract request a in the cluster node y.
And the arbitrary node A execution module collects the starting result of the cluster node y and returns the starting result to the contract manager.
And the arbitrary node A cluster module collects the cluster information of the target contract cluster Y and sends the cluster information to the cluster node Y.
And the storage module of the cluster node Y stores the cluster information of the target contract cluster Y and updates the target consensus algorithm information to the consensus module of the cluster node Y.
And the arbitrary node A stores the cluster information of the contract cluster Y to a storage module of the arbitrary node A. The startup process of the contract cluster Y corresponding to the intelligent contract request a is a preparation phase for executing the intelligent contract request a.
In this application, the frame further includes: and the cluster calling module is used for sending a calling request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster calling is located on the basis of the optimal communication type between the cluster calling module and the cluster module of the node where the cluster calling is located according to the triggering operation of the contract user.
In this embodiment, when a target contract cluster corresponding to an intelligent contract request initiated by a contract user is not started, the target contract cluster cannot be called to execute the intelligent contract request. And only after the target contract cluster finishes starting according to the starting request of the contract manager, the target contract cluster can be called to execute the intelligent contract request.
When a target contract cluster corresponding to an intelligent contract request initiated by a contract user is in a starting state, according to the triggering operation of the contract user on the cluster calling module of any node, the cluster calling module of any node connects the optimal communication type determined by the communication module of any node with the cluster module of the node. The cluster calling module of the arbitrary node sends a calling request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the arbitrary node.
In this application, the consensus module is configured to receive the invocation request based on an optimal communication type with the cluster invocation module, query cluster information of the target contract cluster from the cluster module based on the optimal communication type with the cluster module according to the invocation request, and perform consensus sequencing on a sequence of executing the intelligent contract requests in the target contract cluster through the target consensus algorithm; the execution module includes: and the node calling unit is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence of the intelligent contract requests after the consensus module completes the consensus sequence of the intelligent contract requests based on the optimal communication type between the node calling unit and the consensus module, so that the data, corresponding to the intelligent contract request, recorded by each node in the target contract cluster are kept consistent.
In this embodiment, after the contract consumer initiates a call request of a target contract cluster through a cluster call module of any node. And the respective consensus module of each node in the target contract cluster is used for connecting the optimal communication type determined according to the communication module in the node with the cluster calling module of any node, so that the calling request is received. According to the calling request, the respective consensus module of each node in the target contract cluster establishes connection with the cluster module in the nodes through the optimal communication type determined by the communication module in the node, and then the cluster information of the target contract cluster is inquired from the cluster module.
And each node of the target contract cluster performs consensus sequencing on the intelligent contract request in the target contract cluster based on a target consensus algorithm determined when the target contract cluster is started according to the cluster information of the target contract cluster.
And the node calling unit in the execution module of the node of the target contract cluster is used for connecting the optimal communication type determined by the communication module with the consensus module of the node. After the node calling unit in the execution module of the node of the target contract cluster determines that the intelligent contract request completes the consensus sequence in the corresponding target contract cluster, the node calling unit in the execution module of the node of the target contract cluster controls a local intelligent contract engine in the node to execute the intelligent contract request according to the consensus sequence of the intelligent contract request. And the nodes in the target contract cluster finish the execution of the intelligent contract request, and also finish the recording of the data corresponding to the intelligent contract request. After all the nodes in the target contract cluster execute the intelligent contract request, all the nodes in the target contract cluster complete the recording of the data corresponding to the intelligent contract request. Meanwhile, before each node in the target contract cluster executes the intelligent contract request, the intelligent contract request is subjected to consensus sequencing through the consensus modules of the nodes in the target contract cluster, so that the consistency of data records corresponding to the intelligent contract request by all nodes in the target contract cluster is finally maintained, namely the data recorded by all nodes is consistent. The process of executing the intelligent contract request by one node in the target contract cluster is only described here, and the process of executing the intelligent contract request by other nodes in the target contract cluster is the same as the process of executing the intelligent contract request by one node in the target contract cluster, and is not described here again.
Illustratively, after the starting of the target contract cluster Y is completed, the contract user initiates a call request for calling the target contract cluster Y through a cluster call module of any node, and controls an intelligent contract engine of a node in the target contract cluster Y corresponding to the intelligent contract request a to execute the intelligent contract request a through the call request, wherein the specific call process is as follows:
and the contract user inquires the cluster information of the target contract cluster Y according to the cluster module of any node B, and sends a calling request to the cluster node Y in the target contract cluster Y through the cluster calling module of any node B, wherein the cluster node Y is at least one node.
And the consensus module of the cluster node y is connected with the cluster calling module of any node B through the optimal communication type between the communication module of the cluster node y and the cluster calling module determined by the communication module of the cluster node y, so that the calling request is received.
According to the calling request, the consensus module of the cluster node Y is connected with the cluster module of the cluster node Y through the optimal communication type determined by the communication module of the cluster node Y, so that the consensus module of the cluster node Y inquires the cluster information of the target contract cluster Y from the cluster module, and the intelligent contract request a is subjected to consensus sequencing in the target contract cluster Y through a target consensus algorithm determined when the target contract cluster Y is started.
After the consensus sequence is finished, a node calling unit in an execution module of the cluster node y calls a local intelligent contract engine of the cluster node y according to the calling request, and executes the intelligent contract request a according to the execution sequence of the intelligent contract request submitted by the consensus module; the execution of the intelligent contract requests in sequence means that a plurality of intelligent contract requests may exist simultaneously in the same time period to be prepared for execution, and therefore, after the consensus sequence is completed, each intelligent contract request needs to execute the plurality of intelligent contract requests after the consensus sequence in sequence.
And the execution module of the cluster node y signs the result private key and returns a local execution result through the communication module.
And any node B execution module collects the execution result of the cluster node Y in the contract cluster Y, verifies the result and returns the execution result according to a result collection mode configured in the execution process of the starting request. The calling process of the contract cluster Y corresponding to the intelligent contract request a is the execution phase for executing the intelligent contract request a.
In this application, the frame further includes: and the cluster stopping module is used for sending a stopping request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster stopping module is located on the basis of the optimal communication type between the cluster stopping module and the cluster module of the node where the cluster stopping module is located according to the triggering operation of the contract manager.
In this embodiment, when an intelligent contract request initiated by a contract user needs to stop execution, according to a triggering operation of a contract manager on a cluster stopping module of any node, the cluster stopping module of any node connects an optimal communication type determined by a communication module of any node with the cluster module of any node. The cluster stopping module of any node sends a stopping request to each node in the target contract cluster according to the cluster information of the target contract cluster corresponding to the intelligent contract request inquired from the cluster module.
In this application, the consensus module is configured to receive the stop request based on an optimal communication type with the cluster stop module, query cluster information of the target contract cluster from the cluster module based on the optimal communication type with the cluster module according to the stop request, and perform consensus sequencing on a sequence of stopping the intelligent contract requests in the target contract cluster through the target consensus algorithm; the execution module further comprises: a node stopping unit, configured to control, after the consensus module completes stopping the consensus sequence of the intelligent contract requests, a local intelligent contract engine of the node to stop executing the intelligent contract requests according to an order of stopping the consensus sequence of the intelligent contract requests, based on an optimal communication type with the consensus module; the storage module is configured to delete the stored cluster information of the target contract cluster after all nodes in the target contract cluster stop executing the intelligent contract request.
In this embodiment, after the contract administrator sends a stop request to the target contract cluster corresponding to the intelligent contract request through any node. And the consensus module of the nodes in the target contract cluster is used for connecting the optimal communication type determined by the communication module in the node with the cluster stopping module of the arbitrary node so as to receive the stopping request. According to the stop request, the common identification module of the nodes in the target contract cluster connects the optimal communication type determined by the communication module in the nodes with the cluster module in the nodes, and then the cluster information of the target contract cluster is inquired from the cluster module. And the nodes in the target contract cluster perform consensus sequencing on the intelligent contract requests to be stopped in the target contract cluster according to the cluster information of the target contract cluster and on the basis of a target consensus algorithm determined when the target contract cluster is started.
And the node stopping unit in the execution module of the node of the target contract cluster is used for connecting the optimal communication type determined by the communication module of the node with the consensus module of the node. After determining that the intelligent contract requests to be stopped complete the consensus sequence in the corresponding target contract cluster, the node stop unit in the execution module of the node of the target contract cluster controls the local intelligent contract engine in the node to stop executing the intelligent contract requests according to the consensus sequence for stopping the intelligent contract requests. Here, only the process in which one node in the target contract cluster stops executing the intelligent contract request is described, and the process in which other nodes in the target contract cluster stop executing the intelligent contract request is the same as the process in which one node in the target contract cluster stops executing the intelligent contract request, and is not described herein again.
Illustratively, when the executing intelligent contract request a needs to be stopped, the intelligent contract manager initiates a stop request of the target contract cluster Y corresponding to the intelligent contract request a through a cluster stop module of any node, and controls the intelligent contract engines of the nodes in the target contract cluster Y to stop executing the intelligent contract request a through the stop request, wherein the specific stop process is as follows:
and the contract manager initiates a stopping request for stopping a target contract cluster Y corresponding to the intelligent contract request a through any node A, and sends the stopping request to a cluster node Y in the target contract cluster Y through a cluster stopping module of any node A according to the cluster information of the target contract cluster Y inquired in a second cluster module of any node A, wherein the cluster node Y is at least one node.
The consensus module of the cluster node y is connected with the cluster stopping module of any node A through the optimal communication type between the communication module of the cluster node y and the cluster stopping module, so that the stopping request is received.
According to the stop request, the consensus module of the cluster node Y is connected with the cluster module of the cluster node Y through the optimal communication type determined by the communication module of the cluster node Y, the consensus module of the cluster node Y inquires the cluster information of the target contract cluster Y from the cluster module, and the consensus sequencing is carried out on the stop intelligent contract request a in the target contract cluster Y through a target consensus algorithm determined when the target contract cluster Y is started.
After the consensus sequence is finished, a node stopping unit in an execution module of the cluster node y controls a local intelligent contract engine of the cluster node y according to the stopping request, and the intelligent contract request a is stopped according to the execution sequence submitted by the consensus module and used for stopping executing the intelligent contract request; the intelligent contract requests are sequentially stopped from being executed, which means that a plurality of intelligent contract requests may exist simultaneously in the same time period to prepare for stopping from being executed, so that after the consensus sequence is completed, each intelligent contract request to be stopped from being executed needs to be sequentially stopped from being executed after the consensus sequence is completed.
And the cluster node y execution module signs the private key of the stop result and returns the local stop result through the communication module.
And the storage module of the cluster node Y deletes the cluster information of the locally stored contract cluster Y and stops the local consensus algorithm process.
And the execution module of any node A collects the stopping result of the cluster node Y in the contract cluster Y, verifies the result and returns the stopping result according to the result collecting mode configured when the contract is started.
The storage module of any node A deletes the cluster information of the contract cluster Y stored in the DHT table and the admission node. The stop procedure of the contract cluster Y corresponding to the intelligent contract request a is a stage of stopping execution of the intelligent contract request a.
In this application, the consensus module comprises: the consensus algorithm integration unit is used for integrating the multiple preset consensus algorithms; the consensus algorithm determining unit is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms; a consensus algorithm sequencing unit, configured to perform consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm determined by the consensus algorithm determination unit.
In this embodiment, fig. 5 is a diagram of a consensus module structure in an intelligent contract execution framework according to an embodiment of the present application. Referring to fig. 5, the consensus algorithm integration unit is configured to integrate a plurality of preset consensus algorithms into an interface class sequencingalithm, and implement onMessage, setHandler, setcommatter, and setConnection interfaces internally. The onMessage is an interface for receiving the internal message of the consensus algorithm by the consensus algorithm; the setHandler is an interface for setting the consensus algorithm to broadcast and receive messages during the consensus period, so that the consensus algorithm has message communication capacity during operation; the setCommitter is an interface for setting a commit object after the consensus algorithm achieves consensus and is used for executing operation after the consensus is finished; the setConnection is an interface for setting a communication mode used by the consensus algorithm, and may be a TCP or P2P mode provided by the communication module. The interface class SequendingAlgorithm comprises two kinds of consensus algorithms, namely a PBFT consensus algorithm and a Single consensus algorithm.
In this embodiment, the PBFT algorithm implements classes, except for implementations containing the four sequencinalgorithms interfaces and the corresponding handler, committer, connection attributes. The contract cluster also comprises an allocatedID attribute, the Master node (namely a Master node) is used for recording the unique number of the intelligent contract request in the contract cluster, the number represents the execution sequence of the intelligent contract request, and after the contract cluster identifies the number, the intelligent contract request is executed according to the ascending consistent sequence, so that the execution sequence of all the nodes is consistent; the committed ID attribute, all nodes are used for recording the intelligent contract request number submitted and executed by the current intelligent contract request, so that the executed intelligent contract request can be not missed in sequence; the method comprises the following steps that (1) an original attribute is a hash table storing all intelligent contract request original information, all nodes need to store the intelligent contract request original information because the sequence of receiving the intelligent contract request by each node is possibly inconsistent, the intelligent contract request original information is submitted to be executed in sequence after the execution sequence is determined, and in a PBFT algorithm, only a Preprepare message contains complete intelligent contract request information; the isMaster is a Boolean type variable and is used for marking whether a node is a Master node or not, and because the Master node and a common node have different processing logics for messages. The Master attribute is a character string for recording the PeerID of the Master node, so that a request can be conveniently sent to the Master node; and the members attribute is a key, values are hash tables of character string types, and the hash tables are used for storing the PeerIDs and the public keys of all the nodes in the consensus contract cluster, and the information is requested to be obtained from the cluster module.
In this embodiment, the design of the consensus method by PBFTAlgorithm includes:
the onMessage is used for processing the messages received by the PBFT algorithm and respectively calling the message processing of updatePrepare, updatePrepare and updateCommit aiming at different stages.
The sendport Master method is characterized in that when a node receives an intelligent contract request, the intelligent contract request needs to be sent to a Master node for sequencing; when a node receives a prefix or Commit message with a certain sequence number or a prefix message with a larger sequence number, it means that the node may miss the prefix message with the certain sequence number.
In the broadcast method, in each stage of the PBFT algorithm, a node needs to broadcast its preprare, Prepare and Commit message to all nodes in a contract cluster, and when the nodes of the contract cluster receive 2f messages consistent with the nodes, the nodes enter the execution stage of an intelligent contract request.
In this embodiment, the Single algorithm implementation class includes implementation of the four interfaces of sequencinalgorithm and corresponding handler, committer, connection attributes.
In this embodiment, the SingleAlgorithm consensus method design includes:
onMessage method, the onMessage is used to process messages received by the Single algorithm. There is no concept of a consensus phase in the Single algorithm, and only the processing logic of the Master node is different from that of the ordinary node. After receiving the consensus message, the Master node numbers the intelligent contract request in the onMessage method, and then broadcasts the message to all nodes in the contract cluster; and after receiving the consensus information, the common node records the number and the original information of the intelligent contract request, and then sequentially submits the number and the original information to an execution module according to the sequence of the local committedID, and executes the intelligent contract request.
The sendport Master method is used for sending the intelligent contract request to the Master node for sequencing when the node receives the intelligent contract request; when a node receives a prefix or Commit message of a certain sequence number, or a larger sequence number, it means that the node may miss the prefix message of a certain sequence number. In the above two cases, the node needs to send a message to the Master through the sendToMaster method.
In the broadcast method and the Single algorithm, common nodes do not need to broadcast, and only a Master node needs to broadcast an intelligent contract request with an AtomicLong number after sequencing to each node of a contract cluster.
In this embodiment, the consensus algorithm integration unit integrates multiple preset consensus algorithms into a consensus algorithm interface class sequencingalithm, and after a contract administrator determines a target consensus algorithm applicable to an application scenario of the intelligent contract request through a consensus determination module of any node, the consensus algorithm determination unit determines the target consensus algorithm from the consensus algorithm interface class sequencingalithm. The consensus algorithm determining unit is a unit responding to a consensus determining instruction initiated by a contract manager, the contract manager generates a consensus determining instruction corresponding to an application scene through triggering operation of a consensus determining module according to the application scene of the intelligent contract request, and the consensus algorithm determining unit determines a target consensus algorithm corresponding to the application scene from a plurality of preset consensus algorithms in response to the consensus determining instruction. After the consensus algorithm determining unit determines the target consensus algorithm, the consensus algorithm sequencing unit performs consensus sequencing on the intelligent contract request in the target contract cluster corresponding to the intelligent contract request according to the determined target consensus algorithm.
In this application, the consensus algorithm integration unit further includes: the user-defined consensus algorithm integration unit is used for integrating user-defined consensus algorithms; and the consensus algorithm updating unit is used for adding or deleting the consensus algorithm.
In this embodiment, the consensus algorithm integration unit not only includes the integrated PBFT consensus algorithm and Single consensus algorithm, but also includes a custom consensus algorithm integration unit that can be used to integrate a user-defined algorithm, and the user-defined algorithm can be integrated into the consensus algorithm interface class sequencingalithm through the custom consensus algorithm integration unit. Meanwhile, the system also comprises a consensus algorithm updating unit which can be used for integrating other existing consensus algorithms, can update other existing consensus algorithms into the interface class of the consensus algorithm, and can delete the consensus algorithms existing in the interface class of the consensus algorithm SequengAlgorithm.
In the above embodiments of the present application, only the configuration of the optimal communication type and the target consensus algorithm for the intelligent contract request in one cluster in the federation chain is described, and the process of executing the intelligent contract request in the cluster based on the configured optimal communication type and the target consensus algorithm is described, and the process of executing the intelligent contract request in other clusters in the federation chain is the same as the process of configuring the optimal communication type and the target consensus algorithm for the intelligent contract request in one cluster in the federation, and the process of executing the intelligent contract request in the cluster based on the configured optimal communication type and the target consensus algorithm is also described. For respective intelligent contract requests in a plurality of clusters in the same alliance chain, the framework can simultaneously configure respective optimal communication types and respective target consensus algorithms for the intelligent contract requests in the clusters, and execute the intelligent contract requests in the clusters based on the respective configured optimal communication types and the respective target consensus algorithms.
In another embodiment of the present application, in the present application, the communication module includes: the communication determining unit is used for determining the optimal communication type for connecting every two functional modules; and the communication connection unit is used for connecting every two functional modules through the optimal communication type.
In this embodiment, the communication determining unit determines the optimal communication type between each two functional modules according to different application scenarios.
Illustratively, the TCP communication connection is a classic connection-oriented communication standard, and has functions of data checking, retransmission timeout, piggybacking, flow control, congestion control, and the like, which can ensure stable connection and efficient transmission of data. In the communication consensus scene of the target contract cluster, TCP connection is established among all nodes in the target contract cluster, so that the message transmission can be ensured in time, and the time consumed by repeatedly establishing connection is avoided. However, for the PBFT consensus algorithm, the nodes need to send messages to each other for confirmation, the cluster scale increases, and through TCP communication connection, the number of connections that the nodes need to maintain is too large, which consumes a lot of system resources, so the TCP communication connection method is not suitable for an application scenario that uses the PBFT consensus algorithm. Meanwhile, TCP is implemented based on an IP protocol, and nodes in a federation chain need to provide a public network IP to communicate with each other, so that a TCP communication connection mode is not suitable for communication connection between nodes without a public network IP. The P2P communication connection mode is a common communication connection mode in the blockchain project, and nodes can randomly join and quit at any time without affecting the stability of the whole chain. Each node need only be able to maintain communication with several nodes in the target contract cluster. When a certain node in the P2P cluster needs to be searched, the node can be found according to the topological structure rule of the P2P network, and after the node is searched by a few hops.
For nodes without public network IP, a TCP communication connection mode cannot be configured to carry out communication connection with other nodes; when connection stability and efficient data transmission need to be guaranteed, a TCP communication connection mode may be selected, and when the size of the target contract cluster increases, the number of connections that the node needs to maintain may be too many, and thus a large amount of system resources are consumed, so that connection stability and efficient data transmission can only be guaranteed by using the TCP communication connection mode in a small-scale target contract cluster. Therefore, the communication module in the framework provided by the application configures the optimal communication type corresponding to the scene according to different application scenes, and improves the execution speed and efficiency of the intelligent contract request while meeting the communication connection requirement between the functional modules.
In this embodiment, the communication determining unit determines an optimal communication type between every two functional modules from a plurality of preset communication types according to different application scenarios, and then connects every two functional modules with the optimal communication type between every two functional modules determined by the communication determining unit through the communication connecting unit.
The embodiment of the application provides an intelligent contract self-adaptive configuration and execution framework oriented to data management and control, which is applied to a alliance chain and comprises the following steps: the device comprises a cluster module, a consensus module, an execution module and a communication module. The cluster module is used for determining cluster information of a target contract cluster corresponding to the intelligent contract request according to the initiated intelligent contract request; the consensus module is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms; performing consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm; the execution module is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence after the consensus sequence of the intelligent contract request is completed by the consensus module, so that data corresponding to the intelligent contract request, recorded by each node in the target contract cluster, are kept consistent; the communication module is used for adaptively determining the optimal communication type between every two functional modules from a plurality of preset communication types, and every two functional modules are connected through the determined optimal communication type. The data management and control oriented intelligent contract self-adaptive configuration and execution framework provided by the application can simultaneously support diversified service scenes on one block chain. In the aspect of participant composition of service scene diversity, participants forming a alliance chain can provide machines accessible to a public network, and part of participants can only provide machines in a local network. Therefore, the application decouples the consensus algorithm and the network transmission protocol, adapts the TCP transmission protocol suitable for the efficient direct connection of the IP and the P2P transmission protocol suitable for the complex network condition in the network layer, and solves the problem of dynamic diversity of the network environment caused by the diversity of the participant components. In the aspect of trust requirement of service scene diversity, some service scenes need a Byzantine fault-tolerant consensus algorithm, and some service scenes only need a crash fault-tolerant consensus algorithm. Therefore, the application provides a consensus dynamic configuration mechanism with intelligent contract granularity, and each intelligent contract cluster can independently configure a consensus algorithm, so that different trust requirements of different service scenes on the same chain are met.
Through the data management and control oriented intelligent contract self-adaptive configuration and execution framework, an intelligent contract developer can designate random nodes of any number to form a cluster, and dynamically configures a consensus algorithm and a communication mode when the cluster is started. Each intelligent contract on the same block chain can balance efficiency, safety and fairness by configuring different consensus algorithms, and can realize the optimal communication effect by configuring different communication modes, so that each intelligent contract cluster running on the same block chain can be matched with different service scenes in an optimal mode. Each cluster is independent, and each node can be in zero to a plurality of intelligent contract clusters. For example, under the scenario that the scale of a contract cluster for executing an intelligent contract request is small and network communication among the contract clusters is good, a PBFT consensus algorithm is configured for the intelligent contract request through the intelligent contract adaptive configuration and execution framework of the present application, and the PBFT consensus algorithm is used for performing consensus sequencing on the corresponding intelligent contract requests in a target contract cluster, so as to ensure that data recorded by each node in the target contract cluster and corresponding to the intelligent contract request are consistent; and for the scenes that the performance of the central node is high and the network is stable, configuring a Single consensus algorithm for the intelligent contract request, and performing consensus sequencing on the corresponding intelligent contract request in the target contract cluster by using the Single consensus algorithm so as to ensure that the data recorded by each node in the target contract cluster and corresponding to the intelligent contract request are kept consistent. For example, for a node without public network IP, the communication requirement between nodes can be met only through a P2P communication mode; for a contract cluster with a smaller scale, a TCP communication connection mode can ensure the efficient transmission of data under the condition of stable connection; for a contract cluster with a large scale, the TCP communication mode will result in an excessive number of connections to be maintained by the nodes, thereby consuming a large amount of system resources and causing data transmission to be too slow, and at this time, the P2P communication mode is adopted.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The data management and control oriented intelligent contract adaptive configuration and execution framework provided by the invention is introduced in detail, a specific example is applied in the description to explain the principle and the implementation mode of the invention, and the description of the embodiment is only used for helping to understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A data management oriented intelligent contract adaptive configuration and execution framework applied to a federation chain, the framework comprising: the system comprises a plurality of functional modules and a communication module, wherein the functional modules comprise a cluster module, a consensus module and an execution module, and the functional modules are connected through the communication module;
the cluster module is used for determining cluster information of a target contract cluster corresponding to the intelligent contract request according to the initiated intelligent contract request;
the consensus module is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms; performing consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm;
the execution module is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence after the consensus sequence of the intelligent contract request is completed by the consensus module, so that data corresponding to the intelligent contract request, recorded by each node in the target contract cluster, are kept consistent;
the communication module is used for adaptively determining the optimal communication type between every two functional modules from a plurality of preset communication types, and every two functional modules are connected through the determined optimal communication type.
2. The framework of claim 1, wherein the cluster module comprises: the storage module is used for storing the cluster information of each contract cluster;
the cluster module is specifically configured to, based on the optimal communication type with the storage module, obtain, according to the initiated intelligent contract request, cluster information of a target contract cluster corresponding to the intelligent contract request from the storage module.
3. The frame of claim 1, further comprising:
the contract management module is used for determining the size of the target contract cluster and each node included by the target contract cluster according to the configuration of a contract manager, wherein each node in the nodes can be in zero to a plurality of contract clusters;
the contract agreement determining module is used for generating a contract agreement determining instruction according to the triggering operation of a contract manager, wherein the contract agreement module is particularly used for adaptively determining a target contract agreement algorithm suitable for the intelligent contract request from a plurality of preset contract algorithms in response to the contract agreement determining instruction;
the cluster starting module is used for sending a starting request to each node in the determined target contract cluster according to the triggering operation of the contract manager;
the execution module includes: the node starting unit is used for receiving the starting request based on the optimal communication type between the node starting unit and the cluster starting module and starting a local intelligent contract engine of the node according to the starting request;
the consensus module comprises: the consensus starting unit is used for receiving the starting request based on the optimal communication type between the consensus starting unit and the cluster starting module and starting the determined target consensus algorithm according to the starting request;
and the storage module is used for storing the cluster information of the target contract cluster after all the nodes in the target contract cluster are started.
4. The frame of claim 1, further comprising:
and the cluster calling module is used for sending a calling request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster calling is located on the basis of the optimal communication type between the cluster calling module and the cluster module of the node where the cluster calling is located according to the triggering operation of the contract user.
5. The framework of claim 4, wherein the consensus module is configured to receive the call request based on an optimal communication type with the cluster call module, query cluster information of the target contract cluster from the cluster module based on the optimal communication type with the cluster module according to the call request, and perform consensus sequencing on an order of executing the intelligent contract requests in the target contract cluster through the target consensus algorithm;
the execution module includes: and the node calling unit is used for controlling a local intelligent contract engine of the node to execute the intelligent contract request according to the sequence of the consensus sequence of the intelligent contract requests after the consensus module completes the consensus sequence of the intelligent contract requests based on the optimal communication type between the node calling unit and the consensus module, so that the data, corresponding to the intelligent contract request, recorded by each node in the target contract cluster are kept consistent.
6. The frame of claim 1, further comprising:
and the cluster stopping module is used for sending a stopping request to each node in the target contract cluster according to the cluster information of the target contract cluster inquired from the cluster module of the node where the cluster stopping module is located on the basis of the optimal communication type between the cluster stopping module and the cluster module of the node where the cluster stopping module is located according to the triggering operation of the contract manager.
7. The framework of claim 6, wherein the consensus module is configured to receive the stop request based on an optimal communication type with the cluster stop module, query cluster information of the target contract cluster from the cluster module based on the optimal communication type with the cluster module according to the stop request, and perform consensus sequencing on an order of stopping the intelligent contract requests in the target contract cluster through the target consensus algorithm;
the execution module further comprises: a node stopping unit, configured to control, after the consensus module completes stopping the consensus sequence of the intelligent contract requests, a local intelligent contract engine of the node to stop executing the intelligent contract requests according to an order of stopping the consensus sequence of the intelligent contract requests, based on an optimal communication type with the consensus module;
the storage module is configured to delete the stored cluster information of the target contract cluster after all nodes in the target contract cluster stop executing the intelligent contract request.
8. The frame of claim 1, wherein the consensus module comprises:
the consensus algorithm integration unit is used for integrating the multiple preset consensus algorithms;
the consensus algorithm determining unit is used for adaptively determining a target consensus algorithm suitable for the intelligent contract request from a plurality of preset consensus algorithms;
a consensus algorithm sequencing unit, configured to perform consensus sequencing on the intelligent contract requests in the target contract cluster determined by the cluster module through the target consensus algorithm determined by the consensus algorithm determination unit.
9. The framework according to claim 8, wherein the consensus algorithm integration unit further comprises:
the user-defined consensus algorithm integration unit is used for integrating user-defined consensus algorithms;
and the consensus algorithm updating unit is used for adding or deleting the consensus algorithm.
10. The frame of claim 1, wherein the communication module comprises:
the communication determining unit is used for determining the optimal communication type for connecting every two functional modules;
and the communication connection unit is used for connecting every two functional modules through the optimal communication type.
CN202111440264.5A 2021-11-30 2021-11-30 Intelligent contract self-adaptive configuration and execution system oriented to data management and control Active CN114205233B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111440264.5A CN114205233B (en) 2021-11-30 2021-11-30 Intelligent contract self-adaptive configuration and execution system oriented to data management and control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111440264.5A CN114205233B (en) 2021-11-30 2021-11-30 Intelligent contract self-adaptive configuration and execution system oriented to data management and control

Publications (2)

Publication Number Publication Date
CN114205233A true CN114205233A (en) 2022-03-18
CN114205233B CN114205233B (en) 2022-07-12

Family

ID=80649657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111440264.5A Active CN114205233B (en) 2021-11-30 2021-11-30 Intelligent contract self-adaptive configuration and execution system oriented to data management and control

Country Status (1)

Country Link
CN (1) CN114205233B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701063A (en) * 2023-08-07 2023-09-05 北京大学 Persistence method, device and system for internal memory state data for data language of digital networking

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341702A (en) * 2017-03-08 2017-11-10 阿里巴巴集团控股有限公司 A kind of method and device of business processing
WO2018111295A1 (en) * 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
CN109600441A (en) * 2018-12-14 2019-04-09 深圳壹账通智能科技有限公司 Alliance's chain information distribution control method and terminal device
US20190318338A1 (en) * 2018-04-13 2019-10-17 International Business Machines Corporation Network node management on a blockchain
CN110730204A (en) * 2019-09-05 2020-01-24 阿里巴巴集团控股有限公司 Method for deleting nodes in block chain network and block chain system
CN112003903A (en) * 2020-07-29 2020-11-27 北京小米松果电子有限公司 Cluster task scheduling method and device and storage medium
CN112040015A (en) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 Consensus node list generation method and related device
US11042524B1 (en) * 2020-08-12 2021-06-22 Peking University Self-adaptive execution method of smart contract for realizing data trustworthiness
US20210232571A1 (en) * 2020-01-06 2021-07-29 Tata Consultancy Services Limited Method and system for processing transactions in a blockchain network
CN113506100A (en) * 2021-06-25 2021-10-15 网易(杭州)网络有限公司 Alliance link data processing method and device, computer equipment and storage medium
CN113658003A (en) * 2021-08-17 2021-11-16 工银科技有限公司 Transaction method, device, equipment and storage medium based on block chain network

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018111295A1 (en) * 2016-12-16 2018-06-21 Hitachi, Ltd. Blockchain monitoring and management
CN107341702A (en) * 2017-03-08 2017-11-10 阿里巴巴集团控股有限公司 A kind of method and device of business processing
US20190318338A1 (en) * 2018-04-13 2019-10-17 International Business Machines Corporation Network node management on a blockchain
CN109600441A (en) * 2018-12-14 2019-04-09 深圳壹账通智能科技有限公司 Alliance's chain information distribution control method and terminal device
CN110730204A (en) * 2019-09-05 2020-01-24 阿里巴巴集团控股有限公司 Method for deleting nodes in block chain network and block chain system
WO2021042880A1 (en) * 2019-09-05 2021-03-11 创新先进技术有限公司 Method for deleting node from blockchain network, and blockchain system
US20210232571A1 (en) * 2020-01-06 2021-07-29 Tata Consultancy Services Limited Method and system for processing transactions in a blockchain network
CN112003903A (en) * 2020-07-29 2020-11-27 北京小米松果电子有限公司 Cluster task scheduling method and device and storage medium
US11042524B1 (en) * 2020-08-12 2021-06-22 Peking University Self-adaptive execution method of smart contract for realizing data trustworthiness
CN112040015A (en) * 2020-11-06 2020-12-04 腾讯科技(深圳)有限公司 Consensus node list generation method and related device
CN113506100A (en) * 2021-06-25 2021-10-15 网易(杭州)网络有限公司 Alliance link data processing method and device, computer equipment and storage medium
CN113658003A (en) * 2021-08-17 2021-11-16 工银科技有限公司 Transaction method, device, equipment and storage medium based on block chain network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701063A (en) * 2023-08-07 2023-09-05 北京大学 Persistence method, device and system for internal memory state data for data language of digital networking
CN116701063B (en) * 2023-08-07 2023-10-20 北京大学 Persistence method, device and system for internal memory state data for data language of digital networking

Also Published As

Publication number Publication date
CN114205233B (en) 2022-07-12

Similar Documents

Publication Publication Date Title
US8195742B2 (en) Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
CN109889575B (en) Collaborative computing platform system and method under edge environment
US6922685B2 (en) Method and system for managing partitioned data resources
US7831734B2 (en) Method and system for remote configuration of network devices
US11108653B2 (en) Network service management method, related apparatus, and system
CN112214338A (en) Internet of things cloud platform based on flexible deployment of micro-services
JP2015537307A (en) Component-oriented hybrid cloud operating system architecture and communication method thereof
US20030097464A1 (en) Distributed web services network architecture
CN111813570A (en) Event-driven message interaction method for power Internet of things
Gaddah et al. A survey of middleware paradigms for mobile computing
JPH09511115A (en) Scalable distributed computing environment
CN111600936A (en) Asymmetric processing system based on multiple containers and suitable for ubiquitous electric power internet of things edge terminal
US7818752B2 (en) Interface for application components
WO2013152565A1 (en) Capability aggregation and exposure method and system
CN114205233B (en) Intelligent contract self-adaptive configuration and execution system oriented to data management and control
CN115883669A (en) Data distribution method, system, equipment and medium
CN115550354A (en) Data processing method and device and computer readable storage medium
Fazio et al. How to enhance cloud architectures to enable cross-federation: Towards interoperable storage providers
CN114911602A (en) Load balancing method, device, equipment and storage medium for server cluster
US20200195731A1 (en) Lccs system and method for executing computation offloading
CN111404722B (en) Full-service architecture of service integration framework
Baeckstroem et al. Design of a contact service in a Jini-based spontaneous network
Otebolaku et al. On modeling adaptation in context-aware mobile grid systems
Tollefson Utilizing blockchain to design an east/west interface for federated software defined networks
CN116700985A (en) Model deployment method, system and storage medium

Legal Events

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