CN108111585B - 基于区块链的分布式存储方法 - Google Patents

基于区块链的分布式存储方法 Download PDF

Info

Publication number
CN108111585B
CN108111585B CN201711344195.1A CN201711344195A CN108111585B CN 108111585 B CN108111585 B CN 108111585B CN 201711344195 A CN201711344195 A CN 201711344195A CN 108111585 B CN108111585 B CN 108111585B
Authority
CN
China
Prior art keywords
file
storage
uploader
request
block chain
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
CN201711344195.1A
Other languages
English (en)
Other versions
CN108111585A (zh
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.)
Shandong urban construction vocational college
Original Assignee
Chengdu Bosha 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 Chengdu Bosha Technology Co ltd filed Critical Chengdu Bosha Technology Co ltd
Priority to CN201711344195.1A priority Critical patent/CN108111585B/zh
Priority to PCT/CN2018/073677 priority patent/WO2019114097A1/zh
Publication of CN108111585A publication Critical patent/CN108111585A/zh
Application granted granted Critical
Publication of CN108111585B publication Critical patent/CN108111585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区块链的分布式存储方法,包括:S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中;S2.将要被存储的文件切分为多个文件分片;S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中;S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易;S5.存储者存储所述文件分片。本发明实现了文件的分布式存储,提高了文件存储的安全性。

Description

基于区块链的分布式存储方法
技术领域
本发明涉及数据存储技术领域,特别是涉及一种基于区块链的分布式存储方法。
背景技术
现有技术中,数据存储有中心化存储方案和去中心化存储方案两种;目前,国际上有名的中心化存储方案有Dropbox、OneDrive、Google Drive和SkyDrive,国内较为成熟的中心化存储方案有百度网盘、华为网盘、金山快盘、115网盘、360云盘、坚果云和腾讯微云;去中心化存储方案比较著名的有Storj、Sia和Maidsafe。
去中心化存储可以显著减小数据中断的风险及其损失,增加数据存储的安全性和保密性。现有云存储依赖于第三方大型存储商来传输和存储数据,如360云盘、百度网盘等,这些大型存储商拥有全部的数据备份以及所有的用户信息,受限于中心化的架构,非常容易受到各种安全威胁;冗余和去中心化的分布式存储可以有效改善这种状况,有效抵制篡改和未经授权的访问。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于区块链的分布式存储方法,实现文件的分布式存储,提高文件存储的安全性。
本发明的目的是通过以下技术方案来实现的:基于区块链的分布式存储方法,包括:
S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中;
S2.将要被存储的文件切分为多个文件分片;
S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中;
S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易;
S5.存储者存储所述文件分片。
优选的,所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID。
优选的,所述存储请求包括存储者的账户名、文件ID和文件分片ID。
优选的,所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。
优选的,所述S4包括:上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限。
优选的,所述S5包括:
存储者向上传者发起下载所述文件分片的请求;
上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;
存储者从上传者处下载并存储所述文件分片。
优选的,所述S5还包括:
存储者更新所述存储请求,写入所述文件分片下载完成的信息;
上传者更新所述上传请求,写入所述文件分片已存储的信息。
优选的,所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。
优选的,所述存储者与上传者之间通过电骡实现所述文件分片的传输。
本发明的有益效果是:
(1)本发明实现了文件的分布式存储,任何一个节点都不会拥有整个文件的完整备份,提高了文件的安全性;
(2)将文件的元数据等重要信息通过智能合约验证存储在区块链中,由于存储在区块链中的数据不可能被篡改,因此使得这些重要信息能够得到很好的保护;
(3)每个用户既可以是存储需求方,也可以是存储提供方,能够有效提高网络中用户闲散的存储资源的利用率,同时也为提供存储资源的用户带来相应的收益;
(4)采用电骡进行文件分片的传输,稳定性良好。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
区块链:一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
智能合约:一套以数字形式定义的承诺,包括合约参与方可以执行这些承诺的协议。从程序角度来看,智能合约是编程在区块链上的程序语言,当满足某些指定条件时触发相关操作。
参阅图1,本实施例提供了一种基于区块链的分布式存储方法,具体包括以下步骤:
S1.分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中。
所述上传请求包括所述文件的拆分数量、所述文件的备份数量、付费意愿、文件描述、上传者的公钥、上传者的账户名、上传者ID、文件ID。所述文件ID由所述文件的哈希值和上传者的公钥构成。
上传者为分布式存储网络中作为存储需求方的用户,即该用户有文件需要被存储。上传者发起上传文件到分布式存储网络的请求,对该请求进行基本的校验后设置相关参数,然后调用区块链的File_Upload(文件上传)合约的Upload(上传)接口的交易,合约校验没有问题后在区块链上为其创建一个上传请求(Upload Request)记录。
S2.将要被存储的文件切分为多个文件分片。即根据上传请求中文件的拆分数量和备份数量将文件切分为多个文件分片;例如,文件的拆分数量为5,备份数量为2,即将文件拆分成5个文件分片,每个文件分片有两个副本,一共有十个文件分片需要进行存储。
在将文件切分为多个文件分片后,将所述文件分片存储至上传者设定的位置。
S3.分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中。
所述存储请求包括存储者的账户名、文件ID和文件分片ID;所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。
存储者为分布式存储网络中作为存储资源提供方的用户,即该用户为上传者提供存储资源。存储者调用区块链的blockchain_get__upload_requests接口(查看存在的上传请求)查看上传者的上传请求,存储者在看到上传请求后,将所述文件的哈希值和上传者的公钥组合形成文件ID,生成存储请求,声明自己想要存储该文件的哪些文件分片。
S4.在区块链中生成上传者与存储者存储所述文件分片的存储交易。即,上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限。
上传者调用区块链的wallet_list_store_request_for_my_file(存储请求查看接口,用于上传者查看与自己要上传的文件相关的存储请求)接口查看存储者的存储请求,然后,上传者调用区块链的wallet_allow_store_request接口(允许下载接口用于为存储者授予某一文件分片的存储权限)来允许存储者存储相应的文件分片(即允许存储者下载相应的文件分片)。
S5.存储者存储所述文件分片。
所述S5包括:存储者向上传者发起下载所述文件分片的请求;上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;存储者从上传者处下载并存储所述文件分片。
存储者的电骡给上传者的电骡发送下载相应文件分片的请求,上传者的电骡收到该请求后调用区块链的download_validation(鉴权接口,用于进行下载权限鉴定)来验证是否允许存储者下载。如果允许,则存储者的电骡从上传者的电骡下载相应的文件分片。
所述S5还包括:存储者更新所述存储请求,写入所述文件分片下载完成的信息;上传者更新所述上传请求,写入所述文件分片已存储的信息。
所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。
存储者的电骡下载完成后,存储者调用区块链的declare_piece_saved(存储完成声明接口,用于存储者发起已完成某一文件分片存储的声明),在区块链上写入“该文件分片下载完成”的状态,上传者调用区块链的blockchain_list_file_save_declare(存储完成声明查看接口,用于列出区块链网络中出现的与指定文件相关的存储完成声明)接口查询自己要上传的文件的存储状态信息,上传者查看到该文件的某个文件分片已被存储后,调用区块链的confirm_piece_saved(确认存储声明接口,用于上传者发起已确认存储者完成某一文件分片的存储的声明),在区块链上写入“该文件分片已存储”的状态。当所述文件的所有文件分片被存储者下载完成后,即完成所述文件的存储。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (5)

1.基于区块链的分布式存储方法,其特征在于,包括:
S1 .分布式存储网络中的上传者生成上传请求,并将所述上传请求记录在区块链的智能合约中;
所述上传请求包括文件的拆分数量、文件的备份数量、文件描述、上传者的公钥、上传者的账户名、上传者ID和文件ID;
上传者发起上传文件到分布式存储网络的请求,对该请求进行校验后设置相关参数,然后调用区块链的文件上传合约的上传接口的交易,合约校验没有问题后在区块链上为其创建一个上传请求记录;
S2 .将要被存储的文件切分为多个文件分片;
S3 .分布式存储网络中的存储者生成存储请求,并将所述存储请求记录在区块链的智能合约中;
S4 .在区块链中生成上传者与存储者存储所述文件分片的存储交易;
所述S4包括:上传者查看所述存储请求,并为所述存储者授予存储所述文件分片的存储权限;
S5 .存储者存储所述文件分片;
所述S5包括:
存储者向上传者发起下载所述文件分片的请求;
上传者验证存储者是否具有所述文件分片的存储权限,若是,则上传者允许存储者下载所述文件分片;
存储者从上传者处下载所述文件分片;
所述S5还包括:
存储者更新所述存储请求,写入所述文件分片下载完成的信息;
上传者更新所述上传请求,写入所述文件分片已存储的信息。
2.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述存储请求包括存储者的账户名、文件ID和文件分片ID。
3.根据权利要求2所述的基于区块链的分布式存储方法,其特征在于,所述文件ID由所述文件的哈希值和上传者的公钥构成,所述文件分片ID由所述文件分片的哈希值和上传者的公钥构成。
4.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述文件分片下载完成的信息包括文件ID、文件分片ID和存储者的账户名,所述文件分片已存储的信息包括上传者的账户名、文件ID、文件分片ID和存储者ID。
5.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述存储者与上传者之间通过电骡实现所述文件分片的传输。
CN201711344195.1A 2017-12-15 2017-12-15 基于区块链的分布式存储方法 Active CN108111585B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711344195.1A CN108111585B (zh) 2017-12-15 2017-12-15 基于区块链的分布式存储方法
PCT/CN2018/073677 WO2019114097A1 (zh) 2017-12-15 2018-01-22 基于区块链的分布式存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711344195.1A CN108111585B (zh) 2017-12-15 2017-12-15 基于区块链的分布式存储方法

