1.一种基于最小生成树的虚拟网络保护性映射方法,其特征在于,其步骤如下:步骤一:获取当前物理网络的资源状态信息,得到物理网络的无向图GS=(VS,ES,CS(ns),BS(ls)),并初始化未映射物理节点集合UNVS=VS;其中,VS和ES分别表示物理节点集合和物理链路集合。CS(ns)为物理节点ns∈VS上的可用计算资源,BS(ls)为物理链路ls上的可用带宽;
步骤二:在虚拟请求到来时,获取到来的虚拟请求的资源状态信息,得到虚拟网络请求无向图GV=(VV,EV,CV(nv),BV(lv));其中,VV和EV分别表示虚拟节点集合和虚拟链路集合。CV(nv)为虚拟节点nv∈VV所需要的计算容量,BV(lv)为虚拟链路lv所需要的带宽;
步骤三:计算虚拟网络请求中各虚拟节点的节点度,将节点度最大的虚拟节点,即主动节点nVZ,放入主动节点集合VVZ,与其相连的虚拟节点,即被动节点nVB,放入被动节点集合VVB;
步骤四:将剩余未放入集合中的虚拟节点重新按节点度排序,重复步骤三,将主动节点按选取顺序依次放入主动节点集合中,直至所有虚拟节点被放入主动节点集合VVZ或被动节点集合VVB中,即VVZ+VVB=VV;
步骤五:根据主动节点集合VVZ和被动节点集合VVB将虚拟链路分为主动链路和被动链路,其中主动链路集合为EVZ,被动链路集合为EVB;
步骤六:将物理节点集合UNVS中的物理节点作为候选物理节点,映射主动节点集合中节点度最大的虚拟节点nVZ,节点映射满足资源约束和位置约束,且映射成功后将该物理节点从集合UNVS中删除;
步骤七:映射与主动虚拟节点nVZ相连的主动链路lVZ及该主动链路lVZ另一端的被动节点nVB;
步骤八:将已经映射完成的主动虚拟节点nVZ和被动节点nVB分别从主动节点集合VVZ和被动节点集合VVB中删除,并重复步骤六和七,直至所有的虚拟节点和主动链路映射完成。
步骤九:映射被动链路集合EVB中全部被动链路lVB,链路映射满足约束条件及频谱连续性约束、频谱邻接性、频谱不冲突性约束。
步骤十:计算虚拟拓扑的最小生成树,选取虚拟拓扑中属于最小生成树的虚拟链路,为虚拟链路提供备份路径。
2.根据权利要求1所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述节点度是节点的关联度,是与该节点相关联的边的条数;所述主动链路是虚拟链路映射时,只有一个端点被映射,另一个端点仍未被映射的链路,被动链路是链路的两端点均已被映射。
3.根据权利要求1所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述步骤六中节点映射满足的资源约束为:物理节点ns的可用资源CS(M(nv))必须不小于虚拟节点nv所需求的计算资源:在完成虚拟网络映射后,底层的物理节点的剩余容量为:
其中,RN(ns)为物理节点ns上的剩余可用计算资源,CV(nv)为物理节点ns上分配给虚拟节点nv所需的计算资源;将虚拟节点nv映射在物理节点ns上表示为M(nv)=ns,定义如下:nv→ns:M(nv)=ns,nv∈VV,ns∈VS。
4.根据权利要求3所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述步骤六中节点映射满足的位置约束为:虚拟节点映射在不同的底层物理节点上:其中, 表示不同的虚拟节点。
5.根据权利要求3所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述链路映射满足的资源约束为:链路映射时需要物理链路上有足够的带宽资源提供给虚拟链路,约束如下:BS(lS)≥BV(lv);
在完成虚拟网络映射后,底层物理链路的剩余容量变化如下:
其中,RL(ls)为物理链路ls上的剩余可用带宽资源。
6.根据权利要求3所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述频谱邻接性约束为每个连接请求分配连续的频谱隙,频谱邻接性表示为:频谱连续性约束为沿路由每条链路上分配相同的频谱资源,频谱连续性表示为:频谱不冲突性约束为每个连接请求在频谱资源上所占用的带宽必须不冲突且相隔离,频谱不冲突性表示为:其中, 表示物理链路的属性,则 表示物理链路lS的频谱资源状况, 表示物理链路lS的频隙占用状况, 表示频隙i被不同的带宽请求Z的占用状况。
7.根据权利要求1所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述步骤七中映射与主动虚拟节点nVZ相连的主动链路lVZ及该主动链路lVZ另一端的被动节点nVB的实现步骤为:
7.1从与主动虚拟节点nVZ相连的主动链路中随机选取一条主动链路lVZ进行映射,并假设该条链路另一端的节点为nVB,链路映射满足资源约束及频谱连续性约束频谱邻接性、频谱不冲突性约束,且应优先选择跳数小的物理链路;
7.2主动链路lVZ映射成功后,判断对应的物理节点是否满足被动节点nVB的要求,若满足映射要求则映射该被动节点nVB,并将已被映射的物理节点从物理节点集合UNVS删除;若不满足则返回步骤7.1重新映射主动链路lVZ;
7.3重复步骤7.1和7.2,直至与主动节点nVZ相连的主动链路及主动链路另一端的被动节点nVB全部映射完成。
8.根据权利要求1所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述步骤九中运用K最短路径算法映射被动链路集合EVB中全部被动链路lVB;采用广度优先搜索的思想实现K最短路径算法,具体步骤为:
1.假设n表示路径中包含的节点数,起始n=1;
2.从起点s开始遍历与s相连的一跳的节点并记录每一条路径作为候选路径,此时n=
2;
3.对每一条候选路径,在已构造路径的基础上遍历该路径的下一跳即n=n+1的路径,将新节点加入对应路径作为新路径并记录。若路径中包括环路,则此路径不再遍历;若路径中已包含终点d则此条路径满足要求,将此路径放入结果集合中;
4.重复步骤3,每遍历一个新的节点将该节点加入路径中作为新的候选路径,直至所有从起点s到终点d的路径都遍历完;
5.算法停止,从结果集合中输出其中的前K条路径。
9.根据权利要求1所述的基于最小生成树的虚拟网络保护性映射方法,其特征在于,所述步骤十中采用prim算法计算虚拟拓扑的最小生成树;prim算法从任意一个顶点开始,每次选择一个与当前顶点集最近的一个顶点,并将两顶点之间的边加入到树中,直到所有节点都被加入到树中;具体实现方法为:设虚拟拓扑节点集合为EV,生成树链路集合为MST:步骤1、任意选出一个虚拟节点作为初始顶点,标记为visit;
步骤2、在剩下的节点中,计算与已标记visit点距离最小的点标记为visit,并将对应的链路加入集合MST中;
步骤3、重复步骤2,直到所有节都被标记为visit;集合MST即为最小生成树的链路集合。