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