CN115942007A - 直播流调度方法及装置 - Google Patents
直播流调度方法及装置 Download PDFInfo
- Publication number
- CN115942007A CN115942007A CN202211676585.XA CN202211676585A CN115942007A CN 115942007 A CN115942007 A CN 115942007A CN 202211676585 A CN202211676585 A CN 202211676585A CN 115942007 A CN115942007 A CN 115942007A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- target
- edge node
- stream
- live stream
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002360 explosive Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供直播流调度方法及装置,其中所述直播流调度方法包括:响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;调用所述第一目标边缘节点反馈所述目标直播流。通过预测一个流在未来可能会产生多少带宽,并且尽可能调用剩余带宽充足的边缘节点,可以减少针对同一个直播流所调用的边缘节点的数量,避免回源增多的问题。而且,由于为直播流分配的是剩余带宽充足的边缘节点,可以一定程度上避免边缘节点超载。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种直播流调度方法。本申请同时涉及一种直播流调度装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的不断发展,网络社交平台越来越火爆,网络社交平台上的直播逐渐成为受欢迎的实时互动形式。
现有技术中,在观众观看直播时,由调度系统根据用户的位置,确定能够覆盖用户的边缘节点,然后这些边缘节点中选择有剩余带宽的边缘节点,然后由该边缘节点给观众推送直播流。当一个边缘节点上的带宽满了之后,会在筛选时被排除掉,然后在有剩余带宽的边缘节点重新选择一个边缘节点给观众推送直播流。然而,上述方法需要相关服务去定时采集边缘节点的带宽,基于带宽本身延迟大,边缘节点容易超载,且对于热度高直播流的调度,回源次数依然较多。因此,亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本申请实施例提供了一种直播流调度方法。本申请同时涉及一种直播流调度装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的容易超载和回源次数多的技术缺陷。
根据本申请实施例的第一方面,提供了一种直播流调度方法,包括:
响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;
基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;
将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;
调用所述第一目标边缘节点反馈所述目标直播流。
可选地,所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
采集各边缘节点所推送的每个直播流产生的当前已用带宽;
针对每个边缘节点,根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,其中,所述服务状态信息包括所述边缘节点允许承接的剩余带宽。
可选地,所述根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,包括:
针对当前边缘节点所推送的每个直播流,根据当前直播流产生的当前已用带宽和预测带宽,确定当前直播流对应的目标带宽;
根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息。
可选地,所述根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息,包括:
将所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽之和相减,得到更新的剩余带宽;
基于所述更新的剩余带宽,更新当前边缘节点的服务状态信息。
可选地,所述基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽,包括:
从所述历史带宽记录,获取目标主播对应的多个历史目标带宽,其中,所述目标主播为目标直播流所关联的主播;
将所述多个历史目标带宽输入至预训练的带宽预测模型中,得到所述目标直播流对应的预测带宽。
可选地,其特征在于,所述将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点,包括:
获取各边缘节点的服务状态信息,其中,所述服务状态信息包括边缘节点允许承接的剩余带宽;
将所述剩余带宽大于所述预测带宽的边缘节点,确定为第一目标边缘节点。
可选地,所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
判断所述调度请求是否为首发调度请求,其中,所述首发调度请求为拉流后的第一个调度请求;
若是,则执行所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录的步骤。
可选地,所述判断所述调度请求是否为首发调度请求之后,还包括:
若否,将所述第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较;
在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流对应的超量带宽;
将所述超量带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第二目标边缘节点;
调用所述第二目标边缘节点反馈所述目标直播流。
可选地,所述在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流的超量带宽之前,还包括:
获取所述第一目标边缘节点上所述目标直播流产生的当前已用带宽;
判断所述目标直播流产生的当前已用带宽是否大于所述目标直播流对应的预测带宽;
若是,则判断所述第一目标边缘节点允许承接的剩余带宽是否达到所述带宽阈值。
可选地,所述将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点之后,还包括:
根据所述目标直播流对应的预测带宽,更新所述第一目标边缘节点的服务状态信息。
根据本申请实施例的第二方面,提供了一种直播流调度装置,包括:
获取模块,被配置为响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;
预测模块,被配置为基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;
确定模块,被配置为将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;
反馈模块,被配置为调用所述第一目标边缘节点反馈所述目标直播流。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述直播流调度方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述直播流调度方法的步骤。
本申请提供的直播流调度方法,响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;调用所述第一目标边缘节点反馈所述目标直播流。通过历史带宽记录,预测目标直播流可能会产生的带宽,即预测带宽,如此,在调度的时候就考虑直播流的热度变化,知道一个流在未来可能会产生多少带宽,并且尽可能调用剩余带宽充足的边缘节点,可以减少针对同一个直播流所调用的边缘节点的数量,避免回源增多的问题。而且,由于为直播流分配的是剩余带宽充足的边缘节点,可以一定程度上避免边缘节点超载。
附图说明
图1是现有技术提供的一种直播流调度方法的处理流程示意图;
图2是本申请一实施例提供的一种直播流调度方法的流程图;
图3是本申请一实施例提供的一种直播流调度方法的处理过程示意图;
图4是本申请一实施例提供的一种直播流调度装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
直播流:连续的流通过网络传输给观众观看
直播房间:直播服务中,每个主播会有一个唯一标识符,以标识符可以进入该主播的直播观看页面。一般而言,一个房间对应一个直播流,流是对于内容分发网络(CDN,ContentDeliveryNetwork)而言的,房间是对于直播平台而言。
直播上行:主播推流到流媒体服务器的部分,即直播上行或推流。
直播下行:用户从流媒体服务器或者CDN进行拉流观看的部分,即直播下行或拉流。
边缘计算:是一种分布式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。
边缘计算节点:接收用户推送的直播流的服务器,即推流节点或边缘上行节点。
边缘下行节点:为用户推送的直播流的服务器,即拉流节点或进行拉流的边缘节点。
ARIMA(AutoregressiveIntegratedMovingAveragemodel)是时间序列预测分析方法之一,全称叫做自回归差分移动平均模型。
然后,对本申请提供的直播流调度方法进行简要说明。
随着计算机技术的不断发展,网络社交平台越来越火爆,网络社交平台上的直播逐渐成为受欢迎的实时互动形式。
现有技术中,在观众观看直播时,由调度系统根据用户的位置,确定能够覆盖用户的边缘节点(拉流节点),然后这些边缘节点中选择有剩余带宽的边缘节点,然后由该边缘节点给观众推送直播流。当一个边缘节点上的带宽满了之后,会在筛选时被排除掉,然后在有剩余带宽的边缘节点重新选择一个边缘节点给观众推送直播流。
具体地,参见图1,图1示出了现有技术提供的一种直播流调度方法的处理流程示意图。对于直播流程而言,主播将直播流推送到边缘计算节点,然后用户(观众)下行观看直播时,播放器向调度系统请求直播流的播放地址。调度系统根据用户所在位置,筛选出能够覆盖用户的边缘节点,再从中筛选出还有剩余带宽的边缘节点(每个边缘节点有配置带宽和实时使用带宽,剩余带宽为配置带宽与实时使用带宽的差)。在符合调度的边缘节点中进行哈希(hash)处理,选择一个边缘节点,进行调度给用户,即由该边缘节点给观众推送直播流。哈希处理可以尽可能地让一个边缘节点服务用户,可以减少机器回源二级源站的带宽。当一个边缘节点的上带宽满了之后,该边缘节点会在筛选过程中被排除掉,然后在有剩余带宽的边缘节点中,重新哈希处理,然后调度到另一个边缘节点给观众推送直播流。例如,A节点的带宽满了,在下次用户请求的时候,调度系统会调用B节点给观众推送直播流。
然而,上述方法存在以下几种问题:
带宽本身延迟大,边缘节点容易超载:边缘节点的带宽是需要相关服务去定时采集的,少则1分钟的延迟,多则几分钟的延迟,而对于调度系统而言,用户在带宽更新的时间段进行访问,如果调度出去一个边缘节点的数量太多次,可能会导致该边缘节点的带宽直接超过配置带宽。例如节点A配置带宽10G,实时使用带宽9G,剩余1G,在下一次更新实时带宽前,调度系统均拿到的是1G的剩余带宽,调度系统认为A节点带宽始终是足够的,所以一直调度,很有可能产生调度1000次,以一个流的码率为4M计算,则产生4G带宽。那么A节点就会产生超载现象。
对于热度高的直播流(能够产生较大带宽的直播流)进行调度,回源次数依然较多:上述方法中,先把一个边缘节点的带宽用完后,再调度另一个边缘节点。这样的调度对于观看人数较少的直播流是可行,当直播流的热度比较高时,观看人数比较多的时候,如果刚刚开始有2个满足调度的A节点和B节点,剩余带宽分别为1G和100G,哈希处理后调用了A节点,则A节点的带宽迟早会被打满,之后还是会调用B节点,这个时候A节点和B节点都会回源二级源站,此时将产生2路回源。如果有A节点、B节点和C节点,A节点和B节点的剩余带宽都比较小,则会产生3路回源,依次类推,基于带宽的碎片化,回源的次数不可控。
边缘节点超载严重影响质量,用户观看体验变差:当边缘节点超载后,边缘节点上的带宽已经不够用了,用户拉流会产生卡顿现象,观看也会卡顿,一定程度降低用户的观看体验,严重的超载还会直接导致边缘节点重启,该边缘节点上的所有用户都会被断流,观看黑屏。
流码率的不一致性:很多调度针对带宽本身延迟大的问题,通常采用调度计数的方式,例如剩余带宽为1G,调度N次后,就不再调度,防止在一瞬间调度太多了。但是流的码率不同,拉流产生的带宽也是不同的。1G的剩余带宽,对于1M的流可以调度1000次,对于10M的流只能调度100次,所以一个单纯的N是不具有可参考性的。
因此,本申请提供了一种直播流调度方法,响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;调用所述第一目标边缘节点反馈所述目标直播流。通过历史带宽记录,预测目标直播流可能会产生的带宽,即预测带宽,如此,在调度的时候就考虑直播流的热度变化,知道一个流在未来可能会产生多少带宽,并且尽可能调用剩余带宽充足的边缘节点,可以减少针对同一个直播流所调用的边缘节点的数量,避免回源增多的问题。而且,由于为直播流分配的是剩余带宽充足的边缘节点,可以一定程度上避免边缘节点超载。
在本申请中,提供了一种直播流调度方法,本申请同时涉及一种直播流调度装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图2示出了根据本申请一实施例提供的一种直播流调度方法的流程图,具体包括以下步骤:
步骤202:响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录。
具体地,目标直播流是指用户想要观看的直播对应的多媒体流。调度请求是指调度接收直播流的边缘节点的请求。历史带宽记录是指目标直播流所关联的一些直播流的历史观看产生的带宽记录。
实际应用中,用户或观众通过客户端进入某个直播间观看直播时,客户端会向调度系统发送针对该直播间对应的目标直播流的观看请求,即针对目标直播流的调度请求,相应地,调度系统接收到针对目标直播流的调度请求。
进一步地,调度系统可以根据目标直播流获取目标直播流的对应的历史带宽记录:调度请求中可以携带有目标直播流的流标识,调度系统基于流标识,从第一数据存储区获取与流标识关联的历史带宽记录,其中,第一数据存储区中历史带宽记录与流标识关联存储。调度请求中还可以携带有目标直播流对应的直播间的房间标识,调度系统基于房间标识,从第二数据存储区获取与房间标识关联的历史带宽记录,其中,第二数据存储区中历史带宽记录与房间标识关联存储。调度请求中也可以携带有目标直播流对应的主播的主播标识,调度系统基于主播标识,从第三数据存储区获取与主播标识关联的历史带宽记录,其中,第三数据存储区中历史带宽记录与主播标识关联存储。本说明书对目标直播流关联的历史带宽记录的方式不作任何限定。
需要说明的是,在所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
采集各边缘节点所推送的每个直播流产生的当前已用带宽;
针对每个边缘节点,根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,其中,所述服务状态信息包括所述边缘节点允许承接的剩余带宽。
具体地,边缘节点是指边缘下行节点,即给用户反馈直播流的节点。当前已用带宽是指针对某个直播流,所有用户观看该直播流对应的直播所产生的带宽。剩余带宽是指边缘节点可以还允许承接的带宽。服务状态信息是指记录边缘节点在进行服务过程中的状态信息,包括剩余带宽。
实际应用中,可以在接收到调度请求后,对各边缘节点所推送的每个直播流产生的当前已用带宽进行采集,还可以定期地采集各边缘节点所推送的每个直播流产生的当前已用带宽,即每间隔预设时长,采集各边缘节点所推送的每个直播流产生的当前已用带宽。
例如,边缘节点M给观众推送的直播流有3个,则分别获取这三个直播流的当前已用带宽。
进一步地,针对每个边缘节点,根据当前边缘节点所推送的每个直播流产生的当前已用带宽,对当前边缘节点的服务状态信息进行更新。
可选地,在更新当前边缘节点的服务状态信息时,可以根据当前边缘节点所推送的每个直播流产生的当前已用带宽,计算当前边缘节点的实时使用带宽,然后将当前边缘节点的配置带宽与实时使用带宽的差作为允许承接的剩余带宽,根据实时使用带宽和剩余带宽更新当前边缘节点的服务状态信息。如此,通过简单的计算,即可确定配置带宽与实时使用带宽,减少了数据处理量,提高了配置带宽与实时使用带宽的确定效率,以及服务状态信息的更新效率。
可选地,在更新当前边缘节点的服务状态信息时,还可以基于当前已用带宽确定目标带宽,进而基于目标带宽更新服务状态信息。也即,所述根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,具体实现过程可以如下:
针对当前边缘节点所推送的每个直播流,根据当前直播流产生的当前已用带宽和预测带宽,确定当前直播流对应的目标带宽;
根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息。
具体地,预测带宽是指预测某直播流将会产生的带宽。带宽总量是指边缘节点的配置带宽。
实际应用中,针对当前边缘节点所推送的每个直播流,获取当前直播流对应的预测带宽:可以对当前直播流进行预测,得到预测带宽,或者从服务状态信息中获取当前直播流对应的预测带宽,又或者对当前直播流进行识别,若当前直播流不是热流,则确定当前直播流的预测带宽为设定带宽,如0。
进一步地,将当前直播流产生的当前已用带宽和预测带宽进行比较,进而确定当前直播流对应的目标带宽:可以将当前已用带宽和预测带宽中较大的一个确定为目标带宽;也可以将当前已用带宽和预测带宽的均值确定为目标带宽。进而,根据当前边缘节点允许承接的带宽总量与每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息。
如此,通过当前已用带宽和预测带宽,确定当前直播流对应的目标带宽,进而基于当前边缘节点允许承接的带宽总量与每个直播流对应的目标带宽,更新服务状态信息,在简化计算、减少数据处理量的同时,基于目标带宽更新服务服务状态信息,可以提高服务状态信息的可靠性,进而提高直播流调度请求的可靠性。
在本说明书一个可实现的方法中,所述根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息,具体实现过程可以如下:
将所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽之和相减,得到更新的剩余带宽;
基于所述更新的剩余带宽,更新当前边缘节点的服务状态信息。
实际应用中,先将当前节点所推送的每个直播流对应的目标带宽进行相加,得到已分配带宽,然后将带宽总量与已分配带宽相减,得到当前边缘节点当前允许承接的剩余带宽,即更新的剩余带宽,然后使用更新的剩余带宽替换服务状态信息中的剩余带宽,即对当前边缘节点的服务状态信息进行更新。如此,能够快速确定服务状态信息。
可选地,服务状态信息可以包括带宽总量(配置带宽)、实时带宽(当前实际产生的带宽)、已分配带宽(预分配带宽总量)、剩余带宽和预分配的流列表。
步骤204:基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽。
具体地,预测带宽是指预测某直播流将会产生的带宽。
实际应用中,可以从历史带宽记录,获取目标直播流所关联的多个历史目标带宽,然后根据多个历史目标带宽进行预测,得到目标直播流对应的预测带宽。
可选地,所述基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽,具体实现过程可以如下:
从所述历史带宽记录,获取目标主播对应的多个历史目标带宽,其中,所述目标主播为目标直播流所关联的主播;
将所述多个历史目标带宽输入至预训练的带宽预测模型中,得到所述目标直播流对应的预测带宽。
具体地,历史目标带宽是指目标主播之前进行直播时,每次直播对应直播流产生带宽的最大值。带宽预测模型是指预训练的进行带宽预测的模型,如ARIMA时间序列分析预测模型。
实际应用中,可以从历史带宽记录中,获取目标主播每次进行直播的历史目标带宽,历史目标带宽的数量与历史记录中目标主播进行直播的次数相同。然后,将多个历史目标带宽输入值带宽预测模型中进行预测,得到目标直播流对应的预测带宽。如此,通过带宽预测模型对预测带宽进行预测,可以提高预测带宽的准确率和确定效率。
示例性地,对目标直播流对应的目标主播进行直播的历史观看产生的带宽进行统计,得到历史带宽记录。其中,历史带宽记录的以6个月为长周期、以天为短周期,计算在一天内,如果目标主播开播推流产生带宽的最大值,即历史目标带宽,进而得到N个历史目标带宽。然后将N个历史目标带宽输入至ARIMA时间序列分析预测模型,预测直播流对应的预测带宽。
可选地,基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽,具体实现过程还可以为:从所述历史带宽记录,获取目标主播对应的多个历史目标带宽,其中,所述目标主播为目标直播流所关联的主播;将所述多个历史目标带宽的加权和确定为所述目标直播流对应的预测带宽。如此,可以提高预测带宽的确定效率。
步骤206:将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点。
具体地,剩余带宽是指边缘节点可以还允许承接的带宽。
可选地,可以先获取各边缘节点允许承接的剩余带宽,然后根据将目标直播流的预测带宽与各边缘节点允许承接的剩余带宽确定第一目标边缘节点。即,所述将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点,具体实现过程可以如下:
获取各边缘节点的服务状态信息,其中,所述服务状态信息包括边缘节点允许承接的剩余带宽;
将所述剩余带宽大于所述预测带宽的边缘节点,确定为第一目标边缘节点。
具体地,服务状态信息是指记录边缘节点在进行服务过程中的状态信息,包括剩余带宽。
实际应用中,可以从机器状态系统中获取各边缘节点的服务状态信息,将服务状态信息中边缘节点允许承接的剩余带宽与目标直播流对应的预测带宽进行比较,若剩余带宽大于预测带宽,则说明该边缘节点有足够的带宽推送目标直播流,则确定该边缘节点为第一目标边缘节点。
可选地,还可以将各边缘节点允许承接的剩余带宽与带宽总量进行比较,将剩余带宽与带宽总量确定为备选边缘节点,然后再将目标直播流的预测带宽与各备选边缘节点允许承接的剩余带宽进行比较,将剩余带宽等于预测带宽的备选边缘节点,确定为第一目标边缘节点。如此,可以将第一目标边缘节点确定为目标边缘节点的专用边缘节点,只为目标直播流进行推送。
需要说明的是,在将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点之后,还包括:
根据所述目标直播流对应的预测带宽,更新所述第一目标边缘节点的服务状态信息。
实际应用中,服务状态信息可以包括带宽总量(配置带宽)、实时带宽(当前实际产生的带宽)、已分配带宽(预分配带宽总量)、剩余带宽和预分配的流列表。可以基于目标直播流对应的预测带宽,更新第一目标边缘节点的服务状态信息中的已分配带宽、剩余带宽和预分配的流列表等。
示例性地,设有边缘节点A的带宽总量,即配置带宽为10G,边缘节点B的配置带宽为5G,边缘节点C的配置带宽为10G,用状态系统记录边缘节点A和B的服务状态信息。服务状态信息记录以下内容:配置带宽(能够支持的最大带宽)、预分配带宽总量、剩余带宽和预分配的流列表。
当请求直播流或者播放地址的时候,a流预测产生7G带宽,b流预计产生3G带宽,c流预计产生0.01G带宽。对于a流,只有边缘节点A剩余带宽足够,所以刚刚开始就将a流分配给A机器。边缘节点A的服务状态信息为:配置带宽:10G;实时带宽:当前实际产生的量;预分配带宽总量:7G;剩余带宽:配置带宽-max(预分配带宽,实际预分配流产生的实时带宽)-除预分配流的流产生的带宽=10G-7G-0G=3G;预分配的流列表:【a】。
需要说明的是,因为刚刚开始调度,所以除预分配流的流产生的带宽为0;由于直播流完全可以超过预测带宽,所以取预分配带宽和实际预分配流产生的实时带宽中的最大值。
b流请求的时候,边缘节点A剩余带宽为3G,边缘节点B剩余带宽为5G,所以b流被分配给边缘节点B,B机器的服务状态信息为:配置带宽:5G;实时带宽:当前实际产生的量;预分配带宽总量:3G;剩余带宽:配置带宽-max(预分配带宽,实际预分配流产生的实时带宽)-除预分配流的流产生的带宽=2G;预分配的流列表:【b】。
对于c流,这种流预测产生的带宽极小,即c流为冷流,而边缘节点A和B均满足调度条件,则可以任意选择一个边缘节点调度,假设调度给边缘节点A,边缘节点A的服务状态信息为:配置带宽:10G;实时带宽:当前实际产生的量;预分配带宽总量:7G;剩余带宽:配置带宽-max(预分配带宽,实际预分配流产生的实时带宽)-除预分配流的流产生的带宽(c流产生的带宽);预分配的流列表:【a】。
步骤208:调用所述第一目标边缘节点反馈所述目标直播流。
实际应用中,在确定了第一目标边缘节点后,可以将调用第一目标边缘节点对目标直播流进行回源,并将第一目标边缘节点上目标直播流对应的播放地址反馈给用户,由用户基于播放地址向第一目标边缘节点请求目标直播流,然后第一目标边缘节点将目标直播流反馈给用户。
需要说明的是,无论调度请求是否为首发调度请求,均可以采用上述方法进行处理。但是为了避免重复对目标直播流进行带宽预测,对于仅对首发调度请求进行上述处理。也即所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
判断所述调度请求是否为首发调度请求,其中,所述首发调度请求为拉流后的第一个调度请求;
若是,则执行所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录的步骤。
具体地,首发调度请求即主播开播后,第一个请求该目标直播流的请求,即拉流后的第一个调度请求。
实际应用中,调度系统可以根据记录目标直播流的调度次数,并根据调度次数判断该调度请求是否为首发调度请求,若调度请求是首发调度请求,则响应于针对目标直播流的调度请求,获取目标直播流关联的历史带宽记录。如此,可以避免每次接收到针对目标直播流的调度请求后,均需要获取历史带宽记录并进行带宽预测,降低了数据处理量,避免资源浪费。
可选地,在调度请求为非首发调度请求的情况下,还可以将第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较,根据比较结果确定调度策略。即所述判断所述调度请求是否为首发调度请求之后,还包括:
若否,将所述第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较;
在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流对应的超量带宽;
将所述超量带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第二目标边缘节点;
调用所述第二目标边缘节点反馈所述目标直播流;
在所述第一目标边缘节点允许承接的剩余带宽高于所述带宽阈值的情况下,调用所述第一目标边缘节点反馈所述目标直播流。
具体地,带宽阈值为预先设置的带宽,用于衡量剩余带宽是否足够进行调度。超量带宽是指预测的目标直播流未来还会产生的带宽。
实际应用中,在调度请求不是首发调度请求的情况下,第一目标边缘节点已经开始为用户反馈目标直播流,此时可以将第一目标边缘节点的剩余带宽与带宽阈值进行比较,确定第一目标边缘节点是否可以继续被调度。若剩余带宽高于带宽阈值,说明第一目标边缘节点的剩余带宽充足,可以继续被调用,为用户反馈目标直播流;若剩余带宽低至带宽阈值或者低于,则说明第一目标边缘节点的剩余带宽不充足,可以根据目标直播流产生的当前已用带宽,计算目标直播流对应的超量带宽,并根据超量带宽分别与各边缘节点允许承接的剩余带宽进行比较,将剩余带宽高于超量带宽的边缘节点,确定第二目标边缘节点,由第二目标边缘节点反馈目标直播流。
由于剩余带宽更新延时长,导致真实的剩余带宽低于获取到的剩余带宽,设置带宽阈值可以避免带宽本身延迟大造成的节点超载的现象,进而避免断流,有利于提高用户使用粘度和效率。
需要说明的是,根据目标直播流产生的当前已用带宽,计算目标直播流对应的超量带宽,可以为:将当前已用带宽与第一设定数值相乘,得到目标直播流对应的超量带宽,如第一设定数值为0.5,当前已用带宽为7G,则超量带宽为3.5G;也可以为:将当前已用带宽与第二设定数值相减,得到目标直播流对应的超量带宽,如第二设定数值为2G,当前已用带宽为7G,则超量带宽为5G。
此外,调用第二目标边缘节点反馈目标直播流的过程,与调用第一目标边缘节点反馈目标直播流的过程相同,为避免重复,此处不再赘述。
可选地,在调度请求不是首发调度请求的情况下,可以直接将第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较,如此,可以简化流程,进而减少数据处理量,提高调度效率。
可选地,在调度请求不是首发调度请求的情况下,还可以先判断目标直播流产生的当前已用带宽是否大于目标直播流对应的预测带宽,进而根据判断结构执行对应的调度策略。也即所述在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流的超量带宽之前,还包括:
获取所述第一目标边缘节点上所述目标直播流产生的当前已用带宽;
判断所述目标直播流产生的当前已用带宽是否大于所述目标直播流对应的预测带宽;
若是,则判断所述第一目标边缘节点允许承接的剩余带宽是否达到所述带宽阈值;
若否,则调用所述第一目标边缘节点反馈所述目标直播流。
实际应用中,调度请求为非首发调度请求的情况下,第一目标边缘节点已经开始为用户反馈目标直播流。此时可以先获取第一目标边缘节点上目标直播流产生的当前已用带宽,如从第一目标边缘节点的服务状态信息中获取。然后将目标直播流产生的当前已用带宽和目标直播流对应的预测带宽进行比较。若当前已用带宽低于或等于预测带宽,则说明第一目标边缘节点的剩余带宽充足,可以继续被调用,为用户反馈目标直播流,即调用第一目标边缘节点反馈所述目标直播流。若当前已用带宽大于预测带宽,则需要执行判断述第一目标边缘节点允许承接的剩余带宽是否达到所述带宽阈值的步骤,进一步确定第一目标边缘节点的剩余带宽是否充足。如此,先将当前已用带宽与预测带宽进行比较,在当前已用带宽不大于预测带宽的情况下,快速调用第一目标边缘节点,在当前已用带宽大于预测带宽的情况下,继续判断第一目标边缘节点的剩余带宽充足。双重判断可以提高判断准确率,进而提高直播流调度的可靠性。
参见图3,图3示出了本申请一实施例提供的一种直播流调度方法的处理过程示意图:
①机器状态服务定期去所有边缘节点(A节点、B节点和C节点)上采集所有流的当前已用带宽,并更新到机器状态服务存储的服务状态信息。
②用户进行调度请求,获取播放地址,请求流a。(假设此时是开播后,第一个用户请求流a)。
③调度系统根据区域覆盖,可以选择A节点或者B节点。调度系统查询流热度系统,流热度系统根据历史带宽记录进行预测,返回a流的预测带宽,如7G。查询A节点和B节点的服务状态信息,发现A节点的剩余带宽为10G,B节点的剩余带宽为5G,所以选择A节点进行调度,并且更新机器状态服务中A节点的服务状态信息。返回给用户机器A上的播放地址。
④此时另一个用户请求a流,查询各节点的服务状态信息,发现A节点已经预分配了a流,则在满足A节点不超过预测带宽的情况下,后续a流的均调度给A节点。当a流的当前已用带宽流量超过预测带宽,即实时观看的人数,超过了预分配的预测带宽并且A节点的剩余带宽低于带宽阈值,则重新选取目标边缘节点(选点)。假设a流的预测带宽为7G,理论上A节点的剩余带宽为3G,但由于后续其他流也会被调度到A节点上,占用流剩余的3G带宽,则A节点的剩余带宽不足了。实际上7G被全部使用完毕,后续请求a流,会进入⑤。
⑤重新选点的过程中,超量带宽=当前已用带宽*0.5=7G*0.5=3.5G,先预测未来的带宽还会增长50%,剩余的边缘节点中,按照剩余带宽大于超量带宽的要求继续选取目标边缘节点。假设选取了C节点,并且更新C的服务状态信息。返回给用户C机器的播放地址。
⑥后续a流的请求,查询机器状态系统中各边缘节点的服务状态信息,发现A节点和C节点均有a流的预分配记录,但是A节点的剩余带宽很低流,所以会调度给C节点。依次类推,随着实时带宽(当前使用带宽)的增长,调用的目标边缘节点的数量会动态增加,也不会产生多余的回源。
本申请提供的直播流调度方法,响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;调用所述第一目标边缘节点反馈所述目标直播流。通过历史带宽记录,预测目标直播流可能会产生的带宽,即预测带宽,如此,在调度的时候就考虑直播流的热度变化,知道一个流在未来可能会产生多少带宽,并且尽可能调用剩余带宽充足的边缘节点,可以减少针对同一个直播流所调用的边缘节点的数量,避免回源增多的问题。而且,由于为直播流分配的是剩余带宽充足的边缘节点,可以一定程度上避免边缘节点超载。
例如,一个直播流的预测带宽为10G,则在满足剩余带宽分别5G和15G的边缘节点中,优先调用剩余带宽为15G的边缘节点,避免回源增多的问题。此外,对边缘节点的上预分配的状态进行记录,及更新服务状态信息,可以防止调度到剩余带宽为15G的边缘节点中,但是后续在观看人数还没有上来的时候,其他的流被分配到该边缘节点上,把剩余带宽消耗完了。
与上述方法实施例相对应,本申请还提供了直播流调度装置实施例,图4示出了本申请一实施例提供的一种直播流调度装置的结构示意图。如图4所示,该装置包括:
获取模块402,被配置为响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;
预测模块404,被配置为基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;
确定模块406,被配置为将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;
反馈模块408,被配置为调用所述第一目标边缘节点反馈所述目标直播流。
可选地,所述装置还包括采集模块,被配置为:
采集各边缘节点所推送的每个直播流产生的当前已用带宽;
针对每个边缘节点,根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,其中,所述服务状态信息包括所述边缘节点允许承接的剩余带宽。
可选地,所述采集模块还被配置为:
针对当前边缘节点所推送的每个直播流,根据当前直播流产生的当前已用带宽和预测带宽,确定当前直播流对应的目标带宽;
根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息。
可选地,所述采集模块,进一步被配置为:
将所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽之和相减,得到更新的剩余带宽;
基于所述更新的剩余带宽,更新当前边缘节点的服务状态信息。
可选地,所述预测模块404,进一步被配置为:
从所述历史带宽记录,获取目标主播对应的多个历史目标带宽,其中,所述目标主播为目标直播流所关联的主播;
将所述多个历史目标带宽输入至预训练的带宽预测模型中,得到所述目标直播流对应的预测带宽。
可选地,所述确定模块406,进一步被配置为:
获取各边缘节点的服务状态信息,其中,所述服务状态信息包括边缘节点允许承接的剩余带宽;
将所述剩余带宽大于所述预测带宽的边缘节点,确定为第一目标边缘节点。
可选地,所述装置还包括判断模块,被配置为:
判断所述调度请求是否为首发调度请求,其中,所述首发调度请求为拉流后的第一个调度请求;
若是,则执行所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录的步骤。
可选地,所述装置还包括比较模块,被配置为:
若否,将所述第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较;
在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流对应的超量带宽;
将所述超量带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第二目标边缘节点;
调用所述第二目标边缘节点反馈所述目标直播流。
可选地,所述比较模块,进一步被配置为:
获取所述第一目标边缘节点上所述目标直播流产生的当前已用带宽;
判断所述目标直播流产生的当前已用带宽是否大于所述目标直播流对应的预测带宽;
若是,则判断所述第一目标边缘节点允许承接的剩余带宽是否达到所述带宽阈值。
可选地,所述装置还包括更新模块,被配置为:
根据所述目标直播流对应的预测带宽,更新所述第一目标边缘节点的服务状态信息。
申请提供的直播流调度装置,通过历史带宽记录,预测目标直播流可能会产生的带宽,即预测带宽,如此,在调度的时候就考虑直播流的热度变化,知道一个流在未来可能会产生多少带宽,并且尽可能调用剩余带宽充足的边缘节点,可以减少针对同一个直播流所调用的边缘节点的数量,避免回源增多的问题。而且,由于为直播流分配的是剩余带宽充足的边缘节点,可以一定程度上避免边缘节点超载。
上述为本实施例的一种直播流调度装置的示意性方案。需要说明的是,该直播流调度装置的技术方案与上述的直播流调度方法的技术方案属于同一构思,直播流调度装置的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备的结构框图。该计算设备500的部位包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,PublicSwitchedTelephoneNetwork)、局域网(LAN,LocalArea Network)、广域网(WAN,WideAreaNetwork)、个域网(PAN,Personal AreaNetwork)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless LocalAreaNetwork)无线接口、全球微波互联接入(Wi-MAX,Worldwide InteroperabilityforMicrowaveAccess)接口、以太网接口、通用串行总线(USB,UniversalSerialBus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,NearFieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备500的上述部位以及图5中未示出的其他部位也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部位。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述计算机指令时实现所述的直播流调度方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的直播流调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述直播流调度方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的直播流调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种直播流调度方法,其特征在于,包括:
响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;
基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;
将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;
调用所述第一目标边缘节点反馈所述目标直播流。
2.根据权利要求1所述的方法,其特征在于,所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
采集各边缘节点所推送的每个直播流产生的当前已用带宽;
针对每个边缘节点,根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,其中,所述服务状态信息包括所述边缘节点允许承接的剩余带宽。
3.根据权利要求2所述的方法,其特征在于,所述根据当前边缘节点所推送的每个直播流产生的当前已用带宽,更新当前边缘节点的服务状态信息,包括:
针对当前边缘节点所推送的每个直播流,根据当前直播流产生的当前已用带宽和预测带宽,确定当前直播流对应的目标带宽;
根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽,更新当前边缘节点的服务状态信息,包括:
将所述当前边缘节点允许承接的带宽总量与所述每个直播流对应的目标带宽之和相减,得到更新的剩余带宽;
基于所述更新的剩余带宽,更新当前边缘节点的服务状态信息。
5.根据权利要求1所述的方法,其特征在于,所述基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽,包括:
从所述历史带宽记录,获取目标主播对应的多个历史目标带宽,其中,所述目标主播为目标直播流所关联的主播;
将所述多个历史目标带宽输入至预训练的带宽预测模型中,得到所述目标直播流对应的预测带宽。
6.根据权利要求1所述的方法,其特征在于,所述将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点,包括:
获取各边缘节点的服务状态信息,其中,所述服务状态信息包括边缘节点允许承接的剩余带宽;
将所述剩余带宽大于所述预测带宽的边缘节点,确定为第一目标边缘节点。
7.根据权利要求1所述的方法,其特征在于,所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录之前,还包括:
判断所述调度请求是否为首发调度请求,其中,所述首发调度请求为拉流后的第一个调度请求;
若是,则执行所述响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录的步骤。
8.根据权利要求7所述的方法,其特征在于,所述判断所述调度请求是否为首发调度请求之后,还包括:
若否,将所述第一目标边缘节点允许承接的剩余带宽与带宽阈值进行比较;
在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流对应的超量带宽;
将所述超量带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第二目标边缘节点;
调用所述第二目标边缘节点反馈所述目标直播流。
9.根据权利要求8所述的方法,其特征在于,所述在所述第一目标边缘节点允许承接的剩余带宽达到所述带宽阈值的情况下,根据所述目标直播流产生的当前已用带宽,计算所述目标直播流的超量带宽之前,还包括:
获取所述第一目标边缘节点上所述目标直播流产生的当前已用带宽;
判断所述目标直播流产生的当前已用带宽是否大于所述目标直播流对应的预测带宽;
若是,则判断所述第一目标边缘节点允许承接的剩余带宽是否达到所述带宽阈值。
10.根据权利要求1所述的方法,其特征在于,所述将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点之后,还包括:
根据所述目标直播流对应的预测带宽,更新所述第一目标边缘节点的服务状态信息。
11.一种直播流调度装置,其特征在于,包括:
获取模块,被配置为响应于针对目标直播流的调度请求,获取所述目标直播流关联的历史带宽记录;
预测模块,被配置为基于所述历史带宽记录,对所述目标直播流进行带宽预测,得到所述目标直播流对应的预测带宽;
确定模块,被配置为将所述预测带宽分别与各边缘节点允许承接的剩余带宽进行比较,确定第一目标边缘节点;
反馈模块,被配置为调用所述第一目标边缘节点反馈所述目标直播流。
12.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-10任意一项所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-10任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211676585.XA CN115942007A (zh) | 2022-12-26 | 2022-12-26 | 直播流调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211676585.XA CN115942007A (zh) | 2022-12-26 | 2022-12-26 | 直播流调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115942007A true CN115942007A (zh) | 2023-04-07 |
Family
ID=86648951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211676585.XA Pending CN115942007A (zh) | 2022-12-26 | 2022-12-26 | 直播流调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115942007A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116528375A (zh) * | 2023-06-28 | 2023-08-01 | 浙江大华技术股份有限公司 | 带宽预测方法、带宽预测装置以及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951716A (zh) * | 2019-03-26 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 一种主播调度方法、装置、电子设备及可读存储介质 |
US20200186430A1 (en) * | 2018-12-07 | 2020-06-11 | At&T Intellectual Property I, L.P. | Apparatus and method for selecting a bandwidth prediction source |
CN112738548A (zh) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | 一种流媒体调度方法、装置、设备及存储介质 |
CN112751896A (zh) * | 2019-10-31 | 2021-05-04 | 中国电信股份有限公司 | 资源部署方法、资源部署装置以及存储介质 |
CN113055692A (zh) * | 2021-04-20 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
CN113315836A (zh) * | 2021-05-27 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 文件访问请求的调度方法、装置、电子设备、存储介质 |
CN114706675A (zh) * | 2022-01-24 | 2022-07-05 | 北京邮电大学深圳研究院 | 基于云边协同系统的任务部署方法及装置 |
CN115514981A (zh) * | 2021-06-22 | 2022-12-23 | 华为云计算技术有限公司 | 一种视频流调度系统及相关产品 |
-
2022
- 2022-12-26 CN CN202211676585.XA patent/CN115942007A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200186430A1 (en) * | 2018-12-07 | 2020-06-11 | At&T Intellectual Property I, L.P. | Apparatus and method for selecting a bandwidth prediction source |
CN109951716A (zh) * | 2019-03-26 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 一种主播调度方法、装置、电子设备及可读存储介质 |
CN112751896A (zh) * | 2019-10-31 | 2021-05-04 | 中国电信股份有限公司 | 资源部署方法、资源部署装置以及存储介质 |
CN112738548A (zh) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | 一种流媒体调度方法、装置、设备及存储介质 |
CN113055692A (zh) * | 2021-04-20 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
CN113315836A (zh) * | 2021-05-27 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 文件访问请求的调度方法、装置、电子设备、存储介质 |
CN115514981A (zh) * | 2021-06-22 | 2022-12-23 | 华为云计算技术有限公司 | 一种视频流调度系统及相关产品 |
CN114706675A (zh) * | 2022-01-24 | 2022-07-05 | 北京邮电大学深圳研究院 | 基于云边协同系统的任务部署方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116528375A (zh) * | 2023-06-28 | 2023-08-01 | 浙江大华技术股份有限公司 | 带宽预测方法、带宽预测装置以及计算机可读存储介质 |
CN116528375B (zh) * | 2023-06-28 | 2023-09-29 | 浙江大华技术股份有限公司 | 带宽预测方法、带宽预测装置以及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737405B (zh) | 一种对直播视频流进行导流的方法、ccl服务器和系统 | |
EP2805471B1 (en) | Method and apparatus for enabling pre-fetching of media | |
JP4752786B2 (ja) | マルチキャスト配信システムおよびマルチキャスト配信方法 | |
US11336938B2 (en) | Pre-positioning of streaming content onto communication devices for future content recommendations | |
US20140150044A1 (en) | Generation device, distribution server, generation method, playback device, playback method, playback system, generation program, playback program, recording medium and data structure | |
KR20080076804A (ko) | 멀티캐스트 배신 시스템, 클라이언트 기기, 상위 라우터제어 장치, 콘텐츠의 표시 방법 및 프로그램 | |
CN114760482B (zh) | 直播回源方法及装置 | |
CN113055692A (zh) | 数据处理方法及装置 | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
CN114501073A (zh) | 直播回源方法及装置 | |
CN114363651B (zh) | 直播流处理方法及装置 | |
JP2003143587A (ja) | 番組選択方法、番組選択装置及び番組選択プログラム | |
CN113676754A (zh) | 直播视频转码方法及装置 | |
CN115942007A (zh) | 直播流调度方法及装置 | |
CN114866790A (zh) | 直播流调度方法及装置 | |
CN114679598B (zh) | 直播推送方法及装置 | |
CN113891114A (zh) | 转码任务调度方法及装置 | |
CN115002497A (zh) | 直播回源的调度方法及系统、回源服务器 | |
CN110784731A (zh) | 一种数据流转码方法、装置、设备及介质 | |
CN115955578A (zh) | 直播流调度方法及装置 | |
CN115643417A (zh) | 直播流调度方法及装置 | |
JP2024015959A (ja) | 性能メトリックを使用するコンテンツ配信ネットワーク(cdn)選択 | |
CN114501053B (zh) | 直播流获取方法及装置 | |
CN115022657B (zh) | 直播服务器的调度方法及装置 | |
CN114745565B (zh) | 边缘节点的调度方法及装置 |
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 |