CN112785302B - Message statistics method and device, electronic equipment and readable storage medium - Google Patents

Message statistics method and device, electronic equipment and readable storage medium Download PDF

Info

Publication number
CN112785302B
CN112785302B CN202011613576.7A CN202011613576A CN112785302B CN 112785302 B CN112785302 B CN 112785302B CN 202011613576 A CN202011613576 A CN 202011613576A CN 112785302 B CN112785302 B CN 112785302B
Authority
CN
China
Prior art keywords
message
transaction
service
statistical data
transactions
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
CN202011613576.7A
Other languages
Chinese (zh)
Other versions
CN112785302A (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.)
Chengdu Quality Starker Technology Co Ltd
Original Assignee
Chengdu Quality Starker Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Quality Starker Technology Co Ltd filed Critical Chengdu Quality Starker Technology Co Ltd
Priority to CN202011613576.7A priority Critical patent/CN112785302B/en
Publication of CN112785302A publication Critical patent/CN112785302A/en
Application granted granted Critical
Publication of CN112785302B publication Critical patent/CN112785302B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

The embodiment of the invention provides a message statistics method, a message statistics device, electronic equipment and a readable storage medium, and aims to fairly and accurately realize statistics of messages. The message statistical method is applied to any node in the blockchain network, and comprises the following steps: obtaining a transaction; wherein, the transaction is formed by message analysis; one message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same message carry statistical auxiliary information; updating message statistical data according to the statistical auxiliary information carried by the transaction; and consensus is carried out on the updated behavior and/or the updated message statistical data. It should be noted that, the invention does not directly count the message before the message is analyzed, but counts the message by the nodes of the blockchain network according to the statistics auxiliary information carried by the transaction after the transaction analyzed by the message is submitted to the blockchain network.

Description

Message statistics method and device, electronic equipment and readable storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and apparatus for packet statistics, an electronic device, and a readable storage medium.
Background
The block chain technology is realized on a block chain network, distributed node equipment (hereinafter referred to as nodes for short) in the block chain network realizes generation and consensus of block data by running a block chain program, finally realizes a tamper-proof mechanism of the data, and provides a safe and reliable technical new idea for service development.
The blockchain technology can be applied to various business scenes, such as financial field, electronic commerce field, commodity or raw material tracing field, electronic certificate storing field and the like, and can be used for developing business due to the fact that the blockchain technology realizes a data tamper-proof mechanism, so that the trust crisis among parties involved in the business can be solved.
In the related art, in order to improve service convenience, middleware may be deployed between a user terminal and a blockchain network, where the middleware is configured to receive a service packet related to a service sent by the user terminal, parse the received service packet into one or more transactions, and submit the parsed one or more transactions to the blockchain network for execution. Thus, the user does not need to write the transaction manually, thereby being beneficial to improving the service convenience. However, in the related art, there is still a lack of effective statistical means for service messages. Therefore, how to count the service messages fairly and accurately is a problem to be solved at present.
Disclosure of Invention
The embodiment of the invention aims to provide a message statistics method, a message statistics device, electronic equipment and a readable storage medium, and aims to fairly and accurately realize statistics of service messages. The specific technical scheme is as follows:
in a first aspect of the embodiment of the present invention, a packet statistics method is provided, applied to any node in a blockchain network, the method includes:
obtaining a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
updating message statistical data according to the statistical auxiliary information carried by the transaction;
and consensus is carried out on the updated behavior and/or the updated message statistical data.
In a second aspect of the embodiment of the present invention, a packet statistics device is provided, applied to any node in a blockchain network, the device includes:
the transaction acquisition module is used for acquiring a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
The message statistical data updating module is used for updating the message statistical data according to the statistical auxiliary information carried by the transaction;
and the consensus module is used for consensus the updated behavior and/or the updated message statistical data.
In a third aspect of the embodiments of the present invention, there is provided an electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory perform communication with each other through the communication bus;
the memory is used for storing a computer program;
the processor is configured to implement the packet statistics method provided by any embodiment of the present invention when executing the program stored in the memory.
In a fourth aspect of the embodiments of the present invention, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the packet statistics method provided by any of the embodiments of the present invention.
In the invention, after the business message is analyzed into a plurality of transactions, part or all of the transactions carry statistical auxiliary information. After the nodes of the blockchain network acquire the transaction, the message statistical data can be updated according to the statistical auxiliary information carried by the transaction, so that the statistics of the service message is realized. In addition, the nodes of the blockchain network can also carry out consensus on the updated behavior and/or the updated message statistical data, so that accounts of all the nodes of the blockchain network on the message statistics are kept consistent.
It should be noted that, the present invention does not directly count the service message before the service message is parsed, but after the transaction parsed by the service message is submitted to the blockchain network, the nodes of the blockchain network count the service message according to the statistics auxiliary information carried by the transaction, and the statistics is commonly known, so that each node of the blockchain network keeps consistent for the accounts of the message statistics. Therefore, the distributed characteristic of the block chain network can be fully utilized, and the accuracy and fairness in message statistics are improved.
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 described below. It is evident that the drawings in the following description are only some embodiments of the present invention and that other drawings may be obtained from these drawings by those of ordinary skill in the art without inventive effort.
Fig. 1 is a schematic diagram of a service processing method in the related art;
FIG. 2 is a flow chart of a message statistics method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a message statistics apparatus according to an embodiment of the present invention;
Fig. 4 is a schematic diagram of an electronic device according to an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. It will be apparent that the described embodiments are some, but not all, embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The block chain technology is realized on a block chain network, distributed node equipment (hereinafter referred to as nodes for short) in the block chain network realizes generation and consensus of block data by running a block chain program, finally realizes a tamper-proof mechanism of the data, and provides a safe and reliable technical new idea for service development.
In the related art, in order to improve service convenience, middleware may be deployed between a user terminal and a blockchain network, where the middleware is configured to receive a service packet related to a service sent by the user terminal, parse the received service packet into one or more transactions, and submit the parsed one or more transactions to the blockchain network for execution. Thus, the user does not need to write the transaction manually, thereby being beneficial to improving the service convenience. However, in the related art, there is still a lack of effective statistical means for service messages. Therefore, how to count the service messages fairly and accurately is a problem to be solved at present.
Referring to fig. 1, fig. 1 is a schematic diagram of a service processing method in the related art. The related art is not necessarily related to the prior art. Some or all of the following methods for processing services as set forth in connection with fig. 1 do not belong to the prior art.
As shown in fig. 1, the middleware receives a service message related to a service sent by a user terminal, and parses the service message into one or more transactions with a sequential relationship.
Optionally, in some embodiments, information is transferred between the client and the middleware based on the communication message, and the service message is encapsulated in a message body of the communication message and is sent to the middleware by the client together with the communication message. Wherein, the communication message can be selected from: hypertext transfer protocol messages (HTTP), user datagram protocol messages (UDP), etc. It should be noted that the present invention does not limit the type of the communication message.
Optionally, in some embodiments, the service packet carries service type information, where the service type information is used to characterize a service type used for processing the service packet. For ease of understanding, by way of example, assuming that a user currently wants to publish an asset in a blockchain network, the user may send a service message for publishing the asset to the middleware through its user side, where the service type information carried by the service message is SMTA, and SMTA indicates that the service message is used for publishing the asset. Or, for example, assuming that the user currently wants to rollback all the assets that are hosted in a certain smart contract to its own account, the user may send, through its user side, a service message for asset rollback to the middleware, where the service type information carried by the service message is SMTC, and SMTC indicates that the service message is used to rollback the assets. The user may be an individual user or an enterprise user (e.g., a financial institution such as a bank or a stock exchange).
In addition, a plurality of message analysis strategies are preset in the middleware, each message analysis strategy corresponds to one type of service type information respectively and is used for analyzing the service message containing the corresponding service type information so as to obtain one or more transactions related to the corresponding service type.
After receiving the service message sent by the user side, the middleware reads the service type information from the service message, takes the read service type information as an index, and determines a message analysis strategy corresponding to the service type information from a plurality of preset message analysis strategies. And then, the first message middleware analyzes the first service message into a plurality of transactions based on the determined message analysis strategy.
In particular, a message parsing policy is actually a section of computer program, and middleware executes the message parsing policy by running the section of computer program.
The message analysis strategy is at least used for limiting the message analysis operation as follows:
1. the number of transactions, the type of each transaction and the sequential relationship among a plurality of transactions which are needed to be resolved by the business message;
2. defining transaction data which each transaction needs to carry; and for each transaction data, defining which field of the service message the transaction data is to be retrieved from in particular, and defining which field of the transaction data is to be filled into.
For easy understanding, following the above example, the middleware reads the service type information SMTC from the service packet after receiving the service packet sent by the user side. And responding to the service type information SMTC, and determining a message analysis strategy X corresponding to the service type information SMTC from a plurality of preset message analysis strategies by using the service type information SMTC as an index by the middleware. And then analyzing the service message according to the determined message analysis strategy X.
The message parsing policy X defines the following operations:
1. the business message is parsed into 2 transactions, namely an asset rollback transaction r and an intelligent contract freezing transaction f.
2-1, reading transaction codes from 21 st to 100 th fields of the service message and filling the read transaction codes into 11 th to 90 th fields of the transaction template r when constructing the asset rollback transaction r; reading contract addresses from the 5 th and 6 th fields of the business message, and filling the read contract addresses into the 9 th and 10 th fields of the transaction template r; and (3) filling the transaction template r of the transaction data to form an asset rollback transaction r.
2-2, reading the transaction code from the 106 th to 150 th fields of the service message when constructing the contract frozen transaction f, and filling the read transaction code into the 11 th to 55 th fields of the transaction template f; reading contract addresses from the 5 th and 6 th fields of the business message, and filling the read contract addresses into the 9 th and 10 th fields of the transaction template f; and filling the transaction template f of the transaction data to form an intelligent contract freezing transaction f.
It should be noted that the specific data (such as the service type information, the transaction number, the transaction data, the field number, etc.) referred to in the above examples are only illustrative examples. During actual implementation of the invention, the actual data involved may be the same as or different from the data in the examples described above.
It should be further noted that the above limitation of the message parsing policy to the message parsing operation is merely an example. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the examples described above, are intended to be included within the scope of the present invention.
Optionally, in some embodiments, the service message further carries user information (using a user ID), and each transaction parsed by the service message inherits the user information carried by the service message. In addition, each transaction parsed by the service message can inherit the service type information carried by the service message.
As shown in FIG. 1, the middleware, after parsing out one or more transactions, stores the transactions and submits the transactions one by one to the blockchain network for execution in accordance with the sequential relationship between the transactions. When the middleware submits the transaction, the middleware determines that the previous transaction is successfully executed by the blockchain network and then submits the next transaction to the blockchain network for execution.
Optionally, in some embodiments, the middleware continuously synchronizes the blockchain network generated blocks, each of which records the transactions that have been executed by the blockchain network and the execution results of the transactions. Wherein the execution results are shaped as "yes" or "no". If the execution result of a transaction is "yes", it indicates that the transaction is successfully executed, and if the execution result of a transaction is "no", it indicates that the transaction is failed to execute.
After the middleware synchronizes to the block, each executed transaction recorded in the block is traversed. The middleware judges whether the executed transaction is consistent with a certain transaction stored for the traversed executed transaction. If yes, further judging whether the execution result of the executed transaction is 'yes'. If the execution result is "yes", the next transaction of the already stored transaction is submitted to the blockchain network for execution. If the execution result is "no", the next transaction of the stored transaction is not submitted to the blockchain network for execution, and the submitting flow for the group of transactions is ended.
For ease of understanding, it is assumed by way of example that the traffic message a is parsed into four transactions, transaction a1, transaction a2, transaction a3, and transaction a4, having sequential relationships, as a set of transactions. At a first time, the middleware submits transaction a1 to the blockchain network for execution. At a second time, the middleware traverses from the synchronized chunk (assuming the chunk height of the chunk is equal to 2206) to transaction a1, and the execution result of transaction a1 is "yes", indicating that transaction a1 has been executed by the blockchain network and that the execution was successful, the middleware submits transaction a2 to the blockchain network for execution. At a third time, the middleware traverses from another block (assuming that the block height of the block is equal to 2209) to the transaction a2, and the execution result of the transaction a2 is "no", which indicates that the transaction a2 has been executed by the blockchain network but fails to execute, the middleware will not submit the transaction a3 to the blockchain network for execution, and the middleware will end the submission flow for the set of transactions.
In the invention, the middleware submits the transactions one by one according to the sequence relation of the transactions, so that the execution sequence of the transactions accords with the service logic, and the failure of executing the transactions caused by disorder of the execution sequence of the transactions is avoided, thereby improving the service success rate. And in the above embodiment, when the middleware determines that the previous transaction is executed by the blockchain network, the next transaction is submitted to the blockchain network for execution, so that the transactions can be forcefully ensured to be submitted to the blockchain network for execution one by one according to the sequence relation. In addition, in the above specific embodiment, if the execution of the previous transaction fails, the middleware will not continue to submit the next transaction to the blockchain network for execution, and the submitting process of the group of transactions is ended. In this way, in the event of failure of execution of the preceding transaction, meaningless continuation of the subsequent transaction to the blockchain network for execution is avoided, and thus the execution pressure of the blockchain network can be relieved.
In the above, the present invention proposes a service processing method in conjunction with fig. 1, and some or all of the contents in the service processing method do not belong to the prior art, and the contents are not in a state that the public wants to know.
In order to fairly and accurately implement statistics on service messages, referring to fig. 2, fig. 2 is a flowchart of a message statistics method according to an embodiment of the present invention, where the message statistics method is applied to any node in a blockchain network. As shown in fig. 2, the message statistics method includes the following steps:
step S21: obtaining a transaction; wherein, the transaction is analyzed by a service message; one service message is parsed into a plurality of transactions, and some or all of the transactions parsed by the same service message carry statistical auxiliary information.
Optionally, in some embodiments, the middleware submits the transaction to a designated node in the blockchain network, and the designated node sends the transaction to a sorting node in the blockchain network after receiving the transaction. The ordering node orders and packages a plurality of transactions received successively over a period of time, thereby generating a transaction package, and distributes the generated transaction package to each node in the blockchain network. After receiving the transaction package, the node reads the transactions from the transaction package one by one according to the ordering among the plurality of transactions in the transaction package. In this way, the node obtains the transaction.
Or alternatively, in other embodiments, the middleware submits the transaction to a designated node in the blockchain network, which, upon receipt of the transaction, distributes the transaction directly to each node in the blockchain network. In this way, the node obtains the transaction.
Or alternatively, in other embodiments, the middleware submits the transaction to a first blockchain network for execution, and after the first blockchain network executes the transaction and generates blocks, the generated blocks are synchronized to a second blockchain network. The nodes of the second blockchain network read the transaction from the synchronized blocks such that the nodes of the second blockchain network obtain the transaction.
In the present invention, the manner in which the node obtains the transaction is not limited.
In the present invention, since a service message is parsed into one or more transactions, the number of transactions processed by a node is typically much greater than the number of service messages, for example, a node may have processed 388 transactions over a period of time, where the 388 transactions actually come from 162 service messages. The node cannot simply infer the number of traffic messages from the number of transactions.
However, by making the parsed partial or complete messages carry statistical auxiliary information, the statistical auxiliary information can help the node to count traffic messages. Therefore, when the node is processing the transaction, statistics of the service message can be realized according to the statistics auxiliary information carried by the transaction.
Optionally, in some embodiments, the statistical auxiliary information carried by each transaction refers to relationship data between the transaction and a target service packet corresponding to the transaction, where the target service packet corresponding to the transaction refers to a service packet parsed into the transaction.
For easy understanding, the service message a is parsed into four transactions a1, a2, a3, and a4 having a sequential relationship, and the target service messages corresponding to the four transactions are service message a. Some or all of the four transactions carry relationship data with the service message a.
It should be noted that, because the transaction is resolved by the corresponding target service message, the transaction can carry the relationship data between the transaction and the target service message, so that the node can count the service message according to the relationship data carried by the transaction.
For example, the relationship data (i.e., the statistical assistance information described above) for each transaction may refer to the ordering of the transaction among several transactions into which the corresponding target business message is parsed. For easy understanding, following the above example, the service message a is parsed into four transactions a1, a2, a3 and a4 having sequential relationships, where the relationship data carried by the transaction a1 is 4-1, which indicates that the transaction a1 is the first of the four transactions. The transaction a2 carries relationship data of 4-2, indicating that transaction a2 is the second of the four transactions. The transaction a3 carries relationship data of 4-3, indicating that transaction a3 is the third of four transactions. The transaction a4 carries relationship data of 4-4, indicating that transaction a4 is the fourth transaction (i.e., the last transaction) of the four transactions.
For another example, the relationship data (i.e., the above-mentioned statistical auxiliary information) of each transaction may also refer to the message identifier of the corresponding target service message. For ease of understanding, following the above example, the business message a is parsed into four transactions having a sequential relationship of transaction a1, transaction a2, transaction a3, and transaction a 4. Assuming that the message identifier of the service message is 3f0f4 … f9403c, the transaction a1, the transaction a2, the transaction a3 and the transaction a4 all carry the message identifier 3f0f4 … f9403c.
Optionally, in other embodiments, the statistical auxiliary information carried by the transaction refers to a contract address of a target smart contract for updating the statistical data of the message, and only one transaction of the several transactions parsed by the same service message carries the contract address of the target smart contract.
It should be noted that, because of the several transactions parsed by the same service message, only one transaction carries the contract address of the target intelligent contract. Therefore, the node can only call and execute the target intelligent contract once in the period of successively processing a plurality of transactions analyzed by one service message, so that statistics can be carried out once for the service message, and repeated statistics can not be caused.
Step S22: and updating the message statistical data according to the statistical auxiliary information carried by the transaction.
In the invention, the message statistical data is recorded in the account book database of the node, and the node can update the message statistical data recorded in the account book database according to the statistical auxiliary information carried by the transaction during the transaction processing. Thus, statistics of the service message is realized.
Optionally, in some embodiments, as described above, the statistical auxiliary information carried by the transaction may refer to the relationship data between the transaction and the target service packet corresponding to the transaction. In particular, the relationship data may refer to the ordering of the transaction among several transactions into which the target business message is parsed. Thus, when executing the above step S22, the node specifically executes the following sub-steps:
substep S22-1: judging whether the ordering of the transactions is equal to a preset target ordering; wherein the target rank is preset as a positive first or a penultimate first.
Substep S22-2: and updating the message statistical data under the condition that the ordering of the transaction is equal to the target ordering.
Substep S22-3: and if the ordering of the transaction is not equal to the target ordering, not updating the message statistical data.
For ease of understanding, assuming that the target rank is preset to be positive, following the above example, the node obtains transaction a1 at a first time, and since the relationship data carried by transaction a1 is 4-1, indicating that transaction a1 is the first of four transactions, the rank of transaction a1 is equal to the target rank, and in response thereto, the node updates the message statistics. The node obtains the transaction a2 at the second moment, and because the relationship data carried by the transaction a2 is 4-2, which means that the transaction a2 is the second transaction in the four transactions, the ordering of the transaction a2 is not equal to the target ordering, and in response, the node does not update the message statistical data.
When the node updates the message statistical data, the node can update the message statistical data by executing codes used for updating the message statistical data in the block chain program. Alternatively, the node may automatically invoke and execute an intelligent contract for updating the message statistics, thereby enabling the updating of the message statistics.
In the invention, if the target ordering is preset as the first positive number, the method has the beneficial effects that: for some interrupted services, corresponding service messages can be counted. For example, the service message a is parsed into four transactions of transaction a1, transaction a2, transaction a3 and transaction a4, and the transaction a2 fails to be executed, so that the transaction a3 and the transaction a4 are not submitted to the blockchain network for execution. However, if the target rank is preset to be the first positive number, even if the transaction execution failure causes the service interruption, the corresponding service message can be counted.
In the invention, if the target ordering is preset as the first to last, the method has the beneficial effects that: for some interrupted services, the corresponding service messages may not be counted. For example, the service message a is parsed into four transactions of transaction a1, transaction a2, transaction a3 and transaction a4, and the transaction a2 fails to be executed, so that the transaction a3 and the transaction a4 are not submitted to the blockchain network for execution. If the target rank is preset to be the first to last, the node will not count up the traffic message a because the node cannot receive the transaction a 4.
It should be noted that, for the target ranking, the target ranking should be specifically preset to be the positive first or the last first, and the target ranking may be set correspondingly according to the statistical requirement.
Or alternatively, in other embodiments, as previously described, the statistical auxiliary information carried by the transaction may refer to the relationship data between the transaction and the target service message corresponding to the transaction. Specifically, the relationship data may refer to a message identifier of the corresponding target service message. Thus, when executing the above step S22, the node specifically executes the following sub-steps:
substep S22-A: and judging whether the message identification carried by the transaction is counted.
Substep S22-B: and under the condition that the message identification carried by the transaction is not counted, updating the message counting data.
Substep S22-C: and under the condition that the message identification carried by the transaction is counted, not updating the message counting data.
For ease of understanding, along with the above example, the node obtains transaction a1 at a first time, and the node reads the message identifier 3f0f4 … f9403c carried by transaction a 1. The node compares the message identifier with a plurality of stored message identifiers, determines that the message identifier is not equal to any stored message identifier, stores the message identifier 3f0f4 … f9403c, and updates the message statistical data. The node obtains the transaction a2 at the second moment, and reads the message identifier 3f0f4 … f9403c carried by the transaction a 2. The node compares the message identifier with a plurality of stored message identifiers, and if the message identifier is equal to one stored message identifier, the node does not update the message statistical data.
When the node updates the message statistical data, the node can update the message statistical data by executing codes used for updating the message statistical data in the block chain program. Alternatively, the node may automatically invoke and execute an intelligent contract for updating the message statistics, thereby enabling the updating of the message statistics.
Or alternatively, in other embodiments, as previously described, the statistical auxiliary information carried by a transaction may refer to a contract address of a target smart contract for updating packet statistics, where only one of several transactions parsed from the same service packet carries the contract address of the target smart contract. Thus, when executing the above step S22, the node specifically executes the following sub-steps:
substep S22-I: and judging whether the transaction carries the contract address of the target intelligent contract.
And a substep S22-II, wherein the target intelligent contract is executed under the condition that the transaction carries the contract address of the target intelligent contract, so that the message statistical data is updated.
Sub-step S22-III, in case the transaction does not carry the contract address of the target smart contract, not executing the target smart contract, so that the message statistics are not updated.
For ease of understanding, the above example is followed by assuming that the transaction a1 carries only the contract address of the target smart contract among the transactions a1, a2, a3, and a4 into which the service message a is parsed. The node obtains the transaction a1 at the first moment, and when the node processes the transaction a1, the node calls and executes the target intelligent contract because the transaction a1 carries the contract address of the target intelligent contract, so that the message statistical data is updated. The node obtains the transaction a2 at the second moment, and when the node processes the transaction a2, the node does not execute the target intelligent contract because the transaction a1 does not carry the contract address of the target intelligent contract, so that the node does not update the message statistical data naturally.
Step S23: and consensus is carried out on the updated behavior and/or the updated message statistical data.
In the invention, nodes share the updated behavior and/or the updated message statistical data, so that each node of the block chain network keeps consistent accounts for message statistics.
Optionally, in some embodiments, when the node consensus the update behavior, specifically: if the node updates the message statistics during processing of the current transaction, the node may generate an update identification Y for the current transaction indicating that the node updated the message statistics during processing of the current transaction. If the node does not update the message statistics during the processing of the current transaction, the node may generate an update identifier N for the current transaction, indicating that the node does not update the message statistics during the processing of the current transaction. After the current transaction is completed, the updated identity of the current transaction may be consensus among the nodes. Or after the processing of the continuous plurality of transactions is completed, the updated identification of the continuous plurality of transactions may be consensus among the nodes.
Optionally, in some embodiments, when the node performs consensus on the updated packet statistics, specifically: if the node updates the message statistics data during the current transaction processing, the updated message statistics data can be commonly identified among the nodes after the current transaction processing is completed. Or specifically: after the nodes process the continuous multiple transactions, the nodes can share the message statistical data processed by the continuous multiple transactions.
The common mode set forth in the above embodiments is only an example, and the present invention is not limited to the common mode. Those skilled in the art can adopt other known modes besides those adopted by the specific embodiments described above.
By executing the above steps S21 to S23, the following advantageous effects can be achieved: after the service message is parsed into a plurality of transactions, some or all of the plurality of transactions carry statistical auxiliary information. After the nodes of the blockchain network acquire the transaction, the message statistical data can be updated according to the statistical auxiliary information carried by the transaction, so that the statistics of the service message is realized. In addition, the nodes of the blockchain network can also carry out consensus on the updated behavior and/or the updated message statistical data, so that accounts of all the nodes of the blockchain network on the message statistics are kept consistent.
It should be noted that, the present invention does not directly count the service message before the service message is parsed, but after the transaction parsed by the service message is submitted to the blockchain network, the nodes of the blockchain network count the service message according to the statistics auxiliary information carried by the transaction, and the statistics is commonly known, so that each node of the blockchain network keeps consistent for the accounts of the message statistics. Therefore, the distributed characteristic of the block chain network can be fully utilized, and the accuracy and fairness in message statistics are improved.
Optionally, as previously described, in some embodiments, transactions are parsed by middleware external to the blockchain network; the middleware is deployed between the user terminal and the blockchain network, and is used for receiving the service message sent by the user terminal, analyzing the received service message into a plurality of transactions, and submitting the analyzed transactions to the blockchain network for execution.
In the invention, the middleware arranged between the user terminal and the blockchain network analyzes the service message sent by the user terminal, and submits the analyzed transaction to the blockchain network for execution, so that the user does not need to personally write the transaction, thereby helping the user to develop the service more conveniently based on the blockchain network.
Optionally, in some embodiments, each service message carries at least one of the following multiple service information: user information, service type, transaction amount; the transaction analyzed by the service message inherits the service information carried by the service message.
In the invention, the transaction inherits the service information carried by the service message, so the node can count the service message in a finer granularity according to the service information inherited by the node.
For example, the message statistics data is used for recording the number of service messages corresponding to each user respectively. In concrete implementation, the account book database of the node records the number of service messages corresponding to each user. During the process of the transaction, if the node determines that the message statistical data needs to be updated, the node reads the user information from the transaction, then uses the read user information as an index, searches the business message number corresponding to the user information from the account database, and then adds 1 on the basis of the business message number.
Or for example, the message statistics data is used for recording the number of service messages corresponding to each service type of each user. In particular, the node creates an entry in its ledger database for each user. Under each user's entry, the number of messages for each service type for that user is recorded. During processing of the transaction, the node reads the user information and the traffic type from the transaction if it determines that the message statistics need to be updated. And then the node takes the read user information as an index, searches an entry corresponding to the user information from an account database, takes the read service type as an index, and further searches the number of service messages corresponding to the service type under the searched entry. And finally, adding 1 by the node on the basis of the number of the service messages.
Or for example, the message statistics are used to record the transaction amount of each user in each service message. In particular, the node creates an entry in its ledger database for each user. Each user has a number of sub-entries under its entry, each sub-entry recording the transaction amount in a service message for that user. During processing of the transaction, the node reads the user information and the transaction amount from the transaction if it determines that the message statistics need to be updated. Then the node takes the read user information as an index, searches an entry corresponding to the user information from an account database, creates a sub-entry under the entry, and assigns the read transaction amount to the newly created sub-entry.
Or for example, the message statistics data is used for recording the number of service messages corresponding to each service type respectively. In specific implementation, the account book database of the node records the number of service messages corresponding to each service type. During the process of the transaction, if the node determines that the message statistical data needs to be updated, the node reads the service type from the transaction, then uses the read service type as an index, searches the service message quantity corresponding to the service type from the account database, and then adds 1 on the basis of the service message quantity.
In the invention, the service message is counted in a finer granularity, so that richer statistic data can be obtained. Thereafter, related services, such as formulating a rich message billing scheme, may be developed based on these rich statistics.
Optionally, in some embodiments, a node of the blockchain network may also perform the steps of: obtaining a message statistical data query request; and responding to the message statistical data query request, querying message statistical data from an account database, and sending the queried message statistical data.
Specifically, when a node receives a message statistics data query request, querying message statistics data from an account database, signing the queried message statistics data, and finally sending the signed message statistics data to a result demand party.
Furthermore, in order to query the message statistics at a finer granularity, the message statistics query request may carry user information, considering that the message statistics may be fine-grained. The node, when responding to the message statistical data query request, specifically: and the node takes the user information carried by the message statistical data query request as an index, and queries the message statistical data corresponding to the user information from the account database.
Based on the same inventive concept, the embodiment of the invention also provides a message statistics device. Referring to fig. 3, fig. 3 is a schematic diagram of a packet counting device according to an embodiment of the present invention, where the packet counting device is applied to any node in a blockchain network. As shown in fig. 3, the packet statistics apparatus includes:
a transaction acquisition module 31 for acquiring a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
a message statistics data updating module 32, configured to update message statistics data according to statistics auxiliary information carried by the transaction;
and the consensus module 33 is configured to consensus the updated behavior and/or the updated packet statistics.
Optionally, in some embodiments, the statistical auxiliary information carried by each transaction refers to relationship data between the transaction and a target service packet corresponding to the transaction, where the target service packet corresponding to the transaction refers to a service packet parsed into the transaction.
Optionally, in some embodiments, the relationship data of each transaction refers to a ranking of the transaction among a number of transactions into which the corresponding target service message is parsed; the message statistical data updating module is specifically configured to: judging whether the ordering of the transactions is equal to a preset target ordering; wherein the target ranking is preset as a positive first or a penultimate first; updating the message statistics data under the condition that the ordering of the transaction is equal to the target ordering; and if the ordering of the transaction is not equal to the target ordering, not updating the message statistical data.
Or alternatively, in some embodiments, the relationship data of each transaction refers to a message identifier of a corresponding target service message; the message statistical data updating module is specifically configured to: judging whether the message mark carried by the transaction is counted or not; updating the message statistical data under the condition that the message identification carried by the transaction is not counted; and under the condition that the message identification carried by the transaction is counted, not updating the message counting data.
Or alternatively, in some specific embodiments, the statistical auxiliary information carried by the transaction refers to a contract address of a target intelligent contract for updating the statistical data of the message, and only one transaction of a plurality of transactions parsed by the same service message carries the contract address of the target intelligent contract; the message statistical data updating module is specifically configured to: judging whether the transaction carries a contract address of the target intelligent contract or not; executing the target intelligent contract under the condition that the transaction carries the contract address of the target intelligent contract, so as to update message statistics; and under the condition that the transaction does not carry the contract address of the target intelligent contract, the target intelligent contract is not executed, so that the message statistical data is not updated.
Optionally, in some embodiments, the transaction is parsed by middleware external to the blockchain network; the middleware is deployed between the user terminal and the blockchain network, and is used for receiving the service message sent by the user terminal, analyzing the received service message into a plurality of transactions, and submitting the analyzed transactions to the blockchain network for execution.
Optionally, in some embodiments, each service message carries at least one of the following multiple service information: user information, service type, transaction amount; transaction analyzed by the service message inherits service information carried by the service message;
the message statistical data is used for recording the number of service messages corresponding to each user respectively;
or the message statistical data is used for recording the number of service messages corresponding to each service type of each user respectively;
or the message statistical data is used for recording the transaction amount of each user in each service message;
or the message statistical data is used for recording the number of the service messages respectively corresponding to each service type.
Optionally, in some embodiments, the apparatus further comprises:
The query request acquisition module is used for acquiring a message statistical data query request;
and the message statistical data query module is used for responding to the message statistical data query request, querying the message statistical data from the account book database and sending the queried message statistical data.
Optionally, in some specific embodiments, the packet statistics query request carries user information; the message statistical data query module is specifically configured to: responding to the message statistical data query request, and querying message statistical data corresponding to the user information from an account database by taking the user information carried by the message statistical data query request as an index.
For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
Based on the same inventive concept, the embodiment of the invention also provides an electronic device, as shown in fig. 4, which comprises a processor 401, a communication interface 402, a memory 403 and a communication bus 404, wherein the processor 401, the communication interface 402 and the memory 403 complete communication with each other through the communication bus 404.
The memory 403 is used for storing a computer program;
the processor 401 is configured to implement the following steps when executing a program stored in the memory 403:
obtaining a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
updating message statistical data according to the statistical auxiliary information carried by the transaction;
and consensus is carried out on the updated behavior and/or the updated message statistical data.
Alternatively, the processor 401 is configured to implement the steps of the packet statistics method provided in the other method embodiments of the present invention when executing the program stored in the memory 403.
The communication bus mentioned by the above electronic device may be a peripheral component interconnect standard (Peripheral Component Interconnect, abbreviated as PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, abbreviated as EISA) bus, or the like. The communication bus may be classified as an address bus, a data bus, a control bus, or the like. For ease of illustration, the figures are shown with only one bold line, but not with only one bus or one type of bus.
The communication interface is used for communication between the electronic device and other devices.
The memory may include random access memory (Random Access Memory, RAM) or non-volatile memory (non-volatile memory), such as at least one disk memory. Optionally, the memory may also be at least one memory device located remotely from the aforementioned processor.
The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field-programmable gate arrays (Field-Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
In yet another embodiment of the present invention, a computer readable storage medium is provided, where instructions are stored, which when executed on a computer, cause the computer to perform the packet counting method according to any one of the above embodiments.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present invention, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
It is noted that relational terms such as first and second, and the like are 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. Moreover, 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 phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing description is only of the preferred embodiments of the present invention and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims (11)

1. A method of packet statistics, applied to any node in a blockchain network, the method comprising:
obtaining a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
updating message statistical data according to the statistical auxiliary information carried by the transaction;
consensus is carried out on the updated behavior and/or the updated message statistical data;
the statistical auxiliary information carried by each transaction refers to the relationship data between the transaction and a target service message corresponding to the transaction, wherein the target service message corresponding to the transaction refers to the service message analyzed into the transaction, and/or;
the statistical auxiliary information carried by the transaction refers to the contract address of the target intelligent contract for updating the message statistical data, and only one transaction of a plurality of transactions analyzed by the same service message carries the contract address of the target intelligent contract.
2. The method of claim 1, wherein the relationship data for each transaction refers to a ranking of the transaction among a number of transactions into which the corresponding target service message is parsed; the updating the message statistics data according to the statistics auxiliary information carried by the transaction comprises the following steps:
judging whether the ordering of the transactions is equal to a preset target ordering; wherein the target ranking is preset as a positive first or a penultimate first;
updating the message statistics data under the condition that the ordering of the transaction is equal to the target ordering;
and if the ordering of the transaction is not equal to the target ordering, not updating the message statistical data.
3. The method of claim 1, wherein the relationship data for each transaction refers to a message identification of a corresponding target service message; the updating the message statistics data according to the statistics auxiliary information carried by the transaction comprises the following steps:
judging whether the message mark carried by the transaction is counted or not;
updating the message statistical data under the condition that the message identification carried by the transaction is not counted;
and under the condition that the message identification carried by the transaction is counted, not updating the message counting data.
4. The method of claim 1, wherein updating the message statistics based on the statistical assistance information carried by the transaction comprises:
judging whether the transaction carries a contract address of the target intelligent contract or not;
executing the target intelligent contract under the condition that the transaction carries the contract address of the target intelligent contract, so as to update message statistics;
and under the condition that the transaction does not carry the contract address of the target intelligent contract, the target intelligent contract is not executed, so that the message statistical data is not updated.
5. The method of any one of claims 1 to 4, wherein transactions are parsed by middleware outside the blockchain network; the middleware is deployed between the user terminal and the blockchain network, and is used for receiving the service message sent by the user terminal, analyzing the received service message into a plurality of transactions, and submitting the analyzed transactions to the blockchain network for execution.
6. The method of any of claims 1 to 4, wherein each service message carries at least one of the following plurality of service information: user information, service type, transaction amount; transaction analyzed by the service message inherits service information carried by the service message;
The message statistical data is used for recording the number of service messages corresponding to each user respectively;
or the message statistical data is used for recording the number of service messages corresponding to each service type of each user respectively;
or the message statistical data is used for recording the transaction amount of each user in each service message;
or the message statistical data is used for recording the number of the service messages respectively corresponding to each service type.
7. The method according to any one of claims 1 to 4, further comprising:
obtaining a message statistical data query request;
and responding to the message statistical data query request, querying message statistical data from an account database, and sending the queried message statistical data.
8. The method of claim 7, wherein the message statistics query request carries user information; the responding to the message statistical data query request queries message statistical data from an account book database, and comprises the following steps:
responding to the message statistical data query request, and querying message statistical data corresponding to the user information from an account database by taking the user information carried by the message statistical data query request as an index.
9. A packet statistics apparatus for use in any node in a blockchain network, the apparatus comprising:
the transaction acquisition module is used for acquiring a transaction; wherein, the transaction is analyzed by a service message; one business message is analyzed into a plurality of transactions, and part or all of the transactions analyzed by the same business message carry statistical auxiliary information;
the message statistical data updating module is used for updating the message statistical data according to the statistical auxiliary information carried by the transaction;
the consensus module is used for consensus the updated behavior and/or the updated message statistical data;
the statistical auxiliary information carried by each transaction refers to the relationship data between the transaction and a target service message corresponding to the transaction, wherein the target service message corresponding to the transaction refers to the service message analyzed into the transaction, and/or;
the statistical auxiliary information carried by the transaction refers to the contract address of the target intelligent contract for updating the message statistical data, and only one transaction of a plurality of transactions analyzed by the same service message carries the contract address of the target intelligent contract.
10. The electronic equipment is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are communicated with each other through the communication bus;
The memory is used for storing a computer program;
the processor is configured to implement the method steps of any of claims 1-8 when executing a program stored on a memory.
11. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method steps of any of claims 1-8.
CN202011613576.7A 2020-12-30 2020-12-30 Message statistics method and device, electronic equipment and readable storage medium Active CN112785302B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011613576.7A CN112785302B (en) 2020-12-30 2020-12-30 Message statistics method and device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011613576.7A CN112785302B (en) 2020-12-30 2020-12-30 Message statistics method and device, electronic equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN112785302A CN112785302A (en) 2021-05-11
CN112785302B true CN112785302B (en) 2023-07-28

Family

ID=75754020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011613576.7A Active CN112785302B (en) 2020-12-30 2020-12-30 Message statistics method and device, electronic equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN112785302B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180337971A1 (en) * 2017-05-17 2018-11-22 Satori Worldwide, Llc System and method for efficiently distributing computation in publisher-subscriber networks
CN111476574A (en) * 2020-04-14 2020-07-31 青岛信安智融科技有限公司 Novel security IC card and authentication system and method
CN111539726B (en) * 2020-04-20 2024-03-19 中国工商银行股份有限公司 Block chain consensus system and method
CN112087502B (en) * 2020-08-28 2022-10-21 成都质数斯达克科技有限公司 Method, device and equipment for processing request and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链的持久标识符系统;孙善鹏;田野;李琢;王毅蒙;刘佳;王姝;郭志斌;;计算机系统应用(第08期);94-101 *

Also Published As

Publication number Publication date
CN112785302A (en) 2021-05-11

Similar Documents

Publication Publication Date Title
CN111163129B (en) Resource processing method and device based on cross-link network
CN104699718B (en) Method and apparatus for being rapidly introduced into business datum
CN110032598B (en) Method and device for updating field and electronic equipment
CN112087502B (en) Method, device and equipment for processing request and storage medium
CN111026767B (en) Block chain data storage method and device and hardware equipment
CN110633329A (en) System and method for block chain transaction record
CN111145019A (en) Method and system for acquiring data outside block chain
CN114138877A (en) Method, device and equipment for realizing theme data service based on micro-service architecture
CN112785302B (en) Message statistics method and device, electronic equipment and readable storage medium
CN112488835A (en) Service processing method, electronic device and readable storage medium
CN116993523A (en) Configurable account checking method, device, equipment and storage medium
CN110858211B (en) Data storage method, device and system and storage medium
CN113407551A (en) Data consistency determining method, device, equipment and storage medium
CN112258184B (en) Method, apparatus, electronic device and readable storage medium for freezing blockchain network
CN113778950B (en) Method for acquiring trusted file, index server, query server and medium
CN112671842B (en) Information transmission method and device, electronic equipment and readable storage medium
CN116095074A (en) Resource allocation method, device, related equipment and storage medium
CN113076340A (en) Accounting data processing method and device, electronic equipment and storage medium
CN112270601B (en) Information transfer method, information transfer device, electronic equipment and readable storage medium
CN111367694A (en) Event processing method, server and computer storage medium
CN112637267B (en) Service processing method, device, electronic equipment and readable storage medium
CN111784527B (en) Method and device for updating rights and interests through block chain
CN112488836B (en) Transaction transmitting method, device, electronic equipment and readable storage medium
CN117635081B (en) Data processing method, device, equipment and storage medium
CN112035471B (en) Transaction processing method and computer equipment

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