当前位置: 首页 > 专利查询>傅力专利>正文

基于区块链的文件存储和读取方法、装置、设备和介质制造方法及图纸

技术编号:36577019 阅读:10 留言:0更新日期:2023-02-04 17:35
本申请涉及一种基于区块链的文件存储和读取方法、装置、计算机设备和存储介质。所述方法包括:将文件切分成至少两个信息块并在每一个信息块上绑定一个不同的粒子积数。将绑定了粒子积数的信息块分布存储到区块链操作系统的各个文件服务器上。根据文件属性、信息块属性以及所有粒子积数的唯一特征值生成数字指纹。将数字指纹写入区块链,并向文件服务器发送文件写入完成的指令,以使得文件服务器注销文件对应的所有信息块上的粒子积数。采用本方法能够保证大数据文件在区块链上存储时,数据不会丢失和被篡改。不会丢失和被篡改。不会丢失和被篡改。

【技术实现步骤摘要】
基于区块链的文件存储和读取方法、装置、设备和介质


[0001]本申请涉及区块链
,特别是涉及一种基于区块链的文件存储和读取方法、装置、设备和介质。

技术介绍

[0002]区块链技术具有信息不可篡改的优点。但是,区块链上的区块只能存储有限的信息,通常是1M到4M,最大是16M。过大的区块会导致区块消息在区块链网络节点的传输和存储的延迟,进而导致数据丢失。然而现代企业级软件通常采用中心化的系统架构,具有复杂性、高性能和大数据量的特性。
[0003]传统区块链网络支持简单和小数据量的去中心化应用程序,以太网是其中的代表。传统区块链难以应用于现代企业级软件,如何有效地存储大数据量,同时具有区块链特有的不可篡改特性,成为区块链操作系统大规模服务于现代企业级软件的障碍。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种基于区块链的文件存储和读取方法、装置、设备和介质。
[0005]一种基于区块链的文件存储方法,所述方法包括:
[0006]将文件切分成至少两个信息块并在每一个所述信息块上绑定一个不同的粒子积数;
[0007]将绑定了粒子积数的所述信息块分布存储到所述区块链操作系统的各个文件服务器上;
[0008]根据文件属性、信息块属性以及所有所述粒子积数的唯一特征值生成数字指纹;
[0009]将所述数字指纹写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数。
[0010]在其中一个实施例中,还包括:
[0011]向可信任节点发送粒子积数申请请求,所述粒子积数申请请求用于指示所述可信任节点通过粒子积数申请请求发送方的配对节点,对所述粒子积数申请请求进行验证,且在验证通过后向所述粒子积数申请请求发送方发送粒子积数;所述可信任节点发送的粒子积数由所述可信任节点组装区块时所产生的。
[0012]在其中一个实施例中,所述将所述数字指纹写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数,包括:
[0013]将所述数字指纹和所有所述粒子积数的哈希值写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数且向所述可信任节点发送粒子积数数量增加请求;所述粒子积数数量增加请求携带了与所述被注销粒子积数的数量一致的待增加的粒子积数数量,以使得所述可信任节
点根据所述粒子积数数量增加请求生成新的粒子积数。
[0014]在其中一个实施例中,所述根据文件属性、信息块属性以及所有所述粒子积数的唯一特征值生成数字指纹,包括:
[0015]按照所述信息块的排列顺序,基于所有所述信息块上粒子积数的哈希值生成目标马克勒树根值;
[0016]根据所述文件属性、信息块属性以及目标马克勒树根值生成所述数字指纹。
[0017]在其中一个实施例中,在所述将绑定了粒子积数的所述信息块分布存储到所述区块链操作系统的各个文件服务器上之前,还包括:
[0018]加密所述信息块;
[0019]在将所述数字指纹写入区块链之前,还包括:
[0020]加密所述数字指纹。
[0021]一种基于区块链的文件读取方法,所述方法包括:
[0022]获取区块链上的数字指纹;
[0023]当所述账户和所述数字指纹的账户相同时,读取所述数字指纹;
[0024]对所述数字指纹进行处理得到文件属性、信息块属性以及粒子积数特征值;
[0025]根据所述文件属性、所述信息块属性以及所述粒子积数特征值读取所有所述信息块并合成目标文件。
[0026]在其中一个实施例中,所述信息块之间通过相邻信息块属性连接;所述根据所述文件属性、所述信息块属性以及所述粒子积数特征值读取所有所述信息块并合成目标文件,包括:
[0027]根据所述信息块属性和所述信息块的相邻信息块属性找到所有所述信息块;
[0028]当所述账户和所述信息块上粒子积数的拥有者账户相同时,读取所述信息块;每一个所述信息块上绑定了一个不同的粒子积数;
[0029]在读取完最后一个所述信息块之后,判断所有所述信息块上粒子积数的拥有者账户是否相同;
[0030]当所有所述信息块上粒子积数的拥有者账户相同时,将所有所述信息块合成所述目标文件。
[0031]在其中一个实施例中,所述粒子积数特征值是信息块写入方按照所述信息块的排列顺序,基于所有所述信息块上粒子积数的哈希值计算得到的目标马克勒树根值;在所述将所有所述信息块合成所述目标文件之前,还包括:
[0032]按照所述信息块的排列顺序,基于所有所述信息块上粒子积数的哈希值计算得到待判断马克勒树根值;
[0033]判断待判断马克勒树根值是否和所述粒子积数特征值相同。
[0034]在其中一个实施例中,所述对所述数字指纹进行处理并得到文件属性、信息块属性以及粒子积数特征值之前,还包括:
[0035]解密所述数字指纹;
[0036]在将所有所述信息块合成所述目标文件之前,还包括:
[0037]解密所有所述信息块。
[0038]一种基于区块链的文件存储装置,所述装置包括:
[0039]信息块初始化模块,用于将文件切分成至少两个信息块并在每一个所述信息块上绑定一个不同的粒子积数;
[0040]信息块存储模块,用于将绑定了粒子积数的所述信息块分布存储到所述区块链操作系统的各个文件服务器上;
[0041]数字指纹生成模块,用于根据文件属性、信息块属性以及所有所述粒子积数的唯一特征值生成数字指纹;
[0042]数字指纹写入模块,用于将所述数字指纹写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数。
[0043]一种基于区块链的文件读取装置,所述装置包括:
[0044]数字指纹获取模块,用于获取区块链上的数字指纹;
[0045]数字指纹读取模块,用于读取所述数字指纹;
[0046]数字指纹处理模块,用于对所述数字指纹进行处理得到文件属性、信息块属性以及粒子积数特征值;
[0047]目标文件合成模块,用于根据所述文件属性、所述信息块属性以及粒子积数特征值读取所有所述信息块并合成目标文件。
[0048]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中所述的方法的步骤。
[0049]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中所述的方法的步骤。
[0050]上述基于区块链的文件存储和读取方法、装置、设备和介质,通过信息块机制将大数据文件切分成不同的信息块,同时通过结合粒子积数机制和数字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的文件存储方法,其特征在于,所述方法包括:将文件切分成至少两个信息块并在每一个所述信息块上绑定一个不同的粒子积数;将绑定了粒子积数的所述信息块分布存储到所述区块链操作系统的各个文件服务器上;根据文件属性、信息块属性以及所有所述粒子积数的唯一特征值生成数字指纹;将所述数字指纹写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:向可信任节点发送粒子积数申请请求,所述粒子积数申请请求用于指示所述可信任节点通过粒子积数申请请求发送方的配对节点,对所述粒子积数申请请求进行验证,且在验证通过后向所述粒子积数申请请求发送方发送粒子积数;所述可信任节点发送的粒子积数由所述可信任节点组装区块时所产生的。3.根据权利要求1所述的方法,其特征在于,所述将所述数字指纹写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数,包括:将所述数字指纹和所有所述粒子积数的哈希值写入区块链,并向所述文件服务器发送文件写入完成的指令,以使得所述文件服务器注销所述文件对应的所有所述信息块上的粒子积数且向所述可信任节点发送粒子积数数量增加请求;所述粒子积数数量增加请求携带了与所述被注销粒子积数的数量一致的待增加的粒子积数数量,以使得所述可信任节点根据所述粒子积数数量增加请求生成新的粒子积数。4.根据权利要求1所述的方法,其特征在于,所述根据文件属性、信息块属性以及所有所述粒子积数的唯一特征值生成数字指纹,包括:按照所述信息块的排列顺序,基于所有所述信息块上粒子积数的哈希值生成目标马克勒树根值;根据所述文件属性、信息块属性以及目标马克勒树根值生成所述数字指纹。5.根据权利要求1所述的方法,其特征在于,在所述将绑定了粒子积数的所述信息块分布存储到所述区块链操作系统的各个文件服务器上之前,还包括:加密所述信息块;在将所述数字指纹写入区块链之前,还包括:加密所述数字指纹。6.一种基于区块链的文件读取方法,其特征在于,所述方法包括:获取区块链上的数字指纹;当所述账户和所述数字指纹的账户相同时,读取所述数字指纹;对所述数字指纹进行处理得到文件属性、信息块属性以及粒子积数特征值;根据所述文件属性、所述信息块属性以及所述粒子积数特征值读取所有所述信息块并合成目标文件。7.根据权利要求6所述的基于区块链的文件读取方法,其特征在于,所述信息块之间通过相邻信息块属性连接;所述根据所述文件属性、所...

【专利技术属性】
技术研发人员:张卓傅力
申请(专利权)人:傅力
类型:发明
国别省市:

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

1