一种高可伸缩性raid阵列存储视频监控数据的方法和装置的制造方法

文档序号:9371857阅读:263来源:国知局
一种高可伸缩性raid阵列存储视频监控数据的方法和装置的制造方法
【技术领域】
[0001]本发明涉及存储技术领域,尤其涉及一种高可伸缩性RAID阵列存储视频监控数据的方法和装置。
【背景技术】
[0002]视频监控中的录像数据可靠性是一项十分关键的技术,对于事后分析案例起到关键作用。目前视频监控中,常用的录像数据可靠性技术采用磁盘冗余技术RAID5。该技术可以保证在I块硬盘损坏情况下,保持录像的完整性。
[0003]当RAID5中的磁盘损坏I块后,虽然可以继续进行存储,但无法再提供冗余功能;因此,后续当磁盘继续损坏后,将出现数据丢失。
[0004]当需要扩充容量时,需要新增加一块硬盘或几块硬盘,但直接通过RAID5进行扩展将极大消耗性能,会影响到设备的整体服务可用性。

【发明内容】

[0005]有鉴于此,本发明提供一种高可伸缩性RAID5阵列存储视频监控数据的方法和装置。
[0006]该方法包括:若包含η块磁盘的RAID5阵列中的ml块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-ml块磁盘;其中,n-ml> = 3 ;将待存储的视频监控数据写入该新的子RAID5阵列;或者,若包含η块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列。
[0007]优选地,每个条带内的单个磁盘上存储包含超级块的块文件,该超级块的magic字段记录该块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置。
[0008]优选地,所述方法还包括:当所述包含η块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设的值后再将其加入到各子RAID5阵列中,所述预设的值用来表示该m2块磁盘当前数据无效。
[0009]优选地,所述方法还包括:设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带信息。
[0010]该高可伸缩性RAID5阵列存储视频监控数据的装置,其特征在于,该装置包括:子RAID5阵列构建模块,用于若包含η块磁盘的RAID5阵列中的ml块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-ml块磁盘;其中,n-ml> = 3 ;或者,用于若包含η块磁盘的RAID5阵列新增m2块磁盘,贝Ij对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列;该新的子RAID5阵列包含n+m2块磁盘;数据写入模块,用于将待存储的视频监控数据写入每一个新的包含n-ml块磁盘或者包含n+m2块磁盘的子RAID5阵列。
[0011]优选地,该装置还包括:magic字段填充模块,用于在超级块的magic字段中填充块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置;所述块文件存储在每个条带内的单个磁盘上,所述超级块位于块文件中。
[0012]优选地,该magic字段填充模块还用于,当所述包含η块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设值,所述预设的值用来表示该m2块磁盘当前数据无效。
[0013]优选地,该装置还包括RAID5阵列管理模块,该模块用于设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带信息。
[0014]相较于现有技术,本发明方案在RAID5阵列中的磁盘出现损坏时,可以让原η盘的RAID5向新的n-m盘的RAID5转换,从而继续为新的录像数据提供冗余数据能力;当RAID5阵列中新增加磁盘时,可以将原η个盘的RAID5向新的n+m盘的RAID5平滑转换,不影响整个系统的录像存储性能。
【附图说明】
[0015]图1是现有的RAID5阵列存储结构图。
[0016]图2是本发明实施例阵列收缩图。
[0017]图3是本发明实施例条带块文件分布图。
[0018]图4是本发明实施例阵列伸展图。
[0019]图5是本发明实施例包含magic字段的块文件图。
[0020]图6是本发明实施例装置逻辑结构图。
【具体实施方式】
[0021]本发明将利用视频监控中视频录像顺序存储的特点,采用超大条带(如256MB)方式,将每个条带作为独立RAID5子盘进行管理。当RAID5阵列磁盘损坏或增加新的磁盘进行容量扩充时,利用视频录像顺序存储以及按条带回收的特性,新分配用于录像存储的条带;按照该新分配条带上可用盘数据组成RAID5子盘进行管理,从而在视频监控录像存储时,保证RAID5的高可伸缩性。
[0022]图1所示为现有的RAID5阵列存储结构。RAID5阵列一般由η(n> = 3)块磁盘组成,并要求RAID5阵列内的每块磁盘容量相等,RAID5阵列会对每块磁盘以固定大小的空间划分区间,每个磁盘的相同位置区间组成一个条带,每个条带由η-1个磁盘数据区间与一个校验区间组成。
[0023]本发明的RAID5阵列的伸缩性包括两种情况:第一种情况是RAID5阵列中的磁盘故障,导致RAID5阵列中的磁盘数量减少;第二种情况是RAID5扩充容量,新插入一块或几块磁盘。每种情况的处理如下:
[0024]若包含η块磁盘的RAID5阵列中的ml块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n_ml块磁盘;其中,n-ml> = 3 ;将待存储的视频监控数据写入该新的子RAID5阵列。
[0025]若包含η块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列。
[0026]请参图2的一个例子。该例的RAID5阵列包括5块磁盘,包括条带O?条带999共1000个条带。在进行视频监控录像存储时,顺序地、循环地将视频监控录像存储到阵列中,即将前端监控摄像机传来的录像先写入条带0,条带O写满后再开始写条带1,条带2……,直到条带999。当条带999也被写满后,又从条带O开始,逐个条带顺序地覆盖地写入新的视频监控数据。
[0027]有的时候,对于一些重要的视频监控录像在存入阵列后,会进行一定时间的锁定。还是以图2为例,如果存入该RAID5阵列条带26和条带27的视频监控录像包含了异常事件,对于这些视频监控录像需要进行锁定,那么下次在覆盖写到这些条带的时候,会跳过这些条带而写入条带28中。这种特殊的情况是顺序存储基础上的一种例外。
[0028](一 )、对于完全顺序地按照条带进行回收、覆盖写的情况,在实施本发明方案的时候,可以按照如下方式进行:
[0029]若当前视频监控数据写入条带&时,包含η块磁盘的RAID5阵列出现ml块磁盘故障,则对条带Xfl开始的每个条带依次构建新的子RAID5阵列,该新的子RAID5阵列包含n-ml块磁盘,待存储的视频监控数据依次写入每一个新的子RAID5阵列。若当前视频监控数据写入条带,包含η块磁盘的RAID5阵列新增m2块磁盘,对条带χ !+I开始的每个条带依次构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘,待存储的视频监控数据依次写入每一个子RAID5阵列。
[0030]本发明实施例视频监控录像需要存储到RAID阵列某条带的时候,需要对该条带整个进行回收然后再进行覆盖写
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1