到虚拟网络G i;的二路划分一定 程度上取决于扩展分区起点Vstart的选取,因此实际实现时可以随机选择多个扩展起点,并 独立运行上述算法,最后再选择分割映射代价最小的划分方案。
[0111] 步骤三:细化阶段
[0112] 细化阶段的目的是将步骤二初始划分阶段中虚拟网络的两路分割映射回待分 割的虚拟网络g的两路分割,该阶段一般使用Kernighan - Lin算法进行调优,以取得划分 的局部最优值。虽然Kernighan - Lin算法也仅仅是将切割链路集合的权重之和作为划分 的评价指标,也没有考虑切割集中链路数量及权重分布对划分的影响,但是只要初始划分 阶段能得到比较好的分割的话,Kernighan - Lin划分算法也只是作局部交换,相对于整个 切割链路集合而言,被交换的链路条数对分割代价的影响被削弱,因此本发明在细化阶段 直接使用Kernighan - Lin算法进行调优。
[0113] 本发明没有对传统的多级递归二分法的细化阶段作任何修改,因此这里不再详细 描述细化阶段的操作过程。
[0114] 步骤四:递归阶段
[0115] 递归阶段的目的是检测是否需要继续调用多级递归二分法,对步骤三细化阶段中 得到的待分割的虚拟网络的两个子虚拟网络进行分割,分别对这两个子虚拟网络执行如 下操作:
[0116] 如果虚拟网络的节点的个数大于N,那么将该虚拟网络作为新的待分割虚拟网络, 并返回步骤一粗化阶段,即递归调用多级递归二分法对该虚拟网络作进一步地分割;否则, 即虚拟网络的节点个数小于N,那么结束对该虚拟网络的分割。
【主权项】
1. 一种基于虚拟网络分割的虚拟网络改进映射方法,其特征在于包括如下步骤: 1) 预判阶段 如果待分割的虚拟网络G',;的节点个数大于N,则执行步骤2);否则,即待分割的虚拟网 络Gf的节点个数小于等于N,则执行步骤6)。 2) 粗化阶段 如果待分割的虚拟网络Gf的节点个数小于2*N,那么待分割的虚拟网络G最粗化的 虚拟网络巧为自身,此时m等于0,接下来执行步骤3);否则,即待分割的虚拟网络碟的节 点个数大于等于2*N,则将待分割的虚拟网络GT转化成一系列与其拓扑特性相似但规模递 减的虚拟网络,并最终得到待分割的虚拟网络Gf最粗化的虚拟网络,具体为: 在当前虚拟网络中寻找极大匹配,并在寻找当前虚拟网络极大匹配的过程中不断合并 匹配的节点对得到一个新的多重节点,该多重节点的权重等于匹配的节点对的权重之和, 如果该多重节点与其任意一个邻接节点之间包含N条虚拟链路,其中N> 1,那么将这两节 点之间的N条虚拟链路合并为一条多重虚拟链路,然后根据计算虚拟链路集合的分割映射 代价的方法计算这N条虚拟链路的分割映射代价,设置该多重虚拟链路的权重为这N条虚 拟链路的分割映代价的值;当得到当前虚拟网络的极大匹配,即当前虚拟网络中不存在未 匹配的节点对时,即可得到下一级粗化的虚拟网络。 如果得到的虚拟网络的节点个数大于等于2*N,则用上述处理当前虚拟网络的操作处 理得到的虚拟网络,直到得到的虚拟网络的节点个数小于2*N;最终得到的节点个数小于 2*N的虚拟网络即为待分割的虚拟网络保最粗化的虚拟网络(?二。 3) 初始划分阶段 步骤a)随机从虚拟网络劣中选取1个节点Vstart作为扩展分区Gsub的扩展起点,也就 是说扩展分区Gsub最初只有一个随机选取的节点Vstart; 步骤b)查找虚拟网络<5相对于当前扩展分区Gsub的前端节点集合步骤c)依次假设将前端节点集合)中的一个节点加入到当前扩展分区Gsub,然 后查找虚拟链路切割集茗.",((G)=卜(心;根据计算虚拟链路集合 的分割映射代价的方法计算虚拟链路切割集的分割映射代价;最后选择前端节点 集合UK)中使虚拟链路切割集的分割映射代价值最小的节点真正加入到当前 扩展分区Gsub; 步骤e)如果当前扩展分区Gsub中的节点的个数小于虚拟网络的节点的个数的一 半,则返回执行步骤b);否则,即当前扩展分区Gsub中的节点的个数大于等于虚拟网络 的节点的个数的一半,则执行步骤f); 步骤f)对得到的划分进行合并调优,具体为:遍历虚拟网络C?:;中所有虚拟链路,如果 被访问的虚拟链路的一端节点属于当前扩展分区Gsub,而其另一端节点不属于当前扩展分 区Gsub,如果该不属于当前扩展分区Gsub的端节点的度值为1的话,就将该不属于当前扩展 分区Gsub的端节点加入到当前扩展分区Gsub。 4) 细化阶段 将步骤3)初始划分阶段中得到的虚拟网络的两路分割映射回待分割的虚拟网络 辑的两路分割,使用Kernighan-Lin算法进行调优,取得划分的局部最优值。 5) 递归阶段 分别对步骤4)细化阶段中得到的待分割的虚拟网络G丨两路分割后的两个虚拟网络执 行如下操作: 如果虚拟网络的节点的个数大于N,那么将该虚拟网络作为新的待分割虚拟网络,并返 回步骤2);否则,虚拟网络的节点的个数小于等于N,那么结束对该虚拟网络的分割。 6) 映射阶段 使用现有的虚拟网络映射方法映射所得到的节点个数小于等于N的虚拟网络。2. 根据权利要求1所述的一种基于虚拟网络分割的虚拟网络改进映射方法,其特征在 于所述的通过在当前虚拟网络中寻找极大匹配方法为最大亲密度匹配方法,所述的最大亲 密度匹配方法包括如下步骤: 步骤i)如果当前虚拟网络的节点个数小于等于2*N,那么结束粗化阶段,当前虚拟网 络即为待分割的虚拟网络Gf最粗化的虚拟网络,其中如果待分割的虚拟网络Gf的节点 小于等于2*N,那么待分割的虚拟网络G丨最粗化的虚拟网络即为本身;否则,即当前虚拟网 络的节点个数大于2*N,则执行步骤ii); 步骤ii)以随机的顺序访问当前虚拟网络中的节点,然后对每一个被访问的节点执行 步骤iii)和iv); 步骤iii)如果被访问的节点V未匹配,而且节点V还有未匹配的邻接节点,那么计算 节点V与其所有未匹配的邻接节点的亲密度,然后选择与节点V亲密度最大的未匹配的邻 接节点V'作为节点V的匹配节点;合并匹配的节点对V'和V为一个多重节,多重节 点v_的权重等于匹配的节点对V'和V的权重之和;如果多重节点V_与其任意一个邻接 节点之间包含N条虚拟链路,其中N> 1,那么将这两节点之间的N条虚拟链路合并为一条 多重虚拟链路,然后根据计算虚拟链路集合的分割映射代价的方法计算这N条虚拟链路的 分割映射代价,设置该多重虚拟链路的权重为这N条虚拟链路的分割映代价的值;将节点 对V和V设置为匹配状态; 步骤iv)如果被访问的节点V已匹配,或者在被访问的节点V未匹配情况下,节点V没 有未匹配的邻接节点,那么节点V的匹配查找过程结束。3. 根据权利要求1至2中任一项所述的一种基于虚拟网络分割的虚拟网络改进映射方 法,其特征在于所述的计算节点V与其所有未匹配的邻接节点的亲密度的公式为:其中,r(?)表示虚拟网络邻接节点对<G?丨的亲密度;&、&分别表示虚拟节 点<、《2V请求的CPU资源,表示虚拟链路请求的带宽资源;Ate(〇表 示由物理网络设备提供商预先设定的虚拟节点请求的CPU资源的最大值;A为压缩常数, 取值为4。4. 根据权利要求1至3中任一项所述的一种基于虚拟网络分割的虚拟网络改进映射方 法,其特征在于所述的计算虚拟链路集合的分割映射代价的方法为: 当虚拟链路集合只包含一条虚拟链路时,虚拟链路集合的分割映射代价等于该虚拟链 路的权重; 当虚拟链路集合包含二条虚拟链路{e^e2}时,虚拟链路集合的分割映射代价的计算 公式为:其中,MC表示虚拟链路集合的分割映射代价,%^ 分别表示虚拟链路ei、%的权 重; 当虚拟链路集合包含多条虚拟链路时,虚拟链路集合的分割映射代价的计算方法如 下: 按顺序从当前虚拟链路集合中取出两条虚拟链路,并利用公式(1)计算这两条虚拟链 路的分割映射代价,然后将一条权重为这两条虚拟链路的分割映射代价值的虚拟链路按顺 序插入到当前虚拟链路合中;重复以上过程,直到当前虚拟链路集合中只有一条虚拟链路, 最后虚拟链路集合的分割映射代价等于虚拟链路集合中最后一条虚拟链路的权重。5. 根据权利要求1至4中任一项所述的一种基于虚拟网络分割的虚拟网络改进映 射方法,其特征在于所述的查找虚拟网络<?::相对于当前扩展分区Gsub的前端节点集合 hI(7H)eA (/2;eLA~0 具体为:遍历虚拟网络q中所有虚拟链 路,如果被访问的虚拟链路的一端节点属于当前扩展分区Gsub,而其另一端节点不属于当前 扩展分区Gsub,那么将该虚拟链路中不属于当前扩展分区Gsub的一端节点加入到前端节点集 合l(G:)。6. 根据权利要求1至5中任一项所述的一种基于虚拟网络分割的虚拟网络改进映射方 法,其特征在于所述的依次假设将前端节点集合中的一个节点加入到当前扩展分 区Gsub,然后查找虚拟链路切割集Ug) =P(H)丨eKi,Aah,,gKj,具体为:遍历虚拟 网络句:中所有虚拟链路,如果被访问的虚拟链路的一端节点属于当前扩展分区Gsub,而其 另一端节点不属于当前扩展分区Gsub,那么将该虚拟链路加入到虚拟链路切割集UG,',) ?
【专利摘要】本发明公开了一种基于虚拟网络分割的虚拟网络改进映射方法,通过将一个大的虚拟网络分割成多个关联尽量少的子虚拟网络,各个子虚拟网络之间由若干虚拟链路连接,然后再使用现有的虚拟网络映射方法进行映射。通过本发明的改进映射策略,可以明显改善现有一些虚拟网络映射方法映射规模较大的虚拟网络所造成的映射时间长,映射代价大等问题,同时本发明为大型虚拟网络的映射提供了一个解决方法。
【IPC分类】H04L12/46
【公开号】CN105049315
【申请号】CN201510484227
【发明人】谢立, 宋克兰
【申请人】浙江大学
【公开日】2015年11月11日
【申请日】2015年8月7日