首页> 中国专利> 一种网络通信数据处理方法、网络通信系统及客户端

一种网络通信数据处理方法、网络通信系统及客户端

摘要

本发明涉及互联网技术领域,尤其涉及一种网络通信数据处理方法、网络通信系统及客户端,用以减少选定频道的播放延迟。在本发明中,客户端根据用户选定的频道确定对应的媒体服务器及该客户端在点对点系统中的父节点;该客户端根据父节点的相关信息确定本次数据处理的起始分片组标识,并向该媒体服务器发送请求该频道数据的消息,该消息中携带该起始分片组标识;该客户端接收该媒体服务器根据该起始分片组标识发送的该频道的数据,且接收各父节点发送的该频道的数据。采用本发明技术方案,可以减少选定频道的播放延迟,并且可以支持高画质视频文件的传输。

著录项

  • 公开/公告号CN101102312A

    专利类型发明专利

  • 公开/公告日2008-01-09

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200710112366.8

  • 申请日2007-06-11

  • 分类号H04L29/06(20060101);H04L12/56(20060101);H04L12/18(20060101);H04L1/00(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人李娟

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 19:32:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-06-02

    授权

    授权

  • 2008-02-27

    实质审查的生效

    实质审查的生效

  • 2008-01-09

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其涉及一种网络通信数据处理方法、网络通信系统及客户端。

背景技术

Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度的要求越来越高,虽然国家骨干网带宽不断增加升级,但互联网用户数量也在不断增加,受Web服务器的负荷和传输距离等因素的影响,人们还是经常抱怨响应速度慢、带宽明显不足。

CDN(Content Delivery Network,内容分发网络)的目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,缓解Internet骨干网络拥塞的现状,提高用户访问网站的响应速度。CDN设备位于网络的边缘,距用户仅有“一跳”之遥,通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。

P2P(Peer To Peer,点对点)技术是随着网络发展而兴起的另一项重要技术,它充分利用了大量分布在网络边缘的通信终端的闲置资源和处理能力,改变了传统服务器/客户机模式业务过渡依赖中心服务器所导致的部署维护成本高、性能不稳定、扩展性差的缺点,实现了真正意义上的分布式应用。

从近几年网络应用的发展来看,多媒体内容的需求呈现不断增加的趋势,此类业务主要有视频点播(电影、电视剧)、视频直播(实时直播足球比赛)等。CDN的相关技术也逐渐被运用到了视频内容的分发上来,产生了专门用来传输多媒体内容的媒体传输网络MDN(Media Delivery Network,媒体分发网络)。由于视频传输具有实时性、大容量的特点,通过将视频内容分布到靠近用户的边缘节点上,可以为用户提供更好的播放质量,同时又能大大降低对骨干网络的冲击。

将CDN和P2P技术结合进行网络流媒体分发和播放具有许多优点,是实现大规模此类业务部署的重要技术手段之一,也是当前该领域的技术发展趋势。

在现有的P2P直播方案中,启动(或频道切换)播放延迟,即用户点击频道节目到播放视频画面的时间间隔,一般为20秒左右,较大的启动延迟影响了用户的业务感受质量。发明人在实现本发明时,发现由于现有的P2P系统中客户端是从其父节点获得选定频道的数据,而由于P2P系统中的各个客户端互为对等节点,客户端从其父节点获得数据的速率都与选定频道的码率相同,且选择和查找多个节点需要耗费时间,无法解决启动(或频道切换)播放延迟较大的问题。

另外,P2P流媒体系统利用IP交换网络作为数据传输的通道,IP网络的数据传输质量因扰动或带宽不足等复杂原因具有较强的不确定性,包含媒体数据分片(Slice)的UDP(User Datagram Protocol,用户数据报协议)报文在传输过程中可能会丢失,从而降低用户的视频观看质量。使用数据分组层(packetlevel)的FEC(Forward Error Correction,前向纠错码,本文中又称其为冗余编解码)算法可以改善上述缺陷,其基本原理如图1所示,为在发送侧将N个数据分片编码成(N+m)个数据分片,其中m为增加的冗余分片的数目,在图1所示的实例中,N为4,m为2,通过媒体传输网络传输该(N+m)个数据分片,而当接收端发现该分片组出现分片空洞时,可以根据这(N+m)个数据包中的任何N个通过冗余解码恢复出原始的N个数据包。

具体的码流切片和冗余编码原理如图2所示,原始媒体数据在分发侧源头被切成等大小的数据分片,经冗余编码处理,产生若干等大小的冗余分片,按组间和组内进行分片编号,再给原始分片和冗余分片添加分片头信息,分片头中主要包含每个分片所属的分片组和在组内的编号,以及时间戳、媒体元数据信息(如是否包含关键帧标识和帧数据偏移量)等,最后分发到终端客户节点,客户端在播放前,先剥去分片头,组装还原成原始媒体数据流,发送给媒体播放模块即可实现直播内容的播放。

通过增加冗余分片可以很大程度地避免重传,代价是冗余分片的传输也需要占用一些额外的带宽,这种开销在网络流媒体系统中是值得的。但是,发明人在实现本发明时,发现由于采用FEC算法时要获得一个分片组的完整数据,接收端起码需要接收到N个分片,当接收端接收到的一个分片组中缺失的分片数量大于m时,则无法恢复出完整的数据。

发明内容

本发明实施例提供一种网络通信数据处理方法、网络通信系统及客户端,用以减少选定频道的播放延迟。

本发明实施例提供了一种网络通信数据处理方法,包括:

客户端根据用户选定的频道确定对应的媒体服务器及所述客户端在点对点系统中的父节点;

所述客户端根据所述父节点的相关信息确定本次数据处理的起始分片组标识,并向所述媒体服务器发送请求该频道数据的消息,该消息中携带所述起始分片组标识;

所述客户端接收所述媒体服务器根据所述起始分片组标识发送的该频道的数据,且接收各父节点发送的该频道的数据。

本发明实施例还提供了一种客户端,包括:

频道选择模块,用于确定用户选定的频道并输出;

拓扑管理模块,用于根据用户选定的频道确定对应的媒体服务器及所述客户端在点对点系统中的父节点,并根据所述父节点的相关信息确定本次数据处理的起始分片组标识,向媒体服务器发送请求该频道数据的消息,该消息中携带所述起始分片组标识;

缓冲区模块,用于接收所述媒体服务器和所述父节点向所述客户端发送的数据。

本发明实施例还提供了一种网络通信系统,包括点对点系统和媒体服务器,其中:

所述点对点系统中的客户端,用于根据用户选定的频道确定对应的媒体服务器及所述客户端在点对点系统中的父节点,并根据所述父节点的相关信息确定本次数据处理的起始分片组标识,向媒体服务器发送请求该频道数据的消息,该消息中携带所述起始分片组标识,且向所述客户端的孩子节点发送相应的数据;

所述媒体服务器,用于根据所述起始分片组标识向所述客户端发送该频道的数据。

采用本发明实施例提供的技术方案,可以利用媒体服务器来获得一次数据处理中从起始分片组开始的一段数据,由于媒体服务器可以较快的开始向客户端传输数据,则客户端可以较快的开始播放视频文件,减少选定频道的播放延迟,并且,由于本发明实施例在P2P系统的基础上引入媒体服务器来向客户端传输视频文件,因此,采用本发明实施例还可以支持高画质视频文件的传输。

附图说明

图1为数据分组层的FEC算法基本原理图;

图2为码流切片和冗余编码原理图;

图3为本发明实施例中网络通信数据处理中的快速缓冲流程图;

图4为本发明实施例的第一实例中快速缓冲流程示意图;

图5为本发明实施例的第二实例中快速缓冲流程示意图;

图6为本发明实施例中对待播放区域进行的处理流程图;

图7为本发明实施例中的客户端框图。

具体实施方式

本发明实施例中,客户端根据用户选定的频道确定对应的媒体服务器及该客户端在点对点系统中的父节点;

该客户端根据父节点的相关信息确定本次数据处理的起始分片组标识,并向该媒体服务器发送请求该频道数据的消息,该消息中携带该起始分片组标识;

该客户端接收该媒体服务器根据该起始分片组标识发送的该频道的数据,且接收各父节点发送的该频道的数据。

可见,采用上述技术方案,利用媒体服务器来获得一次数据处理中从起始分片组开始的一段数据,由于媒体服务器可以较快的开始向客户端传输数据,避免因查找和选择多个父节点而需要消耗较多时间的情况,则客户端可以较快的开始播放视频文件,并且,由于本发明实施例在P2P系统的基础上引入媒体服务器来向客户端传输视频文件,因此,采用本发明实施例还可以支持高画质视频文件的传输,另外,由于媒体服务器可以以大于选定频道码率的速率向客户端发送该频道的数据,因此,可以在向客户端发送该频道的数据时,先确定媒体服务器向客户端发送该频道的数据的起始速率,且令该起始速率大于该频道码率,则可以使得客户端在较短的时间内获得一次数据处理中从起始分片组开始的一段数据,从而在较短的延迟后开始播放该段数据,达到进一步减少选定频道的播放延迟的目的。

下面结合附图对本发明实施例做进一步地描述。

本发明实施例中网络通信数据处理中的快速缓冲流程如图3所示,包括以下步骤:

步骤S101,用户在客户端上选定某一频道;

本步骤可以是直接启动该频道或者从其他频道切换到该频道上。

步骤S102,客户端的拓扑管理模块通过与RRS-P(Request Routing Systemfor P2P,支持P2P的用户请求路由系统)交互获得该频道对应的媒体服务器以及拓扑树备选节点的地址等信息;

步骤S103,拓扑管理模块随机与备选节点进行通信以加入P2P直播拓扑树,并将第一个接纳的节点指定为主干父节点;

步骤S104,拓扑管理模块在获得主干父节点的相关信息后,根据该相关信息确定本次数据处理的起始分片组标识;

拓扑管理模块通常在获得主干父节点的相关信息后触发缓冲区管理模块的初始化。

在具体实现时,不限定一定根据主干父节点的相关信息来确定该起始分片组标识,也可以是根据其它的指定父节点(第一指定父节点)的相关信息来确定,这里以主干父节点为例进行说明。

本步骤地实现可以为:拓扑管理模块根据该频道的码率和分片大小以及预设的缓冲预留区域大小计算得到该缓冲预留区域内能够缓存的分片组的数量,另外,拓扑管理模块在获得主干父节点当前向该客户端提供的传输点后,根据该传输点的分片组标识和该缓冲预留区域内能够缓存的分片组的数量确定该起始分片组标识,该起始分片组早于主干父节点当前向该客户端提供的传输点的分片组,可见,确定该起始分片组标识的具体方式可以为将该传输点的分片组标识向前推该缓冲预留区域内能够缓存的分片组的数量。

步骤S105,拓扑管理模块向媒体服务器发送请求该频道数据的消息,该消息中携带该起始分片组标识;

步骤S106,媒体服务器根据该起始分片组标识以大于该频道码率的速率向该客户端发送该频道的数据;

在起始阶段,媒体服务器向客户端发送的数据包括该频道的全部的数据子流,其中,子流为相同分片ID对应的分片构成的连续分片流。

本实施例中以起始速率大于该频道码率为例进行说明,在本步骤中,服务器向客户端发送数据的起始速率是个可配置参数,确定该起始速率的具体方法为以下任意一种:

媒体服务器根据本地配置的码率倍数信息和该频道的码率确定该速率;

媒体服务器根据该频道的码率和该客户端的请求中携带的码率倍数确定该速率。

例如,媒体服务器本地配置发送数据的速率为相应频道码率的1.8倍,则媒体服务器在接收到客户端的请求时,会以1.8倍于相应频道码率的速率向客户端发送数据。

在发送数据时,其速率应当不大于该客户端的最大带宽。

步骤S107,该客户端的各父节点向该客户端传输协商确定的子流数据;

在具体实现时,步骤S106和步骤S107没有一定的先后顺序。

客户端利用本地缓冲区来接收媒体服务器和各父节点发送的数据,该缓冲区通常是一个回绕结构,使用类似循环队列的形式进行组织。

步骤S108,缓冲区管理模块向媒体播放模块供流;

在具体实现时,缓冲区管理模块可以在用户选定该频道后到达设定时长时开始向媒体播放模块供流;

缓冲区管理模块也可以在该客户端向媒体服务器请求数据后,等待第一设定时长,并到达第一设定时长时开始向媒体播放模块供流;

另外,缓冲区管理模块还可以检测本地缓冲区接收到的从起始分片组开始的连续完备数据是否达到设定的第一阈值,并在检测出达到该第一阈值时开始向媒体播放模块供流。

和现有的处理方式相同,在供流后,缓冲区管理模块将相应的缓冲区释放。

步骤S109,缓冲区管理模块在检测出缓冲区中媒体服务器的最新传输点与第二指定父节点的最新传输点相同时,通知媒体服务器将发送数据的速率切换为与该频道码率相同;

该第二指定父节点可以是该客户端的任意父节点。

其中,最新传输点标识接收到相应父节点或者媒体服务器的最大分片组的序号。该点随着播放进度和分片的接收不断递增,每个子流分别都有一个最新传输点。

步骤S110,媒体服务器根据该通知将发送数据的速率切换为与该频道码率相同。

在上述流程中,缓冲区管理模块在检测出缓冲区中媒体服务器的最新传输点与某父节点的起始传输点相同时,即可通知媒体服务器停止向该客户端发送该父节点对应的数据子流,具体可在相应的通知消息中携带该父节点传输的子流号,媒体服务器则在接收到该通知消息后,停止发送该子流号对应的数据子流。可见,根据上述流程,媒体服务器只需要在客户选定一个频道后的媒体缓冲的初始阶段以较大速率发送相应数据,在后续的过程中,由于可以在媒体服务器的最新传输点与某父节点的起始传输点相同时停止向该客户端发送该父节点对应的数据子流,因此,由于媒体服务器的最新传输点不断“追赶”到各父节点的起始传输点,则媒体服务器可以逐步停止向各父节点发送数据,客户端可以直接从各父节点获得其选定的频道的数据。

另外,不限定缓冲区管理模块在检测出缓冲区中媒体服务器的最新传输点与第二指定父节点的最新传输点相同时通知媒体服务器将发送数据的速率切换为与该频道码率相同,在具体实现时,也可以检测从媒体服务器接收到的数据量,并在检测出该数据量大于设定的第二阈值时,通知媒体服务器将发送数据的速率切换为与该频道码率相同;或者,检测缓冲区内的空闲空间,并在检测出缓冲区内的空闲空间低于设定的第三阈值时,通知媒体服务器将发送数据的速率切换为与该频道码率相同。

由于在具体实现时,客户端的下行带宽有限,在向客户端传输数据的并发链路过多时,可能导致分片空洞较多等传输问题,因此,应该限制该并发链路数,而又由于缓冲区管理模块在向媒体播放模块供流时,是从起始分片组开始的,而媒体服务器是从起始分片组开始传输的,该客户端的父节点的有效起始传输点都不早于媒体服务器的起始传输点,因此,为了更好地减少选定频道的播放延迟并且尽量避免传输问题,所以在媒体服务器将发送数据的速率切换为与该频道码率相同之前,客户端应当优先保障媒体服务器的有效下行带宽。

下面以本发明实施例的第一实例进一步进行说明,在第一实例中,如图4所示,在该实例的各父节点中,主干父节点P1的起始传输点位于其他父节点之前(图中仅示出主干父节点的起始传输点位置),且主干父节点P1为本次传输的第一指定父节点和第二指定父节点,另外,在第一实例中,在该客户端向媒体服务器请求数据后到达设定时长时开始向媒体播放模块供流。如图4所示:

1、t1时刻,客户端缓冲区管理模块按计算出的媒体服务器起始传输点向媒体服务器请求数据传输,媒体服务器以1.8倍于该频道码率的速率向该客户端发送数据,主干父节点对应的数据子流也按照父节点的传输点进行同步传输,缓冲区的起始位置(通常设置缓冲区的起始位置为媒体服务器的起始传输点)接收从媒体服务器发送的(N+m)条子流的分片数据,缓冲区中与其起始位置间隔预设的缓冲预留区域之后(即主干父节点P1的起始传输点)则接收从主干父节点P1发送的单个子流数据;

2、t2时刻,与t1时刻间隔设定时长,在到达t2时刻后,缓冲区管理模块启动向媒体播放模块供流,初始供流点即是媒体服务器的起始传输点,随后缓冲区管理模块将通过某种机制如设定定时器触发定期地向媒体播放模块供流,其中,供流点是用于标识客户端缓冲区管理模块向媒体播放模块供流的数据位置指针;

3、t3时刻,继续进行快速缓冲,如图所示,在向媒体播放模块供流后,缓冲区管理模块将相应的缓冲区释放,得到图中所示的供流释放区;

4、t4时刻,媒体服务器的最新传输点“追赶”到父节点P1对应的子流起始传输点,客户端即会通知媒体服务器停止与P1所对应的相同子流号的子流传输,即媒体服务器从t4时刻开始只补偿(N+m-1)条子流的分片数据;

5、t5时刻,媒体服务器的最新传输点“追赶”到父节点P1对应的子流最新传输点,由于在本实例中,主干父节点P1为第二指定父节点,因此,此时则通知媒体服务器将剩下子流的数据传输速率调整至正常的频道码率,即将1.8倍频道速率调整为1倍速率,客户端的快速缓冲流程结束。

当媒体服务器的最新传输点“追赶”到其他父节点的起始传输点时,同样通知媒体服务器停止与相应父节点所对应的相同子流号的子流传输。

在本发明实施例的第二实例中,如图5所示,父节点P3的起始传输点位于主干父节点P1之前,且本次P2P传输中该客户端有4个父节点(P1至P4),在该实例中,令父节点P2为本次传输的第二指定父节点,且在该第二实例中,为了优先保障媒体服务器与该客户端间传输数据的有效带宽,因此,在总下行带宽有限的情况下,并非所有的父节点都在连接后都需要立即传输子流分片数据,而可以设置所有父节点在连接成功后,都处于传输阻塞(Choke)状态,所谓Choke状态即连接后不传输数据分片,只是定期通告客户端其能够向该客户端提供的传输点的数值。也可以设置指定的父节点可以传输数据分片而其他父节点处于Choke状态,例如,在第二实例中,设置父节点P3和主干父节点P1可以传输数据分片而父节点P2和父节点P4处于Choke状态。在设置某些父节点处于Choke状态的情况下,可以在媒体服务器结束快速缓冲流程(即,将传输速率调整为1倍频道码率)后,开启各父节点的数据传输,也可以通过子流传输Qos(Quality of Service,业务质量)检测对媒体服务器数据传输质量进行追踪,若媒体服务器子流的实际速率与理论速率基本相同,则逐步开启处于Choke状态的子流父节点的数据传输,并从记录的最新传输点位置开始传输数据。

在该第二实例中,当媒体服务器的最新传输点“追赶”到父节点P3的起始传输点时,客户端通知媒体服务器停止与父节点P3所对应的相同子流号的子流传输;当媒体服务器的最新传输点“追赶”到主干父节点P1的起始传输点时,客户端通知媒体服务器停止与主干父节点P1所对应的相同子流号的子流传输;当媒体服务器的最新传输点“追赶”到父节点P2的起始传输点时,客户端通知媒体服务器停止与父节点P2所对应的相同子流号的子流传输;当媒体服务器的最新传输点“追赶”到父节点P2的最新传输点时,由于父节点P2为本次传输的第二指定节点,因此,在此时,应当通知媒体服务器将剩下子流的数据传输速率调整至正常的频道码率,客户端节点的快速媒体服务器缓冲流程结束。

为了保证客户端视频播放质量和连贯性,应当确保缓冲区中时刻都有足够且完整的媒体数据源源不断地供应给媒体播放。因此,在本发明实施例中,缓冲区管理模块应当进一步确保供流点和完备检查点之间的待播区域的数据是完整的媒体数据。其中,完备检查点是用于标识数据待播放区域结束位置指针,待播放区域由供流点和设定的待播区域长度确定的。

由于在现有技术中利用分组级FEC技术(Packet Level FEC)进行分片组的传输和数据恢复,因此,即使该待播放区域内各分片组中出现了分片空洞,但只要该待播放区域内各分片组(N+m)中接收到N个分片,则可以利用该N个分片恢复出原始分片数据,因此,在本发明实施例中主要针对当接收端接收到的一个分片组中缺失的分片数量大于m时,利用FEC算法无法恢复出完整的数据的情况,本发明实施例中为确保数据完备性对待播放区域进行的处理流程如图6所示,包括以下步骤:

步骤S201,客户端定期扫描待播放区域,检测该区域内各分片组缺失的分片的数量是否大于冗余分片的数量,并在检测到一分片组中缺失的分片的数量大于冗余分片的数量时,向媒体服务器请求补偿;

向媒体服务器请求补偿时,客户端可以请求补偿该分片组全部的缺失原始分片,也可以根据该分片组中缺失的分片数向媒体服务器请求部分缺失分片(该部分缺失分片可以是原始分片也可以是冗余分片)。

步骤S202,媒体服务器根据该请求返回补偿分片;

如果向媒体服务器请求补偿时,客户端请求的是补偿该分片组全部的缺失原始分片,则可以在本步骤结束后结束本流程;如果向媒体服务器请求补偿时,客户端请求的是部分缺失分片的话,则需要进行步骤S203。

步骤S203,客户端根据该分片组在缓冲区中原有的分片与媒体服务器返回的部分缺失分片进行该分片组的数据恢复。

可见,在上述流程中,如果向媒体服务器请求补偿时,客户端请求的是补偿该分片组全部的缺失原始分片,则相对需要占用较多的网络带宽,并增加媒体服务器发送数据的负载,而如果向媒体服务器请求补偿时,客户端请求的是部分分片的话,则需要客户端根据FEC算法进行进一步的处理,因此,在具体实现时,可以根据实际的处理情况结合这两种处理方法的特点进行选择。

在本发明实施例的第三实例中,N+m=8+2,若检查发现一已接收分片组的分片分布为5+1(即5个原始分片,1个冗余分片),为了保证8个原始分片的完整性,则可以直接请求缺少的3个原始块,也可以只请求2个原始块,再通过7+1块恢复出原始的8个原始块,或者请求1个原始块和1个冗余块,再通过6+2块恢复出原始的8个原始块。

另外,由于用以承载媒体数据分片的UDP报文在网络传输过程无可避免地会发生丢失现象,子流分片所经过的网络传输路径可能会出现阻塞甚至断连,为了保证播放质量,在出现大量数据丢包时,客户端缓冲区管理模块应能够侦测到这种异常情况,并通知拓扑管理模块进行调整以恢复子流的传输。子流数据传输Qos检测的基本原理为:

缓冲区管理模块根据每条子流的数据分片计数器对各子流传输质量进行检查跟踪,周期性地检测周期内各子流的平均数据率,在检测到一子流在设定时间内有设定比例或者个数的周期中的平均数据率低于设定的第五阈值时,确定该子流在该周期进入异常状态。例如:周期性地对刚刚过去的检查周期内的平均数据率进行统计计算,若在持续的β个检查周期中,累计有α个检查周期的平均数据率低于该第五阈值,则确定该子流进入异常状态。

若发现子流出现异常,可立即通告拓扑管理模块,让其调整调整该客户端获得该子流的途径,例如,一子流在发现异常之前,由父节点P5向该客户端传输,在发现异常后,拓扑管理模块则可确定另一个父节点来传输该子流,也可从媒体服务器直接取数据。某子流的父节点更换后,将对应的数据分片计数器清零重新开始计数。

在具体实现时,该Qos检测也可以不由缓冲区管理模块来进行,只要能够获知子流传输情况的模块都可以进行上述异常检测。

在上述方案中,媒体服务器可以是任何保存了相应频道数据的服务器。但是由于目前已经存在一种CDN,其相关技术逐渐被运用到了视频内容的分发上来,通过其将视频内容分布到靠近用户的边缘节点上,可以为用户提供更好的播放质量,同时又能大大降低对骨干网络的冲击,因此,在本发明实施例中,媒体服务器可以是内容分发网络中的媒体服务器MS-P(Media Sever for P2P,支持P2P的媒体服务器),由于各MS-P可以向客户端提供其本地缓冲区内的数据,因此,在具体实现时,MS-P在向客户端发送数据时,可以定期检测其能够向客户端提供的数据量是否不大于设定的第四阈值,并在检测出不大于时将向客户端发送数据的速率切换为与该频道码率相同。该第四阈值可以根据需要设定,也可以设定该第四阈值为0,在这种情况下,则MS-P向客户端发送的子流分片组已经到达其缓冲区中现有数据的尽头时,将向客户端发送数据的速率切换为与该频道码率相同。

由实验结果可知,利用媒CDN中的MS-P来获得一次数据处理中从起始分片组开始的一段数据,可以使得客户端在较短的时间内获得一次数据处理中从起始分片组开始的一段数据,从而在较短的延迟后开始播放该段数据,达到减少选定频道的播放延迟的目的,通常可以小于5秒。

本发明实施例中的客户端,如图7所示,包括:

频道选择模块,用于确定用户选定的频道并输出;

拓扑管理模块,用于根据用户选定的频道确定对应的媒体服务器及该客户端在点对点系统中的父节点,并根据父节点的相关信息确定本次数据处理的起始分片组标识,向媒体服务器发送请求该频道数据的消息,该消息中携带该起始分片组标识;

缓冲区模块,用于接收该媒体服务器和父节点向该客户端发送的数据。

该客户端可以包括缓冲区管理模块,缓冲区管理模块可以包括切换模块,该切换模块用于检测该缓冲区模块内该媒体服务器的最新传输点与指定的父节点的最新传输点是否相同,并在检测到相同时,通知该媒体服务器将发送数据的速率切换为与该频道码率相同。

该缓冲区管理模块还可以包括第一模块,用于检测该缓冲区模块内该媒体服务器的最新传输点与各父节点的起始传输点是否相同,并在检测到该媒体服务器的最新传输点与任一父节点的起始传输点相同时,通知该媒体服务器停止向该客户端发送该父节点对应的数据子流。

该缓冲区管理模块还可以包括第二模块,用于优先保障该媒体服务器的有效下行带宽。

该缓冲区管理模块还可以包括第三模块,用于定期扫描该缓冲区模块内的待播放区域,该待播放区域由供流点和设定的待播区域长度确定,检测该区域内各分片组缺失的分片的数量是否大于冗余分片的数量,并在检测到缺失的分片的数量大于冗余分片的数量时,向该媒体服务器请求补偿。

该客户端还可以包括子流检测模块,用于周期性地检测周期内各子流的平均数据率,在检测到一子流在设定时间内有设定比例或者个数的周期中的平均数据率低于设定的第五阈值时,确定该子流进入异常状态,并通知该拓扑管理模块;

该拓扑管理模块,用于根据该通知调整该客户端获得该子流的途径。

本发明实施例中的网络通信系统,包括P2P系统和媒体服务器,其中:

P2P系统中的客户端,用于根据用户选定的频道确定对应的媒体服务器及该客户端在P2P系统中的父节点,并根据父节点的相关信息确定本次数据处理的起始分片组标识,向媒体服务器发送请求该频道数据的消息,该消息中携带该起始分片组标识,且向该客户端的孩子节点发送相应的数据;

媒体服务器,用于根据该起始分片组标识向该客户端发送该频道的数据。

该媒体服务器还可以包括起始速率确定模块,用于确定媒体服务器向客户端发送该频道的数据的起始速率。

该客户端还可以用于检测其接收数据的缓冲区内该媒体服务器的最新传输点与指定的父节点的最新传输点是否相同,并在检测到相同时,通知该媒体服务器将发送数据的速率切换为与该频道码率相同。

该客户端还可以用于检测该缓冲区内该媒体服务器的最新传输点与各父节点的起始传输点是否相同,并在检测到该媒体服务器的最新传输点与任一父节点的起始传输点相同时,通知该媒体服务器停止向该客户端发送该父节点对应的数据子流。

该客户端还可以用于定期扫描该缓冲区内的待播放区域,该待播放区域由供流点和设定的待播区域长度确定,检测该区域内各分片组缺失的分片的数量是否大于冗余分片的数量,并在检测到缺失的分片的数量大于冗余分片的数量时,向该媒体服务器请求补偿;媒体服务器还用于根据该补偿请求向客户端发送相应的分片。

该媒体服务器可以为内容分发网络中的媒体服务器,该媒体服务器还可以用于在向该客户端发送数据时,定期检测其能够向该客户端提供的数据量是否不大于设定的第四阈值,并在检测出不大于时将向该客户端发送数据的速率切换为与该频道码率相同。

本领域普通技术人员可以理解上述实施例方法中的全部或者部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质如ROM(Read Only Memory,只读存储器)/RAM(Random Access Memory,随机存储器)、磁碟、光盘等。

综上所述,在本发明实施例中,利用媒体服务器来获得一次数据处理中从起始分片组开始的一段数据,使得客户端在较短的时间内获得一次数据处理中从起始分片组开始的一段数据,从而在较短的延迟后开始播放该段数据,减少选定频道的播放延迟;并且,由于本发明实施例在P2P系统的基础上引入媒体服务器来向客户端传输视频文件,因此,采用本发明实施例还可以支持高画质视频文件的传输;另外,通过对待播放区域进行完备性检测,并根据检测结果向媒体服务器请求补偿,可以保证客户端视频播放质量和连贯性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号