一种文件处理方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:20622304 阅读:23 留言:0更新日期:2019-03-20 14:18
本申请公开了一种文件处理方法,包括:利用纠删码算法将文件编码生成多个数据块,将所述多个数据块存储于至少两个存储节点,所述存储节点至少包括分布式文件系统中的存储节点;其中,一个数据块只被存储一次;在区块链网络中存储所述文件的文件索引、所述多个数据块中每个数据块各自的存储地址以及所述文件相关的哈希值。如此,大幅降低了数据冗余度,实现以更小的数据冗余度获得更高数据可靠性,提高了存储空间利用率。并且,该方法采用了区块链网络与链外式分布存储系统联合存储的方式,降低了区块链网络的存储压力,通过引入分布式文件系统,扩展了存储容量。本申请还公开了一种文件处理装置、设备、介质以及计算机程序产品。

A File Processing Method, Device, Equipment and Computer Readable Storage Media

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为本申请实施例中一种文件处理方法的场景示意图;图2为本申请实施例中一种文件处理方法的方法流程图;图3为本申请实施例中一种存储数据块的实现方式的示意图;图4为本申请实施例中一种存储数据块的实现方式的示意图;图5为本申请实施例中一种文件处理方法的方法流程图;图6为本申请实施例中一种文件处理方法的方法流程图;图7为本申请实施例中一种文件处理装置的结构示意图;图8为本申请实施例中一种文件处理设备的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为了便于理解,首先对本申请涉及的专业名词及术语进行解释。纠删码算法是一种能够对删除数据进行恢复的算法,常常用于数据存储领域,保障数据安全性。其核心思想在于,将n块原始数据元素通过一定计算得到m块冗余元素,n和m为正整数,对于这n+m块元素,当其中任意m块元素出错时,均可以通过对应的重构算法恢复出原来的n块数据。分布式文件系统(DistributedFileSystem,DFS)是一种采用分布式存储技术进行数据存储的文件系统,其是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点连接,其中,分布式存储技术是指将数据分散存储在多台独立的设备上,以满足大规模存储应用的需求。一个典型的网络可能包括多个供用户访问的服务器。在分布式文件系统中,往往将一台服务器或者服务器上运行的一个进程称之为一个节点,节点与节点之间通过网络互连。区块链网络也被简称为区块链,其可以理解为一种去中心化的数据库,是一种按照时间顺序将数据区块以顺序连接的方式组合成一种链式数据结构,并以密码学方式保证数据的不可篡改和不可伪造的分布式账本。区块链是由一个个区块组成,每次写入数据相当于创建一个区块,区块链网络中的各个节点会进行同步操作,以保证区块链一致性,如此,区块链网络中的每个节点均会对写入的数据进行保存,因而能够实现交易溯源以及不可篡改。针对现有技术中在进行文件存储时本文档来自技高网
...

【技术保护点】
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

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

1