基于区块链的文件存储碎片分配优化模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于区块链的文件存储碎片分配优化模型作者:梁婉莹朱佳马晓东汤庸梁熙龙陈善轩
来源:《软件导刊》2020年第01期
摘要:为了改善原有碎片分配方案仅以节点响应效率为主而对节点分配次数、节点空间利用率、安全性能欠缺考虑的现状,提出分布式文件存儲系统的碎片分配优化模型。

优化模型由节点响应状况检测、大范围节点数据完整性审计和包含剩余存储空间大小、最近存储碎片时间戳以及响应时间长短的综合评估3方面构成。

对其进行仿真实验,对比原有方案,优化方案没有出现节点倾斜现象,选取次数最大落差不超过95;节点效率得到了均衡,最大落差缩减至15%。

优化方案提高了碎片分配的公平性、安全性和可靠性,实现了最优节点的自动化选择。

关键词:区块链;文件存储;碎片分配;数据完整性审计;声誉评估
DOI: 10. 11907/rjdk.192543
开放科学(资源服务)标识码(OSID):
中图分类号:TP399
文献标识码:A
文章编号:1672-7800(2020)001-0216-05
0 引言
随着现代计算机科学的发展,人们每天使用各种应用所产生的数据不断增加。

互联网数据中心( Internet D ataC enter,IDC)报告指出,2020年全球数据总量将达到440亿TB,并以极快的速度持续增长[1]。

在此背景下,数据存储成本逐步提升,数据安全性也得不到有效保障。

为了更好地应对海量数据及文件存储问题,人们提出了分布式存储概念[2]。

分布式存储系统可将数据分散存储在多台独立的设备上。

它基于标准硬件和分布式架构,可进行EB级扩展,利用多台服务器减轻单独存储负荷。

如今,区块链作为一种分布式数据结构,在文件存储领域发展最为成熟[3]。

在学术尝试中,AFS( Andrew File System)[4]较为成功且仍在使用;在商业尝试中,部分分布式存储系统依靠区块链作为底层技术,搭建P2P[5]节点网络,将已上传的文件加密并根据文件分片规则切分成碎片,依靠bit-Torrent比特流文件分发协议[6]、Kademlia分布式哈希表DHT( Disturbed Hash Table)[7]等规则,将碎片协调和分配到其它对等点上,以应对超大数量的文件存储需求。

原有的分布式文件存储系统以响应效率为主,可能导致不同碎片均存储或大部分存储在同一个节点内,信息极易被窃取,且用户享用的存储效率不一致;对空间分配问题考虑欠缺,利用率未达最优化;存储节点的信用度模糊,降低了安全性能。

为解决原有碎片分配模型问题,本文在已有分布式文件存储系统基础上提出优化模型。

模型包含响应状况检测、节点数据审计和综合评估3方面,对存储节点进行综合测评,自动化选择最适合的节点对碎片进行存储。

本文贡献如下:①在节点综合评估之前添加数据完整性审计,确保存储范围内节点的高信用度,优化模型在保证节点响应效率的同时,降低了数据被篡改的几率;②在综合评估中添加节点剩余存储空间大小标准,以最坏分配算法提升了存储空间利用率,降低了碎片空间出现几率;③在综合评估中添加最近存储碎片时间戳,降低了碎片分配过分倾斜的可能性,使节点获得存储资格几率相对均等。

1 区块链综述
区块链最早于2008年在比特币创始人中本聪( Sa-toshi Nakamoto)[8]著作《比特币:一种点对点式的电子现金系统》一文中以加密货币底层技术的身份面世。

它实际上是一个由多方共同维护、去中心化的分布式数据库,通过P2P网络协议、非对称加密[9]、共识机制等解决了交易双方往来的信任问题。

区块链以链式数据结构为基础,区块为单位,根据时间顺序将携带信息的新区块插入到链的末尾。

每个区块包含哈希值、时间戳、随机数、Merkle根等。

区块链系统有6层结构,分别是数据层、网络层、共识层、激励层、合约层和应用层。

数据层封装相关数据加密技术(如SHA-1[10]、RSA[11])以及底层数据区块;网络层包含分布式组网机制、数据传播机制等;共识层主要包含各种共识算法[12];激励层将经济学知识融合到体系之中,包括发行和分配机制;合约层包含各类脚本或智能合约;应用层是面对实际的各种案例和应用场景[13]。

区块链有3种模型,包括公有链、私有链以及联盟链。

公有链是指无用户授权机制、全网公开的区块链,任意节点均可查看完整的区块数据;私有链是指集中于一家机构的网络节点;联盟链是指允许经过授权的节点加入网络,可根据权限查看信息,常用于公司或机构的区块链。

公有链称为非许可链,联盟链和私有链统称为许可链[14]。

2 预备知识
2.1 分布式哈希表技术
分布式哈希表技术(Distributed Hash Table,简称DHT)是一种分布式存储方法。

它将键( kev)分散在不同节点上,并纪录相应的查找方法。

DHT不需要服务器,每个节点只需与其它部分节点相连,存储一部分数据和路由信息,从而实现系统的寻址和存储功能。

它被广泛应用于协调和维护元数据。

分布式哈希表技术有Kademlia、Coral、S/Kademlia[15]等。

3.2 文件分片
文件分片是指将现有大文件分成一定大小的碎片,分别存放于P2P网络的不同节点中,以达到更高效更安全的存储效果[16]。

当节点失效时,系统将利用数据冗余,即复制信息到多个节点的方法以提高数据访问效率,增强容错性[17]。

3.3 数据完整性审计
为了保证碎片不被篡改,在节点对碎片进行存储的过程中,系统会对节点上的碎片进行数据完整性审计。

数据完整性审计是指对已存储的信息进行核对和验证,包括碎片内容、签名信息等。

现有的数据完整性审计模型分别是基于Jules等[18]提出的数据可恢复性证明(Proofs Of Re-trievability,POR)模型和Atenises等[19]提出的数据持有性证明( Provable Data Possession,PDP)模型。

3 问题描述
本文以Storj v3[20]为基础,对其系统内部由工作身份证明、数据完整性审计系统、筛选以及偏好这4个子系统所组成的声誉评估体系进行修补改进。

原有系统碎片分配流程如图1所示。

用户节点puse,∈G在本地加密所需存储文件,并将其上传。

上传成功后,系统根据文件分片规则将文件切分为碎片,并使用Kademlia DHT对碎片进行分配。

系统会对两个节点pi、pj的160bit唯- ID值进行二进制异或运算(XOR),运算结果作为判断节点之间距离d i,j的标准,以此找出距离用户节点puse,最近的45个节点
K={p1,p2,…,p45)并对其进行声誉评估。

系统原有声誉评估体系如下:Bridge要求附近的45个节点pn∈K均出示工作证明,并对额外少量未经审核的节点进行数据完整性审计。

上述两项评估有其中一项无法通过的节点则被淘汰,剩余节点p。

∈Ki将接受综合评估。

综合评估包括节点响应时间(吞吐量和延迟)、地理位置等。

而后,剩余节点pn∈K1将按照声誉评估标准(Reputa-tion)的分数高低进行排序,声誉最高的节点将获得碎片存放资格。

在上述方案中,可能出现如下问题:
(1)碎片多次存储在同一个节点中,易出现信息泄露。

来自同一文件的不同碎片均存储或大部分存储在同一个节点内,信息极易被节点拥有者所窃取,安全性能大大降低。

此外,它还将导致各用户节点存储速率体验感不一致,落差较大。

(2)存储范围内节点空间利用率未达最优化。

存储节点空间大小均由节点所有者决定,故并不一致。

若使用原有方案进行碎片分配,可能导致节点最后剩余的空闲分区总和较大,造成资源浪费。

这些不连续的空余分区,无法满足对新碎片的存储需要,使得存储空间利用率无法达到最优。

(3)节点分配和数据审计分开工作,对节点的信用评价缺失。

原有模型中的审计仅针对少量节点而并非全部。

若节点在存储过程中(下一次审计之前)破坏或篡改了碎片,系统仍旧可能会因为其极高的响应速率,大几率地将碎片分配至该节点。

方案保证了存储效率和应答速度,却丧失了碎片存储安全保障。

4 碎片分配优化模型
为提升其安全性、公平性及统一性,本文提出区块链文件存储系统碎片分配优化模型。

优化模型包括前期工作和3项评估工作,流程如图2所示。

碎片分配优化模型前期工作包括用户上传加密文件并分片、寻找用户节点附近的45个存储节点两项。

由于前期工作与原有方案相同,在此不加以阐述。

在前期工作完成后,系统将会对存储范围节点pn∈K进行以下3部分的检测和评估,包括:响应状况检测、节点数据审计以及由节点剩余存储空间大小、最近存储碎片时间戳比较、响应时间长短3方面构成的综合评估。

4.1 响应请求
在用户上传文件与文件分片等前期工作完成后,系统将对存储范围K={p1,p2,…,
p45)内的45个节点发送响应回复请求,对节点的响应状态进行检查并纪录每个节点的响应时间长短用以进行后续综合评估。

其中,节点响应时间,即节点响应1 000个此类请求所花费时间的平均值。

响应状态正常且响应时间小于9 000ms的节点则保留,其余节点淘汰。

响应检测后节点数目必定小于或等于响应检测前的节点數目,故通过响应检测的节点集为pn∈K1,K1( K。

4.2 数据完整性审计
在响应检测后,系统将进行针对大范围节点的数据完整性审计,以确保每个存储节点的信用度。

系统对通过响应请求的节点pn∈K1进行数据完整性审计。

审计结果包括正常和异常两种情况。

审计正常,即随机抽取一段密文对其添加后缀,二次加密后得出的新密文之间无错漏。

这类正常节点pn∈K2将进入下一部分的节点质量综合评估。

审计异常包括审计不响应和审计错误两种情况,不响应审计的节点将被放置在容器( Containment)中,其后续只能对当前审计作出响应,直到审计通过或被取消存储资格;审计错误的节点则将直接取消本次存储资格,不参与后续综合评估。

4.3 综合评估
在数据审计后,系统将对剩余节点pn∈K2进行综合评估。

综合评估包含节点剩余存储空间大小、最近存储碎片时间戳比较、响应时间长短3项标准,评估中3项标准权重依次为1:1:1,评估得分最高者将获得存储资格。

(1)节点剩余存储空间大小。

优化模型将使用最坏适应分配算法(Worst Fit)。

最坏适应分配方法总是挑选一个最大的空闲区分割给碎片进行存储,这样可使剩下的空闲分区不至于太小,产生碎片的几率最小。

评分标准:对参与综合评价的节点pn∈K2进行存储空间从大到小的排序,剩余节点中存储空间最大的节点评价分数为cardK2,中间节点依次降低,直至剩余存储空间最小的节点评价分数为1。

(2)最近存储碎片时间戳比较。

系统将对每个节点添加时间戳( Timestamp)纪录,保存该节点最近一次存储碎片的时间戳,可使最长时间没进行碎片存储的节点拥有优先权,令其不至于因为响应速度稍慢而降低抢夺存储资格的能力,使得碎片分配能够公平平均,各节点进行碎片存储的机会保持相对公平均等。

评分标准:对参与综合评价的节点pn∈K2进行时间戳从小到大的排序,时间戳最小,即距离上一次进行碎片存储时间最长的节点评价分数为cardK2,中间节点依次降低,时间戳最大,即距离上一次进行碎片存储时间最短的节点评价分数为1。

(3)响应时间长短。

系统将对每个节点的响应时间进行纪录,以确保碎片存储的速度和效率,为用户提供优质网络环境。

评分标准:对参与综合评价的节点p。

∈K2进行响应时间从短到长的排序,响应时间长于9 000ms的节点可视为无效,将舍弃。

响应时间最小的节点评价分数为cardK2,中间节点依次降低,响应时间最长的节点评价分数为1。

5 实验
本文对碎片分配优化模型进行了仿真实验,实验算法均采用Java编程语言进行程序编写,实验环境为2.60CHzIntel( R) Core i5-3230M CPU, 8.OOCB RAM,硬盘890GB,操作系统为Windows 10家庭版。

本文对原有方案进行如下实验:新建节点类用模拟45个存储范围内的非新加入网络节点,并为每个节点分配编号。

其中,44个节点的响应状态(正常/异常)和响应时间(ms)均随机生成,其中一个节点情况交由人为调控,响应状态控制为正常,响应时间维持在较快程度。

本次实验人工节点编号为26。

实验根据上述流程生成45个节点并置其于并行状态,而后按原有声誉评估标准进行1 000次最优节点选择。

实验默认在每一次选择中节点状态均在小范围内变化,可忽略不计,故状态不再重新生成。

实验得出结果如表1所示。

同样地,本文对优化方案也进行类似实验。

为了作出更好对比,节点编号及其响应时间不作更改,而最近一次存储碎片时间戳(格林尼治时间)和存储空间大小均由随机数种子生成;人工节点的存储空间维持在较大程度,时间戳随机生成;人工节点编号仍为26。

实验生成上述45个节点并置其于并行状态,而后按优化方案进行1 000次最优节点选择。

实验默认在每一次选择中节点状态均在小范围内变化,可忽略不计,故状态不再重新生成。

实验得出结果如表2所示。

根据表1可知,人工节点p26被选择次数最多,高达586次,被抽取的几率高达58.6%;节点p21被选择次数是随机节点之首,但仅为29次,低于人工节点被选择次数的20。

当响应时间由200ms延长至2 700ms时,被选择次数从586次降低到29次。

由此可知,假设存储范围pn∈K内总有一个节点pnrtificial= pbes,维持在最优状态,则每次分配的碎片都极大可能存储在partificial上。

由表2可以看出,即使最优节点总是不更换,按照优化模型实施碎片分配也不会出现节点倾斜情况,即最优节点被选择次数远远高出随机节点的情况。

相比之下,优化模型中各节点存储碎片机会相对均等公平,落差较小,如图7所示。

各效率梯度节点的使用率相对平均,降低了用户体验的不一致性,如图8所示。

存储节点所剩余空间较大,产生小碎片几率降低。

方案确保每次分配的节点都通过数据完整性审计,是完全高信用度的。

方案综合了多方面去评估存储节点,力求得出该次分配的最适合节点。

区块链文件存储系统碎片分配优化模型既保留了对节点响应效率的高要求,同时还提升了安全性、公平性以及统一性。

将针对大范围节点的数据完整性审计加入到存储节点选取流程中,确保了节点的高信用度。

在综合评估中添加节点剩余空间大小标准,使用最坏适应分配算法,减少碎片产生几率,提升存储空间利用率;添加最近存储碎片时间戳比较,使得响应速度稍慢的節点也能拥有均等的碎片存储机会,消除了碎片堆积同一节点现象,提高了数据安全性。

由图3、图4可知,使用优化方案以后,节点之间被选择次数维持在相对平均状态,避免了两极分化现象;各效率梯度节点的使用率相对平均,用户的使用感得到大体上的统一。

6 结语
本文基于Storj区块链文件存储系统的声誉评价体系,提出了碎片分配优化模型。

该模型包括响应状态测试和时间控制、数据完整性审计、存储节点空间大小和最近存储碎片时间戳等节点选择标准,综合多方面对存储范围内的节点进行评估,为碎片分配最合适的存储节点。

本文分别对原方案和优化方案进行仿真测试并对比,证实了优化方案在保证响应效率的同时,提高了数据安全性和可靠性,降低了碎片分配过分倾斜的可能性,最大程度上提升了存储空间利用率。

参考文献:
[1]
Cctime[ EB/OL]. http: //,, 2018.
[2] 朱琨.基于P2P的分布式存储系统的研究与实现[D].成都:电子科技大学,2010.
[3]殷龙,王宏伟.基于IPFS的分布式数据共享系统的研究[J].物联网技术,2016,6(6):60-62.
[4]
HOWARD J H,KAZAR M L,MENEES S G,et al.Scale andperfor-mance in a distributed file system[ J]. ACM Transactions on ComputerSvstem(TOCS), 1988,6(1):51-81.
[5]周文莉,吴晓非.P2P技术综述[J].计算机工程与设计,2006. 27(1):76-79.
[6] 孔彬,徐良贤.BitTorrent原理分析及改进[J].计算机工程,2004,30( sl):257-259.
[7] 周皓,何克右,邵红梅.基于Kademlia的P2P搜索技术的研究[J].电脑知识与技术,2009,5(1):189-191.
[8]
NAKAMOTO S.Bitcoin:a peer-to-peer electronic cash system[ EB/OL]. https:
///bitcoin.pdf.
[9]卓先德,赵菲,曾德明.非对称加密技术研究[J].四川理工学院学报(自然科学版),2010.23(5):562-569
[10] 张松敏,陶荣,于国华.安全散列算法SHA-l的研究[J].计算机安全,2010( 10):3-5.
[11] 陈传波,祝中涛.RSA算法应用及实现细节[J].计算机工程与科学,2006.28(9):13-15.
[12] 袁勇,倪晓春,曾帅,等,区块链共识算法的发展现状与展望[J].自动化学报,2018,44( 11):2011-2022.
[13] 袁勇,王1跃.区块链技术发展现状与展望[J].自动化学报,2016. 42( 4):481-494.
[14] 沈鑫,裴庆祺,刘雪峰.区块链技术综述[J].网络与信息安全学报.2016(5):1-12.
[15] BAUMGART I, MIES S. S/Kademlia:a practicable approach towardssecure kev-based routing [C]. International Conference on Parallel&Distributed Systems. 2007: 1-8.
[16] 張洪,路松峰,赵友桥,等.数据安全存储的分片策略模型研究[J].计算机工程与应用,2012.48(18):66-70.
[17]
JUELS A, JR B S K.PORs: proofs of retrievability for large files[C]. Acm Conference on Computer&Communications Security, 2007.
[18]
ATENIESE G,BURNS R. CURTMOLA R, et al.Provahle data pos-session at untrusted stores[C].Proceedings of the 2007 ACM Confer-ence on Computer and Communications Securitv,2007: 598.
[19] 苏迪,刘竹松.一种新型的Merkle哈希树运输局完整性审计方案[J].计算机工程与应用,2018.54(1):70-76.
[20]
STORJ LABS.A decentralized cloud storage network framework [EB/OL]. https: //storj.io/,2018.
(责任编辑:孙娟)
基金项目:国家自然科学基金广东大数据中心项目重点项目( U1811263);国家自然科学基金面上项目(61772211)
作者简介:梁婉莹(1998-),女,华南师范大学计算机学院学生,研究方向为区块链、人工智能;朱佳(1982-),男,华南师范大学计算机学院研究员、博士生导师,研究方向为机器学习、区块链、数据分析、人工智能;马晓东(1995-),女,华南师范大学计算机学院硕士研究生,研究方向为区块链、人工智能;汤庸(1964-),男,华南师范大学计算机学院教授、博士生导师,研究方向为数据智能、人本计算与社交软件、学者知识图谱与教育大数据分析;梁熙龙(1995-),男,博士,中国科学院光学天文重点实验室国家天文台博士后,研究方向为大数据;陈善轩(1995-),男,华南师范大学计算机学院硕士研究生,研究方向为区块链、人工智能、数据分析。

相关文档
最新文档