CN112231414B - Data synchronization method and device of block chain system, readable medium and electronic equipment - Google Patents

Data synchronization method and device of block chain system, readable medium and electronic equipment Download PDF

Info

Publication number
CN112231414B
CN112231414B CN202011466724.7A CN202011466724A CN112231414B CN 112231414 B CN112231414 B CN 112231414B CN 202011466724 A CN202011466724 A CN 202011466724A CN 112231414 B CN112231414 B CN 112231414B
Authority
CN
China
Prior art keywords
node
accounting
block data
nodes
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011466724.7A
Other languages
Chinese (zh)
Other versions
CN112231414A (en
Inventor
朱耿良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011466724.7A priority Critical patent/CN112231414B/en
Publication of CN112231414A publication Critical patent/CN112231414A/en
Application granted granted Critical
Publication of CN112231414B publication Critical patent/CN112231414B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

Embodiments of the present application provide a data synchronization method, apparatus, readable medium and electronic device for a blockchain system, where the blockchain system includes a billing node sub-network and a service node sub-network, and the method includes: receiving the same block data respectively pushed by a plurality of accounting nodes related to the target service node in the accounting node sub-network; selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes; returning response messages to the plurality of accounting nodes so that the accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing the block data according to the response messages; and receiving block data continuously pushed by the target accounting node so as to synchronize the block data in the accounting node sub-network. The technical scheme of the embodiment of the application improves the synchronization efficiency of the block data.

Description

Data synchronization method and device of block chain system, readable medium and electronic equipment
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a data synchronization method and apparatus for a blockchain system, a readable medium, and an electronic device.
Background
With the continuous development of the blockchain technology, on the blockchain platform, when a certain node device in the blockchain network performs synchronization processing of the blockchain, required blocks are acquired one by one from other node devices (such as a common node device) in the blockchain network, and such a manner is not only too low in synchronization efficiency, but also cannot ensure security of access to other node devices.
Disclosure of Invention
Embodiments of the present application provide a data synchronization method and apparatus for a block chain system, a readable medium, and an electronic device, so as to improve synchronization efficiency of block data at least to a certain extent.
Other features and advantages of the present application will be apparent from the following detailed description, or may be learned by practice of the application.
According to an aspect of the embodiments of the present application, there is provided a data synchronization method for a blockchain system, the blockchain system including a sub-network of accounting nodes and a sub-network of service nodes, the method being performed by a target service node in the sub-network of service nodes, the method including: receiving the same block data respectively pushed by a plurality of accounting nodes related to the target service node in the accounting node sub-network; selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes; returning response messages to the plurality of accounting nodes so that the accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing the block data according to the response messages; and receiving block data continuously pushed by the target accounting node so as to synchronize the block data in the accounting node sub-network.
According to an aspect of embodiments of the present application, there is provided a method of data synchronization for a blockchain system comprising a sub-network of accounting nodes and a sub-network of service nodes, the method performed by a target accounting node in the sub-network of accounting nodes, comprising: pushing block data to the associated service nodes in the service node sub-network; receiving a response message returned by the service node for the block data, wherein the response message is sent by the service node after a target accounting node is selected from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed to the plurality of accounting nodes, and the response message is used for indicating accounting nodes except the target accounting node in the plurality of accounting nodes to stop pushing the block data; if the pushing of the block data needs to be stopped according to the response message, stopping pushing the block data to the service node; and if the block data is determined not to be pushed any more according to the response message, continuing to push the block data to the service node so that the service node synchronizes the block data in the accounting node sub-network.
According to an aspect of the embodiments of the present application, there is provided a data synchronization apparatus of a blockchain system, the blockchain system including a sub-network of accounting nodes and a sub-network of service nodes, the apparatus being disposed in a target service node in the sub-network of service nodes, including: a first receiving unit, configured to receive the same block data respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network; the selecting unit is configured to select a target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes; a returning unit, configured to return a response message to the plurality of accounting nodes, so that accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing block data according to the response message; a second receiving unit configured to receive the block data continuously pushed by the target accounting node so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, based on the foregoing solution, the selecting unit is configured to: calculating the time difference between the receiving time of the same block data respectively pushed by the plurality of accounting nodes and the pushing time of the same block data respectively pushed by the plurality of accounting nodes to obtain the pushing duration respectively corresponding to the plurality of accounting nodes; and taking the accounting node with the shortest push duration corresponding to the plurality of accounting nodes as the target accounting node.
In some embodiments of the present application, based on the foregoing solution, the number of times of receiving the same block of data respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network is multiple; the selection unit includes: the first determining subunit is configured to determine candidate accounting nodes from the plurality of accounting nodes according to the receiving time of the same block of data respectively pushed to the plurality of accounting nodes each time; a second determining subunit configured to determine the target accounting node according to the candidate accounting nodes determined multiple times.
In some embodiments of the present application, based on the foregoing scheme, the second determining subunit is configured to: and according to the candidate accounting nodes determined for multiple times, taking the accounting node determined as the candidate accounting node with the highest frequency as the target accounting node.
In some embodiments of the present application, based on the foregoing solution, after the second receiving unit is configured to receive the block data continuously pushed by the target accounting node, the apparatus further includes: a first reselection unit, configured to, if the block data pushed by the target accounting node is not received within a first preset time, select an accounting node that is not associated with the target service node from the accounting node sub-network for association, and reselect the target accounting node from the accounting nodes associated with the target service node after association; and the third receiving unit is configured to receive the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, based on the foregoing solution, the apparatus further includes: a second reselection unit, configured to reselect a target accounting node from the accounting nodes associated with the target service node if the time length for synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node reaches a second preset time length; and the fourth receiving unit is configured to receive the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, based on the foregoing scheme, the first reselection unit or the second reselection unit is configured to: broadcasting a block data pushing request in the accounting node sub-network so as to enable accounting nodes related to the target service node to push block data; and receiving the same block data pushed by the accounting node related to the target service node, and reselecting the target accounting node from the accounting nodes related to the target service node according to the receiving time of the same block data pushed by the accounting node related to the target service node.
According to an aspect of the embodiments of the present application, there is provided a data synchronization apparatus of a blockchain system, the blockchain system including a sub-network of accounting nodes and a sub-network of service nodes, the apparatus being provided in a target accounting node in the sub-network of accounting nodes, comprising: the data pushing unit is configured to push block data to the associated service nodes in the service node sub-network; a fifth receiving unit, configured to receive a response message returned by the service node for the block data, where the response message is sent after the service node selects an accounting node corresponding to the service node from the multiple accounting nodes according to receiving time of the same block data respectively pushed to the multiple accounting nodes associated with the service node, and the response message is used to instruct accounting nodes other than the accounting node corresponding to the service node from the multiple accounting nodes to stop pushing the block data; a push stopping unit configured to stop pushing the block data to the service node if it is determined that the pushing of the block data needs to be stopped according to the response message; and the continuous pushing unit is configured to continue to push the block data to the service node if the block data does not need to be pushed according to the response message, so that the service node synchronizes the block data in the accounting node sub-network.
In some embodiments of the present application, based on the foregoing scheme, the data pushing unit or the continuing pushing unit is configured to: when block data is pushed to the service nodes in the service node sub-network, the block data is sequentially pushed to each service node according to the pushing sequence corresponding to the service nodes needing to push the block data.
In some embodiments of the present application, based on the foregoing scheme, the data pushing unit or the continuing pushing unit is configured to: and increasing the time delay of pushing the block data when the block data are sequentially pushed to each service node according to the pushing sequence corresponding to the service node needing to push the block data.
In some embodiments of the present application, based on the foregoing scheme, the data pushing unit or the continuing pushing unit is configured to: and increasing the time delay of block data pushing when the block data is pushed to the service nodes in the service node sub-network.
According to an aspect of the embodiments of the present application, there is provided a computer readable medium, on which a computer program is stored, which when executed by a processor, implements the data synchronization method of the blockchain system as described in the above embodiments.
According to an aspect of an embodiment of the present application, there is provided an electronic device including: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the data synchronization method of the blockchain system as described in the above embodiments.
According to an aspect of embodiments herein, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the 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 data synchronization method of the blockchain system provided in the above-mentioned various optional embodiments.
In some embodiments of the present application, in the technical solution, the target service node may receive same block data respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network, then select the target accounting node from the plurality of accounting nodes according to receiving times of the same block data respectively pushed by the plurality of accounting nodes, further return a response message to the plurality of accounting nodes to instruct accounting nodes except the target accounting node to stop pushing the block data according to the response message, and then the target service node may synchronize the block data in the accounting node sub-network according to the received block data continuously pushed by the target accounting node. In the technical scheme of the embodiment of the application, the block chain network comprises the accounting node sub-network and the service node sub-network, the accounting node sub-network identifies the block data and records the block data to the accounting nodes on the block chain, the target service node in the service node sub-network selects the target accounting node from the plurality of accounting nodes related to the accounting node sub-network, the block data in the accounting node sub-network is synchronized by continuously receiving the block data pushed by the target accounting node, the block data do not need to be acquired from each accounting node one by one for synchronization, and the synchronization efficiency of the block data is effectively improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application. It is obvious that the drawings in the following description are only some embodiments of the application, and that for a person skilled in the art, other drawings can be derived from them without inventive effort. In the drawings:
fig. 1 shows a schematic structural diagram of a blockchain network.
Fig. 2 is a schematic diagram illustrating a connection relationship between blocks in a block chain.
Fig. 3 shows a schematic diagram of a process of generating a tile.
Fig. 4A to 4C are architecture diagrams of a blockchain system applied in the embodiment of the present application.
FIG. 5 shows a schematic diagram of an electronic invoice system, according to one embodiment of the present application.
Fig. 6 shows a flow chart of a data synchronization method of a blockchain system according to an embodiment of the present application.
FIG. 7 shows a graph of associations between billing nodes in a billing node sub-network and service nodes in a service node sub-network of an embodiment of the application.
Fig. 8 shows a flow chart of a data synchronization method of a blockchain system according to an embodiment of the present application.
Fig. 9 shows a flow chart of a data synchronization method of a blockchain system according to an embodiment of the present application.
Fig. 10 shows a flow chart of a data synchronization method of a blockchain system according to an embodiment of the present application.
Fig. 11 shows a flow diagram of a data synchronization method of a blockchain system according to an embodiment of the present application.
Fig. 12 shows a block diagram of a data synchronization apparatus of a blockchain system according to an embodiment of the present application.
Fig. 13 shows a block diagram of a data synchronization apparatus of a blockchain system according to an embodiment of the present application.
FIG. 14 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the subject matter of the present application can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the application.
It is to be noted that the terms used in the specification and claims of the present application and the above-described drawings are only for describing the embodiments and are not intended to limit the scope of the present application. It will be understood that the terms "comprises," "comprising," "includes," "including," "has," "having," and the like, when used herein, specify the presence of stated features, integers, steps, operations, elements, components, and/or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It will be further understood that, although the terms first, second, third, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element without departing from the scope of the present invention. Similarly, a second element may be termed a first element. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
It should be noted that: reference herein to "a plurality" means two or more. "and/or" describe the association relationship of the associated objects, meaning that there may be three relationships, e.g., A and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
The Blockchain (Blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like. The blockchain is essentially a decentralized database, which is a series of data blocks (i.e., blocks) associated by using cryptography, each data block containing information of a batch of network transactions for verifying the validity (anti-counterfeiting) of the information and generating the next block. The blockchain may include a blockchain underlying platform, a platform product services layer, and an application services layer.
The block chain underlying platform can comprise processing modules such as user management, basic service, intelligent contract and operation monitoring. The user management module is responsible for identity information management of all blockchain participants, and comprises public and private key generation maintenance (account management), key management, user real identity and blockchain address corresponding relation maintenance (authority management) and the like, and under the authorization condition, the user management module supervises and audits the transaction condition of certain real identities and provides rule configuration (wind control audit) of risk control; the basic service module is deployed on all block chain node equipment and used for verifying the validity of the service request, recording the service request to storage after consensus on the valid request is completed, for a new service request, the basic service firstly performs interface adaptation analysis and authentication processing (interface adaptation), then encrypts service information (consensus management) through a consensus algorithm, transmits the service information to a shared account (network communication) completely and consistently after encryption, and performs recording and storage; the intelligent contract module is responsible for registering and issuing contracts, triggering the contracts and executing the contracts, developers can define contract logics through a certain programming language, issue the contract logics to a block chain (contract registration), call keys or other event triggering and executing according to the logics of contract clauses, complete the contract logics and simultaneously provide the function of upgrading and canceling the contracts; the operation monitoring module is mainly responsible for deployment, configuration modification, contract setting, cloud adaptation in the product release process and visual output of real-time states in product operation, such as: alarm, monitoring network conditions, monitoring node equipment health status, and the like.
The platform product service layer provides basic capability and an implementation framework of typical application, and developers can complete block chain implementation of business logic based on the basic capability and the characteristics of the superposed business. The application service layer provides the application service based on the block chain scheme for the business participants to use.
Referring to the blockchain network shown in fig. 1, a plurality of nodes 101 may be included in the blockchain network, and the plurality of nodes 101 may be respective clients forming the blockchain network. Each node 101 may receive input information and maintain shared data within the blockchain network based on the received input information while operating normally. In order to ensure information intercommunication in the blockchain network, information connection can exist between each node in the blockchain network, and information transmission can be carried out between the nodes through the information connection. For example, when any node in the blockchain network receives input information, other nodes in the blockchain network acquire the input information according to a consensus algorithm, and store the input information as shared data, so that the data stored on all the nodes in the blockchain network are consistent.
Each node in the blockchain network has a corresponding node identifier, and each node in the blockchain network can store the node identifiers of other nodes, so that the generated blocks can be broadcasted to other nodes in the blockchain network according to the node identifiers of other nodes. Each node can maintain a node identification list, and the node name and the node identification are correspondingly stored in the node identification list. The node identifier may be an IP (Internet Protocol) address and any other information that can be used to identify the node.
Each node in the blockchain network stores one identical blockchain. The block chain is composed of a plurality of blocks, as shown in fig. 2, the block chain is composed of a plurality of blocks, the starting block includes a block header and a block main body, the block header stores input information characteristic values, version numbers, timestamps, difficulty values and the like, and the block main body stores input information; the next block of the starting block takes the starting block as a parent block, the next block also comprises a block head and a block main body, the block head stores the input information characteristic value of the current block, the block head characteristic value of the parent block, the version number, the timestamp, the difficulty value and the like, so that the block data stored in each block in the block chain is associated with the block data stored in the parent block, and the safety of the input information in the block is ensured.
When each block in the block chain is generated, referring to fig. 3, when a node where the block chain is located receives input information, the input information is verified, after the verification is completed, the input information is stored in a memory pool, and a hash tree for recording the input information is updated; and then, updating the updating time stamp to the time when the input information is received, trying different random numbers, and calculating the characteristic value for multiple times, so that the calculated characteristic value can meet the following formula:
Figure 748196DEST_PATH_IMAGE001
wherein, SHA256 is a characteristic value algorithm used for calculating a characteristic value; version is version information of the relevant block protocol in the block chain; prev _ hash is a block head characteristic value of a parent block of the current block; merkle _ root is a characteristic value of the input information; ntime is the update time of the update timestamp; nbits is the current difficulty, is a fixed value within a period of time, and is determined again after exceeding a fixed time period; x is a random number; TARGET is a feature threshold, which can be determined from nbits.
Therefore, when the random number meeting the formula is obtained through calculation, the information can be correspondingly stored, and the block head and the block main body are generated to obtain the current block. And then, the node where the block chain is located respectively sends the newly generated blocks to other nodes in the data sharing system where the newly generated blocks are located according to the node identifications of the other nodes in the data sharing system, the newly generated blocks are verified by the other nodes, and the newly generated blocks are added to the block chain stored in the newly generated blocks after the verification is completed.
Each node in the blockchain network may be a server or a terminal device. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a Cloud server providing basic Cloud Computing services such as a Cloud service, a Cloud database, Cloud Computing (Cloud Computing), a Cloud function, Cloud storage, a Network service, Cloud communication, a middleware service, a domain name service, a security service, a Content Delivery Network (CDN), a big data and artificial intelligence platform, and the like. The terminal device may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, and the like. The nodes may be directly or indirectly connected through wired or wireless communication, and the application is not limited herein.
The cloud computing refers to a delivery and use mode of an IT infrastructure, and specifically refers to acquiring required resources in an on-demand and easily-extensible manner through a network; the generalized cloud computing refers to a delivery and use mode of a service, and refers to obtaining a required service in an on-demand and easily-extensible manner through a network. Such services may be IT and software, internet related, or other services. Cloud Computing is a product of development and fusion of traditional computers and Network Technologies, such as Grid Computing (Grid Computing), Distributed Computing (Distributed Computing), Parallel Computing (Parallel Computing), Utility Computing (Utility Computing), Network Storage (Network Storage Technologies), Virtualization (Virtualization), Load balancing (Load Balance), and the like. With the development of diversification of internet, real-time data stream and connecting equipment and the promotion of demands of search service, social network, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Different from the prior parallel distributed computing, the generation of cloud computing can promote the revolutionary change of the whole internet mode and the enterprise management mode in concept.
Based on the blockchain technology, embodiments of the present application provide an architecture of a blockchain system. As shown in fig. 4A, the blockchain system includes a billing node sub-network 2 and a service node sub-network 1. Accounting node sub-network 2 comprises accounting nodes for consensus and recording of block data onto the blockchain, and service node sub-network 1 comprises service nodes for verification of data blocks recorded by the accounting nodes onto the blockchain or for synchronization of corresponding transaction data requested from the accounting nodes.
In one embodiment of the application, billing node sub-network 2 and service node sub-network 1 may be connected via a proxy node 10, and proxy node 10 may be a service node of service node sub-network 1, which is responsible for passing information to be passed by billing node 21 to service node 11. The service node 11 is a terminal of a transaction party generating various transaction data to be linked, and may also be a terminal inquiring transaction data from the accounting node network 2. The transaction data generated by the service node 11 is transmitted to the accounting node 21 through the proxy node 10, and then is recorded on the blockchain after being identified, which is beneficial to the uniform processing and supervision of the transaction data, and the service node 11 can also perform the uplink supervision and witness of the transaction data through the information sent by the accounting node 21 through the proxy node 10, which is very important in some scenes that need uniform supervision but also afraid of collective cheating of the supervised nodes and therefore need supervision.
In the structure shown in fig. 4A, the service node network 1 adopts a P2P (Peer-to-Peer) network mode. The P2P network is a distributed application architecture that distributes tasks and workloads among peers, and is a form of networking or networking that the peer-to-peer computing model forms at the application layer, i.e., "peer-to-peer" or "peer-to-peer" networks. It can be defined as: participants of the network share a portion of the hardware resources (processing power, storage power, network connectivity, printers, etc.) they own, which provide services and content over the network and which can be accessed directly by other peer nodes without going through intermediate entities. Participants in this network are both providers and acquirers of resources, services and content. Therefore, in the service node sub-network 1, when the proxy node 10 receives the message transmitted from the accounting node 21, the message is transmitted to the surrounding service nodes 11, and the surrounding service nodes 11 receive the message and transmit the message to the surrounding service nodes 11, so that the message is transmitted between each service node 11 of the service node sub-network 1.
Fig. 4B shows an architecture of another blockchain system applied in the embodiments of the present application. This architecture differs from that shown in fig. 4A in that: the P2P network mode is not adopted in the service node subnetwork 1, but the mode of the broadcast network is adopted. In particular, proxy node 10, upon receiving the message passed from accounting node 21, broadcasts the message to other service nodes 11 in service node subnetwork 1. In this way, the propagation of the message between each service node 11 of the service node network 1 is also achieved.
Fig. 4C shows an architecture of another blockchain system applied by the embodiment of the present invention. This architecture differs from that shown in fig. 4A in that: its billing node sub-network 2 is divided into a plurality of branched billing node networks. Each network of branch accounting nodes may be responsible for the recording of some type of transaction information. For example, a business may have a supply chain financial transaction and may need to record contract information, credit, etc. generated during supply and marketing to the blockchain, and the business may need to issue invoices and also record invoicing information, invoice reimbursement information, etc. to the blockchain. In this case, in order to facilitate the requirement that the accounting node is supervised by the same department, the accounting node for recording the supply chain financial service transaction and the accounting node for recording the transaction in the invoice circulation process may belong to different departments. For example, the accounting node for recording the supply chain financial service transaction is an accounting terminal set by a bank, and the accounting node for recording the transaction in the invoice circulation process is an accounting terminal set by a national tax bureau. And supply chain financial transaction and recording of transactions during invoicing may also end up on a network of accounting nodes in different branches.
It should be noted that while in the architecture of the blockchain system shown in fig. 4A to 4C, the proxy node 10 is located in the service node sub-network 1, in other embodiments of the present application, the proxy node 10 may also be located in the accounting node sub-network 2, or may be independent of the service node sub-network 1 and the accounting node sub-network 2.
The architecture of the blockchain system shown in fig. 4A to 4C can be applied to the application scenario of electronic invoices, and is described in detail as follows:
in one embodiment of the application, the accounting nodes in the sub-network of accounting nodes may be respective terminals of the tax administration, for example, the sub-network of accounting nodes is formed by using the terminals of the tax administration deployed in a plurality of regions as one accounting node respectively. Each service node in a service node sub-network may be a local tax office terminal, an invoicing agent facilitator terminal, an invoicing enterprise terminal, a personal user terminal, etc.
Specifically, in the electronic invoice system shown in fig. 5, a service layer, a routing agent layer, and a consensus network (billing network) layer may be included. The service layer is a service node sub-network, which includes each service node, such as a local tax bureau in a tax private network; billing facilitators, reimbursement facilitators, enterprises, etc. in the public cloud; payment facilitators, circulation facilitators, businesses, etc. in the private cloud.
The routing agent layer includes an agent node, the agent node provides functions of routing service, certificate caching and authentication service, P2P service, and the like, and the routing agent layer performs an isolation function on the service layer and the consensus network layer, which refers to the technical solutions of the foregoing embodiments. Alternatively, the proxy node in the routing proxy layer may be in a tax private network. The consensus network (billing network) layer is a billing node network, and includes a plurality of block chains, but in other embodiments of the present application, a block chain may be included in the consensus network (billing network) layer.
In an embodiment of the present application, in order to implement synchronization between services, a data synchronization scheme is proposed in the embodiment of the present application, and details of implementation of the technical scheme of the embodiment of the present application are set forth in the following:
fig. 6 shows a flow diagram of a data synchronization method for a blockchain system including a billing node sub-network and a service node sub-network, wherein a plurality of blockchains are maintained in the billing node network and each blockchain corresponds to a type of service, as shown in fig. 4C, according to one embodiment of the present application. Of course, the blockchain system may also adopt the structure shown in fig. 4A and 4B.
The data synchronization method of the blockchain system shown in fig. 6 may be performed by a target service node in a service node sub-network, and as shown in fig. 6, the data synchronization method of the blockchain system includes:
step S610, receiving the same block data respectively pushed by a plurality of accounting nodes related to the target service node in the accounting node sub-network;
step S620, selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed to the plurality of accounting nodes;
step S630, returning response messages to the plurality of accounting nodes so that the accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing the block data according to the response messages;
and step S640, receiving the block data continuously pushed by the target accounting node so as to synchronize the block data in the accounting node sub-network.
These steps are described in detail below.
In step S610, the same block of data pushed by each of the plurality of accounting nodes associated with the target service node in the accounting node sub-network is received.
In this embodiment, the blockchain system includes a sub-network of accounting nodes and a sub-network of service nodes, where the sub-network of accounting nodes includes accounting nodes, and the sub-network of service nodes includes service nodes, and one service node in the sub-network of service nodes may be associated with a plurality of accounting nodes in the sub-network of accounting nodes, that is, one service node may maintain a connection with a plurality of accounting nodes. Such as the blockchain system shown in fig. 7, which includes billing node sub-network 2 and service node sub-network 1, billing node sub-network 2 includes billing node 21, billing node 22, billing node 23, billing node 24, billing node 25, and billing node 26, service node sub-network 1 includes service node 11, service node 12, service node 13, and service node 14, wherein the plurality of associated nodes of service node 11 includes billing node 22, billing node 23, and billing node 24, the plurality of associated nodes of service node 12 includes billing node 21, billing node 22, and billing node 23, the plurality of associated nodes of service node 13 includes billing node 24, billing node 25, and billing node 26, and the plurality of associated nodes of service node 14 includes billing node 25 and billing node 26.
Specifically, the data synchronization method of the blockchain system in this embodiment is executed by the target service node, and in the running process of the blockchain system, a plurality of accounting nodes associated with the target service node may actively push the same blockchain data to the target service node, and the target service node may receive the same blockchain data respectively pushed by the plurality of accounting nodes.
It should be noted that, multiple accounting nodes associated with the target service node may actively push the same block of data to the target service node at the same time, or may actively push the same block of data to the target service node at different times, which is not specifically limited herein.
Here, the same block data refers to block data corresponding to the same block height, and it should be explained that the block height refers to the number of blocks linked to the main chain, that is, the number of blocks linked to the block chain. When the blockchain system is thought of as a notebook for book billing, a "block" is a page of paper on the notebook, and the content on the paper is the billing content. The number of blocks is actually the "block height". For example, in a 100-page book, the "block height" of page 50 is 50.
In step S620, a target accounting node is selected from the plurality of accounting nodes according to the receiving time of the same block data pushed to the plurality of accounting nodes respectively.
After the target service node receives the same block data respectively pushed by the plurality of accounting nodes, the target service node can further select the target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes.
In an embodiment of the present application, the target service node may use the accounting node with the earliest receiving time as the target accounting node, for example, the receiving times of the target service node for the same block of data pushed by each accounting node are 10, 12 and 16 respectively, and since the receiving time is 10 is earlier than the other two receiving times, the target service node may use the accounting node corresponding to the receiving time 10 as the target accounting node.
In an embodiment of the application, the target service node may further calculate a time difference between a receiving time of the same block data respectively pushed by the plurality of accounting nodes and a pushing time of the same block data respectively pushed by the plurality of accounting nodes, to obtain pushing durations respectively corresponding to the plurality of accounting nodes, and then, the target service node may use, as the target accounting node, an accounting node with a shortest pushing duration among the plurality of accounting nodes.
It can be understood that the length of the push duration has an affinity relationship with the speed of the network connection speed, and the shortest push duration means the fastest network connection speed.
In step S630, a response message is returned to the plurality of accounting nodes, so that the accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing the block data according to the response message.
In this step, the target service node may return a response message to each accounting node, where the response message is generated by the target service node according to the selected target accounting node, and by returning the response message to each accounting node, each accounting node may know whether itself is the target accounting node according to the response message, so as to stop pushing the block data to the target service node when the node is not the target accounting node.
In step S640, the block data pushed by the target accounting node is received to synchronize the block data in the accounting node sub-network.
Under the condition that the target accounting node is known according to the response message, the target accounting node can continue to push the block data to the target service node, and the target service node can continue to push the block data by receiving the block data pushed by the target accounting node, so that the block data in the accounting node sub-network is synchronized.
Based on the technical scheme of the embodiment, the block chain network comprises the accounting node sub-network and the service node sub-network, the accounting node sub-network identifies the block data and records the block data to the accounting nodes on the block chain, the service nodes in the service node sub-network acquire the block data from the accounting node sub-network for synchronization, the two sub-networks are separated from each other, the safe operation of the block chain network is guaranteed, meanwhile, the target service node continues to receive the block data pushed by the selected target accounting node to synchronize the block data in the accounting node sub-network, the block data are not acquired from each accounting node one by one for synchronization, and the synchronization efficiency of the block data is effectively improved.
In one embodiment of the present application, a plurality of accounting nodes associated with a target service node in a sub-network of accounting nodes may continuously and repeatedly push the same block data to the target service node, for example, the plurality of accounting nodes may continuously and repeatedly push the block data to the target service node, in a first push, the plurality of accounting nodes may respectively push the block data with block height h to the target service node, in a second push, the plurality of accounting nodes may respectively push the block data with block height h +1 to the target service node, in a third push, the plurality of accounting nodes may respectively push the block data with block height h +2 to the target service node, after the target service node receives the block data pushed for a plurality of times, the target accounting node may be determined according to the receiving time of the block data pushed for a plurality of times, as shown in fig. 8, step S620 may specifically include steps S810 to S820, which are described in detail as follows:
step S810, determining candidate accounting nodes from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed to the plurality of accounting nodes each time.
Specifically, in each pushing of the block data, the target service node may determine a candidate accounting node from the plurality of accounting nodes according to the receiving time of the same block data pushed to the plurality of accounting nodes respectively.
The method for determining candidate accounting nodes from the plurality of accounting nodes may be to use the accounting node corresponding to the earliest receiving time as the candidate accounting node, or to calculate a time difference between the receiving time and the pushing time to obtain the pushing time length corresponding to each accounting node, and to use the accounting node corresponding to the shortest pushing time as the candidate accounting node, or to use other feasible manners.
And step S820, determining a target accounting node according to the candidate accounting nodes determined for multiple times.
After the target service node determines the candidate accounting node corresponding to each time through step S820, the target accounting node may be further determined.
In one embodiment of the application, the target service node may take the accounting node determined as the candidate accounting node the most frequently as the target accounting node. For example, suppose that the accounting node a, the accounting node B, the accounting node C and the accounting node D respectively perform seven block data push operations to the target service node, the candidate accounting node determined by the target service node for the first time is the accounting node a, the candidate accounting node determined by the second time is the accounting node a, the candidate accounting node determined by the third time is the accounting node a, the candidate accounting node determined by the fourth time is the accounting node C, the candidate accounting node determined by the fifth time is the accounting node C, the candidate accounting node determined by the sixth time is the accounting node B, and the candidate accounting node determined by the seventh time is the accounting node D, therefore, the target service node may finally take the accounting node a determined as the candidate accounting node with the largest number of times as the target accounting node according to the candidate accounting nodes determined multiple times.
In an embodiment of the present application, the target service node may determine, according to the candidate accounting nodes determined multiple times, that the target accounting node is further an accounting node with the first two times ranked as the candidate accounting node as the target accounting node, for example, in the above example, the accounting node a is determined as the candidate accounting node 3 times, the accounting node C is determined as the candidate accounting node 2 times, the accounting node B is determined as the candidate accounting node 1 time, and the accounting node D is determined as the candidate accounting node 1 time, so the accounting node a and the accounting node C with the first two times ranked may be the target accounting node.
In an embodiment of the present application, if the target service node has started to receive only the block data pushed by the target accounting node, but the target accounting node fails, the target service node may reselect the target accounting node after receiving the push timeout, in this embodiment, as shown in fig. 9, the data synchronization method of the block chain system may further include steps S910 to S920, which are described in detail as follows:
step S910, if the block data pushed by the target accounting node is not received within the first preset time, selecting an accounting node which is not associated with the target service node from the accounting node sub-network for association, and reselecting the target accounting node from the accounting nodes associated with the target service node after association.
In this embodiment, the target service node may preset a first preset time length for receiving the block data pushed by the target accounting node, and is configured to determine whether the block data pushed by the target accounting node is overtime, and if the block data pushed by the target accounting node is not received within the first preset time length, it may be determined that the block data pushed by the target accounting node is overtime, at this time, the target service node may select an unassociated accounting node from the accounting node subnetwork for association, and reselect the target accounting node from the accounting nodes associated with the target service node after association.
In an embodiment of the present application, the reselecting, by the target service node, the target accounting node from the accounting nodes associated with the target service node may specifically include: firstly, a target service node broadcasts a block data push request in an accounting node sub-network, wherein the block data push request is used for requesting an accounting node related to the target service node to push block data to the target service node; then, the target service node may receive the same block data pushed by the accounting node associated with the target service node, and reselect the target accounting node from the accounting node associated with the target service node according to the receiving time of the same block data pushed by the accounting node associated with the target service node.
The step S720 of synchronizing the target service node in a manner of reselecting the target accounting node from the accounting nodes associated with the target service node according to the receiving time of the same block of data pushed to the accounting node associated with the target service node is similar, and details are not repeated here.
And step S920, receiving the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
Specifically, the target service node may generate a response message according to the target accounting node reselected from the accounting nodes associated with the target service node, and return the response message to the accounting node associated with the target service node.
After the response message is returned to the accounting node associated with the target service node, accounting nodes except the newly selected target accounting node in the accounting nodes associated with the target service node stop pushing the block data to the target service node, the newly selected target accounting node continues pushing the block data to the target service node, and the target service node receives the block data pushed by the newly selected target accounting node to synchronize the block data in the accounting node sub-network.
In an embodiment of the present application, the target service node may preset a second preset duration to determine whether a duration of synchronizing the block data in the billing node sub-network according to the block data continuously pushed by the target billing node reaches the second preset duration, and the target service node may reselect the target billing node after the synchronization duration reaches the second preset duration, in this embodiment, as shown in fig. 10, the method may specifically include steps S1010 to S1020, which are described in detail as follows:
step S1010, if the time length for synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node reaches a second preset time length, reselecting the target accounting node from the accounting nodes associated with the target service node.
In order to detect the network speed and the network performance change, the target service node may reselect the target accounting node from the accounting nodes associated with the target service node when the time length for synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node reaches a second preset time length.
It should be noted that the accounting node associated with the target service node may include an accounting node initially associated with the target service node, or may include a node that is selected again by the target service node from the accounting node sub-network for association after the initially associated accounting node fails.
In an embodiment of the present application, the reselecting, by the target service node, the target accounting node from the accounting nodes associated with the target service node may specifically include: firstly, a target service node broadcasts a block data push request in an accounting node sub-network, wherein the block data push request is used for requesting an accounting node related to the target service node to push block data to the target service node; then, the target service node may receive the same block data pushed by the accounting node associated with the target service node, and reselect the target accounting node from the accounting node associated with the target service node according to the receiving time of the same block data pushed by the accounting node associated with the target service node.
The step S720 of synchronizing the target service node in a manner of reselecting the target accounting node from the accounting nodes associated with the target service node according to the receiving time of the same block of data pushed to the accounting node associated with the target service node is similar, and details are not repeated here.
And step S1020, receiving the block data pushed by the reselected target accounting node to synchronize the block data in the accounting node sub-network.
Specifically, the target service node may generate a response message according to the target accounting node reselected from the accounting nodes associated with the target service node, and return the response message to the accounting node associated with the target service node.
After the response message is returned to the accounting node associated with the target service node, accounting nodes except the newly selected target accounting node in the accounting nodes associated with the target service node stop pushing the block data to the target service node, the newly selected target accounting node continues pushing the block data to the target service node, and the target service node receives the block data pushed by the newly selected target accounting node to synchronize the block data in the accounting node sub-network.
Fig. 11 shows a flow chart of a data synchronization method of a blockchain system according to an embodiment of the present application, which may be applied to the blockchain system shown in fig. 4 and 5, including a sub-network of accounting nodes and a sub-network of service nodes. The data synchronization method of the blockchain system shown in fig. 11 may be performed by a target accounting node in the accounting node sub-network, and referring to fig. 11, the data synchronization method of the blockchain system includes:
step S1110, pushing block data to the associated service nodes in the service node sub-network;
step S1120, receiving a response message returned by the service node for the block data, where the response message is sent after the service node selects an accounting node corresponding to the service node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes associated with the service node, and the response message is used to instruct the accounting nodes except the accounting node corresponding to the service node in the plurality of accounting nodes to stop pushing the block data;
step S1130, if the pushing of the block data needs to be stopped according to the response message, the block data is stopped being pushed to the service node;
step S1140, if it is determined that the block data pushing does not need to be stopped according to the response message, continuing to push the block data to the service node, so that the service node synchronizes the block data in the sub-network of the accounting node.
These steps are described in detail below. Step S1110, pushing the block data to the associated service node in the service node sub-network.
In this embodiment, the block chain system includes a sub-network of accounting nodes and a sub-network of service nodes, where the sub-network of accounting nodes includes accounting nodes, and the sub-network of service nodes includes service nodes, and the accounting nodes in the sub-network of accounting nodes may be associated with the service nodes in the sub-network of service nodes, that is, maintain a connection with the associated service nodes, so as to actively push block data to the associated service nodes.
Specifically, the data synchronization method of the blockchain system in this embodiment is executed by the target accounting node, and during the operation of the blockchain system, the target accounting node may actively push the blockchain data to the service node associated in the service node sub-network, where the number of the associated service nodes is not limited in this embodiment.
In an embodiment of the present application, when the target accounting node pushes the block data to the service node associated in the service node sub-network, a time delay for pushing the block data may be increased, that is, the pushing is delayed, where the delay time may be determined randomly or determined strategically, for example, determined according to a network state during the pushing, a pushing task amount of the target accounting node, a number of service nodes that need to be pushed, and the like.
In an embodiment of the present application, in a case that there are a plurality of associated service nodes, the target accounting node may push the block data to the associated service nodes in the service node sub-network, where the block data is sequentially pushed to each associated service node according to a pushing sequence corresponding to the associated service node. The push sequence corresponding to the associated service node may be a push sequence determined according to an inverse correlation relationship between the network connection speed and the push priority, for example, the target accounting node may first push the associated service node with the slowest network connection speed and finally push the associated service node with the fastest network connection speed, or may be any determined push sequence, which is not specifically limited herein.
In an embodiment of the present application, when the target accounting node sequentially pushes the block data to each associated service node, a time delay for pushing the block data may also be increased.
Step S1120, receiving a response message returned by the service node for the block data, where the response message is sent after the service node selects an accounting node corresponding to the service node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes associated with the service node, and the response message is used to instruct the accounting nodes except the accounting node corresponding to the service node to stop pushing the block data.
In this step, the service node may return a response message to the target accounting node, where the response message is generated by the service node according to the accounting node corresponding to the selected service node, and the response message is used to instruct, among the plurality of accounting nodes, accounting nodes other than the accounting node corresponding to the service node to stop pushing the block data.
Specifically, the service node may receive the same block data respectively pushed by a plurality of accounting nodes associated with the service node, where the target accounting node is one of the plurality of accounting nodes associated with the service node. After receiving the same block data respectively pushed by the plurality of accounting nodes, the service node may select an accounting node corresponding to the service node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes, and generate a response message.
The method for selecting the accounting node corresponding to the service node by the service node according to the receiving time of the same block of data respectively pushed by the plurality of accounting nodes may be to use the accounting node corresponding to the earliest receiving time as the accounting node corresponding to the service node, or to calculate the pushing time according to the receiving time and use the accounting node corresponding to the shortest pushing time as the accounting node corresponding to the service node.
Step S1130, if it is determined that the pushing of the block data needs to be stopped according to the response message, the block data is stopped being pushed to the service node.
In the foregoing step, the service node may select an accounting node corresponding to the service node, and specifically, the accounting node corresponding to the service node selected by the service node may be a target accounting node, or may be other accounting nodes except the target accounting node in the plurality of accounting nodes.
The target accounting node can learn the corresponding accounting node selected by the service node according to the received response message. Therefore, if the target accounting node learns that the target accounting node is not the corresponding accounting node selected by the service node according to the response message, that is, it is determined that the block data needs to be stopped being pushed, the target accounting node may stop pushing the block data to the service node.
Step S1140, if it is determined that the block data pushing does not need to be stopped according to the response message, continuing to push the block data to the service node, so that the service node synchronizes the block data in the sub-network of the accounting node.
In contrast to the case in step S1130, if the target accounting node learns that it is the corresponding accounting node selected by the service node according to the response message, that is, it is determined that the block data push does not need to be stopped, the target accounting node may continue to push the block data to the service node, so that the service node synchronizes the block data in the accounting node sub-network.
In an embodiment of the present application, the target accounting node may be a node with particularly good network performance, and thus more and more service nodes select the target accounting node as an accounting node corresponding to the service node, so that the target accounting node gradually undertakes more push tasks. However, at this time, if the target accounting node has a problem, the service nodes may suddenly lose pushing of the block data, so in this embodiment, if there are a plurality of service nodes, the target accounting node may increase a delay of pushing the block data when continuing to push the block data to each service node, that is, delay pushing, where the delay time may be determined randomly or determined strategically, for example, determined according to a network state during pushing, a pushing task amount of the target accounting node, a number of service nodes that need to be pushed, and the like.
Further, in some embodiments, in order to deal with the emergency situation that the target accounting node gradually undertakes more pushing tasks, the target accounting node may sequentially push the block data to each service node according to the pushing sequence corresponding to each service node. The push sequence corresponding to each service node may be determined according to the time that each service node selects a target accounting node as the accounting node corresponding to each service node, the push sequence of the service node which selects the target accounting node as the corresponding accounting node first is arranged at the top, and the push sequence of the service node which selects the target accounting node as the corresponding accounting node last is arranged at the bottom.
Furthermore, in some embodiments, the target accounting node may further increase a time delay for pushing the block data when sequentially pushing the block data to each service node according to the pushing sequence corresponding to each service node.
The following describes embodiments of the apparatus of the present application, which can be used to perform the data synchronization method of the blockchain system in the above embodiments of the present application. For details that are not disclosed in the embodiments of the apparatus of the present application, please refer to the embodiments of the data synchronization method of the blockchain system described above in the present application.
Fig. 12 is a block diagram illustrating a data synchronization apparatus of a blockchain system according to an embodiment of the present application, and referring to fig. 12, a data synchronization apparatus 1200 of a blockchain system according to an embodiment of the present application, the blockchain system including a sub-network of accounting nodes and a sub-network of service nodes, the data synchronization apparatus 1200 of the blockchain system being provided in a target service node in the sub-network of service nodes, includes: a first receiving unit 1202, a selecting unit 1204, a returning unit 1206 and a second receiving unit 1208.
The first receiving unit 1202 is configured to receive the same block data respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network; the selecting unit 1204 is configured to select a target accounting node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed by the plurality of accounting nodes; the returning unit 1206 is configured to return a response message to the plurality of accounting nodes, so that accounting nodes except the target accounting node in the plurality of accounting nodes stop pushing the block data according to the response message; the second receiving unit 1208 is configured to receive the block data continuously pushed by the target accounting node, so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, the selecting unit 1204 is configured to: calculating the time difference between the receiving time of the same block data respectively pushed by the plurality of accounting nodes and the pushing time of the same block data respectively pushed by the plurality of accounting nodes to obtain the pushing duration respectively corresponding to the plurality of accounting nodes; and taking the accounting node with the shortest push duration corresponding to the plurality of accounting nodes as the target accounting node.
In some embodiments of the present application, the number of times of receiving the same block of data respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network is multiple; the selection unit 1204 includes: the first determining subunit is configured to determine candidate accounting nodes from the plurality of accounting nodes according to the receiving time of the same block of data respectively pushed to the plurality of accounting nodes each time; a second determining subunit configured to determine the target accounting node according to the candidate accounting nodes determined multiple times.
In some embodiments of the present application, the second determining subunit is configured to: and according to the candidate accounting nodes determined for multiple times, taking the accounting node determined as the candidate accounting node with the highest frequency as the target accounting node.
In some embodiments of the present application, after the second receiving unit 1208 is configured to receive the block data continuously pushed by the target accounting node, the apparatus further includes: a first reselection unit, configured to, if the block data pushed by the target accounting node is not received within a first preset time, select an accounting node that is not associated with the target service node from the accounting node sub-network for association, and reselect the target accounting node from the accounting nodes associated with the target service node after association; and the third receiving unit is configured to receive the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, the apparatus further comprises: a second reselection unit, configured to reselect a target accounting node from the accounting nodes associated with the target service node if the time length for synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node reaches a second preset time length; and the fourth receiving unit is configured to receive the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
In some embodiments of the present application, the first reselection unit or the second reselection unit is configured to: broadcasting a block data pushing request in the accounting node sub-network so as to enable accounting nodes related to the target service node to push block data; and receiving the same block data pushed by the accounting node related to the target service node, and reselecting the target accounting node from the accounting nodes related to the target service node according to the receiving time of the same block data pushed by the accounting node related to the target service node.
Fig. 13 shows a block diagram of a data synchronization apparatus of a blockchain system according to an embodiment of the present application.
Referring to fig. 13, a data synchronization apparatus 1300 of a blockchain system according to an embodiment of the present application, the blockchain system including a sub-network of accounting nodes and a sub-network of service nodes, the data synchronization apparatus 1300 of the blockchain system being disposed in a target accounting node in the sub-network of accounting nodes, includes: a data pushing unit 1302, a fifth receiving unit 1304, a stop pushing unit 1306, and a continue pushing unit 1308.
The data pushing unit 1302 is configured to push block data to a service node associated in the service node sub-network; the fifth receiving unit 1304 is configured to receive a response message returned by the service node for the block data, where the response message is sent after the service node selects an accounting node corresponding to the service node from the plurality of accounting nodes according to the receiving time of the same block data respectively pushed to the plurality of accounting nodes associated with the service node, and the response message is used to instruct accounting nodes other than the accounting node corresponding to the service node from the plurality of accounting nodes to stop pushing the block data; the push stopping unit 1306 is configured to stop pushing the block data to the service node if it is determined that the pushing of the block data needs to be stopped according to the response message; the continuous pushing unit 1308 is configured to continue pushing the block data to the service node if it is determined that the pushing of the block data does not need to be stopped according to the response message, so that the service node synchronizes the block data in the accounting node sub-network.
In some embodiments of the present application, the data pushing unit 1302 or the continuing pushing unit 1308 is configured to: when block data is pushed to the service nodes in the service node sub-network, the block data is sequentially pushed to each service node according to the pushing sequence corresponding to the service nodes needing to push the block data.
In some embodiments of the present application, the data pushing unit 1302 or the continuing pushing unit 1308 is configured to: and increasing the time delay of pushing the block data when the block data are sequentially pushed to each service node according to the pushing sequence corresponding to the service node needing to push the block data.
In some embodiments of the present application, the data pushing unit 1302 or the continuing pushing unit 1308 is configured to: and increasing the time delay of block data pushing when the block data is pushed to the service nodes in the service node sub-network.
FIG. 14 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present application.
It should be noted that the computer system 1400 of the electronic device shown in fig. 14 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 14, a computer system 1400 includes a Central Processing Unit (CPU) 1401, which can perform various appropriate actions and processes, such as executing the methods described in the above embodiments, according to a program stored in a Read-Only Memory (ROM) 1402 or a program loaded from a storage portion 1408 into a Random Access Memory (RAM) 1403. In the RAM 1403, various programs and data necessary for system operation are also stored. The CPU 1401, ROM 1402, and RAM 1403 are connected to each other via a bus 1404. An Input/Output (I/O) interface 1405 is also connected to the bus 1404.
The following components are connected to the I/O interface 1405: an input portion 1406 including a keyboard, a mouse, and the like; an output portion 1407 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage portion 1408 including a hard disk and the like; and a communication section 1409 including a Network interface card such as a LAN (Local Area Network) card, a modem, and the like. The communication section 1409 performs communication processing via a network such as the internet. The driver 1410 is also connected to the I/O interface 1405 as necessary. A removable medium 1411 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 1410 as necessary, so that a computer program read out therefrom is installed into the storage section 1408 as necessary.
In particular, according to embodiments of the application, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising a computer program for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 1409 and/or installed from the removable medium 1411. When the computer program is executed by a Central Processing Unit (CPU) 1401, various functions defined in the system of the present application are executed.
It should be noted that the computer readable medium shown in the embodiments of the present application may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM), a flash Memory, an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with a computer program embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. Each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by an electronic device, cause the electronic device to implement the method described in the above embodiments.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (15)

1. A method for data synchronization in a blockchain system, the blockchain system comprising a billing node sub-network and a service node sub-network, the billing node sub-network comprising a plurality of billing nodes, the service node sub-network comprising a plurality of service nodes, each service node being associated with a plurality of billing nodes, the plurality of billing nodes associated with each service node being configured to push blockchain data to the each service node, the method being performed by a target service node in the service node sub-network, the method comprising:
in the process of synchronizing the block data, receiving the block data with the same block height respectively pushed by a plurality of accounting nodes related to the target service node in the accounting node sub-network at the same time, and synchronizing the data according to the received block data;
selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the block data with the same block height respectively pushed by the plurality of accounting nodes at the same time;
returning a response message to the plurality of accounting nodes, wherein the response message is used for stopping the accounting nodes except the target accounting node from pushing the block data;
and receiving the block data continuously pushed by the target accounting node, and synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node.
2. The method of claim 1, wherein selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the block data with the same block height pushed by the plurality of accounting nodes respectively comprises:
calculating the time difference between the receiving time of the block data with the same block height respectively pushed by the plurality of accounting nodes and the pushing time of the block data with the same block height respectively pushed by the plurality of accounting nodes to obtain pushing durations respectively corresponding to the plurality of accounting nodes;
and taking the accounting node with the shortest push duration corresponding to the plurality of accounting nodes as the target accounting node.
3. The method of claim 1, wherein the number of times of receiving block data of the same block height respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network is multiple;
selecting a target accounting node from the plurality of accounting nodes according to the receiving time of the block data with the same block height respectively pushed by the plurality of accounting nodes, wherein the selecting comprises:
determining candidate accounting nodes from the plurality of accounting nodes according to the receiving time of the block data with the same block height respectively pushed to the plurality of accounting nodes each time;
and determining the target accounting node according to the candidate accounting nodes determined for multiple times.
4. The method of claim 3, wherein determining the target billing node based on a plurality of determined candidate billing nodes comprises:
based on the multiple determined candidate billing nodes,
and taking the accounting node which is determined as the candidate accounting node with the highest frequency as the target accounting node.
5. The method of claim 1, wherein after receiving the block data that the target accounting node continues to push, the method further comprises:
if the block data pushed by the target accounting node is not received within a first preset time, selecting an accounting node which is not associated with the target service node from the accounting node sub-network for association, and reselecting the target accounting node from the accounting nodes associated with the target service node after association;
and receiving the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
6. The method of claim 1, further comprising:
if the time length for synchronizing the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node reaches a second preset time length, reselecting the target accounting node from accounting nodes associated with the target service node;
and receiving the block data pushed by the reselected target accounting node so as to synchronize the block data in the accounting node sub-network.
7. The method according to claim 5 or 6, wherein the reselecting a target billing node from among the billing nodes associated with the target service node comprises:
broadcasting a block data pushing request in the accounting node sub-network so as to enable accounting nodes related to the target service node to push block data;
and receiving block data with the same block height pushed by the accounting node associated with the target service node, and reselecting the target accounting node from the accounting nodes associated with the target service node according to the receiving time of the block data with the same block height pushed by the accounting node associated with the target service node.
8. A method for data synchronization in a blockchain system, the blockchain system comprising a billing node sub-network and a service node sub-network, the billing node sub-network comprising a plurality of billing nodes, the service node sub-network comprising a plurality of service nodes, each service node being associated with a plurality of billing nodes, the plurality of billing nodes associated with each service node being configured to push blockchain data to each service node, the method being performed by a target billing node in the billing node sub-network, the method comprising:
pushing block data to the associated service nodes in the service node sub-network so that the associated service nodes perform data synchronization according to the pushed block data;
receiving a response message returned by the service node for the block data, wherein the response message is sent by the service node after an accounting node corresponding to the service node is selected from the plurality of accounting nodes according to the receiving time of the block data with the same block height respectively pushed by the plurality of accounting nodes associated with the service node at the same time in the synchronization process of the block data, and the response message is used for indicating the accounting nodes except the accounting node corresponding to the service node in the plurality of accounting nodes to stop pushing the block data;
if the pushing of the block data needs to be stopped according to the response message, stopping pushing the block data to the service node;
and if the block data does not need to be pushed according to the response message, continuing to push the block data to the service node so that the service node synchronizes the block data in the sub-network of the accounting node according to the received block data.
9. The method of claim 8, comprising: when block data is pushed to the service nodes in the service node sub-network, the block data is sequentially pushed to each service node according to the pushing sequence corresponding to the service nodes needing to push the block data.
10. The method according to claim 9, wherein the sequentially pushing the block data to each service node according to the pushing sequence corresponding to the service node that needs to push the block data comprises:
and increasing the time delay of pushing the block data when the block data are sequentially pushed to each service node according to the pushing sequence corresponding to the service node needing to push the block data.
11. The method of claim 9, wherein a delay in pushing block data is increased when pushing block data to a service node in the service node sub-network.
12. A data synchronization apparatus for a blockchain system, the blockchain system comprising a billing node sub-network and a service node sub-network, the billing node sub-network comprising a plurality of billing nodes, the service node sub-network comprising a plurality of service nodes, each service node being associated with a plurality of billing nodes, the plurality of billing nodes associated with each service node being configured to push blockchain data to each service node, the apparatus being disposed in a target service node in the service node sub-network, the apparatus comprising:
a first receiving unit, configured to receive, during a synchronization process of block data, same block data with the same block height respectively pushed by a plurality of accounting nodes associated with the target service node in the accounting node sub-network at the same time, and perform data synchronization according to the received block data;
a selecting unit, configured to select a target accounting node from the plurality of accounting nodes according to the receiving time of the block data with the same block height respectively pushed by the plurality of accounting nodes at the same time;
a returning unit, configured to return a response message to the plurality of accounting nodes, where the response message is used to stop the accounting nodes except the target accounting node from pushing the block data;
and the second receiving unit is configured to receive the block data continuously pushed by the target accounting node, so as to synchronize the block data in the accounting node sub-network according to the block data continuously pushed by the target accounting node.
13. A data synchronization apparatus for a blockchain system, the blockchain system comprising a billing node sub-network and a service node sub-network, the billing node sub-network comprising a plurality of billing nodes, the service node sub-network comprising a plurality of service nodes, each service node being associated with a plurality of billing nodes, the plurality of billing nodes associated with each service node being configured to push blockchain data to each service node, the apparatus being configured in a target billing node in the billing node sub-network, the apparatus comprising:
the data pushing unit is configured to push block data to the associated service node in the service node sub-network so that the associated service node performs data synchronization according to the pushed block data;
a fifth receiving unit, configured to receive a response message returned by the service node for the block data, where the response message is sent by the service node after a target accounting node is selected from the multiple accounting nodes in the synchronization process of the block data according to receiving times of the block data with the same block height respectively pushed by the multiple accounting nodes associated with the service node at the same time, and the response message is used to instruct accounting nodes other than the target accounting node in the multiple accounting nodes to stop pushing the block data;
a push stopping unit configured to stop pushing the block data to the service node if it is determined that the pushing of the block data needs to be stopped according to the response message;
and the continuous pushing unit is configured to continue to push the block data to the service node if the block data does not need to be pushed according to the response message, so that the service node synchronizes the block data in the sub-network of the accounting node according to the received block data.
14. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out a method for data synchronization of a blockchain system according to one of claims 1 to 7 or a method for data synchronization of a blockchain system according to one of claims 8 to 11.
15. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement a data synchronization method of a blockchain system according to any one of claims 1 to 7 or a data synchronization method of a blockchain system according to any one of claims 8 to 11.
CN202011466724.7A 2020-12-14 2020-12-14 Data synchronization method and device of block chain system, readable medium and electronic equipment Active CN112231414B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011466724.7A CN112231414B (en) 2020-12-14 2020-12-14 Data synchronization method and device of block chain system, readable medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011466724.7A CN112231414B (en) 2020-12-14 2020-12-14 Data synchronization method and device of block chain system, readable medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN112231414A CN112231414A (en) 2021-01-15
CN112231414B true CN112231414B (en) 2022-02-25

Family

ID=74124072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011466724.7A Active CN112231414B (en) 2020-12-14 2020-12-14 Data synchronization method and device of block chain system, readable medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN112231414B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086350B (en) * 2022-06-13 2024-01-19 亿度科创(深圳)有限公司 Block chain node data synchronization method, equipment and storage medium
CN117748745A (en) * 2024-02-19 2024-03-22 国网浙江省电力有限公司宁波供电公司 Method and system for optimizing and enhancing reliability of power distribution network

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848184A (en) * 2018-06-29 2018-11-20 北京金山安全软件有限公司 Block link point synchronization method and device based on trust mechanism
CN109379382A (en) * 2018-12-07 2019-02-22 深圳市智税链科技有限公司 Data managing method, device, medium and the electronic equipment of block catenary system
CN109684408A (en) * 2018-12-07 2019-04-26 深圳市智税链科技有限公司 Data managing method, device, medium and the electronic equipment of block catenary system
CN110633323A (en) * 2019-09-16 2019-12-31 腾讯科技(深圳)有限公司 Business data storage method, device, storage medium and computer equipment
CN110798509A (en) * 2019-07-15 2020-02-14 腾讯科技(深圳)有限公司 Block data synchronization method, device, medium and electronic equipment
CN111241115A (en) * 2020-01-07 2020-06-05 腾讯科技(深圳)有限公司 Data synchronization method, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446947B (en) * 2018-02-07 2021-05-18 平安科技(深圳)有限公司 Real estate transaction method and device
CN108512939B (en) * 2018-04-17 2020-09-11 深圳市元征科技股份有限公司 Block chain consensus method, device and related equipment
US11036713B2 (en) * 2018-06-29 2021-06-15 International Business Machines Corporation Sending notifications in a multi-client database environment
US11182403B2 (en) * 2019-05-22 2021-11-23 Chainstack Pte. Ltd. Systems and methods of launching new nodes in a blockchain network
CN110956542B (en) * 2019-11-07 2021-05-18 支付宝(杭州)信息技术有限公司 Block chain system and operation method, device and equipment thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848184A (en) * 2018-06-29 2018-11-20 北京金山安全软件有限公司 Block link point synchronization method and device based on trust mechanism
CN109379382A (en) * 2018-12-07 2019-02-22 深圳市智税链科技有限公司 Data managing method, device, medium and the electronic equipment of block catenary system
CN109684408A (en) * 2018-12-07 2019-04-26 深圳市智税链科技有限公司 Data managing method, device, medium and the electronic equipment of block catenary system
CN110798509A (en) * 2019-07-15 2020-02-14 腾讯科技(深圳)有限公司 Block data synchronization method, device, medium and electronic equipment
CN110633323A (en) * 2019-09-16 2019-12-31 腾讯科技(深圳)有限公司 Business data storage method, device, storage medium and computer equipment
CN111241115A (en) * 2020-01-07 2020-06-05 腾讯科技(深圳)有限公司 Data synchronization method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN112231414A (en) 2021-01-15

Similar Documents

Publication Publication Date Title
CN109636492B (en) Tax administration method, device, medium and electronic equipment based on block chain system
CN112232823B (en) Transaction processing method, device, medium and electronic equipment of block chain system
KR102566892B1 (en) Blockchain consensus method, device and system
CN112287031B (en) Data synchronization method and device of block chain system, readable medium and electronic equipment
CN112291376B (en) Data processing method and related equipment in block chain system
CN112733174B (en) Authentication management method and system of block chain system and electronic equipment
CN112231741B (en) Data processing method, device, medium and electronic equipment based on block chain system
CN109146490B (en) Block generation method, device and system
CN111291060B (en) Method, device and computer readable medium for managing blockchain nodes
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
KR102230471B1 (en) Method of generating group proof for efficient transaction on blockchain network
CN112231414B (en) Data synchronization method and device of block chain system, readable medium and electronic equipment
KR102569409B1 (en) Systems and methods for virtual distributed ledger networks
CN112291372A (en) Asynchronous posting method, device, medium and electronic equipment for block chain
CN116150260A (en) Data processing method, device, medium and electronic equipment of block chain system
CN112532753B (en) Data synchronization method, device, medium and electronic equipment of block chain system
WO2023185042A1 (en) Method and apparatus for establishing direct-connection channel
CN112565104B (en) Flow control method, device, medium and electronic equipment of block chain system
CN112926981B (en) Transaction information processing method, device and medium for block chain and electronic equipment
CN112417052B (en) Data synchronization method, device, equipment and storage medium in block chain network
CN112231415B (en) Data synchronization method and system of block chain network, electronic device and readable medium
CN116126480A (en) Cross-region block chain processing method and device for transaction, intelligent equipment, medium and product
CN117221337A (en) Block chain consensus method, device, medium and electronic equipment
CN116233139A (en) Data processing method, device, medium and electronic equipment of block chain system
CN116186749A (en) Block chain-based service processing method and device, electronic equipment and readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038156

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant