欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

云计算数据中心设备分层算法

程序员文章站 2022-07-03 08:34:27
...

一.算法的目的与意义

当前数据中心网络拓扑结构通常采用层次结构,如业界最常用的树形拓扑结构中,所有设备可以分为服务器层、边界交换机层、核心交换机层。每层设备的功能,配置,类型等都存在很大的差异,又由于数据中心中设备数量巨大,因此,设计一个算法,自动分析出每个设备具体属于那一层次是很有必要的。

云计算数据中心设备分层算法
            
    
    博客分类: 云计算 网络拓扑结构分层数据中心 

 

二.算法输入与输出

算法输入:设备间连接关系,设备类型(服务器或交换机)

算法输出:设备所属层次(最底层是服务器---层次0

三.算法实现

1)首先将所有设备的层次都置为0,把它们放入同一个集合中,我们称之为未分层集合,并在当中查找设备类型为服务器的节点,将这些设备从所有设备的集合中取出,形成一个新的集合,我们称之为 支点集合。

2)将未分配集合中所有设备的层次加1,然后根据支点集合,在未分配集合中寻找与支点集合中设备有连接关系的设备,将他们从未分配集合中取出,形成新的支点集合。

3)重复执行步骤2),直到未分配集合为空,算法结束,这是所有设备的层次已分出。

伪代码如下:

Layer_Finding(Device)    /*初始化,以所有设备的集合作为输入*/

    foreach vertex v∈Device

        If (v.type==server){
 
             delete v from Device;

             add v into Pivot;

          }

     foreach vertex v∈Device

              V.layer++;      //所有设备层数加一

   While(true){

             If(Device is empty){

                     Return true;} 

             Foreach vertex v∈Device

                Foreach vertex v'∈Pivot  

                    If ( v  connect with v'){

                              delete v from Device;

                              Add v into new Piovt;

                          }

      foreach vertex v∈Device

               V.layer++;      //所有设备层数加一

   }

 Java版原型系统见附件

 

  

<!--EndFragment-->

 

  • 云计算数据中心设备分层算法
            
    
    博客分类: 云计算 网络拓扑结构分层数据中心 
  • 大小: 70.6 KB