[发明专利]SQL处理方法及装置在审
| 申请号: | 201910863939.3 | 申请日: | 2019-09-12 |
| 公开(公告)号: | CN110795450A | 公开(公告)日: | 2020-02-14 |
| 发明(设计)人: | 宋城;孔万群 | 申请(专利权)人: | 连连银通电子支付有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/22 |
| 代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 杨华 |
| 地址: | 310000 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 审核 语法 测试环境 特征信息 预设 文本 数据库变更 正确率 数据库 | ||
1.一种SQL处理方法,其特征在于,包括:
获取SQL文本中的至少一条SQL语句;
针对每条所述SQL语句,提取所述SQL语句的特征信息;
依据所述SQL语句的特征信息,判断每条所述SQL语句是否符合预设的审核标准;
若所有的所述SQL语句都符合所述审核标准,则在测试环境中,判断每条所述SQL语句的语法是否正确;
若所有的所述SQL语句的语法都正确,则在数据库中执行所述SQL文本。
2.根据权利要求1所述的方法,其特征在于,所述获取SQL文本中的至少一条SQL语句,包括:
获取SQL工单,所述SQL工单至少包括SQL文本以及与所述SQL文本对应的数据库身份标识;
判断所述SQL工单中的所述SQL文本是否满足无危险字段的要求以及文本容量小于容量阈值的要求;
若都满足,则对所述SQL文本进行分割,得到所述至少一条SQL语句。
3.根据权利要求2所述的方法,其特征在于,所述在数据库中执行所述SQL文本,包括:
依据所述SQL文本对应的数据库身份标识,确定所述SQL文本对应的数据库;
在所述SQL文本对应的数据库中,逐条执行每条所述SQL语句;
若当前的SQL语句执行失败,则将已执行成功的SQL语句进行回滚;
确定每条所述SQL语句都执行成功后,对所述数据库中变更的数据进行备份。
4.根据权利要求1所述的方法,其特征在于,所述依据所述SQL语句的特征信息,判断每条所述SQL语句是否符合预设的审核标准,包括:
判断每条所述SQL语句的特征信息是否符合预设的审核内容,其中,所述审核内容至少包括语句结束号审核、SQL类型审核、数据库类型审核以及update操作审核;
若所述SQL语句的特征信息都符合所述预设的审核内容,则确定所述SQL语句符合所述审核标准;
若所述SQL语句的特征信息不符合所述预设的审核内容中的任意一项,则确定所述SQL语句不符合所述审核标准。
5.根据权利要求1所述的方法,其特征在于,所述若所有的所述SQL语句都符合所述审核标准,则在测试环境中,判断每条所述SQL语句的语法是否正确,包括:
采用数据库中的语法解析器,对SQL语句进行解析;
依据解析结果判断所述SQL语句的语法是否正确。
6.根据权利要求1所述的方法,其特征在于,还包括:
若任意一条所述SQL语句不符合所述审核标准,或者,若任意一条所述SQL语句的语法错误,则输出所述SQL语句不符合审核标准的提示信息。
7.根据权利要求1所述的方法,其特征在于,所述在数据库中执行所述SQL文本之前,还包括,向具有审核权限的审核人员的账号发送对所述SQL语句进行审核的提示信息。
8.一种SQL处理装置,其特征在于,包括:
获取单元,用于获取SQL文本中的至少一条SQL语句;
提取单元,用于针对每条所述SQL语句,提取所述SQL语句的特征信息;
第一判断单元,用于依据所述SQL语句的特征信息,判断每条所述SQL语句是否符合预设的审核标准;
第二判断单元,用于若所有的所述SQL语句都符合所述审核标准,则在测试环境中,判断每条所述SQL语句的语法是否正确;
执行单元,用于若所有的所述SQL语句的语法都正确,则在数据库中执行所述SQL文本。
9.根据权利要求8所述的装置,其特征在于,所述获取单元用于获取SQL文本中的至少一条SQL语句,包括:
所述获取单元具体用于,获取SQL工单,所述SQL工单至少包括SQL文本以及与所述SQL文本对应的数据库身份标识;判断所述SQL工单中的所述SQL文本是否满足无危险字段的要求以及文本容量小于容量阈值的要求;若都满足,则对所述SQL文本进行分割,得到所述至少一条SQL语句。
10.根据权利要求9所述的装置,其特征在于,所述执行单元用于在数据库中执行所述SQL文本,包括:
所述执行单元具体用于,依据所述SQL文本对应的数据库身份标识,确定所述SQL文本对应的数据库;在所述SQL文本对应的数据库中,逐条执行每条所述SQL语句;若当前的SQL语句执行失败,则将已执行成功的SQL语句进行回滚;确定每条所述SQL语句都执行成功后,对所述数据库中变更的数据进行备份。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于连连银通电子支付有限公司,未经连连银通电子支付有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910863939.3/1.html,转载请声明来源钻瓜专利网。





