[发明专利]一种基于外部存储实现高效查找哈希表的预处理方法有效
申请号: | 201811526840.6 | 申请日: | 2018-12-13 |
公开(公告)号: | CN109582598B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 詹万鹏;王晓斌;陈伯芳;郑蓉;危必波;袁成伟;邓政 | 申请(专利权)人: | 武汉中元华电软件有限公司 |
主分类号: | G06F12/0864 | 分类号: | G06F12/0864;G06F12/0871;G06F12/0897 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 唐正玉 |
地址: | 430223 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 外部 存储 实现 高效 查找 哈希表 预处理 方法 | ||
1.一种基于外部存储实现高效查找哈希表的预处理方法,其特征在于:哈希表采用两级缓存的存储结构,其中一级缓存放在CPU内部,用于存储哈希表的头部数据;二级缓存放在外部存储器中,用于存储完整的哈希表;并按以下步骤进行:
步骤一、建表过程,以一个哈希地址的建表为例:输入当前数据单元的哈希值即哈希地址;读取对应哈希值的存储空间,记录下其已经存储数据的最后一个地址,该地址即为需存入冲突表的地址;同时统计该存储空间已经存入冲突表的长度,并将此长度输出给查表地址维护模块;将当前数据单元的存储地址和特征值组成冲突表的写请求信号,控制缓存写操作;
步骤二,建表地址维护模块负责将哈希值相同的数据存放在同一片缓存空间内,每一片缓存空间的大小根据应用场景来设计,同时并统计每一片缓存空间的已用大小,即每一个冲突表的长度,将这个信息输出给查表地址维护模块,以便查表地址维护模块执行查表长度请求;
步骤三,查表地址维护模块收到查表长度请求后,根据建表地址维护模块发来的冲突表长度信息决定是从一级缓存还是二级缓存读取数据,当冲突表长度小于一级缓存的深度时,从一级缓存内读取数据,否则从二级缓存读取数据;
步骤四、查表过程,以一个哈希地址的查表为例:输入待查找数据单元的哈希值即哈希地址;查表地址维护模块找出该哈希值对应的存储基地址;获取该哈希值冲突表的长度;如果冲突表长度小于一级
缓存深度,则向一级缓存发起读命令,否则向二级缓存发起读命令;
读返回所有冲突表的数据,根据冲突表特征值找出查找结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉中元华电软件有限公司,未经武汉中元华电软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811526840.6/1.html,转载请声明来源钻瓜专利网。