CN103399920A - 键值搜索方法、键值搜索装置及芯片 - Google Patents

键值搜索方法、键值搜索装置及芯片 Download PDF

Info

Publication number
CN103399920A
CN103399920A CN2013103347283A CN201310334728A CN103399920A CN 103399920 A CN103399920 A CN 103399920A CN 2013103347283 A CN2013103347283 A CN 2013103347283A CN 201310334728 A CN201310334728 A CN 201310334728A CN 103399920 A CN103399920 A CN 103399920A
Authority
CN
China
Prior art keywords
key assignments
storer
address space
searched
key
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
CN2013103347283A
Other languages
English (en)
Other versions
CN103399920B (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.)
SUZHOU XIONGLI TECHNOLOGY Co Ltd
Original Assignee
SUZHOU XIONGLI TECHNOLOGY Co Ltd
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 SUZHOU XIONGLI TECHNOLOGY Co Ltd filed Critical SUZHOU XIONGLI TECHNOLOGY Co Ltd
Priority to CN201310334728.3A priority Critical patent/CN103399920B/zh
Publication of CN103399920A publication Critical patent/CN103399920A/zh
Application granted granted Critical
Publication of CN103399920B publication Critical patent/CN103399920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明实施例公开了键值搜索方法、键值搜索装置及芯片。键值搜索方法包括:接收待搜索键值;采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间;根据所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值;选取与待搜索键值匹配的一个备选键值作为确定键值。键值搜索装置包括:接收单元,转换单元,获取单元,确定单元。所述芯片包括所述键值搜索装置。采用本发明提供的键值搜索方法及键值搜索装置可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。

Description

键值搜索方法、键值搜索装置及芯片
技术领域
本发明涉及计算机领域,尤其涉及键值搜索方法、键值搜索装置及芯片。
背景技术
计算机对数据进行处理的过程中,经常需要根据数据中的某些关键信息来决定如何对该数据进行处理,这些关键信息通常被称为数据键值。例如,在网络安全控制设备中,系统根据输入数据包中某些关键字段的内容,来对数据包进行不同的分类、转发、过滤等操作。由于数据键值的取值范围较大,各种字段的组合种类较多,在实际应用中,通常将这些数据键值及与之对应的操作处理方式预先存储起来,当计算机接收到一个输入数据时,首先从数据中取出数据键值,然后根据数据键值在预先存储的内容中进行搜索,当搜索到与数据键值内容匹配的操作处理方式时,根据该操作处理方式对输入数据进行操作处理。
现有技术中通常使用三值内容寻址键值存储器(TCAM,TERNARY CONTENTADDRESSABLE MEMORY)来进行数据键值信息的存储和搜索。在TCAM中,每一个位(BIT)电路用于存储和查找一个数据键值,每一个位(BIT)电路包括了三个单元:数据单元(D,DATA),标记单元(M,MASK)和比较单元(C,COMPARATOR),使得每个BIT需要16个晶体管。在进行搜索时,TCAM启动所有存储条目中的所有位(BIT)电路,一次完成全部搜索过程。
由于TCAM存储单元的电路复杂,会导致数据键值存储容量较大时,TCAM面积大,功耗大,电源噪声大,使得现有数据键值信息的存储键值搜索装置不能满足网络设备的大容量、高速搜索的需求。
发明内容
本发明实施例提供了键值搜索方法、键值搜索装置及芯片,以解决现有数据键值信息的存储键值搜索装置不能满足网络设备的大容量、高速搜索的需求的问题。
第一方面,本发明实施例提供了一种键值搜索方法,该方法包括:
接收待搜索键值;采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间;根据所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值;选取与待搜索键值匹配的一个备选键值作为确定键值。
结合第一方面,在第一种可能的实现方式中,所述采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间,具体为:
采用与每一个键值存储器唯一对应的哈希映射算法,将所述待搜索键值转换为每一个键值存储器的获取地址空间。
结合第一方面及第一方面第一种可能的实现方式,在第二种可能的实现方式中,在所述接收待搜索键值之前,还包括:
接收待存储键值;确定所述待存储键值所属的键值保存存储器,所述键值保存存储器为所述键值存储器其中之一;使用与所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间;将所述待存储键值保存至所述键值保存存储器上所述保存地址空间;所述接收待搜索键值,具体为:在将所述待存储键值保存至与所述分组对应的键值存储器的所述保存地址空间之后,接收待搜索键值。
结合第一方面、第一方面第一种可能的实现方式及第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述键值存储器为静态随机存储器(SRAM,STATIC RANDOMACCESS MEMORY)或动态随机存取存储器(DRAM,DYNAMIC RANDOM ACCESS MEMORY)。
第二方面,本发明实施例还提供了一种键值搜索装置,所述装置包括:
接收单元,用于接收待搜索键值;转换单元,用于采用与每一个键值存储器对应的预设哈希映射算法,将所述接收单元接收到的所述待搜索键值转换为获取地址空间;获取单元,用于根据所述转换单元获取到的所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值;确定单元,用于选取与所述获取单元获取到的所述待搜索键值匹配的一个备选键值作为确定键值。
结合第二方面,在第一种可能的实现方式中,所述转换单元,具体用于采用与每一个键值存储器唯一对应的哈希映射算法,将所述接收单元接收到的所述待搜索键值转换为每一个键值存储器的获取地址空间。
结合第二方面及第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述键值搜索装置还包括:
输入单元,用于接收待存储键值;分组单元,用于确定所述输入单元接收到的所述待存储键值所属的所述键值保存存储器,所述键值保存存储器为所述键值存储器其中之一;映射单元,用于使用与所述分组单元确定的所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间;保存单元,用于将所述待存储键值保存至所述分组单元确定的键值保存存储器上所述映射单元生成的所述保存地址空间。所述接收单元,具体用于在所述保存单元将所述待存储键值保存至所述分组单元确定的键值保存存储器上所述映射单元生成的所述保存地址空间之后,接收待搜索键值。
结合第二方面、第二方面第一种可能的实现方式及第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述键值存储器为SRAM或DRAM。
第三方面,本发明实施例还提供了一种芯片,所述芯片包括如前述第二方面及第二方面的任意一种可能的实施方式所提供的键值搜索装置。
与现有技术相比,本发明提供的键值搜索方法、键值搜索装置及芯片,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1为本发明键值搜索方法的一个实施例的流程图;
图2为本发明键值搜索方法的另一个实施例的流程图;
图3为本发明键值搜索装置的一个实施例框图;
图4为本发明键值搜索装置的另一个实施例框图;
图5为本发明芯片的一个实施例框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示装置结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
参见图1,为本发明键值搜索方法的一个实施例的流程图,该方法包括如下步骤:
步骤101,接收待搜索键值。
芯片每次对键值进行搜索时,首先需要接收待搜索键值。芯片可以直接接收待搜索键值,或者也可以从接收到的数据中根据预定规则提取出待搜索键值。接收到的数据可以是数据网络通信中的IP数据包等任何需要类似搜索查找处理的数据。
在接收待搜索键值之前,芯片需要预先存储数据键值,在预先存储数据键值之后,再接收待搜索键值,才能完成键值搜索。
由于在实际应用中,芯片存储的数据键值数目会远远大于一个随机存储器(RAM,RANDOM ACCESS MEMORY)存储器可容纳的数目,因此在对数据键值进行存储时,会将全部的数据键值会分成若干个组,分别存放在不同的键值存储器中,键值存储器可以为静态随机存储器或动态随机存取存储器。
预先存储数据键值可以包括如下步骤:首先确定待存储键值所述的分组,即确定保存所述待存储键值的键值存储器;然后使用与所述键值存储器对应的哈希映射算法,将待储存键值映射为获取地址空间;最后将所述待存储键值保存至所述键值存储器的获取地址空间。键值存储器的获取地址空间除保存键值之外,还可以保存与数据键值对应的关联信息,例如地址、索引、操作动作等信息。
步骤102,采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间。
在对数据键值进行保存时,全部的数据键值会按照其所在的分组分别保存在不同的键值存储器上,所述键值存储器可以是SRAM或DRAM,所以在对待搜索键值进行搜索时需要对每一个键值存储器进行搜索。因此,在采用预设的哈希映射算法,将所述待搜索键值转换为获取地址空间时,需要将待搜索键值转换为一个或多个获取地址空间,保证每一个键值存储器都有一个对应的获取地址空间,即每一个存储器的保存的数据键值都可以被搜索到。在此需要说明的是,每一个获取地址空间可以只与一个键值存储器相对应也可以同时与多个键值存储器相对应。
在实际使用中可以为每一个键值存储器都预设一个对应的哈希映射算法,不同的键值存储器对应的哈希映射算法各不相同。在进行数据键值存储时,哈希映射算法用于生成保存数据键值的地址,因此芯片在接收到待搜索键值之后,可以采用与每一个键值存储器对应的哈希映射算法,根据待搜索键值,为每一个键值存储器生成一个唯一对应的获取地址空间。
例如,当芯片包括第一键值存储器和第二键值储器两个键值存储器时,芯片在接收到待搜索键值之后,采用与第一键值存储器对应的第一哈希映射算法,生成第一获取地址空间;在生成第一获取地址空间的同时,采用与第二键值存储器对应的第二哈希映射算法生成第二获取地址空间,其中,第一获取地址空间与第一键值存储器相对应,第二获取地址空间与第二存储器相对应,第一哈希映射算法与第二哈希映射算法可以为同样的哈希映射算法也可以为不同的哈希映射算法,生成的第一获取地址空间与第二获取地址空间可以相同也可以不相同。
步骤103,根据所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值。
由于芯片根据待搜索键值生成了一个以上的获取地址空间,并且每一个获取地址空间都与一个键值存储器相对应,所以芯片可以根据每一个获取地址空间从与获取地址空间对应的键值存储器中获取备选键值,如果有某个键值存储器的获取地址空间中没有保存数据键值,则可以不返回备选键值,或返回一个数据为空的键值。
例如,当芯片生成第一获取地址空间与第二获取地址空间时,由于第一获取地址空间与第一键值存储器相对应,第二获取地址空间与第二存储器相对应,在获取备选键值时,将从第一键值存储器的第一获取地址空间中读取到的数据作为第一备选键值,将从第二存储器的第二获取地址空间中读取到的数据作为第二备选键值。如果第二存储器的第二获取地址空间中没有保存数据,则不返回备选键值。
步骤104,选取与待搜索键值匹配的一个备选键值作为确定键值。
由于芯片根据获取地址空间可能获取到多个备选键值,因此需要从多个备选值中选出一个作为确定键值。可以采用比对的方式确定一个备选键值作为匹配键值。
例如,当芯片获取到的备选键值包括第一备选键值及第二备选键值时,分别将包括第一备选键值及第二备选键值与待搜索键值进行比较,然后根据比较结果确定其中与待搜索键值一致的那一个备选键值作为匹配键值。
再将备选键值与待搜索键值进行比较时,可以使用比较器将所有备选键值均与待搜索键值进行比较,选中与待搜索键值相匹配的备选键值,具体的匹配方式可以是按位精确相等,或者是部分位精确相等其他位可以是任意值,或者也可以要求待搜索键值大于或者小于备选键值,具体匹配方式可根据需要由用户自己配置定义。
在匹配键值确定后,芯片可以根据匹配键值进行相应的操作,例如根据在保存键值数据时保存的地址、索引、操作动作等信息进行相应的操作。
从上述实施例可以看出,本发明提供的键值搜索方法,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
参加图2,本发明键值搜索方法的另一个实施例的流程图例,该实施例详细说明了数据键值从保存到搜索的全过程。
步骤201,接收待存储键值。
芯片首先接收待存储的键值,芯片一次可以只接收一个待存储键值,也可以一次接收多个待存储键值。在接收待存储键值是芯片还可以同时接收与待存储键值相对应的关联信息。
步骤202,确定所述待存储键值所属的键值保存存储器,所述键值保存存储器为所述键值存储器其中之一。
在确定待存储键值所属的分组时,数据键值在键值存储器中的存放地址可以通过哈希算法来确定,能够通过某一相同哈希映射算法被映射到RAM保存地址空间之内,并且保存地址空间相互之间又不发生碰撞的多个数据键值可以被归为一组。
保存在同一个键值存储器上的同一组的数据键值,在进行哈希映射时采用同样的映射算法,保存在不同键值存储器上的不同组数据键值之间可以采用不同的映射算法。在实际使用中,每一个键值存储器都可以有与之唯一相应的哈希算法。不同的分组采用不同的哈希算法进行哈希映射的做法,与全部分组使用同一个哈希算法进行哈希映射相比,可以大大降低地址的碰撞几率。
步骤203,使用与所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间。
在确定所述待存储键值所属的分组之后,使用与所述键值存储器对应的哈希映射算法,将待存储键值转换为保存地址空间。
在实际使用中,确定分组和生成保存过程可以是一个相互影响的过程。
例如,芯片在接收到一个待存储键值之后,首先采用与第一键值存储器对应的第一哈希映射算法,生成第一保存地址空间,当第一键值存储器的第一保存地址空间没有数据时,将待存储键值保存至第一键值存储器的第一保存地址空间,当第一键值存储器的第一保存地址空间已经保存有数据时,采用与第二键值存储器对应的第二哈希映射算法,生成第二保存地址空间,将待存储键值保存至第二键值存储器的第二保存地址空间;如果第二键值存储器的第二保存地址空间也保存有数据,则可以继续尝试将待存储键值保存至其他键值存储器,直到不发生地址碰撞,生成的保存地址空间中没有保存数据为止。
步骤204,将所述待存储键值保存至所述键值保存存储器上所述保存地址空间。
在确定完保存待存储键值的键值存储器及保存地址空间之后,将待存储键值保存到该键值存储器的该保存地址空间。
例如,在生成第一保存地址空间,并且第一键值存储器的第一保存地址空间没有数据时,将待存储键值保存至第一键值存储器的第一保存地址空间。
步骤205,在将所述待存储键值保存至与所述分组对应的键值存储器的所述保存地址空间之后,接收待搜索键值。
芯片每次对键值进行搜索时,首先接收待搜索键值。芯片可以直接接收待搜索键值,或者也可以从接收到的数据中根据预定规则提取出待搜索键值。
步骤206,采用与每一个键值存储器唯一对应的哈希映射算法,将所述待搜索键值转换为每一个键值存储器的获取地址空间。
在对数据键值进行保存时,由于全部的数据键值按照其所在的分组分别保存在不同的键值存储器上,在对待搜索键值进行搜索时需要对每一个键值存储器进行搜索,在实际使用中可以为每一个键值存储器都预设一个对应的哈希映射算法,不同的键值存储器对应的哈希映射算法也不相同,在接收到待搜索键值之后,可以采用与每一个键值存储器对应的哈希映射算法,根据待搜索键值,为每一个键值存储器生成一个唯一对应的获取地址空间。
步骤207,根据所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值。
由于芯片根据待搜索键值生成了一个以上的获取地址空间,并且每一个获取地址空间都与一个键值存储器相对应,所以芯片可以根据每一个获取地址空间从与获取地址空间对应的键值存储器中获取备选键值,如果有某个键值存储器的获取地址空间中没有保存数据键值,则可以不返回备选键值,或返回一个数据为空的键值。不返回键值可以减少比较器的比较次数,能加快键值搜索速度。
步骤208,选取与待搜索键值匹配的一个备选键值作为确定键值。
使用比较器将所有备选键值均与待搜索键值进行比较,根据预设的匹配方式选中与待搜索键值相匹配的备选键值。
从上述实施例可以看出,本发明提供的键值搜索方法,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
与本发明键值搜索方法相对应,本发明还提供了键值搜索装置。
参见图3,为本发明键值搜索装置的一个实施例框图。
该键值搜索装置包括:接收单元301,转换单元302,获取单元303,确定单元304。
其中,接收单元301,用于接收待搜索键值;
转换单元302,用于采用与每一个键值存储器对应的预设哈希映射算法,将所述接收单元301接收到的所述待搜索键值转换为获取地址空间。
获取单元303,用于根据所述转换单元302获取到的所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值。
确定单元304,用于选取与所述获取单元303获取到的所述待搜索键值匹配的一个备选键值作为确定键值。
从上述实施例可以看出,本发明提供的键值搜索装置,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
参见图4,为本发明键值搜索装置的另一个实施例框图。
该键值搜索装置包括:输入单元401,分组单元402,映射单元403,保存单元404,接收单元405,转换单元406,获取单元407,确定单元408。
其中,所述输入单元401,用于接收待存储键值。
所述分组单元402,用于确定所述输入单元401接收到的所述待存储键值所属的所述键值保存存储器,所述键值保存存储器为所述键值存储器其中之一。
所述映射单元403,用于使用与所述分组单元402确定的所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间。
所述保存单元404,用于将所述待存储键值保存至所述分组单元402确定的键值保存存储器上所述映射单元403生成的所述保存地址空间。
所述接收单元405,具体用于在所述保存单元404将所述待存储键值保存至所述分组单元确定的键值保存存储器上所述映射单元生成的所述保存地址空间之后,接收待搜索键值。
所述转换单元406,用于采用与每一个键值存储器对应的预设哈希映射算法,将所述接收单元405接收到的所述待搜索键值转换为获取地址空间。
所述获取单元407,用于根据所述转换单元406获取到的所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值。
所述确定单元408,用于选取与所述获取单元407获取到的所述待搜索键值匹配的一个备选键值作为确定键值。
从上述实施例可以看出,本发明提供的键值搜索装置,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
参见图5,为本发明芯片的一个实施例框图。
所述芯片包括键值搜索装置501。所述芯片可以为专门的键值搜索芯片,也可以为具有键值搜索功能的其他芯片,所述芯片中包括前述实施例中提供的键值搜索装置,所述键值搜索装置501用于当芯片用于键值搜索时,完成键值搜索功能。
从上述实施例可以看出,本发明提供的芯片,可以提高数据键值存储容量和搜索速度,并降低硬件芯片的运行功耗,从而满足网络设备的大容量、高速搜索的需求。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种键值搜索方法,其特征在于,所述方法包括:
接收待搜索键值;
采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间;
根据所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值;
选取与待搜索键值匹配的一个备选键值作为确定键值。
2.如权利要求1所述的方法,其特征在于,所述采用与每一个键值存储器对应的预设哈希映射算法,将所述待搜索键值转换为获取地址空间,具体为:
采用与每一个键值存储器唯一对应的哈希映射算法,将所述待搜索键值转换为每一个键值存储器的获取地址空间。
3.如权利要求1或2所述的方法,其特征在于,在所述接收待搜索键值之前,还包括:接收待存储键值;
确定所述待存储键值所属的键值保存存储器,所述键值保存存储器为所述键值存储器其中之一;
使用与所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间;
将所述待存储键值保存至所述键值保存存储器上所述保存地址空间;
所述接收待搜索键值,具体为:在将所述待存储键值保存至与所述分组对应的键值存储器的所述保存地址空间之后,接收待搜索键值。
4.如权利要求1至3任意一项权利要求所述的方法,其特征在于,
所述键值存储器为静态随机存储器SRAM或动态随机存取存储器DRAM。
5.一种键值搜索装置,其特征在于,所述装置包括:
接收单元,用于接收待搜索键值;
转换单元,用于采用与每一个键值存储器对应的预设哈希映射算法,将所述接收单元接收到的所述待搜索键值转换为获取地址空间;
获取单元,用于根据所述转换单元获取到的所述获取地址空间,从每一个键值存储器中获取一个数据键值作为备选键值;
确定单元,用于选取与所述获取单元获取到的所述待搜索键值匹配的一个备选键值作为确定键值。
6.如权利要求5所述的键值搜索装置,其特征在于,
所述转换单元,具体用于采用与每一个键值存储器唯一对应的哈希映射算法,将所述接收单元接收到的所述待搜索键值转换为每一个键值存储器的获取地址空间。
7.如权利要求5或6所述的方法,其特征在于,所述键值搜索装置还包括:
输入单元,用于接收待存储键值;
分组单元,用于确定所述输入单元接收到的所述待存储键值所属的所述键值保存存储器,所述键值保存存储器为所述键值存储器其中之一;
映射单元,用于使用与所述分组单元确定的所述键值保存存储器对应的哈希映射算法,将待储存键值转换为保存地址空间;
保存单元,用于将所述待存储键值保存至所述分组单元确定的键值保存存储器上所述映射单元生成的所述保存地址空间;
所述接收单元,具体用于在所述保存单元将所述待存储键值保存至所述分组单元确定的键值保存存储器上所述映射单元生成的所述保存地址空间之后,接收待搜索键值。
8.如权利要求5至7任意一项权利要求所述的方法,其特征在于,
所述键值存储器为静态随机存储器SRAM或动态随机存取存储器DRAM。
9.一种芯片,其特征在于,所述芯片包括如权利要求5至8任意一项权利要求所述的键值搜索装置。
CN201310334728.3A 2013-08-02 2013-08-02 键值搜索方法、键值搜索装置及芯片 Active CN103399920B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310334728.3A CN103399920B (zh) 2013-08-02 2013-08-02 键值搜索方法、键值搜索装置及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310334728.3A CN103399920B (zh) 2013-08-02 2013-08-02 键值搜索方法、键值搜索装置及芯片

