一种基于物联网的能耗感知虚拟网络映射算法的制作方法

文档序号:18267200发布日期:2019-07-27 09:16阅读:254来源:国知局
一种基于物联网的能耗感知虚拟网络映射算法的制作方法

本发明涉及一种虚拟网络映射算法,具体涉及一种基于物联网的能耗感知虚拟网络映射算法。



背景技术:

互联网从诞生至今,极大的改善了人们的生活,近几年来,互联网更是飞速发展。目前互联网上运行着大量的应用以及各种各样的网络技术。已经形成了一个无所不在的覆盖世界的互通网络,成为了当今社会重要的基础设施和生产力,远远超出了当初设立时的预想。随着网络技术的发展,万物互联更是深得人心。随之出现了物联网(internetofthings,iot),它是建立的互联网上的泛在网,是物物相连的互联网,通过各种信息传感设备,按照一定的协议完成人与物、物与物之间的信息交换和通信,以实现智能化识别、定位、跟踪监控和管理的一种网络。随着物联网在安防、交通、物流和医疗等领域的发展,其应用模式日趋成熟。为了获取精确信息,万物互联需要的节点越来越多,连接的数据也越来越庞大,能源消耗问题也就凸显出来了。因此,减少网络能源消耗,降低网络运维成本,降低延迟,构建绿色节能的网络成为值得关注的热点问题。

为了应对物联网环境下的能耗问题以及如何有效地组织和管理日益增加的物理资源,如何满足多样化的物联网应用需求,学术界和工业界经过不断的探索最终得到结论。其中最具有代表性的就是网络虚拟化技术。

网络虚拟化技术是近年来为了解决互联网“僵硬”问题而提出的,通过资源抽象、聚合、隔离等机制在共享的物理基板网络(substratenetwork,sn)上创建几个共存的虚拟网络(virtualnetwork,vn),以满足不同用户对于网络的多样化需求。由于它在多样化现有网络和确保共享基板之上的异构网络架构共存方面提供的潜力,网络虚拟化通常被视为多态互联网的推动者和未来互联网架构的基石。网络虚拟化的基本实体是虚拟网络,一个虚拟网络是一组虚拟节点和虚拟链路的形成的虚拟拓扑。同一个物理网络上的多个逻辑网络,属于不同的服务提供商,基础设施提供商可以向不同的虚拟网络提供不同的网络拓扑资源,不同的虚拟网络的使用和管理相互独立,彼此互不影响。通过网络虚化技术,能够有效的提高网络资源的利用率,对于解决网络僵化问题具有重要的意义。

由于网络在运行过程中存在大量的不确定因素,如网络中节点的缓存队列的变化、链路的带宽和延迟的变化等等,造成了物理网络中资源的动态改变,具有不确定性。如何高效的对底层资源进行管理和分配,完成虚拟网络请求的处理,为租户提供所需的网络资源,保证服务质量,这是网络虚拟化必须解决的问题。如何高效地分配和管理底层物理网络资源,为虚拟网络提供服务,这类问题广泛被称为虚拟网络嵌入问题(virtualnetworkembedding,vne)。虚拟网络映射问题是网络虚拟化的核心问题,也是一个np-hard问题,指通过一定的约束将虚拟请求映射到底层网络,从而合理高效的完成底层物理网络的资源分配。在物联网环境下,针对传感器采集的海量信息,在网络的传输过程中必须保证数据的正确性和及时性,同时必须适应于各种异构的网络,因此在虚拟网络映射的过程中,必须考虑到节点的异构性,以及在链路传输中的延迟问题。虚拟网络映射算法好坏,决定了物理网络能够承载的虚拟网络的数目,最终决定了物理基础设施提供商的利益。所以在网络虚拟化环境下,虚拟网络映射算法非常重要,高效的虚拟网络映射算法能够最大限度的增加基础设施提供商的收益,提高物理资源的利用率。

网络虚拟化技术通过有效地管理虚拟用户请求到物理资源的映射来达到充分共享物理资源的目的,在解决该物联网问题时体现出它的优势。在现有互联网虚拟网络映射算法的基础上,针对物联网环境中物理节点所呈现的异构性特点,以及物理链路的延迟特性,提出了一种基于物联网的能耗感知资源映射算法。

传统的基于能耗感知的方法包括:资源整合策略、流量扩展策略、能耗最小化等。关于节能方面,大部分在满足虚拟网络资源请求的前提下,运营商通过将低功耗下的节点和链路关闭,让其处于休眠状态下来达到节能的效果。这种依赖资源合并,将分散的资源集中分配到底层网络上虽然可以降低能耗,但是会增加虚拟网络映射中的排斥率,降低收益。紧接着通过提出关于节点和链路的能耗模型,以最小化映射能耗为目标,建立节点和链路的负载能耗模型,并通过能耗感知虚拟网络映射启发式(energy-awarevirtualnetworkembeddingheuristic,ea-vneh)算法求解来减少能耗。以上关于解决能耗问题的方案都集中在能源消耗的经济方面,即通过降低能源成本实现收益最大化,但忽略了与能源利用相关的生态方面,比如发电产生的二氧化碳排放。最近几年,由于关注生态问题,在解决能耗问题方面有了进一步的突破,通过将底层资源分类为不同类型的能源资源,将虚拟网络请求映射到最清洁的底层网络上来减少能耗。以上方法考虑了能源的类型,采用可再生资源代替以往的煤炭资源,从能源类型上达到节能的效果。

以往的节能方法已经可以很好的应用于互联网环境中,但是在物联网的场景下,需通过各种有线和无线的网络与互联网融合,将物体的信息通过传感器实时准确地传递出去。由于海量的传感器分布在不同的地区,使得节点的异构性更突出,其初始状态、能量消耗速率以及各链路的时延特性均不同,所以现有的能耗感知方法有待改进。



技术实现要素:

本发明的目的在于在以传统的能耗模型为基础提出一种基于物联网的能耗感知虚拟网络映射算法。

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

一种基于物联网的能耗感知虚拟网络映射算法,包括以下步骤:

1)构建网络模型以及能耗感知模型

a.将底层物理网络拓扑图定义为加权无向图其中,ns和ls分别表示底层物理网络节点和链路的集合,分别表示底层物理节点和链路所包含的属性;

将虚拟网络拓扑图定义为加权无向图其中,nv和lv分别表示虚拟网络节点和链路的集合,分别表示虚拟节点和链路所包含的属性;

加权无向图gs与加权无向图gv构成网络模型;

b.建立能耗感知模型如下:

目标函数:minpn+pl

cpu资源约束:

cpu位置约束:

cpu类别约束:

链路的带宽资源约束:

链路的延迟约束:

连通性约束:

其中,属于二进制变量,表示虚拟节点j与物理节点i之间的映射关系;cpu(j)表示虚拟节点的cpu值;cpu(i)表示物理节点的cpu值;dis(loc(j),loc(mn(j)))表示映射节点j与周围节点之间的欧式距离;genre(j)表示虚拟节点的节点类型;genre(i)表示物理节点的节点类型;表示虚拟链路luv与物理链路lij之间的映射关系,b(luv)表示虚拟链路luv的带宽资源;b(lij)表示物理链路lij的带宽资源;d(luv)表示虚拟链路luv的延迟;d(lij)表示物理链路lij的延迟,pn为节点映射总能耗;pl为链路映射总能耗;

2)完成虚拟拓扑图中每个节点的映射,并将成功映射的物理节点存入节点映射链表;

3)根据节点映射链表,完成虚拟拓扑图中每条链路的映射,并将成功映射的物理链路存入链路映射链表。

本发明进一步的改进在于,步骤1)中,当时,则说明虚拟节点j成功映射到物理节点i上,时,则未成功;

时,则说明虚拟链路luv成功映射到物理链路lij上,时,则未成功。

本发明进一步的改进在于,步骤1)中的节点映射的总能耗pn:

其中,nw表示需要从未激活状态变为激活状态的宿主节点数量,pb表示节点的基础功耗,pl表示转发节点的能耗,util(nj)表示虚拟节点j映射至物理网络节点i所需的cpu利用率,si表示物理节点i在未映射时的能量状态。

本发明进一步的改进在于,si=1表示节点i处于激活时的状态,si=0表示其它状态。

本发明进一步的改进在于,步骤1)中的链路映射总能耗pl:

其中,pn为链路功耗是一个恒定常量,d(i,j)表示节点i到节点j的路径距离,α表示距离因子,nn表示需要从未激活状态变为激活状态的转发节点数量,表示虚拟链路luv与物理链路lik之间的映射关系。

本发明进一步的改进在于,当时,则说明虚拟链路luv成功映射到物理链路lik上,时,则未成功。

本发明进一步的改进在于,步骤2)的具体过程如下:

a.计算网络模型的虚拟节点nv的资源能力nr(nv),并将nr(nv)降序排列;

其中:表示该映射节点与周围节点的拓扑关系;

b.针对步骤a中排列后的虚拟节点nv,选择满足虚拟节点的cpu资源约束和位置约束的物理节点,得到候选映射节点集ω(nv);

ω(nv)={ns|cpu(nv)≤cpu(ns)&dis(loc(nv),loc(ns))≤d(ns),ns∈ns}

c.针对候选映射节点集ω(nv)中的每一个候选节点ns,根据其资源能力nr(ns)以及节点的能耗pn(ns)计算节点的综合资源能力并降序排列:

cr(ns)=log(nr(ns)·pn(ns)+γ)

其中γ→0,避免上式中log内部出现0的情况;

d.判断步骤c中排列后的节点的类型,如果genre(nv)=genre(ns),将虚拟节点nv映射至cr最小且满足约束的物理节点ns上;其中,genre(nv)表示虚拟节点的节点类型;genre(ns)表示物理节点的类型;如果genre(nv)≠genre(ns),返回步骤b,在候选映射节点集ω(nv)中继续循环查找其他物理节点,直到找到节点类型相同的节点为止,完成节点映射;

e.计算映射成功的物理节点的剩余cpu资源cpu(ns)=cpu(ns)-cpu(nv);

f.返回步骤a,依次完成虚拟拓扑图中每个节点的映射,并将成功映射的物理节点存入节点映射链表。

8.根据权利要求7所述的一种基于物联网的能耗感知虚拟网络映射算法,其特征在于,步骤3)的具体过程如下:

a.根据节点映射链表,获取底层物理节点nv(u)→ns(i),nv(v)→ns(j),其中,nv(u)→ns(i)表示虚拟节点u映射至物理节点i,nv(v)→ns(j)表示虚拟节点v映射至物理节点j;

b.将虚拟链路luv按照带宽需求降序排列;

c.针对步骤b中降序排列后的每一条虚拟链路luv,计算物理节点ns(i)到ns(j)的最短路径集合且对于任意路径

d.针对最短路径集合中的每一条路径path,计算其链路能耗

并将其升序排列;

e.若服务类型为低延迟需求,则只考虑链路的带宽需求,如果b(luv)≤b(lij),将虚拟链路luv映射至链路能耗最小的物理链路lij上;若服务类型为高延迟需求,则不仅考虑链路的带宽需求,而且考虑链路的延迟需求,如果b(luv)≤b(lij)&d(luv)≥d(lij),将虚拟链路luv映射至链路能耗最小物理链路lij上,完成链路映射;

f.计算映射成功的物理链路的剩余带宽资源b(ls)=b(ls)-b(lv);

g.返回步骤b,依次完成虚拟拓扑图中每条链路的映射,并将成功映射的物理链路存入链路映射链表。

本发明进一步的改进在于,flag=1表示高时延需求;flag=0表示低时延需求。

本发明进一步的改进在于,步骤c中,采用k最短路径算法计算物理节点ns(i)到ns(j)的最短路径集合且对于任意路径

与现有技术相比,本发明具有的有益效果:

本发明通过构建能耗模型,将虚拟请求映射至最小能耗且基于最接近的剩余容量(即映射到具有最小但足够容量以满足vnr的节点/链路)完成映射,使得最终完成映射的节点数相对较少,进而更好的达到节能的效果,而且根据物联网应用层不同业务的服务类型,将虚拟请求进行拆分处理,分别对不同的虚拟请求分配资源,提高了虚拟网络的请求接受率,增加了底层网络节点与链路的利用率,提高了物理网络的收益,且更细粒度的完成虚拟请求的映射。本发明能够降低网络映射过程中的能源消耗,同时满足物联网环境下的节点异构性以及链路时效性。通过将虚拟网络映射至能耗最小的底层网络中,并且减少工作节点来实现能耗的最优化,从而最大化的实现资源利用率,提高收益开销比,且随着引入参数的增加,实现更细粒度的资源映射方式。

附图说明

图1为拆分虚拟请求。其中,(a)为虚拟网络拓扑图,(b)为s-v1,(c)为s-v2。

图2为节点映射流程图。

图3为链路映射流程图。

具体实施方式

下面结合附图,对本发明作进一步详细说明。

在物联网环境下,针对传感器采集的海量信息,在网络的传输过程中必须保证数据的正确性和及时性,同时必须适应于各种异构的网络,因此在虚拟网络映射的过程中,必须考虑到节点的异构性,以及在链路传输中的延迟问题。所以针对物联网的特性,重新定义基于物联网的能耗感知的虚拟网络映射算法如下:

1)构建网络模型以及能耗感知模型

a.将底层物理网络拓扑图定义为加权无向图其中,ns和ls分别表示底层物理网络节点和链路的集合,分别表示底层物理节点和链路所包含的属性。每个底层节点ns∈ns与cpu处理器容量值cpu(ns)相关联,对于底层链路ls∈ls,与带宽容量b(ls)相关联,并且用d(ls)表示每个底层链路的延迟属性。

将虚拟网络拓扑图定义为加权无向图其中,nv和lv分别表示虚拟网络节点和链路的集合,分别表示虚拟节点和链路所包含的属性。每个虚拟节点nv∈nv与cpu处理器容量值cpu(nv)相关联,每条虚拟链路lv∈lv与带宽容量b(lv)相关联。虚拟节点和虚拟链路与底层物理网络中的节点和链路具有相同的属性。另外,针对异构性的节点,采用节点类别+序列号的形式表示节点的类别,比如a1。

加权无向图gs与加权无向图gv构成网络模型。

b.虚拟网络映射的能耗由节点能耗和链路能耗两部分组成。其中,节点的能耗与cpu资源利用率呈线性相关,链路的能耗与带宽利用率和链路长度呈线性相关。

定义节点映射总能耗为

其中,nw表示需要从未激活(off)状态变为激活(on)状态的宿主节点数量,pb表示节点的基础功耗,pl表示转发节点的能耗,util(nj)表示虚拟节点j映射至物理网络节点i所需的cpu利用率,si表示物理节点i在未映射时的能量状态,si=1表示节点i处于激活(on)时的状态,si=0表示其它状态。

链路映射总能耗为:

其中,pn为链路功耗是一个恒定常量,d(i,j)表示节点i到节点j的路径距离,α表示距离因子,nn表示需要从未激活(off)状态变为激活(on)状态的转发节点数量,表示虚拟链路luv与物理链路lik之间的映射关系,当时,则说明虚拟链路luv成功映射到物理链路lik上,时,则未成功。

c.建立能耗感知模型如下:

目标函数:minpn+pl

cpu资源约束:

cpu位置约束:

cpu类别约束:

链路的带宽资源约束:

链路的延迟约束:

连通性约束:其中,属于二进制变量,表示虚拟节点j与物理节点i之间的映射关系;,当时,则说明虚拟节点j成功映射到物理节点i上,时,则未成功;cpu(j)表示虚拟节点的cpu值;cpu(i)表示物理节点的cpu值;dis(loc(j),loc(mn(j)))表示映射节点j与周围节点之间的欧式距离;genre(j)表示虚拟节点的节点类型;genre(i)表示物理节点的节点类型;表示虚拟链路luv与物理链路lij之间的映射关系,当时,则说明虚拟链路luv成功映射到物理链路lij上,时,则未成功;b(luv)表示虚拟链路luv的带宽资源;b(lij)表示物理链路lij的带宽资源;d(luv)表示虚拟链路luv的延迟;d(lij)表示物理链路lij的延迟。

2)拆分虚拟请求

由于物联网对实时性具有较高的要求,所以在虚拟网络映射中需要考虑链路的时延特性。通过对到来的虚拟网络拓扑图做拆分处理,将每个虚拟请求大拓扑拆分为一组虚拟请求小集群,并对每条链路做标记来区分其时延特性(flag=1表示高时延要求;flag=0表示低时延要求),如图1中(a)、(b)与(c)所示,根据物联网环境中不同业务的服务类型,将网络模型的虚拟请求拆分为具有延迟约束的请求和仅具有带宽约束的请求(即将虚拟网络拓扑图拆分成s-v1和s-v2两个小拓扑图)。其中,s-v1中包括四个节点和三条链路,且该拓扑图对延迟具有较高的要求;s-v2中包括三个节点和两条链路,属于延迟要求较低的拓扑图,其中有黑色标记的节点为之前s-v1所映射过的节点,不再考虑节点映射问题。

虚拟网络映射一般分为节点映射和链路映射两部分。

3)节点映射

参见图2,具体步骤如下:

a.计算网络模型的虚拟节点nv的资源能力nr(nv),并将nr(nv)降序排列。

其中:表示该映射节点与周围节点的拓扑关系。

b.针对步骤a中排列后的虚拟节点nv,选择满足虚拟节点的cpu资源约束和位置约束的物理节点,得到候选映射节点集ω(nv);

ω(nv)={ns|cpu(nv)≤cpu(ns)&dis(loc(nv),loc(ns))≤d(ns),ns∈ns}

c.针对候选映射节点集ω(nv)中的每一个候选节点ns,根据其资源能力nr(ns)以及节点的能耗pn(ns)计算节点的综合资源能力并降序排列:

cr(ns)=log(nr(ns)·pn(ns)+γ)

其中γ→0,避免上式中log内部出现0的情况。

d.判断步骤c中排列后的节点的类型,如果genre(nv)=genre(ns),将虚拟节点nv映射至cr最小且满足约束的物理节点ns上。其中,genre(nv)表示虚拟节点的节点类型;genre(ns)表示物理节点的节点类型。如果genre(nv)≠genre(ns),返回步骤b,在候选映射节点集ω(nv)中继续循环查找其他物理节点,直到找到节点类型相同的节点为止,完成节点映射。

e.计算映射成功的物理节点的剩余cpu资源cpu(ns)=cpu(ns)-cpu(nv)。

f.返回步骤a,依次完成虚拟拓扑图中每个节点的映射,并将成功映射的物理节点存入节点映射链表nodemappinglist。

4)链路映射

针对虚拟链路映射,采用k最短路径算法,k最短路径算法较为常见。但在物联网的环境下,需通过传感器实时、准确的传递物体的信息,所以对网络资源的能耗以及链路的实时性要求较高,因此,在链路映射阶段,通过整合链路映射过程中的能源消耗和链路延迟等因素,综合设计出能耗优先且满足链路延迟的k最短路径算法。参见图3,具体步骤如下:

a.根据节点映射链表nodemappinglist,获取底层物理节点nv(u)→ns(i),nv(v)→ns(j),其中,nv(u)→ns(i)表示虚拟节点u映射至物理节点i,nv(v)→ns(j)表示虚拟节点v映射至物理节点j。

b.将虚拟链路luv按照带宽需求降序排列。

c.针对步骤b中降序排列后的每一条虚拟链路luv,采用k最短路径算法计算物理节点ns(i)到ns(j)的最短路径集合且对于任意路径

d.针对最短路径集合中的每一条路径path,计算其链路能耗

并将其升序排列。

e.结合虚拟请求拆分处理判断链路的服务类型,若服务类型为低延迟需求,则只考虑链路的带宽需求,如果b(luv)≤b(lij),将虚拟链路luv映射至链路能耗最小的物理链路lij上;若服务类型为高延迟需求,则不仅考虑链路的带宽需求,而且考虑链路的延迟需求,如果b(luv)≤b(lij)&d(luv)≥d(lij),将虚拟链路luv映射至链路能耗最小物理链路lij上,完成链路映射。

f.计算映射成功的物理链路的剩余带宽资源b(ls)=b(ls)-b(lv)。

g.返回步骤b,依次完成虚拟拓扑图中每条链路的映射,并将成功映射的物理链路存入链路映射链表linkmappinglist。

本发明针对物联网的网络特性,在虚拟网络映射阶段,对传统的能耗模型进行重新定义,使之适应于物联网环境下的能耗新特征。在保证能耗最小的情况下着重考虑节点的异构性以及链路的时效性,首先通过对虚拟请求做拆分处理,区分链路的时效特征,然后采用两阶段法完成虚拟网络资源的映射。该算法区别已有的能耗感知虚拟网络映射算法,通过资源整合的方式完成虚拟网络映射问题,实现资源利用率的最大化,缩短了映射时间,同时达到节能的效果,且随着引入参数的增加,从而实现更细粒度的映射方式。

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