一种基于SDN的HTTP视频流QoE路由优化方法与流程

文档序号:18633907发布日期:2019-09-11 21:59阅读:430来源:国知局
一种基于SDN的HTTP视频流QoE路由优化方法与流程

本发明属于网络通信中多媒体业务用户体验优化领域,具体涉及一种基于sdn的http视频流的qoe路由优化方法。



背景技术:

根据2016年美国思科“ciscovisualnetworkingindex:globalmobiledatatrafficforecastupdate,2017-2022whitepaper”统计预测,到2021年移动视频业务所产生的流量将占移动流量的75%以上。在传输网络的选择问题上,传统的ip网络,由于其基于简单的数据传送设计,虽然可以通过采用丰富多变的静态技术逐个解决各种业务问题,但结果却导致网络平台变得越来越复杂,其基础网络缺乏一致性和灵活性,这对于视频这一类对网络波动和多变性敏感的服务来说,会因为控制的缺乏造成业务故障。因此,一种更加智能化的网络框架——软件定义网络(softwaredefinednetwork,sdn)应用而生,sdn网络将控制功能从转发设备解耦,实现了数据平面和控制平面的分离,其控制平面利用其可编程性可在openflow协议下实现实时配置并向转发设备下发流表;同时,sdn控制器拥有底层数据平面的全局视野,能够根据业务流类别及网络资源情况,部署相应的调度策略实现业务的智能管理。

视频流的qoe一般反映用户对于视频质量的主观感受,目前最广泛的量化方法是itu-t提出的平均意见得分(meanopinionscore,mos),其将用户感受分为五个等级:1~5,其中等级越高,用户体验越好。在视频传输过程中,由于qoe会不可避免地受到设备、网络、播放器应用以及视频源等因素的影响,但如何在不可控因素理想的状态下,借助sdn网络灵活的控制特性,获取qos参数并建立准确高效的网络qos参数(带宽、抖动、时延、丢包率)与qoe值的映射模型,并将其运用于视频流的路由策略中,未来建立以qoe为单一参考变量获取使得qoe值最大的传输路径,能够在避免qos路由带来的npc问题的同时简化问题,实现真正的qoe路由,目前尚未出现有效的解决方案。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种基于sdn的http视频流qoe路由优化方法。

为了实现上述目的,本发明所采用的技术方案如下:

一种基于sdn的http视频流的qoe路由优化方法,可包括以下步骤:

1)在确保设备、播放器应用以及视频源因素理想的情况下,利用网络qos参数和用户主观打分mos值的离线数据集,建立qoe评估模型;

2)在实际的视频流传输中,构建sdn网络下的qoe路由优化网络框架,并在sdn控制层设计网络拓扑感知模块和网络性能测量模块,获取底层网络拓扑和链路qos参数信息;

3)sdn应用层对底层网络拓扑和链路qos参数信息进行整合,得到加权拓扑图;并分析qoe值在加权拓扑图链路上的变化规律;依据qoe值在加权拓扑图链路上的变化规律,在限定用户最小qoe值需求的情况下,利用qoe评估模型以qoe值为单一参考变量,进行视频流传输路径规划。

本发明进一步的改进在于,qos参数包括视频传输过程中端到端的带宽、时延、抖动以及丢包率。

本发明进一步的改进在于,网络qos参数和用户主观打分mos值的离线数据集(x,y)为:

本发明进一步的改进在于,建立qoe评估模型的具体过程为:针对六种ml算法模型进行训练,训练时采用十折交叉验证的方法,同时进行多轮训练,得到mae最低、且auc值最大的模型作为qoe评估模型。

本发明进一步的改进在于,

其中,mae为平均绝对误差,yi是真实的mos值,yi是预测的mos值,n为测试的样本数。

本发明进一步的改进在于,分析qoe值在加权拓扑图链路上的变化规律的具体过程如下:将qoe值表示为qos的函数qoe(p):

qoe(p)=qoemodel(s_bw,s_dly,s_jitter,s_plr,p)(8)

其中ei,i+1为路径p所含链路,s_bw为路径p的带宽;s_dly为延时,s_jitter为抖动,s_plr为丢包率;

对于公式(8),存在下列关系:

以及,

针对带宽,有

根据公式(9)、公式(10)、公式(11)以及(12),得到qoe值的变化规律为:随着路径中链路数目的增加,qoe值呈现非递增的特性。

本发明进一步的改进在于,依据qoe值在加权拓扑图链路上的变化规律,在限定用户最小qoe值需求的情况下,利用qoe评估模型以qoe值为单一参考变量,进行视频流传输路径规划的具体过程如下:

通过在sdn应用层利用步骤1)所获得的qos-qoe评估模型,并在限定用户最小qoe需求值c的情况下,结合qoe值随着链路增加非递增的特性,通过循环多次调用链路剪切、路径禁用的方式,缩减寻路时间复杂度,并最终找到一条最优的传输路径使得qoe值最大且跳数最少。

本发明进一步的改进在于,依据qoe值在加权拓扑图链路上的变化规律,在限定用户最小qoe值需求的情况下,利用qoe评估模型以qoe值为单一参考变量,进行视频流传输路径规划的具体过程如下:

1)通过在sdn应用层利用步骤1)所获得的qos-qoe评估模型,对用户要求的qoe值约定下限c,以mos值作为五个等级c∈{1,2,3,4,5},以c为约束条件;

2)从起始节点s开始搜索其邻接节点,当加入某节点之后,利用qoe评估模型计算链路qos参数对应的qoe估计值,并与c值比较,若qoemodel的输出较c等级高,则说明该链路不会导致严重的qoe衰减,保留链路;若较c值小,则判断是否达到终点t,若到达,则说明不存在满足要求的路径;若未达到,由qoe值非递增的性质直接将该链路剪除并不再从此节点进行下一次邻接节点的搜索;

3)满足要求的链路将继续检验其与起点间路径累积的qoe是否满足c值的需求,利用qos参数各自的累积性质分别计算剩余节点与起始节点之间路径的qos参数值,且再次调用qoe评估模型计算当前路径对应的qoe表征值,并判断是否满足用户所需的c值,若满足c值要求,检查是否到达终点,若到达终点但未达到最大qoe,则保留当前的路径在待选路径集合preserved并继续进行搜索,若达到最大qoe,则停止搜索,获得最优路径;若不满足c值要求,则将整条路径纳入不可选禁用路径集pnul,同时不再对该节点的邻接节点进行下一轮搜索;

4)再以当前剩余的节点为起始点,继续进行步骤2),直到当前剩余节点为空,获得qoe最大的传输路径或者满足c要求但未达到最大qoe值的路径p。

本发明是基于sdn的http视频流qoe路由优化方案,与现有的qoe优化方法相比,其有益效果体现在:

1、本发明基于sdn的视频流qoe优化框架,利用控制器集中管控的理念,构成了一套完整的视频流qoe路由优化解决方案,解决了传统ip网络中缺乏一致性和灵活性的特点,使得视频在线传输过程中,网络参数的收集更加简单、路由决策的应用更加便捷。为未来sdn网络中的视频流传输提供了简单有效的优化思路。

2、将qos-qoe映射模型应用于视频流传输的路由决策当中,通过qos参数变化特点探讨网络链路上的qoe值随着链路增加呈现的非递增的变化规律,以用户qoe值需求为参考,在寻路过程中引入单一的变量qoe值作为路径规划的依据,避免了qos路由可能导致的npc问题,真正实现了以qoe为中心的路由,并得到一条使得qoe值最大的传输路径。

进一步的,在qoe评估模型的建立过程中,在假定其他影响因素理想的情况下,建立了网络中可调的qos参数与用户主观评分mos值映射模型,在考虑到参数分布和不同ml分类模型优劣势的基础上,不限于某一种建模方法,采用和对比了六种经典的ml算法并建立了qoe评估模型,通过综合考虑不同的分类器评价指标获得了最优的模型,保证了qoe评估的准确性。

附图说明

图1为sdn网络中视频流qoe优化过程概要图。

图2为sdn网络下的qoe路由优化框架图。

图3为以用户为中心的qoe路由算法流程图。

图4为已有真实数据集下,qos参数和对应的mos值在六种经典的机器学习算法下的对比图。

图5(a)为路由算法的验证网络拓扑图;

图5(b)为图5(a)拓扑上利用qos路由算法、基于跳数的最短路径算法以及本发明qoe路由算法,在ann和rf两种qos-qoe模型下所得路径的qoe值对比图;

图5(c)为图5(a)拓扑上利用qos路由算法、基于跳数的最短路径算法以及本发明qoe路由算法在ann和rf两种qos-qoe模型下的寻路时间对比图。

具体实施方式

下面结合附图和实施例对本发明作详细说明,但是本发明的保护范围不局限于所实施例。

本发明提出了一种基于sdn的http视频流qoe路由优化方法。

如图1所示,本发明考虑sdn网络中视频流qoe优化过程,客户端请求视频流时,sdn控制器凭借其全局视野和可编程控制的优势,将周期性地收集底层网络的qos参数信息与用户需求信息,并在sdn应用层通过部署qoe评估模型进行qoe值的估计。qoe路由模块以用户的最低需求为参考,通过调用qoe评估模块中qoe评估模型进行视频流传输路径的规划,最终的路由决策将通过sdn控制器以流表的形式下发至底层交换机,保障视频流的传输。具体过程为:

1)在确保设备、播放器应用以及视频源因素理想的情况下,利用网络qos参数和用户主观打分mos值的离线数据集,通过对比六种经典的ml算法建立准确的qoe评估模型;

首先,本发明针对qoe容易受到各方面主客观因素的影响而使得qoe评估实际上十分困难的问题,提出在控制部分不可调变量(客观环境因素、用户设备、播放器应用以及视频源)理想的情况下,采用网络实际的qos参数和用户mos值打分的离线数据集进行qoe评估模型的建立,以确保网络传输不会导致qoe的衰减。qos参数包含视频传输过程中端到端的带宽、时延、抖动以及丢包率,对应的用户的主观打分为量化的mos值(1~5)。单个样本记为:(xi,yi),i∈(1,n)为样本序号,n为样本总数。xi表示包括相应的带宽、时延、抖动以及丢包率参数,依次记为xi1,xi2,...xim(m=4),yi代表序号为i的qos参数组合xi对应的mos值。则原始实验数据集(x,y)就可以表示为:

接下来将把以上原始实验数据集分为训练数据集和测试数据集,建立qoe评估模型。qos参数是反映传输网络性能的重要指标,而确保网络传输中良好的qoe是最终用户感受的必要条件。

原始实验数据集的准备完成后,针对以往的qoe评估模型依靠线性、非线性拟合进行显示表达,其评估准确率低且泛化能力差的缺点,以及对ml算法模型复杂程度、以及未来qoe路由过程带来的时间成本考虑,本发明不限于某种单一的ml分类算法,考虑了六种经典的ml算法的特点与适用性并从中寻找最适合的qoe评估模型。具体包括随机森林(randomforest,rf)、支持向量机(supportvectormachine,svm)、决策树(decisiontree,dt(c4.5))、人工神经网络(artificialneuralnetwork,ann)、逻辑回归(logisticregression,lr)以及朴素贝叶斯(bayes,nb)六种算法进行模型训练。为了减少模型误差,训练过程将采用“十折交叉验证”(10-foldcross-validation)的方法,同时进行多轮训练。具体的过程为:

步骤1:首先将样本平均分为10份,轮流选择其中的1份作为测试集,剩下的9份为训练集;

步骤2:然后将样本输入模型训练,将10次计算所得结果的平均值作为每一轮训练的结果;

步骤3:必要时进行多轮的训练,最后再求平均值。

ml算法主要的评价指标有精度(precision),召回率(recall),准确率(accuracy)、f1-score以及auc(areaunderthecurveofroc)值等。如表1所示,包含部分ml算法评价指标。

表1ml算法评价指标

其他指标的计算过程如下:

(1)精确度:

(2)召回率:

(3)准确率:

(4)f1-score:

(5)auc值:是以precision为纵坐标,recall为横坐标,roc曲线围成的面积。

而特别地,本发明考虑到qoe评估的现实意义,采用了平均绝对误差(meanabsoluteerror,mae),如公式(1)所示来衡量qoe评估模型的准确度,同时对比了各个分类器的auc值。

其中,yi是真实的mos值,yi是预测的mos值,n为测试的样本数。

最后,通过综合对比各个ml分类算法下的qos-qoe评估模型的评价指标,选择mae(平均绝对误差)最低、且auc值最大的模型作为qoe评估模型。

如图4所示,为已有真实数据集下,qos参数和对应的mos值在机器学习算法下的对比图。通过观察并对比auc值,发现ann与rf两种算法都达到了很高的估计准确率,在实际的系统中将进行进一步对比。接下来在需要将最理想的模型保存,在tensorflow深度学习框架下一种简单的模型的保存过程为:

save/restore方法。首先不论save方法还是restore方法,都是在saver类中实现的,tensorflow中源代码位于tensorflow/python/training/saver.py,通过调用save()实现,并将模型保存在当前程序所在文件夹里的model文件夹中。保存后将在文件夹中出现4个文件,其中,

.ckpt文件为tensorflow模型;

.ckpt.meta为后缀的文件保存了计算图的整体的结构;

.ckpt为后缀的文件保存的是程序中saver.save()函数运行之前定义的每个变量的值;

checkpoint文件保存的是一个目录下全部的模型文件的列表。

以上完成qoe的ml评估模型的保存,在模型测试过程以及未来在线获取到qos参数(丢包率、抖动、延时、带宽)后,进行qoe值计算时,通过函数import_meta_graph()及其中restore()方法加载此模型,就可以随时随地进行当前网络qos参数之下的qoe值的估计。

2)本发明针对在sdn网络下视频流在线传输过程qoe评估和优化,如图2所示,构建sdn网络下的qoe路由优化网络框架,并在sdn控制器设计网络拓扑感知模块和网络性能测量模块,通过网络拓扑感知模块和网络性能测量模块获取底层网络拓扑和链路qos参数信息;具体过程为:在实际的视频数据包传输过程中,当客户端通过底层交换网络请求视频资源时,将同时会向sdn控制器发出qoe需要的请求并传递自身的业务类型,sdn网络控制器作为拥有网络拓扑全局掌控能力的监测者,当上层应用判定业务类型为视频流,控制器将启动拓扑管理以及网络性能测量模块获得拓扑信息和所有链路的qos参数,同时,这些数据被传送到sdn应用层并整合为一个具有时延(s_dly)、丢包率(s_plr)、抖动(s_jitter)和带宽(s_bw)加权的网络拓扑图,作为视频流传输路径规划模块的数据支撑。

3)通过步骤2)中网络拓扑感知模块和网络性能测量模块获得底层传输网络的拓扑与qos参数信息后,在应用层部署qoe评估模块和路由算法模块实现本发明的qoe路由算法。sdn应用层通过对底层网络拓扑和链路qos参数信息通过资源整合模块进行整合,得到完整的加权拓扑图。并根据网络中qos参数随着网络链路数目的增加所呈现的规律,结合步骤1)获得的qos-qoe评估模型,将qos参数的变化规律和qoe的变化趋势进行数学分析,即基于网络中qos参数变化规律,通过分析多元复合函数的增减特性,得到单一的网络变量qoe值及其变化规律,并以用户为中心,以qoe值为单一参考变量在加权拓扑图上进行视频流传输路径规划,具体的过程为:

首先,分析qos参数的变化特性,随着路径链路的增加,有以下规律:

(1)可加性度量。网络中每条链路对应的参数权值ω满足公式(2):

即包含l条链路的路径p的参数权值为所经过链路权值的总和。qos参数中可加性度量包括延时、抖动。除此以外,链路费用、跳数也归属于网络可加性度量。延时s_dly和抖动s_jitter的计算公式分别为公式(3)与公式(4):

(2)可乘性度量。指网络中每条链路的参数ω满足:

即包含l条链路的路径p的参数权值为所经过的链路的乘性积。qos参数中数据包的丢失率0≤ωi,i+1≤1即为可乘性度量。丢包率s_plr的计算公式(6):

(3)最小性度量。指网络中每条链路的参数ω满足:ωp=min{ωi,i+1}。即路径p的带宽s_bw是由路径p所经过的链路中最小的带宽决定的:

以上所讨论的网络qos参数的特性,是研究qoe值随着链路数的增加所呈现出的变化规律的基础。如公式(8)将qoe值表示为qos的函数qoe(p):

qoe(p)=qoemodel(s_bw,s_dly,s_jitter,s_plr,p)(8)

其中ei,i+1为路径p所含链路。由于各qos参数满足:

s_dly(p1)=s_dly(e1,2+e2,3)≥s_dly(p2)=s_dly(e2,3)

s_jitter(p1)=s_jitter(e1,2+e2,3)≥s_jitter(p2)=s_jitter(e2,3)

s_plr(p1)=s_plr(e1,2+e2,3)≥s_plr(p2)=s_plr(e2,3)

s_bw(p1)=s_bw(e1,2+e2,3)≤s_bw(p2)=s_bw(e2,3)(或s_bw(e1,2))

即随着链路的增加,时延、抖动、丢包率都呈现出非负、且递增的特性;带宽呈现出非负、且非递增的特性。而理论上,随着时延、抖动、丢包率的增加,都可能导致传输视频的qoe的衰退,也即对于公式(8),存在下列关系:

以及,

而针对带宽,有

根据上述分析,已知qoe值对于各qos参数的增减性,以及qos参数随着链路的增加所呈现的增减性,结合高等数学中多元复合函数的微分和增减性判别定理,可以得到qoe值的变化规律:随着路径中链路数目的增加,qoe值将呈现非递增的特性。

4)依据qoe值的变化规律,进行qoe路由算法设计,具体如下:通过在sdn应用层调用步骤1)所获得qos-qoe评估模型,并在限定用户最小qoe需求值c的情况下,结合qoe值随着链路增加非递增的特性,通过循环多次调用链路剪切、路径禁用的方式,缩减寻路时间复杂度,并最终找到一条最优的传输路径使得qoe值最大且跳数最少。具体过程如下:

现已知qoemodel是qos参数的混合非线性模型,呈现非递增特性,但路由选择的前向过程qoe值不能像时延、抖动和丢包率可以进行直接的累加及累乘计算。比如,当计算获得路径a→b→c的qoe表征mos值(qoe值)后,要计算a→b→c→d的qoe值,就需要重新计算各个路径的qos参数,同时输入到qoemodel模型计算qoe值,而不能直接通过以下公式(13)得到:

qoemodel(a→b→c→d)=qoemodel(a→b→c)-qoemodel(c→d)(13)

这就导致路径节点的选择过程中,每选择加入一个节点就需要重新计算一次qoe值,如此重复的计算将使得运算复杂度随着节点数目增加呈现指数式的增长。同时此种情况下,也无法以qoe值作为链路上的单一参考变量,利用dijkstra等路由算法进行路径的选择。

为了能够准确地进行满足qoe要求的路径选择,本发明以qoe值的非递增特性为出发点,在寻路的过程中通过不断地判断当前链路或路径上的qoe值是否满足c,并且以c值为依据进行网络链路的剪切,目的是减少网络路径计算和qoe评估模块调用的次数,降低路径计算的时间复杂性。最终所得最优路径端到端的qos参数经qoemodel输出值满足qoe的需求c值且为最大。具体步骤为:

步骤1:通过资源整合模块获得的qos参数加权的网络拓扑图g=(v,e,bw),其中v表示网络节点集合,e表示网络链路集合,bw为网络最大带宽值。

步骤2:对用户要求的qoe值约定下限c(其以mos值作为五个等级c∈{1,2,3,4,5}),本发明中的qoe路由算法问题就是以c为约束条件,在初始节点s到给定终点t间寻找一条qoe估计值不低于c,同时qoe最大的传输路径p。即:

(1)满足qoe(p)=qoemodel(s_bw,s_dly,s_jitter,s_plr,p)>c-1;

(2)在满足(1)条件的情况下,选择qoe(p)最大的路径p。

步骤3:通过qoe路由模块开始执行本发明的qoe路由算法。

如图3所示,1)从起始节点s开始搜索其邻接节点,当加入某节点之后,调用qoe评估模型计算链路qos参数对应的qoe估计值,并与c值比较,若qoe评估模型qoemodel的输出较c等级高,则说明该链路不会导致严重的qoe衰减,保留链路;若较c值小,则判断是否达到终点t,若到达,则说明不存在满足要求的路径;若未达到,由qoe值非递增的性质可以直接将该链路剪除并不再从此节点进行下一次邻接节点的搜索;

2)满足条件的链路将继续检验其与起点间路径累积的qoe是否满足c值的需求,具体过程为利用qos参数各自的累积性质分别计算剩余节点与起始节点之间路径的qos参数值,且再次调用qoe评估模型qoemodel计算当前路径对应的qoe表征值,并观察判断是否满足用户所需的c值,若达到了要求,检查是否到达终点,若到达终点但未达到最大qoe,则保留当前的路径在待选路径集合preserved并继续进行搜索,若达到最大qoe,则停止搜索,获得最优路径;若不满足c值要求,则将整条路径纳入不可选禁用路径集pnul,同时不再对该节点的邻接节点进行下一轮搜索;

3)再以当前剩余的节点为起始点,继续进行步骤1),直到当前剩余节点为空,获得qoe最大的传输路径或者满足c要求但未达到最大qoe值的路径p。最终,获得qoe最大的传输路径或者满足要求但未达到最大qoe值的路径。

下面验证qoe路由算法的可靠性和高效性。图5(a)为路由算法的验证网络拓扑图,表2为其链路参数设置表,图5(b)为在qos路由算法、基于跳数的最短路径算法以及本发明qoe路由算法下所得到路径对应的qoe值,其中qoe路由算法中采用了ann和rf两种评估模型进行对比。

表2网络拓扑图链路参数设置表

实验结果表明,qoe路由算法相比较其他两种算法,由于寻路过程以qoe为中心,在两种评估模型下都能为视频流的传输规划qoe最大的路径;同时观察图5(c),为三种路由算法的寻路时间对比,结果表明,在rf评估模型下qoe路由算法通过链路剪切、路径禁用等手段有效降低了寻路时间复杂度,而ann本身模型较复杂,使得寻路过程耗费更多的时间,因此rf评估模型可以作为qoe评估模型的终选方案,qoe路由算法有效地实现了qoe的优化。

以上所述发明仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干可以预期的改进和润饰,这些改进和润饰也应视为本发明的保护范围。

本发明一方面,针对http视频流码率自适应和渐进式下载的特点,在其他影响因素(设备、播放器应用以及视频源)理想的情况下,通过网络传输qos参数与mos值的离线数据集,对比六种不同的机器学习(machinelearning,ml)模型并获得最佳的qos-qoe非线性映射模型,并进行模型的保存。另一方面,本发明通过设计sdn网络下的qoe路由优化网络框架,利用控制器的全局视野实现底层网络拓扑信息和qos参数的收集,并在分析qoe值在网络中的变化规律的基础上,在应用层部署qoe评估模块和路由算法模块实现以用户为中心的qoe路由。

本发明主要借助sdn网络的理念,通过训练qoe评估模型以及探讨qoe值随着网络链路的变化特性,以qoe为单一参考变量,实现了以用户为中心的路由算法,优化了网络传输过程中的视频qoe。本发明中路由优化策略在避免了qos路由算法带来的npc问题的同时,提高了路由选择效率、真正实现了qoe路由,而且方法简单,结果准确。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1