CN104158744A - 用于网络处理器的建表和查找方法 - Google Patents

用于网络处理器的建表和查找方法 Download PDF

Info

Publication number
CN104158744A
CN104158744A CN201410326150.1A CN201410326150A CN104158744A CN 104158744 A CN104158744 A CN 104158744A CN 201410326150 A CN201410326150 A CN 201410326150A CN 104158744 A CN104158744 A CN 104158744A
Authority
CN
China
Prior art keywords
page
hash
label
hash table
address
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.)
Granted
Application number
CN201410326150.1A
Other languages
English (en)
Other versions
CN104158744B (zh
Inventor
张辉
李苗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201410326150.1A priority Critical patent/CN104158744B/zh
Publication of CN104158744A publication Critical patent/CN104158744A/zh
Application granted granted Critical
Publication of CN104158744B publication Critical patent/CN104158744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种应用于网络处理器中的建表和查表方法,采用建立不同类型的hash表,各表互不相干,独立进行两级查找,首先,根据待建表项的大小建立不同类型的hash表,为各个表分配不同的存储空间,指定表的大小和首地址,然后在查找时,根据从报文提取的信息获得查找关键字key、查找表的类型和该表的首地址,同时对关键字key进行两次hash转换,第一次把key转换成偏移地址以确定其在索引表中的索引值,第二次把key转换成标签用来区分冲突项,接着根据该索引值从结果表中读取内容进行匹配,以获得查找的结果。本发明有效地降低了对存储器的访存次数,进一步提高了网络处理器的查表速度和存储器的资源利用率。

Description

用于网络处理器的建表和查找方法
技术领域
本发明涉及网络通信领域,具体地,涉及一种用于网络处理器的建表和查找方法。
背景技术
随着因特网速度的不断提高、网络流量的不断增加和路由表项数目的不断增大,使得查表效率越来越成为网络处理器设备性能的瓶颈。影响查表效率的因素主要有两个方面:一是表的结构即建表的方法,二是查表的方法,即以尽可能少的存储资源,获得较快的查表速度。
在传统的数据结构中,如线性表、trie等,记录在结构中的相对位置是随机的,和记录的关键字key之间不存在确定的关系,查找过程中需要大量的存储器访问操作。建立在比较基础上的这一类的查找算法,随着数据的增长,查找的速度由于查找过程中所进行的比较次数的增加而下降,而且也将占有更多的存储资源。
理想的情形是不经过任何比较,一次访存就能得到所查的结果。这就要求在key和其存储位置之间建立一个确定的对应关系,在查找时,只要根据这个对应关系即可找到给定key的映射f(key),直接获得结果,这种对应关系称为hash函数,建立的表称为hash表。而hash函数是一个压缩映射函数,在hash表中不同的key可能得到同一hash地址,即不可避免的会产生冲突(Collision)。
现有技术中可以通过选择一个较好的hash函数来减少冲突,例如假定选择的hash函数发生冲突的概率为20%,对冲突的key采用传统多次hash的方式加以区分。那么,经过第一次查找,命中率为80%,此时将有20%的key需要第二次查找。经过第二次查找后,命中率将提高到96%。然而,此时仍将有4%的key需要再一次查找,通常,需要多达10次甚至更多次才能解决完全查找到这些冲突的key。而且通常在这种情形下,每一次查找所对应的hash表的填充率只能达到20%左右,这就意味着一个存储位置被key填充的概率只有20%,从而浪费了80%的存储资源。因此,现有数据结构的建表、查表方法存在查找次数多、查表速度慢且浪费存储资源的缺点。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种用于网络处理器的建表和查找方法。
根据本发明的一个方面,提供一种用于网络处理器的建表和查找方法,包括以下步骤:
步骤1:根据所需建立的表项的容量大小,分别建立内部int_hash表、外部ext_hash表和内外部混合mix_hash表,分配各个表的存储空间,指定各个索引表的大小和首地址;
步骤2:建立hash表,每个hash表均由索引表和结果表两个子表构成,确定索引表中每个表项的容量大小,并为每个hash表配置一个空闲地址队列,每个队列存放结果表的所有地址,索引表的一个存储位置对应一个page,结果表的每个表项entry中存放关键字key和相应的结果;
步骤3:建立冲突解决策略,对关键字key进行两次hash转换,第一次把key转换成一个偏移量,第二次把key转换成一个标签,首地址和偏移量共同确定一个page在索引表中的位置;
步骤4:建表
步骤41:根据关键字key和其类型,获取所属的hash表类型以及该表的首地址信息,根据hash表的类型信息,确定待建立的表属于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表;
步骤42:把key转换成一个地址偏移量和一个标签,首地址和这个偏移量确定了该标签在索引表中的存放位置,然后读出该存放位置中的page信息,同时,从空闲地址队列中读出一个空闲地址作为索引值;
步骤43:若page中存放的标签已满,此时下一页地址有效,标签和索引值存放于下一个page中;否则,找出第一个标签为空的行,把标签和索引值存放于该行中;
步骤5:查表
步骤51:从接收的报文中提取用于查表的关键字key以及hash表的类型和该表的首地址信息,根据hash表的类型信息,确定待查找的表项位于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表,把key转换成一个地址偏移量和一个标签,该偏移量和首地址共同确定一个page在索引表中的位置;
步骤52:采用两级查找的方式进行查找,第一次查找时读出page信息,遍历比较该page下的所有标签,第二次查找时通过与标签相匹配所对应的索引值读出结果表中的表项entry,如果该entry中存放的key和查找的key相同,说明查找成功,返回相应的结果,查找结束;否则,如果尚有其它标签匹配的表项,则以相同的方式读出下一个entry进行匹配,如果没有其它标签匹配的表项,而此时下一页有效,则读出该page继续进行查找,否则返回查找失败的结果,查找结束。
优选地,步骤3中,当key发生hash冲突时,所有的相关信息都存放在一个page下,但位于不同的行,通过标签加以区分。
优选地,步骤1中所述的内部int_hash表为索引表和结果表容量都较小的表,其存放在访存速度高但存储容量小的内部存储器中;所述外部ext_hash表为索引表和结果表容量都较大的表,其存放在访存速度不高但存储容量大的外部存储器中;内外部混合mix_hash表为索引表容量较小而结果表容量较大的表,其分别存放于内、外部存储器中。
优选地,步骤2中,所述空闲地址的数目为索引表大小的4倍。
优选地,每个所述page包括n行的两列信息:标签label和索引值entry_addr。
优选地,每个所述page还包括下一页有效位link_page_valid和下一页地址link_page_addr信息。
优选地,n的取值范围为2~8。
优选地,对于内部int_hash表和内外部混合mix_hash表,n的典型值为8,对于外部ext_hash表,n为6。
优选地,所述结果表的一个存储位置对应一个entry,每个entry包括两行信息:关键字key和结果result。
本发明在存取速度高的内部存储器中存放数据较小的表,在容量大的外部存储器中存放数据较大的表,以此建立不同类型的hash表,合理地利用内外部存储资源,以解决存储资源和查找速度的平衡问题。并优化hash表的结构,建立两级查找表,解决hash表填充率和查找效率的问题。
当发生hash冲突时,冲突项都存放在一个相同的存储位置上,对各个冲突项打上标签加以区分,解决hash冲突的问题。同时,采用两级查找的方式,减少存储器的访存次数,以缩短查找时间,解决hash查找速度的问题。与现有技术相比,本发明具有如下的有益效果:
1、本发明根据表项所需容量的大小和对查找速度的要求,建立不同类型的hash表,把关键字key及其索引值分块存放,有效地利用了内部存储器访存速度高和外部存储器容量大的特点,兼顾了存储资源和查找速度的均衡。
2、本发明建立两级hash查找表,有效的提高了hash表填充率和查找效率。
如相对于填充率仅有20%的传统多hash方式的hash表,本发明通过建立两级hash表,其索引表的大小只有关键字key数量的1/4,相应地,hash表的填充概率达到传统方式的4倍,即80%。假设所有的key散列均匀,则每个page中平均可存放4个key的信息。
在查找时,首先对关键字key进行两次hash转换,所有相冲突的key的索引值都存放在第一个hash函数所确定的位置,而这些冲突的key,可以很容易地通过第二个hash函数产生的标签label来加以区分,那么经过两次存储器的访问,查找成功的概率将达到98%以上,在极少的情形下,才需要多次的存储器的访问。
3、通过建立两级hash表,进一步提高了存储资源的利用率。
虽然索引表的地址是通过hash散列计算得到的,然而在索引表中并不存放实际的关键字key,而是用来存放key的索引值等少量数据,并且所有的冲突项都存放在同一地址下的不同行,所需存储空间较小。同时在结果表中,存放key和相应结果的地址是通过空闲地址队列获得的,从而保证了其地址的连续性,即key和结果是顺序存放的。和传统的多hash方式相比,有效地节省了存储资源。
4、在98%以上的情形下,只需两次存储器的访问即可查找到所期望的结果result,从而有效地减少了存储器的访存次数,极大地提高了网络处理器的查找速度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明的hash表的索引表结构示意图;
图2是本发明的hash表的结果表结构示意图;
图3是本发明的hash表的两个子表间的链接关系结构示意图;
图4是本发明的hash表的索引表中两个page间的链接关系结构示意图;
图5是本发明的建表过程的流程原理图;
图6是本发明的查表过程的流程原理图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
一种用于网络处理器的建表和查找方法,包括以下步骤:
步骤1:根据所需建立的表项的容量大小,分别建立内部int_hash表、外部ext_hash表和内外部混合mix_hash表,分配各个表的存储空间,指定各个索引表的大小和首地址。
具体地,根据待建的hash表的容量大小,兼顾查找速度和存储资源的平衡,把索引表和结果表容量都较小的表都存放在访存速度高但存储容量小的内部存储器中,把索引表和结果表容量都较大的表都存放在访存速度不高但存储容量大的外部存储器中,把索引表容量较小而结果表容量较大的表分别存放于内、外部存储器中,即分别建立内部int_hash表、外部ext_hash表和内外部混合mix_hash表。同时,分配各个表的存储空间,输出各个索引表的大小和首地址等信息。
步骤2:建立hash表,每个hash表均由索引表和结果表两个子表构成,确定索引表中每个表项的容量大小,并为每个hash表配置一个空闲地址队列,每个队列存放结果表的所有地址,索引表的一个存储位置对应一个page,结果表的每个表项entry中存放关键字key和相应的结果。
本发明建立一种新型结构的hash表,每个hash表由两个子表构成,其中,第一个子表为索引表,第二个子表为结果表,可根据实际需要确定索引表中每个表项的容量大小。同时为每个hash表配置一个空闲地址队列,空闲地址队列的个数和hash表一一对应,每个队列存放结果表的所有地址,这些地址作为空闲地址,空闲地址的数目为索引表大小的4倍。
索引表的一个存储位置对应一个page,结果表的每个表项entry中存放关键字key和相应的结果。
在索引表中,每个page包括n行的两列信息:标签label和索引值entry_addr。n的取值范围为2~8,典型地,对于内部hash表和内外部混合hash表,n为8,对于外部hash表,n为6。
每个述page还包括下一页有效位link_page_valid和下一页地址link_page_addr信息。
结果表的一个存储位置对应一个entry,每个entry包括两行信息:关键字key和结果result。
步骤3:建立冲突解决策略,对关键字key进行两次hash转换,第一次把key转换成一个偏移量,第二次把key转换成一个标签,首地址和偏移量共同确定一个page在索引表中的位置。
对于所有产生hash冲突的key,相关信息都存入一个page,但位于不同的行,通过标签加以区分。如,当key发生hash冲突时,所有的相关信息都存放在一个page下,位于不同的行,通过标签加以区分。
步骤4:建表
步骤41:根据关键字key和其类型,获取所属的hash表类型以及该表的首地址信息,根据hash表的类型信息,确定待建立的表属于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表;
步骤42:把key转换成一个地址偏移量和一个标签,首地址和这个偏移量确定了该标签在索引表中的存放位置,然后读出该存放位置中的page信息,同时,从空闲地址队列中读出一个空闲地址作为索引值;
步骤43:若page中存放的标签已满,此时下一页地址有效,标签和索引值存放于下一个page中;否则,找出第一个标签为空的行,把标签和索引值存放于该行中;
步骤5:查表
查表时采用两级查找的方式,第一次查找其在索引表中的索引值,第二次根据这个索引值查找其在结果表中的匹配值。
步骤51:从接收的报文中提取用于查表的关键字key以及hash表的类型和该表的首地址等信息,根据hash表的类型信息,确定待查找的表项位于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表,把key转换成一个地址偏移量和一个标签,该偏移量和首地址共同确定一个page在索引表中的位置;
步骤52:采用两级查找的方式进行查找,第一次查找时读出page信息,遍历比较该page下的所有标签,第二次查找时通过与标签相匹配所对应的索引值读出结果表中的表项entry,如果该entry中存放的key和查找的key相同,说明查找成功,返回相应的结果,查找结束;否则,如果尚有其它标签匹配的表项,则以相同的方式读出下一个entry进行匹配,如果没有其它标签匹配的表项,而此时下一页有效,则读出该page继续进行查找,否则返回查找失败的结果,查找结束。
具体地,以下同时结合图1至图6对本发明进行进一步详细说明:
1.构造两级结构的hash表,每个hash表由两个子表构成,其中,第一个子表为索引表,第二个子表为结果表。同时为每个hash表配置一个空闲地址队列,空闲地址的数目为索引表大小的4倍。
索引表的一个存储位置对应一个page,如图1所示,每个page包括n行的两列信息:标签label和索引值entry_addr,此外还包括下一页有效位link_page_valid和下一页地址link_page_addr等一行信息。
结果表的一个存储位置对应一个entry,如图2所示,每个entry包括两行信息:关键字key和结果result。
label用来区分hash冲突,当key发生冲突时,通过和label位于同一行的索引值entry_addr确定key和result在结果表中的存放位置,如图3所示。
当多于n个key产生hash冲突时,表明该page已满,此时link_page_valid置1,通过link_page_addr来链接下一个page,如图4所示,label和entry_addr存放于该page下。
在索引表中,n的取值范围为2~8,典型地,对于内部hash表和内外部混合hash表,n为8,对于外部hash表,n为6。
2.建表过程,如附图5所示:
a.从接收的报文中提取用于建表的关键字key以及hash表的类型hash_type和该表的首地址base_address等信息,根据hash表的类型信息,确定待建立的表属于内部inthash表、外部ext hash表还是内外部混合mix hash表。
b.把关键字key转换成一个地址偏移量offset和一个标签label,该偏移量和首地址共同确定了一个page在索引表中的存放位置。
c.读出索引表中的page信息。
d.如果该page中标签未满,从空闲地址队列中获得一个空闲地址作为索引值。把标签和索引值等信息存放在标签为空的第一行,把key和result写入结果表中索引值所指向的位置。
e.如果该page中标签已满,而此时下一页有效位link_page_valid为0,则创建下一个page。首先从空闲地址队列中获得两个空闲地址,其中第一个空闲地址作为下一页地址link_page_addr,第二个作为索引值,然后把标签和索引值等信息存放在该page的第一行,把key和result写入结果表中索引值所指向的位置。
f.如果该page中标签已满,此时link_page_valid为1,重复上述步骤。
3.查找过程,如附图6所示:
a.从接收的报文中提取用于建表的关键字key以及hash表的类型hash_type和该表的首地址base_address等信息,根据hash表的类型信息,确定待建立的表属于内部hash表、外部hash表还是内外部混合hash表。
b.把key转换成一个地址偏移量offset和一个标签label,该偏移量和首地址共同确定了一个page在索引表中的存放位置。
c.读出索引表中的page信息。
d.如果该page中至少有一个标签匹配,则根据位于标签同一行的索引值读出结果表中的表项entry。
e.如果该entry中的key和查找的key相匹配,说明查找成功,返回entry中的结果result,查找结束。
f.如果key不匹配,而此时尚有其它的标签匹配项,转入向骤d,否则转向步骤g。
g.该page中下一页有效位link_page_valid为1,根据link_page_addr读出相应的page信息,转向步骤d,否则,返回查找失败的结果,查找结束。
本发明根据表项所需容量的大小和对查找速度的要求,建立不同类型的hash表,把关键字key及其索引值分块存放,有效地利用了内部存储器访存速度高和外部存储器容量大的特点,兼顾了存储资源和查找速度的均衡,有效的提高了hash表填充率和查找效率,查找成功的概率将达到98%以上,提高了存储资源的利用率,极大地提高了网络处理器的查找速度。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (9)

1.一种用于网络处理器的建表和查找方法,其特征在于,包括以下步骤:
步骤1:根据所需建立的表项的容量大小,分别建立内部int_hash表、外部ext_hash表和内外部混合mix_hash表,分配各个表的存储空间,指定各个索引表的大小和首地址;
步骤2:建立hash表,每个hash表均由索引表和结果表两个子表构成,确定索引表中每个表项的容量大小,并为每个hash表配置一个空闲地址队列,每个队列存放结果表的所有地址,索引表的一个存储位置对应一个page,结果表的每个表项entry中存放关键字key和相应的结果;
步骤3:建立冲突解决策略,对关键字key进行两次hash转换,第一次把key转换成一个偏移量,第二次把key转换成一个标签,首地址和偏移量共同确定一个page在索引表中的位置;
步骤4:建表
步骤41:根据关键字key和其类型,获取所属的hash表类型以及该表的首地址信息,根据hash表的类型信息,确定待建立的表属于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表;
步骤42:把key转换成一个地址偏移量和一个标签,首地址和这个偏移量确定了该标签在索引表中的存放位置,然后读出该存放位置中的page信息,同时,从空闲地址队列中读出一个空闲地址作为索引值;
步骤43:若page中存放的标签已满,此时下一页地址有效,标签和索引值存放于下一个page中;否则,找出第一个标签为空的行,把标签和索引值存放于该行中;
步骤5:查表
步骤51:从接收的报文中提取用于查表的关键字key以及hash表的类型和该表的首地址信息,根据hash表的类型信息,确定待查找的表项位于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表,把key转换成一个地址偏移量和一个标签,该偏移量和首地址共同确定一个page在索引表中的位置;
步骤52:采用两级查找的方式进行查找,第一次查找时读出page信息,遍历比较该page下的所有标签,第二次查找时通过与标签相匹配所对应的索引值读出结果表中的表项entry,如果该entry中存放的key和查找的key相同,说明查找成功,返回相应的结果,查找结束;否则,如果尚有其它标签匹配的表项,则以相同的方式读出下一个entry进行匹配,如果没有其它标签匹配的表项,而此时下一页有效,则读出该page继续进行查找,否则返回查找失败的结果,查找结束。
2.根据权利要求1所述的用于网络处理器的建表和查找方法,其特征在于,步骤3中,当key发生hash冲突时,所有的相关信息都存放在一个page下,但位于不同的行,通过标签加以区分。
3.根据权利要求1所述的用于网络处理器的建表和查找方法,其特征在于,步骤1中所述的内部int_hash表为索引表和结果表容量都较小的表,其存放在访存速度高但存储容量小的内部存储器中;所述外部ext_hash表为索引表和结果表容量都较大的表,其存放在访存速度不高但存储容量大的外部存储器中;内外部混合mix_hash表为索引表容量较小而结果表容量较大的表,其分别存放于内、外部存储器中。
4.根据权利要求1所述的用于网络处理器的建表和查找方法,其特征在于,步骤2中,所述空闲地址的数目为索引表大小的4倍。
5.根据权利要求1所述的用于网络处理器的建表和查找方法,其特征在于,每个所述page包括n行的两列信息:标签label和索引值entry_addr。
6.根据权利要求5所述的用于网络处理器的建表和查找方法,其特征在于,每个所述page还包括下一页有效位link_page_valid和下一页地址link_page_addr信息。
7.根据权利要求5所述的用于网络处理器的建表和查找方法,其特征在于,n的取值范围为2~8。
8.根据权利要求7所述的用于网络处理器的建表和查找方法,其特征在于,对于内部int_hash表和内外部混合mix_hash表,n为8,对于外部ext_hash表,n为6。
9.根据权利要求1所述的用于网络处理器的建表和查找方法,其特征在于,所述结果表的一个存储位置对应一个entry,每个entry包括两行信息:关键字key和结果result。
CN201410326150.1A 2014-07-09 2014-07-09 用于网络处理器的建表和查找方法 Active CN104158744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410326150.1A CN104158744B (zh) 2014-07-09 2014-07-09 用于网络处理器的建表和查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410326150.1A CN104158744B (zh) 2014-07-09 2014-07-09 用于网络处理器的建表和查找方法

Publications (2)

Publication Number Publication Date
CN104158744A true CN104158744A (zh) 2014-11-19
CN104158744B CN104158744B (zh) 2017-07-11

Family

ID=51884153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410326150.1A Active CN104158744B (zh) 2014-07-09 2014-07-09 用于网络处理器的建表和查找方法

Country Status (1)

Country Link
CN (1) CN104158744B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155939A (zh) * 2015-03-30 2016-11-23 联想(北京)有限公司 一种信息处理方法及电子设备
CN107291628A (zh) * 2017-07-04 2017-10-24 北京京东尚科信息技术有限公司 访问数据存储设备的方法和装置
CN107517161A (zh) * 2016-06-15 2017-12-26 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN108255912A (zh) * 2017-08-17 2018-07-06 新华三技术有限公司 一种表项数据存储、查询方法及其装置
CN110096225A (zh) * 2018-01-30 2019-08-06 马维尔以色列(M.I.S.L.)有限公司 针对网络设备中的分组处理指令表的存储器的动态分配
CN110365626A (zh) * 2018-04-09 2019-10-22 厦门雅迅网络股份有限公司 防撞库的用户登录安全认证方法、终端设备及存储介质
WO2020125741A1 (zh) * 2018-12-21 2020-06-25 中兴通讯股份有限公司 哈希冲突的处理方法、装置、设备及计算机可读存储介质
CN111833496A (zh) * 2020-07-17 2020-10-27 长园共创电力安全技术股份有限公司 基于智能钥匙的开锁方法、装置及存储介质
CN113448996A (zh) * 2021-06-11 2021-09-28 成都三零嘉微电子有限公司 一种IPSec安全策略数据库高速查找方法
TWI761992B (zh) * 2020-10-16 2022-04-21 創鑫智慧股份有限公司 資料計算裝置及其操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350788A (zh) * 2008-08-25 2009-01-21 中兴通讯股份有限公司 一种网络处理器内外混合查表方法
CN101540730A (zh) * 2009-04-28 2009-09-23 华为技术有限公司 地址查找方法、交换机和网络系统
CN101604337A (zh) * 2009-07-13 2009-12-16 中兴通讯股份有限公司 一种哈希表项存储、查找装置及方法
CN102682116A (zh) * 2012-05-14 2012-09-19 中兴通讯股份有限公司 基于哈希表的表项处理方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350788A (zh) * 2008-08-25 2009-01-21 中兴通讯股份有限公司 一种网络处理器内外混合查表方法
CN101540730A (zh) * 2009-04-28 2009-09-23 华为技术有限公司 地址查找方法、交换机和网络系统
CN101604337A (zh) * 2009-07-13 2009-12-16 中兴通讯股份有限公司 一种哈希表项存储、查找装置及方法
CN102682116A (zh) * 2012-05-14 2012-09-19 中兴通讯股份有限公司 基于哈希表的表项处理方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
康婧,郭健: "《两级Hash算法在网络处理器上实现多连接包分类》", 《现代电子技术》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155939A (zh) * 2015-03-30 2016-11-23 联想(北京)有限公司 一种信息处理方法及电子设备
CN106155939B (zh) * 2015-03-30 2019-05-31 联想(北京)有限公司 一种信息处理方法及电子设备
CN107517161A (zh) * 2016-06-15 2017-12-26 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN107517161B (zh) * 2016-06-15 2021-11-12 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN107291628A (zh) * 2017-07-04 2017-10-24 北京京东尚科信息技术有限公司 访问数据存储设备的方法和装置
CN107291628B (zh) * 2017-07-04 2020-09-01 北京京东尚科信息技术有限公司 访问数据存储设备的方法和装置
CN108255912B (zh) * 2017-08-17 2020-02-11 新华三技术有限公司 一种表项数据存储、查询方法及其装置
WO2019034136A1 (zh) * 2017-08-17 2019-02-21 新华三技术有限公司 表项数据的存储和查询
CN108255912A (zh) * 2017-08-17 2018-07-06 新华三技术有限公司 一种表项数据存储、查询方法及其装置
CN110096225A (zh) * 2018-01-30 2019-08-06 马维尔以色列(M.I.S.L.)有限公司 针对网络设备中的分组处理指令表的存储器的动态分配
CN110365626A (zh) * 2018-04-09 2019-10-22 厦门雅迅网络股份有限公司 防撞库的用户登录安全认证方法、终端设备及存储介质
CN110365626B (zh) * 2018-04-09 2022-12-06 厦门雅迅网络股份有限公司 防撞库的用户登录安全认证方法、终端设备及存储介质
WO2020125741A1 (zh) * 2018-12-21 2020-06-25 中兴通讯股份有限公司 哈希冲突的处理方法、装置、设备及计算机可读存储介质
CN111833496A (zh) * 2020-07-17 2020-10-27 长园共创电力安全技术股份有限公司 基于智能钥匙的开锁方法、装置及存储介质
CN111833496B (zh) * 2020-07-17 2022-05-03 长园共创电力安全技术股份有限公司 基于智能钥匙的开锁方法、装置及存储介质
TWI761992B (zh) * 2020-10-16 2022-04-21 創鑫智慧股份有限公司 資料計算裝置及其操作方法
CN113448996A (zh) * 2021-06-11 2021-09-28 成都三零嘉微电子有限公司 一种IPSec安全策略数据库高速查找方法
CN113448996B (zh) * 2021-06-11 2022-09-09 成都三零嘉微电子有限公司 一种IPSec安全策略数据库高速查找方法

Also Published As

Publication number Publication date
CN104158744B (zh) 2017-07-11

Similar Documents

Publication Publication Date Title
CN104158744A (zh) 用于网络处理器的建表和查找方法
US9871727B2 (en) Routing lookup method and device and method for constructing B-tree structure
CN101692651B (zh) 一种哈希查找表的方法和装置
CN100470550C (zh) 一种信息存储的方法、信息查找的方法及引擎装置
US10860561B2 (en) Method and apparatus for providing efficient indexing and computer program included in computer readable medium therefor
CN105117417B (zh) 一种读优化的内存数据库Trie树索引方法
CN109376156B (zh) 读取具有存储感知的混合索引的方法
CN102484610B (zh) 路由表建立方法和装置及路由表查找方法和装置
CN100536435C (zh) 一种基于二叉树的流分类查找方法
US11269956B2 (en) Systems and methods of managing an index
WO2003054739A3 (en) Hybrid search memory for network processor and computer systems
CN102521334A (zh) 一种基于分类特性和平衡二叉树的数据存储、查询方法
CN103107945A (zh) 一种快速查找ipv6路由的系统及方法
CN109460404A (zh) 一种基于redis的高效Hbase分页查询方法
CN101277252A (zh) 多分支Trie树的遍历方法
CN102187642A (zh) 在哈希表中添加、查找或删除键值的方法及装置
CN102984071B (zh) 分段地址路由的路由表组织方法及查找路由的方法
CN100476815C (zh) 网页标识抓取方法
CN106302178B (zh) 一种路由查询方法及装置
CN111695685B (zh) 一种面向图神经网络应用的片上存储系统及方法
CN106231252B (zh) 一种大规模视频监控存储方法
CN112069088B (zh) 一种地址映射管理方法及相关装置、设备
CN104090942A (zh) 应用于网络处理器中的Trie搜索方法及装置
CN111291058B (zh) 一种基于分层pc-trie结构的LPM规则存储方法
CN108509585A (zh) 一种异构数据实时交互优化处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant