2. 接收过程
由于单播的可靠性,转发主机直接使用单播接收到的数据播放。其余的客户机由于接收多播信号,所以要考虑两方面的问题:
首先,多播是不可靠的协议,那么它要检测网络质量,判断丢包率。当丢包率达到一定程度的时候,实际上是无法解码的,尤其是关键帧数据。同时因为直播的实时性,再次申请补发丢失的包有可能导致补发的数据失效。所以该部分算法可以考虑多缓冲,动态延时等多种技术的综合。在网络质量、效率和延时之间取得一个平衡。
其次,由于转发主机是客户机,随时可能关闭或者出故障。所以其余的客户机要考虑在失去超级节点后,重新选举超级节点,这就导致我们必须考虑使用结构化协议的某些特性,下面研究超级节点的迁移。
多播流转发的过程必须考虑超级节点迁移的问题。在直播过程中的超级节点迁移不同于普通的P2P 文件传输中的节点迁移,主要的问题是需要满足直播的实时性以及流媒体传输的要求。
就该类型的直播而言,延时不能太长,同时在节点切换时延时要尽可能小。基于此可以参考结构化的P2P 协议:每个客户机都要保存整个网络拓扑,同时用心跳信号通知其他节点自己的生存状态,然后指定一个统一的规则(如,利用在心跳信号中附带客户机的信息,包括当前网络流量和CPU占有率,选择压力最小的客户机作为多播转发主机)来指定超级节点的继任者。
在当前多播转发主机退出转发以后,会发生超级节点的迁移。大概流程如下:
当客户机接收多播信号超时后,会首先单播连接服务器,确保信号的稳定性。然后,客户机会发送心跳信号,同时等待接收来自其他客户机的心跳信号。
如果客户机没有接收到来自其他客户机的心跳信号,说明当前子网只有一个客户机,该客户机就会继续以单播方式直连服务器。
当客户机收到来自其他客户机的心跳信号,它会更新自己的子网拓扑结构。直到客户机不再收到任何心跳信号,客户机会根据筛选规则计算子网拓扑结构里的各个节点(客户机),找出新的超级节点。
如果当前客户机本身就是计算出的超级节点,那么客户机会开始发送多播信号,否则客户机依然在保持单播的情况下尝试接收多播信号,直到接收到多播信号,则立刻断开单播连接。
这样超级节点的迁移过程就完成了。
3. 与P2P的比较
P2P是点对点之间的数据传输,虽然减轻了服务器的压力,但是实际上将压力分摊到了客户机的网络上。在校园网内,客户机的网络流量依然要占去校园网总流量的一部分,这和互联网中每个客户机都是独立的网络流量承担者不同,因此P2P机制并不适合校园网,而是适合互联网。
多播转发机制不同,可以看成是点对多点(子网内所有加入多播组的点)的数据传输,不但减轻了服务器压力,同时也不会对校园网造成压力。由于多播转发主要在一个子网内发生,因此这种传输机制适合大型内部网,而不适合互联网。
(1) 使用多播流转发技术可以在不改变现有网络配置,且不增加网络带宽负担的情况下,在原有直播服务器上利用软件系统实现视频的直播与点播功能,并且可以有效地减少视频流量对网络的压力。
(2)多播流转发技术适合在网络环境复杂,且结构为“星”型结构的大中型校园网(或局域网)中应用。
(3)多播流转发技术结合了“组播”与“单播”技术的优点,无需投入更多的硬件设备,减少了管理者的经济负担。
(4)通过实际应用,多播流转发技术可靠稳定。
(作者单位为首都体育学院现代教育技术中心)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。