CN113297307B - 数据库请求识别、异常检测方法、装置、设备及介质 - Google Patents
数据库请求识别、异常检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113297307B CN113297307B CN202011486855.1A CN202011486855A CN113297307B CN 113297307 B CN113297307 B CN 113297307B CN 202011486855 A CN202011486855 A CN 202011486855A CN 113297307 B CN113297307 B CN 113297307B
- Authority
- CN
- China
- Prior art keywords
- database
- request
- database request
- historical
- target 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
Links
- 238000001514 detection method Methods 0.000 title claims description 40
- 230000002159 abnormal effect Effects 0.000 claims abstract description 124
- 230000005856 abnormality Effects 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000010801 machine learning Methods 0.000 claims description 32
- 239000000523 sample Substances 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 17
- 238000007621 cluster analysis Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000012098 association analyses Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 238000012549 training Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种数据库请求识别、异常检测方法、装置、设备及介质,本说明书实施例方案中,可以获取设定时间段内的数据库请求集;确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求;通过识别出的目标数据库请求,可以准确地实现数据库运行异常的原因定位。
Description
技术领域
本说明书涉及涉及数据库技术领域,尤其涉及数据库请求识别、异常检测方法、装置、设备及介质。
背景技术
随着云数据库市场的增长,识别慢数据库请求(慢SQL,Structured QueryLanguage)对于维护服务的稳定性至关重要。一些数据库***会自动记录数据请求SQL的详细处理信息,这些SQL的执行时间/响应时间如果超过设定阈值,即为慢SQL。如何识别导致慢SQL的原因成为亟待解决的技术问题。
发明内容
为克服相关技术中存在的问题,本说明书提供了数据库请求识别、异常检测方法、装置、设备及介质。
根据本说明书实施例的第一方面,提供一种数据库异常检测方法,所述方法包括:
获取设定时间段内的数据库请求集;
确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
根据本说明书实施例的第二方面,提供一种数据库异常检测方法,所述方法包括:
获取设定时间段内的数据库请求集;
确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求;
识别所述目标数据库请求所属的数据库异常原因类别。
根据本说明书实施例的第三方面,提供一种数据库异常检测模型的获取方法,包括:
获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
利用所述多个聚类类别结果训练机器学习模型;其中,训练得到的机器学习模型用于识别目标数据库请求所属的数据库异常原因类别。
根据本说明书实施例的第四方面,提供一种数据库请求识别装置,所述装置包括:
请求获取模块,用于:获取设定时间段内的数据库请求集;
请求识别模块,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
根据本说明书实施例的第五方面,提供一种数据库异常检测装置,所述装置包括:
请求获取模块,用于:获取设定时间段内的数据库请求集;
请求识别模块,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求;
原因识别模块,用于:识别所述目标数据库请求所属的数据库异常原因类别。
根据本说明书实施例的第六方面,提供一种数据库异常检测模型的获取装置,包括:
获取模块,用于:获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
聚类模块,用于:利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
训练模块,用于:利用所述多个聚类类别结果训练机器学习模型;其中,训练得到的机器学习模型用于识别目标数据库请求所属的数据库异常原因类别。
根据本说明书实施例的第七方面,提供一种***,所述***包括:数据库异常检测端、数据库服务端和用户请求端;
所述用户请求端用于:向所述数据库服务端发送数据库请求;
所述数据库服务端用于:响应所述数据库请求;
所述数据库异常检测端用于:
获取设定时间段内的数据库请求集;
确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求识别所述目标数据库请求所属的数据库异常原因类别。
根据本说明书实施例的第八方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述数据库请求识别方法、数据库异常检测方法或数据库异常检测模型的获取方法。
根据本说明书实施例的第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行前述数据库请求识别方法、数据库异常检测方法或数据库异常检测模型的获取方法。
根据本说明书实施例的第十方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述数据库请求识别方法、数据库异常检测方法或数据库异常检测模型的获取方法。
根据本说明书实施例的第十一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行前述数据库请求识别方法、数据库异常检测方法或数据库异常检测模型的获取方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,能够众多数据库请求中识别目标数据库请求,该目标数据库请求响应时长大于第一设定阈值且分布概率低于设定概率阈值,目标数据库请求表征了数据库运行状态异常,因此可以用于识别数据库异常原因类别,可以确定导致慢数据库请求出现的根因,以对数据库***进行优化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1A是本说明书根据一示例性实施例示出的一种数据库请求识别方法的流程图。
图1B是本说明书根据一示例性实施例示出的正常的SQL、iSQ和一般慢SQL的概率分布对比示意图。
图2A是本说明书根据一示例性实施例示出的一种数据库异常检测方法的流程图。
图2B是本说明书根据一示例性实施例示出的两种时序特征上出现尖峰的示意图。
图2C是本说明书根据一示例性实施例示出的两种时序特征上出现均值上移或均值下移的示意图。
图2D是本说明书根据一示例性实施例示出的一种数据库异常检测模型的获取方法的流程图。
图2E是本说明书根据一示例性实施例示出的iSQ1与iSQ2的相似度比对示意图。
图3是本说明书根据一示例性实施例示出的一种计算机设备的硬件架构图。
图4是本说明书根据一示例性实施例示出的一种数据库请求识别装置的示意图。
图5是本说明书根据一示例性实施例示出的一种数据库异常检测装置的示意图。
图6是本说明书根据一示例性实施例示出的一种数据库异常检测模型的获取装置的示意图。
图7是本说明书根据一示例性实施例示出的一种***结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着云数据库市场的增长,识别慢数据库请求对于维护数据库服务的稳定性至关重要。数据库***可以自动记录数据库请求SQL(结构化查询语言,Structured QueryLanguage)的详细信息,这些SQL的处理时间如果超过用户定义的阈值即为慢数据库请求(慢SQL)。也即是,慢数据库请求是指响应时间较长的请求。一些技术方案关注于慢数据请求的识别及相应的优化。
一种对慢SQL的定义是通过定义阈值(如SQL执行时间超过1s)这种方式来过滤问题SQL,但这种方式太过于粗粒度,有些慢SQL是由于***内部原因,因为慢SQL往往会包含本身执行很慢的SQL,例如一个涉及查询量很大的全表扫描查询,或者复杂的嵌套查询,或是没有加入索引的查询。由于SQL查询写法的原因可以通过改写SQL得到优化,有些SQL可以通过索引推荐进行优化。当然一些SQL本身也没有什么优化空间但执行时间大于1秒,因此在对慢SQL排查问题的时候往往会受到这些由于SQL自身原因导致的慢SQL的干扰。通过设定的SQL的执行时间大于1秒的过滤规则,显然并不能很好的筛选真正的问题SQL,难以快速地确定引起慢SQL的真正原因。
在分析慢SQL的过程中,发明人发现,在众多慢SQL当中,有一类SQL的执行时间比它的历史执行时间要慢的多,同样的SQL为什么执行时间会变慢,这是一个需要关注的问题。进一步研究发现,数据库***运行故障的前兆都伴随这种SQL的出现,因为数据库***运行出现了某些故障,会导致一些SQL的执行时间较长。若数据库***运行正常,这些SQL的执行时间正常,执行时间较短。因此,由数据库***运行故障导致的慢SQL的执行时间,会比这些SQL在正常情况下的历史执行时间要慢。由此,从众多的慢SQL中,识别出这些由数据库***运行故障导致的慢SQL,具有重要意义。
本说明书实施例将由于数据库***运行状态异常导致的慢数据库请求,称之为目标数据库请求(iSQ/iSQs,即Intermittent Slow Queries),也即是iSQ是非SQL自身原因导致的,是由于外层原因导致,例如数据库***软件层或数据库机器层等运行异常导致的。
基于上述对iSQ的定义,本说明书实施例提供了一种数据库请求识别方法,能从众多数据库请求中识别出iSQ,如图1A所示,包括如下步骤:
在步骤S102中,获取设定时间段内的数据库请求集;
在步骤S104中,确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
本实施例中,面对众多的慢数据库请求,需要从中识别出目标数据库请求。通过对历史慢数据库请求的研究发现,在众多慢数据库请求中,iSQ的执行时间比他的历史执行时间要慢的多,并且iSQ是由于数据库***的间歇性运行异常而导致的,因此从时间上看,一般由SQL自身原因导致的慢SQL,不管数据库运行是否异常,其一直存在;而iSQ在数据库运行正常下其执行时间也正常,在数据库***异常下才出现,因此iSQ是间歇性出现的。
作为例子,首先获取设定时间段内的数据库请求集,本实施例的设定时间段可以理解为一个观测的时间窗口,具体的时长可以根据需要实际业务灵活配置。例如,设定时间段为10分钟,即以10分钟为观测的时间窗口,每隔10分钟,从这10分钟内的数据库请求集来识别iSQ。其中,获取的数据库请求集可以是包括全量的数据库请求,即包括了正常的数据库请求及慢数据库请求;也可以是只包括慢数据库请求的请求集。数据库请求的响应时长可以通过对每个数据库请求的从发起时刻至数据库***执行后反馈的响应时刻而确定。
面对众多的数据库请求,针对前述对iSQ的定义,本实施例通过概率分布的方式进行识别,首先确定各数据库请求的响应时长的概率分布,从所述概率分布中确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的慢数据库请求。对于正常数据库请求与慢数据库请求在响应时长上的界定,本实施例称之为第二设定阈值,该第二设定阈值可以根据实际业务进行设定;而在确定目标数据库请求时所用到的第一设定阈值,该第一设定阈值可以大于或等于第二设定阈值,该第一设定阈值可以根据实际业务进行设定。
如图1B所示,示出了正常的SQL、iSQ和一般慢SQL的概率分布对比示意图,图1B中以1秒为慢数据库请求与正常请求的衡量标准为例,实际应用中还可以是2秒等其他设定,本实施例对此不作限定。其中,横纵是指请求的响应时长(Query time),纵轴是指响应时长的概率分布,表征三种SQL在总SQL中的密度(Density)。在云数据库或分布式数据库等场景下,数据库节点较多,因此即使部分数据库运行异常,但其中正常的SQL数量仍然占据大部分,正常SQL数量较多,因此从分布上看概率最大,如图1B所示,大量的响应时长很短的正常SQL集中在一起,其概率较大;而一般慢SQL(图1B实施例以响应时长Xt大于1秒为例)通常数量也较多,从分布上看其概率大概有0.5;而iSQ的数量较少,从分布上看概率P较低。因此,本实施例中,通过概率分布,确定响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求为iSQ。其中,第一设定阈值和设定概率阈值可以根据需要灵活配置,例如第一设定阈值可以是1秒,也即是与慢数据库请求与正常请求的衡量标准相同,还可以是大于1秒,也即是本实施例将慢数据库请求与正常请求的衡量标准的阈值称之为第二设定阈值,则第一设定阈值可以大于或等于第二设定阈值。
本实施例中,获取慢数据库请求的实现方式可以有多种方式,通常情况下慢数据库请求由请求方发起,可以是根据数据库***对每个数据库请求的响应时间,确定响应时间大于第一设定阈值数据库请求为慢数据库请求。在一些例子中,可以是采用探活数据库请求来实现。其中,探活数据库请求是指心跳包请求,是指用于检测数据库实例(也称为数据库节点)是否可用,通过实时连接数据库,并发送一条更新SQL去更新探活表的时间戳,去衡量数据库的心跳的一类数据库请求。
作为例子,所述获取慢数据库请求,包括:
向数据库实例发送探活数据库请求,监测所述探活数据库请求的响应时间;
若所述探活数据库请求的响应时间大于第一设定阈值,确定所述探活数据库请求为慢数据库请求。
数据库服务器可以理解为由如下两部分构成:物理的数据库和软件的数据库管理***。数据库管理***是用户和物理数据库之间的一个中间层,是软件层。这个软件层具有一定的结构,这个结构又被称为实例结构。在启动数据库时,数据库管理***需要在内存中获取、划分、保留各种用途的区域,运行各种用途的后台进程,即创建一个实例(instance),然后由该实例装载、打开数据库,最后由这个实例来访问和控制数据库的各种物理结构。一些场景中,如大型的云数据库的数据库实例非常多,数量甚至达到了10万级别以上。而探活数据库请求通常用于检测数据库实例是否在线以及连接是否可用,而本实施例利用探活数据库请求来进行目标数据库请求的识别,因为若探活SQL为iSQ,数据库***存在异常的可能性非常高,更加能反映本说明书实施例数据库***的异常,使得对数据库稳定性的探测更加直接有效。而一般情况下数据库***对探活SQL的响应较快,探活iSQ具有高敏感性,相对其他慢SQL数据库***需要花更长的时间才返回,因此通过探活iSQ能够更快地识别iSQ,进而可以更快地识别***异常。
由上述实施例可见,本说明书实施例的数据库请求识别方案,能够在众多慢数据库请求的基础上进一步地识别出目标数据库请求,这一类目标数据库请求的响应时长大于其历史响应时间,因此对于数据库***的异常识别具有重要意义。识别出的目标数据库请求后,可以用于执行多种与数据请求相关的处理,例如收集目标数据库请求进行机器学习模型的训练,该训练的模型可以有多种任务,例如识别目标数据库请求的特征、识别目标数据库请求出现的原因等等;还可以利用目标数据库请求触发异常报警,或者利用目标数据库请求识别数据库异常的原因等等。
云数据库发生故障之前,iSQ往往会提前出现,由于正常情况下iSQ的响应时间正常,其在其他的正常时间段实际上并不慢,SQL查询的RT(即数据库SQL请求的响应时间或数据库SQL请求的执行时间)返回时间突然增长会导致业务的巨大变化,例如0.1秒会影响业务方1%的销售,每0.5秒的额外延迟会导致搜索业务20%的业务下降,在云数据库业务场景中也有类似这样的场景,所以精细化的找到问题SQL,并找到产生问题SQL的根因是亟需解决的技术问题。
在大规模云数据库场景中定位数据库异常根因过程中,首先,慢SQL发生是一个常见的现象,其次,从众多慢SQL中定位出iSQ也相对复杂,在定位出iSQ后识别原因也有困难,数据库管理员和运维人员会花大量时间排查***日志或***性能指标、通过SQL全量日志定位可能的问题,人工定位问题的成本也会随云数据库的实例不断膨胀而不断增加。
而通过前述实施例的数据库请求识别方案,可以从众多数据库请求中定位出目标数据库请求,基于此可以显著地减少数据库异常的识别难度,基于此,如图2A所示,是本说明书根据一示例性实施例示出的一种数据库异常检测方法的流程图,包括以下步骤:
在步骤S202中,获取设定时间段内的数据库请求集。
在步骤S204中,确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
在步骤S208中,识别所述目标数据库请求所属的数据库异常原因类别。
其中,步骤202至204可参考前述图1A所述实施例中步骤102和104的说明。本实施例中,由于传统的慢SQL数量较多,难以定位数据库***的异常远程,并且存在很多本身无需优化的慢SQL(如查询数据量较大的SQL),不能真实反映SQL执行效率和***状态;而本申请实施例通过iSQ来对数据库进行异常检测,从而通过数据驱动的方式,从新的维度解释了精准筛选出来问题SQL,通过对这一部分SQL的定位,能够显著缩小数据库异常分析的全集,提高了资源利用率,也能显著地降低数据库***异常的识别难度,能够更快地识别出数据库***的异常原因。
本实施例中,数据库异常原因类别有多种,可能是设备的硬件问题,也有可能是数据库的软件问题。若数据库运行异常,从表现上看,是对SQL的执行时间较长导致SQL的响应时间较长;但究其原因,是数据库实例(即数据库中的数据库服务器设备)某些问题导致了运行异常,从设备角度来看,异常原因可能是CPU过载、I/O资源过载、链路瓶颈等,这些问题在数据上表现为数据库运行环境的性能数据,从性能数据中可以提取出关注的一个或多个性能指标数据。当iSQ产生时,伴随着数据库运行环境的性能异常,即iSQ与性能指标数据具有关联性,例如CPU过载可能导致某类iSQ产生,I/O资源过载可能导致某类iSQ产生等等。因此,基于iSQ与性能指标数据之间的关联性,可以通过iSQ识别出其对应哪些性能指标数据的异常,而性能指标数据对应了具体的数据库异常原因,从而实现数据库异常原因的定位。本实施例的指标用于衡量数据库运行的性能,以性能指标为CPU利用率为例,正常情况下CPU利用率不会过载,不会到达接近100%的数值,并且正常情况下通常会维持在一定范围,作为例子正常情况下在一定时间段内会一直保持在70%上下浮动。然而,如果CPU硬件异常导致CPU过载,则CPU利用率会从正常的70%爬升至接近100%,从数据表现上看,在某个时间段出现一类iSQ,对应的CPU性能指标从正常值爬升至表征过载的数值。基于此,针对从设定时间段的SQL中识别出的iSQ,可以获取相应时间段的数据库的性能指标数据,进而定位出数据库异常的原因。
本实施例中,性能指标数据包括有至少一个表征性能指标的数据。具体的性能指标可以根据需要灵活选择,例如可以包括:CPU利用率、I/O利用率、网络吞吐量或控制器工作负载等。目标数据库请求与性能指标数据相对应是指两者在时间上的对应,这是由于数据库运行异常时,数据库运行环境的性能指标数据发生变化,相对应的会产生目标数据库请求,也即是目标数据库请求与性能指标数据是数据库运行异常的两个结果。因此,在某个时间段发现目标数据库请求,可以获取该相应时间段的性能指标数据从而进行数据库***异常分析。
从时间上看,若数据库***正常,则性能指标数据通常不会发生较大变化;若数据库***经历从正常至异常的变化,这种变化将体现为性能指标数据的变化,因此本实施例的性能指标数据可以是时间序列数据。而通过提取性能指标的时序特征,可以确定该性能指标是否异常,例如若性能指标CPU利用率,从时序上看CPU利用率发生了激增,性能指标CPU利用率具有了一个激增的特征,而通过激增的特征可以指示数据库***可能出现了异常。
本实施例中,性能指标的时序特征表征了性能指标在时间上的波动情况,数据库正常及数据库异常会导致性能指标在时间上的不同波动,一些特殊的波动往往能够表征数据库出现了异常,例如时序特征上出现了尖峰,均值漂移(均值上移或均值下移),或者是时序特征无效,这几种情况分别对应实际的指标数值突然激增、指标整体均值变大、指标整体均值变小,以及指标为零或丢失等。如图2B所示,示出了两种时序特征上出现尖峰的示意图;如图2C所示,示出了均值上移或均值下移的示意图。当然,实际应用中也可以根据需要配置其他类型的时序特征来表征性能指标是否出现异常,本实施例对此不作限定。
在一些例子中,可以通过机器学习模型实现数据库异常原因的定位。作为例子,所述机器学习模型可以用于:从所述性能指标数据识别出至少一个性能指标,以及识别每个所述性能指标是否具有至少一个异常指标特征后后,确定具有至少一个异常特征的性能指标确定所述异常指标特征所属的聚类类别,将确定的聚类类别对应的与数据库异常原因类别确定为所述目标数据库请求数据库异常原因类别。因此,在需要识别数据库异常原因类别时,可以获取数据库运行环境的性能指标数据后,将所述目标数据库请求及所述性能指标数据输入至机器学习模型,利用所述机器学习模型确定所述目标数据库请求所属的数据库异常原因类别。
在一些例子中,可以采用历史数据对机器学习模型进行训练,例如,历史数据可以包括历史的已知数据库运行异常的数据以及历史iSQ数据,如图2D所示,是本说明书根据一示例性实施例示出的一种数据库异常检测模型的获取方法的流程图,包括如下步骤:
在步骤212中,获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
在步骤214中,利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
在步骤216中,利用所述多个聚类类别结果训练机器学习模型。
其中,训练得到的机器学习模型用于识别目标数据库请求所属的数据库异常原因类别。
本实施例中,可以利用历史数据进行模型训练,模型训练阶段为离线阶段。不同数据库异常的原因会表现为不同的异常性能指标及异常特征,同一种数据库异常原因所对应的至少一个异常性能指标具有一定的相似性,因此通过对众多的性能指标数据进行聚类分析,则具有一定的相似性的异常指标聚类在一起并对应一种数据库异常原因;因此聚类类别对应了某一种数据库异常原因类别,通过聚类分析可以快速自动地对众多的性能指标数据进行聚类。
作为例子,如果两个iSQ的相似度匹配很高,认定为同一类;可以通过如下式子iSQi与iSQj的相似度Sij,T表示iSQ对应的性能指标的类别,而|Kit,Kjt|表示每个性能指标之间的相似度。
如图2E所示,示出了iSQ1与iSQ2的相似度比对示意图,其中,性能指标分为四类,分别是CPU、I/O、Network和Workload,每种类别下对应有至少一个性能指标,将iSQ1的各个性能指标与iSQ2的各个性能指标分别进行比对,利用历史关键异常性能指标的相似度可以确定iSQ1与iSQ2的相似度,进而可以确定iSQ1与iSQ2是否属于一个聚类。
每个聚类类别对应的数据库异常原因类别,可以由人工标注获得,例如可以展示所述机器学习模型识别出每种聚类类别的异常指标特征,以及提供针对数据库异常原因类别信息的配置接口;利用从所述配置接口获取的配置信息,确定每种聚类类别对应的数据库异常原因类别。本实施例通过将每种聚类的异常指标特征进行展示,从而可以供技术人员查阅以确定该类别的数据库异常原因类别,进一步地可通过配置接口输入对应的数据库异常原因类别信息,从而实现了对每种聚类的异常指标特征进行数据库异常原因类别的人工标注。
实际应用中,聚类分析的过程可以采用聚类算法实现,以字典树算法作为例子,可以将所述历史目标数据库请求集转换为字典,所述字典中包含有对各历史目标数据库请求转换得到的字符串,所述字符串包括历史目标数据库请求对应的多个历史关键异常性能指标构成的序列;利用字符串之间的相似度确定历史目标数据库请求之间的相似度,根据历史目标数据库请求之间的相似度进行聚类分析,获得多个聚类类别。本实施例中,将每个历史iSQ之后为字符串,具体的,可以将历史iSQ对应的多个历史关键异常性能指标构成的序列转换为字符串,各历史iSQ对应的字符串转换为字典,即所述历史目标数据库请求集转换为字典,字符串由至少一个字符构成,可以利用字符串之间的相似度确定历史目标数据库请求之间的相似度,根据历史目标数据库请求之间的相似度进行聚类分析,获得多个聚类类别。字典中包含的多个字符串,需要快速地进行相似度分析,在一些例子中,可以采用KD树(k-dimensional树)算法来实现字典的KD树构建,通过构建的树结构可以实现节点之间的快速比对,从而实现来两个历史iSQ相似度快速分析,以提高聚类效率。
在一些例子中,所述多个历史关键异常指标,通过如下方式获得:
获取数据库运行环境的历史监控数据,利用所述历史监控数据中计算多个历史初始异常性能指标,将所述多个历史初始异常性能指标进行关联分析,删除具有关联的多个历史初始异常性能指标中的至少一个后,获得所述多个历史关键异常性能指标。
实际应用中,数据库运行环境的历史监控数据众多,可能包含了非常多的异常指标,若数据库的性能指标超过50个甚至上百个,在海量指标中,数据库管理人员往往关心关键指标的异常特征和非关键指标的剧烈变化来定位问题,而一些异常指标之间具有高度的关联性,一个异常性能指标通常伴随着另一个或更多的异常性能指标,这些指标高度相关是由于数据库中故障会快速传播使得关联的异常性能同时出现,例如异常指标A的出现必然导致异常指标B的出现,则可以根据需要删除一个或部分指标,只保留部分异常指标进行分析,因此可以提高处理效率,减少数据处理量,本实施例可以从众多异常指标中提取出关键异常指标。其中,对于多指标的关联分析,可以采用关联分析算法实现。
实际应用中,聚类结果包括多个聚类类别,一些场景下每个聚类类别下可能包括很多历史异常性能指标,因此需要解决聚类类别的可解释性问题,以方便数据库管理人员查阅每个聚类类别并标注对应的数据库异常原因。可解释性是指在我们需要了解或解决一件事情的时候,我们可以获得我们所需要的足够的可以理解的信息。对应到本案,需要理解每个聚类类别对应的历史关键异常性能指标的特征含义数据,从而可以让技术人员更为快速地标注对应的数据库异常原因类别信息。
在一些例子中,聚类结果可以输入至贝叶斯案例模型,利用贝叶斯案例模型(Bayesian Case Model)对每个聚类类别对应的异常性能指标进行整合,对异常性能指标的异常特征进行整合,从而得到每个聚类类别的典型的异常性能指标及典型的异常特征,典型的异常性能指标及典型的异常特征构成了该聚类类别的特征含义数据,通过贝叶斯案例模型来解决可解释性问题,贝叶斯案例模型输出了更为直观的结果,特征含义数据作为该聚类类别的表征使得技术人员可以通过每个聚类类别的代表性数据,更为快速地标注数据库异常原因类别。
实际业务中,模型训练完成可在线应用,而实际应用中面临复杂的环境,可能模型训练阶段所确定的数据库异常原因具有局限性,实际应用时可能会有新的数据库异常原因出现而模型未能识别出来。基于此,本实施例针对这些未能识别出原因的目标数据库请求可以进行展示,以供技术人员人工识别和标定,利用标定结果对机器学习模型进行训练,使得机器学习模型能够持续优化。作为例子,若所述机器学习模型未识别出所述目标数据库请求所属的数据库异常原因类别,获取所述机器学习模型识别出的所述目标数据库请求的异常指标特征,并提供针对所述目标数据库请求的异常指标特征对应的数据库异常原因类别信息的配置接口;利用从所述配置接口获取的配置信息,以及目标数据库请求的异常指标特征对所述机器学习模型进行训练。
上述实施例提供了对iSQ根因定位处理过程,在离线处理阶段,针对大量的历史数据,通过异常检测,从时序上对性能指标数据查找出各个性能指标的异常特征,通过关联分析筛选出主要的关键异常性能指标,之后进行聚类分析,得到每个iSQ的关键异常性能指标和其所在的聚类类别,接着可以通过贝叶斯案例模型从每一个iSQ类别中提取该类别的特征子空间,提高模型可解释性,方便数据库管理人员标注每个聚类类别的异常原因。标注后,获得了每类数据库异常原因类别与该类别的iSQ的异常特征的对应关系;后续的,机器学习模型上线应用,当在线识别出出现iSQ时,利用机器学习模型可以识别出导致该iSQ异常的根因。
与前述数据库请求识别方法、数据库异常检测方法的实施例相对应,本说明书还提供了数据库请求识别装置、数据库异常检测装置及其所应用的终端的实施例。
本说明书数据库异常检测装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书一种计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中数据库请求识别装置/数据库异常检测装置/数据库异常检测模型的获取装置331所在的计算机设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,如图4所示,是本说明书根据一示例性实施例示出的一种数据库请求识别装置的示意图,所述装置包括:
请求获取模块41,用于:获取设定时间段内的数据库请求集;
请求识别模块42,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
可选的,所述目标数据库请求包括:由数据库运行状态异常导致的慢数据库请求,所述慢数据库请求的响应时长大于第二设定阈值。
可选的,所述数据库请求集为:包括多个慢数据库请求的数据库请求集,所述慢数据库请求的响应时长大于第二设定阈值。
可选的,所述第一设定阈值大于或等于第二设定阈值。
可选的,所述慢数据库请求集中的慢数据库请求通过如下方式确定:
向数据库设备发送探活数据库请求后,监测所述数据库设备对所述探活数据库请求的响应时间;
若所述探活数据库请求的响应时间大于第一设定阈值,确定所述探活数据库请求为所述慢数据库请求。
相应的,如图5所示,是本说明书根据一示例性实施例示出的一种数据库异常检测装置的示意图,所述装置包括:
请求获取模块51,用于:获取设定时间段内的数据库请求集;
请求识别模块52,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求;
原因识别模块53,用于:识别所述目标数据库请求所属的数据库异常原因类别。
可选的,所述识别所述目标数据库请求所属的数据库异常原因类别,包括:
获取数据库运行环境的性能指标数据;
将所述目标数据库请求及所述性能指标数据输入至机器学习模型,利用所述机器学习模型确定所述目标数据库请求所属的数据库异常原因类别。
可选的,所述机器学习模型用于:从所述性能指标数据识别出至少一个性能指标,以及识别每个所述性能指标是否具有至少一个异常特征后,确定具有至少一个异常特征的性能指标所属的聚类类别,将确定的聚类类别对应的与数据库异常原因类别确定为所述目标数据库请求的数据库异常原因类别。
可选的,所述机器学习模型通过如下方式训练得到:
获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
利用多个聚类类别结果训练机器学习模型。
可选的,所述性能指标数据为时间序列数据,所述异常特征是通过分析所述性能指标在时序上的波动确定的。
可选的,所述利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别,包括:
将所述历史目标数据库请求集转换为字典,所述字典中包含有对各历史目标数据库请求转换得到的字符串,所述字符串包括历史目标数据库请求对应的多个历史关键异常性能指标构成的序列;
利用字符串之间的相似度确定历史目标数据库请求之间的相似度,根据历史目标数据库请求之间的相似度进行聚类分析,获得多个聚类类别。
可选的,所述多个历史关键异常性能指标,通过如下方式获得:
获取数据库运行环境的历史监控数据,利用所述历史监控数据中计算多个历史初始异常性能指标,将所述多个历史初始异常性能指标进行关联分析,删除具有关联的多个历史初始异常性能指标中的至少一个后,获得所述多个历史关键异常性能指标。
可选的,所述每种聚类对应一种数据库异常原因类别,通过如下方式确定:
提取每种聚类类别中历史目标数据库请求对应的历史关键异常性能指标的特征含义数据并进行展示,以及提供针对数据库异常原因类别信息的配置接口;
利用从所述配置接口获取的配置信息,确定每种聚类类别对应的数据库异常原因类别。
相应的,如图6所示,是本说明书根据一示例性实施例示出的一种数据库异常检测模型的获取装置的示意图,包括:
获取模块61,用于:获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
聚类模块62,用于:利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
训练模块63,用于:利用所述多个聚类类别结果训练机器学习模型;其中,训练得到的机器学习模型用于识别目标数据库请求所属的数据库异常原因类别。
相应的,如图7所示,是本说明书根据一示例性实施例示出的一种***结构示意图,所述***包括:数据库异常检测端、数据库服务端和用户请求端;
所述用户请求端71用于:向所述数据库服务端发送数据库请求;
所述数据库服务端72用于:响应所述数据库请求;
所述数据库异常检测端73用于:
基于所述数据库服务端对所述数据库请求的响应时长,获取慢数据库请求,所述慢数据库请求的响应时长大于第一设定阈值;
获取历史慢数据库请求的响应时长的历史数据,基于所述历史数据计算所述慢数据库请求的概率分布,确定概率低于设定概率阈值且响应时长大于第二设定阈值的慢数据库请求属于目标数据库请求;
识别所述目标数据库请求所属的数据库异常原因类别。
相应的,一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述数据库异常检测方法。
相应的,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行前述数据库异常检测方法。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (18)
1.一种数据库请求识别方法,所述方法包括:
获取设定时间段内的数据库请求集;
确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
2.根据权利要求1所述的方法,所述目标数据库请求包括:由数据库运行状态异常导致的慢数据库请求,所述慢数据库请求的响应时长大于第二设定阈值。
3.根据权利要求1所述的方法,所述数据库请求集为:包括多个慢数据库请求的数据库请求集,所述慢数据库请求的响应时长大于第二设定阈值。
4.根据权利要求2或3所述的方法,所述第一设定阈值大于或等于第二设定阈值。
5.根据权利要求2所述的方法,所述数据库请求集中的慢数据库请求通过如下方式确定:
向数据库设备发送探活数据库请求后,监测所述数据库设备对所述探活数据库请求的响应时间;
若所述探活数据库请求的响应时间大于第一设定阈值,确定所述探活数据库请求为所述慢数据库请求。
6.一种数据库异常检测方法,所述方法包括:
获取利用权利要求1至5任意一项数据库请求识别方法识别出的目标数据库请求;
识别所述目标数据库请求所属的数据库异常原因类别。
7.根据权利要求6所述的方法,所述识别所述目标数据库请求所属的数据库异常原因类别,包括:
获取数据库运行环境的性能指标数据;
将所述目标数据库请求及所述性能指标数据输入至机器学习模型,利用所述机器学习模型确定所述目标数据库请求所属的数据库异常原因类别。
8.根据权利要求7所述的方法,所述机器学习模型用于:从所述性能指标数据识别出至少一个性能指标,以及识别每个所述性能指标是否具有至少一个异常特征后,确定具有至少一个异常特征的性能指标所属的聚类类别,将确定的聚类类别对应的与数据库异常原因类别确定为所述目标数据库请求的数据库异常原因类别。
9.根据权利要求7所述的方法,所述机器学习模型通过如下方式训练得到:
获取历史目标数据库请求集,以及所述历史目标数据库请求集中各历史目标数据库请求对应的多个历史关键异常性能指标;
利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别结果;所述聚类类别结果包括:至少一个历史目标数据库请求,所述历史目标数据库请求对应的历史关键异常性能指标及异常特征,每种聚类类别对应一种数据库异常原因类别;
利用多个聚类类别结果训练机器学习模型。
10.根据权利要求8或9所述的方法,所述性能指标数据为时间序列数据,所述异常特征是通过分析所述性能指标在时序上的波动确定的。
11.根据权利要求9所述的方法,所述利用历史关键异常性能指标的相似度,将所述历史目标数据库请求集中各历史目标数据库请求进行聚类分析,获得多个聚类类别,包括:
将所述历史目标数据库请求集转换为字典,所述字典中包含有对各历史目标数据库请求转换得到的字符串,所述字符串包括历史目标数据库请求对应的多个历史关键异常性能指标构成的序列;
利用字符串之间的相似度确定历史目标数据库请求之间的相似度,根据历史目标数据库请求之间的相似度进行聚类分析,获得多个聚类类别。
12.根据权利要求9所述的方法,所述多个历史关键异常性能指标,通过如下方式获得:
获取数据库运行环境的历史监控数据,利用所述历史监控数据中计算多个历史初始异常性能指标,将所述多个历史初始异常性能指标进行关联分析,删除具有关联的多个历史初始异常性能指标中的至少一个后,获得所述多个历史关键异常性能指标。
13.根据权利要求9所述的方法,所述每种聚类对应一种数据库异常原因类别,通过如下方式确定:
提取每种聚类类别中历史目标数据库请求对应的历史关键异常性能指标的特征含义数据并进行展示,以及提供针对数据库异常原因类别信息的配置接口;
利用从所述配置接口获取的配置信息,确定每种聚类类别对应的数据库异常原因类别。
14.一种数据库请求识别装置,所述装置包括:
请求获取模块,用于:获取设定时间段内的数据库请求集;
请求识别模块,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求。
15.一种数据库异常检测装置,所述装置包括:
请求获取模块,用于:获取设定时间段内的数据库请求集;
请求识别模块,用于:确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求;
原因识别模块,用于:识别所述目标数据库请求所属的数据库异常原因类别。
16.一种***,所述***包括:数据库异常检测端、数据库服务端和用户请求端;
所述用户请求端用于:向所述数据库服务端发送数据库请求;
所述数据库服务端用于:响应所述数据库请求;
所述数据库异常检测端用于:
获取设定时间段内的数据库请求集;
确定所述设定时间段内的数据库请求集中各数据库请求的响应时长的概率分布后,根据所述概率分布确定目标数据库请求,所述目标数据库请求包括:响应时长大于第一设定阈值且分布概率低于设定概率阈值的数据库请求
识别所述目标数据库请求所属的数据库异常原因类别。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至13任一所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令使所述计算机执行权利要求1至13任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020108218895 | 2020-08-15 | ||
CN202010821889 | 2020-08-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297307A CN113297307A (zh) | 2021-08-24 |
CN113297307B true CN113297307B (zh) | 2024-03-05 |
Family
ID=77318688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011486855.1A Active CN113297307B (zh) | 2020-08-15 | 2020-12-16 | 数据库请求识别、异常检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297307B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066365A (zh) * | 2017-02-20 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种***异常的监测方法及装置 |
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
KR20180076172A (ko) * | 2016-12-27 | 2018-07-05 | 주식회사 씨에스리 | 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법 |
CN108520357A (zh) * | 2018-04-10 | 2018-09-11 | 北京中电普华信息技术有限公司 | 一种线损异常原因的判别方法、装置及服务器 |
CN110086649A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 异常流量的检测方法、装置、计算机设备及存储介质 |
CN111126824A (zh) * | 2019-12-19 | 2020-05-08 | ***通信集团江苏有限公司 | 多指标关联模型训练方法及多指标异常分析方法 |
CN111123039A (zh) * | 2019-12-31 | 2020-05-08 | 国网北京市电力公司 | 基于同期特征与改进K-means聚类的配电网异常线损诊断方法 |
CN111522793A (zh) * | 2020-03-26 | 2020-08-11 | 华泰证券股份有限公司 | 一种Oracle数据库执行计划异常的检测方法 |
-
2020
- 2020-12-16 CN CN202011486855.1A patent/CN113297307B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180076172A (ko) * | 2016-12-27 | 2018-07-05 | 주식회사 씨에스리 | 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법 |
CN107066365A (zh) * | 2017-02-20 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种***异常的监测方法及装置 |
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
CN108520357A (zh) * | 2018-04-10 | 2018-09-11 | 北京中电普华信息技术有限公司 | 一种线损异常原因的判别方法、装置及服务器 |
CN110086649A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 异常流量的检测方法、装置、计算机设备及存储介质 |
CN111126824A (zh) * | 2019-12-19 | 2020-05-08 | ***通信集团江苏有限公司 | 多指标关联模型训练方法及多指标异常分析方法 |
CN111123039A (zh) * | 2019-12-31 | 2020-05-08 | 国网北京市电力公司 | 基于同期特征与改进K-means聚类的配电网异常线损诊断方法 |
CN111522793A (zh) * | 2020-03-26 | 2020-08-11 | 华泰证券股份有限公司 | 一种Oracle数据库执行计划异常的检测方法 |
Non-Patent Citations (1)
Title |
---|
基于HMM的数据库异常检测方法;黄建强;;计算机安全(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113297307A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467084B2 (en) | Knowledge-based system for diagnosing errors in the execution of an operation | |
US10515083B2 (en) | Event analysis apparatus, an event analysis system, an event analysis method, and an event analysis program | |
CN113282461B (zh) | 传输网的告警识别方法和装置 | |
CN112528519A (zh) | 发动机质量预警服务的方法、***、可读介质和电子设备 | |
CN104598367A (zh) | 数据中心故障事件管理自动化***及方法 | |
CN111309539A (zh) | 一种异常监测方法、装置和电子设备 | |
US11372858B2 (en) | Estimated query performance | |
US5802254A (en) | Data analysis apparatus | |
CN111190792B (zh) | 一种日志存储的方法、装置、电子设备及可读存储介质 | |
US9489379B1 (en) | Predicting data unavailability and data loss events in large database systems | |
CN113779272A (zh) | 基于知识图谱的数据处理方法、装置、设备及存储介质 | |
CN113542017A (zh) | 基于网络拓扑和多指标的一种网络故障定位方法 | |
CN117194919A (zh) | 一种生产数据分析*** | |
US20180159719A1 (en) | Method and Apparatus for Analysing Performance of a Network by Managing Network Data Relating to Operation of the Network | |
CN111444075A (zh) | 一种自动发现关键影响力指标的方法 | |
CN113742118B (zh) | 对数据管道中的异常进行检测的方法和*** | |
CN116471174B (zh) | 一种日志数据监测***、方法、装置和存储介质 | |
CN113297307B (zh) | 数据库请求识别、异常检测方法、装置、设备及介质 | |
CN113760879A (zh) | 数据库异常监测方法、***、电子设备及介质 | |
CN114742371A (zh) | 业务流程管理***及其方法 | |
CN115185778A (zh) | 数据库的监控方法及装置 | |
US20200242100A1 (en) | Log analysis apparatus, log analysis method, and log analysis program | |
CN112214660A (zh) | 工业信息标识与检索*** | |
CN116956174B (zh) | 用于进行冷头状态分类检测和寿命预测的分类模型和预测模型的生成方法 | |
CN112714288A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057839 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |