数据库故障发现方法、装置、电子设备及存储介质转让专利

申请号 : CN202011058803.4

文献号 : CN112162878B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 薛文满朱红燕莫林林

申请人 : 深圳前海微众银行股份有限公司

摘要 :

本申请提供一种本申请提供一种数据库故障发现方法、装置、电子设备及存储介质。根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率。若根据目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为异常数据,若是,目标数据库发生故障。基于每个历史使用率及对应的概率分布特征函数确定目标阈值,有效提高了目标阈值的合理性及精度。引入异常时间窗口,使得故障发现过程与目标数据库实际运行周期性强关联,进而提高了故障发现的合理性。无需考虑业务多样性以构建相应模型,具有可实现性强及利用率高等优点。

权利要求 :

1.一种数据库故障发现方法,其特征在于,包括:根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,所述目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率;

若根据所述目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为所述异常数据,所述目标待测数据用于表征所述存储设备的当前使用率;

若判断结果为是,则确定所述目标数据库发生故障;

其中,所述根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,包括:

根据第一预设算法确定所述目标数据集合的波动系数,并根据所述波动系数确定目标概率阈值,所述波动系数用于表征所述历史使用率的波动幅度;

基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值;

通过确定所有使用率阈值的平均值,得到所述目标阈值。

2.根据权利要求1所述的数据库故障发现方法,其特征在于,所述基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值,包括:

根据每个目标数据以及对应的Beta分布函数确定对应的每个分布结果,每个分布结果为每个目标数据对应的Beta分布,所述概率分布特征函数包括所述Beta分布函数;

基于所述预设逆累积分函数,根据所述目标概率阈值以及每个分布结果确定每个使用率阈值。

3.根据权利要求1所述的数据库故障发现方法,其特征在于,在所述根据第一预设算法确定所述目标数据集合的波动系数之前,还包括:根据预设时间周期获取所述存储设备在所述历史预设时长内的多个历史数据;

按照预设筛选规则对每个历史数据进行标注,剔除不符合所述预设筛选规则的历史数据,以得到候选数据;

对每个候选数据进行百分比运算,得到对应的所述目标数据。

4.根据权利要求3所述的数据库故障发现方法,其特征在于,在所述根据所述目标阈值确定目标待测数据为异常数据之前,还包括:根据所述预设时间周期获取待测数据;

按照所述预设筛选规则对所述待测数据进行筛选,得到对应的所述目标待测数据。

5.根据权利要求1‑4任一项所述的数据库故障发现方法,其特征在于,在所述判断异常时间窗口内的其他目标待测数据是否均为所述异常数据之前,还包括:根据所述目标数据集合以及第二预设算法确定多个相似度,每个相似度用于表征相邻两个单位时长对应的所述目标数据之间的相似程度,所述历史预设时长包括多个单位时长;

获取所有相似度的平均值,以得到目标相似度;

根据第三预设算法、预设异常时间窗口阈值以及所述目标相似度确定所述异常时间窗口;

其中,所述根据第三预设算法、预设异常时间窗口阈值以及所述目标相似度确定所述异常时间窗口,包括:

通过所述第三预设算法和所述目标相似度确定候选异常时间窗口;

若所述候选异常时间窗口对应的数值大于所述预设异常时间窗口阈值对应的数值,则确定所述候选异常时间窗口为所述异常时间窗口;

若所述候选异常时间窗口对应的数值小于等于所述预设异常时间窗口阈值对应的数值,则确定所述预设异常时间窗口阈值为所述异常时间窗口。

6.根据权利要求5所述的数据库故障发现方法,其特征在于,所述根据所述目标数据集合以及第二预设算法确定多个相似度,包括:通过所述第二预设算法依次确定每相邻两个单位时长的目标数据子集之间的相似度,以得到所述多个相似度,所述目标数据子集包括一个单位时长内的所有目标数据。

7.根据权利要求6所述的数据库故障发现方法,其特征在于,若所述目标待测数据非所述异常数据,则确定所述目标数据库运行正常;或者若所述其他目标待测数据并非均为所述异常数据,则确定所述目标数据库运行正常。

8.根据权利要求1‑4任一项所述的数据库故障发现方法,其特征在于,在所述确定所述目标数据库发生故障之后,还包括:生成告警信息;

发送所述告警信息至控制端和/或客户端,以提示所述目标数据库发生故障。

9.一种数据库故障发现装置,其特征在于,包括:第一处理模块,用于根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,所述目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率;

第二处理模块,用于若根据所述目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为所述异常数据,所述目标待测数据用于表征所述存储设备的当前使用率;

第三处理模块,用于若判断结果为是,则确定所述目标数据库发生故障;

其中,所述第一处理模块,具体用于:根据第一预设算法确定所述目标数据集合的波动系数,并根据所述波动系数确定目标概率阈值,所述波动系数用于表征所述历史使用率的波动幅度;

基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值;

通过确定所有使用率阈值的平均值,得到所述目标阈值。

10.一种电子设备,其特征在于,包括:至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被所述至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑8中任一项所述的数据库故障发现方法。

11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1‑8中任一项所述的数据库故障发现方法。

说明书 :

数据库故障发现方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及金融科技(Fintech)技术领域,尤其涉及一种数据库故障发现方法、装置、电子设备及存储介质。

背景技术

[0002] 随着计算机技术以及互联网技术的快速发展,金融科技(Fintech)作为金融与科技深度融合的产物,目前正成为金融行业创新发展的热点。由于金融行业的安全性、实时性
等高要求特点,势必对应用于金融行业的各种相关应用系统也提出了更高要求,例如,对应
用于数据交易等环节的数据库而言,为了给交易环节提供良好的运行环境,往往需要对数
据库存储设备的使用情况是否存在故障进行监测,例如对内存(CPU)和/或硬盘输入/输出
(Input/Output,简称I/O)接口的使用情况进行监测,以确定数据库的运行过程是否存在使
用超额等故障。
[0003] 目前,通常基于使用阈值确定数据库是否存在异常故障。一种是根据运维人员的经验值设置一固定阈值,一旦数据库的使用情况超过该固定阈值,则确定数据库存在故障。
然而采用这种固定阈值进行判断的方法,往往存在诸多问题。例如,在数据库的运行过程中
需要不断根据实际情况进行阈值的调整,不但后期维护工作量较大还欠缺合理性,例如当
固定阈值设置的过高,数据库正常运行过程中的突增情况可能无法被发现,存在漏报风险。
而当设置的过低,又存在故障监测过于敏感的问题,可能会引起大量误报。又例如随着业务
的不断发展,数据库的负载随之增加,采用固定阈值的解决方案未考虑数据库的实际运行
趋势,可能会由于设置不当产生未知影响。
[0004] 另一种解决方案是利用深度学习模型确定预测线,在预测线周围根据高斯分布得到安全区间,一旦超过该安全区间,则认为数据库存在故障。然而,由于业务多样性的特点,
通常针对一个业务可能需要成千上万个数据库为其提供服务,若为所有的数据库都相应生
成对应的深度学习模型,会因为模型占用内存空间过大以及检测率较低等原因存在无法大
规模使用以及利用率较低等技术难题。

发明内容

[0005] 本申请提供一种数据库故障发现方法、装置、电子设备及存储介质,用于解决现有的数据库故障发现方案缺乏合理性,以及无法大规模使用和利用率较低等技术问题。
[0006] 第一方面,本申请提供一种数据库故障发现方法,包括:
[0007] 根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,所述目标数据用于表征目标数据库的存储设备在历史预设时长内的历
史使用率;
[0008] 若根据所述目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为所述异常数据,所述目标待测数据用于表征所述存储设备的当前
使用率;
[0009] 若判断结果为是,则确定所述目标数据库发生故障。
[0010] 在一种可能的设计中,所述根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,包括:
[0011] 根据第一预设算法确定所述目标数据集合的波动系数,并根据所述波动系数确定目标概率阈值,所述波动系数用于表征所述历史使用率的波动幅度;
[0012] 基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值;
[0013] 通过确定所有使用率阈值的平均值,得到所述目标阈值。
[0014] 在一种可能的设计中,所述基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值,包括:
[0015] 根据每个目标数据以及对应的Beta分布函数确定对应的每个分布结果,每个分布结果为每个目标数据对应的Beta分布,所述概率分布特征函数包括所述Beta分布函数;
[0016] 基于所述预设逆累积分函数,根据所述目标概率阈值以及每个分布结果确定每个使用率阈值。
[0017] 在一种可能的设计中,在所述根据第一预设算法确定所述目标数据集合的波动系数之前,还包括:
[0018] 根据预设时间周期获取所述存储设备在所述历史预设时长内的多个历史数据;
[0019] 按照预设筛选规则对每个历史数据进行标注,剔除不符合所述预设筛选规则的历史数据,以得到候选数据;
[0020] 对每个候选数据进行百分比运算,得到对应的所述目标数据。
[0021] 在一种可能的设计中,在所述根据所述目标阈值确定目标待测数据为异常数据之前,还包括:
[0022] 根据所述预设时间周期获取待测数据;
[0023] 按照所述预设筛选规则对所述待测数据进行筛选,得到对应的所述目标待测数据。
[0024] 在一种可能的设计中,在所述判断异常时间窗口内的其他目标待测数据是否均为所述异常数据之前,还包括:
[0025] 根据所述目标数据集合以及第二预设算法确定多个相似度,每个相似度用于表征相邻两个单位时长对应的所述目标数据之间的相似程度,所述历史预设时长包括多个单位
时长;
[0026] 获取所有相似度的平均值,以得到目标相似度;
[0027] 根据第三预设算法、预设异常时间窗口阈值以及所述目标相似度确定所述异常时间窗口。
[0028] 在一种可能的设计中,所述根据所述目标数据集合以及第二预设算法确定多个相似度,包括:
[0029] 通过所述第二预设算法依次确定每相邻两个单位时长的目标数据子集之间的相似度,以得到所述多个相似度,所述目标数据子集包括一个单位时长内的所有目标数据。
[0030] 在一种可能的设计中,所述根据第三预设算法、预设异常时间窗口阈值以及所述目标相似度确定所述异常时间窗口,包括:
[0031] 通过所述第三预设算法和所述目标相似度确定候选异常时间窗口;
[0032] 若所述候选异常时间窗口对应的数值大于所述预设异常时间窗口阈值对应的数值,则确定所述候选异常时间窗口为所述异常时间窗口;
[0033] 若所述候选异常时间窗口对应的数值小于等于所述预设异常时间窗口阈值对应的数值,则确定所述预设异常时间窗口阈值为所述异常时间窗口。
[0034] 在一种可能的设计中,若所述目标待测数据非所述异常数据,则确定所述目标数据库运行正常;或者
[0035] 若所述其他目标待测数据并非均为所述异常数据,则确定所述目标数据库运行正常。
[0036] 在一种可能的设计中,在所述确定所述目标数据库发生故障之后,还包括:
[0037] 生成告警信息;
[0038] 发送所述告警信息至控制端和/或客户端,以提示所述目标数据库发生故障。
[0039] 第二方面,本申请提供一种数据库故障发现装置,包括:
[0040] 第一处理模块,用于根据目标数据集合以及所述目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,所述目标数据用于表征目标数据库的存储设备在历
史预设时长内的历史使用率;
[0041] 第二处理模块,用于若根据所述目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为所述异常数据,所述目标待测数据用于表征
所述存储设备的当前使用率;
[0042] 第三处理模块,用于若判断结果为是,则确定所述目标数据库发生故障。
[0043] 在一种可能的设计中,所述第一处理模块,具体用于:
[0044] 根据第一预设算法确定所述目标数据集合的波动系数,并根据所述波动系数确定目标概率阈值,所述波动系数用于表征所述历史使用率的波动幅度;
[0045] 基于预设逆累积分函数,根据所述目标概率阈值以及每个目标数据对应的所述概率分布特征函数确定各自对应的使用率阈值;
[0046] 通过确定所有使用率阈值的平均值,得到所述目标阈值。
[0047] 在一种可能的设计中,所述第一处理模块,还具体用于:
[0048] 根据每个目标数据以及对应的Beta分布函数确定对应的每个分布结果,每个分布结果为每个目标数据对应的Beta分布,所述概率分布特征函数包括所述Beta分布函数;
[0049] 基于所述预设逆累积分函数,根据所述目标概率阈值以及每个分布结果确定每个使用率阈值。
[0050] 在一种可能的设计中,所述数据库故障发现装置,还包括:
[0051] 获取模块,用于根据预设时间周期获取所述存储设备在所述历史预设时长内的多个历史数据;
[0052] 筛选模块,用于按照预设筛选规则对每个历史数据进行标注,剔除不符合所述预设筛选规则的历史数据,以得到候选数据;
[0053] 运算模块,用于对每个候选数据进行百分比运算,得到对应的所述目标数据。
[0054] 在一种可能的设计中,所述获取模块,还用于根据所述预设时间周期获取待测数据;
[0055] 所述筛选模块,还用于按照所述预设筛选规则对所述待测数据进行筛选,得到对应的所述目标待测数据。
[0056] 在一种可能的设计中,所述数据库故障发现装置,还包括:第四处理模块;所述第四处理模块,用于:
[0057] 根据所述目标数据集合以及第二预设算法确定多个相似度,每个相似度用于表征相邻两个单位时长对应的所述目标数据之间的相似程度,所述历史预设时长包括多个单位
时长;
[0058] 获取所有相似度的平均值,以得到目标相似度;
[0059] 根据第三预设算法、预设异常时间窗口阈值以及所述目标相似度确定所述异常时间窗口。
[0060] 在一种可能的设计中,所述第四处理模块,还用于:
[0061] 通过所述第二预设算法依次确定每相邻两个单位时长的目标数据子集之间的相似度,以得到所述多个相似度,所述目标数据子集包括一个单位时长内的所有目标数据。
[0062] 在一种可能的设计中,所述第四处理模块,还用于:
[0063] 通过所述第三预设算法和所述目标相似度确定候选异常时间窗口;
[0064] 若所述候选异常时间窗口对应的数值大于所述预设异常时间窗口阈值对应的数值,则确定所述候选异常时间窗口为所述异常时间窗口;
[0065] 若所述候选异常时间窗口对应的数值小于等于所述预设异常时间窗口阈值对应的数值,则确定所述预设异常时间窗口阈值为所述异常时间窗口。
[0066] 在一种可能的设计中,所述第三处理模块,还用于:
[0067] 若所述目标待测数据非所述异常数据,则确定所述目标数据库运行正常;或者
[0068] 若所述其他目标待测数据并非均为所述异常数据,则确定所述目标数据库运行正常。
[0069] 在一种可能的设计中,所述数据库故障发现装置,还包括:
[0070] 生成模块,用于生成告警信息;
[0071] 发送模块,用于发送所述告警信息至控制端和/或客户端,以提示所述目标数据库发生故障。
[0072] 第三方面,本申请提供一种电子设备,包括:
[0073] 至少一个处理器;以及
[0074] 与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被所述至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使所述至少一个处理器能够执
行第一方面及第一方面的可选方案中的任意一种所述的数据库故障发现方法。
[0075] 第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面及第一方面的可选方案中的任意一种所述
的数据库故障发现方法。
[0076] 本申请提供一种数据库故障发现方法、装置、电子设备及存储介质,首先根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值,其
中,目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率。若根据目
标阈值确定目标待测数据为异常数据,进一步判断异常时间窗口内的其他目标待测数据是
否均为异常数据,若判断结果为是,则确定目标数据库发生故障,其中,目标待测数据用于
表征存储设备的当前使用率。基于目标数据库存储设备的历史使用率以及对应的概率分布
特征函数确定目标阈值,对于目标阈值的确定更加符合目标数据库实际运行工况,提高了
目标阈值的合理性以及精度。并且,引入异常时间窗口的判断,使得故障的确定过程与目标
数据库实际运行的周期性强关联,进一步提高了故障发现的合理性。另外,故障发现的过程
无需考虑业务多样性以额外构建相应的深度学习模型,具有可实现性强以及利用率高等优
点。

附图说明

[0077] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以
根据这些附图获得其他的附图。
[0078] 图1为本申请实施例提供的一种应用场景示意图;
[0079] 图2为本申请实施例提供的一种数据库故障发现方法的流程示意图;
[0080] 图3为本申请实施例提供的另一种数据库故障发现方法的流程示意图;
[0081] 图4为本申请实施例提供的一种使用率示意图;
[0082] 图5为本申请实施例提供的另一种使用率示意图;
[0083] 图6为本申请实施例提供的再一种数据库故障发现方法的流程示意图;
[0084] 图7为本申请实施例提供的一种确定异常时间窗口的流程示意图;
[0085] 图8为本申请实施例提供的一种数据库故障发现装置的结构示意图;
[0086] 图9为本申请实施例提供的另一种数据库故障发现方法的结构示意图;
[0087] 图10为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0088] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
[0089] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
些过程、方法、产品或设备固有的其它步骤或单元。
[0090] 由于金融行业的安全性、实时性等高要求特点,相应地,对应用于金融行业的各相关应用系统也应当提出更高要求,以应用于数据交易等环节的数据库为例,为了给交易环
节提供良好的运行环境,往往需要对数据库的存储设备的使用情况是否存在故障进行监
测,例如对内存(CPU)和/或硬盘的输入/输出(Input/Output,简称I/O)接口的使用情况进
行监测,以确定数据库的运行过程是否存在使用超额等异常故障。现有技术中,可以通过设
置使用阈值确定数据库是否存在异常故障。一种是根据经验值设置一固定阈值,一旦其使
用情况超过该固定阈值,则确定数据库存在故障。然而,采用固定阈值进行故障判断的方
法,存在一些问题。例如,在运行过程中,需要不断根据实际情况调整该阈值,使得后期维护
工作量较大并缺乏合理性。假若阈值设置的过高,一些突增的使用情况可能无法被发现,存
在漏报风险。而若设置的过低,又因为故障监测过于敏感,引起大量误报。并且,随着业务的
不断发展,数据库的负载随之增加,采用固定阈值的解决方案未考虑数据库的实际运行趋
势,也可能会产生一些未知影响。另一种解决方案是利用深度学习模型确定一预测线,并在
预测线周围根据高斯分布确定一安全区间,使用情况一旦超过安全区间,则认为数据库存
在故障。但是,由于业务多样性的特点,针对一个业务往往需要成千上万个数据库对其提供
服务,若为所有的数据库都生成相应的深度学习模型,会由于模型专用内存空间过大以及
检测率较低等原因而存在无法大规模使用以及利用率较低的技术难题。
[0091] 可见,现有技术对于数据库的故障发现未能与数据库的实际运行过程进行关联,使得所确定的阈值以及确定过程都缺乏合理性。并且,基于深度学习模型的解决方案存在
无法大规模使用以及利用率较低的技术难题。
[0092] 针对现有技术中的上述问题,本申请提供一种数据库故障发现方法、装置、电子设备及存储介质。本申请提供的数据库故障发现方法,首先,根据目标数据集合以及目标数据
集合中每个目标数据对应的概率分布特征函数确定目标阈值,其中,目标数据用于表征目
标数据库的存储设备在历史预设时长内的历史使用率。所确定的目标阈值用于后续故障发
现过程中异常数据的判断。由于目标阈值是基于每个目标数据及其对应的概率分布特征函
数确定,使得目标阈值的符合目标数据库的实际运行工况,提高了设置目标阈值的合理性
及精度。其次,若基于目标阈值确定目标待测数据为异常数据,会进一步判断异常时间窗口
内的其他目标待测数据是否均为异常数据,在判断结果为是时,才确定目标数据库发生故
障。引入异常时间窗口的判断,使得故障的确定过程与目标数据库实际运行工况的周期性
进行强关联,进一步提高故障发现的合理性。另外,本申请提供的故障发现的过程无需考虑
业务的多样性以额外构建深度学习模型,具有可实现性强以及利用率高等优点。
[0093] 以下,对本申请实施例的示例性应用场景进行介绍。
[0094] 本申请实施例提供的数据库故障发现方法可以通过本申请实施例提供的数据库故障发现装置执行,本申请实施例提供的数据库故障发现装置可以是服务器或服务器集
群。图1为本申请实施例提供的一种应用场景示意图,如图1所示,网络用于为服务器11与服
务器12之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或
者光纤电缆等等。服务器11与服务器12之间可以通过网络进行交互,以接收或发送消息。其
中,服务器11和服务器12中的一者为目标数据库对应的数据库服务器,相应地,另一者则为
本申请实施例提供的数据库故障发现装置所对应的电子设备,例如,服务器11为目标数据
库对应的数据库服务器,则服务器12为执行本申请实施例提供的数据库故障发现方法的电
子设备。服务器11与服务器12之间通过网络进行信息的交互,以对服务器11对应的目标数
据库是否发生故障进行监测。
[0095] 值得被理解的是,根据目标数据库的实际工况可以将其对应的数据库服务器,即图1中的服务器11设置为服务器集群,对此,本申请实施例不作限定。图1中仅以服务器11为
例示出。
[0096] 需要说明的是,上述应用场景仅仅是示意性的,本申请实施例提供的数据库故障发现方法、装置、电子设备及存储介质包括但不仅限于上述应用场景。
[0097] 下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念
或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0098] 图2为本申请实施例提供的一种数据库故障发现方法的流程示意图,如图2所示,本实施例提供的数据库故障发现方法,包括:
[0099] S101:根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值。
[0100] 其中,目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率。
[0101] 每个目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率,在历史预设时长内对应的所有目标数据即形成目标数据集合。换言之,目标数据集合中的
每个目标数据,为目标数据库的存储设备在历史预设时长内的实际工况中所产生的实际使
用率。其中,历史预设时长可以是过去的某一段连续时长,例如历史一周、历史一月等等,目
标数据集合中的每个目标数据即为存储设备在历史一周中的所产生的每个历史使用率。需
要说明的是,此处的每个并非是指目标数据库在运行过程中存储设备所产生的历史使用率
是按照个数存在的,而是指数据库故障发现装置可以按照一定的时间周期获取历史使用
率,每次的获取操作则对应存在一个相应的数据。
[0102] 每个目标数据对应的概率分布特征函数,可以是一种能够表征目标数据所对应的事件发生的概率的特征函数,例如,贝塔(β,Beta)分布函数。贝塔分布函数是一个作为伯努
利分布和二项式分布的共轭先验分布的密度函数,其具备反映目标数据库中存储设备使用
率的先天优势,例如反映CPU和/或I/O接口的使用率。并且,表征存储设备的历史使用率的
每个目标数据的取值范围在[0,1]区间,正与Beta分布函数的定义域相匹配。因而,可以采
用每个目标数据对应的Beta分布函数作为其对应的概率分布特征函数,使得对目标数据集
合中目标数据的拟合过程更加合理。
[0103] 另外,本申请实施例在基于概率分布特征函数确定目标阈值时,利用了每个目标数据所对应的概率分布特征函数,并非现有技术中对所有历史数据采用一个特征函数进行
拟合。因而,对于目标数据的拟合过程更为合理,拟合结果更为平滑,进而使得目标阈值的
确定过程更加接近目标数据库的实际运行工况,有利于提高目标阈值的精度。
[0104] 需要说明的是,本申请实施例提供的概率分布特征函数包括但不仅限于Beta分布函数,在实现同等功效的情况下,也可以采用其他特征函数,对此,本申请实施例不作限定。
[0105] 在一种可能的设计中,步骤S101可能的实现方式可以如图3所示,图3为本申请实施例提供的另一种数据库故障发现方法的流程示意图,如图3所示,本实施例提供的数据库
故障方法中,根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函
数确定目标阈值,可以包括:
[0106] S1011:根据第一预设算法确定目标数据集合的波动系数,并根据波动系数确定目标概率阈值。
[0107] 其中,波动系数用于表征历史使用率的波动幅度。
[0108] 波动系数用于衡量历史使用率的波动幅度,波动幅度越大,表明目标数据库越容易出现高使用率的情况。根据第一预设算法可以确定目标数据集合的波动系数,即根据第
一预设算法可以确定目标数据库在历史预设时长内的波动幅度。第一预设算法可以为确定
波动系数的相应公式,如下公式(1)所示:
[0109]
[0110] 其中,ω表示波动系数,Xmax表示目标数据集合中数值最大的目标数据,Xmin表示目标数据集合中数值最小的目标数据,Xmean表示目标数据集合中所有目标数据对应数值的平
均值。
[0111] 根据上述公式(1)可以确定目标数据集合的波动系数,以反映目标数据集合在历史预设时长内的波动幅度。
[0112] 图4为本申请实施例提供的一种使用率示意图,图5为本申请实施例提供的另一种使用率示意图,其中,图4为波动系数较小的使用率对应的示意图,图5为波动系数较大的使
用率对应的示意图,参照图4和图5可见,对于不同波动系数的相应数据,应当设置不同阈
值。因而,为了更加反映目标数据库的实际运行状况,本申请实施例提供的数据库故障发现
方法,在基于目标数据集合利用第一预设算法确定了波动系数之后,进一步地,还根据波动
系数确定对应的目标概率阈值,例如,可以利用如下所示的公式(2)确定波动系数对应的目
标概率阈值。
[0113] Tc=1‑exp(‑1*ω)       (2)
[0114] 其中,Tc表示目标概率阈值,ω为通过公式(1)确定的波动系数,exp表示以自然常数e为底数的指数函数运算。
[0115] 从而,通过上述公式(2)基于目标数据集合的波动系数得到该波动系数所对应的目标概率阈值,以能够根据目标数据自身的特性确定后续的目标阈值,进而反映目标数据
库的实际运行工况。
[0116] S1012:基于预设逆累积分函数,根据目标概率阈值以及每个目标数据对应的概率分布特征函数确定各自对应的使用率阈值。
[0117] 在确定了目标数据集合对应的目标概率阈值之后,进一步地,基于预设逆累积分函数,根据目标概率阈值以及每个目标数据对应的概率分布特征函数分布确定各自对应的
使用率阈值。
[0118] 在一种可能的设计中,步骤S1012的可能的实现方式可以包括:
[0119] 根据每个目标数据以及对应的Beta分布函数确定对应的每个分布结果,其中,每个分布结果为每个目标数据对应的Beta分布,概率分布特征函数包括Beta分布函数;
[0120] 基于预设逆累积分函数,根据目标概率阈值以及每个分布结果确定每个使用率阈值。
[0121] 如步骤S101中所描述,每个目标数据对应的概率分布特征函数可以是Beta分布函数,将每个目标数据基于对应的Beta分布函数运算得到分布结果,该分布结果即为每个目
标数据的Beta分布,可以通过如下所示的公式(3)表示:
[0122]
[0123] 其中,α和β分别表示Beta分布函数中的拟合参数,B表示Beta分布函数,f表示根据目标数据X与对应的Beta分布函数所确定的分布结果,即目标数据X对应的Beta分布。
[0124] 将每个目标数据及其对应的Beta分布函数代入公式(3),可以对应得到每个分布结果,每个分布结果即为该目标数据对应的Beta分布。目标数据集合中存在多少个目标数
据,则可以得到相同数量的Beta分布。
[0125] 进一步地,将目标数据集合中每个目标数据对应的Beta分布,即上述得到的每个分布结果,与目标概率阈值基于预设逆累积分函数进行运算,运算结果即为使用率阈值,从
而得到目标数据集合中每个目标数据都对应的使用率阈值,目标数据集合中存在多少个目
标数据,即可得到相同数量的对应使用率阈值。
[0126] 值得被理解的是,本申请实施例提供的预设逆累积分函数,是与Beta分布中的Beta分布函数具有对应关系的相应函数,即当公式(3)中的Beta分布函数的参数α和β确定
之后,可以通过调用软件包以及运行软件包的方式,在输入目标概率阈值以及每个分布结
果,即每个目标数据对应的Beta分布,得到基于预设逆累积分函数运算之后的相应结果,该
结果即为每个目标数据对应使用率阈值。其中,对于实现预设逆累积分函数运算的软件包,
本申请实施例不作限定。
[0127] S1013:通过确定所有使用率阈值的平均值,得到目标阈值。
[0128] 在确定了目标数据集合中每个目标数据对应的使用率阈值之后,确定所有使用率阈值的平均值,将该平均值作为目标阈值,以进行目标数据库是否发生故障的判断。可以理
解的是,将所确定的目标阈值进行存储以备后续步骤使用。
[0129] 可见,本申请实施例提供的目标阈值是基于目标数据集合中每个目标数据对应的概率分布特征函数首先确定其对应的使用率阈值,进而对所有的使用率阈值进行平均值运
算得到。相比于采用一参数直接确定目标阈值,本申请实施例所确定的目标阈值精度更高,
对于数据库故障的发现更为准确。
[0130] 通过上述实施例的描述可知,本申请实施例提供的数据库故障发现方法,在确定用于异常数据判断的目标阈值时,基于每个目标数据对应的概率分布特征函数进行,从而
可以对应得到与目标数据数量相同的多个使用率阈值,进而将所有使用率阈值的均值可以
作为目标阈值,可见,目标阈值的确定是基于多组数据获得,而并非现有技术中的一组数
据,从而可以使得所确定的目标阈值更加平滑,减少异常点的影响。
[0131] 以概率分布特征函数为Beta分布函数为例进行说明,本申请实施例提供的目标阈值,通过每个目标数据得到对应的Beta分布,每个Beta分布都具有对应的拟合参数,假如目
标数据集合有N个目标数据,则得到N个Beta分布,以及N组对应的拟合参数α和β,再对目标
概率阈值和N个分布结果经过对应的N次预设逆累积分函数运算,得到N个使用率阈值,将N
个使用率阈值的均值确定为目标阈值。而现有技术中,在应用Beta分布函数时,通常是对所
有的数据使用一个Beta分布函数,即得到一组α和β拟合参数,基于该一个结果得到对应的
阈值。相比可见,本申请所确定目标阈值时的拟合过程更贴合目标数据库的实际运行工况,
拟合结果更为平滑,有利于提高目标阈值的精度。
[0132] S102:判断目标待测数据是否大于目标阈值。
[0133] 其中,目标待测数据用于表征存储设备的当前使用率。
[0134] 在确定了目标阈值之后,通过将目标待测数据与目标阈值进行比较,以确定目标待测数据是否为异常数据。其中,目标待测数据用于表征存储设备的当前使用率。换言之,
在确定了目标阈值之后,获取目标数据库的存储设备的当前使用率,即可通过判断目标待
测数据与目标阈值之间的大小关系,以确定目标待测数据是否为异常数据。
[0135] 通过比较目标待测数据与目标阈值之间的大小关系,得到对应的判断结果。若判断结果为是,即目标待测数据大于目标阈值,则确定用于判断的当前目标待测数据为异常
数据,执行步骤S103。反之,若判断结果为否,即目标待测数据不大于目标阈值,则确定用于
判断的当前目标待测数据非异常数据,则执行步骤S105。可以理解的是,本步骤中每次与目
标阈值进行比较判断的目标待测数据的数量为一个,即每获取到一个目标待测数据,都将
其与目标阈值进行比较,以确定该目标待测数据是否为异常数据。
[0136] 需要说明的是,本申请实施例提供的对于目标待测数据是否为异常数据的判断依据包括上述示例性中通过判断目标待测数据是否大于目标阈值,但并不仅限于该判断依
据,可以根据实际工况中目标数据库的运行实况设置相应的判断依据,对此,本申请实施例
不作限定。
[0137] S103:若根据目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为异常数据。
[0138] 在根据目标阈值确定了目标待测数据为异常数据之后,需要进一步判断异常时间窗口内的其他目标待测数据是否均为异常数据。其中,异常时间窗口用于表征目标数据库
运行状况的周期性特征,换言之,异常时间窗口用于表征目标数据的相似度。在此,引入异
常时间窗口的判断过程,是结合目标数据库的实际运行工况以提高数据库故障发现方法的
稳定性。在实际工况中,可能目标数据库的运行会存在某个目标数据的突增,但并不能仅因
为当前一个数据就判断目标数据库发生故障,而应该继续监测目标数据库在异常时间窗口
内的其他目标待测数据是否都为异常数据。
[0139] 在一种可能的设计中,判断异常时间窗口内的其他目标待测数据是否均为异常数据的可能的实现方式,可以采用前述实施例中根据目标阈值确定目标待测数据是否为异常
数据同样的方式,即判断其他目标待测数据是否均大于目标阈值,若判断结果为是,则确定
异常时间窗口内的其他目标待测数据均为异常数据,相应地,若判断结果为否,即异常时间
窗口内的其他目标待测数据中的一个或者全部都不大于目标阈值,则确定异常时间窗口内
的其他目标待测数据并非均为异常数据。
[0140] 可见,在对获取到的目标待测数据是否为异常数据判断之后,只有当其为异常数据时,进一步判断异常时间窗口内的其他目标待测数据是否也均为异常数据,若判断结果
为是,则执行步骤S104,若判断结果为否,则执行步骤S105。
[0141] 需要说明的是,对于异常时间窗口内的其他目标待测数据是否均为异常数据的判断依据可以与步骤S102中的一致,也可以不一致,具体可以根据目标数据库的实际运行工
况进行设置,对此,本申请实施例不作限定。
[0142] S104:确定目标数据库发生故障。
[0143] S105:确定目标数据库运行正常。
[0144] 若根据目标阈值确定目标待测数据为异常数据,并进一步判断异常时间窗口内的其他目标待测数据也均为异常数据,则确定目标数据库发生故障。
[0145] 另一方面,若根据目标阈值确定目标待测数据非异常数据,或者,在根据目标阈值确定目标待测数据为异常数据,但在进一步判断异常时间窗口内的其他目标待测数据是否
均为异常数据时,得到的判断结果是其他目标待测数据并非均为异常数据,则确定目标数
据库运行正常,未发生故障。
[0146] 至此,本申请实施例提供的数据库故障发现方法,通过目标阈值的确定过程,以及根据目标阈值确定目标待测数据是否为异常数据,在其为异常数据的前提下,进一步判断
异常时间窗口内的其他目标待测数据是否均为异常数据,以当异常时间窗口内的其他目标
待测数据均为异常数据时,确定目标数据库发生故障。
[0147] 本申请实施例提供的数据库故障发现方法,首先根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函数,例如Beta分布函数,确定目标阈值,其中,
目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率。然后根据目标
阈值对每次所获取到的目标待测数据是否为异常数据进行判断,若根据目标阈值确定目标
待测数据为异常数据,则进一步判断异常时间窗口内的其他目标待测数据是否均为异常数
据。在经过判断之后,若异常时间窗口内的其他目标待测数据也均为异常数据,则确定目标
数据库发生故障,目标待测数据用于表征存储设备的当前使用率。基于存储设备的历史使
用率以及对应的概率分布特征函数确定目标阈值,使得对于目标阈值的确定更加符合目标
数据库的实际运行工况,提高了目标阈值的合理性以及精度。当根据目标阈值将每次获取
到的目标待测数据确定为异常数据之后,引入异常时间窗口的判断,使得故障的确定过程
与目标数据库实际运行的周期性强关联,进一步提高了故障发现的合理性。另外,本申请实
施例提供的故障发现的过程,无需考虑业务多样性以额外构建相应的深度学习模型,具有
可实现性强以及利用率高等优点。
[0148] 在一种可能的设计中,在确定目标数据库存储在故障之后,还包括:
[0149] 生成告警信息;
[0150] 发送告警信息至控制端和/或客户端,以提示目标数据库发生故障。
[0151] 本申请实施例提供的故障发现方法,在步骤S104确定目标数据库发生故障之后,还可以生成告警信息,然后发送告警信息至控制端和/或客户端,以提示运维人员或用户目
标数据库发生故障。其中,所生成的告警信息的具体方式,可以根据目标数据库实际工况所
涉及的业务类型等因素进行设置,本申请实施例不作限定。控制端例如可以为运维人员的
操作平台,客户端例如可以为目标数据库的用户端,显然,本实施例仅是示意性答,提示目
标数据库发生故障的目标对象包括但不仅限于控制端和/或客户端,以及控制端及客户端
的具体工作内容及权限,本申请实施例不作限定。
[0152] 本申请实施例提供的数据库故障发现方法,在确定目标数据库存在故障之后,还生成的告警信息,并将告警信息发送至控制端和/或客户端,以提示相关人员或平台目标数
据库的运行存在故障,提高了用户的使用体验。
[0153] 在上述实施例中,确定目标阈值时的目标数据以及异常数据判断时的目标待测数据,其取值范围均为[0,1]。而目标数据库实际运行过程中,所能够获取到的数据通常为0至
100之间的整数,因而,在一种可能的设计中,在步骤S1011之前,本申请实施例提供的数据
库故障发现方法,还可以包括如图6所示的步骤,图6为本申请实施例提供的再一种数据库
故障发现方法的流程示意图,如图6所示,本实施例包括:
[0154] S201:根据预设时间周期获取存储设备在历史预设时长内的多个历史数据。
[0155] 如前述实施例中所描述,历史预设时长可以为过去的历史一周,或历史一个月等历史时长,以历史一周为例,在过去的历史一周中,每隔一分钟获取一次存储设备的使用状
态,所获取到的该使用率对应的数据即为历史数据,每分钟即为预设时间周期,则可以获取
到历史预设时长内的多个历史数据,每个历史数据表征存储设备的历史使用状态。
[0156] S202:按照预设筛选规则对每个历史数据进行标注,剔除不符合预设筛选规则的历史数据,以得到候选数据。
[0157] 目标数据库在实际运行过程中,例如,可能会出现负数或超过100的情况,因而,可以通过设置的预设筛选规则对诸如此类的历史数据进行剔除。例如,按照预设筛选规则对
每个历史数据进行标注,例如人工等标注方式,剔除不符合预设筛选规则的历史数据,相应
地,符合预设筛选规则的即为候选数据。其中,预设筛选规则可以是大于等于0小于等于100
等等,可以根据目标数据库运行过程中存储设备的使用状态具体设置,对此本申请实施例
不作限定。
[0158] S203:对每个候选数据进行百分比运算,得到对应的目标数据。
[0159] 对得到的每个候选数据进行百分比运算,即将其换算取值范围在[0,1]区间的对应数据,则得到历史数据对应的目标数据。从而基于所得到的多个目标数据形成目标数据
集合,进而确定目标阈值。
[0160] 本申请实施例提供的数据库故障发现方法,在根据第一预设算法确定目标数据集合的波动系数之前,首先根据预设时间周期获取存储设备在历史预设时长内的多个历史数
据,然后按照预设筛选规则对每个历史数据进行标注,以剔除不符合预设筛选规则的历史
数据,符合预设筛选规则的历史数据即确定为候选数据,并对每个候选数据进行百分比运
算,得到对应的目标数据。从而,将目标数据库实际运行过程中所获取到的历史数据,经过
一定的预处理过程,得到取值范围在[0,1]区间的目标数据,以基于其对应的概率分布特征
函数确定目标阈值,使得目标阈值的确定过程更为合理,并有利于提高所确定的目标阈值
的精度。
[0161] 在一种可能的设计中,在根据目标阈值确定目标待测数据是否为异常数据之前,即在判断目标待测数据是否大于目标阈值,以根据目标阈值确定目标待测数据为异常数据
之前,还可以对每次所获取到的待测数据采用图6所示实施例的相应步骤进行预处理,以得
到目标待测数据,进而判断其与目标阈值之间的大小关系。
[0162] 例如,首先根据预设时间周期获取待测数据,即与获取历史数据相同的时间间隔获取待测数据,然后按照预设筛选规则对待测数据进行筛选,得到对应的目标待测数据。其
中,待测数据可以理解为存储设备的当前使用状态。对于待测数据的预处理以得到目标待
测数据的具体实现方式及技术效果,则与图6所示实施例中的相关步骤类似,在此不再赘
述。
[0163] 如前述实施例所描述,若根据目标阈值确定目标待测数据为异常数据之后,还进一步判断异常时间窗口内的其他目标待测数据是否均为异常数据。其中,确定异常时间窗
口的一种可能的实现方式如图7所示,图7为本申请实施例提供的一种确定异常时间窗口的
流程示意图,如图7所示,本实施例提供的方法,包括:
[0164] S301:根据目标数据集合以及第二预设算法确定多个相似度。
[0165] 其中,每个相似度用于表征相邻两个单位时长对应的目标数据之间的相似程度,历史预设时长包括多个单位时长。
[0166] 目标数据集合是由历史预设时长内的多个目标数据构成,历史预设时长包括多个单位时长。由于历史预设时长为物理时间中的连续时长,因而,将历史预设时长可以划分为
连续的且时长相等的多个单位时长,例如,历史预设时长为历史一周,即历史七天,单位时
长可以为一周中的每一天。根据目标数据集合以及第二预设算法确定多个相似度,每个相
似度用于表征相邻两个单位时长对应的目标数据之间的相似程度,则可以理解为,根据目
标数据集合以及第二预设算法,确定历史七天中,每相邻两天的目标数据之间的相似程度,
则可以得到数量为六的多个相似度。
[0167] 例如,根据目标数据集合以及第二预设算法确定多个相似度可能的实现方式为:
[0168] 通过第二预设算法依次确定每相邻两个单位时长的目标数据子集之间的相似度,以得到多个相似度,其中,目标数据子集包括一个单位时长内的所有目标数据。
[0169] 历史预设时长被划分为连续的且时长相等的多个单位时长,例如,历史预设时长为一周的七天,则单位时长依次为一周的第一天至第七天。因而,通过第二预设算法依次确
定每相邻两个单位时长的目标数据子集之间的相似度,即通过第二预设算法依次确定第一
天和第二天、第二天和第三天,直至第六天和第七天的每相邻两天的目标数据子集之间的
相似度,则可以得到六个相似度。目标数据子集包括有一个单位时长内的所有目标数据,即
目标数据集合被划分为七个目标数据子集,每个目标数据子集包括一个单位时长,即每天
的所有目标数据。其中,第二预设算法可以为余弦相似度算法,如下公式(4)所示:
[0170]
[0171] 依据上述描述,预设时间周期为每分钟,则公式(4)中n的取值可以为1440,即目标数据子集中存在1440个目标数据,历史时长中一天的目标数据可以通过一个1440维的向量
A表示,与向量A相邻的这一天的目标数据也同样为一个1440维的向量B表示,S则表示向量A
与向量B之间的相似度,即相邻两天的目标数据之间的相似度。
[0172] 当历史时长为历史一周时,则目标数据集合中的目标数据基于上述公式(4)可以确定的六个相似度。
[0173] 需要说明的是,历史预设时长中单位时长所对应的具体时长可以根据目标数据库的实际运行情况进行设置,上述仅是示例性的描述,将单位时长设置为一天,但并非是对其
进行了限定。另外,第二预设算法所具体采用的运算方法也可以是其他具有同等功效的相
关运算方法,包括但不仅限与上述的余弦相似度算法。
[0174] S302:获取所有相似度的平均值,以得到目标相似度。
[0175] 对通过步骤S301所确定的多个相似度进行平均值运算,将运算结果确定为目标相似度。
[0176] S303:根据第三预设算法、预设异常时间窗口阈值以及目标相似度确定异常时间窗口。
[0177] 在确定了目标相似度之后,根据第三预设算法、预设异常时间窗口阈值以及目标相似度确定异常时间窗口,以通过异常时间窗口反映目标数据库实际运行情况的周期性特
征。
[0178] 对于周期性较强的目标数据库,短时间内出现异常数据就应当引起运维人员等控制端的重视。而对于周期性较弱的目标数据库,出现异常数据的情况持续一段时间才能被
认为目标数据库的实际运行发生故障。因而,对于目标数据库是否发生故障的判断,引入异
常时间窗口,以提高判断方法的稳定性。
[0179] 在一种可能的设计中,步骤S303可能的实现方式包括:
[0180] 通过第三预设算法和目标相似度确定候选异常时间窗口;
[0181] 若候选异常时间窗口对应的数值大于预设异常时间窗口阈值对应的数值,则确定候选异常时间窗口为异常时间窗口;
[0182] 若候选异常时间窗口对应的数值小于等于预设异常时间窗口阈值对应的数值,则确定预设异常时间窗口阈值为异常时间窗口。
[0183] 其中,首先通过第三预设算法进行目标相似度与候选异常时间窗口的转换,第三预设算法可以采用如下所示的公式(5)表示:
[0184] T=10‑上取整(目标相似度*10)       (5)
[0185] 具体地,将目标相似度与10相乘,取其乘积的整数部分,再与10做差,得到的结果则为候选异常时间窗口。例如,目标相似度为0.7,则所确定的候选异常时间窗口即为3。
[0186] 在实际工况中,对于一实际工况明确的目标数据库而言,通常会根据长期的运行情况设置一经验值,即预设异常时间窗口阈值。因而,为了提高本申请实施例提供的数据库
故障发现方法的稳定性,在根据第三预设算法和目标相似度确定了候选异常时间窗口后,
还需将候选异常时间窗口与预设异常时间窗口阈值各自对应的数值进行比较,根据比较结
果确定异常时间窗口。
[0187] 例如,若候选异常时间窗口对应的数值大于预设异常时间窗口阈值对应的数值,则确定候选异常时间窗口为异常时间窗口。另一方面,若候选异常时间窗口对应的数值小
于等于预设异常时间窗口阈值对应的数值,则确定预设异常时间窗口阈值为异常时间窗
口。
[0188] 根据经验值,通常设置预设异常时间窗口阈值为3。当候选异常时间窗口对应的数值大于3时,则确定候选异常时间窗口为异常时间窗口。而当候选异常时间窗口对应的数值
小于3时,例如2或1,则确定预设异常时间窗口阈值为异常时间窗口。可以理解的是,预设异
常时间窗口阈值对应的数值并不限定于3,可以根据目标数据库的实际工况进行设置,对
此,本申请实施例不作限定。
[0189] 假如确定的异常时间窗口对应的数值为3,则在利用异常时间窗口进行判断时,异常时间窗口内的其他目标待测数据的数量为2个,即进行数据库故障判断的目标待测数据
的总数量为3,因而若根据目标阈值确定了目标待测数据为异常数据后,进一步判断该目标
待测数据之后的2个其他目标待测数据是否均为异常数据。
[0190] 需要说明的是,第三预设算法也可以是其他的转换公式,上述公式(5)仅是示意性的,并非限定于此。
[0191] 本申请实施例提供的数据库故障发现方法,若确定了目标待测数据为异常数据,则进一步判断异常时间窗口内的其他目标待测数据是否均为异常数据,因而,在该判断步
骤之前,可以首先根据目标数据集合以及第二预设算法确定多个相似度,其中,每个相似度
用于表征相邻两个单位时长对应的目标数据之间的相似程度,而历史预设时长包括多个单
位时长。然后获取所有相似度的平均值,以得到目标相似度,再根据第三预设算法、预设异
常时间窗口阈值以及目标相似度确定异常时间窗口。使得故障的确定过程与目标数据库实
际运行的周期性强关联,进一步提高了故障发现的合理性及稳定性。
[0192] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0193] 图8为本申请实施例提供的一种数据库故障发现装置的结构示意图,如图8所示,本实施例提供的数据库故障发现装置400,包括:
[0194] 第一处理模块401,用于根据目标数据集合以及目标数据集合中每个目标数据对应的概率分布特征函数确定目标阈值。
[0195] 其中,目标数据用于表征目标数据库的存储设备在历史预设时长内的历史使用率。
[0196] 第二处理模块402,用于若根据目标阈值确定目标待测数据为异常数据,则判断异常时间窗口内的其他目标待测数据是否均为异常数据。
[0197] 其中,目标待测数据用于表征存储设备的当前使用率。
[0198] 第三处理模块403,用于若判断结果为是,则确定目标数据库发生故障。
[0199] 在一种可能的设计中,第一处理模块401,具体用于:
[0200] 根据第一预设算法确定目标数据集合的波动系数,并根据波动系数确定目标概率阈值,波动系数用于表征历史使用率的波动幅度;
[0201] 基于预设逆累积分函数,根据目标概率阈值以及每个目标数据对应的概率分布特征函数确定各自对应的使用率阈值;
[0202] 通过确定所有使用率阈值的平均值,得到目标阈值。
[0203] 在一种可能的设计中,第一处理模块401,还具体用于:
[0204] 根据每个目标数据以及对应的Beta分布函数确定对应的每个分布结果,每个分布结果为每个目标数据对应的Beta分布,概率分布特征函数包括Beta分布函数;
[0205] 基于预设逆累积分函数,根据目标概率阈值以及每个分布结果确定每个使用率阈值。
[0206] 在一种可能的设计中,第二处理模块402,还用于:
[0207] 判断目标待测数据是否大于目标阈值;
[0208] 若是,则确定目标待测数据为异常数据;
[0209] 若否,则确定目标待测数据非异常数据。
[0210] 在一种可能的设计中,第二处理模块402,还用于:
[0211] 判断其他目标待测数据是否均大于目标阈值;
[0212] 若是,则确定其他目标待测数据均为异常数据;
[0213] 若否,则确定其他目标待测数据并非均为异常数据。
[0214] 在一种可能的设计中,第三处理模块403,还用于:
[0215] 若目标待测数据非异常数据,则确定目标数据库运行正常;或者
[0216] 若其他目标待测数据并非均为异常数据,则确定目标数据库运行正常。
[0217] 在图8所示实施例的基础上,图9为本申请实施例提供的另一种数据库故障发现方法的结构示意图,如图9所示,本实施例提供的数据库故障发现装置400,还包括:
[0218] 获取模块404,用于根据预设时间周期获取存储设备在历史预设时长内的多个历史数据;
[0219] 筛选模块405,用于按照预设筛选规则对每个历史数据进行人工标注,剔除不符合预设筛选规则的历史数据,以得到候选数据;
[0220] 运算模块406,用于对每个候选数据进行百分比运算,得到对应的目标数据。
[0221] 在一种可能的设计中,获取模块404,还用于根据预设时间周期获取待测数据;
[0222] 筛选模块405,还用于按照预设筛选规则对待测数据进行筛选,得到对应的目标待测数据。
[0223] 在上述实施例的基础上,本申请实施例提供的数据库故障发现装置400,还包括:第四处理模块;
[0224] 其中,第四处理模块,用于:
[0225] 根据目标数据集合以及第二预设算法确定多个相似度,每个相似度用于表征相邻两个单位时长对应的目标数据之间的相似程度,历史预设时长包括多个单位时长;
[0226] 获取所有相似度的平均值,以得到目标相似度;
[0227] 根据第三预设算法、预设异常时间窗口阈值以及目标相似度确定异常时间窗口。
[0228] 在一种可能的设计中,第四处理模块,还用于:
[0229] 通过第二预设算法依次确定每相邻两个单位时长的目标数据子集之间的相似度,以得到多个相似度,目标数据子集包括一个单位时长内的所有目标数据。
[0230] 在一种可能的设计中,第四处理模块,还用于:
[0231] 通过第三预设算法和目标相似度确定候选异常时间窗口;
[0232] 若候选异常时间窗口对应的数值大于预设异常时间窗口阈值对应的数值,则确定候选异常时间窗口为异常时间窗口;
[0233] 若候选异常时间窗口对应的数值小于等于预设异常时间窗口阈值对应的数值,则确定预设异常时间窗口阈值为异常时间窗口。
[0234] 在一种可能的设计中,本申请实施例提供的数据库故障发现装置400,还包括:
[0235] 生成模块,用于生成告警信息;
[0236] 发送模块,用于发送告警信息至控制端和/或客户端,以提示目标数据库发生故障。
[0237] 本申请所提供的上述装置实施例仅仅是示意性的,其中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到
另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通
信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块
可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同
设备的不同位置上。
[0238] 值得说明的,上述所示实施例提供的数据库故障发现装置,可用于执行上述实施例提供的数据库故障发现方法的对应步骤,具体实现方式、原理以及技术效果与前述方法
实施例类似,在此不再赘述。
[0239] 图10为本申请实施例提供的一种电子设备的结构示意图,如图10所示,本实施例提供的电子设备500,包括:
[0240] 至少一个处理器501;以及
[0241] 与至少一个处理器501通信连接的存储器502;其中,
[0242] 存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述方法实施例中的数据库故障发现方法的各
个步骤,具体可以参考前述方法实施例中的相关描述。
[0243] 可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
[0244] 当存储器502是独立于处理器501之外的器件时,电子设备500,还可以包括:
[0245] 总线503,用于连接处理器501以及存储器502。
[0246] 此外,本申请实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述各实施例中的数据库故障发现方法的各个步骤。例
如,可读存储介质可以是ROM、随机存取存储器(RAM)、CD‑ROM、磁带、软盘和光数据存储设备
等。
[0247] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要
求书指出。
[0248] 应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限
制。