论文部分内容阅读
如今,大量流媒体应用出现在网络之中,如网络球赛直播、网络视频点播和在线音乐等。而流媒体的占用高带宽、持续性长、QoS要求高的特点使得传统的C/S模式或者CDN架构难于支撑大规模流媒体应用。利用P2P技术的分享理念,使得节点既作为服务享用者又作为服务提供者,很好的减轻服务器端的压力以及主干网络的负载,从而可以支持大规模的流媒体应用。本文讨论目前流行的P2P流媒体技术,对P2P流媒体的两种形式点播和直播进行了区分,并着重分析了P2P直播系统中两个最为关键的问题:节点的搜索定位、流媒体分发。
本文的实验环境是华侨大学校园网,即直播系统BeibeiCast。考虑到校园网物理带宽较好,但是学生观看直播时间集中,需要低延时等的实际情况,通过比较P2P的三种单播树、多播树、网状流媒体分发方式,提出了利用单播树构建BeibeiCast的总体架构。文中建立了单播树的数学建模,论证一个定律即,一棵最低的单播树是时延最小的单播树。单播树的一个节点Pi的时延与与Pi到Root节点的高度存在函数关系L(Pi),并且该函数是一个单调递增的函数。由单调函数的特性可知该单播树的树高越小,时延越小。解决该直播树的时延问题,转化成求解该单播树的树高问题。由此,我们建立了单播树最优求解整数规划模型:由于gk(Pk)不是线性函数,我们通过如下过程把它转化成为多阶段决策过程,并建立动态规划模型。而求解问题的关键就变为了gk(Pi)的解的实现:在新加入一个节点Pi的时候,尽可能的让它的gk(Pi)=0。考虑到P2P网络节点的自由性,以及加入网络的快速性需求,可以采用瞎子爬山法得到局部最优的单播树来满足性能需求。由此得到建立BeibeiCast单播树的算法、维护节点离开或失效的算法,解决了BeibeiCast中的节点定位、分发管理难题。此外,借鉴了滑动窗口的设计思想,实现了单播中的buffer的管理。最终实现了一个基于P2P的直播系统BeibeiCast。根据以上的设计思想,本文实现一套P2P直播系统BeibeiCast,系统总体上来说分为3个组成部分:节目目录服务器、电视客户端、和节目流提供者。节目目录服务器管理主要是是负责组织、管理BeibeiCast之间的频道通讯和频道的显示。节目流提供者可以是通过Helix服务器。流媒体服务器也可以是一个流媒体文件。该系统主要应用在校园网内的网络电视节目直播,校长新闻发布会直播等。
该系统在华侨大学的校园网直播NBA比赛节目中得到应用测试。通过直播比赛的测试,可以发现,在节目开始的初期,人数增加的很快,而在结束的时候,大量用户离开网络。从时延的性能评测来看,一般是维持在1~3秒间,在同类的P2P直播系统中,时延数是较低的。根据测试所得数据,该系统在降低流媒体传输时延、CPU消耗资源方面有着显著的改进,取得了预期结果。本文提出的单播树模型,可以扩展到互联网上,对于提高网络流媒体的直播效果,具有一定的现实意义。