[发明专利]数据的存取方法和装置有效

专利信息
申请号: 201510766796.6 申请日: 2015-11-11
公开(公告)号: CN105320775B 公开(公告)日: 2019-05-14
发明(设计)人: 徐文平 申请(专利权)人: 中科曙光信息技术无锡有限公司
主分类号: G06F16/22 分类号: G06F16/22
代理公司: 北京新知远方知识产权代理事务所(普通合伙) 11397 代理人: 艾凤英
地址: 214000 江苏省无锡市菱湖*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据 存取 方法 装置
【说明书】:

发明提供了一种数据的存取方法和装置,属于数据库技术领域。所述方法包括:获取数据的存取方式和key;根据key的哈希值在内存的哈希跳表中或磁盘中的哈希索引区中确定数据的存取位置,其中,哈希索引区按变形B+树的方式建立;在数据的存取位置处根据存取方式存取数据。磁盘中的哈希值以变形B+树方式存储,哈希值存储提高了数据查找效率,变形B+树的方式增强了数据存储的扩展性,该种存取方式可以提高磁盘中数据查找效率,基于该种存取方式,本发明存取时,根据哈希值在内存或磁盘中确定数据的存取位置后,可以直接从所述存取位置存取数据,既降低了对内存配置的要求,又避免了现有技术中将数据读回至内存的步骤。

技术领域

本发明涉及数据库技术领域,尤其涉及数据的存取方法和装置。

背景技术

随着大数据时代的到来,数据库性能成为人们关注的重点。在众多因素中,数据库中数据的存取性能是影响数据库性能的重要因素之一,而数据常以key/value(关键字/数据值)的形式存储于数据库中。因此,key/value数据的存取方法成为研究重点。

目前,数据常以哈希方式进行存储,获取到key/value数据后,计算key的哈希值,将哈希值、key、value存储在内存中,当内存中存储的数据数量超过系统内存总量时,将内存中的数据存储到磁盘中保存。但由于磁盘中查找数据时速度较慢,因此基于上述哈希存储方法的key/value数据存取方法为:在系统初始化时,将磁盘中的数据读取到内存中,获取数据的存取方式后,在内存中按照存取方式存取该数据。其中,数据的存取方式包括:读取、写入、修改或删除等。

上述方式数据存取过程在内存中进行,对内存配置要求较高。初始化时需要将磁盘中数据读回内存,读回过程需要消耗大量时间,增加了方法的初始化时间。

发明内容

为解决上述问题,本发明实施例提出了一种数据的存取方法和装置。

一方面,本发明实施例提供了一种数据的存取方法,所述方法包括:

获取数据的存取方式和所述数据的第一关键字key;

计算所述第一key的第一哈希值;

根据所述第一哈希值在内存的哈希跳表中或磁盘中的哈希索引区中确定所述数据的存取位置,所述哈希索引区按变形B+树的方式建立;

在所述数据的存取位置处根据所述存取方式存取所述数据;

其中,所述变形的B+树为每一层级中除最后一个节点外,其他节点都是满阶的B+树。

另一方面,本发明实施例提供了一种数据的存取装置,包括:

第一获取模块,用于获取数据的存取方式和所述数据的第一关键字key;

计算模块,用于计算所述第一获取模块获取到的第一key的第一哈希值;

第一确定模块,用于根据所述计算模块计算出的第一哈希值在内存的哈希跳表中或磁盘中的哈希索引区中确定所述数据的存取位置,所述哈希索引区按变形B+树的方式建立;

存取模块,用于在所述第一确定模块确定的数据的存取位置处根据所述第一获取模块获取到的存取方式存取所述数据;

其中,所述变形的B+树为每一层级中除最后一个节点外,其他节点都是满阶的B+树。

有益效果如下:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科曙光信息技术无锡有限公司,未经中科曙光信息技术无锡有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510766796.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top