CN105183614A - 一种数据库故障预测方法及装置 - Google Patents
一种数据库故障预测方法及装置 Download PDFInfo
- Publication number
- CN105183614A CN105183614A CN201510733859.8A CN201510733859A CN105183614A CN 105183614 A CN105183614 A CN 105183614A CN 201510733859 A CN201510733859 A CN 201510733859A CN 105183614 A CN105183614 A CN 105183614A
- Authority
- CN
- China
- Prior art keywords
- database
- sql statement
- performance index
- executory cost
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据库故障预测方法及装置,方法包括:在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;根据SQL语句的执行成本因素,计算SQL语句的执行成本;依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及SQL语句的执行成本,确定是否出现故障。本申请预先统计了与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,通过对比曲线以及所述SQL语句的执行成本,可以预测数据库是否出现故障,例如对比发现SQL语句的执行成本相比于曲线上其它点产生突增,则可以确定数据库出现了故障。
Description
技术领域
本申请涉及数据处理技术领域,更具体地说,涉及一种数据库故障预测方法及装置。
背景技术
数据库是一个庞大而复杂的系统,数据库能够安全、稳定、高效地运行直接关系到业务系统的对外服务水平。
传统的人工管理数据库的方式主要是,人工对数据库进行故障查询,在发现数据库已经产生故障后,进行告警提示。
显然,人工管理数据库的方式无法实现数据库的故障预测,给数据库的运维管理带来极大不便。
发明内容
有鉴于此,本申请提供了一种数据库故障预测方法及装置,用于解决现有人工管理数据库的方式所存在的无法进行故障预测的问题。
为了实现上述目的,现提出的方案如下:
一种数据库故障预测方法,包括:
在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
优选地,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本包括:
对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
优选地,还包括:
确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
若当前检测时间点的数据库的性能指标的值大于所述性能指标的最大值,或者小于所述性能指标的最小值,则确定数据库故障,发出预警。
优选地,在确定出现故障时,该方法还包括:
调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
优选地,还包括:
计算数据库当前容量,以及数据库容量的增长率;
利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
一种数据库故障预测装置,包括:
成本因素获取单元,用于在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
执行成本计算单元,用于利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
故障预测单元,用于依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
优选地,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述执行成本计算单元包括:
第一执行成本计算子单元,用于对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
优选地,还包括:
数据库性能指标确定单元,用于确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
性能指标阈值读取单元,用于在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
判断单元,用于判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
故障预警单元,用于在所述判断单元判断结果为是时,确定数据库故障,发出预警。
优选地,还包括:
数据调取单元,用于在所述故障预测单元确定出现故障时,调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
故障模拟单元,用于在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
优选地,还包括:
容量数据计算单元,用于计算数据库当前容量,以及数据库容量的增长率;
故障时间计算单元,用于利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
从上述的技术方案可以看出,本申请实施例提供的数据库故障预测方法,在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素,执行成本因素可以有多种,例如执行SQL语句所需要的时间、执行SQL语句所占用的各种资源量等等,进而根据SQL语句的执行成本因素,计算SQL语句的执行成本,最后依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及SQL语句的执行成本,确定是否出现故障。本申请预先统计了与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,通过对比曲线以及所述SQL语句的执行成本,可以预测数据库是否出现故障,例如对比发现SQL语句的执行成本相比于曲线上其它点产生突增,则可以确定数据库出现了故障。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种数据库故障预测方法流程图;
图2为本申请实施例公开的另一种数据库故障预测方法流程图;
图3为本申请实施例公开的又一种数据库故障预测方法流程图;
图4为本申请实施例公开的又一种数据库故障预测方法流程图;
图5为申请实施例示例的一种性能指标基线示意图;
图6为本申请实施例公开的又一种数据库故障预测方法流程图;
图7为本申请实施例公开的一种数据库故障预测装置结构示意图。
具体实施方式
首先对本申请将会用到的名词进行解释。
SQL语句:结构化查询语言(StructuredQueryLanguage)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL语句就是对数据库进行操作的一种语言。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例公开的一种数据库故障预测方法流程图。
如图1所示,该方法包括:
步骤S100、在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
在访问数据库过程中无论是在数据库中查询数据,还是往数据库中写入数据,均需要使用SQL语句。SQL语句的执行需要消耗成本,这些成本可以看作执行成本,例如SQL语句的资源消耗,如CPU使用率、内存使用率、SQL语句的执行时间等等其它成本因素。
本步骤在检测到SQL语句访问数据库时,获取SQL语句的执行成本因素。
步骤S110、利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
上一步骤已经获取了SQL语句的执行成本因素,进而可以根据获取的执行成本因素以及一定的计算规则,计算SQL语句的执行成本。具体地计算规则可以有多种,根据各个执行成本因素所占的比重,执行成本也会产生变化。
步骤S120、依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
需要说明的是,本申请通过对数据库的各个种类的SQL语句的执行成本因素进行监控,可以建立各个种类的SQL语句的历史执行成本变化曲线。曲线表明了某一类型的SQL语句在历史各个时间点的执行成本。
其中,数据库访问所使用的SQL语句可以按照类型进行划分,例如两条SQL语句均是查询账户余额,区别仅在于针对的账户不同,因此这两条SQL语句可以看作针对同一交易类型“查询账户余额”的SQL语句,可以归为同类型的SQL语句。
进一步,在计算得到SQL语句的执行成本之后,可以调取与SQL语句同类型的SQL语句的历史执行成本变化曲线,进而通过比对调取的曲线以及SQL语句的执行成本,可以确定数据库是否出现故障。
具体地故障判断逻辑可以有多种,例如对比发现SQL语句的执行成本相比于曲线上其它点产生突增,则可以确定数据库出现了故障。再比如,检测发现SQL语句的执行成本在曲线上呈逐步上升趋势,也即该类型的SQL语句的执行成本在持续增加,因此也可以确定数据库出现了异常。
本申请实施例提供的数据库故障预测方法,在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素,执行成本因素可以有多种,例如执行SQL语句所需要的时间、执行SQL语句所占用的各种资源量等等,进而根据SQL语句的执行成本因素,计算SQL语句的执行成本,最后依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及SQL语句的执行成本,确定是否出现故障。本申请以SQL语句的执行成本作为预测数据库故障的因素,SQL语句的执行成本增加代表着数据库运行效率下降,进而可以确定数据库出现了故障。
参见图2,图2为本申请实施例公开的另一种数据库故障预测方法流程图。
本实施例中,以执行成本因素包括SQL语句的资源消耗量和SQL语句的执行时间为例进行说明。如图2所示,该方法包括:
步骤S200、在检测到SQL语句访问数据库时,获取所述SQL语句的资源消耗量及执行时间;
本实施例中,以SQL语句的执行成本因素为SQL语句的资源消耗量及执行时间为例。其中资源消耗量可以包括CPU使用率、内存占用率等。
步骤S210、对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本;
由于资源消耗量和执行时间对执行成本的影响可能不同,因此为资源消耗量和执行时间分配不同的权重值,进而对其进行加权相加,结果作为SQL语句的执行成本。举例如,资源消耗量为q,执行时间为t,二者的权重分别为x1和x2,则加权相加后得到的执行成本为x1*q+x2*t。
其中,若资源消耗量为多个种类的资源的消耗量,可以为不同的资源消耗量分配不同的权重值,举例如资源消耗量包括CPU使用率及内存占用率,则可以为其分配不同的权重值。
步骤S220、依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
需要说明的是,本申请通过对数据库的各个种类的SQL语句的执行成本因素进行监控,可以建立各个种类的SQL语句的历史执行成本变化曲线。曲线表明了某一类型的SQL语句在历史各个时间点的执行成本。
相比于上一实施例,本实施例以执行成本因素为SQL语句的资源消耗量和执行时间为例,介绍了一种计算SQL语句的执行成本的具体实施方案。
参见图3,图3为本申请实施例公开的又一种数据库故障预测方法流程图。
如图3所示,该方法包括:
步骤S300、在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
步骤S310、利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
上一步骤已经获取了SQL语句的执行成本因素,进而可以根据获取的执行成本因素以及一定的计算规则,计算SQL语句的执行成本。具体地计算规则可以有多种,根据各个执行成本因素所占的比重,执行成本也会产生变化。
步骤S320、依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障;
步骤S330、在确定出现故障时,调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
具体地,本申请可以实时存储各条SQL语句的交易信息,以及数据库的性能指标值。因此,在确定出现故障时,可以调取故障时间点的SQL语句的交易信息及数据库的性能指标值。
其中,数据库的性能指标有多种,如CPU使用率、内存占用率、最大连接数、最大用户并发数、最大用户等待时间等等。
步骤S340、在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
通过记录故障时间点的SQL语句的交易信息,以及数据库的性能指标值,可以在测试环境中再次回放,实现故障现象回溯,更加方便技术人员分析故障原因。
参见图4,图4为本申请实施例公开的又一种数据库故障预测方法流程图。
如图4所示,该方法包括:
步骤S400、在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
步骤S410、利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
上一步骤已经获取了SQL语句的执行成本因素,进而可以根据获取的执行成本因素以及一定的计算规则,计算SQL语句的执行成本。具体地计算规则可以有多种,根据各个执行成本因素所占的比重,执行成本也会产生变化。
步骤S420、依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障;
步骤S430、确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
其中,数据库的性能指标有多种,如CPU使用率、内存占用率、最大连接数、最大用户并发数、最大用户等待时间等等。
本申请可以设定检测周期以及检测周期内各个检测时间点。举例如,检测周期为1个月,检测时间点为1个月内每天上午10点时刻。又必然,检测周期为1天,检测时间点为1天内的每个整点时刻。
步骤S440、在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值;
其中,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值。性能指标的阈值包括性能指标的最大值和性能指标的最小值。本实施例可以将表示性能指标的最大值的曲线和最小值的曲线绘制在同一图表上,当然也可以分为两个曲线图表进行表示。
对应于每一个性能指标,均存在一组性能指标基线。
本实施例可以是以某一个历史检测周期为对象,统计该检测周期内数据库性能指标的阈值,进而得到性能指标基线。还可以是对多个历史检测周期的性能指标基线求取平均值,结果作为性能指标基线。通过求取平均值的方式,减少了个别检测时间点数据异常的情况。
为了判断当前检测时间点采集的数据库的性能指标的值是否异常,本实施例从性能指标基线上选取相同检测时间点的性能指标的阈值作为对比对象。
本申请考虑到数据压力在不同时段具有较大差异,因此选取不同检测周期内相同检测时间点的性能指标的值作为对比对象,提高了判断的准确度。
步骤S450、判断所述当前检测时间点的数据库的性能指标的值是否满足预置条件,若是,执行步骤S460;
其中,预置条件为所述当前检测时间点的数据库的性能指标的值大于所述性能指标的最大值,或者小于所述性能指标的最小值。
步骤S460、确定数据库故障,发出预警。
其中,如果当前检测时间点的数据库的性能指标的值超过性能指标的最大值,也即意味着数据库访问压力过大,数据库将要发生故障。
如果当前检测时间点的数据库的性能指标的值低于性能指标的最小值,也即意味着数据库与外部进行通信的通道发生了堵塞,业务请求无法到达数据库,因此造成数据库性能指标过低,这也属于故障的一种类型。
可以理解的是,上述步骤S430-S460还可以与步骤S400-S420并列执行,图4仅仅示例了一种可选方式。
相比于上一实施例,本实施例进一步增加了一种数据库故障判断逻辑,即预先建立了数据库的性能指标基线,进而在采集到数据库的性能指标值时,通过对比性能指标基线上相同检测时间点的性能指标的阈值,可以确定是否出现故障。因此,进一步提供了数据库故障预测的准确度。
为了便于理解上述步骤S430-S460的故障判断逻辑,本申请通过下述例子进行说明。
此处我们以性能指标为CPU使用率最大值为例,检测周期为1个月,检测时间点为一个月内每天0点。则参见图5,图5为申请实施例示例的一种性能指标基线示意图。
图5中仅示例了一个检测周期内前10天的检测结果。
假设在当前检测周期的第5天,检测到数据库的CPU使用率最大值为70%,则查看图5的曲线,其中第5天对应的值为60%,显然70%>60%,因此确定数据库出现故障。
参见图6,图6为本申请实施例公开的又一种数据库故障预测方法流程图。
如图6所示,该方法包括:
步骤S600、在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
步骤S610、利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
上一步骤已经获取了SQL语句的执行成本因素,进而可以根据获取的执行成本因素以及一定的计算规则,计算SQL语句的执行成本。具体地计算规则可以有多种,根据各个执行成本因素所占的比重,执行成本也会产生变化。
步骤S620、依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障;
步骤S630、计算数据库当前容量,以及数据库容量的增长率;
其中,利用数据库的当前容量以及历史容量数据,可以计算数据库容量的增长率。
步骤S640、利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间。
其中,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
本申请预置了数据库的告警容量,一般性的,告警容量为数据库容量的80%左右。在确定了数据库容量的增长率,以及数据库当前容量和告警容量之后,可以计算出多长时间之后数据库容量将会达到告警容量,也即预测出故障发生时间。
本实施例相比于上述实施例,进一步增加了一种数据库故障预测逻辑,也即通过对数据库容量的检测,结合数据库容量增长率,能够预测出故障发生时间,进而指导技术人员提前进行故障排除,避免故障的发生。
下面对本申请实施例提供的数据库故障预测装置进行描述,下文描述的数据库故障预测装置与上文描述的数据库故障预测方法可相互对应参照。
参见图7,图7为本申请实施例公开的一种数据库故障预测装置结构示意图。
如图7所示,该装置包括:
成本因素获取单元71,用于在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
执行成本计算单元72,用于利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
故障预测单元73,用于依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
本申请实施例提供的数据库故障预测装置,在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素,执行成本因素可以有多种,例如执行SQL语句所需要的时间、执行SQL语句所占用的各种资源量等等,进而根据SQL语句的执行成本因素,计算SQL语句的执行成本,最后依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及SQL语句的执行成本,确定是否出现故障。本申请以SQL语句的执行成本作为预测数据库故障的因素,SQL语句的执行成本增加代表着数据库运行效率下降,进而可以确定数据库出现了故障。
可选的,所述执行成本因素可以包括SQL语句的资源消耗量及SQL语句的执行时间,则所述执行成本计算单元可以包括:
第一执行成本计算子单元,用于对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
可选的,本申请实施例公开的数据库故障预测装置还可以包括:
数据库性能指标确定单元,用于确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
性能指标阈值读取单元,用于在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
判断单元,用于判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
故障预警单元,用于在所述判断单元判断结果为是时,确定数据库故障,发出预警。
可选的,本申请实施例公开的数据库故障预测装置还可以包括:
数据调取单元,用于在所述故障预测单元确定出现故障时,调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
故障模拟单元,用于在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
可选的,本申请实施例公开的数据库故障预测装置还可以包括:
容量数据计算单元,用于计算数据库当前容量,以及数据库容量的增长率;
故障时间计算单元,用于利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据库故障预测方法,其特征在于,包括:
在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
2.根据权利要求1所述的方法,其特征在于,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本包括:
对所述资源消耗量和所述执行时间进行加权相加,将结果保存为所述SQL语句的执行成本。
3.根据权利要求1所述的方法,其特征在于,还包括:
确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
若当前检测时间点的数据库的性能指标的值大于所述性能指标的最大值,或者小于所述性能指标的最小值,则确定数据库故障,发出预警。
4.根据权利要求1所述的方法,其特征在于,在确定出现故障时,该方法还包括:
调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
5.根据权利要求1所述的方法,其特征在于,还包括:
计算数据库当前容量,以及数据库容量的增长率;
利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
6.一种数据库故障预测装置,其特征在于,包括:
成本因素获取单元,用于在检测到SQL语句访问数据库时,获取所述SQL语句的执行成本因素;
执行成本计算单元,用于利用所述SQL语句的执行成本因素,计算所述SQL语句的执行成本;
故障预测单元,用于依据与所述SQL语句同类型的SQL语句的历史执行成本变化曲线,以及所述SQL语句的执行成本,确定是否出现故障。
7.根据权利要求6所述的装置,其特征在于,所述执行成本因素包括SQL语句的资源消耗量及SQL语句的执行时间,所述执行成本计算单元包括:
第一执行成本计算子单元,用于对所述资源消耗量和所述执行时间进行加权相加,结果保存为所述SQL语句的执行成本。
8.根据权利要求6所述的装置,其特征在于,还包括:
数据库性能指标确定单元,用于确定当前检测周期内,当前检测时间点的数据库的性能指标的值;
性能指标阈值读取单元,用于在预置的性能指标基线上,读取相同检测时间点的性能指标的阈值,所述性能指标基线为数据库在一个检测周期内,各个检测时间点的性能指标的阈值,所述性能指标的阈值包括性能指标的最大值和性能指标的最小值;
判断单元,用于判断所述当前检测时间点的数据库的性能指标的值是否大于所述性能指标的最大值,或者小于所述性能指标的最小值;
故障预警单元,用于在所述判断单元判断结果为是时,确定数据库故障,发出预警。
9.根据权利要求6所述的装置,其特征在于,还包括:
数据调取单元,用于在所述故障预测单元确定出现故障时,调取故障时间点的SQL语句的交易信息以及数据库的性能指标值;
故障模拟单元,用于在测试环境中,利用所述交易信息及所述性能指标值模拟故障现象。
10.根据权利要求6所述的装置,其特征在于,还包括:
容量数据计算单元,用于计算数据库当前容量,以及数据库容量的增长率;
故障时间计算单元,用于利用所述数据库容量的增长率、数据库的当前容量及预置告警容量,计算故障发生时间,所述故障发生时间为距离数据库容量达到预置告警容量所需的时间长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510733859.8A CN105183614A (zh) | 2015-11-03 | 2015-11-03 | 一种数据库故障预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510733859.8A CN105183614A (zh) | 2015-11-03 | 2015-11-03 | 一种数据库故障预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105183614A true CN105183614A (zh) | 2015-12-23 |
Family
ID=54905706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510733859.8A Pending CN105183614A (zh) | 2015-11-03 | 2015-11-03 | 一种数据库故障预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183614A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480296A (zh) * | 2017-08-30 | 2017-12-15 | 杭州绿湾网络科技有限公司 | 基于sql的数据库性能分析方法和装置 |
CN107609028A (zh) * | 2017-08-09 | 2018-01-19 | 山东中创软件商用中间件股份有限公司 | 一种低效率sql语句的确定方法及装置 |
CN108280097A (zh) * | 2017-01-06 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种数据库系统的故障处理方法和装置 |
CN108628909A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
CN108959927A (zh) * | 2018-06-27 | 2018-12-07 | 杭州安恒信息技术股份有限公司 | 一种物联网安全横向对比分析的装置及方法 |
CN108984374A (zh) * | 2017-06-01 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种数据库性能的测试方法和系统 |
CN109213664A (zh) * | 2018-08-23 | 2019-01-15 | 北京小度信息科技有限公司 | Sql语句的性能分析方法、装置、存储介质和电子设备 |
CN110119403A (zh) * | 2019-04-03 | 2019-08-13 | 北京三快在线科技有限公司 | Sql优化方法、装置、电子设备及可读存储介质 |
CN110178121A (zh) * | 2017-09-06 | 2019-08-27 | 富璟科技(深圳)有限公司 | 一种数据库的检测方法及其终端 |
CN110955585A (zh) * | 2019-11-15 | 2020-04-03 | 山东英信计算机技术有限公司 | 一种智能系统风险预警方法、装置、设备、介质 |
CN111290929A (zh) * | 2020-02-10 | 2020-06-16 | 珠海图思科软件有限公司 | 一种等价sql语句性能的测试方法、计算机装置及计算机可读存储介质 |
CN111897802A (zh) * | 2020-08-10 | 2020-11-06 | 中国工商银行股份有限公司 | 数据库容器故障定位方法及系统 |
CN111949503A (zh) * | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | 数据库的管理方法、装置、计算设备和介质 |
CN112181840A (zh) * | 2020-09-30 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 一种数据库状态的确定方法及装置、设备、存储介质 |
CN112988435A (zh) * | 2019-12-16 | 2021-06-18 | 中国电信股份有限公司 | 数据库过载保护处理方法和装置、存储介质 |
CN113177060A (zh) * | 2021-05-25 | 2021-07-27 | 中国工商银行股份有限公司 | 一种管理sql语句的方法、装置及设备 |
CN113360182A (zh) * | 2021-06-04 | 2021-09-07 | 建信金融科技有限责任公司 | 系统性能诊断的方法和装置 |
WO2021237431A1 (zh) * | 2020-05-26 | 2021-12-02 | 深圳市欢太科技有限公司 | 数据处理方法、装置、处理设备以及数据存储系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055661A1 (en) * | 2001-06-20 | 2007-03-08 | Andrew Witkowski | Compile-time optimizations of queries with SQL spreadsheet |
CN101178723A (zh) * | 2006-11-09 | 2008-05-14 | 国际商业机器公司 | 用于调试数据库问题的装置和方法 |
CN103176974A (zh) * | 2011-12-20 | 2013-06-26 | 国际商业机器公司 | 优化数据库中访问路径的方法和装置 |
US20130226903A1 (en) * | 2012-02-27 | 2013-08-29 | Nec Laboratories America, Inc. | Predicting query execution time |
CN103685402A (zh) * | 2012-09-17 | 2014-03-26 | 联想(北京)有限公司 | 远程控制资源的方法、服务器和任务发起设备 |
CN104166738A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 数据库查询处理的方法及装置 |
CN104240166A (zh) * | 2013-06-19 | 2014-12-24 | 国际商业机器公司 | 在管理系统中共享信息的方法和装置 |
CN104871154A (zh) * | 2012-11-30 | 2015-08-26 | 亚马逊技术有限公司 | 系统级查询优化 |
CN104965861A (zh) * | 2015-06-03 | 2015-10-07 | 上海新炬网络信息技术有限公司 | 一种数据访问监控装置 |
-
2015
- 2015-11-03 CN CN201510733859.8A patent/CN105183614A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055661A1 (en) * | 2001-06-20 | 2007-03-08 | Andrew Witkowski | Compile-time optimizations of queries with SQL spreadsheet |
CN101178723A (zh) * | 2006-11-09 | 2008-05-14 | 国际商业机器公司 | 用于调试数据库问题的装置和方法 |
CN103176974A (zh) * | 2011-12-20 | 2013-06-26 | 国际商业机器公司 | 优化数据库中访问路径的方法和装置 |
US20130226903A1 (en) * | 2012-02-27 | 2013-08-29 | Nec Laboratories America, Inc. | Predicting query execution time |
CN103685402A (zh) * | 2012-09-17 | 2014-03-26 | 联想(北京)有限公司 | 远程控制资源的方法、服务器和任务发起设备 |
CN104871154A (zh) * | 2012-11-30 | 2015-08-26 | 亚马逊技术有限公司 | 系统级查询优化 |
CN104240166A (zh) * | 2013-06-19 | 2014-12-24 | 国际商业机器公司 | 在管理系统中共享信息的方法和装置 |
CN104166738A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 数据库查询处理的方法及装置 |
CN104965861A (zh) * | 2015-06-03 | 2015-10-07 | 上海新炬网络信息技术有限公司 | 一种数据访问监控装置 |
Non-Patent Citations (1)
Title |
---|
于锋等: ""数据库智能化运维与故障预测平台研究与实践"", 《金融电子化》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280097A (zh) * | 2017-01-06 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种数据库系统的故障处理方法和装置 |
CN108628909B (zh) * | 2017-03-24 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
CN108628909A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
CN108984374A (zh) * | 2017-06-01 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种数据库性能的测试方法和系统 |
CN108984374B (zh) * | 2017-06-01 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 一种数据库性能的测试方法和系统 |
CN107609028A (zh) * | 2017-08-09 | 2018-01-19 | 山东中创软件商用中间件股份有限公司 | 一种低效率sql语句的确定方法及装置 |
CN107609028B (zh) * | 2017-08-09 | 2021-10-15 | 山东中创软件商用中间件股份有限公司 | 一种低效率sql语句的确定方法及装置 |
CN107480296A (zh) * | 2017-08-30 | 2017-12-15 | 杭州绿湾网络科技有限公司 | 基于sql的数据库性能分析方法和装置 |
CN110178121A (zh) * | 2017-09-06 | 2019-08-27 | 富璟科技(深圳)有限公司 | 一种数据库的检测方法及其终端 |
CN108959927A (zh) * | 2018-06-27 | 2018-12-07 | 杭州安恒信息技术股份有限公司 | 一种物联网安全横向对比分析的装置及方法 |
CN108959927B (zh) * | 2018-06-27 | 2020-10-27 | 杭州安恒信息技术股份有限公司 | 一种物联网安全横向对比分析的装置及方法 |
CN109213664A (zh) * | 2018-08-23 | 2019-01-15 | 北京小度信息科技有限公司 | Sql语句的性能分析方法、装置、存储介质和电子设备 |
CN110119403B (zh) * | 2019-04-03 | 2020-08-18 | 北京三快在线科技有限公司 | Sql优化方法、装置、电子设备及可读存储介质 |
CN110119403A (zh) * | 2019-04-03 | 2019-08-13 | 北京三快在线科技有限公司 | Sql优化方法、装置、电子设备及可读存储介质 |
CN110955585A (zh) * | 2019-11-15 | 2020-04-03 | 山东英信计算机技术有限公司 | 一种智能系统风险预警方法、装置、设备、介质 |
CN112988435A (zh) * | 2019-12-16 | 2021-06-18 | 中国电信股份有限公司 | 数据库过载保护处理方法和装置、存储介质 |
CN111290929A (zh) * | 2020-02-10 | 2020-06-16 | 珠海图思科软件有限公司 | 一种等价sql语句性能的测试方法、计算机装置及计算机可读存储介质 |
CN111290929B (zh) * | 2020-02-10 | 2023-06-27 | 珠海图思科软件有限公司 | 一种等价sql语句性能的测试方法、计算机装置及计算机可读存储介质 |
WO2021237431A1 (zh) * | 2020-05-26 | 2021-12-02 | 深圳市欢太科技有限公司 | 数据处理方法、装置、处理设备以及数据存储系统 |
CN111897802A (zh) * | 2020-08-10 | 2020-11-06 | 中国工商银行股份有限公司 | 数据库容器故障定位方法及系统 |
CN111897802B (zh) * | 2020-08-10 | 2023-08-04 | 中国工商银行股份有限公司 | 数据库容器故障定位方法及系统 |
CN111949503A (zh) * | 2020-08-14 | 2020-11-17 | 中国工商银行股份有限公司 | 数据库的管理方法、装置、计算设备和介质 |
CN111949503B (zh) * | 2020-08-14 | 2023-11-14 | 中国工商银行股份有限公司 | 数据库的管理方法、装置、计算设备和介质 |
CN112181840A (zh) * | 2020-09-30 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 一种数据库状态的确定方法及装置、设备、存储介质 |
WO2022068540A1 (zh) * | 2020-09-30 | 2022-04-07 | 深圳前海微众银行股份有限公司 | 一种数据库状态的确定方法及装置、设备、存储介质 |
CN112181840B (zh) * | 2020-09-30 | 2023-09-26 | 深圳前海微众银行股份有限公司 | 一种数据库状态的确定方法及装置、设备、存储介质 |
CN113177060A (zh) * | 2021-05-25 | 2021-07-27 | 中国工商银行股份有限公司 | 一种管理sql语句的方法、装置及设备 |
CN113177060B (zh) * | 2021-05-25 | 2024-02-27 | 中国工商银行股份有限公司 | 一种管理sql语句的方法、装置及设备 |
CN113360182A (zh) * | 2021-06-04 | 2021-09-07 | 建信金融科技有限责任公司 | 系统性能诊断的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183614A (zh) | 一种数据库故障预测方法及装置 | |
CN107355688B (zh) | 一种城镇供水管网漏损控制管理系统 | |
US9194899B2 (en) | Utility network and revenue assurance | |
KR101205103B1 (ko) | 상수관망 운영 관리 시스템 | |
CN104809051B (zh) | 用于预测计算机应用中的异常和故障的方法和装置 | |
CN105262647A (zh) | 一种异常指标检测方法及装置 | |
CN106250306A (zh) | 一种适用于企业级运维自动化平台的性能预测方法 | |
CN105574685A (zh) | 一种基于主客观结合的云服务评价方法 | |
KR101648272B1 (ko) | 복합 이벤트 처리와 기계학습 기반의 가정별 물 수요량 예측 및 누수 탐지방법 | |
CN105468510A (zh) | 对软件质量进行评估与追踪的方法和系统 | |
CN105979532B (zh) | 一种业务处理系统的性能容量分析预警方法及装置 | |
CN109118118A (zh) | 企业业务的风险评估方法、存储介质和服务器 | |
CN103852633B (zh) | 需量反应判断装置及其需量反应判断方法 | |
US20140379303A1 (en) | Identifying utility resource diversion | |
CN112684400B (zh) | 小电量台区的电能表运行误差数据监测方法及系统 | |
CN111008193A (zh) | 一种数据清洗与质量评价方法及系统 | |
CN107426019A (zh) | 网络故障确定方法、计算机设备及计算机可读存储介质 | |
CN107255526A (zh) | 一种温度检测方法、检测模块及检测系统 | |
CN108198408A (zh) | 一种基于用电信息采集系统的自适应反窃电监控方法及系统 | |
CN109327334A (zh) | 一种针对于设备性能的告警方法、装置及设备 | |
CN116882804A (zh) | 一种智能电力监控方法及系统 | |
CN105027088B (zh) | 系统分析设备和系统分析方法 | |
CN105005575A (zh) | 一种企业智能预测快速开发接口方法 | |
CN105471938A (zh) | 服务器负载管理方法及装置 | |
CN109948926A (zh) | 一种基于规划期的高速公路混凝土桥梁养护技术评选方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151223 |