视频监控信息交换台平台项目技术研究报告.docx
《视频监控信息交换台平台项目技术研究报告.docx》由会员分享,可在线阅读,更多相关《视频监控信息交换台平台项目技术研究报告.docx(74页珍藏版)》请在冰豆网上搜索。
视频监控信息交换台平台项目技术研究报告
《城市视频监控综合系统监测和信息交换平台》
项目技术研究报告
XXXXX软件技术有限公司
2014年12月
目录
1项目研究内容3
1.1研究方法3
1.2技术路线3
1.3技术方案4
2关键技术7
2.1项目关键技术7
2.2特色和创新点10
3系统总体特性11
3.1系统的总体性能指标11
3.2系统的交互性12
3.3系统的扩展性12
3.4系统的安全性12
3.5系统的容灾性12
4系统整体设计思路13
5项目整体实现说明15
5.1系统的可扩展性15
5.2软件的易用性和实用性15
5.3软件系统的可维护性16
5.4软件系统的稳定性16
5.5系统安全性16
5.6系统的可移植性17
5.8系统的文档说明17
6关键子系统的设计与实现17
6.1视频应用子系统17
6.2系统监控服务子系统32
6.3数字矩阵子系统43
6.4视频转发子系统54
7项目设计思路的先进点66
7.1动态多级架构的资源管理66
7.2视频数据的多级转发质量保证71
7.3分布式视频数据管理75
8国内外同类技术产品的对比分析77
9存在问题78
1项目研究内容
当前,视频监控应用从局域监控发展到全域监控,而城市视频联网监控是全域视频监控的典型应用之一。
城市视频监控所管理的摄像头数量、存储的视频图像信息量都非常巨大,所涉及的视频信号采集设备、视频信号编码设备、存储设别、网络传输设备、控制设备及应用服务器设备等无论从种类还是数量上都是非常多,各种应用的数据传输和交换协议、控制指令、流媒体编码格式等都不尽相同。
而城市视频监控又往往需要系统能实现对海量视频信息的统一管理和应用,实现信息共享和互联互控,同时基于城市视频监控的系统规模大,复杂性高等特点,用户往往非常关注系统运行的可靠性、稳定性和可维护性指标。
这些都对整个视频监控系统的信息交换、控制能力以及对整个系统的监控检测能力提出了很高的要求。
为了保证城市视频监控系统对视频图像信息和各种控制管理数据的高效传输和控制,保证视频图像的实时性和高画质以及整个系统的高可靠和稳定性要求,必须建设一个统一信息交换和控制系统,该系统包含了高效的视频交换和控制网关、先进的数字视频矩阵、存储服务器、系统监控服务器和客户管理终端等,能满足城市视频监控对系统中大量异构系统的各种非标准信息的统一信息转换和控制要求,同时能实现对系统中各种设备状态、图像质量、后台软件服务运行状况的统一在线检测和监控,保证系统长期运行的可靠性要求。
1.1研究方法
借鉴国内外同类项目建设经验和先进研究成果,结合具体国情,研究建设具有特色的信息交换平台。
1.2技术路线
信息交换平台基于Microsoft的Windows操作系统或类UNIX操作系统,由于其复杂性,不同的子系统和逻辑分层采用不同的开发技术,中间由兼容各种技术路线和平台的通用通讯协议进行相互连接和通讯,具体的技术开发路线如下详述:
1,平台采用C/S的结构,N-层结构,用户界面与业务逻辑分离,易于平台的部署和扩展。
2,平台对外部硬件支撑环境的访问采用C++技术开发,使用厂商提供的SDK开发包或其支持的通用视频流协议(RTP/RTCP/RTSP)。
3,平台的流媒体服务由于其运行高效性要求,采用C++技术开发,主要有流媒体分发,流媒体存储检索,视频控制,视频编解码,视频智能识别等。
4,平台的数据管理采用了MicrosoftSQLServer/MySQL数据库,和目录服务数据库,对平台内的静态资源数据,使用了目录服务数据库进行存储,如资源数据、用户认证数据等;对于动态数据,使用MicrosoftSQLServer/MySQL数据库进行存储,对MicrosoftSQLServer/MySQL数据库的访问采用统一的ADO.NET/Hibernate,对目录服务数据库的访问采用统一的LDAP协议,对于视频流数据的存储,平台采用IPSAN/NAS存储服务器进行海量流数据的存储,针对流数据连续、海量的特征采用块存储的方式进行存储,同时使用关系数据库来存储流数据的索引,提高流数据的检索效率。
5,平台的应用服务基于.NETFramework2.0/J2EE技术,采用两大跨平台开发技术.NET/Java开发技术,对外发布统一的WebService接口;其中时钟同步采用NTP协议,对视频设备的操作使用SIP协议与平台的流媒体服务进行交互。
6,平台的用户接口基于.NETFramework2.0技术,采用了C#/C++开发技术,通过统一的WebService通讯协议与平台应用服务通讯,视频流数据播放和控制采用RTP/RTCP/RTSP技术。
7,平台对外部业务系统的接口服务采用SIP、RTP/RTCP/RTSP、TCP/UDPSocket、WebService通讯协议,其中与外部业务系统的业务数据通讯采用SIP和WebService通讯协议,视频数据传输和控制采用RTP/RTCP/RTSP和TCP/UDPSocket协议。
8,平台的用户认证采用高可靠和安全的CA认证技术。
9,平台中下载的视频录像,使用WindowsMediaDRM(数字版权保护)技术进行数字版权保护,只有拥有权限的用户才能播放录像。
1.3技术方案
根据系统的目标,系统共分为4大层,其中接入层(设备接入层、数据管理层)、业务支持层、应用层(标准接口服务层)为系统建设的重点。
如下图:
系统所涉及到的技术内容主要可以分为三个方面:
(1)城市视频监控系统中的信息的统一接入
在大中型城市的视频监控业务中,通常都建设了各种厂家和不同型号的前端设备,如:
视频摄像头、编码器、控制器、报警器、模拟矩阵等。
系统中的视频交换和控制网关模块主要负责各种信息的接入工作。
系统充分利用面向对象的中心概念,充分考虑库、代码重用,模块化系统内部各个功能,系统推出独创的异构硬件集成技术。
此技术主要为设备接入服务,可以无缝的接入各种类型的前端设备(数字设备和模拟设备)。
此技术分为四个部分:
设备流数据代理、设备控制代理、设备状态和配置代理和多缓冲处理。
通过此四部分可以实现对设备的视频流、音频流、控制流、信号流进行统一的接入。
同时,此技术采用插件式的设计,新增任何一种设备都可以通过插件注册的方式进行无缝的对接。
系统中,设备接入后,通过缓冲技术处理后,系统根据需要对所有的数据进行统一的管理(如交换处理、发送处理、集中存储处理等)。
在系统中,数据管理层所有的视频数据和控制数据同等对待。
同时又根据每种数据的特性,进行一些多态、继承的扩展,达到在根本上数据统一管理的目的。
(2)城市视频监控系统中的信息的统一交换
视频交换和控制网关、流媒体数字矩阵中,都涉及到各种各样的音视频流数据和控制数据,各种数据需要统一接入,统一封装、统一管理。
网关统一接入各种设备的信息后,首先进行数据的缓冲处理。
通过提供的各种业务接口,可以对数据进行如转发、转换、存储。
在接入各种设备时,考虑到国内的具体情况,系统通过调用厂家公开的接口和编写标准的网络协议(如SIP、RTP、RTSP、RS232、RS485)接口来实现对各种设备的接入。
由于前端设备大部分都是嵌入式设备,其性能和网络带宽有限,这就影响了其视频发布的效果。
通过网关的专用流媒体分发服务,单个服务可以支持多达256路的并发流传输、播放。
同时,加入独创的流媒体带宽自适应的滑窗技术和图像缓冲后处理技术,保证客户端传输和播放的效果。
同时对分发服务可以设置负载均衡和级联,架设多个服务可以满足上千、上万个用户对音视频的访问需求。
由于前端设备的存储能力有限及有部分设备并没有存储功能,网关还可以并发存储多路的音视频信息,通过专有的磁盘碎片保护机制和异常情况保护机制,保证存储的录像尽量不丢失。
在信息检索方面,建立基于数据索引和帧索引的双重高效机制,可以实现对历史视频的快速检索,在对历史视频回放和下载的同时,采用跟流媒体分发服务同样的网络技术,保证回放和下载的效果。
通过配置网关的相关参数,分发服务和存储服务都可以对各种不同格式的音视频流数据进行统一标准格式转换(例如:
MPEG4和G911),然后利用标准的流媒体传输协议进行传输,达到采用通用播放器如(QuickTime)就可以直接查看和点播视频的目的。
但是考虑到转换所需要占用的资源,网关同时并发转换的音视频路数不会很多。
同样,网关也可以对各种前端模拟设备进行信息的统一交换。
网关通过提供标准的接口,根据对应的具体设备信息(异构技术),将各种控制命令和数据转换成设备可识别的协议。
同时可以将设备的各式协议统一转换成标准的系统格式数据。
网关除了支持已定义和已公开的协议数据转换外,还提供接口支持各种控制数据的透明传递,方便扩展。
为了方便系统间的对接,系统提供如SIP协议、WebService、流媒体标准协议等标准接口,与其他系统和客户端进行信息的全面交换。
(3)城市视频监控系统中信息的统一控制及监控
流媒体数字矩阵通过集成RTSP、TCP、MULTICAST、UDP等流媒体传输协议进行音视频数据的传输。
通过集成各个厂家的播放库和自主编写标准编码格式的编码库和解码库进行解码和统一格式转换。
提供标准接口供客户和其他系统对视频切换的统一控制。
网关集成如RS232等协议,通过控制模拟视频控制设备,对云台的转动操作、预置点控制、视频切换进行统一控制。
视频交换和控制网关和流媒体数字矩阵在交换和控制的同时,通过如SNMP协议接口将关键状态数据和管理数据发送给系统监控服务。
系统监控服务提供标准的可视化配置界面和浏览界面,供用户对当前系统内所有的服务、设备、数据进行统一的监控和控制。
系统监控服务通过设备接入层接收各种设备的运行状态数据,通过如SNMP协议接收其他系统内的各种服务状态数据和其包括的服务器和PC机的状态数据。
通过独创的监控对象管理包,将各种设备、服务、用户等当作具体的一个对象来管理和配置,可以对管理包进行如设备的类型、后台软件服务的类型、报警的阀值、报警触发条件和动作进行配置。
扩展基础的管理包,可以对前端设备的图像质量进行检测。
从而达到整个系统内所有资源的监控管理和对报警信息的后处理,如产生监控报表(用户可自定义报表的内容和格式)和处理动作触发和跟踪等。
通过前面三项技术内容的架设,系统可对管理范围内的所有信息进行统一的交换和控制及监控,多方位满足客户的需要。
2关键技术
2.1项目关键技术
2.1.1异构集成技术原理
异构集成技术的基础原理就是充分利用面向对象的多态、继承、封装等核心思想,模块化各个设备接入的功能,高度重用成熟的代码块和类库。
采用高效、合理的类厂、适配器等设计模式,达到插件式的注册即可支持一种设备。
异构技术共分为四个大部分:
设备流数据代理(DSDA)、设备控制代理(DCA)、设备状态和配置代理(DMA)和多缓冲处理(DMBA),每个插件都必须根据实际需要实现此四个关键部分。
其中DSDA主要实现对设备的视频流数据、音频流数据、历史视频获取等的交换和控制。
DCA主要负责云台控制、信号输出等控制。
DMA主要负责设备状态的获取如报警输入和报警信息,同时可以通过此接口对设备的一些参数和配置进行更改和设置,如图像参数、设备重启等。
DMBA主要负责将从设备接收过来和从客户发送来的各种数据进行缓冲和预处理,然后与其他服务进行数据交互,达到系统内的数据交换和管理。
通过异构集成技术,利用插件注册的方法,可以达到让流媒体分发、存储服务、流媒体数字矩阵、系统监控服务、客户端无缝的直连或者间接控制和连接设备。
2.1.2流媒体存储加密技术
系统为主要采用DRM技术对存储的历史视频和用户通过客户端下载的视频进行高度的保护。
系统首先建立数字节目授权中心,存储编码压缩后的数字节目内容,利用密钥(Key)可以被加密保护(lock),加密的数字节目头部存放着KeyID和节目授权中心的URL。
用户在点播时,根据节目头部的KeyID和URL信息,就可以通过数字节目授权中心的验证授权后送出相关的密钥解密(unlock),节目方可播放。
需要保护的节目被加密,即使被用户下载保存,没有得到数字节目授权中心的验证授权也无法播放,从而严密地保护了节目的版权。
密钥一般有两把,一把公钥(publickey),一把私钥(privatekey)。
公钥用于加密节目内容本身,私钥用于解密节目,私钥还可以防止当节目头部有被改动或破坏的情况,利用密钥就可以判断出来,从而阻止节目被非法使用。
上述这种加密的方法,有一个明显的缺陷,就是当解密的密钥在发送给用户时,一旦被黑客获得密钥,即可方便解密节目,从而不能真正确保节目内容提供商的实际版权利益。
另一种更加安全的加密方法是使用三把密钥,即把密钥分成两把,一把存放在用户的Pc机上,另一把放在验证站(accessticket)。
要解密数字节目,必须同时具备这两把密钥,方能解开数字节目。
这样当解密密钥在发送给用户时,即使被窃取,也仍然无法解开加密的内容。
2.1.3系统安全性
安全性是一个系统需要具备的基本要求之一。
由于信息交换和控制系统需要管理、交换、控制大量的各种各样的数据,所以对系统的安全性提出了更严格的要求。
系统要求在本系统内传输的各种数据需要保密,同时对与其他系统互连接口传输的数据同样需要加密,这样才能充分满足和确保客户数据的安全。
系统采用多种安全的措施,如多种加密算法(MD5、DES、RSA、SSL),以及各种版权、身份认证(DRM和CA)等。
采用DRM版权认证对流媒体存储数据进行保护,对控制数据和网络传输中的数据进行SSL非对称、RSA等算法加密。
利用一整套完整的机制管理、保护加密算法和版权认证用到的公钥和私钥库。
2.1.4可靠性
为了达到高可用性和得到用户的认可,系统需要维持7X24小时的不间断运行,同时如有故障也需要进行自恢复,达到电信级别的高可靠性。
信息交换和控制系统的稳定性是从硬件、软件、管理流程三方面来保证。
A.硬件方面
●配置高稳定性的硬件服务器。
B.软件方面
●良好的系统架构保证模块间的超低耦合性以及接口之间的良好规范。
●资源静态化,减少每次并发访问的资源申请,降低长生内存、硬盘碎片的机率。
●多方面和超强度的循环、长久测试。
●良好的软件狗机制,随时监测系统的运行状态以及适时复位系统。
C.管理流程
●良好的需求、设计、开发、测试流程(在RUP开发方法上进行裁剪)。
●良好的硬件采购流程
2.1.5可视化的维护
在系统监控中,系统需要监控、维护的对象各式各样,每个对象的属性都千差万别。
同时,对于维护,系统需要提供各种可视化的、美观、操作性好的界面给用户使用,方便用户对系统进行监控、升级、配置、统计等。
系统在设计维护方面时,充分考虑到各个对象的差别。
通过编写高扩展性的XML配置文件,让可视化的维护界面可以让技术工程人员进行自定义,系统根据定义的XML配置文件展现不同的对象维护界面。
同时,提供专门的报表编辑界面,让用户对系统所能管理的资源在原始报表上进行各种拖放、选择等,从而呈现各种监控报表:
图表化的报表、统计数据的报表等。
2.2特色和创新点
1)异构硬件的集成技术和互联互控:
本系统能实现与不同厂家的异构设备的完全集成,通过与视频交换和控制网关的交互,系统可以无缝接入各种模拟设备和数字设备,同时提供标准的和自有的控制接口与其他系统进行互连,这样就可以达到在本系统内、其他业务系统范围内,让各个不同的角色用户、各个地方的监控客户端对本系统的资源和其他业务系统的资源进行互连互控,达到资源共享。
2)基于流媒体分发的视频浏览和存储回放:
本系统通过专用流媒体服务器能够支持每台流媒体服务器对256路以上并发视频的播放,并且可通过网络带宽自适用技术以及图像后处理保证客户端的视频质量,可以极大提高系统的媒体发布能力,容纳上千、上万用户的并发访问。
同时本系统还可并发存储多路视频信息,在视频信息检索方面,采用基于帧的高效索引机制,实现对历史视频信息的快速、高效回放和下载。
3)全面的系统运行状态在线检测和监控:
在我们的方案中,为了适应系统将来大规模的使用和维护,我们提出了全面的系统监管方案,包括:
所有硬件的运行情况实时由系统监控(摄像头,dvr,各类服务器,所有的客户机),同时,系统对所有运行的服务也实时监管(包括,主要服务器软件,数据库,各个服务进程,),还有网络状况,都进行监管,例如如果某一台机器坏掉,甚至某个机器的运行状态不好,比如memory使用的超过阈值,某个关键进程或者应用程序死掉,或者某个摄像头出现故障等系统都可以立刻发出警报,并及时定位,将信息发布给系统管理人员,同时,我们提出了系统监管和运维中心概念,为系统能用起来提供保障
4)灵活、可配置的监控对象管理包:
监控对象管理包是本系统推出的全新的监控管理概念。
它采用开放式的架构和设计理念,让用户可对管理包中的各个属性(报警类型、设备类型、数值来源、阀值设定)进行自行设定,同时,提供各种保留字段和大内容字段(比如嵌入一定大小的XML格式的数据),让用户可扩展对包的属性进行符合自己需要的扩展。
通过开放的数据接口,管理包能对各种数据来源进行接收和处理,通过检查包里设置的数据阀值,决定是否触发一系列的行为操作。
3系统总体特性
3.1系统的总体性能指标
1)视频交换和控制网关
●网关7×24小时的无故障运行
●视频一级转发延时小于600毫秒
●视频多级转发延时不超过2秒钟(5级)
●视频检索不超过3秒钟
●视频点播不超过5秒钟
●同时支持256路D1分辨率的分发
●同时支持256路D1分辨率的视频存储
●在网络带宽不受影响的情况下,丢帧率不大于4%
●系统出现故障后能够自恢复,间隔时间不超过15秒钟
●同时支持50路的视频点播和下载
2)流媒体数字矩阵
●数字矩阵7×24小时的无故障运行
●视频解码延时小于2秒
●同时最大支持32路D1分辨率的解码上墙
●在网络带宽不受影响的情况下,丢帧率不大于4%
●系统出现故障后能够自恢复,间隔时间不超过60秒钟
3)系统监控服务
●网关7×24小时的无故障运行
●报警消息传递延时小于2秒
●同时最大支持512路摄像机的图像质量检测
●同时最大支持对2048个对象的监控。
●系统状态延时不超过2秒钟
●系统出现故障后能够自恢复,间隔时间不超过60秒钟
3.2系统的交互性
1、设计模式
在人机界面设计方面,我们按照交互式设计的原理,采取面向目标的UI设计方法。
采用了面向角色和面向目标的人机界面设计方法,使系统的使用更加友好,使系统的操作更加便利,使最终用户从愉快的使用系统过程中达到他们的目标。
2、交互模型
我们将“多通道交互”交互模型与“智能网络交互”交互模型合二为一,即形成“多通道——智能网络交互”来实现本系统的交互性,那么用户与产品之间的交互直观,以最自然、最熟悉、最有效率的方式进行,这不仅满足了用户直观的需求,同时也满足了用户对信息与交流广度的需求。
3.3系统的扩展性
整个系统应具有高度的灵活性以适应不同的业务需求及不同系统配置的需要。
系统所采用的面向对象开发方法、基于SOA的集成架构和开放式体系结构,都将有力地保障未来的系统升级与扩展。
3.4系统的安全性
我们对系统安全性的设计原则是:
实用、高效、可扩展的。
平衡处理好安全与方便,安全与共享,安全与性能的关系,把握好安全的“度”。
为此我们构建了网络安全管理系统、数据安全管理系统、用户认证系统等,有效的保障了系统的安全性。
3.5系统的容灾性
为使系统具备容灾能力,我们分别构建了备份和恢复子系统:
Ø虚拟磁带库数据备份系统:
备份系统通过虚拟磁带库和备份软件对数据库服务器进行集中备份。
Ø快速灾难恢复系统:
快速灾难恢复系统实现为数据库服务器对应的本地硬盘创建对应的虚拟硬盘,并指定给相应的应用服务器通过数据复制策略实现相应数据库本地硬盘的数据复制到快速灾难恢复系统创建的相应的虚拟磁盘中。
4系统整体设计思路
根据当前城市视频监控系统的实际现状和要求,信息交换平台是一个高并发、高数据流、高可靠和高安全的分布式的一个实时系统,为了达到这个要求,平台的总体设计需要有以下的几个原则和思路:
1,设计尽量简单:
在达到预定的目标、具备所需要的功能前提下,平台设计应尽量简单,简单才能保证平台的稳定和可靠,一个过度负责的系统,其稳定性和可靠性是值得怀疑的。
所以在平台的设计过程中,应当尽量简单实用,避免过度设计。
2,平台的设计必须保证其灵活性和适应性:
可变性是现代软件系统的特点之一,是指其对外界环境的变化的适应能力。
信息交换平台也必须具有相当的灵活性,以便适应外界环境的不断变化,而平台本身也需不断修改和改善。
同时需要接入多种多样的设备和外部业务系统,将来的各种类型的业务应用都是基于这个平之上的,所以平台的设计必须有足够的灵活性,便于未来接入更多类型的设备和连接更多的外部子系统。
必须使平台的各个部分独立性强,容易进行变动,从而可提高平台的性能,不断满足对平台功能变化的要求。
3,平台的设计必须一致和完整:
一致性是指平台中的各个部分要具备一致性设计规范应标准;完整性是指平台作为一个统一的整体而存在,系统功能应尽量完整。
4,平台具有通用性:
即平台是城市视频监控综合系统中的通用平台,各个部门和单位的业务应用都是基于这个平台之上,而这些部门和单位对视频的业务需求是千差万别的,同时各个外部业务系统也是分散和多样的。
所以平台在设计时,必须保证平台在功能和架构上具有通用性,一方面能满足各个应用单位的基本视频应用,一方面接口的功能和技术规范要统一和通用,使各种外部系统都能方便的接入。
5,技术路线要选用成熟可靠的技术:
在平台的技术路线选择上,必须使用既先进又成熟可靠,经过市场检验的技术产品,尽量不要选用过度先进而不成熟的产品作为开发基础。
一方面要保证开发技术的先进性,能在一段时间内保持平台的技术先进和可持续开发,不至于因开发技术的落后而导致开发困难和难以招到合适的技术人员;另一方面要保证使用的开发技术必须成熟可靠,必须经过市场的检验,不能采用过度先进而不成熟的产品而导致技术风险的不可控。
6,分层实现:
对于逻辑设计中确定的系统应用功能,在实现中由于牵涉不同的技术条件,如各种实现技术特点的要求、各种异构系统接入的要求,需要在为系统设计多个不同的层次,分层处理、分层封装、分层屏蔽、分层实现各个系统应用功能。
7,模块复用:
在平台设计过程中,会逐步设计出类似的子系统,需要充分考虑这些模块的可复用性,减轻开发工作量和保证复用部分的可靠和稳定。
8,重复优化:
分层实现与模块复用,需要在平台设计过程中不断地调整与优化,以达到相对最优化系统结构。
本系统的设计在总体上采用目前国内外最主流的设计方法,即面向对象的设计方法,并借助UML这门语言对系统进行分析建模,依靠RationalRose提供的一整套工程辅助设计工具进行统一的系统分析及设计。
下面按照我们系统设计时的先后顺序,简要阐述各个设计阶段的主要工作内容和我们所采用的方法。
1)系统上下文设计(系统使用模型设计)
系统上下文模型用来描述环境中的其他系统,它是一个静态模型。
一定程度上它是对系统总体结构的一种描述,不过在这一阶段我们更加关注的是系统与外部环境的交互,此时我们没有太关注细节,而是采用抽象的思维角度进行建模。
为此我们借助了UML中的用例模型来表达我们所要的上下文模型。
2)系统体系结构的设计
3)以前一阶段得出的使用模型为基础我们可以开始