Publications (2)

Publication Number Publication Date
CN103399920A true CN103399920A (zh) 2013-11-20
CN103399920B CN103399920B (zh) 2017-04-26

Family

ID=49563548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310334728.3A Active CN103399920B (zh) 2013-08-02 2013-08-02 键值搜索方法、键值搜索装置及芯片

Country Status (1)

Country Link
CN (1) CN103399920B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708427A (zh) * 2016-11-17 2017-05-24 华中科技大学 一种适用于键值对数据的存储方法
CN110674138A (zh) * 2019-09-23 2020-01-10 苏州雄立科技有限公司 一种报文搜索方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034412A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034412A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708427A (zh) * 2016-11-17 2017-05-24 华中科技大学 一种适用于键值对数据的存储方法
CN106708427B (zh) * 2016-11-17 2019-05-10 华中科技大学 一种适用于键值对数据的存储方法
CN110674138A (zh) * 2019-09-23 2020-01-10 苏州雄立科技有限公司 一种报文搜索方法及装置
CN110674138B (zh) * 2019-09-23 2024-03-08 苏州雄立科技有限公司 一种报文搜索方法及装置

Also Published As

Publication number Publication date
CN103399920B (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
US10049126B2 (en) Cuckoo hashing with selectable hash
US9077669B2 (en) Efficient lookup methods for ternary content addressable memory and associated devices and systems
US11100073B2 (en) Method and system for data assignment in a distributed system
CN112425131B (zh) 一种acl的规则分类方法、查找方法和装置
US10771386B2 (en) IP routing search
CN107330094B (zh) 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法
CN102035727A (zh) 一种路由的处理方法和设备
CN111680489B (zh) 目标文本的匹配方法和装置、存储介质及电子设备
CN106878367A (zh) 服务接口异步调用的实现方法和装置
CN108255912A (zh) 一种表项数据存储、查询方法及其装置
CN104253754A (zh) 一种acl快速匹配的方法和设备
CN103399920A (zh) 键值搜索方法、键值搜索装置及芯片
CN112256704A (zh) 一种快速join方法、存储介质及计算机
CN102986177B (zh) 一种tcam表项的设置方法及装置
CN111819552B (zh) 访问控制列表的管理方法及装置
CN115687560B (zh) 一种基于有限确定自动机的海量关键词查找方法
Li et al. Deterministic and efficient hash table lookup using discriminated vectors
CN104090942A (zh) 应用于网络处理器中的Trie搜索方法及装置
CN102724106B (zh) 媒体接入控制地址的学习方法、网络侧设备和系统
US9361404B2 (en) Offline radix tree compression with key sequence skip
US10476785B2 (en) IP routing search
CN110781100B (zh) 一种数据检测方法、逻辑芯片及网络设备
US12107974B1 (en) Encryption method and apparatus
US10218498B2 (en) Efficient hash table key storage
CN109344222B (zh) 一种高带宽tcam的查找与存储方法及装置

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