(57)【要約】  本発明はブロックチェーンのブロックデータのアーカイブ方法、装置及び照会方法、装置を開示し、アーカイブ条件を満たすブロックデータをアーカイブすることで、ノードに格納されるブロックデータを低減させ、ディスク上のブロックデータの占有スペースを減少させ、ディスクのスペース使用率を向上させ、ノードデータのバックアップ・復元効率を高める。アーカイブ方法は、ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップと、前記アーカイブ条件を満たすブロックデータが検出されると、前記アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ前記圧縮パッケージを高信頼分散ストレージシステムにアップロードするステップと、アップロードが成功すると、前記圧縮パッケージのファイルのハッシュ値を取得し、前記圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入するステップと、を含む。
2019532401.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンのブロックデータのアーカイブ方法であって、
ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップと、
前記アーカイブ条件を満たすブロックデータが検出されると、前記アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ前記圧縮パッケージを高信頼分散ストレージシステムにアップロードするステップと、
アップロードが成功すると、前記圧縮パッケージのファイルのハッシュ値を取得し、前記圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入するステップと、を含むことを特徴とするブロックチェーンのブロックデータのアーカイブ方法。
【請求項２】
前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、
前記ブロックチェーンノードのローカルに格納されているブロックデータの数を確認するステップと、
前記ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータから前記所定数のブロックデータを取得するステップと、
前記所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定するステップと、を含むことを特徴とする請求項１に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項３】
前記所定数のブロックデータの各々のアクセス頻度がいずれも所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定することは、
所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録するステップと、
前記所定数のブロックデータの高さ値と、前記アクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングするステップと、
いずれもマッチングしないと、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定するステップと、を含むことを特徴とする請求項２に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項４】
前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、
所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出するステップを含むことを特徴とする請求項２又は３に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項５】
前記ブロックチェーンノードのデータベースにおいて、前記ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するための前記アーカイブファイルハッシュテーブルを保守するステップをさらに含むことを特徴とする請求項１〜４のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項６】
アップロードが失敗すると、エラーログを出力し、再アップロードするステップと、
再アップロードが失敗すると、前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップに戻るステップと、
生じた冗長データを削除するステップと、をさらに含むことを特徴とする請求項１〜５のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項７】
ブロックチェーンのブロックデータの照会方法であって、
照会対象のブロックデータの高さ値を含む照会要求を取得するステップと、
前記照会対象のブロックデータがアーカイブ済みブロックデータであると、前記高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて、前記高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会するステップと、
前記高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するステップと、
存在すると、前記履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するステップと、
存在しないと、高信頼分散ストレージシステムから前記ファイルのハッシュ値に対応する圧縮パッケージをダウンロードし、前記圧縮パッケージを解凍して照会結果をフィードバックするステップと、を含むことを特徴とするブロックチェーンのブロックデータの照会方法。
【請求項８】
前記高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されないと、前記照会要求をほかのノードに転送することを特徴とする請求項７に記載のブロックチェーンのブロックデータの照会方法。
【請求項９】
照会要求を取得した後、
前記高さ値が前記ブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、前記照会対象のブロックデータがアーカイブされたか否かを判断するステップをさらに含むことを特徴とする請求項７又は８に記載のブロックチェーンのブロックデータの照会方法。
【請求項１０】
ブロックチェーンのブロックデータのアーカイブ装置であって、
ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出する検出モジュールと、
前記検出モジュールによって前記アーカイブ条件を満たすブロックデータが検出されると、前記アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ前記圧縮パッケージを高信頼分散ストレージシステムにアップロードするアップロードモジュールと、
アップロードモジュールによるアップロードが成功すると、前記圧縮パッケージのファイルのハッシュ値を取得し、前記圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する記録モジュールと、を備えることを特徴とするブロックチェーンのブロックデータのアーカイブ装置。
【請求項１１】
前記検出モジュールは、
前記ブロックチェーンノードのローカルに格納されているブロックデータの数を確認する確認ユニットと、
ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータから前記所定数のブロックデータを取得する取得ユニットと、
前記所定数のブロックデータの各々のアクセス頻度がいずれも所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定する決定ユニットと、を備えることを特徴とする請求項１０に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１２】
前記決定ユニットは、具体的には、所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録し、前記所定数のブロックデータの高さ値と、前記アクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングし、いずれもマッチングしないと、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定することを特徴とする請求項１１に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１３】
前記検出モジュールは、具体的には、所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出することを特徴とする請求項１０〜１２のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１４】
ブロックチェーンノードのデータベースにおいて、前記ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するための前記アーカイブファイルハッシュテーブルを保守する保守モジュールをさらに備えることを特徴とする請求項１０〜１３のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１５】
前記アップロードモジュールによるアップロードが失敗すると、エラーログを出力するエラー報告モジュールと、
再アップロードを行い、前記再アップロードが失敗すると、前記検出モジュールに戻る戻りモジュールと、
生じた冗長データを削除する削除モジュールと、をさらに備えることを特徴とする請求項１０〜１４のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１６】
照会対象のブロックデータの高さ値を含む照会要求を取得する取得モジュールと、
前記照会対象のブロックデータがアーカイブ済みブロックデータであると、前記高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて、前記高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会する照会モジュールと、
前記照会モジュールによって前記ハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するマッチングモジュールと、
前記マッチングモジュールによって前記フォルダが照会されると、前記履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するアクセスモジュールと、
前記マッチングモジュールによって前記フォルダが照会されないと、高信頼分散ストレージシステムから前記ハッシュ値に対応する圧縮パッケージをダウンロードし、前記圧縮パッケージを解凍して照会結果をフィードバックするダウンロードモジュールと、を備えることを特徴とするブロックチェーンのブロックデータの照会装置。
【請求項１７】
前記照会モジュールによって前記ハッシュ値が照会されないと、前記照会要求をほかのノードに転送する転送モジュールをさらに備えることを特徴とする請求項１６に記載のブロックチェーンのブロックデータの照会装置。
【請求項１８】
前記照会対象のブロックデータの高さ値が前記ブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、前記照会対象のブロックデータがアーカイブされたか否かを判断する判断モジュールをさらに備えることを特徴とする請求項１６又は１７に記載のブロックチェーンのブロックデータの照会装置。
【請求項１９】
メモリ、プロセッサ、及び前記メモリに記憶され前記プロセッサに実行されるコンピュータプログラムを備えるコンピュータ装置であって、
前記プロセッサは前記コンピュータプログラムを実行する時、請求項１〜６のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法、及び／又は請求項７〜９のいずれか一項に記載のブロックチェーンのブロックデータの照会方法のステップを実現することを特徴とするコンピュータ装置。
【請求項２０】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、
前記コンピュータプログラムがプロセッサに実行される時、請求項１〜６のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法、及び／又は請求項７〜９のいずれか一項に記載のブロックチェーンのブロックデータの照会方法のステップを実現することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年８月２日に提出した出願番号が第２０１７１０６５１１０３．８号の中国特許出願の優先権を主張し、当該出願の全体が参照により本明細書に組み込まれる。
【０００２】
本発明は、コンピュータの技術分野に関し、具体的には、ブロックチェーンのブロックデータのデータアーカイブ方法、アーカイブ装置、及び照会方法、照会装置に関する。
【背景技術】
【０００３】
ブロックチェーンは分散型ノードコンセンサスアルゴリズムを用いてデータを生成及び更新し、暗号手法を用いてデータ伝送とアクセスのセキュリティを確保し、改ざんや偽造が不可能な分散型台帳を生成し、互いに信頼できるデータネットワークを構築する。
【０００４】
データアーカイブはオンラインデータベースの規模をほぼ維持しながらユーザーアプリケーションに安定的なデータベース特性を提供できる方法であり、その動作原理について、オンラインデータベースにおける長期未使用データを履歴データベースに移行し又はファイルの形式でアーカイブすることで、アクティブデータの規模を低減させる。
【０００５】
アーカイブ済みのデータはオンラインデータベースの応用に影響を与えることなく随時バックアップできるため、この部分のデータは一般に長期非アクティブデータであり、オンラインデータベースもデータアーカイブによってスリム化され、バックアップデータ量が減少し、全体的にバックアップを必要とするデータ総量を減少させ、また、データの同期及び復元を行う際に、先ず、短時間内にオンラインデータベースの復元を完了し、続いて、ほかのデータの復元動作を行い、それにより効率と可用性を向上させる。
【０００６】
ブロックチェーンの各ノードに完全データが格納され、チェーンの高さの増加に伴って、各ノードのデータが増え続けるため、ブロックチェーンのデータをアーカイブする必要があるが、現在、ブロックチェーンノードのブロックデータに対する高効率のデータアーカイブ方法がなく、研究したところ、ブロックチェーンに格納されたデータは主に状態データとブロックデータに分けられ、ブロックデータのアクセス確率が低く、データ量が大きく、且つ変更しないことがわかるため、ブロックチェーンのブロックデータをデータアーカイブする方法を提供する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記事情に鑑みて、本発明は、ディスク上のブロックデータの占有スペースを減少させ、ノードデータのバックアップ・復元効率を向上させるブロックチェーンのブロックデータのアーカイブ方法、装置及び照会方法、装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、ブロックチェーンのブロックデータのアーカイブ方法を提供し、ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップと、アーカイブ条件を満たすブロックデータが検出されると、アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ圧縮パッケージを高信頼分散ストレージシステムにアップロードするステップと、アップロードが成功すると、圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入するステップと、を含む。
【０００９】
一実施例では、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、ブロックチェーンノードのローカルに格納されているブロックデータの数を確認するステップと、ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータスタートから所定数のブロックデータを取得するステップと、所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定するステップと、を含む。
【００１０】
一実施例では、所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定することは、所定時間内にアクセス回数が所定アクセス回数を超えるブロックデータ及びそれに対応する高さ値を記録するステップと、所定数のブロックデータの高さ値と、アクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングするステップと、いずれもマッチングしないと、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定するステップと、を含む。
【００１１】
一実施例では、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出するステップを含む。
【００１２】
一実施例では、アーカイブ方法は、ブロックチェーンノードのデータベースにおいて、ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と該圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するためのアーカイブファイルハッシュテーブルを保守するステップをさらに含む。
【００１３】
一実施例では、アーカイブ方法は、アップロードが失敗すると、エラーログを出力し、再アップロードするステップと、再アップロードが失敗すると、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップに戻るステップと、生じた冗長データを削除するステップと、をさらに含む。
【００１４】
本発明の第２態様によれば、ブロックチェーンのブロックデータの照会方法を提供し、照会対象のブロックデータの高さ値を含む照会要求を取得するステップと、照会対象のブロックデータがアーカイブ済みブロックデータであると、高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会するステップと、高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するステップと、存在すると、履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するステップと、存在しないと、高信頼分散ストレージシステムからファイルのハッシュ値に対応する圧縮パッケージをダウンロードし、圧縮パッケージを解凍して照会結果をフィードバックするステップと、を含む。
【００１５】
一実施例では、高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されないと、照会要求をほかのノードに転送する。
【００１６】
一実施例では、照会要求を取得した後、高さ値がブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、照会対象のブロックデータがアーカイブされたか否かを判断するステップをさらに含む。
【００１７】
本発明の第３態様によれば、ブロックチェーンのブロックデータのアーカイブ装置を提供し、ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出する検出モジュールと、検出モジュールによってアーカイブ条件を満たすブロックデータが検出されると、アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ圧縮パッケージを高信頼分散ストレージシステムにアップロードするアップロードモジュールと、アップロードモジュールによるアップロードが成功すると、圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する記録モジュールと、を備える。
【００１８】
一実施例では、検出モジュールは、ブロックチェーンノードのローカルに格納されているブロックデータの数を確認する確認ユニットと、ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータスタートから所定数のブロックデータを取得する取得ユニットと、所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定する決定ユニットと、を備える。
【００１９】
一実施例では、決定ユニットは、具体的には、所定時間内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録し、所定数のブロックデータの高さ値と、所定時間内にアクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングし、いずれもマッチングしないと、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定する。
【００２０】
一実施例では、検出モジュールは、具体的には、所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出する。
【００２１】
一実施例では、アーカイブ装置は、ブロックチェーンノードのデータベースにおいて、ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するためのアーカイブファイルハッシュテーブルを保守する保守モジュールをさらに備える。
【００２２】
一実施例では、アーカイブ装置は、アップロードモジュールによるアップロードが失敗すると、エラーログを出力するエラー報告モジュールと、再アップロードを行い、再アップロードが失敗すると、検出モジュールに戻る戻りモジュールと、生じた冗長データを削除する削除モジュールと、をさらに備える。
【００２３】
本発明の第４態様によれば、ブロックチェーンのブロックデータの照会装置を提供し、照会対象のブロックデータの高さ値を含む照会要求を取得する取得モジュールと、照会対象のブロックデータがアーカイブ済みブロックデータであると、高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会する照会モジュールと、照会モジュールによってハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するマッチングモジュールと、マッチングモジュールによってフォルダが照会されると、履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するアクセスモジュールと、マッチングモジュールによってフォルダが照会されないと、高信頼分散ストレージシステムからハッシュ値に対応する圧縮パッケージをダウンロードし、圧縮パッケージを解凍して照会結果をフィードバックするダウンロードモジュールと、を備える。
【００２４】
一実施例では、照会装置は、ハッシュ値取得モジュールによってハッシュ値が照会されないと、照会要求をほかのノードに転送する転送モジュールをさらに備える。
【００２５】
一実施例では、照会装置は、照会対象のブロックデータの高さ値がブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、照会対象のブロックデータがアーカイブされたか否かを判断する判断モジュールをさらに備える。
【００２６】
本発明はコンピュータ装置をさらに提供し、メモリ、プロセッサ、及びメモリに記憶されプロセッサに実行されるコンピュータプログラムを備え、該プロセッサがコンピュータプログラムを実行する時、上記ブロックチェーンのブロックデータのアーカイブ方法、及び／又は上記ブロックチェーンのブロックデータの照会方法のステップを実現する。
【００２７】
本発明はコンピュータ可読記憶媒体をさらに提供し、コンピュータプログラムが記憶され、該コンピュータプログラムがプロセッサに実行される時、上記ブロックチェーンのブロックデータのアーカイブ方法、及び／又は上記ブロックチェーンのブロックデータの照会方法のステップを実現する。
【発明の効果】
【００２８】
本発明の実施例に係るブロックチェーンのブロックデータのアーカイブ方法、装置及び照会方法、装置によれば、ブロックデータの高さ値とアクセス頻度をアーカイブ条件とすることで、使用頻度の低いブロックデータを簡単かつ効率的に分割でき、これらの使用頻度の低いブロックデータの圧縮パッケージを高信頼分散ストレージシステムにアップロードすることで、アーカイブ済みデータのセキュリティを確保し、改ざんを防止でき、アップロードした圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲を１つの記録としてアーカイブファイルハッシュテーブルに挿入することで、アーカイブ済みデータの記録を実現し、アーカイブ済みデータの復元照会が容易になる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施例に係るブロックチェーンのブロックデータのアーカイブ方法のフローチャートである。
【図２】本発明の別の実施例に係るブロックチェーンのブロックデータのアーカイブ方法のフローチャートである。
【図３】本発明の一実施例に係るブロックチェーンのブロックデータの照会方法のフローチャートである。
【図４】本発明の別の実施例に係るブロックチェーンのブロックデータの照会方法のフローチャートである。
【図５】本発明の一実施例に係るブロックチェーンのブロックデータのアーカイブ装置の構造ブロック図である。
【図６】本発明の一実施例に係るブロックチェーンのブロックデータの照会装置の構造ブロック図である。
【図７】本発明の一実施例に係る電子機器の構造ブロック図である。
【図８】本発明の一実施例に係るコンピュータ装置の構造ブロック図である。
【発明を実施するための形態】
【００３０】
本発明の目的、技術案及び利点をより明確にするために、以下、図面を参照して本発明を更に詳細に説明する。
【００３１】
図１は本発明の一実施例に係るブロックチェーンのブロックデータのアーカイブ方法のフローチャートである。該方法はブロックチェーンに基づくノード又はネットワーク装置によって実行できる。図示するように、方法１００は、ステップ１１０〜１３０を含む。
【００３２】
１１０：ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出する。
【００３３】
ブロックチェーンは中心無し分散型元帳を実現する技術の一つである。ブロックチェーンを構成する各々の「ブロックデータ」は台帳中の「ページ」と類似している。各ページには複数の取引が記録されている。各ページを時間順にバインドすると、完全な台帳、すなわちブロックチェーンが形成される。ブロックデータの高さ値とアクセス頻度は、ブロックチェーンノードのブロックデータが長期未使用データであるか否かを直感的に反映できる。
【００３４】
１２０：アーカイブ条件を満たすブロックデータが検出されると、アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ圧縮パッケージを高信頼分散ストレージシステムにアップロードする。
【００３５】
該高信頼分散ストレージシステムは、改ざんや紛失がなく、オープントレーサビリティ及び天然ディザスタリカバリ復旧特性を有する高信頼分散ストレージシステムである。
【００３６】
１３０：アップロードが成功すると、圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する。
【００３７】
本実施例に係るブロックチェーンのブロックデータのアーカイブ方法によれば、ブロックデータの高さ値とアクセス頻度をアーカイブ条件とすることで、使用頻度の低いブロックデータを簡単かつ効率的に分割できる。これらの使用頻度の低いブロックデータの圧縮パッケージを高信頼分散ストレージシステムにアップロードすることで、アーカイブ済みデータのセキュリティを確保し、改ざんを防止できる。アップロードした圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲を１つの記録としてアーカイブファイルハッシュテーブルに挿入することで、アーカイブ済みデータの記録を実現し、アーカイブ済みデータの復元照会が容易になる。
【００３８】
図２は本発明の別の実施例に係るブロックチェーンのブロックデータのアーカイブ方法のフローチャートである。図示するように、該方法２００はステップ２１０〜２８０を含む。
【００３９】
２１０：ブロックチェーンノードのデータにアーカイブ条件を満たすブロックデータが存在するか否かを検出し、存在すると、２２０に進み、存在しないと、２１０を繰り返す。
【００４０】
アーカイブ条件は、ブロックデータの高さ値が所定高さ値未満であるか否か、及びアクセス頻度が所定アクセス頻度未満であるか否かを含む。該所定高さ値はブロックチェーンノードのローカルに格納されているブロックデータの数及びこれらローカルに格納されているブロックデータの最小高さ値、及び所定数に決められる。
【００４１】
具体的には、一実施例では、ブロックチェーンノードのデータにアーカイブ条件を満たすブロックデータが存在するか否かを検出するプロセスは、ステップａ〜ｃを含む。
【００４２】
ａ：ブロックチェーンノードのローカルに格納されているブロックデータの数、すなわち最小高さ値のブロックデータと最大高さ値のブロックデータとの間のすべてのブロックデータの数を確認する。
【００４３】
たとえば、ローカルに格納されているブロックデータの最小高さ値をＨ０、最大高さ値をＨ１１とすると、ローカルに格納されているブロックデータの数がＨ１１−Ｈ０＋１＝１１個である。すなわち、最小高さ値と最大高さ値との間のブロックデータは１１個である。
【００４４】
ｂ：ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータから所定数のブロックデータを取得する。
【００４５】
所定数をＭとしてもよく、所定数の具体的な数値について特に限定せず、実際の応用環境に応じて設定できる。たとえば、Ｍを１０とする場合、ａ中の具体的な実施例を例にすると、ローカルに格納されている最小高さ値と最大高さ値との間のブロックデータの数が所定数よりも大きいと、すなわち１１が１０よりも大きいと、最小高さ値のブロックデータから所定数のブロックデータ、すなわちＨ０〜Ｈ１０のブロックデータを取得する。
【００４６】
ｃ：該所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、該所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定する。
【００４７】
たとえば、メモリにおいて、所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びこれらのブロックデータに対応する高さ値を記録するための１つのリストを保守し、該所定アクセス頻度をＮとし、アクセス頻度がＮを超えるブロックデータ、たとえば｛Ｔ１…Ｔ１０｝を記録する。
【００４８】
この場合、該所定数のブロックデータ、すなわちＨ０〜Ｈ１０のブロックデータがいずれも｛Ｔ１…Ｔ１０｝内にないと、該Ｈ０〜Ｈ１０のブロックデータを、アーカイブ条件を満たすブロックデータとして決定し、すなわち該所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、該所定数のブロックデータがアーカイブ条件を満たすと決定する。
【００４９】
なお、所定アクセス頻度の具体的な数値は特に限定せず、実際の応用に応じて設定できる。
【００５０】
２２０：アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成する。
【００５１】
たとえば、アーカイブ条件を満たすブロックデータをローカルｂｌｏｃｋｓｔｏｒｅ．ｄｂデータベースからコピーし、圧縮して圧縮パッケージを生成する。
【００５２】
一実施例では、２２０では、アーカイブ条件を満たすブロックデータをローカルからコピーすることは、指定ルートを設定するステップと、設定した指定ルートによって、アーカイブ条件を満たすブロックデータをローカルからコピーするステップと、をさらに含む。
【００５３】
２３０：圧縮パッケージを高信頼分散ストレージシステムにアップロードし、アップロードが成功すると、２４０に進み、アップロードが失敗すると、２５０−２７０に進む。
【００５４】
２４０：アップロードした圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値とアップロードした圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する。
【００５５】
たとえば、該アーカイブファイルハッシュテーブルにおいてｋｅｙ−ｖａｌｕｅ格納方式を採用し、ブロックデータの高さ値範囲をｋｅｙ、アップロードした圧縮パッケージのファイルのハッシュ値をｖａｌｕｅとして記録を生成する。たとえば、１＿１０００：ｆｉｌｅｈａｓｈ０という記録は、高さ１〜１０００のブロックデータの圧縮パッケージに対応するハッシュ値がｆｉｌｅｈａｓｈ０であることを示す。
【００５６】
圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入した後、すなわち２４０の後、方法２００は、２８０：ローカルの冗長データをクリアするステップをさらに含んでもよい。
【００５７】
具体的には、アップロードが成功し、圧縮パッケージのファイルのハッシュ値とアップロードしたブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入した後、すなわち２４０の後、ローカルの圧縮パッケージ、ローカルにアーカイブされたブロックデータの冗長データをクリアし、それにより冗長データの蓄積とディスクに対する占有を回避する。
【００５８】
２５０：エラーログを出力する。
【００５９】
２６０：圧縮パッケージを再アップロードし、再アップロードが成功すると、２４０に進み、再アップロードが失敗すると、２１０に戻り、且つ２７０に進む。
【００６０】
具体的には、出力したエラーログのフィードバックに基づき、エラーを変更し、アップロードが成功するまで、所定周期ごとに圧縮とアップロードを繰り返す。
【００６１】
２７０：生じた冗長データを削除する。
【００６２】
具体的には、今回生成しアップロードが失敗した圧縮パッケージ等の冗長データを削除する。
【００６３】
なお、２６０〜２７０は再アップロードのプロセスであり、上記方式を除き、ほかの方式によって該プロセスを実現してもよく、本発明の実施例では該プロセスを限定しない。
【００６４】
上記実施例のいずれかに係るブロックチェーンのブロックデータのアーカイブ方法によれば、ブロックデータの高さ値とアクセス頻度をアーカイブ条件とすることで、使用頻度の低いブロックデータを簡単かつ効率的に分割できる。これらの使用頻度の低いブロックデータの圧縮パッケージを高信頼分散ストレージシステムにアップロードすることで、アーカイブ済みデータのセキュリティを確保し、改ざんを防止できる。アップロードした圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲を１つの記録としてアーカイブファイルハッシュテーブルに挿入することで、アーカイブ済みデータの記録を実現し、アーカイブ済みデータの復元照会が容易になる。
【００６５】
一実施例では、２１０は、具体的には、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出するステップを含む。ブロックチェーンノードデータのうちアーカイブ条件を満たすブロックデータを周期的に検出し、該部分のデータをアーカイブすることで、アクティブデータの規模を低減させるとともに、各回のアーカイブのデータ量を減少させ、バックアップ・復元効率を向上させる。
【００６６】
この場合、方法２００は、周期的検出の時間を設定するステップをさらに含む。具体的には、該周期時間は所定数のブロックデータを生成する時間よりも小さい。
【００６７】
該周期的検出はリアルタイム検出であってもよく、周期的検出の時間は実際の応用に応じて設定でき、本発明の実施例ではそれを限定しない。
【００６８】
検出周期を所定数のブロックデータの生成時間よりも小さくすることで、所定数のブロックデータを再生成する前に、アーカイブ条件を満たす所定数のブロックデータをアーカイブでき、それによりローカルにおけるブロックデータの累積を回避できる。
【００６９】
一実施例では、方法２００は、各ブロックチェーンノードデータベースにおいて、ブロックチェーンノードがアーカイブした圧縮パッケージのファイルのハッシュ値とアーカイブしたブロックデータの高さ範囲との対応関係を永続的に保存するための１つのアーカイブファイルハッシュテーブルを保守するステップをさらに含む。
【００７０】
なお、該ステップは２１０の前に実行されてもよく、２４０の前に実行されてもよく、以前に保守したアーカイブファイルハッシュテーブルを使用してもよく、本発明の実施例ではそれを限定しない。
【００７１】
一実施例では、方法２００は、ホットデータをキャッシュ方式で格納するステップをさらに含む。ホットデータとは、ローカルに格納されているブロックデータのうち、特定の期間にアクセスされる可能性がある又は複数回アクセスされるブロックデータである。
【００７２】
ホットデータにキャッシュ方式を適用することで、アクセス速度を加速し、装置の処理負荷を軽減させる。これらのホットデータがアクセスされず且つアーカイブ条件を満たすと、データアーカイブを行う。
【００７３】
図３は本発明の一実施例に係るブロックチェーンのブロックデータの照会方法のフローチャートである。図示するように、該方法３００はステップ３１０〜３５０を含む。
【００７４】
３１０：照会対象のブロックデータの高さ値を含む照会要求を取得する。
【００７５】
該照会要求は照会対象のブロックチェーンノードのブロックデータの高さ値を含む。ほかの実施例では、照会要求はほかのコンテンツをさらに含んでもよく、本発明の実施例では、照会要求のコンテンツを限定しない。
【００７６】
３２０：照会対象のブロックデータがアーカイブ済みブロックデータであると、高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録との対応関係を含むアーカイブファイルハッシュテーブルにおいて、高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会する。
【００７７】
３３０：高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会し、存在すると、３４０に進み、存在しないと、３５０に進む。
【００７８】
３４０：履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会する。
【００７９】
３５０：高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードし、圧縮パッケージを解凍して照会結果をフィードバックする。
【００８０】
本実施例に係るブロックチェーンのブロックデータの照会方法によれば、デフォルトでは照会対象のブロックデータがアーカイブ済みブロックデータである場合、その高さ値に応じてアーカイブファイルハッシュテーブルにおいて照会し、アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会することで、先ず、ローカルにダウンロードした履歴データディレクトリ下に照会でき、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが照会されないと、高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードし、それにより直接高信頼分散ストレージシステムからダウンロードすることに起因する処理リソースの浪費及び複数回のダウンロードに起因する圧縮パッケージ等のファイルの蓄積の問題を回避する。
【００８１】
図４は本発明の一実施例に係るブロックチェーンのブロックデータの照会方法のフローチャートである。図示するように、該方法４００はステップ４１０〜４８０を含む。
【００８２】
４１０：照会要求を取得する。
【００８３】
具体的には、照会要求はクライアントによって確立でき、ユーザーは高さ値を入力して、該高さ値に対応するブロックデータを照会する。
【００８４】
４２０：高さ値に応じて、照会対象のブロックデータがアーカイブされているか否かを判断し、ＹＥＳであると、４３０に進み、ＮＯであると、ローカルにアクセスして照会する。
【００８５】
具体的には、該高さ値がブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、照会対象のブロックデータがアーカイブされているか否かを判断し、ＹＥＳであると、４３０に進み、ＮＯであると、ローカルｂｌｏｃｋｓｔｏｒｅ．ｄｂにアクセスして照会する。
【００８６】
当業者であれば、照会前に照会対象のブロックデータがアーカイブされていると決定すると、４２０を省略して、直接４３０に進むようにしてもよいと理解できる。
【００８７】
４３０：高さ値に応じてアーカイブファイルハッシュテーブルにおいて照会し、アーカイブファイルハッシュテーブルにおいて該高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、４４０に進み、アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されないと、照会要求を転送し、ほかのノードに要求する。
【００８８】
ここで、アーカイブファイルハッシュテーブルは、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録を含む。たとえば、該アーカイブファイルハッシュテーブルにおいてｋｅｙ−ｖａｌｕｅ格納方式を採用し、ブロックデータの高さ値範囲をｋｅｙ、アップロードした圧縮パッケージのファイルのハッシュ値をｖａｌｕｅとして記録を生成する。たとえば、１＿１０００：ｆｉｌｅｈａｓｈ０という記録は、高さ１〜１０００のブロックデータの圧縮パッケージに対応するハッシュ値がｆｉｌｅｈａｓｈ０であることを示す。
【００８９】
具体的には、該ノードのアーカイブファイルハッシュテーブルにおいて高さ値に対応する記録が照会されると、マッチングアルゴリズムによって該照会要求中の高さ値に対応する圧縮パッケージのファイルのハッシュ値を計算し、４４０に進む。
【００９０】
新たなノードがクラスタに追加されると、アーカイブファイルハッシュテーブルの同期中、要求が該ノードにアクセスする。アーカイブファイルハッシュテーブルが完全同期しておらず、アーカイブ済みブロックデータが位置する圧縮パッケージのファイルのハッシュ値の照会が失敗する可能性があるため、アーカイブファイルハッシュテーブルを更新した後、本ノード情報を含ませて照会要求を転送し、ほかのノードに照会を要求する。その照会プロセスは本実施例の前記方式と類似するため、ここでは詳細説明を省略する。
【００９１】
４４０：ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会し、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが照会されると、４５０に進み、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが照会されないと、４６０に進む。
【００９２】
具体的には、マッチング計算によって取得された圧縮パッケージのファイルのハッシュ値に応じて、ローカルにダウンロードした履歴データディレクトリ下に、該圧縮パッケージのファイルのハッシュ値と同一ハッシュ値名称を有するフォルダが存在するか否かを照会し、存在すると、４５０に進み、存在しないと、４６０に進む。
【００９３】
４５０：履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のデータベースファイルにアクセスして検索する。
【００９４】
４６０：高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードし、ダウンロードが成功すると、４７０に進み、ダウンロードが失敗すると、エラーをフィードバックし、再検索する。
【００９５】
該高信頼分散ストレージシステムは改ざんや紛失がなく、オープントレーサビリティ及び天然ディザスタリカバリ復旧特性を有する高信頼分散ストレージシステムである。
【００９６】
４７０：解凍して照会結果をフィードバックする。
【００９７】
一実施例では、４７０の後、方法４００は、
４８０：今回生じた冗長データベースフォルダと圧縮パッケージを次の所定周期にクリアするステップをさらに含む。
【００９８】
具体的には、設定された生じた冗長データベースフォルダと圧縮パッケージをクリアする所定周期の次の周期に、今回生じた冗長データをクリアする。
【００９９】
該所定周期はブロックチェーンノードデータのうちアーカイブ条件を満たすブロックデータを周期的に検出する周期と同じであってもよく、異なってもよく、本発明の実施例ではそれを限定しない。
【０１００】
上記実施例のいずれかに係るブロックチェーンのブロックデータの照会方法によれば、照会要求中の高さ値に応じて、照会対象のブロックデータがアーカイブ済みデータであるか否かを判断し、ＹＥＳであると、高さ値に応じてアーカイブファイルハッシュテーブルにおいて照会する。アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会し、それにより先ず、ローカルにダウンロードした履歴データディレクトリ下に照会でき、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが照会されないと、高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードし、それにより直接高信頼分散ストレージシステムからダウンロードすることに起因する処理リソースの浪費及び複数回のダウンロードに起因する圧縮パッケージ等のファイルの蓄積の問題を回避する。アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されないと、アーカイブファイルハッシュテーブルを更新し、照会要求を転送し、ほかのノードに照会を要求することで、照会できない状況を回避する。上記実施例のいずれかに係るブロックチェーンのブロックデータの照会方法によれば、アーカイブ済みブロックデータを迅速に照会して復元でき、且つ毎回ダウンロードする必要がなく、冗長データの蓄積を回避し、照会効率及び装置の使用効率を向上させる。
【０１０１】
本発明の実施例はてブロックチェーンのブロックデータのアーカイブ装置を提供する。図５に示すように、該アーカイブ装置５０は検出モジュール５１、アップロードモジュール５２及び記録モジュール５３を備える。検出モジュール５１はブロックチェーンノードのデータに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出する。検出モジュール５１によってアーカイブ条件を満たすブロックデータが検出されると、アップロードモジュール５２はアーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ圧縮パッケージを高信頼分散ストレージシステムにアップロードする。アップロードモジュール５２によるアップロードが成功すると、記録モジュール５３は圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する。
【０１０２】
一実施例では、アーカイブ装置５０はエラー報告モジュール５５、戻りモジュール５６及び削除モジュール５７をさらに備える。具体的には、アップロードモジュール５２によるアップロードが失敗すると、エラー報告モジュール５５はエラーログを出力し、戻りモジュール５６は圧縮パッケージを再アップロードし、再アップロードが成功すると、記録モジュール５３は圧縮パッケージのファイルのハッシュ値を取得し、圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入し、再アップロードが失敗すると、戻りモジュール５６は検出モジュール５１を再起動し、検出モジュール５１はブロックチェーンノード中のブロックデータを再検出し、削除モジュール５７は該プロセスに生じた冗長データを削除する。
【０１０３】
一実施例では、検出モジュール５１は、具体的には、所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出する。
【０１０４】
一実施例では、検出モジュール５１は、ブロックチェーンノードのローカルに格納されているブロックデータの数、すなわち最小高さ値のブロックデータと最大高さ値のブロックデータとの間のすべてのブロックデータの数を確認する確認ユニット５１１と、ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータスタートから所定数のブロックデータを取得する取得ユニット５１２と、所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定する決定ユニット５１３と、を備える。
【０１０５】
一実施例では、決定ユニット５１３は、具体的には、所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録し、所定数のブロックデータの高さ値と、所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングし、いずれもマッチングしないと、所定数のブロックデータを、アーカイブ条件を満たすブロックデータとして決定する。
【０１０６】
一実施例では、アーカイブ装置５０は、ブロックチェーンノードのデータベースにおいて、ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するためのアーカイブファイルハッシュテーブルを保守する保守モジュール５４をさらに備える。
【０１０７】
本実施例に係るアーカイブ装置によれば、ブロックデータの高さ値とアクセス頻度をアーカイブ条件とすることで、使用頻度の低いブロックデータを簡単かつ効率的に分割できる。これらの使用頻度の低いブロックデータの圧縮パッケージを高信頼分散ストレージシステムにアップロードすることで、アーカイブ済みデータのセキュリティを確保し、改ざんを防止できる。アップロードした圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲を１つの記録としてアーカイブファイルハッシュテーブルに挿入することで、アーカイブ済みデータの記録を実現し、アーカイブ済みデータの復元照会が容易になる。
【０１０８】
本発明の実施例はブロックチェーンのブロックデータの照会装置を提供する。図６に示すように、該照会装置６０は、取得モジュール６１、照会モジュール６２、マッチングモジュール６３、アクセスモジュール６４及びダウンロードモジュール６５を備える。取得モジュール６１は、照会対象のブロックチェーンノードのブロックデータの高さ値を含む照会要求を取得する。照会対象のブロックデータがアーカイブ済みデータであると、照会モジュール６２は取得モジュール６１が取得した高さ値に応じて、アーカイブ済みデータの圧縮パッケージのファイルのハッシュ値と圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて、該高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会する。照会モジュール６２によって高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、マッチングモジュール６３はローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会する。マッチングモジュール６３によって該同一ハッシュ値名称を有するフォルダが照会されると、アクセスモジュール６４は履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会し、マッチングモジュール６３によって該同一ハッシュ値名称を有するフォルダが照会されないと、ダウンロードモジュール６５は高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードし、圧縮パッケージを解凍して照会結果をフィードバックする。
【０１０９】
一実施例では、アーカイブ装置６０は、照会モジュール６２によって高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されないと、照会要求をほかのノードに転送する転送モジュール６６をさらに備える。
【０１１０】
一実施例では、アーカイブ装置６０は、照会対象のブロックデータの高さ値がブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、照会対象のブロックデータがアーカイブされたか否かを判断する判断モジュール６７をさらに備える。
【０１１１】
上記実施例に係る照会装置によれば、照会要求中の高さ値に応じて、照会対象のブロックデータがアーカイブ済みデータであるか否かを判断し、ＹＥＳであると、高さ値に応じてアーカイブファイルハッシュテーブルにおいて照会し、アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会し、したがって、先ずローカルにダウンロードした履歴データディレクトリ下に照会できることにより、直接高信頼分散ストレージシステムからダウンロードすることに起因する処理リソースの浪費及び複数回のダウンロードに起因する圧縮パッケージ等のファイルの蓄積の問題を回避し、アーカイブファイルハッシュテーブルにおいて対応する圧縮パッケージのファイルのハッシュ値が照会されないと、アーカイブファイルハッシュテーブルを更新し、照会要求を転送し、ほかのノードに照会を要求することで、照会できない状況を回避し、また、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが照会されない場合、高信頼分散ストレージシステムから該ハッシュ値に対応する圧縮パッケージをダウンロードすることで、最初から高信頼分散ストレージシステムからダウンロードすることに起因する冗長データ蓄積の問題を回避し、それにより本発明の実施例に係る方法によれば、アーカイブ済みブロックデータを迅速に照会して復元でき、且つ毎回ダウンロードする必要がなく、冗長データの蓄積を回避し、照会効率及び装置の使用効率を向上させる。
【０１１２】
本発明の実施例は電子機器を提供する。図７に示すように、該電子機器７０は上記アーカイブ装置５０及び照会装置６０を備える。
【０１１３】
本発明はコンピュータ装置をさらに提供する。図８に示すように、該コンピュータ装置８０はメモリ８１、プロセッサ８２、及びメモリに記憶されプロセッサに実行されるコンピュータプログラムを備える。プロセッサ８２はコンピュータプログラムを実行する時、上記実施例のいずれかに係るブロックチェーンのブロックデータのアーカイブ方法及び／又は上記実施例のいずれかに係るブロックチェーンのブロックデータの照会方法を実現する。
【０１１４】
本発明の一実施例は、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体をさらに提供する。該コンピュータプログラムがプロセッサに実行される時、上記実施例のいずれかに係るブロックチェーンのブロックデータのアーカイブ方法及び／又は上記実施例のいずれかに係るブロックチェーンのブロックデータの照会方法を実現する。該コンピュータ記憶媒体は、たとえばフロッピーディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスクドライバやネットワーク媒体などのような任意の有形の媒体であってもよい。
【０１１５】
なお、以上、本発明の実施形態の実装形態の１つとしてコンピュータプログラム製品を説明したが、本発明の実施形態の方法又は装置はソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組合せによって実装できる。ハードウェア部分は専用ロジックによって実装され、ソフトウェア部分はメモリに記憶され、適切な命令実行システム、たとえばマイクロプロセッサ又は専用設計ハードウェアによって実行されるようにしてもよい。当業者であれば、上記方法及び装置はコンピュータ実行可能命令及び／又はプロセッサに含まれる制御コードによって実装でき、たとえばディスク、ＣＤ又はＤＶＤ−ＲＯＭのようなキャリア媒体、読み出し専用メモリ（ファームウェア）のようなプログラマブルメモリ、又は光学信号キャリアや電子信号キャリアのようなデータキャリアにこのようなコードを提供する。本発明に係る方法及び装置は、たとえば、超大規模集積回路やゲートアレイ、ロジックチップ、トランジスタ等のような半導体、又は、フィールドプログラマブルゲートアレイ、プログラマブルロジックデバイス等のようなプログラマブルハードウェア装置のハード回路によって実装されてもよく、様々なタイプのプロセッサに実行されるソフトウェアによって実装されてもよく、上記ハード回路とソフトウェアの組合せ、たとえばファームウェアによって実装されてもよいと理解できる。
【０１１６】
なお、上記すべての技術案について、任意に組み合わせて本発明の実施例を形成でき、ここで詳細説明を省略する。
【０１１７】
また、上記実施例に係るアーカイブ装置及び照会装置はそれぞれの機能を実行する時、上記各機能モジュールの分割を例示して説明したが、実際の応用では、必要に応じて上記機能を異なる機能モジュールによって実行でき、すなわち、装置の内部構造を異なる機能モジュールに分割して、上記すべて又は一部の機能を実行する。また、上記実施例に係るアーカイブ装置及びアーカイブ方法、照会装置及び照会方法の実施例はそれぞれ同一発想に属するために、その具体的な実現プロセスについて、方法の実施例を参照すればよく、ここで重複説明を省略する。
【０１１８】
以上、本発明の好適実施例を説明したが、本発明の保護範囲を限定するものではない。本発明の精神及び趣旨を逸脱せずに行われる変更、同等置換、改良等はすべて本発明の保護範囲に属する。
【図１】
2019532401.tif 000003
【図２】
2019532401.tif 000004
【図３】
2019532401.tif 000005
【図４】
2019532401.tif 000006
【図５】
2019532401.tif 000007
【図６】
2019532401.tif 000008
【図７】
2019532401.tif 000009
【図８】
2019532401.tif 000010
【手続補正書】
【提出日】平成31年2月27日(2019.2.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロックチェーンのブロックデータのアーカイブ方法であって、
ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップと、
前記アーカイブ条件を満たすブロックデータが検出されると、前記アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ前記圧縮パッケージを高信頼分散ストレージシステムにアップロードするステップと、
アップロードが成功すると、前記圧縮パッケージのファイルのハッシュ値を取得し、前記圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入するステップと、を含むことを特徴とするブロックチェーンのブロックデータのアーカイブ方法。
【請求項２】
前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、
前記ブロックチェーンノードのローカルに格納されているブロックデータの数を確認するステップと、
前記ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータから前記所定数のブロックデータを取得するステップと、
前記所定数のブロックデータの各々のアクセス頻度が所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定するステップと、を含むことを特徴とする請求項１に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項３】
前記所定数のブロックデータの各々のアクセス頻度がいずれも所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定することは、
所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録するステップと、
前記所定数のブロックデータの高さ値と、前記アクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングするステップと、
いずれもマッチングしないと、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定するステップと、を含むことを特徴とする請求項２に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項４】
前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出することは、
所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出するステップを含むことを特徴とする請求項２又は３に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項５】
前記ブロックチェーンノードのデータベースにおいて、前記ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するための前記アーカイブファイルハッシュテーブルを保守するステップをさらに含むことを特徴とする請求項１〜４のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項６】
アップロードが失敗すると、エラーログを出力し、再アップロードするステップと、
再アップロードが失敗すると、前記ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを検出するステップに戻るステップと、
生じた冗長データを削除するステップと、をさらに含むことを特徴とする請求項１〜５のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法。
【請求項７】
ブロックチェーンノードに用いられるブロックチェーンのブロックデータの照会方法であって、
照会対象のブロックデータの高さ値を含む照会要求を取得するステップと、
前記照会対象のブロックデータがアーカイブ済みブロックデータであると、前記高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて、前記高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会するステップと、
前記高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するステップと、
存在すると、前記履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するステップと、
存在しないと、高信頼分散ストレージシステムから前記ファイルのハッシュ値に対応する圧縮パッケージをダウンロードし、前記圧縮パッケージを解凍して照会結果をフィードバックするステップと、を含むことを特徴とするブロックチェーンのブロックデータの照会方法。
【請求項８】
前記高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されないと、前記照会要求をほかのノードに転送することを特徴とする請求項７に記載のブロックチェーンのブロックデータの照会方法。
【請求項９】
照会要求を取得した後、
前記高さ値が前記ブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、前記照会対象のブロックデータがアーカイブされたか否かを判断するステップをさらに含むことを特徴とする請求項７又は８に記載のブロックチェーンのブロックデータの照会方法。
【請求項１０】
ブロックチェーンのブロックデータのアーカイブ装置であって、
ブロックチェーンノードに、ブロックデータの高さ値とアクセス頻度を含むアーカイブ条件を満たすブロックデータが存在するか否かを検出する検出モジュールと、
前記検出モジュールによって前記アーカイブ条件を満たすブロックデータが検出されると、前記アーカイブ条件を満たすブロックデータをローカルからコピーし、圧縮して圧縮パッケージを生成し、且つ前記圧縮パッケージを高信頼分散ストレージシステムにアップロードするアップロードモジュールと、
アップロードモジュールによるアップロードが成功すると、前記圧縮パッケージのファイルのハッシュ値を取得し、前記圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲の記録をアーカイブファイルハッシュテーブルに挿入する記録モジュールと、を備えることを特徴とするブロックチェーンのブロックデータのアーカイブ装置。
【請求項１１】
前記検出モジュールは、
前記ブロックチェーンノードのローカルに格納されているブロックデータの数を確認する確認ユニットと、
ローカルに格納されているブロックデータの数が所定数よりも大きいと、最小高さ値のブロックデータから前記所定数のブロックデータを取得する取得ユニットと、
前記所定数のブロックデータの各々のアクセス頻度がいずれも所定アクセス頻度未満であると、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定する決定ユニットと、を備えることを特徴とする請求項１０に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１２】
前記決定ユニットは、具体的には、所定周期内にアクセス頻度が所定アクセス頻度を超えるブロックデータ及びそれに対応する高さ値を記録し、前記所定数のブロックデータの高さ値と、前記アクセス頻度が所定アクセス頻度を超えるブロックデータの高さ値とをマッチングし、いずれもマッチングしないと、前記所定数のブロックデータを、前記アーカイブ条件を満たすブロックデータとして決定することを特徴とする請求項１１に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１３】
前記検出モジュールは、具体的には、所定数のブロックデータを生成する時間よりも小さい検出周期で、ブロックチェーンノードにアーカイブ条件を満たすブロックデータが存在するか否かを周期的に検出することを特徴とする請求項１０〜１２のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１４】
ブロックチェーンノードのデータベースにおいて、前記ブロックチェーンノードのアーカイブ済みの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を保存するための前記アーカイブファイルハッシュテーブルを保守する保守モジュールをさらに備えることを特徴とする請求項１０〜１３のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１５】
前記アップロードモジュールによるアップロードが失敗すると、エラーログを出力するエラー報告モジュールと、
再アップロードを行い、前記再アップロードが失敗すると、前記検出モジュールに戻る戻りモジュールと、
生じた冗長データを削除する削除モジュールと、をさらに備えることを特徴とする請求項１０〜１４のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ装置。
【請求項１６】
ブロックチェーンノードに用いられるブロックチェーンのブロックデータの照会装置であって、
照会対象のブロックデータの高さ値を含む照会要求を取得する取得モジュールと、
前記照会対象のブロックデータがアーカイブ済みブロックデータであると、前記高さ値に応じて、アーカイブ済みブロックデータの圧縮パッケージのファイルのハッシュ値と前記圧縮パッケージの中のブロックデータの高さ範囲との対応関係を含むアーカイブファイルハッシュテーブルにおいて、前記高さ値に対応する圧縮パッケージのファイルのハッシュ値を照会する照会モジュールと、
前記照会モジュールによって前記ハッシュ値が照会されると、ローカルにダウンロードした履歴データディレクトリ下に同一ハッシュ値名称を有するフォルダが存在するか否かを照会するマッチングモジュールと、
前記マッチングモジュールによって前記フォルダが照会されると、前記履歴データディレクトリ下の同一ハッシュ値名称を有するフォルダ下のブロックデータにアクセスして照会するアクセスモジュールと、
前記マッチングモジュールによって前記フォルダが照会されないと、高信頼分散ストレージシステムから前記ハッシュ値に対応する圧縮パッケージをダウンロードし、前記圧縮パッケージを解凍して照会結果をフィードバックするダウンロードモジュールと、を備えることを特徴とするブロックチェーンのブロックデータの照会装置。
【請求項１７】
前記照会モジュールによって前記ハッシュ値が照会されないと、前記照会要求をほかのノードに転送する転送モジュールをさらに備えることを特徴とする請求項１６に記載のブロックチェーンのブロックデータの照会装置。
【請求項１８】
前記照会対象のブロックデータの高さ値が前記ブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、前記照会対象のブロックデータがアーカイブされたか否かを判断する判断モジュールをさらに備えることを特徴とする請求項１６又は１７に記載のブロックチェーンのブロックデータの照会装置。
【請求項１９】
メモリ、プロセッサ、及び前記メモリに記憶され前記プロセッサに実行されるコンピュータプログラムを備えるコンピュータ装置であって、
前記プロセッサは前記コンピュータプログラムを実行する時、請求項１〜６のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法、及び／又は請求項７〜９のいずれか一項に記載のブロックチェーンのブロックデータの照会方法のステップを実現することを特徴とするコンピュータ装置。
【請求項２０】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、
前記コンピュータプログラムがプロセッサに実行される時、請求項１〜６のいずれか一項に記載のブロックチェーンのブロックデータのアーカイブ方法、及び／又は請求項７〜９のいずれか一項に記載のブロックチェーンのブロックデータの照会方法のステップを実現することを特徴とするコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
一実施例では、照会装置６０は、照会モジュール６２によって高さ値に対応する圧縮パッケージのファイルのハッシュ値が照会されないと、照会要求をほかのノードに転送する転送モジュール６６をさらに備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
一実施例では、照会装置６０は、照会対象のブロックデータの高さ値がブロックチェーンノードのローカルに格納されているブロックデータの最小高さ値未満であるか否かに応じて、照会対象のブロックデータがアーカイブされたか否かを判断する判断モジュール６７をさらに備える。
【国際調査報告】
2019532401.tif 000011
2019532401.tif 000012
2019532401.tif 000013
2019532401.tif 000014