版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于应用层组播的流媒体直播系统的设计与实现Cernet22023/7/15基于应用层组播的流媒体直播系统的设计与实现Cernet2内容一、论文二、近期工作基于应用层组播的流媒体直播系统的设计与实现Cernet2引言随着互联网的发展,流媒体业务逐渐增多,其中网络电视、网络教学等领域的视频直播服务具有广阔的应用前景。该系统采用了两层架构,使整个系统具有较好的扩展性;结合Scattercast的应用层网关思想,部署多个数据代理服务器改善了域内扩展性与稳定性。基于应用层组播的流媒体直播系统的设计与实现Cernet2设计方案模型设计采用两层架构。域间采用应用层组播技术构造转发树,域内可灵活选用IP组播或应用层组播技术。节点采用集中控制方式,分别部署一个转发树节点管理服务器(ListSrv)管理节点。基于应用层组播的流媒体直播系统的设计与实现Cernet2设计方案系统软件包括WindowsMediaEncoder、ListSrv和MixCast。WindowsMediaEncoder对流媒体文件编码;ListSrv负责接受用户的加入请求,监控整个系统的逻辑拓扑,管理并存放节点的信息(节点本机IP以及该节点的所有子节点IP、度、标志位);普通节点(peer)只需MixCast负责节点选择,上下游节点的维护,节点失效后的重构以及从父节点获得数据,缓存部分流媒体数据并进行转发与本地回放。基于应用层组播的流媒体直播系统的设计与实现Cernet2关键技术与算法转发树构造应用层组播构造涉及组播树中节点加入、节点退出和节点失效后的重构[3]。转发树的构造在整个应用层组播视频直播系统中至关重要,包括节点选择策略和节点加入算法。节点选择策略: 基于最大链路带宽与最近网络拓扑节点选择相结合的算法基于应用层组播的流媒体直播系统的设计与实现Cernet2
节点加入算法(图)1.图1中,M为该域的MDP,L为该域的ListSrv,节点M为初始化时的父节点。2.新加入节点N首先向L发送Join报文,请求加入转发树。L根据节点选择策略将N最优的父节点组B(N)={C,D,E,F}发送给N。3.节点N收到并发送Join报文给B(N)中“链路有效带宽”最大的节点,其他节点作为备用节点。4.若节点C度未满则发送Accept报文给N,加入过程结束;若其他节点在N选择C为父节点前已成功成为其子节点而导致节点C度满,C节点发送Refuse报文给N。5.若N收到Refuse报文,则选择一个备用节点发送Join报文,回到3。若备用节点耗尽,则回到1。基于应用层组播的流媒体直播系统的设计与实现Cernet2关键技术与算法转发树重构域内节点一般都是普通PC,节点意外失效或强行退出引起的树的断裂会导致其可靠性较低,因此需要一个有效的机制在节点退出后快速地重构转发树[5-6]。链路预留技术节点退出分为节点正常退出和节点异常退出。正常退出之前,节点关闭当前运行的线程并释放所占资源,同时向其父节点与所有子节点发送Leave报文;父节点收到Leave报文后,更新所维护的节点的信息;子节点收到Leave报文,根据链路预留技术选择新的父节点。基于应用层组播的流媒体直播系统的设计与实现Cernet2关键技术与算法节点异常退出基于应用层组播的流媒体直播系统的设计与实现Cernet2系统性能测试及分析基于应用层组播的流媒体直播系统的设计与实现Cernet2小结本文设计并实现了一种应用层组播流媒体直播系统。该系统支持IPv4/IPv6;加入了节点管理功能,增强其可控性;提出了结合最大链路带宽与最近网络拓扑策略的节点选择算法和节点异常离开处理算法。通过实际运行测试,证明该系统有一定的应用价值,能够提供较好的视频直播服务。基于应用层组播的流媒体直播系统的设计与实现Cernet2参考文献[1].林予松.大规模网络环境下的组播通信技术研究[D].解放军信息工程大学,2005.[2].El-SayedA.Application-LevelMulticastTransmissionTechniquesOverTheInternet[D].INSTITUTNATIONALPOLYTECHNIQUEDEGRENOBLE,2004.[3].YeoCK,LeeBS,ErMH.Asurveyofapplicationlevelmulticasttechniques[J].ComputerCommunications,2004,27(15):1547-1568.[4].曹佳,鲁士文.应用层组播的最小延迟生成树算法[J].软件学报,2005,16(10):1765-1772.[5].徐敏,李仁发,乐光学.可扩展的实时流媒体应用层组播系统设计[J].计算机工程,2006,32(20):218-220.[6].王钊.基于Internet应用层组播在流媒体中的应用[J].微计算机应用,2006,27(1):49-51.[7].陈庆吉.支持实时多媒体传输的应用层组播系统[J].计算机工程,2005,31(4):136-140.基于应用层组播的流媒体直播系统的设计与实现Cernet2现在阶段进展基于P2P的流媒体直播系统改进:协议:应用层组播(树)->P2P(网状结构)流媒体:TCP->RTP;调度等策略的加入目的: 支持更大规模的流媒体直播,提高传输效率,降低延时,作为平台深入研究基于应用层组播的流媒体直播系统的设计与实现Cernet2系统框架图
WEB发布服务器普通结点超级结点(SN)Tracker上层部署一个WEB服务器,使用XML保存频道ID和发布源IP,用于频道发布。SN部署固定,为频道信息发布源。当有新频道发布时,首先向web服务器通知,web服务器使用XML保存频道ID和发布源IP,其他SN节点定时从web服务器更新获得频道列表信息;SN节点与发布源节点相连接获得流媒体信息。当有普通节点加入时,首先下载频道列表信息,点击所需频道连接本域内的SN节点得到父节点列表,从父节点列表中再次选出合适的父节点来获取数据信息。当节点退出时,分别向父、子及SN节点发送消息报文并更新各自列表信息,异常退出时,通过心跳算法更新列表信息。基于应用层组播的流媒体直播系统的设计与实现Cernet2SuperNodeSN节点管理:邻居SN列表(SNList);SN相邻子节点列表(SNPList);动态设置算法:令频道数最大定为M,每个SN节点的转发能力为N,SN中每个频道可转发数为N/M。频道数假设为A,域内当前播放频道数为B,则动态设定每个频道可转发数为(N-(A-B)N/M)/B;SN间的交互当有新的SN发布频道时,向SNList中的SN节点发送频道更新消息。SN定期向SNList中的SN节点发送自己正在转发的频道信息。基于应用层组播的流媒体直播系统的设计与实现Cernet2Tracker设计Tracker维护一个节点列表,该列表保存域内频道节点记录(频道ID和节点IP),为新节点加入提供服务。
每个域都配置一个Tracker,用来记录管理域内的节点信息,为新加入的节点提供邻居节点信息。1.Tracker维护的列表:TList:保存域内正在播放的频道信息和对应的节点信息(IP地址和节点性能参数)。2.选择节点算法(为新节点选择下载信息):先从TList中随机选择N个节点,然后根据IP地址最大匹配算法(考虑综合节点性能参数)从这N个节点中选择M个节点发给新节点。基于应用层组播的流媒体直播系统的设计与实现Cernet2普通节点设计维护三个表:
子节点表:本节点的子节点(向其发送数据)信息(包括频道ID和子节点IP)。父节点表:本节点的父节点(从其接收数据)信息(包括频道ID和子节点IP)。邻居表:备用节点信息(未连接的节点,包括频道ID和子节点IP,从这个表中选择通信节点)。普通节点间交互:邻居节点信息交互:节点与连接节点交互邻居表信息。节点维护信息:包括节点的正常退出报文、保持响应报文以及代理退出报文。
基于应用层组播的流媒体直播系统的设计与实现Cernet2节点加入流程图是连接SN无列表有列表否TC根据选择算法返回列表点击频道,连接TC节点根据列表选择父节点进行通信,获取资源信息SN间数据转发节点根据父节点的资源信息,调度下载,连接父节点从父节点获得数据,定期交换邻居节点打开程序连接YP,下载列表下载速率或连接节点小于一定值从邻居表中选择节点发起新的通信基于应用层组播的流媒体直播系统的设计与实现Cernet2节点管理--节点的退出正常退出:节点向其子节点、父节点、TC发送“leave”报文,子节点、父节点、TC更新列表信息。非正常退出:节点采用心跳算法对其子节点和父节点进行判断,若指定时间内没有反应,则在节点列表中删除相应节点记录。当节点退出导致域内无节点连接某频道,SN为该频道缓存一段时间。
基于应用层组播的流媒体直播系统的设计与实现Cernet2RTP/RTCPASF格式RTP协议封装发送策略RTCP数据包分析发送IPRTP/RTCP接收策略缓存策略调度策略缓存替换策略图一流媒体模块设计框架拆包策略发送流媒体部分将数据包拆成小于MTU(最大传输单元)的数据包,大小为1K左右,拆分后的每个包头加上一个序列号,使成为传输过程中唯一统一的序列号收到子节点“拉”信号时,发送子节点需要的数据包 收到子节点“推”信号时,顺序发送一级缓存中的数据包采用推拉相结合的策略,每个节点保存一个BufferMap,各节点定时信息交换,更新BufferMap中信息。设定一个最大调度值,一个最小调度值:Max值、Min值。二级循环队列中:当队尾序号-当前播放的序号<Min值时,采用拉的策略,查询每个节点的BufferMap,“拉”自己需要的数据包;当队尾序号-当前播放的序号>Max值时,采用推的策略,节点被动的接收数据包基于应用层组播的流媒体直播系统的设计与实现Cernet2缓存策略
2级缓存。第一级用队列,第二级采用循环队列。 如图所示,根据调度策略采取非顺序接收数据包,保存在一级缓存里。一级缓存负责整个系统中数据包的传输,包的调度;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆省速写考试题及答案
- 大型农用机械考试题及答案
- 收烟培训考试题及答案解析
- 护理换药考试题目及答案
- 艺校音乐考试题目及答案
- 暖气考试题目及答案
- 2026年高职物流(物流配送)试题及答案
- 《电脑组装与维修》课件
- 案例述职报告
- 超赋乐智:智力落后并非定型科学干预激活孩子大脑潜能
- 视频监控系统设备性能及技术标准报告
- 青州市高一数学试卷
- 2025年安规考试题试题库答案
- 涉案毒品管理办法
- 标书制作保密协议书
- 民兵培训课件
- 上海市金山区高中语文现代文阅读题100题含答案
- 2025年国家电投集团招聘笔试参考题库含答案解析
- 中建总承包项目高支模专项施工方案含计算书
- 心理咨询中不同层次的问题
- 99D102-1 6~10kV铁横担架空绝缘线路安装
评论
0/150
提交评论