论文部分内容阅读
近年来,流媒体逐渐成为互联网应用的主流。传统的流媒体服务主要采用“客户端-服务器”模式,服务器以单播的方式和每个客户建立连接,而由于流媒体服务处理的是多媒体数据,具有高带宽、持续时间长等特点,随着用户数目的增加,服务器端的资源如带宽、处理能力等很快被消耗完,成为系统瓶颈所在。因此,研究P2P流媒体技术对解决流媒体服务器端的瓶颈问题具有重要的意义。为了更深入地研究P2P流媒体技术,本文对目前P2P流媒体领域最具代表性的开源项目——PeerCast系统进行了深入分析,在系统相关文档及资料比较缺乏的情况下,通过反复实验、输出日志及代码分析的研究方法,了解了其内部机制及实现原理,并发现了PeerCast在断线/重连机制及节点选择机制上存在的问题,针对这些问题,提出了改进的方案,并对提出的改进方案进行了实现和效果测试。论文主要从两方面对PeerCast进行了改进:一是PeerCast的断线/重连机制;二是PeerCast的节点选择机制。通过对PeerCast进行断线/重连实验发现,PeerCast传输树中某一节点断开,其下游传输树完全解散,各自重新寻找新的传输源,一方面单个节点重连时间长、重连命中率不高,另一方面需要重建传输树,造成了网络整体服务质量的不稳定,本文提出并实现了一个改进的断线/重连方案,经时间复杂度比较及实验效果对比,改进方案在重连速度、重连命中率、网络稳定性等方面均优于原机制。此外,通过对PeerCast原有的节点选择机制进行分析发现,PeerCast在对同类节点进行筛选时,比较的numHops参数仅仅代表该节点在数据传输树中的逻辑距离,并未代表节点间的实际物理距离,针对该问题,提出了基于物理延迟的节点选择机制,并进行了实现及效果测试,证明了改进方案的可行性及优越性。最后,对论文所做的工作进行了总结并对未来进一步的研究工作进行了展望。