【技术实现步骤摘要】
基于链下纠删码分布式存储的区块链数据存储系统及方法
[0001]本专利技术属于区块链
,更进一步涉及数据存储
中的一种基于链下纠删码分布式存储的区块链数据存储系统及方法。本专利技术通过纠删码技术对区块链数据进行分割和编码,使用分离于区块链系统的链下分布式存储系统承载并存储编码块数据,可以有效地对区块链系统产生的区块数据进行保证其安全性和完整性的管理。
技术介绍
[0002]区块链技术是一种建立在多重技术之上的一种分布式共享账本技术,而区块链本质上是一种多方参与共同维护和数据管理的分布式数据库。区块链系统采用去中心化或弱中心化的数据管理模式,账本数据以副本形式存储在区块链系统的每一个参与节点。但是,随着大数据时代的数据爆炸式增长,每一个区块链参与节点在维护账本数据的同时也带来了严重的存储负担。显然,传统的区块链存储模式很难应对大数据时代的爆炸式增长的数据量。因此,区块链系统中对分布式存储思想的应用受到越来越多的关注和研究。纠删码技术是分布式存储系统中常用的一种的数据冗余机制,该技术一般将原始数据分割成信息块后进行编 ...
【技术保护点】
【技术特征摘要】
1.一种基于链下纠删码分布式存储的区块链数据存储系统,包括区块链模块、编译码模块和链下存储网络模块:所述的区块链模块,用于根据节点容错要求所选择共识机制设定L个共识节点数,L≥3;区块链模块全部参数确定后,区块链模块的全部节点通过选择的共识机制达成共识,以在每一个共识节点同步产生一个相同的区块,为编译码模块编码提供数据;所述的编译码模块,用于根据现有的纠删码,用计算机语言描述得到编码子模块和译码子模块,编码子模块用于对区块的编码,译码子模块用于对丢失区块的修复操作;编码子模块将每一个共识节点产生的一个区块均分为k个数据块,利用纠删码中矩阵的线性关系,将均分后的k个数据块混合生成r个校验数据块,将k个数据块和r个校验数据块组成n个编码块,其中,k>0,r>0;译码子模块将不存在数据的存储节点收到的编码块,根据译码子模块中规定的矩阵对编码块进行译码,恢复得到存储节点内不存在的数据并存储在该节点内;所述的链下存储网络模块,用于设定存储网络模块内存储节点数量为N,N>0,在部署本系统时其固有的局域网网段内为每一个存储节点分配一个互不重叠的IP地址;链下存储网络模块将每个编码块按照存储节点IP地址分配给每个存储节点;链下存储网络模块中的每个存储节点同步产生一张表格,记录所有存储节点的IP地址和各个存储节点存储的编码块信息;链下存储网络模块实时监测各个存储节点中每个时刻数据状态,统计不存在数据的存储节点数量,若不存在数据的存储节点总数小于或等于m时,所有不存在数据的存储节点分别调用译码子模块获取该节点译码恢复所需的编码块信息,m表示由纠删码的极大距离可分MDS性质所限定的最大容错值,m=n
‑
k;每个不存在数据的存储节点给数据完整的临近存储节点发送编码块请求信息,数据完整的临近存储节点收到该请求信息后,将与请求信息相对应的编码块发送给不存在数据的存储节点。2.根据权利要求1所述存储系统的一种基于链下纠删码分布式存储的区块链数据存储方法,其特征在于,将区块链模块共识节点的存储功能分离至一个链下存储网络模块对数据进行存储,区块链模块仅产生区块数据,根据链下存储网络模块中的纠删码方案,对区块进行编码存储和译码实时修复;该存储方法的具体步骤包括如下:步骤1,选取各模块内部参数:步骤1.1,...
【专利技术属性】
技术研发人员:孙蓉,刘珺,王禹博,范英杰,马淑慧,刘景伟,裴庆祺,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。