一种网络拓扑布局中拆分环状结构的方法及系统的制作方法

文档序号:9754287阅读:728来源:国知局
一种网络拓扑布局中拆分环状结构的方法及系统的制作方法
【技术领域】
[0002] 本发明涉及在网络拓扑布局中,通过一系列的计算和操作,实现在网络拓扑根据 连接关系拆分一个复杂的环状结构的方法。
【背景技术】
[0003] 信息可视化是一个跨学科领域,旨在研究大规模非数值型信息资源的视觉呈现, 如软件系统之中众多的文件或者程序代码,以及利用图形图像方面的技术与方法,帮助人 们理解和分析数据。信息可视化致力于创建那些以直观方式传达抽象信息的手段和方法。 可视化的表达形式与交互技术则是利用人类眼睛通往心灵深处的广阔带宽优势,使得用户 能够目睹、探索以至立即理解大量的信息。可视化把数据转换成图形,给予人们深刻与意想 不到的洞察力,在很多领域使科学家的研究方式发生了根本变化。可视化技术的应用大至 高速飞行模拟,小至分子结构的演示,无处不在。
[0004] 网络拓扑结构由于具有大量的节点,且节点之间连接复杂,中心节点连接关系无 规律,导致了网络拓扑布局研究的复杂性。树形结构的图由于能够清晰地找到根节点以及 每个点的父节点和子节点,因此可以呈现较好的连接关系。而带环状结构的图,由于其内部 的环状结构,导致了整体结构的无层次性,是研究网络拓扑布局的难点。
[0005] 首先,在大型环状结构中,环状结构内部关系复杂,环内的点之间关系不清晰。较 小的环状结构,由于内部点个数少,关系简单,因此比较容易排布,而大型环状结构由于其 内部点过多,导致关系混乱,难以分清结构。
[0006] 其次,计算复杂性的问题。带环状结构的图由于环内的点不能依据其与相邻节点 的关系直接计算,因而只能采用力导向这样的方式重复计算,直到满足一定条件为止。这样 不仅占用过多系统资源,也使得整体效率降低。在网络拓扑的环较为复杂,节点数量巨大的 结构中,并不适用。
[0007] 最后,拓扑结构的美观性问题。带环状结构的拓扑结构,由于环的复杂性,导致环 内部点的排列比较困难,尤其是较大的环,由于占据面积较大,不能单纯当成一个点来进行 整体计算,布局的效果不理想,影响整体的美观。
[0008] 本发明的目的是解决上述大型环状结构带来的问题,通过对环内点的检测和判 断,使得大型环状结构可以细分为若干个较小的环状结构,从而较好的布局拓扑节点。

【发明内容】

[0009] 本发明提供了一种网络拓扑布局中拆分环状结构的方法及系统,可以使原本连接 松散无序的环状结构连接紧密有规律排列直观,且计算的时间复杂度和空间复杂度都非常 低,不会耗费过多的时间和占用过多的CPU资源,节省了计算机性能。
[0010] 本发明采用如下方法来实现:一种网络拓扑布局中拆分环状结构的方法,包括: 501、 获取节点信息并做好记录,所述信息包括每个节点的ID以及相对应的节点簇; 502、 将所有节点随机分成两组,并记录每一个节点所属的组别序号,若所有节点总数 为偶数,则两组内的节点数目相同,若为奇数,则两组内的节点数目差值为1 ; 503、 对上述两组节点分别进行权值设置,随机选定其中一个组别设定其所包含的所有 节点的权值均为-Q,则另外一个组别所包含的所有节点的权值均为Q ; 504、 分别计算两组中每个节点相对应的的节点簇权值和,并将两组中所有节点的节点 簇权值和的和定义为和值; 505、 选取待移动点,将待移动点移至另外组别,并重新计算移动后两组中每个节点相 对应的的节点簇权值和及和值; 506、 判断移动后两组中每个节点相对应的的节点簇权值和是否全为负数,如果是,则 执行下一步,否则判断移动后的和值是否变小,如果是,则继续重复上一步骤,否则执行下 一步; 507、 判断各个组别中的节点个数是否小于期望值,如果是,则拆分完毕,否则按照步骤 S01~ S06继续拆分。
[0011] 进一步地,所述选取待移动点的方法包括:分别计算不同组别中每一个节点相对 应的节点簇权值和,并判断两个组别内的节点个数是否大于等于预设值,如果是,则选取节 点簇权值和最大的节点簇相对应的节点,作为待移动点,否则,在节点个数不小于预设值的 组别内,选取节点簇权值和最大的节点簇相对应的节点,作为待移动点。
[0012] 本发明采用如下系统来实现:一种网络拓扑布局中拆分环状结构的系统,包括: 获取信息模块,用于获取节点信息并做好记录,所述信息包括每个节点的ID以及相对 应的节点簇; 分组模块,用于将所有节点随机分成两组,并记录每一个节点所属的组别序号,若所有 节点总数为偶数,则两组内的节点数目相同,若为奇数,则两组内的节点数目差值为1 ; 权值设置模块,用于对上述两组节点分别进行权值设置,随机选定其中一个组别设定 其所包含的所有节点的权值均为-Q,则另外一个组别所包含的所有节点的权值均为Q ; 计算模块,用于分别计算两组中每个节点相对应的的节点簇权值和,并将两组中所有 节点的节点簇权值和的和定义为和值; 选取模块,用于选取待移动点,将待移动点移至另外组别,并重新计算移动后两组中每 个节点相对应的的节点簇权值和及和值; 第一判断模块,用于判断移动后两组中每个节点相对应的的节点簇权值和是否全为负 数,如果是,则由第二判定模块继续执行,否则判断移动后的和值是否变小,如果是,则由选 取模块继续执行,否则由第二判定模块继续执行; 第二判定模块,用于判定各个组别中的节点个数是否小于期望值,如果是,则拆分完 毕,否则所有模块继续执行,进行拆分。
[0013] 进一步地,所述选取待移动点的方法包括:分别计算不同组别中每一个节点相对 应的节点簇权值和,并判断两个组别内的节点个数是否大于等于预设值,如果是,则选取节 点簇权值和最大的节点簇相对应的节点,作为待移动点,否则,在节点个数不小于预设值的 组别内,选取节点簇权值和最大的节点簇相对应的节点,作为待移动点。
[0014] 综上所述,本发明提供了一种网络拓扑布局中拆分结构的方法及系统,包括:获取 节点信息并做好记录,将所有节点随机分成两组,并记录每一个节点所属的组别序号,再将 上述两组节点分别进行权值设置,分别计算两组中每个节点相对应的的节点簇权值和并将 两组中所有节点的节点簇权值和的和定义为和值;选取待移动点,将待移动点移至另外组 另IJ,并重新计算移动后两组中每个节点相对应的的节点簇权值和及和值,判断移动后两组 中每个节点相对应的节点簇权值和是否全为负数,如果是,则继续选取移动点并进行移动, 并重新计算移动后两组中每个节点相对应的节点簇权值和及和值否则判断移动后的和值 是否变小,如果是,则继续选取移动点并进行移动,并重新计算移动后两组中每个节点相对 应的节点簇权值和及和值,否则判断各个组别中的节点个数是否小于期望值,如果是,则拆 分完毕,否则重新继续拆分。该方法不仅能较好的体现原始网络拓扑的环状结构信息,还解 决了带环的复杂网络图的布局问题,可以使原本连接松散无序的环状结构连接紧密有规律 排列直观,,减少了无数节点或连线的交叉和重叠的问题。此外,所述方法时间复杂度和空 间复杂度都较低。节省计算性能,不会耗费过多的时间和占用过多的CPU资源,且应用范围 广泛,可适用任何带有环状结构的拓扑图。
【附图说明】
[0015] 为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016] 图1为本发明提供的一种网络拓扑布局中拆分环状结构的方法流程图; 图2为本发明提供的一种网络拓扑布局中拆分环状结构的系统结构图。
【具体实施方式】
[0017] 本发明给出了一种网络拓扑布局中拆分环状结构的方法及系统,为了使本技术领 域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能 够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明: 本发明首先提供了一种网络拓扑布局中拆分环状结构的方法实施例,如图1所示,包 括: 501、 获取节点信息并做好记录,所述信息包括每个节点的ID以及相对应的节点簇; 其中,所述节点信息举例如下表所示:
502、 将所有节点随机分成两组,并记录每一个节点所属的组别序号,若所有节点总数 为偶数,则两组内的节点数目相同,若为奇数,则两组内的节点数目差值为1 ; 其中,假设将节点ID为0、1、2、3、4的节点分到六组,节点10为5、6、7、8的节点分到8 组; 503、 对上述两组节点分别进行权值设置,随机选定其中一个组别设定其所包含的所有 节点的权值均为-Q,则另外一个组别所包含的所有节点的权值均为Q ; 将八组内的节点10为0、1、2、3、4的权值设为-1,8组内的节点10为5、6、7、8的权值 设为1 ; 504、 分别计算两组中每个节点相对应的的节点簇权值和,并将两组中所有节点的节点 簇权值和的和定义为和值; 其中,以节点ID为0的节点(后续简称为节点0,其他节点也相应简称为节点N)为 例,计算相对应的节点簇权值和,由节点信息可知,节点〇的节点的节点簇为[1,2, 4, 6, 8], 已知节点1、2、4的权值均为-1,节点6、8的权值为1,则节点0的节点簇权值和为: (-1) + (-1) + (-1)+1+1=-1 ;同理节点1的节点簇为[0, 2, 3, 5, 7],则节点1的节点簇权值和 为:(-1) + (-1) + (-1)+1+1=-1 ;同理,节点2的节点簇为[0, 1,4, 6, 8],节点2的节点簇权值 和为:(-1) + (-1) + (-1)+1+1=-1 ;依次计算两组中每个节点相对应的的节点簇权值和,如下 表所示:
505、 选取待移动点,将待移动点移至另外组别,并重新计算移动后两组中每个节点相 对应的的节点簇权值和及和值; 进一步地,所述选取待移动点的方法包括:分别计算不同组别中每一个节点相对应的 节点簇权值和,并判断两个组别内的节点个数是否大于等于预设值,如果是,则选取节点簇 权值和最大的节点簇相对应的节点,作为待移动点,否则,在节点个数不小于预设值的组别 内,选取节点簇权值和最大的节点簇相对应的节点,作为待移动点; 其中,A组内节点个数为5,B组内节点个数为4,为避免出现环状结构的节点从一组全 部移至到另外一组,故设置节点个数的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1