《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于流媒体服务器集群副本放置策略的研究
基于流媒体服务器集群副本放置策略的研究
来源:微型机与应用2012年第16期
杨显钧1,徐 林1,姜浩然2
(1.四川大学 计算机学院,四川 成都610064; 2.中兴通讯股份有限公司,北京100085)
摘要: 网络流媒体服务具有数据流量大、服务时间长的特点,同时,高并发的服务请求会造成流媒体服务质量明显下降等性能瓶颈问题。针对这种现象,设计了一种基于Zipf分布规律的两阶段副本放置策略,并成功应用于某市中小学心理辅导的视讯平台。实践结果表明,与传统的方法相比,该方法具有较好的实用值和健壮性。
Abstract:
Key words :

摘  要: 网络流媒体服务具有数据流量大、服务时间长的特点,同时,高并发的服务请求会造成流媒体服务质量明显下降等性能瓶颈问题。针对这种现象,设计了一种基于Zipf分布规律的两阶段副本放置策略,并成功应用于某市中小学心理辅导的视讯平台。实践结果表明,与传统的方法相比,该方法具有较好的实用值和健壮性。
关键词: 集群Red5流媒体负载均衡;副本放置

1 研究背景及意义
    随着计算机网络的发展和软硬件水平的提升,作为多媒体与网络结合的产物,流媒体技术应运而生。流媒体技术的核心主要集中在流媒体服务器方面。随着用户需求多样化、信息海量化和交互实时化,服务器性能逐渐成为用户需求的瓶颈。如何在保证现有的硬件条件下有效地解决大量用户访问产生的服务器性能瓶颈,是目前乃至今后需要着力解决的课题。
    对此,有学者提出了集群的概念。服务器集群是将许多较为廉价服务器通过网络和相关软件连接起来,用以提供比单一服务更稳定、更高效、更具扩展性的服务平台,使整个系统更加健壮,从而解决单点故障可能带来的问题。
    本文采用服务器集群的方式均衡用户服务请求,使每台服务器负载最优,保证了服务器可以有效地向用户提供服务。Red5流媒体服务器提供了一种开源模式的集群架构,为了更好地模拟用户需求,本文改进了Red5流媒体服务器的集群架构,以调度服务器为中心进行负载均衡调动,通过负反馈机制根据流媒体服务器负载量值计算权值,以此分配用户请求的策略进行负载均衡。对于视频文件的存储,为了节省存储空间和对用户点播请求进行分流,对基于Zipf的点播分布规律的两阶段副本放置算法进行改进,从而达到对用户请求分流的目的。
2 流媒体服务器集群及其相关改进
    流媒体服务器要处理众多的用户请求,并且要保证响应速度,它还要具有传输数据量大、持续时间长的特点。在这种情况下,服务器集群就发挥了优势。它将许多较为廉价的服务器通过网络和相关软件连接起来,用以提供比单一服务更稳定、更高效、更具扩展性的服务平台,集群部署可以增加整个系统的健壮性,更好地解决单点故障带来的问题。集群具有主动容错性、负载均衡性等优点[1],一方面当集群中的某个节点出现问题,不能正常工作时,它的任务会自动转移到其他正常工作的节点上,继续为用户提供服务。另一方面将流媒体的服务均匀分配到各个服务器上,合理地利用各个流媒体服务器的资源,能更好地为用户提供服务。
    对此,Red5技术提供了一套服务器集群解决方案。在Red5环境中,边服务器会将相同范围的用户请求分配到同一源服务器,所有源服务器上需要存储相同视频,边服务器采用轮询方式分配用户请求。这种方式存在负载不均衡、存储效率低等问题。本文在此集群方案基础上,对Jabber系统进行了改进并提出了一种更简洁实用的方案,如图1所示。

    在这个方案中,调度服务器实时监控服务节点的负载状况,使调度相关策略在调度服务器上实施,从而将具体服务与请求调度分离。在此基础上,调度器动态采集流媒体服务器的负载。其核心思想就是充分合理利用每台服务器的剩余处理能力,将热门影片合理复制到各个流媒体服务器上,使热门影片有多个副本,这样可以达到用户点播请求分流的作用,而点播次数低的视频文件则少存储几份,以此达到节省服务器空间的目的。
3 流媒体服务器集群中的副本放置
    流媒体服务器集群中的视频存储问题关键在于副本放置。其原理是为了解决集群环境下单台服务器负载过重的问题。具体而言,就是对某些点播频繁的视频进行复制,将其副本放置到其他服务器,以达到分流的目的;当视频访问热度下降时,还要考虑删除副本,以节省存储空间。副本放置的相关算法有阈值算法、两阶段算法、背包问题算法[2]等,这些算法中有些可以应用在大型视频点播系统中,但算法过于复杂,甚至没有考虑到视频点播概率的动态变化[3]。针对上述情况,本文采用了基于Zipf分布规律的副本放置策略,这样既达到均衡效果,也节省了存储空间。

 



3.3 视频副本清理策略
    为体现视频热度的变化,需要根据每天的点播情况改变视频热度,保证热度低的视频副本不过多地占用服务器空间,需定期进行清理[6]。具体而言,就是根据该检索数据库中的视频信息表,判断当天的视频点播是否达到阈值,如果未达到则在总的点播次数上减去相应值,表示该影片的热度下降,反之则加上当天的点播次数,表示热度上升。如果该热度小于删除的阈值,则向流媒体服务器发送删除命令。流程如图3所示。

    本文深入研究了Red5流媒体服务器集群相关技术以及现有的Red5集群解决方案,发现其中的不足,采用了一种基于Zipf分布规律的副本放置策略和负反馈动态负载均衡调度相结合的方式对用户请求进行分流,以提高系统服务质量,并将该方法成功应用于某市中小学心理康复综合社会救助服务系统。该平台旨在建立中小学生心理康复综合社会援助技术支撑体系和辅导体系。该方法不仅适应于上述平台,同时对其他的负载均衡集群系统也具有一定的借鉴及参考意义。此外,随着用户信息和资源文件增长,在保证服务器数据安全性的基础上,如何确保其健壮性,引入云计算平台并实现海量数据的分布式存储,进而更好地对平台提供技术上的支持,达到更高的可用性,将是下一步研究的重点。
参考文献
[1] 李子民.基于LVS的集群动态负载均衡算法研究[D].成都:电子科技大学,2009.
[2] 周航.大规模流媒体服务系统存储调度研究[D].合肥:中国科学技术大学,2007.
[3] 姜琳.流媒体服务器的存储策略[D].上海:复旦大学,2010.
[4] 宋晓华,黄河清,曹元大.基于用户访问统计特性的流媒体文件复制策略[J].南京理工大学学报,2007,31(50):617-621.
[5] 姜浩然,徐林.基于RTMP的流媒体服务器的研究[J].计算机与数字工程,2011,39(10):104-108.
[6] 陈世明.基于Lucene与RTMP的学生心理健康实时视讯平台的设计与实现[D].成都:四川大学.2011.

此内容为AET网站原创,未经授权禁止转载。