JP7335440B2 - ファイル記憶方法、端末及び記憶媒体 - Google Patents

ファイル記憶方法、端末及び記憶媒体 Download PDF

Info

Publication number
JP7335440B2
JP7335440B2 JP2022525637A JP2022525637A JP7335440B2 JP 7335440 B2 JP7335440 B2 JP 7335440B2 JP 2022525637 A JP2022525637 A JP 2022525637A JP 2022525637 A JP2022525637 A JP 2022525637A JP 7335440 B2 JP7335440 B2 JP 7335440B2
Authority
JP
Japan
Prior art keywords
file
stored
address set
block chain
chain network
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
JP2022525637A
Other languages
English (en)
Other versions
JP2023500316A (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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Publication of JP2023500316A publication Critical patent/JP2023500316A/ja
Application granted granted Critical
Publication of JP7335440B2 publication Critical patent/JP7335440B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • 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/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
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

(関連出願の相互参照)
本出願は、出願番号が201911067461.Xであり、出願日が2019年11月04日である中国特許出願に基づいて出願され、この中国特許出願に基づく優先権を主張するものであり、該中国特許出願の全内容を参照として本出願に援用する。
本出願は端末技術分野に関し、特に、ファイル記憶方法、端末及び記憶媒体に関する。
コンピュータ技術の発展に伴い、ユーザが使用する電子製品はますます多様化し、さらに多様化した電子製品を使用することにより各種のデータを生成することで、ユーザによる個人データの記憶や保護への要求もますます高くなる。現在、一般にはブロックチェーンシステムを用いてこれらの大量データを管理、記憶及び検索する。
データ量が大きいファイルに対し、従来のブロックチェーンにおける記憶及び検索方式は一般には、ファイルをサービス側に送信し、サービス側でファイルを複数のサブファイルに分割し、さらに複数のサブファイルをそれぞれ暗号化し、続いて暗号化したサブファイルを記憶し、ユーザがファイルをダウンロードする時に、サービス側で全てのサブファイルを取得して復号化し、続いて全てのサブファイルをデータ量の大きいファイルに併合してから、端末に送信する。これにより、従来のブロックチェーンの記憶方式は暗号化効率が低く、安全性が悪いだけでなく、サービス側の負荷過大という課題が生じ、データ量の大きいファイルの記憶需要を満たすことができない。
本出願の実施例はファイル記憶方法、端末及び記憶媒体を提供し、従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
本出願の実施例の態様は以下のように実現される。
本出願の実施例は、
記憶対象ファイルを取得して前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得ることであって、Nは1以上の整数であることと、
前記N個のサブファイルをIPFSに送信し、前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信することであって、Mは1以上であり、且つN以下の整数であることと、
前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成して前記アドレス集合を暗号化し、アドレス集合暗号文を得ることと、
前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することであって、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられることと、を含むファイル記憶方法を提供する。
本出願の実施例は、
記憶対象ファイルを取得するように構成される取得部と、
前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得るように構成され、Nが1以上の整数である処理部と、
前記N個のサブファイルをIPFSに送信するように構成される送信部と、
前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信するように構成され、Mが1以上であり、且つN以下の整数である受信部と、
前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成するように構成される生成部と、
前記アドレス集合を暗号化し、アドレス集合暗号文を得るように構成される暗号化部と、を備え、
前記送信部は、さらに前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信するように構成され、
前記受信部は、さらに前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信するように構成され、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられる端末を提供する。
本出願の実施例は、プロセッサと、前記プロセッサによる実行可能な命令を記憶したメモリとを備え、前記命令が前記プロセッサにより実行される時に、上記のようなファイル記憶方法を実現する端末を提供する。
本出願の実施例は、プログラムを記憶しており、端末に適用され、前記プログラムがプロセッサにより実行される時に、上記のようなファイル記憶方法を実現するコンピュータ読み取り可能な記憶媒体を提供する。
本出願の実施例はファイル記憶方法、端末及び記憶媒体を提供し、端末は記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得し、Nは1以上の整数であり、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数であり、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、目標インデックス値はアドレス集合暗号文を識別するために用いられる。即ち、本出願の実施例において、端末は記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの機能アーキテクチャの概略図である。 本出願の実施例に係るリソース層がコンテナ化管理システムの配置によりコンテナ・クラスタ200に構築される構成概略図である。 本出願の実施例に係る開発者が端末300を介してブロック・チェーン・ネットワーク・サービス・プラットフォーム100にアクセスする概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。
本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。
本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。 本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図である。
本出願の実施例に係る例示的にブロック・チェーン・ネットワーク・サービス・プラットフォームを用いて配置されたブロック・チェーン・ネットワークの構成概略図である。 本出願の実施例に係る例示的にブロック・チェーン・ネットワーク・サービス・プラットフォームを用いて取引を行うフローチャートである。 本出願の実施例に係るファイル記憶方法を実現する概略図1である。 本出願の実施例に係るファイル記憶方法を実現するフローチャート1である。 本出願の実施例に係る例示的にファイル記憶を実現するフローチャートである。 本出願の実施例に係るファイル記憶方法を実現する概略図2である。 本出願の実施例に係るファイル記憶方法を実現するフローチャート2である。 本出願の実施例に係る例示的にファイルクエリを実現するフローチャートである。 本出願の実施例に係る端末の構成構造の概略図1である。 本出願の実施例に係る端末の構成構造の概略図2である。
以下は本出願の実施例における図面を参照しながら、本出願の実施例における技術案を明確で完全に説明する。ここで記載される具体的な実施例は本願の説明のみに用いられ、本出願を限定するものではないと解され得る。なお、説明の便宜上、図面には関連出願に関する部分のみを示す。
特に定義しない限り、本明細書に使用される全ての技術や科学用語は本発明の技術分野に属する技術者が一般的に理解する意味と同じである。本明細書に使用される用語は本発明の実施例を説明するためだけであり、本発明を制限するものではない。
本発明の実施例についてさらに詳細に説明する前に、本発明の実施例に言及される名詞や用語について説明し、本発明の実施例に言及される名詞や用語は以下の説明に適用する。
1)インタープラネタリー・ファイル・システム(IPFS:Inter Planetary File System)は、永続的かつ分散的にファイルを記憶・共有するためのネットワーク転送プロトコルである。IPFSは汎用的であり、記憶制限が少ない。そのサービス対象となるファイルは大きくても小さくてもよく、且つ大きいファイルを自動的に小さいブロックに分割することができ、これによって、ノードはハイパーテキスト転送プロトコル(HTTP:Hyper Text Transfer Protocol)のように一台のサーバからファイルをダウンロードすることができるだけでなく、数百台のサーバから同期的にダウンロードを行うこともできる。IPFSは大きなファイルを一定のサイズで断片化して平文でシステムに記憶することができる。
2)ブロック・チェーン・ネットワークは、新たなブロックを、ブロックチェーンの一連の、分散型ノードの集合に、コンセンサスの方式で取り込む。
3)ブロックチェーン(Blockchain)は、ノードが関与する、分散化された分散データベースシステムであり、ブロックを順に接続するように組み合わせたチェーン式データ構造であり、各ブロックに1つ前のブロック又はそのサブ集合のハッシュ値を含めることで、記録された取引を改ざん・偽造しないように暗号学的な方法で確保する。サーバに接続している全てのブロックチェーンノードから自由にアクセス可能な分散記憶のデータ構造であり、幾つかのブロック(Block)を含んでいる。クライアントを含むユーザ端末は1つのブロックチェーンノードとして登録することができ、各ブロックチェーンノード装置はそれぞれブロックチェーンノードとして、ブロックチェーンサーバにアクセスした他のブロックチェーンノードとピア・ツー・ピア(P2P:peer to peer lending)ネットワークを構成し、ブロックチェーンデータはP2Pネットワークに格納することができ、P2Pネットワークにおけるいずれか1つ又は複数のブロックチェーンノードに障害が発生しても、ブロックチェーンデータの紛失を招くことがなく、このようにブロックチェーンデータは非常に強い安全性を有し、データの永続保存及び改ざん不可を確保する。ブロックがブロックチェーンデータに永続化される時に、サーバに接続しているブロックチェーンノードは何れもこのブロックを追加することができる。ブロックは、永続化の時間順に1つずつブロックチェーンデータに追加され、ブロックチェーンデータにおける最初のブロック以外の各ブロックは、何れもその1つ前のブロックに接続されることにより、ブロックチェーンデータは、チェーンのように、1つのブロックがもう1つのブロックに接続するように形成され、ブロックがロックチェーンデータに永続化されたら、このブロックが改修できなくなる。
4)ブロック(Block)は、一定時間内で、取引で更新された台帳データのデータ構造を記録し、タイムスタンプ及び1つ前のブロックの独自マーク(例えばデジタル指紋)が標記され、ブロックはブロック・チェーン・ネットワークにおけるノードのコンセンサス検証を経て、ブロックチェーンの末尾に追加されて新たなブロックになる。
5)取引(Transaction)は、コンピュータ用語の「トランザクション」に相当し、配置(Deploy)、呼び出し(Invoke)及びクエリ(Query)の3種類の異なる模擬取引操作を含む。配置という種類の取引は、ブロック・チェーン・ネットワークのノードに対して、指定されたチェーンコードをインストールするために用いられ、呼び出し及びクエリという種類の取引は、配置番号のチェーンコードを呼び出すために用いられ、台帳における目標口座の関連データに対する操作を実現し、追加、削除、検索、変更の操作により口座におけるキー値(Key-Value)対という形式のデータを改修すること、又は台帳に新たな口座を追加することを含む。当該取引は、ビジネス上の取引だけを指しているわけではなく、ブロックチェーン分野において「取引」という用語が一般的に使用されることに鑑み、本発明の実施例においてもこの習慣を踏襲する。
6)台帳(Ledger)は、ブロック・チェーン・ネットワークにおいて口座を次元として記録されたデータの総和であり、台帳データ、台帳状態、台帳状態証明及びブロックインデックスなどの要素を含む。
7)台帳データは、実際に記憶されたブロックデータであり、即ちブロックチェーンに記録された一連の系列的な、改ざん不可な取引の記録であり、ファイルシステムのファイルの形式として表すことができ、取引において呼び出されたスマート契約が実行される時、口座や口座におけるデータの更新が図れる。
8)台帳状態は、状態データとも呼ばれ、即ち台帳データの状態であり、データベースにおけるキー値対の形式として表すことができ、そのうちリアルタイムの台帳状態はコンセンサスの取引で更新されたキー値対の最新記録を示すために用いられ、履歴台帳状態はキー値対の履歴記録を示すために用いられる。
9)コンセンサス(Consensus)は、ブロック・チェーン・ネットワークにおける1つのプロセスであり、係る複数のノード間で取引結果に対して一致を達成するために用いられ、コンセンサスを実現する仕組みは仕事量による証明(POW:Proof Of Work)、掛け金の証明(POS:Proof Of Stake)、委任型の関与の証明(DPOS:Delegated Proof-Of-Stake)、経過証明(POET:Proof Of Elapsed Time)などを含む。
10)スマート契約(Smart Contracts)は、チェーンコード(Chaincode)とも呼ばれ、ブロック・チェーン・ネットワークに配置された、条件に基づいてトリガして実行されるプログラムチェーンコードは安全なコンテナで動作し、台帳データや台帳状態を初期化・管理する。
11)コンテナ・オーケストレーションは、コンテナのスケジューリング及びクラスタの技術であり、コンテナ・アプリケーションの拡張可能性に基づく基本的な仕組みを提供し、コンテナを用いてサービスを提供してコンテナ間でどのように対話を行うかをオーケストレーションして決定する。以下は本発明の実施例のブロック・チェーン・ネットワークを実現する例示的な機能アーキテクチャについて説明し、図1は本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの機能アーキテクチャの概略図であり、アプリケーション層101、コンセンサス層102、ネットワーク層103、データ層104及びリソース層105を含み、以下はそれぞれ説明する。
リソース層105は、例えばコンピュータ、サーバ/クラスタ及びクラウドにおける計算リソースや記憶リソースなどの各種の利用可能な計算リソースや記憶リソースを含み、リソース層105を実現する下位層ハードウェアの差異性を隠蔽するように、抽象化してデータ層104に統一的なインターフェースを提供する。
計算リソースは各種形式のプロセッサを含み、例えば中央処理装置(CPU:Central Processing Unit)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、専用集積回路及び書換え可能なゲートアレー(FPGA:Field-Programmable Gate Array)の各種形態のプロセッサである。
記憶リソースは、各種の揮発性メモリや不揮発性メモリなどの各種の記憶媒体を含む。ここで、不揮発性メモリは読み出し専用メモリ(ROM:Read Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable Read-OnlyMemory)であってもよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。
リソース層105の計算リソース及び記憶リソースは、ブロック・チェーン・ネットワークにおける各種タイプのノードとしてマッピングされることができ、本発明の実施例を実現する記憶媒体は、本発明の実施例のブロック・チェーン・ネットワークの配置方法を実現するための実行可能な命令を記憶し、ノードに配置された実行可能な命令が実行されると、ノードを実現する下位層リソース(例えば各種タイプのプロセッサ)は、ブロック・チェーン・ネットワークにおける各種タイプのノードの配置を実現し、及び各種タイプのノードの機能を実行し、それにより業務過程における取引に対する台帳、及び台帳に基づく各種のアプリケーションを実現する。
実行可能な命令は、例として、ソフトウェア(システムプログラム、アプリケーションを含む)、ソフトウェアモジュール、スクリプト、プラグインなどの形式を採用し、任意の形式のプログラミング言語(コンパイル言語、インタプリタ言語、宣言言語またはプロシージャ言語を含む)でプログラミングすることができ、また独立したプログラムとして配置されるか、又はモジュール、コンポーネント若しくはコンピューティング環境での使用に適したその他のユニットとして配置されるように任意の形式で配置されることができる。
データ層104は、台帳を実現するための各種のデータ構造を実装しており、ファイルシステムで実現される台帳データ、データベース形式で実現される台帳状態及び存在証明を含む。
ネットワーク層103はP2Pネットワークプロトコル、データ伝播の仕組みやデータ検証の仕組み、アクセス及び認証の仕組み並びに業務主体の身元を実装する。P2Pネットワークプロトコルはブロック・チェーン・ネットワークにおけるノード間の通信を実現し、データ伝播の仕組みはブロック・チェーン・ネットワークにおける取引や取引結果の伝播を確保し、データ検証の仕組みは暗号学方法(例えばデジタル証明書、デジタル署名、公開鍵対・秘密鍵対)に基づいてノード間のデータ伝送の信頼性を実現するために用いられ、アクセス及び認証の仕組みは業務主体の身元に基づいて端末のアクセス及び認証を管理するために用いられる。 コンセンサス層102はブロックチェーンにおいて伝播された取引結果の一致性を達成する仕組みを実装し、POS、POW及びDPOSなどを含み、コンセンサス仕組みのプラグインを支持する。
アプリケーション層101はブロック・チェーン・ネットワークが実現できる各種業務を実装し、取引決済、遡源及び存在証明等を含む。
図2は本出願の実施例に係るリソース層がコンテナ化管理システムの配置によりコンテナ・クラスタ200に構築される構成概略図であり、リソース層にリソースを提供する機器においてコンテナ化管理システムに対応するコンポーネントを配置することによって管理ノード(Master Server)200及びサービスノード300(Node)という2種類のノードを形成し、管理ノードはコンテナがサービスノードにおけるスケジューリング及び動作を管理するために用いられ、サービスノードは主に各種のコンテナを動作させるために用いられ、ブロック・チェーン・ネットワークにおける各種のアプリケーションの隔離動作環境を提供し、例えば、チェーンコードを動作させるためのチェーンコードコンテナ、ノード(即ちブロック・チェーン・ネットワークにおける各種タイプのノードのコード)コードを動作させるためのノードコンテナであり、以下はそれぞれ説明する。
管理ノード(Master Server)200はクラスタの管理を担当し、サービス(Service)の形式で外部にクラスタのリソースデータのアクセスポータルを提供し、管理ノードはいくつかの例示的なコンポーネントを含む。
1)状態コンポーネント(etcd)はクラスタ全体の状態を保存するために用いられる。
2)アプリケーション・プログラミング・インタフェース(API:Application Programming Interface)Serverコンポーネントは、リソース操作の唯一のポータルを提供し、認証、許可、アクセス制御、API登録及び発見等の仕組みを提供するために用いられる。
3)スケジューラ(Scheduler)・コンポーネントは、リソースのスケジューリングを担当し、所定のスケジューリング・ポリシーに従ってコンテナを適切なノードにスケジューリングして動作させるために用いられる。サービスノードが動作させるコンテナにおける共有機器(即ちサービスノードコンポーネントが配置される機器)における同じ群れのリソースのコンテナ群(Pod:Plainold data structure)は呼び出しの最小単位であり、ブロック・チェーン・ネットワークのアプリケーションは、1つ以上のコンテナ群によって実現することができ、コンテナ群におけるコンテナの共有するリソースは、アプリケーションの名前空間、ネットワークの名前空間、ホスト名及びボリューム(Volume)を含む。
共有ボリュームを例とし、ノードに、例えばネットワーク・ファイル・システム(NFS:Network File System)、クラスタ・ファイル・システム(GlusterFS)、cephファイルシステム(Cephfs)などの共有ファイル・システム・コンポーネントが配置される場合、スケジューラ・コンポーネントはボリュームにマウントされたコンテナ群を他の機器(ノード)のボリュームに容易にスケジューリング(マウント)することができる。
4)制御管理(Controller Manager)コンポーネントは、クラスタの状態を監視・保守することを担当するために用いられ、アプリケーション・インタフェース・サービス・コンポーネントにより提供されるインターフェースにより、クラスタ全体の各リソース対象の現在状態をリアルタイムに監視し、各種故障が発生してシステム状態が変化する場合、所望の状態に修復する。
5)レプリケーション・コントローラ(RC:Replication Controller)・コンポーネントは、一定時間内に一定数のPodレプリケーションが常に動作するように制御し、例えば、動作中のPodレプリケーションが設定値を超えると、一部のPodレプリケーションを閉じ、Podレプリケーションが設定値より少なくなると、新たなPodレプリケーションを作成する。
6)配置コントローラ(Deployment Controller)・コンポーネントは、コンテナ・クラスタにおけるリソース対象である配置(Deployment)対象を管理・保守するために用いられ、配置対象をレプリケーション・コントローラに関連付け、配置対象において、コンテナ群及びレプリケーション・コントローラの目標状態を宣言するように、コンテナ群及びレプリケーション・コントローラに宣言型更新を提供することで、配置対象が更新される場合、レプリケーション・コントローラ及びコンテナ群の更新を実現するように制御する。
サービスノード300は以下のような例示的なコンポーネントを含む。
1)コンテナエンジン(Dockerと記す)は、全ての具体的なミラーリング・ダウンロード及びコンテナの動作を担当するために用いられる。
2)デーモン・プロセス・コンポーネント(Kubeletと記す)は、コンテナのライフサイクル(作成、起動及び停止)の保守を担当し、またボリューム及びコンテナ・ネットワーク・インタフェース(CNI:Container Network Interface)の管理を担当する。
ボリュームの管理を例とし、デーモン・プロセス・コンポーネントは、ノードに配置された共有ファイルシステムのコンポーネント、例えばネットワーク・ファイル・システム(NFS:Network File System)、クラスタ・ファイル・システム(GlusterFS)、cephファイルシステム(Cephfs)により、1つのコンテナ群における各コンテナを同一のボリュームにマウントすることで、各コンテナは同一のボリュームを使用して動作中に生じたデータを記憶し、ボリュームにおけるデータは同一のコンテナ群のいずれかのコンテナによりアクセスされ得る。
3)負荷分散コンポーネント(Proxyと記す)は、Serviceにcluster内部のサービス発見及び負荷分散を提供することを担当する。
図2に示すクラスタに基づき、1つのブロック・チェーン・ネットワークが配置されたアプリケーションのミラーリングはコンテナ群(以下の例では目標Podという)に実装され、ノード(以下の例では目標Nodeという)で動作する例示的な過程は以下の通りである。
まず、コンテナ・クラスタ200の管理ツール(Kubectl)は、レプリケーション・コントローラRCの作成要求を送り、当該作成要求は、目標Podの定義、目標Podが動作させる必要があるレプリケーション数、監視対象となる目標Podラベル(Lable)などの情報を含む。
続いて、要求はアプリケーション・インタフェースAPI Serverを介してetcdに書き込まれ、この時、Controller Managerは、API Serverのリソース変化監視インターフェースを介して、このRCイベントが感知され、現在のクラスタにそれに対応するPodインスタンスがないことを発覚した場合、RCにおけるPodテンプレート定義に基づいてPod対象を生成し、API Serverを介してetcdに書き込む。
続いて、RCイベントがSchedulerに発見され、直ちにスケジューリングのプロシージャを実行し、この新たなPodのためにノードを割り当て、その後API Serverを介してこの結果をetcdに書き込み、そして目標Nodeで動作するKubeletプロセスはAPI Serverを介してこの新たなPodを検知し、且つその定義に基づき、新たなPodを起動し、Podの生命が終了するまで動作させる。
続いて、Kubectlは目標PodにマッピングするServiceの新規作成要求を提出し、Controller ManagerはLabelによってクエリして関連するPodインスタンスを得、続いてServiceのエンドポイント(Endpoints)情報(アドレス及びポートを含む)を生成してAPI Serverによってetcdに書き込み、コンテナ・クラスタにおける全てのNodeで動作するProxyプロセスはAPI ServerによってService対象とそれに対応するEndpoints情報をクエリ・監視し、ソフトウェア方式のロードバランサーを確立してServiceのバックエンドPodへのアクセスのためのサービスの転送機能を実現する。
以上から分かるように、本発明の実施例を実現するブロック・チェーン・ネットワーク・サービス・プラットフォームは、リソース層にコンテナ・クラスタを配置し、ブロック・チェーン・ネットワークのアプリケーションが実装されたコンテナを動作させることによって実現され、それにより、本発明の実施例を実現するブロック・チェーン・ネットワークはメモリ及びプロセッサの形式として提供することができ、メモリに実行可能な命令が記憶され、実行可能な命令がプロセッサにより実行される時に、プロセッサ及びメモリを動作させる複数のノードにコンテナ・クラスタを確立し、コンテナにおいて実装されたアプリケーションを動作させることにより、本発明の実施例のブロック・チェーン・サービス・ネットワーク・プラットフォームにおけるチェーンコードのインストール方法を実現する。
本発明の実施例を実現するブロック・チェーン・ネットワークプラットフォームは各種方式によって開発者とやり取り、各種の図形化方式を提供してブロック・チェーン・ネットワークの配置及び管理を行い、それについては、以下では説明する。
図3は、本出願の実施例に係る開発者が端末300を介してブロック・チェーン・ネットワーク・サービス・プラットフォーム100にアクセスする概略図であり、開発者の端末300のソフトウェア開発キット(SDK:Software Development Kit)/ワールドワイドウェブ(Web:World Wide Web)320のインターフェースは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100におけるデータ層104の相応するSDE/Webインターフェースに接続され、開発者の端末300というローカルで遠隔方式により特定業務をサポートするブロック・チェーン・ネットワークを配置することをサポートし、端末300のグラフィック・インターフェース310にブロック・チェーン・ネットワーク・サービス・プラットフォーム100の各種機能の管理画面を表示し、コンテナ・クラスタの作成や新たなコンテナ・クラスタのアクセス、記憶リソースの管理、ブロック・チェーン・ネットワークのワンクリック配置、チェーンコード管理(動作状態確認)、アプリケーション・ストア管理などを含む。
図4A~図4Qは、本出願の実施例に係るブロック・チェーン・ネットワーク・サービス・プラットフォームの各種の機能管理画面の表示概略図であり、図4A~図4Qを参照しながら、図3に示す開発者の端末300のグラフィック・インターフェース310に表示される機能管理画面を例示的に説明する。
図4Aはブロック・チェーン・ネットワーク・サービス・プラットフォーム100の状態確認画面を示し、状態確認画面でブロック・チェーン・ネットワークの動作状態、例えばCPU使用量、メモリ使用量、リソース(ノード)使用量の状況を確認する。
図4Bはブロック・チェーン・ネットワーク・サービス・プラットフォーム100のワンクリック配置のコンソール画面を示し、開発者がブロック・チェーン・ネットワークの基本情報(ブロックドメイン名、バージョン番号を含む)及び組織(組織名、ノード数、ユーザー数などを含む)を設定することをサポートし、デフォルト値でオーダリングノードタイプ、チャネル名称及びチェーンコード名称などを含む詳細オプションを設定する。
図4Cはブロック・チェーン・ネットワーク・サービス・プラットフォーム100のリソース層105のリソース管理のコンソール画面を示し、接続するか否かの状態、CPUやメモリの使用状況等を含む、開発者がブロック・チェーン・ネットワーク・サービス・プラットフォーム100によって配置可能なクラスタの関連情報を表示している。
図4Dにおいて、ブロック・チェーン・ネットワークをサポートするためのコンテナ・クラスタを追加し、クラスタ名を入力し、クラスタの作成機能のオプションがトリガされた後に作成画面に遷移することをサポートする。
図4Eはブロック・チェーン・ネットワーク・サービス・プラットフォーム100のクラスタのクエリのコンソール画面を示し、クラスタのクエリの機能ボタンがトリガされたら、クラスタリスト画面に遷移し、クラスタの追加、クラスタのクエリ、クラスタの削除、クラスタの編集の操作をサポートする。
図4Fは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100の記憶管理のコンソール画面を示し、記憶管理の機能ボタンがトリガされると、記憶管理リスト画面に遷移し、記憶クエリ及び削除機能を含む、クラスタにおいて既に作成された記憶項目を表示する。
図4Gは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100の記憶詳細のコンソール画面を示し、図4Hは、記憶の詳細を表示し、且つ記憶に対して記憶空間の動的拡張を行うことをサポートする。
図4Iは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のストレージ追加のコンソール画面を示し、追加された記憶名称及びノードを設定し、設定に基づき、ノードをコンテナ・クラスタに追加し、また図4Jは、コンテナ・クラスタのノードのリストを含む、ストレージ追加後の詳細情報を表示する。
図4Kは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のハイパーレジャー(Hyperledger)のコンソール画面を示し、ブロック・チェーン・ネットワークの配置に用いられるHyperledgerの名称、ネットワークバージョン、状態及び作成日時の情報を表示する。
図4Lは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のHyperledgerのワンクリック配置のコンソール画面を示し、Hyperledger配置の基本情報に対する構成項目、及びデフォルト値を用いる詳細構成項目を提供し、例えば、オーダリングノードタイプ、チャネル、デフォルトチェーンコード及び初期化パラメータなどである。
図4M、図Nは、それぞれブロック・チェーン・ネットワーク・サービス・プラットフォーム100のチェーンコードのアップロードやインストールのコンソール画面を示し、アップロードのコンソール画面は、チェーンコード名称及びバージョン番号の設定項目を提供し、インストールのコンソール画面は、チェーンコードバージョン、初期化パラメータ、組織及びノードの構成項目を提供する。
図4Oは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のネットワーク詳細のコンソール画面を示し、異なるチャネルの組織メンバー、ブロックの高さ、取引数及び契約数などの情報の閲覧をサポートし、また閲覧されたチャネルの組織名、チャネルにおけるノード名、チャネルにおけるチェーンコード名称などの情報を表示することができる。
図4Pは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のチェーンコードのクエリのコンソール画面を示し、ネットワーク名称、チェーンコード名称、チェーンコードパラメータ、台帳名及びチェーンコード関数などの方式を用いてチェーンコードをクエリすることにサポートし、クエリの次元は状態、メッセージ及びデータを含む。
図4Qは、ブロック・チェーン・ネットワーク・サービス・プラットフォーム100のアプリケーション・ストアのコンソール画面を示し、開発者が配置する必要のあるアプリケーションを選択することをサポートし、アプリケーションをブロック・チェーン・ネットワークに配置すると決定されると、アプリケーションを多重化するミラーリングの方式で、リソース層105のコンテナ・クラスタへの高速配置を行う。
図5は本出願の実施例に係る例示的にブロック・チェーン・ネットワーク・サービス・プラットフォームを用いて配置されたブロック・チェーン・ネットワークの構成概略図であり、アプリケーションはCAから正当な身分証明書を取得してネットワークにおけるアプリケーション・チャネルに加入する。正式の取引の開始前に、まず取引提案(Proposal)を立案し組織1及び組織2における裏書きノードに提出して裏書きを行う必要があり、クライアントは十分な(数は裏書きポリシーに基づいて決定される)裏書きを収集した後、裏書きを利用して正当な取引要求(裏書きノードを有する裏書き)を作成し、ソートサービスにおけるオーダリングノード(Orderer)に送信してソートすることで、取引をブロックとして実装することができる。
図6は本出願の実施例に係る例示的にブロック・チェーン・ネットワーク・サービス・プラットフォームを用いて取引を行うフローチャートであり、取引フローにおけるクライアントと各ノードの機能は以下のとおりである。
クライアント(アプリケーション):SDKを用いてブロック・チェーン・ネットワークと対話を行う。まず、クライアントは認証局(CA:Certificate Authority)から正当な身分証明書を取得してネットワークにおけるアプリケーション・チャネルに加入する。本取引の開始前に、まず取引提案(Proposal)を立案して裏書きノードに提出して裏書きを行う必要がある。クライアントは十分な(数は裏書きポリシーに基づいて決定される)裏書きを収集した後、裏書きを利用して正当な取引要求(裏書きノードを有する裏書き)を作成し、オーダリングノード(Orderer)に送信してソートすることで、取引をブロックとして実装することができる。クライアントはさらにイベント仕組みによってネットワークにおけるメッセージを監視し、取引が成功に受信されたか否かを知ることができる。
裏書きノード(Endorser):主にクライアントが呼び出し、取引提案に対する裏書き(署名)処理を行う方法を提供する。クライアントからの取引提案を受信した後、まず正当性及びアクセス制御リスト(ACL:Access Control Lists)の権限を検査し、検査に合格すれば取引の実行(取引において実行の必要があるチェーンコード名及びパラメータを実行し、取引の実行は、実質的には取引において指定されたチェーンコードを実行することである)を模擬し、取引による状態変化(読み書き集合形式で記録され、読み取り状態のキー値及びバージョン、書込み状態のキー値を含む)に対して裏書きを行い(即ちデジタル署名を行う)、クライアントがサポートするか否かの結果を返信する。
オーダリングノード(Orderer):裏書き署名を含む取引を受信し、パケット化されていない取引をソートしてブロックを生成し、Peerノードにブロードキャストする。
リーダーピア(Leader Peer):オーダリングノードと通信するノードであり、オーダリングノードから最新のブロックを取得してブロック・チェーン・ネットワークの内部で同期することを担当する。
コミッター(Committer):ブロックチェーン及び台帳の構造(状態デシベル(DB:decibel)、履歴DB、インデックスDBなどを含む)を保守する。このノードは定期的にオーダリングノードから、ソートされたバッチ取引ブロック構造を取得し、これらの取引を検査する(取引メッセージ構造、署名完全性、重複するか否か、読み書き集合バージョンが一致するか否か等を含む)。検査合格後に正当な取引を実行し、結果を台帳に書き込み、同時に新たなブロックを作成する。
なお、全てのPeerノードはいずれもコミッターであり、オーダリングノードブロックにおける取引を検証し、状態データ及び台帳のレプリケーションを保守することを担当する。Peerノードの一部は取引を実行して結果に対して署名・裏書きを行い、裏書きノードの役割を果たす。裏書きノードは動的な役割であり、具体的なチェーンコードとバインディングする。チェーンコードコンテナにおける各チェーンコードはインスタンス化される時に、いずれも裏書きポリシーを設定し、どのノードが取引を裏書きしなければ有効にならないかを指定する。アプリケーションから取引の裏書き要求が提出されなければ、裏書きノードにならず、他の時は一般的なコミッターであり、取引を検証して台帳にコミットすることだけを担当する。
コンピュータ技術の発展に伴い、ユーザが使用する電子製品はますます多様化し、さらに多様化した電子製品を使用することにより各種のデータを生成することで、ユーザによる個人データの記憶や保護への要求もますます高くなる。現在、一般にブロックチェーンシステムを用いてこれらの大量データを管理、記憶及び検索する。
データ量が大きいファイルに対し、従来のブロックチェーンにおける記憶及び検索方式は一般には、ファイルをサービス側に送信し、サービス側でファイルを複数のサブファイルに分割し、さらに複数のサブファイルをそれぞれ暗号化し、続いて暗号化したサブファイルを記憶し、ユーザがファイルをダウンロードする時に、サービス側で全てのサブファイルを取得して復号化し、続いて全てのサブファイルをデータ量の大きいファイルに併合してから、端末に返信する。これにより、従来のブロックチェーンの記憶方式は暗号化効率が低く、安全性が悪いだけでなく、またサービス側の負荷過大という課題が生じ、データ量の大きいファイルの記憶需要を満たすことができない。
従来のファイル記憶仕組みに存在する課題を解決するために、本出願の実施例は、端末が記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶するファイル記憶方法を提供する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
以下は本出願の実施例における図面を参照しながら、本出願の実施例における技術案を明確で完全に説明する。
本出願の一実施例はファイル記憶システムが実行するファイル記憶方法を提供し、このファイル記憶システムは端末に集積される。図7は本出願の実施例に係るファイル記憶方法を実現する概略図1である。ファイル記憶システムはユーザによりアップロードされたファイルを取得した後、このファイルを分割して複数のサブファイルを得、分割したサブファイルをIPFSに繰り返して記憶し、さらにIPFSから返信された複数のサブファイルに対応するファイルアドレスを受信し、複数のファイルアドレスで生成されたファイルアドレス集合に対して暗号化操作を行い、ファイルアドレス集合暗号文を生成し、さらにこのファイルアドレス集合暗号文に対応するハッシュ値を生成し、その後、ファイルアドレス集合暗号文及びハッシュ値を一緒にブロックチェーンに記憶し、ブロックチェーンから返信された取引識別子(ID:Identity document)、取引時間、ブロック情報などを受信し、自己相関処理を経て、取引IDを保存する。
図8は本出願の実施例に係るファイル記憶方法を実現するフローチャート1である。図8に示すように、本出願の実施例において、端末がファイル記憶を行う方法は、以下のようなステップを含むことができる。
ステップS101は、記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得し、Nは1以上の整数である。
本出願の実施例において、ユーザがファイル記憶を行う必要がある場合、端末は記憶対象ファイルを取得し、記憶対象ファイルに対して分割処理を行うことができ、さらに、この記憶対象ファイルに対応するN個のサブファイルを得ることができ、Nは1以上の整数である。
なお、本出願の実施例において、端末は通信及び記憶機能を備えるいかなる装置であってもよい。例えば、タブレットコンピュータ、携帯電話、電子リーダー、パーソナルコンピュータ(PC:Personal Computer)、ノートパソコン、車載機器、ネットワークテレビなどの機器である。
なお、本出願の実施例において、記憶対象ファイルはビデオファイル、オーディオファイル、圧縮ファイル又は他のタイプのファイルであってもよく、即ち、記憶対象ファイルのファイルタイプは文書(Word)形式、携帯用の書類の形式(PDF:Portable Document Format)、画像形式(JPG:Joint Photographic Experts Group)、携帯用のネットワーク画像(PNG:Portable Network Graphics)、ビデオ及び音声を含むことができ、本出願では限定されない。
なお、本出願の実施例において、端末は記憶対象ファイルを取得してから、記憶対象ファイルを分割してN個のサブファイルを得る過程において、各サブファイルのサイズは適応的に調整することができる。具体的には、端末は記憶対象ファイルに対応するバイト数又は命令パラメータを決定することで、この記憶対象ファイルに対して分割処理を行い、これによって記憶対象ファイルに対応するN個のサブファイルを得る。
相応的には、端末はバイト分割処理方式を用いて記憶対象ファイルを分割する場合、端末はまず記憶対象ファイルに対応するバイト数を取得し、さらにバイト数に応じて記憶対象ファイルを同じバイトサイズのN個のサブファイルに平均分割することができ、各サブファイルに対応するバイト数は端末に予め設定されたものであってもよい。例えば、端末は各サブファイルに対応するバイト数を1.536×10に予め設定すれば、取得した記憶対象ファイルサイズが300Mである場合、端末は設定されたバイト分割処理方式に基づいて記憶対象ファイルを20個のサブファイルに分割することができる。
相応的には、端末は命令パラメータ分割処理方式を用いて記憶対象ファイルを分割する場合、端末は記憶対象ファイルに対応する命令パラメータを取得することができ、この命令パラメータは記憶対象ファイルに対応する行数であってもよい。記憶対象ファイルはいずれも相応するプログラムコードで構成されるため、このコードは複数の改行符号を含み、端末は改行符号を識別することによってさらに記憶対象ファイルに対応する行数を決定することができ、その後、行数分割処理方式に基づいて記憶対象ファイルを分割し、さらに記憶対象ファイルを同じサイズのN個のサブファイルに平均分割する。例えば、端末は各サブファイルに対応する行数を1500とすると予め設定しておければ、端末は記憶対象ファイルに対応する改行符号を識別することにより、記憶対象ファイルに対応する行数が30000であると決定した場合、端末はさらに記憶対象ファイルを20個のサブファイルに分割することができる。
さらに、本出願の実施例において、端末は記憶対象ファイルをN個のサブファイルに分割した後、N個のサブファイルをIPFSに送信し、N個のサブファイルに対応するアドレスをさらに得るようにすることができる。
ステップS102は、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数である。
本出願の実施例において、端末は取得した記憶対象ファイルに対して分割処理を行い、この記憶対象ファイルに対応するN個のサブファイルを得た後、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数である。
なお、本出願の実施例において、記憶対象ファイルに対して分割処理を行ってN個のサブファイルを得た後、記憶対象ファイルに対応するN個のサブファイルをIPFSに送信し、IPFSの記憶チェーンはN個のサブファイルを識別処理し、それぞれN個のサブファイルを記憶ノードA、記憶ノードB、記憶ノードCなどのM個の記憶ノードに割り当て、IPFSにおける1つの記憶ノードは少なくとも1つのサブファイルを対応して記憶することができ、また1つの記憶ノードから1つのアドレス情報を返信するので、記憶ノード数は記憶対象ファイルに対応するサブファイル数以下である。相応的には、端末はN個のサブファイルをIPFSに送信し、IPFSが対応するM個の記憶ノードに記憶し、記憶が完了した後、端末はIPFSから返信されたM個の記憶ノードに対応するM個のアドレス情報を受信する。さらに、記憶対象ファイルに対応するN個のサブファイルをIPFSに送信する時に、1つのサブファイルを1つの記憶ノードへ固定的に送信して1つの対応するアドレス情報を返信するという個別順次送信方式でサブファイルの送信を行ってもよく、又は特定のブロードキャスト方式で送信してもよい。
例示的には、本出願の実施例において、端末は300Mの記憶対象ファイルを20個の15Mのサブファイルに分割した後、15MのサブファイルをIPFSに順次送信し、1つのサブファイルをIPFSに送信するたびに、IPFSから返信された1つのアドレス情報を受信し、端末はIPFSから返信された20個のアドレス情報を順次受信し、つまり、サブファイルAは記憶ノードAに対応し、即ちアドレス情報Aに対応し、サブファイルBは記憶ノードBに対応し、即ちアドレス情報Bに対応するなどであり、又は端末は300Mの記憶対象ファイルを20個の15Mのサブファイルに分割した後、端末はまずIPFSが対応する記憶ノード数を取得し、IPFSが対応する記憶ノード数に基づいてN個のサブファイルの送信方式を決定することができ、端末が取得したIPFSが対応する記憶ノード数は10個であれば、端末は一回でIPFSに送信するファイルサイズを30Mに設定し、即ち、端末は毎回IPFSに2個のサブファイルを送信することができ、即ち、IPFSはサブファイルA、サブファイルBを1つの記憶ノードAに記憶することができ、IPFSは2つのサブファイルを1つの記憶ノードに記憶した後、端末はIPFSから返信されたアドレス情報Aを受信し、端末はIPFSから返信された記憶対象ファイルに対応する計10個のアドレス情報を受信する。
さらに、端末はIPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信した後、さらに記憶対象ファイルに対応するアドレス集合を生成する、及び生成したアドレス集合を暗号化操作することができる。
ステップS103は、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得る。
本出願の実施例において、端末はN個のサブファイルをIPFSに送信し、IPFSから返信されたM個のアドレス情報を受信した後、得たM個のアドレスに基づき、記憶対象ファイルに対応するアドレス集合を生成し、端末は生成したアドレス集合を暗号化し、さらにアドレス集合暗号文を得る。
なお、本出願の実施例において、端末は公開鍵により記憶対象ファイルに対応するアドレス集合を暗号化する。具体的には、端末は非対称鍵対をランダムに生成し、その後、非対称鍵対における公開鍵を用いて、記憶対象ファイルが対応し且つM個のアドレス情報を含むアドレス集合を暗号化し、さらにアドレス集合暗号文を得る。
なお、本出願の実施例において、端末がランダムに生成した非対称鍵対は公開鍵と秘密鍵を含み、公開鍵と秘密鍵はペアであり、公開鍵によりデータを暗号化すれば、対応する秘密鍵でしか復号化できなく、秘密鍵によりデータを暗号化すれば、対応する公開鍵でしか復号化できない。具体的には、秘密鍵は片方でしか安全に保管することがなく、外部に漏洩してはならず、公開鍵はそれを要求する何方にも送ってもよい。相応的には、端末はRSAアルゴリズムを用いて非対称暗号化を行うことができる。非対称鍵対における公開鍵と秘密鍵は同時に生成され、端末は公開鍵によりアドレス集合を暗号化すると同時に、得た秘密鍵を記憶することで、記憶対象ファイルの記憶が完了した後に記憶対象ファイルのダウンロードを行う時のアドレス集合の復号化を実現することができる。
さらに、本出願の実施例において、端末はM個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文を得た後、さらにこのアドレス集合暗号文をブロック・チェーン・ネットワークに記憶することができる。
さらに、本出願の実施例において、公開鍵により記憶対象ファイルに対応するアドレス集合を暗号化し、アドレス集合暗号文を得た後、端末は、ハッシュ演算により、このアドレス集合暗号文に対応するハッシュ値を生成し、さらにアドレス集合暗号文及びハッシュ値をブロック・チェーン・ネットワークに記憶することができる。
ステップS104は、アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、目標インデックス値はアドレス集合暗号文を識別するために用いられる。
本出願の実施例において、端末は記憶対象ファイルに対応するアドレス集合を暗号化し、アドレス集合暗号文を得た後、このアドレス集合暗号文をブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することができ、目標インデックス値はアドレス集合暗号文を識別するために用いられる。
なお、本出願の実施例において、端末は記憶対象ファイルに対応するアドレス集合暗号文をブロック・チェーン・ネットワークに送信した後、さらにブロック・チェーン・ネットワークにおけるブロックに記憶し、端末はブロック・チェーン・ネットワークから返信された取引ID、取引時間及びブロック情報などを受信することができる。具体的には、端末から送信されたアドレス集合暗号文を受信した後、ブロック・チェーン・ネットワークはこのアドレス集合暗号文を記憶することができ、ファイル情報を含むブロックに記憶することになり、ブロック・チェーン・ネットワークはこの記憶イベントを1件の取引として取り扱い、複数の異なる記憶対象ファイルが異なるアドレス集合暗号文に対応し、即ち、異なる取引に対応することであり、ブロック・チェーン・ネットワークにおける各ブロックは複数の取引を含みうる。従って、異なる取引、即ち、異なるアドレス集合暗号文を区別するために、アドレス集合暗号文を記憶した後、端末はブロック・チェーン・ネットワークから返信されたアドレス集合暗号文に対応する取引情報を受信し、取引情報は取引ID、取引時間及びブロック情報などを含む。取引IDは目標インデックス値であり、この目標インデックス値に基づき、対応するアドレス集合暗号文を見つけることができ、取引時間はアドレス集合暗号文を送信するアップロード時間に対応し、このアドレス集合暗号文のアップロード時間は端末がアドレス集合暗号文をブロック・チェーン・ネットワークに送信する開始時刻であり、ブロック情報はこのアドレス集合暗号文を記憶するブロックに含まれる何らかの情報であり、ブロックの高さ、ブロックハッシュ値などであってもよい。
なお、本出願の実施例において、端末は、アドレス集合暗号文及びアドレス集合暗号文に対応するハッシュ値をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信することもできる。
さらに、本出願の実施例において、端末は記憶対象ファイルに対応するアドレス集合暗号文及びハッシュ値をブロックチェーンに記憶し、ブロックチェーンから返信された目標インデックス値を得た後、さらに得た目標インデックス値を記憶することができ、これにより記憶対象ファイルをダウンロードするダウンロード要求を受信するとき、この目標インデックス値により記憶対象ファイルを取得することができる。
図9は本出願の実施例に係る例示的にファイル記憶を実現するフローチャートであり、ファイル記憶システムはユーザによりアップロードされた記憶対象ファイルを取得し、ファイル分割コンポーネントにより記憶対象ファイルをサブファイルA、サブファイルB、サブファイルCに分割し、分割したサブファイルをIPFSに送信し、IPFSは記憶コンポーネントによりこれらの3つのサブファイルを相応的に、対応する記憶ノードA、記憶ノードB及び記憶ノードCに記憶し、また3つのサブファイルに対応するファイルアドレスA、ファイルアドレスB及びファイルアドレスCをファイル記憶システムに返信し、ファイル記憶システムはIPFSから返信されたサブファイルに対応するファイルアドレスを受信した後、ファイルアドレスA、ファイルアドレスB、ファイルアドレスCに基づき、ファイルアドレス集合を生成し、その後公開鍵対でファイルアドレス集合を暗号化操作し、さらにアドレス集合暗号文を得、そしてアドレス集合暗号文をブロック・チェーン・ネットワークに送信する。
本出願の実施例はファイル記憶方法、端末及び記憶媒体を提供し、端末は記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得し、Nは1以上の整数であり、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数であり、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、目標インデックス値はアドレス集合暗号文を識別するために用いられる。即ち、本出願の実施例において、端末は記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
上記実施例に基づき、本出願の別の実施例において、図10は本出願の実施例に係るファイル記憶方法を実現する概略図2である。ファイル記憶システムはファイルをダウンロードする要求情報であるダウンロード要求を受信し、ダウンロード要求に含まれる取引IDをブロックチェーンに送信し、ブロックチェーンから返信されたアドレス集合暗号文を受信し、取得したアドレス集合暗号文を復号化操作することで、複数のサブファイルアドレスを含むファイルアドレス集合を得た後、複数のサブファイルに対応するファイルアドレスをIPFSに送信し、IPFSから返信された異なるファイルアドレスに対応するサブファイルを受信し、さらに複数のサブファイルを組み合わせる。
図11は本出願の実施例に係るファイル記憶方法を実現するフローチャート2である。図11に示すように、端末がアドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信した後、即ちステップS104の後、端末がファイル記憶を行う方法は、さらに以下のステップを含むことができる。
ステップS105は、目標インデックス値が含まれるダウンロード要求を受信する。
本出願の実施例において、端末が、アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信してこの目標インデックス値を記憶した後、端末はダウンロード要求を受信し、このダウンロード要求に対応する情報は目標インデックス値を含む。
なお、本出願の実施例において、端末は記憶対象ファイルをダウンロードするダウンロード要求を受信し、ダウンロード要求に含まれる情報はアドレス集合暗号文に対応する目標インデックス値を含んでもよく、アドレス集合暗号文に対応するハッシュ値を含んでもよい。ダウンロード要求に含まれる情報は目標インデックス値を含む場合、端末は直接この目標インデックス値によりブロックチェーンから記憶対象ファイルに対応するアドレス集合暗号文を抽出することができ、ダウンロード要求に含まれる情報がアドレス集合暗号文に対応するハッシュ値を含む場合、記憶対象ファイルに対応するアドレス集合暗号文及びアドレス集合暗号文に対応するハッシュ値をブロック・チェーン・ネットワークに記憶するとき、ハッシュ値に対応する目標インデックス値を生成しているため、端末はダウンロード要求を受信し、ブロック・チェーン・ネットワークから記憶対象ファイルに対応するアドレス集合暗号文を抽出する必要がある場合、まずダウンロード要求に含まれるアドレス集合暗号文に対応するハッシュ値に基づき、目標インデックス値を決定し、さらにこの目標インデックス値によりブロック・チェーン・ネットワークから記憶対象ファイルに対応するアドレス集合暗号文を抽出することができる。
さらに、端末は目標インデックス値が含まれるダウンロード要求を受信した後、この目標インデックス値をブロック・チェーン・ネットワークに送信することで、対象ファイルに対応するアドレス集合暗号文を得る。
ステップS106は、目標インデックス値をブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークから返信されたアドレス集合暗号文を受信する。
本出願の実施例において、端末はユーザから送信されたダウンロード要求を受信し、ダウンロード要求に含まれる目標インデックス値を得た後、目標インデックス値をブロック・チェーン・ネットワークに送信し、さらにブロックチェーンから返信された記憶対象ファイルに対応するアドレス集合暗号文を受信することができる。
なお、本出願の実施例において、記憶対象ファイルをブロック・チェーン・ネットワークに記憶した後、端末はブロック・チェーン・ネットワークから返信された、アドレス集合暗号文を取得するためのインデックス値を受信し、そのため、記憶対象ファイルをダウンロードするとき、端末はダウンロード要求に含まれるアドレス集合暗号文に対応する目標インデックス値をブロック・チェーン・ネットワークに送信し、さらにこのインデックス値に基づき、ブロック・チェーン・ネットワークにおけるファイル情報を記憶するブロックから、記憶対象ファイルに対応するアドレス集合暗号文を抽出することができ、具体的には、ブロックチェーンは、端末から送信された目標インデックス値を受信した後、この目標インデックス値に基づき、照会検索し、検索したこの目標インデックス値に対応するアドレス集合暗号文を端末に送信し、さらに端末は記憶対象ファイルに対応するアドレス集合暗号文を得る。
さらに、端末はブロックチェーンから返信された記憶対象ファイルに対応するアドレス集合暗号文を受信した後、さらにアドレス集合暗号文を復号化操作することができる。
ステップS107は、アドレス集合暗号文を復号化し、記憶対象ファイルに対応するアドレス集合を得、アドレス集合はM個のアドレス情報を含む。
本出願の実施例において、端末はブロック・チェーン・ネットワークから返信された記憶対象ファイルに対応するアドレス集合暗号文を受信した後、受信したアドレス集合暗号文を復号化することができ、さらに記憶対象ファイルに対応するアドレス集合を得、アドレス集合はM個のアドレス情報を含む。
なお、本出願の実施例において、端末は秘密鍵により記憶対象ファイルに対応するアドレス集合暗号文を復号化操作し、さらに記憶対象ファイルに対応し、且つM個のアドレス情報を含むアドレス集合を得る。記憶対象ファイルの記憶を行うとき、非対称鍵対における公開鍵を用いてアドレス集合の暗号化を行うので、公開鍵と秘密鍵はペアであり、公開鍵によりデータを暗号化すれば、対応する秘密鍵でしか復号化できない。従って、端末は秘密鍵でしかアドレス集合暗号文の復号化を実現できず、さらに記憶対象ファイルに対応するアドレス集合を得る。
さらに、本出願の実施例において、端末はM個のアドレス情報を含む記憶対象ファイルに対応するアドレス集合を得た後、M個のアドレス情報をIPFSに送信し、さらに記憶対象ファイルに対応するN個のサブファイルを受信することができる。
ステップS108は、M個のアドレス情報をIPFSに送信し、IPFSから返信された記憶対象ファイルに対応するN個のサブファイルを受信する。
本出願の実施例において、端末はアドレス集合暗号文を復号化し、M個のアドレス情報を含む記憶対象ファイルに対応するアドレス集合を得た後、M個のアドレス情報をIPFSに送信し、さらにIPFSから返信された記憶対象ファイルに対応するN個のサブファイルを受信する。
なお、本出願の実施例において、端末は記憶対象ファイルに対応するアドレス集合を取得した後、このアドレス集合に含まれるM個のアドレス情報をIPFSに送信し、さらにIPFSにおけるM個の記憶ノードから返信されたN個のサブファイルを受信する。具体的には、端末は1つのアドレス情報Aを送信することによって、IPFSから返信されたサブファイルAを受信してもよく、又は端末は1つのアドレス情報Aを送信することによって、IPFSから返信されたサブファイルA及びサブファイルBを受信してもよい。
さらに、本出願の実施例において、端末はIPFSから返信された記憶対象ファイルに対応するN個のサブファイルを受信した後、さらにN個のサブファイルを併合することで、記憶対象ファイルを得ることができる。
ステップS109は、N個のサブファイルを併合操作し、記憶対象ファイルを得る。
本出願の実施例において、端末はM個のアドレス情報をIPFSに送信し、IPFSから返信された記憶対象ファイルに対応するN個のサブファイルを受信した後、さらにN個のサブファイルを併合操作し、記憶対象ファイルを得る。
図12は本出願の実施例に係る例示的にファイルクエリを実現するフローチャートである。ファイル記憶システムは記憶対象ファイルをダウンロードするダウンロード要求を受信し、このダウンロード要求は取引IDを含み、ファイル記憶システムは取引IDをブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークは取引IDに基づき、照会検索し、検索して得られたこの取引IDに対応するアドレス集合暗号文をファイル記憶システムに送信し、ファイル記憶システムは秘密鍵によりこのアドレス集合暗号文を復号化操作し、ファイルアドレスA、ファイルアドレスB、ファイルアドレスCを含むファイルアドレス集合を得た後、マルチスレッドの同時要求方式でファイルアドレスA、ファイルアドレスB及びファイルアドレスCをIPFSに送信し、IPFSは受信したファイルアドレスに基づき、記憶ノードA、記憶ノードB及び記憶ノードCから対応するサブファイルA、サブファイルB及びサブファイルCを抽出し、サブファイルをファイル記憶システムに返信し、ファイル記憶システムは受信したサブファイルA、サブファイルB及びサブファイルCを組み合わせ、さらに記憶対象ファイルを得る。
本出願の実施例はファイル記憶方法、端末及び記憶媒体を提供し、端末は記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得し、Nは1以上の整数であり、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数であり、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得え、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、目標インデックス値はアドレス集合暗号文を識別するために用いられる。即ち、本出願の実施例において、端末は記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
上記実施例に基づき、本出願の別の実施例において、図13は、本出願の実施例に係る端末の構成構造の概略図1である。図13に示すように、本出願の実施例に係る端末500は、取得部501と、処理部502と、送信部503と、受信部504と、生成部505と、暗号化部506と、記憶部507と、復号化部508と、併合部509と、決定部510とを備える。
前記取得部501は記憶対象ファイルを取得するように構成され、
前記処理部502は、前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得るように構成され、Nは1以上の整数であり、
前記送信部503は、前記N個のサブファイルをIPFSに送信するように構成され、
前記受信部504は、前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信するように構成され、Mは1以上であり、且つN以下の整数であり、
前記生成部505は、前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成するように構成され、
前記暗号化部506は、前記アドレス集合を暗号化し、アドレス集合暗号文を得るように構成され、
前記送信部503は、前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信するように構成され、
前記受信部504は、さらに、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信するように構成され、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられる。
さらに、本出願の実施例において、前記処理部502は、具体的には、前記記憶対象ファイルに対応するバイト数を決定し、前記バイト数に基づき、前記記憶対象ファイルを前記N個のサブファイルに分割するように構成される。
さらに、本出願の実施例において、前記処理部502は、さらに具体的には、前記記憶対象ファイルに対応する命令パラメータを決定し、前記命令パラメータに従って、前記記憶対象ファイルを前記N個のサブファイルに分割するように構成される。
さらに、本出願の実施例において、前記暗号化部506は、具体的には、公開鍵と秘密鍵とを含む非対称鍵対をランダムに生成し、前記公開鍵により前記記憶対象ファイルに対応する前記アドレス集合を暗号化し、前記アドレス集合暗号文を得るように構成される。
さらに、本出願の実施例において、前記送信部503は、具体的には、前記アドレス集合暗号文に対応するハッシュ値を生成し、前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信するように構成される。
さらに、本出願の実施例において、前記受信部504は、具体的には、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信するように構成される。
さらに、本出願の実施例において、前記記憶部507は、前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信した後、前記目標インデックス値及び前記ハッシュ値を記憶するように構成される。
さらに、本出願の実施例において、前記受信部504は、さらに、前記アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信した後、ダウンロード要求を受信するように構成され、前記ダウンロード要求は前記目標インデックス値を含む。
さらに、本出願の実施例において、前記送信部503は、さらに、前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信するように構成される。
さらに、本出願の実施例において、前記受信部504は、さらに、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信するように構成される。
さらに、本出願の実施例において、前記復号化部508は、前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する、前記M個のアドレス情報を含む前記アドレス集合を得るように構成される。
さらに、本出願の実施例において、前記送信部503は、さらに、前記M個のアドレス情報を前記IPFSに送信するように構成される。
さらに、本出願の実施例において、前記受信部504は、さらに、前記IPFSから返信された前記記憶対象ファイルに対応する前記N個のサブファイルを受信するように構成される。
さらに、本出願の実施例において、前記併合部509は、前記N個のサブファイルを併合操作し、前記記憶対象ファイルを得るように構成される。
さらに、本出願の実施例において、前記復号化部508は、具体的には、前記秘密鍵により前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得るように構成される。
さらに、本出願の実施例において、前記ダウンロード要求に前記ハッシュ値が含まれ、前記決定部510は、前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得る前に、前記ハッシュ値に対応する前記目標インデックス値を決定するように構成される。
さらに、本出願の実施例において、前記送信部503は、さらに、前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信するように構成される。
さらに、本出願の実施例において、前記受信部504は、さらに、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信するように構成される。
本出願の実施例において、さらに、図14は本出願の実施例に係る端末の構成構造の概略図2である。図14に示すように、本出願の実施例に係る端末500は、プロセッサ511と、プロセッサ511により実行可能な命令を記憶したメモリ512とをさらに備えてもよく、さらに、端末500は、通信インターフェース513と、プロセッサ511、メモリ512及び通信インターフェース513を接続するためのバス514とを備えてもよい。
本出願の実施例において、上記したプロセッサ511は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、デジタル信号プロセッサ(DSP:Digital Signal Processor)、デジタル信号処理装置(DSPD:Digital Signal Processing Device)、プログラマブルロジックデバイス(PLD:ProgRAMmable Logic Device)、書換え可能なゲートアレーFPGA、中央処理装置CPU、コントローラ、マイクロコントローラ、マイクロプロセッサのうちの少なくとも一種であってもよい。理解できるように、異なる装置に対し、上記プロセッサ機能を実現するための電子デバイスは他のものであってもよく、本出願の実施例は具体的に限定しない。端末500はメモリ512をさらに備えることができ、このメモリ512はプロセッサ511に接続することができ、メモリ512は実行可能なプログラムコードを記憶するために用いられ、このプログラムコードはコンピュータ操作命令を含み、メモリ512は高速RAMメモリを含むことができ、また不揮発性メモリを含むことができ、例えば、少なくとも2つの磁気ディスクメモリを含む。
本発明の実施例において、バス514は通信インターフェース513、プロセッサ511、メモリ512およびこれらのデバイス間の相互通信を接続するためのものである。
本出願の実施例において、メモリ512は命令とデータを記憶するように構成される。
さらに、本出願の実施例において、上記プロセッサ511は、記憶対象ファイルを取得して前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得え、Nは1以上の整数であり、前記N個のサブファイルをIPFSに送信し、前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数であり、前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成して前記アドレス集合を暗号化し、アドレス集合暗号文を得え、前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられるように構成される。
実際の応用において、上記メモリ512は、ランダムアクセスメモリ(RAM:Random Access Memory)などの揮発性メモリ(volatile memory)であってもよく、読み出し専用メモリ(ROM:Read Only Memory)、フラッシュメモリ(flash memory)、ハードディスク(HDD:Hard Disk Drive)若しくはソリッドステートドライブ(SSD:Solid-StateDrive)などの不揮発性メモリ(non -volatile memory )であってもよく、または、上記種類のメモリの組み合わせであってよく、またプロセッサ511に命令やデータを供給する。
また、本実施例における各機能モジュールは1つの処理ユニットに集積されてもよく、各ユニットが個別で物理的に存在してもよく、2つ以上のユニットが1つのユニットに集積されてもよい。上記集積されたユニットはハードウェアの形式で実現されてもよいし、ソフトウェア機能モジュールの形式で実現されてもよい。
集積されたユニットは独立の製品として販売や使用されず、ソフトウェア機能モジュールの形式で実現される場合、コンピュータ読み取り可能な記憶媒体に記憶されることができ、このような理解に基づき、本実施例の技術案は本質的に、言い換えれば、従来技術に寄与する部分又はこの技術案の全部又は一部がソフトウェア製品の形式で表現することができ、このコンピュータソフトウェア製品は記憶媒体に記憶され、コンピュータ装置(パーソナルコンピュータ、サーバであってもよく、又はネットワーク装置などでもよく)又はprocessor(プロセッサ)に本実施例の方法の全部又は一部のステップを実行させる幾つかの命令を含む。前記記憶媒体は、Uディスク、リムーバブルハードディスク、読み出し専用メモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスク等の各種のプログラムコードを記憶できる媒体を含む。
本出願の実施例は端末を提供し、この端末は記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得し、Nは1以上の整数であり、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信し、Mは1以上であり、且つN以下の整数であり、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信し、目標インデックス値はアドレス集合暗号文を識別するために用いられる。即ち、本出願の実施例において、端末は記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。
本出願の実施例は、プロセッサに実行される場合、上記のようなファイル記憶方法を実現するプログラムを記憶したコンピュータ読み取り可能な記憶媒体を提供する。
具体的には、本実施例におけるファイル記憶方法に対応するプログラム命令は光ディスク、ハードディスク、Uディスクなどの記憶媒体に記憶することができ、記憶媒体におけるファイル記憶方法に対応するプログラム命令が電子機器に読取又は実行される場合、
記憶対象ファイルを取得して前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得ることであって、Nは1以上の整数であることと、
将前記N個のサブファイルをIPFSに送信し、前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信することであって、Mは1以上であり、且つN以下の整数であることと、
前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成して前記アドレス集合を暗号化し、アドレス集合暗号文を得ることと、
前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することであって、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられることと、を含む。
当業者であれば分かるように、本出願の実施例は方法、システム、又はコンピュータプログラム製品として提供することができる。したがって、本出願はハードウェア実施例、ソフトウェア実施例、又はソフトウェアとハードウェアを組み合わせる実施例の形式を採用することができる。また、本出願はコンピュータの利用可能なプログラムコードを含む1つ以上のコンピュータの利用可能な記憶媒体(磁気ディスクメモリや光学メモリ等を含むがそれらに限定されない)で実行されるコンピュータプログラム製品の形式を採用することができる。
本出願は本出願の実施例に基づく方法、装置(システム)及びコンピュータプログラム製品の実現フローチャート及び/又はブロック図を参照して説明する。コンピュータプログラムによって実現フローチャート及び/又はブロック図における各フロー及び/又はブロック、並びに実現フローチャート及び/又はブロック図におけるフロー及び/又はブロックの組合せを命令できることを理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理装置のプロセッサに提供して機器を生成することができ、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行される命令は実現フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロックに指定された機能を実現するための装置を生成する。
これらのコンピュータプログラム命令はコンピュータ又は他のプログラマブルデータ処理装置を特定の方式で動作させるように案内するコンピュータ読み取り可能なメモリに記憶されてもよく、それによりコンピュータ読み取り可能なメモリに記憶された命令は命令装置を含む製造品を生成し、この命令装置は実現フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロックに指定された機能を実現する。
これらのコンピュータプログラム命令はコンピュータ又は他のプログラマブルデータ処理装置に搭載することもでき、コンピュータ又は他のプログラマブル装置に一連の操作ステップを実行させてコンピュータにより実現される処理を生成し、それによりコンピュータ又は他のプログラマブル装置により実行される命令は実現フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロックに指定された機能を実現するためのステップを提供する。
以上は、本出願の好ましい実施例に過ぎず、本出願の保護範囲を限定するものではない。
本出願の実施例はファイル記憶方法、端末及び記憶媒体を開示しており,前記ファイル記憶は、記憶対象ファイルを取得して記憶対象ファイルに対して分割処理を行い、記憶対象ファイルに対応するN個のサブファイルを取得することであって、Nは1以上の整数であることと、N個のサブファイルをIPFSに送信し、IPFSから返信されたN個のサブファイルに対応するM個のアドレス情報を受信することであって、Mは1以上であり、且つN以下の整数であることと、M個のアドレス情報に基づき、記憶対象ファイルに対応するアドレス集合を生成し、アドレス集合を暗号化し、アドレス集合暗号文を得ることと、アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することであって、目標インデックス値はアドレス集合暗号文を識別するために用いられることと、を含む。即ち、本出願の実施例において、端末は記憶対象ファイルを断片化してIPFSにアップロードし、受信したIPFSから返信された複数のサブファイルに対応するアドレスに基づき、アドレス集合を生成し、さらにこのアドレス集合を暗号化し、アドレス集合暗号文をブロック・チェーン・ネットワークに記憶する。従来のファイル記憶方式によるサービス側の負荷過大という欠陥を大きく克服するだけではなく、また、記憶データ量が小さく、暗号化効率が高く、ファイル記憶の安全性が高く、データ量の大きいファイルの記憶需要を大きく満足する。

Claims (18)

  1. 記憶対象ファイルを取得し、所定分割ルールに従って前記記憶対象ファイルを1つ以上のサブファイルに分割することが可能である場合、前記所定分割ルールに従って前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得、この場合、Nが1以上の整数であり、前記所定分割ルールに従って前記記憶対象ファイルを1つ以上のサブファイルに分割することが可能でない場合、前記記憶対象ファイルに対して分割処理を行わずに、前記記憶対象ファイルをサブファイルとし、この場合、Nが1であることと
    前記N個のサブファイルをIPFSに送信し、前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信することであって、Mは1以上であり、且つN以下の整数であることと、
    前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成して前記アドレス集合を暗号化し、アドレス集合暗号文を得ることと、
    前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することであって、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられることと、を含み、
    前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信することは、
    前記アドレス集合暗号文に対応するハッシュ値を生成することと、
    前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信することと、を含む
    ファイル記憶方法。
  2. 前記所定分割ルールに従って前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得ることは、
    前記記憶対象ファイルに対応するバイト数を決定することと、
    前記バイト数に基づき、前記記憶対象ファイルを前記N個のサブファイルに分割することと、を含む請求項1に記載の方法。
  3. 前記所定分割ルールに従って前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得ることは、
    前記記憶対象ファイルに対応する命令パラメータを決定することと、
    前記命令パラメータに従って、前記記憶対象ファイルを前記N個のサブファイルに分割することと、を含む請求項1に記載の方法。
  4. 前記アドレス集合を暗号化し、アドレス集合暗号文を得ることは、
    公開鍵と秘密鍵とを含む非対称鍵対をランダムに生成することと、
    前記公開鍵により前記記憶対象ファイルに対応する前記アドレス集合を暗号化し、前記アドレス集合暗号文を得ることと、を含む請求項1に記載の方法。
  5. 前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信した後、前記方法は、さらに、
    前記目標インデックス値及び前記ハッシュ値を記憶することを含む請求項に記載の方法。
  6. 前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信した後、前記方法は、さらに、
    前記目標インデックス値が含まれるダウンロード要求を受信することと、
    前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信することと、
    前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得ることであって、前記アドレス集合は前記M個のアドレス情報を含むことと、
    前記M個のアドレス情報を前記IPFSに送信し、前記IPFSから返信された前記記憶対象ファイルに対応する前記N個のサブファイルを受信することと、
    前記N個のサブファイルを併合操作し、前記記憶対象ファイルを得ることと、を含む請求項4に記載の方法。
  7. 前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得ることは、
    前記秘密鍵により前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得ること、を含む請求項に記載の方法。
  8. 前記ダウンロード要求に前記ハッシュ値が含まれ、前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得る前に、前記方法は、さらに、
    前記ハッシュ値に対応する前記目標インデックス値を決定することと、
    前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信することと、を含む請求項に記載の方法。
  9. 記憶対象ファイルを取得するように構成される取得部と、
    所定分割ルールに従って前記記憶対象ファイルを1つ以上のサブファイルに分割することが可能である場合、前記所定分割ルールに従って前記記憶対象ファイルに対して分割処理を行い、前記記憶対象ファイルに対応するN個のサブファイルを得、この場合、Nが1以上の整数であり、前記所定分割ルールに従って前記記憶対象ファイルを1つ以上のサブファイルに分割することが可能でない場合、前記記憶対象ファイルに対して分割処理を行わずに、前記記憶対象ファイルをサブファイルとし、この場合、Nが1であるように構成され、Nが1以上の整数である処理部と、
    前記N個のサブファイルをIPFSに送信するように構成される送信部と、
    前記IPFSから返信された前記N個のサブファイルに対応するM個のアドレス情報を受信するように構成され、Mが1以上であり、且つN以下の整数である受信部と、
    前記M個のアドレス情報に基づき、前記記憶対象ファイルに対応するアドレス集合を生成するように構成される生成部と、
    前記アドレス集合を暗号化し、アドレス集合暗号文を得るように構成される暗号化部と、を備え、
    前記送信部は、さらに、前記アドレス集合暗号文をブロック・チェーン・ネットワークに送信するように構成され、
    前記受信部は、さらに、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信するように構成され、前記目標インデックス値は前記アドレス集合暗号文を識別するために用いられ
    前記送信部は、さらに、前記アドレス集合暗号文に対応するハッシュ値を生成し、前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信するように構成され、
    前記受信部は、さらに、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信するように構成される、
    端末。
  10. 前記処理部は、具体的には、前記記憶対象ファイルに対応するバイト数を決定し、前記バイト数に基づき、前記記憶対象ファイルを前記N個のサブファイルに分割するように構成される請求項に記載の端末。
  11. 前記処理部は、さらに具体的には、前記記憶対象ファイルに対応する命令パラメータを決定し、前記命令パラメータに従って、前記記憶対象ファイルを前記N個のサブファイルに分割するように構成される請求項に記載の端末。
  12. 前記暗号化部は、具体的には、公開鍵と秘密鍵とを含む非対称鍵対をランダムに生成し、前記公開鍵により前記記憶対象ファイルに対応する前記アドレス集合を暗号化し、前記アドレス集合暗号文を得るように構成される請求項に記載の端末。
  13. 前記アドレス集合暗号文及び前記ハッシュ値をブロック・チェーン・ネットワークに送信し、前記ブロック・チェーン・ネットワークから返信された前記ハッシュ値に対応する前記目標インデックス値を受信した後、前記目標インデックス値及び前記ハッシュ値を記憶するように構成される記憶部をさらに備える請求項に記載の端末。
  14. 前記端末は、復号化部と併合部とをさらに備え、
    前記受信部は、さらに、前記アドレス集合暗号文をブロック・チェーン・ネットワークに記憶し、前記ブロック・チェーン・ネットワークから返信された目標インデックス値を受信した後、前記目標インデックス値が含まれるダウンロード要求を受信するように構成され、
    前記送信部は、さらに、前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信するように構成され、
    前記受信部は、さらに、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信するように構成され、
    前記復号化部は、前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得るように構成され、前記アドレス集合は前記M個のアドレス情報を含み、
    前記送信部は、さらに、前記M個のアドレス情報を前記IPFSに送信するように構成され、
    前記受信部は、さらに、前記IPFSから返信された前記記憶対象ファイルに対応する前記N個のサブファイルを受信するように構成され、
    前記併合部は前記N個のサブファイルを併合操作し、前記記憶対象ファイルを得るように構成される請求項12に記載の端末。
  15. 前記復号化部は、具体的には、前記秘密鍵により前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得るように構成される請求項14に記載の端末。
  16. 前記ダウンロード要求に前記ハッシュ値が含まれ、前記端末は、決定部をさらに備え、
    前記決定部は、前記アドレス集合暗号文を復号化し、前記記憶対象ファイルに対応する前記アドレス集合を得る前に、前記ハッシュ値に対応する前記目標インデックス値を決定するように構成され、
    前記送信部は、さらに、前記目標インデックス値を前記ブロック・チェーン・ネットワークに送信するように構成され、
    前記受信部は、さらに、前記ブロック・チェーン・ネットワークから返信された前記アドレス集合暗号文を受信するように構成される請求項14に記載の端末。
  17. プロセッサと、前記プロセッサによる実行可能な命令を記憶したメモリとを備え、前記命令が前記プロセッサにより実行される時に、請求項1~の何れか1項に記載の方法を実現する端末。
  18. プログラムを記憶しており、端末に適用され、前記プログラムがプロセッサにより実行される時に、請求項1~の何れか1項に記載の方法を実現するコンピュータ読み取り可能な記憶媒体。
