张学军
(辽河油田油气集输公司,辽宁 盘锦 124010)
业界对视频点播系统的系统结构研究有很长一段时间了,综合研究的成果可以知道,为了缓解服务器负载压力和最小化用户等待时间,较为普遍的方法就是将多个服务器连接起来,形成一个大规模的分布式系统,并运用一定的负载平衡策略对服务进行调度,以达到充分利用系统资源的目的。这种技术是当前主流视频点播系统所采用的方法。相比于这种方法,在视频点播系统发展的过程中,主要出现了以下几种系统结构模式:集中式结构、分层式结构、分布式结构。
而在现有的网络环境下,遍布于上用户的数量十分庞大,而他们对于机器资源的使用却是相当的低,业界基于资源共享这个目标,在很早的时候就提出了网格这么一个概念,其理念是让用户能够方便的使用局域网或上的计算机的闲散资源,就像一个电网提供给用户的功能一样。对于此项技术的研究正在如火如茶中进行。系统正是基于资源共享这样一个目的,希望能够将分散在网络上的其他流媒体服务器整合起来,组成一个庞大的虚拟系统,通过一个虚拟平台给用户提供视频点播的服务,并且该系统是开放的,可以进行动态扩展。下一章节将重点介绍系统结构的设计。
ONVS系统的目标是建立一种视频服务的基础设施,它以流媒体的动态数据信息作为被管理对象,将分布在各地的流媒体服务器虚拟成一个整体,实现节目源和服务能力的共享,按照“就近服务、负载均衡”的原则为千家万户提供高质量的视频服务,ONVS的架构如图一所示:
图1 ONVS架构
ONVS系统结构有三个特点1、分布:它是一个基于广域网的分布式视频点播系统2、开放:从技术上讲,它借鉴开放网格服务体系结构的思想,是一个完全开放的系统。3、在初始框架基础之上,随时可以随着用户的增加逐步加入新的服务器和节目源加盟从运营机制上讲,由于的开放特性,可以保障以加盟方式运营,让第三方硬件平台提供商、内容提供商、服务提供商能动态的加入进来。
ONVS系统分为中心服务器和若干个视频服务器子节点两部分,中心服务器保存整个系统中所有影片数据信息和视频服务器子节点的相关信息,包括影片的点播率,影片所在具体的某个视频服务器子节点的地址,视频服务器子节点当前的活动状况,以及视频服务器子节点的负载情况等信息。当某个用户通过访问我们视频点播前台研陌网站或者播放软件时,将会显示一些最新的影片和点播率比较高的影片。此外,将会为用户提供一个搜索的平台,当用户搜索某个影片时,将根据当前用户的查询数据库,以此判断其所在的区域以及该区域的视频服务器子节点的负载情况,选择一个负载合适的视频服务器,将其地址返回给用户,为用户提供视频点播服务。
ONVS系统结构以视频服务器资源的无限扩展为目的,提供了一个可以无限拓展的视频服务平台,该结构模型不仅解决了视频服务器单一造成的性能瓶颈,和昂贵的网络带宽造成的视频服务质量的低下的问题,更重要的是它能够利用网络上闲散的资源,为用户提供一个视频节目源丰富,视频服务器集群庞大的虚拟平台。系统结构是系统的灵魂和创新所在。
根据前面分析研究的OGSA服务模型、ONVS的系统结构、基于“主动反馈、就近服务”的负载均衡策略、视频文件的分段多点传输,设计一个完整ONVS的系统,其中主要包括数据库设计、子节点注册模块、中心服务器监控模块、中心服务器调度模块、用户界面。并介绍了系统开发相关的平台和语言工具等。
系统的服务器平台选用了LINUX的发行版FEDORA7,流媒体服务器选用了LINUX版的HELIX11版本,数据库采用了下比较流行的开源数据库版本,数据库设计选用了当前比较流行的POWER DESIGN,http web服务器选用了性能稳定的版本。
在程序语言的选择上,鉴于系统的主要平台是LINUX,但也必须考虑系统的可扩展性,因此需要选择一种跨平台语言,综合多种因素,系统开发选用了与LINUX配合比较有优势的PYTHON脚本语言,该语言具备JAVA的跨平台性,更重要的一个原因它能很好的与LINUX相切合,并且在字符串的处理和软件功能的程序实现具有高效和简洁性,同时它能够满足系统中编写一网页程序,来安全的完成远程数据的交互功能。在整个系统中,所有的系统节点之间的通信,都采用了协议模式,这样即可以加快交互速度,也可以防止客户端直接与数据库服务器交互,确保系统的安全、稳定、高效。
以上系统平台和开发语言的选择,即保证了系统以后的可扩展性,避免的选择复杂、在功能实现上比较困难的面向对象语言,对于只有横向升级而没有纵向升级的系统,这种选择是比较合适的。
ONVS系统的目标是建立一个视频服务的基础设施,能够让无限的视频服务器加入到基础设施中来,以此来共享视频服务,不同于传统的视频点播系统,主要是基于共享视频文件资源,大大的提高服务效果。在系统中,某一时刻可能不存在任何视频资源即视频服务器资源,但也有可能同时存在大量的同一资源,因为在中心服务器并不一定存有视频资源,所有的资源均来自于动态加入的视频服务器。因此,当视频服务器逐渐加入到系统中时,根据系统提供的调度策略和分段多点传输机制,用户将会得到比传统方式更好的服务。通过前面的讨论研究,系统主要由以下几个核心模块构成,视频服务器注册模块、视频服务器监控模块、视频服务器调度模块、视频信息管理模块、用户GUI界面。
随着互联网技术的发展、网络带宽的不断提高,使人们更容易获取各种信息,同时也加速了人么对高品质的视频、音频等多媒体服务的需求。多媒体和网络的交叉领域视频点播是当前宽带网络应用发展的必然结果,视频点播的体系结构、应用系统和基础研究正成为目前产业界和科研机构关注的焦点。而基于OGSA模型的服务网格作为继因特网、之后的第三大技术浪潮,以充分利用网络上闲散的各种计算机资源为目标,期望建立一个类似电网的即插即用计算机资源平台。本文正是基于这样一种思想,尝试将服务网格的理论应用到视频点播系统中来,突破传统的点播系统中单一的共享视频资源为主的模式,研究实现了一种视频服务的基础设施系统。
ONVS系统虽然已经实现了服务共享的理念,在系统结构和负载均衡算法的研究上也有所突破,实验测试效果也达到预期目标。但由于测试环境是在局域网内,因此很多广域网中的实际问题可能存在。比如网络带宽的性能瓶颈,在局域网中,由于是高速网络,带宽问题几乎不存在,因此压力测试的真实性有待证明。网络带宽的问题仍然是有待解决的问题,作者认为主要有两个方面,一个是网络负载的计算比较复杂,二是很难去量化来进行负载均衡,将是后续研究的重点工作。
总之,ONVS系统真正走向实用还面临着艰巨的研究任务、开发任务和实验任务,还有一个漫长的征途。作者期待着在本领域中进行开拓的同仁加强合作,共同奋斗,为新一代视频点播系统和网格技术真正走向实用而努力。
[1]刘清.分布式视频点播系统[J].湖北:武汉理工大学,2006.
[2].孙建强.视频点播系统的设计与实现[J].计算机工程,2006,32(2):209~211.
[3]刘锋,彭宇行.一个基于技术的视频点播系统[J].计算机工程与科学,2007,29(4),47~49.