映射过程描述
虚拟网络映射算法的节点、链路映射一般过程
映射过程
1 2 3 4 5 6 7 8 9
| for(request:requestList){ 映射成功标记 flag ① flag = 节点映射结果 if(falg) 节点资源分配 执行②部分 else 本组request映射失败 ② flag = 链路映射结果 if(falg) 链路资源分配 else 本组request映射失败 }
|
节点映射过程
1 2 3 4 5 6 7 8 9 10 11 12 13
| 排序物理网络、网络请求的节点; for( vn_node : vn_nodes){ for(遍历物理节点){ if(物理节点节点剩余CPU > 虚拟节点CPU需求){ 存储映射结果,跳出for循环,映射下一个节点 } if(物理节点遍历结束){ 映射失败,返回false } } } 节点映射成功,分配物理节点资源
|
链路映射过程
1 2 3 4 5 6 7 8 9 10 11 12
| for(vn_link :vn_links){ 取出链路需求带宽,起、止节点id 根据起止节点id(from,to)查找最短路径 floyd if(finded){ if(链路需求带宽 > 物理链路剩余带宽) 映射失败; else 将这一条链路加入resultLinks(链路映射最终结果) }else{ return false; } }
|
Last updated: