CN114491172B - 树形结构节点的快速检索方法、装置、设备及存储介质 - Google Patents
树形结构节点的快速检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114491172B CN114491172B CN202210359659.0A CN202210359659A CN114491172B CN 114491172 B CN114491172 B CN 114491172B CN 202210359659 A CN202210359659 A CN 202210359659A CN 114491172 B CN114491172 B CN 114491172B
- Authority
- CN
- China
- Prior art keywords
- node
- identification information
- information
- retrieval
- nodes
- 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
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—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/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及计算机技术领域,公开了一种树形结构节点的快速检索方法、装置、设备及存储介质,该方法包括:接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;筛选符合所述检索条件的节点并输出。本发明通过为树形结构的节点设定数据信息,在检索节点时,基于数据信息进行关键信息匹配,不需要逐个节点进行遍历,检索效率更高,资源占用更少。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种树形结构节点的快速检索方法、装置、设备及存储介质。
背景技术
在计算机科学中,树(tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。树形结构具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。树形结构是一类重要的非线性数据结构,其在计算机领域中有着广泛应用,如在编译程序中,可用树来表示源程序的语法结构,又如在数据库系统中,树形结构也是信息的重要组织形式之一,再如在文件管理中,多级目录结构就采用树形结构。
目前,在使用树形结构时,会经常需要搜索指定的节点或多级节点,如需要根据子节点向上找到各级父节点,或者根据当前节点向下搜索所有子节点,或者搜索到指定级别的父节点或所有子节点,而传统的方法一般是根据父子节点关系逐级搜索。但是,有些系统树形数据量很庞大,编辑检索很频繁,用传统方法会严重影响检索性能,也增加了系统压力,对系统性能产生不好影响。
发明内容
鉴于上述问题,本发明实施例提供了一种树形结构节点的快速检索方法、装置、设备及存储介质,用于解决节点检索效率过低的问题。
根据本发明实施例的一个方面,提供了一种树形结构节点的快速检索方法,其包括:接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;筛选符合所述检索条件的节点并输出。
在一种可选的方式中,所述方法还包括预先构建所述树形结构,具体包括:获取目标菜单的所有目录并进行遍历,得到各个目录对应的路径;基于所述路径确认所述各个目录对应的节点位置和依赖关系;根据所述节点位置、所述路径和所述依赖关系生成所述各个目录的数据信息;根据所述节点位置生成所述各个目录对应的节点,并将所述各个目录对应的数据信息存储至对应的节点中,得到所述树形结构。
在一种可选的方式中,所述数据信息以JSON格式自动生成。
在一种可选的方式中,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点之前,还包括:获取当前节点所处层级的上上个层级的目标节点标识信息;从所有节点中筛选所述数据信息包括所述目标节点标识信息的节点作为所述待检索节点。
在一种可选的方式中,所述节点检索指令包括父节点检索指令,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点,包括:当所述节点检索指令为父节点检索指令时,将所述父节点标识信息与待检索节点的数据信息中的唯一标识信息进行匹配;当匹配成功时,确认所述待检索节点符合所述检索条件。
在一种可选的方式中,所述节点检索指令包括子节点检索指令,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点,包括:当所述节点检索指令为子节点检索指令时,根据所述层级信息确认当前节点所处的第一目标层级;将所述唯一标识信息与待检索节点的数据信息中的第一目标层级的节点标识信息进行匹配;当匹配成功时,确认所述待检索节点符合所述检索条件。
在一种可选的方式中,所述节点检索指令包括指定层级子节点检索指令,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点,包括:当所述节点检索指令为指定层级子节点检索指令时,根据所述层级信息确认当前节点所处的第二目标层级,并根据指定层级确认目标层级信息;将所述唯一标识信息、所述目标层级信息分别与待检索节点的数据信息中的第二目标层级的节点标识信息、层级信息进行匹配;当所述唯一标识信息和所述目标层级信息均匹配成功时,确认所述待检索节点符合所述检索条件。
根据本发明实施例的另一方面,提供了一种基于切换方式的树形结构节点的快速检索装置,其包括:获取模块,用于接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;检索模块,用于根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;输出模块,用于筛选符合所述检索条件的节点并输出。
根据本发明实施例的另一方面,提供了一种树形结构节点的快速检索设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行如上述任意一项的树形结构节点的快速检索方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在树形结构节点的快速检索设备上运行时,使得树形结构节点的快速检索设备执行如上述任意一项的树形结构节点的快速检索方法的操作。
本发明实施例的树形结构节点的快速检索方法通过对树形结构中各个节点预先设定包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息的数据信息,在根据当前节点进行节点检索时,基于当前节点的数据信息对待检索节点进行快速检索,从而不需要逐级遍历树形结构每一级的所有节点,大大减少了需要进行检索的数据量,其检索效率更高,对资源的占用更少,大大提升了树形结构的节点检索性能。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的树形结构节点的快速检索方法的流程示意图;
图2示出了本发明实施例提供的树形结构节点的快速检索装置的结构示意图;
图3示出了本发明实施例提供的树形结构节点的快速检索设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明树形结构节点的快速检索方法第一实施例的流程图,该方法由树形结构节点的快速检索设备执行。如图1所示,该方法包括以下步骤:
步骤101:接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息。
具体地,当接收到用户输入的基于当前节点的节点检索指令时,获取该当前节点的数据信息。该数据信息在构建所述树形结构时预先进行设定,该数据信息具体包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息。
其中,唯一标识信息是指每个节点对应的用于标识自身身份信息,通过该唯一标识信息即可识别出对应的节点;父节点标识信息是指当前节点的父节点的标识信息,需要理解的是,每个节点均只对应一个父节点,因此,每个节点的数据信息中的父节点标识信息只有一个;层级信息是指当前节点所处的层级,例如,根节点的层级为第一层级,根节点的子节点的层级为第二层级,依次类推,即可获知每个节点的层级;各层级的节点标识信息是指节点的数据信息中记录了当前节点所处分支路径上的每个节点唯一标识信息。
进一步的,本实施例所述树形结构节点的快速检索方法还包括预先构建所述树形结构,具体包括:
1、获取目标菜单的所有目录并进行遍历,得到各个目录对应的路径。
具体地,当一个项目需要使用树形结构是,首先获取该项目的目标菜单的所有目录,以及各个目录对应的路径,该路径记录了每个目录所处位置以及前后关联的其他目录。其中,该路径是指从根目录到自身途经的所有目录构成的路径。
2、基于所述路径确认所述各个目录对应的节点位置和依赖关系。
具体地,根据每个目录在路径中所处位置对应设定节点位置,并获取该目标与前一个目录和后一个目录的依赖关系,该依赖关系为父、子节点关系。
3、根据所述节点位置、所述路径和所述依赖关系生成所述各个目录的数据信息。
4、根据所述节点位置生成所述各个目录对应的节点,并将所述各个目录对应的数据信息存储至对应的节点中,得到所述树形结构。
具体地,在得到节点位置、路径和依赖关系后,根据节点位置、路径和依赖关系从根目录开始依次生成每个目录的数据信息,再根据节点位置生成各个目录对应的节点后,将数据信息分别存储对应的节点中,从而生成树形结构。其中,数据信息中的唯一标识信息可通过长度为32位的字符串进行表示,父节点标识信息根据当前节点的父节点的唯一标识信息生成,层级信息根据节点所处的层级生成,采用数字表示,各层级的节点标识信息为各层级的目录的唯一标识信息。需要理解的是,根节点无父节点,因此,根节点的父节点标识信息为空。此外,各层级的节点标识信息仅包括第一层级与自身节点所在层级之间的节点标识信息,例如,根节点只有一个层级,则其只需要记录第一层级的节点标识信息,其余层级的节点标识信息为空,根节点的子节点对应第二个层级,则其需要记录第一层级和第二层级的节点标识信息,其余层级的节点标识信息为空。详细请参阅下表1,表1展示了数据信息的解释说明:
表1
字段 | 字段类型(大小) | 描述 |
nodeId | 字符串(32位) | 唯一标识信息 |
parentId | 父节点标识信息 | |
nodeName | 字符串(128位) | 节点名称信息 |
... | ... | 其它字段信息 |
curLevel | 数字(4位) | 层级信息 |
level1Id | 字符串(32位) | 第一层级的节点标识信息 |
level2Id | 字符串(32位) | 第二层级的节点标识信息 |
... | ... | ... |
levelnId | 字符串(32位) | 第n层级的节点标识信息 |
remark | 字符串(2000位) | 备注 |
需要说明的是,除唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息之外,数据信息还可包括节点名称信息、其它字段信息、备注信息等,用于对节点进行描述,以帮助迅速了解节点的具体信息。
进一步的,所述数据信息以JSON格式自动生成。
具体地,JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,层次结构简洁清晰,易于阅读和编写,也易于机器解析和生成,并能有效提升网络传输效率。因此,本实施例中,数据信息以JSON格式进行表示,其由计算机自动生成。
请参阅下表2,表2展示了根节点和一级子节点对应的数据信息的示例:
表2
根节点 | {"nodeId":"F2887530F9B5E4DA5B383BD369FC2411","paren tId":"","nodeName":"集团总部","curLevel":1,"level1Id":" F2887530F9B5E4DA5B383BD369FC2411","level2Id":"","lev el3Id":"","level4Id":"","level5Id":"","level6Id":"","level7Id":"", "level8Id":"","level9Id":"","level10Id":"","level11Id":"","level1 2Id":"","level13Id":"","level14Id":"","level15Id":""} |
一级子节点 | {"nodeId":"67FE423D408DC4BDD8B6C0768705F5D8","pare ntId":"F2887530F9B5E4DA5B383BD369FC2411","nodeName ":"分公司 ","curLevel":2,"level1Id":"F2887530F9B5E4DA5B383BD369 FC2411","level2Id":"67FE423D408DC4BDD8B6C0768705F5 D8","level3Id":"","level4Id":"","level5Id":"","level6Id":"","leve l7Id":"","level8Id":"","level9Id":"","level10Id":"","level11Id":" ","level12Id":"","level13Id":"","level14Id":"","level15Id":""} |
步骤102:根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点。
具体地,在获取到当前节点的唯一标识信息后,从树形结构中检索到对应的当前节点,再从当前节点获取到预先存储的数据信息,再根据节点检索指令和数据信息进行相应的检索。
其中,节点检索指令包括父节点检索指令、子节点检索指令、指定层级子节点检索指令中的至少一种。针对于不同的检索指令,其检索条件所采用的数据不相同。
具体地,当所述节点检索指令是子节点检索指令时,所述步骤102具体包括:
1.1、当所述节点检索指令为父节点检索指令时,将所述父节点标识信息与待检索节点的数据信息中的唯一标识信息进行匹配。
1.2、当匹配成功时,确认所述待检索节点符合所述检索条件。
具体地,当所述节点检索指令为父节点检索指令时,需要检索当前节点的父节点,而当前节点的数据信息中记录了当前节点的父节点标识信息,因此,只需将该父节点标识信息与待检索节点的唯一标识信息进行匹配即可得到当前节点的父节点,其检索效率远远高于逐级遍历每个层级的节点。
具体地,当所述节点检索指令为子节点检索指令时,所述步骤102具体包括:
2.1、当所述节点检索指令为子节点检索指令时,根据所述层级信息确认当前节点所处的第一目标层级。
2.2、将所述唯一标识信息与待检索节点的数据信息中的第一目标层级的节点标识信息进行匹配。
2.3、当匹配成功时,确认所述待检索节点符合所述检索条件。
具体地,当所述节点检索指令为子节点检索指令时,需要检索当前节点的子节点,根据本实施例中上述内容可知,各层级的节点标识信息仅包括第一层级与自身节点所在层级之间的节点标识信息,因此,数据信息中当前节点对应层级存在节点标识信息,且节点标识信息与当前节点的唯一标识信息匹配的节点均为当前节点的子节点。此时,通过数据信息中的层级信息确认当前节点所处的第一目标层级,再查询待检索节点的第一目标层级对应的节点标识信息,若节点标识信息为空,则该待检索节点不是当前节点的子节点,若节点标识信息与不为空且与当前节点的唯一标识信息匹配,则该待检索节点为该当前节点的子节点。
具体地,当所述节点检索指令为指定层级子节点检索指令时,所述步骤S102具体包括:
3.1、当所述节点检索指令为指定层级子节点检索指令时,根据所述层级信息确认当前节点所处的第二目标层级,并根据指定层级确认目标层级信息。
3.2、将所述唯一标识信息、所述目标层级信息分别与待检索节点的数据信息中的第二目标层级的节点标识信息、层级信息进行匹配。
3.3、当所述唯一标识信息和所述目标层级信息均匹配成功时,确认所述待检索节点符合所述检索条件。
具体地,指定层级子节点检索是指从当前节点开始,该当前节点到指定层级的子节点之间所有的节点。其中,当前节点的子节点的数据信息必定包括当前节点的唯一标识信息,因此,同样通过数据信息中的层级信息确认当前节点所处的第二目标层级,再通过指定层级确认目标层级信息,例如,指定层级为3层,则目标层级信息为第二目标层级+3层,然后将唯一标识信息与待检索节点的数据信息中的第二目标层级的节点标识信息匹配、同时将目标层级信息分别与待检索节点的数据信息中的层级信息进行匹配,当两者匹配均通过时,确认待检索节点符合检索条件。
进一步的,为了进一步减少检索节点时所需处理的数据量,在步骤102之前,还包括:
获取当前节点所处层级的上上个层级的目标节点标识信息;
从所有节点中筛选所述数据信息包括所述目标节点标识信息的节点作为所述待检索节点。
具体地,本实施例中,节点检索包括父节点检索、子节点检索、指定层级的子节点检索,而父节点检索只会进行到当前节点的上一层节点,子节点检索和指定层级的子节点检索只需当前节点的后续节点,因此,本实施例中,通过获取当前节点所处层级的上上个层级的目标节点标识信息,再从所有节点中筛选所述数据信息包括所述目标节点标识信息的节点作为所述待检索节点,从而使得待检索节点只包括当前节点的上上个层级节点的所有后续节点,而在上上个层级节点之前的节点则被剔除在待检索节点之外,从而减少检索时所要处理的数据量。
步骤103:筛选符合所述检索条件的节点并输出。
本发明实施例的树形结构节点的快速检索方法通过对树形结构中各个节点预先设定包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息的数据信息,在根据当前节点进行节点检索时,基于当前节点的数据信息对待检索节点进行快速检索,从而不需要逐级遍历树形结构每一级的所有节点,大大减少了需要进行检索的数据量,其检索效率更高,对资源的占用更少,大大提升了树形结构的节点检索性能。
图2示出了本发明树形结构节点的快速检索装置实施例的结构示意图。如图2所示,该树形结构节点的快速检索装置200包括:获取模块201、检索模块202和输出模块203。
获取模块201,用于接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;
检索模块202,用于根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;
输出模块203,用于筛选符合所述检索条件的节点并输出。
在一种可选的方式中,所述树形结构节点的快速检索装置200还包括构建模块,用于预先构建所述树形结构,具体包括:获取目标菜单的所有目录并进行遍历,得到各个目录对应的路径;基于所述路径确认所述各个目录对应的节点位置和依赖关系;根据所述节点位置、所述路径和所述依赖关系生成所述各个目录的数据信息;根据所述节点位置生成所述各个目录对应的节点,并将所述各个目录对应的数据信息存储至对应的节点中,得到所述树形结构。
在一种可选的方式中,所述数据信息以JSON格式自动生成。
在一种可选的方式中,检索模块202执行所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点的操作之前,还用于:获取当前节点所处层级的上上个层级的目标节点标识信息;从所有节点中筛选所述数据信息包括所述目标节点标识信息的节点作为所述待检索节点。
在一种可选的方式中,所述节点检索指令包括父节点检索指令,检索模块202执行所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点的操作,具体包括:当所述节点检索指令为父节点检索指令时,将所述父节点标识信息与待检索节点的数据信息中的唯一标识信息进行匹配;当匹配成功时,确认所述待检索节点符合所述检索条件。
在一种可选的方式中,所述节点检索指令包括子节点检索指令,检索模块202执行所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点的操作,具体包括:当所述节点检索指令为子节点检索指令时,根据所述层级信息确认当前节点所处的第一目标层级;将所述唯一标识信息与待检索节点的数据信息中的第一目标层级的节点标识信息进行匹配;当匹配成功时,确认所述待检索节点符合所述检索条件。
在一种可选的方式中,所述节点检索指令包括指定层级子节点检索指令,检索模块202执行所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点的操作,具体包括:当所述节点检索指令为指定层级子节点检索指令时,根据所述层级信息确认当前节点所处的第二目标层级,并根据指定层级确认目标层级信息;将所述唯一标识信息、所述目标层级信息分别与待检索节点的数据信息中的第二目标层级的节点标识信息、层级信息进行匹配;当所述唯一标识信息和所述目标层级信息均匹配成功时,确认所述待检索节点符合所述检索条件。
关于上述实施例树形结构节点的快速检索装置中各模块实现技术方案的其他细节,可参见上述实施例中的树形结构节点的快速检索方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图3示出了本发明树形结构节点的快速检索设备实施例的结构示意图,本发明具体实施例并不对树形结构节点的快速检索设备的具体实现做限定。
如图3所示,该树形结构节点的快速检索设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如UE或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述用于树形结构节点的快速检索方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机可执行指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。树形结构节点的快速检索设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以被处理器502调用使树形结构节点的快速检索设备执行以下操作:
接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;
根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;
筛选符合所述检索条件的节点并输出。
本发明实施例通过对树形结构中各个节点预先设定包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息的数据信息,在根据当前节点进行节点检索是,基于当前节点的数据信息对待检索节点进行快速检索,从而不需要逐级遍历树形结构每一级的所有节点,大大减少了需要进行检索的数据量,其检索效率更高,对资源的占用更少,大大提升了树形结构的节点检索性能。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在树形结构节点的快速检索设备上运行时,使得所述树形结构节点的快速检索设备执行上述任意方法实施例中的树形结构节点的快速检索方法。
可执行指令具体可以用于使得树形结构节点的快速检索设备/装置执行以下操作:
接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;
根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点;
筛选符合所述检索条件的节点并输出。
本发明实施例通过对树形结构中各个节点预先设定包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息的数据信息,在根据当前节点进行节点检索是,基于当前节点的数据信息对待检索节点进行快速检索,从而不需要逐级遍历树形结构每一级的所有节点,大大减少了需要进行检索的数据量,其检索效率更高,对资源的占用更少,大大提升了树形结构的节点检索性能。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (9)
1.一种树形结构节点的快速检索方法,其特征在于,其包括:
接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;所述节点检索指令包括子节点检索指令;
当所述节点检索指令为子节点检索指令时,根据所述层级信息确认当前节点所处的第一目标层级;
将所述唯一标识信息与待检索节点的数据信息中的第一目标层级的节点标识信息进行匹配;
当匹配成功时,确认所述待检索节点符合检索条件;
筛选符合所述检索条件的节点并输出。
2.根据权利要求1所述的树形结构节点的快速检索方法,其特征在于,所述方法还包括预先构建所述树形结构,具体包括:
获取目标菜单的所有目录并进行遍历,得到各个目录对应的路径;
基于所述路径确认所述各个目录对应的节点位置和依赖关系;
根据所述节点位置、所述路径和所述依赖关系生成所述各个目录的数据信息;
根据所述节点位置生成所述各个目录对应的节点,并将所述各个目录对应的数据信息存储至对应的节点中,得到所述树形结构。
3.根据权利要求2所述的树形结构节点的快速检索方法,其特征在于,所述数据信息以JSON格式自动生成。
4.根据权利要求1所述的树形结构节点的快速检索方法,其特征在于,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点之前,还包括:
获取当前节点所处层级的上上个层级的目标节点标识信息;
从所有节点中筛选所述数据信息包括所述目标节点标识信息的节点作为所述待检索节点。
5.根据权利要求1所述的树形结构节点的快速检索方法,其特征在于,所述节点检索指令包括父节点检索指令,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点,包括:
当所述节点检索指令为父节点检索指令时,将所述父节点标识信息与待检索节点的数据信息中的唯一标识信息进行匹配;
当匹配成功时,确认所述待检索节点符合所述检索条件。
6.根据权利要求1所述的树形结构节点的快速检索方法,其特征在于,所述节点检索指令包括指定层级子节点检索指令,所述根据所述节点检索指令与所述唯一标识信息、所述父节点标识信息、所述层级信息、所述各层级的节点标识信息中的至少一种作为检索条件检索所有待检索节点,包括:
当所述节点检索指令为指定层级子节点检索指令时,根据所述层级信息确认当前节点所处的第二目标层级,并根据指定层级确认目标层级信息;
将所述唯一标识信息、所述目标层级信息分别与待检索节点的数据信息中的第二目标层级的节点标识信息、层级信息进行匹配;
当所述唯一标识信息和所述目标层级信息均匹配成功时,确认所述待检索节点符合所述检索条件。
7.一种树形结构节点的快速检索装置,其特征在于,其包括:
获取模块,用于接收到基于当前节点的节点检索指令时,获取所述当前节点的数据信息,所述数据信息在构建所述树形结构时设定,所述数据信息包括唯一标识信息、父节点标识信息、层级信息、各层级的节点标识信息;所述节点检索指令包括子节点检索指令;
检索模块,用于当所述节点检索指令为子节点检索指令时,根据所述层级信息确认当前节点所处的第一目标层级;将所述唯一标识信息与待检索节点的数据信息中的第一目标层级的节点标识信息进行匹配;当匹配成功时,确认所述待检索节点符合检索条件;
输出模块,用于筛选符合所述检索条件的节点并输出。
8.一种树形结构节点的快速检索设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6任意一项所述的树形结构节点的快速检索方法的操作。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在树形结构节点的快速检索设备上运行时,使得树形结构节点的快速检索设备执行如权利要求1-6任意一项所述的树形结构节点的快速检索方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210359659.0A CN114491172B (zh) | 2022-04-07 | 2022-04-07 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210359659.0A CN114491172B (zh) | 2022-04-07 | 2022-04-07 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114491172A CN114491172A (zh) | 2022-05-13 |
CN114491172B true CN114491172B (zh) | 2022-08-05 |
Family
ID=81488039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210359659.0A Active CN114491172B (zh) | 2022-04-07 | 2022-04-07 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114491172B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108235B (zh) * | 2023-02-20 | 2023-11-10 | 上海安博通信息科技有限公司 | 一种树形结构的路径获取方法、装置以及处理设备 |
CN116522871B (zh) * | 2023-07-05 | 2024-01-09 | 鹏城实验室 | 数据格式转换方法、装置、设备和存储介质 |
CN116680278B (zh) * | 2023-07-28 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020273A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 树形结构数据的展示及相关索引表生成的方法与装置 |
CN109741034A (zh) * | 2019-01-03 | 2019-05-10 | 中国农业银行股份有限公司 | 一种网格树形组织管理方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301904A (ja) * | 2004-04-15 | 2005-10-27 | Mitsubishi Electric Corp | 住所データベースおよびこれを用いた住所検索システム |
CN102521375B (zh) * | 2011-12-19 | 2013-12-11 | 山东中创软件商用中间件股份有限公司 | 一种目录服务数据检索方法及系统 |
US9558262B2 (en) * | 2013-07-02 | 2017-01-31 | Via Technologies, Inc. | Sorting method of data documents and display method for sorting landmark data |
CN103699648A (zh) * | 2013-12-26 | 2014-04-02 | 成都市卓睿科技有限公司 | 用于快速检索的树形数据结构及其实现方法 |
CN104598517A (zh) * | 2014-12-09 | 2015-05-06 | 北京网梯科技发展有限公司 | 基于普通数据库的树型结构表的存储与查询技术 |
US20170357708A1 (en) * | 2016-06-13 | 2017-12-14 | Joviandata, Inc. | Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction |
CN106339450B (zh) * | 2016-08-25 | 2019-08-06 | 成都索贝数码科技股份有限公司 | 一种树形数据的索引方法 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
CN109117424A (zh) * | 2017-06-23 | 2019-01-01 | 北京国双科技有限公司 | 一种关联数据的展示方法及装置 |
CN107729396B (zh) * | 2017-09-20 | 2020-01-31 | 上海精数信息科技有限公司 | 数据动态查询方法及装置 |
CN110471916B (zh) * | 2019-07-03 | 2023-05-26 | 平安科技(深圳)有限公司 | 数据库的查询方法、装置、服务器及介质 |
CN112433712A (zh) * | 2020-11-09 | 2021-03-02 | 金蝶软件(中国)有限公司 | 报表展示方法、装置、计算机设备和存储介质 |
CN113555069A (zh) * | 2021-07-22 | 2021-10-26 | 杭州叙简科技股份有限公司 | 一种基于ac自动机的化学品名称检索和抽取方法及装置 |
CN113704294A (zh) * | 2021-08-17 | 2021-11-26 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备和存储介质 |
-
2022
- 2022-04-07 CN CN202210359659.0A patent/CN114491172B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020273A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 树形结构数据的展示及相关索引表生成的方法与装置 |
CN109741034A (zh) * | 2019-01-03 | 2019-05-10 | 中国农业银行股份有限公司 | 一种网格树形组织管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114491172A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114491172B (zh) | 树形结构节点的快速检索方法、装置、设备及存储介质 | |
US6915340B2 (en) | System and method for deriving future network configuration data from the current and previous network configuration data | |
CN110309196A (zh) | 区块链数据存储和查询方法、装置、设备及存储介质 | |
CA3033173C (en) | Systems, methods, and data structures for high-speed searching or filtering of large datasets | |
US20080313196A1 (en) | Method, Information Processing Apparatus, and Program For Generating Array | |
US10042875B2 (en) | Bloom filter index for device discovery | |
US20210191919A1 (en) | Using path encoding method and relational set operations for search and comparison of hierarchial structures | |
CN111324577B (zh) | 一种Yml文件读写的方法及装置 | |
CN110515896B (zh) | 模型资源管理方法、模型文件制作方法、装置和系统 | |
US20120209855A1 (en) | Bit-string key classification/distribution apparatus, classification/distribution method, and program | |
CN112667735A (zh) | 一种基于大数据的可视化模型建立分析系统和方法 | |
CN114691721A (zh) | 图数据的查询方法、装置、电子设备及存储介质 | |
CN114443646A (zh) | 基于双向线性链表目录检索的多叉树结构、电子设备及可读存储介质 | |
CN113918605A (zh) | 数据查询方法、装置、设备以及计算机存储介质 | |
CN109933589B (zh) | 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法 | |
CN107728931A (zh) | 用于存储数据的方法和装置 | |
CN109753533A (zh) | 一种多源关系型数据库客户端开发方法及装置 | |
CN113032450B (zh) | 一种数据存储与检索方法、系统、存储介质、处理终端 | |
CN112835905B (zh) | 一种数组类型列的索引方法、装置、设备以及存储介质 | |
CN115221360A (zh) | 树形结构配置方法和系统 | |
CN110609854A (zh) | 字段名查询方法、系统、电子设备及计算机存储介质 | |
CN101930451B (zh) | 用于存储高效地搜索至少一个询问数据元素的方法和装置 | |
CN112463896A (zh) | 档案编目数据处理方法、装置、计算设备及存储介质 | |
CN112988778A (zh) | 一种处理数据库查询脚本的方法和装置 | |
US20050060314A1 (en) | System and methods involving a data structure searchable with O(logN) performance |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 518000 4001, Block D, Building 1, Chuangzhi Yuncheng Lot 1, Liuxian Avenue, Xili Community, Xili Street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Zhuyun Technology Co.,Ltd. Address before: 518000 East, 3rd floor, incubation building, China Academy of science and technology, 009 Gaoxin South 1st Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Zhuyun Technology Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |