一种跨数据中心的虚拟网络映射方法技术

技术编号:10428554 阅读:238 留言:0更新日期:2014-09-12 19:15
本发明专利技术跨数据中心的虚拟网络映射方法,虚拟网络在保证生存能力需求和可靠性条件下,先通过虚拟节点分组算法VNGP将虚拟网络中的虚拟节点进行分组,并基于当前分组寻找不同分组间的所有节点对集合,确定出最终分组,再通过GVNM子算法将分组后的虚拟网络映射到底层数据中心网络上。在保证生存能力需求下将虚拟节点映射到同一数据中心,从而节约了通信资源,还采用数据中心内部的可靠性增强方法,从而保证了虚拟网络的可靠性,同时具有高效性。

【技术实现步骤摘要】
一种跨数据中心的虚拟网络映射方法
本专利技术属于互联网通信
,更为具体地讲,涉及一种跨数据中心的虚拟网络映射方法。
技术介绍
当前,互联网在获取并交换信息方式的模型上取得了巨大的成功,在过去的三十年中,互联网通过支持大批分散的应用以及大量不同的网络技术,证实了自身结构的价值,然而,互联网的广泛使用也成为了其进一步发展的最大阻碍,由于其多供应商的特性,在互联网的现有结构中加入新的结构或调整需要获得所有运营商的共同认可,从而现今的网络结构受到限制只能够进行迟缓简单的更新,而无法进行迅速的变革。网络虚拟化作为解决当前互联网僵化问题的技术手段,近年来受到了国内外未来网络领域研究的广泛关注。网络虚拟化的优势之一是支持多个异构的网络架构共享物理基础设施,网络虚拟化技术其本质是通过抽象、分配、隔离机制在一个公共物理网络上独立地运营多个虚拟网,从而能够有选择性地进行最佳的资源分配与调度。网络虚拟化实现了分布式虚拟资源的广泛共享,因此虚拟资源映射是网络虚拟化技术需要实现的重要功能。虚拟资源映射算法作为网络虚拟化技术的关键问题之一,它实现了将用户的虚拟网络请求合理地映射至底层物理网络的物理资源上的过程,其中如何高效分配物理网络资源以满足各虚拟网络的链路带宽和节点性能要求,是虚拟资源映射问题的关键。目前已有跨数据中心虚拟网络映射算法以最小化映射成本为目标。该算法按照分级地将虚拟网络映射到多数据中心的底层基础设施上,由于广域网上的单位带宽成本比单个数据中心内高,因此先选择将虚拟网络中的所有虚拟节点映射到单个数据中心内以最小化广域网上所承载的带宽,之后再逐级将虚拟节点和虚拟链路映射到数据中心内部的机架和服务器上。但这种方法仅考虑了映射成本,而没有考虑区域失效(整个数据中心失效)对虚拟网络的影响,甚至在单个数据中心内资源充足的情况下,虚拟网络将完全映射到数据中心内部,那么这个数据中心的失效将导致整个虚拟网络的失效。还有另外的映射算法中,由于广域网上的单位带宽成本比数据中心内高,因此忽略数据中心内的带宽成本,并将整个数据中心视为底层拓扑的一个物理节点,强制约束所有的虚拟节点映射到不同的物理节点上(数据中心内),并在此基础上以最小化映射成本为目标。该算法虽然最大化了虚拟网络对单个数据中心的容错能力,但是由于广域网上承载的大量带宽而导致映射成本较高。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种跨数据中心的虚拟网络映射方法,在保证生存能力和可靠性需求的条件下以最小的成本为目标完成虚拟网络映射到底层数据中心网络。为实现上述专利技术目的,本专利技术跨数据中心的虚拟网络映射方法,其特征在于,包括以下步骤:(1)、确定虚拟网络的生存能力需求sV:虚拟节点nV映射在物理节点nS上表示为:nV→nS:M(nV)=nS,nV∈VV,nS∈VS当M(nV)=nS时x(nV,nS)为1,否则x(nV,nS)为0,则生存能力约束为:其中,VV为虚拟节点集合,VS为物理节点集合;(2)、确定虚拟网络中虚拟节点的最终分组:(2、1)、通过虚拟节点分组算法VNGP(VirtualNodeGroupPartition)将虚拟网络中的虚拟节点进行分组:将虚拟节点集合VV放入到N(sV)个分组中,N(sV)为VV的分组数目,即VV=G1∪G2∪…∪Gi,第i个分组Gi内的虚拟节点数目|Gi|≤[(1-sV)*|VV|],分组数目N(sV)≤|VV|,其中,i=1,2,…N(sV),[]表示向下取整;(2、2)、在虚拟节点集合VV中增加辅助节点,使N(sV)个分组中都有[(1-sV)*|VV|]个节点;(2、3)、基于当前分组Gi寻找不同分组间的所有节点对集合U:定义所有节点对之间的权值为y(m,n)或y(n,m),n∈VV,m≠n,y(m,n)的表达式为:则集合那么在已知各个分组大小的条件下,VV中的虚拟节点以最小化组间虚拟链路的总需求带宽为:其中,由于每个分组的大小确定为[(1-sV)*|VV|],因此可以得到集合U的大小为:(2、4)、在确定每个分组大小和分组数目条件下,通过交换不同分组内的虚拟节点和辅助节点来寻找最终分组:将分组Gi中的第a,a≤|Gi|个虚拟节点nVa和第j个分组Gj中的第b,b≤|Gj|个虚拟节点nVb交换,且nVa和nVb的交换不影响其它分组相关的权值y(m,n),最小化组间虚拟链路的总需求带宽所减小的差值Δ为:定义不同分组的节点对之间的资源需求w(nVa,Gi,nVb,Gj)的计算公式为:其中,nVa,nVb∈VV,i,j∈[1,N(sV)],i≠j;逐一从U中选择一对(m,n),m∈Gi,n∈Gj代入w(nVa,Gi,nVb,Gj)计算w(m,Gi,n,Gj)和w(n,Gi,m,Gj),ε为准确度,如果w(m,Gi,n,Gj)<w(m,Gi,n,Gj)/(1+ε),将n转移至Gi并将m转移至Gj,同时更新U后转至步骤(2、3),如果(m,n)不是遍历的最后一个节点对,继续步骤(2、4)否则,算法结束;(2、5)、删除虚拟节点集合VV中增加的辅助节点;(3)、虚拟网络在满足生存能力需求条件下,通过GVNM(GroupedVirtualNetworkMapping)子算法将分组后的虚拟网络映射到底层数据中心网络上:(3、1)、定义集合M,且初始化为空集,用于记录已映射的虚拟节点;(3、2)、若M不为空,选择与M中虚拟节点间的虚拟链路总需求带宽最大的未映射分组Gi,进入步骤(3、3),若M为空,则选取按资源需求降序排列的第一个分组Gi,直接对Gi进行映射;(3、3)、遍历未映射其它分组的物理节点,从中寻找令Gi中的虚拟节点和相关虚拟链路的映射成本最小的可映射物理节点ns,其中,EV为虚拟链路集合,如果找到物理节点ns,则映射Gi和相关虚拟链路,并将Gi中的虚拟节点放入集合M中,如果没有找到可映射的物理节点ns,此次映射失败;(3、4)、逐一映射完所有分组,完成映射,否则返回步骤(3、2);(4)、对跨数据中心虚拟网络做增强性可靠设计:定义虚拟网络所需的可靠性为rV,物理节点ns∈VS上数据中心内的服务器失效概率为p(ns),分组Gi的可靠性为r(Gi),当分组Gi内没有备份虚拟节点且映射在物理节点ns上时,r(Gi)为(1-p(nS))^|Gi|,虚拟网络的实际可靠性为Πi∈[1,N(ns)]r(Gi),且Πi∈[1,N(ns)]r(Gi)<rV,当每个分组Gi的可靠性r(Gi)都不小于rV^(1/N(sV))时,虚拟网络所需的可靠性为rV可以得到保证;在本地的数据中心内,定义分组Gi的本地备份虚拟节点集合为Bi,映射在物理节点ns上的分组Gi所需的本地备份虚拟节点数目|Bi|的计算公式为:每个本地备份虚拟节点所需的计算容量为组内工作虚拟节点所需计算容量的最大值,定义为:其中所述的权值y(m,n)还可以为y(n,m),y(n,m)的表达为:本专利技术的专利技术目的是这样实现的:本专利技术跨数据中心的虚拟网络映射方法,虚拟网络在保证生存能力需求和可靠性条件下,先通过虚拟节点分组算法VNGP将虚拟网络中的虚拟节点进行分组,并基于当前分组寻找不同分组间的所有节点对集合,确定出最终分组,再通过GVNM子算法将分组后的虚拟网络映射到底层数据中心本文档来自技高网
...
一种跨数据中心的虚拟网络映射方法

【技术保护点】
一种跨数据中心的虚拟网络映射方法,其特征在于,包括以下步骤:(1)、确定虚拟网络的生存能力需求sV:虚拟节点nV映射在物理节点nS上表示为:nV→nS:M(nV)=nS,nV∈VV,nS∈VS当M(nV)=nS时x(nV,nS)为1,否则x(nV,nS)为0,则生存能力约束为:ΣnV∈VVx(nV,nS)≤(1-sV)*|VV|,∀nS∈VS]]>其中,VV为虚拟节点集合,VS为物理节点集合;(2)、确定虚拟网络中虚拟节点的最终分组:(2、1)、通过虚拟节点分组算法VNGP(Virtual Node Group Partition)将虚拟网络中的虚拟节点进行分组:将虚拟节点集合VV放入到N(sV)个分组中,N(sV)为VV的分组数目,即VV=G1∪G2∪…∪Gi,第i个分组Gi内的虚拟节点数目|Gi|≤[(1‑sV)*|VV|],分组数目N(sV)≤|VV|,其中,i=1,2,…N(sV),[]表示向下取整;(2、2)、在虚拟节点集合VV中增加辅助节点,使N(sV)个分组中都有[(1‑sV)*|VV|]个节点;(2、3)、基于当前分组Gi寻找不同分组间的所有节点对集合U:定义所有节点对之间的权值为y(m,n)或y(n,m),m≠n,y(m,n)的表达式为:则集合U={(m,n)|∀m∈Gi,∀n∈Gj,∀i∈[1,N(sV)-1],∀j∈[i+1,N(sV)]}]]>那么在已知各个分组大小的条件下,VV中的虚拟节点以最小化组间虚拟链路的总需求带宽为:minGi,i∈[1,N(nS)]Σ(m,n)∈Uy(m,n)]]>其中,由于每个分组的大小确定为[(1‑sV)*|VV|],因此可以得到集合U的大小为:|U|=N(sV)*(N(sV)-1)2*[(1-sV)*|VV|]2]]>(2、4)、在确定每个分组大小和分组数目条件下,通过交换不同分组内的虚拟节点和辅助节点来寻找最终分组:将分组Gi中的第a,a≤|Gi|个虚拟节点nVa和第j个分组Gj中的第b,b≤|Gj|个虚拟节点nVb交换,且nVa和nVb的交换不影响其它分组相关的权值y(m,n),最小化组间虚拟链路的总需求带宽所减小的差值Δ为:Δ=(Σn∈Gj,n≠nVa,nVby(n,nVa)+Σm∈Gi,m≠nVa,nVby(m,nVb))-(Σm∈Gi,m≠nVa,nVby(m,nVa)+Σn∈Gj,n≠nVa,nVby(n,nVb))]]>定义不同分组的节点对之间的资源需求w(nVa,Gi,nVb,Gj)的计算公式为:w(nVa,Gi,nVb,Gj)=Σm∈Gj,m≠nVa,nVby(m,nVa)+Σn∈Gi,n≠nVa,nVby(n,nVb)]]>其中,nVa,nVb∈VV,i,j∈[1,N(sV)],i≠j;逐一从U中选择一对(m,n),m∈Gi,n∈Gj代入w(nVa,Gi,nVb,Gj)计算w(m,Gi,n,Gj)和w(n,Gi,m,Gj),ε为准确度,如果w(m,Gi,n,Gj)<w(m,Gi,n,Gj)/(1+ε),将n转移至Gi并将m转移至Gj,同时更新U后转至步骤(2、3),如果(m,n)不是遍历的最后一个节点对,继续步骤(2、4)否则,算法结束;(2、5)、删除虚拟节点集合VV中增加的辅助节点;(3)、虚拟网络在满足生存能力需求条件下,通过GVNM(Grouped Virtual Network Mapping)子算法将分组后的虚拟网络映射到底层数据中心网络上:(3、1)、定义集合M,且初始化为空集,用于记录已映射的虚拟节点;(3、2)、若M不为空,选择与M中虚拟节点间的虚拟链路总需求带宽最大的未映射分组Gi,进入步骤(3、3),若M为空,则选取按资源需求降序排列的第一个分组Gi,直接对Gi进行映射;(3、3)、遍历未映射其它分组的物理节点,从中寻找令Gi中的虚拟节点和相关虚拟链路的映射成本最小的可映射物理节点ns,其中,EV为虚拟链路集合,如果找到物理节点ns,则映射Gi和相关虚拟链路,并将Gi中的虚拟节点放入集合M中,如果没有找到可映射的物理节点ns,此次映射失败;(3...

【技术特征摘要】
1.一种跨数据中心的虚拟网络映射方法,其特征在于,包括以下步骤:(1)、确定虚拟网络的生存能力需求sV:虚拟节点nV映射在物理节点nS上表示为:nV→nS:M(nV)=nS,nV∈VV,nS∈VS当M(nV)=nS时x(nV,nS)为1,否则x(nV,nS)为0,则生存能力约束为:其中,VV为虚拟节点集合,VS为物理节点集合;(2)、确定虚拟网络中虚拟节点的最终分组:(2、1)、通过虚拟节点分组算法VNGP(VirtualNodeGroupPartition)将虚拟网络中的虚拟节点进行分组:将虚拟节点集合VV放入到N(sV)个分组中,N(sV)为VV的分组数目,即VV=G1∪G2∪…∪Gi,第i个分组Gi内的虚拟节点数目|Gi|≤[(1-sV)*|VV|],分组数目N(sV)≤|VV|,其中,i=1,2,…N(sV),[]表示向下取整;(2、2)、在虚拟节点集合VV中增加辅助节点,使N(sV)个分组中都有[(1-sV)*|VV|]个节点;(2、3)、基于当前分组Gi寻找不同分组间的所有节点对集合U:定义所有节点对之间的权值为y(m,n)或y(n,m),m≠n,y(m,n)的表达式为:其中,lV表示虚拟链路,B(lV)表示虚拟链路lV的带宽需求;则集合那么在已知各个分组大小的条件下,VV中的虚拟节点以最小化组间虚拟链路的总需求带宽为:其中,由于每个分组的大小确定为[(1-sV)*|VV|],因此可以得到集合U的大小为:(2、4)、在确定每个分组大小和分组数目条件下,通过交换不同分组内的虚拟节点和辅助节点来寻找最终分组:将分组Gi中的第a,a≤|Gi|个虚拟节点nVa和第j个分组Gj中的第b,b≤|Gj|个虚拟节点nVb交换,且nVa和nVb的交换不影响其它分组相关的权值y(m,n),最小化组间虚拟链路的总需求带宽所减小的差值Δ为:定义不同分组的节点对之间的资源需求w(nVa,Gi,nVb,Gj)的计算公式为:其中,nVa,nVb∈VV,i,j∈[1,N(sV)],i≠j;逐一从U中选择一对(m,n),m∈Gi,n∈Gj代入w(nVa,Gi,nVb,Gj)计算w(m,Gi,n,Gj)和w(n,Gi,m,Gj)...

【专利技术属性】
技术研发人员:廖丹孙罡肖克祥狄浩虞红芳孙健
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1