CN110895497A - 一种分布式存储中降低纠删码修复的方法及装置 - Google Patents

一种分布式存储中降低纠删码修复的方法及装置 Download PDF

Info

Publication number
CN110895497A
CN110895497A CN201911252519.8A CN201911252519A CN110895497A CN 110895497 A CN110895497 A CN 110895497A CN 201911252519 A CN201911252519 A CN 201911252519A CN 110895497 A CN110895497 A CN 110895497A
Authority
CN
China
Prior art keywords
data
data block
group
intra
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.)
Granted
Application number
CN201911252519.8A
Other languages
English (en)
Other versions
CN110895497B (zh
Inventor
高燕
张航
何磊
刘善政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN201911252519.8A priority Critical patent/CN110895497B/zh
Publication of CN110895497A publication Critical patent/CN110895497A/zh
Application granted granted Critical
Publication of CN110895497B publication Critical patent/CN110895497B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种分布式存储中降低纠删码修复的方法及装置,其方法包括:将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块。

Description

一种分布式存储中降低纠删码修复的方法及装置
技术领域
本发明涉及数据安全存储技术领域,特别涉及一种分布式存储中降低纠删码修复的方法及装置。
背景技术
随着近些年信息技术的快速发展,分布式存储系统在高性能,高可靠的方面取得了飞速进步,然而分布式存储系统,随着节点规模的不断增加,节点故障越来越频繁,其中单节点故障占比高达99.75%。在分布式存储系统中常使用数据副本和纠删码作为数据容错技术,而其中纠删码能以更低的存储开销提供更安全的数据保护,然而现有的纠删码在修复数据时会占用大量的修复带宽,同时数据编码复杂,数据解码恢复时间较高,同时在针对分布式存储系统中的单节点失效恢复优化时往往需要消耗额外的存储开销,使得资源严重浪费。低修复成本纠删码相对于传统纠删码技术,具有更快速,更高效的编码方式,同时能不占用额外的存储空间实现数据编码保存,同时在恢复单节点数据丢失时,能够减少修复带宽资源和修复时间。
发明内容
为解决上述的技术问题,本发明提供了一种分布式存储中降低纠删码修复的方法及装置。
根据本发明实施例提供的一种分布式存储中降低纠删码修复的方法,包括:
将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;
以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;
在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;
利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;
其中,所述N大于S;N,S,L均为正整数。
优选地,还包括:
确定所述每个数据小组内的数据块数量n;
将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
优选地,所述通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块包括:
通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合;
通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块。
优选地,所述通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块包括:
通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合;
通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
优选地,所述在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块包括:
在检测到所述纠删码数据中存在失效数据块时,判断所述失效数据块属于前段数据块还是属于后段数据块;
当判断所述失效数据块属于前段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP2类型组内编码数据块;
当判断所述失效数据块属于后段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP3类型组内编码数据块。
优选地,所述利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块包括:
当确定所述组内编码数据块是SP2类型组内编码数据块时,确定所述失效数据块所在的数据条带;
分别读取所述失效数据块所在数据条带的上一数据条带的活跃前段数据块和所在数据条带的活跃后段数据块;
通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP2类型组内编码数据块进行组合,形成新前段数据块集合;
通过对所述新前段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
优选地,所述利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块包括:
当确定所述组内编码数据块是SP3类型组内编码数据块时,依次确定所述失效数据块所在的数据条带;
分别读取所述失效数据块所在数据条带的活跃前段数据块和所在数据条带的下一数据条带的活跃后段数据块;
通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP3类型组内编码数据块进行组合,形成新后段数据块集合;
通过对所述新后段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
根据本发明实施例提供的一种分布式存储中降低纠删码修复的装置,包括:
划分模块,用于将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;
编码模块,用于以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;
确定模块,用于在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;
解码恢复模块,用于利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;
其中,所述N大于S;N,S,L均为正整数。
优选地,所述划分模块还包括:
确定单元,用于确定所述每个数据小组内的数据块数量n;
设置单元,用于将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
优选地,所述编码模块包括:
前段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合,以及通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块;
后段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合,以及通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
根据本发明实施例提供的方案,将条带进行分组,对分组的数据块进行分层旋转编码,显著减少了修复丢失数据所要传输的数据量,从而能够节省宝贵的网络带宽和磁盘I/0资源,且在快速修复节点失效时,能维持较好的容错能力,大幅提高分布式存储系统的数据可靠性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于理解本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例提供的一种分布式存储中降低纠删码修复的方法流程图;
图2是本发明实施例提供的一种分布式存储中降低纠删码修复的装置示意图;
图3是本发明实施例提供的分布式存储系统模块图;
图4是本发明实施例提供的分布式存储系统的实现方法流程图;
图5是本发明提供的纠删码数据条带划分编码示意图;
图6是本发明提供的纠删码前段数据旋转编码示意图;
图7是本发明提供的纠删码后段数据旋转编码示意图;
图8是本发明提供的纠删码前段数据旋转解码示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种分布式存储中降低纠删码修复的方法流程图,如图1所示,包括:
步骤S100:将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;
步骤S110:以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;
步骤S120:在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;
步骤S130:利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;
其中,所述N大于S;N,S,L均为正整数。
本发明还包括:确定所述每个数据小组内的数据块数量n;将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
其中,所述步骤S110包括:通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合;通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块。
其中,所述步骤S110还包括:通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合;通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
其中,所述步骤S120包括:在检测到所述纠删码数据中存在失效数据块时,判断所述失效数据块属于前段数据块还是属于后段数据块;当判断所述失效数据块属于前段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP2类型组内编码数据块;当判断所述失效数据块属于后段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP3类型组内编码数据块。
其中,所述步骤S130包括:当确定所述组内编码数据块是SP2类型组内编码数据块时,确定所述失效数据块所在的数据条带;分别读取所述失效数据块所在数据条带的上一数据条带的活跃前段数据块和所在数据条带的活跃后段数据块;通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP2类型组内编码数据块进行组合,形成新前段数据块集合;通过对所述新前段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
其中,所述步骤S130包括:当确定所述组内编码数据块是SP3类型组内编码数据块时,依次确定所述失效数据块所在的数据条带;分别读取所述失效数据块所在数据条带的活跃前段数据块和所在数据条带的下一数据条带的活跃后段数据块;通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP3类型组内编码数据块进行组合,形成新后段数据块集合;通过对所述新后段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
图2是本发明实施例提供的一种分布式存储中降低纠删码修复的装置示意图,如图2所示,包括:划分模块,用于将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;编码模块,用于以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;确定模块,用于在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;解码恢复模块,用于利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;其中,所述N大于S;N,S,L均为正整数。
其中,所述划分模块还包括:确定单元,用于确定所述每个数据小组内的数据块数量n;设置单元,用于将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
其中,所述编码模块包括:前段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合,以及通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块;后段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合,以及通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
图3是本发明实施例提供的分布式存储系统模块图,如图3所示,包括:数据上传模块101,接收用户上传的数据,同时对数据的安全性进行检测,检测上传的数据是否为空,是否为无效数据,是否有数据损坏。待所有的数据检测合格后,把数据传入下个模块。数据划分模块102,利用系统初始设定好的数据块编码大小按照(n,k)MDS性质,按照条带个数=[(数据大小/编码块大小)/k]公式对数据进行条带划分。同时按照设定的R大小,组合成条带集。数据编码模块103,对上传的数据按照条带集为单位进行旋转编码。数据诊断模块104,每个节点按照使用数据次数的大小依次检测数据的完整性,其检测方法包括随机读和随机下载两种方式,同时将检测结果返回给中心节点保存。数据解码模块105,在中心节点通知某节点失效,数据丢失时启用。数据解码模块利用旋转编码的存储方式,按照解码规律读取相应存活节点的数据,按照旋转解码方式组合成信息数据集合,以新的数据集合按照(n,k)MDS解码方式进行解码恢复数据。数据存取模块106,把编码后的数据以及数据解码模块把解码后的数据传递给数据存储模块,数据存储模块按照节点的数量以及每个节点的剩余存储空间大小分配存储节点,并完成数据的存储。
如图3和图4所示,数据上传模块实现数据的上传,同时对上传的数据进行安全性检验。数据划分模块对上传的数据按照数据块大小划分条带,并对条带进行合理性的组合成条带集。数据编码模块对条带组进行旋转编码。数据解码模块对因节点失效造成的数据丢失进行旋转解码恢复。数据诊断模块检测存储的数据是否丢失。数据存储模块存储编码过后的数据或者解码后的数据。
数据旋转编码方法。从(n,k)MDS码出发(n:一个条带的长度,k:条带中数据块个数),按照G×D方式(G为生成矩阵)生成m个编码块表示成P1,P2,P3,…,PM,同时将一个数据条带分为L个小组(记为Si,i=1,2,3,…..,L),每个小组包含kl个块,保持纠删码前m0个编码块不变,为每个小组计算m1=m-m0个组内编码块(其中m1>=3),假设每个小组前m1-2编码块称为SP1,第m1-1个编码块称为SP2,第m1个编码块称为SP3,小组Sl的编码块SP1的计算方法和PM一样,只是将其它数据块置0。同时多个数据条带组合成条带集,形成每个条带集包含R个条带,每个条带包含L个小组的结构,其中小组Sl的编码块SP2的计算方法为前段数据旋转编码,小组Sl的编码块SP3的计算方法为后段数据旋转编码。
设每个小组内的kl个块,设前t0个块为前段数据块(0<t<kl),则t1=kl-t0个块为后段数据块。则前段数据旋转方式为以条带集为编码单位,取每个小组前t0个数据块,加上前一个条带内相同位置的小组内的后段数据块组合成新的数据块集合,用新的数据块集合参与编码计算,计算方法和PM一样,只是将其它数据块置0。后段数据旋转方式为以条带集为编码单位,取每个小组前t0个数据块,加上后一个条带内相同位置的小组内的后段数据块组合成新的数据块集合,用新的数据块集合参与编码计算,计算方法和PM一样,只是将其它数据块置0。
一个数据旋转解码方法。从(n,k)MDS码出发生,当小组内的失效的数据块在前t0个时,取每个小组前t0个无失效的数据块,加上前一个条带内相同位置的小组内的后段无失效的数据块和SP2编码块,组合成数量为kl的新的数据集合。利用新的数据集合按照MDS解码方式进行解码恢复数据。当小组内的失效的数据块在后t1个时,取每个小组前t0个无失效的数据块,加上后一个条带内相同位置的小组内的后段无失效的数据块和SP3编码块,组合成数量为kl的新的数据集合。利用新的数据集合按照MDS解码方式进行解码恢复数据。
图5是本发明提供的纠删码数据条带划分编码示意图,如图5所示,图为(17,10)的低修复成本纠删码,其中P1是数据块D1,D2,…,D10编码块按照传统的G×D方式生成,其中G为生成矩阵。D1.D2….,D5和D6,D7,…,D10为一个条带划分的两个小组内的数据块。P21,P31,P41,P22,P32,P42为小组内编码产生的编码块。P21,P22是将其它数据块置0,按照P1的G×D编码方式生成。P31,P32为SP2类型的组内编码数据块,按照前段旋转编码方式编码生成,以P31为例,以第r条带的前段D1,D2数据块加上r-1的后段D3,D4,D5数据块,组合成新的数据块集合,以新的数据块集合按照G×D方式生成P31.P41,P42为SP3类型的组内编码数据块,按照后段旋转编码方式编码生成。
图6是本发明提供的纠删码前段数据旋转编码示意图,如图6所示,图中有4个条带组成的条带集,其中D1,D2,…,D5为数据块,P21,P31,P41为编码块。其中P21为正常编码块,P31为前段数据旋转编码块。P21以每个条带的D1,D2,…,D5数据块按照G×D的方式生成。P31按照前段旋转编码方式编码生成,以第r条带的前段D1,D2数据块加上r-1的后段D3,D4,D5数据块,组合成新的数据块集合,以新的数据块集合按照G×D方式生成P31
图7是本发明提供的纠删码后段数据旋转编码示意图,如图7所示,图中有4个条带组成的条带集,其中D1,D2,…,D5为数据块,P21,P31,P41为编码块。其中P21为正常编码块,P41为后段数据旋转编码块。P21以每个条带的D1,D2,…,D5数据块按照G×D的方式生成。P41按照后段旋转编码方式编码生成,以第r条带的前段D1,D2数据块加上r+1的后段D3,D4,D5数据块,组合成新的数据块集合,以新的数据块集合按照G×D方式生成P41
图8是本发明提供的纠删码前段数据旋转解码示意图,如图8所示,图中黑色块代表丢失的数据,灰色块代表恢复数据需要读取的块数据。假设需要恢复第一条带丢失的数据块,需要读取第二条带未失效的前段数据块D1,第一条带的未失效的后段数据块D3,D4,D5和第一条带的P31编码块,总共组合成包含kl=5的块数据集合。利用新的数据集合按照MDS解码方式进行解码恢复数据。其它条带恢复丢失的数据如上所示。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

Claims (10)

1.一种分布式存储中降低纠删码修复的方法,其特征在于,包括:
将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;
以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;
在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;
利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;
其中,所述N大于S;N,S,L均为正整数。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定所述每个数据小组内的数据块数量n;
将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
3.根据权利要求2所述的方法,其特征在于,所述通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块包括:
通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合;
通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块。
4.根据权利要求3所述的方法,其特征在于,所述通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块包括:
通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合;
通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
5.根据权利要求4所述的方法,其特征在于,所述在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块包括:
在检测到所述纠删码数据中存在失效数据块时,判断所述失效数据块属于前段数据块还是属于后段数据块;
当判断所述失效数据块属于前段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP2类型组内编码数据块;
当判断所述失效数据块属于后段数据块,则确定用于解码恢复所述无效数据块所需要的组内编码数据块是SP3类型组内编码数据块。
6.根据权利要求5所述的方法,其特征在于,所述利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块包括:
当确定所述组内编码数据块是SP2类型组内编码数据块时,确定所述失效数据块所在的数据条带;
分别读取所述失效数据块所在数据条带的上一数据条带的活跃前段数据块和所在数据条带的活跃后段数据块;
通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP2类型组内编码数据块进行组合,形成新前段数据块集合;
通过对所述新前段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
7.根据权利要求5所述的方法,其特征在于,所述利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块包括:
当确定所述组内编码数据块是SP3类型组内编码数据块时,依次确定所述失效数据块所在的数据条带;
分别读取所述失效数据块所在数据条带的活跃前段数据块和所在数据条带的下一数据条带的活跃后段数据块;
通过将所读取的活跃前段数据块、活跃后段数据块以及所述SP3类型组内编码数据块进行组合,形成新后段数据块集合;
通过对所述新后段数据块集合进行旋转解码处理,恢复出所述纠删码数据中的失效数据块。
8.一种分布式存储中降低纠删码修复的装置,其特征在于,包括:
划分模块,用于将分布式存储的纠删码数据划分成N个数据条带,并将所述N个数据条带中每S个数据条带组合成数据条带集,其中,每个数据条带集中包含L个数据小组;
编码模块,用于以所述数据条带集为编码单位,通过分别对所述每个数据小组进行旋转编码处理,生成SP2类型组内编码数据块和SP3类型组内编码数据块;
确定模块,用于在检测到所述纠删码数据中存在失效数据块时,确定用于解码恢复所述无效数据块所需要的组内编码数据块;
解码恢复模块,用于利用所述组内编码数据块,解码恢复出所述纠删码数据中的失效数据块;
其中,所述N大于S;N,S,L均为正整数。
9.根据权利要求8所述的装置,其特征在于,所述划分模块还包括:
确定单元,用于确定所述每个数据小组内的数据块数量n;
设置单元,用于将所述每个数据小组内的前t个数据块设置为前段数据块,将n-t个数据块设置为后段数据块。
10.根据权利要求9所述的装置,其特征在于,所述编码模块包括:
前段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与上一数据条带的后段数据块组合,形成前段数据块集合,以及通过依次对所述前段数据块集合进行旋转编码,生成SP2类型组内编码数据块;
后段编码单元,用于通过分别将所述每个数据小组内的当前数据条带的前段数据块与下一数据条带的后段数据块组合,形成后段数据块集合,以及通过依次对所述后段数据块集合进行旋转编码,生成SP3类型组内编码数据块。
CN201911252519.8A 2019-12-09 2019-12-09 一种分布式存储中降低纠删码修复的方法及装置 Active CN110895497B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911252519.8A CN110895497B (zh) 2019-12-09 2019-12-09 一种分布式存储中降低纠删码修复的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911252519.8A CN110895497B (zh) 2019-12-09 2019-12-09 一种分布式存储中降低纠删码修复的方法及装置

Publications (2)

Publication Number Publication Date
CN110895497A true CN110895497A (zh) 2020-03-20
CN110895497B CN110895497B (zh) 2022-06-07

Family

ID=69787249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911252519.8A Active CN110895497B (zh) 2019-12-09 2019-12-09 一种分布式存储中降低纠删码修复的方法及装置

Country Status (1)

Country Link
CN (1) CN110895497B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625394A (zh) * 2020-05-27 2020-09-04 成都信息工程大学 基于纠删码的数据恢复方法、装置、设备及存储介质
CN113258938A (zh) * 2021-06-03 2021-08-13 成都信息工程大学 一种单节点故障快速修复纠删码的构造方法
CN113541870A (zh) * 2021-07-08 2021-10-22 厦门大学 一种纠删码存储单节点失效的修复优化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115335A1 (en) * 2008-06-23 2010-05-06 John Johnson Wylie Simulator For Determining Data Loss In A Fault Tolerant System
CN107656832A (zh) * 2017-09-18 2018-02-02 华中科技大学 一种低数据重建开销的纠删码方法
CN107992264A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 数据保护方法和装置
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN110212923A (zh) * 2019-05-08 2019-09-06 西安交通大学 一种基于模拟退火的分布式纠删码存储系统数据修复方法
CN110532126A (zh) * 2019-07-26 2019-12-03 西安交通大学 纠删码存储系统数据快速恢复方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115335A1 (en) * 2008-06-23 2010-05-06 John Johnson Wylie Simulator For Determining Data Loss In A Fault Tolerant System
CN107992264A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 数据保护方法和装置
CN107656832A (zh) * 2017-09-18 2018-02-02 华中科技大学 一种低数据重建开销的纠删码方法
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN110212923A (zh) * 2019-05-08 2019-09-06 西安交通大学 一种基于模拟退火的分布式纠删码存储系统数据修复方法
CN110532126A (zh) * 2019-07-26 2019-12-03 西安交通大学 纠删码存储系统数据快速恢复方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋秀丽等: "云存储中支持XOR 旋转编码的可恢复性验证方案", 《重庆邮电大学学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625394A (zh) * 2020-05-27 2020-09-04 成都信息工程大学 基于纠删码的数据恢复方法、装置、设备及存储介质
CN113258938A (zh) * 2021-06-03 2021-08-13 成都信息工程大学 一种单节点故障快速修复纠删码的构造方法
CN113541870A (zh) * 2021-07-08 2021-10-22 厦门大学 一种纠删码存储单节点失效的修复优化方法

Also Published As

Publication number Publication date
CN110895497B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN110895497B (zh) 一种分布式存储中降低纠删码修复的方法及装置
CN108170555B (zh) 一种数据恢复方法及设备
US11531593B2 (en) Data encoding, decoding and recovering method for a distributed storage system
CN108540520B (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
CN109643258B (zh) 使用高速率最小存储再生擦除代码的多节点修复
US9722637B2 (en) Construction of MBR (minimum bandwidth regenerating) codes and a method to repair the storage nodes
US7149847B2 (en) RAID 6 disk array architectures
JP5298393B2 (ja) 並列リードソロモンraid(rs−raid)アーキテクチャ、デバイス、および方法
US20140372838A1 (en) Bad disk block self-detection method and apparatus, and computer storage medium
US11500725B2 (en) Methods for data recovery of a distributed storage system and storage medium thereof
US11188404B2 (en) Methods of data concurrent recovery for a distributed storage system and storage medium thereof
CN106951340B (zh) 一种基于局部性优先的rs纠删码数据布局方法及系统
CN111444042B (zh) 一种基于纠删码的区块链数据存储方法
CN110427156B (zh) 一种基于分片的mbr的并行读方法
CN112000512B (zh) 一种数据修复方法及相关装置
CN116501553B (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN106874140B (zh) 数据存储方法及装置
CN112799875B (zh) 基于高斯消元进行校验恢复的方法、系统、设备及介质
CN103761171B (zh) 一种针对二进制编码冗余存储系统的低带宽数据重构方法
CN108762978B (zh) 一种局部部分重复循环码的分组构造方法
WO2015180038A1 (zh) 部分复制码的构建方法、装置及其数据修复的方法
CN114153651A (zh) 一种数据编码方法、装置、设备及介质
CN111459710B (zh) 感知热度与风险的纠删码内存恢复方法、设备及内存系统
CN114610525A (zh) 一种用于磁盘阵列的数据更新方法、系统及存储介质
CN113258936A (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
CB03 Change of inventor or designer information

Inventor after: Tang Dan

Inventor after: Zhang Hang

Inventor after: Gao Yan

Inventor after: He Lei

Inventor after: Liu Shanzheng

Inventor after: Jiang Gan

Inventor after: Li Weizhong

Inventor before: Gao Yan

Inventor before: Zhang Hang

Inventor before: He Lei

Inventor before: Liu Shanzheng

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant