[发明专利]一种数据库操作方法及装置有效
申请号: | 201510673209.9 | 申请日: | 2015-10-16 |
公开(公告)号: | CN105224677B | 公开(公告)日: | 2018-10-30 |
发明(设计)人: | 汤奇峰;粟超;李飞 | 申请(专利权)人: | 上海晶赞科技发展有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 吴敏 |
地址: | 200072 上海市闸北区灵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 操作方法 装置 | ||
一种数据库操作方法及装置,所述数据库为非关系型键值数据库;所述方法包括:计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块。所述方法及装置可以高效利用资源。
技术领域
本发明涉及数据库领域,尤其涉及一种数据库操作方法及装置。
背景技术
Nosql(not only sql,不仅仅是sql)是一种非关系型数据库,主要是用来解决半结构化数据和非结构化数据的存储问题。对数据库高并发读写的需求,关系型数据库能够应付每秒上万次的读请求,但是不能承受每秒上万次的写请求,或者是读写的混合请求。
对海量数据的高效存储和访问的需求,Nosql数据库可以处理海量的数据,能够运行在大量便宜的普通服务器集群之上。对数据库的高可用和高可扩展的需求,关系型的数据库难以横向扩展,Nosql数据库能够通过增加硬件的数据和服务节点的数量来进行性能和负载能力的横向扩展。
在web2.0时代,Nosql产品在互联网行业中的重要性随着互联网及其移动互联网的发展而日剧增大,大型互联网应用中,为了应对大规模、高并发访问,大多都引入了Nosql的产品。
但是,现有的对非关系型数据库的操作方法的资源利用效率有待提高。
发明内容
本发明解决的技术问题是提供一种高资源利用率的数据库操作方法。
为解决上述技术问题,本发明实施例提供一种数据库操作方法,所述数据库为非关系型键值数据库;所述数据库操作方法包括:
计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;
选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;
将所述选定系统块存储的键值数据复制到该空闲系统块;
更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;
将内存中指向所述选定系统块的指针指向所述空闲系统块;
释放所述选定系统块。
可选的,在所述选取空闲系统块之前还包括:确定所述选定系统块内部的键区空间与值区空间的比值不同于所述理想键值空间比。
可选的,当所述选定系统块存储的数据属于某项业务数据表,且该业务数据表尚有待存入其他系统块的数据时,以所述理想键值空间比划分所述其他系统块的键区和值区,将所述待存入其他系统块的数据写入对应的键区和值区。
可选的,所述数据库存储于固态硬盘;所述将所述选定系统块存储的键值数据复制到该空闲系统块对应的写操作,和所述将所述待存入其他系统块的数据写入对应的键区和值区对应的写操作,均以如下方式完成:将待写入的数据暂存于内存,当所述暂存于内存的数据大小等于所述固态硬盘闪存块的大小时,将所述暂存于内存的数据一次写入所述固态硬盘的闪存块。
可选的,在所述计算选定系统块内部的理想键值空间比之前还包括:以固定的时间间隔计算选择系统块作为所述选定系统块。
本发明实施例还提供一种数据库操作装置,所述数据库为非关系型键值数据库,所述数据库操作装置包括:理想键值空间比计算单元、键值区域划分单元、键值数据移动单元、标识号更新单元、指针更新单元以及释放单元;其中:
所述理想键值空间比计算单元,适于计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海晶赞科技发展有限公司,未经上海晶赞科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510673209.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新闻推荐方法及装置
- 下一篇:一种错题管理方法及系统