语句预警方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:21628290 阅读:28 留言:0更新日期:2019-07-17 10:53
本发明专利技术公开了一种语句预警方法,该方法包括:获取应用程序访问预设生产数据库的结构化查询语句;获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;判断提取出的所述预设参数是否满足预设的慢查询预警条件;当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。本发明专利技术还公开了一种语句预警装置、设备和一种计算机可读存储介质。本发明专利技术能够在不影响生产数据库性能的前提下,降低慢查询的优化成本。

Sentence Early Warning Method, Device, Equipment and Computer Readable Storage Media

【技术实现步骤摘要】
语句预警方法、装置、设备及计算机可读存储介质
本专利技术涉及金融科技(Fintech)
,尤其涉及语句预警方法、装置、设备及计算机可读存储介质。
技术介绍
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,越来越多的技术应用在金融领域。MySQL是目前最流行的关系型数据库管理系统之一,MySQL所使用的SQL(StructuredQueryLanguage,结构化查询语言)是用于访问数据库的最常用标准化语言。在使用SQL语言查询数据库的过程中,查询响应时间超过指定时间的现象称为慢查询,慢查询会影响数据库和应用系统的性能,严重时会影响应用系统的可用性。目前为了消除或减少慢查询,一般是在生产数据库中部署监控逻辑,监测是否出现慢查询,发现慢查询后提取慢查询语句,进行优化。这种方式的缺陷在于:1)当监控到异常时,生产库中的慢查询已经形成,已经成型的慢查询往往意味着查询的目标表的数据规模已经发展得比较大,形成大表,而当优化方案涉及到对大表的加索引、加字段、分区等操作时,会伴随较长时间的生产数据库锁表过程,在此期间,对该大表有写操作的业务,均无法正常开展,如此导致慢查询的优化成本较高。2)监控逻辑对生产数据库有查询操作,客观上增加了生产数据库的负载,另外监控逻辑和生产数据库部署在同一物理资源上,也会产生一定的资源争用,影响生产数据库的性能。
技术实现思路
本专利技术的主要目的在于提出一种语句预警方法、装置、设备及计算机可读存储介质,旨在在不影响生产数据库性能的前提下,降低慢查询的优化成本。为实现上述目的,本专利技术提供一种语句预警方法,所述语句预警方法包括如下步骤:获取应用程序访问预设生产数据库的结构化查询语句;获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;判断提取出的所述预设参数是否满足预设的慢查询预警条件;当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。优选地,所述获取所述结构化查询语句的执行计划的步骤包括:对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句的执行计划相同;分别从各类型下的结构化查询语句中选取一条目标结构化查询语句;根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得对应类型下的结构化查询语句的执行计划。优选地,所述预设参数包括查询类型和候选结果数,所述判断提取出的所述预设参数是否满足预设的慢查询预警条件的步骤包括:判断所述查询类型是否为预设查询类型;若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。优选地,所述判断所述候选结果数是否大于或等于第一预设阈值的步骤之后,还包括:若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。优选地,所述对所述结构化查询语句进行聚类处理的步骤之后,还包括:分别统计各类型下的结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。优选地,所述预设参数包括排序模式,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:获取所述预警清单中的结构化查询语句的排序模式;判断获取到的所述排序模式是否为预设的排序模式;若获取到的所述排序模式为预设的排序模式,则在所述预警清单中添加需检视排序模式的提示信息。优选地,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:将所述预警清单发送至前端页面进行展示。此外,为实现上述目的,本专利技术还提供一种语句预警装置,所述语句预警装置包括:第一获取模块,用于获取应用程序访问预设生产数据库的结构化查询语句;提取模块,用于获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;第一判断模块,用于判断提取出的所述预设参数是否满足预设的慢查询预警条件;加入模块,用于当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。优选地,所述提取模块还包括:聚类单元,用于对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句对应的执行计划相同;选取单元,用于分别从各类型的结构化查询语句中选取一条目标结构化查询语句;访问单元,用于根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得与各类型的结构化查询语句对应的执行计划。优选地,所述预设参数包括查询类型和候选结果数,所述第一判断模块还用于:判断所述查询类型是否为预设查询类型;若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。优选地,所述第一判断模块还用于:若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。优选地,所述语句预警装置还包括:统计分析模块,用于分别统计各类型下结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;所述第一判断模块,还用于判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。优选地,所述预设参数包括排序模式,所述语句预警装置还包括:第二获取模块,用于获取所述预警清单中的结构化查询语句对应的排序模式;第二判断模块,用于判断获取到的所述排序模式是否为预设的排序模式;添加模块,用于若获取到的所述排序模式为预设的排序模式,则在所述预警清单中天添加需检视排序模式的提示信息。优选地,所述语句预本文档来自技高网...

【技术保护点】
1.一种语句预警方法,其特征在于,所述语句预警方法包括如下步骤:获取应用程序访问预设生产数据库的结构化查询语句;获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;判断提取出的所述预设参数是否满足预设的慢查询预警条件;当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。

【技术特征摘要】
1.一种语句预警方法,其特征在于,所述语句预警方法包括如下步骤:获取应用程序访问预设生产数据库的结构化查询语句;获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;判断提取出的所述预设参数是否满足预设的慢查询预警条件;当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。2.如权利要求1所述的语句预警方法,其特征在于,所述获取所述结构化查询语句的执行计划的步骤包括:对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句的执行计划相同;分别从各类型下的结构化查询语句中选取一条目标结构化查询语句;根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得对应类型下的结构化查询语句的执行计划。3.如权利要求1所述的语句预警方法,其特征在于,所述预设参数包括查询类型和候选结果数,所述判断提取出的所述预设参数是否满足预设的慢查询预警条件的步骤包括:判断所述查询类型是否为预设查询类型;若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。4.如权利要求3所述的语句预警方法,其特征在于,所述判断所述候选结果数是否大于或等于第一预设阈值的步骤之后,还包括:若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。5.如权利要求2所述的语句预警方法,其特征在于,所述对所述结构化查询语句进行聚类处理的步骤之后,还包括:分别统计各类型下的结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。6.如权利要求1至5中任一项所述的语句预警方法,其特征在于,所述预设参数包括排序模式,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:获取所述预警清单中的结构化查询语句的排序模式;判断获取到的所述排序模式是否为预设的排序模式;若获取到的所述排序模式为预设的排序模式,则在所述预警清单中添加需检视排序模式的提示信息。7.如权利要求1至5中任一项所述的语句预警方法,其特征在于,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:将所述预警清单发送至前端页面进行展示。8.一种语句预警装置,其特征在于,所述语句预警装置包括:第一获取模块,用于获取应用程序访问预设生产数据库的结构化查询...

【专利技术属性】
技术研发人员:王锋李宗波
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1