1.一种基于多节点协作和相关光路资源感知的生存性虚拟网络映射方法,其特征在于:该方法包括以下步骤:
S1:首先,初始化底层物理网络,确定当前底层物理网络中频谱资源的频隙索引值、每条物理光路的跳数、每条物理光路的相关光路集以及物理节点和物理链路的资源剩余情况;其次,找出虚拟网络请求的所有未映射虚拟节点,并确定所有未映射虚拟节点的计算资源需求、相邻链路的带宽需求、度数以及相邻已映射虚拟节点个数;再次,根据虚拟节点的计算资源需求、相邻链路的带宽需求、度数以及相邻已映射虚拟节点个数,计算所有未映射虚拟节点的权重排序值;然后,根据虚拟节点的权重排序值,将所有未映射虚拟节点非升序排序;最后,将已完成排序的所有未映射虚拟节点依次通过基于多节点协作的虚拟节点映射方法,完成虚拟节点的映射;
S2:当虚拟节点全部成功映射后,首先,找出虚拟网络请求的所有未映射虚拟链路,并确定所有未映射虚拟链路的带宽需求;然后,根据虚拟链路的带宽需求,将所有未映射虚拟链路非升序排序;最后,将已完成排序的所有未映射虚拟链路依次通过基于相关光路资源感知的虚拟链路映射方法,完成虚拟链路的映射。
2.根据权利要求1所述的一种基于相关光路资源感知的生存性虚拟网络映射方法,其特征在于:所述S1中基于多节点协作的虚拟节点映射方法实现,具体包括以下步骤:S101:找出权重排序值最大的未映射虚拟节点的所有候选物理节点并存入集合R;
未映射虚拟节点的权重排序值通过以下方式计算:v
其中,Cn表示虚拟节点v所需的计算资源大小,Dv表示v的度数,|adj(v)|表示v的相邻已映射虚拟节点数, 表示v的相邻链路带宽需求和。
S102:判断集合R是否为空,若是,则此虚拟网络请求映射失败,反之,计算集合R中所有候选物理节点的协作因子值并选择出协作因子值最大的候选物理节点;
候选物理节点的协作因子值通过以下方式计算:其中,Nv表示虚拟节点v的相邻未映射虚拟节点集合,s1是虚拟节点v1的预映射物理节点。s'是虚拟节点v'的预映射物理节点, 表示物理节点s'的剩余可用计算资源,con(v')表示虚拟节点v'的相邻已映射虚拟节点所映射的物理节点集合,hop(ps'a)表示物理节点s'到相邻已映射虚拟节点所映射物理节点a的最短光路ps'a的跳数, 表示物理节点s'的相邻链路剩余可用带宽和。
S103:将权重排序值最大的未映射虚拟节点映射在协作因子值最大的候选物理节点上。
3.根据权利要求2所述的一种基于相关光路资源感知的生存性虚拟网络映射方法,其特征在于:所述S2中基于相关光路资源感知的虚拟链路映射方法实现,具体包括以下步骤:S201:采用最短路径算法为带宽需求最高的未映射虚拟链路计算一条最短光路作为工作光路;
S202:判断工作光路中是否存在可用频谱块,若是,则计算所有可用频谱块的关联因子值,并选取关联因子值最小的频谱块在工作光路上进行频谱分配,反之,则此虚拟网络请求映射失败;
关联因子值通过以下方式计算:
其中,χP表示光路p的相关光路集,包含光路p本身,b表示光路p中的一个可用频谱块。
p'
FR (b)表示光路p'的频谱碎片化度量值,其值越小,则光路p'的频谱碎片化越严重,和 分别表示在光路p'上分配频谱块b前后的频谱碎片化度量值,fsi为一个二进制变量,频隙i如果被占用,则为0,反之,则为1,N表示光路p'的频隙总数,|B|表示光路p'
p'的空闲频谱块的数目。ΔFs (b)表示在光路p'上分配频谱块b前后的空闲频隙减少数量,p'
ΔFsmax表示ΔFs (b)的最大取值。
S203:采用最短路径算法为带宽需求最高的未映射虚拟链路计算K条与其工作光路链路不相交的候选保护光路;
S204:判断候选保护光路中是否存在可用频谱块,若是,则计算所有可用频谱块的匹配因子值,并选取匹配因子值最小的频谱块在保护光路上进行频谱分配,反之,则此虚拟网络请求映射失败。
匹配因子值通过以下方式计算:
BS(b)=hop(p)·AF(b)hop(p)表示光路p的跳数,AF(b)表示光路p上频谱块b的关联因子值,BS(b)值越小,频谱块b被选择的可能性越大。