CN108279995A - 一种基于安全再生码的分布式存储系统的存储方法 - Google Patents
一种基于安全再生码的分布式存储系统的存储方法 Download PDFInfo
- Publication number
- CN108279995A CN108279995A CN201810090235.2A CN201810090235A CN108279995A CN 108279995 A CN108279995 A CN 108279995A CN 201810090235 A CN201810090235 A CN 201810090235A CN 108279995 A CN108279995 A CN 108279995A
- Authority
- CN
- China
- Prior art keywords
- node
- symbol
- vector
- help
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明提供一种基于安全再生码的分布式存储系统的存储方法。将上传文件分块编码,编码前对文件进行预处理,编码后存到N个存储节点中,新节点接收到其它d个节点各发来的帮助符号,利用编码矩阵唯一性确定等式进行逆运算,完成损坏节点的再生修复,再通过接受d+1个节点各发来的帮助符号,对比两次再生结果,检测再生节点是否有误,若有误则再通过接受N‑1个节点各发来的帮助符号,利用帮助符号的冗余性确定生成错误帮助符号的损坏节点,并进行修正,实现恢复再生功能。本发明通过基于安全再生码的大数据安全存储、修复及访问技术,实现了对存储节点的安全访问、数据修复功能,可为数据的存储、获取、共享、处理提供服务。
Description
技术领域
本发明涉及大数据的分布式存储及数据修复技术领域,尤其涉及一种基于安全再生码的分布式存储系统的存储方法。
背景技术
当今世界已步入大数据时代,数据呈现爆炸式的增长,传统的数据存储方式已经不能适应大数据环境下的数据存储。分布式云存储系统的出现和发展,从灵活性、可用性、安全性、稳定性等各个方面满足了大数据环境下新的数据存储需求。但是目前市场上的云存储系统多采取两种方式进行数据分布式存储: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为本发明实施例提供的一种基于安全再生码的分布式存储系统的存储方法的步骤流程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
本发明实施例提出一种基于安全再生码的分布式存储系统的存储方法,图1为该方法的流程示意图,如图1所示:
基于安全再生码编码技术,步骤如下:
将上传文件分成k块,编码后存到N个存储节点中,每个存储节点存储α个符号。在修复故障存储节点的单个文件编码块时,需要从d个正常存储节点各下载β个符号。在重建源文件时,需要从k个正常存储节点各下载α个符号。各参数之间满足如下关系,B为上传文件大小,
d=2α=2k-2;
B=α(α+1)
编码公式为:
C=ΨS
其中,Ψ为N×d编码矩阵,S为d×α数据矩阵,C为N×α码字矩阵。编码完成后,1×α向量分别存储于N个存储节点。
为了数据的安全存储,在进行安全再生码编码之前,本地会利用线性反馈移位寄存器(LFSR)与反馈多项式在本地生成B个随机序列符号。编码前将本地随机序列符号与原始B个符号进行异或运算,得到的结果用于安全再生码的数据部分,公式如下:
s=m+r=[s1,s2,…,sB]
将s填入上下两个对称矩阵S1,S2:
矩阵排布规则如下:因为是对称矩阵,故第二行第一列的元素同第一行第二列的元素,第二行第二列的元素自第一行最后一个元素起继续加1,共排布α-1个元素,故第二行最后一列的元素为s2α-1,依次类推,S2排布规则同S1:
编码矩阵其中
Λ为对角矩阵,Λ=diag[λ1,λ2,…,λα]。
基于安全再生码再生技术,具体步骤如下:
假设故障存储节点,即失效节点为z,重新生成失效节点z上符号cz,步骤如下:
1)新节点z′向d个帮助节点发起请求,假设d个帮助节点编号为hi,i=1,2,…,d,每个节点向z′发送符号,其中为φz的转置矩阵:
2)收到d个帮助节点的帮助符号后,新节点可以建立如下方程:
其中,为d*1向量,为前一半元素组成的向量,为后一半元素组成的向量,sz由得出。
3)新节点根据如下公式计算出失效节点上的符号:
基于安全再生码编码的检测再生技术,具体步骤如下:
假设失效节点为z,检测重新生成失效节点z上符号cz是否正确的步骤如下:
定义其中ψt为矩阵Ψ的第t行。
设p′i=pi+ei,当ei为0时,表明节点i发送的帮助符号无误,为了检测是否有错误的帮助符号,将进行如下步骤:
1)新节点z′向d+1个帮助节点发起请求,假设d+1个帮助节点编号为hi,i=1,2,…,d+1,每个节点向z′发送帮助符号其中为φz的转置矩阵:
2)收到d+1个帮助节点的帮助符号后,新节点z′先利用1~d个帮助节点发送的帮助符号建立如下方程:
3)新节点z′再利用2~d+1个帮助节点发送的帮助符号建立如下方程:
4)根据步骤2、3计算得到向量x1、x2,比较向量x1、x2,若向量x1、x2相等,则再生无误,利用公式,
计算cz,为x1前一半元素组成的向量,为x1后一半元素组成的向量。如不等,则再生过程出错,需要利用恢复再生技术。
基于安全再生码编码的恢复再生技术,详细步骤如下:
假设失效节点为z,经检测后发现生成失效节点z上符号cz出错,恢复符号cz步骤如下:
1)新节点z′向其余N-1个帮助节点发起请求,假设N-1个帮助节点编号为hi,i=1,2,…,N-1,每个节点向z′发送帮助符号,其中为φz的转置矩阵:
2)新存储节点收到N-1个正常节点的符号后,新存储节点可建立如下方程:
3)定义p′为MDS码,MDS码为最大距离可分码,MDS码的参数分别为(N-1,d,N-d)。对p′进行纠错解码,可计算出正确的码字pcw。比较p′和pcw,若p′和pcw的第i个元素不同,标记节点i损坏。
4)利用前述基于安全再生码再生技术,在z′上恢复出失效节点上的符号。
实施例二
本实施例提供了一种基于安全再生码的分布式存储系统的存储方法,其具体如下:
将上传文件分成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由得出。
综上所述,本发明实施例通过基于安全再生码的大数据安全存储、修复及访问技术,实现了对存储节点的安全访问、数据修复功能,可为数据的存储、获取、共享、处理提供服务。切块后的文件选择正常存储节点中的若干节点进行文件存储,实现上传、下载等功能。当一个节点或若干节点损坏时,系统只需从其余正常的若干节点中获取部分元数据,即可进行最小存储再生码修复,实现理论最优值。该方案具有很好的隐私保护性能,一定程度上保护了数据的安全。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
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所述的存储方法,其特征在于,
采用检测再生方法检测新存储节点单个文件编码块修复是否出错,具体如下:
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由V1,d -1p′1得出;如果向量x1、x2不等,则再生过程出错,执行恢复再生方法。
6.根据权利要求5所述的存储方法,其特征在于,
所述恢复再生方法具体如下:
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由得出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810090235.2A CN108279995A (zh) | 2018-01-30 | 2018-01-30 | 一种基于安全再生码的分布式存储系统的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810090235.2A CN108279995A (zh) | 2018-01-30 | 2018-01-30 | 一种基于安全再生码的分布式存储系统的存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108279995A true CN108279995A (zh) | 2018-07-13 |
Family
ID=62805854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810090235.2A Pending CN108279995A (zh) | 2018-01-30 | 2018-01-30 | 一种基于安全再生码的分布式存储系统的存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279995A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165113A (zh) * | 2018-09-04 | 2019-01-08 | 苏州和欣致远节能科技有限公司 | 一种数据文件修复的方法 |
CN112532252A (zh) * | 2020-11-24 | 2021-03-19 | 深圳市大数据研究院 | 编码方法、译码方法、电子设备及存储介质 |
CN112732203A (zh) * | 2021-03-31 | 2021-04-30 | 中南大学 | 一种再生码构造方法、文件重构方法及节点修复方法 |
CN116880778B (zh) * | 2023-09-07 | 2023-11-21 | 杭州迅杭科技有限公司 | 一种基于再生编码及分布式存储的用户隐私保护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2999124A1 (en) * | 2014-09-19 | 2016-03-23 | Thomson Licensing | Fast product-matrix regenerating codes |
WO2017041231A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种精确修复的二进制再生码编解码 |
WO2017041233A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种功能修复再生码的编码和存储节点修复方法 |
-
2018
- 2018-01-30 CN CN201810090235.2A patent/CN108279995A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2999124A1 (en) * | 2014-09-19 | 2016-03-23 | Thomson Licensing | Fast product-matrix regenerating codes |
WO2017041231A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种精确修复的二进制再生码编解码 |
WO2017041233A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种功能修复再生码的编码和存储节点修复方法 |
Non-Patent Citations (3)
Title |
---|
K. V. RASHMI ET AL.: "Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
张际先等: "《神经网络及其在工程中的应用》", 31 March 1996, 机械工业出版社 * |
李超: "信息安全与信息可靠性研究中的编码密码理论与技术", 《中国优秀博硕士学位论文全文数据库 (博士)信息科技辑(季刊)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165113A (zh) * | 2018-09-04 | 2019-01-08 | 苏州和欣致远节能科技有限公司 | 一种数据文件修复的方法 |
CN109165113B (zh) * | 2018-09-04 | 2021-10-22 | 苏州和欣致远节能科技有限公司 | 一种数据文件修复的方法 |
CN112532252A (zh) * | 2020-11-24 | 2021-03-19 | 深圳市大数据研究院 | 编码方法、译码方法、电子设备及存储介质 |
CN112532252B (zh) * | 2020-11-24 | 2024-04-02 | 深圳市大数据研究院 | 编码方法、译码方法、电子设备及存储介质 |
CN112732203A (zh) * | 2021-03-31 | 2021-04-30 | 中南大学 | 一种再生码构造方法、文件重构方法及节点修复方法 |
CN112732203B (zh) * | 2021-03-31 | 2021-06-22 | 中南大学 | 一种再生码构造方法、文件重构方法及节点修复方法 |
CN116880778B (zh) * | 2023-09-07 | 2023-11-21 | 杭州迅杭科技有限公司 | 一种基于再生编码及分布式存储的用户隐私保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279995A (zh) | 一种基于安全再生码的分布式存储系统的存储方法 | |
CN108540520B (zh) | 基于部分重复码的局部性修复编码及节点故障修复方法 | |
CN102640422B (zh) | 为编码和解码过程采用使码元永久钝化的fec码的方法和装置 | |
Shum et al. | Exact minimum-repair-bandwidth cooperative regenerating codes for distributed storage systems | |
CN104364765A (zh) | 分布式数据存储系统中的数据存储和维护的方法以及对应设备 | |
RU2680350C2 (ru) | Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации | |
CN107656832A (zh) | 一种低数据重建开销的纠删码方法 | |
US20140317222A1 (en) | Data Storage Method, Device and Distributed Network Storage System | |
CN105721611A (zh) | 一种由极大距离可分存储码生成最小存储再生码的一般方法 | |
EP2413506A1 (en) | Method for adding redundancy data to a distributed data storage system and corresponding device | |
CN106776129A (zh) | 一种基于最小存储再生码的多节点数据文件的修复方法 | |
CN111679939B (zh) | 数据备份方法及系统 | |
EP2570925A1 (en) | Method of exact repair of pairs of failed storage nodes in a distributed data storage system and corresponding device | |
CN103916483A (zh) | 一种针对编码冗余存储系统的自适应数据存储与重构方法 | |
EP2845100A1 (en) | Method of storing a data item in a distributed data storage system, corresponding storage device failure repair method and corresponding devices | |
CN106776112A (zh) | 一种基于Pyramid码的局部性修复编码方法 | |
CN108347306B (zh) | 分布式存储系统中类局部重构码编码及节点故障修复方法 | |
CN110389848B (zh) | 基于分块构造的部分重复码构造方法及故障节点修复方法 | |
CN103703446B (zh) | 网络存储中抗拜占庭失效的数据重构、失效数据恢复方法及装置 | |
CN111314090B (zh) | 一种基于比特级门限的安全多云端口令管理方法 | |
Han et al. | Efficient exact regenerating codes for byzantine fault tolerance in distributed networked storage | |
CN103650462A (zh) | 基于同态的自修复码的编码、解码和数据修复方法及其存储系统 | |
CN105007286B (zh) | 解码方法和装置及云存储方法和系统 | |
CN115454712B (zh) | 一种校验码恢复方法、系统、电子设备及存储介质 | |
CN115499453B (zh) | 面向联盟链的分片存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180713 |
|
RJ01 | Rejection of invention patent application after publication |