CN116010160A - 分布式文件系统的纠删码数据分布的方法及应用 - Google Patents

分布式文件系统的纠删码数据分布的方法及应用 Download PDF

Info

Publication number
CN116010160A
CN116010160A CN202310221968.6A CN202310221968A CN116010160A CN 116010160 A CN116010160 A CN 116010160A CN 202310221968 A CN202310221968 A CN 202310221968A CN 116010160 A CN116010160 A CN 116010160A
Authority
CN
China
Prior art keywords
data
file
stripe
node
cluster
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
Application number
CN202310221968.6A
Other languages
English (en)
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.)
Anchao Cloud Software Co Ltd
Original Assignee
Anchao Cloud Software Co Ltd
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 Anchao Cloud Software Co Ltd filed Critical Anchao Cloud Software Co Ltd
Priority to CN202310221968.6A priority Critical patent/CN116010160A/zh
Publication of CN116010160A publication Critical patent/CN116010160A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种分布式文件系统的纠删码数据分布的方法及应用,该方法包括以下步骤:在创建文件时,将所述文件分成多个固定大小的条带;对每个条带进行EC编码,生成所述条带的数据分片,其中所述数据分片包括原始数据分片和冗余数据分片;以及将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。该方法能够有效提高存储系统的读写效率和数据的安全性,降低数据恢复的难度。

Description

分布式文件系统的纠删码数据分布的方法及应用
技术领域
本发明是关于电子通信领域,特别是关于一种分布式文件系统的纠删码数据分布的方法及应用。
背景技术
在现代技术背景下,分布式文件存储系统在存储海量文件的同时,还兼具保证海量数据的安全性的任务。现有的保证数据可靠性策略主要包括多副本和纠删码(ErasureCoding,EC)。纠删码是一种前向错误纠正技术(Forward Error Correction,FEC),主要应用在网络传输中避免包的丢失,存储系统利用EC来提高存储可靠性。EC能够有效提高磁盘总体利用率,并降低存储系统的成本。
目前使用EC的存储系统中,最终存储写入磁盘一般包括如下步骤:1)系统元数据管理服务中存储各个服务节点的状态信息、节点中磁盘存储池的状态和使用信息。2)根据文件的EC信息与集群整体信息综合分析,判断是否符合创建EC文件的要求。3)为EC文件分片选择合适的节点,在节点上选择合适的存储磁盘。
现有技术的缺点在于,在目前的EC文件构建方案中,一个完整数据分片对应一个节点的磁盘或者资源池,不能充分利用多个资源池的负载能力,多个分片分配到同一个节点的不同磁盘或者资源池。当节点故障时,EC文件将不能进行访问。以2+1的EC方案为例,如果其中一个原始分片所在的资源池故障或者原始文件分片损坏,需要读取对应的完整数据分片和冗余数据分片,才能计算出原始数据,产生的数据IO较大。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种分布式文件系统的纠删码数据分布的方法及应用,其能够提高存储系统的读写效率和数据的安全性,降低数据恢复的难度。
为实现上述目的,本发明的实施例提供了一种分布式文件系统的纠删码数据分布的方法。
在本发明的一个或多个实施方式中,分布式文件系统中服务器集群包括多个节点,所述方法包括:在创建文件时,将所述文件分成多个固定大小的条带;对每个条带进行EC编码,生成所述条带的数据分片,其中所述数据分片包括原始数据分片和冗余数据分片;以及将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
在本发明的一个或多个实施方式中,在将所述文件分成多个固定大小的条带的步骤中,当所述文件不满足平均分成多个固定大小的条带时,将所述文件缺少部分的数据用空数据补齐。
在本发明的一个或多个实施方式中,所述方法还包括:根据创建的文件的EC规则,检查集群是否满足EC创建条件;若集群不满足所述EC创建条件,结束所述文件创建;以及若集群满足所述EC创建条件,对所述创建的文件进行条带化。
在本发明的一个或多个实施方式中,所述将每个条带的数据分片在集群中各个节点的不同磁盘或存储池上进行轮转分配,包括:若所述数据分片轮转写入成功,表示所述文件创建成功,返回所述文件;若所述数据分片轮转写入失败,表示所述文件创建失败,结束所述文件创建。
在本发明的一个或多个实施方式中,所述检查集群是否满足EC创建条件,包括:建立集群中的节点集合,其中所述节点集合的每个节点项是该节点上的磁盘或存储池集合;判断所述节点集合中的所述节点数量是否满足存放EC编码后生成的数据分片的数量,若所述节点数量不满足,结束所述文件创建;若所述节点数量满足,对所述创建的文件进行条带化。
在本发明的一个或多个实施方式中,所述方法还包括:从所述节点集合的每个节点项的磁盘或存储池集合中选择一个磁盘或存储池加入一个条带的冗余数据分片;将已经加入冗余数据分片的磁盘或存储池从对应的节点项中移除;当节点项为空时,将所述节点项从所述节点集合中移除;以及重复上述步骤,完成所有条带的数据分片写入。
在本发明的一个或多个实施方式中,所述方法还包括:将同一个条带的数据分片分配到不同的磁盘或存储池上。
在本发明的另一个方面当中,提供了一种分布式文件系统的纠删码数据分布的装置,其包括条带化模块、纠删码模块和轮转写入模块。
条带化模块,用于在创建文件时,将所述文件分成多个固定大小的条带。
纠删码模块,用于对每个条带进行EC编码,生成所述条带的数据分片,所述数据分片包括原始数据分片和冗余数据分片。
轮转写入模块,用于将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
在本发明的一个或多个实施方式中,所述条带化模块还用于:当所述文件不满足平均分成多个固定大小的条带时,将所述文件缺少部分的数据用空数据补齐。
在本发明的一个或多个实施方式中,所述条带化模块还用于:根据创建的文件的EC规则,检查集群是否满足EC创建条件;若集群不满足所述EC创建条件,结束所述文件创建;以及若集群满足所述EC创建条件,对所述创建的文件进行条带化。
在本发明的一个或多个实施方式中,所述条带化模块还用于:建立集群中的节点集合,其中所述节点集合的每个节点项是该节点上的磁盘或存储池集合;判断所述节点集合中的所述节点数量是否满足存放EC编码后生成的数据分片的数量,若所述节点数量不满足,结束所述文件创建;若所述节点数量满足,对所述创建的文件进行条带化。
在本发明的一个或多个实施方式中,所述轮转写入模块还用于:若所述数据分片轮转写入成功,表示所述文件创建成功,返回所述文件;若所述数据分片轮转写入失败,表示所述文件创建失败,结束所述文件创建。
在本发明的一个或多个实施方式中,所述轮转写入模块还用于:从所述节点集合的每个节点项的磁盘或存储池集合中选择一个磁盘或存储池加入一个条带的冗余数据分片;将已经加入冗余数据分片的磁盘或存储池从对应的节点项中移除;当节点项为空时,将所述节点项从所述节点集合中移除;以及重复上述步骤,完成所有条带的数据分片写入。
在本发明的一个或多个实施方式中,所述轮转写入模块还用于:将同一个条带的数据分片分配到不同的磁盘或存储池上。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的分布式文件系统的纠删码数据分布的方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的分布式文件系统的纠删码数据分布的方法的步骤。
与现有技术相比,根据本发明实施方式的分布式文件系统的纠删码数据分布的方法,其通过将数据轮转写入集群节点的不同磁盘或存储池,使数据最终均匀地分布在不同节点上,能够更好地利用磁盘的性能和IO负载,提高数据读写效率;通过纠删码编码且轮转均匀分布数据,能够提高数据的安全性,降低发生故障情况后数据恢复的难度。
附图说明
图1是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的流程图;
图2是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的布局结构图;
图3是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的布局结构图;
图4是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的布局结构图;
图5是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的布局结构图;
图6是根据本发明一实施方式的分布式文件系统的纠删码数据分布的方法的具体流程图;
图7是根据本发明一实施方式的分布式文件系统的纠删码数据分布的装置的结构图;
图8是根据本发明一实施方式的分布式文件系统的纠删码数据分布的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1所示,介绍本发明的一个实施例中分布式文件系统的纠删码数据分布的方法,该方法包括如下步骤。
在步骤S101中,在创建文件时,将所述文件分成多个固定大小的条带。
在本实施例中,条带(strip)指将连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上。条带化技术就是一种自动的将I/O的负载均衡到多个物理磁盘上的技术。将文件条带化能够使多个进程同时访问数据的多个不同部分而不会造成冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的I/O并行能力,从而获得更好的性能。
所述条带大小即条带的深度,指分割成的所述相同大小的数据块的每个数据块的大小。
在步骤S102中,对每个条带进行EC编码,生成所述条带的数据分片,其中所述数据分片包括原始数据块分片和冗余数据分片。
EC即纠删码,是一种编码技术,能够将n份原始数据,增加m份冗余数据,并能通过n+m份数据中的任意n份数据还原得到原始数据,也就是当有任意小于等于m份的数据丢失或失效,能够通过剩下的数据还原出来原始数据。主要应用于网络传输中避免数据包的丢失,能够提高存储的可靠性。
在本实施例中,每个条带数据通过EC编码生成原始数据块和冗余数据块,将原始数据块和冗余数据块轮转分布在不同的存储上。
具体的,在出现某个节点或者磁盘故障的情况下,只有少量的原始数据块或者冗余块数据故障或者丢失的情况下,仅需要读取其对应的一部分原始数据块即可恢复。如果对应条带的冗余数据块丢失,只需要读取原始数据块即可恢复,如果原始数据块丢失,只需读取剩余冗余数据块和原始数据块即可计算出原始数据。
在步骤S103中,将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
在本实施例中,所述轮转分配,即以轮转的方式把数据逐个写入在集群节点上,每个条带的数据分片间隔地分布在集群中每一个节点的不同磁盘上,使得每个原始数据块和冗余数据块均匀地分布在集群中不同节点的不同磁盘上,从而保证每个集群节点的磁盘均匀地承受负载,提高数据读写效率。
实施例2
如图1至图6所示,介绍本发明的一个实施例中分布式文件系统的纠删码数据分布的方法,该方法包括如下步骤。
在步骤S101中,在创建文件时,将所述文件分成多个固定大小的条带。
在本实施例中,在进行文件条带化分割时,当所述文件不满足平均分成多个固定大小的条带时,即划分到最后一个条带时该条带大小小于其他固定大小条带的大小,则将所述文件缺少部分的数据用空数据补齐,使得文件能够分成大小一致的条带。
在进行文件条带化前,根据创建的文件应用的EC规则,检查集群是否满足EC创建的条件;若集群不满足所述EC创建条件,则结束本次文件创建流程;以及若集群满足所述EC创建条件,则对所述创建的文件进行条带化。
具体的,首先建立集群中的节点集合,其中所述节点集合的每个节点项是该节点上的磁盘或存储池集合;判断所述节点集合中的所述节点数量是否满足存放EC编码后生成的数据分片的数量,也就是集群中的节点数量能否支持EC布局创建。
若所述节点数量不满足,则禁止进行EC编码,并结束所述文件创建流程;若所述节点数量满足,对所述创建的文件进行条带化。
如图2所示,介绍本实施例的一个文件双副本布局的示例。两个文件副本存储在不同的磁盘上,对于集群来说,两个磁盘大概率属于不同的存储服务节点。
如图3所示,介绍本实施例的一个条带化布局分布的示例。一个文件首先划分成3个条带,每个条带再以2个镜像块方式存储到不同的存储卷上。假设文件大小为300MB,每个条带块大小为1MB,则文件地址[0-1]、地址[3-4]、地址[6-7]等数据将访问条带1,文件地址[1-2]、地址[4-5]、地址[7-8]等数据将访问条带2,文件地址[2-3]、地址[5-6]、地址[8-9]等数据将访问条带3。
在步骤S102中,对每个条带进行EC编码,生成所述条带的数据分片,其中所述数据分片包括原始数据块分片和冗余数据分片。
如图4所示,介绍本实施例的一个采用EC编码的文件布局结构的示例。在一EC规则下,经过EC编码后,原始数据块和冗余数据块比为3:1。原始文件被分为3个原始数据块,经过EC编码处理后生成一块冗余数据块,总共4块数据分布在对应的磁盘或者存储池中。
如图5所示,在文件进行条带化后,展示了进行EC编码的存储文件的布局分布。
如表1所示,进一步说明文件条带化后的再进行EC编码的文件布局。以EC比3:1的EC规则为例,将一个文件先条带化为3个大小一致的条带。
再以其中一个的条带1为例,将该条带1分成为3个原始数据块D11、D12和D13,然后对条带1的三个数据块D11、D12和D13进行EC编码,生成冗余块P1,总共4个数据块,均匀存储在集群中的节点Node1至Node4上。
条带2和条带3也做如条带1相同操作,最终3个条带的分布如下表所示。
Figure BDA0004117044140000081
在步骤S103中,将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
具体的,若所述数据分片轮转写入成功,表示所述文件创建成功,返回该布局更改完毕的文件;若所述数据分片轮转写入失败,表示所述文件创建失败,结束本次文件创建流程。
在本实施例中,从所述节点集合的每个节点项的磁盘或存储池集合中选择一个磁盘或存储池加入一个条带的冗余数据分片;将已经加入冗余数据分片的磁盘或存储池从对应的节点项中移除;当节点项为空时,将所述节点项从所述节点集合中移除;以及重复上述步骤,完成所有条带的数据分片写入。
进一步地,本实施例的一个原则是,将同一个条带的数据分片最终分配到不同的磁盘或存储池上。
如表2所示,介绍文件条带化后进行EC编码,生成的每一个数据分片在集群中各个节点进行轮转分布的具体示例。
以4个集群节点为例,每个节点存在两个磁盘(disk),其中EC比为2:1。
文件首先被条带化为8个条带,每个条带通过EC编码生成两个原始数据块和一个冗余数据块。以条带1为例,EC编码后的数据分片为D11、D12和P1。每个条带的冗余数据块Pi轮转地分布在集群中每一个节点的不同磁盘上,原始数据块也轮转地分布在与该条带的冗余数据块Pi不在的节点上。
如下表中所示,以条带1的三个数据分片为例,冗余数据块P1存储在节点Node1的磁盘Disk1上,原始数据块D11存储在节点Node2的磁盘Disk1上,原始数据块D12存储在节点Node3的磁盘Disk1上。
以条带2的三个数据分片为例,冗余数据块P2存储在节点Node1的磁盘Disk2上,原始数据块D21存储在节点Node2的磁盘Disk2上,原始数据块D22存储在节点Node3的磁盘Disk2上。
以条带3的三个数据分片为例,冗余数据块P3存储在节点Node2的磁盘Disk1上,原始数据块D31存储在节点Node3的磁盘Disk1上,原始数据块D32存储在节点Node4的磁盘Disk1上。
依次类推,8个条带的数据分片按照如上所述的规律轮转地分配到不同集群节点的不同存储磁盘上。通过数据分片均匀地轮转分布在集群中不同节点的不同磁盘上,每个节点的磁盘较为均匀地承受负载,充分发挥每一个节点每一个磁盘的负载能力。
Figure BDA0004117044140000101
如图6所示,介绍根据本实施例的一个具体文件创建及数据写入的流程图。
对于新创建的文件,首先根据所要创建文件的EC规则,检查集群是否满足指定条件的EC文件创建。
如果集群不满足EC文件创建的条件,创建失败,返回失败到前台,本次创建流程结束;如果集群满足指定条件的EC文件创建,则对创建的文件进行条带化。
进一步地,对条带化的文件进行EC编码,生成EC编码后的分片文件,冗余数据分片和原始数据分片轮转地分配到集群中不同节点的不同磁盘或者存储池上。
如果轮转写入成功,则文件创建成功,返回写入成功的文件,本次文件创建流程结束;如果分片文件轮转写入失败,则创建失败,本次文件创建流程结束。
下面详细描述集群文件系统的纠删码数据分配的示例过程。
S11:建立集群中的节点集合,其中节点集合的每个项是节点上的diskpool(磁盘存储池)集合。
S12:为本次流程的文件创建一个条带集合。
S13:从节点集合中选择能够满足k+m个数据块的节点,如果不能找到该节点则执行S19,其中k+m个数据块指将文件按照EC规则分成k个原始数据块和m个冗余数据块。
S14:从条带集合中选择一个条带,创建该条带的EC项。
S15:从每个节点项中的diskpool集合中选择一个节点加入EC项,所述EC项有k+m个diskpool,将所述EC项加入到条带集合。
S16:将已经选择过的diskpool从对应节点项中移除,该diskpool不能再次被选择。如果节点项为空,则将此节点项从节点集合中移除。
S17:重复执行S14至S16,直到所有条带的文件分片的写入存储完成。
S18:记录条带集合里的EC项,得到文件的数据分布结构。当创建成功时,则返回创建好的文件,否则返回失败,表示不支持此类型的EC创建。
S19:结束本次文件创建流程。
根据本发明实施方式的分布式文件系统的纠删码数据分布的方法,其通过将数据轮转写入集群节点的不同磁盘或存储池,使数据最终均匀地分布在不同节点上,能够更好地利用磁盘的性能和IO负载,提高数据读写效率;通过纠删码编码且轮转均匀分布数据,能够提高数据的安全性,降低发生故障情况后数据恢复的难度。
如图7所示,介绍根据本发明具体实施方式的分布式文件系统的纠删码数据分布的装置。
本发明的实施方式中,分布式文件系统的纠删码数据分布的装置包括条带化模块701、纠删码模块702和轮转写入模块703。
条带化模块701,用于在创建文件时,将所述文件分成多个固定大小的条带。
纠删码模块702,用于对每个条带进行EC编码,生成所述条带的数据分片,所述数据分片包括原始数据分片和冗余数据分片。
轮转写入模块703,用于将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
条带化模块701还用于:当所述文件不满足平均分成多个固定大小的条带时,将所述文件缺少部分的数据用空数据补齐。
条带化模块701还用于:根据创建的文件的EC规则,检查集群是否满足EC创建条件;若集群不满足所述EC创建条件,结束所述文件创建;以及若集群满足所述EC创建条件,对所述创建的文件进行条带化。
条带化模块701还用于:建立集群中的节点集合,其中所述节点集合的每个节点项是该节点上的磁盘或存储池集合;判断所述节点集合中的所述节点数量是否满足存放EC编码后生成的数据分片的数量,若所述节点数量不满足,结束所述文件创建;若所述节点数量满足,对所述创建的文件进行条带化。
轮转写入模块703还用于:若所述数据分片轮转写入成功,表示所述文件创建成功,返回所述文件;若所述数据分片轮转写入失败,表示所述文件创建失败,结束所述文件创建。
轮转写入模块703还用于:从所述节点集合的每个节点项的磁盘或存储池集合中选择一个磁盘或存储池加入一个条带的冗余数据分片;将已经加入冗余数据分片的磁盘或存储池从对应的节点项中移除;当节点项为空时,将所述节点项从所述节点集合中移除;以及重复上述步骤,完成所有条带的数据分片写入。
轮转写入模块703还用于:将同一个条带的数据分片分配到不同的磁盘或存储池上。
图8示出了根据本说明书的实施例的用于分布式文件系统的纠删码数据分布的计算设备80的硬件结构图。如图8所示,计算设备80可以包括至少一个处理器801、存储器802(例如非易失性存储器)、内存803和通信接口804,并且至少一个处理器801、存储器802、内存803和通信接口804经由总线805连接在一起。至少一个处理器801执行在存储器802中存储或编码的至少一个计算机可读指令。
应该理解,在存储器802中存储的计算机可执行指令当执行时使得至少一个处理器801进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
在本说明书的实施例中,计算设备80可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的分布式文件系统的纠删码数据分布的方法,其通过将数据轮转写入集群节点的不同磁盘或存储池,使数据最终均匀地分布在不同节点上,能够更好地利用磁盘的性能和IO负载,提高数据读写效率;通过纠删码编码且轮转均匀分布数据,能够提高数据的安全性,降低发生故障情况后数据恢复的难度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (10)

1.一种分布式文件系统的纠删码数据分布的方法,分布式文件系统中服务器集群包括多个节点,其特征在于,所述方法包括:
在创建文件时,将所述文件分成多个固定大小的条带;
对每个条带进行EC编码,生成所述条带的数据分片,其中所述数据分片包括原始数据分片和冗余数据分片;以及
将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
2.如权利要求1所述的分布式文件系统的纠删码数据分布的方法,其特征在于,在将所述文件分成多个固定大小的条带的步骤中,当所述文件不满足平均分成多个固定大小的条带时,将所述文件缺少部分的数据用空数据补齐。
3.如权利要求1所述的分布式文件系统的纠删码数据分布的方法,其特征在于,所述方法还包括:
根据创建的文件的EC规则,检查集群是否满足EC创建条件;
若集群不满足所述EC创建条件,结束所述文件创建;以及
若集群满足所述EC创建条件,对所述创建的文件进行条带化。
4.如权利要求1所述的分布式文件系统的纠删码数据分布的方法,其特征在于,所述将每个条带的数据分片在集群中各个节点的不同磁盘或存储池上进行轮转分配,包括:
若所述数据分片轮转写入成功,表示所述文件创建成功,返回所述文件;
若所述数据分片轮转写入失败,表示所述文件创建失败,结束所述文件创建。
5.如权利要求3所述的分布式文件系统的纠删码数据分布的方法,其特征在于,所述检查集群是否满足EC创建条件,包括:
建立集群中的节点集合,其中所述节点集合的每个节点项是该节点上的磁盘或存储池集合;
判断所述节点集合中的所述节点数量是否满足存放EC编码后生成的数据分片的数量,若所述节点数量不满足,结束所述文件创建;
若所述节点数量满足,对所述创建的文件进行条带化。
6.如权利要求5所述的分布式文件系统的纠删码数据分布的方法,其特征在于,所述方法还包括:
从所述节点集合的每个节点项的磁盘或存储池集合中选择一个磁盘或存储池加入一个条带的冗余数据分片;
将已经加入冗余数据分片的磁盘或存储池从对应的节点项中移除;
当节点项为空时,将所述节点项从所述节点集合中移除;以及
重复上述步骤,完成所有条带的数据分片写入。
7.如权利要求1所述的分布式文件系统的纠删码数据分布的方法,其特征在于,所述方法还包括:将同一个条带的数据分片分配到不同的磁盘或存储池上。
8.一种分布式文件系统的纠删码数据分布的装置,其特征在于,所述装置包括:
条带化模块,用于在创建文件时,将所述文件分成多个固定大小的条带;
纠删码模块,用于对每个条带进行EC编码,生成所述条带的数据分片,所述数据分片包括原始数据分片和冗余数据分片;以及
轮转写入模块,用于将每个条带的数据分片在所述集群中各个节点的不同磁盘或存储池上进行轮转分配。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至7中任一项所述的分布式文件系统的纠删码数据分布的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式文件系统的纠删码数据分布的步骤。
CN202310221968.6A 2023-03-09 2023-03-09 分布式文件系统的纠删码数据分布的方法及应用 Pending CN116010160A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310221968.6A CN116010160A (zh) 2023-03-09 2023-03-09 分布式文件系统的纠删码数据分布的方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310221968.6A CN116010160A (zh) 2023-03-09 2023-03-09 分布式文件系统的纠删码数据分布的方法及应用

Publications (1)

Publication Number Publication Date
CN116010160A true CN116010160A (zh) 2023-04-25

Family

ID=86023412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310221968.6A Pending CN116010160A (zh) 2023-03-09 2023-03-09 分布式文件系统的纠删码数据分布的方法及应用

Country Status (1)

Country Link
CN (1) CN116010160A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075821A (zh) * 2023-10-13 2023-11-17 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503706A (zh) * 2014-12-23 2015-04-08 中国科学院计算技术研究所 一种基于磁盘阵列的数据存储及读取方法
CN109491968A (zh) * 2018-11-13 2019-03-19 浙江鲸腾网络科技有限公司 一种文件处理方法、装置、设备及计算机可读存储介质
CN110347344A (zh) * 2019-07-19 2019-10-18 北京计算机技术及应用研究所 一种基于分布式存储系统的自动配置块存储方法
CN111176880A (zh) * 2018-11-09 2020-05-19 杭州海康威视系统技术有限公司 磁盘分配方法、装置和可读存储介质
CN112346663A (zh) * 2020-11-26 2021-02-09 上海天旦网络科技发展有限公司 多分区轮转的数据写入与清除方法及系统
CN113190377A (zh) * 2021-05-17 2021-07-30 北京中电兴发科技有限公司 一种基于分布式存储系统的可靠冗余方法及设备
CN114265817A (zh) * 2021-12-27 2022-04-01 天津天地伟业信息系统集成有限公司 一种分布式文件系统索引计算方法、装置及电子设备
CN114489508A (zh) * 2022-01-26 2022-05-13 重庆紫光华山智安科技有限公司 数据管理方法、装置、设备及介质
CN115729470A (zh) * 2022-11-17 2023-03-03 超聚变数字技术有限公司 一种数据写入方法及相关设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503706A (zh) * 2014-12-23 2015-04-08 中国科学院计算技术研究所 一种基于磁盘阵列的数据存储及读取方法
CN111176880A (zh) * 2018-11-09 2020-05-19 杭州海康威视系统技术有限公司 磁盘分配方法、装置和可读存储介质
CN109491968A (zh) * 2018-11-13 2019-03-19 浙江鲸腾网络科技有限公司 一种文件处理方法、装置、设备及计算机可读存储介质
CN110347344A (zh) * 2019-07-19 2019-10-18 北京计算机技术及应用研究所 一种基于分布式存储系统的自动配置块存储方法
CN112346663A (zh) * 2020-11-26 2021-02-09 上海天旦网络科技发展有限公司 多分区轮转的数据写入与清除方法及系统
CN113190377A (zh) * 2021-05-17 2021-07-30 北京中电兴发科技有限公司 一种基于分布式存储系统的可靠冗余方法及设备
CN114265817A (zh) * 2021-12-27 2022-04-01 天津天地伟业信息系统集成有限公司 一种分布式文件系统索引计算方法、装置及电子设备
CN114489508A (zh) * 2022-01-26 2022-05-13 重庆紫光华山智安科技有限公司 数据管理方法、装置、设备及介质
CN115729470A (zh) * 2022-11-17 2023-03-03 超聚变数字技术有限公司 一种数据写入方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075821A (zh) * 2023-10-13 2023-11-17 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质
CN117075821B (zh) * 2023-10-13 2024-01-16 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107220148B (zh) 针对独立磁盘冗余阵列的重建方法和设备
US10126988B1 (en) Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system
CN107943421B (zh) 一种基于分布式存储系统的分区划分方法及装置
US10318169B2 (en) Load balancing of I/O by moving logical unit (LUN) slices between non-volatile storage represented by different rotation groups of RAID (Redundant Array of Independent Disks) extent entries in a RAID extent table of a mapped RAID data storage system
EP2787446B1 (en) Distributed storage method, device and system
CN110096217B (zh) 用于重新定位数据的方法、数据存储系统和介质
US20120089799A1 (en) Data backup processing method, data storage node apparatus and data storage device
US11074130B2 (en) Reducing rebuild time in a computing storage environment
CN104166606A (zh) 文件备份方法和主存储设备
CN110737393A (zh) 数据读取方法、设备和计算机程序产品
CN113176858B (zh) 数据处理方法、存储系统及存储设备
US10996894B2 (en) Application storage segmentation reallocation
US8560884B2 (en) Application recovery in a file system
CN103942112A (zh) 磁盘容错方法、装置及系统
CN101980137A (zh) 廉价磁盘冗余阵列重构方法、装置及系统
CN111858130A (zh) 用于拆分盘集的方法、设备和计算机程序产品
CN110096218B (zh) 用于为存储对象提供raid数据保护的方法、系统和介质
US10346066B2 (en) Efficient erasure coding of large data objects
Douglis et al. Content-aware load balancing for distributed backup
CN116010160A (zh) 分布式文件系统的纠删码数据分布的方法及应用
US10977130B2 (en) Method, apparatus and computer program product for managing raid storage in data storage systems
CN112732168A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN112262372A (zh) 跨多个故障域的存储系统
CN106250055A (zh) 一种数据存储方法及系统
US11150991B2 (en) Dynamically adjusting redundancy levels of storage stripes

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