内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体






DVR文件系统及硬盘发展趋势

时间:2006-04-26 来源:浙江大华安防产品部 作者:陈晓亮 点击:

    嵌入式DVR与PC机一样,都存在硬盘文件系统。嵌入式DVR硬盘文件系统可分为两类,一是与PC机相同的FAT文件系统,第二种是嵌入式DVR生产厂家自行开发的,适合存储大容量媒体数据流的专业文件系统。

通用文件系统的不足之处
    目前市场上,PC-basedDVR一般基于Windows系统,文件系统一般采用NTFS或FAT32;而嵌入式DVR所采用的文件系统则与厂商选择的嵌入式操作系统有密切的关系。目前嵌入式DVR中所采用的嵌入式操作系统有RTOS、pSOS、嵌入式Linux、vxWorks等,而采用的文件系统则有较多种类,如MS-DOS兼容文件系统、UNIX兼容文件系统、Windows兼容文件系统等。

    PC系统使用的FAT文件系统,对于长时间录像产生的大数据包(几G到数十G的数据)无法管理,只能进行分包,将一段完整的录像,分为若干个小的文件包,如5、10、30分钟自动形成一个文件,或者150M、200M作为一个文件。因此容易产生包与包之间丢帧现象,同时硬盘磁头需要频繁地读写数据与文件索引,磁头频繁跳动,对于每天十几到二十四小时连续读写硬盘的DVR系统,极容易造成硬盘故障。同时硬盘录满后,需要删除整段文件,但新录制的文件与老的文件大小不同,由此会在硬盘上产生大量碎片空间,影响硬盘的使用和系统效率。另外,FAT文件系统用做录像机录像资料管理还存在两个风险,一是文件分配表如果损坏,则录像资料大多会丢失,二是系统突然断电或遭到人为破坏,当前的录像数据不能够保存。

    针对FAT文件系统在媒体数据流存储领域中的不足之处,专业公司开发了适合媒体数据流存储方式的硬盘管理文件系统,该系统可以高效率地管理整个硬盘,不受录像数据包大小影响,录像机从开始到结束为一个录像机段,录像机段长度可从几秒钟到几十小时,数据可从几K到几十T。采用这种硬盘管理方式,克服了FAT系统对长时间录像管理存在的缺陷。由于不存在分包录像,因此也不存在包与包之间丢帧现象;磁头不需要频繁读写数据与文件索引,延长硬盘使用寿命;硬盘录满后,采用逐帧覆盖技术,不存在硬盘碎片。可以将硬盘形象地比做一盘录像机带,硬盘任何地方的错误,不会影响前面或后面的录像。在突然断电的情况下,也能保存断电前瞬间的图像;同时,原始录像资料盘数据与PC不兼容,无法在PC上直接修改,保证原始资料的保密性和可靠性。

    但由于开发难度和资金投入的限制,多数嵌入式DVR生产企业仍然会采用FAT文件存储方式对硬盘录像机进行数据管理。从嵌入式DVR硬盘文件系统的发展方向看,长时间稳定录像采用这种方式可以大幅度提高硬盘录像机的可靠性,但需要专业公司具备开发硬盘操作系统的能力与经验,目前国内只有少数几个厂家拥有该项技术。

专业文件系统
储存结构
    为了提高灵活性,系统将硬盘进行分区。一个硬盘最多划分为两个区(又称为驱动器)。系统预留了一分区扇区,保存在该扇区的分区信息结构包括着硬盘的操作状态、校验标记等一些重要信息,同时还包含两个分区的硬盘参数表(即DPT)。DPT又包含每个分区的储存特征、总的簇数等信息。硬盘分区:
分区扇区
分区信息结构(含两个硬盘参数表):扇区号,硬盘信息
第一分区
.驱动器参数结构
.目录区
.索引区
.数据区
第二分区
.驱动器参数结构
.目录区
.索引区
.数据区

    驱动器参数结构是文件系统访问驱动器的依据,它包含驱动器的操作状态、储存特征、链表指针、校验标记等信息。硬盘排列时,根据驱动器的操作状态(特别是录像起止时间),驱动器形成双向链表,链表指针被填充。硬盘格式化时,根据硬盘容量和分区个数生成DPT,再用DPT来初始化每个分区的驱动器参数结构,并保存到对应扇区。硬盘初始化时,根据DPT中的驱动器参数结构扇区偏移直接得到驱动器参数结构。

    对于大数据量的流媒体应用,系统采用单位比较大的簇来管理数据,这样可以提高效率,而数据碎片的影响可以忽略不计。每簇与目录区和索引区中的目录结构、索引结构物理上一一对应。写数据时,目录结构、索引结构、簇在物理上都是顺序申请的,按照申请的时间先后次序,各个通道混合存放。

    其中簇标志用于标识文件的起始和结束,数据标志和数据属性用于文件的查找和定位,关联属性将特定通道的簇链接起来,主要用于文件的连续读取。

簇标志
    该簇为空闲簇或所在文件的首簇、扩展首簇、非首簇的标志。

数据标志
    该簇录像数据的通道号、音视频标志、报警标志。

数据属性
    该簇录像数据的起止时间、长度、图像质量。

关联属性
    该簇为文件的第几簇,以及该簇在所在文件的首簇号、下项簇号、上项簇号。

保留
    索引结构包含簇内数据的通道号、音视频标志、报警标志。由于索引结构占用空间小,实际上使用索引结构代替目录结构中的数据标志来实现文件的查找,可以提高效率。

缓冲管理
    由于对索引区及目录区的读写操作比较频繁,存在空间、时间局部性,如果每次读写直接对底层接口进行调用,比较浪费资源,而从系统中开一缓冲数组进行管理,从而减少真正的读写次数。而对数据区的读写不存在上述特性,所以对数据区的读写可以直接调用底层接口函数。

    为了提高缓冲的命中率,缓冲开设大小应该大于64个扇区单元,如果系统内存资源不存在问题,则加大开设的缓冲数。在大的缓冲数开设情况下,系统存在缓冲查找的时间开销,为减小这部分开销,在定位缓冲时采用hash查找。Hash表的长度定为缓冲数的2倍以上。由于访问上顺序特性,hash函数可以直接从LBA的低位生成。

    在突然断电的情况下,为了能够恢复数据,对目录区必须进行随时保存,所以缓冲在任意情况下都能进行同步,同步方式有单缓冲、单驱动器、所有缓冲。

电源管理
    硬盘正常运行的功耗都比较大,一般都带电源管理功能,它基本上分为三种工作状态,分别为寻道、空闲、待命。空闲状态硬盘的电机还是运转的,待命状态时硬盘的电机是停转的,但它接受命令的输入。
(中国集群通信网 | 责任编辑:陈晓亮)

中国集群通信网,国内首家集群通信专业网站。

Copyright © PttCn.Net, All Rights Reserved.   

联系我们 联系我们 中国集群通信网 对讲机学堂 对讲机世界