JP6928104B2 - ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法 - Google Patents

ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法 Download PDF

Info

Publication number
JP6928104B2
JP6928104B2 JP2019546907A JP2019546907A JP6928104B2 JP 6928104 B2 JP6928104 B2 JP 6928104B2 JP 2019546907 A JP2019546907 A JP 2019546907A JP 2019546907 A JP2019546907 A JP 2019546907A JP 6928104 B2 JP6928104 B2 JP 6928104B2
Authority
JP
Japan
Prior art keywords
transaction
data
subset
level
transaction data
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
JP2019546907A
Other languages
English (en)
Other versions
JP2020509495A (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 JP2020509495A publication Critical patent/JP2020509495A/ja
Application granted granted Critical
Publication of JP6928104B2 publication Critical patent/JP6928104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本出願は、コンピュータ技術の分野に関し、詳細には、ブロックチェーンにトランザクション・データを書き込むための方法および装置、ならびにブロックチェーン・トランザクション・データのトランザクション・サブセットを判定するための方法に関する。
コンピュータ技術の発展とともに、ブロックチェーン技術(分散型帳簿ネットワークとも呼ばれる)が、分権化、開放性および透明性、不易性、ならびに信頼性に起因して、スマート契約、証券取引、電子商取引、モノのインターネット、ソーシャル・コミュニケーション、文書ストレージ、存在証明、身元証明、およびエクイティ・クラウドファンディングなどの多数の分野において広く使用されている。
一例において、ブロックチェーン技術は、一種の分権化された分散型のデータベース技術である。ブロックチェーンにおける各データは、ネットワーク全体のすべてのブロックチェーン・ノードにブロードキャストされ、かつ各ノードが、互いに整合性のある全量のデータを保持する。ブロックチェーン技術は、すべてのノードが、データベース状態などを含めて、同一の状態を保つことを要求する。データベース状態の整合性を確実にすべく、ブロックチェーン・トランザクションが、すべてのノードに関して整合性のある順序付けられたシーケンスになっていることが要求され、すべてのノードは、トランザクション検証、実施、データをチェーンに含めること、その他を完了すべく、そのようなシーケンスでトランザクションを実行する。イーサリアムのブロックチェーン・アプリケーションを例にとると、各トランザクションが受信されたとき、タイムスタンプが作成され、トランザクションは、トランザクション・プールに書き込まれ、かつトランザクションは、タイムスタンプにより並べ替えられ、マイニング中、トランザクションは、トランザクション・タイムスタンプのシーケンスにより実行され、かつ各トランザクションの実行後の口座情報が、更新されてデータベースに入れられ、その結果、データベース口座状態の更新を実現する。
現在の技術において、データベース状態の整合性を確実にするのに、データは、トランザクション(ブロックチェーンに書き込まれるべきトランザクション・データと解釈されてもよい)受信のタイムスタンプのストリングにより処理される必要がある。したがって、単一のマシンだけしか、実行を行うことが可能でないことに制限されて、書込みパフォーマンス、およびデータベースの効率が単一のマシンのパフォーマンスによって制限されることをもたらす。書込みパフォーマンスおよび効率を向上させるべく、単一のマシンの、CPUなどの物理特性が、CPUのコア数を増加させるなど、向上させられる必要があり、このことは、高い費用につながるだけでなく、拡張性を制限することにもなる。
本出願の実施形態が、データ処理の実行効率を向上させるために要求される費用を低減すること、および拡張性を向上させることを意図する、ブロックチェーンにトランザクション・データを書き込むための方法および装置を提供する。
本出願の実施形態は、トランザクション・データを適度に分割して、その結果、データ処理の実行効率を向上させるために要求される費用を低減すること、および拡張性を向上させることを意図する、ブロックチェーン・トランザクション・データのトランザクション・サブセットを判定するための方法をさらに提供する。
本出願の実施形態は、以下の技術的ソリューションを用いる。
第1の態様によれば、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法は、
実行されるべき複数のトランザクション・データを獲得すること、
トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないこと、および
トランザクション・サブセットを並行に実行し、かつブロックチェーンに実行結果を書き込むことを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのデータ属性により、トランザクション・データが属するトランザクション・サブセットを判定することであって、データ属性は、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲と対応関係を有し、かつデータ属性は、トランザクション・データのトランザクション依存関係を反映させるために使用されることを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・サブセットを並行に実行することは、
マルチスレッディングまたはマシン・クラスタを使用してトランザクション・サブセットを並行に実行することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データとタイムスタンプの間に対応する関係が存在し、かつトランザクション・サブセットを実行することは、
タイムスタンプに対応する時間的順序により、トランザクション・サブセットに備えられるトランザクション・データを順次に実行することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのトランザクション・タイプにより、同一のトランザクション・タイプのトランザクション・データを同一のトランザクション・サブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるトランザクション・サブセットに分割することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のトランザクション・サブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるトランザクション・サブセットに分割することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のトランザクション・サブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるトランザクション・サブセットに分割することは、
トランザクション・データのデータ変更範囲を横断すること、
第1のトランザクション・データのデータ変更範囲が第1のトランザクション・サブセットのデータ変更範囲と重なり合う場合、第1のトランザクション・データを第1のトランザクション・サブセットに加えること、および
第1のトランザクション・データのデータ変更範囲が第1のトランザクション・サブセットのデータ変更範囲と重なり合わない場合、第1のトランザクション・データを備える第2のトランザクション・サブセットを作成することを備え、
第1のトランザクション・データは、トランザクション・データのうちのいずれかであり、第1のトランザクション・サブセットは、トランザクション・サブセットのうちのいずれかであり、かつ第2のトランザクション・サブセットは、第1のトランザクション・サブセットとは異なる。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・サブセットのデータ変更範囲は、トランザクション・サブセットに備えられるトランザクション・データのデータ変更範囲の結合であるものと判定される。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データとタイムスタンプの間に対応関係が存在し、かつトランザクション・データのデータ変更範囲を横断することは、
トランザクション・データのタイムスタンプにより、タイムスタンプに対応する時間的順序で横断することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するレベルIサブセットを判定すること、および
トランザクション・データのデータ変更範囲により、レベルIサブセットの中のトランザクション・データが属するレベルIIサブセットを判定し、かつレベルIIサブセットをトランザクション・サブセットのうちの1つとして使用することであって、レベルIIサブセットは、レベルIサブセットのサブセットであることを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するレベルIサブセットを判定することは、
トランザクション・データのトランザクション・タイプにより、同一のトランザクション・タイプのトランザクション・データを同一のレベルIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIサブセットに分割することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、トランザクション・データのデータ変更範囲により、レベルIサブセットの中のトランザクション・データが属するレベルIIサブセットを判定することは、
レベルIサブセットの中のトランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することを備える。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、レベルIサブセットの中のトランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、
第1のレベルIサブセットの中のトランザクション・データのデータ変更範囲を横断すること、
第2のトランザクション・データのデータ変更範囲が第1のレベルIIサブセットのデータ変更範囲と重なり合う場合、第2のトランザクション・データを第1のレベルIIサブセットに加えること、および
第2のトランザクション・データのデータ変更範囲が第1のレベルIIサブセットのデータ変更範囲と重なり合わない場合、第2のトランザクション・データを備える第2のレベルIIサブセットを作成することを備え、
第1のレベルIサブセットは、レベルIサブセットのうちのいずれかのレベルIサブセットであり、第2のトランザクション・データは、第1のレベルIサブセットの中のトランザクション・データのうちのいずれかのトランザクション・データであり、第1のレベルIIサブセットは第1のレベルIサブセットの中のいずれかのレベルIIサブセットであり、かつ第2のレベルIIサブセットは、第1のレベルIIサブセットとは異なる。
好ましくは、本出願の実施形態によって提供されるブロックチェーンにトランザクション・データを書き込むための方法において、実行されるべき複数のトランザクション・データは、トランザクション・データを備える実行されるべきトランザクション・セットを形成すべく獲得され、かつトランザクション・セットは、事前設定されたデータ処理量および/または事前設定されたトランザクション・データ時間によって判定される。
第2の態様によれば、本出願の実施形態は、ブロックチェーンにトランザクション・データを書き込むための別の方法であって、
ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得すること、
トランザクション・データのデータ変更範囲により、トランザクション依存関係を有さない第1のトランザクション・データを判定することであって、第1のトランザクション・データの間にトランザクション依存関係は存在しないこと、および
第1のトランザクション・データを並行に実行し、かつブロックチェーンに実行結果を書き込むことを備える方法をさらに提供する。
好ましくは、ブロックチェーンにトランザクション・データを書き込むための前述の方法において、トランザクション・データのデータ変更範囲により、トランザクション依存関係を有さない第1のトランザクション・データを判定することは、
トランザクション・データのデータ変更範囲により、他のいずれのトランザクション・データの別のデータ変更範囲とも重なり合わないデータ変更範囲を有するトランザクション・データを、トランザクション依存関係を有さない第1のトランザクション・データとして判定することを備える。
第3の態様によれば、本出願の実施形態は、ブロックチェーンにトランザクション・データを書き込むための装置であって、
ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得するように構成された獲得モジュールと、
トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定するように構成されたトランザクション・サブセット判定モジュールであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しない、トランザクション・サブセット判定モジュールと、
トランザクション・サブセットを並行に実行し、かつブロックチェーンに実行結果を書き込むように構成されたデータ実行モジュールと、を備える装置をさらに提供する。
第4の態様によれば、本出願の実施形態は、ブロックチェーン・トランザクション・データのトランザクション・サブセットを判定するための方法であって、ブロックチェーンに書き込まれるべき複数のトランザクション・データが獲得された後、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを、トランザクション・サブセットを並行に実行し、かつブロックチェーンに実行結果を書き込むために判定することであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないことを備える方法をさらに提供する。
好ましくは、本出願の実施形態によって提供されるトランザクション・サブセットを判定するための方法において、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのデータ属性により、トランザクション・データが属するトランザクション・サブセットを判定することであって、データ属性は、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲と対応関係を有し、かつデータ属性は、トランザクション・データのトランザクション依存関係を反映させるために使用されることを備える。
好ましくは、本出願の実施形態によって提供されるトランザクション・サブセットを判定するための方法において、トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するトランザクション・サブセットを判定することは、トランザクション・データのトランザクション・タイプにより、同一のトランザクション・タイプのトランザクション・データを同一のトランザクション・サブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるトランザクション・サブセットに分割することを備え、または
トランザクション・データのデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、トランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のトランザクション・サブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるトランザクション・サブセットに分割することを備える。
好ましくは、本出願の実施形態によって提供されるトランザクション・サブセットを判定するための方法において、トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するレベルIサブセットを判定すること、および
トランザクション・データのデータ変更範囲により、レベルIサブセットの中のトランザクション・データが属するレベルIIサブセットを判定し、かつレベルIIサブセットをトランザクション・サブセットのうちの1つとして使用することであって、レベルIIサブセットは、レベルIサブセットのサブセットであることを備える。
本出願の実施形態によって用いられる前述の少なくとも1つの技術的ソリューションは、以下の有利な効果を実現することができる。
本出願の実施形態において、ブロックチェーンに書き込まれるべきトランザクション・データが獲得された後、トランザクション・データの間にトランザクション依存関係が存在するかどうかが、トランザクション・データのトランザクション・タイプまたはデータ変更範囲により、判定されてよく、次に、トランザクション・データが、トランザクション・データの間のトランザクション依存関係の状況により、異なるトランザクション・サブセットに分割されてよい。異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないので、異なるトランザクション・サブセットは、データベース状態の整合性に影響を及ぼすことなしに、並列に実行されることが可能である。本出願の実施形態によって提供されるソリューションによれば、トランザクション依存関係を有さないトランザクション・データを並列に実行することは、データベース状態の整合性を確実にするだけでなく、個々のマシンのパフォーマンスの向上に依拠することなしにデータ処理の実行効率を向上させもする。したがって、個々のマシンに関するパフォーマンス要件が下げられてよく、このことは、費用節約に有利であり、かつより良好な拡張性につながる。
以下において説明されるべき添付の図面は、本出願のより良い理解をもたらすべく使用され、本出願の一部分を構成する。本出願の例示的な実施形態、および例示的な実施形態の説明は、本出願を説明すべく使用され、本出願に対する不適切な限定は構成しない。添付の図面において、以下のとおりである。
本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための方法を示すフロー・チャートである。 本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための第2の方法を示すフロー・チャートである。 本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための第3の方法を示すフロー・チャートである。 本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための方法の例示的な応用シナリオを示す概略図である。 本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための装置を示す概略構造図である。
本出願の目的、技術的ソリューション、および利点をより明確にすべく、本出願の技術的ソリューションは、本出願の実施形態および添付の図面を参照して、以下に明確に、かつ完全に説明される。説明される実施形態は、本出願の一部の実施形態に過ぎず、すべての実施形態ではないことは明白である。本出願の実施形態を基礎として、独創的な取組みなしに当業者によって獲得されることが可能な他のすべての実施形態は、本出願の範囲に含まれるものとする。
本出願の実施形態において提供される技術的ソリューションは、添付の図面を参照して以下に詳細に説明される。
実施形態1
図1は、本出願の一部の実施形態によるブロックチェーンにトランザクション・データを書き込むための方法であって、
S101:ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得すること、
S102:トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないこと、および
S103:トランザクション・サブセットを並行に実行し、かつブロックチェーンに実行結果を書き込むことを備える方法を示す。
前述の実施形態において、ステップS101が、ブロックチェーンに書き込まれるべきトランザクション・データを獲得すべく実行された後、トランザクション・データの間にトランザクション依存関係が存在するかどうかが、トランザクション・データのトランザクション・タイプまたはデータ変更範囲により、判定されてよく、次に、トランザクション・データが、トランザクション・データの間のトランザクション依存関係の状況により、異なるトランザクション・サブセットに分割されてよい。異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないので、異なるトランザクション・サブセットは、データベース状態の整合性に影響を及ぼすことなしに、並列に実行されることが可能である。本出願の実施形態によって提供されるソリューションによれば、トランザクション・サブセットの中のトランザクション・データが並列に実行される様態は、個々のマシンのパフォーマンスの向上に依拠することなしにデータ処理の実行効率を向上させることが可能である。したがって、個々のマシンに関するパフォーマンス要件が下げられてよく、このことは、費用節約に有利であり、かつより良好な拡張性につながる。
本実施形態においてステップS101が実行された後に複数のトランザクション・データが獲得された後、実行されるべきトランザクション・データを備える実行されるべきトランザクション・セットが形成されることが可能であり、かつトランザクション・セットは、事前設定されたデータ処理量および/または事前設定されたトランザクション・データ時間によって判定されることが可能である。一例において、同一のバッチにおいて実行されるべきトランザクション・データは、データ処理量を事前設定することによって判定されてよく、かつ事前設定されたデータ処理量の例示的な値は、ブロックチェーンに書き込まれることが許されるデータの量により、判定されてよい。例えば、ブロックチェーンに書き込まれることが許されるトランザクション・データの量が、1,000であり、すると、事前設定されたデータ処理量は、要件を満たすように、1,000未満、例えば、800であるように設定されてよい。例示的な実施例において、サーバが800のトランザクション・データを受信するたびに、サーバは、後続の処理のために実行されるべきトランザクション・セットを形成してよい。実行されるべきトランザクション・セットが判定されるとき、同一のバッチの中で実行されるべきトランザクション・データが、トランザクション・データ時間を事前設定することによって判定されてもよい。例えば、事前設定されたトランザクション・データ時間が1秒であるように設定され、すると、同一のバッチの中で実行されるべきトランザクション・データは、1秒内に並行に生成されるトランザクション・データである。
ステップS103が実行されたとき、トランザクション・データは、トランザクション依存関係を有さない複数のトランザクション・サブセットに分割されるので、トランザクション・サブセットは、マルチスレッディングまたはマシン・クラスタを使用して並行に実行されることが可能であり、このことは、データベース状態の整合性の要件を満たすだけでなく、データ実行効率を向上させる目標も実現する。このようにして、データ実行効率は、個々のマシンのパフォーマンスの向上に依拠することなしに向上させられることが可能である。したがって、個々のマシンに関するパフォーマンス要件が下げられてよく、このことは、費用節約に有利であり、かつマシン・クラスタの様態を使用することによってより良好な拡張性につながる。
別の例において、トランザクション・データを備えるトランザクション・サブセットが実行されるとき、異なるトランザクション・サブセットに分割されたトランザクション・データの間にトランザクション依存関係は存在しない一方で、同一のトランザクション・サブセットに入れられたトランザクション・データの間にはトランザクション依存関係が存在する。したがって、異なるトランザクション・サブセットは、データ実行効率を向上させるべく並行に実行されてよい一方で、同一のトランザクション・サブセットの中のトランザクション・データは、データベース状態の整合性を確実にすべく順次に実行されてよい。一例において、トランザクション・データとタイムスタンプの間に対応する関係が存在し、すると、トランザクション・サブセットが実行されるとき、トランザクション・サブセットに備えられるトランザクション・データは、タイムスタンプに対応する時間的順序により、順次に実行される。さらに、各トランザクション・データの実行は、トランザクション検証、トランザクション実施、およびデータをチェーンに含めることの順序で実行されて、最後にブロックチェーンに実行結果が書き込まれる。
ステップS102が実行されるとき、トランザクション・サブセットは、トランザクション依存関係を有するトランザクション・データが、トランザクション依存関係を有さないトランザクション・データから分離される限り、様々な異なる様態で判定されてよい。一例において、トランザクション・データが属するトランザクション・サブセットは、トランザクション・データのデータ属性により判定されてよく、データ属性は、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲と対応関係を有し、かつデータ属性は、トランザクション・データのトランザクション依存関係を反映させるために使用される。すると、トランザクション・データから抽出されたデータ属性により、トランザクション依存関係を有するトランザクション・データが、同一のトランザクション・サブセットに入れられてよく、かつトランザクション依存関係を有さないトランザクション・データが、異なるトランザクション・サブセットに分割されてよく、その結果、異なるトランザクション・サブセットの並行の実行が実現される。さらなる例において、データ属性は、トランザクション・データに備えられた識別子フィールドの形態で実現されてよく、またはトランザクション・データによって担持される特徴情報の形態で実現されてよい。指定された識別子フィールドが含まれるかどうかが判定されてよく、またはトランザクション・データの特徴情報が抽出され、次に、特徴情報が事前設定された条件を満たすかどうかが判定されてよく、その結果、データ属性によりトランザクション・データのトランザクション依存関係が判定される。
本出願の実施形態において説明されるトランザクション・データの間のトランザクション依存関係は、異なるトランザクション・データが実行されるときに存在するトランザクション関連付け、例えば、時間的順序、トランザクション・オブジェクト、または実行結果などの態様における関連付けによって実現されてよい。例えば、より後の実行時間を有するトランザクション・データの実行が、より早い実行時間を有するトランザクション・データの実行結果に依存する場合、または異なるトランザクション・データの実行が同一のデータ状態に影響を与える場合、これら2つのトランザクション・データは、トランザクション依存関係を有すると見なされる。逆の場合、これら2つのトランザクション・データは、トランザクション依存関係を有さないと見なされてよい。
トランザクション・サブセットを判定するプロセスが、例を通して詳細に説明される。
(I)トランザクション・データのトランザクション・タイプによりトランザクション・サブセットを判定すること
本出願の実施形態において、トランザクション・サブセットは、トランザクション・データのトランザクション・タイプにより判定されてよい。一例において、同一のトランザクション・タイプのトランザクション・データは、同一のトランザクション・サブセットに入れられ、かつ異なるトランザクション・タイプのトランザクション・データは、異なるトランザクション・サブセットに分割される。異なるトランザクション・タイプのトランザクション・データの間にトランザクション依存関係は存在しないので、データ実行の結果は、異なるトランザクション・タイプのトランザクション・データが実行される順序にかかわらず、影響を受けない。トランザクション・データのトランザクション・タイプによりトランザクション・データが同一のトランザクション・サブセットに属するかどうかを判定することは、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係が存在しないことを確実にすることができ、その結果、異なるトランザクション・サブセットの中のトランザクション・データの並行処理の必要性を満たし、かつデータ処理の実行効率の向上に有利となる。
例えば、契約タイプのトランザクション(トランザクションと呼ばれてもよい)が実行された後、対応する契約データだけが変更される一方で、振替タイプのトランザクション(トランザクションと呼ばれてもよい)が実行された後、振替の両方の当事者の口座残高データが変更される。これら2つのタイプのトランザクションが実行される順序は、実行結果に影響を及ぼさないことが見て取られることが可能である。したがって、異なる2つのタイプのトランザクションを異なるトランザクション・サブセットに分割することは、異なるトランザクション・サブセットに属するトランザクション・データがトランザクション依存関係を有さないことを確実にすることができ、このため、トランザクション・サブセットは、データベース状態の整合性に影響を与えることなしに、並行に処理されることが可能である。
(II)トランザクション・データのデータ変更範囲によりトランザクション・サブセットを判定すること
本出願におけるデータ変更範囲とは、トランザクション・データの実行のためのオブジェクトを指す。本出願の実施形態において、トランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データは、同一のトランザクション・サブセットに入れられてよく、かつ重なり合わないデータ変更範囲を有するトランザクション・データは、異なるトランザクション・サブセットに分割されてよい。トランザクション・サブセットが、トランザクション・データのデータ変更範囲により判定されるとき、異なるトランザクション・データは、これらのトランザクション・データの実行によって影響されるデータ範囲が重なり合う場合、これらのトランザクション・データが生成された順序で実行される必要があり、さもなければ、データ実行の結果が影響を受ける。他方、異なるトランザクション・データの実行によって影響されるデータ範囲が重なり合わない場合、これらのトランザクション・データの実行の順序は、データ処理結果に影響を与えない。したがって、トランザクション・データのデータ変更範囲によりトランザクション・サブセットを判定することは、異なるトランザクション・サブセットの並行処理の必要性を満たすことが可能であり、その結果、データ処理の実行効率の向上に有利である。
一例において、重なり合うデータ変更範囲を有するトランザクション・データを同一のトランザクション・サブセットに入れること、および重なり合わないデータ変更範囲を有するトランザクション・データを異なるトランザクション・サブセットに分割することは、
トランザクション・データのデータ変更範囲を横断すること、
第1のトランザクション・データのデータ変更範囲が第1のトランザクション・サブセットのデータ変更範囲と重なり合う場合、第1のトランザクション・データを第1のトランザクション・サブセットに加えること、および
第1のトランザクション・データのデータ変更範囲が第1のトランザクション・サブセットのデータ変更範囲と重なり合わない場合、第1のトランザクション・データを備える第2のトランザクション・サブセットを作成することを備えてよく、
第1のトランザクション・データは、トランザクション・データのうちのいずれかであり、第1のトランザクション・サブセットは、トランザクション・サブセットのうちのいずれかであり、かつ第2のトランザクション・サブセットは、第1のトランザクション・サブセットとは異なる。
前述のプロセスが、図2に示されるフロー・チャートを参照して以下に説明される。
S1021:トランザクション・セットの中のすべてのトランザクション・データが横断されたかどうかを判定することであって、Yesである場合、プロセスは終了し、さもなければ、プロセスは、ステップS1022に進む。
S1022:トランザクション・セットからいずれかのトランザクション・データTXを獲得すること(トランザクション・データTXは、トランザクション・サブセットに入れられていないトランザクション・データから、通常、抽出され、かつ生成されることが可能であるが、抽出されたトランザクション・データTXが、トランザクション・サブセットに既に入れられている場合、トランザクション・データTXは、後続のステップが実行された後、技術的オブジェクトの実現に影響を与えることなしに、同一のトランザクション・サブセットに入れられることに留意されたい)。
S1023:トランザクション・データTXのデータ変更範囲を計算する。
S1024:トランザクション・データTXのデータ変更範囲が、既存のトランザクション・サブセットTXBのデータ変更範囲と重なり合うかどうかを判定する。
S1025:ステップS1024における判定結果がYesである場合、トランザクション・データTXをトランザクション・サブセットTXBに加える。
S1026:ステップS1024における判定結果がいいえである場合、新たなトランザクション・サブセットTXNを作成し、かつトランザクション・データTXをトランザクション・サブセットTXNに加える。
トランザクション・サブセットのデータ変更範囲は、トランザクション・サブセットに備えられるトランザクション・データが変化したとき、再計算される必要があり、かつトランザクション・サブセットに備えられるトランザクション・データのデータ変更範囲の結合が、トランザクション・サブセットのデータ変更範囲として使用されてよいことに留意されたい。
例えば、契約タイプのトランザクションの実行オブジェクトが、契約IDであり、かつ契約IDに対応する契約データが、実行の後に変更される。すると、契約IDは、トランザクション・データのデータ変更範囲と解釈されてよい。同一の契約IDに関して2つのトランザクション・データが実行される場合、これら2つのトランザクション・データのデータ変更範囲は、重なり合うものと考えられてよく、すると、これら2つのトランザクション・データは、同一のトランザクション・サブセットに含められ、かつトランザクション・データに対応するタイムスタンプにより判定される順序で実行されなければならない。異なる契約IDに関して2つのトランザクション・データが実行される場合、これら2つのトランザクション・データのデータ変更範囲は、重なり合わないものと考えられてよく、異なる契約IDに対応する契約データは、これら2つのトランザクション・データが実行されるとき、変更される。したがって、実行の順序は、実行結果に影響を及ぼさない。これら2つのトランザクション・データは、異なるトランザクション・サブセットに含められてよく、かつ並行に実行されてよい。
別の例において、振替タイプのトランザクションの実行オブジェクトが、振替の両方の当事者の口座であり、かつ振替タイプのトランザクションが実行された後、振替の両方の当事者の口座残高データが変更される。したがって、振替の両方の当事者の口座が、振替タイプのトランザクション・データのデータ変更範囲と解釈されてよい。トランザクション・セットが以下の5つのトランザクション・データを備えるものと想定する。
トランザクション・データ1:口座Aから口座Bに振り替えること、すると、トランザクション・データ1のデータ変更範囲は、(A、B)として表現されてよい。
トランザクション・データ2:口座Bから口座Aに振り替えること、すると、トランザクション・データ2のデータ変更範囲は、(B、A)として表現されてよい。
トランザクション・データ3:口座Cから口座Eに振り替えること、すると、トランザクション・データ3のデータ変更範囲は、(C、E)として表現されてよい。
トランザクション・データ4:口座Fから口座Xに振り替えること、すると、トランザクション・データ4のデータ変更範囲は、(F、X)として表現されてよい。
トランザクション・データ5:口座Xから口座Eに振り替えること、すると、トランザクション・データ5のデータ変更範囲は、(X、E)として表現されてよい。
トランザクション・データ1のデータ変更範囲とトランザクション・データ2のデータ変更範囲は、重なり合い、トランザクション・データ3のデータ変更範囲とトランザクション・データ5のデータ変更範囲は、重なり合い、かつトランザクション・データ4のデータ変更範囲とトランザクション・データ5のデータ変更範囲は、重なり合うことが見て取られることが可能である。したがって、トランザクション・データ1からトランザクション・データ5までを備えるトランザクション・セットは、以下のトランザクション・サブセットに分割されてよい。
トランザクション・サブセット1:トランザクション・データ1と、トランザクション・データ2とを備え、かつデータ変更範囲は、(A、B)である。
トランザクション・サブセット2:トランザクション・データ3と、トランザクション・データ4と、トランザクション・データ5とを備え、かつデータ変更範囲は、(C、E、F、X)である。
トランザクション・サブセット1のデータ変更範囲とトランザクション・サブセット2のデータ変更範囲は、重なり合わないこと、およびトランザクション・サブセット1とトランザクション・サブセット2の並行の実行は、実行結果に影響を与えないことが見て取られることが可能である。したがって、トランザクション・サブセット1とトランザクション・サブセット2は、実行効率を向上させるべく並行に実行されてよい。トランザクション・サブセット1に関して、トランザクション・データ1のデータ変更範囲とトランザクション・データ2のデータ変更範囲は、重なり合い(完全に同一でさえあり)、かつこれら2つのトランザクション・データの実行は、これら2つのトランザクション・データの実行に先立つトランザクション・データに依存することが可能である。したがって、実行の順序は、これら2つのトランザクション・データに対応するタイムスタンプにより判定される必要があり、かつこれら2つのトランザクション・データは、時間的順序で順次に実行される。トランザクション・サブセット2に関しても同じである。例えば、タイムスタンプにより、口座Fから口座Xに振り替えるトランザクション・データ4が最初に実行され、次に、口座Xから口座Eに振り替えるトランザクション・データ5が実行されることが判定されることが可能である。この実行順序は、トランザクション・データ5が実行されるときの口座Xから口座Eへの振替によって要求される資金が、口座Fから口座Xに振り替えるトランザクション・データ4の実行に依存するので、並行であることも、逆であることも可能でない。
トランザクション・セットの中のトランザクション・データのデータ変更範囲を横断することは、S1022の様態、すなわち、図2の例に示されるとおり、トランザクション・データのうちのいずれかを獲得する様態で実施されてよいことに留意されたい。代替として、横断することは、トランザクション・データのタイムスタンプによるトランザクション・セットの中のトランザクション・データの生成の時間的順序により実施されてよい。
(III)トランザクション・データのトランザクション・タイプおよびデータ変更範囲によりトランザクション・サブセットを判定すること
本出願の実施形態において、トランザクション・タイプとデータ変更範囲は、段階およびレベルにおいてトランザクション・サブセットを判定するために組み合わされることが可能である。例示的な実施例において、データ変更範囲による分割が最初に実行されてよく、その分割に基づいて、トランザクション・タイプによる第2の分割が実行されてよく、あるいは逆の順序に従ってよい。トランザクション・タイプによる第1の分割、およびその後のデータ変更範囲による第2の分割を例にとると、トランザクション・データのトランザクション・タイプおよびデータ変更範囲によりトランザクション・サブセットを判定する実施プロセスは、
ステップS1027:トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するレベルIサブセットを判定すること、および
次に、レベルIサブセットの中のトランザクション・データのデータ変更範囲により、トランザクション・データが属するレベルIIサブセットを判定し、かつレベルIIサブセットをトランザクション・サブセットとして使用することであって、レベルIIサブセットは、レベルIサブセットのサブセットであることを備えてよい。
ここで、トランザクション・タイプによりトランザクション・セットに対して第1のレベルの分割を実行し、かつトランザクション・データが属するレベルIサブセットを判定することは、
トランザクション・セットの中のトランザクション・データのトランザクション・タイプにより、同一のトランザクション・タイプのトランザクション・データを同一のレベルIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIサブセットに分割することをさらに含んでよい。
非常に限られた数のトランザクション・タイプのトランザクション・データしか存在しないため、トランザクション・タイプだけにより並行に実行されることが可能なトランザクション・サブセットを判定することは、実行効率を或る程度、向上させることが可能であるが、同時の多量のトランザクション・データなどの大きい量が生成される事例において満足のいく効果を実現しない可能性がある。したがって、実行効率をさらに向上させるべく、前述の分割を基礎として、トランザクション・タイプにより判定されたレベルIサブセットが、データ変更範囲による第2のレベルの分割を受け、かつ第2のレベルの分割を通して獲得されるレベルIIサブセットが、並行処理のためのトランザクション・サブセットとして使用される。
一例において、レベルIサブセットの中のトランザクション・データのデータ変更範囲により、トランザクション・データが属するレベルIIサブセットを判定することは、
レベルIサブセットの中のトランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することを備える。
さらに、レベルIサブセットの中のトランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、図3に示されるとおり、
S1028:第1のレベルIサブセットの中のトランザクション・データのデータ変更範囲を横断すること、
S1029:第2のトランザクション・データのデータ変更範囲が第1のレベルIIサブセットのデータ変更範囲と重なり合うかどうかを判定すること、
S1030:第2のトランザクション・データのデータ変更範囲が第1のレベルIIサブセットのデータ変更範囲と重なり合う場合、第2のトランザクション・データを第1のレベルIIサブセットに加えること、および
S1031:第2のトランザクション・データのデータ変更範囲が第1のレベルIIサブセットのデータ変更範囲と重なり合わない場合、第2のトランザクション・データを備える第2のレベルIIサブセットを作成することを備えてよく、
第1のレベルIサブセットは、レベルIサブセットのうちのいずれかのレベルIサブセットであり、第2のトランザクション・データは、第1のレベルIサブセットの中のトランザクション・データのうちのいずれかであり、第1のレベルIIサブセットは、第1のレベルIサブセットのうちのいずれかのレベルIIサブセットであり、かつ第2のレベルIIサブセットは、第1のレベルIIサブセットとは異なる。
レベルIサブセットからレベルIIサブセットを分割するプロセスは、番号(II)において説明されるトランザクション・セットからトランザクション・サブセットを分割するプロセスおよび原理と類似し、このことは、ここで詳述されることはない。
前述の実施プロセスが、トランザクション・サブセットの分割のために使用された後、トランザクション・サブセットは、ブロックチェーンに実行結果を書き込むブロックチェーン・トランザクション・データの実行プロセスを完了すべく、並行に実行されてよい。図4に示されるとおり、トランザクション・データ整理モジュールが、トランザクション・サブセットの分割を実現するように構成される。トランザクション・データ実行クラスタが、異なるトランザクション・サブセットの中のトランザクション・データを並行に実行し、トランザクション・データに対応するタイムスタンプにより、トランザクション・サブセット内のトランザクション・データを順次に実行し、次に、ブロックチェーンに実行結果を書き込んで、その結果、ブロックチェーン・データベース状態の整合性を確実にし、データ処理の実行効率を向上させるために要求される費用を低減し、かつ拡張性を向上させる。ブロックチェーンのブロックに実行結果が書き込まれるとき、トランザクション・データ実行クラスタによるトランザクション・データの実行の結果は、要約されてよく、次に、ブロックチェーンに書き込まれてよい。一例において、クラスタにおける指定された1つのコンピュータが、実行結果の要約を完成させてよい。
現行の技術において、イーサリアム・アプリケーションを例にとると、トランザクション・データは、トランザクション・データが実行されるとき、トランザクション・データの受信されたタイムスタンプにより並べ替えられ、次に、各トランザクション・データが実行された後、口座情報を更新すべく時間的順序で順次に実行が行われる。本出願の実施形態において、ブロックチェーンに書き込まれるべきトランザクション・データ(すなわち、ブロックチェーンによって受信されるトランザクション・データ)が獲得された後、トランザクション・データは、トランザクション・サブセットを形成すべくトランザクション・タイプおよび/またはデータ変更範囲により、まず分類されて、トランザクション依存関係を有さないトランザクション・データが異なるトランザクション・サブセットに分割され、かつトランザクション依存関係を有するトランザクション・データが同一のトランザクション・サブセットに入れられることをもたらす。トランザクション・データの分割、およびトランザクション・サブセットの判定は、図4に示されるトランザクション・データ整理モジュールによって実施されてよい。トランザクション・データ整理モジュールがトランザクション・データの分割を完了した後、トランザクション・データ整理モジュールは、データ処理のためにトランザクション・データ実行クラスタにおけるコンピュータにトランザクション・サブセットを配信してよい。トランザクション・データ実行クラスタにおける各コンピュータは、割り当てられたトランザクション・サブセットの中のトランザクション・データだけを実行し、ブロックチェーンにおける検証−実施−記録のプロセスに従ってブロックチェーンに実行結果を書き込む。例示的な実施例において、トランザクション・データ整理モジュールとトランザクション・データ実行クラスタは、トランザクション・データの受信、分類、配信、および実行の機能を実施し、トランザクション・データの実行結果を要約し、かつブロックチェーンに要約された実行結果を書き込むトランザクション実行クラスタとして合同で解釈されてもよい。
実施形態2
本出願の実施形態は、ブロックチェーンにトランザクション・データを書き込むための別の方法であって、
実行されるべき複数のトランザクション・データを獲得すること、
トランザクション・データのデータ変更範囲により、トランザクション依存関係を有さない第1のトランザクション・データを判定することであって、第1のトランザクション・データの間にトランザクション依存関係は存在しないこと、および
第1のトランザクション・データを並行に実行し、かつブロックチェーンに実行結果を書き込むことを備える方法をさらに提供する。
一例において、第1のトランザクション・データが判定されるとき、トランザクション・データのデータ変更範囲により、他のいずれのトランザクション・データの別のデータ変更範囲とも重なり合わないデータ変更範囲を有するトランザクション・データが、トランザクション依存関係を有さない第1のトランザクション・データとして判定されてよい。
獲得された複数のトランザクション・データは、以下のとおりであるものと想定する。
Figure 0006928104
トランザクション・データのデータ変更範囲により、トランザクション・データ3、4、6、および8のデータ変更範囲は、他のいずれのトランザクション・データのデータ変更範囲とも重なり合わないことが見て取られることが可能である。したがって、これらのトランザクション・データの実行の順序は、データベース状態の整合性に影響を与えない。その結果、これらのトランザクション・データの並行実行は、データ処理の実行効率を向上させることに有利であり、その結果、データ処理の実行効率を向上させるために要求される費用を低減し、かつ拡張性を向上させる。
実施形態3
図5に示されるとおり、本出願によるブロックチェーンにトランザクション・データを書き込むための装置は、
ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得するように構成された獲得モジュール101と、
トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定するように構成されたトランザクション・サブセット判定モジュール102であって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しない、トランザクション・サブセット判定モジュール102と、
トランザクション・サブセットを並行に実行し、かつブロックチェーンに実行結果を書き込むように構成されたデータ実行モジュール103と、を備えてよい。
本実施形態は、実施形態1におけるブロックチェーンにトランザクション・データを書き込むための方法に対応する装置である。実施形態1のすべての説明が、本実施形態に適用可能であり、このことは、ここで詳述されることはない。
実施形態4
本出願は、ブロックチェーン・トランザクション・データのトランザクション・サブセットを判定するための方法をさらに提供する。トランザクション・データは、この方法を使用して適度に分割されてよく、トランザクション依存関係を有さないトランザクション・データが並行に実行されることをもたらして、その結果、データ処理の実行効率を向上させるために要求される費用を低減し、かつ拡張性を向上させる。この方法は、
実行されるべき複数のトランザクション・データが獲得された後、トランザクション・データが属するトランザクション・サブセットが、トランザクション・サブセットを並行に実行するために、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により判定されることであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないことを備える。
一例において、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのデータ属性により、トランザクション・データが属するトランザクション・サブセットを判定することであって、データ属性は、トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲と対応関係を有し、かつデータ属性は、トランザクション・データのトランザクション依存関係を反映させるために使用されることを備えてよい。
さらに、トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するトランザクション・サブセットを判定することは、トランザクション・データのトランザクション・タイプにより、同一のトランザクション・タイプのトランザクション・データを同一のトランザクション・サブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるトランザクション・サブセットに分割することを備えてよい。
トランザクション・データのデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、トランザクション・データのデータ変更範囲により、重なり合うデータ変更範囲を有するトランザクション・データを同一のトランザクション・サブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるトランザクション・サブセットに分割することを備えてよい。
トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、トランザクション・データが属するトランザクション・サブセットを判定することは、
トランザクション・データのトランザクション・タイプにより、トランザクション・データが属するレベルIサブセットを判定すること、および
レベルIサブセットの中のトランザクション・データのデータ変更範囲により、トランザクション・データが属するレベルIIサブセットを判定し、かつレベルIIサブセットをトランザクション・サブセットとして使用することであって、レベルIIサブセットは、レベルIサブセットのサブセットであることをさらに備えてよい。
実施形態1におけるステップS102に対応する本実施形態の詳細な実施、および実施形態1のすべての関係のある説明が、本実施形態に適用可能であり、このことは、ここで詳述されることはない。
本発明の実施形態は、方法、システム、またはコンピュータ・プログラム製品として提供されてよいことが当業者には理解されよう。したがって、本発明は、完全なハードウェア実施形態として実施されても、完全なソフトウェア実施形態として実施されても、またはソフトウェアとハードウェアを組み合わせる実施形態として実施されてもよい。さらに、本発明は、コンピュータ使用可能なプログラム・コードを備える1つまたは複数のコンピュータ使用可能な記憶媒体(磁気ディスク・メモリ、CD−ROM、光メモリ、その他を含むが、以上には限定されない)の上に実装されるコンピュータ・プログラム製品の形態であってよい。
本発明は、本発明の実施形態による方法、デバイス(システム)、およびコンピュータ・プログラム製品のフローチャートおよび/またはブロック図を参照して説明される。コンピュータ・プログラム命令が、フローチャートおよび/またはブロック図における各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図におけるプロセスおよび/またはブロックの組合せを実施するのに使用されてよいことを理解されたい。これらのコンピュータ・プログラム命令は、マシンを生成すべく汎用コンピュータ、専用コンピュータ、埋め込まれたプロセッサ、または他のプログラマブル・データ処理デバイスのプロセッサに与えられて、コンピュータ、または他のプログラマブル・データ処理デバイスのプロセッサによって実行される命令が、フローチャートにおける1つもしくは複数のプロセスにおいて、かつ/またはブロック図における1つもしくは複数のブロックにおいて指定される機能を実施するための装置を生成するようにさせる。
また、これらのコンピュータ・プログラム命令は、特定の様態で働くようにコンピュータまたは他のプログラマブル・データ処理デバイスに命令することができるコンピュータ可読メモリに記憶されてもよく、コンピュータ可読メモリに記憶された命令が、命令装置を含む製造品を生成するようにさせる。命令装置は、フローチャートにおける1つもしくは複数のプロセスにおいて、かつ/またはブロック図における1つもしくは複数のブロックにおいて指定される機能を実施する。
これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理デバイスにロードされてもよく、コンピュータまたは他のプログラマブル・デバイスの上で一連の動作ステップが実行されることをもたらして、その結果、コンピュータによって実施される処理を生成する。したがって、コンピュータまたは他のプログラマブル・デバイスの上で実行される命令は、フローチャートにおける1つもしくは複数のプロセスにおいて、かつ/またはブロック図における1つもしくは複数のブロックにおいて指定される機能を実施するためのステップを提供する。
通常の構成において、計算デバイスは、1つまたは複数のプロセッサ(CPU)と、入出力インターフェースと、ネットワーク・インターフェースと、メモリとを含む。
メモリは、揮発性メモリ、ランダム・アクセス・メモリ(RAM)、および/または不揮発性メモリ、例えば、読取り専用メモリ(ROM)もしくはフラッシュ・メモリ(フラッシュRAM)などのコンピュータ可読媒体を含んでよい。メモリは、コンピュータ可読媒体の例である。
コンピュータ可読媒体は、任意の方法または技術を通して情報記憶を実施することができる永久媒体、揮発性媒体、可動の媒体、および固定の媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータであってよい。コンピュータの記憶媒体の例は、計算デバイスがアクセスできる情報を記憶するために使用されることが可能な、相変化ランダム・アクセス・メモリ(PRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、他のタイプのランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、フラッシュ・メモリもしくは他のメモリ技術、コンパクト・ディスク読取り専用メモリ(CD−ROM)、デジタル・バーサタイル・ディスク(DVD)もしくは他の光メモリ、カセット、カセット・メモリおよびディスク・メモリ、または他の磁気メモリ・デバイス、あるいは他の任意の非伝送媒体を含むが、以上には限定されない。本明細書における定義によれば、コンピュータ可読媒体は、変調されたデータ信号および搬送波などの過渡的媒体(過渡的媒体)を含まない。
「含む」、「備える」という術語、またはこれらの術語の他の任意の変形は、非排他的に含むことを包含することを意図しており、一連の要素を備えるプロセス、方法、品物、またはデバイスが、これらの要素を備えるだけでなく、明確にリストアップされない他の要素も備えるようにする、またはそのプロセス、方法、品物、またはデバイスに本来的である要素をさらに備えるようにすることにさらに留意されたい。さらなる制限が存在しないとき、「1つの...を備える」という言明によって定義される要素は、前述の要素を備えるプロセス、方法、品物、またはデバイスが、追加の同一の要素をさらに備えることを排除しない。
本出願の実施形態は、方法、システム、またはコンピュータ・プログラム製品として提供されてよいことが当業者には理解されよう。したがって、本出願は、完全なハードウェア実施形態として実施されても、完全なソフトウェア実施形態として実施されても、またはソフトウェアとハードウェアを組み合わせる実施形態として実施されてもよい。さらに、本出願は、コンピュータ使用可能なプログラム・コードを備える1つまたは複数のコンピュータ使用可能な記憶媒体(磁気ディスク・メモリ、CD−ROM、光メモリ、その他を含むが、以上には限定されない)の上に実装されるコンピュータ・プログラム製品の形態であってよい。
前述したことは、本出願を限定するのに使用されない、本出願の実施形態に過ぎない。当業者には、本出願は、様々な変形および変更を有してよい。本出願の思想および原理の範囲内で行われるいずれの変形、均等の置換、または改良も、本出願の特許請求の範囲によって包含されるものとする。

Claims (8)

  1. ブロックチェーンにトランザクション・データを書き込むための方法であって、
    前記ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得すること、
    動作Iあるいは動作IIを実行することによって、前記トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、前記トランザクション・データが属するトランザクション・サブセットを判定することであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないこと、および
    前記トランザクション・サブセットを並行に実行し、かつ前記ブロックチェーンに実行結果を書き込むことを備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであることを備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定した後に、前記トランザクション・データ同一のトランザクション・タイプのトランザクション・データを同一のレベルIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することを更に備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れることは、
    第1のトランザクション・データの前記データ変更範囲が第1のレベルIIサブセットの前記データ変更範囲と重なり合う場合、前記第1のトランザクション・データを前記第1のレベルIIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、
    前記第1のトランザクション・データの前記データ変更範囲が前記第1のレベルIIサブセットの前記データ変更範囲と重なり合わない場合、前記第1のトランザクション・データを備える第2のレベルIIサブセットを作成することを備え、
    前記第1のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、前記第1のトランザクション・データは、前記第1のレベルIサブセットの中の前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第1のレベルIIサブセットは、前記第1のレベルIサブセットのうちのいずれかのレベルIIサブセットであり、かつ前記第2のレベルIIサブセットは、前記第1のレベルIIサブセットとは異なり、
    前記動作IIは、
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定すること
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであること
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、同一のトランザクション・タイプのトランザクション・データを同一のレベルIIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIIサブセットに分割することを備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れることは、
    第2のトランザクション・データの前記データ変更範囲が第2のレベルIサブセットの前記データ変更範囲と重なり合う場合、前記第2のトランザクション・データを前記第2のレベルIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割することは、
    前記第2のトランザクション・データの前記データ変更範囲が前記第2のレベルIサブセットの前記データ変更範囲と重なり合わない場合、前記第2のトランザクション・データを備える第3のレベルIサブセットを作成することを備え、
    前記第2のトランザクション・データは、前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第2のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、かつ前記第3のレベルIサブセットは、前記第2のレベルIサブセットとは異なる、方法。
  2. 動作Iあるいは動作IIを実行することによって、前記トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、前記トランザクション・データが属するトランザクション・サブセットを判定することは、
    前記トランザクション・データのデータ属性により、前記トランザクション・データが属する前記トランザクション・サブセットを判定することであって、データ属性は、前記トランザクション・データのトランザクション・タイプおよび/またはデータ変更範囲と対応関係を有し、かつ前記データ属性は、前記トランザクション・データのトランザクション依存関係を反映させるために使用されることを備える、請求項1に記載の方法。
  3. 前記トランザクション・サブセットを並行に実行することは、
    マルチスレッディングまたはマシン・クラスタを使用して前記トランザクション・サブセットを並行に実行することを備える、請求項1に記載の方法。
  4. 前記トランザクション・データとタイムスタンプの間に対応する関係が存在し、
    前記トランザクション・サブセットを実行することは、
    前記タイムスタンプに対応する時間的順序により、前記トランザクション・サブセットに備えられるトランザクション・データを順次に実行することを備える、請求項1に記載の方法。
  5. 重なり合うデータ変更範囲を有するトランザクション・データを前記同一のレベルIIサブセットに入れることは、
    第2のトランザクション・データの前記データ変更範囲が第1のレベルIIサブセットの前記データ変更範囲と重なり合う場合、前記第2のトランザクション・データを前記第1のレベルIIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、
    前記第2のトランザクション・データの前記データ変更範囲が前記第1のレベルIIサブセットの前記データ変更範囲と重なり合わない場合、前記第2のトランザクション・データを備える第2のレベルIIサブセットを作成することを備え、
    前記第1のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、前記第2のトランザクション・データは、前記第1のレベルIサブセットの中の前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第1のレベルIIサブセットは、前記第1のレベルIサブセットのうちのいずれかのレベルIIサブセットであり、かつ前記第2のレベルIIサブセットは、前記第1のレベルIIサブセットとは異なる、請求項1に記載の方法。
  6. 実行されるべき前記複数のトランザクション・データは、前記トランザクション・データを備える実行されるべきトランザクション・セットを形成すべく獲得され、かつ同一のバッチの中で実行されるべき前記トランザクション・セットは、事前設定されたデータ処理量および/または事前設定されたトランザクション・データ時間によって判定される、請求項1に記載の方法。
  7. ブロックチェーンにトランザクション・データを書き込むための装置であって、
    ブロックチェーンに書き込まれるべき複数のトランザクション・データを獲得するように構成された獲得モジュールと、
    動作Iあるいは動作IIを実行することによって、前記トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、前記トランザクション・データが属するトランザクション・サブセットを判定するように構成されたトランザクション・サブセット判定モジュールであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しない、トランザクション・サブセット判定モジュールと、
    前記トランザクション・サブセットを並行に実行し、かつ前記ブロックチェーンに実行結果を書き込むように構成されたデータ実行モジュールと、を備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであることを備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定した後に、前記トランザクション・データ同一のトランザクション・タイプのトランザクション・データを同一のレベルIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することを更に備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れることは、
    第1のトランザクション・データの前記データ変更範囲が第1のレベルIIサブセットの前記データ変更範囲と重なり合う場合、前記第1のトランザクション・データを前記第1のレベルIIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、
    前記第1のトランザクション・データの前記データ変更範囲が前記第1のレベルIIサブセットの前記データ変更範囲と重なり合わない場合、前記第1のトランザクション・データを備える第2のレベルIIサブセットを作成することを備え、
    前記第1のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、前記第1のトランザクション・データは、前記第1のレベルIサブセットの中の前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第1のレベルIIサブセットは、前記第1のレベルIサブセットのうちのいずれかのレベルIIサブセットであり、かつ前記第2のレベルIIサブセットは、前記第1のレベルIIサブセットとは異なり、
    前記動作IIは、
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定すること
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであること
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、同一のトランザクション・タイプのトランザクション・データを同一のレベルIIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIIサブセットに分割することを備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れることは、
    第2のトランザクション・データの前記データ変更範囲が第2のレベルIサブセットの前記データ変更範囲と重なり合う場合、前記第2のトランザクション・データを前記第2のレベルIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割することは、
    前記第2のトランザクション・データの前記データ変更範囲が前記第2のレベルIサブセットの前記データ変更範囲と重なり合わない場合、前記第2のトランザクション・データを備える第3のレベルIサブセットを作成することを備え、
    前記第2のトランザクション・データは、前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第2のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、かつ前記第3のレベルIサブセットは、前記第2のレベルIサブセットとは異なる、装置。
  8. ブロックチェーン・トランザクション・データのトランザクション・サブセットを判定するための方法であって、
    ブロックチェーンに書き込まれるべき複数のトランザクション・データが獲得された後、前記トランザクション・サブセットを並行に実行し、かつ前記ブロックチェーンに実行結果を書き込むために、動作Iあるいは動作IIを実行することによって、前記トランザクション・データのトランザクション・タイプおよびデータ変更範囲により、前記トランザクション・データが属するトランザクション・サブセットを判定することであって、異なるトランザクション・サブセットに属するトランザクション・データの間にトランザクション依存関係は存在しないことを備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであることを備え、
    前記動作Iは、
    前記トランザクション・データの前記トランザクション・タイプにより、前記トランザクション・データが属するレベルIサブセットを判定した後に、前記トランザクション・データ同一のトランザクション・タイプのトランザクション・データを同一のレベルIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記データ変更範囲により、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することを更に備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIIサブセットに入れることは、
    第1のトランザクション・データの前記データ変更範囲が第1のレベルIIサブセットの前記データ変更範囲と重なり合う場合、前記第1のトランザクション・データを前記第1のレベルIIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIIサブセットに分割することは、
    前記第1のトランザクション・データの前記データ変更範囲が前記第1のレベルIIサブセットの前記データ変更範囲と重なり合わない場合、前記第1のトランザクション・データを備える第2のレベルIIサブセットを作成することを備え、
    前記第1のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、前記第1のトランザクション・データは、前記第1のレベルIサブセットの中の前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第1のレベルIIサブセットは、前記第1のレベルIサブセットのうちのいずれかのレベルIIサブセットであり、かつ前記第2のレベルIIサブセットは、前記第1のレベルIIサブセットとは異なり、
    前記動作IIは、
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定すること
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定し、かつ前記レベルIIサブセットを前記トランザクション・サブセットのうちの1つとして使用することであって、前記レベルIIサブセットは、前記レベルIサブセットのサブセットであること
    前記トランザクション・データの前記データ変更範囲により、前記トランザクション・データが属するレベルIサブセットを判定した後に、重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れ、かつ重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割すること、および
    前記トランザクション・データの前記トランザクション・タイプにより、前記レベルIサブセットの中の前記トランザクション・データが属するレベルIIサブセットを判定した後に、同一のトランザクション・タイプのトランザクション・データを同一のレベルIIサブセットに入れ、かつ異なるトランザクション・タイプのトランザクション・データを異なるレベルIIサブセットに分割することを備え、
    重なり合うデータ変更範囲を有するトランザクション・データを同一のレベルIサブセットに入れることは、
    第2のトランザクション・データの前記データ変更範囲が第2のレベルIサブセットの前記データ変更範囲と重なり合う場合、前記第2のトランザクション・データを前記第2のレベルIサブセットに加えることを備え、
    重なり合わないデータ変更範囲を有するトランザクション・データを異なるレベルIサブセットに分割することは、
    前記第2のトランザクション・データの前記データ変更範囲が前記第2のレベルIサブセットの前記データ変更範囲と重なり合わない場合、前記第2のトランザクション・データを備える第3のレベルIサブセットを作成することを備え、
    前記第2のトランザクション・データは、前記トランザクション・データのうちのいずれかのトランザクション・データであり、前記第2のレベルIサブセットは、前記レベルIサブセットのうちのいずれかのレベルIサブセットであり、かつ前記第3のレベルIサブセットは、前記第2のレベルIサブセットとは異なる、方法。
JP2019546907A 2017-02-28 2018-02-26 ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法 Active JP6928104B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710116539.7A CN106980649B (zh) 2017-02-28 2017-02-28 写入区块链业务数据的方法和装置及业务子集合确定方法
CN201710116539.7 2017-02-28
PCT/CN2018/077286 WO2018157778A1 (zh) 2017-02-28 2018-02-26 写入区块链业务数据的方法和装置及业务子集合确定方法

Publications (2)

Publication Number Publication Date
JP2020509495A JP2020509495A (ja) 2020-03-26
JP6928104B2 true JP6928104B2 (ja) 2021-09-01

Family

ID=59339366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019546907A Active JP6928104B2 (ja) 2017-02-28 2018-02-26 ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法

Country Status (16)

Country Link
US (2) US10642643B2 (ja)
EP (1) EP3561700A4 (ja)
JP (1) JP6928104B2 (ja)
KR (1) KR102103130B1 (ja)
CN (1) CN106980649B (ja)
AU (2) AU2018228540B2 (ja)
BR (1) BR112019017863A2 (ja)
CA (1) CA3054813C (ja)
MX (1) MX2019009728A (ja)
MY (1) MY197445A (ja)
PH (1) PH12019501795A1 (ja)
RU (1) RU2744585C2 (ja)
SG (1) SG11201907212SA (ja)
TW (1) TWI660281B (ja)
WO (1) WO2018157778A1 (ja)
ZA (1) ZA201904916B (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980649B (zh) * 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN107423124A (zh) * 2017-07-27 2017-12-01 中链科技有限公司 一种用于对交易数据进行并行处理的方法
CN107729137B (zh) * 2017-09-04 2021-06-22 深圳壹账通智能科技有限公司 服务器、区块链验签解密的方法及存储介质
CN107678865A (zh) * 2017-09-20 2018-02-09 中国银行股份有限公司 基于交易分组的区块链的验证方法以及系统
CN107786642B (zh) * 2017-09-30 2020-04-17 上海数据交易中心有限公司 用于数据流通的区块链构建方法及装置、存储介质、服务器
CN107734021B (zh) * 2017-09-30 2020-04-07 深圳壹账通智能科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN107833060B (zh) * 2017-11-13 2020-12-25 中国银行股份有限公司 一种区块链中智能合约交易的验证方法以及系统
CN108322309B (zh) * 2017-12-27 2019-10-11 北京欧链科技有限公司 基于区块链的交易处理方法及装置
CN108513669A (zh) * 2017-12-29 2018-09-07 深圳前海达闼云端智能科技有限公司 基于区块链的众筹信息处理方法、装置、存储介质及电子设备
CN110083437A (zh) * 2018-01-25 2019-08-02 北京欧链科技有限公司 处理区块链事务的方法及装置
CN108471510A (zh) * 2018-01-29 2018-08-31 东莞理工学院 一种基于区块链的视频操作记录保护方法及系统
CN108564470B (zh) * 2018-04-17 2021-09-28 北京天德科技有限公司 一种区块链中并行建块的交易分发方法
CN108958925B (zh) * 2018-04-26 2023-06-20 武汉龙津科技有限公司 一种节能的工作量证明方法与系统
CN108768994B (zh) * 2018-05-22 2021-07-27 北京小米移动软件有限公司 数据匹配方法、装置及计算机可读存储介质
JP7063142B2 (ja) * 2018-06-25 2022-05-09 日本電信電話株式会社 番号管理システム、番号管理方法および番号管理装置
CN109087097B (zh) * 2018-07-26 2020-11-03 京东数字科技控股有限公司 一种更新链码同一标识的方法和装置
CN109191295A (zh) * 2018-08-15 2019-01-11 深圳市元征科技股份有限公司 一种信息处理方法及其设备
CN109325366B (zh) * 2018-08-22 2022-08-12 深圳前海微众银行股份有限公司 基于联盟链的业务处理方法、设备及计算机可读存储介质
US10860659B1 (en) * 2018-09-06 2020-12-08 Amazon Technologies, Inc. Distributed verification of digital work product
TWI698100B (zh) * 2018-09-18 2020-07-01 柯賓漢數位金融科技有限公司 多區塊鏈產生及整合方法暨區塊鏈系統
CN109493211A (zh) * 2018-09-27 2019-03-19 深圳壹账通智能科技有限公司 基于区块链的信贷数据存储方法、装置、设备及存储介质
CN109088722B (zh) * 2018-10-08 2021-10-19 深圳投时科技有限公司 区块链节点演进方法及区块链节点
CN109299195A (zh) * 2018-10-23 2019-02-01 杭州能链科技有限公司 数据处理方法、装置及存储介质
CN111782275B (zh) * 2018-10-25 2024-02-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
US11138597B2 (en) 2018-11-27 2021-10-05 Advanced New Technologies Co., Ltd. System and method for improving security of smart contract on blockchain
US11354727B2 (en) * 2018-11-27 2022-06-07 Advanced New Technologies Co., Ltd. System and method for improving security of smart contract on blockchain
CN111291018B (zh) * 2018-12-07 2023-06-23 北京沃东天骏信息技术有限公司 数据管理方法、装置、设备及存储介质
CN109766727B (zh) * 2018-12-25 2021-04-06 苏州朗润创新知识产权运营有限公司 智能区块网络构建方法及系统
BR112019016064A2 (pt) * 2018-12-28 2020-03-31 Alibaba Group Holding Limited Método implementado por computador, meio de armazenamento legível e sistema
MX2019009344A (es) 2018-12-28 2019-10-02 Alibaba Group Holding Ltd Ejecucion paralela de transacciones en una red de cadena de bloques con base en listas blancas de contratos inteligentes.
WO2019072311A2 (en) * 2018-12-29 2019-04-18 Alibaba Group Holding Limited PARTICIPATORY PRODUCTION BASED ON A CHAIN OF BLOCKS OF MAPPING APPLICATIONS
KR102354776B1 (ko) 2019-03-04 2022-01-25 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스
JP6955026B2 (ja) * 2019-03-28 2021-10-27 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 並列処理ブロックチェーントランザクションのためのシステムおよび方法
SG11201910057QA (en) 2019-04-12 2019-11-28 Alibaba Group Holding Ltd Performing parallel execution of transactions in a distributed ledger system
CN111095326B (zh) * 2019-04-12 2023-08-22 创新先进技术有限公司 用于在区块链网络中执行多个交易的方法、系统和装置
CA3060790C (en) 2019-04-12 2021-06-08 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
KR102118178B1 (ko) * 2019-04-24 2020-06-02 주식회사 데이터젠 블록체인을 위한 다중 트랜잭션 병렬 처리 방법 및 시스템
CN110209671A (zh) * 2019-05-17 2019-09-06 无锡朝阳供应链科技股份有限公司 一种分布式账本数据的存取系统及其应用
CN112001713B (zh) * 2019-05-27 2024-03-29 深圳市红砖坊技术有限公司 区块链系统以及请求处理方法和装置
US11405204B2 (en) 2019-06-15 2022-08-02 Meta Platforms, Inc Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
EP3983923A1 (en) * 2019-06-15 2022-04-20 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
US11249947B2 (en) 2019-06-15 2022-02-15 Facebook, Inc. Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure
US11126593B2 (en) 2019-06-15 2021-09-21 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
US11249985B2 (en) * 2019-06-15 2022-02-15 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
CN110570311B (zh) * 2019-09-17 2021-05-25 北京海益同展信息科技有限公司 区块链的共识方法、装置及设备
CN110659308B (zh) * 2019-09-24 2020-12-22 华润网络(深圳)有限公司 一种数据清算处理方法及装置
CN110728578A (zh) * 2019-09-29 2020-01-24 南京金宁汇科技有限公司 区块链交易的并行执行方法、系统及存储介质
CN110806923B (zh) * 2019-10-29 2023-02-24 百度在线网络技术(北京)有限公司 一种区块链任务的并行处理方法、装置、电子设备和介质
CN111126978B (zh) * 2019-12-28 2023-03-14 飞天诚信科技股份有限公司 一种区块链上快速处理事务的实现方法及装置
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
KR102461553B1 (ko) * 2020-02-28 2022-11-01 주식회사 시큐어링크 대용량 정보 공유를 위한 계층 블록체인 시스템
CN111405037A (zh) * 2020-03-13 2020-07-10 杭州复杂美科技有限公司 区块同步方法、设备和存储介质
KR102315226B1 (ko) * 2020-03-16 2021-10-20 이정우 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법
CN113779016A (zh) * 2020-07-06 2021-12-10 北京沃东天骏信息技术有限公司 数据管理的方法和装置
CN112508574A (zh) * 2021-02-03 2021-03-16 北京全息智信科技有限公司 一种区块链的并行交易执行方法、装置和电子设备

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002019B2 (en) * 2009-05-11 2018-06-19 International Business Machines Corporation System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups
RU2554509C2 (ru) * 2010-10-06 2015-06-27 Александр Яковлевич Богданов Система и способ распределенных вычислений
US8856283B2 (en) * 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US9553982B2 (en) 2013-07-06 2017-01-24 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
US11126627B2 (en) 2014-01-14 2021-09-21 Change Healthcare Holdings, Llc System and method for dynamic transactional data streaming
EP2961168A1 (en) * 2014-06-27 2015-12-30 Thomson Licensing Method and apparatus for predicting image samples for encoding or decoding
TWI528217B (zh) * 2014-07-02 2016-04-01 柯呈翰 於線上加上即時檔案動態標籤、加密之系統及方法
US9594644B2 (en) 2014-09-19 2017-03-14 Sybase, Inc. Converting a serial transaction schedule to a parallel transaction schedule
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US9967333B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Deferred configuration or instruction execution using a secure distributed transaction ledger
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
EP3394818A4 (en) 2015-12-21 2019-08-14 Kochava Inc. AUTOREGULATING TRANSACTION SYSTEM AND ASSOCIATED METHODS
US10255108B2 (en) 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
US10108812B2 (en) 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
GB2604540B (en) 2016-02-03 2023-01-11 Luther Systems System and method for secure management of digital contracts
WO2017134281A1 (en) 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US10129238B2 (en) 2016-02-10 2018-11-13 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US20170264428A1 (en) 2016-03-08 2017-09-14 Manifold Technology, Inc. Data storage system with blockchain technology
WO2017173399A1 (en) 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
CN105893042A (zh) * 2016-03-31 2016-08-24 北京航空航天大学 一种基于区块链的智能合约的实现方法
CA3019642C (en) 2016-04-01 2023-03-07 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
GB201607476D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
EP3455996A4 (en) 2016-05-09 2020-01-22 Nokia Technologies Oy BLOCK CHAIN-BASED RESOURCE MANAGEMENT
GB201611698D0 (en) 2016-07-05 2016-08-17 Eitc Holdings Ltd Blockchain-implemented control method and system
EP3472779A4 (en) 2016-07-14 2020-01-08 Digital Asset Holdings, LLC DIGITAL ASSETS PLATFORM
CN106330431A (zh) 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及系统
CN106406896B (zh) * 2016-09-27 2020-03-17 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法
CN106682984B (zh) * 2016-10-27 2019-09-10 深圳壹账通智能科技有限公司 基于区块链的交易事务处理方法及系统
CN108427601A (zh) * 2017-02-13 2018-08-21 北京航空航天大学 一种私有链节点的集群交易处理方法
CN106980649B (zh) * 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Also Published As

Publication number Publication date
TWI660281B (zh) 2019-05-21
RU2744585C2 (ru) 2021-03-11
US10642643B2 (en) 2020-05-05
EP3561700A1 (en) 2019-10-30
MY197445A (en) 2023-06-19
US10664305B1 (en) 2020-05-26
TW201833796A (zh) 2018-09-16
AU2018228540B2 (en) 2020-09-03
CA3054813C (en) 2021-04-20
KR102103130B1 (ko) 2020-04-22
CN106980649A (zh) 2017-07-25
MX2019009728A (es) 2019-10-22
AU2019101606A4 (en) 2020-01-23
AU2018228540A1 (en) 2019-08-22
SG11201907212SA (en) 2019-09-27
RU2019124224A3 (ja) 2021-02-01
JP2020509495A (ja) 2020-03-26
US20200150999A1 (en) 2020-05-14
WO2018157778A1 (zh) 2018-09-07
RU2019124224A (ru) 2021-02-01
KR20190099087A (ko) 2019-08-23
PH12019501795A1 (en) 2020-03-09
US20190361731A1 (en) 2019-11-28
BR112019017863A2 (pt) 2020-05-12
CA3054813A1 (en) 2018-09-07
CN106980649B (zh) 2020-07-10
ZA201904916B (en) 2020-08-26
EP3561700A4 (en) 2020-01-15

Similar Documents

Publication Publication Date Title
JP6928104B2 (ja) ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法
KR102226257B1 (ko) 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스
TWI714847B (zh) 區塊鏈共識網路中處理共識請求的方法、裝置和電子設備
WO2019117311A1 (ja) ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及びノード
TWI694700B (zh) 資料處理方法和裝置、用戶端
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
WO2023231336A1 (zh) 执行交易的方法和区块链节点
WO2023160085A1 (zh) 执行交易的方法、区块链、主节点和从节点
CN109145053B (zh) 数据处理方法和装置、客户端、服务器
US10162830B2 (en) Systems and methods for dynamic partitioning in distributed environments
US20210365300A9 (en) Systems and methods for dynamic partitioning in distributed environments
CN114529417A (zh) 执行交易的方法、区块链、主节点和从节点
Slagter et al. SmartJoin: a network-aware multiway join for MapReduce
WO2021129005A1 (zh) 一种区块链状态变更交易追溯的方法及装置
CN108958973A (zh) 分布式文件系统纠删码数据重构存储节点选择方法及装置
CN104598567A (zh) 一种基于Hadoop MapReduce编程框架的数据统计排重的方法
US20200371831A1 (en) Virtual network functions allocation in a datacenter
CN109032804B (zh) 数据处理方法和装置、服务器
CN116881361A (zh) 交易的执行方法、节点和区块链系统
US11442792B2 (en) Systems and methods for dynamic partitioning in distributed environments
CN117573368A (zh) 一种spark计算调度的方法、装置、电子设备及介质
CN110308996A (zh) 一种用户url请求的匹配方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191018

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191018

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210122

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210805

R150 Certificate of patent or registration of utility model

Ref document number: 6928104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150