基于区块链的分布式文件下载的方法和电子设备技术

技术编号:25528820 阅读:23 留言:0更新日期:2020-09-04 17:17
本公开的实施例公开了基于区块链的分布式文件下载的方法和电子设备。该方法的一具体实施方式包括:获取挑战码集合和目标文件的访问标识;基于访问标识,获取目标文件的文件标识,其中,文件标识包括文件关键字、数据标识和存储关系信息集合;基于存储关系信息集合获取目标文件;将数据标识确定为第一目标数据标识;基于挑战码集合和目标文件,生成第二目标数据标识;响应于第一目标数据标识和第二目标数据标识相同,下载目标文件。这种方法利用挑战码生成数据标识后,将文件存储于区块链中。在文件下载过程中,再次利用挑战码验证数据完整性,能够保证区块链中存储数据的安全性和完整性,保证下载文件的有效性。

【技术实现步骤摘要】
基于区块链的分布式文件下载的方法和电子设备
本公开实施例涉及保密和数据存储领域,具体涉及一种基于区块链的分布式数据存储和下载的方法、电子设备。
技术介绍
随着分布式存储技术的发展,数据库中的数据可以分布式存储在服务器集合中。分布式存储可以解决传统集中式存储存在的单点故障的问题,同时具有低价格、高可靠性等优点。基于区块链的分布式存储基于可大规模伸缩的丰富计算资源实现分布式的部署,并在动态更新的情况下保证分布式存储数据的准确性。区块链将分散存储的数据的关键信息全部存储到区块链中来保证数据存储的不可抵赖性,提升了分布式存储数据的安全性。
技术实现思路
本公开实施例提出了一种基于区块链的分布式文件下载的方法。第一方面,本公开实施例提供了一种基于区块链的分布式文件下载的方法,该方法包括:获取挑战码集合和目标文件的访问标识,其中,挑战码集合中的挑战码是随机数;基于访问标识,获取目标文件的文件标识,其中,文件标识包括文件关键字、数据标识和存储关系信息集合;基于存储关系信息集合获取目标文件,其中,存储关系信息集合是第一终端生成的,第一终端存储目标文件和挑战码集合,目标文件包括第一数目n个子块;将数据标识确定为第一目标数据标识,其中,数据标识是第一终端生成的;基于挑战码集合和目标文件,生成第二目标数据标识;响应于第一目标数据标识和第二目标数据标识相同,下载目标文件。在一些实施例中,存储关系信息集合是第一终端通过如下步骤生成的:确定存储单元的处理时间集合{ti;i∈[1,q]},其中,第一终端包括第二数目q个存储单元,t表示处理时间,i为存储单元计数,q是任意整数,q>n,ti表示第i个存储单元的处理时间,n为所述目标文件中的子块数目;确定存储单元的等待时间集合{wi;i∈[1,q]},其中,第一终端包括第二数目q个存储单元,w表示等待时间,i为存储单元计数,q是任意整数,q>n,wi表示第i个存储单元的等待时间,n为所述目标文件中的子块数目;利用处理时间集合和等待时间集合,生成q个存储单元的初始性能指标集合:{ti+wi;i∈[1,q]},其中,w表示等待时间,t表示处理时间,i为所述存储单元计数,q是任意整数,q>n,ti表示第i个存储单元的处理时间,wi表示第i个存储单元的等待时间,ti+wi表示第i个存储单元的初始性能指标,n为目标文件中的子块数目;对初始性能指标集合中的各个初始性能指标,按照数值从大到小重新排序,生成性能指标序列;将性能指标序列中的前第一数目n个性能指标对应的存储单元确定为目标存储单元集合;对于目标文件中的每个子块,基于该子块与目标存储单元集合中对应的存储单元的对应关系,生成该子块的存储关系信息,得到存储关系信息集合。在一些实施例中,数据标识是第一终端通过如下步骤生成的:将挑战码集合中的每个挑战码与目标文件中的对应子块组合生成第一数据对,得到第一数据对集合;获取第一数据对集合中的每个第一数据对的哈希值以生成第二数据对,得到第二数据对集合;将第二数据对集合构建为第一树型数据结构,其中,第一树型数据结构包括叶子节点、中间节点、根结点,叶子节点存储第二数据对集合中的哈希值,中间节点存储该中间节点的叶子节点的第二数据对集合中的哈希值的串联结果,根结点存储第一数目个叶子节点中存储的第一数目个第二数据对集合中的哈希值的串联结果;将第一树型数据结构的根结点存储的第一数目个第二数据对集合中的哈希值的串联结果确定为数据标识。在一些实施例中,基于存储关系信息集合获取目标文件,包括:将存储关系信息集合发送至第一终端,其中,第一终端根据存储关系信息集合查找到所述目标文件;接收第一终端返回的目标文件。在一些实施例中,第一终端根据存储关系信息集合查找到目标文件,包括:第一终端根据存储关系信息集合查找到目标存储单元集合;对于目标存储单元集合中的每个存储单元,第一终端找到与该存储单元对应的子块,得到目标文件。在一些实施例中,基于挑战码集合和目标文件,生成第二目标数据标识,包括:将挑战码集合中的每个挑战码与目标文件中的对应子块组合生成第三数据对,得到第三数据对集合;获取第三数据对集合中的每个第三数据对的哈希值以生成第四数据对,得到第四数据对集合;将第四数据对集合构建为第二树型数据结构,其中,第二树型数据结构包括叶子节点、中间节点、根结点,叶子节点存储第四数据对集合中的哈希值,中间节点存储该中间节点的叶子节点的第四数据对集合中的哈希值的串联结果,根结点存储第一数目个叶子节点中存储的第一数目个第四数据对集合中的哈希值的串联结果;将第二树型结构的根节点中存储的第一数目个第四数据对集合中的哈希值的串联结果确定为所述第二目标数据标识。第二方面,本公开的一些实施例提供了一种基于区块链的分布式文件下载的装置,包括:接收单元,被配置成获取挑战码集合和目标文件的访问标识,其中,挑战码集合中的挑战码是随机数;第一获取单元,被配置成基于访问标识,获取目标文件的文件标识,其中,文件标识包括文件关键字、数据标识和存储关系信息集合;第二获取单元,被配置成基于存储关系信息集合获取目标文件,其中,存储关系信息集合是第一终端生成的,第一终端存储目标文件和挑战码集合,目标文件包括第一数目n个子块;确定单元,被配置成将数据标识确定为第一目标数据标识,其中,数据标识是第一终端生成的;生成单元,被配置成基于挑战码集合和目标文件,生成第二目标数据标识;处理单元,被配置响应于第一目标数据标识和第二目标数据标识相同,下载目标文件。第三方面,本公开实施例提供了一种终端设备,该终端设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本公开实施例提供一种基于区块链的分布式文件下载的方法,获取挑战码集合和目标文件的访问标识;基于访问标识,获取目标文件的文件标识,其中,文件标识包括文件关键字、数据标识和存储关系信息集合;基于存储关系信息集合获取目标文件;将数据标识确定为第一目标数据标识;基于挑战码集合和目标文件,生成第二目标数据标识;响应于第一目标数据标识和第二目标数据标识相同,下载目标文件。本公开的上述各个实施例中的一个实施例具有如下有益效果:第一终端基于挑战码生成目标文件的数据标识,第一终端存储文件并形成存储关系信息集合。将目标文件对应的数据标识、文件关键字和存储关系信息集合存储于区块链中。文件下载过程中首先基于文件关键字确认目标文件。基于存储表在第一终端查找到目标文件。将区块链中存储的该目标文件的数据标识确定为第一目标数据标识。利用挑战码和从第一终端接收到的目标文件生成第二目标数据标识。响应于第一目标数据标识和第二目标数据标识相同,下载目标文件。本公开的实施例利用挑战码生成数据标识后,将文件存储于区块链中。在文件下载过程中,再次利用挑战码验证数据完整性,能够保证区本文档来自技高网...

【技术保护点】
1.一种基于区块链的分布式文件下载的方法,包括:/n获取挑战码集合和目标文件的访问标识,其中,所述挑战码集合中的挑战码是随机数;/n基于所述访问标识,获取所述目标文件的文件标识,其中,所述文件标识包括文件关键字、数据标识和存储关系信息集合;/n基于所述存储关系信息集合获取所述目标文件,其中,所述存储关系信息集合是第一终端生成的,所述第一终端存储所述目标文件和所述挑战码集合,所述目标文件包括第一数目n个子块;/n将所述数据标识确定为第一目标数据标识,其中,所述数据标识是第一终端生成的;/n基于所述挑战码集合和所述目标文件,生成第二目标数据标识;/n响应于所述第一目标数据标识和所述第二目标数据标识相同,下载所述目标文件。/n

【技术特征摘要】
1.一种基于区块链的分布式文件下载的方法,包括:
获取挑战码集合和目标文件的访问标识,其中,所述挑战码集合中的挑战码是随机数;
基于所述访问标识,获取所述目标文件的文件标识,其中,所述文件标识包括文件关键字、数据标识和存储关系信息集合;
基于所述存储关系信息集合获取所述目标文件,其中,所述存储关系信息集合是第一终端生成的,所述第一终端存储所述目标文件和所述挑战码集合,所述目标文件包括第一数目n个子块;
将所述数据标识确定为第一目标数据标识,其中,所述数据标识是第一终端生成的;
基于所述挑战码集合和所述目标文件,生成第二目标数据标识;
响应于所述第一目标数据标识和所述第二目标数据标识相同,下载所述目标文件。


