论文部分内容阅读
近年来,互联网的普及和网络技术的飞速发展,为P2P技术的发展奠定了良好的基础。当前P2P技术已成为了流媒体的关键技术,并且已经广泛应用于多个领域。然而当前国内外对于P2P流媒体技术的应用仍然存在着传输质量无法得到保障、服务器负载过重和网络拓扑与物理拓扑不匹配等问题。所以如何充分利用P2P网络中众多用户节点的带宽资源和处理能力,以保证流媒体音视频的传输质量和播放质量成为了P2P流媒体技术的关键问题。本文在研究了P2P流媒体传输协议的基础上,深入的分析和讨论了现存P2P流媒体传输技术的优缺点,并针对当前P2P流媒体技术缓冲区管理的不足,提出了一种新的缓冲区管理模型,缓冲区位图虚拟矩阵(BBVM, Buffer Bitmap Virtual Matrix),用来描述对等节点及其邻居节点的缓冲区中可用数据块状态。在缓冲区管理模型的基础上,提出了一个新的缓冲区动态管理策略,TMAP(The Most Appropriate Position)。TMAP策略主要用在对等节点刚加入系统时缓冲区窗口初始位置的确定和数据播放过程中缓冲区窗口位置的动态调整。并且根据TMAP策略提出了一个动态缓冲区同步算法,有效的利用了网络带宽和普通用户的上传能力,提高了整个P2P流媒体系统的性能。此外,本文针对当前P2P流媒体技术传输机制的不足,提出了一种新的推拉结合传输机制。该机制根据数据块的稀有率(Rarity-ratio)和节点间请求比(Request-ratio)的关系来决定采用“推”或者“拉”的方式进行数据转发。并提出了一个推拉调节算法,在降低数据传输时延的前提下,有效的降低了数据传输过程中冗余数据的比例。本文用Java语言实现了上述机制和算法,初步完成了对P2P实时流媒体系统的优化,并通过系统测试,验证了系统的合理性和有效性。以及通过大量的仿真实验,证明了系统的可扩展性和高鲁棒性。