[发明专利]一种基于纠删码的区块链数据存储方法有效
申请号: | 202010214114.1 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111444042B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 孟宇龙;任龙;徐东;张子迎;钟俊捷;华园园;曹雨倩;蒋馨宙 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 纠删码 区块 数据 存储 方法 | ||
1.一种基于纠删码的区块链数据存储方法,其特征在于:包括数据存储阶段、数据恢复阶段和数据更新阶段;
所述的数据存储阶段具体包括以下步骤:
步骤1.1:根据区块链应用系统中节点的数量,利用纠删码思想将原始区块链数据划分为与节点数量相同的数据块,即每块大小相同均为Nid,若大小不同则在末尾补0使之相同;
所述的区块链应用系统中有k个节点{N1,N2,…Nk},每个节点生成数据为Nid,则所有节点均存储的数据量,区块系统中全局数据存储量T为:
步骤1.2:通过编码策略对数据块进行编码,生成r个校验块{P1,P2,…,Pr};其中kr≥k/2,校验块大小为:
步骤1.3:每个节点除了储存区块链hash值外,存储1块数据块及全部r个校验块,代替原来存储所有数据的方案;即每个节点存储量为:
则全局数据存储量为:
其中,T1≤T,压缩比最高可达0.25;
所述的数据恢复阶段具体包括以下步骤:
步骤2.1:当区块链应用系统中的节点Ni,1≤i≤k数据失效时,需要向其他存活节点进行广播,请求其它节点向该节点发送数据;
步骤2.2:节点Ni接收到其它节点的数据块或校验块,获得至少k/2+1个相同的校验块,从而恢复所有校验块;
步骤2.3:将接收的数据块与校验块基于纠删码思想进行恢复,将恢复后数据与本地hash值进行对比,对比一致则说明该恢复数据正确,从而恢复失效数据;
所述的数据更新阶段具体包括以下步骤:
步骤3.1:当有新节点加入时,向区块链系统广播请求,请求其它节点发送数据,根据数据恢复原则以恢复原始区块链;
步骤3.2:原有节点接收新节点中的数据,采用追加更新的方式更新区块链,同时利用数据存储原则,获得节点所需存储的数据块和校验块;
所述的追加更新方式具体为:将新数据以日志的形式追加到原始数据块之后,将新数据与原始数据的差值以日志的形式追加在校验块之后;一段时间后或需要访问新的数据块或校验块时再将追加的数据与原数据合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010214114.1/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置