CN112866421B - Intelligent contract operation method and device based on distributed cache and NSQ - Google Patents

Intelligent contract operation method and device based on distributed cache and NSQ Download PDF

Info

Publication number
CN112866421B
CN112866421B CN202110339243.8A CN202110339243A CN112866421B CN 112866421 B CN112866421 B CN 112866421B CN 202110339243 A CN202110339243 A CN 202110339243A CN 112866421 B CN112866421 B CN 112866421B
Authority
CN
China
Prior art keywords
node
intelligent contract
nsq
transaction
transaction request
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.)
Active
Application number
CN202110339243.8A
Other languages
Chinese (zh)
Other versions
CN112866421A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110339243.8A priority Critical patent/CN112866421B/en
Publication of CN112866421A publication Critical patent/CN112866421A/en
Application granted granted Critical
Publication of CN112866421B publication Critical patent/CN112866421B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention belongs to the technical field of block chains, and provides an intelligent contract running method and device based on distributed cache and NSQ (non-volatile memory), wherein the intelligent contract running method based on the distributed cache and the NSQ comprises the following steps: a client side initiates a transaction request aiming at the intelligent contract to an application server; the application server sends the transaction request to a proxy node in a distributed cache node in a block chain; the agent node forwards the transaction request to a consensus node in the blockchain; the consensus node executes the intelligent contract interface call to generate an execution result; and the non-consensus node in the block chain sends the execution result to the agent node through the NSQ. The invention aims at solving the problems that the intelligent contract can not realize high-performance execution and the block chain link points can not finish high-efficiency operation in the prior art under the condition of high concurrency.

Description

Intelligent contract operation method and device based on distributed cache and NSQ
Technical Field
The invention belongs to the technical field of block chains, and particularly relates to an intelligent contract operation method and device based on distributed cache and NSQ.
Background
With the widespread use of blockchain applications, more and more service scenarios need to be applied to blockchain technology, but the requirement of complex service logic on high concurrency and high availability of blockchains is higher than the requirement of existing uplink for evidence source tracing. The existing intelligent contracts are all for realizing the storage and certification traceability services, the application of high-concurrency payment scenes is avoided, and the problems of frequent access of hot spot data and generation of global unique identification are involved in the storage type intelligent contracts.
It can be understood that, by accessing hot data and generating global unique identifiers through intelligent contracts, consensus of block chain nodes can be consumed in a large amount, which is not beneficial to the processing efficiency of actual services, hot data is generally parameter data which rarely changes, and the generation of global unique identifiers requires high timeliness.
Disclosure of Invention
The invention belongs to the technical field of block chains, and aims to solve the problems in the prior art that an intelligent contract cannot be executed with high performance and block chain link points cannot finish high-efficiency operation.
In order to solve the technical problems, the invention provides the following technical scheme:
in a first aspect, the present invention provides an intelligent contract running method (proxy node side execution) based on distributed cache and NSQ, including:
receiving a transaction request forwarded by an application server, and forwarding the transaction request to a consensus node in a block chain; the transaction request is a data request aiming at the intelligent contract initiated by a client;
receiving an execution result of the intelligent contract forwarded by the NSQ node, wherein the execution result is generated by executing the intelligent contract by the consensus node;
and forwarding the execution result to the client through the application server.
In one embodiment, the receiving the execution result of the intelligent contract forwarded by the NSQ node includes:
receiving an execution log forwarded by the NSQ node; the execution log is generated by a non-consensus node by writing the execution result through an NSQ;
and analyzing the execution log to obtain the execution result.
In one embodiment, the intelligent contract running method based on distributed cache and NSQ further includes:
judging whether the corresponding transaction is repeated according to the transaction request;
if not, judging whether the transaction needs a global unique identifier or/and a global serial number or not;
and if so, generating the global unique identifier or/and the global sequence number.
In one embodiment, forwarding the transaction request to a consensus node in the blockchain comprises:
and sending the global unique identifier or/and the global serial number and the transaction request to the consensus node.
In a second aspect, the present invention provides an intelligent contract running apparatus (proxy node side execution) based on distributed cache and NSQ, including:
the transaction request receiving module is used for receiving the transaction request forwarded by the application server and forwarding the transaction request to the consensus node in the block chain; the transaction request is a data request aiming at the intelligent contract initiated by a client;
the execution result receiving module is used for receiving the execution result of the intelligent contract forwarded by the NSQ node, and the execution result is generated by the consensus node executing the intelligent contract;
and the execution result forwarding module is used for forwarding the execution result to the client through the application server.
In one embodiment, the transaction request receiving module includes:
an execution log receiving unit, configured to receive the execution log forwarded by the NSQ node; the execution log is generated by a non-consensus node by writing the execution result through an NSQ;
and the execution log analysis unit is used for analyzing the execution log to obtain the execution result.
In one embodiment, the intelligent contract execution apparatus based on distributed cache and NSQ further includes:
the transaction judging module is used for judging whether the corresponding transaction is repeated according to the transaction request;
a sequence number judging unit, configured to judge whether a global unique identifier or/and a global sequence number is/are required for executing the transaction if the transaction is not executed;
and the sequence number generating unit is used for generating the global unique identifier or/and the global sequence number if needed.
In one embodiment, the transaction request receiving module further comprises:
and the identification sending unit is used for sending the global unique identification or/and the global serial number and the transaction request to the consensus node.
In a third aspect, the present invention provides an intelligent contract operating method based on distributed cache and NSQ, including:
a transaction request aiming at the intelligent contract initiated by the client is sent to the application server;
the application server sends the transaction request to a proxy node in a distributed cache node in a block chain;
the agent node forwards the transaction request to a consensus node in the blockchain;
the consensus node executes the intelligent contract interface call to generate an execution result;
and the non-consensus node in the block chain sends the execution result to the agent node through the NSQ.
In one embodiment, the sending, by a non-consensus node in the blockchain, the execution result to the proxy node through the NSQ includes:
the non-consensus node writes the execution result into an execution log through the NSQ;
and the non-consensus node sends the execution log to the agent node.
In one embodiment, the intelligent contract running method based on distributed cache and NSQ further includes:
the agent node analyzes the execution log to obtain the execution result;
the proxy node returns the execution result to the application server;
in one embodiment, before the proxy node forwards the transaction request to the consensus node, the method further includes:
the agent node judges whether the corresponding transaction is repeated according to the transaction request;
if not, the agent node judges whether the transaction needs a global unique identifier or/and a global serial number;
and if so, the agent node generates the global unique identifier or/and the global sequence number.
In one embodiment, the forwarding of the transaction request to the consensus node by the agent node comprises:
and the agent node sends the global unique identification or/and the global serial number and the transaction request to the consensus node.
In one embodiment, the intelligent contract running method based on distributed cache and NSQ further includes:
the agent node calculates the operation condition of each consensus node to determine an optimal consensus node;
the agent node forwards the transaction request to the optimal consensus node.
In a fourth aspect, the present invention further provides an intelligent contract running apparatus based on distributed cache and NSQ, including:
the transaction request initiating module is used for sending a transaction request aiming at the intelligent contract initiated by the client to the application server;
the request sending agent module is used for sending the transaction request to an agent node in the distributed cache nodes in the block chain by the application server;
a request sending consensus module, configured to forward, by the proxy node, the transaction request to a consensus node in the block chain;
the execution result generating module is used for executing the intelligent contract interface call by the consensus node to generate an execution result;
and the execution result sending module is used for sending the execution result to the proxy node through the NSQ by the non-consensus node in the block chain.
In one embodiment, the execution result sending module includes:
an execution result writing unit, configured to write the execution result into an execution log by the non-consensus node through the NSQ;
and the execution log sending unit is used for sending the execution log to the proxy node by the non-consensus node.
In one embodiment, the intelligent contract execution apparatus based on distributed cache and NSQ further includes:
the log analysis module is used for analyzing the execution log by the proxy node to obtain the execution result;
a result returning module, configured to return the execution result to the application server by the proxy node;
and the result returning module is used for returning the result to the client by the application server.
In one embodiment, the intelligent contract operating apparatus based on distributed cache and NSQ further includes:
the transaction judging module is used for judging whether the corresponding transaction is repeated or not by the agent node according to the transaction request;
the identification judgment module is used for judging whether the transaction needs a global unique identification or/and a global sequence number if the transaction is not executed;
and the identification generation module is used for generating the global unique identification or/and the global sequence number by the proxy node if needed.
In an embodiment, the request sending consensus module is specifically configured to send the globally unique identifier and/or the global serial number and the transaction request to the consensus node by the agent node.
In one embodiment, the intelligent contract execution apparatus based on distributed cache and NSQ further includes:
the condition calculation module is used for calculating the operation condition of each consensus node by the agent node so as to determine the optimal consensus node;
and the request sending optimal module is used for forwarding the transaction request to the optimal consensus node by the agent node.
In a fifth aspect, the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the intelligent contract execution method based on distributed cache and NSQ.
In a sixth aspect, the present invention provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of a distributed cache and NSQ based intelligent contract execution method.
As can be seen from the above description, according to the intelligent contract operation method and apparatus based on distributed cache and NSQ provided by the embodiment of the present invention, first, a transaction request for an intelligent contract initiated by a client is sent to an application server; the application server sends a transaction request to a proxy node in the distributed cache nodes in the block chain; then, the agent node forwards the transaction request to a consensus node in the blockchain; the consensus node executes intelligent contract interface calling to generate an execution result; and the non-consensus node in the last block chain sends the execution result to the proxy node through the NSQ. Aiming at the high concurrency condition, the invention solves the problems that the intelligent contract can not realize high-performance execution and the block chain link points can not complete high-efficiency operation in the prior art, provides a generator which combines a distributed cache method suitable for the high concurrency condition, relieves the node consensus consumption caused by frequent access of hot data, calculates and uses different block chain link point execution services through proxy nodes of distributed cache to improve the operation efficiency of the block chain nodes, and simultaneously combines a tenant isolation mechanism to realize global unique identification required by channel isolation on the block chain nodes.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a first flowchart of an intelligent contract operation method based on distributed cache and NSQ according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating step 500 according to an embodiment of the present invention;
fig. 3 is a schematic flow chart of a method for operating an intelligent contract based on distributed cache and NSQ according to an embodiment of the present invention;
fig. 4 is a schematic flow chart of a third method for operating an intelligent contract based on distributed cache and NSQ according to an embodiment of the present invention;
FIG. 5 is a flowchart of step 300 in an embodiment of the present invention;
fig. 6 is a fourth schematic flowchart of an intelligent contract operation method based on distributed cache and NSQ according to an embodiment of the present invention;
FIG. 7 is a block diagram of a high-performance intelligent contract operating system in an exemplary embodiment of the present invention;
fig. 8 is a schematic diagram illustrating a distributed cache node deployment in an embodiment of the present invention;
fig. 9 is a block diagram of a distributed cache node in an embodiment of the present invention;
FIG. 10 is a flowchart illustrating interaction between a distributed cache node and a common node according to an embodiment of the present invention;
FIG. 11 is a flowchart illustrating interaction between a distributed cache node and a non-consensus node in an exemplary embodiment of the present invention;
FIG. 12 is a flowchart illustrating interaction between a distributed cache node and an application server in an exemplary application of the present invention;
fig. 13 is a schematic flow chart of an intelligent contract operation method based on distributed cache and NSQ in a specific application example of the present invention;
FIG. 14 is a block diagram of a first apparatus for intelligent contract execution based on distributed cache and NSQ according to an embodiment of the present invention;
fig. 15 is a block diagram of the execution result transmission module 50 according to the embodiment of the present invention;
fig. 16 is a block diagram of a second structure of an intelligent contract running apparatus based on distributed cache and NSQ according to an embodiment of the present invention;
fig. 17 is a schematic structural diagram of an electronic device in an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. 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 invention.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
It should be noted that the terms "comprises" and "comprising," and any variations thereof, in the description and claims of this application and the above-described drawings are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements explicitly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
The embodiment of the present invention provides a specific implementation of an intelligent contract running method based on distributed cache and NSQ, and referring to fig. 1, the method specifically includes the following contents:
step 100: the client side initiates a transaction request aiming at the intelligent contract to the application server.
Specifically, the client initiates a business-like transaction (i.e., a transaction request for a smart contract) to the application server, and it is understood that the application server is a server that initiates a smart contract invocation transaction and processes the invocation transaction result, and is generally invoked by means of HTTP, HTTPs, or GRPC. In addition, smart contracts are event-driven, stateful, running on top of a replicated, shared ledger, and capable of keeping assets on the ledger.
Step 200: and the application server sends the transaction request to a proxy node in the distributed cache nodes in the block chain.
It is understood that distributed caching refers to the use of non-relational databases to achieve fast reading and writing of hot data. The distributed cache nodes and the block chain nodes are deployed in the same container and mainly comprise agent nodes and storage nodes, wherein the agent nodes and the storage nodes are in a many-to-many relationship, the nodes in an agent node cluster in the same container are mutually load balanced, the storage contents of the nodes in the storage node cluster are inconsistent, non-redundant backup storage is implemented, and the nodes in the storage node cluster are determined by the agent nodes according to hash calculation of transaction IDs.
Step 300: the agent node forwards the transaction request to a consensus node in the blockchain.
The consensus node is a node for performing consensus and reading and writing of a block chain account book on transactions called by the intelligent contract in the block chain network;
step 400: the consensus node executes the intelligent contract interface call to generate an execution result;
step 500: and the non-consensus node in the block chain sends the execution result to the agent node through the NSQ.
It can be understood that the non-consensus node is a node which carries out endorsement, certificate issuance and transaction gateway in the blockchain network and has a reading right for an account book;
as can be seen from the above description, in the intelligent contract operation method based on distributed cache and NSQ according to the embodiment of the present invention, first, a transaction request for an intelligent contract initiated by a client is sent to an application server; the application server sends a transaction request to a proxy node in a distributed cache node in a block chain; then, the agent node forwards the transaction request to a consensus node in the blockchain; the consensus node executes intelligent contract interface calling to generate an execution result; and the non-consensus node in the last block chain sends the execution result to the proxy node through the NSQ. Aiming at the high concurrency condition, the invention solves the problems that the intelligent contract can not realize high-performance execution and the block chain link point can not finish high-efficiency operation in the prior art, provides a distributed cache method combined under the high concurrency condition, relieves the node consensus consumption caused by frequent access of hot data, calculates and uses different block chain link point execution services through proxy nodes of distributed cache to improve the operation efficiency of the block chain node, and simultaneously realizes a generator of global unique identification required by channel isolation on the block chain node combined with a tenant isolation mechanism.
In one embodiment, referring to fig. 2, step 500 further comprises:
step 501: the non-consensus node writes the execution result into an execution log through the NSQ;
NSQ: an open source distributed real-time message platform based on Go language, which can be used for real-time message service in large-scale system, can process hundreds of millions of messages every day, has a distributed and decentralized topology structure, and has the characteristics of no single point failure, fault tolerance, high availability and reliable message delivery, and simultaneously, NSQ is easy to configure and deploy and supports a plurality of message protocols.
Step 502: and the non-consensus node sends the execution log to the agent node.
In an embodiment, referring to fig. 3, the intelligent contract running method based on distributed cache and NSQ further includes:
step 600: the agent node analyzes the execution log to obtain the execution result;
step 700: the proxy node returns the execution result to the application server;
step 800: the application server returns the result to the client.
In steps 600 to 800, first. The agent node analyzes the log and records the execution result to a storage node in the same container; then, the proxy node returns the execution result to the application server; and finally, the application server returns the result to the client.
In one embodiment, referring to fig. 4, before step 300, the method further includes:
step 900: the agent node judges whether the corresponding transaction is repeated according to the transaction request;
step 1000: if not, the agent node judges whether the transaction needs a global unique identifier or/and a global sequence number;
step 1100: and if so, the agent node generates the global unique identifier or/and the global sequence number.
In steps 900 to 1100, the agent node reads the transaction result set of the storage node conforming to the channel ID according to the input transaction ID and the channel ID (obtained by parsing the transaction request), and determines whether the transaction ID is included; if the transaction ID is included, the transaction is repeated, the execution result of the chain linked by the transaction ID is read, and the proxy node returns the execution result to the application server
If the transaction ID is not contained, the transaction ID is not repeated, and the agent node judges whether the global unique identifier or the global serial number under the channel needs to be produced or not according to the execution interface of the transaction.
In one embodiment, referring to fig. 5, step 300 further comprises:
step 301: and the agent node sends the global unique identifier or/and the global serial number and the transaction request to the consensus node.
In an embodiment, referring to fig. 6, the intelligent contract running method based on distributed cache and NSQ further includes:
step 1200: the agent node calculates the operation condition of each consensus node to determine an optimal consensus node;
step 1300: the agent node forwards the transaction request to the optimal consensus node.
In step 1200 and step 1300, the proxy node in the distributed cache nodes calculates the operation condition of each consensus node, and selects the optimal node to forward the intelligent contract invocation request according to the calculation result.
To further illustrate the present solution, the present invention further provides a specific application example of the intelligent contract operation method based on distributed cache and NSQ, which specifically includes the following contents.
First, several concepts are introduced: isolation of tenants: the data isolation protection of the agent layer and the data storage layer is realized, and the unit needing the isolation protection is a tenant. Isolating the channel: nodes of the same chain have data access rights of different channels, namely different account book data.
In the specific application example, an intelligent contract high-performance operation system is further provided, and the system comprises an application server, a consensus node, a non-consensus node and a distributed cache node. Referring to fig. 7, the smart contract high performance operating system involves four modules: the system comprises an application server 1, a consensus node 2, a non-consensus node 3 and a distributed cache node 4. The common node 2 and the non-common node 3 are blockchain nodes and are deployed in the same blockchain network, and the distributed cache node 4 is deployed in the same container with the blockchain nodes but does not belong to the blockchain network node.
The application server 1 is a server for initiating intelligent contract calling transaction and processing calling transaction results, and is generally called in an HTTP, HTTPS or GRPC mode; the consensus node 2 is a node for performing consensus and reading and writing of a block chain account book on transactions called by intelligent contracts in a block chain network; the non-consensus node 3 is a node for endorsing, signing and issuing certificates and transaction gateways in the block chain network and has a reading right for the account book; the distributed cache nodes 4 realize preprocessing on transactions, quick access on hotspot data and optimal running state consensus nodes for calculating and selecting intelligent contract execution. The deployment is as shown in fig. 8 and fig. 9, the distributed cache nodes and the blockchain nodes are deployed in the same container, and mainly include agent nodes 4-1 and storage nodes 4-2, wherein the agent nodes 4-1 and the storage nodes 4-2 are in a many-to-many relationship, the nodes in the agent node cluster in the same container are mutually load-balanced, the storage contents of the nodes in the storage node cluster are inconsistent, non-redundant backup storage is implemented, and the nodes in the storage node cluster are determined by the agent nodes according to hash calculation of transaction IDs.
The agent node 4-1 is responsible for input analysis of the contract interface call request, reading and writing of the content of the storage node 4-2, generation of a global unique identifier or a global sequence number in the same channel, interaction with the common identification node 2, interaction with the non-common identification node 3, interaction with the application server 1 and the like.
The interaction process between the agent node 4-1 and the common node 2 is shown in fig. 10, and receives a request initiated by the application server 1, and analyzes the request to determine whether the request needs to generate a global unique identifier or a global serial number, so as to achieve duplicate prevention of a transaction. Generally, a global unique identifier needs to be generated for payment type transactions, a global serial number needs to be generated for storage type transactions, if the global unique identifier needs to be generated, all the global unique identifiers under the channel stored in the storage node 4-2 are read, the global unique identifier is generated through snowflake calculation, the identifier is not repeated with the stored global unique identifier, if the global serial number needs to be generated, the step length and the current maximum serial number in the storage node 4-2 are read, a calculation formula is used for generating the global serial number for the step length and the maximum serial number, the generated global unique identifier or the global serial number is stored in the storage node 4-2 taking the channel as key, meanwhile, the proxy node 4-1 takes the generated global unique identifier or the global serial number as new input of the service contract calling interface, then the running conditions of all the common identification nodes 2 of the preceding block chain node are calculated, the indexes such as the current CPU, the memory and the block-out speed of the common identification node 2 are mainly included, the indexes are sorted according to the indexes, the common identification nodes with the optimal index results are selected, the new input and the contract calling request is optimally requested to be forwarded to the contract calling interface and the write node 2.
The interaction flow of the agent node 4-1 and the non-consensus node 3 is shown in fig. 11, after the contract successfully executes the interface call, the non-consensus node 3 transmits an uplink log to the agent node 4-1 in the same container through the NSQ, and the agent node 4-1 analyzes the transaction ID and the transaction execution result through log analysis, and simultaneously stores the record in the storage node 4-2 with the transaction ID as key and the transaction execution result as value.
The interaction between the proxy node 4-1 and the application server 1 is shown in fig. 12, the proxy node 4-1 receives a contract invoking request initiated by the application server 1, parses a transaction ID in the request, queries whether the transaction ID exists in the storage node 4-2, if the transaction ID exists, indicates that the transaction is a repeated transaction, executes an idempotent mechanism, returns a result that the transaction has been executed, if the transaction ID is not the repeated transaction ID and is within a service parameter white list range, executes the interaction with the consensus node 2, completes the interface invoking of the contract, executes the interaction with the non-consensus node 3, stores the transaction execution result and returns the transaction result to the application server 1, and if the transaction ID is not within the service parameter white list range, directly rejects the request of the application server 1. The consumption and the invalid consensus on the consensus node 1 are avoided, the execution efficiency of the intelligent contract is improved, and the operation consumption of the consensus node is reduced;
the storage node 4-2 is configured to store a global unique identifier or a global serial number, a result of performing uplink by the intelligent contract, and hot data (e.g., a service parameter, a service control white list, etc.), interact only with the proxy node, solve frequent accesses to data storage and hot data, and implement idempotent and duplicate prevention.
The system ensures the high-efficiency execution of the intelligent contract and the high-performance operation of the block chain nodes through the white list control of the distributed cache nodes, the hot spot data access control, the optimal selection of the consensus nodes, the transmission of the on-chain data of the non-consensus nodes to the off-chain and other means, and realizes idempotent and anti-duplication under the high concurrency condition. The flow of the intelligent contract operation method based on distributed cache and NSQ of the intelligent contract high-performance operation system is shown in FIG. 13,
step S100: the client initiates business transaction;
step S101: the application server initiates a contract calling request required by service transaction, and transmits a complete input and calling interface for contract calling;
step S102: through a load balancing mechanism, a contract calling request is forwarded to any one proxy node of the distributed cache nodes;
step S103: the agent node reads a transaction result set which accords with the storage node under the channel ID according to the input transaction ID and the channel ID, and judges whether the transaction ID is included;
step S104: if the transaction ID is included, it indicates that the transaction is a repeat transaction, and the execution result linked with the transaction ID is read, and step S113 is executed;
step S105: if the transaction ID is not contained, the transaction ID is not repeated, and the agent node judges whether the global unique identifier or the global serial number under the channel needs to be produced according to an execution interface of the transaction;
step S106: if the global unique identifier or the global serial number under the channel does not need to be generated, reading hot data required by service execution in the storage node, checking whether the transaction is in a white list range of service parameters, if so, continuing to execute the transaction, otherwise, refusing to invoke the contract to execute the step S113;
step S107: if the global unique identifier or the global sequence number under the channel needs to be generated, the agent node calculates and generates the global unique identifier or the global sequence number;
step S108: combining the generated global unique identifier/global serial number, the hotspot data and the transaction input to form a new input;
step S109: calculating the operation condition of each consensus node by a proxy node in the distributed cache nodes, and selecting an optimal node to forward the intelligent contract calling request;
step S110: the consensus node executes intelligent contract interface calling and writes a node log;
step S111: the non-consensus node outputs the successful contract calling service result to a log to a proxy node in the same container through the NSQ;
step S112: the agent node analyzes the log and records an execution result to a storage node in the same container;
step S113: the proxy node returns the execution result to the application server;
step S114: the application server returns the result to the client.
From the above description, it can be seen that the intelligent contract operation method based on distributed cache and NSQ according to the embodiments of the present invention introduces the distributed cache and NSQ technology to be combined with the block chain, so as to implement a high-performance operation system under the condition of high concurrency. By means of white list control of distributed cache nodes, hot spot data access control, optimal selection of consensus nodes, transmission of on-chain data of non-consensus nodes to the off-chain and the like, efficient execution of intelligent contracts and high-performance operation of block chain nodes are guaranteed, and idempotent and duplicate prevention under high concurrency conditions are achieved.
Based on the same inventive concept, the embodiment of the present application further provides an intelligent contract running apparatus based on distributed cache and NSQ, which may be used to implement the method described in the foregoing embodiment, for example, the following embodiment. Because the principle of solving the problems of the intelligent contract operating device based on the distributed cache and the NSQ is similar to that of the intelligent contract operating method based on the distributed cache and the NSQ, the implementation of the intelligent contract operating device based on the distributed cache and the NSQ can be referred to the implementation of the intelligent contract operating method based on the distributed cache and the NSQ, and repeated details are not repeated. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. While the system described in the embodiments below is preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
An embodiment of the present invention provides a specific implementation manner of an intelligent contract running apparatus based on a distributed cache and an NSQ, which is capable of implementing an intelligent contract running method based on a distributed cache and an NSQ, and referring to fig. 14, the intelligent contract running apparatus based on a distributed cache and an NSQ specifically includes the following contents:
a transaction request initiating module 10, configured to initiate a transaction request for the intelligent contract to the application server by a client;
a request sending agent module 20, configured to send, by the application server, the transaction request to an agent node in the distributed cache nodes in the block chain;
a request sending consensus module 30, configured to forward, by the proxy node, the transaction request to a consensus node in the blockchain;
an execution result generation module 40, configured to execute the intelligent contract interface call by the consensus node to generate an execution result;
and an execution result sending module 50, configured to send the execution result to the proxy node through the NSQ by a non-consensus node in the block chain.
In one embodiment, referring to fig. 15, the execution result sending module 50 includes:
an execution result writing unit 501, configured to write the execution result into an execution log by the non-consensus node through an NSQ;
an execution log sending unit 502, configured to send the execution log to the proxy node by the non-consensus node.
In one embodiment, referring to fig. 16, the intelligent contract execution apparatus based on distributed cache and NSQ further includes:
a log parsing module 60, configured to parse the execution log by the proxy node to obtain the execution result;
a result returning module 70, configured to return the execution result to the application server by the proxy node;
the result is returned to the client module 80 for the application server to return the result to the client.
In one embodiment, the intelligent contract operating apparatus based on distributed cache and NSQ further includes:
a transaction determination module 90, configured to determine, by the agent node, whether the corresponding transaction is repeated according to the transaction request;
an identifier determining module 100, configured to determine, if the transaction needs to be executed, whether a global unique identifier or/and a global serial number is needed by the proxy node;
an identifier generating module 110, configured to generate the global unique identifier or/and the global sequence number by the proxy node, if needed.
In an embodiment, the request sending consensus module is specifically configured to send, by the proxy node, the global unique identifier or/and the global serial number and the transaction request to the consensus node.
In one embodiment, the intelligent contract operating apparatus based on distributed cache and NSQ further includes:
the condition calculation module is used for calculating the operation condition of each consensus node by the agent node so as to determine the optimal consensus node;
and the request sending optimal module is used for forwarding the transaction request to the optimal consensus node by the agent node.
As can be seen from the above description, in the intelligent contract operating apparatus based on distributed cache and NSQ according to the embodiment of the present invention, first, a transaction request for an intelligent contract initiated by a client is sent to an application server; the application server sends a transaction request to a proxy node in the distributed cache nodes in the block chain; then, the agent node forwards the transaction request to a consensus node in the blockchain; the consensus node executes intelligent contract interface calling to generate an execution result; and the non-consensus node in the last block chain sends the execution result to the proxy node through the NSQ. The invention can greatly improve the intelligent contract service processing capacity and the operation efficiency of the block chain node, and has the following specific beneficial effects:
1. the global unique identifier generator for realizing channel isolation based on distributed cache realizes the global identifier that the intelligent contract can not realize the channel isolation in the traditional mode, and simultaneously avoids the problem that transaction data is wrongly covered due to the fact that the global unique identifier is repeated during high concurrent transaction, namely, the transaction is prevented from being repeated;
2. the distributed cache storage service white list and various service parameters are used, so that the authenticity of the identity of an alliance party before the service chaining can be ensured, the frequent access speed of hot spot data can be ensured, and the contract execution efficiency is improved;
3. by transmitting the execution result of the uplink transaction in real time through the NSQ and using distributed cache storage, idempotent operation can be performed on the repeatedly submitted business, the invalid consumption of consensus of the bottom layer nodes is reduced, and the running capability of the nodes is improved.
The apparatuses, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or implemented by a product with certain functions. A typical implementation device is an electronic device, which may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
In a typical example, the electronic device specifically includes a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the program, the processor implements the steps of the method for determining a distance to a person in a data-based room scenario, where the steps include:
step 100: a transaction request aiming at the intelligent contract initiated by the client is sent to the application server;
step 200: the application server sends the transaction request to a proxy node in a distributed cache node in a block chain;
step 300: the agent node forwards the transaction request to a consensus node in the blockchain;
step 400: the consensus node executes the intelligent contract interface call to generate an execution result;
step 500: and the non-consensus node in the block chain sends the execution result to the agent node through the NSQ.
Reference is now made to fig. 17, which illustrates a schematic structural diagram of an electronic device 600 suitable for use in implementing embodiments of the present application.
As shown in fig. 17, the electronic apparatus 600 includes a Central Processing Unit (CPU) 601 that can perform various appropriate works and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM)) 603. In the RAM603, various programs and data necessary for the operation of the system 600 are also stored. The CPU601, ROM602, and RAM603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. A driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted as necessary on the storage section 608.
In particular, the processes described above with reference to the flowcharts may be implemented as a computer software program according to an embodiment of the present invention. For example, an embodiment of the present invention includes a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the above method for determining a distance to a person in a data-based room scenario, where the steps include:
step 100: a transaction request aiming at the intelligent contract initiated by the client is sent to the application server;
step 200: the application server sends the transaction request to a proxy node in a distributed cache node in a block chain;
step 300: the agent node forwards the transaction request to a consensus node in the blockchain;
step 400: the consensus node executes the intelligent contract interface call to generate an execution result;
step 500: and the non-consensus node in the block chain sends the execution result to the agent node through the NSQ.
In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611.
For convenience of description, the above devices are described as being divided into various units by function, respectively. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus 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 apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (12)

1. An intelligent contract running method based on distributed cache and NSQ is characterized by comprising the following steps:
receiving a transaction request forwarded by an application server, and forwarding the transaction request to a consensus node in a block chain; the transaction request is a data request aiming at the intelligent contract initiated by a client;
receiving an execution result of the intelligent contract forwarded by the NSQ node, wherein the execution result is generated by executing the intelligent contract by the consensus node;
forwarding the execution result to the client through the application server;
judging whether the corresponding transaction is repeated according to the transaction request;
if not, judging whether the transaction needs a global unique identifier or/and a global serial number or not;
and if so, generating the global unique identifier or/and the global sequence number.
2. The intelligent contract execution method of claim 1, wherein receiving the execution result of the intelligent contract forwarded by the NSQ node comprises:
receiving an execution log forwarded by the NSQ node; the execution log is generated by a non-consensus node by writing the execution result through an NSQ;
and analyzing the execution log to obtain the execution result.
3. The intelligent contract execution method of claim 1, wherein forwarding the transaction request to a consensus node in the blockchain comprises:
and sending the global unique identifier or/and the global serial number and the transaction request to the consensus node.
4. An intelligent contract running device based on distributed cache and NSQ (non-volatile memory), comprising:
the transaction request receiving module is used for receiving the transaction request forwarded by the application server and forwarding the transaction request to the consensus node in the block chain; the transaction request is a data request aiming at the intelligent contract initiated by a client;
the execution result receiving module is used for receiving the execution result of the intelligent contract forwarded by the NSQ node, and the execution result is generated by the consensus node executing the intelligent contract;
the execution result forwarding module is used for forwarding the execution result to the client through the application server;
the transaction judging module is used for judging whether the corresponding transaction is repeated according to the transaction request;
a sequence number judging unit, configured to judge whether a global unique identifier or/and a global sequence number is/are required for executing the transaction if the transaction is not executed;
and the sequence number generating unit is used for generating the global unique identifier or/and the global sequence number if needed.
5. An intelligent contract running method based on distributed cache and NSQ is characterized by comprising the following steps:
a transaction request aiming at the intelligent contract initiated by the client is sent to the application server;
the application server sends the transaction request to a proxy node in a distributed cache node in a block chain;
the agent node forwards the transaction request to a consensus node in the blockchain;
the consensus node executes the intelligent contract interface call to generate an execution result;
the non-consensus node in the block chain sends the execution result to the agent node through the NSQ;
before the agent node forwards the transaction request to the consensus node, the intelligent contract operating method based on the distributed cache and the NSQ further comprises the following steps:
the agent node judges whether the corresponding transaction is repeated according to the transaction request;
if not, the agent node judges whether the transaction needs a global unique identifier or/and a global serial number;
and if so, the agent node generates the global unique identifier or/and the global sequence number.
6. The intelligent contract running method according to claim 5, wherein the sending the execution result to the agent node by the non-consensus node in the blockchain through the NSQ comprises:
the non-consensus node writes the execution result into an execution log through the NSQ;
and the non-consensus node sends the execution log to the agent node.
7. The intelligent contract running method according to claim 6, further comprising:
the agent node analyzes the execution log to obtain the execution result;
the proxy node returns the execution result to the application server;
the application server returns the result to the client.
8. The intelligent contract running method according to claim 7, wherein the agent node forwarding the transaction request to the consensus node comprises:
and the agent node sends the global unique identifier or/and the global serial number and the transaction request to the consensus node.
9. The intelligent contract running method according to claim 5, further comprising:
the agent node calculates the operation condition of each consensus node to determine an optimal consensus node;
the agent node forwards the transaction request to the optimal consensus node.
10. An intelligent contract running device based on distributed cache and NSQ (non-volatile memory), comprising:
the transaction request initiating module is used for sending a transaction request aiming at the intelligent contract initiated by the client to the application server;
the request sending agent module is used for sending the transaction request to an agent node in the distributed cache nodes in the block chain by the application server;
a request sending consensus module, configured to forward, by the proxy node, the transaction request to a consensus node in the blockchain;
the execution result generation module is used for the consensus node to execute the intelligent contract interface call so as to generate an execution result;
an execution result sending module, configured to send the execution result to the proxy node through an NSQ by a non-consensus node in the block chain;
the transaction judging module is used for judging whether the corresponding transaction is repeated according to the transaction request;
a serial number judgment unit, which is used for judging whether the transaction needs a global unique identifier or/and a global serial number if the transaction does not need to be executed;
and the sequence number generation unit is used for generating the global unique identifier or/and the global sequence number if needed.
11. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the distributed cache and NSQ based intelligent contract execution method of any of claims 1 to 3 and 5 to 9 when executing the program.
12. A computer-readable storage medium, on which a computer program is stored, the computer program, when being executed by a processor, implementing the steps of the intelligent contract execution method based on distributed cache and NSQ according to any one of claims 1 to 3 and 5 to 9.
CN202110339243.8A 2021-03-30 2021-03-30 Intelligent contract operation method and device based on distributed cache and NSQ Active CN112866421B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110339243.8A CN112866421B (en) 2021-03-30 2021-03-30 Intelligent contract operation method and device based on distributed cache and NSQ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110339243.8A CN112866421B (en) 2021-03-30 2021-03-30 Intelligent contract operation method and device based on distributed cache and NSQ

Publications (2)

Publication Number Publication Date
CN112866421A CN112866421A (en) 2021-05-28
CN112866421B true CN112866421B (en) 2023-02-24

Family

ID=75993221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110339243.8A Active CN112866421B (en) 2021-03-30 2021-03-30 Intelligent contract operation method and device based on distributed cache and NSQ

Country Status (1)

Country Link
CN (1) CN112866421B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472864B (en) * 2021-06-21 2022-11-18 湖南大学 High-performance block chain distributed storage system, method, equipment and storage medium
CN115884114B (en) * 2022-11-29 2024-06-18 四川启睿克科技有限公司 Bluetooth mesh control optimization method based on edge calculation
CN116016255B (en) * 2022-12-29 2023-08-15 天津大学 Universal blockchain performance evaluation method based on dynamic proxy and intelligent contract

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349029A (en) * 2019-07-17 2019-10-18 中国银行股份有限公司 A kind of processing method, equipment and the system of the trade identity based on block chain
CN110572281A (en) * 2019-08-23 2019-12-13 华南理工大学 Credible log recording method and system based on block chain
CN111539726A (en) * 2020-04-20 2020-08-14 中国工商银行股份有限公司 Block chain consensus system and method
CN111861462A (en) * 2020-07-16 2020-10-30 中国工商银行股份有限公司 Financial product transaction method and device based on block chain
CN112232823A (en) * 2020-12-10 2021-01-15 腾讯科技(深圳)有限公司 Transaction processing method, device, medium and electronic equipment of block chain system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US11227457B2 (en) * 2017-12-02 2022-01-18 International Business Machines Corporation Blockchain managed storage
CN108805569A (en) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 Transaction processing method and device, electronic equipment based on block chain
CN110782253B (en) * 2019-10-31 2022-02-22 支付宝(杭州)信息技术有限公司 Transaction processing method, device and equipment based on block chain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349029A (en) * 2019-07-17 2019-10-18 中国银行股份有限公司 A kind of processing method, equipment and the system of the trade identity based on block chain
CN110572281A (en) * 2019-08-23 2019-12-13 华南理工大学 Credible log recording method and system based on block chain
CN111539726A (en) * 2020-04-20 2020-08-14 中国工商银行股份有限公司 Block chain consensus system and method
CN111861462A (en) * 2020-07-16 2020-10-30 中国工商银行股份有限公司 Financial product transaction method and device based on block chain
CN112232823A (en) * 2020-12-10 2021-01-15 腾讯科技(深圳)有限公司 Transaction processing method, device, medium and electronic equipment of block chain system

Also Published As

Publication number Publication date
CN112866421A (en) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112866421B (en) Intelligent contract operation method and device based on distributed cache and NSQ
WO2020258848A1 (en) Method and apparatus for cross-chain transmission of resources
US11336451B2 (en) Cross-blockchain resource transmission
US11343103B2 (en) Sending cross-chain authenticatable messages
CN110765484B (en) Credit data processing method and electronic equipment
WO2020173500A1 (en) Public chain-based sub-chain business system
CN110381167A (en) Block chain node based on cloud actively discovers system and method
CN111460504B (en) Service processing method, device, node equipment and storage medium
CN113645304B (en) Data service processing method and related equipment
CN109104368B (en) Connection request method, device, server and computer readable storage medium
CN111861482A (en) Block chain account checking method and system
CN101808051A (en) Application integration gateway and control method thereof
CN111290965B (en) Test method, test device, computer equipment and storage medium
WO2023005500A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN115883669A (en) Data distribution method, system, equipment and medium
CN116991936A (en) Block chain-based rights and interests credential management method, apparatus, electronic device and medium
CN113722114A (en) Data service processing method and device, computing equipment and storage medium
CN114490826A (en) Request response method, data storage method, device, server and storage medium
CN117370460A (en) Block chain storage optimization method and device based on double-chain storage
CN115098528B (en) Service processing method, device, electronic equipment and computer readable storage medium
CN112988738A (en) Data slicing method and device for block chain
CN114205233B (en) Intelligent contract self-adaptive configuration and execution system oriented to data management and control
CN114172958B (en) Privacy computing node, system, method, device and storage medium
CN112001800B (en) Method and device for processing business in block chain system
CN112187916B (en) Cross-system data synchronization method and device

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