Publications (2)

Publication Number Publication Date
CN108111585A CN108111585A (zh) 2018-06-01
CN108111585B true CN108111585B (zh) 2021-08-31

Family

ID=62216118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711344195.1A Active CN108111585B (zh) 2017-12-15 2017-12-15 基于区块链的分布式存储方法

Country Status (2)

Country Link
CN (1) CN108111585B (zh)
WO (1) WO2019114097A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191287B (zh) * 2018-06-27 2020-08-04 浙江超脑时空科技有限公司 一种区块链智能合约的分片方法、装置及电子设备
CN109246211B (zh) * 2018-08-30 2021-08-13 南方科技大学 一种区块链中的资源上传和资源请求方法
CN109408461A (zh) * 2018-09-14 2019-03-01 中国农业大学 一种区块链的分布式存储系统及方法
CN109408463B (zh) * 2018-09-21 2020-12-08 深圳市九洲电器有限公司 文件分布式存储方法及装置、节点服务器
CN109271115B (zh) * 2018-10-11 2021-07-30 重庆晨鲸科技有限公司 存储共享方法、装置、区块链分布式网络拓扑
CN111198862A (zh) * 2018-11-19 2020-05-26 中移(杭州)信息技术有限公司 一种基于区块链的文件存储方法、装置、终端设备和介质
CN111262822B (zh) * 2018-12-03 2022-04-19 中国电信股份有限公司 文件存储方法、装置、区块链节点和系统
CN109587253B (zh) * 2018-12-11 2021-06-29 浙江大学 一种基于区块链对文件实现分布式存储的方法
CN109491981B (zh) * 2019-01-11 2021-05-28 珮金(上海)信息科技有限公司 基于区块链的文件管理方法和装置
CN109951514B (zh) * 2019-01-16 2022-03-25 平安科技(深圳)有限公司 基于云存储的文件处理方法、系统及计算机设备
CN110032547A (zh) * 2019-01-29 2019-07-19 香港贝尔科技有限公司 一种分布式环境下文件存储改进方法
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质
CN110300173A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 去中心化数据存储方法、验证方法、设备和存储介质
CN110474954B (zh) * 2019-07-05 2022-10-25 深圳壹账通智能科技有限公司 基于区块链的文件分享方法、装置、计算机设备及可读存储介质
CN110619020B (zh) * 2019-09-02 2022-04-01 杭州趣链科技有限公司 一种基于机器学习的区块链分片方法
CN110647503A (zh) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 一种分布式存储方法及装置
CN111163156A (zh) * 2019-12-26 2020-05-15 山东爱城市网信息技术有限公司 基于区块链的数据处理方法、设备及存储介质
CN111654375A (zh) * 2020-04-17 2020-09-11 浙江吉利汽车研究院有限公司 一种基于区块链的边缘计算安全加密方法、装置及系统
CN111950025A (zh) * 2020-08-21 2020-11-17 安徽高山科技有限公司 一种基于区块链智能合约的文件分布式存储方法
CN111950027A (zh) * 2020-08-21 2020-11-17 安徽高山科技有限公司 一种基于区块链智能合约的文件分享方法
CN112256663A (zh) * 2020-10-30 2021-01-22 深圳壹账通智能科技有限公司 基于区块链的分布式文件存储方法及系统
CN117493338A (zh) * 2023-11-02 2024-02-02 北京易华录信息技术股份有限公司 一种基于区块链的数据血缘关系识别、存储系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546664A (zh) * 2012-02-27 2012-07-04 中国科学院计算技术研究所 用于分布式文件系统的用户与权限管理方法及系统
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
US20160321676A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Sharing content within social network services
CN105516110B (zh) * 2015-12-01 2019-12-20 趣增信息科技(上海)有限公司 移动设备安全数据传送方法
US10129238B2 (en) * 2016-02-10 2018-11-13 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
CN106534317B (zh) * 2016-11-17 2019-09-03 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法
CN106992990A (zh) * 2017-05-19 2017-07-28 北京牛链科技有限公司 数据共享方法和系统以及区块链系统和计算设备
CN107295002B (zh) * 2017-07-12 2020-06-19 联动优势科技有限公司 一种云端存储数据的方法及服务器
CN107249046A (zh) * 2017-08-15 2017-10-13 李俊庄 一种基于区块链的分布式云存储系统构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546664A (zh) * 2012-02-27 2012-07-04 中国科学院计算技术研究所 用于分布式文件系统的用户与权限管理方法及系统
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法

