ROFS系统介绍.doc_第1页
ROFS系统介绍.doc_第2页
ROFS系统介绍.doc_第3页
ROFS系统介绍.doc_第4页
ROFS系统介绍.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ROFS(Ring Objects File System)文件系统介绍ROFS文件系统是一套专门针对海量视频录像系统设计的高效健壮的专用文件系统。传统上的视频录像技术大都采用在普通文件系统上用视频录像文件的方式来进行录像应用,因为普通文件系统固有的特点,导致在做视频存储应用时导致很多问题:l 普通文件系统以簇为单位分配磁盘空间,为了空间利用率,簇的字节数一般都很小,文件反复读写/创建/删除导致簇不断被分配和释放,时间稍微一长就会产生磁盘碎片,导致磁盘读写性能急剧下降,严重时甚至会损坏磁盘。l 普通文件系统采用元数据来保证数据的一致性,鲁棒性不强,一旦元数据损害,即使数据部分没有损害,也无法还原。而超过100路的并发录像,若使用普通文件系统,元数据损坏的机率极大。l 由于文件系统的限制,文件不能太大,也不能太小,一般采用几分钟一个文件进行录像,难以实现检索几秒以前的录像数据,很难支持对正在录像的文件的检索回放。l 扫描磁盘文件、清理旧录像、检索等操作效率低下,且格式化非常缓慢。针对使用普通文件系统的传统上视频录像技术的诸多问题,东方网力公司专门针对海量视频录像应用,开发了ROFS文件系统,有效的解决了上述普通文件系统无法/很难解决的问题。ROFS文件系统采用完全具有自主知识产权的专有文件格式(已获国家专利)设计,可有效避免磁盘碎片的产生,写数据和清理旧数据时几乎没有磁盘块的分配/释放动作,最大限度的提高了硬盘的读写数据性能,写录像数据的速度比传统录像方式要快很多,磁盘寿命也得到了最大限度的保护(最大限度的减少了磁头移动频率)。使用ROFS录像系统,磁盘可以长时间大压力读写而不会有任何磁盘碎片产生,性能也几乎不会有任何下降。ROFS文件系统不但拥有最高的磁盘读写性能,而且还有有极高的鲁棒性。系统采用大数据块方式读写磁盘,但以视频帧为单位进行提交,视频帧是一个最小可修复的单位,任何一个视频帧损坏不会影响其它视频帧,所以即使在没有任何RAID防护的情况下的硬盘物理损坏也只会损失非常短的一小段录像,如果是软损坏(程序错误导致的损坏)则甚至只会仅仅损失一帧或数帧(=0),内容未定义+-+2、存储数据信息主要字段:+-+| | updateNum1 | INT64,更新流水号1,每次写动作唯一| |+-+| |timeSegBeginIndex| INT64,时间段区第一个项的环形队列下标号| |+-+| | timeSegCount | INT64,时间段区索引项数| |+-+| |packageIndexBeginIndex| INT64,Package索引区第一项环形队列下标号| |+-+| |packageBeginSeriNum| INT64,第一个Package的序列号| |+-+| | packageCount | INT64,总Package数量| |+-+| |packageBeginPos| INT64,Package数据的开始位置| |+-+|maxPackageStatisticalBytes| UINT32,最大的Package大小(统计值)+-+| fstDeletedCount| UINT32,第一个时间段被删掉的Package数+-+| |fstDeletedBytes| INT64,第一个时间段被删掉的Package的字节数| |+-+|fstDeletedMSELs| UINT32,第一个时间段被删掉的Package的时间长度+-+| reserve | UINT32,填0保留+-+| | updateNum2 | INT64,更新流水号2,与更新流水号1一致| |+-+| | sumCRC | INT64,存储数据信息校验和(前面所有INT64之和)| |+-+/ . / x个对齐字节(=0),内容未定义+-+3、数据片信息(SliceInfo)结构字段:+-+| sliceFlag | UINT32, Slice的类型标志+-+| timeLen | UINT32,Slice的时间长度+-+| | beginTime | INT64,Slice的开始时间| |+-+4、Package结构字段:+-+| magicUINT32 | UINT32,32位Package魔数(用于数据的灾难恢复)+-+/ . / 第一个Slice(一定是KeySlice)的数据+-+/ . / 其它Slice数据+-+/ sliceInfo / SliceInfo,第一个Slice的相关信息+-+/ . / SliceInfo,其它Slice的相关信息+-+| | seriNum | INT64,Package的序列号(用于数据的灾难恢复)| |+-+| | beginTime | INT64,Package的开始时间| |+-+| timeLen | UINT32,Package的时间长度,毫秒(ms)+-+| sliceCount | UINT16,Package的slice数量+-+| chanID | UINT16,Package的通道类型ID(用于数据的灾难恢复)+-+/ sumCRC / UINT32,Package的求和校验数(用于数据的灾难恢复)+-+ 对于Read()读取出来的数据,不保证校验正确5、数据包索引项字段:+-+| | offset | INT64,偏移地址(相对于数据区起始位置)| |+-+| | beginTime | INT64,Package开始时间| |+-+| timeLen | UINT32,Package时间长度(毫秒)+-+| bytesLen | UINT32,Package字节长度+-+| sliceCount | UINT16,Package的slice数量+-+| chanID | UINT16,Package的通道类型ID(用于数据的灾难恢复)+-+| reserve | UINT32,填0保留+-+6、时间段信息(Segment)字段:+-+| | index | INT64,第一个Package在Package索引区里的下标号| |+-+| | totalBytes | INT64,本时间段所有Package的总长度| |+-+| | beginTime | INT64,本段开始时间| |+-+| count | UINT32,本时间段的Package数量+-+| timeLen | UINT32,本时间段时间长度(最长表示约42天)+-+写入数据片(Slice)简要流程图:配置界面格式化界面打开设备录像监视主界面录像明细监视界面修复界面/进度监视ROFS2.0特性设计(单机特性)1、磁盘故障(坏扇区等)报警、标记、容错。2、超级块信息多重冗余保护。3、设备热插拔。4、可变长分区(分配单元为大磁盘块)。5、配额管理。6、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论