[发明专利]统一SQL执行与查询方法和系统在审
申请号: | 201910159739.X | 申请日: | 2019-03-04 |
公开(公告)号: | CN111651470A | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 陈小玲;钟易程 | 申请(专利权)人: | 顺丰科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京志霖恒远知识产权代理事务所(普通合伙) 11435 | 代理人: | 赵奕 |
地址: | 518061 广东省深圳市南山区学府路(以南)*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 统一 sql 执行 查询 方法 系统 | ||
本发明涉及统一SQL执行与查询方法和系统。方法包括以下步骤:获取数据库相关信息,查询匹配数据库,选取数据库,所述数据库用于执行SQL语句;接收SQL语句,检查该SQL语句是否在白名单中,若在白名单中,则校验该SQL语法,若语法正确,则解析该SQL语句类型;将SQL语句转入服务端执行,返回结果集。本发明通过输入相关信息实例名或者ip,数据库运维人员不需要登录数据库就可执行SQL,因此不需要拥有数据库ip、端口、用户名、密码等信息,也不需要堡垒机、跳板机,还可以将SQL统一下发到不同的数据库实例,支持批量数据库执行统一SQL,此外,本发明设有白名单,提升了数据库系统的安全性。
技术领域
本发明涉及数据库技术领域,尤其涉及统一SQL执行与查询方法、和系统。
背景技术
随着业务规模壮大和业务形式多样化,数据库实例越来越多,数据库运维人员登录数据库执行SQL,无论是使用可视化数据库工具,还是在linux环境中通过命令登录数据库,不仅需要拥有数据库ip、端口、用户名、密码等信息,还需要通过登录堡垒机、跳板机才能登录到数据库,而且在不同的数据库中执行SQL,还需要一个个的执行,不能将SQL统一下发到不同的数据库实例。如果运维人员不小心执行了一个错误的SQL,执行的SQL也没有白名单限制,很容易造成事故。
发明内容
为了解决上述技术问题,本发明的目的在于提供统一种SQL执行与查询方法和系统。
根据本发明的一个方面,提供了一种统一SQL执行与查询方法,包括:
获取数据库相关信息,查询匹配数据库,选取数据库,所述数据库用于执行SQL语句;
接收SQL语句,检查该SQL语句是否在白名单中,若在白名单中,则校验该SQL语句语法,若语法正确,则解析该SQL语句类型;
将SQL语句转入服务端执行,返回结果集。
作为优选,所述数据库相关信息包括数据库实例名称或ip地址。
作为优选,获取数据库相关信息,查询匹配数据库,接收执行SQL语句的数据库选择,包括:
批量选取数据库,所述数据库用于执行SQL语句。
作为优选,将SQL语句转入服务端执行,返回结果集,包括:
异步执行所述SQL语句。
作为优选,将SQL语句转入服务端执行,返回结果集,包括:
若所述SQL语句为非查询类型,则所述结果集为非查询结果集,执行失败的数据库信息和对应的错误信息展示在错误页面;
若所述SQL语句为查询类型,则所述结果集为查询结果集,对不同数据库实例查询结果进行分页,查看数据库实例所在的页面方可执行该页面的SQL语句。
根据本发明的另一个方面,提供了统一SQL执行与查询系统,包括:
数据库选取单元,配置用于获取数据库相关信息,查询匹配数据库,选取数据库,所述数据库用于执行SQL语句;
白名单配置单元,配置用于接收SQL语句,检查该SQL语句是否在白名单中,若在白名单中,则校验该SQL语句语法,若语法正确,则解析该SQL语句类型;
SQL语句执行单元,配置用于将SQL语句转入服务端执行,返回结果集。
作为优选,所述数据库相关信息包括数据库实例名称或ip地址。
作为优选,数据库选取单元包括:
批量数据库选取子单元,配置用于批量选取数据库,所述数据库用于执行SQL语句。
作为优选,SQL语句执行单元,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于顺丰科技有限公司,未经顺丰科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910159739.X/2.html,转载请声明来源钻瓜专利网。