[发明专利]一种基于区块链和里德-所罗门码的文件存储方法、计算机设备及存储介质有效
| 申请号: | 202110509161.3 | 申请日: | 2021-05-11 |
| 公开(公告)号: | CN113518113B | 公开(公告)日: | 2022-10-28 |
| 发明(设计)人: | 罗少龙;张海勤;马良峰;胥勇 | 申请(专利权)人: | 深圳前海移联科技有限公司 |
| 主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L67/06 |
| 代理公司: | 深圳市中融创智专利代理事务所(普通合伙) 44589 | 代理人: | 邹蓝;叶垚平 |
| 地址: | 518066 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 区块 所罗门 文件 存储 方法 计算机 设备 介质 | ||
1.一种基于区块链和里德-所罗门码的文件存储方法,其特征在于,包括:
S1、区块链启动,产生一个委员会,委员会对所有节点进行分片处理;
S2、等待用户请求上传文件指示或下载文件指示;
S3、进行上传文件或下载文件,
其中,上传文件时,用户向委员会获取分片信息并选择多个分片为上传的目标分片,使用里德-所罗门码算法从原始文件生成多个数据片段,将数据片段上传到目标分片中,并将文件的定位标识符返回给用户,
下载文件时,用户提供文件的定位标识符;将定位标识符解码;从多个分片中下载数据片段;预设分片最长下载文件最长等待时间,判断是否超时,若是没有超时,则使用里德-所罗门算法从数据片段得到原始文件,并且返回给用户,若是超时,则判断超时次数是否大于所需数据片段数;若是大于则返回并提示用户下载失败,若是不大于,则从剩余分片口中下载余下的数据片段,并再进入判断是否超时,直到将原始文件全部下载完成;
S4、预设一时间间隔,若达到预设的时间间隔时,则进行区块链重构。
2.根据权利要求1所述的基于区块链和里德-所罗门码的文件存储方法,其特征在于,所述步骤S3中的使用里德-所罗门码算法从原始文件生成多个数据片段,将数据片段上传到目标分片中,并将文件的定位标识符返回给用户,包括:
S31、先将待上传的长度为u字节的文件划分为k个长度均为u/k的文件片段;
S32、将k个文件片段按行排列,得到一个k行u/k列的数据矩阵;
S33、使用里德-所罗门码算法根据给定的参数k和m计算数据矩阵的编码矩阵B;
S34、将数据矩阵与编码矩阵B相乘,得到一个(k+m)行列的结果矩阵;
S35、将结果矩阵按行拆分,得到(k+m)个数据片段,并将这些数据片段分别上传到(k+m)个分片中;
S36、将(k+m)个分片的身份信息、原文件的哈希值、文件大小编码转换为一个字符串,并返回给用户,所述的字符串为文件的定位标识符;
其中,当u/k不是整数时,在最后一个片段后补填u/k+1-(u mod(k+1))个控制字符“\0”,u mod(k+1)为取模运算,k为使用里德-所罗门码进行编码和解码时,原文件的数据分成的数据块数量;m为使用里德-所罗门码进行编码和解码时,在原文件后附加的冗余数据块数量;u为文件的长度,单位为字节。
3.根据权利要求2所述的基于区块链和里德-所罗门码的文件存储方法,其特征在于,步骤S3中所述使用里德-所罗门算法从数据片段得到原始文件,并且返回给用户包括:
S301、将下载到的全部数据片段依次按行排列,获得一个k行列的矩阵A;
S302、使用里德-所罗门码算法生成(k+m)行列的编码矩阵B;
S303、根据下载文件时访问的分片信息,保留编码矩阵B中文件来自k个分片所对应的k行,删除该矩阵中余下的m行,得到一个k行列的矩阵C;
S304、计算出矩阵C的逆矩阵,得到矩阵D;
S305、将矩阵D和矩阵A相乘,得到矩阵E,该矩阵E的行列数为k行列;
S306、将矩阵E的每一行取出,并按顺序合并成一行,每一行连接在上一行的后方,得到一个序列F;
S307、将序列F尾部的控制字符“\0”移除,最终获得一个长度为u的序列G;
S308、将序列G以二进制流的方式返回文件给用户。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至3中任一项所述的基于区块链和里德-所罗门码的文件存储方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至3中任一项所述的基于区块链和里德-所罗门码的文件存储方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海移联科技有限公司,未经深圳前海移联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110509161.3/1.html,转载请声明来源钻瓜专利网。





