WO2019114098A1 - Blockchain-based storage system download method - Google Patents

Blockchain-based storage system download method Download PDF

Info

Publication number
WO2019114098A1
WO2019114098A1 PCT/CN2018/073678 CN2018073678W WO2019114098A1 WO 2019114098 A1 WO2019114098 A1 WO 2019114098A1 CN 2018073678 W CN2018073678 W CN 2018073678W WO 2019114098 A1 WO2019114098 A1 WO 2019114098A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
downloader
blockchain
downloading
storage system
Prior art date
Application number
PCT/CN2018/073678
Other languages
French (fr)
Chinese (zh)
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 WO2019114098A1 publication Critical patent/WO2019114098A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Definitions

  • the present invention relates to the field of data storage technologies, and in particular, to a method for downloading a blockchain-based storage system.
  • Cloud storage is a new concept extended and developed in the concept of cloud computing. It is an emerging network storage technology that refers to functions such as cluster applications, network technologies or distributed file systems. A large number of different types of storage devices work together through application software to jointly provide a system for data storage and service access functions.
  • cloud computing systems When the core of computing and processing of cloud computing systems is the storage and management of large amounts of data, cloud computing systems need to be configured with a large number of storage devices, then the cloud computing system is transformed into a cloud storage system, so cloud storage is a data storage system. And management as the core of the cloud computing system.
  • cloud storage is an emerging solution for putting storage resources on the cloud for people to access. Users can easily access data at any time, anywhere, by connecting to the cloud via any networkable device.
  • the object of the present invention is to overcome the deficiencies of the prior art and provide a download method of a blockchain-based storage system, which verifies the downloader when downloading files, thereby improving security.
  • a download method of a blockchain-based storage system including:
  • the downloader initiates a download request for downloading the file
  • the blockchain network determines whether the downloader has permission to access the file, and if so, creates a permission record for the downloader to allow access to the file in the blockchain network;
  • the downloader obtains meta information of the file
  • the downloader downloads all file fragments of the file according to the meta information of the file
  • the downloader assembles all the files of the file into a complete file.
  • the downloader further includes: the downloader checks the file that has been confirmed to be stored in the blockchain network.
  • the download request includes a downloader's account name and a file ID.
  • the blockchain network determines whether the downloader has the right to access the file by determining whether the downloader is an uploader of the file, or whether the uploader of the file specifies to share the file. Give the downloader.
  • the meta information of the file includes fragmentation information, a file ID, and a storage ID of the file.
  • the S4 comprises:
  • the downloader sends a request for downloading the corresponding file fragment to each storage of the file fragment of the file according to the meta information of the file;
  • the store verifies whether the downloader is allowed to download the corresponding file fragment through the blockchain network, and if so, the downloader downloads the corresponding file fragment from each storage.
  • the storage of the file is performed by the e-mail between the store and the downloader.
  • the blockchain-based storage system comprises:
  • An application layer configured to generate an upload request by the uploader, generate a storage request by the store, and generate a download request by the downloader, and divide the file to be stored into a plurality of file fragments according to the upload request;
  • a blockchain network configured to store meta-information of the upload request, the download request, and the file, and to perform permission verification on the downloader that initiates the download request;
  • the distributed storage network is configured to store the file fragmentation, and perform permission verification on the storage file when the file is uploaded, and perform permission verification on the downloader when the file is downloaded.
  • the distributed storage network is a Kad distributed storage network.
  • the upload request includes a split quantity of the file, a backup quantity of the file, a file description, a public key of the uploader, an account name of the uploader, an uploader ID, and a file ID
  • the storage request includes an account of the storeer. Name, file ID, and file shard ID.
  • the blockchain network verifies the downloader, and the downloader is allowed to access the file to be downloaded after the verification is passed, thereby improving the security of the file;
  • the important information such as metadata of the file is stored in the blockchain through the smart contract verification in the storage system. Since the data stored in the blockchain cannot be tampered with, the important information can be well protected. .
  • Figure 1 is a schematic flow chart of the present invention.
  • Blockchain A chained data structure that combines data blocks in sequential order in chronological order, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
  • Smart Contract A set of commitments defined in digital form, including agreements where contract participants can execute these commitments. From a procedural perspective, a smart contract is a programming language programmed on a blockchain that triggers related operations when certain specified conditions are met.
  • this embodiment provides a download method of a blockchain-based storage system.
  • a download method of a blockchain-based storage system includes:
  • the downloader initiates a download request for the download file.
  • the specific process is as follows: The downloader initiates a download request in the application layer by calling a download request interface (get_file_access) of the blockchain network.
  • the download request includes the account name and file ID of the downloader.
  • the downloader further includes: the downloader checks the file that has been confirmed to be stored in the blockchain network. Confirm that the file to be downloaded has been confirmed to be stored.
  • the blockchain network determines whether the downloader has permission to access the file, and if so, creates a permission record for the downloader to access the file in the blockchain network.
  • the download request interface calls the access interface (Access) of the file upload (File_Upload) contract, and the contract judges whether the downloader should be permitted to access the file according to the authentication contract set by the uploader of the file, and if so, downloads in the blockchain network. Create an access permission record.
  • the blockchain network determines whether the downloader has the right to access the file by determining whether the downloader is an uploader of the file, or whether the uploader of the file specifies to share the file. Give the downloader.
  • the downloader obtains meta information of the file.
  • the meta information of the file includes fragmentation information of the file, a file ID, and a store ID.
  • the downloader downloads all file fragments of the file according to the meta information of the file.
  • the S4 includes:
  • the downloader sends a request for downloading the corresponding file fragment to each storage of the file fragment of the file according to the meta information of the file. Specifically, the downloader's eMule sends a file download request for each file fragment to the corresponding storage device according to the meta information of the file.
  • the store verifies whether the downloader is allowed to download the corresponding file fragment through the blockchain network, and if so, the downloader downloads the corresponding file fragment from each storage. Specifically, after receiving the download request, the memory of the storage device invokes an authentication interface (download_validation) of the blockchain network to verify whether the downloader is allowed to download the file fragment, and if so, the downloader's power is from the storage user. The eDonkey downloads the file fragments.
  • download_validation authentication interface
  • the downloader After all the file fragments of the file are downloaded, the downloader assembles all the files into a complete file.
  • the storage system includes an application layer, a blockchain network, and a distributed storage network.
  • the application layer is configured to generate an upload request by the uploader, generate a storage request by the store, and generate a download request by the downloader, and divide the file to be stored into a plurality of file fragments according to the upload request.
  • the uploading request includes a split quantity of the file, a backup quantity of the file, a file description, a public key of the uploader, an account name of the uploader, an uploader ID, and a file ID, and may further include an authentication condition of the downloader;
  • the storage request includes a storage person's account name, a file ID, and a file shard ID; the download request includes a downloader's account name and file ID.
  • the blockchain network is configured to store meta-information of the upload request, the download request, and the file, and to perform permission verification on the downloader that initiates the download request.
  • the meta information of the file includes the fragmentation information of the file, the uploader's public key, and the store ID.
  • the blockchain network is a blockchain network that supports smart contracts.
  • the blockchain network includes an upload request initiation interface, an upload request viewing interface, a storage request initiation interface, a storage request viewing interface, a permission download interface, a storage completion declaration interface, a storage completion declaration viewing interface, a confirmation storage declaration interface, and an authentication interface. And the download request interface.
  • the upload request initiation interface (store_file_to_network) is used by the uploader to initiate an upload request for storing the file to the distributed storage network; in some embodiments, the implementation process is: initiating an upload interface of a file upload (File_Upload) contract.
  • the transaction after the contract is verified, creates an upload request record for the uploader in the blockchain network.
  • the upload request viewing interface (blockchain_get_upload_requests) is used by the storage device to view all upload requests existing in the blockchain network.
  • the storage request initiation interface (store_file_piece) is used by the storage device to initiate a storage request for storing a file fragment; in some embodiments, the implementation process is: initiating a storage (Store) interface of a file upload (File_Upload) contract. Transaction, the contract is verified to create a storage request for the store in the blockchain network (Store) Request) record.
  • the storage request viewing interface (wallet_list_store_request_for_my_file) is used by the uploader to view a storage request related to the file to be uploaded by the uploader; in some embodiments, the implementation process is: taking the relevant storage request from the blockchain network according to the upload request.
  • the interface queries the data in the blockchain network according to the file fragment ID, and lists related storage request information.
  • the permission download interface (wallet_allow_store_request) is used to grant a storage permission of a file fragment to a storage; in some embodiments, the implementation process is: recording a permission storage request in the blockchain network, so that the download is performed. Can be passed when authenticating.
  • the storage completion declaration interface (declare_piece_saved) is used by the store to initiate a statement that a certain file fragment storage has been completed; in some embodiments, the implementation process is: initiating a transaction in which the specified account has completed a specific The declaration of file shard storage.
  • the storage completion declaration viewing interface (blockchain_list_file_save_declare) is used to list the storage completion declarations related to the specified file appearing in the blockchain network.
  • the confirmation storage declaration interface (confirm_piece_saved) is used by the uploader to initiate a statement that the confirmed storage person completes storage of a certain file fragment;
  • the authentication interface (download_validation) is configured to perform download permission identification, and determine whether the storage or downloader has the right to download the corresponding file fragment.
  • the download request interface (get_file_access) is used by the downloader to initiate a request for obtaining access to a file; in some embodiments, the implementation process is: initiating a transaction of an acquisition interface that invokes a file upload contract, the contract is based on the uploader
  • the set authentication condition determines whether the downloader is allowed to access the file, and if so, creates an access permission record for the downloader in the blockchain network.
  • the distributed storage network is configured to store the file fragmentation, and perform permission verification on the storage file when the file is uploaded, and perform permission verification on the downloader when the file is downloaded.
  • the distributed storage network is a Kad distributed storage network.
  • the uploader, the storeer, and the downloader are all nodes of the distributed storage network, and are transferred between the store and the uploader, and between the store and the downloader.

Abstract

A blockchain-based storage system download method, comprising: S1. a downloader initiates a download request for downloading a file; S2. a blockchain network determines whether the downloader has permission to access the file, and if yes, creates a permission record allowing access to the file for the downloader in the blockchain network; S3. the downloader obtains meta-information of the file; S4. the downloader downloads all file fragments of the file according to the meta-information of the file; S5. the downloader assembles all the file fragments of the file into the complete file. The downloader undergoes multiple verifications, and is only allowed to access the file to be downloaded after all the verifications have been passed, thereby increasing file security. In addition, the file fragments are transmitted between the downloader and a storer via eMule, thereby increasing transmission stability.

Description

基于区块链的存储系统的下载方法Blockchain-based storage system download method 技术领域Technical field
本发明涉及数据存储技术领域,特别是涉及一种基于区块链的存储系统的下载方法。The present invention relates to the field of data storage technologies, and in particular, to a method for downloading a blockchain-based storage system.
背景技术Background technique
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。Cloud storage is a new concept extended and developed in the concept of cloud computing. It is an emerging network storage technology that refers to functions such as cluster applications, network technologies or distributed file systems. A large number of different types of storage devices work together through application software to jointly provide a system for data storage and service access functions.
当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。When the core of computing and processing of cloud computing systems is the storage and management of large amounts of data, cloud computing systems need to be configured with a large number of storage devices, then the cloud computing system is transformed into a cloud storage system, so cloud storage is a data storage system. And management as the core of the cloud computing system. Simply put, cloud storage is an emerging solution for putting storage resources on the cloud for people to access. Users can easily access data at any time, anywhere, by connecting to the cloud via any networkable device.
现有云存储依赖于第三方大型存储商来传输和存储数据,如360云盘、百度网盘等,这些大型存储商拥有全部的数据备份以及所有的用户信息,受限于中心化的架构,非常容易受到各种安全威胁。Existing cloud storage relies on third-party large-scale storage to transmit and store data, such as 360 cloud disk, Baidu network disk, etc. These large-scale storage stores have all data backup and all user information, which is limited by the centralized architecture. Very vulnerable to a variety of security threats.
技术问题technical problem
现有云存储依赖于第三方大型存储商来传输和存储数据,这些大型存储商拥有全部的数据备份以及所有的用户信息,受限于中心化的架构,非常容易受到各种安全威胁。Existing cloud storage relies on third-party large storage vendors to transfer and store data. These large storage stores have full data backup and all user information, and are limited to a centralized architecture, which is very vulnerable to various security threats.
本发明的目的在于克服现有技术的不足,提供一种基于区块链的存储系统的下载方法,在下载文件时对下载者进行验证,提高安全性。The object of the present invention is to overcome the deficiencies of the prior art and provide a download method of a blockchain-based storage system, which verifies the downloader when downloading files, thereby improving security.
技术解决方案Technical solution
本发明的目的是通过以下技术方案来实现的:基于区块链的存储系统的下载方法,包括:The object of the present invention is achieved by the following technical solutions: a download method of a blockchain-based storage system, including:
S1.下载者发起下载文件的下载请求;S1. The downloader initiates a download request for downloading the file;
S2.区块链网络判断所述下载者是否有权限访问所述文件,若是,则在区块链网络中为所述下载者创建一个允许访问所述文件的许可记录;S2. The blockchain network determines whether the downloader has permission to access the file, and if so, creates a permission record for the downloader to allow access to the file in the blockchain network;
S3.下载者获取所述文件的元信息;S3. The downloader obtains meta information of the file;
S4.下载者根据所述文件的元信息下载所述文件的所有文件分片;S4. The downloader downloads all file fragments of the file according to the meta information of the file;
S5.下载者将所述文件的所有文件分片拼装层完整的文件。S5. The downloader assembles all the files of the file into a complete file.
优选的,所述S1之前还包括:下载者在区块链网络中查看已经确认存储的文件。Preferably, before the S1, the downloader further includes: the downloader checks the file that has been confirmed to be stored in the blockchain network.
优选的,所述下载请求包括下载者的账户名和文件ID。Preferably, the download request includes a downloader's account name and a file ID.
优选的,区块链网络判断所述下载者是否有权限访问所述文件的方式为:判断所述下载者是否为所述文件的上传者,或者,所述文件的上传者是否指定将文件分享给所述下载者。Preferably, the blockchain network determines whether the downloader has the right to access the file by determining whether the downloader is an uploader of the file, or whether the uploader of the file specifies to share the file. Give the downloader.
优选的,所述文件的元信息包括文件的分片信息、文件ID和存储者ID。Preferably, the meta information of the file includes fragmentation information, a file ID, and a storage ID of the file.
优选的,所述S4包括:Preferably, the S4 comprises:
下载者根据所述文件的元信息向所述文件的文件分片的各个存储者发送下载相应文件分片的请求;The downloader sends a request for downloading the corresponding file fragment to each storage of the file fragment of the file according to the meta information of the file;
所述存储者通过区块链网络验证是否允许所述下载者下载相应的文件分片,若是,则下载者从各个存储者处下载相应的文件分片。                            The store verifies whether the downloader is allowed to download the corresponding file fragment through the blockchain network, and if so, the downloader downloads the corresponding file fragment from each storage.
优选的,所述存储者和下载者之间通过电骡进行文件分片的传输。Preferably, the storage of the file is performed by the e-mail between the store and the downloader.
优选的,所述基于区块链的存储系统包括:Preferably, the blockchain-based storage system comprises:
应用层,用于上传者生成上传请求、存储者生成存储请求和下载者生成下载请求,以及根据所述上传请求将要被存储的文件切分为多个文件分片;An application layer, configured to generate an upload request by the uploader, generate a storage request by the store, and generate a download request by the downloader, and divide the file to be stored into a plurality of file fragments according to the upload request;
区块链网络,用于存储所述上传请求、下载请求和文件的元信息,以及用于对发起下载请求的下载者进行权限验证;a blockchain network, configured to store meta-information of the upload request, the download request, and the file, and to perform permission verification on the downloader that initiates the download request;
分布式存储网络,用于存储所述文件分片,以及在上传文件时对存储者进行权限验证、在下载文件时对下载者进行权限验证。The distributed storage network is configured to store the file fragmentation, and perform permission verification on the storage file when the file is uploaded, and perform permission verification on the downloader when the file is downloaded.
优选的,所述分布式存储网络为Kad分布式存储网络。Preferably, the distributed storage network is a Kad distributed storage network.
优选的,所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID,所述存储请求包括存储者的账户名、文件ID和文件分片ID。Preferably, the upload request includes a split quantity of the file, a backup quantity of the file, a file description, a public key of the uploader, an account name of the uploader, an uploader ID, and a file ID, and the storage request includes an account of the storeer. Name, file ID, and file shard ID.
有益效果Beneficial effect
本发明的有益效果是:The beneficial effects of the invention are:
(1)本发明中区块链网络对下载者进行验证,验证通过后才允许下载者访问要下载的文件,提高了文件的安全性;(1) In the present invention, the blockchain network verifies the downloader, and the downloader is allowed to access the file to be downloaded after the verification is passed, thereby improving the security of the file;
(2)文件分片的存储者再次对下载者进行权限验证,进一步提高了文件的安全性;(2) The storage of the file fragment again verifies the authority of the downloader, further improving the security of the file;
(3)下载者和存储者之间通过电骡传输文件分片,提高了传输的稳定性;(3) The file segment is transmitted between the downloader and the storage device by means of eMule, thereby improving the stability of the transmission;
(4)存储系统中将文件的元数据等重要信息通过智能合约验证存储在区块链中,由于存储在区块链中的数据不可能被篡改,因此使得这些重要信息能够得到很好的保护。(4) The important information such as metadata of the file is stored in the blockchain through the smart contract verification in the storage system. Since the data stored in the blockchain cannot be tampered with, the important information can be well protected. .
附图说明DRAWINGS
图1为本发明的流程示意图。Figure 1 is a schematic flow chart of the present invention.
本发明的实施方式Embodiments of the invention
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions of the present invention will be described clearly and completely in combination with the embodiments. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without any inventive effort are within the scope of the present invention.
术语解释:Explanation of terms:
区块链:一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。Blockchain: A chained data structure that combines data blocks in sequential order in chronological order, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
智能合约:一套以数字形式定义的承诺,包括合约参与方可以执行这些承诺的协议。从程序角度来看,智能合约是编程在区块链上的程序语言,当满足某些指定条件时触发相关操作。Smart Contract: A set of commitments defined in digital form, including agreements where contract participants can execute these commitments. From a procedural perspective, a smart contract is a programming language programmed on a blockchain that triggers related operations when certain specified conditions are met.
参阅图1,本实施例提供了一种基于区块链的存储系统的下载方法。Referring to FIG. 1, this embodiment provides a download method of a blockchain-based storage system.
如图1所示,基于区块链的存储系统的下载方法,包括:As shown in FIG. 1, a download method of a blockchain-based storage system includes:
S1.下载者发起下载文件的下载请求。具体过程为:下载者在应用层里通过调用区块链网络的下载请求接口(get_file_access)发起下载请求。S1. The downloader initiates a download request for the download file. The specific process is as follows: The downloader initiates a download request in the application layer by calling a download request interface (get_file_access) of the blockchain network.
所述下载请求包括下载者的账户名和文件ID。The download request includes the account name and file ID of the downloader.
优选的,所述S1之前还包括:下载者在区块链网络中查看已经确认存储的文件。确认要下载的文件是否已经被确认存储。Preferably, before the S1, the downloader further includes: the downloader checks the file that has been confirmed to be stored in the blockchain network. Confirm that the file to be downloaded has been confirmed to be stored.
S2.区块链网络判断所述下载者是否有权限访问所述文件,若是,则在区块链网络中为所述下载者创建一个允许访问所述文件的许可记录。S2. The blockchain network determines whether the downloader has permission to access the file, and if so, creates a permission record for the downloader to access the file in the blockchain network.
下载请求接口调用文件上传(File_Upload)合约的访问接口(Access),该合约根据文件的上传者设定的鉴权合约判断是否应当许可下载者访问文件,若是,则在区块链网络中为下载者创建访问许可记录。The download request interface calls the access interface (Access) of the file upload (File_Upload) contract, and the contract judges whether the downloader should be permitted to access the file according to the authentication contract set by the uploader of the file, and if so, downloads in the blockchain network. Create an access permission record.
优选的,区块链网络判断所述下载者是否有权限访问所述文件的方式为:判断所述下载者是否为所述文件的上传者,或者,所述文件的上传者是否指定将文件分享给所述下载者。Preferably, the blockchain network determines whether the downloader has the right to access the file by determining whether the downloader is an uploader of the file, or whether the uploader of the file specifies to share the file. Give the downloader.
S3.下载者获取所述文件的元信息。S3. The downloader obtains meta information of the file.
所述文件的元信息包括文件的分片信息、文件ID和存储者ID。The meta information of the file includes fragmentation information of the file, a file ID, and a store ID.
S4.下载者根据所述文件的元信息下载所述文件的所有文件分片。所述S4包括:S4. The downloader downloads all file fragments of the file according to the meta information of the file. The S4 includes:
S41.下载者根据所述文件的元信息向所述文件的文件分片的各个存储者发送下载相应文件分片的请求。具体为:下载者的电骡根据所述文件的元信息给相应存储者的电骡发各个文件分片的文件下载请求。S41. The downloader sends a request for downloading the corresponding file fragment to each storage of the file fragment of the file according to the meta information of the file. Specifically, the downloader's eMule sends a file download request for each file fragment to the corresponding storage device according to the meta information of the file.
S42.所述存储者通过区块链网络验证是否允许所述下载者下载相应的文件分片,若是,则下载者从各个存储者处下载相应的文件分片。具体为:存储者的电骡收到该下载请求后,调用区块链网络的鉴权接口(download_validation)来验证是否允许下载者下载所述文件分片,若是,则下载者的电骡从存储者的电骡下载所述文件分片。S42. The store verifies whether the downloader is allowed to download the corresponding file fragment through the blockchain network, and if so, the downloader downloads the corresponding file fragment from each storage. Specifically, after receiving the download request, the memory of the storage device invokes an authentication interface (download_validation) of the blockchain network to verify whether the downloader is allowed to download the file fragment, and if so, the downloader's power is from the storage user. The eDonkey downloads the file fragments.
S5.所述文件的所有文件分片下载完成后,下载者将所有文件分片拼装层完整的文件。S5. After all the file fragments of the file are downloaded, the downloader assembles all the files into a complete file.
存储系统包括应用层、区块链网络和分布式存储网络。The storage system includes an application layer, a blockchain network, and a distributed storage network.
所述应用层用于上传者生成上传请求、存储者生成存储请求和下载者生成下载请求,以及根据所述上传请求将要被存储的文件切分为多个文件分片。所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID,此外,还可以包括下载者的鉴权条件;所述存储请求包括存储者的账户名、文件ID和文件分片ID;所述下载请求包括下载者的账户名和文件ID。The application layer is configured to generate an upload request by the uploader, generate a storage request by the store, and generate a download request by the downloader, and divide the file to be stored into a plurality of file fragments according to the upload request. The uploading request includes a split quantity of the file, a backup quantity of the file, a file description, a public key of the uploader, an account name of the uploader, an uploader ID, and a file ID, and may further include an authentication condition of the downloader; The storage request includes a storage person's account name, a file ID, and a file shard ID; the download request includes a downloader's account name and file ID.
所述区块链网络用于存储所述上传请求、下载请求和文件的元信息,以及用于对发起下载请求的下载者进行权限验证。所述文件的元信息包括文件的分片信息、上传者的公钥和存储者ID。所述区块链网络为支持智能合约的区块链网络。The blockchain network is configured to store meta-information of the upload request, the download request, and the file, and to perform permission verification on the downloader that initiates the download request. The meta information of the file includes the fragmentation information of the file, the uploader's public key, and the store ID. The blockchain network is a blockchain network that supports smart contracts.
所述区块链网络包括上传请求发起接口、上传请求查看接口、存储请求发起接口、存储请求查看接口、允许下载接口、存储完成声明接口、存储完成声明查看接口、确认存储声明接口、鉴权接口和下载请求接口。The blockchain network includes an upload request initiation interface, an upload request viewing interface, a storage request initiation interface, a storage request viewing interface, a permission download interface, a storage completion declaration interface, a storage completion declaration viewing interface, a confirmation storage declaration interface, and an authentication interface. And the download request interface.
所述上传请求发起接口(store_file_to_network)用于上传者发起将文件存储到分布式存储网络的上传请求;在一些实施例中,实现过程为:发起调用文件上传(File_Upload)合约的上传(Upload)接口的交易,该合约检验无误后为上传者在区块链网络中创建一个上传请求(Upload Request)记录。The upload request initiation interface (store_file_to_network) is used by the uploader to initiate an upload request for storing the file to the distributed storage network; in some embodiments, the implementation process is: initiating an upload interface of a file upload (File_Upload) contract. The transaction, after the contract is verified, creates an upload request record for the uploader in the blockchain network.
所述上传请求查看接口(blockchain_get_upload_requests),用于存储者查看区块链网络中存在的所有上传请求。The upload request viewing interface (blockchain_get_upload_requests) is used by the storage device to view all upload requests existing in the blockchain network.
所述存储请求发起接口(store_file_piece),用于存储者发起存储某一文件分片的存储请求;在一些实施例中,实现过程为:发起调用文件上传(File_Upload)合约的存储(Store)接口的交易,该合约校验无误后为存储者在区块链网络中创建一个存储请求(Store Request)记录。The storage request initiation interface (store_file_piece) is used by the storage device to initiate a storage request for storing a file fragment; in some embodiments, the implementation process is: initiating a storage (Store) interface of a file upload (File_Upload) contract. Transaction, the contract is verified to create a storage request for the store in the blockchain network (Store) Request) record.
所述存储请求查看接口(wallet_list_store_request_for_my_file),用于上传者查看与自己要上传的文件相关的存储请求;在一些实施例中,实现过程为:根据上传请求从区块链网络中取出相关的存储请求,此接口根据文件分片ID查询区块链网络中的数据,列出相关存储请求信息。The storage request viewing interface (wallet_list_store_request_for_my_file) is used by the uploader to view a storage request related to the file to be uploaded by the uploader; in some embodiments, the implementation process is: taking the relevant storage request from the blockchain network according to the upload request. The interface queries the data in the blockchain network according to the file fragment ID, and lists related storage request information.
所述允许下载接口(wallet_allow_store_request),用于为存储者授予某一文件分片的存储权限;在一些实施例中,实现过程为:在区块链网络中记录下许可的存储请求,使得在下载鉴权时可以通过。The permission download interface (wallet_allow_store_request) is used to grant a storage permission of a file fragment to a storage; in some embodiments, the implementation process is: recording a permission storage request in the blockchain network, so that the download is performed. Can be passed when authenticating.
所述存储完成声明接口(declare_piece_saved),用于存储者发起已完成某一文件分片存储的声明;在一些实施例中,实现过程为:发起一笔交易,交易中包含一个指定账户已完成特定文件分片存储的声明。The storage completion declaration interface (declare_piece_saved) is used by the store to initiate a statement that a certain file fragment storage has been completed; in some embodiments, the implementation process is: initiating a transaction in which the specified account has completed a specific The declaration of file shard storage.
所述存储完成声明查看接口(blockchain_list_file_save_declare),用于列出区块链网络中出现的与指定文件相关的存储完成声明。The storage completion declaration viewing interface (blockchain_list_file_save_declare) is used to list the storage completion declarations related to the specified file appearing in the blockchain network.
所述确认存储声明接口(confirm_piece_saved),用于上传者发起已确认存储者完成某一文件分片的存储的声明;The confirmation storage declaration interface (confirm_piece_saved) is used by the uploader to initiate a statement that the confirmed storage person completes storage of a certain file fragment;
所述鉴权接口(download_validation),用于进行下载权限鉴定,判断存储者或下载者是否有权下载相应的文件分片。The authentication interface (download_validation) is configured to perform download permission identification, and determine whether the storage or downloader has the right to download the corresponding file fragment.
所述下载请求接口(get_file_access),用于下载者发起获取某一文件的访问权的请求;在一些实施例中,实现过程为:发起调用文件上传合约的获取接口的交易,该合约根据上传者设定的鉴权条件判断是否允许所述下载者访问所述文件,若是,则在区块链网络中为下载者创建一个访问许可记录。The download request interface (get_file_access) is used by the downloader to initiate a request for obtaining access to a file; in some embodiments, the implementation process is: initiating a transaction of an acquisition interface that invokes a file upload contract, the contract is based on the uploader The set authentication condition determines whether the downloader is allowed to access the file, and if so, creates an access permission record for the downloader in the blockchain network.
分布式存储网络,用于存储所述文件分片,以及在上传文件时对存储者进行权限验证、在下载文件时对下载者进行权限验证。The distributed storage network is configured to store the file fragmentation, and perform permission verification on the storage file when the file is uploaded, and perform permission verification on the downloader when the file is downloaded.
所述分布式存储网络为Kad分布式存储网络。The distributed storage network is a Kad distributed storage network.
上传者、存储者和下载者均为分布式存储网络在的节点,存储者与上传者之间、存储者与下载者之间均通过电骡进行传输。The uploader, the storeer, and the downloader are all nodes of the distributed storage network, and are transferred between the store and the uploader, and between the store and the downloader.
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。The above is only a preferred embodiment of the present invention, and it should be understood that the present invention is not limited to the forms disclosed herein, and is not to be construed as being limited to the other embodiments, but may be used in various other combinations, modifications and environments. Modifications can be made by the techniques or knowledge of the above teachings or related art within the scope of the teachings herein. All changes and modifications made by those skilled in the art are intended to be within the scope of the appended claims.

Claims (10)

  1. 基于区块链的存储系统的下载方法,其特征在于,包括:A method for downloading a blockchain-based storage system, comprising:
    S1.下载者发起下载文件的下载请求;S1. The downloader initiates a download request for downloading the file;
    S2.区块链网络判断所述下载者是否有权限访问所述文件,若是,则在区块链网络中为所述下载者创建一个允许访问所述文件的许可记录;S2. The blockchain network determines whether the downloader has permission to access the file, and if so, creates a permission record for the downloader to allow access to the file in the blockchain network;
    S3.下载者获取所述文件的元信息;S3. The downloader obtains meta information of the file;
    S4.下载者根据所述文件的元信息下载所述文件的所有文件分片;S4. The downloader downloads all file fragments of the file according to the meta information of the file;
    S5.下载者将所述文件的所有文件分片拼装层完整的文件。S5. The downloader assembles all the files of the file into a complete file.
  2. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,所述S1之前还包括:下载者在区块链网络中查看已经确认存储的文件。The method for downloading a blockchain-based storage system according to claim 1, wherein the S1 further comprises: the downloader viewing the file that has been confirmed to be stored in the blockchain network.
  3. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,所述下载请求包括下载者的账户名和文件ID。The method of downloading a blockchain-based storage system according to claim 1, wherein the download request includes an account name and a file ID of the downloader.
  4. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,区块链网络判断所述下载者是否有权限访问所述文件的方式为:判断所述下载者是否为所述文件的上传者,或者,所述文件的上传者是否指定将文件分享给所述下载者。The method for downloading a blockchain-based storage system according to claim 1, wherein the blockchain network determines whether the downloader has the right to access the file: determining whether the downloader is The uploader of the file, or whether the uploader of the file specifies to share the file to the downloader.
  5. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,所述文件的元信息包括文件的分片信息、文件ID和存储者ID。The method for downloading a blockchain-based storage system according to claim 1, wherein the meta information of the file includes fragmentation information, a file ID, and a store ID of the file.
  6. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,所述S4包括:The method for downloading a blockchain-based storage system according to claim 1, wherein the S4 comprises:
    下载者根据所述文件的元信息向所述文件的文件分片的各个存储者发送下载相应文件分片的请求;The downloader sends a request for downloading the corresponding file fragment to each storage of the file fragment of the file according to the meta information of the file;
    所述存储者通过区块链网络验证是否允许所述下载者下载相应的文件分片,若是,则下载者从各个存储者处下载相应的文件分片。     The store verifies whether the downloader is allowed to download the corresponding file fragment through the blockchain network, and if so, the downloader downloads the corresponding file fragment from each storage.
  7. 根据权利要求6所述的基于区块链的存储系统的下载方法,其特征在于,所述存储者和下载者之间通过电骡进行文件分片的传输。The method for downloading a blockchain-based storage system according to claim 6, wherein the storage of the file is performed by the e-mail between the store and the downloader.
  8. 根据权利要求1所述的基于区块链的存储系统的下载方法,其特征在于,所述基于区块链的存储系统包括:The method for downloading a blockchain-based storage system according to claim 1, wherein the blockchain-based storage system comprises:
    应用层,用于上传者生成上传请求、存储者生成存储请求和下载者生成下载请求,以及根据所述上传请求将要被存储的文件切分为多个文件分片;An application layer, configured to generate an upload request by the uploader, generate a storage request by the store, and generate a download request by the downloader, and divide the file to be stored into a plurality of file fragments according to the upload request;
    区块链网络,用于存储所述上传请求、下载请求和文件的元信息,以及用于对发起下载请求的下载者进行权限验证;a blockchain network, configured to store meta-information of the upload request, the download request, and the file, and to perform permission verification on the downloader that initiates the download request;
    分布式存储网络,用于存储所述文件分片,以及在上传文件时对存储者进行权限验证、在下载文件时对下载者进行权限验证。The distributed storage network is configured to store the file fragmentation, and perform permission verification on the storage file when the file is uploaded, and perform permission verification on the downloader when the file is downloaded.
  9. 根据权利要求8所述的基于区块链的存储系统的下载方法,其特征在于,所述分布式存储网络为Kad分布式存储网络。The method for downloading a blockchain-based storage system according to claim 8, wherein the distributed storage network is a Kad distributed storage network.
  10. 根据权利要求8所述的基于区块链的存储系统的下载方法,其特征在于,所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID,所述存储请求包括存储者的账户名、文件ID和文件分片ID。The method for downloading a blockchain-based storage system according to claim 8, wherein the upload request includes a split number of files, a backup number of files, a file description, an uploader's public key, and an uploader. The account name, the uploader ID, and the file ID, the storage request including the account name, file ID, and file fragment ID of the store.
PCT/CN2018/073678 2017-12-15 2018-01-22 Blockchain-based storage system download method WO2019114098A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711344085.5 2017-12-15
CN201711344085.5A CN108134822A (en) 2017-12-15 2017-12-15 The method for down loading of storage system based on block chain

Publications (1)

Publication Number Publication Date
WO2019114098A1 true WO2019114098A1 (en) 2019-06-20

Family

ID=62389437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/073678 WO2019114098A1 (en) 2017-12-15 2018-01-22 Blockchain-based storage system download method

Country Status (2)

Country Link
CN (1) CN108134822A (en)
WO (1) WO2019114098A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636087B (en) * 2018-06-21 2022-04-12 北京果仁宝软件技术有限责任公司 Data processing method and system based on alliance chain
CN109191287B (en) * 2018-06-27 2020-08-04 浙江超脑时空科技有限公司 Block chain intelligent contract fragmentation method and device and electronic equipment
CN109120714B (en) * 2018-09-21 2021-07-09 深圳市九洲电器有限公司 Security data recovery method and system, and node server
CN109886040B (en) * 2019-01-24 2021-06-22 北京融链科技有限公司 Data processing method, data processing device, storage medium and processor
DE102019202381A1 (en) * 2019-02-21 2020-08-27 Robert Bosch Gmbh Procedure for transferring data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710630A (en) * 2012-05-29 2012-10-03 新华网股份有限公司 Cloud upload and download method and system of multi-threaded slice
CN105893511A (en) * 2016-03-30 2016-08-24 电子科技大学 Method for data copy trace retention through agent cloud
CN106209877A (en) * 2016-07-19 2016-12-07 井创(北京)科技有限公司 A kind of be certification core with block chain backstage false-proof authentication system
CN106503098A (en) * 2016-10-14 2017-03-15 中金云金融(北京)大数据科技股份有限公司 It is built in the block chain cloud service frame system of Paas service layers
US20170329980A1 (en) * 2016-05-13 2017-11-16 Vmware, Inc. Secure and scalable data transfer using a hybrid blockchain-based approach

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457555A (en) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 Security system and method for distributed storage
CN102546664A (en) * 2012-02-27 2012-07-04 中国科学院计算技术研究所 User and authority management method and system for distributed file system
US20160321675A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Authenticating content at an online content management system
CN106354994B (en) * 2016-08-22 2019-01-18 布比(北京)网络技术有限公司 Handle the method and system of medical data
CN107273410B (en) * 2017-05-03 2020-07-07 上海点融信息科技有限责任公司 Block chain based distributed storage
CN107196934B (en) * 2017-05-18 2019-05-10 电子科技大学 A kind of cloud data managing method based on block chain
CN106992990A (en) * 2017-05-19 2017-07-28 北京牛链科技有限公司 Data sharing method and system and block catenary system and computing device
CN107360156B (en) * 2017-07-10 2019-10-29 广东工业大学 P2P network method for cloud storage based on block chain under a kind of big data environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710630A (en) * 2012-05-29 2012-10-03 新华网股份有限公司 Cloud upload and download method and system of multi-threaded slice
CN105893511A (en) * 2016-03-30 2016-08-24 电子科技大学 Method for data copy trace retention through agent cloud
US20170329980A1 (en) * 2016-05-13 2017-11-16 Vmware, Inc. Secure and scalable data transfer using a hybrid blockchain-based approach
CN106209877A (en) * 2016-07-19 2016-12-07 井创(北京)科技有限公司 A kind of be certification core with block chain backstage false-proof authentication system
CN106503098A (en) * 2016-10-14 2017-03-15 中金云金融(北京)大数据科技股份有限公司 It is built in the block chain cloud service frame system of Paas service layers

Also Published As

Publication number Publication date
CN108134822A (en) 2018-06-08

Similar Documents

Publication Publication Date Title
WO2019114096A1 (en) Blockchain-based storage system
CN109144961B (en) Authorization file sharing method and device
WO2019114097A1 (en) Blockchain-based distributed storage method
TWI725793B (en) System and method for mapping decentralized identifiers to real-world entities
US10708060B2 (en) System and method for blockchain-based notification
WO2022042301A1 (en) Data processing method and apparatus, smart device and storage medium
CN107295002B (en) Cloud data storage method and server
US10917234B2 (en) Blockchain for on-chain management of off-chain storage
CN111767527B (en) Block chain-based data authority control method and device and computer equipment
CN111434084B (en) Permission to access information from an entity
CN102170440B (en) Method suitable for safely migrating data between storage clouds
WO2019114098A1 (en) Blockchain-based storage system download method
JP2021516004A (en) Distributed ledger for generating and validating random sequences
US20190356493A1 (en) Blockchain-anchored smart documents
CN103098070B (en) For the methods, devices and systems of Data Position in monitoring network service
CN111144881A (en) Selective access to asset transfer data
CN110598434B (en) House information processing method and device based on blockchain network, electronic equipment and storage medium
CN113132103A (en) Data cross-domain security sharing system and method
CN111460400A (en) Data processing method and device and computer readable storage medium
CN112507387A (en) Distributed data and model calculation method and device based on block chain
US20210012447A1 (en) Method and System for Processing Firearm-Related Data
JP2024509666A (en) Blockchain data segregation
CN112702419B (en) Data processing method, device, equipment and storage medium based on block chain
CN112837023A (en) Business collaboration platform, method and device of organization and electronic equipment
KR102501004B1 (en) Method and apparatus for managing data based on blockchain

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18888272

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18888272

Country of ref document: EP

Kind code of ref document: A1