[发明专利]一种数据处理方法及装置在审
申请号: | 202211055031.8 | 申请日: | 2022-08-31 |
公开(公告)号: | CN115391349A | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 周玲;曾庆谦 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 丁曼曼 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 | ||
本申请公开了一种数据处理方法,可以应用于金融领域或其它领域。该方法包括:获取第一数据和第一数据对应的第一关键码,确定所述第一关键码对应的第一哈希值。确定所述第一哈希值对应的第一桶bucket以及所述第一bucket中存储的第一地址。基于所述第一地址,确定用于存储所述第一数据的第二地址,具体地,为了在访问第一数据时,减少CPU读取内存的次数,可以从一定范围的地址空间所对应的可用地址中、确定与所述第一地址最接近的第二地址,将所述第二地址写入至所述第一bucket中,并将所述第一数据存储至所述第二地址对应的存储空间。本申请实施例的方案,可以提升数据访问效率。
技术领域
本申请涉及数据处理领域,特别是涉及一种数据处理方法及装置。
背景技术
哈希表,是根据关键码值(key value)而直接进行访问的数据结构。也就是说,哈希表通过把关键码值映射到表中一个位置(节点)来访问记录,以加快查找的速度。例如,对于关键码key1而言,通过哈希计算得到key1’,以key1’为索引查找哈希表,则可以得到存储key1对应的数据的存储地址,相应的,可以通过该存储地址访问key1对应的数据。
对于不同的关键码,其进行哈希计算得到的数值可能是一样的,对于这种情况,则出现了哈希冲突。目前,当出现哈希冲突时,访问数据的效率较低,因此,急需一种方案,能够解决上述问题。
发明内容
为了解决或者至少部分解决上述技术问题,本申请实施例提供了一种数据处理方法及装置。
第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
获取第一数据和第一数据对应的第一关键码;
确定所述第一关键码对应的第一哈希值;
确定所述第一哈希值对应的第一桶bucket以及所述第一bucket中存储的第一地址;
从一定范围的地址空间所对应的可用地址中、确定与所述第一地址最接近的第二地址;
将所述第二地址写入至所述第一bucket中,并将所述第一数据存储至所述第二地址对应的存储空间。
可选的,所述方法还包括:
将所述一定范围的地址空间划分为多个节点,一个节点对应一段用于存储数据的地址子空间;
以所述多个节点的序号为序构建平衡二叉树;
从一定范围的地址空间所对应的可用地址中、确定与所述第一地址最接近的第二地址,包括:
从所述平衡二叉树中的可用节点中、确定与所述第一地址对应的第一节点最接近的第二节点;
根据所述第二节点的序号,确定所述第二地址。
可选的,所述第一地址为所述第一节点的序号,所述根据所述第二节点的序号,确定所述第二地址,包括:
将所述第二节点的序号,确定为所述第二地址。
可选的,所述方法还包括:
将所述第二节点设置为不可用节点。
可选的,所述方法还包括:
获取第二数据和第二数据对应的第二关键码;
确定所述第二关键码对应的第二哈希值;
确定不存在所述第二哈希值对应的bucket;
创建所述第二哈希值对应的第二bucket;
从所述一定范围的地址空间所对应的可用地址中、随机选择第三地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211055031.8/2.html,转载请声明来源钻瓜专利网。