JP6940615B2 - データ処理方法およびデバイス - Google Patents

データ処理方法およびデバイス Download PDF

Info

Publication number
JP6940615B2
JP6940615B2 JP2019544724A JP2019544724A JP6940615B2 JP 6940615 B2 JP6940615 B2 JP 6940615B2 JP 2019544724 A JP2019544724 A JP 2019544724A JP 2019544724 A JP2019544724 A JP 2019544724A JP 6940615 B2 JP6940615 B2 JP 6940615B2
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.)
Active
Application number
JP2019544724A
Other languages
English (en)
Other versions
JP2020507866A (ja
Inventor
ホンリン チウ
ホンリン チウ
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アドバンスド ニュー テクノロジーズ カンパニー リミテッド, アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2020507866A publication Critical patent/JP2020507866A/ja
Application granted granted Critical
Publication of JP6940615B2 publication Critical patent/JP6940615B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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

Description

本願は、コンピュータ技術の分野に関し、詳細には、データ処理方法およびデバイスに関する。
ブロックチェーンは、分散型データ・ストレージ、2地点間伝送、コンセンサス・メカニズム、暗号アルゴリズムなどのコンピュータ技術の新たな応用であり、全てのブロックチェーン・ノードが同じ状態(データベースの状態も含む)であることを必要とする。そのため、ブロックチェーン・ノードで新たなトランザクションが生成されると(すなわち新たなデータが生成されると)、その新たなデータを全てのブロックチェーン・ノードと同期させる必要があり、全てのブロックチェーン・ノードがそのデータを検証する必要がある。
現在の技術では、データに対してブロックチェーン・ノードが使用する検証方法は、通常は、バケット・ツリーに基づくチェックサム(例えばハッシュ値)を通して決定される。1つの例では、ファブリック(既に実施されているブロックチェーンの応用例)のブロックチェーン・ノードのデータは、マークル・ツリー構造で記憶され、このマークル・ツリーは、1つまたは複数のリーフ・ノード(すなわちバケット)を含む。これらのブロックチェーン・ノードが上記のデータのチェックサム(例えばハッシュ値)を得るために、通常は1つの計算デバイス(例えば端末デバイスまたはサーバ)が使用される。例えば、計算デバイスが各リーフ・ノードをトラバースし、そのリーフ・ノードのデータをランク付けし、文字列にスプライスし、その文字列のチェックサムを、対応するリーフ・ノードのデータのチェックサムとして計算する。次いで、計算デバイスは、各リーフ・ノードのデータのチェックサムに基づいて、マークル・ツリーのルート・チェックサム(例えばルート・ハッシュ値)、すなわちそのブロックチェーン・ノードのデータのチェックサムを計算する。上記のデータは、このチェックサムに基づいて検証することができる。
しかし、ブロックチェーン・ノードのデータのルート・チェックサムを計算するのに計算デバイスが1つしか使用されず、各計算もリーフ・ノードのデータを文字列にスプライスすることによって完了するので、1つまたは複数のリーフ・ノードにおける累積データ量が非常に大きい(例えば1千万個のデータなど)ときには、その1つの計算デバイスが上述の計算プロセスを実行するのに長い時間がかかり、これにより計算効率が低くなり、さらには、ブロック生成する時間が遅れ、ブロックチェーンの正常な動作の妨げになることもある。
本願の実施形態の目的は、計算プロセスにかかる時間を短縮し、計算効率を向上させ、ブロックの正常な生成およびブロックチェーンの正常な動作を保証するように、データ処理方法およびデバイスを提供することである。
上述の技術的問題を解決するために、本願の実施形態は、以下のように実施される。
本願の実施形態は、データ処理方法であって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するステップと、
サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法を提供する。
任意選択で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
サーバ・クラスタ内のサーバから送信されたブロックチェーン・ノードのデータのルート・チェックサムを受信するステップを含む。
任意選択で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定するステップと、
マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するステップと、を含む。
任意選択で、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させるステップは、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバにそれぞれ送信するステップを含む。
任意選択で、チェックサムは、ハッシュ値である。
本願の実施形態は、さらに、データ処理方法であって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップと、
分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法を提供する。
任意選択で、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップの後で、この方法は、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるステップと、
各サブリーフ・ノードのデータのチェックサムを計算するステップと、をさらに含み、
分散したリーフ・ノードのデータのチェックサムを計算するステップは、
各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップを含む。
任意選択で、リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるステップは、
リーフ・ノードのデータをソートするステップと、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードに配置するステップと、サブリーフ・ノードについて、対応するサブノード識別子を設定するステップとを含み、
各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップは、
サブリーフ・ノードのサブノード識別子、およびサブリーフ・ノードのそれぞれのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するステップを含む。
任意選択で、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るステップは、
分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、ブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するステップ、または
分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、ルート・チェックサムをブロックチェーン・ノードに送信するステップを含む。
本願の実施形態は、データ処理デバイスであって、
ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するように構成されたデータ分散モジュールと、
サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたルート・チェックサム取得モジュールと、を備える、データ処理デバイスを提供する。
任意選択で、ルート・チェックサム取得モジュールは、サーバ・クラスタ内のサーバから送信されたブロックチェーン・ノードのデータのルート・チェックサムを受信するように構成される。
任意選択で、ルート・チェックサム取得モジュールは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するように構成される。
任意選択で、データ分散モジュールは、ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバにそれぞれ送信するように構成される。
任意選択で、チェックサムは、ハッシュ値である。
本願の実施形態は、さらに、データ処理デバイスであって、
ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するように構成されたデータ受信モジュールと、
分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたチェックサム取得モジュールと、を備える、データ処理デバイスを提供する。
任意選択で、このデバイスは、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるように構成されたデータ分散モジュールと、
各サブリーフ・ノードのデータのチェックサムを計算するように構成された計算モジュールと、をさらに備え、
チェックサム取得モジュールは、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
任意選択で、データ分散モジュールは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードに配置し、サブリーフ・ノードについて、対応するサブノード識別子を設定するように構成され、チェックサム取得モジュールは、サブリーフ・ノードのサブノード識別子、およびサブリーフ・ノードのそれぞれのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
任意選択で、チェックサム取得モジュールは、分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、ブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するように構成される、または分散したリーフ・ノードのデータのチェックサムを計算し、分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、ルート・チェックサムをブロックチェーン・ノードに送信するように構成される。
本願の実施形態によって提供される上記の技術的解決策から、本願の実施形態では、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、次いで、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムがさらに得られることが分かる。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
本願の実施形態における技術的解決策、または現況技術をより明確に説明するために、以下、実施形態または現況技術の説明で使用される添付の図面について簡単に説明する。以下に説明する添付の図面は、単に本願のいくつかの実施形態に過ぎないことは明らかである。これらの添付の図面に基づいて、当業者なら、創造的努力なしに他の関連する図面を得ることができる。
本願によるデータ処理方法である。 本願によるデータ処理論理を示す概略図である。 本願のいくつかの実施形態による別のデータ処理方法である。 本願のいくつかの実施形態によるさらに別のデータ処理方法である。 本願によるデータ処理システムを示す概略構造図である。 本願のいくつかの実施形態によるさらに別のデータ処理方法である。 本願のいくつかの実施形態によるさらに別のデータ処理方法である。 本願による別のデータ処理システムを示す概略構造図である。 本願のいくつかの実施形態によるデータ処理デバイスである。 本願のいくつかの実施形態による別のデータ処理デバイスである。
本願の実施形態は、データ処理方法およびデバイスを提供するものである。
当業者が本願の技術的解決策をより十分に理解することができるように、以下、本願の実施形態における技術的解決策について、本願の実施形態における添付の図面を参照して明確かつ完全に説明する。記載する実施形態は、本願の実施形態の全てではなく、一部に過ぎないことは明らかである。本願のこれらの実施形態に基づいて創造的努力なしに当業者が得ることができるその他の全ての実施形態は、本願の範囲に含まれるものとする。
第1の実施形態
図1に示すように、本願の実施形態は、データ処理方法を提供する。この方法を実行するエンティティは、ブロックチェーン・ノードである。この方法は、以下のステップを含むことがある。
ステップS101で、サーバ・クラスタ内の複数のサーバに、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータを分散させて、サーバ・クラスタ内のそれらのサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算する。
ここで、リーフ・ノードは、サブノードを有していないこともある。ブロックチェーン・ノードは、通常は、1つまたは複数のリーフ・ノード(すなわちバケット)を含み、各リーフ・ノードは、ある量のデータ(例えばトランザクション・データであることもある)を記憶している。リーフ・ノードに記憶された各データのデータ量について、対応する数値を設定することができる。例えば、各データのデータ量は、100KBから5MBの範囲内であり、一例では1MBである。サーバ・クラスタは、複数の同じまたは異なるサーバによって構成されるグループとすることができ、1つまたは複数のトランザクションに対応するサービスを提供することができることがある。チェックサムは、ファイルまたはデータを検査するために使用される文字列(例えば数値またはコード)であることがある。例示的な応用例では、チェックサムは、データ要約などに基づく検査アルゴリズムを使用した計算から得られる数値であることもある。データ要約に基づく検査アルゴリズムは、巡回冗長検査アルゴリズム、メッセージ・ダイジェスト・アルゴリズム、セキュア・ハッシュ・アルゴリズムなどを含む可能性がある。
実装態様では、ブロックチェーンは、非集中型の分散型データベースであることがあり、これは、分散型レジャーとも呼ばれる。ブロックチェーン技術に基づくと、多数の情報記録メモリ(例えば端末デバイスまたはサーバ)によって構成される分散型ネットワークが必要となる。新たなトランザクションそれぞれの伝搬は、分散型ネットワークを使用することができ、ピア・ツー・ピア(P2P)ネットワーク・レイヤ・プロトコルによれば、トランザクションに関連する情報が、個々のブロックチェーン・ノードによってネットワークを介して他の全てのブロックチェーン・ノードに直接送信されて、その分散型ネットワーク内の全てのブロックチェーン・ノードに記憶されるデータが一貫していることが保証されるようにする。あるブロックチェーン・ノードが新たなトランザクションを記録すると、その記録された新たなトランザクションのデータを他のブロックチェーン・ノードと同期させる必要があるが、その一方で、他のブロックチェーン・ノードは、そのデータを検証する必要もある。例示的な検証プロセスは、以下のようなものであることもある。
ブロックチェーン・ノードは、1つまたは複数のリーフ・ノードを含み、ブロックチェーン・ノード内のデータは、それらのリーフ・ノードに分散される。ここで、リーフ・ノード内の全てのデータは、受信タイムスタンプを含み、トランザクションの順序は、タイムスタンプに従って決定することができる。検証中には、ブロックチェーン・ノードは、最初にそのブロックチェーン・ノード内に事前記憶されているリーフ・ノードを得ることができる。どんなリーフ・ノードがブロックチェーン・ノードに記憶されているかを迅速に決定し、またそれらのリーフ・ノードの個数を迅速に決定することができるように、5またはA8など、対応するノード識別子(例えばノードID(識別情報))を、各リーフ・ノードについて、そのリーフ・ノードが生成されたときに設定することができる。リーフ・ノードを得るときには、予め記録されているノード識別子によって対応するリーフ・ノードを検索し、各リーフ・ノードに記憶されているデータを得ることができる。
記憶されるデータの量は、期間の相違および/または領域の相違などの要因の影響によって異なる可能性があるので、結果として、1つまたは複数のリーフ・ノードに蓄積されるデータの量が比較的大きくなる一方で、他のいくつかのリーフ・ノードのデータの量は比較的小さくなることがある。このように、ブロックチェーン・ノードのリーフ・ノードに記憶されるデータ量に不均衡があることもある。ブロックの生成に影響を及ぼさないように、またリーフ・ノードのデータのチェックサムの計算に要する時間を短縮するために、リーフ・ノード内のデータを、サーバ・クラスタ内の複数のプロセッサに分散させて処理し、計算負荷をサーバ・クラスタ全体で拡散させることによって、計算効率を改善することもできる。
ブロックチェーン・ノードは、全てのリーフ・ノードのデータを得た後で、リーフ・ノードを単位として、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させることができる。例えば、サーバ・クラスタ内のサーバの個数がリーフ・ノードの個数と等しいこともあり、その場合には、ブロックチェーン・ノードは、1つのリーフ・ノードのデータをサーバ・クラスタ内の各サーバに送信して、サーバ・クラスタ内の各サーバに1つのリーフ・ノードのデータのみを含めることができる。上述の分散方法に加えて、複数の分散方式を使用することもできる。例えば、リーフ・ノードおよびリーフ・ノードのデータを、ランダム分散方式でサーバ・クラスタ内のサーバに送信する。このようにして、異なるサーバが同数のリーフ・ノードを受信することも、異なる個数のリーフ・ノードを受信することもある。別の例として、リーフ・ノードのデータを、リーフ・ノードのデータの量に応じて分散させることもできる。一例では、ブロックチェーン・ノードが、各リーフ・ノードのデータの量をカウントし、次いでリーフ・ノードのデータをサーバ・クラスタ内のサーバに均一に分散させることもある。例えば、データ量がそれぞれ50MB、20MB、30MB、40MB、10MB、および10MBである6個のリーフ・ノードがある場合には、データ量が50MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第1のサーバに送信し、データ量が20MBであるリーフ・ノードおよびデータ量が30MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第2のサーバに送信し、データ量が40MBであるリーフ・ノード、データ量が10MBであるリーフ・ノード、およびデータ量が10MBであるリーフ・ノードのデータを、サーバ・クラスタ内の第3のサーバに送信することもある。
サーバは、リーフ・ノードの分散データを受信した後で、各リーフ・ノードの受信データのチェックサムを計算することができる。例えば、サーバは、メッセージ・ダイジェスト・アルゴリズム(例えばMD5アルゴリズム)を使用してリーフ・ノードの受信データのMD5値を計算する。1つのサーバが2つのリーフ・ノードのデータ、すなわちリーフ・ノード1のデータおよびリーフ・ノード2のデータを受信する場合には、サーバは、リーフ・ノード1のデータのMD5値、およびリーフ・ノード2のデータのMD5値を計算することによって、各リーフ・ノードの受信データのチェックサムを得ることができる。
ステップS102で、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムをさらに得る。
実装態様では、サーバ・クラスタ内のサーバがリーフ・ノードのデータのチェックサムを計算した後で、各サーバは、そのサーバが計算したリーフ・ノードのデータのチェックサムを、ブロックチェーン・ノードに送信することができる。ブロックチェーン・ノードがそのブロックチェーン・ノードに記憶されている全てのリーフ・ノードのデータのチェックサムを受信した後で、ブロックチェーン・ノードは、その全てのリーフ・ノードのデータのチェックサムに基づいて、ブロックチェーン・ノード内のデータのルート・チェックサム(すなわち状態)を計算することができる。ここで、ブロックチェーン・ノードがそのブロックチェーン・ノード内のデータのルート・チェックサムを計算するときには、リーフ・ノードと、ルート・チェックサムに対応するルート・ノードとの間に、複数の中間ノードを設けることができる。図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)である。得られたブロックチェーン・ノード内のデータのルート・チェックサムを、新たなトランザクション・データを送信するブロックチェーン・ノードによって計算された上述のルート・チェックサムと比較することにより、ブロックチェーン・ノードは、その新たなトランザクション・データが有効であるかどうかを検証することができる。新たなトランザクション・データが有効である場合には、ブロックチェーン・ノードは、そのトランザクションに関連するデータを記録することができ、新たなトランザクション・データが有効でない場合には、ブロックチェーン・ノードは、そのトランザクションに関連するデータを記録することを拒否することができる。
なお、上述のルート・チェックサム計算プロセスは、サーバ・クラスタによって完了されることもあることに留意されたい。一例では、管理サーバまたは管理サーバ・クラスタを、サーバ・クラスタに設けることができ、この管理サーバまたは管理サーバ・クラスタが、サーバ・クラスタ内の他のサーバを調節および制御することができる。サーバ・クラスタ内の他のサーバは、リーフ・ノードのデータのチェックサムを計算した後で、リーフ・ノードのデータのチェックサムを管理サーバまたは管理サーバ・クラスタにそれぞれ送信すればよい。管理サーバまたは管理サーバ・クラスタは、上述の計算方法を使用して、ブロックチェーン・ノード内のデータのルート・チェックサムを計算することができる。管理サーバまたは管理サーバ・クラスタは、得られたブロックチェーン・ノード内のデータのルート・チェックサムをブロックチェーン・ノードに送信することができ、ブロックチェーン・ノードは、このルート・チェックサムを受信する。次いで、ブロックチェーン・ノードは、このルート・チェックサムを介して検証を実行することができる。詳細については上記の関連する内容を参照すればよいので、ここでは詳細には説明しない。
このように、ブロックチェーン・ノード内のリーフ・ノードのデータのチェックサムを、サーバ・クラスタ内の複数のサーバによる並列計算によって得て、ブロックチェーン・ノード内のデータのルート・チェックサムの計算を、1つのマシンによる処理から切り離すことにより、データ・チェックサム計算の効率を改善する。
本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
図3に示すように、本願の実施形態は、データ処理方法を提供する。この方法を実行するエンティティは、サーバ・クラスタであることもあり、このサーバ・クラスタが、複数のサーバを含むこともあり、各サーバが、データ・チェックサムを計算することもある。この方法は、以下のステップを含む可能性がある。
ステップS301で、ブロックチェーン・ノードによって分散したリーフ・ノードのデータを受信する。
実装態様では、ブロックチェーン・ノード内のデータを検証する必要があるときには、ブロックチェーン・ノードは、そのブロックチェーン・ノードに記憶されているリーフ・ノードのデータを得、リーフ・ノードを単位として、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させることができる。詳細な分散方式および分散プロセスについては、上述したステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。サーバ・クラスタ内のサーバは、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータをそれぞれ受信することができるが、詳細については上述したステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。
ステップS302で、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノード内のデータのルート・チェックサムを得る。
実装態様では、サーバ・クラスタ内のサーバは、受信した各リーフ・ノードのデータのチェックサムを計算することができる。計算が完了した後で、サーバ・クラスタ内のサーバは、得られたリーフ・ノードのデータのチェックサムをブロックチェーン・ノードにそれぞれ送信することができる。ブロックチェーン・ノードは、サーバから返送されたリーフ・ノードのデータのチェックサムに基づいて、そのブロックチェーン・ノードのデータのルート・チェックサムをさらに計算することができる。詳細については上述したステップS102の関連する内容を参照すればよいので、ここでは詳細には説明しない。
本願のいくつかの他の実施形態では、ブロックチェーン・ノードのデータのルート・チェックサムは、サーバ・クラスタが計算することもある。上述のように、サーバ・クラスタに管理サーバまたは管理サーバ・クラスタを設けて、各リーフ・ノードのデータの計算したチェックサムについての計算を集約的に実行して、ブロックチェーン・ノードのデータのルート・チェックサムを得ることもできる。詳細については上述したステップS102の関連する内容を参照すればよいので、ここでは詳細には説明しない。
本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
第2の実施形態
図4に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
ステップS401で、事前記憶されているリーフ・ノードの個数に従って、ブロックチェーン・ノードは、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバのそれぞれに送信する。
ここで、上記の予め設定された数は、5、10など、実際の状況に応じて設定することができるが、本願の実施形態では詳細には説明しない。
実装態様では、トランザクション・データを検証するときには、ブロックチェーン・ノードのデータについてマークル・ツリーの設計機構を利用して、検証効率を改善し、リソース消費を低減することが多い。本願の実施形態におけるブロックチェーン・データの既存の設計機構を変更することなく、ブロックチェーン・ノードのデータのチェックサムの計算効率を大幅に改善するために、本願の実施形態におけるブロックチェーン・ノードのデータは、依然としてマークル・ツリーの設計機構を使用することができる。マークル・ツリーは、複数のリーフ・ノード(すなわちバケット)を含むことがあり、マークル・ツリー内の全てのリーフ・ノードのノード識別子を、ブロックチェーン・ノードに記録することができる。トランザクション・データを検証する必要があるときには、マークル・ツリー内の全てのリーフ・ノードのノード識別子を得ることができる。
図5に示すように、ブロックチェーン・ノードは、全てのリーフ・ノードのノード識別子に基づいて全てのリーフ・ノードのデータをそれぞれ得ることができ、また、ブロックチェーン・ノードに記憶されたリーフ・ノードの個数、およびサーバ・クラスタ内のサーバの個数を得ることもできる。サーバの個数、およびリーフ・ノードの個数に応じて、ブロックチェーン・ノードは、各サーバに分散させるリーフ・ノードの個数を決定することができる。例えば、全部で10個のリーフ・ノードがあり、サーバ・クラスタは、総数で10個のサーバを有する。この場合には、1つのリーフ・ノードのデータを各サーバに送信することもできるし、あるいは2つまたは5つのリーフ・ノードのグループのデータをサーバ・クラスタ内の1つのサーバに送信することもできる。
ブロックチェーン・ノードがリーフ・ノードのデータをサーバ・クラスタに分散させるプロセスでは、ブロックチェーン・ノードは、リーフ・ノードのノード識別子をサーバ・クラスタ内のサーバに分散させることもできる。分散したノード識別子に従って、サーバは、ノード識別子を含むデータ取得命令をブロックチェーン・ノードに送信することができる。ブロックチェーン・ノードは、データ取得命令を受信すると、データ取得命令中のノード識別子を抽出し、そのノード識別子によって対応するリーフ・ノードのデータを検索し、データを対応するサーバに送信することができる。このようにして、サーバ・クラスタは、1つの対応するリーフ・ノードのデータから、複数の対応するリーフ・ノードのデータを引き出すことができる。
なお、例示的な応用例では、リーフ・ノードのデータは、リーフ・ノードのデータ量に応じてサーバ・クラスタ内のサーバに分散させることもできるし、あるいはランダムにサーバ・クラスタ内のサーバに分散させることもできることに留意されたい。詳細については第1の実施形態のステップS101の関連する内容を参照すればよいので、ここでは詳細には説明しない。
ステップS402で、サーバ・クラスタは、分散したリーフ・ノードのデータのチェックサムを計算する。
ステップS403で、サーバ・クラスタは、分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信する。
上記のステップS402およびS403の詳細なプロセスについては第1の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。
ステップS404で、ブロックチェーン・ノードは、リーフ・ノードの上記のチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定する。
実装態様では、ブロックチェーン・ノードは、サーバ・クラスタ内のサーバから送信されたリーフ・ノードのチェックサムを受信した後で、それらのリーフ・ノードを通して対応するマークル・ツリーを構築することができる。マークル・ツリー上のリーフ・ノードのハッシュ値は既に決定されているが、マークル・ツリーのルート・ノードのハッシュ値(すなわちマークル・ツリーのルート・チェックサム)はまだ得られていないので、これらのリーフ・ノードに対応するマークル・ツリーのハッシュ値をリーフ・ノードのハッシュ値から上向きに計算することによって、これらのリーフ・ノードに対応するマークル・ツリーのルート・チェックサムを得ることができる。
ステップS405で、ブロックチェーン・ノードは、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。
例示的な応用例では、ルート・チェックサムは、サーバ・クラスタによって計算することもでき、この処理は、分散したリーフ・ノードのデータのチェックサムを計算することと、分散したリーフ・ノードのデータのチェックサムに基づいて、ブロックチェーン・ノードのデータのルート・チェックサムを得ることと、このルート・チェックサムをブロックチェーン・ノードに送信することとを含む可能性がある。詳細なプロセスについては第1の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。
本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算することと、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノード内のデータのルート・チェックサムをさらに得ることとを含む、データ処理方法を提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
第3の実施形態
図6に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
ステップS601で、ブロックチェーン・ノードは、事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散する。
ステップS601の詳細なプロセスについては、第1の実施形態および第2の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。
ステップS602で、サーバ・クラスタは、リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散する。
ここで、サブリーフ・ノードとリーフ・ノードとの間には、帰属関係、従属関係、親関係、または子関係などの関連関係はない。サブリーフ・ノードは、1つまたは複数個のデータを含むデータ・パケットであることがあり、リーフ・ノード(バケット)は、データを記憶するためのマークル・ツリー内のコンテナであることがある。サブリーフ・ノードの個数は、リーフ・ノードの個数より大きいことがある。例えば、リーフ・ノードの個数が5である場合に、サブリーフ・ノードの個数が20であることもある。
実装態様では、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのうちの1つまたは複数のリーフ・ノードが、大きなデータ量を有することがある(例えば百万個のデータを含むなど)。このように、リーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、そのリーフ・ノードのハッシュ値を計算するときには、サーバは、リーフ・ノード内の大量のデータをスプライスして、スプライスした文字列を得る必要があり、その後、スプライスした文字列のハッシュ値を計算する。このプロセスは、依然として長い時間がかかり、サーバによるリソース消費も依然として大きい。このことに鑑みて、複数のサブリーフ・ノードが予め設定することもでき、あるいは、例えば1GBまたは500MBなど、各サブリーフ・ノードが収容することができる最大データ量を、実際の必要に応じて各サブリーフ・ノードに設定することもできる。リーフ・ノードのデータは、ランダム分散方式または均一分散方式で、予め設定された複数のサブリーフ・ノードに分散させることができる。
ステップS602を実施するには、様々なやり方がある可能性がある。以下、任意選択の処理方法を提供する。この処理方法は、リーフ・ノードのデータをソートすることと、ソートしたデータから予め設定した個数のデータを順番に選択して、サブリーフ・ノードにそれぞれ配置することと、それらのサブリーフ・ノードについて対応するサブノード識別子を設定することとを含む可能性がある。
サーバ・クラスタ内の各サーバのデータ処理速度およびチェックサム計算速度に従って、またサーバ・クラスタ内のサーバの個数に従って、サーバ・クラスタは、高い全体的なデータ処理効率(例えば設定された効率しきい値より高いデータ処理効率)を確保しながら各サーバが処理することができるデータの量を決定し、次いで、各サブリーフ・ノードが収容することができるデータの量またはデータの個数を決定することができる。サーバ・クラスタは、各サーバに分散されるリーフ・ノードのデータの総量を計算することもある。この場合には、サーバ・クラスタは、データがブロックチェーン・ノードに記憶された時間を示すタイムスタンプに従って分散したリーフ・ノードのデータをソートし、ソートした複数個のデータのうちの予め設定された数個のデータを順番に各サブリーフ・ノードに分散させ、データの順序に従ってサブリーフ・ノードのそれぞれについて対応するサブノード識別子を設定して、全てのサブリーフ・ノードのデータにおけるサブリーフ・ノードのデータの位置を示すようにすることができる。
例えば、サーバ・クラスタ内のサーバによって分散されたサブリーフ・ノードに、それぞれが5MBであるデータを50個格納する場合には、データ量は、250MBとなる。各サブリーフ・ノードが収容することができるデータの量が25MBである場合には、250/25=10であるので、10個のサブリーフ・ノードが得られる。この場合、サブリーフ・ノードには、データの順序に従って、サブノード識別子として1〜10の番号がつけられる。上述の処理の後で、50個のデータの記憶位置は、次のようになる。すなわち、1番から5番のデータを、番号1のサブリーフ・ノードに順番に記憶し、6番から10番のデータを、番号2のサブリーフ・ノードに順番に記憶し、11番から15番のデータを、番号3のサブリーフ・ノードに順番に記憶し、以下同様に記憶することによって、各データの記憶位置を得る。各データは5MBであるので、各サブリーフ・ノードは、5個のデータを含むことができる。
ステップS603で、サーバ・クラスタは、各サブリーフ・ノードのデータのチェックサムを計算する。
実装態様では、サーバ・クラスタ内のサーバは、対応するサブリーフ・ノードを得た後で、それらのサブリーフ・ノードに記憶されているデータを得、次いで、予め設定された検査アルゴリズムを使用して各サブリーフ・ノードのチェックサムを計算することができる。例えば、サブリーフ・ノードに記憶されているデータをソートし、次いで、ソートしたデータについてSHA256(セキュア・ハッシュ・アルゴリズム256)を使用して、サブリーフ・ノードのチェックサムとしてSHA256値(すなわちハッシュ値)を計算することもできる。
ステップS604で、サーバ・クラスタは、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算する。
実装態様では、サーバ・クラスタが各サブリーフ・ノードのチェックサムを得た後で、サブノード識別子の順序に従って、それらのサブリーフ・ノードのチェックサムをソートすることができる。次いで、サーバ・クラスタは、予め設定された検査アルゴリズムを使用してサブリーフ・ノードのチェックサムに基づく計算を集約的に実行して、対応するリーフ・ノードのチェックサムを得ることにより、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータのチェックサムを得ることができる。
例えば、ステップS602の例に基づくと、ステップS603の処理によって、10個のサブリーフ・ノードのデータそれぞれのハッシュ値を得ることができる。1つのリーフ・ノードのデータから10個のサブリーフ・ノードのデータが分散されるので、図2に示す集約実行計算を、10個のサブリーフ・ノードのデータの得られたハッシュ値に対して実行して、対応するリーフ・ノードのハッシュ値を得ることができる。
なお、サブリーフ・ノードの設定されたサブノード識別子によって、プル型の方式でサブリーフ・ノードのデータを得ることもできることに留意されたい。それに応じて、ステップS604の処理は、次のようになることもある。すなわち、サブリーフ・ノードのサブノード識別子、および各サブリーフ・ノードのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算する。詳細な処理については上記の関連する内容を参照すればよいので、ここでは詳細には説明しない。
ステップS605で、サーバ・クラスタは、分散したリーフ・ノードのチェックサムをブロックチェーン・ノードに送信する。
ステップS606で、ブロックチェーン・ノードは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定する。
実装態様では、ブロックチェーン・ノードのデータのルート・チェックサムは、リーフ・ノードのチェックサムに基づいて予め設定された検査アルゴリズムを使用して計算することができる。例えば、ブロックチェーン・ノードの全てのリーフ・ノードにおける記録されたノード識別子に対応するリーフ・ノードの位置に従って、A−B−C−F、A−B−E、およびA−Dなど、それらのリーフ・ノードで構成されるノード分散ツリー(すなわちマークル・ツリー)を得ることができる。リーフ・ノードのチェックサム(すなわちB+C+D+E+Fのチェックサム)が得られたときには、それらのリーフ・ノードのチェックサムに従ってマークル・ツリーのルート・チェックサムを計算することにより、ブロックチェーン・ノードのデータのルート・チェックサムを得ることができる。
ステップS607で、ブロックチェーン・ノードは、マークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。
ステップS605およびステップS607の詳細なプロセスについては第1の実施形態および第2の実施形態の関連する内容を参照すればよいので、ここでは詳細には説明しない。
本願の実施形態は、データ処理方法であって、リーフ・ノードのノード識別子をサーバ・クラスタに分散させて、サーバ・クラスタに、目標ブロックチェーンのリーフ・ノードに記憶されるデータの得られた量に従って、それぞれの予め設定された個数のデータをサブリーフ・ノードに分散させることと、次いで、各サブリーフ・ノードのチェックサムを計算することと、対応するリーフ・ノードのチェックサムを決定することと、最後にそれらのリーフ・ノードのチェックサムをブロックチェーン・ノードに提供して、ブロックチェーン・ノードのデータのチェックサムを計算することとを含む、データ処理方法を提供する。このように、リーフ・ノードに記憶されるデータをサーバ・クラスタが再分散してサブリーフ・ノードを得、次いで、サブリーフ・ノードのチェックサムを計算して、そのデータが計算サーバ・クラスタに均一に分散されるようにしてチェックサムの並列計算を行うことにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証する。
第4の実施形態
図7に示すように、本願の実施形態は、データ処理方法を提供する。このデータ処理方法は、ブロックチェーン・ノードおよびサーバ・クラスタによって協働で実行されることがある。ここで、サーバ・クラスタは、図8に示すように、第1のサーバ・クラスタおよび第2のサーバ・クラスタをさらに含むことがある。図8は、データ処理システムを示している。このデータ処理システムは、2つのレベルのサーバ・クラスタ、すなわち第1のサーバ・クラスタおよび第2のサーバ・クラスタを含むことがある。ここで、第1のサーバ・クラスタは、ブロックチェーン・ノードより下位のレベルにあり、第2のサーバ・クラスタは、第1のサーバ・クラスタより下位のレベルにある。この階層構造は、データ再結合、データ分散などの目的を達成して、データ処理速度を加速させることができる。チェックサムがハッシュ値である場合を例にとって、本願の実施形態について詳細に説明する。本願の実施形態の関連する内容を参照して他の形態のチェックサムを実行することもできるが、ここでは詳細には説明しない。この方法は、以下のステップを含む可能性がある。
ステップS701で、ブロックチェーン・ノードは、事前記憶されているリーフ・ノードのノード識別子を得る。
実装態様では、ブロックチェーン・ノードにデータが記憶されると、それに応じてブロックチェーン・ノード内でリーフ・ノードが生成され、そのリーフ・ノードのノード識別子も生成される。このように、ブロックチェーンは、複数のリーフ・ノードを含むことがあり、各リーフ・ノードが、ある量のデータを記憶する。ノード識別子が生成されると、そのノード識別子を記憶することができ、ブロックチェーン・ノード内の全てのリーフ・ノードにおけるそのノード識別子に対応するリーフ・ノードの位置を記録することができる。例えば、生成されるノード識別子はFであり、そのノード識別子に対応するリーフ・ノードの位置は、A−B−C−Fであることがある。
ステップS702で、ブロックチェーン・ノードは、ノード識別子をサーバ・クラスタ内のサーバに送信する。
実装態様では、図8に示すシステム構造に基づいて、ブロックチェーン・ノードは、そのブロックチェーン・ノードに含まれるリーフ・ノードに記憶されるデータを得ることができ、予め開発された分散規則に従って、またはランダムに、それらのリーフ・ノードのノード識別子を1つまたは複数のグループに分割することができる。ノード識別子の各グループは、第1のサーバ・クラスタ内の1つのサーバに送信することができる。
ステップS703で、第1のサーバ・クラスタは、分散したノード識別子に従って、それらのノード識別子に対応するリーフ・ノードのデータをブロックチェーン・ノードから得る。
実装態様では、第1のサーバ・クラスタ内のサーバは、ノード識別子を含むデータ取得命令をブロックチェーン・デバイスに送信し、次いで、それらのノード識別子に対応するリーフ・ノードのデータをブロックチェーン・ノードから取り出すことができる。
ステップS704で、第1のサーバ・クラスタは、リーフ・ノードの得られたデータ量に従って、1つまたは複数のサブリーフ・ノードを生成する。
ここで、上述のように、本願の実施形態では、サブリーフ・ノードとリーフ・ノードとの間には、帰属関係、従属関係、親関係、または子関係などの関連関係はない。サブリーフ・ノードは、1つまたは複数個のデータを含むデータ・パケットであることがあり、リーフ・ノード(バケット)は、データを記憶するためのマークル・ツリー内のコンテナであることがある。
実装態様では、サブリーフ・ノードが収容することができるデータの量またはデータの個数は、例えば100MBまたは10個など、予め設定されていることもある。第1のサーバ・クラスタの各サーバに分散されるリーフ・ノードのデータの総量は、計算することができ、各サブリーフ・ノードが収容することができるデータの量またはデータの個数に従って、1つまたは複数のサブリーフ・ノードを生成することができる。
ステップS705で、第1のサーバ・クラスタは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、それぞれに対応するサブリーフ・ノードに配置し、それらのサブリーフ・ノードについて対応するサブノード識別子を設定する。
実装態様では、第1のサーバ・クラスタ内の任意のサーバが1つまたは複数個のデータのハッシュ値を計算するのに要する時間の長さは、反復試験方式で予め試験することができ、そこから、比較的短い時間の長さおよび比較的低いサーバの処理負荷に対応するデータの個数を選択することができる。この個数は、例えば30個または50個など、予め設定された数として設定されることもある。各データは、記憶またはブロックチェーン・トランザクションのプロセスにおけるタイムスタンプを備えているので、このタイムスタンプを通して、各データの記憶またはトランザクションの時間を決定することができる。このように、各データのタイムスタンプを得ることができ、それらのタイムスタンプの順序に従って、複数個のデータをソートすることができる。このソートした複数個のデータから予め設定された個数のデータを順番に選択し、対応するサブリーフ・ノードにそれぞれ分散させることができる。異なるサブリーフ・ノードの分散データの順序にラベル付けするために、分散データに基づいて、対応するサブリーフ・ノードについてサブノード識別子を設定することができる。
例えば、予め設定されるデータ数が、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と設定することがある。
ステップS706で、第1のサーバ・クラスタは、サブリーフ・ノードのデータを、第2のサーバ・クラスタ内のサーバに分散させる。
実装態様では、第2のサーバ・クラスタ内の各サーバの現在の残りの帯域幅および/またはデータ伝送速度などの指標データをそれぞれ得ることができる。第1のサーバ・クラスタの各サーバの計算能力は、この得られた指標データに基づいて評価することができ、この計算能力の大きさに従って、対応するサブリーフ・ノードのデータを第2のサーバ・クラスタ内のサーバに送信することができる。
さらに、計算効率を可能な限り改善するために、第2のサーバ・クラスタ内のサーバに分散されるサブリーフ・ノードの個数を調節することもある。一例では、第2のサーバ・クラスタ内の各サーバの現在の残りの帯域幅および/またはデータ伝送速度などの指標データをそれぞれ得ることができる。各サーバの計算能力は、この得られた指標データに基づいて評価することができ、この計算能力の大きさに従って、対応するサブリーフ・ノードを第2のサーバ・クラスタ内のサーバに分散されることができる。例えば、第2のサーバ・クラスタは、5つのサーバを含み、各サーバに2つのサブリーフ・ノードを分散させることがある。第2のサーバ・クラスタ内のあるサーバが最も強力な計算能力を有していると計算によって決定された場合には、上記の10個のサブリーフ・ノードのうちの3つのデータを、このサーバに送信することができる。第2のサーバ・クラスタ内のあるサーバが最も弱い計算能力を有していると計算によって決定された場合には、上記の10個のサブリーフ・ノードのうちの1つのデータを、このサーバに送信することができる。このようにして、生成された1つまたは複数のサブリーフ・ノードを、バランスのとれた方式で第2のサーバ・クラスタ内のサーバに提供することができる。
ステップS707で、第2のサーバ・クラスタは、各サブリーフ・ノードのハッシュ値を計算し、そのハッシュ値を第1のサーバ・クラスタ内の対応するサーバにフィード・バックする。
実装態様では、第2のサーバ・クラスタのサーバが対応するサブリーフ・ノードを受信した後で、そのサーバは、各サブリーフ・ノードのデータを抽出し、データのタイムスタンプの順序に従ってそのデータをソートすることができる。サーバは、ソートされたデータで構成された文字列を得、予め設定されたハッシュ・アルゴリズムを使用して、この文字列のハッシュ値、すなわちサブリーフ・ノードのハッシュ値を計算することができる。この方法では、第2のサーバ・クラスタは、各サブリーフ・ノードのハッシュ値を得ることができ、このハッシュ値を、その後、対応するサーバを介して、第1のサーバ・クラスタ内の対応するサーバに送信することができる。
ステップS708で、第1のサーバ・クラスタは、第2のサーバ・クラスタから送信された各サブリーフ・ノードのハッシュ値、およびそれらのサブリーフ・ノードのサブノード識別子に従って、分散したリーフ・ノードのハッシュ値を決定する。
実装態様では、第1のサーバ・クラスタ内のサーバは、第2のサーバ・クラスタから返送されたサブリーフ・ノードのチェックサムを受信した後で、各サブリーフ・ノードのサブノード識別子をそれぞれ得ることができる。次いで、これらのサーバは、各サブリーフ・ノードのサブノード識別子に従ってサブリーフ・ノードをソートすることができ、ソートしたサブリーフ・ノードのハッシュ値を収集して、サブリーフ・ノードのハッシュ値を得ることができる。例えば、サブリーフ・ノードのハッシュ値の順序がサブリーフ・ノードの順序に従って決定されることもあり、ソートされたハッシュ値が、文字列を形成することもある。文字列のハッシュ値は、予め設定されたハッシュ・アルゴリズムを用いて計算することができ、このハッシュ値が、対応するリーフ・ノードのハッシュ値となる。さらに、他のハッシュ値計算方式を使用して、リーフ・ノードのハッシュ値を決定することもできる。例えば、1つまたは複数のサブリーフ・ノードのハッシュ値の平均を、リーフ・ノードのハッシュ値として計算することもできるし、あるいは、リーフ・ノードのハッシュ値を、各サブリーフ・ノードの重みおよび各サブリーフ・ノードのハッシュ値に基づいて得ることもできる。
ステップS709で、第1のサーバ・クラスタは、分散したリーフ・ノードのハッシュ値をブロックチェーン・ノードに送信する。
ステップS710で、ブロックチェーン・ノードは、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、このマークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定する。
本願の実施形態は、データ処理方法であって、ブロックチェーン・ノードのリーフ・ノードのデータの量に従って、予め設定された個数のデータが分散された1つまたは複数のサブリーフ・ノードを生成することと、次いで、これらのサブリーフ・ノードを第2のサーバ・クラスタに分散させて、各サブリーフ・ノードのチェックサムを計算することと、各サブリーフ・ノードのチェックサムに従って対応するリーフ・ノードのチェックサムを決定することと、最後に、これらのリーフ・ノードのチェックサムをブロックチェーン・ノードに提供して、ブロックチェーン・ノードのデータのルート・チェックサムを計算することとを含む、データ処理方法を提供する。このように、リーフ・ノードに記憶されたデータを第1のサーバ・クラスタが再分散してサブリーフ・ノードを得、サブリーフ・ノードを第2のサーバ・クラスタに分散させてチェックサムを計算して、データが第2のサーバ・クラスタに均一に分散されるようにしてチェックサムの並列計算を行うことにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証する。
第5の実施形態
以上は、本願の実施形態によって提供されるデータ処理方法である。同じ概念に基づいて、本願の実施形態は、図9に示すようにデータ処理デバイスをさらに提供する。
データ処理デバイスは、上記の実施形態で提供されるブロックチェーン・ノードであることもあり、一例では、端末デバイス(例えばパーソナル・コンピュータなど)またはサーバであることもある。このデバイスは、データ分散モジュール901と、ルート・チェックサム取得モジュール902とを備える可能性があり、ここで、
データ分散モジュール901は、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するように構成され、
ルート・チェックサム取得モジュール902は、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムをさらに得るように構成される。
本願の実施形態では、ルート・チェックサム取得モジュール902は、サーバ・クラスタ内のサーバから送信されるブロックチェーン・ノードのデータのルート・チェックサムを受信するように構成される。
本願の実施形態では、ルート・チェックサム取得モジュール902は、リーフ・ノードのチェックサムに従って、リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、そのマークル・ツリーのルート・チェックサムを、ブロックチェーン・ノードのデータのルート・チェックサムとして指定するように構成される。
本願の実施形態では、データ分散モジュール901は、ブロックチェーン・ノードに事前記憶されているリーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータをサーバ・クラスタ内のサーバに送信するように構成される。
本願の実施形態では、チェックサムは、ハッシュ値である。
本願の実施形態は、データ処理デバイスであって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散させて、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、さらに、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成された、データ処理デバイスを提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
第6の実施形態
同じ概念に基づいて、本願の実施形態は、図10に示すようにデータ処理デバイスをさらに提供する。
このデータ処理デバイスは、上記の実施形態で提供されるサーバ・クラスタであることもあり、このデバイスは、データ受信モジュール1001と、チェックサム取得モジュール1002とを含むことがあり、ここで、
データ受信モジュール1001は、ブロックチェーン・ノードによって分散されるリーフ・ノードのデータを受信するように構成され、
チェックサム取得モジュール1002は、分散したリーフ・ノードのデータのチェックサムを計算して、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成される。
本願の実施形態では、このデバイスは、
リーフ・ノードのデータ量に従って、リーフ・ノードのデータを予め設定されたサブリーフ・ノードに分散させるように構成されたデータ分散モジュールと、
各サブリーフ・ノードのデータのチェックサムを計算するように構成された計算モジュールと、をさらに含み、
それに応じて、チェックサム取得モジュール1002は、各サブリーフ・ノードのデータのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
本願の実施形態では、データ分散モジュールは、リーフ・ノードのデータをソートし、ソートしたデータから予め設定された個数のデータを順番に選択して、サブリーフ・ノードにそれぞれ配置し、それらのサブリーフ・ノードについて対応するサブノード識別子を設定するように構成され、
それに応じて、チェックサム取得モジュール1002は、サブリーフ・ノードのサブノード識別子、および各サブリーフ・ノードのチェックサムに従って、分散したリーフ・ノードのデータのチェックサムを計算するように構成される。
本願の実施形態では、チェックサム取得モジュール1002は、分散したリーフ・ノードのデータのチェックサムを計算し、その分散したリーフ・ノードのデータのチェックサムをブロックチェーン・ノードに送信して、そのブロックチェーン・ノードが、リーフ・ノードのデータのチェックサムに従ってブロックチェーン・ノードのデータのルート・チェックサムを計算するように構成される、あるいは、分散したリーフ・ノードのデータのチェックサムを計算し、その分散したリーフ・ノードのデータのチェックサムに基づいてブロックチェーン・ノードのデータのルート・チェックサムを得、そのルート・チェックサムをブロックチェーン・ノードに送信するように構成される。
本願の実施形態は、データ処理デバイスであって、ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータをサーバ・クラスタ内のサーバに分散して、サーバ・クラスタ内のサーバが、分散したリーフ・ノードのデータのチェックサムをそれぞれ計算するようにし、さらに、サーバ・クラスタ内のサーバによって計算されたリーフ・ノードのデータのチェックサムに従って、ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成された、データ処理デバイスを提供する。このように、リーフ・ノードのデータがサーバ・クラスタに分散され、次いで分散したリーフ・ノードのデータのチェックサムがサーバ・クラスタ内の各サーバによって計算されるので、データをサーバ・クラスタに分散させて、リーフ・ノードのデータのチェックサムの並列計算を行うことができ、それにより、計算プロセスにかかる時間を短縮し、計算効率を改善し、ブロックの正常な生成およびブロックチェーンの正常な動作を保証することができる。
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にプログラムすることによって論理方法フローを実施すると非常に容易であることも気づくべきであろう。
制御装置は、任意の適当な方式で実装することができる。例えば、制御装置は、例えばマイクロプロセッサまたはプロセッサの形態であってもよいし、(マイクロ)プロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル・ロジック・コントローラ、および埋込み型マイクロコントローラによって実行することができるコンピュータ可読プログラム・コード(例えばソフトウェアまたはファームウェア)を記憶するコンピュータ可読媒体の形態であってもよい。制御装置の例としては、これらに限定されるわけではないが、ARC社製625D、Atmel社製AT91SAM、Microchip社製PIC18F26K20、およびSilicone Labs社製C8051F320などのマイクロコントローラが挙げられる。メモリ制御装置は、さらに、メモリの制御論理の一部として実装されることもある。当業者なら、制御装置が純粋にコンピュータ可読プログラム・コードによって実装されるだけでなく、方法のステップについて論理プログラミングを実行して、制御装置が、同じ機能を論理ゲート、スイッチ、ASIC、プログラマブル・ロジック・コントローラ、埋込み型マイクロコントローラなどの形態で実施することも完全に可能であることも気づくべきであろう。したがって、このような制御装置は、ハードウェア部品とみなされることもあるが、その制御装置に含まれ、様々な機能を実現するように構成されたデバイスが、そのハードウェア部品の内部の構造とみなされることもある。あるいは、様々な機能を実現するように構成されたデバイスは、方法を実施するソフトウェア・モジュール、およびハードウェア部品の内部の構造の両方とみなされることもある。
上記の実施形態で説明したシステム、装置、モジュール、またはユニットは、コンピュータ・チップまたはエンティティによって実装することも、あるいは機能を有する製品によって実装することもできる。代表的な実装デバイスは、コンピュータである。一例では、コンピュータは、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、カメラ付き携帯電話、スマートフォン、携帯情報端末、メディア・プレイヤ、ナビゲーション・デバイス、電子メール・デバイス、ゲーム・コンソール、タブレット・コンピュータ、ウェアラブル・デバイス、またはこれらのデバイスのうちの任意のデバイスの組合せである可能性がある。
説明の便宜上、上記のデバイスは、説明のための機能に応じて様々なユニットに分割されている。これらのユニットの機能は、本願を実施するときには、1つまたは複数のソフトウェアおよび/またはハードウェアで実装される可能性がある。
当業者なら、本発明の実施形態が、方法、システム、またはコンピュータ・プログラム製品として提供される可能性があることを理解されたい。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態として実施される可能性がある。さらに、本発明は、コンピュータ使用可能プログラム・コードを含む1つまたは複数のコンピュータ使用可能記憶媒体(これらに限定されるわけではないが、磁気ディスク・メモリ、CD−ROM、光メモリなど)に実装されたコンピュータ・プログラム製品の形態である可能性もある。
本発明の実施形態による方法、デバイス(システム)、およびコンピュータ・プログラム製品の流れ図および/またはブロック図を参照して、本発明について説明した。コンピュータ・プログラム命令を使用して、これらの流れ図および/またはブロック図の各プロセスおよび/またはブロック、ならびにこれらの流れ図および/またはブロック図のプロセスおよび/またはブロックの組合せを実施することもできることを理解されたい。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊目的コンピュータ、埋込み型プロセッサ、またはその他のプログラマブル・データ処理デバイスのプロセッサに提供してマシンを生成し、これらの命令がコンピュータまたは他のプログラマブル・データ処理デバイスのプロセッサによって実行されることによって、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックに指定される機能を実施する装置を生成することができる。
これらのコンピュータ・プログラム命令を、コンピュータまたはその他のプログラマブル・データ処理デバイスに特定の方式で動作するように命令することができるコンピュータ可読メモリに記憶して、コンピュータ可読メモリに記憶された命令が命令装置を含む製品を生成することもできる。命令装置は、流れ図の1つまたは複数のプロセス、および/あるいはブロック図の1つまたは複数のブロックに指定される機能を実施する。
これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理デバイスにロードされて、一連の動作ステップをコンピュータまたはその他のプログラマブル・デバイス上で実行させることによって、コンピュータ実施処理を生成することもできる。したがって、コンピュータまたはその他のプログラマブル・デバイス上で実行される命令は、流れ図の1つまたは複数のプロセス、および/あるいはブロック図の1つまたは複数のブロックに指定される機能を実施するステップを提供する。
代表的な構成では、計算デバイスは、1つまたは複数のプロセッサ(CPU)と、入出力インタフェースと、ネットワーク・インタフェースと、メモリとを含む。
メモリは、例えば読取り専用メモリ(ROM)またはフラッシュRAMなど、揮発性メモリ、ランダム・アクセス・メモリ(RAM)、および/または不揮発性メモリなどのコンピュータ可読媒体を含む可能性がある。メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術によって情報の記憶を実施することができる、永続的媒体、揮発性媒体、可動媒体、および固定媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータである可能性がある。コンピュータの記憶媒体の例としては、これらに限定されるわけではないが、計算デバイスがアクセスできる情報を記憶するために使用することができる、相変化ランダム・アクセス・メモリ(PRAM)、静的ランダム・アクセス・メモリ(SRAM)、動的ランダム・アクセス・メモリ(DRAM)、その他のタイプのランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスク読取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)またはその他の光メモリ、カセット、カセットおよびディスク・メモリまたはその他の磁気メモリデバイス、あるいはその他の任意の非伝送媒体などが挙げられる。本明細書の定義によれば、コンピュータ可読媒体は、変調データ信号および搬送波などの一時的媒体を含まない。
さらに、「含む」または「備える」という用語、あるいはこれらの用語のその他の変形語は、非排他的な包含を含むものとして意図されており、それにより、一連の要素を含むプロセス、方法、物品、またはデバイスが、それらの要素を含むだけでなく、明示的には列挙されていない他の要素も含む、あるいはそのプロセス、方法、物品、またはデバイスに固有の要素をさらに含むことにも留意されたい。さらなる制約がないときには、各要素が「1つの…を含む」という記述によって定義されていることは、当該要素を含むプロセス、方法、物品、またはデバイスが、同種の要素をさらに含むことを排除しない。
当業者なら、本願の実施形態が、方法、システム、またはコンピュータ・プログラム製品として提供される可能性があることを理解されたい。したがって、本願は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態として実施される可能性がある。さらに、本願は、コンピュータ使用可能プログラム・コードを含む1つまたは複数のコンピュータ使用可能記憶媒体(これらに限定されるわけではないが、磁気ディスク・メモリ、CD−ROM、光メモリなど)に実装されたコンピュータ・プログラム製品の形態である可能性もある。
本願は、プログラム・モジュールなどコンピュータによって実行されるコンピュータ実行可能命令の一定の文脈で説明されることがある。一般に、プログラム・モジュールは、特定のタスクを実行するため、または特定の抽象データ型を実施するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散型コンピューティング環境で実施されることもある。こうした分散型コンピューティング環境では、通信ネットワークを介して接続された遠隔処理デバイスがタスクを実行する。分散型コンピューティング環境では、プログラム・モジュールは、ストレージ・デバイスなど、ローカルおよび遠隔のコンピュータ記憶媒体に位置することがある。
本願の実施形態は、各実施形態において他の実施形態との相違点に注目するようにして漸進的に説明しており、これらの実施形態は、同じ、または類似の部分については相互に参照することができる。特に、システムの実施形態は、比較的簡単に説明しているが、これは、システムの実施形態が、方法の実施形態と実質的に同様であるからである。関連する部分については、方法の実施形態の説明を参照すればよい。
以上は、本願の実施形態に過ぎず、本願を限定するために使用されるものではない。当業者にとっては、本願は、様々な修正および変更を有する可能性がある。本願の趣旨および原理の範囲内で行われる任意の修正、等価な置換、または改良は、本願の特許請求の範囲に含まれるものとする。

Claims (16)

  1. データ処理方法であって、
    ブロックチェーン・ノードが、前記ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータを第1のサーバ・クラスタ内の複数のサーバに分散させステップと、
    前記第1のサーバ・クラスタ内のサーバが、前記分散されたリーフ・ノードのデータ量に応じて、前記分散されたリーフ・ノードのデータを複数のサブリーフ・ノードに均一に再分散させるステップと、
    第2のサーバ・クラスタ内の複数のサーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムを並列に計算するステップと、
    前記第1のサーバ・クラスタ内の前記サーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムに従って、前記分散されたリーフ・ノードのデータのチェックサムを計算するステップと、
    前記ブロックチェーン・ノードが、前記第1のサーバ・クラスタ内の前記複数のサーバによって計算された前記分散されたリーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法。
  2. 前記第1のサーバ・クラスタ内の前記複数のサーバによって計算された前記分散されたリーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
    前記第1のサーバ・クラスタ内の前記複数のサーバから送信された前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを受信するステップを含む、請求項1に記載の方法。
  3. 前記第1のサーバ・クラスタ内の前記複数のサーバによって計算された前記分散されたリーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
    前記リーフ・ノードの前記チェックサムに従って、前記リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定するステップと、
    前記マークル・ツリーの前記ルート・チェックサムを、前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムとして指定するステップと、を含む、請求項1に記載の方法。
  4. 前記ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータを第1のサーバ・クラスタ内の複数のサーバに分散させる前記ステップが、
    前記ブロックチェーン・ノードに事前記憶されている前記リーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータを前記第1のサーバ・クラスタ内の複数のサーバにそれぞれ送信するステップを含む、請求項1に記載の方法。
  5. 前記チェックサムが、ハッシュ値である、請求項1から4のいずれか1項に記載の方法。
  6. データ処理方法であって、
    第1のサーバ・クラスタ内のサーバが、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するステップと、
    前記第1のサーバ・クラスタ内のサーバが、前記分散されたリーフ・ノードのデータ量に応じて、前記分散されたリーフ・ノードのデータを複数のサブリーフ・ノードに均一に再分散させるステップと、
    第2のサーバ・クラスタ内の複数のサーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムを並列に計算するステップと、
    前記第1のサーバ・クラスタ内の前記サーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムに従って、前記分散されたリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードが、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るステップと、を含む、データ処理方法。
  7. 前記分散されたリーフ・ノードのデータを複数のサブリーフ・ノードに均一に再分散させる前記ステップが、
    前記リーフ・ノードの前記データをソートするステップと、
    前記ソートしたデータから予め設定された個数のデータを順番に選択して、前記サブリーフ・ノードに配置するステップと、
    前記サブリーフ・ノードについて、対応するサブノード識別子を設定するステップとを含み、
    前記分散されたリーフ・ノードの前記データの前記チェックサムを計算する前記ステップが、
    前記サブリーフ・ノードの前記サブノード識別子、および前記サブリーフ・ノードのそれぞれの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するステップを含む、請求項に記載の方法。
  8. 前記分散されたリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードのデータのルート・チェックサムを得る前記ステップが、
    前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムを前記ブロックチェーン・ノードに送信して、前記ブロックチェーン・ノードが、前記リーフ・ノードの前記データの前記チェックサムに従って前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを計算するステップ、または
    前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムに基づいて前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを得、前記ルート・チェックサムを前記ブロックチェーン・ノードに送信するステップを含む、請求項6に記載の方法。
  9. データ処理デバイスであって、
    ブロックチェーン・ノードに事前記憶されているリーフ・ノードのデータを第1のサーバ・クラスタ内の複数のサーバに分散させて、
    前記第1のサーバ・クラスタ内のサーバ前記分散されたリーフ・ノードのデータ量に応じて、前記分散されたリーフ・ノードのデータを複数のサブリーフ・ノードに均一に再分散させ、
    第2のサーバ・クラスタ内の複数のサーバに、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムを並列に計算させ、
    前記第1のサーバ・クラスタ内の前記サーバに、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムに従って、前記分散されたリーフ・ノードの前記データのチェックサムをそれぞれ計算させる
    ように構成されたデータ分散モジュールと、
    前記第1のサーバ・クラスタ内の前記複数のサーバによって計算された前記分散されたリーフ・ノードの前記データの前記チェックサムに従って、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたルート・チェックサム取得モジュールと、を備える、データ処理デバイス。
  10. 前記ルート・チェックサム取得モジュールが、前記第1のサーバ・クラスタ内の前記複数のサーバから送信された前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを受信するように構成される、請求項に記載のデバイス。
  11. 前記ルート・チェックサム取得モジュールが、前記リーフ・ノードの前記チェックサムに従って、前記リーフ・ノードに対応するマークル・ツリーのルート・チェックサムを決定し、前記マークル・ツリーの前記ルート・チェックサムを、前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムとして指定するように構成される、請求項に記載のデバイス。
  12. 前記データ分散モジュールが、前記ブロックチェーン・ノードに事前記憶されている前記リーフ・ノードの個数に従って、予め設定された個数のリーフ・ノードのデータを前記第1のサーバ・クラスタ内の複数のサーバにそれぞれ送信するように構成される、請求項に記載のデバイス。
  13. 前記チェックサムが、ハッシュ値である、請求項から12のいずれか1項に記載のデバイス。
  14. データ処理デバイスであって、
    第1のサーバ・クラスタ内のサーバが、ブロックチェーン・ノードによって分散されたリーフ・ノードのデータを受信するように構成されたデータ受信モジュールと、
    前記第1のサーバ・クラスタ内のサーバが、前記分散されたリーフ・ノードのデータ量に応じて、前記分散されたリーフ・ノードのデータを複数のサブリーフ・ノードに均一に再分散させるように構成されたデータ分散モジュールと、
    第2のサーバ・クラスタ内の複数のサーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムを並列に計算するように構成された計算モジュールと、
    前記第1のサーバ・クラスタ内の前記サーバが、前記再分散された複数のサブリーフ・ノードのデータの各チェックサムに従って、前記分散されたリーフ・ノードの前記データのチェックサムを計算して、前記ブロックチェーン・ノードが、前記ブロックチェーン・ノードのデータのルート・チェックサムを得るように構成されたチェックサム取得モジュールと、を備える、データ処理デバイス。
  15. 前記データ分散モジュールが、前記リーフ・ノードの前記データをソートし、前記ソートしたデータから予め設定された個数のデータを順番に選択して、前記サブリーフ・ノードに配置し、前記サブリーフ・ノードについて、対応するサブノード識別子を設定するように構成され、
    前記チェックサム取得モジュールが、前記サブリーフ・ノードの前記サブノード識別子、および前記サブリーフ・ノードのそれぞれの前記チェックサムに従って、前記分散したリーフ・ノードの前記データの前記チェックサムを計算するように構成される、請求項14に記載のデバイス。
  16. 前記チェックサム取得モジュールが、前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムを前記ブロックチェーン・ノードに送信して、前記ブロックチェーン・ノードが、前記リーフ・ノードの前記データの前記チェックサムに従って前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを計算するように構成される、または
    前記分散したリーフ・ノードの前記データの前記チェックサムを計算し、前記分散したリーフ・ノードの前記データの前記チェックサムに基づいて前記ブロックチェーン・ノードの前記データの前記ルート・チェックサムを得、前記ルート・チェックサムを前記ブロックチェーン・ノードに送信するように構成される、請求項14に記載のデバイス。
JP2019544724A 2017-02-17 2018-02-07 データ処理方法およびデバイス Active JP6940615B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710085752.6A CN107040582B (zh) 2017-02-17 2017-02-17 一种数据处理方法及装置
CN201710085752.6 2017-02-17
PCT/CN2018/075571 WO2018149345A1 (zh) 2017-02-17 2018-02-07 一种数据处理方法及装置

Publications (2)

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

Family

ID=59533525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544724A Active JP6940615B2 (ja) 2017-02-17 2018-02-07 データ処理方法およびデバイス

Country Status (18)

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

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040582B (zh) 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
CN107612973B (zh) * 2017-08-18 2020-12-11 暨南大学 用于智能移动端的区块链结构、生成方法及交易验证方法
CN107705208A (zh) * 2017-10-12 2018-02-16 南京网数信息科技有限公司 一种基于哈希树的数字资产处理方法和系统
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN108521328B (zh) * 2018-03-26 2020-08-28 杭州秘猿科技有限公司 一种区块链共识方法、装置及电子设备
CN109032803B (zh) 2018-08-01 2021-02-12 创新先进技术有限公司 数据处理方法和装置、客户端
CN109359222B (zh) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 数据存储方法及系统、设备和存储介质
CN109412600A (zh) * 2018-09-03 2019-03-01 何祥果 一种基于磁性特征的标识号编码方法
WO2020056570A1 (zh) * 2018-09-18 2020-03-26 柯宾汉数位金融科技有限公司 应用分片机制的区块网的区块产生方法及区块网系统
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN109360095A (zh) * 2018-09-27 2019-02-19 深圳技术大学(筹) 一种区块链交易数据的处理方法、装置及终端设备
CN109361661B (zh) * 2018-10-08 2020-07-10 莆田市烛火信息技术有限公司 一种依附相关链算力的区块链的共识装置
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
CN111833189A (zh) * 2018-10-26 2020-10-27 创新先进技术有限公司 数据处理方法及装置
CN109754251B (zh) * 2018-12-27 2022-02-01 石更箭数据科技(上海)有限公司 一种数据处理方法及其装置、介质、终端
CA3126125A1 (en) * 2019-01-10 2020-07-16 Bitnobi Inc. Distributed governance for sharing of big data
CN110009510A (zh) * 2019-01-22 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的业务处理系统、方法、计算设备及存储介质
TWI708154B (zh) * 2019-04-24 2020-10-21 國際信任機器股份有限公司 適用於區塊鏈與鏈下間協作的驗證系統與方法
WO2021017009A1 (en) * 2019-08-01 2021-02-04 Advanced New Technologies Co., Ltd. Shared blockchain data storage based on error correction code
CN110528600A (zh) * 2019-08-06 2019-12-03 福建工大岩土工程研究所有限公司 一种桩基检测系统及方法
CN110445684B (zh) * 2019-08-09 2021-04-02 中国信息通信研究院 一种区块链性能基准测试方法和装置
KR102163930B1 (ko) * 2019-09-30 2020-10-12 넷마블 주식회사 블록체인 보상을 통한 분산 컴파일 시스템
CN110753105B (zh) * 2019-10-17 2022-09-06 中国建设银行股份有限公司 数据传输方法、装置、系统、电子设备及存储介质
US11838400B2 (en) * 2019-11-19 2023-12-05 International Business Machines Corporation Image encoding for blockchain
TWI728571B (zh) * 2019-11-26 2021-05-21 中華電信股份有限公司 區塊鏈服務的資源管理方法及系統
CN111209336B (zh) * 2019-12-30 2020-09-15 广州博士信息技术研究院有限公司 基于区块链的数据分配方法、装置及服务器
CN111367916B (zh) * 2020-03-04 2023-03-31 浙江大华技术股份有限公司 一种数据存储方法及装置
CN111488343A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的电商数据上链方法及装置
CN111708844B (zh) * 2020-08-24 2020-12-01 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及设备
CN112988908B (zh) * 2021-05-07 2021-10-15 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112905607B (zh) * 2021-05-07 2022-02-01 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988761B (zh) * 2021-05-07 2022-04-08 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988912B (zh) * 2021-05-07 2021-11-02 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN113839989B (zh) * 2021-08-28 2022-08-05 西安交通大学 一种多节点数据处理方法
CN113765665B (zh) * 2021-11-10 2022-02-08 济南量子技术研究院 基于量子密钥的区块链网络及数据安全传输方法
CN114466004A (zh) * 2022-03-24 2022-05-10 成都新希望金融信息有限公司 一种文件传输方法、系统、电子设备及存储介质
CN114844911A (zh) * 2022-04-20 2022-08-02 网易(杭州)网络有限公司 数据存储方法、装置、电子设备及计算机可读存储介质

