CN106095770A - 数据快速查找装置、查找方法、添加方法及删除方法 - Google Patents
数据快速查找装置、查找方法、添加方法及删除方法 Download PDFInfo
- Publication number
- CN106095770A CN106095770A CN201610296490.3A CN201610296490A CN106095770A CN 106095770 A CN106095770 A CN 106095770A CN 201610296490 A CN201610296490 A CN 201610296490A CN 106095770 A CN106095770 A CN 106095770A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- hash
- hash value
- main control
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据快速查找装置、查找方法、添加方法及删除方法。通过采用3次HASH算法加小容量CAM的实现方式,解决大容量快速查找实现方案单一的问题,解决了通过FPGA实现快速查找容量小的问题,解决当数据字位宽很大时,占用大量存储空间的问题,实现数据查找实现简单、容量大、查找速度快的有益效果;另一方面采用存储数据字的Hash值替代存储数据字的方式,在数据字位宽很大的情况下可极大的节省数据字所占用的存储空间。本发明可广泛应用于各种数据查找系统。
Description
技术领域
本发明涉及数据存储和管理领域。
背景技术
随着internet迅猛的发展,大量使用了各种网络交换设备。由于网络应用的多元化,对网络交换设备关键字查找的需求千差万别,针对不同的需求往往需要针对特定的需求选用相应的设计方案,缺少实现规模灵活可控,适应不同接口,实现简单,成本低廉,能很好适应网络应用的多元化的实现方案,而FPGA优越的在线可编程能力,具有无可比拟的优势。
传统的逐一比对查找方法:对于给定值M,从查找表首地址开始比对,若相等,则查找成功,结束查找。若不相等,则继续与下一个数据进行比对,直到匹配成功或完成整个表项的查找为止。这种方法实现简单,耗用资源少,但平均查找时间与数据深度成正比,当数据容量大时,查找速度非常慢,只适合数据容量小,对查找时间要求不高的场合。
传统的二分查找法:二分查找法的前提是数据表必须有序,假设数据是按降序排序的,对于给定值M,从序列的中间位置开始比对,如果M等于当前位置值,则查找成功;若M小于当前位置值,则在数据表的后半段中查找;若M大于当前位置值则在数据表的前半段中查找,以此类推,直到匹配成功或查找区别不能再细分为止。平均查找 时间与数据表深度N的log2N的成正比,相比与传统逐一比对查找方法快了很多,但对于数据容量大的场合,还是需要多个时钟周期才能完成一次查找,不适合高速查找应用。
基于CAM(内容可寻址的存储器,Content Addressable Memory)的查找方法,查找速度快,能在一个时钟周期内完成数据查找。但基于CAM的查找方法主要依靠CAM芯片,实现大容量需层叠多片CAM芯片,有价格贵、功耗高、应用不灵活等缺点。
哈希函数法是使用哈希函数对关键字进行计算,并用得到的哈希值索引表项,通过对比关键字找到匹配项。
发明内容
为了解决上述技术问题,本发明的目的是提供一种可实现查找速度快、实现简单的数据查找装置。
为了解决上述技术问题,本发明的第二个目的是提供一种查找速度快、实现简单的数据查找方法。
为了解决上述技术问题,本发明的第三个目的是提供一种基于上述数据查找方法的数据添加方法。
为了解决上述技术问题,本发明的第四个目的是提供一种基于上述数据查找方法的数据删除方法。
本发明所采用的技术方案是:
一种数据快速查找装置,包括主控模块、哈希模块、查找模块、数据表模块以及命中检测模块;所述主控模块的输出端分别与哈希模块和查找模块的输入端相连,所述数据表模块的输出端与命中检测模 块的输入端相连,所述数据表模块包括四个子模块,分别为表一模块、表二模块、表三模块以及CAM模块;所述主控模块用于产生查找的数据字并输出给哈希模块,产生控制信号控制查找模块完成查找动作,协调各模块间的工作;所述哈希模块用于根据主控模块给出的数据字并行完成三次哈希运算,三次哈希运算的结果的hash值可分别表示为hash1、hash2、hash3;所述查找模块受主控模块的控制,用于根据哈希模块生成的哈希运算结果索引数据表,查找是否已经存在相同项;所述命中检测模块根据数据表模块输出的信息,判断是否与查找内容存在匹配项,并将结果返回给主控模块。
优选的,还包括添加模块,所述添加模块的输入端分别与主控模块和哈希模块的输出端连接,所述添加模块的输出端与数据表模块的输入端连接。
优选的,还包括删除模块,所述删除模块的输入端分别与主控模块和哈希模块的输出端连接,所述删除模块的输出端与数据表模块的输入端连接。
优选的,所述表一模块、表二模块、表三模块均为表模块,所述表模块包括以下内容字段:第一Hash值字段、第二Hash值字段和状态标识;所述第一Hash值字段和第二Hash值字段分别用于存储哈希模块三次运算结果除作为表项索引外的两个hash值;所述CAM模块包括以下内容字段:第一Hash值字段、第二Hash值字段、第三Hash值字段和状态标识,所述第一Hash值字段、第二Hash值字段、第三Hash值字段用于存储哈希模块生成的三个hash值。
优选的,所述hash1、hash2、hash3的位宽与数据表模块中的表一模块、表二模块、表三模块的索引值位宽一致。
一种数据快速查找方法,包括步骤:S1,Hash值计算步骤:根据主控模块给出的数据字并行完成三次HASH运算,三次HASH运算的结果可分别表示为hash1、hash2、hash3;S2,数据表索引步骤:根据hash1、hash2、hash3索引表一模块、表二模块、表三模块和CAM模块,输出被索引表项内容及CAM模块的命中结果;S3,命中检测步骤:根据hash1、hash2、hash3和输出被索引表项内容的比对结果及CAM模块的命中结果,判断是否命中检测。
一种数据快速添加方法,其包括一种数据快速查找方法,还包括步骤:S4,空项查找步骤:按照表一模块、表二模块、表三模块及CAM模块优先级由高地低的顺序,查找空项,通过表模块的状态标识判断该项是否为空项,如果从三个表模块中未找到空项,则选则CAM模块的任一个空项,如果CAM模块满,则空项查找失败;S5,数据写入步骤:如步骤S4空项查找成功,则将hash1、hash2、hash3及状态写入空项的相关字段。
优选的,还包括步骤:S6,当命中检测步骤S3输出命中检测结果时,产生重复添加告警。
一种数据快速删除方法,其包括一种数据快速查找方法,还包括步骤:S7,删除步骤:当命中检测步骤S3输出命中删除数据字检测结果时,删除命中项并清除状态标识字段的有效标识。
优选的,还包括步骤:S8,当命中检测步骤S3输出未命中删除 数据字检测结果时,产生删除项不存在告警。
本发明的有益效果是:
本发明通过采用3次HASH算法加小容量CAM的实现方式,解决大容量快速查找实现方案单一的问题,解决多哈希函数法存储带宽需求高,实现困难的问题,解决了通过FPGA实现快速查找容量小的问题,解决当数据字位宽很大时,直接存储数据字占用大量存储空间的问题,实现数据查找实现简单、容量大、查找速度快的有益效果;另一方面采用存储数据字的Hash值替代存储数据字的方式,在数据字位宽很大的情况下可极大的节省数据字所占用的存储空间。
本发明可广泛应用于各种数据查找系统。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明装置一种实施例的结构示意图;
图2是本发明查找方法一种实施例的流程示意图;
图3是本发明添加方法一种实施例的流程示意图;
图4是本发明删除方法一种实施例的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,一种数据快速查找装置,包括主控模块、哈希模块、查找模块、数据表模块以及命中检测模块;所述主控模块的输出端分别与哈希模块和查找模块的输入端相连,所述数据表模块的输出端与 命中检测模块的输入端相连,所述数据表模块包括四个子模块,分别为表一模块、表二模块、表三模块以及CAM模块;所述主控模块用于产生查找的数据字并输出给哈希模块,产生控制信号控制查找模块完成查找动作,协调各模块间的工作;所述哈希模块用于根据主控模块给出的数据字并行完成三次哈希运算,三次哈希运算的结果的hash值可分别表示为hash1、hash2、hash3;所述查找模块受主控模块的控制,用于根据哈希模块生成的哈希运算结果索引数据表,查找是否已经存在相同项;所述命中检测模块根据数据表模块输出的信息,判断是否与查找内容存在匹配项,并将结果返回给主控模块。
优选的,还包括添加模块,所述添加模块的输入端分别与主控模块和哈希模块的输出端连接,所述添加模块的输出端与数据表模块的输入端连接。
优选的,还包括删除模块,所述删除模块的输入端分别与主控模块和哈希模块的输出端连接,所述删除模块的输出端与数据表模块的输入端连接。
优选的,所述表一模块、表二模块、表三模块均为表模块,所述表模块包括以下内容字段:第一Hash值字段、第二Hash值字段和状态标识;所述第一Hash值字段和第二Hash值字段分别用于存储哈希模块三次运算结果除作为表项索引外的两个hash值;所述CAM模块包括以下内容字段:第一Hash值字段、第二Hash值字段、第三Hash值字段和状态标识,所述第一Hash值字段、第二Hash值字段、第三Hash值字段用于存储哈希模块生成的三个hash值。
优选的,所述hash1、hash2、hash3的位宽与数据表模块中的表一模块、表二模块、表三模块的索引值位宽一致。
该实施例中,装置包括主控模块、哈希模块、添加模块、删除模块、查找模块、数据表模块以及命中检测模块。主控模块与哈希模块、添加删除模块以及查找模块相连,数据表模块包括四个子模块并与添加删除模块和命中检测模块相连,数据表模块的四个子模块分别为表一模块、表二模块、表三模块以及CAM模块。除此四个子模块可根据实际需求选择FPGA实现或者外接专用芯片实现外,其余模块均由FPGA实现。哈希模块的输出端分别与添加模块、删除模块和查找模块的输入端连接。命中检测模块的输出端分别与添加模块、删除模块和主控模块的输入端连接。
1)主控模块
主控模块根据实际应用需要产生需要添加、删除或查找的数据字并输出给哈希模块;产生控制信号控制添加、删除模块完成添加、删除动作;产生控制信号控制查找模块完成查找动作;协调上述模块间的协作,提高处理效率;根据命中检测模块的结果完成实际应用中需要的动作。
2)哈希模块
哈希模块根据主控模块给出的数据字并行完成三次HASH运算,三次HASH运算的结果可分别表示为hash1、hash2、hash3。hash1、hash2、hash3的位宽应与数据表中的表一、表二、表三的索引值位宽一致。三次HASH运算的算法必须满足以下要求:三次HASH运算的 算法互不相关;相同数据字得到相同HASH值的概率尽可能低;数据字能尽可能平均分布到每个HASH值上;算法尽可能简单,能在两到三个时钟周期内完成运算。
3)添加、删除模块
添加、删除模块受主控模块的控制,完成数据字的添加、删除操作。
添加操作:用哈希模块生成的HASH值索引数据表,查找是否已经存在相同项,如果存在相同项则停止添加并设置重复添加标识,如果不在相同项则以表一、表二、表三、CAM优先级由高到低的顺序检查对应的HASH索引项是否有效,如果无效,则将HASH值存入表项,否则检查低优先级的表,直到检测完为止,如果不存在无效项则设置添加失败标识。
删除操作:用哈希模块生成的HASH值索引数据表,查找是否已经存在相同项,如果存在则删除对应表项,如果不存在则设置删除失败标识。
4)查找模块
查找模块受主控模块的控制,完成数据字的查找操作。用哈希模块生成的HASH值索引数据表,查找是否已经存在相同项。
5)数据表模块
数据表模块包括表一模块、表二模块、表三模块以及CAM模块共四个子模块,实现与四个子模块的接口与控制操作,为添加、删除模块和查找模块提供统一的接口形式及操作方式。
表一模块、表二模块、表三模块功能相同,可不同配置,以下统称表模块。表模块为一块数据存储空间,用于表项数据的存储,可根据不同的应用需求选用不同实现方式。对表项数需求大于兆级的应用可选用专用存储器芯片,对于表项数需求为K级或更小的应用,可选用FPGA内部的BLOCK RAM实现。表模块的表项包括四部分内容即:第一Hash值、第二Hash值、状态标识、动作索引,其中动作索引为可选项,如下表所示:
其中,第一Hash值字段、第二Hash值字段存储的是哈希模块生成的三个hash值中除作为表项索引外的两个hash值。用hash值替代原始数据字在数据字宽度很大的情况能节省存储空间,而对于不同的数据字得到三个相同hash值的概率是极低的,例如每个HASH值的位宽均为16位,则不同的数据字得到三个相同hash值的概率P=1/248=3.55*10-15,显然这是可以接受的。状态标识至少包括该表项的有效状态标识,可根据实际应用扩展其它状态标识。动作索引用于存储后继操作的索引值,当该表项匹配时,则根据动作索引获取需要进行的后续操作。
CAM模块,即内容寻址存储器,用于小量表项的数据存储与快速查找,对于小于1024项的应用可用FPGA内部的查找表实现,否则选用专用的CAM芯片实现。CAM模块的表项包五部分内容即:第一Hash值、第二Hash值、第三Hash值、状态标识、动作索引,其中动作索引为可选项,如下表所示:
第一Hash值、第二Hash值、第三Hash值是哈希模块生成的三个hash值,状态标识、动作索引与表模块的作用相同。
6)命中检测模块
命中检测模块根据数据表模块输出的信息,判断是否与查找内容存在匹配项,并将结果返回给主控模块。
一种数据快速查找方法,包括步骤:S1,Hash值计算步骤:根据主控模块给出的数据字并行完成三次HASH运算,三次HASH运算的结果可分别表示为hash1、hash2、hash3;S2,数据表索引步骤:根据hash1、hash2、hash3索引表一模块、表二模块、表三模块和CAM模块,输出被索引表项内容及CAM模块的命中结果;S3,命中检测步骤:根据hash1、hash2、hash3和输出被索引表项内容的比对结果及CAM模块的命中结果,判断是否命中检测。
如图2所示,该实施例中,数据查找方法包括步骤:
HASH值计算:根据主控模块给出的数据字并行完成三次HASH运算,三次HASH运算的结果可分别表示为hash1、hash2、hash3。
数据表索引:用hash1索引表一模块,输出被索引表项内容依次为T1-hash1(第一Hash值)、T1-hash2(第二Hash值)、T1-flag(状态标识);hash2索引表二模块,输出被索引表项内容依次为T2-hash1、T2-hash2、T2-flag;hash3索引表三模块,输出被索引 表项内容依次为T3-hash1、T3-hash2、T3-flag;用{hash1,hash2,hash3}为关键字查找CAM,得到匹配状态及匹配项的索引依次为cam-match、cam-index,在匹配成功的状态下用cam-index作为索引,输出cam-flag。
命中检测:如果表一模块索引表项中的T1-hash1与hash2相等且T1-hash2与hash3相等且T1-flag有效标识有效或者表二模块索引表项中的T2-hash1与hash1相等且T2-hash2与hash3相等且T2-flag有效标识有效或者表三模块索引表项中的T3-hash1与hash1相等且T3-hash2与hash2相等且T3-flag有效标识有效或者cam-flag有效标识有效且匹配成功则表示查找成功,否则查找失败。
一种数据快速添加方法,其包括一种数据快速查找方法,还包括步骤:S4,空项查找步骤:按照表一模块、表二模块、表三模块及CAM模块优先级由高地低的顺序,查找空项,通过表模块的状态标识判断该项是否为空项,如果从三个表模块中未找到空项,则选则CAM模块的任一个空项,如果CAM模块满,则空项查找失败;S5,数据写入步骤:如步骤S4空项查找成功,则将hash1、hash2、hash3及状态写入空项的相关字段。
优选的,还包括步骤:S6,当命中检测步骤S3输出命中检测结果时,产生重复添加告警。
如图3所示,该实施例中,数据添加方法包括步骤:
HASH值计算、数据表索引、命中检测与数据查找过程相同。
空项查找:首先判断T1-flag有效标识,如果无效则确定该项为 空项,否则判断T2-flag有效标识,如果无效则确定该项为空项,否则判断T3-flag有效标识,如果无效则确定该项为空项,否则判断CAM表项是否已满,如果未满则选择任一空项,否则空项查找失败,并设置相应标识。由于空项查找失败会影响系统性能,因此需要尽可能降低空项查找失败的概率。对于特定的系统,空项查找失败概率与表一模块的装填因子a相关,通常情况下可取a<0.5,a越小空项查找失败的概率越低。
数据写入:如果存在空项,则按照相应表项要求,将相关字段写入空项,否则不进行任何操作。如空项在表一模块上,则将hash2、hash3、有效标识写入相应的第一Hash值、第二Hash值、状态标识字段;如空项在表二模块上,则将hash1、hash3、有效标识写入相应的第一Hash值、第二Hash值、状态标识字段;如空项在表三模块上,则将hash1、hash2、有效标识写入相应的第一Hash值、第二Hash值、状态标识字段;如空项在CAM上,则将hash1、hash2、hash3、有效标识写入相应的第一Hash值、第二Hash值、第三Hash值、状态标识字段。
产生重复添加告警:设置重复添加告警标识。
一种数据快速删除方法,其包括一种数据快速查找方法,还包括步骤:S7,删除步骤:当命中检测步骤S3输出命中删除数据字检测结果时,删除命中项并清除状态标识字段的有效标识。
优选的,还包括步骤:S8,当命中检测步骤S3输出未命中删除数据字检测结果时,产生删除项不存在告警。
如图4所示,该实施例中,数据删除方法包括步骤:
HASH值计算、数据表索引、命中检测与数据查找过程相同。
产生删除项不存在告警:设置删除项不存在告警标识。
删除命中项:清除状态标识字段的有效标识。
综上所述,本发明:
1、基于FPGA的实现方式,方便根据应用需求灵活控制实现规模,接口灵活可配置,可轻易与其它功能模块实现无缝连接,无需外围芯片,硬件实现简单,成本低;
2、结合多哈希函数法和CAM弥补法,取其优点,避免其缺点,采用3次哈希算法加极小容量CAM的实现方式。
3、由于采用了3次哈希算法,可采用存储数据字的HASH值替代存储数据字的方式,在数据字位宽很大的情况下可极大的节省数据字所占用的存储空间。
本发明通过采用3次HASH算法加小容量CAM的实现方式,克服了现有技术中数据速度慢或容量小或实现复杂的问题,实现数据查找实现简单、容量大、查找速度快的有益效果;另一方面采用存储数据字的Hash值替代存储数据字的方式,在数据字位宽很大的情况下可极大的节省数据字所占用的存储空间。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种数据快速查找装置,其特征在于,包括主控模块、哈希模块、查找模块、数据表模块以及命中检测模块;
所述主控模块的输出端分别与哈希模块和查找模块的输入端相连,所述数据表模块的输出端与命中检测模块的输入端相连,所述数据表模块包括四个子模块,分别为表一模块、表二模块、表三模块以及CAM模块;
所述主控模块用于产生查找的数据字并输出给哈希模块,产生控制信号控制查找模块完成查找动作,协调各模块间的工作;
所述哈希模块用于根据主控模块给出的数据字并行完成三次哈希运算,三次哈希运算的结果的hash值可分别表示为hash1、hash2、hash3;
所述查找模块受主控模块的控制,用于根据哈希模块生成的哈希运算结果索引数据表,查找是否已经存在相同项;
所述命中检测模块根据数据表模块输出的信息,判断是否与查找内容存在匹配项,并将结果返回给主控模块。
2.根据权利要求1所述的数据快速查找装置,其特征在于,还包括添加模块,所述添加模块的输入端分别与主控模块和哈希模块的输出端连接,所述添加模块的输出端与数据表模块的输入端连接。
3.根据权利要求1所述的数据快速查找装置,其特征在于,还包括删除模块,所述删除模块的输入端分别与主控模块和哈希模块的输出端连接,所述删除模块的输出端与数据表模块的输入端连接。
4.根据权利要求1至3任一项所述的数据快速查找装置,其特征在于,所述表一模块、表二模块、表三模块均为表模块,所述表模块包括以下内容字段:第一Hash值字段、第二Hash值字段和状态标识;所述第一Hash值字段和第二Hash值字段分别用于存储哈希模块三次运算结果除作为表项索引外的两个hash值;所述CAM模块包括以下内容字段:第一Hash值字段、第二Hash值字段、第三Hash值字段和状态标识,所述第一Hash值字段、第二Hash值字段、第三Hash值字段用于存储哈希模块生成的三个hash值。
5.根据权利要求4任一项所述的数据快速查找装置,其特征在于,所述hash1、hash2、hash3的位宽与数据表模块中的表一模块、表二模块、表三模块的索引值位宽一致。
6.一种数据快速查找方法,其特征在于,包括步骤:
S1,Hash值计算步骤:根据主控模块给出的数据字并行完成三次HASH运算,三次HASH运算的结果可分别表示为hash1、hash2、hash3;
S2,数据表索引步骤:根据hash1、hash2、hash3索引表一模块、表二模块、表三模块和CAM模块,输出被索引表项内容及CAM模块的命中结果;
S3,命中检测步骤:根据hash1、hash2、hash3和输出被索引表项内容的比对结果及CAM模块的命中结果,判断是否命中检测。
7.一种数据快速添加方法,其特征在于,其包括如权利要求6所述的一种数据快速查找方法,还包括步骤:
S4,空项查找步骤:按照表一模块、表二模块、表三模块及CAM模块优先级由高地低的顺序,查找空项,通过表模块的状态标识判断该项是否为空项,如果从三个表模块中未找到空项,则选则CAM模块的任一个空项,如果CAM模块满,则空项查找失败;
S5,数据写入步骤:如步骤S4空项查找成功,则将hash1、hash2、hash3及状态写入空项的相关字段。
8.根据权利要求7所述的一种数据快速添加方法,其特征在于,还包括步骤:
S6,当命中检测步骤S3输出命中检测结果时,产生重复添加告警。
9.一种数据快速删除方法,其特征在于,其包括如权利要求6所述的一种数据快速查找方法,还包括步骤:
S7,删除步骤:当命中检测步骤S3输出命中删除数据字检测结果时,删除命中项并清除状态标识字段的有效标识。
10.根据权利要求9所述的一种数据快速删除方法,其特征在于,还包括步骤:
S8,当命中检测步骤S3输出未命中删除数据字检测结果时,产生删除项不存在告警。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610296490.3A CN106095770B (zh) | 2016-05-05 | 2016-05-05 | 数据快速查找装置、查找方法、添加方法及删除方法 |
PCT/CN2016/086706 WO2017190409A1 (zh) | 2016-05-05 | 2016-06-22 | 数据快速查找装置、查找方法、添加方法及删除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610296490.3A CN106095770B (zh) | 2016-05-05 | 2016-05-05 | 数据快速查找装置、查找方法、添加方法及删除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095770A true CN106095770A (zh) | 2016-11-09 |
CN106095770B CN106095770B (zh) | 2019-10-11 |
Family
ID=57230747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610296490.3A Active CN106095770B (zh) | 2016-05-05 | 2016-05-05 | 数据快速查找装置、查找方法、添加方法及删除方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106095770B (zh) |
WO (1) | WO2017190409A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145164A (zh) * | 2018-08-28 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备和介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112582018A (zh) * | 2020-12-17 | 2021-03-30 | 普冉半导体(上海)股份有限公司 | 非易失存性存储器中存储单元的寿命自检测方法及系统 |
CN114615196A (zh) * | 2022-03-24 | 2022-06-10 | 北京左江科技股份有限公司 | 一种高速精确匹配查找方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039764B1 (en) * | 2002-01-17 | 2006-05-02 | Nokia Corporation | Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching |
CN102609509A (zh) * | 2010-04-26 | 2012-07-25 | 华为技术有限公司 | 哈希数据处理方法和装置 |
CN103001878A (zh) * | 2012-11-26 | 2013-03-27 | 中兴通讯股份有限公司 | Mac地址哈希冲突的确定方法及装置 |
CN104104604A (zh) * | 2013-04-04 | 2014-10-15 | 马维尔以色列(M.I.S.L.)有限公司 | 网络交换机设备中的准确匹配哈希查找数据库 |
CN105224620A (zh) * | 2015-09-21 | 2016-01-06 | 盛科网络(苏州)有限公司 | 通过软件搬移降低hash冲突概率的方法及装置 |
-
2016
- 2016-05-05 CN CN201610296490.3A patent/CN106095770B/zh active Active
- 2016-06-22 WO PCT/CN2016/086706 patent/WO2017190409A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039764B1 (en) * | 2002-01-17 | 2006-05-02 | Nokia Corporation | Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching |
CN102609509A (zh) * | 2010-04-26 | 2012-07-25 | 华为技术有限公司 | 哈希数据处理方法和装置 |
CN103001878A (zh) * | 2012-11-26 | 2013-03-27 | 中兴通讯股份有限公司 | Mac地址哈希冲突的确定方法及装置 |
CN104104604A (zh) * | 2013-04-04 | 2014-10-15 | 马维尔以色列(M.I.S.L.)有限公司 | 网络交换机设备中的准确匹配哈希查找数据库 |
CN105224620A (zh) * | 2015-09-21 | 2016-01-06 | 盛科网络(苏州)有限公司 | 通过软件搬移降低hash冲突概率的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145164A (zh) * | 2018-08-28 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106095770B (zh) | 2019-10-11 |
WO2017190409A1 (zh) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10706101B2 (en) | Bucketized hash tables with remap entries | |
US10127282B2 (en) | Partitionable ternary content addressable memory (TCAM) for use with a bloom filter | |
Bahmani et al. | Efficient distributed locality sensitive hashing | |
RU2586010C2 (ru) | Способ и устройство для сохранения данных с использованием хэширования | |
CN104866502B (zh) | 数据匹配的方法及装置 | |
CN103942343B (zh) | 一种面向哈希连接的数据存储优化方法 | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
CN101692651A (zh) | 一种哈希查找表的方法和装置 | |
CN112000846B (zh) | 基于gpu分组lsm树索引的方法 | |
Yang et al. | Practical multituple packet classification using dynamic discrete bit selection | |
US9672239B1 (en) | Efficient content addressable memory (CAM) architecture | |
CN107357843B (zh) | 基于数据流结构的海量网络数据查找方法 | |
CN112486994B (zh) | 一种基于日志结构合并树的键值存储的数据快速读取方法 | |
CN107341507B (zh) | 一种基于gpu与级联哈希的快速图像sift特征匹配方法 | |
WO2006099186A2 (en) | Information retrieval architecture for packet classification | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN106095770A (zh) | 数据快速查找装置、查找方法、添加方法及删除方法 | |
CN108287840A (zh) | 一种基于矩阵哈希的数据存储和查询方法 | |
Ibrahim et al. | Intelligent data placement mechanism for replicas distribution in cloud storage systems | |
CN103617276A (zh) | 一种分布式层次化的rdf数据的存储方法 | |
CN104850656B (zh) | 一种动态自适应多级Bloom滤波器装置 | |
CN112256704A (zh) | 一种快速join方法、存储介质及计算机 | |
Gong et al. | Abc: a practicable sketch framework for non-uniform multisets | |
CN106709045B (zh) | 分布式文件系统中节点选择方法及装置 | |
CN108021678B (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 | ||
CP02 | Change in the address of a patent holder |
Address after: 518000 2101, No. 100, Zhihe Road, Dakang community, Yuanshan street, Longgang District, Shenzhen, Guangdong Patentee after: BANGYAN TECHNOLOGY Co.,Ltd. Address before: 9 / F, block B, building 5, Shenzhen software industry base, No.13, Haitian 1st Road, Nanshan District, Shenzhen, Guangdong 518000 Patentee before: BANGYAN TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |