当前位置: 首页 > 专利查询>山东大学专利>正文

多版本文件的去中心化存储系统技术方案

技术编号:39422183 阅读:15 留言:0更新日期:2023-11-19 16:10
本申请属于网络存储技术领域,具体涉及一种多版本文件的去中心化存储系统

【技术实现步骤摘要】
多版本文件的去中心化存储系统、方法、设备及存储介质


[0001]本申请属于网络存储
,具体涉及一种多版本文件的去中心化存储系统

方法

设备及存储介质


技术介绍

[0002]去中心化存储网络
(Decentralized Storage Network,DSN)
是新兴技术,可以聚合独立存储提供者提供的免费存储空间,并自协调提供数据存储和检索服务

与传统存储网络相比,
DSN
在区块链系统上运行,作为激励层工作

区块链奖励为客户提供可靠存储的验证节点,从而建立了一个开放的可管理存储市场

此外,区块链可以作为状态机复制协议,确保文件存储在拜占庭节点之间的一致性

[0003]在
DSN
中支持多版本文件的存储是必要的,因为文件通常是动态更改或编辑的,且用户需要不时地查询不同版本的文件

由于当前
DSN
上的文件是不可编辑的,所以用户必须上传文件的所有版本,而这也导致了内容的高度冗余

即使有些
DSN
已经在支持目录级重复内容的删除方面做出了努力,但也无法避免更细粒度即文件级别的冗余

例如,
Filecoin
利用
Merkle DAG
实现目录级去重,其中包括文件

文件块和目录在内的对象根据它们的嵌套关系组织成
Merkle DAG
的结构,以消除不同目录之间的重复对象,但不同文件版本之间的冗余仍然是不可避免的

缺少文件级去重会导致存储空间和带宽的浪费

然而,实现文件级去重具有挑战性

由于在文件上应用了加密和混淆,因此在
DSN
中不同版本文件之间的相关性是隐含的,使得找到重复内容并建立多个版本文件之间的关系非常困难

另外,传统的版本控制系统通常采用基于有向无环图
(Directed Acyclic Graph

DAG)
版本图来描述多个版本之间的派生关系并帮助建立文件索引

但是,这样的图应该由一个集中的服务器维护,例如
GitHub。
在当前的
DSN
中,中心化服务器是不可用的,而区块链数据库仅仅是把文件信息以序列化交易的方式保存,而未考虑文件版本间的派生关系

因此,每个用户不得不本地维护一个单独的数据库来保存额外的元数据
(
例如版本图
)
,以便于进行文件操作,如创建

修改

合并和分叉等,这种缺陷阻碍了区块链为许多数据密集型应用提供服务,因为它占用了大量的存储空间,而在许多情况下又无法直接回答文件查询

[0004]总而言之,当前的
DSN
只实现了目录级去重,不同版本文件的重复内容仍然被冗余存储,缺少文件级去重导致存储和带宽的浪费;缺乏对文件版本之间完整派生关系的描述,使这些系统无法提供有效的文件索引


技术实现思路

[0005]本专利技术的目的在于提出一种可以实现文件级去重和高效文件索引的去中心化存储网络系统

在存储多版本文件时,利用增量机制来实现文件级去重,即利用增量生成算法实现一个编辑脚本,该脚本通过计算增量能够将文件从其先前版本转换为当前版本;存储增量能够实现细粒度的文件级去重,并节省存储空间

此外,采用双层
DAG
区块链账本,能够根据派生关系组织交易

在这个账本的帮助下,人们可以在不建立额外数据库的情况下记
录文件之间的派生关系

此外,与链式账本相比,基于
DAG
的账本可以提供更高的并发性,能够同时处理查询

[0006]其技术方案为:
[0007]一种多版本文件的去中心化存储系统,包括客户端

验证节点和区块链;
[0008]客户端负责发送文件存储

检索或下载请求,并通过向验证节点支付代币来获得文件存储和文件获取的服务;
[0009]验证节点通过向客户端提供文件存储或文件获取的服务来赚取代币;
[0010]区块链是双层
DAG
结构,其中一层支持文件创建

更新

合并

分叉操作,另一层保证账本的一致性,两层共享同一组区块

[0011]优选的,客户端将新文件版本与前一版文件版本进行比较来计算文件增量,并将文本增量发送至验证节点进行存储

[0012]优选的,所述验证节点包括存储验证节点和检索验证节点;存储验证节点根据不同需求选择性进行以下处理:
[0013]存储验证节点在文件存储过程中,负责处理客户端发送的文件存储的请求,将接收到的初始文件
v0或文件增量进行存储,或在存储空间进行文件版本分支合并或文件版本分叉操作,并定时生成存储证明存储到区块链上;或,
[0014]存储验证节点在文件获取过程中,负责处理客户端发送的下载请求,将其存储空间存储的初始文件或文件增量发送给客户端;
[0015]检索验证节点负责在文件获取过程中,根据客户端发送的检索请求,以广度优先搜索的方式在区块链中获取恢复文件所需的初始文件及文件增量的标识符列表,并发送给客户端

[0016]优选的,客户端在文件存储

更新

获取过程中分别发送不同的请求,并在请求被处理后生成对应交易发送到区块链;客户端在文件存储过程中根据不同需求发送文件存储请求:
[0017]当有存储初始文件的需求时,发送文件创建请求,并将初始文件上传给存储验证节点;或
[0018]当有文件更新的需求时,发送文件更新请求,将新文件版本与前一版的文件版本进行比较来计算文件增量,并将文件增量上传给存储验证节点;
[0019]或
[0020]当有文件版本分支合并或文件版本分叉需求时,发送文件版本合并或文件版本分叉请求,无需附加其他内容;或
[0021]客户端在文件获取过程中负责向检索验证节点

存储验证节点分别发送所需文件版本的检索请求和下载请求,从检索验证节点获得恢复文件所需的初始文件及文件增量的标识符列表后,根据列表从存储验证节点处下载初始文件和文件增量,并负责根据下载的初始文件和文件增量恢复该文件版本

[0022]优选的,区块链可以表示为
G

(V,E
l
,E
u
)
,其中
E<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种多版本文件的去中心化存储系统,其特征在于,包括客户端

验证节点和区块链;客户端负责发送文件存储

检索或下载请求,并通过向验证节点支付代币来获得文件存储和文件获取的服务;验证节点通过向客户端提供文件存储或文件获取的服务来赚取代币;区块链是双层
DAG
结构,其中一层支持文件创建

更新

合并

分叉操作,另一层保证账本的一致性,两层共享同一组区块
。2.
根据权利要求1所述的多版本文件的去中心化存储系统,其特征在于,客户端将新文件版本与前一版文件版本进行比较来计算文件增量,并将文本增量发送至验证节点进行存储
。3.
根据权利要求2所述的多版本文件的去中心化存储系统,其特征在于,所述验证节点包括存储验证节点和检索验证节点;存储验证节点根据不同需求选择性进行以下处理:存储验证节点在文件存储过程中,负责处理客户端发送的文件存储的请求,将接收到的初始文件
v0或文件增量进行存储,或在存储空间进行文件版本分支合并或文件版本分叉操作,并定时生成存储证明存储到区块链上;或,存储验证节点在文件获取过程中,负责处理客户端发送的下载请求,将其存储空间存储的初始文件或文件增量发送给客户端;检索验证节点负责在文件获取过程中,根据客户端发送的检索请求,以广度优先搜索的方式在区块链中获取恢复文件所需的初始文件及文件增量的标识符列表,并发送给客户端
。4.
根据权利要求2所述的多版本文件的去中心化存储系统,其特征在于,客户端在文件存储

更新

获取过程中分别发送不同的请求,并在请求被处理后生成对应交易发送到区块链;客户端在文件存储过程中根据不同需求发送文件存储请求:当有存储初始文件的需求时,发送文件创建请求,并将初始文件上传给存储验证节点;或当有文件更新的需求时,发送文件更新请求,将新文件版本与前一版的文件版本进行比较来计算文件增量,并将文件增量上传给存储验证节点;或当有文件版本分支合并或文件版本分叉需求时,发送文件版本合并或文件版本分叉请求,无需附加其他内容;或客户端在文件获取过程中负责向检索验证节点

存储验证节点分别发送所需文件版本的检索请求和下载请求,从检索验证节点获得恢复文件所需的初始文件及文件增量的标识符列表后,根据列表从存储验证节点处下载初始文件和文件增量,并负责根据下载的初始文件和文件增量恢复该文件版本
。5.
根据权利要求1所述的多版本文件的去中心化存储系统,其特征在于,区块链可以表示为
G

(V,E
l
,E
u
)
,其中
E
l

E
u
分别是区块链下层和上层的边集合,
V
是上下两层共享的顶点集合;每个顶点代表一个交易,交易类型为创建交易

更新交易

合并交易或分叉交易,不同顶点对应于特定的文件版本,包含初始文件或文件增量的标识符
CID。6.
根据权利要求5所述的多版本文件的去中心化存储系统,其特征在于,区块链下层边

E
l
中的每条边表示所连接的两个顶点分别对应的文件版本之间的更新

合并或分叉的派生关系;区块链上层边集
E
u
是通过修改
DAG

Rider
共识算法来构建的,每个验证节点每轮广播一笔交易,即创建一个顶点,每个顶点引用前一轮中至少
2f+1
个顶点,其中
f
是可以容忍的最大拜占庭节点数
。7.
根据权利要求5所述的多版本文件的去中心化存储系统,其特征在于,区块链的构造过程为:在任何一轮中,通过共识后的交易首先根据文件版本的派生关系指向其所依赖的已确认的交易,此时构造的边包括在区块链下层边集
E
l
中;然后将传入的交易按照共识算法指向上一轮中其他已确认的交易,此时构造的边包括在区块链上层边集
E
u

。8.
一种多版本文件的去中心化存储方法,其特征在于,包括以下四个步骤:创建

更新

检索

下载和恢复;创建:客户端将初始文件存储到存储验证节点处并发送文件创建交易到区块链;更新:客户端计算新文件版本相较于前一版文件版本的文件增量,存储到存储验证节点处,并发送文件更新交易到区块链;检索:检索验证节点在区块链中检索并获取恢复文件所需的文件标识符列表;下载和恢复:客户端根据文件标识符列表到对应的存储验证节点处下载相应的文件片段并恢复文件
。9.
根据权利要求8所述的多版本文件的去中心化存储方法,其特征在于,创建步骤如下:
S11.
客户端计算初始文件
v0的唯一标识符
CID
v0
,即将初始文件
v0切块并哈希,再将块的哈希拼接后进行哈希计算得到标识符
CID
v0

S12.
客户端从系统中选定一个...

【专利技术属性】
技术研发人员:童剑郭河川徐明辉张家豪吴义谱李逸骏谢群李宜芳成秀珍于东晓
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1