一种基于软件定义的视频直播网络传输性能优化方法及系统与流程

文档序号:12183776阅读:240来源:国知局
一种基于软件定义的视频直播网络传输性能优化方法及系统与流程

本发明涉及视频直播网络传输技术领域,特别是涉及一种基于软件定义的视频直播网络传输性能优化方法及系统。



背景技术:

随着Internet技术的不断发展,视频直播应用范围越来越广,如新闻发布会、体育比赛、教学交流实况、商业宣传、远程会议、开学开业典礼、庆典活动、结婚庆典等,网络视听已经成为了目前网络用户主要的网络行为,也是各大门户网站争取用户获利的必争之地。现有网络主要采用以CDN、P2P、透明代理技术等方案来改善视频传播质量。上述方法可以确保点播视频的流畅播放,但无法保证直播视频的流畅播放。

为了改善网络服务质量,软件定义网络(Software Defined Networking,SDN)技术应运而生。目前软件定义网络的研究主要从网络流量负载均衡的角度考虑了流量控制,即不断更新交换机流表,将流量往负载轻的链路转发。但当网络所有交换机链路都满负荷时,再用更新流表的方法已经无能为力了。因此,还需从高速网络系统的内因上寻找办法,通过提高链路的价格,抑制源端的发送流量,再和流量控制想结合,才是真正提高视频网络直播传输性能的好方法。

FAST TCP协议(简称FAST协议)在发送端根据网络拥塞状态主动调整发送速率,主动避免缓冲区队列溢出和拥塞现象的出现,取得更高的链路利用率和稳定性,是属于从高速网络系统的内因上去寻求提高网络传输性能的方法,但FAST协议存在发送端无法准确获得网络拥塞状态的缺陷。显示拥塞通知协议(简称ECN协议)可以将网络拥塞状态通知给发送端,但ECN协议只能通知局部链路拥塞状态。因此,急需一种方法将FAST TCP协议和ECN协议有效结合起来,克服直播视频的无法流畅播放。



技术实现要素:

本发明的目的是提供一种基于软件定义的视频直播网络传输性能优化方法及系统,本发明充分利用软件定义方法控制平面全网络管控特性,计算出整个网络的拥塞价格向量,并通过拥塞通知协议通知发送网络信息发送端口;网络信息发送端口根据拥塞价格向量主动调整发送速率,避免网络拥塞,从内因上去找到去解决高速网络传输性能优化问题,实现直播视频的流畅播放。

为实现上述目的,本发明提供了如下方案:

本发明提供了一种基于软件定义的视频直播网络传输性能优化方法,所述优化方法,包括:

获取全局网络链路运行信息;

根据所述全局网络链路运行信息,确定样本数据;

根据所述样本数据,计算网络链路拥塞指导价格;

获取当前网络链路拥塞状态;

根据所述网络链路拥塞指导价格和所述当前网络链路拥塞状态,确定当前网络链路拥塞价格向量;

将所述当前网络链路拥塞价格向量发送到网络信息发送端口,并根据网络信息发送端口接收的当前网络链路拥塞价格向量,调整所述网络信息发送端口的发送速率。

可选的,所述获取全局网络链路运行信息,具体包括:

发送探测包至交换机设备,并接收所述交换机设备根据发送探测包发送的返回探测包;

根据发送探测包和接收到返回探测包的时间间隔,判断当前链路拥塞状态;若所述时间间隔大于设定阈值,则判断原有的链路为拥塞状态或不可用状态;否则则判断原有的链路为正常状态;

根据所述当前链路拥塞状态,获取全局网络链路运行信息。

可选的,所述确定样本数据,具体包括:

计算发送探测包和接收到返回探测包的时间间隔;

根据所述时间间隔,判断时间间隔是否大于设定阈值;若否,则获取链路正常数据;

根据所述链路正常数据,确定样本数据。

可选的,所述计算网络链路拥塞指导价格,具体包括:

设置全局网络拥塞状态与计算拥塞价格参数的映射关系;

根据所述样本数据和所述映射关系,构建神经网络模型,其中所述神经网络模型表示一个输入层个数为N,隐层神经元个数为M,输出层个数为1的三层神经网络;

优化所述神经网络模型中的各层连接的权值及阈值;

根据优化后的所述权值及阈值,计算网络链路拥塞指导价格。

可选的,所述调整所述网络信息发送端口的发送速率,具体包括:

根据所述当前网络链路拥塞价格向量,设置拥塞标志比例的IP包;

通过拥塞通知协议,将设所述IP包发送到网络信息发送端口;

提取所述网络信息发送端口中IP包中的当前网络链路拥塞价格向量;

构建所述发送端的FAST TCP首部选项和IP首部选项;

根据所述发送端的FAST TCP首部选项和IP首部选项,获取网络信息发送端口当前网络运行模式;

根据所述当前网络运行模式,确定当前发送窗口大小;

根据当前发送窗口大小,调整所述网络信息发送端口的发送速率。

本发明还提供了一种基于软件定义的视频直播网络传输性能优化系统,所述优化系统,包括:

链路运行信息获取模块,用于获取全局网络链路运行信息;

样本数据确定模块,用于根据所述全局网络链路运行信息,确定样本数据;

网络链路拥塞指导价格计算模块,用于根据所述样本数据,计算网络链路拥塞指导价格;

当前网络链路拥塞状态获取模块,用于获取当前网络链路拥塞状态;

当前网络链路拥塞价格向量确定模块,用于根据所述网络链路拥塞指导价格和所述当前网络链路拥塞状态,确定当前网络链路拥塞价格向量;

发送速率调整模块,用于将所述当前网络链路拥塞价格向量发送到网络信息发送端口,并根据网络信息发送端口接收的当前网络链路拥塞价格向量,调整所述网络信息发送端口的发送速率。

可选的,所述获取全局网络链路运行信息,具体包括:

数据传输子模块,用于发送探测包至交换机设备,并接收所述交换机设备根据发送探测包发送的返回探测包;

当前链路拥塞状态判断子模块,用于根据发送探测包和接收到返回探测包的时间间隔,判断当前链路的状态;若所述时间间隔大于设定阈值,则判断原有的链路为拥塞状态或不可用状态;否则则判断原有的链路为正常状态;

全局网络链路运行信息获取子模块,用于根据所述当前链路的状态,获取全局网络链路运行信息。

可选的,所述确定样本数据,具体包括:

时间间隔计算子模块,用于计算发送探测包和接收到返回探测包的时间间隔;

时间间隔判断子模块,用于根据所述时间间隔,判断时间间隔是否大于设定阈值;若否,则获取链路正常数据;

样本数据确定子模块,用于根据所述链路正常数据,确定样本数据。

可选的,所述计算网络链路拥塞指导价格,具体包括:

关系设置子模块,用于设置全局网络拥塞状态与计算拥塞价格参数的映射关系;

神经网络构建子模块,用于根据所述样本数据和所述映射关系,构建神经网络模型,其中所述神经网络模型表示一个输入层个数为N,隐层神经元个数为M,输出层个数为1的三层神经网络;

权值及阈值优化子模块,用于优化所述神经网络模型中的各层连接的权值及阈值;

网络链路拥塞指导价格计算子模块,用于根据优化后的所述权值及阈值,计算网络链路拥塞指导价格。

可选的,所述调整所述网络信息发送端口的发送速率,具体包括:

IP包设置子模块,用于根据所述当前网络链路拥塞价格向量,设置拥塞标志比例的IP包;

IP包发送子模块,用于通过拥塞通知协议,将设所述IP包发送到网络信息发送端口;

提取子模块,用于提取所述网络信息发送端口中IP包中的当前网络链路拥塞价格向量;

FAST TCP首部选项和IP首部选项构建子模块,用于构建所述发送端的TCP首部选项和IP首部选项;

当前网络运行模式分析子模块,用于根据所述发送端的FAST TCP首部选项和IP首部选项,获取网络信息发送端口当前网络运行模式;

当前发送窗口大小确定子模块,用于根据所述当前网络运行模式,确定当前发送窗口大小;

发送速率调整子模块,用于根据当前发送窗口大小,调整所述网络信息发送端口的发送速率。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明通过获取全局网络链路运行信息,确定样本数据,并根据确定的样本数据,计算网络链路拥塞指导价格;获取当前网络链路拥塞状态,并根据网络链路拥塞指导价格和所述当前网络链路拥塞状态,计算当前网络链路拥塞价格向量;将所述当前网络链路拥塞价格向量发送到网络信息发送端口,并根据网络信息发送端口接收的当前网络链路拥塞价格向量,调整所述网络信息发送端口的发送速率,避免网络拥塞,从内因上去找到去解决高速网络传输性能优化问题,提高视频直播网络的数据传输性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中的基于软件定义的视频直播网络传输性能优化方法流程图;。

图2为本发明实施例中的基于软件定义的视频直播网络传输性能优化系统结构图;

图3为本发明实施例中的神经网络模型结构图;

图4为本发明实施例中的网络运行模式图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

本发明提供了一种基于软件定义的视频直播网络传输性能优化方法,如图1所示,具体包括:

步骤101:获取全局网络链路运行信息,包括:

控制器定期向所有交换设备发送链路层发现协议(Link Layer Discovery Protocol,LLDP),用于采集网络交换设备的连接信息,并根据控制器与网络交换设备的连接信息,构建全局网络拓扑图;

根据所述全局网络拓扑图,发送探测包至交换机设备,并接收所述交换机设备根据发送探测包发送的返回探测包;

利用发送探测包和接收到返回的探测包的时间间隔,判断当前链路网络拥塞状态,具体包括:记录探测包发出的时间并启动定时器,若所述时间间隔大于设定阈值,则判断原有的链路为拥塞状态或不可用状态;否则则判断原有的链路为正常状态;

根据获取的当前链路网络拥塞状况,获取全局网络链路运行信息。

步骤102:确定样本数据,包括:

计算发送探测包和接收到返回探测包的时间间隔;

根据所述时间间隔,判断时间间隔是否大于设定阈值;若否,则获取链路正常数据;

根据所述链路正常数据,确定样本数据。

步骤103:计算网络链路拥塞指导价格,包括:

设置全局网络拥塞状态与计算拥塞价格参数的映射关系,具体包括:根据软件定义网络架构的开放性和可编程性,由网络管理员根据经验设置全局网络拥塞状态与计算拥塞价格参数向量的映射关系;当链路资源不紧张时,则选取较低的拥塞价格计算参数向量;当各链路资源紧张时,则选取大幅提高拥塞价格计算参数向量,如表1所示。

表1:链路负载和拥塞指导价格的关系

根据所述样本数据和所述映射关系,构建神经网络模型,其中所述神经网络模型表示一个输入层个数为N,隐层神经元个数为M,输出层个数为1的三层BP神经网络,具体包括:在OpenFlow1.3协议的基础上,利用控制器和交换机OpenFlow通道,采用控制器和交换机交换三种封装的controller-to-switch,asynchronous和symmetric信息包,构造OpenFlow交换机和控制器交互相信息数据结构。上述数据结构包括交换机定期将数据中心网络内n个交换机链路负载信息s1,s2,s....,sn、实际应用效果,控制器宏观指导交换拥塞机价格设置策略。样本数据输入为各交换机的链路负载信息,输出为所采用的去模糊化的拥塞价格指导策略,并根据去模糊化的拥塞价格指导策略,在中央控制器构建一个如图所示的输入层个数为n(交换机数目)、隐层神经元个数为m个,输出层个数为1的三层BP神经网络,如图3所示,且设定BP神经网络各层的连接权值及阈值首先随机初始化为[0,1]之间的值。

根据优化后的所述权值及阈值,获取优化神经网络模型,具体包括:随着原始数据越来越多,为了提高神经网络的运算收敛速度,将采用模糊C-平均分群算法将有相关性的属性或性质处理成同一归类,产生多个群组,减少重复数据。

模糊C-平均分群法的思想如下:

Fuzzy C-means的目标函式如公式(1):

其中,uij为数据点si于群集j中的归属度,m是权重系数可以为大于1的任意实数,||si-cj||2代表的是数据点si与群集中心cj的距离函式,一般都是使用欧几里德距离做计算。Fuzzy C-means透过迭代归属度函数和群集中心最小化,用以取得较佳的分群结果,根据公式(2)更新归属度函数uij

根据公式(3)更新群集中心函数cj

若则迭代停止。这边的ε是预先设定的容错误差值,而k为迭代次数。

具体步骤如下:

1.参数初始设定:设定样本数据data、分群数量c、迭代次数k、初始化归属度集合矩阵U;

2.更新群集中心:通过公式(3),计算群集中心cj

3.计算分群归属:通过公式(2),更新新的分群归属度矩阵。

4.终止条件:当时,则迭代停止,否则回到步骤2重复执行。

根据优化后的所述权值及阈值,获取拥塞价格计算策略,具体包括:根据样本数据离线训练BP神经网络各连接权值和阈值,以得到其最优解。

根据所述最优解和各交换机提交的实际负荷和上述训练得到的神经网络模型,计算出目前交换机处于何种状态,根据模糊规则推出目前交换机将采取的拥塞价格计算策略。

根据所述拥塞价格计算策略,计算网络链路拥塞指导价格,具体包括:在交换机层面,根据上层计算拥塞价格的宏观指导政策,研究拥塞价格计算公式中的参数和控制器宏观指导策略的关系,计算网络链路拥塞指导价格;

步骤104:获取当前网络链路拥塞状态;

步骤105:确定当前网络链路拥塞价格向量,具体包括:根据所述网络链路拥塞指导价格和所述当前网络链路拥塞状态,研究拥塞价格计算公式中的参数和控制器宏观指导策略的关系,结合根据控制器给出的高速网络的链路拥塞状态,选择拥塞价格参数向量B,根据p=f(B,Q)计算各交换机参数价格,确定当前网络链路拥塞价格向量,Q为链路当前拥塞状态,其中p=f(B,Q),其中B为常数向量,Q为发送探测包和接收到返回的包的时间差向量

步骤106:调整网络信息发送端口的发送速率,具体包括:

根据所述当前网络链路拥塞价格向量,设置拥塞标志比例的IP包,具体包括:在交换机层面,利用软件定义架构可编程的特性,设置拥塞标志比例的IP包;

添加显式拥塞通知算法,使得交换机能拥塞标志比例的IP包准确反馈到发送端高速网络传输控制协议,进而发送到发送到网络信息发送端口;

提取所述网络信息发送端口中IP包中的当前网络链路拥塞价格向量;

构建所述发送端的TCP首部选项和IP首部选项,具体包括:在网络信息发送端口采用FAST TCP协议,在FAST包首部和IP分组首部添加TCP首部选项、IP首部选项。TCP首部选项和IP首部选项内容包含将FAST发送端的和链路端路由设备的交互信息,具体可包含如下内容:本次协议参数值、历史协议参数值、当前网络瓶颈链路拥塞价格和历史网络瓶颈链路拥塞价格;其中,为保证公平性,各发送端赋予相同的购买力。

获取网络信息发送端口当前网络运行模式,具体包括:在网络信息发送端口,统计得到发送窗口大小、往返延时、网络拥塞价格及上述数据的变化值,进行特征分析、提取和特征复合设计,协同分析,获取如图4所示的网络运行模式;

根据所述当前网络运行模式,确定当前发送窗口大小,具体包括:根据不同模式确定发送窗口变化的大小

根据当前发送窗口大小,调整所述网络信息发送端口的发送速率,具体包括:根据当前发送窗口大小,从而调整发送端的发送速率。如图4所示,当误差很大(e>e1)时,对应区域①,则需要取较大的窗口变化步长;当误差较小((e<e2),且时),对应区域⑤,则取较小的窗口变化步长。

本发明通过上述实施例,实现了避免网络拥塞,从内因上去找到去解决高速网络传输性能优化问题,提高视频直播网络的数据传输性能。

本发明还提供一个基于软件定义的视频直播网络传输性能优化系统,如图2所示,具体包括:链路运行信息获取模块201、样本数据确定模块202、网络链路拥塞指导价格计算模块203、当前网络链路拥塞状态获取模块204、当前网络链路拥塞价格向量确定模块205以及发送速率调整模块206。

链路运行信息获取模块201,用于获取全局网络链路运行信息,具体包括:

数据传输子模块,用于发送探测包至交换机设备,并接收所述交换机设备根据发送探测包发送的返回探测包;

当前链路拥塞状态判断子模块,用于根据发送探测包和接收到返回探测包的时间间隔,判断当前链路的状态;若所述时间间隔大于设定阈值,则判断原有的链路为拥塞状态或不可用状态;否则则判断原有的链路为正常状态;

全局网络链路运行信息获取子模块,用于根据所述当前链路的状态,获取全局网络链路运行信息。

样本数据确定模块202,用于根据所述全局网络链路运行信息,确定样本数据,具体包括:

时间间隔计算子模块,用于计算发送探测包和接收到返回探测包的时间间隔;

时间间隔判断子模块,用于根据所述时间间隔,判断时间间隔是否大于设定阈值;若否,则获取链路正常数据;

样本数据确定子模块,用于根据所述链路正常数据,确定样本数据。

网络链路拥塞指导价格计算模块203,用于根据所述样本数据,计算网络链路拥塞指导价格,具体包括:

关系设置子模块,用于设置全局网络拥塞状态与计算拥塞价格参数的映射关系;

神经网络构建子模块,用于根据所述样本数据和所述映射关系,构建神经网络模型,其中所述神经网络模型表示一个输入层个数为N,隐层神经元个数为M,输出层个数为1的三层神经网络;

权值及阈值优化子模块,用于优化所述神经网络模型中的各层连接的权值及阈值;

网络链路拥塞指导价格计算子模块,用于根据优化后的所述权值及阈值,计算网络链路拥塞指导价格。

当前网络链路拥塞状态获取模块204,用于获取当前网络链路拥塞状态;

当前网络链路拥塞价格向量确定模块205,用于根据所述网络链路拥塞指导价格和所述当前网络链路拥塞状态,确定当前网络链路拥塞价格向量;

发送速率调整模块206,用于将所述当前网络链路拥塞价格向量发送到网络信息发送端口,并根据网络信息发送端口接收的当前网络链路拥塞价格向量,调整所述网络信息发送端口的发送速率,具体包括:

IP包设置子模块,用于根据所述当前网络链路拥塞价格向量,设置拥塞标志比例的IP包;

IP包发送子模块,用于通过拥塞通知协议,将设所述IP包发送到网络信息发送端口;

提取子模块,用于提取所述网络信息发送端口中IP包中的当前网络链路拥塞价格向量;

FAST TCP首部选项和IP首部选项构建子模块,用于构建所述发送端的TCP首部选项和IP首部选项;

当前网络运行模式分析子模块,用于根据所述发送端的FAST TCP首部选项和IP首部选项,获取网络信息发送端口当前网络运行模式;

当前发送窗口大小确定子模块,用于根据所述当前网络运行模式,确定当前发送窗口大小;

发送速率调整子模块,用于根据当前发送窗口大小,调整所述网络信息发送端口的发送速率。

本发明通过上述实施例,实现了避免网络拥塞,从内因上去找到去解决高速网络传输性能优化问题,提高视频直播网络的数据传输性能。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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