[发明专利]渐进式重哈希方法、装置、计算机设备及存储介质在审
申请号: | 201910042787.0 | 申请日: | 2019-01-17 |
公开(公告)号: | CN109828966A | 公开(公告)日: | 2019-05-31 |
发明(设计)人: | 高恩波 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 黄章辉 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 哈希表 哈希 数据操作请求 计算机设备 存储介质 哈希冲突 数据记录 预设 删除 应用程序编程接口 迁移 方案解决 瞬时压力 稳定运行 客户端 发送 | ||
本发明公开了一种渐进式重哈希方法、装置、计算机设备及存储介质,所述方法包括:定期从预设应用程序编程接口中获取哈希冲突数量;若所述哈希冲突数量超过第一预设阈值,则建立目标哈希表;若接收到客户端发送的数据操作请求,则将所述数据操作请求对应的数据记录从原哈希表迁移到所述目标哈希表中,并将所述数据记录从原哈希表中删除;若所述原哈希表中的数据全部迁移到所述目标哈希表中,则删除所述原哈希表。本发明的技术方案解决重哈希过程中,因瞬时压力大,系统不能稳定运行的问题。
技术领域
本发明涉及信息处理领域,尤其涉及渐进式重哈希方法、装置、计算机设备及存储介质。
背景技术
哈希(hash)运算,又称为散列运算,是一种压缩映射的数学方法,即通过哈希算法或哈希函数,将任意长度的输入数据映射成固定长度的输出数据,并且使得输出数据的数据空间远小于输入数据的数据空间。其中,哈希函数是能实现哈希运算的数学函数;哈希算法是结合哈希函数而形成的能实现哈希运算的算法,例如,常见的哈希算法有MD5、SHA-1等;用以表示输入数据与输出数据之间的映射关系的表称为哈希表(hash table)。哈希运算被广泛应用在诸如数据存储、数据加密、数据校验等计算机技术领域。
Rehash,中文译为重哈希或重散列,是指因哈希表的大小不能满足需求、造成过多哈希冲突(Hash Collisions)时,对输入数据与输出数据进行重新映射的操作。例如,在数据存储过程中采用了哈希运算,当随着存储数据的增多,哈希冲突也越来越多,此时,数据存储失败的情况也将逐渐增多。为此,需要进行rehash操作,使得减少哈希冲突,保证数据的顺利存储。
其中,若需要重新映射的输入数据和输出数据的数据量庞大,且系统需要同时处理其他任务,则系统在rehash时,可能导致服务器在一段时间内停止服务,这对系统的稳定运行有重大影响。
发明内容
本发明实施例提供一种渐进式重哈希方法、装置、计算机设备及存储介质,以解决重哈希过程中,因瞬时压力大导致系统不能稳定运行的问题。
一种渐进式重哈希方法,包括:
定期从预设应用程序编程接口中获取哈希冲突数量;
若所述哈希冲突数量超过第一预设阈值,则建立目标哈希表;
若接收到客户端发送的数据操作请求,则将所述数据操作请求对应的数据记录从原哈希表迁移到所述目标哈希表中,并将所述数据记录从原哈希表中删除;
若所述原哈希表中的数据全部迁移到所述目标哈希表中,则删除所述原哈希表。
一种渐进式重哈希装置,包括:
冲突统计模块,用于定期从预设应用程序编程接口中获取哈希冲突数量;
哈希表建立模块,用于若所述哈希冲突数量超过第一预设阈值,则建立目标哈希表;
数据迁移模块,用于若接收到客户端发送的数据操作请求,则将所述数据操作请求对应的数据记录从原哈希表迁移到所述目标哈希表中,并将所述数据记录从原哈希表中删除;
空间释放模块,用于若所述原哈希表中的数据全部迁移到所述目标哈希表中,则删除所述原哈希表。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述渐进式重哈希方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述渐进式重哈希方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910042787.0/2.html,转载请声明来源钻瓜专利网。