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

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

Info

Publication number
CN105094704B
CN105094704B CN201510443600.XA CN201510443600A CN105094704B CN 105094704 B CN105094704 B CN 105094704B CN 201510443600 A CN201510443600 A CN 201510443600A CN 105094704 B CN105094704 B CN 105094704B
Authority
CN
China
Prior art keywords
disk
band
block
raid5
raid5 array
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.)
Active
Application number
CN201510443600.XA
Other languages
English (en)
Other versions
CN105094704A (zh
Inventor
赵汉表
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201510443600.XA priority Critical patent/CN105094704B/zh
Publication of CN105094704A publication Critical patent/CN105094704A/zh
Application granted granted Critical
Publication of CN105094704B publication Critical patent/CN105094704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种高可伸缩性RAID5阵列存储视频监控数据的方法,包括:若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n‑m1块磁盘;其中,n‑m1>=3;将待存储的视频监控数据写入该新的子RAID5阵列;或者,若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列本发明方案实现了RAID5阵列的高可伸缩性。

Description

一种高可伸缩性RAID阵列存储视频监控数据的方法和装置
技术领域
本发明涉及存储技术领域,尤其涉及一种高可伸缩性RAID阵列存储视频监控数据的方法和装置。
背景技术
视频监控中的录像数据可靠性是一项十分关键的技术,对于事后分析案例起到关键作用。目前视频监控中,常用的录像数据可靠性技术采用磁盘冗余技术RAID5。该技术可以保证在1块硬盘损坏情况下,保持录像的完整性。
当RAID5中的磁盘损坏1块后,虽然可以继续进行存储,但无法再提供冗余功能;因此,后续当磁盘继续损坏后,将出现数据丢失。
当需要扩充容量时,需要新增加一块硬盘或几块硬盘,但直接通过RAID5进行扩展将极大消耗性能,会影响到设备的整体服务可用性。
发明内容
有鉴于此,本发明提供一种高可伸缩性RAID5阵列存储视频监控数据的方法和装置。
该方法包括:若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;将待存储的视频监控数据写入该新的子RAID5阵列;或者,若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列。
优选地,每个条带内的单个磁盘上存储包含超级块的块文件,该超级块的magic字段记录该块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置。
优选地,所述方法还包括:当所述包含n块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设的值后再将其加入到各子RAID5阵列中,所述预设的值用来表示该m2块磁盘当前数据无效。
优选地,所述方法还包括:设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带信息。
该高可伸缩性RAID5阵列存储视频监控数据的装置,其特征在于,该装置包括:子RAID5阵列构建模块,用于若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;或者,用于若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列;该新的子RAID5阵列包含n+m2块磁盘;数据写入模块,用于将待存储的视频监控数据写入每一个新的包含n-m1块磁盘或者包含n+m2块磁盘的子RAID5阵列。
优选地,该装置还包括:magic字段填充模块,用于在超级块的magic字段中填充块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置;所述块文件存储在每个条带内的单个磁盘上,所述超级块位于块文件中。
优选地,该magic字段填充模块还用于,当所述包含n块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设值,所述预设的值用来表示该m2块磁盘当前数据无效。
优选地,该装置还包括RAID5阵列管理模块,该模块用于设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带信息。
相较于现有技术,本发明方案在RAID5阵列中的磁盘出现损坏时,可以让原n盘的RAID5向新的n-m盘的RAID5转换,从而继续为新的录像数据提供冗余数据能力;当RAID5阵列中新增加磁盘时,可以将原n个盘的RAID5向新的n+m盘的RAID5平滑转换,不影响整个系统的录像存储性能。
附图说明
图1是现有的RAID5阵列存储结构图。
图2是本发明实施例阵列收缩图。
图3是本发明实施例条带块文件分布图。
图4是本发明实施例阵列伸展图。
图5是本发明实施例包含magic字段的块文件图。
图6是本发明实施例装置逻辑结构图。
具体实施方式
本发明将利用视频监控中视频录像顺序存储的特点,采用超大条带(如256MB)方式,将每个条带作为独立RAID5子盘进行管理。当RAID5阵列磁盘损坏或增加新的磁盘进行容量扩充时,利用视频录像顺序存储以及按条带回收的特性,新分配用于录像存储的条带;按照该新分配条带上可用盘数据组成RAID5子盘进行管理,从而在视频监控录像存储时,保证RAID5的高可伸缩性。
图1所示为现有的RAID5阵列存储结构。RAID5阵列一般由n(n>=3)块磁盘组成,并要求RAID5阵列内的每块磁盘容量相等,RAID5阵列会对每块磁盘以固定大小的空间划分区间,每个磁盘的相同位置区间组成一个条带,每个条带由n-1个磁盘数据区间与一个校验区间组成。
本发明的RAID5阵列的伸缩性包括两种情况:第一种情况是RAID5阵列中的磁盘故障,导致RAID5阵列中的磁盘数量减少;第二种情况是RAID5扩充容量,新插入一块或几块磁盘。每种情况的处理如下:
若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;将待存储的视频监控数据写入该新的子RAID5阵列。
若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列。
请参图2的一个例子。该例的RAID5阵列包括5块磁盘,包括条带0~条带999共1000个条带。在进行视频监控录像存储时,顺序地、循环地将视频监控录像存储到阵列中,即将前端监控摄像机传来的录像先写入条带0,条带0写满后再开始写条带1,条带2……,直到条带999。当条带999也被写满后,又从条带0开始,逐个条带顺序地覆盖地写入新的视频监控数据。
有的时候,对于一些重要的视频监控录像在存入阵列后,会进行一定时间的锁定。还是以图2为例,如果存入该RAID5阵列条带26和条带27的视频监控录像包含了异常事件,对于这些视频监控录像需要进行锁定,那么下次在覆盖写到这些条带的时候,会跳过这些条带而写入条带28中。这种特殊的情况是顺序存储基础上的一种例外。
(一)、对于完全顺序地按照条带进行回收、覆盖写的情况,在实施本发明方案的时候,可以按照如下方式进行:
若当前视频监控数据写入条带x1时,包含n块磁盘的RAID5阵列出现m1块磁盘故障,则对条带x1+1开始的每个条带依次构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘,待存储的视频监控数据依次写入每一个新的子RAID5阵列。若当前视频监控数据写入条带x1时,包含n块磁盘的RAID5阵列新增m2块磁盘,对条带x1+1开始的每个条带依次构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘,待存储的视频监控数据依次写入每一个子RAID5阵列。
本发明实施例视频监控录像需要存储到RAID阵列某条带的时候,需要对该条带整个进行回收然后再进行覆盖写。所以上述当前视频监控数据写入条带x1时,包含n块磁盘的RAID5阵列出现m1块磁盘故障,那么新的视频监控数据需要写入下一个条带,即条带x1+1,该条带x1+1此时属于回收、并需要进行覆盖写的条带;在写入新的视频监控数据之前,需要对条带x1+1构建新的包含n-m1块磁盘的子RAID5阵列,然后在该新的子RAID5阵列上存储新的视频监控数据。新增m2块磁盘时,新的视频监控数据需要写入的下一个条带x1+1,此时也属于回收、并需要进行覆盖写的条带;在写入新的视频监控数据之前,需要对条带x1+1构建新的包含n+m2块磁盘的子RAID5阵列,然后在该新的子RAID5阵列上存储新的视频监控数据。
下面举个例子进行说明。
若在写到条带x1时,磁盘2损坏了,则对条带x1+1开始的每一个条带依次构建新的子RAID5阵列,该子RAID5阵列包含4个磁盘,待存储的视频监控数据依次写入每一个新的子RAID5阵列。具体来讲,磁盘2损坏后,先针对条带x1+1,将磁盘1、磁盘3、磁盘4和磁盘5在该条带x1+1的存储空间组建为一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+1;然后再针对条带x1+2,将磁盘1、磁盘3、磁盘4和磁盘5在该条带x1+2的存储空间组建为另一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+2;接着再针对条带x1+3,将磁盘1、磁盘3、磁盘4和磁盘5在该条带x1+3的存储空间组建为又一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+3,后续条带以此类推处理。当循环覆盖写到条带x1时,原5个磁盘构建的RAID5阵列将完全转换为4个磁盘构建的RAID5阵列(该4个磁盘构建的RAID5阵列的每一个条带即为一个子RAID5阵列),从而提供完全的数据冗余能力。在尚未覆盖写到条带x1时,存在一些条带具有冗余数据能力,一些条带不具有冗余数据能力。比如说,如果当前针对条带x1+3的4个磁盘组建新的子RAID5阵列,则此时只有条带x1+1和条带x1+2具有数据冗余功能,其他条带的数据均不具有冗余功能。
需要说明的是,由于视频监控录像数据按照条带进行回收与覆盖写,所以当条带x1+1用于新录像数据存储时,此时原条带中的所有数据将被视为无效数据,因此在写入新的视频监控数据时无需考虑原条带中的数据,直接将条带x1+1组建为一个4个磁盘的子RAID5阵列。
本发明实施例的每个条带可以自己独立组建一个子RAID5阵列,从而可以使不同的条带上,其组成的磁盘数量可以不同,即整个RAID5阵列在磁盘数量变化过程中,可以让RAID5阵列不同的条带包含不同磁盘数量。一旦当RAID5阵列中的数据被全部覆盖后到达稳定时,新的RAID5阵列将使所有的条带保持相同的数据盘,并且具有一个校验盘。
由于不同的条带可以组成的子RAID5的磁盘数量不同,为防止存储的监控视频录像块文件跨越条带,所以条带的大小被规划成与块文件的大小相同。如存储的块文件大小为256MB,则RAID5阵列的条带大小按256MB进行划分。每个条带上的文件块组成一个块文件组,并作为一个整体单元进行存储分配与回收,从而可使条带在进行伸缩时可以不考虑条带内所有数据,因为整个条带数据将被后续的录像数据覆盖,如图3所示。
下面再针对扩容举一个例子,请参图4。该例的RAID5阵列包括4块磁盘。若在写到条带x1时,需要进行扩容,增加磁盘5。此时对条带x1+1开始的每一个条带依次构建新的子RAID5阵列,该新的子RAID5阵列包含5个磁盘,待存储的视频监控数据依次写入每一个新的子RAID5阵列。具体来讲,新增磁盘5以后,先针对条带x1+1,将磁盘1、磁盘2、磁盘3、磁盘4和磁盘5在该条带x1+1的存储空间组建为一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+1;然后再针对条带x1+2,将磁盘1、磁盘2、磁盘3、磁盘4和磁盘5在该条带x1+2的存储空间组建为另一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+2;接着再针对条带x1+3,将磁盘1、磁盘2、磁盘3、磁盘4和磁盘5在该条带x1+3的存储空间组建为又一个新的子RAID5阵列,将待存储的视频监控数据写入该条带x1+3,后续条带以此类推处理。当循环覆盖写到条带x1时,原4个磁盘构建的RAID5阵列将完全转换为5个磁盘构建的RAID5阵列。在尚未覆盖写到条带x1时,4个磁盘构建的RAID5子阵列和5个磁盘构建的RAID5子阵列处于共存状态。
需要说明的是,由于视频监控录像数据按照条带进行回收与覆盖写,所以当条带x1+1用于新录像数据存储时,此时原条带中的所有数据将被视为无效数据,因此在写入新的视频监控数据时无需考虑原条带中的数据,直接将条带x1+1组建为一个5个磁盘的子RAID5阵列。
图2和图4的例子,分别是1块磁盘故障和新增1块磁盘。实际上,其他数量的磁盘故障或者新增仍然可以采用本发明技术,只要故障后剩余的磁盘数量大于等于3,新增磁盘数量则没有要求。
(二)、对于存在条带锁定或者类似情况而导致的非完全顺序地回收、覆盖写条带的情况,在实施本发明方案的时候,基本和上述完全顺序地回收、覆盖写条带的情况类似;只是对于锁定的条带,可能回收覆盖写的时候,要跳过该条带。例如,当前RAID5阵列的条带x1+2、x1+3被锁定;若当前视频监控数据写入条带x1时,包含n块磁盘的RAID5阵列出现m1块磁盘故障,则对条带x1+1开始的每个条带依次构建新的子RAID5阵列时,需要跳过条带x1+2、x1+3;即条带x1+2、x1+3不属于当前回收进行覆盖写新视频录像的条带。同样的,当前视频监控数据写入条带x1时,包含n块磁盘的RAID5阵列新增m2块磁盘,对条带x1+1开始的每个条带依次构建新的子RAID5阵列时,也要跳过条带x1+2、x1+3,条带x1+2、x1+3不属于当前回收进行覆盖写新视频录像的条带。除了跳过这两个锁定的条带外,其他处理方式和完全顺序回收、覆盖写的情况相同。
RAID5阵列伸缩过程中,将出现未被新的视频监控数据覆盖过的条带为原RAID5阵列的,被覆盖过的条带为新RAID5阵列的情况。无论是原RAID5阵列,还是新RAID5阵列,其每一个条带都可以被看成一个子RAID5阵列。为实现前述两种RAID5阵列共存,使这两种阵列可以被正确识别,需在每个块文件内部包含一个超级块;在该超级块中记录该块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置。比如说,可以在超级块最前面设置一个4字节的magic字段,请参图5。该magic字段的每个字节的值重复相同,每个字节含义拆分为两部分,分别为条带包含的磁盘数量及磁盘在条带中的位置,每部分占用4bit,最大可支持16盘位的RAID5阵列。如三块磁盘组成的条带,其第一块磁盘的magic值定义为0x30303030,第二块磁盘的magic值定义为0x31313131;如果为4块磁盘组成的条带,其第一块磁盘的magic值定义为0x40404040,依次类推。比如说,在图2磁盘故障的例子中,若条带x1+1被新的视频监控数据覆盖完,则条带x1+1的磁盘1的magic值为0x40404040,条带x1+1的磁盘3的magic值为0x41414141;条带x1+1的磁盘4为校验盘,可以不存在magic值;条带x1+1的磁盘5的magic值为0x42424242。条带x1-1未被新的视频监控数据覆盖时,条带x1-1的磁盘1的magic值为0x50505050;条带x1-1的磁盘2(已损坏)的magic值为0x51515151;条带x1-1的磁盘4的magic值为0x52525252;条带x1-1的磁盘5magic值为0x53535353;对于条带x1-1的磁盘3,假设为校验盘,不记录magic值。
需要说明的是,当RAID5阵列需要添加新的磁盘进行容量扩充时,为了避免新插入的磁盘中的数据影响已有磁盘,需要先对新插入的磁盘中所有magic值写入预设的值,然后再加入阵列,该预设的值表示该新插入的磁盘上的数据无效。以图4的例子进行说明。新插入磁盘5以后,对磁盘5中的所有magic字段写入0,表示磁盘5中的数据无效,然后将磁盘5加入阵列中。比如说,对于条带x1-1,如果未被新的视频监控数据覆盖,假设磁盘2为校验盘,则磁盘1的magic值为0x40404040,磁盘3的magic值为0x41414141;磁盘4的magic值为0x42424242,磁盘5的magic值为0x00000000。对于条带x1+1,新的视频监控数据覆盖写完后,假设磁盘1为校验盘,其它盘为数据盘,则磁盘2的magic值为0x50505050;磁盘3的magic值为0x51515151;磁盘4的magic值为0x52525252;磁盘5的magic值为0x53535353。没有被覆盖过的条带还是按照原阵列进行处理,比如条带x1-1,当需要读取磁盘1中的数据时,可以直接读取磁盘1得到所需数据,但无法读取磁盘5中的数据,因为此时磁盘5中的数据是无效数据。覆盖过的条带,比如说条带x1+1,磁盘5中的数据则为有效数据,可以读取。
在一个优选的实施例中,为提高访问效率,针对每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置。每次设备启动时,都需要扫描阵列下的所有条带的magic值,并为每个条带建立一个控制块。后续当视频录像数据每次覆盖某个条带时,都会刷新该条带控制块的信息,从而当需要访问某个条带数据时,可直接从该控制块中获取该条带信息,从而避免每次访问都去获取每个磁盘块文件的超级块中的数据来提取该超级块中magic的值而确定该条带中磁盘的数量及各个磁盘在该子RAID5中的位置。
通过本发明实施例描述可以看出,当RAID5阵列中的磁盘出现损坏时,可以让原n盘的RAID5向新的n-m盘的RAID5转换,从而继续为新的录像数据提供冗余数据能力;当RAID5阵列中新增加磁盘时,可以将原n个盘的RAID5向新的n+m盘的RAID5平滑转换,不影响整个系统的录像存储性能。
基于同样的构思,本发明还提供一种高可伸缩性RAID5阵列存储视频监控数据的装置。请参图6,该装置包括:子RAID5阵列构建模块、数据写入模块、magic字段填充模块和RAID5阵列管理模块。
子RAID5阵列构建模块,用于若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;或者,用于若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列;该新的子RAID5阵列包含n+m2块磁盘。
数据写入模块,用于将待存储的视频监控数据写入每一个新的包含n-m1块磁盘或者包含n+m2块磁盘的子RAID5阵列。
该magic字段填充模块,用于在超级块的magic字段中填充块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置;所述块文件存储在每个条带内的单个磁盘上,所述超级块位于块文件中。
该magic字段填充模块还用于,当所述包含n块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设值,所述预设的值用来表示该m2块磁盘当前数据无效。
该RAID5阵列管理模块用于设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种高可伸缩性RAID5阵列存储视频监控数据的方法,其特征在于,该方法包括:
若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;将待存储的视频监控数据写入该新的子RAID5阵列;或者,
若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n+m2块磁盘;将待存储的视频监控数据写入每一个新的子RAID5阵列。
2.如权利要求1所述的方法,其特征在于,该方法还包括:每个条带内的单个磁盘上存储包含超级块的块文件,该超级块的magic字段记录该块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:当所述包含n块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设的值后再将其加入到各子RAID5阵列中,所述预设的值用来表示该m2块磁盘当前数据无效。
4.如权利要求1所述的方法,其特征在于,每个条带的大小为256M。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带对应的控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带的信息。
6.一种高可伸缩性RAID5阵列存储视频监控数据的装置,其特征在于,该装置包括:
子RAID5阵列构建模块,用于若包含n块磁盘的RAID5阵列中的m1块磁盘发生了故障,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列,该新的子RAID5阵列包含n-m1块磁盘;其中,n-m1>=3;或者,用于若包含n块磁盘的RAID5阵列新增m2块磁盘,则对该RAID5阵列中回收并进行覆盖写的条带构建新的子RAID5阵列;该新的子RAID5阵列包含n+m2块磁盘;
数据写入模块,用于将待存储的视频监控数据写入每一个新的包含n-m1块磁盘或者包含n+m2块磁盘的子RAID5阵列。
7.如权利要求6所述的装置,其特征在于,该装置还包括:magic字段填充模块,用于在超级块的magic字段中填充块文件所在条带包含的磁盘总数和该块文件所在磁盘在该条带中的位置;所述块文件存储在每个条带内的单个磁盘上,所述超级块位于块文件中。
8.如权利要求7所述的装置,其特征在于,该magic字段填充模块还用于,当所述包含n块磁盘的RAID5阵列新增m2块磁盘时,对新增的m2块磁盘的所有超级块的magic字段写入预设值,所述预设的值用来表示该m2块磁盘当前数据无效。
9.如权利要求6所述的装置,其特征在于,每个条带的大小为256M。
10.如权利要求7所述的装置,其特征在于,所述装置还包括RAID5阵列管理模块,该模块用于设备启动时,扫描RAID5阵列下的所有条带的magic值,并为每个条带建立一个控制块,该控制块包含每个条带磁盘数量、各磁盘在子RAID5中对应的磁盘位置及校验盘位置;当视频录像数据每次覆盖某个条带时,刷新该条带对应的控制块的信息;当需要访问某个条带数据时,从该条带对应的控制块中获取该条带的信息。
CN201510443600.XA 2015-07-24 2015-07-24 一种高可伸缩性raid阵列存储视频监控数据的方法和装置 Active CN105094704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510443600.XA CN105094704B (zh) 2015-07-24 2015-07-24 一种高可伸缩性raid阵列存储视频监控数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510443600.XA CN105094704B (zh) 2015-07-24 2015-07-24 一种高可伸缩性raid阵列存储视频监控数据的方法和装置

Publications (2)

Publication Number Publication Date
CN105094704A CN105094704A (zh) 2015-11-25
CN105094704B true CN105094704B (zh) 2019-01-15

Family

ID=54575264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510443600.XA Active CN105094704B (zh) 2015-07-24 2015-07-24 一种高可伸缩性raid阵列存储视频监控数据的方法和装置

Country Status (1)

Country Link
CN (1) CN105094704B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739436A (zh) * 2018-12-19 2019-05-10 河南创新科信息技术有限公司 Raid重构方法、存储介质和装置
CN112328182B (zh) * 2020-11-27 2022-04-22 长沙景嘉微电子股份有限公司 一种raid数据管理方法、装置和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191911A1 (en) * 2002-04-03 2003-10-09 Powerquest Corporation Using disassociated images for computer and storage resource management
CN101482802A (zh) * 2009-02-18 2009-07-15 杭州华三通信技术有限公司 独立磁盘冗余阵列5扩展方法及装置
CN101510145A (zh) * 2009-03-27 2009-08-19 杭州华三通信技术有限公司 一种存储系统管理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191911A1 (en) * 2002-04-03 2003-10-09 Powerquest Corporation Using disassociated images for computer and storage resource management
CN101482802A (zh) * 2009-02-18 2009-07-15 杭州华三通信技术有限公司 独立磁盘冗余阵列5扩展方法及装置
CN101510145A (zh) * 2009-03-27 2009-08-19 杭州华三通信技术有限公司 一种存储系统管理方法和装置

Also Published As

Publication number Publication date
CN105094704A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
US20200356440A1 (en) Failed Storage Device Rebuild Method
CN105404469B (zh) 一种视频数据的存储方法和系统
WO2012168960A1 (en) Semiconductor storage apparatus and method of controlling semiconductor storage apparatus
CN104866239B (zh) 一种高可用性的视频存储方法
US8566673B2 (en) Method for improving performance in RAID systems
US20150370670A1 (en) Method of channel content rebuild via raid in ultra high capacity ssd
US8139304B2 (en) Tape layout design for reliable ECC decoding
CN109726314B (zh) 基于位图的稀疏矩阵压缩存储方法
US10585600B2 (en) Data access method and apparatus
CN105094704B (zh) 一种高可伸缩性raid阵列存储视频监控数据的方法和装置
US20150089328A1 (en) Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller
CN110704337B (zh) 基于固态硬盘的映射表重建方法、装置和计算机设备
KR20140035082A (ko) 메모리 관리방법
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
US7133965B2 (en) Raid storage device
CN109740023A (zh) 基于双向位图的稀疏矩阵压缩存储方法
US20110071991A1 (en) Systems and methods for geometric data compression and encryption
US9389790B2 (en) Method and apparatus for determining redundant array of independent disks
US20190027186A1 (en) System and method for tape layout optimization
CN109753224B (zh) 存储结构及存储结构配置方法
CN102263946A (zh) 用于存储和获取像素数据的技术
CN104050975A (zh) 分段式读取-修改-写入操作
CN103970869A (zh) 一种大文件存储方法
KR102165087B1 (ko) Sat 방식이 적용된 차량용 블랙박스의 데이터 저장방법
CN111897495B (zh) 提高ssd写性能的实现方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant