数据库请求评估方法、装置、可读存储介质及电子设备制造方法及图纸

技术编号:32473273 阅读:18 留言:0更新日期:2022-03-02 09:34
本公开实施例公开了一种数据库请求评估方法、装置、计算机可读存储介质、电子设备及计算机程序产品,其中,该方法包括:从数据库日志中提取数据库请求语句集合;对数据库请求语句集合进行聚合,得到至少一个聚合数组;确定各个聚合数组分别对应的数据库;对于各个聚合数组中的聚合数组,对该聚合数组包括的数据库请求语句进行解析,基于解析结果对该聚合数组包括的数据库请求语句进行评分;基于至少一个聚合数组各自的得分,生成用于评估对至少一个聚合数组分别对应的数据库进行请求的请求评估信息。本公开实施例实现了从海量的数据库请求语句中查找出需要优化的数据库请求语句,同时可以通过请求评估信息有针对性地为用户提供优化建议。优化建议。优化建议。

【技术实现步骤摘要】
数据库请求评估方法、装置、可读存储介质及电子设备


[0001]本公开涉及计算机
,尤其是一种数据库请求评估方法、装置、计算机可读存储介质、计算机程序产品及电子设备。

技术介绍

[0002]在互联网领域,数据库(例如MySQL数据库等)被大量企业使用。很多企业通常有多个数据库集群,每个集群有多个数据库,每个数据库有多张表,每天都会产生难以计数的数据库请求,这些请求的执行耗时是服务承载能力的主要瓶颈之一,是服务优化,治理的重要指标。
[0003]目前业界对于数据库请求状况的评估通常使用慢查询日志,治理通常使用explain命令。慢查询日志是MySQL数据自带的功能,原理是设置一个执行时间标准,比如3秒,超过这个执行时间的sql都会被记录得慢查询日志里。explain命令也是MySQL自带的功能,原理是分析一个请求的执行计划,给出可能会使用的索引,扫码行数等信息。

技术实现思路

[0004]本公开的实施例提供了一种数据库请求评估方法、装置、计算机可读存储介质、电子设备及计算机程序产品。
[0005]本公开的实施例提供了一种数据库请求评估方法,该方法包括:从数据库日志中提取预设类型的数据库请求语句集合;对数据库请求语句集合进行聚合,得到至少一个聚合数组;确定至少一个聚合数组分别对应的数据库;对于至少一个聚合数组中的聚合数组,对该聚合数组包括的数据库请求语句进行解析,并基于解析结果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分;基于至少一个聚合数组各自的得分,生成用于评估对至少一个聚合数组分别对应的数据库进行请求的请求评估信息。
[0006]在一些实施例中,对数据库请求语句集合进行聚合,得到至少一个聚合数组,包括:对数据库请求语句集合中的数据库请求语句进行语义分析,得到至少一个语句模型;基于至少一个语句模型对数据库请求语句集合进行聚合,得到至少一个语句子集合;基于至少一个语句子集合,生成至少一个聚合数组。在一些实施例中,基于至少一个语句子集合,生成至少一个聚合数组,包括:对于至少一个语句模型中的语句模型,确定该语句模型对应的模型编码;从该语句模型对应的语句子集合中确定示例语句;基于该语句模型对应的模型编码和示例语句,生成该语句模型对应的聚合数组。
[0007]在一些实施例中,从该语句模型对应的语句子集合中确定示例语句,包括:确定该语句模型对应的语句子集合中的数据库请求语句的平均执行时间,并将语句执行时间最接近平均执行时间的数据库请求语句确定为示例语句;和/或,按照语句执行时间的大小,对该语句模型对应的语句子集合中的数据库请求语句排序,并根据排序,从该语句模型对应的语句子集合中确定示例语句。
[0008]在一些实施例中,对该聚合数组包括的数据库请求语句进行解析,并基于解析结
果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分,包括:对该聚合数组包括的示例语句进行解析,并基于解析结果对该聚合数组包括的示例语句进行评分,得到该聚合数组的得分。
[0009]在一些实施例中,该方法还包括:基于预先建立的实体与数据库的对应关系,确定至少一个聚合数组分别对应的实体;对于至少一个实体中的实体,基于该实体对应的聚合数组的得分,生成及展示该实体对应的实体评估信息,以及展示该实体对应的聚合数组的数据库请求评估信息。
[0010]在一些实施例中,基于该实体对应的聚合数组的得分,生成及展示该实体对应的实体评估信息,以及展示该实体对应的聚合数组的数据库请求评估信息,包括:确定该实体对应的至少一个服务和至少一个服务分别对应的聚合数组;基于该实体对应的聚合数组的得分,生成及展示该实体对应的实体评估信息和该实体对应的至少一个服务分别对应的服务评估信息,以及展示该实体对应的聚合数组的数据库请求评估信息。
[0011]在一些实施例中,基于预先建立的实体与数据库的对应关系,确定至少一个聚合数组分别对应的实体,包括:对于至少一个聚合数组中的聚合数组,从预设的基础对应关系表中确定该聚合数组对应的数据库所属的原始实体;从预设的修正对应关系表中确定是否存在该聚合数组对应的修正实体;若存在,将修正实体确定为该聚合数组对应的实体;若不存在,将原始实体确定为该聚合数组对应的实体。
[0012]在一些实施例中,基于解析结果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分,包括:基于解析结果,确定该聚合数组包括的数据库请求语句对应的评估等级;根据评估等级对应的预设评分规则,确定该聚合数组的得分。
[0013]在一些实施例中,对数据库请求语句集合进行聚合,得到至少一个聚合数组,包括:对数据库请求语句集合进行聚合,得到至少一个初始聚合数组;基于至少一个初始聚合数组分别对应的语句子集合包括的数据库请求语句的数量,从至少一个初始聚合数组中提取出至少一个聚合数组。
[0014]根据本公开实施例的另一个方面,提供了一种数据库请求评估装置,该装置包括:提取模块,用于从数据库日志中提取预设类型的数据库请求语句集合;聚合模块,用于对数据库请求语句集合进行聚合,得到至少一个聚合数组;第一确定模块,用于确定至少一个聚合数组分别对应的数据库;评分模块,用于对于至少一个聚合数组中的聚合数组,对该聚合数组包括的数据库请求语句进行解析,并基于解析结果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分;生成模块,用于基于至少一个聚合数组各自的得分,生成用于评估对至少一个聚合数组分别对应的数据库进行请求的请求评估信息。
[0015]在一些实施例中,聚合模块包括:分析单元,用于对数据库请求语句集合中的数据库请求语句进行语义分析,得到至少一个语句模型;第一聚合单元,用于基于至少一个语句模型对数据库请求语句集合进行聚合,得到至少一个聚合数组。
[0016]在一些实施例中,第一聚合单元包括:编码子单元,用于对于至少一个语句模型中的语句模型,确定该语句模型对应的模型编码;确定子单元,用于从该语句模型对应的语句子集合中确定示例语句;生成子单元,用于基于该语句模型对应的模型编码和示例语句,生成该语句模型对应的聚合数组。
[0017]在一些实施例中,该装置还包括:第二确定模块,用于基于预先建立的实体与数据
库的对应关系,确定至少一个聚合数组分别对应的实体;展示模块,用于对于至少一个实体中的实体,基于该实体对应的聚合数组的得分,生成及展示该实体对应的实体评估信息,以及展示该实体对应的聚合数组的数据库请求评估信息。
[0018]在一些实施例中,展示模块包括:第一确定单元,用于确定该实体对应的至少一个服务和至少一个服务分别对应的聚合数组;展示单元,用于基于该实体对应的聚合数组的得分,生成及展示该实体对应的实体评估信息和该实体对应的至少一个服务分别对应的服务评估信息,以及展示该实体对应的聚合数组的数据库请求评估信息。
[0019]在一些实施例中,第二确定模块包括:第二确定单元,用于对于至少一个聚合数组中的聚合数组,从预设的基础对应关系表中确定该聚合数组对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库请求评估方法,包括:从数据库日志中提取预设类型的数据库请求语句集合;对所述数据库请求语句集合进行聚合,得到至少一个聚合数组;确定所述至少一个聚合数组分别对应的数据库;对于所述至少一个聚合数组中的聚合数组,对该聚合数组包括的数据库请求语句进行解析,并基于解析结果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分;基于所述至少一个聚合数组各自的得分,生成用于评估对所述至少一个聚合数组分别对应的数据库进行请求的请求评估信息。2.根据权利要求1所述的方法,其中,所述对所述数据库请求语句集合进行聚合,得到至少一个聚合数组,包括:对所述数据库请求语句集合中的数据库请求语句进行语义分析,得到至少一个语句模型;基于所述至少一个语句模型对所述数据库请求语句集合进行聚合,得到至少一个语句子集合;基于所述至少一个语句子集合,生成至少一个聚合数组。3.根据权利要求2所述的方法,其中,所述基于所述至少一个语句子集合,生成至少一个聚合数组,包括:对于所述至少一个语句模型中的语句模型,确定该语句模型对应的模型编码;从该语句模型对应的语句子集合中确定示例语句;基于该语句模型对应的模型编码和示例语句,生成该语句模型对应的聚合数组。4.根据权利要求3所述的方法,其中,所述从该语句模型对应的语句子集合中确定示例语句,包括:确定该语句模型对应的语句子集合中的数据库请求语句的平均执行时间,并将语句执行时间最接近所述平均执行时间的数据库请求语句确定为示例语句;和/或,按照语句执行时间的大小,对该语句模型对应的语句子集合中的数据库请求语句排序,并根据所述排序,从该语句模型对应的语句子集合中确定示例语句。5.根据权利要求3或4所述的方法,其中,所述对该聚合数组包括的数据库请求语句进行解析,并基于解析结果对该聚合数组包括的数据库请求语句进行评分,得到该聚合数组的得分,包括:对该聚合数组包括的示例语句进行解析,并基于解析结果对该聚合数组包括的示例语句进行评分,得到该聚合数组的得分。6.根据权利要求1所述的方法,其中,所述方法还包括:基于预先建立的实体与数据库的对应关系...

【专利技术属性】
技术研发人员:夏京聂心原孙继安
申请(专利权)人:北京房江湖科技有限公司
类型:发明
国别省市:

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

1