This application discloses a file processing method, which includes: using an erasure code algorithm to encode a file into multiple data blocks, storing the multiple data blocks in at least two storage nodes, the storage nodes include at least two storage nodes in a distributed file system, where one data block is stored only once, and storing the file index of the file in a block chain network; Each data block in the plurality of data blocks has its own storage address and the hash value associated with the file. In this way, the data redundancy is greatly reduced, the data reliability is improved with less data redundancy, and the utilization of storage space is improved. In addition, the method adopts the joint storage mode of block chain network and out-of-chain distributed storage system, reduces the storage pressure of block chain network, and expands the storage capacity by introducing distributed file system. The application also discloses a document processing device, device, medium and computer program product.
【技术实现步骤摘要】
一种文件处理方法、装置、设备及计算机可读存储介质
本申请涉及区块链
,尤其涉及一种文件处理方法、装置、设备及计算机可读存储介质。
技术介绍
随着区块链技术近几年的快速发展,区块链网络几乎可以应用到任何领域,如在金融、物流、公共服务器、物联网等领域都已经有大量的应用案例。区块链在各个领域的应用中,都是基于其所具有的多方共识、交易溯源、以及不可篡改等技术特点,以用于实现数据存储。因此,区块链的本质也可以理解为是一种特殊的分布式数据库,其主要用于存储数据。目前在各个领域中应用区块链网络实现数据存储时,随着业务量的快速增长,区块链网络所面临的数据存储压力也在快速增长,考虑到区块链网络中节点容量和性能的有限的情况,为了满足数据存储需求,通常会在区块链网络之外,再额外增加部署一套存储系统,称之为链外存储系统,其专门用于存储数据本身,而将数据本身在该存储系统中的地址信息以及数据本身的哈希值存在区块链网络中,以保证数据的可靠性。由于数据本身存储在该链外存储系统中,该链外存储系统并没有防篡改功能,因此原始数据很容易被篡改或者删除,而一旦原始数据被篡改或者被删除,将会导致原始数据无法被恢复,数据的安全性存在很大隐患。目前为了提高数据的安全性,在该存储系统中通常采用多副本数据冗余技术增加区块链外存储的数据的安全性,这又额外增加了存储系统的存储压力,降低了存储系统的存储空间利用率。可见,现阶段亟需提供一种方案以同时解决存储文件时区块链网络存储容量有限和数据存储安全性不足的问题。
技术实现思路
本申请实施例提供了一种文件处理方法,该方法利用纠删码算法将文件编码生成包含原始数据块和 ...
【技术保护点】
1.一种文件处理方法,其特征在于,应用于客户端,包括:利用纠删码算法将文件编码生成多个数据块,所述多个数据块包括文件的原始数据块以及校验块;将所述多个数据块存储于至少两个存储节点,所述存储节点至少包括分布式文件系统中的存储节点;其中,一个数据块只被存储一次;以及,在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的存储地址以及所述文件相关的哈希值。
【技术特征摘要】
1.一种文件处理方法,其特征在于,应用于客户端,包括:利用纠删码算法将文件编码生成多个数据块,所述多个数据块包括文件的原始数据块以及校验块;将所述多个数据块存储于至少两个存储节点,所述存储节点至少包括分布式文件系统中的存储节点;其中,一个数据块只被存储一次;以及,在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的存储地址以及所述文件相关的哈希值。2.根据权利要求1所述的方法,其特征在于,所述将所述多个数据块存储于至少两个存储节点,包括:将所述多个数据块全部存储于所述分布式文件系统中的至少两个存储节点。3.根据权利要求1所述的方法,其特征在于,所述将所述多个数据块存储于至少两个存储节点,包括:将所述多个数据块中的至少一个数据块存储于所述区块链网络中的存储节点中,并且,将所述多个数据块中除去所述至少一个数据块之外的其余数据块存储于所述分布式文件系统中的存储节点中。4.根据权利要求3所述的方法,其特征在于,所述校验块包括:全局校验块和局部校验块;则所述将所述多个数据块中的至少一个数据块存储于所述区块链网络中的存储节点中,包括:至少将所述多个数据块中的所述全局校验块存储于所述区块链网络中的存储节点中。5.根据权利要求1所述的方法,其特征在于,所述利用纠删码算法将文件编码生成多个数据块,包括:利用纠删码算法将文件编码生成N个数据块,所述N为所述区块链网络的节点个数,所述N为大于等于2的正整数;其中,所述N个数据块中包括N1个原始数据块和N2个校验块,其中,N1与N2的和值为N,且N2是所述区块链网络所采用的共识算法的容错系数和所述区块链网络的节点个数的乘积。6.根据权利要求1所述的方法,其特征在于,所述分布式文件系统基于内容的地址存储数据块,所述内容的地址是基于数据块内容确定的哈希值;则在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的存储地址以及所述文件相关的哈希值,包括:在区块链网络中存储所述文件的文件索引以及与所述文件索引对应的所述多个数据块中每个数据块各自的哈希值。7.根据权利要求1所述的方法,其特征在于,所述在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的存储地址以及所述文件相关的哈希值,包括:在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的域名存储地址以及所述多个数据块中每个数据块各自的哈希值;或者,在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的域名存储地址以及所述文件的哈希值。8.根据权利要求6或7所述的方法,其特征在于,所述在区块链网络中存储所述多个数据块中每个数据块各自的哈希值,包括:采用梅克尔树结构在区块链网络中存储所述多个数据块中每个数据块各自的哈希值。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述区块链网络中存储的所述文件相关的哈希值,校验所述文件对应的所述多个数据块是否发生变化;若检验...
【专利技术属性】
技术研发人员:胡慧潘,任珊,刘景春,王智慧,
申请(专利权)人:浙江鲸腾网络科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。