JP7044881B2 - 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体 - Google Patents

分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体 Download PDF

Info

Publication number
JP7044881B2
JP7044881B2 JP2020530626A JP2020530626A JP7044881B2 JP 7044881 B2 JP7044881 B2 JP 7044881B2 JP 2020530626 A JP2020530626 A JP 2020530626A JP 2020530626 A JP2020530626 A JP 2020530626A JP 7044881 B2 JP7044881 B2 JP 7044881B2
Authority
JP
Japan
Prior art keywords
data
data packet
fragment
storage
distributed 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.)
Active
Application number
JP2020530626A
Other languages
English (en)
Other versions
JP2021506004A (ja
Inventor
ボー ジン,
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Publication of JP2021506004A publication Critical patent/JP2021506004A/ja
Application granted granted Critical
Publication of JP7044881B2 publication Critical patent/JP7044881B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/062Securing storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

優先権情報
本願は、2018年5月18日付に中国特許庁に提出した、中国特許出願番号が「201810479464.3」である中国特許出願の優先権を主張するものであり、当該出願のすべての内容は、引用により本願に組み込まれる。
本願の実施例は、データストレージ技術の分野に関し、例えば、分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体に関する。
関連技術中のクラウドストレージ技術では、一般的には、集中型サーバを介して記憶する。記憶データが多くなると伴い、サーバストレージ空間と帯域幅リソースの占有が深刻になり、クラウドストレージコストが続いて増加する。また、関連するクラウドストレージ技術でクラウドに保存されているデータは暗号化されず、データのプライバシーは、大型のクラウドストレージプロバイダーの信用によって支持される。
分散型ストレージ技術を採用する場合、データの脱中心化ストレージによって、信用が脱中心化され、記憶ノードが不安定で紛失しやすく、攻撃を受けやすくなることによって、データストレージの不安全が問題となる。
以下では、本明細書で詳細に説明される主題を、概要して説明する。本概要は、請求項の保護範囲を限定するためのものではない。
本願の実施例は、ユーザが分散型ネットワークにファイルを記憶して記憶コストを削減することが容易になり、また記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体を提供する。
本願の実施例は、分散型ストレージ方法を提供し、記憶対象ファイルをグループ化して、複数のデータパケットを形成するステップと、すべてのデータパケットで少なくとも三つのデータフラグメントを形成するステップであって、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加されるステップと、各データフラグメントを分散型記憶ノードに分散的に記憶するステップと、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するステップと、ローカルでの記憶対象ファイルを削除するステップと、を含む。
本願の別の実施例は、分散型ストレージ装置をさらに提供し、記憶対象ファイルをグループ化して、複数のデータパケットを形成するように構成されるデータグループ化モジュールと、すべてのデータパケットで少なくとも三つのデータフラグメントを形成するように構成されるデータフラグメントモジュールであって、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加されるデータフラグメントモジュールと、各データフラグメントを分散型記憶ノードに分散的に記憶するように構成されるデータ記憶モジュールと、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するように構成される関係記録モジュールと、ローカルでの記憶対象ファイルを削除するように構成されるファイル削除モジュールと、を備える。
本願の別の実施例は、コンピュータ機器をさらに提供し、前記コンピュータ機器は、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するように構成される記憶装置と、を備え、前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合、前記一つ又は複数のプロセッサが、本願の任意の実施例により提供された分散型ストレージ方法を実現する。
本願の別の実施例は、コンピュータプログラムが記憶されているコンピュータ記憶媒体をさらに提供し、当該プログラムがプロセッサによって実行される場合、本願の任意の実施例により提供された分散型ストレージ方法を実現する。
図面と詳細の説明を読んで理解した後、他の態様を理解することができる。
本願の実施例1により提供された分散型ストレージ方法のフローチャートである。 本願の実施例2により提供された分散型ストレージ方法のフローチャートである。 本願の実施例2に関する元のマークルツリーの概略構成図である。 本願の実施例3により提供された分散型ストレージ方法のフローチャートである。 本願の実施例3により提供された分散型ストレージ方法において記憶ファイルを復元する方法のフローチャートである。 本願の実施例4により提供された分散型ストレージ方法のフローチャートである。 本願の実施例5により提供された分散型ストレージ装置の概略図である。 本願の実施例6により提供されたコンピュータ機器の概略構成図である。
以下、図面及び実施例を参照して本願についてさらに詳しく説明する。なお、ここで説明される具体的な実施例は、単なる本願を解釈するためのものであり、本願を限定するものではない。
なお、説明の便宜上、図面には、全部内容ではなく、本願に関する一部だけが示される。例示的な実施例をさらに詳しく検討する前に言及せざるを得ないのは、一部の例示的な実施例は、フローチャートとして描画される処理又は方法として説明される。フローチャートが各操作(又はステップ)を順次処理として説明するが、そのうち、多くの操作は、並行的に、併発的に又は同時に実施することができる。また、各操作の手順は、改めて整えることができる。操作が完成する場合、前記処理は、終了されてもよいが、図面に含まれていない付加ステップを有してもよい。前記処理は、方法、関数、規程、サブルーチン、サブプログラムなどに対応することができる。
実施例1
図1は、本願の実施例1により提供された分散型ストレージ方法のフローチャートである。本実施例は、分散型ネットワークにファイルを記憶する場合に適用されることができ、当該方法は、分散型ストレージ装置によって実行されることができ、当該装置は、ソフトウェア及び/又はハードウェアの方式で実現され、一般的には、任意のデータストレージを開始することができるコンピュータ機器に集積されることができ、図1に示すように、当該方法は、ステップS110、ステップS120、ステップS130、ステップS140、及びステップS150を含む。
ステップS110において、記憶対象ファイルをグループ化して、複数のデータパケットを形成する。
その中、記憶対象ファイルは、テキスト、画像、ビデオ、オーディオ、及び他のタイプ(zip形式の圧縮ファイルなど)の記憶可能なファイルであってもよく、本願の実施例は、記憶対象ファイルのタイプに対して限定されない。データパケットは、記憶対象ファイル中の一部のファイルデータであってもよい。
本願の実施例では、記憶対象ファイルを分散的に記憶する前に、まず、記憶対象ファイルをグループ化して、複数のデータパケットに分割する。記憶対象ファイルをグループ化することは、N個のデータパケットに平均的に分割する方式を採用して、各データパケットが同じデータ量のファイルデータを含むようにすることができる。ランダムに分割する方式を採用して記憶対象ファイルをグループ化して、各データパケットが異なるデータ量のファイルデータを含むようにすることができる。もちろん、当業者は、実際のニーズに応じて、本技術案の技術的背景において、他のファイルグループ化の方式を構築することもでき、本願の実施例は、これに限定されない。
ステップS120において、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。
本願の実施例では、データフラグメントは、部分的なデータパケットで構成され、すなわち各データフラグメントは、すべてのデータパケットを含まない。その中、各データフラグメントに含まれるデータパケットの数は、同じであってもよく、異なっていてもよく、例えば、データフラグメントに含まれるデータパケット数は、2つ、5つ、8つ、又はそれ以上であってもよく、本願の実施例は、データフラグメントに含まれるデータパケットの数に対いて限定しない。
データストレージのセキュリティを向上させるために、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データパケットがすべて少なくとも二つのデータフラグメントに追加することが確保され、すなわち各データパケットが少なくとも二つの記憶コピーを形成することが確保される。グループ化してフラグメントされる処理中に、データパケットは、冗長に記憶され、Mコピー記憶については、一つのデータパケットは、M個のデータフラグメントに出現される。コピーの数Mは、2以上であり、予め設定されてもよく、実際の状況に応じて、例えば記憶ファイルの重要度のレベル、記憶ノードの安定性の状況に応じて動的に調整してもよい。
ステップS130において、各データフラグメントを分散型記憶ノードに分散的に記憶する。
その中、分散型ネットワークの記憶ノードは、自各に独立して動作するノードであり、分散型ストレージアルゴリズムに基づいてスケジューリングされることができる。
本願の実施例では、データパケットに基づいて形成されたデータフラグメントを分散型記憶ノードに分散的に記憶することができ、記憶対象ファイルで形成されるデータパケットを直接に記憶しない。選択可能には、各分散型記憶ノードは、一つのデータフラグメントのみを記憶することができる。
これに対応して、各データフラグメントが各分散型記憶ノードに分散的に記憶する場合、リードソロモン冗長アルゴリズム(Reed-Solomon Redundancy)を採用することができる。このアルゴリズムは、多項式演算/エラー修正コード(Erasure Code)によって誤ったデータを修正する。したがって、一部のノードがオフラインしたり、又はデータが破損しても、データファイルは、復元に成功され、アクセスされることができる。例示的には、一つの記憶対象ファイルは、複数のデータパケットに分割され、データフラグメントを形成した後に散布され、且つMコピーをN個の分散型記憶ノードに(例えば30個のノード、3コピー記憶)冗長に記憶され、各分散型記憶ノードは、一部のデータパケットを記憶する。N/M個の通常の分散型記憶ノードが生存している限り、元の記憶対象ファイルを復元することができる。
一例では、3コピー冗長記憶を使用することができる。30個の分散型記憶ノードを使用する場合、同時に10個の通常の分散型記憶ノードが生存している限り、可用の利用可能なストレージサービスを提供することができる。各分散型記憶ノードの信頼性が50%だけであると仮定すると、簡単な算出を経て、分散型ネットワークのサービス安定性がf=1-(1-70%)21、すなわち99.99995%であると取得することができる。
ステップS140において、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録する。
その中、データフラグメントとデータパケットとの対応関係は、データパケットに基づいて対応するデータフラグメントを検索することを実現することができ、記憶ノードと記憶されたデータフラグメントとの対応関係は、記憶されたデータフラグメントに基づいて対応する記憶ノードを検索することを実現して、記憶ノードから対応する記憶されたデータフラグメントをダウンロードするようにすることができる。同時に、2つのグループの対応関係は、データパケットの検証を実現することもできる。
本願の実施例では、データフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、データパケット及びデータフラグメントのプライバシー保護を実現することができる。
一例では、データフラグメントとデータパケットとの対応関係は、データフラグメント1がそれぞれ番号1、2、及び3に対応するデータパケットを含む。記憶ノードと記憶されたデータフラグメントとの対応関係は、記憶ノード5によって記憶された番号1のデータフラグメントであってもよい。
ステップS150において、ローカルでの記憶対象ファイルを削除する。
これに対応して、各データフラグメントの記憶及び各対応関係の記録が完了した後、ローカルでの記憶対象ファイルを削除して、記憶対象ファイルが不正の攻撃者によって取得されることを防止することができる。
本願の実施例は、記憶対象ファイルをグループ化して複数のデータパケットを形成し、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加され、次に、各データフラグメントを分散型記憶ノードに分散的に記憶することによって、データの分散型ストレージを実現する。分散型ストレージは、中心化記憶のボトルネック問題を解決し、帯域幅コストと記憶コストを削減し、且つデータパケットの複数のコピー記憶を使用し、一部の記憶ノードの障害によってデータ全体の復元不可能を回避する。また、各記憶ノードに記憶されているデータフラグメントは、すべてのデータ成分が含まれていないため、一つの記憶ノードを破壊することによって元の記憶ファイルを復元することは不可能である。上記の技術案は、関連するクラウドストレージ技術によって生成された記憶コスト継続的な増加及び分散型ストレージ技術によって引き起こされたデータストレージ不安全な問題を解決し、ユーザが分散型ネットワークにファイルを記憶して記憶コストを削減することが容易になり、また記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる。
実施例2
図2aは、本願の実施例2により提供された分散型ストレージ方法のフローチャートである。本実施例は、上記の実施例に基づいて詳細化し、本実施例では、データパケットを暗号化する実現方式を提供する。同時に、データフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するステップは、マークルツリー形式を使用して、データフラグメントに含まれるデータパケットのハッシュ値をフラグメントマークルツリーとして記録するステップと、各フラグメントマークルツリーと各前記データフラグメントが存在する記憶ノードとの対応関係を記録するステップに詳細化する。これに対応して、図2aに示すように、本実施例の方法は、ステップS210、ステップS220、ステップS230、ステップS240、ステップS250、ステップS260、及びステップS270を含むことができる。
ステップS210において、記憶対象ファイルをグループ化して、複数のデータパケットを形成する。
ステップS220において、秘密鍵を使用して各データパケットを順序に暗号化し、第1のデータパケット以外の他の各データパケットの秘密鍵は、前のデータパケットの暗号文に基づいて生成し、前記各データパケットの暗号化順序を記録する。
本願の実施例では、データパケットのセキュリティを向上させるために、記憶対象ファイルをグループ化した後、各データパケットを暗号化することができる。選択可能には、データパケットの暗号化方式は、順序暗号化であってもよく、各データパケットに対して対称暗号化アルゴリズム及びグループ化暗号化メカニズムを使用して暗号化を行い、毎回に128ビットのデータを対称暗号化することができ、暗号化の秘密鍵は最大256ビットに達することができる。その中、第1のデータパケットは、単独で暗号化して対応する暗号文を生成することができ、その後、他のデータパケットを暗号化する時に、前のデータパケットの暗号文を一部入力として、次のデータパケットの出力を混同することができる。前のデータパケットの暗号文を使用して次のデータパケットの秘密鍵を算出して決定することができる。次のデータパケットの秘密鍵は、固定秘密鍵の一部を含むことができ、別の部分は、暗号文で算出して決定される。従来のCPU(中央処理装置、Central Processing Unit/Processor)は、グループ化暗号化アルゴリズムに対して命令セットの最適化を行っていないため、上記の前のデータパケットに依存する順序暗号化方式に対してブルートフォースを行うことは巨大な攻撃コストがかかる必要がある。また、秘密鍵が漏洩しても記憶ファイル内容が漏洩しなく、攻撃者がすべてのデータパケットを取得し、且つ暗号化順序を知った場合のみ、記憶ファイルの内容を解読することができる。秘密鍵を使用して各データパケットを順序に暗号化した後、後に元の記憶対象ファイルを復元することを容易にするために、各データパケットの暗号化順序を記録することもできる。
本願の任意の実施例では、各データパケットの暗号化順序を記録するステップは、データパケットの暗号化順序に従って、各データパケットのハッシュ値を算出し、元のマークルツリー(Merkle trees)を形成するステップを含む。
その中、元のマークルツリーは、データパケットに基づいて算出された各ハッシュ値に基づいて構築されたマークルツリーである。例示的には、図2bは、本願の実施例2に関する元のマークルツリーの概略構成図である。図2bに示すように、四つのデータパケット(DATA BLOCK)を含み、それぞれ各データパケットのハッシュ値を算出し、左から右への順序に従って元のマークルツリーの葉ノード(Hash-LEAF)を形成し、次に、元のマークルツリーのルートノード(Hash-ROOT)が算出されるまで、二つの葉ノードを組み合わせてハッシュ値を上位ブランチ(Hash-BRANCH)として再算出する。元のマークルツリーは、データパケットのハッシュ値を記録するだけでなく、ツリー構造でデータパケットの順序を記録することもできる。当該元のマークルツリーでは、第2のデータパケット(DATA BLOCK2)を例として、三つのデータフラグメント(DATA SHARD1、DATA SHARD2、及びDATA SHARD3)に記憶されていることも記録する。
これに対応して、マークルツリーの方式で各データパケットの暗号化順序を記録することができ、さらに、マークルツリーの利点を利用して分散型ネットワークの実行効率と拡張性を向上させ、後に復元データの検証の根拠とすることができる。
ステップS230において、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。
ステップS240において、各データフラグメントを分散型記憶ノードに分散的に記憶する。
ステップS250において、マークルツリー形式を使用して、データフラグメントに含まれるデータパケットのハッシュ値をフラグメントマークルツリーとして記録する。
その中、フラグメントマークルツリーは、データフラグメントに含まれるデータパケットに基づいて算出された各ハッシュ値に基づいて構築されたマークルツリーである。
本願の実施例では、マークルツリーを使用して各データフラグメントの構造を記録することができる。元のマークルツリーを取得する時に各データパケットに対応する順序番号ID及び対応する内容のhash値を設定するため、各データフラグメントは、それに含まれるデータパケットのハッシュ値に基づいて一つの対応するフラグメントマークルツリーを最終的に算出して取得することができる。フラグメントマークルツリーでは、データパケットの順序は、元の暗号化順序と同じである必要がなく、データパケット任意の二つのマークルツリーのハッシュブランチを組み合わせて算出することができる。
ステップS260において、各フラグメントマークルツリーと各前記データフラグメントが存在する記憶ノードとの対応関係を記録する。
これに対応して、各データフラグメントに対応するフラグメントマークルツリーを取得した後、各フラグメントマークルツリーと各データフラグメントが位置する記憶ノードとの間の対応関係を記録することができる。各データフラグメントは、一つのフラグメントマークルツリーに対応する。
本願の実施例では、データパケットを順序に暗号化した後、各データパケットのハッシュ値に基づいて元のマークルツリーを形成し、またデータフラグメントに含まれるデータパケットのハッシュ値に基づいてフラグメントマークルツリーを形成することによって、データパケット及びデータフラグメントのデータに対する検索と検証を実現し、記憶ファイルのプライバシーとセキュリティを向上させ、攻撃者が元のファイルを復元することを効果的に回避することができる。
ステップS270において、ローカルでの記憶対象ファイルを削除する。
本実施例の技術案によれば、データパケットを順序暗号化することによって、記憶ノードを攻撃して元の記憶ファイルを復元する困難性を大幅に増加し。分散型ストレージのプライバシーを効果的に向上させることができる。
実施例3
図3aは、本願の実施例3により提供された分散型ストレージ方法のフローチャートである。図3bは、本願の実施例3により提供された分散型ストレージ方法において記憶ファイルを復元する方法のフローチャートである。本実施例は、上記の実施例に基づいて詳細化し、本実施例では、各データパケットに基づいて記憶ファイルを復元して形成する実現方式を提供し、これに対応して、図3aに示すように、本願の実施例の方法は、ステップS310、ステップS320、ステップS330、ステップS340、ステップS350、ステップS360、及びステップS370を含むことができる。
ステップS310において、記憶対象ファイルをグループ化して、複数のデータパケットを形成する。
ステップS320において、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。
ステップS330において、各データフラグメントを分散型記憶ノードに分散的に記憶する。
ステップS340において、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録する。
ステップS350において、ローカルでの記憶対象ファイルを削除する。
ステップS360において、記憶ファイルが、照会要求が生成された場合、ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、記憶ノードから各データパケットをそれぞれダウンロードする。
その中、記憶ファイルの照会要求は、記憶ファイルのダウンロード、又は記憶ファイルのオンラインでのプレビューなど、ユーザが送信した記憶ファイルを取得する要求であってもよい。
本願の実施例では、データを復元する中に、ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、記憶ファイルに対応するすべてのデータパケットを順序に取得し、最終的に取得された各データパケットを順序にスプライスと復号化することによって、完全な記憶ファイルを取得することができる。
これに対応して、図3bに示すように、記憶ファイルを復元するプロセスは、ステップS361、ステップS362、ステップS363、ステップS364、ステップS365、ステップS366、ステップS367、及びステップS368を含むことができる。
ステップS361において、ローカルに記録された各データパケットの暗号化順序に基づいて、第1のデータパケットを現在のデータパケットとして決定する。
ローカルに記録された元のマークルツリーに基づいて、第1のハッシュ葉ノードに対応するデータパケットを検索することができる。
ステップS362において、データフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、現在のデータパケットが存在する記憶ノードを現在のパケットノードとして決定する。
第1のデータパケットのハッシュ値に基づいて、フラグメントマークルツリーで対応するハッシュ値を検索することができる。次に、検索されたデータフラグメントに基づいて対応する記憶ノードを決定する。
ステップS363において、前記現在のパケットノードからデータフラグメントをダウンロードし、前記データフラグメントから現在のデータパケットを抽出する。
各データパケットが暗号化する中のその秘密鍵の生成は、すべて前のデータパケットに対応する暗号文に関連することを考慮する。したがって、データを復元する中に、データパケットの暗号化順序中の第1のデータパケットを直接に取得することができ、当該データパケットは、第1のデータパケットであり、その後、第1のデータパケットに基づいて他のデータパケットを順次に取得する。
第1のデータパケットを決定した後、第1のデータパケットを現在のデータパケットとする。データフラグメントとデータパケットとの対応関係に基づいて現在のデータパケットが位置するデータフラグメントを検索するとともに、記憶ノードと記憶されたデータフラグメントとの対応関係に基づいて現在のデータパケットが位置する記憶ノードを現在のパケットノードとして決定し、現在のパケットノードからデータフラグメントをダウンロードする。現在のパケットノードに記憶されたデータフラグメントに現在のデータパケットが含まれているため、現在のパケットノードに対応する記憶されたフラグメントマークルツリーのハッシュ位置に基づいてデータフラグメントから現在のデータパケットを抽出することができる。
例示的には、図2bに示すように、破線の枠内の各ハッシュ値から構成されたツリーが、元のマークルツリーである。その中、元のマークルツリーのLEAFノードは、hash 1-LEAF、Hash 2-LEAF、Hash 3-LEAF、及びhash 4-LEAFであり、各データパケットに基づいて順序に形成されたハッシュ値である。BRANCHノードは、Hash 5-BRANCHとhash 6-BRANCHであり、各LEAFノードに基づいてhashアルゴリズムに従って算出されたハッシュ値であり、ROOTノードは、hash 7-ROOTを元のマークルツリーとするルートノードであり、Hash 5-BRANCHとhash 6-BRANCHに対応するハッシュ値に基づいてhashアルゴリズムに従って算出して取得される。DATA BLOCK 1、DATA BLOCK 2、DATA BLOCK 3、及びDATA BLOCK4は、記憶対象ファイルで形成されるデータパケットであり、DATA SHARD 1、DATA SHARD 2、及びDATA SHARD 3は、データパケットに基づいて形成された部分的なデータフラグメントであり(すなわち、図2bにすべてのデータフラグメントを示していない)、当該部分的なデータフラグメントには、すべての第2のデータパケットを含む。これに対応して、第1のデータパケット(DATA BLOCK 1)に対応するハッシュ位置は、hash 1-LEAFノードであり、これに類推して、すべてのデータパケットは、すべての対応するハッシュ位置にハッシュ値を記憶する。
図2bには、フラグメントマークルツリーの構造が示されておらず、フラグメントマークルツリーは、データフラグメントに含まれる部分的なデータパケットのハッシュ値に基づいて形成される。したがって、フラグメントマークルツリーのLEAFノードは、含まれるデータパケットに基づいて形成されたハッシュ値に対応し、他のノードの形成プロセスは、元のマークルツリーと同じである。
これに対応して、第2のデータパケット(DATA BLOCK 2)を現在のデータパケットとする場合、元のマークルツリー内の現在のデータパケットに対応するハッシュ位置は、hash 2-LEAFであり、記憶されたハッシュ値(Hなど)は、フラグメントマークルツリーに記憶されたハッシュ値を検証することができる。現在のデータパケットを決定した後、すべてのフラグメントマークルツリーと、各フラグメントマークルツリーと記憶ノードとの対応関係に基づいて、現在のデータパケットが位置する記憶ノードを現在のパケットノードとして決定することができる。現在のデータパケットが位置する記憶ノードは、複数があることができ、その中の一つを現在のパケットノードとして選択することができる。現在のパケットノードに対応して記憶されたフラグメントマークルツリー内でハッシュ値がHに対応するデータパケットを検索し、検索されたデータパケットが必要な第2のデータパケットである。
これから分かるように、攻撃者が元のファイルを取得したい場合、データフラグメントに対応するフラグメントマークルツリーのデータ構造のみに基づいて、すべてのデータフラグメントのダウンロードを完了し、同時にすべてのデータパケットの暗号化順序を把握することは難しい。したがって、本願の実施例の分散型ストレージ方法は、攻撃者が元のファイルを取得することを効果的に回避することができる。
ステップS364において、抽出された現在のデータパケットのハッシュ値を算出し、ローカルに記憶されている現在のデータパケットのハッシュ値とマッチングして、前記現在のデータパケットの有効性を検証する。
本願の実施例では、現在のデータパケットが取得された後、現在のデータパケットの有効性を検証することができる。各データパケットに対応するハッシュ値は異なるため、データパケットのハッシュ値を検証の根拠として使用し、現在のデータパケットのハッシュ値を、ローカルに記憶された現在のデータパケットのハッシュ値とマッチングして検証することができる。検証が一致している場合、検証が成功したことを説明し、現在のデータパケットは有効であり、そうでない場合、抽出された現在のデータパケットが有効であることが決定されるまで、データフラグメントとデータパケットとの対応関係に基づいて(フラグメントマークルツリーを使用するなど)別のデータフラグメントを再選択して現在のデータパケットを抽出する。
ステップS365において、対応する秘密鍵を使用して前記現在のデータパケットを復号化し、現在のデータパケットの暗号文を使用して次のデータパケットに対応する秘密鍵を決定する。
ステップS366において、次のデータパケットを現在のデータパケットとして更新する。
これに対応して、データパケットの有効性を決定した後、現在のデータに対応する秘密鍵を使用して復号化することができる。第1のデータパケットの秘密鍵は、他のデータパケットと無関係であるため、対応する秘密鍵を直接に使用して第1のデータパケットを復号化する。復号化される場合、取得されたデータパケットに対して暗号化時に取得された128bit又は256bitの秘密鍵を使用して復号化することができる。現在のデータパケットの復号化が完了した後、現在のデータパケットの暗号文を根拠として、次のデータパケットに対応する秘密鍵を決定することができる。選択可能には、第1のデータパケットの暗号文と設定数の固定文字を組み合わせて、次のデータパケットに対応する秘密鍵を形成することができる。その後、次のデータパケットを現在のデータパケットとして更新し、上記の現在のデータパケットをダウンロード及び検証する方式で次のデータパケットを処理する。
ステップS367において、すべてのデータパケットのダウンロードが完了したか否かを判断し、「はい」の場合、ステップS370を実行し、そうでない場合、ステップS368を実行する。
本願の実施例では、記憶ファイルは、複数のデータパケットに基づいてスプライス及び復元を行って形成される。したがって、すべてのデータパケットを取得した後にのみ、対応する記憶ファイルを取得することができる。すべてのデータパケットのダウンロードが完了したことが決定された場合、直接に各データパケットに基づいて記憶ファイルを復元して形成するし、そうでない場合、S368を実行して、続いて欠落しているデータパケットを取得する。
ステップS368において、現在のデータパケットが既にダウンロードされたデータフラグメントに記憶されているか否かを判断し、「はい」の場合、ステップS364を実行し、そうでない場合、ステップS362を実行する。
各データフラグメントには、いずれも部分的なデータパケットが含まれているため、一つのデータフラグメントがダウンロードされた場合、現在のデータパケットに加えて、ハッシュ値検証処理が実行された他のデータパケット、又はハッシュ値検証処理が実行されていない他のデータパケットをさらに含む。前に既にダウンロードされたデータフラグメントに現在のデータパケットが含まれている場合、次に、データフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて現在のデータパケットが位置する記憶ノードを決定して対応するデータフラグメントをダウンロードする必要がなく、現在のデータパケットに対して直接にハッシュ値検証を行い、前のデータパケットの暗号文に基づいて形成された秘密鍵に基づいて現在のデータパケットを復号化することができる。
例示的には、現在のデータパケットが第2のデータパケットであると仮定すると、現在のパケットノードがダウンロードしたデータフラグメントに含まれる部分的なデータパケットは、第1のデータパケット、第2のデータパケット、第4のデータパケット、及び第5のデータパケットである。その中、第1のデータパケットは、既にハッシュ値検証処理が実行され、第4のデータパケット及び第5のデータパケットは、まだハッシュ値検証処理が実行されていない。第4のデータパケット又は第5のデータパケットを現在のデータパケットとして処理を行う場合、対応するデータフラグメントを再ダウンロードする必要がなく、直接に第2のデータパケットに対応するダウンロードされたデータフラグメントに含まれる第4のデータパケット又は第5のデータパケットを現在のデータパケットとする。
ステップS370において、各データパケットに基づいて記憶ファイルを復元して形成する。
本願の実施例は、ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、記憶ノードから各データパケットをそれぞれダウンロードし、各データパケットに基づいて記憶ファイルを復元して形成することによって、記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる。
実施例4
本願の実施例により提供された分散型ストレージ方法は、各分散型ネットワークでデータストレージを行うことに適用することができ、本実施例では、選択可能には、ブロックチェーンネットワークを使用して記憶対象ファイルを分散的に記憶する。ブロックチェーンシステムは、一般に、独立に動作できる複数のノードを含み、一方で、独立してストレージ要求があるノードとして記憶の前準備を行い、一方で、一つの記憶ノードとして他のノード要求の記憶タスクを受ける。ブロックチェーンシステムは、一つの脱中心化のネットワークであり、コンセンサスメカニズムなどのプロトコルに基づいて協調して動作することができる。
図4は、本願の実施例4により提供された分散型ストレージ方法のフローチャートである。当該方法は、ステップS410、ステップS420、ステップS430、ステップS440、ステップS450、及びステップS460を含む。
ステップS410において、記憶対象ファイルをグループ化して、複数のデータパケットを形成する。
ステップS420において、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。
ステップS430において、各データフラグメントをブロックチェーンネットワーク内の各記憶ノードにそれぞれ記憶する。
ストレージ要求を生成するノード、又は任意の電子機器として、レンタルノード、すなわち他のノードにストレージ空間のレンタルを要求するノードであってもよい。レンタルノードは、ファイルを記憶する前に、まず、ファイルに対してフラグメント処理の準備を行う。
同時に、レンタルノードは、ブロックチェーンネットワークで各記憶ノードを自身のサービスとして決定し、各記憶ノードは、テナントノードと呼ばれることができる。記憶ノードを決定するプロセスは、オフラインでネゴシエーションするプロセスであってもよく、ブロックチェーンネットワークでストレージ空間のレンタルプロセスを具現するスマートコントラクトを発行することができ、回答するノードは、テナントノードと呼ばれる。記憶ノードを決定した後、レンタルノードは、データフラグメントを記憶ノードに伝送して記憶する。
ステップS440において、データフラグメントの記憶ノードにおける記憶関係をスマートコントラクトとし、ブロックチェーンネットワーク内のブロック生成ノードに提供して、スマートコントラクトをブロックに追加して記憶する。
上記によって決定されたレンタルストレージ空間プロセスを具現するスマートコントラクトは、ブロックチェーンネットワークで伝送される。現在、ブロック処理権限に競合したブロック生成ノードは、現在の生成のスマートコントラクトを処理し、パッケージ化してブロックを形成する。ブロック生成ノードは、様々なコンセンサスメカニズムに基づいてブロック生成権限を取得することができ、当該ブロック生成ノードの権限期間内に、異なるレンタルノードによって異なるスマートコントラクトを生成することができる。ブロック生成ノードは、スマートコントラクトを処理することができ、処理する方式は、スマートコントラクトの内容に対して検証、変換、暗号化、及び記憶などを行うことを含むが、これらに限定されない。例えば、他のノードのストレージ空間をレンタルすることは、一定の費用を支払う可能性があり、対応する支払い金額は、スマートコントラクトに具現され、レンタルノードによって署名して確認する。ブロック生成ノードは、スマートコントラクト中の規定に基づいて、支払い金額をレンタルノードのアカウントからテナントノードのアカウントに移転することができる。ブロック生成ノードは、その後に生成されたブロックを、ブロックチェーンネットワークの他のノードにブロードキャストして検証して、その後、ブロックは有効になってブロックチェーンの末尾に追加される。ブロックチェーンの自身の特性によってスマートコントラクトの非改ざん性を確保する。
ステップS450において、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録し、レンタルノードは、ローカルで上記の対応関係を記録して、後の記憶されたデータを復元することを容易にすることができる。
ステップS460において、ローカルでの記憶対象ファイルを削除する。
このアプリケーションシナリオでは、分散型ブロックチェーンネットワーク内のノード間には、互いに通信することができる。各ノードは、すべて随時にレンタルノード又はテナントノードになることができる。その中、レンタルノードは、記憶対象ファイルをアップロードすることができ、すなわち、ファイルストレージ要求があるノードであり、テナントノードは、ファイルに対応するデータフラグメントを記憶することができ、記憶ノードとも呼ばれることができる。
一つのノード(例示的には、百度网盤(Baidu Wangpan)を表すノード)がレンタルの要求がある場合、つまり、ブロックチェーンネットワークでの他のノードに要求してファイルを共同に記憶する場合、レンタルの要求を発行する準備プロセスが開始される。その後、記憶対象ファイルは、まず、レンタルの要求があるノードでグループ化して複数のデータパケットを形成し、秘密鍵を使用して各データパケットを順序に暗号化し、第1のデータパケット以外の他の各データパケットの秘密鍵は、前のデータパケットの暗号文に基づいて生成することができる。データパケットの暗号化が完了した後、データパケットの暗号化順序に従って、各データパケットのハッシュ値を算出し、元のマークルツリーを形成することができる。次に、レンタルの要求があるノードは、データパケットをランダムに組み合わせて少なくとも三つのデータフラグメントに形成することができる。各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。同時に、レンタルの要求があるノードマークルツリー形式を使用して、データフラグメントに含まれるデータパケットのハッシュ値をフラグメントマークルツリーとして記録し、各フラグメントマークルツリーと各データフラグメントが存在する記憶ノードとの対応関係を記録する。最後に、レンタルの要求があるノードは、記憶ノードにデータフラグメントをそれぞれ伝送し、データフラグメントを分散型ブロックチェーンネットワークに送信することを実現する。各データフラグメントの記憶が完了した後、データフラグメントの記憶ノードにおける記憶関係をスマートコントラクトとし、ブロックチェーンネットワーク内のブロック生成ノードに提供して、スマートコントラクトをブロックに追加して記憶することができる。
これから分かるように、本願の実施例により提供された分散型ストレージ方法は、ブロックチェーン技術の分野に適用され、ユーザが分散型ブロックチェーンネットワークでファイル記憶を行って記憶コストを削減することを容易にし、また記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる。
実施例5
図5は、本願の実施例5により提供された分散型ストレージ装置の概略図である。図5に示すように、前記装置は、データグループ化モジュール510と、データフラグメントモジュール520と、データ記憶モジュール530と、関係記録モジュール540と、ファイル削除モジュール550と、を備える。
データグループ化モジュール510は、記憶対象ファイルをグループ化して、複数のデータパケットを形成するように構成される。
データフラグメントモジュール520は、すべてのデータパケットで少なくとも三つのデータフラグメントを形成するように構成され、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加される。
データ記憶モジュール530は、各データフラグメントを分散型記憶ノードに分散的に記憶するように構成される。
関係記録モジュール540は、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するように構成される。
ファイル削除モジュール550は、ローカルでの記憶対象ファイルを削除するように構成される。
本願の実施例は、記憶対象ファイルをグループ化して複数のデータパケットを形成し、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加され、次に、各データフラグメントを分散型記憶ノードに分散的に記憶することによって、データの分散型ストレージを実現する。分散型ストレージは、中心化記憶のボトルネック問題を解決し、帯域幅コストと記憶コストを削減し、且つデータパケットの複数のコピー記憶を使用し、一部の記憶ノードの障害によってデータ全体の復元不可能を回避する。また、各記憶ノードに記憶されているデータフラグメントは、すべてのデータ成分が含まれていないため、一つの記憶ノードを破壊することによって元の記憶ファイルを復元することは不可能である。上記の技術案は、関連するクラウドストレージ技術によって生成された記憶コスト継続的な増加及び分散型ストレージ技術によって引き起こされたデータストレージ不安全な問題を解決し、ユーザが分散型ネットワークにファイルを記憶して記憶コストを削減することが容易になり、また記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる。
選択可能には、前記装置は、秘密鍵を使用して各データパケットを順序暗号化するように構成されるデータ暗号化モジュールをさらに備え、第1のデータパケット以外の他の各データパケットの秘密鍵は、前のデータパケットの暗号文に基づいて生成し、前記各データパケットの暗号化順序を記録する。
選択可能には、関係記録モジュール540は、マークルツリー形式を使用して、データフラグメントに含まれるデータパケットのハッシュ値をフラグメントマークルツリーとして記録し、各フラグメントマークルツリーと各前記データフラグメントが存在する記憶ノードとの対応関係を記録するように構成される。
選択可能には、データ暗号化モジュールは、データパケットの暗号化順序に従って、各データパケットのハッシュ値を算出し、元のマークルツリーを形成するように構成される。
選択可能には、前記装置は、記憶ファイルの照会要求が生成された場合、ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、それぞれの記憶ノードから各データパケットをダウンロードし、各データパケットに基づいて記憶ファイルを復元して形成するように構成されるファイル復元モジュールをさらに備える。
選択可能には、ファイル復元モジュールは、ローカルに記録された各データパケットの暗号化順序に基づいて、第1のデータパケットを現在のデータパケットとして決定し、データフラグメントとデータパケットとの対応関係と、記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、現在のデータパケットが存在する記憶ノードを現在のパケットノードとして決定し、前記現在のパケットノードからデータフラグメントをダウンロードし、前記データフラグメントから現在のデータパケットを抽出し、対応する秘密鍵を使用して前記現在のデータパケットを復号化し、現在のデータパケットの暗号文を使用して、次のデータパケットに対応する秘密鍵を決定し、次のデータパケットを現在のデータパケットとして更新し、現在のデータパケットが既にダウンロードされたデータフラグメントに記憶された場合、復号化操作に戻って実行し、現在のデータパケットが既にダウンロードされたデータフラグメントに記憶されていない場合、すべてのデータパケットのダウンロードが完了するまで、現在のパケットノードを決定する操作に戻って実行するように構成される。
選択可能には、ファイル復元モジュールは、抽出された現在のデータパケットのハッシュ値を算出し、ローカルに記憶されている現在のデータパケットのハッシュ値とマッチングして、前記現在のデータパケットの有効性を検証するように構成される。
選択可能には、データ記憶モジュール530は、各データフラグメントをブロックチェーンネットワーク内の各記憶ノードにそれぞれ記憶し、データフラグメントの記憶ノードにおける記憶関係をスマートコントラクトとし、ブロックチェーンネットワーク内のブロック生成ノードに提供して、スマートコントラクトをブロックに追加して記憶するように構成される。
上記の分散型ストレージ装置は、本願の任意の実施例により提供された分散型ストレージ方法を実行することができ、方法を実行することに対応する機能モジュール及び有益な効果を備える。本実施例に詳細に説明されていない技術的詳細は、本願の任意の実施例により提供された分散型ストレージ方法を参照することができる。
実施例6
図6は、本願の実施例4により提供されるコンピュータ機器の概略構成図である。図6は、本願の実施形態を実現するのに適するコンピュータ機器612のブロック図である。図6に示されるコンピュータ機器612は、単なる一つの例であり、本願の実施例の機能及び使用範囲を一切限定しない。
図6に示すように、コンピュータ機器612は、汎用コンピュータ機器の形式として表される。コンピュータ機器612のコンポーネントは、一つ又は複数のプロセッサ616又は記憶装置628と、異なるシステムコンポーネント(記憶装置628とプロセッサ616とを含む)を接続するバス618と、を備えることができるが、これらに限定されない。
バス618は、下記のような複数のバス構造のうちの一つ又は複数のものを示し、前記複数のバス構造は、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、プロセッサ又は多様なバス構造のうちの任意のバス構造を使用するローカルバスを含む。例をあげると、これらのアーキテクチャは、インダストリスタンダードアーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture、MCA)バス、拡張ISAバス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association、VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、PCI)バスを含むが、これらに限定されない。
コンピュータ機器612は、典型的には、多種類のコンピュータシステム読み取り可能な媒体を含む。これらの媒体は、コンピュータ機器612がアクセスすることができる任意の使用可能な媒体であってもよく、揮発性媒体及び不揮発性媒体、リムーバブル媒体及びノンリムーバブル媒体を含む。
記憶装置628は、ランダムアクセスメモリ(Random Access Memory、RAM)630及び/又はキャッシュメモリ632などの揮発性メモリの形態のコンピュータシステム読み取り可能な媒体を含んでもよい。コンピュータ機器612は、他のリムーバブル/ノンリムーバブル、揮発性/不揮発性コンピュータシステム記憶媒体をさらに含んでもよい。単なる一例として、ストレージシステム634は、ノンリムーバブル、不揮発性磁気媒体(図6に示されていないが、通常「ハードアクチュエー」と呼ぶ)に対して読み出し及び書き込みをするために用いることができる。図6に示されていないが、リムーバブル、不揮発性磁気ディスク(例えば、「フロッピーディスク」)に対して読み出し及び書き込みをするための磁気ディスクアクチュエー、及びリムーバブル、不揮発性光学ディスク(例えば、コンパクトディスク読み取り専用メモリ(Compact Disc Read-Only Memory、CD-ROM)、デジタルビデオディスク読み取り専用メモリ(Digital Video Disc-Read Only Memory、DVD-ROM)又は他の光学媒体)に対して読み出し及び書き込みをするための光学ディスクアクチュエーを提供することができる。この場合、各アクチュエーは、一つ又は複数のデータメディアインターフェイスを介してバス618に接続することができる。記憶装置628は、本願の各実施例に記載の機能を実行するように構成されるワンセットのプログラムモジュール(例えば、少なくとも一つ)を有する少なくとも一つのプログラム製品を含んでもよい。
ワンセットのプログラムモジュール626(少なくとも一つ)を有するプログラム/ユーティリティ636は、例えば、記憶装置628に記憶されてもよく、このようなプログラムモジュール626は、オペレーティングシステム、一つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータを含むことができるがこれらに限定されない。これらの例のそれぞれ又は何らかの組み合わせには、ネットワーく環境の実装が含まれる可能性がある。プログラムモジュール626は、通常本願に記載の実施例における機能及び/又は方法を実行する。
コンピュータ機器612は、一つ又は複数の外部デバイス614(例えば、キーボード、ポインティングデバイス、カメラ、ディスプレイ624など)と通信可能で、ユーザがコンピュータ機器612とインタラクションすることを可能にする一つ又は複数の機器と通信することもでき、及び/又はコンピュータ機器612が一つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意の機器(例えば、ネットワークカード、モデムなど)と通信することができる。そのような通信は、入力/出力(I/O)インターフェイス422を介して行うことができる。また、コンピュータ機器612は、ネットワークアダプタ420を介して、一つ又は複数のネットワーク(例えば、ローカルエリアネットワーク(Local Area Network、LAN)、ワイドエリアネットワーク(Wide Area Network、WAN)、及び/又はパブリックネットワーク、例えば、インターネット)と通信することができる。図4に示すように、ネットワークアダプタ620は、バス618を介して、コンピュータ機器612の他のモジュールと通信する。なお、図示されていないが、マイクロコードやデバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、ディスクアレイ(Redundant Arrays of Independent Disks、RAID)システム、テープドライバ、及びデータバックアップトレージシステムなどを含むが、これらに限定されない他のハードウェア及び/又はソフトウェアモジュールを、コンピュータ機器612と組み合わせて使用することができる。
プロセッサ616は、記憶装置628に記憶されるプログラムを実行することにより、多様な機能アプリケーション及びデータ処理を実行し、例えば、本願の実施例が提供する分散型ストレージ方法を実現する。
すなわち、前記プロセッサユニットは、前記プログラムを実行する時に、記憶対象ファイルをグループ化して、複数のデータパケットを形成し、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加され、各データフラグメントを分散型記憶ノードに分散的に記憶し、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録し、ローカルでの記憶対象ファイルを削除することを実現する。
前記コンピュータ機器が記憶対象ファイルをグループ化して複数のデータパケットを形成し、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加され、次に、各データフラグメントを分散型記憶ノードに分散的に記憶し、データの分散型ストレージを実現する。分散型ストレージは、中心化記憶のボトルネック問題を解決し、帯域幅コストと記憶コストを削減し、且つデータパケットの複数のコピー記憶を使用し、一部の記憶ノードの障害によってデータ全体の復元不可能を回避する。また、各記憶ノードに記憶されているデータフラグメントは、すべてのデータ成分が含まれていないため、一つの記憶ノードを破壊することによって元の記憶ファイルを復元することは不可能である。上記の技術案は、関連するクラウドストレージ技術によって生成された記憶コスト継続的な増加及び分散型ストレージ技術によって引き起こされたデータストレージ不安全な問題を解決し、ユーザが分散型ネットワークにファイルを記憶して記憶コストを削減することが容易になり、また記憶ファイルのプライバシーとセキュリティを効果的に向上させ、攻撃者が元のファイルを復元することを回避することができる。
実施例7
本願の実施例7は、コンピュータプログラムを記憶するコンピュータ記憶媒体をさらに提供し、前記コンピュータプログラムがコンピュータプロセッサによって実行される場合に、本願は、上記の実施例のいずれかに記載の分散型ストレージ方法を実行し、前記分散型ストレージ方法は、記憶対象ファイルをグループ化して、複数のデータパケットを形成し、すべてのデータパケットで少なくとも三つのデータフラグメントを形成し、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加され、各データフラグメントを分散型記憶ノードに分散的に記憶し、データフラグメントとデータパケットとの対応関係と、前記記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するステップと、ローカルでの記憶対象ファイルを削除する。
本願の実施例のコンピュータ読み取り可能な媒体は、一つ又は複数のコンピュータ読み取り可能な媒体の任意の組み合わせを採用することができる。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体、或いはコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な媒体は、例えば、電子、磁気、光、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、或いは上記の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例(非網羅的なリスト)は、一つ又は複数の配線を備える電気接続部、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ、読み出し専用メモリ(Read Only Memory、ROM)、消去可能なプログラマブル読み出し専用メモリ((Erasable Programmable Read Only Memory、EPROM)又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ、光記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせを含む。この文書において、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置又はデバイスにより使用され、或いはそれらと組み合わせて使用されることが可能であるプログラムを含む又は記憶する任意の有形の媒体であってもよい。
コンピュータ読み取り可能な信号媒体は、ベースバンドにおける、又は搬送波の一部として伝播するデータ信号を含むことができ、その中にはコンピュータ読み取り可能なプログラムコードが搭載される。この伝播するデータ信号は様々な形式を採用することができ、電磁信号、光信号又は上記の任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ読み取り可能な信号媒体は、さらに、コンピュータ読み取り可能な記憶媒体以外の任意のコンピュータ読み取り可能な媒体であってもよく、当該コンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスにより使用され、或いはそれらと組み合わせて使用されるプログラムを送信、伝播又は伝送することができる。
コンピュータ読み取り可能な媒体に含まれるプログラムコードは、無線、有線、光ケーブル、無線周波数(Radio Frequency、RF)など、又は上記の任意の適切な組み合わせを含むが、これらに限定されない任意の適切な媒体によって伝送することができる。
一つ又は複数のプログラミング言語又はそれらの組み合わせで本願の動作を実行するためのコンピュータプログラムコードを作成することができ、前記プログラミング言語は、Java(登録商標)、Smalltalk、C++などのプロジェクト指向のプログラミング言語を含み、さらに、「C」言語又は同様のプログラミング言語といった従来の手続き型プログラミング言語をも含む。プログラムコードは、完全にユーザーコンピュータで実行されてもよく、部分的にユーザーコンピュータに実行されてもよく、スタンドアロンソフトウェアパッケージとして実行されてもよく、部分的にユーザーコンピュータで、部分的にリモートコンピュータで実行されてもよく、又は完全にリモートコンピュータ又はサーバで実行してもよい。リモートコンピュータに係る場合、リモートコンピュータは、ローカルネットワーク又は広域ネットワークを含む任意種類のインターネットを介して、ユーザーコンピュータに接続することができ、或いは、外部コンピュータ(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続する)に接続することもできる。

Claims (10)

  1. 記憶対象ファイルをグループ化して、複数のデータパケットを形成するステップと、
    すべてのデータパケットで少なくとも三つのデータフラグメントを形成するステップであって、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加されるステップと、
    各データフラグメントを分散型記憶ノードに分散的に記憶するステップと、
    データフラグメントとデータパケットとの対応関係と、前記分散型記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するステップと、
    ローカルでの記憶対象ファイルを削除するステップと、
    を含み、
    すべてのデータパケットで少なくとも三つのデータフラグメントを形成するステップの前に、
    秘密鍵を使用して各データパケットを順序暗号化するステップであって、第1のデータパケット以外の他の各データパケットの秘密鍵は、前のデータパケットの暗号文に基づいて生成するステップと、
    前記各データパケットの暗号化順序を記録するステップと、
    を含む分散型ストレージ方法。
  2. データフラグメントとデータパケットとの対応関係と、前記分散型記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するステップが、
    マークルツリー形式を使用して、データフラグメントに含まれるデータパケットのハッシュ値をフラグメントマークルツリーとして記録するステップと、
    各フラグメントマークルツリーと各前記データフラグメントが存在する分散型記憶ノードとの対応関係を記録するステップと、
    を含む請求項に記載の分散型ストレージ方法。
  3. 前記各データパケットの暗号化順序を記録するステップが、
    データパケットの暗号化順序に従って、各データパケットのハッシュ値を算出し、元のマークルツリーを形成するステップを含む請求項に記載の分散型ストレージ方法。
  4. 記憶ファイルの照会要求が生成された場合、ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、分散型記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、分散型記憶ノードから各データパケットをそれぞれダウンロードするステップと、
    各データパケットに基づいて記憶ファイルを復元して形成するステップと、
    を含む請求項に記載の分散型ストレージ方法。
  5. ローカルに記録されたデータフラグメントとデータパケットとの対応関係と、分散型記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、分散型記憶ノードから各データパケットをそれぞれダウンロードするステップが、
    ローカルに記録された各データパケットの暗号化順序に基づいて、第1のデータパケットを現在のデータパケットとして決定するステップと、
    データフラグメントとデータパケットとの対応関係と、分散型記憶ノードと記憶されたデータフラグメントとの対応関係とに基づいて、現在のデータパケットが存在する分散型記憶ノードを現在のパケットノードとして決定するステップと、
    前記現在のパケットノードからデータフラグメントをダウンロードし、前記データフラグメントから現在のデータパケットを抽出するステップと、
    対応する秘密鍵を使用して前記現在のデータパケットを復号化し、現在のデータパケットの暗号文を使用して、次のデータパケットに対応する秘密鍵を決定するステップと、
    次のデータパケットを現在のデータパケットとして更新するステップと、
    現在のデータパケットが既にダウンロードされたデータフラグメントに記憶された場合、復号化操作に戻って実行するステップと、
    現在のデータパケットが既にダウンロードされたデータフラグメントに記憶されていない場合、すべてのデータパケットのダウンロードが完了するまで、現在のパケットノードを決定する操作に戻って実行するステップと、
    を含む請求項に記載の分散型ストレージ方法。
  6. 対応する秘密鍵を使用して前記現在のデータパケットを復号化するステップ前に、
    抽出された現在のデータパケットのハッシュ値を算出し、ローカルに記憶されている現在のデータパケットのハッシュ値とマッチングして、前記現在のデータパケットの有効性を検証するステップを含む請求項に記載の分散型ストレージ方法。
  7. 各データフラグメントを分散型記憶ノードに分散的に記憶するステップが、
    各データフラグメントをブロックチェーンネットワーク内の各分散型記憶ノードにそれぞれ記憶するステップと、
    データフラグメントの分散型記憶ノードにおける記憶関係をスマートコントラクトとし、ブロックチェーンネットワーク内のブロック生成ノードに提供して、スマートコントラクトをブロックに追加して記憶するステップと、
    を含む請求項1からのいずれか一項に記載の分散型ストレージ方法。
  8. 記憶対象ファイルをグループ化して、複数のデータパケットを形成するように構成されるデータグループ化モジュールと、
    すべてのデータパケットで少なくとも三つのデータフラグメントを形成するように構成されるデータフラグメントモジュールであって、各データフラグメントには、一部のデータパケットが含まれ、また各データパケットは、少なくとも二つのデータフラグメントに追加されるデータフラグメントモジュールと、
    各データフラグメントを分散型記憶ノードに分散的に記憶するように構成されるデータ記憶モジュールと、
    データフラグメントとデータパケットとの対応関係と、前記分散型記憶ノードと記憶されたデータフラグメントとの対応関係とを記録するように構成される関係記録モジュールと、
    ローカルでの記憶対象ファイルを削除するように構成されるファイル削除モジュールと、
    秘密鍵を使用して各データパケットを順序暗号化するデータ暗号化モジュールであって、第1のデータパケット以外の他の各データパケットの秘密鍵は、前のデータパケットの暗号文に基づいて生成し、前記各データパケットの暗号化順序を記録するように構成されるデータ暗号化モジュールと、
    を備える分散型ストレージ装置。
  9. 一つ又は複数のプロセッサと、
    一つ又は複数のプログラムを記憶するように構成される記憶装置と、を備え、
    前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合、前記一つ又は複数のプロセッサが、請求項1からのいずれか一項に記載の分散型ストレージ方法を実現するコンピュータ機器。
  10. コンピュータプログラムが記憶されているコンピュータ記憶媒体であって、
    当該プログラムがプロセッサによって実行される場合、請求項1からのいずれか一項に記載の分散型ストレージ方法を実現するコンピュータ記憶媒体。
JP2020530626A 2018-05-18 2019-01-18 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体 Active JP7044881B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810479464.3 2018-05-18
CN201810479464.3A CN108664223B (zh) 2018-05-18 2018-05-18 一种分布式存储方法、装置、计算机设备及存储介质
PCT/CN2019/072337 WO2019218717A1 (zh) 2018-05-18 2019-01-18 一种分布式存储方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
JP2021506004A JP2021506004A (ja) 2021-02-18
JP7044881B2 true JP7044881B2 (ja) 2022-03-30

Family

ID=63776722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020530626A Active JP7044881B2 (ja) 2018-05-18 2019-01-18 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体

Country Status (4)

Country Link
US (1) US11842072B2 (ja)
JP (1) JP7044881B2 (ja)
CN (1) CN108664223B (ja)
WO (1) WO2019218717A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664223B (zh) * 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
US11228445B2 (en) * 2018-06-19 2022-01-18 Docusign, Inc. File validation using a blockchain
CN111079193B (zh) * 2018-10-19 2023-03-28 华为云计算技术有限公司 数据存储方法、数据查询方法、装置及设备
US10949388B2 (en) * 2018-11-16 2021-03-16 Advanced Messaging Technologies, Inc. Systems and methods for distributed data storage and delivery using blockchain
CN109614037A (zh) * 2018-11-16 2019-04-12 新华三技术有限公司成都分公司 数据巡检方法、装置和分布式存储系统
CN109558081A (zh) * 2018-11-23 2019-04-02 深圳市威赫科技有限公司 一种数据存储机制及系统
CN109634932B (zh) * 2018-11-30 2021-03-23 北京瑞卓喜投科技发展有限公司 一种智能合约存储方法及存储系统
CN111338841A (zh) * 2018-12-19 2020-06-26 北京京东尚科信息技术有限公司 数据处理方法、装置、设备和存储介质
CN113689213A (zh) * 2018-12-26 2021-11-23 创新先进技术有限公司 区块链数据处理方法、装置及系统
CN109815258A (zh) * 2018-12-29 2019-05-28 深圳云天励飞技术有限公司 一种数据处理的方法及装置
CN109800599A (zh) * 2019-01-18 2019-05-24 深圳市威赫科技有限公司 一种区块链分布式存储方法及系统
CN109902494A (zh) * 2019-01-24 2019-06-18 北京融链科技有限公司 数据加密存储方法、装置,以及文件存储系统
CN111475538A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理方法、装置及存储介质
US11222099B2 (en) * 2019-02-08 2022-01-11 Synergex Group Methods, systems, and media for authenticating users using blockchains
CN111835801B (zh) * 2019-04-18 2023-11-14 北京度友信息技术有限公司 文件下载方法、装置、服务器、边缘设备、终端及介质
US11294875B2 (en) * 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes
CN110288346A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110300170A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110288445B (zh) * 2019-06-28 2024-03-05 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN110597824A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据存储方法以及装置
KR102628057B1 (ko) * 2019-10-29 2024-01-22 삼성에스디에스 주식회사 블록체인 기반 파일 송신 방법 및 그 시스템
CN111030930B (zh) * 2019-12-02 2022-02-01 北京众享比特科技有限公司 基于去中心化网络数据分片传输方法、装置、设备及介质
US11368285B2 (en) * 2019-12-05 2022-06-21 International Business Machines Corporation Efficient threshold storage of data object
CN111176567B (zh) * 2019-12-25 2023-11-03 上海新沄信息科技有限公司 分布式云存储的存储供应量验证方法及装置
CN111193798A (zh) * 2019-12-31 2020-05-22 山东公链信息科技有限公司 一种打散后加密分散存储的图片分布式存储技术
CN111324305B (zh) * 2020-02-16 2021-02-02 西安奥卡云数据科技有限公司 一种分布式存储系统中数据写入/读取方法
CN111290883B (zh) * 2020-02-16 2021-03-26 西安奥卡云数据科技有限公司 一种基于重删的精简复制方法
CN111311283B (zh) * 2020-02-20 2021-02-05 宁波甜宝生物信息技术有限公司 基于区块链和云计算的化妆品溯源生产工艺方法
JP7158690B2 (ja) * 2020-02-28 2022-10-24 長瀬産業株式会社 情報処理システム、及びプログラム
CN111475839B (zh) * 2020-04-06 2023-04-18 华中科技大学 一种用于不可信环境的冗余数据编码方法、存储介质
CN111611317B (zh) * 2020-06-08 2023-05-30 杭州复杂美科技有限公司 区块链分布式存储分组方法、设备和存储介质
CN112231398A (zh) * 2020-09-25 2021-01-15 北京金山云网络技术有限公司 数据存储方法、装置、设备及存储介质
CN112130772A (zh) * 2020-09-29 2020-12-25 合肥城市云数据中心股份有限公司 一种基于稀疏随机纠删码技术的区块链安全存储方法
AU2021254561A1 (en) * 2021-10-19 2023-05-04 Neo Nebula Pty Ltd A device, method and system for the secure storage of data in a distributed manner
CN112328688B (zh) * 2020-11-09 2023-10-13 广州虎牙科技有限公司 数据存储方法、装置、计算机设备及存储介质
CN112667568B (zh) * 2020-12-21 2022-11-22 广州携旅信息科技有限公司 一种在酒店内网环境下实现分布式存储的方法
CN114006690A (zh) * 2021-01-04 2022-02-01 北京八分量信息科技有限公司 一种区块链的数据授权方法
CN112968864A (zh) * 2021-01-26 2021-06-15 太原理工大学 一种可信的IPv6网络服务过程机制
CN112905667A (zh) * 2021-03-08 2021-06-04 黑芝麻智能科技(上海)有限公司 无人驾驶信息存储和回放方法、装置及存储介质
CN116303753A (zh) * 2021-12-09 2023-06-23 中兴通讯股份有限公司 分布式数据库的分片方法、装置、电子设备和存储介质
CN115935090B (zh) * 2023-03-10 2023-06-16 北京锐服信科技有限公司 一种基于时间分片的数据查询方法及系统
CN116860180A (zh) * 2023-08-31 2023-10-10 中航金网(北京)电子商务有限公司 一种分布式存储方法、装置、电子设备及存储介质
CN117873402B (zh) * 2024-03-07 2024-05-07 南京邮电大学 一种基于异步联邦学习和感知聚类的协作边缘缓存优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224158A (ja) 1999-02-01 2000-08-11 Toyo Commun Equip Co Ltd 暗号通信システム
JP2012226544A (ja) 2011-04-19 2012-11-15 Clickbenefit Co Ltd 情報処理システムおよびデータバックアップ方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
CN102148798A (zh) * 2010-02-04 2011-08-10 上海果壳电子有限公司 大容量数据包的高效并行安全加解密方法
CN101808095B (zh) * 2010-03-22 2012-08-15 华中科技大学 一种分布式存储环境下的加密副本组织方法
KR20130048594A (ko) 2011-11-02 2013-05-10 삼성전자주식회사 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법
US9483657B2 (en) * 2013-01-14 2016-11-01 Accenture Global Services Limited Secure online distributed data storage services
CN104123300B (zh) * 2013-04-26 2017-10-13 上海云人信息科技有限公司 数据分布式存储系统及方法
RU2527210C1 (ru) * 2013-06-14 2014-08-27 Общество с ограниченной ответственностью "Новые технологии презентаций" Способ и система для передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети
CN103559102A (zh) 2013-10-22 2014-02-05 北京航空航天大学 数据冗余处理方法、装置和分布式存储系统
CN106302702B (zh) * 2016-08-10 2020-03-20 华为技术有限公司 数据的分片存储方法、装置及系统
US10547460B2 (en) * 2016-11-18 2020-01-28 Qualcomm Incorporated Message-based key generation using physical unclonable function (PUF)
CN110050474A (zh) * 2016-12-30 2019-07-23 英特尔公司 用于物联网网络中的复合对象的子对象的类型命名和区块链
CN106775494B (zh) * 2017-01-06 2023-05-12 南京普天通信股份有限公司 一种基于分布式软件定义存储的数据存储装置及存储方法
CN108628539B (zh) * 2017-03-17 2021-03-26 杭州海康威视数字技术股份有限公司 数据存储、分散、重构、回收方法、装置及数据处理系统
CN107273410B (zh) * 2017-05-03 2020-07-07 上海点融信息科技有限责任公司 基于区块链的分布式存储
CN107273759B (zh) 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107220559B (zh) * 2017-06-11 2023-07-07 南京安链数据科技有限公司 一种针对不可篡改文件的加密存储方法
US20190180272A1 (en) * 2017-12-12 2019-06-13 Janathon R. Douglas Distributed identity protection system and supporting network for providing personally identifiable financial information protection services
CN108664223B (zh) 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224158A (ja) 1999-02-01 2000-08-11 Toyo Commun Equip Co Ltd 暗号通信システム
JP2012226544A (ja) 2011-04-19 2012-11-15 Clickbenefit Co Ltd 情報処理システムおよびデータバックアップ方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
加嵜 長門 ほか,ブロックチェーンアプリケーション開発の教科書,第1版,株式会社マイナビ出版,2018年01月31日,p.266,ISBN:978-4-8399-6513-6

Also Published As

Publication number Publication date
US20200363994A1 (en) 2020-11-19
JP2021506004A (ja) 2021-02-18
CN108664223A (zh) 2018-10-16
US11842072B2 (en) 2023-12-12
WO2019218717A1 (zh) 2019-11-21
CN108664223B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
JP7044881B2 (ja) 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体
US9262247B2 (en) Updating data stored in a dispersed storage network
CN111047324B (zh) 用于更新区块链节点处的公钥集合的方法及装置
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
CN111199045A (zh) 信息的安全多方存储和传递的加密私钥管理的方法和系统
US20200068008A1 (en) Block Chain Encoding With Fair Delay For Distributed Network Devices
CN109194669B (zh) 一种轻量级节点的数据传输方法、装置、设备和介质
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
US8719923B1 (en) Method and system for managing security operations of a storage server using an authenticated storage module
US20210217004A1 (en) Data processing method, apparatus, device, and medium in blockchain fund settlement system
CN111526197A (zh) 一种云端数据安全共享方法
US11601258B2 (en) Selector derived encryption systems and methods
Giri et al. A survey on data integrity techniques in cloud computing
CN115225409A (zh) 基于多备份联合验证的云数据安全去重方法
US20130061059A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
CN116132041A (zh) 密钥处理方法、装置、存储介质及电子设备
Thakur et al. Data integrity techniques in cloud computing: an analysis
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
CN110958211B (zh) 一种基于区块链的数据处理系统及方法
KR102511570B1 (ko) 블록체인 네트워크의 프로세스를 처리하기 위한 방법, 장치, 시스템, 방법 및 컴퓨터 판독가능 저장매체
US20230336355A1 (en) Data protection on distributed data storage (dds) protection networks
US11626986B1 (en) Method and system of rescinding access to blockchain data
US20240163088A1 (en) Fault-tolerant access to digital assets without storing sensitive security data for decryption
EP4095731A1 (en) Method and system of rescinding access to blockchain data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211014

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220317

R150 Certificate of patent or registration of utility model

Ref document number: 7044881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150