网络拓扑自适应的数据可视化方法及装置转让专利

申请号 : CN201611249511.2

文献号 : CN106685716B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余彬和王建明肖京

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明公开了一种网络拓扑自适应的数据可视化方法及装置。该网络拓扑自适应的数据可视化方法包括:对节点进行预处理,输出预处理节点;采用力引导布局算法对所述预处理节点进行处理,形成初始网络拓扑图;对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点;基于所述去重节点形成目标网络拓扑图。该网络拓扑自适应的数据可视化方法可实现数据可视化自动化,简化数据可视化处理流程,无需人工干预,可有效节省人工干预成本,并提高处理效率。

权利要求 :

1.一种网络拓扑自适应的数据可视化方法,其特征在于,包括:对节点进行预处理,输出预处理节点;

采用力引导布局算法对所述预处理节点进行处理,形成初始网络拓扑图;

对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点;

基于所述去重节点形成目标网络拓扑图;

所述对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点,包括:获取所述初始网络拓扑图中每一预处理节点的坐标数据,所述坐标数据包括x坐标和y坐标;

将坐标数据相同的所述预处理节点放入缓存列表;

遍历所述缓存列表,选取两个坐标数据相同的所述预处理节点,使两个所述预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;依次迭代,直至所述缓存列表中不存在坐标数据相同的所述预处理节点;

判断是否存在与所述更新节点坐标数据相同的预处理节点;若存在,则将所述更新节点与所述预处理节点放入所述缓存列表;若不存在,则将所述更新节点作为所述去重节点输出。

2.根据权利要求1所述的网络拓扑自适应的数据可视化方法,其特征在于,所述对节点进行预处理,输出预处理节点,包括:获取每一所述节点的节点颜色和节点大小;

对每一所述节点进行数据标准化,获取每一所述节点的标准化值;

根据每一所述节点的标准化值和分区阈值确定所述节点对应的区间,并将所述节点对应的区间作为所述预处理节点输出。

3.根据权利要求1所述的网络拓扑自适应的数据可视化方法,其特征在于,所述力引导布局算法包括:采用弹簧模型计算弹性势能,所述弹簧模型包括:

基于所述弹性势能,采用能量模型计算动力势能,所述能量模型包括:其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。

4.根据权利要求1-3任一项所述的网络拓扑自适应的数据可视化方法,其特征在于,还包括:对所述去重节点进行文件格式转换,输出json文件格式的去重节点。

5.一种网络拓扑自适应的数据可视化装置,其特征在于,包括:节点预处理单元,用于对节点进行预处理,输出预处理节点;

初始网络拓扑图形成单元,用于采用力引导布局算法对所述预处理节点进行处理,形成初始网络拓扑图;

去重处理单元,用于对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点;

目标网络拓扑图形成单元,用于基于所述去重节点形成目标网络拓扑图;

所述去重处理单元包括:

坐标数据获取子单元,用于获取所述初始网络拓扑图中每一预处理节点的坐标数据,所述坐标数据包括x坐标和y坐标;

数据缓存子单元,用于将坐标数据相同的所述预处理节点放入缓存列表;

节点去重处理子单元,用于遍历所述缓存列表,选取两个坐标数据相同的所述预处理节点,使两个所述预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;

依次迭代,直至所述缓存列表中不存在坐标数据相同的所述预处理节点;

去重节点输出子单元,用于判断是否存在与所述更新节点坐标数据相同的预处理节点;若存在,则将所述更新节点与所述预处理节点放入所述缓存列表;若不存在,则将所述更新节点作为所述去重节点输出。

6.根据权利要求5所述的网络拓扑自适应的数据可视化装置,其特征在于,所述节点预处理单元包括:节点获取子单元,用于获取每一所述节点的节点颜色和节点大小;

数据标准化子单元,用于对每一所述节点进行数据标准化,获取每一所述节点的标准化值;

预处理节点获取子单元,用于根据每一所述节点的标准化值和分区阈值确定所述节点对应的区间,并将所述节点对应的区间作为所述预处理节点输出。

7.根据权利要求5所述的网络拓扑自适应的数据可视化装置,其特征在于,所述力引导布局算法包括:采用弹簧模型计算弹性势能,所述弹簧模型包括:

基于所述弹性势能,采用能量模型计算动力势能,所述能量模型包括:其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。

8.根据权利要求5-7任一项所述的网络拓扑自适应的数据可视化装置,其特征在于,还包括格式转换单元,用于对所述去重节点进行文件格式转换,输出json文件格式的去重节点。

说明书 :

网络拓扑自适应的数据可视化方法及装置

技术领域

[0001] 本发明涉及数据可视化技术领域,尤其涉及一种网络拓扑自适应的数据要视化方法及装置。

背景技术

[0002] 数据可视化是利用计算机图形学来构建视觉图像,以帮助人们理解实际生活中规模较大且结构较复杂的科学结果或概念。对于复杂网络研究来说,可视化技术尤为重要,能有助于呈现或解释复杂网络数据或模型,进而从中发现各种模式、特点和关系。
[0003] 当前数据可视化过程主要是通过专业软件工具进行复杂的调试和配置参数,再对直观的可视化结果进行目标探索。在当前数据可视化过程中,需专业人员进行繁琐的数据调整工作,包括对节点颜色、节点大小及网络形状等进行调整,工作量大且繁琐。在数据更新后,需专业人员重新进行数据调整,重叠工作较多且繁琐,无法实现数据同步更新。另外,当前数据可视化过程中存在节点重叠,使得部分节点不能完整呈现,导致拓扑结构不清晰现象,需进行人工去重处理,工作量大且繁琐,不利于提高数据可视化效率。

发明内容

[0004] 本发明要解决的技术问题在于,针对现有数据可视化过程中需人工进行繁琐的数据调整工作所存在的不足,提供一种网络拓扑自适应的数据可视化方法及装置,无需进行繁琐的数据调整工作,有利于提高数据可视化效率并节省数据可视化成本。
[0005] 本发明解决其技术问题所采用的技术方案是:一种网络拓扑自适应的数据可视化方法,包括:
[0006] 对节点进行预处理,输出预处理节点;
[0007] 采用力引导布局算法对所述预处理节点进行处理,形成初始网络拓扑图;
[0008] 对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点;
[0009] 基于所述去重节点形成目标网络拓扑图。
[0010] 优选地,所述对节点进行预处理,输出预处理节点,包括:
[0011] 获取每一所述节点的节点颜色和节点大小;
[0012] 对每一所述节点进行数据标准化,获取每一所述节点的标准化值;
[0013] 根据每一所述节点的标准化值和分区阈值确定所述节点对应的区间,并将所述节点对应的区间作为所述预处理节点输出。
[0014] 优选地,所述力引导布局算法包括:
[0015] 采用弹簧模型计算弹性势能,所述弹簧模型包括:
[0016]
[0017] 基于所述弹性势能,采用能量模型计算动力势能,所述能量模型包括:
[0018]
[0019] 其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。
[0020] 优选地,所述对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点,包括:
[0021] 获取所述初始网络拓扑图中每一预处理节点的坐标数据,所述坐标数据包括x坐标和y坐标;
[0022] 将坐标数据相同的所述预处理节点放入缓存列表;
[0023] 遍历所述缓存列表,选取两个坐标数据相同的所述预处理节点,使两个所述预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;依次迭代,直至所述缓存列表中不存在坐标数据相同的所述预处理节点;
[0024] 判断是否存在与所述更新节点坐标数据相同的预处理节点;若存在,则将所述更新节点与所述预处理节点放入所述缓存列表;若不存在,则将所述更新节点作为所述去重节点输出。
[0025] 优选地,还包括:对所述去重节点进行文件格式转换,输出json文件格式的去重节点。
[0026] 本发明还提供一种网络拓扑自适应的数据可视化装置,包括:
[0027] 节点预处理单元,用于对节点进行预处理,输出预处理节点;
[0028] 初始网络拓扑图形成单元,用于采用力引导布局算法对所述预处理节点进行处理,形成初始网络拓扑图;
[0029] 去重处理单元,用于对所述初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点;
[0030] 目标网络拓扑图形成单元,用于基于所述去重节点形成目标网络拓扑图。
[0031] 优选地,所述节点预处理单元包括:
[0032] 节点获取子单元,用于获取每一所述节点的节点颜色和节点大小;
[0033] 数据标准化子单元,用于对每一所述节点进行数据标准化,获取每一所述节点的标准化值;
[0034] 预处理节点获取子单元,用于根据每一所述节点的标准化值和分区阈值确定所述节点对应的区间,并将所述节点对应的区间作为所述预处理节点输出。
[0035] 优选地,所述力引导布局算法包括:
[0036] 采用弹簧模型计算弹性势能,所述弹簧模型包括:
[0037]
[0038] 基于所述弹性势能,采用能量模型计算动力势能,所述能量模型包括:
[0039]
[0040] 其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。
[0041] 优选地,所述去重处理单元包括:
[0042] 坐标数据获取子单元,用于获取所述初始网络拓扑图中每一预处理节点的坐标数据,所述坐标数据包括x坐标和y坐标;
[0043] 数据缓存子单元,用于将坐标数据相同的所述预处理节点放入缓存列表;
[0044] 节点去重处理子单元,用于遍历所述缓存列表,选取两个坐标数据相同的所述预处理节点,使两个所述预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;依次迭代,直至所述缓存列表中不存在坐标数据相同的所述预处理节点;
[0045] 去重节点输出子单元,用于判断是否存在与所述更新节点坐标数据相同的预处理节点;若存在,则将所述更新节点与所述预处理节点放入所述缓存列表;若不存在,则将所述更新节点作为所述去重节点输出。
[0046] 优选地,还包括格式转换单元,用于对所述去重节点进行文件格式转换,输出json文件格式的去重节点。
[0047] 本发明与现有技术相比具有如下优点:本发明所提供的网络拓扑自适应的数据可视化方法及装置可实现数据可视化自动化,简化数据可视化处理流程,无需人工干预,可有效节省人工干预成本,并提高处理效率。而且,该网络拓扑自适应的数据可视化方法及装置中通过对重叠点的预处理节点进行去重处理,以消除节点之间重叠现象,使每一节点均能完整的呈现,使得最终形成的目标网络拓扑图结构清晰,可展示性强。而且,该网络拓扑自适应的数据可视化方法及装置可实现数据自动同步更新,使业务需求分析和探索具有实时性。

附图说明

[0048] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0049] 图1是本发明实施例1中网络拓扑自适应的数据可视化方法的一流程图。
[0050] 图2是图1所示网络拓扑自适应的数据可视化方法中步骤S1的一具体流程图。
[0051] 图3是图1所示网络拓扑自适应的数据可视化方法中步骤S3的一具体流程图。
[0052] 图4是本发明实施例2中网络拓扑自适应的数据可视化装置的一原理框图。
[0053] 图5是图4中网络拓扑自适应的数据可视化装置的一具体原理框图。

具体实施方式

[0054] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
[0055] 实施例1
[0056] 图1示出本实施例中网络拓扑自适应的数据可视化方法的流程图。该网络拓扑自适应的数据可视化方法可在安装有数据可视化的专业软件工具的计算机上执行。其中,专业软件工具可以是Gephi这一复杂网络分析软件,主要用于各种网络和复杂系统,是用于进行动态和分层图的交互可视化和探测开源工具。如图1所示,该网络拓扑自适应的数据可视化方法包括如下步骤:
[0057] S1:对节点进行预处理,输出预处理节点。
[0058] 本实施例中,在Gephi软件工具中对节点进行预处理,输出的预处理节点的文件格式是gexf文件格式。如图2所示,步骤S1具体包括如下步骤:
[0059] S11:获取每一节点的节点颜色和节点大小。
[0060] 即给每一节点添加color_t属性和size_t属性,如下所示,value可根据实际业务场景自主设定,并根据该节点的color_t属性和size_t属性的值生成每一节点的节点颜色和节点大小。
[0061]
[0062] 本实施例中,执行该网络拓扑自适应的数据可视化方法的专业软件工具为Gephi,获取到的每一节点的节点颜色和节点大小均为gexf文件格式。Gephi是一款优秀的复杂网络分析软件,支持导入多种格式的文件。gexf格式是Gephi推荐的格式,是用GEXF(Graph Exchange XML Format)语言创建的图表文件。GEXF语言是一种描述网络结构的语言,用于指定的节点和边的关系图和以及用户定义的属性。
[0063] S12:对每一节点的节点颜色和节点大小进行数据标准化,获取每一节点的标准化值。
[0064] 其中,数据标准化(normalization)是将数据按比例绽放,使之落入一个小的特定区间,用于去除数据的单位限制,将其转化为无量级的纯数值,便于不同单位或量级的指标能够进行比较和加权。
[0065] 本实施例中,对每一节点的节点颜色对应的color_t属性和节点大小对应的size_t属性进行排序后,再进行Z-score标准化(zero-mean normalization)处理,以获取每一节点的标准化值。其中,Z-score标准化是指标准差标准化,以使经过处理的数据符合标准正太分布,即均值为0,标准差为1,以便基于输出的标准化值进行比较或加权。具体地,Z-score标准化的转化函数为 其中,μ为所有样本数据的均值,σ为所有标准数据的标准差。
[0066] S13:根据每一节点的标准化值和分区阈值确定节点对应的区间,并将节点对应的区间作为预处理节点输出。
[0067] 其中,分区阈值用于将数据划分成多个区间,而步骤S12中形成的每一节点的标准化值在一特定区间内,将每一节点的标准化值与预设的分区阈值进行比较,即可确定该该节点的标准化值在分区阈值确定的哪一区间内,并将该节点对应的区间作为预处理节点输出。
[0068] S2:采用力引导布局算法对预处理节点进行处理,形成初始网络拓扑图。
[0069] 力引导布局算法(Fruchterman-Reingold算法,简称FR算法)是一种丰富两节点之间的物理模型,加入节点之间的静电力,通过计算系统的总能量并使得能量最小化,从而达到布局的目的。力引导布局算法的计算公式如下:
[0070] 采用弹簧模型计算弹性势能,弹簧模型包括:
[0071] 基于弹性势能,采用能量模型计算动力势能,能量模型包括:
[0072]
[0073] 其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。
[0074] 本实施例中,先采用弹簧模型计算预处理节点的弹性势能;并基于计算得到的弹性势能,采用能量模型计算动力势能,利用计算得到的动力势能对预处理节点进行处理,以形成初始网络拓扑图。
[0075] 无论是弹簧模型还是能量模型,其算法的本质是要接一个能量优化问题,区别在于优化函数的组成不同。优化对象包括引力和斥力部分,不同算法对引力和斥力的表达方式不同。力引导布局算法易于理解、容易实现,可以用于大多数网络数据集,而且实现的效果具有较好的对称性和局部聚合性。
[0076] S3:对初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点。
[0077] 由于经过力引导布局算法对预处理节点进行处理后形成的初始网络拓扑图中可能存在节点重叠,为避免节点重叠导致初始网络拓扑图结构不清晰,对初始网络拓扑图中重叠的预处理节点进行去处理,使重叠节点均匀散开。本实施例中的去重节点是指重叠的预处理节点进行去重处理后形成的不重叠的节点。如图3所示,步骤S3具体包括:
[0078] S31:获取初始网络拓扑图中每一预处理节点的坐标数据,坐标数据包括x坐标和y坐标。
[0079] 在初始网络拓扑图中,任一预处理节点的位置均可通过其坐标数据确定。若任意两个预处理节点的坐标数据相同,即x坐标和y坐标均相同,则两个预处理节点重叠。
[0080] S32:将坐标数据相同的预处理节点放入缓存列表。
[0081] 本实施例中,若坐标数据为(x1,y1)的预处理节点有两个,坐标数据为(x2,y2)的预处理节点有3个,坐标数据为(x3,y3)的预处理节点有四个……,将坐标数据相同的预处理节点放入缓存列表包括:将坐标数据相同的至少两个预处理节点作为一组缓存节点组,再将至少一组缓存节点组放入缓存列表中。
[0082] S33:遍历缓存列表,选取两个坐标数据相同的预处理节点,使两个预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;依次迭代,直至缓存列表中不存在坐标数据相同的预处理节点。
[0083] 其中,随机数是随机生成不为0的数,设为k。可以理解地,若随机数k为0,则使两个坐标相同的预处理节点的x坐标和y坐标分别加上或减去随机数,无法形成两个不重叠的更新节点。
[0084] 本实施例中,若坐标数据为(x1,y1)的预处理节点A和B,使预处理节点A和B的x坐标和y坐标分别加上或减去随机数k1,则形成的两个更新节点A’(x1+k1,y1+k1)和B’(x1-k1,y1-k1),从而使两个预处理节点A和B均匀散开。相应地,若坐标数据为(x2,y2)的预处理节点C、D和E,使预处理节点C和D的x坐标和y坐标分别加上或减去随机数k2,则形成的两个更新节点C’(x2+k2,y2+k2)和D’(x2-k2,y2-k2),从而使三个预处理节点C、D和E(x2,y2)均匀散开。若坐标数据为(x3,y3)的预处理节点F、G、H和I,使预处理节点F和G的x坐标和y坐标分别加上或减去随机数k3,并使预处理节点H和I的x坐标和y坐标分别加上或减去随机数k4,则形成的四个更新节点F’(x3+k3,y3+k3)、G’(x3-k3,y3-k3)、H’(x3+k4,y3+k4)和I’(x3-k4,y3-k4),从而使四个预处理节点F、G、H和I均匀散开……遍历缓存列表中所有坐标数据相同的预处理节点,直至缓存列表中不存在坐标数据相同的至少两个预处理节点。
[0085] S34:判断是否存在与更新节点坐标数据相同的预处理节点;若存在,则将更新节点与预处理节点放入所述缓存列表;若不存在,则将更新节点作为去重节点输出。
[0086] 由于遍历缓存列表所形成的更新节点可能会与其他未放入缓存列表中的预处理节点的坐标数据相同,使其仍存在节点重叠现象,因此需判断是否存在与更新节点坐标数据相同的预处理节点;若存在,则将更新节点与预处理节点作为一组缓存节点组放入缓存列表中,执行步骤S33;若不存在,则将更新节点作为去重节点输出,以执行步骤S4。可以理解地,初始网络拓扑图中的其他未放入缓存列表中的预处理节点也作为去重节点输出。
[0087] S4:基于去重节点形成目标网络拓扑图。
[0088] 具体地,执行该网络拓扑自适应的数据可视化方法的计算机接收到去重节点,在浏览器中基于所有去重节点显示目标网络拓扑图,以展示数据可视化结果。当后台数据有更新时,再基于步骤S1-S4重新计算一遍,使得浏览器将最新数据的数据可视化结果显示,从而实现数据同步更新,而无需专业人员进行数据调整,有利于节省成本并提高数据可视化的处理效率。
[0089] 进一步地,由于步骤S1中输出的预处理节点的文件格式为gexf文件格式,步骤S2和步骤S3中并没有对输出的初始网络拓扑图和去重节点进行文件格式转换,使得其输出的去重节点的文件格式仍为gexf文件格式,在基于去重节点形成目标网络拓扑图的过程中,gexf文件格式的网络传输数据量大,响应时间较慢。
[0090] 为克服上述问题,该网络拓扑自适应的数据可视化方法的步骤S3与步骤S4之间还包括:对去重节点进行文件格式转换,输出json文件格式的去重节点。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言,具有易于人阅读和编写,同时也易于机器解析和生成的优点。
[0091] 具体地,对去重节点的gexf文件格式进行解析,获取节点(node)信息和边缘(edge)信息,并基于节点(node)信息和边缘(edge)信息,输出json文件格式的去重节点。可以理解地,将gexf文件格式的去重节点转换成json文件格式的去重节点,可减小网络传输数据量,提高响应时间,有利于提高数据可视化的处理效率。
[0092] 本实施例所提供的网络拓扑自适应的数据可视化方法可实现数据可视化自动化,简化数据可视化处理流程,无需人工干预,可有效节省人工干预成本,并提高处理效率。而且,该网络拓扑自适应的数据可视化方法中通过对重叠点的预处理节点进行去重处理,以消除节点之间重叠现象,使每一节点均能完整的呈现,使得最终形成的目标网络拓扑图结构清晰,可展示性强。而且,该网络拓扑自适应的数据可视化方法可实现数据自动同步更新,使业务需求分析和探索具有实时性。
[0093] 实施例2
[0094] 图4和图5示出本实施例中网络拓扑自适应的数据可视化装置的原理框图。该网络拓扑自适应的数据可视化装置可在安装有数据可视化的专业软件工具的计算机上执行。其中,专业软件工具可以是Gephi这一复杂网络分析软件,主要用于各种网络和复杂系统,是用于进行动态和分层图的交互可视化和探测开源工具。如图4所示,该网络拓扑自适应的数据可视化装置包括节点预处理单元10、初始网络拓扑图形成单元20、去重处理单元30和目标网络拓扑图形成单元40。
[0095] 节点预处理单元10,用于对节点进行预处理,输出预处理节点。
[0096] 本实施例中,在Gephi软件工具中对节点进行预处理,输出的预处理节点的文件格式是gexf文件格式。如图5所示,节点预处理单元10具体包括节点获取子单元11、数据标准化子单元12、和预处理节点获取子单元13。
[0097] 节点获取子单元11,用于获取每一节点的节点颜色和节点大小。
[0098] 即给每一节点添加color_t属性和size_t属性,如下所示,value可根据实际业务场景自主设定,并根据该节点的color_t属性和size_t属性的值生成每一节点的节点颜色和节点大小。
[0099]
[0100] 本实施例中,执行该网络拓扑自适应的数据可视化装置的专业软件工具为Gephi,获取到的每一节点的节点颜色和节点大小均为gexf文件格式。Gephi是一款优秀的复杂网络分析软件,支持导入多种格式的文件。gexf格式是Gephi推荐的格式,是用GEXF(Graph Exchange XML Format)语言创建的图表文件。GEXF语言是一种描述网络结构的语言,用于指定的节点和边的关系图和以及用户定义的属性。
[0101] 数据标准化子单元12,用于对每一节点的节点颜色和节点大小进行数据标准化,获取每一节点的标准化值。
[0102] 其中,数据标准化(normalization)是将数据按比例绽放,使之落入一个小的特定区间,用于去除数据的单位限制,将其转化为无量级的纯数值,便于不同单位或量级的指标能够进行比较和加权。
[0103] 本实施例中,对每一节点的节点颜色对应的color_t属性和节点大小对应的size_t属性进行排序后,再进行Z-score标准化(zero-mean normalization)处理,以获取每一节点的标准化值。其中,Z-score标准化是指标准差标准化,以使经过处理的数据符合标准正太分布,即均值为0,标准差为1,以便基于输出的标准化值进行比较或加权。具体地,Z-score标准化的转化函数为,其中,为所有样本数据的均值,为所有标准数据的标准差。
[0104] 预处理节点获取子单元13,用于根据每一节点的标准化值和分区阈值确定节点对应的区间,并将节点对应的区间作为预处理节点输出。
[0105] 其中,分区阈值用于将数据划分成多个区间,通过数据标准化子单元12进行数据标准化后形成的每一节点的标准化值在一特定区间内,将每一节点的标准化值与预设的分区阈值进行比较,即可确定该该节点的标准化值在分区阈值确定的哪一区间内,并将该节点对应的区间作为预处理节点输出。
[0106] 初始网络拓扑图形成单元20,用于采用力引导布局算法对预处理节点进行处理,形成初始网络拓扑图。
[0107] 力引导布局算法(Fruchterman-Reingold算法,简称FR算法)是一种丰富两节点之间的物理模型,加入节点之间的静电力,通过计算系统的总能量并使得能量最小化,从而达到布局的目的。力引导布局算法的计算公式如下:
[0108] 采用弹簧模型计算弹性势能,弹簧模型包括:
[0109] 基于弹性势能,采用能量模型计算动力势能,能量模型包括:
[0110]
[0111] 其中,节点i和j,用d(i,j)表示两个节点的欧式距离,s(i,j)表示弹簧的自然长度,k是弹力系数,r表示两个节点之间的静电力常数,w是两个节点之间的权重,Es为弹性势能,E为动力势能。
[0112] 本实施例中,先采用弹簧模型计算预处理节点的弹性势能;并基于计算得到的弹性势能,采用能量模型计算动力势能,利用计算得到的动力势能对预处理节点进行处理,以形成初始网络拓扑图。
[0113] 无论是弹簧模型还是能量模型,其算法的本质是要接一个能量优化问题,区别在于优化函数的组成不同。优化对象包括引力和斥力部分,不同算法对引力和斥力的表达方式不同。力引导布局算法易于理解、容易实现,可以用于大多数网络数据集,而且实现的效果具有较好的对称性和局部聚合性。
[0114] 去重处理单元30,用于对初始网络拓扑图中重叠的预处理节点进行去重处理,输出去重节点。
[0115] 由于经过力引导布局算法对预处理节点进行处理后形成的初始网络拓扑图中可能存在节点重叠,为避免节点重叠导致初始网络拓扑图结构不清晰,对初始网络拓扑图中重叠的预处理节点进行去处理,使重叠节点均匀散开。本实施例中的去重节点是指重叠的预处理节点进行去重处理后形成的不重叠的节点。如图5所示,去重处理单元30具体包括坐标数据获取子单元31、数据缓存子单元32、节点去重处理子单元33和去重节点输出子单元34。
[0116] 坐标数据获取子单元31,用于获取初始网络拓扑图中每一预处理节点的坐标数据,坐标数据包括x坐标和y坐标。
[0117] 在初始网络拓扑图中,任一预处理节点的位置均可通过其坐标数据确定。若任意两个预处理节点的坐标数据相同,即x坐标和y坐标均相同,则两个预处理节点重叠。
[0118] 数据缓存子单元32,用于将坐标数据相同的预处理节点放入缓存列表。
[0119] 本实施例中,若坐标数据为(x1,y1)的预处理节点有两个,坐标数据为(x2,y2)的预处理节点有3个,坐标数据为(x3,y3)的预处理节点有四个……,将坐标数据相同的预处理节点放入缓存列表包括:将坐标数据相同的至少两个预处理节点作为一组缓存节点组,再将至少一组缓存节点组放入缓存列表中。
[0120] 节点去重处理子单元33,用于遍历缓存列表,选取两个坐标数据相同的预处理节点,使两个预处理节点的x坐标和y坐标分别加上或减去随机数,形成两个更新节点;依次迭代,直至缓存列表中不存在坐标数据相同的预处理节点。
[0121] 其中,随机数是随机生成不为0的数,设为k。可以理解地,若随机数k为0,则使两个坐标相同的预处理节点的x坐标和y坐标分别加上或减去随机数,无法形成两个不重叠的更新节点。
[0122] 本实施例中,若坐标数据为(x1,y1)的预处理节点A和B,使预处理节点A和B的x坐标和y坐标分别加上或减去随机数k1,则形成的两个更新节点A’(x1+k1,y1+k1)和B’(x1-k1,y1-k1),从而使两个预处理节点A和B均匀散开。相应地,若坐标数据为(x2,y2)的预处理节点C、D和E,使预处理节点C和D的x坐标和y坐标分别加上或减去随机数k2,则形成的两个更新节点C’(x2+k2,y2+k2)和D’(x2-k2,y2-k2),从而使三个预处理节点C、D和E(x2,y2)均匀散开。若坐标数据为(x3,y3)的预处理节点F、G、H和I,使预处理节点F和G的x坐标和y坐标分别加上或减去随机数k3,并使预处理节点H和I的x坐标和y坐标分别加上或减去随机数k4,则形成的四个更新节点F’(x3+k3,y3+k3)、G’(x3-k3,y3-k3)、H’(x3+k4,y3+k4)和I’(x3-k4,y3-k4),从而使四个预处理节点F、G、H和I均匀散开……遍历缓存列表中所有坐标数据相同的预处理节点,直至缓存列表中不存在坐标数据相同的至少两个预处理节点。
[0123] 去重节点输出子单元34,用于判断是否存在与更新节点坐标数据相同的预处理节点;若存在,则将更新节点与预处理节点放入所述缓存列表;若不存在,则将更新节点作为去重节点输出。
[0124] 由于遍历缓存列表所形成的更新节点可能会与其他未放入缓存列表中的预处理节点的坐标数据相同,即仍存在节点重叠现象,因此需判断是否存在与更新节点坐标数据相同的预处理节点;若存在,则将更新节点与预处理节点作为一组缓存节点组放入缓存列表中,跳转到节点去重处理子单元33;若不存在,则将更新节点作为去重节点输出,跳转到目标网络拓扑图形成单元40。可以理解地,初始网络拓扑图中的其他未放入缓存列表中的预处理节点也作为去重节点输出。
[0125] 目标网络拓扑图形成单元40,用于基于去重节点形成目标网络拓扑图。
[0126] 具体地,执行该网络拓扑自适应的数据可视化装置的计算机接收到去重节点,在浏览器中基于所有去重节点显示目标网络拓扑图,以展示数据可视化结果。当后台数据有更新时,再基于节点预处理单元10、初始网络拓扑图形成单元20、去重处理单元30和目标网络拓扑图形成单元40重新计算一遍,使得浏览器将最新数据的数据可视化结果显示,从而实现数据同步更新,而无需专业人员进行数据调整,有利于节省成本并提高数据可视化的处理效率。
[0127] 进一步地,由于节点预处理单元10输出的预处理节点的文件格式为gexf文件格式,初始网络拓扑图形成单元20和去重处理单元30中并没有对输出的初始网络拓扑图和去重节点进行文件格式转换,使得其输出的去重节点的文件格式仍为gexf文件格式,在基于去重节点形成目标网络拓扑图的过程中,gexf文件格式的网络传输数据量大,响应时间较慢。
[0128] 为克服上述问题,该网络拓扑自适应的数据可视化装置中还包括:格式转换单元50,用于对去重处理单元30输出的去重节点进行文件格式转换,输出json文件格式的去重节点,并将json文件格式的去重节点发送给目标网络拓扑图形成单元40。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言,具有易于人阅读和编写,同时也易于机器解析和生成的优点。
[0129] 具体地,对去重节点的gexf文件格式进行解析,获取节点(node)信息和边缘(edge)信息,并基于节点(node)信息和边缘(edge)信息,输出json文件格式的去重节点。可以理解地,将gexf文件格式的去重节点转换成json文件格式的去重节点,可减小网络传输数据量,提高响应时间,有利于提高数据可视化的处理效率。
[0130] 本实施例所提供的网络拓扑自适应的数据可视化装置可实现数据可视化自动化,简化数据可视化处理流程,无需人工干预,可有效节省人工干预成本,并提高处理效率。而且,该网络拓扑自适应的数据可视化装置中通过对重叠点的预处理节点进行去重处理,以消除节点之间重叠现象,使每一节点均能完整的呈现,使得最终形成的目标网络拓扑图结构清晰,可展示性强。而且,该网络拓扑自适应的数据可视化装置可实现数据自动同步更新,使业务需求分析和探索具有实时性。
[0131] 本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换和等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。