数据库容量计算方法和装置制造方法及图纸

技术编号:14593585 阅读:236 留言:0更新日期:2017-02-08 22:48
本发明专利技术涉及一种数据库容量计算方法和装置。上述方法包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。上述数据库容量计算方法和装置,能够准确计算得到每个归档表的实际容量大小,从而准确得到数据库进行归档后的实际容量。

Database capacity calculation method and device

The invention relates to a method and a device for calculating the capacity of a database. The method includes: acquiring data archive configuration object library; according to the archive configuration data obtaining the target database, and the archive configuration data file, and generate the configuration information table; the capacity is determined according to the original file table the configuration information table; analysis of the archive table, and get the free degree of each data block file table; according to the respective data blocks the free degree and the form of the original archive capacity calculation the actual capacity of the archive table. The method and the device for calculating the capacity of the database can accurately calculate the actual capacity of each archive table, so as to accurately obtain the actual capacity after the database is archived.

【技术实现步骤摘要】

本专利技术涉及数据库
,特别是涉及一种数据库容量计算方法和装置
技术介绍
数据库归档,指的是将数据库中某些比较不常用的数据放置到诸如磁带等大容量而不便于访问的设备。数据库的表中的数据被归档后,被归档的数据原来占用的容量即可重新被使用,因此,往往需要重新计算数据库归档后的容量方便进行数据存储。而在传统方式中,进行数据库归档工作后,计算数据库归档后的容量仅从存储、表空间、表大小等维度进行量化。然而,这三个层面均忽视了表被归档后,数据删除而尚未被回收的空间,因此无法准确地计算出数据库归档后的实际容量,计算粒度过粗,导致统计得到的数据与实际情况出入较大。
技术实现思路
基于此,有必要提供一种数据库容量计算方法,能准确计算数据库进行归档后各个归档表的实际容量。此外,还有必要提供一种数据库容量计算装置,能准确计算数据库归档后各个归档表的实际容量。一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。在其中一个实施例中,所述获取目标库的归档配置数据,还包括:获取待计算的目标库及目标库信息;根据所述目标库信息从配置库中提取匹配的归档配置数据,并根据所述归档配置数据生成SQL脚本;根据所述SQL脚本将所述归档配置数据导入所述目标库中。在其中一个实施例中,所述分析所述归档表,并获取所述归档表中各个数据块的空闲度,包括:分析所述归档表,得到所述归档表的高水位线;根据所述高水位线获取所述归档表中已被使用的数据块;逐一扫描所述已被使用的数据块,并获取各个已被使用的数据块的空闲度。在其中一个实施例中,所述根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量,包括:根据预设的各个空闲度阶段对应的空闲度阶段值及所述各个已被使用的数据块的空闲度,将所述各个已被使用的数据块分配到对应的空闲度阶段;获取被分配到所述各个空闲度阶段的数据块数量;通过加权算法对所述各个空闲度阶段对应的空闲度阶段值及数据块数量进行计算,得到所述各个空闲度阶段的加权空闲数据块数量;获取所述归档表的数据块容量,根据所述数据块容量及所述各个空闲度阶段的加权空闲数据块数量计算归档容量;根据所述原容量及所述归档容量计算所述归档表的实际容量。在其中一个实施例中,所述方法还包括:获取所述目标库的原全库容量;统计所述目标库中各个归档表的归档容量,得到所述目标库的总归档容量;根据所述总归档容量及所述原全库容量计算实际归档率。一种数据库容量计算装置,包括:数据获取模块,用于获取目标库的归档配置数据;生成模块,用于根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;确定模块,用于根据所述配置信息表确定所述归档表的原容量;分析模块,用于分析所述归档表,并获取所述归档表中各个数据块的空闲度;计算模块,用于根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。在其中一个实施例中,所述数据获取模块,包括:信息获取单元,用于获取待计算的目标库及目标库信息;脚本生成单元,用于根据所述目标库信息从配置库中提取匹配的归档配置数据,并根据所述归档配置数据生成SQL脚本;导入单元,用于根据所述SQL脚本将所述归档配置数据导入所述目标库中。在其中一个实施例中,所述分析模块,包括:分析单元,用于分析所述归档表,得到所述归档表的高水位线;数据块获取单元,用于根据所述高水位线获取所述归档表中已被使用的数据块;空闲度获取单元,用于逐一扫描所述已被使用的数据块,并获取各个已被使用的数据块的空闲度。在其中一个实施例中,所述计算模块,包括:分配单元,用于根据预设的各个空闲度阶段对应的空闲度阶段值及所述各个已被使用的数据块的空闲度,将所述各个已被使用的数据块分配到对应的空闲度阶段;数量获取单元,用于获取被分配到所述各个空闲度阶段的数据块数量;计算单元,用于通过加权算法对所述各个空闲度阶段对应的空闲度阶段值及数据块数量进行计算,得到所述各个空闲度阶段的加权空闲数据块数量;所述计算单元,还用于获取所述归档表的数据块容量,根据所述数据块容量及所述各个空闲度阶段的加权空闲数据块数量计算归档容量;所述计算单元,还用于根据所述原容量及所述归档容量计算所述归档表的实际容量。在其中一个实施例中,所述装置还包括:容量获取模块,用于获取所述目标库的原全库容量;统计模块,用于统计所述目标库中各个归档表的归档容量,得到所述目标库的总归档容量;所述计算模块,还用于根据所述总归档容量及所述原全库容量计算实际归档率。上述数据库容量计算方法和装置,通过获取目标库的归档配置数据,根据归档配置数据生成配置信息表,根据配置信息表确定目标库中的归档表的原容量,分析归档表,并获取归档表中各个数据块的空闲度,再根据各个数据块的空闲及归档表的原容量计算归档表的实际容量,使得数据库的真实容量计算能细粒度到数据块层面,根据各个数据块的空闲度能够准确计算得到每个归档表的实际容量大小,从而准确得到数据库进行归档后的实际容量。附图说明图1为一个实施例中服务器的内部结构示意图;图2为一个实施例中数据库容量计算方法的流程示意图;图3为一个实施例中获取目标库的归档配置数据的流程示意图;图4为一个实施例中分析归档表,并获取归档表中各个数据块的空闲度的流程示意图;图5为一个实施例中计算归档表的实际容量的流程示意图;图6为一个实施例中计算目标库的实际归档率的流程示意图;图7为一个实施例中数据库容量计算装置的结构示意图;图8为一个实施例中数据获取模块的内部结构示意图;图9为一个实施例中分析模块的内部结构示意图;图10为一个实施例中计算模块的内部结构示意图;图11为另一个实施例中数据库容量计算装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中服务器的内部结构示意图。如图1所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和数据库容量计算装置,数据库中存储有归档表,该数据库容量计算装置用于实现适用于服务器的一种数据库容量计算方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的数据库容量计算装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行数据库容量计算方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的数据归档请求等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些本文档来自技高网...
数据库容量计算方法和装置

【技术保护点】
一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。

【技术特征摘要】
1.一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。2.根据权利要求1所述的数据库容量计算方法,其特征在于,所述获取目标库的归档配置数据,还包括:获取待计算的目标库及目标库信息;根据所述目标库信息从配置库中提取匹配的归档配置数据,并根据所述归档配置数据生成SQL脚本;根据所述SQL脚本将所述归档配置数据导入所述目标库中。3.根据权利要求1或2所述的数据库容量计算方法,其特征在于,所述分析所述归档表,并获取所述归档表中各个数据块的空闲度,包括:分析所述归档表,得到所述归档表的高水位线;根据所述高水位线获取所述归档表中已被使用的数据块;逐一扫描所述已被使用的数据块,并获取各个已被使用的数据块的空闲度。4.根据权利要求3所述的数据库容量计算方法,其特征在于,所述根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量,包括:根据预设的各个空闲度阶段对应的空闲度阶段值及所述各个已被使用的数据块的空闲度,将所述各个已被使用的数据块分配到对应的空闲度阶段;获取被分配到所述各个空闲度阶段的数据块数量;通过加权算法对所述各个空闲度阶段对应的空闲度阶段值及数据块数量进行计算,得到所述各个空闲度阶段的加权空闲数据块数量;获取所述归档表的数据块容量,根据所述数据块容量及所述各个空闲度阶段的加权空闲数据块数量计算归档容量;根据所述原容量及所述归档容量计算所述归档表的实际容量。5.根据权利要求4所述的数据库容量计算方法,其特征在于,所述方法还包括:获取所述目标库的原全库容量;统计所述目标库中各个归档表的归档容量,得到所述目标库的总归档容量;根据所述总归档容量及所述原全库容量计算实际归档率。6.一种数据库容量计算装置,其特征在于,包括:数据获取模块,用于获取目标库的归档配置数据;生成模块,用于...

【专利技术属性】
技术研发人员:侯松
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1