一种基于安全再生码的分布式存储系统的存储方法技术方案

技术编号:18444710 阅读:23 留言:0更新日期:2018-07-14 10:17
本发明专利技术提供一种基于安全再生码的分布式存储系统的存储方法。将上传文件分块编码,编码前对文件进行预处理,编码后存到N个存储节点中,新节点接收到其它d个节点各发来的帮助符号,利用编码矩阵唯一性确定等式进行逆运算,完成损坏节点的再生修复,再通过接受d+1个节点各发来的帮助符号,对比两次再生结果,检测再生节点是否有误,若有误则再通过接受N‑1个节点各发来的帮助符号,利用帮助符号的冗余性确定生成错误帮助符号的损坏节点,并进行修正,实现恢复再生功能。本发明专利技术通过基于安全再生码的大数据安全存储、修复及访问技术,实现了对存储节点的安全访问、数据修复功能,可为数据的存储、获取、共享、处理提供服务。

Storage method of distributed storage system based on secure reproducing code

The invention provides a storage method of a distributed storage system based on a secure reproducing code. The uploaded file is coded in block, before the code is preprocessed, the code is stored in the N storage node. The new node receives the help symbols from other d nodes, and uses the uniqueness of the encoding matrix to determine the equation to perform the inverse operation, and completes the regeneration and repair of the damaged node, and then by accepting the help from the d+1 nodes. By comparing the results of the two regeneration, the symbol is used to detect whether the regenerated node is mistaken, and if there is a mistake, by accepting the help symbols from the 1 nodes of N, the damage node of the help symbol is determined by the redundancy of the help symbol, and the correction is made to restore the regenerative function. The invention realizes the secure access to the storage node and the data repair function through the secure storage, repair and access technology based on the secure regenerated code, which can provide service for the storage, acquisition, sharing and processing of data.

【技术实现步骤摘要】
一种基于安全再生码的分布式存储系统的存储方法
本专利技术涉及大数据的分布式存储及数据修复
,尤其涉及一种基于安全再生码的分布式存储系统的存储方法。
技术介绍
当今世界已步入大数据时代,数据呈现爆炸式的增长,传统的数据存储方式已经不能适应大数据环境下的数据存储。分布式云存储系统的出现和发展,从灵活性、可用性、安全性、稳定性等各个方面满足了大数据环境下新的数据存储需求。但是目前市场上的云存储系统多采取两种方式进行数据分布式存储:1.简单增加文件拷贝数,每个数据中心均存有完整文件拷贝;2.采用reed-solomon码对源文件进行编码,将编码后的文件分割存于不同数据中心。对于方式1来说,其缺点在于存储效率过低,而且必须采用一定的加密算法才能保证数据不被泄漏,而且传统的加密会影响数据传输效率;对于方式2来说,虽然存储效率有一定程度提高,但修复损坏节点以及恢复文件时的带宽占用仍离理论极限差距较大;这两种方式导致整个云存储安全模型不完备,性能不能达到最优、而且安全性较差。然而随着分布式存储系统集群的扩张和云存储的广泛应用,冗余编码逐渐应用于分布式存储系统中保证数据的可靠性,减少了存储容量和存储成本。常用的纠错码有RS码。(n,k)-RS码是一种最大距离可分MDS码,也就是所有数据存储在n个节点中,其中,任意k个节点的数据可以恢复出原始数据。(n,k)-RS保证了最多可失效(n-k)节点而原数据不丢失。而分布式存储系统中,单个节点的失效是常态,多个节点的失效不常见。将RS码应用于分布式存储系统中有几点值得注意:1)RS码修复一个节点的数据所需要的修复带宽远大于该节点数据的数据量,从信息角度来说,传输过量数据用于修复少量数据是一种浪费;2)RS码修复一个存储节点和多个存储节点所需要下载数据量是一样的。从本质上看导致以上2点的原因是:RS码的修复重建了原始数据并重新对丢失的数据进行编码,所以每次修复无论修复数据量的大小,都必须从网络上传输相当于原始数据量大小的数据。云存储系统中存储了海量数据,如何减少因为数据丢失而产生的修复数据量是云存储系统需要面对的关键问题之一。因此需要研究一种具有高可靠性、高效性以及易扩展性的分布式大数据安全存储模型以及关键技术。同时,采用安全高效的元数据修复方法也是十分有必要的。
技术实现思路
本专利技术提供了一种基于安全再生码的分布式存储系统的存储方法,基于安全再生码的大数据安全存储、修复及访问技术,实现了对存储节点的安全访问、数据修复功能,可为数据的存储、获取、共享、处理提供服务。为了实现上述目的,本专利技术采取了如下技术方案:本专利技术提供了一种基于安全再生码的分布式存储系统的存储方法,其具体如下:将上传文件分成k块,将各分块编码后存到N个存储节点中,每个存储节点存储α个符号,作为文件编码块;在修复故障存储节点的单个文件编码块时,先建立新存储节点,再从所述N个存储节点中选取d个正常存储节点,所述d个正常存储节点各向所述新存储节点发送β个符号进行编码块修复;在重建源文件时,从所述N个存储节点中选取k个正常存储节点,所述k个正常存储节点各向文件请求端发送α个符号进行节点重建。进一步地,重新生成故障节点的单个文件编码块所需的总带宽为γ=dβ,存储节点参数满足如下关系:其中,α和β为设定值,α表示每个存储节点中所存的符号数,β表示在修复故障节点的单个文件编码块时,从单个正常存储节点下载的符号数;k=(α+β)/β,k表示在重建源文件时需要连接的最少节点数和表示分块数量;d表示修复损坏节点时需要连接的最少节点数;B=kα,B表示上传文件的大小,γ表示在修复故障节点的单个文件编码块时所需的总带宽。进一步地,(1)分块编码前将文件中的B个符号与本地生成的随机序列进行异或运算,如下:s=m+r=[s1,s2,…,sB]其中,m为文件中符号组成的向量,r为本地生成的随机序列符号组成的向量;将s填入两个对称矩阵S1,S2:(2)分块编码矩阵其中,(3)进行分块编码,C=ΨS其中,Ψ为N×d编码矩阵,为d×α数据矩阵,C为N×α码字矩阵;Λ为对角矩阵,Λ=diag[λ1,λ2,…,λα];ρ为有限域GF(q)中的本原元素;(4)分块编码完成后,将C中的1×α向量分别存储于所述N个存储节点中。进一步地,(1)所述d个正常存储节点各向新存储节点z′发送β个符号进行故障节点z的单个文件编码块修复,其中,hi表示正常存储节点,i=1,2,…d,为φz的转置矩阵,T为转置符号,为hi节点上所存的文件编码块,为hi节点生成的帮助符号;(2)故障存储节点中的符号由如下公式得出:新存储节点满足如下关系:其中,为d*1向量,为前一半元素组成的向量,为后一半元素组成的向量,sz由得出。进一步地,采用检测再生方法检测新存储节点单个文件编码块修复是否出错,具体如下:1)新存储节点向d+1个正常存储节点发送修复请求,该d+1个正常存储节点接收到请求后各向新存储节点发送β个符号,其中,hi表示正常存储节点,i=1,2,…d+1,为φz的转置矩阵,T为转置符号,为hi节点上所存的文件编码块,为hi节点生成的帮助符号;2)新存储节点收到d+1个正常节点的帮助符号后,先利用正常节点h1~hd发送的符号建立如下方程:其中,V1,d是节点h1~hd对应的编码矩阵,p′1为接收到的相应帮助符号向量,表示接收到的帮助符号3)新存储节点再利用正常存储节点h2~hd+1发送的帮助符号建立如下方程:其中,V2,d+1是节点h2~hd+1对应的编码矩阵,p′2为接收到的相应帮助符号向量,表示接收到的帮助符号4)根据步骤2)、3)计算得到向量x1、x2,比较向量x1、x2,若向量x1、x2相等,则再生过程无误,再进行如下计算修复损坏节点单个文件编码块:其中,为d*1向量,为前一半元素组成的向量,为后一半元素组成的向量,x1由得出。如果向量x1、x2不等,则再生过程出错,执行恢复再生方法。进一步地,所述恢复再生方法具体如下:1)新存储节点向剩余N-1个正常存储节点发送修复请求,该N-1个正常存储节点接收到请求后各向新存储节点发送β个符号,其中,hi表示正常存储节点,i=1,2,…N-1,为φz的转置矩阵,T为转置符号,为hi节点上所存的文件编码块,为hi节点生成的帮助符号;2)新存储节点收到N-1个正常节点的符号后,新存储节点可建立如下方程:其中,V1,N-1是节点h1~hN-1对应的编码矩阵,p′为接收到的相应帮助符号向量,表示接收到的帮助符号3)定义p′为MDS码,MDS码为最大距离可分码,MDS码的参数分别为(N-1,d,N-d),对p′进行纠错解码,可计算出正确的码字pcw,比较p′和pcw,若p′和pcw的第i个元素不同,标记节点i损坏;4)故障存储节点中的符号由如下公式得出:满足:其中,p为pcw前d行,为d*1向量,为前一半元素组成的向量,为后一半元素组成的向量,sz由得出。由上述本专利技术提供的技术方案可以看出,本专利技术基于安全再生码的大数据安全存储、修复及访问技术,实现了对存储节点的安全访问、数据修复功能,可为数据的存储、获取、共享、处理提供服务。切块后的文件选择正常存储节点中的若干节点进行文件存储,实现上传、下载等功能。当一个节点或若干节点损坏时,系本文档来自技高网
...

【技术保护点】
1.一种基于安全再生码的分布式存储系统的存储方法,其特征在于,将上传文件分成k块,将各分块编码后存到N个存储节点中,每个存储节点存储α个符号,作为文件编码块;在修复故障存储节点的单个文件编码块时,先建立新存储节点,再从所述N个存储节点中选取d个正常存储节点,所述d个正常存储节点各向所述新存储节点发送β个符号进行编码块修复;在重建源文件时,从所述N个存储节点中选取k个正常存储节点,所述k个正常存储节点各向文件请求端发送α个符号进行节点重建。

【技术特征摘要】
1.一种基于安全再生码的分布式存储系统的存储方法,其特征在于,将上传文件分成k块,将各分块编码后存到N个存储节点中,每个存储节点存储α个符号,作为文件编码块;在修复故障存储节点的单个文件编码块时,先建立新存储节点,再从所述N个存储节点中选取d个正常存储节点,所述d个正常存储节点各向所述新存储节点发送β个符号进行编码块修复;在重建源文件时,从所述N个存储节点中选取k个正常存储节点,所述k个正常存储节点各向文件请求端发送α个符号进行节点重建。2.根据权利要求1所述的存储方法,其特征在于,重新生成故障节点的单个文件编码块所需的总带宽为γ=dβ,存储节点参数满足如下关系:其中,α和β为设定值,α表示每个存储节点中所存的符号数,β表示在修复故障节点的单个文件编码块时,从单个正常存储节点下载的符号数;k=(α+β)/β,k表示在重建源文件时需要连接的最少节点数和表示分块数量;d表示修复损坏节点时需要连接的最少节点数;B=kα,B表示上传文件的大小,γ表示在修复故障节点的单个文件编码块时所需的总带宽。3.根据权利要求2所述的存储方法,其特征在于,(1)分块编码前将文件中的B个符号与本地生成的随机序列进行异或运算,如下:s=m+r=[s1,s2,…,sB]其中,m为文件中符号组成的向量,r为本地生成的随机序列符号组成的向量;将s填入两个对称矩阵S1,S2:(2)分块编码矩阵其中,(3)进行分块编码,C=ΨS其中,Ψ为N×d编码矩阵,为d×α数据矩阵,C为N×α码字矩阵;Λ为对角矩阵,Λ=diag[λ1,λ2,…,λα];ρ为有限域GF(q)中的本原元素;(4)分块编码完成后,将C中的1×α向量分别存储于所述N个存储节点中。4.根据权利要求3所述的存储方法,其特征在于,(1)所述d个正常存储节点各向新存储节点z′发送β个符号进行故障节点z的单个文件编码块修复,其中,hi表示正常存储节点,i=1,2,…d,为φz的转置矩阵,T为转置符号,为hi节点上所存的文件编码块,为hi节点生成的帮助符号;(2)故障存储节点中的符号由如下公式得出:新存储节点满足如下关系:其中,为d*1向量,为前一半元素组成的向量,为后一半元素组成的向量,sz由得出。5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:张振江刘云李坚马鸣雷秋雨周文彬
申请(专利权)人:北京交通大学
类型:发明
国别省市:北京,11

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

1