[发明专利]一种SQL脚本的故障修复方法及其终端有效
申请号: | 201711086677.1 | 申请日: | 2017-11-07 |
公开(公告)号: | CN107957942B | 公开(公告)日: | 2020-01-14 |
发明(设计)人: | 吴丽娜;肖涵月;何恩赐 | 申请(专利权)人: | 中国平安人寿保险股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/21 |
代理公司: | 44237 深圳中一专利商标事务所 | 代理人: | 官建红 |
地址: | 518000 广东省深圳市福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 脚本 故障 修复 方法 及其 终端 | ||
1.一种SQL脚本的故障修复方法,其特征在于,包括:
获取各个SQL脚本在数据库中的第一运行状态参数;
将所述SQL脚本的第一运行状态参数导入至预设的消耗特征值转换模型,计算各个所述SQL脚本对应的第一消耗特征值;其中,所述第一消耗特征值用于表示调用所述SQL脚本时对设备资源的占用情况;
选取所述第一消耗特征值大于预设的消耗阈值的所述SQL脚本作为故障SQL脚本;
提取所述故障SQL脚本中包含的查询因子序列;其中,所述查询因子序列具体用于:当数据库调用SQL脚本执行数据查询操作时,根据各个查询因子在所述查询因子序列中的顺序,确定各个所述查询因子的查询次序;
根据所述数据库内每个数据中所述查询因子所取的参数值,确定各个所述查询因子的参数值个数;
基于所述参数值个数,计算各个所述查询因子对应的区分度;其中,所述区分度用于表示所述查询因子对所述数据库中数据的筛选效率;
根据各个所述查询因子对应的区分度,调整所述查询因子序列,以修复所述故障SQL脚本。
2.根据权利要求1所述的故障修复方法,其特征在于,所述基于所述参数值个数,计算所述查询因子对应的区分度,包括:
获取所述查询因子在所述数据库中的数据覆盖率;
将所述数据覆盖率以及所述参数值个数,导入至区分度计算模型,计算各个所述查询因子对应的区分度;其中,所述区分度计算模型为:
其中,S(x)为所述查询因子的区分度,所述Q(x)为所述查询因子的参数值个数,所述f(x)为所述查询因子的数据覆盖率,所述f总为数据库包含的总数据量,所述fx为包含所述查询因子的数据量。
3.根据权利要求1所述的故障修复方法,其特征在于,所述根据各个所述查询因子对应的区分度,调整所述查询因子序列,以修复所述故障SQL脚本,包括:
基于各个所述查询因子的区分度的数值,由大至小依次排列,生成标准查询因子序列;
若所述查询因子序列与所述标准查询因子序列不匹配,则将所述标准查询因子序列替换所述故障SQL脚本中的查询因子序列;
若所述查询因子序列与所述标准查询因子序列匹配,则从所述查询因子序列中移除所述区分度的数值小于预设的区分度阈值的查询因子,并发送查询因子异常报告给所述数据库的维护账户。
4.根据权利要求1-3任一项所述的故障修复方法,其特征在于,在所述获取各个SQL脚本的第一运行状态参数之前,还包括:
接收用户发送的搜索策略;其中,所述搜索策略包含多个所述查询因子;
根据当前所述数据库内每个数据中所述查询因子所取的参数值,确定各个所述查询因子的参数值个数,并根据所述参数值个数,计算各个所述查询因子对应的区分度;
基于各个查询因子对应的区分度的数值,由大至小依次排列,生成查询因子序列;
根据所述查询因子序列生成所述SQL脚本。
5.根据权利要求1所述的故障修复方法,其特征在于,在所述根据各个所述查询因子对应的区分度,调整所述查询因子序列,以修复所述故障SQL脚本之后,还包括:
获取修复后的所述故障SQL脚本对应的第二运行状态参数,并计算所述第二运行状态参数对应的第二消耗特征值;
若所述第二消耗特征值大于所述消耗阈值,则生成故障报警信息;其中,所述故障报警信息包含调整后的所述查询因子序列;
将所述故障报警信息推送给所述数据库的维护账户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安人寿保险股份有限公司,未经中国平安人寿保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711086677.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:移动终端内存泄漏处理方法和装置
- 下一篇:一种地理信息系统软件测试方法