一种基于磁盘存储的查询方法及装置制造方法及图纸

技术编号:39326121 阅读:8 留言:0更新日期:2023-11-12 16:04
一种基于磁盘存储的查询方法及装置,涉及数据处理技术领域。在该方法中,接收用户设备发送的查询请求,对查询请求进行处理,得到第一关键字;对第一关键字进行计算,得到第一哈希值;从预先存储的预设数据库中获取第一索引数据,在第一索引数据中查找第二哈希值;判断第一哈希值与第二哈希值是否一致,第一索引数据包括第二哈希值;若第一哈希值与第二哈希值一致,从第一索引数据中获取第二哈希值对应的第一数据,将第一数据发送给用户设备,第一数据为第一关键字对应的数据。实施本申请提供的技术方案,通过将存储在内存的数据替换到磁盘中进行存储,减少搜索系统在服务器的内存占用,解决搜索系统中使用HashMap占有内存较大的问题。的问题。的问题。

【技术实现步骤摘要】
一种基于磁盘存储的查询方法及装置


[0001]本申请涉及数据处理
,具体涉及一种基于磁盘存储的查询方法及装置。

技术介绍

[0002]随着互联网的快速发展,用户在使用电子设备查找文档时,用户会在搜索框中输入关键字,检索系统会根据用户输入的关键字从海量的文档中筛选出最相关的文档并返回给用户。搜索系统是一种用于帮助用户查找信息的计算机程序,搜索系统可应用于多种场景,如搜索引擎、法律服务以及企业内部知识库等。
[0003]在搜索系统中大量使用超大的哈希映射(HashMap),HashMap是Java中的一种数据结构,它实现了Map接口,提供了key

value键值对的存储和查询功能。HashMap通过哈希表实现,将键值对存储在数组中,通过键的哈希值进行快速定位,从而实现快速的插入、删除和查找操作。但随着企业、专利等数据量的不断增加,搜索系统使用HashMap存储数据会占用较多内存空间,导致当前服务器的内存不足。当服务器内存不足时,通常是更换内存更大的服务器,进而才能满足当前需求,但更换内存较大的服务器会增加搜索系统的服务成本。
[0004]因此,亟需解决搜索系统中使用HashMap占有内存较大的问题。

技术实现思路

[0005]本申请提供了一种基于磁盘存储的查询方法及装置,该方法通过将存储在内存的数据替换到磁盘中进行存储,减少搜索系统在服务器的内存占用,解决搜索系统中使用HashMap占有内存较大的问题。
[0006]第一方面,本申请提供了一种基于磁盘存储的查询方法,应用于服务器中,方法包括:接收用户设备发送的查询请求,对查询请求进行处理,得到第一关键字;对第一关键字进行计算,得到第一哈希值;从预先存储的预设数据库中获取第一索引数据,在第一索引数据中查找第二哈希值;判断第一哈希值与第二哈希值是否一致,第一索引数据包括第二哈希值;第一索引数据为预设数据库中任意一个索引数据,第二哈希值为第一索引数据中任意一个哈希值;若第一哈希值与第二哈希值一致,从第一索引数据中获取第二哈希值对应的第一数据,将第一数据发送给用户设备,第一数据为第一关键字对应的数据。
[0007]通过采用上述技术方案,通过哈希算法将第一关键字转换为第一哈希值,在第一索引数据中查找对应的第二哈希值,当第一哈希值与第二哈希值相同时,得到第一数据,将第一数据发送给用户设备,从而达到根据查询请求快速查找数据的目的。内存中存储了哈希值和哈希值对应数据的索引,减少搜索系统的在服务器的内存占用,提高搜索系统的查询效率。
[0008]可选的,接收用户设备发送的存储请求,存储请求包括第二数据;对第二数据进行计算,得到第三哈希值;对第三哈希值进行计算,得到第一槽位值;根据第一槽位值确定索引值,获取索引值对应的索引地址;在索引地址中填入索引信息,得到第二索引数据,建立索引地址与第二数据的对应关系,并将对应关系存储至预设数据库中。
[0009]通过采用上述技术方案,通过使用哈希算法将第二数据转换为哈希值,将哈希值映射到对应的哈希槽位上,获取索引地址并在地址中填入索引信息与第二数据的对应关系,从而实现快速存储数据的目的,提高搜索系统的存储效率。
[0010]可选的,当第一哈希值与第二哈希值一致时,获取第二关键字;判断第一关键字与第二关键字是否相同;若第一关键字与第二关键字相同,确认获取第二关键字对应的数据,第一数据为第二关键字对应的数据。
[0011]通过采用上述技术方案,通过使用哈希算法将第一关键字和第二个关键字转换成哈希值,并在索引数据中查找对应的哈希值,在获取数据之前,通过比较第一关键字和第二关键字的值来判断获取的数据是否正确,避免获取的数据与关键字不符合,提高了查询准确性。
[0012]可选的,获取第一哈希值;对第一哈希值进行计算,得到槽位坐标;对槽位坐标进行计算,得到第二槽位值;根据第二槽位值获取索引地址,获取索引地址对应的索引数据,索引数据包括第一索引数据。
[0013]通过采用上述技术方案,通过使用哈希算法将第一关键字转换为哈希值,在根据哈希值计算出对应的槽位坐标和第二槽位值,从而快速定位到索引数据的位置,避免产生哈希冲突。
[0014]可选的,对第二数据进行转换,得到字节数组;将字节数组写入预设文件,得到数据地址,数据地址为字节数组在预设文件的位置;对第二数据进行计算,得到第三哈希值。
[0015]通过采用上述技术方案,通过将第二数据转换成字节数组,并将字节数组写入预设文件中,得到数据地址。将第二数据存储在磁盘中,降低了内存的使用,提高了系统的稳定性。
[0016]可选的,获取索引地址;依次将索引信息填入索引地址中,得到第二索引数据,索引信息包括第三哈希值、数据地址、数据长度以及槽位值,数据长度为第二数据对应的长度。
[0017]通过采用上述技术方案,通过将索引信息填入索引地址中,得到第二索引数据,可方便地定位到目标数据所在的位置,便于后续的查询,提高了查询效率。
[0018]可选的,判断第一数量是否大于或等于第二数量,第一数量为字节数组对应的长度数量,第二数量为第一预设文件对应的长度存储数量;第一预设文件为预设文件中任意一个文件;当第一数量大于或等于第二数量时,确认第一预设文件已满,创建第二预设文件,并将字节数组写入第二预设文件,获取数据地址,数据地址为字节数组写入第二预设文件的位置。
[0019]通过采用上述技术方案,判断第一数量是否大于或等于第二数量,来确定第一预设文件是否已满。当第一预设文件已满时,创建第二预设文件,并将数据写入第二预设文件中,获取数据地址;有效避免数据的丢失,提高了数据的可靠性和安全性。
[0020]可选的,当第一关键字和第二关键字不相同时,确认不存在第一关键字对应的数据,向用户设备发送第三数据,第三数据为空值。
[0021]通过采用上述技术方案,当第一关键字和第二关键字不相同时,确认用户输入的查询请求未存在对应的数据,向用户发送空值,以提示用户对查询请求对应的第一关键字进行修改。
[0022]在本申请的第二方面提供了一种基于磁盘存储的查询装置,装置为服务器,服务器包括接收单元、处理单元以及展示单元;接收单元,接收用户设备发送的查询请求,对查询请求进行处理,得到第一关键字;处理单元,对第一关键字进行计算,得到第一哈希值;从预先存储的预设数据库中获取第一索引数据,在第一索引数据中查找第二哈希值;判断第一哈希值与第二哈希值是否一致,第一索引数据包括第二哈希值;第一索引数据为预设数据库中任意一个索引数据,第二哈希值为第一索引数据中任意一个哈希值;展示单元,若第一哈希值与第二哈希值一致,从第一索引数据中获取第二哈希值对应的第一数据,将第一数据发送给用户设备,第一数据为第一关键字对应的数据。
[0023]可选的,接收单元用于接收用户设备发送的存储请求,存储请求包括第二数据;处理单元用于对第二数据进行计算,得到第三哈希值;对第三哈希值进行计算,得到第一槽位值;根据第一槽位值确定索引值,获取索本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于磁盘存储的查询方法,其特征在于,应用于服务器中,所述方法包括:接收用户设备发送的查询请求,对所述查询请求进行处理,得到第一关键字;对所述第一关键字进行计算,得到第一哈希值;从预先存储的预设数据库中获取第一索引数据,在所述第一索引数据中查找第二哈希值;判断所述第一哈希值与所述第二哈希值是否一致,所述第一索引数据包括所述第二哈希值;所述第一索引数据为所述预设数据库中任意一个索引数据,所述第二哈希值为所述第一索引数据中任意一个哈希值;若所述第一哈希值与所述第二哈希值一致,从所述第一索引数据中获取所述第二哈希值对应的第一数据,将所述第一数据发送给所述用户设备,所述第一数据为所述第一关键字对应的数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述用户设备发送的存储请求,所述存储请求包括第二数据;对所述第二数据进行计算,得到第三哈希值;对所述第三哈希值进行计算,得到第一槽位值;根据所述第一槽位值确定索引值,获取所述索引值对应的索引地址;在所述索引地址中填入索引信息,得到第二索引数据,建立所述索引地址与所述第二数据的对应关系,并将所述对应关系存储至所述预设数据库中。3.根据权利要求1所述的方法,其特征在于,所述若所述第一哈希值与所述第二哈希值一致,确认获取第一数据,具体包括:当所述第一哈希值与所述第二哈希值一致时,获取第二关键字;判断所述第一关键字与所述第二关键字是否相同;若所述第一关键字与所述第二关键字相同,确认获取所述第二关键字对应的数据,所述第一数据为所述第二关键字对应的数据。4.根据权利要求1所述的方法,其特征在于,在对所述第一关键字进行计算,得到第一哈希值之后,所述方法还包括:获取所述第一哈希值;对所述第一哈希值进行计算,得到槽位坐标;对所述槽位坐标进行计算,得到第二槽位值;根据所述第二槽位值获取索引地址,获取所述索引地址对应的索引数据,所述索引数据包括所述第一索引数据。5.根据权利要求2所述的方法,其特征在于,所述对所述第二数据进行计算,得到第三哈希值,具体还包括:对所述第二数据进行转换,得到字节数组;将所述字节数组写入预设文件,得到数据地址,所述数据地址为所述字节数组在所述预设文件的位置;对所述第二数据进行计算,得到所述第三哈希值。6.根据权利要求5所述的方法,其特征在于,所述在所述索引地址中填入索引信息,得到第二索引数据,具体包括:获取...

【专利技术属性】
技术研发人员:严国庆
申请(专利权)人:企知道科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1