一种媒体分发系统、装置及流媒体播放方法

文档序号:7650787阅读:185来源:国知局
专利名称:一种媒体分发系统、装置及流媒体播放方法
技术领域
本发明涉及通过互连网进行节目直播,尤其涉及一种^(某体分发系统和流々某 体播放方法。
背景技术
现有技术中产生了一种内容分发网络/媒体分发网络(content/media delivery network, CDN/MDN ),通过将网站的内容从源节点发布到最接近用户 的网络"边缘"节点,使用户可以就近取得所需的内容,提高用户访问网站的 响应速度。对于多媒体内容,如视频点播、视频直播等由于视频传输具有实时 性、大容量的特点,通过将视频内容分布到靠近用户的边缘节点上,可以为用 户提供更好的播放质量,同时又能大大降低对骨干网络的沖击。现有技术中的CDN/MDN结构示意图如图1所示,包括1 )媒体管理器(MediaManagement, MM),主要功能包括内容的分发调度核心;支持点播、直播、时移、广告等节目类型的发布、取消等功能; 支持节目内容的智能分发、智能删除、主动拉(PULL)、内容交换等功能。 2)用户访问入口单元(EndUserPortal, EU-Portal),主要功能包括 节目展示将节目内容通过Portal页面展示给用户; 登录认证提供用户注册、注销的接口,并对初次登录的用户进行身份认证;节目查询提供内容^^索功能支持节目内容的分类查询;排行榜支持热点节目的排行功能,同时支持节目类别的排行功能;节目推荐支持内容提供商/运营商(CP/SP)的节目推荐及促销功能;自助服务用户通过登录Portal,增加、删除、查询或修改自己的个人属 性,查询自己定购的节目等功能。3 )内容管理系统(Content Management System, CMS ),主要功能包括 内容管理提供内容发布、取消、源数据录入、内容查询、属性修改等管理;CP/SP管理提供开户、销户等管理功能。4) 业务管理系统(Service Management System, SMS ),主要功能包括 用户管理用户的开户、销户、查询、属性修改等功能;节目管理节目的创建、删除、查询、属性修改等功能; 产品管理产品的定义、取消、查询、套餐的定义、取消、查询、折扣及 优惠等功能;统计分析基于用户、时间段、CP/SP、节目等的统计分析功能; 权限管理系统角色定义、权限定义、权限分配、角色权限查询、角色权 限修改等功能;系统管理系统参数的配置、查询、修改等功能;认证授权验证用户的身份的合法性及内容使用的合法性,并支持内容的 防盗链功能。5) 用户请求路由系统(RequestRouting System, RRS ),主要功能包括 用户请求的'入口,媒体分发网络的调度核心;ES群组内基于负载均衡的调度策略; 提供为SP分配资源并基于资源进行调度; 支持用户的静态调度。6) 中心服务器(Center Server, CS ),主要功能包括为各边缘服务器提供原始的数据源,通常不直接对用户冲是供服务。7) 边缘服务器(Edge Server, ES ),主要功能包括 直接为用户提供流媒体服务功能;提供流媒体的代理(Proxy)功能; 支持点播、直播、时移等流媒体业务;监控用户的上线、下线,为用量采集单元(Usage Mediation, UM)提供 用户消费的真实凭据。8 )操作管理系统(Operation Management Center, OMC ),主要功能包括提供业务的配置、设备的管理以及告警管理等功能。9) UM (用量采集单元),屏蔽媒体分发网络对外不同的认证计费接口, 并统一媒体分发网络内部的认证、计费接口 。图1所示CDM/MDN结构中,用户对视频内容的请求被RRS重定向到边 缘自治域后,就直接由边缘自治域的ES提供单播视频流为用户服务。由于是 由ES来为用户提供媒体流数据,而边缘节点上ES的带宽是确定的,因此能 服务的用户数量是有限的。要想满足用户的需求,边缘节点的能力要随用户数 量的增加作线性增长,因此现有技术中这种CDM/MDN结构,对边缘节点的 投资是很庞大的。由于用户的服务请求具有很大的不确定性,即使增加边缘节 点的系统能力也不可能完全满足用户请求的突发性增长。因此一旦某个区域的 用户请求超过网络的最大并发量,网络只能拒绝服务。目前互联网上已经出现了很多纯P2P (peer to peer)的流媒体软件系统, 这些系统的共同特点在于能够通过一个网络上的调度模块,在客户端之间建立 互助关系,网络上的流服务器仅提供少量的流,客户端(peer节点)之间通过 上述互助关系,湘互分发流数据来实现大量客户端同时观看流媒体节目的功 能。调度模块不记录节点网络的拓朴关系,节点之间的相互帮助采用"尽力而 为,,的方式。发明人在本发明过程中发现,现有技术中的这种P2P流媒体软件 系统没有考虑地域性的问题,有可能造成大量的跨骨干网流量。且调度模块不 记录节点网络的拓朴关系,不进行统一的资源调度,基本上只依靠节点相互 之间进行数据分发,频道切换时间长,不能支持大码流节目,由于节点自身的 不稳定和"尽力而为"的互助方式也可能造成节目播放的不稳定。发明内容本发明实施例提供一种媒体分发系统,利用P2P技术改进现有媒体分发网络,实现满足大量客户端的流媒体播放。本发明实施例提供的媒体分发系统包括媒体管理器MM,还包括支持点 对点P2P技术的中心服务器CS-P、支持P2P技术的用户请求路由系统RRS-P、 支持P2P技术的边缘服务器ES-P以及多个P2P客户端;所述MM用于发布直播频道通知给所述CS-P、 RRS-P和ES-P;所述CS-P用于接收所述MM发布的直播频道,从对应直播源中获取i某体 数据流报文,进行报文解析和切片处理,生成切片数据;并接收所述ES-P发 起的提供数据请求,发送切片数据给所述ES-P;所述RRS-P用于接收P2P客户端发起的加入直播频道请求,向P2P客户 端返回该P2P客户端所属区域内的ES-P和/或能提供切片数据的其它P2P客户 端节点信息;所述ES-P用于从所述CS-P和/或能提供所述切片数据的其它ES-P节点, 获取直播频道的切片数据并緩存在本地;并接收P2P客户端的发起的直播频道 数据请求,发送对应直播频道的切片数据给请求的P2P客户端;所述P2P客户端用于从所述RRS-P返回的ES-P和/或能提供切片数据的其 它P2P客户端节点中,获取直播频道的切片数据,进行组装运算后通过本地播 放器播放;并缓存获取的切片数据,接收其它P2P客户端的请求,采用P2P 方式进行数据发送。本发明实施例提供一种支持P2P技术的中心服务器CS-P,包括第一P2P连 接管理模块,还包括第一频道管理模块,用于通过与媒体管理器MM之间的第一接口获取媒体 管理器MM发布的直播频道基本信息,增加/删除直播频道;报文解析模块,用于通过与直播源之间的第二接口从直播源编码器中获取媒体数据流报文并进行解析;P2P切片模块用于对获取的媒体数据流报文进行切片处理。本发明实施例提供一种支持P2P技术的用户请求路由系统RRS-P,包括第二P2P连接管理模块,还包括ES/CS管理模块,用于探测连接的ES-P和CS-P的故障,记录ES-P与CS-P之间拓朴关系;负载均衡模块,用于对ES-P进行负载计算,选择出当前负载较轻的ES-P;用户调度模块,用于通过与P2P客户端之间的第八接口接收P2P客户端发 起的加入直播频道请求,将P2P客户端调度到所属区域内,并调用负载均衡模 块选择出当前负载较轻的ES-P,将P2P客户端调度到所属区域内选择出的 ES-P;或者还用于通过与ES-P之间的第七接口接收ES-P发起的数据获取请求, 返回CS-P和/或能提供切片数据的其它ES-P节点地址信息。本发明实施例提供一种支持P2P技术的边缘服务器ES-P,包括第三P2P 连接管理模块,还包括第三频道管理模块,用于通过与MM之间的第十接口获取并记录直播频道 基本信息,增加/删除直播频道;第二负载才艮告才莫块,用于负载收集、统计并通过与RRS-P之间的第七接口 上报到RRS-P;第二媒体緩存管理模块,用于对获取的切片数据报文进行緩存管理,接收 P2P客户端发起的数据获取请求,发送切片数据给P2P客户端。本发明实施例提供一种P2P客户端,包括第四P2P连接管理模块,还包括解码模块,用于从ES-P或其它P2P客户端获取切片数据并对获取的切片 数据进行解码,恢复原始数据包,发送给纟某体播放器;媒体播放器,用于根据接收的流媒体数据播放节目。本发明实施例还提供一种流媒体播放方法,应用于本发明实施例提供的媒 体分发系统,该方法包括由所述MM发布直播频道通知给所述CS-P、 RRS-P和ES-P;
由所述ES-P从所述CS-P和/或能提供所述切片数据的其它ES-P节点获取 切片数据并緩存;所述切片数据是由所述CS-P从直播源中获取媒体数据流报 文并进行报文解析和切片处理后生成的;所述ES-P接收到P2P客户端发起的 获取数据请求后发送缓存的切片数据给P2P客户端;
由所述P2P客户端从所述ES-P或其它P2P客户端获取所述切片数据进行 分发或进行组装运算后通过本地播放器播放。
本发明实施例利用P2P技术改进了现有技术中的内容分发网络A某体分发 网络,新增加的CS-P、 ES-P和RRS-P结合P2P客户端,充分利用了P2P客户 端的能力,使系统的扩展性更好,能满足大量客户端的并发流媒体播放要求, 降低边缘服务器投资。
本发明实施例公开的媒体分发系统可以与现有的内容分发网络/媒体分发 网络融合,实现成本低。


图1为现有技术中的内容分发网络/媒体分发网络结构示意图2为本发明实施例提供的媒体分发系统结构示意图3为本发明实施例提供的媒体分发系统各部件之间的接口协议示意图4为本发明实施例提供的CS-P结构示意图5为本发明实施例提供的RRS-P结构示意图6为本发明实施例提供的ES-P结构示意图7为本发明实施例提供的P2P客户端结构示意图8为本发明实施例提供的P2P直播频道内容分发信令流程图9为本发明实施例提供的ES-P通过P2P方式获得直播流的信令流程;
图10为本发明实施例提供的P2P直播频道取消分发信令流程图11为本发明实施例提供的P2P客户端的注册信令流程图;图12为本发明实施例提供的用户选择直播频道节目的具体信令流程图; 图13为本发明实施例提供的处于空闲状态的P2P客户端申请成为帮助节 点的信令流程图14为帮助节点检测与重新分配信令流程图。
具体实施例方式
本发明实施例提供的媒体分发系统结构如图2所示,包括和现有技术媒体 分发网络完全相同的CMS 、 SMS 、 OMC 、 MM、用户访问入口单元EU-Portal 和UM,还包括支持P2P技术的中心服务器CS-P、支持P2P技术的用户请 求路由系统RRS-P、支持P2P技术的边缘服务器ES-P以及若干个P2P客户端。
CS-P、 ES-P、 RRS-P分别是在现有技术的媒体分发网络的CS、 ES、 RRS 的基础之上增加了 P2P相关的功能。
系统中CS-P、 RRS-P、 ES画P为l+l+N配置,即CS-P、 RRS誦P各一对(双 机热备份),ES-P多台。
RRS-P是系统的调度服务器,负责完成P2P直播请求的调度、拓朴关系创 建及维护、提供Peer节点列表给P2P客户端、实现ES-P群组基于负载均衡的 调度策略等功能。
CS-P用于从直播源获取直播流,并按照P2P切片规则完成直播流的切片, 然后把切片后的数据包利用冗余编码等技术打包成比原来略多 一些数量的包, 并把切片后的数据流发送到ES-P上。例如lMbps码流的数据,将每秒的流量 按照时间切分成20份,利用RS ( Reed-Solomon里德所罗门)算法生成22个 包,相当于整个码流形成了 22条子流,这些子流^皮发送到ES-P上。
ES-P釆用推(Push)和拉(Pull)结合的方式为P2P客户端提供数据流或 者为某些P2P客户端提供带宽补偿能力。
P2P客户端为支持宽P2P技术的用户客户端,主要用于P2P节目的展示、 节目的播放等,是P2P拓朴维护的触发因素,在调度服务器(RRS-P)的组织下完成边观看边为其它客户端节点服务的功能。考虑到ADSL接入时单个客户 端上行带宽有限,不能完全满足相互协助的需求,系统引入了一种帮助(Helper) 节点(具体实现在后文中详细描述),即部分客户端不实际观看节目,而只是 挂在网络上,接收部分数据然后复制分发给多个其它需要的客户端。例如只接 收上述的一个子流(50Kbps ),然后向其它4个客户端节点分发。
本发明实施例提供的媒体分发系统,其网络侧设备主要包括运营支撑设备 SMS、 CMS、 EU-Portal,直播源设备(Encoder )、 MM、 UM、 RRS-P、 CS-P、 ES-P。从组网角度来看,SMS、 CMS、 EU-Portal以及Encoder、 MM、 UM、 RRS-P、 CS-P部署在中心节点、而ES-P作为边缘服务器部署在边缘节点。当 某个边缘节点的用户量较大时,可以在该节点部署多台ES-P来为用户提供服 务。
中心节点主要完成P2P直播业务的频道管理、SP管理、业务展示、内容 编码、内容分发、用户调度、负载均衡、认证授权、拓朴维护等功能。边缘节 点主要完成P2P直播业务的数据服务、P2P节点的数据补偿等功能。
从设备形态来看,SMS/CMS/EU-Portal可以分别使用通用的PC Server作 为硬件服务器,也可以和MM、 OMC、 UM、 CS-P共用一个高级电信计算框架 (Advanced Telecom Computing Architecture, ATCA )才几才匡。为了节省成本, MM和OMC可以共用一个ATCA单板。边缘节点采用通用的PC Server作为 硬件服务器, 一个ES-P对应 一 台PC Server。
本发明实施例提供的媒体分发系统各部件之间的接口协议如图3所示,包

(1)、 CS-P与MM之间具有第一接口 第一接口采用边缘服务器/中心服务器管理协议 (ES/CS Management
Procotol, ECMP),即CS/ES和MM之间的协议,基于用户数据报协议(User
Datagram Protocol, UDP)承载。
第 一接口基于UDP承载CS-P与MM之间的交互信令;包括当CS-P从直播源编码器获取P2P直播频道时,相当于P2P直播频道发布到CS-P,此时 需要通知MM P2P直播频道发布到CS-P, MM收到该消息时需要在数据库中 增加内容分布到CS-P的记录。当某个P2P直播频道需要被删除时,MM需要 根据内容分布表中的记录通知CS-P删除本地的P2P直播频道信息。
(2) 、 CS-P与直播源的编码器之间具有第二接口
CS-P通过第二接口获取直播节目编码后的媒体数据流报文。 第二接口与编码器类型相关,具体为
当采用Windows媒体视频(Windows Media Video , WMV)直播编码器 时,其输出通常采用WMV Over HTTP的方式;当采用H.264直#"编码器时, 其输出通常采用H.264 OverTS OverUDP的方式。对于WMV Over HTTP的方 式,CS-P需要作为HTTP Streaming的客户端到编码器请求数据,对于H.264 Over TS Over UDP的方式,CS-P只要知道编码器的输出端口即可接收直播数 据流。
(3) 、 CS-P与RRS-P之间具有第三接口
第三接口基于动态检测协议(Dynamic Inspect Protocol, DIP ), CS-P通过 第三接口将自身的负载信息给RRS-P,由RRS-P进行处理。
(4) 、 CS-P与ES-P之间具有第四接口
CS-P与ES-P之间的第四接口釆用服务器侧的P2P接口。 CS-P与ES-P之 间通过第四接口进行信令及数据交互,具体包括
P2P直播频道可以通过MM直接发布到ES-P,也可以采用用户触发的方 式,触发ES-P到CS-P获取P2P直播数据。
(5) 、主用CS-P和备用CS-P之间具有第五接口
在本发明实施例提供的^某体分发系统中,CS-P釆用双机热备份方式工作, 一个CS-P作为主用CS-P,另一个CS-P作为备用CS-P;第五接口采用基于传 输控制协议(Transmission Control Protocol , TCP )的P2P切片同步接口协议, 实现主用CS-P和备用CS-P之间的数据同步。(6) 、 RRS-P与MM之间具有第六接口
第六接口釆用内容交换通知协议(Content Alternation Coordination Protocol, CACP ),基于UDP承载RRS-P与MM之间的交互信令;具体包括
当MM发起P2P直播频道发布、取消、更新等操作时,都会通过该第六 接口通知主备RRS-P。另外,当RRS-P故障时,这些信息也会实时地刷新到故 障RRS-P上。通过这种方式,频道信息在主备RRS-P上任何时刻都保持一致。
(7) 、 RRS-P与ES-P之间具有第七接口
RRS-P与ES-P之间的第七接口采用DIP协议,实现ES-P的负载信息、资源 分配信息的定期同步,因此RRS-P上保存着最新的ES-P的负载及资源分配,通 过这种方式,RRS-P可以实现自治域内ES-P按照负载均衡的方式进行调度,同 时可以实时探知各SP在系统的带宽占用情况,从而实现带宽的租赁管理。由于 ES-P支持向主备RRS-P同时上报负载及资源分配信息的能力,因此主备RRS-P 上的负载及资源分配信息保持完全一致。
(8) 、 RRS-P与P2P客户端之间具有第八接口
RRS-P与P2P客户端之间的第八接口采用基于P2P协议的P2P信令接口 。 当用户发起加入、退出频道、关闭P2P客户端、请求新的Peer节点等操作时, 都会向RRS-P发起请求,RRS-P需要根据相应操作对拓朴进行调整。当用户选 择频道进行观看时,通常都会将其归属于某个自治域某个频道的拓朴树。当用 户退出频道、关闭P2P客户端等4喿作时,RRS-P需要将用户重新调度到对应 自治域的某个拓朴树,然后才能对该拓朴进行调整。
(9) 、主用RRS-P和备用RRS-P之间具有第九接口 第九接口采用基于TCP的P2P拓朴同步接口协议,实现所述主用RRS-P
和备用RRS-P之间的数据同步。
当备用RRS-P故障恢复时,主用RRS-P通过该接口将拓朴的完整信息全 部同步到备用RRS-P;当双方拓朴保持一致时,用户加入、退出频道造成的拓 朴调整以增量的形式同步到备用RRS-P。通过拓朴同步接口,实现主备RRS-P拓朴信息的完全同步,从而不间断地服务用户的请求。
(10 )、 ES-P与MM之间具有第十接口 ES-P与MM之间通过第十接口进行直播频道发布及删除的信令交互;具 体包括
ES-P与MM的接口基于ECMP协议。当ES-P从CS-P获取P2P直播频道 时,相当于P2P直播频道发布到ES-P,此时需要通知MM P2P直播频道发布 到ES-P, MM收到该消息时需要在数据库中增加内容分布到ES-P的记录。当 某个P2P直播频道需要被删除时,MM需要根据内容分布表中的记录通知ES-P 删除本地的P2P直播频道信息。
(11) 、 ES-P与UM之间具有第十一接口
ES-P与UM的接口采用基于UDP的扩展远端用户拨入鉴权服务((Remote Authentication Dial in User Service, RAIDUS )协议,主用完成用户消费节目的 合法性检查,计费起始/结束、计费时长信息的上报,P2P客户端上行贡献带宽、 ES-P补偿带宽、Peer节点补偿带宽等信息的统计上才艮等。
(12) 、 ES-P与P2P客户端之间具有第十二接口
ES-P与P2P客户端之间的第十二接口采用P2P协议,主要完成起始数据 流的快速緩冲、遗失分片的补偿、P2P切片的緩冲、流媒体会话描述信息的交 互等,通过该接口, P2P客户端还需要将自己贡献的上行带宽、从ES-P获取 的补偿带宽、其他节点为其提供的带宽、信令流量、播放时延等统计信息的上 报。
(13) 、 ES-P之间具有第十三接口
当自治域的某个ES-P已经存在P2P直播频道时,自治域内的其它ES-P 通过第十三接口采用P2P方式到该ES-P获取数据,而不再到CS-P获取数据。
(14) 、 P2P客户端之间具有第十四接口
P2P客户端之间通过第十四接口采用P2P方式实现数据分发。
以上对本发明实施例提供的媒体分发系统各部件之间的接口及接口协议进行了详细描述。通过上述描述,能清楚各部件的功能以及部件之间的相互协 作关系。下面针对本发明实施例提供的CS-P、 RRS-P、 ES-P及P2P客户端分别详 细描述其内部结构。参见图4,为本发明实施例提供的CS-P结构示意图,具体包括1) 、第一频道管理模块,用于记录MM通过第一接口发布的直播频道基本 信息,增加/删除直播频道。2) 、报文解析模块,用于通过第二接口从直播源的编码器中获取对应媒体 数据流报文并进行解析,以及进行主用CS-P和备用CS-P切片数据同步点分析。 其中包括传输流格式剖析器(TS Parser): H.264 Over TS Over UDP报文解析,主备 CS-P数据同步点分析;Http客户端WMV Over HTTP Streaming连接的建立,报文的解析,主 备CS数据同步点分析。3 )、第一负载报告模块,用于收集和统计各CS-P的负载状况并通过第三接口上报到RRS-P。4) 、第一媒体緩存管理模块(Media Cache Manager):用于对媒体数据流 报文的緩沖管理。5) 、 P2P切片模块(P2PSlicer):用于对获取的媒体数据流报文进行切片 处理。6) 、 P2P同步模块(P2P Syncer):用于将媒体数据流报文的切片信息及数 据同步点同步到备用CS-P。7) 、 P2P会话管理模块用于对连接的用户进行维护管理。8 )第一 P2P连接管理模块(P2P Connection Manager ),用于CS-P的对外 接口管理,负责数据连接和信令连接通道的建立、维护和拆除。参见图5,为本发明实施例提供的RRS-P结构示意图,具体包括1) 、 ES/CS管理模块,用于探测连接的ES-P和CS-P的故障,记录ES-P 与CS-P之间拓朴关系。2) 、负载均衡模块(Load Balancer),用于对ES-P进行负载计算,选择出 当前负载较轻的ES-P。3) 、用户调度模块(User Scheduler),用于通过第八接口接收P2P客户端 发起的加入直播频道请求,将其调度到所属区域内,并调用负载均衡模块选择 出当前负载较轻的ES-P,将P2P客户端调度到所属自治域内选择出的ES-P; 还用于通过与ES-P之间的第七接口接收ES-P发起的数据获取请求,返回CS-P 和/或能提供切片数据的其它ES-P节点地址信息;4) 、第一拓朴管理模块(Topo Manager),用于根据用户调度模块的调度 结果,维护P2P客户端之间以及自治域内ES-P之间的拓朴信息,为P2P客户 端与ES-P提供服务。5) 、资源管理模块(Resource Manager),用于支持资源出租模式,根据第 一拓朴管理模块中保存的拓朴信息,记录运营商占用资源,并检查运营商所占 资源是否超过设定的上限值。6) 、第二频道管理模块,用于通过第六接口获取并记录直播频道基本信息, 增加/删除直播频道,并将处理结果发送给所述第一拓朴管理模块。7) 、数据同步模块(DataSyncer),用于通过第九接口与备用RRS-P通信, 实现主用RRS-P和备用RRS-P信息同步更新。8) 、第二P2P连接管理模块,用于管理RRS-P与外部的连接接口。 参见图6,为本发明实施例提供的ES-P结构示意图,具体包括1) 、第二负载报告模块,用于ES-P负载收集、统计并通过第七接口上报 到RRS-P;2) 、第三频道管理模块,用于通过第十接口获取并记录直播频道基本信息, 增加/删除直播频道;3 )、认证计费模块(A & A),用于对连接的P2P客户端进行用户身份认证、以及对用户消费的直播频道节目进行计费并上报到所述UM;4 )、第二媒体緩存管理模块(Media Cache Manager),用于对获取的切片 数据报文的緩存管理,接收P2P客户端发起的数据获取请求,发送切片数据给 P2P客户端;5) 、第二P2P会话管理模块,用于对连接用户进行维护管理;6) 、第三P2P连接管理模块,用于ES-P的对外接口管理,负责数据连接 和信令连接通道的建立、维护和拆除。参见图7,为本发明实施例提供的P2P客户端结构示意图,具体包括1) 、第四P2P连接管理模块,用于P2P客户端的对外接口管理,负责数据 连接和信令连接通道的建立、维护和拆除。具体包括第四P2P连接管理模块是P2P客户端与外界交互的桥梁,所有与ES-P、 RRS-P、 P2P客户端的拓朴信令消息和媒体数据都由它负责发送和接受,它直 接负责数据连接和信令连接通道的建立、维护、拆除,对于内网节点,它还负 责网络地址转换(Network Address Transform, NAT)穿越消息的发送;还负 责ES-P、 RRS-P、 P2P客户端地址和标识映射信息的管理;它通过消息队列和 Callback函数注册的机制为第二拓朴管理模块和緩存管理模块提供最基本的数 据传输服务,其设计目标是能够支持同时大量并发连接的数据传输,屏蔽底层 网络传输的细节,使缓存管理模块和第二拓朴管理模块只用关心自己在和那个 节点进行通信而不用了解数据是通过什么方式传送给对方的。2) 、解码模块,用于对获取的切片数据进行解码,恢复原始数据包,发送 给緩存管理模块;具体包括由于媒体数据在分发侧,对N个源数据块通过前向纠错(Forward Error Correction, FEC )编码生成m ( m>0 )个冗余数据块,以提高系统对网络丢包 和传输异常的容错能力,这m个冗余数据块与N个源数据包一起组成一个包 含N+m个数据包的传输组TG。数据块在TG中的相对位置通过编号 (0,1,2,...N+m-l)标识。由于包交换网络尽力服务的不可靠性,TG中一些数据包在传输过程中可能,皮丟失。接收端通过编号确定丢失的数据包及其在TG中的位置。由于冗余性的存在, 一个TG中的任意N个数据包可用来重建N个源 数据包。如果丟失数据包数小于或等于m,接收端收到一个TG中的任意N个 数据包后,即可通过编号信息确定丢失数据包的相对位置并进行FEC解码, 恢复N个原始数据包。3) 、緩存管理模块(Cache Manager),用于緩存解码后数据包,发送给媒 体服务器模块;具体包括建立适当长度的緩冲区,通过该緩冲区为媒体服务器模块提供稳定不间断 流量的媒体数据流,主要功能包括初始从ES-P快速緩存,媒体流完备性检查, 向媒体服务器模块供流,主动从ES-P获取缺失数据,冗余恢复,4企测子流异 常,向第二拓管理朴模块通报子流异常。4) 、第二拓朴管理^i块,用于监控并调整自身与其它网络节点之间的P2P 连接状态。具体包括包括了和P2P客户端加入系统的通信交互。P2P客户端要维护自己与 RRS-P、 ES-P和其它P2P客户端的连接关系,客户端自己退出系统和发现与自 己连接的其他P2P客户端退出系统或者不可用时需要进行拓朴处理;如果自身 成为helper节点的话,还要监控自己的连接情况并调整;当P2P客户端占用 ES-P过多资源时,要尝试采用P2P方式从其它P2P客户端获取子流,释放ES-P 的资源。5) 、媒体服务器模块(Media Server),用于向媒体播放器发送流媒体数据; 即负责处理媒体播放器的连接请求,将获取的流々某体信息送到4某体播放器,通 过HTTP接口给媒体播放器供流。6) 、媒体播放器,用于根据接收的流媒体数据播放节目。可采用常用的流 々某体播放器,例如《效软公司的Windows Media Player。下面结合附图,详细描述如何应用本发明实施例提供的々某体分发系统进行 流媒体播放。参见图8,为本发明实施例提供的P2P直播频道内容发分发信令流程图,具体包括1、 操作员登录CMS,通知MM进行内容分发;2、 MM向CMS返回响应;3、 CMS将直播频道状态设为"待分发";4、 MM根据服务类型判断为P2P直播,并选择相应类型的设备;5、 MM通知CS-P1 (主用CS-P)进行P2P直播发布,携带直播源的地址 信息,如直播源的统一资源定位符(Uniform Resource Locator, URL);6、 CS-P1返回分发结果给MM;7、 CS-P1获取直播流进行切片处理;8、 通知RRS-P发布到CS-P1成功、可以和步骤7并行执行;9、 RRS-P建立P2P直播频道,建立该频道的P2P拓朴数据结构;10、 CS-P1分发成功,MM通知CS-P2 (备用CS-P)进行P2P直播发布, 携带直播源URL;11、 CS-P2返回分发结果给MM;12、 CS-P2获取直播流进行切片处理;13、 通知RRS-P发布到CS-P2成功、可以和步骤12并行执行;14、 RRS-P更新P2P拓朴数据;15、 CS-P2分发成功,MM分别通知各ES-P进行P2P直播发布;16、 各ES-P各自返回发布结果给MM;17、 各ES-P返回发布结果之后通过P2P方式向CS/ES (上一级节点)获 取编码后的直播流(具体步骤见图9所示流程"ES-P通过P2P方式获得直播 流,,);18、 各ES-P通知RRS-P发布成功,可以与步骤17并行执行;19、 RRS-P更新P2P拓朴数据结构;20、 RRS返回结果给MM;发布后的URL反向通知CMS; 22、 CMS将直播频道状态设为"已分发"。 通过图8所示流程,实现了 P2P直播频道的发布。 图9为本发明实施例提供的ES-P通过P2P方式获得直播流的信令流程, 具体包括1、 ES-P向RRS-P发起数据获取请求,请求流数据;2、 RRS-P根据负载情况和就近关系选择CS-P或者其它某些正在播放该节 目的ES-P作为新加入者的上级节点;3、 RRS-P返回上述上级节点地址信息;4、 ES-P向上级节点请求获取该节目相关的信息,比如WMV格式媒体流 的数据包包头信息等;5、 上级节点返回业务相关信息;6、 ES-P向上级节点发起提供数据求,请求提供该节目的对应流媒体数据;7、 上级节点发送流:樣体数据给ES-P;8、 ES-P进行本地緩存和对P2P客户端进行数据分发。 本发明实施例提供的媒体分发系统,还可以对P2P直播频道取消分发,其具体信令流程图如图IO所示,包括1、 操作员登录CMS,指定频道,通知MM进行内容取消分发;2、 MM向CMS返回响应;3、 CMS将直播频道状态设为"未分发"状态;4、 MM根据服务类型判断为P2P直播;5、 MM通知RRS-P删除直播频道;6、 RRS接受到MM通知后,删除P2P直播频道数据;7、 RRS删除成功后,通知MM;8、 MM分别通知各ES-P删除P2P直播频道;9、 ES-P处理直播频道删除;10、 ES-P通知P2P客户端下线;11、 所有ES-P分别返回删除结果给MM;12、 MM通知CS-P1 (主用CS-P )删除P2P直播频道;13、 CS-P1处理直^"频道删除;14、 CS-P1返回删除结果给MM;15、 MM再通知CS-P2 (备用CS-P )删除P2P直播频道;16、 CS-P2处理直"f番频道删除;17、 CS-P2返回删除结果给MM。上述图8、图9以及图IO分别公开了直播频道发布、ES-P获取流媒体数 据以及直播频道取消的具体信令流程。下面具体描述P2P客户端如何登录媒体 分发系统,选择直播频道节目进行观看的相关流程。参见图11,为本发明实施例l是供的P2P客户端的注册信令流程,具体包括1、 P2P客户端向RRS-P发送注册申请消息;2、 RRS-P为客户端分配一个唯一的标识和所属的客户端管理模块(该模 块位于一个ES-P上,因此要返回该ES-P的地址);根据频道信息生成需要上 报的统计项、上报时间间隔等设置,以上信息形成了配置信息;3、 RRS-P返回上述配置信息;4、 P2P客户端启动休眠定时器,如果在定时器超时之前一直处于空闲状 态,它会自动转为Helper状态。为了充分利用P2P客户端的能力,本发明实施例中,将P2P客户端划分为 三种状态,即1) 、空闲状态(Idle): P2P客户端启动之后首先进入Idle状态,启动休眠 定时器;如果用户点播节目,转到观看状态(Enjoy),同时停止休眠定时器; 如果休眠定时器时间到则进入Helper状态。2) 、观看状态(Enjoy):代表用户观看节目的状态,用户停止观看节目则先进入到帮助状态(Helper )。3)、帮助状态(Helper):代表用户挂机提供上载带宽的状态,当用户点播 节目时会转到Enjoy状态;如果收到RRS-P发送的休眠指令则回到Idle状态。当P2P客户端注册到系统后,可以选择直播频道的节目进行观看。用户选 择直播频道节目的具体信令流程如图12所示,包括1、 P2P客户端登录Portal,选择要观看的频道;2、 如果用户没有认证过,重定向到SMS进行用户的身份认证,否则直接 跳到第5步;3、 用户向SMS进行登录认证;4、 SMS通过用户的认证后,生成一个验证码用于二次认证并返回验证码 给P2P客户端;5、 如果P2P客户端还未注册,执行图11所示客户端注册流程;6、 利用步骤4返回的验证码向所属的ES-P上的管理模块进行二次认证, 进行二次认证的目的主要是防止盗链;7、 ES-P把验证码发送给SMS检查;8、 SMS返回验证结果;9、 ES-P根据验证结果决定是否允许用户观看该频道;10、 在通过二次认证后,P2P客户端向RRS-P请求观看某个直播频道;11、 RRS-P根据负载均衡的原则和就近原则,在该P2P客户端所属的自治 域内分配给该客户端一组用于提供快速緩沖的ES-P,还包括若干个同样在观看 该节目的客户端节点以及若干帮助节点信息;其中帮助节点优先选择与P2P客 户端属于同 一 区域的、与用户所选直播频道对应的帮助节点;12、 P2P客户端向RRS-P返回的其他客户端发起连接请求获得数据,连接 上的客户端之间会保持基于P2P协议的信令通道和数据通道,分别传输控制信 令和流媒体数据;13、 发起节目点播的P2P客户端端根据连接的其他P2P客户端当前拥有的数据,选择某个合适的ES-P作为其补偿流提供者,向该ES-P请求前面一段时 间(根据网络情况和性能要求可配置)的数据,ES-P会快速地(快于播放时的 速率,具体根据网络情况和性能要求可配置)进行数据緩冲;当发起节目点播 的P2P客户端能从其他P2P客户端获得数据时,断开与该ES-P的连接。发起 节目点播的P2P客户端与ES-P之间始终保持基于P2P协议的信令通道,便于 在无法从其他P2P客户端获得数据时及时得到ES-P的帮助;14、 发起节目点播的P2P客户端緩存来自ES-P和其它P2P客户端的切片 过的流媒体数据,进行组装运算之后按照播放速度送入播放器播放;15、 发起节目点播的P2P客户端根据在注册过程中获取的配置信息的指 示,定期上报状态信息给ES-P。通过图12所示流程,用户通过P2P客户端点播直播频道节目进行观看。 P2P客户端登录到媒体分发系统后,也可能不点播直播频道观看节目;在 这种情况下,为了充分利用P2P客户端的能力,本发明实施例通过在P2P客户 端设置定时器,实现P2P客户端状态转换;当P2P客户端成为帮助节点(当 P2P客户端的状态为Helper状态时,作为帮助节点)时,获取媒体数据流并緩 存在本地,以便为其它请求媒体数据流的P2P客户端分发数据。参见图13,为处于空闲状态的P2P客户端申请成为帮助节点的信令流程 图,具体包括1、 休眠定时器超时前,P2P客户端保持空闲状态;2、 休眠定时器超时后,P2P客户端向RRS-P注册成为帮助节点;3、 RRS-P根据各频道的码流和当前的观看者、帮助节点的比例进行计算, 平衡地分配帮助节点到某个频道。具体算法例如节目码率为V、每个帮助节点平均贡献率为vh,每个处于观看状态的节点 平均贡献率为Ve,频道内当前帮助节点和观看节点个数分别为h、 e,则理论上 当1^= (V-ve)/vh时帮助节点和观看节点通过互助可以完全满足观看需求, 实际考虑等式右边会乘上一个略大于1的因子p (1.1 ~ 1.2);则选取h/e最小的频道作为加入频道;4、 如果h/e最小的频道已经出现h/e〉二 (V-ve) /vh,则说明整个系统内帮 助节点已经太多,指示当前申请注册成为帮助节点的P2P客户端回到Idle状态;5、 P2P客户端设置休眠定时器,当休眠定时器超时后,重复上述流程;6、 如果h/e最小的频道不满足h/e〉二 (V-Ve) /vh,则指示客户端加入选出 h/e最小的频道,RRS-P记录客户端信息,并设置该客户端状态为Helper状态;7、 P2P客户端将自身的状态从空闲状态转换为帮助状态,成为帮助节点;8、 P2P客户端作为帮助节点加入指定的频道获取数据流并緩存,等待其 他节点来请求;P2P客户端作为帮助节点加入频道的步骤与普通节点加入一样,不同的是 只获取部分数据,例如前文举例的一个50Kbps的子流,选择传输哪个子流可 以由客户端自己随机选择,也可以是在步骤3的时候就由RRS-P随机或者根据 某个算法(例如平均分配)的方式进行指定。每个频道的帮助节点与观看节点之比不是恒定不变的,当观看节点减少 时,帮助节点的需求也会减少,这样应该有一种机制把多余的帮助节点重新分 配到其他频道上去。参见图14,为帮助节点检测与重新分配信令流程图,具体包括1、 如果需要帮助节点服务的需求减少到某种程度,比如上行流量/连接用 户数少于某个预先设定的阈值,则启动一个调整定时器,定时器时长为系统预 先设置,例如20秒或30秒等;2、 如果定时器启动之后,对该帮助节点的服务需求又超过了设定的阈值, 则停止调整定时器;3、 当调整定时器超时之后,启动帮助节点调整过程;4、 帮助节点向RRS-P发请求调整消息;5、 RRS-P判断该帮助节点所在频道是否帮助节点数量过剩,即h/e> p( V-ve) /vh是否成立;6、 如果帮助节点过剩,则重新选择h/e最小的频道,继续步骤7;否则执 行8;如果所有的频道都满足1^〉? (V-Ve)/vh,则转至步骤10;7、 RRS-P发送切换频道消息,指示该帮助节点退出当前频道,加入新频 道,调整过程结束;8、 指示该帮助节点保持在当前频道;9、 帮助节点重新启动调整定时器;10、 整个网络内帮助节点过多,指示该帮助节点退出,回到空闲状态;11、 帮助节点回到Idle状态,重新启动休眠定时器;等待休眠定时器超时 后再重新申请成为帮助节点。综上所述,本发明实施例提供的流媒体播放方法,主要包括 由所述MM发布直播频道通知给所述CS-P和ES-P; 由CS-P从直播源中获取媒体数据流报文,进行报文解析和切片处理,生 成切片数据;ES-P釆用P2P方式从CS-P和/或能提供切片数据的其它ES-P节点获取切 片数据并緩存;P2P客户端采用P2P方式从ES-P或其它P2P客户端获取切片数据,通过 本地播放器播放。本发明实施例利用P2P技术改进了现有技术中的内容分发网络/々某体分发 网络,通过新增加CS-P、 ES-P和RRS-P并结合P2P客户端,使系统能满足大 量客户端的并发流媒体播放要求,有效降低边缘服务器投资;且可以与现有的 内容分发网络/々某体分发网络融合,实现成本低。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1. 一种媒体分发系统,包括媒体管理器MM,其特征在于,还包括支持点对点P2P技术的中心服务器CS-P、支持P2P技术的用户请求路由系统RRS-P、支持P2P技术的边缘服务器ES-P以及多个P2P客户端;所述MM用于发布直播频道通知给所述CS-P、RRS-P和ES-P;所述CS-P用于接收所述MM发布的直播频道,从对应直播源中获取媒体数据流报文,进行报文解析和切片处理,生成切片数据;并接收所述ES-P发起的提供数据请求,发送切片数据给所述ES-P;所述RRS-P用于接收P2P客户端发起的加入直播频道请求,向P2P客户端返回该P2P客户端所属区域内的ES-P和/或能提供切片数据的其它P2P客户端节点信息;所述ES-P用于从所述CS-P和/或能提供所述切片数据的其它ES-P节点,获取直播频道的切片数据并缓存在本地;并接收P2P客户端的发起的直播频道数据请求,发送对应直播频道的切片数据给请求的P2P客户端;所述P2P客户端用于从所述RRS-P返回的ES-P和/或能提供切片数据的其它P2P客户端节点中,获取直播频道的切片数据,进行组装运算后通过本地播放器播放;并缓存获取的切片数据,接收其它P2P客户端的请求,采用P2P方式进行数据发送。
2、 如权利要求l所述的系统,其特征在于,所述CS-P与所述MM之间 具有第一接口;所述第一接口承载所述CS-P与MM之间的交互信令;所述CS-P与直播源的编码器之间具有第二接口;所述第二接口与所述编 码器类型相关;所述CS-P通过所述第二接口获取直播节目编码后的媒体数据 流才艮文;所述CS-P与所述RRS-P之间具有第三接口 ;所述CS-P通过所述第三接 口动态检测负载信息并上报给所述RRS-P;所述CS-P与所述ES-P之间具有第四接口 ;所述CS-P与所述ES-P之间通过所述第四接口进行所述信令及数据交互。
3、 如权利要求2所述的系统,其特征在于,所述CS-P作为主用CS-P, 还包括至少一个备用CS-P;所述主用CS-P与备用CS-P之间具有第五接口;所述第五接口采用P2P 切片同步接口协议,实现所述主用CS-P和备用CS-P之间的数据同步。
4、 如权利要求l所述的系统,其特征在于,所述RRS-P与所述MM之间 具有第六接口;所述第六接口承载所述RRS-P与MM之间的交互信令;所述RRS-P与所述ES-P之间具有第七接口 ;所述ES-P通过所述第七接 口定期将自身负载信息及资源信息同步到所述RRS-P保存;所述第七接口还承 载所述RRS-P与所述ES-P之间的交互信令及数据;所述RRS-P与所述P2P客户端之间具有第八接口 ;所述RRS-P与所述P2P 客户端通过所述第八接口进行信令交互。
5、 如权利要求4所述的系统,其特征在于,所述RRS-P作为主用RRS-P, 还包括至少一个备用RRS-P;所述主用RRS-P与备用RRS-P之间具有第九接口 ;所述第九接口采用P2P 拓朴同步接口协议,实现所述主用RRS-P和备用RRS-P之间的数据同步。
6、 如权利要求l所述的系统,其特征在于,所述ES-P与所述MM之间 具有第十接口 ;所述ES-P与所述MM之间通过所述第十接口进行直播频道发 布及删除的信令交互;所述ES-P与所述UM之间具有第十一接口;采用扩展RAIDUS协议;所 述ES-P通过所述第十一接口上报用户消费的直播频道节目的计费信息以及 P2P客户端上行贡献带宽和补偿带宽信息;所述ES-P与所述P2P客户端之间具有第十二接口 ;所述ES-P与所述P2P 客户端之间通过所述第十二接口交互流媒体会话描述信息、切片数据、带宽信 息、信令流量及播放时延信息;所述ES-P之间具有第十三接口 ,用于相互进行数据分发。
7、 如权利要求l所述的系统,其特征在于,所述P2P客户端之间具有基于P2P协议的第十四接口 。
8、 如权利要求l所述的系统,其特征在于,还包括内容管理系统CMS、 业务管理系统SMS、澡作管理系统OMC、用户访问入口单元和用量采集单元 UM。
9、 一种支持P2P技术的中心服务器CS-P,包括第一P2P连接管理模块, 其特征在于,还包括第一频道管理模块,用于通过与媒体管理器MM之间的第一接口获取媒体 管理器MM发布的直播频道基本信息,增加/删除直播频道;报文解析模块,用于通过与直播源之间的第二接口从直播源编码器中获取 媒体数据流报文并进行解析;P2P切片模块用于对获取的媒体数据流报文进行切片处理。
10、 如权利要求9所述的CS-P,其特征在于,还包括 第一媒体緩存管理模块,用于对媒体数据流报文的緩冲管理; P2P会话管理模块用于对连接的用户进行维护管理;P2P同步模块用于将媒体数据流报文的切片信息及数据同步点同步到备 用CS-P;第一负载报告模块,用于收集和统计CS-P的负载状况并通过与支持P2P 技术的用户请求路由系统RRS-P之间的第三接口上报到RRS-P。
11、 一种支持P2P技术的用户请求路由系统RRS-P,包括第二P2P连接 管理模块,其特征在于,还包括ES/CS管理模块,用于探测连接的ES-P和CS-P的故障,记录ES-P与CS-P 之间拓朴关系;负载均衡模块,用于对ES-P进行负载计算,选择出当前负载较轻的ES-P; 用户调度^t块,用于通过与P2P客户端之间的第八接口接收P2P客户端发 起的加入直播频道请求,将P2P客户端调度到所属区域内,并调用负载均衡才莫块选择出当前负载较轻的ES-P,将P2P,客户端调度到所属区域内选择出的 ES-P;或者还用于通过与ES-P之间的第七接口接收ES-P发起的数据获取请求, 返回CS-P和/或能提供切片数据的其它ES-P节点地址信息。
12、 如权利要求11所述的RRS-P,其特征在于,还包括 第二频道管理模块,用于通过与MM之间的第六接口获取并记录直播频道基本信息,增加/删除直播频道,并将处理结果发送给所述第一拓朴管理模块; 第一拓朴管理模块,用于根据用户调度模块的调度结果,维护P2P客户端之间以及ES-P之间的拓朴信息;资源管理模块,用于支持资源出租模式,根据所述第一拓朴管理^^块中保存的拓朴信息,记录频道占用资源,并检查频道所占资源是否超过设定的上限值;数据同步模块,用于通过与备用RRS-P之间的第九接口与备用RRS-P通 信,实现主用RRS-P和备用RRS-P信息同步更新。
13、 一种支持P2P技术的边缘服务器ES-P,包括第三P2P连接管理模块, 其特征在于,还包括第三频道管理;漢块,用于通过与MM之间的第十接口获取并记录直播频道 基本信息,增加/删除直播频道;第二负载报告模块,用于负载收集、统计并通过与RRS-P之间的第七接口 上报到RRS-P;第二媒体緩存管理模块,用于对获取的切片数据报文进行緩存管理,接收 P2P客户端发起的数据获取请求,发送切片数据给P2P客户端。
14、 如权利要求13所述的ES-P,其特征在于,还包括 认证计费模块,用于对连接的P2P客户端进行用户身份认证、以及对用户消费的直播频道节目进行计费并上报;第二 P2P会话管理模块,用于对连接的用户进行维护管理。
15、 一种P2P客户端,包括第四P2P连接管理模块,其特征在于,还包括 解码才莫块,用于从ES-P或其它P2P客户端获取切片数据并对获取的切片数据进行解码,恢复原始数据包,发送给媒体播放器; 媒体播放器,用于根据接收的流媒体数据播放节目。
16、 如权利要求15所述的P2P客户端,其特征在于,还包括 缓存管理模块,用于缓存解码后数据包,发送给媒体服务器模块; 媒体服务器模块,用于向媒体播放器发送流媒体数据; 第二拓朴管理模块,用于监控并调整自身与其它网络节点之间的P2P连接状态。
17、 一种流媒体播放方法,应用于媒体分发系统,所述媒体分发系统包括 媒体管理器MM,还包括支持P2P技术的中心服务器CS-P、支持P2P技术 的用户请求路由系统RRS-P、支持P2P技术的边缘服务器ES-P以及多个P2P 客户端;其特征在于,该方法包括由所述MM发布直寺番频道通知给所述CS-P、 RRS-P和ES-P;由所述ES-P从所述CS-P和/或能提供所述切片数据的其它ES-P节点获取 切片数据并緩存;所述切片数据是由所述CS-P从直播源中获取媒体数据流报 文并进行报文解析和切片处理后生成的;所述ES-P接收到P2P客户端发起的 获取数据请求后发送緩存的切片数据给P2P客户端;由所述P2P客户端从所述ES-P或其它P2P客户端获取所述切片数据进行 分发或进行组装运算后通过本地播放器播放。
18、 如权利要求17所述的方法,其特征在于,所述由MM发布直播频道 通知给所述CS-P、 RRS-P和ES-P;具体包括由系统中的内容管理系统通知MM进行内容分发;所述MM判断为P2P直播后,通知所述CS-P进行P2P直播发布,并携带 直播源地址信息;在收到CS-P返回的分发成功消息后通知所述RRS-P建立P2P 拓朴数据结构;再分别通知各ES-P进行P2P直播发布,收到每一个ES-P返回的分发成功消息后,分别通知所述RRS-P更新所述P2P拓朴数据结构。
19、 如权利要求17所述的方法,其特征在于,所述ES-P从所述CS-P和/ 或能提供所述切片数据的其它ES-P节点获取切片数据,具体包括所述ES-P向所述RRS-P发起数据获取请求;所述RRS-P选择CS-P和/或能提供所述切片数据的其它ES-P节点,并返 回节点地址;所述ES-P根据返回的节点地址向对应节点发起提供数据请求; 所述对应节点发送切片数据给所述ES-P。
20、 如权利要求17所述的方法,其特征在于,所述P2P客户端获取所述 切片数据进行分发,具体包括所述P2P客户端向所述RRS-P注册成为 一个直播频道的帮助节点; 所述P2P客户端作为帮助节点获取所述直播频道的对应切片数据并緩存 在本地,接收到其它P2P客户端的发起的数据获取请求后进行数据分发。
21、 如权利要求20所述的方法,其特征在于,所述P2P客户端设置有休 眠定时器;当所述P2P客户端处于空闲状态时,启动所述休眠定时器; 当休眠定时器超时后,所述P2P客户端向所述RRS-P注册成为一个直播 频道的帮助节点。
22、 如权利要求21所述的方法,其特征在于,所述RRS-P保存各直播频 道的对应帮助节点信息;当接收到P2P客户端发起的加入直播频道请求后,优 先选择与所述P2P客户端属于同 一 区域的所述直播频道的对应帮助节点信息, 并返回给所述P2P客户端。
23、 如权利要求22所述的方法,其特征在于,当所述帮助节点提供的上 行流量少于设定阈值时,执行下列步骤所述帮助节点启动调整定时器,当所述调整定时器超时后,向所述RRS-P 发起调整请求;所述RRS-P判断所述帮助节点所在直播频道的帮助节点数量是否超过阈 值,若是,则为所述帮助节点重新分配其它直播频道,并返回切换频道消息; 所述帮助节点作为所述其它频道的对应帮助节点;若所述帮助节点所在频道的帮助节点数量没有超过阈值,则指示所述帮助 节点仍作为其所在频道的帮助节点,重新启动所述调整定时器。
24、 如权利要求23所述的方法,其特征在于,所述RRS-P判断出每一个 直播频道的帮助节点数量都超过其对应阈值时,确定出整个网络帮助节点过 剩,指示该帮助节点作为普通的P2P客户端,启动其对应的休眠定时器。
25、 如权利要求24所述的方法,其特征在于,当所述调整定时器启动后, 若所述帮助节点提供的上行流量大于等于设定阈值,关闭所述调整定时器。
26、 如权利要求17所述的方法,其特征在于,所述P2P客户端获取所述 切片数据进行组装运算后通过本地播放器播放,具体包括所述P2P客户端向所述RRS-P发起加入直播频道请求;所述RRS-P从所述P2P客户端所属区内选4奪ES-P,并返回选择的ES-P和/或能提供切片数据的其它P2P客户端节点信息;所述P2P客户端从所述选择的ES-P和/或能提供切片数据其它P2P客户端节点中,获取所述切片数据进行组装运算后通过本地播放器播放。
27、 如权利要求26所述的方法,其特征在于,所述P2P客户端向所述RRS-P 发起加入直播频道请求之前,还包括P2P客户端登录系统;执行P2P客户端用户身份认证。
28、 如权利要求27所述的方法,其特征在于,所述P2P客户端登录系统 后,还包括判断用户是否注册,若用户没有注册,则执行下列步骤所述P2P客户端向所述RRS-P发起注册申请;所述RRS-P为所述P2P客户端分配唯一标识,并生成配置信息返回给所 述P2P客户端。
29、 如权利要求17所述的方法,其特征在于,还包括由所述MM分别发布删除直播频道通知给所述RRS-P、 ES-P和CS-P;所 述RRS-P、 ES-P和CS-P分别处理直播频道删除。
全文摘要
本发明公开了一种媒体分发系统,包括媒体管理器MM,支持点对点P2P技术的中心服务器CS-P、支持P2P技术的用户请求路由系统RRS-P、支持P2P技术的边缘服务器ES-P以及多个P2P客户端。本发明还公开了一种基于上述媒体分发系统流媒体播放方法,包括由所述MM发布直播频道通知给所述CS-P、RRS-P和ES-P;所述CS-P从直播源中获取媒体数据流报文,进行报文解析和切片处理,生成切片数据;所述ES-P从所述CS-P和/或能提供所述切片数据的其它ES-P节点获取切片数据并缓存;所述P2P客户端从所述ES-P或其它P2P客户端获取所述切片数据进行分发或进行组装运算后通过本地播放器播放。本发明利用P2P技术改进现有媒体分发网络,实现满足大量客户端的流媒体播放。
文档编号H04L12/56GK101282281SQ200710089600
公开日2008年10月8日 申请日期2007年4月3日 优先权日2007年4月3日
发明者严哲峰, 兑继英, 李耀辉, 王志兵, 薛传颂, 陈浩华, 魏家好 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1