一种数据库操作方法及装置制造方法及图纸

技术编号:12674569 阅读:56 留言:0更新日期:2016-01-07 18:54
一种数据库操作方法及装置,所述数据库为非关系型键值数据库;所述方法包括:计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块。所述方法及装置可以高效利用资源。

【技术实现步骤摘要】

本专利技术涉及数据库领域,尤其涉及一种数据库操作方法及装置
技术介绍
Nosql (not only sql,不仅仅是sql)是一种非关系型数据库,主要是用来解决半结构化数据和非结构化数据的存储问题。对数据库高并发读写的需求,关系型数据库能够应付每秒上万次的读请求,但是不能承受每秒上万次的写请求,或者是读写的混合请求。对海量数据的高效存储和访问的需求,Nosql数据库可以处理海量的数据,能够运行在大量便宜的普通服务器集群之上。对数据库的高可用和高可扩展的需求,关系型的数据库难以横向扩展,Nosql数据库能够通过增加硬件的数据和服务节点的数量来进行性能和负载能力的横向扩展。在web2.0时代,Nosql广品在互联网彳丁业中的重要性随着互联网及其移动互联网的发展而日剧增大,大型互联网应用中,为了应对大规模、高并发访问,大多都引入了 Nosql的产品。但是,现有的对非关系型数据库的操作方法的资源利用效率有待提高。
技术实现思路
本专利技术解决的技术问题是提供一种高资源利用率的数据库操作方法。为解决上述技术问题,本专利技术实施例提供一种数据库操作方法,所述数据库为非关系型键值数据库;所述数据库操作方法包括:计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块。可选的,在所述选取空闲系统块之前还包括:确定所述选定系统块内部的键区空间与值区空间的比值不同于所述理想键值空间比。可选的,当所述选定系统块存储的数据属于某项业务数据表,且该业务数据表尚有待存入其他系统块的数据时,以所述理想键值空间比划分所述其他系统块的键区和值区,将所述待存入其他系统块的数据写入对应的键区和值区。可选的,所述数据库存储于固态硬盘;所述将所述选定系统块存储的键值数据复制到该空闲系统块对应的写操作,和所述将所述待存入其他系统块的数据写入对应的键区和值区对应的写操作,均以如下方式完成:将待写入的数据暂存于内存,当所述暂存于内存的数据大小等于所述固态硬盘闪存块的大小时,将所述暂存于内存的数据一次写入所述固态硬盘的闪存块。可选的,在所述计算选定系统块内部的理想键值空间比之前还包括:以固定的时间间隔计算选择系统款作为所述选定系统块。本专利技术实施例还提供一种数据库操作装置,所述数据库为非关系型键值数据库,所述数据库操作装置包括:理想键值空间比计算单元、键值区域划分单元、键值数据移动单元、标识号更新单元、指针更新单元以及释放单元;其中:所述理想键值空间比计算单元,适于计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;所述键值区域划分单元,适于选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;所述键值数据移动单元适于将所述选定系统块存储的键值数据复制到该空闲系统块;所述标识号更新单元,适于更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;所述指针更新单元,适于将内存中指向所述选定系统块的指针指向所述空闲系统块;所述释放单元,适于释放所述选定系统块。可选的,所述数据库操作装置还包括:业务数据表存储单元,适于在所述选定系统块存储的数据属于某项业务数据表,且该业务数据表尚有待存入其他系统块的数据时,以所述理想键值空间比划分所述其他系统块的键区和值区,将所述待存入其他系统块的数据写入对应的键区和值区。可选的,所述数据库存储于固态硬盘;所述数据库操作装置还包括:单次写入数据量控制单元,适于将待写入的数据暂存于内存,当所述暂存于内存的数据大小等于所述固态硬盘闪存块的大小时,将所述暂存于内存的数据一次写入所述固态硬盘的闪存块。可选的,所述数据库操作装置还包括:定时选取单元,适于以固定的时间间隔计算选择系统块作为所述选定系统块。与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:通过计算选定系统块内部的理想键值空间比,选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块,可以使得系统块中规划的键值空间比与实际键值空间比一致。因为若系统块内部划分的键区和值区的比例不当,也就是划分的键值空间比与实际存储的数据的键值空间比不一致,会出现规划的键区和值区中其中一个区已存储满,但另一个区还有空余的情况,会造成存储空间的浪费。故使得系统块中规划的键值空间比与实际键值空间比一致,可以节省数据库的资源,提高资源利用率。进一步,在所述将所述选定系统块存储的键值数据复制到该空闲系统块时,对所述选定系统块读锁定,其他线程可以在复制过程中正常对所述选定系统块进行读操作,而不必等待复制过程的结束,从而可以减少等待时间,进而可以提升数据库整体的操作效率。【附图说明】图1是本专利技术实施例中一种数据库操作方法的流程图;图2是本专利技术实施例中一种数据库操作装置的结构示意图;图3是本专利技术实施例中另一种数据库操作装置的结构示意图。【具体实施方式】如前所述,在web2.0时代,Nosql产品在互联网行业中的重要性随着互联网及其移动互联网的发展而日剧增大,大型互联网应用中,为了应对大规模、高并发访问,大多都引入了 Nosql的产品。但是,现有的对非关系型数据库的操作方法的资源利用效率有待提尚O经专利技术人研究发现,非关系型键值数据库的存储过程中,若系统块内部划分的键区和值区的比例不当,也就是划分的键值空间比与实际存储的数据的键值空间比不一致,会出现规划的键区和值区中其中一个区已存储满,但另一个区还有空余的情况,会造成存储空间的浪费。本专利技术实施例通过计算选定系统块内部的理想键值空间比,选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块,可以使得系统块中规划的键值空间比与实际键值空间比一致,从而节省数据库的资源,提高资源利用率。为使本专利技术的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。图1是本专利技术实施例中一种数据库操作方法的流程图。S11,计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值。数据库(DB)在物理空间上是由N个块(bucket)组成,S卩在系统初始化的时候会对整块disk做分割。系统块(HC bucket)既是逻辑也是物理方面的概念。在物理上它有自己的存储空间,更像一个块,比如32M或者64M的大小。每个当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种数据库操作方法,其特征在于,所述数据库为非关系型键值数据库;所述数据库操作方法包括:计算选定系统块内部的理想键值空间比,所述理想键值空间比为键区与值区实际存储数据占用空间的比值;选取空闲系统块,对该空闲系统块按照理想键值空间比划分键区和值区;将所述选定系统块存储的键值数据复制到该空闲系统块;更新元信息中所述空闲系统块的标识号为所述选定系统块的标识号;将内存中指向所述选定系统块的指针指向所述空闲系统块;释放所述选定系统块。

【技术特征摘要】

【专利技术属性】
技术研发人员:汤奇峰粟超李飞
申请(专利权)人:上海晶赞科技发展有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1