数据查找方法及装置、网络设备制造方法及图纸

技术编号:38219737 阅读:6 留言:0更新日期:2023-07-25 17:51
一种数据查找方法及装置、网络设备,属于网络技术领域。该数据查找装置包括多个存储模块,该多个存储模块用于存储数据表,该多个存储模块中的任一存储模块存储该数据表的部分表项,且该数据表中的任一表项在该多个存储模块中唯一,该多个存储模块中的至少一个存储模块存储的表项的存储地址不连续。本申请有助于降低数据查找装置执行的并行查找过程发生冲突的概率,降低该数据查找装置并行查找数据的难度。难度。难度。

【技术实现步骤摘要】
数据查找方法及装置、网络设备
[0001]本申请要求申请日为2022年01月07日,申请号为202210024548.4,名称为“一种查找内存的方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及网络
,特别涉及一种数据查找方法及装置、网络设备。

技术介绍

[0003]网络设备在工作的过程中,经常需要查找数据。例如,网络设备需要通过查找数据表来处理报文。其中,所述数据表可以是报文转发表等各种可能的表。
[0004]随着网络流量的增大,网络中的各个网络设备经常需要并行查找数据。例如,某一网络设备在同一时刻或者同一周期需要处理多个报文(也即该网络设备需要并行处理多个报文),这就需要该网络设备能够针对该多个报文并行查找数据表。
[0005]在某一网络设备并行查找数据的场景中,如何避免该网络设备执行的并行查找过程发生冲突,降低该网络设备并行查找数据的难度,是亟需解决的问题。

技术实现思路

[0006]本申请提供了一种数据查找方法及装置、网络设备。本申请的技术方案如下:
[0007]第一方面,提供了一种数据查找装置,该数据查找装置应用于网络设备,该数据查找装置包括多个存储模块。该多个存储模块用于存储数据表,该多个存储模块中的任一存储模块存储该数据表的部分表项,且该数据表中的任一表项在该多个存储模块中唯一,该多个存储模块中的至少一个存储模块存储的表项的存储地址不连续。
[0008]本申请提供的技术方案,由于数据查找装置包括的多个存储模块用于存储数据表,该多个存储模块中的任一存储模块存储该数据表的部分表项,并且该多个存储模块中的至少一个存储模块存储的表项的存储地址不连续。因此,大多数情况下,该数据查找装置并行处理的多个查找请求(例如读写请求)所请求的表项位于同一个存储模块中的概率较低,有助于降低该数据查找装置执行的并行查找过程发生冲突的概率,从而降低并行查找数据的难度。
[0009]可选的,该数据查找装置还包括处理模块。该处理模块与该多个存储模块连接。该处理模块用于根据第一查找请求携带的第一关键信息,确定第一存储模块和第一存储模块中存储的第一表项。其中,该多个存储模块包括第一存储模块,该数据表包括第一表项,第一查找请求是该处理模块接收到的查找请求。例如,该处理模块首先根据第一关键信息确定第一存储模块,然后根据第一关键信息确定第一存储模块中存储的第一表项。
[0010]可选的,第一存储模块被确定还根据第一映射关系,第一映射关系中包括第一关键信息与第一存储模块的标识的映射关系。也即是,处理模块根据第一关键信息和第一映射关系确定第一存储模块。其中,第一映射关系可以是映射表、映射公式、映射算法等。
[0011]可选的,处理模块用于根据第一关键信息确定第一存储地址,第一存储地址用于指示第一表项在第一存储模块中的存储位置。也即是,处理模块根据第一关键信息确定第一存储地址,根据第一存储地址确定第一存储模块中存储的第一表项。
[0012]可选的,处理模块用于:根据第一关键信息和第二映射关系确定第一表项在第一存储模块中的偏移(offset)地址(为了便于描述,将第一表项在第一存储模块中的偏移地址称为第一偏移地址),根据第一偏移地址确定第一存储地址。其中,第二映射关系中包括第一关键信息与第一偏移地址的映射关系。在本申请中,第一映射关系和第二映射关系可以是两个相互独立的映射表。在一些场景中,第一映射关系和第二映射关系可以位于同一个映射表(例如称为目标映射表)中,目标映射表中包括第一关键信息与第一存储模块的标识的映射关系,以及,包括第一关键信息与第一偏移地址的映射关系,例如,目标映射表中包括第一关键信息、第一存储模块的标识和第一偏移地址这三者的映射关系。
[0013]可选的,处理模块还用于:根据写入请求获取数据表,该写入请求是该处理模块接收到的写入请求;确定该数据表中的第一表项的第一关键信息;根据第一关键信息按照预定算法在第一存储模块中写入第一表项。其中,该预定算法用于实现写入该多个存储模块中的至少一个存储模块的表项的存储地址不连续。
[0014]本申请提供的技术方案,处理模块按照预定算法在存储模块中写入数据表中的表项,可以使得多个存储模块中的至少一个存储模块存储的表项的存储地址不连续,从而,在大多数情况下,可以降低该数据查找装置执行的并行查找过程发生冲突的概率。
[0015]可选的,预定算法包括哈希算法和随机算法中的一种。
[0016]可选的,处理模块还用于生成第一映射关系,第一映射关系中包括第一关键信息与第一存储模块的标识的映射关系。处理模块生成第一映射关系,可以便于该处理模块根据第一映射关系和查找请求携带的关键信息,确定该查找请求所请求的存储模块。
[0017]可选的,处理模块还用于生成第二映射关系,第二映射关系中包括第一关键信息与第一偏移地址的映射关系。处理模块生成第二映射关系,可以便于该处理模块根据第二映射关系和查找请求携带的关键信息,确定该查找请求所请求的表项的偏移地址。
[0018]可选的,处理模块还用于:接收第二查找请求,第二查找请求携带第二关键信息,第一查找请求和第二查找请求是该处理模块需要同时处理的查找请求;根据第二关键信息确定第一存储模块;根据第一查找请求所请求的存储模块与第二查找请求所请求的存储模块相同,缓存第二查找请求的查找需求。也即是,处理模块在处理第一查找请求的过程中,暂缓处理第二查找请求,处理模块在处理完第一查找请求之后可以继续处理第二查找请求。
[0019]本申请提供的技术方案,第一查找请求和第二查找请求是处理模块需要同时处理的查找请求,并且第一查找请求所请求的存储模块与第二查找请求所请求的存储模块相同,处理模块缓存第二查找请求的查找需求,可以避免第一查找请求的处理过程与第二查找请求的处理过程发生冲突。
[0020]可选的,该数据查找装置还包括缓存模块。缓存模块与处理模块连接。缓存模块用于存储所述数据表中访问频率大于频率阈值的表项。处理模块还用于根据第一查找请求携带的第一关键信息,确定缓存模块中未存储有第一表项。具体的,处理模块接收到第一查找请求之后,首先根据第一查找请求携带的第一关键信息判断缓存模块中是否存储有第一表
项;如果处理模块确定缓存模块中未存储有第一表项,处理模块根据第一关键信息确定第一存储模块和第一存储模块中存储的第一表项;如果处理模块确定缓存模块中存储有第一表项,处理模块确定缓存模块中存储的第一表项。也即是,如果缓存模块中存储有第一表项,处理模块优先确定缓存模块中存储的第一表项,如果缓存模块中未存储有第一表项,处理模块确定存储模块中存储的第一表项。例如,第一查找请求是读取请求,如果缓存模块中存储有第一表项,处理模块优先读取缓存模块中存储的第一表项,如果缓存模块中未存储有第一表项,处理模块读取存储模块中存储的第一表项。
[0021]本申请提供的技术方案,将访问频率大于频率阈值的表项存储在缓存模块,处理模块接收到查找请求之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查找装置,其特征在于,所述数据查找装置应用于网络设备,所述数据查找装置包括:多个存储模块;所述多个存储模块用于存储数据表,所述多个存储模块中的任一存储模块存储所述数据表的部分表项,且所述数据表中的任一表项在所述多个存储模块中唯一,所述多个存储模块中的至少一个存储模块存储的表项的存储地址不连续。2.根据权利要求1所述的数据查找装置,其特征在于,所述数据查找装置还包括:处理模块,所述处理模块与所述多个存储模块连接;所述处理模块用于根据第一查找请求携带的第一关键信息,确定第一存储模块和所述第一存储模块中存储的第一表项,所述多个存储模块包括所述第一存储模块,所述数据表包括所述第一表项,所述第一查找请求是所述处理模块接收到的查找请求。3.根据权利要求2所述的数据查找装置,其特征在于,所述第一存储模块被确定还根据第一映射关系,所述第一映射关系中包括所述第一关键信息与所述第一存储模块的标识的映射关系。4.根据权利要求2或3所述的数据查找装置,其特征在于,所述处理模块用于根据所述第一关键信息确定第一存储地址,所述第一存储地址用于指示所述第一表项在所述第一存储模块中的存储位置。5.根据权利要求2至4任一项所述的数据查找装置,其特征在于,所述处理模块还用于:根据写入请求获取所述数据表,所述写入请求是所述处理模块接收到的写入请求;确定所述数据表中的所述第一表项的所述第一关键信息;根据所述第一关键信息按照预定算法在所述第一存储模块中写入所述第一表项,所述预定算法用于实现写入所述多个存储模块中的至少一个存储模块的表项的存储地址不连续。6.根据权利要求5所述的数据查找装置,其特征在于,所述预定算法包括哈希算法和随机算法中的一种。7.根据权利要求5或6所述的数据查找装置,其特征在于,所述处理模块还用于生成第一映射关系,所述第一映射关系中包括所述第一关键信息与所述第一存储模块的标识的映射关系。8.根据权利要求2至7任一项所述的数据查找装置,其特征在于,所述处理模块还用于:接收第二查找请求,所述第二查找请求携带第二关键信息,所述第一查找请求和所述第二查找请求是所述处理模块需要同时处理的查找请求;根据所述第二关键信息确定所述第一存储模块;根据所述第一查找请求所请求的存储模块与所述第二查找请求所请求的存储模块相同,缓存所述第二查找请求的查找需求。9.根据权利要求2至8任一项所述的数据查找装置,其特征在于,所述数据查找装置还包括:缓存模块,所述缓存模块与所述处理模块连接;所述缓存模块用于存储所述数据表中访问频率大于频率阈值的表项;所述处理模块还用于根据所述第一查找请求携带的所述第一关键信息,确定所述缓存模块中未存储有所述第一表项。10.根据权利要求2至8任一项所述的数据查找装置,其特征在于,所述处理模块包括交
换模块和多个查找子模块,所述交换模块与所述多个查找子模块连接,所述多个查找子模块与所述多个存储模块一一对应连接;所述交换模块用于确定存储所述数据表中的表项的存储模块;所述多个查找子模块用于确定所述多个存储模块中存储的所述数据表中的表项。11.根据权利要求10所述的数据查找装置,其特征在于,所述交换模块用于根据所述第一关键信息确定所述第一存储模块;第一查找子模块用于根据所述第一关键信息确定所述第一存储模块中存储的所述第一表项,所述多个查找子模块包括所述第一查找子模块。12.根据权利要求10或11所述的数据查找装置,其特征在于,所述数据查找装置还包括:缓存模块,所述缓存模块包括多个缓存子模块,所述交换模块还与所述多个缓存子模块连接;所述多个缓存子模块用于存储所述数据表中访问频率大于频率阈值的表项;所述交换模块还用于根据所述第一查找请求携带的所述第一关键信息,确定第一缓存子模块中未存储有所述第一表项,所述多个缓存子模块包括所述第一缓存子模块。13.根据权利要求2至8任一项所述的数据查找装置,其特征在于,所述处理模块包括交换模块和查找模块,所述交换模块与所述查找模块连接,且所述交换模块与所述多个存储模块连接,所述查找模块用于:确定存储所述数据表中的表项的存储模块;通过所述交换模块确定所述多个存储模块中存储的所述数据表中的表项。14.根据权利要求13所述的数据查找装置,其特征在于,所述查找模块用于:根据所述第一关键信息确定所述第一存储模块;根据所述第一关键信息,通过所述交换模块确定所述第一存储模块中存储的所述第一表项。15.根据权利要求13或14所述的数据查找装置,其特征在于,所述数据查找装置还包括:缓存模块,所述缓存模块包括多个缓存子模块,所述查找模块还与所述多个缓存子模块连接;所述多个缓存子模块用于存储所述数据表中访问频率大于频率阈值的表项;所述查找模块还用于根据所述第一查找请求携带的所述第一关键信息,确定第一缓存子模块中未存储有所述第一表项,所述多个缓存子模块包括所述第一缓存子模块。16.根据权利要求15所述的数据查找装置,其特征在于,所述查找模块包括多个查找子模块,所述多个查找子模块与所述多个缓存子模块一一对应;第一查找子模块用于根据所述第一查找请求携带的所述第一关键信息,确定所述第一缓存子模块中未存储有所述第一表项,以及,根据所述第一关键信息确定所述第一存储模块和所述第一存储模块中存储的所述第一表项,所述多个查找子模块包括所述第一查找子模块。17.根据权利要求12、15或16所述的数据查找装置,其特征在于,所述多个存储模块的数量多于所述多个缓存子模块的数量。18.根据权利要求1至17任一项所述的数据查找装置,其特征在于,所述网...

【专利技术属性】
技术研发人员:胡晶刘杨
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1