基于raid算法的重建方法及装置的制造方法_2

文档序号:8282159阅读:来源:国知局
过程,重建的进度都是从O开始计数,每次重建的单位为I个条带,在每个重建写完成后,会在RAID的bitmap中标记此重建完成。在从前开始扫描重建过程中遇到已经被重建的条带时直接跳过。每个条带的重建过程为,获取此条带的条带锁,检查RAID当前状态下是否适宜继续重建,若适合则读取该条带的数据,再调用对应RAID算法的与回调。
[0045]对于每个RAID算法而言,无需关心线程资源的调度,与数据的读取,只需关注如何从一段连续的数据条带中,计算或直接截取出数据,并发送给标记成降级拔出的磁盘中,而抽象出的重建模块独立地提供了暂停,启动,调节线程优先级等接口,供RAID管理架构调用。
[0046]本实施例提供的方法,简化了 RAID算法的重建处理逻辑,增强了算法的可维护性,增强了 RAID相应时间的能力,减少了状态切换的时间,更为迅速地开启和暂停重建线程,对磁盘解除不良而闪断的现象有很大帮助。
[0047]如图2所示,图2示出了本发明另一较为具体的实施例提供的基于RAID算法的重建方法的流程图,该方法包括如下步骤:
[0048]201、判断RAID是否有效,若是,则转至步骤203,否则转至步骤202。
[0049]202、停止重建线程并退出。
[0050]203、判断重建线程是否接收到暂停请求,若是,则装置步骤204,否则装置步骤205。
[0051]204、将重建线程调至暂停状态并退出。
[0052]205、获取条带锁。
[0053]206、构造读1读取条带数据。
[0054]207、根据读取的数据构造并写需重建的盘的数据。
[0055]208、释放条带锁。
[0056]209、判断重建是否完成,若是,则转至步骤,否则转至步骤211。
[0057]210、停止重建线程并退出。
[0058]211、调出重建线程等待下次被调度。
[0059]本实施例提供了一种基于RAID的重建方法及装置,通过独立于RAID算法之外的重建线程,使得RAID算法中关于重建的过程得到高度抽象,并能够被RAID结构收到的事件干预,简化了 RAID各算法的实现过程,令整个系统更容易维护。
[0060]如图3所示,图3示出了本发明一实施例提供的基于RAID算法的重建装置的结构示意图,该装置包括:读模块301及写模块302。
[0061]读模块301,用于当进行数据重建时,获取需要重建的条带的条带锁,读取所述条带的数据。
[0062]写模块302,用于根据读取的所述数据构造并写需要重建的盘的数据。
[0063]其中,所述装置还包括:判定模块,用于判断磁盘阵列RAID是否有效,若有效,则读取条带的数据,否则停止重建线程。
[0064]其中,所述装置还包括:标记模块,用于在RAID的位图bitmap中标记所述条带的重建已完成。
[0065]其中,读模块301,具体用于:构造读1读取所述条带的数据。
[0066]其中,写模块302,具体用于:根据读取的所述数据构造回调函数,将所述数据写入需要重建的盘。
[0067]以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于RAID算法的重建方法,其特征在于,所述方法包括: 当进行数据重建时,获取需要重建的条带的条带锁,读取所述条带的数据; 根据读取的所述数据构造并写需要重建的盘的数据。
2.根据权利要求1所述的方法,其特征在于,所述当进行数据重建时,获取条带的条带锁,读取所述条带的数据的步骤前,所述方法还包括: 判断磁盘阵列RAID是否有效,若有效,则读取条带的数据,否则停止重建线程。
3.根据权利要求1所述的方法,其特征在于,所述将读取的所述数据写入故障盘的位置的步骤后,所述方法还包括: 在RAID的位图bitmap中标记所述条带的重建已完成。
4.根据权利要求1所述的方法,其特征在于,所述读取所述条带的数据,包括: 构造读1读取所述条带的数据。
5.根据权利要求1所述的方法,其特征在于,所述根据读取的所述数据构造并写需要重建的盘的数据,包括: 根据读取的所述数据构造回调函数,将所述数据写入需要重建的盘。
6.一种基于RAID算法的重建装置,其特征在于,所述装置包括: 读模块,用于当进行数据重建时,获取需要重建的条带的条带锁,读取所述条带的数据; 写模块,用于根据读取的所述数据构造并写需要重建的盘的数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 判定模块,用于判断磁盘阵列RAID是否有效,若有效,则读取条带的数据,否则停止重建线程。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括: 标记模块,用于在RAID的位图bitmap中标记所述条带的重建已完成。
9.根据权利要求6所述的装置,其特征在于,所述读模块,具体用于: 构造读1读取所述条带的数据。
10.根据权利要求6所述的装置,其特征在于,所述写模块,具体用于: 根据读取的所述数据构造回调函数,将所述数据写入需要重建的盘。
【专利摘要】本发明提供了一种基于RAID算法的重建方法,该方法包括:当进行数据重建时,获取需要重建的条带的条带锁,读取所述条带的数据;根据读取的所述数据构造并写需要重建的盘的数据。本发明还提供了一种基于RAID算法的重建装置,该装置包括读模块和写模块。本发明通过独立于RAID算法之外的重建线程,使得RAID算法中关于重建的过程得到高度抽象,并能够被RAID结构收到的事件干预,简化了RAID各算法的实现过程,令整个系统更容易维护。
【IPC分类】G06F3-06, G06F11-14
【公开号】CN104598336
【申请号】CN201510058699
【发明人】高华龙
【申请人】北京神州云科数据技术有限公司
【公开日】2015年5月6日
【申请日】2015年2月4日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1