CN101938508B - 对等网络流媒体直播***中延时减小的方法和*** - Google Patents
对等网络流媒体直播***中延时减小的方法和*** Download PDFInfo
- Publication number
- CN101938508B CN101938508B CN2009101487269A CN200910148726A CN101938508B CN 101938508 B CN101938508 B CN 101938508B CN 2009101487269 A CN2009101487269 A CN 2009101487269A CN 200910148726 A CN200910148726 A CN 200910148726A CN 101938508 B CN101938508 B CN 101938508B
- Authority
- CN
- China
- Prior art keywords
- routing server
- cache routing
- peer client
- peer
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种对等网络流媒体直播***中延时减小的方法和***,在***中部署媒体源节点,用于整个***的媒体资源管理,以及缓存路由服务器,用于局部域内的媒体资源管理、路由计算和peer客户端管理;缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;当需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
Description
技术领域
本发明涉及网络流媒体技术领域,特别是指一种对等网络(P2P,peer-to-peer)流媒体直播***中延时减小的方法和***。
背景技术
随着互联网的发展,利用网络进行流媒体播放成为一个热点。流媒体是指在互联网(Internet)/内部网(Intranet)上使用流式传输技术的多媒体,流媒体在播放前不需要下载整个文件,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片断,然后依次把这些片断发给用户,连续播放这些片断就形成了连续的声音和图像。传统的网络流媒体播放***一般基于客户机/服务器(C/S)模式。但是由于流媒体播放需要消耗大量的网络带宽和服务器资源,因此,这种模式严重限制了网络流媒体业务的发展。以一个占用带宽为300kbps的网络视频流为例,当有1000个用户同时观看时,需要的带宽是300Mbps。这样的性能要求对于大多数服务器来说是满足不了的。如果要支持几万甚至几十万的用户,采用这种C/S模式几乎是不可能的。当然,增加服务器数量和提高带宽是一个解决方式,但是这种方式需要巨大的成本开支,所以我们需要通过新的技术手段解决这个问题。互联网协议(IP)组播是解决网络流媒体多路传输消耗大量带宽的一种技术。利用组播,可以将一份数据同时发送给一组特定的用户,从而避免了数据的重复发送,不会造成网络带宽的浪费,非常适合网络流媒体传输。但是IP组播也具有自身的问题。因为Internet是个异构网络,硬件平台千差万别,互连设备在对组播的支持上也存在差异,因此,IP组播在实际应用中存在部署的困难。
对等网络是最近几年新兴的网络技术,相对于传统的C/S模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各节点可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务,同时扮演着C/S模式中服务器和客户机的双重角色,甚至还可以具有路由器和高速缓存的功能。在P2P模式下,由于每个节点都具有客户机和服务器的功能,这样,每个节点在从别的节点接收数据流的同时还向其他节点发送数据流。利用这个特点,P2P网络技术可以应用现有的计算资源和有限网络带宽实现大规模网络流媒体直播。
在P2P流媒体***中首先需要解决的问题是让新加入的节点(peer)从哪个或哪些节点获取节目数据,以及允许该peer节点为哪些节点提供数据服务。本质上也是peer节点拓扑查找的问题。在已有研究中大多数的工作是把peer节点组织成组播树,每棵组播树上的节点共享从源服务器一个频道所流出的数据,每个节点只参与到一棵组播树。这种数据分发方式在服务提供者和服务消费者数目关系上属一对多模式。由于基于单棵组播树的数据分发存在诸如叶子节点带宽资源得不到有效利用、中间节点的离开或失效行为对子节点的影响较大、服务质量(QoS)难以保障等问题,人们因此也提出了基于多棵组播树的数据分发和基于随机拓扑的数据分发等方案。在基于多棵组播树的数据分发方案中,数据流在源服务器端被分割成多条子流,每条子流用一棵单独的组播树进行传输,每个peer节点可以根据自己的带宽资源情况加入到单棵或多棵组播树中。虽然多树方案提出的组播森林一定程度上解决了单树模型的很多问题,但是由于其仍然基于树状拓扑的基本组播结构仍然有不少难以克服的问题。
将组播树分化为组播森林大大增加了组播结构的复杂度:
树的深度同样难于控制,特别是当树的深度达到一定层次之后,组播森林中不同组播树的延迟可能会不均衡,从而导致节目质量难以满意;
当面对大量在线节点频繁的加入退出时组播树难于平衡,组播森 林中某棵组播棵树的不平衡甚至会导致整个组播森林的崩溃;
组播森林中的关键节点意外退出或者服务能力不能满足时,其全部后继节点的服务质量同样难以保证;
节点的加入退出机制更加复杂,加入时间更长;
组播森林的维护开销过高,且开销随着组播树的数目指数级递增Cool Streaming/DONET为代表的采用基于Gossip协议的非结构化组播结构,不同于树状结构模型。Cool Streaming/DONET提供的是一个近似图状的非结构化组播模型,在这一模型中数据的流向不再单一而更加多变,需要引入专门的数据分块和调度机制以适应这一结构,其具有如下优点:
结构上具有更好的可扩充性,可以支持更多的用户;
可以较好的解决异构节点和不对称节点带来的服务质量下降问题,更加适宜在Internet上使用;
稳定性较好,节点的非正常退出对整个组播结构影响较小,即使是大量用户在线组播结构也易于平衡;
延迟相对较小,当用户数量达到一定水平后,相对于同等用户数目的树状模型而言,数据到达边缘节点走过的跳数较少,延迟自然较低。
但是,Cool Streaming/DONET模型自身也有一些不足:
节点自由度太高,对运营商而言无可控性;
没有与底层物理拓扑相结合;
DONet在保证了***的可靠性的同时取得了网络效率,但却牺牲了延时。DONet中的主要问题是***的启动延时和网络异构带宽的适应性。
发明内容
有鉴于此,本发明的目的在于提出一种P2P流媒体直播***中延时减小的方法和***,加强流媒体***构建的Overlay与底层物理网络匹配特性,缩短播放的延时,缓存路由服务器通过推送媒体资源给peer 客户端大幅度减小节点播放的启动延时。
基于上述目的本发明提供的一种对等网络P2P流媒体直播***中延时减小的方法,在***中部署媒体源节点,用于整个***的媒体资源管理;以及一个以上的缓存路由服务器,用于局部域内的媒体资源管理、路由计算和peer客户端管理;并包括:
在收到peer客户端的流媒体数据接收请求后,缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;
当请求peer客户端需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;
当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
可选的,该方法还包括:媒体源节点发送自己管理的缓存路由服务器列表的动态信息给各个缓存路由服务器,定时发送询问该缓存路由服务器是否存活的心跳消息给对应的缓存路由服务器;
缓存路由服务器回应自身心跳消息给媒体源节点,在心跳消息中包含自身的带宽和能力值编码信息;
媒体源节点根据回应的信息更新维护的缓存路由服务器列表。
可选的,该方法还包括:缓存路由服务器对于所管理的peer客户端的加入和离开行为在本地peer客户端列表中进行更新;
缓存路由服务器将所管理的peer客户端列表以及该缓存路由服务器根据peer客户端的行为进行处理的结果发送给媒体源节点。
可选的,该方法当有新peer客户端加入时,该方法进一步包括:媒体源节点根据地域优先的原则,将新peer客户端指派给相应的缓存路由服务器;
新peer客户端向缓存路由服务器请求加入,缓存路由服务器根据该新peer客户端请求的频道,在本地缓存中采用时间坐标检索所需要 的媒体资源,如果存在当前正在播放的媒体资源,将流媒体数据片段推送给新peer客户端;
如果所需的媒体资源不存在,则向媒体源节点请求媒体资源,缓存路由服务器从媒体源节点通过拉的方式获取流媒体数据片段信息;
缓存路由服务器获取到媒体资源后,推送给请求的peer客户端,同时更新所维护的媒体资源缓存。
可选的,该方法还包括:各个缓存路由服务器之间将所管理的peer客户端列表通过心跳信息进行交互。
可选的,该方法所述缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互还包括:peer客户端根据当前带宽和CPU占用率计算表明该peer客户端的当前处理能力的能力值;peer客户端把自己能力值和BM块信息附加在心跳消息中发送给缓存路由服务器;
当收到peer客户端的流媒体数据接收请求时,缓存路由服务器根据获得的所述能力值和BM块信息,采用层次匹配算法进行路由计算确定合适的peer客户端,并将路由计算结果发送给所述请求peer客户端。
可选的,该方法所述路由计算过程包括:
A.根据客户端IP所处网段的顺序递增性对数据库的每段网络的起始IP定义索引,对于多层网段,逐层从最小IP网段依次建立索引直至最高层;
B.用客户端IP和步骤A建立的索引IP进行比较匹配,判断接近距离,按照现有IP四段数值的划分,从高段依次匹配直至低段;
C.按照网络层次轮流匹配索引,从最高层逐层深入,直至最低层,最终选定划分的区域,并对该IP进行加以网络区域标志;
D.根据区域标志位进行优先匹配;
E.将匹配结果排序,按照排序结果,逐个将BM块进行比较,从中选择具有所需BM块且IP地址匹配靠前的peer客户端作为路由结果。
可选的,该方法所述缓存路由服务器管理的peer客户端需要的数据在该缓存路由服务器管理的peer客户端中不存在时,向其他缓存路由服务器请求数据的过程进一步包括:
如果被请求数据的缓存路由服务器负载超过预先设定的阈值,则该被请求的缓存路由服务器从所管理的peer客户端中,选择一个peer客户端,返回给请求peer客户端作为路由结果。
可选的,该方法所述其它缓存路由服务器及其所管理的peer客户端没有所需数据或不提供数据服务时,peer客户端所属缓存路由器还判断:若当前媒体源节点在负载阈值之下,则由媒体源节点提供数据服务;若当前媒体源节点超过负载阈值,则拒绝服务。
可选的,该方法所述缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败的情况包括:其它缓存路由服务器及其所管理的peer客户端没有所需数据或不提供数据服务。
基于上述目的,本发明还提供了一种对等网络(P2P)流媒体直播***中延时减小的实现***,其特征在于,包括:
媒体源节点,用于整个***的媒体资源管理;
一个以上的缓存路由服务器,用于局部域内的媒体资源管理、路由计算和节点管理;所述缓存路由服务器在其所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;当请求peer客户端需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
可选的,该***所述媒体源节点进一步包括:
区域管理单元,根据用户数量和分布地域,创建并管理域,根据设备资源特点选择并指定域内缓存路由服务器,获取各域的资源统计信息;根据域内成员的数量决定域的合并和***;
节点管理单元,通过与运营支撑***用户认证模块接口,认证peer 客户端的peer ID、付费信息,确保其合法性;根据终端特点如地址、内容,指定其加入相关域;管理全网的服务器、peer资源。
路由计算单元,对全网资源数据进行初步筛选,定时向缓存路由服务器推送域外路由信息;根据缓存路由服务器路由请求,查询其存储的全网资源统计信息,选择向其它缓存路由服务器请求相关路由信息;
网管接口单元,具有网管代理Agent与运营支撑***中的平台管理模块接口,实现管理、维护软件升级。
可选的,该***缓存路由服务器包括:
节点资源管理单元,存储并管理域内peer客户端的资源信息、域外的资源信息;
节点管理单元,管理域内peer客户端的加入、退出;通过与域内peer客户端的通讯接口,定期与peer客户端通讯,监测peer客户端状态。
路由计算单元,与媒体源节点通讯,获取最新的资源路由信息;根据peer客户端的特征,对资源数据的初步计算,定时向peer客户端推送路由信息;计算时将兼顾域内负载均衡;响应并应答域内peer客户端的路由请求,代表peer客户端向媒体源节点请求新的域外路由;
网管接口单元,具有网管Agent与运营支撑***中的平台管理模块接口,实现缓存路由服务器的管理、维护、软件升级。
从上面所述可以看出,本发明提供的P2P流媒体直播***中延时减小的方法和***,通过在***中部署媒体源节点和缓存路由服务器,形成由peer客户端、缓存路由服务器、媒体源的三级P2P媒体网络结构。在网络运行过程中,通过媒体源,缓存路由服务器和peer客户端的信息交互,组织形成网络拓扑结构,构建Overlay网络。缓存路由服务器在新peer客户端加入时,通过推送方式,为peer客户端提供当前播放的数据片段,减小peer客户端播放的启动延时。缓存路由服务器计算路由时,按照IP地址的分层匹配方法,将数据的交换尽量保持在底层物理网络匹配的节点间,降低节点底层网络带宽的消耗和负载。通过不同缓存路由服务器间的信息交换,peer客户端在本区域内获 取不到有效数据时,可以跨越区域获取数据。使用本方法通过缓存路由服务器的推送,减小直播启动延时。通过增强P2P流媒体***的覆盖网与物理网络匹配性,提高媒体数据获取效率,减小直播播放延时。
具体包括如下有益效果:
1)强大的可控性,由于缓存路由服务器和媒体源节点都是由运营商部署管理,peer客户端的行为完全由缓存路由服务器和媒体源节点控制,因此,可以获得对P2P流媒体网络的控制权。
2)大幅度减小播放启动延时,缓存路由服务器主动将当前播放的媒体数据推送给新加入节点,新节点可以立即进行播放,节点在播放过程中进行P2P网络的拓扑生成,大幅度减小了播放的启动延时。
3)大幅度减小播放延时,通过缓存路由服务器进行统一的路由管理,减小了伙伴搜索的盲目性。通过IP地址分级索引使得在底层物理网络中邻近的节点互相交换视频流媒体数据;由缓存路由服务器来维护在底层物理网络中邻近的普通节点的主机性能(这里只考虑了处理速度和存储)、带宽利用率等相关信息,并根据这些相关信息对节点进行管理。通过这种方法降低了媒体源节点和缓存路由服务器的连接压力以及端对端的数据传输延迟,而这两项参数的降低可以大大减少播放过程中的延时。
4)结构简洁,节点间采用了DoNet的做法,把节点管理和流媒体数据的传输分开进行,根据数据传送的流向来分发流媒体数据,又部署了缓存路由服务器来管理节点,不需要维护很复杂的数据结构。
5)良好的可扩展性,不需要维护大量的数据结构,每个普通节点只保存它需要的其他节点的信息,而缓存路由服务器只负责管理和维护和它在一个物理网络中的节点信息,随着节点加入视频流媒体网络的增加,性能更好,适应性强。
附图说明
图1为本发明实施例***结构及节点交互过程示意图;
图2为本发明实施例媒体源节点内部结构示意图;
图3为本发明实施例缓存路由服务器内部结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明对等网络P2P流媒体直播***中延时减小的方法的技术方案主要包括:
在***中部署媒体源节点,用于整个***的媒体资源管理;并将***中的一部分服务器(一个以上)部署为缓存路由服务器,用于局部域内的媒体资源管理、路由计算和peer客户端管理;其他普通节点作为peer客户端。
在收到peer客户端的流媒体数据接收请求后,缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;
当请求peer客户端需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;
当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
针对上述方案有以下说明:缓存路由服务器管理的peer客户端间进行流媒体数据交互,这是网络中视频流媒体数据交换的主要路径,缓存路由服务器计算路由时采用将IP地址分层匹配的方法,将数据的交换尽量保持在底层物理网络匹配的节点间,降低节点底层网络带宽的消耗和负载。
当缓存路由服务器管理的peer客户端需要的数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器才向其它缓存路由服务器请求数据信息;当被请求的缓存路由服务器不提供数据服务 时,从该被请求的缓存路由服务器所管理peer客户端中选择,回复给请求peer客户端,peer客户端与其建立数据连接。
缓存路由服务器自己管理的peer客户端中没有需要的数据以及其它域没有拥有所需要数据的peer客户端时,缓存路由服务器从其它缓存路由服务器获取所需数据直接发送给请求的peer客户端。
其它缓存路由服务器及其所管理的peer客户端没有所需数据或不提供数据服务时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
本发明较佳实施例中,媒体源节点和缓存路由服务器定时进行控制信息的双向交互,主要包括:a)缓存路由服务器管理peer客户端的动态变化信息,以及缓存路由服务器对peer客户端进行的处理信息。b)媒体源节点发送自己管理的缓存路由服务器列表的动态信息给各个缓存路由服务器,并定时发送询问该缓存路由服务器是否存活的心跳消息给对应的缓存路由服务器;缓存路由服务器收到询问信息后,会回应自身心跳消息给媒体源节点,在心跳消息中包含自身的带宽和能力值编码信息;媒体源节点根据回应的信息更新维护的缓存路由服务器列表。
peer客户端和缓存路由服务器之间还进行双向控制信息交互:缓存路由服务器把选择出来的路由信息发送给请求路由的peer客户端;每个peer客户端把自己可用带宽,处理能力等动态变化信息周期性的发送给缓存路由服务器。
另外,缓存路由服务器对于所管理的peer客户端的加入和离开行为在本地peer客户端列表中进行更新;
缓存路由服务器将所管理的peer客户端列表以及该缓存路由服务器根据peer客户端的行为进行处理的结果发送给媒体源节点。
各个缓存路由服务器之间将所管理的peer客户端IP列表通过心跳信息进行交互。
本发明优选实施例中,缓存路由服务器从媒体源节点通过拉的方式获取流媒体数据片段信息,在媒体源节点负载较重的情况下,禁止其他节点直接从媒体源节点获取数据,只允许缓存路由服务器从媒体源节点 直接获取数据。这里所述其他节点不但包括peer客户端,还包括其他缓存路由服务器等,也就是说媒体源节点应该有连接数限制,当连接数超限时,拒绝其他任何节点的连接。
缓存路由服务器和它所管理的peer客户端交换流媒体数据信息,当缓存路由服务器管理的peer客户端数比较少时,它提供部分可用带宽给其他peer客户端服务;而当peer客户端数增加到一定程度时,则该缓存路由服务器只会提供路由服务和初始推送数据服务,而不提供数据交换服务;缓存路由服务器主动推送当前播放片段给新加入的peer客户端。
下面结合附图和具体实施例,对本发明技术方案进行详细说明。
参见图1所示的***结构,本发明提出的P2P流媒体直播***中延时减小的实现***,包括:
媒体源节点10,用于整个***的媒体资源管理;缓存路由服务器20,用于局部域内的媒体资源管理、路由计算和节点(包括peer客户端30和缓存路由服务器20)管理;以及peer客户端30。
其中,媒体源节点10是资源的集中控制中心,要求设备能够符合电信运营的要求,具有电信级的可靠性和稳定性,由运营商组建。
参见图2所示,媒体源节点10主要包括:
区域管理单元201,根据用户数量和分布地域,创建并管理域,根据设备资源特点选择并指定域内缓存路由服务器20,获取各域的资源统计信息;根据域内成员的数量决定域的合并和***。
节点管理单元202,通过与运营支撑***用户认证模块接口,认证终端(一般为peer客户端)的peer ID、付费信息,确保其合法性;根据终端特点如地址、内容等指定其加入相关域。管理全网的服务器、peer资源(含中心和边缘内容源服务器)。
路由计算单元203,对全网资源数据进行初步筛选,定时向缓存路由服务器推送域外路由信息(如服务器、可用终端等);根据缓存路由服务器20路由请求,查询其存储的全网资源统计信息,选择向其它缓存路由服务器20请求相关路由信息(由后者进行路由计算,返回一定 数量的域外路由信息);路由计算时将兼顾各域的负载,实现全局负载均衡。
网管接口单元204,具有网管代理(Agent)与运营支撑***中的平台管理模块接口,实现管理、维护软件升级。
缓存路由服务器20是区域管理中心,负责管理区域内节点(主要包括peer客户端)的资源。
参见图3所示,缓存路由服务器20的主要包括:
节点资源管理单元301,存储并管理域内peer客户端30的资源信息(如用户ID、内容片段等)、域外的资源信息(如用户ID、内容片段等)。
节点管理单元302,管理域内peer客户端30的加入、退出。通过与域内peer客户端30的通讯接口,定期与peer客户端30通讯,监测peer客户端状态。
路由计算单元303,与媒体源节点10通讯,获取最新的资源路由信息,如新的边缘存储服务器加入等;根据peer客户端30的特征,对资源数据的初步计算,定时向peer客户端30推送路由信息;计算时将兼顾域内负载均衡;响应并应答域内peer客户端30的路由请求,代表peer客户端30向媒体源节点10请求新的域外路由。
网管接口单元304,具有网管Agent与运营支撑***中的平台管理模块接口,实现缓存路由服务器的管理、维护、软件升级。
另外,在媒体源节点10和缓存路由服务器20中,都具有网络接口(Net Interface),用于与网络中的其他节点(包括媒体源节点、缓存路由服务器、peer客户端等)连接。
参见图1所示,本发明P2P流媒体直播***中延时减小方法的一个实施例,包括如下步骤:
1)媒体源节点和缓存路由服务器之间的信息交换和维护。
步骤101,媒体源节点发送自己管理的缓存路由服务器列表的动态信息给各个缓存路由服务器,定时发送询问该缓存路由服务器是否存活的心跳消息给对应的缓存路由服务器。其中,路由服务器列表中至少包 括:缓存路由服务器地址信息、及这些缓存路由服务器对应的状态信息。
步骤102,缓存路由服务器回应自身心跳消息给媒体源节点。在心跳消息中包含自身的带宽和能力值编码信息。媒体源节点根据回应的信息更新维护的缓存路由服务器列表。
步骤103,缓存路由服务器将所管理的peer客户端列表以及缓存路由服务器根据peer客户端的行为进行处理的结果发送给媒体源节点。对于peer客户端的加入和离开行为缓存路由服务器在所管理的peer客户端列表中进行更新。其中,peer客户端列表主要包括:peer客户端的编号、IP地址、状态等信息。
2)当有新peer客户端加入时,一般情况下新peer客户端加入就意味着请求媒体资源,执行步骤104-107。
步骤104,媒体源节点根据地域优先的原则,将新peer客户端指派给相应的缓存路由服务器。
步骤105,新peer客户端向缓存路由服务器请求加入,缓存路由服务器根据其请求的频道,在缓存中采用时间坐标检索所需要的媒体资源,如果存在当前正在播放的媒体资源,将60秒流媒体数据片段推送给新加入peer客户端。该peer客户端获取数据后,可以立即播放,缩短启动延时;如果适合媒体资源不存在,向媒体源节点请求媒体资源。
步骤106,缓存路由服务器从媒体源节点通过拉的方式获取流媒体数据片段信息。为了***体源节点的负载不会过于拥塞,可以为媒体源节点设置负载阈值,并只允许缓存路由服务器从媒体源节点直接获取数据。其中,所述负载阈值可灵活设置,例如:可以限制媒体源节点的连接数为1000,或者限制CPU利用率到80%,或者限制带宽利用率到90%的时候,媒体源节点不在接受新的连接请求。
步骤107,缓存路由服务器获取到媒体资源后,推送给请求的peer客户端,同时更新所维护的媒体资源缓存。
另外,当缓存路由服务器管理的peer客户端数比较少时,该缓存路由服务器对控制信息的管理负载相对较小,则它可以提供部分可用带 宽给其他peers视频流媒体数据,充当Peer客户端;而当peer客户端数增加到一定程度时,该缓存路由服务器对控制信息的管理负载相对较大,则该缓存路由服务器只为其他peers提供路由和初始流媒体数据提供,而不提供数据交换功能,保证了缓存路由服务器的负载保持在一定程度。
3)在步骤108-110中,缓存路由服务器和其他缓存路由服务器之间还可以进行管理peer客户端列表的信息交换。
步骤108,各个缓存路由服务器之间将所管理的peer客户端列表通过心跳信息进行交互。
步骤109,单个Peer客户端会根据当前带宽和CPU占用率计算出一个能力值,该值表明该Peer客户端的当前处理能力。单个peer客户端把自己能力值和BM块信息通过附加在心跳消息中发送给缓存路由服务器。
步骤110,当收到peer客户端的流媒体数据接收请求时,缓存路由服务器根据获得的所述能力值和BM块信息,缓存路由服务器采用层次匹配算法进行路由计算。按照IP地址进行最优匹配,匹配按照以下步骤进行:
A.根据客户端IP所处网段的顺序递增性对数据库的每段网络的起始IP定义索引。对于多层网段,逐层从最小IP网段依次建立索引IP直至最高层。其中,缓存路由服务器内部可利用所述数据库存储这些索引IP及BM块信息,以方便快速读写信息。
B.用客户端IP和步骤A建立的索引IP进行比较匹配,判断接近距离。按照现有IP四段数值的划分,从高段依次匹配直至低段。
C.按照网络层次轮流匹配索引,从最高层逐层深入,直至最低层,最终选定划分的区域,并对该IP进行加以网络区域标志。
D.根据区域标志位进行优先匹配。
E.将匹配结果排序,按照排序结果,逐个将BM块进行比较,从中选择具有所需BM块且IP地址匹配靠前的peer客户端作为路由结果。
4)缓存路由服务器管理的peer客户端需要的数据在该缓存路由服务器管理的peer客户端中不存在时,还可以通过以下步骤111-114在其他缓存路由服务器和其所管理的peer客户端、甚至媒体源节点中寻找。
步骤111,缓存路由服务器管理的peer客户端需要的数据在该缓存路由服务器管理的peer客户端中不存在时,向其他缓存路由服务器请求数据。其中,考虑需要交换数据的缓存路由服务器的负载情况,如果被请求数据的缓存路由服务器负载过大,超过预先设定的阈值,则该被请求的缓存路由服务器就不会提供数据服务。该被请求的缓存路由服务器会从所管理的peer客户端中,选择一个peer客户端(响应的路由信息),返回给请求peer客户端作为路由结果。其中,所述阈值可灵活设置,例如:可以限制缓存路由服务器的连接数为1000,或者限制CPU利用率到80%,或者限制带宽利用率到90%的时候,缓存路由服务器不在接受新的连接请求。
步骤112,缓存路由服务器将计算的路由回应给请求路由的peer客户端。
步骤113,peer客户端收到路由结果后,根据路由结果与peer客户端或缓存路由服务器建立数据连接,交换流媒体数据,这是网络中视频流媒体数据交换的主要路径。
步骤114,若缓存路由服务器找不到需要的路由时,同时媒体源节点在负载阈值之下,可以由媒体源节点提供数据服务。就从媒体源节点获取数据,推送给请求peer客户端,若当前媒体源节点超过自身的负载阈值,则拒绝服务。
需要说明的是,以上步骤1)-4)并代表执行顺序,实际应用中可根据不同情况直接进入对应步骤。
以上所述的具体实施例仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种对等网络P2P流媒体直播***中延时减小的方法,其特征在于,在***中部署媒体源节点,用于整个***的媒体资源管理;以及一个以上的缓存路由服务器,用于局部域内的媒体资源管理、路由计算和peer客户端管理;并包括:
在收到peer客户端的流媒体数据接收请求后,缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;
当请求peer客户端需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;
当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:媒体源节点发送自己管理的缓存路由服务器列表的动态信息给各个缓存路由服务器,定时发送询问该缓存路由服务器是否存活的心跳消息给对应的缓存路由服务器;
缓存路由服务器回应自身心跳消息给媒体源节点,在心跳消息中包含自身的带宽和能力值编码信息;
媒体源节点根据回应的信息更新维护的缓存路由服务器列表。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:缓存路由服务器对于所管理的peer客户端的加入和离开行为在本地peer客户端列表中进行更新;
缓存路由服务器将所管理的peer客户端列表以及该缓存路由服务器根据peer客户端的行为进行处理的结果发送给媒体源节点。
4.根据权利要求1所述的方法,其特征在于,当有新peer客户端加入时,该方法进一步包括:媒体源节点根据地域优先的原则,将新peer客户端指派给相应的缓存路由服务器;
新peer客户端向缓存路由服务器请求加入,缓存路由服务器根据该新peer客户端请求的频道,在本地缓存中采用时间坐标检索所需要的媒体资源,如果存在当前正在播放的媒体资源,将流媒体数据片段推送给新peer客户端;
如果所需的媒体资源不存在,则向媒体源节点请求媒体资源,缓存路由服务器从媒体源节点通过拉的方式获取流媒体数据片段信息;
缓存路由服务器获取到媒体资源后,推送给请求的peer客户端,同时更新所维护的媒体资源缓存。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:各个缓存路由服务器之间将所管理的peer客户端列表通过心跳信息进行交互。
6.根据权利要求1所述的方法,其特征在于,所述缓存路由服务器在所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互还包括:peer客户端根据当前带宽和CPU占用率计算表明该peer客户端的当前处理能力的能力值;peer客户端把自己能力值和BM块信息附加在心跳消息中发送给缓存路由服务器;
当收到peer客户端的流媒体数据接收请求时,缓存路由服务器根据获得的所述能力值和BM块信息,采用层次匹配算法进行路由计算确定合适的peer客户端,并将路由计算结果发送给所述请求peer客户端。
7.根据权利要求6所述的方法,其特征在于,所述路由计算过程包括:
A.根据客户端IP所处网段的顺序递增性对数据库的每段网络的起始IP定义索引,对于多层网段,逐层从最小IP网段依次建立索引直至最高层;
B.用客户端IP和步骤A建立的索引IP进行比较匹配,判断接近距离,按照现有IP四段数值的划分,从高段依次匹配直至低段;
C.按照网络层次轮流匹配索引,从最高层逐层深入,直至最低层,最终选定划分的区域,并对该IP进行加以网络区域标志;
D.根据区域标志位进行优先匹配;
E.将匹配结果排序,按照排序结果,逐个将BM块进行比较,从中选择具有所需BM块且IP地址匹配靠前的peer客户端作为路由结果。
8.根据权利要求1所述的方法,其特征在于,所述缓存路由服务器管理的peer客户端需要的数据在该缓存路由服务器管理的peer客户端中不存在时,向其他缓存路由服务器请求数据的过程进一步包括:
如果被请求数据的缓存路由服务器负载超过预先设定的阈值,则该被请求的缓存路由服务器从所管理的peer客户端中,选择一个peer客户端,返回给请求peer客户端作为路由结果。
9.根据权利要求8所述的方法,其特征在于,所述其它缓存路由服务器及其所管理的peer客户端没有所需数据或不提供数据服务时,peer客户端所属缓存路由器还判断:若当前媒体源节点在负载阈值之下,则由媒体源节点提供数据服务;若当前媒体源节点超过负载阈值,则拒绝服务。
10.根据权利要求1所述的方法,其特征在于,所述缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败的情况包括:其它缓存路由服务器及其所管理的peer客户端没有所需数据或不提供数据服务。
11.一种基于权利要求1-10中任一项所述方法的对等网络P2P流媒体直播***中延时减小的实现***,其特征在于,包括:
媒体源节点,用于整个***的媒体资源管理;
一个以上的缓存路由服务器,用于局部域内的媒体资源管理、路由计算和节点管理;所述缓存路由服务器在其所管理的其他peer客户端中选择合适的peer客户端,建立与请求peer客户端之间的流媒体数据交互;当请求peer客户端需要的媒体流数据在该缓存路由服务器管理的peer客户端内不存在时,缓存路由服务器向其它缓存路由服务器请求所需的流媒体数据信息,推送给请求peer客户端;当缓存路由服务器从其它缓存路由服务器获取所需的流媒体数据失败时,缓存路由服务器从媒体源节点获取所需数据,推送给请求peer客户端。
12.根据权利要求11所述的***,其特征在于,所述媒体源节点进一步包括:
区域管理单元,根据用户数量和分布地域,创建并管理域,根据设备资源特点选择并指定域内缓存路由服务器,获取各域的资源统计信息;根据域内成员的数量决定域的合并和***;
节点管理单元,通过与运营支撑***用户认证模块接口,认证peer客户端的peer ID、付费信息,确保其合法性;根据终端特点,指定其加入相关域;管理全网的服务器、peer资源;
路由计算单元,对全网资源数据进行初步筛选,定时向缓存路由服务器推送域外路由信息;根据缓存路由服务器路由请求,查询其存储的全网资源统计信息,选择向其它缓存路由服务器请求相关路由信息;
网管接口单元,具有网管代理Agent与运营支撑***中的平台管理模块接口,实现管理、维护软件升级。
13.根据权利要求11所述的***,其特征在于,缓存路由服务器包括:
节点资源管理单元,存储并管理域内peer客户端的资源信息、域外的资源信息;
节点管理单元,管理域内peer客户端的加入、退出;通过与域内peer客户端的通讯接口,定期与peer客户端通讯,监测peer客户端状态;
路由计算单元,与媒体源节点通讯,获取最新的资源路由信息;根据peer客户端的特征,对资源数据的初步计算,定时向peer客户端推送路由信息;计算时将兼顾域内负载均衡;响应并应答域内peer客户端的路由请求,代表peer客户端向媒体源节点请求新的域外路由;
网管接口单元,具有网管Agent与运营支撑***中的平台管理模块接口,实现缓存路由服务器的管理、维护、软件升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101487269A CN101938508B (zh) | 2009-07-01 | 2009-07-01 | 对等网络流媒体直播***中延时减小的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101487269A CN101938508B (zh) | 2009-07-01 | 2009-07-01 | 对等网络流媒体直播***中延时减小的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101938508A CN101938508A (zh) | 2011-01-05 |
CN101938508B true CN101938508B (zh) | 2013-01-02 |
Family
ID=43391636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101487269A Active CN101938508B (zh) | 2009-07-01 | 2009-07-01 | 对等网络流媒体直播***中延时减小的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101938508B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185880B (zh) * | 2011-03-08 | 2014-06-18 | 天脉聚源(北京)传媒科技有限公司 | 一种视频直播负载均衡方法和*** |
CN102130838B (zh) * | 2011-04-02 | 2013-09-25 | 南京邮电大学 | 一种基于阿瑞斯协议的对等网络缓存***的实现方法 |
CN102510411A (zh) * | 2011-12-28 | 2012-06-20 | 南京邮电大学 | 一种用于阿瑞斯网络的缓存服务器的实现方法 |
CN102857547B (zh) * | 2012-04-12 | 2016-03-30 | 华为技术有限公司 | 分布式缓存的方法及设备 |
CN103067517B (zh) * | 2012-12-31 | 2016-03-30 | 网宿科技股份有限公司 | 结合重定向和主动连接的p2p缓存服务器***和实现方法 |
CN103354545B (zh) * | 2013-06-24 | 2015-04-15 | 西安交通大学 | 一种基于云计算的p2p流媒体服务器集群部署方法 |
EP2819379A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal |
CN103945279B (zh) * | 2014-05-17 | 2017-04-19 | 中国传媒大学 | 基于中断密度的p2p直播流媒体***动态启动时延方法 |
CN105656978B (zh) * | 2014-12-04 | 2019-06-25 | ***通信集团公司 | 一种资源共享方法及装置 |
CN105162881B (zh) * | 2015-09-25 | 2018-09-21 | 中铁工程装备集团有限公司 | 一种基于多模终端的p2p优化传输方法 |
CN107295037B (zh) * | 2016-03-31 | 2021-06-01 | 中移(苏州)软件技术有限公司 | 一种基于软件定义网络的直播对等网络构建方法和装置 |
WO2017209573A1 (en) * | 2016-06-03 | 2017-12-07 | Samsung Electronics Co., Ltd. | Multi-point content transmission method and apparatus |
CN107517229A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种回源路由信息的生成、传输方法及相关装置 |
CN106209860B (zh) * | 2016-07-13 | 2021-07-30 | 杭州施强教育科技有限公司 | 一种实时课堂流媒体直播负载分配方法 |
CN106254554A (zh) * | 2016-09-30 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 基于Wifi存储实现的文件共享闭环***及控制方法 |
CN107968755B (zh) * | 2016-10-20 | 2021-04-02 | 上海交通大学 | 基于mmt协议的媒体内容存储转发的路由选择方法及*** |
CN108173897B (zh) * | 2016-12-07 | 2020-09-08 | 北京云中融信网络科技有限公司 | 请求消息处理方法及装置 |
CN107819704A (zh) * | 2017-11-24 | 2018-03-20 | 量子云未来(北京)信息科技有限公司 | 一种无线可扩展媒体应用边缘计算装置、***及方法 |
CN108881963A (zh) * | 2018-05-30 | 2018-11-23 | 歌尔科技有限公司 | 数据获取方法、服务端及客户端 |
CN112134955B (zh) * | 2020-09-23 | 2024-03-22 | 北京达佳互联信息技术有限公司 | 数据的处理***及方法、设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068336A (zh) * | 2006-08-22 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种对等连接流媒体直播***和装置 |
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
WO2008043092A1 (en) * | 2006-10-05 | 2008-04-10 | Bittorrent, Inc. | Peer-to-peer streaming of non-live content |
-
2009
- 2009-07-01 CN CN2009101487269A patent/CN101938508B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068336A (zh) * | 2006-08-22 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种对等连接流媒体直播***和装置 |
WO2008043092A1 (en) * | 2006-10-05 | 2008-04-10 | Bittorrent, Inc. | Peer-to-peer streaming of non-live content |
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101938508A (zh) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101938508B (zh) | 对等网络流媒体直播***中延时减小的方法和*** | |
US20220150297A1 (en) | System and method of minimizing network bandwidth retrieved from an external network | |
US20230164397A1 (en) | Distributed election-based end-to-end content distribution network system and distribution method | |
US9497035B2 (en) | Method, device, and system for playing media based on P2P | |
CN102355448B (zh) | 云流媒体数据传输方法及*** | |
KR101485610B1 (ko) | 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법 | |
Liu et al. | Locality-awareness in BitTorrent-like P2P applications | |
WO2010105505A1 (zh) | 网络上请求资源的位置信息的方法、用户节点和服务器 | |
Trossen et al. | Towards an information centric network architecture for universal internet access | |
Shehab et al. | Efficient schemes for playout latency reduction in P2P-VoD systems | |
US20240179200A1 (en) | System and method of minimizing network bandwidth retrieved from an external network | |
Dai et al. | The disparity between P2P overlays and ISP underlays: issues, existing solutions, and challenges | |
Maly et al. | Comparison of centralized (client-server) and decentralized (peer-to-peer) networking | |
CN103179191A (zh) | P2p网络管控装置及p2p网络管控架构 | |
CN101369915B (zh) | 可运营p2p网络资源管理*** | |
Johnsen et al. | Peer-to-peer networking with BitTorrent | |
Alimi et al. | An open content delivery infrastructure using data lockers | |
Al-Oqily et al. | Towards automating overlay network management | |
Deltouzos et al. | SeekStream: adapting to dynamic user behavior in P2P video‐on‐demand | |
Ellouze et al. | Collaboration between networks and applications in the future internet | |
Zeng et al. | Enhanced video streaming network with hybrid P2P technology | |
Li et al. | Dynamic transmission scheduling for streaming applications via P2P overlay | |
Guo et al. | A novel P2P IPTV system for IPv4/v6 networks | |
Abu-Dagga | BitTorrent Discovery and Performance Enhancement using DDS QoS Policies | |
He et al. | KQStream: Kindred-Based QoS-Aware Live Media Streaming in Heterogeneous Peer-to-Peer Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |