[发明专利]一种SQL语句分析方法、装置、电子设备及存储介质在审

专利信息
申请号: 202011253828.X 申请日: 2020-11-11
公开(公告)号: CN112395305A 公开(公告)日: 2021-02-23
发明(设计)人: 孙长平;卢中华;郭凯;卢焱 申请(专利权)人: 中国人寿保险股份有限公司
主分类号: G06F16/242 分类号: G06F16/242;G06F21/56
代理公司: 北京风雅颂专利代理有限公司 11403 代理人: 郑颖颖
地址: 100033 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 sql 语句 分析 方法 装置 电子设备 存储 介质
【权利要求书】:

1.一种SQL语句分析方法,其特征在于,包括:

对当前版本的待分析应用进行java字节码的静态分析和动态调用的扫描,得到全量SQL语句并进行合并,得到当前版本的SQL语句集合;

判断数据库中是否存在先前版本的SQL语句集合,当存在时,按照类名,方法名和SQL语句比较当前版本的SQL语句集合与数据库中的先前版本的SQL语句集合,得到当前版本的增量SQL语句;

根据SQL特征信息分析所述增量SQL语句,判断是否存在危险SQL语句和慢SQL语句,当存在时进行预警。

2.根据权利要求1所述的语句分析方法,其特征在于,对当前版本的待分析应用进行java字节码的静态分析和动态调用的扫描,得到全量SQL语句并进行合并,得到当前版本的SQL语句集合,具体包括:

接收待分析应用的不同类型的参数,所述参数包括待分析的压缩包、系统标识、名称和版本号,并将符合格式要求的文件加入classloader中;

对class文件中的DAO字节码进行静态分析,获取对应的访问类的包路径或类名,得到访问数据库的方法;

以方法为粒度进行扫描,提炼所有数据库的访问规则,得到静态常量的SQL语句和执行SQL语句的访问数据库的方法的调用方法;

将调用方法下的不同分支对应的字节码绘制为有向图;通过有向图访问算法,查找每个执行路径的SQL语句,所述SQL语句包括存在SQL特征的静态常量的SQL语句和以输入参数形式传入的SQL语句;

将所得的静态常量的SQL语句和执行路径的SQL语句,进行去重和参数合并,得到当前版本的SQL语句集合。

3.根据权利要求2所述的语句分析方法,其特征在于,所述将符合格式要求的文件加入classloader中具体包括:

当压缩包为war包时,通过Java的ZipFile解压war包,并分别把解压后的class文件和jar文件加入classloader中;当压缩包为jar包时,直接加入classloader中。

4.根据权利要求2所述的语句分析方法,其特征在于,所述以方法为粒度进行扫描,提炼所有数据库的访问规则,得到静态常量的SQL语句和执行SQL语句的访问数据库的方法的调用方法具体包括:

查找方法中存在数据库访问的调用方法,在与方法对应的数据库的api中提取字节码中的类SQL语句。

5.根据权利要求2所述的语句分析方法,其特征在于,所述查找每个执行路径的SQL语句具体包括:

根据SQL特征信息分析每个执行路径,查找每个执行路径的静态的SQL语句;

伪造单一类型的输入参数,通过java反射调用,得到以输入参数形式传入的SQL语句。

6.根据权利要求1所述的语句分析方法,其特征在于,根据SQL特征信息分析所述增量SQL语句,判断是否存在危险SQL语句包括:

拆解增量SQL语句,解析是否存在update或delete;

当存在时,判断update或delete之后是否存在where条件;当存在where条件时,拆解where条件,判断是否永远为真;

当update或delete之后不存在where条件,或者存在永远为真的where条件时,判断为存在危险SQL语句。

7.根据权利要求1所述的语句分析方法,其特征在于,根据SQL特征信息分析所述增量SQL语句,判断是否存在慢SQL语句包括:

将当前版本的待分析应用与对应的数据库连接;

获取增量SQL语句的执行计划;

保存执行计划,返回SQL执行计划结果的集合;

比较执行结果的集合和预设的慢SQL的指标,当存在与所述指标中的任一指标对应的增量SQL语句时,判断为存在慢SQL语句。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人寿保险股份有限公司,未经中国人寿保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011253828.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top