[发明专利]一种分布式数据库检测方法及装置在审
| 申请号: | 202111028813.8 | 申请日: | 2021-09-02 |
| 公开(公告)号: | CN115757083A | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 陈双 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/242;G06F16/27 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 张秀英 |
| 地址: | 518057 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 数据库 检测 方法 装置 | ||
1.一种分布式数据库检测方法,其特征在于,包括:
获取结构化查询语句SQL的复杂度因子;
根据所述复杂度因子构造表结构;
根据所述复杂度因子从参数字典中获取所述SQL的基本元素,并根据所述表结构与所述基本元素生成SQL语句;
根据所述表结构与所述SQL语句对分布式数据库进行检测。
2.根据权利要求1所述的方法,其特征在于,根据所述复杂度因子构造表结构包括:
从参数字典表中获取字段、字段类型、字段长度、分发策略以及分区策略;
将所述字段、所述字段类型、所述字段长度、所述分发策略以及分区策略进行组合,得到组合结果;
根据所述组合构建所述分布式数据库的表结构与异构数据库的表结构。
3.根据权利要求2所述的方法,其特征在于,根据所述表结构与所述SQL语句对分布式数据库进行检测包括:
将所述分布式数据库的表结构与所述SQL语句注入分布式数据库,同时将所述异构数据库的表结构与所述SQL语句所述异构数据库中,并生成所述分布式数据库的第一结果文件与所述异构数据库的第二结果文件;
将所述第一结果文件与所述第二结果文件进行对比,得到对比结果;
若所述对比结果为所述第一结果文件与所述第二结果文件相同,确定所述分布式数据库正常;
若所述对比结果为所述第一结果文件与所述第二结果文件不同,确定所述分布式数据库异常。
4.根据权利要求1所述的方法,其特征在于,根据所述复杂度因子从参数字典中获取所述SQL的基本元素,并根据所述表结构与所述基本元素生成SQL语句包括:
从所述参数字典中获取函数、语法规则、语法限制条件以及字段范围,其中,所述基本元素包括所述函数、所述语法规则、所述语法限制条件以及所述字段范围;
根据所述复杂度因子、所述表结构、所述函数、所述语法规则、所述语法限制条件以及所述字段范围生成所述SQL语句。
5.根据权利要求4所述的方法,其特征在于,根据所述复杂度因子、所述表结构、所述函数、所述语法规则、所述语法限制条件以及所述字段范围生成所述SQL语句包括:
若所述SQL语句为SELECT语句,根据所述基本元素生成第一SELECT语句;根据所述表结构与所述复杂度因子生成所述SELECT语句的SELECT LIST,其中,所述SELECT LIST为所述SELECT语句的表达式SELECT_expr的组成部分;根据所述第一SELECT语句确定所述SELECT语句的FROM,根据所述复杂度因子确定所述SELECT语句的CONDITION;根据所述SELECT语句的语法规则生成所述SELECT语句,所述SELECT语句的所述语法规则为SELECT SELECT_exprFROM tab_reference CONDITION;
若所述SQL语句为INSERT语句,根据所述复杂度因子确定INSERT语句包含的VALUE的构成,若VALUES value_l ist由具体值构成,根据所述表结构中字段的数据类型取值范围确定所述VALUES value_l ist;若VALUES value_l ist由SELECT查询结果确定,生成SELECT语句构成所述VALUES value_l ist;根据所述表结构确定tbl_name;根据INSERT语句的语法规则生成所述INSERT语句,其中,INSERT语句的语法规则为:INSERT INTO tbl_nameVALUES value_list;
若所述SQL语句为UPDATE语句,根据所述表结构确定UPDATE语句的assignment_l ist,其中,assignment_l ist对应的VALUE由具体值或者由select语句查询结果构成;确定UPDATE语句的FROM与CONDITION,根据所述UPDATE语句的语法规则生成所述UPDATE语句,所述UPDATE语句的语法规则为:update tbl_name set assignment_l ist wherecondition;
若所述SQL语句为DELETE语句,根据所述表结构确定tbl_name,确定DELETE语句的FROM与CONDITION,根据所述DELETE语句的语法规则生成所述DELETE语句,其中,所述DELETE语句的语法规则为:DELETE FROM tbl_name where CONDITION;
若所述SQL语句为DELETE语句,根据所述表结构确定tbl_name,确定DELETE语句的FROM与CONDITION,根据所述DELETE语句的语法规则生成所述DELETE语句,其中,所述DELETE语句的语法规则为:DELETE FROM tbl_name where CONDITION;
若所述SQL语句为ALTER语句,根据所述表结构确定所述ALTER语句的tbl_name;根据所述复杂度因子确定所述ALTER语句的alter_option,根据所述ALTER语句的语法规则生成所述ALTER语句,其中,ALTER语句的语法规则为ALTER TABLE tbl_name alter_option;
若所述SQL语句为DROP语句,从所述表结构中获取表名,根据DROP语句的语法规则将所述表名替换tbl_name,生成所述DROP语句,其中,所述DROP语句的语法规则为drop tabletbl_name。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111028813.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:缓存管理方法和装置、控制程序及控制器
- 下一篇:一种参考信号的传输方法及装置





