分布式视频点播系统的设计与实现
发布时间:2006-10-14 4:15:43   收集提供:gaoqian
作者:段渭军 张永斌 王福豹
关键词:VOD

  一 视频点播技术面临的挑战

  互联网与WWW技术的发展,使人们更易于主动地获取信息。越来越多的人们更愿意及时、主动地观看节目,这一趋势正冲击着传统的单向广播、观众被动收听收看的运行模式,迫使广播电视系统向交互式方向发展,实现互动点播。但对于巨量的音视频数据,其存储、传输、大量并发性访问等使其与在目前互联网上流动的文本、图像信息有很大的差别,这些问题不解决,将难以实现有效的互动点播。本文结合以上问题,提出了一种分布式的视频点播系统模型。

  虽然现在许多公司开发出了视频点播软件,如VideoCharger、RealServer等,但其中大多数系统是园区级产品,主要针对的用户是企业、校园内部等,通过企业内部网络为用户提供服务,所能覆盖的区域、服务的用户及存储的节目数量都相对较小。为了满足服务大量用户需求,一些公司如NCUB、IBM将其现有的视频点播系统移植到MPP或集群等超级计算系统中。但从总体上讲,这些系统的组织方式是以集中式为主,系统中只有一个播放中心,当用户请求点播节目时,播放中心的视频服务器将直接服务该用户请求。

  传统广播电视系统覆盖范围很广,同时拥有大量用户和节目,如果采取集中式的视频点播系统,整个系统将需要一个带宽极高的主干网络。例如一般的MPEG-1节目所需要的传输速率为1.5Mb/s,如果系统并行服务1000个用户,那么主干网络的传输速率至少为1500Mb/s,可以看出,建造这样一个系统其所需的造价极高,而分布式视频点播系统,则是一个性价比更好的系统。

  二 分布式视频点播系统

  1 节目点播特点

  目前大规模的VOD系统实现及使用相对较少,无法统计出确切的节目访问特征。对于VOD系统中节目点播的数学统计模型主要是通过影碟、录像带的出租.购买情况获得的。在统计分析过程中,发现节目点播情况服从Zipf(齐夫)法则,即对N部电影按访问概率从大到小进行排序,第i部电影的访问概率f(i)=C/i,i=1,2,…,N,其中1/C=∑1/i,i=1,2,…,N。图1是系统有100部影片时的点播曲线分布。



图1

  通过该曲线可以看出,节目点播具有很大的局部性,大量用户访问的是前K部节目。

  2 系统模型

  根据节目点播特性,我们提出了具有多个播放中心的分布式视频点播系统,以满足覆盖地域广,用户和节目数量多的需求,如图2所示。



图2

  系统分为节目中心和播放中心两部分,节目中心的主要功能是保存系统中所有节目,为播放中心提供数据。播放中心是由一个或多个视频服务器组成,其主要功能是服务用户点播请求,完成节目播放。在每个区域内部的视频服务器中缓存着一些点播率高的节目,当用户点播节目时,由当地的播放中心响应,如果用户点播的节目在该播放中心缓存,则该播放中心直接服务这个用户的请求,否则该播放中心将请求节目中心提供用户所需的节目。根据节目点播具有局部性的特点可知,大量用户请求将由其所属的播放中心来完成,这样十分有利于降低主干网络的带宽需求。

  该模型的主要思想是将一些点播率高的节目数据靠近用户,与集中式系统相比,大量的用户请求将在本地完成,使得节目数据在传输过程中无须通过主干网络,从而降低主干网络的压力,其实质是通过相对便宜的视频服务器系统平衡昂贵的高带宽的主干网络建设,通过该方式可以有效降低整个系统的造价。

3 节目管理及分发

  系统中的节目是由节目管理人员统一管理的,所有新节目均先上载到节目中心。对于节目中心所保存的节目通过以下两种方式分发到各播放中心的视频服务器中。

  (1)主动推方式

  该方式主要是供节目管理人员使用的,节目管理人员启动节目服务器的分发进程,主动地将新节目、推荐节目等分发到各个播放中心。该方式特别适合通过多播发送,这样可以有效地减少网络流量,各播放中心的节目同时得到更新。

  (2)用户预约

  该方式主要供用户使用,用户将节目预约请求发送给本地的播放中心,播放中心根据用户的预约请求,选择合理的时间将预约节目调度到本地存储系统中,以便用户观看。

  4 节目存储与播放的分离

  在设计中将整个系统在组织上分为节目中心与播放中心,使得节目存储与播放部分分离,以便于建立多个播放中心。通过前面的分析可知,分布式的播放中心有利于降低主干网络的带宽需求,同时每个播放中心只保存点播率高的节目,无须保存所有节目,使得系统所需的存储容量相对较小,这样可以有效地降低整个点播系统的造价。其次,由于传统IP网络是无法保证QoS的,将播放中心靠近用户群,有利于保证节目的播放质量,而且整个系统中的节目采取集中式统一管理、分发,也十分有利于节目的版权管理和控制。

  由于节目存储与播放的分离,要求播放中心应有很好的节目缓存策略,以便合理地将节目缓存在本地,以降低系统的拒绝率。在实现时采取了周期检测法来统计节目的点播概率,通过该点报概率,系统可以自动地调整节目的缓存。当播放中心需要缓存节目时(如接收分发的新节目或调度用户的预约节目),如果播放中心有足够的存储空间,则该节目直接缓存,否则系统删除点播率低的节目,以便将点播率高的节目缓存在本地。

  5 系统扩展

  与集中式视频点播系统相比,该系统具有很好的扩展性。由于该模型是一种层次模型,可以通过水平或垂直扩展方式,使系统覆盖更大的地域,服务更多的用户。

  (1)水平扩展

  水平扩展主要是通过建立新的播放中心或增加播放中心内部视频服务器的数量使系统得到扩展的方法。当系统所覆盖的地域不断变大时,可以通过建立新的播放中心来扩展。相反,当一个区域内部的用户不断增多,而网络带宽可以满足时,更适合选择增加区域内部的视频服务器的数量来扩展系统。

  (2)垂直扩展

  垂直扩展主要是通过在播放中心之下增加代理服务器的方式来实现系统扩展。该方法主要针对区域内部用户不断增多且网络带宽无法满足新的需求时,所选择的一种扩展方法。其实质是将每个区域分为更小的区域,使大量请求在更小的区域内部完成,以降低区域内部的网络带宽需求,该方法在思想上与建立多个播放中心相似,但采用的方法却完全不同,主要通过用户请求聚合的方式来实现。

  分布式视频点播系统具有很多优点,克服了集中式视频点播系统所面临的问题。虽然仍有待完善,如在缓存算法、代理算法的优化等方面,但系统所具有的良好的可扩充性使其具有较好的实用价值。

摘自《中国CATV》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50