【技术实现步骤摘要】
基于区块链的文件存储方法和电子设备
本公开实施例涉及保密和数据存储领域,具体涉及一种基于区块链的文件存储方法、电子设备。
技术介绍
面对海量数据,传统数据存储方案采用网络存储。网络存储一般采用专用磁盘阵列存储数据,且大多采用集中式存储方式,对存储服务器性能要求很高,成为系统性能的瓶颈。同时,其可靠性和安全性也很难满足大规模存储需要。随着存储技术的发展,大规模的数据存储系统需要采取分布式存储。分布式存储技术将文件或数据同步地分散于多个存储设备或节点上,这些设备或节点之间通过网络相互连接。区块链实现去中心化的分布式存储,可以基于可大规模伸缩的丰富计算资源实现分布式的部署,并在动态更新的情况下保证分布式存储数据的准确性。
技术实现思路
本公开实施例提出了一种基于区块链的文件存储方法。第一方面,本公开实施例提供了一种基于区块链的文件存储方法,该方法包括:获取待处理的目标文件和文件块大小;基于目标文件和文件块大小,生成文件块集合;对于文件块集合中的每个文件块,生成该文件块的哈希值,得到文件块集合的哈希值集合;基于哈希值集合,生成目标文件的文件标识;将文件块集合发送至第一终端,其中,第一终端存储文件块集合,第一终端生成存储记录表;接收第一终端返回的存储记录表;将文件标识和存储记录表记录到区块链中。在一些实施例中,基于目标文件和文件块大小,生成文件块集合,包括:获取目标文件大小s和文件块大小d;利用公式n=ceil(s/d)确定处理后的文件块数量,其中,n表示文件块数量,ceil表示用于获取大于 ...
【技术保护点】
1.一种基于区块链的文件存储方法,包括:/n获取待处理的目标文件和文件块大小;/n基于所述目标文件和所述文件块大小,生成文件块集合;/n对于所述文件块集合中的每个文件块,生成该文件块的哈希值,得到所述文件块集合的哈希值集合;/n基于所述哈希值集合,生成所述目标文件的文件标识;/n将所述文件块集合发送至第一终端,其中,所述第一终端存储所述文件块集合,所述第一终端生成存储记录表;/n接收所述第一终端返回的所述存储记录表;/n将所述文件标识和所述存储记录表记录到区块链中。/n
【技术特征摘要】
1.一种基于区块链的文件存储方法,包括:
获取待处理的目标文件和文件块大小;
基于所述目标文件和所述文件块大小,生成文件块集合;
对于所述文件块集合中的每个文件块,生成该文件块的哈希值,得到所述文件块集合的哈希值集合;
基于所述哈希值集合,生成所述目标文件的文件标识;
将所述文件块集合发送至第一终端,其中,所述第一终端存储所述文件块集合,所述第一终端生成存储记录表;
接收所述第一终端返回的所述存储记录表;
将所述文件标识和所述存储记录表记录到区块链中。
2.根据权利要求1所述的方法,其中,所述基于所述目标文件和所述文件块大小,生成文件块集合,包括:
获取所述目标文件大小s和所述文件块大小d;
利用公式n=ceil(s/d)确定处理后的文件块数量,其中,n表示所述文件块数量,ceil表示用于获取大于s和d的商s/d的最小整数的函数;
生成初始文件块集合Fseg={x1,x2,...,xn},其中,x表示初始文件块,x1表示第一个初始文件块,x2表示第二个初始文件块,xn表示第n个初始文件块,n表示所述初始文件块集合中的所述初始文件块数量,Fseg表示所述初始文件块集合;
对所述初始文件块集合进行复制处理,生成所述文件块集合。
3.根据权利要求2所述的方法,其中,所述对所述初始文件块集合进行复制处理,生成所述文件块集合,包括:
对于所述初始文件块集合中的每个初始文件块,将该初始文件块进行复制生成初始复制文件块,得到第一数目m个初始复制文件块,生成初始复制文件块集合;
根据所述初始复制文件块集合,利用公式生成所述文件块集合X,其中,m表示初始复制文件块的数目,x表示初始复制文件块,i表示初始文件块数量计数,i≤n,i≥1,n表示初始文件块数量,j为复制文件块的数量计数,j≤m,j≥1,x11表示第1个初始文件块的第一个复制文件块,x1j表示第1个初始文件块的第j个复制文件块,x1m表示第1个初始文件块的第m个复制文件块,xi1表示第i个初始文件块的第1个复制文件块,xij表示第i个初始文件块的第j个复制文件块,xim表示第i个初始文件块的第m个复制文件块。
4.根据权利要求3所述的方法,其中,所述对于所述文件块集合中的每个文件块,生成该文件块的哈希值,得到所述文件块集合的哈希值集合,包括:
通过如下公式确定所述文件块集合中的文件块数量:T=m×n,其中T表示所述文件块数量,m表示所述复制文件块的数目,n表示初始文件块数量;
对于所述文件块集合中的每个文件块,生成该文件块的哈希值,得到T个哈希值;
将所述T个哈希值确定为所述文件块集合的哈希值集合。
5.根据权利要求4所述的方法,其中,所述基于所述哈希值集合,生成所述目标文件的文件标识,包括:
将所述哈希值集合构建为树型数据结构,其中,所述树型数据结构包括叶子节点、中间节点、根结点,所述叶子节点存储所述哈希值集合中的哈希值,中间节点存储该中间节点的叶子节点的哈希值串联结果,根结点存储T个叶子节点中存储的T个哈希值的串联结果,其中,T表示所述文件块集合中的文件块数量;
通过如下公式串联所述根结点存储的T个哈希值:Hash={hash(x11)...hash(x1,j)...hash(x1,m)...hash(xi,1)...hash(xi,m)...
【专利技术属性】
技术研发人员:周纯,
申请(专利权)人:宁波富万信息科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。