JP2022525637A 2019-11-04 2020-03-04 ファイル記憶方法、端末及び記憶媒体 Active JP7335440B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911067461.X 2019-11-04
CN201911067461.XA CN111104386B (zh) 2019-11-04 2019-11-04 一种文件存储方法、终端及存储介质
PCT/CN2020/077840 WO2021088278A1 (zh) 2019-11-04 2020-03-04 一种文件存储方法、终端及存储介质

Publications (2)

Publication Number Publication Date
JP2023500316A JP2023500316A (ja) 2023-01-05
JP7335440B2 true JP7335440B2 (ja) 2023-08-29

Family

ID=70420436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022525637A Active JP7335440B2 (ja) 2019-11-04 2020-03-04 ファイル記憶方法、端末及び記憶媒体

Country Status (5)

Country Link
US (1) US20220407725A1 (ja)
EP (1) EP4047487B1 (ja)
JP (1) JP7335440B2 (ja)
CN (1) CN111104386B (ja)
WO (1) WO2021088278A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523152B (zh) * 2020-05-11 2021-08-03 毕红伟 基于区块链的电子证件管理方法、管理网络及电子设备
CN111339106B (zh) * 2020-05-18 2020-08-28 杭州趣链科技有限公司 一种区块链数据索引的方法
CN111414434B (zh) * 2020-05-20 2021-09-03 华北电力大学 基于区块链的数据交易管理网络、交易设备和存储介质
CN111782722B (zh) * 2020-06-02 2021-05-18 北京海泰方圆科技股份有限公司 一种数据管理方法、装置、电子设备及存储介质
CN111651408B (zh) * 2020-06-08 2024-05-03 Oppo广东移动通信有限公司 获取数据的方法、装置、终端及存储介质
CN111752946B (zh) * 2020-06-22 2021-04-30 上海众言网络科技有限公司 一种基于分片方式对调研数据进行预处理的方法及装置
CN111797417A (zh) * 2020-07-06 2020-10-20 上海明略人工智能(集团)有限公司 文件的上传方法和装置、存储介质及电子装置
CN112084522B (zh) * 2020-09-28 2021-09-21 深圳市腾盟技术有限公司 数据存储方法、装置、设备及存储介质
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112202779B (zh) * 2020-09-29 2022-08-30 深圳壹账通智能科技有限公司 基于区块链的信息加密方法、装置、设备及介质
CN112434105A (zh) * 2020-10-16 2021-03-02 苏州浪潮智能科技有限公司 区块链存储的数据持续保存的方法、系统、设备及介质
CN112417502B (zh) * 2020-11-18 2022-03-18 中国电子科技集团公司第三十研究所 基于区块链、去中心化部署的分布式即时通讯系统及方法
CN112492580B (zh) * 2020-11-25 2023-08-18 北京小米移动软件有限公司 信息处理方法及装置、通信设备及存储介质
CN112445770A (zh) * 2020-11-30 2021-03-05 清远职业技术学院 多维乱序存储的超大规模高性能数据库引擎及云服务平台
CN112688996A (zh) * 2020-12-16 2021-04-20 宁波云麟信息科技有限公司 基于区块链的电子存证数据存储方法和电子设备
CN112764677B (zh) * 2021-01-14 2022-12-23 杭州电子科技大学 一种在云存储中增强数据迁移安全性的方法
CN112965980A (zh) * 2021-03-12 2021-06-15 平安国际智慧城市科技股份有限公司 信息存储方法及装置
CN113064876A (zh) * 2021-03-25 2021-07-02 芝麻链(北京)科技有限公司 一种ipfs文件处理方法
CN114968964B (zh) * 2021-05-24 2024-03-19 中移互联网有限公司 一种文件处理方法、装置及电子设备
CN113342763B (zh) * 2021-06-03 2022-07-15 上海和数软件有限公司 基于ipfs的分布式数据同步方法、设备及介质
CN113726873B (zh) * 2021-08-27 2022-11-01 平安科技(深圳)有限公司 基于区块链的文件处理方法、系统、设备和存储介质
CN113806300B (zh) * 2021-09-23 2023-08-01 北京百度网讯科技有限公司 数据存储方法、系统、装置、设备及存储介质
CN113821478A (zh) * 2021-11-24 2021-12-21 南京金宁汇科技有限公司 一种基于区块链的大文件存储方法及系统
CN114338646A (zh) * 2021-11-29 2022-04-12 王建冬 文件交互传输方法、装置、设备及存储介质
CN113938324A (zh) * 2021-12-16 2022-01-14 成都车晓科技有限公司 一种基于区块链的车贷信息的安全存储方法
CN114398449B (zh) * 2021-12-29 2023-01-06 深圳市海清视讯科技有限公司 数据处理方法、装置、视频监控系统、存储介质
CN114443608B (zh) * 2022-04-07 2022-07-29 深圳市星卡科技股份有限公司 分布式文件存储及下载方法、装置、设备及介质
CN114911869A (zh) * 2022-05-13 2022-08-16 北京航星永志科技有限公司 一种数据及文件存储系统、方法、装置及电子设备
CN115174553A (zh) * 2022-06-06 2022-10-11 蚂蚁区块链科技(上海)有限公司 一种文件传输的方法及装置
WO2024001304A1 (zh) * 2022-06-30 2024-01-04 华为云计算技术有限公司 一种数据处理方法及相关设备
CN115118734A (zh) * 2022-07-11 2022-09-27 京东科技信息技术有限公司 文件共享方法、装置及设备
CN115269511A (zh) * 2022-07-25 2022-11-01 北京航星永志科技有限公司 一种泛电子文件封装方法及装置
CN115438383B (zh) * 2022-11-09 2023-02-14 南京邮电大学 基于区块链通道技术的临床试验数据上传及共享方法
CN116527691B (zh) * 2023-06-27 2023-11-03 天津中远海运散运数字科技有限公司 一种船岸数据的同步方法、装置、设备和介质
CN116915510B (zh) * 2023-09-13 2023-12-01 北京数盾信息科技有限公司 一种基于高速加密算法的分布式存储系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018081464A (ja) 2016-11-15 2018-05-24 富士通株式会社 通信方法、装置、及びプログラム
JP2019153260A (ja) 2018-03-05 2019-09-12 メタップス・プラス・インコーポレイテッドMetaps Plus Inc. 共有経済のための分散型台帳装置及び分散型台帳方法
JP2020088421A (ja) 2018-11-15 2020-06-04 富士通株式会社 通信装置、通信方法、および通信プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173399A1 (en) * 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
CN106686008B (zh) * 2017-03-03 2019-01-11 腾讯科技(深圳)有限公司 信息存储方法及装置
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법
CN109243583B (zh) * 2018-07-09 2020-05-12 研境信息科技(上海)有限公司 基于区块链的医疗影像数据去中心化管理的方法及设备
CN108876383A (zh) * 2018-08-27 2018-11-23 广东工业大学 一种基于区块链的数据交易方法、装置及设备
CN109151031B (zh) * 2018-08-28 2022-08-26 北京奇虎科技有限公司 基于区块链的合约处理方法及装置
CN109493055B (zh) * 2018-11-28 2022-09-13 深圳力维智联技术有限公司 基于区块链的入网区块链设备、数据处理方法及装置
CN109886692B (zh) * 2019-03-08 2021-05-07 泰康保险集团股份有限公司 基于区块链的数据传输方法、装置、介质及电子设备
CN109831527B (zh) * 2019-03-13 2021-12-28 试金石信用服务有限公司 文件处理方法、用户端、服务器及可读存储介质
CN110032545A (zh) * 2019-03-27 2019-07-19 远光软件股份有限公司 基于区块链的文件存储方法、系统及电子设备
CN110062034B (zh) * 2019-04-01 2021-11-12 中科天御(苏州)科技有限公司 一种区块链大文件安全存储方法及系统
CN110083606B (zh) * 2019-04-25 2021-06-08 深圳市豪斯莱科技有限公司 跨链存储方法、终端及存储介质
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018081464A (ja) 2016-11-15 2018-05-24 富士通株式会社 通信方法、装置、及びプログラム
JP2019153260A (ja) 2018-03-05 2019-09-12 メタップス・プラス・インコーポレイテッドMetaps Plus Inc. 共有経済のための分散型台帳装置及び分散型台帳方法
JP2020088421A (ja) 2018-11-15 2020-06-04 富士通株式会社 通信装置、通信方法、および通信プログラム

Also Published As

Publication number Publication date
CN111104386B (zh) 2023-09-01
JP2023500316A (ja) 2023-01-05
US20220407725A1 (en) 2022-12-22
EP4047487A1 (en) 2022-08-24
CN111104386A (zh) 2020-05-05
EP4047487A4 (en) 2023-05-17
EP4047487B1 (en) 2024-05-08
WO2021088278A1 (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
JP7335440B2 (ja) ファイル記憶方法、端末及び記憶媒体
CN108683747B (zh) 资源获取、分发、下载方法、装置、设备及存储介质
US20220147494A1 (en) Systems and methods for providing access to a data file stored at a data storage system
AU2019302940B2 (en) Implementing a blockchain-based web service
US11449478B2 (en) Blockchain implemented data migration audit trail
JP6581717B2 (ja) デジタルコンテンツアイテムのマルチプレミスホスティングのためのピアツーピア同期プロトコル
US8560654B2 (en) Change management
US11695829B2 (en) Peer-to-peer (P2P) downloading
CN111294379B (zh) 区块链网络服务平台及其权限托管方法、存储介质
US11539677B2 (en) Message-based database replication
CN111736775A (zh) 多源存储方法、装置、计算机系统及存储介质
EP4195624A1 (en) Data synchronization method and system based on blockchain, and related device
US11539672B2 (en) Private virtual network replication of cloud databases
US20120078946A1 (en) Systems and methods for monitoring files in cloud-based networks
US20200349126A1 (en) Data file partition and replication
KR101436406B1 (ko) P2p기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법
US20200348927A1 (en) Data file partition and replication
CN112565211B (zh) 区块链网络服务平台及信息处理方法、设备、存储介质
CN115694802A (zh) 区块链网络服务平台的随机数生成方法及装置、存储介质
Mattmann et al. A topical evaluation and discussion of data movement technologies for data-intensive scientific applications
CN114626100A (zh) 用于分布式账本技术的共识算法
CN117909406A (zh) 基于分层区块链的数据处理方法、装置以及可读存储介质
CN115349117A (zh) 用于多租户无服务器环境的多级高速缓存网格系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230817

R150 Certificate of patent or registration of utility model

Ref document number: 7335440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150