基于二叉树的查表方法技术

技术编号:39851154 阅读:5 留言:0更新日期:2023-12-30 12:52
本公开涉及一种基于二叉树的查表方法

【技术实现步骤摘要】
基于二叉树的查表方法、装置、设备、存储介质及车辆


[0001]本公开涉及及计算机
,尤其涉及一种基于二叉树的查表方法

装置

设备

存储介质及车辆


技术介绍

[0002]随着互联网技术的发展,网络交换专用芯片的应用越来越广泛,在网络交换专用芯片中,在数据库中查询目标地址对应的端口,通过端口发送数据具有重要意义

目前,实现对数据库中的数据进行查询的查表结构主要分为三类:二叉树表

哈希表或散列表

内容寻址查表,其中,二叉树表结构最为简单,但查找的速度较慢,因此,如何提高在二叉树表中查询目标地址对应端口的效率是需要解决的技术问题


技术实现思路

[0003]为了解决上述技术问题,本公开提供了一种基于二叉树的查表方法

装置

设备

存储介质及车辆

[0004]本公开实施例的第一方面提供了一种基于二叉树的查表方法,该方法包括:
[0005]在所述二叉树中,父节点的第一子节点中存储的地址小于所述父节点中存储的地址,所述父节点的第二子节点中存储的地址大于所述父节点中存储的地址,所述方法包括:
[0006]获取数据信息,所述数据信息中包括目标地址的信息;
[0007]基于所述目标地址查询所述二叉树,当所述目标地址小于所述二叉树中一父节点存储的第一地址时,到所述父节点的第一子节点中继续查询,或者当所述目标地址大于所述第一地址时,到所述父节点的第二子节点中继续查询;
[0008]响应于查询到存储有所述目标地址的目标节点,从所述目标节点中获取所述目标地址对应的端口

[0009]本公开实施例的第二方面提供了一种基于二叉树的查表装置,该装置包括:
[0010]在所述二叉树中,父节点的第一子节点中存储的地址小于所述父节点中存储的地址,所述父节点的第二子节点中存储的地址大于所述父节点中存储的地址,包括:
[0011]第一获取模块,用于获取数据信息,所述数据信息中包括目标地址的信息;
[0012]查询模块,用于基于所述目标地址查询所述二叉树,当所述目标地址小于所述二叉树中一父节点存储的第一地址时,到所述父节点的第一子节点中继续查询,或者当所述目标地址大于所述第一地址时,到所述父节点的第二子节点中继续查询;
[0013]第二获取模块,用于响应于查询到存储有所述目标地址的目标节点,从所述目标节点中获取所述目标地址对应的端口

[0014]本公开实施例的第三方面提供了一种计算机设备,包括存储器和处理器,以及计算机程序,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的基于二叉树的查表方法

[0015]本公开实施例的第四方面提供了一种计算机可读存储介质,存储介质中存储有计
算机程序,当计算机程序被处理器执行时,实现如上述第一方面的基于二叉树的查表方法

[0016]本公开实施例的第五方面提供了一种车辆,包括存储器和处理器,以及计算机程序,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的基于二叉树的查表方法

[0017]本公开实施例提供的技术方案与现有技术相比具有如下优点:
[0018]在本公开实施例中,二叉树中任一父节点的第一子节点中存储的地址小于父节点中存储的地址,父节点的第二子节点中存储的地址大于父节点中存储的地址,通过获取数据信息中待查询目标地址信息,将该目标地址信息与二叉树存储结构中的一父节点存储的第一地址进行比较,当目标地址小于该父节点存储的第一地址时,到该父节点的第一子节点中继续比较,当目标地址大于该父节点存储的第一地址时,到该父节点的第二子节点中继续比较,直到找到存储有该目标地址信息的二叉树节点,并根据该节点存储的内容获取目标地址对应的端口,从而以最短查询路径快速的找到存储有目标地址信息的节点,进而提高二叉树查表端口信息的速度

附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理

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

[0021]图1是本公开实施例提供的一种二叉树的结构示意图;
[0022]图2是本公开实施例提供的一种基于二叉树的查表方法的流程图;
[0023]图3是本公开实施例提供的一种基于目标地址查询二叉树方法的流程图;
[0024]图4是本公开实施例提供的一种在二叉树子节点中查询目标地址方法的流程图;
[0025]图5是本公开实施例提供的一种在二叉树节点中创建并存储信息的方法的流程图;
[0026]图6是本公开实施例提供的一种传输数据方法的流程图;
[0027]图7是本公开实施例提供的一种基于二叉树的查表装置的结构示意图;
[0028]图8是本公开实施例提供的一种计算机设备的结构示意图

具体实施方式
[0029]为了能够更清楚地理解本公开的上述目的

特征和优点,下面将对本公开的方案进行进一步描述

需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合

[0030]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例

[0031]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和
/
或并行执行

此外,方法实施方式可以包括附加的步骤和
/
或省略执行示出的步骤

本公
开的范围在此方面不受限制

[0032]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序

而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程

方法

物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程

方法

物品或者设备所固有的要素

在没有更多限制的情况下,由语句本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于二叉树的查表方法,其特征在于,在所述二叉树中,父节点的第一子节点中存储的地址小于所述父节点中存储的地址,所述父节点的第二子节点中存储的地址大于所述父节点中存储的地址,所述方法包括:获取数据信息,所述数据信息中包括目标地址的信息;基于所述目标地址查询所述二叉树,当所述目标地址小于所述二叉树中一父节点存储的第一地址时,到所述父节点的第一子节点中继续查询,或者当所述目标地址大于所述第一地址时,到所述父节点的第二子节点中继续查询;响应于查询到存储有所述目标地址的目标节点,从所述目标节点中获取所述目标地址对应的端口
。2.
根据权利要求1所述的方法,其特征在于
,
所述数据信息中还包括:源地址和源端口的信息;所述基于所述目标地址查询所述二叉树,包括:获取所述二叉树中一父节点的标志位的信息;响应于所述标志位指示的信息为所述父节点中的信息有效,则将所述父节点中存储的第一地址与所述目标地址进行比对;响应于所述标志位指示的信息为所述父节点中的信息无效,则将所述源地址和源端口的信息存储到所述父节点,并将所述标志位指示的信息设置为有效
。3.
根据权利要求1或2所述的方法,其特征在于,所述当所述目标地址小于所述二叉树中一父节点存储的第一地址时,到所述第一父节点的第一子节点中继续查询,或者当所述目标地址大于所述第一地址时,到所述第一父节点的第二子节点中继续查询,包括:当所述目标地址小于所述第一地址时,基于所述父节点的地址以及所述第一子节点相对于所述父节点的地址偏移量,确定所述第一子节点的地址,并基于所述第一子节点的地址到所述第一子节点中进行查询;当所述目标地址大于所述第一地址时,基于所述父节点的地址以及所述第二子节点相对于所述父节点的地址偏移量,确定所述第二子节点的地址,并基于所述第二子节点的地址到所述第二子节点中进行查询
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于未查询到存储有所述目标地址的目标节点,在所述二叉树中为所述目标地址创建节点;基于预先设定的所述目标地址与端口之间的映射关系,将所述目标地址和所述目标地址对应的端口的信息存储到...

【专利技术属性】
技术研发人员:李吉生
申请(专利权)人:北京罗克维尔斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1