CN111464338A - 一种复杂网络拓扑分步布局方法及系统 - Google Patents
一种复杂网络拓扑分步布局方法及系统 Download PDFInfo
- Publication number
- CN111464338A CN111464338A CN202010179985.4A CN202010179985A CN111464338A CN 111464338 A CN111464338 A CN 111464338A CN 202010179985 A CN202010179985 A CN 202010179985A CN 111464338 A CN111464338 A CN 111464338A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- hidden
- list
- spherical surface
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种复杂网络拓扑分步布局方法及系统,涉及信息可视化领域,用以解决目前采用一般传统绘图方式进行复杂网络拓扑布局时,拓扑布局不清晰导致难以直观反映网络运行状态,网络管理人员不能对网络运行状况进行有效监控,无法快速发现和定位网络故障,并且布局效率不高,易出现点线的交叉、重叠、布局混乱等问题,包括:获取网络拓扑结构信息;根据所述网络拓扑结构信息创建初始节点列表;复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;对环网结构节点和树形结构节点进行拓扑分步布局。
Description
技术领域
本发明涉及信息可视化领域,尤其涉及一种复杂网络拓扑分步布局方法及系统。
背景技术
由于当今网络承载的信息日益增多,网络的结构也日益复杂,复杂网络中设备繁多、节点包含各种关联、相互之间的关系复杂,给网络管理人员认知和分析网络带来了困难,网络拓扑可视化利用计算机图形学的知识将抽象的数据文本信息转换成直观的图形信息在有限的屏幕中展示,有助于网络管理人员更加准确清晰的认识和理解网络,但是目前采用一般传统绘图方式进行复杂网络拓扑布局时布局效率不高,易出现点线的交叉、重叠、布局混乱等问题,拓扑布局展示不清晰导致难以直观反映网络运行状态,致使网络管理人员不能对网络运行状况进行有效监控,无法快速发现和定位网络故障。
发明内容
基于上述存在的问题,本发明提供一种复杂网络拓扑分步布局方法及系统,用以解决目前采用一般传统绘图方式进行复杂网络拓扑布局时,拓扑布局不清晰导致难以直观反映网络运行状态,致使网络管理人员不能对网络运行状况进行有效监控,无法快速发现和定位网络故障,并且布局效率不高,易出现点线的交叉、重叠、布局混乱等问题。
本发明公开一种复杂网络拓扑分步布局方法,包括:
获取网络拓扑结构信息;
根据所述网络拓扑结构信息创建初始节点列表;
复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
对环网结构节点和树形结构节点进行拓扑分步布局。
进一步地,所述获取网络拓扑结构信息,包括:
获取网络拓扑结构的节点id和节点间连接关系信息。
进一步地,所述根据所述网络拓扑结构信息创建初始节点列表,包括:
设置节点类型的基础属性,id:节点唯一标识,link:与该节点有连接关系的所有节点的集合;
将所述获取网络拓扑结构信息转换成相应节点类型的基础属性进行存储,完成初始节点列表创建。
进一步地,所述复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点,具体为:
复制所述初始节点列表创建待分离节点列表;
遍历、查找所述待分离节点列表中叶子节点;
将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点;
重复遍历、查找和删除操作直至获取所述待分离节点列表中全部叶子节点,全部叶子节点构成树形结构节点;
所述待分离节点列表中剩余的节点即为环网结构节点。
进一步地,所述遍历、查找所述待分离节点列表中叶子节点;将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点,具体为:
为所述待分离列表中所有节点赋“out link”和“hidden link”节点属性初始值,其中,hidden link:与该节点有连接关系且被隐藏节点的集合,out link:与该节点有连接关系且未被隐藏节点的集合;
“out link”的初始值与初始节点列表中“link”属性值一致,“hidden link”的初始值为空;
遍历所述待分离节点列表,判断待分离节点列表中节点的“out link”属性中是否只有一个节点,若是,则判定该节点为叶子节点在该其“out link”属性中查找其父节点,将该节点从其父节点的“out link”属性中删除;
将该节点添加到其父节点的“hidden link”属性中并将该节点从待分离节点列表中删除。
进一步地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
对所有节点进行属性赋值,包括:link_num:节点的连接数量,m:节点的虚拟质量,计算公式为:m=link_num+1,q:节点的虚拟电量,计算公式为:
q=km,k为系数,m为节点的虚拟质量,x,y,z:节点在三维空间中的x,y,z坐标;
遍历获取的环网结构节点,环网结构节点中“hidden link”属性为空的节点为I类节点,环网结构节点中“hidden link”属性不为空的节点为O类节点;
将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局;
环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局。
进一步地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体为:
计算外球面半径R;
根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;
在球面内部随机生成I类节点的直角坐标;
应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
进一步地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体还可为:
对所有I类节点进行分层处置,查找所有与O类节点有连接关系的I类节点,作为第一层;继续查找所有与第一层有连接关系的其他I类节点,作为第二层,依次类推,直至确定所有I类节点的层级;
从最内层开始,逐层计算每层I类节点分布的球面半径Rn;
计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
进一步地,所述环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局,包括:
遍历查找全部O类节点中隐藏的叶子节点并展开;
新建一个空的树形结构展开节点列表,在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到所述树形结构展开节点列表,得到第一层被隐藏的叶子节点;
继续遍历所述树形结构展开节点列表中第一层被隐藏的叶子节点,通过“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到所述树形结构展开节点列表;
重复上述展开操作,直至将全部隐藏的叶子节点添加到所述树形结构展开节点列表;
初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局。
进一步地,所述计算外球面半径R;根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;在球面内部随机生成I类节点的直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
在球面内部随机生成I类节点的直角坐标的计算公式为:I类节点的直角坐标x,y,z在(-R,R)范围内随机生成。
进一步地,所述从最内层开始,逐层计算每层I类节点分布的球面半径Rn;计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
进一步地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:首先遍历环网结构节点列表中的全部节点的“out link”属性中的节点,计算节点连接关系之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;,其次,I类节点被限制在球内部还会受到球心对节点的引力,计算公式为:其中ki为系数,r0为节点到球心的距离,R为外球面半径;
位移计算:节点位移后新坐标的计算公式为:其中,为初始坐标向量为节点所受合力向量,m为节点质量,t为时间系数;由于O类节点被限制在球面上,计算得出O类节点的新坐标后需要对其进行伸缩变换以保证O类节点仍在球面上,伸缩变换计算公式为:其中,为伸缩变换后的坐标向量,R为外球面半径,r'为新坐标到球心的距离,为新坐标向量。
进一步地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:计算各连接节点之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
斥力计算:计算各层节点之间的斥力:O类节点和I类节点均只受到其同类节点的斥力,计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力;
位移计算:计算各层节点的新坐标向量,计算公式为:其中,为初始坐标向量为节点所受合力向量,m为节点质量,t为时间系数;计算完成各层节点的新位置坐标后,各层上所有的节点新坐标向量都要进行伸缩变换,伸缩变换公式为:其中,为伸缩变换后的坐标向量,R为外球面半径,r'为新坐标到球心的距离,为新坐标向量。
进一步地,所述初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局,包括:
在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到树形结构展开节点列表,得到第一层被隐藏的叶子节点;
遍历树形结构展开节点列表中第一层被隐藏的叶子节点,通过节点“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到树形结构展开节点列表;
重复以上步骤直至查找到全部隐藏的叶子节点;
初始化所述树形结构展开节点列表中全部节点的位置坐标计算公式为:θ=θ0+α,其中,r0,θ0,为该被隐藏节点的父节点球坐标,dis为根据前端展示需要预设的两个节点之间的最佳距离,link_num为该被隐藏节点的连接数,α,β在(-kπ,kπ)范围内随机,k的取值范围为(0~0.5);
被隐藏叶子节点受到引力计算:计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
被隐藏叶子节点受到斥力计算:计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力,并且被隐藏叶子节点还受到球心对其的斥力,计算公式为:其中,ko为系数,Q为环网结构中所有节点的总电量,q为该被隐藏叶子节点的电量,r为该叶子节点到球心的距离;
本发明还公开一种复杂网络拓扑分步布局系统,包括:
结构信息获取模块:用于获取网络拓扑结构信息;
初始节点列表创建模块:用于根据所述网络拓扑结构信息创建初始节点列表;
节点分离模块:用于复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
拓扑布局模块:用于对环网结构节点和树形结构节点进行拓扑分步布局。
与现有技术相比,本发明提供的一种复杂网络拓扑分步布局方法及系统,至少实现了如下的有益效果:
本发明是针对复杂网络提取其中环网结构节点,将环网和树形结构节点分开进行布局的方法,实现了将复杂的拓扑结构拆分成连接复杂的环网结构和连接相对简单的树形结构,并在展示形态上进行了创新,拓扑结构呈现更加清晰,提升了布局效率,加快了网络管理人员对网络故障发现及定位的速度,有效解决了复杂网络拓扑布局点重叠,线交叉的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种复杂网络拓扑分步布局方法流程图;
图2为本发明提供的方法中假设的原始网络拓扑结构节点信息和连接关系示意图;
图3为应用本发明提供的方法分离出的环网结构节点连接示意图;
图4为应用本发明提供的方法拓扑布局后环网结构节点一种方式布局示意图;
图5为应用本发明提供的方法拓扑布局后环网结构节点又一种方式布局示意图;
图6为应用本发明提供的方法拓扑布局后树形结构节点布局示意图;
图7为本发明实施例提供的一种复杂网络拓扑分布布局系统结构图。
具体实施方式
为了使本发明的目的,技术方案和优点更加清楚,下面结合附图,对本发明实施例提供的一种复杂网络拓扑分步布局方法及系统的具体实施方式进行详细地说明。
应当理解,下面所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了更清楚地陈述本发明的具体实施例,对如下名词进行解释:
节点:抽象化的点,具有实际物理意义或者虚拟含义。
连线:两个节点之间的连接关系。
叶子节点:只和一个其他的节点有连接关系的节点。
父节点:与叶子节点有唯一连接关系的节点,称为该叶子节点的父节点。
环网结构:每个节点至少有两个或两个以上的连线,从任意一个节点出发,沿着连线不重复地走,都能再回到该节点。
树形结构:从任意一个节点出发,沿着连线不重复地走,都无法回到该节点,走到最后,都会到达叶子节点。
力引导算法布局:一种应用广泛的图布局算法,将整个网络虚拟成一个物理系统模型,节点为带电粒子,彼此之间有斥力,连线看作弹簧,整个系统的粒子从初始状态不断受力运动,经过迭代计算,最后停在较为理想的状态。
本发明实施例提供的一种复杂网络拓扑分步布局方法,一种复杂网络拓扑分步布局方法流程图如图1所示,包括:
S101:获取网络拓扑结构信息;
S102:根据所述网络拓扑结构信息创建初始节点列表;
优选地,所述获取网络拓扑结构信息,包括:
获取网络拓扑结构的节点id和节点间连接关系信息。
优选地,所述根据所述网络拓扑结构信息创建初始节点列表,包括:
设置节点类型的基础属性,id:节点唯一标识,link:与该节点有连接关系的所有节点的集合;
将所述获取网络拓扑结构信息转换成相应节点类型的基础属性进行存储,完成初始节点列表创建。
例如:假设原始网络拓扑结构节点信息和连接关系如图2所示,节点原始信息如下:
创建初始节点列表如下:
以节点a为例:
节点类型 节点属性
节点列表
Node 1 |
Node 2 |
Node 3 |
Node 4 |
… |
S103:复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
优选地,所述复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点,具体为:
复制所述初始节点列表创建待分离节点列表;
遍历、查找所述待分离节点列表中叶子节点;
将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点;
重复遍历、查找和删除操作直至获取所述待分离节点列表中全部叶子节点,全部叶子节点构成树形结构节点;
所述待分离节点列表中剩余的节点即为环网结构节点。
优选地,所述遍历、查找所述待分离节点列表中叶子节点;将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点,具体为:
为所述待分离列表中所有节点赋“out link”和“hidden link”节点属性初始值,其中,hidden link:与该节点有连接关系且被隐藏节点的集合,out link:与该节点有连接关系且未被隐藏节点的集合;
“out link”的初始值与初始节点列表中“link”属性值一致,“hidden link”的初始值为空;
遍历所述待分离节点列表,判断待分离节点列表中节点的“out link”属性中是否只有一个节点,若是,则判定该节点为叶子节点在该其“out link”属性中查找其父节点,将该节点从其父节点的“out link”属性中删除;
将该节点添加到其父节点的“hidden link”属性中并将该节点从待分离节点列表中删除。
例如:依据图2中原始网络拓扑结构节点信息和连接关系图,得出第一层叶子节点为:{a,q,k,u,v,x,y,g},断开第一层叶子节点与其父节点的连接并隐藏,判断是否有新叶子节点;重复遍历查找,得到第二层叶子节点为:{b,s},继续断开第二层叶子节点与其父节点的连接并隐藏;继续遍历查找发现无新的叶子节点,得到环网结构节点组合为:{h,i,r,j,c,d,e,f,l,m,n,w,z,t,o,p},分离出的环网结构节点连接如图3所示。
S104:对环网结构节点和树形结构节点进行拓扑分步布局。
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
对所有节点进行属性赋值,包括:link_num:节点的连接数量,m:节点的虚拟质量,计算公式为:m=link_num+1,q:节点的虚拟电量,计算公式为:
q=km,k为系数,m为节点的虚拟质量,x,y,z:节点在三维空间中的x,y,z坐标;
遍历获取的环网结构节点,环网结构节点中“hidden link”属性为空的节点为I类节点,环网结构节点中“hidden link”属性不为空的节点为O类节点;
将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局;
环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局。
优选地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体为:
计算外球面半径R;
根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;
在球面内部随机生成I类节点的直角坐标;
应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
优选地,所述环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局,包括:
遍历查找全部O类节点中隐藏的叶子节点并展开;
新建一个空的树形结构展开节点列表,在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到所述树形结构展开节点列表,得到第一层被隐藏的叶子节点;
继续遍历所述树形结构展开节点列表中第一层被隐藏的叶子节点,通过“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到所述树形结构展开节点列表;
重复上述展开操作,直至将全部隐藏的叶子节点添加到所述树形结构展开节点列表;
初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局。
优选地,所述计算外球面半径R;根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;在球面内部随机生成I类节点的直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
在球面内部随机生成I类节点的直角坐标的计算公式为:I类节点的直角坐标x,y,z在(-R,R)范围内随机生成。
优选地,所述初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局,包括:
在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到树形结构展开节点列表,得到第一层被隐藏的叶子节点;
遍历树形结构展开节点列表中第一层被隐藏的叶子节点,通过节点“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到树形结构展开节点列表;
重复以上步骤直至查找到全部隐藏的叶子节点;
初始化所述树形结构展开节点列表中全部节点的位置坐标计算公式为:θ=θ0+α,其中,r0,θ0,为该被隐藏节点的父节点球坐标,dis为根据前端展示需要预设的两个节点之间的最佳距离,link_num为该被隐藏节点的连接数,α,β在(-kπ,kπ)范围内随机,k的取值范围为(0~0.5);
被隐藏叶子节点受到引力计算:计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
被隐藏叶子节点受到斥力计算:计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力,并且被隐藏叶子节点还受到球心对其的斥力,计算公式为:其中,ko为系数,Q为环网结构中所有节点的总电量,q为该被隐藏叶子节点的电量,r为该叶子节点到球心的距离;
例如:依据本发明实施例提供的方法拓扑布局后环网结构节点一种布局方式如图4所示;依据本发明提供的方法拓扑布局后树形结构节点布局如图6所示。
全部节点布局完毕后,输出位置数据文件。
本发明实施例还提供的又一种复杂网络拓扑分步布局方法,包括:
S101:获取网络拓扑结构信息;
S102:根据所述网络拓扑结构信息创建初始节点列表;
优选地,所述获取网络拓扑结构信息,包括:
获取网络拓扑结构的节点id和节点间连接关系信息。
优选地,所述根据所述网络拓扑结构信息创建初始节点列表,包括:
设置节点类型的基础属性,id:节点唯一标识,link:与该节点有连接关系的所有节点的集合;
将所述获取网络拓扑结构信息转换成相应节点类型的基础属性进行存储,完成初始节点列表创建。
例如:假设原始网络拓扑结构节点信息和连接关系如图2所示,节点原始信息如下:
创建初始节点列表如下:
以节点a为例:
节点类型 节点属性
节点列表
S103:复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
优选地,所述复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点,具体为:
复制所述初始节点列表创建待分离节点列表;
遍历、查找所述待分离节点列表中叶子节点;
将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点;
重复遍历、查找和删除操作直至获取所述待分离节点列表中全部叶子节点,全部叶子节点构成树形结构节点;
所述待分离节点列表中剩余的节点即为环网结构节点。
优选地,所述遍历、查找所述待分离节点列表中叶子节点;将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点,具体为:
为所述待分离列表中所有节点赋“out link”和“hidden link”节点属性初始值,其中,hidden link:与该节点有连接关系且被隐藏节点的集合,out link:与该节点有连接关系且未被隐藏节点的集合;
“out link”的初始值与初始节点列表中“link”属性值一致,“hidden link”的初始值为空;
遍历所述待分离节点列表,判断待分离节点列表中节点的“out link”属性中是否只有一个节点,若是,则判定该节点为叶子节点在该其“out link”属性中查找其父节点,将该节点从其父节点的“out link”属性中删除;
将该节点添加到其父节点的“hidden link”属性中并将该节点从待分离节点列表中删除。
例如:依据图2中原始网络拓扑结构节点信息和连接关系图,得出第一层叶子节点为:{a,q,k,u,v,x,y,g},断开第一层叶子节点与其父节点的连接并隐藏,判断是否有新叶子节点;重复遍历查找,得到第二层叶子节点为:{b,s},继续断开第二层叶子节点与其父节点的连接并隐藏;继续遍历查找发现无新的叶子节点,得到环网结构节点组合为:{h,i,r,j,c,d,e,f,l,m,n,w,z,t,o,p},分离出的环网结构节点连接如图3所示。
S104:对环网结构节点和树形结构节点进行拓扑分步布局。
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
对所有节点进行属性赋值,包括:link_num:节点的连接数量,m:节点的虚拟质量,计算公式为:m=link_num+1,q:节点的虚拟电量,计算公式为:
q=km,k为系数,m为节点的虚拟质量,x,y,z:节点在三维空间中的x,y,z坐标;
遍历获取的环网结构节点,环网结构节点中“hidden link”属性为空的节点为I类节点,环网结构节点中“hidden link”属性不为空的节点为O类节点;
将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局;
环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局。
优选地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体为:
对所有I类节点进行分层处置,查找所有与O类节点有连接关系的I类节点,作为第一层;继续查找所有与第一层有连接关系的其他I类节点,作为第二层,依次类推,直至确定所有I类节点的层级;
从最内层开始,逐层计算每层I类节点分布的球面半径Rn;
计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
优选地,所述环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局,包括:
遍历查找全部O类节点中隐藏的叶子节点并展开;
新建一个空的树形结构展开节点列表,在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到所述树形结构展开节点列表,得到第一层被隐藏的叶子节点;
继续遍历所述树形结构展开节点列表中第一层被隐藏的叶子节点,通过“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到所述树形结构展开节点列表;
重复上述展开操作,直至将全部隐藏的叶子节点添加到所述树形结构展开节点列表;
初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局。
优选地,所述从最内层开始,逐层计算每层I类节点分布的球面半径Rn;计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:计算各连接节点之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
斥力计算:计算各层节点之间的斥力:O类节点和I类节点均只受到其同类节点的斥力,计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力;
位移计算:计算各层节点的新坐标向量,计算公式为:其中,为初始坐标向量为节点所受合力向量,m为节点质量,t为时间系数;计算完成各层节点的新位置坐标后,各层上所有的节点新坐标向量都要进行伸缩变换,伸缩变换公式为:其中,为伸缩变换后的坐标向量,R为外球面半径,r'为新坐标到球心的距离,为新坐标向量。
优选地,所述初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局,包括:
在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到树形结构展开节点列表,得到第一层被隐藏的叶子节点;
遍历树形结构展开节点列表中第一层被隐藏的叶子节点,通过节点“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到树形结构展开节点列表;
重复以上步骤直至查找到全部隐藏的叶子节点;
初始化所述树形结构展开节点列表中全部节点的位置坐标计算公式为:θ=θ0+α,其中,r0,θ0,为该被隐藏节点的父节点球坐标,dis为根据前端展示需要预设的两个节点之间的最佳距离,link_num为该被隐藏节点的连接数,α,β在(-kπ,kπ)范围内随机,k的取值范围为(0~0.5);
被隐藏叶子节点受到引力计算:计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
被隐藏叶子节点受到斥力计算:计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力,并且被隐藏叶子节点还受到球心对其的斥力,计算公式为:其中,ko为系数,Q为环网结构中所有节点的总电量,q为该被隐藏叶子节点的电量,r为该叶子节点到球心的距离;
例如:依据本发明实施例提供的方法拓扑布局后环网结构节点又一种方式布局如图5所示;依据本发明提供的方法拓扑布局后树形结构节点布局如图6所示。
全部节点布局完毕后,输出位置数据文件。
本发明实施例还提供一种复杂网络拓扑分步布局系统,一种复杂网络拓扑分步布局系统结构图如图7所示,包括:
结构信息获取模块71:用于获取网络拓扑结构信息;
初始节点列表创建模块72:用于根据所述网络拓扑结构信息创建初始节点列表;
节点分离模块73:用于复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
拓扑布局模块74:用于对环网结构节点和树形结构节点进行拓扑分步布局。
优选地,所述获取网络拓扑结构信息,包括:
获取网络拓扑结构的节点id和节点间连接关系信息。
优选地,所述根据所述网络拓扑结构信息创建初始节点列表,包括:
设置节点类型的基础属性,id:节点唯一标识,link:与该节点有连接关系的所有节点的集合;
将所述获取网络拓扑结构信息转换成相应节点类型的基础属性进行存储,完成初始节点列表创建。
优选地,所述复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点,具体为:
复制所述初始节点列表创建待分离节点列表;
遍历、查找所述待分离节点列表中叶子节点;
将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点;
重复遍历、查找和删除操作直至获取所述待分离节点列表中全部叶子节点,全部叶子节点构成树形结构节点;
所述待分离节点列表中剩余的节点即为环网结构节点。
优选地,所述遍历、查找所述待分离节点列表中叶子节点;将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点,具体为:
为所述待分离列表中所有节点赋“out link”和“hidden link”节点属性初始值,其中,hidden link:与该节点有连接关系且被隐藏节点的集合,out link:与该节点有连接关系且未被隐藏节点的集合;
“out link”的初始值与初始节点列表中“link”属性值一致,“hidden link”的初始值为空;
遍历所述待分离节点列表,判断待分离节点列表中节点的“out link”属性中是否只有一个节点,若是,则判定该节点为叶子节点在该其“out link”属性中查找其父节点,将该节点从其父节点的“out link”属性中删除;
将该节点添加到其父节点的“hidden link”属性中并将该节点从待分离节点列表中删除。
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
对所有节点进行属性赋值,包括:link_num:节点的连接数量,m:节点的虚拟质量,计算公式为:m=link_num+1,q:节点的虚拟电量,计算公式为:
q=km,k为系数,m为节点的虚拟质量,x,y,z:节点在三维空间中的x,y,z坐标;
遍历获取的环网结构节点,环网结构节点中“hidden link”属性为空的节点为I类节点,环网结构节点中“hidden link”属性不为空的节点为O类节点;
将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局;
环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局。
优选地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体为:
计算外球面半径R;
根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;
在球面内部随机生成I类节点的直角坐标;
应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
优选地,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体还可为:
对所有I类节点进行分层处置,查找所有与O类节点有连接关系的I类节点,作为第一层;继续查找所有与第一层有连接关系的其他I类节点,作为第二层,依次类推,直至确定所有I类节点的层级;
从最内层开始,逐层计算每层I类节点分布的球面半径Rn;
计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
进一步地,所述环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局,包括:
遍历查找全部O类节点中隐藏的叶子节点并展开;
新建一个空的树形结构展开节点列表,在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到所述树形结构展开节点列表,得到第一层被隐藏的叶子节点;
继续遍历所述树形结构展开节点列表中第一层被隐藏的叶子节点,通过“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到所述树形结构展开节点列表;
重复上述展开操作,直至将全部隐藏的叶子节点添加到所述树形结构展开节点列表;
初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局。
优选地,所述计算外球面半径R;根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;在球面内部随机生成I类节点的直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
在球面内部随机生成I类节点的直角坐标的计算公式为:I类节点的直角坐标x,y,z在(-R,R)范围内随机生成。
优选地,所述从最内层开始,逐层计算每层I类节点分布的球面半径Rn;计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:首先遍历环网结构节点列表中的全部节点的“out link”属性中的节点,计算节点连接关系之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;,其次,I类节点被限制在球内部还会受到球心对节点的引力,计算公式为:其中ki为系数,r0为节点到球心的距离,R为外球面半径;
位移计算:节点位移后新坐标的计算公式为:其中,为初始坐标向量为节点所受合力向量,m为节点质量,t为时间系数;由于O类节点被限制在球面上,计算得出O类节点的新坐标后需要对其进行伸缩变换以保证O类节点仍在球面上,伸缩变换计算公式为:其中,为伸缩变换后的坐标向量,R为外球面半径,r'为新坐标到球心的距离,为新坐标向量。
优选地,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:计算各连接节点之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
斥力计算:计算各层节点之间的斥力:O类节点和I类节点均只受到其同类节点的斥力,计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力;
位移计算:计算各层节点的新坐标向量,计算公式为:其中,为初始坐标向量为节点所受合力向量,m为节点质量,t为时间系数;计算完成各层节点的新位置坐标后,各层上所有的节点新坐标向量都要进行伸缩变换,伸缩变换公式为:其中,为伸缩变换后的坐标向量,R为外球面半径,r'为新坐标到球心的距离,为新坐标向量。
优选地,所述初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局,包括:
在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到树形结构展开节点列表,得到第一层被隐藏的叶子节点;
遍历树形结构展开节点列表中第一层被隐藏的叶子节点,通过节点“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到树形结构展开节点列表;
重复以上步骤直至查找到全部隐藏的叶子节点;
初始化所述树形结构展开节点列表中全部节点的位置坐标计算公式为:θ=θ0+α,其中,r0,θ0,为该被隐藏节点的父节点球坐标,dis为根据前端展示需要预设的两个节点之间的最佳距离,link_num为该被隐藏节点的连接数,α,β在(-kπ,kπ)范围内随机,k的取值范围为(0~0.5);
被隐藏叶子节点受到引力计算:计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
被隐藏叶子节点受到斥力计算:计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力,并且被隐藏叶子节点还受到球心对其的斥力,计算公式为:其中,ko为系数,Q为环网结构中所有节点的总电量,q为该被隐藏叶子节点的电量,r为该叶子节点到球心的距离;
本发明实施例还提供一种存储设备,所述存储设备中存储有多条指令,所述指令适于由处理器加载并执行本发明实施例提供的一种复杂网络拓扑分步布局方法的步骤。
本发明实施例是针对复杂网络提取其中环网结构节点,将环网和树形结构节点分开进行布局的方法,实现了将复杂的拓扑结构拆分成连接复杂的环网结构和连接相对简单的树形结构,并在展示形态上进行了创新,拓扑结构呈现更加清晰,提升了布局效率,加快了网络管理人员对网络故障发现及定位的速度,有效解决了复杂网络拓扑布局点重叠,线交叉的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
Claims (15)
1.一种复杂网络拓扑分步布局方法,其特征在于,包括:
获取网络拓扑结构信息;
根据所述网络拓扑结构信息创建初始节点列表;
复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
对环网结构节点和树形结构节点进行拓扑分步布局。
2.如权利要求1所述的方法,其特征在于,所述获取网络拓扑结构信息,包括:
获取网络拓扑结构的节点id和节点间连接关系信息。
3.如权利要求2所述的方法,其特征在于,所述根据所述网络拓扑结构信息创建初始节点列表,包括:
设置节点类型的基础属性,id:节点唯一标识,link:与该节点有连接关系的所有节点的集合;
将所述获取网络拓扑结构信息转换成相应节点类型的基础属性进行存储,完成初始节点列表创建。
4.如权利要求1所述的方法,其特征在于,所述复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点,具体为:
复制所述初始节点列表创建待分离节点列表;
遍历、查找所述待分离节点列表中叶子节点;
将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点;
重复遍历、查找和删除操作直至获取所述待分离节点列表中全部叶子节点,全部叶子节点构成树形结构节点;
所述待分离节点列表中剩余的节点即为环网结构节点。
5.如权利要求4所述的方法,其特征在于,所述遍历、查找所述待分离节点列表中叶子节点;将查找到的叶子节点隐藏至该节点的父节点中,并从所述待分离节点列表中删除被隐藏的叶子节点,具体为:
为所述待分离列表中所有节点赋“out link”和“hidden link”节点属性初始值,其中,hidden link:与该节点有连接关系且被隐藏节点的集合,out link:与该节点有连接关系且未被隐藏节点的集合;
“out link”的初始值与初始节点列表中“link”属性值一致,“hidden link”的初始值为空;
遍历所述待分离节点列表,判断待分离节点列表中节点的“out link”属性中是否只有一个节点,若是,则判定该节点为叶子节点在该其“out link”属性中查找其父节点,将该节点从其父节点的“out link”属性中删除;
将该节点添加到其父节点的“hidden link”属性中并将该节点从待分离节点列表中删除。
6.如权利要求5所述的方法,其特征在于,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
对所有节点进行属性赋值,包括:link_num:节点的连接数量,m:节点的虚拟质量,计算公式为:m=link_num+1,q:节点的虚拟电量,计算公式为:
q=km,k为系数,m为节点的虚拟质量,x,y,z:节点在三维空间中的x,y,z坐标;
遍历获取的环网结构节点,环网结构节点中“hidden link”属性为空的节点为I类节点,环网结构节点中“hidden link”属性不为空的节点为O类节点;
将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局;
环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局。
7.如权利要求6所述的方法,其特征在于,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体为:
计算外球面半径R;
根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;
在球面内部随机生成I类节点的直角坐标;
应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
8.如权利要求6所述的方法,其特征在于,所述将O类节点限制在半径为R的外球面上,将I类节点限制在球面内部,对环网结构节点应用力引导算法进行布局,具体还可为:
对所有I类节点进行分层处置,查找所有与O类节点有连接关系的I类节点,作为第一层;继续查找所有与第一层有连接关系的其他I类节点,作为第二层,依次类推,直至确定所有I类节点的层级;
从最内层开始,逐层计算每层I类节点分布的球面半径Rn;
计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,应用力引导算法对环网结构节点中I类节点、O类节点进行拓扑布局。
9.如权利要求7所述的方法,其特征在于,所述环网结构节点布局完成后,对树形结构节点应用力引导算法进行布局,包括:
遍历查找全部O类节点中隐藏的叶子节点并展开;
新建一个空的树形结构展开节点列表,在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到所述树形结构展开节点列表,得到第一层被隐藏的叶子节点;
继续遍历所述树形结构展开节点列表中第一层被隐藏的叶子节点,通过“hiddenlink”属性继续查找第二层被隐藏的叶子节点,并将其添加到所述树形结构展开节点列表;
重复上述展开操作,直至将全部隐藏的叶子节点添加到所述树形结构展开节点列表;
初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局。
10.如权利要求7所述的方法,其特征在于,所述计算外球面半径R;根据计算出的外球面半径R在球面上随机生成O类节点球坐标,并将球坐标转换成直角坐标;在球面内部随机生成I类节点的直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
在球面内部随机生成I类节点的直角坐标的计算公式为:I类节点的直角坐标x,y,z在(-R,R)范围内随机生成。
11.如权利要求8所述的方法,其特征在于,所述从最内层开始,逐层计算每层I类节点分布的球面半径Rn;计算外球面半径R,随机在各球面上生成节点球坐标并转换成直角坐标,具体为:
外球面半径R的计算公式为:R=max(Ri,Ro,r0),其中, r0=dis,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,ni为I类节点的个数,no为O类节点的个数,Ri为I类节点分布在球体内需要的半径,Ro为O类节点分布在球面上需要的半径,r0为最小的限制半径;
12.如权利要求10所述的方法,其特征在于,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:首先遍历环网结构节点列表中的全部节点的“out link”属性中的节点,计算节点连接关系之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;,其次,I类节点被限制在球内部还会受到球心对节点的引力,计算公式为:其中ki为系数,r0为节点到球心的距离,R为外球面半径;
13.如权利要求11所述的方法,其特征在于,所述对环网结构节点和树形结构节点进行拓扑分步布局,具体为:
引力计算:计算各连接节点之间的引力,计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
斥力计算:计算各层节点之间的斥力:O类节点和I类节点均只受到其同类节点的斥力,计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力;
14.如权利要求9所述的方法,其特征在于,所述初始化所述树形结构展开节点列表中全部节点的位置坐标,应用力引导算法进行布局,包括:
在每个O类节点的“hidden link”属性中查找隐藏的叶子节点,并添加到树形结构展开节点列表,得到第一层被隐藏的叶子节点;
遍历树形结构展开节点列表中第一层被隐藏的叶子节点,通过节点“hidden link”属性继续查找第二层被隐藏的叶子节点,并将其添加到树形结构展开节点列表;
重复以上步骤直至查找到全部隐藏的叶子节点;
初始化所述树形结构展开节点列表中全部节点的位置坐标计算公式为:θ=θ0+α,其中,r0,θ0,为该被隐藏节点的父节点球坐标,dis为根据前端展示需要预设的两个节点之间的最佳距离,link_num为该被隐藏节点的连接数,α,β在(-kπ,kπ)范围内随机,k的取值范围为(0~0.5);
被隐藏叶子节点受到引力计算:计算公式为:Fl=kl·(dis-r),其中,kl为系数,dis为根据界面前端展示需要预设的两个节点之间的最佳距离,r为两节点间的实际距离;
被隐藏叶子节点受到斥力计算:计算公式为:其中,kr为系数,qa、qb分别为节点a,b所带的电量,rab为两节点之间的距离,Fba为节点a对节点b的斥力,并且被隐藏叶子节点还受到球心对其的斥力,计算公式为:其中,ko为系数,Q为环网结构中所有节点的总电量,q为该被隐藏叶子节点的电量,r为该叶子节点到球心的距离;
15.一种复杂网络拓扑分步布局系统,其特征在于,包括:
结构信息获取模块:用于获取网络拓扑结构信息;
初始节点列表创建模块:用于根据所述网络拓扑结构信息创建初始节点列表;
节点分离模块:用于复制所述初始节点列表创建待分离节点列表,从所述待分离节点列表中分离环网结构和树形结构节点;
拓扑布局模块:用于对环网结构节点和树形结构节点进行拓扑分步布局。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179985.4A CN111464338B (zh) | 2020-03-16 | 2020-03-16 | 一种复杂网络拓扑分步布局方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179985.4A CN111464338B (zh) | 2020-03-16 | 2020-03-16 | 一种复杂网络拓扑分步布局方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464338A true CN111464338A (zh) | 2020-07-28 |
CN111464338B CN111464338B (zh) | 2022-10-18 |
Family
ID=71680794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010179985.4A Active CN111464338B (zh) | 2020-03-16 | 2020-03-16 | 一种复杂网络拓扑分步布局方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464338B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452557A (zh) * | 2021-06-24 | 2021-09-28 | 新华三大数据技术有限公司 | 子网络拓扑的呈现方法、装置及设备 |
CN113992522A (zh) * | 2021-09-02 | 2022-01-28 | 深信服科技股份有限公司 | 一种网络拓扑图生成方法、装置、电子设备及存储介质 |
CN114036700A (zh) * | 2021-10-27 | 2022-02-11 | 中南大学 | 一种网络资产图的布局方法 |
CN117376171A (zh) * | 2023-12-07 | 2024-01-09 | 中国人民解放军国防科技大学 | 一种大规模网络的网络态势数据显示方法和系统 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764239A (en) * | 1994-07-13 | 1998-06-09 | Fujitsu Limited | Automatic graph layout apparatus and methods determining and using a stable state of a physical model |
US5961597A (en) * | 1996-08-13 | 1999-10-05 | Madge Networks (Israel) Ltd. | Apparatus and method for detecting a layout of a switched local network |
US20020048263A1 (en) * | 2000-09-19 | 2002-04-25 | Geert Fieremans | Method for ascertaining and visualizing network topologies |
US7363583B1 (en) * | 2004-02-24 | 2008-04-22 | Microsoft Corporation | Method and system for providing a compact layout of connected nodes |
US20080319719A1 (en) * | 2007-06-25 | 2008-12-25 | Grose David L | Methods and systems for displaying network information |
CN102137405A (zh) * | 2010-06-01 | 2011-07-27 | 华为技术有限公司 | 一种构造网络拓扑结构的方法及装置 |
CN102833112A (zh) * | 2012-08-31 | 2012-12-19 | 深圳市中电电力技术股份有限公司 | 一种具有环网功能的通信管理机 |
US8355348B1 (en) * | 2009-08-17 | 2013-01-15 | Calix, Inc. | Joining multiple spanning tree networks across ring network |
US20130044588A1 (en) * | 2011-08-15 | 2013-02-21 | Emu Solutions, Inc. | Interconnect topology with reduced implementation requirements |
CN105490830A (zh) * | 2015-05-12 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种网络拓扑图中查找环状结构的方法及系统 |
CN105654387A (zh) * | 2015-03-17 | 2016-06-08 | 重庆邮电大学 | 一种引入量化指标的时变网络社区演化可视化方法 |
CN106656546A (zh) * | 2016-08-23 | 2017-05-10 | 成都科来软件有限公司 | 一种网络拓扑的生成方法及装置 |
US20170185910A1 (en) * | 2015-12-28 | 2017-06-29 | International Business Machines Corporation | Steering graph mining algorithms applied to complex networks |
CN106973000A (zh) * | 2017-03-22 | 2017-07-21 | 云南电网有限责任公司 | 一种通信网络中单链成环的构造算法 |
CN107733680A (zh) * | 2017-05-19 | 2018-02-23 | 小草数语(北京)科技有限公司 | 网络图谱布局方法、装置及可视化设备 |
CN108632940A (zh) * | 2017-03-23 | 2018-10-09 | 中国科学院沈阳自动化研究所 | 适用于光电传感器无线mesh网络的可靠多径路由算法 |
CN109167686A (zh) * | 2018-08-28 | 2019-01-08 | 中国科学院电子学研究所苏州研究院 | 一种基于多层复杂网络拓扑的布局与展现方法 |
CN110011890A (zh) * | 2019-03-18 | 2019-07-12 | 彥辰科技有限公司 | 一种分布式环树散射网络的构造方法 |
CN110516004A (zh) * | 2019-08-28 | 2019-11-29 | 中国人民解放军国防科技大学 | 兼顾信息全局特征和局部层次结构的可视化方法和系统 |
CN110838943A (zh) * | 2019-11-08 | 2020-02-25 | 迈普通信技术股份有限公司 | 一种环形网络配置方法、装置、网络设备及存储介质 |
-
2020
- 2020-03-16 CN CN202010179985.4A patent/CN111464338B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764239A (en) * | 1994-07-13 | 1998-06-09 | Fujitsu Limited | Automatic graph layout apparatus and methods determining and using a stable state of a physical model |
US5961597A (en) * | 1996-08-13 | 1999-10-05 | Madge Networks (Israel) Ltd. | Apparatus and method for detecting a layout of a switched local network |
US20020048263A1 (en) * | 2000-09-19 | 2002-04-25 | Geert Fieremans | Method for ascertaining and visualizing network topologies |
US7363583B1 (en) * | 2004-02-24 | 2008-04-22 | Microsoft Corporation | Method and system for providing a compact layout of connected nodes |
US20080319719A1 (en) * | 2007-06-25 | 2008-12-25 | Grose David L | Methods and systems for displaying network information |
US8355348B1 (en) * | 2009-08-17 | 2013-01-15 | Calix, Inc. | Joining multiple spanning tree networks across ring network |
CN102137405A (zh) * | 2010-06-01 | 2011-07-27 | 华为技术有限公司 | 一种构造网络拓扑结构的方法及装置 |
US20130044588A1 (en) * | 2011-08-15 | 2013-02-21 | Emu Solutions, Inc. | Interconnect topology with reduced implementation requirements |
CN102833112A (zh) * | 2012-08-31 | 2012-12-19 | 深圳市中电电力技术股份有限公司 | 一种具有环网功能的通信管理机 |
CN105654387A (zh) * | 2015-03-17 | 2016-06-08 | 重庆邮电大学 | 一种引入量化指标的时变网络社区演化可视化方法 |
CN105490830A (zh) * | 2015-05-12 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种网络拓扑图中查找环状结构的方法及系统 |
US20170185910A1 (en) * | 2015-12-28 | 2017-06-29 | International Business Machines Corporation | Steering graph mining algorithms applied to complex networks |
CN106656546A (zh) * | 2016-08-23 | 2017-05-10 | 成都科来软件有限公司 | 一种网络拓扑的生成方法及装置 |
CN106973000A (zh) * | 2017-03-22 | 2017-07-21 | 云南电网有限责任公司 | 一种通信网络中单链成环的构造算法 |
CN108632940A (zh) * | 2017-03-23 | 2018-10-09 | 中国科学院沈阳自动化研究所 | 适用于光电传感器无线mesh网络的可靠多径路由算法 |
CN107733680A (zh) * | 2017-05-19 | 2018-02-23 | 小草数语(北京)科技有限公司 | 网络图谱布局方法、装置及可视化设备 |
CN109167686A (zh) * | 2018-08-28 | 2019-01-08 | 中国科学院电子学研究所苏州研究院 | 一种基于多层复杂网络拓扑的布局与展现方法 |
CN110011890A (zh) * | 2019-03-18 | 2019-07-12 | 彥辰科技有限公司 | 一种分布式环树散射网络的构造方法 |
CN110516004A (zh) * | 2019-08-28 | 2019-11-29 | 中国人民解放军国防科技大学 | 兼顾信息全局特征和局部层次结构的可视化方法和系统 |
CN110838943A (zh) * | 2019-11-08 | 2020-02-25 | 迈普通信技术股份有限公司 | 一种环形网络配置方法、装置、网络设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
GEOFFREY M. DRAPER等: ""A Survey of Radial Methods for Information Visualization"", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》 * |
程远等: ""基于斥力-张力模型的网络拓扑图布局算法"", 《计算机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452557A (zh) * | 2021-06-24 | 2021-09-28 | 新华三大数据技术有限公司 | 子网络拓扑的呈现方法、装置及设备 |
CN113992522A (zh) * | 2021-09-02 | 2022-01-28 | 深信服科技股份有限公司 | 一种网络拓扑图生成方法、装置、电子设备及存储介质 |
CN113992522B (zh) * | 2021-09-02 | 2024-04-09 | 深信服科技股份有限公司 | 一种网络拓扑图生成方法、装置、电子设备及存储介质 |
CN114036700A (zh) * | 2021-10-27 | 2022-02-11 | 中南大学 | 一种网络资产图的布局方法 |
CN117376171A (zh) * | 2023-12-07 | 2024-01-09 | 中国人民解放军国防科技大学 | 一种大规模网络的网络态势数据显示方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111464338B (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464338B (zh) | 一种复杂网络拓扑分步布局方法及系统 | |
Xiang et al. | Learning rgb-d feature embeddings for unseen object instance segmentation | |
Tran et al. | Shape grammar approach to 3D modeling of indoor environments using point clouds | |
CN102508991B (zh) | 一种基于图像素材的虚拟实验教学场景的构建方法 | |
WO2023273260A1 (zh) | 车道级导航地图的构建方法、装置、设备以及存储介质 | |
CN111462137A (zh) | 一种基于知识蒸馏和语义融合的点云场景分割方法 | |
Ren et al. | A new pipe routing method for aero-engines based on genetic algorithm | |
CN104504082B (zh) | 多个知识网络的目标知识节点集合的路径展现方法和系统 | |
WO2022166681A1 (zh) | 一种虚拟场景生成方法、装置、设备和存储介质 | |
JP2022502762A (ja) | ニューラルネットワーク捜索方法、装置、プロセッサ、電子機器、記憶媒体及びコンピュータプログラム | |
He et al. | Heterotic model building: 16 special manifolds | |
Tran et al. | Extracting topological relations between indoor spaces from point clouds | |
JP2019168976A (ja) | 3次元モデル生成装置 | |
Brughmans et al. | Spatial networks | |
Bosanac | Data-mining approach to Poincaré maps in multi-body trajectory design | |
Khine et al. | Predictive geospatial analytics using principal component regression | |
CN112428271B (zh) | 基于多模态信息特征树的机器人实时运动规划方法 | |
Yang et al. | Geometry and uncertainty-aware 3d point cloud class-incremental semantic segmentation | |
Isomura et al. | Axispot: a distributed spatiotemporal data management system for digital twins of moving objects | |
CN111046516B (zh) | 一种复杂网络拓扑三维布局方法、装置及存储设备 | |
CN105426384A (zh) | 一种生成建议目标地点的方法和装置 | |
CN105427272A (zh) | 图像处理设备、图像处理方法以及电子装置 | |
CN112215417B (zh) | 柔性连接多节点小天体探测器着陆点最优分配方法 | |
Hsu et al. | Path planning for robot navigation based on Cooperative Genetic Optimization | |
CN114186306A (zh) | 结构设计中的柱放置的可定制强化学习 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road) Applicant after: Antan Technology Group Co.,Ltd. Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road) Applicant before: Harbin Antian Science and Technology Group Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |