一种拓扑图生成方法、装置、设备及可读存储介质与流程

文档序号:18104060发布日期:2019-07-06 11:31阅读:213来源:国知局
一种拓扑图生成方法、装置、设备及可读存储介质与流程

本发明涉及计算机技术领域,更具体地说,涉及一种拓扑图生成方法、装置、设备及可读存储介质。



背景技术:

拓扑图是拓扑学中研究与大小、距离无关的几何图形特性的方法,其用于展示图中不同节点之间的关联关系或连接关系。例如:网络拓扑图由网络节点设备和通信介质构成,其能够展示不同网络设备之间的连接关系。需要说明的是,网络拓扑图仅是拓扑学的一种具体应用,本申请提及的拓扑图指代广义上的拓扑图,例如:一个公司的职位分布构成的拓扑图,一个家庭中不同家庭成员构成的拓扑图等。

在现有技术中,拓扑图仅用于展示不同节点之间的直接关联关系。例如:a的债权人为b,b的债权人为c,那么c即为a的间接债权人,而现有技术中一般仅展示a与b、b与c之间的关联关系,而无法展示a与c之间的间接关联关系,即无法关联跨层级的节点。由于现有技术无法展示不同节点之间的间接关联关系,因此基于现有的拓扑图,无法系统的研究拓扑图中的具有间接关联关系的节点之间的共性和异性,为数据分析和决策策略的制定带来了不便。

因此,如何生成用于展示不同节点之间的间接关联关系的拓扑图,实现拓扑图中的不同节点的跨层级关联,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种拓扑图生成方法、装置、设备及可读存储介质,以生成用于展示不同节点之间的间接关联关系的拓扑图,实现拓扑图中的不同节点的跨层级关联。

为实现上述目的,本发明实施例提供了如下技术方案:

一种拓扑图生成方法,包括:

获取用于生成拓扑图的所有数据点,以及每个数据点的属性信息,所述属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;

按照所述数据点所属层级在所有数据点中确定中心点和所述中心点的中心坐标值;

以所述中心坐标值为参考坐标值,按照所述数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除所述中心点外的其他数据点的坐标值;

按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,所述拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。

其中,还包括:

当增加数据点至所述拓扑图时,获取新增数据点的属性信息,所述新增数据点的属性信息至少包括:所述新增数据点id、所述新增数据点显示信息、所述新增数据点所属层级、所述新增数据点位于中心点左或右、位于所述新增数据点左边的第一数据点集合和位于所述新增数据点右边的第二数据点集合;

根据所述新增数据点所属层级、所述x轴间隔值和所述y轴间隔值计算所述新增数据点的坐标值;

按照所述新增数据点与所述拓扑图中已知数据点的直接关联关系和间接关联关系,不同新增数据点之间的直接关联关系和间接关联关系,连接所述新增数据点至所述拓扑图中。

其中,还包括:

当变更所述拓扑图的位置时,根据所述拓扑图的预期位置计算所述拓扑图中的所有数据点的预期位置坐标值,并按照所述拓扑图中的各个数据点之间的直接关联关系和间接关联关系连接各个数据点的预期位置坐标值。

其中,所述根据所述拓扑图的预期位置计算所述拓扑图中的所有数据点的预期位置坐标值,包括:

在所述拓扑图中任选一个数据点作为变更点,获取所述变更点在当前位置的坐标值;

根据所述拓扑图的预期位置确定所述变更点的预期位置坐标值;

计算所述变更点的当前位置坐标值与所述变更点的预期位置坐标值的差值;

按照所述差值计算所述拓扑图中除所述变更点外的其他数据点的预期位置坐标值。

其中,所述生成拓扑图之后,还包括:

利用cytoscape工具展示所述拓扑图。

其中,所述生成拓扑图之后,还包括:

根据所述拓扑图中的目标数据点的坐标值变化调整连接所述目标数据点的连接线。

一种拓扑图生成装置,包括:

获取模块,获取用于生成拓扑图的所有数据点,以及每个数据点的属性信息,所述属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;

确定模块,用于按照所述数据点所属层级在所有数据点中确定中心点和所述中心点的中心坐标值;

计算模块,用于以所述中心坐标值为参考坐标值,按照所述数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除所述中心点外的其他数据点的坐标值;

生成模块,用于按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,所述拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。

其中,还包括:

