随着全球安防监控产业需求和相关技术的迅猛发展,数字图像压缩处理、流媒体技术、计算机网络通信、自动控制技术等都已在安防领域得到广泛应用。本文笔者将带领读者,一起探究流媒体监控软件平台架构及关键技术...
软件平台架构
软件架构目标
Observer流媒体监控软件平台要达到能满足中小型网络安防监控的目标,可根据不同行业安防需求定制扩展应用,因此必须有良好的架构设计。软件设计的架构目标一般要达到以下几点(图1)。
· 可靠性:软件对于使用方的运营和管理十分重要,因此必须十分可靠;
· 安全性:软件要能满足调查取证要求和防止恶意破坏;
· 可扩展性:软件要能满足客户需求的变化和不同需求的功能扩展;
· 可维护性:软件要易于排除现有系统错误和有效降低技术支持成本;
· 可定制化:能够根据客户群不同和市场变化而调整;
· 客户体验:软件要易于操作使用。
软件体系结构
良好的体系结构能够确保软件的实用性,软件基于以下技术原理开发(图1)。
1、MPEG2/MPEG4/H.264流媒体编解码技术。
2、实时网络流媒体传输技术。
3、Microsoft DirectShow技术。
4、分布式网络应用技术。
5、现代大型关系型数据库技术。
6、基于面向对象的开发思想,采用高效的C++开发语言平台。
· OS(Operating System):操作系统,此处主要指PC操作系统;
· TCP/IP:传输控制协议/网际协议,一种网络通信协议,广泛应用于互联网和局域网通信;
· MPEG2/ MPEG4/H.264:运动图像压缩编码标准;
· DirectX:微软公司开发的用途广泛的API,用于图形、声音等多媒体应用接口;
· Winsock:一套开放的、支持多种协议的Windows下的网络编程接口;[nextpage]
· Oracle/SQL/MySQL:一些关系型数据库平台;
· Middleware Service:中间件服务,此处包括数据库中间件、消息中间件服务;
· Management Server:管理服务器;
· StreamTrans Server:流媒体转发服务;
· StreamRecord Server:流媒体存储服务;
· WEB Server:WEB服务;
· Stream Client:流媒体监控客户端;
· WEB Client:WEB客户端。
关键技术
网络流媒体监控技术
通过网络流媒体监控技术,系统借助日益扩展的高速信息网络为传输媒介,使用者可通过网络音视频去感知远程监控点的状况。借助远端设备的智能采集、控制功能,使用者可捕获远端的报警,通过网络控制远端设备控制输出。
完成端口通讯技术
普通的阻塞式网络通讯方法要求每次通讯完成后都要求等待执行结果。网络流媒体转发软件所处理的流数据量是非常巨大的,普通的网络通讯方法显然不能满足这种应用的需要,为了提高转发服务器的数据吞吐能力,系统使用了异步IO技术完成端口通讯。
IO完成端口通讯使用操作系统的重叠I/O模型来提高系统I/O的处理能力。在Winsock中,重叠I/O模型使应用程序能达到最佳的系统性能与数据吞吐率。重叠模型的基本设计原理是让应用程序使用重叠的数据结构,一次投递一个或多个Winsock的I/O请求,并在操作完成之后接受到信息。
线程池
线程池为线程生命周期开销问题和资源不足问题提供了解决方案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。其好处是,因为在请求到达时线程已经存在,所以无意中也消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使应用程序响应更快。
异步通讯模式下的单线程并发访问量是有限的,为了提高转发服务器的并发访问数量,系统使用一个具有多个通讯线程的线程池来负责与客户端进行通讯。通过使用线程池技术,在保证转发服务器的数据吞吐量的同时,提高了系统的并发访问数量,在网络带宽足够的情况下,可以显著提高流媒体转发服务器的处理能力。
网卡汇聚及任务调度设计
当流媒体转发服务器工作在多网卡汇聚模式时,优化的实时任务调度算法将根据各网卡的实时负载情况平均分配各块网卡的并发访问数与数据吞吐量,以平衡各网卡的网络负载情况。
相关文章:
浅析现代安防监控的发展趋势
浅析流媒体监控软件功能及概述