网络拓扑图形化显示方法及装置的制作方法

文档序号:7945247阅读:286来源:国知局
专利名称:网络拓扑图形化显示方法及装置的制作方法
技术领域
本发明涉及网络可视化技术领域,特别涉及一种网络拓朴图形化显示方法 及装置。 背景4支术
网络可视化(Network Visualization)是指由点-线图显示网络拓朴结构的 直观形态,用来表达和分析网络。随着各种网络的不断发展,特别是Internet 的发展,大型网络越来越多,如何将其拓朴结构在有限的二维平面上通过点-线图进行直观显示,成为一个重要课题。
在网络可视化技术中,点-线图的点指一个给定大小的用于表示实际网络 的节点的图标。由于大型网络中的节点众多,而实际的二维平面是有限的,比 如通常的显示器分辨率为1024*768,同时显示人眼可识别的节点的图标必然 要有一定的大小,因此,在网络可视化技术中将这些众多节点分布到一个有限 的二维平面上时,就会容易导致很多节点重叠在一起,产生节点重叠问题。节 点重叠导致人眼难以区别,进而导致节点识别错误。
现有技术中,公开号为CN1399443A的中国专利申请中提出了网络可视化 的技术方案,包括
S101:以根节点为圓心,将根节点的子节点在一固定半径的圆周上进行排
列;
S102:将圓周构成的圆分为若干扇区,每个所述根结点的子节点位于一个 扇区中,且位于扇区角的角平分线上,每个扇区角的大小用加权平均计算,权 值为以相应子节点为根的子树的叶子节点数;
S103:依据S102的方式逐级为次级子节点定位,实现环形分布图示。 该现有技术的一个例子可以如图2所示,其中共有12个叶子节点,其根 节点有3个子树,叶子节点数分别为2、 4、 6个。首先,以根节点所在位置为 坐标原点,将根节点的扇区角定为360°,以150。作为根节点的位置角,然后, 计算根节点的三个子节点所占据的扇区角,分别为360。*2/12、 360。*4/12、360°*6/12即60°、 120°、 180°。进一步逐个计算它们的位置角,分别为 150。-36072+6072 、 0。+ ( 60。+120。 ) /2、 90。+ ( 120。+180。 ) /2即0。、 90。、 240。。 有了三个节点的位置角,再设定一个连接父子节点的线段的长度值R,带入计 算坐标值的公式,即可得到该三个节点的位置。下面再以上述第二个节点,即 图2中的P(xo,yo)为例,继续演算其子节点的计算步骤,它有两个子节点,分 别对应的叶子节点数为3、1,计算其所占据的扇区角,分别为120°*3/4、120°*1/4 即90°、 30°,继续计算它们的位置角,分别为
a产a(rlV2+卩"2、 afa!+(卩i+卩2)/2,代入数值计算得到
01产90°-12072+9072、 a2=75。+(90°+30。)/2=135。
将上述位置角可计算出节点C的坐标(x, y)以及其兄弟节点的坐标值, 其中x尸xo+R^cos(aO; y产yo+R氺sin(a,)。
以此类推,可以计算出图中所有节点的坐标值,同时将所有子节点与相应 的父节点以线段相连接,便完成完整的拓朴图。
在对现有技术的研究和实践过程中,发明人发现现有技术中存在以下问

由于其"扇区角的大小用加权平均计算,权值为以相应子节点为根的子树 的叶子节点数,再依此类推,为次级子节点定位,实现环形分布图示",可知, 扇区角的大小是相对固定的。然而,网络中的大量节点存在一定角度分布时, 由于每个后续子节点分配的角度越来越小,同时仍然采用固定半径,则会存在 后续子节点角度分配不足和半径有限而导致的节点重叠问题,即现有技术的这 种方式仍没有较好的解决网络可视化中的节点重叠问题。

发明内容
本发明实施例的目的是提供一种网络拓朴图形化显示方法及装置,以实现 较好的解决网络可视化中的节点重叠问题。
为解决上述技术问题,本发明实施例提供一种网络拓朴图形化显示方法及 装置是这样实现的
6一种网络拓朴图形化显示方法,包括
在有限二维平面内确定网络拓朴图的显示中心;
将核心节点布局在拓朴图的最内环上,该最内环的圓心为网络拓朴图的所 述显示中心,根据每个核心节点的加权值确定其所占有的扇区角度,并将每个 核心节点布局在其扇区的中心线上;
对于已布局父节点的未布局子节点的布局,设定每一所述未布局子节点平 分所述已布局父节点的扇区角;并且,执行下述步骤(1)、 (2)、 (3):
(1 )、对于未布局子节点P存在高级子节点或存在的初级子节点数大于1, 则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q; (2)、若所 述相邻同级未布局子节点Q不存在高级子节点,且初级子节点数为O,则将该 子节点Q的占有角度加给上述未布局子节点P,继续判断相邻同级未布局子节 点;
若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1, 则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同 级未布局子节点;
(3)、将每个未布局子节点布局在其拥有的扇区的中心线上。
一种网络拓朴图形化显示装置,包括
中心确定单元,用于在有限二维平面内确定网络拓朴图的显示中心; 核心节点布局单元,用于将核心节点布局在拓朴图的最内环上,该最内环 的圓心为网络拓朴图的所述显示中心,才艮据每个核心节点的加权值确定其所占 有的扇区角度,并将每个核心节点布局在其扇区的中心线上;
子节点布局单元,对于已布局父节点的未布局子节点的布局,设定每一所
述未布局子节点平分所述已布局父节点的扇区角;并且,执行下述步骤(l)、 (2)、 (3):
(1 )、对于未布局子节点P存在高级子节点或存在的初级子节点数大于1, 则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q;
(2)、若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节点数为O,则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相
邻同级未布局子节点;
若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1, 则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同 级未布局子节点;
(3)、将每个未布局子节点布局在其拥有的扇区的中心线上。
由以上本发明实施例提供的技术方案可见,在有限二维平面内确定网络拓 朴图的显示中心;将核心节点布局在拓朴图的最内环上,该最内环的圓心为网 络拓朴图的所述显示中心,根据每个核心节点的加权值确定其所占有的扇区角 度,并将每个核心节点布局在其扇区的中心线上;对于已布局父节点的未布局 子节点的布局,设定每一所述未布局子节点平分所述已布局父节点的扇区角; 并且,执行(l)、对于未布局子节点P存在高级子节点或存在的初级子节点数 大于1 ,则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q; (2 )、 若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节点数为O,则 将该子节点Q的占有角度加给上述未布局子节点P,继续判断相邻同级未布局 子节点;若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点 数为1,则将该子节点R的占有角度的一半加给上述未布局子节点P,'停止判 断相邻同级未布局子节点;(3)、将每个节点布局在其拥有的扇区的中心线上, 这样,可以较好的解决网络可视化中的节点重叠问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中网络可视化的技术方案;
图2为现有技术网络可视化实现的示意图3为本发明实施例实施过程中网络拓朴在有限二维平面上的图形显示;
8图4为本发明实施例实现网络拓朴图形化显示方法流程图; 图5为本发明实施例中对于有连接关系的同一级节点进行同向移动的示 意图6为本发明网络拓朴图形化显示装置一实施例的框图; 图7为本发明网络拓朴图形化显示装置另一实施例的框图; 图8为本发明网络拓朴图形化显示装置另一实施例的框图; 图9为本发明网络拓朴图形化显示装置另 一 实施例的框图; 图IO为本发明网络拓朴图形化显示装置另一实施例的框图。
具体实施例方式
本发明实施例提供一种网络拓朴图形化显示方法及装置。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实 施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所 获得的所有其他实施例,都应当属于本发明保护的范围。
图3示出了本发明实施例实施过程中网络拓朴在有限二维平面上的图形显示。
需要说明的是,任何一个拓朴图的显示,都是通过节点坐标的确定来实现 的。本发明实施例将节点分为两类
第 一类是和其它节点有两条或以上直接链路相连接的节点,称为高级节 点,如图3中的节点Al、 A5、 A6等为高级节点。相对于父节点,该高级节 点称为高级子节点。
第二类是和其它节点只有一条直接链路相连接的节点,称为初级节点,如
图3中的节点A2、 A4, A51等为初级节点。相对于父节点,该初级节点称为 初级子节点。
实现网络拓朴图形化显示,需要确定网络拓朴中每个节点坐标(包括角度、 半径)。本发明实施例实现网络拓朴图形化显示方法,包括如图4所示的流程,其确定每个节点坐标的过程包括
S401:在有限二维平面内确定网络拓朴图的显示中心。
本步骤中,在给定的有限二维平面内确定网络拓朴图的显示中心,该中心
可以人为给定。
例如,可以设定图3中的O点设为网络拓朴图的显示中心。 S402:将核心节点布局在拓朴图的最内环上,该最内环的圓心为网络拓朴 图的所述显示中心,根据每个核心节点的加权值确定其所占有的扇区角度,并 将每个核心节点布局在其扇区的中心线上。
核心节点可以采用人为i殳定方式确定,如可以人为设定如图3中的A、 B、 C为核心节点。核心节点还可以釆用以下方式确定首先找到rank值最大的 两个高级节点N1, N2,确定为核心节点,加入核心节点集合,然后将和这两 个节点Nl, N2都有直接连接关系的节点也加入核心节点集合,最后得到的核 心节点集合内的所有节点就为核心节点。若只有一个高级节点N3,则其自己
为斗亥心节点。这里的rank= coreLinks.size()+ leafLinks.size()/4+l , rank为每个 高级节点的加权值,coreLinks.size()为该核心节点的直接相连的高级子节点数, leafLinks.size()为该核心节点的直接相连的初级子节点数;此处的rank和下文 的rank—样,此处说的是高级节点的rank,而上下文说的是核心节点的rank, 核心节点也是高级节点,是高级节点中找到的。
如图3中,该最内环的圆心为网络拓朴图中心O。
才艮据每个核心节点的加权值确定其所占有的扇区角度,具体的,每个核心 节点的扇区角度的可以确定如下
首先通过公式rank= coreLinks.size()+ leafLinks.size()/4+l算出每个核心 节点的力。权值;rank为核心节点的力。权值,coreLinks.size()为该核心节点的直 接相连的高级子节点数,leafLinks.size()为该核心节点的直接相连的初级子节 点数。
再通过公式F—angle=rankx2xPI/sum确定每个核心节点的扇区角度。 F一angle为节点的扇区角度,PI为数学中的圆周率, sum为声斤有才亥心节点的力口
10#又4直的和。
每个核心节点的扇区角度确定后,该核心节点占有的扇区也随之确定,进 而,可以将核心节点布局在其占有扇区的中心线上。如图3中的核心节点A
布局在Ol、 02为边的扇区A的中心线上(类似的,B节点布局在Ol、 03 为边的扇区B的中心线上,C节点布局在03、 02为边的扇区C的中心线上)。
对核心节点布局时,核心节点相对于圆心的半径(即所述最内环的半径) 由核心节点的下一级相邻子节点决定的。具体的,可以通过如下^>式确定 R= (sum x max(dh, dw) / (2 x pi) + kernelNode.size() x max(dh, dw) / 2 x PI) / 2
R为核心节点半径,sum为上文所述的为所有核心节点的加权值的和,(dh: dw)为节点显示图标的大小,其中dh为图标的高度,dw为图标的宽度, kemelNode.size()为核心节点的数量,PI为数学中的圓周率。
由S402,可以确定核心节点的半径和角度,乂人而完成了对核心节点在有 限二维平面上的布局。接下来,依次对核心节点的相邻子节点、这些子节点的 子节点、及后续子节点在有限二维平面上进行布局。
S403:对于已布局父节点的未布局子节点的布局,设定每一所述未布局子 节点平分所述已布局父节点的扇区角;并且,执行下述步骤(l)、 (2)、 (3): (1 )、对于未布局子节点P存在高级子节点或存在的初级子节点数大于1, 则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q;
(2)、若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节 点数为0,则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相 邻同级未布局子节点;
若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1, 则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同 级未布局子节点;
(3 )、将每个未布局子节点布局在其拥有的扇区的中心线上。
首先,对于已布局父节点的未布局子节点的布局,设定每一所述未布局子 节点平分所述已布局父节点的扇区角。接着,对于满足coer—Size! = 0或leaf—Sizs>l的未布局子节点(即存在高 级子节点或初级子节点数大于1,设为P),如果同一级别的其它某一节点满足 coer—Size = 0且leaf—Sizs = 0 (即不存在高级子节点和初级子节点,设为Q ), 则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相邻同级未布 局子节点;
或者,对于满足coer—Size! = 0或leaf—Sizs>l的未布局子节点(即存在高 级子节点或初级子节点数大于1,设为P),如果同一级别的其它某一节点满足 coer—Size = 0且leaf—Sizs = 1 (即不存在高级子节点且初级子节点不大于1、设 为R),则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判 断相邻同级未布局子节点。
最后,将每个未布局子节点布局在其拥有的扇区的中心线上。如图3中, 确定于A1,A2,A3,A4,A5,A6,A7,A8节点的角度。其中A3节点的子节点的初级 子节点为A31,A32,A33,A34,A35,A36,A37,A38,即共有8个初级子节点,因而 初级子节点数大于1,可见满足前面(1 )的条件,为P节点。于是,在对A1 A8 节点的角度先设定为每个节点平分父节点A的扇区角度后,例如对于A2和 A4这样的同一级子节点,由于A2和A4的子节点满足前面的条件(2)(即 coer—Size = 0且leaf—Sizs = 0,为Q节点),则将A2和A4点的扇区角度力口到 A3点的扇区角度中。每个节点都有自己的扇区角度,既扇区角度的起始角度 和终止角度,也就是扇区两个边界各自相对于圆心的角度,将A2的角度加到 A3中,就是A3的扇区角度把A2的扩展进来,A3的扇区的边界为A2的扇区 边界位置,同理A4的扇区角度也是像A2—样加入A3中,从而A3的扇区角 度加大。类似的,由于Al和A5节点满足前面的条件(2) (coer—Size = 0且 leaf—Sizs= l),则将Al和A5节点的扇区角度的一半加到A3点的扇区角度中。 对于其它节点,也依此方式处理。
可见,相对于现有技术中的图l示例,由于合理利用了相邻节点的扇区角 度,子节点的布局可以位于合理的角度范围内,从而最大限度地解决了节点重 叠问题。而且,在拓朴布局显示中,由于每个节点都有自己的角度,他们都在
12自己的父节点的最合理角度范围内,保证了他们与父节点的连线不会与其它节 点与父节点的连线交叉,从而可以减少大量交叉线,拓朴图布局十分对称,美 观。
此外,为了使前述布局显示的范围最小,即全图平均半径最小,以实现在
有限的二位平面上合理显示,本发明实施例还给出一取半径的方法,具体如下-:
当每个节点布局的角度被确定后,对所有节点按父节点半径MR增加标配
半径S后得到的半径R,再根据每个节点图标的大小(dh,dw),判断是否满足 公式max(dw,dh) x TV > (S+MR) x F—Angle
上面公式中,(dw,dh)为图标大小,N为父节点的未布局节点的个数,S 为标配半径,MR为父节点的半径,F—Angle为父节点的扇区角度大小。上面 公式的右边为弧长公式,即以(S+MR)为半径、F—Angle角度对应的弧长。 则该公式表示,所有未布局节点的图标最大值之和是否大于半径为(S+MR)、 角度为F—Angle所对应的弧长。
若不满足上述公式,说明标配半径S可以布局以使节点不重叠,则半径
若满足上面公式,则调整半径^ = max(dw,dh)x TV/F_Angle 。 这样可以得到合理布局节点的最短半径R。
此外,本发明实施例中,对于有连接关系的同一级节点,为了避免其连线 跨越其它连线,可以釆用同侧移动技术。具体的,对于每对有连线的节点,若 其父节点不同,则将每对节点对称移动到其所在扇形的同一侧,以使同一级的 有连接的节点与其它连接不交叉或最少交叉,且平均长度最短。这样,可以避 免由于存在过多连线交叉带来的视觉上难以识别的问题。
如图5中,A节点和B节点相连接,并且A节点和B节点的父节点不同, 这时可以采用同向移动方法,将A节点与A,节点交换位置,B节点与B,节点 交换位置,使得A节点和B节点移到同侧,使得A,与B,的连线与其它没有交 叉。类似的,C与D之间存在连线,则将C和D移动到同侧,具体的,通过 将C与C,交换位置,将D与D,交换位置,减少与交叉线。上述方法实施例由于将有连接关系的点移动到同 一侧,进一步使这些节点 间交叉线减少,且其连接半径将进一步缩小,从而使全图平均半径进一步最短, 可以避免由于存在过多连线交叉带来的视觉上难以识别的问题,且这种方式使 拓朴图显示更为美观。
以下介绍本发明一种网络拓朴图形化显示装置实施例,图6示出了该装置
实施例的框图,如图6中所示,该装置实施例包括
中心确定单元61,用于在有限二维平面内确定网络拓朴图的显示中心; 核心节点布局单元62,用于将核心节点布局在拓朴图的最内环上,该最
内环的圆心为网络拓朴图的所述显示中心,根据每个核心节点的加权值确定其
所占有的扇区角度,并将每个核心节点布局在其扇区的中心线上;
子节点布局单元63,对于已布局父节点的未布局子节点的布局,设定每
一所述未布局子节点平分所述已布局父节点的扇区角;并且,执行下述步骤 (1)、 (2)、 (3):
(1 )、对于未布局子节点P存在高级子节点或存在的初级子节点数大于1, 则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q;
(2) 、若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节 点数为O,则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相 邻同级未布局子节点;
若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1 , 则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同 级未布局子节点;
(3) 、将每个未布局子节点布局在其拥有的扇区的中心线上。 优选地,所述装置中,每个核心节点的扇区角度的确定如下, 首先通过公式rank= coreLinks.size()+ leafLinks.size()/4+l算出每个核心
节点的力口斥又值;rank为核心节点的力口氺又值,coreLinks.size()为该核心节点的直 接相连的高级子节点数,leafLinks.size()为该核心节点的直接相连的初级子节
14点数。
再通过公式F—angle=rankx2xPI/sum确定每个核心节点的扇区角度。 F一angle为节点的扇区角度,PI为数学中的圆周率,sum为所有核心节点的加 谗又il的和。
优选地,所述装置还可以如图7所示,还包括
核心节点半径设定单元64,用于将核心节点相对于圆心的半径设定为R= (sum x max(dh, dw) / (2 x pi) + kemelNode.size() x max(dh, dw) / 2 x PI) / 2
R为核心节点半径,sum为上述为所有核心节点的加权值的和,(dh, dw) 为节点显示图标的大小,kemelNode.size()为核心节点的数量,PI为圓周率。
优选地,所述装置还可以如图8所示,还包括
子节点半径设定单元65,用于对所有节点按父节点半径MR增加标配半
径S后得到的半径R,再根据每个节点图标的大小(dh,dw),判断是否满足公 式max(dw,dh) x TV > (S+MR) x F—Angle .
若不满足上述公式,则设定半径A二S + 7kff ;
若满足上面公式,则设定半径A = max(dw,dh) x iV / F_Angle; 其中,(dw,dh)为图标大小,N为父节点的未布局节点的个数,S为标配 半径,MR为父节点的半径,F—Angle为父节点的扇区角度大小。 优选地,所述装置中还可以如图9所示,还包括
移动单元66,对于每对有连线的节点,若其父节点不同,则将每对节点 对称移动到其所在扇形的同一侧。
优选地,所述装置中还可以如图IO所示,还包括核心节点确定单元67, 用于通过如下方式确定核心节点首先找到rank值最大的两个高级节点Nl, N2,确定为核心节点,加入核心节点集合,然后将和这两个节点Nl, N2都 有直接连接关系的节点也加入核心节点集合,最后得到的核心节点集合内的所 有节点就为核心节点。
需要指出的是,上述核心节点半径设定单元64、子节点半径设定单元65、 移动单元66、核心节点确定单元67可以集成于同一装置中。利用上述本发明装置实施例实现网络拓朴图形化显示的方法与前述方法 实施例类似,在此不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到 本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,
的形式体现出来,该计算机软件产品可以存储在存储介质中,如
ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是 个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的 某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同 相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同 之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描 述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如个人计算 机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基 于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、 大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例 如程序模块。 一般地,程序模块包括执行特定任务或实现特定抽象数据类型的 例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本 发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来
执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地 和远程计算机存储介质中。
权利要求
1、一种网络拓扑图形化显示方法,其特征在于,包括在有限二维平面内确定网络拓扑图的显示中心;将核心节点布局在拓扑图的最内环上,该最内环的圆心为网络拓扑图的所述显示中心,根据每个核心节点的加权值确定其所占有的扇区角度,并将每个核心节点布局在其扇区的中心线上;对于已布局父节点的未布局子节点的布局,设定每一所述未布局子节点平分所述已布局父节点的扇区角;并且,执行下述步骤(1)、(2)、(3)(1)、对于未布局子节点P存在高级子节点或存在的初级子节点数大于1,则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q;(2)、若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节点数为0,则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相邻同级未布局子节点;若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1,则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同级未布局子节点;(3)、将每个未布局子节点布局在其拥有的扇区的中心线上。
2、 如权利要求1所述的方法,其特征在于,所述核心节点通过以下方式 确定首先找到rank值最大的两个高级节点Nl, N2,确定为核心节点,加入核心节点集合,然后将和这两个节点Nl, N2都有直接连接关系的节点也加入核 心节点集合,最后得到的核心节点集合内的所有节点为核心节点。
3、 如权利要求1所述的方法,其特征在于,所述根据每个核心节点的加 权值确定其所占有的扇区角度,包括首先通过公式rank= coreLinks.size()十leafLinks.size()/4+l算出每个核心 节点的加权值;rank为核心节点的加^又值,coreLinks.size()为该核心节点的直 接相连的高级子节点数,leafLinks.size()为该核心节点的直接相连的初级子节 点数;再通过公式F—angle=rankx2xPI/sum确定每个核心节点的扇区角度; F—angle为节点的扇区角度,PI为数学中的圆周率,sum为所有核心节点的加 权值的和。
4、 如权利要求1所述的方法,其特征在于,将核心节点相对于圆心的半 4圣i殳定为R= (sum x max(dh, dw) / (2 x PI) + kernelNode.size() x max(dh, dw) / 2 x PI) / 2R为核心节点半径,sum为上述为所有核心节点的加权值的和,(dh,dw) 为节点显示图标的大小,kernelNode.size()为核心节点的数量,PI为圆周率。
5、 如权利要求1所述的方法,其特征在于,还包括对所述子节点的半径 釆用如下方式设置对所有节点按父节点半径MR增加标配半径S后得到的半径R,再根据每 个节点图标的大小 (dh,dw ), 判断是否满足公式 max(dw,dh) x TV > (S+MR) x F—Angle .若不满足上述公式,则设定半径^二S + M/ ;若满足上面公式,则设定半径^ = max(dw,dh)xTV/F_Angle; 其中,(dw,dh)为图标大小,N为父节点的未布局节点的个数,S为标配 半径,MR为父节点的半径,F一Angle为父节点的扇区角度大小。
6、 如权利要求l所述的方法,其特征在于,还包括 对于每对有连线的节点,若其父节点不同,则将每对节点对称移动到其所在扇形的同一侧。
7、 一种网络拓朴图形化显示装置,其特征在于,包括 中心确定单元,用于在有限二维平面内确定网络拓朴图的显示中心; 核心节点布局单元,用于将核心节点布局在拓朴图的最内环上,该最内环的圓心为网络拓朴图的所述显示中心,根据每个核心节点的加权值确定其所占 有的扇区角度,并将每个核心节点布局在其扇区的中心线上;子节点布局单元,对于已布局父节点的未布局子节点的布局,设定每一所述未布局子节点平分所述已布局父节点的扇区角;并且,执行下述步骤(l)、(2)、 (3):(1 )、对于未布局子节点p存在高级子节点或存在的初级子节点数大于1,则向该未布局子节点P的两侧顺序判断相邻同级未布局子节点Q;(2) 、若所述相邻同级未布局子节点Q不存在高级子节点,且初级子节 点数为0,则将该子节点Q的占有角度加给上述未布局子节点P,继续判断相 邻同级未布局子节点;若所述相邻同级未布局子节点R不存在高级子节点,且初级子节点数为1 , 则将该子节点R的占有角度的一半加给上述未布局子节点P,停止判断相邻同 级未布局子节点;(3) 、将每个未布局子节点布局在其拥有的扇区的中心线上。
8、 如权利要求7所述的装置,其特征在于,还包括核心节点确定单元, 用于通过如下方式确定核心节点首先找到rank值最大的两个高级节点Nl, N2,确定为核心节点,加入核心节点集合,然后将和这两个节点Nl, N2都 有直接连接关系的节点也加入核心节点集合,最后得到的核心节点集合内的所 有节点就为核心节点。
9、 如权利要求7所述的装置,其特征在于,还包括子节点半径设定单元,用于对所有节点按父节点半径MR增加标配半径S后得到的半径R,再根据每个节点图标的大小(dh,dw),判断是否满足公式 max(dw,dh) x iV > (S+MR) x F一Angle .若不满足上述公式,则设定半径^ = 5 + ^^;若满足上面公式,则设定半径^ = max(dw,dh)x TV/F—Angle; 其中,(dw,dh)为图标大小,N为父节点的未布局节点的个数,S为标配 半径,MR为父节点的半径,F—Angle为父节点的扇区角度大小。
10、 如权利要求7所述的装置,其特征在于,还包括移动单元,对于每对有连线的节点,若其父节点不同,则将每对节点对称 移动到其所在扇形的同 一侧。
全文摘要
一种网络拓扑图形化显示方法及装置。方法包括确定网络拓扑图的显示中心;布局核心节点,确定每个核心节点的扇区角度;对于未布局子节点,设定每一所述未布局子节点平分所述已布局父节点的扇区角;并且执行(1)对于子节点P存在高级子节点或存在的初级子节点数大于1,则判断相邻同级未布局子节点Q;(2)若子节点Q不存在高级子节点,且初级子节点数为0,则将该子节点Q的占有角度加给子节点P;若所述子节点R不存在高级子节点,且初级子节点数为1,则将子节点R的占有角度的一半加给子节点P;(3)将每个未布局子节点布局在其拥有的扇区的中心线上。利用本发明,可以较好的解决网络可视化中的节点重叠问题。
文档编号H04L12/24GK101582793SQ20091001192
公开日2009年11月18日 申请日期2009年6月5日 优先权日2009年6月5日
发明者松 孙, 磊 张, 李经通, 欢 王 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1