数据库慢查询检测方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:38755991 阅读:10 留言:0更新日期:2023-09-10 09:41
本申请涉及一种数据库慢查询检测方法、装置、计算机设备、存储介质和计算机程序产品。方法通过获取数据库处理请求后;确定数据库处理请求中所包含的查询请求;提取查询请求的数据库指纹;基于数据库指纹对数据库处理请求进行检测处理,得到数据库处理请求的慢查询检测结果。本申请中,通过在请求处理阶段从数据库处理请求中挑选出查询请求,而后抽象出查询请求的数据库指纹即可实现对数据库风险的慢查询分析,无需处理全量的查询请求数据,可以有效地降低数据库慢查询检测过程的计算资源消耗。地降低数据库慢查询检测过程的计算资源消耗。地降低数据库慢查询检测过程的计算资源消耗。

【技术实现步骤摘要】
数据库慢查询检测方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种数据库慢查询检测方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着计算机技术和数据库技术的发展,出现了数据库慢查询的问题,数据慢查询指的是数据库查询处理语句的实际查询时间超过了设定的查询时间。在开发过程中,数据库慢查询可能会导致性能下降,影响用户体验,甚至导致应用程序崩溃。慢查询可能是因为数据库表设计不佳、数据查询量过大、数据库服务器性能不佳等原因导致。目前,对于数据库慢查询,一般可以通过慢查询分析工具来对数据库日志进行分析,聚合其中的慢查询信息后进行处理。
[0003]然而,目前的慢查询分析方法只能通过聚合数据库日志来进行分析,需要全量地抓取请求进行分析,消耗的运算资源量较大。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够降低运算资源消耗的数据库慢查询检测方法、装置、计算机设备和计算机可读存储介质。
[0005]第一方面,本申请提供了一种数据库慢查询检测方法。所述方法包括:获取数据库处理请求;确定所述数据库处理请求中所包含的查询请求;提取所述查询请求的数据库指纹;基于所述数据库指纹对所述数据库处理请求进行检测处理,得到所述数据库处理请求的慢查询检测结果。
[0006]第二方面,本申请还提供了一种数据库慢查询检测装置。所述装置包括:请求获取模块,用于获取数据库处理请求;查询请求识别模块,用于确定所述数据库处理请求中所包含的查询请求;指纹提取模块,用于提取所述查询请求的数据库指纹;风险检测模块,用于基于所述数据库指纹对所述数据库处理请求进行分析,得到所述数据库处理请求的慢查询检测结果。
[0007]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取数据库处理请求;确定所述数据库处理请求中所包含的查询请求;提取所述查询请求的数据库指纹;基于所述数据库指纹对所述数据库处理请求进行检测处理,得到所述数据库处理请求的慢查询检测结果。
[0008]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取数据库处理请求;确定所述数据库处理请求中所包含的查询请求;提取所述查询请求的数据库指纹;基于所述数据库指纹对所述数据库处理请求进行检测处理,得到所述数据库处理请求的慢查询检测结果。
[0009]上述数据库慢查询检测方法、装置、计算机设备和存储介质,通过在获取数据库处理请求后;确定数据库处理请求中所包含的查询请求,并提取查询请求的数据库指纹。从而在处理数据库请求的过程中,提取查询请求的数据库指纹来得到同一结构下查询请求的抽象信息,并丢弃掉查询请求中重复的信息,最后基于数据库指纹来对数据库处理请求进行检测处理,得到数据库处理请求的慢查询检测结果。通过抽象出的数据库指纹即可实现对全量数据库处理请求的慢查询风险检测。本申请中,通过在请求处理阶段从数据库处理请求中挑选出查询请求,而后抽象出查询请求的数据库指纹即可实现对数据库风险的慢查询分析,无需处理全量的查询请求数据,可以有效地降低数据库慢查询检测过程的计算资源消耗。
附图说明
[0010]图1为一个实施例中数据库慢查询检测方法的应用环境图;图2为一个实施例中数据库慢查询检测方法的流程示意图;图3为一个实施例中用户与服务交互过程的示意图;图4为一个实施例中通过数据访问层实现用户与服务交互过程的示意图;图5为一个实施例中数据库慢查询检测方法的服务链路示意图;图6为一个实施例中数据库慢查询检测方法的总体流程时序图;图7为一个实施例中数据库慢查询检测方法的系统架构框图;图8为另一个实施例中数据库慢查询检测方法的流程示意图;图9为一个实施例中数据库慢查询检测装置的结构框图;图10为一个实施例中计算机设备的内部结构图。
具体实施方式
[0011]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0012]在本文中,需要理解的是,所涉及的术语:数据库指纹:通过一个算法,对同一类结构的数据库语句,但是参数不一样的场景,能生成出同样的一个唯一编号,这个编号也可以叫数据库指纹。
[0013]本申请实施例提供的数据库慢查询检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与系统服务器104进行通信,系统服务器104通过网络与代理服务器106进行通信,代理服务器106与数据存储系统108连接。数据存储系统108可以存储系
统服务器104需要处理的数据。数据存储系统108可以集成在代理服务器106上,也可以放在云上或其他服务器上。当用户需要进行数据库的风险检测时,可以通过代理服务器106来收集数据库的慢查询风险信息,首先客户可以通过终端102向系统服务器104发起业务请求,而当系统服务器接收到业务请求,并确定业务请求中涉及对数据库的处理时,可以向代理服务器106发送数据库处理请求,而后代理服务器106获取数据库处理请求;确定数据库处理请求中所包含的查询请求;提取查询请求的数据库指纹;基于数据库指纹对数据库处理请求进行检测处理,得到数据库处理请求的慢查询检测结果。同时,代理服务器106还可以执行相应的数据库处理请求,并向系统服务器104返回相应结果。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。系统服务器104和代理服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0014]在一个实施例中,如图2所示,提供了一种数据库慢查询检测方法,以该方法应用于图1中的代理服务器106为例进行说明,包括以下步骤:步骤201,获取数据库处理请求。
[0015]其中,数据库处理请求是指需要对数据库中数据进行操作的请求,数据库处理请求中具体包含有数据库处理语句,可以依据数据库处理请求中的数据库处理语句对数据存储系统108进行对应的操作处理。
[0016]具体地,当终端102方的用户需要处理系统业务时,可以向系统服务器104发起业务处理请求,来调用系统服务器104搭载的服务,而系统服务器104则可以解析业务处理请求来进行业务处理,为终端102提供服务,同时如果系统服务器104在解析业务处理请求,并确定业务处理请求涉及到对数据库的处理后,可以根据该业务处理请求生成对应的数据库处理请求,并将数据库处理请求发送至代理服务器106,由代理服务器106执行数据库处理和数据库处理相关的数据库慢查询检测处理。而代理服务器106则可以在接收到数据库处理请求,通过识别数据库处理请求的请求类型来进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库慢查询检测方法,其特征在于,所述方法包括:获取数据库处理请求;确定所述数据库处理请求中所包含的查询请求;提取所述查询请求的数据库指纹;基于所述数据库指纹对所述数据库处理请求进行检测处理,得到所述数据库处理请求的慢查询检测结果。2.根据权利要求1所述的方法,其特征在于,所述确定所述数据库处理请求中所包含的查询请求包括:提取所述数据库处理请求中的数据库处理语句;识别所述数据库处理语句中的查询处理语句,将查询处理语句对应的数据库处理请求确定为查询请求。3.根据权利要求1所述的方法,其特征在于,所述提取所述查询请求的数据库指纹包括:确定所述查询请求中查询处理语句的查询处理语句类型;基于所述查询处理语句的查询处理语句类型进行查询响应处理,得到所述查询请求的完整查询信息;通过指纹生成算法对所述完整查询信息进行指纹提取处理,得到所述查询请求对应的数据库指纹。4.根据权利要求3所述的方法,其特征在于,所述查询处理语句的查询处理语句类型包括不带数据库名的查询处理语句;所述基于所述查询处理语句的查询处理语句类型进行查询响应处理,得到所述查询请求的完整查询信息包括:查找数据库报文数据;基于所述数据库报文数据确定数据库信息缓存;基于所述数据库信息缓存为所述不带数据库名的查询处理语句添加数据库名信息,得到所述查询请求的完整查询信息。5.根据权利要求3所述的方法,其特征在于,所述通过指纹生成算法对所述完整查询信息进行指纹提取处理,得到所述查询请求对应的数据库指纹包括:通过指纹生成算法识别所述完整查询信息中的参数信息;对所述完整查询信息中的参数信息进行抽象处理,得到所述数据库处理请求对应的数据库指纹。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当在指纹库内未查找到所述数据库指纹对应的指纹数据时,将所述数据库指纹存储在所述指纹库。7.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定指纹库中数据库指纹的创建时间;识别所述指纹库中创建时间超过时间阈值的过期指纹,并对所述过期指纹作删除处理。8.根据权利要求1所述的方法,其特征在于,所述基于所述数据库指纹对...

【专利技术属性】
技术研发人员:朱思宇邓攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1