专利摘要:
the embodiments of the present application provide a data processing device and method. the method includes: distributing, to the servers in a server cluster, leaf node data pre-stored on a blockchain node, for the servers in the server cluster to calculate the checksums of the distributed leaf node data, respectively ; and obtaining, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of data on the blockchain node. The modalities of the present application can be used to reduce the time spent by a data checksum calculation process, improve calculation efficiency and ensure normal block generation and normal operations of a blockchain.
公开号:BR112019016423B1
申请号:R112019016423-5
申请日:2018-02-07
公开日:2021-08-31
发明作者:Honglin Qiu
申请人:Advanced New Technologies Co., Ltd;
IPC主号:
专利说明:

Technical Field
[001] The present application refers to the domain of computer technologies and, in particular, to a data processing device and method. Background
[002] The blockchain (block chain) is a new application practice of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm, etc., which requires everyone blockchain nodes remain in the same state (including the state of the databases). That way, when a new transaction is produced (ie, new data is generated) on a blockchain node, the new data needs to be synchronized with all blockchain nodes, and all blockchain nodes need to verify the data.
[003] In current technologies, a verification method used by blockchain nodes on data is typically determined through a checksum based on a bucket tree (eg a Hash value). In one example, the data in fabric blockchain nodes (a blockchain application that has been implemented) is stored in a Merkle tree structure, and the Merkle tree comprises one or more leaf nodes (ie the buckets) . A single computing device (eg a terminal device or server) is typically used for blockchain nodes to obtain a checksum (eg a Hash value) of the above data. For example, the calculation engine traverses each leaf node, selects and joins the data from the leaf node into a string, and calculates a string checksum as the checksum of the corresponding leaf node data. Then, based on the checksum of the data for each leaf node, the calculator calculates a root checksum (for example, a root Hash value) of the Merkle tree, that is, a checksum. of the data in the blockchain node, and the above data can be verified based on this checksum.
[004] However, as a single calculation device is used to calculate a data root checksum in the blockchain nodes, and since each calculation is completed by joining data from the leaf nodes into a string , it will take a long time for the single calculation device to perform the calculation process described above, when the accumulated amount of data in one or more leaf nodes is very high (eg 10 million pieces of data), which takes to a low computation efficiency and can even delay the block generation time and impede normal operations of a block chain. summary
[005] The purpose of the modalities of this application is to provide a device and a data processing method in order to reduce the time spent by a calculation process, improve calculation efficiency and ensure normal block generation and normal operations of a blockchain.
[006] To solve the technical problem described above, the modalities of this application are implemented as follows:
[007] the modalities of the present application provide a method of data processing, comprising: distributing, to servers in a server cluster, data from leaf nodes pre-stored in a blockchain node, to servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and obtaining, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node.
[008] Optionally, obtaining, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node comprises: receiving the root checksum of data on the blockchain node sent by servers in the server cluster.
[009] Optionally, obtaining, according to the checksums of the data from the leaf nodes calculated by the servers in the server cluster, a root checksum of the data in the blockchain node comprises: determining, according to the sums leaf node checksum, a root checksum of a Merkle tree that matches the leaf nodes; and assign the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[010] Optionally, the distribution, to servers in a server cluster, of data from leaf nodes pre-stored on a blockchain node comprises: according to several leaf nodes pre-stored on the blockchain node, respectively, send data from a predefined number of leaf nodes to servers in the server cluster.
[011] Optionally, checksums are Hash values.
[012] The embodiments of the present application further provide a data processing method, comprising: receiving data from a leaf node distributed by a blockchain node; and calculating a checksum of the distributed leaf node data to obtain a data root checksum in the blockchain node.
[013] Optionally, after receiving data from a leaf node distributed by a blockchain node, the method further comprises: according to an amount of leaf node data, distributing the leaf node data into predefined sub-leaf nodes ; and calculating a data checksum of each subleaf node, and wherein, calculating a data checksum of the distributed leaf node comprises: according to the data checksum of each subleaf node, calculating the checksum of the distributed leaf node data.
[014] Optionally, according to an amount of leaf node data, distributing the leaf node data into predefined subleaf nodes comprises: sorting the leaf node data, sequentially selecting a predefined number of pieces of data to from the classified data for placement in the sub-leaf nodes, and define sub-node identifiers for the sub-leaf nodes, and in which, according to the data checksum of each sub-leaf node, the calculation of the data checksum of the Distributed leaf node comprises: according to the sub-node identifiers of the sub-leaf nodes and the checksum of each of the sub-leaf nodes, calculating a checksum of the distributed leaf node data.
[015] Optionally, calculating a checksum of distributed leaf node data to obtain a data root checksum in blockchain node comprises: calculating distributed leaf node data checksum and sending to checksum of data from leaf node distributed to blockchain node to blockchain node calculates the root checksum of data in blockchain node according to the checksum of data from leaf node; or calculate the checksum of the distributed leaf node data, obtain the root checksum of the data in the blockchain node based on the checksum of the distributed leaf node data, and send the root checksum to the node. of blockchain.
[016] The modalities of the present application provide a data processing device, comprising: a data distribution module configured to distribute, to servers in a server cluster, data from leaf nodes pre-stored in a node of blockchain, for servers in the server cluster to calculate checksums of data from distributed leaf nodes, respectively; and a root checksum obtaining module configured to obtain, in accordance with the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of data in the blockchain node.
[017] Optionally, the root checksum get module is configured to receive the root checksum of data on the blockchain node sent by servers in the server cluster.
[018] Optionally, the root checksum obtain module is configured to determine, according to the checksums of the leaf nodes, a root checksum of a Merkle tree corresponding to the leaf nodes; and assign the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[019] Optionally, the data distribution module is configured to, according to a number of leaf nodes pre-stored in the blockchain node, respectively send data from a predefined number of leaf nodes to the servers in the cluster of server.
[020] Optionally, checksums are Hash values.
[021] The embodiments of the present application further provide a data processing device, comprising: a data receiving module configured to receive data from a leaf node distributed by a blockchain node; and a checksum obtaining module configured to compute a checksum of the distributed leaf node data to obtain a data root checksum in the blockchain node.
[022] Optionally, the device further comprises: a data distribution module configured to, according to an amount of data from the leaf node, distribute the data from the leaf node into predefined sub-sheet nodes; a calculation module configured to calculate a data checksum of each subleaf node, and wherein the checksum obtain module is configured to, according to the data checksum of each subleaf node, calculate the checksum of the distributed leaf node data.
[023] Optionally, the data distribution module is configured to sort the leaf node data, sequentially select a predefined number of pieces of data from the sorted data for placement in sub-leaf nodes, and define corresponding sub-node identifiers for the sub-leaf nodes, and where the checksum obtain module is configured to, according to the sub-node identifiers of the sub-leaf nodes and the checksum of each of the sub-leaf nodes, calculate the checksum of the distributed leaf node data.
[024] Optionally, the checksum obtain module is configured to calculate the checksum of the distributed leaf node data, and send the checksum of the distributed leaf node data to the blockchain node to the node. blockchain compute the root checksum of the data in the blockchain node according to the checksum of the leaf node data; or calculate the checksum of the distributed leaf node data, obtain the root checksum of the data in the blockchain node based on the distributed leaf node data checksum, and send the root checksum to the blockchain node.
[025] From the technical solutions described above provided by the modalities of the present application, it can be seen that, in the modalities of the present application, the data from leaf nodes pre-stored in a blockchain node are distributed to servers in a server cluster for the servers in the server cluster to calculate the checksums of the data from the distributed leaf nodes, respectively; then, according to the checksums of the leaf node data calculated by the servers in the server cluster, a data root checksum on the blockchain node is still obtained. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel calculation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations. Brief Description of Drawings
[026] To more clearly describe the technical solutions in the modalities of the present application or current technologies, the attached drawings to be used in describing the modalities or current technologies will be briefly described below. It is obvious that the attached drawings in the description below are just some embodiments in the present application. Based on these attached drawings, other relevant drawings are obtainable by a person skilled in the art without creative effort.
[027] FIG. 1 is a data processing method in accordance with the present application;
[028] FIG. 2 is a schematic diagram of data processing logic in accordance with the present application;
[029] FIG. 3 is another data processing method in accordance with some embodiments of the present application;
[030] FIG. 4 is yet another method of processing data in accordance with some embodiments of the present application;
[031] FIG. 5 is a schematic structural diagram of a data processing system in accordance with the present application;
[032] FIG. 6 is yet another method of processing data in accordance with some embodiments of the present application;
[033] FIG. 7 is yet another method of processing data in accordance with some embodiments of the present application;
[034] FIG. 8 is a schematic structural diagram of another data processing system in accordance with the present application;
[035] FIG. 9 is a data processing device according to some embodiments of the present application;
[036] FIG. 10 is another data processing device in accordance with some embodiments of the present application. Detailed Description
[037] The modalities of the present application provide a data processing device and method.
[038] To enable a person skilled in the common art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the attached drawings in the embodiments of the present application. It is obvious that the modalities described are only some, but not all, of the modalities of the present application. Based on the modalities of the present application, all other modalities obtainable by one skilled in the art without creative effort shall be within the scope of the present application. Type I
[039] As shown in FIG. 1, the embodiments of the present application provide a method of processing data. An entity to execute the method can be a blockchain node. The method can comprise the following steps:
[040] In Step S101, distribute, to servers in a server cluster, data from leaf nodes pre-stored on a blockchain node, to servers in the server cluster to calculate checksums of leaf node data distributed, respectively
[041] Here, the leaf node may have no subnode. A blockchain node typically comprises one or more nodes (ie buckets) and each leaf node stores an amount of data (which could, for example, be transaction data). A corresponding numeric value can be defined for the amount of data of each data stored in the leaf node. For example, the amount of data for each piece of data is within a range of 100KB to 5MB, and 1MB in an example. The server cluster may be a group formed by a plurality of identical or different servers and may be capable of providing corresponding services for one or more transactions. The checksum can be a string of characters (for example, a numeric value or a code) used to verify a file or data. In an exemplary application, the checksum can be a numerical value obtained from the calculation using a verification algorithm based on summary data and the like. The data summary based verification algorithm can include cyclic redundancy verification algorithm, message digest algorithm, secure Hash algorithm, etc.
[042] In implementations, a blockchain can be a decentralized distributed database, which is also called a distributed ledger. Based on blockchain technology, a distributed network made up of many information logging memories (eg terminal devices or servers) is required. The propagation of each new transaction can use the distributed network and, according to a point-to-point (P2P) network layer protocol, the information associated with the transaction is sent directly to all other blockchain nodes in the network by a node of individual blockchain, to ensure that data stored on all blockchain nodes in the distributed network is consistent. When one blockchain node registers a new transaction, the data from the new registered transaction needs to be synchronized with other blockchain nodes, while other blockchain nodes need to verify the data. An exemplary verification process might be as follows:
[043] a blockchain node comprises one or more leaf nodes, and data in the blockchain node is distributed in the leaf node, where all data in the leaf nodes comprise receive timestamps and an order of transactions can be determined from according to the timestamps. During verification, a blockchain node can first get the leaf nodes pre-stored in the blockchain node. In order to quickly determine which leaf nodes are stored in the blockchain node and a number of leaf nodes, a corresponding node identifier (eg a node ID (ID)), such as 5 or A8, can be defined for each leaf node when the leaf node is generated. When a leaf node is to be fetched, the corresponding leaf node is searched for pre-registered node identifiers, and the data stored in each leaf node can be fetched.
[044] As the amount of data stored may be different due to impacts by factors such as different time periods and/or different areas, the amount of data accumulated in one or more leaf nodes may consequently be relatively high, while the amount of data in some other leaf nodes may be relatively small. In this way, there can be an imbalance in the amounts of data stored in the leaf nodes of a blockchain node. In order not to impact block generation and to reduce the computation time of a checksum of data in a leaf node, data in a leaf node can be distributed to a plurality of processors in a server cluster for processing, and the computation load can be spread across the server cluster, thus improving computation efficiency.
[045] After the blockchain node obtains the data from all leaf nodes, the blockchain node can distribute, in leaf node units, the data from the leaf nodes to the servers in the server cluster. For example, the number of servers in a server cluster can equal the number of leaf nodes, and then the blockchain node can send data from one leaf node to each server in the server cluster, causing each server in the server cluster comprises only data from a leaf node. In addition to the above-described delivery mode, also a plurality of delivery forms can be used. For example, leaf nodes and data from leaf nodes are sent to servers in a server cluster in a randomly distributed manner. In this way, different servers can receive the same number or different numbers of leaf nodes. As another example, data from leaf nodes can be distributed according to the amount of data from leaf nodes. In one example, a blockchain node might count the amount of data from each leaf node and then evenly distribute the data from the leaf nodes to the servers in a server cluster. For example, there are six leaf nodes with a data amount of 50 MB, 20 MB, 30 MB, 40 MB, 10 MB and 10 MB respectively, and then the leaf node data with a data amount of 50 MB data can be sent to the first server in the server cluster, data from leaf nodes with data quantities of 20 MB and 30 MB can be sent to the second server in the server cluster, and data from leaf nodes with data quantities 40MB, 10MB, and 10MB data can be sent to the third server in the server cluster.
[046] After servers receive data distributed from leaf nodes, servers can calculate a checksum of data received from each leaf node. For example, servers calculate an MD5 value from data received from leaf nodes using a message digest algorithm (for example, the MD5 (Message-Digest algorithm) algorithm). If a server receives data from two leaf nodes, that is, the leaf node 1 data and the leaf node 2 data, respectively, the server can calculate an MD5 value from the leaf node 1 data and calculate a MD5 value of the data from leaf node 2, thus obtaining a checksum of the data received from each leaf node.
[047] In step S102, obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node.
[048] In implementations, after the servers in the server cluster have calculated the checksums of the leaf node data, each server can send the server-calculated checksums of the leaf node data to the blockchain node. After the blockchain node receives the checksums of the data from all leaf nodes stored in the blockchain node, the blockchain node can calculate a root checksum of the data in the blockchain node (ie, the state) with based on checksums of data from all leaf nodes. Here, when the blockchain node calculates the root checksum of the data in the blockchain node, a plurality of intermediate nodes can be provided between the leaf nodes and the root node corresponding to the root checksum. As shown in FIG. 2, A, B, C, and D are leaf nodes, and A1, A2, A3,..., Ap, B1, B2, B3,..., Bq, C1, C2, C3,..., Cr, and D1, D2, D3,..., Dk represent data, respectively. Taking the checksum as a Hash value as an example, the Hash value of leaf node A is hash (A1A2A3... Ap), the Hash value of leaf node B is hash (B1B2B3... Bq), the Hash value of leaf node C is hash (C1C2C3... Cr) and the Hash value of leaf node D is hash (D1D2D3... Dk). M and N are intermediate nodes, so the Hash value of leaf node M is hash (AB), the Hash value of leaf node N is hash (CD). So, the root node's root checksum is hash (MN). By comparing the root checksum obtained from the data in the blockchain node with the root checksum described above, calculated by the blockchain node that sends new transaction data, the blockchain node can verify that the new transaction data is valid. If the new transaction data is valid, the blockchain node can record the data associated with the transaction; if the new transaction data is not valid, the blockchain node can refuse to record the data associated with the transaction.
[049] It should be noted that the root checksum calculation process described above can also be completed by the server cluster. In one example, a management server or a management server cluster can be provisioned in the server cluster, and the management server or management server cluster can tune and control other servers in the server cluster. After other servers in the server cluster calculate the checksums of the leaf node data, the other servers can send the checksums of the leaf node data to the management server or management server cluster, respectively. The management server or management server cluster can calculate a root checksum of data on the blockchain node using the calculation method described above. The management server or management server cluster can send the root checksum obtained from the data on the blockchain node to the blockchain node, and the blockchain node receives the root checksum. Then, the blockchain node can perform verification through the root checksum. The content listed above can be referenced for details, which will not be elaborated here.
[050] In this way, the data checksums of leaf nodes in the blockchain node are obtained through parallel calculation by a plurality of servers in the server cluster, causing the calculation of a data root checksum blockchain node is independent of processing by a single machine, thus improving the efficiency of data checksum calculation.
[051] The modalities of the present application provide a method of data processing, comprising: distributing, to the servers in a server cluster, data from leaf nodes pre-stored in a blockchain node, to the servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel calculation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations.
[052] As shown in FIG. 3, the embodiments of the present application provide a data processing method. An entity for performing the method may be a server cluster, the server cluster may comprise a plurality of servers, and each server may calculate a data checksum. The method can comprise the following steps:
[053] In Step S301, receive data from a leaf node distributed by a blockchain node.
[054] In implementations, when data in a blockchain node needs to be verified, the blockchain node can obtain data from leaf nodes stored in the blockchain node and can distribute, in leaf node units, the data from the leaf nodes. sheet for the servers in the server cluster. The related content in step S101 described above can be referenced to the detailed distribution modes and distribution processes, which will not be elaborated here. Servers in the server cluster can respectively receive data from leaf nodes distributed by the blockchain node, and the related content in Step S101 described above can be referenced for details, which will not be elaborated here.
[055] In Step S302, calculate a checksum of the distributed leaf node data to obtain a data root checksum in the blockchain node.
[056] In implementations, servers in the server cluster can calculate a checksum of data from each leaf node received. After the calculation is complete, the servers in the server cluster can send the checksums obtained from the data from the leaf nodes, respectively, to the blockchain node. The blockchain node may further calculate a root checksum of the data in the blockchain node based on the checksums of the leaf node data returned by the servers, and the related content in Step S102 described above can be referenced for details, that will not be elaborated here.
[057] In some other embodiments of the present application, the root checksum of data on the blockchain node can also be computed by the server cluster. As described above, a management server or a management server cluster can be provided in the server cluster to perform the aggregate calculation on the computed checksum of the data of each leaf node to obtain the root checksum of the data. data in the blockchain node. The related content in Step S102 described above can be referenced for details, which will not be elaborated here.
[058] The modalities of the present application provide a method of data processing, comprising: distributing, to servers in a server cluster, data from leaf nodes pre-stored on a blockchain node, to servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel calculation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations. Type II
[059] As shown in FIG. 4, the embodiments of the present application provide a data processing method. The data processing method can be performed jointly by a blockchain node and a server cluster. The modalities of the present application will be described in detail, taking the checksum to be a Hash value of an example. Checksums in other ways may be performed with reference to related content in the modalities of this application, which will not be elaborated here. The method can comprise the following steps:
[060] In step S401, according to a number of pre-stored leaf nodes, the blockchain node sends data from a predefined number of leaf nodes to the servers in the server cluster, respectively.
[061] Here, the preset number can be set according to real situations such as 5, 10, etc., which will not be elaborated in the modalities of the present order.
[062] In implementations, when transaction data is verified, a Merkle tree design mechanism is often employed for the data in the blockchain node, in order to improve verification efficiency and reduce resource consumption. In order to improve the calculation efficiency to the greatest extent for the checksums of the data in the blockchain node without changing the existing design mechanism of blockchain data in the modalities of the present application, the blockchain node data in the modalities of the this application can even use the Merkle tree design engine. A Merkle tree can comprise a plurality of leaf nodes (ie the buckets), and the node identifiers of all leaf nodes in the Merkle tree can be registered in the blockchain node. When transaction data needs to be verified, the node identifiers of all leaf nodes in the Merkle tree can be obtained.
[063] As shown in FIG. 5, the blockchain node can get data from all leaf nodes based on node identifiers of all leaf nodes, respectively, and can also get the number of leaf nodes stored in the blockchain node and the number of servers on the server cluster. According to the number of servers and the number of leaf nodes, the blockchain node can determine a number of leaf nodes to be distributed to each server. For example, there are a total of 10 leaf nodes and the server cluster has a total of 10 servers. Then data from a leaf node can be sent to each server, or data from a group of two or five leaf nodes can be sent to a server in the server cluster, respectively.
[064] In the process where the blockchain node distributes data from the leaf nodes to the server cluster, the blockchain node can also distribute node identifiers from the leaf nodes to the servers in the server cluster. According to the distributed identifier node, a server may send a data get instruction comprising the node identifier to the blockchain node. When the blockchain node receives the data get instruction, the blockchain node can extract the node identifier in the data get instruction, look up the data of a corresponding leaf node through the node identifier, and send the data to the corresponding server. In this way, the server cluster can extract data from corresponding leaf nodes from data from a corresponding leaf node, respectively.
[065] It should be noted that, in an example application, data from leaf nodes can also be distributed to servers in the server cluster according to the amounts of data from leaf nodes, or data from leaf nodes they can also be distributed to servers in the server cluster at random. The related content in Step S101 in Modality I can be referenced for details, which will not be elaborated here.
[066] In Step S402, the server cluster calculates the checksums of the data from the distributed leaf nodes.
[067] In step S403, the server cluster sends the checksums of data from the distributed leaf nodes to the blockchain node.
[068] The related content in Modality I can be referenced to the detailed processes of Step S402 and Step S403 above, which will not be elaborated here.
[069] In step S404, the blockchain node determines, according to the checksums above the leaf nodes, a root checksum of a Merkle tree corresponding to the leaf nodes.
[070] In implementations, after the blockchain node receives the checksums from the leaf nodes sent by the servers in the server cluster, the blockchain node can build a corresponding Merkle tree through the leaf nodes. Since the Hash values of the leaf nodes in the Merkle tree have been determined and only the Hash value of the Merkle tree root node (ie the Merkle tree root checksum) has not yet been obtained, the The Hash value of the Merkle tree corresponding to the leaf nodes can be calculated upward from the Hash values of the leaf nodes, thus obtaining the root checksum of the Merkle tree corresponding to the leaf nodes.
[071] In Step S405, the blockchain node assigns the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[072] In an example application, the root checksum can also be calculated by the server cluster, and the processing can comprise: calculating the data checksums of distributed leaf nodes; obtain, based on the checksums of the data from the distributed leaf nodes, a root checksum of the data in the blockchain node and send the root checksum to the blockchain node. The related content in Modality I can be referenced to the detailed process, which will not be elaborated here.
[073] The modalities of the present application provide a method of data processing, comprising: distributing, to servers in a server cluster, data from leaf nodes pre-stored in a blockchain node, to servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of the data in the blockchain node. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel computation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations. Type III
[074] As shown in FIG. 6, the embodiments of the present application provide a data processing method. The data processing method can be performed jointly by a blockchain node and a server cluster. The modalities of the present application will be described in detail, taking the checksum to be a Hash value of an example. Checksums in other ways may be performed with reference to related content in the modalities of this application, which will not be elaborated here. The method can comprise the following steps:
[075] In Step S601 - the blockchain node distributes data from a pre-stored leaf node to the servers in the server cluster.
[076] The contents listed in Modality I and Modality II can be referenced to the detailed process of Step S601, which will not be elaborated here.
[077] In step S602, the server cluster distributes, according to a leaf node data amount, the leaf node data into predefined sub-leaf nodes
[078] Here, there is no association relationship between the sub-leaf nodes and the leaf node, such as a membership relationship, a subordinate relationship, a parent relationship or a child relationship. A subleaf node can be a data packet comprising one or more pieces of data, while a leaf node (bucket) can be a container in the Merkle tree for data storage. The number of subleaf nodes can be greater than the number of leaf nodes. For example, if the number of leaf nodes is 5, then the number of sub-leaf nodes could be 20.
[079] In implementations, one or more leaf nodes among the pre-stored leaf nodes in the blockchain node can have a high amount of data (eg comprising a million pieces of data, etc.). Thus, when leaf node data is distributed to a server in the server cluster to calculate the leaf node Hash value, the server needs to piece together the large amount of data in the leaf nodes to get a split string , and then calculates the Hash value of the joined string. This process still takes a long time and resource consumption by the server is still high. In view of this, a plurality of subleaf nodes can be predefined, or a maximum amount of data that each subleaf node can accommodate can be defined for each subleaf node according to actual needs, for example 1GB or 500MB . Leaf node data can be distributed to the predefined plurality of sub-leaf nodes in a random distribution or even distribution fashion.
[080] There can be several ways to implement Step S602. An optional processing method will be provided below, which may comprise: sorting the leaf node data, sequentially selecting a predefined number of data from the selected data for placement in the sub-sheet nodes, respectively, and defining the corresponding sub-node identifiers for the subleaf nodes.
[081] According to the data processing rate and checksum calculation rate of each server in the server cluster and according to the number of servers in the server cluster, the server cluster can determine a quantity of data that each server is capable of processing, ensuring a high overall data processing efficiency (eg greater than a defined efficiency threshold) and then can determine an amount of data or a number of pieces of data that each subsheet node can accommodate. The server cluster can calculate the total amount of data from leaf nodes distributed to each server. Then, the server cluster can sort the data from the distributed leaf nodes according to timestamps indicating when the data is stored in the blockchain node, sequentially distribute a predefined number of data from the sorted plurality of data to each node. sub-sheet, and define corresponding sub-node identifiers for the sub-sheet nodes, respectively, according to the order of the data, so as to indicate the position of the data of a sub-sheet node in the data of all sub-sheet nodes.
[082] For example, a sub-leaf node distributed by a server in the server cluster is stored with 50 pieces of data, each piece of data is 5 MB and then the amount of data is 250 MB. If the amount of data that can be accommodated by each subleaf node is 25 MB, then 250/25 = 10 and therefore 10 subleaf nodes can be obtained. Then the sub-leaf nodes are numbered 1-10 as sub-node identifiers according to the order of the data. After the processing described above, the storage positions of the 50 pieces of data are as follows: Data pieces 1-5 in order are stored in a sub-sheet node numbered 1, the nos. 6-10 pieces of data in order are stored in a sub-sheet node numbered 2, the nos. pieces of data 11-15 in order are stored in a sub-sheet node numbered 3, and so on, thus obtaining the storage position of each piece of data. As each piece of data is 5MB, each sub-sheet node can contain 5 pieces of data.
[083] In step S603, the server cluster calculates a checksum of the data for each subleaf node.
[084] In implementations, after the servers in the server cluster obtain the corresponding subleaf nodes, the servers can obtain data stored in the subleaf nodes and then calculate a checksum for each subleaf node using a predefined verification algorithm. For example, data stored in a sub-sheet node can be sorted and then SHA256 (Secure Hash Algorithm 256) can be used for sorted data to calculate a value of SHA256 (that is, the value of Hash) as the checksum of the leaf subnode.
[085] In step S604, the server cluster calculates a checksum of the distributed leaf node data according to the data checksum of each subleaf node
[086] In implementations, after the server cluster obtains the checksum of each subleaf node, the checksums of the subleaf nodes can be sorted according to the order of the subnode identifiers. The server cluster can then perform the calculation in an aggregated fashion based on the checksums of the subleaf nodes using a predefined checksum to obtain a checksum of the corresponding leaf node, thus obtaining a sum of verification of data from leaf node distributed by blockchain node.
[087] For example, based on the example of Step S602, the respective Hash values of the data of sub-sheet nodes 10 can be obtained by processing in Step S603. Since the data from the sub-sheet nodes 10 is distributed from the data from a leaf node, the calculation performed in an aggregated fashion shown in FIG. 2 can be performed on the Hash values obtained from the data of subleaf nodes 10 to obtain a Hash value of the corresponding leaf node.
[088] It should be noted that the data from the subleaf nodes can also be pulled through the sub-leaf nodes defined sub-node identifiers. Correspondingly, the processing in Step S604 can be as follows: calculate a checksum of the distributed leaf node data according to the sub-node identifiers of the sub-leaf nodes and the checksum of each sub-leaf node. The content listed above can be referenced for detailed processing, which will not be elaborated here.
[089] In Step S605, the server cluster sends the checksum of data from the distributed leaf nodes to the blockchain node.
[090] In step S606, the blockchain node determines a root checksum of a Merkle tree corresponding to the leaf nodes according to the checksums of the leaf nodes
[091] In implementations, a data root checksum on the blockchain node can be calculated using a predefined checksum algorithm based on the checksums of the leaf nodes. For example, according to the leaf node positions corresponding to the node identifiers registered in all leaf nodes in the blockchain node, a node distribution tree (ie Merkle's tree) formed by the leaf nodes can be obtained, such as ABCF, ABE, and AD. When the checksums of the leaf nodes (that is, checksums of B+C+D+E+F) are obtained, a Merkle tree root checksum can be calculated according to the checksums leaf nodes, thus obtaining the root checksum of the blockchain node data.
[092] In Step S607, the blockchain node assigns the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[093] The contents listed in Modality I and Modality II can be referenced to the detailed processes of Step S605 and Step S607, which will not be elaborated here.
[094] The modalities of the present application provide a method of data processing, comprising: distributing node identifiers from leaf nodes to a server cluster, having the server cluster distribute each predefined number of pieces of data to the subleaf nodes according to the obtained amounts of data stored in leaf nodes in a target blockchain, then calculate a checksum of each subleaf node, determine the checksums of the corresponding leaf nodes, and finally, provide the checksums of the leaf nodes to a blockchain node to calculate a checksum of the data in the blockchain node. In this way, the data stored on the leaf nodes is redistributed across the server cluster to get the subleaf nodes and then the checksums of the subleaf nodes are calculated, causing the data to be evenly distributed across the cluster. Calculation server for parallel calculation of checksums, thus reducing the time spent by the calculation process, improving calculation efficiency and ensuring normal block generation and normal blockchain operations. Type IV
[095] As shown in FIG. 7, the embodiments of the present application provide a data processing method. The data processing method can be performed jointly by a blockchain node and a server cluster. Here, the server cluster may further comprise a first server cluster and a second server cluster as shown in FIG. 8. FIG. 8 provides a data processing system. The data processing system can comprise server clusters at two levels, that is, the first server cluster and the second server cluster, where the first server cluster is one level below the blockchain, and the second server cluster is one level below the blockchain. server is one level below the first server cluster. The hierarchical structure above can achieve goals such as recombining data, distributing data, etc. to speed up the data processing rate. The modalities of the present application will be described in detail, taking the checksum to be a Hash value of an example. Checksums in other ways may be performed with reference to related content in the modalities of this application, which will not be elaborated here. The method can comprise the following steps:
[096] In step S701, the blockchain node obtains a node identifier from a pre-stored leaf node.
[097] In implementations, whenever data is stored in the blockchain node, a leaf node is correspondingly generated in the blockchain node, and a node identifier of the leaf node is also generated. Thus, the blockchain can comprise a plurality of leaf nodes, and each leaf node stores an amount of data. Whenever a node identifier is generated, the node identifier can be stored, and the position of a leaf node corresponding to the node identifier in all leaf nodes of the blockchain node can be recorded. For example, the generated node identifier is F and the leaf node position corresponding to the node identifier can be A-B-C-F.
[098] In Step S702, the blockchain node sends the node identifier to servers in the server cluster.
[099] In implementations, based on the system structure shown in FIG. 8, the blockchain node can get data stored in the leaf nodes comprised in the blockchain node, and can divide the node identifiers of the leaf nodes into a group or multiple groups according to a pre-built distribution rule or a random way. Each group of node identifiers can be sent to a server in the first server cluster.
[0100] In Step S703, the first server cluster obtains, according to the distributed node identifiers, data from the leaf nodes corresponding to the node identifiers of the blockchain node
[0101] In implementations, a server in the first server cluster may send a get data instruction comprising node identifiers to a blockchain device and then fetch data from leaf nodes corresponding to the node's node identifiers of blockchain.
[0102] In Step S704, the first server cluster generates one or more subleaf nodes according to the amounts of data obtained from the leaf nodes.
[0103] Here, as described above, there is no association relationship between the sub-leaf nodes and the leaf node in the modalities of the present application, such as a belonging relationship, a subordination relationship, a parent relationship or a child relationship . A subleaf node can be a data packet comprising one or more pieces of data, while a leaf node (bucket) can be a container in the Merkle tree for data storage.
[0104] In implementations, an amount of data or a number of pieces of data that a sub-leaf node can accommodate can be predefined, for example, 100 MB or 10 pieces. The total amount of data from the leaf nodes allotted to each server in the first server cluster can be calculated, and one or more sub-leaf nodes can be generated according to the amount of data or the number of pieces of data that each node of subsheet can accommodate.
[0105] In step S705, the first server cluster sorts the data from the leaf nodes, sequentially selects a predefined number of data pieces of the sorted data for placement in the corresponding sub-leaf nodes, respectively, and sets the corresponding sub-node identifiers to the subleaf nodes.
[0106] In implementations, the lengths of time taken by any server in the first server cluster to calculate the Hash values for one and several pieces of data can be pre-tested in a repeated fashion, from which a number of data corresponding to a relatively short time duration and a relatively low processing load on the server can be selected. This number of pieces can be set to the predefined number of pieces, for example 30 or 50 pieces. As each piece of data is provided with a timestamp in the storage process or blockchain transaction, the storage or transaction time of each data piece can be determined through the timestamp. In this way, the timestamp on each piece of data can be obtained, and a plurality of pieces of data can be sorted according to the order of the timestamps. A predefined number of data pieces can be sequentially selected from the ordered plurality of data pieces and distributed into corresponding sub-sheet nodes, respectively. To mark the order of data distributed across different sub-sheet nodes, sub-node identifiers can be defined for the corresponding sub-sheet nodes based on the distributed data.
[0107] For example, the predefined number of pieces is three pieces and the data of a leaf node can include A, B, C, D, E, F, G, H and K. After that the data is sorted accordingly with timestamps, the order of the above data can be HG-FEDCBAK. So, three pieces of H-G-F data can be distributed in a sub-leaf node, three pieces of E-D-C data can be distributed in a sub-leaf node, and three pieces of B-A-K data can be distributed in a sub-leaf node. To mark the order of the data stored in the three sub-leaf nodes, the sub-node identifier of the sub-leaf node where HGF is located can be set to sub-node 1, the sub-node identifier of the sub-leaf node where the EDC is located can be set to sub-node 2, and the subnode identifier of the subleaf node where the BAK is located can be defined as subnode 3.
[0108] In Step S706, the first server cluster distributes the data from the subleaf nodes to the servers in the second server cluster.
[0109] In implementations, index data such as the currently remaining bandwidth and/or the data transmission rate of each server in the second server cluster can be obtained, respectively. The compute resource of each server in the first server cluster can be evaluated based on the obtained index data, and the data from the corresponding subleaf nodes can be sent to the servers in the second server cluster according to the magnitude of the resources. calculation.
[0110] In addition, to maximize calculation efficiency, the number of subleaf nodes distributed to servers in the second server cluster can be adjusted. In one example, index data such as current remaining bandwidth and/or data baud rate for each server in the second server cluster can be obtained, respectively. The compute resource of each server can be evaluated based on the obtained index data and the corresponding subleaf nodes can be distributed to servers in the second server cluster according to the magnitude of the compute resources. For example, the second server cluster comprises five servers and two subleaf nodes can be distributed to each server. If it is determined, through calculation, that a server in the second server cluster has the most powerful calculation capability, then data from 3 of the 10 sub-leaf nodes above can be sent to this server. If it is determined, through calculation, that a server in the second server cluster has the weakest compute resource, then data from 1 of the 10 sub-leaf nodes above can be sent to this server. In the manner described above, the one or more subleaf nodes generated can be provisioned to servers in the second server cluster in a balanced manner.
[0111] In Step S707, the second server cluster calculates a Hash value from each sub-leaf node and returns the Hash value to the corresponding servers in the first server cluster.
[0112] In implementations, after a server in the second server cluster receives the corresponding subleaf nodes, the server can extract data on each subleaf node and sort the data according to the order of the timestamps of the data. The server can take a string made up of the sorted data and use a predefined Hash algorithm to calculate a Hash value of that string, that is, the Hash value of the subleaf node. With the method described above, the second server cluster can obtain a Hash value from each sub-leaf node, which can then be sent, via the corresponding servers, to the corresponding servers in the first server cluster.
[0113] In Step S708, the first server cluster determines a distributed leaf node Hash value according to the Hash value of each subleaf node and subnode identifiers of the subleaf nodes sent by the second server cluster.
[0114] In implementations, after the servers in the first server cluster receive the checksums from the subleaf nodes returned by the second server cluster, the servers can obtain a subnode identifier from each subleaf node, respectively. Servers can then sort the subleaf nodes according to the subnode identifier of each subleaf node and can collect Hash values from the sorted subleaf nodes to get a Hash value from the subleaf nodes. For example, an order of Hash values of sub-sheet nodes can be determined according to the order of sub-sheet nodes, and the sorted hash values can form a string. A string Hash value can be calculated using a predefined Hash algorithm and the Hash value is the Hash value of the corresponding leaf node. In addition, other ways of Hash value calculation can be used to determine the leaf node Hash value. For example, an average of the Hash values of one or more subleaf nodes can be calculated as the Hash value of the leaf node; alternatively, the Hash value of the leaf node can be obtained based on the weight of each subleaf node and a Hash value of each subleaf node.
[0115] In Step S709, the first server cluster sends the distributed leaf node Hash value to the blockchain node.
[0116] In Step S710, the blockchain node determines, according to the checksums of the leaf nodes, a root checksum of a Merkle tree corresponding to the leaf nodes, and assigns the root checksum. from the Merkle tree to a root checksum of the data in the blockchain node.
[0117] The modalities of the present application provide a data processing method, comprising: generating, according to a quantity of data from leaf nodes in a blockchain node, one or more sub-leaf nodes distributed with a predefined number of data, then distribute the subleaf nodes to a second server cluster to calculate a checksum of each subleaf node, determine the checksums of the corresponding leaf nodes according to the checksum of each subleaf node, and, finally, provide the checksums of the leaf nodes to the blockchain node to calculate a root checksum of the data in the blockchain node. In this way, the data stored on the leaf node is redistributed by a first server cluster to get the subleaf nodes, and then the subleaf nodes are distributed to the second server cluster to calculate checksums, making that data is evenly distributed to the second server cluster for parallel computation of checksums, thus reducing the time spent by the computation process, improving computation efficiency, and ensuring normal block generation and normal blockchain operations. Type V
[0118] The above are the data processing methods provided by the modalities of this application. Based on the same concept, the embodiments of the present application further provide a data processing device as shown in FIG. 9.
[0119] The data processing device can be the blockchain node provided in the above modalities, and in an example, it can be a terminal device (eg a personal computer, etc.) or a server. The device may comprise a data distribution module 901 and a root checksum obtaining module 902, wherein:
[0120] data distribution module 901 is configured to distribute, to servers in a server cluster, data from leaf nodes pre-stored on a blockchain node, to servers in the server cluster to calculate checksums the data from the distributed leaf nodes, respectively; and
[0121] The root checksum obtain module 902 is configured to further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a data root checksum in the blockchain node.
[0122] In the embodiments of the present application, the root checksum obtain module 902 is configured to receive the root checksum of data on the blockchain node sent by servers in the server cluster.
[0123] In the embodiments of the present application, the root checksum obtain module 902 is configured to determine, according to the checksums of the leaf nodes, a root checksum of a Merkle tree corresponding to the leaf knots; and assign the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[0124] In the embodiments of the present application, the data distribution module 901 is configured to, according to a number of leaf nodes pre-stored in the blockchain node, send data from a predefined number of leaf nodes to the servers on the server cluster, respectively.
[0125] In the embodiments of this application, the checksum is a Hash value.
[0126] The modalities of the present application provide a data processing device configured to distribute, distribute, to servers in a server cluster, data from leaf nodes pre-stored on a blockchain node, to servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a data root checksum in the blockchain node. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel computation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations. Type IV
[0127] Based on the same concept, the embodiments of the present application further provide a data processing device, as shown in FIG. 10.
[0128] The data processing device may be the server cluster provided in the embodiments, and the device may comprise a data receiving module 1001 and a checksum obtaining module 1002, wherein: a receiving module data 1001 is configured to receive data from a leaf node distributed over a blockchain node; and the checksum obtain module 1002 is configured to calculate a checksum of the distributed leaf node data to obtain a data root checksum in the blockchain node.
[0129] In the embodiments of the present application, the device further comprises: a data distribution module configured to, according to an amount of data from the leaf node, distribute the data from the leaf node into predefined sub-sheet nodes; a calculation module is configured to calculate a checksum of data from each sub-sheet node; and correspondingly, the checksum obtaining module 1002 is configured to, in accordance with the data checksum of each subleaf node, calculate a checksum of the distributed leaf node data.
[0130] In the embodiments of the present application, the data distribution module is configured to sort leaf node data, sequentially select a predefined number of data pieces of sorted data for placement in sub-sheet nodes, respectively, and define identifiers from subnode corresponding to subitem leaf nodes; and correspondingly, the checksum obtaining module 1002 is configured to, according to the sub-node identifiers of the sub-leaf nodes and the checksum of each of the sub-leaf nodes, calculate a checksum of the data of the sub-leaf node. distributed sheet.
[0131] In the embodiments of the present application, the checksum obtaining module is configured to calculate the checksum of the distributed leaf node data, and send the distributed leaf node data checksum to the distributed leaf node. blockchain for the blockchain node calculate the root checksum of the data in the blockchain node according to the checksum of the leaf node data; or calculate the checksum of the distributed leaf node data, obtain the root checksum of the data in the blockchain node based on the distributed leaf node data checksum, and send the root checksum to the blockchain node.
[0132] The modalities of the present application provide a data processing device configured to distribute, distribute, to the servers in a server cluster, data from leaf nodes pre-stored on a blockchain node, to the servers in the cluster of server calculate checksums of data from distributed leaf nodes, respectively; and further obtain, according to the checksums of the leaf node data calculated by the servers in the server cluster, a data root checksum in the blockchain node. In this way, as the data from the leaf nodes is distributed to the server cluster and then the data checksums from the distributed leaf nodes are calculated by each server in the server cluster, the data can be distributed to the server cluster for parallel computation of checksums of data from leaf nodes, thus reducing the time spent by the calculation process, improving calculation efficiency, and ensuring normal block generation and normal blockchain operations.
[0133] In the 1990s, an improvement to a technology can obviously be differentiated into a hardware improvement (eg an improvement to a circuit structure such as a diode, transistor, switch, etc.) or an improvement software (an improvement to a one-method flow). With technological development, however, many current improvements in method flows can be considered as direct improvements in hardware circuit structures. Designers almost always obtain a corresponding hardware circuit structure by programming an enhanced method flow into a hardware circuit. Therefore, it cannot be concluded that an improvement to a method flow cannot be performed with a hardware module. For example, the Programmable Logic Device (PLD) (eg, Field Programmable Gate Array (FPGA)) is an integrated circuit in which the logic functions of the integrated circuit are determined by a user through device programming. A designer programs himself to “integrate” a digital system into a PLD part, which does not need to ask a chipmaker to design and manufacture a dedicated IC chip. Currently, in addition, this type of programming has been mainly implemented through “logical compiler” software, rather than manually manufacturing IC chips. Logical compiler software is similar to a software compiler used for developing and writing programs, whereas a specific programming language must be used to write source code before compiling, which is called a Hardware Description Language (Hardware Description Language - HDL). There is not just one, but many types of HDL, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language - Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. . The most commonly used ones today include VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. One skilled in the art should also be aware that it would be very easy to get a hardware circuit to implement a logical method flow using the above HDLs to do some logic programming in the method flow and program the method flow into an IC.
[0134] A controller can be implemented in any appropriate way. For example, a controller can be, for example, in a form of microprocessor or processor, as well as on a computer-readable medium that stores computer-readable program codes (eg, software or firmware) capable of being executed by the (micro )processor, a logic gate, a switch, an Application Specific Integrated Circuit (ASIC), a programmable logic controller and an embedded microcontroller. Controller examples include, but are not limited to, the following controllers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. A memory controller can also be implemented as part of a memory control logic. One of ordinary skill in the art should also be aware that, in addition to a controller being implemented in a form of pure calculator readable program codes, it is entirely practicable to perform logic programming in steps of a method to allow a controller to implement the same functions in the form of a logic gate, a switch, an ASIC, a programmable logic controller, an embedded microcontroller, etc. Therefore, such a controller can be considered a piece of hardware, while devices comprised in the controller and configured to achieve various functions can also be considered as a structure within the piece of hardware. Alternatively, devices configured to achieve various functions can even be thought of as software modules to implement a method and structure within a piece of hardware.
[0135] The system, device, module or unit described in the above modalities can be implemented by a chip or calculator entity, or implemented by a product that has a function. A typical deployment device is a computer. In one example, a computer can be, for example, a personal computer, a laptop, a cell phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, a device a game console, a tablet computer, a body-worn device, or a combination of any devices on these devices.
[0136] For convenience of description, the above device is divided into several units according to functions for description. Unit functions can be implemented in one or more pieces of software and/or hardware when the present application is implemented.
[0137] One of skill in the art should understand that embodiments of the present invention may be provided as a method, a system or a computer program product. Therefore, the present invention can be implemented as a complete hardware modality, a complete software modality, or a combination software and hardware modality. Furthermore, the present invention may be in the form of a computer program product implemented on one or more computer usable storage media (including, but not limited to, a magnetic disk memory, CD-ROM, an optical memory, etc.) comprising computer usable program codes.
[0138] The present invention is described with reference to flowcharts and/or block diagrams of the method, device (system) and computer program product according to the embodiments of the present invention. It should be understood that a computer program instruction can be used to implement each process and/or block in the flowcharts and/or block diagrams and a combination of processes and/or blocks in the flowcharts and/or block diagrams. These computer program instructions can be provided to a general purpose computer, a special purpose computer, an embedded processor, or a processor of other programmable data processing devices to generate a machine, causing the instructions to be executed by a A computer or processor of other programmable data processing devices manages an apparatus to implement a specified function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
[0139] These computer program instructions may also be stored in computer readable memory which may instruct a computer or other programmable data processing devices to work in a particular way, causing instructions stored in computer memory to generate a manufactured article which includes a teaching apparatus. The instruction apparatus implements a specified function in one or more processes in flowcharts and/or in one or more blocks in block diagrams.
[0140] These computer program instructions can also be loaded into a computer or other programmable data processing devices, causing a series of operational steps to be performed on the computer or other programmable devices, thus generating computer-implemented processing. Therefore, instructions executed in the computer or other programmable devices provide steps to implement a specified function in one or more processes in flowcharts and/or in one or more blocks in block diagrams.
[0141] In a typical configuration, the computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and a memory.
[0142] Memory may include computer-readable media such as volatile memory, Random Access Memory (RAM) and/or non-volatile memory, eg, Read-Only Memory (ROM) or flash RAM memory. Memory is an example of a computer-readable medium.
[0143] Computer readable media include permanent, volatile, mobile and immovable media that can implement information storage by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, Phase-change Random Access Memories (PRAMs), Static Random Access Memories (SRAMs), Dynamic Random Access Memories (DRAMs), other types of Random Access Memories (RAMs), ReadOnly Memories (ROMs), Electrically Erasable Programmable Read Only Memories -Only Memories - EEPROM), flash memories or other memory technologies, Compact Disk Read-Only Memories (CD-ROM), Digital Versatile Discs (DVDs) or other optical memories, cassettes, cassette and disk memories or other magnetic memory devices, or any other non-transmission medium, which can be used to store information. accessible to a calculation device. According to the definitions of the specification, computer readable media does not include transient media such as modulated data signals and carriers.
[0144] It should also be noted that the terms "including", "comprising" or any other variants of the terms are intended to encompass a non-exclusive inclusion, making a process, method, commodity or device comprising a series of elements not only comprise these elements, but also comprise other elements that are not clearly listed, or even comprise elements that are inherent to the process, method, commodity or device. When there is no additional restriction, the elements defined by the statement "comprising a..." do not exclude that a process, method, commodity or device comprising the above elements further comprises additional identical elements.
[0145] One of skill in the art should understand that the embodiments of the present application may be provided as a method, a system or a computer program product. Therefore, the present application can be implemented as a complete hardware modality, a complete software modality or a modality that combines software and hardware. Furthermore, the present application may be in the form of a computer program product implemented on one or more computer usable storage media (including, but not limited to, a magnetic disk memory, CD-ROM, an optical memory, etc.) comprising computer usable program codes.
[0146] The present application can be described in the regular context of a computer executable instruction that is executed by a computer, such as a program module. Generally, the program module comprises a routine, a program, an object, a component, a data structure, etc., to perform a specific task or implement a specific abstract data type. The present application can also be practiced in distributed computing environments. In these distributed computing environments, remote processing devices connected through communication networks perform tasks. In distributed computing environments, a program module can be located on both local and remote computer storage media, including storage devices.
[0147] The modalities in this descriptive report are described in a progressive manner, with each modality focused on differences from other modalities, and the modalities may be mutually referenced to identical or similar parts. In particular, the system modality is described in a relatively simple manner, since the system modality is substantially similar to the method modality. Description of method modality can be referenced to related parties.
[0148] The above are only modalities of this application which are not used to limit this application. For one skilled in the art, the present application may have various modifications and changes. Any modification, equivalent replacement, or improvement made within the spirit and principle of this application shall be encompassed by the claims of this application.
权利要求:
Claims (15)
[0001]
1. Data processing method, CHARACTERIZED by the fact that it comprises: distribute (S601), by a blockchain node, to servers in a server cluster, pre-stored leaf node data in the blockchain node, distribute (S602 ), for each server in the server cluster, the corresponding leaf node data uniformly across a plurality of sub-leaf nodes in accordance with a corresponding leaf node data amount; calculating (S603), by the servers in the server cluster, a checksum for the data of each among the corresponding plurality of sub-leaf nodes in parallel; calculating (S604), by the servers in the server cluster, a checksum of the data of the leaf nodes in accordance with the checksum of the data of each sub-leaf node; obtain, by a blockchain node, according to the checksums of the leaf node data calculated by the servers in the server cluster, a data root checksum on the blockchain node.
[0002]
2. Method according to claim 1, CHARACTERIZED by the fact that the obtaining, by the blockchain node, according to the checksums of the data of the leaf nodes calculated by the servers in the server cluster, of a checksum blockchain node data root comprises: receiving the root checksum of the blockchain node data sent by servers in the server cluster.
[0003]
3. Method according to claim 1, CHARACTERIZED by the fact that the obtaining, by the blockchain node, according to the checksums of the data from the leaf nodes calculated by the servers in the server cluster, of a checksum data root in the blockchain node comprises: determining, according to the checksums of the leaf nodes, a root checksum of a Merkle tree that corresponds to the leaf nodes; and assign the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[0004]
4. Method according to any one of claims 1 to 3, CHARACTERIZED by the fact that the distribution, by the blockchain node, to servers in a server cluster, of data from leaf nodes pre-stored in the blockchain node comprises: according to a number of the pre-stored leaf nodes in the blockchain node, respectively, sending data from a predefined number of leaf nodes to the servers in the server cluster.
[0005]
5. Method, according to any one of claims 1 to 4, CHARACTERIZED by the fact that the checksums are Hash values.
[0006]
6. Data processing method, CHARACTERIZED by the fact that it comprises: receiving, by a server of a server cluster, data from a leaf node distributed by a blockchain node; and distributing (S602), by the server, leaf node data evenly on a plurality of sub-leaf nodes in accordance with an amount of leaf node data; calculating (S603), by the server, a checksum for the data of each among the plurality of sub-sheet nodes in parallel; calculate, by the server, in accordance with the data checksums of the plurality of subleaf nodes, a checksum of the data from the leaf node distributed to the blockchain node to obtain a data root checksum in the node of blockchain.
[0007]
7. Method according to claim 6, CHARACTERIZED by the fact that the distribution, by the server, of data from the leaf node evenly in a plurality of sub-leaf nodes according to an amount of data from the leaf node comprises: sort leaf node data; sequentially selecting a predefined number of pieces of data from the sorted data for placement in subsheet nodes; and defining corresponding sub-node identifiers for the sub-leaf nodes, and wherein, according to the data checksums of the plurality of sub-leaf nodes, calculating the data checksum of the distributed leaf node comprises: according to sub-node identifiers of the sub-leaf nodes and the checksum of each of the sub-leaf nodes, calculate the checksum of the distributed leaf node data.
[0008]
8. Method according to claim 6, CHARACTERIZED by the fact that the calculation, according to the data checksums of the plurality of sub-leaf nodes, of a distributed leaf node data checksum to obtain a root data checksum in blockchain node comprises: calculate checksum of data from distributed leaf node and send checksum of data from distributed leaf node to blockchain node for blockchain node to calculate the root checksum of data in blockchain node according to checksum of data in leaf node; or calculate the checksum of the distributed leaf node data, obtain the root checksum of the data in the blockchain node based on the checksum of the distributed leaf node data, and send the root checksum to the node. of blockchain.
[0009]
9. Data processing device, CHARACTERIZED by the fact that it comprises: a data distribution module (901) configured to distribute, to servers in a server cluster, data from leaf nodes pre-stored in a blockchain node, for each server in the server cluster distribute the corresponding leaf node data evenly across a plurality of sub-leaf nodes according to an amount of leaf node data, calculate a checksum for each of the plurality of sub-leaf nodes. subleaf in parallel, and calculating, in accordance with the data checksums of the plurality of subleaf nodes, a data checksum of the corresponding leaf node, respectively; and a root checksum obtain module (902) configured to obtain, in accordance with the checksums of the leaf node data calculated by the servers in the server cluster, a root checksum of data in the node. blockchain.
[0010]
10. Device according to claim 9, CHARACTERIZED by the fact that the obtaining root checksum module (902) is configured to receive the root checksum of data on the blockchain node sent by servers in the cluster or, where the root checksum obtain module (902) is configured to determine, according to the checksums of the leaf nodes, a root checksum of a Merkle tree corresponding to the leaf knots; and assign the Merkle tree root checksum to the root checksum of the data in the blockchain node.
[0011]
11. Device according to claim 9 or 10, CHARACTERIZED by the fact that the data distribution module (901) is configured to, according to a number of leaf nodes pre-stored in the blockchain node, send, respectively, data from a predefined number of leaf nodes to servers in the server cluster.
[0012]
12. Device according to any one of claims 9 to 11, CHARACTERIZED by the fact that the checksums are Hash values.
[0013]
13. Data processing device, CHARACTERIZED by the fact that it comprises: a data receiving module configured to receive data from a leaf node distributed by a blockchain node; a data distribution module (1001) configured to distribute the leaf node data evenly across a plurality of sub-sheet nodes in accordance with an amount of leaf node data; a calculation module configured to calculate a checksum of data from each subsheet node in parallel; and a checksum obtaining module (1002) configured to, in accordance with the data checksums of the plurality of sub-leaf nodes, calculate a checksum of the distributed leaf node data to obtain a checksum of data root in the blockchain node.
[0014]
14. Device according to claim 13, CHARACTERIZED by the fact that the data distribution module (1001) is configured to sort data from the leaf node, sequentially selecting a predefined number of pieces of data from the sorted data for placing in the sub-leaf nodes, and defining corresponding sub-node identifiers for the sub-leaf nodes, and wherein the checksum obtaining module (1002) is configured to, according to the sub-node identifiers of the sub-leaf nodes and the checksum of each of the subleaf nodes, calculate the checksum of the distributed leaf node data.
[0015]
15. Device according to claim 13, CHARACTERIZED by the fact that the checksum obtaining module (1002) is configured to calculate the checksum of the distributed leaf node data and send the data checksum from the distributed leaf node to the blockchain node to the blockchain node calculate the root checksum of the data in the blockchain node according to the checksum of the data in the leaf node; or calculate the checksum of the distributed leaf node data, obtain the root checksum of the data in the blockchain node based on the checksum of the distributed leaf node data, and send the root checksum to the blockchain node.
类似技术:
公开号 | 公开日 | 专利标题
BR112019016423B1|2021-08-31|DATA PROCESSING DEVICES AND METHODS
US9811684B1|2017-11-07|Token-based storage service
TWI695260B|2020-06-01|Block data verification method and device
Esiner et al.2016|Flexdpdp: Flexlist-based optimized dynamic provable data possession
CN101853190A|2010-10-06|Data integrity verification method suitable for embedded processor
US9641598B1|2017-05-02|Contextually unique identifier generation service
CN109191287A|2019-01-11|A kind of sharding method, device and the electronic equipment of block chain intelligence contract
Korupolu et al.2018|Robust and probabilistic failure-aware placement
Rahman et al.2019|Topology-custom UGAL routing on dragonfly
Wang et al.2020|{MAPX}: Controlled Data Migration in the Expansion of Decentralized {Object-Based} Storage Systems
US10387578B1|2019-08-20|Utilization limiting for nested object queries
BR112020027062A2|2021-03-30|SYSTEM AND METHOD FOR DATA SECURITY CLASSIFICATION
Ramya et al.2020|SecDedoop: secure deduplication with access control of big data in the HDFS/hadoop environment
CN103399876A|2013-11-20|Distributed file system and file positioning method thereof
Vijayakumar et al.2015|FIR3: A fuzzy inference based reliable replica replacement strategy for cloud Data Centre
Stanton et al.2010|Fastad: an authenticated directory for billions of objects
Safaei et al.2016|Implicit effect of decoding time on fault tolerance in erasure coded cloud storage systems
BR112019019871B1|2021-11-16|NON TRANSITIONAL STORAGE MEDIA READABLE BY COMPUTER, METHOD AND SYSTEM ASSOCIATED WITH A FIRST BLOCKCHAIN NUMBER OF A CONSENSUS NETWORK
US10467191B1|2019-11-05|Large scale data join service within a service provider network
CN110032470A|2019-07-19|A kind of building method of the isomery part duplication code based on Huffman tree
Chang et al.2017|Topology-aware Virtual Machine Placement in Optical switching based Small-world Datacenter Networks
Chang et al.2015|Realization of secondary indexing to NoSQL database with intelligent adaptation
Earp2021|Heuristics in Distributing Data and Parity with Distributed Hash Tables
Mustard et al.2021|Jumpgate: automating integration of network connected accelerators
Xiong2017|A Probabilistic Software Framework for Scalable Data Storage and Integrity Check
同族专利:
公开号 | 公开日
KR102284972B1|2021-08-03|
JP2020507866A|2020-03-12|
KR20190098765A|2019-08-22|
CN107040582B|2020-08-14|
MX2019009291A|2019-10-30|
TWI682652B|2020-01-11|
SG11201906738SA|2019-09-27|
CN107040582A|2017-08-11|
CA3051065A1|2018-08-23|
EP3554051B1|2021-01-20|
ES2859560T3|2021-10-04|
WO2018149345A1|2018-08-23|
BR112019016423A2|2020-04-07|
US10747780B2|2020-08-18|
RU2724136C1|2020-06-22|
JP6940615B2|2021-09-29|
TW201832099A|2018-09-01|
AU2018221097B2|2020-07-09|
AU2018221097A1|2019-08-01|
AU2019101603A4|2020-01-23|
EP3554051A1|2019-10-16|
PH12019501852A1|2020-06-15|
US20190332608A1|2019-10-31|
PL3554051T3|2021-07-05|
CA3051065C|2020-08-18|
ZA201904735B|2020-08-26|
US20200167366A1|2020-05-28|
EP3554051A4|2020-01-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US5924094A|1996-11-01|1999-07-13|Current Network Technologies Corporation|Independent distributed database system|
WO2005017745A2|2003-08-14|2005-02-24|Oracle International Corporation|On demand node and server instance allocation and de-allocation|
JP4767057B2|2006-03-27|2011-09-07|富士通株式会社|Hash value generation program, storage management program, determination program, and data change verification device|
US7992037B2|2008-09-11|2011-08-02|Nec Laboratories America, Inc.|Scalable secondary storage systems and methods|
US8345707B2|2009-06-03|2013-01-01|Voxer Ip Llc|Method for synchronizing data maintained at a plurality of nodes|
CN101651719B|2009-09-11|2013-06-12|广东宇天科技有限公司|Communication system, equalization server and data verification method|
CA2810991C|2010-09-09|2016-06-21|Nec Corporation|Storage system|
CN102158559B|2011-04-18|2016-05-18|浙江工业大学|A kind of method of the load balancing based on P2P network|
TWI483138B|2012-10-12|2015-05-01|Acer Inc|Method for processing and verifying remote dynamic data, system using the same, and computer-readable medium|
US20140245020A1|2013-02-22|2014-08-28|Guardtime Ip Holdings Limited|Verification System and Method with Extra Security for Lower-Entropy Input Records|
RU2609078C2|2013-08-29|2017-01-30|Общество С Ограниченной Ответственностью "Яндекс"|Control system of indexing of partner advertisements|
US9870591B2|2013-09-12|2018-01-16|Netspective Communications Llc|Distributed electronic document review in a blockchain system and computerized scoring based on textual and visual feedback|
ES2836139T3|2013-11-19|2021-06-24|Circle Line International Ltd|Block mining procedures and apparatus|
US9256549B2|2014-01-17|2016-02-09|Netapp, Inc.|Set-associative hash table organization for efficient storage and retrieval of data in a storage system|
US10664530B2|2014-03-08|2020-05-26|Microsoft Technology Licensing, Llc|Control of automated tasks executed over search engine results|
US20160098723A1|2014-10-01|2016-04-07|The Filing Cabinet, LLC|System and method for block-chain verification of goods|
RU2580425C1|2014-11-28|2016-04-10|Общество С Ограниченной Ответственностью "Яндекс"|Method of structuring stored user-related objects on server|
EP3259871B1|2015-02-20|2020-09-16|Telefonaktiebolaget LM Ericsson |Method of providing a hash value for a piece of data, electronic device and computer program|
US9911007B2|2015-02-27|2018-03-06|Guardtime IP Holdings, Ltd.|Redundant fail-safe synchronization in a data authentication infrastructure|
US20160283920A1|2015-03-28|2016-09-29|Justin Fisher|Authentication and verification of digital data utilizing blockchain technology|
EP3278287A4|2015-03-31|2018-08-22|Nasdaq, Inc.|Systems and methods of blockchain transaction recordation|
US10509684B2|2015-04-06|2019-12-17|EMC IP Holding Company LLC|Blockchain integration for scalable distributed computations|
WO2016162094A1|2015-04-10|2016-10-13|Telefonaktiebolaget Lm Ericsson |Verification paths of leaves of a tree|
US20160306373A1|2015-04-16|2016-10-20|Fujitsu Limited|Authenticated down-sampling of time-series data|
JP6571375B2|2015-04-24|2019-09-04|国立大学法人 筑波大学|Copyright protection support device|
AU2016288644A1|2015-07-02|2018-02-22|Nasdaq, Inc.|Systems and methods of secure provenance for distributed transaction databases|
US9298806B1|2015-07-08|2016-03-29|Coinlab, Inc.|System and method for analyzing transactions in a distributed ledger|
US20170011460A1|2015-07-09|2017-01-12|Ouisa, LLC|Systems and methods for trading, clearing and settling securities transactions using blockchain technology|
US20170031676A1|2015-07-27|2017-02-02|Deja Vu Security, Llc|Blockchain computer data distribution|
EP3362965A4|2015-10-13|2019-08-07|Transactive Grid Inc.|Use of blockchain based distributed consensus control|
CN105719185B|2016-01-22|2019-02-15|杭州复杂美科技有限公司|The data comparison and common recognition method of block chain|
WO2017134281A1|2016-02-04|2017-08-10|Nasdaq Technology Ab|Systems and methods for storing and sharing transactional data using distributed computer systems|
US20170243193A1|2016-02-18|2017-08-24|Skuchain, Inc.|Hybrid blockchain|
US10475030B2|2016-02-22|2019-11-12|Bank Of America Corporation|System for implementing a distributed ledger across multiple network nodes|
KR101637868B1|2016-02-22|2016-07-08|주식회사 코인플러그|Financial institution document verification system that is based on the block chain|
US20170264428A1|2016-03-08|2017-09-14|Manifold Technology, Inc.|Data storage system with blockchain technology|
US9985964B2|2016-03-28|2018-05-29|Black Gold Coin, Inc.|Systems and methods for providing block chain-based multifactor personal identity verification|
CN105868369B|2016-03-30|2019-10-01|电子科技大学|A kind of data model verifying System and method for based on Merkle tree construction|
US10204341B2|2016-05-24|2019-02-12|Mastercard International Incorporated|Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees|
CN106126722B|2016-06-30|2019-10-18|中国科学院计算技术研究所|A kind of prefix compound tree and design method based on verifying|
CN106330431A|2016-08-29|2017-01-11|北京瑞卓喜投科技发展有限公司|Data processing method, apparatus and system based on block chain technology|
US10785022B2|2016-09-13|2020-09-22|Hiroshi Watanabe|Network without abuse of a private key|
US20180114205A1|2016-10-21|2018-04-26|Bank Of America Corporation|Distributed ledger system for providing aggregate tracking and threshold triggering|
CN106341421B|2016-10-31|2019-04-02|杭州云象网络技术有限公司|A kind of method for interchanging data based on block chain technology|
US10116450B1|2016-11-02|2018-10-30|ISARA Corporation|Merkle signature scheme using subtrees|
CN106603198A|2016-12-02|2017-04-26|深圳大学|Blockchain distributed storage method and system with network coding|
WO2018119585A1|2016-12-26|2018-07-05|深圳前海达闼云端智能科技有限公司|Permission control method, apparatus and system for block chain, and node device|
WO2018125989A2|2016-12-30|2018-07-05|Intel Corporation|The internet of things|
CN106686087A|2016-12-30|2017-05-17|先锋支付有限公司|Blockchain truncation method and distributed node|
US10572872B2|2017-01-06|2020-02-25|FirstBlood Technologies, Inc.|Decentralized competitive arbitration using digital ledgering|
CN107040582B|2017-02-17|2020-08-14|创新先进技术有限公司|Data processing method and device|CN107040582B|2017-02-17|2020-08-14|创新先进技术有限公司|Data processing method and device|
CN107612973B|2017-08-18|2020-12-11|暨南大学|Block chain structure for intelligent mobile terminal, generation method and transaction verification method|
CN107705208A|2017-10-12|2018-02-16|南京网数信息科技有限公司|A kind of digital asset processing method and system based on Hash tree|
CN107992356B|2017-12-13|2021-09-14|深圳壹账通智能科技有限公司|Block chain transaction block processing method, electronic device and readable storage medium|
CN108521328B|2018-03-26|2020-08-28|杭州秘猿科技有限公司|Block chain consensus method and device and electronic equipment|
CN109032803B|2018-08-01|2021-02-12|创新先进技术有限公司|Data processing method and device and client|
CN109359222B|2018-08-06|2021-07-06|杭州复杂美科技有限公司|Data storage method and system, equipment and storage medium|
CN109412600A|2018-09-03|2019-03-01|何祥果|A kind of identification number coding method based on magnetic characteristic|
WO2020056570A1|2018-09-18|2020-03-26|柯宾汉数位金融科技有限公司|Sharding mechanism-based block generation method for block network, and block network system|
CN109360095A|2018-09-27|2019-02-19|深圳技术大学(筹)|A kind of processing method, device and the terminal device of block chain transaction data|
CN109361661B|2018-10-08|2020-07-10|莆田市烛火信息技术有限公司|Block chain consensus device depending on related chain computing power|
US10997159B2|2018-10-09|2021-05-04|International Business Machines Corporation|Blockchain notification board storing blockchain resources|
CN109658238B|2018-10-26|2020-06-16|阿里巴巴集团控股有限公司|Data processing method and device|
CN109754251B|2018-12-27|2022-02-01|石更箭数据科技有限公司|Data processing method and device, medium and terminal thereof|
CA3126125A1|2019-01-10|2020-07-16|Bitnobi Inc.|Distributed governance for sharing of big data|
WO2021017009A1|2019-08-01|2021-02-04|Advanced New Technologies Co., Ltd.|Shared blockchain data storage based on error correction code|
CN110528600A|2019-08-06|2019-12-03|福建工大岩土工程研究所有限公司|A kind of pile measurement system and method|
CN110445684B|2019-08-09|2021-04-02|中国信息通信研究院|Block chain performance benchmark test method and device|
KR102163930B1|2019-09-30|2020-10-12|넷마블 주식회사|Distributed compile system implementing blockchain rewards|
CN110753105A|2019-10-17|2020-02-04|中国建设银行股份有限公司|Data transmission method, device, system, electronic equipment and storage medium|
TWI728571B|2019-11-26|2021-05-21|中華電信股份有限公司|Resource management method and system for blockchain service|
CN111209336B|2019-12-30|2020-09-15|广州博士信息技术研究院有限公司|Data distribution method and device based on block chain and server|
CN111488343A|2020-04-08|2020-08-04|北京瑞策科技有限公司|E-commerce data uplink method and device based on business data block chain|
CN111708844B|2020-08-24|2020-12-01|腾讯科技(深圳)有限公司|Data processing method, device and equipment based on block chain|
CN112988761A|2021-05-07|2021-06-18|支付宝信息技术有限公司|Block chain data storage method and device and electronic equipment|
CN112988908B|2021-05-07|2021-10-15|支付宝信息技术有限公司|Block chain data storage method and device and electronic equipment|
CN112988912B|2021-05-07|2021-11-02|支付宝信息技术有限公司|Block chain data storage method and device and electronic equipment|
CN112905607B|2021-05-07|2022-02-01|支付宝信息技术有限公司|Block chain data storage method and device and electronic equipment|
CN113765665B|2021-11-10|2022-02-08|济南量子技术研究院|Block chain network based on quantum key and data secure transmission method|
法律状态:
2021-05-04| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) |
2021-05-25| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) |
2021-06-22| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-07-13| B09W| Correction of the decision to grant [chapter 9.1.4 patent gazette]|Free format text: IINCORRECOES NA REIVINDICACAO INDEPENDENTE 9, CONFORME APRESENTADO NA PETICAO 870210061107. |
2021-08-31| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 07/02/2018, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
CN201710085752.6|2017-02-17|
CN201710085752.6A|CN107040582B|2017-02-17|2017-02-17|Data processing method and device|
PCT/CN2018/075571|WO2018149345A1|2017-02-17|2018-02-07|Data processing method and device|
[返回顶部]