一种数据库故障预测方法及装置的制造方法

文档序号:9432435阅读:270来源:国知局
一种数据库故障预测方法及装置的制造方法
【技术领域】
[0001]本申请涉及数据处理技术领域,更具体地说,涉及一种数据库故障预测方法及装置。
【背景技术】
[0002]数据库是一个庞大而复杂的系统,数据库能够安全、稳定、高效地运行直接关系到业务系统的对外服务水平。
[0003]传统的人工管理数据库的方式主要是,人工对数据库进行故障查询,在发现数据库已经产生故障后,进行告警提示。
[0004]显然,人工管理数据库的方式无法实现数据库的故障预测,给数据库的运维管理带来极大不便。

【发明内容】

[0005]有鉴于此,本申请提供了一种数据库故障预测方法及装置,用于解决现有人工管理数据库的方式所存在的无法进行故障预测的问题。
[0006]为了实现上述目的,现提出的方案如下:
[0007]一种数据库故障预测方法,包括:
[0008]在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
[0009]利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
[0010]依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
[0011]优选地,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本包括:
[0012]对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
[0013]优选地,还包括:
[0014]确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
[0015]在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
[0016]判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
[0017]若当前检测时间点的数据库的性能指标的值大于所述性能指标的最大值,或者小于所述性能指标的最小值,则确定数据库故障,发出预警。
[0018]优选地,在确定出现故障时,该方法还包括:
[0019]调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
[0020]在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
[0021]优选地,还包括:
[0022]计算数据库当前容量,以及数据库容量的增长率;
[0023]利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
[0024]—种数据库故障预测装置,包括:
[0025]成本因素获取单元,用于在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
[0026]执行成本计算单元,用于利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
[0027]故障预测单元,用于依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
[0028]优选地,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述执行成本计算单元包括:
[0029]第一执行成本计算子单元,用于对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
[0030]优选地,还包括:
[0031]数据库性能指标确定单元,用于确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
[0032]性能指标阈值读取单元,用于在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
[0033]判断单元,用于判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
[0034]故障预警单元,用于在所述判断单元判断结果为是时,确定数据库故障,发出预塾目ο
[0035]优选地,还包括:
[0036]数据调取单元,用于在所述故障预测单元确定出现故障时,调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
[0037]故障模拟单元,用于在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
[0038]优选地,还包括:
[0039]容量数据计算单元,用于计算数据库当前容量,以及数据库容量的增长率;
[0040]故障时间计算单元,用于利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
[0041]从上述的技术方案可以看出,本申请实施例提供的数据库故障预测方法,在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素,执行成本因素可以有多种,例如执行SQL语句所需要的时间、执行SQL语句所占用的各种资源量等等,进而根据SQL语句的执行成本因素,计算SQL语句的执行成本,最后依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及SQL语句的执行成本,确定是否出现故障。本申请预先统计了与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,通过对比曲线以及所述SQL语句的执行成本,可以预测数据库是否出现故障,例如对比发现SQL语句的执行成本相比于曲线上其它点产生突增,则可以确定数据库出现了故障。
【附图说明】
[0042]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0043]图1为本申请实施例公开的一种数据库故障预测方法流程图;
[0044]图2为本申请实施例公开的另一种数据库故障预测方法流程图;
[0045]图3为本申请实施例公开的又一种数据库故障预测方法流程图;
[0046]图4为本申请实施例公开的又一种数据库故障预测方法流程图;
[0047]图5为申请实施例不例的一种性能指标基线不意图;
[0048]图6为本申请实施例公开的又一种数据库故障预测方法流程图;
[0049]图7为本申请实施例公开的一种数据库故障预测装置结构示意图。
【具体实施方式】
[0050]首先对本申请将会用到的名词进行解释。
[0051]SQL语句:结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
[0052]SQL语句就是对数据库进行操作的一种语言。
[0053]下面将结合本申请实施例中的附图,对本申请
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1