Also Published As

Publication number Publication date
WO2019114097A1 (zh) 2019-06-20
CN108111585A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
CN108111585B (zh) 基于区块链的分布式存储方法
CN109190410B (zh) 一种云存储环境下的基于区块链的日志行为审计方法
CN110602050B (zh) 区块链访问的鉴权方法和装置、存储介质、电子装置
CN109040012B (zh) 一种基于区块链的数据安全保护和共享方法与系统和应用
US10789597B2 (en) Systems and methods for using a distributed ledger for data handling
CN107480555B (zh) 基于区块链的数据库访问权限控制方法及设备
US11170114B2 (en) Electronic storage system and a method of data management
CN104603740B (zh) 归档数据识别
Mulazzani et al. Dark clouds on the horizon: Using cloud storage as attack vector and online slack space
WO2019114096A1 (zh) 基于区块链的存储系统
US20180294957A1 (en) System for Recording Ownership of Digital Works and Providing Backup Copies
CN101251881B (zh) 一种内容识别的方法、系统和装置
CN105516110B (zh) 移动设备安全数据传送方法
US11418349B2 (en) Block chain-based node device, method for operating node device, and data processing system
CN108965299A (zh) 一种数据访问方法、访问验证设备及数据存储系统
CN102170440A (zh) 适用于存储云间数据安全迁移的方法
CN109634619A (zh) 可信执行环境实现方法及装置、终端设备、可读存储介质
CN108134822A (zh) 基于区块链的存储系统的下载方法
CN104539634A (zh) 一种移动应用安全增强授权与认证的方法
CN110443047B (zh) 数据交换群组系统及方法
US9178860B2 (en) Out-of-path, content-addressed writes with untrusted clients
CN115134069A (zh) 区块链编辑的方法和区块链节点
CN114547209B (zh) 一种基于区块链的数据共享交互方法及系统
KR101663526B1 (ko) 파일 시스템을 이용한 저장공간 통합 방법 및 시스템
CN104703183A (zh) 一种专线apn安全增强接入方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20191104

Address after: No. 1901, 19th floor, C10 building, 219 Tianhua 2nd Road, Chengdu high tech Zone, 610000 China (Sichuan) pilot Free Trade Zone

Applicant after: CHENGDU BOSHA TECHNOLOGY Co.,Ltd.

Address before: 610000 19, 10, 219 Tianhua two road, Chengdu high tech Zone, Sichuan

Applicant before: CHENGDU LIANYI NETWORK TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210906

Address after: No.18-10, north section of Tianfu Avenue, high tech Zone, Chengdu, Sichuan 610000

Patentee after: Shang Xiaopeng

Address before: 610000 China (Sichuan) pilot Free Trade Zone, No. 1901, floor 19, building C10, No. 219, Tianhua Second Road, Chengdu high tech Zone

Patentee before: CHENGDU BOSHA TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231122

Address after: No. 4657, tourist road, Licheng District, Jinan City, Shandong Province

Patentee after: SHANDONG URBAN CONSTRUCTION VOCATIONAL College

Address before: No.18-10, north section of Tianfu Avenue, high tech Zone, Chengdu, Sichuan 610000

Patentee before: Shang Xiaopeng

TR01 Transfer of patent right