CN113760879B - 数据库异常监测方法、系统、电子设备及介质 - Google Patents

数据库异常监测方法、系统、电子设备及介质 Download PDF

Info

Publication number
CN113760879B
CN113760879B CN202110973428.4A CN202110973428A CN113760879B CN 113760879 B CN113760879 B CN 113760879B CN 202110973428 A CN202110973428 A CN 202110973428A CN 113760879 B CN113760879 B CN 113760879B
Authority
CN
China
Prior art keywords
abnormal
index
performance index
performance
database
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.)
Active
Application number
CN202110973428.4A
Other languages
English (en)
Other versions
CN113760879A (zh
Inventor
余聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ctrip Travel Information Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Information Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ctrip Travel Information Technology Shanghai Co Ltd filed Critical Ctrip Travel Information Technology Shanghai Co Ltd
Priority to CN202110973428.4A priority Critical patent/CN113760879B/zh
Publication of CN113760879A publication Critical patent/CN113760879A/zh
Application granted granted Critical
Publication of CN113760879B publication Critical patent/CN113760879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种数据库异常监测方法、系统、电子设备及介质,所述方法包括以下步骤:采集数据库中不同的初始性能指标对应的指标参数信息;在指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标;根据异常性能指标的指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果。本发明能够自动、及时且准确地监测到数据库中发生异常的性能指标,并根据不同类别的异常性能指标采用对应异常分析规则进行针对性分析以准确定位或确定异常原因,无需人工排障,省时省力,在降低了人工投入成本的同时提高了监测效率以及精度,帮助管理员及时排障以进行及时维护,提高了数据库运维的稳定性。

Description

数据库异常监测方法、系统、电子设备及介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据库异常监测方法、系统、电子设备及介质。
背景技术
目前,数据库(如MySQL)在实际运维过程中,经常会出现各类性能抖动的情况,包括CPU(中央处理器)抖动、I/O(输入/输出)抖动、线程运行突增、Block(存储块)、QPS(每秒查询率)上升、网卡流量上升等。在日常运维中碰到这些性能抖动需要分析出现这些性能抖动的原因,目前基本都是通过人为方式进行干预处理。然而,数据库中实际存在海量数据如上千张表、上万种SQL(结构化查询语言(Structured Query Language))语句等,数据库和操作系统相关指标也高达上千种,当数据库因性能抖动发生异常故障,都需要人工凭借过往经验手动检测上万个指标并进行异常分析,排障时间过长,操作不标准,或因人为失误造成分析结果错误,使得异常故障原因无说服力,人工检查负担重,且影响关联系统的稳定性。
发明内容
本发明要解决的技术问题是为了克服现有技术中通过人工监测数据库的异常情况,人工监测负担重,耗时耗力,效率低且准确度不高等缺陷,提供一种数据库异常监测方法、系统、电子设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种数据库异常监测方法,所述方法包括以下步骤:
采集数据库中不同的初始性能指标对应的指标参数信息;
在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标;
根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果。
较佳地,所述采集数据库中不同的初始性能指标对应的指标参数信息的步骤之后,所述在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标的步骤之前还包括以下步骤:
根据所述数据类别信息采用对应的数据清洗方式对不同的所述初始性能指标进行清洗处理,以获取清洗后的所述初始性能指标。
较佳地,所述数据类别信息包括数值型数据或文本型数据。
较佳地,确定所述预设异常区间的步骤包括:
采集所述数据库中不同的所述初始性能指标对应的历史指标参数信息;
计算得到所有所述历史指标参数信息对应的标准差和中位数,以确定不同的所述初始性能指标对应的所述预设异常区间。
较佳地,所述根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果的步骤包括:
当所述数据类别信息对应文本型数据时,获取每个所述异常性能指标出现异常时对应的第一异常时间段;
获取所述第一异常时间段内的第一性能指标;
将所述第一性能指标对应的所述文本型数据与参考文本数据进行对比,以获得与所述参考文本数据对应的所述第一性能指标,根据所述第一性能指标生成分析结果。
较佳地,所述根据所述异常性能指标的指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果的步骤包括:
当所述数据类别信息对应数值型数据时,获取每个所述异常性能指标出现异常时对应的第二异常时间段;
获取所述第二异常时间段内的第二性能指标;
从所述第二性能指标中选取设定数量的有波动的所述第二性能指标;
计算所述数值型异常性能指标与所述第二性能指标的相似度;
基于所述相似度从所述第二性能指标中选取满足设定条件的所述第二性能指标,根据所述第二性能指标生成分析结果。
较佳地,所述计算所述数值型异常性能指标与所述第二性能指标的相似度的步骤具体包括:
获取所述异常性能指标的第一异常指标时序曲线;
获取所述第二性能指标的第二异常指标时序曲线;
计算所述第一异常指标时序曲线和所述第二异常指标时序曲线的重合度;
所述基于所述相似度从所述第二性能指标中选取满足设定条件的所述第二性能指标的步骤具体包括:
基于所述相似度从所述第二性能指标中选取所述重合度小于第一设定阈值的所述第二性能指标;或,
基于所述相似度从所述第二性能指标中剔除重合度大于第二设定阈值的所述第二性能指标。
本发明还提供一种数据库异常监测系统,所述系统包括:
采集模块,用于采集数据库中不同的初始性能指标对应的指标参数信息;
判断模块,用于在在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标;
分析模块,用于根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果。
较佳地,所述系统还包括:
数据清洗模块,用于根据所述数据类别信息采用对应的数据清洗方式对不同的所述初始性能指标进行清洗处理,以获取清洗后的所述初始性能指标。
较佳地,所述数据类别信息包括数值型数据或文本型数据。
较佳地,所述系统包括计算模块:
所述采集模块还用于采集所述数据库中不同的所述初始性能指标对应的历史指标参数信息;
所述计算模块用于得到所有所述历史指标参数信息对应的标准差和中位数,以确定不同的所述初始性能指标对应的所述预设异常区间。
较佳地,当所述数据类别信息对应文本型数据时,调用所述采集模块用于获取每个所述异常性能指标出现异常时对应的第一异常时间段;
所述采集模块还用于获取所述第一异常时间段内的第一性能指标;
所述分析模块还用于将所述第一性能指标对应的所述文本型数据与参考文本数据进行对比,以获得与所述参考文本数据对应的所述第一性能指标,根据所述第一性能指标生成分析结果。
较佳地,所述系统还包括:
当所述数据类别信息对应数值型数据时,调用所述采集模块用于获取每个所述异常性能指标出现异常时对应的第二异常时间段;
所述采集模块还用于获取所述第二异常时间段内的第二性能指标;
选取模块,用于从所述第二性能指标中选取设定数量的有波动的所述第二性能指标;
匹配模块,用于计算所述数值型异常性能指标与所述第二性能指标的相似度;
所述分析模块还用于基于所述相似度从所述第二性能指标中选取满足设定条件的所述第二性能指标,根据所述第二性能指标生成分析结果。
较佳地,所述计算模块还用于获取所述异常性能指标的第一异常指标时序曲线和获取所述第二性能指标的第二异常指标时序曲线;
所述匹配模块还用于计算所述第一异常指标时序曲线和所述第二异常指标时序曲线的重合度;
所述分析模块还用于基于所述相似度从所述第二性能指标中选取所述重合度小于第一设定阈值的所述第二性能指标;或,
所述分析模块还用于基于所述相似度从所述第二性能指标中剔除重合度大于第二设定阈值的所述第二性能指标。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的数据库异常监测方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据库异常监测方法。
本发明的积极进步效果在于:根据数据库不同的初始性能指标的指标参数信息,自动监测出导致数据库出现异常的异常性能指标,并根据不同类别的异常性能指标采用对应异常分析规则对异常性能指标进行针对性分析以确定定位或确定异常原因,无需人工排障或监测异常,省时省力,在降低了人工投入成本的同时提高了监测效率以及精度,帮助管理员及时排障或监测异常以进行数据库的及时维护,提高了数据库运维的稳定性。
附图说明
图1为本发明实施例1的数据库异常监测方法的流程图。
图2为本发明实施例2的数据库异常监测方法的第一流程图。
图3为本发明实施例2的数据库异常监测方法的第二流程图。
图4为本发明实施例3的数据库异常监测方法的流程图。
图5为本发明实施例4的数据库异常监测方法的第一流程图。
图6为本发明实施例4的数据库异常监测方法的第二流程图。
图7为本发明实施例5的数据库异常监测系统的模块示意图。
图8为本发明实施例6的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
参见图1所示,本实施例提供一种数据库异常监测方法,数据库异常监测方法包括以下步骤:
S1、采集数据库中不同的初始性能指标对应的指标参数信息。
S2、在指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标。
S3、根据异常性能指标的指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果。
需要说明的是,实时对MySQL(关系型数据库管理系统,即一种数据库)收集如下数据:性能指标(将此性能指标作为初始性能指标)(包含INNODB_BUFFER_POOL_PAGES_DATA、INNODB_OS_LOG_FSYNCS,THREADS_RUNNING,等372种),SQL指标(各类SQL的执行次数、执行时间、扫描行数、返回行数、修改行数等),“执行次数、执行时间、扫描行数、返回行数、修改行数”即为初始性能指标对应的指标参数信息,数据库表指标(各表的查询次数,插入次数、更新次数、删除次数、表容量、表行数),MySQL错误日志,MySQL Block日志,MySQL死锁日志,ProcessList(MySQL的慢查询语句)快照,SlowLog(MySQL的慢查询日志),MySQL各类参数(包含sync_binlog、innodb_flush_log_at_trx_commit,等448种),CPU指标,IO指标,网卡流量指标,操作系统日志等信息。初始性能指标数量较多,在此不进行一一列举。
本实施例通过判断获取的指标参数信息是否落入预设异常区间来确定异常性能指标,根据不同类别的异常性能指标采用对应的异常分析规则进行异常分析处理,以确定定位或确定异常原因,无需人工监测或排障,节省人工成本,减少人工监测的负担,监测速度快,在降低了人工投入成本的同时提高了监测效率即精确度,帮助管理员及时排障或监测异常以进行数据库的及时维护,提高了数据库运维的稳定性。
实施例2
本实施例提供一种数据库异常监测方法,是在实施例1的基础上进一步的改进,具体地:
参见图2所示,在步骤S1和步骤S2之间还包括如下步骤:
S4、根据数据类别信息采用对应的数据清洗方式对不同的初始性能指标进行清洗处理,以获取清洗后的初始性能指标。
优选地,参见图3所示,是性能指标数据收集即数据清洗处理的流程图,具体地,数据类别信息包括数值型数据或文本型数据,当数据类别信息为数值型数据时,数据清洗方式为对数值型指标进行每秒钟的差值处理得到时序差值数据,将处理后的数据保存至第一设定存储区域,第一设定存取区域可以是Kafka(是一种高吞吐量的分布式发布订阅消息系统),消费时序差值数据,将时序差值数据存入第二设定存储区域,第二存储区域可以是ClickHouse(一种数据库)。具体地,在此对第一设定存储区域、第二设定存储区域还可以为其它数据库,在此不做限定。
当数据类别信息为文本型数据时,数据清洗方式为对文本型数据进行相关数据清洗处理(选取符合预设条件的文本型数据或剔除不符合条件的文本型数据),处理后得到时序文本型数据,将清洗后的文本型数据保存至第一设定存储区域,消费文本型数据,将文本型数据存入第二设定存储区域。具体地,第一设定存储区域、第二设定存储区域可以包括Kafka、ClickHouse,在此对第一设定存储区域、第二设定存储区域不做限定。
根据数据类别信息对不同的初始性能指标进行数据清洗处理,可以更加方便的根据异常性能指标确定预设异常区间。
具体地,步骤S4之后、步骤S2之前还包括如下步骤:
S5、采集数据库中不同的初始性能指标对应的历史指标参数信息。
S6、计算得到所有历史指标参数信息对应的标准差和中位数,以确定不同的初始性能指标对应的预设异常区间。
具体地,根据历史指标参数信息计算得到每个初始性能指标的标准差和中位数,根据每个初始性能指标的标准差和中位数计算得到每个初始性能指标对应的预设异常区间,优选地,计算预设异常区间的方法可以为(中位数+标准差*2),若初始性能指标落入预设异常区间,则该初始性能指标为异常性能指标。当然,也可以根据实际情况采用其他方式得到,具体可以根据实际情况进行选择与调整。
本实施例根据数据类别信息对不同的初始性能指标进行数据清洗处理,便于更加精确确定预设异常区间,利于更加精确的确定不同类别的异常性能指标或确定异常原因,降低人工投入成本的同时提高了监测效率以及精度,帮助管理员及时排障或监测异常以进行数据库的及时维护,提高了数据库运维的稳定性。
实施例3
本实施例提供一种数据库异常监测方法,是对实施例2的进一步地改进,参见图4所示,步骤S3具体包括以下步骤:
S31、判断数据类别信息是否对应文本型数据,若是,则执行步骤S32,若否,则执行步骤S35。
S32、获取每个异常性能指标出现异常时对应的第一异常时间段。
S33、获取第一异常时间段内的第一性能指标。
S34、将第一性能指标对应的文本型数据与参考文本数据进行对比,以获得与参考文本数据对应的第一性能指标,根据第一性能指标生成分析结果。
需要说明的是,在步骤S34之后,此流程结束,不执行步骤S35。
举例说明,若第一性能指标为“dggrhhff”参考文本数据为“abcdefgijk”,按照第一性能指标的字符串的顺序与参考文本数据进行比对,第一性能指标“dggrhhff”与参考文本数据“abcdefgijk”的字符串顺序不同或字符不同,都可以认为第一性能指标出现异常。
S35、获取每个异常性能指标出现异常时对应的第二异常时间段。
S36、获取第二异常时间段内的第二性能指标。
S37、从第二性能指标中选取设定数量的有波动的第二性能指标。
S38、计算数值型异常性能指标与第二性能指标的相似度。
S39、基于相似度从第二性能指标中选取满足设定条件的第二性能指标,根据第二性能指标生成分析结果。
需要说明的是,通过下述步骤确认第一异常时间段、第二异常时间段,先获取异常性能指标发生异常时的异常时刻,获取异常时刻前后的一段时间区间,根据异常时刻前后的一段时间获得第一异常时间段、第二异常时间段,具体地,时间区间的大小可以根据实际情况设置,在此不做限定。
本实施例根据不同数据类型的异常性能指标,采用不同的异常规则生成异常分析结果,扩大了监测的性能指标的数据类型,提高了异常监测的准确度,同时也提高了异常分析结果的准确度和异常监测的全面性。
实施例4
本实施例提供一种数据库异常监测方法,是对实施例3的进一步地改进,参见图5所示,步骤S38具体包括:
S381、获取异常性能指标的第一异常指标时序曲线。
S382、获取第二性能指标的第二异常指标时序曲线。
S383、计算第一异常指标时序曲线和第二异常指标时序曲线的重合度。
步骤S39具体包括:
S391、基于相似度从第二性能指标中选取重合度小于第一设定阈值的第二性能指标;或,
基于相似度从第二性能指标中剔除重合度大于第二设定阈值的第二性能指标。
基于相似度从第二性能指标中筛选出满足预设条件的第二性能指标后,可以对满足预设条件的第二性能进行消耗排序,例如,可以对SQL进行消耗排序(执行时间、扫描行数),排除掉消耗过低,或者因为根因SQL导致的服务响应过慢被连锁影响的符合相似性的SQL。可以进一步地的,提高异常分析结果,可以帮助管理员更准确进行异常定位,使得管理员可以更快速的解决异常,节省排障时间,提高工作效率,提高数据库的稳定性。
需要说明的是,计算第一异常指标时序曲线和第二异常指标时序曲线的重合度的方法具体可以通过皮尔逊相关系数进行匹配,匹配过程中会根据匹配结果动态的调整相关系数r,保证相似性不至于过严格或过宽松,匹配过程中会过滤掉无波动的指标数据(即过滤掉无异常的性能指标),保留有波动的性能指标,基于皮尔逊相关系数匹配后可以得到至少三类匹配成功的数据:1.MySQ相关的性能指标,2.相关表的操作指标(查询次数、插入次数、更新次数、删除次数、表容量、表行数),3.相关SQL的操作指标(执行次数、执行时间、扫描行数、返回行数、修改行数),这些数据都是与异常指标相似的数据,通过此匹配可以获得更多的异常指标数据,通过大量的异常指标数据可以更加精准、准确的分析出导致数据库异常的原因,匹配速度快,节省了时间,分析结果更有说服力,监测数据库的过程更加标准化,提高了数据库的稳定性。
基于相似度从第二性能指标中筛选出满足预设条件的第二性能指标后,管理员或者用户可以结合MySQL相关性能指标,MySQL相关表,MySQL相关SQL,MySQL各类参数变更,Block日志,ProcessList快照,SlowLog,MySQL死锁日志,MySQL错误日志。给出导致此次性能故障的分析结果(结果包含但不限于如下:故障由于xx SQL调用量上升导致,故障由于xxSQL执行计划异常导致,故障由于xx SQL参数异常导致,故障由于调整了MySQL xx参数导致,故障由于xx SQL导致阻塞,故障由于执行了Flush Table(MySQL的执行语句),故障由于执行了Analyze Table(MySQL的执行语句))。
下面结合图6具体说明上述内容:
开始采集数据库中不同的初始性能指标对应的指标参数信息,采集后对不同的初始性能指标进行检测,检测不同的初始性能指标是否异常,若无异常,则继续检测,若有异常,则确定当前初始性能指标为异常性能指标,根据异常性能指标出现异常的异常时间确定异常时间段,异常指标也可以称之为故障指标,根据不同类别的异常性能指标采用不同的异常分析规则对异常性能指标进行分析,当异常性能指标为文本型数据时,获取异常性能指标异常前后的文本型性能指标,将异常前后的文本型性能指标与参考型文本数据进行比对,若与参考型文本数据不相同,则可以划分为异常性能指标,根据更多的异常性能指标数据进行分析定位异常或问题故障,分析结束。
当异常性能指标为数值型文本数据时,获取异常性能指标出现异常前后的性能指标,从获取的异常前后的上万个甚至更多的性能指标中取出异常性能指标出现异常或故障发生前后的数值有波动的所有指标,将异常性能指标与有波动指标进行相似性匹配,丢弃不相似的指标,得到故障或异常指标时序曲线相似的指标,然后对和异常指标相似的指标进行消耗排序,剔除低消耗或被影响的指标,保留高消耗或不被影响的指标,根据高消耗或不被影响的指标分析确定数据异常原因及问题故障。
本实施例通过计算异常指标的第一异常指标时序曲线,和第二性能指标的第二异常指标曲线,基于第一异常指标时序曲线和第二异常指标时序曲线筛选出更多的异常性能指标,对筛选出来的更多的异常性能指标进行进一步分析和筛选,无需人工排障或监测异常,异常监测全面且及时,异常原因定位准确且精度高,帮助管理员或用户更快速、更方便的排除数据库的故障,降低了数据库维护成本,提高了数据库运维的稳定性。
实施例5
如图7所示,本实施例提供一种数据库异常监测系统,数据库异常监测系统包括:采集模块1、判断模块2、分析模块3、数据清洗模块4、计算模块5、选取模块6和匹配模块7。具体地,
采集模块1用于采集数据库中不同的初始性能指标对应的指标参数信息。
判断模块2用于在在指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标。
分析模块3用于根据异常性能指标的指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果。
需要说明的是,实时对MySQL(关系型数据库管理系统,即一种数据库)收集如下数据:性能指标(将此性能指标作为初始性能指标)(包含INNODB_BUFFER_POOL_PAGES_DATA、INNODB_OS_LOG_FSYNCS,THREADS_RUNNING,等372种),SQL指标(各类SQL的执行次数、执行时间、扫描行数、返回行数、修改行数),“执行次数、执行时间、扫描行数、返回行数、修改行数”即为初始性能指标对应的指标参数信息,数据库表指标(各表的查询次数,插入次数、更新次数、删除次数、表容量、表行数),MySQL错误日志,MySQL Block日志,MySQL死锁日志,ProcessList(MySQL的慢查询语句)快照,SlowLog(MySQL的慢查询日志),MySQL各类参数(包含sync_binlog、innodb_flush_log_at_trx_commit,等448种),CPU指标,IO,指标,网卡流量指标,操作系统日志,等信息。初始性能指标数量较多,在此不进行一一列举。
作为优选的实施方案,还包括:
数据清洗模块4用于根据数据类别信息采用对应的数据清洗方式对不同的初始性能指标进行清洗处理,以获取清洗后的初始性能指标。
进一步地,数据类别信息包括数值型数据或文本型数据。
具体地,数据类别信息包括数值型数据或文本型数据,当数据类别信息为数值型数据时,数据清洗方式为对数值型指标进行每秒钟的差值处理得到时序差值数据,将处理后的数据保存至第一设定存储区域,第一设定存取区域可以是Kafka(是一种高吞吐量的分布式发布订阅消息系统),消费时序差值数据,将时序差值数据存入第二设定存储区域,第二存储区域可以是ClickHouse(一种数据库)。具体地,在此对第一设定存储区域、第二设定存储区域还可以为其它数据库,在此不做限定。
当数据类别信息为文本型数据时,数据清洗方式为对文本型数据进行相关数据清洗处理(选取符合预设条件的文本型数据或剔除不符合条件的文本型数据),处理后得到时序文本型数据,将清洗后的文本型数据保存至第一设定存储区域,消费文本型数据,将文本型数据存入第二设定存储区域。具体地,第一设定存储区域、第二设定存储区域可以包括Kafka、ClickHouse,在此对第一设定存储区域、第二设定存储区域不做限定。
根据数据类别信息对不同的初始性能指标进行数据清洗处理,可以更加方便的根据异常性能指标确定预设异常区间。
作为优选的实施方案,还包括计算模块5:
采集模块1还用于采集数据库中不同的初始性能指标对应的历史指标参数信息。
计算模块5用于得到所有历史指标参数信息对应的标准差和中位数,以确定不同的初始性能指标对应的预设异常区间。
具体地,根据历史指标参数信息计算得到每个初始性能指标的标准差和中位数,根据每个初始性能指标的标准差和中位数计算得到每个初始性能指标对应的预设异常区间,优选地,计算预设异常区间的方法可以为(中位数+标准差*2),若初始性能指标落入预设异常区间,则该初始性能指标为异常性能指标。当然,也可以根据实际情况采用其他方式得到,具体可以根据实际情况进行选择与调整。
作为优选的实施方案,当数据类别信息对应文本型数据时,调用采集模块1用于获取每个异常性能指标出现异常时对应的第一异常时间段。
采集模块1还用于获取第一异常时间段内的第一性能指标。
分析模块3还用于将第一性能指标对应的文本型数据与参考文本数据进行对比,以获得与参考文本数据对应的第一性能指标,根据第一性能指标生成分析结果。
举例说明,若第一性能指标为“dggrhhff”参考文本数据为“abcdefgijk”,按照第一性能指标的字符串的顺序与参考文本数据进行比对,第一性能指标“dggrhhff”与参考文本数据“abcdefgijk”的字符串顺序不同或字符不同,都可以认为第一性能指标出现异常。
作为优选的实施方案,当数据类别信息对应数值型数据时,调用采集模块1用于获取每个异常性能指标出现异常时对应的第二异常时间段。
采集模块1还用于获取第二异常时间段内的第二性能指标。
选取模块6,用于从第二性能指标中选取设定数量的有波动的第二性能指标。
匹配模块7,用于计算数值型异常性能指标与第二性能指标的相似度。
分析模块3还用于基于相似度从第二性能指标中选取满足设定条件的第二性能指标,根据第二性能指标生成分析结果。
需要说明的是,通过下述步骤确认第一异常时间段、第二异常时间段,先获取异常性能指标发生异常时的异常时刻,获取异常时刻前后的一段时间区间,根据异常时刻前后的一段时间获得第一异常时间段、第二异常时间段,具体地,时间区间的大小可以根据实际情况设置,在此不做限定。
作为优选的实施方案,计算模块5还用于获取异常性能指标的第一异常指标时序曲线和获取第二性能指标的第二异常指标时序曲线。
匹配模块7还用于计算第一异常指标时序曲线和第二异常指标时序曲线的重合度。
分析模块3还用于基于相似度从第二性能指标中选取重合度小于第一设定阈值的第二性能指标。或,
分析模块3还用于基于相似度从第二性能指标中剔除重合度大于第二设定阈值的第二性能指标。
基于相似度从第二性能指标中筛选出满足预设条件的第二性能指标后,可以对满足预设条件的第二性能进行消耗排序,例如,可以对SQL进行消耗排序(执行时间、扫描行数),排除掉消耗过低,或者因为根因SQL导致的服务响应过慢被连锁影响的符合相似性的SQL。可以进一步地的,提高异常分析结果,可以帮助管理员更准确进行异常定位,使得管理员可以更快速的解决异常,节省排障时间,提高工作效率,提高数据库的稳定性。
需要说明的是,计算第一异常指标时序曲线和第二异常指标时序曲线的重合度的方法具体可以通过皮尔逊相关系数进行匹配,匹配过程中会根据匹配结果动态的调整相关系数r,保证相似性不至于过严格或过宽松,匹配过程中会过滤掉无波动的指标数据(即过滤掉无异常的性能指标),保留有波动的性能指标,基于皮尔逊相关系数匹配后可以得到至少三类匹配成功的数据:1.MySQL相关的性能指标,2.相关表的操作指标(查询次数、插入次数、更新次数、删除次数、表容量、表行数),3.相关SQL的操作指标(执行次数、执行时间、扫描行数、返回行数、修改行数),这些数据都是与异常指标相似的数据,通过此匹配可以获得更多的异常指标数据,通过大量的异常指标数据可以更加精准、准确的分析出导致数据库异常的原因,匹配速度快,节省了时间,分析结果更有说服力,监测数据库的过程更加标准化,提高了数据库的稳定性。
基于相似度从第二性能指标中筛选出满足预设条件的第二性能指标后,管理员或者用户可以结合MySQL相关性能指标,MySQL相关表,MySQL相关SQL,MySQL各类参数变更,Block日志,ProcessList快照,SlowLog,MySQL死锁日志,MySQL错误日志。给出导致此次性能故障的分析结果(结果包含但不限于如下:故障由于xx SQL调用量上升导致,故障由于xxSQL执行计划异常导致,故障由于xx SQL参数异常导致,故障由于调整了MySQL xx参数导致,故障由于xx SQL导致阻塞,故障由于执行了Flush Table(MySQL的执行语句),故障由于执行了Analyze Table(MySQL的执行语句))。
本实施例的数据库异常监测系统与实施例1-4中的数据库异常监测方法对应的实现原理类似,具体可参考上述实施例中的内容,因此此次就不再赘述。
本实施例根据不同类别对应的异常性能指标采用对应异常分析规则对异常性能指标进行针对性分析以确定定位或确定异常原因,无需人工排障或监测异常,省时省力,在降低了人工投入成本的同时提高了监测效率以及精度,帮助管理员及时排障或监测异常以进行数据库的及时维护,提高了数据库运维的稳定性。
实施例6
图8为本发明实施例6提供的一种电子设备的结构示意图。包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述实施例1-4中任意一个实施例中的数据库异常监测方法。图8显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1-4中任意一个实施例中的数据库异常监测方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例7
本发明还提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述实施例1-4中任意一个实施例中的数据库异常监测方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1-4中任意一个的数据库异常监测方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (7)

1.一种数据库异常监测方法,其特征在于,所述方法包括以下步骤:
采集数据库中不同的初始性能指标对应的指标参数信息;
在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标;
根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果,具体包括以下步骤:
当所述数据类别信息对应数值型数据时,获取每个所述异常性能指标出现异常时对应的第二异常时间段;
获取所述第二异常时间段内的第二性能指标;
从所述第二性能指标中选取设定数量的有波动的所述第二性能指标;
计算所述数值型数据对应的异常性能指标与有波动的所述第二性能指标的相似度;
基于所述相似度从有波动的所述第二性能指标中选取满足设定条件的所述第二性能指标,根据满足设定条件的所述第二性能指标生成分析结果;
所述计算所述数值型数据对应的异常性能指标与有波动的所述第二性能指标的相似度的步骤具体包括:
获取所述异常性能指标的第一异常指标时序曲线;
获取有波动的所述第二性能指标的第二异常指标时序曲线;
计算所述第一异常指标时序曲线和所述第二异常指标时序曲线的重合度;
所述基于所述相似度从有波动的所述第二性能指标中选取满足设定条件的所述第二性能指标的步骤具体包括:
基于所述相似度从有波动的所述第二性能指标中选取所述重合度小于第一设定阈值的所述第二性能指标;或,
基于所述相似度从有波动的所述第二性能指标中剔除重合度大于第二设定阈值的所述第二性能指标。
2.如权利要求1所述的数据库异常监测方法,其特征在于,所述采集数据库中不同的初始性能指标对应的指标参数信息的步骤之后,所述在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标的步骤之前还包括以下步骤:
根据所述数据类别信息采用对应的数据清洗方式对不同的所述初始性能指标进行清洗处理,以获取清洗后的所述初始性能指标。
3.如权利要求1所述的数据库异常监测方法,其特征在于,确定所述预设异常区间的步骤包括:
采集所述数据库中不同的所述初始性能指标对应的历史指标参数信息;
计算得到所有所述历史指标参数信息对应的标准差和中位数,以确定不同的所述初始性能指标对应的所述预设异常区间。
4.如权利要求1所述的数据库异常监测方法,其特征在于,所述根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果的步骤包括:
当所述数据类别信息对应文本型数据时,获取每个所述异常性能指标出现异常时对应的第一异常时间段;
获取所述第一异常时间段内的第一性能指标;
将所述第一性能指标对应的所述文本型数据与参考文本数据进行对比,以获得与所述参考文本数据对应的所述第一性能指标,根据所述第一性能指标生成分析结果。
5.一种数据库异常监测系统,其特征在于,所述系统包括:
采集模块,用于采集数据库中不同的初始性能指标对应的指标参数信息;
判断模块,用于在所述指标参数信息落入对应的预设异常区间时,确定当前初始性能指标为异常性能指标;
分析模块,用于根据所述异常性能指标的所述指标参数信息对应的数据类别信息,采用对应的异常分析规则进行分析处理,并生成分析结果;
所述系统还包括选取模块、匹配模块和计算模块:
当所述数据类别信息对应数值型数据时,调用所述采集模块用于获取每个所述异常性能指标出现异常时对应的第二异常时间段;
所述采集模块还用于获取所述第二异常时间段内的第二性能指标;
所述选取模块用于从所述第二性能指标中选取设定数量的有波动的所述第二性能指标;
所述匹配模块用于计算所述数值型数据对应的异常性能指标与有波动的所述第二性能指标的相似度;
所述分析模块还用于基于所述相似度从有波动的所述第二性能指标中选取满足设定条件的所述第二性能指标,根据满足设定条件的所述第二性能指标生成分析结果;
所述计算模块用于获取所述异常性能指标的第一异常指标时序曲线和获取有波动的所述第二性能指标的第二异常指标时序曲线;
所述匹配模块还用于计算所述第一异常指标时序曲线和所述第二异常指标时序曲线的重合度;
所述分析模块还用于基于所述相似度从有波动的所述第二性能指标中选取所述重合度小于第一设定阈值的所述第二性能指标;或基于所述相似度从有波动的所述第二性能指标中剔除重合度大于第二设定阈值的所述第二性能指标。
6.一种电子设备,包括存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述的数据库异常监测方法。
7.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任意一项所述的数据库异常监测方法。
CN202110973428.4A 2021-08-24 2021-08-24 数据库异常监测方法、系统、电子设备及介质 Active CN113760879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110973428.4A CN113760879B (zh) 2021-08-24 2021-08-24 数据库异常监测方法、系统、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110973428.4A CN113760879B (zh) 2021-08-24 2021-08-24 数据库异常监测方法、系统、电子设备及介质

Publications (2)

Publication Number Publication Date
CN113760879A CN113760879A (zh) 2021-12-07
CN113760879B true CN113760879B (zh) 2024-02-27

Family

ID=78790957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110973428.4A Active CN113760879B (zh) 2021-08-24 2021-08-24 数据库异常监测方法、系统、电子设备及介质

Country Status (1)

Country Link
CN (1) CN113760879B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116337868B (zh) * 2023-02-28 2023-09-19 靖江安通电子设备有限公司 一种表面缺陷检测方法及检测系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081623A (zh) * 2009-11-30 2011-06-01 中国移动通信集团浙江有限公司 一种数据库异常检测方法和系统
CN103412911A (zh) * 2013-08-02 2013-11-27 中国工商银行股份有限公司 数据库系统的性能监控方法以及装置
CN107766299A (zh) * 2017-10-24 2018-03-06 携程旅游信息技术(上海)有限公司 数据指标异常的监控方法及其系统、存储介质、电子设备
KR102033163B1 (ko) * 2019-01-28 2019-10-16 넷마블 주식회사 지표 이상치 검출 방법 및 장치
CN110865929A (zh) * 2019-11-26 2020-03-06 携程旅游信息技术(上海)有限公司 异常检测预警方法及系统
CN110928718A (zh) * 2019-11-18 2020-03-27 上海维谛信息科技有限公司 一种基于关联分析的异常处理方法、系统、终端及介质
CN111190876A (zh) * 2019-12-31 2020-05-22 天津浪淘科技股份有限公司 日志管理系统及其运行方法
CN111428098A (zh) * 2020-03-20 2020-07-17 深圳市帅鸽美羽科技有限公司 基于鸽钟设备的数据监控方法、监控平台及存储介质
CN111459778A (zh) * 2020-03-12 2020-07-28 平安科技(深圳)有限公司 运维系统异常指标检测模型优化方法、装置及存储介质
CN111949718A (zh) * 2020-08-20 2020-11-17 郑州奥腾网络科技有限公司 一种基于云计算的数据异常分析方法
CN112101554A (zh) * 2020-11-10 2020-12-18 北京瑞莱智慧科技有限公司 异常检测方法及装置、设备、计算机可读存储介质
CN113205666A (zh) * 2021-05-06 2021-08-03 广东鹰视能效科技有限公司 一种预警方法
CN113254250A (zh) * 2021-06-16 2021-08-13 阿里云计算有限公司 数据库服务器异常成因检测方法、装置、设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586972B2 (en) * 2018-11-19 2023-02-21 International Business Machines Corporation Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
CN110941532A (zh) * 2019-11-20 2020-03-31 深圳市华星光电半导体显示技术有限公司 Mes的监控方法、监控装置及可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081623A (zh) * 2009-11-30 2011-06-01 中国移动通信集团浙江有限公司 一种数据库异常检测方法和系统
CN103412911A (zh) * 2013-08-02 2013-11-27 中国工商银行股份有限公司 数据库系统的性能监控方法以及装置
CN107766299A (zh) * 2017-10-24 2018-03-06 携程旅游信息技术(上海)有限公司 数据指标异常的监控方法及其系统、存储介质、电子设备
KR102033163B1 (ko) * 2019-01-28 2019-10-16 넷마블 주식회사 지표 이상치 검출 방법 및 장치
CN110928718A (zh) * 2019-11-18 2020-03-27 上海维谛信息科技有限公司 一种基于关联分析的异常处理方法、系统、终端及介质
CN110865929A (zh) * 2019-11-26 2020-03-06 携程旅游信息技术(上海)有限公司 异常检测预警方法及系统
CN111190876A (zh) * 2019-12-31 2020-05-22 天津浪淘科技股份有限公司 日志管理系统及其运行方法
CN111459778A (zh) * 2020-03-12 2020-07-28 平安科技(深圳)有限公司 运维系统异常指标检测模型优化方法、装置及存储介质
CN111428098A (zh) * 2020-03-20 2020-07-17 深圳市帅鸽美羽科技有限公司 基于鸽钟设备的数据监控方法、监控平台及存储介质
CN111949718A (zh) * 2020-08-20 2020-11-17 郑州奥腾网络科技有限公司 一种基于云计算的数据异常分析方法
CN112101554A (zh) * 2020-11-10 2020-12-18 北京瑞莱智慧科技有限公司 异常检测方法及装置、设备、计算机可读存储介质
CN113205666A (zh) * 2021-05-06 2021-08-03 广东鹰视能效科技有限公司 一种预警方法
CN113254250A (zh) * 2021-06-16 2021-08-13 阿里云计算有限公司 数据库服务器异常成因检测方法、装置、设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨游云,周健作.《数据分析与决策技术丛书 Python广告数据挖掘与分析实战》.第24-25页,2021,机械工业出版社. *
用电信息采集系统的数据库服务器运行指标监测与性能分析;赵佩;王立斌;李;王洪莹;张超;;河北电力技术(第05期);全文 *

Also Published As

Publication number Publication date
CN113760879A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN108959564B (zh) 数据仓库元数据管理方法、可读存储介质和计算机设备
US9298538B2 (en) Methods and systems for abnormality analysis of streamed log data
CN111209131A (zh) 一种基于机器学习确定异构系统的故障的方法和系统
US8078913B2 (en) Automated identification of performance crisis
WO2019153487A1 (zh) 系统性能的度量方法、装置、存储介质和服务器
CN111459700A (zh) 设备故障的诊断方法、诊断装置、诊断设备及存储介质
EP2698712A2 (en) Computer program, method, and information processing apparatus for analyzing performance of computer system
CN103761173A (zh) 一种基于日志的计算机系统故障诊断方法及装置
WO2008098631A2 (en) A diagnostic system and method
CN111027615A (zh) 基于机器学习的中间件故障预警方法和系统
US9489379B1 (en) Predicting data unavailability and data loss events in large database systems
US20180032567A1 (en) Method and device for processing data blocks in a distributed database
CN113760879B (zh) 数据库异常监测方法、系统、电子设备及介质
US7617313B1 (en) Metric transport and database load
US20100131497A1 (en) Method for determining which of a number of test cases should be run during testing
CN118152124A (zh) 一种基于云计算的数据处理方法及系统
CN118113508A (zh) 网卡故障风险预测方法、装置、设备及介质
CN115114124A (zh) 主机风险的评估方法及评估装置
CN116471174B (zh) 一种日志数据监测系统、方法、装置和存储介质
US7921410B1 (en) Analyzing and application or service latency
CN110011845B (zh) 日志采集方法及系统
CN115543671A (zh) 数据分析方法、装置、设备、存储介质及程序产品
CN114138535A (zh) 存储系统的故障诊断方法、装置、电子设备、介质及产品
US20100192022A1 (en) System monitoring method and system monitoring device
CN112527594A (zh) 一种硬盘巡检方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant