[发明专利]一种分布式数据库检测方法及装置在审
| 申请号: | 202111028813.8 | 申请日: | 2021-09-02 |
| 公开(公告)号: | CN115757083A | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 陈双 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/242;G06F16/27 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 张秀英 |
| 地址: | 518057 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 数据库 检测 方法 装置 | ||
本申请实施例提供了一种分布式数据库检测方法及装置,该方法包括:获取SQL的复杂度因子;根据该复杂度因子构造表结构;根据该复杂度因子从参数字典中获取该SQL的基本元素,并根据该表结构与该基本元素生成SQL语句;根据该表结构与该SQL语句对分布式数据库进行检测,可以解决相关技术的SQL语句无法做到枚举遍历,人工设计的SQL语法也较为简单,容易造成测试语法遗漏且无法满足实际分布式数据库复杂的应用场景的问题,根据复杂度因子构建表结构,根据表结构与基本元素生成SQL语句,实现从表结构的随机创建到对应数据的增删改查,使得可以灵活地生成SQL语句,以应对分布式数据库复杂的应用场景。
技术领域
本申请实施例涉及通信领域,具体而言,涉及一种分布式数据库检测方法及装置。
背景技术
随着国产分布式数据库的快速发展,结构化查询语句(Structured QueryLanguage,简称为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/202111028813.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:缓存管理方法和装置、控制程序及控制器
- 下一篇:一种参考信号的传输方法及装置





