JP2020512611A - ブロックチェーンを基にしたデータ処理方法および装置 - Google Patents

ブロックチェーンを基にしたデータ処理方法および装置 Download PDF

Info

Publication number
JP2020512611A
JP2020512611A JP2019538133A JP2019538133A JP2020512611A JP 2020512611 A JP2020512611 A JP 2020512611A JP 2019538133 A JP2019538133 A JP 2019538133A JP 2019538133 A JP2019538133 A JP 2019538133A JP 2020512611 A JP2020512611 A JP 2020512611A
Authority
JP
Japan
Prior art keywords
block
identifier
service data
mapping relationship
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.)
Granted
Application number
JP2019538133A
Other languages
English (en)
Other versions
JP6884870B2 (ja
Inventor
ハオ・ウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020512611A publication Critical patent/JP2020512611A/ja
Application granted granted Critical
Publication of JP6884870B2 publication Critical patent/JP6884870B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

ブロックチェーンネットワーク内の各ブロックの第1の識別子が決定される。各ブロックに保存されているサービスデータの第2の識別子が決定される。ブロックの第1の識別子とブロックに保存されているサービスデータの第2の識別子との間でマッピング関係が確立される。マッピング関係はリレーショナルデータベースに保存される。

Description

関連出願の相互参照
本願は、その全体が参照により本明細書に組み込まれる、2017年7月14日に出願された中国特許出願第201710574373.3号の優先権を主張する。
本願は、インターネット情報処理技術の分野およびコンピュータ技術の分野に関し、特に、ブロックチェーンを基にしたデータ処理方法および装置に関する。
ブロックチェーン技術は、分散型台帳技術とも呼ばれ、分散化、透明性、耐改ざん性、および信頼性を特徴とする分散型インターネットデータベース技術である。
データ保存はブロックチェーン技術の重要な機能である。各ブロックはデータヘッダおよびデータ本体を含む。データヘッダは、他のブロックとのチェーン関係を確立、すなわち、異なるブロック間のチェーン接続を実現するために用いられる。データ本体はサービスデータを保存するために用いられる。
たとえば、n番目のブロックのデータヘッダはn番目のブロックのダイジェスト情報および(n-1)番目のブロックのダイジェスト情報を含む。n番目のブロックと(n-1)番目のブロックとの間のチェーン関係は(n-1)番目のブロックのダイジェスト情報に基づいて確立される。
保存されるサービスデータは通常、キーバリュー形式で各ブロックのデータ本体に保存される。たとえば、サービスデータが「ユーザAが時間Tに100ドルをユーザBに転送する」であると仮定する。このサービスデータがブロックに保存されれば、トランザクション時間(時間T)、トランザクションソースアドレス(ユーザAに対応するアドレス)、トランザクション宛先アドレス(ユーザBに対応するアドレス)、およびトランザクション金額(100ドル)をブロックに保存することができる。ここで、トランザクション時間、トランザクションソースアドレス、トランザクション宛先アドレス、およびトランザクション金額をキーと呼ぶことができる。時間T、ユーザAに対応するアドレス、ユーザBに対応するアドレス、および100ドルは、異なるキーに対応するバリュー(属性)と呼ぶことができる。
上記を考慮して、本願の実施形態は、ブロックチェーンネットワークにおけるデータ分析およびデータ計算などのトランザクション処理能力を強化するためのブロックチェーンを基にしたデータ処理方法および装置を提供する。
以下の技術的解決策が本願の実施形態において用いられる。
本願の一実施形態は以下を含むブロックチェーンを基にしたデータ処理方法を提供する。すなわち、ブロックチェーンネットワーク内の各ブロックの識別子を決定するステップと、各ブロックに保存されているサービスデータの識別子を決定するステップと、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立するステップと、マッピング関係をリレーショナルデータベースに保存するステップと、である。
本願の一実施形態は以下を含むブロックチェーンを基にしたデータ処理装置をさらに提供する。すなわち、ブロックチェーンネットワーク内の各ブロックの識別子を決定するとともに、各ブロックに保存されているサービスデータの識別子を決定するように構成された決定ユニットと、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立し、このマッピング関係をリレーショナルデータベースに保存するように構成された処理ユニットと、である。
本願の一実施形態は、1つまたは複数のメモリと1つまたは複数のプロセッサを含む、ブロックチェーンを基にしたデータ処理装置をさらに提供する。メモリはプログラムを格納し、これらのプロセッサの少なくとも1つが以下のステップを実行するように構成される。すなわち、ブロックチェーンネットワーク内の各ブロックの識別子を決定するステップと、各ブロックに保存されているサービスデータの識別子を決定するステップと、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立するステップと、マッピング関係をリレーショナルデータベースに保存するステップと、である。
本願の実施形態において用いられる1つまたは複数の技術的解決策は以下の有益な効果を達成することができる。
本願の実施形態において提供される解決策においては、ブロックチェーンネットワーク内のブロックの識別子およびブロックに保存されているサービスデータの識別子が決定される。ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係が各ブロックについて確立される。マッピング関係はリレーショナルデータベースに保存される。このように、ブロックチェーンネットワークに保存されているサービスデータが非リレーショナルデータからリレーショナルデータに変換される。リレーショナルデータはリレーショナルデータベースに保存されるため、ブロックチェーンネットワークにおけるデータ保存の信頼性を高めることができ、ブロックチェーンネットワークにおけるデータ分析およびデータ計算などのトランザクション処理能力を強化することができ、そしてブロックチェーンネットワークのシステム能力を強化することができる。
ここに記載の添付の図面は、本願のさらなる理解を提供することを意図しており、本願の一部をなす。本願の例示的な実施形態および実施形態の説明は、本願を説明することを意図しており、本願に対する限定をなすものではない。
本願の一実施形態による、ブロックチェーンを基にしたデータ処理方法の一例を示すフローチャートである。 本願の一実施形態による、ブロックデータテーブルに対応するテーブル構造の一例を示す図である。 本願の一実施形態による、サービスデータテーブルに対応するテーブル構造の一例を示す図である。 本願の一実施形態による、リレーショナルデータベースに対応するテーブル構造の一例を示す図である。 本願の一実施形態による、ブロックチェーンを基にしたデータ処理方法のシナリオの一例を示す図である。 本願の一実施形態による、ブロックチェーンを基にしたデータ処理装置の一例を示す構造図である。 本願の一実施形態による、ブロックチェーンを基にしたデータ処理のためのコンピュータ実装方法の一例を示すフローチャートである。
ブロックチェーンネットワークにはデータがキーバリュー形式で保存される。サービスデータが改ざんされないということは保証することができるが、ブロックチェーンネットワークにおいて、データ保存の信頼性は比較的低く、データ分析およびデータ計算など、トランザクション処理の実行の助けとなるものではない。
データベース内のトランザクションは、そのデータベース内で実行される論理ユニットであり、原始性、一貫性、独立性、そして永続性がある。これはデータベース内のデータ処理能力を効果的に保証することができる。ここでの処理能力は、分析能力、計算能力、クエリ能力などを含む。
上記を考慮して、本願の実施形態は、ブロックチェーンネットワークにおいて、データ分析およびデータ計算などのトランザクション処理能力を強化するためのブロックチェーンを基にしたデータ処理方法および装置を提供する。
本願の目的、技術的解決策、および利点をより明確にするため、本願の具体的な実施形態および対応する添付の図面を参照して、本願の技術的解決策を以下に説明する。明らかに、記載の実施形態は、本願の実施形態のすべてではなく、単にいくつかに過ぎない。本願の実施形態に基づいて創造的な努力なしに当業者によって得られる他の実施形態は本願の保護範囲内に入るものとする。
添付の図面を参照し、本願の実施形態によって提供される技術的解決策を以下に詳細に説明する。
図1は、本願の一実施形態による、ブロックチェーンを基にしたデータ処理方法の一例を示すフローチャートである。この方法は以下のように説明することができる。本願のこの実施形態は、ブロックチェーンノードによって実行することができ、またはリレーショナルデータベースに対応するサーバによって実行することができる。ここで限定は課されない。
ステップ101:ブロックチェーンネットワーク内の各ブロックの識別子を決定する。
本願のこの実施形態において、ブロックチェーンネットワーク内の各ブロックは新たに生成されたブロックであってもよい。そのようなブロックの識別子が決定されるとき、サービスデータはそのブロックに保存されていてもいなくてもよい。あるいは、ブロックは以前に生成されたブロックであってもよく、サービスデータはそのようなブロックに保存されている。ここで限定は課されない。
ブロックチェーンネットワーク内の各ブロックについて以下のステップが実行される。すなわち、ブロックのダイジェスト情報に基づいてブロックの識別子を取得するステップである。
ブロックのダイジェスト情報は、難易値(数学的問題の難易度の目標)、ナンス(その数学的問題への回答を記録する値)などを含むことができるが、これらに限定されないということに留意されたい。
ブロックのダイジェスト情報が取得された後、指定されたアルゴリズムを用いてダイジェスト情報を計算することができ、計算結果がブロックの識別子として決定される。
ここでの指定されたアルゴリズムは、ハッシュアルゴリズムまたはSHA256アルゴリズムであってもよい。ここで限定は課されない。
本願のこの実施形態において説明したブロック識別子はブロックを一意に識別することができ、すなわち、異なるブロック識別子は異なるブロックに対応するということに留意されたい。
本願のこの実施形態において、この方法は、ブロックに保存されているサービスデータに基づいてブロックの状態値を取得するステップをさらに含む。ここで、ブロックの状態値はバケットツリーに基づいて取得することができる。
まず、マークルツリーが構築され、ブロックに保存されているサービスデータはマークルツリーのリーフノードとみなされる。次に、各リーフノード(サービスデータ)のハッシュ値が決定される。最後に、マークルツリーのルートノードのハッシュ値を取得するための計算が実行される。マークルツリーのルートノードの取得されたハッシュ値がブロックの状態値として決定される。
本願のこの実施形態において、この方法は以下をさらに含む。すなわち、ブロックの状態値が取得された後、ブロックの識別子、状態値、および前のブロックの識別子の間の第1のマッピング関係を確立するステップと、第1のマッピング関係をブロックデータテーブルに保存するステップと、である。
図2は、本願の一実施形態による、ブロックデータテーブルに対応するテーブル構造の一例を示す図である。
ブロックの識別子、状態値、および前のブロックの識別子に加え、ブロックデータテーブルは、ブロックのバージョン番号、ブロックの生成時間、およびブロックの高さ値を保存することができるということが図2から分かる(高さ値は、ブロックチェーン全体におけるそのブロックの高さとして理解することができ、すなわち、ブロックチェーン全体におけるブロックの位置は高さ値に基づいて決定することができる)。このように、ブロックチェーンネットワーク内の各ブロックの属性情報はブロックデータテーブルを用いて迅速に取得することができる。
ステップ103:各ブロックに保存されているサービスデータの識別子を決定する。
本願のこの実施形態において、ブロックに保存されているサービスデータについて以下のステップが実行される。すなわち、サービスデータのハッシュ値に基づいてサービスデータの識別子を決定するステップである。
サービスデータのハッシュ値は、サービスデータの識別子をハッシュ値とすることができるよう、サービスデータに対応する文字列に対してハッシュ計算を実行することによって取得することができる。
サービスデータを一意に識別するための情報をサービスデータの識別子として用いることができるとすると、本願のこの実施形態において説明したデータ識別子はサービスデータを一意に識別することができるということに留意されたい。ここで限定は課されない。
本願のこの実施形態において、この方法は、サービスデータの識別子が取得された後、サービスデータの識別子とサービスデータを有するブロックの識別子との間の第2のマッピング関係を確立するステップと、第2のマッピング関係をサービスデータテーブルに保存するステップと、をさらに含む。
図3は、本願の一実施形態による、サービスデータテーブルに対応するテーブル構造の一例を示す図である。
サービスデータの識別子およびサービスデータを有するブロックの識別子に加え、サービスデータテーブルは、サービスデータのバージョン番号、サービスデータのサービスタイプ、サービスデータにおけるイニシエータの公開鍵、サービスデータの発生時間、サービスデータにおけるデジタル署名(イニシエータによって秘密鍵で署名された)、サービスデータのデータ内容、サービスデータの保存状態(すなわち、サービスデータがブロックに保存されているかどうか)などを保存することができるということが図3から分かる。
ステップ103において説明したサービスデータは、ブロックに保存されているサービスデータであっても、ブロックに保存されていないサービスデータであってもよいということに留意されたい。サービスデータがブロックに保存される前に、サービスデータはサービスデータテーブルに保存することができる。この場合、サービスデータテーブル内のサービスデータの保存状態は、サービスデータはブロックに保存されていないとすることができる。
サービスデータがブロックに保存されていれば、サービスデータがサービスデータテーブルに保存されているとき、サービスデータの保存状態は、サービスデータはブロックに保存されているとすることができる。
本願のこの実施形態において説明した「第1のマッピング関係」および「第2のマッピング関係」に含まれる「第1の」および「第2の」は特別な意味を持たず、単に異なるマッピング関係を表すということに留意されたい。
ステップ105:ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立し、このマッピング関係をリレーショナルデータベースに保存する。
本願のこの実施形態において、ブロックの状態値がステップ101において取得されれば、ブロックの識別子、状態値、およびブロックに保存されているサービスデータの識別子の間のマッピング関係をさらに確立することができ、このマッピング関係はリレーショナルデータベースに保存される。
図4は、本願の一実施形態による、リレーショナルデータベースに対応するテーブル構造の一例を示す図である。
リレーショナルデータベースに対応するテーブル構造は、ブロックの識別子、ブロックの状態値、およびブロックに保存されているサービスデータの識別子を含むということが図4から分かる。ブロックに保存されているサービスデータの識別子は、データ識別子セットまたはデータ識別子リストであってもよい。ここで限定は課されない。
本願のこの実施形態において、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係は、以下の方法を用いてさらに確立することができる。すなわち、ブロックデータテーブルに含まれる第1のマッピング関係とサービスデータテーブルに含まれる第2のマッピング関係とに基づいて、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を確立するステップである。
たとえば、確立されたブロックデータテーブルを表1に示す。
Figure 2020512611
確立されたサービスデータテーブルを表2に示す。
Figure 2020512611
表1および表2を分析することによって、識別子がBXMEuqJfnhC7no8n5EPXPUzyiLw21YWxAMqW6fAMpxidであるサービスデータは、識別子が6XeQRg6Ajw3rTAZddefitnmfpAKA6NspnLhm8byuvJXMであるブロックに保存され、識別子がDnTg93xxdYiE88iRxkXrpUGfQemtL1uHs422J6RUizF1であるサービスデータおよび識別子がDkukkEqW4iirM7waHuRh258PCpYd54QwLL8v1ATjGSP6であるサービスデータは、識別子が5Gj5aYzepjcU3gPbFhh9VVcx9jMvsAeP2oCvzKZ4LC4Bであるブロックに保存されていると判断することができる。
ブロック識別子に基づいて、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を表3に示す。
Figure 2020512611
本願のこの実施形態においては、新たなブロックまたは新たなサービスデータが生成されると、ブロックデータテーブル、サービスデータテーブル、およびリレーショナルデータベースを同期的に更新することができる。
新たに生成されたブロックの識別子は、その新たなブロックが生成されたときに決定され、ブロックデータテーブルおよび/またはリレーショナルデータベースは、新たに生成されたブロックの識別子に基づいて同期的に更新される。
本願の他の一実施形態において、この方法は以下をさらに含む。すなわち、新たなサービスデータが生成されると、その新たに生成されたサービスデータの識別子を決定するステップと、新たなサービスデータがブロックに保存されると、新たに生成されたサービスデータの識別子と新たなサービスデータを有するブロックの識別子との間のマッピング関係を確立するステップと、マッピング関係に基づいて、サービスデータテーブルおよび/またはリレーショナルデータベースを同期的に更新するステップと、である。
たとえば、新たなサービスデータが生成されると、そのサービスデータはサービスデータテーブルに保存することができ、表2は表4に更新することができる。
Figure 2020512611
表4における内容に基づいて、識別子がDJu65XmCsLiS7QPWfLaQpboKg2eJZtP6ZYtAsJsSGFjbであるサービスデータはブロックに保存されていないと判断することができる。
サービスデータがブロックに保存されれば、表4におけるサービスデータは表5におけるサービスデータに更新される。
Figure 2020512611
表5における内容に基づいて、識別子がDJu65XmCsLiS7QPWfLaQpboKg2eJZtP6ZYtAsJsSGFjbであるサービスデータは、識別子が6Un3dbeVx21HfqZwaAZ1DgLnjTFAA7KUokRqg7pkTqcvであるブロックに保存されていると判断することができる。
明らかに、識別子が6Un3dbeVx21HfqZwaAZ1DgLnjTFAA7KUokRqg7pkTqcvであるブロックが新たに生成されたブロックであれば、本願のこの実施形態において、ブロックデータテーブル(表1)における内容は表6における内容にさらに更新される。
Figure 2020512611
新たなブロックと新たなサービスデータが生成された後、前述の方法を用いてリレーショナルデータベースをさらに更新することができ、これを表7に示す。
Figure 2020512611
ブロックチェーンネットワークに保存されたサービスデータが非リレーショナルデータからリレーショナルデータに変換されると、インデックスを作成してサービスデータの後続のクエリまたは分析を容易にすることもできる。たとえば、ブロック識別子をブロックデータテーブル内のインデックスとして用いることができる。データ識別子は、サービスデータテーブル内のインデックスとして用いることができる。リレーショナルデータベースにおいて、ブロック識別子をインデックスとして用いることができ、データ識別子をインデックスとして用いることができ、またブロック識別子とデータ識別子との両方をインデックスとして用いることができる。ここで限定は課されない。
本願のこの実施形態において提供される解決策において、ブロックチェーンネットワーク内のブロックの識別子およびブロックに保存されたサービスデータの識別子が決定される。ブロックの識別子とブロックに保存されたサービスデータの識別子との間のマッピング関係が各ブロックについて確立され、マッピング関係はリレーショナルデータベースに保存される。このように、ブロックチェーンネットワークに保存されたサービスデータは非リレーショナルデータからリレーショナルデータに変換される。リレーショナルデータはリレーショナルデータベースに保存されるため、ブロックチェーンネットワークにおけるデータ保存の信頼性を高めることができ、ブロックチェーンネットワークにおけるデータ分析およびデータ計算などのトランザクション処理能力を強化することができ、そしてブロックチェーンネットワークのシステム能力を強化することができる。
図5は、本願の一実施形態による、ブロックチェーンを基にしたデータ処理方法のシナリオの一例を示す図である。
ブロックチェーンネットワークに保存されたサービスデータは、非リレーショナルデータからリレーショナルデータに変換されるということが図5から分かる。リレーショナルデータはリレーショナルデータベースに保存されるため、ブロックチェーンネットワークにおけるデータ保存の信頼性を高めることができ、ブロックチェーンネットワークにおけるデータ分析およびデータ計算などのトランザクション処理能力を強化することができ、そしてブロックチェーンネットワークのシステム能力を強化することができる。
図6は、本願の一実施形態による、ブロックチェーンを基にしたデータ処理装置の一例を示す構造図である。このデータ処理装置は決定ユニット601および処理ユニット602を含む。
決定ユニット601は、ブロックチェーンネットワーク内の各ブロックの識別子を決定するとともに、各ブロックに保存されているサービスデータの識別子を決定するように構成されている。
処理ユニット602は、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立し、このマッピング関係をリレーショナルデータベースに保存するように構成されている。
本願の他の一実施形態において、決定ユニット601は、ブロックチェーンネットワーク内の各ブロックの識別子を決定するように構成され、ブロックチェーンネットワーク内の各ブロックについて以下のステップを含む。すなわち、ブロックのダイジェスト情報に基づいてブロックの識別子を取得するステップである。
本願の他の一実施形態において、データ処理装置は計算ユニット603をさらに含む。
計算ユニット603は、ブロックに保存されているサービスデータに基づいてブロックの状態値を取得するように構成されている。
処理ユニット602は、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を確立するように構成され、ブロックの識別子、状態値、およびブロックに保存されているサービスデータの識別子の間のマッピング関係を確立することを含む。
本願の他の一実施形態において、データ処理装置は第1の確立ユニット604をさらに含む。
第1の確立ユニット604は、ブロックの状態値が取得された後、ブロックの識別子、状態値、および前のブロックの識別子の間の第1のマッピング関係を確立し、第1のマッピング関係をブロックデータテーブルに保存するように構成されている。
本願の他の一実施形態において、決定ユニット601は、各ブロックに保存されているサービスデータの識別子を決定するように構成され、ブロックに保存されているサービスデータについて以下のステップを含む。すなわち、サービスデータのハッシュ値に基づいてサービスデータの識別子を決定するステップである。
本願の他の一実施形態において、データ処理装置は第2の確立ユニット605をさらに含む。
第2の確立ユニット605は、サービスデータの識別子が取得された後、サービスデータの識別子とサービスデータを有するブロックの識別子との間の第2のマッピング関係を確立し、第2のマッピング関係をサービスデータテーブルに保存するように構成されている。
本願の他の一実施形態において、処理ユニット602は、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を確立するように構成され、ブロックデータテーブルに含まれる第1のマッピング関係とサービスデータテーブルに含まれる第2のマッピング関係とに基づいて、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を確立することを含む。
本願の他の一実施形態において、データ処理装置は同期ユニット606をさらに含む。
同期ユニット606は、新たなブロックが生成されると、その新たに生成されたブロックの識別子を決定し、新たに生成されたブロックの識別子に基づいて、ブロックデータテーブルおよび/またはリレーショナルデータベースを同期的に更新するように構成されている。
本願の他の一実施形態において、データ処理装置は更新ユニット607をさらに含む。
更新ユニット607は以下のステップを実行するように構成されている。すなわち、新たなサービスデータが生成されると、その新たに生成されたサービスデータの識別子を決定するステップと、新たなサービスデータがブロックに保存されると、新たに生成されたサービスデータの識別子と新たなサービスデータを有するブロックの識別子との間のマッピング関係を確立するステップと、マッピング関係に基づいてサービスデータテーブルおよび/またはリレーショナルデータベースを同期的に更新するステップと、である。
本願のこの実施形態において提供されるデータ処理装置は、ソフトウェアを用いて実現することができ、またはハードウェアを用いて実現することができるということに留意されたい。ここで限定は課されない。このデータ処理装置は、ブロックチェーンネットワークに保存されたサービスデータを非リレーショナルデータからリレーショナルデータに変換し、このリレーショナルデータをリレーショナルデータベースに保存する。したがって、ブロックチェーンネットワークにおけるデータ保存の信頼性を高めることができ、ブロックチェーンネットワークにおけるデータ分析およびデータ計算などのトランザクション処理能力を強化することができ、そしてブロックチェーンネットワークのシステム能力を強化することができる。
同じ発明の概念に基づいて、本願の一実施形態は、1つまたは複数のメモリおよび1つまたは複数のプロセッサを含む、ブロックチェーンを基にしたデータ処理装置をさらに提供する。メモリはプログラムを格納し、プロセッサの少なくとも1つは以下のステップを実行するように構成されている。すなわち、ブロックチェーンネットワーク内の各ブロックの識別子を決定するステップと、各ブロックに保存されているサービスデータの識別子を決定するステップと、ブロックの識別子とブロックに保存されているサービスデータの識別子との間のマッピング関係を各ブロックについて確立するステップと、マッピング関係をリレーショナルデータベースに保存するステップと、である。
本願のこの実施形態において、プロセッサは、前の実施形態において説明した解決策に基づく動作をさらに実行することができ、詳細はここでは再度説明しない。
このように、本願の実施形態を上で説明してきた。添付の特許請求の範囲内には他の実施形態が含まれる。いくつかの場合において、特許請求の範囲に記載された動作は異なる順序で実行することができ、それでも所望の結果を得ることができる。加えて、添付の図面に描かれたプロセスは、所望の結果を達成するために必ずしも特定の順序で示されているとは限らない。いくつかの実施形態において、マルチタスク処理および並列処理が有利なことがある。
1990年代においては、技術がハードウェアの観点から改善されている(たとえば、ダイオード、トランジスタ、またはスイッチの回路構造が改善されている)のか、ソフトウェアの観点から改善されている(方法手順が改善されている)のかは明らかに識別することができる。しかしながら、技術が発展するにつれて、多くの現在の方法手順における改良はハードウェア回路構造における直接的な改良とみなすことができる。ほとんどすべての設計者は、改良された方法手順をハードウェア回路にプログラムすることによって、対応するハードウェア回路構造を得る。したがって、方法手順における改善は、ハードウェアエンティティモジュールを用いて実現することができないということを意味しない。たとえば、フィールドプログラマブルゲートアレイ(FPGA)などのプログラマブルロジックデバイス(PLD)はそのような集積回路であり、その論理機能はユーザによってデバイスをプログラミングすることによって決定される。設計人員は、専用集積回路チップの設計および製造をチップ製造者に要求することなく、プログラミングを通してデジタルシステムを単一のPLDに「統合する」。加えて、現在のところ、集積回路チップを手作業で製造する代わりに、プログラミングはほとんど「論理コンパイラ」ソフトウェアによって実施され、これは、プログラムの開発および作成に用いられるソフトウェアコンパイラに似ている。元のコードも特定のプログラミング言語を用いて書かれており、これはハードウェア記述言語(HDL)と呼ばれている。アドバンストブール演算式言語(ABEL)、アルテラハードウェア記述言語(AHDL)、コンフルエンス、コーネル大学プログラミング言語(CUPL)、HDCal、Java(登録商標)ハードウェア記述言語(JHDL)、Lava、Lola、MyHDL、PALASM、およびRubyハードウェア記述言語(RHDL)など、多くのHDLがある。超高速集積回路ハードウェア記述言語(VHDL)およびヴェリログが現在最も一般的に用いられている。論理的方法手順のハードウェア回路は、いくつかの先に記載したハードウェア記述言語を通じてこの方法手順に論理的なプログラミングを実行し、この方法手順を集積回路にプログラムすることによって容易に得ることができるということも当業者にとって明らかのはずである。
任意の適切な方法でコントローラを実装することができる。たとえば、コントローラは、マイクロプロセッサまたはプロセッサ、およびマイクロプロセッサもしくはプロセッサによって実行することができるコンピュータ可読プログラムコード(ソフトウェアまたはファームウェアなど)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、および内蔵マイクロコントローラの形態を取ることができる。コントローラの例には、以下のマイクロコントローラが含まれるが、これらに限定されない。すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicon Labs C8051F320である。メモリの制御ロジックの一部としてメモリコントローラを実装することもできる。当業者はまた、コンピュータ可読プログラムコードを用いてコントローラを実装することに加え、論理プログラミングを方法のステップに実行することができ、これにより論理ゲート、スイッチ、プログラマブルロジックコントローラ、内蔵マイクロコントローラなどの形態でコントローラが同じ機能を実現することが可能になるということを知っている。したがって、そのようなコントローラはハードウェアコンポーネントとみなすことができる。コントローラに含まれて様々な機能を実現するように構成された装置はハードウェアコンポーネントにおける構造とみなすことができる。あるいは、様々な機能を実現するように構成された装置は、方法を実行するソフトウェアモジュールと、ハードウェアコンポーネントにおける構造の両方とみなすことさえできる。
上の実施形態において説明したシステム、装置、モジュールまたはユニットは、コンピュータチップまたはエンティティによって実現することができ、または特定の機能を備えた製品によって実現することができる。典型的な実施装置はコンピュータである。コンピュータは、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、インテリジェントフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらの組み合わせであってもよい。
説明を容易にするために、この装置は、様々なユニットに機能を分割することによって説明されている。もちろん、本願が実施されるとき、すべてのユニットの機能は1つまたは複数のソフトウェアおよび/またはハードウェアにおいて実現することができる。
当業者は、本開示の実施形態は、方法、システム、またはコンピュータプログラム製品として提供することができるということを理解すべきである。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせを用いた実施形態という形態を用いることができる。また、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクメモリ、CD-ROM、光メモリなどを含むがこれらに限定されない)上に実装されるコンピュータプログラム製品の形態を用いることができる。
本開示は、本開示の実施形態に基づく方法、装置(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明している。フローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組み合わせを実現するためにコンピュータプログラム命令を用いることができるということが理解されるべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または機械を生成するための任意の他のプログラム可能データ処理装置のプロセッサに提供することができるので、コンピュータまたは任意の他のプログラム可能データ処理装置のプロセッサによって実行される命令は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現するための装置を生成する。
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラム可能データ処理装置に特定の方法で動作するように命令することができるコンピュータ可読メモリに格納することができるので、コンピュータ可読メモリに格納された命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現する。
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置上で一連の動作およびステップが実行されるように、コンピュータまたは他のプログラム可能装置にロードすることができ、これによってコンピュータ実施処理が生成される。したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャート中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実現するためのステップを提供する。
典型的な構成において、コンピューティングデバイスが、1つまたは複数のプロセッサ(CPU)と、入力/出力インタフェースと、ネットワークインタフェースと、メモリと、を含む。
メモリは、非永続メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/またはコンピュータ可読媒体、たとえば、リードオンリーメモリ(ROM)またはフラッシュメモリにおける他の形態を含むことができる。メモリはコンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術を用いて情報を格納することができる永続、非永続、移動可能、および移動不能の媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであってもよい。コンピュータ記憶媒体の例には、パラメータランダムアクセスメモリ(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、他のタイプのRAM、ROM、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスクROM(CD-ROM)、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセットテープ、磁気テープディスク記憶装置または他の磁気記憶装置、またはコンピューティングデバイスによってアクセスすることができる情報を格納するために用いることができる任意の他の非一時的媒体が含まれるが、これらに限定されない。本明細書における定義に基づいて、コンピュータ可読媒体は、変調データ信号および搬送波などのコンピュータ可読一時的媒体(一時的媒体)を含まない。
「含む」、「有する」という用語、またはそれらの任意の他の変形は、非排他的な包含を網羅することを意図しているので、一連の要素を含むプロセス、方法、商品、または装置はこれらの要素を含むだけでなく、明示的に列挙されていない他の要素をも含み、またはそのようなプロセス、方法、商品、または装置に固有の要素をさらに含むということに留意されたい。より多くの制約がなければ、「・・・を含む」によって説明した要素は、その要素を含むプロセス、方法、商品、または装置におけるもう1つの同一の要素をさらに含む。
本願は、コンピュータ、たとえば、プログラムモジュールによって実行される実行可能コンピュータ命令の一般的な文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散コンピューティング環境においても実施することができる。これらの分散コンピューティング環境においては、通信ネットワークを通じて接続された遠隔処理装置によってタスクが実行される。分散コンピューティング環境において、プログラムモジュールは、記憶装置を含むローカルおよびリモートコンピュータ記憶媒体に配置することができる。
本明細書における実施形態は漸進的な方法で記載されている。実施形態における同一または類似の部分については、これらの実施形態を参照することができる。各実施形態は他の実施形態との違いに焦点を当てている。特に、システムの実施形態は方法の実施形態と類似しており、したがって、簡単に説明している。関連部分について、方法の実施形態における部分的な説明を参照することができる。
前の実施形態は単に本願の実施形態に過ぎず、本願を限定することを意図していない。当業者は本願に対して様々な修正および変更を行うことができる。本願の精神および原理から逸脱することなくなされたいかなる修正、均等な置換、または改良も、本願の特許請求の範囲内に含まれるものとする。
図7は、本開示の一実施形態による、ブロックチェーンを基にしたデータ処理のためのコンピュータ実装方法700の一例を示すフローチャートである。提示を明確にするために、以下の説明は、この説明における他の図の文脈において方法700を一般的に説明している。しかしながら、方法700は、たとえば、必要に応じて、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって実行することができるということが理解されよう。いくつかの実施形態において、方法700の様々なステップを並行して、組み合わせて、ループで、または任意の順序で実行することができる。
702で、本解決策が適用されるべきブロックチェーンネットワークが特定される。特定されたブロックチェーンネットワークはいくつかの例においては複数のブロックを含むが、いくつかのブロックチェーンネットワークにおいては単一のブロックが含まれていてもよい。ブロックチェーンネットワーク内のブロックは既存のブロックのセットであってもよく、いくつかの例においては、ブロックの1つまたは複数が新たに生成されてもよい。いくつかの例において、各ブロックはサービスデータを含む、または保存することができる。ブロックチェーンネットワークの特定は、自動または手動の特定に基づいていてもよく、任意の適切なソフトウェアアプリケーション、オペレーティングシステム、サービス、またはプラットフォームによって、またはこれらを用いて実行することができる。この解決策を実行する際に、これらの複数のブロックの中のブロックのそれぞれが動作704〜動作716に従って処理される。702から、方法700は704に進む。
704で、特定のブロックの識別子が決定される。各特定のブロックは特定の一意の識別子に関連することができる。換言すれば、ブロックチェーンネットワーク内の各ブロックは他のすべてのブロック識別子と異なる識別子を有する。
いくつかの例において、特定のブロックの識別子の決定は既存のブロック識別子を識別することによって実行される。他の例において、特定のブロックに関連したダイジェスト情報を取得することができる。ブロックのダイジェスト情報は、たとえば、難易値(数学的問題の難易度の目標など)、ナンス値(その数学的問題への回答を記録する値など)、またはこの開示と一致する他の情報を含むことができる。取得されたダイジェスト情報の少なくとも一部を用いて、識別子を生成することができる。たとえば、指定されたアルゴリズムを用いてダイジェスト情報の少なくとも一部に適用し、対応する識別子を計算することができる。計算の結果は、いくつかの例において、特定のブロックの識別子として用いることができる。指定されたアルゴリズムは、たとえば、とりわけ、ハッシュアルゴリズムまたはSHA256アルゴリズムであってもよい。704から、方法700は706に進む。
706で、特定のブロックに保存されているサービスデータの識別子が決定される。いくつかの例において、特定のブロックはサービスデータに関連していないか、サービスデータを含まないことがある。いくつかの例において、サービスデータの識別子を決定することは、下にあるサービスデータのハッシュ値に基づいてサービスデータの識別子を決定することを含むことができる。サービスデータのハッシュ値は、サービスデータに対応する文字列に対してハッシュ計算を実行することによって取得することができ、結果のハッシュ値はサービスデータの識別子として用いられる。サービスデータ識別子は、いくつかの例において、サービスデータを一意に識別することができる。
サービスデータは、特定のブロックに保存されているサービスデータであっても、現在のところブロックに保存されていないサービスデータであってもよい。サービスデータがブロックに保存される前に、サービスデータはサービスデータテーブルに保存することができる。いくつかの例において、サービスデータテーブルは各サービスデータ識別子について保存状態を含むことができ、ここで保存状態は、サービスデータが特定のブロックに保存されているかいないかを識別することができる。サービスデータが特定のブロックに保存されていれば、サービスデータテーブル内の保存状態はそのように示すことができる。706から、方法700は708に進む。
708で、ブロックに保存されているサービスデータに基づいて特定のブロックの状態値を取得することができる。一例において、特定のブロックに保存されているサービスデータに基づいてブロックの状態値を取得するために、追加の動作を実行することができる。一例において、特定のブロックの状態値はバケットツリーに基づいて取得することができる。まず、マークルツリーを構築することができ、ブロックに保存されているサービスデータはマークルツリーのリーフノードとして用いることができる。次に、各リーフノード(すなわち、サービスデータ)のハッシュ値が決定される。マークルツリーのルートノードのハッシュ値を取得するための計算が次いで実行される。マークルツリーのルートノードの取得されたハッシュ値を特定のブロックの状態値として用いることができる。
図7には示していないが、状態値が取得された後、特定のブロックの識別子、状態値、および前のブロックの識別子の間のマッピング関係を確立することができ、このマッピング関係はブロックデータテーブルに保存される。図2は、前述したが、一実施形態におけるブロックデータテーブルに対応するテーブル構造の一例を示している。ブロックデータテーブルは、以下のいくつかまたはすべての追加情報を含むことができ、またはいずれも含まなくてもよい。すなわち、特定のブロックのバージョン番号、特定のブロックの生成時間、および特定のブロックの高さ値である。ブロックチェーンネットワーク内の各ブロックについての情報は、ブロックデータテーブルを用いて迅速かつ効率的に取得することができる。
図7に戻ると、710で、特定のブロックの識別子とブロックに保存されているサービスデータの識別子との間の第1のマッピング関係を確立することができる。712で、確立された第1のマッピング関係をリレーショナルデータベースに保存することができる。いくつかの例において、708で状態値が取得された場合、状態値も、第1のマッピング関係に含められ、リレーショナルデータベースに保存されてもよい。図4に示すように、リレーショナルデータベースは、特定のブロックの識別子、特定のブロックの状態値、およびブロックに保存されているサービスデータの識別子を保存することができる。さらに、図5は、ブロックチェーンネットワークの非リレーショナルデータをデータのリレーショナルセットに変換するブロックチェーンを基にしたデータ処理方法の一例のシナリオを示している。712から、方法700は714に進む。
714において、サービスデータの識別子が決定された後、サービスデータの識別子とサービスデータを有するまたは保存する特定のブロックの識別子との間の第2のマッピング関係を確立することができる。716で、第2のマッピング関係をサービスデータテーブルに保存することができる。図3は、一実施形態におけるサービスデータテーブルの一例のテーブル構造を示している。サービスデータの識別子およびサービスデータを保存する特定のブロックの識別子に加え、サービスデータテーブルに、以下のいくつかまたはすべてを含むがこれらに限定されない追加情報が含まれてもよく、またはいずれも含まれなくてもよい。すなわち、とりわけ、サービスデータのバージョン番号、サービスデータのサービスタイプ、サービスデータにおけるイニシエータの公開鍵、サービスデータの発生時間、サービスデータにおけるデジタル署名(イニシエータの秘密鍵で署名されたものなど)、サービスデータのデータ内容、およびサービスデータの保存状態である。
いくつかの実施形態において、特定のブロックの識別子とそれらのブロックに保存されているサービスデータの識別子との間のマッピング関係を、ブロックデータテーブルに含まれるマッピング関係とサービステーブルデータに含まれるマッピング関係とに基づいて確立することができる。
ブロックチェーンネットワーク内の各ブロックについて説明したプロセスを用いて、ブロックチェーンネットワークに保存されているサービスデータは、図5の図に示すように、非リレーショナルデータからリレーショナルデータに変換される。リレーショナルデータはリレーショナルデータベースに保存され、これにより、データ保存/回復(たとえば、データ保存/回復効率、セキュリティ、速度、または精度)、ブロックチェーンネットワークのトランザクション処理能力の向上(たとえば、データ分析/データ計算速度、精度、または効率)、およびブロックチェーンネットワークシステム能力(たとえば、全体的な計算/データ送信のセキュリティ、効率、または速度)を強化することができる。
いくつかの例において、702〜716の動作は最初に実行することができる。しかしながら、ブロックチェーンネットワークに追加の新たなデータブロックを生成することができ、または新たなサービスデータを生成することができる。718で、ブロックチェーンネットワーク内に新たなブロックまたは新たなサービスデータが生成されたかどうかについての判断が行われる。新たなブロックが生成されたと判定されれば、方法700は720に進む。そうではなく、新たなサービスデータが生成されたと判定されれば、方法700は730に進む。新たなブロックも新たなサービスデータも生成されなければ、方法700は718で待機するか、終了することができる。
720で、新たなブロックが生成されたとの判定に応じて、その新たに生成されたブロックの識別子が決定される。この識別子の決定は、いくつかの例において、704の決定と同様であってもよい。720から、方法700は722に進む。
新たに生成されたブロックの識別子の決定に応じて、ブロックデータテーブルおよびリレーショナルデータベースの少なくとも1つが、決定された識別子に基づいて722で同期的に更新される。ブロックデータテーブルを更新するために、新たに決定された識別子についての新たなエントリを、ブロックチェーンネットワーク内の前のブロックの識別子とともに挿入することができる。新たに生成されたブロックの状態値などの追加情報を、ブロックの高さ値に関する情報と同様に、ブロックデータテーブルに追加することができる。ブロックデータテーブルには他の適切な情報を含めることができる。リレーショナルデータベースを更新するために、新たに生成されたブロックに関連するデータベース内の新たなエントリを追加することができる。いくつかの例において、新たに生成されたブロックはサービスデータに関連していてもよく、そのサービスデータの識別子はデータベースに含めることができる。他の例において、ブロック識別子のみをこの時点で追加することができる。更新が完了すると、方法700は終了するか、718に戻ることができる。
730で、新たに生成されたサービスデータの識別子が決定される。730から、方法700は732に進む。732で、新たに生成されたサービスデータの決定された識別子と新たなサービスデータを保存するブロックの識別子との間のマッピング関係が確立される。734で、確立されたマッピング関係に基づいて、サービスデータテーブルまたはリレーショナルデータベースの少なくとも1つが同期的に更新される。いくつかの例において、新たに生成されたサービスデータはサービスデータテーブルに保存することができる。しかしながら、サービスデータが未連結であるか、そうでなければまだ対応するブロックに保存されていなければ、サービスデータテーブルのみを更新することができる。サービスデータが対応するブロックに保存されていれば、または一旦保存されると、サービスデータテーブルはそれに応じて更新される。サービスデータテーブル情報を用いて、またはサービスデータ自体についての情報を用いて、リレーショナルデータベースは、サービスデータの識別子と対応するブロックの識別子との間の関係に基づいて更新することができる。
この明細書において説明した実施態様および動作は、デジタル電子回路において、またはこの明細書において開示された構造を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つまたは複数の組み合わせにおいて実施することができる。これらの動作は、1つまたは複数のコンピュータ可読記憶装置上に格納された、または他のソースから受信されたデータに関してデータ処理装置によって実行される動作として実施することができる。データ処理装置、コンピュータ、またはコンピューティングデバイスは、データを処理するための装置、デバイス、およびマシンを包含することができ、例としてプログラマブルプロセッサ、コンピュータ、チップ上のシステム、または前述のものの複数のもの、もしくは組み合わせを含む。この装置は、専用論理回路、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含むことができる。この装置は、問題のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえばオペレーティングシステムまたはオペレーティングシステムの組み合わせ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組み合わせを構成するコードも含むことができる。この装置と実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られている)は、コンパイルまたはインタプリタされた言語、宣言型または手続き型言語を含む任意の形態のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュールとして、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットを含む任意の形態でデプロイすることができる。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)を保持するファイルの一部に、問題のプログラム専用の単一ファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置された、もしくは複数のサイトにわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行することができる。
コンピュータプログラムを実行するためのプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスと、である。一般に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置を含むか、またはそこからデータを受信もしくはそこへデータを転送、もしくは両方をするように動作可能に結合されることになる。コンピュータは、他のデバイス、たとえば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスに組み込むことができる。コンピュータプログラムの命令およびデータを格納するのに適したデバイスには、不揮発性メモリ、メディア、および、例として、半導体メモリデバイス、磁気ディスク、および光磁気ディスクを含むメモリデバイスが含まれる。プロセッサおよびメモリは、専用のロジック回路によって補完する、またはここに組み込むことができる。
モバイルデバイスには、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマートメガネ)、人体に埋め込まれたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスが含まれる。これらのモバイルデバイスは、様々な通信ネットワーク(以下で説明)に対して無線で(たとえば、無線周波数(RF)信号を用いて)通信することができる。モバイルデバイスは、そのモバイルデバイスの現在の環境の特性を判断するためのセンサを含むことができる。センサには、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、環境光センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよび携帯無線)、温度センサ、または他のタイプのセンサが含まれる。たとえば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを備えた前方または後方カメラを含む。カメラは、顔および/または虹彩認識のための詳細をキャプチャすることができるメガピクセルカメラであってもよい。カメラは、データプロセッサ、およびメモリに格納された、または遠隔でアクセスされた認証情報とともに、顔認識システムを形成することができる。顔認識システムまたは1つまたは複数のセンサ、たとえば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、またはRFセンサは、ユーザ認証に用いることができる。
ユーザとの相互作用を提供するために、実施態様は、ディスプレイデバイスおよび入力デバイス、たとえば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイおよびタッチスクリーン、キーボード、およびユーザがコンピュータに入力を提供することができるポインティングデバイスを有するコンピュータ上で実施することができる。他の種類のデバイスを用いて、ユーザとの相互作用を提供することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚の入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって用いられるデバイスとの間で文書を送受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受信された要求に応じてウェブページを送信することによってユーザと相互作用することができる。
実施態様は、有線または無線デジタルデータ通信(またはそれらの組み合わせ)の任意の形態または媒体、たとえば、通信ネットワークによって相互接続されたコンピューティングデバイスを用いて実施することができる。相互接続されたデバイスの例には、通常は通信ネットワークを介して相互作用する一般的に互いに遠隔なクライアントおよびサーバがある。クライアント、たとえば、モバイルデバイスは、自身で、サーバとともに、またはサーバを介してトランザクション、たとえば、購入、販売、支払い、贈与、送信、またはローン取引を実行、またはこれらを承認することができる。そのようなトランザクションは、アクションおよび応答が時間的に近接するように瞬時にできる。たとえばある人が、アクションおよび応答が実質的に同時に起こることを認め、その個人のアクションに続く応答の時間差が1ミリ秒(ms)未満または1秒(s)未満であり、または応答はシステムの処理制限を考慮して意図的な遅延がない。
通信ネットワークの例には、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)が含まれる。通信ネットワークは、インターネットのすべてまたは一部、他の通信ネットワーク、または通信ネットワークの組み合わせを含むことができる。情報は、ロングタームエボリューション(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルまたはプロトコルの組み合わせを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信することができる。通信ネットワークは、接続されたコンピューティングデバイス間で音声、ビデオ、バイオメトリック、または認証データ、または他の情報を送信することができる。
個別の実施形態として説明した特徴は、組み合わせて、単一の実施形態において、実施することができる一方、単一の実施形態として説明した特徴は、複数の実施形態において、個別で、または任意の適切なサブの組み合わせにおいて実施することができる。特定の順序で説明およびクレームした動作は、この特定の順序も、すべての図示した動作も実行しなければならないということが要求されるとして理解されるべきではない(いくつかの動作は任意選択することができる)。必要に応じて、マルチタスクまたは並列処理(またはマルチタスクと並列処理の組み合わせ)を実行することができる。
601 決定ユニット
602 処理ユニット
603 計算ユニット
604 第1の確立ユニット
605 第2の確立ユニット
606 同期ユニット
607 更新ユニット

Claims (12)

  1. ブロックチェーンを基にしたデータを処理するための方法であって、
    ブロックチェーンネットワーク内の各ブロックの第1の識別子を決定するステップ(101)と、
    各ブロックに保存されているサービスデータの第2の識別子を決定するステップ(103)と、
    前記ブロックの前記第1の識別子と前記ブロックに保存されている前記サービスデータの前記第2の識別子との間のマッピング関係を各ブロックについて確立するステップと、
    前記マッピング関係をリレーショナルデータベースに保存するステップ(105)と、
    を含む、方法。
  2. ブロックチェーンネットワーク内の各ブロックの識別子を決定するステップは、
    前記ブロックチェーンネットワーク内の各ブロックについて以下のステップ、すなわち、
    前記ブロックのダイジェスト情報に基づいて前記ブロックの前記識別子を取得するステップ、を実行するステップ
    を含む、請求項1に記載の方法。
  3. 前記ブロックに保存されている前記サービスデータに基づいて前記ブロックの状態値を取得するステップ
    をさらに含み、
    前記ブロックの前記識別子と前記ブロックに保存されている前記サービスデータの前記識別子との間のマッピング関係を確立する前記ステップは、
    前記ブロックの前記識別子、前記状態値、および前記ブロックに保存されている前記サービスデータの前記識別子の間のマッピング関係を確立するステップ
    を含む、請求項2に記載の方法。
  4. 前記ブロックの前記状態値が取得された後、前記ブロックの前記識別子、前記状態値、および前のブロックの識別子の間の第1のマッピング関係を確立するステップと、
    前記第1のマッピング関係をブロックデータテーブルに保存するステップと、
    をさらに含む、請求項3に記載の方法。
  5. 各ブロックに保存されているサービスデータの識別子を決定する前記ステップは、
    前記ブロックに保存されている前記サービスデータについて以下のステップ、すなわち、
    前記サービスデータのハッシュ値に基づいて前記サービスデータの前記識別子を決定するステップ、を実行するステップ
    を含む、請求項2に記載の方法。
  6. 前記サービスデータの前記識別子が取得された後、前記サービスデータの前記識別子と前記サービスデータを有する前記ブロックの前記識別子との間の第2のマッピング関係を確立するステップと、
    前記第2のマッピング関係をサービスデータテーブルに保存するステップと、
    をさらに含む、請求項5に記載の方法。
  7. 前記ブロックの前記識別子と前記ブロックに保存されている前記サービスデータの前記識別子との間のマッピング関係を確立する前記ステップは、
    ブロックデータテーブルに含まれる第1のマッピング関係とサービスデータテーブルに含まれる第2のマッピング関係とに基づいて、前記ブロックの前記識別子と前記ブロックに保存されている前記サービスデータの前記識別子との間のマッピング関係を確立するステップ
    を含む、請求項4または6に記載の方法。
  8. 新たなブロックが生成されると、新たに生成されたブロックの識別子を決定するステップと、
    前記新たに生成されたブロックの前記識別子に基づいて、ブロックデータテーブルおよび/または前記リレーショナルデータベースを同期的に更新するステップと、
    をさらに含む、請求項4から7のいずれか一項に記載の方法。
  9. ブロックデータテーブルは、各ブロックのバージョン番号、各ブロックの生成時間、および各ブロックの高さ値をさらに含む、請求項4から8のいずれか一項に記載の方法。
  10. 前記ブロック識別子を前記ブロックデータテーブル内のインデックスとして用いて、非リレーショナルデータをリレーショナルデータに変換するステップ
    をさらに含む、請求項4から8のいずれか一項に記載の方法。
  11. 新たなサービスデータが生成されると、新たに生成されたサービスデータの識別子を決定するステップと、
    前記新たなサービスデータがブロックに保存されると、前記新たに生成されたサービスデータの前記識別子と前記新たなサービスデータを有するブロックの識別子との間のマッピング関係を確立するステップと、
    前記マッピング関係に基づいて、サービスデータテーブルおよび/または前記リレーショナルデータベースを同期的に更新するステップと、
    をさらに含む、請求項1から9のいずれか一項に記載の方法。
  12. ブロックチェーンを基にしたデータを処理するための装置であって、請求項1から11のいずれか一項に記載の方法を実行するように構成された複数のモジュールを含む、装置。
JP2019538133A 2017-07-14 2018-07-13 ブロックチェーンを基にしたデータ処理方法および装置 Active JP6884870B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710574373.3 2017-07-14
CN201710574373.3A CN107562775B (zh) 2017-07-14 2017-07-14 一种基于区块链的数据处理方法及设备
PCT/US2018/042084 WO2019014592A1 (en) 2017-07-14 2018-07-13 METHOD AND DEVICE FOR PROCESSING DATA BASED ON BLOCK CHAIN

Publications (2)

Publication Number Publication Date
JP2020512611A true JP2020512611A (ja) 2020-04-23
JP6884870B2 JP6884870B2 (ja) 2021-06-09

Family

ID=60973113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538133A Active JP6884870B2 (ja) 2017-07-14 2018-07-13 ブロックチェーンを基にしたデータ処理方法および装置

Country Status (8)

Country Link
US (2) US10789270B2 (ja)
JP (1) JP6884870B2 (ja)
KR (1) KR102377347B1 (ja)
CN (1) CN107562775B (ja)
PH (1) PH12019501624A1 (ja)
SG (1) SG11201906395PA (ja)
TW (1) TWI718375B (ja)
WO (1) WO2019014592A1 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562775B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
US10614253B2 (en) * 2018-02-14 2020-04-07 Fortune Vieyra Systems and methods for state of data management
CN110401715B (zh) * 2018-04-27 2021-03-19 腾讯科技(深圳)有限公司 资源收集任务管理方法、装置、存储介质及系统
CN108646983B (zh) * 2018-05-08 2021-04-06 北京融链科技有限公司 在区块链上存储业务数据的处理方法和装置
CN108647101A (zh) * 2018-05-09 2018-10-12 深圳壹账通智能科技有限公司 区块链上用户通信方法、装置、终端设备及存储介质
CN108829725B (zh) * 2018-05-09 2021-06-25 深圳壹账通智能科技有限公司 区块链上用户通信方法、装置、终端设备及存储介质
CN110633389A (zh) * 2018-05-31 2019-12-31 阿里巴巴集团控股有限公司 区块链数据的处理方法、装置、系统以及电子设备
CN108765159B (zh) * 2018-06-04 2022-07-15 杭州溪塔科技有限公司 一种基于区块链的上链与状态处理方法、装置及互联系统
CN108984662B (zh) * 2018-06-28 2021-02-09 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109063016A (zh) * 2018-07-11 2018-12-21 物数(上海)信息科技有限公司 区块链数据储存方法、装置、电子设备、存储介质
CN109408551B (zh) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 数据查询方法及系统、共识方法及系统、设备和存储介质
CN109359222B (zh) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 数据存储方法及系统、设备和存储介质
CN109101835A (zh) * 2018-08-08 2018-12-28 苏州酷外文化传媒有限公司 基于区块链的相亲交友平台的信息安全管理方法及装置
CN109274752A (zh) * 2018-10-10 2019-01-25 腾讯科技(深圳)有限公司 区块链数据的访问方法及装置、电子设备、存储介质
CN109542945B (zh) * 2018-10-19 2023-09-22 平安科技(深圳)有限公司 区块链数据统计分析方法、装置及存储介质
CN109657440B (zh) * 2018-11-01 2020-11-27 创新先进技术有限公司 基于区块链的生物特征信息处理方法和装置、终端设备
CN110011800B (zh) 2018-11-07 2020-04-14 阿里巴巴集团控股有限公司 一种区块链数据读取方法及装置
CN109697249A (zh) * 2018-12-07 2019-04-30 深圳市云歌人工智能技术有限公司 搜索目标对象以及发布对象的方法、系统以及存储介质
CN109684414B (zh) * 2018-12-26 2022-04-08 百度在线网络技术(北京)有限公司 区块数据的同步方法、装置、设备及存储介质
CN109710190B (zh) * 2018-12-26 2022-03-08 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
US10459990B1 (en) * 2018-12-27 2019-10-29 Silver Rocket Data Technology (Shanghai) Co., Ltd Data processing method and device, medium and terminal thereof
CN111475309A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理方法、装置、区块链服务系统及存储介质
CN110020548B (zh) * 2019-01-31 2020-04-28 阿里巴巴集团控股有限公司 一种对写入块链的交易进行隐匿的方法及装置
CN110084594A (zh) * 2019-04-01 2019-08-02 杜晓楠 一种通过闪电网络的区块链交易方法和装置
US10990705B2 (en) * 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
KR102542631B1 (ko) * 2019-04-18 2023-06-13 라인플러스 주식회사 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템
CN113711536B (zh) 2019-04-24 2023-09-15 国际商业机器公司 从区块链网络中提取数据
CN110096522B (zh) * 2019-05-15 2023-07-28 西安电子科技大学 一种支持关系型检索的区块链数据处理方法、装置及设备
US10929570B2 (en) 2019-05-17 2021-02-23 Advanced New Technologies Co., Ltd. Method, apparatus, and electronic device for blockchain-based infringement evidence storage
CN110275892B (zh) * 2019-05-22 2022-08-19 深圳壹账通智能科技有限公司 面向区块链的数据管理方法、装置、设备及存储介质
EP3688930B1 (en) * 2019-07-02 2021-10-20 Advanced New Technologies Co., Ltd. System and method for issuing verifiable claims
CN116910726A (zh) 2019-07-02 2023-10-20 创新先进技术有限公司 用于将去中心化标识映射到真实实体的系统和方法
CN111066020B (zh) * 2019-07-02 2023-08-04 创新先进技术有限公司 用于创建去中心化标识的系统和方法
CN111095327B (zh) 2019-07-02 2023-11-17 创新先进技术有限公司 用于验证可验证声明的系统和方法
CN111213147B (zh) 2019-07-02 2023-10-13 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN111316303B (zh) 2019-07-02 2023-11-10 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN113535720A (zh) * 2019-07-29 2021-10-22 创新先进技术有限公司 一种块链式账本中的索引创建方法、装置及设备
US10795874B2 (en) 2019-07-29 2020-10-06 Alibaba Group Holding Limited Creating index in blockchain-type ledger
CN110489420A (zh) * 2019-08-14 2019-11-22 深圳前海微众银行股份有限公司 一种基于区块链的数据处理方法及装置
CN110489234A (zh) * 2019-08-16 2019-11-22 中国银行股份有限公司 区块链层的报文处理方法、装置、设备及可读存储介质
CN110689344B (zh) * 2019-08-30 2021-04-09 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110677462B (zh) * 2019-09-09 2022-07-12 上海共链信息科技有限公司 多区块链网络的访问处理方法、系统、装置及存储介质
CN110674140B (zh) * 2019-09-29 2022-04-15 腾讯科技(深圳)有限公司 基于区块链的内容处理方法、装置、设备及存储介质
KR102275389B1 (ko) * 2019-10-22 2021-07-08 한국항공대학교산학협력단 블록 동기화 과정 생략 및 원격 저장소 제공을 위한 분산파일시스템 활용 블록 데이터 매핑 방법 및 노드 장치
KR102334922B1 (ko) * 2019-11-04 2021-12-03 주식회사 에이젠글로벌 블록체인 기반의 데이터 모델 생성 시스템
CN110941611B (zh) * 2019-11-06 2022-04-15 四川长虹电器股份有限公司 基于区块链技术和标识编码技术的标识解析系统实现方法
AU2019323042C1 (en) 2019-11-06 2022-07-21 Alipay (Hangzhou) Information Technology Co., Ltd. Consenus of shared blockchain data storage based on error correction code
KR102274656B1 (ko) * 2019-11-22 2021-07-09 주식회사 티맥스엔터프라이즈 블록체인 네트워크에서 데이터를 관리하기 위한 기법
CN111190936B (zh) * 2019-12-12 2022-11-15 中国科学院计算机网络信息中心 一种基于区块链技术的可信标识关联关系查询方法及相应存储介质与电子装置
CN111124554A (zh) * 2019-12-23 2020-05-08 深圳市元征科技股份有限公司 一种数据处理方法及相关产品
CN111324613B (zh) * 2020-03-13 2021-03-26 华东师范大学 一种面向联盟链的分片内数据组织管理方法
CN111427892B (zh) * 2020-03-25 2022-11-25 中国电子科技集团公司第二十八研究所 一种活动目标的活动数据区块化管理方法及设备
WO2020143852A2 (en) * 2020-04-15 2020-07-16 Alipay (Hangzhou) Information Technology Co., Ltd. Distributed blockchain data storage under account model
SG11202103246SA (en) 2020-04-20 2021-04-29 Alipay Hangzhou Inf Tech Co Ltd Distributed blockchain data storage under account model
CN111680050B (zh) * 2020-05-25 2023-09-26 杭州趣链科技有限公司 一种联盟链数据的分片处理方法、设备和存储介质
US11671262B2 (en) * 2020-05-29 2023-06-06 Microsoft Technology Licensing, Llc Asynchronously determining relational data integrity using cryptographic data structures
CN113315801B (zh) * 2020-06-08 2024-06-04 阿里巴巴集团控股有限公司 存储区块链数据的方法和系统
CN112131266B (zh) * 2020-08-12 2023-06-13 迅鳐成都科技有限公司 一种支持区块链复杂查询的方法、装置、系统及存储介质
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
KR102435349B1 (ko) * 2021-11-05 2022-08-23 주식회사 스마트엠투엠 프라이빗 블록체인 기반의 비식별화된 센싱 데이터 처리 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017109140A1 (en) * 2015-12-22 2017-06-29 Bigchaindb Gmbh Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
JP2017123692A (ja) * 2017-03-22 2017-07-13 株式会社bitFlyer 存在証明装置、存在証明方法、及びそのためのプログラム

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US20050071640A1 (en) * 2003-09-25 2005-03-31 General Instrument Corporation Method and apparatus for authenticating data
EP1664204B1 (en) * 2003-09-26 2011-03-30 Basf Se Ir reflective pigment compositions
US9235595B2 (en) * 2009-10-02 2016-01-12 Symantec Corporation Storage replication systems and methods
CN102402394B (zh) 2010-09-13 2014-10-22 腾讯科技(深圳)有限公司 一种基于哈希算法的数据存储方法及装置
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
CN103309818B (zh) 2012-03-09 2015-07-29 腾讯科技(深圳)有限公司 存储数据的方法及装置
CN103365865B (zh) 2012-03-29 2017-07-11 腾讯科技(深圳)有限公司 数据存储方法、数据下载方法及其装置
CN104636392B (zh) 2013-11-13 2018-07-27 腾讯科技(北京)有限公司 进行推荐信息下发的方法、系统、服务器及浏览器
US9589122B2 (en) 2013-11-19 2017-03-07 Tencent Technology (Shenzhen) Company Limited Operation processing method and device
CN104751335B (zh) 2013-12-31 2017-07-21 腾讯科技(深圳)有限公司 业务处理方法、装置及终端
CN104954322B (zh) 2014-03-25 2019-10-22 腾讯科技(深圳)有限公司 一种账号的绑定处理方法、装置及系统
KR101696338B1 (ko) * 2015-02-16 2017-01-13 네이버 주식회사 컬럼-인덱스 데이터 포맷을 이용하여 빅데이터를 효율적으로 처리 및 분석하는 시스템 및 방법
EP3278287A4 (en) 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10346826B2 (en) 2015-07-28 2019-07-09 Wesley John Boudville Blockchain and deep links for mobile apps
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
US9792101B2 (en) * 2015-11-10 2017-10-17 Wesley John Boudville Capacity and automated de-install of linket mobile apps with deep links
US20170132630A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
CN105740440B (zh) 2016-02-01 2019-03-26 上海凭安网络科技有限公司 一种加快区块链查询的索引方法
US20170324711A1 (en) 2016-05-03 2017-11-09 The Real Mccoy, Llc Inc. Method for establishing, securing and transferring computer readable information using peer-to-peer public and private key cryptography
CN106445993A (zh) * 2016-07-11 2017-02-22 天津米游科技有限公司 一种基于区块链的数据指纹查询方法及装置
EP3276907B1 (en) * 2016-07-29 2024-05-08 Rohde & Schwarz GmbH & Co. KG A method and apparatus for testing a security of communication of a device under test
CN106383754A (zh) * 2016-09-19 2017-02-08 北京众享比特科技有限公司 一种基于区块链技术的数据库备份、恢复方法和系统
CN106682984B (zh) 2016-10-27 2019-09-10 深圳壹账通智能科技有限公司 基于区块链的交易事务处理方法及系统
US10942956B2 (en) 2016-10-27 2021-03-09 International Business Machines Corporation Detecting medical fraud and medical misuse using a shared virtual ledger
CN106991334B (zh) * 2016-11-24 2021-03-02 创新先进技术有限公司 一种数据存取的方法、系统及装置
TWM543413U (zh) * 2016-12-05 2017-06-11 Taiwan United Financial Technology Co Ltd 利用區塊鏈技術進行交易的網路借貸平台
CN106874393A (zh) * 2017-01-13 2017-06-20 北京众享比特科技有限公司 基于区块链的业务数据同步方法及系统、数据库系统
TWM542178U (zh) * 2017-02-15 2017-05-21 Quick Retrieval Corp 隱藏及還原區塊鏈交易中交易方資訊之裝置
US20180260888A1 (en) * 2017-03-08 2018-09-13 Factom Validating Mortgage Documents
CN106899680B (zh) 2017-03-09 2019-07-30 深圳壹账通智能科技有限公司 多区块链的分片处理方法和装置
CN107239479B (zh) 2017-03-28 2020-03-13 创新先进技术有限公司 一种基于区块链的数据存储以及查询的方法及装置
KR101837168B1 (ko) * 2017-04-18 2018-03-09 주식회사 코인플러그 블록체인 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
CN110612697B (zh) * 2017-05-09 2023-11-07 埃森哲环球解决方案有限公司 用于高效信息检索的数据存储层索引的方法和系统
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107426170B (zh) * 2017-05-24 2019-08-09 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN107562775B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
EP3531650B8 (en) 2018-02-23 2022-06-22 Rohde & Schwarz GmbH & Co. KG System, method, and computer program for testing security of a device under test
WO2019178300A1 (en) * 2018-03-13 2019-09-19 Blockpoint Systems Inc. Relational blockchain database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017109140A1 (en) * 2015-12-22 2017-06-29 Bigchaindb Gmbh Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
JP2017123692A (ja) * 2017-03-22 2017-07-13 株式会社bitFlyer 存在証明装置、存在証明方法、及びそのためのプログラム

Also Published As

Publication number Publication date
JP6884870B2 (ja) 2021-06-09
US20190018862A1 (en) 2019-01-17
TW201909009A (zh) 2019-03-01
SG11201906395PA (en) 2019-08-27
US20200133957A1 (en) 2020-04-30
CN107562775A (zh) 2018-01-09
TWI718375B (zh) 2021-02-11
US10789270B2 (en) 2020-09-29
KR102377347B1 (ko) 2022-03-21
CN107562775B (zh) 2020-04-24
KR20190098752A (ko) 2019-08-22
WO2019014592A1 (en) 2019-01-17
US11093523B2 (en) 2021-08-17
PH12019501624A1 (en) 2019-10-28

Similar Documents

Publication Publication Date Title
JP6884870B2 (ja) ブロックチェーンを基にしたデータ処理方法および装置
US10790981B2 (en) Method and apparatus for verifying block data in a blockchain
US10938577B2 (en) Blockchain service acceptance and consensus method and devices
US11943317B2 (en) Multi-server node service processing and consensus method and device based on heartbeat detection messages
US10785039B2 (en) Blockchain consensus method and device
US10789243B2 (en) Database state determining method and device, and consistency verifying method and device
CA3042470C (en) Blockchain data processing method and apparatus
US11036689B2 (en) Blockchain-based data processing method and device
US11080664B2 (en) Blockchain service data processing
US20200005255A1 (en) Blockchain-based data processing method and device
KR102238954B1 (ko) 로직 맵을 통한 스마트 계약 데이터베이스의 트래버싱
JP2020510329A (ja) ログイン情報処理の方法およびデバイス

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20190911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210512

R150 Certificate of patent or registration of utility model

Ref document number: 6884870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250