法律状态公告日
法律状态信息
法律状态
2018-11-06
授权
授权
2015-09-02
实质审查的生效 IPC(主分类):H04L12/917 申请日:20150408
实质审查的生效
2015-07-15
公开
公开
【技术领域】
本发明涉及一种虚拟网络控制方法,特别涉及一种基于反馈控制的高效节 能虚拟网络映射方法。
【背景技术】
随着电力成本不断上涨和人们生态意识的提高,网络运营商已经意识到能 耗管理的重要性,减少能耗已成为亟待解决的问题。当前网络为高峰负荷而设 计,网络资源超量供给确保了网络的正常运行,然而也导致资源利用率低下。 据统计,大型ISP骨干网的平均链路利用率大约30-40%,数据中心服务器的平 均利用率为11%~50%。过低的利用率造成了巨大的电能浪费,促使绿色网络 研究的兴起,网络能耗问题成为研究热点。
网络虚拟化,是未来因特网、云计算和软件定义网络的重要技术。其通过 整合网络基础设施资源,能够合理有效地使用能量,使得智能能量感知网络部 署成为可能。虚拟网络映射是网络资源虚拟化的关键问题。当前大部分映射算 法是基于代价的虚拟网络映射,即以最小化底层资源代价映射虚拟网络请求, 以此获得更多的底层物理资源,进而提高虚拟网络接收率与系统收益。然而, 由于虚拟网络请求是一个动态变化过程,而底层物理网络根据流量峰值设计, 基于代价的虚拟网络映射必然带来不必要的能耗。以节能为目标的虚拟网络化 映射应在满足当前虚拟网络请求的前提下最小化能耗。由于当前网络设备对流 量负荷的功耗不敏感,因此在不影响虚拟网络映射性能的情况下尽可能多关闭 或休眠网络节点和链路是节能的有效方法。
当前基于能量感知的虚拟网络映射通过修改虚拟网络映射算法,使得虚拟 网络尽可能映射到活动的节点和链路,以达到系统节能目的。如:已有通过减 少物理网络设备数量分配虚拟网络请求集合,提出混合整数规划的能量感知最 优化模型,但是时间复杂度呈指数增长,难以适应大规模网络基础设施的虚拟 网络映射;已有考虑到机箱能耗比路由能耗低的特点,提出扩展流量到网络资 源的节能方法,但是适合对负载敏感的设备;已有提出虚拟网络重配置的最小 化能耗的启发式方法;北京邮电大学的苏森等提出虚拟网络映射能耗模型以及 能量感知两阶段映射算法;北方交通大学的常晓林、王冰等提出混合整数规划 能耗模型及能量感知两阶段映射算法,已有在云数据中心中应用蚁群优化算法 求解虚拟网络节能映射。可见目前相关节能感知映射算法是通过修改虚拟网络 映射算法,被动地寻找有效的底层网络节点和链路集合,易受到虚拟网络动态 特征带来的干扰。
虚拟网络分配可如下模型化:建立从Gv到Gs某一子集的映射Mv,即
【发明内容】
本发明的目的在于克服上述现有技术的不足,提供一种基于反馈控制的高 效节能虚拟网络映射方法,其旨在解决现有技术中虚拟网络分配方法无法保证 映射能耗代价最少的技术问题。
为实现上述目的,本发明提出了一种基于反馈控制的高效节能虚拟网络映 射方法,其具体步骤如下:
A)建立虚拟网络分配模型:
底层网络:建立无向图其中Ns为底层节点集合,Ls为 底层链路集合,为底层节点属性集合,为底层链路属性集合,所述的底层 节点属性为各底层节点的CPU资源,所述的底层链路属性为各底层节点的带宽 资源;
虚拟网络:建立无向图其中Nv为虚拟节点集合,Lv为 虚拟链路集合,为虚拟节点属性集合,为虚拟链路属性集合,所述的虚拟 节点属性为各虚拟节点的CPU资源,所述的虚拟链路属性为各虚拟节点的带宽 资源;
虚拟网络分配标记:设LNum为当前与虚拟网络连接的底层链路的个数,即 当前底层网络中成功分配的虚拟网络数量,其初始值为0;
B)设定虚拟网络分配方法的初始值:记录每个底层节点的度,将每个底层 节点和每条底层链路的映射状态均设定为可映射,等待虚拟网络的请求;
C)挑选底层节点:底层网络收到虚拟网络的请求后,判断当前底层链路是 否均已连接,即LNum大于或等于底层链路的总数量,如果存在未连接的底层链 路,则遍历所有可映射的底层节点,以寻找度最少的底层节点u,如果成功,则 转至步骤D);如果没有找到,则转至步骤E);如果不存在未连接的底层链路, 则转至步骤G);
D)挑选底层链路:遍历底层节点u所在的所有底层链路,并判断检查该底 层链路是否稳定,如果稳定,则将该底层链路的映射状态设为不可映射,并转 至步骤F);如果不稳定,则放弃该底层链路,并将该底层链路的映射状态设为 不可映射;如果遍历之后并没有稳定的底层链路,则将底层节点的映射状态设 为不可映射,重新回转至步骤C);
E)底层节点分配失败:返回无法找到适合的底层节点信息,并转至步骤J);
F)虚拟网络分配:将稳定的底层链路与虚拟网络连接,并将虚拟网络的节 点映射状态和链路映射状态更改为已映射,返回虚拟网络分配成功,LNum加1, 等待虚拟网络离开,并同时处理下一个虚拟网络请求,即回转至步骤C);
G)底层链路分配失败:返回当前底层网络忙的信息,并转至步骤J);
H)更新底层网络状态:检查当前虚拟网络的映射情况,如果虚拟网络的节 点映射状态和链路映射状态均为未映射,则结束底层链路与虚拟网络的连接, LNum减1,转至步骤I);
I)完成虚拟网络分配:释放分配给虚拟网络的CPU资源,完成当前虚拟网 络的连接,并处理下一个虚拟网络的请求,直至所有底层链路均断开与虚拟网 络的连接;
J)虚拟网络分配失败:返回当前虚拟网络无法分配的信息,结束虚拟网络 分配。
作为优选,所述的步骤D)还包括如下具体步骤:
D1)寻找到u所在的一条底层链路luv,将该底层链路luv的映射状态更改为 不可映射,并调用另一个底层端点v,将底层节点u和v的度各减一,如果此时u的 度小于或等于0,则转至步骤D2);如果v的度小于或等于0,则转至步骤D3); 如果u和v的度都大于0,则判定luv稳定,转至步骤F);
D2)将u的映射状态更改为不可映射,判定该底层节点u不具有稳定的底层 链路,重新回转至步骤C);
D3)将v的映射状态更改为不可映射,判定该底层链路luv不稳定,放弃luv, 重新寻找底层链路,回转至步骤D1)。
本发明的有益效果:与现有技术相比,本发明提供的一种基于反馈控制的 高效节能虚拟网络映射方法,步骤合理,能够根据虚拟网络的动态映射特点, 将虚拟网络的分配范围限定在底层节点的层次,并能够动态地逐步增大虚拟网 络的分配范围,即将底层节点扩展到底层链路,从而实现虚拟网络分配能耗最 优,大大降低节点映射能耗代价,同时,还保证了虚拟网络离开时CPU资源量 能够及时释放,提高了CPU利用率,从而显著提高虚拟网络的分配速率,尤其 适合大规模虚拟网络映射场景。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明实施例的底层节点的运行状态示意图。
图2是本发明实施例的底层链路的运行状态示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图中及实 施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施 例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中, 省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
参阅图1和图2,本发明实施例提供一种基于反馈控制的高效节能虚拟网络 映射方法,其具体步骤如下:
A)建立虚拟网络分配模型:
底层网络:建立无向图其中Ns为底层节点集合,Ls为 底层链路集合,为底层节点属性集合,为底层链路属性集合,所述的底层 节点属性为各底层节点的CPU资源,所述的底层链路属性为各底层节点的带宽 资源。
虚拟网络:建立无向图其中Nv为虚拟节点集合,Lv为 虚拟链路集合,为虚拟节点属性集合,为虚拟链路属性集合,所述的虚拟 节点属性为各虚拟节点的CPU资源,所述的虚拟链路属性为各虚拟节点的带宽 资源。
虚拟网络分配标记:设LNum为当前与虚拟网络连接的底层链路的个数,即 当前底层网络中成功分配的虚拟网络数量,其初始值为0。
B)设定虚拟网络分配方法的初始值:记录每个底层节点的度,将每个底层 节点和每条底层链路的映射状态均设定为可映射,等待虚拟网络的请求。
C)挑选底层节点:底层网络收到虚拟网络的请求后,判断当前底层链路是 否均已连接,即LNum大于或等于底层链路的总数量,如果存在未连接的底层链 路,则遍历所有可映射的底层节点,以寻找度最少的底层节点u,如果成功,则 转至步骤D);如果没有找到,则转至步骤E);如果不存在未连接的底层链路, 则转至步骤G)。
D)挑选底层链路:遍历底层节点u所在的所有底层链路,并判断检查该底 层链路是否稳定,如果稳定,则将该底层链路的映射状态设为不可映射,并转 至步骤F);如果不稳定,则放弃该底层链路,并将该底层链路的映射状态设为 不可映射;如果遍历之后并没有稳定的底层链路,则将底层节点的映射状态设 为不可映射,重新回转至步骤C)。
E)底层节点分配失败:返回无法找到适合的底层节点信息,并转至步骤J)。
F)虚拟网络分配:将稳定的底层链路与虚拟网络连接,并将虚拟网络的节 点映射状态和链路映射状态更改为已映射,返回虚拟网络分配成功,LNum加1, 等待虚拟网络离开,并同时处理下一个虚拟网络请求,即回转至步骤C)。
G)底层链路分配失败:返回当前底层网络忙的信息,并转至步骤J)。
H)更新底层网络状态:检查当前虚拟网络的映射情况,如果虚拟网络的节 点映射状态和链路映射状态均为未映射,则结束底层链路与虚拟网络的连接, LNum减1,转至步骤I)。
I)完成虚拟网络分配:释放分配给虚拟网络的CPU资源,完成当前虚拟网 络的连接,并处理下一个虚拟网络的请求,直至所有底层链路均断开与虚拟网 络的连接。
J)虚拟网络分配失败:返回当前虚拟网络无法分配的信息,结束虚拟网络 分配。
本发明提出的一种基于反馈控制的高效节能虚拟网络映射方法,将虚拟网 络分配范围限制在单独的底层节点的范围,并根据实际的虚拟网络状态,不断 地扩大、遍历至底层链路,最终扩大到整个底层节点网络,即针对虚拟网络的 动态能耗特征来分配虚拟网络,极大地减少了网络分配消耗的能量,并能够动 态地逐步增大虚拟网络的分配范围,即将底层节点扩展到底层链路,从而实现 虚拟网络分配能耗最优,大大降低节点映射能耗代价。
具体地,步骤D)还包括如下具体步骤:
D1)寻找到u所在的一条底层链路luv,将该底层链路luv的映射状态更改为 不可映射,并调用另一个底层端点v,将底层节点u和v的度各减一,如果此时u的 度小于或等于0,则转至步骤D2);如果v的度小于或等于0,则转至步骤D3); 如果u和v的度都大于0,则判定luv稳定,转至步骤F);
D2)将u的映射状态更改为不可映射,判定该底层节点u不具有稳定的底层 链路,重新回转至步骤C);
D3)将v的映射状态更改为不可映射,判定该底层链路luv不稳定,放弃luv, 重新寻找底层链路,回转至步骤D1)。
当虚拟网络离开时,底层网络判断底层节点和底层链路是否与虚拟网络脱 离,如果满足释放条件,则将底层网络的CPU资源量及时释放,提高了CPU利 用率,从而显著提高虚拟网络的分配速率,尤其适合大规模虚拟网络映射场景。
为了更好地表述上述算法的具体运行过程,本发明提供上述算法的伪代码 形式,具体如下:
算法1
1:设定底层节点和底层链路的可映射状态
输入:可映射的底层链路数量nosleepl
输出:分配给虚拟网络的底层节点和底层链路
1.1:sln=0;sleepl=linkSum-nosleepl;
1.2:foreach(每一个底层节点k)
1.3: 计算底层节点的度d(k);
1.4:将每一个底层节点和底层链路设定为可映射状态;
1.5:while(sln<sleepl){
1.6: if(找到了d(k)最小的底层节点u){
1.7: foreach(每一条u所在的底层链路luv){
1.8: 将luv的映射状态设为不可映射;sln++;
1.9: d(u)--;d(v)--;
1.10: if(d(u)==0)将u的映射状态设为不可映射;
1.11: if(d(v)==0)将v的映射状态设为不可映射;
1.12: if(sln≥sleepl)break;
1.13: }
1.14: }else{break;}
1.15:}
1.16:return分配给虚拟网络的底层节点和底层链路
2:虚拟网络能量反馈控制算法
输入:虚拟网络请求
输出:虚拟网络分配结果
2.1:调用上一个虚拟网络分配结果中的LNum;
2.2:while(1){
2.3: 以LNum为可映射的底层链路数量nosleepl,运行算法1;
2.4: if(t=NodeEm(i)==true){
2.5: 将虚拟网络状态设为节点映射成功;
Break;
2.6:}
2.7:LNum++;
2.8:if(LNum>linkSum)return节点分配失败;
2.9:}
2.10:while(1){
2.11: if(t=LinkEm(i)==true){
2.12: 将虚拟网络状态设为链路映射成功;
return虚拟网络分配结果;
2.13:}
2.14:LNum++;
2.15:if(LNum>linkSum)return链路分配失败;
2.16:释放已分配的底层节点和底层链路的资源;
2.17:Goto 3;
2.18:}
其中,NodeEm(i)和LinkEm(i)为虚拟网络的映射状态,即分别对应节点映 射状态和链路映射状态,nosleepl为当前底层网络不可用的底层链路数量, linkSum为底层网络中底层链路的总数量,sleepl则为可以映射的底层链路数量。
本发明实施例提供的一种基于反馈控制的高效节能虚拟网络映射方法,步 骤合理,能够根据虚拟网络的动态映射特点,将虚拟网络的分配范围限定在底 层节点的层次,极大地减少了网络分配消耗的能量,并能够动态地逐步增大虚 拟网络的分配范围,即将底层节点扩展到底层链路,从而实现虚拟网络分配能 耗最优,大大降低节点映射能耗代价,同时,还保证了虚拟网络离开时CPU资 源量能够及时释放,提高了CPU利用率,从而显著提高虚拟网络的分配速率, 尤其适合大规模虚拟网络映射场景。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明 的保护范围之内。
机译: 基于有机材料的节能高效节能清洁轻质耐火墙板的有机制造方法,基于有机材料的有机材料有机材料的高效生态清洁多层轻载耐火墙板
机译: 一种具有基于惯性的负载确定方法的节能洗衣机(基于惯性的节能洗衣机来确定粉刺)
机译: 高效节能的高速链路和方法,可最大程度地节省高效节能的高速链路上的能源