[发明专利]一种SQL语句检测方法及系统在审
申请号: | 201710693871.X | 申请日: | 2017-08-14 |
公开(公告)号: | CN107391384A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 魏薇 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 古利兰,王宝筠 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 检测 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种SQL语句检测方法及系统。
背景技术
SQL语句(Structured Query Language,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
当前,程序中用到的SQL语句会在提交版本前发送到DBA(Database Administrator,数据库管理员)进行评审,DBA根据企业的数据库开发规范以及自身的经验,对SQL语句的规范和性能进行评估,而后给出修改意见。在这个过程会存在一些问题,比如DBA就要花费很多时间进行人工的审核,可能会出现遗漏的情况,或评审不准确。
发明内容
有鉴于此,本发明提供了一种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语句检测的效率,更加精准可靠。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710693871.X/2.html,转载请声明来源钻瓜专利网。