CN115017158A - 节点信息查询方法 - Google Patents
节点信息查询方法 Download PDFInfo
- Publication number
- CN115017158A CN115017158A CN202210607935.0A CN202210607935A CN115017158A CN 115017158 A CN115017158 A CN 115017158A CN 202210607935 A CN202210607935 A CN 202210607935A CN 115017158 A CN115017158 A CN 115017158A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- information
- tree structure
- attribute information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012163 sequencing technique Methods 0.000 claims description 33
- 238000010276 construction Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 2
- 206010000060 Abdominal distension Diseases 0.000 description 1
- 206010020565 Hyperaemia Diseases 0.000 description 1
- 208000007502 anemia Diseases 0.000 description 1
- 208000024330 bloating Diseases 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种节点信息查询方法。该方法包括:从数据库中获取目标模型中的所有特征属性信息,通过各特征属性信息构建得到目标模型对应的树形结构,并基于树形结构中树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。采用本方法不需要与数据库进行多次交互才能完成查询操作,仅需要与数据库进行一次交互就可以完成查询操作,从而能够节省查询过程中与数据库的交互时长,提高节点信息的查询效率。
Description
技术领域
本申请涉及数据库应用技术领域,特别是涉及一种节点信息查询方法。
背景技术
领域模型是对领域内的概念类或现实世界中对象的可视化表示,各领域模型中的不同信息之间会存在一定的父子关系。通常,将不同信息会以节点的形式存储,方便后续查询使用。
相关技术中,根据不同信息之间的父子关系,采用逐层递归查询的方式访问数据库,以查找父节点或子节点的信息。以查询根节点为例,先访问一次数据库查找当前节点的父节点,然后再次访问数据库再次查找父节点的父节点,依次类推,直到父节点的父节点为空为止,查找到的当前父节点就为根节点。
但是,采用相关技术查询目标节点的信息,会导致查询效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种节点信息查询方法。
第一方面,本申请实施例提供了一种节点信息查询方法,该方法包括:
从数据库中获取目标模型中的所有特征属性信息;
通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
在其中一个实施例中,若目标模型包括多个模型,则从数据库中获取目标模型中的所有特征属性信息包括:
从数据库中获取多个模型中的所有特征属性信息以构建;树形结构;根据不同模型特征属性信息构建的树节点之间存在至少一个父子关系。
在其中一个实施例中,通过各特征属性信息构建得到目标模型对应的树形结构,包括:
将各特征属性信息写入第二存储器中;特征属性信息还包括设定勾选状态;
基于第二存储器中各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构。
在其中一个实施例中,基于第二存储器中各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构,包括:
根据各特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤,确定各树节点所属的兄弟节点集合和各树节点的层级信息;
根据各树节点所属的兄弟节点集合和各树节点的层级信息,确定各树节点的节点拓扑信息;
通过各树节点的层级信息确定树形结构的属性信息;
根据树形结构的属性信息以及各树节点的节点拓扑信息、父节点标识、节点标识、排序标识和设定勾选状态,生成树形结构。
在其中一个实施例中,根据各特征属性信息的父节点标识和节点标识,执行节点匹配的步骤包括:
将第二存储器中父节点标识为空的特征属性信息确定为树形结构的根节点;
对根节点执行父节点标识匹配的步骤,确定根节点的子节点;
对根节点的子节点继续执行父节点标识匹配的步骤,直至第二存储器中的特征属性信息均匹配成功为止,得到树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息;
其中,父节点标识匹配的步骤包括:将第二存储器中除根节点对应的特征属性信息外的其它特征属性信息中的父节点标识与根节点的节点标识进行匹配,将第二存储器中匹配成功的特征属性信息确定为根节点的子节点。
在其中一个实施例中,根据各所属的兄弟节点集合和各的层级信息,确定各的节点拓扑信息,包括:
根据各树节点的父节点标识,获取互为兄弟节点的兄弟节点集合;
根据各树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合;
根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息。
在其中一个实施例中,上述方法还包括:
根据各树节点的设定勾选状态,校验树形结构中所有树节点的当前勾选状态。
在其中一个实施例中,根据各树节点的设定勾选状态,校验树形结构中所有树节点的当前勾选状态,包括:
针对树形结构中每层树节点,确定设定勾选状态为空的多个兄弟节点;
将设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构;
从更新后的树形结构的最下层的树节点开始,逐层校验更新后的树形结构中每层树节点的父节点的当前勾选状态,直到更新后的树形结构中当前层树节点的父节点为根节点为止,完成校验;最下层的树节点的层级信息等于更新后的树形结构的属性信息与预设信息之间的差值。
在其中一个实施例中,特征属性信息包括各树节点的父节点标识;属性信息包括树形结构的深度信息;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息在树形结构中查询目标树节点的节点信息,包括:
若目标树节点为当前树节点的父节点,则根据各树节点的父节点标识、层级信息和树形结构的深度信息,按照第一预设方向查找树形结构中每层所有树节点的父节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
在其中一个实施例中,特征属性信息还包括各树节点的节点标识;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息在树形结构中查询目标树节点的节点信息,包括:
若目标树节点为当前树节点的子节点,则根据各树节点的节点标识、层级信息和树形结构的深度信息,按照第二预设方向查找树形结构中每层各树节点的子节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
第二方面,本申请实施例提供了一种节点信息查询装置,该装置包括:
属性信息获取模块,用于从数据库中获取目标模型中的所有特征属性信息;
树形结构构建模块,用于通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
查询模块,用于基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一实施例中方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一实施例中方法的步骤。
上述节点信息查询方法,计算机设备可以从数据库中获取目标模型中的所有特征属性信息,通过各特征属性信息构建得到目标模型对应的树形结构,并基于树形结构中树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息;该方法可以一次性从数据库中获取到待构建树形结构的所有特征属性信息,然后基于所有特征属性信息先构建树形结构,并将树形结构存储于第一存储器中,然后基于树形结构查询目标节点信息,该方法不需要与数据库进行多次交互才能完成查询操作,仅需要与数据库进行一次交互就能够完成查询操作,从而能够节省查询过程中与数据库的交互时长,提高节点信息的查询效率。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中节点信息查询方法的流程示意图;
图3为一个实施例中通过各特征属性信息进行构建处理得到目标模型对应的树形结构的方法流程示意图;
图4为另一个实施例中基于第二存储器中各树节点的父节点标识、节点标识、排序标识和设定勾选状态建立树形结构的方法流程示意图;
图5为另一个实施例中节点匹配的方法流程示意图;
图6为另一个实施例中根据各树节点所属的兄弟节点集合和各树节点的层级信息确定各树节点的节点拓扑信息的方法流程示意图;
图7为另一个实施例中根据各树节点的设定勾选状态校验树形结构中所有树节点的当前勾选状态的方法流程示意图;
图8为另一个实施例中根据各树节点对应更新后的设定勾选状态更新最下层的各树节点上一层的父节点的当前勾选状态的方法流程示意图;
图9为一个实施例中节点信息查询装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的节点信息查询方法,可以适用于图1所示的计算机设备。其中,计算机设备可以基于领域模型中的所有特征属性信息,构建领域模型中具有父子关系的混合树形结构,以便根据业务需求直观、方便地在混合树形结构中查找目标树节点的节点信息,提高节点信息查询效率。可选地,上述计算机设备可以为各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,还可以用独立的服务器或者是多个服务器组成的服务器集群来实现,但不限于这些。本实施例对计算机设备的具体形式不做限定。下述实施例中将以计算机设备为执行主体来具体介绍节点信息查询方法的具体过程。
为了提高领域模型中不同特征属性信息的查询效率,需要将领域模型中的不同特征属性信息整合在一起形成层级父子关系,然后根据业务需求可以查询目标特征属性信息。因此,在一实施例中,如图2所示,提供了一种节点信息查询方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
S100、从数据库中获取目标模型中的所有特征属性信息。
具体地,计算机设备可以从数据库中获取目标模型中的所有特征属性信息。可选地,上述数据库可以为键值存储数据库或者非关系型数据库,还可以为其它类型的数据库。
需要说明的是,上述目标模型可以为一个或多个领域模型。可选地,领域模型可以为领域内的概念类或现实世界中对象的可视化表示,又称概念模型、领域对象模型或者分析对象模型。可选地,上述领域模型可以为失血模型、贫血模型、充血模型或者胀血模型等等。
可以理解的是,目标模型中的不同特征属性信息之间可以存在父子关系,也可以不存在父子关系,且父子关系是根据具体的业务逻辑来产生的。如,张XX和张XX的父亲在家庭中是存在父子关系的,而赵XX与张XX之间不存在任何关系,因此,赵XX与张XX之间就不存在父子关系。
可选地,上述特征属性信息可以包括唯一节点标识(Id)、父节点标识(parentId)、排序标识(sort)和/或所属目标模型的属性信息等等。可选地,父节点标识可以标识父节点的Id。可选地,上述目标模型的属性信息可以为目标模型的名称、标识等等。
S200、通过各特征属性信息构建得到目标模型对应的树形结构。其中,树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息,且树形结构存储于第一存储器中。
具体地,上述构建处理可以理解为将各特征属性信息整合在一起形成层级父子关系的处理过程。可选地,计算机设备可以按照从最上层至最下层或者从最下层至最上层的顺序,通过各特征属性信息进行构建处理得到目标模型对应的树形结构。可选地,树形结构中最上层的树节点可以为树形结构的根节点,且树形结构中仅有一个根节点。其中,树形结构中相邻两层树节点之间存在父子关系。
需要说明的是,若目标模型为一个领域模型时,目标模型对应的树形结构可以理解为单一领域模型的单一树形结构;若目标模型为多个领域模型时,目标模型对应的树形结构可以理解为多个领域模型的混合树形结构。
其中,树形结构可以包括一系列存在父子关系的树节点。在本申请实施例中,构建好的树形结构中可以包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息。在实际应用中,每个特征属性信息对应树形结构中的一个树节点;树形结构中各树节点的节点拓扑信息可以理解为在构建树形结构的过程中新建的树节点的属性信息。可选地,一个树形结构仅有一个属性信息;树形结构的属性信息可以为树形结构中所有树节点的总数量或者树形结构中其中一层所有树节点的总数量等等。
在本申请实施例中,构建好的树形结构可以存储至数据库之外的其它位置,如第一存储器。可选地,上述第一存储器可以为内存、缓存或者寄存器等等。通常,数据库中存储的特征属性信息为有效信息,因此,各特征属性信息对应的树节点均有父节点和/或子节点。
S300、基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
具体地,计算机设备可以接收用户输入的目标树节点查询请求,并响应目标树节点查询请求,基于树形结构中树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
可选地,上述目标树节点查询请求的输入方式可以为鼠标、键盘、语音、手势等输入方式。可选地,目标树节点查询请求中可以携带目标树节点的标识和节点信息的标识。可选地,目标树节点的标识可以区分不同树节点,而节点信息的标识可以区分待查询的目标节点信息。可选地,树节点的节点信息可以为树节点对应的节点拓扑信息和/或特征属性信息。
其中,对于目标模型中的各业务节点(即树节点)进行树节点抽象类TreeBaseNode,得到树节点的特征属性信息。
本申请实施例中的节点信息查询方法可以从数据库中获取到待构建树形结构的所有特征属性信息,然后通过各特征属性信息先构建得到树形结构,并将树形结构存储于第一存储器中,然后基于树形结构查询目标节点信息;该方法不需要与数据库进行多次交互才能完成查询操作,仅需要与数据库进行一次交互就可以完成查询操作,从而能够节省查询过程中与数据库的交互时长,提高节点信息的查询效率;同时,该方法可以将目标模型中的所有特征属性信息整合在一个树形结构中,从而能够直观、方便、快速的确定不同特征属性信息之间的父子关系;另外,该方法还可以适用于多个不同的领域模型以构建混合树形结构,从而能够提高树形结构的通用性、便捷化和易扩展性。
在一些场景中,需要确定多个领域模型中所有特征属性信息之间的混合树形结构,首先得获取到多个领域模型中的所有特征属性信息。因此,在一实施例中,若目标模型包括多个模型,则上述S100中从数据库中获取目标模型中的所有特征属性信息的步骤可以包括:从数据库中获取多个模型中的所有特征属性信息以构建树形结构;根据不同模型特征属性信息构建的树节点之间存在至少一个父子关系。
具体地,在本申请实施例中,上述数据库为关系型数据库。通常目标模型中的特征属性信息存储于关系型数据库中,所以计算机设备可以从关系型数据库中获取待构建树形结构的多个模型中的所有特征属性信息。可选地,该模型可以为领域模型。可选地,上述关系型数据库可以为Oracle、SQLServer、DB2、Mysql、Microsoft SQL Server或者MicrosoftAccess等等数据库。
需要说明的是,关系型数据库中可以存储各种领域模型中的所有特征属性信息,但是,可以仅获取待构建树形结构的多个模型中的所有特征属性信息。可选地,关系型数据库中的各特征属性信息可以携带模型的标识。
另外,由于关系型数据库仅能存储特征属性信息,无法存储树形结构,因此,在申请实施例中,可以将构建好的树形结构存储至其它位置,如第一存储器。
可以理解的是,将待构建树形结构的多个模型中的所有特征属性信息整合在一个树形结构中,不同模型中的至少一个特征属性信息之间存存在父子关系。
本申请实施例中的节点信息查询方法可以与数据库进行一次交互获取到待构建树形结构的多个模型中的所有特征属性信息,进一步基于获取到的所有特征属性信息构建树形结构并实现查询操作,从而能够为查询操作提供便利,节省查询过程中与数据库的交互时长;同时,该方法还可以针对多个模型统一构建复杂的树形结构,不需要单独构建单个模型的单个树形结构后再将所有单个树形结构进行整合的过程,从而能够提高树形结构的通用性和易扩展性,并且通过统一代码构建多个模型的树形结构,还能够避免代码重复开发的情况,减少代码开发,进一步节省代码开发成本。
在获取到待构建树形结构的多个模型中的所有特征属性信息后,下面将介绍如何构建树形结构的过程。在一实施例中,如图3所示,上述S200中通过各特征属性信息构建得到目标模型对应的树形结构的步骤,可以通过以下步骤实现:
S210、将各特征属性信息写入第二存储器中;特征属性信息还包括设定勾选状态。
具体地,从数据库中获取到待构建树形结构的多个模型中的所有特征属性信息后,计算机设备可以将这些特征属性信息暂存至第二存储器中,以便下一步依次根据各特征属性信息构建树形结构,并且这样还可以减少与数据库的交互次数。可选地,上述第二存储器也可以为内存、缓存或者寄存器等等,在本申请实施例中,上述第二存储器与第一存储器可以相同,也可以不相同。
可选地,计算机设备可以将待构建树形结构的多个模型中的所有特征属性信息按照特征属性信息的不同类型分块存储至第二存储器中,或者,还可以将待构建树形结构的多个模型中的所有特征属性信息按照数据包的形式存储至第二存储器中。但在本申请实施例中,待构建树形结构的多个模型中的所有特征属性信息按照是按照列表的形式存储至第二存储器中的。可选地,每个特征属性信息构建在树形结构中可以表示为一个树节点。
在本申请实施例中,上述特征属性信息中还可以包括设定勾选状态。可选地,上述设定勾选状态可以为已勾选状态或者未勾选状态;另外,还存在勾选状态不明确的情况,此时,设定勾选状态为空。其中,设定勾选状态可以通过checked表示。
其中,树节点的勾选状态在一些业务场景中具有重要作用。示例性的,若要记录一个公司中所有员工的考勤状态时,可以通过设定每个员工的勾选状态来记录一个公司中所有员工的考勤状态;该情况下,每个员工可以称为树形结构中的一个树节点。
S220、基于第二存储器中各特征属性信息包括的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构。
在本申请实施例中,各特征属性信息可以包括待构建的树形结构中对应树节点的父节点标识、节点标识、排序标识和设定勾选状态。可选地,计算机设备可以根据第二存储器中暂存的各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构。其中,树形结构中的树节点是一个一个建立的,因此,直到将第二存储器中的所有特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态取完为止,表明树形结构以构建完成。
本申请实施例中的节点信息查询方法可以将从数据库取出的待构建树形结构的多个模型中的所有特征属性信息写入第二存储器中,并基于第二存储器中各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构,从而使得构建树形结构时仅与数据库交互一次,以节省树形结构的构建时长,提高树形结构的构建效率。
其中,为了满足业务需求,需要通过特征属性信息和一些其它附加信息共同来表示树节点的业务信息,因此,构建好的树形结构中除了树节点的特征属性信息外,还包含一些其它附加信息。下面将介绍具体是如何构建树形结构的过程,在一实施例中,如图4所示,上述S220中基于第二存储器中各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构的步骤,可以包括:
S221、根据各特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤,确定树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息。
具体地,计算机设备可以从第二存储器中任意选取一个特征属性信息,然后根据该特征属性信息中的父节点标识和节点标识,执行树形结构的节点匹配的步骤,确定各特征属性信息对应在树形结构中树节点的子节点和该树节点的父节点,在树形结构中具体的层级位置和每层的具***置,进一步确定第二存储器中各树节点所属的兄弟节点集合和各树节点的层级信息。其中,兄弟节点集合中所有树节点的父节点相同。
其中,如图5所示,上述S221中根据各特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤,可以包括:
S2211、获取第二存储器中父节点标识为空的特征属性信息,确定为树形结构的根节点。
需要说明的是,根节点是没有父节点的,所以计算机设备可以依次遍历第二存储器中的所有特征属性信息,确定父节点标识为空的特征属性信息,然后将父节点标识为空的特征属性信息确定为树形结构对应的根节点。
可以理解的是,为了确定树形结构的根节点,可以遍历第二存储器中的部分特征属性信息或者全部特征属性信息。其中,若遍历了第二存储器中的一部分特征属性信息后,确定当前遍历到的特征属性信息中的父节点标识为空,则将当前遍历到的特征属性信息确定为树形结构的根节点,此时就不需要遍历第二存储器中未遍历的其它特征属性信息;若遍历到第二存储器中的最后一个特征属性信息时,确定最后一个特征属性信息中的父节点标识为空,则将遍历到的最后一个特征属性信息确定为树形结构的根节点,该情况下表明遍历了第二存储器中的全部特征属性信息。
S2212、对根节点执行父节点标识匹配的步骤,确定根节点的子节点。
其中,父节点标识匹配的步骤包括:将第二存储器中除根节点对应的特征属性信息外的其它特征属性信息中的父节点标识与根节点的节点标识进行匹配,将第二存储器中匹配成功的特征属性信息确定为根节点的子节点。
具体地,计算机设备可以从根节点对应的特征属性信息中获取根节点的节点标识,然后遍历当前第二存储器中的部分特征属性信息或者全部特征属性信息,得到特征属性信息中的父节点标识与根节点的节点标识相匹配的特征属性信息,并将特征属性信息中的父节点标识与根节点的节点标识相匹配的特征属性信息确定为根节点的子节点。可选地,当前第二存储器中可以存储除根节点对应的特征属性信息之外的其它特征属性信息。可选地,根节点的子节点可以有一个或者多个。
可选地,每次找到一个根节点或者子节点后,可以从当前第二存储器中删除根节点和/或子节点对应的特征属性信息,也就是,在建立树形结构中根节点和/或子节点前后第二存储器中存储的特征属性信息是不同的。
S2213、对根节点的子节点继续执行父节点标识匹配的步骤,直至第二存储器中的特征属性信息均匹配成功为止,得到树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息。
需要说明的是,计算机设备可以从第二存储器中的特征属性信息中,获取根节点的子节点的节点标识,然后遍历当前第二存储器中的部分特征属性信息或者全部特征属性信息,得到特征属性信息中父节点标识与根节点的各子节点的节点标识相匹配的特征属性信息,并将特征属性信息中父节点标识与根节点的各子节点的节点标识相匹配的特征属性信息,确定为根节点的各子节点的子节点,然后按照上述父节点标识匹配的步骤依次类推确定树形结构中每层的树节点,直到第二存储器中的特征属性信息均匹配成功为止,得到树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息。其中,遍历可以作为构建树形结构中一种优选的方案。
可以理解的是,第二存储器中的特征属性信息均匹配完成可以表明当前第二存储器为空。可选地,一个子节点的子节点可以有一个或者多个。其中,若一个子节点有多个子节点时,这多个子节点可以称为兄弟节点集合。可选地,一个树节点可以有对应所属的兄弟节点集合,也可以没有对应所属的兄弟节点集合。
还可以理解的是,树节点的层级信息可以通过level表示。在本申请实施例中,树形结构中根节点的层级信息可以为0,根节点的各子节点的层级信息均可以为1,进一步,子节点的子节点的层级信息均可以为2。其中,根据树形结构中树节点与上一层树节点的关系,可以确定各树节点的层级信息;在树形结构中,下一层树节点的层级信息比上一层树节点的层级信息多1。
同时,在确定根节点的子节点时,也可以确定根节点的子节点所属的兄弟节点集合。也就是,在树形结构中除了根节点,其它每层树节点均可以有对应的兄弟节点集合,也可以没有对应的兄弟节点集合。可选地,每次确定一个兄弟节点就可以将其存储至兄弟节点集合中,也就是按照兄弟节点的确定顺序将所有兄弟节点存储至对应的兄弟节点集合中。
S222、根据各树节点所属的兄弟节点集合和各树节点的层级信息,确定各树节点的节点拓扑信息。
在本申请实施例中,可以将树节点所属的兄弟节点集合可以通过children表示。具体地,计算机设备可以将各树节点所属的兄弟节点集合和各树节点的层级信息赋予当前树形结构中的各树节点,得到当前树形结构中各树节点的节点拓扑信息。
可以理解的是,树节点的节点拓扑信息可以为树节点所属的兄弟节点集合和树节点的层级信息。可选地,若一树节点没有对应所属的兄弟节点集合,则该树节点的children可以为空。
S223、通过各树节点的层级信息确定树形结构的属性信息。
在本申请实施例中,树形结构的属性信息可以通过deep表示,即表示树形结构的深度信息。可选地,若已确定当前树形结构中的根节点,则可以根据根节点的层级信息确定当前树形结构的属性信息。可选地,根节点的层级信息为0,对应地,当前树形结构的属性信息可以为1。
可选地,若已确定当前树形结构中的根节点的子节点,则可以根据根节点的子节点的层级信息确定当前树形结构的属性信息。可选地,根节点的子节点的层级信息为1,对应地,当前树形结构的属性信息可以为2。也可以理解的是,当然树形结构的属性信息比当前树形结构中最后一层树节点的层级信息多1。
S224、根据树形结构的属性信息以及各树节点的节点拓扑信息、父节点标识、节点标识、排序标识和设定勾选状态,生成树形结构。
具体地,在匹配完待构建的所有树节点后,可以将各树节点的节点拓扑信息、父节点标识、节点标识、排序标识和设定勾选状态赋予当前树形结构中的每个树节点,并且将整个树形结构的属性信息赋予当前树形结构,得到构建好的树形结构。
本申请实施例中的节点信息查询方法可以根据取出的待构建树形结构的多个模型中的所有特征属性信息建立树形结构,从而使得不同领域模型中的所有树节点能够被整合在同一个树形结构中,以方便对不同领域模型中的所有树节点的节点信息进行管理、查询。
下面将介绍具体如何确定各树节点的节点拓扑信息的过程。在一实施例中,如图6所示,上述S222中根据各树节点所属的兄弟节点集合和各树节点的层级信息,确定各树节点的节点拓扑信息的步骤,可以通过以下步骤实现:
S2221、根据各树节点的父节点标识,获取互为兄弟节点的兄弟节点集合。
具体地,在节点匹配过程中确定树形结构中的每层树节点时,计算机设备可以获取各树节点的父节点标识,并确定父节点标识相等的所有树节点,将父节点标识相等的所有树节点确定为互为兄弟节点的兄弟节点集合。其中,可以将具有相同父节点标识的树节点称互为兄弟节点的兄弟节点集合。
S2222、根据各树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合。
在本申请实施例中,各树节点的排序标识可以为多个模型中所有树节点的整体排序标识,但在匹配树形结构中兄弟节点集合中的各子节点时,可以先确定兄弟节点集合中各子节点的排序标识,通过Comparable接口对各子节点的排序标识进行比较,对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合。可选地,树节点的排序标识可以通过整数表示。
进一步,可以根据排序后的各兄弟节点集合构建树形结构中兄弟节点集合中子节点的位置,这样能够在构建树形结构的过程中对树节点进行排序,从而提高在构建树形结构时对各树节点的排序效率。
示例性的,若匹配树形结构中一兄弟节点集合(A1,A2、A3、A4),且兄弟节点集合中的子节点A1的排序标识为30,兄弟节点集合中的子节点A2的排序标识为33,兄弟节点集合中的子节点A3的排序标识为32,兄弟节点集合中的子节点A4的排序标识为31,则根据各子节点的排序标识对该兄弟节点集合中的各子节点进行重新排序得到排序后的各兄弟节点集合为(A1,A4、A3、A2)。可以理解的是,在重新排序过程中,可以将排序标识较小的子节点排在兄弟节点集合前边,将排序标识较大的子节点排在兄弟节点集合后边。
S2223、根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息。
需要说明的是,排序后的兄弟节点集合与排序前的兄弟节点集合可以相同,也可以不同,也就是两者对应的children可以相同,也可以不相同。在本申请实施例中,若排序后的兄弟节点集合与排序前的兄弟节点集合对应的children不同,则计算机设备可以根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息。
本申请实施例中的节点信息查询方法可以根据各树节点的父节点标识,获取互为兄弟节点的兄弟节点集合,根据各树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合,根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息;该方法可以根据各树节点的排序标识对兄弟节点集合进行重新排序,得到排序后的各兄弟节点集合,以便进一步能够将兄弟节点匹配在树形结构中的正确位置,从而能够建立各树节点之间正确的父子关系。
在一些场景中,预先存储的树节点的特征属性信息中的设定勾选状态不正确,需要对树形结构中各树节点的设定勾选状态进行校验,以得到树节点正确的勾选状态。基于此,在一实施例中,在得到目标模型对应的树形结构之前,上述节点信息查询方法还可以包括:根据各树节点的设定勾选状态,校验树形结构中所有树节点的当前勾选状态。
具体地,计算机设备先根据各树节点的特征属性信息构建初始树形结构,然后可以根据各树节点的设定勾选状态,校验初始树形结构中所有树节点的当前勾选状态,得到树形结构。也就是,在得到构建好的树形结构之前生成的树形结构可以称为初始树形结构。在本申请实施例中,校验的树形结构可以称为初始树形结构。
需要说明的是,树节点的当前勾选状态可以理解为数据库中预先存储的树节点对应的特征属性信息中的设定勾选状态。可选地,校验树节点的当前勾选状态的方式可以表示为:若树节点的设定勾选状态为空,则将树节点的设定勾选状态确定为未勾选状态或者勾选状态;或者,根据树节点在初始树形结构中的层级信息,更新树节点的设定勾选状态(即当前勾选状态)。
在一些场景中,初始树形结构中可能会存在设定勾选状态为空的多个兄弟节点,针对这种场景下面将介绍具体是如何校验初始树形结构中所有树节点的当前勾选状态的过程。在一实施例中,如图7所示,上述根据各树节点的设定勾选状态,校验树形结构中所有树节点的当前勾选状态的步骤,可以通过以下步骤实现:
S400、针对树形结构中每层树节点,确定设定勾选状态为空的多个兄弟节点。
具体地,针对树形结构中每层树节点,计算机设备可以确定设定勾选状态为空的多个兄弟节点。可选地,设定勾选状态为空的多个兄弟节点可以为兄弟节点集合中任意多个子节点。但在本申请实施例中,设定勾选状态为空的多个兄弟节点为兄弟节点集合中位置相连的多个子节点。
S500、将设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构。
在本申请实施例中,计算机设备可以将初始树形结构中设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构。
S600、从更新后的树形结构的最下层的树节点开始,逐层校验更新后的树形结构中每层树节点的父节点的当前勾选状态,直到更新后的树形结构中当前层树节点的父节点为根节点为止,完成校验。其中,最下层的树节点的层级信息等于更新后的树形结构的属性信息与预设信息之间的差值。
具体地,计算机设备可以根据更新后的树形结构中最下层的各树节点的层级信息,确定更新后的树形结构中最下层的所有树节点,然后根据各树节点对应更新后的设定勾选状态,更新最下层的各树节点上一层的父节点的当前勾选状态。
其中,树节点对应更新后的设定勾选状态为已勾选状态时,可以将该树节点的父节点的当前勾选状态更新为已勾选状态;若树节点对应更新后的设定勾选状态为未勾选状态时,可以将该树节点的父节点的当前勾选状态更新为未勾选状态。或者,若更新后的树形结构中,兄弟节点集合中至少一个树节点的设定勾选状态为已勾选状态,则将该兄弟节点集合对应的父节点的当前勾选状态更新为已勾选状态;若更新后的树形结构中,兄弟节点集合中至少一个树节点的设定勾选状态为未勾选状态,则将该兄弟节点集合对应的父节点的当前勾选状态更新为未勾选状态。
同时,在树节点的当前勾选状态更新的过程中,计算机设备可以从更新后的树形结构中的最下层至最上层,逐层更新各树节点的当前勾选状态,直到更新完更新后的树形结构中所有树节点的当前勾选状态为止,确定完成对树形结构中所有树节点的当前勾选状态的校验,即完成校验。
需要说明的是,更新后的树形结构中,最下层的树节点的层级信息可以等于更新后的树形结构的属性信息与预设信息之间的差值;最上层的树节点可以为更新后的树形结构中的根节点。可选地,预设信息可以根据树节点的层级信息与树形结构的属性信息确定;树形结构中每层树节点的层级信息表示不同,对应地,每层树节点的层级信息与树形结构的属性信息之间的差值也不同,即预设信息不同。可选地,最上层的树节点为更新后的树形结构中的根节点。
在本申请实施例中,为了方便记录树节点的层级信息与树形结构的属性信息,树形结构中最后一层树节点的层级信息等于树形结构的属性信息减1。因此,更新后的树形结构的属性信息可以等于更新后的树形结构中最下层的各树节点的层级信息加1;更新后的树形结构中最下层的各树节点的层级信息可以等于更新后的树形结构的属性信息减1。
本申请实施例中的节点信息查询方法可以根据各树节点的设定勾选状态,逐层校验树形结构中所有树节点的当前勾选状态,以提高树形结构中树节点的勾选状态的准确性,并且还可以提高业务节点的信息准确性;同时,该方法可以对树形结构中各树节点的当前勾选状态均进行一次级联校验,就能够实现整个树形结构中所有树节点的当前勾选状态的校验,从而可以提高树形结构中树节点的当前勾选状态校验的效率;另外,该方法还可以对树形结构中每层树节点进行批量校验,从而节省勾选状态的校验时间。
下面将介绍如何校验更新后的树形结构中下一层的各树节点上一层的父节点的当前勾选状态。在一实施例中,如图8所示,上述根据各树节点对应更新后的设定勾选状态,更新最下层的各树节点上一层的父节点的当前勾选状态的步骤,可以包括:
S610、将更新后的树形结构中每层树节点按照同一父节点进行划分,得到多个兄弟节点集合。
具体地,针对更新后的树形结构中每层树节点,计算机设备可以对更新后的树形结构中每层树节点按照同一父节点进行划分,将每层树节点中父节点标识相同的所有树节点确定为同一兄弟节点集合,从而得到多个兄弟节点集合。
S620、根据每个兄弟节点集合中的树节点对应更新后的设定勾选状态,确定各兄弟节点集合的统计状态。
在本申请实施例中,设定勾选状态为已勾选状态可以表示为1,设定勾选状态为未勾选状态可以表示为0,或者,已勾选状态和未勾选状态还可以分别通过布尔类型的值或者其它标识表示。同时,若设定勾选状态为空,则设定勾选状态没有相应的表示结果,例如,已勾选状态为1,未勾选状态为0,则设定勾选状态为空没有相应的表示数值。
可以理解的是,计算机设备可以根据每个兄弟节点集合中的树节点对应更新后的设定勾选状态,确定各兄弟节点集合的统计状态。可选地,兄弟节点集合的统计状态可以为兄弟节点集合中所有子节点为全未勾选状态、全已勾选状态或者部分子节点为未勾选状态部分子节点为已勾选状态。
S630、针对每个叶子节点集中,若兄弟节点集合的统计状态为全未勾选状态,则将兄弟节点集合的父节点的设定勾选状态更新为未勾选状态,否则,将兄弟节点集合的父节点的设定勾选状态更新为已勾选状态。
具体地,针对每个叶子节点集中,若兄弟节点集合的统计状态为全未勾选状态,则可以将兄弟节点集合对应的父节点的设定勾选状态更新为未勾选状态;若兄弟节点集合的统计状态为全已勾选状态或者部分已勾选状态部分未勾选状态,可以将兄弟节点集合的父节点的设定勾选状态更新为已勾选状态。
本申请实施例中的节点信息查询方法可以根据各树节点的设定勾选状态,逐层校验树形结构中所有树节点的当前勾选状态,以提高树形结构中树节点的勾选状态的准确性,并且还可以提高业务节点的信息准确性。
在一些场景中,根据业务需求需要查找某个树节点的节点信息,下面将介绍基于树形结构如何查找目标树节点的节点信息的过程。基于此,在一实施例中,特征属性信息包括各树节点的父节点标识;属性信息包括树形结构的深度信息;上述S300中基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息的步骤,可以包括:若目标树节点为当前树节点的父节点,则根据各树节点的父节点标识、层级信息和树形结构的深度信息,按照树形结构中的第一预设方向查找树形结构中每层所有树节点的父节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
具体地,当前树节点的父节点可以理解为当前树节点的父节点的父节点,或者,当前树节点的根节点等等。其中,若目标树节点为当前树节点的父节点时,计算机设备可以根据目标树节点查询请求中携带的目标树节点的标识和节点信息的标识,基于树形结构中各树节点的父节点标识、各树节点的层级信息和树形结构的深度信息,按照第一预设方向查找树形结构中每层各树节点的父节点,直至查找到目标树节点为止,得到目标树节点的节点信息。可选地,树形结构中的第一预设方向可以为树形结构中自上而下的方向,还可以为树形结构中从中间层分别向最上层和最下层的方向等等。但在本申请实施例中,上述第一预设方向为树形结构中自下而上的方向。
另外,本申请实施例还可以采用另一种查询方式查询目标树节点的节点信息。在一实施例中,上述特征属性信息还包括各树节点的节点标识;上述S300中基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息的步骤,可以包括:若目标树节点为当前树节点的子节点,则根据各树节点的节点标识、层级信息和树形结构的深度信息,按照第二预设方向查找树形结构中每层所有树节点的子节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
可以理解的是,当前树节点的子节点还可以理解为当前树节点的子节点的子节点;若当前树节点为根节点,则当前树节点的子节点还可以为树形结构中最下层中的树节点。其中,若目标树节点为当前树节点的子节点时,计算机设备可以根据各树节点的节点标识、各树节点的层级信息和树形结构的深度信息,按照树形结构中的第二预设方向查找树形结构中每层各树节点的子节点,直至查找到目标树节点为止,得到目标树节点的节点信息。可选地,树形结构中的第一预设方向可以为树形结构中自下而上的方向,还可以为树形结构中从中间层分别向最上层和最下层的方向等等。其中,第一预设方向与第二预设方向不同。但在本申请实施例中,上述第一预设方向为树形结构中自上而下的方向。
其中,根据树形结构的深度信息和各树节点的层级信息,可以确定树形结构中每层的所有树节点。可选地,目标树节点的节点信息可以为目标树节点的节点标识Id、父节点标识parentId、排序标识sort、层级信息level、校验后的勾选状态checked和/或兄弟节点集合children等等。
本申请实施例中的节点信息查询方法可以基于构建好的树形结构查询目标树节点的节点信息,该过程并不需要与数据库进行再次交互,从而能够节省查询过程中与数据库的交互时长,提高节点信息的查询效率。
为了便于本领域技术人员的理解,以执行主体为计算机设备为例介绍本申请提供的节点信息查询方法,具体的,该方法包括:
(1)从数据库中获取待构建树形结构的多个模型中的所有特征属性信息以构建树形结构;根据不同模型特征属性信息构建的树节点之间存在至少一个父子关系。
(2)将各特征属性信息写入第二存储器中;特征属性信息还包括设定勾选状态。
(3)将第二存储器中父节点标识为空的特征属性信息确定为树形结构的根节点。
(4)对根节点执行父节点标识匹配的步骤,确定根节点的子节点;其中,父节点标识匹配的步骤包括:将第二存储器中除根节点对应的特征属性信息外的其它特征属性信息中的父节点标识与根节点的节点标识进行匹配,将第二存储器中匹配成功的特征属性信息确定为根节点的子节点。
(5)对根节点的子节点继续执行父节点标识匹配的步骤,直至第二存储器中的特征属性信息均匹配成功为止,得到树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息。
(6)根据各树节点的父节点标识,获取互为兄弟节点的兄弟节点集合;
(7)根据各树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合。
(8)根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息。
(9)通过各树节点的层级信息确定树形结构的属性信息。
(10)根据树形结构的属性信息以及各树节点的节点拓扑信息、父节点标识、节点标识、排序标识和设定勾选状态,生成树形结构。
(11)在生成树形结构之前,针对树形结构中每层树节点,确定设定勾选状态为空的多个兄弟节点。
(12)将设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构。
(13)从更新后的树形结构的最下层的树节点开始,逐层校验更新后的树形结构中每层树节点的父节点的当前勾选状态,直到更新后的树形结构中当前层树节点的父节点为根节点为止,完成校验;最下层的树节点的层级信息等于更新后的树形结构的属性信息与预设信息之间的差值。
(14)若目标树节点为当前树节点的父节点,则根据各树节点的父节点标识、层级信息和树形结构的深度信息,按照第一预设方向查找树形结构中每层所有树节点的父节点,直至查找到目标树节点为止,得到目标树节点的节点信息;或者,若目标树节点为当前树节点的子节点,则根据各树节点的节点标识、层级信息和树形结构的深度信息,按照第二预设方向查找树形结构中每层所有树节点的子节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
以上(1)至(14)的执行过程具体可以参见上述实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种节点信息查询装置,包括:属性信息获取模块11、树形结构构建模块12和查询模块13,其中:
属性信息获取模块11,用于从数据库中获取目标模型中的所有特征属性信息;
树形结构构建模块12,用于通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
查询模块13,用于基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,若目标模型包括多个模型,则属性信息获取模块11具体用于从数据库中获取多个模型中的所有特征属性信息以构建树形结构;根据不同模型特征属性信息构建的树节点之间存在至少一个父子关系。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,树形结构构建模块12包括:特征信息写入单元和树形结构建立单元,其中:
特征信息写入单元,用于将各特征属性信息写入第二存储器中;特征属性信息还包括设定勾选状态;
树形结构建立单元,用于根据第二存储器中各特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立树形结构。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,树形结构建立单元包括:节点匹配子单元、拓扑信息确定子单元、属性信息确定子单元和树形结构生成子单元,其中:
节点匹配子单元,用于根据各特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤,确定各树节点所属的兄弟节点集合和各树节点的层级信息;
拓扑信息确定子单元,用于根据各树节点所属的兄弟节点集合和各树节点的层级信息,确定各树节点的节点拓扑信息;
属性信息确定子单元,用于通过各树节点的层级信息确定树形结构的属性信息;
树形结构生成子单元,用于根据树形结构的属性信息以及各树节点的节点拓扑信息、父节点标识、节点标识、排序标识和设定勾选状态,生成树形结构;
其中,上述节点匹配步骤包括:将第二存储器中父节点标识为空的特征属性信息确定为树形结构的根节点,并对根节点执行父节点标识匹配的步骤,确定根节点的子节点,对根节点的子节点继续执行父节点标识匹配的步骤,直至第二存储器中的特征属性信息均匹配成功为止,得到树形结构中各树节点所属的兄弟节点集合和各树节点的层级信息;
其中,父节点标识匹配的步骤包括:将第二存储器中除根节点对应的特征属性信息外的其它特征属性信息中的父节点标识与根节点的节点标识进行匹配,将第二存储器中匹配成功的特征属性信息确定为根节点的子节点。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,拓扑信息确定子单元具体用于根据各树节点的父节点标识,获取互为兄弟节点的兄弟节点集合;根据各树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合;根据排序后的各兄弟节点集合和各树节点的层级信息,得到各树节点的节点拓扑信息。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,节点信息查询装置还包括勾选状态校验模块,其中:
勾选状态校验模块,用于根据各树节点的设定勾选状态,校验树形结构中所有树节点的当前勾选状态。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,勾选状态校验模块包括:兄弟节点确定单元、第一更新单元和第二更新单元,其中:
兄弟节点确定单元,用于针对树形结构中每层树节点,确定设定勾选状态为空的多个兄弟节点;
第一更新单元,用于将设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构;
第二更新单元,用于从更新后的树形结构的最下层的树节点开始,逐层校验更新后的树形结构中每层树节点的父节点的当前勾选状态,直到更新后的树形结构中当前层树节点的父节点为根节点为止,完成校验;最下层的树节点的层级信息等于更新后的树形结构的属性信息与预设信息之间的差值。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,特征属性信息包括父节点标识;属性信息包括树形结构的深度信息;查询模块13包括:第一查询单元,其中:
第一查询单元,用于在目标树节点为当前树节点的父节点时,根据各树节点的父节点标识、层级信息和树形结构的深度信息,按照第一预设方向查找树形结构中每层所有树节点的父节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,特征属性信息还包括各树节点的节点标识;查询模块13包括:第二查询单元,其中:
第二查询单元,用于在目标树节点为当前树节点的子节点时,根据各树节点的节点标识、层级信息和树形结构的深度信息,按照第二预设方向查找树形结构中每层所有树节点的子节点,直至查找到目标树节点为止,得到目标树节点的节点信息。
本实施例提供的节点信息查询装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于节点信息查询装置的具体限定可以参见上文中对于节点信息查询方法的限定,在此不再赘述。上述节点信息查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储特征属性信息。该计算机设备的网络接口用于与外部的终点通过网络连接通信。该计算机程序被处理器执行时以实现一种节点信息查询方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
从数据库中获取目标模型中的所有特征属性信息;
通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从数据库中获取目标模型中的所有特征属性信息;
通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
从数据库中获取目标模型中的所有特征属性信息;
通过各特征属性信息构建得到目标模型对应的树形结构;树形结构包括树形结构的属性信息、树形结构中各树节点的节点拓扑信息和特征属性信息;树形结构存储于第一存储器中;
基于树形结构的属性信息、各树节点对应的节点拓扑信息和特征属性信息,在树形结构中查询目标树节点的节点信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种节点信息查询方法,其特征在于,所述方法包括:
从数据库中获取目标模型中的所有特征属性信息;
通过各特征属性信息构建得到所述目标模型对应的树形结构;所述树形结构包括所述树形结构的属性信息、所述树形结构中各树节点的节点拓扑信息和特征属性信息;所述树形结构存储于第一存储器中;
基于所述树形结构的属性信息、各所述树节点对应的节点拓扑信息和特征属性信息,在所述树形结构中查询目标树节点的节点信息。
2.根据权利要求1所述的节点信息查询方法,其特征在于,若所述目标模型包括多个模型,则所述从数据库中获取目标模型中的所有特征属性信息包括:
从所述数据库中获取多个模型中的所有特征属性信息以构建所述树形结构;根据不同模型特征属性信息构建的树节点之间存在至少一个父子关系。
3.根据权利要求1所述的节点信息查询方法,其特征在于,所述通过各特征属性信息构建得到所述目标模型对应的树形结构,包括:
将各所述特征属性信息写入第二存储器中;所述特征属性信息还包括设定勾选状态;
基于所述第二存储器中各所述特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立所述树形结构。
4.根据权利要求3所述的节点信息查询方法,其特征在于,所述基于所述第二存储器中各所述特征属性信息中的父节点标识、节点标识、排序标识和设定勾选状态,建立所述树形结构,包括:
根据各所述特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤,确定各所述树节点所属的兄弟节点集合和各所述树节点的层级信息;
根据各所述树节点所属的兄弟节点集合和各所述树节点的层级信息,确定各所述树节点的节点拓扑信息;
通过各所述树节点的层级信息确定所述树形结构的属性信息;
根据所述树形结构的属性信息以及各所述树节点的节点拓扑信息、所述父节点标识、所述节点标识、所述排序标识和所述设定勾选状态,生成所述树形结构。
5.根据权利要求4所述的节点信息查询方法,其特征在于,所述根据各所述特征属性信息中的父节点标识和节点标识,执行节点匹配的步骤包括:
将所述第二存储器中所述父节点标识为空的特征属性信息确定为所述树形结构的根节点;
对所述根节点执行父节点标识匹配的步骤,确定所述根节点的子节点;
对所述根节点的子节点继续执行所述父节点标识匹配的步骤,直至所述第二存储器中的特征属性信息均匹配成功为止,得到所述树形结构中各所述树节点所属的兄弟节点集合和各所述树节点的层级信息;
其中,所述父节点标识匹配的步骤包括:将所述第二存储器中除所述根节点对应的特征属性信息外的其它特征属性信息中的父节点标识与所述根节点的节点标识进行匹配,将所述第二存储器中匹配成功的特征属性信息确定为所述根节点的子节点。
6.根据权利要求5所述的节点信息查询方法,其特征在于,所述根据各所述树节点所属的兄弟节点集合和各所述树节点的层级信息,确定各所述树节点的节点拓扑信息,包括:
根据各所述树节点的父节点标识,获取互为兄弟节点的兄弟节点集合;
根据各所述树节点的排序标识,确定每个兄弟节点集合中各子节点的排序标识,并根据各子节点的排序标识对每个兄弟节点集合中的各子节点进行重新排序,得到排序后的各兄弟节点集合;
根据所述排序后的各兄弟节点集合和各所述树节点的层级信息,得到各所述树节点的节点拓扑信息。
7.根据权利要求1-6中任一项所述的节点信息查询方法,其特征在于,所述方法还包括:
根据各所述树节点的设定勾选状态,校验所述树形结构中所有树节点的当前勾选状态。
8.根据权利要求7所述的节点信息查询方法,其特征在于,所述根据各所述树节点的设定勾选状态,校验所述树形结构中所有树节点的当前勾选状态,包括:
针对所述树形结构中每层树节点,确定设定勾选状态为空的多个兄弟节点;
将所述设定勾选状态为空的多个兄弟节点的设定勾选状态均更新为已勾选状态,得到更新后的树形结构;
从所述更新后的树形结构的最下层的树节点开始,逐层校验所述更新后的树形结构中每层树节点的父节点的当前勾选状态,直到所述更新后的树形结构中当前层树节点的父节点为根节点为止,完成校验;所述最下层的树节点的层级信息等于所述更新后的树形结构的属性信息与预设信息之间的差值。
9.根据权利要求1-6中任一项所述的节点信息查询方法,其特征在于,所述特征属性信息包括父节点标识;所述属性信息包括所述树形结构的深度信息;
所述基于所述树形结构的属性信息、各所述树节点对应的节点拓扑信息和特征属性信息在所述树形结构中查询目标树节点的节点信息,包括:
若所述目标树节点为当前树节点的父节点,则根据各所述树节点的父节点标识、层级信息和所述树形结构的深度信息,按照第一预设方向查找所述树形结构中每层所有树节点的父节点,直至查找到所述目标树节点为止,得到所述目标树节点的节点信息。
10.根据权利要求9所述的节点信息查询方法,其特征在于,所述特征属性信息还包括各所述树节点的节点标识;
所述基于所述树形结构的属性信息、各所述树节点对应的节点拓扑信息和特征属性信息在所述树形结构中查询目标树节点的节点信息,包括:
若所述目标树节点为所述当前树节点的子节点,则根据各所述树节点的节点标识、层级信息和所述树形结构的深度信息,按照第二预设方向查找所述树形结构中每层所有树节点的子节点,直至查找到所述目标树节点为止,得到所述目标树节点的节点信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607935.0A CN115017158A (zh) | 2022-05-31 | 2022-05-31 | 节点信息查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607935.0A CN115017158A (zh) | 2022-05-31 | 2022-05-31 | 节点信息查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017158A true CN115017158A (zh) | 2022-09-06 |
Family
ID=83071769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210607935.0A Pending CN115017158A (zh) | 2022-05-31 | 2022-05-31 | 节点信息查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017158A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与*** |
CN116204554A (zh) * | 2023-05-04 | 2023-06-02 | 浙江康勒工业软件有限公司 | 数据处理方法、***、电子设备和存储介质 |
CN116680450A (zh) * | 2023-06-06 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其分页加载方法 |
CN117389984A (zh) * | 2023-09-06 | 2024-01-12 | 苏州数设科技有限公司 | 工业软件对象模型的构建方法、装置、介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794196A (zh) * | 2015-04-21 | 2015-07-22 | 浙江大学 | 一种树形结构数据的采集和更新方法 |
JP2017076281A (ja) * | 2015-10-15 | 2017-04-20 | 日本電信電話株式会社 | 単語埋込学習装置、テキスト評価装置、方法、及びプログラム |
CN112905847A (zh) * | 2021-01-13 | 2021-06-04 | 浪潮云信息技术股份公司 | 树状结构的构建方法和装置 |
CN114186102A (zh) * | 2021-12-15 | 2022-03-15 | 深圳市沃特沃德信息有限公司 | 树形结构数据的构建方法、装置和计算机设备 |
CN114491172A (zh) * | 2022-04-07 | 2022-05-13 | 深圳竹云科技股份有限公司 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
-
2022
- 2022-05-31 CN CN202210607935.0A patent/CN115017158A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794196A (zh) * | 2015-04-21 | 2015-07-22 | 浙江大学 | 一种树形结构数据的采集和更新方法 |
JP2017076281A (ja) * | 2015-10-15 | 2017-04-20 | 日本電信電話株式会社 | 単語埋込学習装置、テキスト評価装置、方法、及びプログラム |
CN112905847A (zh) * | 2021-01-13 | 2021-06-04 | 浪潮云信息技术股份公司 | 树状结构的构建方法和装置 |
CN114186102A (zh) * | 2021-12-15 | 2022-03-15 | 深圳市沃特沃德信息有限公司 | 树形结构数据的构建方法、装置和计算机设备 |
CN114491172A (zh) * | 2022-04-07 | 2022-05-13 | 深圳竹云科技股份有限公司 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与*** |
CN116150436B (zh) * | 2023-04-14 | 2023-08-08 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与*** |
CN116204554A (zh) * | 2023-05-04 | 2023-06-02 | 浙江康勒工业软件有限公司 | 数据处理方法、***、电子设备和存储介质 |
CN116204554B (zh) * | 2023-05-04 | 2023-08-08 | 浙江康勒工业软件有限公司 | 数据处理方法、***、电子设备和存储介质 |
CN116680450A (zh) * | 2023-06-06 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其分页加载方法 |
CN117389984A (zh) * | 2023-09-06 | 2024-01-12 | 苏州数设科技有限公司 | 工业软件对象模型的构建方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115017158A (zh) | 节点信息查询方法 | |
US9092481B2 (en) | Method and system for processing graph queries | |
CN111512303B (zh) | 分层图形数据结构 | |
EP1358578B1 (en) | An improved system for storing and retrieving data | |
CN110738577B (zh) | 社区发现方法、装置、计算机设备和存储介质 | |
EP2924594A1 (en) | Data encoding and corresponding data structure in a column-store database | |
US20080222129A1 (en) | Inheritance of attribute values in relational database queries | |
CN104756107A (zh) | 采用位置信息剖析数据 | |
JP2002501256A (ja) | データベース装置 | |
CN103559189B (zh) | 基于元数据集成模型的电力仿真培训资源管理***及方法 | |
CN113254630B (zh) | 一种面向全球综合观测成果的领域知识图谱推荐方法 | |
CN115329504B (zh) | 一种基于复杂产品结构的bom构建方法 | |
CN111488406A (zh) | 一种图数据库管理方法 | |
CN105653716A (zh) | 一种基于分类-属性-值的数据库构造方法和构造*** | |
US7761265B2 (en) | Method for comparing solid models | |
US20200380024A1 (en) | Digital Duplicate | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
US11281817B2 (en) | Systems and methods for generating programmatic designs of structures | |
WO2022156086A1 (zh) | 人机交互方法、装置、设备及存储介质 | |
KR102153259B1 (ko) | 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법 | |
Kang et al. | Schema matching using interattribute dependencies | |
US11556532B2 (en) | Hash trie based optimization of database operations | |
CN117076590A (zh) | 地址标准化方法、装置、计算机设备及可读存储介质 | |
CN111967045A (zh) | 一种基于大数据的数据发布隐私保护算法及*** | |
US20220398237A1 (en) | Data retrieval from hierarchical industrial asset datasets |
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 |