一种流媒体播放中客户端选择cdn服务节点的方法

文档序号:9691015阅读:569来源:国知局
一种流媒体播放中客户端选择cdn服务节点的方法
【技术领域】
[0001]本发明涉及流媒体直播或点播中的CDN技术领域,且特别涉及一种流媒体播放中客户端选择CDN服务节点的方法。
【背景技术】
[0002]CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
[0003]随着互联网的发展,利用网络进行流媒体直播或点播逐渐成为一种趋势,慢慢融入到人们的日常生活中,在工作、学习以及娱乐等各个方面形成热点,无论是视频会议、在线教育还是网络电视、视频网站都应用的越来越广泛。流媒体(Stream Media)是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前不需要下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使流媒体数据正确地输出,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片段,然后依次把这些片段发给用户,连续播放这些片段就形成了连续的声音和图像。
[0004]流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或者几十秒的启动延时即可再用户的计算机上利用解压设备对压缩的多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动时间大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。目前,流媒体技术已经广泛应用在互联网领域中。
[0005]流媒体类业务一般是服务器到客户端或客户端到客户端的业务服务架构,视音频编解码是服务器和客户端的重要功能之一,视音频编解码需要耗费大量的服务器/客户端软件和硬件资源,目前的服务器或客户端难以承受如此大的并发请求。流媒体业务如果直接在当前的IP网上运营会产生一系列的问题,如:带宽和QoS难以保证;广播型业务耗费大量的骨干网络带宽,并对源点构成极大的压力等。一旦流媒体业务用户量和业务量加大,就会对现有网络的流量流向造成很大的冲击,甚至会使得现有网络无法保证常规业务的运营。
[0006]CDN技术的发展,为宽带流媒体应用提供了最佳的解决方案。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。服务器中如果没有用户要访问的内容,会根据配置自动从原服务器抓取相应的内容并提供给用户。
[0007]在判断和⑶N之间链路的质量时,由于是通过已流逝时间的播放情况来衡量,并不能完整反映整个CDN服务节点使用的生命周期内,客户端与CDN之间的链路情况;所以需要对CDN服务节点的切换行为进行抑制,以免使得CDN服务节点切换过于频繁。

【发明内容】

[0008]本发明提出一种流媒体播放中客户端选择CDN服务节点的方法,根据当前播放状态对客户端所连接的CDN服务节点进行切换或对即将切换的行为进行抑制,避免CDN服务节点切换过于频繁,保证流媒体播放的流畅性,提高用户体验。
[0009]为了达到上述目的,本发明提出一种流媒体播放中客户端选择CDN服务节点的方法,包括下列步骤:
[0010]当连续设定时间内无数据可播时,对客户端所连接的CDN服务节点进行切换;
[0011 ]当在设定窗口期内有设定比例时间无法播放时,对客户端所连接的CDN服务节点进行切换;
[0012]当客户端缓存数据有设定时间可以播放时,对CDN服务节点即将切换的行为进行抑制;
[0013]当客户端所连接的CDN服务节点到目前为止的生命周期内有50%以上的时间可以播放时,对CDN服务节点即将切换的行为进行抑制。
[0014]进一步的,所述无数据可播的连续设定时间为I?5s,此后对客户端所连接的⑶N服务节点进行切换。
[00?5 ]进一步的,所述设定窗口期为在1?20 s内,判断在该时间范围内有多少时间无法播放。
[0016]进一步的,所述窗口期的设定比例时间为30 %?50 %,当出现以上比例时间范围无法播放时,对客户端所连接的CDN服务节点进行切换。
[0017]进一步的,所述客户端缓存数据可以播放的设定时间为大于等于5秒时,对CDN月艮务节点即将切换的行为进行抑制。
[0018]进一步的,所述⑶N服务节点的生命周期中以500ms为一个样本点,1000个样本点为生命周期最大值。
[0019]进一步的,该方法还包括将生命周期最长的CDN服务节点设置为最好节点,每次进行CDN服务节点切换时都判断其是否为最好节点,若当前使用节点即为最好节点,则不对客户端所连接的CDN服务节点进行切换。
[0020]进一步的,所述对客户端所连接的CDN服务节点进行切换是通过当前可切换CDN列表进行切换操作,切换时从当前可切换CDN列表中摘出列表中第一个CDN服务节点,并打开该CDN服务节点。
[0021 ]进一步的,所述对客户端所连接的CDN服务节点进行切换采用CDN轮流机制,轮流次数设定为N次。
[0022]进一步的,所述对客户端所连接的CDN服务节点进行切换采用冗余连接的方式进行,即在发现需要进行切换时,对于旧的CDN服务节点事先不进行任何处理和操作,另行开启一条与待使用CDN服务节点的连接,当该CDN服务节点与客户端之间握手成功后,且收到数据时,旧的CDN服务节点再被关闭。
[0023]本发明提出的一种流媒体播放中客户端选择CDN服务节点的方法,根据当前播放状态判断是否需要对客户端所连接的CDN服务节点进行切换或对切换进行抑制,在解决客户端播放流畅性问题的同时避免对客户端所连接的CDN服务节点切换操作过于频繁,保证流媒体播放的流畅性,提高用户体验。
【附图说明】
[0024]图1所示为本发明较佳实施例的客户端选择CDN服务节点的方法流程图。
【具体实施方式】
[0025]以下结合附图给出本发明的【具体实施方式】,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。
[0026]请参考图1,图1所示为本发明较佳实施例的客户端选择CDN服务节点的方法流程图。本发明提出一种流媒体播放中客户端选择CDN服务节点的方法,包括下列步骤:
[0027]步骤SlOO:当连续设定时间内无数据可播时,对客户端所连接的CDN服务节点进行切换;
[0028]步骤S200:当在设定窗口期内有设定比例时间无法播放时,对客户端所连接的CDN服务节点进行切换;
[0029]步骤S300:当客户端缓存数据有设定时间可以播放时,对CDN服务节点即将切换的行为进彳丁抑制;
[0030]步骤S400:当客户端所连接的⑶N服务节点到目前为止的生命周期内有50%以上的时间可以播放时,对CDN服务节点即将切换的行为进行抑制。
[0031]当前播放点之前已经流逝的N秒内,如果确实是一直在丢包,并且没有任何数据包被正确的播放出来,可以认为客户端和当前这个CDN服务节点之间链路质量很差或CDN没有(及时)拿到数据。根据本发明较佳实施例,所述无数据可播的连续设定时间为I?5s,此后对客户端所连接的CDN服务节点进行切换。
[0032]当前播放点之前的窗口时间内,出现间断性的丢包,当区域内丢失可播时长率(计算公式:总丢的包的可播时长/区域内总的可播时长)大于等于容忍最大丢包率时,这是认为客户端和CDN服务节点之间的链路是不稳定的,那么应该更换CDN服务节点尝试解决。
[0033]根据本发明较佳实施例,所述设定窗口期为在10?20s内,判断在该时间范围内有多少时间无法播放。所述窗口期的设定比例时间为30 %?50 %,当出现以上比例时间无法播放时,对客户端所连接的CDN服务节点进行切换。
[0034]在判断客户端和⑶N之间链路的质量时,由于是通过已流逝时间的播放情况来衡量,并不能完整反映整个CDN服务节点使用的生命周期内,客户端与CDN之间的链路情况;所以需要对CDN服务节点的切换行为进行抑制,以免使得CDN服务节点切换过于频繁。
[0035]CDN服务节点切换的抑制是建立在,客户端本地播放点与数据提供方的最新播放点之间存在时差,而这段时差恰好可以纳入作为抑制CDN服务节点切换的依据;因为这段时间差内刚好可以视为是播放前的一段数据缓冲。
[0036]当判断发现需要进行CDN切换时,CDN切换抑制开始工作:检查缓存区中当前播放点之后有多少数据量可播(数据可以播放多少时间),当这个时间大于某给设定时间大小时,这时CDN切换抑制将会生效(抑制CDN切换这个行为的进行),当CDN抑制流程标记打开时CDN切换抑制才有效。
[0037]根据本发明较佳实施例,所述客户端缓存数据可以播放的设定时间为大于等于5秒时,对CDN服务节点即将切换的行为进行抑制。
[0038]在CDN抑制机制中,由于是通过本地缓存(缓冲)中待播数据的可播时长去衡量是否需要进行
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1