多维度自动触发扩展数据库的方法转让专利

申请号 : CN200810067533.6

文献号 : CN101593178B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曹苏

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种多维度自动触发扩展数据库的方法,该方法包括如下步骤:步骤S100:启动多维度数据库容量检测机制;步骤S101:判断数据库容量,如果需要扩展数据库容量,则执行步骤S102,否则退出;步骤S102:自动扩展数据库容量。本发明解决了现有技术中数据库容量不足时需要手工干预扩展数据库容量的技术问题,使得本发明在扩展数据库容量上更智能,可以根据数据库的使用情况对数据库容量自动进行扩展。

权利要求 :

1.一种多维度自动触发扩展数据库的方法,其特征在于,该方法包括如下步骤:步骤S100:启动多维度数据库容量检测机制,所述多维度数据库容量检测机制是指定时检测机制与事件触发检测机制相结合并行对数据库容量空间监控,所述定时检测机制是指在一定的时间周期内,检测数据库容量空间,所述事件触发检测机制是指当有写入数据库操作时检查数据库容量空间;

步骤S101:判断数据库容量,若执行的是定时检测机制,则检测数据库剩余容量是否超过预先设定的阈值,若超过该阈值则执行步骤S102,若所述数据库剩余容量没有达到所述阈值,则将该数据库剩余容量与数据库历史数据增量进行比较来判断所述阈值的合理性,若所述阈值不合理,则提醒用户修改阈值,否则退出;若执行的是事件触发检测机制,则当有写入数据库操作时自动触发检测数据库剩余容量,将该数据库剩余容量与写入数据库的历史数据容量作比较,若所述写入数据库的历史数据容量大于所述数据库剩余容量,则执行步骤S102,否则退出;

步骤S102:自动扩展数据库容量。

2.如权利要求1所述的多维度自动触发扩展数据库的方法,其特征在于,当定时检测机制与事件触发检测机制同时发生,将事件触发检测机制作为高优先级的检测机制。

3.如权利要求1所述的多维度自动触发扩展数据库的方法,其特征在于,步骤S102中自动扩展数据库容量包括根据默认值扩展数据库或根据数据库历史数据容量动态扩展数据库。

4.如权利要求3所述的多维度自动触发扩展数据库的方法,其特征在于,步骤S102中自动扩展数据库容量还包括自动删除历史数据扩展数据库。

5.如权利要求1所述的多维度自动触发扩展数据库的方法,其特征在于,所述定时检测机制包括如下步骤:步骤S100:启动多维度数据库容量检测机制;

步骤S210:判断是否到定时检测时间,如果到定时检测时间则执行步骤S220,否则退出;

步骤S220:检测数据库剩余容量是否达到设定的阈值,如果是,则执行步骤S230;否则执行步骤S231;

步骤S230:检测磁盘剩余容量是否充足,如果充足,则执行步骤S240;否则执行步骤S252;

步骤S240:按照默认的扩充值扩展数据库,退出;

步骤S252:删除较早的历史数据,退出;

步骤S231:将数据库剩余容量与数据库的历史数据增量进行比较,如果历史数据增量大于数据库剩余容量,则执行步骤S241,否则退出;

步骤S241:将磁盘剩余容量与上述历史数据增量进行比较,如果磁盘剩余容量大于历史数据增量,则执行步骤S251;否则执行步骤S252;

步骤S251:将数据库历史数据增量作为本次扩展数据库的容量进行扩展数据库,退出。

6.如权利要求5所述的多维度自动触发扩展数据库的方法,其特征在于,在步骤S251中增加如下步骤:步骤S261:判断预设的时间段内执行按数据库历史数据增量扩展数据库的次数是否超过预设值,如果是,则执行步骤S271,否则退出;

步骤S271:提示用户修改预先设定的阈值,到下一个时间段内,将按照历史数据增量扩展数据库的次数记为0,退出。

7.如权利要求1所述的多维度自动触发扩展数据库的方法,其特征在于,所述事件触发检测机制包括如下步骤:步骤S100:启动多维度数据库容量检测机制;

步骤S310:判断是否有对数据库执行写操作事件,如果有则执行步骤S320,否则退出;

步骤S320:将此前最近一次写入数据库操作中写入到数据库中的容量与当前数据库剩余容量进行比较,如果写入数据库容量大于当前数据库剩余容量,则执行步骤S330,否则退出;

步骤S330:检查当前磁盘剩余容量是否充足,如果是,则执行步骤S341,否则进入步骤S340;

步骤S341:以最近一次写入数据库中的容量作为依据自动扩展数据库,退出;

步骤S340:删除较早的历史数据,退出。

说明书 :

多维度自动触发扩展数据库的方法

技术领域

[0001] 本发明涉及数据库技术,特别是涉及一种自动扩充数据库的方法。

背景技术

[0002] 在数据库领域中,多数情况下应用软件不能根据数据库实际使用情况对数据库进行动态的扩充,即不支持自动扩展数据库容量的功能。这是因为应用软件在开发时设计的数据库是按照用户(使用者)的应用需求来设计并事先确定数据库空间容量的,即应用软件的数据库空间容量是固定的。如果应用软件存储数据信息量较大,运行周期长,造成数据库容量不足,就需要手工对数据库容量进行扩展,而系统无法根据实际使用情况自动扩展数据库容量。
[0003] 现在的应用软件系统几乎离不开数据库,而数据库的容量常常是应用软件功能的一个瓶颈,例如,在通讯网管中,网管数据库存储了大量的当前数据和历史信息,且,网管系统运行周期长,数据库空间容量增长速度快,需要人工关注数据库容量,如果未能及时对数据库容量进行扩充,则可能造成重要数据丢失。
[0004] 目前解决数据库容量不足的主要方法有两种:一是,删除数据库中原有部分内容,将新的内容写入到删除的空间中;二是,手工扩展数据库容量。这两种方法在一定程度上解决了应用软件数据库容量不足的情况,但都需要人为介入并对其进行处理。

发明内容

[0005] 本发明提供了一种多维度自动触发扩展数据库的方法,以解决现有技术中数据库容量不足时需要手工干预扩展数据库容量的技术问题。
[0006] 为解决上述技术问题,本发明采用了技术方案是:一种多维度自动触发扩展数据库的方法,其特征在于,该方法包括如下步骤:
[0007] 步骤S100:启动多维度数据库容量检测机制;
[0008] 步骤S101:判断数据库容量,如果需要扩展数据库容量,则执行步骤S102,否则退出;
[0009] 步骤S102:自动扩展数据库容量。
[0010] 优选的,所述多维度数据库检测机制是指定时检测机制与事件触发检测机制相结合并行对数据库容量空间监控,所述定时检测机制是指在一定的时间周期内,检测数据库容量空间,所述事件触发检测机制是指当有写入数据库操作时检查数据库容量空间。
[0011] 优选的,当定时检测机制与事件触发检测机制同时发生,将事件触发检测机制作为高优先级的检测机制。
[0012] 优选的,步骤S101中判断数据库容量的方法为:
[0013] 若执行的是定时检测机制,则检测数据库剩余容量是否超过预先设定的阈值,若超过该阈值则执行步骤S102,若所述数据库的剩余容量没有达到所述阈值,则将该数据库剩余容量与数据库历史数据增量进行比较来判断所述阈值的合理性,若所述阈值不合理,则提醒用户修改阈值,否则退出;
[0014] 若执行的是事件触发检测机制,则当有写入数据库操作时自动触发检测数据库剩余容量,将该数据库剩余容量与写入数据库的历史数据容量作比较,若所述写入数据库的历史数据容量大于所述数据库剩余容量,则执行步骤S102,否则退出。
[0015] 优选的,步骤S102中自动扩展数据库容量包括根据默认值扩展数据库或根据数据库历史数据容量动态扩展数据库。
[0016] 优选的,步骤S102中自动扩展数据库容量还包括自动删除历史数据扩展数据库。
[0017] 优选的,所述定时检测机制包括如下步骤:
[0018] 步骤S100:启动多维度数据库容量检测机制;
[0019] 步骤S210:判断是否到定时检测时间,如果到定时检测时间则执行步骤S220,否则退出;
[0020] 步骤S220:检测数据库剩余容量是否达到设定的阈值,如果是,则执行步骤S230;否则执行步骤S231;
[0021] 步骤S230:检测磁盘剩余容量是否充足,如果充足,则执行步骤S240;否则执行步骤S252;
[0022] 步骤S240:按照默认的扩充值扩展数据库,退出;
[0023] 步骤S252:删除较早的历史数据,退出;
[0024] 步骤S231:将数据库剩余容量与数据库的历史数据增量进行比较,如果历史数据增量大于数据库剩余容量,则执行步骤S241,否则退出;
[0025] 步骤S241:将磁盘剩余容量与上述历史数据增量进行比较,如果磁盘剩余容量大于历史数据增量,则执行步骤S251;否则执行步骤S252;
[0026] 步骤S251:将数据库历史增量作为本次扩展数据库的容量进行扩展数据库,退出。
[0027] 优选的,在步骤S251中增加如下步骤:
[0028] 步骤S261:判断预设的时间段内执行按数据库历史数据增量扩展数据库的次数是否超过预设值,如果是,则执行步骤S271,否则退出;
[0029] 步骤S271:提示用户修改预先设定的阈值,到下一个时间段内,将按照历史数据增量扩展数据库的次数记为0,退出。
[0030] 优选的,所述事件触发检测机制包括如下步骤:
[0031] 步骤S100:启动多维度数据库容量检测机制;
[0032] 步骤S310:判断是否有对数据库执行写操作事件,如果有则执行步骤S320,否则退出。
[0033] 步骤S320:将此前最近一次写入数据库操作中写入到数据库中的容量与当前数据库剩余容量进行比较,如果写入数据库容量大于当前数据库剩余容量,则执行步骤S330,否则退出;
[0034] 步骤S330:检查当前磁盘剩余容量是否充足,如果是,则执行步骤S341,否则进入步骤S340;
[0035] 步骤S341:以最近一次写入数据库中的容量作为依据自动扩展数据库,退出;
[0036] 步骤S340:删除较早的历史数据,退出。
[0037] 本发明的有益效果在于,由于本发明采用了多维度自动触发扩展数据库的方法,以解决现有技术中数据库容量不足时需要手工干预扩展数据库容量的技术问题,使得本发明在扩展数据库容量上更智能,可以根据数据库的使用情况对数据库容量自动进行扩展,省去了复杂、繁琐的手工扩展数据库的操作,避免因人工的误操作所带来的隐患,减少工作人员的重复性劳动,从而提高工作效率。
[0038] 在本发明中,采用了将定时检测机制与事件触发检测机制相结合并行对数据库容量空间监控的多维度自动触发扩展数据库的方法,使得该数据库不仅可以在一定的时间周期内,检测数据库容量空间,根据需要来扩展数据库;还可以在当有写入数据库操作时检查数据库容量空间,根据数据库的实际使用情况动态的扩展数据库容量,使得扩展数据库变得更智能,保证用户在操作时,数据库有充足的容量,无需人工参与扩展数据库,省去了传统手工扩展数据库的操作,减少了人工维护的成本,避免了由人工误操作引入的问题,提高了工作人员的工作效率。
[0039] 在定时检测机制中,由于采用了检测数据库剩余容量是否达到设定的阈值的步骤,使得在扩展数据库过程中,不用人工干预就可以根据预先设置好的阈值进行扩展,达到自动扩展数据库的目的。但由于阈值仅是用户的常规判断,考虑到如果应用软件数据库的写入数据库的历史数据增量较大的情况,本发明将数据库剩余容量与数据库的历史数据增量进行比较,如果历史数据增量大于当前数据库容量则需要扩展数据库,从而可以动态的扩展数据库,使得数据库的扩展更加的智能化。

附图说明

[0040] 图1是本发明提供的多维度自动触发扩展数据库的流程图;
[0041] 图2是本发明提供的一个实施例采用定时检测机制自动扩展数据库的流程图;
[0042] 图3是本发明提供的一个实施例采用事件触发检测机制自动扩展数据库的流程图。

具体实施方式

[0043] 本发明提供的多维度自动触发扩展数据库的方法,是通过检测机制从多维度共同监控数据库容量,自动进行动态扩展数据库的容量。
[0044] 下面结合附图对本发明进行详细的描述。
[0045] 如图1所示,多维度自动触发扩展数据库的方法包含如下步骤:
[0046] 步骤S100:启动多维度数据库容量检测机制;
[0047] 步骤S101:由检测机制判断数据库容量,如果需要扩展数据库容量,则执行步骤S101,否则退出;
[0048] 步骤S102:自动扩展数据库容量。
[0049] 所述多维度数据库检测机制是指定时检测机制与事件触发检测机制相结合并行对数据库容量空间监控,所述定时检测机制是指在一定的时间周期内,检测数据库容量空间,所述事件触发检测机制是指当有写入数据库操作时检查数据库容量空间。当定时检测机制与事件触发检测机制同时发生,将事件触发检测机制作为高优先级的检测机制。
[0050] 步骤S101中判断数据库容量的方法为:
[0051] 若执行的是定时检测机制,则检测数据库剩余容量是否超过预先设定的阈值,若超过该阈值则执行步骤S102,若所述数据库剩余容量没有达到所述阈值,则将该数据库剩余容量与数据库历史数据增量进行比较来判断所述阈值的合理性,若所述阈值不合理,则提醒用户修改阈值,否则退出;
[0052] 若执行的是事件触发检测机制,则当有写入数据库操作时自动触发检测数据库剩余容量,将该数据库剩余容量与写入数据库的历史数据容量作比较,若所述写入数据库的历史数据容量大于所述数据库剩余容量,则执行步骤S102,否则退出。
[0053] 步骤S102中自动扩展数据库容量包括根据默认值扩展数据库或根据数据库历史数据容量动态扩展数据库。
[0054] 步骤S102中自动扩展数据库容量还包括自动删除历史数据扩展数据库。
[0055] 如图2所示,采用定时检测机制自动扩展数据库包含如下步骤:
[0056] 步骤S100:启动多维度数据库容量检测机制,主要检测数据库剩余容量;
[0057] 步骤S210:检测机制自动判断是否到定时检测时间,如果到定时检测时间则执行步骤S220来判断阈值,否则退出;
[0058] 步骤S220:检测机制自动检测数据库剩余容量是否达到设定的阈值,如果是表示达到用户预先设定的最低容量,需要扩展数据库容量,则执行步骤S230;如果不是则表示没有达到用户预期的最低容量,则执行步骤S231;
[0059] 步骤S230:检测机制自动检测当前磁盘的剩余容量是否充足,如果充足,则执行步骤S240,来自动扩展数据库;否则执行步骤S252;
[0060] 步骤S240:检测机制检测到磁盘剩余容量可以执行本次的自动扩展数据库操作,调用自动扩展数据库脚本,按照默认的扩充值扩展数据库,退出;
[0061] 步骤S252:检测机制检测到磁盘剩余容量不足本次自动扩展数据库操作,则自动调用脚本删除较早的历史数据,退出;
[0062] 步骤S231:检测机制检测到磁盘剩余空间没有达到用户预先设定的阈值,但阈值仅是用户的常规判断,考虑到如果应用软件数据库的写入数据库的历史数据增量较大的情况,将数据库剩余容量与数据库的历史数据增量进行比较,本实施例中采用的是将前三次定时检测的数据库增量取均值与当前数据库剩余容量进行比较,如果均值大于当前数据库容量则需要扩展数据库,即执行步骤S241,否则退出;
[0063] 步骤S241:检测机制检测磁盘剩余容量,将磁盘剩余容量与上述历史数据增量进行比较,在本实施例中是指将磁盘剩余容量与上述均值进行比较,如果磁盘容量充足,即磁盘剩余容量大于历史数据增量,在本实施例中指磁盘剩余容量大于上述均值,则执行步骤S251,进行扩展数据库;否则执行步骤S252;
[0064] 步骤S251:检测机制自动调用自动扩展数据库脚本,将数据库历史增量作为本次扩展数据库的容量进行扩展数据库,在本实施例中是指将上述均值作为本次扩展数据库的容量进行扩展数据库,执行步骤S261;
[0065] 步骤S261:判断一个月内是否超过10次执行按数据库历史数据增量扩展数据库,如果是,则执行步骤S271,否则退出。当谈,判断数据库历史数据增量的时间可以根据实际情况而定,如一个月内是否超过5次执行按数据库历史数据增量扩展数据库、两个月内是否12次执行按数据库历史数据增量扩展数据库等。
[0066] 步骤S271:检测机制判断一个月内是否超过10次执行按数据库历史数据增量扩展数据库,如果是,则提示用户修改预先设定的阈值,到下个月时,将按照历史数据增量扩展数据库的次数记为0,退出;否则退出。
[0067] 如图3所示,采用事件触发检测机制自动扩展数据库包含如下步骤:
[0068] 步骤S100:启动多维度数据库容量检测机制;
[0069] 步骤S310:检测机制判断是否对数据库执行写操作事件,即,判断是否有触发事件产生。如果是,则进入步骤S320;否则退出;
[0070] 步骤S320:检测机制将此前最近一次写入数据库操作中写入到数据库中的容量与当前数据库剩余容量进行比较,如果写入数据库容量大于当前数据库剩余容量,则执行步骤S330,否则退出;
[0071] 步骤S330:检测机制检查当前磁盘剩余容量是否充足,是否能执行本次扩展数据库操作,如果是,则执行步骤S341,否则进入步骤S340;
[0072] 步骤S341:检测机制自动调用扩展数据库脚本,以最近一次写入数据库中的容量作为依据自动扩展数据库,退出;
[0073] 步骤S340:当磁盘剩余空间不足时,调用脚本自动删除较早的历史数据,退出。