构建索引的方法和装置以及文件查找的方法和装置与流程

文档序号:35212056发布日期:2023-08-24 13:35阅读:27来源:国知局
构建索引的方法和装置以及文件查找的方法和装置与流程

本申请涉及文件存储,具体而言,涉及一种构建索引的方法和装置以及文件查找的方法和装置。


背景技术:

1、进行文件存储时,通常会利用哈希函数进行存储,以快速定位文件并避免文件冲突。通常,需要对每个文件进行哈希计算,生成一个唯一的哈希值。哈希值可以用来比较两个文件是否相同或检测文件是否被篡改。接着,将文件存储到哈希值所对应的位置。例如,可以将文件存储到以哈希值命名的文件夹中,或将文件存储到以哈希值为索引的数据库表中。

2、当需要查找某个文件时,只需要计算该文件的哈希值,并使用哈希索引查找该哈希值所对应的存储位置即可。由于哈希值是唯一的,因此哈希索引可以快速地定位存储介质中的文件。但是,当哈希表的存储空间有限时,不同的数据可能会被映射到相同的位置上,这就导致了哈希冲突。哈希冲突会导致数据被覆盖、查找失败或者哈希表性能下降等问题。

3、常用的解决哈希冲突的技术主要有链表法(拉链法)和开放地址法。链表法将哈希表中每个桶(bucket)看作一个链表的头节点,哈希值相同的元素放在同一个桶里,然后用链表链接起来。当发生哈希冲突时,只需要在对应桶的链表末尾添加新元素即可。开放地址法在发生哈希冲突时,会在哈希表中寻找下一个空的位置,并将元素插入该位置。但是采用上述方法还是不能完全避免哈希冲突。

4、针对上述问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请实施例提供了一种构建索引的方法和装置以及文件查找的方法和装置,以解决现有技术中存储文件时所存在的哈希冲突的技术问题。

2、根据本申请实施例的一个方面,提供了一种构建索引的方法,该方法包括:使用不同的种子值,来构建第一哈希函数和第二哈希函数;基于平方探测方法,利用哈希表的负载密度和所述哈希表的长度,来确定校正因子;利用所述校正因子、所述第一哈希函数和所述第二哈希函数,对待存储的文件进行哈希操作,得到与所述待存储的文件的内容相应的哈希索引。

3、根据本申请实施例的另一方面,还提供了一种文件查找的方法,包括:接收读取指令;从利用上述文件存储的方法存储的所述待存储的文件中,查找并读取与所述读取指令对应的文件。

4、根据本申请实施例的另一方面,还提供了一种构建索引的装置,包括:函数构建模块,被配置为使用不同的种子值,来构建第一哈希函数和第二哈希函数;确定模块,被配置为基于平方探测方法,利用哈希表的负载密度和所述哈希表的长度,来确定校正因子;索引构建模块,被配置为利用所述校正因子、所述第一哈希函数和所述第二哈希函数,对待存储的文件进行哈希操作,得到与所述待存储的文件的内容相应的哈希索引。

5、根据本申请实施例的另一方面,还提供了一种文件查找的装置,包括:接收模块,被配置为接收读取指令;读取模块,被配置为从利用上述文件存储的方法存储的所述待存储的文件中,查找并读取与所述读取指令对应的文件。

6、本申请实施例,使用不同的种子值,来构建第一哈希函数和第二哈希函数;基于平方探测方法,利用哈希表的负载密度和所述哈希表的长度,来确定校正因子;利用所述校正因子、所述第一哈希函数和所述第二哈希函数,对待存储的文件进行哈希操作,得到与所述待存储的文件的内容相应的哈希索引,从而解决了现有技术中存储文件时所存在的哈希冲突的技术问题。



技术特征:

1.一种构建索引的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,使用不同的种子值,来构建第一哈希函数和第二哈希函数,包括:

3.根据权利要求2所述的方法,其特征在于,基于两个不同的原始哈希函数,分别利用两个所述不同的种子值,来构建所述第一哈希函数和所述第二哈希函数,包括:

4.根据权利要求1所述的方法,其特征在于,利用哈希表的负载密度和所述哈希表的长度,来确定校正因子,包括:

5.根据权利要求4所述的方法,其特征在于,基于所述哈希表的负载密度和所述哈希表的长度的关系,来确定所述校正因子,包括:

6.根据权利要求1所述的方法,其特征在于,利用所述校正因子、所述第一哈希函数和所述第二哈希函数,对待存储的文件进行哈希操作,得到与所述待存储的文件的内容相应的哈希索引,包括:

7.一种文件查找的方法,其特征在于,包括:

8.一种构建索引的装置,其特征在于,包括:

9.一种文件查找的装置,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有程序,其特征在于,在所述程序运行时,使得计算机执行如权利要求1至6中任一项所述的方法。


技术总结
本申请提供了一种构建索引的方法和装置以及文件查找的方法和装置,该构建索引的方法包括:使用不同的种子值,来构建第一哈希函数和第二哈希函数;基于平方探测方法,利用哈希表的负载密度和所述哈希表的长度,来确定校正因子;利用所述校正因子、所述第一哈希函数和所述第二哈希函数,对待存储的文件进行哈希操作,得到与所述待存储的文件的内容相应的哈希索引。本申请解决了现有技术中存储文件时所存在的哈希冲突的技术问题。

技术研发人员:纪智辉,张青辉
受保护的技术使用者:世优(北京)科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1