CN1474297A - 一种基于gis的计算机网络地图的组织维护方法 - Google Patents
一种基于gis的计算机网络地图的组织维护方法 Download PDFInfo
- Publication number
- CN1474297A CN1474297A CNA031451446A CN03145144A CN1474297A CN 1474297 A CN1474297 A CN 1474297A CN A031451446 A CNA031451446 A CN A031451446A CN 03145144 A CN03145144 A CN 03145144A CN 1474297 A CN1474297 A CN 1474297A
- Authority
- CN
- China
- Prior art keywords
- network
- link
- node
- gis map
- physical link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种层次化计算机网络GIS地图的组织方法,包括步骤:步骤1按照网络实际情况和管理需要,构造网络的层次结构;步骤2对于层次结构中每一个网络,构造相关GIS地图;步骤3针对网络拓扑中每一条连接,在层次化网络GIS地图中添加相应实际链路,并维护实际链路与上层汇聚链路一致性;层次化网络GIS地图提供了层次化的网络拓扑和状态信息的汇聚与解汇聚的方法,本发明给出了层次化网络GIS地图的拓扑更新、状态更新算法,自动维护网络GIS地图的拓扑的一致性和状态的一致性。本发明可广泛应用于计算机网络管理系统和网络监测系统。同时,将本发明提出的模型推而广之,可以应用于无线通讯、运输管理等领域。
Description
技术领域
本发明涉及地理信息系统(GIS)与网络管理系统的结合技术领域,特别是涉及一种基于GIS的计算机网络地图的组织维护方法,尤其是层次化网络GIS地图的组织维护方法。
背景技术
地理信息系统(GIS)是一个软件、硬件相结合的系统,它支持地理空间数据的采集、存储、显示,并且将地理空间数据与相关参考数据关联,提供信息查询与分析功能。GIS以其直观形象的特点在越来越多领域得到应用。计算机网络管理系统也是一个软、硬件相结合的系统,提供网络的失效管理、配置管理、安全管理、性能管理和计费管理功能。近年来,GIS在网络管理系统也得到了初步应用以=。传统的网管系统借助网络拓扑实现对网络的管理维护,管理界面上的网络对象处于一个虚拟的网络空间,这种实现方式虽然与网络的连接状况保持一致,但是由于没有将网络的地理位置信息纳入到管理系统之中,一般只能反映部分网络结构情况,网络管理存在不便之处。将GIS应用于网络管理系统,可以把网络拓扑与GIS地图有机结合成为网络GIS地图,该地图同时囊括网络拓扑信息和地理位置信息,借助于该地图网络管理员可以直观地监控网络运行状况,并且有利于网络失效管理和性能管理。
GIS与网络管理系统的结合引入了一个需要解决的新的问题,即虚拟的网络拓扑与实际的GIS地图的结合。网络拓扑是网络组件的物理或逻辑分布形式,即网络节点(包括计算机、网络打印机、服务器等)在互通网络上的分布形式,GIS地图展现某一地域的地理位置信息,需要利用一定方法才能将二者的信息有效的统一在一张层次化网络GIS地图中。一种比较简单的实现方法是将整个网络的拓扑信息全部显示在一张GIS地图上,但是由于GIS地图显示平面大小及人眼视野范围有限,在网络对象较多时,显示效果不佳,并且在一张地图上显示大量对象严重影响系统性能。对于具有设备种类繁多、数量巨大、网络拓扑复杂等特点的大型计算机网络,需要考虑网络GIS地图的使用效果、性能和效率问题,因此需要适用的解决方法。
发明内容
本发明的目的是为计算机网络管理系统提供层次化的网络GIS地图,而提供一种基于GIS的计算机网络地图的组织维护方法,为实现该目的,网络GIS地图的组织方法包括步骤:
按照网络实际情况和管理需要,构造网络的层次结构;
对于层次结构中每一个网络,构造相关GIS地图,其中包括四个图层:背景图层,子网络图层,节点图层,链路图层,显示网络内可见的拓扑信息;
针对网络连接拓扑中每一条节点之间的连接,在层次化网络GIS地图中添加相应实际链路,并维护实际链路与上层汇聚链路一致性,即如果两个网络的子孙节点间存在实际链路,则这两个网络之间有一条汇聚链路,其相关实际链路数等于子孙节点之间的所有实际链路总数;如果两个网络的子孙节点间不存在任何实际链路,则两个网络之间没有汇聚链路;
本发明的另一个目的是提供层次化网络GIS地图拓扑更新及状态更新方法,使得网络GIS地图能够根据实际情况的变化而同步更新。
附图说明
图1是一个计算机网络拓扑示意图;
图2是本发明中层次化网络GIS地图示意图;
图3是本发明中网络或节点标识的层次结构示意图;
图4是本发明中展开网络地图示意图;
图5是本发明中添加一条实际连接过程示意图;
图6是本发明中删除一条实际连接过程示意图。
发明的实施方式
首先给出层次化网络GIS地图的定义:包括三个基本对象,节点,表示被管理网络设备,如主机、交换机、路由器等;网络,表示一组对象集合以及这些对象的互连,这些对象可以是节点,亦可以是网络;链路,链路表示节点或网络之间的连接;此外还有网络状态的定义。
定义1节点:
节点是三元组:<I,L,S>,其中I是节点的标识;L表示节点在层次化地图中所处层次;S表明节点运行状态,详见定义9。
定义2网络:
网络是五元组:<I,L,M,T,S>,其中I是网络的标识;L是网络在层次化地图中所处层次;M是网络相关的GIS地图,详见定义4;T是网络内各对象的互连拓扑信息集合,详见定义3;S是运行状态集,详见定义9。
定义3拓扑:
对于网络GIS地图中的一个网络而言,拓扑是四元组:<Ns,Vs,Ei,Ex>,其中,Ns是网络内子网集合;Vs是网络内节点的集合;Ei是内部链路集合,Ex是外部链路集合,参见定义3-1、3-2。
定义3-1链路:
链路为五元组:<I,R,P1,P2,S>,其中,I是链路标识,R是链路的依赖参数,参见定义8,P1和P2是一条链路的两个端点,可以是网络或节点,S是链路状态,详见定义9。链路表示节点或网络之间的连接。
定义3-2内部链路集与外部链路集:
对于网络N的拓扑T而言,内部链路集为五元组集合:{<I,R,P1,P2,S>|P1,P2∈T.Ns∪T.Vs}。外部链路集为五元组集合:Ex={<I,R,P1,P2,S>|P1
T.Ns∪T.Vs,P2∈T.Ns∪T.Vs或者P2
T.Ns∪T.Vs,Pi∈T.Ns∪T.Vs}
定义4网络相关GIS地图:
对于网络N,其相关GIS地图M是四元组:<B1,N1,V1,E1>,其中B1是背景地图图层,存储网络所在的地理范围信息,如网络覆盖省市、街区的地理信息等,N1是子网图层,层存储网络内子网的分布信息;V1是节点图层,存储网络内节点的分布信息;E1是链路图层,存储网络内链路的分布信息。
定义4-1子网图层:
定义4-2节点图层:
定义4-3链路图层:
对于网络N的GIS地图集M而言,链路图层是五元组集合:{<I,I1,I2,LOC1,LOC2>|
link∈N.T.Ei或N.T.Ex,I=link.I,I1=link.P1.I,I2=link.P2.I,LOC1、LOC2分别是link.P1和link.P2所在地理位置}
这里不定义B1图层的细节,而定义4-1,4-2,4-3也只是对N1,V1,E1三个图层应该包括的内容的抽象(当前实际的GIS系统均可以提供),这里不做进一步详细定义。
定义5父网络,祖先,子孙:
对于网络net1,net2,节点node1,如果net1∈net2.T.Ns,node1∈net2.T.Vs,则称net1为net2的子网络,node1为net2的子节点,net2为net1、node1的父网络,且net1.L=net2.L+1,node1.L=net2.L+1,记net2=f(net1)=f(node1);记f(f(...f(a)))=fn(a),且f0(a)=a,称fn(a)(n>1)为a的祖先,a为其子孙。对于链路link,如果link.P1或link.P2是网络net的子孙,则称链路link是网络net的子孙链路。
定义6层次化网络GIS地图:
层次化网络GIS地图是一个四元组:<NO,Ln,ILEN,P>,其中NO是顶层网络,P是参数指标集(见定义9),Ln是网络分层(不包括顶层),ILEN是各层地图网络或节点标识有效位长度集合:ILEN=<LEN1,LEN2,......,LENi,......,LENH.Ln>其中
且当i≤j,1≤i,j≤H.Ln时,LENi<LENj。
为适应层次化网络的组织,网络/节点ID的构成也是层次化的,如附图3:每一级网络/节点都有一个ID长度,表明本级别的网络/节点对象ID的有效位数,除了顶级网络外,每一级网络/节点对象ID均以其父对象ID作为前缀。根据ID有效长度来计算掩码,可以方便地判别两个节点、网络之间在网络层次结构上的位置。
举例说明网络GIS地图,附图1是一个实际的网络拓扑,a-i是节点,附图2是对应于附图1中网络拓扑的层次化网络GIS地图,最顶层的顶级网络是整个网络的抽象;下一层是一组一级子网,表明整个网络在本层的抽象,如此类推。最底层的显示对象包括诸如主机、交换机、路由器等的网络设备和设备之间的实际链路;通过综合特定网络的GIS地图的四个图层(背景图层、节点图层、网络图层、链路图层),我们可以得到该网络的直观形象的网络地图,并且,特定的网络地图显示的信息与网络和抽象层次相关。这种层次化的实现方法减少了一张GIS地图需要显示的对象信息,可以改善系统的运行性能。
通过递归的网络定义,网络GIS地图实现了逐层向上的网络拓扑与状态信息汇聚。而在实际应用中,全局的详细的网络视图也是必不可少的,此时,需要在一张地图上展现网络具有一定详细程度的拓扑和状态信息。因此,我们在层次化网络模型的基础上定义展开网络,实现网络信息的解汇聚。
定义7展开网络:
对于层次化网络GIS地图H中的一个网络N,展开至层次le(N.L<le≤H.Ln)的展开网络Ne为六元组:<I,L,le,M,T,S>,其中:I=N.I,L=N.L,M,T,S的定义同定义2,且:
Ne.S=N.S;
Ne.T.Ns={net|fn(net)=N,n=le-N.L};
Ne.T.Vs={node|fn(node)=N,1≤n≤le-N.L};
Ne.T.Ei={link|
n∈Ne.T.Ns∪Ne.T.Vs,link∈f(n).T.Ei∪f(n).T.Ex,link.R=0,并且link.P1,link.P2∈Ne.T.Ns∪Ne.T.Vs};
Ne.T.Ex={link|
n∈Ne.T.Ns∪Ne.T.Vs,link∈f(n).T.Ex,link.P1(或ink.P2)=n,且link.p2(或ink.P1)
Ne.T.Ns∪Ne.T.Vs};
Ne.m.B1=N.M.B1;
Ne.M.N1={<I,LOC>|
net∈Ne.T.Ns,I=net.I,且<I,LOC>∈f(net).M.N1};
Ne.M.V1={<I,LOC>|
node∈Ne.T.Vs,I=node.I,<I,LOC>∈f(node).M.V1};
Ne.M.E1={<I,I1,I2,LOC1,LOC2>|
link∈Ne.T.Ei∪Ne.T.Ex,令link.p1∈Ne.T.Ns∪Ne.T.Vs,I=link.I,且<I,I1,I2,LOC1,LOC2>∈f(link.P1).M.E1}
下面举例说明展开网络的概念:附图4是附图2中的网络1展开至第三层的展开网络地图。实际上附图3是通过展开网络1及其三层以上子孙网络得到的,显示了网络1在第三层的全部的拓扑信息。通过将网络逐层展开,可以得到网络越来越详细的信息,直至网络完全的拓扑与状态信息。
定义8实际链路,汇聚链路:
如果链路两个端点都是节点,则该链路称为实际链路,否则称该链路为汇聚链路。对于一条汇聚链路,两个端点之间以及端点的子孙之间的链路称为该汇聚链路的相关链路。汇聚链路的依赖参数R等于它的相关实际链路数,而实际链路的依赖参数R等于0。如果网络1的子孙节点与网络2的一个子节点间存在实际链路,有以下几种情况:两个网络处于同一层次,则二者之间存在一条汇聚链路,如附图2中的网络1、2;如果两个网络处于不同层次,则低层网络与高层网络的子节点间存在汇聚链路,如附图2中的网络1、4。区分上述两种情况,是为了体现层次化的网络拓扑结构。此外,一个节点与一个网络之间,或两个网络之间最多只能有一条汇聚链路。
定义9网络/节点/链路状态:
给定参数指标向量P=<p1,......,pM>,其中pi表示一个网络运行状况的参数指标,如链路的延迟,丢包率等,1≤i≤M,节点/网络/链路的状态S定义如下:S=<s1,......,sM>,其中,若pi对于本节点/网络/链路而言没有定义,则令si=-1,否则si表示以参数pi为衡量标准,节点/实际链路发生故障的程度:0≤si≤1,si为0表示完全没有问题,为1表示确定出现故障,si越接近1,表明节点/网络/实际链路状态越接近发生故障,对于如何实现从参数pi到si的转换,可以根据实际需要选择算法,这里不做详细规定。
网络是一个抽象对象,它的状态应当是其所有节点、相关实际链路状态的汇聚,对于一个网络net,定义:net.S.si=Agi(Si d),其中Si d={s|
a,a∈X∪Y,s=a.S.si且s≠-1,其中X、Y分别是网络net的子孙节点集合、子孙实际链路集合},Ag是状态信息汇聚函数,用于计算汇聚状态信息,汇聚链路也是一个抽象对象,其状态也应该是与其相关的所有实际链路状态的汇聚,计算方法与上类似:对于一个汇聚链路link,定义link.S.si=Agi(Sr i),其中Si r={s|
a,a∈Z,s=a.S.si且s≠-1,其中Z是汇聚链路link的相关实际链路集合}。
下面给出层次化网络GIS地图的组织,拓扑更新,状态更新算法:
说明:
(a)在算法描述中引入了C语言的一些操作,包括:
(1)op1<<n:表示将操作数op1按二进制左移n位
(2)~op:表示将操作数按二进制位取反
(3)op1 & op2:表示将操作数op1与操作数op2按二进制位
与
(b)下列算法中用到常用数据结构FIFO队列Q,这里不做详细定义,现将相关操作说明如下:
AddTail(Q,n):将n加入到队列Q队尾。
GetHead(Q):将队列队头元素从队列中取出。
(c)对于以下算法提及的新ID的计算方法,本发明不做详细规定,但计算方法应当遵守定义6的规定。
首先是网络GIS地图的拓扑更新算法:
1.网络GIS地图中增加一个网络
在层次化网络GIS地图H的网络f中添加一个子网络的步骤如下:假设,子网络所在地理位置为loc,背景地图图层b1。
Step1.构造一个空的网络net,net.L←f.L+1。根据f.I以及H.ILEN计算得到子网络标识net.I,net.M.B1←b1。f.T.Ns←f.T.Ns∪{net}。f.M.N1←f.M.N1∪{<net.I,loc>}。
2.网络GIS地图中增加一个节点
在层次化网络GIS地图H的网络f中添加一个节点的步骤如下:假设,节点所在地理位置loc。
Step1.构造一个空的节点node,node.L←f.L+1。根据f.I以及H.ILEN计算得到node.I。f.T.Vs←f.T.Vs∪{node}。f.M.V1←f.M.V1∪{<node.I,loc>}。
3.网络GIS地图中增加一条实际链路
如果链路的两个节点在网络层次结构中具有相同的父网络,则操作简单直接,否则操作会影响两节点的父网络甚至是祖先网络之间的汇聚链路的产生或状态更新。对上层网络汇聚链路的影响回溯至距离两个节点最近的共同祖先网络处终止。在层次化网络GIS地图H的网络f中增加一条实际链路的基本步骤如下:
步骤1:在链路两端节点中处于较低层的节点的父网络GIS地图中添加实际链路;
步骤2:从步骤1中较低层的节点沿网络层次结构向上回溯,在其祖先网络中添加汇聚链路,直至与链路另一节点同层次的祖先网络;若相应汇聚链路已经存在,则只将其相关实际链路数加一;
步骤3:在步骤2基础上,沿网络层次结构向上回溯,分别在链路两端节点的祖先网络GIS地图中添加汇聚链路,直至离两节点最近的祖先网络处结束;若相应汇聚链路已经存在,则只将其相关实际链路数加一。
具体步骤如下:假设链路两个端点为:节点1(node1),节点2(node2),
Step1.不失一般性,设node1.L≥node2.L,net1←f(node1),net2←f(node2)。
Step2.构造一条空实际链路link,为其分配新链路标识,且link.P1←node1,link.P2←node2,link.R←0。设node1,node2的地理位置分别为loc1,loc2。若net1=net2,net1.T.Ei←net1.T.Ei∪{link},net1.M.E1←net1.M.E1∪{<link.I,node1.I,node2.I,loc1,loc2>},转Step6;否则若node1.L=node2.L,则net1.T.Ex←net1.T.Ex∪{link},net1.M.E1←net1.M.E1∪{<link.I,node1.I,node2.I,loc1,loc2>},在net2地图中类似地添加实际链路(产生的实际链路的标识相同),令n2←net2,转Step4;若node1.L≠node2.L,只在net1中添加一条外部实际链路,令n2←node2,转Step3。
Step3.若net1.L=n2.L,则转Step4,否则,设f1←f(net1),若
link∈f1.T.Ex,且link.P1=net1(或n2),link.P2=n2(或net1),link.R←link.R+1,否则:构造一条空汇聚链路alink,并为其分配新链路标识,且alink.R←1,alink.P1←net1,alink.P2←n2,f1.T.Ex←f1.T.Ex∪{alink};设net1,n2的地理位置分别为loc1,loc2,f1.M.E1←f1.M.E1∪{<alink.I,net1.I,n2.I,loc1,loc2>}。net1←f1,转Step3。
Step4.若f(net1)=f(n2),转Step5,否则用类似Step3的方法分别在f(net1),f(n2)中创建或更新net1到n2的汇聚链路。net1←f(net1),n2←f(n2),转Step4。
Step5用类似Step3中方法,在f(net1)中创建或更新net1至n2的汇聚链路。
Step6结束。
举个例子说明算法3的过程,如附图5,现要在节点a和节点b之间添加一条实际链路。第一步:在网络3地图中添加一条a到b的实际链路;第二步:在网络1地图中添加一条网络3到节点b的一条汇聚链路;第三步:在网络2地图中添加一条节点b到网络3的汇聚链路;第四部:在顶层网络地图中添加一条网络1到网络2的汇聚链路。
4.网络GIS地图中删除一条实际链路
删除一条实际链路,可能会影响链路端节点的父网络甚至是祖先网络之间的汇聚链路,但这种影响在两个节点最近的共同祖先网络处终止。如果汇聚链路所依赖的所有实际链路都被删除,则要彻底将其从地图中删除,基本步骤如下:
步骤1:在链路两端节点中处于较低层的节点的父网络GIS地图中删除实际链路;
步骤2:从步骤1中较低层的节点沿网络层次结构向上回溯,在其祖先网络中删除至另一节点的汇聚链路,直至与另一节点同层次的祖先网络处结束;若该汇聚链路的相关实际链路数大于1,则只将其减一,而不从地图中删除汇聚链路;
步骤3:在步骤2基础上,沿网络层次结构向上回溯,分别在链路两端节点的祖先网络GIS地图中删除相关汇聚链路,直至离两节点最近的祖先网络处结束;若该汇聚链路的相关实际链路数大于1,则只将其减一,而不从地图中删除汇聚链路。
具体步骤如下:设删除层次化网络地图H中节点1(node1),节点2(node2)之间的链路标识为I的一条实际链路。
Step1.若f(node1)=f(node2),
link∈f(node1).T.Ei,link.I=I,令f(node1).T.Ei←f(node1).T.Ei-{link};
gislink∈f(node1).M.E1,gislink.I=I,令f(node1).M.El←f(node1).M.E1-{gislink},转Step6,否则
link∈f(node1).T.Ex,link.I=I,令f(node1).T.Ex←f(node1).T.Ex-{link};
gislink∈f(node1).M.E1,gislink.I=I,令f(node1).M.E1←f(node1).M.E1-{gislink},Step2。
Step2.若node1.L=node2.L,则用类似Step1种的方法从f(node2)中删除标识为I的实际链路,并且n1←f(node1),n2←f(node2),转Step4。否则,不失一般性,设node1.L>node2.L,n1←f(node1),n2←node2。
Step3.若n1.L=n2.L,转Step4,否则,设f1←f(n1),则link∈f1.T.Ex且link.P1=n1(或n2),link.P2=n2(或n1),若link.R>1,link.R←link.R-1,否则:f1.T.Ex←f1.T.Ex-{link},并且
g1∈f1.M.E1,g1.I=link.I,f1.M.E1←f1.M.E1-{g1}。n1←f(n1)。转Step3。
Step4.若f(n1)=f(n2),则转Step5,否则,类似Step3分别在f(n1),f(n2)中删除或更新相关汇聚链路。n2←f(n2),f2←f(n2),转Step4。
Step5.类似Step3,在f(n1)中删除或更新相关汇聚链路。
Step6.结束。
举个例子说明算法4的过程,如附图6,现要删除节点f和节点d之间的一条实际链路。第一步:在网络3地图中删除f到d的实际链路;第二步:在网络2地图中删除网络3到节点d的汇聚链路;第三步:在网络1地图中删除节点d到网络3的汇聚链路;第四部:在顶层网络地图中删除网络1到网络2的汇聚链路。
5.网络GIS地图中删除一条汇聚链路
删除一条汇聚链路,必须删除与此链路相关的所有低层汇聚链路和实际链路,并且删除或更新其端点祖先网络之间的汇聚链路。基本步骤如下:
步骤1:从汇聚链路两端点,分别沿网络层次结构向下扫描,删除两端点的子孙之间的所有汇聚链路和实际链路,直至删除的实际链路数目等于汇聚链路的相关实际链路数;
步骤2:从汇聚链路两端点,分别沿网络层次结构向上回溯,删除两端点的祖先网络之间的汇聚链路,直至离被删汇聚链路两端点最近的共同祖先网络处结束;如果该汇聚链路的相关实际链路数大于被删汇聚链路的相关实际链路数,则只更新该汇聚链路的相关实际链路数,而不从地图中将其删除。
具体步骤如下:设删除层次化网络地图H中p1,p2之间的汇聚链路,其中p1,p2中至少有一个是网络。
Step1.设ref←汇聚链路的相关链路数R。调用子算法5-1或5-2删除汇聚链路的低层的相关链路。不失一般性,设p1.L≥p2.L。
Step2.若p1.L=p2.L,转Step3,否则,设f1←f(p1)。
link∈f1.T.Ex且link.P1=p1(或p2),link.P2=p2(或p1)。link.R←link.R-ref,如果link.R=0,f1.T.Ex←f1.T.Ex-{link},且gislink∈f1.M.E1,gislink.I=link.I,f1.M.E1←f1.M.E1-{gislink}。p1←f1,转Step2。
Step3.若f(p1)=f(p2),则转Step4,否则用类似Step2.的方法,分别在f(p1)和f(p2)中删除两端点为p1和p2的汇聚链路。p1←f(p1),p2←f(p2),转Step3。
Step4.用类似Step2.的方法,在f(p1)中删除两端点为p1和p2的汇聚链路。
Step5.结束。
5-1.汇聚链路的相关链路删除算法-端点p1为节点,端点p2为网络
本算法从端点之一的网络开始逐层向下,删除每一层相关的汇聚链路或实际链路。
Step1.设Q为一队列,AddTail(Q,p2),r←ref
Step2.若IsEmpty(Q)或r=0,转Step3,否则,net←GetHead(Q),link∈net.T.Ex,link.P1(或link.P2)=node1(不妨设link.P1=p1):net.T.Ex←net.T.Ex-{link}。若link.R=0,则r←r-1,否则AddTail(Q,link.P2);
g1∈net.M.E1,gislink.I=link.I,net.M.E1←net.M.E1-{g1}。转Step2。
Step3.结束。
5-2.汇聚链路的相关链路删除算法-端点p1、p2均为网络
分别从两个网络开始,逐层向下删除以这两个网络子孙网络或节点为两个端点的汇聚链路或实际链路。
Step1.分别根据net1.L及net2.L在H.ILEN中查得p1和p2的标识长度id_len1和id_len2,计算掩码如下:mask1←~(1<<(32-id_len1)-1),mask2←~(1<<(32-id_len2)-1)。设Q为一队列,AddTail(Q,p1),r←ref。
Step2.若IsEmpty(Q)或r=0,则AddTail(Q,p2),r←ref,转Step3,否则net←GetHead(Q),link∈net.T.Ex且link.p1.I & mask2=p2.I或者link.P2.I & mask2=p2.I(不妨设为link.P1):net.T.Ex←net.T.Ex-{link},若link.R=0,r←r-1,否则AddTail(Q,link.P2);
g1∈net.M.E1,g1.I=link.I,net.M.El←net.M.E1-{g1},转Step2。
Step3.若IsEmpty(Q)或r=0转Step4,否则net←GetHead(Q),link∈net.T.Ex且link.P1.I & mask1=p1.I或者link.P2.I & mask1=p1.I(不妨设为link.P1):net.T.Ex←net.T.Ex-{link},若link.R=0,r←r-1,否则AddTail(Q,link.P2);
g1∈net.M.E1,gislink.I=link.I,net.M.E1←net.M.E1-{g1},转Step3。
Step4.结束。
6.网络GIS地图中删除一个节点
删除一个节点,必须删除以该节点为端点的所有链路,具体步骤如下:假设删除层次化网络地图H中的节点node。
Step1.令net←f(node),link∈net.T.Ei∪net.T.Ex且link.P1=node或link.P2=node,调用算法5或算法6删除链路link。
Step2.net.T.Vs←net.T.Vs-{node},
gisnode∈net.M.V1,且gisnode.I=node.I,net.M.V1←net.M.V1-{gisnode}。
Step3.结束
7.网络GIS地图中删除一个网络
因为网络的内部链路被删除不会影响H中其他网络,只有删除了以待删网络为一端点的外部链路,才会对H中其他网络拓扑有影响,因此本算法中,首先删除以待删网络为一端点的所有外部链路,然后逐层删除其所有子孙网络。具体步骤如下:假设删除层次化网络地图H中的网络net。
Step1.令f←f(net),link∈f.T.Ei∪f.T.Ex且link.P1=net或者link.P2=net,调用算法6删除link。
Step2. f.T.Ns←f.T.Ns-{net},
gisnet∈f.M.N1且gisnet.I=net.I,f.M.N1←f.M.N1-{gisnet}。设Q为一空队列,AddTail(Q,net)。
Step3.如果Q为空队列,转Step5,否则Step4。
Step4.headnet←GetHead(Q),subnet∈headnet.T.Ns,AddTail(Q,subnet)。删除headnet,转Step3.
Step5..结束
下面是网络GIS地图组织算法:
8.网络GIS地图的生成
网络GIS地图的生成步骤如下:
Step1.根据管理需要,构造网络层次结构。所谓网络层次结构,是对网络实际拓扑的一种层次化的抽象。层次结构是一棵树,树根是整个网络的抽象代表,树中每一个非叶子中间节点是一个抽象的网络,每一个叶子节点代表是实际网络拓扑中的节点。
Step2.构造一个空的网络GIS地图H,根据网络层次结构初始化H。
Step3.根据算法1,2逐一将网络层次结构中的网络,节点添加到H中。
Step4.根据算法3,逐一将网络节点连接拓扑中的实际链路添加到H中。
Step5.结束
下面是网络GIS地图状态更新算法:
9.展开网络生成算法
一种层次化网络GIS地图中网络拓扑和运行状态解汇聚方法-展开网络,其特征在于,
展开网络表示了特定网络在网络层次结构中特定层次的全部拓扑细节和运行状态细节。
从被展开网络开始,逐层向下直到指定的展开层次遍历其子孙网络。遍历过程:将被遍历网络中的所有节点的拓扑和地理信息复制到展开网络中;将被遍历网络中的所有实际链路的拓扑和地理信息复制到展开网络中;在最后一层,将所有网络的拓扑和地理信息复制到展开网络中,并且将所有汇聚链路的拓扑和地理信息也复制到展开网络中。基本步骤如下:
步骤1:从被展开网络开始,逐层向下直到指定的展开层次遍历其子孙网络。
步骤2:在遍历过程遇到的非指定层次网络:将其中的所有节点信息复制到展开网络GIS地图中;将其中的所有实际链路信息复制到展开网络GIS地图中;
步骤3:在遍历过程遇到的指定层次网络:将其所有的节点、子网络、链路信息复制到展开网络的GIS地图中。
具体步骤如下:假设展开层次化网络GIS地图H中的网络net至层次le,(net.L<le≤H.Ln)。
Step1.构造一个空的展开网络exnet。设Q为一空队列,AddTail(Q,net)。根据net.L在H.IDLEN中查得net.I长度id_len,计算掩码:mask←~(1<<(32-id_len)-1)
Step2.如果Q为空队列,则转Step7,否则Step3。
Step3 net1←GetHead(Q)。如果net1.L=le-1转Step6,否则Step4。
Step4.(1)exnet.T.Vs←exnet.T.Vs∪net1.T.Vs,且exnet.M.V1←exnet.M.V1∪net1.M.V1;(2)link∈net1.T.Ei且link.R=0,exnet.T.Ei←exnet.T.Ei∪{link}。link∈net1.T.Ex且link.R=0,link.P1.I & mask=net.I,link.P2.I & mask=net.I,且link
exnet.T.Ei,exnet.T.Ei←exnet.T.Ei∪{link};(3)link∈net1.T.Ex且link.R=0,link.P1.I & mask≠net.I或者link.P2.I &mask≠net.I,exnet.T.Ex←exnet.T.Ex∪{link}。对于上述link,g1∈net1.M.E1且g1.I=link.I,令exnet.M.E1←exnet.M.E1∪{g1}。
Step5.subnet∈net1.T.Ns,AddTail(Q,subnet)。转Step2。
Step6.(1)exnet.T.Ns←exnet.T.Ns∪net1.T.Ns,且exnet.M.Nl←exnet.M.N1∪net1.M.N1;(2)exnet.T.Vs←exnet.T.Vs∪net1.T.Vs,且exnet.M.V1←exnet.M.V1∪net1.exnet.M.V1;(3)link∈net1.T.Ei且link
exnet.T.Ei,exnet.T.Ei←exnet.T.Ei∪{link};
link∈net1.T.Ex且link.P1.I & mask=net.I,link.P2.I &mask=net.I,link
exnet.T.Ei,令exnet.T.Ei←exnet.T.Ei∪{link};link∈net1.T.Ex且link.p1.I & mask≠net.I或者link.P2.I & mask≠net.I,exnet.T.Ex←exnet.T.Ex∪{link}。对于上述link,
g1∈net1.M.E1且g1.I=link.I,exnet.M.E1←exnet.M.E1∪{g1}。转Step2。
Step7.结束
10.节点状态信息更新算法
首先,更新节点自身状态,然后逐层向上更新父网络和祖先网络状态。基本步骤如下:
步骤1:更新节点自身运行状态;
步骤2:从节点开始,沿网络层次结构向上回溯,更新祖先网络运行状态,直至网络GIS地图中的顶层网络处结束。
具体步骤如下:假设层次化网络GIS地图中,节点node的状态发生了变化,
Step1.更新节点node状态。f←f(node)
Step2.更新网络f的状态,如果f≠H.NO,f←f(f),转Step2,否则Step3
Step3.结束
11.实际链路状态信息更新算法
首先,更新链路自身状态,然后逐层向上更新相关汇聚链路状态及父网络和祖先网络状态。基本步骤如下:
步骤1:更新实际链路自身运行状态;
步骤2:从实际链路的两个端节点开始,沿网络层次结构向上回溯,更新祖先网络及相应汇聚链路运行状态,直至网络GIS地图中的顶层网络处结束。
具体步骤如下:假设层次化网络GIS地图中,链路link的状态发生了变化,
Step1.令f1←f(link.P1),f1←f(link.P2),p1←link.P1,p2←link.P2,不妨设p1.L≥p2.L
Step2.若p1.L=p2.L,则转Step4,否则Step3。
Step3.
link1∈f1.T.Ex,link1.P1=p1(p2)且link1.P2=p2(p1),更新link1状态。更新f1状态,p1←f1,f1←f(f1),转Step3。
Step4若f1=f2,转Step8,否则Step5。
Step5.则根据上述算法3,
alink∈f1.T.Ex,alink.P1=p1(p2)且alink.P2=p2(p1),更新alink状态。更新f1状态。
Step6.则根据上述算法3,
alink∈f2.T.Ex,alink.P1=p2(p1)且alink.P2=p1(p2),更新alink状态。更新f2状态。
Step7.p1←f1,f1←f(f1),p2←f2,f2←f(f2),转Step4。
Step8.根据上述算法3,
alinkef1.T.Ei,alink.P1=p1(或p2)且alink.P2=p2(或p1),更新alink状态。更新f1状态
Step9.若f1=H.NO,则转Step10,否则f1←f(f1),更新f1状态。转Step9。
Step10.结束
Claims (9)
1.一种层次化网络GIS地图组织方法,其特征在于,具体步骤如下:
步骤1:按照管理需要,构造网络的层次结构;
步骤2:对于层次结构中每一个网络,构造相关GIS地图,其中包括四个图层:背景图层,子网络图层,节点图层,链路图层,显示网络内可见的拓扑信息;
步骤3:针对网络连接拓扑中每一条节点之间的连接,在层次化网络GIS地图中添加相应实际链路,并维护实际链路与上层汇聚链路一致性,即如果两个网络的子孙节点间存在实际链路,则这两个网络之间有一条汇聚链路,其相关实际链路数等于子孙节点之间的所有实际链路总数;如果两个网络的子孙节点间不存在任何实际链路,则两个网络之间没有汇聚链路。
2.根据权利要求1方法,其特征在于步骤3所述的层次网络GIS地图中实际链路添加方法,具体步骤如下:
步骤1:在链路两端节点中处于较低层的节点的父网络GIS地图中添加实际链路;
步骤2:从步骤1中较低层的节点沿网络层次结构向上回溯,在其祖先网络中添加汇聚链路,直至与链路另一节点同层次的祖先网络;若相应汇聚链路已经存在,则只将其相关实际链路数加一;
步骤3:在步骤2基础上,沿网络层次结构向上回溯,分别在链路两端节点的祖先网络GIS地图中添加汇聚链路,直至离两节点最近的祖先网络处结束;若相应汇聚链路已经存在,则只将其相关实际链路数加一。
3.一种层次化网络GIS地图中实际链路的删除方法,其特征在于,自动维护上层汇聚链路的一致性,具体步骤如下:
步骤1:在链路两端节点中处于较低层的节点的父网络GIS地图中删除实际链路;
步骤2:从步骤1中较低层的节点沿网络层次结构向上回溯,在其祖先网络中删除至另一节点的汇聚链路,直至与另一节点同层次的祖先网络处结束;若该汇聚链路的相关实际链路数大于1,则只将其减一,而不从地图中删除汇聚链路。
步骤3:在步骤2基础上,沿网络层次结构向上回溯,分别在链路两端节点的祖先网络GIS地图中删除相关汇聚链路,直至离两节点最近的祖先网络处结束;若该汇聚链路的相关实际链路数大于1,则只将其减一,而不从地图中删除汇聚链路。
4.一种层次化网络GIS地图中汇聚链路的删除方法,其特征在于,自动维护网络GIS地图中实际链路与汇聚链路之间关系的一致性,具体步骤如下:
步骤1:从汇聚链路两端点,分别沿网络层次结构向下扫描,删除两端点的子孙之间的所有汇聚链路和实际链路,直至删除的实际链路数目等于汇聚链路的相关实际链路数;
步骤2:从汇聚链路两端点,分别沿网络层次结构向上回溯,删除两端点的祖先网络之间的汇聚链路,直至离被删汇聚链路两端点最近的共同祖先网络处结束;如果该汇聚链路的相关实际链路数大于被删汇聚链路的相关实际链路数,则只更新该汇聚链路的相关实际链路数,而不从地图中将其删除。
5.一种层次化网络GIS地图中网络运行信息表示与汇聚的通用方法,其特征在于:给定参数指标向量P=<p1,......,pM>,其中pi表示一个网络运行状况的参数指标,1≤i≤M,节点/网络/链路的状态S定义如下:S=<s1,......,sM>,其中,若pi对于本节点/网络/链路而言没有定义,则令si=-1,否则si表示以参数pi为衡量标准,节点/实际链路发生故障的程度:0≤si≤1,si为0表示完全没有问题,为1表示确定出现故障,si越接近1,表明节点/网络/实际链路状态越接近发生故障,对于如何实现从参数pi到si的转换,可以根据实际需要选择算法,网络是一个抽象对象,它的状态应当是其所有节点、相关实际链路状态的汇聚,对于一个网络net,定义:net.S.si=Agi(Sd i),其中Sd i={s|
a,a∈X∪Y,s=a.S.si且s≠-1,其中X、Y分别是网络net的子孙节点集合、子孙实际链路集合},Ag是状态信息汇聚函数,用于计算汇聚状态信息可以根据实际需要选择算法,汇聚链路也是一个抽象对象,其状态也应该是与其相关的所有实际链路状态的汇聚,计算方法与上类似:对于一个汇聚链路link,定义link.S.si=Agi(Sr i),其中Sr i={s|
a,a∈Z,s=a.S.si且s≠-1,其中Z是汇聚链路link的相关实际链路集合}。
6.一种层次化网络GIS地图中节点运行状态更新方法,其特征在于,自动逐层向上更新高层祖先网络运行状态,具体步骤如下:
步骤1:更新节点自身运行状态;
步骤2:从节点开始,沿网络层次结构向上回溯,更新祖先网络运行状态,直至网络GIS地图中的顶层网络处结束。
7.一种层次化网络GIS地图中实际链路运行状态更新方法,其特征在于,自动逐层向上更新高层祖先网络及相应汇聚链路运行状态,具体步骤如下:
步骤1:更新实际链路自身运行状态;
步骤2:从实际链路的两个端节点开始,沿网络层次结构向上回溯,更新祖先网络及相应汇聚链路运行状态,直至网络GIS地图中的顶层网络处结束。
8.一种层次化网络GIS地图中网络拓扑和运行状态解汇聚方法-展开网络,其特征在于,展开网络表示了特定网络在网络层次结构中特定层次的全部拓扑细节和运行状态细节。
9.根据权利要求8中的展开网络方法,其特征在于,展开网络的生成步骤如下:
步骤1:从被展开网络开始,逐层向下直到指定的展开层次遍历其子孙网络;
步骤2:在遍历过程遇到的非指定层次网络:将其中的所有节点信息复制到展开网络GIS地图中;将其中的所有实际链路信息复制到展开网络GIS地图中;
步骤3:在遍历过程遇到的指定层次网络:将其所有的节点、子网络、链路信息复制到展开网络的GIS地图中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031451446A CN1474297A (zh) | 2003-06-18 | 2003-06-18 | 一种基于gis的计算机网络地图的组织维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031451446A CN1474297A (zh) | 2003-06-18 | 2003-06-18 | 一种基于gis的计算机网络地图的组织维护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1474297A true CN1474297A (zh) | 2004-02-11 |
Family
ID=34155870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031451446A Pending CN1474297A (zh) | 2003-06-18 | 2003-06-18 | 一种基于gis的计算机网络地图的组织维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1474297A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100372308C (zh) * | 2005-10-14 | 2008-02-27 | 杭州华三通信技术有限公司 | 网络拓扑图更新及网络拓扑管理方法 |
CN100428736C (zh) * | 2005-02-02 | 2008-10-22 | 华为技术有限公司 | 一次路由计算实现层次路由的拓扑方法 |
CN100440790C (zh) * | 2006-11-03 | 2008-12-03 | 清华大学 | 实时性动态电子地图管理方法 |
CN100440839C (zh) * | 2004-12-02 | 2008-12-03 | 索尼株式会社 | 网络系统、无线通信设备、无线通信方法 |
CN100444172C (zh) * | 2006-10-27 | 2008-12-17 | 武汉虹旭信息技术有限责任公司 | 基于deeJUMP生成Shapefile的SLD文件的方法 |
WO2010148929A1 (zh) * | 2009-12-21 | 2010-12-29 | 中兴通讯股份有限公司 | 一种电信设备网管服务器及系统 |
CN101976503A (zh) * | 2010-11-12 | 2011-02-16 | 南京大学 | 一种实时交通信息发送和接收的方法 |
CN101470711B (zh) * | 2007-12-25 | 2011-04-20 | 国际商业机器公司 | 层次化图结构数据可视化的方法、装置 |
CN102063833A (zh) * | 2010-12-17 | 2011-05-18 | 中国科学院计算技术研究所 | 一种地图点图层符号和注记同步显示的绘制方法 |
CN101631047B (zh) * | 2009-07-20 | 2012-01-11 | 南京联创科技集团股份有限公司 | 基于平面模式展示网络拓扑结构的方法 |
CN102375727A (zh) * | 2010-08-16 | 2012-03-14 | 北京国科恒通电气自动化科技有限公司 | 一种线路层次关系的图形化维护方法 |
CN103873277A (zh) * | 2012-12-12 | 2014-06-18 | 中国科学院声学研究所 | 一种分层的网络拓扑可视化方法及系统 |
US9210047B2 (en) | 2012-01-11 | 2015-12-08 | Huawei Technologies Co., Ltd. | Method and apparatus for presenting network path |
CN106254123A (zh) * | 2016-08-17 | 2016-12-21 | 郑州埃文计算机科技有限公司 | 一种面向城域网级别as域内网络拓扑的测绘方法 |
-
2003
- 2003-06-18 CN CNA031451446A patent/CN1474297A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440839C (zh) * | 2004-12-02 | 2008-12-03 | 索尼株式会社 | 网络系统、无线通信设备、无线通信方法 |
CN100428736C (zh) * | 2005-02-02 | 2008-10-22 | 华为技术有限公司 | 一次路由计算实现层次路由的拓扑方法 |
CN100372308C (zh) * | 2005-10-14 | 2008-02-27 | 杭州华三通信技术有限公司 | 网络拓扑图更新及网络拓扑管理方法 |
CN100444172C (zh) * | 2006-10-27 | 2008-12-17 | 武汉虹旭信息技术有限责任公司 | 基于deeJUMP生成Shapefile的SLD文件的方法 |
CN100440790C (zh) * | 2006-11-03 | 2008-12-03 | 清华大学 | 实时性动态电子地图管理方法 |
CN101470711B (zh) * | 2007-12-25 | 2011-04-20 | 国际商业机器公司 | 层次化图结构数据可视化的方法、装置 |
CN101631047B (zh) * | 2009-07-20 | 2012-01-11 | 南京联创科技集团股份有限公司 | 基于平面模式展示网络拓扑结构的方法 |
WO2010148929A1 (zh) * | 2009-12-21 | 2010-12-29 | 中兴通讯股份有限公司 | 一种电信设备网管服务器及系统 |
CN102104492A (zh) * | 2009-12-21 | 2011-06-22 | 中兴通讯股份有限公司 | 一种电信设备网管服务器及系统 |
CN102375727A (zh) * | 2010-08-16 | 2012-03-14 | 北京国科恒通电气自动化科技有限公司 | 一种线路层次关系的图形化维护方法 |
CN101976503A (zh) * | 2010-11-12 | 2011-02-16 | 南京大学 | 一种实时交通信息发送和接收的方法 |
CN102063833A (zh) * | 2010-12-17 | 2011-05-18 | 中国科学院计算技术研究所 | 一种地图点图层符号和注记同步显示的绘制方法 |
CN102063833B (zh) * | 2010-12-17 | 2013-07-24 | 中国科学院计算技术研究所 | 一种地图点图层符号和注记同步显示的绘制方法 |
US9210047B2 (en) | 2012-01-11 | 2015-12-08 | Huawei Technologies Co., Ltd. | Method and apparatus for presenting network path |
CN103873277A (zh) * | 2012-12-12 | 2014-06-18 | 中国科学院声学研究所 | 一种分层的网络拓扑可视化方法及系统 |
CN103873277B (zh) * | 2012-12-12 | 2017-08-25 | 中国科学院声学研究所 | 一种分层的网络拓扑可视化方法及系统 |
CN106254123A (zh) * | 2016-08-17 | 2016-12-21 | 郑州埃文计算机科技有限公司 | 一种面向城域网级别as域内网络拓扑的测绘方法 |
CN106254123B (zh) * | 2016-08-17 | 2019-07-02 | 郑州埃文计算机科技有限公司 | 一种面向城域网级别as域内网络拓扑的测绘方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1474297A (zh) | 一种基于gis的计算机网络地图的组织维护方法 | |
CN1956456A (zh) | 用于在网格计算系统中呈现资源要求的方法和设备 | |
CN1956457A (zh) | 用于安排网格计算系统中的网格作业的方法和设备 | |
CN1747404A (zh) | 网络拓扑图更新及网络拓扑管理方法 | |
CN1866250A (zh) | 对系统数据进行管理的方法和系统 | |
CN1104121C (zh) | 网络管理方法及其装置和网络系统 | |
CN1731748A (zh) | 测试系统及方法 | |
CN101047610A (zh) | 数据存储、读取、传输方法和管理服务器及网络节点 | |
CN1968133A (zh) | 设备配置信息管理方法及其系统 | |
CN1764183A (zh) | 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统 | |
CN1173933A (zh) | 建立通信网络数据库的一种方法和设备 | |
CN101031886A (zh) | 网络系统、管理计算机、集群管理方法以及计算机程序 | |
CN101046815A (zh) | 事务协调器、资源使用端、服务端及分布式事务处理方法 | |
CN101047556A (zh) | 一种多设备集中维护方法和系统 | |
CN1859170A (zh) | 一种实现跨域路由分离的方法 | |
CN1820514A (zh) | 管理电信网络的系统体系结构、方法和计算机程序产品 | |
CN1839388A (zh) | 数据库中xml模式的原地演进 | |
CN101068158A (zh) | 网络配置管理的方法和系统 | |
CN1976289A (zh) | 一种基于分布式网络的程序部署方法和系统 | |
CN1992674A (zh) | 一种基于多比特分割的多维分组分类方法 | |
CN1852153A (zh) | 基于简单网络管理协议的故障/告警管理系统及方法 | |
CN101080077A (zh) | 设备管理树的维护方法及终端设备 | |
CN1677932A (zh) | 网络管理配置方法及其装置 | |
CN1609861A (zh) | 有向无尺度对象关系模型 | |
CN1946198A (zh) | 核心开通平台系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |