一、视频服务器的功能及典型结构
视频服务器(Video Server)是交互式电视系统中最关键的组成部分,有人也称它为多媒体服务器(Multimedia Server),它的性能直接影响提供的服务质量,因此,视频服务器的设计是分布式多媒体领域重要的研究课题。
国外很多公司和研究机构正在从事视频服务器的设计工作。Microsoft、Starlight Networks等公司开发了基于PC的服务器软件;SGI、IBM等公司研究出了基于工作站的服务器;n-Cube、DEC等的视频服务器采用的是大规模并行计算机结构,而HP等公司则专门设计了适合于视频传输的服务器硬件设备。目前,大多数的视频服务器还处于实验阶段,少量产品已进入商用市场,但这些系统的价格十分昂贵,无法真正适应市场需求。国内也开始了视频服务器的研究,但基本上是采用国外现成的硬件设备,在高层进行通信协议等的研究。
1.视频服务器的功能和设计要求
视频服务器作为系统的中央控制和服务部分,应该具有以下的功能:
·请求处理:接收用户的访问请求;
·许可控制:检查用户的权限,考虑新请求的加入是否影响已有服务的性能;
·数据检索:从服务器的存储系统中检索数据的存放位置;
·可靠的流传输:向用户提供一个实时的数据流;
·支持VCR功能等。
传统的文件服务器是视频服务器设计的基础。视频服务器实际上是传统文件服务器的一种扩展结构,它支持包括文本、数字、图形、图像以及视频、音频等多种媒体形式的数据。所以,传统文件服务器的设计中的各种调度、分配算法,对视频服务器都有一定的借鉴作用。但是,视频服务器与传统文件服务器的主要区别在于,它管理的数据主要是如音频、视频等的连续媒体CM(Continuous
Media)。
对于连续媒体CM序列必须实时传输,数据才具有意义。与传统的文本和数字数据相比,连续媒体具有两个基本特点:
(1) 实时存储和访问:连续媒体必须对数据流进行实时存储,并以相同的速率进行访问和播放,一点偏差就会造成视频图像的抖动、声音的不连续,甚至显示完全没有意义。
(2) 数据传输率和存储空间的要求:数字音频和视频的播放需要很高的数据传输率,而且这些信息一般数据量很大。
连续媒体的这些特点,加上应用服务的需要,视频服务器在设计时必须满足以下几点要求:
(1) 实时性:数据在传输时必须满足实时的要求,不能有抖动;
(2) 大容量:服务器应能提供尽量多的服务数据;
(3) 高带宽:服务器应能同时支持尽量多的用户;
(4) 响应迅速:响应时间是系统性能的一个重要指标,对于用户请求应能及时响应;
(5) 访问控制:对用户的请求进行允许控制;
(6) 可靠性和可扩展性:可扩展性包括容量和带宽的扩展;
(7) 价格:价格是影响系统设计成功的重要因素,设计时应着重考虑硬件的利用率,从而提高性能,降低价格。
2.视频服务器的几种类型和典型结构:
(1) 基于PC和工作站的机群技术
这种技术使用网络连接多台标准的PC或工作站,通过运行一定的软件完成服务器的功能。这种技术实现起来,硬件投资较小,不需专门设计,但同时支持的用户数目很有限。图8.18表示了这种设计的典型逻辑结构。包括主机在内的每个结点由一个PC或工作站实现;主机负责控制和调度,存储结点存储数据、进行传输。
8.18
基于PC或工作站的视频服务器结构
(2) 大规模并行计算机结构
通过高速的互联网络,将每个自带硬盘和内存的处理机连接起来,组成高性能并行计算机,以满足视频服务器的设计需求。图8.19给出了基于这种思想的设计结构。在不同的实现方法中,可能将一个功能分布到多个物理结点上,或用一个物理结点实现几个逻辑结点的功能。这种结构对于基于计算的应用具有很好的可扩展性,但是在提高I/O带宽等方面仍具有不少问题。
(3) 适于实时视频传输的专用硬件结构
为了支持实时传输大量的音频和视频数据,HP、DEC等一些研究机构设计了专门的硬件,以提高系统的吞吐量。图8.20以HP的Media Stream服务器为例说明这种设计的结构。
8.19视频服务器的大规模并行计算机结构
8.20
HP Media Stream服务器结构
目前的系统中,只有专用硬件结构的视频服务器可以同时支持1000个以上的用户,但是硬件需要专门设计,价格也最为昂贵。
(4) 分布式VOD系统中视频服务器
分布式系统的设计思想是将视频服务器的功能分布到网络中去,这样对于设计中可能出现的瓶颈,可以分布到整个网络中进行解决。图8.21表示的是Berkeley的一个分布式VOD的结构。
系统中有一个站点管理服务器SAS,记录系统中数据的存放位置,数据存放于三级存储设备(如光盘库或磁带库)中由档案服务器AS控制。实时访问时,相应数据必须复制到视频文件服务器VFS的硬盘中。视频文件服务器VFS可以采用前面提到的三种结构中的任意一种。
通过对分布式系统的合理控制和调度,这种结构具有很好的可扩展性,能够以较低的结构实现较高的性能,因此是视频服务器的一个很有希望的发展方向。
8.21
Berkeley分布式VOD系统结构
3.视频服务器设计中的关键问题
图8.22给出了视频服务器的一个概要的结构,由此分析一下,视频服务器中各个组成部分对整个系统性能的影响。
8.22
服务器不同组成部分对系统性能的影响
(1) 存储设备
硬盘的性能最终决定了存储数据的数量和系统带宽,因此硬盘性能的提高是系统性能提高的基础。目前一般的SCSI硬盘可以提供2~4MByte/s的传输率。为支持更高的传输率,一般采用RAID技术。目前具有容错功能的RAID技术包括RAID-3和RAID-5。虽然使用RAID技术可以提供30~50MByte/s的传输率,对于HDTV的服务仍然可能成为瓶颈。
(2) I/O接口
目前通用外设接口的SCSI-2-Fast带宽最高可以达到10MByte/s,但仍不能达到应用的需要。因此SCSI-2-Fast&Wide接口,提供20MByte/s的传输率,将支持更好的性能。为了满足HDTV的要求,则必须使用SCSI-3的40MByte/s接口。
另外,存储设备接口正出现新的标准,可以提供更高的数据传输率。如storage system architecture(SSA)和fiber
channel arbitrated loop(FC-AL)。其中SSA支持80MByte/s的速率,FC-AL则高达100MByte/s。
(3) 设备驱动程序
设备驱动程序控制外设访问的方式,而外设的不同访问方式直接影响外设性能的效率。所以,设备驱动程序也是提高系统性能的关键。但是,一般设备驱动程序是操作系统内核的一部分,只能进行调用而无法修改。
(4) 内存缓冲区管理
对应于每个用户的传输,系统在内存中开设一定大小的缓冲区,以保证传输的质量。所以缓冲区的大小决定了用户的数量。而内存是决定系统价格的重要因素,因此必须对内存进行有效的管理。
(5) 系统硬件结构
视频服务器可以是基于不同结构的计算机系统。系统硬件的一个最有可能的瓶颈是系统总线(如SGI Onyx的总线速率为1.2GByte/s)。采用分布式内存的多处理机结构可以减轻这个潜在的性能瓶颈。
(6) 系统软件支持
视频服务器的软件运行于一定的操作系统之上,使用操作系统提供的服务。因此,操作系统能应该对各种服务提供有效的支持。
为了充分利用硬件资源,在一定的价格前提下,提高系统性能,视频服务器的设计主要集中于数据放置策略、硬盘调度算法、内存管理策略、流调度等几个方面。因此,今后的研究方向是通过在几个方面的考虑,最终满足实时、容量大、高带宽、迅速响应等性能要求。
|