本发明属于边缘计算领域,具体是一种边缘环境下,在部署服务链进行视频流量检查的同时,达到设备间负载均衡并满足用户时延要求的系统及其传输方法。
背景技术:
移动设备的普及使得越来越多人在移动设备上进行娱乐,而观看视频是常见的娱乐方式之一。移动视频的流量通常巨大,这对用户观看视频的实时性提出了越来越高的要求。边缘计算和网络功能虚拟化技术的发展,使得越来越多的企业将服务部署在边缘,以满足用户对低时延服务的需求。企业通过这些服务也能对边缘环境内的流量进行检查。
高速移动环境下的无线网络通信质量通常会变差,因此边缘环境下的边缘设备通过提供wifi接入点(称为边缘环境接入点)为用户提供了相对稳定的网络接入。但是,当前的实现并没有很好的应对移动设备的移动性:当移动设备远离原有的边缘环境接入点时,将断开原有的连接,导致观看视频中断。用户通过边缘设备在移动设备上观看视频时,其观看体验还面临以下挑战:
1、为了发现周围的边缘设备,移动设备需要扫描多个信道,这增加了时间开销。
2、由于移动设备的移动性,边缘环境接入点和移动设备距离会持续变化,这使得固定的边缘环境接入点无法很好的传输视频流量,甚至可能造成连接中断。
3、视频流量在边缘设备间的次优转发极易使得流量通过相同边缘设备,从而造成该边缘设备cpu过载,解决该问题需要精准测量边缘设备cpu负载,并引导视频流量通过cpu负载较低的边缘设备。
技术实现要素:
为了解决现有技术中的问题,本发明提出一种面向边缘环境的视频传输系统,该系统可以在对视频流量进行检查的同时,缓解边缘环境下设备的过载问题,并满足用户观看视频的时延要求。
本发明的另一目的在于提供上述面向边缘环境的视频传输系统相应的传输方法。
为了达到上述发明目的,本发明采用以下技术方案:
一种面向边缘环境的视频传输系统,包括移动设备、视频服务器、控制器和边缘设备,其中,
移动设备用于运行视频客户端,向控制器发送接入点查询请求,连接控制器返回的接入点边缘设备;
视频服务器用于存储视频,并将视频内容切分成固定大小的视频块;
控制器用于通过缓存策略将视频块缓存在边缘设备上;响应移动设备的接入点查询请求,根据边缘设备cpu负载模型为移动设备选择负载最低的边缘设备作为接入点;以及通过在线部署算法得出部署边缘设备集合,并下发流表项到该集合中的部署边缘设备以控制视频流量的转发;
边缘设备用于运行对视频流量进行检查的vnf实例,并缓存视频块。
进一步地,所述移动设备周期性向控制器发送接入点查询请求,并根据控制器返回的负载最低的边缘设备进行接入点切换。
进一步地,所述移动设备向控制器发送接入点查询请求时,将当前移动设备的位置信息、通信半径信息发送给控制器,控制器为移动设备选择在该移动设备的通信半径内负载最低的边缘设备作为接入点。
进一步地,所述边缘设备cpu负载模型为:
其中,
进一步地,所述缓存策略为:控制器根据边缘设备上存储的视频块信息集合,当移动设备请求视频的视频块未存储在边缘设备上,且边缘设备存储空间可用时,直接将所述视频块分散缓存在边缘设备上;当边缘设备存储空间不可用时,根据lru(leastrecentlyused)算法找到最近最少被访问的视频块,释放该视频块占用的存储空间,直到有足够空间存储被请求的视频块。
根据上述面向边缘环境的视频传输系统的传输方法,包括以下步骤:
1)视频服务器存储视频内容,并将视频内容切分成固定大小的视频块,控制器通过缓存策略将视频块缓存在各边缘设备上;
2)移动设备运行视频客户端,向控制器发送包含当前移动设备的位置信息、通信半径信息的接入点查询请求,控制器根据边缘设备cpu负载模型计算边缘设备的负载,为移动设备选择通信半径内负载最低的边缘设备作为接入点,移动设备连接控制器返回的接入点边缘设备;
3)控制器响应移动设备的接入点查询请求,通过在线部署算法得出部署边缘设备集合,将流表项下发到该集合内的部署边缘设备以控制视频流量的转发,并部署vnf实例于部署边缘设备集合上以实现对视频流的检查;
4)边缘设备将被请求的视频块传输给移动设备内的视频客户端,由控制器缓存策略进行视频块的更新。
进一步地,所述在线部署算法包括:
a)查找当前边缘环境下满足用户观看视频的时延约束lr的路径集合p1,即路径集合p1中任意源节点到目标节点的最短路径时延和小于时延约束lr,所述源节点为存储有视频块的边缘设备,所述目标节点为移动设备所接入的边缘设备;
b)选择路径集合p1内的路径p来部署服务链;
c)将服务链的网络功能按照指定部署策略部署在路径p内的边缘设备上,这些边缘设备称为部署边缘设备。
进一步地,所述步骤4)包括:当边缘设备存储有视频客户端请求的视频块时,该边缘设备直接将该视频块传输给视频客户端;当边缘设备未缓存有请求的视频块时,该边缘设备从视频服务器下载视频客户端所请求的视频块,传输给视频客户端,同时更新缓存。
相比于现有技术,本发明具有以下优点:
1、通过引入控制器来计算边缘设备负载信息,移动设备可以直接向控制器查询周围可连接的低负载边缘设备,避免在移动设备上频繁扫描周围可连接的边缘设备集合带来的时间开销。且连接接入点的选择和边缘设备cpu负载模型的建立都在控制器进行,没有增加移动设备的计算开销。
2、通过构建细粒度的边缘设备cpu负载模型,将边缘设备的cpu负载情况进行更准确的测量纳入模型中,更精确地刻画了视频流量流过vnf实例后导致的边缘设备cpu负载增量,这种细粒度的边缘设备cpu负载建模利于边缘设备间的负载均衡。
3、移动设备周期性地向控制器查询接入点边缘设备,控制器根据边缘设备cpu负载模型计算出负载最低的接入点,进行切换,并重新运行服务链在线部署算法,引导视频流量走不同路径,平衡了边缘设备间的cpu负载。
4、通过利用边缘设备的存储能力提供视频缓存服务,缩短了用户观看视频的时延,满足了用户观看视频的时延要求。
附图说明
图1为面向边缘环境的视频传输系统结构示意图;
图2为移动设备和边缘设备通信模型图;
图3为vnf实例通信图示例;
图4为服务链在线部署算法流程图;
图5为基于图1的系统场景的数据流图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步说明。
参照图1,在一个实施例中,面向边缘环境的视频传输系统主要包括四个部分:边缘设备、移动设备、控制器和视频服务器,其中,边缘设备是安装在网络边缘的设备(如无线路由器、网关、iot设备等),具有一定的存储和计算能力;移动设备在用户侧,运行着能观看视频的视频客户端;控制器是一台服务器,其通过基站对基站覆盖范围内的边缘设备进行管理。具体而言,系统各组成部分功能如下:
边缘设备:运行着对视频流量进行检查的vnf实例,负责缓存视频块。
移动设备:运行视频客户端,能够观看视频,并周期性上传位置、通信半径等设备信息给控制器。移动设备支持mptcp协议并配备多个网络接口卡,具备同时连接多个边缘设备的能力。
控制器:通过边缘设备cpu负载模型得到边缘设备cpu负载以及移动设备的接入点,响应移动设备的接入点查询请求,通过下发流表项到边缘设备控制视频流量的流转,通过缓存策略将视频块缓存在边缘设备上。
视频服务器:存储视频,并能将视频内容切分成固定大小的视频块。
在该系统中,通过引入控制器来计算边缘设备负载信息,移动设备可以直接向控制器查询周围可连接的低负载边缘设备,避免在移动设备上频繁扫描周围可连接的边缘设备集合带来的时间开销。且连接接入点的选择和边缘设备cpu负载模型的建立都在控制器进行,没有增加移动设备的计算开销。移动设备周期性地向控制器查询接入点边缘设备,控制器根据边缘设备cpu负载模型计算出负载最低的接入点,进行切换,并重新运行服务链在线部署算法,引导视频流量走不同路径,平衡了边缘设备间的cpu负载。以下详述具体的工作过程。
图2所示的是移动设备和边缘设备的通信示意图,其一方面描绘了边缘环境包含多种边缘设备(无线路由器、网关、摄像头等)的特点,另一方面描绘了移动设备能同时连接多个接入点边缘设备的特性。可以将边缘环境抽象为无向图g(v,e),其中,集合v代表边缘设备集合,边集合e代表通信信道,符号l(v,v′)代表边缘设备v和v′的时延。假设移动设备请求的视频大小为m,单个视频块的大小为m,则一共有
图3为vnf实例通信图示例,该通信图能描绘在线部署算法框架运行后,对于某视频流进行检查的服务链
系统的目标是缓解边缘设备的cpu过载问题,所以需要对边缘设备cpu负载进行建模,cpu负载和处理的视频流量有关。部署服务链
由于信道不会改变流量大小,所以由流量守恒可知,部署服务链
其中,
其中,
基于细粒度的服务链负载模型,在时间间隔t内,边缘设备v的cpu负载为:
其中,符号r(t)表示在时间间隔t内的视频流集合。归一化后,可以得到时间间隔t内,边缘设备v的cpu负载率:
其中,符号cv表示边缘设备v的cpu负载容量。控制器根据边缘设备cpu负载模型以及移动设备周期性上传的位置l、通信半径r信息,将以l为中心、半径为r范围内具备最低cpu负载的边缘设备作为移动设备的接入点。
另外,用户观看视频希望时延尽可能地满足其自身需求,即视频流量从任意源节点sr,i到目标节点dr的时延需要满足时延约束lr,(该时延约束总是大于任意源节点到目标节点的最短路径时延和)。为了统一时延约束表示,系统规定服务链添加两个不增加负载的网络功能
因此,服务链的时延约束满足不等式:
系统的目标是达到边缘设备间的负载均衡,公式化表示为:
s.t.(1),(2),(3),(4),(5),(6),(7),(8)
显然,该目标是多约束问题,故采用了一个三阶段的算法框架ω去进行服务链的在线部署,该算法框架运行在控制器端,在获得移动设备的接入点查询请求时发生,如图4所示,包括:
阶段一(时延满足路径搜索):查找当前边缘环境下满足时延约束lr的路径集合p1(固定源节点sr,i和目标节点dr)。
阶段二(部署路径选择):选择路径集合p1内的路径p来部署服务链。
阶段三(网络功能部署):将服务链的网络功能按照某种部署策略部署在路径p内的边缘设备上,下文中称为部署边缘设备。
该算法框架任意阶段内的算法都可以独立设置,例如,网络功能部署算法可以采用贪心策略,每次将网络功能放置在路径p内具有最低cpu负载的边缘设备上。
最后,对该视频传输系统的数据传输过程描述如下。图5是根据图1的系统结构的数据流图。控制器通过边缘设备cpu负载模型计算出边缘设备的cpu负载以及移动设备的接入点边缘设备,通过下发流表项到在线算法框架ω得出的部署边缘设备中来控制视频流量的转发。边缘设备是承载网络功能的载体,运行着对视频流量进行检查的vnf实例,并且能缓存视频块。移动设备运行视频客户端,能够观看视频。视频服务器将视频切分为若干个固定大小的视频块,由控制器的缓存策略将这些视频块缓存在边缘设备上。具体工作流程如下:
1)移动设备运行视频客户端时,首先周期性(t)将当前移动设备的位置l、通信半径r等设备信息发送给控制器,并在接收到控制器的返回信息后,连接接入点边缘设备;
2)控制器接收到移动设备的接入点查询请求时,首先通过边缘设备cpu负载模型得出接入点边缘设备(即以l为圆心,r为半径的圆内负载最低的边缘设备),并立即返回该结果给移动设备,然后通过在线部署算法框架ω得出部署边缘设备集合,部署边缘设备集合是路径p内所有边缘设备组成集合的子集,控制器通过下发流表项到某些边缘设备上控制视频流从源节点sr,i流转到目标节点dr的过程中完整走过路径p,并部署vnf实例于部署边缘设备集合上以实现对视频流的检查;
3)控制器根据掌握的视频块信息决定是否根据缓存策略进行缓存更新,具体地说,如果视频客户端请求的视频都以视频块的形式缓存在某些边缘设备(即源节点sr,i)上,则控制器在运行完在线部署算法后,促使这些边缘设备将视频块传输给视频客户端(通过步骤2的流程);否则,这些边缘设备从视频服务器下载视频客户端所请求的视频块,传输给视频客户端,同时更新缓存。