一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频云转码及分发联合决策方法及系统

2022-04-13 14:35:48 来源:中国专利 TAG:


1.本发明涉及多媒体技术领域,尤其涉及一种视频云转码及分发联合决策方法及系统。


背景技术:

2.传统的视频直播服务提供商会构建独立私有的数据中心和专有分发网络完成转码操作和视频分发过程,但是随之带来的问题是成本消耗巨大,且资源不可伸缩容易造成资源的问题。云平台具有资源按需付费和快速可伸缩的特点,将传统的视频分发架构转移至云上能够有效降低运营成本,成为越来越多直播服务提供商的选择。利用内容分发网络(contentdeliverynetwork,cdn)进行分发能够有效降低成本,单cdn会随着时间的变化出现性能波动的情况,影响用户观看体验。对于超大型云平台来说,可以构建地理分布式云架构(类似阿里云和腾讯云),设置边缘节点和数据中心进行用户链路业务(customer link service,cls)服务的视频分发,但是资源的有限性和受众的动态性仍然存在一定问题,对于数据中心的选择以及高度动态化的受众群体和社交内容,有研究这考虑了不同数据中心之间视频分发路径的动态决定并推导出动态优化策略,也有研究者提出了数据中心与多cdn结合的方式来进行分发优化。但是,这些优化都是从分发的角度来考虑的,并没有考虑转码模板的设置。
3.视频转码服务也是视频直播服务的重要组成部分。对于一般的视频转码,早期的研究利用p2p/overlay streaming中的方法,并不适合实时转码服务。而近来的研究倾向于利用云平台进行转码,利用云平台进行转码时,每增加一个转码模板就需要支付对应的费用,这样弹性的计费策略在众包环境中能够解决收到的转码需求,但是静态费用确实较为昂贵,我们需要动态的对于转码服务进行决策。现有技术存在一种新型直播架构,将转码请求下发至众多观众端,提出了一种观众端转码调度器对任务分配进行智能调度。也有研究者以雾计算为基础,提出了一种包含观测器的人群转码解决方案。但是,这些研究都是单纯从转码的角度进行研究,并未与cdn分发结合起来形成相对完备的评价体系,综合考虑维持观众端服务质量(quality ofservice,qos)指标以及成本优化。
4.综上分析,显然之前的大多数研究都是单纯从cdn分发或者转码角度进行研究,保证用户观看体验以及成本优化,并未将二者考虑到一起。事实上,终端观众端的动态需求会引起转码策略的变化,而转码策略的变化会引起转码成本和cdn分发成本的变化,在观众端qoe的保障过程中,也需要充分考虑转码过程和cdn分发过程带来的影响。因此,如何从联合角度进行考虑转码和cdn分发,在充分保障观众端qoe的基础上,对视频直播服务进行成本优化是现有技术亟待解决的技术问题。


技术实现要素:

5.鉴于此,本发明实施例提供了一种视频云转码及分发联合决策方法及系统,以消除或改善现有技术中存在的一个或更多个缺陷。
6.本发明的一个方面提供了一种视频云转码及分发联合决策方法,基于分布式云架构构建多云平台,所述多云平台包括多个用于视频转码和内容分发的云平台,每个所述云平台均预设有对应状态动作对的效用值和贪婪度,该方法包括以下步骤:
7.获取所述云平台的历史数据,所述历史数据包括观众端占比、视频转码种类、每个转码种类对应的转码模板的费用、观众端接收到的视频码率、每个观众端受到的转码延迟和分发延迟;
8.基于模板费用计算转码成本,基于所述视频码率计算流量成本,根据所述转码成本和流量成本得出成本函数;
9.基于观众端接收到的视频码率计算码率参数,基于每个观众端受到的转码延迟和分发延迟计算延迟参数,基于所述码率参数和延迟参数计算qoe函数;
10.所述云平台预设有多个约束条件,根据所述云平台当前违背的约束条件个数计算惩罚函数;
11.根据所述成本函数、qoe函数和惩罚函数计算所述云平台的奖励值;
12.获取所述云平台当前状态,根据所述云平台当前状态对应的多个贪婪度计算采用效用值方案的概率;
13.若采用效用值方案,则获取与当前状态的状态相同的所有状态动作对中效用值最大的状态动作对,采用该状态动作对;
14.根据当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新;
15.在第一时长内执行该状态动作对中的动作,计算云平台在第一时长后的状态动作对和奖励值,更新云平台在第一时长后的状态动作对对应的效用值。
16.采用上述方案,本技术每隔第一时长对奖励值进行更新,在大规模迭代后能够找到最佳的效用值,本技术的效用值通过奖励值进行更新,所述奖励值的计算基于成本函数和qoe函数,本方案综合考虑到了观众端qoe和成本优化,若采用效用值方案能够找到同一状态下效用值最大的状态动作对,效用值最大即表示观众端qoe和成本优化同时较好,保障观众端qoe较好的同时成本较低。
17.在本发明的一些实施方式中,该方法还包括步骤:若不采用效用值方案,则采用与当前状态的状态相同的所有状态动作对中的任一个。
18.在本发明的一些实施方式中,所述历史数据的总时长包括至少一个所述第一时长,所述多云平台接收主播端上传的视频,将视频传送至观众端,基于模板费用计算转码成本,根据如下公式:
[0019][0020]
cost
tc
(c,n,t)表示在当前时刻的前第一时长的t时间段内,主播端c在云平台n的转码成本;mv(c,n,t)表示t时间段主播端c在云平台n的转码模板集合;p
tc
(v,n)表示云平台n上转码模板v的费用单价;τ表示t时间段的时长。
[0021]
在本发明的一些实施方式中,基于所述视频码率计算流量成本,根据如下公式:
[0022][0023]
cost
bc
(c,n,t)表示当前时刻的前第一时长t时间段内,主播端c在云平台n的流量成本;i(c,n,t)表示t时间段主播端c分配到云平台n的观众端集合;b(i,t)表示t时间段观众端i接收到的视频码率;p
bc
(n)表示云平台n的流量单价;τ表示t时间段的时长。
[0024]
在本发明的一些实施方式中,根据所述转码成本和流量成本得出成本函数的步骤包括:
[0025]
分别计算所述转码成本和流量成本对应的转码总成本和流量总成本;
[0026]
根据转码总成本和流量总成本计算系统总成本,根据系统总成本计算成本函数。
[0027]
在本发明的一些实施方式中,分别计算所述转码成本和流量成本对应的转码总成本和流量总成本,根据如下公式:
[0028][0029]
cost
tc
(t)表示多云平台在t时间段的转码总成本;cost
tc
(c,n,t)表示在当前时刻的前第一时长的t时间段内,主播端c在云平台n的转码成本;c表示多云平台所有主播端的集合;n表示多云平台中的云平台的集合;
[0030][0031]
cost
tc(t)
表示多云平台在t时间段的流量总成本;cost
tc
(c,n,t)表示当前时刻的前第一时长t时间段内,主播端c在云平台n的流量成本。
[0032]
在本发明的一些实施方式中,根据转码总成本和流量总成本计算系统总成本,根据系统总成本计算成本函数,根据如下公式:
[0033]
cost(t)=cost
tc
(t) cost
bc
(t);
[0034]
cost(t)表示系统总成本;
[0035][0036]
fc(t)表示成本函数的函数值;当前时刻之前的多个第一时长中每个第一时长均对应一个系统总成本,c
max
和c
min
分别表示当前时刻之前的多个第一时长中系统总成本的最大值和最小值。
[0037]
在本发明的一些实施方式中,基于观众端接收到的视频码率计算码率参数,根据如下公式:
[0038][0039]
r(i,t)表示观众端i在t时间段的码率参数;b(i,t)表示t时间段观众端i接收到的视频码率;b
max
和b
min
分别表示所有观众端在t时间段接收到的最大码率和最小码率;g为常量。
[0040]
在本发明的一些实施方式中,基于每个观众端受到的转码延迟和分发延迟计算延
迟参数的步骤包括,
[0041]
根据所述转码延迟和分发延迟计算总延迟,根据总延迟计算延迟参数。
[0042]
在本发明的一些实施方式中,根据所述转码延迟和分发延迟计算总延迟,根据总延迟计算延迟参数,根据如下公式计算:
[0043]
d(i,t)=d
tc
(i,t) d
bc
(i,t);
[0044]
d(i,t)表示观众端i在t时间段的总延迟;d
tc
(i,t)表示观众端i在t时间段的转码延迟;d
bc
(i,t)表示观众端i在t时间段的分发延迟;
[0045][0046]
d(i,t)表示观众端i在t时间段的延迟参数;b
max
和b
min
分别表示所有观众端在t时间段接收到的最大总延迟和最小总延迟。
[0047]
在本发明的一些实施方式中,基于所述码率参数和延迟参数计算qoe函数,根据如下公式:
[0048]
q(i,t)=k
·
d(i,t) (1-k)
·
r(i,t);
[0049]
q(i,t)表示观众端i在t时间段的qoe函数值;k为常量。
[0050]
在本发明的一些实施方式中,根据所述成本函数、qoe函数和惩罚函数计算所述云平台的奖励值的步骤还包括,根据所述qoe函数计算平均qoe,基于成本函数、平均qoe和惩罚函数计算所述云平台的奖励值,
[0051]
根据所述qoe函数计算平均qoe,根据如下公式:
[0052][0053]
fe(t)表示平均qoe;v
t
表示多云平台在t时间段所有观众端的集合;q(i,t)表示观众端i在t时间段的qoe函数值。
[0054]
在本发明的一些实施方式中,根据所述云平台当前违背的约束条件个数计算惩罚函数,根据如下公式:
[0055][0056]fp
(t)表示惩罚函数的函数值;e表示任一个约束条件;βe表示违反约束条件的具体量值;s表示违反约束常量;δe表示约束条件e是否被违反的参数,δe=1表示约束条件e被违反了,δe=0表示约束条件e没有被违反。
[0057]
在本发明的一些实施方式中,所述约束条件包括:
[0058]
约束一、
[0059]qtarget
表示qoe阈值;t表示t时间段;t表示所述历史数据的总时长中多个所述第一时长对应的多个时间段;
[0060]
在约束一中,βe为常量,若存在fe(t)小于q
target
,则违反约束一,若违反约束一则代入βe。
[0061]
约束二、
[0062]mv
(c,n,t)表示t时间段主播端c在云平台n的转码模板集合;v表示多云平台中所有转码模板的集合;表示对于主播端c;
[0063]
在约束二中,βe为常量,若mv(c,n,t)中存在不属于v中的转码模板,则违反约束二,若违反约束二则代入βe;
[0064]
约束三、
[0065]bc
(t)表示主播端上传的原始码率;v表示t时间段主播端c在云平台n的转码模板集合中的任一转码模板;bs(v)表示转码模板v转码输出的码率值;表示对于主播端c;
[0066]
在约束三中,βe为常量,若存在bc(t)小于bs(v),则违反约束三,则违反约束三,若违反约束三则代入βe;
[0067]
约束四、
[0068]
w(i)表示响应观众端i请求连接到的云平台;{1,2,

,n}表示n个云平台;表示对于观众端i;
[0069]
在约束四中,βe为常量,若存在观众端i同时连接到多个云平台,则违反约束四,若违反约束四则代入βe;
[0070]
约束五、
[0071]
xn(c,t)表示在t时间段内与主播端c相连接的所有观众端中,连接至云平台n的观众端的占比;表示对于主播端c;n∈n表示云平台n属于n个云平台中的任一个;
[0072]
在约束五中,βe为常量,若存在对于主播端c,分配到每个云平台的观众比例的总和不为1,则违反约束五,若违反约束五则代入βe。
[0073]
在本发明的一些实施方式中,基于成本函数、平均qoe和惩罚函数计算所述云平台的奖励值,根据如下公式:
[0074][0075]
表示云平台n在t时间段所获得的奖励值;c1表示成本函数的权重参数;c2表示平均qoe的权重参数。
[0076]
在本发明的一些实施方式中,根据当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新,采用如下公式:
[0077][0078]
表示当前采用的状态动作对更新后的效用值;表示当前采用的状态动作对的当前效用值;l(n,m)表示云平台n的奖励值受到的来自于云平台m的影响;α∈[0,1]代表学习率;表示云平台n在t时间段所获得的奖励值;γ∈[0,1]表示强化学习中的折扣因子;表示云平台在当前状态在下一第一时长采用动作后到达的状态;表示状态和动作所对应状态动作对的效用值。
[0079]
在本发明的一些实施方式中,云平台n的奖励值受到的来自于云平台m的影响,根据如下公式计算:
[0080][0081]
l(i,j)云平台n的奖励值受到的来自于云平台m的影响;c3为常量;表示云平台n在t时间段所获得的奖励值;表示云平台m在t时间段所获得的奖励值;e为自然常数。
[0082]
在本发明的一些实施方式中,所述方法的步骤还包括,根据每个云平台当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新,计算多云平台中所有云平台更新状态动作对后,更新的状态动作对的总效用值;
[0083][0084]
q(a
t
)表示多云平台中所有云平台更新状态动作对后,更新的状态动作对的总效用值;n表示多云平台中云平台的集合。
[0085]
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出并获得。
[0086]
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
[0087]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
[0088]
图1为本发明视频云转码及分发联合决策方法一种实施方式的示意图;
[0089]
图2为本发明视频云转码及分发联合决策方法另一种实施方式的示意图;
[0090]
图3为多云平台的结构示意图。
具体实施方式
[0091]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
[0092]
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
[0093]
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
[0094]
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
[0095]
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同
或类似的部件,或者相同或类似的步骤。
[0096]
如图1、3所示,本发明的一个方面提供了一种视频云转码及分发联合决策方法,基于分布式云架构构建多云平台,所述多云平台包括多个用于视频转码和内容分发的云平台,每个所述云平台均预设有对应状态动作对的效用值和贪婪度,该方法包括以下步骤:
[0097]
在本发明的一些实施方式中,所述云平台对每个状态动作对均预设有贪婪度,所述云平台每隔第一时长重新选择状态动作对,每个状态动作对每次被选择均会降低该状态动作对的贪婪度。
[0098]
步骤s100、获取所述云平台的历史数据,所述历史数据包括观众端占比、视频转码种类、每个转码种类对应的转码模板的费用、观众端接收到的视频码率、每个观众端受到的转码延迟和分发延迟;
[0099]
在本发明的一些实施方式中,所述观众端占比可以为对于主播端c,在某个云平台的观众端的数量占总的与主播端c相连接观众端的数量的占比;所述视频转码种类可以为720p、1080p或者蓝光等;所述转码模板的费用可以为0.020元/分钟;所述转码延迟和分发延迟分别为主播端上传至多云平台的视频流在转码过程导致的延迟,和在进行cdn分发过程导致的延迟。
[0100]
步骤s210、基于模板费用计算转码成本,基于所述视频码率计算流量成本,根据所述转码成本和流量成本得出成本函数;
[0101]
步骤s220、基于观众端接收到的视频码率计算码率参数,基于每个观众端受到的转码延迟和分发延迟计算延迟参数,基于所述码率参数和延迟参数计算qoe函数;
[0102]
步骤s230、所述云平台预设有多个约束条件,根据所述云平台当前违背的约束条件个数计算惩罚函数;
[0103]
步骤s300、根据所述成本函数、qoe函数和惩罚函数计算所述云平台的奖励值;
[0104]
步骤s400、获取所述云平台当前状态,根据所述云平台当前状态对应的多个贪婪度计算采用效用值方案的概率;
[0105]
在本发明的一些实施方式中,根据所述云平台当前状态对应的多个贪婪度计算采用效用值方案的概率的步骤为:
[0106]
抽取所有状态动作对中状态与当前状态相同的状态动作对,抽取上述每个状态动作对的贪婪度,计算贪婪度的平均值,采用效用值方案的概率为1-贪婪度的平均值;
[0107]
若所有状态动作对中状态与当前状态相同的状态动作对的贪婪度分别为90%、85%和80%,则采用效用值方案的概率为1-85%=15%。
[0108]
步骤s410、若采用效用值方案,则获取与当前状态的状态相同的所有状态动作对中效用值最大的状态动作对,采用该状态动作对;
[0109]
步骤s500、根据当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新;
[0110]
所述云平台的所述状态可以为对于主播端c观众端占比5%,转码模板包括360p和720p,所述动作可以为增加观众端占比1%,转码模板增加1080p,状态为主播端c观众端占比5%,转码模板包括360p和720p采用增加观众端占比1%,转码模板增加1080p的动作后状态更改为对于主播端c观众端占比6%,转码模板包括360p、720p和1080p。
[0111]
步骤s600、在第一时长内执行该状态动作对中的动作,计算云平台在第一时长后
的状态动作对和奖励值,更新云平台在第一时长后的状态动作对对应的效用值。
[0112]
采用上述方案,本技术每隔第一时长对奖励值进行更新,在大规模迭代后能够找到最佳的效用值,本技术的效用值通过奖励值进行更新,所述奖励值的计算基于成本函数和qoe函数,本方案综合考虑到了观众端qoe和成本优化,若采用效用值方案能够找到同一状态下效用值最大的状态动作对,效用值最大即表示观众端qoe和成本优化同时较好,保障观众端qoe较好的同时成本较低。
[0113]
如图2所示,在本发明的一些实施方式中,该方法还包括步骤:步骤s420、若不采用效用值方案,则采用与当前状态的状态相同的所有状态动作对中的任一个。
[0114]
采用上述方案,若不采用效用值方案,则为随机选取与当前状态的状态相同的所有状态动作对中的任一个,在前期不采用效用值方案的概率较大,能够大范围搜索所有的状态动作对。
[0115]
在本发明的一些实施方式中,由于根据所述云平台当前状态对应的多个贪婪度计算采用效用值方案的概率的步骤为:
[0116]
抽取所有状态动作对中状态与当前状态相同的状态动作对,抽取上述每个状态动作对的贪婪度,计算贪婪度的平均值,采用效用值方案的概率为1-贪婪度的平均值。
[0117]
每个状态动作对的每次被选择都会降低其贪婪度;
[0118]
在最初阶段每个状态动作对的贪婪度都较高,因此会采用随机选取与当前状态的状态相同的所有状态动作对中的任一个,在前期可以探索不同的动作,依照到成本和体验度最优的动作,提高探索能力,避免快速陷入最优解导致探索度不够。
[0119]
在本发明的一些实施方式中,所述历史数据的总时长包括至少一个所述第一时长,所述多云平台接收主播端上传的视频,将视频传送至观众端,基于模板费用计算转码成本,根据如下公式:
[0120][0121]
cost
tc
(c,n,t)表示在当前时刻的前第一时长的t时间段内,主播端c在云平台n的转码成本;mv(c,n,t)表示t时间段主播端c在云平台n的转码模板集合;p
tc
(v,n)表示云平台n上转码模板v的费用单价;τ表示t时间段的时长。
[0122]
在本发明的一些实施方式中,基于所述视频码率计算流量成本,根据如下公式:
[0123][0124]
cost
bc
(c,n,t)表示当前时刻的前第一时长t时间段内,主播端c在云平台n的流量成本;i(c,n,t)表示t时间段主播端c分配到云平台n的观众端集合;b(i,t)表示t时间段观众端i接收到的视频码率;p
bc
(n)表示云平台n的流量单价;τ表示t时间段的时长。
[0125]
采用上述方案,云平台n的流量单价可以为0.5元/gb,τ表示t时间段的时长的单位可以为秒。
[0126]
在本发明的一些实施方式中,根据所述转码成本和流量成本得出成本函数的步骤包括:
[0127]
分别计算所述转码成本和流量成本对应的转码总成本和流量总成本;
[0128]
根据转码总成本和流量总成本计算系统总成本,根据系统总成本计算成本函数。
[0129]
在本发明的一些实施方式中,分别计算所述转码成本和流量成本对应的转码总成本和流量总成本,根据如下公式:
[0130][0131]
cost
tc
(t)表示多云平台在t时间段的转码总成本;cost
tc
(c,n,t)表示在当前时刻的前第一时长的t时间段内,主播端c在云平台n的转码成本;c表示多云平台所有主播端的集合;n表示多云平台中的云平台的集合;
[0132][0133]
cost
bc
(t)表示多云平台在t时间段的流量总成本;cost
bc
(c,n,t)表示当前时刻的前第一时长t时间段内,主播端c在云平台n的流量成本。
[0134]
在本发明的一些实施方式中,根据转码总成本和流量总成本计算系统总成本,根据系统总成本计算成本函数,根据如下公式:
[0135]
cost(t)=cost
tc
(t) cost
bc
(t);
[0136]
cost(t)表示系统总成本;
[0137][0138]
fc(t)表示成本函数的函数值;当前时刻之前的多个第一时长中每个第一时长均对应一个系统总成本,c
max
和c
min
分别表示当前时刻之前的多个第一时长中系统总成本的最大值和最小值。
[0139]
所述系统总成本为多云平台的总成本。
[0140]
在本发明的一些实施方式中,基于观众端接收到的视频码率计算码率参数,根据如下公式:
[0141][0142]
r(i,t)表示观众端i在t时间段的码率参数;b(i,t)表示t时间段观众端i接收到的视频码率;b
max
和b
min
分别表示所有观众端在t时间段接收到的最大码率和最小码率;g为常量。
[0143]
在本发明的一些实施方式中,多云平台中连接有多个观众端每个观众端在t时间段均对应有一个码率参数,b
max
和b
min
分别表示多个码率参数中的最大码率和最小码率。
[0144]
在本发明的一些实施方式中,基于每个观众端受到的转码延迟和分发延迟计算延迟参数的步骤包括,
[0145]
根据所述转码延迟和分发延迟计算总延迟,根据总延迟计算延迟参数。
[0146]
在本发明的一些实施方式中,根据所述转码延迟和分发延迟计算总延迟,根据总延迟计算延迟参数,根据如下公式计算:
[0147]
d(i,t)=d
tc
(i,t) d
bc
(i,t);
[0148]
d(i,t)表示观众端i在t时间段的总延迟;d
tc
(i,t)表示观众端i在t时间段的转码延迟;d
bc
(i,t)表示观众端i在t时间段的分发延迟;
[0149][0150]
d(i,t)表示观众端i在t时间段的延迟参数;b
max
和b
min
分别表示所有观众端在t时间段接收到的最大总延迟和最小总延迟。
[0151]
在本发明的一些实施方式中,基于所述码率参数和延迟参数计算qoe函数,根据如下公式:
[0152]
q(i,t)=k
·
d(i,t) (1-k)
·
r(i,t);
[0153]
q(i,t)表示观众端i在t时间段的qoe函数值;k为常量。
[0154]
采用上述方案,qoe函数表示观众体验,延迟和码率共同影响着观众的体验,融合延迟和码率计算qoe函数,提高对观众体验计算的全面性。
[0155]
在本发明的一些实施方式中,根据所述成本函数、qoe函数和惩罚函数计算所述云平台的奖励值的步骤还包括,根据所述qoe函数计算平均qoe,基于成本函数、平均qoe和惩罚函数计算所述云平台的奖励值,
[0156]
根据所述qoe函数计算平均qoe,根据如下公式:
[0157][0158]
fe(t)表示平均qoe;v
t
表示多云平台在t时间段所有观众端的集合;q(i,t)表示观众端i在t时间段的qoe函数值。
[0159]
在本发明的一些实施方式中,根据所述云平台当前违背的约束条件个数计算惩罚函数,根据如下公式:
[0160][0161]fp
(t)表示惩罚函数的函数值;e表示任一个约束条件;βe表示违反约束条件的具体量值;s表示违反约束常量;δe表示约束条件e是否被违反的参数,δe=1表示约束条件e被违反了,δe=0表示约束条件e没有被违反。
[0162]
在本发明的一些实施方式中,所述约束条件包括:
[0163]
约束一、
[0164]qtar get
表示qoe阈值;t表示t时间段;t表示所述历史数据的总时长中多个所述第一时长对应的多个时间段;
[0165]
在约束一中,βe为常量,若存在fe(t)小于q
tar get
,则违反约束一,若违反约束一则代入βe。
[0166]
约束二、
[0167]mv
(c,n,t)表示t时间段主播端c在云平台n的转码模板集合;v表示多云平台中所有转码模板的集合;表示对于主播端c;
[0168]
在约束二中,βe为常量,若mv(c,n,t)中存在不属于v中的转码模板,则违反约束二,
若违反约束二则代入βe;
[0169]
约束三、
[0170]bc
(t)表示主播端上传的原始码率;v表示t时间段主播端c在云平台n的转码模板集合中的任一转码模板;bs(v)表示转码模板v转码输出的码率值;表示对于主播端c;
[0171]
在约束三中,βe为常量,若存在bc(t)小于bs(v),则违反约束三,则违反约束三,若违反约束三则代入βe;
[0172]
约束四、
[0173]
w(i)表示响应观众端i请求连接到的云平台;{1,2,

,n}表示n个云平台;表示对于观众端i;
[0174]
在约束四中,βe为常量,若存在观众端i同时连接到多个云平台,则违反约束四,若违反约束四则代入βe;
[0175]
约束五、
[0176]
xn(c,t)表示在t时间段内与主播端c相连接的所有观众端中,连接至云平台n的观众端的占比;表示对于主播端c;n∈n表示云平台n属于n个云平台中的任一个。
[0177]
在约束五中,βe为常量,若存在对于主播端c,分配到每个云平台的观众比例的总和不为1,则违反约束五,若违反约束五则代入βe。
[0178]
在本发明的一些实施方式中,基于成本函数、平均qoe和惩罚函数计算所述云平台的奖励值,根据如下公式:
[0179][0180]
表示云平台n在t时间段所获得的奖励值;c1表示成本函数的权重参数;c2表示平均qoe的权重参数。
[0181]
采用上述方案,云平台在每次进行更新时,均能获取奖励值,且奖励值的计算综合考虑了成本、用户体验和违反约束条件的个数,每次更新都能逐渐完善云平台,多次更新后,提高云平台综合处理成本和用户体验对的能力。
[0182]
在本发明的一些实施方式中,根据当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新,采用如下公式:
[0183][0184]
表示当前采用的状态动作对更新后的效用值;表示当前采用的状态动作对的当前效用值;l(n,m)表示云平台n的奖励值受到的来自于云平台m的影响;α∈[0,1]代表学习率;表示云平台n在t时间段所获得的奖励值;γ∈[0,1]表示强化学习中的折扣因子;表示云平台在当前状态在下一第一时长采用动作后到达的状态;表示状态和动作所对应状态动作对的效用值。
[0185]
采用上述方案,本技术从采用强化学习算法,强化学习(reinforcement learning)是智能体(agent)即本技术中的云平台,以“试错”的方式进行学习,通过与环境
进行交互获得的奖励或者惩罚的行为,目标是使智能体获得最大奖励的习惯性行为。强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的策略,利用当前的策略来指导下一步的行动,下一步的行动获得收益之后再更新策略,智能体依靠自身经历不断学习并获得知识,改进行动方案以适应环境。为了在多智能体系统中更好地完成学习任务,每个智能体通过与环境交互获取奖励值来改善自己的策略,多个智能体相互协作从而获得该环境下取得最大收益的行为策略。
[0186]
强化学习的过程中,不断进行探索(exploration)和开发(exploitation),exploration是指选择之前未执行过的动作action,从而探索更多的可能性;exploitation是指选择已执行过的action,从而对已知的action的模型进行完善。通过不断的探索和开发,最终智能体得到不同环境状态下取得最大收益的动作指导。
[0187]
采用上述方案,首先,传统的q-learning算法并没有考虑到多个云平台之间的相互影响,且没有综合考虑成本、用户体验和违反约束条件的个数,本技术综合考虑了上述两点,在保证用户体验的前提下,降低成本。
[0188]
在本发明的一些实施方式中,云平台n的奖励值受到的来自于云平台m的影响,根据如下公式计算:
[0189][0190]
l(i,j)云平台n的奖励值受到的来自于云平台m的影响;c3为常量;表示云平台n在t时间段所获得的奖励值;表示云平台m在t时间段所获得的奖励值;e为自然常数。
[0191]
在本发明的一些实施方式中,所述方法的步骤还包括,根据每个云平台当前采用的状态动作对和所述奖励值对当前采用的状态动作对的效用值根据q-learning算法进行更新,计算多云平台中所有云平台更新状态动作对后,更新的状态动作对的总效用值;
[0192][0193][0194]
q(a
t
)表示多云平台中所有云平台更新状态动作对后,更新的状态动作对的总效用值;n表示多云平台中云平台的集合。
[0195]
现有技术中视频转码是指将已经压缩编码的视频流转换成另一种视频流,以适应不同的网络环境、终端设备。高质量的视频流,无论是直播还是点播的形式,都需要对视频流进行转码,以适应终端设备的特点,为观众提供较好的观看体验。目前,研究和应用实践中主要包含以下类型的转码需求:码率调整。高质量的视频通常使用较高的码率进行编码,但是,在视频流传输时较高的码率会占用较大的网络带宽,对视频流进行转码后,可以根据观众的可用带宽来调整码率。分辨率调整。空间分辨率表示视频的编码尺寸。然而,尺寸不一定与观众的设备的屏幕大小匹配。为了避免丢失内容,必须删除或合并原始视频的宏块(即缩小比例),以产生更低空间分辨率的视频。编解码标准转换。视频压缩标准包括mpeg2、h.264和hevc等。mpeg2被广泛用于dvd和视频广播,而hd或蓝光视频大多使用h.264编码。
hevc是最新、最有效的压缩标准。观众设备通常支持特定的编码标准,因此,需要将原始视频流转换为观众设备支持的编码标准。
[0196]
视频转码技术主要应用于数字电视广播和数字媒体处理。随着互联网技术的快速发展,利用网络传输视频流时,如果带宽有限,可以将原始视频流转换成h.264的格式,用较小的带宽来进行传输,并且可以进一步利用利用视频转码降低视频流码率,使其能够适应网络的传输。视频服务商通常需要对大量的视频流进行转码操作,而视频转码属于资源消耗型操作,需要仔细考虑带来的成本变化。基于云计算服务构建的转码服务,改变了以往进行转码时需要购买、搭建、管理转码软硬件的高昂投入以及配置优化、转码参数适配等复杂性问题,借助云计算服务的弹性伸缩特性,可以按需提供转码能力,从而最大限度的满足业务转码需求、避免资源浪费,达到成本控制的目的。此外,云平台提供的转码服务包含管理控制台、服务api和软件开发工具包,可以通过他们管理、使用转码服务,也可以方便地将转码功能集成到自己的应用于和服务中。因此,越来越多的视频服务提供商选择使用公有云平台完成转码操作。
[0197]
内容分发网络(content delivery network,简称cdn)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。cdn应用广泛,支持多种行业、多种场景内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速。简单来说,cdn就是要尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息进行调整,通过中心平台的负载均衡、内容分发、调度等功能模块,将用户的请求重新导向离用户最近的服务节点上。
[0198]
最简单的cdn网络由一个dns服务器和几台缓存服务器组成:当用户点击网站页面上的内容url,经过本地dns系统解析,dns系统会最终将域名的解析权交给cname指向的cdn专用dns服务器。cdn的dns服务器将cdn的全局负载均衡设备ip地址返回用户。用户向cdn的全局负载均衡设备发起内容url访问请求。cdn全局负载均衡设备根据用户ip地址,以及用户请求的内容url,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户ip地址,判断哪一台服务器距用户最近;根据用户所请求的url中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的ip地址。全局负载均衡设备把服务器的ip地址返回给用户。用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
[0199]
之前有研究者提出livesmart架构,其充分考虑到直播过程中cdn性能的动态变化以及观众人数的动态变化,使用dnn神经网络基于动态转移模型对未来观众进行预测,采取峰值计费cdn分发成本进行计算,并兼顾了观众的qoe(体验质量),对于cdn的分配进行了计算,达到了优化成本的cdn决策效果,但是在这个过程中并没有考虑转码因素带来的成本变
化以及对于观众qoe的影响。
[0200]
除此之外,之前的发明技术也提出过雾计算的模式来观测并优化转码成本的研究。其设置观测器和优化器针对于人群(大量多路媒体流)转码提出解决方案,重点针对转码进行成本优化和转码模式分析,但其计算方式与本技术不同,前期的探索度较低。
[0201]
本技术从直播服务提供商的角度,综合考虑成本因素以及qoe指标,联合优化多云平台上的转码模板配置以及cdn分发策略,解决多云直播视频服务的成本优化问题,以期在保证观众qoe的基础上找到尽可能降低成本的转码与cdn分发联合决策。
[0202]
如图3所示,主播端开启直播后,将直播视频流推送至云平台,通过系统监控模块收集到云平台转码和cdn分发相关信息,请求收集模块收集来自观众的请求信息,经过qoe管理、优化器模块后,最终将决策结果通过任务分配模块反馈给云平台并执行相应的操作。
[0203]
多云环境下的直播视频分发管理平台包含直播创建、流接收、流转发、云转码、cdn分发、平台监控和优化决策模块等部分,主播发起的原始直播流被传输到cls服务中的云平台提供的cdn上,如果有需要可以推送至其他云平台提供的cdn服务上,根据默认的转码配置对原始的视频流进行云端转码操作。为了保证观众的观看体验,需要在不同云平台上调整转码模板,同时避免成本浪费或者qoe下降。cdn的性能会影响观众的延迟。最终对观众的qoe产生很大影响。由于单个cdn有时会出现性能波动,因此通过多cdn进行视频分发,以帮助观众获得低延迟的视频流。平台监控部分能够对直播过程中的在线流信息、各云平台转码模板配置、cdn分发线路、在线人数等信息进行监控。请求收集部分能够实时收集观众请求,qoe管理部分对平台关键指标进行分析评估实时qoe。将请求信息和qoe信息输入优化器后,将每个云平台视为一个智能体,通过基于多智能体模型的强化学习对可能采取的决策进行探索,综合考虑决策过程中可能导致的qoe变化和成本变化,最终做出联合转码与cdn分发决策。转码和cdn分发决策通过任务分配部分反馈至云平台,并指导云平台做出相应的决策变化。
[0204]
系统监控部分。在实际应用场景中,主播发起直播后需要对云平台的相关指标进行监控,包含各个云平台正在进行的转码以及cdn分发相关指标,以便后续在进行qoe评估时进行使用。
[0205]
请求收集部分。请求收集部分用于收集来自观众端的请求,指明了观众对于哪个主播的观看请求,后续部分需要综合考虑该主播对应的各云平台转码任务分配和分发能力,做出相应决策。
[0206]
qoe管理部分。在进行转码与cdn的联合决策时,我们的目标是在保证观众qoe的前提下,尽可能的降低成本。因此,在多云平台的基础上需要考虑成本模型和qoe模型。在这里,我们仔细设计了多云直播视频分发平台下的成本模型以及qoe模型,并进行约束描述。
[0207]
利用公有云平台提供的转码与cdn服务,构建基于多云环境的直播视频分发平台。在充分考虑转码模板配置、cdn分发、qoe保障以及云服务成本等因素,设计并实现了多云平台下转码与cdn分发的联合决策,以期达到保证观众qoe的同时最小化云服务使用成本的目标。
[0208]
与上述视频云转码及分发联合决策方法相应地,本发明还提供了一种视频云转码及分发联合决策系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所
述计算机指令被处理器执行时该装置/系统实现如前所述方法的步骤。
[0209]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述视频云转码及分发联合决策方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、软盘、硬盘、可移动存储盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。
[0210]
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
[0211]
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0212]
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
[0213]
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献