CDN切换方法、客户端及服务器与流程

文档序号:14914644发布日期:2018-07-11 00:23阅读:873来源:国知局
本发明涉及通信领域,尤其涉及一种CDN切换方法、客户端及服务器。
背景技术
:CDN(ContentDeliveryNetwork或ContentDistributionNetwork,内容分发网络)是一种新的网络架构,可将业务的内容分布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高系统的运行效率。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。随着互联网技术的发展,利用网络在线观看视频逐渐成为一种趋势,慢慢融入到人们的日常生活中。但如果在线播放人数增加,媒体业务用户量和业务量加大,就会对现有网络的流量流向造成很大的冲击,影响数据传输速度和稳定性,导致视频播放流畅度非常低,用户观看时经常出现卡顿。现有技术中,客户端在视频开始前向用户推荐一个质量较好的CDN来为该用户提供服务,使视频数据传输的更快、更稳定。然而,现有技术在视频播放前向用户推荐了CDN,在视频播放过程中将一直使用该CDN而不再切换其他CDN,若在人群密集区域,很多用户同时上线,终端推荐的都是同一个CDN,基于带宽降低等因素,会导致该CDN质量急剧下降,且由于不能切换至其他CDN,致使很多用户观看视频不流畅,因此,对CDN进行切换处理的灵活度低,导致用户观看视频时的体验感差。技术实现要素:本发明实施例一方面提供了一种CDN切换方法,具体包括:客户端根据播放信息计算流畅度值,所述播放信息包括观看时长、卡顿次数和卡顿时长,所述播放信息由所述客户端统计得到;若所述流畅度值低于预设阈值,所述客户端向服务器发送第一请求,所述第一请求用于向所述服务器请求切换到第一目标CDN,所述第一目标CDN为目标区域内质量排名最高的CDN,所述目标区域为所述客户端当前所在的区域;所述客户端切换到所述第一目标CDN。可选的,所述客户端根据播放信息计算流畅度值之前,所述方法还包括:所述客户端接收视频服务商发送的周期指令,所述周期指令用于指示所述客户端播放视频时每隔一个预置周期向所述服务器获取所述目标区域内的CDN质量排名。可选的,所述客户端根据播放信息计算流畅度值包括:按照如下方式计算所述流畅度值:L=100*Tm/(2*(2*C+Tn)+Tm)所述L为流畅度值;所述Tm为观看时长;所述C为卡顿次数;所述Tn为卡顿总时长。可选的,所述客户端向服务器发送第一请求之后,所述客户端切换到所述第一目标CDN之前,所述方法还包括:所述客户端接收所述服务器发送的CDN排名信息,所述CDN排名信息包括位于所述目标区域的CDN的名称和质量排名;所述客户端将所述CDN排名信息缓存至本地。可选的,所述客户端切换到所述第一目标CDN之后,所述方法还包括:若当前的流畅度值低于所述预设阈值,所述客户端根据所述CDN质量排名,依次顺序切换至第二目标CDN,所述第二目标CDN位于所述目标区域;若使用所述第二目标CDN时视频的流畅度低于所述预设阈值,所述客户端切换至所述第一目标CDN。可选的,所述客户端向服务器发送第一请求之前,所述客户端根据播放信息计算流畅度值之后,所述方法还包括:所述客户端获取当前视频码率对应的最低网速和当前网速;若所述最低网速小于所述当前网速,则所述客户端确定需要切换CDN,以触发所述客户端向所述服务器发送所述第一请求的步骤。本发明实施例另一方面提供了一种CDN切换方法,具体包括:视频播放时,服务器接收客户端发送的第一请求,所述第一请求用于请求切换到第一目标CDN,所述第一目标CDN为目标区域内质量最高的CDN,所述目标区域为所述客户端当前所在的区域;所述服务器向所述客户端发送CDN排名信息,所述CDN排名信息包括位于所述目标区域的CDN的名称和质量排名。可选的,服务器接收客户端发送的第一请求之前,所述方法还包括:所述视频播放前,所述服务器接收所述客户端发送的第二请求,所述第二请求用于请求第三目标CDN以播放所述视频;所述服务器根据所述第二请求获取到所述客户端的网络地址;所述服务器根据所述网络地址在本地确定所述目标区域;所述服务器在所述CDN排名信息中确定所述第三目标CDN,所述第三目标CDN为所述目标区域内质量排名最高的CDN。本发明实施例另一方面提供了一种客户端,具体包括:计算单元,用于根据播放信息计算流畅度值,所述播放信息包括观看时长、卡顿次数和卡顿时长,所述播放信息由所述客户端统计得到;第一发送单元,若所述流畅度值低于预设阈值,用于向服务器发送第一请求,所述第一请求用于向所述服务器请求切换到第一目标CDN,所述第一目标CDN为目标区域内质量排名最高的CDN,所述目标区域为所述客户端当前所在的区域;切换单元,用于切换到所述第一目标CDN。可选的,所述客户端还包括:第一接收单元,用于接收视频服务商发送的周期指令,所述周期指令用于指示所述客户端播放视频时每隔一个预置周期向所述服务器获取所述目标区域内的CDN质量排名。可选的,所述计算单元包括:计算模块,用于按照如下方式计算所述流畅度值:L=100*Tm/(2*(2*C+Tn)+Tm)所述L为流畅度值;所述Tm为观看时长;所述C为卡顿次数;所述Tn为卡顿总时长。可选的,所述客户端包括:第二接收单元,用于接收所述服务器发送的CDN排名信息,所述CDN排名信息包括位于所述目标区域的CDN的名称和质量排名;缓存单元,用于将所述CDN排名信息缓存至本地。可选的,所述客户端包括:第一切换单元,若当前的流畅度值低于所述预设阈值,用于根据所述CDN质量排名,依次顺序切换至第二目标CDN,所述第二目标CDN位于所述目标区域;第二切换单元,若使用所述第二目标CDN时视频的流畅度低于所述预设阈值,用于切换至所述第一目标CDN。可选的,所述客户端还包括:第一获取单元,用于获取当前视频码率对应的最低网速和当前网速;第一确定单元,若所述最低网速小于所述当前网速,则用于确定需要切换CDN,以触发所述客户端向所述服务器发送所述第一请求的步骤。本发明实施例另一方面提供了一种服务器,具体包括:第三接收单元,视频播放时,用于接收客户端发送的第一请求,所述第一请求用于请求切换到第一目标CDN,所述第一目标CDN为目标区域内质量最高的CDN,所述目标区域为所述客户端当前所在的区域;第二发送单元,用于向所述客户端发送CDN排名信息,所述CDN排名信息包括位于所述目标区域的CDN的名称和质量排名。可选的,所述服务器还包括:第四接收单元,所述视频播放前,用于接收所述客户端发送的第二请求,所述第二请求用于请求第三目标CDN以播放所述视频;第二获取单元,用于根据所述第二请求获取到所述客户端的网络地址;第二确定单元,用于根据所述网络地址在本地确定所述目标区域;第三确定单元,用于在所述CDN排名信息中确定所述第三目标CDN,所述第三目标CDN为所述目标区域内质量排名最高的CDN。从以上技术方案可以看出,本发明实施例具有以下优点:客户端根据播放信息计算流畅度值,其中播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端动态统计得到,若该流畅度值低于预设阈值,则客户端向服务器发送第一请求,以向服务器请求切换到第一目标CDN,其中第一目标CDN为目标区域内质量最高的CDN,而目标区域为客户端当前所在的区域,客户端切换到第一目标CDN。本发明实施例中,客户端确定当前视频的流畅度值低于预设阈值后,向服务器请求切换到目标区域内质量最高的CDN即第一目标CDN,故客户端能够根据当前的播放信息动态切换CDN,保证了用户观看视频时的流畅度,提升了视频播放的用户体验。附图说明图1为本发明实施例中应用场景示意图;图2为本发明实施例中CDN切换方法一个实施例示意图;图3为本发明实施例中CDN切换方法另一实施例示意图;图4本发明实施例中CDN切换方法另一实施例示意图;图5为本发明实施例中客户端一个实施例示意图;图6为本发明实施例中客户端另一实施例示意图;图7为本发明实施例中服务器一个实施例示意图;图8为本发明实施例中服务器另一实施例示意图;图9为本发明实施例中客户端一个实施例示意图;图10为本发明实施例中服务器一个实施例示意图。具体实施方式本发明实施例提供了一种CDN切换方法及客户端、服务器,用于客户端能够根据当前的播放信息动态切换CDN。为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明实施例可用于图1所示的应用场景。在该应用场景中,用户通过客户端观看视频,当客户端播放视频时使用的CDN质量很低,会使视频播放流畅度非常低,用户在观看时经常出现卡顿。现有技术中,在视频播放前在客户端优选了CDN,在视频播放过程中将一直使用该CDN而不再切换其他CDN,若在人群密集区域,很多用户同时上线,终端推荐的都是同一个CDN,基于带宽降低等因素,会导致该CDN质量急剧下降,且由于不能切换至其他CDN,致使很多用户观看视频不流畅。有鉴于此,本发明实施例中,客户端根据播放信息计算流畅度值,其中播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端动态统计得到,若该流畅度值低于预设阈值,则客户端向服务器发送第一请求,以向服务器请求切换到第一目标CDN,其中第一目标CDN为目标区域内质量最高的CDN,而目标区域为客户端当前所在的区域,客户端切换到第一目标CDN。为便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图2,本发明实施例中CDN切换方法一个实施例包括:201、客户端根据播放信息计算流畅度值;客户端在视频播放过程中,客户端实时统计视频的播放信息,其中播放信息包括观看时长、卡顿次数和卡顿时长等,具体此处不做限定。客户端获得播放信息后,根据流畅度的计算公式,实时计算出流畅度值。202、客户端向服务器发送第一请求;客户端计算得到流畅度值后,将流畅度值与预设阈值进行比较,当流畅度值低于预设阈值时,客户端向服务器发送第一请求,以向请求服务器请求切换到第一目标CDN,其中,该第一目标CDN是客户端当前所在区域即目标区域内质量排名最高的CDN,可以理解为,第一目标CDN是客户端所在区域内质量最好的CDN。203、客户端切换到第一目标CDN。客户端向服务器发送第一请求后,客户端切换到第一目标CDN,并使用该第一目标CDN播放视频。本发明实施例中,客户端根据播放信息计算流畅度值,其中播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端动态统计得到,若该流畅度值低于预设阈值,则客户端向服务器发送第一请求,以向服务器请求切换到第一目标CDN,其中第一目标CDN为目标区域内质量最高的CDN,而目标区域为客户端当前所在的区域,客户端切换到第一目标CDN。本发明实施例中,客户端确定当前视频的流畅度值低于预设阈值后,向服务器请求切换到目标区域内质量最高的CDN即第一目标CDN,故客户端能够根据当前的播放信息动态切换CDN,保证了用户观看视频时的流畅度,提升了视频播放的用户体验。上述实施例从客户端侧对本发明实施例进行了说明,下面从服务器端对本发明实施例进行说明。具体请参阅图3,本发明实施例中CDN切换方法的另一实施例包括:301、服务器接收客户端发送的第一请求;在视频播放过程中,视频出现经常卡顿、流畅度非常低的情况时,服务器接收客户端发送的第一请求,该第一请求用于请求切换到第一目标CDN,其中,该第一目标CDN是客户端当前所在区域即目标区域内质量排名最高的CDN,即可以理解为,第一目标CDN是客户端所在区域内质量最好的CDN。302、服务器向所述客户端发送CDN排名信息。服务器接收到客户端发送的第一请求后,服务器向客户端发送CDN排名信息,其中CDN排名信息中包括位于目标区域的CDN的名称和CDN质量排名,以使得客户端切换到该CDN排名信息中客户端所在区域内质量最好的第一目标CDN。本发明实施例中,服务器接收到客户端发送的第一请求后,向客户端发送了CDN排名信息,使客户端能从该CDN排名信息中选择当前客户端所在区域内质量最好的第一目标CDN进行切换,故客户端能够根据当前的播放信息动态切换CDN,保证了用户观看视频时的流畅度,提升了视频播放的用户体验。上述两个实施例分别从客户端以及服务器端的角度对本发明实施例进行说明,下面通过交互式的实施例对本发明实施例进行说明。具体请参阅图4,本发明实施例中CDN切换方法的一个实施例包括:401、客户端接收视频服务商发送的周期指令;在播放视频前,客户端接收视频服务商发送的周期指令,该周期指令用于指示客户端每隔一个预置周期向服务器发送请求以获取客户端所在区域的CDN质量排名信息,使得当视频的流畅度降低时,客户端能够切换到质量较好的CDN。需要说明的是,在实际应用中,预置周期可以是10分钟,也可以是15分钟,因此,具体预置周期的时长具体此处不做限定。402、服务器接收所述客户端发送的第二请求;客户端在打开一个视频时,服务器接收客户端发送的第二请求,该第二请求用于请求第三目标CDN以播放该视频,其中,第三目标CDN为客户端所在区域内,当前时间里质量最好的CDN。403、服务器根据第二请求获取到客户端的网络地址;服务器接收到客户端发送的第二请求后,由于第二请求中携带有客户端的网络地址,因此服务器从该第二请求中获取到该客户端的网络地址。需要说明的是,实际应用中,服务器获取客户端的网络地址的方式除了通过第二请求中携带的客户端的网络地址,还有多种方式,例如客户端在向服务器发送第二请求的同时,向服务器发送地址信息,服务器通过该地址信息获知客户端的网络地址。因此,服务器获取客户端的网络地址的方式具体此处不做限定。404、服务器根据网络地址在本地确定目标区域;服务器获取到客户端的网络地址后,在本地数据库中找到该网络地址具体包含于哪个区域内,即确定客户端所在的目标区域。需要说明的是,在实际应用中,服务器确定目标区域的方式除了通过网络地址在本地数据库中查找外,还有其他方式,例如,服务器获取到客户端的网络地址后,向运营商设备发送区域查询请求,以请求该运营商设备发送客户端的所在区域信息,其中该区域查询请求中携带有客户端的网络地址,服务器通过接收运营商设备发送的客户端的所在区域信息确定目标区域。故服务器确定目标区域的方式具体此处不做限定。405、服务器在CDN排名信息中确定第三目标CDN;服务器确定了目标区域后,在总的CDN排名信息中寻找目标区域对应的CDN,显然,CDN排名信息包含于该总的CDN排名信息中。其中,总的CDN排名信息中包括CDN所在区域、CDN名称和CDN质量排名,故服务器根据该总的CDN排名信息确定了目标区域对应的CDN,即确定了CDN排名信息,并从该CDN排名信息中确定排名最高即质量最好的CDN作为第三目标CDN,使客户端在视频播放时优先选择第三目标CDN进行播放。例如,总的CDN排名信息如表1所示时,当服务器确定了客户端在区域2位置,故服务器在打开视频时获取到的CDN排名为CDN2、CDN4、CDN1,其评分依次对应为95、80、40,那么在播放视频时会优先选择CDN2进行播放。表1可以理解的是,CDN排名信息中的CDN质量排名可以是CDN质量评分的排名,质量越好,分数越高,如100、90、85等,也可以是CDN质量等级的排名,以英文字母表示,如A、B、C等,质量最好的CDN等级设为A,质量第二好的CDN等级设为B,依次顺延;或者用阿拉伯数字表示,如1、2、3等,质量最好的CDN等级设为1,质量第二好的CDN等级设为2,依次顺延,故CDN质量排名的方式具体此处不做限定。406、客户端根据播放信息计算流畅度值;在使用第三目标CDN播放视频的过程中,客户端实时统计用户的播放信息,其中,播放信息包括流畅度值、观看时长、卡顿次数和卡顿总时长,并在获得播放信息后,按照如下公式计算流畅度值:L=100*Tm/(2*(2*C+Tn)+Tm);L为流畅度值;Tm为观看时长;C为卡顿次数;Tn为卡顿总时长。通过该公式,即可计算出流畅度值。可以理解的是,数学公式可以等效替换,因此实际应用中可以有多种公式计算流畅度值,例如L=100*Tm/(2*(2*C+Tm-Tp)+Tm),该公式中,Tp表示视频显示的播放时长,L、C、Tm表示的意思不变,此处不再赘述。因此,具体计算流畅度值的公式具体此处不做限定。407、客户端获取当前视频码率对应的最低网速和当前网速;客户端根据播放信息计算得到流畅度值后,当流畅度值低于预设阈值时,即客户端在播放视频时经常卡顿,在确定是否切换CDN之前,客户端需确定导致卡顿的原因。由于出现多次卡顿的原因包括当前网速较低和当前使用的CDN质量差,因此客户端获取当前视频码率,并在位于本地数据库中的视频码率和最低网速要求的对应关系中找出当前视频码率对应的最低网速,并将该当前视频码率对应的最低网速与当前网速进行比较,若当前视频码率对应的最低网速大于当前网速,则客户端判断是网速较低的原因导致视频播放出现卡顿;若当前视频码率对应的最低网速不大于当前网速,则客户端判断是当前使用的CDN质量差导致视频播放出现卡顿。例如,视频码率和最低网速要求的对应关系如表2所示,如果当前用户观看的视频码率是500,能负荷该视频码率的最低网速为400K/s,若客户端获取到当前网速为200K/s,小于对应视频码率500对应的最低网速400K/s,故客户端判断网速太低导致视频播放出现卡顿。表2码率最低网速10050K/s500400K/s10008000K/s可以理解的是,在实际应用中,视频码率和最低网速要求的对应关系可以通过表格的形式展现,也可以通过文本的形式或者列格式展现,具体此处不做限定。408、客户端确定需要切换CDN;客户端获取当前视频码率对应的最低网速和当前网速后,若当前视频码率对应的最低网速小于当前网速,故导致播放流畅度低即视频出现卡顿的原因不是网速问题,因此客户端确定当前视频播放使用的CDN质量较差,需要切换CDN,以让视频能够流畅播放。409、客户端向服务器发送第一请求;客户端确定需要切换CDN后,向服务器发送第一请求,以向请求服务器请求切换到第一目标CDN,其中,该第一目标CDN是客户端当前所在区域即目标区域内质量排名最高的CDN,可以理解为,第一目标CDN是客户端所在区域内质量最好的CDN。其中,需要说明的是,客户端向服务器发送第一请求的触发条件除了包括因当前使用的CDN质量不好导致视频播放出现卡顿,还包括客户端在播放视频时,每隔一个预置周期向服务器发送第一请求,以获取当前该区域的CDN排名列表,以便当视频播放流畅度下降是,能够切换到质量较好的CDN。即,客户端在播放视频时每隔一个预置周期或者客户端确定视频播放流畅度降低是由于当前使用的CDN质量较差引起时,都会触发客户端向服务器发送第一请求,故具体此处不做限定。410、客户端接收服务器发送的CDN排名信息;客户端向服务器发送第一请求后,客户端接收服务器发送的CDN排名信息,以便当视频播放的流畅度值下降时,能够切换到质量较好的CDN。411、客户端将CDN排名信息缓存至本地;客户端接收到服务器发送的CDN排名信息后,将获取到的CDN排名信息缓存至本地,需要说明的是,由于客户端每隔一个预置周期向服务器发送一次第一请求,因此客户端每隔一个预置周期会接收到服务器发送的更新的CDN排名信息,因此缓存在本地的CDN排名信息也会相应的进行更新替代。412、客户端切换到第一目标CDN;本发明实施例中的步骤412与图2中的步骤203类似,具体此处不再赘述。413、客户端根据CDN质量排名,依次顺序切换至第二目标CDN;由于CDN的质量与当前各区域的带宽、各区域的在线用户数、CDN服务商在各区域的节点数目等因素相关,因此CDN的质量是随时发生变化的,故在一次更新信息周期内,CDN排名信息不发生变化,但CDN的动态质量发生变化导致实际排名变化的情况。因此,在一次更新CDN信息周期内,当客户端当前使用的第一目标CDN为CDN排名信息中客户端所在区域内排名最高的CDN时,且客户端在使用第一目标CDN但视频播放的流畅度低于预设阈值时,客户端切换到客户端所在区域内排名第二高的CDN,若客户端切换到该排名第二高的CDN后,视频播放的流畅度依旧低于预设阈值时,客户端再切换到客户端所在区域内第三高的CDN......即客户端依次顺序切换至第二目标CDN直至视频播放时的流畅度不低于预设阈值,其中该第二目标CDN是客户端所在区域即目标区域的CDN。414、客户端判断第二目标CDN时视频的流畅度是否低于预设阈值,若是,则执行步骤415;若不是,则执行步骤416;客户端计算出了使用第二目标CDN时视频播放的流畅度值后,将该流畅度值与预设阈值进行比较,若该流畅度值低于预设阈值,则执行步骤415;若该流畅度值不低于预设阈值,则执行步骤416。415、客户端切换至第一目标CDN;当客户端确定使用第二目标CDN时视频播放的流畅度值低于预设阈值后,客户端切换至第一目标CDN。例如,在一次更新CDN排名信息周期内,如果客户端当前使用的CDN是CDN1,客户端当前区域内CDN质量排名为CDN1、CDN2、CDN3、CDN4,客户端在使用CDN1进行播放时,当前的流畅度值低于预设阈值70,则客户端切换到CDN2,若客户端确认切换到CDN2后流畅度还是低于阈值70,则客户端切换到CDN3,若使用CDN3时流畅度值依旧低于阈值70,则切换到CDN4,若客户端切换到CDN4后,确定流畅度值仍然低于阈值70,则客户端切换至CDN1,且在下一次更新CDN排名信息前,不再切换CDN,即一直使用第一目标CDN播放视频。可以理解的是,在第二次更新了CDN排名信息后,会从当前正在使用的CDN切换至当前CDN排名信息中排名最高的CDN。例如,CDN排名信息进行更新后,CDN质量排名变为CDN3、CDN2、CDN1、CDN4,则客户端从CDN1切换至CDN3以便流畅的播放视频。416、客户端选择第二目标CDN进行播放。当客户端确定使用第二目标CDN时视频播放的流畅度值不低于预设阈值后,客户端选择第二目标CDN来播放视频。本发明实施例中,通过比较当前视频播放的码率所要求的最低网速和当前网速,确定了导致视频播放卡顿的原因为当前使用的CDN质量差,且提供了在一次更新CDN信息周期内,使用第一目标CDN播放视频时流畅度值依旧低于预设阈值的操作方式,使本发明实施例步骤更加完善全面。以上实施例对本发明实施例中的CDN切换方法进行了说明,下面从如下几个方面对本发明实施例的装置进行说明。请参阅图5,本发明实施例中客户端的一个实施例包括:计算单元501,用于根据播放信息计算流畅度值,播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端统计得到;第一发送单元502,若流畅度值低于预设阈值,用于向服务器发送第一请求,第一请求用于向所述服务器请求切换到第一目标CDN,第一目标CDN为目标区域内质量排名最高的CDN,目标区域为客户端当前所在的区域;切换单元503,用于切换到第一目标CDN。本发明实施例中,计算单元根据播放信息计算流畅度值,其中播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端动态统计得到,若该流畅度值低于预设阈值,则第一发送单元向服务器发送第一请求,以向服务器请求切换到第一目标CDN,其中第一目标CDN为目标区域内质量最高的CDN,而目标区域为客户端当前所在的区域,客户端切换到第一目标CDN。本发明实施例中,客户端确定当前视频的流畅度值低于预设阈值后,切换单元向服务器请求切换到目标区域内质量最高的CDN即第一目标CDN,故客户端能够根据当前的播放信息动态切换CDN,保证了用户观看视频时的流畅度,提升了视频播放的用户体验。为便于理解,下面对本发明实施例中的客户端进行详细描述,请参阅6,本发明实施例中客户端另一实施例包括:计算单元601,用于根据播放信息计算流畅度值,播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端统计得到;第一发送单元602,若流畅度值低于预设阈值,用于向服务器发送第一请求,第一请求用于向服务器请求切换到第一目标CDN,第一目标CDN为目标区域内质量排名最高的CDN,目标区域为客户端当前所在的区域;切换单元603,用于切换到第一目标CDN。本发明实施例中,客户端还包括:第一接收单元604,用于接收视频服务商发送的周期指令,周期指令用于指示客户端播放视频时每隔一个预置周期向服务器获取目标区域内的CDN质量排名。本发明实施例中,计算单元601可以进一步包括:计算模块6011,用于按照如下方式计算流畅度值:L=100*Tm/(2*(2*C+Tn)+Tm)L为流畅度值;Tm为观看时长;C为卡顿次数;Tn为卡顿总时长。本发明实施例中,客户端还可包括:第二接收单元605,用于接收服务器发送的CDN排名信息,CDN排名信息包括位于目标区域的CDN的名称和质量排名;缓存单元606,用于将CDN排名信息缓存至本地。本发明实施例中,客户端还可包括:第一切换单元607,若当前的流畅度值低于预设阈值,用于根据CDN质量排名,依次顺序切换至第二目标CDN,第二目标CDN位于目标区域;第二切换单元608,若使用第二目标CDN时视频的流畅度低于预设阈值,用于切换至第一目标CDN。本发明实施例中,客户端还可包括:第一获取单元609,用于获取当前视频码率对应的最低网速和当前网速;第一确定单元610,若最低网速小于当前网速,则用于确定需要切换CDN,以触发客户端向服务器发送第一请求的步骤。请参阅图7,本发明实施例中服务器的一个实施例包括:第三接收单元701,视频播放时,用于接收客户端发送的第一请求,第一请求用于请求切换到第一目标CDN;第二发送单元702,用于向客户端发送CDN排名信息,CDN排名信息包括第一目标CDN,第一目标CDN为目标区域内质量最高的CDN,目标区域为客户端当前所在的区域。为便于理解,下面对本发明实施例中的服务器进行详细描述,请参阅8,本发明实施例中服务器另一实施例包括:第三接收单元801,视频播放时,用于接收客户端发送的第一请求,第一请求用于请求切换到第一目标CDN,第一目标CDN为目标区域内质量最高的CDN,目标区域为客户端当前所在的区域;第二发送单元802,用于向客户端发送CDN排名信息,CDN排名信息包括位于目标区域的CDN的名称和质量排名。本发明实施例中,服务器还可包括:第四接收单元803,视频播放前,用于接收客户端发送的第二请求,第二请求用于请求第三目标CDN以播放视频;第二获取单元804,用于根据第二请求获取到客户端的网络地址;第二确定单元805,用于根据网络地址在本地确定目标区域;第三确定单元806,用于在CDN排名信息中确定第三目标CDN,第三目标CDN为目标区域内质量排名最高的CDN。上面从模块化功能实体的角度对本发明实施例中的客户端和服务器进行描述,下面从硬件处理的角度对本发明实施例中的客户端进行描述,请参阅图9,本发明实施例中的客户端900一个实施例包括:输入装置901、输出装置902、处理器903和存储器904(其中第一交换机900中的处理器903的数量可以一个或多个,图9中以一个处理器903为例)。在本发明的一些实施例中,输入装置901、输出装置902、处理器903和存储器904可通过总线或其它方式连接,其中,图9中以通过总线连接为例。通过调用存储器904存储的操作指令,处理器903,用于执行如下步骤:根据播放信息计算流畅度值,播放信息包括观看时长、卡顿次数和卡顿时长,播放信息由客户端统计得到;切换到第一目标CDN。通过调用存储器904存储的操作指令,输出装置902,用于执行如下步骤:若流畅度值低于预设阈值,则向服务器发送第一请求,第一请求用于向服务器请求切换到第一目标CDN,第一目标CDN为目标区域内质量排名最高的CDN,目标区域为所述客户端当前所在的区域。请参阅图10,本发明实施例中服务器的一个实施例包括:输入装置1001、输出装置1002、处理器1003和存储器1004(其中第一交换机1000中的处理器1003的数量可以一个或多个,图10中以一个处理器1003为例)。在本发明的一些实施例中,输入装置1001、输出装置1002、处理器1003和存储器1004可通过总线或其它方式连接,其中,图10中以通过总线连接为例。通过调用存储器904存储的操作指令,输入装置1001,用于执行如下步骤:视频播放时,接收客户端发送的第一请求,第一请求用于请求切换到第一目标CDN,第一目标CDN为目标区域内质量最高的CDN,目标区域为客户端当前所在的区域;通过调用存储器904存储的操作指令,输出装置1002,用于执行如下步骤:向客户端发送CDN排名信息,CDN排名信息包括位于目标区域的CDN的名称和质量排名。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1