一种基于软件定义网络SDN的流媒体QoE控制系统的制作方法

文档序号:13212954阅读:527来源:国知局
一种基于软件定义网络SDN的流媒体QoE控制系统的制作方法

本发明涉及软件定义网络领域,尤其涉及一种软件定义网络领域中的流媒体qoe控制系统。



背景技术:

随着移动互联网的发展和网络资费的下降,人们对高质量视频的需求日益增长,而流媒体能做到边下边播,是当下最流行的视频传输方式,而视频传输的最终目的就是提供给用户一个满意的qoe(感知质量,qualityofexperience),使得用户对接收到的视频感觉良好。

传统的流媒体传输系统采用的方式是将视频数据编码后直接发送到网络中,对于网络中的传输不做控制,只负责在接收端进行视频数据的接收、解码和播放,而网络传输环境复杂多变,流媒体又是极易受到带宽、延时、丢包等因素影响的一类数据,网络资源的利用效率较低,很难提供一个较高的qoe。

软件定义网络(softwaredefinednetwork,sdn)是一种新型的网络创新架构,是网络虚拟化的一种实现方式,诞生于美国geni项目资助的斯坦福大学cleanslate课题,其核心思想在于将网络设备的控制面与数据面分离,从而更加方便地管理网络流量。

流媒体qoe控制和软件定义网络sdn相结合,可以进一步提高流媒体传输的qoe,提高用户的直接观看感受,在有限的网络资源条件下,获得更高的视频质量。



技术实现要素:

针对流媒体传输过程中,容易受到复杂的网络环境影响而导致流媒体质量下降的现象,本发明设计了一种基于sdn的流媒体qoe控制系统。本发明将sdn软件定义网络平台与流媒体传输中的qoe控制相结合,设计了一种基于sdn的流媒体qoe控制系统,该系统在软件定于网络平台之上,针对流媒体传输容易受到复杂的网络环境影响的特点,通过采用bp神经网络训练得到权值,利用权值计算每一条路径的qoe效果,选取qoe效果最好的一条路径,提高流媒体传输的质量,使得流媒体传输的qoe得到提高,更好地利用网络资源。

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

一种基于软件定义网络sdn的流媒体qoe控制系统,该系统包括流媒体服务器、流媒体客户端、openflow交换机层、sdn控制层和bp神经网络训练模块,其特征在于:

所述流媒体服务器包括视频串流软件、硬件编码板,将实时视频或本地视频文件编码之后在网络中进行传输;

所述流媒体客户端工作于windows平台之上,负责接收网络中流媒体服务器发送的流媒体数据流,对流媒体数据流进行解码之后进行显示播放;

所述openflow交换机层包括在编译openwrt系统的过程中添加对openflow协议支持的硬件交换机、mininet平台中使用的openvswitch虚拟交换机;

所述openflow控制层使用的是ryu控制器框架,ryu控制器负责网络感知、lldp协议发送与接收、网络参数计算、路径计算、qoe数值排序和openflow流表下发;

所述系统建立在sdn平台上,在sdn平台中,通过对openflow流表的下发与接收,获取到网络的带宽和链路损耗等参数,通过给各交换机发送和接收lldp协议获取到各个链路的延时,将得到的延时、带宽和链路损耗与网络拓扑结合,通过将使用bp神经网络训练得到的数据进行权值的叠加,为每个链路得到一个预期的qoe值,对各个链路得到的预期的qoe值进行排序之后,将qoe预期值最好的一条路径的流表发送给各个openflow交换机或mininet中的虚拟交换机,控制网络中的流媒体传输路径,得到一个较好的流媒体qoe体验,并抽象出api以备进一步开发。

特别地,sdn平台中的流表下发与接收,采用的是ryu控制器中的openflow协议部分,支持openflow1.0到openflow1.3版本,可以通过openflow协议获取到网络的状态。

特别地,使用lldp获取网络延时的方法为计算两个交换机之间,数据包发送和接收的时间差,即为该条链路的延时。

特别地,为经过计算得到的各个链路qoe预期值使用的排序方法为冒泡排序方法,对数值进行从大到小的排序,选取最大的一条路径作为传输路径。

特别地,ryu控制器框架中的api提供,可以用于进一步的开发,针对流媒体的传输提出具有复杂策略的传输方法。

openflow、openwrt、mininet、openvswitch、ryu、lldp是sdn(softwaredefinednetwork,软件定义网络)专业领域中的惯用表达,分别代表南向接口的交互协议、一种用于路由器上的linux系统发行版、一种网络环境仿真平台、一种虚拟交换机、一种sdn中常用的控制器框架和链路层发现协议。

本发明的有益效果:

1系统设计了一种基于sdn的流媒体qoe控制方法,提高了对网络资源的利用效率。

2系统采用bp神经网络对已知的数据集进行训练,得到的权值具有较好的适应性。

3系统采用sdn转发的方式,集中化的控制器保证了足够的计算资源,并对整个网络资源有了一个整体的把握。

4系统将sdn软件定义网络和流媒体qoe控制结合在一起,提高了流媒体的传输效果。

附图说明

图1是本发明基于sdn的流媒体qoe控制系统的整体结构图;

图2是本发明基于sdn的流媒体qoe控制系统的整体流程图;

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合附图对本发作进一步说明。

本发明设计了一种基于sdn的流媒体qoe控制系统。本发明将sdn软件定义网络平台与流媒体传输中的qoe控制相结合,设计了一种基于sdn的流媒体qoe控制系统,该系统运行在软件定义网络平台之上,针对流媒体传输容易受到复杂的网络环境影响的特点,通过采用bp神经网络训练得到权值,利用权值计算每一条路径的qoe效果,选取qoe效果最好的一条路径,提高流媒体传输的质量,使得流媒体传输的qoe得到提高,更好地利用网络资源。

图1给出了本发明所述系统的整体架构,整个系统共分为四个部分,流媒体终端层、openflow交换机层、sdn控制层和一个数据训练模块。各层的具体功能为:

(1)流媒体终端层位于系统的低端,包括流媒体服务器和流媒体客户端,流媒体服务器负责将视频进行编码之后发送到网络中,流媒体客户端负责接收网络中的流媒体数据,进行解码后播放。

(2)openflow交换机层包括硬件支持openflow协议的交换机和路由器、支持openflow协议的虚拟交换机openvswitch。

(3)数据训练模块,将准备好的数据集使用bp神经网络进行训练,并提取训练结果最好的一种模型所对应的权值矩阵。

(4)sdn控制层,本层是系统的核心层,负责感知网络状态,通过下发和接收openflow、lldp等协议,获取到网络的延时、带宽、链路损耗等数据,获取到网络的拓扑结构后,将数据训练模块提供的权值矩阵与网络参数相结合,遍历所有的传输路径,计算出qoe值之后,进行排序,将qoe最大的一条路径作为传输路径来进行流媒体的传输,并向上提供了api以备进一步的开发。

本发明所述的一种基于sdn的流媒体qoe控制系统的主要流程图如图2所示。

具体步骤为:

(1)sdn环境初始化,将需要的mininet环境和各openflow设备进行初始化。

(2)控制器事件注册,将控制器中需要用的各类模块进行注册。

(3)sdn控制器初始化,初始化之后同时进行跳转到(7)、(8)、(11)

(4)数据集,准备好数据集,包括延时、带宽、链路损耗和qoe值的对应关系。

(5)bp神经网络训练,将数据集放入训练模型中进行训练。

(6)权值获取器,获取bp神经网络训练过程中产生的权值矩阵,并跳转到(15)。

(7)感知网络拓扑,获取到网络结构,并跳转到(15)。

(8)发送lldp,控制器给各个openflow交换机下发lldp协议。

(9)接收lldp,控制器接收lldp协议。

(10)获取延时,通过计算两个交换机之间发送和接收数据包的时间差计算每条链路的延时信息,并跳转到(15)。

(11)发送openflow,控制器给各个openflow交换机下发openflow协议。

(12)接收openflow,控制器接收返回的openflow协议。

(13)获取带宽,从接收到的openflow协议中获取带宽信息。

(14)计算损耗,通过计算可用带宽差得到链路损耗,并跳转到(15)。

(15)叠加权值,将链路损耗、链路带宽、延时、权值矩阵和网络拓扑进行叠加,计算出每一条路径的预期qoe。

(16)qoe排序,将计算得到的qoe值使用冒泡排序的方式从小到大排序,并选择预期qoe最大的一条路径作为传输路径。

(17)下发流表,将最佳路径的流表进行下发,进行流媒体数据的传输。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对发明保护范围的限制,所属领域技术人员应该明白,在本发明技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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