CN201410758157.0
2014.12.10
CN104536698A
2015.04.22
实审
审中
实质审查的生效IPC(主分类):G06F 3/06申请日:20141210|||公开
G06F3/06; G06F11/07
G06F3/06
华为技术有限公司
郭利新
518129广东省深圳市龙岗区坂田华为总部办公楼
深圳市深佳知识产权代理事务所(普通合伙)44285
王仲凯
本发明提供的基于RAID的磁盘重构方法及相关设备,通过对业务进行优先级的分配,在再将业务存放至磁盘分块中,通过每个磁盘分块上存放业务的业务优先级不同,使得在重构时,优选选择业务优先级高的磁盘分块进行重构,使得业务优先级高的业务对应的数据能够及时得到重构,避免了因为磁盘异常时关键恢复数据丢失导致系统故障且无法恢复问题。
权利要求书1. 一种基于RAID的磁盘重构方法,其特征在于,所述磁盘包括多个磁 盘分块,所述方法包括: 配置需要存放在磁盘分块中业务的业务优先级; 将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个磁盘分 块对应存储一个业务; 根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优 先级; 当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构。 2. 根据权利要求1所述的方法,其特征在于,所述配置需要存放在磁盘 分块中业务的业务优先级的步骤具体包括: 配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至 少配置为第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。 3. 根据权利要求2所述的方法,其特征在于,所述根据所述磁盘分块所 存储业务的业务优先级确定所述磁盘分块的重构优先级的步骤进一步包括: 当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述磁盘分 块的重构优先级为第一重构优先级;以及 当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分 块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第 二重构优先级。 4. 根据权利要求3所述的方法,其特征在于,所述当磁盘异常时按照重 构优先级由高到低的顺序对磁盘分块进行重构的步骤具体包括: 当磁盘异常时对第一重构优先级的磁盘分块进行重构;以及 当第一重构优先级的磁盘分块重构完成后对第二重构优先级的磁盘分块 进行重构。 5. 根据权利要求1所述的方法,其特征在于,所述根据所述磁盘分块所 存储业务的业务优先级确定所述磁盘分块的重构优先级的步骤之前,所述方 法还包括: 获取每个磁盘分块的数据访问次数; 当磁盘分块中存储业务的业务优先级相同时确定数据访问次数大的磁盘 分块的重构优先级高于数据访问次数小的磁盘分块的重构优先级。 6. 根据权利要求5所述的方法,其特征在于,所述获取每个磁盘分块的 数据访问次数的步骤之前,所述方法还包括: 检测所述磁盘分块被访问时将该磁盘分块的数据访问次数加1。 7. 根据权利要求1所述的方法,其特征在于,所述当磁盘异常时按照重 构优先级由高到低的顺序对磁盘分块进行重构的步骤之前,所述方法还包括: 检测到所述磁盘分块未写入数据时不对该磁盘模块进行重构。 8. 一种基于RAID的磁盘重构系统,其特征在于,所述磁盘包括多个磁 盘分块,所述系统包括: 配置单元,用于配置需要存放在磁盘分块中业务的业务优先级; 存储操作单元,用于将多个业务分别存储至所述磁盘的多个磁盘分块中, 以使得一个磁盘分块对应存储一个业务; 第一确定单元,用于根据所述磁盘分块所存储业务的业务优先级确定所 述磁盘分块的重构优先级; 重构单元,用于当磁盘异常时按照重构优先级由高到低的顺序对磁盘分 块进行重构。 9. 根据权利要求8所述的系统,其特征在于,所述配置单元还用于配置 需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至少配置为 第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。 10. 根据权利要求9所述的系统,其特征在于,所述第一确定单元还用 于当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述磁盘分块 的重构优先级为第一重构优先级;以及 当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分 块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第 二重构优先级。 11. 根据权利要求10所述的系统,其特征在于,所述重构单元还用于当 磁盘异常时对第一重构优先级的磁盘分块进行重构;以及 当第一重构优先级的磁盘分块重构完成对第二重构优先级的磁盘分块进 行重构。 12. 根据权利要求7所述的系统,其特征在于,所述系统还包括: 获取单元,用于获取每个磁盘分块的数据访问次数, 第二确定单元,用于当磁盘分块中存储业务的业务优先级相同时确定数 据访问次数大的磁盘分块的重构优先级高于数据访问次数小的磁盘分块的重 构优先级。 13. 根据权利要求12所述的系统,其特征在于,所述系统还包括: 访问次数记录单元,用于检测所述磁盘分块被访问时将该磁盘分块的数 据访问次数加1。 14. 一种存储控制器,用于实现主机与磁盘之间的数据交换控制,其特 征在于,所述磁盘包括多个磁盘分块,所述存储控制器包括: 缓存单元,用于主机向磁盘存储数据时进行数据缓存; 业务优先级统计单元,用于统计每个磁盘分块中业务的业务优先级,其 中,所述业务优先级为预先根据业务的类型进行配置; RAID处理单元,用于在磁盘故障时根据所述业务优先级统计单元的第一 统计结果按照业务优先级由高到低的顺序对磁盘分块进行重构。 15. 根据权利要求14所述的存储控制器,其特征在于,所述存储控制器 还包括: 数据访问次数统计单元,用于统计每个磁盘分块的数据访问次数。 16. 根据权利要求15所述的存储控制器,其特征在于,所述RAID处理 单元还用于当磁盘分块存储业务的业务优先级相同时按照数据访问次数由高 到低的顺序对所述磁盘分块进行重构。
说明书一种基于RAID的磁盘重构方法及相关设备 技术领域 本发明涉及存储领域,特别涉及一种基于RAID的磁盘重构方法及相关 设备。 背景技术 RAID技术是一种把多个独立的磁盘或硬盘组合起来构成一个磁盘组或 硬盘组,也可以称为逻辑磁盘,以提供比单个磁盘更高的存储性能和数据处 理能力的技术,一个磁盘组中的多个磁盘互为成员盘。 根据磁盘组合方式的不同,可以将RAID划分为不同的级别,如RAID0、 RAID10、RAID3、RAID5、RAID6等。不同的RAID级别提供不同的数据保 护方案。其中RAID3、RAID5、RAID6均提供数据冗余保护功能,即当磁盘 组中有一块磁盘(RAID6允许2块磁盘)故障后,能够通过正常磁盘上的数 据及奇偶校验计算出故障盘的数据,从而保证系统能够正常运行。以4盘的 RAID为例,当DISK4故障后,RAID5就不具备数据冗余保护功能了,因此 可以通过读取DISK1、DISK2、DISK3上的数据,通过异或算法,恢复出DISK4 的数据,并将恢复出的数据写到一个热备盘(DISK5)中,这个过程叫做磁盘 重构。这里所指的热备盘是在创建系统后,指定一个空闲盘作为备份盘,当 RAID系统的某块成员盘发生故障后,能够自动触发RAID重构,不需要中断 RAID系统上的读写业务。 由于磁盘重构过程中,也必须保证正常的主机读写,而如果要读写的区 域还未完成重构,那么就需要通过其它方式获取到该区域的数据,这样就会 造成性能的降低。 近年来,在传统方式的磁盘重构的基础上,出现了精简重构等多种重构 方法,精简重构则是改变了重构整个故障盘的方式,变成只重构磁盘上有写 过数据的区域,即对磁盘划分了磁盘分块,如果该磁盘分块没有写入数据, 则不进行重构,这样可以大大提高重构的速率。 但是精简重构的缺点是按照磁盘的空间顺序从上而下进行重构的,没有 根据业务的有效性以及数据的数据访问次数选择合理的重构方法。对于存储 系统关键数据的区域,如果在重构的过程中,由于盘失效等原因造成重构失 败,或者这些数据没有得到及时重构,导致重构RAID组无冗余,那么这些 重要数据的丢失,从而该区域的数据得不到恢复,就有可能造成系统的无法 恢复的故障,对于主机经常访问的区域,如果没有及时得到重构,则会大大 降低系统的性能。 发明内容 有鉴于此,本发明实施例提供了一种基于RAID的磁盘重构方法及相关 设备。 第一方面,本发明提供一种基于RAID的磁盘重构方法,所述磁盘包括 多个磁盘分块,所述方法包括: 配置需要存放在磁盘分块中业务的业务优先级; 将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个磁盘分 块对应存储一个业务; 根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优 先级; 当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构。 结合第一方面,在第一方面的第一种实现方式中,所述配置需要存放在 磁盘分块中业务的业务优先级的步骤具体包括: 配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至 少配置为第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。 结合第一方面的第一种实现方式,在第一方面的第二种实现方式,所述 根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优先级 的步骤具体包括: 当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述磁盘分 块的重构优先级为第一重构优先级;以及 当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分 块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第 二重构优先级。 结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所 述当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构的步骤 具体包括: 当磁盘异常时对第一重构优先级的磁盘分块进行重构;以及 当第一重构优先级的磁盘分块重构完成后对第二重构优先级的磁盘分块 进行重构。 结合第一方面,第一方面的第四种实现方式中,所述根据所述磁盘分块 所存储业务的业务优先级确定所述磁盘分块的重构优先级的步骤之前进一步 包括: 获取每个磁盘分块的数据访问次数, 当磁盘分块中存储业务的业务优先级相同时确定数据访问次数大的磁盘 分块的重构优先级高于数据访问次数小的磁盘分块的重构优先级。 结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,所 述获取每个磁盘分块的数据访问次数的步骤之前,所述方法还包括: 检测所述磁盘分块被访问时将该磁盘分块的数据访问次数加1。 结合第一方面的第五种实现方式,在第一方面的第六种实现方式中,所 述当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构的步骤 之前,所述方法还包括: 检测到所述磁盘分块未写入数据时不对该磁盘模块进行重构。 第二方面,本发明提供了一种基于RAID的磁盘重构系统,述磁盘包括 多个磁盘分块,所述系统包括: 配置单元,用于配置需要存放在磁盘分块中业务的业务优先级; 存储操作单元,用于将多个业务分别存储至所述磁盘的多个磁盘分块中, 以使得一个磁盘分块对应存储一个业务; 第一确定单元,用于根据所述磁盘分块所存储业务的业务优先级确定所 述磁盘分块的重构优先级; 重构单元,用于当磁盘异常时按照重构优先级由高到低的顺序对磁盘分 块进行重构。 结合第二方面,在第二方面的第一种实现方式中,所述配置单元还用于 配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至少配 置为第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。 结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所 述第一确定单元还用于当所述磁盘分块存储业务的业务优先级为第一优先级 时确定所述磁盘分块的重构优先级为第一重构优先级;以及 当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分 块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第 二重构优先级。 结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,所 述重构单元还用于当磁盘异常时对第一重构优先级的磁盘分块进行重构;以 及 当第一重构优先级的磁盘分块重构完成对第二重构优先级的磁盘分块进 行重构。 结合第二方面,在第二方面的第四种实现方式中,所述系统还包括: 获取单元,用于获取每个磁盘分块的数据访问次数, 第二确定单元,用于当磁盘分块中存储业务的业务优先级相同时确定数 据访问次数大的磁盘分块的重构优先级高于数据访问次数小的磁盘分块的重 构优先级。 结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,所 述系统还包括: 访问次数记录单元,用于检测所述磁盘分块被访问时将该磁盘分块的数 据访问次数加1。 第三方面,本发明提供了一种存储控制器,用于实现主机与磁盘之间的 数据交换控制,所述磁盘包括多个磁盘分块,所述存储控制器包括: 缓存单元,用于主机向磁盘存储数据时进行数据缓存; 业务优先级统计单元,用于统计每个磁盘分块中业务的业务优先级,其 中,所述业务优先级为预先根据业务的类型进行配置; RAID处理单元,用于在磁盘故障时根据所述业务优先级统计单元的第一 统计结果按照业务优先级由高到低的顺序对磁盘分块进行重构。 结合第三方面,在第三方面的第一种实现方式中,所述存储控制器还包 括: 数据访问次数统计单元,用于统计每个磁盘分块的数据访问次数。 结合第三方面的第一种实现方式,在第三方面的第二种实现方式中,所 述RAID处理单元还用于当磁盘分块存储业务的业务优先级相同时按照数据 访问次数由高到低的顺序对所述磁盘分块进行重构。 从以上技术方案可以看出,本发明实施例具有以下优点: 本发明提供的基于RAID的磁盘重构方法及相关设备,通过对业务进行 优先级的分配,在再将业务存放至磁盘分块中,通过每个磁盘分块上存放业 务的业务优先级不同,使得在重构时,优选选择业务优先级高的磁盘分块进 行重构,使得业务优先级高的业务对应的数据能够及时得到重构,避免了因 为磁盘异常时关键恢复数据丢失导致系统故障且无法恢复问题。 附图说明 图1是本发明基于RAID的磁盘重构方法的一种实施例的流程图; 图2是本发明基于RAID的磁盘重构方法的另一种实施例的流程图; 图3是本发明基于RAID的磁盘重构系统的一种实施例的结构图; 图4是本发明存储控制器的一种实施例的结构图。 具体实施方式 本发明实施例提供了一种基于RAID的磁盘重构方法及相关设备,用于 在重构时,优选选择业务优先级高的磁盘分块进行重构,使得业务优先级高 的业务对应的数据能够及时得到重构,避免了因为磁盘异常时关键恢复数据 丢失导致系统故障且无法恢复问题。 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实 施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都应当属于本发明保护的范围。 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第 三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次 序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施 例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括” 和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含 了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出 的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、 产品或设备固有的其它步骤或单元。 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 本发明提供基于RAID的磁盘重构方法的一种实施例,所述磁盘包括多 个磁盘分块,所述方法包括: S101、配置需要存放在磁盘分块中业务的业务优先级。 本文中所述的业务,应当理解为完成某项工作产生的一系列数据,将业 务存储至磁盘,即将该业务对应的数据存储至磁盘分块,每个业务对应的数 据存储至一个磁盘分块中,预先针对业务的重要性进行划分,业务重要性高 的业务优先级高,业务重要性低的业务优先级低,例如,对于VIP用户(英 文:very important person,中文:重要人物)和普通用户办理的事务,可以将 VIP用户的业务优先级设置为高,将普通用户优先级的业务优先级设置为低, 业务优先级可以根据业务重要程度划分,具体不进行限定。 S102、将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个 磁盘分块对应存储一个业务。 将业务存储至磁盘分块中,即将业务对应的数据存储至磁盘分块,在 RAID(英文:Redundant Arrays of Independent Disks,中文:磁盘阵列)中, 一块磁盘可以划分为多个磁盘分块,每个磁盘分块中存储一个业务的数据, 磁盘分块可以为磁盘的扇区,如果磁盘的磁盘分块个数为0,即没有磁盘分块, 那么不需要对这个磁盘进行重构,本领域普通技术人员应当了解不进行赘述, 需要说明的是,磁盘中可以包括很多磁盘分块,每个磁盘分块只存放一个业 务,当业务数量小于磁盘分块的个数时,有些磁盘分块不会进行数据的写入, 在进行重构时,未写入数据的磁盘分区可以不进行重构。 S103、根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的 重构优先级。 一个磁盘分块存储一个业务的数据,每个业务已进行业务优先级的划分, 可以根据存储业务对应的业务优先级确定该磁盘分块的重构优先级,例如, 磁盘分块中存储业务优先级高的业务,则该磁盘分块的重构优先级也同样高, 磁盘分块中存储业务优先级低的业务,则该磁盘分块的重构优先级也对应降 低,使得在重构时候,业务优先级高的业务存储的磁盘分块最先被重构,然 后再对业务优先级低的业务存储的磁盘分块进行重构,保证重要的业务所在 磁盘分块被优先重构,避免因为磁盘没有冗余导致业务优先级的业务的数据 发生丢失,减小损失。 S104、当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重 构。 获取磁盘的运行情况,当检测到磁盘出现故障需要进行重构时,按照重 构优先级的高低顺序,由重构优先级高的磁盘分块优先进行重构,然后按照 重构优先级的顺序进行重构,优先对业务优先级高的业务所在磁盘分块进行 重构,避免重要数据丢失,提高系统性能,保证了系统的可靠性。 本发明提供的基于RAID的磁盘重构方法,预先配置业务与业务优先级 的关系,将磁盘分块按照所存放的业务对应的业务优先级进行重构,业务优 先级高的业务所在磁盘分块优先进行重构,然后按照磁盘分块的重构优先级 由高到低的顺序进行重构,优先保证重要业务的数据所在磁盘分块重构,避 免业务的数据丢失,提高系统性能,保证了系统的可靠性。 本发明提供基于RAID的磁盘重构方法的另一种实施例,所述磁盘包括 多个磁盘分块,所述方法包括: S201、配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优 先级至少配置为第一优先级和第二优先级,其中,所述第一优先级高于第二 优先级。 业务优先级可以至少配置为两个级别,也可以根据需要配置成三个级别 或者更多级别,满足对业务的重要情况进行区分即可,例如,第一优先级的 业务的数据重要程度高于第二优先级的业务的数据,第二优先级的业务的数 据重要程度高于第三优先级的业务的数据。 S202、将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个 磁盘分块对应存储一个业务; 将一个业务的数据存储在一个磁盘分块中,此处与上一实施例中S102相 同,此处不进行赘述。 S203、当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述 磁盘分块的重构优先级为第一重构优先级;以及当所述磁盘分块存储业务的 业务优先级为第二优先级时确定所述磁盘分块的重构优先级为第二重构优先 级,其中,所述第一重构优先级高于所述第二重构优先级。 对磁盘分块的重构优先级进行划分,重构优先级的级别划分可以业务优 先级的划分对应,当所述磁盘分块存储业务的业务优先级为第一优先级时确 定所述磁盘分块的重构优先级为第一重构优先级,当所述磁盘分块存储业务 的业务优先级为第二优先级时确定所述磁盘分块的重构优先级为第二重构优 先级,其中,所述第一重构优先级高于所述第二重构优先级,当磁盘出现故 障需要进行重构,按照重构优先级由高到低的顺序对磁盘分块进行重构。 S204、当磁盘异常时对第一重构优先级的磁盘分块进行重构,当第一重 构优先级的磁盘分块重构完成后执行S205。 当磁盘故障时候,对磁盘中的磁盘分块进行遍历,获取第一重构优先级 对应的磁盘分块进行操作,按照重构优先级的高低顺序依次进行磁盘分块的 重构,例如,对磁盘进行遍历后,获取到第一重构优先级的磁盘分块进行重 构,第一重构优先级的磁盘分块重构完成之后,对重构优先级仅次于第一重 构优先级的第二重构优先级对应的磁盘分块进行重构,依次对不同重构优先 级的磁盘分块进行重构,使得存储业务优先级高业务的磁盘优先进行重构, 避免重要数据丢失,提高系统性能和可靠性。 需要说明的是,作为一种优选的方案,对磁盘分块进行重构操作之前, 可以对磁盘分块进行检测,判断该磁盘分块是否写入过数据,即判断该磁盘 分块中是否存储过业务的数据,如果该磁盘分块未写入过数据,即没有存储 过业务的数据,则不需要对这个磁盘分块进行重构,遍历寻找下一个重构优 先级的磁盘分块进行检测,如果这个磁盘分块写入数据,则可以根据重构优 先级进行重构操作,只重构磁盘上有写过数据的磁盘分块,如果该区域没有 写过数据,则不进行重构,这样可以大大提高磁盘分块重构的速度和效率。 S205、对第二重构优先级的磁盘分块进行重构。 对第二重构优先级的磁盘分块也可以进行是否写入数据的检测,当判断 第二重构优先级的磁盘分块写入过数据,则继续操作,完成对该磁盘分块的 重构操作,如果判断该磁盘分块未写入过数据,则不对这个磁盘分款进行重 构,继续遍历磁盘中的所有磁盘分块,按照重构优先级的顺序对其他磁盘分 块进行重构操作。 需要说明的是,如何对磁盘分块进行检测是否被写入过数据的方法,本 领域普通技术人员应当了解,不进行赘述。 针对步骤S203中,具有相同业务优先级的业务可以有多个,即有相同重 构优先级的磁盘分块可以为多个,当出现业务优先级相同的磁盘分块时候, 如何确定磁盘分块的重构优先级,本发明还提供一种实施例,下面具体介绍。 获取每个磁盘分块的数据访问次数,当磁盘分块中存储业务的业务优先 级相同时,确定数据访问次数大的磁盘分块的重构优先级高于数据访问次数 小的磁盘分块的重构优先级。 作为一种优选的方案,增加一个重构优先级调节机制,数据访问次数高 的数据可以将该磁盘分块的重构优先级调高,长时间未访问的数据,如果本 身优先级较高,可以不更改该磁盘分块的重构优先级,如果该磁盘分块的重 构优先级适中,可以降低该磁盘分块的优先级,通过这个调节机制,可以灵 活的调整磁盘分块的重构优先级,将数据访问次数多的磁盘分块优先进行重 构。 为方便说明,下面以两个磁盘分块具有相同的业务优先级的业务说明, 例如,磁盘分块A和磁盘分块B存储这相同业务优先级的业务,这时通过获 取磁盘分块A和磁盘分块B的数据访问次数做进一步判断,通过检测发现磁 盘分块A的数据访问次数多于磁盘分块B的数据访问次数,则确定磁盘分块 A的重构优先级高于磁盘分块B的重构优先级,解决了当出现业务优先级相 同时重构优先级如何确定的问题,提高了对磁盘重构操作时候的适应性,使 得操作过程更灵活。 对于如何获取磁盘分块的数据访问次数,可以采用在检测所述磁盘分块 被访问时将该磁盘分块的数据访问次数加1,然后再统计各个磁盘分块的数据 访问次数,当出现存储业务的业务优先级相同的磁盘分块,利用数据访问次 数进行确定该磁盘分块的重构优先级,对于磁盘分块的数据访问次数的获取 方法也可以有其他的方法,在此不进行限定。 结合图3所示,上文介绍了基于RAID的磁盘重构方法,针对上述方对 应提出了基于RAID的磁盘重构系统,下面针对该系统进行介绍。 本发明提供的基于RAID的磁盘重构系统的一种实施例,所述磁盘包括 多个磁盘分块,所述系统包括: 配置单元301,用于配置需要存放在磁盘分块中业务的业务优先级。 作为一种优选的方案,所述配置单元301还用于配置需要存放在磁盘分 块中业务的业务优先级,并将所述业务优先级至少配置为第一优先级和第二 优先级,其中,所述第一优先级高于第二优先级。 存储操作单元302,用于将多个业务分别存储至所述磁盘的多个磁盘分块 中,以使得一个磁盘分块对应存储一个业务; 第一确定单元303,用于根据所述磁盘分块所存储业务的业务优先级确定 所述磁盘分块的重构优先级。 作为一种优选的方案,所述第一确定单元303还用于当所述磁盘分块存 储业务的业务优先级为第一优先级时确定所述磁盘分块的重构优先级为第一 重构优先级;以及当所述磁盘分块存储业务的业务优先级为第二优先级时确 定所述磁盘分块的重构优先级为第二重构优先级,其中,所述第一重构优先 级高于所述第二重构优先级。 重构单元304,用于当磁盘异常时按照重构优先级由高到低的顺序对磁盘 分块进行重构。 作为一种优选的方案,所述重构单元304还用于当磁盘异常时对第一重 构优先级的磁盘分块进行重构;以及当第一重构优先级的磁盘分块重构完成 对第二重构优先级的磁盘分块进行重构。 作为一种优选的方案,所述系统还包括: 获取单元305,用于获取每个磁盘分块的数据访问次数, 第二确定单元306,用于当磁盘分块中存储业务的业务优先级相同时确定 数据访问次数大的磁盘分块的重构优先级高于数据访问次数小的磁盘分块的 重构优先级。 访问次数记录单元307,用于检测所述磁盘分块被访问时将该磁盘分块的 数据访问次数加1。 本发明提供的一种基于RAID的磁盘重构系统,预先配置业务与业务优 先级的关系,将磁盘分块按照所存放的业务对应的业务优先级进行重构,业 务优先级高的业务所在磁盘分块优先进行重构,然后按照磁盘分块的重构优 先级由高到低的顺序进行重构,优先保证重要业务的数据所在磁盘分块重构, 避免业务的数据丢失,提高系统性能,保证了系统的可靠性。 结合图4所示,本发明还提供一种存储控制器,用于实现主机与磁盘之 间的数据交换控制,所述磁盘包括多个磁盘分块,所述存储控制器的一种实 施例包括: 缓存单元401,用于主机向磁盘存储数据时进行数据缓存,主机向磁盘保 存数据时,可以将数据暂时存放在缓存单元中,缓存单元再将数据以合适的 方式存储至磁盘中,这里的合适的方式可以为对时间要求降低,主机快速将 数据保存在缓存单元中,可以实现主机的数据快速保存。 业务优先级统计单元402,用于统计每个磁盘分块中业务的业务优先级, 其中,所述业务优先级为预先根据业务的类型进行配置。 业务与业务优先级的配置方法,与上文中描述的过程相同,此处不进行 赘述,利用业务优先级确定磁盘分块的重构优先级。 RAID处理单元403,用于在磁盘故障时根据所述业务优先级统计单元402 的第一统计结果按照业务优先级由高到低的顺序对磁盘分块进行重构。 RAID处理单元403通过遍历磁盘中的每个磁盘分块,按照业务优先级统 计单元402的统计结果,对业务优先级高的磁盘分块优先进行重构,然后再 按照业务优先级由高到底的顺序将对磁盘分块进行重构。 需要说明的是,在重构过程中,当检测到某个磁盘分块未写入过数据, 则跳过该磁盘分块,对未写入过数据的磁盘分块不进行重构,可以提高重构 的速度和效率。 优选的,所述RAID处理单元403还用于当磁盘分块存储业务的业务优 先级相同时按照数据访问次数由高到低的顺序对所述磁盘分块进行重构。 优选的,数据访问次数统计单元404,用于统计每个磁盘分块的数据访问 次数,当检测到磁盘分块被访问一次则将该磁盘分块的数据访问次数加1,以 记录该磁盘分块的数据访问次数。 当然,所述存储控制器还包括其他单元,例如实现运算处理的处理器(图 中未示出),用于传输数据的总线(图中未示出),属于存储控制器的常规设 计,在此不进行赘述。 本发明提供一种存储控制器,预先配置业务与业务优先级的关系,将磁 盘分块按照所存放的业务对应的业务优先级进行重构,业务优先级高的业务 所在磁盘分块优先进行重构,然后按照磁盘分块的重构优先级由高到低的顺 序进行重构,优先保证重要业务的数据所在磁盘分块重构,避免业务的数据 丢失,提高系统性能,保证了系统的可靠性。 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可 读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、 随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。 以上对本发明所提供的一种基于RAID的磁盘重构方法及相关设备进行 了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
《一种基于RAID的磁盘重构方法及相关设备.pdf》由会员分享,可在线阅读,更多相关《一种基于RAID的磁盘重构方法及相关设备.pdf(15页珍藏版)》请在专利查询网上搜索。
本发明提供的基于RAID的磁盘重构方法及相关设备,通过对业务进行优先级的分配,在再将业务存放至磁盘分块中,通过每个磁盘分块上存放业务的业务优先级不同,使得在重构时,优选选择业务优先级高的磁盘分块进行重构,使得业务优先级高的业务对应的数据能够及时得到重构,避免了因为磁盘异常时关键恢复数据丢失导致系统故障且无法恢复问题。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1