JP2021521556A - データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス - Google Patents

データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス Download PDF

Info

Publication number
JP2021521556A
JP2021521556A JP2020561794A JP2020561794A JP2021521556A JP 2021521556 A JP2021521556 A JP 2021521556A JP 2020561794 A JP2020561794 A JP 2020561794A JP 2020561794 A JP2020561794 A JP 2020561794A JP 2021521556 A JP2021521556 A JP 2021521556A
Authority
JP
Japan
Prior art keywords
block
blockchain
transaction
information
storage
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
JP2020561794A
Other languages
English (en)
Other versions
JP7001843B2 (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2021521556A publication Critical patent/JP2021521556A/ja
Application granted granted Critical
Publication of JP7001843B2 publication Critical patent/JP7001843B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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

Abstract

コンピューティングデバイスが実行するデータバックアップ方法であって、第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会して取得するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、生成された前記トランザクション情報を第2ブロックに記憶するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップし、前記第1ブロックチェーンを削除することとを含む、データバックアップ方法を提供する。並びに対応する記憶媒体及びコンピューティングデバイスを提供する。

Description

「関連出願の相互参照」
本願は、2018年9月30日に出願された、出願番号が201811160527.5であり、発明名称が「データバックアップ方法、装置、記憶媒体及びコンピューティングデバイス」である中国特許出願の優先権を主張し、その内容全体が援用により本願に組み込まれる。
本願は、コンピュータの技術分野に関し、特に、データバックアップ方法、記憶媒体及びコンピューティングデバイスに関する。
ブロックチェーン技術とは、BT(Blockchain Technology)と略称し、分散型台帳技術とも呼ばれ、インターネットデータベース技術であって、非中央集権、公正かつ透明を特徴とし、人々をデータベース記録に参加させることができるものである。ブロックチェーン技術は、初めてビットコインのトランザクションを実現する基本的技術で、現在、金融など各分野に適用されることになる。ブロックチェーンにおける各ノードデバイスはいずれもブロックチェーン全体上のすべてのデータを記憶することで、大量の記憶領域が占用され、ブロックチェーンシステムの性能に影響を与えることになる。
本願の実例は、ブロックチェーンノードの記憶領域を節約し、ブロックチェーンシステム性能を改善するように、以下の技術的解決手段を提供する。
本願の実施例にて提供されるデータバックアップ方法は、
第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会して取得するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、生成された前記トランザクション情報を第2ブロックに記憶するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、を含む。
いくつかの実例では、前記第1条件は、設定された時間間隔に達することを含む。
いくつかの実例では、前記第1条件は、前記第1ブロックチェーンのブロックの高さがプリセット値に一致することを含む。
いくつかの実例では、前記第1条件は、残った記憶領域が第1閾値より低いことを含む。
いくつかの実例では、前記第1条件は、設定された操作指令を受け取ることを含む。
いくつかの実例では、前記第2ブロックのブロックの高さと、前記第1ブロックチェーンにおける最後の1つのブロックのブロックの高さが連続的である。
いくつかの実例では、前記第2ブロックに含まれる親ブロックのブロックヘッド固有値は、前記第1ブロックチェーンにおける最後の1つのブロックのブロックヘッド固有値である。
いくつかの実例では、上記方法は、さらに、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップする時、データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及びその前記記憶システムにおける記憶アドレスを記録するステップと、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、前述した当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスするステップと、を含む。
いくつかの実例では、上記方法は、さらに、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、当該ブロックから前記トランザクション情報の内容を照会して取得するステップを含む。
本願の実例にてさらに提供されるデータバックアップ装置は、第1ブロックから使用されていないトランザクション出力情報を照会して取得するモジュールであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、照会モジュールと、照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するモジュールであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、トランザクション情報モジュールと、生成された前記トランザクション情報を第2ブロックに記憶するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するブロック発布モジュールと、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップし、前記第1ブロックチェーンを削除するバックアップモジュールと、を含む。
いくつかの実例では、前記バックアップモジュールは、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップする時に、データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及びその前記記憶システムにおける記憶アドレスを記録し、前記装置は、さらに、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスするデータアクセスモジュールを含む。
いくつかの実例では、前記データアクセスモジュールは、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、当該ブロックから前記トランザクション情報の内容を照会して取得する。
本願の実例にてさらに提供される記憶媒体は、機械可読命令が記憶され、前記機械可読命令が1つ又は複数のプロセッサによって実行される時に,前記1つ又は複数のプロセッサに、
第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、
照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、
前記トランザクション情報を第2ブロックに記録するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、
前記第1ブロックチェーンを記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、をロードさせて実行させる。
本願の実例にてさらに提供されるコンピューティングデバイスは、1つ又は複数のメモリと、1つ又は複数のプロセッサとを含み、前記メモリに機械可読命令が記憶され、前記機械可読命令が前記1つ又は複数のプロセッサによってロードされ、
第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、
照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、
前記トランザクション情報を第2ブロックに記録するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、
前記第1ブロックチェーンを記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、を実行させる。
本願における技術的解決手段をより明確に説明するために、以下、実施例の説明に使用する必要がある図面について、簡単に紹介し、明らかに、以下の説明における図面は、本願のいくつかの実例に過ぎず、当業者であれば、創造的な労働をせず、これらの図面に基づいて、他の図面を取得することができる。
本願の実例に係るシステムアーキテクチャ図である。 ブロックのデータ構造図である。 本願の実例におけるブロックチェーンの部分概略図である。 本願の実例の方法のフローチャートである。 本願の実例において生成されたトランザクション情報の例示的な図である。 本願の実例においてブロックを作成する概略図である。 本願の実例においてブロックに記憶されたトランザクション情報の模式図である。 本願の実例における装置の構造概略図である。 本願の実例におけるコンピューティングデバイスの構成を示す概略図である。
説明を簡潔かつ直感的にするために、以下、いくつかの代表的な実施例を説明することにより、本発明の解決手段について説明する。しかし、すべての実施形態が本明細書に示されるわけではない。実施例における大量の詳細は、本発明の解決手段を理解するための一助となるものであり、本発明の技術的解決手段を実現する時にこれらの詳細に限定されるものではない。本発明の解決手段を不必要に曖昧にすることを避けるために、いくつかの実施形態は詳細に説明されておらず、フレームのみが示されている。以下、「含む」は、「含むが、これらに限定されるものではない」、「……に基づく」は、「少なくとも……に基づくが、……のみに基づくことに限定されるものではない」を意味する。明細書及び特許請求の範囲において「含む」とは、ある程度で少なくとも含むことを意味し、後に言及される特徴に加えて他の特徴が存在してもよいと解釈されるべきである。
本願は、図1に示すブロックチェーンシステム100に適用できるデータバックアップ方法を提供する。図1に示すように、当該システム100は、少なくとも、アプリケーション層101と、ネットワーク層103と、データ層104とを含み、さらに、拡張層102などを含む。アプリケーション層101は、ユーザに向けてアプリケーションクライアント11と12(例えば、デジタルアセットトランザクションに用いる電子ウォレットクライアントなど)及びトランザクションプラットフォーム13を提供する。ただし、アプリケーションクライアント11と12は、PC機、携帯電話、タブレット、パームトップ、ウルトラブック、ウェアラブルデバイスなどを含んでもよい端末デバイス上で実行する。ユーザは、アプリケーションクライアント11と12が提供するユーザインタフェース(userinterface、UI)を操作することにより、1台のサーバ又は1つのサーバグループを含んでもよいし、分散型システムを含んでもよいトランザクションプラットフォーム13にログインして、例えばデジタルアセットトランザクション、共有台帳査閲など、各種のトランザクション操作を完了することができる。拡張層102は、スマートコントラクトなどのサイドチェーンプリケーションを含み、さらに、例えば文書、ピクチャー、ビデオなどのユーザデータファイルの記憶及び共有機能を含んでもよいアプリケーションサービス拡張機能を提供する。ユーザは、アプリケーションクライアント11と12が提供するUIを操作することにより、スマートコントラクト署名、データファイルの記憶及び共有などの機能を、拡張層102を介して実現することができる。ネットワーク層103は、各地域に分布している複数のブロックチェーンノード14を含み、これらのノード14はブロックチェーンネットワークを構成し、各ノード14は、例えば、デスクトップパソコン、ノートパソコン、タブレットなど、ピアツーピア通信機能を有するコンピューティングデバイスであってもよく、これらのブロックチェーンノード14はピアツーピア(peer to peer、P2P)ネットワークを構成し、各ノード14はいずれも1つのブロックチェーン15の完全なデータを記憶する。ただし、ネットワーク層103は、各ノード14の間の通信を実現するために用いられ、ノード14の間のP2Pネットワーキングメカニズム、データ伝播メカニズム、検証メカニズムなどをカプセル化。ブロックチェーンネットワークは、本質的にP2Pネットワークであり、各ノード14は、情報を受信し、また、情報を生成し、ノード14の間は、1つの共通のブロックチェーンを持って通信を保持する。1つのブロックチェーンネットワークにおいて、各ノード14は新しいブロックを作成することができ、新しいブロックが作成された後、ブロードキャストの形式で他のノードに通知し、他のノードはこのブロックを検証し、ノード検証が通った場合、この新しいブロックは、ブロックチェーン上に添加されることになる。データ層104は、ブロックチェーン15のデータ構造をカプセル化する。図1に示すように、1つのブロックチェーン15は、複数のブロック(ブロック0〜ブロックn)を連鎖してなされる。初めて構築されるブロック0は「ジェネシスブロック」であり、その後、一定のルールで作成されるデータ構造が同じのブロックは、チェーン式の構造で順次接続されてメインチェーンを形成する。実行時間が長くなるに伴い、新しいブロックは、検証が通った後に、メインチェーン上に絶えず添加されると、メインチェーンも絶えず延長されることになる。
図1はブロックチェーンシステム100の一部を示し、実際に使用する際に、ネットワーク層103の上に、さらに合意層、激励層などがある。ただし、合意層は、分散性の高いノード14が非中央集権のシステムにおいてブロックデータの有効性に対して効果的に合意するように、合意メカニズムをカプセル化し、つまり、すべてのノード14がどのように合意して、1つのトランザクションレコードセットの有効性を確認するかを約束し、これは、確認手段であり、また改ざん防止手段である。よく使用されている合意メカニズムは、主に、プルーフオブワーク(Proof of Work)、プルーフオブステーク(Proof of Stake)、デリゲーテッドプルーフオブステーク(Delegated Proof of Stake)である。
ブロックチェーンシステムにおいて、データはファイルの形式で永久的に記録され、これらのファイルはブロック(Block)と呼ばれる。1つのブロックは、一定の期間に発生するトランザクションレコードセットを含み、かつ、当該トランザクションレコードセットが前のブロックに記録されていなく、各ブロックは、作成される前に発生したイベントを記録する。作成されるブロックは順次連鎖され、通常、新しいブロックはブロックチェーンの尾部に添加されて1つ前のブロックに連鎖される。ただし、トランザクション(Transaction)は、ユーザのトランザクションシステムでの1回の操作を代表するため、台帳状態を1回変更すると、レコードを台帳に1つ添加することになり、ブロックは、一定の期間に発生するトランザクション及び状態結果を記録するもので、現在の台帳状態に対する1回の合意であり、チェーン(Chain)は、1つ1つのブロックが作成時間順序に従って並列されてなるもので、台帳状態変化全体のロギングである。
ブロックは、トランザクションを記録するデータ構造である。各ブロックは、親ブロック、マイニング競争、トランザクションデータ検証を連鎖するための情報を記録するブロックヘッダと、前の期間におけるトランザクション情報を記録するブロック体からなり。図2は、ブロック200Aのデータ構造を示す。図2に示すように、ブロック200Aは、ブロックヘッダ21とブロック体22とを含む。ブロック体22は、トランザクションの数と、例えば、トランザクション1、トランザクション2、…、トランザクションmのトランザクション情報である一定の期間に発生する複数のトランザクションの情報とを記録する。ブロックヘッダ21は、以下の情報フィールドを記録する。
1、ソフトウェア及びプロトコル関連バージョン情報を識別するためのバージョン番号。
2、親ブロックハッシュ値であって、ブロック200Aの親ブロックのブロックヘッダハッシュ値で、この値により、各ブロックは首尾が接続されて、ブロックチェーンを形成し、かつ、この値は、ブロックチェーンの安全性に極めて重要な役割を果たすもの。
3、Merkleルートであって、ブロック体22におけるすべてのトランザクション情報のハッシュ値により、また、逐次2つごとにハッシュして算出される数値で、主に、1つのトランザクションがこのブロックに存在するか否かを検証するためのもの。
4、タイムスタンプであって、当該ブロック200Aの作成時間を、秒単位まで精確に記録するもの。
5、当該ブロック200Aの関連数学問題の難易目標値である難易度。
6、当該ブロック200Aの関連数学問題を解く答案を記録する値であるナンス(Nonce)。
ブロック200Aをブロックチェーンに追加した後、すべてのマイナー(すなわち、各ブロックチェーンノード14)は、以下の1〜5を含む、次のブロックの生成動作を開始する。
1、ローカルメモリにおけるトランザクション情報をブロック体内に記録する。
2、ブロック体においてこのブロックにおけるすべてのトランザクション情報のMerkleツリーを生成し、Merkleツリーのルートの値(すなわち、Merkleルート)をブロックヘッダ内に保存する。
3、最近、ブロックチェーンに追加されたブロック200Aのブロックヘッダのデータから、SHA256アルゴリズムにより、ハッシュ値を生成して、現在のブロックの親ブロックハッシュ値に書き込む。
4、現在の時間をタイムスタンプフィールドに保存する。
5、難易度フィールドは、ネットワーク全体の絶えず変化している全体の計算総量に応対するように、前の期間におけるブロックの平均的な生成時間に基づいて調整し、計算総量が増えると、システムは数学問題の難易度を上げることで、次のブロックの完成予定時間が一定の時間内にあるようにする。
1つのブロックについては、ブロックヘッダハッシュ値は1つのブロックを唯一に識別でき、あらゆるノード14は、ブロックヘッダに対してハッシュ計算を行うことにより、当該ブロックヘッダハッシュ値を独立で取得できる。実際には、ブロックヘッダハッシュ値は本ブロックのデータ構造内に含まれず、ブロックヘッダハッシュ値は、当該ブロックがあるノード14によってブロックチェーンネットワークから受信する時に、当該ノード14によって算出されるものである。ブロックヘッダハッシュ値は、索引の便宜上、また磁気ディスクからブロックをより速く検索するように、ブロックメタデータの一部として1つの独立したデータベーステーブルに記憶される可能性がある。また、ブロックは、ブロックチェーンにおいて、ブロックチェーンにおけるブロックの位置を識別するためのブロック高さ(block height)をさらに有する。1つ目のブロック(すなわち、ジェネスイスブロック)のブロック高さを0、当該ジェネスイスブロックを引用するブロックの高さを1とし、これによって類推すると、その後ブロックチェーンに記憶される各ブロックは、1つ前のブロックより位置が1つ高く、ブロック高さの値は、1つ前のブロックのブロック高さの値に1を加えるものである。ブロックヘッダハッシュ値と異なり、ブロック高さは、ブロックの唯一の識別ではなく、2つ又は2つ以上のブロックは、同じブロック高さを有し、ブロックチェーンにおいて同じ位置を奪う可能性がある。ブロック高さは、ブロックデータ構造の一部ではなく、ブロック内に記憶されるものではない。ノード14は、ブロックチェーンネットワークからのブロックを受信する場合、当該ブロックのブロックチェーンにおける位置(すなわち、ブロック高さ)を動的に識別する。ブロック高さは、速やかな検索の便宜上、メタデータとして1つの索引データベーステーブルに記憶されてもよい。
図3は、本願の実例におけるブロックチェーンの部分概略図を示す。図3において、部分のブロックチェーン200Bに含まれる3つのブロック23、24及び25を示し、各ブロックのブロック高さ及びブロックヘッダハッシュ値は、ブロック内部に記憶されないが、ブロック間の連鎖関係を決める。ノード14のローカルデータベースにおけるブロックチェーンメタデータテーブルにおいて、各ブロックのブロック高さ及びブロックヘッダハッシュ値を保存するものとしてもよい。
しかしながら、ブロックチェーンにおけるブロックが増えるに伴い、単一のノード14の記憶圧力も増えるため、ノード14を実行させる独立型デバイスにも高い要求がある。
本願の実例では、ノード14に適用できる方法であって、いくつかのブロックを自動的にバックアップして、ノード14の記憶圧力を減軽することができるデータバックアップ方法が提供される。図4は、本願の実例の方法のフローチャートを示す。図4に示すように、当該方法300は、ステップS301から開始する。
ステップS301において、設定された第1条件を満たす場合、ノード14は、第1ブロックチェーンにおける第1ブロックから、使用されていないトランザクション出力情報を照会して取得する。ここで、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含み、つまり、第1ブロックチェーンにおける各ブロックから、それぞれ、使用されていないトランザクション出力情報を照会して得て、さらに、すべての使用されていないトランザクション出力情報を取得する。
上記第1条件は、本願の実施例にて提供されるデータバックアッププロセスの開始条件に相当する。いくつかの実例では、前記第1条件は、設定された時間間隔に達する、前記第1ブロックチェーンのブロックの高さがプリセット値に一致する、残った記憶領域が閾値より低い、又は設定された操作指令を受け取るなどのうち、少なくとも一方を含んでもよい。
第1条件は設定された時間間隔に達することを含む場合、ノード14は、一定の時間間隔(例えば、1日、1ヶ月など)おきに、データバックアッププロセスを1回開始してもよく、又は設定された複数の時間点(例えば、第1ブロックチェーンの作成時間からの1ヶ月、3ヶ月、6ヶ月など)に、それぞれ、データバックアッププロセスを1回開始する。本願は、時間間隔の具体的な設定方法について限定しない。
第1条件は前記第1ブロックチェーンのブロックの高さがプリセット値に一致することを含む場合、ノード14は、第1ブロックチェーンのブロック高さがプリセット値に一致する時に、データバックアッププロセスを1回開始してもよい。本願は、プリセット値の具体的な設定方法について限定しない。
第1条件は残った記憶領域が閾値より低いことを含む場合、ノード14は、残った記憶領域が少ない状況で、データバックアッププロセスを開始してもよい。第1条件は設定された操作指令を受け取ることを含む場合、ノード14は、外部で入力される操作指令に応えてデータバックアッププロセスを開始してもよく、例えば、ユーザは、データスクラビング又はバックアップを行う必要がある場合、ノード14がデータバックアッププロセスを開始するように、ノード14に操作指令を入力してもよい。
前述した各種の第1条件は、実際のニーズに応じて任意に組み合わせてもよい。
いくつかの実例では、ノード14は、第1ブロックチェーンにおけるブロックが増えるに伴い、現在の各ブロックに記録される各トランザクション情報における使用されていないトランザクション出力情報、例えば、ビットコイントランザクションにおける未使用なトランザクション出力(UTXO,Unspent Transaction Output)テーブルを記録するアカウントデータをローカルでメンテナンスする。各UTXOはいずれも1つのノミナルバリュー及びオーナーアドレス(本質的には、暗号学公開鍵のアドレスに定義される)を有する。1つのトランザクションは、1つ又は複数の入力及び1つ又は複数の出力を含む。各入力は、既存のUTXOの引用及びオーナーアドレスに対応する秘密鍵によって作成される暗号学署名を含む。各出力は1つの新しいUTXOを含む。ノード14は、ローカルでメンテナンスするアカウントデータに基づいて、各ブロックに記憶される使用されていないトランザクション出力情報を照会できる。
具体的には、アカウントデータにおける使用されていないトランザクション出力情報ごとは、トランザクション番号、ブロック高さ及びブロックヘッダハッシュ値などの情報を含み、したがって、これらの情報に基づいて、使用されていない資産の金額、オーナーアドレスなどのフィールドを含んでもよいトランザクション出力情報をブロックから照会することができる。
ステップS302において、ノード14は、照会された使用されていないトランザクション出力情報に基づいて、1つ又は複数のトランザクション情報を生成し、生成されるトランザクション情報は、上述した使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を説明するために用いられ、自分が自分に振り替えをするトランザクション操作(トランザクションのロール操作又はおつり操作とも呼ばれる)とも言える。ただし、1つのトランザクション情報は、少なくとも1つのトランザクション入力情報と、少なくとも1つのトランザクション出力情報を含み、前記少なくとも1つのトランザクション入力情報は、それぞれ照会された少なくとも1つの使用されていないトランザクション出力情報を引用し、各トランザクション入力情報に対応するトランザクション出力情報は、それが引用する上述した使用されていないトランザクション出力情報を含むことで、自分が自分に振り替えをするトランザクション操作を代表する。ここで、ノード14は、複数の使用されていないトランザクション出力情報に基づいて、1つのトランザクション情報を生成することができ、実現に必要なものに応じて、1つ以上のトランザクション情報を生成することもできる。例えば、5つの使用されていないトランザクション情報が照会されると、この5つの使用されていないトランザクション情報に対するトランザクションのロール操作をそれぞれ説明する5つのトランザクション操作記録(5組のトランザクション入力情報とトランザクション出力情報)を含むトランザクション情報を1つ生成してもよい。各トランザクション情報は、1つ又は複数のトランザクション操作記録を含むトランザクション情報を他の数生成してもよく、これらのトランザクション情報は合計で5つのトランザクション操作記録を含み、この5つの使用されていないトランザクション情報に対するトランザクションのロール操作を説明できる。
図5に示す例において、照会された使用されていないトランザクション出力情報はUTXO1〜UTXO5を含み、3つのトランザクション情報TX1〜TX3を生成できる。ただし、TX1は、UTXO1及びUTXO2をそれぞれ引用する2つのトランザクション入力情報Input11及びInput12を含み、Input11及びInput12はそれぞれトランザクション出力情報Output11及びOutput12に対応し、Output11はUTXO1を含み、Output12はUTXO2を含み、つまり、数及びアドレス上に、Output11とUTXO1は同じであり、Output12とUTXO2は同じである。TX2は、UTXO3を引用するトランザクション入力情報Input21を含み、Input21はトランザクション出力情報Output21に対応し、Output21はUTXO3を含み、Output21及びUTXO3は、数及びアドレス上に、同じである。TX3はUTXO4及びUTXO5をそれぞれ引用する2つのトランザクション入力情報Input31及びInput32を含み、Input31及びInput32はそれぞれトランザクション出力情報Output31及びOutput32に対応し、数及びアドレス上に、Output31とUTXO4は同じであり、Output32とUTXO5は同じである。このように、UTXO1〜UTXO5がそれぞれ代表する使用されていない資産の金額をオーナー自身に振り替え、つまり、このようなトランザクション操作は、資産のオーナーを変更し、アカウントデータを本質的に変更することができない。
いくつかの実施例では、ノード14は、照会された使用されていないトランザクション出力情報に基づいて、1つ又は複数のトランザクション情報を生成する時に、各トランザクション情報に対して、当該トランザクション情報内に含まれる使用されていないトランザクション出力情報のロール回数を賦値してもよく、ここで、ロール回数とは、いずれかの使用されていないトランザクション出力情報に対して、上記トランザクションのロール操作を実行する回数である。
つまり、1回のトランザクションのロール操作を完成するたびに、1つ又は複数のトランザクション情報の生成に伴い、ノード14は、各トランザクション情報における各使用されていないトランザクション出力情報のロール回数を、元の値に1を加えて得られる数値にし、いずれかの使用されていないトランザクション出力情報が使用されると、この使用されたトランザクション出力情報のロール回数を0にし、これにより、各使用されていないトランザクション出力情報のロール回数をメンテナンスすることにより、各使用されていないトランザクション出力情報の「ライブネス」を如実に示すことができ、ロール回数が高いほど、この使用されていないトランザクション出力情報はすでにトランザクションのロール操作が複数回連続して実行されるが、相変わらず使用されていないことを意味し、つまり、この使用されていないトランザクション出力情報のライブネスが低いことが説明され、したがって、ロール回数を使用されていないトランザクション出力情報に対応する「年齢」とも呼ばれる。
ステップS303において、ノード14は、ステップS302で生成された1つ又は複数のトランザクション情報を新しいブロック(すなわち、第2ブロック)に記録するとともに、新しいブロックを発布する。新しいブロックは、合意された後に、第2ブロックチェーン上に記録されることになる。具体的な合意メカニズムについて、本明細書は詳しく説明しない。また、ノード14は、ステップS301で照会された1つ又は複数のブロック(すなわち、第1ブロック)がある第1ブロックチェーンを、ノード14に接続された記憶システム(例えば、ハードディスク、磁気ディスク、集中型又は分散型のデータベースシステムなどテムなど)にバックアップする。
ステップS303において、ノード14は、第1ブロックにおける使用されていないトランザクション出力情報に対して、ロールトランザクション操作を行った後、前の第1ブロックチェーンを削除し、その後、新しいブロックチェーン(第2ブロックチェーン)をメンテナンスすることで、この2つのブロックチェーンの間は一定の関連性を有することになる。
いくつかの実例では、上記第2ブロックのブロック高さと第1ブロックチェーンにおける最後の1つのブロックのブロック高さは連続してもよい。例えば、第1ブロックチェーンは10個のブロック(ブロック高さはそれぞれ1〜10)を有し、この10個のブロックから、使用されていないトランザクション出力情報を照会して取得するとともに、ロールトランザクション操作を行った後、高さが11の新しいブロック(すなわち第2ブロック)を生成することができ、第2ブロックチェーンの初期ブロック高さは11であり、第1ブロックチェーンにおける最後の1つのブロックのブロック高さ10と連続性を有する。
いくつかの実例では、上記第2ブロックに含まれる親ブロックのブロックヘッダ固有値は、前記第1ブロックチェーンにおける最後の1つのブロックのブロックヘッダ固有値である。例えば、第1ブロックチェーンは10個のブロックを有し、この10個のブロックから、使用されていないトランザクション出力情報を照会して取得するとともに、ロールトランザクション操作を行った後、新しいブロック(すなわち第2ブロック)を生成でき、第2ブロックの親ブロックは、第1ブロックチェーンにおける最後の1つのブロックであり、第2ブロックのブロックヘッダに記録される親ブロックのブロックヘッダ固有値(例えばブロックヘッダハッシュ値)は、第1ブロックチェーンにおける最後の1つのブロックのブロックヘッダの固有値である。
いくつかの実例では、ノード14は、第1ブロックチェーンを記憶システムにバックアップした時に、ローカルのバックアップデータテーブルにおいて、すでにバックアップされた第1ブロックチェーンにおける各ブロックの識別情報(ブロック高さ、ブロックヘッダハッシュ値など)及びすでにバックアップされた第1ブロックチェーンにおける各ブロックの上記記憶システムにおける記憶アドレスを記録する。このように、ノード14はすでにバックアップされた第1ブロックチェーンにおけるいずれかのブロックにアクセスする必要がある場合、データベーステーブルにおける情報をバックアップすることにより、記憶システムから目標ブロックを照会してもよく、目標ブロックをノード14内に回復してもよい。
いくつかの実例では、第1ブロックチェーンを削除した後、第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする時に、ノード14は、データバックアップテーブルから当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスし、前記トランザクション情報の識別情報(トランザクション番号、ブロック高さ、ブロックヘッダハッシュ値など)に基づいて、当該ブロックから前記トランザクション情報の内容(資産残金、アカウントアドレスなど)照会して取得する。
上記実例では、ノード14は、上記第1ブロックチェーンにおける各ブロックをバックアップし、これらのブロックは、ノード14に接続されたハードディスク、サーバ又はサーバグループにバックアップされ、これらのバックアップされたブロックに含まれるトランザクション情報がほとんど使用されず、これらのブロックがほとんどアクセスされず、アクセス頻度が低く、コールドなデータと呼ばれてもよく、ノード14はこれらのブロックをコールドにストレージすると言ってもよい。
図6は、本願の一例におけるブロック概略図を示す。図6において、ノード14は古いブロックチェーンにおけるブロック1と2を照会して、使用されていないトランザクション出力情報を含むTX14とTX25を得て、TX14とTX25に対して、それぞれトランザクションのロール操作を行って1つのトランザクション情報TXN1を生成する。当該TXN1は2つのトランザクションレコードを含み、この2つのトランザクションレコードはそれぞれTX14とTX25におけるトランザクション出力情報を含む。その後、ノード14は新しいブロックチェーンを作成し、TXN1を新しいブロックチェーンにおける新しいブロックNに含め、古いブロックチェーンを記憶システムにコールドにストレージし、ノード14はブロック1と2を含む旧いブロックチェーンを削除する。
図7は、ブロック体内に記録される複数のトランザクション情報の実例を示す。図7において、トランザクション番号が「#1001」のトランザクション情報において、トランザクション出力41は、アカウント「A」の残金が12.5であることを記録し、トランザクション番号が「#2001」のトランザクション情報において、トランザクション出力42は、アカウント「A」の残金が10であり、アカウント「B」の残金が2.5であることを記録し、トランザクション番号が「#3001」のトランザクション情報において、トランザクション出力43は、アカウント「A」の残金が7.5と2.5であり、アカウント「D」の残金が2.5であることを記録し、トランザクション番号が「#4001」のトランザクション情報において、トランザクション出力44は、アカウント「C」の残金が2.5であることを記録する。以上から分かるように、トランザクション出力41と42におけるトランザクション出力情報はいずれも使用切られ、トランザクション出力43における第(1)及び(3)のトランザクション出力情報431と433が使用されず、トランザクション出力44における第(1)のトランザクション出力情報441が使用されず、トランザクション出力情報431と433と441は、トランザクション番号が「#5001」のトランザクション情報を生成でき、このうち、トランザクション出力45は3つの使用されていないトランザクション出力情報431と433と441を含む。このように、トランザクション番号が「#1001」、「#2001」、「#3001」、「#4001」のトランザクション情報におけるトランザクション出力情報はいずれも使用され、後続するトランザクション操作は再び使用することなく、これらが属するブロックチェーンは削除され、新たに生成されたトランザクション番号が「#5001」のトランザクション情報は新しいブロックチェーン内に含まれる。
上記実例では、ノード14は、全部ブロックにおける使用されていないトランザクション出力情報に対して、トランザクションのロール操作を行い、これにより、新しいトランザクション情報を生成するとともに、使用されていないトランザクション出力情報における資産の所有権を変更しない。このように、これらのブロックにおけるすべてのトランザクション出力情報が使用されることになり、無用なブロック(すなわち、将来のトランザクション操作にアクセスする必要がないブロック)に属するようにでき、これにより、ノード14はこれらのブロックをバックアップするとともに、ローカルで記憶される第1ブロックチェーンを削除することで、ノード14の記憶領域が節約され、データの正確性が保証され、トランザクション操作の実行に影響を与えず、ブロックチェーンの正常な運転を影響することなく、技術実現が複雑ではなく、システム性能を著しく向上できる。
いくつかの実例では、第2ブロックに使用されていないトランザクション出力情報がたくさん存在する可能性があり、上記処理は、多くの記憶領域を空けることができないため、ノード14は、第2条件を満たす場合(例えば、残った記憶領域が目標閾値より低い場合)、さらに、生成された前記第2ブロックチェーンにおけるトランザクション情報うち長く使用されていないトランザクション情報を新しい第3ブロックに合併して、新しい第3ブロックを生成し、これにより、新しい第3ブロックチェーンを生成し、この新しい第3ブロックチェーンをバックアップし、ノード14は、第2ブロックチェーンであるこのブロックがあるブロックチェーンをローカルから削除し、これにより、第2ブロックをバックアップする。ノード14は、この第2ブロックをバックアップする時に、ローカルのバックアップデータテーブルにこの第2ブロックの識別情報(ブロック高さ、ブロックヘッダハッシュ値など)及びこの第2ブロックの上記記憶システムにおける記憶アドレスを記録する。このように、ノード14は、すでにバックアップされた第2ブロックにアクセスする必要がある場合、データベーステーブルにおける情報をバックアップすることにより、記憶システムから目標ブロックを照会してもよく、目標ブロックをノード14内に回復してもよい。このように、ある使用されていないトランザクション出力情報にアクセスする必要がある場合、アカウントデータからそれがあるブロックの識別情報を照会することができ、これにより、バックアップデータテーブルから記憶アドレスを照会でき、このように、記憶システムにおける当該使用されていないトランザクション出力情報にアクセスでき、当該使用されていないトランザクション出力情報が属する第2ブロックチェーンをノード14のローカル記憶に回復することもできる。ある使用されていないトランザクション出力情報を使用する必要がある場合、アカウントデータからそれがあるブロックの識別情報を照会することができ、これにより、バックアップデータテーブルから記憶アドレスを照会でき、このように、記憶システムにおける当該使用されていないトランザクション出力情報における具体的な詳細、例えば、アカウントアドレス、資産残金などにアクセスでき、これにより、照会した情報に基づいて、新しいトランザクション情報を生成し、当該使用されていないトランザクション出力情報を使用する。
好ましくは、第2条件を満たす場合、ノード14は各トランザクション情報における使用されていないトランザクション出力情報に対してロール回数をメンテナンスすると、ノード14は、第2ブロックチェーンにおけるロール回数が目標回数より大きい使用されていないトランザクション出力情報(すなわち、ライブネスが低い使用されていないトランザクション出力情報)に対して、第3ブロックに合併する上記ステップを実行し、第3ブロックを発布し、合意メカニズムに基づいて、第3ブロックについて合意し、合意が通った場合、第3ブロックを第3ブロックチェーンに追加し、上記プロセスにおいて、これらのライブネスの低い使用されていないトランザクション出力情報に対して、トランザクションのロール操作をもう1回実行することに相当し、第3ブロックチェーン全体を記憶システムにバックアップするように、これらのライブネスの低い使用されていないトランザクション出力情報を第2ブロックチェーンから第3ブロックチェーンに移動させ、バックアップが完成すると、第3ブロックチェーンを削除できる。ただし、当該目標回数は、いずれか0より大きい数値であってもよく、例えば、当該目標回数は3であってもよい。
上記方式により、上記第3ブロックにおけるトランザクション出力情報が依然として使用されていないが、つまり、ブロックチェーンシステム全体にとって、第3ブロックにおけるトランザクション出力情報を呼び出す可能性があるが、ロール回数が目標回数を超えるため、後続するプロセスにおいて第3ブロックにおけるトランザクション出力情報を呼び出す可能性が非常に低いことが示され、こうすると、第3ブロックをバックアップして、第3ブロックを削除すると、ブロックチェーンサービスに影響を与えない上で、ノード14の記憶領域をさらに節約することを保証できる。
いくつかの実例では、前記第2ブロックチェーンを削除した後、前記第2ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする必要がある場合、ノード14は、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、当該ブロックから前記トランザクション情報の内容(例えば、資産残金、アカウントアドレスなど)を照会して取得するものとしてもよい。
上記技術的解決手段を採用すれば、ブロックチェーンノードの記憶領域を節約し、記憶リソースの利用率を著しく向上させることができ、使用されていないトランザクション出力情報を既存のブロックからロールアウトし、かつ資産の所有権を変更しないことができ、このように、すでに使用されたトランザクション出力情報からなる各ブロックをコールドにストレージし、このようなブロックがあるブロックチェーンをブロックチェーンノードから削除することができ、このように、限られる記憶領域を、現在のブロックチェーンの実行に対してより価値がある使用されていないトランザクション出力情報の保存に十分に用いることができ、これにより、ブロックチェーンシステムの性能が向上する、ことが理解できる。上記技術的解決手段もブロックチェーンノードに適用しやすく、高い実施可能性を有する。
上記本願に提供される方法の実例に基づいて、本願の実例はさらに、ブロックチェーンノード14に適用できるデータバックアップ装置を提供する。図8に示すように、当該データバックアップ装置500は、
第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会して取得するジュールであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、照会モジュール501と、
照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するモジュールであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、トランザクション情報モジュール502と、
生成された前記トランザクション情報を第2ブロックに記憶するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するブロック発布モジュール503と、
前記第1ブロックチェーンを自体に接続された記憶システムにバックアップし、前記第1ブロックチェーンを削除するバックアップモジュール504と、を含む。
いくつかの実例では、バックアップモジュール504は、前記第1ブロックチェーンを自体に接続された記憶システムにバックアップする時に、データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及びその前記記憶システムにおける記憶アドレスを記録する。装置500は、さらに、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスするデータアクセスモジュール505を含む。
いくつかの実例では、データアクセスモジュール505は、前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、当該ブロックの識別情報に対応する記憶アドレスを照会して得て、前記記憶アドレスに基づいて、記憶システムにおける当該ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、当該ブロックから前記トランザクション情報の内容を照会して取得する。
上記各モジュール機能の実現原理は、前文にすでに詳しく説明し、ここで重複する説明は省略する。
いくつかの実例では、上記データバックアップ装置500は、各種コンピューティングデバイスにより実行され、当該コンピューティングデバイスのメモリにロードすることができる。ただし、当該コンピューティングデバイスは1つ又は複数のメモリと、1つ又は複数のプロセッサとを含んでもよく、当該メモリに機械可読命令が記憶され、前記機械可読命令が当該1つ又は複数のプロセッサに、
第1条件を満たす場合、第1ブロックチェーンの当該第1ブロックチェーンにおけるすべてのブロックを含む第1ブロックから、使用されていないトランザクション出力情報を照会するステップと、
照会して得られる当該使用されていないトランザクション出力情報に基づいて、トランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を説明するためのトランザクション情報を生成するステップと、
当該トランザクション情報を第2ブロックに記録し、当該第2ブロックを発布し、合意された当該第2ブロックを第2ブロックチェーン上に記録するステップと、
当該第1ブロックチェーンを記憶システムにバックアップし、当該第1ブロックチェーンを削除するステップと、をロードさせて実行させる。
好ましくは、当該第1条件は、当該第1ブロックチェーンのブロック高さがプリセット値に一致することを含む。
好ましくは、当該第1条件は、残った記憶領域が第1閾値より低いこと、又は、設定された時間間隔に達すること、又は、設定された操作指令を受け取ることを含む。
好ましくは、当該第2ブロックのブロック高さと当該第1ブロックチェーンにおける最後の1つのブロックのブロック高さが連続的である。
好ましくは、当該第2ブロックに含まれる親ブロックのブロックヘッダ固有値は当該第1ブロックチェーンにおける最後の1つのブロックのブロックヘッダ固有値である。
好ましくは、当該1つ又は複数のプロセッサは、
データバックアップテーブルにおいて当該第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの当該記憶システムにおける記憶アドレスを記録するステップを実行するために用いられる。
好ましくは、当該1つ又は複数のプロセッサは、
当該第1ブロックチェーンを削除した後、当該第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、当該データバックアップテーブルから当該ブロックの識別情報に対応する記憶アドレスを照会し、当該記憶アドレスに基づいて、当該記憶システムにおける当該ブロックにアクセスするステップ、又は
当該第1ブロックチェーンを削除した後、当該第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、当該データバックアップテーブルから当該ブロックの識別情報に対応する記憶アドレスを照会し、当該記憶アドレスに基づいて、当該記憶システムにおける当該ブロックにアクセスし、当該トランザクション情報の識別情報に基づいて、当該ブロックから当該トランザクション情報の内容を照会して取得するステップを実行するために用いられる。
図9は上記データバックアップ装置500があるコンピューティングデバイスの構成図を示す。図9に示すように、当該コンピューティングデバイスは、1つ又は複数のプロセッサ(CPU)602、通信モジュール604、メモリ606、ユーザインタフェース610及びこれらのコンポーネントを互いに接続するための通信バス608を含む。
プロセッサ602は、通信モジュール604により、ネットワーク通信及び/又はローカル通信を実現するように、データを送受信する。
ユーザインタフェース610は、1つ又は複数のスピーカ及び/又は1つ又は複数のディスプレイを含む1つ又は複数の出力デバイス612を含む。ユーザインタフェース610も、例えば、キーボード、マウス、音声命令入力ユニット若しくはラウドスピーカ、タッチディスプレイ、タッチセンス入力パネル、ジェスチャ捕捉カメラ又は他の入力ボタン若しくはコントロールなどを含む1つ又は複数の入力デバイス614を含む。
メモリ606は、例えば、DRAM、SRAM、DDR RAM、若しくは他のランダムアクセス固体記憶デバイスなど、高速ランダムアクセスメモリであってもよく、又は、例えば1つ又は複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュデバイスなどの不揮発性メモリであってよい。
メモリ606はプロセッサ602の実行可能な指令セットを記憶し、
各種の基本的システムサービス及びハードウェア関連タスクを実行するためのプログラムを含む操作システム616と、
各種のアプリケーションプログラムを含み、上記各実例における処理プロセスを実現でき、例えば、図8に示す装置500を含んでもよいアプリケーション618とを含む。いくつかの実例では、装置500は図8に示す各モジュール501〜505うち一部又は全部のモジュールを含んでもよく、各モジュール501〜505には機械実行可能な指令が記憶されていてもよい。プロセッサ602は、メモリ606における各モジュール501〜505における機械実行可能な指令を実行することにより、さらに、上記各モジュール501〜505の機能を実現できる。
なお、上記各プロセス及び各構造図において、すべてのステップ及びモジュールは必要なものではなく、実際のニーズに応じていくつかのステップ又はモジュールを省略してもよい。各ステップの実行順序は一定ではなく、必要に応じて調整できる。各モジュールの分割は、採用する機能上の分割を説明するためのものに過ぎず、実際に実現する際に、1つのモジュールは、複数のモジュールに分割して実現されてもよく、複数のモジュールの機能も同一のモジュールによって実現されてもよく、これらのモジュールは、同一のデバイスに位置してもよく、異なるデバイスに位置してもよい。
各実施例におけるハードウェアモジュールは、ハードウェア方式又はハードウェアプラットフォームにソフトウェアを加える方式により実現される。上記ソフトウェアは、機械可読命令を含み、不揮発性記憶媒体に記憶される。したがって、各実施例は、ソフトウェア製品として具現化されてもよい。
各例では、ハードウェアは、専門的なハードウェア又は機械可読命令を実行するハードウェアによって実現される。例えば、ハードウェアは、特定の操作を完成するために、専門的に設計された永久性回路又は論理デバイス(例えばFPGA又はASICなど、特定用途向けプロセッサ)であってもよい。ハードウェアも、特定の操作を実行するために、ソフトウェアによって一時的に構成されるプログラマブル論理デバイス又は回路(例えば、汎用プロセッサ又は他のプログラマブルプロセッサ)を含んでもよい。
また、本願の各実例は、例えばコンピュータなど、データ処理デバイスによって実行される処理プログラムによって実現されてもよい。当然ながら、データ処理プログラムな本願を構成する。また、通常1つの記憶媒体に記憶されているデータ処理プログラムは、記憶媒体からプログラムを直接読み出すこと、又はデータ処理デバイスの記憶デバイス(例えば、ハードウェアディスク及び/又はメモリ)に取り付け、若しくは複製することにより実行される。したがって、このような記憶媒体も本願を構成し、本願は、さらに、本願の上記方法の実例におけるいずれか1つの実例を実行するために用いられるデータ処理プログラムが記憶されている不揮発性記憶媒体を提供する。
上記プロセスにおいて、当該記憶媒体は機械可読命令が記憶されており、前記機械可読命令が1つ又は複数のプロセッサによって実行される場合、当該1つ又は複数のプロセッサに、
第1条件を満たす場合、第1ブロックチェーンの当該第1ブロックチェーンにおけるすべてのブロックを含む第1ブロックから、使用されていないトランザクション出力情報を照会するステップと、
照会して得られる当該使用されていないトランザクション出力情報に基づいて、トランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を説明するためのトランザクション情報を生成するステップと、
当該トランザクション情報を第2ブロックに記録し、当該第2ブロックを発布し、合意された当該第2ブロックを第2ブロックチェーン上に記録するステップと、
当該第1ブロックチェーンを記憶システムにバックアップし、当該第1ブロックチェーンを削除するステップと、をロードさせて実行させる。
好ましくは、当該第1条件は、当該第1ブロックチェーンのブロック高さがプリセット値に一致すること、又は、残った記憶領域が第1閾値より低いこと、又は、設定された時間間隔に達すること、又は、設定された操作指令を受け取ることを含む。
好ましくは、当該第2ブロックのブロック高さと当該第1ブロックチェーンにおける最後の1つのブロックのブロック高さが連続的である。
好ましくは、当該第2ブロックに含まれる親ブロックのブロックヘッダ固有値は当該第1ブロックチェーンにおける最後の1つのブロックのブロックヘッダ固有値である。
好ましくは、当該1つ又は複数のプロセッサは、
データバックアップテーブルにおいて当該第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの当該記憶システムにおける記憶アドレスを記録するステップを実行するために用いられる。
好ましくは、当該1つ又は複数のプロセッサは、
当該第1ブロックチェーンを削除した後、当該第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、当該データバックアップテーブルから当該ブロックの識別情報に対応する記憶アドレスを照会し、当該記憶アドレスに基づいて、当該記憶システムにおける当該ブロックにアクセスするステップ、又は
当該第1ブロックチェーンを削除した後、当該第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、当該データバックアップテーブルから当該ブロックの識別情報に対応する記憶アドレスを照会し、当該記憶アドレスに基づいて、当該記憶システムにおける当該ブロックにアクセスし、当該トランザクション情報の識別情報に基づいて、当該ブロックから当該トランザクション情報の内容を照会して取得するステップを実行するために用いられる。
図8におけるモジュールに対応する機械可読命令は、コンピュータ上に操作する操作システムなどに、ここで説明される一部又は全部の操作を完成させる。不揮発性コンピュータ可読記憶媒体は、コンピュータ内の拡張シールド内に設置されるメモリに挿入されるか、又はコンピュータに接続される拡張ユニットに設置されるメモリに書き込まれるものとしてもよい。拡張シールド又は拡張ユニット上に取り付けられるCPUなどは、指令に基づいて、実際の操作の一部及び全部を実行することができる。
不揮発性コンピュータ可読記憶媒体は、ソフトディスク、ハードディスク、光磁気ディスク、光ディスク(例えば、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW)、磁気テープ、不揮発性メモリカード及びROMを含む。好ましくは、通信ネットワークによってサーバコンピュータからプログラムコードをダウンロードしてもよい。
以上をまとめると、特許請求の範囲は、以上説明した実例における実施形態に限定されるものではなく、明細書を全体として最も広く解釈すべきである。
21 ブロックヘッダ
22 ブロック体
41 トランザクション出力
42 トランザクション出力
43 トランザクション出力
44 トランザクション出力
45 トランザクション出力
100 システム
101 アプリケーション層
102 拡張層
103 ネットワーク層
104 データ層
500 データバックアップ装置
501 照会モジュール
502 トランザクション情報モジュール
503 ブロック発布モジュール
504 バックアップモジュール
505 データアクセスモジュール
602 プロセッサ
604 通信モジュール
606 メモリ
608 通信バス
610 ユーザインタフェース
612 出力デバイス
614 入力デバイス
616 操作システム
618 アプリケーション

Claims (20)

  1. データバックアップ方法であって、
    第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、
    照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、
    前記トランザクション情報を第2ブロックに記録するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、
    前記第1ブロックチェーンを記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、
    を含むことを特徴とするデータバックアップ方法。
  2. 前記第1条件は、前記第1ブロックチェーンのブロックの高さがプリセット値に一致することを含むことを特徴とする請求項1に記載の方法。
  3. 前記第1条件は、残った記憶領域が第1閾値より低いこと、又は、設定された時間間隔に達すること、又は、設定された操作指令を受け取ることを含むことを特徴とする請求項1に記載の方法。
  4. 前記第2ブロックのブロックの高さと、前記第1ブロックチェーンにおける最後の1つのブロックのブロックの高さが連続的であることを特徴とする請求項1に記載の方法。
  5. 前記第2ブロックに含まれる親ブロックのブロックヘッド固有値は、前記第1ブロックチェーンにおける最後の1つのブロックのブロックヘッド固有値であることを特徴とする請求項1に記載の方法。
  6. 前記第1ブロックチェーンを記憶システムにバックアップするステップは、データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの前記記憶システムにおける記憶アドレスを記録するステップを含むことを特徴とする請求項1に記載の方法。
  7. データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの前記記憶システムにおける記憶アドレスを記録する前記ステップの後、前記方法は、さらに、
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスするステップ、又は
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、前記ブロックから前記トランザクション情報の内容を照会して取得するステップを含むことを特徴とする請求項6に記載の方法。
  8. コンピュータに、
    第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、
    照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、
    前記トランザクション情報を第2ブロックに記録するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、
    前記第1ブロックチェーンを記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、
    を実行させることを特徴とするコンピュータプログラム。
  9. 前記第1条件は、前記第1ブロックチェーンのブロックの高さがプリセット値に一致すること、又は、残った記憶領域が第1閾値より低いこと、又は、設定された時間間隔に達すること、又は、設定された操作指令を受け取ることを含むことを特徴とする請求項8に記載のコンピュータプログラム。
  10. 前記第2ブロックのブロックの高さと、前記第1ブロックチェーンにおける最後の1つのブロックのブロックの高さが連続的であることを特徴とする請求項8に記載の記憶媒体。
  11. 前記第2ブロックに含まれる親ブロックのブロックヘッド固有値は、前記第1ブロックチェーンにおける最後の1つのブロックのブロックヘッド固有値であることを特徴とする請求項8に記載のコンピュータプログラム。
  12. コンピュータに、
    データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの前記記憶システムにおける記憶アドレスを記録するステップを実行させる、ことを特徴とする請求項8に記載のコンピュータプログラム。
  13. コンピュータに、
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスするステップ、又は
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、前記ブロックから前記トランザクション情報の内容を照会して取得するステップ
    を実行させることを特徴とする請求項12に記載のコンピュータプログラム。
  14. コンピューティングデバイスであって、1つ又は複数のメモリと、1つ又は複数のプロセッサとを含み、前記メモリに機械可読命令が記憶され、前記機械可読命令が前記1つ又は複数のプロセッサによってロードされ、
    第1条件を満たす場合、第1ブロックチェーンにおける第1ブロックから使用されていないトランザクション出力情報を照会するステップであって、前記第1ブロックは前記第1ブロックチェーンにおけるすべてのブロックを含む、ステップと、
    照会して得られた前記使用されていないトランザクション出力情報に基づいてトランザクション情報を生成するステップであって、前記トランザクション情報は前記使用されていないトランザクション出力情報が属するアカウントアドレスを変更しないトランザクション操作を記載するためのものである、ステップと、
    前記トランザクション情報を第2ブロックに記録するとともに、前記第2ブロックを発布し、合意された前記第2ブロックを第2ブロックチェーン上に記録するステップと、
    前記第1ブロックチェーンを記憶システムにバックアップし、前記第1ブロックチェーンを削除するステップと、
    を実行させることを特徴とするコンピューティングデバイス。
  15. 前記第1条件は、前記第1ブロックチェーンのブロックの高さがプリセット値に一致することを含むことを特徴とする請求項14に記載のコンピューティングデバイス。
  16. 前記第1条件は、残った記憶領域が第1閾値より低いこと、又は、設定された時間間隔に達すること、又は、設定された操作指令を受け取ることを含むことを特徴とする請求項14に記載のコンピューティングデバイス。
  17. 前記第2ブロックのブロックの高さと、前記第1ブロックチェーンにおける最後の1つのブロックのブロックの高さが連続的であることを特徴とする請求項14に記載のコンピューティングデバイス。
  18. 前記第2ブロックに含まれる親ブロックのブロックヘッド固有値は、前記第1ブロックチェーンにおける最後の1つのブロックのブロックヘッド固有値であることを特徴とする請求項14に記載のコンピューティングデバイス。
  19. 前記1つ又は複数のプロセッサは、
    データバックアップテーブルにおいて前記第1ブロックチェーンにおける各ブロックの識別情報及び各ブロックの前記記憶システムにおける記憶アドレスを記録するステップを実行するために用いられることを特徴とする請求項14に記載のコンピューティングデバイス。
  20. 前記1つ又は複数のプロセッサは、
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックにアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスするステップ、又は
    前記第1ブロックチェーンを削除した後、前記第1ブロックチェーンにおけるいずれかのブロックのトランザクション情報にアクセスする場合、前記データバックアップテーブルから、前記ブロックの識別情報に対応する記憶アドレスを照会し、前記記憶アドレスに基づいて、前記記憶システムにおける前記ブロックにアクセスし、前記トランザクション情報の識別情報に基づいて、前記ブロックから前記トランザクション情報の内容を照会して取得するステップ
    を実行するために用いられることを特徴とする請求項19に記載のコンピューティングデバイス。
JP2020561794A 2018-09-30 2019-09-26 データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス Active JP7001843B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811160527.5A CN109299336B (zh) 2018-09-30 2018-09-30 数据备份方法、装置、存储介质及计算设备
CN201811160527.5 2018-09-30
PCT/CN2019/108295 WO2020063786A1 (zh) 2018-09-30 2019-09-26 数据备份方法、存储介质及计算设备

Publications (2)

Publication Number Publication Date
JP2021521556A true JP2021521556A (ja) 2021-08-26
JP7001843B2 JP7001843B2 (ja) 2022-01-20

Family

ID=65161494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020561794A Active JP7001843B2 (ja) 2018-09-30 2019-09-26 データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス

Country Status (7)

Country Link
US (1) US11494270B2 (ja)
EP (1) EP3779732A4 (ja)
JP (1) JP7001843B2 (ja)
KR (1) KR102392944B1 (ja)
CN (1) CN109299336B (ja)
SG (1) SG11202011132PA (ja)
WO (1) WO2020063786A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299336B (zh) * 2018-09-30 2022-07-01 腾讯科技(深圳)有限公司 数据备份方法、装置、存储介质及计算设备
EP3905636A1 (en) * 2018-12-28 2021-11-03 Hefei Dappworks Technology Co., Ltd. Data processing method and apparatus for blockchain, and blockchain system
US11010394B2 (en) * 2019-02-15 2021-05-18 Drfirst.Com, Inc. Efficient access of chainable records
CN110162526B (zh) * 2019-04-18 2023-02-24 创新先进技术有限公司 一种块链式账本中数据记录的查询方法、装置及设备
CN110188096B (zh) * 2019-04-18 2021-08-17 创新先进技术有限公司 一种数据记录的索引创建方法、装置及设备
US10990705B2 (en) 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
CN110162662B (zh) * 2019-04-18 2023-02-28 创新先进技术有限公司 一种块链式账本中数据记录的验证方法、装置及设备
US11204933B2 (en) 2019-05-23 2021-12-21 Advanced New Technologies Co., Ltd. Data manipulation record storage method, system, apparatus, and device
CN110275916B (zh) * 2019-05-23 2021-01-12 创新先进技术有限公司 数据操作记录的存储方法、系统、装置及设备
US10949118B2 (en) 2019-06-03 2021-03-16 Advanced New Technologies Co., Ltd. Data storage method, apparatus, and device for multi-layer blockchain-type ledger
CN110347744B (zh) * 2019-06-03 2020-07-24 阿里巴巴集团控股有限公司 多层块链式账本的数据存储方法、装置及设备
CN112153085B (zh) * 2019-06-26 2022-05-17 华为技术有限公司 一种数据处理方法、节点及区块链系统
US11372724B2 (en) 2019-07-05 2022-06-28 Samsung Electronics Co., Ltd Method and system for handling blockchain network based file storage system
CN110413621B (zh) * 2019-07-31 2021-08-06 中国工商银行股份有限公司 基于区块链的离线归档系统及方法
CN110489234A (zh) * 2019-08-16 2019-11-22 中国银行股份有限公司 区块链层的报文处理方法、装置、设备及可读存储介质
CN110958300B (zh) * 2019-10-30 2022-06-07 京东科技信息技术有限公司 一种数据的上传方法、系统、装置、电子设备和计算机可读介质
KR102274656B1 (ko) * 2019-11-22 2021-07-09 주식회사 티맥스엔터프라이즈 블록체인 네트워크에서 데이터를 관리하기 위한 기법
CN110928950A (zh) * 2019-11-25 2020-03-27 深圳壹账通智能科技有限公司 区块链交易信息管理方法、装置、计算机设备及存储介质
CN111177257A (zh) * 2019-12-13 2020-05-19 东软集团股份有限公司 一种区块链的数据存储及访问方法、装置以及设备
KR20210075654A (ko) * 2019-12-13 2021-06-23 현대자동차주식회사 블록체인 생성 시스템 및 그 운용 방법
US11062280B1 (en) * 2020-01-14 2021-07-13 Hiro Systems Pbc Network consensus-based data processing
CN111447069B (zh) * 2020-03-23 2021-10-26 腾讯科技(深圳)有限公司 一种基于区块链的低频访问数据处理方法
CN111506557A (zh) * 2020-04-10 2020-08-07 上海七印信息科技有限公司 Utxo库建立方法、装置、计算机设备和存储介质
CN111340496B (zh) * 2020-05-20 2020-10-27 南京如般量子科技有限公司 一种自动优化历史交易数据的区块链系统及方法
CN113709197B (zh) * 2020-05-21 2024-02-23 顺丰科技有限公司 联盟区块链组织系统、区块链系统
CN111798317A (zh) * 2020-07-07 2020-10-20 天使方舟有限公司 多维空间区块链及基于该区块链的数据处理方法
CN111836268B (zh) * 2020-07-10 2023-04-28 全链通有限公司 终端设备接入信息处理方法、设备及存储介质
CN112329942A (zh) * 2020-11-06 2021-02-05 联想(北京)有限公司 一种基于区块链的信息处理方法、装置及设备
CN112364209B (zh) * 2020-12-09 2023-11-28 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
US20220191005A1 (en) * 2020-12-14 2022-06-16 Brandon E. D'Amore Stranded blockchain
KR102389139B1 (ko) * 2021-02-17 2022-04-22 유비콘 주식회사 블록체인 기반 분산저장을 통한 공간향상 솔루션 시스템
CN113127562A (zh) * 2021-03-30 2021-07-16 河南九域腾龙信息工程有限公司 一种低冗余区块链数据存储和检索方法及系统
CN113157492A (zh) * 2021-04-07 2021-07-23 北京思特奇信息技术股份有限公司 一种分布式数据库的备份方法和恢复方法以及备份系统
CN113505024B (zh) * 2021-07-08 2024-02-23 网易(杭州)网络有限公司 联盟链的数据处理方法、装置、电子设备及存储介质
CN113627938A (zh) * 2021-08-24 2021-11-09 上海点融信息科技有限责任公司 一种区块链的数据删除方法、装置、设备及存储介质
CN114089924A (zh) * 2021-12-02 2022-02-25 东软集团股份有限公司 区块链账本数据存储系统及方法
CN115357346B (zh) * 2022-10-13 2023-02-03 北京百度网讯科技有限公司 基于区块链的事务处理方法、装置、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180150799A1 (en) * 2016-11-30 2018-05-31 International Business Machines Corporation Blockchain checkpoints and certified checkpoints
US20180204191A1 (en) * 2015-07-08 2018-07-19 Barclays Bank Plc Secure Digital Data Operations

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
KR101781583B1 (ko) * 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
CN106383754A (zh) * 2016-09-19 2017-02-08 北京众享比特科技有限公司 一种基于区块链技术的数据库备份、恢复方法和系统
CN106713412B (zh) * 2016-11-09 2020-11-06 弗洛格(武汉)信息科技有限公司 一种区块链系统及区块链系统的架构方法
CN106528346A (zh) 2016-11-14 2017-03-22 捷开通讯(深圳)有限公司 一种智能终端及其应急数据备份系统与数据备份方法
US10460126B2 (en) * 2016-11-21 2019-10-29 Adobe Inc. Providing user control of shared personal information
US10523421B2 (en) * 2016-11-30 2019-12-31 International Business Machines Corporation Checkpoints for permissionless blockchains
US10445302B2 (en) * 2017-01-03 2019-10-15 International Business Machines Corporation Limiting blockchain size to optimize performance
KR102026225B1 (ko) * 2017-01-19 2019-09-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
CN106919476A (zh) * 2017-02-24 2017-07-04 中国科学院软件研究所 基于联盟链的数据安全备份方法、客户端及云服务端
CN107819749A (zh) * 2017-10-26 2018-03-20 平安科技(深圳)有限公司 基于以太坊的区块链系统和交易数据处理方法
JP2019109635A (ja) * 2017-12-16 2019-07-04 株式会社bitFlyer ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード
CN108564469A (zh) * 2018-04-11 2018-09-21 北京奇虎科技有限公司 区块链节点的画像数据获取方法、装置及计算设备
US11323530B2 (en) * 2018-06-06 2022-05-03 International Business Machines Corporation Proxy agents and proxy ledgers on a blockchain
US20190378139A1 (en) * 2018-06-06 2019-12-12 The Bank Of New York Mellon Tracking and recovering transactions performed across multiple applications
US11070360B2 (en) * 2018-08-13 2021-07-20 International Business Machines Corporation Parallel transaction validation and block generation in a blockchain
CN109299336B (zh) * 2018-09-30 2022-07-01 腾讯科技(深圳)有限公司 数据备份方法、装置、存储介质及计算设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180204191A1 (en) * 2015-07-08 2018-07-19 Barclays Bank Plc Secure Digital Data Operations
US20180150799A1 (en) * 2016-11-30 2018-05-31 International Business Machines Corporation Blockchain checkpoints and certified checkpoints

Also Published As

Publication number Publication date
EP3779732A1 (en) 2021-02-17
US20210026740A1 (en) 2021-01-28
SG11202011132PA (en) 2020-12-30
KR20210002574A (ko) 2021-01-08
JP7001843B2 (ja) 2022-01-20
CN109299336B (zh) 2022-07-01
US11494270B2 (en) 2022-11-08
WO2020063786A1 (zh) 2020-04-02
EP3779732A4 (en) 2021-08-25
KR102392944B1 (ko) 2022-04-29
CN109299336A (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
JP7001843B2 (ja) データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス
US10255108B2 (en) Parallel execution of blockchain transactions
US10713654B2 (en) Enterprise blockchains and transactional systems
US11468013B2 (en) Prioritizing content item synchronization based on sharing
US9898522B2 (en) Distributed storage of aggregated data
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
JP6954891B2 (ja) 共有コンテンツの制御転送
CN105210062A (zh) 用于分布式数据库系统的系统范围检查点避免
CN105190622A (zh) 用于分布式数据库系统的快速崩溃恢复
US11695559B2 (en) Nested tenancy that permits a hierarchy having a plurality of levels
WO2021103403A1 (zh) 区块链交易信息管理方法、装置、计算机设备及存储介质
WO2020125233A1 (zh) 字段更新方法及装置、电子设备
US9342531B2 (en) Managing conflicted copies
US11050550B2 (en) Methods and systems for reading data based on plurality of blockchain networks
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
US11687533B2 (en) Centralized storage for search servers
WO2019170018A1 (zh) 应用发布方法及装置
US10127270B1 (en) Transaction processing using a key-value store
CN110362590A (zh) 数据管理方法、装置、系统、电子设备及计算机可读介质
EP3349416B1 (en) Relationship chain processing method and system, and storage medium
WO2023207087A1 (zh) 用于区块链的最优链路选择方法及装置和电子设备
US10114704B1 (en) Updating database records while maintaining accessible temporal history
US10015248B1 (en) Syncronizing changes to stored data among multiple client devices
US20240046249A1 (en) Methods and systems for linking digital wallets on a blockchain network
TW201403362A (zh) 在多主控環境中通過以頁面爲基礎之信息追蹤管理大型資料集

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201102

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211224

R150 Certificate of patent or registration of utility model

Ref document number: 7001843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150