2.根据权利要求1所述的方法,其中,所述存储关系信息集合是所述第一终端通过如下步骤生成的:
确定存储单元的处理时间集合{ti;i∈[1,q]},其中,第一终端包括第二数目q个存储单元,t表示处理时间,i为存储单元计数,q是任意整数,q>n,ti表示第i个存储单元的处理时间,n为所述目标文件中的子块数目;
确定存储单元的等待时间集合{wi;i∈[1,q]},其中,第一终端包括第二数目q个存储单元,w表示等待时间,i为存储单元计数,q是任意整数,q>n,wi表示第i个存储单元的等待时间,n为所述目标文件中的子块数目;
利用所述处理时间集合和所述等待时间集合,生成q个存储单元的初始性能指标集合:{ti+wi;i∈[1,q]},其中,w表示等待时间,t表示处理时间,i为所述存储单元计数,q是任意整数,q>n,ti表示第i个存储单元的处理时间,wi表示第i个存储单元的等待时间,ti+wi表示第i个存储单元的初始性能指标,n为所述目标文件中的子块数目;
对所述初始性能指标集合中的各个初始性能指标,按照数值从大到小重新排序,生成性能指标序列;
将所述性能指标序列中的前第一数目n个性能指标对应的存储单元确定为所述目标存储单元集合;
对于所述目标文件中的每个子块,基于该子块与所述目标存储单元集合中对应的存储单元的对应关系,生成该子块的存储关系信息,得到所述存储关系信息集合。


3.根据权利要求1所述的方法,其中,所述数据标识是所述第一终端通过如下步骤生成的:
将所述挑战码集合中的每个挑战码与所述目标文件中的对应子块组合生成第一数据对,得到第一数据对集合;
获取所述第一数据对集合中的每个第一数据对的哈希值以生成第二数据对,得到第二数据对集合;
将所述第二数据对集合构建为第一树型数据结构,其中,所述第一树型数据结构包括叶子节点、中间节点、根结点,所述叶子节点存储所述第二数据对集合中的哈希值,中间节点存储该中间节点的叶子节点的所述第二数据对集合中的哈希值的串联结果,根结点存储第一数目个叶子节点中存储的第一数目个所述第二数据对集合中的哈希值的串联结果;
将所述第一树型数据结构的根结点存储的...

【专利技术属性】
技术研发人员:周纯
申请(专利权)人:宁波富万信息科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1