WO2024153001A1 - 一种基于分层链网络的数据处理方法、装置、设备及介质 - Google Patents

一种基于分层链网络的数据处理方法、装置、设备及介质 Download PDF

Info

Publication number
WO2024153001A1
WO2024153001A1 PCT/CN2024/071989 CN2024071989W WO2024153001A1 WO 2024153001 A1 WO2024153001 A1 WO 2024153001A1 CN 2024071989 W CN2024071989 W CN 2024071989W WO 2024153001 A1 WO2024153001 A1 WO 2024153001A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data
identifier
business
target
Prior art date
Application number
PCT/CN2024/071989
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 腾讯科技(深圳)有限公司
Publication of WO2024153001A1 publication Critical patent/WO2024153001A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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

Definitions

  • the present application relates to the field of blockchain technology, and in particular to a data processing method, device, equipment and medium based on a layered chain network.
  • the blockchain system can adopt a blockchain network built on a double-layer chain structure to form a hierarchical structure such as "business network-consensus network", thereby improving the confidentiality and security of data on the blockchain.
  • each business node in the business network can only clear the business data related to itself, but cannot save all the data in the blockchain network. Therefore, it may take a long time to query and verify the specified business data in any business node. For example, if a user wants to check the authenticity of a certain business data (for example, business data X) on the chain, since the user does not know the specific address where the business data X is stored, he can randomly initiate a query on any business node in the business network (for example, business node 1).
  • a certain business data for example, business data X
  • business node 1 If the business data X that needs to be checked does not exist in business node 1 at this time, the same query can be initiated on the next business node closer to business node 1 (for example, business node 2), and so on, until the business node storing business data X is found to verify the authenticity of business data X.
  • this point-by-point verification method will have to search all business nodes in the worst case to get the required address, especially when there are a large number of business nodes in the business network and nodes join or exit frequently, its addressing efficiency is low, resulting in low verification efficiency when checking business data.
  • the embodiments of the present application provide a data processing method, apparatus, device and medium based on a hierarchical chain network, which can perform directional data addressing through an introduced inspection network to improve the addressing efficiency between inspection nodes, and further, can quickly obtain the node address of the business node storing the business data through the inspection node addressed by the directional data, and further, can improve the inspection efficiency of the business data through the quickly obtained node address.
  • the present application embodiment provides a data processing method based on a hierarchical chain network.
  • the method includes executing a check node.
  • the hierarchical chain network includes a verification network, a business network and a consensus network
  • the verification network and the business network are deployed in the business layer of the hierarchical chain network
  • the consensus network is deployed in a consensus layer independent of the business layer
  • the blockchain maintained by the consensus network is used to store business data of businesses submitted by business nodes in the business network
  • M verification nodes are deployed in the verification network
  • M is a positive integer
  • the execution verification node is included in the M verification nodes
  • the method includes:
  • determining a first node mapping identifier of the node executing the inspection in a mapping space corresponding to the inspection network the mapping space including node mapping identifiers corresponding to M inspection nodes respectively, the node mapping identifiers being obtained after mapping node addresses of the M inspection nodes respectively to the mapping space;
  • the target business data identifier is checked through the resource location table associated with the first node address of the node executing the check, and a first data check result is obtained.
  • the resource location table is used to record the adjacent node mapping identifiers that are greater than the first node mapping identifier.
  • the adjacent node addresses corresponding to the adjacent node mapping identifiers are used to store the business data identifiers of the business data synchronized from the blockchain.
  • the data check result is used to indicate whether the synchronized business data identifiers contain the target business data identifiers;
  • a node routing list corresponding to the node executing the inspection is obtained, where the node routing list is used to record K routing node mapping identifiers, where the routing node mapping identifier is a node mapping identifier of a inspection node that has a preset distance from the first node mapping identifier in the mapping space, where K is a positive integer greater than 1, and K is less than or equal to a space impact parameter of the mapping space;
  • a routing node mapping identifier that is found in a second order opposite to the first order and is closest to the target service data identifier in the mapping space is determined as a second node mapping identifier;
  • a data location request is sent to the target verification node corresponding to the second node mapping identifier, so that the target verification node performs data verification on the target business data.
  • an embodiment of the present application provides a data processing method based on a hierarchical chain network, the method is executed by a target inspection node, the hierarchical chain network includes an inspection network, a business network and a consensus network, the inspection network and the business network are both deployed in the business layer of the hierarchical chain network, the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store business data of the business submitted by the business nodes in the business network, M inspection nodes are deployed in the inspection network, M is a positive integer, and the target inspection node is included in the M inspection nodes, and the method includes:
  • Obtain a data location request carrying a target business data identifier forwarded by an execution inspection node based on a second node mapping identifier the execution inspection node is included in M inspection nodes, the data location request is a request for target business data corresponding to the target business data identifier sent by a first business node, the first business node is any business node in the business network, and the execution inspection node is used to identify the target business data identifier from the data location request in response to the mapping corresponding to the inspection network
  • the first node mapping identifier of the node executing the inspection is determined in the space, and the node mapping identifiers in the mapping space are arranged from small to large in the first order, and the target business data identifier is inspected through the resource location table associated with the first node address of the node executing the inspection to obtain the first data inspection result.
  • the mapping space includes node mapping identifiers corresponding to M inspection nodes respectively.
  • the node mapping identifier is obtained by mapping the node addresses of the M inspection nodes to the mapping space respectively.
  • the resource location table is used to record the adjacent node mapping identifiers that are greater than the first node mapping identifier.
  • the adjacent node addresses corresponding to the adjacent node mapping identifiers are used to store the adjacent node addresses synchronized from the blockchain.
  • the business data identifier of the business data is used to indicate whether the business data identifier obtained synchronously contains the target business data identifier;
  • the first data verification result is used to indicate that when the execution verification node determines that the business data identifier obtained synchronously does not contain the target business data identifier, it obtains the node routing list maintained by the execution verification node, and among the K routing node mapping identifiers recorded in the node routing list, the routing node mapping identifier that is closest to the target business data identifier and is found in a second order opposite to the first order is determined as the second node mapping identifier; K is a positive integer greater than 1, and K is less than or equal to the space influence parameter of the mapping space;
  • the target business data is checked through the second node address corresponding to the second node mapping identifier.
  • an embodiment of the present application provides a data processing device based on a hierarchical chain network, wherein the device runs in an execution verification node, the hierarchical chain network includes a verification network, a business network, and a consensus network, wherein the verification network and the business network are both deployed in a business layer of the hierarchical chain network, the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store business data of businesses submitted by business nodes in the business network, M verification nodes are deployed in the verification network, M is a positive integer, and the execution verification node is included in the M verification nodes, and the device includes:
  • a request acquisition module used to acquire a data location request for target service data sent by a first service node in the service network
  • an identification determination module configured to determine, in response to identifying a target service data identification of the target service data from the data location request, a first node mapping identification of a node executing the inspection in a mapping space corresponding to the inspection network, the mapping space including node mapping identifications corresponding to M inspection nodes respectively, the node mapping identifications being obtained after mapping node addresses of the M inspection nodes respectively to the mapping space;
  • the identification verification module is used to perform data verification on the target business data identification according to the first order after the node mapping identification is arranged from small to large, through the resource location table associated with the first node address of the node executing the verification, to obtain a first data verification result, the resource location table is used to record the adjacent node mapping identification that is greater than the first node mapping identification, and the adjacent node address corresponding to the adjacent node mapping identification is used to store the business data identification of the business data synchronized from the blockchain, and the data The check result is used to indicate whether the synchronized service data identifier contains the target service data identifier;
  • a first forwarding module configured to obtain a node routing list corresponding to a node executing the inspection in response to the first data inspection result indicating that the synchronized service data identifier does not include a target service data identifier, wherein the node routing list is configured to record K routing node mapping identifiers, wherein the routing node mapping identifier is a node mapping identifier of an inspection node having a preset distance from the first node mapping identifier in a mapping space, and K is a positive integer greater than 1, and K is less than or equal to a space influence parameter of the mapping space;
  • a first forwarding module is used to determine, among the K routing node mapping identifiers, a routing node mapping identifier that is found in a second order opposite to the first order and is closest to the target service data identifier in the mapping space as a second node mapping identifier;
  • the first forwarding module is used to send a data location request to a target inspection node corresponding to the second node mapping identifier, so that the target inspection node performs data inspection on the target business data.
  • an embodiment of the present application provides a data processing device based on a hierarchical chain network, the device runs in a target inspection node, the hierarchical chain network includes an inspection network, a business network and a consensus network, the inspection network and the business network are deployed in the business layer of the hierarchical chain network, the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store business data of the business submitted by the business nodes in the business network, M inspection nodes are deployed in the inspection network, M is a positive integer, the target inspection node is included in the M inspection nodes, and the device includes:
  • a request receiving module is used to obtain a data location request carrying a target business data identifier forwarded by an execution inspection node based on a second node mapping identifier, the execution inspection node is included in M inspection nodes, the data location request is a request for target business data corresponding to the target business data identifier sent by a first business node, the first business node is any business node in a business network, the execution inspection node is used to respond to identifying the target business data identifier from the data location request, determine the first node mapping identifier of the execution inspection node in the ring mapping space corresponding to the inspection network, and perform data inspection on the target business data identifier through a resource location table associated with the first node address of the execution inspection node according to a first order after arranging the node mapping identifiers in the ring mapping space from small to large, and obtain a first data inspection result, the ring mapping space includes node mapping identifiers corresponding to the M inspection nodes respectively,
  • the resource location table is used to record the adjacent node mapping identifier that is greater than the first node mapping identifier.
  • the adjacent node address corresponding to the adjacent node mapping identifier is used to store the business data identifier of the business data synchronized from the blockchain.
  • the data inspection result is used to indicate whether the synchronized business data identifier contains the target business data identifier; the first data inspection result is used to indicate that when the execution inspection node determines that the synchronized business data identifier does not contain the target business data identifier, it obtains the node routing list maintained by the execution inspection node, and among the K routing node mapping identifiers recorded in the node routing list, the routing node mapping identifier that is closest to the target business data identifier found in the second order opposite to the first order is determined as the second node mapping identifier; K is a positive integer greater than 1, and K is less than or equal to the spatial influence parameter of the ring mapping space;
  • the data verification module is used to verify the target business data through the second node address corresponding to the second node mapping identifier when it is determined based on the data location request that the second node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order.
  • An embodiment of the present application provides a computer device, including: a processor and a memory;
  • the processor is connected to the memory, wherein the memory is used to store a computer program.
  • the computer program is executed by the processor, the computer device executes the method provided in the embodiment of the present application.
  • an embodiment of the present application provides a computer-readable storage medium, which stores a computer program.
  • the computer program is suitable for being loaded and executed by a processor so that a computer device having the processor executes the method provided by the embodiment of the present application.
  • an embodiment of the present application provides a computer program product or a computer program, wherein the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in the embodiment of the present application.
  • the execution inspection node in the inspection network can obtain a data location request for the target business data sent by the first business node in the business network, where the first business node is any business node in the business network, and the execution inspection node is a randomly selected inspection node from M inspection nodes for data inspection.
  • the data inspection here is essentially a directional data addressing and inspection between the various inspection nodes in the inspection network.
  • the embodiment of the present application can quickly query the node mapping identifier closest to the target business data identifier in a certain order among a small number of inspection nodes in the inspection network through the data location request obtained by the execution inspection node in the mapping space associated with the inspection network, and then the inspection node corresponding to the node mapping identifier closest to the target business data identifier can be used as the inspection node (i.e., the target inspection node) finally addressed by the execution inspection node.
  • the execution verification node involved in the embodiment of the present application can forward the data location request to the verification node that is finally addressed (i.e., the target verification node), so that the target verification node can perform a new round of data verification on the target business data.
  • the execution verification node can respond to the target business data identifier of the target business data identified from the data location request, determine the first node mapping identifier of the execution verification node in the mapping space corresponding to the verification network, and then can perform data verification on the target business data identifier through the resource location table associated with the first node address of the execution verification node according to the first order after arranging the node mapping identifiers from small to large, so as to obtain the first data verification result.
  • the resource location table is used to record adjacent node mapping identifiers that are greater than the first node mapping identifier, and the adjacent node addresses corresponding to the adjacent node mapping identifiers are used to store the business data of the business data synchronized from the blockchain.
  • the data verification result is used to indicate whether the synchronized business data identifier contains the target business data identifier.
  • the execution verification node can use the node mapping identifier (i.e., the routing node mapping identifier) found in the second order (i.e., the order opposite to the first order) and the node mapping identifier closest to the target business data identifier in the mapping space as the second node mapping identifier among the K routing node mapping identifiers recorded in the node routing list it maintains, and then forward the data location request carrying the target business data identifier to the target verification node corresponding to the second node mapping identifier, so that the target verification node performs a new round of data verification.
  • the node mapping identifier i.e., the routing node mapping identifier
  • the target verification node when the second node mapping identifier of the target verification node is the node mapping identifier closest to the target business data identifier in the first order, the target verification node can be used to verify the authenticity of the target business data.
  • the embodiment of the present application can support the business object to randomly initiate a data location request for a certain business data (such as the aforementioned target business data) to any inspection node in the inspection network (such as the aforementioned execution inspection node) through the resource location table and node routing list maintained by the inspection node to quickly find the inspection node (such as the aforementioned target inspection node) corresponding to the node mapping identifier that is currently known to the inspection node and is closest to the business data identifier of the business data (such as the aforementioned target business data identifier), and can forward the data location request to the target inspection node, so that the target inspection node can use a nonlinear search method similar to the execution inspection node in the mapping space to further continue to
  • the nonlinear search method adopted in the embodiment of the present application can achieve addressing by jumping to a small number of checking nodes, thereby effectively shortening the addressing distance, thereby improving the addressing efficiency of the checking nodes, and then improving the checking efficiency of business data.
  • FIG1 is a schematic diagram of a blockchain network hierarchical structure provided in an embodiment of the present application.
  • FIG2 is a schematic diagram of a data processing scenario based on a layered chain network provided in an embodiment of the present application
  • FIG3 is a schematic diagram of a flow chart of a data processing method based on a hierarchical chain network provided in an embodiment of the present application;
  • FIG4 is a flow chart of another data processing method based on a hierarchical chain network provided in an embodiment of the present application.
  • FIG5 is a schematic diagram of a scenario of blockchain electronic bill inspection provided by an embodiment of the present application.
  • FIG6 is a schematic diagram of another scenario of blockchain electronic bill inspection provided by an embodiment of the present application.
  • FIG7 is a schematic diagram of another scenario of blockchain electronic bill inspection provided by an embodiment of the present application.
  • FIG8 is a system architecture diagram of a blockchain electronic bill scenario provided by an embodiment of the present application.
  • FIG9 is a schematic diagram of the structure of a data processing device based on a hierarchical chain network provided in an embodiment of the present application.
  • FIG10 is a schematic diagram of the structure of another data processing device based on a hierarchical chain network provided in an embodiment of the present application.
  • FIG11 is a schematic diagram of the structure of a computer device provided in an embodiment of the present application.
  • Figure 12 is a structural diagram of a data processing system based on a layered chain network provided in an embodiment of the present application.
  • FIG 1 is a schematic diagram of a blockchain network hierarchical structure provided by an embodiment of the present application.
  • the blockchain network hierarchical structure shown in Figure 1 can be applied to a blockchain system.
  • blockchain (Blockchain) is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism and encryption algorithm, which is mainly used to organize data in chronological order and encrypt it into a ledger so that it cannot be tampered with or forged, and can verify, store and update data at the same time.
  • Blockchain is essentially a decentralized database, and each node in the database stores an identical blockchain.
  • the hierarchical structure composed of the business layer and the consensus layer can be referred to as a double-layer chain structure
  • the blockchain network corresponding to the double-layer chain structure is collectively referred to as a hierarchical chain network
  • the complete blockchain business system corresponding to the hierarchical chain network can be composed of the business network 110 shown in Figure 1, the inspection network 120 and the consensus network 200a.
  • the business network 110 and the inspection network 120 are deployed in the business layer shown in Figure 1
  • the consensus network 200a is deployed in the consensus layer shown in Figure 1.
  • the business layer here is essentially a blockchain ledger synchronization layer, that is, the business nodes in the business network 110 deployed in the business layer can be used to clear and synchronize the ledger data related to themselves from the ledger on the blockchain (i.e., the blockchain ledger).
  • the ledger data here can be the business data of the business submitted by the business node in the business network 110.
  • the blockchain maintained by the consensus network 200a can be used to store the business data of the business submitted by the business node in the business network 110.
  • the consensus node in the consensus network 200a can write this business into the business pool, so that a large number of businesses including this business obtained in the business pool can be packaged into a certain block later, and the block can be block-consensused based on the blockchain consensus protocol followed by the consensus node in the consensus network 200a, and then the block containing a large number of businesses can be written into the blockchain after the block consensus is passed, and then the business data of these businesses submitted by different business nodes can be stored on the blockchain.
  • the business data of a business can be the consensus node in the consensus network 200a in the process of block consensus, and the consensus vote is passed. Then, these business nodes in the business network can clear and synchronize the business data related to their respective submitted businesses from the blockchain.
  • the inspection nodes in the inspection network 120 can be synchronized from the blockchain in advance, so that when the inspection node obtains the data location request later, it can determine its own node mapping identifier as the node mapping identifier closest to the business data identifier of the business data in the specified addressing direction (for example, the target business data identifier described below) based on the data location request, and then the business data can be checked through the node address of the inspection node.
  • the addressing direction here refers to the direction indicated by the first order when the mapping space includes the ring mapping space.
  • the first order refers to the order in which the node mapping identifiers of all the inspection nodes contained in the mapping space are arranged from small to large.
  • the embodiment of the present application can perform hash calculation on the node addresses of all the inspection nodes in advance through a certain hash function, and then the address hash value (i.e., a hash value) of the node address obtained after the hash calculation can be mapped to the mapping space (a space in a mathematical sense for marking and storing address hash values and/or data hash values) to obtain the node mapping identifier of the corresponding inspection node in the mapping space, so that the node mapping identifiers of these inspection nodes can be further arranged from small to large in the mapping space, and the order after the arrangement from small to large is collectively referred to as the first order.
  • the mapping space a space in a mathematical sense for marking and storing address hash values and/or data hash values
  • the node mapping identifier with the minimum value (i.e., the minimum node mapping identifier) and the node mapping identifier with the maximum value (i.e., the maximum node mapping identifier) after the arrangement can be further connected end to end, and then the mapping space with a ring shape formed by the end-to-end connection can be called a ring mapping space.
  • the direction indicated by the first order in the original mapping space can be used as the addressing direction of the currently constructed ring mapping space.
  • the node mapping identifier of each inspection node involved in the embodiment of the present application refers to the node mapping identifier obtained after the node address of each inspection node in the inspection network is mapped to the mapping space respectively.
  • the business layer here can be a data processing layer that can provide different data processing capabilities in the hierarchical structure.
  • the inspection node in the inspection network 120 can provide data processing capabilities for data inspection to the business nodes in the external business network 110 when performing data inspection operations.
  • the data inspection operation here refers to the operation performed by the inspection node in the inspection network 120 for data inspection for a certain business data identifier (for example, a target business data identifier).
  • the business data identifier here refers to the consensus node in the consensus network 200a storing the business data of a certain business (for example, the target business data of the target business) on the blockchain, and mapping the business data of this business (for example, the target business data of the target business) to the mapping space. That is, the business data identifier here (for example, the target business data identifier) is obtained after mapping the business data of a certain business (for example, the target business data) to the mapping space.
  • the business nodes in the business network 110 clear and synchronize the business data of this business (for example, the target business data of the target business) from the blockchain maintained by the consensus nodes in the consensus network 200a, they will also synchronize the business data identifier of the business data of this business (for example, the business data identifier of the target business data) from the blockchain maintained by the consensus nodes in the consensus network 200a. identification as the target business data identification).
  • the business network 110 deployed in the business layer can be used to perform data submission operations and clearing synchronization operations.
  • the business node in the business network 110 when the business node in the business network 110 performs the data submission operation, it can submit a certain business to the consensus node in the consensus network 200a.
  • the data submission operation here refers to the operation performed by the business node in the business network 110 to submit a certain business to the consensus node in the consensus network 200a.
  • the business node in the business network 110 performs the clearing synchronization operation, it can synchronize the clearing from the blockchain maintained by the consensus node in the consensus network 200a to the business data associated with the business submitted by itself.
  • the clearing synchronization operation here refers to the operation performed by the business node in the business network 110 to synchronize the clearing from the blockchain to the business data associated with the business submitted by itself.
  • the consensus layer here refers to the data processing layer running the blockchain consensus protocol in the hierarchical structure.
  • the consensus nodes in the consensus network 200a deployed in the consensus layer can all perform block consensus through the running blockchain consensus protocol, and then the blocks passed by the block consensus can be chained to the blockchain.
  • the business data identifier of the business data involved in the embodiment of the present application is determined by a hash value (for example, a data hash value) obtained by performing a hash calculation on the business data through a certain hash function
  • the node mapping identifier of the inspection node is determined by a hash value (for example, an address hash value) obtained by performing a hash calculation on the node address of the inspection node through the same hash function, that is, in the above-mentioned mapping space, the data hash value and the address hash value obtained by the hash calculation are essentially two hash values with the same length, so the hash distance between the two hash values can be calculated to determine whether the node mapping identifier corresponding to the node address of the inspection node is close to the business data identifier of the business data.
  • the embodiment of the present application uses a hash function to perform a hash calculation on the node address of each inspection node in the inspection network 120 in advance to calculate the hash value (that is, the address hash value) of the node address of each inspection node
  • the hash value (that is, the address hash value) of the node address of each inspection node can be pre-stored, so that the pre-stored hash value (that is, the address hash value) of the node address of each inspection node can be mapped to the mapping space later.
  • the same hash function can be used to further perform hash calculations on the business data of each business, and the hash values (i.e., data hash values) of each business data obtained by the hash calculation can be pre-stored, so that the hash values (i.e., data hash values) of each business data obtained by the hash calculation can be subsequently mapped to the same mapping space.
  • the node mapping identifier of a certain inspection node and the business data identifier of a certain business data are hash values with the same length (e.g., hash sequence value)
  • the node mapping identifier of the inspection node and the business data identifier of the business data can be XORed to calculate the distance between the two different identifiers (the distance here is essentially the above-mentioned hash distance), that is, the smaller the hash distance, the closer the distance between the two different identifiers, and conversely, the larger the hash distance, the farther the distance between the two different identifiers.
  • the node address of the inspection node can be used to store the distance from its own node mapping identifier synchronized from the blockchain.
  • the business network 110 also known as the witness network
  • the consensus network 200a are independent of each other, and the business network 110 and the consensus network 200a can be network isolated through the routing network (i.e., the routing proxy layer).
  • the peer-to-peer (P2P) network can be network layered through the routing nodes in the routing network to form a layered structure such as "business network-consensus network", thereby improving the confidentiality and security of data on the blockchain.
  • the number of routing nodes in the routing network can be one or more, which is not limited here.
  • the business network 110 shown in FIG. 1 can be deployed with multiple business nodes, and the number of business nodes deployed in the business network 110 will not be limited here.
  • the business node does not need to participate in the accounting consensus, and is mainly used to submit the business to the consensus node, so that the consensus node can obtain the business data associated with the business after executing the business, and can return the business data of the current business to the business node in time when receiving the clearing synchronization request sent by the business node for the current business, thereby realizing the clearing synchronization of the business data.
  • the clearing synchronization request here refers to the request submitted by the business node when performing the clearing synchronization operation for the current business
  • the clearing synchronization operation here is specifically the operation performed by the business node for requesting the clearing synchronization from the blockchain maintained by the consensus node to the business data related to the business node itself.
  • the operation performed by any business node deployed in the business network 110 for a certain business can specifically include data submission operation and clearing synchronization operation.
  • the business node may be a lightweight node that stores part of the data in the blockchain database. Such a node may complete business verification by means of "Simplified Payment Verification (SPV)".
  • SPV Simple Payment Verification
  • Business verification here means that a verification operation may be performed on the current business.
  • the data content of each parameter data in the current business and the data format of the data content may be verified. Therefore, it may also be referred to as an SPV node.
  • the business node in order to reduce the waste of storage space of the business node, the business node may be a lightweight node. At this time, the business node does not need to store all the business data completely recorded on the entire blockchain.
  • the business node when performing data clearing and synchronization, obtains the block header data and part of the authorized visible block data (for example, the business data associated with the business node itself, where the business data may include the business execution results obtained by executing the corresponding business and/or the read-write status data recorded by the business processing data called when executing the corresponding business) from the blockchain maintained by the consensus network through identity authentication.
  • the block header data and part of the authorized visible block data for example, the business data associated with the business node itself, where the business data may include the business execution results obtained by executing the corresponding business and/or the read-write status data recorded by the business processing data called when executing the corresponding business
  • the consensus network 200a shown in FIG1 may be deployed with multiple consensus nodes (i.e., accounting nodes), and the number of consensus nodes deployed in the consensus network 200a is not limited here.
  • the consensus network 200a may specifically include consensus nodes 130a, consensus nodes 130b, consensus nodes 130c, ..., consensus nodes 130k, and these consensus nodes may run a blockchain consensus protocol.
  • the consensus node may specifically include a complete block chain. Full nodes of the blockchain database. These consensus nodes can participate in business verification, business broadcast, block broadcast and block consensus, and can discover and maintain connections with other nodes. They can also record the business data of the corresponding business in the block after the consensus is passed into the blockchain.
  • the embodiments of the present application may collectively refer to the business nodes and consensus nodes located in the above-mentioned hierarchical chain network as blockchain nodes (which may be referred to as nodes).
  • the blockchain node may be a server connected to the hierarchical chain network, or a terminal connected to the hierarchical chain network.
  • the specific form of the blockchain node is not limited here, and each blockchain node may include a hardware layer, an intermediate layer, an operating system layer, and an application layer.
  • the server here may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
  • the terminal may be a smart phone, tablet computer, laptop computer, desktop computer, PDA, mobile internet device (mobile internet device, MID), wearable device (such as smart watch, smart bracelet, etc.), smart computer, smart car and other smart terminals.
  • the business network 110 and consensus network 200a shown in FIG. 1 may be in different network environments.
  • the business node may be deployed in a business network in a public network, while the consensus node running the blockchain consensus protocol may be deployed in a private consensus network, and the two may interact through the routing boundary.
  • the consensus network since the consensus network is in a relatively secure private cloud, its mutual access is already secured by a consensus mechanism, and no additional identity management and network control are required; while the business node is in a public network and may be accessed by other uncertain network terminals, so the behavior of the business node and other possible nodes accessing the consensus network needs to be strictly controlled.
  • the business node and the consensus node may also directly transmit data without going through the routing node, and the embodiments of the present application do not limit this.
  • intelligent processing data can be deployed in the blockchain system.
  • the intelligent processing data can be understood in the blockchain system as a code that can be understood and executed by a blockchain node (such as a consensus node).
  • the blockchain node (such as a consensus node) can call the intelligent processing data to execute any logic and obtain results.
  • the intelligent processing data deployed on the consensus node can be collectively referred to as business processing data.
  • the business processing data here can be the code deployed on the consensus node for executing the corresponding business.
  • an entity object (such as a user requesting to execute a business) can initiate a processing data call request to a consensus node (for example, the consensus node 130a shown in Figure 1) through the client on the object terminal it holds.
  • a consensus node for example, the consensus node 130a shown in Figure 1
  • the consensus node can read and call the consensus node (for example, the consensus node 130a shown in Figure 1) that has been deployed Deployed business processing data.
  • the blockchain system may include one or more intelligent processing data, and these intelligent processing data (such as business processing data) can be distinguished by processing data identification (such as identification number (Identity document, ID) or name, and can also include processing data address or processing data function name (also known as processing data method name)), and the processing data call request initiated by the client may also carry the identification number or name of the intelligent processing data to specify the intelligent processing data that the blockchain needs to run.
  • processing data identification such as identification number (Identity document, ID) or name
  • processing data address or processing data function name also known as processing data method name
  • the processing data call request initiated by the client may also carry the identification number or name of the intelligent processing data to specify the intelligent processing data that the blockchain needs to run.
  • the intelligent processing data specified by the client in the processing data call request is the processing data that needs to read data
  • the relevant consensus node can call the specified intelligent processing data to access local storage after obtaining the processing data call request to read the data.
  • the data read by the consensus node calling the specified intelligent processing data is included in the above-
  • each consensus node can verify with each other whether the execution results of the business (i.e., the business) are consistent (i.e., performing a consensus vote) after calling the intelligent processing data (i.e., the above-mentioned business execution data) to execute the business. If they are consistent, the execution results of the business can be stored in their respective local ledgers as the business data obtained by executing the business, and the business data obtained by executing the business can be returned to the client through the business node.
  • the client here can be a client deployed on a business node or a client independently deployed on other computer devices, and the specific deployment method of the client will not be limited here.
  • the embodiments of the present application may collectively refer to the service nodes in the service network 110 as the second type of service nodes based on the different roles played by the service network 110 and the inspection network 120 deployed in the service layer, and collectively refer to the service nodes selected from the service network 110 to form the inspection network 120 as the first type of service nodes.
  • the inspection network 120 is constructed by the first type of service nodes, the nodes in the inspection network 120 (i.e., the first type of service nodes) may be collectively referred to as inspection nodes.
  • These inspection nodes may perform the above-mentioned data inspection operation for non-ordinary services (e.g., data inspection services for data inspection determined based on a data location request sent by a certain service node), and the second type of service nodes here may be understood as service nodes deployed in the service network 110 that may perform corresponding operations (e.g., the above-mentioned data submission operation and clearing synchronization operation) for ordinary services (e.g., the above-mentioned services).
  • the service nodes in the service network 110 i.e., any second type of service nodes
  • they when performing the data submission operation in the service layer, they are mainly responsible for submitting the above-mentioned services to the consensus node.
  • the business nodes (second-category business nodes) in the business network 110 perform clearing and synchronization operations for the businesses submitted by themselves, they are mainly responsible for sending requests for clearing and synchronizing business data related to themselves to the consensus nodes (i.e., the above-mentioned clearing and synchronization requests).
  • the clearing and synchronization requests here are used to instruct the consensus nodes to clear and synchronize business data related to themselves to the business nodes (second-category business nodes) in the business network 110; and for the above-mentioned first-category business nodes selected from the business network 110, when the inspection network 120 is constructed by these first-category business nodes, these first-category business nodes in the inspection network 120 can be collectively referred to as inspection nodes. Node.
  • the verification node deployed in the verification network 120 can synchronize the business data identifier of the business data close to the address space of its own node from the blockchain maintained by the consensus node in advance (for example, the data hash value of the business data) before performing the data verification operation in the business layer, and further store the business data identifier of the business data close to the address space of its own node synchronized from the blockchain, so that when the data verification operation is performed in the business layer later, the data verification service for the business data can be provided to the outside (that is, the business node in the business network).
  • any one of the M verification nodes deployed in the verification network refers to the above-mentioned execution verification node for performing data verification operations, where M is a positive integer.
  • the first type of service node used to construct the inspection network 120 is a service node selected from multiple service nodes of the service network that meets the conditions for joining the inspection network; it should be understood that any one of the multiple service nodes deployed in the service network refers to the second type of service node used to perform clearing synchronization operations, that is, the second type of service node here is essentially a service node in the service network that can perform corresponding operations (for example, clearing synchronization operations) for the above-mentioned ordinary services.
  • these service nodes selected from multiple nodes of the service network that meet the conditions for joining, they can not only be used to perform data inspection operations for data inspection services in the inspection network, but also can perform corresponding operations for ordinary services in the service network at the same time (for example, clearing synchronization operations can be performed regularly or on demand, and the specific time for performing clearing synchronization operations will not be limited here).
  • the business data in the embodiments of the present application may specifically include: the business execution result obtained after executing a certain business and the read-write status data associated with the business.
  • the read-write status data here may include but is not limited to the read status data read and called when calling the intelligent processing data to execute the business, and the write status data obtained after calling the intelligent processing data to execute the business.
  • the consensus node can use the write status data of the business as the read status data of the next business when calling the intelligent processing data to execute the next business of the business next time, so as to obtain the write status data of the next business.
  • the business and the next business can be businesses in the same block packaged and generated by the consensus node, or they can be businesses in different blocks, which will not be limited here.
  • the embodiment of the present application proposes that the above-mentioned verification network 120 can be constructed in the hierarchical structure, and the verification nodes in the verification network 120 can provide data verification services to any business node in the business network 110 located in the same business layer.
  • the embodiment of the present application can deploy the verification network 120 in the business layer where the business network 110 is located, and the verification nodes in the verification network 120 can perform the data verification operation for the data verification service provided by itself to the outside.
  • the specific structure of the service network in the embodiment of the present application can refer to the service network 110 shown in FIG. 1 above.
  • the ordinary service provided by the service node in the service network 110 is independent of the data inspection service provided by the inspection node in the inspection network 120. Therefore, at the same service layer, the inspection node in the inspection network 120 can be used to maintain a safe and efficient
  • the data verification process can improve the addressing efficiency of the verification node and ensure the privacy of the business data stored on the business network 110.
  • the business network 110 shown in FIG1 may be deployed with multiple business nodes, and there is no limit here on the number of business nodes deployed in the business network 110.
  • the business network 110 may specifically include business nodes 110a, business nodes 110b, business nodes 110c, ..., business nodes 110n, and these business nodes are all included in the second type of business nodes in the business network 110.
  • the business nodes in the business network 110 may specifically be SPV nodes, and therefore they may also be referred to as business SPV nodes.
  • the inspection network 120 shown in FIG1 may be deployed with multiple inspection nodes, and the number of inspection nodes deployed in the inspection network 120 will not be limited here.
  • the inspection network 120 may specifically include inspection nodes 120a, inspection nodes 120b, inspection nodes 120c, ..., inspection nodes 120m, and these inspection nodes are all included in the first type of business nodes in the business network 110.
  • the inspection nodes in the inspection network 120 may specifically be SPV nodes, and therefore may also be referred to as inspection SPV nodes.
  • the inspection network in the embodiment of the present application may be a network running based on a specific addressing algorithm (such as the Chord algorithm), and addressing between multiple inspection nodes may be achieved through the addressing algorithm, and relevant verification may be performed after the addressing is successful.
  • a specific addressing algorithm such as the Chord algorithm
  • the verification node in the verification network 120 refers to the first type of business node used to perform data verification operations, and the first type of business node here is essentially a business node selected from multiple business nodes deployed in the business network 110 that meets the verification network joining conditions.
  • the first type of business node in the verification network 120 will be referred to as the verification node in the following, and the SPV nodes selected as verification nodes in the business network 110 (i.e., the first type of business nodes) and the SPV nodes not selected as verification nodes (i.e., ordinary business nodes) are collectively referred to as business SPV nodes, or business nodes.
  • the business nodes in the business network 110 and the inspection nodes in the inspection network 120 can access each other.
  • the business nodes in the business network 110 can send a request for verifying a certain business data (for example, the above-mentioned data location request) to any inspection node; for example, if it is necessary to verify the specific data original information of a certain business data, the corresponding inspection node can also further address the node address of the business node and quickly access the business node in the business network 110 that stores the data original information.
  • the multiple service nodes used to construct the service network 110 in the service layer are all second-class service nodes, and the number of service nodes (i.e., first-class service nodes) that can meet the conditions for joining the inspection network selected from the multiple service nodes in the service network 110 is not fixed, but is always in dynamic change, so that when the inspection network 120 is constructed in the same service layer through these service nodes (i.e., first-class service nodes) that meet the conditions for joining the inspection network, the number of inspection nodes in the inspection network 120 (e.g., the value of M) is also dynamically changing.
  • the inspection nodes in the inspection network 120 need to be online for a long time and can be It is run by official or authoritative alliance members. Therefore, after detecting that any business node in the business network 110 meets the specified verification network joining conditions, it can join the verification network 120 as a first-class business node; otherwise, the business node will be used as an ordinary business node to provide ordinary SPV services (i.e. the above-mentioned ordinary services).
  • the network joining conditions may specifically include that before joining the inspection network 120, the current online time in the business network 120 is counted to meet a certain continuous online time limit (that is, the continuous online time of the business node is greater than the online time threshold, for example, 5 days), the ping return delay is lower than the delay threshold (for example, 10ms), etc.
  • a certain continuous online time limit that is, the continuous online time of the business node is greater than the online time threshold, for example, 5 days
  • the ping return delay is lower than the delay threshold (for example, 10ms)
  • the embodiments of the present application do not limit this.
  • the embodiment of the present application provides a business data verification method based on an addressing algorithm.
  • the core is that under the hierarchical structure of "business network-consensus network", a verification network 120 other than the business network 110 is introduced into the business layer, and then in the introduced verification network 120, data verification can be supported between multiple verification SPV nodes.
  • the data verification here specifically includes directional data addressing and verification.
  • directional data addressing means that a certain inspection node in the inspection network 120 can query in advance through the resource location table whether it is the node mapping identifier closest to the business data identifier of a certain business data in the specified order of the mapping space, and then the inspection node corresponding to the node mapping identifier closest to the business data identifier of the business data can be used as the addressed inspection node. At this time, the node address of the addressed inspection node can be used to locate the node address of the business node currently storing the business data.
  • verification can include at least one or more of the following, such as Merkel root verification based on the Merkel path associated with the business data, signature verification based on the node signature set associated with the target block where the target business data is located, and original text verification based on the data original information (referred to as original text) of the target business data.
  • original text verification means that the currently addressed verification node can further obtain the data original information (referred to as original text) of the business data currently stored in the address of the business node through the node address of the business node located in its own node address, and generate verification certification information for the authenticity and reliability of the business data for the obtained data original information (referred to as original text).
  • the verification certification information here can be used to reflect the data integrity and authenticity of the business data that the currently located business node has cleared and synchronized from the blockchain in advance.
  • the addressing algorithm may use the Chord algorithm, thereby providing high efficiency and overall security for data verification.
  • the present application embodiment may refer to any entity object (e.g., individual user, enterprise user, organization, etc.) with business data verification requirements as a business object.
  • the present application embodiment may refer to the business network 110 as a business object. Any business node that interacts with a business object is called a first business node (for example, business node 110a), that is, the first business node here can be any business node in the current business network 110.
  • the first business node can entrust any verification node in the verification network 120 (that is, the execution verification node, for example, the verification node 120a) to provide the business object with a verification certificate of authenticity.
  • the first business node here is included in the business network 110, and the execution verification node here is any verification node randomly selected from the verification network 120 for performing data verification operations.
  • the target business data in the embodiment of the present application may include the target business data obtained after executing the target business, and the target business data here may include one or more of the target business execution result and/or the target read-write status data, which is not limited here.
  • the target service here may be a service initiated by a certain entity object (which may be called a service initiating object, which may be the same as or different from the aforementioned service object) through a second service node (eg, the aforementioned common service node), and the second service node (eg, service node 110b) is included in the service network.
  • a certain entity object which may be called a service initiating object, which may be the same as or different from the aforementioned service object
  • a second service node eg, the aforementioned common service node
  • the second service node eg, service node 110b
  • the second service node and the first service node can be the same service node or different service nodes, which is not limited here.
  • M is a positive integer
  • these M inspection nodes are determined by the service nodes (i.e., the first type of service nodes) selected from the service network that meet the conditions for joining the inspection network.
  • the embodiment of the present application may refer to the inspection node among the M inspection nodes that is entrusted by the business object to inspect the target business data as an execution inspection node.
  • the execution inspection node may be any inspection node among the M inspection nodes (for example, inspection node 120a).
  • the execution inspection node may be the first inspection node randomly selected from the M inspection nodes to receive a data location request and perform data inspection.
  • the execution verification node may also be the verification node with the longest online time selected from the M verification nodes based on a preset rule.
  • the verification node with the longest online time when used as the verification execution node, it can be used to receive data location requests and perform data verification.
  • one of the verification nodes with the longest online time may be randomly selected as the execution verification node here. In other words, the embodiment of the present application will not limit the specific implementation method of selecting the execution verification node from the M verification nodes.
  • the execution inspection node if no data related to or matching the target business data identifier of the target business data carried in the data location request is found at the node address of the execution inspection node (i.e., the first node address), then it is possible to further jump to the next inspection node of the execution inspection node according to the resource location table maintained by the execution inspection node to continue the query.
  • the next inspection node of the execution inspection node is the adjacent inspection node, and the adjacent node mapping identifier recorded in the resource location table maintained by the execution inspection node is the node mapping identifier of the adjacent inspection node.
  • the node mapping identifier corresponding to the first node address is the first node mapping identifier.
  • the embodiment of the present application can be in the first order, in the adjacent node mapping identifiers recorded in the resource location table that are greater than the first node mapping identifier, traverse and select the adjacent node mapping identifier as the target adjacent verification node mapping identifier, and the synchronization data identifier of the on-chain synchronization data information synchronized from the blockchain stored on the target adjacent verification node address corresponding to the target adjacent verification node mapping identifier is called the target synchronization data identifier of the target on-chain synchronization data information, where the target synchronization data identifier is included in the business data identifier of the business data synchronized from the blockchain.
  • the execution inspection node can determine whether the target business data identifier is within the spatial range determined by the first node mapping identifier and the target adjacent inspection node mapping identifier when performing data inspection based on the resource location table. If it is determined to be yes, the target adjacent inspection node mapping identifier can be determined as the node mapping identifier closest to the target business data identifier in the first order, and then the data location request obtained by the execution inspection node can be forwarded to the inspection node corresponding to the target adjacent inspection node mapping identifier (i.e., the target adjacent inspection node), so that the target adjacent inspection node performs data inspection on the target business data.
  • the node address of the target adjacent inspection node here is the target adjacent inspection node address.
  • the business submitted by the business nodes in the business network to the consensus nodes may include but is not limited to bill business (for example, electronic bill issuance business, electronic bill circulation business, electronic bill red-off business, electronic bill archiving business and other electronic bill-related businesses), bill derivative business associated with bill business (for example, credit business, loss-in-and-loss business, enterprise qualification business, credit investigation business, social business, credit purchase business and tax refund business, lottery business, etc.), file business (for example, electronic file issuance business, electronic file circulation business, electronic file correction business, electronic file archiving business and other electronic file-related businesses), file derivative business associated with file business (for example, institutional cooperation business, enterprise qualification business, prescription statistics business, qualification review business, government
  • the target business can be any business requested by the business initiator (such as electronic invoice issuance business); accordingly, the business data generated by the consensus node after executing these businesses (such as the target business data) may include but is not limited to the electronic invoice associated with the electronic invoice issuance task in the invoice business, the partially authorized visible invoice information in
  • the read-write status data associated with the business data may include the data state of the business initiator after calling the business processing data on the blockchain to execute the business (such as the business read-write set obtained after executing the business).
  • the business processing data used to execute the above business operations may include but is not limited to electronic invoice issuance processing data, electronic invoice circulation processing data, electronic invoice redemption processing data, electronic invoice archiving processing data, invoice derivative business processing data, tax application processing data, electronic document issuance processing data, electronic document circulation processing data, electronic document
  • the data include document correction processing data, electronic document archiving processing data, document derivative business processing data, etc., which are not limited here.
  • the embodiment of the present application can configure a blockchain node for any role (for example, any individual user, any enterprise, any institution, etc.) that accesses the hierarchical chain network through the consensus node in the consensus network (such as the above-mentioned consensus network 200a). Therefore, in the business network 110 shown in Figure 1, business nodes 110a, business nodes 110b, business nodes 110c, business nodes 110d, ..., business nodes 110n can have a one-to-one correspondence with the corresponding roles (such as the aforementioned business initiation objects or business objects) that need to access the hierarchical chain network. Take the business initiation object requesting the execution of a certain business as an enterprise user as an example.
  • the blockchain node associated with each enterprise user can be the same blockchain node (for example, the business node 110c shown in Figure 1 above can interact with the business terminals corresponding to multiple enterprise users).
  • the bill business requested by each enterprise user for example, electronic bill issuance business, electronic bill circulation business, electronic bill red-off business, electronic bill archiving business and other electronic bill-related businesses
  • a business i.e., the above-mentioned business.
  • data can be exchanged with the consensus node (for example, consensus node 130a) in the consensus network 200a through the business node 110c shown in Figure 1 to request the completion of the corresponding business; similarly, the billing enterprise B can also exchange data with the consensus node (for example, consensus node 130a) in the consensus network 200a through the business node 110c shown in Figure 1 to request the completion of the corresponding business; and by analogy, the billing enterprise C can also exchange data with the consensus node (for example, consensus node 130a) in the consensus network 200a through the business node 110c shown in Figure 1 to request the completion of the corresponding business.
  • the billing enterprise B can also exchange data with the consensus node (for example, consensus node 130a) in the consensus network 200a through the business node 110c shown in Figure 1 to request the completion of the corresponding business
  • the billing enterprise C can also exchange data with the consensus node (for example, consensus node 130a) in the consensus network 200a through the business node 110c shown in Figure 1 to request the completion of the
  • the embodiments of the present application can take the business of bill business (for example, electronic bill issuance business) as an example.
  • a business node associated with a business initiating object for example, billing enterprise A
  • the business request initiated by the business initiating object can be forwarded to a consensus node in the consensus network, so as to verify the business legitimacy of the business request initiated by the business initiating object through the consensus node.
  • the consensus node can add the business requested by the business initiating object (for example, the above-mentioned bill business) to the business pool when the business legitimacy verification is passed, so that the business data associated with the business (for example, the above-mentioned bill business) can be packaged into blocks later, so as to perform block consensus between the consensus nodes in the consensus network, so that after the block consensus is passed, the block data of the block (the block data here at least includes the business data of the business) can be written to the local cache and local storage, so that the block data of multiple blocks can be stored in parallel based on the above-mentioned distributed storage, that is, the block data of multiple blocks can be stored in parallel to the blockchain, so that the business nodes associated with the business initiating object (for example, the invoicing enterprise A) can clear and synchronize the business data of the business from the blockchain when performing the clearing synchronization operation.
  • the business nodes associated with the business initiating object for example, the invoicing enterprise A
  • the Chord algorithm is a consistent hashing algorithm, which is mainly used to solve the address management and addressing operations of a large number of nodes in the network.
  • Each node can map its own address to a global address space (here The global address space may be the above-mentioned mapping space), and some corresponding routing table designs may be used to record nodes in this global address space that are at different distances from itself, thereby enabling the entire network to have the ability to discover and address nodes.
  • address management refers to the node mapping processing of each node (here refers to the inspection node).
  • the Chord algorithm is a P2P protocol for solving the problem of data location within a business network, and can find the data resources that the business object is looking for by jumping through multiple nodes.
  • the execution verification node in the verification network (such as the aforementioned verification node 120a) can obtain a data location request for the target business data sent by the business object through the first business node (such as the aforementioned business node 110a).
  • the execution verification node can respond to the target business data identifier of the target business data identified from the data location request, determine the first node mapping identifier of the execution verification node in the mapping space corresponding to the verification network, and then can perform data verification on the target business data identifier through the resource location table associated with the first node address of the execution verification node in the order after the node mapping identifiers in the mapping space are arranged (for example, the first order after arrangement from small to large) to obtain a first data verification result.
  • the mapping space is a global address space for performing node mapping processing and addressing operations on M inspection nodes in the inspection network (i.e., all inspection nodes in the inspection network), and in the global address space, a node mapping identifier is obtained after address mapping the node address of a inspection node.
  • the addressing direction here can be determined by the direction indicated by the first order of the mapping space, that is, the addressing direction can specifically refer to the clockwise direction determined when the execution inspection node performs the addressing operation in the ring mapping space, and the clockwise direction is the direction obtained or displayed after the execution inspection node arranges the node mapping identifiers in the ring mapping space from small to large when performing the node mapping processing.
  • the addressing operation here means that the execution inspection node can search for the node address corresponding to the node mapping identifier closest to the target business data identifier in the current direction in the ring mapping space corresponding to the current inspection network through a nonlinear search method, and then it can be determined whether the node mapping identifier closest to the target business data identifier can be found in the current direction. If found, the node address found in the addressing direction can be regarded as the node address of the verification node addressed in the verification network. It should be understood that the node address found in the addressing direction is the node address of the successor node of the node executing the verification. At this time, the node address of the successor node of the node executing the verification is the adjacent node address.
  • the verification nodes corresponding to the adjacent node addresses can be collectively referred to as adjacent verification nodes. Based on this, the embodiment of the present application can refer to the adjacent verification nodes for receiving data location requests found in the addressing direction through the resource location table as target adjacent verification nodes.
  • the adjacent node addresses of each adjacent verification node here can be used to store the synchronization data identifier of the on-chain synchronization data information synchronized from the blockchain corresponding to the consensus network and close to its own address space.
  • the synchronization data identifier stored by the adjacent node address can include the target business data identifier of the above-mentioned target business data.
  • the neighboring node address corresponding to the neighboring node mapping identifier in the resource location table is used to store the business data identifier of the business data synchronized from the blockchain corresponding to the consensus network.
  • These synchronized business data identifiers include the target synchronization data identifier.
  • the target synchronization data identifier here refers to the target synchronization data identifier of the target chain synchronization data information synchronized from the blockchain stored on the target neighboring verification node address corresponding to the target neighboring verification node mapping identifier.
  • the neighboring node address is the node address located after the first node address in the addressing direction.
  • the execution inspection node can further find the node mapping identifier closest to the target business data identifier in the second order (i.e., the order opposite to the first order) in the node routing list it maintains as the second node mapping identifier, and then forward the data location request carrying the target business data identifier to the target inspection node (such as the inspection node 120d) corresponding to the second node mapping identifier.
  • the target inspection node here is the inspection node for receiving the data location request found by the execution inspection node through the node routing list in the second order.
  • the target inspection node after the target inspection node obtains the data location request, it can further determine that the second node mapping identifier (i.e., the routing node mapping identifier determined by the node mapping identifier of the target inspection node stored in the node routing list) is the node mapping identifier closest to the target business data identifier in the addressing direction, and then the target business data can be verified by the second node address corresponding to the second node mapping identifier (for example, the above verification), and then the authenticity of the target business data can be verified.
  • the second node mapping identifier i.e., the routing node mapping identifier determined by the node mapping identifier of the target inspection node stored in the node routing list
  • the target business data can be verified by the second node address corresponding to the second node mapping identifier (for example, the above verification), and then the authenticity of the target business data can be verified.
  • the node address of the target verification node here (i.e., the second node address) can be used to store the target business data identifier of the target business data that is close to its own address space, and can also be used to store the node address of the business node associated with the target business data identifier (e.g., IP address). It should be understood that the node address of the business node (e.g., IP address) is used to instruct the target verification node to quickly locate the business node that currently stores the target business data in the business network.
  • IP address the node address of the business node
  • the target verification node when the target verification node needs to verify the original text of the target business data stored on the business node, it can access the original text of the target business data through the node address of the business node stored in the second node address (e.g., IP address) to verify the original text of the target business data.
  • the node address of the business node stored in the second node address e.g., IP address
  • the embodiment of the present application can support the business object to randomly initiate a data location request for a certain business data (such as the aforementioned target business data) to any inspection node in the inspection network (such as the aforementioned execution inspection node) by deploying the inspection network in the business layer where the business network is located.
  • a certain business data such as the aforementioned target business data
  • any inspection node in the inspection network such as the aforementioned execution inspection node
  • the inspection node (such as the aforementioned execution inspection node) can quickly find the inspection node (such as the aforementioned target adjacent inspection node or target inspection node) corresponding to the node mapping identifier that is currently known to the inspection node (such as the aforementioned execution inspection node) and is closest to the business data identifier (such as the aforementioned target business data identifier) of the business data through the resource location table and node routing list maintained by itself, and can forward the data location request to the addressed inspection node (for example, the target adjacent inspection node or the target inspection node), so that the addressed inspection node (for example, the target adjacent inspection node or the target inspection node) can adopt a similar method to the execution inspection node.
  • the addressed inspection node for example, the target adjacent inspection node or the target inspection node
  • the nonlinear search method is used to continue searching until the inspection node closest to the target business data identifier is found in the first order of the entire inspection network, and the addressing of the search node in the inspection network is completed. Subsequently, the inspection node finally addressed can perform relevant verification on the above business data.
  • the nonlinear search method adopted in the embodiment of the present application can achieve addressing by jumping to a small number of inspection nodes in the inspection network, thereby effectively shortening the addressing distance, so as to improve the addressing efficiency of the inspection node, and then improve the inspection efficiency of the business data by quickly addressing the inspection node.
  • Figure 2 is a schematic diagram of a data processing scenario based on a hierarchical chain network provided by an embodiment of the present application.
  • the inspection node 20A shown in Figure 2 can be used as the above-mentioned execution inspection node, and the inspection node 20A can be any inspection node (for example, inspection node 120a) in the inspection network (for example, the inspection network 120 shown in Figure 1 above).
  • the inspection node 20B shown in Figure 2 can be used as the above-mentioned target inspection node, that is, when the mapping space includes a ring mapping space
  • the inspection node 20B can be any inspection node (for example, inspection node 120c) deployed after the execution inspection node in the ring mapping space corresponding to the inspection network 120 shown in Figure 1 above.
  • the embodiment of the present application can be in the addressing direction indicated in the ring mapping space, the inspection node deployed after the execution inspection node is collectively referred to as the successor node of the execution inspection node, and the inspection node deployed before the target inspection node is referred to as the pre-order node of the target inspection node.
  • the target inspection node here can be the successor node of the execution inspection node, and the execution inspection node can be the predecessor node of the target inspection node.
  • the mapping space here is a global address space for node mapping processing (i.e., node management) and addressing operations for the M inspection nodes constituting the inspection network (for example, the inspection network 120 shown in FIG. 1 above), and the node identifiers in the global address space (for example, the node mapping identifier) are obtained after the node addresses of the M inspection nodes are mapped to the mapping space.
  • the node mapping identifiers arranged from small to large can be The order is taken as the first order, and then the smallest node mapping identifier and the largest node mapping identifier can be connected in the first place according to the first order to obtain the above-mentioned ring mapping space, so that in the addressing direction indicated by the ring mapping space (for example, the above-mentioned clockwise direction), it can be ensured that the node mapping identifier of the node executing the inspection is smaller than the node mapping identifier of the target inspection node.
  • the node address of the target inspection node can be collectively referred to as an adjacent node address, and the node mapping identifier corresponding to the adjacent node address will be greater than the node mapping identifier corresponding to the node address of the node executing the inspection (that is, the first node address).
  • user X shown in Figure 2 can be used as the above-mentioned business object, and the business node 20C associated with the user X can be used as the above-mentioned first business node.
  • the business node 20C can be any business node (for example, business node 110a) in the business network (for example, the business network 110 shown in Figure 1 above). It can be understood that the business node 20C can be used when the business terminal used by user X is connected. Alternatively, the service node 20C may be a service node corresponding to the service terminal used by user X, which is not limited here.
  • the business node 20C is included in the business network (such as the business network 110 shown in FIG. 1 above), and the inspection node 20A and the inspection node 20B are included in the inspection network (for example, the inspection network 120 shown in FIG. 1 above).
  • the inspection node 20A and the inspection node 20B here are essentially business nodes selected from the business network (such as the business network 110 shown in FIG. 1 above) that meet the above-mentioned inspection network joining conditions.
  • the business data 201a can include relevant business execution results or relevant read-write status data.
  • the business data 201a here can also include business data and read-write status data at the same time, which is not limited here.
  • a certain business data in the business data can be referred to as target business data.
  • the read-write status data in the target business data can be referred to as target read-write status data.
  • business data 201a is business data associated with a certain business (such as an asset transfer business)
  • the business data in business data 201a may include business data A1 generated when user 1 transfers virtual assets (for example, electronic bills, etc.) to user 2
  • the read-write status data A2 related to the business data A1 may include but is not limited to the remaining asset amount of user 1 and the remaining asset amount of user 2 recorded by the intelligent processing data after user 1 calls the intelligent processing data to transfer a certain amount of virtual assets to user 2.
  • the addressing algorithm used in the verification network can be specifically the Chord algorithm or other available addressing algorithms.
  • the embodiment of the present application takes the addressing algorithm as the Chord algorithm as an example for explanation.
  • the Chord algorithm is often used to construct a distributed hash table (DHT) of a structured point-to-point network.
  • DHT distributed hash table
  • the main idea of DHT is to make the access of resources on the network as simple and fast as reading and writing a hash table.
  • each file index is represented as a (K, V) pair
  • K is called a keyword, which can be a hash value of the file name (or other descriptive information of the file)
  • V is the IP (Internet Protocol) address (or other descriptive information of the node) of the node that actually stores the file.
  • All file index entries (that is, all (K, V) pairs) form a large file index hash table. As long as the K value of the target file is entered, the addresses of all nodes storing the file can be found from this table. Then, the large file index hash table is divided into many local small blocks, and the local hash tables of these local small blocks are distributed to all the inspection nodes in the inspection network according to specific rules, so that each inspection node is responsible for maintaining the local small blocks.
  • the execution inspection node mentioned above when a certain inspection node (for example, the execution inspection node mentioned above) needs to query a file, it only needs to route the query message to the corresponding inspection node (for example, the target inspection node mentioned above) (the local hash table maintained by the inspection node contains the (K, V) pair to be searched).
  • the embodiment of the present application can also use the Chord algorithm to map the node address of each inspection node in the inspection network (i.e., Node, which may include the node's IP address and port number Port) and the business data stored by each business node in the business network (i.e., Key) to the same mapping space when the addressing algorithm includes the Chord algorithm, thereby ensuring consistent hashing.
  • Node which may include the node's IP address and port number Port
  • the business data stored by each business node in the business network i.e., Key
  • the embodiment of the present application can select a specified hash mapping function (such as SHA-1, i.e., Secure Hash Algorithm 1) in advance through the obtained Chord algorithm, and generate/construct a hash space (i.e., the above-mentioned global address space) with a space size of 2 m for the M inspection nodes in the currently constructed inspection network through the hash mapping function.
  • a hash mapping function such as SHA-1, i.e., Secure Hash Algorithm 1
  • a hash space i.e., the above-mentioned global address space
  • the value range of the entire hash space is 0 to 2 m -1
  • each hash value is an integer with a hash length of m bits.
  • the embodiment of the present application can map the node address of each inspection node in the M inspection nodes to the hash space through the agreed hash mapping function, and then the hash space (i.e., the above-mentioned global address space) containing the node mapping identifiers of the M inspection nodes in the hash space can be used as the mapping space, and then the node mapping identifiers obtained by these mappings can be arranged from small to large in the mapping space, and the order after sorting from small to large is used as the first order of the mapping space.
  • the mapping space here includes node mapping identifiers corresponding to the M inspection nodes respectively, and the node mapping identifiers are obtained by mapping the node addresses of the M inspection nodes to the same mapping space respectively.
  • the embodiment of the present application may arrange the mapped node mapping identifiers from small to large, and then connect the smallest node mapping identifier and the largest node mapping identifier in the first place, so as to determine the mapping space constructed in the shape of a ring as a ring mapping space.
  • the ring here may specifically include but is not limited to closed shapes such as triangles, quadrilaterals, pentagons, hexagons, circles, and ellipses, and the specific closed shapes will not be limited here.
  • the embodiments of the present application can share the same shape of ring mapping space according to different specific business scenarios.
  • the embodiments of the present application can also adaptively construct ring mapping spaces of different shapes according to different business scenarios and specific businesses to improve the efficiency of directional data addressing.
  • a circular ring mapping space can be used, while in other business scenarios, ring mapping spaces of other shapes can be used.
  • the ring mapping space with a circular shape constructed as above can be further determined as a hash ring, and each node mapping identifier on the hash ring can be specifically determined by the hash value (for example, the address hash value) obtained after hashing the node address of the inspection node.
  • each node mapping identifier on the hash ring can be a hash value with a hash length of m bits.
  • each node mapping identifier on the hash ring can also be a decimal integer value obtained by decimal conversion of the hash value with a hash length of m bits.
  • the embodiments of the present application may also connect these hash values (for example, address hash values) end to end on the hash ring to form a virtual ring, which is called a Chord Ring.
  • the hash values (for example, address hash values) can be arranged clockwise on the Chord ring according to the size of the hash values, so that both the node address and the business data can be mapped to the Chord ring. In this way, it can be assumed that the state of the entire point-to-point network is a virtual ring.
  • the Chord ring here is included in the above-mentioned hash ring, and the hash ring is included in the ring mapping space, and the ring mapping space is included in the mapping space.
  • the clockwise direction formed when the Chord ring is arranged clockwise by size is the addressing direction indicated by the Chord ring for directional data addressing, so in the clockwise direction, the node located in front of any inspection node (for example, node x) can be called the predecessor node (or predecessor node, predecessor) of the node x, where the first predecessor node can be called the direct predecessor node; similarly, the node located after the node x can be called the successor node (successor) of the node x, where the first successor node can be called the direct successor node.
  • the embodiment of the present application can determine the hash mapping function that matches the corresponding business scenario based on a certain addressing algorithm, and then can be based on the hash transformation characteristics possessed by the hash mapping function itself, after the corresponding data (for example, the node address and/or business data of the above-mentioned inspection node) is hashed, a hash value with a hash length of m bits is obtained.
  • the embodiment of the present application can pre-construct a hash space (that is, the above-mentioned global address space) with a space size of 2 m through a specific hash mapping function.
  • the pre-constructed hash space (that is, the above-mentioned global address space) with a space size of 2 m can be used as a mapping space to map the corresponding data (for example, the node address and/or business data of the above-mentioned inspection node) to the mapping space respectively.
  • the embodiments of the present application may also use the same addressing algorithm to perform address mapping on the node addresses of all inspection nodes in the inspection network (i.e., the M inspection nodes mentioned above), so as to map the node addresses of these inspection nodes to a pre-constructed global address space, thereby obtaining a new global address space.
  • the embodiments of the present application may refer to the new global address space as a mapping space.
  • mapping space obtained by the mapping can be identified, organized and arranged in a specified order (for example, the first order mentioned above).
  • a mapping space i.e., the mapping space in the shape of a ring
  • the addressing direction may be determined by the direction indicated by the first order.
  • the embodiment of the present application may rely on identifiers in the mapping space (e.g., node mapping identifiers), reorganize and arrange these node mapping identifiers from small to large along the ring mapping space, and use the clockwise direction presented after the arrangement from small to large in the ring mapping space as the addressing direction.
  • the size of the ring space of the hash ring is still 2m , where m is a positive integer.
  • the ring space of the hash ring can record and mark the identifiers of at most 2m non-overlapping data mapped on the hash ring.
  • the data here can be the node address of the inspection node
  • the ring space of the hash ring can record and mark the node mapping identifiers of at most 2m non-overlapping inspection nodes mapped on the hash ring.
  • the ring space of the hash ring can record and mark the business data identifiers of at most 2m non-overlapping business data mapped on the hash ring.
  • the consensus node in the consensus network stores the business data of a certain business on the blockchain
  • the consensus node can perform a hash calculation on the business data of the business based on the above-mentioned hash mapping function, and then the business data identifier of the business data obtained after the subsequent hash calculation can be marked and displayed in the ring space of the hash ring.
  • the consensus node in the consensus network involved in the embodiment of the present application can also authorize the business node to clear and synchronize the business data related to the business submitted by itself and the original data information of the business data from the blockchain after storing the business data of a certain business on the blockchain.
  • the business node stores and processes the business data and the original data information of the business data, it can also perform hash calculation on the business data based on the above-mentioned hash mapping function to identify the business data obtained after the subsequent hash calculation, and mark it in the ring space of the hash ring.
  • the same business data will be marked and displayed at the same spatial position in the ring space of the same hash ring through the same hash mapping function.
  • each identifier (such as the node mapping identifier and the service data identifier) actually mapped in the ring space of the hash ring are all included in the space range corresponding to the ring space.
  • the range value in the space range can be 0 to 2 m -1 determined by the hash mapping function.
  • the space impact parameter here is also used to indicate that the node mapping identifier at each inspection node is calculated by hashing the node address of each inspection node.
  • the hash length of the hash value obtained later for example, the hash length here can be the fixed-length sequence value indicated by the above-mentioned specific hash mapping function, for example, the number of binary bits in the fixed-length sequence value is m bits.
  • the embodiment of the present application does not limit the value of m.
  • the node address of each inspection node in the inspection network can be mapped to the ring space, so as to obtain a node mapping identifier corresponding to a certain position on the ring space (i.e., NodeID, for example, the node mapping identifier 201d corresponding to the inspection node 20A shown in Figure 2 can specifically be the identifier N8 on the ring space); similarly, the business data stored by the business node can also be mapped to the ring space, so as to obtain a data identifier corresponding to a certain position on the ring space (i.e., KeyID).
  • the length of the node mapping identifier and the data identifier are both m bits.
  • the node mapping identifier and the data identifier are assigned to a ring of size 2m , which are used for business data allocation (to a certain inspection node) and inspection node distribution, as well as business data positioning.
  • the node address of the node executing the inspection may be referred to as the first node address
  • the node mapping identifier obtained after mapping the first node address to the ring mapping space may be referred to as the first node mapping identifier
  • the node address of the target inspection node may be referred to as the second node address
  • the node mapping identifier obtained after mapping the second node address to the ring mapping space may be referred to as the second node mapping identifier, and so on.
  • the data identifier obtained after mapping the target business data to the ring mapping space may be referred to as the target business data identifier.
  • the inspection network includes a total of M inspection nodes (M is a positive integer).
  • M is a positive integer.
  • the address mapping involved in the embodiment of the present application refers to performing a hash calculation on the node address of each inspection node through the hash algorithm selected by the above-mentioned Chord algorithm.
  • a correspondence that is, a mapping relationship between the node mapping identifier and the corresponding node address can be established in the ring space of the hash ring, and then the node mapping identifiers of these inspection nodes can be identified and displayed at the corresponding spatial positions in the ring space of the hash ring.
  • the node mapping identifier here can also be a hash value of a specific hash length (i.e., the m bits mentioned above, which can also be referred to as m bits in binary) converted into a binary system (for example, The decimal conversion is performed), and the integer obtained after the decimal conversion is further used as the node mapping identifier.
  • a specific hash length i.e., the m bits mentioned above, which can also be referred to as m bits in binary
  • the node mapping identifier of each inspection node is generated or determined by a hash value with a hash length of 6 bits.
  • the node mapping identifier of each inspection node can be taken as an example of an address hash value with a hash length of m bits obtained by mapping the node address of each inspection node to the ring space of the hash ring, so the obtained 10 node mapping identifiers (i.e., 10 address hash values with a length of 6 bits) can be arranged from small to large according to the specified addressing direction (such as clockwise) and displayed in the ring space of the hash ring.
  • these 10 node mapping identifiers are represented in a clockwise direction as identifier N1, identifier N8, identifier N14, identifier N21, identifier N32, identifier N38, identifier N42, identifier N48, identifier N51, and identifier N56.
  • identifier N1 identifier N8, identifier N14, identifier N21, identifier N32, identifier N38, identifier N42, identifier N48, identifier N51, and identifier N56.
  • the address hash values of each 6 bits in length can be treated as binary integers of each 6 bits in length for binary integer comparison.
  • the business data identifiers of each business data can be obtained, and each business data identifier is also a 6-bit binary integer.
  • the embodiment of the present application can assign the business data identifiers of each business data to the inspection node corresponding to the node mapping identifier closest to its own data identifier in the addressing direction indicated by the ring space of the hash ring (such as clockwise direction), that is, any inspection node can be used to store data identifiers close to its own node mapping identifier.
  • the inspection node can be called the successor node of the business data corresponding to the data identifier KeyID, that is, in the ring space of the hash ring, the inspection node is the first inspection node in the addressing direction starting from KeyID, which can be recorded as successor (KeyID).
  • the business data identifiers of the above five business data are respectively identifier K10, identifier K24, identifier K30, identifier K38, and identifier K54, the business data identifiers can be allocated and the business data can be located based on these business data identifiers.
  • the successor node of the business data corresponding to identifier K10 is the inspection node corresponding to identifier N14, that is, identifier K10 is assigned to the inspection node corresponding to identifier N14, then the subsequent inspection node corresponding to identifier N14 will be responsible for the addressing of the business data corresponding to identifier K10, that is, when the inspection node corresponding to identifier N14 is addressed based on identifier K10 in the inspection network, the inspection node corresponding to identifier N14 can be used to quickly locate and address the business node that currently stores the business data corresponding to identifier K10.
  • user X can send a data location request (e.g., data location request 201b) for service data 201a to the inspection node 20A in the inspection network through the associated service node 20C.
  • the inspection node 20A can obtain the data identifier of the service data 201a (i.e., The aforementioned target business data identifier, for example, business data identifier 201c), wherein the business data identifier 201c is obtained by pre-mapping the business data 201a to the ring space of the hash ring as shown in FIG.
  • the node address of the verification node 20A (that is, the aforementioned first node address) can also be pre-mapped to the ring space of the hash ring as shown in FIG. 2 to obtain the node mapping identifier of the verification node 20A (that is, the aforementioned first node mapping identifier, for example, node mapping identifier 201d); at the same time, the node address of the verification node 20B (that is, the aforementioned second node address) can be pre-mapped to the ring space as shown in FIG. 2 to obtain the node mapping identifier of the verification node 20B (that is, the aforementioned second node mapping identifier, for example, node mapping identifier 201h).
  • the inspection node 20A can obtain a resource location table (e.g., resource location table 201e) associated with the node address corresponding to its node mapping identifier 201d, which can be used to record adjacent node mapping identifiers greater than the node mapping identifier 201d.
  • the node address of the inspection node corresponding to the adjacent node mapping identifier can be called an adjacent node address, which is the node address located after the node address of the inspection node 20A in the addressing direction, that is, the inspection node corresponding to the adjacent node mapping identifier is the successor node of the inspection node 20A.
  • the embodiment of the present application does not limit the specific number of adjacent node mapping identifiers stored in the resource location table.
  • the adjacent node address can also be used to store the business data identifier assigned to itself.
  • the adjacent node address corresponding to the adjacent node mapping identifier can be used to store the business data identifier of the business data synchronized from the blockchain with its own adjacent node mapping identifier.
  • the business data identifiers of these business data synchronized from the blockchain can be collectively referred to as synchronization data identifiers
  • the business data corresponding to the synchronization data identifiers can be collectively referred to as on-chain synchronization data information
  • the synchronization data identifiers here are synchronized from the blockchain corresponding to the consensus network by the inspection node corresponding to the adjacent node mapping identifier
  • the on-chain synchronization data information can be obtained by the relevant business nodes after clearing and synchronizing through the consensus nodes when performing clearing and synchronization operations.
  • the node mapping identifier 201d of the inspection node 20A is specifically the aforementioned identifier N8, and the resource location table 201e associated with the node address of the identifier N8 contains 4 adjacent node mapping identifiers, namely identifier N14, identifier N21, identifier N32 and identifier N38.
  • the inspection nodes corresponding to these 4 adjacent node mapping identifiers are all successor nodes of the inspection node 20A; in addition, the adjacent node addresses corresponding to each adjacent node mapping identifier (that is, the node addresses of these successor nodes) can be used to store the synchronization data identifier of the business data related to itself (that is, the on-chain synchronization data information). For example, taking the adjacent node mapping identifier as identifier N14 as an example, the inspection node corresponding to the identifier N14 can synchronize the business data identifiers of 5 business data, and the business data identifier of each business data is the synchronization data identifier of the corresponding on-chain synchronization data information.
  • the business data identifiers of the five business data stored in the node address of the inspection node corresponding to the identifier N14 are the identifier E1 of the on-chain synchronization data information 1, the identifier E2 of the on-chain synchronization data information 2, the identifier E3 of the on-chain synchronization data information 3, the identifier E4 of the on-chain synchronization data information 4, and the identifier E5 of the on-chain synchronization data information 5. According to the identification E5 of information 5.
  • the verification node 20A can perform data verification on the business data identifier (i.e., the target business data identifier, for example, the target business data identifier can specifically be the business data identifier 201c shown in Figure 2) of the business data 201a in the addressing direction indicated by the ring space of the hash ring (e.g., clockwise direction) through the above-mentioned resource location table 201e, thereby obtaining the corresponding data verification result (i.e., the first data verification result, such as the data verification result 201f).
  • the target business data identifier i.e., the target business data identifier
  • the target business data identifier can specifically be the business data identifier 201c shown in Figure 2
  • the business data identifier 201a in the addressing direction indicated by the ring space of the hash ring (e.g., clockwise direction) through the above-mentioned resource location table 201e, thereby obtaining the corresponding data verification result (i.e.,
  • the data verification result (i.e., the first data verification result, such as the data verification result 201f) can be used to indicate whether the business data identifier synchronized from the blockchain by the verification node (i.e., the successor node of the verification node 20A) in the resource location table 201e contains the target business data identifier.
  • the purpose of the data verification is to determine whether the successor node of the verification node 20A holds the business data identifier 201c currently being searched. For example, assuming that the business data identifier 201c of the business data 201a is the identifier K24 in the ring space shown in FIG2 , the verification node 20A with the identifier N8 can first search the resource location table 201e for the node mapping identifier of its direct successor node, that is, the identifier N14.
  • the identifier K24 to be searched does not fall between the identifiers N8 and N14 (that is, the identifier K24 is outside the spatial range (N8, N14]), then it can be determined that the identifier K24 does not exist on the verification node corresponding to the identifier N14, that is, the identifier K24 is not included in the five business data identifiers synchronized by the verification node corresponding to the identifier N14.
  • Contains the target business data identifier for example, the five synchronization data identifiers (i.e., identifiers E1 to E5) synchronized to the inspection node corresponding to identifier N14 shown in Figure 2 do not include identifier K24.
  • the direct successor node of the inspection node 20A fails, the data inspection related to the direct successor node cannot be performed.
  • the data inspection can be performed sequentially through the resource location table 201e. For example, when the inspection node corresponding to identifier N14 is detected to be invalid, the inspection node 20A can determine whether the next successor node (i.e., the inspection node corresponding to identifier N21) holds identifier K24 through a similar process.
  • the inspection node 20A here can be the execution inspection node that currently receives the data location request
  • the resource location table associated with the node address of the execution inspection node can be the resource location table 201e shown in Figure 2.
  • the node mapping identifier of each inspection node is arranged from small to large according to the node mapping identifier, and the order obtained after the arrangement from small to large is the first order.
  • the direction indicated by the first order is the addressing direction for directional data addressing.
  • the addressing direction can be specifically a clockwise direction starting from the inspection node 20A (i.e., the execution inspection node).
  • the addressing is completed, and the verification node 20A can directly forward the data location request 201b to the direct successor node, so as to use the direct successor node of the verification node 20A as the addressed verification node to verify the authenticity of the business data 201a.
  • the verification node 20A can further continue to address through the node routing list (Finger Table) maintained by it.
  • the node routing list Finger Table
  • the node mapping identifier 201d of the verification node 20A i.e., the node executing the verification
  • the node routing list maintained by the verification node 20A i.e., the node routing list corresponding to the node executing the verification
  • the K routing node mapping identifiers recorded in the node routing list 201g are respectively the node mapping identifiers of the verification nodes that have a preset distance from the node mapping identifier of the verification node 20A in the ring space of the hash ring.
  • the node routing list 201g can be used to save the node mapping identifier of the current inspection node 20A (i.e., the node executing the inspection) as the starting point, and in the addressing direction indicated by the ring space, the node mapping identifier of the inspection node is a preset distance away from the node mapping identifier of the inspection node 20A (i.e., the node executing the inspection) (for example, when the node mapping identifier of each inspection node in the ring space is a hash value represented in binary, the preset distance here can be a different power of the same base distance from the node mapping identifier of the inspection node 20A (i.e., the node mapping identifier of the inspection node), for example, a distance of 2 ⁇ (1,2,3,...m)).
  • the node mapping identifiers of the inspection nodes that are at a preset distance from the node mapping identifier of the inspection node 20A can be collectively referred to as routing node mapping identifiers.
  • the node routing list 201g as shown in FIG2 can not only be used to record K (K is a positive integer less than or equal to m, where m is the above-mentioned spatial influence parameter) routing node mapping identifiers, but can also be used to record the preset distance between each routing node mapping identifier and the node mapping identifier of the inspection node 20A (i.e., the node executing the inspection) (for example, the preset distance here can specifically include 2 ⁇ 1 (i.e., 2 to the 1st power), 2 ⁇ 2 (i.e., 2 to the 2nd power), 2 ⁇ 3 (i.e., 2 to the 3rd power), ...., 2 ⁇ m (i.e., 2 to the 4th power)).
  • K is a positive integer less than or equal to m, where m is the above-mentioned spatial influence parameter
  • these routing node mapping identifiers in the node routing list 201g can be used to quickly and efficiently realize the jump between certain inspection nodes, thereby reducing the routing complexity in the data inspection process to a certain extent.
  • the i-th routing information in its node routing list stores the node mapping identifier of the (n+2 i-1 ) mod 2 m successor node of the inspection node 20A.
  • the distance between the node mapping identifier of the successor node stored in the node routing list and the node mapping identifier of the inspection node 20A is increased in multiples according to the base of the aforementioned power exponent, for example, it is increased geometrically in multiples of 2.
  • the reason for taking the modulus is that the successor of the last inspection node is the number of the first few.
  • the inspection node with the largest node mapping identifier (for example, the inspection node corresponding to identifier N56) in the addressing direction of the next inspection node (for example, the inspection node corresponding to identifier N1) is defined as the first inspection node.
  • the same node mapping identifier (that is, each routing node mapping identifier) in the node routing list can correspond to one or more positions in the ring space.
  • the value of the number of routing node mapping identifiers maintained in the node routing list (for example, K) should be less than or equal to m (that is, the spatial impact size of the ring mapping space).
  • the node routing list 201g stores 6 items of routing information.
  • the left column records the positions from N8+1 (i.e., 2 1-1 ) to N8+32 (i.e., 2 6-1 ) in the ring mapping space, and the right column records the node mapping identifiers of the inspection nodes that actually exist at each position in the ring mapping space.
  • the node mapping identifiers stored in the node routing list may be referred to as routing node mapping identifiers.
  • the first item of routing information in the node routing list 201g is N8+1-N14, which indicates that the resource (such as a data identifier) at the first position after the inspection node corresponding to the identifier N8 in the addressing direction will be the responsibility of the inspection node corresponding to the identifier N14.
  • Such recording has the following advantages: (1) Each inspection node only contains information about a small number of inspection nodes in the entire network; (2) Each inspection node knows more about the locations that are responsible for inspection nodes that are closer to it.
  • the inspection node corresponding to identifier N8 knows three locations that are responsible for the inspection node corresponding to identifier N14 (i.e., N8+1, N8+2, and N8+4), but only knows one location that is responsible for the inspection node corresponding to identifier N21 (i.e., N8+8).
  • the inspection node 20A when it is addressing on the node routing list 201g, it can first find the node mapping identifier (for example, node mapping identifier 201h) that is closest to the business data identifier 201c in the opposite direction of the addressing direction (also called the direction opposite to the addressing direction, that is, the opposite direction of the above-mentioned clockwise direction can be specifically the counterclockwise direction) as the second node mapping identifier.
  • the node mapping identifier 201h found at this time is smaller than the business data identifier 201c, and then it can jump to the inspection node corresponding to the node mapping identifier 201h (that is, the target inspection node) to continue searching.
  • the node mapping identifier 201d is still used as the identifier N8, and the business data identifier 201c is the identifier K24 as an example for explanation.
  • the six routing node mapping identifiers i.e., identifier N14, identifier N14, identifier N21, identifier N32, and identifier N42
  • the routing node mapping identifier closest to the identifier K24 in the counterclockwise direction is the identifier N21.
  • the inspection node 20B shown in FIG. 2 is also the identifier N21
  • the inspection node 20B can be used as the target inspection node, and then the inspection node 20A can forward the data location request 201b carrying the business data identifier 201c (i.e., the identifier K24) to the inspection node 20B.
  • the inspection node 20B After receiving the data, the inspection node 20B After locating request 201b, an addressing process similar to that of verification node 20A will also be executed until the addressing is completed when the node mapping identifier closest to the business data identifier 201c in the addressing direction is found.
  • the final addressed verification node can be used to further verify the authenticity of the business data 201a.
  • the verification node for example, query node 20B
  • the above-mentioned verification node 20A i.e., execution verification node
  • the verification node 20A can also be used as a new execution verification node in the next round of data verification process, so as to perform a new round of data directional addressing and verification according to the specific process of using the verification node 20A as the execution verification node for data verification in the previous round of data verification process.
  • the inspection node 20B corresponding to the identifier N21 serves as a new execution inspection node, it can also use the resource location table maintained by the new execution inspection node to first determine whether its direct successor node (that is, the inspection node corresponding to the identifier N32) holds the currently searched identifier K24.
  • the inspection node 20B finds that the identifier K24 falls between the identifier N21 and the identifier N32 (that is, the identifier K24 is located within the spatial range (N21, N32]), then it can be determined that the identifier N32 is the node mapping identifier closest to the identifier K24 in the addressing direction, that is, the currently searched identifier K24 exists on the inspection node corresponding to the identifier N32, so the inspection node corresponding to the identifier N32 can be the inspection node that is finally addressed, and then the authenticity of the business data corresponding to the identifier K24 (that is, the business data 201a) can be verified through the inspection node that is finally addressed (for example, the inspection node 120d shown in Figure 1 above).
  • the verification node 20B can verify the authenticity of the business data 201a and return a verification certificate for the business data 201a to the user X.
  • the verification node 20B can also access the specific business node where the business data 201a is located.
  • the embodiment of the present application provides a business data verification framework and protocol based on the Chord algorithm, which can enable efficient data verification between multiple verification nodes through routing, that is, the efficiency of business data verification can be improved by improving the addressing efficiency of the verification node.
  • the embodiment of the present application is designed for the data verification scheme in the blockchain double-layer chain system, and a set of independent verification networks are designed.
  • the verification network is a stable and decentralized high-fault-tolerant network, which can be separated from the business network where the business SPV node (i.e., the business node) is located, and provides a stable blockchain data verification service while ensuring the privacy of business data.
  • the verification network also isolates the consensus network, which can prevent query requests from repeatedly entering the consensus network and affecting the core performance of the consensus network, while making full use of the computing resources of the business network.
  • the method provided in the embodiments of the present application can be applied to business scenarios such as transferring virtual assets (such as electronic tickets, game coins, game diamonds, etc.), transferring electronic files (such as electronic contracts, electronic documents, etc.), or other business scenarios that require business data verification.
  • virtual assets such as electronic tickets, game coins, game diamonds, etc.
  • electronic files such as electronic contracts, electronic documents, etc.
  • the execution verification node when it obtains the target business data identifier from the data location request for the target business data, it determines the first node mapping identifier of the execution verification node in the mapping space, and performs data verification on the target business data identifier through the resource location table corresponding to the execution verification node in the first order indicated by the mapping space, and when the verification node corresponding to the adjacent node mapping identifier in the resource location table does not contain the target business data identifier in the business data identifier synchronized from the blockchain, through the node routing list corresponding to the execution verification node, further in the second order opposite to the first order, find the node mapping identifier closest to the target business data identifier as the second node mapping identifier, and then forward the data location request to the target verification node corresponding to the second node mapping identifier.
  • the specific implementation method, and when the second node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order, the specific implementation method of the target verification node verifying the authenticity of the target business data can refer to the embodiments corresponding to Figures 3 to 8 below.
  • Figure 3 is a flow chart of a data processing method based on a hierarchical chain network provided in an embodiment of the present application.
  • the method can be executed by an execution verification node.
  • the hierarchical chain network includes a verification network, a business network and a consensus network.
  • the verification network and the business network are both deployed in the business layer of the hierarchical chain network.
  • the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store the business data of the business submitted by the business nodes in the business network.
  • M verification nodes deployed in the verification network M is a positive integer
  • the execution verification node is included in the M verification nodes.
  • the execution verification node here can be any one of the verification nodes randomly selected from the M verification nodes for receiving the data location request sent by the business object.
  • the execution verification node can be the verification node 120a in the verification network 120 shown in Figure 1 above.
  • the method can specifically include the following steps S101-step S106:
  • Step S101 obtaining a data location request for target service data sent by a first service node in a service network
  • the business object can send a data location request for the target business data to the execution verification node in the verification network through the first business node in the business network, and correspondingly, the execution verification node can receive the data location request.
  • the first business node can be any one of the multiple business nodes included in the business network, for example,
  • the first service node may be any service node (eg, service node 110a) in the service network 110 shown in FIG. 1 .
  • the business nodes in the business network i.e., the above-mentioned second type of business nodes.
  • the business data related to itself can be cleared and synchronized from the blockchain corresponding to the consensus network.
  • the business data here may include but is not limited to business execution results and read-write status data.
  • the business data stored by different business nodes may be different; similarly, for each verification node in the verification network, when performing other operations through another service business provided by the verification network (for example, looking for data verification services that the node can perform), the business data identifier of the business data within the space range corresponding to the node mapping identifier of its own node address (such as the hash value of the business execution result and the hash value of the read-write status data) can be asynchronously synchronized from the blockchain corresponding to the consensus network.
  • the corresponding addressing process can be performed through the verification network introduced in the business layer to find the verification node that can verify the authenticity of the business data and the business node that can verify the data original information of the business data.
  • the target business data in the embodiment of the present application is determined by the consensus node in the consensus network calling the target business processing data on the blockchain to execute the target business.
  • the consensus node in the consensus network obtains the target business requested by the business initiator object
  • the target business can be executed to obtain the corresponding business data.
  • the consensus node in the consensus network can receive the target business submitted by the business node located in area A (for example, the second business node associated with the patient).
  • the target business here can be specifically used to instruct the consensus node to issue an electronic invoice for the virtual assets spent on this visit, and then the corresponding business data can be generated based on the electronic invoice.
  • the second business node here is included in the business network.
  • the second business node can be any business node in the business network 110 shown in Figure 1 above (such as business node 110b).
  • the second business node and the first business node can be the same business node or different business nodes, which is not limited here.
  • the consensus node when it obtains a service list containing the target service from the relevant service pool, it can call the target service processing data deployed on the blockchain to pre-execute the services in the service list. Specifically, the consensus node can call the target service processing data to pre-execute the target service in the block. For example, based on the target service processing data, it can read the read data set corresponding to the target service, and then execute the target service based on the read data set to obtain the target service. The business execution result corresponding to the target business can then be used to obtain the target business data (such as business data B1) corresponding to the target business based on the business execution result.
  • the target service processing data such as business data B1
  • the consensus node can also write the business execution result into the write data set corresponding to the target business. Then, the consensus node can use the business read-write set (including read data set and write data set) obtained after executing the target business as the target read-write status data (such as read-write status data B2) corresponding to the target business. Further, the consensus node can pack the above-mentioned business list and all business data related to the business in the business list (such as business execution results, read data sets, write data sets, etc.) or part of the business data (for example, business execution results) into the target block, and after the target block passes the consensus, the target block can be written into the blockchain corresponding to the consensus network. The embodiment of the present application does not limit the data content packaged into the block. It can be understood that the consensus node can store the final target block in its own node memory.
  • the target business may be any type of business, for example, the aforementioned bill business, bill derivative business associated with the bill business, file business, file derivative business associated with the file business, etc.
  • the embodiments of the present application can use one or more of the above-mentioned target business execution results or target read-write status data as target business data.
  • the consensus node can authorize the second business node to clear and synchronize the target business data, that is, the second business object can further return the cleared and synchronized target business data to the aforementioned business object.
  • Step S102 in response to identifying the target service data identifier of the target service data from the data location request, determining a first node mapping identifier of the node executing the inspection in the mapping space corresponding to the inspection network;
  • the mapping space includes node mapping identifiers corresponding to the M inspection nodes respectively, and the node mapping identifiers are obtained by mapping the node addresses of the M inspection nodes to the mapping space respectively.
  • mapping space here is essentially the global address space after the node mapping processing of M inspection nodes.
  • a node mapping identifier is obtained after address mapping the node address of a inspection node.
  • the embodiment of the present application can select a hash mapping function adapted to the current business scenario according to the current business scenario, and then the above-mentioned global address space can be pre-constructed by the selected hash mapping function, so that the pre-constructed global address space can be collectively referred to as a mapping space, so that the node address of the verification node and the business data stored by the business node can be mapped to the mapping space respectively based on the same hash mapping function in the future, and consistent hashing can be ensured.
  • the size of the mapping space can also be the mth power of a preset base, for example, 2m , m is a positive integer, and the value range of the mapping space is 0 to 2m -1.
  • the value of the mapping space can be a virtual space starting from a minimum value of 0 and ending with a maximum value of 2m -1.
  • the target business data identifier is obtained by mapping the target business data to the mapping space corresponding to the inspection network.
  • the hash mapping function associated with the mapping space can be obtained, and then the target business data can be hashed based on the hash mapping function to obtain the corresponding target business data identifier.
  • SHA-1 hash mapping function
  • SHA256 will generate a 256-bit long hash value (i.e., a hash sequence)
  • the value of each bit in the hash value i.e., a hash sequence
  • the value of each bit in the hash value is represented by a binary 0 or 1
  • the value of the identifier e.g., the node mapping identifier and/or data identifier
  • the value range of the mapping space e.g., the value range can be 0 to 2 256 -1
  • the value of each node mapping identifier and/or each data identifier belongs to a value in the value range.
  • the minimum value in the value range (e.g., 0) is essentially an integer value obtained when the values of all 256 bits in the hash sequence are 0, and the maximum value in the value range (e.g., 2 256 -1) is essentially an integer value obtained when the values of all 256 bits in the hash sequence are 1.
  • the embodiment of the present application can refer to m here (i.e., the sequence length of the hash sequence specified by the hash mapping function) as the space impact parameter of the hash mapping space, because the space impact parameter here is also used to limit the maximum number of routing items in the node routing list corresponding to the node executing the inspection to m items.
  • the target business data identifier here can be a hash value of part or all of the data in the target business data.
  • the corresponding target business data identifier can be a hash value of part or all of the data in the target business execution result; optionally, when the target business data only includes the target read-write status data, the corresponding target business data identifier can be a hash value of part or all of the data in the target read-write status data; optionally, when the target business data includes both the target business execution result and the target read-write status data, the corresponding target business data identifier can be a hash value of part or all of the data in the target business execution result and the target read-write status data.
  • the hash value of all data is not limited in this application.
  • the business data identifier corresponding to the business data may be the hash value of the entire electronic bill P, i.e., hash(P), or may be the hash value of the specified bill information (such as the bill number) in the electronic bill P.
  • the consensus node may also synchronize or configure the target business data identifier of the target business data to the inspection node corresponding to the node mapping identifier closest to the target business data identifier in the mapping space, so that the inspection node corresponding to the node mapping identifier closest to the target business data identifier may pre-store the synchronized or configured target business data identifier in its own node address.
  • the target business data can be mapped to the mapping space through the first business node to obtain the target business data identifier of the target business data, and then a data location request for the target business data can be sent to the execution verification node based on the obtained target business data identifier. Therefore, when executing step S102, the execution verification node can identify and obtain the target business data identifier of the target business data from the data location request, and can use the node mapping identifier of the execution verification node in the mapping space as the first node mapping identifier.
  • the node mapping identifier of any inspection node is obtained by mapping the node address of the inspection node to the mapping space.
  • the execution inspection node can first obtain its node address as the first node address, and then map the first node address to the mapping space to obtain the first node mapping identifier of the execution inspection node.
  • the first node address can specifically be the IP address of the execution inspection node.
  • the execution inspection node can obtain a hash mapping function (such as SHA-1, SHA256, etc.) associated with the mapping space, and then perform a hash operation on the first node address based on the hash mapping function, so that the hash value obtained by the hash operation (for example, the above-mentioned address hash value) can be determined as the first node mapping identifier of the execution inspection node.
  • a hash mapping function such as SHA-1, SHA256, etc.
  • the node address of each inspection node in the inspection network can also be mapped to the pre-constructed mapping space, and then the node mapping identifiers of these inspection nodes can be marked at the corresponding spatial positions in the mapping space.
  • the embodiment of the present application can also mark the node mapping identifiers of these inspection nodes at the corresponding spatial positions of the mapping space, and simultaneously establish a mapping relationship between the node mapping identifiers of the inspection nodes at each spatial position and the node address of the corresponding inspection node, and these mapping relationships can be uniformly stored in a mapping relationship table.
  • the execution inspection node when it receives a data location request sent by a certain business node (i.e., the first business node), it can quickly query in the pre-constructed mapping relationship table whether there is a node that has a mapping relationship with its own node address. If the mapping identifier exists, the node mapping identifier that has a mapping relationship with its own node address can be directly used as the first node mapping identifier.
  • the same hash mapping function can be used to perform a hash operation on the node address (i.e., the first node address) of the node executing the inspection, so that the hash value obtained by the hash operation (e.g., the above-mentioned address hash value) can be determined as the first node mapping identifier of the node executing the inspection.
  • the node mapping identifier of the inspection node can also be obtained by mapping the node description information of the inspection node to the ring mapping space.
  • the node description information here is unique for each inspection node, for example, it can be the node private key of the inspection node.
  • Step S103 performing data verification on the target service data identifier according to the first order after the node mapping identifiers are arranged from small to large through a resource location table associated with the first node address of the node executing the verification, to obtain a first data verification result;
  • the embodiment of the present application can directly obtain the resource location table associated with the node address (i.e., the first node address) of the execution verification node according to the first order after arranging the node mapping identifiers in the above-mentioned mapping space (for example, arranging from small to large), so that the target business data identifier can be checked through the obtained resource location table to determine whether the target business data identifier exists in the business data identifier synchronized from the blockchain by the neighboring node address corresponding to the neighboring node mapping identifier in the resource location table. If not, the following step S104 can be jumped to be executed.
  • the neighboring verification node corresponding to the neighboring node address synchronized to the target business data identifier can be used as the target neighboring verification node, and then the data location request carrying the target business data identifier can be forwarded to the target neighboring verification node, and the data location request is used to instruct the target neighboring verification node to perform data verification on the target business data, and the node address of the target neighboring verification node is the target neighboring verification node address.
  • the synchronized business data identifier includes the target synchronization data identifier, and the target synchronization data identifier refers to the target synchronization data identifier of the target chain synchronization data information synchronized from the blockchain and stored on the target adjacent verification node address corresponding to the target adjacent verification node mapping identifier.
  • the specific process of data verification in the mapping space can be described as follows: if the target business data identifier is located within the space range determined by the first node mapping identifier and the target adjacent verification node mapping identifier, the executing verification node can determine that the target adjacent verification node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order, and determine that the target business data identifier is included in the target synchronization data identifier.
  • the distance here refers to the hash distance obtained by performing an XOR operation on the target adjacent verification node mapping identifier and the target business data identifier when the target adjacent verification node mapping identifier and the target business data identifier are hash values with the same length.
  • the execution verification node can determine that the target business data identifier is not included in the target synchronization data identifier. In other words, in an embodiment of the present application, the execution verification node can further use the data verification result when the target synchronization data identifier includes the target business data identifier or the data verification result when the target synchronization data identifier does not include the target business data identifier as the first data verification result.
  • the embodiment of the present application may also determine the addressing direction of the ring mapping space based on the direction indicated by the first order in the mapping space when the above-mentioned mapping space includes a ring mapping space.
  • the ring mapping space may specifically refer to a mapping space in a ring shape obtained by arranging the node mapping identifiers in the mapping space from small to large and connecting the minimum node mapping identifier and the maximum node mapping identifier end to end.
  • the addressing direction of the ring mapping space may specifically be the clockwise direction obtained by arranging the node mapping identifiers in the ring mapping space from small to large.
  • the addressing direction here refers to the direction (i.e., the clockwise direction mentioned above) obtained after the node mapping identifiers in the ring mapping space are organized and sorted (e.g., arranged from small to large).
  • the resource location table maintained by the execution inspection node can be used to record the adjacent node mapping identifier, and the adjacent node address corresponding to the adjacent node mapping identifier can be used to store the synchronization data identifier of the on-chain synchronization data information synchronized from the blockchain corresponding to the consensus network.
  • the adjacent node mapping identifier here is the node mapping identifier that is greater than the first node mapping identifier in the addressing direction.
  • the adjacent node mapping identifier is obtained by performing node mapping processing on the node address of the adjacent check node (ie, the adjacent node address).
  • the adjacent check node is essentially the successor node of the execution check node in the addressing direction indicated by the ring mapping space.
  • each inspection node in the inspection network can maintain a list of predecessor nodes and successor nodes associated with its own node address, so as to quickly locate the predecessor node and the successor node, and periodically detect the node status of the predecessor node and the successor node, where the node status includes a valid state and an invalid state.
  • the valid state is used to describe the state when the predecessor node and the successor node of the current inspection node are valid
  • the invalid state is used to describe the state when the predecessor node and the successor node of the current inspection node are invalid.
  • the successor node list maintained by the execution inspection node can be used as a resource location table associated with the first node address of the execution inspection node.
  • the resource location table is used to record the adjacent node mapping identifier;
  • the adjacent node mapping identifier here refers to the node mapping identifier corresponding to the node address of the successor node of the execution inspection node (that is, the above-mentioned adjacent inspection node), and the successor node of the execution inspection node (that is, the above-mentioned adjacent inspection node) is determined by the successor node list maintained by the execution inspection node, that is, the successor node list can be used to store the node mapping identifier of the successor node of the execution inspection node.
  • the embodiment of the present application may also determine the successor node list maintained by the execution inspection node.
  • the resource location table associated with the first node address of the inspection node can be used to store the adjacent node mapping identifiers of the successor node of the execution inspection node, and the successor node of the execution inspection node here is determined by the successor node list maintained by the execution inspection node in the addressing direction.
  • the addressing direction here refers to the clockwise direction determined when the execution inspection node performs the addressing operation in the ring mapping space; the clockwise direction is the direction obtained after the execution inspection node arranges the node mapping identifiers in the global address space from small to large when performing the node mapping process.
  • the successor node of the execution verification node here can be the successor node in the successor node list maintained by the execution verification node in the addressing direction
  • the node mapping identifier of the successor node in the successor node list can be the adjacent node mapping identifier of the corresponding successor node recorded in the resource location table
  • the successor node list here can be used to store the node address of the successor node of the execution verification node, and can also be associated to store the node mapping identifier corresponding to the node address of the successor node of the execution verification node.
  • the execution verification node can perform data verification on the target business data identifier with the resource location table, so as to obtain the first data verification result.
  • the adjacent node address corresponding to the adjacent node mapping identifier in the resource location table can be used to store the business data identifier of the business data synchronized from the blockchain corresponding to the consensus network.
  • the business data identifier of the business data here can be a synchronization data identifier of the on-chain synchronization data information.
  • the adjacent node address here is the node address located after the first node address in the addressing direction.
  • the inspection node corresponding to the adjacent node mapping identifier stored in the resource location table is the successor node of the execution inspection node
  • the synchronization data identifier of the on-chain synchronization data information stored in the corresponding adjacent node address can refer to the business data identifier of the corresponding business data that the successor node can be responsible for addressing.
  • the synchronization data identifier can be synchronized by the consensus node or configured to these successor nodes.
  • the resource location table 201e shown in Figure 2 above indicates that when the inspection node corresponding to identifier N8 is the execution inspection node, the adjacent inspection nodes recorded in the resource location table maintained by the execution inspection node are the 4 successor nodes of the execution inspection node (i.e., the inspection nodes corresponding to identifiers N14, N21, N32 and N38), wherein the inspection node corresponding to identifier N14 also stores 5 synchronization data identifiers of on-chain synchronization data information (i.e., identifiers E1 to E5).
  • the execution inspection node can first inquire whether the first successor node in the resource location table stores the target business data identifier currently being searched for. It should be understood that the first successor node in the resource location table is the next inspection node of the execution inspection node in the addressing direction, which means that the execution inspection node can inquire whether the next inspection node (i.e., the direct successor node of the execution inspection node) in the addressing direction indicated by the ring mapping space stores the target business data identifier currently being searched for.
  • the execution If the direct successor node of the verification node stores the target business data identifier currently being searched, it can be indirectly determined that the node address of the direct successor node of the execution verification node stores the target business data identifier currently being searched, and then when the direct successor node of the execution verification node is used as the addressed verification node, the current addressing can be ended (that is, the node address of the direct successor node storing the target business data identifier found this time can be used as the node address of the target verification node finally addressed), and the data location request currently obtained by the execution verification node can be further forwarded to the direct successor node of the execution verification node, so that the direct successor node of the execution verification node can generate a verification certificate for verifying the authenticity of the above-mentioned target business data according to the on-chain synchronization data information related to the target business data identifier synchronized from the blockchain (that is, the proof data of the target business data synchronized from the blockchain), so that the verification certificate can be returned to the business
  • the business object can determine whether the target business data that it currently needs to verify is actually present on the blockchain according to the verification certificate currently obtained by itself.
  • the direct successor node of the execution inspection node does not store the target business data identifier currently being searched, the addressing can continue, that is, at this time, the execution inspection node can further inquire whether the second successor node in the resource location table (the second successor node here can specifically be the next inspection node of the above-mentioned direct successor node, that is, the next inspection node of the direct successor node is another next inspection node of the next inspection node of the above-mentioned execution inspection node) stores the target business data identifier currently being searched.
  • the embodiment of the present application can traverse and inquire whether each successor node in the resource location table stores the target business data identifier currently being searched, until it is determined that the successor nodes corresponding to each adjacent node mapping identifier in the resource location table do not store the target business data identifier currently being searched, it can be indirectly determined that the target business data identifier is not included in the business data identifier synchronized to these successor nodes, that is, the synchronization data identifier of the on-chain synchronization data information synchronized to these successor nodes does not include the target business data identifier, so that the following step S104 can be further jumped to execute.
  • the embodiment of the present application can be determined as a ring mapping space by connecting the smallest node mapping identifier and the largest node mapping identifier in the first order in a first order from small to large, and the mapping space in the shape of a ring is formed by connecting the smallest node mapping identifier and the largest node mapping identifier in the first order end to end.
  • the execution inspection node can further obtain the resource location table associated with the first node address of the execution inspection node in the addressing direction indicated by the ring mapping space (such as clockwise direction), so that the node mapping identifiers of one or more successor nodes of the execution inspection node recorded in the resource location table can be collectively referred to as adjacent node mapping identifiers, and then the adjacent node mapping identifiers can be traversed and selected from these adjacent node mapping identifiers recorded in the resource location table as the target adjacent inspection node mapping identifier; further, the execution inspection node can perform data inspection on the target business data identifier based on the first node mapping identifier and the target adjacent inspection node mapping identifier, so as to obtain the first data inspection result.
  • the next inspection node of the execution inspection node can be referred to as the direct inspection node of the execution inspection node, or the first adjacent inspection node of the execution inspection node in the above-mentioned addressing direction.
  • the neighboring node mapping identifiers recorded in the first neighboring inspection node are collectively referred to as first neighboring node mapping identifiers.
  • the next inspection node of the direct inspection node can also be referred to as the second neighboring inspection node of the execution inspection node in the addressing direction.
  • the neighboring node mapping identifiers recorded in the resource location table maintained by the execution inspection node can be collectively referred to as second neighboring node mapping identifiers.
  • the specific process of determining the target adjacent inspection node mapping identifier from the adjacent node mapping identifiers contained in the resource location table can be described as: among the N adjacent node mapping identifiers in the mapping space, search for the adjacent node mapping identifier corresponding to the first node address located after the first node address in a first order, and the adjacent node mapping identifier corresponding to the first node address found can be used as the first adjacent node mapping identifier; further, the execution inspection node can obtain the node status of the first adjacent inspection node corresponding to the first adjacent node mapping identifier, if the node status of the first adjacent inspection node is a valid state, then the first adjacent node mapping identifier is used as the target adjacent inspection node mapping identifie
  • the execution inspection node involved in the embodiment of the present application can obtain the resource location table maintained by itself in the ring mapping space, and can determine its N adjacent node mapping identifiers in the ring mapping space through the obtained resource location table.
  • the execution inspection node can find the adjacent node mapping identifier corresponding to the first node address located after the first node address in the addressing direction, and can use the adjacent node mapping identifier corresponding to the first node address found as the first adjacent node mapping identifier, and then can obtain the first adjacent node mapping identifier corresponding to the first adjacent node mapping identifier.
  • the node status of the adjacent inspection node i.e., the direct successor node of the node executing the inspection.
  • the node status of the first adjacent inspection node is a valid state, it means that the first adjacent inspection node is online normally.
  • the first adjacent node mapping identifier can be used as the target adjacent inspection node mapping identifier; or, optionally, if the node status of the first adjacent inspection node is a failed state, it means that the first adjacent inspection node is failed (for example, the node is offline due to power outage or poor network, etc.).
  • the target adjacent inspection node mapping identifier can be determined from the (N-1) adjacent node mapping identifiers other than the first adjacent node mapping identifier.
  • the direct successor node of the node executing the inspection fails, other successor nodes other than the direct successor node in the resource location table can be tried in turn to perform data inspection on the target business data identifier.
  • the above (N-1) adjacent node mapping identifiers include the second adjacent node mapping identifier corresponding to the first node address located after the node address corresponding to the first adjacent node mapping identifier in the addressing direction.
  • the node executing the inspection can obtain the node status of the second adjacent inspection node corresponding to the second adjacent node mapping identifier.
  • the second neighboring node mapping identifier can be used as the target neighboring inspection node mapping identifier; or, optionally, if the node status of the second neighboring inspection node is an invalid state, a similar method can be used to determine the target neighboring inspection node mapping identifier from the remaining neighboring node mapping identifiers (if any) except the first neighboring node mapping identifier and the second neighboring node mapping identifier.
  • the resource location table 201e in Figure 2 assuming that the first node mapping identifier of the current execution inspection node is identifier N8, the resource location table associated with the node address (i.e., the first node address) of identifier N8 is the above-mentioned resource location table 201e.
  • the adjacent node mapping identifier corresponding to the first node address after the node address of identifier N8 in the addressing direction is identifier N14, that is, the inspection node corresponding to identifier N14 is the direct successor node of the inspection node corresponding to identifier N8. Therefore, when the node state of the inspection node corresponding to identifier N14 is a valid state, identifier N14 can be used as the target adjacent node mapping identifier.
  • an attempt can be made to determine the target adjacent inspection node mapping identifier from the remaining three adjacent node mapping identifiers (including the identifier N21, the identifier N32, and the identifier N38).
  • the adjacent node address corresponding to the target adjacent inspection node mapping identifier can be called the target adjacent inspection node address
  • the synchronization data identifier of the above-mentioned on-chain synchronization data information may include the target synchronization data identifier of the target on-chain synchronization data information stored on the target adjacent inspection node address.
  • the specific process of performing data verification on the target business data identifier can be: if the target business data identifier is located within the spatial range determined by the first node mapping identifier and the target adjacent inspection node mapping identifier, it can be confirmed
  • the target adjacent inspection node mapping identifier is set as the node mapping identifier that is closest to the target business data identifier in the first order (at this time, the target adjacent inspection node mapping identifier is greater than or equal to the target business data identifier), that is, the inspection node corresponding to the target adjacent inspection node mapping identifier is responsible for addressing the target business data, and it can be determined that the target synchronization data identifier synchronized from the blockchain by the inspection node contains the target business data identifier currently being searched; or, optionally, if the target business data identifier is located outside the spatial range determined by the first node mapping identifier and the target adjacent inspection node mapping
  • the execution inspection node can use the data inspection result when the target data identifier is included in the target synchronization data identifier or the data inspection result when the target data identifier is not included in the target synchronization data identifier as the first data inspection result.
  • the node address corresponding to identifier N14 is the target proximity check node address.
  • the synchronization data identifiers stored on i.e., identifiers E1 to E5 are the target synchronization data identifiers
  • the on-chain synchronization data information 1 to on-chain synchronization data information 5 corresponding to identifiers E1 to E5 are the target on-chain synchronization data information.
  • the space range determined by identifiers N8 and N14 can be expressed as (N8, N14], and at this time, it is found that identifier K24 is not within the space range, so it can be determined that identifier K24 is not included in the above-mentioned target synchronization data identifiers (i.e., identifiers E1 to E5), so it is necessary to continue searching in the first order.
  • the execution inspection node can forward the data location request carrying the target business data identifier to the target adjacent inspection node corresponding to the target adjacent inspection node mapping identifier, wherein the data location request can be used to instruct the target adjacent inspection node to verify the authenticity of the target business data.
  • the first node mapping identifier is identifier N8
  • the target business data identifier is identifier K10
  • the currently determined target adjacent inspection node mapping identifier is identifier N14.
  • identifier K10 is located in the spatial range (N8, N14] determined by identifier N8 and identifier N14, that is, identifier N14 is the node mapping identifier closest to identifier K10 in the addressing direction, so the data location request can be forwarded to the inspection node corresponding to identifier N14 (i.e., the aforementioned target adjacent inspection node).
  • Step S104 in response to the first data inspection result indicating that the synchronized service data identifier does not include the target service data identifier, obtaining a node routing list corresponding to the inspection execution node;
  • the node routing list is used to record K routing node mapping identifiers
  • the routing node mapping identifier is the node mapping identifier of the inspection node that has a preset distance from the first node mapping identifier in the mapping space
  • K is a positive integer greater than 1
  • K is less than or equal to the spatial influence parameter of the mapping space.
  • each inspection node can periodically query the successor node in the successor node list maintained by itself to determine whether the predecessor node of the successor node has been updated. If there is an update, the successor node and routing item of the inspection node itself can also be updated. For robustness, each query node stores N successor nodes in the successor node list maintained by itself in addition to the above-mentioned node routing list.
  • the embodiment of the present application can record the adjacent node mapping identifier of each successor node in the successor node list through the above-mentioned resource location table.
  • the successor pointer associated with the above-mentioned successor node list can be used to notify the update in the future, thereby realizing the update of the successor node list and the node routing list maintained by each inspection node in the inspection network.
  • the execution check node as an example, the execution check node The node can periodically ask the predecessor node of its successor node whether it updates the successor node and the routing items in the node routing list.
  • the specific process can be: the execution inspection node can send a node query request to the first adjacent inspection node (i.e., the direct successor node of the execution inspection node), wherein the node query request can be used to instruct the first adjacent inspection node to return the predecessor node mapping identifier corresponding to the first node address that is located before the node address corresponding to the first adjacent node mapping identifier in the first order, that is, the first adjacent inspection node needs to return the node mapping identifier of its direct predecessor node to the execution inspection node.
  • the first adjacent inspection node i.e., the direct successor node of the execution inspection node
  • the execution inspection node recognizes that the predecessor node mapping identifier is different from the first node mapping identifier, the resource location table and node routing list maintained by the execution inspection node can be updated based on the predecessor node mapping identifier. It can be seen that during the inspection process, through the Chord protocol, the inspection nodes in the inspection network can be provided with automatic online and offline, data maintenance, data addressing, routing and other functions, thereby ensuring the integrity and availability of the entire inspection network.
  • a new inspection node (which may be called a newly added inspection node) is added to the inspection network, and its node mapping identifier is identifier N26.
  • the newly added inspection node can point to its successor node (for example, the inspection node corresponding to identifier N32), and then notify the inspection node corresponding to N32.
  • the inspection node corresponding to N32 can mark the newly added inspection node as its predecessor node; subsequently, the newly added inspection node and the inspection node corresponding to identifier N32 can both modify their respective node routing lists.
  • the execution inspection node asks its direct successor node (i.e. the inspection node corresponding to identifier N32, i.e. the aforementioned first adjacent inspection node) whether the direct predecessor node is still itself, it is found that the direct predecessor node of the inspection node corresponding to N32 is already the inspection node corresponding to identifier N26.
  • the execution inspection node can modify its direct successor node to the inspection node corresponding to identifier N26, and notify the inspection node corresponding to identifier N26 that itself (i.e. the execution inspection node) has set it as the successor node.
  • the inspection node corresponding to identifier N26 can set the inspection node corresponding to identifier N21 as its (i.e. the execution inspection node) predecessor node.
  • Step S105 among the K routing node mapping identifiers, a routing node mapping identifier that is found in a second order opposite to the first order and is closest to the target service data identifier in the mapping space is determined as a second node mapping identifier;
  • the node executing the verification can continue to address in the mapping space through the node routing list it maintains until the node mapping identifier closest to the target business data identifier is found in the second order related to the first order, and the found node mapping identifier is used as the second node mapping identifier, so that the following step S106 can be further executed later, that is, the data location request carrying the target business data identifier can be forwarded to the target verification node corresponding to the second node mapping identifier, so that the target verification node can perform data verification on the target business data based on the data location request.
  • the addressing direction of the ring mapping space is determined based on the direction indicated by the first order; specifically, the execution inspection node can determine a second order opposite to the first order in the ring mapping space, determine the direction indicated by the second order as the opposite direction of the addressing direction, and among the K routing node mapping identifiers, search for the routing node mapping identifier with the largest distance from the first node mapping identifier in the opposite direction of the addressing direction, and use the found routing node mapping identifier as the first routing node mapping identifier; if the first routing node mapping identifier is located within the spatial range determined by the first node mapping identifier and the target business data identifier, then determine the first routing node mapping identifier as the node mapping identifier with the closest distance to the target business data identifier in the opposite direction of the addressing direction, and use the first routing node mapping identifier as the second node mapping identifier; conversely,
  • the above-mentioned node routing list contains K routing node mapping identifiers
  • K is a positive integer greater than 1 and less than or equal to the space influence parameter of the ring mapping space
  • the space influence parameter i.e., m
  • the size of the ring mapping space can be used to characterize that the number of non-overlapping node mapping identifiers marked in the subsequent mapping in the ring mapping space is at most m to the power of a preset base, for example, 2m ).
  • the value of the identifier of the ring mapping space belongs to the value range of 0 to 2 m -1.
  • the value of m is essentially determined by the sequence length of the hash sequence represented by a binary integer that needs to be transformed and specified by the hash mapping function associated with the above-mentioned ring mapping space.
  • the node mapping identifier for example, the identifier N8 in the ring mapping space shown in Figure 2 above
  • the current inspection node for example, the above-mentioned execution inspection node
  • the node mapping identifier of the same base number different powers of distance from its own node mapping identifier.
  • the different powers of the same base number here can be expressed as 2 ⁇ 1, 2 ⁇ 2, 2 ⁇ 3, ..., 2 ⁇ m and other preset distances.
  • the distance is essentially the hash distance between the positions of any two points (for example, two node mapping identifiers) in the ring mapping space.
  • the distance can be obtained by performing an XOR operation on the two node mapping identifiers.
  • the spatial impact parameter of the ring mapping space can also be used to limit the number of routing items in the node routing list corresponding to the node currently executing the inspection to at most m.
  • a routing item may include a node mapping identifier of an inspection node that has a preset distance from the node mapping identifier of the node currently executing the inspection (i.e., the first node mapping identifier), and the same node mapping identifier may appear in one or more routing items.
  • the node routing list maintained by each inspection node only needs to include a small part of the inspection nodes in the entire inspection network.
  • the node mapping identifier of the verification node i.e., the routing node mapping identifier
  • the node routing list maintained by each verification node only needs to include the node mapping identifiers of the verification nodes that have a preset distance from the node mapping identifier of the current node in the ring mapping space, and the preset distance between the node mapping identifiers of these verification nodes and the node mapping identifier of the current verification node can specifically be 2 ⁇ (1,2,3,..m) distance. Therefore, the number of routing node mapping identifiers (i.e., K) saved in the node routing list can reach up to m at most. It can be seen that the embodiment of the present application, by introducing a node routing list, proposes a method of using nonlinear search (or a method called scalable resource location) to improve addressing efficiency.
  • the execution inspection node can first search for the routing node mapping identifier with the largest distance from the first node mapping identifier, and can use the found routing node mapping identifier as the first routing node mapping identifier; optionally, if the first routing node mapping identifier is located within the spatial range determined by the first node mapping identifier and the target business data identifier, then the first routing node mapping identifier can be determined as the node mapping identifier found in the second order with the closest distance to the target business data identifier (in this case, the first routing node mapping identifier is smaller than the target business data identifier), which means that the inspection node corresponding to the first routing node mapping identifier is the preceding node closest to the target business data identifier in the above-mentioned node routing list, and in this case, the first routing node mapping identifier can be used as the second node mapping identifier; or, optionally, if the first routing
  • the execution inspection node can search for the routing node mapping identifier with the largest distance from the first node mapping identifier other than the first routing node mapping identifier, and can use the found routing node mapping identifier as the second routing node mapping identifier; optionally, if the second routing node mapping identifier is located within the spatial range determined by the first node mapping identifier and the target business data identifier, then the second routing node mapping identifier can be determined as the node mapping identifier that is closest to the target business data identifier in the second order, and the second routing node mapping identifier can be used as the second node mapping identifier; or, optionally, if the second routing node mapping identifier is located outside the spatial range determined by the first node mapping identifier and the target business data identifier, then a similar method can be used to determine, from the remaining routing node mapping identifiers (if any) other than the first
  • the node executing the inspection can search from far to near in the node routing list. Since the convergence speed of the search process is very fast, the search time can be effectively reduced, and the routing complexity can be reduced. It should be understood that, for the sake of distinction, the embodiment of the present application can refer to the node mapping identifiers stored in the node routing list of the node executing the inspection as routing node mapping identifiers.
  • the target service The data identifier is identifier K38.
  • the node routing list 201g maintained by the execution inspection node corresponding to identifier N8 contains 6 routing node mapping identifiers (i.e. identifier N14, identifier N14, identifier N21, identifier N32 and identifier N42). There may be repeated node mapping identifiers in the routing node mapping identifiers here.
  • the routing node mapping identifier with the largest distance from identifier N8 in the node routing list 201g is identifier N42 (i.e. the first routing node mapping identifier). It can be understood that at this time, for the routing item N8+32-N42 in the node routing list, identifier N42 is actually located outside the spatial range formed by identifier N8 (i.e. the first node mapping identifier) and K38 (i.e. the target business data identifier), that is, it does not satisfy that identifier N42 is located in the spatial range (N8, K38], indicating that identifier N42 found in the second order is not the routing node mapping identifier closest to identifier K38.
  • the execution inspection node can continue to search in the remaining five routing node mapping identifiers (i.e., identifier N14, identifier N14, identifier N21, and identifier N32), and it can be found that the routing node mapping identifier with the largest distance from identifier N8 is identifier N32 (i.e., the second routing node mapping identifier), and for routing item N8+16-N32 in the node routing list, identifier N32 is actually located within the spatial range formed by identifier N8 (i.e., the first node mapping identifier) and K38 (i.e., the target business data identifier), that is, identifier N32 is located within the spatial range (N8, K38], indicating that identifier N32 found in the second order is the node mapping identifier closest to identifier K38, and identifier N32 can be used as the second node mapping identifier at this time. Further, the execution inspection node can forward the data location request carrying identifie
  • Step S106 Send a data location request to the target verification node corresponding to the second node mapping identifier, so that the target verification node performs data verification on the target business data.
  • the execution inspection node can use the identifier N32 as the second node mapping identifier.
  • the embodiment of the present application can implement the addressing operation from far to near in the second order through the node routing list (that is, the operation performed when performing the addressing calculation), it can indirectly determine that the second node mapping identifier of the target inspection node is the node mapping identifier closest to the target business data identifier in the first order.
  • the target inspection node can be further used to verify the authenticity of the target business data.
  • the specific verification process can refer to the relevant description in the embodiment corresponding to Figure 4 below, which will not be expanded here.
  • the execution inspection node can also use the identifier N32 as the second node mapping identifier.
  • the embodiment of the present application since the embodiment of the present application implements the addressing operation from far to near in the opposite direction of the addressing direction through the node routing list (i.e., the operation performed when the addressing calculation is performed), it can indirectly determine that the second node mapping identifier of the target inspection node is the node mapping identifier closest to the target business data identifier in the addressing direction.
  • the target verification node can be further used to verify the authenticity of the target business data.
  • the specific verification process can be found in the relevant description in the embodiment corresponding to Figure 4 below, which will not be expanded here.
  • the embodiments of the present application will involve the calculation of the distances between different identifiers. It can be understood that since in the same mapping space (for example, the same ring mapping space), the data identifier and the node mapping identifier are hash values with the same length, the hash distance between them can be determined by performing an XOR operation on these two identifiers (i.e., the data identifier and the node mapping identifier). The smaller the difference between the numbers, the smaller the corresponding hash distance. It should be understood that the embodiments of the present application can determine the routing node mapping identifier that is closest to the target business data identifier through the hash distance between the two identifiers.
  • the embodiment of the present application can provide data verification function to multiple business nodes in the external business network through M verification nodes in the verification network by introducing a verification network in the business layer where the business network is located.
  • the first business node can support the business object to randomly initiate a data location request for a certain business data to any verification node in the verification network (such as the above-mentioned execution verification node).
  • the execution inspection node when receiving the data location request sent by the first business node for the business data (i.e., the target business data), it can further use the resource location table and node routing list maintained by the inspection node to quickly find the inspection node corresponding to the node mapping identifier that is currently known to the inspection node and is closest to the business data identifier of the business data (such as the aforementioned target inspection node), and can forward the data location request to the target inspection node, so that the target inspection node can continue to search using a nonlinear search method similar to that of the execution inspection node, until the inspection node closest to the target business data identifier is found in the entire inspection network, the addressing operation in the inspection network can be completed, and the inspection node finally found (i.e., the inspection node finally addressed above) can subsequently perform relevant verification on the above business data.
  • the resource location table and node routing list maintained by the inspection node to quickly find the inspection node corresponding to the node mapping identifier that is currently known to the
  • the nonlinear search method adopted in the embodiment of the present application can achieve addressing by jumping to a small number of inspection nodes deployed in the inspection network, thereby effectively shortening the addressing distance, so that the addressing efficiency of the inspection node can be improved, and then the inspection efficiency of the business data can be improved.
  • the inspection network deployed in the business layer can be independent of the consensus network deployed in the consensus layer, so that the network isolation between the inspection network and the consensus network can be used to effectively avoid the query class request (that is, the above-mentioned data location request for querying the target business data) repeatedly entering the consensus network, and affecting the core performance of the consensus network.
  • the query class request that is, the above-mentioned data location request for querying the target business data
  • the inspection node in the inspection network here (that is, the above-mentioned first-class business node) is a business node selected from multiple business nodes in the business network that meets the inspection network joining conditions, it can be fully utilized in the hierarchical chain network composed of the above-mentioned business layer and consensus layer.
  • the computing resources of the first-class business node selected in the business network that meets the inspection network joining conditions are not limited to the above-mentioned first-class business node.
  • Figure 4 is a flow chart of another data processing method based on a hierarchical chain network provided by an embodiment of the present application.
  • the method can be executed by a target inspection node, and the hierarchical chain network includes an inspection network, a business network, and a consensus network.
  • the inspection network and the business network are both deployed in the business layer of the hierarchical chain network, and the consensus network is deployed in a consensus layer independent of the business layer.
  • the blockchain maintained by the consensus network is used to store business data of the business submitted by the business nodes in the business network.
  • There are M inspection nodes deployed in the inspection network M is a positive integer
  • the target inspection node is included in the M inspection nodes.
  • the target inspection node can be the execution inspection node in the inspection network 120 shown in Figure 1 above, and the inspection node (such as inspection node 120b) found in the second order above through the node routing list maintained by itself.
  • the method can specifically include the following steps S201-step S202:
  • Step S201 obtaining a data location request carrying a target service data identifier forwarded by the execution inspection node based on the second node mapping identifier;
  • the execution inspection node here is included in the M inspection nodes
  • the data location request here is a request for the target business data corresponding to the target business data identifier sent by the first business node
  • the first business node here is any business node in the business network.
  • the execution inspection node can be used to respond to the target business data identifier identified from the data location request, determine the first node mapping identifier of the execution inspection node in the mapping space corresponding to the inspection network, and perform data inspection on the target business data identifier through the resource location table associated with the first node address of the execution inspection node according to the first order after arranging the node mapping identifiers in the mapping space from small to large, and obtain a first data inspection result.
  • mapping space may include node mapping identifiers corresponding to M inspection nodes respectively, and the node mapping identifiers here are obtained after mapping the node addresses of the M inspection nodes to the mapping space respectively.
  • the resource location table is used to record adjacent node mapping identifiers that are greater than the first node mapping identifier, and the adjacent node addresses corresponding to the adjacent node mapping identifiers are used to store the business data identifiers of the business data synchronized from the blockchain.
  • the data verification result is used to indicate whether the synchronized business data identifier contains the target business data identifier; the first data verification result is used to indicate that when the executing inspection node determines that the synchronized business data identifier does not contain the target business data identifier, it obtains the node routing list maintained by the executing inspection node, and among the K routing node mapping identifiers recorded in the node routing list, the routing node mapping identifier that is closest to the target business data identifier found in the second order opposite to the first order is determined as the second node mapping identifier; K is a positive integer greater than 1, and K is less than or equal to the space influence parameter of the mapping space.
  • the target inspection node when the execution inspection node continues to address through the above-mentioned node routing list, once it is determined that the second node mapping identifier of the target inspection node is the node mapping identifier that is closest to the target business data identifier found in the second order, the target inspection node can receive the data location request carrying the target business data identifier forwarded by the execution inspection node.
  • execution check node the target check node, and the target proximity check node in the embodiment of the present application are all
  • the inspection nodes in the above inspection network i.e., execution inspection nodes, target inspection nodes, and target proximity inspection nodes
  • execution inspection nodes e.g., execution inspection nodes, target inspection nodes, and target proximity inspection nodes
  • target inspection nodes e.g., target inspection nodes, and target proximity inspection nodes
  • the execution verification node is also specifically used to determine the first node mapping identifier of the execution verification node in the ring mapping space when the target business data identifier is identified and obtained from the data location request, and in the addressing direction indicated by the ring mapping space, perform data verification on the target business data identifier through a resource location table associated with the first node address of the first node mapping identifier to obtain a first data verification result;
  • the ring mapping space here refers to a mapping space in the shape of a ring obtained by arranging the node mapping identifiers in the mapping space from small to large and connecting the minimum node mapping identifier and the maximum node mapping identifier end to end, and the addressing direction of the ring mapping space is determined by the direction indicated by the first order obtained by arranging the node mapping identifiers in the mapping space from small to large (for example, along the clockwise direction of the ring mapping space).
  • the adjacent node addresses corresponding to these adjacent node mapping identifiers can be used to store the business data identifiers of the business data synchronized from the blockchain corresponding to the consensus network, for example, it can be the synchronization data identifier of the on-chain synchronization data information synchronized from the blockchain;
  • the adjacent node address here can be the node address located after the first node address in the addressing direction, and the adjacent node mapping identifier is the node mapping identifier that is greater than the first node mapping identifier in the addressing direction;
  • the first data verification result is used to indicate that when the execution verification node determines that the synchronization data identifier of the on-chain synchronization data information does not contain the target business data identifier, it obtains the node routing list maintained by the execution verification node, and among the K routing node mapping identifiers contained in the node routing list, the node mapping identifier that is closest to the
  • the target inspection node can also perform an addressing process similar to the above execution inspection node, such as addressing through the resource location table and node routing list maintained by the target inspection node, which will not be repeated here.
  • Step S202 when it is determined based on the data location request that the second node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order, the target business data is checked through the second node address corresponding to the second node mapping identifier.
  • the target inspection node can perform addressing according to the addressing process similar to the execution inspection node mentioned above after obtaining the data location request, the target inspection node can further determine whether the node mapping identifier corresponding to itself (i.e., the second node mapping identifier mentioned above) is the first order distance when performing addressing based on the data location request.
  • the node mapping identifier closest to the target business data identifier and then when it is determined that the second node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order, it is determined that the node address of the target verification node stores proof data for verifying the authenticity of the target business data, and the proof data here is the on-chain verification information of the target business data synchronized from the above-mentioned blockchain.
  • the target business data is determined by the consensus node in the consensus network calling the target business processing data on the blockchain to execute the target business, and the target business data may include one or more of the target business execution results or target read-write status data associated with the target business.
  • the target business here is initiated by the second business node.
  • the target business here can be the business submitted by the second business node to the consensus node; wherein the second business node is included in the business network.
  • each inspection node in the inspection network can synchronize the business data identifier of the business data that is close to its node mapping identifier (or address space), and can also synchronize the on-chain verification information of the business data to verify the authenticity of the business data.
  • the target inspection node is taken as an example for explanation. Specifically, when the second node mapping identifier of the target inspection node is the node mapping identifier that is closest to the target business data identifier in the first order, the target inspection node can obtain the target business data identifier and the on-chain verification information of the target business data from the blockchain.
  • the on-chain verification information of the target business data can be referred to as the target verification information here; the synchronized target business data identifier and target verification information can then be stored.
  • the target inspection node can actively send a data synchronization request to the consensus node.
  • the consensus node obtains the second node mapping identifier of the target inspection node from the data synchronization request, it can obtain the distance between the second node mapping identifier and the target business data identifier. If the second node mapping identifier is identified as the node mapping identifier that is closest to the target business data identifier in the first order, the target business data identifier and the target verification information of the target business data corresponding to the target business data identifier can be returned to the target inspection node for storage.
  • the consensus node can search for the node mapping identifier that is closest to the target business data identifier in the first order among the node mapping identifiers of all the inspection nodes recorded by it.
  • the consensus node can actively synchronize or configure the target business data identifier and the target verification information of the target business data to the target inspection node corresponding to the second node mapping identifier for storage.
  • each verification node can provide verification functions to the outside world. Therefore, after the addressing is completed, the verification node finally located is the verification node that stores on-chain verification information (e.g., verification information C2) used to verify the authenticity of the business data (e.g., business data C1). The verification node can verify the authenticity of the business data C1 based on the verification information C2 it stores.
  • on-chain verification information e.g., verification information C2
  • the verification node can verify the authenticity of the business data C1 based on the verification information C2 it stores.
  • the target inspection node determines the second node mapping identifier as the first order distance to the target based on the data positioning request.
  • the target business data identifies the node mapping identifier closest to the target business data
  • the target business data can be checked based on the target verification information stored on the second node address to obtain a second data verification result; further, the target verification node can return the first verification certification information corresponding to the target business data to the business object based on the second data verification result.
  • the target verification node when the above-mentioned mapping space includes a ring mapping space, when the second node mapping identifier of the target verification node is the node mapping identifier closest to the target business data identifier in the addressing direction, it can also be indicated that the target verification information of the target business data is stored on the node address of the target verification node (i.e., the above-mentioned second node address). Therefore, the target verification node can perform data verification on the target business data based on the target verification information stored on the second node address to obtain a second data verification result; further, the target verification node can return the first verification proof information corresponding to the target business data to the business object based on the second data verification result.
  • the verification node forms a verification network in the business network through the Chord DHT algorithm structure, and can be responsible for synchronizing the on-chain verification information of the business data corresponding to the data identifier close to its own node mapping identifier (also called node ID), that is, the verification node in the verification network can synchronize the on-chain verification information of the business data corresponding to the data identifier within the spatial range where its own node mapping identifier is located (that is, the spatial range from its predecessor node to the verification node in the above mapping space).
  • node ID also called node ID
  • the on-chain verification information includes but is not limited to the Merkel path of the business data, the node signature set related to the business data, time information such as data timestamp and validity period, data details (such as some original information required by the verification node) and additional verification information required to read the data, etc. Therefore, the authenticity verification in the embodiment of the present application may include one or more verification methods, which are explained below.
  • the target verification information may include a Merkle path associated with the target business data, where the Merkle path is a path connecting the target business corresponding to the target business data to the Merkle tree root; the Merkle path includes a path hash value for participating in the reconstruction of the Merkle tree corresponding to the Merkle tree root.
  • the target verification node can obtain the Merkle path from the target verification information stored on the second node address, so that when the business hash value of the target business data corresponding to the current business (i.e., the target business) is obtained, the path hash value for participating in the reconstruction of the Merkle tree corresponding to the Merkle tree root can be further obtained from the Merkle path.
  • the target verification node when it obtains the business hash value of the target business data and the path hash value in the Merkle path, it can further reconstruct the Merkle tree root based on the business hash value of the target business data and the path hash value in the Merkle path, and determine the reconstructed Merkle tree root as the tree root to be verified. Furthermore, the target verification node can locate the target block where the target business data is located based on the business hash value, and then determine the Merkle tree root obtained in the block header information of the target block as the Merkle tree root to be compared.
  • the target verification node involved in the embodiment of the present application can also be used to synchronize the block header information of the target block where the target business data is located from the blockchain, so that the Merkle tree root obtained from the block header information can be determined as the Merkle tree root to be compared, and then the tree root to be verified can be compared with the Merkle tree root to be compared. The Merkle tree root is compared to obtain the root verification result.
  • the target verification node can determine that the root verification is successful, that is, the target business data requested to be verified by the business object is truly present on the blockchain; conversely, if the root verification result indicates that the root to be verified is inconsistent with the Merkle tree root to be compared, the target verification node can determine that the root verification has failed, that is, the target business data requested to be verified by the business object does not exist on the blockchain. The subsequent target verification node can determine the second data verification result based on the root verification result.
  • the target verification information may include a node signature set associated with the target block where the target business data is located, and the node signature set may include node signature information obtained by each of the G consensus nodes in the consensus network signing the target block, where G is a positive integer.
  • the G consensus nodes here may form a consensus node committee, and accordingly, the node signature set may also be referred to as a consensus node committee signature set (Quorum Certification, referred to as QC), and the node signature set may include node signature information obtained by each consensus node participating in the consensus among the G consensus nodes signing the target block with their own node private keys.
  • the target verification node can obtain the node public keys corresponding to the G consensus nodes, and then perform node signature verification on the node signature information in the node signature set based on the obtained G node public keys, thereby obtaining the node verification result.
  • the node public key corresponding to a consensus node can be used to verify a node signature information in the node signature set.
  • the consensus node P can perform a hash operation on all block contents (including block header information and block body) or part of the block content (for example, block body) in the target block to obtain the summary information H of the target block, and then the summary information H can be digitally signed based on the node private key of the consensus node P to obtain the node signature information Q corresponding to the target block.
  • the target verification node when the target verification node obtains the node signature information Q of the target block, the node public key of the consensus node P can be obtained, and then the node signature verification can be performed on the node signature information Q based on the node public key to obtain the corresponding sub-signature verification result.
  • the target verification node can verify the digital signature in the signature information Q of the consensus node based on the node public key of the consensus node P to obtain the summary information H of the target block, and can use the same hash algorithm as the consensus node P to perform a hash operation on the same block content in the target block, so as to obtain the summary information h of the target block.
  • the target verification node can compare the summary information H obtained after the verification with the summary information h obtained by the hash operation to obtain a sub-verification result. If the sub-verification result indicates that the summary information H is different from the summary information h, it can be understood that the node signature information Q verification failed; if the sub-verification result indicates that the summary information H is the same as the summary information h, it can be understood that the node signature information Q verification is successful.
  • the target verification node can determine that the node signature set verification is successful, indicating that the block content in the target block has not been maliciously tampered with and is authentic and valid; when there is a sub-verification result indicating failed verification among the G sub-verification results, the target verification node can determine that the node signature set verification has failed. The target verification node can subsequently determine the second data verification result based on the node verification result.
  • the target verification information may include the first time association information associated with the target business data, where the first time association information may include the data timestamp of the target business data, which may be the business timestamp of the target business data, or the timestamp existing in the data content of the target business data (for example, the invoicing date in the electronic bill), or other timestamps that can be verified, which are not limited in the embodiment of the present application.
  • the target verification node can obtain the timestamp to be verified of the target business data from the received data location request, and then compare the timestamp to be verified with the data timestamp to obtain the timestamp verification result.
  • the target verification node can determine that the timestamp verification is successful, and the target business data is indeed the business data at a certain moment; conversely, if the timestamp verification result indicates that the timestamp to be verified is inconsistent with the data timestamp, the target verification node can determine that the timestamp verification fails, and the target business data may be tampered with or updated.
  • the subsequent target verification node can determine the second data verification result based on the timestamp verification result.
  • the target verification information may include second time-related information associated with the target read-write status data, and the second time-related information here may include the certificate validity period corresponding to the public key certificate of the consensus node in the consensus network.
  • the target verification node performs node signature verification on the node signature information in the node signature set, it is necessary to obtain the node public key of the consensus node.
  • the node public key can be obtained by synchronizing the public key certificate of the consensus node, so it is necessary to verify the validity of its public key certificate before using the node public key.
  • the target verification node can use the public key certificate of the consensus node synchronized from the blockchain as the first public key certificate, and the first public key certificate contains a node public key for node signature verification of the node signature set associated with the target block where the target business data is located; further, the target verification node can obtain the usage time of the first public key certificate, and then compare the usage time of the first public key certificate with the certificate validity period to obtain the certificate validity verification result. It can be understood that, optionally, when the certificate validity verification result indicates that the usage time is greater than or equal to the certificate validity period, the target verification node can determine that the first public key certificate is an invalid certificate.
  • the target verification node can request the consensus node to update the certificate; or, optionally, when the certificate validity verification result indicates that the usage time is less than the certificate validity period, the target verification node can determine that the first public key certificate is a valid certificate.
  • the subsequent target verification node can determine the second data verification result based on the certificate validity verification result.
  • the second time-related information here can also include the validity period of some data states, and related verification can also be performed. These data states may change, and after expiration, they can also be updated from the intelligent processing data deployed on the blockchain (i.e., target business processing data, such as target business processing data).
  • first time-related information and the second time-related information are both included in the time-related information associated with the target business data, and other time-related information can also be used for relevant verification, which is not limited here.
  • the corresponding business node will register its node address (such as IP address) on the chain and authorize the visibility of its business data.
  • the consensus node can also update the node addresses registered on the chain in real time; accordingly, the inspection node in the inspection network will store the node address of the business node corresponding to the data hash value of each business data (that is, the business data identifier of the above business data) (that is, the node address of the business node storing the business data corresponding to the data identifier). In this way, when it is necessary to perform original text inspection on a certain business data, the inspection node will access the specific business node through the node address of the stored business node.
  • the second business node stores the data original information of the target business data synchronized from the consensus node.
  • the data original information can be the specific original content of the target business data (such as certain fields, official seals, signatures, pictures, etc.), rather than the processed overall hash value.
  • the data original information of an electronic bill can include its ticket number, heading, etc. Since the data original information is private data, the data holder (that is, the second business node) needs to be authorized before the original text inspection capability can be provided. Assuming that the target verification information contains read additional information, the read additional information is determined by the consensus node calling the target business processing data and registering the original authorization information submitted by the second business node.
  • the second business node can submit the original authorization information to the consensus node.
  • the original authorization information may include the node address of the second business node and the verification configuration information, etc., and then register its own node address in the target business processing data through the consensus node, and set its verifiable original data; the read additional information can be some additional information required when reading data from the second business node.
  • the second business node sets a large amount of business data that can be checked in the original text, and it may be difficult to search blindly.
  • the data original information in a specific time period or a certain area can be found according to the time reading range or area reading range indicated by the read additional information.
  • the read additional information can also include other additional information, and the specific content contained here is not limited.
  • the target verification node can obtain the node address of the business node that stores the data original information of the target business data; and then, when the node address of the obtained business node is the node address of the second business node, based on reading the additional information, a text verification request for the target business data can be sent to the second business node corresponding to the business node address; accordingly, after receiving the text verification request, the second business node can determine the data original information of the target business data based on reading the additional information, and can perform text verification on the target business data based on the data original information, thereby obtaining a third data verification result, and can return the second verification certification information corresponding to the target business data to the business object based on the third data verification result.
  • the second service node can check the bill number from the relevant original document.
  • the ticket number to be checked can be obtained from the verification request, and the original ticket number can be obtained from the original data information of the clearing and synchronization on the blockchain according to the reading of the additional information, and then the ticket number to be checked can be compared with the original ticket number, so that the comparison result obtained by the comparison can be used as the third data verification result when the original text of the target business data (that is, the ticket number of the electronic bill C) is verified.
  • the target verification node may return the node address of the above-mentioned business node to the business object, and then the business object may re-initiate an original verification request for the target business data to the second business node corresponding to the node address of the business node through the first business node.
  • the data location request carrying the target business data identifier can be forwarded to the consensus node in the consensus network so that the consensus node can verify the authenticity of the target business data.
  • each consensus node is a full node, storing the required target verification information, so there is no need to address it in the consensus network to verify the authenticity of the target business data.
  • the verification network in the embodiment of the present application isolates the consensus network, which can avoid query requests from repeatedly entering the consensus network, thereby affecting the core performance of the consensus network, and at the same time can make full use of the computing resources of the business network.
  • the consensus node when it sends the verification information of the business data to the target inspection node that is closest to the hash distance of the business data identifier of the business data, it can also send the verification information of the same business data to other 2 to 3 inspection nodes that are closest to the hash distance of the business data identifier of the business data for backup storage.
  • the nearest inspection node for example, the target inspection node
  • the verification information stored by it fails or the verification information stored by it is damaged, it can be tried to search from other inspection nodes that have backed up the verification information (i.e., backup inspection nodes).
  • the inspection node that is closest to the hash distance of the business data identifier of the business data is taken as the target inspection node as an example. If the node state of the target inspection node is a failed state or the target verification information stored by the target inspection node is defective information, the data location request carrying the target business data identifier can be forwarded to the backup inspection node; the node mapping identifier of the backup inspection node here is the node mapping identifier that is closest to the target business data identifier in the addressing direction except the second node mapping identifier, and the backup inspection node is used to back up the target verification information.
  • the data location request can be used to instruct the backup verification node to perform data verification on the target business data based on its backed-up target verification information. It can be seen that even if some business nodes fail and the original text cannot be verified, the verification network can still ensure that business data and historical data can be checked and verified for a long time through the backup storage of several verification nodes.
  • the embodiment of the present application can also provide a data maintenance function for the inspection network.
  • the target business processing data such as electronic bill processing data
  • the target inspection node can be used to determine the verifiable timestamp (such as timestamp T1) of the target business data.
  • the target inspection node can obtain the verifiable timestamp of the consensus node based on the target business data.
  • the verification time limit event is generated by the timestamp, and when the verifiable timestamp in the verification time limit event is obtained, if it is detected that the data timestamp of the target business data (such as timestamp T2) is earlier than the verifiable timestamp, the target verification node can determine that the target business data can no longer be verified.
  • the target business data identifier and target verification information stored in the target verification node can be cleared.
  • the electronic invoice processing data in the blockchain electronic invoice system determines that the verifiable period of the electronic invoice is 3 years, that is, all electronic invoices within 3 years can be checked, then the consensus node will regularly broadcast the corresponding verification period event D1, and the inspection node D3 responsible for checking the electronic invoice D2 can determine the verifiable timestamp of the electronic invoice D2 according to the verifiable period in the inspection period event D1. For example, assuming that the verifiable timestamp is January 1, 2020, and the issuance date of the electronic invoice D2 is December 1, 2019, the inspection node D3 can clear the data identification and verification information related to the electronic invoice D2.
  • the addressing algorithm adopted in the embodiment of the present application can achieve addressing by jumping to a small number of verification nodes, thereby improving the addressing efficiency of the verification node, and further improving the verification efficiency of the business data.
  • the verification node finally located can verify the authenticity of the business data, and can access the relevant business nodes when the original text needs to be verified, thereby separating the verification network and the business SPV node, and providing a stable blockchain data verification service under the premise of ensuring the privacy of business data.
  • the functions of automatic online and offline nodes, data maintenance, and data addressing routing in the verification network can be provided to ensure the integrity and availability of the entire verification network. Even if the business SPV node fails, the verification network can ensure that the business data and historical data can be checked and verified for a long time.
  • Figure 5 is a schematic diagram of a scenario of blockchain electronic bill inspection provided by an embodiment of the present application.
  • the business node 50A shown in Figure 5 can be used as the above-mentioned second business node, for example, the business node 50A can be any business node in the business network 110 shown in Figure 1 above; the consensus node 50B can be any consensus node in the consensus network 200a above; the inspection node 50C can be used as the above-mentioned target inspection node, for example, the inspection node 50C can be any inspection node in the inspection network 120 shown in Figure 1 above.
  • the consensus node 50B will also send the verification information 501a to 2 to 3 inspection nodes (i.e., the aforementioned backup inspection nodes) with the closest hash distance to y for backup storage.
  • the service node 50A will only synchronize the original data information 501b of the electronic receipt X (such as the ticket number, title, etc. of the electronic receipt X).
  • Figure 6 is a schematic diagram of another scenario of blockchain electronic bill inspection provided by an embodiment of the present application.
  • user A i.e., the aforementioned business object
  • the business node 50D in the business network can send a data location request for electronic bill X to the inspection node 50E in the inspection network, that is, entrust the inspection node 50E to provide user A with a verification certificate of the authenticity of electronic bill X.
  • the business node 50D can be used as the above-mentioned first business node, for example, the business node 50D can be any business node in the business network 110 shown in Figure 1 above; the inspection node 50E can be used as the above-mentioned execution inspection node, for example, the inspection node 50E can be any inspection node in the inspection network 120 shown in Figure 1 above.
  • the verification node 50E can be addressed by the data identifier of the electronic bill X (i.e., hash (X)), so that the verification node 50C storing the verification information 501a of the electronic bill X can be found in the verification network, and then the data location request can be forwarded to the verification node 50C.
  • the specific process of addressing can refer to the embodiment corresponding to the above-mentioned Figure 3, which will not be repeated here.
  • the verification node 50C can perform data verification on the electronic bill X based on the verification information 501a stored by it to realize the authenticity verification of the electronic bill X, and generate a verification certificate information 501c corresponding to the electronic bill X (i.e., the verification certificate, which can be specifically the aforementioned first verification certificate information), and then return the verification certificate information 501c to the business node 50D associated with user A.
  • the specific process of authenticity verification can refer to the relevant description in the embodiment corresponding to the above-mentioned Figure 4, which will not be repeated here.
  • the node address 501d i.e., the node address of the aforementioned business node, for example, the IP address of the business node 50A
  • the business node 50A i.e., the aforementioned second business node
  • the data of the original text that can be verified has been registered and set in the corresponding electronic bill processing data.
  • the verification node 50C can jump to the business node 50A to perform the original text-related verification.
  • Figure 7 is a schematic diagram of another scenario of blockchain electronic bill verification provided by an embodiment of the present application.
  • the verification node 50C can send an original text verification request for electronic bill X to the business node 50A.
  • the business node 50A can perform original text verification on the electronic bill X based on the data original information 501b of the electronic bill X, and can return the verification proof information 501e (i.e., the verification proof, in this case, the verification proof can specifically be the above-mentioned second verification proof information) corresponding to the electronic bill X to the business node 50D associated with user A.
  • the specific process of original text verification can be referred to the relevant description in the embodiment corresponding to the aforementioned Figure 4.
  • No further elaboration will be given.
  • the process will fallback (i.e., return) to request the consensus node in the consensus network (such as the aforementioned consensus node 50B) to verify the authenticity of the electronic note X.
  • the consensus node can then use the relevant verification information on the blockchain to verify the authenticity of the electronic note X.
  • the inspection network in the embodiment of the present application is composed of SPV nodes that are online for a long time and can be operated by official or authoritative alliance members. Before joining, it is necessary to meet the conditions of continuous online time limit and ping return delay less than 10ms (i.e. the aforementioned inspection network joining conditions), otherwise it will only perform ordinary SPV functions and will not join the Chord DHT inspection network.
  • the SPV nodes that join the inspection network can get a certain inspection reward according to the number of times they provide inspection services.
  • the electronic invoice processing data in the system can determine the time limit for checking the electronic invoice (for example, it can be checked within 3 years). At this time, the consensus network will broadcast regularly, and the verification nodes in the verification network can clean up past data according to the time limit for checking.
  • the addressing algorithm adopted in the embodiment of the present application can achieve addressing by jumping to a small number of verification nodes, thereby improving the addressing efficiency of the verification node, and further improving the verification efficiency of the business data.
  • the verification node finally located can verify the authenticity of the business data, and can access the relevant business nodes when the original text needs to be verified, thereby separating the verification network and the business SPV node, and providing a stable blockchain data verification service under the premise of ensuring the privacy of business data.
  • the functions of automatic online and offline nodes, data maintenance, and data addressing routing in the verification network can be provided to ensure the integrity and availability of the entire verification network. Even if the business SPV node fails, the verification network can ensure that the business data and historical data can be checked and verified for a long time.
  • Figure 8 is a system architecture diagram of a blockchain electronic bill scenario provided in an embodiment of the present application.
  • the business layer, routing proxy layer and consensus layer in the embodiment of the present application constitute the entire complete blockchain business system.
  • the core chain 1, core chain 2, ... and core chain N shown in Figure 8 are the target blockchains maintained by tax bureaus in different regions.
  • the business data (for example, business data Y) in the embodiment of the present application may include business execution results and read-write status data generated when executing bill business (such as electronic bill transfer business).
  • the layered blockchain structure of "business network-consensus network” (that is, the aforementioned layered chain network) in the embodiment of this application can be adopted to adapt to the specific requirements of the actual network layout of the blockchain production line of the relevant industry (such as internal and external networks, business networks, office networks, etc.), while ensuring the efficient execution of the core consensus algorithm.
  • the business layer is in the witness network (i.e., business network), and the business nodes in the business layer may include terminal devices corresponding to the electronic tax bureau, terminal devices corresponding to enterprise users, and terminal devices corresponding to consumer users.
  • the electronic tax bureau may refer to the local tax bureau in the tax bureau private network, and enterprise users may provide invoicing service providers, reimbursement service providers, or Retail enterprises (for example, KA enterprises, i.e. large retail customers and key retail customer enterprises), etc. Consumer users can be payment service providers, circulation service providers or retail enterprises in private clouds, etc.
  • multiple business nodes in the business network are all second-class business nodes
  • the first-class business nodes here are business nodes selected from multiple business nodes included in the business network for performing data verification services, that is, the first-class business nodes here are mainly used to synchronize the business data identifiers (such as the hash value of the business data) of business data that are close to the address space of their own nodes (indicated by the corresponding node mapping identifier), and provide verification functions to the outside;
  • the second-class business nodes are mainly used to synchronize and clear business data related to themselves through consensus nodes when performing the above-mentioned clearing and synchronization operations.
  • the N relay nodes i.e., routing nodes
  • each relay node can have a point-to-point service, a routing service, a certificate cache, and an authentication service.
  • the point-to-point service refers to a service in a point-to-point network.
  • a central node is not required between network nodes in the point-to-point network to maintain the network status. Instead, each node maintains the node status of the entire network or the connection status of its adjacent nodes through broadcast interaction with adjacent nodes.
  • the routing service is a basic function of a node and can be used for communication between nodes.
  • the certificate associated with the certificate cache may refer to a public key certificate system (Public Key Infrastructure, PKI).
  • a certificate is an identity certificate of a public key owner and is issued by an authority (Certificate Authority, CA).
  • CA Certificate Authority
  • the authentication service can be used to verify the data format of the received data, the legitimacy of the node, etc. It can be understood that in an embodiment of the present application, the relay node can forward the business data submitted by the second type of business node (for example, the above-mentioned second business node) to the consensus node.
  • the consensus nodes (i.e., accounting nodes) in the consensus layer can be trusted nodes in the tax-specific network. It is understandable that each consensus node has the ability to package and block, that is, it can package and block the business data that has passed the consensus, store the relevant read-write status data, or package and block both the business execution results and the read-write status data, so as to successfully write them into the target blockchain in the consensus layer.
  • the embodiment of the present application can provide data inspection function to any service node in the external business network through M inspection nodes in the inspection network.
  • the execution inspection node in the inspection network when the execution inspection node continues to address through the above-mentioned node routing list, once it is determined that the second node mapping identifier of the target inspection node is the node mapping identifier found in the second order that is closest to the target business data identifier, then the target inspection node can receive the data location request carrying the target business data identifier forwarded by the execution inspection node, and then the target inspection node can further verify the authenticity of the target business data when it is determined based on the data location request that the second node mapping identifier is the node mapping identifier that is closest to the target business data identifier in the addressing direction.
  • the embodiment of the present application can verify the authenticity of the target business data through the ring mapping space corresponding to the inspection network by performing node mapping processing and addressing operations on the inspection network deployed in the business layer. It helps the execution inspection node to quickly locate the target inspection node, and then it can realize addressing by jumping to the target inspection node, thereby improving the addressing efficiency of the inspection node, and then improving the inspection efficiency of business data. Furthermore, after the addressing is successful, the target inspection node can further verify the authenticity of the business data through the target inspection node, and can access the relevant business nodes when the original text needs to be inspected.
  • the Chord protocol can be used to ensure that the inspection nodes in the inspection network can realize functions such as automatic online and offline, data maintenance, and data addressing routing to ensure the integrity and availability of the entire inspection network.
  • Figure 9 is a structural diagram of a data processing device based on a hierarchical chain network provided in an embodiment of the present application.
  • the data processing device 1 based on the hierarchical chain network can be applied to an execution verification node, which is a verification node among M verification nodes for performing data verification.
  • the execution verification node can be the verification node 120a in the embodiment corresponding to Figure 1 above.
  • the data processing device 1 based on the hierarchical chain network can be a computer program (including program code) running on a blockchain node (for example, the aforementioned verification node 120a), for example, the data processing device 1 based on the hierarchical chain network is an application software; it can be understood that the data processing device 1 based on the hierarchical chain network can be used to execute the corresponding steps in the data processing method based on the hierarchical chain network provided in an embodiment of the present application.
  • the layered chain network includes a verification network, a business network and a consensus network. The verification network and the business network are both deployed in the business layer of the layered chain network.
  • the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store business data submitted by business nodes in the business network.
  • M verification nodes are deployed in the verification network, M is a positive integer, and the M verification nodes include an execution verification node for performing data verification. The method is executed by the execution verification node and included in the M verification nodes.
  • the data processing device 1 based on the hierarchical chain network may include: a request acquisition module 11, an identification determination module 12, an identification verification module 13, a first forwarding module 14, a second forwarding module 15, and a node change module 16;
  • a request acquisition module 11 used to acquire a data location request for target service data sent by a first service node in a service network
  • an identification determination module 12 configured to determine, in response to identifying a target service data identification of the target service data from the data location request, a first node mapping identification of a node executing the inspection in a mapping space corresponding to the inspection network, the mapping space including node mapping identifications corresponding to M inspection nodes respectively, the node mapping identifications being obtained by mapping node addresses of the M inspection nodes respectively to the mapping space;
  • the mapping space includes a ring mapping space, and the target service data identifier is obtained by mapping the target service data to the ring mapping space;
  • the identification determination module 12 may include: an address acquisition unit 121, an address mapping unit 122;
  • the address acquisition unit 121 is used to acquire the first node address of the execution inspection node when the target service data identifier of the target service data is identified from the data location request;
  • An address mapping unit 122 is used to map the first node address to the ring mapping space to obtain a first node mapping identifier of the node executing the check;
  • the address mapping unit 122 is specifically used to obtain a hash mapping function associated with the ring mapping space, and perform a hash operation on the first node address based on the hash mapping function to obtain a first node mapping identifier of the execution check node;
  • the hash mapping function is also used to perform a hash operation on the target business data to obtain a target business data identifier of the target business data.
  • step S102 the address acquisition unit 121 and the address mapping unit 122 can refer to the description of step S102 in the embodiment corresponding to FIG. 3 , and will not be further described here.
  • the identification verification module 13 is used to perform data verification on the target business data identification according to the first order after the node mapping identification is arranged from small to large, through the resource location table associated with the first node address of the node executing the verification, to obtain a first data verification result, the resource location table is used to record the adjacent node mapping identification that is greater than the first node mapping identification, the adjacent node address corresponding to the adjacent node mapping identification is used to store the business data identification of the business data synchronized from the blockchain, and the data verification result is used to indicate whether the synchronized business data identification contains the target business data identification;
  • the identification verification module 13 may include: an identification acquisition unit 131 and an identification verification unit 132;
  • An identification acquisition unit 131 is used to acquire a resource location table associated with a first node address of a node executing a check according to a first order after the node mapping identifications are arranged from small to large;
  • the identifier acquisition unit 131 is further used to determine the target adjacent inspection node mapping identifier from the adjacent node mapping identifiers included in the resource location table;
  • the number of neighboring node mapping identifiers is N; N is a positive integer greater than 1;
  • the identification acquisition unit 131 may include: an identification search subunit 1311, a first identification determination subunit 1312, and a second identification determination subunit 1313;
  • the identifier search subunit 1311 is used to search the adjacent node mapping identifier corresponding to the first node address located after the first node address in the N adjacent node mapping identifiers according to the first order, and use the adjacent node mapping identifier corresponding to the first node address found as the first adjacent node mapping identifier;
  • the first identifier determination subunit 1312 is used to obtain the node state of the first adjacent inspection node corresponding to the first adjacent node mapping identifier, and if the node state of the first adjacent inspection node is a valid state, the first adjacent node mapping identifier is used as the target adjacent inspection node mapping identifier;
  • the second identifier determination subunit 1313 is used to determine the target adjacent inspection node mapping identifier from the (N-1) adjacent node mapping identifiers other than the first adjacent node mapping identifier in a first order if the node status of the first adjacent inspection node is a failed status.
  • the specific implementation methods of the identification search subunit 1311, the first identification determination subunit 1312, and the second identification determination subunit 1313 can refer to the description of step S103 in the embodiment corresponding to Figure 3 above, and will not be further described here.
  • the identifier verification unit 132 is used to perform data verification on the target business data identifier based on the first node mapping identifier and the target adjacent verification node mapping identifier to obtain a first data verification result.
  • the synchronized business data identifier includes a target synchronization data identifier, which refers to the target synchronization data identifier of the target chain synchronization data information synchronized from the blockchain and stored on the target proximity inspection node address corresponding to the target proximity inspection node mapping identifier;
  • the identification checking unit 132 may include: a first addressing subunit 1321, a second addressing subunit 1322, and a result determination subunit 1323;
  • the first addressing subunit 1321 is used to determine that the target adjacent inspection node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order if the target business data identifier is located within the spatial range determined by the first node mapping identifier and the target adjacent inspection node mapping identifier, and determine that the target business data identifier is included in the target synchronization data identifier, and the distance refers to the hash distance obtained by performing an XOR operation on the target adjacent inspection node mapping identifier and the target business data identifier when the target adjacent inspection node mapping identifier and the target business data identifier are hash values with the same length;
  • the second addressing subunit 1322 is used to determine that the target service data identifier is not included in the target synchronization data identifier if the target service data identifier is outside the spatial range determined by the first node mapping identifier and the target adjacent inspection node mapping identifier;
  • the result determination subunit 1323 is used to use the data verification result when the target synchronization data identifier includes the target business data identifier or the data verification result when the target synchronization data identifier does not include the target business data identifier as the first data verification result.
  • first addressing subunit 1321 the second addressing subunit 1322, and the result determination subunit 1323 can refer to the description of step S103 in the embodiment corresponding to FIG. 3 above, and will not be further described here.
  • identification acquisition unit 131 and the identification verification unit 132 can refer to the description of step S103 in the embodiment corresponding to FIG. 3 above, and will not be further described here.
  • the first forwarding module 14 is used to obtain a node routing list corresponding to the node executing the inspection in response to the first data inspection result indicating that the synchronized business data identifier does not include the target business data identifier, the node routing list is used to record K routing node mapping identifiers, and the routing node mapping identifier is a node with a preset distance from the first node mapping identifier in the mapping space. Check the node mapping identifier of the node, where K is a positive integer greater than 1, and K is less than or equal to the spatial influence parameter of the mapping space.
  • the first forwarding module 14 is further used to determine, among the K routing node mapping identifiers, a routing node mapping identifier that is found in a second order opposite to the first order and is closest to the target business data identifier in the mapping space as a second node mapping identifier.
  • the first forwarding module 14 is further used to send a data location request to the target inspection node corresponding to the second node mapping identifier, so that the target inspection node performs data inspection on the target service data.
  • the first forwarding module 14 may include: an identification search unit 141, a first identification determination unit 142, and a second identification determination unit 143;
  • the identifier search unit 141 is used to determine a second order opposite to the first order in the ring mapping space, determine the direction indicated by the second order as the opposite direction of the addressing direction, and search for the routing node mapping identifier with the largest distance from the first node mapping identifier in the opposite direction of the addressing direction among the K routing node mapping identifiers, and use the found routing node mapping identifier as the first routing node mapping identifier;
  • a first identifier determining unit 142 is configured to determine, if the first routing node mapping identifier is within the spatial range determined by the first node mapping identifier and the target service data identifier, that the first routing node mapping identifier is the node mapping identifier that is closest to the target service data identifier in the reverse direction of the addressing direction, and use the first routing node mapping identifier as the second node mapping identifier;
  • the second identifier determination unit 143 is used to determine the second node mapping identifier from (K-1) routing node mapping identifiers other than the first routing node mapping identifier if the first routing node mapping identifier is outside the spatial range determined by the first node mapping identifier and the target service data identifier.
  • the specific implementation methods of the identification search unit 141, the first identification determination unit 142, and the second identification determination unit 143 can refer to the description of step S105 in the embodiment corresponding to Figure 3 above, and will not be further described here.
  • the second forwarding module 15 is used to forward the data location request carrying the target business data identifier to the target adjacent inspection node corresponding to the target adjacent inspection node mapping identifier when the first data inspection result indicates that the target synchronization data identifier includes the target business data identifier.
  • the data location request is used to instruct the target adjacent inspection node to perform data inspection on the target business data, and the node address of the target adjacent inspection node is the target adjacent inspection node address.
  • the node change module 16 is used to send a node query request to the first adjacent inspection node; the node query request is used to instruct the first adjacent inspection node to return the previous node mapping identifier corresponding to the first node address that is located before the node address corresponding to the first adjacent node mapping identifier in the first order; if the previous node mapping identifier is different from the first node mapping identifier, the resource location table and the node routing list maintained by the execution inspection node are updated based on the previous node mapping identifier.
  • the specific implementation of the request acquisition module 11, the identification determination module 12, the identification verification module 13, the first forwarding module 14, the second forwarding module 15, and the node change module 16 can refer to the description of steps S101 to S106 in the embodiment corresponding to FIG. 3 above, and will not be further described here. It should be understood that the description of the beneficial effects obtained by adopting the same method will not be repeated.
  • Figure 10 is a structural diagram of another data processing device based on a hierarchical chain network provided in an embodiment of the present application.
  • the data processing device 2 based on the hierarchical chain network can be applied to the target inspection node, and the target inspection node can be any inspection node in the inspection network (for example, the above-mentioned inspection network 120).
  • the target inspection node can be the inspection node 120b in the embodiment corresponding to Figure 1 above.
  • the data processing device 2 based on the hierarchical chain network can be a computer program (including program code) running on a blockchain node (for example, the aforementioned inspection node 120b).
  • the data processing device 2 based on the hierarchical chain network is an application software; it can be understood that the data processing device 2 based on the hierarchical chain network can be used to execute the corresponding steps in the data processing method based on the hierarchical chain network provided in the embodiment of the present application.
  • the layered chain network includes a verification network, a business network and a consensus network.
  • the verification network and the business network are both deployed in the business layer of the layered chain network.
  • the consensus network is deployed in a consensus layer independent of the business layer, and the blockchain maintained by the consensus network is used to store business data submitted by business nodes in the business network.
  • There are M verification nodes deployed in the verification network M is a positive integer, and the target verification node is included in the M verification nodes.
  • the data processing device 2 based on the hierarchical chain network may include: a request receiving module 21, a data checking module 22, a data synchronization module 23, an original text checking module 24, a third forwarding module 25, a fourth forwarding module 26, and a data clearing module 27;
  • the request receiving module 21 is used to obtain a data location request carrying a target business data identifier forwarded by the execution inspection node based on the second node mapping identifier, the execution inspection node is included in the M inspection nodes, the data location request is a request for the target business data corresponding to the target business data identifier sent by the first business node, the first business node is any business node in the business network, the execution inspection node is used to respond to identifying the target business data identifier from the data location request, determine the first node mapping identifier of the execution inspection node in the mapping space corresponding to the inspection network, and arrange the node mapping identifiers in the mapping space in a first order from small to large, by associating with the first node address of the execution inspection node
  • the resource location table performs data verification on the target business data identifier to obtain a first data verification result, the mapping space includes node mapping identifiers corresponding to M verification nodes respectively, the node mapping identifiers are obtained after mapping the
  • a data checking module 22 configured to perform data checking on the target service data through a second node address corresponding to the second node mapping identifier when determining, based on the data location request, that the second node mapping identifier is the node mapping identifier closest to the target service data identifier in the first order;
  • the mapping space includes a ring mapping space, and the addressing direction of the ring mapping space is determined based on the direction indicated by the first sequence.
  • the data verification module 22 may include: a data verification unit 221, a proof return unit 222;
  • the target verification information includes a Merkle path associated with the target business data; the Merkle path is a path connecting the target business corresponding to the target business data to the Merkle tree root; the Merkle path includes a path hash value for participating in the reconstruction of the Merkle tree corresponding to the Merkle tree root;
  • the root check subunit 2211 is used to obtain a Merkle path from the target check information stored on the second node address, obtain a path hash value from the Merkle path when obtaining a business hash value of the target business data corresponding to the target business, reconstruct a Merkle tree root based on the business hash value of the target business data and the Merkle path, and determine the reconstructed Merkle tree root as the tree root to be verified;
  • the root verification subunit 2211 is further used to locate the target block where the target business data is located based on the business hash value, determine the Merkle root obtained in the block header information of the target block as the Merkle root to be compared, compare the root to be verified with the Merkle root to be compared, and obtain a root verification result;
  • the tree root check subunit 2211 is also used to determine the second data verification result based on the tree root check result.
  • the target verification information includes a node signature set associated with the target block where the target business data is located;
  • the node signature set includes G node signature information associated with G consensus nodes in the consensus network, and one node signature information is obtained by a consensus node signing the target block;
  • G is a positive integer;
  • the signature verification subunit 2212 is used to obtain the node public keys corresponding to the G consensus nodes, and based on the obtained G node public keys, perform node signature verification on the G node signature information to obtain the node signature verification result; a consensus node The corresponding node public key is used to verify the node signature of a node;
  • the target verification information includes first time association information associated with the target business data; the first time association information includes a data timestamp of the target business data;
  • the timestamp verification subunit 2213 is used to obtain the timestamp to be verified of the target service data from the data location request, compare the timestamp to be verified with the data timestamp, and obtain a timestamp verification result;
  • the timestamp verification subunit 2213 is further used to determine the second data verification result based on the timestamp verification result.
  • the certificate verification subunit 2214 is used to use the public key certificate of the consensus node synchronized from the blockchain as the first public key certificate; the first public key certificate contains a node public key for performing node signature verification on the node signature set associated with the target block where the target business data is located;
  • the certificate verification subunit 2214 is further used to obtain the usage time of the first public key certificate, compare the usage time of the first public key certificate with the certificate validity period, and obtain a certificate validity verification result;
  • the certificate verification subunit 2214 is further used to determine the second data verification result based on the certificate validity verification result.
  • the specific implementation methods of the tree root verification subunit 2211, the signature verification subunit 2212, the timestamp verification subunit 2213, and the certificate verification subunit 2214 can refer to the description of step S202 in the embodiment corresponding to Figure 4 above, and will not be further elaborated here.
  • the proof returning unit 222 is used to return the first verification proof information corresponding to the target business data to the business object based on the second data verification result.
  • step S202 the specific implementation methods of the data verification unit 221 and the proof returning unit 222 can refer to the description of step S202 in the embodiment corresponding to Figure 4 above, and will not be further described here.
  • the data synchronization module 23 is used to obtain the target business data identifier and the target verification information of the target business data from the blockchain when the second node mapping identifier is the node mapping identifier closest to the target business data identifier in the first order, and store the target business data identifier and the target verification information to the second node address corresponding to the second node mapping identifier; the target verification information is the on-chain verification information of the target business data obtained from the blockchain.
  • the second business node in the business network stores the original data information of the target business data synchronized from the blockchain; the target verification information of the target business data includes the read additional information; the read additional information is determined by the consensus node in the consensus network calling the target business processing data and registering the authority of the original authorization information submitted by the second business node; the original authorization information includes the node address of the second business node;
  • the original text checking module 24 is used to obtain the node address of the business node storing the original text information of the target business data when the data checking is to check the original text information of the target business data;
  • the original text verification module 24 is also used to send an original text verification request for the target business data to the second business node corresponding to the business node address based on reading additional information when the node address of the business node is the node address of the second business node; the original text verification request is used to instruct the second business node to perform an original text verification on the target business data based on the data original information of the target business data, obtain a third data verification result, and return the second verification certification information corresponding to the target business data to the business object based on the third data verification result.
  • the third forwarding module 25 is used to forward the data location request carrying the target business data identifier to the consensus node in the consensus network when no verification node storing the target verification information is found among the M verification nodes, so that the consensus node performs data verification on the target business data based on the data location request.
  • the fourth forwarding module 26 is used to forward the data location request carrying the target business data identifier to the backup inspection node if the node status of the target inspection node is a failed state or the target verification information of the target business data stored in the target inspection node is defective information; the node mapping identifier of the backup inspection node is the node mapping identifier that is closest to the target business data identifier in the first order except the second node mapping identifier; the backup inspection node is used to back up the target verification information; the data location request is used to instruct the backup inspection node to perform data verification on the target business data based on the backed up target verification information.
  • the target business processing data is used to determine a verifiable timestamp of the target business data
  • the data clearing module 27 is used to obtain the verification time limit event generated by the consensus node in the consensus network based on the verifiable timestamp of the target business data.
  • the verifiable timestamp in the verification time limit event is obtained, if the data timestamp of the target business data is earlier than the verifiable timestamp, the target business data identifier and target verification information are cleared.
  • the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005.
  • the computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002.
  • the communication bus 1002 is used To achieve connection and communication between these components.
  • the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard).
  • the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
  • the memory 1005 may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the memory 1005 may optionally be at least one storage device located away from the aforementioned processor 1001.
  • the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application.
  • the network interface 1004 can provide a network communication function; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to execute the description of the data processing method based on the hierarchical chain network in any of the embodiments corresponding to FIG3 and FIG4 above, which will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the data processing device 1 based on the layered chain network and the data processing device 2 based on the layered chain network mentioned above, and the computer program includes program instructions.
  • the processor executes the program instructions, it can execute the description of the data processing method based on the layered chain network in any of the embodiments corresponding to Figures 3 and 4 above, so it will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the computer-readable storage medium may be a data processing device based on a hierarchical chain network provided in any of the aforementioned embodiments or an internal storage unit of the computer device, such as a hard disk or memory of a computer device.
  • the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the computer device.
  • the computer-readable storage medium may also include both an internal storage unit of the computer device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the computer device.
  • the computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.
  • the embodiment of the present application also provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided by any of the embodiments corresponding to Figures 3 and 4 above.
  • the description of the beneficial effects of using the same method will not be repeated.
  • Figure 12 is a structural diagram of a data processing system based on a hierarchical chain network provided in an embodiment of the present application.
  • the data processing system 3 based on the hierarchical chain network may include a data processing device 1a and a data processing device 2a.
  • the data processing device 1a may be the data processing device 1 based on the hierarchical chain network in the embodiment corresponding to Figure 9 above. It can be understood that the data processing device 1a can be integrated in the inspection node 20A in the embodiment corresponding to Figure 2 above, so it will not be repeated here.
  • the data processing device 2a may be the data processing device 2 based on the hierarchical chain network in the embodiment corresponding to Figure 10 above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于分层链网络的数据处理方法、装置、设备及介质,方法包括:获取针对目标业务数据的数据定位请求;在从数据定位请求中获取到目标业务数据的目标业务数据标识时,在映射空间中确定执行查验节点的第一节点映射标识;在第一顺序上,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果;在第一数据查验结果指示同步到的业务数据标识中未包含目标业务数据标识时,在节点路由列表中,将在第二顺序上与目标业务数据标识距离最近的节点映射标识作为第二节点映射标识,将数据定位请求转发给第二节点映射标识对应的目标查验节点。采用本申请,可以提高业务数据的查验效率。

Description

一种基于分层链网络的数据处理方法、装置、设备及介质
本申请要求于2023年01月17日提交中国专利局、申请号为202310089052X、申请名称为“一种基于分层链网络的数据处理方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于分层链网络的数据处理方法、装置、设备及介质。
背景技术
目前,区块链系统可以采用架设在双层链结构上的区块链网络,以形成“业务网络—共识网络”这样的分层结构,从而能够提高区块链上数据的保密性和安全性。
发明人在实践中发现,在区块链网络的分层结构下,业务网络中的各个业务节点只能清分到与自身相关的业务数据,而无法保存区块链网络中的所有数据,因此,在任意业务节点中查询和验证指定的业务数据时就可能需要耗费较长的时间。例如,若用户希望查验某一业务数据(例如,业务数据X)在链上的真实性,由于用户并不知道业务数据X所存储的具体地址,因此可以随机地在业务网络中的任一业务节点(例如,业务节点1)上发起查询,如果此时业务节点1中不存在需要查验的业务数据X,则可以在下一个距离业务节点1较近的业务节点(例如,业务节点2)上发起同样的查询,依此类推,直到找到存储有业务数据X的业务节点才能验证业务数据X的真实性。显然,这种逐点查验的方式在最坏情况下将要查找完所有业务节点才能得到所需地址,尤其在业务网络中存在大量业务节点、且节点加入或退出较为频繁的情况下,其寻址效率较低下,从而导致了业务数据查验时的查验效率较低。
发明内容
本申请实施例提供了一种基于分层链网络的数据处理方法、装置、设备及介质,可以通过引入的查验网络进行定向数据寻址,以提升查验节点之间的寻址效率,进而可以通过定向数据寻址到的查验节点,快速获取存储有业务数据的业务节点的节点地址,进而可以通过快速获取到的节点地址,提高业务数据的查验效率。
本申请实施例一方面提供了一种基于分层链网络的数据处理方法,方法由执行查验节点 执行,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,执行查验节点包括于M个查验节点中,方法包括:
获取业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后得到的;
按照节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;
响应于第一数据查验结果指示同步得到的业务数据标识中未包含目标业务数据标识,获取对应于执行查验节点的节点路由列表,节点路由列表用于记录K个路由节点映射标识,路由节点映射标识为在映射空间中与第一节点映射标识具有预设距离的查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于映射空间的空间影响参数;
在K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的,在映射空间中与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;
向第二节点映射标识所对应的目标查验节点发送数据定位请求,以使目标查验节点对目标业务数据进行数据查验。
本申请实施例一方面提供了一种基于分层链网络的数据处理方法,方法由目标查验节点执行,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,目标查验节点包括于M个查验节点中,方法包括:
获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求,执行查验节点包括于M个查验节点中,数据定位请求为第一业务节点发送的针对目标业务数据标识对应的目标业务数据的请求,第一业务节点为业务网络中的任意一个业务节点,执行查验节点用于响应于从数据定位请求中识别出目标业务数据标识,在查验网络所对应的映射 空间中确定执行查验节点的第一节点映射标识,且按照映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后所得到的,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;第一数据查验结果用于指示执行查验节点在确定同步得到的业务数据标识中未包含目标业务数据标识时,获取对应于执行查验节点所维护的节点路由列表,在节点路由列表记录到的K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;K为大于1的正整数,且K小于或者等于映射空间的空间影响参数;
在基于数据定位请求确定第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,通过第二节点映射标识所对应的第二节点地址对目标业务数据进行数据查验。
本申请实施例一方面提供了一种基于分层链网络的数据处理装置,装置运行在执行查验节点中,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,执行查验节点包括于M个查验节点中,装置包括:
请求获取模块,用于获取业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
标识确定模块,用于响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后得到的;
标识查验模块,用于按照节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数 据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;
第一转发模块,用于响应于第一数据查验结果指示同步得到的业务数据标识中未包含目标业务数据标识,获取对应于执行查验节点的节点路由列表,节点路由列表用于记录K个路由节点映射标识,路由节点映射标识为在映射空间中与第一节点映射标识具有预设距离的查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于映射空间的空间影响参数;
第一转发模块,用于在K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的,在映射空间中与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;
第一转发模块,用于向第二节点映射标识所对应的目标查验节点发送数据定位请求,以使目标查验节点对目标业务数据进行数据查验。
本申请实施例一方面提供了一种基于分层链网络的数据处理装置,装置运行在目标查验节点中,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,目标查验节点包括于M个查验节点中,装置包括:
请求接收模块,用于获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求,执行查验节点包括于M个查验节点中,数据定位请求为第一业务节点发送的针对目标业务数据标识对应的目标业务数据的请求,第一业务节点为业务网络中的任意一个业务节点,执行查验节点用于响应于从数据定位请求中识别出目标业务数据标识,在查验网络所对应的环映射空间中确定执行查验节点的第一节点映射标识,且按照环映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,环映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到环映射空间后所得到的,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;第一数据查验结果用于指示执行查验节点在确定同步得到的业务数据标识中未包含目标业务数据标识时,获取对应于执行查验节点所维护的节点路由列表,在节点路由列表记录到的K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;K为大于1的正整数,且 K小于或者等于环映射空间的空间影响参数;
数据查验模块,用于在基于数据定位请求确定第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,通过第二节点映射标识所对应的第二节点地址对目标业务数据进行数据查验。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,查验网络中的执行查验节点可以获取业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求,这里的第一业务节点为业务网络中的任意一个业务节点,执行查验节点为从M个查验节点中所随机选取的用于进行数据查验的查验节点,应当理解,这里的数据查验本质上为在查验网络中的各个查验节点之间进行定向数据寻址和查验。比如,对于定向数据寻址而言,本申请实施例可以在与查验网络相关联的映射空间中,通过执行查验节点所获取到的数据定位请求,实现在查验网络的少部分查验节点之间中按照一定顺序快速查询与目标业务数据标识距离最近的节点映射标识,进而可以将查询到的与目标业务数据标识距离最近的节点映射标识所对应的查验节点作为执行查验节点所最终寻址到的查验节点(即目标查验节点)。进一步的,本申请实施例所涉及的执行查验节点可以将数据定位请求转发给最终寻址到的查验节点(即目标查验节点),以使目标查验节点可以对该目标业务数据进行新一轮的数据查验。具体的,执行查验节点可以响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,进而可以按照节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,以得到第一数据查验结果。其中,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据 标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识。进一步地,在第一数据查验结果指示同步得到的业务数据标识中未包含目标业务数据标识时,执行查验节点可以在其维护的节点路由列表所记录到的K个路由节点映射标识中,将在第二顺序(即与第一顺序相反的顺序)上所查找到的,在映射空间中与目标业务数据标识距离最近的节点映射标识(即路由节点映射标识)作为第二节点映射标识,进而可以将携带目标业务数据标识的数据定位请求转发给第二节点映射标识对应的目标查验节点,以使目标查验节点进行新一轮的数据查验。比如,可以理解,在目标查验节点的第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,该目标查验节点可用于验证目标业务数据的真实性。上述可知,本申请实施例通过在业务网络中部署查验网络,可以支持业务对象在随机向该查验网络中的任一查验节点(如前述执行查验节点)发起针对某一业务数据(如前述目标业务数据)的数据定位请求的情况下,通过该查验节点所维护的资源定位表和节点路由列表来快速查找到该查验节点当前所知的与该业务数据的业务数据标识(如前述目标业务数据标识)距离最近的节点映射标识所对应的查验节点(如前述目标查验节点),并可将数据定位请求转发到目标查验节点上,以便目标查验节点能够在映射空间中采用与执行查验节点类似的非线性查找方式来进一步在与目标查验节点相关联的其他少数查验节点之间继续进行查找,直到查找到整个查验网络中在寻址方向上距离目标业务数据标识最近的查验节点时,完成寻址(即上述定向数据寻址),后续就可以由最终查找到的查验节点对上述业务数据进行相关验证。可以理解,与逐点查验的方式相比,本申请实施例所采用的非线性查找方式通过跳转到少量的查验节点上就可实现寻址,从而有效地缩短了寻址的距离,因此可以提升查验节点的寻址效率,进而可以提高业务数据的查验效率。
附图说明
图1是本申请实施例提供的一种区块链网络分层结构的示意图;
图2是本申请实施例提供的一种基于分层链网络的数据处理场景示意图;
图3是本申请实施例提供的一种基于分层链网络的数据处理方法的流程示意图;
图4是本申请实施例提供的另一种基于分层链网络的数据处理方法的流程示意图;
图5是本申请实施例提供的一种区块链电子票据查验的场景示意图;
图6是本申请实施例提供的另一种区块链电子票据查验的场景示意图;
图7是本申请实施例提供的又一种区块链电子票据查验的场景示意图;
图8是本申请实施例提供的一种区块链电子票据场景下的系统架构图;
图9是本申请实施例提供的一种基于分层链网络的数据处理装置的结构示意图;
图10是本申请实施例提供的又一种基于分层链网络的数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图;
图12是本申请实施例提供的一种基于分层链网络的数据处理系统的结构示意图。
具体实施方式
请参见图1,图1是本申请实施例提供的一种区块链网络分层结构的示意图。图1所示的区块链网络分层结构可以应用于区块链系统。其中,区块链(Blockchain)是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链。本申请实施例可以将由业务层和共识层所构成的分层结构称之为双层链结构,并将该双层链结构所对应的区块链网络统称为分层链网络,该分层链网络对应的完整区块链业务体系可以由图1所示的业务网络110、查验网络120和共识网络200a所组成。其中,业务网络110和查验网络120部署在图1所示的业务层中,共识网络200a部署在图1所示的共识层中。
其中,这里的业务层本质上为区块链账本同步层,即部署在该业务层中的业务网络110中的业务节点可以用于从区块链上的账本(即区块链账本)中清分同步到与自己相关的账本数据,比如,这里的账本数据可以为该业务网络110中的业务节点自己所提交的业务的业务数据。换言之,在本申请实施例中,共识网络200a所维护的区块链可以用于存储由业务网络110中的业务节点所提交业务的业务数据。
比如,部署在业务网络110中的业务节点在向共识网络200a中的共识节点提交某笔业务之后,共识网络200a中的共识节点可以将这笔业务写入业务池,以便于后续可以将在业务池中所获取到的包含这笔业务的大量业务打包至某个区块,并基于共识网络200a中的共识节点所遵循的区块链共识协议对该区块进行区块共识,进而可以在将区块共识通过之后,将包含大量业务的区块写入区块链,进而可以在该区块链上存储的由不同业务节点所提交的这些业务的业务数据。应当理解,一笔业务的业务数据可以为共识网络200a中的共识节点在进行区块共识的过程中,对执行这笔业务之后所得到的业务执行结果进行共识投票,且共识投票通过时所得到的。然后,业务网络中的这些业务节点可以分别从区块链上清分同步到与各自所提交业务相关的业务数据。
与此同时,当在该业务层中额外部署有查验网络120时,该查验网络120中的查验节点 可以预先从区块链上同步到与该查验节点的节点地址所对应的节点映射标识距离相近的业务数据的业务数据标识,以便于后续这个查验节点在获取到数据定位请求时,可以基于该数据定位请求确定自己的节点映射标识为指定寻址方向上距离该业务数据的业务数据标识(例如,下述目标业务数据标识)最近的节点映射标识时,就可以通过该查验节点的节点地址对该业务数据进行数据查验。其中,这里的寻址方向是指在映射空间包括环映射空间时,第一顺序所指示的方向。其中,第一顺序是指对映射空间中所包含的所有查验节点的节点映射标识进行由小到大排列后的顺序。比如,本申请实施例可以预先通过某种哈希函数对所有查验节点的节点地址进行哈希计算,进而可以将哈希计算后所得到的节点地址的地址哈希值(即一种哈希值)映射至映射空间(一种数学意义上的用于标记并存储地址哈希值和/或数据哈希值的空间),以在映射空间中得到相应查验节点的节点映射标识,从而可以进一步在映射空间中对这些查验节点的节点映射标识进行由小到大的排列,并将由小到大排列后的顺序统称为第一顺序。具体的,当在映射空间中对这些查验节点的节点映射标识进行有小到大的排列之后,可以进一步将排列后的具有最小值的节点映射标识(即最小节点映射标识)和具有最大值的节点映射标识(即最大节点映射标识)进行首尾相连,进而可以将首尾相连所构成的形状为环状的映射空间称之为环映射空间,此时,可以将原来映射空间中的第一顺序所指示的方向作为当前所构成的环映射空间的寻址方向。换言之,本申请实施例所涉及的各个查验节点的节点映射标识是指在将查验网络中的各个查验节点的节点地址分别映射到映射空间之后所得到的。
由此可见,这里的业务层可以为分层结构中能够提供不同数据处理能力的数据处理层,比如,对于部署在业务层中的查验网络120而言,该查验网络120中的查验节点在执行数据查验操作时,可以对外向业务网络110中的业务节点提供数据查验的数据处理能力,这里的数据查验操作是指查验网络120中的查验节点所执行的用于针对某个业务数据标识(比如,目标业务数据标识)进行数据查验的操作。这里的业务数据标识(比如,目标业务数据标识)是指共识网络200a中的共识节点在区块链上存储了某笔业务的业务数据(比如,目标业务的目标业务数据)之后,将这笔业务的业务数据(比如,目标业务的目标业务数据)映射到映射空间之后所得到的,即这里的业务数据标识(比如,目标业务数据标识)是在将某笔业务的业务数据(比如,目标业务数据)映射到映射空间之后所得到的。这样,业务网络110中的业务节点在从共识网络200a中的共识节点所维护的区块链上清分同步到这笔业务的业务数据(比如,目标业务的目标业务数据)时,会一并从该共识网络200a中的共识节点所维护的区块链上同步到这笔业务的业务数据的业务数据标识(比如,目标业务数据的业务数据标 识为目标业务数据标识)。
又比如,部署在业务层中的业务网络110可以用于执行数据提交操作和清分同步操作。其中,业务网络110中的业务节点在执行数据提交操作时,可以向共识网络200a中的共识节点提交某笔业务。这意味着这里的数据提交操作是指业务网络110中的业务节点所执行的用于向共识网络200a中的共识节点提交某笔业务的操作。同理,业务网络110中的业务节点在执行清分同步操作时,可以从共识网络200a中的共识节点所维护的区块链上清分同步到与自己所提交的业务相关联的业务数据,换言之,这里的清分同步操作是指业务网络110中的业务节点所执行的用于从区块链上清分同步到与自己提交的业务相关联的业务数据的操作。此外,这里的共识层是指在分层结构中运行有区块链共识协议的数据处理层,比如,部署在共识层中的共识网络200a中的共识节点均可以通过运行的区块链共识协议进行区块共识,进而可以将区块共识通过的区块上链至区块链。
其中,需要注意的是,对于本申请实施例所涉及的业务数据的业务数据标识是通过某种哈希函数对业务数据进行哈希计算所得到的哈希值(比如,数据哈希值)所确定的,且查验节点的节点映射标识是通过同一哈希函数对查验节点的节点地址进行哈希计算所得到的哈希值(比如,地址哈希值)所确定的,即在上述映射空间中,这里通过哈希计算所得到的数据哈希值和地址哈希值本质上为具有相同长度的两个哈希值,故而可以通过计算两个哈希值之间的哈希距离,判断查验节点的节点地址所对应的节点映射标识是否和业务数据的业务数据标识相近。换言之,本申请实施例在预先使用哈希函数对查验网络120中的每个查验节点的节点地址进行哈希计算,以计算得到每个查验节点的节点地址的哈希值(即地址哈希值)时,可以预存储每个查验节点的节点地址的哈希值(即地址哈希值),以便于后续可以将预存储的每个查验节点的节点地址的哈希值(即地址哈希值)映射到映射空间。同理,在共识网络200a中的共识节点在区块链上存储了各个业务的业务数据之后,也可以使用同一哈希函数进一步对各个业务的业务数据进行哈希计算,并可以预存储哈希计算所得到的各个业务数据的哈希值(即数据哈希值),以便于后续可以将哈希计算所得到的各个业务数据的哈希值(即数据哈希值)映射至同一映射空间中。这样,在同一映射空间中,在某个查验节点的节点映射标识与某个业务数据的业务数据标识为具有相同长度的哈希值(例如,哈希序列值)时,可以对该查验节点的节点映射标识和业务数据的业务数据标识进行异或操作,以计算两个不同标识之间的距离(这里的距离本质上为上述哈希距离),即哈希距离越小,则说明两个不同标识之间的距离越近,反之,哈希距离越大,则说明两个不同标识之间的距离越远。在本申请实施例中,查验节点的节点地址可以用于存储从区块链上所同步来的与自己的节点映射标识距离 相近的业务数据的业务数据标识,以及存储有该业务数据的业务节点的节点地址。
可以理解,在上述分层链网络中,业务网络110(也可称为见证网络)与共识网络200a彼此独立,可以通过路由网络(即路由代理层)对业务网络110和共识网络200a进行网络隔离。例如,可以通过路由网络中的路由节点,对点对点(Peer To Peer,简称P2P)网络进行网络分层,以形成“业务网络—共识网络”这样的分层结构,进而能够提高区块链上数据的保密性和安全性。其中,路由网络中的路由节点的节点数量可以为一个或者多个,在此不做限定。
可以理解的是,图1所示的业务网络110可以部署有多个业务节点,这里将不对部署在业务网络110中的业务节点的数量进行限制。在本申请实施例中,业务节点不需要参与记账共识,主要用于向共识节点提交业务,以使共识节点在执行业务之后,可以得到与该业务相关联的业务数据,并可以在接收到业务节点针对当前业务发送的清分同步请求时,及时向业务节点返回当前业务的业务数据,进而实现业务数据的清分同步。其中,可以理解的是,这里的清分同步请求是指业务节点在针对当前业务执行清分同步操作时所提交的请求,这里的清分同步操作具体为该业务节点所执行的用于请求从共识节点所维护的区块链上清分同步到与该业务节点自己相关的业务数据的操作。由此可见,在本申请实施例中,部署在业务网络110中的任意一个业务节点针对某个业务(即普通业务)所执行的操作具体可以包括数据提交操作和清分同步操作。其中,业务节点具体可以为存储区块链数据库中的部分数据的轻量节点(Lightweight Node),这类节点可以通过“简化支付验证(Simplified Payment Verification,简称SPV)”的方式完成业务校验,这里的业务校验是指可以对当前业务执行验证操作,比如,可以在执行验证操作时,对当前业务中的各个参数数据的数据内容以及数据内容的数据格式等进行验证,因此也可以称之为SPV节点。例如,在一些实施例中,为了减少业务节点的存储空间的浪费,业务节点可以为轻量节点,此时业务节点不需要存储整个区块链上完整记录到的所有业务数据,而是在进行数据的清分同步时,通过身份认证的方式,从共识网络所维护的区块链上获得区块头数据和部分授权可见的区块数据(例如,与该业务节点自身相关联的业务数据,这里的业务数据可以包括执行相应业务所得到的业务执行结果和/或在执行相应业务时所调用的业务处理数据记录到的读写状态数据)。
可以理解的是,图1所示的共识网络200a可以部署有多个共识节点(即记账节点),这里将不对部署在共识网络200a中的共识节点的数量进行限制。例如,如图1所示,共识网络200a具体可以包括共识节点130a、共识节点130b、共识节点130c、…、共识节点130k,这些共识节点可以运行有区块链区块链共识协议。其中,共识节点具体可以为包含有完整的区 块链数据库的全量节点(Full Node),这些共识节点可以参与业务校验、业务广播以及区块广播和区块共识,且会发现和维持与其他节点的连接,还可以将共识通过后的区块中的相应业务的业务数据等记录到区块链中。
应当理解,本申请实施例可以将位于上述分层链网络中的业务节点以及共识节点统称为区块链节点(可简称为节点)。其中,区块链节点可以为接入该分层链网络中的服务器,也可以为接入该分层链网络中的终端,这里对区块链节点的具体形式不做限定,每个区块链节点均可以包括硬件层、中间层、操作系统层和应用层。其中,这里的服务器可以是独立的一个物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能电脑、智能车载等智能终端。
可以理解的是,图1所示的业务网络110和共识网络200a可以处于不同的网络环境,例如,在一些实施例中,业务节点可以部署在处于公网的业务网络中,而运行区块链共识协议的共识节点则可以部署在私有的共识网络中,二者可以通过路由边界进行交互。在这种情况下,由于共识网络处于相对安全的私有云中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制;而业务节点处于公共网络中,可能会被其他不确定的网络终端访问,因此业务节点以及其他可能的节点接入共识网络中的行为需要被严格控制。可选的,在另外一些实施例中,业务节点和共识节点也可以不通过路由节点而直接进行数据传输,本申请实施例对此不进行限定。
可以理解,上述分层链网络可适用于区块链电子票据、区块链电子文件等多种业务场景,这里不做限定。
此外,需要说明的是,区块链系统中可以部署智能处理数据,该智能处理数据在区块链系统中可以理解为是一种区块链节点(例如共识节点)能够理解并执行的代码,区块链节点(例如,共识节点)可以调用该智能处理数据执行任意逻辑并得到结果。本申请实施例可以将部署在共识节点上的智能处理数据统称为业务处理数据,这里的业务处理数据可以为部署在共识节点上的用于执行相应业务的代码。比如,某个实体对象(例如请求执行业务的用户)可以通过其持有的对象终端上的客户端,向某个共识节点(例如,图1所示的共识节点130a)发起处理数据调用请求,这样共识节点(例如,图1所示的共识节点130a)在获取该处理数据调用请求之后,可以读取并调用该共识节点(例如,图1所示的共识节点130a)上已经部 署好的业务处理数据。应当理解,区块链系统中可以包括一个或多个智能处理数据,这些智能处理数据(例如业务处理数据)可以以处理数据标识(例如标识号(Identity document,ID)或名称,还可以包括处理数据地址或处理数据函数名(也可以称为处理数据方法名))来进行区分,而客户端发起的处理数据调用请求中,也可以携带智能处理数据的标识号或名称,以此指定区块链需要运行的智能处理数据。比如,若客户端在处理数据调用请求中所指定的智能处理数据为需要读取数据的处理数据,则相关共识节点可以在获取到处理数据调用请求之后,调用该指定的智能处理数据访问本地存储,以进行数据的读取。应当理解,共识节点调用该指定的智能处理数据所读取到的数据包含于上述读写状态数据中。
可选的,对于客户端通过业务节点向某个共识节点所提交的需要上链的业务而言,各个共识节点会在调用智能处理数据(即上述业务执行数据)执行该业务之后,还可以互相验证该业务(即业务)的执行结果是否一致(也就是进行共识投票),若一致,则可以将该业务的执行结果作为执行该业务所得到的业务数据存入各自的本地账本中,并将执行该业务所得到的业务数据通过业务节点返回至客户端,应当理解,这里的客户端可以为部署在业务节点上的客户端,也可以为独立部署在其他计算机设备上的客户端,这里将不对客户端的具体部署方式进行限定。
为便于理解和区分,本申请实施例可以基于业务层中所部署的业务网络110和查验网络120所起到的作用不同,将业务网络110中的业务节点统称为第二类业务节点,并将从业务网络110中所选取的用于组成查验网络120的业务节点统称为第一类业务节点,在通过第一类业务节点构建得到查验网络120时,可以将查验网络120中的节点(即第一类业务节点)统称为查验节点,这些查验节点可以针对非普通业务(比如,基于某个业务节点所发送的数据定位请求所确定的用于进行数据查验的数据查验业务)执行上述数据查验操作,且这里的第二类业务节点可以理解为部署在业务网络110中可以针对普通业务(比如,上述业务)执行相应操作(例如,上述数据提交操作和清分同步操作)的业务节点。比如,对于业务网络110中的业务节点(即任意一个第二类业务节点)而言,在业务层中执行数据提交操作时,主要负责向共识节点提交上述业务。此外,该业务网络110中的业务节点(第二类业务节点)还可以在针对自己所提交的业务执行清分同步操作时,主要负责向共识节点发送用于清分同步和自己有关的业务数据的请求(即上述清分同步请求),这里的清分同步请求用于指示共识节点将与自己有关的业务数据清分同步给该业务网络110中的业务节点(第二类业务节点);而对于通过从业务网络110中所选取出的上述第一类业务节点而言,在通过这些第一类业务节点构建得到查验网络120时,可以将该查验网络120中的这些第一类业务节点统称为查验 节点。这样,部署在查验网络120中的查验节点可以在业务层中执行数据查验操作之前,预先从共识节点所维护的区块链上同步和自己节点的地址空间相近的业务数据的业务数据标识(例如该业务数据的数据哈希值),并进一步存储从区块链上所同步得到的和自己节点的地址空间相近的业务数据的业务数据标识,以便于后续可以在业务层中执行数据查验操作时,向外(即业务网络中的业务节点)提供针对该业务数据的数据查验业务。换言之,在本申请实施例中,部署在查验网络中的M个查验节点中的任意一个查验节点是指上述用于执行数据查验操作的执行查验节点,其中,M为正整数。
其中,用于构建查验网络120的第一类业务节点为从业务网络的多个业务节点中所选取的满足查验网络加入条件的业务节点;应当理解,部署在业务网络中的多个业务节点中的任意一个业务节点是指用于执行清分同步操作的第二类业务节点,即这里的第二类业务节点本质上为业务网络中能够针对上述普通业务执行相应操作(例如,清分同步操作)的业务节点。或者从广义上来说,在业务层中,对于从业务网络的多个节点中所选取的满足加入条件的这些业务节点而言,不仅可以用于在查验网络中针对数据查验业务执行数据查验操作,还可以同时在业务网络中针对普通业务执行相应操作(例如,可以定时执行清分同步操作,也可以按需执行清分同步操作,这里将不限定执行清分同步操作的具体时机)。应当理解,本申请实施例中的业务数据具体可以包括:执行某笔业务后所得到的业务执行结果以及与该业务相关联的读写状态数据,这里的读写状态数据可以包括但不限于上述在调用智能处理数据执行业务时,所读取并调用的读状态数据、以及调用该智能处理数据执行该业务后所得到的写状态数据,应当理解,共识节点可以下一次调用该智能处理数据执行该业务的下一业务时,将该业务的写状态数据作为下一业务的读状态数据,以得到下一业务的写状态数据。其中,该业务和下一业务可以是共识节点所打包生成的同一区块中的业务,也可以为不同区块中的业务,这里将不对其进行限定。
基于此,在“业务网络—共识网络”这样的分层结构下,为了实现安全、高效的数据查验操作,本申请实施例提出可以在分层结构中构建上述查验网络120,并通过查验网络120中的查验节点向位于同一业务层中的业务网络110中的任意一个业务节点提供数据查验业务。换言之,本申请实施例可以在业务网络110所在的业务层中部署查验网络120,该查验网络120中的查验节点可以针对自己对外提供的数据查验业务执行该数据查验操作。
本申请实施例中的业务网络的具体结构可以参见上述图1所示的业务网络110,该业务网络110中的业务节点所提供的普通业务,独立于查验网络120中的查验节点所提供的数据查验业务,故而可以在同一业务层,通过查验网络120中的查验节点来维护安全、且高效的 数据查验过程,进而可以提升查验节点的寻址效率,并可以确保业务网络110上所存储的业务数据的隐私性。
可以理解的是,图1所示的业务网络110可以部署有多个业务节点,这里将不对部署在业务网络110中的业务节点的数量进行限制。例如,如图1所示,业务网络110具体可以包括业务节点110a、业务节点110b、业务节点110c、…、业务节点110n,这些业务节点均包括于业务网络110中的第二类业务节点。业务网络110中的业务节点具体可以为SPV节点,因此又可以将其称为业务SPV节点。
可以理解的是,图1所示的查验网络120可以部署有多个查验节点,这里将不对部署在查验网络120中的查验节点的数量进行限制。例如,如图1所示,查验网络120具体可以包括查验节点120a、查验节点120b、查验节点120c、…、查验节点120m,这些查验节点均包括于业务网络110中的第一类业务节点。查验网络120中的查验节点具体可以为SPV节点,因此又可以将其称为查验SPV节点。可以理解,本申请实施例中的查验网络可以是一个基于特定寻址算法(如Chord算法)运行的网络,可以通过该寻址算法实现多个查验节点之间的寻址,并在寻址成功后执行相关验证。
需要说明的是,查验网络120中的查验节点是指用于执行数据查验操作的第一类业务节点,且这里的第一类业务节点本质上是从部署在业务网络110中的多个业务节点中所选取的满足查验网络加入条件的业务节点,但为了便于阐述,后续会将查验网络120中的第一类业务节点称为查验节点,而业务网络110中被选择作为查验节点的SPV节点(即第一类业务节点),和未被选择作为查验节点的SPV节点(即普通业务节点)统称为业务SPV节点,或者业务节点。可以理解,业务网络110中的业务节点与查验网络120中的查验节点之间可以互相访问,例如,业务网络110中的业务节点可以向任一查验节点发送用于查验某一业务数据的请求(例如,上述数据定位请求);又例如,如果需要查验某一业务数据具体的数据原文信息,则相应的查验节点也可以进一步寻址到的业务节点的节点地址,快速访问到业务网络110中存储有该数据原文信息的业务节点。
可以理解的是,在本申请实施例中,用于在业务层中构建得到业务网络110中的多个业务节点均为第二类业务节点,且从业务网络110中的多个业务节点中所选取的能够的满足查验网络加入条件的业务节点(即第一类业务节点)的节点数量并非是固定不变的,而是始终处于动态变化中,以至于在通过这些满足查验网络加入条件的业务节点(即第一类业务节点)在同一业务层中构建得到查验网络120时,该查验网络120中的查验节点的数量(例如,M的取值)也是动态变化的。例如,由于查验网络120中的查验节点需要长期稳定在线,且可 由官方或权威联盟成员运行,因此,在检测到业务网络110中的任一业务节点在满足指定的查验网络加入条件后,可以作为第一类业务节点加入查验网络120;否则,该业务节点就会作为普通业务节点,用于提供普通SPV业务(即上述普通业务)。同理,若某一业务节点加入查验网络120一段时间后,又因某种原因下线了,且重新上线作为新的业务节点接入到业务网络110后,一旦检测到该重新上线的业务节点未能满足查验网络加入条件,则该重新上线的业务节点将不能重新加入到查验网络120。反之,若后续检查到在该业务网络110中的该业务节点又重新满足了查验网络加入条件,则又可以获得重新加入查验网络120的机会。其中,查验网络加入条件具体可以包括在加入查验网络120前,统计到当前在业务网络120中的在线时长满足连续在线一定时限(即业务节点的连续在线时长大于在线时长阈值,例如,5天),ping返回延迟低于延迟阈值(例如,10ms)等条件,本申请实施例对此不做限定。
本申请实施例提供了一种基于寻址算法的业务数据查验方法,核心是在“业务网络—共识网络”的分层结构下,在业务层中引入了除业务网络110之外的查验网络120,进而可以在该引入的查验网络120中,支持在多个查验SPV节点之间进行数据查验,这里的数据查验具体包括定向数据寻址和验证。
其中,定向数据寻址是指查验网络120中某个查验节点可以预先通过资源定位表,在映射空间的指定顺序上查询是否与某个业务数据的业务数据标识的距离最近的节点映射标识,进而可以将查询到的与该业务数据的业务数据标识的距离最近的节点映射标识所对应的查验节点,作为寻址到的查验节点,此时,该寻址到的查验节点的节点地址可以用于定位到当前存储有该业务数据的业务节点的节点地址。其中,验证至少可以包括以下中的一种或者多种,比如,基于与业务数据相关联的默克尔路径的默克尔根验证、基于与目标业务数据所在的目标区块相关联的节点签名集合的签名验证、以及基于目标业务数据的数据原文信息(简称为原文)的原文查验。其中,原文查验是指当前寻址到的查验节点可以进一步通过在自己节点地址中所定位到的业务节点的节点地址,快速且安全地获取当前存储在该业务节点的地址中的该业务数据的数据原文信息(简称为原文),并针对获取到的数据原文信息(简称为原文)生成用于表征该业务数据的真实性和可靠性的查验证明信息。应当理解,这里的查验证明信息可以用于反映当前定位到的业务节点预先从区块链上所清分同步到的业务数据的数据完整性和真实性。
其中,寻址算法可使用Chord算法,从而可以提供数据查验的高效性和整体安全性。为便于后续理解和说明,本申请实施例可以将具有业务数据查验需求的任意实体对象(例如,个人用户、企业用户、机构等)称为业务对象。此外,本申请实施例可以将业务网络110中 与业务对象进行交互的任意一个业务节点称为第一业务节点(例如,业务节点110a),即这里的第一业务节点可以为当前业务网络110中的任意一个业务节点,当业务对象希望查验某一业务数据(即目标业务数据)在链上的真实性时,第一业务节点可以委托查验网络120中的任一查验节点(即执行查验节点,例如,查验节点120a)向业务对象提供真实性的查验证明,这里的第一业务节点包括于业务网络110中,这里的执行查验节点为从查验网络120中所随机选取的用于执行数据查验操作的任意一个查验节点。其中,本申请实施例中的目标业务数据可包含执行目标业务后所得到的目标业务数据,这里的目标业务数据可以包含目标业务执行结果和/或目标读写状态数据中的一种或多种,此处不做限定。这里的目标业务可以为某一实体对象(可以称为业务发起对象,与前述业务对象可以相同或者不相同)通过第二业务节点(例如,上述普通业务节点)所发起的业务,该第二业务节点(例如,业务节点110b)包括于业务网络中。
需要说明的是,第二业务节点与第一业务节点可以为同一个业务节点,也可以为不相同的业务节点,此处不做限定。类似的,可以理解,假设查验网络中的查验节点的数量为M个(M为正整数),这M个查验节点是由从业务网络中所选取的满足查验网络加入条件的业务节点(即第一类业务节点)所确定的。
其中,可以理解的是,本申请实施例可以将这M个查验节点中受到业务对象委托查验目标业务数据的查验节点称为执行查验节点,该执行查验节点可以为M个查验节点中的任一查验节点(例如,查验节点120a),比如,该执行查验节点可以是从M个查验节点中所随机选取的首个用于接收数据定位请求,并进行数据查验的查验节点。
又比如,在一个或者多个可实现方式中,该执行查验节点还可以是基于预设规则在M个查验节点中所选取的在线时长最长的查验节点,此时,该在线时长最长的查验节点在用于作为查验执行节点时,可以用于接收数据定位请求,并进行数据查验。可选地,当M个查验节点中所选取的在线时长最长的查验节点的数量有多个时,也可以在这些在线时长最长的查验节点中随机选取一个作为这里的执行查验节点。换言之,本申请实施例将不对从M个查验节点中选取得到该执行查验节点的具体实现方式进行限定。
可以理解,对于执行查验节点而言,若在执行查验节点的节点地址(即第一节点地址)上未查找到与数据定位请求中所携带的目标业务数据的目标业务数据标识相关或者相匹配的数据,则可以进一步根据该执行查验节点所维护的资源定位表跳转到该执行查验节点的下一查验节点上继续查询,该执行查验节点的下一查验节点即为临近查验节点,且该执行查验节点所维护的资源定位表中所记录的临近节点映射标识,为临近查验节点的节点映射标识。其 中,在映射空间中,第一节点地址对于的节点映射标识为第一节点映射标识。为便于理解,本申请实施例可以按照第一顺序,在将资源定位表所记录的大于第一节点映射标识的临近节点映射标识中,遍历选取的临近节点映射标识作为目标临近查验节点映射标识,并将目标临近查验节点映射标识对应的目标临近查验节点地址上所存储的从区块链上所同步到的链上同步数据信息的同步数据标识称之为目标链上同步数据信息的目标同步数据标识,这里的目标同步数据标识包含于从区块链上所同步得到的业务数据的业务数据标识中。这样,该执行查验节点可以在基于资源定位表进行数据查验时,判定该目标业务数据标识是否处于由第一节点映射标识和目标临近查验节点映射标识所确定的空间范围内,如果判定为是,则可以确定该目标临近查验节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,进而可以将该执行查验节点所获取到的数据定位请求转发给目标临近查验节点映射标识对应的查验节点(即目标临近查验节点),以使目标临近查验节点对目标业务数据进行数据查验,这里的目标临近查验节点的节点地址为目标临近查验节点地址。
其中,业务网络中的业务节点向共识节点所提交的业务可以包括但不限于票据业务(比如,电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务)、与票据业务相关联的票据衍生业务(例如,信贷业务、进出亏业务、企业资质业务、征信业务、社交业务、赊购业务和退税业务、抽奖业务等)、文件业务(例如,电子文件开具业务、电子文件流转业务、电子文件修正业务、电子文件归档业务等与电子文件相关的业务)、与文件业务相关联的文件衍生业务(例如,机构合作业务、企业资质业务、处方统计业务、资格审查业务、政务管理业务等),前述目标业务可以为业务发起对象所请求的任一业务(如电子票据开具业务);相应的,共识节点执行这些业务后所生成的业务数据(如前述目标业务数据)可以包括但不限于与票据业务中的电子票据开具任务相关联的电子票据、该电子票据中部分授权可见的票据信息(例如,票号、抬头等)、与该电子票据相关联的通用票据关联资产(例如,征信信息、税务信息等)、以及与文件业务相关联的电子文件或该电子文件中部分授权可见的文件信息(例如,电子证书中的证书信息)、与该电子文件相关联的通用文件关联资产(例如,资质信息、处方统计结果等)。此外,与业务数据相关联的读写状态数据(如前述目标读写状态数据)可以包括调用区块链上的业务处理数据来执行业务后业务发起对象的数据状态(如执行该业务业务后所得到的业务读写集)。
相应的,用于执行上述业务业务的业务处理数据可以包括但不限于电子票据开具处理数据、电子票据流转处理数据、电子票据红冲处理数据、电子票据归档处理数据、票据衍生业务处理数据、税务应用处理数据、电子文件开具处理数据、电子文件流转处理数据、电子文 件修正处理数据、电子文件归档处理数据、文件衍生业务处理数据等,这里不做限定。
其中,可以理解的是,本申请实施例可以通过共识网络(如上述共识网络200a)中的共识节点为接入分层链网络的任意一个角色(例如,任意一个个人用户、任意一个企业、任意一个机构等实体对象)配置一个区块链节点。所以,在如图1所示的业务网络110中,业务节点110a、业务节点110b、业务节点110c、业务节点110d、…、业务节点110n可以分别与需要接入该分层链网络中的相应角色(例如前述业务发起对象或业务对象)之间存在一一对应关系。以请求执行某一业务的业务发起对象为企业用户为例,此时,与每个企业用户相关联的区块链节点可以为同一区块链节点(例如,上述图1所示的业务节点110c可以与多个企业用户所对应的业务终端进行数据交互)。比如,在区块链电子票据场景下,可以将每个企业用户所请求的票据业务(比如,电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务)统称为一笔业务(即上述业务)。其中,在上述企业用户为请求通过共识网络200a进行开票的开票企业A时,可以通过图1所示的业务节点110c与共识网络200a中的共识节点(例如,共识节点130a)进行数据交互,以请求完成相应的业务;同理,开票企业B也可以通过图1所示的业务节点110c与上述共识网络200a中的共识节点(例如,共识节点130a)进行数据交互,以请求完成相应的业务;以此类推,开票企业C也可以通过图1所示的业务节点110c与上述共识网络200a中的共识节点(例如,共识节点130a)进行数据交互,以请求完成相应的业务。
为便于理解,本申请实施例可以以业务为票据业务(比如,电子票据开具业务)为例,当与某个业务发起对象(例如,开票企业A)相关联的业务节点接收到与业务相关联的业务请求时,可以将该业务发起对象所发起的业务请求转发给共识网络中的某个共识节点,以通过该共识节点对该业务发起对象所发起的业务请求进行业务合法性验证。这样,该共识节点可以在业务合法性验证通过时,将该业务发起对象所请求的业务(比如,上述票据业务)添加至业务池,以便于后续可以将与该业务(比如,上述票据业务)相关联的业务数据打包成区块,以在共识网络中的共识节点之间进行区块共识,从而可以在区块共识通过后,将该区块的块数据(这里的块数据中至少包含该业务的业务数据)写入至本地缓存和本地存储,以便于后续可以基于上述分布式存储实现多个区块的块数据的并行存储,即可以将多个块的块数据并行存储至区块链,以便于后续与该业务发起对象(例如,开票企业A)相关联的业务节点可以在执行清分同步操作时,从该区块链上清分同步到该业务的业务数据。
其中,可以理解的是,Chord算法是一种一致性哈希算法,主要用于解决对网络中大量节点的地址管理和寻址操作,每个节点可以将自己的地址映射到一个全局地址空间(这里的 全局地址空间可以为上述映射空间),并可通过对应的一些路由表设计来记录在这个全局地址空间中和自己距离不同的节点,由此可以让全网具备节点发现和寻址的能力。其中,地址管理是指对各个节点(这里是指查验节点)的节点映射处理。在本申请实施例中,Chord算法为用于解决业务网络内数据定位问题的一种P2P协议,可通过多个节点跳转找到业务对象所查找的数据资源。
基于此,在本申请实施例中,查验网络中的执行查验节点(如前述查验节点120a)可以获取业务对象通过第一业务节点(如前述业务节点110a)发送的针对目标业务数据的数据定位请求,进一步,执行查验节点可以响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,进而可以按照映射空间中的节点映射标识进行排列后的顺序(比如,进行由小到大排列后的第一顺序),通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,以得到第一数据查验结果。
其中,应当理解,映射空间为用于对查验网络中的M个查验节点(即查验网络中的所有查验节点)进行节点映射处理和寻址操作的全局地址空间,在该全局地址空间中,一个节点映射标识是对一个查验节点的节点地址进行地址映射后所得到的。所以,在映射空间为环映射空间(即一种形状为环状的映射空间)时,这里的寻址方向可以是由映射空间的第一顺序所指示的方向所确定的,即该寻址方向具体可以是指该执行查验节点在环映射空间中执行寻址操作时所确定的顺时针方向,该顺时针方向即为执行查验节点在执行节点映射处理时对环映射空间中的节点映射标识进行由小到大排列后所得到或者所显示的方向。这里的寻址操作是指执行查验节点可以在当前查验网络对应的环映射空间中,通过非线性查找方式在当前方向上查找与目标业务数据标识距离最近的节点映射标识所对应的节点地址,进而可以判定是否可以在当前方向上查找到与目标业务数据标识距离最近的节点映射标识。如果查找到,则可以将在寻址方向上所查找到的节点地址视为在查验网络中所寻址到的查验节点的节点地址。应当理解,在该寻址方向上所查找到的节点地址为该执行查验节点的后继节点的节点地址,此时,该执行查验节点的后继节点的节点地址为临近节点地址,该临近节点地址所对应的查验节点可以统称为临近查验节点,基于此,本申请实施例可以将通过资源定位表在该寻址方向上所查找到的用于接收数据定位请求的临近查验节点称之为目标临近查验节点。这里的每个临近查验节点的临近节点地址可以分别用于存储从共识网络所对应的区块链上所同步来的与自己地址空间相近的链上同步数据信息的同步数据标识,此时,由临近节点地址所存储的同步数据标识中可以包含上述目标业务数据的目标业务数据标识。
换言之,资源定位表中的临近节点映射标识对应的临近节点地址用于存储从共识网络所对应的区块链上所同步得到的业务数据的业务数据标识,这些同步得到的业务数据标识中包含目标同步数据标识,这里的目标同步数据标识是指目标临近查验节点映射标识对应的目标临近查验节点地址上所存储的从区块链上所同步得到的目标链上同步数据信息的目标同步数据标识,该临近节点地址为寻址方向上位于第一节点地址之后的节点地址。
可选地,在第一数据查验结果指示在链上同步数据信息的同步数据标识中未包含目标业务数据标识时,执行查验节点可以进一步在其维护的节点路由列表中,将在第二顺序(即与第一顺序相反的顺序)上所查找到,的与目标业务数据标识距离最近的节点映射标识作为第二节点映射标识,进而可以将携带目标业务数据标识的数据定位请求转发给第二节点映射标识对应的目标查验节点(如查验节点120d)。可以理解,这里的目标查验节点为执行查验节点通过节点路由列表在第二顺序上所查找到的用于接收数据定位请求的查验节点。所以,在目标查验节点获取到该数据定位请求之后,可以进一步在确定第二节点映射标识(即在节点路由列表中所存储的由该目标查验节点的节点映射标识所确定的路由节点映射标识)为寻址方向上距离目标业务数据标识最近的节点映射标识时,通过第二节点映射标识所对应的第二节点地址对目标业务数据进行数据查验(例如,上述验证),进而可以验证该目标业务数据的真实性。这里的目标查验节点的节点地址(即第二节点地址)可以用于存储与自己地址空间相近的目标业务数据的目标业务数据标识,还可以用于存储与该目标业务数据标识相关联的业务节点的节点地址(例如,IP地址)。应当理解,业务节点的节点地址(例如,IP地址)用于指示目标查验节点快速定位到当前在业务网络中存储有该目标业务数据的业务节点。这样,目标查验节点可以在需要验证存储在业务节点上的目标业务数据的原文时,可以通过该第二节点地址中所存储的这个业务节点的节点地址(例如,IP地址)访问到该目标业务数据的原文,以验证该目标业务数据的原文。
上述可知,本申请实施例通过在业务网络所在的业务层中部署查验网络,可以支持业务对象在随机向该查验网络中的任一查验节点(如前述执行查验节点)发起针对某一业务数据(如前述目标业务数据)的数据定位请求,此时,该查验节点(如前述执行查验节点)可以通过自己所维护的资源定位表和节点路由列表,快速查找到该查验节点(如前述执行查验节点)当前所知的与该业务数据的业务数据标识(如前述目标业务数据标识)距离最近的节点映射标识所对应的查验节点(如前述目标临近查验节点或者目标查验节点),并可将数据定位请求转发到寻址到的查验节点(比如,目标临近查验节点或者目标查验节点)上,以便寻址到的查验节点(比如,目标临近查验节点或者目标查验节点)可以采用与执行查验节点类似 的非线性查找方式来继续进行查找,直到在整个查验网络的第一顺序上查找到距离目标业务数据标识最近的查验节点时,完成对查验网络中的查找节点的寻址,后续就可以由最终寻址到的查验节点对上述业务数据进行相关验证。与在业务网络中直接进行逐点查验的方式相比,本申请实施例所采用的非线性查找方式,能够通过跳转到查验网络中的少量的查验节点上就可实现寻址,从而有效地缩短了寻址的距离,因此可以提升查验节点的寻址效率,进而可以通过快速寻址到的查验节点,提高业务数据的查验效率。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种基于分层链网络的数据处理场景示意图。如图2所示的查验节点20A可以作为上述执行查验节点,该查验节点20A可以为查验网络(例如,上述图1所示的查验网络120)中的任意一个查验节点(例如,查验节点120a)。如图2所示的查验节点20B可以作为上述目标查验节点,即在映射空间包括环映射空间时,该查验节点20B可以为在上述图1所示的查验网络120所对应的环映射空间中,部署在执行查验节点之后的任意一个查验节点(例如,查验节点120c)。为便于理解,本申请实施例可以将在该环映射空间中所指示的寻址方向上,将部署在执行查验节点之后的查验节点统称为执行查验节点的后继节点,并将部署在该目标查验节点之前的查验节点称之为目标查验节点的前序节点。换言之,这里的目标查验节点可以为执行查验节点的后继节点,且该执行查验节点可以为目标查验节点的前序节点。应当理解,由于查验网络(例如,上述图1所示的查验网络120)所对应的环映射空间包括于映射空间中,这里的映射空间为用于构成该查验网络(例如,上述图1所示的查验网络120)的M个查验节点进行节点映射处理(即节点管理)和寻址操作的全局地址空间,且该全局地址空间中的节点标识(比如,节点映射标识)是由这M个查验节点的节点地址进行地址映射至映射空间之后所得到的,所以,在映射空间中对映射得到的这些节点映射标识进行由小到大排列后,可以将进行由小到大排列后的顺序作为第一顺序,进而可以按照第一顺序将最小的节点映射标识和最大的节点映射标识进行首位相连,以得到上述环映射空间,从而可以在该环映射空间所指示的寻址方向(例如,上述顺时针方向)上,确保执行查验节点的节点映射标识小于目标查验节点的节点映射标识,换言之,在第二查验业节点为执行查验节点的后继节点时,该目标查验节点的节点地址可以统称为临近节点地址,该临近节点地址所对应的节点映射标识会大于执行查验节点的节点地址(即第一节点地址)所对应的节点映射标识。此外,如图2所示的用户X可以作为上述业务对象,与该用户X相关联的业务节点20C则可以作为上述第一业务节点,该业务节点20C可以为业务网络(例如,上述图1所示的业务网络110)中的任意一个业务节点(例如,业务节点110a)。可以理解,业务节点20C可以为在将用户X所使用的业务终 端作为业务节点接入业务网络(例如,上述图1所示的业务网络110)时所确定的业务节点,或者,业务节点20C可以为与用户X所使用的业务终端相对应的业务节点,这里不做限定。
可以理解的是,业务节点20C包括于业务网络(如上述图1所示的业务网络110)中,查验节点20A、查验节点20B包括于查验网络(例如,上述图1所示的查验网络120)中,这里的查验节点20A、查验节点20B本质上为在该业务网络(如上述图1所示的业务网络110)中所选取的满足上述查验网络加入条件的业务节点。
可以理解的是,在业务场景为上述区块链电子场景下,当用户X获取到某一业务数据(即目标业务数据,例如,电子票据,这里的电子票据可以为图2所示的业务数据201a)时,希望验证该业务数据201a在链上的真实性,则首先需要在查验网络中进行寻址,以最终寻址到可以对该业务数据201a进行真实性查验的某一查验节点,如果查验需要涉及到原文,则该最终寻址到的查验节点可进一步访问该业务数据201a所在的具体业务节点(该业务节点同步有业务数据201a的原文)。其中,业务数据201a可以包含相关的业务执行结果或包含相关的读写状态数据,可选的,这里的业务数据201a还可以同时包含业务数据和读写状态数据,这里不做限定。在本申请实施例中,为了便于区分,可以将业务数据中的某个业务数据称为目标业务数据,同理,可以将目标业务数据中的读写状态数据称为目标读写状态数据。
例如,假设业务数据201a为与某一业务(如资产转移业务)相关联的业务数据,那么,在资产转移场景中,业务数据201a中的业务数据可以包括用户1向用户2转移虚拟资产(例如,电子票据等)时所生成的业务数据A1,与该业务数据A1相关的读写状态数据A2则可以包括但不限于用户1在调用智能处理数据向用户2转移一定资产量的虚拟资产后,由该智能处理数据所记录到的该用户1的剩余资产量和用户2的剩余资产量。
可以理解,为了能够实现高效的寻址,查验网络中所采用的寻址算法具体可以为Chord算法或者其他可用的寻址算法,本申请实施例以寻址算法为Chord算法为例进行说明。Chord算法常用于构建结构化点对点网络的分布式哈希表(Distributed Hash Table,DHT)。DHT的主要思想是将网络上资源的存取像哈希表(Hash table)一样可以简单而快速地进行读写,首先,每条文件索引被表示成一个(K,V)对,K称为关键字,可以是文件名(或文件的其他描述信息)的哈希值,V是实际存储文件的节点的IP(Internet Protocol,互联网协议)地址(或节点的其他描述信息)。所有的文件索引条目(即所有的(K,V)对)组成一张大的文件索引哈希表,只要输入目标文件的K值,就可以从这张表中查出所有存储该文件的节点地址。然后,再将上面大的文件索引哈希表分割成很多局部小块,并按照特定的规则把这些局部小块的局部哈希表分布到查验网络中的所有查验节点上,使得每个查验节点负责维护其中 的一局部小块。这样,当某个查验节点(例如,上述执行查验节点)需要查询文件时,只要把查询报文路由到相应的查验节点(例如,上述目标查验节点)即可(该查验节点维护的局部哈希表中含有要查找的(K,V)对)。
基于此,在一种可实现方式中,本申请实施例可以在构建得到上述查验网络的情况下,为提升对查验网络中存储有相应文件的真实性进行验证的查验节点的寻址效率,本申请实施例还可以在寻址算法包含该Chord算法时,通过Chord算法将查验网络中的每个查验节点的节点地址(即Node,可包括节点的IP地址和端口号Port)和业务网络中的每个业务节点所存储的业务数据(即Key)映射到相同的映射空间中,而保证一致性哈希。
为了保证哈希的非重复性,本申请实施例可以预先通过获取到的Chord算法,选择指定的哈希映射函数(如SHA-1,即Secure Hash Algorithm 1),并通过该哈希映射函数针对当前构建得到的查验网络中的M个查验节点,预先产生/构建一个空间大小为2m的哈希空间(即上述全局地址空间)。其中,整个哈希空间的取值范围为0~2m-1,每项哈希值均为一个哈希长度为m位的整数,然后,本申请实施例可以通过约定好的这个哈希映射函数,将M个查验节点中的每个查验节点的节点地址分别映射到该哈希空间,进而可以将在哈希空间中包含有M个查验节点的节点映射标识的哈希空间(即上述全局地址空间)作为映射空间,进而可以在该映射空间中,按照这些映射得到的节点映射标识进行由小到大的排列,并将由小到大排序后的顺序作为该映射空间的第一顺序。换言之,这里的映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到同一映射空间后得到的。
比如,在一种可实现方式中,本申请实施例可以在对这些映射得到的节点映射标识进行由小到大的排列后,将排列后的最小节点映射标识和最大节点映射标识进行首位相连,以将构建得到的上述形状为环形的映射空间确定为环映射空间。这里的环形具体可以包括但不限于三角形、四边形、五边形、六边形、圆形、椭圆形等闭合性形状,这里将不对具体的闭合性形状进行限定。
应定理解,在本申请实施例中,可以根据具体业务场景的不同,确保同一业务场景下的不同业务(比如,在区块链电子票据场景下的电子票据开具业务以及电子票据流转业务等)可以共用同一形状的环映射空间。可选地,本申请实施例也可以根据业务场景的不同以及具体业务的不同,自适应构建得到不同形状的环映射空间,以提升定向数据寻址的效率。比如,在上述区块链电子票据场景下,可以使用形状为圆形的环映射空间,而在其他业务场景下,使用形状为其他形状的环映射空间。
又比如,在一种可实现方式中,在环形具体为圆形时,可以进一步将上述构建得到的形状为圆形的环映射空间确定为哈希环,该哈希环上的每个节点映射标识具体可以是由对查验节点的节点地址进行哈希计算之后所得到的哈希值(比如,地址哈希值)所确定的,比如,哈希环上的每个节点映射标识可以为哈希长度为m位的哈希值,又比如,哈希环上的每个节点映射标识还可以为对哈希长度为m位的哈希值进行十进制变换后所得到的十进制整数值。
又比如,本申请实施例还可以在寻址算法为Chord算法时,在哈希环上将这些哈希值(比如,地址哈希值)首尾相连所形成的一个虚拟的环,称之为Chord环(Chord Ring),这样,哈希值(比如,地址哈希值)可以在Chord环上按哈希值大小,进行顺时针排列,以便于将节点地址和业务数据都映射到Chord环上,这样就可假定整个点对点网络的状态为一个虚拟的环。
其中,这里的Chord环包括于上述哈希环中,且哈希环包括于环映射空间,且环映射空间包括于映射空间。该Chord环上按大小顺时针排列时所形成为的顺时针方向,即为该Chord环所指示的用于进行定向数据寻址的寻址方向,所以,在该顺时针方向上,位于任意一个查验节点(例如,节点x)前面的节点可称为该节点x的前序节点(或称为前继节点,predecessor),其中,第一个前序节点可称为直接前序节点;类似的,位于该节点x后面的节点可称为该节点x的后继节点(successor),其中,第一个后继节点可称为直接后继节点。
由此可见,本申请实施例可以基于某个寻址算法,确定与相应业务场景匹配的哈希映射函数,进而可以基于哈希映射函数自身所具备的哈希变换特性,将相应数据(例如,上述查验节点的节点地址和/或业务数据)进行哈希变换后,得到哈希长度为m位的哈希值。然而,在将这些数据进行映射,即映射到映射空间之前,本申请实施例可以通过特定的哈希映射函数预先构建得到空间大小为2m的哈希空间(即上述全局地址空间)。这样,当在业务层中引入查验网络的情况下,就可以将预先构建得到空间大小为2m的哈希空间(即上述全局地址空间)作为映射空间,以将相应数据(例如,上述查验节点的节点地址和/或业务数据)分别映射到该映射空间。
又比如,本申请实施例还可以针对对查验网络中的所有查验节点(即上述M个查验节点)的节点地址,采用相同寻址算法进行地址映射,以将这些查验节点的节点地址分别映射到预先构建得到全局地址空间之后,得到一个新的全局地址空间,本申请实施例可以将该新的全局地址空间称为映射空间。
其中,可以理解的是,无论是上述哪一种映射方式,该映射所得到的映射空间可按指定的顺序(比如,上述第一顺序)进行标识组织和排列。相应的,在该映射空间包含环映射空 间(即上述形状为环形的映射空间)时,若需要在该环映射空间上进行定向数据寻址,则其寻址方向可以是由第一顺序所指示的方向所确定的。比如,本申请实施例可以依赖于映射空间中的标识(例如,节点映射标识),沿该环映射空间重新对这些节点映射标识进行由小到大的组织和排列,并将在该环映射空间中由小到大排列后所呈现的顺时针方向作为该寻址方向。
此外,该环映射空间具体为一致性哈希环(即上述形状为圆形的环映射空间)时,该哈希环的环空间的大小仍为2m,m为正整数,换言之,该哈希环的环空间最多可以记录并标记映射在该哈希环上的互不重叠的2m个数据的标识,比如,在这里的数据可以为查验节点的节点地址时,该哈希环的环空间最多可以记录并标记映射在该哈希环上的互不重叠的2m个查验节点的节点映射标识。此外,在这里的数据为上述已存储的业务数据时,该哈希环的环空间最多可以记录并标记映射在该哈希环上的互不重叠的2m个业务数据的业务数据标识。
应当理解,在本申请实施例中,共识网络中的共识节点在将某笔业务的业务数据存储在区块链上之后,共识节点可以基于上述哈希映射函数将该笔业务的业务数据进行哈希计算,进而可以将后续由哈希计算之后所得到的业务数据的业务数据标识,标记显示在哈希环的环空间。
可选地,为避免大量业务数据的哈希计算,对共识节点的共识性能造成计算性能上的影响,本申请实施例所涉及的共识网络中的共识节点在将某笔业务的业务数据存储在区块链上之后,也可以授权业务节点从区块链上清分同步到与自己所提交的业务相关的业务数据以及该业务数据的数据原文信息。这样,业务节点在对该业务数据以及该业务数据的数据原文信息进行存储处理之后,也可以基于上述哈希映射函数将该业务数据进行哈希计算,以将后续由哈希计算之后所得到的业务数据的业务数据标识,标记显示在哈希环的环空间。
应当理解,在本申请实施例中,同一业务数据通过同一哈希映射函数,会标记显示在同一哈希环的环空间中的同一空间位置上。
由此可见,后续实际映射在该哈希环的环空间中的各个标识(比如,上述节点映射标识和业务数据标识)的取值均包括于该环空间所对应的空间范围。该空间范围中的范围值具体可以为由上述哈希映射函数所确定的0~2m-1。
为便于理解,这里以环映射空间具体为哈希环为例,即图2展示了一个空间影响参数为m(例如,m=6)的哈希环的环空间,此时,该哈希环的环空间的空间影响参数(例如,m=6)用于指示对于映射在该环空间的某个查验节点的节点映射标识(例如,图2所示的标识N8)而言,该查验节点所维护的节点路由列表中的路由项最多为m项,此外,这里的空间影响参数还用于指示在每个查验节点的节点映射标识是由对每个查验节点的节点地址进行哈希计算 后所得到的哈希值的哈希长度,比如,这里的哈希长度可以为上述特定哈希映射函数所指示的定长序列值,比如,定长序列值中的二进制的位数为m位。
其中,本申请实施例对m的取值不做限定,例如,在一些实施例中可设置m=256。这样,查验网络中的每个查验节点的节点地址均可以映射到该环空间中,从而得到对应于环空间上某个位置的节点映射标识(即NodeID,例如图2所示的查验节点20A所对应的节点映射标识201d具体可以为环空间上的标识N8);同样的,业务节点所存储的业务数据也可以映射到该环空间中,从而得到对应于环空间上某个位置的数据标识(即KeyID)。其中,节点映射标识和数据标识的长度均为m位。也就是说,节点映射标识和数据标识被分配到一个大小为2m的环上,用于业务数据分配(给某一个查验节点)和查验节点分布,以及业务数据定位。为便于理解和区分,本申请实施例可以将上述执行查验节点的节点地址称为第一节点地址,将第一节点地址映射到环映射空间后得到的节点映射标识称为第一节点映射标识;类似的,可以将上述目标查验节点的节点地址称为第二节点地址,将第二节点地址映射到环映射空间后得到的节点映射标识称为第二节点映射标识,依此类推。同理,可以将目标业务数据映射到环映射空间后得到的数据标识称为目标业务数据标识。下面将结合图2阐述在查验网络中寻址的具体过程。
可以理解的是,在本申请实施例中,查验网络中共包含M个查验节点(M为正整数),例如,如图2所示,假设M=10,即该查验网络中包含10个查验节点(其中包含查验节点20A和查验节点20B),且该查验网络对应的哈希环的环空间是一个大小为26的环(即m=6),该环映射空间中的各个标识(例如,查验节点的节点映射标识)的取值范围为0~26-1,则在将这10个查验节点的节点地址分别映射到该哈希环的环空间后,可以得到在该哈希环的环空间中的相应空间位置上标识并显示各个查验节点的节点映射标识。由于这里的m=6,所以,本申请实施例在对每个查验节点的节点地址进行地址映射(即哈希映射或者哈希计算)后,可以将地址映射(即哈希映射或者哈希计算)所得到的每个查验节点的哈希值作为每个查验节点的节点映射标识。换言之,本申请实施例所涉及的地址映射是指通过上述Chord算法所选择的哈希算法,对每个查验节点的节点地址进行哈希计算,这样,在将哈希计算所得到的特定哈希长度(即上述m位,也可以称之为m比特位)的哈希值作为节点映射标识之后,可以在哈希环的环空间中,建立节点映射标识和相应节点地址之间的对应关系(即映射关系),进而可以在哈希环的环空间中相应空间位置上标识并显示这些查验节点的节点映射标识。
应当理解,可选地,在一种可实现方式中,这里的节点映射标识可以还为对特定哈希长度(即上述m位,也可以称之为二进制下的m个比特位)的哈希值进行进制换算(例如,进 行十进制换算),以进一步将进制换算后所得到的整数作为节点映射标识。
由此可见,在本申请实施例中,每个查验节点的节点映射标识是由哈希长度为6位的哈希值所生成的或者所确定的。为便于理解,这里在哈希环的环空间中,可以每个查验节点的节点映射标识为将每个查验节点的节点地址分别映射到该哈希环的环空间所得到的哈希长度为m位的地址哈希值为例,故而可以将得到的10个节点映射标识(即10个长度均为6位的地址哈希值)按照指定的寻址方向(如顺时针方向)由小到大排列显示在该哈希环的环空间中,例如,这10个节点映射标识按顺时针方向依次表示为标识N1、标识N8、标识N14、标识N21、标识N32、标识N38、标识N42、标识N48、标识N51、标识N56。换言之,本申请实施例在对这10个节点映射标识进行由小到大的排列时,是直接对这些长度均为6位的地址哈希值进行数学意义上的大小比较,比如,可以将长度均为6位的地址哈希值,作为长度均为6位的二进制整数,以进行二进制整数比较。
此外,类似的,假设当前共有5个业务数据(其中包括业务数据201a),则在将这5个业务数据分别映射到该哈希环的环空间后,可以得到各个业务数据的业务数据标识,每个业务数据标识也为6位的二进制整数。随后,本申请实施例可以在该哈希环的环空间所指示的寻址方向(如顺时针方向)上,将各个业务数据的业务数据标识分配到与自己的数据标识距离最近的节点映射标识所对应的查验节点上,也就是说,任一查验节点可以用于存储和自己的节点映射标识相近的数据标识。具体来说,一个数据标识KeyID可被分配到NodeID>=KeyID的第一个NodeID对应的查验节点上,此时可将该查验节点称为该数据标识KeyID对应的业务数据的后继节点,即在该哈希环的环空间上,该查验节点是从KeyID起在寻址方向的第一个查验节点,可记为successor(KeyID)。例如,假设上述5个业务数据的业务数据标识分别为标识K10、标识K24、标识K30、标识K38、标识K54,可以基于这些业务数据标识进行业务数据标识的分配和业务数据的定位。例如,如图2所示,标识K10对应的业务数据的后继节点为标识N14对应的查验节点,也就是说标识K10被分配给了标识N14对应的查验节点,那么后续标识N14对应的查验节点就会负责标识K10对应的业务数据的寻址,即后续在查验网络中基于标识K10寻址到标识N14对应的查验节点时,即可以通过该标识N14对应的查验节点,快速定位并寻址到当前存储有该标识K10所对应的业务数据的业务节点。
基于此,如图2所示,用户X可以通过相关联的业务节点20C向查验网络中的查验节点20A发送针对业务数据201a的数据定位请求(例如,数据定位请求201b),查验节点20A接收到数据定位请求201b后,可以从数据定位请求201b中获取业务数据201a的数据标识(即 前述目标业务数据标识,例如,业务数据标识201c),其中,该业务数据标识201c是预先将业务数据201a映射到如图2所示的哈希环的环空间后所得到的;此外,还可以预先将查验节点20A的节点地址(即前述第一节点地址)映射到如图2所示的哈希环的环空间中,以得到查验节点20A的节点映射标识(即前述第一节点映射标识,例如,节点映射标识201d);同时,可以预先将查验节点20B的节点地址(即前述第二节点地址)映射到如图2所示的环空间中,以得到查验节点20B的节点映射标识(即前述第二节点映射标识,例如,节点映射标识201h)。
进一步地,查验节点20A可以获取与其节点映射标识201d对应的节点地址相关联的资源定位表(例如,资源定位表201e),该资源定位表中可用于记录大于节点映射标识201d的临近节点映射标识。其中,临近节点映射标识对应的查验节点的节点地址可称为临近节点地址,该临近节点地址为寻址方向上位于查验节点20A的节点地址之后的节点地址,也就是说,临近节点映射标识对应的查验节点为查验节点20A的后继节点。本申请实施例对资源定位表中存储的临近节点映射标识的具体数量不做限定。可以理解,临近节点地址也可以用于存储自身分配到的业务数据标识。比如,临近节点映射标识对应的临近节点地址可以用于存储从区块链上所同步得到的与自己的临近节点映射标识距离相近的业务数据的业务数据标识。为便于区分,此处可以将这些从区块链上所同步得到的业务数据的业务数据标识统称为同步数据标识,并可以将该同步数据标识对应的业务数据统称为链上同步数据信息,其中,这里的同步数据标识是由临近节点映射标识对应的查验节点从共识网络所对应的区块链上同步来的,而链上同步数据信息则可以由相关的业务节点在执行清分同步操作时通过共识节点进行清分同步后所得到的。
例如,如图2所示,假设查验节点20A的节点映射标识201d具体为前述标识N8,且与该标识N8的节点地址相关联的资源定位表201e中包含4个临近节点映射标识,分别为标识N14、标识N21、标识N32和标识N38,可以理解,这4个临近节点映射标识对应的查验节点均为查验节点20A的后继节点;此外,每个临近节点映射标识对应的临近节点地址(即这些后继节点的节点地址)均可用于存储与自身相关的业务数据(即链上同步数据信息)的同步数据标识,例如,以临近节点映射标识为标识N14为例,该标识N14对应的查验节点上可同步有5个业务数据的业务数据标识,每个业务数据的业务数据标识即为相应链上同步数据信息的同步数据标识。比如,如图2所示,标识N14所对应的查验节点的节点地址中所存储的5个业务数据的业务数据标识分别为链上同步数据信息1的标识E1、链上同步数据信息2的标识E2、链上同步数据信息3的标识E3、链上同步数据信息4的标识E4以及链上同步数 据信息5的标识E5。
进一步地,当查验节点20A的节点映射标识201d为前述标识N8时,查验节点20A可以在哈希环的环空间所指示的寻址方向(如顺时针方向)上,通过上述资源定位表201e对业务数据201a的业务数据标识(即目标业务数据标识,例如,该目标业务数据标识具体可以为图2所示的业务数据标识201c)进行数据查验,从而得到相应的数据查验结果(即第一数据查验结果,例如数据查验结果201f)。应当理解,在本申请实施例中,数据查验结果(即第一数据查验结果,例如数据查验结果201f)可以用于指示在资源定位表201e中的查验节点(即查验节点20A的后继节点)从区块链上所同步得到的业务数据标识中是否包含目标业务数据标识
其中,该数据查验的目的是判断查验节点20A的后继节点是否持有当前查找的业务数据标识201c。例如,假设业务数据201a的业务数据标识201c为图2所示的环空间中的标识K24,则具有标识N8的查验节点20A首先可以在资源定位表201e中查找其直接后继节点的节点映射标识,即标识N14,此时可以发现所需查找的标识K24没有落在标识N8和标识N14之间(即标识K24位于空间范围(N8,N14]外),则可以确定在该标识N14对应的查验节点上不存在该标识K24,即标识N14对应的查验节点所同步的5个业务数据标识中未包含目标业务数据标识,比如,图2所示的标识N14对应的查验节点所同步到的5个同步数据标识(即标识E1~标识E5)中未包含有标识K24。可以理解,当查验节点20A的直接后继节点失效时,无法进行与该直接后继节点相关的数据查验,此时可以通过资源定位表201e依次往后进行数据查验,例如,在检测到标识N14对应的查验节点失效时,查验节点20A可以通过类似过程判断再下一个后继节点(即标识N21对应的查验节点)是否持有标识K24。
其中,可以理解的是,在本申请实施例中,这里的查验节点20A可以为当前接收到数据定位请求的执行查验节点,与该执行查验节点的节点地址相关联的资源定位表可以为图2所示的资源定位表201e。其中,每个查验节点的节点映射标识在该哈希环的环空间中,均是按照节点映射标识进行由小到大排列的,且按照由小到大排列之后所得到的顺序为第一顺序,该第一顺序所指示的方向为用于进行定向数据寻址的寻址方向,在图2所示的环空间中,寻址方向具体可以为以查验节点20A(即执行查验节点)为起点的顺时针方向。
可选的,在数据查验结果201f指示在查验节点20A的直接后继节点(如上述标识N14对应的查验节点)所存储的同步数据标识中包含有业务数据标识201c时,寻址结束,查验节点20A可以直接将数据定位请求201b转发给该直接后继节点,以将该查验节点20A的直接后继节作为寻址到的查验节点来验证业务数据201a的真实性。
可选的,在数据查验结果201f指示在查验节点20A的直接后继节点(如上述标识N14对应的查验节点)所存储的同步数据标识中未包含业务数据标识201c时,查验节点20A可以进一步通过其维护的节点路由列表(Finger Table)来继续寻址。例如,如图2所示,当查验节点20A(即执行查验节点)的节点映射标识201d为图2所示的环空间中的标识N8时,查验节点20A所维护的节点路由列表(即对应于执行查验节点的节点路由列表)可以为图2所示的节点路由列表201g,该节点路由列表201g所记录到的K个路由节点映射标识,分别为在该哈希环的环空间中与查验节点20A的节点映射标识具有预设距离的查验节点的节点映射标识。
比如,该节点路由列表201g可以用于保存以当前查验节点20A(即执行查验节点)的节点映射标识为起始点,在环空间所指示的寻址方向上,与查验节点20A(即执行查验节点)的节点映射标识相距预设距离(例如,在该环空间中各个查验节点的节点映射标识为二进制表示的哈希值时,这里的预设距离可以为与查验节点20A(即执行查验节点)的节点映射标识相距同一底数的不同幂次方距离,例如,相距2^(1,2,3,…m)距离)的查验节点的节点映射标识,进而可以将这些与查验节点20A(即执行查验节点)的节点映射标识相距预设距离的查验节点的节点映射标识统称为路由节点映射标识。
换言之,如图2的节点路由列表201g不仅可以用于记录K(K为小于等于m的正整数,这里的m为上述空间影响参数)个路由节点映射标识,还可以用于记录每个路由节点映射标识分别与查验节点20A(即执行查验节点)的节点映射标识之间所存在的预设距离(比如,这里的预设距离具体可以包括2^1(即2的1次幂)、2^2(即2的2次幂)、2^3(即2的3次幂)、….、2^m(即2的4次幂))。由此可见,本申请实施例在通过节点路由列表201g进行数据查验时,可以通过该节点路由列表201g中的这些路由节点映射标识,快速且高效地实现某些查验节点之间的跳转,从而可以在一定程度上降低数据查验过程中的路由复杂度。
其中,在节点路由列表201g中的一个路由信息(即路由项)是由一个路由节点映射标识和一个路由节点映射标识与该查验节点20A(即执行查验节点)的节点映射标识之间所存在的预设距离所确定的,应当理解,由于该哈希环的环空间的空间尺寸最大为2m,所以,该节点路由列表最多可保存m项路由信息,因此该路由算法的复杂度为O(log N)。假设节点映射标识201d的取值为n,则其节点路由列表的第i项路由信息存放的是查验节点20A的第(n+2i-1)mod 2m个后继节点的节点映射标识,也就是说,节点路由列表中保存的后继节点的节点映射标识与查验节点20A的节点映射标识之间的距离,是按照前述幂指数的底数进行倍数递增的,例如,是按照2的倍数等比递增,之所以取模是因为最后的查验节点的successor是开始的几 个查验节点,比如在图2所示的环空间中,节点映射标识最大的一个查验节点(例如标识N56对应的查验节点)在寻址方向上的下一个查验节点(例如标识N1对应的查验节点)定义为第一个查验节点。其中,1<=i<=m,这里的i是指该节点路由列表所维护的第i个路由信息,应当理解,在本申请实施例中,该节点路由列表中的同一个节点映射标识(即每个路由节点映射标识)可以对应环空间中的一个或者多个位置,基于此,节点路由列表中所维护的路由节点映射标识的标识数量(例如,K)的取值应当小于或者等于m(即该环映射空间的空间影响尺寸)。
例如,如图2中的节点路由列表201g所示,节点路由列表201g保存了6项路由信息,左边一栏记录了环映射空间上N8+1(即21-1)到N8+32(即26-1)的位置,右边一栏则记录了环映射空间中的每个位置上实际存在的查验节点的节点映射标识,在本申请实施例中,为便于区分,可以将节点路由列表中存储的节点映射标识称为路由节点映射标识。例如,节点路由列表201g中的第一项路由信息为N8+1—N14,可表示在寻址方向上位于标识N8对应的查验节点之后的第一个位置上的资源(如数据标识)将由标识N14对应的查验节点来负责。这样记录有以下优势:(1)每个查验节点只包含全网中一小部分查验节点的信息;(2)每个查验节点对于相距较近的查验节点负责的位置知道得更多,比如标识N8对应的查验节点对于标识N14对应的查验节点所负责的位置知道3处(即N8+1、N8+2和N8+4),而对标识N21对应的查验节点所负责的位置只知道1处(即N8+8)。
基于此,查验节点20A在节点路由列表201g上寻址时,可以先找出在寻址方向的反方向(也称为与寻址方向相反的方向,即上述顺时针方向的反方向具体可以为逆时针方向)上与业务数据标识201c距离最近的节点映射标识(例如,节点映射标识201h)作为第二节点映射标识,可以理解,此时查找到的节点映射标识201h小于业务数据标识201c,随后可以跳转到该节点映射标识201h对应的查验节点(即目标查验节点)上继续查找。
为便于理解,这里仍以节点映射标识201d为标识N8、且业务数据标识201c为标识K24为例进行说明,如图2所示,在节点路由列表201g所包含的6个路由节点映射标识(即标识N14、标识N14、标识N14、标识N21、标识N32以及标识N42)中,可以查找到在逆时针方向上与标识K24距离最近的路由节点映射标识为标识N21,可以理解,此时标识N21<标识K24,即N8+8—N21满足标识N21位于空间范围(N8,K24]内,那么此时前述节点映射标识201h即为标识N21,假设图2所示的查验节点20B的节点映射标识也为标识N21,则查验节点20B可作为目标查验节点,随后查验节点20A可以将携带业务数据标识201c(即标识K24)的数据定位请求201b转发给查验节点20B。可以理解,查验节点20B在接收到该数据 定位请求201b后,也会执行与查验节点20A类似的寻址过程,直至找到在寻址方向上距离业务数据标识201c最近的节点映射标识时寻址结束,最终寻址到的查验节点则可以用于进一步验证业务数据201a的真实性。
可选地,在本申请实施例中,通过上述查验节点20A(即执行查验节点)所寻址到的查验节点(例如,查询节点20B)也可以作为下一轮数据查验过程中的新的执行查验节点,以按照上一轮数据查验过程中,在将查验节点20A作为执行查验节点进行数据查验的具体过程,来进行新一轮的数据定向寻址和查验。例如,如图2所示,类似的,标识N21对应的查验节点20B在作为新的执行查验节点时,也可以通过该新的执行查验节点所维护的资源定位表,先判断其直接后继节点(即标识N32对应的查验节点)是否持有当前查找的标识K24,此时,查验节点20B发现标识K24落在标识N21和标识N32之间(即标识K24位于空间范围(N21,N32]内),则可以确定标识N32为寻址方向上距离标识K24最近的节点映射标识,也就是说,在标识N32对应的查验节点上存在当前查找的标识K24,因此标识N32对应的查验节点可以最终寻址到的查验节点,进而可以通过最终寻址到的查验节点(例如,上述图1所示的查验节点120d)来验证标识K24对应的业务数据(即业务数据201a)的真实性。
又或者,可选的,在查验节点20B的节点映射标识201h为寻址方向上距离业务数据标识201c最近的节点映射标识时,查验节点20B可以验证业务数据201a的真实性,并可向用户X返回针对业务数据201a的查验证明。此外,在涉及到原文查验时,查验节点20B还可以访问业务数据201a所在的具体业务节点。
上述可知,在分层链网络中,本申请实施例提供了一种基于Chord算法的业务数据查验框架和协议,可以使多个查验节点之间通过路由的形式进行高效的数据查验,即可以通过提升查验节点的寻址效率来提高业务数据的查验效率。此外,本申请实施例针对区块链双层链体系中的数据查验方案进行了设计,设计了一组独立的查验网络,该查验网络是稳定且分散的高容错网络,可以和业务SPV节点(即业务节点)所在的业务网络分离,在保证业务数据隐私的前提下,提供稳定的区块链数据查验服务。另外,查验网络还隔离了共识网络,这样可以避免查询类的请求反复进入共识网络中,影响共识网络的核心性能,同时可以充分利用业务网络的计算资源。
应当理解,本申请实施例提供的方法可以应用于转移虚拟资产(例如电子票据、游戏金币、游戏钻石等)、转移电子文件(例如电子合同、电子公文等)等业务场景,或者其他需要业务数据查验的业务场景。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等实 体对象的业务数据(例如,用户的开票信息、征信信息、退税信息等,企业的进出亏、企业资质等信息,用户或企业的合同信息、证书信息、处方信息等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等业务对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
其中,在“业务网络—共识网络”这样的分层结构下,对于任意一个用于进行数据查验的执行查验节点而言,执行查验节点在从针对目标业务数据的数据定位请求中获取到目标业务数据标识时,在映射空间中确定执行查验节点的第一节点映射标识,以及在映射空间所指示的第一顺序上通过对应于该执行查验节点的资源定位表,对目标业务数据标识进行数据查验,并在该资源定位表中的临近节点映射标识所对应的查验节点从区块链上所同步到的业务数据标识中未包含目标业务数据标识时,通过对应于该执行查验节点的节点路由列表,进一步在与第一顺序的相反第二顺序上,查找与目标业务数据标识距离最近的节点映射标识作为第二节点映射标识,进而将数据定位请求转发给第二节点映射标识对应的目标查验节点的具体实现方式,以及在第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,目标查验节点验证目标业务数据的真实性的具体实现方式可以参见下述图3-图8所对应的实施例。
进一步的,请参见图3,图3是本申请实施例提供的一种基于分层链网络的数据处理方法的流程示意图。如图3所示,该方法可以由执行查验节点执行。其中,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,执行查验节点包括于M个查验节点中。其中,可以理解的是,这里的执行查验节点可以为从M个查验节点中所随机选取的任意一个用于接收业务对象所发送的数据定位请求的查验节点,比如,该执行查验节点可以为上述图1所示的查验网络120中的查验节点120a。该方法具体可以包括以下步骤S101-步骤S106:
步骤S101,获取业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
可以理解,在业务对象获取到某笔目标业务的目标业务数据时,若该业务对象想要查验该目标业务数据在区块链上的真实性,则可以委托查验网络中的任一查验节点向其提供真实性证明。因此,业务对象可以通过业务网络中的第一业务节点向查验网络中的执行查验节点发送针对目标业务数据的数据定位请求,相应的,执行查验节点可以接收该数据定位请求。其中,第一业务节点可以为业务网络中所包含的多个业务节点中的任意一个业务节点,例如, 该第一业务节点可以为上述图1所示的业务网络110中的任意一个业务节点(如业务节点110a)。
可以理解的是,在本申请实施例中,通过在业务层中引入服务业务不同于业务网络的查验网络,可以在确保业务网络中的业务节点(即上述第二类业务节点)所清分同步到的业务数据的隐私性的前提下,还可以进一步通过查验网络提供稳定、且高效的数据查验服务。比如,对于业务网络中的每个业务节点而言,可以在通过业务网络所提供的服务业务执行相应操作(例如,业务节点可以执行清分同步操作)时,分别从共识网络所对应的区块链上清分同步到和自己有关的业务数据,这里的业务数据可以包括但不限于业务执行结果和读写状态数据,因此,对于同一业务网络中的不同业务节点而言,存在不同业务节点所存储的业务数据可能是不相同的现象;同理,对于查验网络中的每个查验节点而言,可以在通过查验网络所提供的另一服务业务执行其他操作(例如,查找节点可以执行的数据查验业务)时,异步从共识网络所对应的区块链上同步到和自身节点地址的节点映射标识所对应的空间范围内的业务数据的业务数据标识(如业务执行结果的哈希值和读写状态数据的哈希值),因此在请求查验某一业务数据在区块链上的真实性时,就可以通过在业务层中引入的查验网络执行相应的寻址过程,以找到能够验证该业务数据真实性的查验节点和能够查验该业务数据的数据原文信息的业务节点。
其中,可以理解的是,本申请实施例中的目标业务数据是由共识网络中的共识节点调用区块链上的目标业务处理数据执行目标业务后所确定的。具体来说,在共识网络中的共识节点获取到业务发起对象所请求的目标业务时,可以执行该目标业务,以得到对应的业务数据,例如,在电子票据开具场景中,假设某一患者前往位于区域A的医院进行就诊时,共识网络中的共识节点可以接收到位于区域A的业务节点(例如,与该患者相关联的第二业务节点)提交的目标业务,这里的目标业务具体可以为用于指示共识节点针对本次就诊所花费的虚拟资产开具一张电子票据的业务,进而可以基于该电子票据生成相应的业务数据。其中,这里的第二业务节点包括于业务网络中,例如,该第二业务节点可以为上述图1所示的业务网络110中的任意一个业务节点(如业务节点110b)。比如,该第二业务节点与上述第一业务节点可以为同一个业务节点,也可以为不同的业务节点,这里不做限定。
进一步地,共识节点在从相关的业务池中获取到包含有目标业务的业务列表时,可以调用部署在区块链上的目标业务处理数据来预执行该业务列表中的这些业务。具体的,共识节点可以调用目标业务处理数据预执行该区块中的目标业务,例如可以基于该目标业务处理数据,读取该目标业务对应的读数据集,随后可以基于该读数据集执行该目标业务,以得到目 标业务对应的业务执行结果,进而可以基于该业务执行结果得到对应于该目标业务的目标业务数据(如业务数据B1)。应当理解,共识节点在执行目标业务之后,还可以将该业务执行结果写入目标业务对应的写数据集。然后,共识节点可以将执行该目标业务后所得到的业务读写集(包括读数据集和写数据集)作为对应于该目标业务的目标读写状态数据(如读写状态数据B2)。进一步,共识节点可以将上述业务列表以及与该业务列表中的业务相关的全部业务数据(例如业务执行结果、读数据集、写数据集等)或部分业务数据(例如,业务执行结果)均打包进目标区块,并可以在该目标区块通过共识后,将该目标区块写入共识网络所对应的区块链,本申请实施例对打包进区块的数据内容不进行限定。可以理解,共识节点可以将最终得到的目标区块存储至自身的节点内存中。
其中,上述目标业务可以是任意一种业务,例如可以为前述举例的票据业务、与票据业务相关联的票据衍生业务、文件业务、与文件业务相关联的文件衍生业务等。
可以理解的是,本申请实施例可以将上述目标业务执行结果或目标读写状态数据中的一种或多种作为目标业务数据,在该目标业务数据上链成功后,共识节点可以授权第二业务节点对该目标业务数据进行清分同步,即第二业务对象还可以进一步将清分同步到的目标业务数据返回给前述业务对象。
步骤S102,响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识;
其中,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后得到的。
其中,可以理解的是,这里的映射空间本质上为上述用于对M个查验节点进行节点映射处理后的全局地址空间,在该节点映射处理后的全局地址空间(即映射空间)中,一个节点映射标识是对一个查验节点的节点地址进行地址映射后所得到的。
可选地,可以理解的是,为了实现高效的数据查验,本申请实施例可以根据当前业务场景,选择适配于当前业务场景的哈希映射函数,进而可以通过选择的哈希映射函数预先构建得到上述全局地址空间,从而可以将预先构建得到的这个全局地址空间统称为映射空间,以便于后续可以基于同一哈希映射函数,将查验节点的节点地址和业务节点所存储的业务数据分别映射到该映射空间中,而保证一致性哈希。其中,该映射空间的大小也可以为预设底数的m次幂,比如,2m,m为正整数,且该映射空间的取值范围为0~2m-1。比如,在一种可实现方式中,该映射空间的取值可以为一个从最小取值0开始,到最大取值2m-1结束的虚拟空间。
其中,可以理解的是,目标业务数据标识是通过将目标业务数据映射到查验网络所对应的映射空间后所得到的。比如,在本申请实施例中,对于共识网络中的共识节点而言,可以在获得目标业务数据时,可以获取与该映射空间相关联的哈希映射函数,进而可以基于该哈希映射函数对目标业务数据进行哈希运算,从而得到对应的目标业务数据标识。在本申请实施例中,哈希映射函数具体可以为SHA-1、SHA256等常哈希映射函数,即对于任意长度的输入数据,其输出均为固定长度的哈希值,例如SHA256会产生256bit长的哈希值(即哈希序列),相应的,采用SHA256作为哈希映射函数时,m=256(即这里的256可以用于表征采用该哈希映射函数进行哈希映射后所得到的哈希序列的序列长度),即在采用该哈希映射函数预先构建得到前述映射空间时,该映射空间的大小为2256,实际应用中可根据业务需求来选择合适的哈希映射函数。
其中,应当理解,对于256bit上的哈希值(即哈希序列),由于每个bit在哈希值(即哈希序列)中的取值是用二进制的0或者1来表示的,所以,对于通过当前指定的哈希映射函数(例如,SHA256),所计算得到的映射空间中的每个位置上的标识(例如,上述节点映射标识和/或数据标识)的取值,均包括于该映射空间的取值范围(例如,取值范围可以为0~2256-1),即在该映射空间中,每个节点映射标识和/或每个数据标识的值均属于该取值范围中的某个取值。其中,在该映射空间中,取值范围中的最小取值(比如,0)本质上为哈希序列中256个bit位上的取值均为0所得到的整数值,而取值范围中的最大取值(比如,2256-1)本质上为哈希序列中256个bit位上的取值均为1所得到的整数值。
由此可见,在本申请实施例中,在通过哈希映射函数构建得到映射空间时,该映射空间的大小(即该映射空间的取值范围的范围大小)是由该哈希映射函数所指定的哈希序列的序列长度(即m,比如,这里的m=256)所确定的。基于此,本申请实施例可以将这里m(即哈希映射函数所指定的哈希序列的序列长度)称之为该哈希映射空间的空间影响参数,这是因为这里的空间影响参数后续还用于限定对应于该执行查验节点的节点路由列表中的路由项的最大数量为m项。
其中,这里的目标业务数据标识可以是目标业务数据中部分数据或全部数据的哈希值,例如,可选的,当目标业务数据中只包含目标业务执行结果时,对应的目标业务数据标识可以为该目标业务执行结果中部分数据或全部数据的哈希值;可选的,当目标业务数据中只包含目标读写状态数据时,对应的目标业务数据标识可以为目标读写状态数据中部分数据或全部数据的哈希值;可选的,当目标业务数据中同时包含目标业务执行结果和目标读写状态数据时,对应的目标业务数据标识可以为目标业务执行结果和目标读写状态数据中部分数据或 全部数据的哈希值,本申请对此不做限定。
例如,在业务数据具体是指一张电子票据P时,该业务数据所对应的业务数据标识可以为该电子票据P整体的哈希值,即hash(P),或者,也可以为该电子票据P中指定票据信息(如票号)的哈希值。此外,共识节点还可以将目标业务数据的目标业务数据标识同步或者配置给在映射空间中距离该目标业务数据标识最近的节点映射标识所对应的查验节点,以使距离该目标业务数据标识最近的节点映射标识所对应的查验节点,可以将同步或者配置的目标业务数据标识预存储到自己的节点地址中。
然后,对于需要查验该目标业务数据在区块链上的真实性的某个业务对象而言,该业务对象可以在获取到需要查验的这个目标业务数据时,通过第一业务节点将该目标业务数据映射到映射空间中,以得到该目标业务数据的目标业务数据标识,进而可以基于得到的目标业务数据标识向执行查验节点发送针对该目标业务数据的数据定位请求。因此,执行查验节点在执行步骤S102时,可以从数据定位请求中识别、并获取到目标业务数据的目标业务数据标识,并可以将执行查验节点在映射空间中的节点映射标识作为第一节点映射标识。
其中,可以理解,任一查验节点的节点映射标识是通过将该查验节点的节点地址映射到映射空间后所得到的。
以执行查验节点为例,执行查验节点可以先获取其节点地址作为第一节点地址,进而可以将该第一节点地址映射到映射空间中,以得到执行查验节点的第一节点映射标识。其中,第一节点地址具体可以为执行查验节点的IP地址。具体的,执行查验节点可以获取与映射空间相关联的哈希映射函数(如SHA-1、SHA256等),进而可以基于该哈希映射函数对第一节点地址进行哈希运算,从而可以将哈希运算所得到的哈希值(例如,上述地址哈希值),确定为执行查验节点的第一节点映射标识。应当理解,对于查验网络中的其他查验节点的节点映射标识的获取过程类似,这里不再进行赘述。
可选地,在本申请实施例中,当基于上述哈希映射函数预先构建得到映射空间之后,还可以将查验网络中的每个查验节点的节点地址分别映射到预先构建得到的映射空间中,进而可以在该映射空间中的相应空间位置上分别标记这些查验节点的节点映射标识。换言之,为了提高数据查验的效率,本申请实施例还可以在该映射空间的相应空间位置上,分别标记得到这些查验节点的节点映射标识时,同步建立各个空间位置上的查验节点的节点映射标识和相应查验节点的节点地址之间的映射关系,并可以将这些映射关系统一存储在映射关系表中。这样,当执行查验节点接收到某个业务节点(即第一业务节点)发送的数据定位请求之后,可以在预先构建好的映射关系表中,快速查询是否存在与自己节点地址存在映射关系的节点 映射标识,如果存在,则可以直接将查询到的与自己节点地址存在映射关系的节点映射标识作为第一节点映射标识。反之,如果不存在,则可以采用同一哈希映射函数,对该执行查验节点的节点地址(即第一节点地址)进行哈希运算,从而可以将哈希运算所得到的哈希值(例如,上述地址哈希值),确定为该执行查验节点的第一节点映射标识。
可选的,除了查验节点的IP地址外,查验节点的节点映射标识还可以通过将该查验节点的节点描述信息映射到环映射空间后得到,这里的节点描述信息对于每个查验节点来说是独一无二的,例如可以为查验节点的节点私钥。
步骤S103,按照节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果;
应当理解,本申请实施例可以按照上述映射空间中对节点映射标识进行排列(比如,进行由小到大排列)后的第一顺序,直接获取与该执行查验节点的节点地址(即第一节点地址)相关联的资源定位表,从而可以通过获取到的资源定位表对该目标业务数据标识进行数据查验,以判定位于该资源定位表中的临近节点映射标识对应的临近节点地址从区块链上所同步到的业务数据标识中是否存在该目标业务数据标识,如果不存在,则可以跳转执行下述步骤S104。反之,如果存在,即在第一数据查验结果指示临近节点映射标识对应的临近节点地址从区块链上所同步到的业务数据标识中包含有目标业务数据标识时,可以将同步到目标业务数据标识的临近节点地址对应的临近查验节点作为目标临近查验节点,进而可以将携带目标业务数据标识的数据定位请求转发给该目标临近查验节点,数据定位请求用于指示目标临近查验节点对目标业务数据进行数据查验,目标临近查验节点的节点地址为目标临近查验节点地址。
其中,同步得到的业务数据标识中包含目标同步数据标识,目标同步数据标识是指目标临近查验节点映射标识对应的目标临近查验节点地址上所存储的从区块链上所同步得到的目标链上同步数据信息的目标同步数据标识。此时,在映射空间中进行数据查验的具体过程,可以描述为:若目标业务数据标识位于第一节点映射标识和目标临近查验节点映射标识所确定的空间范围内,则执行查验节点可以确定目标临近查验节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,且确定在目标同步数据标识中包含有目标业务数据标识,这里的距离是指在目标临近查验节点映射标识与目标业务数据标识为具有相同长度的哈希值时,对目标临近查验节点映射标识和目标业务数据标识进行异或操作所得到的哈希距离。可选地,若目标业务数据标识位于第一节点映射标识和目标临近查验节点映射标识所确定的 空间范围外,则执行查验节点可以确定在目标同步数据标识中未包含目标业务数据标识。换言之,在本申请实施例中,执行查验节点可以进一步将在目标同步数据标识中包含有目标业务数据标识时的数据查验结果或在目标同步数据标识中未包含目标业务数据标识时的数据查验结果作为第一数据查验结果。
可选地,在一种可实现方式中,本申请实施例还可以在上述映射空间包括环映射空间时,可以基于映射空间中的第一顺序所指示的方向,确定环映射空间的寻址方向。其中,环映射空间具体可以是指在对映射空间中的节点映射标识进行由小到大排列后,将最小节点映射标识和最大节点映射标识进行首尾相连所得到的形状为环形的映射空间。此时,该环映射空间的寻址方向具体可以为按照环映射空间中的节点映射标识进行由小到大排列后所得到的顺时针方向。
换言之,这里的寻址方向是指对环映射空间中的节点映射标识进行标识组织和排序(比如,由小到大排列)后所得到的方向(即上述顺时针方向),同理,在环映射空间中,该执行查验节点所维护的资源定位表可以用于记录临近节点映射标识,该临近节点映射标识对应的临近节点地址可以用于存储从共识网络所对应的区块链上所同步来的链上同步数据信息的同步数据标识。这里的临近节点映射标识为寻址方向上大于第一节点映射标识的节点映射标识。
可以理解的是,该临近节点映射标识为对临近查验节点的节点地址(即临近节点地址)进行节点映射处理后所得到的。该临近查验节点本质上为在环映射空间所指示的寻址方向上的该执行查验节点的后继节点。
可以理解的是,查验网络中的每个查验节点均可以维护一个与自身的节点地址相关联的前序节点列表和后继节点列表,以便能够快速定位前序节点和后继节点,并能周期性检测前序节点和后继节点的节点状态,这里的节点状态包括有效状态和无效状态。其中,有效状态为用于描述当前查验节点的前序节点和后继节点有效时的状态,无效状态为用于描述当前查验节点的前序节点和后继节点无效时的状态。由于本申请实施例的寻址过程会在环映射空间所指示的寻址方向(例如,上述顺时针方向)上进行,因此可以将执行查验节点所维护的后继节点列表作为与该执行查验节点的第一节点地址相关联的资源定位表,此时,该资源定位表用于记录临近节点映射标识;这里的临近节点映射标识是指执行查验节点的后继节点(即上述临近查验节点)的节点地址所对应的节点映射标识,且该执行查验节点的后继节点(即上述临近查验节点)是由该执行查验节点所维护的后继节点列表所确定的,即该后继节点列表可以用于存储该执行查验节点的后继节点的节点映射标识。
可选地,本申请实施例还可以基于执行查验节点所维护的后继节点列表,确定与该执行 查验节点的第一节点地址相关联的资源定位表。比如,这里的资源定位表可以用于存储该执行查验节点的后继节点的临近节点映射标识,且这里的执行查验节点的后继节点是由该执行查验节点在寻址方向上所维护的后继节点列表所确定的。其中,这里的寻址方向是指执行查验节点在环映射空间中执行寻址操作时所确定的顺时针方向;顺时针方向为执行查验节点在执行节点映射处理时对全局地址空间中的节点映射标识进行由小到大排列后所得到的方向。
换言之,这里的执行查验节点的后继节点可以为该执行查验节点在寻址方向上所维护的后继节点列表中的后继节点,且该后继节点列表中的后继节点的节点映射标识可以为该资源定位表中所记录的相应后继节点的临近节点映射标识,即这里的后继节点列表可以用于存储该执行查验节点的后继节点的节点地址,还可以关联存储该执行查验节点的后继节点的节点地址所对应的节点映射标识。基于此,执行查验节点可以通过与该资源定位表对目标业务数据标识进行数据查验,从而可以得到第一数据查验结果。
在本申请实施例中,资源定位表中的临近节点映射标识对应的临近节点地址可用于存储从共识网络所对应的区块链上所同步来的业务数据的业务数据标识,具体的,这里的业务数据的业务数据标识具体可以为链上同步数据信息的同步数据标识,这里的临近节点地址为寻址方向上位于第一节点地址之后的节点地址,也就是说,资源定位表中存储的临近节点映射标识所对应的查验节点为执行查验节点的后继节点,其对应的临近节点地址所存储的链上同步数据信息的同步数据标识可以指该后继节点所能够负责寻址到的相应业务数据的业务数据标识。可以理解,同步数据标识可以由共识节点同步或者配置给这些后继节点。
为便于理解,本申请实施例所涉及的资源定位表中的临近节点映射标识所对应的临近节点地址的具体细节,可以参见上述图2所示的资源定位表201e,上述图2所示的资源定位表201e指示了在标识N8对应的查验节点为执行查验节点时,该执行查验节点所维护的资源定位表中所记录的临近查验节点为该执行查验节点的4个后继节点(即标识N14、标识N21、标识N32和标识N38所对应的查验节点),其中,标识N14对应的查验节点还存储有5个链上同步数据信息的同步数据标识(即标识E1~标识E5)。
具体的,可以理解的是,若执行查验节点需要寻找的业务数据标识为目标业务数据标识,则执行查验节点可以在获取到第一节点映射标识和目标业务数据标识后,由该执行查验节点首先询问资源定位表中的第一个后继节点是否存储有当前查找的目标业务数据标识,应当理解,该资源定位表中的第一个后继节点为该执行查验节点在寻址方向上的下一个查验节点,这意味这该执行查验节点可以询问其在环映射空间所指示的寻址方向上的下一个查验节点(即执行查验节点的直接后继节点)是否存储有当前查找的目标业务数据标识。如果该执行 查验节点的直接后继节点存储有当前查找的目标业务数据标识,则可以间接确定该执行查验节点的直接后继节点的节点地址上存储有当前查找的目标业务数据标识,进而可以在将该执行查验节点的直接后继节点作为寻址到的查验节点时,结束本次寻址(即可以将本次所查找到存储有目标业务数据标识的直接后继节点的节点地址作为最终寻址到的目标查验节点的节点地址),并可以进一步将该执行查验节点当前所获取到的数据定位请求转发给该执行查验节点的直接后继节点,以使该执行查验节点的直接后继节点可以根据从区块链上所同步到的与该目标业务数据标识相关的链上同步数据信息(即从区块链上所同步到的目标业务数据的证明数据),生成用于验证上述目标业务数据的真实性的查验证明,从而可以将该查验证明返回给业务对象。这样,业务对象可以根据自己当前所获取到的查验证明,确定自己当前所需要查验的这个目标业务数据是真实存在于区块链上的。反之,如果该执行查验节点的直接后继节点未存储有当前查找的目标业务数据标识,则可以继续寻址,即此时,执行查验节点可以进一步询问资源定位表中的第二个后继节点(这里的第二个后继节点具体可以为上述直接后继节点的下一查验节点,即该直接后继节点的下一查验节点为上述执行查验节点的下一查验节点的另一个下一查验节点)是否存储有当前查找的目标业务数据标识。以此类推,本申请实施例可以通过遍历询问该资源定位表中的每个后继节点是否存储有当前查找的目标业务数据标识,直到确定该资源定位表中的每个临近节点映射标识所对应的后继节点均未存储有当前查找的目标业务数据标识时,可以间接确定这些后继节点所同步到的业务数据标识中未包含该目标业务数据标识,即这些后继节点所同步到的链上同步数据信息的同步数据标识中未包含该目标业务数据标识,从而可以进一步跳转执行下述步骤S104。
其中,可以理解的是,在一种可实现方式中,本申请实施例可以按照映射空间中的节点映射标识进行由小到大排列后的第一顺序,将该第一顺序上的最小节点映射标识和最大节点映射标识进行首尾相连后所构成的形状为环形的映射空间,确定为环映射空间。这样,执行查验节点可以进一步在环映射空间所指示的寻址方向(如顺时针方向)上,获取与执行查验节点的第一节点地址相关联的资源定位表,从而可以将在该资源定位表中所记录的该执行查验节点的一个或者多个后继节点的节点映射标识统称为临近节点映射标识,进而可以在该资源定位表所记录的这些临近节点映射标识中遍历选取临近节点映射标识,作为目标临近查验节点映射标识;进一步地,执行查验节点可以基于第一节点映射标识以及目标临近查验节点映射标识,对目标业务数据标识进行数据查验,从而得到第一数据查验结果。应当理解,本申请实施例可以在上述寻址方向上,将执行查验节点的下一查验节点称之为上述执行查验节点的直接查验节点,或者该执行查验节点的第一临近查验节点,此时,可以在该执行查验节 点所维护的资源定位表中,将记录到的该第一临近查验节点的临近节点映射标识统称为第一临近节点映射标识。同理,以此类推,本申请实施例还可以在该寻址方向上,将该直接查验节点的下一查验节点称之为该执行查验节点的第二临近查验节点,此时,可以在该执行查验节点所维护的资源定位表中,将记录到的该第二临近查验节点的临近节点映射标识统称为第二临近节点映射标识。
其中,假设资源定位表中的临近节点映射标识的数量为N个(即该资源定位表中存储有执行查验节点的N个后继节点的节点映射标识),N为大于1的正整数,那么,在资源定位表所包含的临近节点映射标识中确定目标临近查验节点映射标识的具体过程可以描述为:在映射空间的N个临近节点映射标识中,按照第一顺序查找位于第一节点地址之后的第一个节点地址所对应的临近节点映射标识,并可以将查找到的第一个节点地址所对应的临近节点映射标识作为第一临近节点映射标识;进一步的,执行查验节点可以获取第一临近节点映射标识对应的第一临近查验节点的节点状态,若第一临近查验节点的节点状态为有效状态,则将第一临近节点映射标识作为目标临近查验节点映射标识;反之,若第一临近查验节点的节点状态为失效状态,则执行查验节点按照第一顺序在除第一临近节点映射标识之外的(N-1)个临近节点映射标识中确定目标临近查验节点映射标识。
可选地,在上述映射空间包含环映射空间时,本申请实施例所涉及的执行查验节点可以获取自己在环映射空间中所维护的资源定位表,并可以通过获取到的资源定位表确定自己在该环映射空间中的N个临近节点映射标识,这样,执行查验节点可以查找在寻址方向上位于第一节点地址之后的第一个节点地址所对应的临近节点映射标识,并可以将查找到的第一个节点地址所对应的临近节点映射标识作为第一临近节点映射标识,进而可以获取第一临近节点映射标识所对应的第一临近查验节点(即执行查验节点的直接后继节点)的节点状态,可选的,若第一临近查验节点的节点状态为有效状态,则表示第一临近查验节点正常在线,此时可以将第一临近节点映射标识作为目标临近查验节点映射标识;或者,可选的,若第一临近查验节点的节点状态为失效状态,则表示第一临近查验节点失效(例如因断电或网络不良等原因导致节点下线),此时可以在除第一临近节点映射标识之外的(N-1)个临近节点映射标识中确定目标临近查验节点映射标识。也就是说,在执行查验节点的直接后继节点失效时,可以依次尝试询问该资源定位表中除该直接后继节点外的其他后继节点,来对目标业务数据标识进行数据查验。例如,类似的,上述(N-1)个临近节点映射标识中包含在寻址方向上位于第一临近节点映射标识对应的节点地址之后的第一个节点地址所对应的第二临近节点映射标识,此时执行查验节点可以获取第二临近节点映射标识对应的第二临近查验节点的节点状态, 可选的,若第二临近查验节点的节点状态为有效状态,则可以将第二临近节点映射标识作为目标临近查验节点映射标识;或者,可选的,若第二临近查验节点的节点状态为失效状态,则可以采用类似方法在除第一临近节点映射标识和第二临近节点映射标识之外的剩余临近节点映射标识(如有)中确定目标临近查验节点映射标识。
为便于理解,请再次参见上述图2,以图2中的资源定位表201e为例,假设当前执行查验节点的第一节点映射标识为标识N8,与该标识N8的节点地址(即第一节点地址)相关联的资源定位表为上述资源定位表201e中,此时,与该执行查验节点的第一节点地址相关联的资源定位表中可以包含有4个临近节点映射标识(即N=4),分别为标识N14、标识N21、标识N32和标识N38,可以看到,在寻址方向上位于标识N8的节点地址之后的第一个节点地址所对应的临近节点映射标识为标识N14,也就是说,标识N14对应的查验节点为标识N8对应的查验节点的直接后继节点,因此,在标识N14对应的查验节点的节点状态为有效状态时,可以将标识N14作为目标临近查验节点映射标识。可选的,在标识N14对应的查验节点的节点状态为失效状态时,可以尝试从剩下的3个临近节点映射标识(包括标识N21、标识N32和标识N38)中确定目标临近查验节点映射标识。
其中,可以理解的是,在确定目标临近查验节点映射标识后,为便于区分,可以将目标临近查验节点映射标识对应的临近节点地址称为目标临近查验节点地址,上述链上同步数据信息的同步数据标识中可包含该目标临近查验节点地址上所存储的目标链上同步数据信息的目标同步数据标识,那么,基于第一节点映射标识以及目标临近查验节点映射标识,对目标业务数据标识进行数据查验的具体过程可以为:若目标业务数据标识位于由第一节点映射标识和目标临近查验节点映射标识所确定的空间范围内,则可以确定目标临近查验节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识(此时目标临近查验节点映射标识大于或等于目标业务数据标识),即此时目标临近查验节点映射标识对应的查验节点负责对目标业务数据的寻址,且可以确定在该查验节点从区块链上同步来的目标同步数据标识中包含有当前查找的目标业务数据标识;或者,可选的,若目标业务数据标识位于第一节点映射标识和目标临近查验节点映射标识所确定的空间范围外,则可以确定在上述目标同步数据标识中未包含目标业务数据标识。最终,执行查验节点可以将在目标同步数据标识中包含有目标数据标识时的数据查验结果或在目标同步数据标识中未包含目标数据标识时的数据查验结果作为第一数据查验结果。
为便于理解,请再次参见上述图2,假设当前确定的目标临近查验节点映射标识为标识N14,则该标识N14对应的节点地址即为目标临近查验节点地址,该目标临近查验节点地址 上存储的同步数据标识(即标识E1~标识E5)即为目标同步数据标识,标识E1~标识E5对应的链上同步数据信息1~链上同步数据信息5即为目标链上同步数据信息。此外,假设第一节点映射标识为标识N8,目标业务数据标识为标识K24,则在映射空间中,可以将由标识N8和标识N14所确定的空间范围表示为(N8,N14],此时发现标识K24不在该空间范围内,从而可以确定在上述目标同步数据标识(即标识E1~标识E5)中未包含标识K24,因此需要继续在第一顺序上进行查找。
可以理解的是,可选的,在上述第一数据查验结果指示在目标同步数据标识中包含有目标业务数据标识时,可以确定目标临近查验节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,则执行查验节点可以将携带目标业务数据标识的数据定位请求转发给目标临近查验节点映射标识对应的目标临近查验节点,其中,该数据定位请求可用于指示目标临近查验节点验证目标业务数据的真实性。例如,请再次参见上述图2,假设第一节点映射标识为标识N8,目标业务数据标识为标识K10,当前确定的目标临近查验节点映射标识为标识N14,此时可以发现标识K10位于标识N8和标识N14所确定的空间范围(N8,N14]内,也就是说,标识N14为寻址方向上距离标识K10最近的节点映射标识,因此可以将数据定位请求转发给标识N14对应的查验节点(即前述目标临近查验节点)。
步骤S104,响应于第一数据查验结果指示同步得到的业务数据标识中未包含目标业务数据标识,获取对应于执行查验节点的节点路由列表;
其中,节点路由列表用于记录K个路由节点映射标识,路由节点映射标识为在映射空间中与第一节点映射标识具有预设距离的查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于映射空间的空间影响参数。
可以理解的是,在寻址算法包含Chord算法时,可以通过Chord算法所依赖的后继指针的正确性,来保证整个查验网络的正确性,而查验网络中的查验节点可能会出现节点加入、退出、异常等情况,因此,每个查验节点可以定时询问自己所维护的后继节点列表中的后继节点,以确定该后继节点的前序节点是否有更新,如果有更新,则也可以更新该查验节点自身的后继节点以及路由项。为了健壮性,每个查询节点除了存储上述节点路由列表外,还存储自己所维护的后继节点列表中的N个后继节点,应当理解,本申请实施例可以通过上述资源定位表记录该后继节点列表中的每个后继节点的临近节点映射标识,这样,当某个查验节点所维护的后继节点列表中的后继节点的节点状态为失效状态时,可以通过与上述后继节点列表相关联的后继指针,以此往后通知更新,进而可以实现对该查验网络中的每个查验节点所维护的后继节点列表和节点路由列表的更新。基于此,以执行查验节点为例,执行查验节 点可以周期性地询问其后继节点的前序节点是不是自己来更新后继节点以及节点路由列表中的路由项,其具体过程可以为:执行查验节点可以向第一临近查验节点(即执行查验节点的直接后继节点)发送节点查询请求,其中,该节点查询请求可用于指示第一临近查验节点返回在第一顺序上位于第一临近节点映射标识对应的节点地址之前的第一个节点地址所对应的前序节点映射标识,即第一临近查验节点需要向执行查验节点返回自己的直接前序节点的节点映射标识。进一步地,若执行查验节点识别到该前序节点映射标识与第一节点映射标识不相同,则可以基于该前序节点映射标识对执行查验节点所维护的资源定位表和节点路由列表进行更新。由此可见,在查验过程中,通过Chord协议,可以提供查验网络中的查验节点自动化上下线、数据维护、数据寻址、路由等功能,从而可以保障整个查验网络的完整性和可用性。
为便于理解,假设查验网络中新加入了一个查验节点(可称为新增查验节点),其节点映射标识为标识N26,首先该新增查验节点可指向其后继节点(例如,标识N32对应的查验节点),然后通知N32对应的查验节点,N32对应的查验节点接到通知后可以将该新增查验节点标记为它的前序节点;随后,新增查验节点和标识N32对应的查验节点均可以修改各自的节点路由列表。假设执行查验节点的节点映射标识为标识N21,那么在执行查验节点询问其直接后继节点(即标识N32对应的查验节点,即前述第一临近查验节点)的直接前序节点是否还是自己时,发现N32对应的查验节点的直接前序节点已经是标识N26对应的查验节点,此时执行查验节点可以将其直接后继节点修改为标识N26对应的查验节点,并通知标识N26对应的查验节点,自己(即执行查验节点)已经将其设置为后继节点,标识N26对应的查验节点接到通知后,可以将标识N21对应的查验节点设置为自己(即执行查验节点)的前序节点。
步骤S105,在K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的,在映射空间中与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;
可以理解,在上述第一数据查验结果指示在链上同步数据信息的同步数据标识中未包含目标业务数据标识时,执行查验节点可以在映射空间中通过其维护的节点路由列表来继续进行寻址,直到在与第一顺序相关的第二顺序上,查找到与目标业务数据标识距离最近的节点映射标识时,将查找到的节点映射标识作为第二节点映射标识,以便于后续可以进一步执行下述步骤S106,即可以将携带目标业务数据标识的数据定位请求转发到第二节点映射标识对应的目标查验节点,以使目标查验节点可以基于该数据定位请求对该目标业务数据进行数据查验。
其中,可选地,在映射空间包括环映射空间时,该环映射空间的寻址方向是基于第一顺序所指示的方向所确定的;具体的,执行查验节点可以在环映射空间中确定与第一顺序相反的第二顺序,将第二顺序所指示的方向确定为寻址方向的反方向,在K个路由节点映射标识中,查找在寻址方向的反方向上与第一节点映射标识距离最大的路由节点映射标识,将查找到的路由节点映射标识作为第一路由节点映射标识;若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围内,则确定第一路由节点映射标识为在寻址方向的反方向上与目标业务数据标识距离最近的节点映射标识,将第一路由节点映射标识作为第二节点映射标识;反之,若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围外,则在除第一路由节点映射标识之外的(K-1)个路由节点映射标识中确定第二节点映射标识。
其中,假设上述节点路由列表中包含K个路由节点映射标识,K为大于1且小于或等于环映射空间的空间影响参数的正整数,这里的空间影响参数(即m)可用于最终决定环映射空间的大小,比如,该环映射空间的大小可以用于表征后续映射标记在该环映射空间中的互不重叠的节点映射标识的数量最多为预设底数的m幂次方个,比如,2m个)。
例如,在环映射空间的大小为2m时,该环映射空间的标识的取值属于取值范围0~2m-1。其中,这里的m的取值本质上是由与上述环映射空间相关联的哈希映射函数所指定的需要变换得到的以二进制整数表示的哈希序列的序列长度所确定的。其中,可以理解的是,这里的节点路由列表中所保存的是从当前查验节点(例如,上述执行查验节点)的节点映射标识(例如,上述图2所示的环映射空间中的标识N8)出发,与自己节点映射标识相距同一底数的不同幂次方距离的节点映射标识,比如,这里的同一底数的不同幂次方可以表示为2^1,2^2,2^3,…,2^m等预设距离。这里的距离本质上为环映射空间中任意两个点(例如,两个节点映射标识)所在的位置之间的哈希距离,比如,在本申请实施例中,可以通过对这两个节点映射标识进行异或操作所得到的距离。
所以,对于当前执行查验节点的节点映射标识(例如,上述图2所示的环空间中的标识N8)而言,该环映射空间的空间影响参数还可以用于限定对应于当前执行查验节点的节点路由列表中的路由项最多为m个,应当理解,一个路由项中可以包含一个与当前执行查验节点的节点映射标识(即第一节点映射标识)具有预设距离的查验节点的节点映射标识,且同一节点映射标识可能会出现在一个或者多个路由项中。
比如,当该地址空间的空间影响参数也是m时,对于映射在该环映射空间中的每个查验节点而言,每个查验节点所维护的节点路由列表中,只需要包含整个查验网中的一小部分查 验节点的节点映射标识(即路由节点映射标识)。例如,每个查验节点所维护的节点路由列表中,均只需要包含在环映射空间中与当前节点的节点映射标识具有预设距离的查验节点的节点映射标识,这些查验节点的节点映射标识与当前查验节点的节点映射标识之间的预设距离具体可以为2^(1,2,3,..m)距离。所以,该节点路由列表中所保存的路由节点映射标识的数量(即K)最多可以达到m个。由此可见,本申请实施例通过引入节点路由列表,提出了一种采用非线性查找的方式(或者称为可伸缩资源定位的方式)来提升寻址效率。
具体的,在K个路由节点映射标识中,执行查验节点首先可以查找与第一节点映射标识距离最大的路由节点映射标识,且可以将查找到的路由节点映射标识作为第一路由节点映射标识;可选的,若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围内,则可以确定第一路由节点映射标识为在第二顺序上所查找到的与目标业务数据标识距离最近的节点映射标识(此时第一路由节点映射标识小于目标业务数据标识),即表示第一路由节点映射标识对应的查验节点是上述节点路由列表中最接近目标业务数据标识的前序节点,此时可以将第一路由节点映射标识作为第二节点映射标识;或者,可选的,若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围外,则可以在除第一路由节点映射标识之外的(K-1)个路由节点映射标识中确定第二路由节点映射标识。类似的,在前述(K-1)个路由节点映射标识中,执行查验节点可以查找除了第一路由节点映射标识之外,与第一节点映射标识距离最大的路由节点映射标识,且可以将查找到的路由节点映射标识作为第二路由节点映射标识;可选的,若第二路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围内,则可以确定第二路由节点映射标识为在第二顺序上与目标业务数据标识距离最近的节点映射标识,此时可以将第二路由节点映射标识作为第二节点映射标识;或者,可选的,若第二路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围外,则可以采用类似方法在除第一路由节点映射标识和第二路由节点映射标识之外的剩余路由节点映射标识如有)中确定出,在第二顺序上与目标业务数据标识距离最近的其他路由节点映射标识,进而可以将确定出的其他路由节点映射标识作为上述第二节点映射标识。也就是说,执行查验节点可在节点路由列表中由远及近进行查找,由于其查找过程的收敛速度很快,因此可以有效减少查找时间,同时降低路由复杂度。应当理解,为便于进行区分,本申请实施例可以将该执行查验节点的节点路由列表中所存储的节点映射标识统称为路由节点映射标识。
为便于理解,对于映射空间中的执行查验节点所维护的节点路由列表而言,以图2中的节点路由列表201g为例,假设当前执行查验节点的第一节点映射标识为标识N8,目标业务 数据标识为标识K38,标识N8对应的执行查验节点所维护的节点路由列表201g中包含有6个路由节点映射标识(即标识N14、标识N14、标识N14、标识N21、标识N32以及标识N42),这里的路由节点映射标识可以存在重复的节点映射标识,可以发现,节点路由列表201g中与标识N8距离最大的路由节点映射标识为标识N42(即第一路由节点映射标识),可以理解,此时,对于节点路由列表中的路由项N8+32—N42而言,标识N42其实是位于由标识N8(即第一节点映射标识)和K38(即目标业务数据标识)所构成的空间范围外的,即不满足标识N42位于空间范围(N8,K38]内,说明在该第二顺序上所查找到的标识N42,并不是与标识K38距离最近的路由节点映射标识。进一步地,执行查验节点可以在剩下的5个路由节点映射标识(即标识N14、标识N14、标识N14、标识N21、标识N32)中继续查找,可以发现此时与标识N8距离最大的路由节点映射标识为标识N32(即第二路由节点映射标识),且对于节点路由列表中的路由项N8+16—N32而言,标识N32其实是位于由标识N8(即第一节点映射标识)和K38(即目标业务数据标识)所构成的空间范围内的,即满足标识N32位于空间范围(N8,K38]内,说明在该第二顺序上所查找到的标识N32,是与标识K38距离最近的节点映射标识,则此时可以将标识N32作为第二节点映射标识。进一步地,执行查验节点可以将携带标识K38的数据定位请求转发给标识N32对应的查验节点(即目标查验节点)。
步骤S106,向第二节点映射标识所对应的目标查验节点发送数据定位请求,以使目标查验节点对目标业务数据进行数据查验。
可以理解的是,当在该映射空间中寻址结束后,若在第二顺序上所查找到的标识N32,是与标识K38距离最近的节点映射标识,此时,执行查验节点可以将标识N32作为第二节点映射标识,与此同时,由于本申请实施例在通过节点路由列表可以在第二顺序上实现由远及近的寻址操作(即进行寻址计算时所执行的操作)之后,可以间接确定该目标查验节点的第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,此时,该目标查验节点可以进一步用于验证目标业务数据的真实性,具体验证过程可以参见下述图4所对应实施例中的相关描述,这里不进行展开。
可选地,可以理解的是,针对上述映射空间包含环映射空间而言,当在该环映射空间中寻址结束后,在可以该寻址方向的反方向(即该环映射空间的逆时针方向)上所查找到的标识N32,是与标识K38距离最近的节点映射标识,此时,执行查验节点也可以将标识N32作为第二节点映射标识,与此同时,由于本申请实施例在通过节点路由列表在该寻址方向的反方向上实现由远及近的寻址操作(即进行寻址计算时所执行的操作)之后,可以间接确定该目标查验节点的第二节点映射标识为寻址方向上距离目标业务数据标识最近的节点映射标识, 此时,该目标查验节点可以进一步用于验证目标业务数据的真实性,具体验证过程可以参见下述图4所对应实施例中的相关描述,这里不进行展开。
其中,需要说明的是,本申请实施例会涉及不同标识之间的距离的计算,可以理解的是,由于在同一映射空间(例如,同一环映射空间)中,数据标识和节点映射标识为具有相同长度的哈希值,因此可以通过对这两个标识(即数据标识和节点映射标识)进行异或操作来确定它们之间的哈希距离,数字之间相差越小,对应的哈希距离也就越小,应当理解,本申请实施例可以通过两个标识之间的哈希距离来确定与目标业务数据标识距离最近的路由节点映射标识。
上述可知,本申请实施例通过在业务网络所在的业务层中引入查验网络的情况下,可以通过查验网络中的M个查验节点,对外向业务网络中的多个业务节点提供数据查验功能,这样,对于业务网络中的任意一个业务节点(即上述第一业务节点)而言,可以通过该第一业务节点支持业务对象在随机向该查验网络中的任一查验节点(如前述执行查验节点)发起针对某一业务数据的数据定位请求。即对于执行查验节点而言,可以在接收到由该第一业务节点针对该业务数据(即目标业务数据)发送的数据定位请求的情况下,进一步通过该查验节点所维护的资源定位表和节点路由列表来快速查找到该查验节点当前所知的与该业务数据的业务数据标识距离最近的节点映射标识所对应的查验节点(如前述目标查验节点),并可将数据定位请求转发到目标查验节点上,以便目标查验节点可以采用与执行查验节点类似的非线性查找方式来继续进行查找,直到在整个查验网络中查找到距离目标业务数据标识最近的查验节点时,即可完成在该查验网络中的寻址操作,后续就可以由最终查找到的查验节点(即上述最终寻址到的查验节点)对上述业务数据进行相关验证。可以理解,与逐点查验的方式相比,本申请实施例所采用的非线性查找方式通过跳转到部署在查验网络中的少量的查验节点上就可实现寻址,从而有效地缩短了寻址的距离,因此可以提升查验节点的寻址效率,进而可以提高业务数据的查验效率。同时,由于这里的查验网络是部署在业务层中,而共识网络是部署在共识层中,故而可以使得部署在业务层中的查验网络独立于部署在共识层中的共识网络,从而可以通过该查验网络与共识网络之间的网络隔离,来有效地避免查询类的请求(即上述用于查询目标业务数据的数据定位请求)反复进入共识网络中,而影响到共识网络的核心性能。与此同时,由于这里的查验网络中的查验节点(即上述第一类业务节点)是从业务网络中的多个业务节点中所选取的满足查验网络加入条件的业务节点,进而可以在上述业务层和共识层所构成的分层链网络中,充分利用在业务网络中所选取的满足查验网络加入条件的第一类业务节点的计算资源。
进一步的,请参见图4,图4是本申请实施例提供的另一种基于分层链网络的数据处理方法的流程示意图。如图4所示,该方法可以由目标查验节点执行,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,目标查验节点包括于M个查验节点中。比如,该目标查验节点可以为上述图1所示的查验网络120中的执行查验节点,通过自己所维护的节点路由列表在上述第二顺序上所查找到的查验节点(如查验节点120b)。该方法具体可以包括以下步骤S201-步骤S202:
步骤S201,获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求;
其中,可以理解的是,这里的执行查验节点包括于M个查验节点中,这里的数据定位请求为第一业务节点发送的针对目标业务数据标识对应的目标业务数据的请求,这里的第一业务节点为业务网络中的任意一个业务节点。该执行查验节点可以用于响应从数据定位请求中识别出目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,且按照映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果。应当理解,这里的映射空间可以包括M个查验节点分别对应的节点映射标识,这里的节点映射标识是将M个查验节点的节点地址分别映射到映射空间后所得到的,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;第一数据查验结果用于指示执行查验节点在确定同步得到的业务数据标识中未包含目标业务数据标识时,获取对应于执行查验节点所维护的节点路由列表,在节点路由列表记录到的K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;K为大于1的正整数,且K小于或者等于映射空间的空间影响参数。
可以理解的是,结合上述图3所对应的实施例,执行查验节点在通过上述节点路由列表继续寻址时,一旦确定该目标查验节点的第二节点映射标识为在第二顺序上所查找到的与目标业务数据标识距离最近的节点映射标识,则该目标查验节点可以接收到由执行查验节点所转发的携带目标业务数据标识的数据定位请求。
应当理解,在本申请实施例中的执行查验节点、目标查验节点以及目标临近查验节点均 为上述查验网络中的查验节点,这些查验节点(即执行查验节点、目标查验节点以及目标临近查验节点)本质上为在不同时刻获取到数据定位请求时,用于进行数据查验的查验节点。
可选地,在映射空间包含环映射空间时,执行查验节点还具体用于在从数据定位请求中识别并获取到目标业务数据标识时,在该环映射空间中确定执行查验节点的第一节点映射标识,且在环映射空间所指示的寻址方向上,通过与第一节点映射标识的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,以得到第一数据查验结果;这里的环映射空间是指对该映射空间中的节点映射标识进行由小到大排列后,对最小节点映射标识和最大节点映射标识进行首尾相连所得到的形状为环形的映射空间,该环映射空间的寻址方向是由对该映射空间中的节点映射标识进行由小到大排列所得到第一顺序所指示的方向(例如,沿着该环映射空间的顺时针方向)所确定的。其中,资源定位表在用于记录临近节点映射标识时,这些临近节点映射标识对应的临近节点地址可以用于存储从共识网络所对应的区块链上所同步的业务数据的业务数据标识,比如,具体可以是从区块链上所同步到的链上同步数据信息的同步数据标识;这里的临近节点地址可以为寻址方向上位于第一节点地址之后的节点地址,临近节点映射标识为寻址方向上大于第一节点映射标识的节点映射标识;第一数据查验结果用于指示执行查验节点在确定链上同步数据信息的同步数据标识中未包含目标业务数据标识时,获取执行查验节点所维护的节点路由列表,在节点路由列表所包含的K个路由节点映射标识中,将在寻址方向的反方向上所查找到的与目标业务数据标识距离最近的节点映射标识,确定为该目标查验节点的第二节点映射标识;K为大于1的正整数,且K小于或者等于环映射空间的空间影响参数。
应当理解,在执行查验节点上进行数据查验的具体寻址过程可以参见上述图3所对应的实施例,这里不再进行赘述。
可以理解,目标查验节点接收到上述数据定位请求后,也可以执行与上述执行查验节点类似的寻址过程,如通过目标查验节点所维护的资源定位表和节点路由列表来进行寻址,这里不再进行赘述。
步骤S202,在基于数据定位请求确定第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,通过第二节点映射标识所对应的第二节点地址对目标业务数据进行数据查验。
可以理解的是,由于目标查验节点在获取到数据定位请求之后,可以按照上述执行查验节点类似的寻址过程进行寻址,所以,目标查验节点在基于数据定位请求进行寻址时,可以进一步判定自己所对应的节点映射标识(即上述第二节点映射标识)是否为第一顺序上距离 目标业务数据标识最近的节点映射标识,进而可以在确定该第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,确定该目标查验节点的节点地址中存储有用于验证该目标业务数据的真实性的证明数据,这里的证明数据为从上述区块链上所同步到的该目标业务数据的链上校验信息。
应当理解,目标业务数据是由共识网络中的共识节点调用区块链上的目标业务处理数据执行目标业务后所确定的,且该目标业务数据可以包含与目标业务相关联的目标业务执行结果或目标读写状态数据中的一种或多种,这里的目标业务是由第二业务节点所发起的,比如,这里的目标业务可以为第二业务节点向共识节点所提交的业务;其中,第二业务节点包括于业务网络中。
前述可知,查验网络中的每个查验节点均可以同步与其节点映射标识(或地址空间)相近的业务数据的业务数据标识,此外还可以同步该业务数据的链上校验信息,用以验证该业务数据的真实性。基于此,这里以目标查验节点为例进行说明。具体的,在目标查验节点的第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,目标查验节点可以从区块链上获取该目标业务数据标识和目标业务数据的链上校验信息,为便于区分,这里可以将目标业务数据的链上校验信息称为目标校验信息;随后可以对同步过来的目标业务数据标识和目标校验信息进行存储。
其中,可选的,目标查验节点可以主动向共识节点发送数据同步请求,共识节点从该数据同步请求中获取到目标查验节点的第二节点映射标识后,可以获取第二节点映射标识与目标业务数据标识之间的距离,若识别到第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,则可以将目标业务数据标识以及目标业务数据标识对应的目标业务数据的目标校验信息返回给目标查验节点进行存储。又或者,可选的,在共识节点成功将目标业务数据上链后,可以在其记录的所有查验节点的节点映射标识中,查找在第一顺序上距离目标业务数据标识最近的节点映射标识,当查找到的节点映射标识为第二节点映射标识时,共识节点可以主动地将目标业务数据标识以及目标业务数据的目标校验信息同步或者配置给第二节点映射标识对应的目标查验节点进行存储。
可以理解的是,每个查验节点均可对外提供查验功能,因此,在寻址完成后,最终定位到的查验节点为存储有用于验证业务数据(例如,业务数据C1)真实性的链上校验信息(例如,校验信息C2)的查验节点,该查验节点可以基于其存储的校验信息C2来对业务数据C1进行真实性查验。
基于此,在目标查验节点基于数据定位请求确定第二节点映射标识为第一顺序上距离目 标业务数据标识最近的节点映射标识时,可以基于第二节点地址上所存储的目标校验信息,对目标业务数据进行数据查验,以得到第二数据查验结果;进一步的,目标查验节点可以基于第二数据查验结果向业务对象返回目标业务数据对应的第一查验证明信息。
可选地,在上述映射空间包含环映射空间时,在目标查验节点的第二节点映射标识为寻址方向上距离目标业务数据标识最近的节点映射标识时,也可以说明目标查验节点的节点地址(即上述第二节点地址)上存储有目标业务数据的目标校验信息,因此,目标查验节点可以基于该第二节点地址上所存储的目标校验信息,对目标业务数据进行数据查验,以得到第二数据查验结果;进一步地,目标查验节点可以基于第二数据查验结果向业务对象返回目标业务数据对应的第一查验证明信息。
在本申请实施例中,查验节点在业务网络中通过Chord DHT算法结构组成查验网络,可负责同步与自己的节点映射标识(也可称为节点ID)相近的数据标识所对应的业务数据的链上校验信息,即查验网络中的查验节点可以同步自己的节点映射标识所在空间范围(即在上述映射空间上从其前序节点到该查验节点之间的空间范围)内的数据标识所对应的业务数据的链上校验信息,该链上校验信息包括但不限于业务数据的默克尔路径,业务数据相关的节点签名集合,数据时间戳、有效期等时间类信息,数据详情(例如查验节点需要的一些原文信息)和读取数据所需要的附加验证信息等,因此,本申请实施例中的真实性查验可以包括一种或多种验证方式,下面分别进行阐述。
可选的,在一种实施方式中,目标校验信息中可以包含与目标业务数据相关联的默克尔路径,这里的默克尔路径为一条由目标业务数据所对应的目标业务连接到默克尔树根的路径;默克尔路径上包含用于参与重构默克尔树根所对应的默克尔树的路径哈希值。基于此,目标查验节点可以从第二节点地址上所存储的目标校验信息中获取该默克尔路径,这样,在获取到当前这笔业务(即目标业务)所对应的目标业务数据的业务哈希值时,可以进一步从该默克尔路径上获取用于参与重构默克尔树根所对应的默克尔树的路径哈希值,这样,目标查验节点可以在获取到目标业务数据的业务哈希值以及默克尔路径中的路径哈希值时,进一步基于目标业务数据的业务哈希值和该默克尔路径中的路径哈希值,重构得到默克尔树根,并将重构得到的这个默克尔树根确定为待验证树根。进一步的,目标查验节点可以基于该业务哈希值定位到目标业务数据所在的目标区块,进而可以将在目标区块的区块头信息中所获取到的默克尔树根,确定为待比对默克尔树根。换言之,本申请实施例所涉及的目标查验节点还可以用于从区块链上同步目标业务数据所在的目标区块的区块头信息,从而可以将从该区块头信息中所获取到的默克尔树根,确定为待比对默克尔树根,随后可以将待验证树根与该待 比对默克尔树根进行比对,得到树根校验结果。可以理解,若该树根校验结果指示待验证树根与待比对默克尔树根一致,则目标查验节点可以确定树根校验成功,即该业务对象所请求查验的目标业务数据真实存在于区块链上;反之,若该树根校验结果指示待验证树根与待比对默克尔树根不一致,则目标查验节点可以确定树根校验失败,即该业务对象所请求查验的目标业务数据并不存在于区块链上。后续目标查验节点可以基于该树根校验结果确定第二数据查验结果。
可选的,在一种实施方式中,目标校验信息中可以包含与目标业务数据所在的目标区块相关联的节点签名集合,该节点签名集合可以包括共识网络中的G个共识节点中的每个共识节点分别对目标区块进行签名所得到的节点签名信息,G为正整数。其中,这里的G个共识节点可以组成共识节点委员会,相应的,节点签名集合也可以称为共识节点委员会签名集合(Quorum Certification,简称QC),该节点签名集合可以包括G个共识节点中每个参与共识的共识节点分别通过各自的节点私钥对该目标区块进行签名后所得到的节点签名信息。基于此,目标查验节点可以获取G个共识节点分别对应的节点公钥,进而可以基于获取到的G个节点公钥对节点签名集合中的节点签名信息进行节点签名验证,从而得到节点验签结果。
可以理解,一个共识节点对应的节点公钥可以用于验证节点签名集合中的一个节点签名信息,为便于理解,这里以验证其中一个节点签名信息Q为例进行说明:在目标区块打包上链的过程中,共识节点P可以对目标区块中的全部区块内容(包括区块头信息和区块主体)或部分区块内容(例如,区块主体)进行哈希运算,以得到目标区块的摘要信息H,进而可以基于共识节点P的节点私钥对该摘要信息H进行数字签名,得到目标区块对应的节点签名信息Q。进一步地,在目标查验节点获取到目标区块的节点签名信息Q时,可以获取共识节点P的节点公钥,进而可以基于该节点公钥对节点签名信息Q进行节点签名验证,以得到对应的子验签结果。其中,可以理解的是,目标查验节点可以基于共识节点P的节点公钥对该节点签名信息Q中的数字签名进行验签,得到目标区块的摘要信息H,并可利用与共识节点P相同的哈希算法对目标区块中的相同区块内容进行哈希运算,从而可以得到目标区块的摘要信息h。进一步地,目标查验节点可以将验签后所得到的摘要信息H与进行哈希运算所得到的摘要信息h进行比对,得到子验签结果。若该子验签结果指示摘要信息H与摘要信息h不相同,则可以理解为节点签名信息Q验签失败;若该子验签结果指示摘要信息H与摘要信息h相同,则可以理解为节点签名信息Q验签成功。
可以理解,在对节点签名集合中的G个节点签名信息均进行节点签名验证后,可以得到每个节点签名信息分别对应的子验签结果,将这G个子验签结果作为节点验签结果。其中, 当G个子验签结果均指示验签成功时,目标查验节点可以确定节点签名集合验签成功,说明目标区块中的区块内容没有被恶意篡改,是真实有效的;当G个子验签结果中存在指示验签失败的子验签结果时,目标查验节点可以确定节点签名集合验签失败。后续目标查验节点可以基于该节点验签结果确定第二数据查验结果。
可选的,在一种实施方式中,目标校验信息中可以包含与目标业务数据相关联的第一时间关联信息,这里的第一时间关联信息可以包含目标业务数据的数据时间戳,该数据时间戳既可以为目标业务数据的业务时间戳,也可以为目标业务数据的数据内容中存在的时间戳(例如,电子票据中的开票日期),还可以是其他可供验证的时间戳,本申请实施例对此不做限定。基于此,目标查验节点可以从接收到的数据定位请求中获取目标业务数据的待验证时间戳,进而可以将待验证时间戳与数据时间戳进行比对,从而得到时间戳校验结果。可以理解,若该时间戳校验结果指示待验证时间戳与数据时间戳一致,则目标查验节点可以确定时间戳校验成功,该目标业务数据确实是某一时刻下的业务数据;反之,若该时间戳校验结果指示待验证时间戳与数据时间戳不一致,则目标查验节点可以确定时间戳校验失败,目标业务数据可能被篡改或更新。后续目标查验节点可以基于该时间戳校验结果确定第二数据查验结果。
可选的,在一种实施方式中,目标校验信息中可以包含与目标读写状态数据相关联的第二时间关联信息,这里的第二时间关联信息可以包含共识网络中的共识节点的公钥证书对应的证书有效时长。前述可知,目标查验节点在对节点签名集合中的节点签名信息进行节点签名验证时,需要获取共识节点的节点公钥,节点公钥可以通过同步共识节点的公钥证书来获得,因此在使用节点公钥前需要验证其公钥证书的有效性。基于此,目标查验节点可以将从区块链上所同步来的共识节点的公钥证书作为第一公钥证书,该第一公钥证书中包含用于对目标业务数据所在的目标区块相关联的节点签名集合进行节点签名验证的节点公钥;进一步,目标查验节点可以获取第一公钥证书的使用时长,进而将第一公钥证书的使用时长和证书有效时长进行比较,以得到证书有效性验证结果。可以理解,可选的,在该证书有效性验证结果指示使用时长大于或等于证书有效时长时,目标查验节点可以确定第一公钥证书为无效证书,此时,目标查验节点可以向共识节点请求更新证书;或者,可选的,在该证书有效性验证结果指示使用时长小于证书有效时长时,目标查验节点可以确定第一公钥证书为有效证书。后续目标查验节点可以基于该证书有效性验证结果确定第二数据查验结果。此外,这里的第二时间关联信息还可以包含一些数据状态的有效期,同样也可以进行相关的验证,这些数据状态可能会变化,过期之后还可以从区块链上部署的智能处理数据(即目标业务处理数据,如目标业务处理数据)中去进行状态更新。
可以理解,上述第一时间关联信息和第二时间关联信息均包括于与目标业务数据相关联的时间类信息,还可以采用其他时间类信息进行相关验证,这里不做限定。
此外,可以理解,如果具体数据允许被查验,则对应的业务节点会向链上注册自己的节点地址(如IP地址),并可授权其业务数据的可见性,共识节点也可以对这些在链上注册过的节点地址进行实时更新;相应的,查验网络中的查验节点会存储每个业务数据的数据哈希值(即上述业务数据的业务数据标识)所对应的业务节点的节点地址(即存储有该数据标识对应的业务数据的业务节点的节点地址),这样,在需要对某个业务数据进行原文查验时,查验节点会通过存储的业务节点的节点地址访问到具体的业务节点。基于此,以上述第二业务节点为例,第二业务节点存储有从共识节点上所同步来的目标业务数据的数据原文信息,该数据原文信息可以为目标业务数据的具体原始内容(如某些字段、公章、签名、图片等),而非处理过的整体哈希值,例如一张电子票据的数据原文信息可以包括其票号、抬头等,由于数据原文信息是隐私数据,因此需要数据持有方(即第二业务节点)授权后才能提供原文查验的能力。假设目标校验信息中包含读取附加信息,该读取附加信息是由共识节点调用目标业务处理数据,对第二业务节点提交的原文授权信息进行权限注册后所确定的,也就是说,如果第二业务节点授权目标业务数据的数据原文信息是可见的且可被查验的,则该第二业务节点可以向共识节点提交原文授权信息,该原文授权信息可以包括第二业务节点的节点地址以及查验配置信息等,进而可以通过共识节点在目标业务处理数据中注册自己的节点地址,并设置其可被查验原文的数据;读取附加信息则可以为从第二业务节点上读取数据时所需要的一些附加信息,比如,第二业务节点设置了大量可被查验原文的业务数据,盲目查找的话可能比较困难,此时可以根据读取附加信息所指示的时间读取范围或区域读取范围来查找具体需要的某一时间段或某一地区内的数据原文信息。其中,读取附加信息还可以包含其他附加信息,这里对其包含的具体内容不做限定。
可以理解的是,在上述数据查验为针对目标业务数据的数据原文信息进行原文查验时,目标查验节点可以获取存储有目标业务数据的数据原文信息的业务节点的节点地址;进而可以在获取到的业务节点的节点地址为该第二业务节点的节点地址时,基于读取附加信息,向业务节点地址对应的第二业务节点发送针对目标业务数据的原文查验请求;相应的,第二业务节点在接收到该原文查验请求后,可以基于读取附加信息来确定目标业务数据的数据原文信息,并可基于该数据原文信息对目标业务数据进行原文查验,从而得到第三数据查验结果,且可以基于第三数据查验结果向业务对象返回目标业务数据对应的第二查验证明信息。
例如,对于一张电子票据C,当需要查验其票号时,第二业务节点可以从相关的原文查 验请求中获取待查验票号,且可以获取根据读取附加信息从区块链上所清分同步的数据原文信息中获取票号原文,进而可以将待查验票号与票号原文进行比对,从而可以将比对所得到得到的比对结果,作为对该目标业务数据(即电子票据C的票号)进行原文查验时的第三数据查验结果。
又或者,可选的,目标查验节点可以向业务对象返回上述业务节点的节点地址,随后业务对象可以通过第一业务节点重新向该业务节点的节点地址所对应的第二业务节点发起针对目标业务数据的原文查验请求。
此外,可以理解的是,假设整个寻址过程最终在上述M个查验节点中未查找到存储有目标校验信息的查验节点,则可以将携带目标业务数据标识的数据定位请求转发给共识网络中的共识节点,以使共识节点验证目标业务数据的真实性。
其中,可以理解,每个共识节点均为全量节点,存储有所需的目标校验信息,因此无需在共识网络中进行寻址,即可验证目标业务数据的真实性。由此可见,本申请实施例中的查验网络隔离了共识网络,这样可以避免查询类的请求反复进入共识网络中,从而影响共识网络的核心性能,同时可以充分利用业务网络的计算资源。
可以理解的是,考虑到可靠性,共识节点在将业务数据的校验信息发送给距离该业务数据的业务数据标识的哈希距离最近的目标查验节点的同时,还可以一并将同一业务数据的校验信息发送给距离该业务数据的业务数据标识的哈希距离最近的其他2~3个查验节点进行备份存储,这样,在距离最近的那个查验节点(例如,目标查验节点)失效或其存储的校验信息损坏时,可以尝试从其他备份有该校验信息的查验节点(即备份查验节点)上去进行查找。比如,这里以距离该业务数据的业务数据标识的哈希距离最近的那个查验节点为目标查验节点为例,若目标查验节点的节点状态为失效状态或者目标查验节点所存储的目标校验信息为缺损信息,则可以将携带目标业务数据标识的数据定位请求转发给备份查验节点;这里的备份查验节点的节点映射标识为除第二节点映射标识之外,在寻址方向上距离目标业务数据标识最近的节点映射标识,且备份查验节点用于备份目标校验信息。可以理解,该数据定位请求可用于指示备份查验节点基于其备份的目标校验信息对目标业务数据进行数据查验。由此可见,即使某些业务节点失效后无法进行原文查验,但通过几个查验节点的备份存储,查验网络仍可以保证业务数据和历史数据长期可查可验。
此外,本申请实施例还可提供查验网络的数据维护功能,仍以目标查验节点为例,具体来说,通过目标业务处理数据(如电子票据处理数据)可以确定目标业务数据的可查验时间戳(例如时间戳T1),进一步,目标查验节点可以获取共识节点基于目标业务数据的可查验 时间戳所生成的查验时限事件,且在获取到查验时限事件中的可查验时间戳时,若检测到目标业务数据的数据时间戳(如时间戳T2)早于可查验时间戳,则目标查验节点可以确定目标业务数据不能再被查验,此时可以对目标查验节点所存储的目标业务数据标识和目标校验信息进行清除。
例如,假设区块链电子票据系统中的电子票据处理数据决定电子票据的可查验时限为3年,即3年内的电子票据均可查验,则共识节点会定时广播相应的查验时限事件D1,负责查验电子票据D2的查验节点D3可以根据查验时限事件D1中的可查验时限确定该电子票据D2的可查验时间戳,例如,假设该可查验时间戳为2020年1月1日,而该电子票据D2的开票日期为2019年12月1日,则查验节点D3可以将该电子票据D2相关的数据标识和校验信息进行清除。
上述可知,本申请实施例所采用的寻址算法通过跳转到少量的查验节点上就可实现寻址,从而可以提升查验节点的寻址效率,进而可以提高业务数据的查验效率。在寻址成功后,最后定位到的查验节点可以验证业务数据的真实性,并可在需要查验原文时访问相关的业务节点,由此将查验网络和业务SPV节点分离,可以在保证业务数据隐私的前提下,提供稳定的区块链数据查验服务。此外,在查验过程中,通过Chord协议,可以提供查验网络中的节点自动化上下线、数据维护、数据寻址路由的功能,保障整个查验网络的完整性和可用性。即使业务SPV节点失效,查验网络也可以保证业务数据和历史数据长期可查可验。
为便于理解,进一步地,请参见图5,图5是本申请实施例提供的一种区块链电子票据查验的场景示意图。如图5所示的业务节点50A可以作为上述第二业务节点,例如,该业务节点50A可以为上述图1所示的业务网络110中的任一业务节点;共识节点50B可以为上述共识网络200a中的任一共识节点;查验节点50C可以为作为上述目标查验节点,例如,该查验节点50C可以为上述图1所示的查验网络120中的任一查验节点。如图5所示,假设业务节点50A执行发票开具业务后,得到了电子票据X(即前述目标业务数据),且hash(X)=y,即电子票据X的数据标识为y(即前述目标业务数据标识),则共识节点50B在将电子票据X写入对应的区块链后,可以将区块链上电子票据X的校验信息501a(即前述目标校验信息,可包括与电子票据X相关联的默克尔路径、节点签名集合等),通过点对点网络异步同步给哈希距离和y最近的查验节点50C,即此时查验节点50C的节点映射标识为对应环映射空间所指示的寻址方向上距离y最近的节点映射标识,查验节点50C进而可对校验信息501a进行存储。可以理解,考虑到可靠性,除了查验节点50C之外,共识节点50B还会将校验信息501a一并发送给哈希距离和y最近的2~3个查验节点(即前述备份查验节点)备份存储。对于业 务节点50A,其只会同步到电子票据X的数据原文信息501b(如电子票据X的票号、抬头等)。
进一步地,请参见图6,图6是本申请实施例提供的另一种区块链电子票据查验的场景示意图。如图6所示,结合前述图5所对应的实施例,假设用户A(即前述业务对象)拿到了电子票据X,并且想要查验电子票据X在链上(即区块链上)的真实性,此时可以通过业务网络中的业务节点50D,向查验网络中的查验节点50E发送针对电子票据X的数据定位请求,即委托查验节点50E向用户A提供电子票据X真实性的查验证明。其中,业务节点50D可以作为上述第一业务节点,例如,该业务节点50D可以为上述图1所示的业务网络110中的任一业务节点;查验节点50E可以作为上述执行查验节点,例如,该查验节点50E可以为上述图1所示的查验网络120中的任一查验节点。
可以理解,查验节点50E接收到电子票据X的数据定位请求后,可以通过电子票据X的数据标识(即hash(X))来进行寻址,从而可以在查验网络中找到存储有电子票据X的校验信息501a的查验节点50C,进而可以将上述数据定位请求转发给查验节点50C。寻址的具体过程可以参见上述图3所对应的实施例,这里不再进行赘述。进一步地,查验节点50C可以基于其存储的校验信息501a对电子票据X进行数据查验,以实现对该电子票据X的真实性查验,并生成一个电子票据X对应的查验证明信息501c(即查验证明,该查验证明具体可以为前述第一查验证明信息),然后将查验证明信息501c返回给与用户A相关联的业务节点50D。真实性查验的具体过程可以参见上述图4所对应实施例中的相关描述,这里不再进行赘述。
可以理解,查验节点50C中可以记录电子票据X对应的业务节点50A的节点地址501d(即前述业务节点的节点地址,例如具体可以为业务节点50A的IP地址),如果之前业务节点50A(即上述第二业务节点)允许电子票据X的原文被查验,则在对应的电子票据处理数据中就已经注册并设置了其可被查验原文的数据。假设本次针对电子票据X的查验涉及到原文(如查验原文中的某一些字段,而不是整体哈希值),则查验节点50C可以跳转到业务节点50A中进行原文相关的查验。
为便于理解,请一并参见图7,图7是本申请实施例提供的又一种区块链电子票据查验的场景示意图。如图7所示,结合前述图5和图6所对应的实施例,查验节点50C可以向业务节点50A发送针对电子票据X的原文查验请求,随后,业务节点50A可以基于电子票据X的数据原文信息501b对该电子票据X进行原文查验,并可向与用户A相关联的业务节点50D返回电子票据X对应的查验证明信息501e(即查验证明,此时,查验证明具体可以为上述第二查验证明信息)。原文查验的具体过程可以参见上述图4所对应实施例中的相关描述,这里 不再进行赘述。
此外,如果寻址查找不到有效的查验节点存储有电子票据X的校验信息501a,则fallback(即返回)到向共识网络中的共识节点(如前述共识节点50B)请求验证电子票据X的真实性,共识节点进而可以利用区块链上的相关校验信息对电子票据X进行真实性查验。
需要说明的是,本申请实施例中的查验网络是由长期稳定在线的SPV节点组成的,可由官方或者权威联盟成员运行,加入前需满足连续在线一定时限、ping返回延迟低于10ms等条件(即前述查验网络加入条件),否则只执行普通SPV功能,而不加入Chord DHT查验网络。此外,加入查验网络的SPV节点可以根据提供查验服务的次数得到一定的查验报酬。
此外,可由系统中的电子票据处理数据决定电子票据的可查验时限(比如3年内的可查验),此时共识网络会定时发出广播,查验网络中的查验节点可以根据可查验时限进行过去数据的清理。
由此可见,本申请实施例所采用的寻址算法通过跳转到少量的查验节点上就可实现寻址,从而可以提升查验节点的寻址效率,进而可以提高业务数据的查验效率。在寻址成功后,最后定位到的查验节点可以验证业务数据的真实性,并可在需要查验原文时访问相关的业务节点,由此将查验网络和业务SPV节点分离,可以在保证业务数据隐私的前提下,提供稳定的区块链数据查验服务。此外,在查验过程中,通过Chord协议,可以提供查验网络中的节点自动化上下线、数据维护、数据寻址路由的功能,保障整个查验网络的完整性和可用性。即使业务SPV节点失效,查验网络也可以保证业务数据和历史数据长期可查可验。
为便于理解,进一步地,请参见图8,图8是本申请实施例提供的一种区块链电子票据场景下的系统架构图。如图8所示,本申请实施例中的业务层、路由代理层以及共识层组成了整个完整区块链业务体系。图8所示的核心链1、核心链2、…以及核心链N分别为不同区域的税局所维护的目标区块链。其中,本申请实施例中的业务数据(例如,业务数据Y)可以包括在执行票据业务(如电子票据转移业务)时所生成的业务执行结果和读写状态数据。
可以理解的是,当区块链被用于政务机构(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,可以采用本申请实施例中的“业务网络—共识网络”(即前述分层链网络)这一分层区块链结构,以适配相关产业区块链产线现实网络布局的具体要求(如内外网,业务网、办公网分隔等),同时可以保证核心共识算法的高效执行。
其中,业务层处于见证网络(即业务网络)中,该业务层中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指税局专网中的地方税局,企业用户可以为公有云中的开票服务商、报销服务商或 者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,该业务网络中的多个业务节点均为第二类业务节点,且这里的第一类业务节点是从业务网络所包含的多个业务节点中所选取的用于执行数据查验业务的业务节点,即这里的第一类业务节点主要用于同步和自己节点的地址空间(可用对应的节点映射标识指示)相近的业务数据的业务数据标识(如该业务数据的哈希值),并向外提供查验功能;第二类业务节点主要用于在执行上述清分同步操作时,通过共识节点同步清分到和自己有关的业务数据。
其中,路由代理层中的N个中继节点(即路由节点)可以用于对业务层和共识层进行网络隔离。其中,每个中继节点可以具有点对点服务、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在点对点网络中的服务,基于一类特定的网络协议,点对点网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点具有的基本功能,可以用于节点之间的通信。与证书缓存相关联的证书,可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(Certificate Authority,CA)。认证服务可以用于验证接收到的数据的数据格式、节点合法性等。可以理解的是,在本申请实施例中,中继节点可以将第二类业务节点(例如,上述第二业务节点)所提交的业务数据转发至共识节点。
其中,共识层中的共识节点(即记账节点)可以为税务专网中的可信节点。可以理解的是,每个共识节点均具有打包出块的能力,即可以对通过共识的业务数据进行打包出块,对相关的读写状态数据进行存储,或者,对业务执行结果以及读写状态数据均进行打包出块,以成功写入共识层中的目标区块链中。
由此可见,在本申请实施例中,本申请实施例通过在业务网络所在的业务层中引入查验网络的情况下,可以通过查验网络中的M个查验节点,对外向业务网络中的任意一个业务节点提供数据查验功能。其中,对于查验网络中的执行查验节点而言,该执行查验节点在通过上述节点路由列表继续寻址时,一旦确定该目标查验节点的第二节点映射标识为在第二顺序上所查找到的与目标业务数据标识距离最近的节点映射标识,则该目标查验节点可以接收到由执行查验节点所转发的携带目标业务数据标识的数据定位请求,然后目标查验节点可以进一步在基于数据定位请求确定该第二节点映射标识为寻址方向上距离目标业务数据标识最近的节点映射标识时,验证目标业务数据的真实性。应当理解,本申请实施例可以通过对部署在业务层中的查验网络进行节点映射处理和寻址操作,可以通过该查验网络对应的环映射空 间中帮助执行查验节点快速定位到目标查验节点,进而可以通过跳转到目标查验节点上实现寻址,从而可以提升查验节点的寻址效率,进而可以提高业务数据的查验效率。进一步的,目标查验节点还可以在寻址成功后,进一步通过该目标查验节点来验证业务数据的真实性,并可在需要查验原文时访问相关的业务节点,通过将查验网络和业务SPV节点所在的业务网络进行网络分离,实现在保证业务网络中的业务节点上所存储的业务数据隐私的前提下,一并通过查验网络提供稳定的区块链数据查验服务。此外,在查验过程中,可以通过Chord协议确保查验网络中的查验节点可以实现自动化上下线、数据维护、数据寻址路由等功能,以保障整个查验网络的完整性和可用性。
请参见图9,是本申请实施例提供的一种基于分层链网络的数据处理装置的结构示意图。如图9所示,基于分层链网络的数据处理装置1可应用于执行查验节点中,该执行查验节点为M个查验节点中用于执行数据查验的查验节点。例如,该执行查验节点可以为上述图1所对应实施例中的查验节点120a。应当理解,该基于分层链网络的数据处理装置1可以是运行于区块链节点(比如,前述查验节点120a)的一个计算机程序(包括程序代码),例如该基于分层链网络的数据处理装置1为一个应用软件;可以理解的是,该基于分层链网络的数据处理装置1可以用于执行本申请实施例提供的基于分层链网络的数据处理方法中的相应步骤。其中,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,M个查验节点中包括用于执行数据查验的执行查验节点,方法由执行查验节点执行包括于M个查验节点中。
如图9所示,该基于分层链网络的数据处理装置1可以包括:请求获取模块11、标识确定模块12、标识查验模块13、第一转发模块14、第二转发模块15、节点变更模块16;
请求获取模块11,用于获取业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
标识确定模块12,用于响应于从数据定位请求中识别出目标业务数据的目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后得到的;
其中,映射空间包括环映射空间,目标业务数据标识是通过将目标业务数据映射到环映射空间后所得到的;
标识确定模块12可以包括:地址获取单元121、地址映射单元122;
地址获取单元121,用于在从数据定位请求中识别出目标业务数据的目标业务数据标识时,获取执行查验节点的第一节点地址;
地址映射单元122,用于将第一节点地址映射到环映射空间中,得到执行查验节点的第一节点映射标识;
地址映射单元122具体用于获取与环映射空间相关联的哈希映射函数,基于哈希映射函数对第一节点地址进行哈希运算,得到执行查验节点的第一节点映射标识;
其中,哈希映射函数还用于对目标业务数据进行哈希运算,得到目标业务数据的目标业务数据标识。
其中,地址获取单元121、地址映射单元122的具体实现方式,可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
标识查验模块13,用于按照节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;
其中,标识查验模块13可以包括:标识获取单元131、标识查验单元132;
标识获取单元131,用于按照节点映射标识进行由小到大排列后的第一顺序,获取与执行查验节点的第一节点地址相关联的资源定位表;
标识获取单元131,还用于在资源定位表所包含的临近节点映射标识中确定目标临近查验节点映射标识;
其中,临近节点映射标识的数量为N个;N为大于1的正整数;
标识获取单元131可以包括:标识查找子单元1311、第一标识确定子单元1312、第二标识确定子单元1313;
标识查找子单元1311,用于在N个临近节点映射标识中,按照第一顺序查找位于第一节点地址之后的第一个节点地址所对应的临近节点映射标识,将查找到的第一个节点地址所对应的临近节点映射标识作为第一临近节点映射标识;
第一标识确定子单元1312,用于获取第一临近节点映射标识对应的第一临近查验节点的节点状态,若第一临近查验节点的节点状态为有效状态,则将第一临近节点映射标识作为目标临近查验节点映射标识;
第二标识确定子单元1313,用于若第一临近查验节点的节点状态为失效状态,则按照第一顺序在除第一临近节点映射标识之外的(N-1)个临近节点映射标识中确定目标临近查验节点映射标识。
其中,标识查找子单元1311、第一标识确定子单元1312、第二标识确定子单元1313的具体实现方式,可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
标识查验单元132,用于基于第一节点映射标识以及目标临近查验节点映射标识,对目标业务数据标识进行数据查验,得到第一数据查验结果。
其中,同步得到的业务数据标识中包含目标同步数据标识,目标同步数据标识是指目标临近查验节点映射标识对应的目标临近查验节点地址上所存储的从区块链上所同步得到的目标链上同步数据信息的目标同步数据标识;
标识查验单元132可以包括:第一寻址子单元1321、第二寻址子单元1322、结果确定子单元1323;
第一寻址子单元1321,用于若目标业务数据标识位于第一节点映射标识和目标临近查验节点映射标识所确定的空间范围内,则确定目标临近查验节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识,且确定在目标同步数据标识中包含有目标业务数据标识,距离是指在目标临近查验节点映射标识与目标业务数据标识为具有相同长度的哈希值时,对目标临近查验节点映射标识和目标业务数据标识进行异或操作所得到的哈希距离;
第二寻址子单元1322,用于若目标业务数据标识位于第一节点映射标识和目标临近查验节点映射标识所确定的空间范围外,则确定在目标同步数据标识中未包含目标业务数据标识;
结果确定子单元1323,用于将在目标同步数据标识中包含有目标业务数据标识时的数据查验结果或在目标同步数据标识中未包含目标业务数据标识时的数据查验结果作为第一数据查验结果。
其中,第一寻址子单元1321、第二寻址子单元1322、结果确定子单元1323的具体实现方式,可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
其中,标识获取单元131、标识查验单元132的具体实现方式,可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
第一转发模块14,用于响应于第一数据查验结果指示同步得到的业务数据标识中未包含目标业务数据标识,获取对应于执行查验节点的节点路由列表,节点路由列表用于记录K个路由节点映射标识,路由节点映射标识为在映射空间中与第一节点映射标识具有预设距离的 查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于映射空间的空间影响参数。
第一转发模块14,还用于在K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的,在映射空间中与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识。
第一转发模块14,还用于向第二节点映射标识所对应的目标查验节点发送数据定位请求,以使目标查验节点对目标业务数据进行数据查验。
其中,第一转发模块14可以包括:标识查找单元141、第一标识确定单元142、第二标识确定单元143;
标识查找单元141,用于在环映射空间中确定与第一顺序相反的第二顺序,将第二顺序所指示的方向确定为寻址方向的反方向,在K个路由节点映射标识中,查找在寻址方向的反方向上与第一节点映射标识距离最大的路由节点映射标识,将查找到的路由节点映射标识作为第一路由节点映射标识;
第一标识确定单元142,用于若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围内,则确定第一路由节点映射标识为在寻址方向的反方向上与目标业务数据标识距离最近的节点映射标识,将第一路由节点映射标识作为第二节点映射标识;
第二标识确定单元143,用于若第一路由节点映射标识位于第一节点映射标识和目标业务数据标识所确定的空间范围外,则在除第一路由节点映射标识之外的(K-1)个路由节点映射标识中确定第二节点映射标识。
其中,标识查找单元141、第一标识确定单元142、第二标识确定单元143的具体实现方式,可以参见上述图3所对应实施例中对步骤S105的描述,这里将不再继续进行赘述。
第二转发模块15,用于在第一数据查验结果指示在目标同步数据标识中包含有目标业务数据标识时,将携带目标业务数据标识的数据定位请求转发给目标临近查验节点映射标识对应的目标临近查验节点,数据定位请求用于指示目标临近查验节点对目标业务数据进行数据查验,目标临近查验节点的节点地址为目标临近查验节点地址。
节点变更模块16,用于向第一临近查验节点发送节点查询请求;节点查询请求用于指示第一临近查验节点返回在第一顺序上位于第一临近节点映射标识对应的节点地址之前的第一个节点地址所对应的前序节点映射标识;若前序节点映射标识与第一节点映射标识不相同,则基于前序节点映射标识对资源定位表和执行查验节点所维护的节点路由列表进行更新。
其中,请求获取模块11、标识确定模块12、标识查验模块13、第一转发模块14、第二转发模块15、节点变更模块16的具体实现方式,可以参见上述图3所对应实施例中对步骤S101-步骤S106的描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
请参见图10,是本申请实施例提供的又一种基于分层链网络的数据处理装置的结构示意图。如图10所示,基于分层链网络的数据处理装置2可应用于目标查验节点中,该目标查验节点具体可以为查验网络(例如,上述查验网络120)中的任意一个查验节点,例如,该目标查验节点可以为上述图1所对应实施例中的查验节点120b。应当理解,该基于分层链网络的数据处理装置2可以是运行于区块链节点(比如,前述查验节点120b)的一个计算机程序(包括程序代码),例如该基于分层链网络的数据处理装置2为一个应用软件;可以理解的是,该基于分层链网络的数据处理装置2可以用于执行本申请实施例提供的基于分层链网络的数据处理方法中的相应步骤。其中,分层链网络包括查验网络、业务网络和共识网络,查验网络和业务网络均部署在分层链网络的业务层中,共识网络部署在独立于业务层的共识层中,且共识网络所维护的区块链用于存储由业务网络中的业务节点所提交的业务的业务数据,查验网络中部署有M个查验节点,M为正整数,目标查验节点包括于M个查验节点中。
如图10所示,该基于分层链网络的数据处理装置2可以包括:请求接收模块21、数据查验模块22、数据同步模块23、原文查验模块24、第三转发模块25、第四转发模块26、数据清除模块27;
请求接收模块21,用于获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求,执行查验节点包括于M个查验节点中,数据定位请求为第一业务节点发送的针对目标业务数据标识对应的目标业务数据的请求,第一业务节点为业务网络中的任意一个业务节点,执行查验节点用于响应于从数据定位请求中识别出目标业务数据标识,在查验网络所对应的映射空间中确定执行查验节点的第一节点映射标识,且按照映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与执行查验节点的第一节点地址相关联的资源定位表对目标业务数据标识进行数据查验,得到第一数据查验结果,映射空间包括M个查验节点分别对应的节点映射标识,节点映射标识是将M个查验节点的节点地址分别映射到映射空间后所得到的,资源定位表用于记录大于第一节点映射标识的临近节点映射标识,临近节点映射标识对应的临近节点地址用于存储从区块链上所同步得到的业务数据的业务数据标识,数据查验结果用于指示同步得到的业务数据标识是否包含目标业务数据标识;第一数据查验结果用于指示执行查验节点在确定同步得到的业务数据标识中未包含目标业务数据 标识时,获取对应于执行查验节点所维护的节点路由列表,在节点路由列表记录到的K个路由节点映射标识中,将在与第一顺序相反的第二顺序上所查找到的与目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;K为大于1的正整数,且K小于或者等于映射空间的空间影响参数;
数据查验模块22,用于在基于数据定位请求确定第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,通过第二节点映射标识所对应的第二节点地址对目标业务数据进行数据查验;
其中,映射空间包括环映射空间,环映射空间的寻址方向是基于第一顺序所指示的方向所确定的。数据查验模块22可以包括:数据查验单元221、证明返回单元222;
数据查验单元221,用于在基于数据定位请求确定第二节点映射标识为寻址方向上距离目标业务数据标识最近的节点映射标识时,基于第二节点地址上所存储的目标校验信息,对目标业务数据进行数据查验,得到第二数据查验结果;
其中,数据查验单元221可以包括:树根校验子单元2211、签名验证子单元2212、时间戳校验子单元2213、证书验证子单元2214;
在一种实施方式中,目标校验信息中包含与目标业务数据相关联的默克尔路径;默克尔路径为一条由目标业务数据所对应的目标业务连接到默克尔树根的路径;默克尔路径上包含用于参与重构默克尔树根所对应的默克尔树的路径哈希值;
树根校验子单元2211,用于从第二节点地址上所存储的目标校验信息中获取默克尔路径,在获取目标业务所对应的目标业务数据的业务哈希值时,从默克尔路径上获取路径哈希值,基于目标业务数据的业务哈希值和默克尔路径,重构得到默克尔树根,将重构得到的默克尔树根确定为待验证树根;
树根校验子单元2211,还用于基于业务哈希值定位到目标业务数据所在目标区块,将在目标区块的区块头信息中所获取到的默克尔树根,确定为待比对获取默克尔树根,将待验证树根与待比对默克尔树根进行比对,得到树根校验结果;
树根校验子单元2211,还用于基于树根校验结果确定第二数据查验结果。
在一种实施方式中,目标校验信息中包含与目标业务数据所在的目标区块相关联的节点签名集合;节点签名集合包括与共识网络中的G个共识节点相关联的G个节点签名信息,一个节点签名信息是由一个共识节点对目标区块进行签名所得到的;G为正整数;
签名验证子单元2212,用于获取G个共识节点分别对应的节点公钥,基于获取到的G个节点公钥,对G个节点签名信息进行节点签名验证,得到节点验签结果;一个共识节点对 应的节点公钥用于对一个节点签名信息进行节点签名验证;
签名验证子单元2212,还用于基于节点验签结果确定第二数据查验结果。
在一种实施方式中,目标校验信息中包含与目标业务数据相关联的第一时间关联信息;第一时间关联信息包含目标业务数据的数据时间戳;
时间戳校验子单元2213,用于从数据定位请求中获取目标业务数据的待验证时间戳,将待验证时间戳与数据时间戳进行比对,得到时间戳校验结果;
时间戳校验子单元2213,还用于基于时间戳校验结果确定第二数据查验结果。
在一种实施方式中,目标校验信息中包含与目标读写状态数据相关联的第二时间关联信息;第二时间关联信息包含共识网络中的共识节点的公钥证书对应的证书有效时长;
证书验证子单元2214,用于将从区块链上所同步来的共识节点的公钥证书作为第一公钥证书;第一公钥证书中包含用于对目标业务数据所在的目标区块相关联的节点签名集合进行节点签名验证的节点公钥;
证书验证子单元2214,还用于获取第一公钥证书的使用时长,将第一公钥证书的使用时长和证书有效时长进行比较,得到证书有效性验证结果;
证书验证子单元2214,还用于基于证书有效性验证结果确定第二数据查验结果。
其中,树根校验子单元2211、签名验证子单元2212、时间戳校验子单元2213、证书验证子单元2214的具体实现方式,可以参见上述图4所对应实施例中对步骤S202的描述,这里将不再继续进行赘述。
证明返回单元222,用于基于第二数据查验结果向业务对象返回目标业务数据对应的第一查验证明信息。
其中,数据查验单元221、证明返回单元222的具体实现方式,可以参见上述图4所对应实施例中对步骤S202的描述,这里将不再继续进行赘述。
其中,目标业务数据是由共识网络中的共识节点调用区块链上的目标业务处理数据执行目标业务后所确定的;目标业务数据包含与目标业务相关联的目标业务执行结果或目标读写状态数据中的一种或多种;目标业务是由第二业务节点所发起的;第二业务节点包括于业务网络中;
数据同步模块23,用于在第二节点映射标识为第一顺序上距离目标业务数据标识最近的节点映射标识时,从区块链上获取目标业务数据标识和目标业务数据的目标校验信息,将目标业务数据标识和目标校验信息存储至第二节点映射标识所对应的第二节点地址;目标校验信息为从区块链上所获取到的目标业务数据的链上校验信息。
其中,业务网络中的第二业务节点存储有从区块链上所同步来的目标业务数据的数据原文信息;目标业务数据的目标校验信息中包含读取附加信息;读取附加信息是由共识网络中的共识节点调用目标业务处理数据,对第二业务节点提交的原文授权信息进行权限注册后所确定的;原文授权信息包括第二业务节点的节点地址;
原文查验模块24,用于在数据查验为针对目标业务数据的数据原文信息进行原文查验时,获取存储有目标业务数据的数据原文信息的业务节点的节点地址;
原文查验模块24,还用于在业务节点的节点地址为第二业务节点的节点地址时,基于读取附加信息,向业务节点地址对应的第二业务节点发送针对目标业务数据的原文查验请求;原文查验请求用于指示第二业务节点基于目标业务数据的数据原文信息对目标业务数据进行原文查验,得到第三数据查验结果,且基于第三数据查验结果向业务对象返回目标业务数据对应的第二查验证明信息。
第三转发模块25,用于在M个查验节点中未查找到存储有目标校验信息的查验节点时,将携带目标业务数据标识的数据定位请求转发给共识网络中的共识节点,以使共识节点基于数据定位请求对目标业务数据进行数据查验。
第四转发模块26,用于若目标查验节点的节点状态为失效状态或者目标查验节点所存储的目标业务数据的目标校验信息为缺损信息,则将携带目标业务数据标识的数据定位请求转发给备份查验节点;备份查验节点的节点映射标识为除第二节点映射标识之外,在第一顺序上距离目标业务数据标识最近的节点映射标识;备份查验节点用于备份目标校验信息;数据定位请求用于指示备份查验节点基于备份的目标校验信息对目标业务数据进行数据查验。
其中,目标业务处理数据用于确定目标业务数据的可查验时间戳;
数据清除模块27,用于获取共识网络中的共识节点基于目标业务数据的可查验时间戳所生成的查验时限事件,在获取到查验时限事件中的可查验时间戳时,若目标业务数据的数据时间戳早于可查验时间戳,则对目标业务数据标识和目标校验信息进行清除。
其中,请求接收模块21、数据查验模块22、数据同步模块23、原文查验模块24、第三转发模块25、第四转发模块26、数据清除模块27的具体实现方式,可以参见上述图4所对应实施例中对步骤S201-步骤S202的描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
请参见图11,是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用 于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard)。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行前文图3、图4任一个所对应实施例中对该基于分层链网络的数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于分层链网络的数据处理装置1和基于分层链网络的数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3、图4任一个所对应实施例中对基于分层链网络的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的基于分层链网络的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图3、图4任一个所对应实施例提供的方法。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图12,图12是本申请实施例提供的一种基于分层链网络的数据处理系统的结构示意图。如图12所示,该基于分层链网络的数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图9所对应实施例中的基于分层链网络的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的查验节点20A,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图10所对应实施例中的基于分层链网络的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图2对应实施例中的查验节点20B,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的基于分层链网络的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (20)

  1. 一种基于分层链网络的数据处理方法,所述方法由执行查验节点执行,其特征在于,所述分层链网络包括查验网络、业务网络和共识网络,所述查验网络和所述业务网络均部署在所述分层链网络的业务层中,所述共识网络部署在独立于所述业务层的共识层中,且所述共识网络所维护的区块链用于存储由所述业务网络中的业务节点所提交的业务的业务数据,所述查验网络中部署有M个查验节点,M为正整数,所述执行查验节点包括于所述M个查验节点中,方法包括:
    获取所述业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
    响应于从所述数据定位请求中识别出所述目标业务数据的目标业务数据标识,在所述查验网络所对应的映射空间中确定所述执行查验节点的第一节点映射标识,所述映射空间包括所述M个查验节点分别对应的节点映射标识,所述节点映射标识是将所述M个查验节点的节点地址分别映射到所述映射空间后得到的;
    按照所述节点映射标识进行由小到大排列后的第一顺序,通过与所述执行查验节点的第一节点地址相关联的资源定位表对所述目标业务数据标识进行数据查验,得到第一数据查验结果,所述资源定位表用于记录大于所述第一节点映射标识的临近节点映射标识,所述临近节点映射标识对应的临近节点地址用于存储从所述区块链上所同步得到的所述业务数据的业务数据标识,所述数据查验结果用于指示所述同步得到的业务数据标识是否包含所述目标业务数据标识;
    响应于所述第一数据查验结果指示所述同步得到的业务数据标识中未包含所述目标业务数据标识,获取对应于所述执行查验节点的节点路由列表,所述节点路由列表用于记录K个路由节点映射标识,所述路由节点映射标识为在所述映射空间中与所述第一节点映射标识具有预设距离的查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于所述映射空间的空间影响参数;
    在所述K个路由节点映射标识中,将在与所述第一顺序相反的第二顺序上所查找到的,在所述映射空间中与所述目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;
    向所述第二节点映射标识所对应的目标查验节点发送数据定位请求,以使所述目标查验节点对所述目标业务数据进行所述数据查验。
  2. 根据权利要求1所述的方法,其特征在于,所述映射空间包括环映射空间,所述目标 业务数据标识是通过将所述目标业务数据映射到所述环映射空间后所得到的;
    响应于从所述数据定位请求中识别出所述目标业务数据的目标业务数据标识,在所述查验网络所对应的映射空间中确定所述执行查验节点的第一节点映射标识,包括:
    在从所述数据定位请求中识别出所述目标业务数据的所述目标业务数据标识时,获取所述执行查验节点的第一节点地址;
    将所述第一节点地址映射到所述环映射空间中,得到所述执行查验节点的第一节点映射标识。
  3. 根据权利要求1-2任一项所述的方法,其特征在于,所述按照所述节点映射标识进行由小到大排列后的第一顺序,通过与所述执行查验节点的第一节点地址相关联的资源定位表对所述目标业务数据标识进行数据查验,得到第一数据查验结果,包括:
    按照所述节点映射标识进行由小到大排列后的第一顺序,获取与所述执行查验节点的第一节点地址相关联的资源定位表;
    在所述资源定位表所包含的临近节点映射标识中确定目标临近查验节点映射标识;
    基于所述第一节点映射标识以及所述目标临近查验节点映射标识,对所述目标业务数据标识进行数据查验,得到第一数据查验结果。
  4. 根据权利要求3所述的方法,其特征在于,所述同步得到的业务数据标识中包含目标同步数据标识,所述目标同步数据标识是指所述目标临近查验节点映射标识对应的目标临近查验节点地址上所存储的从所述区块链上所同步得到的目标链上同步数据信息的目标同步数据标识;
    所述基于所述第一节点映射标识以及所述目标临近查验节点映射标识,对所述目标业务数据标识进行数据查验,得到第一数据查验结果,包括:
    若所述目标业务数据标识位于所述第一节点映射标识和所述目标临近查验节点映射标识所确定的空间范围内,则确定所述目标临近查验节点映射标识为所述第一顺序上距离所述目标业务数据标识最近的节点映射标识,且确定在所述目标同步数据标识中包含有所述目标业务数据标识,所述距离是指在所述目标临近查验节点映射标识与所述目标业务数据标识为具有相同长度的哈希值时,对所述目标临近查验节点映射标识和所述目标业务数据标识进行异或操作所得到的哈希距离;
    若所述目标业务数据标识位于所述第一节点映射标识和所述目标临近查验节点映射标识 所确定的空间范围外,则确定在所述目标同步数据标识中未包含所述目标业务数据标识;
    将在所述目标同步数据标识中包含有所述目标业务数据标识时的数据查验结果或在所述目标同步数据标识中未包含所述目标业务数据标识时的数据查验结果作为第一数据查验结果。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    在所述第一数据查验结果指示在所述目标同步数据标识中包含有所述目标业务数据标识时,将携带所述目标业务数据标识的所述数据定位请求转发给所述目标临近查验节点映射标识对应的目标临近查验节点,所述数据定位请求用于指示所述目标临近查验节点对所述目标业务数据进行所述数据查验,所述目标临近查验节点的节点地址为所述目标临近查验节点地址。
  6. 根据权利要求3所述的方法,其特征在于,所述临近节点映射标识的数量为N个,N为大于1的正整数;
    所述在所述资源定位表所包含的临近节点映射标识中确定目标临近查验节点映射标识,包括:
    在N个临近节点映射标识中,按照所述第一顺序查找位于所述第一节点地址之后的第一个节点地址所对应的临近节点映射标识,将查找到的第一个节点地址所对应的临近节点映射标识作为第一临近节点映射标识;
    获取所述第一临近节点映射标识对应的第一临近查验节点的节点状态,若所述第一临近查验节点的节点状态为有效状态,则将所述第一临近节点映射标识作为目标临近查验节点映射标识;
    若所述第一临近查验节点的节点状态为失效状态,则按照所述第一顺序在除所述第一临近节点映射标识之外的(N-1)个临近节点映射标识中确定目标临近查验节点映射标识。
  7. 根据权利要求1-2任一项所述的方法,其特征在于,所述映射空间包括环映射空间,所述环映射空间的寻址方向是基于所述第一顺序所指示的方向所确定的;
    所述在所述K个路由节点映射标识中,将在与所述第一顺序相反的第二顺序上所查找到的,在所述环映射空间中与所述目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识,包括:
    在所述环映射空间中确定与所述第一顺序相反的第二顺序,将所述第二顺序所指示的方 向确定为所述寻址方向的反方向,在所述K个路由节点映射标识中,查找在所述寻址方向的反方向上与所述第一节点映射标识距离最大的路由节点映射标识,将查找到的路由节点映射标识作为第一路由节点映射标识;
    若所述第一路由节点映射标识位于所述第一节点映射标识和所述目标业务数据标识所确定的空间范围内,则确定所述第一路由节点映射标识为在所述寻址方向的反方向上与所述目标业务数据标识距离最近的节点映射标识,将所述第一路由节点映射标识作为第二节点映射标识;
    若所述第一路由节点映射标识位于所述第一节点映射标识和所述目标业务数据标识所确定的空间范围外,则在除所述第一路由节点映射标识之外的(K-1)个路由节点映射标识中确定第二节点映射标识。
  8. 一种基于分层链网络的数据处理方法,所述方法由目标查验节点执行,其特征在于,所述分层链网络包括查验网络、业务网络和共识网络,所述查验网络和所述业务网络均部署在所述分层链网络的业务层中,所述共识网络部署在独立于所述业务层的共识层中,且所述共识网络所维护的区块链用于存储由所述业务网络中的业务节点所提交的业务的业务数据,所述查验网络中部署有M个查验节点,M为正整数,所述目标查验节点包括于所述M个查验节点中,所述方法包括:
    获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求,所述执行查验节点包括于所述M个查验节点中,所述数据定位请求为第一业务节点发送的针对所述目标业务数据标识对应的目标业务数据的请求,所述第一业务节点为所述业务网络中的任意一个业务节点,所述执行查验节点用于响应于从所述数据定位请求中识别出所述目标业务数据标识,在所述查验网络所对应的映射空间中确定所述执行查验节点的第一节点映射标识,且按照所述映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与所述执行查验节点的第一节点地址相关联的资源定位表对所述目标业务数据标识进行数据查验,得到第一数据查验结果,所述映射空间包括所述M个查验节点分别对应的节点映射标识,所述节点映射标识是将所述M个查验节点的节点地址分别映射到所述映射空间后所得到的,所述资源定位表用于记录大于所述第一节点映射标识的临近节点映射标识,所述临近节点映射标识对应的临近节点地址用于存储从所述区块链上所同步得到的所述业务数据的业务数据标识,所述数据查验结果用于指示所述同步得到的业务数据标识是否包含所述目标业务数据标识;所述第一数据查验结果用于指示所述执行查验节点在确定所述同步得到的业务数据标识 中未包含所述目标业务数据标识时,获取对应于所述执行查验节点所维护的节点路由列表,在所述节点路由列表记录到的K个路由节点映射标识中,将在与所述第一顺序相反的第二顺序上所查找到的与所述目标业务数据标识距离最近的路由节点映射标识,确定为所述第二节点映射标识;K为大于1的正整数,且K小于或者等于所述映射空间的空间影响参数;
    在基于所述数据定位请求确定所述第二节点映射标识为所述第一顺序上距离所述目标业务数据标识最近的节点映射标识时,通过所述第二节点映射标识所对应的第二节点地址对所述目标业务数据进行所述数据查验。
  9. 根据权利要求8所述的方法,其特征在于,所述目标业务数据是由所述共识网络中的共识节点调用所述区块链上的目标业务处理数据执行目标业务后所确定的;所述目标业务是由第二业务节点所发起的;所述第二业务节点包括于所述业务网络中的业务节点;
    所述方法还包括:
    在所述第二节点映射标识为所述第一顺序上距离所述目标业务数据标识最近的节点映射标识时,从所述区块链上获取所述目标业务数据标识和所述目标业务数据的目标校验信息,将所述目标业务数据标识和所述目标校验信息存储至所述第二节点映射标识所对应的第二节点地址;所述目标校验信息为从所述区块链上所获取到的所述目标业务数据的链上校验信息。
  10. 根据权利要求8-9任一项所述的方法,其特征在于,所述映射空间包括环映射空间,所述环映射空间的寻址方向是基于所述第一顺序所指示的方向所确定的;
    所述在基于所述数据定位请求确定所述第二节点映射标识为所述第一顺序上距离所述目标业务数据标识最近的节点映射标识时,通过所述第二节点映射标识所对应的第二节点地址对所述目标业务数据进行数据查验,包括:
    在基于所述数据定位请求确定所述第二节点映射标识为所述寻址方向上距离所述目标业务数据标识最近的节点映射标识时,基于所述第二节点地址上所存储的所述目标校验信息,对所述目标业务数据进行数据查验,得到第二数据查验结果;
    基于所述第二数据查验结果向所述业务对象返回所述目标业务数据对应的第一查验证明信息。
  11. 根据权利要求10所述的方法,其特征在于,所述目标校验信息中包含与所述目标业务数据相关联的默克尔路径;所述默克尔路径为一条由所述目标业务数据所对应的目标业务 连接到默克尔树根的路径;所述默克尔路径上包含用于参与重构所述默克尔树根所对应的默克尔树的路径哈希值;
    所述基于所述第二节点地址上所存储的所述目标校验信息,对所述目标业务数据进行数据查验,得到第二数据查验结果,包括:
    从所述第二节点地址上所存储的所述目标校验信息中获取所述默克尔路径,在获取所述目标业务所对应的所述目标业务数据的业务哈希值时,从所述默克尔路径上获取所述路径哈希值,基于所述目标业务数据的业务哈希值和所述路径哈希值,重构得到所述默克尔树根,将重构得到的所述默克尔树根确定为待验证树根;
    基于所述业务哈希值定位到所述目标业务数据所在目标区块,将在所述目标区块的区块头信息中所获取到的默克尔树根,确定为待比对默克尔树根,将所述待验证树根与所述待比对默克尔树根进行比对,得到树根校验结果;
    基于所述树根校验结果确定所述第二数据查验结果。
  12. 根据权利要求10所述的方法,其特征在于,所述目标校验信息中包含与所述目标业务数据所在的目标区块相关联的节点签名集合;所述节点签名集合包括与所述共识网络中的G个共识节点相关联的G个节点签名信息,一个节点签名信息是由一个共识节点对所述目标区块进行签名所得到的;G为正整数;
    所述基于所述第二节点地址上所存储的所述目标校验信息,对所述目标业务数据进行数据查验,得到第二数据查验结果,包括:
    获取所述G个共识节点分别对应的节点公钥,基于获取到的G个节点公钥,对所述G个节点签名信息进行节点签名验证,得到节点验签结果;一个共识节点对应的节点公钥用于对一个节点签名信息进行节点签名验证;
    基于所述节点验签结果确定所述第二数据查验结果。
  13. 根据权利要求8-10任一项所述的方法,其特征在于,所述业务网络中的第二业务节点存储有从所述区块链上所同步来的所述目标业务数据的数据原文信息;所述目标业务数据的目标校验信息中包含读取附加信息;所述读取附加信息是由所述共识网络中的共识节点调用目标业务处理数据,对所述第二业务节点提交的原文授权信息进行权限注册后所确定的;所述原文授权信息包括所述第二业务节点的节点地址;
    所述方法还包括:
    在所述数据查验为针对所述目标业务数据的数据原文信息进行原文查验时,获取存储有所述目标业务数据的数据原文信息的业务节点的节点地址;
    在所述业务节点的节点地址为所述第二业务节点的节点地址时,基于所述读取附加信息,向所述第二业务节点发送针对所述目标业务数据的原文查验请求;所述原文查验请求用于指示所述第二业务节点基于所述目标业务数据的数据原文信息对所述目标业务数据进行原文查验,得到第三数据查验结果,且基于所述第三数据查验结果向所述业务对象返回所述目标业务数据对应的第二查验证明信息。
  14. 根据权利要求8-12任一项所述的方法,其特征在于,所述方法还包括:
    在所述M个查验节点中未查找到存储有所述目标业务数据的目标校验信息的查验节点时,将携带所述目标业务数据标识的所述数据定位请求转发给所述共识网络中的共识节点,以使所述共识节点基于所述数据定位请求对所述目标业务数据进行数据查验。
  15. 根据权利要求8-12任一项所述的方法,其特征在于,还包括:
    若所述目标查验节点的节点状态为失效状态或者所述目标查验节点所存储的所述目标业务数据的目标校验信息为缺损信息,则将携带所述目标业务数据标识的所述数据定位请求转发给备份查验节点;所述备份查验节点的节点映射标识为除所述第二节点映射标识之外,在所述第一顺序上距离所述目标业务数据标识最近的节点映射标识;所述备份查验节点用于备份所述目标校验信息;所述数据定位请求用于指示所述备份查验节点基于备份的所述目标校验信息对所述目标业务数据进行数据查验。
  16. 根据权利要求8-12任一项所述的方法,其特征在于,所述目标业务处理数据用于确定所述目标业务数据的可查验时间戳;所述方法还包括:
    获取所述共识网络中的共识节点基于所述目标业务数据的可查验时间戳所生成的查验时限事件,在获取到所述查验时限事件中的所述可查验时间戳时,若所述目标业务数据的数据时间戳早于所述可查验时间戳,则对所述目标业务数据标识和所述目标校验信息进行清除。
  17. 一种基于分层链网络的数据处理装置,所述装置运行在执行查验节点中,其特征在于,所述分层链网络包括查验网络、业务网络和共识网络,所述查验网络和所述业务网络均部署在所述分层链网络的业务层中,所述共识网络部署在独立于所述业务层的共识层中,且 所述共识网络所维护的区块链用于存储由所述业务网络中的业务节点所提交的业务的业务数据,所述查验网络中部署有M个查验节点,M为正整数,所述执行查验节点包括于所述M个查验节点中,所述装置包括:
    请求获取模块,用于获取所述业务网络中的第一业务节点发送的针对目标业务数据的数据定位请求;
    标识确定模块,用于响应于从所述数据定位请求中识别出所述目标业务数据的目标业务数据标识,在所述查验网络所对应的映射空间中确定所述执行查验节点的第一节点映射标识,所述映射空间包括所述M个查验节点分别对应的节点映射标识,所述节点映射标识是将所述M个查验节点的节点地址分别映射到所述映射空间后得到的;
    标识查验模块,用于按照所述节点映射标识进行由小到大排列后的第一顺序,通过与所述执行查验节点的第一节点地址相关联的资源定位表对所述目标业务数据标识进行数据查验,得到第一数据查验结果,所述资源定位表用于记录大于所述第一节点映射标识的临近节点映射标识,所述临近节点映射标识对应的临近节点地址用于存储从所述区块链上所同步得到的所述业务数据的业务数据标识,所述数据查验结果用于指示所述同步得到的业务数据标识是否包含所述目标业务数据标识;
    第一转发模块,用于响应于所述第一数据查验结果指示所述同步得到的业务数据标识中未包含所述目标业务数据标识,获取对应于所述执行查验节点的节点路由列表,所述节点路由列表用于记录K个路由节点映射标识,所述路由节点映射标识为在所述映射空间中与所述第一节点映射标识具有预设距离的查验节点的节点映射标识,K为大于1的正整数,且K小于或者等于所述映射空间的空间影响参数;
    第一转发模块,用于在所述K个路由节点映射标识中,将在与所述第一顺序相反的第二顺序上所查找到的,在所述映射空间中与所述目标业务数据标识距离最近的路由节点映射标识,确定为第二节点映射标识;
    第一转发模块,用于向所述第二节点映射标识所对应的目标查验节点发送数据定位请求,以使所述目标查验节点对所述目标业务数据进行所述数据查验。
  18. 一种基于分层链网络的数据处理装置,所述装置运行在所述目标查验节点中,其特征在于,所述分层链网络包括查验网络、业务网络和共识网络,所述查验网络和所述业务网络均部署在所述分层链网络的业务层中,所述共识网络部署在独立于所述业务层的共识层中,且所述共识网络所维护的区块链用于存储由所述业务网络中的业务节点所提交的业务的业务 数据,所述查验网络中部署有M个查验节点,M为正整数,所述目标查验节点包括于所述M个查验节点中,所述装置包括:
    请求接收模块,用于获取执行查验节点基于第二节点映射标识转发的携带目标业务数据标识的数据定位请求,所述执行查验节点包括于所述M个查验节点中,所述数据定位请求为第一业务节点发送的针对所述目标业务数据标识对应的目标业务数据的请求,所述第一业务节点为所述业务网络中的任意一个业务节点,所述执行查验节点用于响应于从所述数据定位请求中识别出所述目标业务数据标识,在所述查验网络所对应的映射空间中确定所述执行查验节点的第一节点映射标识,且按照所述映射空间中的节点映射标识进行由小到大排列后的第一顺序,通过与所述执行查验节点的第一节点地址相关联的资源定位表对所述目标业务数据标识进行数据查验,得到第一数据查验结果,所述映射空间包括所述M个查验节点分别对应的节点映射标识,所述节点映射标识是将所述M个查验节点的节点地址分别映射到所述映射空间后所得到的,所述资源定位表用于记录大于所述第一节点映射标识的临近节点映射标识,所述临近节点映射标识对应的临近节点地址用于存储从所述区块链上所同步得到的所述业务数据的业务数据标识,所述数据查验结果用于指示所述同步得到的业务数据标识是否包含所述目标业务数据标识;所述第一数据查验结果用于指示所述执行查验节点在确定所述同步得到的业务数据标识中未包含所述目标业务数据标识时,获取对应于所述执行查验节点所维护的节点路由列表,在所述节点路由列表记录到的K个路由节点映射标识中,将在与所述第一顺序相反的第二顺序上所查找到的与所述目标业务数据标识距离最近的路由节点映射标识,确定为所述第二节点映射标识;K为大于1的正整数,且K小于或者等于所述映射空间的空间影响参数;
    数据查验模块,用于在基于所述数据定位请求确定所述第二节点映射标识为所述第一顺序上距离所述目标业务数据标识最近的节点映射标识时,通过所述第二节点映射标识所对应的第二节点地址对所述目标业务数据进行所述数据查验。
  19. 一种计算机设备,其特征在于,包括:处理器和存储器;
    处理器与存储器相连,其中,存储器用于存储计算机程序,处理器用于调用计算机程序,以使计算机设备执行权利要求1-16任一项的方法。
  20. 一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使具有处理器的计算机设备执行权利要求1-16任 一项的方法。
PCT/CN2024/071989 2023-01-17 2024-01-12 一种基于分层链网络的数据处理方法、装置、设备及介质 WO2024153001A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310089052.XA CN118368341A (zh) 2023-01-17 2023-01-17 一种基于分层链网络的数据处理方法、装置、设备及介质
CN202310089052.X 2023-01-17

Publications (1)

Publication Number Publication Date
WO2024153001A1 true WO2024153001A1 (zh) 2024-07-25

Family

ID=91882730

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/071989 WO2024153001A1 (zh) 2023-01-17 2024-01-12 一种基于分层链网络的数据处理方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN118368341A (zh)
WO (1) WO2024153001A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118694682A (zh) * 2024-08-23 2024-09-24 成都市蓉通数智信息技术有限公司 基于人工智能的自动监控预警系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656765A (zh) * 2009-09-14 2010-02-24 中兴通讯股份有限公司 身份位置分离网络的名址映射系统及数据传输方法
US20180260909A1 (en) * 2017-03-08 2018-09-13 Alibaba Group Holding Limited Handing requests in a consensus network
CN111507815A (zh) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 基于区块链的信息获取方法、装置、设备及存储介质
CN112837162A (zh) * 2021-03-12 2021-05-25 中国工商银行股份有限公司 一种基于区块链的数据交互方法、节点及系统
CN114760325A (zh) * 2020-12-25 2022-07-15 中移动信息技术有限公司 业务数据处理方法、设备、存储介质及共享平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656765A (zh) * 2009-09-14 2010-02-24 中兴通讯股份有限公司 身份位置分离网络的名址映射系统及数据传输方法
US20180260909A1 (en) * 2017-03-08 2018-09-13 Alibaba Group Holding Limited Handing requests in a consensus network
CN111507815A (zh) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 基于区块链的信息获取方法、装置、设备及存储介质
CN114760325A (zh) * 2020-12-25 2022-07-15 中移动信息技术有限公司 业务数据处理方法、设备、存储介质及共享平台
CN112837162A (zh) * 2021-03-12 2021-05-25 中国工商银行股份有限公司 一种基于区块链的数据交互方法、节点及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118694682A (zh) * 2024-08-23 2024-09-24 成都市蓉通数智信息技术有限公司 基于人工智能的自动监控预警系统

Also Published As

Publication number Publication date
CN118368341A (zh) 2024-07-19

Similar Documents

Publication Publication Date Title
EP3438903B1 (en) Hierarchical network system, and node and program used in same
US11153069B2 (en) Data authentication using a blockchain approach
US20190102163A1 (en) System and Method for a Blockchain-Supported Programmable Information Management and Data Distribution System
US11461310B2 (en) Distributed ledger technology
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN112685505B (zh) 一种交易数据处理方法、装置、计算机设备及存储介质
CN110771127B (zh) 用于区块链网络中一致分布式内存池的方法和系统
US10693646B2 (en) Event execution using a blockchain approach
US20230315891A1 (en) Transaction data processing method and apparatus, computer device and storage medium
US20210150558A1 (en) Method, apparatus, and electronic device for resource allocation based on blockchain
CN110741372A (zh) 用于管理区块链网络上的交易的计算机实现的系统和方法
US20240232223A1 (en) Data synchronization method and system based on blockchain, and related device
JP2023542681A (ja) ブロックチェーンの許可フレームワークへのデバイスアイデンティティの統合
KR102139551B1 (ko) 유언장을 관리하는 서버 및 방법
CN113765675B (zh) 一种交易数据处理方法、装置、设备以及介质
KR20220139871A (ko) 블록체인 네트워크에서 사용하기 위한 증명 서비스
CN110597922A (zh) 数据处理方法、装置、终端及存储介质
Qin et al. A secure and effective construction scheme for blockchain networks
US20220284129A1 (en) Verifiable Splitting of Single-Instance Data Using Sharded Blockchain
EP4254247A1 (en) Atomic multi-unit transfer of single-instance data units in sharded blockchain
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
WO2023082883A1 (zh) 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品
WO2024153001A1 (zh) 一种基于分层链网络的数据处理方法、装置、设备及介质
US20240242204A1 (en) Blockchain-Based System for Management of Digital Tokens
WO2024093593A1 (zh) 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品

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: 24744177

Country of ref document: EP

Kind code of ref document: A1