关于分布式视频点播系统的研究
2016-06-27汤卓
汤卓
摘 要 互联网正从一个静态数据内容(文本、图像)占主导地位的阶段快速地发展成为一个包含静态媒体内容和连续媒体内容的综合信息资源库。视频点播(VOD)业务是未来宽带网中最有前途的业务之一。它可以让用户控制节目的播放,选择播放时间和播放的形式,与传统电视相比有着无可比拟的优点。在各种宽带网络上实现视频点播业务成为当前多媒体和网络领域的一个研究热点。本文将针对分布式视频点播系统展开研究。
关键词 点播系统 分布式 系统研究
中图分类号:TN948.63 文献标识码:A
VOD,它是英语VideoOnDemand的缩写。视频点播是近年来新兴的一种网络传媒方式,它是计算机技术、网络通信技术、多媒体技术、电视技术和数字压缩技术等多学科、多领域融合交叉的产物。它可以根据用户需要,随时提供交互式视频服务。
视频点播从根本上改变了传统的单向传输、用户对视频节目无权选择的状况,使用户不仅能够观看固定节目,而且还可以自由选择存放在视频点播系统中的视频信号,随时点播自己想看的节目。VOD技术早在20世纪70年代就引起了人们的关注,但当时其应用范围有很大的局限性。随着“信息高速公路”的兴起和发展,数字压缩技术的出现,使视频点播系统进入了新的领域,并且为行业用户提供了多种解决方案,以满足用户的各种需求。
1视频点播系统的体系结构
一个视频点播系统,无论采用有线电视网络还是计算机网络作为媒体传输介质,主要由三部分组成:服务端系统(Server)、网络系统(Network)、客户端系统(Client)。
视频服务器:负责视频的存储和视频节目的传送,以及节目的检索和服务。它在整个系统中占很重要的地位,是影响整个系统设计的关键。
传输网络:传输从服务器到用户的媒体流和控制流。常采用的有窄带电话线、宽带有线电视网络和计算机网络。
客户端:主要是用户用来播放视频的设备,一般有两种方式:计算机、电视。计算机须装备网络接入设备,并安装视频播放软件。用电视作为播放设备时须要装备机顶盒(top-setbox)。
VOD系统中技术含量最高的视频服务器。从计算机的技术角度来讲,视频服务器是一台或一组提供媒体存储和传输的计算机。其功能是存储并传输媒体节目。之所以将视频服务器的概念与普通计算机相区分,是因为视频服务器在存储和传输媒体节目的能力上明显强于普通计算机,而媒体节目的存储和传输是VOD系统功能实现的核心,VOD系统的服务能力几乎完全是由视频服务器服务能力来决定,因此学术界和产业界对VOD的研发重点都集中在视频服务器上。
2分布式视频点播系统的体系结构
根据计算机网络拓扑结构的思想,在Berkeley视频点播系统的基础上,人们扩展了分布式层次性的体系结构的设计思想,将只针对视频文件存储的分布式层次结构扩展成为媒体文件存储、媒体流传输、系统管理与服务的整体的分布式层次性体系结构。
扩展后的分布式层次结构视频点播系统根据网络的多级互联特点,将档案服务器、视频文件服务器、管理服务器分布到网络的多个层次中,协同完成视频点播服务功能。点播系统中包含了连接在主干网上的中央视频点播服务系统和分布在各接入网中的视频点播服务子系统。中央视频点播服务系统连接在主干网上,它由一台全局管理服务器,多台视频文件服务器和档案服务器构成。档案服务器管理存放在三级存储设备(磁带、光盘)中的媒体文件,用于扩大视频文件库的容量,同时提供媒体文件的备份和恢复功能以保证系统的可靠性。视频文件服务器为用户提供媒体流,它连接着大容量、高并发吞吐速率的磁盘阵列,完成视频数据的磁盘读取、网络发送和调度的功能。中央管理服务器上运行多个服务程序,完成用户权限认证、记账管理、节目查找与定位、系统性能监控、工作负载平衡等全局的管理功能。
视频点播服务子系统分布在各级接入网中,它由本地管理服务器、一台或多台视频文件服务器组成。子系统中的视频文件服务器存储中央服务系统中的所有视频节目的一个子集,负责为本网段和下级接入网段内的用户提供媒体流服务。本地管理服务器同样也完成本级和下一级接入网中的管理功能。
利用分布式结构,将系统服务功能分散到多台服务器,减小了服务器的工作负载,并为降低服务器的价格创造了条件。层次性的网络传输将系统中的数据传输尽可能地限制在本地网段中,减轻了本级网络与上一级网络之间的网络带宽占用,使得整个系统可以承受的用户数目增加,从而可以降低用户的平均服务费用。层次性的系统管理可以减轻中央管理服务器的工作负担,减少网络传输延迟和服务器处理排队等待时间,从而缩短用户的响应时间。
分层式体系结构由于采用树型结构扩大服务了服务范围,并且分层的层次可以随着服务范围的大小而变化。但这种结构的缺点是一个节目可能要在许多个服务器上存有备份,造成存储空间的浪费;而且用户点播的节目不在叶子节点服务器上时,需要较长的响应时间;还有这种系统的设计管理难度很大,多用于大型和特大型网络环境中。
3分布式系统管理服务器的主要实现内容
由于管理服务器是整个分布式系统的控制管理核心,它负责对整个系统进行管理和协调。它是一个纯软件系统,主要由作业调度和视频服务器调度管理模块、视频流控制模块、视频数据管理模块、用户管理模块以及系统监控模块组成,各个功能模块分工协调合作,控制分布式视频点播系统的各项服务正常运作。下面将针对视频节目管理、用户管理、视频流管理以及系统监控管理展开重点讨论。
3.1视频节目管理
视频节目分布存放在各个视频服务器上,每个视频节目都可以由唯一的路径来访问,这对于系统管理员进行视频数据文件的管理提供了极大的方便。视频节目管理就是对这些分布存放在各个视频服务器上的视频数据文件进行管理,提供方便的接口和快速的存取。
向系统新增一个节目,系统需要做两件事,一是节目的导入,即把视频节目文件拷贝存放到系统中;二是管理员需要把该节目的相关信息添加到视频信息库中。新的节目文件存放在哪个视频服务器上呢?可采用最小使用优先算法,也就是选择磁盘剩余空间最大的视频服务器存放新的节目,使各个视频服务器上存储的视频文件尽可能均衡,从而达到提高磁盘I/0能力的目的。当某些节目不再被点播,或者需要腾出一部分空间存放新的节目时,管理员要删除这些节目。与增加节目相对应,删除节目包括删除节目信息记录和删除节目文件两部分。删除节目信息记录就是从视频信息数据库中删除该节目的记录。
3.2用户管理
分布式视频点播系统对最终用户也提供管理接口。系统对最终用户的管理内容相对比较简单。用户的所有信息存放在用户数据库中。系统通过数据库提供增加新用户、删除己有用户、修改用户信息、查询用户信息的功能。除此之外,当用户连接到系统请求服务时,系统必须提供对用户访问的合法性进行认证,因此用户管理也包括用户认证功能,用户管理同时也提供记账功能。当用户在点播节目的时候,系统记录用户的点播信息,计算用户的点播费用,并存放到数据库中,作为用户缴纳费用的依据。
3.3视频流管理
视频流就是视频服务器与用户端之间传送的数据流。一旦视频服务器响应了用户请求,将节目数据从磁盘读出,并发送到用户端,视频流就建立起来了。当节目全部传送完毕,或者由于用户中途终止播放,视频流也将终止。系统必须对系统中存在的、未被终止的视频流进行监控和管理。系统对视频流进行VCR控制的过程如下所示:包含视频流全局编号和控制代码;系统从用户消息中提取视频流全局编号和控制代码;系统查找全局视频流链表,找到播放该视频流的视频服务器;系统向该服务器发送视频流编号和控制代码;该服务器得到视频流编号和控制代码,对视频流进行播放控制;若服务器控制成功,向系统返回新状态,若不成功,返回错误信息;系统更新视频流状态,并反馈给用户相应信息。
3.4系统监控管理
分布式视频点播系统作为一个大型系统,它所包含的软硬件资源是相当多的,如果系统不对这些软硬件资源进行有效的监控,一旦某些部件失效,可能会影响到系统的正常运行。例如,如果一台视频服务器硬盘损坏,该台服务器上存储的数据将无法读取,而系统并不知道,以为这些数据继续有效,仍然将读取数据的请求发送给它,这将造成读取数据的客户永久等待,形成死锁。又如,系统中关键部分的负载应该受到监视,因为持续的高负载可能造成该部件的最终失效,例如,如果视频服务器CPU负载过高,可能使服务器无法继续响应请求。为了保证系统高效、可靠地运行,必须对整个系统进行监控。系统的监控包括以下几个方面:硬件监控、视频服务器状态监控、系统视频流监控和系统报警。