CN106445931B - 数据库节点关联关系展示方法及装置 - Google Patents

数据库节点关联关系展示方法及装置 Download PDF

Info

Publication number
CN106445931B
CN106445931B CN201510472482.5A CN201510472482A CN106445931B CN 106445931 B CN106445931 B CN 106445931B CN 201510472482 A CN201510472482 A CN 201510472482A CN 106445931 B CN106445931 B CN 106445931B
Authority
CN
China
Prior art keywords
node
incidence relation
child
depth capacity
display area
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
Application number
CN201510472482.5A
Other languages
English (en)
Other versions
CN106445931A (zh
Inventor
刘飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510472482.5A priority Critical patent/CN106445931B/zh
Publication of CN106445931A publication Critical patent/CN106445931A/zh
Application granted granted Critical
Publication of CN106445931B publication Critical patent/CN106445931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本申请实施例公开了一种数据库节点关联关系展示方法及装置,以及使用所述数据库节点关联关系展示方法的数据库节点查询结果显示方法及装置。在计算节点的最大深度后,根据节点的最大深度决定节点在关联关系展示区域的坐标,根据节点的坐标在关联关系展示区域中绘制点代表数据库节点,绘制点与点之间的连线表示数据库节点之间的关系,从而直观地展示数据库节点的全局关系及数据库节点之间的层级关系,另外,基于绘制好的关联关系图,将节点和节点连线的默认显示状态设置为隐藏或灰色显示,当用户查询某个节点时,增亮该节点以及该节点与其父节点和其子节点的连线,使用户可以直观地观察被查询节点的关联关系情况。

Description

数据库节点关联关系展示方法及装置
技术领域
本发明涉及软件技术领域,尤其涉及数据库节点关联关系展示方法及装置。
背景技术
数据库中的数据以一定的结构进行组织和存储,每条数据记录为一个节点,数据结构即节点与节点之间的关联关系。数据库中节点之间的关联关系呈现出多层次的树形或者网状形态。传统展示数据节点关联关系的方式包括表格和树形图。
如表1所示,表格(包括翻页表格)展示出全部的节点信息以及每个节点相关联的目标节点,通常可以通过节点详情链接打开新页面来展示节点详情,在节点详情页面列举节点的全部关联关系,并可以提供链接跳转到关联的目标节点的详情页面。
节点名称 节点描述 关联的目标节点 详情
节点1 节点1描述 节点2 节点1详情链接
节点2 节点2描述 节点3 节点2详情链接
节点3 节点3描述 节点3详情链接
节点4 节点4描述 节点1,节点2,节点3 节点4详情链接
树形图以层级展示节点之间的关联关系,父节点在顶层的一级层次,点击父节点可以展开相关联的子节点,同时可以选中具体节点展示节点详情。如图1所示,节点3为父节点,点击节点3展开与其相关联子节点即节点2和节点4,同时节点2还有与其相关的第二层子节点,点击节点2展开其子节点即节点1和节点4,同时点击节点1还可以展开与其相关联的子节点即节点4。
但是表格的方式不能展示出全局的节点关联结构信息,通过表格也很难快速找出一个节点相关的全部关联结构。树形图虽然可以展示出树形结构的全部节点关联信息,但是存在网状关联关系的节点会在树中出现多次,影响对节点全局关联关系的判断。
发明内容
为克服相关技术中不能展示数据库节点全局关联关系的问题,本申请提供一种数据库节点关联关系展示方法及装置。
根据本申请实施例的第一方面,提供一种数据库节点关联关系展示方法,包括:
获取数据库中节点的信息;
遍历数据库中的节点,并获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息;
根据节点的子节点信息计算节点的最大深度d;
根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标;
根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息;
根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
可选的,所述根据节点的子节点信息计算节点的最大深度,包括:
步骤a1,判断节点是否存在子节点;
步骤a2,如果节点不存在子节点,则设置节点的最大深度为0;
步骤a3,如果节点存在子节点,则设置最大深度d=1;
步骤a4,遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
步骤a5,如果所述第d层子节点存在子节点,则将最大深度d加1,并返回步骤a4;
步骤a6;如果所述第d层子节点不存在子节点,则返回最大深度d。
可选的,所述根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,确定节点在关联关系展示区域的坐标,包括:
计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
在范围[yl,yu]中随机取值作为纵坐标y的值;
在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
可选的,所述根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,确定节点在关联关系展示区域的坐标,包括:
根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
计算节点的纵坐标y的范围[yl,yu],其中, 其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
在范围[yl,yu]中随机取值作为纵坐标y的值;
在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
根据本申请实施例的第二方面,提供一种使用本申请实施例第一方面所述数据库节点关联关系展示方法的数据库节点查询结果显示方法,包括:
设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
根据用户输入的查询条件确定用户查询的节点;
在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
与本申请实施例的第一方面相应,根据本申请实施例的第三方面,提供一种数据库节点关联关系展示装置,包括:
节点信息获取单元,用于获取数据库中节点的信息;
关联信息获取单元,用于遍历数据库中的节点,获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息;
最大深度计算单元,用于根据节点的子节点信息计算节点的最大深度d;
节点坐标计算单元,用于根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标;
节点绘制单元,用于根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息;
节点连线绘制单元,用于根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
可选的,所述最大深度计算单元,包括:
第一判断子单元,用于判断节点是否存在子节点;
第一执行子单元,用于如果节点不存在子节点,则设置节点的最大深度为0;
第二执行子单元,用于如果节点存在子节点,则设置最大深度d=1;
第二判断子单元,用于遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
第三执行子单元,用于如果所述第d层子节点存在子节点,则将最大深度d加1,并返回所述第二判断子单元;
第四执行子单元,用于如果所述第d层子节点不存在子节点,则返回最大深度d。
可选的,所述节点坐标计算单元,包括:
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
可选的,所述节点坐标计算单元,包括:
统计子单元,用于根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中,其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
与本申请实施例的第二方面相应,根据本申请实施例的第四方面,提供一种本申请实施例第三方面所述数据库节点关联关系展示装置的数据库节点查询结果显示装置,包括:
默认显示状态设置单元,用于设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
节点确定单元,用于根据用户输入的查询条件确定用户查询的节点;
增亮显示单元,用于在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
本申请实施例提供的技术方案,在计算节点的最大深度后,根据节点的最大深度决定节点在关联关系展示区域的坐标,根据节点的坐标在关联关系展示区域中绘制点代表数据库节点,绘制点与点之间的连线表示数据库节点之间的关系。本申请实施例提供的技术方案不仅可以直观地展示数据库节点的全局关系,而且通过绘制的点的位置表征数据库节点的最大深度的大小,从而反映数据库节点之间的层级关系,另外,基于绘制好的关联关系图,将节点和节点连线的默认显示状态设置为隐藏或灰色显示,当用户查询某个节点时,将查询结果对应的节点、以及该节点与其父节点和其子节点的连线增亮显示,从而使用户能够直观地观察被查询节点的关联关系情况。并且当用户对关联关系展示区域中的节点进行激活操作时,显示被操作的节点的信息,方便用户了解节点的详细情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一示例性实施例示出的一种数据库节点关联关系展示方法的流程示意图。
图2为图1所示方法中步骤S103的流程示意图。
图3为图1所示方法中步骤S104的一种实施方式的流程示意图。
图4为图1所示方法中步骤S104的另一种实施方式的流程示意图。
图5为本申请一示例性实施例示出的一种数据库节点查询结果显示方法的流程示意图。
图6为本申请一示例性实施例示出的一种数据库节点关联关系展示装置的框图。
图7为本申请一示例性实施例示出的一种数据库节点查询结果显示装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了全面理解本申请,在以下详细描述中提到了众多具体的细节,但是本领域技术人员应该理解,本申请可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程、组件和电路,以免不必要地导致实施例模糊。
图1为本申请一示例性实施例示出的一种数据库节点关联关系展示方法的流程示意图,如图1所示,所述方法包括:
步骤S101,获取数据库中节点的信息。
步骤S102,遍历数据库中的节点,并获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息。
数据库中节点的信息为节点本身的各个属性信息,包括节点的标识和描述,对于数据库中的节点,可以获取节点的所有信息,也可以根据实际需要获取必要的信息,例如允许用户查看的部分信息。节点的关联信息包括节点的所有父节点和所有子节点的描述,例如节点的继承属性中描述的继承了哪些节点(父节点)以及被哪些节点继承(子节点)。在一种应用场景中,节点的继承属性只描述直接继承节点的子节点,也就是节点的第一层子节点,但由于节点的子节点还可能被其他节点继承,因此这种情况下一个节点的完整的关联信息需要由多个节点的继承属性建立,因而需要先获取到数据库中节点的信息,遍历节点,根据各个节点的继承属性建立每个节点完整的关联信息。
步骤S103,根据节点的子节点信息计算节点的最大深度d。
其中,节点的最大深度表示了节点的子节点的层数,没有子节点的节点其最大深度为0,有一层子节点的节点最大深度为1,以此类推。计算节点的最大深度,如果节点的继承属性中只描述直接继承节点的子节点,在这种应用场景下,可以搜寻递归的方法,如图2所示,步骤S103可以包括:
步骤a1,判断节点是否存在子节点;
步骤a2,如果节点不存在子节点,则设置节点的最大深度为0;
步骤a3,如果节点存在子节点,则设置最大深度d=1;
步骤a4,遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
步骤a5,如果所述第d层子节点存在子节点,则将最大深度d加1,并返回步骤a4;
步骤a6;如果所述第d层子节点不存在子节点,则返回最大深度d。
其中,首先通过读取节点的继承属性,判断节点是否存在子节点,如果不存在,则节点的最大深度为0,如果存在,则先设置最大深度d=1,也就是设置最大深度初始值为1,然后逐层遍历子节点并累计子节点层数,具体为:遍历节点的第1层子节点,通过读取第1层子节点的继承属性判断第1层子节点是否存在子节点,也就是第一层子节点中是否有节点存在子节点,如果有,则最大深度加1,也就是递归计算d=d+1,此时最大深度d=2,然后以相同方式遍历节点的第2层子节点,以此类推,遍历节点的第d层子节点,如果第d层子节点存在子节点,则d加1,程序实现中即使用递归加法计算式d=d+1,得到新的d值,并继续遍历第d层子节点。如果遍历第d层子节点时,第d层子节点不存在子节点,也就是第d层为最后一层子节点,则此时的d值即节点的最大深度值。例如,某个节点存在子节点,则此时节点的最大深度d=1;然后遍历该节点的第1层子节点,其第1层子节点中有节点存在子节点,则d=1+1=2;然后遍历该节点的第2层子节点,也就是第1层子节点的子节点,第2层子节点中也有节点存在子节点,则d=2+1=3;然后遍历该节点的第3层子节点,第3层子节点中的节点都不存在子节点,则遍历结束,节点的最大深度d=3,由于最大深度计算由程序实现,此时程序返回最大深度d=3,也就是得到节点的最大深度值3。
在另一种应用场景中,数据库中(节点较少且关联关系简单的数据库)节点的继承属性描述了节点的主要子节点,包括直接继承的子节点和最大深度子节点所在分支上的所有子节点,这种情况下,最大深度可以通过读取节点的继承属性中最大深度子节点所在分支的层数来确定节点的最大深度。
步骤S104,根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标。
其中,为比较方便且直观地显示节点之间的层次关系,在关联关系展示区域中,用绘制的节点的高度不同来表示其最大深度的不同,也就是节点在关联关系展示区域的纵坐标由其最大深度决定,由于节点之间没有横向联系,节点在关联关系区域的横坐标可以随机取值。由上所述,如图3所示,步骤S104在一种可能的实施方式中,可以包括:
(b1)计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
(b2)在范围[yl,yu]中随机取值作为纵坐标y的值;
(b3)在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
其中,为防止最大深度相同的节点集中在一条线上,在确定节点在纵坐标取值前,先给出节点纵坐标的取值范围,该取值范围也由节点的最大深度决定。由于最大深度越大的,子节点层次越多,为方便显示节点层级关系,最大深度越大的节点其纵坐标越小(这是因为屏幕上的点从上至下,纵坐标变大)。将关联关系展示区域纵坐标范围为(0~h),最大深度为0的节点在最低端,其纵坐标最大值为h,也就是其纵坐标范围中yu=h,另一方面,最大深度为Dmax的节点在最顶端,其纵坐标最小值为0,也就是其纵坐标范围中yl=0。但节点在最低端和最顶端视觉上是难以看见的,同时也为了防止最大深度相同的节点集中在一条线上,根据节点的最大深度确定一个纵坐标范围(取值区间)[yl,yu],其边界值为yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1)。例如,最大深度为0的节点,纵坐标范围为[h,Dmax×h/(Dmax+1)],设h=10,Dmax=9,则纵坐标范围为[10,9],在这个紧接着关联关系展示区域底端的范围内随机选择一个值,例如9.5作为最大深度为0的节点的纵坐标。又例如,最大深度为Dmax的节点,纵坐标范围为[1/h,0],设h=10,Dmax=9,则纵坐标范围为[0.1,0],随机取值0.05作为节点的纵坐标。节点的横坐标则可以随机取值,取值范围不超过关联关系展示区域的横坐标范围。
需要说明的是,本申请提供的技术方案并不在于精确地在关联关系展示区域定位节点,而在于显示节点和节点之间的联系和层次,因此在确定纵坐标的范围后,在范围内随机取值作为纵坐标值,同时关联关系展示区域中点之间的横向联系并不反映层次关系,因此节点的横坐标可以随机取值。关联关系展示区域的高度和宽度则根据展示的需要事先设定,当关联关系展示区域为固定页面时,其横纵坐标范围为固定的绝对值,当关联关系展示区域为活动页面时,其横纵坐标范围为相对值,相应的节点坐标根据关联关系展示区域相对于屏幕的平移而平移,本申请技术方案中计算的节点横纵坐标是相对于关联关系展示区域的横纵坐标,当关联关系展示区域相对于屏幕平移时,节点相对于屏幕的坐标也自动平移。
步骤S104的上述实施方式,节点的纵坐标与节点的最大深度成反比,从而可以将节点的层次在关联关系展示区域上区别出来。但是如果数据库节点众多,有很多点的最大深度相同,那么可能导致在一个纵坐标范围内有非常多的点,在关联关系展示区域上会出现一个区域内节点非常集中,影响对节点和节点之间连线的绘制及观察,因此,如图4所示,步骤S104在另一种可能的实施方式中,步骤S104可以包括:
(c1)根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
(c2)计算节点的纵坐标y的范围[yl,yu],其中, 其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
(c3)在范围[yl,yu]中随机取值作为纵坐标y的值;
(c4)在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
其中,计算得到每个节点的最大深度后,首先统计不同最大深度对应的节点个数,例如,有20个节点,计算出节点的最大深度有0、1、2、4、6五个值,最大深度为0的有2个节点,最大深度为1的有4个节点,最大深度为2的有6个节点,最大深度为4的有6个节点,最大深度为6的有2个节点。为方便后续计算,将计算出的最大深度按升序排列,也可以按降序排列。设计算得到的节点的不同最大深度d0、d1至dm分别对应的节点个数为N0、N1至Nm,其中d0<d1……<dm,由于最大深度越小的节点纵坐标越大,最大深度越大的节点纵坐标越小,因此由上至下节点深度为dm至d0,对应节点个数为Nm至N0,然后将关联关系展示区域沿纵向根据节点个数分为多个区域,区域以[yl,yu]表示,且则最大深度相同的节点都在一个区域,且该区域的宽度与该区域中的节点个数成正比,从而使得最大深度相同的节点不会过于集中导致节点和节点连线展示不清楚。举例而言,设h为10,上述20个节点,d0=0,d1=1,d2=2,d3=4,d4=6,N0=2,N1=4,N2=6,N3=6,N4=2,则对于最大深度为0的节点,c=0,yl=10,yu=9,最大深度为0的节点的纵坐标范围为[10,9];对于最大深度为1的节点,c=1,yl=9,yu=7,最大深度为1的节点的纵坐标范围为[9,7];对于最大深度为2的节点,c=2,yl=7,yu=4,最大深度为2的节点的纵坐标范围为[7,4];对于最大深度为4的节点,c=3,yl=4,yu=1,最大深度为4的节点的纵坐标范围为[4,1];对于最大深度为6的节点,c=4,yl=1,yu=0,最大深度为6的节点的纵坐标范围为[1,0]。由上述计算结果可以看到,最大深度对应的节点数较多,其对应的节点的纵坐标范围也较宽,从而避免节点过于集中。
在得到节点的纵坐标范围后,在其纵坐标范围中随机取值作为节点的纵坐标,节点的横坐标则在关联关系展示区域的宽度范围内随机取值,由此得到节点在关联关系展示区域的坐标。
步骤S105,根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息。
步骤S106,根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
其中,调用绘图组件例如Mschart和Teechart等来绘制节点和节点之间的连线。绘图组件根据节点的坐标在关联关系展示区域以图形表示节点进行绘制,同时将节点的信息与节点进行关联,关联方式为将表示节点的图形作为节点信息展示的激活点,通过所述节点的图形获取用户的激活操作,所述激活操作预先设定,例如对于PC终端而言,激活操作为鼠标悬停于节点的图形或者鼠标点击节点的图形,对于触摸式终端而言,激活操作为触摸或点击节点的图形。当通过节点的图像获取到激活操作时,显示节点的信息,所述节点的信息可以以悬浮框的方式显示,也可以在关联关系区域展示区域中靠近节点处展示节点的信息。当节点的信息内容较多时,在一种可能的实施方式中,通过节点的图像获取激活操作后,显示节点信息链接,用户点击所述节点信息链接后跳转到节点的信息的展示页面,用户可以查看详细的节点信息。
绘图组件根据节点和节点的关联信息绘制,具体地是根据节点、节点的父节点信息和节点子节点信息绘制。需要说明的是,由于连线是两个节点之间的关系,因此在绘制节点A与节点B的连线后,不必再重复绘制节点B与节点A的连线,避免重复绘制,例如节点B是节点A的父节点,则绘制节点A与其父节点连线时,节点A与节点B的连线已绘制,因此无需再绘制节点B与其子节点A的连线。
本申请实施例提供的技术方案在计算节点的最大深度后,根据节点的最大深度决定节点在关联关系展示区域的坐标,根据节点的坐标在关联关系展示区域中绘制点代表数据库节点,绘制点与点之间的连线表示数据库节点之间的关系。本申请实施例提供的技术方案不仅可以直观地展示数据库节点的全局关系,而且通过绘制的点的位置表征数据库节点的最大深度的大小,从而反映数据库节点之间的层级关系。并且当用户对关联关系展示区域中的节点进行激活操作时,显示被操作的节点的信息,方便用户了解节点的详细情况。
图5为本申请一示例性实施例示出的一种使用图1所示数据库节点关联关系展示方法的数据库节点查询结果显示方法的流程示意图,如图5所示,所述方法包括:
步骤S501,设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
步骤S502,根据用户输入的查询条件确定用户查询的节点;
步骤S503,在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
其中,完整的数据库关联关系展示,展示了数据库中的各个节点以及各个节点之间的关联关系(通过节点之间的连线体现),是全局的展示,但当需要具体查看某一个节点和该节点的关联情况时,由于整个关联关系展示区域节点众多连线众多,会使得用户难以清晰明确的查看到想要查看的内容。为方便用户的查看,在用户查询某个节点时,才显示该节点及该节点与其父节点及其子节点的连线,其他节点和连线则不显示或灰色显示,从而突出用户查询的内容。为实现上述目的,将关联关系展示区域的所有节点和连线的默认显示状态设置为隐藏或灰色显示,用户输入查询条件后,根据用户的查询条件在数据库中查询得到对应的节点,然后在关联关系展区区域增亮原本隐藏或灰色显示的对应的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。当用户删除查询条件,或者结束查询时,可以将关联关系展示区域的所有节点和连线重新设置为默认显示状态,也可以保留上一次查询时的显示结果,在下一次查询时,先将关联关系展示区域重新设置为默认显示状态,然后只显示该次查询结果。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,并存储在一个存储介质中,包括若干指令用以使得一台智能设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储数据和程序代码的介质。
图6为本申请一示例性实施例示出的一种数据库节点关联关系展示装置的框图。如图6所示,所述装置包括:
节点信息获取单元U601,用于获取数据库中节点的信息;
关联信息获取单元U602,用于遍历数据库中的节点,获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息;
最大深度计算单元U603,用于根据节点的子节点信息计算节点的最大深度d;
节点坐标计算单元U604,用于根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标;
节点绘制单元U605,用于根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息;
节点连线绘制单元U606,用于根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
其中,所述最大深度计算单元,可以包括:
第一判断子单元,用于判断节点是否存在子节点;
第一执行子单元,用于如果节点不存在子节点,则设置节点的最大深度为0;
第二执行子单元,用于如果节点存在子节点,则设置最大深度d=1;
第二判断子单元,用于遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
第三执行子单元,用于如果所述第d层子节点存在子节点,则将最大深度d加1,并返回所述第二判断子单元;
第四执行子单元,用于如果所述第d层子节点不存在子节点,则返回最大深度d。
其中,所述节点坐标计算单元,在一种可能的实施方式中,可以包括:
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
其中,所述节点坐标计算单元,在另一种可能的实施方式中,可以包括:
统计子单元,用于根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中,其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
图7为本申请一示例性实施例示出的一种数据库节点查询结果显示装置的框图。如图7所示,所述装置包括:
默认显示状态设置单元U701,用于设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
节点确定单元U702,用于根据用户输入的查询条件确定用户查询的节点;
增亮显示单元U703,用于在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者逆序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、装置或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、装置或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据库节点关联关系展示方法,其特征在于,包括:
获取数据库中节点的信息;
遍历数据库中的节点,并获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息;
根据节点的子节点信息计算节点的最大深度d;
根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标;
根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息;
根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
2.根据权利要求1所述的数据库节点关联关系展示方法,其特征在于,根据节点的子节点信息计算节点的最大深度,包括:
步骤a1,判断节点是否存在子节点;
步骤a2,如果节点不存在子节点,则设置节点的最大深度为0;
步骤a3,如果节点存在子节点,则设置最大深度d=1;
步骤a4,遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
步骤a5,如果所述第d层子节点存在子节点,则将最大深度d加1,并返回步骤a4;
步骤a6;如果所述第d层子节点不存在子节点,则返回最大深度d。
3.根据权利要求1所述的数据库节点关联关系展示方法,其特征在于,根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,确定节点在关联关系展示区域的坐标,包括:
计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
在范围[yl,yu]中随机取值作为纵坐标y的值;
在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
4.根据权利要求1所述的数据库节点关联关系展示方法,其特征在于,根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,确定节点在关联关系展示区域的坐标,包括:
根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
计算节点的纵坐标y的范围[yl,yu],其中, 其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
在范围[yl,yu]中随机取值作为纵坐标y的值;
在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
5.一种使用如权利要求1所述数据库节点关联关系展示方法的数据库节点查询结果显示方法,包括:
设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
根据用户输入的查询条件确定用户查询的节点;
在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
6.一种数据库节点关联关系展示装置,其特征在于,包括:
节点信息获取单元,用于获取数据库中节点的信息;
关联信息获取单元,用于遍历数据库中的节点,获取节点的关联信息,所述关联信息包括节点的父节点信息和子节点信息;
最大深度计算单元,用于根据节点的子节点信息计算节点的最大深度d;
节点坐标计算单元,用于根据节点的最大深度d,以及关联关系展示区域的高度h与宽度w,计算节点在关联关系展示区域的坐标;
节点绘制单元,用于根据节点的所述坐标在关联关系展示区域绘制节点,并将绘制的节点的图形作为节点信息展示的激活点,以通过所述节点的图形获取激活操作,并在获取所述激活操作后显示节点信息;
节点连线绘制单元,用于根据节点的父节点信息和子节点信息在页面展示区域绘制节点与其父节点以及节点与其子节点的连线。
7.根据权利要求6所述的数据库节点关联关系展示装置,其特征在于,所述最大深度计算单元,包括:
第一判断子单元,用于判断节点是否存在子节点;
第一执行子单元,用于如果节点不存在子节点,则设置节点的最大深度为0;
第二执行子单元,用于如果节点存在子节点,则设置最大深度d=1;
第二判断子单元,用于遍历节点的第d层子节点,判断所述第d层子节点是否存在子节点;
第三执行子单元,用于如果所述第d层子节点存在子节点,则将最大深度d加1,并返回所述第二判断子单元;
第四执行子单元,用于如果所述第d层子节点不存在子节点,则返回最大深度d。
8.根据权利要求6所述的数据库节点关联关系展示装置,其特征在于,所述节点坐标计算单元,包括:
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中yl=h-d×h/(Dmax+1),yu=h-(d+1)×h/(Dmax+1),Dmax为所有节点的最大深度的最大值;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
9.根据权利要求6所述的数据库节点关联关系展示装置,其特征在于,所述节点坐标计算单元,包括:
统计子单元,用于根据计算得到的每个节点的最大深度,统计不同最大深度d0、d1至dm分别对应的节点个数N0、N1至Nm,其中d0<d1……<dm;
纵坐标范围计算子单元,用于计算节点的纵坐标y的范围[yl,yu],其中,
其中c为当前被计算的节点的最大深度对应的节点个数在N0、N1至Nm序列中的下标;
纵坐标确定子单元,用于在范围[yl,yu]中随机取值作为纵坐标y的值;
横坐标确定子单元,用于在关联关系显示区域的宽度范围内,随机取值作为横坐标x的值。
10.一种使用如权利要求6所述数据库节点关联关系展示装置的数据库节点查询结果显示装置,包括:
默认显示状态设置单元,用于设置关联关系展示区域的所有节点和连线的默认显示状态为隐藏或者灰色显示;
节点确定单元,用于根据用户输入的查询条件确定用户查询的节点;
增亮显示单元,用于在关联关系展示区域增亮用户查询的节点、所述节点与其父节点的连线以及所述节点和其子节点的连线。
CN201510472482.5A 2015-08-04 2015-08-04 数据库节点关联关系展示方法及装置 Active CN106445931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510472482.5A CN106445931B (zh) 2015-08-04 2015-08-04 数据库节点关联关系展示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510472482.5A CN106445931B (zh) 2015-08-04 2015-08-04 数据库节点关联关系展示方法及装置

Publications (2)

Publication Number Publication Date
CN106445931A CN106445931A (zh) 2017-02-22
CN106445931B true CN106445931B (zh) 2019-06-28

Family

ID=59216171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510472482.5A Active CN106445931B (zh) 2015-08-04 2015-08-04 数据库节点关联关系展示方法及装置

Country Status (1)

Country Link
CN (1) CN106445931B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696380B (zh) * 2017-04-11 2021-05-25 深圳市江机实业有限公司 宽带载波路由节点拓扑图的节点角色自动显示方法
CN110019492B (zh) * 2017-09-14 2023-09-29 阿里巴巴集团控股有限公司 一种信息显示方法及装置
CN110110153A (zh) * 2018-01-24 2019-08-09 北京京东尚科信息技术有限公司 一种节点搜索的方法和装置
CN108712470B (zh) * 2018-04-20 2021-06-29 南京天溯自动化控制系统有限公司 一种路由数据同步方法及装置、计算机装置和存储介质
CN108664582B (zh) * 2018-05-04 2021-06-18 企查查科技有限公司 企业关系的查询方法、装置、计算机设备及存储介质
CN108921914B (zh) * 2018-05-25 2022-10-28 北京石油化工学院 一种系谱图绘制方法、装置及电子设备
CN109408674B (zh) * 2018-09-14 2020-04-07 深圳大学 基于仙人掌树的数据可视化方法、装置、设备及存储介质
CN109669687A (zh) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 规则流处理方法、装置、终端设备及存储介质
CN111078967B (zh) * 2018-10-19 2023-04-18 阿里巴巴集团控股有限公司 显示方法、装置、电子设备和存储介质
CN109815280B (zh) * 2019-01-25 2023-05-12 浪潮软件科技有限公司 一种结合d3的全链分析方法
CN109815239B (zh) * 2019-01-25 2023-05-12 浪潮软件科技有限公司 一种结合ECharts创建关系图谱的方法
CN110232063A (zh) * 2019-04-19 2019-09-13 平安科技(深圳)有限公司 层级数据查询方法、装置、计算机设备和存储介质
CN111209442B (zh) * 2019-12-31 2023-09-01 东软集团股份有限公司 一种图数据的显示方法、装置、存储介质及设备
CN111708918A (zh) * 2020-05-15 2020-09-25 北京明略软件系统有限公司 一种数据处理方法、电子设备和存储介质
CN112148809B (zh) * 2020-10-12 2023-10-20 中国农业银行股份有限公司 节点关联图的生成方法、装置、可读介质以及设备
CN113064881A (zh) * 2021-04-15 2021-07-02 深信服科技股份有限公司 一种数据库管理方法、装置、设备及可读存储介质
CN115022185B (zh) * 2022-06-21 2023-09-26 浪潮通信信息系统有限公司 拓扑图显示方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627599B2 (en) * 2005-05-20 2009-12-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for visualizing tree structured information
CN101971204A (zh) * 2007-10-01 2011-02-09 惠普开发有限公司 利用基于相对位置的控制在页面上布置图形对象
CN102467535A (zh) * 2010-11-12 2012-05-23 金蝶软件(中国)有限公司 一种树形数据输出坐标获取方法、装置及系统
CN102566849A (zh) * 2010-12-10 2012-07-11 金蝶软件(中国)有限公司 一种树形数据绘制输出位置获取方法、装置及erp系统
CN104537607A (zh) * 2014-12-23 2015-04-22 天津大学 基于二叉树及分层排序的自动高效照片拼贴方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627599B2 (en) * 2005-05-20 2009-12-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for visualizing tree structured information
CN101971204A (zh) * 2007-10-01 2011-02-09 惠普开发有限公司 利用基于相对位置的控制在页面上布置图形对象
CN102467535A (zh) * 2010-11-12 2012-05-23 金蝶软件(中国)有限公司 一种树形数据输出坐标获取方法、装置及系统
CN102566849A (zh) * 2010-12-10 2012-07-11 金蝶软件(中国)有限公司 一种树形数据绘制输出位置获取方法、装置及erp系统
CN104537607A (zh) * 2014-12-23 2015-04-22 天津大学 基于二叉树及分层排序的自动高效照片拼贴方法

Also Published As

Publication number Publication date
CN106445931A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106445931B (zh) 数据库节点关联关系展示方法及装置
US7627599B2 (en) Method, apparatus, and program product for visualizing tree structured information
CN106204118A (zh) 一种用于商圈发现的方法与装置
CN103761276B (zh) 一种树形结构数据比较的展示方法和装置
US9443261B2 (en) Method and apparatus for optimization of floor covering and system for user configuration and real time pricing information
CN107085587A (zh) 混合数据操作中的间接过滤
CN103729362B (zh) 导航内容的确定方法和装置
CN103020096B (zh) 检索装置和检索方法
CN110414559A (zh) 智能零售柜商品目标检测统一框架的构建方法及商品识别方法
WO2017139091A1 (en) Systems and methods for searching databases using graphical user interfaces that include concept stacks
CN106933863B (zh) 数据清理方法及装置
CN106844458B (zh) 展示用户网上行为轨迹的方法、计算装置及存储介质
CN110414477A (zh) 图像比例尺检测方法及装置
CN106294481B (zh) 一种基于图谱的导航方法及装置
CN105894234A (zh) 计算自提柜投放位置的数据处理方法和系统
CN111709061A (zh) 室内物品自动摆放处理方法、装置以及设备、存储介质
CN108256970A (zh) 一种基于购物需求进行产品推荐的方法
CN111709062A (zh) 用于获取物品摆放方案评分方法、装置以及设备、介质
JP6276126B2 (ja) 問題構造抽出支援システム、問題構造抽出支援方法及びプログラム
US10635269B2 (en) Smart tables
CN102833110A (zh) 大数据量下网管软件中拓扑数据关系的管理方法
CN106570026B (zh) 气泡图的创建方法及装置
CN108921914B (zh) 一种系谱图绘制方法、装置及电子设备
CN111104568A (zh) 企业股权关系深度搜索方法、装置、计算机设备及存储介质
JP6239005B2 (ja) 複数のグルーピングにおいてメンバシップを有するデータとの対話の管理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant