一种用于提升raid组存储性能的系统及其方法

文档序号:6380991阅读:242来源:国知局
专利名称:一种用于提升raid组存储性能的系统及其方法
技术领域
本发明涉及RAID (Redundant Arrays of Inexpensive Disks,磁盘冗余阵列)技术领域,特别是涉及一种用于提升RAID组存储性能的系统及其方法。
背景技术
RAID技术是存储领域最为常用的技术,其中,RAID组通过多个成员盘进行并发的读写来提高RAID组的读写能力。在RAID组进行一次读写操作时,需要同时使用RAID组的所有成员盘来实现,在RAID组的所有成员盘都完成读写操作后,RAID组才真正完成一次读写操作。当RAID组的部分成员盘进行读写操作比其他成员盘缓慢时,导致RAID组的整体性能变缓慢,因此,现有技术通过数据重构的方式来减缓缓慢成员盘的读压力,并且通过及时识别和更换缓慢成员盘,以提升RAID组的性能。假设RAID组包括成员盘A、成员盘B、成员盘C以及校验盘,在成员盘A缓慢时,成员盘A的数据可以通过成员盘B、成员盘C以及校验盘的校验数据进行重构,以减缓成员盘A的读压力。但是,很多缓慢成员盘可能只是暂时 缓慢或者因为压力不均衡造成的缓慢,更换缓慢成员盘会造成资源浪费,此外,更换缓慢成员盘会使得RAID组进行数据重构需要的时间较长。

发明内容
有鉴于此,本发明实施例提供了一种用于提升RAID组存储性能的系统及其方法,以解决通过更换缓慢成员盘造成资源浪费和使得RAID组进行数据重构需要的时间较长的问题。第一方面提供一种用于提升RAID组存储性能的方法,其包括以下步骤接收写入请求,其中写入请求中携带写入数据;当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块;当RAID组的运行状态恢复正常时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘。在第一种可能的实现方式中,当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块包括判断RAID组中各成员盘的写入性能之间的差异是否大于写入性能阈值;若RAID组中各成员盘的写入性能之间的差异大于写入性能阈值,则将写入性能差的成员盘所对应的写入数据保存至加速硬盘模块。在第二种可能的实现方式中,当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块包括判断RAID组是否处于繁忙状态;若RAID组处于繁忙状态,则将写入数据保存至加速硬盘模块。在第三种可能的实现方式中,当RAID组的运行状态恢复正常时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘,包括当RAID组没有处于繁忙状态时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘;或者当RAID组的各成员盘的写入性能之间的差异小于或等于写入性能阈值时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘。
在第四种可能的实现方式中,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘包括将保存至加速硬盘模块的部分写入数据或全部写入数据写入RAID组的替换成员盘。在第五种可能的实现方式中,方法还包括在加速硬盘模块中写入部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址;将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘包括根据识别符以及部分写入数据或全部写入数据的地址将部分写入数据或全部写入数据写入至RAID组的成员盘。第二方面提供一种用于提升RAID组存储性能的系统,其包括控制器模块、RAID组以及加速硬盘模块,控制模块分别与RAID组和加速硬盘模块连接,控制器模块接收携带写入数据的写入请求,当RAID组的运行状态不正常时,控制器模块将部分写入数据或全部写入数据保存至加速硬盘模块;当RAID组的运行状态恢复正常时,控制器模块将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘。在第一种可能的实现方式中,控制器模块包括运行状况识别单元、数据分发单元以及加速盘数据迁移单元。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,运行状况识别单元判断RAID组中各成员盘的写入性能之间的差异是否大于写入性能阈值,若RAID组中各成员盘的写入性能之间的差异大于写入性能阈值,则数据分发单元将写入性能差的成员盘所对应的写入数据保存至加速硬盘模块。结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,运行状况识别单元判断RAID组是否处于繁忙状态,若RAID组处于繁忙状态,则数据分发单元将写入数据保存至加速硬盘模块。结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,当RAID组没有处于繁忙状态时,加速盘数据迁移单元将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘;或者当RAID组的各成员盘的写入性能之间的差异小于或等于写入性能阈值,加速盘数据迁移单元将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘。结合第二方面的第一种可能的实现方式,在第五种可能的实现方式中,加速盘数据迁移单元将部分写入数据或全部写入数据写入替换成员盘,替换成员盘用于替换RAID组的成员盘。结合第二方面的第一种可能的实现方式,在第六种可能的实现方式中,在加速硬盘模块中写入部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址;控制器模块将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘包括加速盘数据迁移单元根据识别符以及部分写入数据或全部写入数据的地址将部分写入数据或全部写入数据写入至RAID组的成员盘。通过上述方案,本发明的有益效果是本发明通过接收携带写入数据的写入请求,当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块;当RAID组的运行状态恢复正常时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RA1d组的成员盘,以使RAID组的写性能不再受制于缓慢成员盘,提高RAID组的整体性能,并且避免更换缓慢成员盘所造成资源浪费和增加RAID组进行数据重构的时间。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中图I是本发明第一实施例的用于提升RAID组存储性能的系统的示意框图;图2是本发明第三实施例的用于提升RAID组存储性能的系统的示意框图;图3是本发明第一实施例的用于提升RAID组存储性能的方法的流程图;图4是本发明第一实施例的用于提升RAID组存储性能的方法中读取读取数据的 流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参阅图1,图I是本发明第一实施例的用于提升RAID组存储性能的系统的示意框图。如图I所示,本实施例所揭示的用于提升RAID组存储性能的系统包括控制器模块101、RAID组102以及加速硬盘模块103。在本实施例中,控制器模块101分别与RAID组102和加速硬盘模块103连接,控制器模块101接收携带写入数据的写入请求,当RAID组102的运行状态不正常时,控制器模块101将部分写入数据或全部写入数据保存至加速硬盘模块103 ;当RAID组102的运行状态恢复正常时,控制器模块101将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。其中,控制模块101包括运行状况识别单元104、数据分发单元105以及加速盘数据迁移单元106。其中,控制模块101通过运行状况识别单元104判断RAID组102的运行状态是否正常,当运行状况识别单元104判断RAID组102的运行状态不正常时,控制模块101通过数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103 ;当运行状况识别单元104判断RAID组102的运行状态恢复正常时,控制模块101通过加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。以下详细说明本发明所揭示的运行状况识别单元104通过以下三种方法判断RAID组102的运行状态是否正常。第一种方法,在运行状况识别单元104预设一写入性能阈值,运行状况识别单元104判断RAID组102中各成员盘的写入性能之间的差异是否大于写入性能阈值,若各成员盘的写入性能之间的差异大于写入性能阈值,则RAID组102的运行状态不正常,数据分发单元105将写入性能差的成员盘所对应的写入数据保存至加速硬盘模块103。若RAID组102中各成员盘的写入性能之间的差异小于或等于写入性能阈值,则RAID组102的运行状态恢复正常,加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。第二种方法,运行状况识别单元104判断RAID组102是否处于繁忙状态,若RAID组102处于繁忙状态,则RAID组102的运行状态不正常,数据分发单元105将写入数据保存至加速硬盘模块103。若RAID组102没有处于繁忙状态时,则RAID组102的运行状态恢复正常,加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。优选地,当RAID组102的所有成员盘在连续3s的时间的使用率均超过80%时,运行状况识别单元104判断RAID组102处于繁忙状态;当RAID组102的所有成员盘在连续3s的时间的使用率均在60%以下时,运行状况识别单元104判断RAID组102没有处于繁忙状态。在其他实施例中,本领域的普通技术人员可以通过运行状况识别单元104的其他识别方式来判断RAID组102是否处于繁忙状态。·
第三种方法,在运行状况识别单元104预设一写入性能阈值,运行状况识别单元104首先判断RAID组102是否处于繁忙状态,然后判断RAID组102中各成员盘的写入性能之间的差异是否大于写入性能阈值。若RAID组102处于繁忙状态,则运行状况识别单元104进一步判断RAID组102的各成员盘的写入性能之间的差异是否大于写入性能阈值,若各成员盘的写入性能之间的差异大于写入性能阈值,则RAID组102的运行状态不正常,数据分发单元105将写入性能差的成员盘所对应的写入数据保存至加速硬盘模块103。若RAID组102处于繁忙状态,或者若RAID组102中各成员盘的写入性能之间的差异小于或等于写入性能阈值,则RAID组102的运行状态恢复正常,加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。当数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103时,在加速硬盘模块103中进一步写入部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址,即在加速硬盘模块103存储一个包括部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址的hash (哈希)表。其中,加速硬盘模块103只是对部分写入数据或全部数据进行保存,当运行状况识别单元104判断到RAID组102没有处于繁忙状态,或者各成员盘的写入性能之间的差异小于或等于写入性能阈值时,加速盘数据迁移单元106根据hash表将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘,即加速盘数据迁移单元106将部分写入数据或全部写入数据搬移回RAID组102。区别于现有技术的情况,本实施例所揭示的用于提升RAID组存储性能的系统通过控制器模块101接收携带写入数据的写入请求,当RAID组102的运行状态不正常时,数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103 ;当RAID组102的运行状态恢复正常时,加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘,以提高RAID组102的读写性能,并且避免更换缓慢成员盘所造成资源浪费和增加RAID组102进行数据重构的时间。本发明还提供第二实施例的用于提升RAID组存储性能的系统,其在前述第一实施例用于提升RAID组存储性能的系统的基础上进行详细描述。如图2所示,本实施例所揭示的用于提升RAID组存储性能的系统应用于用户对RAID组202的部分写入数据或全部写入数据所对应的成员盘205进行替换,其包括控制器模块201、RAID组202、加速硬盘模块203以及替换成员盘204。在本实施例中,控制器模块201通过数据分发单元206将部分写入数据或全部写入数据写入替换成员盘204,替换成员盘204用于替换RAID组202的成员盘205。其中,在用户将成员盘205替换为替换成员盘204后,控制器模块201再通过数据分发单元206将部分写入数据或全部数据写入替换成员盘204,以减少RAID组202的数据重构的数据规模。若在用户将成员盘205替换为替换成员盘204的过程中,数据分发单元206还将外界向替换成员盘204写入的写入数据优先写入加速硬盘模块203,进而减轻替换成员盘 204写入数据的压力,以提高RAID组202的数据重构的写入速度。区别于现有技术的情况,本实施例所揭示的用于提升RAID组存储性能的系统通过加速硬盘模块203减轻替换成员盘204写入数据的压力,进而提高RAID组202的数据重构的写入速度。本发明还提供第三实施例的用于提升RAID组存储性能的系统,其在前述第一实施例用于提升RAID组存储性能的系统的基础上进行详细描述。如图3所示,本实施例所揭示的用于提升RAID组存储性能的系统的控制器模块301还包括数据读取命中单元307,当控制器模块301接收读取指令时,数据读取命中单元307根据读取指令和hash表进行命中计算,以判断读取指令所对应的读取数据存储于RAID组302的成员盘还是加速硬盘模块303,若读取数据存储在加速硬盘模块303,则加速盘数据迁移单元306从加速硬盘模块303读取该读取数据;若读取数据存储在RAID组302的成员盘,则控制器模块301从RAID组302的成员盘读取该读取数据。本发明还提供第一实施例的用于提升RAID组存储性能的方法,其在前述第一实施例用于提升RAID组存储性能的系统的基础上进行详细描述。如图4所示,本实施例所揭示的用于提升RAID组存储性能的方法包括以下步骤步骤401 :控制器模块101接收写入请求;步骤402 :当RAID组102的运行状态不正常时,控制器模块101将部分写入数据或全部写入数据保存至加速硬盘模块103 ;步骤403 :当RAID组102的运行状态恢复正常时,控制器模块101将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。在步骤401中,写入请求携带写入数据。在步骤402中,控制模块101通过运行状况识别单元104判断RAID组102的运行状态是否正常,当运行状况识别单元104判断RAID组102的运行状态不正常时,控制模块101通过数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103 ;当运行状况识别单元104判断RAID组102的运行状态恢复正常时,控制模块101通过加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘。当数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103时,在加速硬盘模块103中进一步写入部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址,即在加速硬盘模块103存储一个包括部分写入数据或全部写入数据所对应的成员盘的识别符以及部分写入数据或全部写入数据的地址的hash表。在步骤403中,当运行状况识别单元104判断到RAID组102处于没有繁忙状态,或者各成员盘的写入性能之间的差异小于或等于写入性能阈值时,加速盘数据迁移单元106根据hash表将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘,即加速盘数据迁移单元106将部分写入数据或全部写入数据搬移回RAID组102。区别于现有技术的情况,本实施例所揭示的用于提升RAID组存储性能的方法通过控制器模块101接收携带写入数据的写入请求,当RAID组102的运行状态不正常时,数据分发单元105将部分写入数据或全部写入数据保存至加速硬盘模块103 ;当RAID组102的运行状态恢复正常时,加速盘数据迁移单元106将保存至加速硬盘模块103的部分写入数据或全部写入数据写入至RAID组102的成员盘,以提高RAID组102的读写性能,并且避免更换缓慢成员盘所造成资源浪费和增加RAID组102进行数据重构的时间。 本发明还提供第二实施例的用于提升RAID组存储性能的方法,其在前述第一实施例用于提升RAID组存储性能的方法的基础上进行详细描述。本实施例所揭示的用于提升RAID组存储性能的方法应用于用户对RAID组202的部分写入数据或全部写入数据所对应的成员盘205进行替换,在步骤403中,控制器模块201通过数据分发单元206将部分写入数据或全部写入数据写入替换成员盘204,替换成员盘204用于替换RAID组202的成员盘205。其中,在用户将成员盘205替换为替换成员盘204后,控制器模块201再通过数据分发单元206将部分写入数据或全部数据写入替换成员盘204,以减少RAID组202的数据重构的数据规模。若在用户将成员盘205替换为替换成员盘204的过程中,数据分发单元206还将外界向替换成员盘204写入的写入数据优先写入加速硬盘模块203,进而减轻替换成员盘204写入数据的压力,以提高RAID组202的数据重构的写入速度。区别于现有技术的情况,本发明通过接收携带写入数据的写入请求,当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块;当RAID组的运行状态恢复正常时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘,以使RAID组的写性能不再受制于缓慢成员盘,提高RAID组的整体性能,并且避免更换缓慢成员盘所造成资源浪费和增加RAID组进行数据重构的时间。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种用于提升RAID组存储性能的方法,其特征在于,所述方法包括 接收写入请求,其中所述写入请求中携带写入数据; 当所述RAID组的运行状态不正常时,将部分所述写入数据或全部所述写入数据保存至加速硬盘模块; 当所述RAID组的运行状态恢复正常时,将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
2.根据权利要求I所述的方法,其特征在于,所述当所述RAID组的运行状态不正常时,将部分所述写入数据或全部所述写入数据保存至加速硬盘模块包括 判断所述RAID组中各成员盘的写入性能之间的差异是否大于写入性能阈值; 若所述RAID组中各成员盘的写入性能之间的差异大于所述写入性能阈值,则将写入性能差的成员盘所对应的写入数据保存至所述加速硬盘模块。
3.根据权利要求I所述的方法,其特征在于,所述当所述RAID组的运行状态不正常时,将部分所述写入数据或全部所述写入数据保存至加速硬盘模块包括 判断所述RAID组是否处于繁忙状态; 若所述RAID组处于繁忙状态,则将所述写入数据保存至所述加速硬盘模块。
4.根据权利要求I所述的方法,其特征在于,所述当所述RAID组的运行状态恢复正常时,将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘,包括 当所述RAID组没有处于繁忙状态时,将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘; 或者当所述RAID组的各成员盘的写入性能之间的差异小于或等于写入性能阈值时,将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
5.根据权利要求I所述的方法,其特征在于,所述将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘包括 将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入所述RAID组的替换成员盘。
6.根据权利要求I所述的方法,其特征在于,所述方法还包括 在所述加速硬盘模块中写入所述部分写入数据或所述全部写入数据所对应的成员盘的识别符以及所述部分写入数据或所述全部写入数据的地址; 所述将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘包括 根据所述识别符以及所述部分写入数据或所述全部写入数据的地址将所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
7.一种用于提升RAID组存储性能的系统,其特征在于,所述系统包括控制器模块、RAID组以及加速硬盘模块,所述控制模块分别与所述RAID组和所述加速硬盘模块连接,所述控制器模块接收携带写入数据的写入请求,当所述RAID组的运行状态不正常时,所述控制器模块将部分所述写入数据或全部写入数据保存至所述加速硬盘模块;当所述RAID组的运行状态恢复正常时,所述控制器模块将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
8.根据权利要求7所述的系统,其特征在于,所述控制器模块包括运行状况识别单元、数据分发单元以及加速盘数据迁移单元。
9.根据权利要求8所述的系统,其特征在于,所述运行状况识别单元判断所述RAID组中各成员盘的写入性能之间的差异是否大于写入性能阈值,若所述RAID组中各成员盘的写入性能之间的差异大于所述写入性能阈值,则所述数据分发单元将写入性能差的所述成员盘所对应的所述写入数据保存至所述加速硬盘模块。
10.根据权利要求8所述的系统,其特征在于,所述运行状况识别单元判断所述RAID组是否处于繁忙状态,若所述RAID组处于繁忙状态,则所述数据分发单元将所述写入数据保存至所述加速硬盘模块。
11.根据权利要求8所述的系统,其特征在于,当所述RAID组没有处于繁忙状态时,所述加速盘数据迁移单元将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘; 或者当所述RAID组的各成员盘的写入性能之间的差异小于或等于写入性能阈值,所述加速盘数据迁移单元将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
12.根据权利要求8所述的系统,其特征在于,所述加速盘数据迁移单元将所述部分写入数据或所述全部写入数据写入替换成员盘,所述替换成员盘用于替换所述RAID组的成员盘。
13.根据权利要求7所述的系统,其特征在于,还包括在所述加速硬盘模块中写入所述部分写入数据或所述全部写入数据所对应的成员盘的识别符以及所述部分写入数据或所述全部写入数据的地址;所述控制器模块将保存至所述加速硬盘模块的所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘包括所述加速盘数据迁移单元根据所述识别符以及所述部分写入数据或所述全部写入数据的地址将所述部分写入数据或所述全部写入数据写入至所述RAID组的成员盘。
全文摘要
本发明公开了一种用于提升RAID组存储性能的系统及其方法。该用于提升RAID组存储性能的方法包括接收写入请求,其中写入请求中携带写入数据;当RAID组的运行状态不正常时,将部分写入数据或全部写入数据保存至加速硬盘模块;当RAID组的运行状态恢复正常时,将保存至加速硬盘模块的部分写入数据或全部写入数据写入至RAID组的成员盘。通过上述方式,本发明能够提高RAID组的整体性能,并且避免更换缓慢成员盘所造成资源浪费和增加RAID组进行数据重构的时间。
文档编号G06F3/06GK102945141SQ20121044765
公开日2013年2月27日 申请日期2012年11月9日 优先权日2012年11月9日
发明者蒲贵友 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1