[发明专利]慢SQL语句预测方法及系统在审
申请号: | 202011539890.5 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112613176A | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 王凯 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李文清 |
地址: | 300457 天津市滨海新区经济技术开发*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 语句 预测 方法 系统 | ||
本发明提供一种慢SQL语句预测方法及系统,首先获取待预测SQL语句的特征信息;若历史慢SQL语句库中不存在与待预测SQL语句的特征信息的相似度满足预设条件的历史慢SQL语句,则确定待预测SQL语句的执行时间;最后根据确定的执行时间,对待预测SQL语句进行预测。本发明实施例中通过计算待预测SQL语句的特征信息与历史慢SQL语句的特征信息之间的相似度,结合待预测SQL语句的执行时间,对待预测SQL语句进行预测,不需要通过人为进行预测,既可以使预测结果更加准确,也可以节约人力,提高预测效率。而且,可以在SQL语句上线之前将其作为待预测SQL语句进行预测,可以避免慢SQL语句上线后导致系统故障。
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种慢SQL语句预测方法及系统。
背景技术
在软件编程中,由于开发者的编程能力和业务的频繁迭代可能会产生慢SQL现象。慢SQL现象是指应用在运行一段时间业务后,由于部分SQL语句频繁地对数据库进行I/O操作,从而造成了该部分SQL语句执行时长时间占用CPU。对于应用来说,少量的慢SQL语句可能不影响业务正常运行,但是随着慢SQL语句增多到一定程度,最终会影响应用中其他业务功能的执行,甚至引发系统故障,导致系统不可用。
现有技术中,在对系统中慢SQL语句进行预测时,通常是在慢SQL现象已经产生的情况下,通过工作人员对执行时间大于阈值的慢SQL语句进行判定,这需要工作人员对系统有较全面的了解,对工作人员的要求较高。而且,这种方式不仅无法避免线上系统故障,而且可能存在人为引入的误判情况。
发明内容
本发明提供一种慢SQL语句预测方法及系统,用以解决现有技术中存在的缺陷。
本发明提供一种慢SQL语句预测方法,包括:
获取待预测SQL语句的特征信息;
若判断获知历史慢SQL语句库中不存在与所述待预测SQL语句的特征信息的相似度满足预设条件的历史慢SQL语句,则确定所述待预测SQL语句的执行时间;
基于所述执行时间,预测所述待预测SQL语句是否为慢SQL语句。
根据本发明提供的一种慢SQL语句预测方法,所述若判断获知历史慢SQL语句库中不存在与所述待预测SQL语句的特征信息的相似度满足预设条件的历史慢SQL语句之后,且确定所述待预测SQL语句的执行时间之前,还包括:
对所述待预测SQL语句进行审核,确定所述待预测SQL语句的审核得分,并判断所述审核得分是否低于预设得分阈值;
若所述审核得分低于所述预测得分阈值,则确定所述待预测SQL语句的执行时间。
根据本发明提供的一种慢SQL语句预测方法,所述确定所述待预测SQL语句的执行时间,具体包括:
基于非业务数据库,执行所述待预测SQL语句,并确定所述待预测SQL语句的执行时间。
根据本发明提供的一种慢SQL语句预测方法,所述获取待预测SQL语句的特征信息,之前还包括:
获取Mysql数据库的执行日志,并将所述执行日志发送至kafka;
监听所述kafka中的SQL语句,并将所述SQL语句作为所述待预测SQL语句。
根据本发明提供的一种慢SQL语句预测方法,所述若判断获知历史慢SQL语句库中不存在与所述待预测SQL语句的特征信息的相似度满足预设条件的历史慢SQL语句,之前还包括:
计算所述待预测SQL语句的特征信息与所述历史慢SQL语句库中任一历史慢SQL语句的特征信息之间的编辑距离或者杰卡德相似系数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011539890.5/2.html,转载请声明来源钻瓜专利网。