CN114237970A - 一种扩展纠删码存储系统的方法及装置 - Google Patents
一种扩展纠删码存储系统的方法及装置 Download PDFInfo
- Publication number
- CN114237970A CN114237970A CN202111459202.9A CN202111459202A CN114237970A CN 114237970 A CN114237970 A CN 114237970A CN 202111459202 A CN202111459202 A CN 202111459202A CN 114237970 A CN114237970 A CN 114237970A
- Authority
- CN
- China
- Prior art keywords
- extension
- group
- data
- nodes
- expansion
- 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
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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种扩展纠删码存储系统的方法及装置,该方法为:确定存储系统中的数据,对数据进行编码,并将数据分散存储在各个节点,获得各个节点的空间位置分布信息;基于扩展需求信息,确定每个条带上新增的节点个数,并基于新增的节点个数和空间位置分布信息,确定每个条带上的扩展节点信息;其中,条带包括具有编码关系的数据块和校验块;基于扩展节点信息和最小公倍数规则,确定扩展组,并对扩展组进行拆分处理,获得包括多个被选择的条带的目标组;对目标组执行扩展算法,获得对应的目标扩展组,目标扩展组包括扩展数据块和扩展校验块。基于上述方法,可提高纠删码存储系统的扩展效率。
Description
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种扩展纠删码存储系统的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
目前,存储系统部署在大量存储节点上,是支持信息检索、机器学习、视频流等各种上层应用的主要骨干。为了保证存储系统中数据的可靠性,存储系统经常依赖于复制和纠删码技术,两者都需要提前存储额外的数据冗余,这样系统就可以利用冗余来恢复丢失的数据,与复制相比,纠删码技术可以在同等的存储开销下实现更高的数据可靠性。
并且,随着数据的不断增长,对存储系统的可扩展性提出了更高的要求。具体的,存储扩展功能的实现需要存储系统执行数据重定位和校验块更新着两个操作。然而,现有技术中提供的方案,在数据重定位和校验块更新中,存储系统的扩展,不可避免地引起大量的数据传输,导致传输并行性差,且扩展过程较长,即扩展效率和效果较差。
发明内容
本发明提供一种扩展纠删码存储系统的方法及装置,用于解决现有技术中纠删码存储系统扩展效率较低的问题。
第一方面,本发明提供一种扩展纠删码存储系统的方法,所述方法包括:确定所述存储系统中的数据,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点的空间位置分布信息;基于扩展需求信息,确定每个条带上新增的节点个数,并基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息;所述条带包括具有编码关系的数据块和校验块;基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括多个被选择的条带的目标组;所述扩展组由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的;对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块。
在上述方法中,提出了一种全新的扩展机制,目的是减少流量并在连续伸缩中探索传输并行性的扩展机制。在该扩展机制中,设计了一种新的条带布局,该条带布局利用本地存储的数据块进行校验块的更新,从而减少了用于校验块更新的数据传输。因此,可以减少校验块更新的数据传输,从而提高扩展效率。
可选的,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点空间位置分布信息,包括:将所述数据划分为K个大小相同的数据块;K为大于1的正整数;将所述K个数据块与预设编码矩阵做域内矩阵运算,获得M个校验块;M为大于1且小于K的正整数;所述K个数据块与所述M个校验块构成多个条带;将同一条带上的数据块和校验块分散在不同的K+M个节点上,确定所述K个数据块与所述M个校验块在各个节点的分布信息,并基于所述分布信息获得所述空间位置分布信息。
在上述方法中,提供了具体对数据的处理,以及对数据块和校验块分散存储的方式。基于该方式,可以为后续的基于该新的条带布局实现校验块和数据块的扩展更新提供良好的实施基础,从而提高拓展效率。
可选的,基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息,包括:基于所述空间位置分布信息,确定每个条带上存储数据块的第一节点个数,以及每个条带上存储校验块的第二节点个数;将所述第一节点个数和所述新增的节点个数相加,获得第三节点个数,将所述第三节点个数,作为每个条带上扩展后的存储数据块的个数;以及,将所述第二节点个数,作为每个条带上扩展后的存储校验块的个数,以确定每个条带上的扩展节点信息。
基于上述方法,可以准确且快速的确定每个条带上的扩展节点信息,每个条带上扩展后的存储数据块和存储校验块的个数。这样,为后续数据块和校验块填充数据提供基础,从而快速实现数据块的迁移和校验块的更新,提高扩展效率。
可选的,基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括具有对应关系的条带的目标组,包括:基于所述扩展节点信息和最小公倍数规则,确定扩展组;所述扩展组包括V个扩展条带;对所述V个扩展条带进行拆分,确定P个基本组和R个调整组;每个所述基本组包括Vp个基本条带,每个所述调整组中包括Vr个调整条带;P和R为大于1的正整数;从所述基本组中选择K个基本条带,以及从所述调整组中选择D个调整条带,并基于所述K个基本条带和所述D个调整条带确定目标组;所述目标组中包括K+D个条带。
基于上述方法,可以对扩展组进行拆分,从而确定包括需要根据新增节点上的数据块进行更新的条带的基本组,以及包括将数据块发送到基本组的条带的调整组,从而可以基于调整组和基本组实现对数据块的快速迁移以及校验块的快速更新。
可选的,所述最小公倍数规则采用以下公式确定:
V=LCM(K,K+D+1)(K+D)(K+1)/K
其中,所述LCM()用于表征求取最小公倍数的函数,k用于表征每个条带上的扩展前的存储数据块的节点个数;d用于表征新增节点个数。
基于上述方法,可以准确且快速的确定扩展组包括的条带个数。
可选的,对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块,包括:对任一所述目标组中的K+D个条带编号,并对所述存储系统扩展后的K+M+D个节点编号;计算前K+1个节点中调整条带上数据块的差异校验块,并基于所述差异校验块更新同一节点上基本条带的第一个校验块;按照轮循模式将所述调整条带上数据块,传输到同一节点上的所述基本条带中,获得拓展后的初始扩展组;对所述初始扩展组执行预设操作,获得对应的目标扩展组。
基于上述方法,并行执行纠删码存储系统扩展的数据块迁移和校验块更新,即在扩展过程中,调度部分节点执行数据块迁移操作,同时,分配传输任务到另一部分节点来执行校验块更新操作,这样,可以提高扩展效率。
可选的,在获得所述目标扩展组之后,所述方法还包括:确定目标扩展组对应的条带的逻辑关系,以及各个扩展数据块和扩展校验块对应的第一空间分布信息;按照所述空间分布信息,调整所述逻辑关系顺序,以使所述第一空间分布信息与所述空间分布信息的逻辑布局相同。
基于上述方法,可以支持在纠删码存储系统执行下一次扩展时,不需要调整空间分布,从而减少不必要的开销。此外,还提供了支持纠删码存储系统的连续扩展的功能。
第二方面,本发明提供一种扩展纠删码存储系统的装置,所述装置包括:第一处理单元,用于确定所述存储系统中的数据,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点的空间位置分布信息;第二处理单元,用于基于扩展需求信息,确定每个条带上新增的节点个数,并基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息;所述条带包括具有编码关系的数据块和校验块;第三处理单元,用于基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括多个被选择的条带的目标组;所述扩展组由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的;获得单元,用于对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块。
可选的,所述第一处理单元,用于:将所述数据划分为K个大小相同的数据块;K为大于1的正整数;将所述K个数据块与预设编码矩阵做域内矩阵运算,获得M个校验块;M为大于1且小于K的正整数;所述K个数据块与所述M个校验块构成多个条带;将同一条带上的数据块和校验块分散在不同的K+M个节点上,确定所述K个数据块与所述M个校验块在各个节点的分布信息,并基于所述分布信息获得所述空间位置分布信息。
可选的,所述第二处理单元,用于:基于所述空间位置分布信息,确定每个条带上存储数据块的第一节点个数,以及每个条带上存储校验块的第二节点个数;将所述第一节点个数和所述新增的节点个数相加,获得第三节点个数,将所述第三节点个数,作为每个条带上扩展后的存储数据块的个数;以及,将所述第二节点个数,作为每个条带上扩展后的存储校验块的个数,以确定每个条带上的扩展节点信息。
可选的,所述第三处理单元,用于:基于所述扩展节点信息和最小公倍数规则,确定扩展组;所述扩展组包括V个扩展条带;对所述V个扩展条带进行拆分,确定P个基本组和R个调整组;每个所述基本组包括Vp个基本条带,每个所述调整组中包括Vr个调整条带;P和R为大于1的正整数;从所述基本组中选择K个基本条带,以及从所述调整组中选择D个调整条带,并基于所述K个基本条带和所述D个调整条带确定目标组;所述目标组中包括K+D个条带。
可选的,所述最小公倍数规则采用以下公式确定:
V=LCM(K,K+D+1)(K+D)(K+1)/K
其中,所述LCM()用于表征求取最小公倍数的函数,k用于表征每个条带上的扩展前的存储数据块的节点个数;d用于表征新增节点个数。
可选的所述获得单元,具体用于:对任一所述目标组中的K+D个条带编号,并对所述存储系统扩展后的K+M+D个节点编号;计算前K+1个节点中调整条带上数据块的差异校验块,并基于所述差异校验块更新同一节点上基本条带的第一个校验块;按照轮循模式将所述调整条带上数据块,传输到同一节点上的所述基本条带中,获得拓展后的初始扩展组;对所述初始扩展组执行预设操作,获得对应的目标扩展组。
可选的,所述装置还包括调整单元,用于:确定目标扩展组对应的条带的逻辑关系,以及各个扩展数据块和扩展校验块对应的第一空间分布信息;按照所述空间分布信息,调整所述逻辑关系顺序,以使所述第一空间分布信息与所述空间分布信息的逻辑布局相同。
上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为传统存储系统扩展纠删码RS(2,1,4)过程的数据块迁移阶段的示意图;
图2为传统存储系统扩展纠删码RS(2,1,4)过程的校验块更新阶段的示意图;
图3为本发明实施例提供的一种可选的应用场景示意图;图4为本发明实施例提供的一种可选的纠删码存储系统的架构示意图;
图5为本发明实施例提供的一种扩展纠删码存储系统的方法的步骤流程示意图;
图6为本发明实施例提供的条带中纠删码RS(k,m)的编码过程的示意图;
图7为本发明实施例提供的纠删码存储系统中纠删码RS(2,2)和纠删码RS(3,2)的纠删码存储分布的示意图;
图8为本发明实施例提供的校验块更新与数据块重定位并行性算法针对纠删码RS(2,1,4)的示意图;
图9为本发明实施例提供的纠删码(2,2,3)的扩展过程的工作流程图的示意图;
图10为本发明实施例提供的测试在不同带宽影响实验的结果图的示意图;
图11为本发明实施例提供的测试在不同大小数据块影响实验的结果图的示意图;
图12为本发明实施例提供的测试在不同新增节点数量影响实验的结果图的示意图;
图13为本发明实施例提供的纠删码存储系统通用配置下扩展过程流量数值分析测试的结果图的示意图;
图14为本发明实施例提供的纠删码存储系统扩展过程在不同新增节点数量下影响流量带宽的数值分析实验结果图的示意图;
图15为本发明实施例提供的删码存储系统不同扩展过程中带宽利用率数值分析的结果图的示意图;
图16为本发明实施例提供的一种扩展纠删码存储系统的装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
需要说明的是,本发明的说明书和权利要求中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的图像在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词或过程进行解释:
1、纠删码(Erasure Code,EC):是一种前向错误纠正技术(Forward ErrorCorrection,FEC),可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。其主要应用在网络传输中避免包的丢失,存储系统利用它来提高存储可靠性。
2、在分布式存储系统中纠删码技术的应用主要有三类:阵列纠删码、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。在本发明实施例中,主要针对RS类纠删码对应分布式储存系统的扩展进行说明。
下面对本发明实施例的设计思想进行简要介绍:
请参阅图1所示,为现有技术中传统存储系统扩展纠删码参数为(2,1,4)的数据块迁移阶段的示意图。以及,请参阅图2所示,为现有技术中传统存储系统扩展纠删码的参数为(2,1,4)的校验块更新阶段的示意图。其中,图1和图2中的S用于表征条带,N用于表征节点,D用于表征数据块,P用于表征校验块。
很显然,现有技术中的数据块的迁移和校验块的更新,不可避免地引起大量的数据传输,导致传输并行性差,且扩展过程较长,即扩展效率和效果较差。
鉴于此,本发明提供一种扩展纠删码存储系统的方法,该方法提出了一种全新的扩展机制,目的是减少流量并在连续伸缩中探索传输并行性的扩展机制。在该扩展机制中,设计了一种新的条带布局,该条带布局利用本地存储的数据块进行校验块的更新,从而减少了用于校验块更新的数据传输。可见,本发明提供的扩展纠删码存储系统的方法可以减少校验块更新的数据传输,从而提高扩展效率。
介绍完本发明实施例的设计思想之后,下面对本发明实施例中的扩展纠删码存储系统的技术方案适用的应用场景做一些简单介绍,需要说明的是,本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本发明实施例中提供的可以适用于大多数需要进行存储扩展功能的存储系统。其中,存储系统例如是业务订单存储系统,或者是交易数据存储系统,等等。参阅图3所示,为本发明实施例提供的一种场景示意图。在该场景示意图中,包括多个分别部署有代理节点的电子设备301和部署有全局协调器的元数据服务器302,电子设备301可以与全局协调器的元数据服务器302进行通信,例如通过有线或无线通信方式进行直接或间接地连接,本发明不做限制。其中,电子设备301-1、电子设备301-2、……、电子设备301-n可以被不同的代理节点部署。
在本发明实施例中,电子设备301例如可以服务器,但并不局限于此。其中,每个电子设备301均可以包括一个或多个处理器3011、存储器3012以及与其它服务器交互的I/O接口3013等。
在本发明实施例中,部署有全局协调器的元数据服务器302可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在该场景中,部署有全局协调器的元数据服务器302负责管理条带的元数据,此外,还可以发布每一轮传输任务到各个电子设备301上,执行数据块迁移或者校验块更新的操作。当各个电子设备301将此次确认信号传递给署有全局协调器的元数据服务器302,署有全局协调器的元数据服务器302可以执行将下一轮的传输命令发送到各个电子设备301上。
在该场景中,各个电子设备301需要接收协调器发送的传输命令,解析传输命令后执行传输命令的任务内容。具体的,各个电子设备301将需要发送的数据块或校验块发送到对应电子设备301后,该电子设备301会发送确认信号到部署有全局协调器的元数据服务器302上,告知部署有全局协调器的元数据服务器302发送完成,从而可以准备执行下一轮传输命令。
参阅图4所示,为本发明实施例提供的纠删码存储系统的架构示意图。其中,元数据服务器可以下发将现存节点中的代理节点中的校验块更新的命令,以及下发将现存节点中的代理节点的数据块,迁移至新增节点中的代理节点中的命令。
当然,本发明实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本发明实施例并不进行限制。
为进一步说明本发明实施例提供的扩展纠删码存储系统的方法的方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本发明实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本发明实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的应用环境)。
以下结合图5所示的方法流程图对本发明实施例中扩展纠删码存储系统的方法进行说明,下面对本发明实施例的方法流程进行介绍。
参阅图5所示,为本发明实施例提供的扩展纠删码存储系统的方法的实施流程图,该方法可以由元数据服务器执行,具体实施流程如下:
步骤501:确定存储系统中的数据,对数据进行编码,并将数据分散存储在各个节点,获得各个节点的空间位置分布信息。
在本发明实施例中,元数据服务器可以根据存储系统的可靠性需求和存储开销限制,选择满足存储系统容错需求和存储效率的RS类纠删码,并将该RS类纠删码作为存储系统中的数据。
在本发明实施例中,元数据服务器可以将数据划分为K个大小相同的数据块;其中,K为大于1的正整数。然后,可以将K个数据块与预设编码矩阵做域内矩阵运算,获得M个校验块。其中,M为大于1且小于K的正整数。此外,K个数据块与M个校验块可以构成多个条带。
进一步地,可以将同一条带上的数据块和校验块分散在不同的K+M个节点上,确定K个数据块与M个校验块在各个节点的分布信息,并基于分布信息获得空间位置分布信息。
在本发明实施例中,RS类纠删码的参数包括三个参数,该三个参数例如用K、M、W表示,其中,K表示RS类纠删码有K个数据块、M表示RS类纠删码有M个校验块,以及W用于表征RS类纠删码对应的位数;其中,W一般可以取值为:4、8、16、32。在本发明实施例中,后文中以w=8为例进行说明。
在本发明实施例中,元数据服务器可以根据RS类纠删码的参数和预设编码矩阵,获得校验块。具体的,元数据服务器可以将上述K个数据块通过与生成的限定在伽罗华域内的预设编码矩阵做域内矩阵运算,从而可以得到M个校验块。示例性的,可以通过数据块和预设编码矩阵的数进行按位运算,获得校验块。其中,前述的预设编码矩阵可以为范德蒙德矩阵或者是柯西矩阵,本发明实施例中对此不做限制。
例如,请参阅图6所示,图6为本发明实施例中提供的对RS类纠删码进行编码的过程示意图。其中,元数据服务器可以基于单位矩阵和生成矩阵确定编码矩阵,并将该编码矩阵确定为预设编码矩阵,然后将预设编码矩阵和k个数据块相乘,获得m个校验块,从而可以将k个数据块和m个数据块存储到k+m个节点上。
在本发明实施例中,根据纠删码的参数和预设编码矩阵,将K个数据块进行编码操作生成M个对应的校验块,用二元组(K,M)表示。
在本发明实施例中,当确定数据块和与该数据块具有编码关系的校验块之后,可以基于定数据块和与该数据块具有编码关系的校验块,确定条带。进一步地,可以将同个条带的数据块和校验块分散存储在不同的节点中。
具体的,本发明实施例中对将同一条带上的数据块和校验块分散在不同的K+M个节点上的空间分布方案设置如下:在前K+1个节点上存储1个校验块和K个数据块;其中,校验块的位置在K+1个条带上呈对角线排布;在后M-1个节点上存储除1个校验块之外的校验块。
在本发明实施例中,元数据服务器可以根据数据块和校验块在不同节点的分布情况,确定空间位置分布信息。具体的,空间位置分布信息可以理解为数据块位于条带和节点的位置信息,以及校验块位于条带和节点的位置信息。
例如,请参阅图7所示,图7为本发明实施例中提供的RS类纠删码的参数为(2,2)和RS类纠删码的参数为(3,2)的示意图。其中,S用于表征条带,N用于表征节点,D用于表征数据块,P用于表征校验块。基于图7,,可以明确知晓本发明实施例数据块,以及与数据块对应的校验块的存储分布。
步骤502:基于扩展需求信息,确定每个条带上新增的节点个数,并基于新增的节点个数和空间位置分布信息,确定每个条带上的扩展节点信息;条带包括具有编码关系的数据块和校验块。
在本发明实施例中,基于空间位置分布信息,确定每个条带上存储数据块的第一节点个数,以及每个条带上存储校验块的第二节点个数;将第一节点个数和新增的节点个数相加,获得第三节点个数,将第三节点个数,作为每个条带上扩展后的存储数据块的个数;以及,将第二节点个数,作为每个条带上扩展后的存储校验块的个数,以确定每个条带上的扩展节点信息。
示例性的,根据系统调整可靠性和条带长度需求,确定新增的节点个数为D,每个条带上存储数据块的第一节点个数为K,以及每个条带上存储校验块的第二节点个数为M,从而可以确定每个条带上扩展后的存储数据块的个数为K+D,以及确定每个条带上扩展后的存储校验块的个数为M。
步骤503:基于扩展节点信息和最小公倍数规则,确定扩展组,并对扩展组进行拆分处理,获得包括多个被选择的条带的目标组;扩展组是由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的。
在本发明实施例中,元数据服务器可以基于扩展节点信息和最小公倍数规则,确定扩展组,其中,扩展组是由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的,且扩展组包括V个扩展条带。可见,V个扩展条带可完成扩展需求且空间位置分布规律不变的条件。
具体的,最小公倍数规则采用以下公式确定:
V=LCM(K,K+D+1)(K+D)(K+1)/K
其中,所述LCM()用于表征求取最小公倍数的函数,K用于表征每个条带上的扩展前的存储数据块的节点个数;D用于表征新增节点个数。
在本发明实施例中,元数据服务器确定V个扩展条带之后,可以对V个扩展条带进行拆分,确定P个基本组和R个调整组;每个基本组包括Vp个基本条带,每个调整组中包括Vr个调整条带;P和R为大于1的正整数。
在本发明实施例中,元数据服务器可以根据V个扩展条带中数据块和校验块承担的功能不同,将V个条带表示为两个种类的组,即前述的基本组和调整整。其中,基本组中条带的校验块需要根据新增节点上的数据块进行更新,调整组中条带的数据块发送到基本组的条带中。
具体的,Vp个基本条带和Vr个调整条带需要满足等式:Vp:Vr=K:D,从而可以基于以下公式确定Vp和Vr:
Vp=LCM(K,K+D+1)(K+1);Vr=LCM(K,K+D+1)D(K+1)/K。
在本发明实施例中,在扩展过程中,可以将调整组的数据块对应传输到具有对应关系的条基本组的条带中元数据服务器。具体的,可以按照条带顺序,确定基本组中K(K+1)个基本条带与调整组中D(K+1)个条带对应。因此对应关系可以表示为:基本组中:{(i-1)K(K+1)+1,(i-1)K(K+1)+2,…,iK(K+1)},这K(K+1)个条带,与调整组中:{(i-1)D(K+1)+1,(i-1)D(K+1)+2,…,iD(K+1)}这D(K+1)个条带具备对应关系。其中,0<i<LCM(K,K+D+1)/K。可见,每V个条带中有LCM(K,K+D+1)/K对具备对应关系的条带。
在本发明实施例中,当确定P个基本组和R个调整组和各自对应的条带之后,可以从基本组中的K(K+1)个条带,按照条带顺序,每个组选择K个基本条带。以及,从与K(K+1)个条带具备对应关系的调整组中的D(K+1)个条带,按照条带顺序,间隔K个调整条带连续选择选择D个调整条带。因此,可以将上述(K+D)(K+1)个条带,组成(K+1)个小组,从而基于K个基本条带和D个调整条带确定目标组;其中,每个目标组中包括K+D个条带。
可见,任一目标组包括:独立地从基本组中的K(K+1)个条带中选择{(i-1)K+1,(i-1)K+2,…,iK}的K个基本条带,以及和其具有对应关系的调整组中的{D(K+1)-i,(D-1)(K+1)-i,…,(K+1)-i}个条带中选择的D个调整条带。
在本发明实施例中,当确定目标组之后,对每个目标组执行步骤504:对目标组执行扩展算法,获得对应的目标扩展组,目标扩展组包括扩展数据块和扩展校验块。
具体的,确定对应的目标扩展组可以采用但不限于以下步骤:
步骤a:对任一目标组中的K+D个条带编号,并对存储系统扩展后的K+M+D个节点编号。
在本发明实施例中,对任一目标组中的K+D个条带可以编号为:{1,2,……,K+D}。以及,可以对K+M+D个节点编号为:{1,2,……,K+M+D}。
步骤b:计算前K+1个节点中调整条带上数据块的差异校验块,并基于差异校验块更新同一节点上基本条带的第一个校验块。
在本发明实施例中,首先可以更新前K个条带的第一个校验块,具体的,可以以计算差异校验块的方式更新校验块。具体的,可以计算前K+1个节点中,{K+1,K+2,…,K+D}调整条带上数据块的差异校验块,并基于异校验块更新同一节点上基本条带的第一个校验块。
步骤c:按照轮循模式将调整条带上数据块,传输到同一节点上的基本条带中,获得拓展后的初始扩展组。
在本发明实施例中,针对数据块迁移部分,可以将按照轮循的方式传输{K+1,K+2,…,K+D}调整条带上数据块到{1,2,…,K}基本条带上。具体的,每一轮按照顺序从K个存储数据块的节点中选择D个节点上的D个数据块,第i轮选择{i,i+1,…,i+D-1}的D个节点,对应传输{K+1,K+2,…,K+D}这D个调整条带上的D个数据块到D个新增节点上,当i+D-1>K时,从第1个存储数据块节点开始,继续选择节点。
步骤d:对初始扩展组执行预设操作,获得对应的目标扩展组。
在本发明实施例中,通过全局计数器的方式,统计数据块传输到新节点的个数,每发送(K+1)D个数据块到新增节点上后,将后续D个基本条带的第1个校验块和对应节点调整条带的校验块进行逻辑位置替换。
具体的,前述过程可以表示为:在第i个进行逻辑位置替换的基本条带中,将该条带的第1个校验块和对应节点调整条带的第i个数据块进行位置替换,替换后同样执行上述数据块迁移算法。其中,i的取值范围为大于0小于D。
可知,在经过K轮后结束,在执行数据块迁移部分算法时,原本存储数据块的K个节点每一轮只有D个节点被占用,剩下(K-D)个节点闲置。
在本发明实施例中,对基带条带中除第1个校验块外的(M-1)个校验块的更新,可以执行以下操作:
Step1:调整条带中有M个节点存储校验块,其中(M-1)个节点与基本条带中只存储校验块的节点重叠。每一轮从这(M-1)个节点中传输(M-1)个校验块的线性组合到其他(M-1)节点。
具体的,该过程可以表示为:第i轮中,这(M-1)个节点传输校验块的线性组合到与各自间隔i个位置的节点上,当节点的位置超过(M-1)时,从第1个节点开始,继续选择节点传输,可知经过(M-2)轮后结束,其中,i的取值范围为大于0且小于M-2。
Step2:调整条带中有1个存储校验块节点和(K-M)个存储数据块节点与基本条带中剩余(M-1)个存储校验块节点不重叠。每一轮从这(K-M+1)节点中选择(M-1)个节点,传输数据块的线性组合或校验块的线性组合到基本条带中剩余的(M-1)个存储校验块节点。
具体的,该过程可表示为:第i轮中,从这(K-M+1)节点中选择{i,i+1,…,i+M-1}节点传输数据块的线性组合或校验块的线性组合到对应{1,2,…,M-1}基本条带存储校验块的节点,可知,(K-M+1)轮后结束。其中,i的取值范围为大于0小于K-M+1。
综上经过(K-1)轮后,更新校验块操作收集需要的数据块的线性组合和校验块的线性组合完成,可以通过本发明设计的更新算法完成更新校验块的操作。
需要说明的是,在本发明实施例中,前述对校验块更新部分的限制条件为:数据块迁移中每一轮需要占用D个存储数据块节点和更新校验块的Step2中最大需要(M-1)个存储数据块节点不能重叠,即要求满足不等式:K大于等于D+M-1。
在本发明实施例中,需要限制每个节点发送和接收是全双工工作,也就是在每一轮中,每个节点只能同时接收和发送一个块,需要基于预设算法达到在每一轮内最大化节点的使用率。在实际实施过程中,数据中心管理人员在确定新增节点个数时,需要确定参数K,M,D满足这个限制条件。
在本发明实施例中,基本条带中后(M-1)个只存储校验块的节点,在接收完毕来自其他节点的(K-M)个数据块线性组合和(M-1)个校验块线性组合以及自身节点上计算得到的调整条带上校验块的线性组合,可以通过纠删码解码的算法,计算得到基本条带上后(M-1)个校验块对应的差异校验块,再将基本条带的校验块和计算得到的差异校验块进行异或操作,可以计算得到更新后的校验块即扩展校验块。
在本发明实施例中,当一个扩展组的条带都被更新完成后,可以获得对应的目标扩展组。此外,还可以按照空间分布信息,调整条带的逻辑关系顺序以满足扩展前的空间整体分布方案。这样,当在存储系统执行下一次扩展时,不需要调整空间分布带来不必要的开销。
在本发明实施例中,请参阅图8,图8为本发明提供的RS(2,1,4)的校验块更新与数据块重定位并行性算法的示意图。以及请参阅图9,图9为本发明实施例提供的扩展RS(2,1,4)的过程示意图。
在本发明实施例中,还可以确定目标扩展组对应的条带的逻辑关系,以及各个扩展数据块和扩展校验块对应的第一空间分布信息。然后,按照空间分布信息,调整逻辑关系顺序,以使第一空间分布信息与空间分布信息的逻辑布局相同。这样,当在存储系统执行下一次扩展时,不需要调整空间分布带来不必要的开销。
在本发明实施例中,当所有基本组的条带都完成了扩展操作,还可以删除存储系统中调整组的所有数据块和校验块。这样,可以尽量减少资源的浪费和消耗。
可见,本发明实施例提供的一种扩展纠删码存储系统的方法,扩展过程的输入/输出即I/O开销小,即减少扩展过程中需要读取、写入的数据量以及网络中传输的数据量。以及,扩展过程的时间延迟短,在I/O开销小和全双工通信的基础上,全新的更新校验块算法增加存储系统中的可利用带宽资源,通过并行执行调度扩展算法,降低扩展过程的时间延迟。此外,还可以支持连续扩展,即在单次扩展过程结束后,本发明的整体空间分布情况与扩展前一致,因此,在存储系统执行下一次扩展时,不需要调整空间分布带来不必要的开销。
在具体的实施过程中,对本发明实施例提出的方案进行了测试。具体的,本发明实施例从从真实平台研究以及基于仿真实验这两种测试方式,对本发明实施例提出的方案进行了测试。
方式一:基于真实平台对本发明实施例提出的方案进行测试。
在本发明实施例中,具体的实验环境包括19台ecs.g6.large类型的虚拟服务器,每个虚拟服务器配置配备了2vCPU(2.5GHz Intel Xeon Platinum 8269CY)和8GB内存。和40GB存储,运行的操作系统为Ubuntu18.04。任意两个服务器间的网络带宽最大值约为3Gb/s。19个服务器中的1个服务器作为全局协调器,剩余的18个服务器为代理端运行本发明的服务端程序。其中,实验的默认设置为块大小为64MB,纠删码方案为RS(6,3)和RS(10,4),新增节点数量根据实验不同而变化。
具体的,每次实验重复多次测试,且测量的参数为测量扩展过程的时间消耗,即将所有块传输完毕到对应节点的时间,具体的,扩展时间定义为平均条带的扩展时间消耗,平均扩展时间消耗越短,说明扩展过程的效率越高。
此外,测试采用对比实验,比较Scale-RS和NCScale两种先进的纠删码存储系统扩展机制。在实际实施中,还可以在其他实验测试环境下进行测试或使用,本发明实施例对此不做限制。
在具体的实施过程中,可以测量网络带宽从1Gb/s变化到2Gb/s时的扩展时间,具体的,测试结果如图10所示。请参阅图10,在三种扩展机制中,本发明实施例提供的方法需要的扩展流量最少,并且相对其他两种机制提高了传输的并行性。总体上,当网络带宽为1Gb/s时,本发明与Scale-RS和NCScale相比,平均减少了49.8%和58.9%。以及,当网络带宽增加到2Gb/s时,分别平均减少了50.8%和58.8%。
显然,当带宽增加时,本发明的平均扩展时间少于Scale-RS和NCScale,可见,本发明的提供方法的拓展性能优于Scale-RS和NCScale。
在具体的实施过程中,还可以测试研究了不同块大小,例如从32MB到64MB下的扩展时间。此次测试过程中,可以将网络带宽设置为3Gb/s。请参阅图11所示,扩展时间随着块大小的增加而增加,且本发明提供的方法比Scale-RS和NCScale分别缩短了49.1-53.0%和24.1-76.9%的缩放时间。并且,可以看到本发明提供的方法和Scale-RS在连续的扩展过程中都取得了相当稳定的性能,而NCScale的缩放时间在第二次扩展操作,即(8,3,10)扩展过程中显著增加。
在具体的实施过程中,还可以测试研究新添加节点的数量(即前述的新增的节点的个数即参数D)对缩放时间的影响。具体的,可以将网络带宽固定为3Gb/s,并将研究参数D从2到3的情况。请参阅12所示,在不同的新增节点数下,三种机制的平均扩展时间并没有受到非常显著的影响,最根本的原因是我们使所有的方法都具有传输并行性,以实现公平比较,这样新添加的D个节点就可以并行地接收迁移后的数据,本发明提供的方法将Scale-RS和NCScale机制的扩展时间分别降低了49.8-51.4%和23.6-76.3%,显著提升了扩展效率。
方式二:基于仿真测试对本发明实施例提出的方案进行测试。
在具体的实施过程中,可以执行通用配置下的流量仿真试验。示例性的,请参阅图13所示,该测试为对不同扩展机制的逐次扩展流程的流量进行评估,且考虑RS(6,3)和RS(10,4)这两种情况,以及将参数d的值设为2。
请继续参阅图13,可见,在不同扩展过程参数下,本发明提供的方案在连续扩展过程中表现良好,与Scale-RS相比,从RS(6,3)和RS(10,4)开始进行扩展时,本发明提供的方案分别减少了22.9-26.7%和19.4-21.7%的扩展流量,与NCScale相比,扩展流量减少了8.3%~62.8%,即本发明提供的方案减少了资源的消耗。
在具体的实施过程中,可以执行扩容节点数量影响扩展带宽的仿真试验,该实验测量本发明在添加不同节点数量带来的扩展过程效率的影响。示例性的,请参阅图14所示,在扩展之前使用RS(6,3)和RS(10,4)这两个参数情况,然后将新增的节点个数(即,参数D)从2更改为10。可见,扩展流量随着添加的新节点的数量而增加,产生这样的情况的原因是添加更多的节点需要传输更多的块来进行重新定位和校验块更新。然而,本发明提供的方案仍然保持压缩扩展流量的优势,与Scale-RS和NCScale相比,本发明扩展过程平均可分别减少35.2%和38.1%的扩展流量,即本发明提供的方案减少了资源的消耗。
在具体的实施过程中,可以执行平均带宽利用率的不同的仿真实验,该试验最终评估的是平均带宽利用率,且平均带宽利用率定义为每个时间单位传输的平均数据量与每时间单位数据块重定位和校验块更新可传输的理论最大数据量的比值。
请参阅图15所示,可见,与Scale-RS和NCScale相比,本发明提供的方案实现了接近最佳的带宽利用率。特别是,本发明提供的方案在扩展过程RS(18,4,20)中达到了96.7%的带宽利用率。平均而言,本发明的带宽利用率分别比Scale-RS和NCScale高41.7-46.7%和61.9-78.3%。
综上可知,本发明针对纠删码存储系统扩展过程I/O消耗大,带宽利用率低且连续扩展消耗增大的现象提出了一种快速连续扩展机制。且本发明从连续的角度分析纠删码存储系统的扩展过程,设计新的空间分布方案和校验块更新算法增加节点带宽利用率和块发送执行度。本发明在保证系统可靠性的基础上,减少了扩展过程时间和带宽流量消耗。
如图16所示,本发明提供一种扩展纠删码存储系统的装置,所述装置包括:第一处理单元1601,用于确定所述存储系统中的数据,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点的空间位置分布信息;第二处理单元1602,用于基于扩展需求信息,确定每个条带上新增的节点个数,并基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息;所述条带包括具有编码关系的数据块和校验块;第三处理单元1603,用于基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括多个被选择的条带的目标组;所述扩展组由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的;获得单元1604,用于对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块。
可选的,所述第一处理单元1601,用于:将所述数据划分为K个大小相同的数据块;K为大于1的正整数;将所述K个数据块与预设编码矩阵做域内矩阵运算,获得M个校验块;M为大于1且小于K的正整数;所述K个数据块与所述M个校验块构成多个条带;将同一条带上的数据块和校验块分散在不同的K+M个节点上,确定所述K个数据块与所述M个校验块在各个节点的分布信息,并基于所述分布信息获得所述空间位置分布信息。
可选的,所述第二处理单元1602,用于:基于所述空间位置分布信息,确定每个条带上存储数据块的第一节点个数,以及每个条带上存储校验块的第二节点个数;将所述第一节点个数和所述新增的节点个数相加,获得第三节点个数,将所述第三节点个数,作为每个条带上扩展后的存储数据块的个数;以及,将所述第二节点个数,作为每个条带上扩展后的存储校验块的个数,以确定每个条带上的扩展节点信息。
可选的,所述第三处理单元1603,用于:基于所述扩展节点信息和最小公倍数规则,确定扩展组;所述扩展组包括V个扩展条带;对所述V个扩展条带进行拆分,确定P个基本组和R个调整组;每个所述基本组包括Vp个基本条带,每个所述调整组中包括Vr个调整条带;P和R为大于1的正整数;从所述基本组中选择K个基本条带,以及从所述调整组中选择D个调整条带,并基于所述K个基本条带和所述D个调整条带确定目标组;所述目标组中包括K+D个条带。
可选的,所述最小公倍数规则采用以下公式确定:
V=LCM(K,K+D+1)(K+D)(K+1)/K
其中,所述LCM()用于表征求取最小公倍数的函数,k用于表征每个条带上的扩展前的存储数据块的节点个数;d用于表征新增节点个数。
可选的所述获得单元1604,具体用于:对任一所述目标组中的K+D个条带编号,并对所述存储系统扩展后的K+M+D个节点编号;计算前K+1个节点中调整条带上数据块的差异校验块,并基于所述差异校验块更新同一节点上基本条带的第一个校验块;按照轮循模式将所述调整条带上数据块,传输到同一节点上的所述基本条带中,获得拓展后的初始扩展组;对所述初始扩展组执行预设操作,获得对应的目标扩展组。
可选的,所述装置还包括调整单元,用于:确定目标扩展组对应的条带的逻辑关系,以及各个扩展数据块和扩展校验块对应的第一空间分布信息;按照所述空间分布信息,调整所述逻辑关系顺序,以使所述第一空间分布信息与所述空间分布信息的逻辑布局相同。
本发明实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本发明实施例提供的一种扩展纠删码存储系统的方法及任一可选方法。
本发明实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本发明实施例提供的一种扩展纠删码存储系统的方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种扩展纠删码存储系统的方法,其特征在于,所述方法包括:
确定所述存储系统中的数据,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点的空间位置分布信息;
基于扩展需求信息,确定每个条带上新增的节点个数,并基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息;所述条带包括具有编码关系的数据块和校验块;
基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括多个被选择的条带的目标组;所述扩展组由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的;
对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块。
2.如权利要求1所述的方法,其特征在于,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点空间位置分布信息,包括:
将所述数据划分为K个大小相同的数据块;K为大于1的正整数;
将所述K个数据块与预设编码矩阵做域内矩阵运算,获得M个校验块;M为大于1且小于K的正整数;所述K个数据块与所述M个校验块构成多个条带;
将同一条带上的数据块和校验块分散在不同的K+M个节点上,确定所述K个数据块与所述M个校验块在各个节点的分布信息,并基于所述分布信息获得所述空间位置分布信息。
3.如权利要求1或2所述的方法,其特征在于,基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息,包括:
基于所述空间位置分布信息,确定每个条带上存储数据块的第一节点个数,以及每个条带上存储校验块的第二节点个数;
将所述第一节点个数和所述新增的节点个数相加,获得第三节点个数,将所述第三节点个数,作为每个条带上扩展后的存储数据块的个数;以及,将所述第二节点个数,作为每个条带上扩展后的存储校验块的个数,以确定每个条带上的扩展节点信息。
4.如权利要求1所述的方法,其特征在于,基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括具有对应关系的条带的目标组,包括:
基于所述扩展节点信息和最小公倍数规则,确定扩展组;所述扩展组包括V个扩展条带;
对所述V个扩展条带进行拆分,确定P个基本组和R个调整组;每个所述基本组包括Vp个基本条带,每个所述调整组中包括Vr个调整条带;P和R为大于1的正整数;
从所述基本组中选择K个基本条带,以及从所述调整组中选择D个调整条带,并基于所述K个基本条带和所述D个调整条带确定目标组;所述目标组中包括K+D个条带。
5.如权利要求4所述的方法,其特征在于,所述最小公倍数规则采用以下公式确定:
V=LCM(K,K+D+1)(K+D)(K+1)/K
其中,所述LCM()用于表征求取最小公倍数的函数,k用于表征每个条带上的扩展前的存储数据块的节点个数;d用于表征新增节点个数。
6.如权利要求4所述的方法,其特征在于,对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块,包括:
对任一所述目标组中的K+D个条带编号,并对所述存储系统扩展后的K+M+D个节点编号;
计算前K+1个节点中调整条带上数据块的差异校验块,并基于所述差异校验块更新同一节点上基本条带的第一个校验块;
按照轮循模式将所述调整条带上数据块,传输到同一节点上的所述基本条带中,获得拓展后的初始扩展组;
对所述初始扩展组执行预设操作,获得对应的目标扩展组。
7.如权利要求1所述的方法,其特征在于,在获得所述目标扩展组之后,所述方法还包括:
确定目标扩展组对应的条带的逻辑关系,以及各个扩展数据块和扩展校验块对应的第一空间分布信息;
按照所述空间分布信息,调整所述逻辑关系顺序,以使所述第一空间分布信息与所述空间分布信息的逻辑布局相同。
8.一种扩展纠删码存储系统的装置,其特征在于,所述装置包括:
第一处理单元,用于确定所述存储系统中的数据,对所述数据进行编码,并将所述数据分散存储在各个节点,获得所述各个节点的空间位置分布信息;
第二处理单元,用于基于扩展需求信息,确定每个条带上新增的节点个数,并基于所述新增的节点个数和所述空间位置分布信息,确定每个条带上的扩展节点信息;所述条带包括具有编码关系的数据块和校验块;
第三处理单元,用于基于所述扩展节点信息和最小公倍数规则,确定扩展组,并对所述扩展组进行拆分处理,获得包括多个被选择的条带的目标组;所述扩展组由满足可完成扩展需求且空间位置分布规律不变的条件的多个条带所组成的;
获得单元,用于对所述目标组执行扩展算法,获得对应的目标扩展组,所述目标扩展组包括扩展数据块和扩展校验块。
9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
10.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111459202.9A CN114237970A (zh) | 2021-12-02 | 2021-12-02 | 一种扩展纠删码存储系统的方法及装置 |
PCT/CN2022/101302 WO2023098048A1 (zh) | 2021-12-02 | 2022-06-24 | 一种扩展纠删码存储系统的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111459202.9A CN114237970A (zh) | 2021-12-02 | 2021-12-02 | 一种扩展纠删码存储系统的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237970A true CN114237970A (zh) | 2022-03-25 |
Family
ID=80752786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111459202.9A Pending CN114237970A (zh) | 2021-12-02 | 2021-12-02 | 一种扩展纠删码存储系统的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114237970A (zh) |
WO (1) | WO2023098048A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098048A1 (zh) * | 2021-12-02 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 一种扩展纠删码存储系统的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630423B (zh) * | 2015-12-25 | 2018-11-27 | 华中科技大学 | 一种基于数据缓存的纠删码集群存储扩容方法 |
US10572470B2 (en) * | 2017-04-06 | 2020-02-25 | International Business Machines Corporation | Enhanced FSCK mechanism for improved consistency in case of erasure coded object storage architecture built using clustered file system |
CN108536396B (zh) * | 2018-04-08 | 2020-05-19 | 华中科技大学 | 一种基于网络编码的存储扩展方法 |
CN111831223B (zh) * | 2020-06-19 | 2021-06-11 | 华中科技大学 | 提高数据去重系统可扩展性的容错编码方法、装置及系统 |
CN114237970A (zh) * | 2021-12-02 | 2022-03-25 | 深圳前海微众银行股份有限公司 | 一种扩展纠删码存储系统的方法及装置 |
-
2021
- 2021-12-02 CN CN202111459202.9A patent/CN114237970A/zh active Pending
-
2022
- 2022-06-24 WO PCT/CN2022/101302 patent/WO2023098048A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098048A1 (zh) * | 2021-12-02 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 一种扩展纠删码存储系统的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023098048A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10594340B2 (en) | Disaster recovery with consolidated erasure coding in geographically distributed setups | |
CN111949394B (zh) | 一种共享算力资源的方法、系统及存储介质 | |
US10887167B2 (en) | Adaptive software-defined storage for cloud storage workloads | |
Zhang et al. | CHARM: A cost-efficient multi-cloud data hosting scheme with high availability | |
US10956276B2 (en) | System state recovery in a distributed, cloud-based storage system | |
RU2501072C2 (ru) | Распределенное хранение восстанавливаемых данных | |
CN111614720B (zh) | 针对集群存储系统单点失效修复的跨集群流量优化方法 | |
US20190205033A1 (en) | Storing data utilizing a maximum accessibility approach in a dispersed storage network | |
US10594790B2 (en) | Data compression in a dispersed storage network | |
CN110765092A (zh) | 分布式搜索系统、索引分发方法及存储介质 | |
Gong et al. | Optimal node selection for data regeneration in heterogeneous distributed storage systems | |
CN113541870A (zh) | 一种纠删码存储单节点失效的修复优化方法 | |
CN114237970A (zh) | 一种扩展纠删码存储系统的方法及装置 | |
US9256503B2 (en) | Data verification | |
Herwanto et al. | Measuring throughput and latency distributed ledger technology: Hyperledger | |
Arakawa et al. | Availability‐aware virtual network function placement based on multidimensional universal generating functions | |
US10241878B2 (en) | System and method of data allocation providing increased reliability of storage | |
US10769016B2 (en) | Storing a plurality of correlated data in a dispersed storage network | |
Zhang et al. | NADE: nodes performance awareness and accurate distance evaluation for degraded read in heterogeneous distributed erasure code-based storage | |
CN114237985B (zh) | 修复纠删码存储系统中失效存储块的方法及相关设备 | |
US10996895B1 (en) | Selecting a subset of storage units in a dispersed storage network | |
CN113504875A (zh) | 一种基于多级调度的纠删码系统恢复方法及系统 | |
CN116107797A (zh) | 数据存储方法及装置、电子设备和存储介质 | |
CN114143174B (zh) | 一种节点修复方法、装置、设备及可读存储介质 | |
CN113422789B (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 |