基于应用层组播的流媒体直播系统的设计与实现Cernet2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 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。
设计与实现Cernet2
➢ 缓存策略 2级缓存。第一级用队列,第二 级采用循环队列。
如图所示,根据调度策略采取 非顺序接收数据包,保存在一 级缓存里。一级缓存负责整个 系统中数据包的传输,包的调 度;将有序的数据包保存到自 己的二级缓存里,主要负责本 地播放。
➢ 缓存替换策略 一级缓存采用LRU替换策略,替换 固定时间内访问次数最少的媒 体块包。 二级缓存采用先进先出策略替换
• 1• 4• 3• 2• 5• 8• 6• 1 0
• 2 • 3• 4
•1
•5
•1 1
•6
•1 0
•7
• 9• 8
• 图二 缓存策略
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
演讲完毕,谢谢听讲!
再见,see you again
2020/11/11
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
大匹配算法(考虑综合节点性能参数)从这N个节 点中选择M个节点发给新节点。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
普通节点设计
维护三个表:
➢ 子节点表:本节点的子节点(向其发送数据)信息(包括频道 ID和子节点IP)。
➢ 父节点表:本节点的父节点(从其接收数据)信息(包括频道 ID和子节点IP)。
• 打开程序连接YP,下载列表
• 点击频道,连接TC
有列表
节点根据列表选择父 节点进行通信, 获取资源信息
TC 根 据 选 择 算 法 返 回 列 表
无列表

连接
SN
SN间数据转发
节点根据父节点的资 源信息,调度 下载,连接父 节点
从父节点获得数据, 定期交换邻居 节点


下载速率或 连接 节点 小于 一定
➢ 邻居表:备用节点信息(未连接的节点,包括频道ID和子节点 IP,从这个表中选择通信节点)。
普通节点间交互: ➢ 邻居节点信息交互:节点与连接节点交互邻居表信息 。 ➢ 节点维护信息:包括节点的正常退出报文、保持响应报文
以及代理退出报文。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
节 点 加 入 流 程 图
➢ 该系统采用了两层架构,使整个系统具有较好的 扩展性;结合Scattercast的应用层网关思想, 部署多个数据代理服务器改善了域内扩展性与稳 定性。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
设计方案
• 模型设计采用两层架 构。域间采用应用层 组播技术构造转发树, 域内可灵活选用IP组 播或应用层组播技术。 节点采用集中控制方 式,分别部署一个转 发树节点管理服务器 (ListSrv)管理节 点。
关键技术与算法
节点异常退出
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
系统性能测试及分析
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
小结
➢ 本文设计并实现了一种应用层组播流媒体直播系统。 ➢ 该系统支持IPv4/IPv6;加入了节点管理功能,增强其可
控性;提出了结合最大链路带宽与最近网络拓扑策略的 节点选择算法和节点异常离开处理算法。 ➢ 通过实际运行测试,证明该系统有一定的应用价值,能 够提供较好的视频直播服务。
[3].Yeo C K,LeeB S,Er M H.A survey of application level multicast techniques[J].Computer Communications,2004,27(15):1547-1568.
[4].曹佳,鲁士文.应用层组播的最小延迟生成树算法[J].软件学报,2005, 16(10):1765-1772.
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
现在阶段进展
基于P2树)->P2P(网状结构) 流媒体:TCP->RTP;调度等策略的加入
目的: 支持更大规模的流媒体直播,提高传输效
率,降低延时,作为平台深入研究
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
每个域都配置一个Tracker,用来记录管理域内的节 点信息,为新加入的节点提供邻居节点信息。
1.Tracker维护的列表: • TList:保存域内正在播放的频道信息和对应的节
点信息(IP地址和节点性能参数)。 2.选择节点算法(为新节点选择下载信息): • 先从TList中随机选择N个节点,然后根据IP地址最
• 上层部署一个WEB服务器,使用XML 保存频道ID和发布源IP,用于频道 发布。
• SN部署固定,为频道信息发布源。 当有新频道发布时,首先向web服 务器通知,web服务器使用XML保存 频道ID和发布源IP,其他SN节点定 时从web服务器更新获得频道列表 信息;SN节点与发布源节点相连接 获得流媒体信息。
• 普通节点(peer)只需MixCast 负责节点选择,上下游节点的 维护,节点失效后的重构以及 从父节点获得数据,缓存部分 流媒体数据并进行转发与本地 回放。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
转发树构造
关键技术与算法
➢ 应用层组播构造涉及组播树中节点加入、节点退出和 节点失效后的重构[3]。
➢ 当节点退出导致域内无节点连接某频道,SN为该频道缓存 一段时间。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2

• ASF 格式
• 拆 包 • RTP 协 议 • 发送策
策略
封装



将数据包拆成小于MTU
• RTCP 数 据 包 分

(最大传输单元)的数


据包,大小为1K左右, 拆分后的每个包头加上
• 收到子节点“拉”信 RTP/RT号CP时,发送子节点需

一个序列号,使成为传 输过程中唯一统一的序

IP

要的数据包 收到子节点
列号
RTP/RT“CP推”信号时,顺序


发送一级缓存中的数 据包

分 采用推拉相结合的策略, • 每个节点保存一个
调 度
Buffer Map,各节点定 • 策
时信息交换,更新
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
参考文献
[1].林予松.大规模网络环境下的组播通信技术研究[D].解放军信息工程大 学,2005.
[2].El-Sayed A.Application-Level Multicast Transmission Techniques Over The Internet[D].INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE,2004.
–链路预留技术 –节点退出分为节点正常退出和节点异常退出。
• 正常退出之前,节点关闭当前运行的线程并释放所占资源, 同时向其父节点与所有子节点发送Leave报文;父节点收到 Leave报文后,更新所维护的节点的信息;子节点收到Leave 报文,根据链路预留技术选择新的父节点。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
[5].徐敏,李仁发,乐光学.可扩展的实时流媒体应用层组播系统设计[J].计 算机工程, 2006,32(20):218-220.
[6].王钊.基于Internet应用层组播在流媒体中的应用[J].微计算机应 用,2006, 27(1):49-51.
[7].陈庆吉.支持实时多媒体传输的应用层组播系统[J].计算机工程,2005, 31(4):136-140.
• 当有普通节点加入时,首先下载频 道列表信息,点击所需频道连接本 域内的SN节点得到父节点列表,从 父节点列表中再次选出合适的父节 点来获取数据信息。当节点退出时, 分别向父、子及SN节点发送消息报 文并更新各自列表信息,异常退出 时,通过心跳算法更新列表信息。
系统框架图
WEB发布服务器 超级结点(SN 普通结点

Buffer Map中信息。
• 接收设定一个最• 大缓存调度值M,in一值个。• 最缓 替小调存度值:发 送Max值、 • 策略二<级M循in环值队时• 列,策略中采:用当拉队的尾策序略• 号,换 略-查当策询前每播个放节的点序的号
Buffer Map,“拉”自己需要的数据包;
••
当图队一尾流序媒号体模-块当设前计播框放架的序号>Max值时,采用 推的策略基,于节应用点层被组播动的的流媒接体收直播数系据统的包
基于应用层组播的流媒 体直播系统的设计与实
现Cernet2
2020/11/11
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
• 一、论文 • 二、近期工作
内容
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
引言
➢ 随着互联网的发展,流媒体业务逐渐增多,其中 网络电视、网络教学等领域的视频直播服务具有 广阔的应用前景。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
设计方案
• 系统软件包括Windows Media Encoder、ListSrv和MixCast。
• Windows Media Encoder对流 媒体文件编码;
• ListSrv负责接受用户的加入请 求,监控整个系统的逻辑拓扑, 管理并存放节点的信息(节点 本机IP以及该节点的所有子节 点IP、度、标志位);
SN间的交互 • 当有新的SN发布频道时,向SNList中的SN节点发送频道更新消
息。 • SN定期向SNList中的SN节点发送自己正在转发的频道信息。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
Tracker设计
Tracker维护一个节点列表,该列表保存域内频道节点记 录(频道ID和节点IP),为新节点加入提供服务。
➢ 转发树的构造在整个应用层组播视频直播系统中至关 重要,包括节点选择策略和节点加入算法。
➢ 节点选择策略: 基于最大链路带宽与最近网络拓扑节点选择相结合的
算法
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
➢ 节点加入算法(图)
• 1.图1中,M为该域的MDP,L为该域的ListSrv,节点M 为初始化时的父节点。
Track er
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
Super Node
SN节点管理:邻居SN列表(SNList); SN相邻子节点列表(SNPList);
动态设置算法:令频道数最大定为M,每个SN节点的转发能 力为N,SN中每个频道可转发数为N/M。频道数假设为A, 域内当前播放频道数为B,则动态设定每个频道可转发数 为(N-(A-B)N/M)/B;
• 5.若N收到Refuse报文,则选择一个备用节点发送Join 报文,回到3。若备用节点耗尽,则回到1。
基于应用层组播的流媒体直播系统的 设计与实现Cernet2
关键技术与算法
转发树重构
• 域内节点一般都是普通PC,节点意外失效或强行退出引 起的树的断裂会导致其可靠性较低,因此需要一个有效的 机制在节点退出后快速地重构转发树 [5-6]。
• 值是
• 从邻居表中选择节
点发起基新于的应通用信 层组播的流媒体直播系统的
设计与实现Cernet2
节点管理--节点的退出
➢ 正常退出:节点向其子节点、父节点、TC发送“leave” 报文,子节点、父节点、TC更新列表信息。
➢ 非正常退出:节点采用心跳算法对其子节点和父节点进行 判断,若指定时间内没有反应,则在节点列表中删除相应 节点记录。
相关文档
最新文档