WO2021047445A1 - 区块链网络中的数据处理方法、装置、存储介质和计算机设备 - Google Patents

区块链网络中的数据处理方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
WO2021047445A1
WO2021047445A1 PCT/CN2020/113355 CN2020113355W WO2021047445A1 WO 2021047445 A1 WO2021047445 A1 WO 2021047445A1 CN 2020113355 W CN2020113355 W CN 2020113355W WO 2021047445 A1 WO2021047445 A1 WO 2021047445A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
consensus
data processing
network
sub
Prior art date
Application number
PCT/CN2020/113355
Other languages
English (en)
French (fr)
Inventor
李茂材
朱耿良
王宗友
孔利
蓝虎
周开班
杨常青
时一防
陈秋平
刘区城
张劲松
刘攀
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to JP2021555432A priority Critical patent/JP7301150B2/ja
Priority to EP20862111.0A priority patent/EP3920505A4/en
Priority to US17/197,485 priority patent/US11895242B2/en
Publication of WO2021047445A1 publication Critical patent/WO2021047445A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • This application relates to the field of computer technology, and in particular to a data processing method, device, computer-readable storage medium, and computer equipment in a blockchain network.
  • the information in the blockchain network often has the characteristics of “open in the alliance and confidential to the outside world”.
  • the traditional blockchain network is usually not protected by the proof of computing power, it is more likely to be able to Attacks from external nodes connected to the blockchain network, especially when the blockchain network is used in some confidential data processing scenarios, it is more necessary to protect the security and processing performance of the blockchain network to prevent the blockchain network from suffering at the network level. The possible danger of cyber attacks.
  • a data processing method in a blockchain network including a business sub-network, a consensus sub-network, and the routing layer for isolating the business sub-network from the consensus sub-network, the method Executed by a computer device, the method includes:
  • the data processing request is forwarded to the target consensus node, and corresponding data processing is performed on the data processing request through the target consensus node.
  • a data processing device in a blockchain network includes a business sub-network, a consensus sub-network, and the routing node for isolating the business sub-network from the consensus sub-network, and the device include:
  • a receiving module configured to receive a data processing request sent by a service node in the service sub-network
  • a verification module configured to perform identity verification on the business node according to the data processing request
  • the obtaining module is used to obtain the operating load of each consensus node in the consensus sub-network when the verification is passed;
  • the determining module is used to determine the target consensus node for processing the data processing request from the consensus sub-network according to the operating load;
  • the forwarding module is used to forward the data processing request to the target consensus node, and perform corresponding data processing on the data processing request through the target consensus node.
  • One or more non-volatile computer-readable storage media storing computer-readable instructions.
  • the computer-readable instructions When executed by one or more processors, the one or more processors perform the following steps:
  • the data processing request is forwarded to the target consensus node, and corresponding data processing is performed on the data processing request through the target consensus node.
  • a computer device includes a memory and one or more processors.
  • the memory stores computer-readable instructions.
  • the one or more processors perform the following steps:
  • the data processing request is forwarded to the target consensus node, and corresponding data processing is performed on the data processing request through the target consensus node.
  • Figure 1 is an application environment diagram of a data processing method in a blockchain network in an embodiment
  • FIG. 2 is a schematic diagram of the architecture of a blockchain network in an embodiment
  • FIG. 3 is a schematic diagram of the architecture of a blockchain network applied to an electronic bill scenario in a specific embodiment
  • FIG. 4 is a schematic flowchart of a data processing method in a blockchain network in an embodiment
  • FIG. 5 is a schematic flowchart of restricting long connection behavior initiated by a service node in an embodiment
  • FIG. 6 is a schematic diagram of a flow chart of restricting data traffic processed by a routing node in an embodiment
  • FIG. 7 is a schematic flowchart of a data processing method in a blockchain network in a specific embodiment
  • Figure 8 is a schematic diagram of functional modules of a blockchain network in an embodiment
  • FIG. 9 is a structural block diagram of a data processing device of a blockchain network in an embodiment
  • Fig. 10 is a structural block diagram of a computer device in an embodiment.
  • Fig. 1 is an application environment diagram of a data processing method in a blockchain network in an embodiment.
  • the blockchain network includes a network of related nodes that record and query data blocks on the blockchain.
  • Each node in the blockchain network is a blockchain node, which can query or query data blocks. Recorded computer equipment.
  • the blockchain network 100 includes a business sub-network 110, a routing layer 120 and a consensus sub-network 130.
  • the service node 112 in the service sub-network 110 and the routing node 122 in the routing layer 120 are connected through a network.
  • the routing node 122 and the consensus node 132 in the consensus sub-network 130 are connected through a network. Therefore, the service sub-network 110 and the consensus sub-network 130 need to communicate through the routing node 122.
  • the business node 112 may specifically be a desktop terminal or a mobile terminal used by a business party that generates transaction information, and the mobile terminal may specifically be at least one of a mobile phone, a tablet computer, a notebook computer, and the like.
  • the routing node 122 may be implemented by an independent server or a server cluster composed of multiple servers.
  • the consensus node 132 in the consensus sub-network 130 can record the transaction information generated by the business node on the blockchain.
  • the consensus node 132 can be implemented by an independent server or a server cluster composed of multiple servers. In the application scenario of processing electronic bill data, the consensus nodes in the consensus sub-network are usually set up with the authorization of the regulatory agency.
  • the blockchain network 200 includes a business sub-network 210, a routing layer 220, and a consensus sub-network 230.
  • the business sub-network 210 includes a business node 211 that verifies the data block recorded by the consensus node on the blockchain
  • the consensus sub-network 230 includes the consensus node 231 that records the data block on the blockchain.
  • the business sub-network 210 and the consensus sub-network 230 are connected through the routing layer 220.
  • the routing node 221 in the routing layer 220 can transmit the data processing request sent by the business node 211 to the consensus node 231, and the routing node 221 can also forward to the business node 211
  • the transaction information on the blockchain obtained from the consensus node 231.
  • the business node 211 is deployed in the business sub-network on the public network, and the consensus node 231 running the blockchain consensus protocol is deployed in the private consensus sub-network. The two interact through the routing node, and the routing node 221 is responsible for the business The isolation between the sub-network 210 and the core consensus sub-network 230.
  • each service node is peer-to-peer, and the service node 211 can transfer the message received from the routing node 221 to the surrounding service nodes, so that the message can be transmitted in each of the service sub-networks.
  • Spread between business nodes are peer-to-peer, and the service node 211 can transfer the message received from the routing node 221 to the surrounding service nodes, so that the message can be transmitted in each of the service sub-networks.
  • FIG. 3 is a schematic diagram of the architecture of a blockchain network applied to an electronic bill scenario in a specific embodiment.
  • the blockchain network can record transaction information generated during the entire circulation process of electronic bills.
  • the blockchain network includes a business sub-network 32, a routing layer 34, and a consensus sub-network 36.
  • the circulation process of electronic bills includes the application of electronic bills, the issuance of electronic bills, the reimbursement of electronic bills, and the tax declaration of electronic bills.
  • the issuance of electronic bills is also called the generation of electronic bills, because the entire process of electronic bill circulation involves
  • the roles include supervisory authority, invoicing party, reimbursement party, and tax filer. Therefore, the business sub-network 32 includes the specialized network of supervisory authority 321 that provides related services to supervisory agencies, as well as public ownership that provides related services to invoice issuers, reimbursement parties, and tax filers.
  • the cloud 322 also includes a private cloud 323 that provides consumers with electronic bill storage services.
  • the private network for regulatory agencies 321 includes computer equipment used by regulatory agencies involved in electronic bills, including a regulatory agency terminal 3211.
  • the public cloud 322 includes the computer equipment used by the billing party, reimbursement fee, and tax declaring party involved in the electronic bill, including the billing party terminal 3221, the reimbursing party terminal 3222, and the tax declaring party terminal 3223.
  • the billing party can be an invoicing service provider or a reimbursing party. It can be a reimbursement service provider, and enterprise terminals can access the public cloud.
  • the private cloud 323 includes the computer equipment used by the users involved in the electronic bills, including the payment terminal 3231 for making payments, and the electronic bill transfer terminal 3232 for temporarily storing electronic bills for users, as well as some special-purpose enterprises. Terminal 3233, consumer terminals can access the private cloud.
  • the computer equipment in the private network 321 of the regulatory agency, the public cloud 322, and the private cloud 323 can all be used as business nodes to send data on-chain requests or data query requests for electronic bills to the consensus sub-network through routing nodes.
  • routing nodes 34 includes functional modules that provide an authentication service 341, a certificate cache 342, a routing service 343, and a P2P service 344.
  • the authentication service 341 is used to verify the identity of the business node in the business sub-network
  • the certificate cache 342 is used to cache the identity certificate of each node
  • the routing service 343 is used to realize the network isolation between the business sub-network and the consensus sub-network
  • the P2P service Used to distribute tasks among idempotent routing nodes.
  • the consensus sub-network 36 includes a plurality of sub-consensus sub-networks 360, and each sub-consensus sub-network 360 includes a plurality of consensus nodes 361, and the multiple consensus nodes 361 maintain the sub-blockchain corresponding to the sub-consensus sub-network 360.
  • some sub-blockchains are used to record transaction information related to electronic bills belonging to a certain range of bill number segments, and some sub-blockchains are used to record transaction information related to electronic bills that are redeemed.
  • the sub-blockchain to be recorded can be determined according to the attributes of the transaction information, and then recorded by the sub-consensus sub-network that maintains the sub-blockchain.
  • the consensus node 361 may generally be a computer device used by regulatory agencies in various regions.
  • the consensus node 361 in each sub-consensus sub-network 360 includes a permission contract.
  • the permission contract stores the circulation logic of the entire life cycle of the electronic bill, such as the bill status of the electronic bill, the flow process, the data access rights, and the electronic bill application conditions , Electronic bill issuance conditions, etc.
  • the consensus node 361 also includes a cache and a data block, and these functions can provide support for the on-chain and query of transaction information.
  • a data processing method in a blockchain network uses the method applied to the routing node 122 in the blockchain network in FIG. 1 as an example.
  • the blockchain network includes a business sub-network 110, a routing node 122, and a consensus sub-network 130.
  • the business sub-network 110 includes a business node for generating transaction information
  • the consensus sub-network 130 includes a consensus node for uploading transaction information on the chain.
  • the business sub-network is also used to verify the data blocks recorded by the consensus node on the blockchain.
  • the method is provided by the routing service of the routing node in FIG. 3.
  • the data processing method in the blockchain network specifically includes the following steps:
  • S402 Receive a data processing request sent by a service node in the service sub-network.
  • the business node in the business sub-network needs to forward the data processing request to the consensus node in the consensus sub-network through the routing node.
  • the data processing request includes a data upload request, a data query request, and so on.
  • data processing requests include bill application requests, bill issuance requests, bill reimbursement requests, bill tax declaration requests, bill information query requests, and so on.
  • the consensus nodes used to upload transaction information in the blockchain network and the business nodes used to verify data blocks and query transaction information all need to request or data during the interaction process Sign, and the public and private keys used in the signature are issued by the regulatory agency at the time of registration.
  • the business node is an enterprise terminal that applies for a blank electronic bill
  • the data processing request is a bill application request.
  • the bill claim request carries the identity of the claimant.
  • the enterprise terminal can sign the claim request with the private key, and send the signed claim request to the routing node, and the routing node can apply for the signed bill.
  • the request is verified, and the verified request is forwarded to the consensus sub-network.
  • the business node is a bill issuance terminal that issues an electronic bill
  • the data processing request is a bill issuance request.
  • the bill issuance terminal can obtain the bill issuance information that carries the billing party ID, the electronic bill ID, the bill amount, and the tax declaring party ID, and then The ticket issuance request obtained after signing the ticket issuance information is sent to the routing node, and the routing node authenticates the signed ticket issuance request. After the authentication is passed, the ticket issuance request is forwarded to the consensus sub-network, and the consensus sub-network responds to the ticket After the request is issued, the information related to the issued electronic bill is recorded on the blockchain.
  • the business node is a reimbursement terminal for reimbursing electronic bills
  • the data processing request is a bill reimbursement request.
  • the bill reimbursement terminal can obtain bill reimbursement information that carries the reimbursement party ID, bill ID, and bill information.
  • the key signs the bill reimbursement information to obtain the bill reimbursement request, and forwards the bill reimbursement request to the routing node.
  • the business node is a tax declaration terminal that reports taxes on electronic bills.
  • the data processing request is an electronic bill tax filing request.
  • the tax filing terminal can query the electronic bill and tax filing parameters corresponding to the tax filing party identification, determine the electronic bill identification to be filed this time, and generate the bill filing information based on this.
  • the tax filing terminal adopts the one issued at the time of registration.
  • the private key signs the bill tax declaration information to obtain the bill tax declaration request, and forwards the bill tax declaration request to the routing node.
  • the consensus sub-network After the consensus sub-network completes the response to the bill application request, bill issuance request, bill reimbursement request, and bill tax declaration request, it will record the relevant transaction information of the completed application, issuance, reimbursement, and tax declaration in the blockchain, and The corresponding block header is returned to the business node that initiated the request, and the business node can verify the summary information in the block header, thereby supervising the transaction information recorded by the consensus sub-network on the blockchain network. Further, the business node can initiate a data query request for the transaction information of the block weight corresponding to the block header. The data query request can be signed with the private key of the business node, and the business node sends the signed data query request to the router.
  • the routing node obtains the public key with the business node, and verifies the data query request. If the verification is successful, the business node is determined to pass the identity verification, and the routing node can send the data query request to the corresponding consensus node in the consensus sub-network, So that the consensus node returns the corresponding transaction information to the routing node according to the authority data of the business node that initiated the data query request, so that the routing node can forward the transaction information to the business node.
  • S404 Perform identity verification on the business node according to the data processing request.
  • each business node needs to obtain a public-private key pair or identity certificate that can identify its legal identity when registering, so as to sign the data during the network interaction process, thereby ensuring the legality and security of the data .
  • an official institution issues a public-private key pair to a business node or a consensus node, it will also send the corresponding public key or an identity certificate including the public key to the routing node, which will be stored by the routing node.
  • the service node uses the private key in the public-private key pair to sign the data processing request before sending it to the routing node. After receiving the signed data processing request, the routing node obtains the public key of the service node or the public key in the identity certificate.
  • the key is used to perform signature verification on the data processing request using the obtained public key, thereby realizing the identity verification of the business node and also realizing the legality of the data processing request. That is to say, the identity verification of the business node does not need to be performed through the consensus sub-network, but is performed by the routing node, so that even if the number of business nodes is large, the security of the consensus sub-network can be guaranteed.
  • the data processing request is signed by the private key of the business node.
  • the identity verification of the business node includes: obtaining the public key corresponding to the private key of the business node; and signing according to the public key
  • the data processing request is verified by signature; if the verification is successful, it is determined that the identity verification of the business node is passed.
  • the routing node uses the public key of the business node to decrypt the signed data processing request, obtains the hash value corresponding to the data processing request, and calculates the data processing request corresponding to the data processing request according to the same algorithm used when the business node signs. Hash value. If the decrypted hash value is consistent with the calculated hash value, the verification is successful, and it is determined that the identity verification of the business node is passed, and the routing node can forward the data processing request to the consensus node in the consensus sub-network. So that the consensus node performs corresponding data processing in response to the data processing request.
  • the consensus sub-network includes multiple consensus nodes. These consensus nodes are idempotent. There is no difference in sending any data processing request to any consensus node in the consensus sub-network. However, due to fluctuations and imbalances of network traffic, the consensus sub-network may have insufficient processing performance for data processing requests, thereby reducing the service performance of the overall blockchain network. For this reason, a request distribution strategy is configured on the routing node, according to each consensus node The load capacity is balanced to forward data processing requests to different consensus nodes.
  • the operating load represents the processing task volume of each consensus node in the current consensus sub-network, and the operating load can be represented by the number of data processing requests currently to be processed by the consensus node.
  • each consensus node can actively report the current operating load on a regular basis, or the routing node can obtain the operating load from each consensus node.
  • S408 According to the operating load, determine a target consensus node for processing the data processing request from the consensus sub-network.
  • the routing node can determine a target consensus node with a relatively small operating load from each consensus node according to the operating load of each consensus node, and forward the data processing request to the determined target consensus node, which is performed by the target consensus node.
  • Corresponding data processing in this way, even if the number of data processing requests initiated by business nodes is large, they can be evenly distributed to the consensus nodes in the consensus sub-network to ensure the service performance of the blockchain network.
  • S410 Forward the data processing request to the target consensus node, and perform corresponding data processing on the data processing request through the target consensus node.
  • the consensus sub-network contains the full amount of data, including confidential data and sensitive data
  • all external business nodes need to access the consensus sub-network through routing nodes in order to isolate the external nodes from the consensus sub-network at the network level. Avoid malicious attacks from external nodes.
  • the routing node After the routing node passes the identity verification of the business node, it forwards the data processing request to the consensus sub-network, and the consensus sub-network can perform corresponding data processing on the data processing request.
  • the routing node can send the data processing request to the sub-consensus sub-network corresponding to the type of the data processing request according to the type of the data processing request.
  • the routing node can also obtain the operating load of each consensus node in the consensus sub-network in real time, and distribute data processing requests to the consensus nodes in the consensus sub-network in a balanced manner.
  • the data processing request is a data upload request.
  • the target consensus node performs corresponding data processing on the data processing request, including: generating the data corresponding to the transaction information in the data upload request through the consensus node in the consensus sub-network.
  • the value of hope is to sign the hash value according to the private key of the consensus node; through the consensus node, the generated hash value and the signed hash value are recorded in the block header, and the transaction information is recorded in the block body, block header and block header Form a data block; consensus on the data block through the consensus sub-network, after the consensus is passed, the data block is recorded to the blockchain in the consensus sub-network.
  • the data block is composed of a block header and a block body.
  • the consensus node can first generate the corresponding hash value according to the transaction information in the data upload request, and then agree The node signs the hash value according to the issued private key, and records the generated hash value and the signed hash value to the block header.
  • the consensus node records the transaction information to the block body of the data block.
  • the consensus node will obtain the data block in the consensus sub-network related to this transaction information (it can be a certain sub-consensus sub-network), and record the data block to the consensus sub-network after the consensus is passed.
  • the consensus sub-network related to this transaction information (it can be a certain sub-consensus sub-network), and record the data block to the consensus sub-network after the consensus is passed.
  • the method further includes: receiving the block header returned by the consensus node, and forwarding the block header to the business node; obtaining the public key corresponding to the private key of the consensus node through the business node, and signing according to the public key of the consensus node If the hash value of the verification is passed and the hash value obtained by the verification is consistent with the hash value of the transaction information recorded in the block header, it is determined that the data block is verified.
  • the consensus sub-network after the consensus sub-network uploads the transaction information in the data upload request, it will also return the block header of the data block to the business node through the routing node.
  • the block header can be saved to prevent collective fraud or data tampering by the consensus sub-network, thereby realizing the supervision of the consensus sub-network.
  • the consensus node When the consensus node is registered, the official organization will also issue a public-private key pair for the consensus node, and send the public key in the public-private key pair or the identity certificate including the public key to the service node. Therefore, the business node can obtain the public key of the consensus node, and use the public key of the consensus node to verify the signature in the returned block header. If the verification is passed, the hash value of the decrypted transaction information is obtained. If the hash value of the transaction information recorded in the block header is consistent, it means that the data block corresponding to the block header has passed the verification.
  • the data processing request is a transaction information query request.
  • the target consensus node performs corresponding data processing on the data processing request, including: obtaining the data authority of the business node through the consensus node in the consensus sub-network; The data authority determines whether the business node is a business node associated with the transaction information in the data block; the method further includes: receiving the transaction information returned by the consensus node when it determines that the business node is a business node associated with the transaction information in the data block , And forward the transaction information to the business node.
  • the service node may also obtain the corresponding block body from the consensus sub-network to query the transaction information recorded in the block body.
  • the consensus node stores the authority contract.
  • the consensus node receives the transaction information query request forwarded by the routing node, it can determine the data authority of the business node according to the authority contract, and determine whether the business node that initiated the transaction information query request is based on the data authority.
  • the business node associated with the transaction information recorded in the block body if yes, the consensus node sends the transaction information recorded in the block body to the business node through the routing node.
  • the business sub-network is separated from the consensus sub-network through the routing node. Only the routing node has the ability to directly access the consensus sub-network, so that external business nodes need to access the consensus node. The routing node needs to verify the identity of the business node that sends the data processing request to check the security of each data processing request.
  • the routing node Only when the identity verification is passed, the routing node obtains the operating load of each consensus node in the consensus sub-network, and according to After the operating load determines the target consensus node for processing the data processing request from the consensus sub-network, then the routing node forwards the data processing request sent by the external business node to the consensus sub-network, and then the consensus sub-network performs the data processing request Corresponding data processing avoids the possible danger of the consensus sub-network being attacked by external nodes at the network level, thereby ensuring the network security within the consensus sub-network, and can also forward data processing requests in a balanced manner to improve the consensus sub-network’s performance Processing performance.
  • the above method further includes the step of restricting the long connection behavior initiated by the service node, which specifically includes:
  • S502 Obtain a persistent connection restriction condition of the routing node, where the persistent connection restriction condition is used to limit the number of persistent connections initiated by the service node to the routing node.
  • step S510 When the number of long connections initiated by the service node holding the same identity certificate to the routing node exceeds the third threshold, step S510 is executed.
  • S510 Limit the behavior of the service node initiating a long connection.
  • the routing node also restricts the flow of business nodes accessing the consensus sub-network to ensure the flow balance and performance safety of the blockchain network, and prevent the consensus sub-network from being maliciously attacked by external business nodes.
  • the routing node belongs to the routing layer.
  • the routing layer includes multiple idempotent routing nodes. External business nodes can send data processing requests to any of the routing nodes, which is indistinguishable.
  • the routing node stores the long connection restriction condition to limit the number of times that the routing node receives the long connection, so as to ensure the upper limit of the concurrency of the external node to the consensus sub-network.
  • the long connection restriction conditions are the long connection configuration parameters set in advance, including the first threshold corresponding to the total number of long connections sent by multiple service nodes to the routing node, and the number of long connections initiated by the same service node to the routing node.
  • the corresponding second threshold value also includes the third threshold value corresponding to the number of long connections initiated by the service node holding the same identity certificate to the routing node.
  • the first threshold limits the number of long connections received by the entire routing layer, and ensures that the upper limit of data concurrency forwarded from the routing layer to the consensus sub-network will not be too large, which can avoid excessive concurrency leading to exhaustion of consensus sub-network resources or network failure, which will affect The operation of the entire blockchain network.
  • the second threshold ensures that the upper limit of the concurrency that a single business node can initiate to the routing layer will not be too large, which can prevent a single business node from failing or doing evil, and exhausting the service resources of the routing layer by establishing a large number of long connections, leading to other business nodes Inaccessible.
  • the third threshold guarantees the upper limit of the persistent connection behavior of a specific identity, which can prevent malicious institutions or units from using their identity certificates to establish a large number of business nodes to provide concurrency, and ultimately occupy too many service resources of the routing layer; and, first
  • the three-threshold value can also facilitate the routing node to record the organization or unit corresponding to the identity with an excessively high number of connections, so that it can be punished accordingly.
  • the routing node counts that the total number of long connections initiated by all service nodes exceeds the first threshold, or when the number of long connections initiated by the same service node exceeds the second threshold, or when the service nodes holding the same identity certificate initiate long connections
  • the behavior of service nodes initiating long connections is restricted. Restricting the long connection behavior initiated by the business node is mainly to refuse to respond to the corresponding data processing request, or to add the data processing request to the cache queue, and to give priority to processing the unfinished data processing request.
  • the above method further includes the step of restricting the data traffic processed by the routing node, which specifically includes:
  • S602 Obtain a rate limit condition of the routing node, where the rate limit condition is used to limit the processing rate of processing the data processing request;
  • step S610 When the number of data processing requests from the same identity certificate currently processed by the routing node is greater than the sixth threshold configured in the rate limit condition, step S610 is executed.
  • S610 Limit the data processing request forwarded to the consensus sub-network.
  • the routing node also controls the sending rate of data processing requests to ensure the security of the consensus sub-network and prevent excessive network traffic in the entire routing layer, or the consensus node needs to spend too much resources to process the routing node
  • the sent data processing request or sent data also stores a rate limit condition to limit the rate at which the routing node processes data processing requests, thereby ensuring the upper limit of the data flow in the entire blockchain network.
  • the rate limit conditions are the parameters set in advance, including the fourth threshold corresponding to the number of data processing requests currently processed by the routing layer as a whole, and the fifth threshold corresponding to the number of data processing requests currently processed by the same routing node. It also includes the sixth threshold corresponding to the number of data processing requests from the same identity certificate currently processed by the routing node.
  • the fourth threshold is used to limit the upper limit of how many data processing requests the entire routing layer can handle per second.
  • the fifth threshold is used to limit the upper limit of how many data processing requests can be processed by the same routing node per second.
  • the sixth threshold It is used to limit the upper limit of the data processing request from the same identity certificate that the routing node can process at most per second. Rate limiting conditions can effectively control the total number of data packets on the blockchain network.
  • Rate limits For example, for more important and lightweight data on-chain requests, you can set a larger rate limit to achieve better blockchain network performance. For requests with large amounts of data and not particularly high real-time requirements, such as requests for querying transaction information, the rate limit can be appropriately reduced to prevent excessive traffic on the entire blockchain network. And the fifth and sixth thresholds can control the data flow of a routing node, so as to ensure that the routing layer can treat each data processing request fairly, and avoid a routing node from occupying a large amount of resources and causing the blockchain network Issues where performance is degraded or requests cannot be responded to in a timely manner.
  • the data processing rate of the entire routing layer or a single routing node can be limited.
  • the above method further includes: when the data processing request belongs to any one of the specified requests, executing the step of performing identity verification on the business node according to the data processing request; when the data processing request does not belong to the specified request In any of the cases, the data processing request is restricted to be forwarded to the consensus sub-network; the specified request includes at least a data upload request, a block header acquisition request, a transaction information query request, and a consensus node basic information acquisition request.
  • the function of the business node to access the consensus sub-network is restricted.
  • each consensus node in the consensus sub-network has complete blockchain functions, but based on the need for confidentiality and security, these blockchain functions cannot be fully accessed by business nodes. Therefore, the routing node needs to check the type of data processing request to ensure that only some functions are opened.
  • the data processing request belongs to the data chain request, the block header acquisition request, the transaction information query request and the consensus node basic information acquisition request for probing, it will be forwarded to the consensus sub-network by the routing node, and not belong to the designated data processing
  • the requested request will be intercepted by the routing node, and access to the consensus sub-network is prohibited.
  • the routing nodes used to isolate the service sub-network and the consensus sub-network belong to the routing layer, and the routing layer includes a plurality of idempotent routing nodes. Idempotence means that external business nodes can initiate requests to any routing node in the routing layer multiple times, and the processing logic of each routing node is the same.
  • the routing layer includes multiple idempotent routing nodes, and each service node can choose to connect and communicate with one or more routing nodes, so the performance of the routing layer can be expanded as needed.
  • the data processing method of the blockchain network includes the following steps:
  • the routing node in the routing layer receives the data processing request sent by the service node in the service sub-network, and the data processing request is obtained by signing the private key of the service node.
  • the routing node obtains the public key corresponding to the private key of the service node.
  • S706 The routing node performs signature verification on the signed data processing request according to the public key; if the verification is successful, it is determined that the identity verification of the service node is passed.
  • the routing node determines a target consensus node for processing the data processing request according to the operating load.
  • the target consensus node When the data processing request is a data upload request, the target consensus node generates a hash value corresponding to the transaction information in the data upload request, and signs the hash value according to the private key of the target consensus node.
  • the target consensus node records the generated hash value and the signed hash value in the block header, and records the transaction information in the block body, and the block header and the block header constitute a data block.
  • S720 The routing node receives the block header returned by the target consensus node, and forwards the block header to the business node.
  • the business node obtains the public key corresponding to the private key of the target consensus node, and verifies the hash value of the signature according to the public key of the target consensus node. If the hash value of the recorded transaction information is consistent, it is determined that the data block is verified.
  • the business sub-network is separated from the consensus sub-network through the routing node. Only the routing node has the ability to directly access the consensus sub-network, so that external business nodes need to access the consensus node. The routing node needs to verify the identity of the business node that sends the data processing request to check the security of each data processing request.
  • the routing node Only when the identity verification is passed, the routing node obtains the operating load of each consensus node in the consensus sub-network, and according to After the operating load determines the target consensus node for processing the data processing request from the consensus sub-network, then the routing node forwards the data processing request sent by the external business node to the consensus sub-network, and then the consensus sub-network performs the data processing request Corresponding data processing avoids the possible danger of the consensus sub-network being attacked by external nodes at the network level, thereby ensuring the network security within the consensus sub-network, and can also forward data processing requests in a balanced manner to improve the consensus sub-network’s performance Processing performance.
  • FIG. 7 is a schematic flowchart of a data processing method in a blockchain network in an embodiment. It should be understood that although the various steps in the flowchart of FIG. 7 are displayed in sequence as indicated by the arrows, these steps are not necessarily performed in sequence in the order indicated by the arrows. Unless specifically stated in this article, there is no strict order for the execution of these steps, and these steps can be executed in other orders. Moreover, at least part of the steps in FIG. 7 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution of these sub-steps or stages The sequence is not necessarily performed sequentially, but may be performed alternately or alternately with at least a part of other steps or sub-steps or stages of other steps.
  • each business node in the business sub-network accesses each consensus node in the consensus sub-network through a routing node.
  • the functional modules included in each routing node include a network flow/rate limit module, which is used to control the entire blockchain network.
  • the network traffic and the number of data packets in also includes a block chain function restriction module used to restrict external business nodes from accessing part of the consensus sub-network function, and an identity verification module that authenticates each external business node that initiates the request.
  • the address registration module also includes a business function distribution module for distributing different types of business requests, an insert transaction module for forwarding insert transaction requests, a request block module for forwarding request data blocks, and a forwarding address registration request
  • the address registration module also includes a load balance distribution module that controls the ability of each consensus node to process requests in a balanced manner. It also includes a consensus node state maintenance module that is used to maintain whether the consensus node is currently available. It also includes a consensus node state maintenance module that is used to receive log data returned by the consensus node. The return packet inspection module and the log and error alarm module for subsequent analysis.
  • a data processing device 900 in a blockchain network is provided, which is applied to routing nodes in the blockchain network.
  • the blockchain network includes a business sub-network and a consensus sub-network.
  • the routing node used to isolate the business sub-network and the consensus sub-network the device includes a receiving module 902, a verification module 904, an obtaining module 906, a determining module 908, and a forwarding module 910, wherein:
  • the receiving module 902 is configured to receive a data processing request sent by a service node in the service sub-network;
  • the verification module 904 is configured to perform identity verification on the business node according to the data processing request
  • the obtaining module 906 is configured to obtain the operating load of each consensus node in the consensus sub-network when the verification is passed;
  • the determining module 908 is configured to determine a target consensus node for processing the data processing request from the consensus sub-network according to the operating load;
  • the forwarding module 910 is configured to forward the data processing request to the target consensus node, and perform corresponding data processing on the data processing request through the target consensus node.
  • the data processing request is signed by the private key of the business node
  • the verification module 904 is also used to obtain the public key corresponding to the private key of the business node; and verify the signature of the signed data processing request according to the public key; If the verification is successful, it is determined that the identity verification of the service node is passed.
  • the data processing request is a data upload request
  • the data upload request forwarded by the forwarding module 910 is used to instruct the target consensus node in the consensus sub-network to generate a hash value corresponding to the transaction information in the data upload request, according to
  • the private key of the consensus node signs the hash value; the generated hash value and the signed hash value are recorded in the block header, and the transaction information is recorded in the block body.
  • the block header and the block header constitute the data block, and pass
  • the consensus sub-network carries out a consensus on the data block, and after the consensus is passed, the data block is recorded to the blockchain in the consensus sub-network.
  • the above-mentioned device further includes a block header forwarding module for receiving the block header returned by the consensus node, and forwarding the block header to the business node, so that the business node obtains the public key corresponding to the private key of the consensus node, The hash value of the signature is verified according to the public key of the consensus node. If the verification is passed and the hash value obtained by the verification is consistent with the hash value of the transaction information recorded in the block header, it is determined that the data block is verified.
  • the data processing request is a transaction information query request
  • the transaction information query request forwarded by the forwarding module 910 is used to instruct the target consensus node in the consensus sub-network to obtain the data authority of the business node; the consensus node determines the business according to the data authority Whether the node is a business node associated with the transaction information in the data block; the forwarding module 910 is also used to receive the transaction information returned by the consensus node when it determines that the business node is a business node associated with the transaction information in the data block, and Forward the transaction information to the business node.
  • the forwarding module 910 is also used to obtain the operating load of each consensus node in the consensus sub-network; determine the target consensus node for processing the data processing request according to the operating load; and forward the data processing request to the target consensus node.
  • the above-mentioned device is applied to the routing node in the routing layer, and the above-mentioned device further includes a persistent connection restriction module, which is used to obtain the persistent connection restriction condition of the routing node, and the persistent connection restriction condition is used to initiate the business node to the routing node.
  • the number of persistent connections is limited; when the total number of persistent connections initiated by the business node to the routing node exceeds the first threshold configured in the persistent connection restriction condition, or when the number of persistent connections initiated by the same business node to the routing node exceeds the persistent connection restriction condition
  • the second threshold configured in or when the number of long connections initiated by the service node with the same identity certificate to the routing node exceeds the third threshold, the behavior of the service node initiating long connections is restricted.
  • the above-mentioned device is applied to a routing node in the routing layer, and the above-mentioned device further includes a rate limiting module for obtaining the rate limiting condition of the routing node, and the rate limiting condition is used to limit the processing rate of processing data processing requests;
  • the rate limiting condition is used to limit the processing rate of processing data processing requests;
  • the above-mentioned device further includes a block chain function restriction module, which is used when the data processing request belongs to any one of a request including a data upload request, a block header obtaining request, a transaction information query request, and a consensus node basic information obtaining request.
  • the verification module is triggered to perform the step of performing identity verification on the business node according to the data processing request; when the data processing request does not belong to any of the specified requests, the data processing request is restricted from being forwarded to the consensus sub-network.
  • the routing nodes used to isolate the service sub-network and the consensus sub-network belong to the routing layer, and the routing layer includes a plurality of idempotent routing nodes.
  • the data processing device in the above-mentioned blockchain network isolates the business sub-network from the consensus sub-network through routing nodes. Only the routing node has the ability to directly access the consensus sub-network, so that external business nodes need to access the consensus node. The routing node needs to verify the identity of the business node that sends the data processing request to check the security of each data processing request.
  • the routing node Only when the identity verification is passed, the routing node obtains the operating load of each consensus node in the consensus sub-network, and according to After the operating load determines the target consensus node for processing the data processing request from the consensus sub-network, then the routing node forwards the data processing request sent by the external business node to the consensus sub-network, and then the consensus sub-network performs the data processing request Corresponding data processing avoids the possible danger of the consensus sub-network being attacked by external nodes at the network level, thereby ensuring the network security within the consensus sub-network, and can also forward data processing requests in a balanced manner to improve the consensus sub-network’s performance Processing performance.
  • Fig. 10 shows an internal structure diagram of a computer device in an embodiment.
  • the computer device may specifically be the routing node 122 in FIG. 1.
  • the computer equipment includes the computer equipment including a processor, a memory, and a network interface connected through a system bus.
  • the memory includes a non-volatile storage medium and internal memory.
  • the non-volatile storage medium of the computer device stores an operating system, and may also store computer-readable instructions.
  • the processor can enable the processor to implement the data processing method in the blockchain network.
  • the internal memory may also store computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor can execute the data processing method in the blockchain network.
  • FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied.
  • the specific computer device may Including more or fewer parts than shown in the figure, or combining some parts, or having a different arrangement of parts.
  • the data processing device in the blockchain network provided by the present application can be implemented in a form of computer-readable instructions, and the computer-readable instructions can run on the computer device as shown in FIG. 10.
  • the memory of the computer device can store various program modules that make up the data processing device in the blockchain network, for example, the receiving module 902, the verification module 904, the acquisition module 906, the determination module 908, and the forwarding module 910 shown in FIG. 9.
  • the computer-readable instructions formed by each program module cause the processor to execute the steps in the data processing method in the blockchain network of each embodiment of the present application described in this specification.
  • the computer device shown in FIG. 10 may execute step S402 through the receiving module 902 in the data processing apparatus in the blockchain network shown in FIG. 9.
  • the computer device can execute step S404 through the verification module 904.
  • the computer device may execute step S406 through the obtaining module 906.
  • the computer device can execute step S408 through the determining module 908.
  • the computer device may execute step S410 through the forwarding module 910.
  • a computer device including a memory and a processor, the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes the data processing in the above-mentioned blockchain network.
  • the steps of the data processing method in the blockchain network may be the steps in the data processing method in the blockchain network of each of the above embodiments.
  • a computer-readable storage medium which stores computer-readable instructions.
  • the processor executes the steps of the data processing method in the blockchain network.
  • the steps of the data processing method in the blockchain network may be the steps in the data processing method in the blockchain network of each of the above embodiments.
  • a computer program product or computer readable instruction includes a computer readable instruction, and the computer readable instruction is stored in a computer readable storage medium.
  • the processor of the computer device reads the computer-readable instruction from the computer-readable storage medium, and the processor executes the computer-readable instruction, so that the computer device executes the steps in the foregoing method embodiments.
  • Non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Channel (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种区块链网络中的数据处理方法,区块链网络包括业务子网络、共识子网络和用于隔离业务子网络与所述共识子网络的路由层,所述方法包括:接收业务子网络中的业务节点发送的数据处理请求;根据数据处理请求,对业务节点进行身份验证;当验证通过时,获取共识子网络中各共识节点的运行负载;根据运行负载,从共识子网络中确定用于处理数据处理请求的目标共识节点;将数据处理请求转发至目标共识节点,并通过目标共识节点对数据处理请求进行相应的数据处理。

Description

区块链网络中的数据处理方法、装置、存储介质和计算机设备
本申请要求于2019年09月12日提交中国专利局,申请号为201910866452.0,申请名称为“区块链网络中的数据处理方法、装置、存储介质和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别是涉及一种区块链网络中的数据处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
有别于公有链的大众参与,区块链网络中的信息往往具有“联盟内公开,对外保密”的特点,但是由于传统的区块链网络通常不受到算力证明的保护,更容易受到能够接入区块链网络的外部节点的攻击,尤其当区块链网络应用于一些保密数据的处理场景时,更需要保护区块链网络的安全和处理性能,避免区块链网络在网络层面遭到网络攻击而可能存在的危险。
发明内容
一种区块链网络中的数据处理方法,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的所述路由层,所述方法由计算机设备执行,所述方法包括:
接收所述业务子网络中的业务节点发送的数据处理请求;
根据所述数据处理请求,对所述业务节点进行身份验证;
当验证通过时,获取所述共识子网络中各共识节点的运行负载;
根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
一种区块链网络中的数据处理装置,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的所述路由节点,所述装置包括:
接收模块,用于接收所述业务子网络中的业务节点发送的数据处理请求;
验证模块,用于根据所述数据处理请求,对所述业务节点进行身份验证;
获取模块,用于当验证通过时,获取所述共识子网络中各共识节点的运行负载;
确定模块,用于根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
转发模块,用于将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
接收所述业务子网络中的业务节点发送的数据处理请求;
根据所述数据处理请求,对所述业务节点进行身份验证;
当验证通过时,获取所述共识子网络中各共识节点的运行负载;
根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
一种计算机设备,包括存储器和一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得一个或多个处理器执行以下步骤:
接收所述业务子网络中的业务节点发送的数据处理请求;
根据所述数据处理请求,对所述业务节点进行身份验证;
当验证通过时,获取所述共识子网络中各共识节点的运行负载;
根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中区块链网络中的数据处理方法的应用环境图;
图2为一个实施例中区块链网络的架构示意图;
图3为一个具体的实施例中区块链网络应用于电子票据场景的架构示意图;
图4为一个实施例中区块链网络中的数据处理方法的流程示意图;
图5为一个实施例中对业务节点发起的长连接行为进行限制的流程示意图;
图6为一个实施例中对路由节点处理的数据流量进行限制的流程示意图;
图7为一个具体的实施例中区块链网络中的数据处理方法的流程示意图;
图8为一个实施例中区块链网络的功能模块示意图;
图9为一个实施例中区块链网络的数据处理装置的结构框图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及 实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中区块链网络中的数据处理方法的应用环境图。参照图1,区块链网络中的数据处理方法应用于区块链网络100。区块链网络包括对区块链上的数据区块进行记录和查询的相关节点构成的网络,区块链网络中的每个节点即为区块链节点,是能够对数据区块进行查询或记录的计算机设备。如图1所示,该区块链网络100包括业务子网络110、路由层120和共识子网络130。业务子网络110中的业务节点112和路由层120中的路由节点122通过网络连接。路由节点122和共识子网络130中的共识节点132通过网络连接。因此业务子网络110与共识子网络130之间需要通过路由节点122通信。
业务节点112具体可以是产生交易信息的业务方所使用的台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。路由节点122可以用独立的服务器或者是多个服务器组成的服务器集群来实现。共识子网络130中的共识节点132可以将业务节点产生的交易信息记录至区块链上,共识节点132可以用独立的服务器或者是多个服务器组成的服务器集群来实现,在区块链网络应用于处理电子票据数据的应用场景中时,共识子网络中的共识节点通常是由监管机构授权设置的。
如图2所示,为一个实施例中区块链网络的架构示意图。参照图2,区块链网络200包括业务子网络210、路由层220和共识子网络230。业务子网络210包括对共识节点记录到区块链上的数据区块进行验证的业务节点211,共识子网络230包括将数据区块记录至区块链上的共识节点231。业务子网络210与共识子网络230之间通过路由层220连接,路由层220中的路由节点221可以向共识节点231传递业务节点211发送的数据处理请求,路由节点221还可以向业务节点211转发从共识节点231获取的区块链上的交易信息。业务节点211部署在处于公网的业务子网络中,而运行区块链共识协议的共识节点231则部署在私有的共识子网络中,二者通过路由节点进行交互, 路由节点221起到对于业务子网络210和核心的共识子网络230之间的隔离作用。在业务子网络210中,每个业务节点之间是对等的,业务节点211可以将从路由节点221接收到的消息向周围的业务节点传递,使得该消息能够在业务子网络中的每个业务节点之间传播。
如图3所示为一个具体的实施例中区块链网络应用于电子票据场景的架构示意图。当上述的区块链网络应用于电子票据的场景时,区块链网络可以为电子票据的整个流转过程中产生的交易信息进行记录。参照图3,该区块链网络包括业务子网络32、路由层34和共识子网络36。
电子票据的流转过程包括电子票据的申领、电子票据的开具、电子票据的报销、电子票据的报税等过程,电子票据的开具也叫做电子票据的生成,由于整个电子票据的流转过程涉及到的角色包括监管机构、开票方、报销方和报税方,因此业务子网络32中包括为监管机构提供相关服务的监管机构专网321,还包括为开票方、报销方、报税方提供相关服务的公有云322,还包括为消费者提供电子票据保存服务的私有云323。监管机构专网321中包括电子票据所涉及的监管机构所使用的计算机设备,包括管理机构终端3211。公有云322中包括电子票据所涉及的开票方、报销费、报税方所使用的计算机设备,包括开票方终端3221、报销方终端3222和报税方终端3223,开票方可以是开票服务商,报销方可以是报销服务商,企业终端可以访问公有云。私有云323中包括电子票据所涉及的用户所使用的计算机设备,包括用于进行支付的支付终端3231,还包括用于临时为用户保存电子票据的电子票据流转终端3232,还包括一些企业的专用终端3233,消费者终端可以访问私有云。监管机构专网321、公有云322以及私有云323中的计算机设备均可以作为业务节点通过路由节点向共识子网络发送针对电子票据的数据上链请求或数据查询请求。
路由节点34中的任一路由节点包括提供认证服务341、证书缓存342、路由服务343和P2P服务344的功能模块。认证服务341用于对业务子网络中的业务节点进行身份验证,证书缓存342用于缓存各节点的身份证书,路 由服务343用于实现业务子网络与共识子网络之间的网络隔离,P2P服务用于在具备幂等性的路由节点之间分配任务。
共识子网络36包括多个子共识子网络360,每个子共识子网络360包括多个共识节点361,这多个共识节点361维护该子共识子网络360所对应的子区块链。比如,有的子区块链用于记录属于某个票据号段区间的电子票据相关的交易信息,有的子区块链用于记录冲红的电子票据相关的交易信息。在需要记录电子票据相关的数据时,可根据该交易信息的属性确定要记录至的子区块链,然后由维护该子区块链的子共识子网络来记录。共识节点361通常可以是各个地区的监管机构所使用的计算机设备。每个子共识子网络360中的共识节点361包括权限合约,权限合约存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件等等。共识节点361还包括高速缓存和数据区块,这些功能可以为交易信息的上链与查询提供支持。
如图4所示,在一个实施例中,提供了一种区块链网络中的数据处理方法。参照图1,本实施例以该方法应用于上述图1中区块链网络中的路由节点122来举例说明。该区块链网络包括业务子网络110、路由节点122和共识子网络130,业务子网络110包括用于产生交易信息的业务节点,共识子网络130包括用于将交易信息进行上链的共识节点,业务子网络还用于对共识节点记录至区块链上的数据区块进行验证。可选地,该方法是由图3中路由节点的路由服务提供的。参照图4,区块链网络中的数据处理方法具体包括如下步骤:
S402,接收业务子网络中的业务节点发送的数据处理请求。
在本实施例中,业务子网络中的业务节点需要通过路由节点向共识子网络中的共识节点转发数据处理请求,数据处理请求包括数据上链请求、数据查询请求等等。在电子票据的应用场景中,数据处理请求包括票据申领请求、票据开具请求、票据报销请求、票据报税请求及票据信息查询请求,等等。
为了保证区块链网络的安全,区块链网络中用于将交易信息上链的共识节点以及用于对数据区块进行验证、查询交易信息的业务节点都需要对交互 过程中的请求或数据进行签名,而签名所用到的公私钥是在注册时由监管机构发放的。
在一个实施例中,业务节点是申领空白电子票据的企业终端,数据处理请求为票据申领请求。票据申领请求携带申领方标识,在申领电子票据时,企业终端可通过私钥对申领请求进行签名,将签名后的申领请求发送至路由节点,路由节点可以对签名的票据申领请求进行验签,并将通过验证后的申领请求转发至共识子网络。
在一个实施例中,业务节点是开具电子票据的开票终端,数据处理请求为票据开具请求,开票终端可获取携带开票方标识、电子票据标识、票据金额和报税方标识的票据开具信息,然后将对票据开具信息进行签名后得到的票据开具请求发送至路由节点,由路由节点对签名的票据开具请求进行身份验证,认证通过后将票据开具请求转发至共识子网络,由共识子网络响应该票据开具请求后将所开具的电子票据相关的信息记录至区块链上。
在一个实施例中,业务节点是报销电子票据的报销终端,数据处理请求为票据报销请求,票据报销终端可以获取携带报销方标识、票据标识和票据信息的票据报销信息,采用注册时发放的私钥对票据报销信息进行签名得到票据报销请求,将票据报销请求转发至路由节点。
在一个实施例中,业务节点是对电子票据进行报税的报税终端。数据处理请求为电子票据报税请求,报税终端可以查询与报税方标识对应的电子票据和报税参数,确定本次要进行报税的电子票据标识,据此生成票据报税信息,报税终端采用注册时发放的私钥对票据报税信息进行签名得到票据报税请求,将票据报税请求转发至路由节点。
在共识子网络完成对票据申领请求、票据开具请求、票据报销请求和票据报税请求的响应后,会将完成申领、开具、报销和报税的相关交易信息记录至区块链中,并将相应的区块头返回至发起请求的业务节点,业务节点可以对区块头中的摘要信息进行验证,从而对共识子网络记录至区块链网络上的交易信息进行监督。进一步地,业务节点可以发起针对与该区块头相应的 区块体重的交易信息的数据查询请求,数据查询请求可采用业务节点的私钥进行签名,业务节点将签名后的数据查询请求发送至路由节点,路由节点获取与该业务节点的公钥,对数据查询请求进行验证,若验证成功,则判定业务节点通过身份验证,路由节点可将数据查询请求发送至共识子网络中的相应共识节点,以便共识节点根据发起数据查询请求的业务节点的权限数据,向路由节点返回相应的交易信息,以便路由节点将该交易信息转发至业务节点。
S404,根据数据处理请求,对业务节点进行身份验证。
如前文所提及的,各个业务节点在注册时都需要获取能够标识其合法身份的公私钥对或是身份证书,以在网络交互过程中对数据进行签名,从而保证数据的合法性和安全性。官方机构在为业务节点或共识节点发放公私钥对时,还会将相应的公钥或是包括公钥的身份证书发送至路由节点,由路由节点保存。具体地,业务节点会采用公私钥对中的私钥对数据处理请求进行签名后再发送至路由节点,路由节点接收到签名的数据处理请求后,获取业务节点的公钥或身份证书中的公钥,利用获取的公钥对数据处理请求进行签名验证,从而实现对业务节点的身份验证,也实现了对数据处理请求的合法性进行认证。也就是说,对业务节点的身份验证不需要通过共识子网络来执行,而是由路由节点来进行,这样即便业务节点的数量较大,也可以保证共识子网络的安全性。
在一个实施例中,数据处理请求通过业务节点的私钥签名得到,根据数据处理请求,对业务节点进行身份验证,包括:获取与业务节点的私钥对应的公钥;根据公钥对已签名的数据处理请求进行签名验证;若验证成功,则判定对业务节点的身份验证通过。
具体地,路由节点采用业务节点的公钥对签名的数据处理请求进行解密,得到数据处理请求所对应的哈希值,并按照业务节点签名时所采用的相同的算法计算数据处理请求所对应的哈希值,若解密得到的哈希值与计算得到的哈希值一致,则验证成功,判定业务节点的身份验证通过,路由节点就可以 将数据处理请求转发至共识子网络中的共识节点,以便共识节点响应于该数据处理请求进行相应的数据处理。
S406,当验证通过时,获取共识子网络中各共识节点的运行负载。
从前面介绍的共识子网络可以看出,共识子网络包括多个共识节点,这些共识节点具备幂等性,任何一个数据处理请求向共识子网络中的任意一个共识节点发送并无差别。但是由于网络流量的波动和失衡可能引起共识子网络对数据处理请求的处理性能不足,从而降低整体区块链网络的服务性能,为此,通过在路由节点上配置请求分发策略,根据各个共识节点的负载能力,均衡地向不同的共识节点转发数据处理请求。
运行负载表示当前共识子网络中各共识节点的处理任务量,运行负载可以用共识节点当前待处理的数据处理请求的数量来表示。具体地,各个共识节点可以定期主动上报当前的运行负载,也可以由路由节点从各个共识节点获取运行负载。
S408,根据运行负载,从共识子网络中确定用于处理数据处理请求的目标共识节点。
具体地,路由节点可以根据各共识节点的运行负载,从各共识节点中确定一个运行负载相对较少的目标共识节点,并将数据处理请求转发至确定的目标共识节点,由目标共识节点来进行相应的数据处理,这样,即便业务节点发起的数据处理请求数量较多,也能均衡地分配至共识子网络中的各共识节点,保障区块链网络的服务性能。
S410,将数据处理请求转发至目标共识节点,并通过目标共识节点对数据处理请求进行相应的数据处理。
由于共识子网络中包含了全量数据,包括保密数据和敏感数据,因此,外部的业务节点都需要通过路由节点来访问共识子网络,以便于从网络层面上将外部节点与共识子网络隔离开,避免遭受到外部节点的恶意攻击。
路由节点在对业务节点的身份验证通过后,才将数据处理请求转发至共识子网络,共识子网络就可以对数据处理请求进行相应的数据处理。路由节 点可以根据数据处理请求的类型,将数据处理请求发送至与该类型对应的子共识子网络。路由节点还可以实时获取共识子网络中各个共识节点的运行负载,将数据处理请求均衡地分发至共识子网络中的共识节点。
在一个实施例中,数据处理请求为数据上链请求,通过目标共识节点对数据处理请求进行相应的数据处理,包括:通过共识子网络中的共识节点生成数据上链请求中交易信息对应的哈希值,根据共识节点的私钥对哈希值进行签名;通过共识节点将生成的哈希值、签名的哈希值记录至区块头,将交易信息记录至区块体,区块头和区块头构成数据区块;通过共识子网络对数据区块进行共识,在共识通过后,将数据区块记录至共识子网络中的区块链。
具体地,数据区块是由区块头和区块体构成的,当数据处理请求为数据上链请求时,共识节点可以先根据数据上链请求中的交易信息生成相应的哈希值,然后共识节点根据发放的私钥对哈希值进行签名,并将生成的哈希值、签名的哈希值记录至区块头,当然为了保证区块链上每一数据区块中记录的数据的不可篡改性,还可以将上一个最新的数据区块的哈希值存放到当前的区块头中。共识节点将交易信息记录至数据区块的区块体。最后,共识节点将得到的数据区块在与本次的交易信息相关的共识子网络(可以是某一个子共识子网络)之间进行共识,并在共识通过后将数据区块记录至共识子网络中的区块链上。
在一个实施例中,方法还包括:接收共识节点返回的区块头,并将区块头转发至业务节点;通过业务节点获取与共识节点的私钥对应的公钥,根据共识节点的公钥对签名的哈希值进行验签,若验证通过、且验签得到的哈希值与区块头中记录的交易信息的哈希值一致,则判定数据区块通过验证。
具体地,在共识子网络将数据上链请求中的交易信息上链后,还会将该数据区块的区块头通过路由节点返回至业务节点。业务节点在对区块头进行验证通过后,可以保存该区块头,以防止共识子网络集体欺诈或篡改数据,从而实现对共识子网络的监督。在共识节点注册时,官方机构同样也会为共识节点发放公私钥对,并将该公私钥对中的公钥或包括该公钥的身份证书发 送至业务节点。因此,业务节点可以获取共识节点的公钥,利用共识节点的公钥对返回的区块头中签名进行验证,验证通过则得到解密后的交易信息的哈希值,若解密得到的哈希值与区块头中记录的交易信息的哈希值一致,则说明该区块头所对应的数据区块通过了验证。
在一个实施例中,数据处理请求为交易信息查询请求,通过目标共识节点对数据处理请求进行相应的数据处理,包括:通过共识子网络中的共识节点获取业务节点的数据权限;通过共识节点根据数据权限确定业务节点是否为与数据区块中的交易信息关联的业务节点;方法还包括:接收共识节点在确定业务节点为与数据区块中的交易信息关联的业务节点时所返回的交易信息,并将交易信息转发至业务节点。
具体地,业务节点接收到路由节点转发的区块头之后,业务节点还可以从共识子网络获取对应的区块体,以查询区块体中记录的交易信息。共识节点中存储了权限合约,在共识节点接收到路由节点转发的交易信息查询请求时,可以根据权限合约确定业务节点的数据权限,并根据该数据权限确定发起交易信息查询请求的业务节点是否为与区块体中记录的交易信息关联的业务节点,若是,则共识节点将区块体中记录的交易信息通过路由节点发送至业务节点。
上述区块链网络中的数据处理方法,通过路由节点将业务子网络与共识子网络隔离开,只有路由节点具备直接访问共识子网络的能力,这样外部的业务节点在需要访问共识节点时,都需要通过路由节点来验证发送数据处理请求的业务节点的身份,以检查每个数据处理请求的安全性,只有在身份验证通过时,路由节点获取共识子网络中各共识节点的运行负载,并根据运行负载从共识子网络中确定用于处理数据处理请求的目标共识节点之后,然后路由节点才将外部的业务节点发送的数据处理请求转发至共识子网络,然后共识子网络才对数据处理请求进行相应的数据处理,避免了共识子网络在网络层面遭到外部节点的网络攻击而可能存在的危险,从而保证共识子网络内部的网络安全,还可以均衡地转发数据处理请求,提升共识子网络的处理性 能。
在一个实施例中,如图5所示,上述方法还包括对业务节点发起的长连接行为进行限制的步骤,具体包括:
S502,获取路由节点的长连接限制条件,长连接限制条件用于对业务节点向路由节点发起长连接的数量进行限制。
S504,当业务节点向路由节点发起长连接的总数量超过长连接限制条件中配置的第一阈值时;或者
S506,当同一业务节点向路由节点发起长连接的数量超过长连接限制条件中配置的第二阈值时;或者
S508,当持有相同身份证书的业务节点向路由节点发起长连接的数量超过第三阈值时,则执行步骤S510。
S510,对业务节点发起长连接的行为进行限制。
本实施例中,路由节点还会对业务节点访问共识子网络的流量进行限制,保证区块链网络的流量平衡和性能安全,避免共识子网络遭受到外部业务节点的恶意攻击。路由节点属于路由层,路由层中包括多个具备幂等性的路由节点,外部的业务节点可以向其中的任何一个路由节点发送数据处理请求,是无差别的。路由节点中存储有长连接限制条件,以对路由节点接收到长连接的次数进行限制,从而保证外部节点到共识子网络中并发度的上限。
长连接限制条件是提前设置好的长连接配置参数,包括当前多个业务节点向路由节点发送的长连接的总数量所对应的第一阈值,还包括同一业务节点向路由节点发起长连接的数量所对应的第二阈值,还包括持有相同身份证书的业务节点向路由节点发起长连接的数量所对应的第三阈值。第一阈值限制了整个路由层接收长连接的次数,保证从路由层转发至共识子网络的数据并发上限不会过大,可以避免过度的并发度导致共识子网络资源耗尽或网络瘫痪,影响整个区块链网络的运行。第二阈值保证了单个业务节点能够向路由层发起的并发度上限不会过大,可以避免单个业务节点故障或者作恶,通 过建立大量的长连接而耗尽路由层的服务资源,导致其它业务节点无法访问。第三阈值保证了一个具体身份的长连接行为的上限,可以防止恶意机构或单位利用自己的身份证书设立大量的业务节点以提供并发度,最终占用过多的路由层的服务资源;并且,第三阈值还可以便于路由节点对连接数过高的身份所对应的机构或单位进行记录,从而对其进行相应的惩罚。
因此,当路由节点统计到所有业务节点发起长连接的总数量超过第一阈值时,或者当同一业务节点发起长连接的数量超过第二阈值时,或者当持有相同身份证书的业务节点发起长连接的数量超过第三阈值时,则对业务节点发起长连接的行为进行限制。对业务节点发起的长连接行为进行限制主要是拒绝响应相应的数据处理请求,或者是将数据处理请求添加至缓存队列中,优先处理未完成的数据处理请求。
在一个实施例中,如图6所示,上述方法还包括对路由节点处理的数据流量进行限制的步骤,具体包括:
S602,获取路由节点的速率限制条件,速率限制条件用于限制处理数据处理请求的处理速率;
S604,当路由节点当前处理的数据处理请求的数量大于速率限制条件中配置的第四阈值时;或者
S606,当同一路由节点当前处理的数据处理请求的数量大于速率限制条件中配置的第五阈值时;或者
S608,当路由节点当前处理的来自同一身份证书的数据处理请求的数量大于速率限制条件中配置的第六阈值时,则执行步骤S610。
S610,对转发至共识子网络的数据处理请求进行限制。
本实施例中,路由节点还会对数据处理请求发送的速率进行控制,以保证共识子网络的安全,防止整个路由层中的网络流量过大,或者共识节点需要花费过多的资源处理路由节点发送的数据处理请求或是发送数据。路由节点中还存储有速率限制条件,以对路由节点处理数据处理请求的速率进行限制,从而保证整个区块链网络中的数据流量的上限。
速率限制条件是提前设置好的参数,包括路由层整体当前处理的数据处理请求的数量所对应的第四阈值,还包括当同一路由节点当前处理的数据处理请求的数量所对应的第五阈值,还包括路由节点当前处理的来自同一身份证书的数据处理请求的数量所对应的第六阈值。第四阈值用于限制整个路由层每秒最多处理多少个数据处理请求的上限值,第五阈值用于限制同一个路由节点每秒最多处理多个数据处理请求的上限值,第六阈值用于限制路由节点每秒最多处理来自于同一身份证书的数据处理请求的上限值。速率限制条件可以有效地控制区块链网络上数据包的总数量。不同的功能或类型的数据处理请求可以设置不同的速率限制,比如对于较为重要而轻量级的数据上链请求,可以设置更大的限制速率,以实现更好的区块链网络性能,而对于数据量较大而实时性要求不是特别高的请求比如查询交易信息的请求,则可以适当降低速率限制,防止整个区块链网络流量过大。并且第五阈值和第六阈值可以对当个路由节点的数据流量进行控制,从而保证路由层能够较为公平的对待每一个数据处理请求,避免某一个路由节点占用大量的资源而导致区块链网络性能下降或请求不能得到及时响应的问题。
因此,当路由层整体当前处理的数据处理请求的数量大于第四阈值时;或者同一路由节点当前处理的数据处理请求的数量大于第五阈值时;或者路由节点当前处理的来自同一身份证书的数据处理请求的数量大于第六阈值时,可以对整个路由层或单个的路由节点的数据处理速率进行限制。
在一个实施例中,上述方法还包括:当数据处理请求属于指定请求中的任意一种时,则执行根据数据处理请求,对业务节点进行身份验证的步骤;当数据处理请求不属于指定请求中的任意一种时,则限制将数据处理请求转发至共识子网络;指定请求至少包括数据上链请求、区块头获取请求、交易信息查询请求和共识节点基础信息获取请求。
在本实施例中,对业务节点访问共识子网络的功能进行限制。共识子网络中的每个共识节点作为区块链节点,具备完整的区块链功能,但是基于保密和安全的需要,这些区块链功能并不能完全被业务节点访问。因此,路由 节点需要对检验数据处理请求的类型,以保证只开放部分功能。当数据处理请求属于数据上链请求、区块头获取请求、交易信息查询请求和用于探活的共识节点基础信息获取请求时,才会被路由节点转发至共识子网络,而不属于指定数据处理请求的请求将会被路由节点拦截,禁止访问共识子网络。
在一个实施例中,用于隔离业务子网络与共识子网络的路由节点属于路由层,路由层包括多个具有幂等性的路由节点。幂等性是指外部业务节点可以多次向路由层中的任意一个路由节点发起请求,每个路由节点的处理逻辑是一样的。在本实施例中,路由层中包括多个具备幂等性的路由节点,每个业务节点均可以选择与一个或多个路由节点进行连接与通信,因此路由层的性能可以按需扩展。
如图7所示,在一个具体的实施例中,区块链网络的数据处理方法包括以下步骤:
S702,路由层中的路由节点接收业务子网络中的业务节点发送的数据处理请求,数据处理请求通过业务节点的私钥签名得到。
S704,路由节点获取与业务节点的私钥对应的公钥。
S706,路由节点根据公钥对已签名的数据处理请求进行签名验证;若验证成功,则判定对业务节点的身份验证通过。
S708,当验证通过时,路由节点获取共识子网络中各共识节点的运行负载。
S710,路由节点根据运行负载,确定用于处理数据处理请求的目标共识节点。
S712,在满足长连接限制条件和速率限制条件的前提下,路由节点将数据处理请求转发至目标共识节点。
S714,当数据处理请求为数据上链请求时,目标共识节点生成数据上链请求中交易信息对应的哈希值,根据目标共识节点的私钥对哈希值进行签名。
S716,目标共识节点将生成的哈希值、签名的哈希值记录至区块头,将交易信息记录至区块体,区块头和区块头构成数据区块。
S718,通过共识子网络中的各共识节点对数据区块进行共识,在共识通过后,目标共识节点将数据区块记录至共识子网络中的区块链。
S720,路由节点接收目标共识节点返回的区块头,并将区块头转发至业务节点。
S722,业务节点获取与目标共识节点的私钥对应的公钥,根据目标共识节点的公钥对签名的哈希值进行验签,若验证通过、且验签得到的哈希值与区块头中记录的交易信息的哈希值一致,则判定数据区块通过验证。
S724,当数据处理请求为交易信息查询请求时,通过共识子网络中的目标共识节点获取业务节点的数据权限。
S726,当目标共识节点根据数据权限确定业务节点为与数据区块中的交易信息关联的业务节点时,向路由节点返回数据区块中的交易信息,并通过路由节点将交易信息转发至业务节点。
上述区块链网络中的数据处理方法,通过路由节点将业务子网络与共识子网络隔离开,只有路由节点具备直接访问共识子网络的能力,这样外部的业务节点在需要访问共识节点时,都需要通过路由节点来验证发送数据处理请求的业务节点的身份,以检查每个数据处理请求的安全性,只有在身份验证通过时,路由节点获取共识子网络中各共识节点的运行负载,并根据运行负载从共识子网络中确定用于处理数据处理请求的目标共识节点之后,然后路由节点才将外部的业务节点发送的数据处理请求转发至共识子网络,然后共识子网络才对数据处理请求进行相应的数据处理,避免了共识子网络在网络层面遭到外部节点的网络攻击而可能存在的危险,从而保证共识子网络内部的网络安全,还可以均衡地转发数据处理请求,提升共识子网络的处理性能。
图7为一个实施例中区块链网络中的数据处理方法的流程示意图。应该理解的是,虽然图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执 行。而且,图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图8所示,为一个具体的实施例中区块链网络的功能模块示意图。参照图8,业务子网络中的各个业务节点通过路由节点访问共识子网络中的各个共识节点,每个路由节点所包括的功能模块包括网络流量/速率限制模块,用于控制整个区块链网络中的网络流量和数据包数量,还包括用于限制外部业务节点访问共识子网络部分功能的区块链功能限制模块,还包括对发起请求的每个外部业务节点进行身份验证的身份验证模块,还包括用于对不同类型的业务请求进行分发的业务功能分发模块,还包括用于转发插入交易请求的插入交易模块、用于转发请求数据区块的请求区块模块、用于转发地址注册请求的地址注册模块,还包括控制各个共识节点能够均衡地处理请求的负载均衡分发模块,还包括用于维护共识节点目前是否可用的共识节点状态维护模块,还包括用于接收共识节点返回的日志数据后进行分析的回包检查模块和日志与错误告警模块。
在一个实施例中,如图9所示,提供了一种区块链网络中的数据处理装置900,应用于区块链网络中的路由节点,区块链网络包括业务子网络、共识子网络和用于隔离业务子网络与共识子网络的路由节点,装置包括接收模块902,验证模块904、获取模块906、确定模块908和转发模块910,其中:
接收模块902,用于接收业务子网络中的业务节点发送的数据处理请求;
验证模块904,用于根据数据处理请求,对业务节点进行身份验证;
获取模块906,用于当验证通过时,获取所述共识子网络中各共识节点的运行负载;
确定模块908,用于根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;
转发模块910,用于将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
在一个实施例中,数据处理请求通过业务节点的私钥签名得到,验证模块904还用于获取与业务节点的私钥对应的公钥;根据公钥对已签名的数据处理请求进行签名验证;若验证成功,则判定对业务节点的身份验证通过。
在一个实施例中,数据处理请求为数据上链请求,转发模块910转发的数据上链请求用于指示共识子网络中的目标共识节点生成数据上链请求中交易信息对应的哈希值,根据共识节点的私钥对哈希值进行签名;将生成的哈希值、签名的哈希值记录至区块头,将交易信息记录至区块体,区块头和区块头构成数据区块,并通过共识子网络对数据区块进行共识,在共识通过后,将数据区块记录至共识子网络中的区块链。
在一个实施例中,上述装置还包括区块头转发模块,用于接收共识节点返回的区块头,并将区块头转发至业务节点,以使业务节点获取与共识节点的私钥对应的公钥,根据共识节点的公钥对签名的哈希值进行验签,若验证通过、且验签得到的哈希值与区块头中记录的交易信息的哈希值一致,则判定数据区块通过验证。
在一个实施例中,数据处理请求为交易信息查询请求,转发模块910转发的交易信息查询请求用于指示共识子网络中的目标共识节点获取业务节点的数据权限;通过共识节点根据数据权限确定业务节点是否为与数据区块中的交易信息关联的业务节点;转发模块910还用于接收共识节点在确定业务节点为与数据区块中的交易信息关联的业务节点时所返回的交易信息,并将交易信息转发至业务节点。
在一个实施例中,转发模块910还用于获取共识子网络中各共识节点的运行负载;根据运行负载,确定用于处理数据处理请求的目标共识节点;将数据处理请求转发至目标共识节点。
在一个实施例中,上述装置应用于路由层中的路由节点,上述装置还包括长连接限制模块,用于获取路由节点的长连接限制条件,长连接限制条件 用于对业务节点向路由节点发起长连接的数量进行限制;当业务节点向路由节点发起长连接的总数量超过长连接限制条件中配置的第一阈值时,或者当同一业务节点向路由节点发起长连接的数量超过长连接限制条件中配置的第二阈值时,或者当持有相同身份证书的业务节点向路由节点发起长连接的数量超过第三阈值时,则对业务节点发起长连接的行为进行限制。
在一个实施例中,上述装置应用于路由层中的路由节点,上述装置还包括速率限制模块,用于获取路由节点的速率限制条件,速率限制条件用于限制处理数据处理请求的处理速率;当路由节点当前处理的数据处理请求的数量大于速率限制条件中配置的第四阈值时,或者当同一路由节点当前处理的数据处理请求的数量大于速率限制条件中配置的第五阈值时,或者当路由节点当前处理的来自同一身份证书的数据处理请求的数量大于速率限制条件中配置的第六阈值时,则对转发至共识子网络的数据处理请求进行限制。
在一个实施例中,上述装置还包括区块链功能限制模块,用于当数据处理请求属于包括数据上链请求、区块头获取请求、交易信息查询请求和共识节点基础信息获取请求中的任意一种时,则触发验证模块执行根据数据处理请求,对业务节点进行身份验证的步骤;当数据处理请求不属于指定请求中的任意一种时,则限制将数据处理请求转发至共识子网络。
在一个实施例中,用于隔离业务子网络与共识子网络的路由节点属于路由层,路由层包括多个具有幂等性的路由节点。
上述区块链网络中的数据处理装置,通过路由节点将业务子网络与共识子网络隔离开,只有路由节点具备直接访问共识子网络的能力,这样外部的业务节点在需要访问共识节点时,都需要通过路由节点来验证发送数据处理请求的业务节点的身份,以检查每个数据处理请求的安全性,只有在身份验证通过时,路由节点获取共识子网络中各共识节点的运行负载,并根据运行负载从共识子网络中确定用于处理数据处理请求的目标共识节点之后,然后路由节点才将外部的业务节点发送的数据处理请求转发至共识子网络,然后共识子网络才对数据处理请求进行相应的数据处理,避免了共识子网络在网 络层面遭到外部节点的网络攻击而可能存在的危险,从而保证共识子网络内部的网络安全,还可以均衡地转发数据处理请求,提升共识子网络的处理性能。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的路由节点122。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现区块链网络中的数据处理方法。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行区块链网络中的数据处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的区块链网络中的数据处理装置可以实现为一种计算机可读指令的形式,计算机可读指令可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该区块链网络中的数据处理装置的各个程序模块,比如,图9所示的接收模块902、验证模块904、获取模块906、确定模块908和转发模块910。各个程序模块构成的计算机可读指令使得处理器执行本说明书中描述的本申请各个实施例的区块链网络中的数据处理方法中的步骤。
例如,图10所示的计算机设备可以通过如图9所示的区块链网络中的数据处理装置中的接收模块902执行步骤S402。计算机设备可通过验证模块904执行步骤S404。计算机设备可通过获取模块906执行步骤S406。计算机设备 可通过确定模块908执行步骤S408。计算机设备可通过转发模块910执行步骤S410。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述区块链网络中的数据处理方法的步骤。此处区块链网络中的数据处理方法的步骤可以是上述各个实施例的区块链网络中的数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述区块链网络中的数据处理方法的步骤。此处区块链网络中的数据处理方法的步骤可以是上述各个实施例的区块链网络中的数据处理方法中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机可读指令,该计算机程序产品或计算机可读指令包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机可读指令,处理器执行该计算机可读指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线 动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种区块链网络中的数据处理方法,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述方法由计算机设备执行,所述方法包括:
    接收所述业务子网络中的业务节点发送的数据处理请求;
    根据所述数据处理请求,对所述业务节点进行身份验证;
    当验证通过时,获取所述共识子网络中各共识节点的运行负载;
    根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
    将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
  2. 根据权利要求1所述的方法,其特征在于,所述数据处理请求通过所述业务节点的私钥签名得到,所述根据所述数据处理请求,对所述业务节点进行身份验证包括:
    获取与所述业务节点的私钥对应的公钥;
    根据所述公钥对已签名的所述数据处理请求进行签名验证;及
    若验证成功,则判定对所述业务节点的身份验证通过。
  3. 根据权利要求1所述的方法,其特征在于,所述数据处理请求为数据上链请求,所述通过所述目标共识节点对所述数据处理请求进行相应的数据处理包括:
    通过所述共识子网络中的共识节点生成所述数据上链请求中交易信息对应的哈希值,根据所述共识节点的私钥对所述哈希值进行签名;
    通过所述共识节点将生成的所述哈希值、所述签名的哈希值记录至区块头,将所述交易信息记录至区块体,所述区块头和所述区块头构成数据区块;及
    通过所述共识子网络对所述数据区块进行共识,在共识通过后,将所述数据区块记录至所述共识子网络中的区块链。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    接收所述共识节点返回的区块头,并将所述区块头转发至所述业务节点;及
    通过所述业务节点获取与所述共识节点的私钥对应的公钥,根据所述共识节点的公钥对所述签名的哈希值进行验签,若验证通过、且验签得到的哈希值与所述区块头中记录的所述交易信息的哈希值一致,则判定所述数据区块通过验证。
  5. 根据权利要求1所述的方法,其特征在于,所述数据处理请求为交易信息查询请求,所述通过所述目标共识节点对所述数据处理请求进行相应的数据处理包括:
    通过所述共识子网络中的共识节点获取所述业务节点的数据权限;
    通过所述共识节点根据所述数据权限确定所述业务节点是否为与所述数据区块中的交易信息关联的业务节点;及
    所述方法还包括:
    接收所述共识节点在确定所述业务节点为与所述数据区块中的交易信息关联的业务节点时所返回的交易信息,并将所述交易信息转发至所述业务节点。
  6. 根据权利要求1所述的方法,其特征在于,所述方法由所述路由层中的路由节点执行,所述方法还包括:
    获取所述路由节点的长连接限制条件,所述长连接限制条件用于对所述业务节点向所述路由节点发起长连接的数量进行限制;
    当业务节点向所述路由节点发起长连接的总数量超过所述长连接限制条件中配置的第一阈值时,或者
    当同一业务节点向所述路由节点发起长连接的数量超过所述长连接限制条件中配置的第二阈值时,或者
    当持有相同身份证书的业务节点向所述路由节点发起长连接的数量超过第三阈值时,则
    对所述业务节点发起长连接的行为进行限制。
  7. 根据权利要求1所述的方法,其特征在于,所述方法由所述路由层中的路由节点执行,所述方法还包括:
    获取所述路由节点的速率限制条件,所述速率限制条件用于限制处理所述数据处理请求的处理速率;
    当所述路由节点当前处理的数据处理请求的数量大于所述速率限制条件中配置的第四阈值时,或者
    当同一路由节点当前处理的数据处理请求的数量大于所述速率限制条件中配置的第五阈值时,或者
    当所述路由节点当前处理的来自同一身份证书的数据处理请求的数量大于所述速率限制条件中配置的第六阈值时,则
    对所述转发至所述共识子网络的数据处理请求进行限制。
  8. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述数据处理请求属于指定请求中的任意一种时,则执行所述根据所述数据处理请求,对所述业务节点进行身份验证的步骤;
    当所述数据处理请求不属于指定请求中的任意一种时,则限制将所述数据处理请求转发至所述共识子网络;
    所述指定请求至少包括数据上链请求、区块头获取请求、交易信息查询请求和共识节点基础信息获取请求。
  9. 根据权利要求1至8任一项所述的方法,其特征在于,用于隔离所述业务子网络与所述共识子网络的所述路由层包括多个具有幂等性的路由节点。
  10. 一种区块链网络中的数据处理装置,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述装置包括:
    接收模块,用于接收所述业务子网络中的业务节点发送的数据处理请求;
    验证模块,用于根据所述数据处理请求,对所述业务节点进行身份验证;
    获取模块,用于当验证通过时,获取所述共识子网络中各共识节点的运行负载;
    确定模块,用于根据所述运行负载,从所述共识子网络中确定用于处理所述数据处理请求的目标共识节点;及
    转发模块,用于将所述数据处理请求转发至所述目标共识节点,并通过所述目标共识节点对所述数据处理请求进行相应的数据处理。
  11. 根据权利要求10所述的装置,其特征在于,所述数据处理请求通过所述业务节点的私钥签名得到,所述验证模块还用于获取与所述业务节点的私钥对应的公钥;根据所述公钥对已签名的所述数据处理请求进行签名验证;若验证成功,则判定对所述业务节点的身份验证通过。
  12. 根据权利要求10所述的装置,其特征在于,所述数据处理请求数据处理请求为数据上链请求,所述转发模块转发的数据上链请求用于指示所述共识子网络中的共识节点生成所述数据上链请求中交易信息对应的哈希值,根据所述共识节点的私钥对所述哈希值进行签名;将生成的所述哈希值、所述签名的哈希值记录至区块头,将所述交易信息记录至区块体,所述区块头和所述区块头构成数据区块;及通过所述共识子网络对所述数据区块进行共识,在共识通过后,将所述数据区块记录至所述共识子网络中的区块链。
  13. 根据权利要求10所述的装置,其特征在于,所述装置还包括区块头转发模块,用于接收所述共识节点返回的区块头,并将所述区块头转发至所述业务节点,以使所述业务节点获取与所述共识节点的私钥对应的公钥,根据所述共识节点的公钥对所述签名的哈希值进行验签,若验证通过、且验签得到的哈希值与所述区块头中记录的所述交易信息的哈希值一致,则判定所述数据区块通过验证。
  14. 根据权利要求10所述的装置,其特征在于,所述数据处理请求为交易信息查询请求,所述转发模块转发的交易信息查询请求用于指示共识子网络中的共识节点获取所述业务节点的数据权限;根据所述数据权限确定所述业务节点是否为与所述数据区块中的交易信息关联的业务节点;
    所述转发模块,还用于接收所述共识节点在确定所述业务节点为与所述数据区块中的交易信息关联的业务节点时所返回的交易信息,并将所述交易信息转发至所述业务节点。
  15. 根据权利要求10所述的装置,其特征在于,所述转发模块还用于:
    获取共识子网络中各共识节点的运行负载;
    根据所述运行负载,确定用于处理所述数据处理请求的目标共识节点;
    将所述数据处理请求转发至目标共识节点。
  16. 根据权利要求10所述的装置,其特征在于,所述装置应用于路由层中的路由节点,所述装置还包括长连接限制模块,所述长连接限制模块用于获取所述路由节点的长连接限制条件,所述长连接限制条件用于对所述业务节点向所述路由节点发起长连接的数量进行限制;当业务节点向所述路由节点发起长连接的总数量超过所述长连接限制条件中配置的第一阈值时,或者当同一业务节点向所述路由节点发起长连接的数量超过所述长连接限制条件中配置的第二阈值时,或者当持有相同身份证书的业务节点向所述路由节点发起长连接的数量超过第三阈值时,则对所述业务节点发起长连接的行为进行限制。
  17. 根据权利要求10所述的装置,其特征在于,所述装置应用于路由层中的路由节点,所述装置还包括速率限制模块,所述速率限制模块用于获取所述路由节点的速率限制条件,所述速率限制条件用于限制处理所述数据处理请求的处理速率;当所述路由节点当前处理的数据处理请求的数量大于所述速率限制条件中配置的第四阈值时,或者当同一路由节点当前处理的数据处理请求的数量大于所述速率限制条件中配置的第五阈值时,或者当所述路由节点当前处理的来自同一身份证书的数据处理请求的数量大于所述速率限制条件中配置的第六阈值时,则对所述转发至所述共识子网络的数据处理请求进行限制。
  18. 根据权利要求10所述的装置,其特征在于,所述装置还包括区块链功能限制模块,用于当所述数据处理请求属于指定请求中的任意一种时,则 触发所述验证模块执行所述根据所述数据处理请求,对所述业务节点进行身份验证的步骤;当所述数据处理请求不属于指定请求中的任意一种时,则限制将所述数据处理请求转发至所述共识子网络;所述指定请求至少包括数据上链请求、区块头获取请求、交易信息查询请求和共识节点基础信息获取请求。
  19. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至9中任一项所述方法的步骤。
  20. 一种计算机设备,包括存储器和一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得一个或多个处理器执行如权利要求1至9中任一项所述方法的步骤。
PCT/CN2020/113355 2019-09-12 2020-09-04 区块链网络中的数据处理方法、装置、存储介质和计算机设备 WO2021047445A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021555432A JP7301150B2 (ja) 2019-09-12 2020-09-04 ブロックチェーンネットワークにおけるデータ処理方法、装置、プログラム及びコンピュータ装置
EP20862111.0A EP3920505A4 (en) 2019-09-12 2020-09-04 METHOD AND APPARATUS FOR DATA PROCESSING IN A BLOCKCHAIN NETWORK, STORAGE MEDIA AND COMPUTER DEVICE
US17/197,485 US11895242B2 (en) 2019-09-12 2021-03-10 Data processing method and apparatus in blockchain network, storage medium, and computer device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910866452.0A CN110602096B (zh) 2019-09-12 2019-09-12 区块链网络中的数据处理方法、装置、存储介质和设备
CN201910866452.0 2019-09-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/197,485 Continuation US11895242B2 (en) 2019-09-12 2021-03-10 Data processing method and apparatus in blockchain network, storage medium, and computer device

Publications (1)

Publication Number Publication Date
WO2021047445A1 true WO2021047445A1 (zh) 2021-03-18

Family

ID=68859270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/113355 WO2021047445A1 (zh) 2019-09-12 2020-09-04 区块链网络中的数据处理方法、装置、存储介质和计算机设备

Country Status (5)

Country Link
US (1) US11895242B2 (zh)
EP (1) EP3920505A4 (zh)
JP (1) JP7301150B2 (zh)
CN (2) CN110602096B (zh)
WO (1) WO2021047445A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379542A (zh) * 2021-05-28 2021-09-10 中邮信息科技(北京)有限公司 一种区块链交易的查询方法、装置、介质及电子设备
CN113438287A (zh) * 2021-06-17 2021-09-24 杭州宇链科技有限公司 一种区块链部署系统及方法
CN113765675A (zh) * 2021-06-21 2021-12-07 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
CN114363336A (zh) * 2021-12-31 2022-04-15 支付宝(杭州)信息技术有限公司 一种启动/关闭区块链节点服务的方法和装置
CN114884911A (zh) * 2022-03-30 2022-08-09 阿里云计算有限公司 基于nfv的网络数据传输方法、系统和存储介质
CN116192692A (zh) * 2022-12-30 2023-05-30 蚂蚁区块链科技(上海)有限公司 一种区块链网络中的共识数据分发方法和区块链网络

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602096B (zh) * 2019-09-12 2021-07-13 腾讯科技(深圳)有限公司 区块链网络中的数据处理方法、装置、存储介质和设备
CN110855565B (zh) * 2019-11-22 2021-07-20 广州大学 一种基于区块链的可验证域间路由验证方法
CN111355710B (zh) * 2020-02-19 2021-12-24 腾讯科技(深圳)有限公司 网络服务的数据请求方法及装置
CN111460458B (zh) * 2020-03-31 2022-05-27 腾讯科技(深圳)有限公司 一种数据处理方法、相关装置及计算机可存储介质
CN111460504B (zh) * 2020-03-31 2021-11-05 腾讯科技(深圳)有限公司 业务处理方法、装置、节点设备及存储介质
CN111478962A (zh) * 2020-04-03 2020-07-31 广东奥维信息科技有限公司 一种区块链可信日志存储系统
CN111476617B (zh) * 2020-04-03 2021-06-25 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及介质
CN111556120B (zh) * 2020-04-23 2023-04-07 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备
CN113301002B (zh) * 2020-04-24 2023-05-09 阿里巴巴集团控股有限公司 一种信息处理方法、装置、电子设备以及存储介质
CN111552991A (zh) * 2020-04-29 2020-08-18 支付宝实验室(新加坡)有限公司 一种区块链交易方法及装置
CN111586149B (zh) * 2020-04-30 2022-11-11 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN111815454B (zh) 2020-08-21 2020-12-11 支付宝(杭州)信息技术有限公司 数据上链方法及装置、电子设备、存储介质
CN112364020B (zh) * 2020-11-04 2024-03-22 中国银联股份有限公司 数据存储方法和联盟链系统
CN112417001B (zh) * 2020-11-19 2021-10-15 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法及相关设备
CN112737916B (zh) * 2020-11-23 2022-01-07 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法及相关装置
CN114585049A (zh) * 2020-11-30 2022-06-03 中国移动通信有限公司研究院 基于区块链网络的数据处理方法、装置、设备及存储介质
CN112487465B (zh) * 2020-12-15 2022-12-09 西安交通大学 跨网络动态业务流验证方法、系统、存储介质及计算设备
CN112883419B (zh) * 2021-02-03 2024-04-19 李才美 分布式网络中节点之间的数据共识方法、装置及节点设备
CN113225191B (zh) * 2021-03-24 2024-02-13 湖南宸瀚信息科技有限责任公司 共识节点的生成方法、装置、存储介质及处理器
CN113110936A (zh) * 2021-04-14 2021-07-13 区块动力(广州)科技有限公司 一种对区块链节点运行性能的调节方法
CN112995211B (zh) * 2021-04-21 2021-07-23 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置、设备及存储介质
CN112988903B (zh) * 2021-04-22 2021-08-03 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置、设备及存储介质
US11637776B2 (en) * 2021-04-27 2023-04-25 Realtek Singapore Pte Ltd. Network device and packet replication method
CN112989398B (zh) * 2021-05-18 2021-07-30 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
CN113259466B (zh) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 区块链子网运行状态的控制方法和区块链系统
CN113098982B (zh) * 2021-06-02 2021-08-10 支付宝(杭州)信息技术有限公司 区块链消息的传输方法及装置
CN113255014B (zh) * 2021-07-07 2021-09-28 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法以及相关设备
CN113641688B (zh) * 2021-07-15 2024-01-09 北京百度网讯科技有限公司 节点更新方法、相关装置及计算机程序产品
CN113486118B (zh) * 2021-07-21 2023-09-22 银清科技有限公司 共识节点选取方法及装置
CN113379422B (zh) * 2021-08-12 2021-10-15 腾讯科技(深圳)有限公司 基于智能合约的数据处理方法、设备以及可读存储介质
CN113746908A (zh) * 2021-08-19 2021-12-03 卓尔智联(武汉)研究院有限公司 数据处理方法及系统、电子设备及计算机存储介质
CN113691621B (zh) * 2021-08-24 2023-10-13 上海点融信息科技有限责任公司 一种区块链数据上链方法
CN113779145A (zh) * 2021-08-27 2021-12-10 浙商银行股份有限公司 一种区块链吞吐量提升系统及方法
CN113626652B (zh) * 2021-10-11 2021-12-17 北京一流科技有限公司 数据处理网络系统、数据处理网络部署系统及其方法
CN114430427B (zh) * 2022-01-11 2023-12-12 上海焜耀网络科技有限公司 一种同一身份的消息管理的方法、存储介质及设备
CN118055062A (zh) * 2022-11-10 2024-05-17 中移(上海)信息通信科技有限公司 工业区块链网络的优化方法及装置、节点和存储介质
CN116896564B (zh) * 2023-09-11 2023-12-22 腾讯科技(深圳)有限公司 基于区块链网络的区块生成方法、装置和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451036A (zh) * 2018-12-04 2019-03-08 北京创世智链信息技术研究院 一种区块链安全通信方法、服务节点及系统
CN109547530A (zh) * 2018-10-17 2019-03-29 北京瑞卓喜投科技发展有限公司 区域共识方法、系统及设备
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易系统
KR20190069759A (ko) * 2017-12-12 2019-06-20 주식회사 디지캡 콘텐츠 블록체인에서의 콘텐츠 암호키 관리 및 배포 방법
CN109949158A (zh) * 2019-03-15 2019-06-28 北京世纪诚链科技有限公司 一种超级节点交易验签并行加速方法
CN110602096A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 区块链网络中的数据处理方法、装置、存储介质和设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340387B (zh) * 2008-08-12 2012-07-04 成都市华为赛门铁克科技有限公司 控制转发数据报文的方法和装置
US9712398B2 (en) * 2015-01-29 2017-07-18 Blackrock Financial Management, Inc. Authenticating connections and program identity in a messaging system
KR102050129B1 (ko) * 2016-05-03 2019-11-28 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
US11144911B2 (en) * 2016-06-20 2021-10-12 Intel Corporation Technologies for device commissioning
CN106230649B (zh) * 2016-09-20 2019-07-09 杭州迪普科技股份有限公司 会话资源管理方法及装置
US10554746B2 (en) * 2016-11-14 2020-02-04 International Business Machines Corporation Decentralized immutable storage blockchain configuration
US10616346B2 (en) * 2017-07-28 2020-04-07 International Business Machines Corporation Server connection capacity management
CN108111604B (zh) * 2017-12-21 2020-08-14 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108390870B (zh) * 2018-02-09 2021-07-20 北京天融信网络安全技术有限公司 一种防御网络攻击的方法、装置、存储介质及设备
CN108540536B (zh) * 2018-03-16 2021-07-23 深圳前海微众银行股份有限公司 基于区块链的网络海量业务处理方法、设备及存储介质
CN108600315B (zh) * 2018-03-22 2021-04-06 深圳市网心科技有限公司 区块链路由处理方法、装置及存储介质
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN109257427B (zh) * 2018-09-26 2021-04-02 网宿科技股份有限公司 一种基于区块链的业务处理方法及系统
CN109308410A (zh) * 2018-10-16 2019-02-05 翟红鹰 获取区块链数据的方法、系统及计算机可读存储介质
CN110930149B (zh) * 2018-12-07 2023-09-26 深圳市智税链科技有限公司 在区块链网络中确定记账节点的方法、代理节点和介质
CN110851496B (zh) * 2018-12-07 2023-03-14 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN110460590B (zh) * 2018-12-07 2022-07-19 深圳市智税链科技有限公司 区块链系统的数据管理方法、装置、介质及电子设备
CN110929288B (zh) * 2018-12-07 2021-06-01 深圳市智税链科技有限公司 生成公钥证书的方法、证书授权中心和介质
SG11202106480PA (en) * 2018-12-21 2021-07-29 Swempire Co Ltd Method for sharing and verifying blocks and electronic documents between nodes in blockchain
KR102153845B1 (ko) 2018-12-21 2020-09-09 알리바바 그룹 홀딩 리미티드 퍼블릭 사이드체인을 사용하여 컨소시엄 블록체인에 저장된 데이터의 무결성 검증

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069759A (ko) * 2017-12-12 2019-06-20 주식회사 디지캡 콘텐츠 블록체인에서의 콘텐츠 암호키 관리 및 배포 방법
CN109547530A (zh) * 2018-10-17 2019-03-29 北京瑞卓喜投科技发展有限公司 区域共识方法、系统及设备
CN109451036A (zh) * 2018-12-04 2019-03-08 北京创世智链信息技术研究院 一种区块链安全通信方法、服务节点及系统
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易系统
CN109949158A (zh) * 2019-03-15 2019-06-28 北京世纪诚链科技有限公司 一种超级节点交易验签并行加速方法
CN110602096A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 区块链网络中的数据处理方法、装置、存储介质和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3920505A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379542A (zh) * 2021-05-28 2021-09-10 中邮信息科技(北京)有限公司 一种区块链交易的查询方法、装置、介质及电子设备
CN113379542B (zh) * 2021-05-28 2024-01-09 中邮信息科技(北京)有限公司 一种区块链交易的查询方法、装置、介质及电子设备
CN113438287A (zh) * 2021-06-17 2021-09-24 杭州宇链科技有限公司 一种区块链部署系统及方法
CN113438287B (zh) * 2021-06-17 2022-07-01 杭州宇链科技有限公司 一种区块链部署系统及方法
CN113765675A (zh) * 2021-06-21 2021-12-07 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
CN113765675B (zh) * 2021-06-21 2022-05-27 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
CN114363336A (zh) * 2021-12-31 2022-04-15 支付宝(杭州)信息技术有限公司 一种启动/关闭区块链节点服务的方法和装置
CN114884911A (zh) * 2022-03-30 2022-08-09 阿里云计算有限公司 基于nfv的网络数据传输方法、系统和存储介质
CN114884911B (zh) * 2022-03-30 2024-05-14 阿里云计算有限公司 基于nfv的网络数据传输方法、系统和存储介质
CN116192692A (zh) * 2022-12-30 2023-05-30 蚂蚁区块链科技(上海)有限公司 一种区块链网络中的共识数据分发方法和区块链网络

Also Published As

Publication number Publication date
CN110602096A (zh) 2019-12-20
CN110944004B (zh) 2021-09-10
US20210203509A1 (en) 2021-07-01
CN110944004A (zh) 2020-03-31
EP3920505A1 (en) 2021-12-08
JP2022533882A (ja) 2022-07-27
JP7301150B2 (ja) 2023-06-30
CN110602096B (zh) 2021-07-13
US11895242B2 (en) 2024-02-06
EP3920505A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
WO2021047445A1 (zh) 区块链网络中的数据处理方法、装置、存储介质和计算机设备
CN110535872B (zh) 在区块链网络中处理数据请求的方法和装置
US11038682B2 (en) Communication method, apparatus and system, electronic device, and computer readable storage medium
US11943224B2 (en) Blockchain-based admission processes for protected entities
Yazdinejad et al. Blockchain-enabled authentication handover with efficient privacy protection in SDN-based 5G networks
KR102263325B1 (ko) 신뢰 실행 환경에서 스마트 계약 동작을 안전하게 실행하는 방법
WO2020192743A1 (zh) 权限管理方法、权限验证方法和相关装置
WO2023024742A1 (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN111556120B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
JP2020523838A (ja) ネットワークの障害時におけるオフ・ブロックチェーン・チャネルに関して生じるセキュリティ関連脆弱性に対処するためのシステム及び方法
Jia et al. A2 chain: a blockchain‐based decentralized authentication scheme for 5G‐enabled IoT
US20200052880A1 (en) Ad-hoc trusted groups on a blockchain
Zhong et al. Distributed blockchain‐based authentication and authorization protocol for smart grid
US20210144017A1 (en) Method and apparatus for replacing identity certificate in blockchain network, storage medium, and computer device
WO2022100679A1 (zh) 一种数据通信方法、装置、计算机设备及存储介质
WO2022193984A1 (zh) 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品
Xue et al. Research on key technologies of software-defined network based on blockchain
WO2023082883A1 (zh) 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品
Das et al. Design of a trust-based authentication scheme for blockchain-enabled iov system
Latah et al. CWT-DPA: Component-wise waiting time for BC-enabled data plane authentication
Du et al. DTC: A Dynamic Trusted Collaboration Architecture for Mobile Edge Computing
KR102343461B1 (ko) 스마트 컨트랙트의 외부 IoT 데이터 공급 방법 및 이를 위한 오라클 시스템
KR20220095509A (ko) Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20862111

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020862111

Country of ref document: EP

Effective date: 20210903

ENP Entry into the national phase

Ref document number: 2021555432

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE