CN109167686B - 一种基于多层复杂网络拓扑的布局与展现方法 - Google Patents
一种基于多层复杂网络拓扑的布局与展现方法 Download PDFInfo
- Publication number
- CN109167686B CN109167686B CN201810986117.XA CN201810986117A CN109167686B CN 109167686 B CN109167686 B CN 109167686B CN 201810986117 A CN201810986117 A CN 201810986117A CN 109167686 B CN109167686 B CN 109167686B
- Authority
- CN
- China
- Prior art keywords
- layout
- nodes
- node
- dimensional
- layer
- 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.)
- Active
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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明是一种基于多层复杂网络拓扑的布局与展现方法,该方法包括多层复杂网络拓扑数据解析;节点分层过滤;多层复杂网络拓扑混合布局;三维分层展示;用户交互动态响应。本发明采用混合布局算法,并结合碰撞检测技术调整后进行三维布局展示,从而使布局效果充分体现多层复杂网络的层次性和网络节点内涵,一方面有效地解决多层复杂网络拓扑布局上点重叠、线交叉等质量问题,另一方面可以在较短时间内完成多层复杂网络的构建和布局,提升布局效率。
Description
技术领域
本发明属于网络拓扑结构分析与可视化领域,涉及一种基于多层复杂网络拓扑的布局与展现方法。
背景技术
近年来,伴随着网络、电子通信的飞速发展,复杂网络研究已经成为科学和工程的前沿领域,取得许多重要的成果。但是直至目前,复杂网络领域大多数的研究仍集中在单层网络(或者说单个网络)而忽略了实际复杂系统中多种网络相互作用的存在,譬如包括不同的网络设备和逻辑关系的各类业务网络,不同的运输工具的交通网络等等。网络中个体的关系也越来越复杂,而研究者如果仅考虑单层关系,或者孤立地考虑每一层关系,则不能满足实际复杂系统研究的要求。为此,最近几年国际上提出建立基于多关系的网络,即多层复杂网络,成为当今复杂网络领域最前沿的重要研究方向之一。
在多层复杂网络提出后,如何从多层复杂网络中提取出有用的信息,并将多层复杂网络拓扑结构清晰地、直观地展示已经成为当前亟需解决的问题。作为解决这些问题的手段,网络拓扑图的出现显得尤为重要。
网络拓扑图的生成主要分为两步:一、拓扑结构的自动发现,二、根据网络节点连接关系完成拓扑图的自动布局。目前对于网络拓扑结构的自动发现技术研究较为成熟,拓扑自动布局技术则缺乏系统研究。通过对以往的布局进行研究,发现Bell实验室的Internet可视化项目采用了最小生成树布局方法来处理大规模网络拓扑,树型布局算法效率高、布局速度快,但是布局展示效果欠佳;FR(Fruchterman-Reingold)、KK(KamadaKawai)等算法虽然在传统的力导引算法上针对加载速率以及布局展示效果进行了稍许改进,但是布局规模还是具有局限性。虽然之后的算法基于分层或分级来计算加载大规模网络数据,但是仍然存在着一些缺陷,主要包括以下方面:
1.目前研究重点还集中于对单层网络拓扑的自动布局,而现实中网络结构大多数是多层的,例如互联网与电力网、通信网、金融网耦合的复杂网络,互联网以电力网为基础支撑,电力网通过通信网得到指令,电力网、通信网、金融网又全部登陆互联网,并在网络中互通信息。因此,仅限于单层网络的研究已经远不能满足现实的需要,需要使用多层复杂网络对其进行展示和表达;
2.随着网络数据规模剧增、拓扑结构复杂性增强,在具有明确节点拓扑层级的网络中加载数据时,会导致网络拓扑不够规整,拓扑中节点关联不明晰,甚至出现交叉、点线重叠及布局混乱等问题;
3.当节点规模较多时,在性能等方面有待提高,主要是复杂网络拓扑图布局速度不理想且效率较低。虽然FR算法引入温度变量,使系统迅速冷却,但是FR算法的执行时间仍比较长,尤其当节点数目超过500个时,效率明显下降。
鉴于以上缺陷,通过分析多层复杂网络拓扑结构的特点,剖析各类布局算法和数据可视化之间的联系,发现多层复杂网络在单独布局时都存在一定的问题,因此采用混合布局算法的方式来改进对多层复杂网络的布局效果。针对不同层次使用不同的布局算法完成各层网络布局,结合碰撞检测技术进行多层间布局调整,旨在努力改善多层复杂网络拓扑自动布局中出现的节点重合问题,提高多层复杂网络拓扑布局的效率,从而展现一个结构清晰的网络拓扑系统。
发明内容
本发明的目的在于提供一种基于多层复杂网络拓扑的布局与展现方法,解决现有技术中存在的多层复杂网络拓扑布局展现形式单一、节点重合、布局混乱以及大规模数据下的网络拓扑布局效率低等问题。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于多层复杂网络拓扑的布局与展现方法,该方法包括以下步骤:
步骤1)多层复杂网络拓扑数据解析,将xml数据进行分析,得到处理后的节点及相应连接关系;
步骤2)节点分层过滤,利用核数分层分离出各层网络中包含的节点及相应的连接关系,找出核度最大的节点,同时根据节点的连接对象属性,将这些节点集合作为核心层节点;
步骤3)多层复杂网络拓扑混合布局,调用改进的FR算法和树形结构算法进行单层网络拓扑结构布局计算,调用基于分离轴定理的碰撞检测算法,进行多层网络碰撞检测调整;
步骤4)三维分层展示,创建三维场景,设置场景参数,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局;
步骤5)用户交互动态响应,捕获用户在页面中出发的所有事件,生成相应的三维漫游事件,根据三维漫游事件,对三维拓扑进行操作。
进一步的,所述步骤2)中,核数分层通过以下方式实现:
设图G = (V,E) 是由|V|=n个节点和|E|=e条边所组成的一个无向图,其中V是节点集合,E是边的集合,一个节点集合C是整个网络节点集合V的子集,即由集合C⊆V推导出的子图H=(C,E|C),当且仅当对集合C中的任意节点v,其度值均大于或等于k,即∀v∈C:degreeH(v)≥k,符合这一性质的最大子图作为k-核,核中包含的节点数目则为核的大小,图G的k-核通过反复地移去度值小于k的节点以及与其连接的边,直到余下图中所有节点的度值都大于或等于k来得到。
进一步的,所述步骤3)中,对核心层节点采用改进的FR算法进行最优化布局,对核心层节点以外的每层网络以上一层节点为根,采用宽度遍历的方式对节点进行树形结构算法布局。
进一步的,所述步骤3)中,改进的FR算法布局包括以下步骤:
步骤3.11)受力分析,节点的引力只计算与其相连节点之间的影响,节点的斥力计算所有节点产生的影响,初始时节点坐标随机分配,每个节点都具有一个三维布局坐标P和一个二维显示坐标D,在每一步中,根据节点的布局坐标P来计算每个节点的受力情况F(u),确定节点的移动方向和距离;
步骤3.12)坐标转换,确定节点的移动方向和距离后,根据显示范围的大小和布局的节点数确定节点间的标准距离,将改变后的布局坐标P转换到二维显示坐标D上进行显示;
步骤3.13)迭代次数的设置,引入温度参数,温度参数同时代表一次迭代过程中节点所能移动的最大距离,当节点受力相同时,温度越高,移动的距离越远,温度越低,移动的距离越近,初始设置一个大的温度参数以避免陷入局部最小条件中,然后逐渐降低温度值来稳定布局节点,最终使整个网络布局收敛于受力平衡状态。
进一步的,所述步骤3)中,树型结构算法布局包括以下步骤:
步骤3.21)选取根节点,将相邻节点个数最多的节点设置为根节点,并将该根节点的坐标值设置为Q,设置它们的层次属性值为1,屏幕中点的坐标是Q’;
步骤3.22)初始化根节点的首个后继分支左边界,对所确定的根节点进行布局,计算各节点的坐标,确定当前节点的层次值,设根节点的层次值为1,其子节点值为2,逐级增加,计算节点的基本偏移角度,获取当前节点的邻节点数目和所有邻节点链表,计算出节点的坐标;
步骤3.23)遍历后继集合,通过调用递归方法对树型拓扑结构进行层式布局,在递归布局算法中,对非根节点的子树布局时,使用当前节点纵坐标加上父节点位移值对当前纵坐标进行更新,进入下一层布局,层次值累加,直至布局完成。
进一步的,所述步骤3)中,在多层网络碰撞检测调整时,调用基于分离轴定理的碰撞检测算法,判断投影是否有间隙,只要间隙一旦被检测出来,随即重新布局,多次迭代后,若无投影重叠,则碰撞检测结束。
进一步的,在调用基于分离轴定理的碰撞检测算法时:
首先确定投影轴,投影轴的数量取值与物体的边数相同,并定义从p1指向p2的一条向量来代表物体的某一条边,作为边缘向量,另外一条垂直于边缘向量的法向量,为边缘法向量;
然后确定物体在某个投影轴上面的投影大小,将物体上的每个顶点分别与原点(0,0)组成向量,将该向量投影在某一投影轴上,只留下该物体的全部边中的投影的极大和极小的值;
判断投影重叠的规则如下:p1.max>p2.min&&p2.max>p1.min,若无投影重叠,则碰撞检测结束,布局完成。
进一步的,所述步骤4)中,三维分层展示包括以下步骤:
步骤4.1)创建三维场景,在程序的初始化中定义绘制三维场景的容器,然后在此容器中加载三维场景,把需要绘制的元素放置到设置的场景里面,包括网络拓扑中的节点和节点间连线;
步骤4.2)设置场景参数,设置相机—透视投影方式,设置光源为平行光源,使用Web GL渲染方式以及设置材质与纹理;
步骤4.3)三维绘制,设置好所有的场景参数以后,根据数据源文件,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局。
进一步的,所述步骤5)中,用户交互动态响应包括以下步骤:
步骤5.1)捕获用户事件,生成三维场景控制机制,为三维拓扑布局场景与鼠标事件绑定;
步骤5.2)生成三维漫游事件,将捕获的用户事件生成三维漫游事件;
步骤5.3)用户操作,用户根据三维漫游事件进行操作。
进一步的,所述三维漫游事件包括拓扑图的缩放、移动、单层显示与恢复,其中:
缩放,首先获取网络拓扑图像,监听鼠标滑轮事件和放大缩小两个按钮点击事件,当有相应的事件被激发时,执行对应的放大缩小操作;
移动,在网络拓扑图中,用户通过拖曳节点,调整位置达到理想的布局,最后对网络拓扑可进行单层显示与恢复的操作,方便用户在查看相应网络结构时对于全局和局部的综合把握;
单层显示与恢复,当用户对节点进行了单层查看操作,页面脚本取得该节点触发,并判断当前处在哪一层,隐藏掉节点属性不在同一层的节点以及各层连线,当监听到有恢复操作时,遍历节点集合,恢复显示各层所有节点以及各层连线。
本发明的有益效果是:
(1)本发明针对多层复杂网络,提出分层的展示方法,从而使布局效果能充分体现网络的层次性和网络节点内涵;
(2)本发明采用混合布局算法并结合碰撞检测技术,解决点重合、线交叉等问题,有效地解决多层复杂网络拓扑布局上的质量问题;
(3)本发明可以在较短时间内完成多层复杂网络的构建和布局,提升布局效率。
附图说明
图1是本发明的方法流程图;
图2是本发明的改进的FR算法布局流程图;
图3是本发明的树形结构算法布局流程图;
图4是本发明的三维分层展示流程图。
图5是本发明的用户交互动态响应流程图。
图6是采用本发明方法的布局展示图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
第一部分
下面首先结合附图1至图6对本发明作进一步说明:
图1是本发明的方法流程图,其包括5个阶段:阶段1是多层复杂网络拓扑数据解析;阶段2是节点分层过滤;阶段3是多层复杂网络拓扑混合布局,首先对不同层使用不同的算法进行布局,包括改进的FR算法布局和树型布局,再进行多层网络碰撞检测调整;阶段4是三维分层展示;阶段5是用户交互动态响应。
图2是本发明的改进的FR算法布局流程图,首先是计算节点与节点之间的排斥力,然后是计算图结构中有边连接的节点与节点之间的吸引力,最后综合处理吸引力与排斥力,并通过迭代降低温度,限制最大位移来控制节点的偏移距离。
图3是本发明的树形结构算法布局流程图,首先选取根节点,依据根节点的坐标值,依次设置它的内部节点相关坐标轴的具体位置,按照以上步骤递归遍历所有节点。
图4是本发明的三维分层展示流程图,首先创建三维场景;设置相机、光源和渲染器等各类参数;最后根据上述不同算法,绘制三维场景下的多层复杂网络拓扑。
图5是本发明的用户交互动态响应流程图,首先,捕获用户在页面中出发的所有事件;然后根据用户操作,生成相应的三维漫游事件;最后根据三维漫游事件,对三维拓扑进行缩放、移动、单层显示与恢复等操作。
图6是采用本发明方法的布局展示图,根据上述步骤实现了一个四层复杂网络拓扑的布局,支持用户进行缩放、移动、单层显示与恢复等动态交互操作。
第二部分
如图1所示,一种基于多层复杂网络拓扑的布局与展现方法,该方法包括以下步骤:
步骤1)多层复杂网络拓扑数据解析,将xml数据进行分析,算法执行流程首先就是入口解析,要支持以xml文件保存拓扑图信息,对输入数据的解析就是对xml文件的解析,通过对这些数据信息进行分析和处理,得到处理后的节点及相应连接关系,从而为节点分层过滤做好数据准备;
步骤2)节点分层过滤,利用核数分层分离出各层网络中包含的节点及相应的连接关系,找出核度最大的节点,同时根据节点的连接对象属性,将这些节点集合作为核心层节点;
步骤3)多层复杂网络拓扑混合布局,调用改进的FR算法和树形结构算法进行单层网络拓扑结构布局计算,调用基于分离轴定理的碰撞检测算法,进行多层网络碰撞检测调整;
步骤4)三维分层展示,创建三维场景,设置场景参数,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局;
步骤5)用户交互动态响应,捕获用户在页面中出发的所有事件,生成相应的三维漫游事件,根据三维漫游事件,对三维拓扑进行操作。
所述步骤2)中,核数分层通过以下方式实现:
设图G = (V,E) 是由|V|=n个节点和|E|=e条边所组成的一个无向图,其中V是节点集合,E是边的集合,一个节点集合C是整个网络节点集合V的子集,即由集合C⊆V推导出的子图H=(C,E|C),当且仅当对集合C中的任意节点v,其度值均大于或等于k,即∀v∈C:degreeH(v)≥k,符合这一性质的最大子图作为k-核,核中包含的节点数目则为核的大小,图G的k-核通过反复地移去度值小于k的节点以及与其连接的边,直到余下图中所有节点的度值都大于或等于k来得到,因此节点的核度可以说明节点在核中的深度,核度的最大值自然就对应着网络结构中最中心的位置,从而揭示网络的层次结构性质。
所述步骤3)中,对核心层节点采用改进的FR算法进行最优化布局,对核心层节点以外的每层网络以上一层节点为根,采用宽度遍历的方式对节点进行树形结构算法布局。
在节点分层过滤时,找出核度最大的节点,同时考虑节点的连接对象属性,将这些节点集合作为核心层节点,核心层节点连接丰富,采用改进的FR布局算法,进行最优化布局;对核心层以外的每层网络,虽然这些网络中包含大量的对等连接,但当前的拓扑发现技术无法有效地发现这些连接,而通常发现的连接更容易形成一种树型结构;因此对核心层以外的网络以上一层节点为根,采用宽度遍历的方式对节点进行树型布局。
如图2所示,所述步骤3)中,改进的FR算法布局包括以下步骤:
步骤3.11)受力分析,节点和边并不是相互独立的集合,如果布局过程中节点和边的位置均可调,会使问题复杂化,为简化计算,一个节点的引力只计算与其相连节点之间的影响,节点的斥力计算所有节点产生的影响,初始时节点坐标随机分配,每个节点都具有一个三维布局坐标P和一个二维显示坐标D,在每一步中,根据节点的布局坐标P来计算每个节点的受力情况F(u),确定节点的移动方向和距离;
步骤3.12)坐标转换,确定节点的移动方向和距离后,根据显示范围的大小和布局的节点数确定节点间的标准距离,将改变后的布局坐标P转换到二维显示坐标D上进行显示,由于布局的范围限制,在实际运用中,坐标转换时还需要考虑到是否超出边界的问题,以保证布局生成在合理的范围内;
步骤3.13)迭代次数的设置,由于FR算法借鉴模拟退火算法的思想,引入温度参数,温度参数同时代表一次迭代过程中节点所能移动的最大距离,当节点受力相同时,温度越高,移动的距离越远,温度越低,移动的距离越近,核心层节点数量相对其它层较少,但作为网络的核心部分,这些高度连接的节点决定了图的最终结构,其他层都是以该层为基础演化而成,因此,该层节点彼此之间的间距应该足够大,初始设置一个大的温度参数以避免陷入局部最小条件中,然后逐渐降低温度值来稳定布局节点,同时尽量降低迭代次数,最终使整个网络布局收敛于受力平衡状态,能够有效防止震荡,形成稳定的布局。
如图3所示,所述步骤3)中,树型结构算法布局包括以下步骤:
步骤3.21)选取根节点,将相邻节点个数最多的节点设置为根节点,并将该根节点的坐标值设置为Q,设置它们的层次属性值为1,屏幕中点的坐标是Q’;
步骤3.22)初始化根节点的首个后继分支左边界,对所确定的根节点进行布局,计算各节点的坐标,确定当前节点的层次值,设根节点的层次值为1,其子节点值为2,逐级增加,计算节点的基本偏移角度,获取当前节点的邻节点数目和所有邻节点链表,并根据这些参数计算出节点的坐标;
步骤3.23)遍历后继集合,通过调用递归方法对树型拓扑结构进行层式布局,在递归布局算法中,对非根节点的子树布局时,使用当前节点纵坐标加上父节点位移值对当前纵坐标进行更新,进入下一层布局,层次值累加,直至布局完成。
所述步骤3)中,在多层网络碰撞检测调整时,调用基于分离轴定理的碰撞检测算法,判断投影是否有间隙,只要间隙一旦被检测出来,随即重新布局,避免出现点的重合、线的交叉问题,该算法主要判断在任意角度下,任意两个凸多边形之间是否有重合,只需有一个角度下,两个物体的投影有间隙,则判别为没有发生碰撞,否则为发生碰撞,多次迭代后,若无投影重叠,则碰撞检测结束。
在调用基于分离轴定理的碰撞检测算法时:
首先确定投影轴,在算法中是不可能遍历完所有角度的,因此投影轴的数量取值与物体的边数相同即可,并定义从p1指向p2的一条向量来代表物体的某一条边,作为边缘向量,另外一条垂直于边缘向量的法向量,为边缘法向量;
然后确定物体在某个投影轴上面的投影大小,将物体上的每个顶点分别与原点(0,0)组成向量,将该向量投影在某一投影轴上,只留下该物体的全部边中的投影的极大和极小的值;
判断投影重叠的规则如下:p1.max>p2.min&&p2.max>p1.min,若无投影重叠,则碰撞检测结束,布局完成。
如图4所示,所述步骤4)中,三维分层展示包括以下步骤:
步骤4.1)创建三维场景,在程序的初始化中定义绘制三维场景的容器,然后在此容器中加载三维场景,把需要绘制的元素放置到设置的场景里面,包括网络拓扑中的节点和节点间连线;
步骤4.2)设置场景参数,设置相机—透视投影方式,由于它的投影效果与人眼看见的效果较为相似,因此视觉距离越近的节点显示的越大,越远的节点显示的越小,设置光源为平行光源,使用Web GL渲染方式以及设置材质与纹理;
步骤4.3)三维绘制,设置好所有的场景参数以后,根据数据源文件,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局,如图6所示。
如图5所示,所述步骤5)中,用户交互动态响应包括以下步骤:
步骤5.1)捕获用户事件,生成三维场景控制机制,为三维拓扑布局场景与鼠标事件绑定;
步骤5.2)生成三维漫游事件,将捕获的用户事件生成三维漫游事件;
步骤5.3)用户操作,用户根据三维漫游事件进行操作。
所述三维漫游事件包括拓扑图的缩放、移动、单层显示与恢复,其中:
缩放,网络拓扑图的缩放是指用户可以通过鼠标中间的滑轮,对拓扑图进行缩小或者放大的操作,首先获取网络拓扑图像,监听鼠标滑轮事件和放大缩小两个按钮点击事件,当有相应的事件被激发时,执行对应的放大缩小操作;
移动,在网络拓扑图中,用户通过拖曳节点,调整位置达到理想的布局,最后对网络拓扑可进行单层显示与恢复的操作,方便用户在查看相应网络结构时对于全局和局部的综合把握;
单层显示与恢复,当用户对节点进行了单层查看操作,页面脚本取得该节点触发,并判断当前处在哪一层,隐藏掉节点属性不在同一层的节点以及各层连线,当监听到有恢复操作时,遍历节点集合,恢复显示各层所有节点以及各层连线。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于多层复杂网络拓扑的布局与展现方法,其特征在于,该方法包括以下步骤:
步骤1)多层复杂网络拓扑数据解析,将xml数据进行分析,得到处理后的节点及相应连接关系;
步骤2)节点分层过滤,利用核数分层分离出各层网络中包含的节点及相应的连接关系,找出核度最大的节点,同时根据节点的连接对象属性,将这些节点集合作为核心层节点;
步骤3)多层复杂网络拓扑混合布局,对核心层节点采用改进的Fruchterman-ReingoldFR算法进行最优化布局,对核心层节点以外的每层网络以上一层节点为根,采用宽度遍历的方式对节点进行树形结构算法布局,调用基于分离轴定理的碰撞检测算法,进行多层网络碰撞检测调整;
步骤4)三维分层展示,创建三维场景,设置场景参数,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局;
步骤5)用户交互动态响应,捕获用户在页面中发出的所有事件,生成相应的三维漫游事件,根据三维漫游事件,对三维拓扑进行操作。
2.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤2)中,核数分层通过以下方式实现:
设图G = (V,E) 是由|V|=n个节点和|E|=e条边所组成的一个无向图,其中V是节点集合,E是边的集合,一个节点集合C是整个网络节点集合V的子集,即由集合C⊆V推导出的子图H=(C,E|C),当且仅当对集合C中的任意节点v,其度值均大于或等于k,即∀v∈C:degreeH(v)≥k,符合这一性质的最大子图作为k-核,核中包含的节点数目则为核的大小,图G的k-核通过反复地移去度值小于k的节点以及与其连接的边,直到余下图中所有节点的度值都大于或等于k来得到。
3.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤3)中,改进的FR算法布局包括以下步骤:
步骤3.11)受力分析,节点的引力只计算与其相连节点之间的影响,节点的斥力计算所有节点产生的影响,初始时节点坐标随机分配,每个节点都具有一个三维布局坐标P和一个二维显示坐标D,在每一步中,根据节点的布局坐标P来计算每个节点的受力情况F(u),确定节点的移动方向和距离;
步骤3.12)坐标转换,确定节点的移动方向和距离后,根据显示范围的大小和布局的节点数确定节点间的标准距离,将改变后的布局坐标P转换到二维显示坐标D上进行显示;
步骤3.13)迭代次数的设置,引入温度参数,温度参数同时代表一次迭代过程中节点所能移动的最大距离,当节点受力相同时,温度越高,移动的距离越远,温度越低,移动的距离越近,初始设置一个大的温度参数以避免陷入局部最小条件中,然后逐渐降低温度值来稳定布局节点,最终使整个网络布局收敛于受力平衡状态。
4.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤3)中,树型结构算法布局包括以下步骤:
步骤3.21)选取根节点,将相邻节点个数最多的节点设置为根节点,并将该根节点的坐标值设置为Q,设置它们的层次属性值为1,屏幕中点的坐标是Q’;
步骤3.22)初始化根节点的首个后继分支左边界,对所确定的根节点进行布局,计算各节点的坐标,确定当前节点的层次值,设根节点的层次值为1,其子节点值为2,逐级增加,计算节点的基本偏移角度,获取当前节点的邻节点数目和所有邻节点链表,计算出节点的坐标;
步骤3.23)遍历后继集合,通过调用递归方法对树型拓扑结构进行层式布局,在递归布局算法中,对非根节点的子树布局时,使用当前节点纵坐标加上父节点位移值对当前纵坐标进行更新,进入下一层布局,层次值累加,直至布局完成。
5.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤3)中,在多层网络碰撞检测调整时,调用基于分离轴定理的碰撞检测算法,判断投影是否有间隙,只要间隙一旦被检测出来,随即重新布局,多次迭代后,若无投影重叠,则碰撞检测结束。
6.根据权利要求5所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,在调用基于分离轴定理的碰撞检测算法时:
首先确定投影轴,投影轴的数量取值与物体的边数相同,并定义从p1指向p2的一条向量来代表物体的某一条边,作为边缘向量,另外一条垂直于边缘向量的法向量,为边缘法向量;
然后确定物体在某个投影轴上面的投影大小,将物体上的每个顶点分别与原点(0,0)组成向量,将该向量投影在某一投影轴上,只留下该物体的全部边中的投影的极大和极小的值;
判断投影重叠的规则如下:p1.max>p2.min&&p2.max>p1.min,若无投影重叠,则碰撞检测结束,布局完成。
7.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤4)中,三维分层展示包括以下步骤:
步骤4.1)创建三维场景,在程序的初始化中定义绘制三维场景的容器,然后在此容器中加载三维场景,把需要绘制的元素放置到设置的场景里面,包括网络拓扑中的节点和节点间连线;
步骤4.2)设置场景参数,设置相机—透视投影方式,设置光源为平行光源,使用Web GL渲染方式以及设置材质与纹理;
步骤4.3)三维绘制,设置好所有的场景参数以后,根据数据源文件,将获取到的网络拓扑中的所有节点及连线在屏幕上面绘制出来,完成复杂网络拓扑结构3D布局。
8.根据权利要求1所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述步骤5)中,用户交互动态响应包括以下步骤:
步骤5.1)捕获用户事件,生成三维场景控制机制,为三维拓扑布局场景与鼠标事件绑定;
步骤5.2)生成三维漫游事件,将捕获的用户事件生成三维漫游事件;
步骤5.3)用户操作,用户根据三维漫游事件进行操作。
9.根据权利要求8所述的基于多层复杂网络拓扑的布局与展现方法,其特征在于,所述三维漫游事件包括拓扑图的缩放、移动、单层显示与恢复,其中:
缩放,首先获取网络拓扑图像,监听鼠标滑轮事件和放大缩小两个按钮点击事件,当有相应的事件被激发时,执行对应的放大缩小操作;
移动,在网络拓扑图中,用户通过拖曳节点,调整位置达到理想的布局,最后对网络拓扑可进行单层显示与恢复的操作,方便用户在查看相应网络结构时对于全局和局部的综合把握;
单层显示与恢复,当用户对节点进行了单层查看操作,页面脚本取得该节点触发,并判断当前处在哪一层,隐藏掉节点属性不在同一层的节点以及各层连线,当监听到有恢复操作时,遍历节点集合,恢复显示各层所有节点以及各层连线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810986117.XA CN109167686B (zh) | 2018-08-28 | 2018-08-28 | 一种基于多层复杂网络拓扑的布局与展现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810986117.XA CN109167686B (zh) | 2018-08-28 | 2018-08-28 | 一种基于多层复杂网络拓扑的布局与展现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109167686A CN109167686A (zh) | 2019-01-08 |
CN109167686B true CN109167686B (zh) | 2021-09-28 |
Family
ID=64896965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810986117.XA Active CN109167686B (zh) | 2018-08-28 | 2018-08-28 | 一种基于多层复杂网络拓扑的布局与展现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109167686B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247794B (zh) * | 2019-05-29 | 2020-07-31 | 北京中亦安图科技股份有限公司 | 一种多种布局方式的拓扑图形展示方法及装置 |
CN112887112A (zh) * | 2019-11-29 | 2021-06-01 | 中兴通讯股份有限公司 | 站点坐标规划方法、装置、设备和存储介质 |
CN110990984B (zh) * | 2019-12-16 | 2023-05-12 | 南京富士通南大软件技术有限公司 | 一种优化平面正交拓扑图中线段弯折的方法 |
US11658882B1 (en) * | 2020-01-21 | 2023-05-23 | Vmware, Inc. | Algorithm-based automatic presentation of a hierarchical graphical representation of a computer network structure |
CN111464338B (zh) * | 2020-03-16 | 2022-10-18 | 安天科技集团股份有限公司 | 一种复杂网络拓扑分步布局方法及系统 |
CN111625235B (zh) * | 2020-04-17 | 2021-09-24 | 北京大学 | 基于描述性语言的树可视化形式的构建、解构方法及系统 |
CN111695223B (zh) * | 2020-06-11 | 2023-03-03 | Ut斯达康通讯有限公司 | 一种网络拓扑布局方法及系统 |
CN114816594B (zh) * | 2021-01-18 | 2023-08-08 | 中盈优创资讯科技有限公司 | 一种检测拓扑碰撞的方法及装置 |
CN113190939B (zh) * | 2021-03-22 | 2022-09-06 | 桂林航天工业学院 | 基于多边形系数的大型稀疏复杂网络拓扑分析和简化方法 |
CN113822963A (zh) * | 2021-09-22 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种绘制及展示拓扑图的方法、系统、设备和存储介质 |
CN114637865B (zh) * | 2022-05-12 | 2022-08-23 | 支付宝(杭州)信息技术有限公司 | 关系数据显示方法及装置 |
CN116582439A (zh) * | 2023-07-13 | 2023-08-11 | 博智安全科技股份有限公司 | 一种网元数据处理方法、装置、设备及介质 |
CN118643123B (zh) * | 2024-08-15 | 2024-11-01 | 深圳市智慧城市科技发展集团有限公司 | 文本检索系统的控制方法、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105261069A (zh) * | 2015-11-05 | 2016-01-20 | 北京航空航天大学 | 基于gpu的软组织器官元球模型自动生成与碰撞检测的方法 |
CN105912562A (zh) * | 2016-03-21 | 2016-08-31 | 华南理工大学 | 基于层次化模型的数据可视化方法及其系统 |
CN105933148A (zh) * | 2016-04-15 | 2016-09-07 | 烽火通信科技股份有限公司 | 一种sdn化gis网络拓扑模型实现方法 |
CN106202559A (zh) * | 2016-07-29 | 2016-12-07 | 国网山西省电力公司检修分公司 | 一种图布局的方法及装置 |
CN108427765A (zh) * | 2018-03-23 | 2018-08-21 | 北京工商大学 | 一种基于hct图的层次数据对比可视分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080033897A1 (en) * | 2006-08-02 | 2008-02-07 | Lloyd Kenneth A | Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems |
-
2018
- 2018-08-28 CN CN201810986117.XA patent/CN109167686B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105261069A (zh) * | 2015-11-05 | 2016-01-20 | 北京航空航天大学 | 基于gpu的软组织器官元球模型自动生成与碰撞检测的方法 |
CN105912562A (zh) * | 2016-03-21 | 2016-08-31 | 华南理工大学 | 基于层次化模型的数据可视化方法及其系统 |
CN105933148A (zh) * | 2016-04-15 | 2016-09-07 | 烽火通信科技股份有限公司 | 一种sdn化gis网络拓扑模型实现方法 |
CN106202559A (zh) * | 2016-07-29 | 2016-12-07 | 国网山西省电力公司检修分公司 | 一种图布局的方法及装置 |
CN108427765A (zh) * | 2018-03-23 | 2018-08-21 | 北京工商大学 | 一种基于hct图的层次数据对比可视分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109167686A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109167686B (zh) | 一种基于多层复杂网络拓扑的布局与展现方法 | |
US11716266B2 (en) | Network security monitoring and correlation system and method of using same | |
CN105378796B (zh) | 可伸缩体积3d重构 | |
CN106341265B (zh) | 网络数据的展示方法和装置 | |
US20180276882A1 (en) | Systems and methods for augmented reality art creation | |
CN104090827B (zh) | 集成二、三维平台的管线数据同步及联动方法 | |
US20180018076A1 (en) | Three dimensional visual programming interface for a network of devices | |
US20100277481A1 (en) | Method and apparatus of animation planning for a dynamic graph | |
CN104183023A (zh) | 一种分布式虚拟环境中多场景图的构建方法 | |
US8782526B2 (en) | Method and device for processing network element object information in 3D topology view | |
CN111739141B (zh) | 一种轻终端3d云渲染方法 | |
US20140365647A1 (en) | Network Visualization Systems And Methods | |
CN104751507A (zh) | 图形内容渲染方法和装置 | |
CN112902968B (zh) | 一种高效率三维数字导航地球生成方法及系统 | |
CN105988933A (zh) | 界面可操作节点识别方法、应用测试方法、装置及系统 | |
WO2023169095A1 (zh) | 数据处理方法、装置、设备以及介质 | |
CN106201259A (zh) | 一种虚拟现实系统中分享全景影像的方法和装置 | |
CN111475565A (zh) | 一种目标历史地理信息数据可视化回放系统及方法 | |
CN111080781A (zh) | 一种三维地图显示方法及移动终端 | |
Ruzínoor et al. | 3D terrain visualisation for GIS: A comparison of different techniques | |
CN113867850B (zh) | 数据处理方法、装置、设备和存储介质 | |
Bao et al. | [Retracted] Artificial Intelligence and VR Environment Design of Digital Museum Based on Embedded Image Processing | |
US20220206676A1 (en) | Modifying drawing characteristics of digital raster images utilizing stroke properties | |
Yamashita et al. | Cluster-based edge bundling based on a line graph | |
CN113763240A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |