一种基于SDN的直播视频流媒体分发方法与流程

文档序号:17455343发布日期:2019-04-20 03:13阅读:487来源:国知局
一种基于SDN的直播视频流媒体分发方法与流程

本发明涉及流媒体视频、多媒体网络、软件定义网络和云计算资源管理领域,更具体地,涉及了一种基于SDN(软件定义网络)的直播视频流媒体分发方法。



背景技术:

近年来,互联网流量出现井喷式增长,尤其是多媒体视频流量贡献了很大比重。预计到2019年,多媒体视频流量将占到整个互联网流量的80%。同时,伴随着3G/4G/WiFi无线网络的快速部署和智能终端设备的普及,移动互联网的用户规模也快速增长,人们可以更方便快捷地接入海量的视频服务中。

作为视频服务中的关键应用,视频直播技术广泛应用于各个领域,包括但不局限于信息服务(如新闻以及体育赛事)、教育服务(在线教育以及公开课)、娱乐服务(游戏直播以及影视直播)还有商业服务(视频会议以及视频监控)。例如,游戏直播平台Twitch已经在国外大获成功同时,国内的直播平台也如雨后春笋;美国份额最大的流媒体视频提供商Netflix在互联网高峰时期的流量已经占到了整个互联网流量的37%。

在视频直播平台架构中,视频分发系统占据了非常重要的地位。为了满足不同区域的用户能够快速接入视频的要求,视频内容提供商在多地建立数据中心,利用网关服务器或者互联网服务提供商的DNS服务器对为用户进行请求重定向选择合适的数据中心。当用户请求一个视频时,首先将该请求发送至直播平台自建的网关服务器,然后根据自适应算法为该用户选择最优数据中心,之后数据中心与用户之间进行直接的通讯,发送视频直播流。

虽然视频直播发展迅猛,但构建高质量的视频直播平台仍然面临诸多难点。

第一是用户设备的多样性。用户会使用不同的设备来观看视频,从传统的IPTV、PC到现在的平板电脑、智能手机,甚至在很多嵌入式设备中都能观看视频直播。每一种设备的分辨率、视频处理能力都不尽相同,同时,用户的接入网络也不尽相同,用户可以随时通过无线网络、家庭网络接入视频服务;这要求视频提供商必须提供多个流媒体版本,根据用户自身情况自适应地去选择视频版本。

第二是视频直播频道的多样性。视频直播频道种类多、观看人数存在巨大差异。例如,在2014年,超过百万人通过视频直播观看世界杯,占到了当时流量的40%;例如,Twitch平台大约有5500万个观众观看100万个不同的频道,而前20%的频道已经吸引了大概80%的观众,呈现典型的长尾效应。

为了应对这巨大的挑战,从根本上保障用户的QoE,需要对从用户设备到视频源整个端对端(end-to-end)的传输路径进行有效控制;当发生网络拥塞时,能通过调整链路、调节视频码率,甚至临时增强无线网络传输功率的方式,保障系统提供的QoS。同时,为了进行直播频道之间的协调,避免因为缺乏全局信息而陷入局部拥塞,应该使用中央控制单元进行集中式控制。

软件定义网络(SDN)的出现为下一代网络架构指明了方向。通过SDN的南向接口(典型的如OpenFlow协议),SDN控制器可以收集全局的网络拓扑信息,并通过北向接口与网络应用程序交互获取实时路由算法,之后对直播视频流进行路由控制。

为了提供实时流视频分发服务,视频直播平台运营商需要向ISP(互联网服务提供商)购买相应的服务以及带宽。对于视频直播平台运营商而言,带宽开销构成了其主要的运营成本,为了不仅仅保证观众的用户体验,同时能够降低视频分发所带来的带宽开销,视频直播平台运营商需要一种最优化算法。

综上所述,从视频直播平台运营商的角度出发,为了最小化运营成本(带宽开销),同时保证用户的良好观看体验,视频直播平台需要设计一种策略来最优化带宽分配和视频流分发,使得视频直播平台运营商能够以最小的开销提供尽可能好的用户体验。

Mukerjee,M.K.,Naylor,D.,Jiang,J.,Han,D.,Seshan,S.,and Zhang,H,“Practical,Real-time Centralized Control for CDN-based Live Video Delivery”,In Proceedings of the 2015ACM Conference on Special Interest Group on Data Communication.该技术将集中式控制单元引入CDN平台,收集所有分发视频的信息和全局网络拓扑信息,利用整数划分近似算法来降低算法复杂度,为每个视频流分配带宽并作出路由决策。该技术中依赖于现有的CDN架构,在优化目标中考虑不够全面,仅仅将用户收到的码率作为评判指标,并且,该技术并没有从整个系统的运行周期中考虑系统性能与开销之间的权衡。最后,该技术在每个时间段提供的是近似算法而非最优化算法。

F.Chen,C.Zhang,F.Wang,and J.Liu,“Crowdsourced Live Streaming Over The Cloud”,in INFOCOM,2015.该技术从视频上传者角度出发,考虑当游戏主播上传直播视频时,如何为其选择一个最优的服务器来接收其上传的视频流。在衡量服务器最优性时,该技术主要以地域分布以及服务器负载两个指标作为衡量标准。在该技术中,只讨论了如何为视频源选择一个最优的视频上传点,并没有将视频直播平台中的其他角色,如:观众的用户体验,加入到算法设计的考虑中。单纯地从视频上传者的角度进行算法设计,无法保证算法的实际优化效果,且无法保证用户体验。

Ganjam,A.,Siddiqui,F.,Zhan,J.,Liu,X.,Stoica,I.,Jiang,J.,...&Zhang,H,“C3:Internet-scale control plane for video quality optimization.In12th USENIX Symposium on Networked Systems Design and Implementation”,in NSDI,2015.该技术设计了一种称之为C3的控制层-数据层分离架构,来提高视频播放中的用户体验。为了解决系统的扩展性,C3通过牺牲一定的模型精确度来达到海量扩展;同时,为了解决设备多样性,C3将所有的决策算法都放在了一个集中式控制器中,同时在控制层和数据层之间设计了一个中间层用以统一视频播放信息提供给模型。该技术虽然利用了SDN的思想进行了控制层-数据层的分离,但其主要解决的是设备多样性以及系统可扩展性的问题,并没有进行路由优化,而且其控制器中使用了机器学习的方法为每个请求做出决策并没有考虑全局的网络拓扑信息。

Egilmez H E,Tekalp A M.,“Distributed QoS architectures for multimedia streaming over software defined networks”,in IEEE Transactions on Multimedia,2014.该技术利用软件定义网络的全局网络拓扑信息以及分布式的控制器框架了,提供了一个可以进行水平扩展的流媒体分发解决方案。同时,该技术具有良好的灵活性,能适应不同需求(例如低延时、高码率等等)。该技术在进行优化的过程并没有考虑不同视频源之间的协同合作,可能会导致局部的网络拥堵,同时,也没有考虑视频直播平台运营商的成本因素。因此,通过该技术得到的视频分发策略并不能有效地保证用户体验,也不能保证视频直播平台运营商的成本能够被控制在一个合理的范围内。



技术实现要素:

针对视频直播平台中存在的,海量频道、观众分布不均衡、设备复杂多样、带宽消耗巨大等问题,为了在满足服务质量的基础上,尽可能地降低视频直播平台运营商的运行成本,本发明提出了一种基于SDN(软件定义网络)的直播流媒体分发方法。

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

一种基于SDN的直播流媒体分发方法,包括以下步骤:

S1.将视频直播服务平台运行周期切割成若干个时间段;

S2.在每一个时间段开始时,通过SDN底层交换机收集当前网络拓扑信息,结合直播平台提供的直播频道信息、用户信息,汇总至SDN中央控制单元;

S3.采用Lyapunov优化方法确保服务质量QoS,在此基础上利用Page Rounding算法得到最优解,其决策结果包括每个视频直播频道的路由选择;

S4.基于获取的决策结果对给每个视频直播频道做出路由选择决策,通过SDN南向接口将决策信息发送至各SDN交换机,同时实时接收来自用户的观看反馈信息。

步骤S3中求解获得决策的方式具体为:在一个具体实施方式中,本发明可以将最小化运营成本、最优化用服务质量的优化问题转化为Lyapunov优化问题,将系统收集的状态信息作为该优化问题的已知条件,将服务质量QoS指标(延时)作为约束条件,并同时设置一个可容忍的延迟下界来保证用户体验质量,然后解出最优解作为决策结果。为了使用Lyapunov优化框架,本发明将基于时间平均的延迟约束条件转化为基于队列稳定性的条件,在这个优化问题中,为每一个AS定义一个虚拟队列θk(t)。同时定义虚拟队列更新方程:

其中,Dk(t)表示第k个AS在第t时隙所感受到的视频平均延时,ηk表示第k个AS能接受的服务质量,表示当前服务质量是否满足预期,ξ表示预设的视频平均延时,。虚拟队列用于衡量系统实际提供的总体服务质量与用户期待的服务质量之间的累积差距。

根据Lyapunov优化框架,定义Lyapunov方程如下:

ΔU(t)=Ε[U(t)-U(t-1)|state at time(t-1)]

U(t)用于衡量队列的大小,Δ(U(t))表示相邻两个时间段队列数组的变化量。根据Lyapunov优化框架,可以依据用户用电请求信息和系统状态信息在每一个时间段内计算出满足如下最优化方程:

s.t.(a)(b)(c)

其中,C表示当前活跃的直播视频集合,相应的ci表示第i个视频;L表示当前所有的链路集合,相应的lj表示第j条链路;R表示直播视频流的路由矩阵,表示第i个视频是否使用了第j条链路,0表示不使用,1表示使用;Φi(j)为第i个视频在第j条链路的带宽开销,而F(R)为按照当前路由矩阵R传输视频中使用的系统开销,约束量(a)(b)(c)为系统定义的约束条件,具体为:

a)所有链路,要么传输i视频,要么不传输;

b)所有链路,只能传输小于等于它的带宽限制的数据;

c)j′∈I(j)所有链路,只能传输已经接受到的视频流。I(j)表示第j条链路的输入链路集合。

之后使用Pi-Page Rounding算法将非确定性多项式难问题(Non Deterministic Polynomial Hard Problem)——NP-Hard问题转换成多项式时间内可解问题。

Pi-Page Rounding分为了两个子步骤:

(1)凸函数松弛;由于定义的链路带宽费用模型都是凸函数,使用下列概率型进行松弛:

其中,r称之为概率矩阵,rij表示为1的概率,表示的数学期望;

则上述最优化问题:

s.t.(a)(b)(c)

可以转换成:

s.t.(a)(b)(c)

(2)迭代步骤;首先在多项式时间内求解出最优解r*,如果当前r*中不存在小数,则输出路由矩阵R=r*;如果r*中存在小数,随机选择一个小数,将其转换成0或者1之后,可以使得总体运营开销减小。

优选的,第k个AS在第t个时间段所感受到的延迟Dk(t)必须在预设的可容忍范围之内,即满足下式;

带宽费用定义如下:

其中,δj(t)表示t时刻第j条链路的传输数据总量,ψj(t)表示t时刻第j条链路的可用带宽,ρi表示视频流的优先级别,而则反映了当前链路的拥堵程度,而函数φ定义了单位带宽价格,通常是一个递增的凸函数。

本发明充分考虑了不同直播类型(海量同时在线的直播频道,如世界杯;具有长尾效应的用户生成直播内容,如YouTube直播频道),利用SDN提供的全局网络信息以及Lyapunov优化框架,在用户服务质量与运营商运营成本中,利用本发明提出的基于Pi-Page Rounding路由算法,寻找一个最优的均衡点,为每一个视频流选择一个最适合的路由路径的同时,保证运营成本最小化。

附图说明

图1本发明中直播视频流路由算法的流程图。

具体实施方式

下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。

视频直播平台

视频直播平台(Live Video Streaming Platform)是以电视频道、直播网站、用户上传视频为视频源,为观众提供实时视频服务的视频平台。视频直播平台主要负责收集视频源,并将视频源分发到各个观众。

视频直播服务运营商

视频直播服务运营商(Live Video Streaming Service Provider)是视频直播平台的运营商。借助软件定义网络、云计算、云存储、网络流优化等技术,对实时视频流进行处理,并将处理后的视频流分发给观众。

SDN集中式控制路由

软件定义网络(Software Defined Networking)是下一代的网络架构,它将传统网络设备中控制与转发功能分离,通过一个中心式的控制器获取全局网络信息,利用南向接口OpenFlow协议对基础网络设施进行控制,可以显著提升网络系统的性能。

Lyapunov优化框架

Lyapunov优化框架用于设计针对于动态系统的在线决策算法,并使决策达到最优的同时保持系统状态的稳定性。该优化框架的最大优势是不需要提前知道系统未来的状态信息。

Pi-Page Rounding路由算法

Pi-Page Rounding路由算法用于解决实时计算视频流传输路由的问题。由于SDN提供了全局的网络信息,带来极大的优化空间的同时,也因为网络拓扑结构复杂,使得实时计算路由变得极其困难。Pi-Page Rounding路由算法可以在提供多项式时间内的解决方案。

针对视频直播平台中存在的,海量频道、观众分布不均衡、设备复杂多样、带宽消耗巨大等问题,为了在满足服务质量的基础上,尽可能地降低视频直播平台运营商的运行成本,本发明提出了一种基于软件定义网络的直播流媒体分发方法。

本发明充分考虑了不同直播类型(海量同时在线的直播频道,如世界杯;具有长尾效应的用户生成直播内容,如YouTube直播频道),利用SDN提供的全局网络信息以及Lyapunov优化框架,在用户服务质量与运营商运营成本中,本发明基于Pi-Page Rounding路由算法,寻找一个最优的均衡点,为每一个视频流选择一个最适合的路由路径的同时,保证运营成本最小化。

本发明的基本技术包括:服务质量QoS模型、视频直播服务运营商开销模型和直播视频流路由算法。

服务质量QoS模型

在视频直播平台中,服务质量QoS间接反映了用户的观看体验。服务质量QoS是衡量视频直播平台性能的重要指标之一。

首先,为了支持自适应编码技术以及差分服务,在优化用户的体验的同时节省带宽,本发明为每一个直播视频流定义了客观的编码码率以及主观的视频优先级。由于视频直播运营商不能控制AS到达用户设备的路径,本发明将视频源与AS之间的延时作为系统的QoS指标。

通常来说,用户感受到的延迟主要由三个部分组成:

视频源服务器生成视频、进行视频编码的延时;

网络传输中的延时;

在用户设备客户端解码视频、进行视频渲染的延时。

在本发明中,主要考虑的是网络延时。网络延时作为系统服务质量QoS的指标,如下公式所示:

其中,ηk表示在第k个AS预先定义的服务质量下限,表示在当前时间序列中,第k个AS中的实际服务质量,而在第k个AS在t时刻的延迟被定义为在当前AS所接受到的所有视频的平均延时,如下公式所示:

其中ωi定义了每个视频的优先级,定义了第i个视频流在第k个AS的延时,而Hk(t)定义了第k个AS当前接受到的视频数量。该公式保证了在整个视频直播平台运行的过程中,每一个AS接受到的服务质量都不低于某个预设的下限。

视频直播服务运营商开销模型

本发明在保证服务质量QoS的基础上,进一步尽可能降低视频直播服务运营商的运营成本。在视频直播平台中,视频直播服务运营商的运营成本就是带宽开销成本。

对于地理位置分布不同的数据中心来说,由于分布的地理位置不同,单位带宽价格也不尽相同,并且单位带宽价格随着时间波动。同时,考虑到在链路拥堵的情况下网络包的发送会出现等待情况,间接地增大了带宽成本。所以,本发明中,带宽的消耗取决于两个因素:发送数据的大小以及链路的拥堵情况。

在本发明中,每个视频流的带宽开销的定义如下:

其中,δj(t)表示t时刻第j条链路的传输数据总量,ψj(t)表示t时刻第j条链路的可用带宽,ρi表示视频流的优先级别,而则反映了当前链路的拥堵程度,而函数φ定义了单位带宽价格,通常是一个递增的凸函数。

直播视频流路由算法

下面结合流程图1和实施实例对本发明做进一步的说明。

图1为本发明的流程图,具体步骤如下:

(S101)将视频直播服务平台运行周期切割成若干个时间段;

(S102)在每一个时间段开始时,通过SDN底层交换机收集当前网络拓扑信息,结合直播平台提供的直播频道信息、用户信息,汇总至SDN中央控制单元;

(S103)采用Lyapunov优化方法确保服务质量QoS,在此基础上利用Page Rounding算法得到最优解,其决策结果包括每个视频直播频道的路有选择;

(S104)基于获取的决策结果对给每个视频直播频道做出路由选择决策,通过SDN南向接口将决策信息发送至各SDN交换机,同时实时接收来自用户的观看反馈信息。

在一个具体实施方式中,系统收集的状态信息包括:视频流的码率信息、用户请求信息、带宽容量信息、单位带宽价格信息等。

在一个具体实施方式中,本发明可以将最小化运营成本、最优化用服务质量的优化问题转化为Lyapunov优化问题,将系统收集的状态信息作为该优化问题的已知条件,将服务质量QoS指标(延时)作为约束条件,并同时设置一个可容忍的延迟下界来保证用户体验质量,然后解出最优解作为决策结果。为了使用Lyapunov优化框架,本发明将基于时间平均的延迟约束条件转化为基于队列稳定性的条件,在这个优化问题中,为每一个AS定义一个虚拟队列θk(t)。同时定义虚拟队列更新方程:

其中,Dk(t)表示第k个AS在第t时隙所感受到的视频平均延时,ηk表示第k个AS能接受的服务质量,表示当前服务质量是否满足预期。虚拟队列用于衡量系统实际提供的总体服务质量与用户期待的服务质量之间的累积差距。

根据Lyapunov优化框架,定义Lyapunov方程如下:

ΔU(t)=Ε[U(t)-U(t-1)|state at time(t-1)]

U(t)用于衡量队列的大小,Δ(U(t))表示相邻两个时间段队列数组的变化量。根据Lyapunov优化框架,可以依据用户用电请求信息和系统状态信息在每一个时间段内计算出满足如下最优化方程:

s.t.(a)(b)(c)

其中,C表示当前活跃的直播视频集合,相应的ci表示第i个视频;L表示当前所有的链路集合,相应的lj表示第j条链路;R表示直播视频流的路由矩阵,表示第i个视频是否使用了第j条链路,0表示不使用,1表示使用;Φi(j)为第i个视频在第j条链路的带宽开销,而F(R)为按照当前路由矩阵R传输视频中使用的系统开销,约束量(a)(b)(c)为系统定义的约束条件,具体为:

a)所有链路,要么传输i视频,要么不传输;

b)所有链路,只能传输小于等于它的带宽限制的数据;

c)j′∈I(j)所有链路,只能传输已经接受到的视频流。I(j)表示第j条链路的输入链路集合。

该算法过程的伪代码如下所示。

对于上述算法中步骤5所需求解的优化目标,可以进一步通过本发明提出的执行于每一个时隙的Pi-Page Rounding路由算法,在多项式时间求解最优解,如下所示。

本发明提出了一种基于软件定义网络的直播流媒体分发方法,本发明详细描述了直播视频流分发方法。本发明在具体实施时可以有多种方法,包括但不局限于:

1、针对视频直播平台的特性,使用软件定义网络获取网络拓扑信息,并收集视频流信息、用户请求信息,为了支持自适应编码技术和差分服务,为每一个视频流定义了优先级;

2、针对不同的直播类型,可以通过调整阈值进行适应性改变,而且可以针对不同地区的用户进行个性化设置;

本发明中,各模块的结构和连接方式都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别算法模块的结构进行的改进和等同变换,均不应排除在本发明的保护范围之外。

本发明提出的系统工作流程中的关键数学模型和方法有:服务质量QoS模型、视频直播服务运营商开销模型和直播视频流路由算法。服务质量QoS模型表达了系统的整体性能,而视频直播平台运营商开销模型表达了系统在运行过程中开销,两者都是本发明的基础。本发明提出的基于直播视频流路由算法能根据有限的系统状态信息、AS延迟等信息,动态地做出视频流路由决策,在保证服务质量QoS的基础上,优化视频直播平台运营商的总开销。本发明提出的直播视频流路由算法是本发明的核心内容。

以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

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