[发明专利]一种基于HASH的数据存储方法、装置及存储介质在审
申请号: | 202211387895.X | 申请日: | 2022-11-08 |
公开(公告)号: | CN115905221A | 公开(公告)日: | 2023-04-04 |
发明(设计)人: | 吕伟;孙峰;彭青松;刘启春 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/245;G06F3/06 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hash 数据 存储 方法 装置 介质 | ||
1.一种基于HASH的数据存储方法,其特征在于,包括:
在分配的第一PAGE页内创建第一级HASH表,根据第一级HASH表桶的个数确定每个桶所能容纳的索引记录条数;
将数据插入当前HASH表对应的HEAP空间的末尾,获取数据由HEAP空间内的地址页号和页内偏移组成的索引记录;
基于数据的Key值,利用HASH函数计算出数据的索引记录对应的第一预存储HASH表桶;
根据第一预存储HASH表桶内索引记录的类型、第一预存储HASH表桶的空闲空间大小,确定目标存储HASH表桶,并执行存储数据的索引记录操作。
2.根据权利要求1所述的基于HASH的数据存储方法,其特征在于,所述根据第一预存储HASH表桶内索引记录的类型、第一预存储HASH表桶的空闲空间大小,确定目标存储HASH表桶,具体包括:
若所述第一预存储HASH表桶内索引记录的类型为数据记录地址,且预存储HASH桶的空闲空间足以保存数据对应的索引记录,则将第一预存储HASH表桶作为目标存储HASH表桶,并当前待插入的索引记录存入所述预存储HASH桶内。
3.根据权利要求2所述的基于HASH的数据存储方法,其特征在于,所述根据第一预存储HASH表桶内索引记录的类型、第一预存储HASH表桶的空闲空间大小,确定目标存储HASH表桶还包括:
若所述第一预存储HASH表桶内索引记录的类型为数据记录地址,且第一预存储HASH表桶内不足以保存数据对应的索引记录,则创建第二级HASH表,并根据第二级HASH表桶的个数确定每个桶所能容纳的索引记录条数;
遍历所述第一级HASH表桶内的索引记录,从HEAP空间中取出数据对应记录的Key值;
将第一级HASH表桶内的索引记录取出,利用HASH函数重新计算索引记录对应的第二级HASH表桶,将索引记录插入对应的第二级HASH表桶内,并在第一级HASH表桶中记录第二级HASH表的HASH表地址。
4.根据权利要求3所述的基于HASH的数据存储方法,其特征在于,还包括设定第一级HASH表桶个数与第二级HASH表桶个数之间的规则,具体包括:
选定第一素数作为第一级HASH表桶个数,选定第二素数作为第二级HASH表桶个数;其中,所述第二素数是比第一素数小的素数。
5.根据权利要求1所述的基于HASH的数据存储方法,其特征在于,所述根据第一级HASH表桶的个数确定每个桶所能容纳的索引记录条数,具体包括:
根据数据库的属性,获取PAGE页存储空间和地址指针的大小,并在所述PAGE页内设定预设大小的预留空间;
设置第一级HASH表桶的个数,获取PAGE页存储空间与预留空间的差值,以及第一级HASH表桶的个数与地址指针大小的乘积,利用所述差值与所述乘积的比值,确定第一级HASH表桶每个桶所能容纳的索引记录条数。
6.根据权利要求5所述的基于HASH的数据存储方法,其特征在于,所述基于数据的Key值,利用HASH函数计算出数据的索引记录对应的第一预存储HASH表桶,具体包括:
获取数据的Key值,以及第一级HASH表桶的个数;
获取所述数据的Key值与所述第一级HASH表桶的个数的比值,将所述比值对所述第一级HASH表桶的个数取余,得出HASH函数结果,并对所述HASH函数结果取整,计算出数据的索引记录对应的第一预存储HASH表桶。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211387895.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种裂纹打开方法
- 下一篇:一种适用于超大功率的装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置