一种树形结构节点检索方法及装置与流程



1.本技术涉及数据检索领域,特别是涉及一种树形结构节点检索方法及装置。


背景技术:



2.随着互联网的不断发展,计算机在运行时,会往计算机系统中存储海量的文件,同时文件中又包含大量的数据信息。由此,在用户想要获取某个文件时,不太便利。
3.现有的文件检索方式为:在用户需要获取某个文件时,需要从上往下一层一层的循环遍历,来获取所需文件。也就是,在计算机系统中获取当前系统的文件根目录,然后查询根目录中所存储的文件和文件夹,再分别查询每次所获得的文件夹中的内容,以此类推逐级向下检索文件。然后将每次检索得到的文件分别读取内容,匹配关键字,记录符合要求的文件信息。但是一般所需信息所在的文件都在比较深的文件层级,所以这样的搜索方式往往耗时久,效率差,并且在检索到所需文件之前,会持有所有已经获取到的文件信息,也会导致占用存储空间过多。
4.因此,如何提高文件检索效率,是本领域技术人员关注的重点问题。


技术实现要素:



5.基于上述问题,本技术提供了一种树形结构节点检索方法及装置,以提高文件检索效率。本技术实施例公开了如下技术方案:第一方面,本技术公开了一种树形结构节点检索方法,包括:获取检索指令,所述检索指令包括检索关键词;根据所述检索指令获得对应的目标叶子节点;对所述目标叶子节点进行匹配操作;响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
6.可选的,所述根据所述检索指令获得对应的目标叶子节点,包括:根据所述检索指令获得对应的根节点;根据所述根节点获得所述根节点对应的最左侧的目标叶子节点。
7.可选的,所述对所述目标叶子节点进行匹配操作,包括:判断所述目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。
8.可选的,所述根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点,包括:由所述目标叶子节点返回上一级子节点,获得所述上一级子节点中与所述检索关键词相匹配的第n个叶子节点。
9.可选的,还包括:对所述检索关键词进行存储;将匹配信息展示给用户。
10.第二方面,本技术公开了一种树形结构节点检索装置,包括:获取模块,用于获取检索指令,所述检索指令包括检索关键词;获得模块,用于根据所述检索指令获得对应的目标叶子节点;匹配模块,用于对所述目标叶子节点进行匹配操作;检索模块,用于响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
11.可选的,所述获得模块,包括:第一获得单元,用于根据所述检索指令获得对应的根节点;第二获得单元,用于根据所述根节点获得所述根节点对应的最左侧的目标叶子节点。
12.可选的,所述匹配模块,包括:判断单元,用于判断所述目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。
13.可选的,所述检索模块,包括:第三获得单元,用于由所述目标叶子节点返回上一级子节点,获得所述上一级子节点中与所述检索关键词相匹配的第n个叶子节点。
14.可选的,还包括:存储单元,用于对所述检索关键词进行存储;展示单元,用于将匹配信息展示给用户。
15.相较于现有技术,本技术具有以下有益效果:本技术首先获取检索指令,所述检索指令包括检索关键词,然后根据所述检索指令获得对应的目标叶子节点,最后对所述目标叶子节点进行匹配操作,响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。如此,在本技术中,在获取到检索关键词后,就直接到达底层文件所在的目标叶子节点,优先检索底层文件,若检索到的目标叶子节点不存在与检索关键词匹配的关键词,则丢弃该目标叶子节点,向上折返进行检索,由于从最底层开始检索,底层检索完毕后,相关的文件信息就不再需要持有,以此提高了文件检索效率和降低了内存空间的占用。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种树形结构示意图;图2为本技术实施例提供的一种树形结构节点检索方法的流程图;图3为本技术实施例提供的获取目标叶子节点的示意图;图4为本技术实施例提供的获取第n个叶子节点的示意图;图5为本技术实施例提供的一种树形结构节点检索装置的结构示意图;图6为本技术实施例提供的一种用来装置实施例的电子设备的结构示意图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
19.需要说明的是,本技术提供的一种树形结构节点检索方法及装置,用于数据检索领域,上述仅为示例,并不对本技术提供的方法及装置名称的应用领域进行限定。
20.正如前文描述,现有的文件检索方式为:在用户需要获取某个文件时,需要从上往下一层一层的循环遍历,来获取所需文件。也就是,在计算机系统中获取当前系统的文件根目录,然后查询根目录中所存储的文件和文件夹,再分别查询每次所获得的文件夹中的内容,以此类推逐级向下检索文件。然后将每次检索得到的文件分别读取内容,匹配关键字,记录符合要求的文件信息。但是一般所需信息所在的文件都在比较深的文件层级,所以这样的搜索方式往往耗时久,效率差,并且在检索到所需文件之前,会持有所有已经获取到的文件信息,也会导致占用存储空间过多。
21.进一步可以理解的是,现有技术采用的是循环遍历法,即从根节点开始记录节点信息,获取根节点的所有子节点,然后依次向下获取节点信息,直至获取到叶子节点。假设每个节点都有 n 个子节点,树形结构一共有 m 层,那么扫描完之前需要持有所有层级的所有节点数据,也就是 1+n+n^2

+n^(m-1) 个节点数据,这样占用存储空间过多,也导致检索效率低下。由此,如何提高文件检索效率是本领域技术人员关注的重点问题。
22.所以发明人提出本技术的技术方案,本技术首先获取检索指令,所述检索指令包括检索关键词,然后根据所述检索指令获得对应的目标叶子节点,最后对所述目标叶子节点进行匹配操作,响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。如此,在本技术中,在获取到检索关键词后,就直接到达底层文件所在的目标叶子节点,优先检索底层文件,若检索到的目标叶子节点不存在与检索关键词匹配的关键词,则丢弃该目标叶子节点,向上折返进行检索,由于从最底层开始检索,底层检索完毕后,相关的文件信息就不再需要持有,以此提高了文件检索效率和降低了内存空间的占用。
23.本技术实施例提供的方法可以由终端设备上的软件执行。所述终端设备例如可以是手机、平板电脑、计算机等设备。所述软件例如可以是系统软件。
24.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
25.方法实施例以下通过一个实施例,对本技术提供的一种树形结构节点检索方法进行说明。
26.参见图1,图1为本技术实施例提供的一种树形结构示意图,下面结合图1来介绍本说明书中可能涉及到的术语含义。
27.树形结构:树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,树形结构中的每个节点只可以获取子节点的信息。比如:windows等主要计算机系统目录的文件结构均采用的是一种树形结构。
28.根节点:树形结构的最顶端的节点。
29.子节点:某个节点的下级节点。
30.叶子节点:树形结构的末端节点。
31.参见图2,该图为本技术实施例提供的一种树形结构节点检索方法的流程图,如图2所示,该方法可以包括:s101:获取检索指令,所述检索指令包括检索关键词。
32.在本步骤中,获取用户发出的检索指令,该检索指令中包括检索文件所对应的检索关键词,然后对检索关键词进行存储,以便在后续进行匹配时,基于该检索关键词进行匹配。其中,可以将检索关键词保存在mysql数据库(关系型数据库)中,上述数据库仅为示例,在此不做具体限定。
33.s102:根据所述检索指令获得对应的目标叶子节点。
34.在本步骤中,如图3所示,图3为本技术实施例提供的获取目标叶子节点的示意图。首先根据检索指令获得计算机系统下与该检索指令所对应的根目录,也就是对应的根节点,然后根节点获得根节点对应的最左侧的目标叶子节点,本领域技术人员还可以根据需要设置树形结构来获取最右侧的目标叶子节点,在此不做具体限定。如此,首先就直接抵达最底层的目标叶子节点,从底层开始检索,来降低内存占用和降低计算机处理器的运行负担。进一步的,可以将根节点理解为大型文件夹,子节点和叶子节点所对应的文件信息都存在于大型文件夹中,也就是说根节点是打开多个文件的所需步骤。
35.s103:对所述目标叶子节点进行匹配操作。
36.在本步骤中,首先对获取到的最左侧的目标叶子节点进行匹配操作,该匹配操作具体为:判断目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。若匹配成功,则停止检索,并将匹配信息和检索到的文件信息展示给用户;若匹配失败,执行步骤s104。
37.s104:响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
38.结合图4来说明本步骤,如图4所示,图4为本技术实施例提供的获取第n个叶子节点的示意图。需要进行说明的是,该图仅为示例,在实际应用中,还可根据需要任意修改。该步骤具体如下:s1:当匹配失败后,丢弃该目标叶子节点检索到的文件信息,然后从该目标叶子节点返回到上一级子节点a;s2:获取上一级子节点a对应的叶子节点a,该叶子节点a位于上一级子节点a的右侧,然后判断叶子节点a为子节点或为叶子节点;s3-1:若为子节点,则依次向下获取最左侧子节点,直至获取到叶子节点,然后重复返回上一级并获取右侧下一个子节点的操作;s3-2:若为叶子节点,则获取叶子节点a所对应的文件信息的关键词,使关键词与检索关键词进行匹配;s4-1:若匹配失败,则继续返回上一级子节点b,并获取上一级子节点b对应的叶子节点b,相应的,该叶子节点b位于上一级子节点b的右侧,依次重复该操作,直到获得上一级子节点n中与检索关键词相匹配的第n个叶子节点。
39.s4-2:若匹配成功,则停止检索,并将匹配信息和检索到的文件信息展示给用户,
那么,叶子节点a就为与检索关键词相匹配的第n个叶子节点。
40.进一步,由上述检索规则可以看出,这种检索方式可以快速到达文件层级深处,直接处理匹配价值加高的文件,并且以每个节点都有 n 个子节点,树形结构一共有 m 层为例,本技术最多只需要持有 m 个节点信息就可进行检索,以此大大的节省了存储开销。由此,本技术采用的检索方式最多需要持有从根节点到其中一个叶子节点的路径上的所有文件信息,不需要存储所有需要检索的文件信息,不需要占用过多的内存资源,每次只需要读取当前叶子节点的内容并匹配,对于计算机的性能占用也比较小。
41.可见,本可选方案主要是说明如何实现从下往上逐层进行节点检索的。具体的,在本可选方案中,本技术首先获取检索指令,所述检索指令包括检索关键词,然后根据所述检索指令获得对应的目标叶子节点,最后对所述目标叶子节点进行匹配操作,响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
42.综上,在本实施例中,在获取到检索关键词后,就直接到达底层文件所在的目标叶子节点,优先检索底层文件,若检索到的目标叶子节点不存在与检索关键词匹配的关键词,则丢弃该目标叶子节点,向上折返进行检索,由于从最底层开始检索,底层检索完毕后,相关的文件信息就不再需要持有,以此提高了文件检索效率和降低了内存空间的占用。
43.装置实施例下面对本技术实施例提供的一种树形结构节点检索装置进行介绍,下文描述的一种树形结构节点检索装置与上文描述的一种树形结构节点检索方法可相互对应参照。
44.参见图5,该图为本技术实施例提供的一种树形结构节点检索装置的结构示意图,如图5所示,该装置可以包括:获取模块100,用于获取检索指令,所述检索指令包括检索关键词;获得模块200,用于根据所述检索指令获得对应的目标叶子节点;匹配模块300,用于对所述目标叶子节点进行匹配操作;检索模块400,用于响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
45.可选的,所述获得模块200,包括:第一获得单元,用于根据所述检索指令获得对应的根节点;第二获得单元,用于根据所述根节点获得所述根节点对应的最左侧的目标叶子节点。
46.可选的,所述匹配模块300,包括:判断单元,用于判断所述目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。
47.可选的,所述检索模块400,包括:第三获得单元,用于由所述目标叶子节点返回上一级子节点,获得所述上一级子节点中与所述检索关键词相匹配的第n个叶子节点。
48.可选的,还包括:存储单元,用于对所述检索关键词进行存储;展示单元,用于将匹配信息展示给用户。
49.本技术实施例所提供的树形结构节点检索装置与上述实施例提供的树形结构节点检索方法具有相同的有益效果,因此不再赘述。
50.本技术实施例基于前述文中介绍的方法和装置,相应地,还提供一种计算机可读存储介质。
51.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取检索指令,所述检索指令包括检索关键词;根据所述检索指令获得对应的目标叶子节点;对所述目标叶子节点进行匹配操作;响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。
52.下面参考图6,其示出了适于用来实现本公开装置实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
53.如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,即以上实施例介绍的树形结构节点检索装置,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置606加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
54.通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置606;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
55.需要说明的是,本发明提供的一种树形结构节点检索方法可用于数据检索领域。上述仅为示例,并不对本发明提供的一种树形结构节点检索方法的应用领域进行限定。
56.还需要说明的是,本技术实施例中提到的
ꢀ“
第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
57.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
58.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
59.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
60.以上对本技术所提供的一种树形结构节点检索方法及装置进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。

技术特征:


1.一种树形结构节点检索方法,其特征在于,包括:获取检索指令,所述检索指令包括检索关键词;根据所述检索指令获得对应的目标叶子节点;对所述目标叶子节点进行匹配操作;响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。2.根据权利要求1所述的方法,其特征在于,所述根据所述检索指令获得对应的目标叶子节点,包括:根据所述检索指令获得对应的根节点;根据所述根节点获得所述根节点对应的最左侧的目标叶子节点。3.根据权利要求1所述的方法,其特征在于,所述对所述目标叶子节点进行匹配操作,包括:判断所述目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。4.根据权利要求1所述的方法,其特征在于,所述根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点,包括:由所述目标叶子节点返回上一级子节点,获得所述上一级子节点中与所述检索关键词相匹配的第n个叶子节点。5.根据权利要求1所述的方法,其特征在于,还包括:对所述检索关键词进行存储;将匹配信息展示给用户。6.一种树形结构节点检索装置,其特征在于,包括:获取模块,用于获取检索指令,所述检索指令包括检索关键词;获得模块,用于根据所述检索指令获得对应的目标叶子节点;匹配模块,用于对所述目标叶子节点进行匹配操作;检索模块,用于响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。7.根据权利要求6所述的装置,其特征在于,所述获得模块,包括:第一获得单元,用于根据所述检索指令获得对应的根节点;第二获得单元,用于根据所述根节点获得所述根节点对应的最左侧的目标叶子节点。8.根据权利要求6所述的装置,其特征在于,所述匹配模块,包括:判断单元,用于判断所述目标叶子节点所对应文件的关键词是否与所述检索关键词匹配成功。9.根据权利要求6所述的装置,其特征在于,所述检索模块,包括:第三获得单元,用于由所述目标叶子节点返回上一级子节点,获得所述上一级子节点中与所述检索关键词相匹配的第n个叶子节点。10.根据权利要求6所述的装置,其特征在于,还包括:存储单元,用于对所述检索关键词进行存储;展示单元,用于将匹配信息展示给用户。

技术总结


本申请公开了一种树形结构节点检索方法及装置,可应用于数据检索领域,包括:获取检索指令,所述检索指令包括检索关键词;根据所述检索指令获得对应的目标叶子节点;对所述目标叶子节点进行匹配操作;响应于匹配失败,根据所述目标叶子节点逐级往上进行检索,获得与所述检索关键词相匹配的第n个叶子节点。如此,在本申请中,在获取到检索关键词后,就直接到达底层文件所在的目标叶子节点,优先检索底层文件,若检索到的目标叶子节点不存在与检索关键词匹配的关键词,则丢弃该目标叶子节点,向上折返进行检索,由于从最底层开始检索,底层检索完毕后,相关的文件信息就不再需要持有,以此提高了文件检索效率和降低了内存空间的占用。用。用。


技术研发人员:

李超

受保护的技术使用者:

北京搜狐新动力信息技术有限公司

技术研发日:

2022.11.10

技术公布日:

2022/12/23

本文发布于:2024-09-22 03:38:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/47543.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   所述   叶子   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议