CN117687573A - 一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 - Google Patents
一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117687573A CN117687573A CN202311686180.9A CN202311686180A CN117687573A CN 117687573 A CN117687573 A CN 117687573A CN 202311686180 A CN202311686180 A CN 202311686180A CN 117687573 A CN117687573 A CN 117687573A
- Authority
- CN
- China
- Prior art keywords
- target
- performance
- stripe
- erasure code
- disk
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000001960 triggered effect Effects 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 238000005299 abrasion Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请公开了一种磁盘阵列的纠删码条带存储方法、装置、设备及介质,涉及数据中心技术领域,包括:在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定条带写入带宽;基于条带写入带宽和磁盘阵列当前的目标写入性能确定出第一磁盘数量,以将目标纠删码条带写入与第一磁盘数量相应的若干个第一目标磁盘;在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出条带读取带宽;基于条带读取带宽和磁盘阵列当前的目标读取性能确定出第二磁盘数量,以将第一目标磁盘中存储的目标纠删码条带重新存储至与第二磁盘数量相应的若干个第二目标磁盘中。能够节省存储系统的存储资源开销、提升纠删编/解码效率。
Description
技术领域
本发明涉及数据中心技术领域,特别涉及一种磁盘阵列的纠删码条带存储方法、装置、设备及介质。
背景技术
RAID(Redundant Arrays of Independent,即磁盘阵列)是一种利用多块独立硬盘组合而成的存储技术,旨在提高数据存储的性能、可靠性和容错能力。RAID技术通过将多个硬盘组织成一个逻辑卷,或称为逻辑磁盘,呈现为单个存储设备,但数据实际上分散在多个物理硬盘上。使得RAID能提供比单个硬盘更好的性能和可靠性。
大比例纠删(即Wide-Stripe Erasure Coding)通常指的是在纠删码(ErasureCode)技术中使用较大比例的冗余数据块来实现高容错性的策略。纠删码是一种数据冗余技术,用于在存储系统中提供容错能力,以防止硬盘故障或数据损坏。然而,大比例纠删技术的条带宽度过大,通常使用几十个磁盘,甚至上百磁盘进行条带存储,导致在编/解码效率过低。纠删编码用于在分布式存储系统中提供容错性和高可靠性,它通过将数据分割成多个块,并使用数学算法对这些数据块进行编码,生成校验块;纠删解码是对使用纠删编码生成的冗余数据进行恢复原始数据的过程。在编码阶段需要对磁盘进行写操作,而在解码阶段需要对磁盘进行读操作。
当前,磁盘在面对读写操作时存在磁盘读写带宽差异,即读写操作对应不同的带宽大小。据观察,磁盘读操作带宽7GB/s比写操作带宽5GB/s一般要高出30%-40%。而存储服务器前端网卡的传输带宽是固定的,如果以一种固定的条带分布策略进行读写,则纠删条带的写入和读取操作效率将会受限,即纠删编/解码效率较低,系统的存储资源开销较大。
综上,如何提升纠删编码效率和解码效率,并节省存储系统的存储资源开销是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种磁盘阵列的纠删码条带存储方法、装置、设备及介质,能够提升纠删编码效率和解码效率,并节省存储系统的存储资源开销。其具体方案如下:
第一方面,本申请公开了一种磁盘阵列的纠删码条带存储方法,包括:
在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;
确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;
在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;
确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
可选的,所述目标写入性能为在执行所述纠删码编码操作时,所述磁盘阵列中当前单个磁盘的写入性能;所述目标读取性能为在执行所述纠删码解码操作时,所述磁盘阵列中当前单个磁盘的读取性能;
相应的,所述基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,包括:
对所述条带写入带宽和所述目标写入性能进行比值运算,以得到所述条带写入带宽和所述目标写入性能之间的第一比值,并利用向上取整函数对所述第一比值进行向上取整操作,得到取整后的第一目标值;
将所述第一目标值作为与所述目标纠删码条带适配的第一磁盘数量;
相应的,所述基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,包括:
对所述条带读取带宽和所述目标读取性能进行比值运算,以得到所述条带读取带宽和所述目标读取性能之间的第二比值,并利用向上取整函数对所述第二比值进行向上取整操作,得到取整后的第二目标值;
将所述第二目标值作为与所述目标纠删码条带适配的第二磁盘数量。
可选的,所述磁盘阵列的纠删码条带存储方法,还包括:
在执行所述纠删码编码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的写入性能;
对各所述写入性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均写入性能,并将所述平均写入性能作为所述目标写入性能。
可选的,所述磁盘阵列的纠删码条带存储方法,还包括:
在执行所述纠删码解码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的读取性能;
对各所述读取性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均读取性能,并将所述平均读取性能作为所述目标读取性能。
可选的,所述第一系统硬件性能包括系统的中央处理器性能、缓存性能和网卡性能,所述第二系统硬件性能包括系统的中央处理器性能、网卡性能、磁盘修复性能和磁盘缓存空间。
可选的,所述将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘,包括:
从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;
按照所述第一磁盘数量对所述目标纠删码条带进行均匀分块处理,以得到各条带数据块,并将各所述条带数据块分别写入至各所述第一目标磁盘。
可选的,所述从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘,包括:
根据预设负载均衡规则从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;其中,所述预设负载均衡规则为基于各磁盘的读写次数、负载大小、可用容量和磨损程度构建的负载均衡规则。
第二方面,本申请公开了一种磁盘阵列的纠删码条带存储装置,包括:
写入带宽确定模块,用于在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;
条带写入模块,用于确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;
读取带宽确定模块,用于在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;
条带重分布模块,用于确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的磁盘阵列的纠删码条带存储方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的磁盘阵列的纠删码条带存储方法的步骤。
可见,本申请公开了一种磁盘阵列的纠删码条带存储方法,在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
本申请的有益效果为:在纠删码编码操作被触发时,本申请会基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽,再根据条带写入带宽和磁盘阵列当前的目标写入性能确定出写入目标纠删码条带所需的第一磁盘数量,从而为条带写入带宽分配相应的磁盘存储资源。也即,在纠删编码阶段,在满足条带写入带宽性能的前提下,提供了条带写操作最优的条带分布方案,实现了存储资源开销最小化。进一步的,目标纠删码条带写入磁盘阵列后,当纠删码解码操作被触发时,本申请会基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取目标纠删码条带的条带读取带宽,再根据条带读取带宽和磁盘阵列当前的目标读取性能确定出第二磁盘数量,以基于第二磁盘数量为目标纠删码条带重新分配适配的磁盘存储资源,从而对目标纠删码条带进行重新分布,使条带读取效率最优的同时,减少工作磁盘数量,节省系统资源开销。也即,在纠删解码阶段,为纠删解码过程设计了条带读取操作最优的条带分布方案,实现数据重构效率和存储资源效能的提升。如此一来,本申请针对磁盘的读写带宽性能差异,在纠删编/解码过程中分别分配合适的存储资源,以提升系统的读写效率,改善纠删编/解码的高延迟问题。因此,上述方案有效提升了纠删编码效率和解码效率,并显著减少系统资源开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种磁盘阵列的纠删码条带存储方法流程图;
图2为本申请公开的一种纠删编解码过程中的条带写入和读取流程图;
图3为本申请公开的一种具体的磁盘阵列的纠删码条带存储方法流程图;
图4为本申请公开的一种纠删编码条带写入阶段分布示意图;
图5为本申请公开的一种纠删条带自适应重分布示意图;
图6为本申请公开的一种磁盘阵列的纠删码条带存储装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,磁盘在面对读写操作时存在磁盘读写带宽差异,即读写操作对应不同的带宽大小。而存储服务器前端网卡的传输带宽是固定的,如果以一种固定的条带分布策略进行读写,则纠删条带的写入和读取操作效率将会受限,即纠删编/解码效率较低,系统的存储资源开销较大。为此,本申请实施例公开了一种磁盘阵列的纠删码条带存储方法、装置、设备及介质,能够提升纠删编码效率和解码效率,并节省存储系统的存储资源开销。
参见图1和图2所示,本申请实施例公开了一种磁盘阵列的纠删码条带存储方法,该方法包括:
步骤S11:在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽。
本实施例中,在纠删码编码操作被触发时,会基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽B1。也即,本实施例需要进行硬件性能分析操作,其中,第一系统硬件性能包括系统的中央处理器性能、缓存性能和网卡性能,目标纠删码算法可以是常见的是海明码算法、RS(Reed-Solomon,即里德-所罗门码)码算法等。
步骤S12:确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘。
本实施例中,确定磁盘阵列当前的目标写入性能,并基于条带写入带宽和目标写入性能确定出写入目标纠删码条带所需的第一磁盘数量n1,从而为条带写入带宽分配相应的磁盘存储资源,以将目标纠删码条带写入至磁盘阵列中的与第一磁盘数量相应的若干个第一目标磁盘中。也即,在纠删编码阶段,在满足条带写入带宽性能的前提下,提供了条带写操作最优的条带分布方案,实现了存储资源开销最小化。
在具体实施方式中,上述将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘,包括:从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;按照所述第一磁盘数量对所述目标纠删码条带进行均匀分块处理,以得到各条带数据块,并将各所述条带数据块分别写入至各所述第一目标磁盘。也即,从磁盘阵列中的所有磁盘中筛选出第一磁盘数量个第一目标磁盘后,目标纠删条带将按照所分配的存储资源(n1个磁盘)在磁盘阵列中均匀分布。
在另一种具体实施方式中,也可以根据各个磁盘的负载大小和可用容量等信息,在负载较小、可用容量较大的磁盘中存入更多的纠删条带,而在负载较大、可用容量较小的磁盘中存入较少的纠删条带。
具体的,上述从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘,包括:根据预设负载均衡规则从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;其中,所述预设负载均衡规则为基于各磁盘的读写次数、负载大小、可用容量和磨损程度构建的负载均衡规则。也即,本申请在从磁盘阵列中的所有磁盘中筛选出第一磁盘数量个第一目标磁盘时,具体用到预设负载均衡规则,预设负载均衡规则为基于各磁盘的读写次数、负载大小、可用容量和磨损程度构建的负载均衡规则,也即,本申请结合读写次数、负载大小、可用容量和磨损程度等信息,选取状态较好的n1个磁盘作为第一目标磁盘,即主要是选取负载较小、可用容量较多、磨损程度较轻的磁盘。
步骤S13:在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽。
本实施例中,目标纠删码条带写入磁盘阵列后,当纠删码解码操作被触发时,本申请会基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取目标纠删码条带的条带读取带宽B2。也即,本实施例需要进行硬件性能分析操作,其中,第二系统硬件性能包括系统的中央处理器性能、网卡性能、磁盘修复性能和磁盘缓存空间。
步骤S14:确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量n2,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
本实施例中,确定磁盘阵列当前的目标读取性能,并基于条带读取带宽和目标读取性能确定出第二磁盘数量,从而基于第二磁盘数量为目标纠删码条带重新分配适配的磁盘存储资源,以将第一目标磁盘中存储的目标纠删码条带重新存储至与第二磁盘数量相应的若干个第二目标磁盘中。如此一来,能够在纠删解码阶段对目标纠删码条带进行重新分布,使条带读取效率最优的同时,减少工作磁盘数量,节省系统资源开销。也即本申请在纠删解码阶段,为纠删解码过程设计了条带读取操作最优的条带分布方案,实现数据重构效率和存储资源效能的提升。
在具体实施方式中,通过可以结合读写次数、负载大小、可用容量和磨损程度等信息,选取状态较好的n2个磁盘作为第二目标磁盘,并且,可以将目标纠删码条带均匀分布在n2个磁盘中。
可见,本申请公开了一种磁盘阵列的纠删码条带存储方法,在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
本申请的有益效果为:在纠删码编码操作被触发时,本申请会基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽,再根据条带写入带宽和磁盘阵列当前的目标写入性能确定出写入目标纠删码条带所需的第一磁盘数量,从而为条带写入带宽分配相应的磁盘存储资源。也即,在纠删编码阶段,在满足条带写入带宽性能的前提下,提供了条带写操作最优的条带分布方案,实现了存储资源开销最小化。进一步的,目标纠删码条带写入磁盘阵列后,当纠删码解码操作被触发时,本申请会基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取目标纠删码条带的条带读取带宽,再根据条带读取带宽和磁盘阵列当前的目标读取性能确定出第二磁盘数量,以基于第二磁盘数量为目标纠删码条带重新分配适配的磁盘存储资源,从而对目标纠删码条带进行重新分布,使条带读取效率最优的同时,减少工作磁盘数量,节省系统资源开销。也即,在纠删解码阶段,为纠删解码过程设计了条带读取操作最优的条带分布方案,实现数据重构效率和存储资源效能的提升。如此一来,本申请针对磁盘的读写带宽性能差异,在纠删编/解码过程中分别分配合适的存储资源,以提升系统的读写效率,改善纠删编/解码的高延迟问题。因此,上述方案有效提升了纠删编码效率和解码效率,并显著减少系统资源开销。
参见图3所示,本申请实施例公开了一种具体的磁盘阵列的纠删码条带存储方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
步骤S21:在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽。
步骤S22:确定磁盘阵列当前的目标写入性能;对所述条带写入带宽和所述目标写入性能进行比值运算,以得到所述条带写入带宽和所述目标写入性能之间的第一比值,并利用向上取整函数对所述第一比值进行向上取整操作,得到取整后的第一目标值;所述目标写入性能为在执行所述纠删码编码操作时,所述磁盘阵列中当前单个磁盘的写入性能。
本实施例中,首先确定磁盘阵列当前的目标写入性能b1,目标写入性能具体指的是在执行纠删码编码操作时,磁盘阵列中当前单个磁盘的写入性能。
因此,上述方法还包括:在执行所述纠删码编码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的写入性能;对各所述写入性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均写入性能,并将所述平均写入性能作为所述目标写入性能。也即,本申请可以利用预设性能测试工具查看当前磁盘阵列中各个磁盘对应的写入性能,进而通过求均值运算得到当前单个磁盘的平均写入性能。
进一步的,本实施例对条带写入带宽B1和目标写入性能b1进行比值运算,以得到条带写入带宽和目标写入性能之间的第一比值B1/b1,再利用向上取整函数对第一比值进行向上取整操作,得到取整后的第一目标值 表示向上取整。通过这种方式保证条带写入带宽性能需求的同时,提高存储资源利用效能。
步骤S23:将所述第一目标值作为与所述目标纠删码条带适配的第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘。
本实施例中,将第一目标值作为与目标纠删码条带适配的第一磁盘数量,然后将目标纠删码条带写入至磁盘阵列中的n1个磁盘中,如图4中所示。
步骤S24:在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽。
步骤S25:确定磁盘阵列当前的目标读取性能,对所述条带读取带宽和所述目标读取性能进行比值运算,以得到所述条带读取带宽和所述目标读取性能之间的第二比值,并利用向上取整函数对所述第二比值进行向上取整操作,得到取整后的第二目标值;所述目标读取性能为在执行所述纠删码解码操作时,所述磁盘阵列中当前单个磁盘的读取性能。
本实施例中,需要确定磁盘阵列当前的目标读取性能b2,目标读取性能指的是在执行纠删码解码操作时,磁盘阵列中当前单个磁盘的读取性能。
因此,上述方法还包括:在执行所述纠删码解码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的读取性能;对各所述读取性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均读取性能,并将所述平均读取性能作为所述目标读取性能。也即,本申请可以利用预设性能测试工具查看当前磁盘阵列中各个磁盘对应的读取性能,进而通过求均值运算得到当前单个磁盘的平均读取性能。
进一步的,本实施例对条带读取带宽B2和目标读取性能b2进行比值运算,以得到条带读取带宽和目标读取性能之间的第二比值B2/b2,再利用向上取整函数对第二比值进行向上取整操作,得到取整后的第二目标值 表示向上取整。
步骤S26:将所述第二目标值作为与所述目标纠删码条带适配的第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
本实施例中,将第二目标值作为与目标纠删码条带适配的第二磁盘数量,然后在磁盘阵列中的n2个磁盘中完成对目标纠删码条带的重新分布,重分布过程如图5中所示。如此一来,在条带读或者纠删重构过程中,按照新的条带分布进行读取,在保证纠删条带读取性能的前提下,实现系统资源开销最小化,实现纠删解码过程中的条带读取效率优化。
此外,本申请尤其适用于大比例纠删条带,利用磁盘阵列中磁盘读写性能的差异,设计了自适应纠删条带分布策略,通过存储系统资源的自适应匹配,实现了存储系统I/O((Input/Output),即输入/输出)性能和大比例纠删编/解码效能的提升,并使系统资源开销最小化。
其中,关于上述步骤S21和S24更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本实施例的有益效果为:通过利用磁盘阵列中磁盘读写带宽性能的差异,为纠删条带写入和读取设计合适的分布策略,保证磁盘阵列的I/O效率和纠删的编/解码效率的同时,实现存储系统资源开销的最小化,提升系统效能。具体来说,针对纠删编码过程中的条带写入性能,匹配合适的存储资源,避免磁盘较低写入性能成为瓶颈,保证条带写入带宽和纠删编码效率的同时,提升存储资源利用率;针对纠删解码过程中的条带读取性能,对所存储条带进行离线重分布,保证条带的读取性能需求的同时,使系统资源开销最小化。本申请基于自适应分布的纠删条带RAID存储方法,能够保证存储阵列I/O性能的同时,提升大比例纠删编码的编/解码效率,实现系统存储资源开销最小化。与传统的纠删条带单一分布的策略相比,本申请能够有效改善存储系统的存储资源开销、提升大比例纠删编/解码效率,改善系统IO效率。
参见图6所示,本申请实施例公开了一种磁盘阵列的纠删码条带存储装置,该装置包括:
写入带宽确定模块11,用于在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;
条带写入模块12,用于确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;
读取带宽确定模块13,用于在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;
条带重分布模块14,用于确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
可见,本申请公开了一种磁盘阵列的纠删码条带存储方法,在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
本申请的有益效果为:在纠删码编码操作被触发时,本申请会基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽,再根据条带写入带宽和磁盘阵列当前的目标写入性能确定出写入目标纠删码条带所需的第一磁盘数量,从而为条带写入带宽分配相应的磁盘存储资源。也即,在纠删编码阶段,在满足条带写入带宽性能的前提下,提供了条带写操作最优的条带分布方案,实现了存储资源开销最小化。进一步的,目标纠删码条带写入磁盘阵列后,当纠删码解码操作被触发时,本申请会基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取目标纠删码条带的条带读取带宽,再根据条带读取带宽和磁盘阵列当前的目标读取性能确定出第二磁盘数量,以基于第二磁盘数量为目标纠删码条带重新分配适配的磁盘存储资源,从而对目标纠删码条带进行重新分布,使条带读取效率最优的同时,减少工作磁盘数量,节省系统资源开销。也即,在纠删解码阶段,为纠删解码过程设计了条带读取操作最优的条带分布方案,实现数据重构效率和存储资源效能的提升。如此一来,本申请针对磁盘的读写带宽性能差异,在纠删编/解码过程中分别分配合适的存储资源,以提升系统的读写效率,改善纠删编/解码的高延迟问题。因此,上述方案有效提升了纠删编码效率和解码效率,并显著减少系统资源开销。
在一些具体实施例中,所述目标写入性能为在执行所述纠删码编码操作时,所述磁盘阵列中当前单个磁盘的写入性能;所述目标读取性能为在执行所述纠删码解码操作时,所述磁盘阵列中当前单个磁盘的读取性能;
相应的,所述条带写入模块12,具体包括:
第一比值运算单元,用于对所述条带写入带宽和所述目标写入性能进行比值运算,以得到所述条带写入带宽和所述目标写入性能之间的第一比值,并利用向上取整函数对所述第一比值进行向上取整操作,得到取整后的第一目标值;
第一磁盘数量确定单元,用于将所述第一目标值作为与所述目标纠删码条带适配的第一磁盘数量;
相应的,所述条带重分布模块14,具体包括:
第二比值运算单元,用于对所述条带读取带宽和所述目标读取性能进行比值运算,以得到所述条带读取带宽和所述目标读取性能之间的第二比值,并利用向上取整函数对所述第二比值进行向上取整操作,得到取整后的第二目标值;
第二磁盘数量确定单元,用于将所述第二目标值作为与所述目标纠删码条带适配的第二磁盘数量。
在一些具体实施例中,所述装置还用于在执行所述纠删码编码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的写入性能;对各所述写入性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均写入性能,并将所述平均写入性能作为所述目标写入性能。
在一些具体实施例中,所述装置还用于在执行所述纠删码解码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的读取性能;对各所述读取性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均读取性能,并将所述平均读取性能作为所述目标读取性能。
在一些具体实施例中,所述第一系统硬件性能包括系统的中央处理器性能、缓存性能和网卡性能,所述第二系统硬件性能包括系统的中央处理器性能、网卡性能、磁盘修复性能和磁盘缓存空间。
在一些具体实施例中,所述条带写入模块12,具体包括:
磁盘筛选单元,用于从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;
均匀分布单元,用于按照所述第一磁盘数量对所述目标纠删码条带进行均匀分块处理,以得到各条带数据块,并将各所述条带数据块分别写入至各所述第一目标磁盘。
在一些具体实施例中,所述磁盘筛选单元,具体用于根据预设负载均衡规则从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;其中,所述预设负载均衡规则为基于各磁盘的读写次数、负载大小、可用容量和磨损程度构建的负载均衡规则。
图7为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的磁盘阵列的纠删码条带存储方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的磁盘阵列的纠删码条带存储方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的磁盘阵列的纠删码条带存储方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(Random AccessMemory,即RAM)、内存、只读存储器(Read-Only Memory,即ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、只读光盘(Compact Disc Read-Only Memory,即CD-ROM)、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种磁盘阵列的纠删码条带存储方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种磁盘阵列的纠删码条带存储方法,其特征在于,包括:
在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;
确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;
在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;
确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
2.根据权利要求1所述的磁盘阵列的纠删码条带存储方法,其特征在于,所述目标写入性能为在执行所述纠删码编码操作时,所述磁盘阵列中当前单个磁盘的写入性能;所述目标读取性能为在执行所述纠删码解码操作时,所述磁盘阵列中当前单个磁盘的读取性能;
相应的,所述基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,包括:
对所述条带写入带宽和所述目标写入性能进行比值运算,以得到所述条带写入带宽和所述目标写入性能之间的第一比值,并利用向上取整函数对所述第一比值进行向上取整操作,得到取整后的第一目标值;
将所述第一目标值作为与所述目标纠删码条带适配的第一磁盘数量;
相应的,所述基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,包括:
对所述条带读取带宽和所述目标读取性能进行比值运算,以得到所述条带读取带宽和所述目标读取性能之间的第二比值,并利用向上取整函数对所述第二比值进行向上取整操作,得到取整后的第二目标值;
将所述第二目标值作为与所述目标纠删码条带适配的第二磁盘数量。
3.根据权利要求2所述的磁盘阵列的纠删码条带存储方法,其特征在于,还包括:
在执行所述纠删码编码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的写入性能;
对各所述写入性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均写入性能,并将所述平均写入性能作为所述目标写入性能。
4.根据权利要求2所述的磁盘阵列的纠删码条带存储方法,其特征在于,还包括:
在执行所述纠删码解码操作时,利用预设性能测试工具查看当前所述磁盘阵列中各个磁盘对应的读取性能;
对各所述读取性能进行求均值运算,得到所述磁盘阵列中当前单个磁盘的平均读取性能,并将所述平均读取性能作为所述目标读取性能。
5.根据权利要求1所述的磁盘阵列的纠删码条带存储方法,其特征在于,所述第一系统硬件性能包括系统的中央处理器性能、缓存性能和网卡性能,所述第二系统硬件性能包括系统的中央处理器性能、网卡性能、磁盘修复性能和磁盘缓存空间。
6.根据权利要求1至5任一项所述的磁盘阵列的纠删码条带存储方法,其特征在于,所述将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘,包括:
从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;
按照所述第一磁盘数量对所述目标纠删码条带进行均匀分块处理,以得到各条带数据块,并将各所述条带数据块分别写入至各所述第一目标磁盘。
7.根据权利要求6所述的磁盘阵列的纠删码条带存储方法,其特征在于,所述从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘,包括:
根据预设负载均衡规则从所述磁盘阵列中的所有磁盘中筛选出与所述第一磁盘数量相应的若干个第一目标磁盘;其中,所述预设负载均衡规则为基于各磁盘的读写次数、负载大小、可用容量和磨损程度构建的负载均衡规则。
8.一种磁盘阵列的纠删码条带存储装置,其特征在于,包括:
写入带宽确定模块,用于在纠删码编码操作被触发时,基于当前的第一系统硬件性能和目标纠删码算法确定出用于写入目标纠删码条带的条带写入带宽;
条带写入模块,用于确定磁盘阵列当前的目标写入性能,并基于所述条带写入带宽和所述目标写入性能确定出第一磁盘数量,以将所述目标纠删码条带写入至所述磁盘阵列中的与所述第一磁盘数量相应的若干个第一目标磁盘;
读取带宽确定模块,用于在纠删码解码操作被触发时,基于当前的第二系统硬件性能和纠删码条带性能确定出用于读取所述目标纠删码条带的条带读取带宽;
条带重分布模块,用于确定磁盘阵列当前的目标读取性能,并基于所述条带读取带宽和所述目标读取性能确定出第二磁盘数量,以将所述第一目标磁盘中存储的所述目标纠删码条带重新存储至与所述第二磁盘数量相应的若干个第二目标磁盘中。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的磁盘阵列的纠删码条带存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的磁盘阵列的纠删码条带存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311686180.9A CN117687573A (zh) | 2023-12-08 | 2023-12-08 | 一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311686180.9A CN117687573A (zh) | 2023-12-08 | 2023-12-08 | 一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687573A true CN117687573A (zh) | 2024-03-12 |
Family
ID=90127810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311686180.9A Pending CN117687573A (zh) | 2023-12-08 | 2023-12-08 | 一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687573A (zh) |
-
2023
- 2023-12-08 CN CN202311686180.9A patent/CN117687573A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11947423B2 (en) | Data reconstruction in distributed storage systems | |
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
EP2272001B1 (en) | Dynamically quantifying and improving the reliability of distributed data storage systems | |
US7831768B2 (en) | Method and apparatus for writing data to a disk array | |
US9514015B2 (en) | Efficient data reads from distributed storage systems | |
US20180039543A1 (en) | Systems and methods for storing, maintaining, and accessing objects in storage system clusters | |
US9311194B1 (en) | Efficient resource utilization in data centers | |
US10592365B2 (en) | Method and apparatus for managing storage system | |
CN110737391A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10346066B2 (en) | Efficient erasure coding of large data objects | |
CN112764661A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US20170123915A1 (en) | Methods and systems for repurposing system-level over provisioned space into a temporary hot spare | |
US10048880B1 (en) | Efficient scrubbing of mirrored memory | |
CN115657960B (zh) | 一种磁盘阵列初始化方法、装置、设备及可读存储介质 | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
US20190129647A1 (en) | Method, device and computer program product for managing disk array | |
EP4170499A1 (en) | Data storage method, storage system, storage device, and storage medium | |
CN117111860B (zh) | 磁盘阵列降级时的io处理方法、装置及电子设备 | |
CN117687573A (zh) | 一种磁盘阵列的纠删码条带存储方法、装置、设备及介质 | |
CN111399755A (zh) | 数据存储管理的方法和装置 | |
CN115454343A (zh) | 一种基于raid芯片的数据处理方法、装置及介质 | |
CN105183738A (zh) | 一种基于血统和检测点技术的分布式内存文件系统 | |
CN113504875A (zh) | 一种基于多级调度的纠删码系统恢复方法及系统 | |
US20200327025A1 (en) | Methods, systems, and non-transitory computer readable media for operating a data storage system | |
CN108334280B (zh) | 一种raid5磁盘组快速重建方法和装置 |
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 |