掌桥专利:专业的专利平台
掌桥专利
首页

一种数据库资源监控方法及装置

文献发布时间:2023-06-19 10:05:17


一种数据库资源监控方法及装置

技术领域

本申请涉及计算机技术领域,具体涉及一种数据库资源监控方法及装置。

背景技术

在企业级计算机信息系统运行的过程中,通常需要高频度地访问数据库,为了确保数据库能够可靠地支持计算机信息系统的运行,需要对数据库的资源使用情况,如数据库空间使用率、回滚段使用率、临时空间使用率、连接个数、中央处理器(CentralProcessing Unit,CPU)负载率等指标,进行24(小时)*7(天)的持续性监控。

现有技术中,通常会针对数据库的各项资源使用指标设置对应的告警阈值,当监控到数据库的资源使用指标超过其对应的告警阈值时发出告警。

然而,上述现有技术存在以下缺陷:第一,在数据库的资源使用异常后才发出告警,时效性较差,此时对于计算机信息系统的正常运行可能已经产生了一定的影响;第二,通用性差,由于所设置的告警阈值是固定的,其通常仅适用于监控特定的数据库,无法通用于监控其它数据库;第三,数据难以回溯,上述现有技术通常只记录数据库当前的资源使用情况,无法根据实际应用需求回溯历史数据,根据历史数据进行相关的分析处理。

发明内容

本申请实施例提供了一种数据库资源监控方法及装置,具有较好的时效性和通用性,且可以记录相关历史数据。

有鉴于此,本申请第一方面提供了一种数据库资源监控方法,所述方法包括:

定时采集数据库的资源使用情况指标,作为待评定使用指标;

判断所述待评定使用指标是否处于正常值范围;所述正常值范围是通过机器学习算法根据所述待评定使用指标对应的历史数据确定的;

在判断所述待评定使用指标不处于所述正常值范围的情况下,发出针对所述待评定使用指标的告警信息;

在判断所述待评定使用指标处于所述正常值范围的情况下,根据所述待评定使用指标对应的第一预设时段内的历史数据,预测所述待评定使用指标在第二预设时段内是否会处于所述正常值范围;

在判断所述待评定使用指标在第二预设时段内不处于所述正常值范围的情况下,发出针对所述待评定使用指标的预警信息。

可选的,所述方法还包括:

将所述待评定使用指标封装为预设格式的日志文件,发送到目标位置;

则所述判断所述待评定使用指标是否处于正常值范围,包括:

轮询到所述目标位置处的所述日志文件时,解析所述日志文件中的所述待评定使用指标;

判断所述待评定使用指标是否处于所述正常值范围。

可选的,通过以下方式确定所述正常值范围:

通过聚类算法根据所述待评定使用指标对应的历史数据确定所述正常值范围。

可选的,所述方法还包括:

在判断所述待评定使用指标处于所述正常值范围的情况下,判断所述待评定使用指标是否符合对应的自定义异常标准;所述自定义异常标准是管理用户针对所述待评定使用指标设置的异常标准;

在判断所述待评定指标符合所述自定义异常标准的情况下,发出针对所述待评定指标的告警信息。

可选的,所述方法还包括:

在判断所述待评定使用指标处于所述正常值范围,且在所述第二预设时段内仍处于所述正常值范围的情况下,将所述待评定使用指标纳入历史数据,以便后续根据所述待评定使用指标更新所述正常值范围。

可选的,所述方法还包括:

当需要针对所述待评定使用指标发出所述告警信息或所述预警信息时,发送告警报文或预警报文给短信系统。

可选的,所述方法还包括:

在判断所述待评定使用指标不处于所述正常值范围,或者判断所述待评定使用指标在所述第二预设时段内不处于所述正常值范围的情况下,对采集所述待评定使用指标时采集的结构化查询语言SQL语句进行分析,以确定所述待评定使用指标对应的异常原因。

本申请第二方面提供了一种数据库资源监控装置,所述装置包括:

采集模块,用于定时采集数据库的资源使用情况指标,作为待评定使用指标;

第一判断模块,用于判断所述待评定使用指标是否处于正常值范围;所述正常值范围是通过机器学习算法根据所述待评定使用指标对应的历史数据确定的;

告警模块,用于在判断所述待评定使用指标不处于所述正常值范围的情况下,发出针对所述待评定使用指标的告警信息;

预测模块,用于在判断所述待评定使用指标处于所述正常值范围的情况下,根据所述待评定使用指标对应的第一预设时段内的历史数据,预测所述待评定使用指标在第二预设时段内是否会处于所述正常值范围;

预警模块,用于在判断所述待评定使用指标在第二预设时段内不处于所述正常值范围的情况下,发出针对所述待评定使用指标的预警信息。

可选的,所述装置还包括:

封装模块,用于将所述待评定使用指标封装为预设格式的日志文件,发送到目标位置;

则所述判断模块具体用于:

轮询到所述目标位置处的所述日志文件时,解析所述日志文件中的所述待评定使用指标;

判断所述待评定使用指标是处于所述正常值范围。

可选的,所述装置还包括:

正常值范围确定模块,用于通过聚类算法根据所述待评定使用指标对应的历史数据确定所述正常值范围。

可选的,所述装置还包括:

第二判断模块,用于在判断所述待评定使用指标处于所述正常值范围的情况下,判断所述待评定使用指标是否符合对应的自定义异常标准;所述自定义异常标准是管理用户针对所述待评定使用指标设置的异常标准;

所述预警模块,还用于在判断所述待评定指标符合所述自定义异常标准的情况下,发出针对所述待评定指标的告警信息。

可选的,所述装置还包括:

存储模块,用于在判断所述待评定使用指标处于所述正常值范围,且在所述第二预设时段内仍处于所述正常值范围的情况下,将所述待评定使用指标纳入历史数据,以便后续根据所述待评定使用指标更新所述正常值范围。

可选的,所述装置还包括:

报文发送模块,用于当需要针对所述待评定使用指标发出所述告警信息或所述预警信息时,发送告警报文或预警报文给短信系统。

可选的,所述装置还包括:

报警原因分析模块,用于在判断所述待评定使用指标不处于所述正常值范围,或者判断所述待评定使用指标在所述第二预设时段内不处于所述正常值范围的情况下,对采集所述待评定使用指标时采集的结构化查询语言SQL语句进行分析,以确定所述待评定使用指标对应的异常原因。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种数据库资源监控方法,在该方法中,可以定时采集数据库的资源使用情况指标作为待评定使用指标,然后判断该待评定使用指标是否处于正常值范围,该正常值范围是通过机器学习算法根据该待评定使用指标对应的历史数据确定的;在判断该待评定使用指标不处于正常值范围的情况下,发出针对该待评定使用指标的告警信息;在判断该待评定使用指标处于正常值范围的情况下,根据该待评定使用指标在第一预设时段内的历史数据,预测待评定使用指标在第二预设时段内是否会处于正常值范围;在判断该待评定使用指标在第二预设时段内不处于所述正常值范围的情况下,发出针对该待评定使用指标的预警信息。

上述本申请实施例提供的数据库资源监控方法,可以在数据库资源异常前发出预警,以尽早提出潜在风险。此外,由于上述数据库资源监控方法中所使用的告警阈值即正常值范围,是根据待评定使用指标对应的历史数据确定的,自动化程度高,且可以适配于各种数据库根据其各自的资源使用指标确定对应的正常值范围。并且,上述数据库资源监控方法可以记录各项数据库资源使用指标的历史数据,便于进行数据回溯。

附图说明

图1为本申请实施例提供的一种数据库资源监控方法的流程示意图;

图2为本申请实施例提供的一种数据库资源监控装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

现有技术中常用的数据库资源监控方法如下:针对数据库的各项资源使用指标设置对应的告警阈值,当监控到数据库的资源使用指标超过其对应的告警阈值时发出告警。

经本申请发明人研究发现,上方法存在以下缺陷:第一,在数据库的资源使用异常后才发出告警,时效性较差,此时对于计算机信息系统的正常运行可能已经产生了一定的影响;第二,通用性差,由于所设置的告警阈值是固定的,其通常仅适用于监控特定的数据库,无法通用于监控其它数据库;第三,数据难以回溯,上述现有技术通常只记录数据库当前的资源使用情况,无法根据实际应用需求回溯历史数据,根据历史数据进行相关的分析处理。

针对上述现有技术存在的问题,本申请实施例提供了一种数据库资源监控方法,在该方法中,可以定时采集数据库的资源使用情况指标作为待评定使用指标,然后判断该待评定使用指标是否处于正常值范围,该正常值范围是通过机器学习算法根据该待评定使用指标对应的历史数据确定的;在判断该待评定使用指标不处于正常值范围的情况下,发出针对该待评定使用指标的告警信息;在判断该待评定使用指标处于正常值范围的情况下,根据该待评定使用指标在第一预设时段内的历史数据,预测待评定使用指标在第二预设时段内是否会处于正常值范围;在判断该待评定使用指标在第二预设时段内不处于正常值范围的情况下,发出针对该待评定使用指标的预警信息。

上述本申请实施例提供的数据库资源监控方法,使用机器学习算法对资源使用情况指标结合历史数据进行智能分析,可以对目前尚未超阈值但按趋势很快要超出阈值的情况提前发出预警,可以对已超出阈值的情况发出告警,同时按照最新指标数据进行计算动态更新异常判断阈值,具有智能化程度高,无需人工值守、通用性较强、时效性高、自适应能力强等特点。

下面通过方法实施例对本申请提供的数据库资源监控方法进行详细介绍。

参见图1,图1为本申请实施例提供的数据库资源监控方法的流程示意图。如图1所示,该方法包括以下步骤:

步骤101:定时采集数据库的资源使用情况指标,作为待评定使用指标。

采集程序定时深度抓取数据库的资源使用情况指标,包括但不限于临时空间使用率、回滚段使用率、正在执行的结构化查询语言(Structured Query Language,SQL)语句、连接数、中央处理器(Central Processing Unit,CPU)使用率等,将所采集的数据库的资源使用情况指标作为待评定使用指标。

采集到待评定使用指标后,将其封装为预设格式的日志文件,发送到目标位置。

步骤102:判断所述待评定使用指标是否处于正常值范围;所述正常值范围是通过机器学习算法根据所述待评定使用指标对应的历史数据确定的。

解析程序轮询到目标位置处的日志文件后,解析日志文件中的待评定使用指标,包括但不限于临时空间使用率、回滚段使用率、正在执行的SQL语句、会话数、CPU使用率等。

然后,分析程序可以判断解析出的待评定使用指标是否处于正常值范围,在此不对该正常值范围的形式做任何限定。示例性的,可以采用异常点检测算法判断该待评定使用指标是否处于正常值范围。

需要说明的是,该正常值范围是通过机器学习算法根据待评定使用指标对应的历史数据确定的,例如,假设待评定使用指标为临时空间使用率,则可以通过机器学习算法,根据临时空间使用率的历史数据确定临时空间使用率的正常值范围。具体的,可以通过聚类算法根据待使用指标对应的历史数据确定该正常值范围,例如,可以使用聚类算法识别出最新的指标模式曲线图,将其作为对应的异常值检测标准。

步骤103:在判断所述待评定使用指标不处于所述正常值范围的情况下,发出针对所述待评定使用指标的告警信息。

若判断待评定使用指标不在正常值范围内,则可以发出针对该待评定使用指标的告警信息。

步骤104:在判断所述待评定使用指标处于正常值范围的情况下,根据所述待评定使用指标对应的第一预设时段内的历史数据,预测所述待评定使用指标在第二预设时段内是否处于所述正常值范围。

若判断该待评定使用指标处于正常值范围,则可以根据待评定使用指标对应的第一预设时段内的历史数据,预测该待评定使用指标在第二预设时段内的值,并判断其是否会处于正常值范围。示例性的,可以根据待评定使用指标在本时点内的历史数据,按数据发展趋势预测该待评定使用指标在下次采样时是否会为异常值。

应理解,上述第一预设时段和第二预设时段仅为示例,在实际应用中,对于第二预设时段与第三预设时段、第三预设时段与第四预设时段等同样适用。

步骤105:在判断所述待评定使用指标在第二预设时段内不处于正常值范围的情况下,发出针对所述待评定使用指标的预警信息。

在判断该待评定使用指标在第二预设时段内不处于正常值范围的情况,发出针对该待评定使用指标的预警信息。

此外,在判断待评定使用指标处于正常值范围的情况下,还可以判断该待评定使用指标是否符合对应的自定义异常标准,该自定义异常标准是管理用户针对待评定使用指标设置的异常标准。在判断该待评定使用指标符合自定义异常标准的情况下,发出针对该待评定使用指标的告警信息。示例性的,管理用户可以根据实际需求设置自定义异常标准,例如,针对使用情况指标数据库使用率,可以根据需求追加一道检测标准:环比年初指标的差异应该在+/-5%范围内,在待评定指标为数据库使用率时,若该待评定指标不满足该检测标准,则可以针对该数据库使用率发出告警信息。

在判断待评定使用指标处于正常值范围,且在第二预设时段内仍处于正常值范围的情况下,可以将该待评定使用指标纳入历史,以便后续根据该待评定使用指标更新正常值范围。

当需要针对待评定使用指标发出告警信息时,可以发送告警报文给短信系统,以通过短信系统向相关负责用户发出针对数据库的待评定使用指标的告警短信。相类似地,当需要针对待评定使用指标发出预警信息时,可以发送预警报文给短信系统,以通过短信系统向相关负责用户发出针对数据的待评定使用指标的预警短信。

在判断待评定使用指标不处于正常值范围,或者判断该待评定使用指标在第二预设时段内会变不处于正常值范围的情况下,可以对采集该待评定使用指标时采集的SQL语句进行分析,以确定该待评定使用指标对应的异常原因。

在本申请实施例的数据库资源监控方法中,可以定时采集数据库的资源使用情况指标作为待评定使用指标,然后判断该待评定使用指标是否处于正常值范围,该正常值范围是通过机器学习算法根据该待评定使用指标对应的历史数据确定的;在判断该待评定使用指标不处于正常值范围的情况下,发出针对该待评定使用指标的告警信息;在判断该待评定使用指标处于正常值范围的情况下,根据该待评定使用指标在第一预设时段内的历史数据,预测待评定使用指标在第二预设时段内是否仍处于正常值范围;在判断该待评定使用指标在第二预设时段内不处于正常值范围的情况下,发出针对该待评定使用指标的预警信息。上述本申请实施例提供的数据库资源监控方法,使用机器学习算法对资源使用情况指标结合历史数据进行智能分析,可以对目前尚未超阈值但按趋势很快要超出阈值的情况提前发出预警,可以对已超出阈值的情况发出告警,同时按照最新指标数据进行计算动态更新异常判断阈值,具有智能化程度高,无需人工值守、通用性较强、时效性高、自适应能力强等特点。

本申请实施例还提供了一种数据库资源监控装置,参见图2,图2为本申请实施例提供的数据库资源监控装置的结构示意图。如图2所示,该装置包括:

采集模块201,用于定时采集数据库的资源使用情况指标,作为待评定使用指标;

第一判断模块202,用于判断所述待评定使用指标是否处于正常值范围;所述正常值范围是通过机器学习算法根据所述待评定使用指标对应的历史数据确定的;

告警模块203,用于在判断所述待评定使用指标不处于所述正常值范围的情况下,发出针对所述待评定使用指标的告警信息;

预测模块204,用于在判断所述待评定使用指标处于所述正常值范围的情况下,根据所述待评定使用指标对应的第一预设时段内的历史数据,预测所述待评定使用指标在第二预设时段内是否处于所述正常值范围;

预警模块205,用于在判断所述待评定使用指标在第二预设时段内不处于所述正常值范围的情况下,发出针对所述待评定使用指标的预警信息。

可选的,所述装置还包括:

封装模块,用于将所述待评定使用指标封装为预设格式的日志文件,发送到目标位置;

则所述第一判断模块具体用于:

轮询到所述目标位置处的所述日志文件时,解析所述日志文件中的所述待评定使用指标;

判断所述待评定使用指标是否处于所述正常值范围。

可选的,所述装置还包括:

正常值范围确定模块,用于通过聚类算法根据所述待评定使用指标对应的历史数据确定所述正常值范围。

可选的,所述装置还包括:

第二判断模块,用于在判断所述待评定使用指标处于所述正常值范围的情况下,判断所述待评定使用指标是否符合对应的自定义异常标准;所述自定义异常标准是管理用户针对所述待评定使用指标设置的异常标准;

所述预警模块,还用于在判断所述待评定指标符合所述自定义异常标准的情况下,发出针对所述待评定指标的告警信息。

可选的,所述装置还包括:

存储模块,用于在判断所述待评定使用指标处于所述正常值范围,且在所述第二预设时段内仍处于所述正常值范围的情况下,将所述待评定使用指标纳入历史数据,以便后续根据所述待评定使用指标更新所述正常值范围。

可选的,所述装置还包括:

报文发送模块,用于当需要针对所述待评定使用指标发出所述告警信息或所述预警信息时,发送告警报文或预警报文给短信系统。

可选的,所述装置还包括:

报警原因分析模块,用于在判断所述待评定使用指标不处于所述正常值范围,或者判断所述待评定使用指标在所述第二预设时段内不处于所述正常值范围的情况下,对采集所述待评定使用指标时采集的结构化查询语言SQL语句进行分析,以确定所述待评定使用指标对应的异常原因。

在本申请实施例的数据库资源监控装置中,可以定时采集数据库的资源使用情况指标作为待评定使用指标,然后判断该待评定使用指标是否处于正常值范围,该正常值范围是通过机器学习算法根据该待评定使用指标对应的历史数据确定的;在判断该待评定使用指标不处于正常值范围的情况下,发出针对该待评定使用指标的告警信息;在判断该待评定使用指标处于正常值范围的情况下,根据该待评定使用指标在第一预设时段内的历史数据,预测待评定使用指标在第二预设时段内是否处于正常值范围;在判断该待评定使用指标在第二预设时段内不处于正常值范围的情况下,发出针对该待评定使用指标的预警信息。上述本申请实施例提供的数据库资源监控装置,使用机器学习算法对资源使用情况指标结合历史数据进行智能分析,可以对目前尚未超阈值但按趋势很快要超出阈值的情况提前发出预警,可以对已超出阈值的情况发出告警,同时按照最新指标数据进行计算动态更新异常判断阈值,具有智能化程度高,无需人工值守、通用性较强、时效性高、自适应能力强等特点。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种数据库资源监控方法中的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种数据库资源监控方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种数据库资源监控方法及装置
  • 一种数据库资源的划分方法、系统及相关装置
技术分类

06120112410240