CN114564335A - 基于条带合并的局部可修复码冗余度转换方法及存储介质 - Google Patents
基于条带合并的局部可修复码冗余度转换方法及存储介质 Download PDFInfo
- Publication number
- CN114564335A CN114564335A CN202210042456.9A CN202210042456A CN114564335A CN 114564335 A CN114564335 A CN 114564335A CN 202210042456 A CN202210042456 A CN 202210042456A CN 114564335 A CN114564335 A CN 114564335A
- Authority
- CN
- China
- Prior art keywords
- stripe
- cluster
- local
- blocks
- data blocks
- 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
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008439 repair process Effects 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004220 aggregation Methods 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013215 result calculation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明的一种基于条带合并的局部可修复码冗余度转换方法及存储介质,其中方法针对局部可修复码的冗余度转换方法,包括局部可修复码单条带最优放置策略,多条带最优放置策略。此发明使用了条带合并的方法,并且通过最优放置策略,在集群化部署的网络环境下,转换过程中的数据传输开销低,充分利用了带宽资源。同时,此方法使得转换前后条带的容错和修复性能最优,有效地提升存储系统整体的吞吐率和可用性。使用条带合并进行冗余度转换,能有效减少转换过程中跨集群的数据传输,在集群部署场景下,有效地节省了带宽,提升系统网络资源利用率;并且,通过单条带和多条带放置策略,能够在冗余度转换前后保持系统的高容错性和高可用性。
Description
技术领域
本发明涉及计算机存储系统容错相关的纠删码技术领域,具体涉及一种基于条带合并的局部可修复码冗余度转换方法及存储介质。
背景技术
基于大数据时代的到来,使得工业界和学术界在数据存储领域开展了广泛的研究。为了对系统用户屏蔽节点故障,容错存储技术近年来成为研究的热点,纠删码技术以其低存储开销、弹性可调的容错度在非频繁更新的需求场景中逐渐取代了传统的多副本容错技术。纠删码通过将数据组织成条带,并且为原始数据增添一定量的校验计算,使得在部分数据丢失时,可以通过条带中剩余的原数据和校验计算结果重新恢复丢失的数据。特别地,局部可修复码由于具备更高效的修复能力,减少了修复所需时间,使得系统的可用性大大提高,被各大互联网企业广泛使用。
为了应对随时间变化的容错冗余度要求以及动态可变的工作负载,现代存储系统往往需要利用冗余度转换来调节容错带来的存储开销,以保证系统性能。2018年出版的《USENIX文件和存储技术会议》提出调整纠删码的参数实现纠删码冗余度的转换可以满足不同冷热程度数据的容错需求。2015年出版的《USENIX文件和存储技术会议》,2020年出版的《IEEE国际通信网络会议》也提到了倾斜和动态工作负载下,冗余度转换机制的高效与否决定了系统的性能。同时,2021年出版的《USENIX文件和存储技术会议》对于超宽条带的研究指出,冗余度转换也是宽带条生成过程中可以采用的一种方法。因此,高效的冗余转换机制对面向数据中心的现代存储系统而言至关重要。
然而,现有的冗余度转换机制的研究主要关注从多副本到纠删码的冗余度转换,而针对于纠删码不同参数间的冗余度转换相对较少。并且,大型数据中心通常是集群化部署的,但现有的转换机制忽略了集群部署的场景的特殊性从而不能达到最优的性能。
因此,有必要研究集群化存储系统高效的冗余度转换机制,本发明即专门为集群部署下的局部修复码设计的一套冗余度转换方法。
发明内容
本发明提出的一种基于条带合并的局部可修复码冗余度转换方法,具体为集群部署环境下实现局部可修复码高效冗余转换的方法,可至少解决上述技术问题之一。
为实现上述目的,本发明采用了以下技术方案:
一种基于条带合并的局部可修复码冗余度转换方法,包括以下步骤:
第一步:单条带最优放置策略
针对转换前局部修复码编码的条带,记录配置参数:数据块块数k,局部校验块块数l,全局校验块块数g;根据参数,计算出单条带放置策略的局部性指标r=k/l;根据指标r和g+1的数量关系对单条带进行放置。
第二步:多条带最优放置策略
记录参与合并的条带数x,并将转换后的目标冗余度对应换算为上述配置参数中全局校验块块数g’,在单条带使用第一步的策略放置之后,再分类考虑多条带放置的最优策略;当转换后的新条带的参数g’,等于参与合并的条带数x,与参与合并的旧条带的参数g的乘积,即x*g=g’时,采用聚集型多条带放置策略;当转换后的新条带的参数g’,等于参与合并的旧条带的参数g时,采用分离型多条带放置策略。
第三步:多条带合并冗余度转换
该步骤重新计算合并后条带的全局校验块,任意选择一个不包含参与合并的条带中的数据块的新集群C,在该集群中选择g’个节点以及其中的一个转发服务器,g’个最终节点负责存储新条带的全局校验块,由原条带中各集群中数据块所在集群各任选一个工作服务器。工作服务器对比本集群中包含的所有需要合并条带的数据块块数a与g’的大小关系,在本集群下载原条带所有数据块,选择仅转发下载所得的数据块和计算中间结果后再转发到最终的C集群的较优者;由g’个最终节点计算新条带全局校验块,计算完成后,新条带所在各集群根据最优放置策略需要满足的性质,如有必要,迁移出一部分数据块到新集群,完成x个条带合并为新条带的冗余度转换。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
由上述技术方案可知,本发明的基于条带合并的局部可修复码冗余度转换方法,在保证系统容错能力不受影响的情况下,可以节省存储开销,并提高存储系统的可用性。该方法适用于以局部修复码编码的集群化存储系统,相比现有方法,该方法考虑了集群部署场景下的网络特征,实现高效的冗余度转换。一方面,本发明包括局部修复码的放置策略,使得单条带在转换前后容错性能和修复性能达到最优;另一方面,使得冗余度转换过程中使数据传输开销最低,从而能更有效利用地数据中心带宽资源。
总的来说,本发明使用条带合并进行冗余度转换,能有效减少转换过程中跨集群的数据传输,在集群部署场景下,有效地节省了带宽,提升系统网络资源利用率;并且,通过单条带和多条带放置策略,能够在冗余度转换前后保持系统的高容错性和高可用性。
附图说明
图1为本发明实施例提供的一种基于条带合并的局部可修复码的冗余度转换方法的流程图;
图2为本发明实施例提供的集群存储系统架构示意图;
图3为本发明实施例提供的单条带放置策略示意图;
图4为本发明实施例提供的多条带放置策略示意图;
图5为本发明实施例提供的聚集型多条带冗余度转换过程示意图;
图6为本发明实施例提供的多条带随机放置示意图;
图7为本发明实施例提供的分离型多条带冗余度转换过程示意图;
图8为本发明实施例提供的分离型随机放置多条带冗余度转换过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的基于条带合并的局部可修复码冗余度转换方法,包括以下步骤:
第一步:单条带最优放置策略
针对转换前局部修复码编码的条带,记录配置参数:数据块块数k,局部校验块块数l,全局校验块块数g;根据参数,计算出单条带放置策略的局部性指标r=k/l;根据指标r和g+1的数量关系对单条带进行放置。
第二步:多条带最优放置策略
记录参与合并的条带数x,并将转换后的目标冗余度对应换算为上述配置参数中全局校验块块数g’,在单条带使用第一步的策略放置之后,再分类考虑多条带放置的最优策略;当转换后的新条带的参数g’,等于参与合并的条带数x,与参与合并的旧条带的参数g的乘积,即x*g=g’时,采用聚集型多条带放置策略;当转换后的新条带的参数g’,等于参与合并的旧条带的参数g时,采用分离型多条带放置策略。
第三步:多条带合并冗余度转换
该步骤重新计算合并后条带的全局校验块,任意选择一个不包含参与合并的条带中的数据块的新集群C,在该集群中选择g’个节点以及其中的一个转发服务器,g’个最终节点负责存储新条带的全局校验块,由原条带中各集群中数据块所在集群各任选一个工作服务器。工作服务器对比本集群中包含的所有需要合并条带的数据块块数a与g’的大小关系,在本集群下载原条带所有数据块,选择仅转发下载所得的数据块和计算中间结果后再转发到最终的C集群的较优者;由g’个最终节点计算新条带全局校验块,计算完成后,新条带所在各集群根据最优放置策略需要满足的性质,如有必要,迁移出一部分数据块到新集群,完成x个条带合并为新条带的冗余度转换。
以下具体说明,
如图1所示,一种基于条带合并的局部可修复码的冗余度转换方法,包括如下步骤:
步骤1、基于系统初始的配置要求,记录转换前局部可修复码条带的数据块块数k,局部校验块块数l,全局校验块块数g;由初始参数k,l,g,计算单条带的最优放置策略。本发明实施例中,对集群中每一数据块和校验块都进行了编号,其中,所述的数据块编号为Di,局部校验块编号为Li,全局校验块编号为Gi;编号从小到大代表了条带中数据块编码时的顺序关系,即L0局部校验块与对应从D0开始到D(k/l-1)的数据块构成一个局部校验组,以此类推。
本发明实施例使用图2所示的集群部署架构,其中虚线框表示集群,虚线框中的实线框表示服务器,数据块和校验块存放在服务器中(为简洁起见,本发明实施例后续将直接用数据块和校验块代表它们所存储的服务器而直接略去服务器)集群间通过网络核心进行跨集群通信;由于集群化部署场景下,跨集群的带宽资源相比集群内的带宽资源明显受限,因此在本发明中,修复时的数据传输开销只考虑起决定性作用的跨集群传输数据量。
本发明实施例中,局部可修复码单条带最优放置策略步骤包括:
2)通过数据块块数k与局部校验块块数l计算出局部性指标r,公式为r=k/l。
2)根据局部性指标r与全局校验块块数g的数值关系,分为三种情况;当满足r<g时,将局部校验块特化为全局校验块,全局校验块退化为局部校验块,可归结为后两种情况,以下两种情况一定为r>=g的情况;当满足r%(g+1)=0时,这种情况可以在恰好在每一个集群中分配(g+1)个服务器存储同一个局部组的(g+1)块数据块,客户端将数据以固定大小切分成数据块后依次发送到服务器;之后,客户端编码计算单元计算出l块局部校验块和g块全局校验块,并发送至同一个集群的服务器中,每一个服务器存储一个校验块;当m=r%(g+1)≠0时,将每一个局部组(g+1)块数据块按上一种情况的放置方法发送到同一个集群的(g+1)台服务器,此时每一个局部组各余留m块数据块,与此局部组对应的一块局部校验块一共m+1块视作一个整体,放入(g/(m+1))个这样的整体上传到同一个集群的服务器直至所有数据块都已被成功存储,最后将所有的全局校验块分配给一个单独的服务器集群。
下面以6-2-2以及8-2-2配置参数为例,展示按上述步骤操作后,单条带在集群系统中的布局,分别如图3上下所示。本领域技术人员应该能够验证理解,本发明实施例给出的单条带放置策略是最优的,该放置策略能容忍单节点故障的同时,进一步能容忍单集群故障,并且数据块所在节点故障时修复代价最低。
步骤2、根据冗余度转换后新条带的全局校验块块数g’,基于条带合并方式实现冗余度转换可分为两种情况;当g’=x*g时,采用聚集型放置策略,记步骤1中生成的单条带放置策略存储有数据块的集群数为C,取C个集群,将x个条带均按照步骤1生成的放置策略放置,且每个条带选取存储数据块的集群时仅在之前取定的C个集群中选择,但顺序可不完全相同;当g’=g时,取x*C个集群,同样将x个条带均按照步骤1生成的放置策略放置,每个条带选取存储数据块的集群时仅在之前取定的x*C个集群中选择,且在放置第n个条带时,不能选择之前n-1个条带已选定的任何一个集群。
下面以合并6-2-2参数的x=2个局部可修复码编码的条带,目标为生成12-4-2,12-4-4的新条带来进行冗余度转换为例,展示按上述步骤操作后,2个条带在集群系统中的聚集型放置策略和分离型放置策略,分别如图4上下所示。
步骤3、由步骤2放置的2个条带合并生成的目标冗余度的新条带,完成冗余度转换,根据转换的两种情况,具体步骤分别如下:
当新条带有2*g=2*2=4个全局校验块时,由步骤2采取的聚集型放置策略,其中存储有数据块的集群为C0、C1,过程如图5所示:
步骤a、在存储有数据块的集群中各选取一个工作服务器,由这些工作服务器从其所在集群中的其他服务器中,下载被合并的2个条带中,分布在本集群中的所有数据块,并在本地计算g’=4块全局校验块的局部中间计算结果,存储在本工作服务器中。在图5中,以C0集群为例说明,选择D0数据块所在服务器为C0集群的工作服务器,由其负责从D1、D2、D6、D7、D8所在服务器下载D1、D2、D6、D7、D8数据块,下载完成后连同本地已有的D0数据块进行局部中间结果计算,计算所得为4块局部中间结果,存储于本地。C1集群亦同理,此处精简起见,略去对其描述。
步骤b、另选取一个集群,并指定g’=4个服务器作为最终存放新条带全局校验块的服务器;由步骤a中的各集群的工作服务器将已计算的局部中间结果分别发送给这4个最终节点;最终节点服务器接收到所有局部中间计算结果后,将它们聚合计算为合并后新条带的全局校验块后,存储于本节点。在图5中,以选中C3集群为例,工作服务器(即D0、D3所在服务器)将上一步骤计算所得4块局部中间结果分别经C3集群的转发服务器G’0发送至C3集群选定的4个最终服务器。每个最终服务器都已收到2个工作服务器发送的局部中间结果后,计算出新条带的全局校验块,存储于本地。
步骤c、由本发明专利的多条带最优放置策略,合并后的新条带同样具有合并前单条带满足的性质:容忍单节点的故障,且能进一步容忍单集群故障,并且数据块的修复代价最低,不再需要额外迁移数据块到新集群。
作为对照,图6给出一种多条带仅采取随机放置的情况,在此布局情况下,若要合并成12-4-4参数的新条带完成冗余度转换,则在步骤a中,D0、D3、D9分别选为工作服务器,在步骤b中,C0集群一共有6个数据块,而传送局部中间计算结果只需要传送4块局部计算结果,相比之下开销较小,因此需要传送4块局部中间计算结果,而D3、D9工作服务器则传送原数据块代价更低。由于跨集群数据传输为决定性因素,本发明专利方案下此需求一共需要8块,而随机放置方案需要10块,对比可体现出本发明专利方案的优越性。
当新条带有g=2个全局校验块时,由步骤2采取的分离型放置策略,其中存储有数据块的集群为,过程如图6所示:
步骤a、在存储有数据块的集群中各选取一个工作服务器,由这些工作服务器从其所在集群中的其他服务器中,下载被合并的2个条带中,分布在本集群中的所有数据块,并在本地计算g’=2块全局校验块的局部中间计算结果,存储在本工作服务器中。在图6中,以C0集群为例说明,D0数据块所在服务器为C0集群的工作服务器,由其负责从D1、D2所在服务器下载D1、D2数据块,并与本地已有的D0数据块进行局部中间结果计算,计算所得为2块局部中间结果,存储于本地。C1、C3、C4集群同理,此处精简起见,略去对其描述。
步骤b、另选取一个集群,并指定g’=2个服务器作为最终存放新条带全局校验块的节点;由步骤a中的各集群的工作服务器将已计算的局部中间结果分别发送给这4个最终节点;最终节点服务器接收到所有局部中间计算结果后,在本地将它们聚合计算为合并后新条带的全局校验块后存储于本节点。
步骤c、由本发明专利的多条带最优放置策略,合并后的新条带同样具有合并前单条带满足的性质:容忍单节点的故障,且能进一步容忍单集群故障,并且数据块的修复代价最低,不再需要额外迁移数据块到新集群。
作为对照,图给出多条带仅采取随机放置的情况,在此布局情况下,合并成12-4-2参数的新条带完成冗余度转换,需要在步骤a中,D0、D3、D9被选为工作服务器,在步骤b中,均为传送局部中间计算代价更低,因此共需要传送6块局部计算结果,同时在步骤c中将D6、D7、D8数据块迁移至新集群(图示中为C4)。由于跨集群数据传输为决定性因素,本发明专利方案下此需求一共需要8块,而随机方案需要9块,因此,对比可体现出本发明专利方案的优越性:
完成上述操作后,此时新条带满足最优放置策略,通过调节全局检验块的数量,实现了冗余度的调整,即通过上述流程,基于本专利提出的条带合并,最终完成了冗余度转换,同时本领域专业技术人员可以理解并自行验证,使用本发明上述的放置策略,相比随机放置策略,转换开销更低。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于条带合并的局部可修复码冗余度转换方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于条带合并的局部可修复码冗余度转换方法。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述基于条带合并的局部可修复码冗余度转换方法;
上述电子设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable GateArray,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于条带合并的局部可修复码冗余度转换方法,其特征在于,包括以下步骤,
第一步:输入转换前局部修复码编码的条带配置参数:数据块块数k,局部校验块块数l,全局校验块块数g;计算出单条带放置策略的局部性指标r=k/l;根据指标r和g+1的数量关系对单条带进行放置;
第二步:输入参与合并的条带数x,并将转换后的目标冗余度对应为局部可修复码条带配置参数中全局校验块块数g’;当转换后的新条带的参数g’,等于参与合并的条带数x,与参与合并的旧条带的参数g的乘积,即x*g=g’时,采用聚集型多条带放置策略;当转换后的新条带的参数g’等于参与合并的旧条带的参数g时,采用分离型多条带放置策略;
第三步:选择存储新条带的全局校验块的新集群,在该集群中选择g’个最终节点以及其中的1个转发服务器,g’个最终节点负责存储新条带的全局校验块;在原条带中各集群中数据块所在集群各任选一个工作服务器;
工作服务器对比本集群中包含的所有需要合并条带的数据块块数a与g’的大小关系,在本集群下载原条带所有数据块计算中间结果后再转发到最终的C集群的转发服务器,或者直接转发下载所得的原数据块至转发服务器;由转发服务器进一步转发接受到的局部中间结果或原数据块至g’个最终节点,g’个最终节点计算新条带全局校验块并存储;
新条带所在各集群根据最优放置策略需要满足的性质,如有必要,迁移出一部分数据块到新集群,完成x个条带合并为新条带的冗余度转换。
2.根据权利要求1所述的基于条带合并的局部可修复码冗余度转换方法,其特征在于:所述步骤第一步中局部可修复码单条带最优放置策略步骤包括:
1)通过数据块块数k与局部校验块块数l计算出局部性指标r,公式为r=k/l;
2)根据局部性指标r与全局校验块块数g的数值关系,分为三种情况;当满足r<g时,将局部校验块特化为全局校验块,全局校验块退化为局部校验块,可归结为后两种情况,以下两种情况一定为r>=g的情况,当满足r%(g+1)=0时,这种情况在恰好在每一个集群中分配(g+1)个服务器存储同一个局部组的(g+1)块数据块,客户端将数据以固定大小切分成数据块后依次发送到服务器;之后,客户端编码计算单元计算出l块局部校验块和g块全局校验块,并发送至同一个集群的服务器中,每一个服务器存储一个校验块;当m=r%(g+1)≠0时,将每一个局部组(g+1)块数据块按上一种情况的放置方法发送到同一个集群的(g+1)台服务器,此时每一个局部组各余留m块数据块,与此局部组对应的一块局部校验块一共m+1块视作一个整体,放入(g/(m+1))个这样的整体上传到同一个集群的服务器直至所有数据块都已被成功存储,最后将所有的全局校验块分配给一个单独的服务器集群。
3.根据权利要求1所述的基于条带合并的局部可修复码冗余度转换方法,其特征在于:所述步骤第一步中对集群中每一数据块和校验块都进行了编号,其中,所述的数据块编号为Di,局部校验块编号为Li,全局校验块编号为Gi;编号从小到大代表了条带中数据块编码时的顺序关系,即L0局部校验块与对应从D0开始到D(k/l-1)的数据块构成一个局部校验组,以此类推。
4.根据权利要求2所述的基于条带合并的局部可修复码冗余度转换方法,其特征在于:所述步骤第二步中根据冗余度转换后新条带的全局校验块块数g’,基于条带合并方式实现冗余度转换分为两种情况;当g’=x*g时,采用聚集型放置策略,记第一步生成的单条带放置策略存储有数据块的集群数为C,取C个集群,将x个条带均按照第一步生成的放置策略放置,且每个条带选取存储数据块的集群时仅在之前取定的C个集群中选择,但顺序可不完全相同;当g’=g时,取x*C个集群,同样将x个条带均按照第一步生成的放置策略放置,每个条带选取存储数据块的集群时仅在之前取定的x*C个集群中选择,且在放置第n个条带时,不能选择之前n-1个条带已选定的任何一个集群。
5.根据权利要求4所述的基于条带合并的局部可修复码冗余度转换方法,其特征在于:所述第三步中,由第二步放置的2个条带合并生成的目标冗余度的新条带,完成冗余度转换,根据转换的两种情况,具体步骤分别如下:
当新条带有2*g=2*2=4个全局校验块时,由第二步采取的聚集型放置策略,其中存储有数据块的集群为C0、C1,具体包括,
步骤a、在存储有数据块的集群中各选取一个工作服务器,由这些工作服务器从其所在集群中的其他服务器中,下载被合并的2个条带中,分布在本集群中的所有数据块,并在本地计算g’=4块全局校验块的局部中间计算结果,存储在本工作服务器中;
步骤b、另选取一个集群,并指定g’=4个服务器作为最终存放新条带全局校验块的服务器;由步骤a中的各集群的工作服务器将已计算的局部中间结果分别发送给这4个最终节点;最终节点服务器接收到所有局部中间计算结果后,将它们聚合计算为合并后新条带的全局校验块后,存储于本节点。
6.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042456.9A CN114564335B (zh) | 2022-01-14 | 2022-01-14 | 基于条带合并的局部可修复码冗余度转换方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042456.9A CN114564335B (zh) | 2022-01-14 | 2022-01-14 | 基于条带合并的局部可修复码冗余度转换方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114564335A true CN114564335A (zh) | 2022-05-31 |
CN114564335B CN114564335B (zh) | 2024-03-29 |
Family
ID=81711756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210042456.9A Active CN114564335B (zh) | 2022-01-14 | 2022-01-14 | 基于条带合并的局部可修复码冗余度转换方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564335B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253730A1 (en) * | 2005-05-09 | 2006-11-09 | Microsoft Corporation | Single-disk redundant array of independent disks (RAID) |
CN106788891A (zh) * | 2016-12-16 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种适用于分布式存储的最优局部修复码构造方法 |
CN106951340A (zh) * | 2017-03-14 | 2017-07-14 | 华中科技大学 | 一种基于局部性优先的rs纠删码数据布局方法及系统 |
WO2020155930A1 (zh) * | 2019-02-01 | 2020-08-06 | 杭州海康威视数字技术股份有限公司 | 磁盘阵列空间划分方法、装置、电子设备及存储介质 |
CN111614720A (zh) * | 2020-04-13 | 2020-09-01 | 厦门大学 | 针对集群存储系统单点失效修复的跨集群流量优化方法 |
CN113419895A (zh) * | 2021-07-21 | 2021-09-21 | 广东工业大学 | 一种降低储存集群系统中修复开销的优化方法及装置 |
CN113541870A (zh) * | 2021-07-08 | 2021-10-22 | 厦门大学 | 一种纠删码存储单节点失效的修复优化方法 |
-
2022
- 2022-01-14 CN CN202210042456.9A patent/CN114564335B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253730A1 (en) * | 2005-05-09 | 2006-11-09 | Microsoft Corporation | Single-disk redundant array of independent disks (RAID) |
CN106788891A (zh) * | 2016-12-16 | 2017-05-31 | 陕西尚品信息科技有限公司 | 一种适用于分布式存储的最优局部修复码构造方法 |
CN106951340A (zh) * | 2017-03-14 | 2017-07-14 | 华中科技大学 | 一种基于局部性优先的rs纠删码数据布局方法及系统 |
WO2020155930A1 (zh) * | 2019-02-01 | 2020-08-06 | 杭州海康威视数字技术股份有限公司 | 磁盘阵列空间划分方法、装置、电子设备及存储介质 |
CN111614720A (zh) * | 2020-04-13 | 2020-09-01 | 厦门大学 | 针对集群存储系统单点失效修复的跨集群流量优化方法 |
CN113541870A (zh) * | 2021-07-08 | 2021-10-22 | 厦门大学 | 一种纠删码存储单节点失效的修复优化方法 |
CN113419895A (zh) * | 2021-07-21 | 2021-09-21 | 广东工业大学 | 一种降低储存集群系统中修复开销的优化方法及装置 |
Non-Patent Citations (2)
Title |
---|
张航;刘善政;唐聃;蔡红亮;: "分布式存储系统中的低修复成本纠删码", 计算机应用, no. 10, 31 December 2020 (2020-12-31), pages 160 - 168 * |
王意洁;许方亮;裴晓强;: "分布式存储中的纠删码容错技术研究", 计算机学报, no. 01, 31 January 2017 (2017-01-31), pages 238 - 257 * |
Also Published As
Publication number | Publication date |
---|---|
CN114564335B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10892782B2 (en) | Flexible system and method for combining erasure-coded protection sets | |
US9665428B2 (en) | Distributing erasure-coded fragments in a geo-distributed storage system | |
US10719250B2 (en) | System and method for combining erasure-coded protection sets | |
US11023331B2 (en) | Fast recovery of data in a geographically distributed storage environment | |
CN110190987B (zh) | 基于备份收益与重映射的虚拟网络功能可靠性部署方法 | |
CN102523234B (zh) | 一种应用服务器集群实现方法及系统 | |
US10740198B2 (en) | Parallel partial repair of storage | |
CN106708653B (zh) | 一种基于纠删码与多副本的混合税务大数据安全保护方法 | |
CN110825698B (zh) | 元数据管理方法及相关装置 | |
CN111614720B (zh) | 针对集群存储系统单点失效修复的跨集群流量优化方法 | |
CN103067525A (zh) | 一种基于特征码的云存储数据备份方法 | |
CN114594911B (zh) | 基于链下纠删码分布式存储的区块链数据存储系统及方法 | |
CN115834587A (zh) | 一种选择目标存储服务器的方法、装置及电子设备 | |
CN113541870A (zh) | 一种纠删码存储单节点失效的修复优化方法 | |
US10768840B2 (en) | Updating protection sets in a geographically distributed storage environment | |
CN108459926B (zh) | 数据异地备份方法、装置及计算机可读介质 | |
US11223675B2 (en) | Hash data structure biasing | |
US10942827B2 (en) | Replication of data in a geographically distributed storage environment | |
CN114564335A (zh) | 基于条带合并的局部可修复码冗余度转换方法及存储介质 | |
CN114237985B (zh) | 修复纠删码存储系统中失效存储块的方法及相关设备 | |
CN109040214B (zh) | 一种云环境下可靠性增强的服务部署方法 | |
Xu et al. | CRL: Efficient Concurrent Regeneration Codes with Local Reconstruction in Geo-Distributed Storage Systems | |
CN112527760A (zh) | 数据存储方法、装置、服务器及介质 | |
CN112988461B (zh) | 数据备份方法、边缘节点、数据中心及计算机存储介质 | |
CN115878046B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |