好文档 - 专业文书写作范文服务资料分享网站

深入浅出安防视频监控系统

天下 分享 时间: 加入收藏 我要投稿 点赞

通信,并按照特定格式互相交换文件数据。其中编码器用来将原始的音视频转换成合适的流格式文件,服务器向客户端发送编码后的媒体流,客户端播放器则负责解码和播放接收到的媒体数据。 编码器对原始的音视频媒体源进行一定格式的压缩编码,编码的方式有实时和离线两种。实时编码主要应用在实时直播服务中,由于对数据实时性的要求较高,因此对编码器的性能要求也较高,其输入一般是模拟的音视频信号,也可以输入数字的媒体设备信号如DVD光驱。由于单一的码率无法满足多种用户的需求,实时编码可以采用多个编码器并行编码的方法,输出不同码率的码流。离线编码对实时性的要求更低,一般是通过一个软件平台直接读取并编码需要压缩的音视频数据,如果提供的是其他压缩格式的数据,则需要先解码并转码成所需格式。这种方法一般是服务于对实时性要求不高的点播业务,因此最后需要将其封装为一个媒体文件,供服务器进行传输。编码器的性能好坏将直接决定服务质量的优劣,目前最新的H.264视频编码器无论在编码效率还是在图像质量上都优于现有的各种视频编码标准。服务器负责将编码数据封装成RTP数据包发送到网络中。每次从节目中获取一帧数据,然后分成几个RTP数据包,并将时间戳和序列号添加到RTP包头,属于同一帧的数据包具有相同的时戳。一旦到达数据包所应播放的时间后,服务器便将这一帧的音视频数据包发送出去,然后再读取下一帧数据。 流媒体系统是无法忽略网络环境的变化所带来的影响的。这些变化包括不断变化的网络吞吐量,不断变化的传输延迟,以及由于网络拥塞中丢包而不断变化的丢包率。对付这种网络变化的办法就是在客户端播放前预先缓冲足够的数据,以此来平滑网络变化的影响。 音视频RTP数据包经互联网络传输到客户端后,先进入一个缓冲队列等待,这个缓冲队列中的所有数据包按照包头的序列号排序,如果有迟到的包,则需按序列号重新插入到正确的位置上,这样就避免了乱序的问题。 客户端每次从队列头部读取一帧的数据,从包头的时戳中解出该帧的播放时间,然后进行音视频同步处理。同步后的数据将送入解码器进行解码,解码后的数据被送入一个循环读取的缓存中等待。一旦该帧的播放时间到达,解码数据就被从缓存中取出,送入播放模块驱动底层硬件设备进行显示或播放。 2. 业务扩展 (1)集群调度。单台服务器的容量和性能毕竟是有限的,服务器集群调度策略可以将多个服务器并行使用来为更多的用户服务。集群系统通过客户端和多个流服务器之间的一个调度与网管服务器实现。在负载均衡应用中,集中式调度是现在使用较多的一种集群管理模式,系统主要由三部分组成:调度器,位于服务集群的最前端,根据服务集群的负载情况将到来的服务请求转发到后台真实服务器上;服务器池,位于调度器的后端,由一组为用户提供具体服务的Server组成,对用户不可见,用户通过调度器与服务器建立C/S关系;存储池,后台服务器的一个共享存储空间,使得集群中的各台服务器能够提供相同的内容服务。 客户端将用户的请求先传送到调度器,调度器则通过网络管理协议对各节点进行监控,动态获取各节点的状态信息,随时对各节点的性能进行评估,根据当前各节点的负载情况,通过一定的智能算法选择转发至最合适的服务器,从而达到集群中各个服务器间的动态负载均衡。这种方法通过增加新的服务结点大大扩充了服务器支持的并发流数量,克服了单台服务器处理能力的局限性,使得整个流媒体服务的性能和容量得到了无限制的提升。 对于用户来说,整个集群服务器是透明的,也就是不存在每个单独服务器,因此我们必须实现IP隐藏,使得用户无法观察到每个单独服务器的IP,这样可以更好的保证整个集群的负载平衡,因为这样集群的负载是由调度器来统一执行,用户无法自己指定,而且也可以更好的保证系统的安全性。实现IP隐藏的手段很多,在此选择了IP隧道的方式。 (2)网络管理。调度服务器上的网络管理平台通过特定的网管协议来实现各个服务器之间的协调管理,可以选用SNMP作为管理协议,并针对流媒体服务的特点开发了一套流媒体服务集群管理系统。一个SNMP网络管理系统从逻辑上可抽象为四个部分:被管代理,网络管理工作站,网络管理协议,网络管理信息库。网管工作站负责整个网络的管理,监控被管设备状态从而保证网络中的各个设备正常运行。被管代理是驻留在被管理设备上的一个进程,负责收集组织被管设备状态信息,响应管理端访问管理信息库的请求,另外当系统出现问题的时候可以主动向管理端发出通告信息。MIB是管理信息的组织形式,呈树形结构。管理协议则定义了网管工作站和被管设备之间信息交换的接口,双方以约定的格式进行消息传递。 (3)认证计费。作为一个面向用户的多媒体业务,商业运营必须作为其中一个重要的策略被提出。首先,提供流媒体服务必须面向授权用户,因此需要对用户的接入信息进行认证。其次作为一个商业平台,必须对每项服务进行统一的多策略计费。目前流行的用户认证和计费系统遵从RADIUS(Remote Authentication Dial in User Service)协议。整个系统主要实现的功能应该包括:用户接入认证,用户服务授权,服务过程计费,用户信息管理,计费策略管理等。各部分组件包括认证服务器,计费服务器,信息数据库,用户和计费策略管理平台等。需要在流媒体平台上提供用户认证插件,当用户通过Web认证后,还需要流媒体服务器进行身份验证后才能收看节目,避免了用户绕过Web认证而直接用节目URL地址进行点播,提供更高的安全性。认证服务器除了认证接入的用户权限外,还作为代理转发信息到计费服务器。同时计费服务器根据用户级别,节目信息,收看时段信息可采取不同的计费策略。这项业务使得大规模商业运营成为可能,具备其自身的新业务特点,例如时间、流量、多种计费规则、多种媒体格式等等,在选择性、高效性、实时性、可靠性及安全性方面将会提出比电信业务的用户管理和计费系统更高的要求。 (4)内容发布。为了方便用户使用流媒体系统所提供的各类点播或直播服务,所有的服务内容可以以Web页面的形式发布到网上,用户只需要点击自己所需节目的链接,就可以自动启动安装在本地的客户端进行收看。Web服务器可以通过 Apache和PHP等技术实现。为了方便对发布内容的更新,每个节目链接都是指向服务器上的一个链接文件,文件中的内容即为该节目在某台服务器或调度器的地址链接。这样,如果需要更新节目,则只需修改或添加链接文件中内容即可。 三、结束语 随着互联网,多媒体编码技术的不断发展,流媒体业务具有广阔的市场前景,流媒体技术的应用将对人们的工作和生活带来深远的影响。随着流媒体技术的日益成熟,流媒体市场也吸引了越来越多的企业参与竞争,一个全球化的流媒体市场竞争格局已经初步形成,具备巨大发展潜力的流媒体技术将会在未来的互联网应用中占据重要的一席之地。 中间件技术 为什么要中间件 计算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。 什么是中间件 为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要,运行于多种硬件和OS平台,支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互 ,支持标准的协议,支持标准的接口。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。 主要中间件分类 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类: 远程过程调用(Remote Procedure Call) 面向消息的中间件(Message-Oriented Middleware) 对象请求代理(Object Request Brokers) 它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。 下面,针对几类主要的中间件分别加以简要的介绍。 1、远程过程调用 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。 在RPC模型中,client和server只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的server。因此,RPC为client/server分布式计算提供了有力的支持。同时,远程过程调用RPC所提供的是基于过程的服务访问,client与server进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位server;在client发出请求的同时,要求server必须是活动的等等。 2、面向消息的中间件 MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、 BEA的MessageQ等。消息传递和排队技术有以下三个主要特点: 通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。 对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。 程序与网络复杂性相隔离: 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。 3、对象请求代理 随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。1990年底,对象管理集团OMG首次推出对象管理结构OMA(Object Management Architecture),对象请求代理(Object Request Broker)是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。1991年推出的CORBA 1.1 定义了接口描述语言OMG IDL和支持Client/Server对象在具体的ORB上进行互操作的API。CORBA 2.0 规范描述的是不同厂商提供的ORB之间的互操作。 对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。 值得指出的是client和server角色只是用来协调对象之间的相互作用,根据相应的场合,ORB上的对象可以是client,也可以是 server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请求时,它就处于server角色。大部分的对象都是既扮演 client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。 4、事务处理监控 事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能: 进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。 事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。 通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。 事务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那 server将不堪重负。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供服务。 面临的一些问题 中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序了一个相对稳定的高层应用环境。然而,中间件服务也并非“万能药”。中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度,但应用开发者还需面临许多艰难的设计选择,例如,开发者还需决定分布应用在client方和server方的功能分配。通常将表示服务放在client以方便使用显示设备,将数据服务放在server以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。 存储产品性能指标说明 1.1.5 吞吐能力 吞吐性能指的是存储设备能够支持的并发读写访问性能,一般以MB/s或者Gb/s为单位。目前业界各种产品的吞吐能力从几MB/s到几Gb/s,顶级设备可以达到10Gb/s以上的速度。不同吞吐能力的产品能够适应不同的应用环境。 1.1.6 存储空间 和存储空间直接相关的就是存储设备支持的硬盘数,以及支持的硬盘容量。另外还有部分存储设备支持连接存储扩展功能,可以通过专用扩展盒进行容量扩展。因而高端的阵列柜可以支持到上百上千块硬盘。 1.1.7 安全性功能 存储设备很关键的一项功能,就是保障数据的安全性。目前存储设备主要在以下一些方面加强数据的安全性。包括抗震技术、设备冗余和热备技术、散热设计、电源稳定性设计等等硬件技术,也包括RAID功能、缓存技术、软件抗震、多级数据备份等等软件技术。数据安全性是存储设备的灵魂性能。 1.1.8 组网能力 随着数据量的爆炸式增长,一些存储需求向大规模组网方向发展,即形成SAN的存储架构。所以组网能力也是存储设备一个重要的指标。 1.1.9 软件配套能力 存储设备是单独的机器,需要大量配套软件为其服务,满足各种实际需求。所以软件是存储设备是否具备强大竞争力的有效保障。现在的存储设备,一般包含如下一些软件功能:数据备份、快照、数据管理、数据快速恢复等等。

深入浅出安防视频监控系统

通信,并按照特定格式互相交换文件数据。其中编码器用来将原始的音视频转换成合适的流格式文件,服务器向客户端发送编码后的媒体流,客户端播放器则负责解码和播放接收到的媒体数据。编码器对原始的音视频媒体源进行一定格式的压缩编码,编码的方式有实时和离线两种。实时编码主要应用在实时直播服务中,由于对数据实时性的要求较高,因此对编码器的性能要求也较高,其输入一般是模拟的音视频信号,也可以输入数字的媒体设
推荐度:
点击下载文档文档为doc格式
6ofb39xkwe9ersa9r166
领取福利

微信扫码领取福利

微信扫码分享