CN115883872A - 视频流调度方法、装置、设备及计算机可读存储介质 - Google Patents
视频流调度方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115883872A CN115883872A CN202111128307.6A CN202111128307A CN115883872A CN 115883872 A CN115883872 A CN 115883872A CN 202111128307 A CN202111128307 A CN 202111128307A CN 115883872 A CN115883872 A CN 115883872A
- Authority
- CN
- China
- Prior art keywords
- video streams
- target
- video stream
- video
- edge nodes
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供视频流调度方法、装置、设备及计算机可读存储介质,其中,方法应用于视频流系统中的调度装置,视频流系统包括源站和多个边缘节点,方法包括:调度装置首先获取多个边缘节点历史分发过的多条第一视频流的特征数据,并根据多条第一视频流的特征数据预测得到多个边缘节点在目标时间段内即将分发的多条第二视频流的特征数据,然后根据多条第二视频流的特征数据确定目标热度阈值,最后,在目标时间段内对多条第二视频流中热度低于目标热度阈值的多条第三视频流进行调度,使得多个边缘节点向用户提供的服务的平均QoS处于期望平均QoS范围,且多个边缘节点与源站之间的回源带宽不超过期望回源带宽,从而实现上述两个指标的平衡。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频流调度方法、装置、设备及计算机可读存储介质。
背景技术
视频流系统,例如,直播内容分发网络(content delivery network,CDN)系统,主要用于为用户分发视频流(即,分发视频流的媒体数据),参见图1,图1为现有的一种视频流系统的结构示意图,当用户想要观看某个视频流时,图1所示的视频流系统100中的DNS(domain name server,域名解析服务器)140通常会为用户分配一个距离用户客户端最近的边缘节点1304为用户分发视频流。但是,上述DNS140的调度方法存在产生大量的回源带宽,消耗巨大的回源成本的问题。
为了减少多个边缘节点130与源站110之间的回源带宽,降低回源成本,目前,通常由图2所示的调度器150基于重定向技术和视频流热度类别进行视频流调度:
具体地,当用户想要观看某个视频流时,图2所示的DNS140首先为用户分配一个距离用户最近的边缘节点1304,边缘节点1304确定本地是否存储有用户要观看的视频流,若本地存储有,则直接将视频流返回至用户客户端,若本地未存储有,则确定用户要观看的视频流的热度类别,当确定视频流的热度类别是热流时,边缘节点1304会通过中心节点120回源拉取用户要观看的视频流,然后推送至用户客户端,当确定视频流的热度类别是冷流时,边缘节点1304会向调度器150发送对视频流的调度请求,由调度器150将视频流重定向至调度器150从多个边缘节点130中选择出的边缘节点1303,其中,边缘节点1303上通常已经存储有上述视频流,因而,可以由边缘节点1303直接为用户分发视频流,而不需要回源,因而可以减少回源带宽,并相应降低回源成本。
然而,本申请发明人发现,上述方法虽然可以有效降低多个边缘节点130与源站110之间的回源带宽,但是在业务高峰期对应的时间段,会导致多个边缘节点130为用户提供的服务的平均服务质量(quality of service,QoS)变差,极大地影响用户体验。
发明内容
本申请提供了一种视频流调度方法、装置、设备及计算机可读存储介质,可以在业务高峰期对应的时间段,平衡多个边缘节点与源站之间的回源带宽和多个边缘节点为用户提供的服务的平均QoS。
第一方面,提供了一种视频流调度方法,该方法应用于视频流系统中的调度装置,视频流系统包括源站以及多个边缘节点,该方法包括:调度装置首先获取多个边缘节点上历史分发过的多条第一视频流的特征数据,并根据多条第一视频流的特征数据预测得到多个边缘节点在目标时间段内即将分发的多条第二视频流的特征数据,然后根据多条第二视频流的特征数据确定目标热度阈值,最后,在目标时间段内,由调度装置对多条第二视频流中热度低于目标热度阈值的多条第三视频流进行调度,以使得多个边缘节点向用户提供的服务的平均服务质量QoS处于期望平均QoS范围,且多个边缘节点与源站之间的回源带宽不超过期望回源带宽。
通过上述方案可知,调度装置能够依据多个边缘节点上历史分发过的多条第一视频流的特征数据,预测多个边缘节点在目标时间段内即将分发的多条第二视频流的特征数据,根据预测的多条第二视频流的特征数据,确定能够实现多个边缘节点向用户提供的服务的平均QoS处于期望平均QoS范围,且多个边缘节点与源站之间的回源带宽不超过期望回源带宽的目标热度阈值,由于目标热度阈值满足上述条件,因此,当调度装置在目标时间段内,实际对多条第二视频流中热度低于目标热度阈值的多条第三视频流进行调度时,能够使得多个边缘节点向用户提供的服务的实际平均QoS处于期望平均QoS范围,且多个边缘节点与源站之间的实际回源带宽不超过期望回源带宽,从而实现这两个指标的平衡。
在一种可能的实现方式中,调度装置具体可以通过如下方式对多条第三视频流进行调度:
首先,将目标热度阈值或者多条第二视频流的热度类别发送给多个边缘节点,然后,接收第一边缘节点发送的对第三视频流的调度请求,最后,将第三视频流重定向到第二边缘节点,其中,多条第二视频流的热度类别由调度装置根据目标热度阈值确定,第三视频流为在目标时间段内由DNS根据目标用户的请求调度到第一边缘节点上的视频流,第一边缘节点上未存储第三视频流的媒体数据,第一边缘节点为多个边缘节点中的任一个,第二边缘节点上存储有第三视频流的媒体数据,第二边缘节点属于多个边缘节点。
通过上述方案可知,调度装置将用户需要的视频流重定向到已经存储有该视频流的边缘节点,由该边缘节点直接为用户分发第三视频流,而不需要回源,因而可以减少回源带宽,并相应降低回源成本。此外,多个边缘节点根据目标热度阈值或者根据目标热度阈值确定的多条第二视频流的热度类别确定用户需要的视频流的热度类别,然后根据确定的视频流的热度类别确定是否请求调度装置将视频流重定向到第二边缘节点,由上述方案可知,目标热度阈值是调度装置预先获取的能够实现多个边缘节点向用户提供的服务的平均QoS处于期望平均QoS范围,且多个边缘节点与源站之间的回源带宽不超过期望回源带宽的热度阈值,因此,多个边缘节点通过上述方案分发多条第三视频流,最终能够实现多个边缘节点向用户提供的服务的平均QoS处于期望平均QoS范围,且多个边缘节点与源站之间的回源带宽不超过期望回源带宽的热度阈值,从而实现这两个指标之间的平衡。
在一种可能的实现方式中,目标热度阈值为多个热度阈值中的一个,多条第一视频流的特征数据,包括:多条第一视频流中每条第一视频流的用户数量、每条第一视频流对应的回源带宽、基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第一视频流中由调度装置通过重定向技术调度的第一视频流对应的平均QoS、多条第一视频流中未由调度装置通过重定向技术调度的第一视频流对应的平均QoS。
在一种可能的实现方式中,多条第二视频流的特征数据,包括:多条第二视频流中每条第二视频流的用户数量、每条第二视频流对应的回源带宽、基于多个热度阈值对多条第二视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第二视频流中由调度装置通过重定向技术调度的第二视频流对应的平均QoS、多条第二视频流中未由调度装置通过重定向技术调度的第二视频流对应的平均QoS;
调度装置具体可以通过如下方式根据多条第二视频流的特征数据确定目标热度阈值:
首先,根据多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS与回源带宽,然后,从多个热度阈值中选择目标热度阈值,每个热度阈值对应的平均QoS与回源带宽由调度装置模拟对多条第二视频流中热度低于热度阈值的视频流进行调度决定,其中,目标热度阈值对应的平均QoS处于期望平均QoS范围,且目标热度阈值对应的回源带宽不超过期望回源带宽。
通过上述方案可知,调度装置模拟对多条第二视频流中热度低于每个热度阈值的视频流进行调度决定每个热度阈值对应的平均QoS与回源带宽,因此,当调度装置实际根据每个热度阈值对多条第二视频流中热度低于每个热度阈值的视频流进行调度时,多个边缘节点为用户提供的服务的实际平均QoS会与每个热度阈值对应的平均QoS很接近,甚至相同,以及多个边缘节点与源站之间的回源带宽会与每个热度阈值对应的回源带宽很接近,甚至相同,后续,调度装置根据期望平均QoS范围和期望回源带宽从多个热度阈值中选择满足条件的目标热度阈值进行视频流调度,由于选择出的目标热度阈值是满足期望的,因此,调度装置根据目标热度阈值进行视频流调度,产生的调度结果也能满足期望,从而实现两个指标之间的平衡。
在一种可能的实现方式中,在调度装置将第三视频流重定向到第二边缘节点之前,方法还包括如下步骤:
调度装置首先从多个边缘节点中确定存储有第三视频流的媒体数据的多个目标边缘节点,然后从多个目标边缘节点中确定第二边缘节点,第二边缘节点是多个目标边缘节点中离目标用户的客户端最近的边缘节点,或,第二边缘节点是多个目标边缘节点中与目标用户的客户端属于同一运营商的边缘节点。
通过上述方案可知,调度装置重定向的边缘节点是存储有用户需要的视频流的,因此,重定向的边缘节点可以直接为用户分发视频流,无需回源,因而可以减少回源带宽,并相应降低回源成本。此外,调度装置重定向的边缘节点是存储有用户需要的视频流的多个边缘节点中离用户最近的或者与用户的客户端属于统一运营商的边缘节点,如此,用户能够得到较好的QoS,最终,能够实现多个边缘节点整体的回源带宽的减少以及多个边缘节点整体为用户提供的平均QoS的优化,实现这两个指标之间的平衡。
在一种可能的实现方式中,目标时间段为业务高峰期对应的时间段,多条第一视频流为多个边缘节点在历史日期中的目标时间段内分发过的视频流。
通过上述方案可以实现在业务高峰期对应的时间段平衡多个边缘节点与源站之间的回源带宽和多个边缘节点为用户提供的服务的平均QoS的目的。
在一种可能的实现方式中,第一边缘节点是由DNS在接收到目标用户的请求时根据QoS优先的原则调度的。其中,QoS优先的原则是指保障用户客户端能够得到较好的服务质量的原则,具体可以指就近原则,例如距离就近或者网络就近,当为距离就近时,DNS140从多个边缘节点130中确定的为用户分发视频流的边缘节点为距离用户客户端最近的边缘节点,当为网络就近时,DNS140从多个边缘节点130中确定的为用户分发视频流的边缘节点为运营商与用户客户端所属的运营商相同的边缘节点。
第二方面,提供一种调度装置,该装置包括用于执行第一方面或第一方面任一种可能实现方式提供的方法的各个模块。
第三方面,提供了一种计算设备,该计算设备包括处理器和存储器,存储器用于存储计算机指令,该计算设备运行时,处理器执行计算机指令以实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所描述的方法。
第五方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所描述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请涉及的一种视频流系统的结构示意图;
图2是本申请涉及的另一种视频流系统的结构示意图;
图3是现有的一种视频流调度方法的流程示意图;
图4是本申请提供的一种视频流调度方法的流程示意图;
图5是本申请提供的一种调度装置的结构示意图;
图6是本申请提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图,对本申请提供的技术方案进行描述。
为了使本申请提供的技术方案更清晰,在具体描述本申请提供的技术方案之前,首先进行相关术语的解释。
(1)域名(domain name,DN),又称网域,是由一串用“点”分隔的字符组成的因特网(internet)上某一台计算机或计算机组的名称,如www.abc.com。在传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)网络中域名与IP地址一一对应,域名便于记忆,但网络中的服务器间只能通过IP地址相互识别,域名和IP地址之间的转换称为域名解析,域名解析需要通过专门的DNS来完成。
(2)QoS,是通信系统或信道的常用性能指标之一。不同的系统及业务中其定义不尽相同,可能包括抖动、时延、丢包率、误码率、信噪比等多种指标,用来衡量一个传输系统的传输质量和服务有效性,评估服务商满足客户需求的能力。服务质量包括的多种指标可以被统一量化成一个值,即QoS值,在具体实现中,可以设置QoS值越大,表示传输质量和服务有效性越差,用户体验越差,反之,则表示传输质量和服务有效性越好,用户体验越佳。可选地,也可以设置QoS值越小,表示传输质量服务有效性越差,用户体验越差,反之,则表示传输质量和服务有效性越好,用户体验越佳。
本申请涉及的应用场景为视频流分发场景,因此,本申请所涉及的QoS包括的指标与视频流有关,具体可以包括首帧时长、百秒卡顿时长、百秒卡顿次数等,其中,首帧时长指用户客户端发送出对视频流的请求的时刻到接收到边缘节点分发的首帧视频流的时刻之间的时间差,百秒卡顿时长,指用户客户端在播放视频流时卡顿的总时长与视频流的播放时长的比值,百秒卡顿次数,指用户客户端在播放视频流时卡顿的总次数与视频流的播放时长的比值,播放时长的单位为百秒。
(3)视频流系统,指可以存储以及分发视频流的系统,例如直播CDN系统,该系统通常由云厂商构建,如图1所示,系统100主要包括:源站110、中心节点120、边缘节点130和DNS140,其中,源站110、中心节点120、边缘节点以及DNS140之间通过网络进行连接,源站110提供视频流注入、录制、截屏、转码等服务,中心节点120提供数据交换的服务,边缘节点130可以用于为视频流提供用户(如主播、短视频制作者等)推送视频流以及为视频流观看用户分发视频流,DNS140提供域名解析服务,以使用户客户端能够接入视频流系统100中的边缘节点130,由接入的边缘节点130为用户提供视频流分发服务。
云厂商可以将视频流系统100中多种节点(例如:源站110、中心节点120、边缘节点130和DNS140)提供的服务作为一项云服务,当某视频平台(如直播平台、短视频观看平台、视频点播平台、虚拟现实(virtual reality,VR)平台等)购买了该项云服务之后,可以使用该项云服务进行视频流存储和分发。以直播平台为例,当直播平台购买了云厂商提供的云服务之后,在直播平台注册了账号的主播通过该直播平台可以上传正在直播的内容,在直播平台注册了账号的用户(指观众)通过直播平台可以观看主播正在直播的内容。其中,用户通过直播平台观看主播正在直播的内容的过程即为视频流分发过程。
下面继续以直播为例,对图1所示的视频流系统进行视频流分发的过程进行说明:
假设主播已经通过直播平台将视频流A(即主播的直播内容)上传至视频流系统100中的源站110,且源站110已经对视频流A进行编码、转码、清晰度转换、帧率转换、码率转换等操作,将视频流A转换成了不同码率、不同帧率、不同清晰度的视频流。当用户想要观看视频流A时,用户客户端可以向DNS140发送域名解析请求,该域名解析请求包括直播平台的域名,DNS140中存储有直播平台的域名对应的多个边缘节点的IP地址,DNS140在接收到域名解析请求后,对直播平台的域名进行解析,确定与直播平台的域名对应的多个边缘节点的IP地址,然后根据QoS优先的原则从多个边缘节点中确定为用户分发视频流A的边缘节点130,在图1中,确定的边缘节点为边缘节点1304。之后,DNS140将边缘节点1304的IP地址返回至用户客户端,用户客户端在接收到边缘节点1304的IP地址后,根据边缘节点1304的IP地址向边缘节点1304发送对视频流A的请求,当边缘节点1304接收到用户客户端发送的对视频流A的请求后,根据该请求为用户客户端分发视频流A。
边缘节点1304为用户客户端分发视频流A的过程为:边缘节点1304查询本地是否存储有视频流A,若本地存储有视频流A,则直接将视频流A推送至用户客户端;若边缘节点1304本地未存储有视频流A,边缘节点1304将向中心节点1202发送获取视频流A的请求,由中心节点1202查询本地是否存储有视频流A,当中心节点1202本地存储有视频流A时,中心节点1202将视频流A返回至边缘节点1304,当中心节点1202本地未存储有视频流A时,中心节点1202向源站110发送获取视频流A的请求,从源站110获取视频流A,然后将视频流A返回至边缘节点1304。边缘节点1304在接收到中心节点1202返回的视频流A后,将视频流A推送至用户客户端,完成视频流A的分发。
上述边缘节点1304从中心节点1202获取视频流A的过程,可以称为回源拉流过程,该过程会占用边缘节点1304的一部分带宽,这部分带宽可以称为回源带宽。上述QoS优先的原则是指保障用户客户端能够得到较好的服务质量的原则,具体可以指就近原则,例如距离就近或者网络就近,当为距离就近时,DNS140从多个边缘节点130中确定的为用户分发视频流的边缘节点为距离用户客户端最近的边缘节点,当为网络就近时,DNS140从多个边缘节点130中确定的为用户分发视频流的边缘节点为运营商(也可以称为网络运营商)与用户客户端所属的运营商相同的边缘节点。可选地,DNS140从多个边缘节点130中确定的为用户分发视频流的边缘节点还可以为距离用户客户端最近且所属运营商相同的边缘节点,此处不作具体限定。
(4)业务高峰期和业务低峰期,业务高峰期指视频流系统中的边缘节点业务比较繁忙的时间段,在该时间段,边缘节点需要回源拉取较多的视频流、带宽比较拥堵,业务低峰期指边缘节点业务比较宽松的时间段,在该时间段,边缘节点需要回源拉取较少的视频流、带宽比较宽松。
业务高峰期和业务低峰期与人们的生活和工作节奏相关,通常,在人们工作的时间段以及睡觉的时间段内,观看视频流的用户较少,在人们休息娱乐的时间段内,观看视频流的用户较多。因此,可以将人们工作以及睡觉的时间段划分为边缘节点的业务低峰期,将人们休息娱乐的时间段划分为边缘节点的业务高峰期。例如,将每天的00:00-18:00划分为业务低峰期,18:00-24:00划分为业务高峰期。
还可以理解,在业务高峰期,边缘节点业务比较繁忙、带宽比较拥堵,边缘节点向用户提供的服务的平均QoS通常会比较差,回源带宽峰值或者回源带宽均值比较大,在业务低峰期,边缘节点业务比较宽松、带宽比较宽松,边缘节点向用户提供的服务的平均QoS通常会比较好,回源带宽峰值或者回源带宽均值比较小。在本申请中,平均QoS可以具体为平均QoS值,平均QoS越大,表示边缘节点向用户提供的服务的平均服务质量越好,可选地,也可以平均QoS越小,表示边缘节点向用户提供的服务的平均服务质量越好,本申请不作具体限定。
(5)期望平均QoS,指云厂商期望视频流系统中多个边缘节点在业务高峰期能够为用户提供的服务的平均QoS。
(6)期望回源带宽,指云厂商期望的视频流系统中多个边缘节点在业务高峰期与源站之间的回源带宽,其可以具体为回源带宽峰值或者回源带宽均值。
(7)视频流的热度类别,包括热流和冷流,热流指访问人数较多的视频流,冷流指访问人数较少的视频流。热视频的热度类别可以根据热度阈值以及视频流的访问人数确定。具体地,若视频流的访问人数低于热度阈值,则可以确定该视频流的热度类别为冷流,反之,则可以确定该视频流的热度类别为热流。
(8)重定向(Redirect),是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
接下来,对本申请涉及的应用场景进行介绍。
本申请涉及需要对视频流进行分发的场景,如直播、视频云、视频点播、短视频观看、虚拟现实、云游戏等,具体可以参见图1所示的视频流系统100。
从上文结合图1所示的视频流系统100介绍的视频流分发过程可知,当用户想要观看一条视频流时,若DNS140为用户客户端分配的边缘节点130本地未存储有用户要观看的视频流,边缘节点130会回源获取用户要观看的视频流,这一过程会产生回源带宽,带来回源成本。而且,一个视频流系统中通常有大量边缘节点130,每个边缘节点130每天可能需要回源获取大量视频流,可想而知,这一过程会产生大量的回源带宽,消耗巨大的回源成本。
目前,为了降低多个边缘节点130与源站110之间的回源带宽,减少回源成本,云厂商通常在视频流系统100中设置调度器150,如图2所示,由调度器150基于重定向技术和视频流热度类别进行视频流调度。
需要说明的是,本申请上述的由DNS140、调度器150对视频流进行调度或者下文所述的由调度装置对视频流进行调度的过程,指的是DNS140、调度器150或者调度装置从视频流系统包括的多个边缘节点130中选择出为用户分发视频流的边缘节点的过程。
下面继续以用户想要观看的视频流为视频流A为例,结合图3所示的流程示意图,对图2所示的视频流系统100基于重定向技术和视频流热度类别进行视频流调度的过程进行简要介绍。
S301、用户客户端向DNS140发送包括第一域名的域名解析请求,相应地,DNS140接收用户客户端发送的域名解析请求。
其中,第一域名可以为直播平台、短视频观看平台、视频点播平台、虚拟现实平台等平台的域名,用户客户端为在第一域名所属的平台注册过的用户客户端。
S302、DNS140对第一域名进行解析,得到第一域名对应的多个边缘节点130的IP地址。
S303、DNS140根据QoS优先的原则从第一域名对应的多个边缘节点130中选择出边缘节点1304。
S304、DNS140将边缘节点1304的IP地址返回至用户客户端,相应地,用户客户端接收DNS140返回的边缘节点1304的IP地址。
S305、用户客户端根据边缘节点1304的IP地址,向边缘节点1304发送对视频流A的请求,相应地,边缘节点1304接收用户客户端发送的对视频流A的请求。
S306、边缘节点1304查询本地是否存储有视频流A,若本地存储有视频流A,执行S307,若本地未存储有视频流A,执行S308。
S307、边缘节点1304将视频流A推送至用户客户端。
S308、边缘节点1304从预先获取的多条视频流的热度类别中确定视频流A的热度类别是否是热流,当确定视频流A的热度类别为热流时,执行S309和S310,当确定视频流A的热度类别为冷流时,执行S311。
S309、边缘节点1304回源拉取视频流A。
S310、边缘节点1304将视频流A推送至用户客户端。
S311、边缘节点1304向调度器150发送对视频流A的调度请求,相应地,调度器150接收边缘节点1304发送的对视频流A的调度请求。
S312、调度器150将视频流A重定向到边缘节点1303。
S313、边缘节点1303为用户客户端分发视频流A。
在调度器150将视频流A重定向到边缘节点1303之前,调度器150需要从多个边缘节点130中选取出边缘节点1303。
具体地,在多个边缘节点130中存在存储有视频流A的边缘节点的情况下,选取出的边缘节点1303是多个边缘节点130中存储有视频流A的边缘节点中距离用户客户端最近的边缘节点,或者,是存储有视频流A的边缘节点中与用户客户端属于同一运营商的边缘节点,或者,是存储有视频流A的边缘节点中与用户客户端属于同一运营商的边缘节点中距离用户客户端最近的边缘节点,以便为用户客户端提供较高质量的服务;在多个边缘节点130中不存在存储有视频流A的边缘节点的情况下,选取出的边缘节点1303可以为边缘节点1304,或者,为多个边缘节点130中与用户客户端属于同一运营商的边缘节点中距离用户客户端较近的边缘节点。
边缘节点1303为用户客户端分发视频流A的具体过程为:当边缘节点1303存储有视频流A时,边缘节点1303直接将视频流A推送至用户客户端;当边缘节点1303未存储有视频流A时,回源拉取视频流A,然后将视频流A推送至用户客户端。
可以看出,上述方法,由调度器150重定向之后的边缘节点130上通常已经存储有用户想要观看的视频流,因而,该边缘节点130可以直接为用户分发视频流,无需回源,而且重定向之后的边缘节点130可以为观看同一条冷流的多个用户提供视频流分发服务,无需由距离多个用户较近的边缘节点130为各个用户提供服务,因此,可以有效减少多个边缘节点130与源站110之间的回源带宽,降低回源成本。
但是,由调度器150重定向之后的边缘节点130为观看同一条冷流的多个用户提供视频流分发服务,多个用户可能部分或者全部均距离调度器150重定向之后的边缘节点130较远,当用户距离边缘节点130较远时,边缘节点130为用户提供的服务的QoS会变差,在业务低峰期对应的时间段,造成的影响较小,可以忽略不计。然而,在业务高峰期对应的时间段,造成的影响较大。
综上所述,上述基于重定向和视频流热度类别的调度方法虽然可以有效降低多个边缘节点130与源站110之间的回源带宽,但是在业务高峰期对应的时间段,会导致多个边缘节点130为用户提供的服务的平均QoS变差,极大地影响用户体验。
因此,如何在业务高峰期对应的时间段平衡多个边缘节点130与源站110之间的回源带宽和多个边缘节点130为用户提供的服务的平均QoS,是亟需解决的问题。
本申请提供了视频流调度方法、装置等,本申请提供的调度装置可以应用于图2所示的视频流系统100,执行本申请提供的视频流调度方法,从而解决现有的视频流调度方法存在的问题。
下面以调度装置为执行主体,结合图4所示的流程示意图介绍本申请提供的视频流调度方法,如图4所示,方法包括:
S401、调度装置获取多个边缘节点130历史分发过的多条第一视频流的特征数据。
具体地,第一视频流可以为多个边缘节点130在历史日期中的目标时间段内分发过的视频流,历史日期可以为过去一天、过去一个月或者过去两个月等,目标时间段可以为业务高峰期对应的时间段。可选地,目标时间段既包括业务高峰期对应的时间段,也包括业务低峰期对应的时间段。在具体实现中,业务高峰期对应的时间段以及业务低峰期对应的时间段,可以根据实际情况进行划分,此处不作具体限定。为了说明书的简洁,以下均以目标时间段为业务高峰期对应的时间段为例进行描述。
在一种可能的实施例中,调度装置获取的多条第一视频流的特征数据,可以包括:多条第一视频流中每条第一视频流的用户数量、每条第一视频流对应的回源带宽、基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第一视频流中由调度装置通过重定向技术调度的第一视频流对应的平均QoS、多条第一视频流中未由调度装置通过重定向技术调度的第一视频流对应的平均QoS。其中,每条第一视频流对应的回源带宽,指回源获取了该第一视频流的全部边缘节点130与源站110之间的回源带宽之和。多个热度分类阈值可以依赖专家经验划分,例如,划分为50、100、200、300等,此处不作具体限定。
参见表1,表1为本申请示例性示出的一种基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量的表格。
表1
热度阈值 | 视频流的数量 |
[1-50) | 3900 |
[50-100) | 3401 |
[100-200) | 2578 |
… | … |
在另一种可能的实施例中,调度装置获取的多条第一视频流的特征数据,可以包括:多条第一视频流中每条第一视频流的用户数量、每条第一视频流对应的回源带宽、每条第一视频流对应的边缘节点数量、基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第一视频流中由调度装置通过重定向技术调度的第一视频流对应的平均QoS、多条第一视频流中未由调度装置通过重定向技术调度的第一视频流对应的平均QoS,其中,每条第一视频流对应的边缘节点数量,指分发过第一视频流的边缘节点的数量。
需要说明的是,上述调度装置获取的多条第一视频流的特征数据,是获取的多条第一视频流在目标时间段内的多个时刻的特征数据。
为了便于描述,以下均以目标时间段为18:00-24:00,目标时间段内的多个时刻为18:00、18:15、…、23:55、24:00为例,调度装置获取多条第一视频流中每条第一视频流的用户数量,指多条第一视频流中每条第一视频流分别在18:00、18:05、…、23:55、24:00之前到对应时刻时的用户数量,调度装置获取的每条第一视频流对应的回源带宽,指每条第一视频流分别在18:00、18:05、…、23:55、24:00时刻时的回源带宽,调度装置获取的基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量,指分别在18:00、18:05、…、23:55、24:00时刻时,基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量,调度装置获取的多条第一视频流中由调度装置通过重定向技术调度的第一视频流对应的平均QoS,指分别在18:00、18:05、…、23:55、24:00时刻时,多条第一视频流中由调度装置通过重定向技术调度的第一视频流对应的平均QoS,调度装置获取的多条第一视频流中未由调度装置通过重定向技术调度的第一视频流对应的平均QoS,指分别在18:00、18:05、…、23:55、24:00时刻时,多条第一视频流中未由调度装置通过重定向技术调度的第一视频流对应的平均QoS,调度装置获取的每条第一视频流对应的边缘节点数量,指分别在18:00、18:05、…、23:55、24:00时刻时每条第一视频流对应的边缘节点数量。
下面介绍调度装置获取多条第一视频流的特征数据的具体过程。
用户客户端在接收到边缘节点130分发的第一视频流之后,可以向边缘节点130发送如下与第一视频流相关的数据:第一视频流的标识、发送出对第一视频流的请求的时刻、用户客户端的标识(如IP地址)、用户观看第一视频流时的QoS。边缘节点130在接收到用户客户端发送的上述与第一视频流的相关数据后,可以将这些数据发送给调度装置。
边缘节点130在向用户客户端分发第一视频流之后,可以向调度装置发送如下与第一视频流相关的数据:第一视频流的标识、第一视频流是否由调度装置通过重定向技术调度、第一视频流对应的回源带宽。
调度装置在接收到多个边缘节点130发送的与多条第一视频流相关的数据后,根据多条第一视频流相关的数据可以统计得到多条第一视频流的特征数据。
S402、调度装置根据多条第一视频流的特征数据,预测多个边缘节点130在目标时间段内即将分发的多条第二视频流的特征数据。
具体地,第二视频流为多个边缘节点130在未来日期中的目标时间段内即将分发的视频流,未来日期可以为当天,也可以为明天,或者一个月以后的某一天,此处不作具体限定。
与S401中所列举的关于多条第一视频流的特征数据的第一种可能的实施例对应,调度装置根据多条第一视频流的特征数据,预测的多条第二视频流的特征数据,包括:多条第二视频流中每条第二视频流的用户数量、每条第二视频流对应的回源带宽、基于多个热度阈值对多条第二视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第二视频流中由调度装置通过重定向技术调度的第二视频流对应的平均QoS、多条第二视频流中未由调度装置通过重定向技术调度的第二视频流对应的平均QoS。
与S402中所列举的关于多条第一视频流的特征数据的第二种可能的实施例对应,调度装置根据多条第一视频流的特征数据,预测的多条第二视频流的特征数据,包括:多条第二视频流中每条第二视频流的用户数量、每条第二视频流对应的回源带宽、每条第二视频流对应的边缘节点数量、基于多个热度阈值对多条第二视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第二视频流中由调度装置通过重定向技术调度的第二视频流对应的平均QoS、多条第二视频流中未由调度装置通过重定向技术调度的第二视频流对应的平均QoS。
需要说明的是,上述调度装置获取的多条第二视频流的特征数据,也是获取的多条第二视频流在目标时间段内的多个时刻的特征数据。
在具体实现中,调度装置可以通过专家经验规则、随机森林(random forest)算法或者长短期记忆网络(long short-term memory,LSTM)等深度神经网络等实现多条第二视频流的特征数据的预测,此处不作具体限定。
S403、调度装置根据多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS和回源带宽,其中,多个热度阈值中每个热度阈值对应的平均QoS与回源带宽由调度装置模拟多条第二视频流中热度低于该热度阈值的视频流进行调度决定。
下面以S402中所列举的关于多条第二视频流的特征数据的第二种可能的实施例,以及第i个热度阈值为例,介绍根据多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS和回源带宽的具体过程。
在本申请具体的实施例中,调度装置根据多条第二视频流在目标时间段内的多个时刻的特征数据,可以计算得到第i个热度阈值在多个时刻中的每个时刻对应的平均QoS和回源带宽,然后综合多个时刻各自对应的平均QoS和回源带宽,得到第i个热度阈值在目标时间段内对应的整体平均QoS和整体回源带宽,整体平均QoS即为第i个热度阈值对应的平均QoS,整体回源带宽即为第i个热度阈值对应的回源带宽。
进一步地,调度装置可以参考如下公式计算得到第i个热度阈值在多个时刻中的第t个时刻对应的平均QoS:
QoSt=Pi1·Qi1+Pi2·Qi2/Pi1+Pi2
其中,QoSt为第i个热度阈值在第t个时刻时对应的平均QoS,Pi1为在第t个时刻时,多条第二视频流中用户数量小于第i个热度阈值的视频流的总用户数,Pi2为在第t个时刻时,多条第二视频流中用户数量等于以及大于第i个热度阈值的视频流的总用户数,Qi1为在第t个时刻时,多条第二视频流中由调度装置通过重定向技术调度的第二视频流对应的平均QoS,Qi2为在第t个时刻时,多条第二视频流中未由调度装置通过重定向技术调度的第二视频流对应的平均QoS。
调度装置可以参考如下公式计算得到第i个热度阈值在第t个时刻时对应的回源带宽BWt:
其中,n为在第t个时刻时,多条第二视频流中用户数量小于第i个热度阈值的第二视频流的数量,m为在第t个时刻时,多条第二视频流中用户数量等于以及大于第i个热度阈值的第二视频流的数量,Sp为在第t个时刻时上述n条第二视频流中的第p条第二视频流对应的边缘节点数量,Bk为在第t个时刻时多条第二视频流中第k条第二视频流对应的回源带宽,α为汇聚系数,可以根据实际情况设置。
在具体实现中,调度装置在计算得到第i个热度阈值在多个时刻对应的平均QoS以及回源带宽后,可以将多个平均QoS的平均值或者方差等作为第i个热度阈值对应的整体平均QoS,将多个回源带宽的平均值或者峰值等作为第i个热度阈值对应的整体回源带宽,此处不作具体限定。
需要说明的是,上述根据多条第二视频流的特征数据计算得到多个热度阈值对应的平均QoS以及回源带宽的方式仅仅是作为示例,其他根据多条第二视频流的特征数据计算得到第i个热度阈值对应的平均QoS以及回源带宽的方式也在本申请的保护范围内,在此不做具体限制。
参见表2,表2为本申请示例性示出的调度装置得到的多个热度阈值对应的平均QoS和回源带宽。
表2
S404、调度装置从多个热度阈值中选择目标热度阈值,目标热度阈值对应的平均QoS处于期望平均QoS范围,且目标热度阈值对应的回源带宽不超过期望回源带宽。
继续以表1为例,假设期望平均QoS范围为300至350,期望回源带宽为400,则可以将热度阈值100,确定为目标热度阈值。
在一种可能的实施例中,多个热度阈值中可能有至少两个热度阈值满足对应的平均QoS处于期望平均QoS范围,且对应的回源带宽不超过期望回源带宽,此时,调度装置可以从上述至少两个热度阈值中选择一个确定为目标热度阈值。
可以理解,由于目标热度阈值对应的平均QoS和回源带宽是由调度装置模拟多条第二视频流中热度低于目标热度阈值的视频流进行调度决定,因此,当调度装置实际根据目标热度阈值对多条第二视频流中热度低于目标热度阈值的视频流进行调度时,多个边缘节点130为用户提供的服务的实际平均QoS会与目标热度阈值对应的平均QoS很接近,甚至相同,以及多个边缘节点130与源站110之间的回源带宽会与目标热度阈值对应的回源带宽很接近,甚至相同。由于目标热度阈值对应的平均QoS处于期望平均QoS范围,对应的回源带宽不超过期望回源带宽,因此,多个边缘节点130为用户提供的服务的实际平均QoS通常也处于期望平均QoS范围,且多个边缘节点130与源站110之间的实际回源带宽通常也不会超过期望回源带宽,从而实现这两个指标的平衡。
S405、在目标时间段内,调度装置对多条第二视频流中热度低于目标热度阈值的多条第三视频流进行调度。
在本申请具体的实施例中,调度装置对多条第三视频流进行调度的过程为:
S4051、调度装置将目标热度阈值或者多条第二视频流的热度类别发送给多个边缘节点130。
其中,多条第二视频流的热度类别由调度装置根据目标热度阈值确定。
继续以目标分类阈值为200为例,调度装置可以将多条第二视频流中访问人数大于200的视频流的热度类别确定为热流,将多条第二视频流中访问人数小于或者等于200的视频流的热度类别确定为冷流。
S4052、调度装置接收第一边缘节点发送的对第三视频流的调度请求,
其中,第一边缘节点为多个边缘节点中的任一个,第一边缘节点上未存储第三视频流,第三视频流为在目标时间段内由DNS140根据目标用户的请求调度到第一边缘节点上的视频流。其中,目标用户的请求可以包括目标域名,目标域名可以为直播平台、短视频观看平台等平台的域名。
在一种可能的实施例中,第一边缘节点可以是DNS140在接收到目标用户的请求时根据QoS优先的原则调度的。
S4053、调度装置根据第一边缘节点发送的对第三视频流的调度请求,将第三视频流重定向到第二边缘节点,使得第二边缘节点为目标用户的客户端分发第三视频流。
其中,第二边缘节点上存储有第三视频流,第二边缘节点属于多个边缘节点130。
可以理解,由于第二边缘节点上存储有第三视频流,当调度装置将第三视频流重定向到第二边缘节点时,第二边缘节点可以直接将第三视频流推送至目标用户的客户端,无需回源获取第三视频流,可以节省回源带宽,降低回源成本。
在本申请具体的实施例中,在调度装置将第三视频流重定向到第二边缘节点之前,调度装置可以从多个边缘节点130中确定存储有第三视频流的目标边缘节点,然后从存储有第三视频流的目标边缘节点中确定第二边缘节点,其中,第二边缘节点是存储有第三视频流的目标边缘节点中离目标用户的客户端最近的边缘节点,或者,是存储有第三视频流的目标边缘节点中与目标用户的客户端属于同一运营商的边缘节点,或者,是存储有第三视频流的目标边缘节点与目标用户的客户端属于同一运营商中的边缘节点中距离目标用户的客户端最近的边缘节点,以便为目标用户的客户端提供较好的QoS。
在一种可能的实施例中,在调度装置将第三视频流重定向到第二边缘节点之前,调度装置确定多个边缘节点130中不存在存储有第三视频流的边缘节点,此时,调度装置可以将第一边缘节点确定为第二边缘节点,或者,从多个边缘节点中任选一个与目标用户的客户端属于同一运营商且距离目标用户的客户端较近的边缘节点,确定为第二边缘节点,以便为目标用户的客户端提供较好的QoS。
在一种可能的实现方式中,调度装置可以通过如下方式实现期望平均QoS范围的获取:
A1、调度装置获取多个边缘节点130在第一时间段内分发的多条第一视频流的特征数据。
其中,第一时间段为目标时间段所处的日期内00:00到目标时间段的开始时刻之前的时间段。
A2、调度装置根据A1获取的多条第一视频流的特征数据,计算得到在第一时间段内,多个边缘节点130服务的用户数、多个边缘节点130为用户提供的服务的平均QoS和多个边缘节点130与源站110之间的回源带宽。
A3、调度装置根据多条第一视频流的特征数据,预测得到在目标时间段内,多个边缘节点130服务的用户数。
A4、调度装置根据在第一时间段内多个边缘节点130服务的用户数、多个边缘节点130为用户提供的服务的平均QoS、预测的在目标时间段内多个边缘节点130服务的用户数以及第一平均QoS,计算得到期望平均QoS。
其中,第一平均QoS为云厂商期望的多个边缘节点130在目标时间段所处的日期内00:00到目标时间段的结束时刻之间的时间段内为用户提供的服务的整体平均QoS。具体地,可以参考如下公式计算得到期望平均QoS:
期望平均QoS=[第一平均QoS·(P1+P2)-P1·QoS']/P2
其中,P1为在第一时间段内多个边缘节点130服务的用户数,P2为预测的在目标时间段内多个边缘节点130服务的用户数,QoS'为在第一时间段内多个边缘节点130为用户提供的服务的平均QoS。
A5、调度装置根据期望平均QoS确定期望平均QoS范围。
通过上述实施例可以看出,本申请提供的方法中,调度装置可以通过获取多个边缘节点130上历史分发过的多条第一视频流的特征数据,并根据多条第一视频流的特征数据预测得到多个边缘节点130在目标时间段内即将分发的多条第二视频流的特征数据,然后根据多条第二视频流的特征数据确定目标热度阈值,由于目标热度阈值对应的平均QoS处于期望平均QoS范围,且目标热度阈值对应的回源带宽不超过期望回源带宽,因此,当调度装置在目标时间段内,实际对多条第二视频流中热度低于目标热度阈值的多条第三视频流进行调度时,可以使得多个边缘节点130向用户提供的服务的实际平均QoS处于期望平均QoS范围,且多个边缘节点130与源站110之间的实际回源带宽不超过期望回源带宽,从而实现在目标时间段内,多个边缘节点130与源站110之间的回源带宽和多个边缘节点为用户提供的服务的平均QoS的平衡。
由上述实施例还可以看出,当目标时间段为业务高峰期对应的时间段时,本申请提供的方法可以实现在业务高峰期对应的时间段平衡多个边缘节点130与源站110之间的回源带宽和多个边缘节点130为用户提供的服务的平均QoS的目的。
上文详细阐述了本申请提供的视频流调度方法,基于相同的发明构思,下面继续介绍本申请提供的调度装置500和计算设备600。
参见图5,图5是本申请提供的调度装置500的结构示意图,如图5所示,调度装置500包括:
获取模块510,用于获取多条第一视频流的特征数据,其中,第一视频流为多个边缘节点130上历史分发过的视频流。
预测模块520,用于根据多条第一视频流的特征数据,预测多条第二视频流的特征数据,其中,第二视频流为多个边缘节点130在目标时间段内分发的视频流。
处理模块530,用于根据多条第二视频流的特征数据确定目标热度阈值。
调度模块540,用于在目标时间段内,对多条第三视频流进行调度,以使得多个边缘节点130向用户提供的服务的平均QoS处于期望平均QoS范围,且多个边缘节点130与源站110之间的回源带宽不超过期望回源带宽;其中,多条第三视频流是多条第二视频流中热度低于目标热度阈值的视频流。
在一种可能的实现方式中,调度模块540,具体用于:首先,将目标热度阈值或者多条第二视频流的热度类别发送给多个边缘节点130,然后,接收第一边缘节点发送的对第三视频流的调度请求,最后,将第三视频流重定向到第二边缘节点,其中,多条第二视频流的热度类别由调度模块540根据目标热度阈值确定,第三视频流为在目标时间段内由DNS140根据目标用户的请求调度到第一边缘节点上的视频流,第一边缘节点上未存储第三视频流的媒体数据,第一边缘节点为多个边缘节点130中的任一个,第二边缘节点上存储有第三视频流的媒体数据,第二边缘节点属于多个边缘节点130。
在一种可能的实现方式中,目标热度阈值为多个热度阈值中的一个,多条第一视频流的特征数据,包括:多条第一视频流中每条第一视频流的用户数量、每条第一视频流对应的回源带宽、基于多个热度阈值对多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、多条第一视频流中由调度模块540通过重定向技术调度的第一视频流对应的平均QoS、多条第一视频流中未由调度模块540通过重定向技术调度的第一视频流对应的平均QoS。
在一种可能的实现方式中,多条第一视频流的特征数据,还包括每条第一视频流对应的边缘节点数量。
在一种可能的实现方式中,处理模块530,具体用于:首先,根据多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS与回源带宽,然后,从多个热度阈值中选择目标热度阈值,其中,每个热度阈值对应的平均QoS与回源带宽由调度模块540模拟对多条第二视频流中热度低于热度阈值的视频流进行调度决定,目标热度阈值对应的平均QoS处于期望平均QoS范围,且目标热度阈值对应的回源带宽不超过期望回源带宽。
在一种可能的实现方式中,在调度模块540将第三视频流重定向到第二边缘节点之前,调度模块540,还用于:首先,从多个边缘节点130中确定存储有第三视频流的媒体数据的多个目标边缘节点,然后,从多个目标边缘节点中确定第二边缘节点,第二边缘节点是多个目标边缘节点中离目标用户的客户端最近的边缘节点,或,第二边缘节点是多个目标边缘节点中与目标用户的客户端属于同一运营商的边缘节点,或,第二边缘节点是多个目标边缘节点中与目标用户的客户端属于同一运营商的边缘节点中距离用户最近的边缘节点。
在一种可能的实现方式中,目标时间段为业务高峰期对应的时间段,多条第一视频流为多个边缘节点130在历史日期中的目标时间段内分发过的视频流。
在一种可能的实现方式中,第一边缘节点是由DNS140在接收到目标用户的请求时根据QoS优先的原则调度的。
应理解的是,本申请实施例的调度装置500可以通过中央处理单元(centralprocessing unit,CPU)实现,也可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或通过可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现,在通过软件实现时,调度装置500及其各个模块为软件模块。
在一种可能的实现方式中,本申请提供的调度装置可以集成图2所示的视频流系统中的调度器150,实现该调度器150能够实现的功能。
具体地,上述调度装置500执行各种操作的具体实现,可参照上述视频流调度方法实施例中相关内容中的描述,为了说明书的简洁,这里不再赘述。
应当理解,调度装置500仅为本申请实施例提供的一个示例,并且,调度装置500可具有比图5示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
参见图6,图6是本申请提供的一种计算设备600的结构示意图,计算设备600包括:处理器610、内存单元620、通信接口630、存储器640、输入设备650和输出设备660,其中,处理器610、内存单元620、通信接口630、存储器640、输入设备650、输出设备660之间可以通过总线670相互连接。其中,
处理器610可以读取内存单元620中存储的程序代码(包括指令),执行内存单元620中存储的程序代码,使得计算设备600执行上述方法实施例提供的视频流调度方法中的步骤。
处理器610可以有多种具体实现形式,例如处理器610可以为至少一个中央处理器(central processing unit,CPU),如图6所示,包括CPU0和CPU1,处理器610还可以为图形处理器(graphics processing unit,GPU)等,处理器610还可以是单核处理器或多核处理器。处理器610可以由CPU和硬件芯片的组合。上述硬件芯片可以是ASIC实现,或PLD实现。上述PLD可以是CPLD、FPGA、GAL或其任意组合。处理器610也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或DSP等。内存单元620用于存储内核、程序代码以及处理器610在执行内存单元620中存储的程序代码时所产生的程序数据。其中,程序代码包括:获取模块510的代码、预测模块520的代码、处理模块530的代码和调度模块540的代码等,程序数据包括:多条第一视频流的特征数据、多条第二视频流的特征数据、目标热度阈值等等。
通信接口630可以为有线接口(例如以太网接口、光纤接口、其他类型接口(例如,infiniBand接口))或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算设备或装置进行通信。当通信接口630为有线接口时,通信接口630可以采用TCP/IP之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simple object access protocol,SOAP)协议、简单网络管理协议(simple networkmanagement protocol,SNMP)协议、公共对象请求代理体系结构(common object requestbroker architecture,CORBA)协议以及分布式协议等等。
存储器640可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器640也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
输入设备650可以包括鼠标以及键盘等等。用户可以通过输入设备650向计算设备600输入操作请求。
输出设备660可以包括显示器,输出设备660可以通过显示器向用户呈现数据。
总线670可以是快捷外围部件互连标准(Peripheral Component Interconnectexpress,PCIe)或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。上述总线670可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,根据本申请实施例的计算设备600可对应于本申请实施例中的包括调度装置500的计算设备,并可以对应于执行本申请实施例中图4所示方法中相应主体,并且计算设备600中的各个模块的操作和/或功能分别为了实现图4所示方法的相应流程,为了简洁,在此不再赘述。
应当理解,计算设备600仅为本申请实施例提供的一个示例,并且,计算设备600可具有比图6示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请可以以云服务的形式提供视频流调度方法,其中,云服务可以通过数据中心实现,数据中心中包括如图1所示的服务器或虚拟机,当用户通过网页或应用程序接口(application programming interface,API)发送对视频流的请求时,数据中心可以参照上述图4所示的方法将视频流从第一边缘节点重定向到第二边缘节点,由第二边缘节点为用户分发视频流。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,该指令被运行时可以实现上述实施例中记载的视频流调度方法的部分或者全部步骤。
本申请还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的视频流调度方法的部分或者全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (16)
1.一种视频流调度方法,其特征在于,所述方法应用于视频流系统中的调度装置,所述视频流系统包括源站以及多个边缘节点,所述方法包括:
所述调度装置获取多条第一视频流的特征数据,所述第一视频流为所述多个边缘节点上历史分发过的视频流;
所述调度装置根据所述多条第一视频流的特征数据,预测多条第二视频流的特征数据,所述第二视频流为所述多个边缘节点在目标时间段内分发的视频流;
所述调度装置根据所述多条第二视频流的特征数据确定目标热度阈值;
在所述目标时间段内,所述调度装置对多条第三视频流进行调度,以使得所述多个边缘节点向用户提供的服务的平均服务质量QoS处于期望平均QoS范围,且所述多个边缘节点与所述源站之间的回源带宽不超过期望回源带宽;其中,所述多条第三视频流是所述多条第二视频流中热度低于所述目标热度阈值的视频流。
2.根据权利要求1所述的方法,其特征在于,所述调度装置对多条第三视频流进行调度,包括:
所述调度装置将所述目标热度阈值或者所述多条第二视频流的热度类别发送给所述多个边缘节点;其中,所述多条第二视频流的热度类别由所述调度装置根据所述目标热度阈值确定;
所述调度装置接收第一边缘节点发送的对所述第三视频流的调度请求,所述第三视频流为在所述目标时间段内由域名解析服务器DNS根据目标用户的请求调度到所述第一边缘节点上的视频流,所述第一边缘节点上未存储所述第三视频流的媒体数据,所述第一边缘节点为所述多个边缘节点中的任一个;
所述调度装置将所述第三视频流重定向到第二边缘节点,所述第二边缘节点上存储有所述第三视频流的媒体数据,所述第二边缘节点属于所述多个边缘节点。
3.根据权利要求1或2所述的方法,其特征在于,所述目标热度阈值为多个热度阈值中的一个;
所述多条第一视频流的特征数据,包括:
所述多条第一视频流中每条第一视频流的用户数量、所述每条第一视频流对应的回源带宽、基于所述多个热度阈值对所述多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、所述多条第一视频流中由所述调度装置通过重定向技术调度的第一视频流对应的平均QoS、所述多条第一视频流中未由所述调度装置通过重定向技术调度的第一视频流对应的平均QoS。
4.根据权利要求1-3任一所述的方法,其特征在于,所述调度装置根据所述多条第二视频流的特征数据确定目标热度阈值,包括:
所述调度装置根据所述多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS与回源带宽;其中,所述每个热度阈值对应的平均QoS与回源带宽由所述调度装置模拟对所述多条第二视频流中热度低于所述热度阈值的视频流进行调度决定;
所述调度装置从所述多个热度阈值中选择所述目标热度阈值,其中,所述目标热度阈值对应的平均QoS处于所述期望平均QoS范围,且所述目标热度阈值对应的回源带宽不超过期望回源带宽。
5.根据权利要求2-4任一项所述的方法,其特征在于,在所述调度装置将所述第三视频流重定向到第二边缘节点之前,所述方法还包括:
所述调度装置从所述多个边缘节点中确定存储有所述第三视频流的媒体数据的多个目标边缘节点,从所述多个目标边缘节点中确定所述第二边缘节点,所述第二边缘节点是所述多个目标边缘节点中离所述目标用户的客户端最近的边缘节点,或,所述第二边缘节点是所述多个目标边缘节点中与所述目标用户的客户端属于同一运营商的边缘节点。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标时间段为业务高峰期对应的时间段,所述多条第一视频流为所述多个边缘节点在历史日期中的所述目标时间段内分发过的视频流。
7.根据权利要求2所述的方法,其特征在于,所述第一边缘节点是由所述DNS在接收到所述目标用户的请求时根据QoS优先的原则调度的。
8.一种调度装置,其特征在于,所述装置应用于视频流系统,所述视频流系统包括源站以及多个边缘节点,所述装置包括:
获取模块,用于获取多条第一视频流的特征数据,所述第一视频流为所述多个边缘节点上历史分发过的视频流;
预测模块,用于根据所述多条第一视频流的特征数据,预测多条第二视频流的特征数据,所述第二视频流为所述多个边缘节点在目标时间段内分发的视频流;
处理模块,用于根据所述多条第二视频流的特征数据确定目标热度阈值;
调度模块,用于在所述目标时间段内,对多条第三视频流进行调度,以使得所述多个边缘节点向用户提供的服务的平均QoS处于期望平均QoS范围,且所述多个边缘节点与所述源站之间的回源带宽不超过期望回源带宽;其中,所述多条第三视频流是所述多条第二视频流中热度低于所述目标热度阈值的视频流。
9.根据权利要求8所述的装置,其特征在于,所述调度模块,具体用于:将所述目标热度阈值或者所述多条第二视频流的热度类别发送给所述多个边缘节点;其中,所述多条第二视频流的热度类别由所述调度模块根据所述目标热度阈值确定;
接收第一边缘节点发送的对所述第三视频流的调度请求,所述第三视频流为在所述目标时间段内由DNS根据目标用户的请求调度到所述第一边缘节点上的视频流,所述第一边缘节点上未存储所述第三视频流的媒体数据,所述第一边缘节点为所述多个边缘节点中的任一个;
将所述第三视频流重定向到第二边缘节点,所述第二边缘节点上存储有所述第三视频流的媒体数据,所述第二边缘节点属于所述多个边缘节点。
10.根据权利要求8或9所述的装置,其特征在于,所述目标热度阈值为多个热度阈值中的一个;
所述多条第一视频流的特征数据,包括:
所述多条第一视频流中每条第一视频流的用户数量、所述每条第一视频流对应的回源带宽、基于所述多个热度阈值对所述多条第一视频流进行划分分别得到的每个热度阈值对应的各个热度类别的视频流的数量、所述多条第一视频流中由所述调度模块通过重定向技术调度的第一视频流对应的平均QoS、所述多条第一视频流中未由所述调度模块通过重定向技术调度的第一视频流对应的平均QoS。
11.根据权利要求8-10任一所述的装置,其特征在于,所述处理模块,具体用于:
根据所述多条第二视频流的特征数据,确定多个热度阈值分别对应的平均QoS与回源带宽;其中,所述每个热度阈值对应的平均QoS与回源带宽由所述调度模块模拟对所述多条第二视频流中热度低于所述热度阈值的视频流进行调度决定;
从所述多个热度阈值中选择所述目标热度阈值,其中,所述目标热度阈值对应的平均QoS处于所述期望平均QoS范围,且所述目标热度阈值对应的回源带宽不超过期望回源带宽。
12.根据权利要求9-11任一项所述的装置,其特征在于,在所述调度模块将所述第三视频流重定向到第二边缘节点之前,所述调度模块,还用于:
从所述多个边缘节点中确定存储有所述第三视频流的媒体数据的多个目标边缘节点,从所述多个目标边缘节点中确定所述第二边缘节点,所述第二边缘节点是所述多个目标边缘节点中离所述目标用户的客户端最近的边缘节点,或,所述第二边缘节点是所述多个目标边缘节点中与所述目标用户的客户端属于同一运营商的边缘节点。
13.根据权利要求8-12任一项所述的装置,其特征在于,所述目标时间段为业务高峰期对应的时间段,所述多条第一视频流为所述多个边缘节点在历史日期中的所述目标时间段内分发过的视频流。
14.根据权利要求9所述的装置,其特征在于,所述第一边缘节点是由所述DNS在接收到所述目标用户的请求时根据QoS优先的原则调度的。
15.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器用于存储计算机指令,所述计算设备运行时,所述处理器执行所述计算机指令以实现所述权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有指令,所述指令用于实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111128307.6A CN115883872A (zh) | 2021-09-26 | 2021-09-26 | 视频流调度方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111128307.6A CN115883872A (zh) | 2021-09-26 | 2021-09-26 | 视频流调度方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883872A true CN115883872A (zh) | 2023-03-31 |
Family
ID=85762505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111128307.6A Pending CN115883872A (zh) | 2021-09-26 | 2021-09-26 | 视频流调度方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883872A (zh) |
-
2021
- 2021-09-26 CN CN202111128307.6A patent/CN115883872A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9986062B2 (en) | Quality of service for distribution of content to network devices | |
US8140698B2 (en) | Method and system for efficient data transmission in interactive networked environments | |
EP2704402B1 (en) | Method and node for distributing electronic content in a content distribution network | |
KR101560115B1 (ko) | 멀티플렉싱 및 대역폭 제어 기능을 갖는 신뢰가능한 이벤트 브로드캐스터 | |
CN107251569B (zh) | 动态内容分发网络分配系统 | |
US7283472B2 (en) | Priority-based efficient fair queuing for quality of service classification for packet processing | |
CN101132373A (zh) | 为流提供服务质量的方法 | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
CN105164982A (zh) | 通过指派丢弃优先级来管理流之间的带宽分配 | |
Um et al. | Dynamic Resource Allocation and Scheduling for Cloud‐Based Virtual Content Delivery Networks | |
CN112543357B (zh) | 一种基于dash协议的流媒体数据传输方法 | |
US8626924B2 (en) | Apparatus and method for providing computing resources | |
US9197712B2 (en) | Multi-stage batching of content distribution in a media distribution system | |
US20070276933A1 (en) | Providing quality of service to prioritized clients with dynamic capacity reservation within a server cluster | |
Nguyen et al. | An adaptive streaming method of 360 videos over HTTP/2 protocol | |
CN109688421B (zh) | 请求消息处理方法、装置及系统、服务器、存储介质 | |
WO2022268032A1 (zh) | 一种视频流调度系统及相关产品 | |
CN110247847B (zh) | 节点之间回源选路的方法和装置 | |
CN115883872A (zh) | 视频流调度方法、装置、设备及计算机可读存储介质 | |
CN113824689B (zh) | 边缘计算网络、数据传输方法、装置、设备和存储介质 | |
US11201901B2 (en) | Methods and systems for streaming media data over a content delivery network | |
US11082349B2 (en) | System and method for optimizing communication latency | |
CN115037696B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN114245225B (zh) | 用于经由内容分发网络流式传输媒体数据的方法及系统 | |
CN117687767A (zh) | 一种资源规划的方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |