JP2020507866A - Data processing method and device - Google Patents

Data processing method and device Download PDF

Info

Publication number
JP2020507866A
JP2020507866A JP2019544724A JP2019544724A JP2020507866A JP 2020507866 A JP2020507866 A JP 2020507866A JP 2019544724 A JP2019544724 A JP 2019544724A JP 2019544724 A JP2019544724 A JP 2019544724A JP 2020507866 A JP2020507866 A JP 2020507866A
Authority
JP
Japan
Prior art keywords
data
checksum
node
leaf
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019544724A
Other languages
Japanese (ja)
Other versions
JP6940615B2 (en
Inventor
ホンリン チウ
ホンリン チウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020507866A publication Critical patent/JP2020507866A/en
Application granted granted Critical
Publication of JP6940615B2 publication Critical patent/JP6940615B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

本願の実施形態は、データ処理方法およびデバイスを提供する。この方法は、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得ることと、を含む。本願の実施形態を使用して、データ・チェックサム計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。Embodiments of the present application provide a data processing method and device. This method distributes leaf node data pre-stored in a blockchain node to servers in a server cluster, and a server in the server cluster checksums the distributed leaf node data. Calculating respectively, and obtaining a root checksum of the data of the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster. Using the embodiments of the present application, the time taken for the data checksum calculation process can be reduced, the calculation efficiency can be improved, and the normal generation of the block and the normal operation of the block chain can be ensured.

Description

本願は、コンピュータ技術の分野に関し、詳細には、データ処理方法およびデバイスに関する。   The present application relates to the field of computer technology, and in particular, to data processing methods and devices.

ブロックチェーンは、分散型データ・ストレージ、2地点間伝送、コンセンサス・メカニズム、暗号アルゴリズムなどのコンピュータ技術の新たな応用であり、全てのブロックチェーン・ノードが同じ状態(データベースの状態も含む)であることを必要とする。そのため、ブロックチェーン・ノードで新たなトランザクションが生成されると(すなわち新たなデータが生成されると)、その新たなデータを全てのブロックチェーン・ノードと同期させる必要があり、全てのブロックチェーン・ノードがそのデータを検証する必要がある。   Blockchain is a new application of computer technology such as distributed data storage, point-to-point transmission, consensus mechanisms, and cryptographic algorithms, where all blockchain nodes are in the same state (including the state of the database). Need that. Therefore, when a new transaction is generated at the blockchain node (that is, when new data is generated), the new data needs to be synchronized with all the blockchain nodes, and all the blockchain nodes need to be synchronized. The node needs to validate the data.

現在の技術では、データに対してブロックチェーン・ノードが使用する検証方法は、通常は、バケット・ツリーに基づくチェックサム(例えばハッシュ値)を通して決定される。1つの例では、ファブリック(既に実施されているブロックチェーンの応用例)のブロックチェーン・ノードのデータは、マークル・ツリー構造で記憶され、このマークル・ツリーは、1つまたは複数のリーフ・ノード(すなわちバケット)を含む。これらのブロックチェーン・ノードが上記のデータのチェックサム(例えばハッシュ値)を得るために、通常は1つの計算デバイス(例えば端末デバイスまたはサーバ)が使用される。例えば、計算デバイスが各リーフ・ノードをトラバースし、そのリーフ・ノードのデータをランク付けし、文字列にスプライスし、その文字列のチェックサムを、対応するリーフ・ノードのデータのチェックサムとして計算する。次いで、計算デバイスは、各リーフ・ノードのデータのチェックサムに基づいて、マークル・ツリーのルート・チェックサム(例えばルート・ハッシュ値)、すなわちそのブロックチェーン・ノードのデータのチェックサムを計算する。上記のデータは、このチェックサムに基づいて検証することができる。   In current technology, the verification method used by blockchain nodes for data is typically determined through a checksum (eg, a hash value) based on a bucket tree. In one example, the data of the blockchain nodes of the fabric (an already implemented blockchain application) is stored in a Merkle tree structure, where the Merkle tree has one or more leaf nodes ( That is, a bucket). A single computing device (eg, a terminal device or server) is typically used by these blockchain nodes to obtain a checksum (eg, a hash value) of the data. For example, a computing device traverses each leaf node, ranks the data of that leaf node, splices it into a string, and calculates the checksum of that string as the checksum of the data of the corresponding leaf node. I do. The computing device then computes a root checksum of the Merkle tree (eg, a root hash value), ie, a checksum of the data of the blockchain node, based on the checksum of the data of each leaf node. The above data can be verified based on this checksum.

しかし、ブロックチェーン・ノードのデータのルート・チェックサムを計算するのに計算デバイスが1つしか使用されず、各計算もリーフ・ノードのデータを文字列にスプライスすることによって完了するので、1つまたは複数のリーフ・ノードにおける累積データ量が非常に大きい(例えば1千万個のデータなど)ときには、その1つの計算デバイスが上述の計算プロセスを実行するのに長い時間がかかり、これにより計算効率が低くなり、さらには、ブロック生成する時間が遅れ、ブロックチェーンの正常な動作の妨げになることもある。   However, only one computing device is used to compute the root checksum of the blockchain node's data, and each computation is completed by splicing the leaf node's data into a string, so one Or, when the accumulated data volume at a plurality of leaf nodes is very large (for example, 10 million pieces of data), it takes a long time for the one computing device to execute the above-described computing process, thereby increasing the computational efficiency. And the time to generate a block is delayed, which may hinder the normal operation of the block chain.

本願の実施形態の目的は、計算プロセスにかかる時間を短縮し、計算効率を向上させ、ブロックの正常な生成およびブロックチェーンの正常な動作を保証するように、データ処理方法およびデバイスを提供することである。   It is an object of embodiments of the present application to provide a data processing method and device so as to reduce the time required for the calculation process, improve the calculation efficiency, and guarantee the normal generation of blocks and the normal operation of block chains. It is.

上述の技術的問題を解決するために、本願の実施形態は、以下のように実施される。
本願の実施形態は、データ処理方法であって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するステップと、
サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法を提供する。
In order to solve the above technical problems, the embodiments of the present application are implemented as follows.
An embodiment of the present application is a data processing method,
Distributing leaf node data pre-stored in the blockchain node to servers in the server cluster, and the servers in the server cluster respectively calculating checksums of the distributed leaf node data When,
Obtaining a root checksum of the data of the blockchain node according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster.

任意選択で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
サーバ・クラスタ内のサーバから送信されたブロックチェーン・ノードのデータのルート・チェックサムを受信するステップを含む。
Optionally, according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster, obtaining the root checksum of the data of the blockchain nodes comprises:
Receiving the root checksum of the blockchain node's data sent from the servers in the server cluster.

任意選択で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定するステップと、
マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するステップと、を含む。
Optionally, according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster, obtaining the root checksum of the data of the blockchain nodes comprises:
Determining a root checksum of the Merkle tree corresponding to the leaf node according to the leaf node checksum;
Specifying the root checksum of the Merkle tree as the root checksum of the data of the blockchain node.

任意選択で、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させるステップは、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバにそれぞれ送信するステップを含む。
Optionally, distributing the leaf node data pre-stored in the blockchain node to servers in the server cluster comprises:
According to the number of leaf nodes previously stored in the blockchain node, the method includes transmitting data of a preset number of leaf nodes to servers in the server cluster.

任意選択で、チェックサムは、ハッシュ値である。   Optionally, the checksum is a hash value.

本願の実施形態は、さらに、データ処理方法であって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップと、
分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法を提供する。
The embodiment of the present application further relates to a data processing method,
Receiving leaf node data distributed by the blockchain node;
Calculating a checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain nodes.

任意選択で、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップの後で、この方法は、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるステップと、
各サブリーフ・ノードのデータのチェックサムを計算するステップと、をさらに含み、
分散したリーフ・ノードのデータのチェックサムを計算するステップは、
各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップを含む。
Optionally, after receiving the data of the leaf nodes distributed by the blockchain nodes, the method comprises:
Distributing leaf node data to preset sub-leaf nodes according to the amount of leaf node data;
Calculating a checksum of the data of each sub-leaf node;
Calculating the checksum of the data of the distributed leaf nodes comprises:
Calculating a checksum of the data of the distributed leaf nodes according to a checksum of the data of each sub-leaf node.

任意選択で、リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるステップは、
リーフ・ノードのデータをソートするステップと、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードに配置するステップと、サブリーフ・ノードについて、対応するサブノード識別子を設定するステップとを含み、
各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップは、
サブリーフ・ノードのサブノード識別子、およびサブリーフ・ノードのそれぞれのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップを含む。
Optionally, distributing the leaf node data among the preset sub-leaf nodes according to the leaf node data volume comprises:
Sorting the data of the leaf nodes, sequentially selecting a predetermined number of data from the sorted data, and arranging the data on the sub-leaf node, and setting a corresponding sub-node identifier for the sub-leaf node And steps,
According to the checksum of the data of each sub-leaf node, calculating the checksum of the data of the distributed leaf nodes comprises:
Calculating a checksum of the data of the distributed leaf nodes according to a subnode identifier of the subleaf node and a checksum of each of the subleaf nodes.

任意選択で、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、ブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するステップ、または
分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、ルート・チェックサムをブロックチェーン・ノードに送信するステップを含む。
Optionally, calculating a checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain node,
Calculates the checksum of the data of the distributed leaf nodes and sends the checksum of the data of the distributed leaf nodes to the blockchain node, which blocks according to the checksum of the data of the leaf nodes. Calculating the root checksum of the data of the chain node, or calculating the checksum of the data of the distributed leaf nodes, and calculating the checksum of the data of the blockchain node based on the data checksum of the distributed leaf nodes. Obtaining the root checksum and sending the root checksum to the blockchain node.

本願の実施形態は、データ処理デバイスであって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するように構成されたデータ分散モジュールと、
サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたルート・チェックサム取得モジュールと、を備える、データ処理デバイスを提供する。
An embodiment of the present application is a data processing device,
Distributing leaf node data pre-stored in the blockchain node to servers in the server cluster so that the servers in the server cluster each calculate a checksum of the distributed leaf node data. A data distribution module configured in
A root checksum obtaining module configured to obtain a root checksum of the data of the blockchain node according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster. Provide a processing device.

任意選択で、ルート・チェックサム取得モジュールは、サーバ・クラスタ内のサーバから送信されたブロックチェーン・ノードのデータのルート・チェックサムを受信するように構成される。   Optionally, the root checksum obtaining module is configured to receive a root checksum of the data of the blockchain node transmitted from the servers in the server cluster.

任意選択で、ルート・チェックサム取得モジュールは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するように構成される。   Optionally, the root checksum obtaining module determines a root checksum of the Merkle tree corresponding to the leaf node according to the checksum of the leaf node, and converts the root checksum of the Merkle tree into a blockchain. -It is configured to be specified as the root checksum of the data of the node.

任意選択で、データ分散モジュールは、ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバにそれぞれ送信するように構成される。   Optionally, the data distribution module sends data of a preset number of leaf nodes to the servers in the server cluster according to the number of leaf nodes pre-stored in the blockchain node. Be composed.

任意選択で、チェックサムは、ハッシュ値である。   Optionally, the checksum is a hash value.

本願の実施形態は、さらに、データ処理デバイスであって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するように構成されたデータ受信モジュールと、
分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたチェックサム取得モジュールと、を備える、データ処理デバイスを提供する。
An embodiment of the present application is further a data processing device,
A data receiving module configured to receive leaf node data distributed by the blockchain node;
A checksum obtaining module configured to calculate a checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain nodes.

任意選択で、このデバイスは、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるように構成されたデータ分散モジュールと、
各サブリーフ・ノードのデータのチェックサムを計算するように構成された計算モジュールと、をさらに備え、
チェックサム取得モジュールは、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
Optionally, this device
A data distribution module configured to distribute the leaf node data to preset sub-leaf nodes according to the leaf node data amount;
A calculation module configured to calculate a checksum of the data of each sub-leaf node;
The checksum obtaining module is configured to calculate the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node.

任意選択で、データ分散モジュールは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードに配置し、サブリーフ・ノードについて、対応するサブノード識別子を設定するように構成され、チェックサム取得モジュールは、サブリーフ・ノードのサブノード識別子、およびサブリーフ・ノードのそれぞれのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。   Optionally, the data distribution module sorts the data of the leaf nodes, sequentially selects a predetermined number of data from the sorted data, places the data on the sub-leaf nodes, and, for the sub-leaf nodes, The checksum obtaining module is configured to set a subnode identifier, and is configured to calculate a checksum of the data of the distributed leaf nodes according to the subnode identifiers of the subleaf nodes and the respective checksums of the subleaf nodes. Is done.

任意選択で、チェックサム取得モジュールは、分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、ブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するように構成される、または分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、ルート・チェックサムをブロックチェーン・ノードに送信するように構成される。   Optionally, the checksum obtaining module calculates a checksum of the data of the distributed leaf nodes and sends the checksum of the data of the distributed leaf nodes to the blockchain node, where the blockchain node It is configured to calculate the root checksum of the data of the blockchain node according to the checksum of the data of the leaf nodes, or calculate the checksum of the data of the distributed leaf nodes and calculate the checksum of the distributed leaf nodes. It is configured to obtain a root checksum of the data of the blockchain node based on the checksum of the data, and to transmit the root checksum to the blockchain node.

本願の実施形態によって提供される上記の技術的解決策から、本願の実施形態では、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、次いで、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムがさらに得られることが分かる。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   From the above technical solution provided by the embodiment of the present application, in the embodiment of the present application, the data of the leaf node pre-stored in the blockchain node is distributed to the servers in the server cluster, and the server Cause the servers in the cluster to calculate the checksum of the data of the distributed leaf nodes, respectively, and then follow the checksum of the data of the leaf nodes calculated by the servers in the server cluster; It can be seen that the root checksum of the data is further obtained. In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

本願の実施形態における技術的解決策、または現況技術をより明確に説明するために、以下、実施形態または現況技術の説明で使用される添付の図面について簡単に説明する。以下に説明する添付の図面は、単に本願のいくつかの実施形態に過ぎないことは明らかである。これらの添付の図面に基づいて、当業者なら、創造的努力なしに他の関連する図面を得ることができる。   In order to more clearly describe the technical solutions or the state of the art in the embodiments of the present application, the accompanying drawings used in the description of the embodiments or the state of the art will be briefly described below. Apparently, the accompanying drawings described below are merely some embodiments of the present application. Based on these accompanying drawings, those skilled in the art can obtain other relevant drawings without creative efforts.

本願によるデータ処理方法である。This is a data processing method according to the present application. 本願によるデータ処理論理を示す概略図である。FIG. 2 is a schematic diagram illustrating data processing logic according to the present application. 本願のいくつかの実施形態による別のデータ処理方法である。4 is another data processing method according to some embodiments of the present application. 本願のいくつかの実施形態によるさらに別のデータ処理方法である。9 is yet another data processing method according to some embodiments of the present application. 本願によるデータ処理システムを示す概略構造図である。1 is a schematic structural diagram showing a data processing system according to the present application. 本願のいくつかの実施形態によるさらに別のデータ処理方法である。9 is yet another data processing method according to some embodiments of the present application. 本願のいくつかの実施形態によるさらに別のデータ処理方法である。9 is yet another data processing method according to some embodiments of the present application. 本願による別のデータ処理システムを示す概略構造図である。FIG. 4 is a schematic structural diagram showing another data processing system according to the present application. 本願のいくつかの実施形態によるデータ処理デバイスである。3 is a data processing device according to some embodiments of the present application. 本願のいくつかの実施形態による別のデータ処理デバイスである。9 is another data processing device according to some embodiments of the present application.

本願の実施形態は、データ処理方法およびデバイスを提供するものである。   Embodiments of the present application provide a data processing method and device.

当業者が本願の技術的解決策をより十分に理解することができるように、以下、本願の実施形態における技術的解決策について、本願の実施形態における添付の図面を参照して明確かつ完全に説明する。記載する実施形態は、本願の実施形態の全てではなく、一部に過ぎないことは明らかである。本願のこれらの実施形態に基づいて創造的努力なしに当業者が得ることができるその他の全ての実施形態は、本願の範囲に含まれるものとする。   In order that those skilled in the art can more fully understand the technical solution of the present application, the technical solutions in the embodiments of the present application will be described below clearly and completely with reference to the accompanying drawings in the embodiments of the present application. explain. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present application. All other embodiments that can be obtained by a person of ordinary skill in the art based on these embodiments of the present application without creative efforts shall fall within the scope of the present application.

第1の実施形態
図1に示すように、本願の実施形態は、データ処理方法を提供する。この方法を実行するエンティティは、ブロックチェーン・ノードである。この方法は、以下のステップを含むことがある。
First Embodiment As shown in FIG. 1, an embodiment of the present application provides a data processing method. The entity that performs this method is a blockchain node. The method may include the following steps.

ステップS101で、サーバ・クラスタ内の複数のサーバに、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータを分散させて、サーバ・クラスタ内のそれらのサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算する。   In step S101, the data of the leaf node pre-stored in the blockchain node is distributed to a plurality of servers in the server cluster, and those servers in the server cluster are assigned to the distributed leaf nodes. Calculate the checksum of each data.

ここで、リーフ・ノードは、サブノードを有していないこともある。ブロックチェーン・ノードは、通常は、1つまたは複数のリーフ・ノード(すなわちバケット)を含み、各リーフ・ノードは、ある量のデータ(例えばトランザクション・データであることもある)を記憶している。リーフ・ノードに記憶された各データのデータ量について、対応する数値を設定することができる。例えば、各データのデータ量は、100KBから5MBの範囲内であり、一例では1MBである。サーバ・クラスタは、複数の同じまたは異なるサーバによって構成されるグループとすることができ、1つまたは複数のトランザクションに対応するサービスを提供することができることがある。チェックサムは、ファイルまたはデータを検査するために使用される文字列(例えば数値またはコード)であることがある。例示的な応用例では、チェックサムは、データ要約などに基づく検査アルゴリズムを使用した計算から得られる数値であることもある。データ要約に基づく検査アルゴリズムは、巡回冗長検査アルゴリズム、メッセージ・ダイジェスト・アルゴリズム、セキュア・ハッシュ・アルゴリズムなどを含む可能性がある。   Here, leaf nodes may not have subnodes. A blockchain node typically includes one or more leaf nodes (ie, buckets), each leaf node storing a certain amount of data (eg, which may be transactional data). . For the data amount of each data stored in the leaf node, a corresponding numerical value can be set. For example, the data amount of each data is in the range of 100 KB to 5 MB, and is 1 MB in one example. A server cluster may be a group composed of a plurality of the same or different servers and may be able to provide services corresponding to one or more transactions. The checksum may be a string (eg, a number or code) used to verify a file or data. In an exemplary application, the checksum may be a numerical value derived from a calculation using a checking algorithm based on data summarization or the like. Check algorithms based on data summarization may include cyclic redundancy check algorithms, message digest algorithms, secure hash algorithms, and the like.

実装態様では、ブロックチェーンは、非集中型の分散型データベースであることがあり、これは、分散型レジャーとも呼ばれる。ブロックチェーン技術に基づくと、多数の情報記録メモリ(例えば端末デバイスまたはサーバ)によって構成される分散型ネットワークが必要となる。新たなトランザクションそれぞれの伝搬は、分散型ネットワークを使用することができ、ピア・ツー・ピア(P2P)ネットワーク・レイヤ・プロトコルによれば、トランザクションに関連する情報が、個々のブロックチェーン・ノードによってネットワークを介して他の全てのブロックチェーン・ノードに直接送信されて、その分散型ネットワーク内の全てのブロックチェーン・ノードに記憶されるデータが一貫していることが保証されるようにする。あるブロックチェーン・ノードが新たなトランザクションを記録すると、その記録された新たなトランザクションのデータを他のブロックチェーン・ノードと同期させる必要があるが、その一方で、他のブロックチェーン・ノードは、そのデータを検証する必要もある。例示的な検証プロセスは、以下のようなものであることもある。
ブロックチェーン・ノードは、1つまたは複数のリーフ・ノードを含み、ブロックチェーン・ノード内のデータは、それらのリーフ・ノードに分散される。ここで、リーフ・ノード内の全てのデータは、受信タイムスタンプを含み、トランザクションの順序は、タイムスタンプに従って決定することができる。検証中には、ブロックチェーン・ノードは、最初にそのブロックチェーン・ノード内に事前記憶されているリーフ・ノードを得ることができる。どんなリーフ・ノードがブロックチェーン・ノードに記憶されているかを迅速に決定し、またそれらのリーフ・ノードの個数を迅速に決定することができるように、5またはA8など、対応するノード識別子(例えばノードID(識別情報))を、各リーフ・ノードについて、そのリーフ・ノードが生成されたときに設定することができる。リーフ・ノードを得るときには、予め記録されているノード識別子によって対応するリーフ・ノードを検索し、各リーフ・ノードに記憶されているデータを得ることができる。
In an implementation, the blockchain may be a decentralized distributed database, also referred to as a distributed ledger. Based on the blockchain technology, a distributed network including a large number of information recording memories (for example, terminal devices or servers) is required. Propagation of each new transaction can use a distributed network, and according to the peer-to-peer (P2P) network layer protocol, information related to the transaction is networked by individual blockchain nodes. To all other blockchain nodes directly to ensure that the data stored in all blockchain nodes in the distributed network is consistent. When a blockchain node records a new transaction, it needs to synchronize the data of the recorded new transaction with other blockchain nodes, while the other blockchain nodes You also need to verify the data. An exemplary verification process may be as follows.
A blockchain node includes one or more leaf nodes, and the data in the blockchain node is distributed among those leaf nodes. Here, all data in the leaf node includes the reception time stamp, and the order of the transactions can be determined according to the time stamp. During verification, a blockchain node may first obtain a leaf node pre-stored within the blockchain node. A corresponding node identifier, such as 5 or A8 (e.g., 5 or A8) so that it can quickly determine what leaf nodes are stored in the blockchain node and quickly determine the number of those leaf nodes A node ID (identification information)) can be set for each leaf node when the leaf node is generated. When obtaining a leaf node, a corresponding leaf node can be searched by a node identifier recorded in advance, and data stored in each leaf node can be obtained.

記憶されるデータの量は、期間の相違および/または領域の相違などの要因の影響によって異なる可能性があるので、結果として、1つまたは複数のリーフ・ノードに蓄積されるデータの量が比較的大きくなる一方で、他のいくつかのリーフ・ノードのデータの量は比較的小さくなることがある。このように、ブロックチェーン・ノードのリーフ・ノードに記憶されるデータ量に不均衡があることもある。ブロックの生成に影響を及ぼさないように、またリーフ・ノードのデータのチェックサムの計算に要する時間を短縮するために、リーフ・ノード内のデータを、サーバ・クラスタ内の複数のプロセッサに分散させて処理し、計算負荷をサーバ・クラスタ全体で拡散させることによって、計算効率を改善することもできる。   Since the amount of data stored may vary due to factors such as different periods and / or different regions, the amount of data stored in one or more leaf nodes may be compared. While increasing in size, the volume of data in some other leaf nodes may be relatively small. Thus, there may be an imbalance in the amount of data stored at the leaf nodes of the blockchain node. The data in the leaf nodes is distributed to multiple processors in the server cluster to avoid affecting the generation of blocks and to reduce the time required to calculate the checksum of the leaf node data. And spread the computational load across the server cluster to improve computational efficiency.

ブロックチェーン・ノードは、全てのリーフ・ノードのデータを得た後で、リーフ・ノードを単位として、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させることができる。例えば、サーバ・クラスタ内のサーバの個数がリーフ・ノードの個数と等しいこともあり、その場合には、ブロックチェーン・ノードは、1つのリーフ・ノードのデータをサーバ・クラスタ内の各サーバに送信して、サーバ・クラスタ内の各サーバに1つのリーフ・ノードのデータのみを含めることができる。上述の分散方法に加えて、複数の分散方式を使用することもできる。例えば、リーフ・ノードおよびリーフ・ノードのデータを、ランダム分散方式でサーバ・クラスタ内のサーバに送信する。このようにして、異なるサーバが同数のリーフ・ノードを受信することも、異なる個数のリーフ・ノードを受信することもある。別の例として、リーフ・ノードのデータを、リーフ・ノードのデータの量に応じて分散させることもできる。一例では、ブロックチェーン・ノードが、各リーフ・ノードのデータの量をカウントし、次いでリーフ・ノードのデータをサーバ・クラスタ内のサーバに均一に分散させることもある。例えば、データ量がそれぞれ50MB、20MB、30MB、40MB、10MB、および10MBである6個のリーフ・ノードがある場合には、データ量が50MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第1のサーバに送信し、データ量が20MBであるリーフ・ノードおよびデータ量が30MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第2のサーバに送信し、データ量が40MBであるリーフ・ノード、データ量が10MBであるリーフ・ノード、およびデータ量が10MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第3のサーバに送信することもある。   After obtaining the data of all the leaf nodes, the blockchain node can distribute the data of the leaf nodes to the servers in the server cluster in units of the leaf nodes. For example, the number of servers in a server cluster may be equal to the number of leaf nodes, in which case the blockchain node sends data for one leaf node to each server in the server cluster. Thus, each server in the server cluster can only contain data for one leaf node. In addition to the distribution methods described above, multiple distribution schemes can be used. For example, the leaf nodes and the data of the leaf nodes are transmitted to the servers in the server cluster in a random distribution manner. In this way, different servers may receive the same number of leaf nodes or different numbers of leaf nodes. As another example, leaf node data may be distributed according to the amount of leaf node data. In one example, a blockchain node may count the amount of data at each leaf node and then evenly distribute the leaf node's data to servers in a server cluster. For example, if there are six leaf nodes each having a data amount of 50 MB, 20 MB, 30 MB, 40 MB, 10 MB, and 10 MB, the data of the leaf node having a data amount of 50 MB is stored in the server cluster. The data is transmitted to the first server, the leaf node having the data amount of 20 MB and the data of the leaf node having the data amount of 30 MB are transmitted to the second server in the server cluster, and the data amount is 40 MB. The data of the leaf node, the leaf node having the data amount of 10 MB, and the data of the leaf node having the data amount of 10 MB may be transmitted to the third server in the server cluster.

サーバは、リーフ・ノードの分散データを受信した後で、各リーフ・ノードの受信データのチェックサムを計算することができる。例えば、サーバは、メッセージ・ダイジェスト・アルゴリズム(例えばMD5アルゴリズム)を使用してリーフ・ノードの受信データのMD5値を計算する。1つのサーバが2つのリーフ・ノードのデータ、すなわちリーフ・ノード1のデータおよびリーフ・ノード2のデータを受信する場合には、サーバは、リーフ・ノード1のデータのMD5値、およびリーフ・ノード2のデータのMD5値を計算することによって、各リーフ・ノードの受信データのチェックサムを得ることができる。   After receiving the distributed data of the leaf nodes, the server can calculate the checksum of the received data of each leaf node. For example, the server uses a message digest algorithm (eg, the MD5 algorithm) to calculate the MD5 value of the leaf node's received data. If one server receives the data of two leaf nodes, that is, the data of leaf node 1 and the data of leaf node 2, the server determines the MD5 value of the data of leaf node 1, and the leaf node. By calculating the MD5 value of the second data, a checksum of the received data of each leaf node can be obtained.

ステップS102で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムをさらに得る。   In step S102, a root checksum of the data of the blockchain node is further obtained according to the checksum of the data of the leaf node calculated by the servers in the server cluster.

実装態様では、サーバ・クラスタ内のサーバがリーフ・ノードのデータのチェックサムを計算した後で、各サーバは、そのサーバが計算したリーフ・ノードのデータのチェックサムを、ブロックチェーン・ノードに送信することができる。ブロックチェーン・ノードがそのブロックチェーン・ノードに記憶されている全てのリーフ・ノードのデータのチェックサムを受信した後で、ブロックチェーン・ノードは、その全てのリーフ・ノードのデータのチェックサムに基づいて、ブロックチェーン・ノード内のデータのルート・チェックサム(すなわち状態)を計算することができる。ここで、ブロックチェーン・ノードがそのブロックチェーン・ノード内のデータのルート・チェックサムを計算するときには、リーフ・ノードと、ルート・チェックサムに対応するルート・ノードとの間に、複数の中間ノードを設けることができる。図2に示すように、A、B、C、およびDがリーフ・ノードであり、A1、A2、A3、…、Ap、B1、B2、B3、…、Bq、C1、C2、C3、…、Cr、およびD1、D2、D3、…、Dkが、それぞれデータを表す。一例としてチェックサムがハッシュ値であるとすると、リーフ・ノードAのハッシュ値は、hash(A1A2A3…Ap)であり、リーフ・ノードBのハッシュ値は、hash(B1B2B3…Bq)であり、リーフ・ノードCのハッシュ値は、hash(C1C2C3…Cr)であり、リーフ・ノードDのハッシュ値は、hash(D1D2D3…Dk)である。MおよびNは、中間ノードであり、したがって、リーフ・ノードMのハッシュ値は、hash(AB)であり、リーフ・ノードNのハッシュ値は、hash(CD)である。この場合、ルート・ノードのルート・チェックサムは、hash(MN)である。得られたブロックチェーン・ノード内のデータのルート・チェックサムを、新たなトランザクション・データを送信するブロックチェーン・ノードによって計算された上述のルート・チェックサムと比較することにより、ブロックチェーン・ノードは、その新たなトランザクション・データが有効であるかどうかを検証することができる。新たなトランザクション・データが有効である場合には、ブロックチェーン・ノードは、そのトランザクションに関連するデータを記録することができ、新たなトランザクション・データが有効でない場合には、ブロックチェーン・ノードは、そのトランザクションに関連するデータを記録することを拒否することができる。   In an implementation, after the servers in the server cluster calculate the checksum of the leaf node data, each server sends the checksum of the leaf node data calculated by the server to the blockchain node. can do. After the blockchain node receives the checksum of the data of all leaf nodes stored in the blockchain node, the blockchain node returns the checksum of the data of all leaf nodes based on the checksum of the data of all leaf nodes. Thus, the root checksum (ie, state) of the data in the blockchain node can be calculated. Here, when the blockchain node calculates the root checksum of the data in the blockchain node, a plurality of intermediate nodes are placed between the leaf node and the root node corresponding to the root checksum. Can be provided. 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 each represent data. As an example, assuming that the checksum is a hash value, the hash value of leaf node A is hash (A1A2A3... Ap), the hash value of leaf node B is hash (B1B2B3. The hash value of 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) and the hash value of leaf node N is hash (CD). In this case, the root checksum of the root node is hash (MN). By comparing the resulting root checksum of the data in the blockchain node with the above root checksum calculated by the blockchain node sending the new transaction data, the blockchain node , It can be verified that the new transaction data is valid. If the new transaction data is valid, the blockchain node can record data associated with the transaction, and if the new transaction data is not valid, the blockchain node Recording data associated with the transaction may be refused.

なお、上述のルート・チェックサム計算プロセスは、サーバ・クラスタによって完了されることもあることに留意されたい。一例では、管理サーバまたは管理サーバ・クラスタを、サーバ・クラスタに設けることができ、この管理サーバまたは管理サーバ・クラスタが、サーバ・クラスタ内の他のサーバを調節および制御することができる。サーバ・クラスタ内の他のサーバは、リーフ・ノードのデータのチェックサムを計算した後で、リーフ・ノードのデータのチェックサムを管理サーバまたは管理サーバ・クラスタにそれぞれ送信すればよい。管理サーバまたは管理サーバ・クラスタは、上述の計算方法を使用して、ブロックチェーン・ノード内のデータのルート・チェックサムを計算することができる。管理サーバまたは管理サーバ・クラスタは、得られたブロックチェーン・ノード内のデータのルート・チェックサムをブロックチェーン・ノードに送信することができ、ブロックチェーン・ノードは、このルート・チェックサムを受信する。次いで、ブロックチェーン・ノードは、このルート・チェックサムを介して検証を実行することができる。詳細については上記の関連する内容を参照すればよいので、ここでは詳細には説明しない。   Note that the root checksum calculation process described above may be completed by the server cluster. In one example, a management server or a management server cluster can be provided in the server cluster, and the management server or the management server cluster can regulate and control other servers in the server cluster. Other servers in the server cluster may calculate the checksum of the leaf node data and then send the checksum of the leaf node data to the management server or management server cluster, respectively. The management server or management server cluster can calculate the root checksum of the data in the blockchain node using the calculation method described above. The management server or management server cluster can send the obtained root checksum of the data in the blockchain node to the blockchain node, and the blockchain node receives the root checksum . The blockchain node can then perform verification via this root checksum. For details, reference can be made to the related contents described above, and thus the details will not be described here.

このように、ブロックチェーン・ノード内のリーフ・ノードのデータのチェックサムを、サーバ・クラスタ内の複数のサーバによる並列計算によって得て、ブロックチェーン・ノード内のデータのルート・チェックサムの計算を、1つのマシンによる処理から切り離すことにより、データ・チェックサム計算の効率を改善する。   In this way, the checksum of the data of the leaf node in the blockchain node is obtained by parallel calculation by a plurality of servers in the server cluster, and the calculation of the root checksum of the data in the blockchain node is performed. Improve the efficiency of data checksum calculation by decoupling from processing by one machine.

本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   An embodiment of the present application is a data processing method, in which data of a leaf node pre-stored in a blockchain node is distributed to servers in a server cluster, and the leaf in the server cluster is distributed. Calculating each of the checksums of the data of the nodes and further obtaining the root checksum of the data within the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster; And a data processing method including: In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

図3に示すように、本願の実施形態は、データ処理方法を提供する。この方法を実行するエンティティは、サーバ・クラスタであることもあり、このサーバ・クラスタが、複数のサーバを含むこともあり、各サーバが、データ・チェックサムを計算することもある。この方法は、以下のステップを含む可能性がある。   As shown in FIG. 3, the embodiment of the present application provides a data processing method. The entity performing the method may be a server cluster, which may include multiple servers, and each server may calculate a data checksum. The method may include the following steps.

ステップS301で、ブロックチェーン・ノードによって分散したリーフ・ノードのデータを受信する。   In step S301, data of leaf nodes distributed by the blockchain node is received.

実装態様では、ブロックチェーン・ノード内のデータを検証する必要があるときには、ブロックチェーン・ノードは、そのブロックチェーン・ノードに記憶されているリーフ・ノードのデータを得、リーフ・ノードを単位として、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させることができる。詳細な分散方式および分散プロセスについては、上述したステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。サーバ・クラスタ内のサーバは、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータをそれぞれ受信することができるが、詳細については上述したステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。   In an implementation, when the data in the blockchain node needs to be verified, the blockchain node obtains the data of the leaf nodes stored in the blockchain node, and in units of leaf nodes, Leaf node data can be distributed to servers in a server cluster. For a detailed distribution method and distribution process, the contents related to the above-described step S101 may be referred to, and thus the details will not be described here. The servers in the server cluster can each receive the data of the leaf nodes distributed by the blockchain node. For details, see the relevant contents of step S101 described above. It will not be described in detail.

ステップS302で、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノード内のデータのルート・チェックサムを得る。   In step S302, the checksum of the data of the distributed leaf nodes is calculated to obtain the root checksum of the data in the blockchain node.

実装態様では、サーバ・クラスタ内のサーバは、受信した各リーフ・ノードのデータのチェックサムを計算することができる。計算が完了した後で、サーバ・クラスタ内のサーバは、得られたリーフ・ノードのデータのチェックサムをブロックチェーン・ノードにそれぞれ送信することができる。ブロックチェーン・ノードは、サーバから返送されたリーフ・ノードのデータのチェックサムに基づいて、そのブロックチェーン・ノードのデータのルート・チェックサムをさらに計算することができる。詳細については上述したステップS102の関連する内容を参照すればよいので、ここでは詳細には説明しない。   In an implementation, the servers in the server cluster may calculate a checksum of the data of each received leaf node. After the calculation is completed, the servers in the server cluster can send the obtained checksums of the leaf node data to the blockchain nodes, respectively. The blockchain node can further calculate a root checksum of the blockchain node's data based on the checksum of the leaf node's data returned from the server. Since the details related to the above-described step S102 may be referred to, the details will not be described here.

本願のいくつかの他の実施形態では、ブロックチェーン・ノードのデータのルート・チェックサムは、サーバ・クラスタが計算することもある。上述のように、サーバ・クラスタに管理サーバまたは管理サーバ・クラスタを設けて、各リーフ・ノードのデータの計算したチェックサムについての計算を集約的に実行して、ブロックチェーン・ノードのデータのルート・チェックサムを得ることもできる。詳細については上述したステップS102の関連する内容を参照すればよいので、ここでは詳細には説明しない。   In some other embodiments of the present application, the root checksum of the blockchain node's data may be calculated by the server cluster. As described above, the management server or the management server cluster is provided in the server cluster, and the calculation of the calculated checksum of the data of each leaf node is collectively executed to route the data of the blockchain node. -A checksum can also be obtained. Since the details related to the above-described step S102 may be referred to, the details will not be described here.

本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   An embodiment of the present application is a data processing method, in which data of a leaf node pre-stored in a blockchain node is distributed to servers in a server cluster, and the leaf in the server cluster is distributed. Calculating each of the checksums of the data of the nodes and further obtaining the root checksum of the data within the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster; And a data processing method including: In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

第2の実施形態
図4に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
Second Embodiment As shown in FIG. 4, the embodiment of the present application provides a data processing method. This data processing method may be performed cooperatively by blockchain nodes and server clusters. The embodiment of the present application will be described in detail by taking a case where the checksum is a hash value as an example. Other forms of checksums may be performed with reference to relevant content of the embodiments of the present application, but will not be described in detail here. The method may include the following steps.

ステップS401で、事前記憶されているリーフ・ノードの個数に従って、ブロックチェーン・ノードは、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバのそれぞれに送信する。   In step S401, according to the number of leaf nodes stored in advance, the blockchain node transmits data of a preset number of leaf nodes to each of the servers in the server cluster.

ここで、上記の予め設定された数は、5、10など、実際の状況に応じて設定することができるが、本願の実施形態では詳細には説明しない。   Here, the preset number can be set according to an actual situation, such as 5, 10, but will not be described in detail in the embodiment of the present application.

実装態様では、トランザクション・データを検証するときには、ブロックチェーン・ノードのデータについてマークル・ツリーの設計機構を利用して、検証効率を改善し、リソース消費を低減することが多い。本願の実施形態におけるブロックチェーン・データの既存の設計機構を変更することなく、ブロックチェーン・ノードのデータのチェックサムの計算効率を大幅に改善するために、本願の実施形態におけるブロックチェーン・ノードのデータは、依然としてマークル・ツリーの設計機構を使用することができる。マークル・ツリーは、複数のリーフ・ノード(すなわちバケット)を含むことがあり、マークル・ツリー内の全てのリーフ・ノードのノード識別子を、ブロックチェーン・ノードに記録することができる。トランザクション・データを検証する必要があるときには、マークル・ツリー内の全てのリーフ・ノードのノード識別子を得ることができる。   In implementations, when verifying transaction data, the Merkle Tree design mechanism is often used for blockchain node data to improve verification efficiency and reduce resource consumption. In order to greatly improve the calculation efficiency of the checksum of the data of the blockchain node without changing the existing design mechanism of the blockchain data in the embodiment of the present application, the blockchain node of the embodiment of the present application is required. The data can still use the Merkle tree design mechanism. A Merkle tree may include multiple leaf nodes (ie, buckets), and the node identifiers of all leaf nodes in the Merkle tree may be recorded in blockchain nodes. When transaction data needs to be verified, the node identifiers of all leaf nodes in the Merkle tree can be obtained.

図5に示すように、ブロックチェーン・ノードは、全てのリーフ・ノードのノード識別子に基づいて全てのリーフ・ノードのデータをそれぞれ得ることができ、また、ブロックチェーン・ノードに記憶されたリーフ・ノードの個数、およびサーバ・クラスタ内のサーバの個数を得ることもできる。サーバの個数、およびリーフ・ノードの個数に応じて、ブロックチェーン・ノードは、各サーバに分散させるリーフ・ノードの個数を決定することができる。例えば、全部で10個のリーフ・ノードがあり、サーバ・クラスタは、総数で10個のサーバを有する。この場合には、1つのリーフ・ノードのデータを各サーバに送信することもできるし、あるいは2つまたは5つのリーフ・ノードのグループのデータをサーバ・クラスタ内の1つのサーバに送信することもできる。   As shown in FIG. 5, the blockchain node can obtain data of all leaf nodes based on the node identifiers of all leaf nodes, respectively, and can store leaf data stored in the blockchain node. The number of nodes and the number of servers in a server cluster can also be obtained. Depending on the number of servers and the number of leaf nodes, the blockchain node can determine the 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. In this case, the data of one leaf node can be sent to each server, or the data of a group of two or five leaf nodes can be sent to one server in the server cluster. it can.

ブロックチェーン・ノードがリーフ・ノードのデータをサーバ・クラスタに分散させるプロセスでは、ブロックチェーン・ノードは、リーフ・ノードのノード識別子をサーバ・クラスタ内のサーバに分散させることもできる。分散したノード識別子に従って、サーバは、ノード識別子を含むデータ取得命令をブロックチェーン・ノードに送信することができる。ブロックチェーン・ノードは、データ取得命令を受信すると、データ取得命令中のノード識別子を抽出し、そのノード識別子によって対応するリーフ・ノードのデータを検索し、データを対応するサーバに送信することができる。このようにして、サーバ・クラスタは、1つの対応するリーフ・ノードのデータから、複数の対応するリーフ・ノードのデータを引き出すことができる。   In the process where the blockchain node distributes leaf node data to the server cluster, the blockchain node may also distribute the leaf node identifier to the servers in the server cluster. According to the distributed node identifier, the server can send a data acquisition instruction including the node identifier to the blockchain node. Upon receiving the data acquisition instruction, the blockchain node can extract the node identifier in the data acquisition instruction, search for the data of the corresponding leaf node by the node identifier, and transmit the data to the corresponding server. . In this way, the server cluster can derive data of a plurality of corresponding leaf nodes from data of one corresponding leaf node.

なお、例示的な応用例では、リーフ・ノードのデータは、リーフ・ノードのデータ量に応じてサーバ・クラスタ内のサーバに分散させることもできるし、あるいはランダムにサーバ・クラスタ内のサーバに分散させることもできることに留意されたい。詳細については第1の実施形態のステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。   Note that in an exemplary application, leaf node data may be distributed among servers in a server cluster according to the amount of data in the leaf nodes, or may be randomly distributed among servers in a server cluster. Note that it can also be done. Since the details can be referred to the contents related to step S101 of the first embodiment, they will not be described in detail here.

ステップS402で、サーバ・クラスタは、分散したリーフ・ノードのデータのチェックサムを計算する。   In step S402, the server cluster calculates a checksum of the data of the distributed leaf nodes.

ステップS403で、サーバ・クラスタは、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信する。   In step S403, the server cluster sends the checksum of the data of the distributed leaf nodes to the blockchain node.

上記のステップS402およびS403の詳細なプロセスについては第1の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。   For the detailed processes of the above steps S402 and S403, the relevant contents of the first embodiment may be referred to, and thus the detailed description will not be given here.

ステップS404で、ブロックチェーン・ノードは、リーフ・ノードの上記のチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定する。   In step S404, the blockchain node determines the root checksum of the Merkle tree corresponding to the leaf node according to the above checksum of the leaf node.

実装態様では、ブロックチェーン・ノードは、サーバ・クラスタ内のサーバから送信されたリーフ・ノードのチェックサムを受信した後で、それらのリーフ・ノードを通して対応するマークル・ツリーを構築することができる。マークル・ツリー上のリーフ・ノードのハッシュ値は既に決定されているが、マークル・ツリーのルート・ノードのハッシュ値(すなわちマークル・ツリーのルート・チェックサム)はまだ得られていないので、これらのリーフ・ノードに対応するマークル・ツリーのハッシュ値をリーフ・ノードのハッシュ値から上向きに計算することによって、これらのリーフ・ノードに対応するマークル・ツリーのルート・チェックサムを得ることができる。   In an implementation, after receiving the checksum of the leaf nodes sent from the servers in the server cluster, the blockchain node may build a corresponding Merkle tree through those leaf nodes. Although the hash values of the leaf nodes on the Merkle tree have already been determined, the hash value of the root node of the Merkle tree (ie, the root checksum of the Merkle tree) has not yet been obtained, so these By calculating the hash value of the Merkle tree corresponding to the leaf nodes upward from the hash value of the leaf node, the root checksum of the Merkle tree corresponding to these leaf nodes can be obtained.

ステップS405で、ブロックチェーン・ノードは、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。   In step S405, the blockchain node specifies the root checksum of the Merkle tree as the root checksum of the data of the blockchain node.

例示的な応用例では、ルート・チェックサムは、サーバ・クラスタによって計算することもでき、この処理は、分散したリーフ・ノードのデータのチェックサムを計算することと、分散したリーフ・ノードのデータのチェックサムに基づいて、ブロックチェーン・ノードのデータのルート・チェックサムを得ることと、このルート・チェックサムをブロックチェーン・ノードに送信することとを含む可能性がある。詳細なプロセスについては第1の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。   In an exemplary application, the root checksum may also be calculated by the server cluster, the process comprising calculating the checksum of the data of the distributed leaf nodes and the data of the distributed leaf nodes. May include obtaining a root checksum of the blockchain node's data based on the checksum of the blockchain node and sending the root checksum to the blockchain node. Since a detailed process can be referred to the relevant contents of the first embodiment, it will not be described in detail here.

本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   An embodiment of the present application is a data processing method, in which data of a leaf node pre-stored in a blockchain node is distributed to servers in a server cluster, and the leaf in the server cluster is distributed. Calculating each of the checksums of the data of the nodes and further obtaining the root checksum of the data within the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster; And a data processing method including: In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

第3の実施形態
図6に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
Third Embodiment As shown in FIG. 6, the embodiment of the present application provides a data processing method. This data processing method may be performed cooperatively by blockchain nodes and server clusters. The embodiment of the present application will be described in detail by taking a case where the checksum is a hash value as an example. Other forms of checksums may be performed with reference to relevant content of the embodiments of the present application, but will not be described in detail here. The method may include the following steps.

ステップS601で、ブロックチェーン・ノードは、事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散する。   In step S601, the blockchain node distributes pre-stored leaf node data to servers in the server cluster.

ステップS601の詳細なプロセスについては、第1の実施形態および第2の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。   The detailed process of step S601 may be referred to the contents related to the first embodiment and the second embodiment, and will not be described in detail here.

ステップS602で、サーバ・クラスタは、リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散する。   In step S602, the server cluster distributes the data of the leaf nodes to preset sub-leaf nodes according to the data amount of the leaf nodes.

ここで、サブリーフ・ノードとリーフ・ノードとの間には、帰属関係、従属関係、親関係、または子関係などの関連関係はない。サブリーフ・ノードは、1つまたは複数個のデータを含むデータ・パケットであることがあり、リーフ・ノード(バケット)は、データを記憶するためのマークル・ツリー内のコンテナであることがある。サブリーフ・ノードの個数は、リーフ・ノードの個数より大きいことがある。例えば、リーフ・ノードの個数が5である場合に、サブリーフ・ノードの個数が20であることもある。   Here, there is no related relationship such as an belonging relationship, a dependent relationship, a parent relationship, or a child relationship between the subleaf node and the leaf node. A sub-leaf node may be a data packet containing one or more data, and a leaf node (bucket) may be a container in a Merkle tree for storing data. The number of sub-leaf nodes may be greater than the number of leaf nodes. For example, if the number of leaf nodes is 5, the number of sub-leaf nodes may be 20.

実装態様では、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのうちの1つまたは複数のリーフ・ノードが、大きなデータ量を有することがある(例えば百万個のデータを含むなど)。このように、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、そのリーフ・ノードのハッシュ値を計算するときには、サーバは、リーフ・ノード内の大量のデータをスプライスして、スプライスした文字列を得る必要があり、その後、スプライスした文字列のハッシュ値を計算する。このプロセスは、依然として長い時間がかかり、サーバによるリソース消費も依然として大きい。このことに鑑みて、複数のサブリーフ・ノードが予め設定することもでき、あるいは、例えば1GBまたは500MBなど、各サブリーフ・ノードが収容することができる最大データ量を、実際の必要に応じて各サブリーフ・ノードに設定することもできる。リーフ・ノードのデータは、ランダム分散方式または均一分散方式で、予め設定された複数のサブリーフ・ノードに分散させることができる。   In an implementation, one or more of the leaf nodes pre-stored in the blockchain node may have a large amount of data (eg, contain one million data). Thus, when distributing the leaf node data to the servers in the server cluster and calculating the hash value of the leaf node, the server splices a large amount of data in the leaf node and splices the data. Then, the hash value of the spliced character string is calculated. This process still takes a long time and the resource consumption by the server is still high. In view of this, a plurality of sub-leaf nodes can be preset, or the maximum amount of data that each sub-leaf node can accommodate, eg, 1 GB or 500 MB, can be set as -Can also be set on nodes. The data of the leaf nodes can be distributed to a plurality of preset sub-leaf nodes by a random distribution method or a uniform distribution method.

ステップS602を実施するには、様々なやり方がある可能性がある。以下、任意選択の処理方法を提供する。この処理方法は、リーフ・ノードのデータをソートすることと、ソートしたデータから予め設定した個数のデータを順番に選択して、サブリーフ・ノードにそれぞれ配置することと、それらのサブリーフ・ノードについて対応するサブノード識別子を設定することとを含む可能性がある。   There may be various ways to perform step S602. The following provides an optional processing method. This processing method corresponds to sorting of leaf node data, selecting a predetermined number of data in order from the sorted data, and arranging them in sub-leaf nodes, respectively. Setting the sub-node identifier to be performed.

サーバ・クラスタ内の各サーバのデータ処理速度およびチェックサム計算速度に従って、またサーバ・クラスタ内のサーバの個数に従って、サーバ・クラスタは、高い全体的なデータ処理効率(例えば設定された効率しきい値より高いデータ処理効率)を確保しながら各サーバが処理することができるデータの量を決定し、次いで、各サブリーフ・ノードが収容することができるデータの量またはデータの個数を決定することができる。サーバ・クラスタは、各サーバに分散されるリーフ・ノードのデータの総量を計算することもある。この場合には、サーバ・クラスタは、データがブロックチェーン・ノードに記憶された時間を示すタイムスタンプに従って分散したリーフ・ノードのデータをソートし、ソートした複数個のデータのうちの予め設定された数個のデータを順番に各サブリーフ・ノードに分散させ、データの順序に従ってサブリーフ・ノードのそれぞれについて対応するサブノード識別子を設定して、全てのサブリーフ・ノードのデータにおけるサブリーフ・ノードのデータの位置を示すようにすることができる。   According to the data processing speed and checksum calculation speed of each server in the server cluster, and according to the number of servers in the server cluster, the server cluster has a high overall data processing efficiency (eg, a set efficiency threshold). It is possible to determine the amount of data that each server can process while ensuring higher data processing efficiency), and then determine the amount or number of data that each sub-leaf node can accommodate. . The server cluster may calculate the total amount of leaf node data distributed to each server. In this case, the server cluster sorts the data of the distributed leaf nodes according to the time stamp indicating the time at which the data was stored in the blockchain node, and sets a preset one of the sorted data. Several pieces of data are sequentially distributed to each sub-leaf node, a corresponding sub-node identifier is set for each of the sub-leaf nodes according to the order of the data, and the data position of the sub-leaf node in the data of all the sub-leaf nodes is determined. As shown.

例えば、サーバ・クラスタ内のサーバによって分散されたサブリーフ・ノードに、それぞれが5MBであるデータを50個格納する場合には、データ量は、250MBとなる。各サブリーフ・ノードが収容することができるデータの量が25MBである場合には、250/25=10であるので、10個のサブリーフ・ノードが得られる。この場合、サブリーフ・ノードには、データの順序に従って、サブノード識別子として1〜10の番号がつけられる。上述の処理の後で、50個のデータの記憶位置は、次のようになる。すなわち、1番から5番のデータを、番号1のサブリーフ・ノードに順番に記憶し、6番から10番のデータを、番号2のサブリーフ・ノードに順番に記憶し、11番から15番のデータを、番号3のサブリーフ・ノードに順番に記憶し、以下同様に記憶することによって、各データの記憶位置を得る。各データは5MBであるので、各サブリーフ・ノードは、5個のデータを含むことができる。   For example, when 50 pieces of data each having 5 MB are stored in sub-leaf nodes distributed by servers in the server cluster, the data amount is 250 MB. If the amount of data that each sub-leaf node can accommodate is 25 MB, then 250/25 = 10, so 10 sub-leaf nodes are obtained. In this case, the subleaf nodes are numbered 1 to 10 as subnode identifiers according to the order of data. After the above processing, the storage locations of the 50 data are as follows. That is, the first to fifth data are sequentially stored in the sub-leaf node of No. 1, the sixth to tenth data are sequentially stored in the sub-leaf node of No. 2, The data is stored in the sub-leaf node of No. 3 in order, and then stored in the same manner to obtain the storage position of each data. Since each data is 5 MB, each sub-leaf node can contain 5 data.

ステップS603で、サーバ・クラスタは、各サブリーフ・ノードのデータのチェックサムを計算する。   In step S603, the server cluster calculates a checksum of the data of each sub-leaf node.

実装態様では、サーバ・クラスタ内のサーバは、対応するサブリーフ・ノードを得た後で、それらのサブリーフ・ノードに記憶されているデータを得、次いで、予め設定された検査アルゴリズムを使用して各サブリーフ・ノードのチェックサムを計算することができる。例えば、サブリーフ・ノードに記憶されているデータをソートし、次いで、ソートしたデータについてSHA256(セキュア・ハッシュ・アルゴリズム256)を使用して、サブリーフ・ノードのチェックサムとしてSHA256値(すなわちハッシュ値)を計算することもできる。   In an implementation, after the servers in the server cluster obtain the corresponding subleaf nodes, they obtain the data stored in those subleaf nodes, and then use each of the pre-configured inspection algorithms to The checksum of the sub-leaf node can be calculated. For example, sort the data stored at the sub-leaf node, and then use SHA256 (secure hash algorithm 256) on the sorted data to determine the SHA256 value (ie, hash value) as the checksum of the sub-leaf node. You can also calculate.

ステップS604で、サーバ・クラスタは、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算する。   In step S604, the server cluster calculates the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node.

実装態様では、サーバ・クラスタが各サブリーフ・ノードのチェックサムを得た後で、サブノード識別子の順序に従って、それらのサブリーフ・ノードのチェックサムをソートすることができる。次いで、サーバ・クラスタは、予め設定された検査アルゴリズムを使用してサブリーフ・ノードのチェックサムに基づく計算を集約的に実行して、対応するリーフ・ノードのチェックサムを得ることにより、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータのチェックサムを得ることができる。   In an implementation, after the server cluster obtains the checksum of each subleaf node, the checksums of those subleaf nodes can be sorted according to the order of the subnode identifiers. The server cluster then performs a computation based on the checksum of the sub-leaf nodes intensively using a preset inspection algorithm to obtain the checksum of the corresponding leaf node, thereby obtaining the blockchain A checksum of the data of the leaf nodes distributed by the nodes can be obtained.

例えば、ステップS602の例に基づくと、ステップS603の処理によって、10個のサブリーフ・ノードのデータそれぞれのハッシュ値を得ることができる。1つのリーフ・ノードのデータから10個のサブリーフ・ノードのデータが分散されるので、図2に示す集約実行計算を、10個のサブリーフ・ノードのデータの得られたハッシュ値に対して実行して、対応するリーフ・ノードのハッシュ値を得ることができる。   For example, based on the example of step S602, the hash value of each of the data of the ten sub-leaf nodes can be obtained by the processing of step S603. Since the data of the ten sub-leaf nodes is distributed from the data of one leaf node, the aggregation execution calculation shown in FIG. 2 is executed for the obtained hash value of the data of the ten sub-leaf nodes. Thus, the hash value of the corresponding leaf node can be obtained.

なお、サブリーフ・ノードの設定されたサブノード識別子によって、プル型の方式でサブリーフ・ノードのデータを得ることもできることに留意されたい。それに応じて、ステップS604の処理は、次のようになることもある。すなわち、サブリーフ・ノードのサブノード識別子、および各サブリーフ・ノードのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算する。詳細な処理については上記の関連する内容を参照すればよいので、ここでは詳細には説明しない。   It should be noted that the sub-leaf node data can also be obtained in a pull-type manner by the set sub-node identifier of the sub-leaf node. Accordingly, the processing in step S604 may be as follows. That is, the checksum of the data of the distributed leaf nodes is calculated according to the subnode identifier of the subleaf node and the checksum of each subleaf node. For the detailed processing, it is sufficient to refer to the related contents described above, and therefore, the details will not be described here.

ステップS605で、サーバ・クラスタは、分散したリーフ・ノードのチェックサムをブロックチェーン・ノードに送信する。   In step S605, the server cluster sends the distributed checksum of the leaf node to the blockchain node.

ステップS606で、ブロックチェーン・ノードは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定する。   In step S606, the blockchain node determines the root checksum of the Merkle tree corresponding to the leaf node according to the checksum of the leaf node.

実装態様では、ブロックチェーン・ノードのデータのルート・チェックサムは、リーフ・ノードのチェックサムに基づいて予め設定された検査アルゴリズムを使用して計算することができる。例えば、ブロックチェーン・ノードの全てのリーフ・ノードにおける記録されたノード識別子に対応するリーフ・ノードの位置に従って、A−B−C−F、A−B−E、およびA−Dなど、それらのリーフ・ノードで構成されるノード分散ツリー(すなわちマークル・ツリー)を得ることができる。リーフ・ノードのチェックサム(すなわちB+C+D+E+Fのチェックサム)が得られたときには、それらのリーフ・ノードのチェックサムに従ってマークル・ツリーのルート・チェックサムを計算することにより、ブロックチェーン・ノードのデータのルート・チェックサムを得ることができる。   In an implementation, the root checksum of the data of the blockchain node may be calculated using a preset check algorithm based on the checksum of the leaf node. For example, according to the location of the leaf node corresponding to the recorded node identifier in all leaf nodes of the blockchain node, such as ABCF, ABE, and AD, etc. A node distribution tree (i.e., a Merkle tree) composed of leaf nodes can be obtained. When the checksums of the leaf nodes (ie, the checksums of B + C + D + E + F) are obtained, the root checksum of the Merkle tree is calculated according to the checksums of the leaf nodes, thereby obtaining the root of the data of the blockchain node. -A checksum can be obtained.

ステップS607で、ブロックチェーン・ノードは、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。   In step S607, the blockchain node specifies the root checksum of the Merkle tree as the root checksum of the data of the blockchain node.

ステップS605およびステップS607の詳細なプロセスについては第1の実施形態および第2の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。   For the detailed processes of step S605 and step S607, the contents related to the first embodiment and the second embodiment may be referred to, and thus the detailed description will not be provided here.

本願の実施形態は、データ処理方法であって、リーフ・ノードのノード識別子をサーバ・クラスタに分散させて、サーバ・クラスタに、目標ブロックチェーンのリーフ・ノードに記憶されるデータの得られた量に従って、それぞれの予め設定された個数のデータをサブリーフ・ノードに分散させることと、次いで、各サブリーフ・ノードのチェックサムを計算することと、対応するリーフ・ノードのチェックサムを決定することと、最後にそれらのリーフ・ノードのチェックサムをブロックチェーン・ノードに提供して、ブロックチェーン・ノードのデータのチェックサムを計算することとを含む、データ処理方法を提供する。このように、リーフ・ノードに記憶されるデータをサーバ・クラスタが再分散してサブリーフ・ノードを得、次いで、サブリーフ・ノードのチェックサムを計算して、そのデータが計算サーバ・クラスタに均一に分散されるようにしてチェックサムの並列計算を行うことにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証する。   An embodiment of the present application is a data processing method, wherein the node identifiers of leaf nodes are distributed to server clusters, and the server cluster obtains the obtained amount of data stored at the leaf nodes of the target blockchain. Distributing each predetermined number of data among the sub-leaf nodes, and then calculating the checksum of each sub-leaf node, and determining the checksum of the corresponding leaf node, according to Finally, providing a checksum of the leaf nodes to the blockchain node and calculating a checksum of the blockchain node's data. In this manner, the server cluster redistributes the data stored on the leaf nodes to obtain subleaf nodes, and then calculates the checksum of the subleaf nodes so that the data is evenly distributed to the compute server cluster. By performing the checksum parallel calculation in a distributed manner, the time required for the calculation process is reduced, the calculation efficiency is improved, and the normal generation of the block and the normal operation of the block chain are guaranteed.

第4の実施形態
図7に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。ここで、サーバ・クラスタは、図8に示すように、第1のサーバ・クラスタおよび第2のサーバ・クラスタをさらに含むことがある。図8は、データ処理システムを示している。このデータ処理システムは、2つのレベルのサーバ・クラスタ、すなわち第1のサーバ・クラスタおよび第2のサーバ・クラスタを含むことがある。ここで、第1のサーバ・クラスタは、ブロックチェーン・ノードより下位のレベルにあり、第2のサーバ・クラスタは、第1のサーバ・クラスタより下位のレベルにある。この階層構造は、データ再結合、データ分散などの目的を達成して、データ処理速度を加速させることができる。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
Fourth Embodiment As shown in FIG. 7, the embodiment of the present application provides a data processing method. This data processing method may be performed cooperatively by blockchain nodes and server clusters. Here, the server cluster may further include a first server cluster and a second server cluster as shown in FIG. FIG. 8 shows a data processing system. The data processing system may include two levels of server clusters, a first server cluster and a second server cluster. Here, the first server cluster is at a lower level than the blockchain node, and the second server cluster is at a lower level than the first server cluster. This hierarchical structure can achieve data re-combination, data distribution, etc., and accelerate data processing speed. The embodiment of the present application will be described in detail by taking a case where the checksum is a hash value as an example. Other forms of checksums may be performed with reference to relevant content of the embodiments of the present application, but will not be described in detail here. The method may include the following steps.

ステップS701で、ブロックチェーン・ノードは、事前記憶されているリーフ・ノードのノード識別子を得る。   In step S701, the blockchain node obtains a node identifier of a pre-stored leaf node.

実装態様では、ブロックチェーン・ノードにデータが記憶されると、それに応じてブロックチェーン・ノード内でリーフ・ノードが生成され、そのリーフ・ノードのノード識別子も生成される。このように、ブロックチェーンは、複数のリーフ・ノードを含むことがあり、各リーフ・ノードが、ある量のデータを記憶する。ノード識別子が生成されると、そのノード識別子を記憶することができ、ブロックチェーン・ノード内の全てのリーフ・ノードにおけるそのノード識別子に対応するリーフ・ノードの位置を記録することができる。例えば、生成されるノード識別子はFであり、そのノード識別子に対応するリーフ・ノードの位置は、A−B−C−Fであることがある。   In an implementation, when data is stored in a blockchain node, a leaf node is generated in the blockchain node and a node identifier of the leaf node is also generated. Thus, a blockchain may include multiple leaf nodes, each leaf node storing a certain amount of data. Once the node identifier is generated, the node identifier can be stored and the position of the leaf node corresponding to that node identifier among all leaf nodes in the blockchain node can be recorded. For example, the generated node identifier is F, and the location of the leaf node corresponding to the node identifier may be ABCF.

ステップS702で、ブロックチェーン・ノードは、ノード識別子をサーバ・クラスタ内のサーバに送信する。   In step S702, the blockchain node sends the node identifier to a server in the server cluster.

実装態様では、図8に示すシステム構造に基づいて、ブロックチェーン・ノードは、そのブロックチェーン・ノードに含まれるリーフ・ノードに記憶されるデータを得ることができ、予め開発された分散規則に従って、またはランダムに、それらのリーフ・ノードのノード識別子を1つまたは複数のグループに分割することができる。ノード識別子の各グループは、第1のサーバ・クラスタ内の1つのサーバに送信することができる。   In an implementation, based on the system structure shown in FIG. 8, a blockchain node can obtain data stored in leaf nodes included in the blockchain node, and according to a pre-developed distribution rule, Or, randomly, the node identifiers of those leaf nodes can be divided into one or more groups. Each group of node identifiers can be sent to one server in the first server cluster.

ステップS703で、第1のサーバ・クラスタは、分散したノード識別子に従って、それらのノード識別子に対応するリーフ・ノードのデータをブロックチェーン・ノードから得る。   In step S703, the first server cluster obtains the data of the leaf nodes corresponding to the node identifiers from the blockchain nodes according to the distributed node identifiers.

実装態様では、第1のサーバ・クラスタ内のサーバは、ノード識別子を含むデータ取得命令をブロックチェーン・デバイスに送信し、次いで、それらのノード識別子に対応するリーフ・ノードのデータをブロックチェーン・ノードから取り出すことができる。   In an implementation, the servers in the first server cluster send data acquisition instructions including the node identifiers to the blockchain devices, and then copy the leaf node data corresponding to those node identifiers to the blockchain nodes. Can be taken from

ステップS704で、第1のサーバ・クラスタは、リーフ・ノードの得られたデータ量に従って、1つまたは複数のサブリーフ・ノードを生成する。   In step S704, the first server cluster generates one or more sub-leaf nodes according to the obtained data amount of the leaf nodes.

ここで、上述のように、本願の実施形態では、サブリーフ・ノードとリーフ・ノードとの間には、帰属関係、従属関係、親関係、または子関係などの関連関係はない。サブリーフ・ノードは、1つまたは複数個のデータを含むデータ・パケットであることがあり、リーフ・ノード(バケット)は、データを記憶するためのマークル・ツリー内のコンテナであることがある。   Here, as described above, in the embodiment of the present application, there is no related relationship such as an belonging relationship, a dependent relationship, a parent relationship, or a child relationship between the sub-leaf node and the leaf node. A sub-leaf node may be a data packet containing one or more data, and a leaf node (bucket) may be a container in a Merkle tree for storing data.

実装態様では、サブリーフ・ノードが収容することができるデータの量またはデータの個数は、例えば100MBまたは10個など、予め設定されていることもある。第1のサーバ・クラスタの各サーバに分散されるリーフ・ノードのデータの総量は、計算することができ、各サブリーフ・ノードが収容することができるデータの量またはデータの個数に従って、1つまたは複数のサブリーフ・ノードを生成することができる。   In an implementation, the amount of data or the number of data that can be accommodated by the sub-leaf node may be preset, such as 100 MB or 10 for example. The total amount of leaf node data distributed to each server of the first server cluster can be calculated, one or more depending on the amount or number of data each sub-leaf node can accommodate. Multiple sub-leaf nodes can be created.

ステップS705で、第1のサーバ・クラスタは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、それぞれに対応するサブリーフ・ノードに配置し、それらのサブリーフ・ノードについて対応するサブノード識別子を設定する。   In step S705, the first server cluster sorts the data of the leaf nodes, sequentially selects a predetermined number of data from the sorted data, and arranges the data in the corresponding sub-leaf nodes. Set corresponding subnode identifiers for those subleaf nodes.

実装態様では、第1のサーバ・クラスタ内の任意のサーバが1つまたは複数個のデータのハッシュ値を計算するのに要する時間の長さは、反復試験方式で予め試験することができ、そこから、比較的短い時間の長さおよび比較的低いサーバの処理負荷に対応するデータの個数を選択することができる。この個数は、例えば30個または50個など、予め設定された数として設定されることもある。各データは、記憶またはブロックチェーン・トランザクションのプロセスにおけるタイムスタンプを備えているので、このタイムスタンプを通して、各データの記憶またはトランザクションの時間を決定することができる。このように、各データのタイムスタンプを得ることができ、それらのタイムスタンプの順序に従って、複数個のデータをソートすることができる。このソートした複数個のデータから予め設定された個数のデータを順番に選択し、対応するサブリーフ・ノードにそれぞれ分散させることができる。異なるサブリーフ・ノードの分散データの順序にラベル付けするために、分散データに基づいて、対応するサブリーフ・ノードについてサブノード識別子を設定することができる。   In an implementation, the amount of time required for any server in the first server cluster to calculate the hash value of one or more data can be pre-tested in an iterative test manner, where Thus, the number of data corresponding to the relatively short time length and the relatively low server processing load can be selected. This number may be set as a preset number, for example, 30 or 50. Since each data has a timestamp in the process of storage or blockchain transaction, the time of storage or transaction of each data can be determined through this timestamp. Thus, the time stamp of each data can be obtained, and a plurality of data can be sorted according to the order of the time stamps. A predetermined number of data can be sequentially selected from the sorted plurality of data and distributed to the corresponding sub-leaf nodes. To label the order of the distributed data of different subleaf nodes, a subnode identifier can be set for the corresponding subleaf node based on the distributed data.

例えば、予め設定されるデータ数が、3個であり、リーフ・ノードのデータが、A、B、C、D、E、F、G、H、およびKを含むことがある。データをタイムスタンプに従ってソートした後で、上記のデータの順序が、H−G−F−E−D−C−B−A−Kとなることがある。この場合には、3つのデータH−G−Fを1つのサブリーフ・ノードに分散させ、3つのデータE−D−Cを1つのサブリーフ・ノードに分散させ、3つのデータB−A−Kを1つのサブリーフ・ノードに分散させることができる。これら3つのサブリーフ・ノードに記憶されたデータの順序にラベル付けするために、H−G−Fが位置するサブリーフ・ノードのサブノード識別子を、サブノード1と設定し、E−D−Cが位置するサブリーフ・ノードのサブノード識別子を、サブノード2と設定し、B−A−Kが位置するサブリーフ・ノードのサブノード識別子を、サブノード3と設定することがある。   For example, the preset number of data may be three, and the leaf node data may include A, B, C, D, E, F, G, H, and K. After sorting the data according to the timestamp, the order of the above data may be HGFFEDCBAK. In this case, three data HGF are distributed to one sub-leaf node, three data EDC are distributed to one sub-leaf node, and three data BAK are distributed. It can be distributed over one subleaf node. To label the order of the data stored in these three subleaf nodes, the subnode identifier of the subleaf node where HGF is located is set to subnode 1 and EDC is located. The subnode identifier of the subleaf node may be set as subnode2, and the subnode identifier of the subleaf node where BAK is located may be set as subnode3.

ステップS706で、第1のサーバ・クラスタは、サブリーフ・ノードのデータを、第2のサーバ・クラスタ内のサーバに分散させる。   In step S706, the first server cluster distributes the data of the sub-leaf node to the servers in the second server cluster.

実装態様では、第2のサーバ・クラスタ内の各サーバの現在の残りの帯域幅および/またはデータ伝送速度などの指標データをそれぞれ得ることができる。第1のサーバ・クラスタの各サーバの計算能力は、この得られた指標データに基づいて評価することができ、この計算能力の大きさに従って、対応するサブリーフ・ノードのデータを第2のサーバ・クラスタ内のサーバに送信することができる。   In implementations, indicator data such as the current remaining bandwidth and / or data rate of each server in the second server cluster may be obtained, respectively. The computing capacity of each server of the first server cluster can be evaluated based on the obtained index data, and according to the magnitude of the computing capacity, the data of the corresponding sub-leaf node is transferred to the second server cluster. Can be sent to servers in the cluster.

さらに、計算効率を可能な限り改善するために、第2のサーバ・クラスタ内のサーバに分散されるサブリーフ・ノードの個数を調節することもある。一例では、第2のサーバ・クラスタ内の各サーバの現在の残りの帯域幅および/またはデータ伝送速度などの指標データをそれぞれ得ることができる。各サーバの計算能力は、この得られた指標データに基づいて評価することができ、この計算能力の大きさに従って、対応するサブリーフ・ノードを第2のサーバ・クラスタ内のサーバに分散されることができる。例えば、第2のサーバ・クラスタは、5つのサーバを含み、各サーバに2つのサブリーフ・ノードを分散させることがある。第2のサーバ・クラスタ内のあるサーバが最も強力な計算能力を有していると計算によって決定された場合には、上記の10個のサブリーフ・ノードのうちの3つのデータを、このサーバに送信することができる。第2のサーバ・クラスタ内のあるサーバが最も弱い計算能力を有していると計算によって決定された場合には、上記の10個のサブリーフ・ノードのうちの1つのデータを、このサーバに送信することができる。このようにして、生成された1つまたは複数のサブリーフ・ノードを、バランスのとれた方式で第2のサーバ・クラスタ内のサーバに提供することができる。   Further, the number of sub-leaf nodes distributed to the servers in the second server cluster may be adjusted in order to improve the computation efficiency as much as possible. In one example, indicator data such as the current remaining bandwidth and / or data rate of each server in the second server cluster can be obtained, respectively. The computing power of each server can be evaluated based on the obtained index data, and the corresponding sub-leaf nodes are distributed to the servers in the second server cluster according to the magnitude of the computing power. Can be. For example, a second server cluster may include five servers, with each server distributing two subleaf nodes. If a server in the second server cluster is determined by computation to have the strongest computing power, data for three of the ten sub-leaf nodes is transferred to this server. Can be sent. If one server in the second server cluster is determined by the calculation to have the weakest computing power, the data of one of the ten subleaf nodes is sent to this server. can do. In this way, the generated one or more sub-leaf nodes can be provided to servers in the second server cluster in a balanced manner.

ステップS707で、第2のサーバ・クラスタは、各サブリーフ・ノードのハッシュ値を計算し、そのハッシュ値を第1のサーバ・クラスタ内の対応するサーバにフィード・バックする。   In step S707, the second server cluster calculates a hash value of each sub-leaf node and feeds back the hash value to the corresponding server in the first server cluster.

実装態様では、第2のサーバ・クラスタのサーバが対応するサブリーフ・ノードを受信した後で、そのサーバは、各サブリーフ・ノードのデータを抽出し、データのタイムスタンプの順序に従ってそのデータをソートすることができる。サーバは、ソートされたデータで構成された文字列を得、予め設定されたハッシュ・アルゴリズムを使用して、この文字列のハッシュ値、すなわちサブリーフ・ノードのハッシュ値を計算することができる。この方法では、第2のサーバ・クラスタは、各サブリーフ・ノードのハッシュ値を得ることができ、このハッシュ値を、その後、対応するサーバを介して、第1のサーバ・クラスタ内の対応するサーバに送信することができる。   In an implementation, after the server of the second server cluster receives the corresponding subleaf node, the server extracts the data of each subleaf node and sorts the data according to the order of the time stamp of the data. be able to. The server can obtain a character string composed of the sorted data and calculate a hash value of the character string, that is, a hash value of the sub-leaf node, using a preset hash algorithm. In this way, the second server cluster can obtain a hash value for each subleaf node, and then use that hash value via the corresponding server to the corresponding server in the first server cluster. Can be sent to

ステップS708で、第1のサーバ・クラスタは、第2のサーバ・クラスタから送信された各サブリーフ・ノードのハッシュ値、およびそれらのサブリーフ・ノードのサブノード識別子に従って、分散したリーフ・ノードのハッシュ値を決定する。   In step S708, the first server cluster updates the hash values of the distributed leaf nodes according to the hash values of the subleaf nodes transmitted from the second server cluster and the subnode identifiers of those subleaf nodes. decide.

実装態様では、第1のサーバ・クラスタ内のサーバは、第2のサーバ・クラスタから返送されたサブリーフ・ノードのチェックサムを受信した後で、各サブリーフ・ノードのサブノード識別子をそれぞれ得ることができる。次いで、これらのサーバは、各サブリーフ・ノードのサブノード識別子に従ってサブリーフ・ノードをソートすることができ、ソートしたサブリーフ・ノードのハッシュ値を収集して、サブリーフ・ノードのハッシュ値を得ることができる。例えば、サブリーフ・ノードのハッシュ値の順序がサブリーフ・ノードの順序に従って決定されることもあり、ソートされたハッシュ値が、文字列を形成することもある。文字列のハッシュ値は、予め設定されたハッシュ・アルゴリズムを用いて計算することができ、このハッシュ値が、対応するリーフ・ノードのハッシュ値となる。さらに、他のハッシュ値計算方式を使用して、リーフ・ノードのハッシュ値を決定することもできる。例えば、1つまたは複数のサブリーフ・ノードのハッシュ値の平均を、リーフ・ノードのハッシュ値として計算することもできるし、あるいは、リーフ・ノードのハッシュ値を、各サブリーフ・ノードの重みおよび各サブリーフ・ノードのハッシュ値に基づいて得ることもできる。   In an implementation, the servers in the first server cluster may each obtain a subnode identifier for each subleaf node after receiving the checksum of the subleaf nodes returned from the second server cluster. . These servers can then sort the subleaf nodes according to the subnode identifier of each subleaf node, collect the hash values of the sorted subleaf nodes, and obtain the hash values of the subleaf nodes. For example, the order of the hash values of the sub-leaf nodes may be determined according to the order of the sub-leaf nodes, and the sorted hash values may form a character string. The hash value of the character string can be calculated using a preset hash algorithm, and this hash value becomes the hash value of the corresponding leaf node. In addition, other hash value calculation schemes may be used to determine the hash value of a leaf node. For example, the average of the hash values of one or more sub-leaf nodes can be calculated as the hash value of the leaf node, or the hash value of the leaf node can be calculated as the weight of each sub-leaf node and each sub-leaf node. -It can also be obtained based on the hash value of the node.

ステップS709で、第1のサーバ・クラスタは、分散したリーフ・ノードのハッシュ値をブロックチェーン・ノードに送信する。   In step S709, the first server cluster sends the hash value of the distributed leaf node to the blockchain node.

ステップS710で、ブロックチェーン・ノードは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、このマークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。   In step S710, the blockchain node determines the root checksum of the Merkle tree corresponding to the leaf node according to the checksum of the leaf node, and determines the root checksum of the Merkle tree as the blockchain. Specify as the root checksum of the node's data.

本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードのリーフ・ノードのデータの量に従って、予め設定された個数のデータが分散された1つまたは複数のサブリーフ・ノードを生成することと、次いで、これらのサブリーフ・ノードを第2のサーバ・クラスタに分散させて、各サブリーフ・ノードのチェックサムを計算することと、各サブリーフ・ノードのチェックサムに従って対応するリーフ・ノードのチェックサムを決定することと、最後に、これらのリーフ・ノードのチェックサムをブロックチェーン・ノードに提供して、ブロックチェーン・ノードのデータのルート・チェックサムを計算することとを含む、データ処理方法を提供する。このように、リーフ・ノードに記憶されたデータを第1のサーバ・クラスタが再分散してサブリーフ・ノードを得、サブリーフ・ノードを第2のサーバ・クラスタに分散させてチェックサムを計算して、データが第2のサーバ・クラスタに均一に分散されるようにしてチェックサムの並列計算を行うことにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証する。   An embodiment of the present application is a data processing method, wherein one or a plurality of sub-leaf nodes in which a predetermined number of data are distributed according to an amount of data of a leaf node of a blockchain node are generated. And then distributing these sub-leaf nodes to a second server cluster to calculate the checksum of each sub-leaf node, and the checksum of the corresponding leaf node according to the checksum of each sub-leaf node And finally providing the checksums of these leaf nodes to the blockchain node and calculating a root checksum of the blockchain node's data. provide. Thus, the first server cluster redistributes the data stored in the leaf nodes to obtain subleaf nodes, and distributes the subleaf nodes to the second server cluster to calculate the checksum. Reduce the time required for the computation process, improve computational efficiency, achieve normal block generation and block by performing parallel checksum computations so that data is evenly distributed across the second server cluster. Ensure the normal operation of the chain.

第5の実施形態
以上は、本願の実施形態によって提供されるデータ処理方法である。同じ概念に基づいて、本願の実施形態は、図9に示すようにデータ処理デバイスをさらに提供する。
Fifth Embodiment The above is the data processing method provided by the embodiment of the present application. Based on the same concept, embodiments of the present application further provide a data processing device as shown in FIG.

データ処理デバイスは、上記の実施形態で提供されるブロックチェーン・ノードであることもあり、一例では、端末デバイス(例えばパーソナル・コンピュータなど)またはサーバであることもある。このデバイスは、データ分散モジュール901と、ルート・チェックサム取得モジュール902とを備える可能性があり、ここで、
データ分散モジュール901は、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するように構成され、
ルート・チェックサム取得モジュール902は、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムをさらに得るように構成される。
The data processing device may be a blockchain node provided in the above embodiments, and in one example, may be a terminal device (eg, a personal computer) or a server. The device may include a data distribution module 901 and a root checksum acquisition module 902, where:
The data distribution module 901 distributes the data of the leaf nodes pre-stored in the blockchain node to the servers in the server cluster, and checksums the data of the leaf nodes to which the servers in the server cluster are distributed. Are configured to calculate
The root checksum acquisition module 902 is configured to further obtain a root checksum of the data of the blockchain node according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster.

本願の実施形態では、ルート・チェックサム取得モジュール902は、サーバ・クラスタ内のサーバから送信されるブロックチェーン・ノードのデータのルート・チェックサムを受信するように構成される。   In an embodiment of the present application, the root checksum obtaining module 902 is configured to receive a root checksum of data of a blockchain node transmitted from a server in the server cluster.

本願の実施形態では、ルート・チェックサム取得モジュール902は、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、そのマークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するように構成される。   In an embodiment of the present application, the root checksum obtaining module 902 determines the root checksum of the Merkle tree corresponding to the leaf node according to the checksum of the leaf node, and determines the root checksum of the Merkle tree. As the root checksum of the blockchain node's data.

本願の実施形態では、データ分散モジュール901は、ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバに送信するように構成される。   In the embodiment of the present application, the data distribution module 901 transmits data of a preset number of leaf nodes to servers in a server cluster according to the number of leaf nodes pre-stored in the blockchain node. It is configured as follows.

本願の実施形態では、チェックサムは、ハッシュ値である。   In the embodiment of the present application, the checksum is a hash value.

本願の実施形態は、データ処理デバイスであって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、さらに、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成された、データ処理デバイスを提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   An embodiment of the present application is a data processing device, in which leaf node data pre-stored in a blockchain node is distributed to servers in a server cluster, and the servers in the server cluster are distributed. Calculating the checksums of the data of the leaf nodes respectively and further obtaining the root checksum of the data of the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster. A data processing device configured as described above. In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

第6の実施形態
同じ概念に基づいて、本願の実施形態は、図10に示すようにデータ処理デバイスをさらに提供する。
Sixth Embodiment Based on the same concept, embodiments of the present application further provide a data processing device as shown in FIG.

このデータ処理デバイスは、上記の実施形態で提供されるサーバ・クラスタであることもあり、このデバイスは、データ受信モジュール1001と、チェックサム取得モジュール1002とを含むことがあり、ここで、
データ受信モジュール1001は、ブロックチェーン・ノードによって分散されるリーフ・ノードのデータを受信するように構成され、
チェックサム取得モジュール1002は、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成される。
The data processing device may be a server cluster provided in the above embodiment, and the device may include a data receiving module 1001 and a checksum obtaining module 1002, where:
The data receiving module 1001 is configured to receive data of leaf nodes distributed by blockchain nodes,
The checksum acquisition module 1002 is configured to calculate a checksum of the distributed leaf node data and obtain a root checksum of the blockchain node data.

本願の実施形態では、このデバイスは、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるように構成されたデータ分散モジュールと、
各サブリーフ・ノードのデータのチェックサムを計算するように構成された計算モジュールと、をさらに含み、
それに応じて、チェックサム取得モジュール1002は、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
In an embodiment of the present application, the device is:
A data distribution module configured to distribute the leaf node data to preset sub-leaf nodes according to the leaf node data amount;
A calculation module configured to calculate a checksum of the data of each sub-leaf node;
Accordingly, the checksum acquisition module 1002 is configured to calculate the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node.

本願の実施形態では、データ分散モジュールは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードにそれぞれ配置し、それらのサブリーフ・ノードについて対応するサブノード識別子を設定するように構成され、
それに応じて、チェックサム取得モジュール1002は、サブリーフ・ノードのサブノード識別子、および各サブリーフ・ノードのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
In the embodiment of the present application, the data distribution module sorts the data of the leaf nodes, sequentially selects a predetermined number of data from the sorted data, arranges the data in the sub-leaf nodes, respectively, Configured to set a corresponding subnode identifier for the node,
Accordingly, the checksum acquisition module 1002 is configured to calculate a checksum of the data of the distributed leaf nodes according to the subnode identifiers of the subleaf nodes and the checksum of each subleaf node.

本願の実施形態では、チェックサム取得モジュール1002は、分散したリーフ・ノードのデータのチェックサムを計算し、その分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、そのブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するように構成される、あるいは、分散したリーフ・ノードのデータのチェックサムを計算し、その分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、そのルート・チェックサムをブロックチェーン・ノードに送信するように構成される。   In an embodiment of the present application, the checksum acquisition module 1002 calculates the checksum of the data of the distributed leaf node, transmits the checksum of the data of the distributed leaf node to the blockchain node, and The chain node is configured to calculate the root checksum of the data of the blockchain node according to the checksum of the data of the leaf nodes, or calculate the checksum of the data of the distributed leaf nodes; It is configured to obtain a root checksum of data of the blockchain node based on the checksum of data of the distributed leaf nodes, and to transmit the root checksum to the blockchain node.

本願の実施形態は、データ処理デバイスであって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散して、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、さらに、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成された、データ処理デバイスを提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。   An embodiment of the present application is a data processing device, which distributes data of a leaf node pre-stored in a blockchain node to servers in a server cluster, and the servers in the server cluster are distributed. Calculating the checksums of the data of the leaf nodes respectively and further obtaining the root checksum of the data of the blockchain nodes according to the checksum of the data of the leaf nodes calculated by the servers in the server cluster. A data processing device configured as described above. In this manner, the data is distributed to the server cluster because the leaf node data is distributed to the server cluster and then the checksum of the distributed leaf node data is calculated by each server in the server cluster. In this way, the checksums of the leaf node data can be calculated in parallel, thereby reducing the time required for the calculation process, improving the calculation efficiency, and ensuring the correct generation of the blocks and the correct operation of the block chain. Can be guaranteed.

1990年代には、技術の改良は、ハードウェアの改良(例えば、ダイオード、トランジスタ、スイッチなど、回路構造の改良)、またはソフトウェアの改良(方法フローの改良)に明確に区別することができる。しかし、技術の発展とともに、方法フローに関する現在の改良の多くは、ハードウェア回路構造への直接的な改良と考えられることもある。設計者は、ほとんどの場合、改良した方法フローをハードウェア回路にプログラムすることによって、対応するハードウェア回路構造を得る。したがって、方法フローの改良をハードウェア・モジュールによって実現することはできないと結論づけることはできない。例えば、プログラマブル・ロジック・デバイス(PLD)(例えばフィールド・プログラマブル・ゲート・アレイ(FPGA))は、ユーザがそのデバイスをプログラムすることによってその論理的機能が決定される集積回路である。設計者は、デジタル・システムを1つのPLDに「統合」するように自分でプログラムし、チップ製造者に専用のICチップを設計して製造するように依頼する必要がない。現在では、さらに、この種のプログラミングは、手作業でICチップを製造するより、「論理コンパイラ」ソフトウェアによってほとんど実施されている。論理コンパイラ・ソフトウェアは、プログラムの開発および書込みに使用されるソフトウェア・コンパイラと同様であるが、コンパイルする前にソース・コードを書き込むために、ハードウェア記述言語(HDL)と呼ばれる特定のプログラミング言語を使用しなければならない。HDLは、1つだけでなく、ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java(登録商標) Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)など、多数の種類が存在する。現在最も一般的に使用されるものとしては、VHDL(Very−High−Speed Integrated Circuit Hardware Description Language)およびVerilogが挙げられる。当業者なら、ハードウェア回路を得て、上記のHDLを使用してある程度の論理プログラミングを方法フローについて行い、その方法フローをICにプログラムすることによって論理方法フローを実施すると非常に容易であることも気づくべきであろう。   In the 1990's, improvements in technology can be clearly distinguished from improvements in hardware (eg, improvements in circuit structures, such as diodes, transistors, switches, etc.), or in software (improvements in method flow). However, with the development of technology, many of the current improvements in method flow may be considered as direct improvements to the hardware circuit structure. In most cases, the designer obtains the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be concluded that a refinement of the method flow cannot be realized by a hardware module. For example, a programmable logic device (PLD) (eg, a field programmable gate array (FPGA)) is an integrated circuit whose logical function is determined by a user programming the device. Designers need to program themselves to "integrate" the digital system into one PLD and not have to ask chip manufacturers to design and manufacture dedicated IC chips. At present, moreover, this kind of programming is mostly implemented by "logic compiler" software, rather than manually manufacturing IC chips. Logic compiler software is similar to the software compiler used to develop and write programs, but uses a specific programming language called Hardware Description Language (HDL) to write source code before compiling. Must be used. HDL is not only one 1, ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java (registered trademark) Hardware Description Language), Lava , Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It is very easy for a person skilled in the art to obtain a hardware circuit, perform some logic programming on the method flow using the above HDL, and implement the logic method flow by programming the method flow into an IC. You should also notice.

制御装置は、任意の適当な方式で実装することができる。例えば、制御装置は、例えばマイクロプロセッサまたはプロセッサの形態であってもよいし、(マイクロ)プロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル・ロジック・コントローラ、および埋込み型マイクロコントローラによって実行することができるコンピュータ可読プログラム・コード(例えばソフトウェアまたはファームウェア)を記憶するコンピュータ可読媒体の形態であってもよい。制御装置の例としては、これらに限定されるわけではないが、ARC社製625D、Atmel社製AT91SAM、Microchip社製PIC18F26K20、およびSilicone Labs社製C8051F320などのマイクロコントローラが挙げられる。メモリ制御装置は、さらに、メモリの制御論理の一部として実装されることもある。当業者なら、制御装置が純粋にコンピュータ可読プログラム・コードによって実装されるだけでなく、方法のステップについて論理プログラミングを実行して、制御装置が、同じ機能を論理ゲート、スイッチ、ASIC、プログラマブル・ロジック・コントローラ、埋込み型マイクロコントローラなどの形態で実施することも完全に可能であることも気づくべきであろう。したがって、このような制御装置は、ハードウェア部品とみなされることもあるが、その制御装置に含まれ、様々な機能を実現するように構成されたデバイスが、そのハードウェア部品の内部の構造とみなされることもある。あるいは、様々な機能を実現するように構成されたデバイスは、方法を実施するソフトウェア・モジュール、およびハードウェア部品の内部の構造の両方とみなされることもある。   The controller can be implemented in any suitable manner. For example, the controller may be in the form of, for example, a microprocessor or processor, or (micro) processors, logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. May be in the form of a computer readable medium that stores computer readable program code (eg, software or firmware) that can be executed by a computer. Examples of control devices include, but are not limited to, microcontrollers such as 625D manufactured by ARC, AT91SAM manufactured by Atmel, PIC18F26K20 manufactured by Microchip, and C8051F320 manufactured by Silicon Labs. The memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will recognize that the controller is not only implemented by purely computer readable program code, but also performs logic programming for the steps of the method so that the controller performs the same functions as logic gates, switches, ASICs, programmable logic. It should also be noted that implementation in the form of a controller, an embedded microcontroller, etc. is entirely possible. Therefore, such a control device is sometimes regarded as a hardware component. However, a device included in the control device and configured to realize various functions includes an internal structure of the hardware component. May be considered. Alternatively, devices configured to perform various functions may be considered both as software modules that perform the method and as internal structures of hardware components.

上記の実施形態で説明したシステム、装置、モジュール、またはユニットは、コンピュータ・チップまたはエンティティによって実装することも、あるいは機能を有する製品によって実装することもできる。代表的な実装デバイスは、コンピュータである。一例では、コンピュータは、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、カメラ付き携帯電話、スマートフォン、携帯情報端末、メディア・プレイヤ、ナビゲーション・デバイス、電子メール・デバイス、ゲーム・コンソール、タブレット・コンピュータ、ウェアラブル・デバイス、またはこれらのデバイスのうちの任意のデバイスの組合せである可能性がある。   The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or can be implemented by functional products. A typical mounting device is a computer. In one example, the computer may be, for example, a personal computer, a laptop computer, a mobile phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet console, and the like. It can be a computer, a wearable device, or a combination of any of these devices.

説明の便宜上、上記のデバイスは、説明のための機能に応じて様々なユニットに分割されている。これらのユニットの機能は、本願を実施するときには、1つまたは複数のソフトウェアおよび/またはハードウェアで実装される可能性がある。   For convenience of description, the above devices are divided into various units according to the function of the description. The functions of these units may be implemented in one or more software and / or hardware when practicing the present application.

当業者なら、本発明の実施形態が、方法、システム、またはコンピュータ・プログラム製品として提供される可能性があることを理解されたい。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態として実施される可能性がある。さらに、本発明は、コンピュータ使用可能プログラム・コードを含む1つまたは複数のコンピュータ使用可能記憶媒体(これらに限定されるわけではないが、磁気ディスク・メモリ、CD−ROM、光メモリなど)に実装されたコンピュータ・プログラム製品の形態である可能性もある。   One of ordinary skill in the art will appreciate that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may be implemented as an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may be implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code. Computer program product.

本発明の実施形態による方法、デバイス(システム)、およびコンピュータ・プログラム製品の流れ図および/またはブロック図を参照して、本発明について説明した。コンピュータ・プログラム命令を使用して、これらの流れ図および/またはブロック図の各プロセスおよび/またはブロック、ならびにこれらの流れ図および/またはブロック図のプロセスおよび/またはブロックの組合せを実施することもできることを理解されたい。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊目的コンピュータ、埋込み型プロセッサ、またはその他のプログラマブル・データ処理デバイスのプロセッサに提供してマシンを生成し、これらの命令がコンピュータまたは他のプログラマブル・データ処理デバイスのプロセッサによって実行されることによって、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックに指定される機能を実施する装置を生成することができる。   The invention has been described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the invention. It is understood that computer program instructions may also be used to implement each of the processes and / or blocks in these flow diagrams and / or block diagrams, and combinations of the processes and / or blocks in these flow diagrams and / or block diagrams. I want to be. These computer program instructions are provided to a general purpose computer, special purpose computer, embedded processor, or other processor of a programmable data processing device to create a machine, and the instructions are executed by a computer or other programmable data processing device. When executed by the processor of the device, an apparatus may be generated that performs the functions specified in one or more processes in the flowcharts and / or one or more blocks in the block diagrams.

これらのコンピュータ・プログラム命令を、コンピュータまたはその他のプログラマブル・データ処理デバイスに特定の方式で動作するように命令することができるコンピュータ可読メモリに記憶して、コンピュータ可読メモリに記憶された命令が命令装置を含む製品を生成することもできる。命令装置は、流れ図の1つまたは複数のプロセス、および/あるいはブロック図の1つまたは複数のブロックに指定される機能を実施する。   Storing these computer program instructions in a computer readable memory that can instruct a computer or other programmable data processing device to operate in a particular manner, wherein the instructions stored in the computer readable memory are stored in an instruction device. Can also be produced. The instruction device performs the functions specified in one or more processes in the flowcharts and / or one or more blocks in the block diagrams.

これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理デバイスにロードされて、一連の動作ステップをコンピュータまたはその他のプログラマブル・デバイス上で実行させることによって、コンピュータ実施処理を生成することもできる。したがって、コンピュータまたはその他のプログラマブル・デバイス上で実行される命令は、流れ図の1つまたは複数のプロセス、および/あるいはブロック図の1つまたは複数のブロックに指定される機能を実施するステップを提供する。   These computer program instructions may also be loaded into a computer or other programmable data processing device to generate a computer-implemented process by causing a series of operating steps to be performed on the computer or other programmable device. . Accordingly, instructions executing on a computer or other programmable device provide steps to perform a function specified in one or more processes in a flowchart and / or one or more blocks in a block diagram. .

代表的な構成では、計算デバイスは、1つまたは複数のプロセッサ(CPU)と、入出力インタフェースと、ネットワーク・インタフェースと、メモリとを含む。   In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

メモリは、例えば読取り専用メモリ(ROM)またはフラッシュRAMなど、揮発性メモリ、ランダム・アクセス・メモリ(RAM)、および/または不揮発性メモリなどのコンピュータ可読媒体を含む可能性がある。メモリは、コンピュータ可読媒体の一例である。   The memory may include computer readable media such as volatile memory, random access memory (RAM), and / or non-volatile memory, for example, read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

コンピュータ可読媒体は、任意の方法または技術によって情報の記憶を実施することができる、永続的媒体、揮発性媒体、可動媒体、および固定媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータである可能性がある。コンピュータの記憶媒体の例としては、これらに限定されるわけではないが、計算デバイスがアクセスできる情報を記憶するために使用することができる、相変化ランダム・アクセス・メモリ(PRAM)、静的ランダム・アクセス・メモリ(SRAM)、動的ランダム・アクセス・メモリ(DRAM)、その他のタイプのランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスク読取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)またはその他の光メモリ、カセット、カセットおよびディスク・メモリまたはその他の磁気メモリデバイス、あるいはその他の任意の非伝送媒体などが挙げられる。本明細書の定義によれば、コンピュータ可読媒体は、変調データ信号および搬送波などの一時的媒体を含まない。   Computer-readable media includes persistent media, volatile media, movable media, and non-transitory media that can store information by any method or technique. The information may 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 memory (PRAM), static random access memory (PRAM), which can be used to store information accessible to a computing device. Access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM) Flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical memory, cassette, cassette and disk memory or other magnetic memory device, or other Any of Such as a non-transmission medium. Computer-readable media, as defined herein, does not include transitory media such as modulated data signals and carriers.

さらに、「含む」または「備える」という用語、あるいはこれらの用語のその他の変形語は、非排他的な包含を含むものとして意図されており、それにより、一連の要素を含むプロセス、方法、物品、またはデバイスが、それらの要素を含むだけでなく、明示的には列挙されていない他の要素も含む、あるいはそのプロセス、方法、物品、またはデバイスに固有の要素をさらに含むことにも留意されたい。さらなる制約がないときには、各要素が「1つの…を含む」という記述によって定義されていることは、当該要素を含むプロセス、方法、物品、またはデバイスが、同種の要素をさらに含むことを排除しない。   Further, the term "comprising" or "comprising" or other variants of these terms, is intended to include non-exclusive inclusion, thereby making a process, method, or article comprising a series of elements. Or that the device not only includes those elements, but also includes other elements not explicitly listed, or further includes elements specific to the process, method, article, or device. I want to. Unless further constrained, the definition of each element by the phrase "comprising one" does not exclude that the process, method, article, or device that includes the element further includes the same type of element. .

当業者なら、本願の実施形態が、方法、システム、またはコンピュータ・プログラム製品として提供される可能性があることを理解されたい。したがって、本願は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態として実施される可能性がある。さらに、本願は、コンピュータ使用可能プログラム・コードを含む1つまたは複数のコンピュータ使用可能記憶媒体(これらに限定されるわけではないが、磁気ディスク・メモリ、CD−ROM、光メモリなど)に実装されたコンピュータ・プログラム製品の形態である可能性もある。   Those skilled in the art will appreciate that embodiments of the present application may be provided as a method, system, or computer program product. Thus, the present application may be implemented as an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. In addition, the present application may be implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code. It may also be in the form of a computer program product.

本願は、プログラム・モジュールなどコンピュータによって実行されるコンピュータ実行可能命令の一定の文脈で説明されることがある。一般に、プログラム・モジュールは、特定のタスクを実行するため、または特定の抽象データ型を実施するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散型コンピューティング環境で実施されることもある。こうした分散型コンピューティング環境では、通信ネットワークを介して接続された遠隔処理デバイスがタスクを実行する。分散型コンピューティング環境では、プログラム・モジュールは、ストレージ・デバイスなど、ローカルおよび遠隔のコンピュータ記憶媒体に位置することがある。   This application may be described in the context of computer-executable instructions, such as program modules, being executed by computers. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The present application may be implemented in a distributed computing environment. In such a distributed computing environment, remote processing devices connected via a communications network perform tasks. In a distributed computing environment, program modules may be located in local and remote computer storage media, such as storage devices.

本願の実施形態は、各実施形態において他の実施形態との相違点に注目するようにして漸進的に説明しており、これらの実施形態は、同じ、または類似の部分については相互に参照することができる。特に、システムの実施形態は、比較的簡単に説明しているが、これは、システムの実施形態が、方法の実施形態と実質的に同様であるからである。関連する部分については、方法の実施形態の説明を参照すればよい。   The embodiments of the present application are described progressively in each embodiment by focusing on the differences from the other embodiments, and these embodiments will refer to each other for the same or similar parts. be able to. In particular, embodiments of the system have been described relatively briefly, since embodiments of the system are substantially similar to embodiments of the method. For the relevant portions, the description of the embodiment of the method may be referred to.

以上は、本願の実施形態に過ぎず、本願を限定するために使用されるものではない。当業者にとっては、本願は、様々な修正および変更を有する可能性がある。本願の趣旨および原理の範囲内で行われる任意の修正、等価な置換、または改良は、本願の特許請求の範囲に含まれるものとする。   The above is only an embodiment of the present application and is not used to limit the present application. For those skilled in the art, the present application may have various modifications and alterations. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present application shall be included in the claims of the present application.

Claims (18)

データ処理方法であって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、前記サーバ・クラスタ内の前記サーバが、前記分散したリーフ・ノードの前記データのチェックサムをそれぞれ計算するステップと、
前記サーバ・クラスタ内の前記サーバによって計算された前記リーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法。
A data processing method,
Distributing leaf node data pre-stored in a blockchain node to servers in a server cluster, wherein the server in the server cluster checksums the data of the distributed leaf nodes. Calculating each; and
Obtaining a root checksum of the data of the blockchain node according to the checksum of the data of the leaf node calculated by the servers in the server cluster.
前記サーバ・クラスタ内の前記サーバによって計算された前記リーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
前記サーバ・クラスタ内の前記サーバから送信された前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを受信するステップを含む、請求項1に記載の方法。
Obtaining the root checksum of the data of the blockchain node according to the checksum of the data of the leaf node calculated by the server in the server cluster;
The method of claim 1, comprising receiving the root checksum of the data of the blockchain node transmitted from the server in the server cluster.
前記サーバ・クラスタ内の前記サーバによって計算された前記リーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
前記リーフ・ノードの前記チェックサムに従って、前記リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定するステップと、
前記マークル・ツリーの前記ルート・チェックサムを、前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムとして指定するステップと、を含む、請求項1に記載の方法。
Obtaining the root checksum of the data of the blockchain node according to the checksum of the data of the leaf node calculated by the server in the server cluster;
Determining a root checksum of a Merkle tree corresponding to the leaf node according to the checksum of the leaf node;
Specifying the root checksum of the Merkle tree as the root checksum of the data of the blockchain node.
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させる前記ステップが、
前記ブロックチェーン・ノードに事前記憶されている前記リーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータを前記サーバ・クラスタ内のサーバにそれぞれ送信するステップを含む、請求項1に記載の方法。
Distributing the leaf node data pre-stored in the blockchain node to servers in the server cluster,
2. The method according to claim 1, further comprising transmitting data of a preset number of leaf nodes to servers in the server cluster according to the number of the leaf nodes pre-stored in the blockchain node. The described method.
前記チェックサムが、ハッシュ値である、請求項1から4のいずれか1項に記載の方法。   The method according to claim 1, wherein the checksum is a hash value. データ処理方法であって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップと、
前記分散したリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法。
A data processing method,
Receiving leaf node data distributed by the blockchain node;
Calculating a checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain nodes.
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信する前記ステップの後で、
前記リーフ・ノードのデータ量に従って、前記リーフ・ノードの前記データを予め設定されたサブリーフ・ノードに分散させるステップと、
各サブリーフ・ノードのデータのチェックサムを計算するステップと、をさらに含み、
前記分散したリーフ・ノードの前記データのチェックサムを計算する前記ステップが、
各サブリーフ・ノードの前記データの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するステップを含む、請求項6に記載の方法。
After said step of receiving leaf node data distributed by blockchain nodes,
Distributing the data of the leaf nodes to preset sub-leaf nodes according to the amount of data of the leaf nodes;
Calculating a checksum of the data of each sub-leaf node;
Calculating the checksum of the data of the distributed leaf nodes,
7. The method of claim 6, comprising calculating the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node.
前記リーフ・ノードのデータ量に従って、前記リーフ・ノードの前記データを予め設定されたサブリーフ・ノードに分散させる前記ステップが、
前記リーフ・ノードの前記データをソートするステップと、
前記ソートしたデータから予め設定された個数のデータを順番に選択して、前記サブリーフ・ノードに配置するステップと、
前記サブリーフ・ノードについて、対応するサブノード識別子を設定するステップとを含み、
各サブリーフ・ノードの前記データの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算する前記ステップが、
前記サブリーフ・ノードの前記サブノード識別子、および前記サブリーフ・ノードのそれぞれの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するステップを含む、請求項7に記載の方法。
According to the amount of data of the leaf node, the step of distributing the data of the leaf node to preset sub-leaf nodes,
Sorting the data of the leaf nodes;
Selecting a predetermined number of data in order from the sorted data and arranging them in the sub-leaf node;
Setting a corresponding subnode identifier for the subleaf node;
Calculating the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node,
The method of claim 7, comprising calculating the checksum of the data of the distributed leaf nodes according to the subnode identifier of the subleaf node and the checksum of each of the subleaf nodes.
前記分散したリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムを前記ブロックチェーン・ノードに送信して、前記ブロックチェーン・ノードが、前記リーフ・ノードの前記データの前記チェックサムに従って前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを計算するステップ、または
前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムに基づいて前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを得、前記ルート・チェックサムを前記ブロックチェーン・ノードに送信するステップを含む、請求項6に記載の方法。
Calculating the checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain node;
Calculating the checksum of the data of the distributed leaf nodes and transmitting the checksum of the data of the distributed leaf nodes to the blockchain node, wherein the blockchain node Calculating the root checksum of the data of the blockchain node according to the checksum of the data of a node, or calculating the checksum of the data of the distributed leaf nodes, and Obtaining the root checksum of the data of the blockchain node based on the checksum of the data of a leaf node, and transmitting the root checksum to the blockchain node. 7. The method according to 6.
データ処理デバイスであって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、前記サーバ・クラスタ内の前記サーバが、前記分散したリーフ・ノードの前記データのチェックサムをそれぞれ計算するように構成されたデータ分散モジュールと、
前記サーバ・クラスタ内の前記サーバによって計算された前記リーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたルート・チェックサム取得モジュールと、を備える、データ処理デバイス。
A data processing device,
Distributing leaf node data pre-stored in a blockchain node to servers in a server cluster, wherein the server in the server cluster checksums the data of the distributed leaf nodes. A data distribution module configured to calculate each;
A root checksum obtaining module configured to obtain a root checksum of the data of the blockchain node according to the checksum of the data of the leaf node calculated by the server in the server cluster; A data processing device comprising:
前記ルート・チェックサム取得モジュールが、前記サーバ・クラスタ内の前記サーバから送信された前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを受信するように構成される、請求項10に記載のデバイス。   The method of claim 10, wherein the root checksum obtaining module is configured to receive the root checksum of the data of the blockchain node transmitted from the server in the server cluster. device. 前記ルート・チェックサム取得モジュールが、前記リーフ・ノードの前記チェックサムに従って、前記リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、前記マークル・ツリーの前記ルート・チェックサムを、前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムとして指定するように構成される、請求項10に記載のデバイス。   The root checksum obtaining module determines a root checksum of a Merkle tree corresponding to the leaf node according to the checksum of the leaf node, and calculates the root checksum of the Merkle tree: The device of claim 10, configured to designate as the root checksum of the data of the blockchain node. 前記データ分散モジュールが、前記ブロックチェーン・ノードに事前記憶されている前記リーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータを前記サーバ・クラスタ内のサーバにそれぞれ送信するように構成される、請求項10に記載のデバイス。   The data distribution module transmits data of a preset number of leaf nodes to servers in the server cluster according to the number of the leaf nodes pre-stored in the blockchain node. The device of claim 10, wherein the device is configured. 前記チェックサムが、ハッシュ値である、請求項10から13のいずれか1項に記載のデバイス。   The device according to any one of claims 10 to 13, wherein the checksum is a hash value. データ処理デバイスであって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するように構成されたデータ受信モジュールと、
前記分散したリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたチェックサム取得モジュールと、を備える、データ処理デバイス。
A data processing device,
A data receiving module configured to receive leaf node data distributed by the blockchain node;
A checksum obtaining module configured to calculate a checksum of the data of the distributed leaf nodes to obtain a root checksum of the data of the blockchain nodes.
前記リーフ・ノードのデータ量に従って、前記リーフ・ノードの前記データを予め設定されたサブリーフ・ノードに分散させるように構成されたデータ分散モジュールと、
各サブリーフ・ノードのデータのチェックサムを計算するように構成された計算モジュールと、をさらに備え、
前記チェックサム取得モジュールが、各サブリーフ・ノードの前記データの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するように構成される、請求項15に記載のデバイス。
A data distribution module configured to distribute the data of the leaf nodes to preset sub-leaf nodes according to a data amount of the leaf nodes;
A calculation module configured to calculate a checksum of the data of each sub-leaf node;
16. The device of claim 15, wherein the checksum obtaining module is configured to calculate the checksum of the data of the distributed leaf nodes according to the checksum of the data of each sub-leaf node.
前記データ分散モジュールが、前記リーフ・ノードの前記データをソートし、前記ソートしたデータから予め設定された個数のデータを順番に選択して、前記サブリーフ・ノードに配置し、前記サブリーフ・ノードについて、対応するサブノード識別子を設定するように構成され、
前記チェックサム取得モジュールが、前記サブリーフ・ノードの前記サブノード識別子、および前記サブリーフ・ノードのそれぞれの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するように構成される、請求項16に記載のデバイス。
The data distribution module sorts the data of the leaf nodes, selects a predetermined number of data in order from the sorted data, arranges the data in the sub-leaf node, and for the sub-leaf node, Configured to set a corresponding subnode identifier,
The checksum obtaining module is configured to calculate the checksum of the data of the distributed leaf nodes according to the subnode identifier of the subleaf node and the checksum of each of the subleaf nodes. 17. The device of claim 16, wherein:
前記チェックサム取得モジュールが、前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムを前記ブロックチェーン・ノードに送信して、前記ブロックチェーン・ノードが、前記リーフ・ノードの前記データの前記チェックサムに従って前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを計算するように構成される、または
前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムに基づいて前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを得、前記ルート・チェックサムを前記ブロックチェーン・ノードに送信するように構成される、請求項15に記載のデバイス。
The checksum obtaining module calculates the checksum of the data of the distributed leaf nodes and sends the checksum of the data of the distributed leaf nodes to the blockchain node, A chain node configured to calculate the root checksum of the data of the blockchain node according to the checksum of the data of the leaf node, or the data of the distributed leaf nodes Calculating the checksum of the data of the distributed leaf nodes, obtaining the root checksum of the data of the blockchain node based on the checksum of the data of the distributed leaf nodes, and converting the root checksum to the blockchain. Configured to send to nodes The device of claim 15, wherein
JP2019544724A 2017-02-17 2018-02-07 Data processing methods and devices Active JP6940615B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710085752.6A CN107040582B (en) 2017-02-17 2017-02-17 Data processing method and device
CN201710085752.6 2017-02-17
PCT/CN2018/075571 WO2018149345A1 (en) 2017-02-17 2018-02-07 Data processing method and device

Publications (2)

Publication Number Publication Date
JP2020507866A true JP2020507866A (en) 2020-03-12
JP6940615B2 JP6940615B2 (en) 2021-09-29

Family

ID=59533525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544724A Active JP6940615B2 (en) 2017-02-17 2018-02-07 Data processing methods and devices

Country Status (18)

Country Link
US (2) US11392612B2 (en)
EP (1) EP3554051B1 (en)
JP (1) JP6940615B2 (en)
KR (1) KR102284972B1 (en)
CN (1) CN107040582B (en)
AU (2) AU2018221097B2 (en)
BR (1) BR112019016423B1 (en)
CA (1) CA3051065C (en)
ES (1) ES2859560T3 (en)
MX (1) MX2019009291A (en)
MY (1) MY190059A (en)
PH (1) PH12019501852A1 (en)
PL (1) PL3554051T3 (en)
RU (1) RU2724136C1 (en)
SG (1) SG11201906738SA (en)
TW (1) TWI682652B (en)
WO (1) WO2018149345A1 (en)
ZA (1) ZA201904735B (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040582B (en) 2017-02-17 2020-08-14 创新先进技术有限公司 Data processing method and device
CN107612973B (en) * 2017-08-18 2020-12-11 暨南大学 Block chain structure for intelligent mobile terminal, generation method and transaction verification method
CN107705208A (en) * 2017-10-12 2018-02-16 南京网数信息科技有限公司 A kind of digital asset processing method and system based on Hash tree
CN107992356B (en) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 Block chain transaction block processing method, electronic device and readable storage medium
CN108521328B (en) * 2018-03-26 2020-08-28 杭州秘猿科技有限公司 Block chain consensus method and device and electronic equipment
CN109032803B (en) 2018-08-01 2021-02-12 创新先进技术有限公司 Data processing method and device and client
CN109359222B (en) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 Data storage method and system, equipment and storage medium
CN109412600A (en) * 2018-09-03 2019-03-01 何祥果 A kind of identification number coding method based on magnetic characteristic
WO2020056570A1 (en) * 2018-09-18 2020-03-26 柯宾汉数位金融科技有限公司 Sharding mechanism-based block generation method for block network, and block network system
CN109345388B (en) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 Block chain intelligent contract verification method and device and storage medium
CN109360095A (en) * 2018-09-27 2019-02-19 深圳技术大学(筹) A kind of processing method, device and the terminal device of block chain transaction data
CN109361661B (en) * 2018-10-08 2020-07-10 莆田市烛火信息技术有限公司 Block chain consensus device depending on related chain computing power
US11303442B2 (en) 2018-10-09 2022-04-12 International Business Machines Corporation Blockchain notification board storing blockchain resources
US10997159B2 (en) * 2018-10-09 2021-05-04 International Business Machines Corporation Blockchain notification board storing blockchain resources
US11520773B2 (en) 2018-10-09 2022-12-06 International Business Machines Corporation Blockchain notification board storing blockchain resources
CN109658238B (en) * 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 Data processing method and device
CN109754251B (en) * 2018-12-27 2022-02-01 石更箭数据科技(上海)有限公司 Data processing method and device, medium and terminal thereof
EP3909194A4 (en) * 2019-01-10 2022-09-28 Bitnobi Inc. Distributed governance for sharing of big data
CN110009510A (en) * 2019-01-22 2019-07-12 阿里巴巴集团控股有限公司 Transaction processing system, method, calculating equipment and storage medium based on block chain
TWI708154B (en) * 2019-04-24 2020-10-21 國際信任機器股份有限公司 Verifying system and method applied for cooperation between blockchain and off-chain devices
SG11202002912XA (en) * 2019-08-01 2021-03-30 Advanced New Technologies Co Ltd Shared blockchain data storage based on error correction code
CN110528600A (en) * 2019-08-06 2019-12-03 福建工大岩土工程研究所有限公司 A kind of pile measurement system and method
CN110445684B (en) * 2019-08-09 2021-04-02 中国信息通信研究院 Block chain performance benchmark test method and device
KR102163930B1 (en) * 2019-09-30 2020-10-12 넷마블 주식회사 Distributed compile system implementing blockchain rewards
CN110753105B (en) * 2019-10-17 2022-09-06 中国建设银行股份有限公司 Data transmission method, device, system, electronic equipment and storage medium
US11838400B2 (en) * 2019-11-19 2023-12-05 International Business Machines Corporation Image encoding for blockchain
TWI728571B (en) * 2019-11-26 2021-05-21 中華電信股份有限公司 Resource management method and system for blockchain service
CN111209336B (en) * 2019-12-30 2020-09-15 广州博士信息技术研究院有限公司 Data distribution method and device based on block chain and server
CN111367916B (en) * 2020-03-04 2023-03-31 浙江大华技术股份有限公司 Data storage method and device
CN111488343A (en) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 E-commerce data uplink method and device based on business data block chain
CN111708844B (en) * 2020-08-24 2020-12-01 腾讯科技(深圳)有限公司 Data processing method, device and equipment based on block chain
CN112905607B (en) * 2021-05-07 2022-02-01 支付宝(杭州)信息技术有限公司 Block chain data storage method and device and electronic equipment
CN112988761B (en) * 2021-05-07 2022-04-08 支付宝(杭州)信息技术有限公司 Block chain data storage method and device and electronic equipment
CN112988908B (en) * 2021-05-07 2021-10-15 支付宝(杭州)信息技术有限公司 Block chain data storage method and device and electronic equipment
CN112988912B (en) * 2021-05-07 2021-11-02 支付宝(杭州)信息技术有限公司 Block chain data storage method and device and electronic equipment
CN113839989B (en) * 2021-08-28 2022-08-05 西安交通大学 Multi-node data processing method
CN113765665B (en) * 2021-11-10 2022-02-08 济南量子技术研究院 Block chain network based on quantum key and data secure transmission method
CN114466004A (en) * 2022-03-24 2022-05-10 成都新希望金融信息有限公司 File transmission method, system, electronic equipment and storage medium
CN114844911A (en) * 2022-04-20 2022-08-02 网易(杭州)网络有限公司 Data storage method and device, electronic equipment and computer readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007506157A (en) * 2003-08-14 2007-03-15 オラクル・インターナショナル・コーポレイション Hierarchical management of dynamic resource allocation in multi-node systems
JP2007257566A (en) * 2006-03-27 2007-10-04 Fujitsu Ltd Hash value producing program, storage management program and storage system
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
JP2016509443A (en) * 2013-02-22 2016-03-24 ガードタイム アイピー ホールディングス リミテッド Validation system and method providing additional security for input records with lower entropy
JP2016208490A (en) * 2015-04-16 2016-12-08 富士通株式会社 Authenticated down-sampling of time-series data
JP2016208347A (en) * 2015-04-24 2016-12-08 国立大学法人 筑波大学 Literary work protection support apparatus
US20170046536A1 (en) * 2015-04-10 2017-02-16 Telefonaktiebolaget Lm Ericsson (Publ) Verification Paths of Leaves of a Tree

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US20070038572A1 (en) * 2005-08-09 2007-02-15 International Business Machines Corporation Method, system and computer program for metering software usage
JP2007257556A (en) 2006-03-26 2007-10-04 Wiz Win Kk Character input device
US8204912B2 (en) * 2006-09-08 2012-06-19 Oracle International Corporation Insertion rate aware b-tree
US7992037B2 (en) * 2008-09-11 2011-08-02 Nec Laboratories America, Inc. Scalable secondary storage systems and methods
US9740727B2 (en) * 2008-10-10 2017-08-22 Abb Schweiz Ag Method and a system for replicating databases
US8345707B2 (en) 2009-06-03 2013-01-01 Voxer Ip Llc Method for synchronizing data maintained at a plurality of nodes
CN101651719B (en) * 2009-09-11 2013-06-12 广东宇天科技有限公司 Communication system, equalization server and data verification method
EP2614439A4 (en) 2010-09-09 2014-04-02 Nec Corp Storage system
CN102158559B (en) * 2011-04-18 2016-05-18 浙江工业大学 A kind of method of the load balancing based on P2P network
TWI483138B (en) * 2012-10-12 2015-05-01 Acer Inc Method for processing and verifying remote dynamic data, system using the same, and computer-readable medium
CN103902617B (en) 2012-12-28 2017-06-09 华为技术有限公司 Distributed data base synchronous method and system
RU2609078C2 (en) 2013-08-29 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Control system of indexing of partner advertisements
US9870591B2 (en) 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
US9256549B2 (en) 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 (en) 2014-03-08 2020-05-26 Microsoft Technology Licensing, Llc Control of automated tasks executed over search engine results
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
RU2580425C1 (en) * 2014-11-28 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Method of structuring stored user-related objects on server
US9659047B2 (en) * 2014-12-03 2017-05-23 Netapp, Inc. Data deduplication utilizing extent ID database
US9547555B2 (en) * 2015-01-12 2017-01-17 Microsoft Technology Licensing, Llc Change tracking using redundancy in logical time
EP3259871B1 (en) 2015-02-20 2020-09-16 Telefonaktiebolaget LM Ericsson (publ) Method of providing a hash value for a piece of data, electronic device and computer program
US9911007B2 (en) * 2015-02-27 2018-03-06 Guardtime IP Holdings, Ltd. Redundant fail-safe synchronization in a data authentication infrastructure
US10503445B2 (en) * 2015-03-23 2019-12-10 Netapp, Inc. Data structure store and data management
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
JP6364132B2 (en) 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. Blockchain transaction recording system and method
US10509684B2 (en) 2015-04-06 2019-12-17 EMC IP Holding Company LLC Blockchain integration for scalable distributed computations
EP3317775B1 (en) 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9298806B1 (en) 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170031676A1 (en) 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US10713210B2 (en) * 2015-10-13 2020-07-14 Microsoft Technology Licensing, Llc Distributed self-directed lock-free RDMA-based B-tree key-value manager
EP3362965A4 (en) 2015-10-13 2019-08-07 Transactive Grid Inc. Use of blockchain based distributed consensus control
CN105719185B (en) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 The data comparison and common recognition method of block chain
EP3411824B1 (en) 2016-02-04 2019-10-30 Nasdaq Technology AB Systems and methods for storing and sharing transactional data using distributed computer systems
US20170243193A1 (en) * 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
KR101637868B1 (en) 2016-02-22 2016-07-08 주식회사 코인플러그 Financial institution document verification system that is based on the block chain
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US20170264428A1 (en) 2016-03-08 2017-09-14 Manifold Technology, Inc. Data storage system with blockchain technology
US9985964B2 (en) 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
CN105868369B (en) * 2016-03-30 2019-10-01 电子科技大学 A kind of data model verifying System and method for based on Merkle tree construction
US10204341B2 (en) 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
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
CN106126722B (en) * 2016-06-30 2019-10-18 中国科学院计算技术研究所 A kind of prefix compound tree and design method based on verifying
CN106330431A (en) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 Data processing method, apparatus and system based on block chain technology
US10177908B2 (en) * 2016-08-30 2019-01-08 Workday, Inc. Secure storage decryption system
US10187203B2 (en) * 2016-08-30 2019-01-22 Workday, Inc. Secure storage encryption system
US10785022B2 (en) 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US10565570B2 (en) * 2016-09-27 2020-02-18 The Toronto-Dominion Bank Processing network architecture with companion database
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
US20180114205A1 (en) 2016-10-21 2018-04-26 Bank Of America Corporation Distributed ledger system for providing aggregate tracking and threshold triggering
CN106341421B (en) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 A kind of method for interchanging data based on block chain technology
US10116450B1 (en) 2016-11-02 2018-10-30 ISARA Corporation Merkle signature scheme using subtrees
US10169872B2 (en) * 2016-11-02 2019-01-01 International Business Machines Corporation Classification of severity of pathological condition using hybrid image representation
CN106603198A (en) 2016-12-02 2017-04-26 深圳大学 Blockchain distributed storage method and system with network coding
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
WO2018119585A1 (en) 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 Permission control method, apparatus and system for block chain, and node device
US10523526B2 (en) * 2016-12-28 2019-12-31 Acronis International Gmbh System and method for managing services and licenses using a blockchain network
CN106686087A (en) 2016-12-30 2017-05-17 先锋支付有限公司 Blockchain truncation method and distributed node
US11128528B2 (en) 2016-12-30 2021-09-21 Intel Corporation Decentralized data storage and processing for IoT devices
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
US10572872B2 (en) 2017-01-06 2020-02-25 FirstBlood Technologies, Inc. Decentralized competitive arbitration using digital ledgering
CN107040582B (en) 2017-02-17 2020-08-14 创新先进技术有限公司 Data processing method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007506157A (en) * 2003-08-14 2007-03-15 オラクル・インターナショナル・コーポレイション Hierarchical management of dynamic resource allocation in multi-node systems
JP2007257566A (en) * 2006-03-27 2007-10-04 Fujitsu Ltd Hash value producing program, storage management program and storage system
JP2016509443A (en) * 2013-02-22 2016-03-24 ガードタイム アイピー ホールディングス リミテッド Validation system and method providing additional security for input records with lower entropy
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
US20170046536A1 (en) * 2015-04-10 2017-02-16 Telefonaktiebolaget Lm Ericsson (Publ) Verification Paths of Leaves of a Tree
JP2016208490A (en) * 2015-04-16 2016-12-08 富士通株式会社 Authenticated down-sampling of time-series data
JP2016208347A (en) * 2015-04-24 2016-12-08 国立大学法人 筑波大学 Literary work protection support apparatus

Also Published As

Publication number Publication date
CN107040582B (en) 2020-08-14
CN107040582A (en) 2017-08-11
AU2019101603A4 (en) 2020-01-23
KR102284972B1 (en) 2021-08-03
BR112019016423A2 (en) 2020-04-07
SG11201906738SA (en) 2019-09-27
US20190332608A1 (en) 2019-10-31
AU2018221097B2 (en) 2020-07-09
AU2018221097A1 (en) 2019-08-01
US11392612B2 (en) 2022-07-19
KR20190098765A (en) 2019-08-22
MX2019009291A (en) 2019-10-30
PH12019501852A1 (en) 2020-06-15
PL3554051T3 (en) 2021-07-05
MY190059A (en) 2022-03-24
TW201832099A (en) 2018-09-01
BR112019016423B1 (en) 2021-08-31
EP3554051A1 (en) 2019-10-16
EP3554051B1 (en) 2021-01-20
RU2724136C1 (en) 2020-06-22
CA3051065A1 (en) 2018-08-23
ES2859560T3 (en) 2021-10-04
US10747780B2 (en) 2020-08-18
WO2018149345A1 (en) 2018-08-23
TWI682652B (en) 2020-01-11
JP6940615B2 (en) 2021-09-29
ZA201904735B (en) 2020-08-26
US20200167366A1 (en) 2020-05-28
EP3554051A4 (en) 2020-01-01
CA3051065C (en) 2020-08-18

Similar Documents

Publication Publication Date Title
JP2020507866A (en) Data processing method and device
AU2019101567A4 (en) Method and apparatus for consensus verification
TWI686709B (en) Method and device for business acceptance and consensus
TW201823988A (en) Block data checking method and device
TW201837735A (en) Block chain consensus method and device
US9210219B2 (en) Systems and methods for consistent hashing using multiple hash rings
CN109191287A (en) A kind of sharding method, device and the electronic equipment of block chain intelligence contract
US11563805B2 (en) Method, apparatus, client terminal, and server for data processing
CN115129728A (en) File checking method and device
CN109032804B (en) Data processing method and device and server
CN116366667A (en) Data transmission method and device of block chain network, electronic equipment and storage medium
CN117273924A (en) Transaction execution method and device and electronic equipment
CN116170388A (en) Forwarding table generation method of block chain network and data transmission method thereof
CN116055508A (en) Data synchronization method and device for block chain network
CN115174574A (en) Data broadcasting method in block chain system, node and block chain system
CN116016552A (en) Data transmission method and device of block chain network, electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210902

R150 Certificate of patent or registration of utility model

Ref document number: 6940615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150