[发明专利]一种基于完美哈希算法的FPGA训练及查询电路实现方法有效
申请号: | 201710508277.9 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107330047B | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 邓俊杰 | 申请(专利权)人: | 华信塞姆(成都)科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 张鸣洁 |
地址: | 610041 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 完美 算法 fpga 训练 查询 电路 实现 方法 | ||
1.一种基于完美哈希算法的FPGA训练及查询电路实现方法,其特征在于,包括以下步骤:
S1)将静态键值和静态键值的哈希索引值输入静态键值表;
S2)将静态键值与输入的一个真随机数作一阶哈希计算得到一阶哈希表,所述一阶哈希表的表项包括:
地址/索引:在对静态键值重新排列阶段,表示静态键值在生成的键值重排表的基地址;在二阶哈希训练完成后即一阶哈希表中的冲突组解决后,如果vld=1,col=0,表示静态键值的序号;如果vld=1,col=1,表示静态键值的序号存放在二阶哈希训练生成的二阶哈希表中的基地址;
vld:1比特,有效指示,vld=1时表示至少有一个键值经过一阶哈希运算映射到这个表项上;
col:1比特,当vld=1,col=1的时候表示有几个键值冲突到此表项上;当vld=1,col=0时表示只有一个键值映射到这个表项上;
col_cnt:冲突组冲突计数,每当有一个键值被映射到这个槽位,则将此计数值加1,每当有一个冲突在此槽位上的键值被复制进入键值重排表,则计数值减1;
col_rec:冲突组冲突数记录,每当有一个键值被映射到这个冲突组的槽位,则将此计数值加1;
函数池索引:如果一阶哈希表中此槽位没有冲突,则为空,如果存在冲突则存放二阶哈希训练过程中的哈希函数的索引;
CRC size:映射到这个槽位的所有键值在进行二阶哈希时,采用CRC本原多项式的长度;
S3)读取静态键值表的每一个静态键值并查找一阶哈希表,将冲突于同一槽位的静态键值复制到键值重排表,使在一阶哈希表中冲突于同一槽位的静态键值在键值重排表中的位置相邻;
S4)遍历查询一阶哈希表,根据一阶哈希表中的冲突信息将冲突到一阶哈希表中相同槽位的所有键值从键值重排表中读取出来,这些键值对应为一阶哈希表的一个冲突组,进行二阶哈希计算,使所述冲突组映射到二阶哈希表中不同的地址索引值;
S5)再次遍历原始静态键值表,将某一键值keyi进行一阶哈希计算,其中i为自然数,计算结果对应一阶哈希表中的一个地址,如果此地址的表项显示col=0,则查询下一个原始键值keyi+1,否则,结合一阶哈希表中的信息进行二阶哈希计算,计算结果为其在二阶哈希表中的地址,将i填入二阶哈希表的表项,然后查询下一个原始键值keyi+1;
S6)查询静态键值的序号时,在所述一阶哈希表和/或二阶哈希表,查找静态键值的序号,根据序号读取原始静态键值表的原始键值与哈希索引值,输入查询的键值与原始键值对比,如果相等,则输出哈希索引值;否则,查询失败。
2.根据权利要求1所述的一种基于完美哈希算法的FPGA训练及查询电路实现方法,其特征在于,所述步骤S2)具体为:
S2.1)清空一阶哈希表,使一阶哈希表初始状态全为0;
S2.2)将静态键值表中的第一个静态键值与输入的一个真随机数进行一阶哈希计算,得到一阶哈希表的地址索引值,将静态键值的序号写入一阶哈希表所述地址索引值对应的表项中的地址/索引,将所述表项的col_cnt与col_rec写入“1”,将所述表项的有效指示vld写入“1”;
S2.3)读取下一个静态键值,进行一阶哈希计算,得到静态键值对应的一阶哈希表的地址索引值,读取该地址索引值对应的表项的有效指示vld,如果有效指示vld为“1”,则将该表项的col_cnt和col_rec均加“1”,将所述表项的col置为“1”,清空地址/索引的内容;如果该表项的有效指示vld为“0”,则将该表项的col_cnt和col_rec均置为“1”,将所述表项的有效指示vld写入“1”,并且将静态键值的序号写入表项的地址/索引;判断col_cnt与col_rec的数值,如果数值大于预先设定的最大冲突数,则重新选择一阶哈希计算的参数即输入的一个真随机数,并返回S2.1);
S2.4)重复步骤S2.3),直到完成遍历静态键值表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华信塞姆(成都)科技有限公司,未经华信塞姆(成都)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710508277.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智慧旅游综合服务系统
- 下一篇:一种共轴对转电吊扇