CN110399338B - 基于区块链的分布式文件索引系统及方法、云存储服务器 - Google Patents

基于区块链的分布式文件索引系统及方法、云存储服务器 Download PDF

Info

Publication number
CN110399338B
CN110399338B CN201910296484.1A CN201910296484A CN110399338B CN 110399338 B CN110399338 B CN 110399338B CN 201910296484 A CN201910296484 A CN 201910296484A CN 110399338 B CN110399338 B CN 110399338B
Authority
CN
China
Prior art keywords
file
storage
index
block chain
node
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
CN201910296484.1A
Other languages
English (en)
Other versions
CN110399338A (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.)
Xi'an Lianrong Technology Co ltd
Xidian University
Original Assignee
Xi'an Lianrong Technology Co ltd
Xidian University
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 Xi'an Lianrong Technology Co ltd, Xidian University filed Critical Xi'an Lianrong Technology Co ltd
Priority to CN201910296484.1A priority Critical patent/CN110399338B/zh
Publication of CN110399338A publication Critical patent/CN110399338A/zh
Application granted granted Critical
Publication of CN110399338B publication Critical patent/CN110399338B/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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于文件分布式存储及分布式索引技术领域,公开了一种基于区块链的分布式文件索引系统及方法、云存储服务器,通过索引文件建立文件所有者、文件下载者、存储节点三者之间的联系,文件拥有者将文件存放到存储节点并生成对应的索引文件,文件下载者通过该索引文件找到存储节点,下载文件并通过智能合约进行链上资产的支付以及分配,存储节点通过存储及分享文件获得奖励。本发明可以省去中心化的问询服务器,并且通过智能合约保证了文件分享的公平性,大大增加了资源的利用率,同时将区块链网络和存储网络解耦,区块链网络不直接存储数据,只存储包含文件哈希值的MerkleDAG,相互协作,提高实用性。

Description

基于区块链的分布式文件索引系统及方法、云存储服务器
技术领域
本发明属于文件分布式存储及分布式索引技术领域,尤其涉及一种基于区块链的分布式文件索引系统及方法、云存储服务器。
背景技术
目前,最接近的现有技术:随着信息技术的发展,越来越多的文件被存储到网络中,目前,业内常用的文件存储方式大多是采用托管云存储的方法,传统的云存储是一种文件托管服务,由云存储服务提供商提供软硬件基础设施,使用者可以随时去云端下载自己存储的文件。云存储是服务提供商将文件存放到自己专用的存储空间中,一旦运营商将数据丢失则无法找回,数据安全问题难以保障,而网络上大量普通用户设备上额外的存储空间都没有被利用到,造成存储资源的浪费,同时,由于存储空间单一,云存储存在单点故障以及网络带宽限制等问题。
另一种技术是BT下载技术,用户使用BT下载时,可同时将存放在自己设备上的资源上传给网络中的其他节点,形成基于P2P的文件下载系统,用户只需要使用一个.torrent文件即可找到自己要下载文件的位置并下载文件,同时在资源量多的情况下具有极快的下载速度。但BT下载存在问题是需要通过一个tracker问询服务器记录文件存储的位置,用户每次下载文件之前都需要向问询服务器请求下载文件的存储位置,使得问询服务器的存在成为了BT下载中的瓶颈所在,如何在文件分布式存储的情况下进行文件的快速定位成为一个难题。同时BT下载系统存在“水蛭攻击”的问题,用户都只想下载数据而不想免费帮别人存储数据,造成了文件资源越越少的恶性循环,需要有一种激励机制解决这个问题。
综上所述,现有技术存在的问题是:传统的云存储存在数据完整性难以保障,单点故障以及资源没有有效利用的问题,分布式文件存储的方法可以解决存储中心化的问题;而BT下载则存在文件检索效率低的问题,同时没有一种有效的激励措施促使网络用户积极地将存储空间利用起来,是现今文件存储及共享系统存在的问题。
解决上述技术问题的难度:
在没有中心问询服务器的情况下,设计一种在分布式文件存储中进行高效文件索引的方法较为困难;在分布式文件共享系统中加入一种可用的激励机制较为困难。
解决上述技术问题的意义:
可以快速地在文件分布式存放的场景下进行精确地文件定位,彻底解决文件的中心化存储问题;激励机制的实现,使得网络中用户的剩余存储空间可以被有效地利用起来,用户更愿意贡献出自己未使用的存储空间到系统中,文件不会因为活性太低而丢失,增强了系统的鲁棒性,同时实现了文件共享系统的良性循环。
发明内容
针对现有技术存在的问题,本发明提供了一种基于区块链的分布式文件索引系统及方法、云存储服务器。
本发明是这样实现的,一种基于区块链的分布式文件索引方法,所述基于区块链的分布式文件索引方法包括:
步骤一,通过索引文件建立文件所有者、文件下载者、存储节点三者之间的联系;
步骤二,文件拥有者将文件存放到存储节点并生成对应的索引文件;
步骤三,文件下载者通过该索引文件找到存储节点;
步骤四,下载文件并通过智能合约进行链上资产的支付以及分配,存储节点通过存储及分享文件获得奖励。
进一步,所述索引文件包括:文件的唯一标记,文件名和文件结构,文件所有者的钱包地址,文件分块的哈希值,文件索引信息,锚节点地址,以及索引文件的扩展信息,扩展信息包括文件的支付策略、智能合约地址以及文件的其他元数据。
进一步,所述基于区块链的分布式文件索引方法的文件所有者存储文件的过程包括:
第一步,文件所有者提出文件存储申请,申请成功后上传需要存储的文件,得到文件的哈希值,然后制定该文件的支付策略并提交;
第二步,文件所有者提交自己的钱包地址,并锁定一部分资产,用于在文件首次被存储时一次性支付给存储节点;
第三步,系统根据文件所有者提交的支付策略生成相应的智能合约并为该文件分配存储节点,存储节点将文件下载到本地后提供文件已被存储的存储证明;
第四步,系统解锁钱包中被锁定的资产并支付给存储节点;
第五步,系统根据文件的哈希值以及文件的存储位置,构造一个可基于内容寻址的结构并存放到索引文件中,同时将该索引结构存放到区块链上;
第六步,生成索引文件并反馈给文件所有者,文件所有者可通过网络共享或拷贝将索引文件分享给文件需求者。
进一步,所述基于区块链的分布式文件索引方法的文件下载者下载文件的过程包括:
第一步,文件下载者通过网络或其他途径得到索引文件,查看索引文件中扩展字段中的支付策略,并将相应资产转账到扩展字段中的合约地址;
第二步,文件下载者查看索引文件中的锚节点地址,并与其建立连接,通过锚节点更新自己的路由表;
第三步,文件下载者确认索引文件中的索引结构存放在区块链上,然后通过索引文件中文件的哈希值进行内容寻址,找到文件的存储节点并与其建立连接;
第四步,文件下载者下载文件,并检验接收到文件数据的正确性;
第五步,文件下载者下载完整文件后,对比下载文件与索引文件中文件的唯一标识,确定文件是否被完整下载;
第六步,智能合约根据每个存储节点的有效上传量,将存在合约中的资产按比例分配给对应的存储节点。
本发明的另一目的在于提供一种实现所述基于区块链的分布式文件索引方法的基于区块链的分布式文件索引系统,所述基于区块链的分布式文件索引系统包括:区块链模块和存储模块;区块链模块由记账节点组成,存储模块由存储节点组成。
进一步,所述基于区块链的分布式文件索引系统进一步包括:
文件所有者,拥有文件的所有权并且需要文件存储服务;
文件下载者,需要文件的下载服务;
区块链记账节点,通过运行区块链上的共识机制进行链上资产的交易,并通过运行智能合约来保证资产分配的公平性;
存储节点,将自己设备上的剩余空间用于帮其他用户存储文件,并向需要下载该文件的人提供下载服务,存储节点会得到相应的链上资产作为奖励。
本发明的另一目的在于提供一种实现所述基于区块链的分布式文件索引方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于区块链的分布式文件索引方法。
本发明的另一目的在于提供一种实现所述基于区块链的分布式文件索引方法的云存储服务器。
综上所述,本发明的优点及积极效果为:本发明提出了利用文件哈希值进行内容寻址的方法,设计了一种分布式索引结构,并结合分布式哈希表,利用数据内容的哈希值而不是节点的IP地址进行寻址,可以在分布式文件存储系统中进行高效的文件索引和定位。
表1为本发明与另外两种传统方案之间的对比:
表1三种方案对比
Figure BDA0002026754240000051
与云托管方式对比,本发明提供的方案采用去中心化的分布式文件存储,数据的冗余度更高,因此数据安全性更高,数据丢失的风险更小,同时本发明提供的方案可以有效地将网络中未使用的存储空间利用起来,大大提高了网络中存储空间的利用率;与BT下载相比,本发明采用了基于区块链的索引方法,比采用Tracker问询服务器的索引方法效率更高,同时加入了基于智能合约的激励机制,系统的运转方式更加合理。
本发明打破了云托管在文件存储领域的垄断地位,提供了一种新型分布式存储基础设施服务,并利用区块链技术来存储价值和交换媒介,解决了人们长期以来一直无法解决的分布式存储难题,并可能为未来的价值生态互联提供支持。
区块链技术在业内普遍与数字货币市场挂钩,人们往往关注其金融属性而容易忽略其技术特点,本发明采用区块链技术,利用其去中心化和不可篡改的特点保证分布式存储中文件的完整性和安全性;利用区块链中的代币来实现对存储节点的激励,并通过智能合约保证激励代币合理公平地进行自动分配,充分利用了区块链的特点来解决传统方案中存在的技术难题。
本发明提出了不同于传统云存储的数据存储方式,将数据存储在全网的各个节点中,实现了个人存储空间的有效利用。
本发明利用区块链和智能合约实现了一种数据共享的激励体制,存储并且分享文件的节点可以得到相应的奖励,智能合约保证了奖励的公平分配。
本发明使用了Merkle DAG结构防止文件信息被篡改以及进行文件最新存储位置的查询,Merkle DAG以及文件的唯一标记存放在区块链上,并通过DHT分布式哈希表进行节点间路由信息的存放,可以省去中心化的问询服务器,并且通过智能合约保证了文件分享的公平性,促使网络中具有多余存储能力的节点积极参与到系统中,大大增加了资源的利用率,同时将区块链网络和存储网络解耦,区块链网络不直接存储数据,只存储包含文件哈希值的MerkleDAG,两个模块相互协作,提高实用性。
附图说明
图1是本发明实施例提供的基于区块链的分布式文件索引方法流程图。
图2是本发明实施例提供的文件所有者进行文件存储的流程图。
图3是本发明实施例提供的文件下载者下载文件的流程图。
图4是本发明实施例提供的索引文件的结构图。
图5是本发明实施例提供的Merkle DAG的结构图。
图6是本发明实施例提供的系统中节点分布的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对传统文件存储及下载系统中存在的问题,本发明提供了基于区块链的文件索引方法,包括一种索引文件的设计,分布式存储中文件索引的方法,以及基于此索引文件进行的文件上传和下载的过程。索引文件主要包括的内容有:文件的唯一标记,文件名和文件结构,文件所有者的钱包地址,文件分块的哈希值,文件索引信息,锚节点地址,以及索引文件的扩展信息,扩展信息包括文件的支付策略、智能合约地址以及文件的其他元数据等。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于区块链的分布式文件索引方法包括以下步骤:
S101:通过索引文件建立文件所有者、文件下载者、存储节点三者之间的联系;
S102:文件拥有者将文件存放到存储节点并生成对应的索引文件;
S103:文件下载者通过该索引文件找到存储节点;
S104:下载文件并通过智能合约进行链上资产的支付以及分配,存储节点通过存储及分享文件获得奖励。
下面结合附图对本发明的应用原理作进一步的描述。
本发明的实施例描述了一个具体的文件存储及共享过程,该过程的参与者主要包括以下四方:用户A、用户B,用户C,用户D。用户A是文件所有者,具有文件file的所有权,需求是将文件存储到分布式网络中,用户B是文件需求者,需求是下载用户A提供的文件,用户C和用户D是两个存储节点,为用户A提供存储服务,同时对用户B提供文件下载服务。在本实施例中采用的区块链平台为以太坊,进行交易的代币为以太币。
如图2过程所示,用户A存储文件的流程包括以下几个步骤:
S201:用户A向系统提出文件存储请求,然后将文件file上传,系统把文件file分成大小相等的数据块,得到文件数据分块后的哈希值,同时制定文件下载的支付策略,每下载一次文件下载者需要支付3个以太币,其中2个支付给用户A,1个以太币支付给存储节点。
S202:用户A提交自己的以太坊钱包地址,并将钱包中的1个以太币锁定,被锁定的这部分以太币币用于一次性支付存储节点的首次存储费用。
S203:系统根据用户A提供的支付策略,生成相应的以太坊智能合约,并向C、D节点发出存储命令,C、D节点下载文件file并且向系统提交存储证明。
S204:得到了C和D的存储证明后,系统解锁用户A钱包上的以太币并分别转账0.5ETH到C、D的钱包中。
S205:系统根据C和D提供的存储证明,结合文件数据分块的哈希值,构建一个该文件数据块哈希值的Merkle DAG,具体结构如图5所示。
S206:系统生成file文件的索引文件,索引文件的结构如下:
Figure BDA0002026754240000081
在S201中,文件所有者可以对文件进行对称加密(如AES等),然后在下载方完成支付后将解密秘钥用下载方的公钥进行加密之后传给下载方,下载方接收到之后用自己的私钥进行解密得到文件的解密秘钥,文件数据块采用的哈希散列方式为SHA-256,文件数据分块的大小默认为32MB每块,文件在上传及下载时采用SSL/TLS方式传输,保证传输安全,文件数据分块哈希值的校验工作由用户A自行确认,用户A只需比较系统提供的文件根哈希值与自己本地文件的根哈希值是否相同即可,因为任何一个数据块的改动都会影响整个文件根哈希值的变化。
在S202中,一次性支付给存储节点C和D的首次存储费用由系统制定,如果节点C和D没有正确提供存储证明,系统会解锁A钱包中的部分代币,并告知用户A此次存储失败。
在S203中,底层网络结构采用的是P2P网络,没有中心服务器,节点全部为对等节点,可以相互之间进行数据的互通。与BT下载不同的是,本系统中没有Tracker服务器,不需要向Tracker服务器询问目标节点的IP地址,而是在每个节点上存放一个DHT分布式哈希表,每个节点只存放部分路由信息,路由信息以kad方式得到,这样新节点在加入系统中时,只需要连接已经存在于系统中的某个节点即可,每个节点需要开启自己的IP端口和UDP端口。
在S205中,在数据块被存储到存储节点之后,构造键值对<hash,hostname>,其中hash是数据块的哈希,hostname是存储该数据块节点的主机名,该键值对是多对多的,一个数据块可以由多个节点存储,一个节点也可以存储多个数据块,然后将存储文件的所有哈希值以键值对的形式构造出一个Merkle DAG,是一种用数据块组成的有向无环图,每一个叶子节点中存放有一个哈希键值对,这种结构融合了Merkle tree和DAG的优点,只有叶子节点是文件数据块的哈希,非叶子节点是对其子节点的哈希值进行的哈希,通过层层哈希保证文件数据块的内容不会被篡改,而有向无环图的结构比树的结构更加灵活,每当文件进行存储位置的更新时,不用进行树的平衡操作,直接构建新的叶子节点加入有向无环图中即可,而且可以将重复的数据块在图中直接删掉,这种结构使得本系统可以根据文件内容对数据块进行寻址,只需要得到文件数据块的哈希值即可根据哈希键值对找到对应的主机。
如果存储节点C和D有人长期未提供服务,则系统会寻找一个新的存储节点,同时更新Merkle DAG和索引文件,用户A无需为更新操作额外付出费用。
在S206中,在Merkle DAG构建好了之后,可以得到Merkle根,此根可以作为该文件的唯一标记,以此根为标记构建文件的索引文件,最终将索引文件存入区块链中,下载者可以在链上查找索引文件的最新信息。
在支付策略的制定上,支付给文件所有者的资产由文件所有者自行制定,支付给存储节点的奖励可以采用系统默认的标准,也可以自己制定,但不能低于系统标准。
在索引文件的扩展信息中可以添加其他关于存储文件的相关信息,如文件内容介绍,文件所属分类,警示信息等。
接口信息:文件所有者客户端包括上传请求发起接口(Upload_Request),文件上传接口(File_Upload),支付策略提交接口(Paystrategy_Submit),文件存储状态查询接口(File_Query)。
用户B作为文件下载者,其本身可能并不是已经存在于系统中的节点,而在本系统中,用户B只需要通过网络传输或者硬件拷贝等方式得到该文件的索引文件,即可进行文件的下载。
如图3所示,用户B下载文件的流程包括如下几个步骤:
S301:用户B得到需要下载的文件的索引文件,查看索引文件扩展字段中的支付策略,如果同意该支付策略,则将相应代币转账给扩展字段中的合约地址。
S302:连接anchor节点,并且更新自己的DHT路由表。
S303:通过索引文件中的Merkle DAG进行内容寻址,找到文件存储节点C和D并与其建立连接。
S304:通过存储节点C和D传输数据块,并对数据块的哈希值进行校验,同时系统记录了C和D分别为节点B提供的数据量。
S305:整个文件传输完成之后,用户B对整个文件的哈希值进行校验,与索引文件中的Merkle根进行对比,二者相同,则文件被完整地下载。
S306:下载完成后,存储节点C和D根据自己的分享量从智能合约处得到相应的代币。
在S302中,anchor节点的个数可以有多个,防止因为出现节点宕机而导致新节点无法加入到分布式系统中的情况,用户B更新自己的DHT路由表的方法为向anchor节点发起一次针对自己地址的查找请求,从而通过anchor节点获得与自己临近的节点信息,本实施例中将存储节点C和D作为anchor节点。
在步骤S304中,若用户C和D分别为用户A传输了相同的数据块,则以先到的数据块为准,后到的相同数据块系统不再记录。
在步骤305中,如果下载文件的哈希值与索引文件中的Merkle根不一致,则用户B通过深度搜索Merkle DAG,层层向下找到导致问题出现的数据块,然后向传输该数据块的节点发出重发请求。
接口信息:文件下载者客户端包括获取索引文件接口(Indexfile_get),支付接口(Pay_Token),文件下载请求发起接口(File_Download)。
本发明实施例提供的基于区块链的分布式文件索引系统主要包括两个模块,分为区块链模块和存储模块,将系统中的所有节点分为四类节点,第一类是文件所有者,拥有文件的所有权并且需要文件存储服务;第二类是文件下载者,需要文件的下载服务;第三类是区块链记账节点,通过运行区块链上的共识机制进行链上资产的交易,并通过运行智能合约来保证资产分配的公平性;第四类是存储节点,将自己设备上的剩余空间用于帮其他用户存储文件,并向需要下载该文件的人提供下载服务,存储节点会得到相应的链上资产作为奖励。区块链系统主要由记账节点组成,存储系统主要由存储节点组成,两个系统不是独立的,记账节点可以是存储节点,存储节点也可以是记账节点,系统中节点分布的结构图如图6所示。
特别的,在一种极端情况下,文件所有者不需要外界存储服务而想对外提供文件共享服务时,可以在自己本地存储文件,然后根据自己的支付策略撰写合约,根据文件的哈希值在本地生成索引文件并提供给文件需求者,下载者可以通过该索引文件下载相应的文件。
资产的支付以及分配是通过智能合约执行的,文件所有者在上传文件并且制定完支付策略后,系统会根据支付策略,自动生成相应的智能合约,文件下载者在下载文件时,只需要将资产转入合约地址,智能合约会自动将资产按照支付策略进行分配。合约地址存放在索引文件的扩展字段中。因为智能合约是靠系统中的所有节点共同进行共识来执行的,所以,只要保证大部分节点是诚实的,区块链中存放的交易就不可篡改。同时,区块链系统只负责链上资产的交易,与文件的存储无关,也保证了文件的独立安全性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合实现。硬件部分可以利用专用逻辑实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于区块链的分布式文件索引方法,其特征在于,所述基于区块链的分布式文件索引方法包括:
步骤一,通过索引文件建立文件所有者、文件下载者、存储节点三者之间的联系;
步骤二,文件拥有者将文件存放到存储节点并生成对应的索引文件;
步骤三,文件下载者通过该索引文件找到存储节点;
步骤四,下载文件并通过智能合约进行链上资产的支付以及分配,存储节点通过存储及分享文件获得奖励;
所述索引文件包括:文件的唯一标记,文件名和文件结构,文件所有者的钱包地址,文件分块的哈希值,文件索引信息,锚节点地址,以及索引文件的扩展信息,扩展信息包括文件的支付策略、智能合约地址以及文件的其他元数据;
所述基于区块链的分布式文件索引方法的文件所有者存储文件的过程包括:
第一步,文件所有者提出文件存储申请,申请成功后上传需要存储的文件,得到文件的哈希值,然后制定该文件的支付策略并提交;
第二步,文件所有者提交自己的钱包地址,并锁定一部分资产,用于在文件首次被存储时一次性支付给存储节点;
第三步,系统根据文件所有者提交的支付策略生成相应的智能合约并为该文件分配存储节点,存储节点将文件下载到本地后提供文件已被存储的存储证明;
第四步,系统解锁钱包中被锁定的资产并支付给存储节点;
第五步,系统根据文件的哈希值以及文件的存储位置,构造一个可基于内容寻址的结构并存放到索引文件中,同时将该索引结构存放到区块链上;
第六步,生成索引文件并反馈给文件所有者,文件所有者可通过网络共享或拷贝将索引文件分享给文件需求者。
2.如权利要求1所述的基于区块链的分布式文件索引方法,其特征在于,所述基于区块链的分布式文件索引方法的文件下载者下载文件的过程包括:
第一步,文件下载者通过网络或其他途径得到索引文件,查看索引文件中扩展字段中的支付策略,并将相应资产转账到扩展字段中的合约地址;
第二步,文件下载者查看索引文件中的锚节点地址,并与其建立连接,通过锚节点更新自己的路由表;
第三步,文件下载者确认索引文件中的索引结构存放在区块链上,然后通过索引文件中文件的哈希值进行内容寻址,找到文件的存储节点并与其建立连接;
第四步,文件下载者下载文件,并检验接收到文件数据的正确性;
第五步,文件下载者下载完整文件后,对比下载文件与索引文件中文件的唯一标识,确定文件是否被完整下载;
第六步,智能合约根据每个存储节点的有效上传量,将存在合约中的资产按比例分配给对应的存储节点。
3.一种实现权利要求1所述基于区块链的分布式文件索引方法的基于区块链的分布式文件索引系统,其特征在于,所述基于区块链的分布式文件索引系统包括:区块链模块和存储模块;区块链模块由记账节点组成,存储模块由存储节点组成。
4.如权利要求3所述的基于区块链的分布式文件索引系统,其特征在于,所述基于区块链的分布式文件索引系统进一步包括:
文件所有者,拥有文件的所有权并且需要文件存储服务;
文件下载者,需要文件的下载服务;
区块链记账节点,通过运行区块链上的共识机制进行链上资产的交易,并通过运行智能合约来保证资产分配的公平性;
存储节点,将自己设备上的剩余空间用于帮其他用户存储文件,并向需要下载该文件的人提供下载服务,存储节点会得到相应的链上资产作为奖励。
5.一种实现权利要求1~2任意一项所述基于区块链的分布式文件索引方法的信息数据处理终端。
6.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-2任意一项所述的基于区块链的分布式文件索引方法。
7.一种实现权利要求1~2任意一项所述基于区块链的分布式文件索引方法的云存储服务器。
CN201910296484.1A 2019-04-13 2019-04-13 基于区块链的分布式文件索引系统及方法、云存储服务器 Active CN110399338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910296484.1A CN110399338B (zh) 2019-04-13 2019-04-13 基于区块链的分布式文件索引系统及方法、云存储服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910296484.1A CN110399338B (zh) 2019-04-13 2019-04-13 基于区块链的分布式文件索引系统及方法、云存储服务器

Publications (2)

Publication Number Publication Date
CN110399338A CN110399338A (zh) 2019-11-01
CN110399338B true CN110399338B (zh) 2022-03-08

Family

ID=68319865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910296484.1A Active CN110399338B (zh) 2019-04-13 2019-04-13 基于区块链的分布式文件索引系统及方法、云存储服务器

Country Status (1)

Country Link
CN (1) CN110399338B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090626B (zh) * 2019-11-05 2023-05-23 西安链融科技有限公司 基于区块链分布式文件交易系统的文件存储处理方法
CN111092909A (zh) * 2019-12-30 2020-05-01 深圳市优权天成科技有限公司 一种去中心化的远程操控下载算法和设备
CN111309699A (zh) * 2020-01-15 2020-06-19 张文龙 一种基于点对点分布式文件系统的内容共享方法及系统
WO2021174499A1 (zh) * 2020-03-05 2021-09-10 合肥达朴汇联科技有限公司 一种基于区块链的数据验证方法、装置及系统
CN111414426A (zh) * 2020-03-26 2020-07-14 北京云图科瑞科技有限公司 一种基于区块链的数据处理方法及系统
CN111523148B (zh) * 2020-04-16 2023-10-27 丝链(常州)控股有限公司 基于区块链的数据存储方法
CN111586109B (zh) * 2020-04-17 2023-04-28 上海坤仪金科信息技术有限公司 一种区块链云存储用户数据去重解决方法
CN111949630B (zh) * 2020-08-10 2022-11-01 大连理工大学 基于文件审查机制的分布式区块链存储方法
CN112261082B (zh) * 2020-09-21 2021-11-19 中国科学院计算技术研究所 基于区块链和安全多方计算的被动dns数据共享方法及系统
CN112788122A (zh) * 2020-12-30 2021-05-11 普华云创科技(北京)有限公司 基于区块链的分布式可信云节点的选择和校验方法及系统
CN112667746A (zh) * 2020-12-30 2021-04-16 浙江甲骨文超级码科技股份有限公司 基于区块链的数据存储方法、设备、电子装置和存储设备
CN112749144B (zh) * 2021-01-15 2023-06-30 云南云电同方科技有限公司 一种基于区块链的持久化文件存储系统及方法
CN113094334B (zh) * 2021-03-22 2022-08-16 四块科技(天津)有限公司 基于分布式存储的数字服务方法、装置、设备及储存介质
CN113114761B (zh) * 2021-04-12 2022-09-20 中共陕西省委党校 基于分布式服务的数据共享交换激励系统及方法
CN113239255B (zh) * 2021-05-13 2022-08-05 杭州趣链科技有限公司 异构数据资源的共享方法、装置、计算机设备及介质
CN114579582B (zh) * 2022-04-29 2022-08-23 武汉北大高科软件股份有限公司 一种基于区块链的资源处理方法和装置
CN115529319A (zh) * 2022-08-04 2022-12-27 熵链科技(厦门)有限公司 基于ipfs网络的存储服务调控方法、系统、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
US10095888B1 (en) * 2018-06-04 2018-10-09 Capital One Services, Llc Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system
CN108647230A (zh) * 2018-03-29 2018-10-12 深圳市网心科技有限公司 分布式存储方法、电子装置及存储介质
CN108667836A (zh) * 2018-05-08 2018-10-16 众安信息技术服务有限公司 区块链共识方法
CN109325746A (zh) * 2018-08-29 2019-02-12 华中科技大学 一种基于存储的区块链激励方法、区块链网络及存储网络
CN109510713A (zh) * 2018-12-29 2019-03-22 杭州趣链科技有限公司 一种基于区块链的流量共享激励方法
CN109522270A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 基于区块链的文件存读方法、电子装置及可读存储介质
CN109587253A (zh) * 2018-12-11 2019-04-05 浙江大学 一种基于区块链对文件实现分布式存储的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
CN108647230A (zh) * 2018-03-29 2018-10-12 深圳市网心科技有限公司 分布式存储方法、电子装置及存储介质
CN108667836A (zh) * 2018-05-08 2018-10-16 众安信息技术服务有限公司 区块链共识方法
US10095888B1 (en) * 2018-06-04 2018-10-09 Capital One Services, Llc Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system
CN109325746A (zh) * 2018-08-29 2019-02-12 华中科技大学 一种基于存储的区块链激励方法、区块链网络及存储网络
CN109522270A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 基于区块链的文件存读方法、电子装置及可读存储介质
CN109587253A (zh) * 2018-12-11 2019-04-05 浙江大学 一种基于区块链对文件实现分布式存储的方法
CN109510713A (zh) * 2018-12-29 2019-03-22 杭州趣链科技有限公司 一种基于区块链的流量共享激励方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链技术综述;沈鑫;裴庆祺;刘雪峰;《网络与信息安全学报》;20161115;第2卷(第11期);全文 *

Also Published As

Publication number Publication date
CN110399338A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN110399338B (zh) 基于区块链的分布式文件索引系统及方法、云存储服务器
CN109471744B (zh) 基于区块链的主链加并行多子链系统架构
US11669811B2 (en) Blockchain-based digital token utilization
EP3659086B1 (en) Computer-implemented system and method for managing a large distributed memory pool in a blockchain network
TWI724391B (zh) 基於區塊鏈的節點管理方法和裝置
CN109246211B (zh) 一种区块链中的资源上传和资源请求方法
US9967334B2 (en) Computing device configuration and management using a secure decentralized transaction ledger
CN110460590B (zh) 区块链系统的数据管理方法、装置、介质及电子设备
US20200137064A1 (en) Decentralized identity management system
CN110741372A (zh) 用于管理区块链网络上的交易的计算机实现的系统和方法
WO2022121538A1 (zh) 基于区块链的数据同步方法、系统及相关设备
CN110771127B (zh) 用于区块链网络中一致分布式内存池的方法和系统
TW201946016A (zh) 區塊鏈網路劃分技術(三)
CN111144881A (zh) 对资产转移数据的选择性访问
US11968294B2 (en) Data management method and apparatus for blockchain system, medium, and electronic device
US20230299984A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
CN110770770A (zh) 挖掘由验证者节点提供的区块链交易的方法和系统
CN110471982B (zh) 基于区块链的数据处理方法和装置
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
Matsuoka et al. Blockchain and DHT Based Lookup System Aiming for Alternative DNS
CN113806817B (zh) 构建孪生nft的方法、全量可信存储的nft协议和系统
CN112231415B (zh) 区块链网络的数据同步方法、系统、电子设备及可读介质
CN116126480A (zh) 事务的跨区块链处理方法、装置及智能设备、介质、产品
KR20200115786A (ko) 블록체인 기반의 데이터 관리 서비스 제공 방법 및 시스템
KR20200115787A (ko) 블록체인 기반의 대용량 데이터 저장 방법 및 시스템

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant after: XIDIAN University

Applicant after: Xi'an Lianrong Technology Co., Ltd

Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant before: XIDIAN University

Applicant before: Xi'an Xidian Lianrong Technology Co., Ltd

GR01 Patent grant
GR01 Patent grant