1 / 40

基于 P2P 技术的流媒体直播 系统研究与实现

基于 P2P 技术的流媒体直播 系统研究与实现. 答辩人:周红敏 导 师:孙名松 教授. 内容提要. 课题研究背景 PolyTV 系统设计 系统实现的关键技术 系统测试与评价 总结与展望 发表论文. 课题研究背景. 中国 P2P 流媒体发展阶段分析. 课题研究背景. 存在的问题. 目前基于 P2P 技术的流媒体直播系统已经有多种实现 ( 如 PPLive, PPStream, QQLive, UUSee 等 ) ,然而现有系统仍然有一些必须解决的问题,包括:组播结构不稳定、异构节点适应性差、数据调度效率低、控制开销大以及 NAT 穿越等问题 。

neci
Download Presentation

基于 P2P 技术的流媒体直播 系统研究与实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于P2P技术的流媒体直播系统研究与实现 答辩人:周红敏 导师:孙名松 教授

  2. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  3. 课题研究背景 中国P2P流媒体发展阶段分析

  4. 课题研究背景 存在的问题 • 目前基于P2P技术的流媒体直播系统已经有多种实现(如PPLive, PPStream, QQLive, UUSee等),然而现有系统仍然有一些必须解决的问题,包括:组播结构不稳定、异构节点适应性差、数据调度效率低、控制开销大以及NAT穿越等问题 。 • 设计了一套完整的面向大规模网络的P2P流媒体直播系统——PolyTV

  5. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  6. Web server 3rd party database billing Program Server1 Program Server2 EPG(electronic program guide) Central Server Interactive data redirect P2P Join C1 C2 C1 C2 Cnew C1 C2 PolyTV系统设计与实现

  7. PolyTV系统设计与实现 Peer节点系统架构 图4-3PolyTV节点系统架构图

  8. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  9. 系统实现的关键技术研究 系统实现的关键技术 • 应用层组播网的构建 • 新节点加入算法 • 节点管理与维护 • 节点退出策略 • 缓存策略 • 数据调度算法 • P2P网络中NAT的穿越

  10. 系统实现的关键技术研究-应用层组播网的构建系统实现的关键技术研究-应用层组播网的构建 新节点加入算法 源 • 新节点A加入时,首先与源节点联系; • 源节点从自己的mCache中随机地选择一个节点P作为A的代理节点; • A再与P联系,并获取P的mCache中的节点作为自己mCache中初始节点; • A再与这些初始成员节点建立伙伴关系。如果定时器到时还没有收到源节点发来的代理节点信息,则重新发送请求。 • 当新节点收到代理节点信息时,向代理节点发送mCache请求,代理节点将本地的mCache打包后发送给新节点,新节点收到mCache信息后,在本地建立同样的mCache信息。 至此,新节点加入流程完成。 ② ① P ④ ③ A C1 C2 新节点 ⑤

  11. 系统实现的关键技术研究-应用层组播网的构建系统实现的关键技术研究-应用层组播网的构建 节点管理与维护 源 • 节点间的成员关系主要通过每个节点的mCache来体现。 • 每一个节点周期性的生成一个成员消息(Membership Message)来说明自己是一个活跃节点成员消息的格式为<seq_num, id, num_partner, time_to_live> • 每个节点在mCache中随机地选择几个节点发送成员消息,收到此消息的节点同样在本地的mCache中随机地选择几个节点转发此消息,消息中有hop数信息,每次转发将hop数减1,直到hop数为0时不再转发。 • 节点接收到成员消息后,根据节点id判断mCache中是否已存在此节点的信息,如果存在此节点信息则更新time_to_live时间如果不存在此节点信息则在mCache中创建一新项。 • 每个节点周期性地扫描本地的mCache,将每个节点对应的time_to_live更新,更新方式采用time_to_live – (cur_time – last_update_time),如果发现更新后的time_to_live小于0,说明此节点信息已经过期,则将其从mCache中删除。 P A C1 C2 新节点

  12. 系统实现的关键技术研究-应用层组播网的构建系统实现的关键技术研究-应用层组播网的构建 节点退出策略 • 正常退出:节点要离开时,先发送一个离开消息(Departure message),此消息格式与成员消息格式相同,只是设置其num_partner为-1。退出消息的传递也采用Gossip协议,接收到退出消息的节点在本地的mCache中搜索此节点,如果能找到节点,将此节点删除,同时将此节点退出信息广播出去。如果找不到节点,退出,此消息也不Gossip了。 • 意外退出:一个Partner探测到一个节点失败,则发送离开消息。流程上和正常退出一致。

  13. 1 • 4 • 3 • 2 • 5 • 8 • 6 • 10 • 2 • 3 • 4 • 1 • 5 • 11 • 6 • 10 • 7 • 9 • 8 • 缓存策略 系统实现的关键技术研究 缓存策略 • 缓存策略 2级缓存。第一级用队列,第二级采用循环队列。 如图所示,根据调度策略采取非顺序接收数据包,保存在一级缓存里。一级缓存负责整个系统中数据包的传输,包的调度;将有序的数据包保存到自己的二级缓存里,主要负责本地播放。 • 缓存替换策略 一级缓存采用LRU替换策略,替换固定时间内访问次数最少的媒体块包。 二级缓存采用先进先出策略替换

  14. 系统实现的关键技术研究 缓存策略 1 0 0 1 1 0 Buffer Map(BM)

  15. 系统实现的关键技术研究 缓存策略 • 在PolyTV系统中,把流媒体数据分割成长度相同的多个Transfer frame (TF)帧,然后放入发送源的缓冲区里面,每帧长度为TF_len字节,按TF_sequence_number在缓冲区中顺序存储。在节点缓冲区中TF帧的可用性用BM来记录。BM另外还记录着当前节点中所存在的最高序列号maxseq和最低序列号minseq的TF帧。并且设定BM长度为maxseq-minseq+1 Bits,每一个bit对应表示TF帧的可用性,若可用设为1,否则设为0。

  16. 系统实现的关键技术研究 数据调度策略 • 数据调度的目的就是根据partner节点间互相交换的缓冲视图(BM)信息,如何尽快地从其他partner节点获取媒体数据,不同的调度算法对整个系统的数据分发的性能有很大的影响。 • 数据调度的主要约束有三个: 1. 播放时间Deadline的约束下,媒体数据必须在播放时间到达之前获得,否则就没有任何意义。 2. 数据调度应充分考虑节点资源的拥有情况和节点服务能力,优先选择较优的节点获取数据。 3. 数据调度应充分考虑sequence number最小的帧优先保障获取,由此确保数据帧最小的能有先到达播放。

  17. 系统实现的关键技术研究 数据调度策略-LFSA • 为使整个系统的数据分发性能尽可能高。PolyTV系统中的采用最少优先调度算法—LFSA (Least-first Scheduling Algorithm) 采用以下的原则: 1. 序列号最小的帧优先获取; 2. 稀少数据优先。在系统中,如果某个数据片断的提供者越少,资源则越紧俏,其就越难满足播放时间;Deadline的要求,应在确保原则1的基础上优先获取资源分布较为紧俏的数据片断; 3. 对于拥有同一数据片段的两个以上partner,则选择服务能力强的partner请求数据; 4. 对数据调度中表现不良的partner节点予以更新替换。

  18. 系统实现的关键技术研究 数据调度策略 • 算法描述: 1. 如果一个TF帧有较小的TF_sequence_number且仅有一个提供者,则请求它;否则,它将被插入buffered_data集合; 2. 在调度的每个循环中,首先考虑buffered_data中的TF帧然后才考虑其它的; 3. 如果一个TF帧对应有多个潜在的提供者,则带有最小req_num的提供者将被选中; 4. 如果仍有两个或多个提供者带有相同的req_num,那么和当前节点的IP地址最匹配的节点将被选中。 • 在以上描述中,req_num是预先定义好的一个变量,并初始化为0。 对于每个节点而言,当有其它伙伴节点从它请求一个TF帧时,req_num加1。当它成功发送出去一个TF帧时,req_num减1。通过这种策略,调度算法将基于流媒体数据的实际传输状态来调整,并且根据LFSA,每个节点总是能快速地从有能力提供数据的伙伴获取数据。换句话说,有足够资源(如网络带宽)的伙伴节点总是能提供更多的数据给其它节点。

  19. 系统实现的关键技术研究 与DONet模型中调度策略的比较 图4-6 调度算法性能比较

  20. 系统实现的关键技术研究 P2P网络中NAT的穿越 • 几种解决方案 • Connection reversal • STUN • TURN • A Novel Solution Based on ICMP

  21. 系统实现的关键技术研究 STUN方案穿越情况 F: Full Cone NAT R: Restricted Cone NAT PR: Port Restricted Cone NAT S : Symmetric NAT SR: Symmetric Random NAT STUN: Applicable STUN: Not applicable

  22. A Novel Solution Based on ICMP 图4-8 新方法穿越NAT的过程 图4-9 ICMP数据包payload中校验和状态

  23. 系统实现的关键技术研究 使用新方案后情况 F: Full Cone NAT R: Restricted Cone NAT PR: Port Restricted Cone NAT S : Symmetric NAT SR: Symmetric Random NAT STUN: Applicable STUN: Not applicable STUN: Applicable ( for new solution)

  24. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  25. 系统测试与评价 系统实现界面 图5-1测试结构图

  26. 系统测试与评价 系统实现界面

  27. 系统测试与评价 系统实现界面

  28. 系统测试与评价 测试环境的搭建 图5-1测试结构图

  29. 系统测试与评价 测试结果分析与评价(1) 图5-2 不同规模下控制负载与伙伴数的关系

  30. 系统测试与评价 测试结果分析与评价(2) 图5-3 不同规模下流畅度与伙伴节点数的关系

  31. 系统测试与评价 测试结果分析与评价(3) 图5-4 不同规模下缓冲区填充率与伙伴节点数的关系

  32. 系统测试与评价 测试结果分析与评价(4) 表5-1不同掉线率情况下图像质量的主观评价

  33. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  34. 创 新 点 • 对现有应用层组播的构造方案进行了改进。该方案以流媒体应用为核心,通过Gossip协议维护异构节点的拓扑结构,以动态节点选择提高了拓扑的稳定性。 • 提出了一种新的NAT穿越方法,该方法可以穿越对称型NAT,有效提高了P2P网络中节点资源的利用率。

  35. 创 新 点 3.提出一种自适应的数据调度算法—LFSA。该算法考虑了节点负载、网络延迟等因素来解决了数据调度效率低的问题。 4.设计并实现了面向大规模网络的P2P流媒体直播系统—PolyTV,该系统可以在互联网上进行大规模的视频直播。

  36. 下一步工作 • 有效结合DHT技术 使用DHT构造P2P网络,在数据传输过程中,对不同数据分片采用基于优先级的调度策略,可以保证流媒体播放的实时性。 • 使用TCP协议构造覆盖网 在最初的设计中,P2P网络的构建是基于UDP协议设计开发的,但由于UDP协议存在不可靠性,导致用户数量较多时登录困难。针对此问题,今后将使用TCP协议完成覆盖网构造与维护,但同时带来了NAT穿越的问题,TCP穿越NAT的问题必须解决。

  37. 下一步工作 3.结合多描述编码技术 借助于高速容错信道编码(容错保护)算法和多描述编码等技术,使得在任何情况下,当前节点从所有其它节点接收到的数据都可有效用于解码,从而在充分利用整个网络资源的前提下,可以最大化音视频媒体的解码重构信号质量。 4.测试系统的设计与实现 如何有效地控制结点和收集报告,将会是一个挑战,因为无论是启动或升级程序,还是收集实验结果,所有的结点都将会集中地完成登录,上传或下载操作。

  38. 内容提要 • 课题研究背景 • PolyTV系统设计 • 系统实现的关键技术 • 系统测试与评价 • 总结与展望 • 发表论文

  39. 攻读硕士期间发表的学术论文 • 孙名松,周红敏,唐亮. 一种自适应的P2P流媒体数据调度算法[J].计算机应用,2008,(3). • 周红敏,孙名松,唐亮.基于网络编码的P2P流媒体直播系统研究[J].计算机技术与发展,2008,(6). • 孙名松,唐亮,周红敏.P2P点播系统的客户端磁盘缓存策略研究[J].计算机工程,2008,(12). • LIN KEZHENG, SHI JING, ZHOU HONGMIN. Improved Unblocking Images Watermarking Algorithm Based on DWT and SVD[C]. Interna- tional Conference on Broadband Network & Multimedia Technology (ISTP No. BGW30), Beijing, 2007: 140-144. • 师 晶,林克正,周红敏.基于视频帧的彩色水印嵌入算法研究[J].哈尔滨理工大学学报,2008,(6).

  40. 恳请各位评审专家批评指正 谢谢大家!

More Related