CN113038190A - 内容分发网络的调度方法和内容分发网络的调度装置 - Google Patents
内容分发网络的调度方法和内容分发网络的调度装置 Download PDFInfo
- Publication number
- CN113038190A CN113038190A CN202110203266.6A CN202110203266A CN113038190A CN 113038190 A CN113038190 A CN 113038190A CN 202110203266 A CN202110203266 A CN 202110203266A CN 113038190 A CN113038190 A CN 113038190A
- Authority
- CN
- China
- Prior art keywords
- cdn
- list
- quality data
- client
- quality
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种内容分发网络的调度方法和内容分发网络的调度装置,所述调度方法包括:当在客户端下载视频时,获取客户端当前使用的第一内容分发网络CDN的质量数据,其中,客户端根据指示客户端可用CDN的列表来使用CDN,列表包括指示客户端可用CDN的多个CDN标识,客户端当前使用由位于列表首位的CDN标识指示的第一CDN,由位于列表的其它顺位的至少一个CDN标识指示的至少一个第二CDN作为备选的CDN;在第一CDN的质量数据不满足第一预设条件的情况下,获取至少一个第二CDN的质量数据;在至少一个第二CDN中的任意第二CDN的质量数据满足第二预设条件的情况下,通过将与至少一个第二CDN中质量数据最优的第二CDN相应的CDN标识排列到列表首位,更新列表;输出更新后的列表。
Description
技术领域
本公开涉及内容分发领域,更具体地说,涉及一种内容分发网络的调度方法和内容分发网络的调度装置。
背景技术
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的历史质量数据;计算所述预定时间段内的第一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下载速率,作为第一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下载成功率中的至少一个。
根据本公开实施例的第二方面,提供一种内容分发网络的调度装置,包括:第一获取单元,被配置为:当在客户端下载视频时,获取客户端当前使用的第一内容分发网络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的质量数据的平均质量数据,作为当前第二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的CDN下载速率。
可选地,所述第二预设条件可为第二CDN的CDN下载速率与第一CDN的CDN下载速率之比大于或等于第二预定阈值。
可选地,列表更新单元可被配置为:按照各个CDN的CDN下载速率从高到低的顺序对所述列表中的各个CDN标识进行重排。
可选地,所述质量数据可包括CDN下载速率、CDN往返时延、CDN下载成功率中的至少一个。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的内容分发网络的调度方法。
根据本公开实施例的第四方面,提供一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的内容分发网络的调度方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的内容分发网络的调度方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的内容分发网络的调度方法和内容分发网络的调度装置,可在客户端根据当前CDN质量数据检测到当前CDN的质量较差时,获取其它备选CDN的质量数据,并在根据其它备选CDN质量数据检测到有备选CDN的质量明显较优的情况下,更新CDN可用列表以将当前CDN切换到备选CDN,以获取更好的服务质量,从而达到在保证CDN默认配比的商业需求的前提下,对用户端个性化地、细粒度地调度CDN来向用户提供更良好更精准的服务质量保障。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开的CDN调度方法和CDN调度装置的应用场景示意图。
图2是根据本公开的示例性实施例的CDN调度方法的流程图。
图3是根据本公开的示例性实施例的CDN调度机制的流程图。
图4是示出根据本公开的示例性实施例的CDN调度装置的框图。
图5是示出根据本公开的示例性实施例的客户端的示意图。
图6是根据本公开的示例性实施例的电子设备600的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
现代Multi-CDN(多CDN)架构中后端系统通常采用简单的固定比例配置,直接规定调度给各家CDN的用户量,例如,分配x%的用户请求给CDN X服务,分配y%的用户请示给CDN Y服务等。这样的策略有如下缺陷:1)在时间维度上,无法在某家CDN性能变差后灵活进行响应,需要人工将它的用户流量切走;2)在空间维度上,各家CDN在局部地区、个别网络运营商下服务性能不同,固定比例配置无法充分利用各家CDN的区域化部署资源。
目前,在服务器端实时聚合各家CDN的质量,如果发现有明显质量差异的情况,即时进行自动的流量调整,而未进行用户侧的个性化考虑。例如,从大盘(聚合各家CDN的质量数据)来看CDN A的质量好或CDN B的质量差,但是从每个用户的实际体验的角度看,依据辛普森悖论,其实是无法保证每个用户体验都是CDN A的质量好或CDN B的质量差。例如,从大盘的整体来说CDN A的质量比CDN B的质量好20%,那么也许存在:对于一大部分用户来说,CDN A的质量比CDN B的质量好50%,对于一小部分用户来说,CDN A的质量比CDN B的质量差10%,而整体CDN A的质量比CDN B的质量好20%。因此,对于这一小部分用户,无法保障其获得的服务质量。因此,如何综合利用Multi-CDN各个CDN提供商的功能、性能以及成本的多样性,做到细粒度、高精准的CDN调度,提高内容传输效率,成为了亟待解决的问题。
考虑到部分区域CDN间有明显服务质量差异的场景,为了在保证CDN默认配比的商业需求的前提下,在某客户端当前CDN质量较差时可灵活地切换到其他优质CDN,本公开提出了一种新颖性的客户端侧的CDN调度方法和CDN调度装置,及时捕捉CDN的质量差异情况并执行CDN的优选决策。具体地说,当在客户端根据当前CDN质量数据检测到当前CDN的质量较差时,可获取其它备选CDN的质量数据,当根据其它备选CDN质量数据检测到有备选CDN的质量明显较优时,可将当前CDN切换到备选CDN,以获取更好的服务质量。下面,将参照图1至图5详细描述根据本公开的示例性实施例的CDN调度方法和CDN调度装置。
图1是根据本公开的CDN调度方法和CDN调度装置的应用场景示意图。
参照图1,根据本公开的应用场景可包括服务器101、用户终端102、至少一个内容分发网络(CDN)(例如,103_1、103_2和103_3)。这里,用户终端102可以是具有通信功能和视频播放功能的终端设备。例如,用户终端102可以是,但不限于,手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等。在用户终端102上可运行各种视频功能相关的应用,诸如短视频应用、直播应用、社交应用、视频会议应用、在线教育应用等。服务器101可同时考虑CDN默认配比的商业需求以及CDN服务质量的保障对至少一个内容分发网络103_1、103_2和103_3进行调度,以将内容分发给用户终端102。当用户通过用户终端102的客户端向服务器101请求下载视频时,服务器101可向用户终端102下发指示客户端可用CDN的列表(例如,url retry list),该列表可包括指示客户端可用CDN的多个CDN标识,客户端默认使用排列在该列表的首位的CDN标识所指示的CDN一个用于指示当前使用的默(例如,103_1),由位于该列表的其它顺位的至少一个CDN标识所指示的至少一个第二CDN作为备选的CDN(例如,103_2和103_3)。通常,用户终端102可根据接收到的列表,向列表中位于首位的CDN标识指示的默认CDN 103_1请求下载视频,默认CDN103_1在接收到该请求后,向用户终端102发送视频。服务器101可实时聚合各个CDN(例如,103_1、103_2和103_3)的质量,如果发现有明显质量差异的情况,可进行自动的流量调整。例如,当默认CDN 103_1质量变差或者发生故障时,用户终端102可根据服务器101的指示按照列表依次向下请求备选CDN发送视频。然而,该策略无法做到细粒度、高精准的CDN调度,根据本公开的CDN调度方法和CDN调度装置可应用于上述场景,达到CDN调度的优化效果。
图2是根据本公开的示例性实施例的CDN调度方法的流程图。
参照图2,在步骤201,当在客户端下载视频时,获取客户端当前使用的第一CDN的质量数据。这里,在客户端下载视频可包括在客户端触发视频下载的各个时机,例如,但不限于,视频播放、推荐视频预加载、视频预取等。这里,客户端根据指示客户端可用CDN的列表来使用CDN。指示客户端可用CDN的列表可以是由服务器端下发的供客户端的播放器使用的默认列表。所述列表包括指示客户端可用CDN的多个CDN标识。这里,标识可以是,但不限于,CDN提供商的ID,或连接CDN的URL等。客户端可默认使用由位于所述列表首位的CDN标识所指示的CDN,即,客户端当前使用的默认CDN(也称为第一CDN),由位于所述列表的其它顺位的至少一个CDN标识所指示的至少一个CDN可作为备选的CDN,即,客户端可用的备选CDN(也称为第二CDN)。也就是说,第一CDN表示当前使用的CDN,第二CDN表示当前未使用且作为备选的CDN。例如,对于一个作品ID,可有多家CDN分配流量(例如,CDN数量可为cdnListSize,例如,但不限于,2),从而在所述列表中可下发相应数量的URL。当从服务器端接收到所述列表时,客户端可根据所述列表,向排列在所述列表的首位的CDN标识所指示的第一CDN请求下载视频。
此外,质量数据可以是与CDN服务质量相关的数据。例如,质量数据可以是与QoS(服务质量)、QoE(体验质量)、用户体验首屏(从用户开始播放作品到真的看到画面的时间)、播放卡顿率等相关的数据。例如,质量数据可包括,但不限于,CDN下载速度、CDN往返时延、CDN下载成功率中的至少一个。
根据本公开的示例性实施例,可获取最近预定时间段内的第一CDN的历史质量数据,并计算所述预定时间段内的第一CDN的历史质量数据的平均质量数据,作为第一CDN的质量数据。例如,在质量数据是CDN下载速率的情况下,可获取最近预定时间段内的第一CDN的历史CDN下载速率,并计算所述预定时间段内的第一CDN的历史CDN下载速率的平均CDN下载速率,作为第一CDN的CDN下载速率。
在步骤202,在第一CDN的质量数据不满足第一预设条件的情况下,获取至少一个第二CDN的质量数据。这里,第一预设条件可以是第一CDN的质量数据达到预定质量标准。当第一CDN的质量数据达不到预定质量标准,也即,第一CDN的质量数据不满足第一预设条件时,说明第一CDN的质量差到会影响QoS/QoE的水平。例如,在质量数据是CDN下载速率的情况下,当CDN下载速率较低时,会导到用户的用户体验首屏和播放卡顿率处于较高水平,例如,当CDN下载速率低于视频码率时,将会造成播放卡顿。因此,第一预设条件可以是第一CDN的CDN下载速率大于或等于第一预定阈值(bwThreshold)。也就是说,当第一CDN的CDN下载速率大于或等于第一预定阈值时,说明用户的播放体验(QoS/QoE的水平)不会受到影响。例如,第一预定阈值可通过大盘各CDN(即,所有CDN)下发视频的平均视频码率与预定调节系数(例如,但不限于,3)相乘而确定。
当第一CDN的质量数据不满足第一预设条件时,说明第一CDN的质量差到会影响QoS/QoE的水平,为了保证用户消费者的播放体验不受影响,可考虑切换到质量比较好的备选CDN来向用户消费者下发视频内容。因此,在第一CDN的质量数据不满足第一预设条件的情况下,可获取至少一个第二CDN中每个第二CDN的质量数据。根据本公开的示例性实施例,可分别使用每个第二CDN下载视频来收集并保存当前第二CDN的质量数据,并计算保存的最近预定下载次数的每个第二CDN的质量数据的平均质量数据,作为每个第二CDN的质量数据。例如,可针对每个第二CDN,将该第二CDN对应的CDN标识调整到所述列表的首位(即,调整后的第二CDN将成为客户端使用的第一CDN);根据调整后的所述列表来使用该第二CDN下载视频。
根据本公开的示例性实施例,可在用户终端或客户端保存各CDN(例如,每个第二CDN)质量数据,例如,可以以CDN质量列表(array)的形式来保存各CDN质量数据。每次CDN下载视频操作完成时,都可更新并保存该CDN的质量数据。例如,该CDN下载完成5个视频时,可收集并保存5次质量数据。通常,CDN下载质量在短时间内会存在小波动,不是一直完全平稳时,因此,可在CDN质量列表中可保存最近预定下载次数(dataCalNum)的CDN质量数据。也就是说,当评估一家CDN的质量时,可选取最近dataCalNum次数的质量数据,并取均值来获得质量数据。
针对一次下载,可在CDN质量列表中记录本次下载的CDN下载速率、CDN往返时延、CDN下载成功率等中的至少一个质量数据,此外还可记录CDN ID、更新时间等信息。例如,可记录一次CDN质量数据如下:CDN=ali,bw(CDN下载速率)=10mbps,rtt(CDN往返时延)=30ms,status(下载状态)='success(成功)/cancel(取消)',最后更新时间=20201102-11:02:03。
此外,当切换网络(例如,但不限于,从4G网络切换到Wi-Fi网络,或者从Wi-Fi网络切换到热点等)时,可清空各家CDN的CDN质量列表以重新收集CDN质量数据。
此外,当某CDN的质量数据的保存时长超出预设的CDN质量数据超时时间(dataTimeout)(例如,但不限于,5min),说明该质量数据不足以代表该CDN的当前质量情况,因此,数据超时失效,可清空该CDN的质量列表中的质量数据以重新收集该CDN的质量数据。
根据本公开的示例性实施例,在质量数据是CDN下载速率的情况下,可通过使用第二CDN下载视频来收集并保存第二CDN的CDN下载速率,并计算保存的最近预定下载次数的第二CDN的CDN下载速率的平均CDN下载速率,作为第二CDN的CDN下载速率。例如,可选择最近预定下载次数的CDN下载速率(即,下载带宽)并求平均,作为最终的CDN下载速率,其中,当最近预定下载次数中有status(下载状态)=failed(失败)的情况时,可将该次下载速率视为0。又例如,可选择最近预定下载次数中status(下载状态)='success(成功)'或'cancel(取消)'的CDN下载速率并求平均,作为最终的CDN下载速率,其中,对于status=failed的情况,可视为未获取网速信息,不参与计算。又例如,如果最近预定下载次数的质量情况status均为failed,则可记录该CDN bw=null,即未获取网速信息,从而继续获取网速信息;或者可记录该CDN bw=0,即,CDN下载速率为0。
在获取至少一个第二CDN的质量数据中的每个第二CDN的质量数量之后,当有第二CDN(即,备选CDN)的质量数量与第一CDN(即,当前使用的CDN)的质量数据相比,显示第二CDN的质量明显优于第一CDN的质量时,可将第一CDN切换到质量最优的第二CDN以供客户端使用,从而做到考虑客户端侧的个性化而细粒度地改善服务质量体验。但是,如果备选CDN的质量没有明显优势,则不切换到备选CDN,因为如果在没有明显优势的情况下还切换,一方面对客户端这边的用户体验不会明显提升,反而会因为频繁切换而影响CDN的默认配比。
因此,在步骤203,在至少一个第二CDN中的任意第二CDN的质量数据满足第二预设条件的情况下,可通过将与至少一个第二CDN中质量数据最优的第二CDN相应的CDN标识排列到所述列表的首位,来更新所述列表。因此,客户端可利用更新后的列表切换到质量数据最优的第二CDN来下载视频。
根据本公开的示例性实施例,第二预设条件可以是第二CDN的质量数据与第一CDN的质量数据的比较结果达到预定比较标准。当第二CDN的质量数据与第一CDN的质量数据的比较结果达到预定比较标准时,说明第二CDN的质量明显优于第一CDN的质量,可切换到第二CDN来下载视频,提高服务质量和用户体验。例如,在质量数据是CDN下载速率的情况下,第二预设条件可以是第二CDN的CDN下载速率与第一CDN的CDN下载速率之比大于或等于第二预定阈值(qualityDiffRatio)。例如,第二预定阈值可以是,但不限于,1.5,也就是说,当第二CDN的CDN下载速率与第一CDN的CDN下载速率的相对差异大于或等于50%,即第二CDN的CDN下载速比第一CDN的CDN下载速率大50%以上时,说明第二CDN的CDN下载速率明显优于第一CDN的CDN下载速率。
根据本公开的示例性实施例,可按照各个CDN的质量数据从优到差的顺序对所述列表进行重排,来更新所述列表。当按照各个CDN的质量数据从优到差的顺序对所述列表中的各个CDN标识进行重排时,质量数据最优的第二CDN对应的CDN标识将会排列在更新后的列表中的首位,使得该第二CDN成为客户端当前可使用的CDN(即,变成第一CDN),从而客户端可使用质量数据最优的第二CDN来下载视频。例如,在质量数据是CDN下载速率的情况下,可按照各个CDN的CDN下载速率从高到低的顺序对所述列表中的各个CDN标识进行重排,来更新所述列表。
在步骤204,可输出更新后的列表。因此,客户端可获取到输出的更新后的列表。
此外,根据本公开的示例性实施例,可响应于输出更新后的列表,将第一CDN切换为由位于更新后的列表首位的CDN标识指示的第二CDN来下载视频。由于客户端默认使用位于所述列表首位的CDN标识指示的CDN,因此,当客户端获取到更新后的列表时,可重新与位于更新后的列表首位的CDN标识指示的CDN(即,上述的质量数据最优的第二CDN)连接,并从该第二CDN下载视频。
下面,将介绍根据本公开的CDN调度方法应用于各个场景的情况。
对于用户推荐视频列表(feed)下发的CDN组合的场景,存在两情况,即,(1)每个推荐视频列表的url组合都是一样的,以及(2)每个推荐视频列表的url组合是打散随机的两种情况。每次重排的url集合都在当次推荐视频列表下发的cdnURL_List中做根据本公开的CDN调度方法做重排,不会有任何体验问题,并且都是优先采用默认的cdnURL_List,出现质量较差才观察其他备选CDN质量并尝试调整。
对于用户网络一直很好的场景,根据本公开的CDN调度方法,可持续使用默认的cdnURL_List,因为网络好的用户占大头,逻辑上可以基本保障后端的CDN流量分配比例。
对于用户网络一直很差的场景,根据本公开的CDN调度方法,如果当前CDN下载速度持续较低,则探测其它备选CDN的质量情况,若其它备选CDN明显质量较优(其它备选CDN的网速/当前CDN的网速≥qualityDiffRatio),则后续切换较优的CDN。如果用户网络差到持续下载失败,未获取有效网速,继续返回默认cdnURL_List,后续和客户端确认持续。
对于偶尔网络波动卡顿的场景,根据本公开的CDN调度方法,若用户网络本身的网速在bwThreshold上下波动,为保障决策稳定性,qualityDiffRatio阈值会限制只有存在其他备选CDN比起当前CDN网速明显较优(其它备选CDN的网速/当前CDN的网速≥qualityDiffRatio)时才改变调度优先级,后续切换较优的CDN。
下面,将参照图3详细描述根据本公开的示例性实施例的CDN调度机制。根据本公开的示例性实施例的CDN调度机制的原则在于:(1)尽量不影响CDN默认配比,在必要时才依次遍历使用各家CDN获得质量数据以判断是否切换CDN;(2)尽量不因为测速机制,带来额外的用户流量消耗和CDN带宽成本,也就是说,可在用户主动观看视频时,按需尝试切换CDN看质量,而不会为了测速而额外请求视频资源。根据本公开的示例性实施例的CDN调度机制的逻辑在于:(1)在冷启动时,当前无任何CDN质量数据时,返回默认的指示客户端可用CDN的列表cdnURL_List供客户端使用;(2)若默认使用的CDN质量足够好,例如,默认使用的CDN网速已经足够高时(bw_defaultCDN>bwThreshold),则不触发遍历其他备选CDN的测速,直接返回默认的列表cdnURL_List;(3)若默认使用的CDN质量差到明显影响QoS/QoE,例如,默认使用的CDN网速<bwThreshold,依次遍历其他备选CDN以搜集网速信息,当有备选CDN的网速/默认CDN的网速>=qualityDiffRatio时,则按照网速从高到底,重排默认的列表cdnURL_List并返回重排后的cdnURL_List,根据重排后的cdnURL_List来请求下载视频。
图3是根据本公开的示例性实施例的CDN调度机制的流程图。
参照图3,在步骤301,可从服务器获取默认列表cdnURL_List,并使用默认CDN(例如,默认CDN的标识排在列表中的首位)来下载视频。
在步骤302,可确定是否已经收集到默认CDN的网速信息(即,CDN下载速率)bw_defaultCDN。
在步骤302确定未收集到默认CDN的网速信息bw_defaultCDN时,可在步骤303,返回默认列表cdnURL_List(即,继续使用默认CDN来下载视频),并继续收集并更新默认CDN的网速信息。
在步骤302确定收集到默认CDN的网速信息bw_defaultCDN时,可在步骤304,确定默认CDN的网速信息bw_defaultCDN是否高于第一预定阈值bwThreshold。
在步骤304确定默认CDN的网速信息bw_defaultCDN高于或等于第一预定阈值bwThreshold时,可在步骤303,返回默认列表cdnURL_List(即,继续使用默认CDN来下载视频),并继续收集并更新默认CDN的网速信息。
在步骤304确定默认CDN的网速信息bw_defaultCDN低于第一预定阈值bwThreshold时,可在步骤305,收集默认列表cdnURL_List中其它备选CDN标识指示的其它备选CDN的网速信息,并确定是否均收集到了默认列表cdnURL_List中其它备选CDN标识指示的其它备选CDN的网速信息。
在步骤305确定均收集到了默认列表cdnURL_List中其它备选CDN标识指示的其它备选CDN的网速信息时,可在步骤306,确定其它备选CDN中的最优网速与默认CDN的网速bw_defaultCDN之比是否大于或等于第二预定阈值qualityDiffRatio。在步骤306确定其它备选CDN中的最优网速与默认CDN的网速bw_defaultCDN之比大于或等于第二预定阈值qualityDiffRatio时,可在步骤307,将默认列表cdnURL_List中的各CDN标识按照网速从高到低排序,并返回更新后的列表cdnURL_updatedList,即,使用网速最高的CDN来下载视频。在步骤306确定其它备选CDN中的最优网速与默认CDN的网速bw_defaultCDN之比小于第二预定阈值qualityDiffRatio时,可在步骤303,返回默认列表cdnURL_List(即,继续使用默认CDN来下载视频),并继续收集并更新默认CDN的网速信息。
在步骤305确定未均收集到了默认列表cdnURL_List中其它备选CDN标识指示的其它备选CDN的网速信息时,可在步骤308,对于当前网络下,将没有收集到网速信息的CDN对应的CDN标识调整到默认列表cdnURL_List的首部,并返回更新后的列表cdnURL_updatedList,即,使用没有收集到网速信息的CDN来下载视频以收集其网速信息。图4是示出根据本公开的示例性实施例的CDN调度装置的框图。
参照图4,根据本公开的示例性实施例的CDN调度装置400可包括第一获取单元401、第二获取单元402、列表更新单元403和列表输出单元404。
当在客户端下载视频时,第一获取单元401可获取客户端当前使用的第一CDN的质量数据。这里,在客户端下载视频可包括在客户端触发视频下载的各个时机,例如,但不限于,视频播放、推荐视频预加载、视频预取等。这里,客户端根据指示客户端可用CDN的列表来使用CDN。指示客户端可用CDN的列表可以是由服务器端下发的供客户端的播放器使用的默认列表。所述列表包括指示客户端可用CDN的多个CDN标识。这里,标识可以是,但不限于,CDN提供商的ID,或连接CDN的URL等。客户端可默认使用由位于所述列表首位的CDN标识所指示的CDN,即,客户端当前使用的默认CDN(也称为第一CDN),由位于所述列表的其它顺位的至少一个CDN标识所指示的至少一个CDN可作为备选的CDN,即,客户端可用的备选CDN(也称为第二CDN)。也就是说,第一CDN表示当前使用的CDN,第二CDN表示当前未使用且作为备选的CDN。例如,对于一个作品ID,可有多家CDN分配流量(例如,CDN数量可为cdnListSize,例如,但不限于,2),从而在所述列表中可下发相应数量的URL当从服务器端接收到所述列表时,客户端可根据所述列表,向排列在所述列表的首位的CDN标识所指示的第一CDN请求下载视频。
此外,质量数据可以是与CDN服务质量相关的数据。例如,质量数据可以是与QoS(服务质量)、QoE(体验质量)、用户体验首屏(从用户开始播放作品到真的看到画面的时间)、播放卡顿率等相关的数据。例如,质量数据可包括,但不限于,CDN下载速度、CDN往返时延、CDN下载成功率中的至少一个。
根据本公开的示例性实施例,第一获取单元401可获取最近预定时间段内的第一CDN的历史质量数据,并计算所述预定时间段内的第一CDN的历史质量数据的平均质量数据,作为第一CDN的质量数据。例如,在质量数据是CDN下载速率的情况下,第一获取单元401可获取最近预定时间段内的第一CDN的历史CDN下载速率,并计算所述预定时间段内的第一CDN的历史CDN下载速率的平均CDN下载速率,作为第一CDN的CDN下载速率。
在第一CDN的质量数据不满足第一预设条件的情况下,第二获取单元402可获取至少一个第二CDN的质量数据。这里,第一预设条件可以是第一CDN的质量数据达到预定质量标准。当第一CDN的质量数据达不到预定质量标准,也即,第一CDN的质量数据不满足第一预设条件时,说明第一CDN的质量差到会影响QoS/QoE的水平。例如,在质量数据是CDN下载速率的情况下,当CDN下载速率较低时,会导到用户的用户体验首屏和播放卡顿率处于较高水平,例如,当CDN下载速率低于视频码率时,将会造成播放卡顿。因此,第一预设条件可以是第一CDN的CDN下载速率大于或等于第一预定阈值(bwThreshold)。也就是说,当第一CDN的CDN下载速率大于或等于第一预定阈值时,说明用户的播放体验(QoS/QoE的水平)不会受到影响。例如,第一预定阈值可通过大盘各CDN(即,所有CDN)下发视频的平均视频码率与预定调节系数(例如,但不限于,3)相乘而确定。
当第一CDN的质量数据不满足第一预设条件时,说明第一CDN的质量差到会影响QoS/QoE的水平,为了保证用户消费者的播放体验不受影响,可考虑切换到质量比较好的备选CDN来向用户消费者下发视频内容。因此,在第一CDN的质量数据不满足第一预设条件的情况下,第二获取单元402可获取至少一个第二CDN中每个第二CDN的质量数据。根据本公开的示例性实施例,第二获取单元402可分别使用每个第二CDN下载视频来收集并保存当前第二CDN的质量数据,并计算保存的最近预定下载次数的每个第二CDN的质量数据的平均质量数据,作为每个第二CDN的质量数据。例如,第二获取单元402可针对每个第二CDN,将该第二CDN对应的CDN标识调整到所述列表的首位(即,调整后的第二CDN将成为客户端使用的第一CDN);根据调整后的所述列表来使用该第二CDN请求下载视频。
根据本公开的示例性实施例,第二获取单元402可在用户终端或客户端保存各CDN(例如,每个第二CDN)质量数据,例如,第二获取单元402可以以CDN质量列表(array)的形式来保存各CDN质量数据。每次CDN下载视频操作完成时,第二获取单元402都可更新并保存该CDN的质量数据。例如,该CDN下载完成5个视频时,第二获取单元402可收集并保存5次质量数据。通常,CDN下载质量在短时间内会存在小波动,不是一直完全平稳时,因此,第二获取单元402可在CDN质量列表中可保存最近预定下载次数(dataCalNum)的CDN质量数据。也就是说,当评估一家CDN的质量时,可选取最近dataCalNum次数的质量数据,并取均值来获得质量数据。
针对一次下载,第二获取单元402可在CDN质量列表中记录本次下载的CDN下载速率、CDN往返时延、CDN下载成功率等中的至少一个质量数据,此外还可记录CDN ID、更新时间等信息。例如,第二获取单元402可记录一次CDN质量数据如下:CDN=ali,bw(CDN下载速率)=10mbps,rtt(CDN往返时延)=30ms,status(下载状态)='success(成功)/cancel(取消)',最后更新时间=20201102-11:02:03。
此外,当切换网络(例如,但不限于,从4G网络切换到Wi-Fi网络,或者从Wi-Fi网络切换到热点等)时,第二获取单元402可清空各家CDN的CDN质量列表以重新收集CDN质量数据。
此外,当某CDN的质量数据的保存时长超出预设的CDN质量数据超时时间(dataTimeout)(例如,但不限于,5min),说明该质量数据不足以代表该CDN的当前质量情况,因此,数据超时失效,第二获取单元402可清空该CDN的质量列表中的质量数据以重新收集该CDN的质量数据。
根据本公开的示例性实施例,在质量数据是CDN下载速率的情况下,第二获取单元402可通过使用第二CDN下载视频来收集并保存第二CDN的CDN下载速率,并计算保存的最近预定下载次数的第二CDN的CDN下载速率的平均CDN下载速率,作为第二CDN的CDN下载速率。例如,第二获取单元402可选择最近预定下载次数的CDN下载速率(即,下载带宽)并求平均,作为最终的CDN下载速率,其中,当最近预定下载次数中有status(下载状态)=failed(失败)的情况时,可将该次下载速率视为0。又例如,第二获取单元402可选择最近预定下载次数中status(下载状态)='success(成功)'或'cancel(取消)'的CDN下载速率并求平均,作为最终的CDN下载速率,其中,对于status=failed的情况,可视为未获取网速信息,不参与计算。又例如,如果最近预定下载次数的质量情况status均为failed,则第二获取单元402可记录该CDN bw=null,即未获取网速信息,从而继续获取网速信息;或者可记录该CDN bw=0,即,CDN下载速率为0。
在获取至少一个第二CDN的质量数据中的每个第二CDN的质量数量之后,当有第二CDN(即,备选CDN)的质量数量与第一CDN(即,当前使用的CDN)的质量数据相比,显示第二CDN的质量明显优于第一CDN的质量时,可将第一CDN切换到质量最优的第二CDN以供客户端使用,从而做到考虑客户端侧的个性化而细粒度地改善服务质量体验。但是,如果备选CDN的质量没有明显优势,则不切换到备选CDN,因为如果在没有明显优势的情况下还切换,一方面对客户端这边的用户体验不会明显提升,反而会因为频繁切换而影响CDN的默认配比。
因此,在至少一个第二CDN中的任意第二CDN的质量数据满足第二预设条件的情况下,列表更新单元403可通过将与至少一个第二CDN中质量数据最优的第二CDN相应的CDN标识排列到所述列表的首位,来更新所述列表。因此,客户端可利用更新后的列表切换到质量数据最优的第二CDN来下载视频。
根据本公开的示例性实施例,第二预设条件可以是第二CDN的质量数据与第一CDN的质量数据的比较结果达到预定比较标准。当第二CDN的质量数据与第一CDN的质量数据的比较结果达到预定比较标准时,说明第二CDN的质量明显优于第一CDN的质量,可切换到第二CDN来下载视频,提高服务质量和用户体验。例如,在质量数据是CDN下载速率的情况下,第二预设条件可以是第二CDN的CDN下载速率与第一CDN的CDN下载速率之比大于或等于第二预定阈值(qualityDiffRatio)。例如,第二预定阈值可以是,但不限于,1.5,也就是说,当第二CDN的CDN下载速率与第一CDN的CDN下载速率的相对差异大于或等于50%,即第二CDN的CDN下载速比第一CDN的CDN下载速率大50%以上时,说明第二CDN的CDN下载速率明显优于第一CDN的CDN下载速率。
根据本公开的示例性实施例,列表更新单元403可按照各个CDN的质量数据从优到差的顺序对所述列表进行重排,来更新所述列表。当按照各个CDN的质量数据从优到差的顺序对所述列表中的各个CDN标识进行重排时,质量数据最优的第二CDN对应的CDN标识将会排列在更新后的列表中的首位,使得该第二CDN成为客户端当前可使用的CDN(即,变成第一CDN),从而客户端可使用质量数据最优的第二CDN来下载视频。例如,在质量数据是CDN下载速率的情况下,可按照各个CDN的CDN下载速率从高到低的顺序对所述列表中的各个CDN标识进行重排,来更新所述列表。
列表输出单元404可输出更新后的列表。因此,客户端可获取到输出的更新后的列表。
此外,根据本公开的示例性实施例,根据本公开的示例性实施例的CDN调度装置400还可包括CDN切换单元(未示出)。CDN切换单元可响应于输出更新后的列表,将第一CDN切换为由位于更新后的列表首位的CDN标识指示的第二CDN来下载视频。由于客户端默认使用位于所述列表首位的CDN标识指示的CDN,因此,当客户端获取到更新后的列表时,CDN切换单元可重新与位于更新后的列表首位的CDN标识指示的CDN(即,上述的质量数据最优的第二CDN)连接,并从该第二CDN下载视频。
图5是示出根据本公开的示例性实施例的客户端的示意图。
参照图5,根据本公开的示例性实施例的客户端500可包括CDN优选模块501和CDN切换模块502。CDN优选模块501可执行与参照图4所描述的CDN调度装置400中第一获取单元401、第二获取单元402、列表更新单元403和列表输出单元404的功能相同的功能。CDN优选模块501可实现为第一获取单元401、第二获取单元402、列表更新单元403和列表输出单元404的相同结构,但也可实现为其它任何可能的结构,本公开不作限制。CDN切换模块502可执行与参照图4所描述的CDN调度装置400中CDN切换单元的功能相同的功能。
图6是根据本公开的示例性实施例的电子设备600的框图。
参照图6,电子设备600包括至少一个存储器601和至少一个处理器602,所述至少一个存储器601中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器602执行时,执行根据本公开的示例性实施例的CDN调度方法。
作为示例,电子设备600可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备600并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备600还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备600中,处理器602可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器602可运行存储在存储器601中的指令或代码,其中,存储器601还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器601可与处理器602集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器601可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器601和处理器602可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器602能够读取存储在存储器中的文件。
此外,电子设备600还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备600的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的CDN调度方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的CDN调度方法。
根据本公开的CDN调度方法和CDN调度装置,可在客户端根据当前CDN质量数据检测到当前CDN的质量较差时,获取其它备选CDN的质量数据,并在根据其它备选CDN质量数据检测到有备选CDN的质量明显较优的情况下,更新CDN可用列表以将当前CDN切换到备选CDN,以获取更好的服务质量,从而达到在保证CDN默认配比的商业需求的前提下,对用户端个性化地、细粒度地调度CDN来向用户提供更良好更精准的服务质量保障。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种内容分发网络的调度方法,其特征在于,包括:
当在客户端下载视频时,获取客户端当前使用的第一内容分发网络CDN的质量数据,其中,客户端根据指示客户端可用CDN的列表来使用CDN,所述列表包括指示客户端可用CDN的多个CDN标识,客户端当前使用由位于所述列表首位的CDN标识所指示的第一CDN,由位于所述列表的其它顺位的至少一个CDN标识所指示的至少一个第二CDN作为备选的CDN;
在第一CDN的质量数据不满足第一预设条件的情况下,获取所述至少一个第二CDN的质量数据;
在所述至少一个第二CDN中的任意第二CDN的质量数据满足第二预设条件的情况下,通过将与所述至少一个第二CDN中质量数据最优的第二CDN相应的CDN标识排列到所述列表的首位,来更新所述列表;
输出更新后的列表。
2.如权利要求1所述的调度方法,其特征在于,还包括:
响应于输出所述更新后的列表,将第一CDN切换为由位于所述更新后的列表首位的CDN标识指示的第二CDN来下载视频。
3.如权利要求1所述的调度方法,其特征在于,所述获取客户端当前使用的第一CDN的质量数据,包括:
获取最近预定时间段内的第一CDN的历史质量数据;
计算所述预定时间段内的第一CDN的历史质量数据的平均质量数据,作为第一CDN的质量数据。
4.如权利要求1所述的调度方法,其特征在于,所述获取所述至少一个第二CDN的质量数据,包括:
针对所述至少一个第二CDN的每个第二CDN执行以下操作:
通过使用当前第二CDN下载视频来收集并保存当前第二CDN的质量数据;
计算保存的最近预定下载次数的第二CDN的质量数据的平均质量数据,作为当前第二CDN的质量数据。
5.如权利要求4所述的调度方法,其特征在于,
所述通过使用当前第二CDN下载视频来收集并保存当前第二CDN的质量数据,包括:
将当前第二CDN对应的CDN标识调整到所述列表的首位;
根据调整后的所述列表来使用当前第二CDN下载视频。
6.如权利要求1所述的调度方法,其特征在于,所述第一预设条件为第一CDN的质量数据达到预定质量标准。
7.一种内容分发网络的调度装置,其特征在于,包括:
第一获取单元,被配置为:当在客户端下载视频时,获取客户端当前使用的第一内容分发网络CDN的质量数据,其中,客户端根据指示客户端可用CDN的列表来使用CDN,所述列表包括指示客户端可用CDN的多个CDN标识,客户端当前使用由位于所述列表首位的CDN标识所指示的第一CDN,由位于所述列表的其它顺位的至少一个CDN标识所指示的至少一个第二CDN作为备选的CDN;
第二获取单元,被配置为:在第一CDN的质量数据不满足第一预设条件的情况下,获取所述至少一个第二CDN的质量数据;
列表更新单元,被配置为:在所述至少一个第二CDN中的任意第二CDN的质量数据满足第二预设条件的情况下,通过将与所述至少一个第二CDN中质量数据最优的第二CDN相应的CDN标识排列到所述列表的首位,来更新所述列表;
列表输出单元,被配置为:输出更新后的列表。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到6中的任一权利要求所述的内容分发网络的调度方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到6中的任一权利要求所述的内容分发网络的调度方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1到6中的任一权利要求所述的内容分发网络的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203266.6A CN113038190A (zh) | 2021-02-23 | 2021-02-23 | 内容分发网络的调度方法和内容分发网络的调度装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203266.6A CN113038190A (zh) | 2021-02-23 | 2021-02-23 | 内容分发网络的调度方法和内容分发网络的调度装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113038190A true CN113038190A (zh) | 2021-06-25 |
Family
ID=76460953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110203266.6A Pending CN113038190A (zh) | 2021-02-23 | 2021-02-23 | 内容分发网络的调度方法和内容分发网络的调度装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038190A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143332A (zh) * | 2021-11-03 | 2022-03-04 | 阿里巴巴(中国)有限公司 | 基于内容分发网络cdn的处理方法、电子设备和介质 |
CN114172964A (zh) * | 2021-11-04 | 2022-03-11 | 北京快乐茄信息技术有限公司 | 内容分发网络的调度方法、装置、通信设备及存储介质 |
CN115022278A (zh) * | 2022-06-02 | 2022-09-06 | 上海哔哩哔哩科技有限公司 | Cdn处理方法和系统 |
CN115065862A (zh) * | 2022-06-07 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
CN114143332B (zh) * | 2021-11-03 | 2024-06-11 | 阿里巴巴(中国)有限公司 | 基于内容分发网络cdn的处理方法、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911722A (zh) * | 2017-10-31 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种内容分发网络调度方法及装置 |
CN108270750A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | Cdn切换方法、客户端及服务器 |
CN109565501A (zh) * | 2016-08-18 | 2019-04-02 | 瑞典爱立信有限公司 | 用于选择内容分发网络实体的技术 |
US20200305070A1 (en) * | 2019-03-22 | 2020-09-24 | Streamroot | Method for obtaining a data segment by a client device capable of communicating with a plurality of content delivery networks |
CN111770186A (zh) * | 2020-07-03 | 2020-10-13 | 珠海金山网络游戏科技有限公司 | 一种多内容分发网络负载均衡方法及装置 |
-
2021
- 2021-02-23 CN CN202110203266.6A patent/CN113038190A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109565501A (zh) * | 2016-08-18 | 2019-04-02 | 瑞典爱立信有限公司 | 用于选择内容分发网络实体的技术 |
CN108270750A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | Cdn切换方法、客户端及服务器 |
CN107911722A (zh) * | 2017-10-31 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种内容分发网络调度方法及装置 |
US20200305070A1 (en) * | 2019-03-22 | 2020-09-24 | Streamroot | Method for obtaining a data segment by a client device capable of communicating with a plurality of content delivery networks |
CN111770186A (zh) * | 2020-07-03 | 2020-10-13 | 珠海金山网络游戏科技有限公司 | 一种多内容分发网络负载均衡方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143332A (zh) * | 2021-11-03 | 2022-03-04 | 阿里巴巴(中国)有限公司 | 基于内容分发网络cdn的处理方法、电子设备和介质 |
CN114143332B (zh) * | 2021-11-03 | 2024-06-11 | 阿里巴巴(中国)有限公司 | 基于内容分发网络cdn的处理方法、电子设备和介质 |
CN114172964A (zh) * | 2021-11-04 | 2022-03-11 | 北京快乐茄信息技术有限公司 | 内容分发网络的调度方法、装置、通信设备及存储介质 |
CN114172964B (zh) * | 2021-11-04 | 2024-02-02 | 北京快乐茄信息技术有限公司 | 内容分发网络的调度方法、装置、通信设备及存储介质 |
CN115022278A (zh) * | 2022-06-02 | 2022-09-06 | 上海哔哩哔哩科技有限公司 | Cdn处理方法和系统 |
CN115065862A (zh) * | 2022-06-07 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
CN115065862B (zh) * | 2022-06-07 | 2024-01-19 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10142405B2 (en) | Multi-CDN digital content streaming | |
US10523732B2 (en) | Multi-CDN digital content streaming | |
CN113038190A (zh) | 内容分发网络的调度方法和内容分发网络的调度装置 | |
US10044567B2 (en) | System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system | |
US10069885B2 (en) | Bandwidth management for over-the-top adaptive streaming | |
US9660922B2 (en) | Network assisted rate shifting for adaptive bit rate streaming | |
US7441261B2 (en) | Video system varying overall capacity of network of video servers for serving specific video | |
US9071655B2 (en) | Managing access to digital content sources | |
US9350624B2 (en) | Dynamic assignment of connection priorities for applications operating on a client device | |
US9722889B2 (en) | Facilitating high quality network delivery of content over a network | |
US9521178B1 (en) | Dynamic bandwidth thresholds | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US8819303B2 (en) | Deferred transfer of content to optimize bandwidth usage | |
US10194210B2 (en) | Dynamic content delivery network allocation system | |
CN112565774B (zh) | 视频转码资源调度方法及装置 | |
US9197687B2 (en) | Prioritized blocking of on-demand requests | |
US20170331914A1 (en) | System and method for optimizing online video streaming to a user | |
CN110545450B (zh) | 一种节点分配方法、系统及电子设备和存储介质 | |
US20170364833A1 (en) | Ranking video delivery problems | |
WO2011067782A1 (en) | Mechanism for adaptively choosing utility computing applications based on network characteristics and extending support for additional local applications | |
KR20130082685A (ko) | 가상 머신을 이용한 콘텐츠 서비스 제공 시스템 및 방법 | |
US11831555B2 (en) | System and method for managing video streaming congestion | |
Pussep | Peer-assisted video-on-demand: cost reduction and performance enhancement for users, overlay providers, and network operators | |
US11997366B2 (en) | Method and apparatus for processing adaptive multi-view streaming | |
US11350160B1 (en) | Management of a client device buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |