时延、资源和能耗感知的虚拟网络在线迁移方法和装置

文档序号:25992232发布日期:2021-07-23 21:04阅读:123来源:国知局
时延、资源和能耗感知的虚拟网络在线迁移方法和装置

本发明涉及一种时延、资源和能耗感知的虚拟网络在线迁移方法和装置。



背景技术:

传统的网络结构较为“僵化”,需要部署多种专用的硬件设备以提供各种服务,改变服务类型可能需要更换硬件设备。网络功能虚拟化(nfv,networkfunctionvirtualization)使用通用的硬件设备来部署多种功能软件,这种提供服务功能的模式解耦了硬件和软件,从而实现灵活的功能部署。其中,虚拟网络功能是特定网络功能在共享的通用硬件资源上的软件实现。

目前,虚拟网络功能的迁移算法中,大多是对离线迁移算法的研究。而在目前为数不多的在线迁移算法中,只考虑资源需求和时延受流速的影响,但未见考虑某个流的速率变化对同在一个节点上其他流延迟的影响。同时,未考虑网络流量整体呈上升趋势这一因素。事实上,流速变化会引起资源需求的变化,同时改变所在节点的资源利用率,进而引起其它共用节点的流端到端时延的变化。对于不再满足时延需求的流,或不再满足资源需求的节点,应选择其上的nfv实例重新映射(迁移)。同时,流量降低可能增加资源利用率较低节点的数量,为了进一步降低能耗,应迁移此类节点上nfv实例,从而使得更多的节点处于关闭状态。另外,网络中流量整体上呈上升趋势,但每日网络流量随时间的变化趋势是有规律的。



技术实现要素:

为了解决上述技术问题,本发明提供一种时延、资源和能耗感知的虚拟网络在线迁移方法和装置。

一种时延、资源和能耗感知的虚拟网络在线迁移方法,包括:

步骤a1:检测当前时间区间的持续计时器是否已经持续预设时间间隔,若是,转步骤a2;若不是,转步骤a3;

步骤a2:进入下一个时间区间,重置持续计时器,并使用所述下一个时间区间的最大流速率计算所有流的节点和链路带宽资源需求量,同时计算流延迟;

步骤a3:检测是否存在节点资源需求量高于节点资源总容量的节点,若存在,转步骤a7,若不存在,转步骤a4;

步骤a4:检测是否存在链路带宽资源需求量高于链路带宽资源总容量的链路,若存在,转步骤a8,若不存在,转步骤a5;

步骤a5:检测是否存在时延高于预设时延要求的流,若存在,转步骤a9,若不存在,转步骤a6;

步骤a6:检测是否存在节点资源利用率低于预设节点资源利用率最小值的节点,若存在且流量变化趋势为下降,转步骤a10,否则,转步骤a1;

步骤a7:对映射所述节点资源需求量高于节点资源总容量的节点资源需求量最高的流应用预设的流迁移算法进行迁移,转步骤a4;

步骤a8:对映射所述链路带宽资源需求量高于链路带宽资源总容量的链路的带宽需求量最高的流应用所述预设的流迁移算法进行迁移,转步骤a5;

步骤a9:对所述时延高于预设时延要求的流应用所述预设的流迁移算法进行迁移,转步骤a6;

步骤a10:对所述节点资源利用率低于预设节点资源利用率最小值的节点内所有nfv实例所在的流应用所述预设的流迁移算法进行迁移,转步骤a1。

进一步地,所述预设的流迁移算法的过程包括:

步骤b1:初始化程序,读取当前底层网络拓扑和服务功能链请求,置标志变量allmapped=0;

步骤b2:按预设顺序取出服务功能链中待映射的节点,若不存在未映射的节点,置allmapped=1,跳转至步骤b4;若存在,跳转至步骤b3;

步骤b3:选择迁移奖励值最大的节点来映射;若能找到可映射节点,记录新的网络拓扑,继续步骤b4;若不能,跳转至步骤b6;

步骤b4:取出已映射两端顶点的虚拟链路,若不存在未映射的链路,且allmapped值为1,则接受服务请求,更新网络拓扑,结束;否则,转步骤b5;

步骤b5:使用dijistra算法,为已映射两端顶点的虚拟链路在物理网络上选择跳数最少的路径;若能找到可映射的路径,记录新的网络拓扑,返回步骤b2;若不能,跳转至步骤b6;

步骤b6:拒绝服务请求,结束。

进一步地,根据迁移奖励算法得到节点的迁移奖励值,所述迁移奖励算法的过程包括:

节点上其它nfv实例所在流延迟增量为:

其中,t表示流;r表示服务功能链请求,每一个属于r的映射的请求成功映射后,将以流的方式运行;每个流均有一个源节点、一个目的节点和一组有序vnfs的nv(t)序列;当虚拟节点将nfv实例从节点迁移到节点后,每个nfv实例的排队时延是迁移前,每个nfv实例的排队时延是

节点上原有nfv实例延迟增量为:

实施迁移的流延迟增量为:

δla(t)=dtran(t)+dmig(t)-d′tran(t)

其中,dtran(t)为迁移后流端到端总延迟,dmig(t)为流的迁移延迟,dt'ran(t)为迁移前流端到端总延迟;

延迟增量越小,奖励值越大;

定义延迟相关的奖励部分为:

迁移后的能耗增量为:

为当前时间区间内所有节点的总能耗,为在上一个时间区间向当前时间区间过渡时,所有流的迁移总能耗,为上一个时间区间内所有节点的总能耗;

能耗增量越小,奖励值越大;

定义运行消耗的奖励为:

re=-δe

定义对流迁移产生的奖励如下:

r=γ·rd+re

其中,γ为常系数。

一种时延、资源和能耗感知的虚拟网络在线迁移装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的时延、资源和能耗感知的虚拟网络在线迁移方法的步骤。

本发明的有益效果为:本发明提供的时延、资源和能耗感知的虚拟网络在线迁移方法根据很少变化的每日流量变化规律,关注虚拟网络功能在线迁移问题,对每日总流量值发生变化的网络流量(即不同日同一时刻具有不同流量值),从时延、资源和能耗三方面对问题进行分析,在满足资源和时延要求的同时节约能耗,在相邻两个时间区间进行过渡时,使用时间区间内的最大流速率重新计算服务功能链请求的资源需求量和流延迟,当流量变化趋势为减少时,对资源利用率较小节点的vnf实例实施迁移,并关闭空闲节点,以便占用更少的服务器,从而节省能耗;当流量变化趋势为增加时,对资源利用率较高或服务功能链延迟过长的vnf实例实施迁移,从而保证服务质量。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:

图1是方法实施例中提供的时延、资源和能耗感知的虚拟网络在线迁移方法的整体流程示意图;

图2是装置实施例中提供的时延、资源和能耗感知的虚拟网络在线迁移装置的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

时延、资源和能耗感知的虚拟网络在线迁移方法实施例:

本发明涉及网络功能虚拟化(nfv,networkfunctionvirtualization)中时延敏感(timesensitive)的虚拟网络功能(vnf,virtualizednetworkfunctions)在线迁移(onlinemigration)问题,具体提供一种时延、资源和能耗感知的虚拟网络在线迁移方法,该虚拟网络在线迁移方法的硬件执行主体可以为计算机设备、服务器设备或者智能移动终端。

为了说明本申请所述的技术方案,下面通过具体实施方式来进行说明。

(1)问题分析:

1、物理网络:

物理网络可表示为一个图(ne,le),其中ne是一组可支持nfv的节点,le是一组物理链路。每个节点(属于ne)拥有处理能力属性和处理延迟属性。每条链路(属于le)拥有链路带宽属性和链路延迟属性,其中属于ne。

2、服务功能链请求:

一组服务功能链请求可定义为r。每一个映射的请求r(属于r)成功映射后,将以业务流(简称为流)t的方式运行。业务流在线运行时,流速率r(t)随时间动态变化。每个业务流有一个源节点i(t)、一个目的节点o(t)和一组有序vnfs的nv(t)序列。每条业务流t的端到端延迟不能超出延迟边界δ(t)。每个业务流拥有一组虚拟链路,包括源节点i(t)和第一个vnf之间的虚拟链路、前一个vnf和随后vnf之间的链路以及最后一个vnf与目的节点o(t)之间的虚拟链路。

3、流量变化:

虽然每日同一时刻的流量值不尽相同,但是流量矩阵显示出明显的日变化,在数据中心和主干网中通常是周期平稳的。于是,这里将每日划分n个时间区间,n大于等于2。在每个时间间隔内,相同业务的流量周期性地变化。用δtq表示每个时间区间q的持续时长。假设在第q个(q=0,1,……,n)时间区间内,流量状态为tsq,取每个时间区间q的高峰流量rmax(t,q)(即最大流量)作为流量状态tsq的流量值。在时间区间交替的时刻实施迁移。

同时,为了确保服务功能链请求的服务质量,当物理资源(物理节点或链路)不足时,或服务功能链时延已接近临界值时,应根据网络中节点负载和流量变化趋势,随时实施迁移,并将此刻作为下一个时间区间的起点。

流t中虚拟网络功能节点(简称为虚拟节点)所需要的资源处理能力与服务功能请求流速率r(t)线性相关:

其中,α1和α2是常系数。

在时间区间q内,流t所需带宽量bw(t)与流速率r(t)线性相关:

bw(t)=β1·r(t)+β2

其中,β1和β2是常系数。

为了减少迁移次数,在每个时间区间交替之时,使用下一个时间区间内的最大流速率计算资源处理需求量和带宽需求量。

实施迁移时,若对于时间区间q,预计该时间区间流t的最大流速率,来预估所需的资源处理量:

同样,使用流t的最大流速率预计即将到来的时间区间所需的带宽处理量:

bwmax(t,q)=β1·rmax(t,q)+β2

4、流延迟:

流的端到端延迟主要包括节点处理(包括运算和排队)延迟和通信延迟。通信的链路延迟可以看作常数,节点处理延迟包括执行vnf的处理延迟和排队延迟。其中,vnf处理延迟仅与虚拟网络功能的类型相关。排队延迟受缓冲区中队列长度的影响,并与主机物理节点的负载有关。当某节点利用率增大时,排队时延将迅速增加。根据排队论的m/m/1排队模型,节点处理延迟可以表示为节点利用率的凸函数。本实施例使用分段线性函数来近似表示排队延迟的凸函数曲线:

其中,λj和γj是第j段线性函数的常系数,是流t的节点资源利用率。

流t的总延迟为:

其中,表示虚拟节点的处理延迟;dcom表示每条物理链路的通信延迟;表示流t中的虚拟节点是否映射于物理节点上,取值为0或1;表示流t中的虚拟链路是否映射于物理链路上,值为0或1。

当迁移流时,还存在迁移延迟,涉及到源nfv实例与目的nfv实例之间的通信、流状态转移、流入口更新等一系列固定操作。对于某个nfv平台来说,迁移延迟可视为常数。

流t的迁移延迟为:

其中,每个虚拟节点的迁移延迟表示为dmig;表示是否将流t中虚拟节点从节点迁移至节点

5、能耗:

网络运行时,节点和链路都会产生能耗,由于链路能耗相对较小,这里只关注节点能耗。节点功耗与节点的资源利用率线性相关:

其中,pmin是节点的最小功耗;pmax是节点的最大功耗;是节点的资源利用率。

第q个时间区间内所有节点的总能耗为:

在时间区间(q-1)向时间区间q过渡时,每条流的迁移能耗为定值,所有流的迁移总能耗为:

其中,emig是迁移流的能耗;z(t,q)表示在时间区间(q-1)向时间区间q过渡时,流t是否实施了迁移。

(2)问题建模:

对问题中考虑的所有约束描述如下:

约束1:流t的每个vnf被实例化在唯一的一个物理节点上:

约束2:物理节点不超出其资源总容量:

其中,表示物理节点的资源总容量。

约束3:对于lv(t)中每条虚拟链路为服务功能链请求中任意两个相邻的虚拟节点。那么,在映射到的一对物理节点之间必须有一条连续的路径:

约束4:每条物理链路不超过其带宽容量:

其中,是物理链路带宽总容量。

约束5:每条流运行时的总延迟不违反延迟要求:

dtran(t)≤δ(t)

约束6:迁移流时,其总延迟不违反延迟要求:

dtotal(t)=dtran(t)+dmig(t)≤δ(t)

为了在满足时延要求的前提下,最大限度地减少能耗,应使得迁移满足以上约束,并将减少能耗作为优化目标:

(3)算法实现:

根据迁移奖励算法得到节点的迁移奖励值,迁移奖励算法的过程包括:

节点利用率直接影响节点内的所有nfv实例的延迟。当虚拟节点将nfv实例从节点迁移到节点时,节点上剩余的nfv实例延迟将减小,节点上原有的nfv实例延迟将增加,从而使得实例所在流t的延迟发生变化。

节点上其它nfv实例所在流延迟增量为:

其中,当虚拟节点将nfv实例从节点迁移到节点后,每个nfv实例的排队时延是迁移前,每个nfv实例的排队时延是

节点上原有nfv实例延迟增量为:

实施迁移的流延迟增量为:

δla(t)=dtran(t)+dmig(t)-d′tran(t)

其中,dtran(t)为迁移后流端到端总延迟,dmig(t)为流的迁移延迟,d′tran(t)为迁移前流端到端总延迟。

延迟增量越小,奖励值越大。定义延迟相关的奖励部分为:

迁移后的能耗增量为:

为当前时间区间(即时间区间q)内所有节点的总能耗,为在上一个时间区间向当前时间区间过渡时(即在时间区间(q-1)向时间区间q过渡时),所有流的迁移总能耗,为上一个时间区间(即时间区间(q-1))内所有节点的总能耗。

能耗增量越小,奖励值越大。定义运行消耗的奖励为:

re=-δe

定义对流t迁移产生的奖励如下:

r=γ·rd+re

其中,γ为常系数。

迁移时机与迁移对象:

在时间区间(q-1)向时间区间q过渡时,使用时间区间q内的最大流速率rmax(t,q)重新计算服务功能链请求的资源需求量和流延迟。当流量变化趋势为减少时,对资源利用率较小节点的vnf实例实施迁移,并关闭空闲节点,以便占用更少的服务器,从而节省能耗;当流量变化趋势为增加时,对资源利用率较高或服务功能链延迟过长的vnf实例实施迁移,从而保证服务质量。

在任意一个时间区间内,若存在资源利用率较高的节点及链路,或流延迟将要到达阈值的服务链,就要对其实施迁移,同时进入下一个时间区间。

如图1所示,本发明提供的一种时延、资源和能耗感知的虚拟网络在线迁移方法,包括:

步骤a1:检测当前时间区间q的持续计时器是否已经持续预设时间间隔δt,若是,转步骤a2;若不是,转步骤a3;

步骤a2:进入下一个时间区间(q+1),重置持续计时器,并使用下一个时间区间(q+1)的最大流速率rmax(t,q+1)计算所有流的节点和链路带宽资源需求量,同时计算流延迟;

步骤a3:检测是否存在节点资源需求量高于节点资源总容量的节点,若存在,转步骤a7,若不存在,转步骤a4;

步骤a4:检测是否存在链路带宽资源需求量高于链路带宽资源总容量的链路,若存在,转步骤a8,若不存在,转步骤a5;

步骤a5:检测是否存在时延高于预设时延要求的流,若存在,转步骤a9,若不存在,转步骤a6;

步骤a6:检测是否存在节点资源利用率低于预设节点资源利用率最小值pumin的节点,若存在且流量变化趋势为下降,转步骤a10,否则,转步骤a1;

步骤a7:对映射所述节点资源需求量高于节点资源总容量的节点资源需求量最高的流应用预设的流迁移算法进行迁移,转步骤a4;

步骤a8:对映射所述链路带宽资源需求量高于链路带宽资源总容量的链路的带宽需求量最高的流应用所述预设的流迁移算法进行迁移,转步骤a5;

步骤a9:对所述时延高于预设时延要求的流应用所述预设的流迁移算法进行迁移,转步骤a6;

步骤a10:对所述节点资源利用率低于预设节点资源利用率最小值pumin的节点内所有nfv实例所在的流应用所述预设的流迁移算法进行迁移,转步骤a1。

本实施例中,预设的流迁移算法的过程包括:

步骤b1:初始化程序,读取当前底层网络拓扑和服务功能链请求,置标志变量allmapped=0;

步骤b2:按预设顺序取出服务功能链中待映射的节点,若不存在未映射的节点,置allmapped=1,跳转至步骤b4;若存在,跳转至步骤b3;

步骤b3:选择迁移奖励值最大的节点来映射;若能找到可映射节点,记录新的网络拓扑,继续步骤b4;若不能,跳转至步骤b6;

步骤b4:取出已映射两端顶点的虚拟链路,若不存在未映射的链路,且allmapped值为1,则接受服务请求,更新网络拓扑,结束;否则,转步骤b5;

步骤b5:使用dijistra算法,为已映射两端顶点的虚拟链路在物理网络上选择跳数最少的路径;若能找到可映射的路径,记录新的网络拓扑,返回步骤b2;若不能,跳转至步骤b6;

步骤b6:拒绝服务请求,结束。

本发明提供的时延、资源和能耗感知的虚拟网络在线迁移方法的有益效果如下:为资源和时延敏感虚拟网络服务的流在线迁移问题建立了数学模型;综合能耗和时延,对可迁移节点给出计算奖励值的机制;考虑流量日规律变化,且流量日益增长的两个特点,给出满足时延需求,同时考虑节能迁移的算法。

时延、资源和能耗感知的虚拟网络在线迁移装置实施例:

图2是本申请实施例提供的时延、资源和能耗感知的虚拟网络在线迁移装置的结构示意图。如图2所示,虚拟网络在线迁移装置200包括:处理器202、存储器201以及存储在存储器201中并可在处理器202上运行的计算机程序203。处理器202的个数是至少一个,图2以一个为例。处理器202执行计算机程序203时实现上述时延、资源和能耗感知的虚拟网络在线迁移方法的实现步骤,即图1所示的步骤。

示例性的,计算机程序203可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器201中,并由处理器202执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序203在虚拟网络在线迁移装置200中的执行过程。

虚拟网络在线迁移装置200可以是桌上型计算机、笔记本、掌上电脑、主控等计算设备,也可以是手机等移动终端。虚拟网络在线迁移装置200可包括,但不仅限于,处理器以及存储器。本领域技术人员可以理解,图2仅是虚拟网络在线迁移装置200的示例,并不构成对虚拟网络在线迁移装置200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如虚拟网络在线迁移装置200还可以包括输入输出设备、网络接入设备、总线等。

处理器202可以是cpu(centralprocessingunit,中央处理单元),还可以是其他通用处理器、dsp(digitalsignalprocessor,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现成可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器201可以是虚拟网络在线迁移装置200的内部存储单元,例如硬盘或内存。存储器201也可以是虚拟网络在线迁移装置200的外部存储设备,例如虚拟网络在线迁移装置200上配备的插接式硬盘、smc(smartmediacard,智能存储卡)、sd卡(securedigital,安全数字卡)、flashcard(闪存卡)等。进一步地,存储器201还可以既包括虚拟网络在线迁移装置200的内部存储单元也包括外部存储设备。存储器201用于存储操作系统、应用程序、引导装载程序、数据以及其他程序等,例如所述计算机程序203的程序代码等。存储器201还可以用于暂时地存储已经输出或者将要输出的数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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