Family Cites Families (70)

* 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
AU2004266017B2 (en) 2003-08-14 2009-12-03 Oracle International Corporation Hierarchical management of the dynamic allocation of resources in a multi-node system
US20070038572A1 (en) * 2005-08-09 2007-02-15 International Business Machines Corporation Method, system and computer program for metering software usage
JP2007257556A (ja) 2006-03-26 2007-10-04 Wiz Win Kk 文字入力装置
JP4767057B2 (ja) * 2006-03-27 2011-09-07 富士通株式会社 ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置
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 (zh) * 2009-09-11 2013-06-12 广东宇天科技有限公司 通信系统、均衡服务器及数据验证方法
JP5445682B2 (ja) 2010-09-09 2014-03-19 日本電気株式会社 ストレージシステム
CN102158559B (zh) * 2011-04-18 2016-05-18 浙江工业大学 一种基于p2p网络的负载均衡的方法
TWI483138B (zh) * 2012-10-12 2015-05-01 Acer Inc 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體
CN103902617B (zh) 2012-12-28 2017-06-09 华为技术有限公司 分布式数据库同步方法和系统
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
RU2609078C2 (ru) 2013-08-29 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Система управления индексацией партнерских объявлений
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
EP3095044B1 (en) * 2013-11-19 2020-09-23 Top Galore Limited Block mining methods and apparatus
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 (ru) * 2014-11-28 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ структуризации хранящихся объектов в связи с пользователем на сервере и сервер
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
PT3259871T (pt) * 2015-02-20 2020-11-10 Ericsson Telefon Ab L M Método para proporcionar um valor de dispersão para uma parte de dados, dispositivo eletrónico e programa de computador
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
CA2981511C (en) 2015-03-31 2018-08-28 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10509684B2 (en) 2015-04-06 2019-12-17 EMC IP Holding Company LLC Blockchain integration for scalable distributed computations
EP3281145B1 (en) * 2015-04-10 2019-11-06 Telefonaktiebolaget LM Ericsson (publ) Verification paths of leaves of a tree
US20160306373A1 (en) 2015-04-16 2016-10-20 Fujitsu Limited Authenticated down-sampling of time-series data
JP6571375B2 (ja) * 2015-04-24 2019-09-04 国立大学法人 筑波大学 著作物保護支援装置
JP6636058B2 (ja) 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
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
WO2017066431A1 (en) 2015-10-13 2017-04-20 TransActive Grid Inc. Use of blockchain based distributed consensus control
US10713210B2 (en) * 2015-10-13 2020-07-14 Microsoft Technology Licensing, Llc Distributed self-directed lock-free RDMA-based B-tree key-value manager
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法
AU2017216289A1 (en) 2016-02-04 2018-09-27 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 (ko) * 2016-02-22 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
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 (zh) * 2016-03-30 2019-10-01 电子科技大学 一种基于Merkle树结构的数据模型验证系统与方法
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 (zh) * 2016-06-30 2019-10-18 中国科学院计算技术研究所 一种基于验证的前缀混合树及设计方法
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及系统
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 (zh) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
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 (zh) 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
WO2018119585A1 (zh) 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 区块链的权限控制方法、装置、系统及节点设备
US10523526B2 (en) * 2016-12-28 2019-12-31 Acronis International Gmbh System and method for managing services and licenses using a blockchain network
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
CN106686087A (zh) 2016-12-30 2017-05-17 先锋支付有限公司 一种区块链截断方法及分布式节点
EP3563521A1 (en) 2016-12-30 2019-11-06 INTEL Corporation Service provision to iot devices
WO2018129118A1 (en) 2017-01-06 2018-07-12 FirstBlood Technologies, Inc. Decentralized competitive arbitration using digital ledgering
CN107040582B (zh) * 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6940615B2 (ja) データ処理方法およびデバイス
AU2019101567A4 (en) Method and apparatus for consensus verification
TWI695260B (zh) 區塊資料校驗方法和裝置
US11563805B2 (en) Method, apparatus, client terminal, and server for data processing
CN109191287A (zh) 一种区块链智能合约的分片方法、装置及电子设备
WO2023160083A1 (zh) 执行交易的方法、区块链、主节点和从节点
CN115129728A (zh) 一种文件校验的方法及装置
TW202008153A (zh) 資料處理方法和裝置、伺服器
CN116366667A (zh) 区块链网络的数据传输方法、装置、电子设备及存储介质
CN116170388A (zh) 一种区块链网络的转发表生成方法及其数据传输方法
CN116881361A (zh) 交易的执行方法、节点和区块链系统
Pertesis Skyline Query Processing in Spatial Hadoop

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