zoukankan      html  css  js  c++  java
  • 基于网络拓扑的故障定位系统

    拓扑发现核心算法执行完毕以后,拓扑数据就可以获得,这些数据需要以一定 的形式存储于拓扑数据库卩刀中.拓扑发现的过程将网络抽象为图模型,但是图是一 非线性结构,本身不能作为一个整体存储,可以用两个dbf文件来分别表示.其中 vertex.dbf用于存储顶点信息,一个顶点是一条记录,字段可有顶点名称、顶点类 型和顶点的度,arcptr.dbf用于存贮每一条弧的信息,有向图中每条弧作为库中一条 记录,字段可有弧头、弧尾名称和权值.本文设计了两张数据表来存储拓扑数据, vertex.dbf和arcptr.dbf的库结构如下,

    Structure for database:

    Number of data records:

    Data of last update:

    Field

    Field Name

    Type

    Width

    1

    archead

    Numeric

    5

    2

    style

    Character

    10

    3

    degree

    Numeric

    5

    其中archead表示顶点ID, style表示顶点类型,degree表示顶点的度.

    Structure fbr database;

    Number of data records:

    Data of last update:                             _______________

    Field

    Field Name

    Type

    Width

    1

    archead

    Numeric

    5

    2

    arctail

    Numeric

    5

    3

    weight

    Numeric

    5

    其中字段archead, arctail和weight分别代表弧头、弧尾的ID和权值.

    3.5.2拓扑数据存储方式

    根据拓扑数据库的内容,可以确定拓扑数据的存储方式.数据存储的步骤为:

    (1)   首先査询vertex.dbf,找出网络上的各个路由器并记录它们的archead,再 査询arcptr.dbf,找到这些路由器之间的物理连接关系,并将它们的互连关系存储在 邻接矩阵中.

    (2)   构造邻接矩阵.当网络中存在n个路由器时,构造nxn阶矩阵An,.,元素

    "对应于第i个路由器到第j个路由器之间的依赖值.若两个路由器之间没有连接, 则對取o. /                                       I I I ■ vZ vx I I

    (3)   确定每条边的“权二它对应于两个直接物理相连设备之间的依赖关系, 需要实时采集。

    (4)   接着继续査询vertex.dbf,找出每个路由器连接的自治域内的交换机及主 机设•备等链路层设备,并査询arcptr.dbf,找到这些设备之间的物理连接关系,并将 它们的互连关系存储在邻接矩阵中・

    (5)   构造邻接矩阵。当网络中存在n个链路层设备时,构造nw阶矩阵A0-tt , 元素/对应于第i个设备到第j个设备的依赖值.若两个设备之间没有连接,则/ 取0。

    3.5.3创建关联关系

    关联关系是根据拓扑数据库中的信息,建立的网络设备之间的依赖关系.通过 关联关系的创建,网络拓扑变成一个有向图,图中的有向边代表网络设备之间的依 赖关系.根据有向图的特征,存储顶点信息的vertex.dbf文件库结构中结点度变为 结点的出度和入度,这样就可以更直观的了解各结点的属性。vertex.dbf的库结构如 T:

    Structure for database:

    Number of data records:

    在故障定位阶段,需要同时对每一个结点的前一个结点和后一个结点进行査 找,因此需要将设备之间的关联关系用一疋的形式存储.十字燄表是有向图的J种 链式存储结构,是将有向图的邻接表和逆邻接表结合起来的一种链表,恰好符合査 找的需要,因此采用十字链表存储网络拓扑的关联关系有向图.在十字链表中,头 结点和链结点的存储结构如表3-

    其中链结点结构由五个域组成,具体表示为:

    (1)       tail和head分别是弧的尾结点j和头结点k;

    (2)        weight域是弧的权值;

    (3)        hlink域链接的是以k为头的另一条弧;

    (4)        tlink域链接的是以j为尾的另一条弧.

    hlink indegree tlink hlink outdegree tlink

    其中头结点结构由三个域构成,具体表示为:

    (1)indegree和outdegree表示结点的入度和出度;

    <2) hlink域链接的是以k为头的另一条弧;

    (3) tlink域链接的是以j为尾的另一条弧。

    参考:http://cdmd.cnki.com.cn/Article/CDMD-10079-2008073368.htm

  • 相关阅读:
    ex01 温度转换1
    12 字典的遍历在 Python2 与 Python3 中区别
    11 序列中有多个最值时会索引出哪个
    10 isalpha() 对于字母的定义
    09 Python3 的深拷贝与浅拷贝
    08 in
    07 len()
    06 “杠零”与空字符
    导航点击字体变色
    清除浮动
  • 原文地址:https://www.cnblogs.com/Evak/p/12805194.html
Copyright © 2011-2022 走看看