1.一种软件定义网络中交换机迁移算法,其特征在于,包括以下步骤:
101、当控制器发生故障后,对故障域中的边界交换机,计算待迁移的边界交换机迁移优先级,并选择优先级最大的边界交换机优先进行迁移;
102、以交换机与控制器之间的映射构建模型,以通过控制器的负载、控制器的剩余资源量、待迁移交换机与控制器之间的距离作为迁移的衡量指标,计算待迁移交换机与控制器之间的失信度;
103、通过失信度与任一控制器的负载构建映射关系并建立映射评估函数;
104、判断选择出的控制器是否使得评估函数达到最小值,若是则选择此控制器作为交换机迁移目的地并记录映射关系,跳转至步骤105,否则返回步骤103重新选择控制器;
105、若故障域中的交换机全部分配完毕,结束并输出映射矩阵,否则返回步骤101。
2.根据权利要求1所述的软件定义网络中交换机迁移算法,其特征在于,所述迁移优先级定义具体包括:边界交换机Vj的优先级权重Pj*定义为: 其中Rj表示边界交换机Vj的流请求数目,而 表示待分配交换机集合V-中流请求总数,在边界交换机集合中P*的值越大,被先分配的优先级越高。
3.根据权利要求1所述的软件定义网络中交换机迁移算法,其特征在于,
所述步骤102控制器的负载、待迁移交换机与控制器之间的距离作为迁移的衡量指标具体包括:S1:控制器负载表示为: 其中,Reqi表示受控制器i管理下的交换机集合V'={Vi,V2,…,Vk}流请求数目总和;
S2:控制器的剩余资源量/资源利用率:Csurplusi为控制器的容量Ci减去控制器的资源使u surplus u surplus surplus用量Ci,即C i=Ci-Ci,则剩余资源利用率u i为剩余资源量C i与容量Ci的比值,即usurplusi=1-Cui/Ci;
S3:交换机到控制器的距离:通过交换机到控制器的最小时延进行衡量,即通过迪杰斯特拉算法计算出表示待分配交换机集合V-={Vi,Vi+1,…,Vi+n}到各个备选控制器集合C-之- -间的最小时延d(i,j),其中i∈V,j∈C。
4.根据权利要求3所述的软件定义网络中交换机迁移算法,其特征在于,还包括交换机在迁移过程中的失信度计算:在迁移过程中交换机按最短时延未能成功分配到目的节点的度量值,假设交换机节点Vi到备选控制器节点Ci的最短路径由 表示,其中Lk表示路径lii中第k段链路,第k段链路故障的概率为pk,在待分配交换机集合V-={Vi,Vi+1,…,Vi+n}中节点Vi到备选控制器节点Ci的失信度可表示为: 其中d(Vi,Ci)表示交换机到控制器的最短时延,Pk表示链路的故障概率。
5.根据权利要求3所述的软件定义网络中交换机迁移算法,其特征在于,
所述步骤103通过失信度与任一控制器的负载构建映射关系并建立映射评估函数包括:对交换机Vi到控制器Cj的任意映射构建评估函数可表示为:
其中ui=Cui/Ci+Ri/Ci表示待分配交换机Vi映射到备选控制器Ci时,控制器Ci的资源利用率;Ri表示交换机Vi提供的负载量,umin所有备选控制器中的最小资源利用率;umax所有备选控制器中的最大资源利用率;Qi表示待分配交换机Vi映射到备选控制器Ci时,归一化后的失信度,Qmin表示映射到备选控制器集合中最小的归一失信度,Qmax表示最大归一失信度。
6.根据权利要求5所述的软件定义网络中交换机迁移算法,其特征在于,所述建立映射评估函数前还包括度量变换的步骤,为了消除由于度量不同而引起数值上的差距而影响结果,对目标函数的两个度量目标f1,f2进行数值度量变换为F1,F2,使得每个函数都满足于0