1.概述
随着城市化进程的推进,作为一种重要的安防系统,网络视频监控系统以其直观、实时和信息量大等特点,广泛应用于交通、金融和电力等众多领域。为保证系统的实时性和可靠性,对海量视频数据进行高效、可靠存储和实时、有效的访问成为系统开发的一个重要方面。目前视频监控系统的录像存储通常具有以下特性:(1)编码格式固定:采用H.264/AVC(Advanced Video Coding)标准对图像数据进行实时编码,获得稳定、优质的视频数据流;(2)录像数据集中存储:通过互联网小型计算机接口(Internet SmallComputer System Interface, ISCSI)协议对视频数据帧进行封装并传输至存储区域网络(Storage Area Network, SAN)进行集中文件方式存储,保证数据存储的可靠性。由于传统文件系统(NTFS, EXT3 等)采用基于多级指针的数据存储模式,在存储视频数据时具有I/O 操作量大和易产生磁盘“碎片”等问题,从而导致录像存储效率低和检索性能差,成为系统性能及规模提升的瓶颈。本文针对传统文件系统存储方案的缺陷,并根据网络视频监控系统的录像存储特性,提出一种专用于网络视频监控系统的基于裸磁盘设备的存储方案。
2.基于裸磁盘设备的存储方案设计
本文基于裸磁盘设备设计了一种专用于视频监控系统的存储方案,方案总体设计结构如图1 所示。本文方案主要由磁盘逻辑存储结构、基于B+树的录像段索引信息管理和基于GOP 的数据缓存机制3 个部分组成。方案在将磁盘从逻辑上分为索引区与数据区的基础上,基于GOP 设计了视频数据缓存(Video Data Buffer, VDB)和索引数据缓存(Index Data Buffer, IDB),在录像存储时,将视频数据及其索引信息先保存在VDB 和IDB 中,当缓存区被写满时,以GOP 为单位,采用先数据、后索引的机制将缓存中的数据一次性写入磁盘,同时对B+树中相应的录像段信息节点进行更新。由于在网络视频监控系统中采用网络磁盘进行数据存储,因此该方案可有效地减少网络传输与磁盘I/O 的数量,从而提高录像存储效率。
图1 方案总体设计结构
方案采用B+树对录像信息进行组织管理,因此录像段信息更新和录像检索过程即B+树的深度搜索过程。该过程的检索代价为树深度L,明显优于文件系统中文件遍历的代价。因此,较之传统的文件系统方案,本文方案有效提升了录像检索性能。
3.方案实现方法
3.1 磁盘逻辑存储结构
本文方案根据视频监控系统的数据存储特点,摒弃了文件的概念,设计了一种磁盘逻辑存储结构,所有数据均以此结构为基础按格式进行组织并直接存储于裸磁盘设备中,该结构如图2 所示。
图2 磁盘逻辑存储结构
磁盘从逻辑上分为超级块、主索引区和数据区3 个部分。其存储内容具体如下:
(1)超级块:记录了系统的全局存储管理信息,包括创建时间、数据块大小、主索引树的根节点位置和分段时长等,在磁盘格式化时写入。
(2)主索引区:由一组索引节点组成,所有节点按B+树结构进行组织。树节点由若干个主索引信息组成,每个主索引代表一个录像段。主索引中记录了录像段的码流类型、起始GOP 存储位置、GOP 数量、录像段开始时间和结束时间等信息,其结构如图3所示。
图3 主索引结构
(3)数据区:等分为若干个大小为64 MB 的数据块,末尾不足一个数据块的部分保留不用。每个数据块由4×1024 个16 KB 大小的数据单元(block)组成,分为次索引区和数据单元区。为了减少数据存储过程中磁头移动的距离、提高存储效率,方案将所有次索引均匀分布在各个数据块中,分别占用4个block,用于记录本数据块组中GOP 的存储信息。每个次索引对应一个GOP,记录了GOP 的数据类型、编码格式、GOP 数据在磁盘中的起始block 编号、block 数量和GOP 时间戳等信息,其结构如图4所示。
图4 次索引结构
上述磁盘逻辑存储结构为本文存储方案的基础,方案设计了索引与数据分离、分级录像索引及数据结构化存储等方法,保证了录像存储的高效性与精确性,为存储效率和检索性能的提高打下基础。基于本文存储结构,录像的存储与回放流程描述如下。
录像存储流程如下:
Step1 将视频数据以GOP 为单位按block 对齐写入数据区;
Step2 写入GOP 对应的次索引;
Step3 更新对应录像段的主索引;
Step4 更新超级块信息。
录像回放流程如下:
Step1 检索索引B+树获取录像段的主索引;
Step2 通过主索引定位出录像段的次索引区间;
Step3 根据次索引找出录像段的视频数据存储block区间;
Step4 以GOP 为单位读出录像段视频数据。
3.2 基于B+树的录像段索引信息管理
为提升系统在海量存储中的录像检索性能,本文方案采用B+树对录像段索引信息进行组织管理。B+树是B树的一种变体,一棵深度为L 的m 阶B+树的最大关键字数量为mL,树中的每个内部节点最多可包含m 棵子树,子树数量与关键字数量相等,节点搜索时间复杂度为O(L)。每个关键字对应一个指向孩子节点的指针,叶节点包含了树中全部关键字信息。
本文方案中的B+树用于组织所有主索引信息,其根节点位置记录在超级块中,并以录像段的开始时间作为索引键值,所有主索引信息均可从叶子节点中获取,以提供录像的快速检索。图5为B+树及其节点结构。
图5 B+树及其节点结构
树中的每个节点由4个部分组成,其中,keyNum记录了节点中的实际主索引数量,最大取值为25;main_index和children_pointer 分别保存了主索引信息及其对应的孩子节点指针; reserved 为保留字段, 使节点在空间上按1024 Byte 对齐,以提高磁盘I/O 的效率。
在检索开始时,先从超级块中获取B+树的根节点位置,通过遍历关键字找出一条从根节点到叶节点的符合检索时间条件的检索路径,得到相应的录像段。假设B+树中保存的主索引总数为N,阶为m,树的深度为L,从磁盘中读取一个内部节点的代价为Cr,在内存中遍历一个内部节点中的所有主索引信息的代价为Dr,则一次录像检索的代价Q=L×(Cr+Dr),其中,Cr 与Dr 均可近似为常量且Dr<<Cr;而在文件系统中,录像检索时需要进行录像文件遍历,其一次录像检索代价Q’=N×Rr,其中,Rr 为从磁盘中读取一个录像文件头部的代价,与Cr 近似相等。由B+树的性质可知L≈logmN,因此相比于文件系统,本文方案明显提升了录像检索性能。
此外,本文方案通过主索引定位至次索引实现视频数据的秒级检索,检索代价为常量时间复杂度O(1),而文件系统则需要读取录像文件并遍历录像文件的内容,需进行多次磁盘I/O,其带来的检索代价呈线性增长。因此,本文方案在录像检索性能上相对于文件系统的录像存储方案具有明显提高。
3.3 基于GOP 的数据缓存机制
基于GOP 的数据缓存分为VDB 和IDB 2 个部分,其中,VDB 用于缓存视频数据,IDB 用于缓存视频GOP 对应的索引信息。VDB 以GOP 为单位进行组建,组建完成后一次性写入磁盘。在H.264 标准中,一个GOP 由一个I 帧与若干P 帧组成,为保证GOP 中各帧的完整性和相邻帧之间的独立性,本机制在每帧前后各添加一个2 Byte 大小的魔数,分别称为MAGIC_HEAD 和MAGIC_TAIL,在达到数据校验效果的同时,也为单独提取视频帧提供了实现方法。图6为VDB 缓存的组建格式。
图6 VDB缓存组建格式
如图6所示,VDB 缓存由帧头部(Head)、帧数据(Frame)和魔数(MH 和MT)3 个部分组成。基于本文方案中的磁盘逻辑存储结构,数据组织的最小单位为block,因此,在内存中组建的VDB 缓存大小为block 大小的整数倍,其计算方法如下所示:
其中,BR 为视频码率;ML 为魔数长度;HS 为视频帧帧头部大小;FR 为帧率;BS 为磁盘结构中数据单元的大小。除BR 单位为bit/s 之外,其余参数的单位均为Byte。
基于GOP 的缓存机制在保证视频存储可靠性的基础上,可有效地减少网络传输与磁盘I/O 的数量,获得存储效率的提高。同时,在该机制中还维护了一个由n 个次索引组成的IDB 缓存与VDB 缓存相对应,并采用先数据、后索引,先次索引、后主索引的写入策略进行录像存储。基于该写入策略,本文方案设计了一种录像重建机制。当系统出现异常时,如编码器异常断电或网络中断等,该重建机制可在异常恢复后,根据录像数据重建次索引、根据次索引重建主索引,最大限度地减少录像丢失,消除数据缓存所带来的数据与索引的非一致性问题,提升系统的容错性。
4.测试与结果分析
为验证方案的有效性,本文以实际网络视频监控系统作为测试平台,对录像存储效率和录像检索性能进行测试。图7 为网络视频监控系统的总体架构。
图7 网络视频监控系统总体架构
系统由IP 摄像机、事务管理中心、视频点播服务器和存储服务器等设备组成,所有设备通过一个H3C 5500 千兆以太网交换机互联。各个设备的配置信息与功能如表1所示。
表1 网络视频监控系统的设备配置与功能
测试时通过事务管理中心在IPSAN 上创建一个10 GB的逻辑卷,并通过ISCSI 映射给IP摄像机和视频点播服务器,后者可通过ISCSI 协议登录至IPSAN 并将该逻辑卷驱动成本地SCSI 硬盘。录像的读写与检索均基于此硬盘完成。
(1)存储效率测试与分析
本文选取512 Kb/s、1 Mb/s、2 Mb/s、4 Mb/s 和8 Mb/s等5 种视频码率按Write-Through 写入方式分别对传统的文件系统(选用EXT3)与本文方案进行存储效率测试,通过记录连续写入1GB 视频数据的耗时计算平均存储带宽,得出录像存储效率对比曲线如图8所示。
图8 录像存储效率对比曲线
在网络视频监控系统中,数据网络传输与磁盘读写I/O是限制录像存储效率的最主要因素。相比于文件系统,本文方案中录像存储均基于裸磁盘设备,且以GOP 为单位进行数据缓存,可有效减少数据网络传输与磁盘I/O 的次数,且在等数据量下,码率越小,减少次数越多,存储效率提升幅度越大。目前视频监控系统在实际使用中,为节省存储资源节约成本,通常采用512 Kb/s 或1 Mb/s 的低码率进行录像存储,通过分析图8 中的曲线可知,在此2 种码率下的存储效率相比于文件系统分别提升了43.6%和30.3%,提升效果极为明显。
(2)检索性能测试与分析
选取码率为1 Mb/s 的视频分别以本文方案和文件系统进行连续录像720h后,从中随机选取100个时间点(精确到秒)对2 种方案的录像进行秒级录像检索(即GOP 检索),根据每次检索耗时得出检索性能对比曲线,如图9 所示。从图9中的曲线可以看出,本文方案的录像检索耗时保持在25 ms~35 ms之间,近似于常量值;而基于文件系统方案的录像检索耗时随着GOP在录像段中的位置增大呈线性增
长。因此,本文方案相对于文件系统明显提高了录像检索性能。
图9 录像检索性能对比曲线
5.结束语
本文针对文件系统的录像存储方案的缺陷,结合网络视频监控系统的录像存储特点,提出了一种基于裸磁盘设备的录像存储方案。设计一种索引与数据分离、分级录像索引及数据存储结构化的磁盘逻辑存储结构,其中采用B+树管理录像段索引信息,并基于此结构给出了一种基于GOP 的数据缓存机制。在实际系统环境中的测试结果表明,在监控系统的512 Kb/s 和1 Mb/s 典型存储码率下,本文方案相比于文件系统的录像存储效率分别提升了43.6%和30.3%;而在录像检索性能上,本文方案具有常量时间复杂度,检索耗时保持在25 ms~35 ms 之间,相比于文件系统的线性时间复杂度具有良好的优化效果。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:一种网络视频监控系统的专用存储方案