[发明专利]一种基于哈希查找的Flash检索方法及存储介质在审
申请号: | 202010400678.4 | 申请日: | 2020-05-13 |
公开(公告)号: | CN111651372A | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 沈坤;王建国;聂思静;梁美红;陈秀琼;王敏敏 | 申请(专利权)人: | 湖北三江航天万峰科技发展有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 雷霄 |
地址: | 43200*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 查找 flash 检索 方法 存储 介质 | ||
本发明公开了一种基于哈希查找的Flash检索方法及存储介质。该方法包括步骤:接收待存储的数据,每份数据具有唯一的关键值,根据预先构建的哈希函数和每份数据的关键值,计算每份数据的哈希值;在Flash中创建索引表,每份数据的哈希值表示该份数据在索引表中的索引位置,建立索引表中的索引位置与Flash存储页的映射关系;根据每份数据的哈希值和所述映射关系确定每份数据的Flash存储页,将数据存储到对应的Flash存储页中。本发明具有检索效率高的优点。
技术领域
本发明属于数据检索技术领域,更具体地,涉及一种基于哈希查找的Flash检索方法及存储介质。
背景技术
在嵌入式产品设计中,通常需要存储一些配置参数、运行状态、运行结果等数据。而且这些数据需要能长期保存,不能在掉电时丢失。检索存储数据的效率,将直接影响产品的性能,甚至决定产品设计的成败。
常见的查找算法有顺序查找、二分查找、二叉排序树查找。对于嵌入式单片机上的Flash检索,其储存和可使用的空间有限,所以不太适合二叉排序树,同时对于检索的速度有要求,在存储和检索的数据量比较大时,顺序查找和二分查找在时间要求上也不适合。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于哈希查找的Flash检索方法及存储介质,可以让Flash中有限的存储空间内存放更多的数据,同时还能保证数据检索的高效性。
为实现上述目的,按照本发明的第一方面,提供了一种基于哈希查找的Flash检索方法,包括:
接收待存储的数据,每份数据具有唯一的关键值,根据预先构建的哈希函数和每份数据的关键值,计算每份数据的哈希值;
在Flash中创建索引表,每份数据的哈希值表示该份数据在索引表中的索引位置,建立索引表中的索引位置与Flash存储页的映射关系;
根据每份数据的哈希值和所述映射关系确定每份数据的Flash存储页,将数据存储到对应的Flash存储页。
优选地,若多份数据计算的哈希值相同,则多份数据在索引表中的索引位置相同,将该多份数据按序存储到该索引位置对应的Flash存储页。
优选地,所述将该多份数据按序存储到该索引位置对应的Flash存储页中,当存储后一份数据时,若该索引位置对应的Flash存储页没有空余存储空间,则查找空白的Flash存储页,将后一份数据存储到该空白的Flash存储页,建立后一份数据的Flash存储页与该索引位置对应的Flash存储页的链接关系。
优选地,Flash检索方法还包括:
接收数据查询请求,所述数据查询请求中包括待查询数据的关键值;
根据待查询数据的关键值及所述哈希函数计算待查询数据的哈希值;
根据待查询数据的哈希值获取待查询在索引表中的索引位置,在该索引位置对应的Flash存储页查找待查询数据并返回查询结果。
优选地,若待查询数据的索引位置对应的Flash存储页没有找到待查询数据,并且待查询数据的索引位置对应的Flash存储页链接到另一Flash存储页,则继续在该另一Flash存储页查找待查询数据并返回查询结果。
优选地,Flash检索方法还包括:
接收数据删除请求,所述数据删除请求中包括待删除数据的关键值;
根据待删除数据的关键值及所述哈希函数计算待删除数据的哈希值;
根据待删除数据的哈希值获取待删除数据在索引表中的索引位置,在该索引位置对应的Flash存储页查询并删除待删除数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北三江航天万峰科技发展有限公司,未经湖北三江航天万峰科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010400678.4/2.html,转载请声明来源钻瓜专利网。