增加模块,用于当增加数据点至所述拓扑图时,获取新增数据点的属性信息,所述新增数据点的属性信息至少包括:所述新增数据点id、所述新增数据点显示信息、所述新增数据点所属层级、所述新增数据点位于中心点左或右、位于所述新增数据点左边的第一数据点集合和位于所述新增数据点右边的第二数据点集合;根据所述新增数据点所属层级、所述x轴间隔值和所述y轴间隔值计算所述新增数据点的坐标值;按照所述新增数据点与所述拓扑图中已知数据点的直接关联关系和间接关联关系,不同新增数据点之间的直接关联关系和间接关联关系,连接所述新增数据点至所述拓扑图中。

一种拓扑图生成设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任意一项所述的拓扑图生成方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的拓扑图生成方法的步骤。

通过以上方案可知,本发明实施例提供的一种拓扑图生成方法,包括:获取用于生成拓扑图的所有数据点,以及每个数据点的属性信息,所述属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;按照所述数据点所属层级在所有数据点中确定中心点和所述中心点的中心坐标值;以所述中心坐标值为参考坐标值,按照所述数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除所述中心点外的其他数据点的坐标值;按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,所述拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。

可见,所述方法基于不同数据点的属性信息构建拓扑图,并按照属性信息中数据点所属层级、x轴间隔值和y轴间隔值计算各个数据点的坐标值,使得拓扑图中各个数据点能够合理的分布,避免了数据点的重叠和覆盖。同时生成的拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点,即实现拓扑图中的不同节点的跨层级关联。故基于本发明提供的拓扑图生成方法生成的拓扑图,可以系统的研究拓扑图中的具有间接关联关系的节点之间的共性和异性,为数据分析和决策策略的制定提供便利。

相应地,本发明实施例提供的一种拓扑图生成装置、设备及可读存储介质,也同样具有上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种拓扑图生成方法流程图;

图2为本发明实施例公开的一种蟹型拓扑图;

图3为本发明实施例公开的一种拓扑图生成装置示意图;

图4为本发明实施例公开的一种拓扑图生成设备示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种拓扑图生成方法、装置、设备及可读存储介质,以生成能够展示不同节点之间的间接关联关系的拓扑图,实现拓扑图中的不同节点的跨层级关联。

参见图1,本发明实施例提供的一种拓扑图生成方法,包括:

s101、获取用于生成拓扑图的所有数据点,以及每个数据点的属性信息;

其中,属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;

其中,数据点id即为数据点包含的关键字,数据点所属层级即为当前数据点在拓扑图中的层级。

s102、按照数据点所属层级在所有数据点中确定中心点和中心点的中心坐标值;

具体的,中心点所属层级一般可设置为0,中心坐标值一般可设置为(0,0),如此可便于计算其他数据点的坐标值。

s103、以中心坐标值为参考坐标值,按照数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除中心点外的其他数据点的坐标值;

需要说明的是,x轴间隔值表示各个数据点在x轴上分布时的间隔距离,y轴间隔值表示各个数据点在y轴上分布时的间隔距离,x轴间隔值和y轴间隔值可根据实际应用情况灵活调整,故本实施例在此不做具体限定。

数据点即为拓扑图中的节点。每个数据点存储有自身的属性信息,每个数据点的属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合。由于每个数据点的属性信息记录有数据点所属层级,因此可知悉每个数据点在拓扑图中的分布位置。

其中,第一数据点集合和第二数据点集合中的数据点均为当前数据点的子数据点,因此第一数据点集合和第二数据点集合中还携带有当前数据点与每个子数据点的父子关系。也就是说,对于每个数据点而言,其自身的子数据点以及父子关系以属性的方式记录在其属性信息中。

例如:目前存在三个数据点:a、b、c,其分别对应的层级为1、2、3;中心点坐标值为(0,0),且a、b、c均位于中心点的右边;且每个层级上仅存在一个数据点,那么就可知悉这三个数据点在拓扑图中的排列关系。若x轴间隔值为1,y轴间隔值为2,以右方向为x轴正方向,以上方向为y轴正方向,那么a的坐标值可以为(1,0),b的坐标值可以为(2,0),c的坐标值可以为(3,0)。若第三层级存在3个数据点,那么这3个数据点的坐标值可以为(3,2)、(3,0)和(3,-2)。其中,为使拓扑图具有美观性,在一个层级上可使数据点均匀分布。

s104、按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。

需要说明的是,位于当前数据点同侧,且x轴坐标值相同的数据点即可组成数据点集合。若当前数据点两侧的子数据点的数量相同,则当前数据点两侧的数据点可对称分布,形似蟹型,如此拓扑图则更直观且更具美感。当然,拓扑图还可以根据数据点的分布情况呈现其他形状,例如:网状、星型等。也就是说,以中心点为参考点,各个数据点可呈对称分布,使拓扑图形似蟹型;以某个数据点为参考点,该数据点的子数据点也可呈对称分布,以使当前数据点和其子数据点构成一个较小的蟹型拓扑图。

请参见图2中的蟹型拓扑图,图2中包括四个拓扑图层级,分别为中心点所在的零层级、左一层级、右一层级和右二层级。其中,左一层级由三个数据点组成,右一层级由两个数据点组成,右二层级由三个数据点组成。处于右二层级的数据点1与中心点具有间接关联关系。从图2可看出,数据点之间的间接关联关系和直接关联关系可以采用不同的连接线进行标识,例如图2中的不同形状的连接线或相同形状但不同颜色的连接线,不同形状的连接线包括:虚线和实线,不同粗细的连接线,直线和波浪线等。

以图2为例,位于右一层级的数据点1的属性信息至少包括:数据点1的id、数据点1的显示信息、数据点1所属层级(右一层级)、数据点1位于中心点的右边。由于数据点1无子数据点,因此没有位于数据点1左边的第一数据点集合和位于数据点1右边的第二数据点集合,此时可将数据点1的第一数据点集合和第二数据点集合均标记为“null”。

在本实施例中,所述生成拓扑图之后,还包括:利用cytoscape工具展示所述拓扑图。cytoscape是一款图形化显示和编辑的软件,能够展示拓扑图。

在本实施例中,所述生成拓扑图之后,还包括:根据所述拓扑图中的目标数据点的坐标值变化调整连接所述目标数据点的连接线。即实现拓扑图中的每个节点的自由拖动和位置更改。

可见,本实施例提供了一种拓扑图生成方法,所述方法基于不同数据点的属性信息构建拓扑图,并按照属性信息中数据点所属层级、x轴间隔值和y轴间隔值计算各个数据点的坐标值,使得拓扑图中各个数据点能够合理的分布,避免了数据点的重叠和覆盖。同时生成的拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点,即实现拓扑图中的不同节点的跨层级关联。

基于上述实施例,需要说明的是,还包括:

当增加数据点至所述拓扑图时,获取新增数据点的属性信息,所述新增数据点的属性信息至少包括:所述新增数据点id、所述新增数据点显示信息、所述新增数据点所属层级、所述新增数据点位于中心点左或右、位于所述新增数据点左边的第一数据点集合和位于所述新增数据点右边的第二数据点集合;

根据所述新增数据点所属层级、所述x轴间隔值和所述y轴间隔值计算所述新增数据点的坐标值;

按照所述新增数据点与所述拓扑图中已知数据点的直接关联关系和间接关联关系,不同新增数据点之间的直接关联关系和间接关联关系,连接所述新增数据点至所述拓扑图中。

具体的,若新增数据点的坐标值与拓扑图中的已知数据点的坐标值重复,则调整新增数据点的x坐标值或y轴坐标值,以避免新增数据点与拓扑图中的已知数据点重叠。

基于上述实施例,需要说明的是,还包括:

当变更所述拓扑图的位置时,根据所述拓扑图的预期位置计算所述拓扑图中的所有数据点的预期位置坐标值,并按照所述拓扑图中的各个数据点之间的直接关联关系和间接关联关系连接各个数据点的预期位置坐标值。

其中,所述根据所述拓扑图的预期位置计算所述拓扑图中的所有数据点的预期位置坐标值,包括:

在所述拓扑图中任选一个数据点作为变更点,获取所述变更点在当前位置的坐标值;

根据所述拓扑图的预期位置确定所述变更点的预期位置坐标值;

计算所述变更点的当前位置坐标值与所述变更点的预期位置坐标值的差值;

按照所述差值计算所述拓扑图中除所述变更点外的其他数据点的预期位置坐标值。

本发明实施例公开了另一种拓扑图生成方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。

本发明实施例提供的另一种拓扑图生成方法,包括:

1、确定所有节点数据nodes,和每个节点数据的属性信息;

其中,每个节点数据的属性信息至少包括:数据点id(即关键字)、数据点显示信息、数据点所属层级(即在拓扑图中的层级)、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合。

数据点位于中心点左或右即当前节点位于中心点的方向,方向包括左右两个方向,每个方向用一个标识信息表示,例如:左用a表示,右用b表示。位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合即为:位于当前数据点同侧、且x轴坐标值相同的数据点组成集合,以左右之分可分为位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合。且第一数据点集合和第二数据点集合中的数据点均为当前数据点的子数据点,因此这两个集合同时携带有当前数据点与不同子数据点的父子关系。

2、在所有节点数据nodes中选取中心节点,并设置中心节点的坐标值,确定x轴间隔值和y轴间隔值;

中心节点的选取依照各个节点数据的属性信息中的拓扑图层级确定。

3、根据中心节点的坐标值、x轴间隔值、y轴间隔值和不同节点数据之间的直接关联关系和间接关联关系,计算除中心节点外的其他节点数据的坐标值,并连接各个坐标值,形成拓扑图。

若新增节点时,计算出的新增节点的坐标值与拓扑图中的已知节点重复,则调整新增节点的y坐标值或y轴坐标值,以避免节点重叠。若新增节点的坐标值与拓扑图中的已知节点不重复,则将新增节点连接至拓扑图。

下面对本发明实施例提供的一种拓扑图生成装置进行介绍,下文描述的一种拓扑图生成装置与上文描述的一种拓扑图生成方法可以相互参照。

参见图3,本发明实施例提供的一种拓扑图生成装置,包括:

获取模块301,获取用于生成拓扑图的所有数据点,以及每个数据点的属性信息,所述属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;

确定模块302,用于按照所述数据点所属层级在所有数据点中确定所述中心点和所述中心点的中心坐标值;

计算模块303,用于以所述中心坐标值为参考坐标值,按照所述数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除所述中心点外的其他数据点的坐标值;

生成模块304,用于按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,所述拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。

其中,还包括:

增加模块,用于当增加数据点至所述拓扑图时,获取新增数据点的属性信息,所述新增数据点的属性信息至少包括:所述新增数据点id、所述新增数据点显示信息、所述新增数据点所属层级、所述新增数据点位于中心点左或右、位于所述新增数据点左边的第一数据点集合和位于所述新增数据点右边的第二数据点集合;根据所述新增数据点所属层级、所述x轴间隔值和所述y轴间隔值计算所述新增数据点的坐标值;按照所述新增数据点与所述拓扑图中已知数据点的直接关联关系和间接关联关系,不同新增数据点之间的直接关联关系和间接关联关系,连接所述新增数据点至所述拓扑图中。

其中,还包括:

变更模块,用于当变更所述拓扑图的位置时,根据所述拓扑图的预期位置计算所述拓扑图中的所有数据点的预期位置坐标值,并按照所述拓扑图中的各个数据点之间的直接关联关系和间接关联关系连接各个数据点的预期位置坐标值。

其中,所述变更模块包括:

获取单元,用于在所述拓扑图中任选一个数据点作为变更点,获取所述变更点在当前位置的坐标值;

确定单元,用于根据所述拓扑图的预期位置确定所述变更点的预期位置坐标值;

第一计算单元,用于计算所述变更点的当前位置坐标值与所述变更点的预期位置坐标值的差值;

第二计算单元,用于按照所述差值计算所述拓扑图中除所述变更点外的其他数据点的预期位置坐标值。

其中,还包括:

展示模块,用于利用cytoscape工具展示所述拓扑图。

其中,还包括:

调整模块,用于根据所述拓扑图中的目标数据点的坐标值变化调整连接所述目标数据点的连接线。

可见,本实施例提供了一种拓扑图生成装置,包括:获取模块、确定模块、计算模块以及生成模块。首先由获取模块用于生成拓扑图的所有数据点,以及每个数据点的属性信息,属性信息至少包括:数据点id、数据点显示信息、数据点所属层级、数据点位于中心点左或右、位于数据点左边的第一数据点集合和位于数据点右边的第二数据点集合;然后确定模块按照数据点所属层级在所有数据点中确定中心点和中心点的中心坐标值;进而计算模块以中心坐标值为参考坐标值,按照数据点所属层级,预设的拓扑图x轴间隔值和y轴间隔值计算除中心点外的其他数据点的坐标值;最后生成模块按照不同数据点之间的直接关联关系和间接关联关系连接各个数据点的坐标值,生成拓扑图,拓扑图用于展示不同数据点之间的直接关联关系和间接关联关系,关联了跨层级的数据点。如此各个模块之间分工合作,各司其职,实现了拓扑图中的不同节点的跨层级关联,能够为数据分析和决策策略的制定提供便利。

下面对本发明实施例提供的一种拓扑图生成设备进行介绍,下文描述的一种拓扑图生成设备与上文描述的一种拓扑图生成方法及装置可以相互参照。

参见图4,本发明实施例提供的一种拓扑图生成设备,包括:

存储器401,用于存储计算机程序;

处理器402,用于执行所述计算机程序时实现上述任意实施例所述的拓扑图生成方法的步骤。

下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种拓扑图生成方法、装置及设备可以相互参照。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的拓扑图生成方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1