你的位置:大电流电感 > 新闻动态

基于嵌入式视频存储的专用文件系统设计

2020-08-29 11:28:50      点击:
上一篇:基于CMSIS标准的 Cortex-M3应用软件开发

文件系统在使用前需要获取磁盘的容量和可使用扇区的大小,并定义一个最大文件数。由于文件信息和索http://www.szmzhg.com/贴片功率电感引信息需要占用一定的磁盘空间,并且与最大文件数密切相关,在实际使用时定义一个最小文件的大小,并通过磁盘容量得到一个固定的最大文件数,这样文件信息和索引信息所占用的磁盘空间在整个磁盘中只占很小的比例。

3 系统实现

3.1 数据的存储

数据的存储过程比较简单,创建文件的时候系统自动分配一个唯一的文件号,并通过文件号进行计算得到文件信息和索引信息对应的磁盘地址。当有足够一个数据块大小的数据时打包并保存到当前可以使用的数据块,同时更新文件信息和索引信息。

数据存储的流程如图3所示。可以看出,只要视频数据缓存到一个数据块的大小时就可以进行一次存盘。例如,数据块大小为64 KB,对应为512 kbps码率1 s的视频数据,也就是紧急断电等突发事故中实际丢失的视频数据最多是一个数据块的录像长度。由于突然断电导致文件信息和索引信息没有及时存储,可以在启动的时候通过扫描没有形成文件的数据块来进行恢复。即使在最坏的情况下,硬盘的磁盘信息、文件信息及索引信息等都丢失了,完全可以通过扫描所有的数据块来重建整个文件系统,这样极大提高了数据的安全性。由于数据块是顺序排列,每个数据块的读写几率几乎一致,不会因为频繁读写某一个硬盘扇区导致坏道或缩短硬盘使用寿命,也提高了系统和数据的可靠性。

3.2 数据的读取

数据的读取可以通过两种模式进行,一种是直接通过文件号来读取文件,另一种是通过输入时间检索定位指定的录像资料。这两种方式最终都是定位到指定的数据块实现数据的读取,只要定位了第一个数据块,就可以根据数据块的DataBlockInfo来实现前/后数据块的读取,还可以通过数据块的时间戳来实现高效的快进快退等操作。