• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 政法军事 > 正文

    基于数据库技术的数字视频监控系统数据集中存储

    时间:2021-04-08 07:54:00 来源:达达文档网 本文已影响 达达文档网手机站

    摘 要:针对数字视频监控系统中,实时音视频数据集中存储管理的重要性和复杂性,提出了利用数据库存储管理实时数据的思想,研究大规模数据在数据库中的实时存取管理技术,结合ADO技术,实现了基于数据库的实时音视频数据的集中存储。

    关键词:数据库;音视频数据;COM组件;ADO

    中图分类号:TP311.52 文献标识码:A 文章编号:1672-7800(2011)06-0160-02

    0 引言

    在数字视频监控系统中,实时音视频采集和存储管理是最基本也是最重要的工作。数字视频监控系统发展到今天,随着视频监控点的增多、图像清晰度的提高、画面尺寸的增加,视频文件数据量会呈几何式增长,而且后续还要和报警联动中心、应急指挥中心等其他业务的数据进行整合。存储系统在安全、先进、实用的原则下,必须考虑系统的后续扩展能力问题,实现音视频数据的集中存储已成为数字视频监控系统的必备功能。

    传统的音视频数据都以文件方式存储到硬盘,容易形成磁盘碎片,引起系统性能下降,严重的还会缩短硬盘寿命。另外,过多的磁盘碎片还有可能导致存储文件的丢失,影响到监控系统的可靠运行。SQL Server 2005的发布为我们实现音视频数据直接存储到数据库提供了可能,利用数据库安全、快速、易维护的特性可靠地实现了音视频数据的集中存储管理。

    1 基于数据库的音视频数据存取方法

    在数据库中存储海量的音视频数据必须用到MS SQL2005提供的大值数据类型varchar(max),该类型可存储超过8KB(最高2GB)可变长度的二进制数据,这么大的空间可存储超过一小时D1格式的音视频复合流数据。实际应用中为了保证数据的安全性和快速检索回放,字段存储数据长度一般控制在500M以内,也就是10到20分钟一条记录。

    SQL早期版本(SQL2005以前)对长二进制字段地读写,一般通过ADO提供的GETCHUNK()和APPENDCHUNK()函数来实现,由于重复调用APPENDCHUNK()函数会覆盖字段,而调用GETCHUNK()函数要先读取字段中原有数据,并不能满足实时音视频数据存取实时性和高效性的要求。

    多通道实时音视频数据的数据库存取,要求同时进行几百、上千条纪录的读写操作,每一记录都会连续多次对同一长二进制字段\[FileData\]进行读写。使用多线程技术可以实现对该字段的多次互不干扰分段写入和读取功能,关键代码如下所示:

    2 音视频数据集中存储的实现

    通过音视频数据集中存储管理,有效地解决了数字监控系统中数字录像机音视频数据的存储安全问题。音视频数据集中存储就是对分散在各地网点的数字录像机数据,在录像机本地存储的同时,通过网络将数据实时传输到中心存储阵列中,实现录像数据的在线实时存储备份。

    数字监控系统中音视频数据集中存储有以下要求:①满足高速度、大流量、大容量存储:随着视频监控点增多和视频画质要求的提高,视频数据流量成倍增长,通常cif格式的视频数据流每通道在150kbps到300kbps之间,而D1格式的视频数据流是cif格式的4倍,高清摄像机的数据流每通道可以达到4到8mbps。在网络条件满足的情况下实现数据集中存储,就必须保证存储系统高效性和实时性。同时,由于数据集中存储要求同时存储上百通道音视频数据,存储时间超过3个月,就要求中心数据存储系统具备大容量的存储矩阵(20TB以上);②满足数据完整保存:数字监控系统中的音视频数据主要用于事件回放,案情调查以及后期的数据分析,如果数据不完整就会造成整个监控系统的可靠性失去保障,因此数据集中存储的数据安全尤为重要。

    为满足以上要求,本系统采用C/S、双服务器架构。

    2.1 数据存储的实时性保证

    为满足数据存储实时性要求,我们设计系统硬件采用INTEL架构服务器,双核或四核CPU,单台服务器可以同时处理64路以上D1实时图像数据,通过集群技术,可以采用多服务器组成大型存储系统。软件环境采用微软平台,操作系统采用WINDOWS2003/SERVER、数据库采用SQL2005/Server。

    传统方式以文件方式存储实时音视频数据,长时间运行后,系统进行自动删除覆盖会形成越来越多的磁盘碎片,严重影响磁盘访问速度,使得大规模数据的实时存储得不到保障。而是用数据库进行存储,一方面,实时数据都以记录的方式存放在数据库中,应用程序只需对数据记录进行存取、删除等操作,避免了磁盘碎片的产生;另一方面,在硬件条件满足的情况下通过有效的数据库设计完全能够实现数据记录的高速实时读写。

    2.2 数据访问的高效性实现

    以文件方式存储实时音视频数据,当文件个数到一定量(超过10万)以后检索访问速度会大幅度减慢,文件越多定位查找就越费时间;同时由于自动删除覆盖形成的文件碎片也会影响磁盘访问速度。而使用SQL2005数据库直接存储实时音视频数据,数据的删除、覆盖和整理完全由数据库自身完成,不会产生磁盘碎片,影响访问速度。另外,SQL2005 高性能的全文检索功能可以比SQL2000查询速度提高30%到50%,经测试100万条记录检索时长不超过10S,完全能够满足用户高速查询、访问数据的要求。

    2.3 数据存取的安全性实施

    为了支持大容量的数据存储安全,系统采用RAID(磁盘冗余阵列)作为存储体,磁盘阵列的运用,除了性能上大幅度提高数据的吞吐能力外,还提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。 为了,另外,系统还使用双服务器,双机热备功能,进一步提高系统性能和数据安全。

    使用磁盘文件方式备份音视频数据,必须通过应用程序实现,增加了系统开发的难度。而SQL2005为用户提供的数据复制功能是将数据或数据库对象从一个数据库复制和分发到另外一个数据库,并进行数据同步,从而使源数据库和目标数据库保持一致。这一功能的有效使用,可靠的实现了数字视频监控系统中音视频数据的自动备份,进一步提高了系统为数据安全性。

    3 结束语

    数字视频监控系统中通过数据库进行视频数据集中存储管理,有效地实现了数据保存的安全性、高可靠性。基于数据库的数据存储管理易于查询检索,为后期数据动态检索、影像分析提供了可靠的保证。

    参考文献:

    \[1\] \[美\]布启敏,舒利文.SQL Server 2005开发者指南\[M\].何玉洁,顾小波,译.北京:清华大学出版社 2007.

    \[2\] 周奇.SQL Server 2005 数据库基础及应用技术教程与实训\[M\].北京:北京大学出版社,2007.

    \[3\] 解璞,苏群星,郭利.利用ADO技术实现对数据库的操纵\[J\].计算机工程与设计,2003(3).

    \[4\] DAVID J.KRUGLINSKI,SCOT WINGO,GEORGE SHEPHERD.Programming Visual C\+\{++\} 6.0技术内幕第五版\[M\].北京:希望电子出版社,2002.

    (责任编辑:王钊)

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网