首页 / 专利库 / 电脑零配件 / 接口 / 一种多维度的综合数据库SQL审核及优化方法和系统

一种多维度的综合数据库SQL审核及优化方法和系统

阅读:1070发布:2020-06-08

专利汇可以提供一种多维度的综合数据库SQL审核及优化方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及SQL 数据库 技术领域,尤其是一种多维度的综合数据库SQL审核及优化方法和系统,包括WEB前端、服务后台和数据库,所述的WEB前端包括提交工单模 块 、工单审核模块、优化记录模块、规范配置模块和 质量 可视化 模块,所述的服务后台包括API服务模块、 数据采集 模块、SQL管理模块、审核引擎模块、优化引擎模块和任务调度模块,所述的数据库包括审核中间库模块、测试数据库模块和线上数据库模块,本发明可以大大加快了SQL审核、数据库结构优化、SQL优化的速度,减轻了数据库DBA的日常工作压 力 ,有效防范SQL性能隐患给线上环境带来影响。,下面是一种多维度的综合数据库SQL审核及优化方法和系统专利的具体信息内容。

1.一种多维度的综合数据库SQL审核系统,其特征在于:包括WEB前端、服务后台和数据库,
所述的WEB前端包括提交工单模、工单审核模块、优化记录模块、规范配置模块和质量可视化模块,
提交工单模块,用于创建SQL审核工单;
工单审核模块,用于对创建的SQL审核工单进行审核;
优化记录模块,用于对工单审核中的审核记录和优化记录的存储;
规范配置模块,用于对SQL审核标准进行规范标准化设置;
质量可视化模块,用于对SQL审核质量进行可视化;
所述的服务后台包括API服务模块、数据采集模块、SQL管理模块、审核引擎模块、优化引擎模块和任务调度模块,
API服务模块,用于对模块间数据传输接口管理;
数据采集模块,用于从数据源抓取审核需要的基础数据;
SQL管理模块,用于完成被审核对象的全生命周期管理;
审核引擎模块,用于完成规则规范的定义、配置工作;
优化引擎模块,用于完成SQL的执行特征、执行计划、运行效率的分析,并提出优化建议;
任务调度模块,用于多个工单的审核任务调度;
所述的数据库包括审核中间库模块、测试数据库模块和线上数据库模块,审核中间库模块,用于对采集的数据和处理过程中的中间数据、结果数据的保存;
测试数据库模块,用于对SQL的测试数据保存;
线上数据库模块,用于对SQL正式运行过程中的数据保存。
2.根据权利要求1所述的一种多维度的综合数据库SQL审核系统,其特征在于:审核中建库模块保存的核心数据为对象类和SQL类。
3.根据权利要求1所述的一种多维度的综合数据库SQL审核系统,其特征在于:质量可视化模块为通过打分系统对SQL审核进行质量数字化,并通过看板的方式把审核质量可视化。
4.根据权利要求1所述的一种多维度的综合数据库SQL审核系统,其特征在于:审核引擎模块是完成具体规则的审核执行部分。
5.一种多维度的综合数据库SQL审核及优化方法,其特征在于:基于SQL审核系统,其具体步骤为:
(1)通过WEB前端的提交工单模块填报SQL审核工单;
(2)将填报的SQL审核工单发送至工地审核模块形成审核请求
(3)通过API服务模块将请求发送至服务后台进行SQL审核;
(4)通过任务调度模块对请求的SQL进行调度,然后通过SQL管理模块、审核引擎模块和优化引擎模块,对被审核对象进行审核以及优化建议输出;
(5)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(6)同时将优化建议存储到优化记录模块中;
(7)对应审核过的SQL通过质量可视化模块进行数据化展示;
(8)在对于需要审核的SQL运行过程中,通过数据采集模块进行SQL基础数据采集;
(9)通过现有的CMDB信息根据元数据映射关系来匹配到从库,向从库发起审核需求;
(10)在经过审核服务的审核之后,推送审核结果到API服务模块;
(11)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(12)再将优化建议存储到优化记录模块中。
6.根据权利要求5所述的一种多维度的综合数据库SQL审核及优化方法,其特征在于:
根据步骤(9),从库内设置有语法寓意审核规则。
7.根据权利要求5所述的一种多维度的综合数据库SQL审核及优化方法,其特征在于:
根据步骤(9)和(10),审核服务包括Inception审核工具审核和进行针对性的审核逻辑定制。
8.根据权利要求7所述的一种多维度的综合数据库SQL审核及优化方法,其特征在于:
针对性的审核逻辑定制包括审核信息的定制和审核逻辑的定制。
9.根据权利要求8所述的一种多维度的综合数据库SQL审核及优化方法,其特征在于:
审核信息包括三类,
第一类信息是明显错误或者本身违背基本规范的建议信息,
第二类信息是潜在的问题,
第三类信息是改进建议型信息。

说明书全文

一种多维度的综合数据库SQL审核及优化方法和系统

技术领域

[0001] 本发明涉及SQL数据库技术领域,具体领域为一种多维度的综合数据库SQL审核及优化方法和系统。

背景技术

[0002] 数据库的SQL语句审核,实际上也是对SQL的标准化管理,是软件开发过程中重要的一环。目前有一些自动和人工审核的方法和系统,比如专利号CN108415991A的《一种SQL审核方法与系统》,但仍然存在以下问题和不足:自动审核只是作了语法规范性方面的检查,对SQL的质量不能完整把控;
人工审核的工作量比较大,而且在规范落地和监督约束方面难以把控,很多时候取决于审核者自身的平;
SQL性能隐患会给线上环境带来极大的影响,但在事前审核阶段很难模拟并发现;
规范落地没有一种数字化可视化的支持方式,靠文档和拍脑袋很难把这些规范固化下来。

发明内容

[0003] 本发明的目的在于提供一种多维度的综合数据库SQL审核及优化方法和系统,以解决现有技术中SQL数据库语句审核难度大、对线上环境带来极大的影响的问题。
[0004] 为实现上述目的,本发明提供如下技术方案:一种多维度的综合数据库SQL审核系统,包括WEB前端、服务后台和数据库,所述的WEB前端包括提交工单模、工单审核模块、优化记录模块、规范配置模块和质量可视化模块,
提交工单模块,用于创建SQL审核工单;
工单审核模块,用于对创建的SQL审核工单进行审核;
优化记录模块,用于对工单审核中的审核记录和优化记录的存储;
规范配置模块,用于对SQL审核标准进行规范标准化设置;
质量可视化模块,用于对SQL审核质量进行可视化;
所述的服务后台包括API服务模块、数据采集模块、SQL管理模块、审核引擎模块、优化引擎模块和任务调度模块,
API服务模块,用于对模块间数据传输接口管理;
数据采集模块,用于从数据源抓取审核需要的基础数据;
SQL管理模块,用于完成被审核对象的全生命周期管理;
审核引擎模块,用于完成规则规范的定义、配置工作;
优化引擎模块,用于完成SQL的执行特征、执行计划、运行效率的分析,并提出优化建议;
任务调度模块,用于多个工单的审核任务调度;
所述的数据库包括审核中间库模块、测试数据库模块和线上数据库模块,
审核中间库模块,用于对采集的数据和处理过程中的中间数据、结果数据的保存;
测试数据库模块,用于对SQL的测试数据保存;
线上数据库模块,用于对SQL正式运行过程中的数据保存。
[0005] 优选的,审核中建库模块保存的核心数据为对象类和SQL类。
[0006] 优选的,质量可视化模块为通过打分系统对SQL审核进行质量数字化,并通过看板的方式把审核质量可视化。
[0007] 优选的,审核引擎模块是完成具体规则的审核执行部分。
[0008] 为实现上述目的,本发明还提供如下技术方案:一种多维度的综合数据库SQL审核及优化方法,基于SQL审核系统,其具体步骤为:(1)通过WEB前端的提交工单模块填报SQL审核工单;
(2)将填报的SQL审核工单发送至工地审核模块形成审核请求
(3)通过API服务模块将请求发送至服务后台进行SQL审核;
(4)通过任务调度模块对请求的SQL进行调度,然后通过SQL管理模块、审核引擎模块和优化引擎模块,对被审核对象进行审核以及优化建议输出;
(5)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(6)同时将优化建议存储到优化记录模块中;
(7)对应审核过的SQL通过质量可视化模块进行数据化展示;
(8)在对于需要审核的SQL运行过程中,通过数据采集模块进行SQL基础数据采集;
(9)通过现有的CMDB信息根据元数据映射关系来匹配到从库,向从库发起审核需求;
(10)在经过审核服务的审核之后,推送审核结果到API服务模块;
(11)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(12)再将优化建议存储到优化记录模块中。
[0009] 优选的,根据步骤(9)从库内设置有语法寓意审核规则。
[0010] 优选的,根据步骤(9)和(10),审核服务包括Inception审核工具审核和进行针对性的审核逻辑定制。
[0011] 优选的,针对性的审核逻辑定制包括审核信息的定制和审核逻辑的定制。
[0012] 优选的,审核信息包括三类,第一类信息是明显错误或者本身违背基本规范的建议信息,
第二类信息是潜在的问题,
第三类信息是改进建议型信息。
[0013] 与现有技术相比,本发明的有益效果是:本方法及系统可以大大加快了SQL审核、数据库结构优化、SQL优化的速度,减轻了数据库DBA的日常工作压,有效防范SQL性能隐患给线上环境带来影响。
[0014] 对于研发人员而言,可方便定位问题,及时进行修改;此外通过对规则规范的掌握,也可以指导他们设计开发工作,提高SQL开发经验。
[0015] 对于DBA而言,可快速可视地进行审核,批量筛选出低效SQL,并可通过系统提供的信息快速诊断一般性问题。
[0016] 对于研发管理人员而言,可以跟踪到每个项目及个人的SQL质量,及时发现质量问题,便于监督改进。附图说明
[0017] 图1为本发明的系统原理框图;图2为本发明的SQL审核的主流程图

具体实施方式

[0018] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 请参阅图1,本发明提供一种技术方案:一种多维度的综合数据库SQL审核系统,包括WEB前端、服务后台和数据库,所述的WEB前端包括提交工单模块、工单审核模块、优化记录模块、规范配置模块和质量可视化模块,
提交工单模块,用于创建SQL审核工单;
工单审核模块,用于对创建的SQL审核工单进行审核;
优化记录模块,用于对工单审核中的审核记录和优化记录的存储;
规范配置模块,用于对SQL审核标准进行规范标准化设置;
质量可视化模块,用于对SQL审核质量进行可视化;
所述的服务后台包括API服务模块、数据采集模块、SQL管理模块、审核引擎模块、优化引擎模块和任务调度模块,
API服务模块,用于对模块间数据传输接口管理;
数据采集模块,用于从数据源抓取审核需要的基础数据;
SQL管理模块,用于完成被审核对象的全生命周期管理;
审核引擎模块,用于完成规则规范的定义、配置工作;
优化引擎模块,用于完成SQL的执行特征、执行计划、运行效率的分析,并提出优化建议;
任务调度模块,用于多个工单的审核任务调度;
所述的数据库包括审核中间库模块、测试数据库模块和线上数据库模块,
审核中间库模块,用于对采集的数据和处理过程中的中间数据、结果数据的保存;
测试数据库模块,用于对SQL的测试数据保存;
线上数据库模块,用于对SQL正式运行过程中的数据保存。
[0020] 审核中建库模块保存的核心数据为对象类和SQL类。
[0021] 质量可视化模块为通过打分系统对SQL审核进行质量数字化,并通过看板的方式把审核质量可视化。
[0022] 审核引擎模块是完成具体规则的审核执行部分。
[0023] 一种多维度的综合数据库SQL审核及优化方法,基于SQL审核系统,其具体步骤为:(1)通过WEB前端的提交工单模块填报SQL审核工单;
(2)将填报的SQL审核工单发送至工地审核模块形成审核请求;
(3)通过API服务模块将请求发送至服务后台进行SQL审核;
(4)通过任务调度模块对请求的SQL进行调度,然后通过SQL管理模块、审核引擎模块和优化引擎模块,对被审核对象进行审核以及优化建议输出;
(5)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(6)同时将优化建议存储到优化记录模块中;
(7)对应审核过的SQL通过质量可视化模块进行数据化展示;
(8)在对于需要审核的SQL运行过程中,通过数据采集模块进行SQL基础数据采集;
(9)通过现有的CMDB信息根据元数据映射关系来匹配到从库,向从库发起审核需求;
(10)在经过审核服务的审核之后,推送审核结果到API服务模块;
(11)再通过API服务模块将审核以及优化建议反馈至工单审核模块;
(12)再将优化建议存储到优化记录模块中。
[0024] 根据步骤(9),从库内设置有语法寓意审核规则。
[0025] 根据步骤(9)和(10),审核服务包括Inception审核工具审核和进行针对性的审核逻辑定制。
[0026] 针对性的审核逻辑定制包括审核信息的定制和审核逻辑的定制。
[0027] 审核信息包括三类,第一类信息是明显错误或者本身违背基本规范的建议信息,
第二类信息是潜在的问题,
第三类信息是改进建议型信息。
[0028] 通过本技术方案,针对背景技术中提出的问题,提出了一种多维度的综合数据库SQL审核及优化方法和系统,包括3个语句维度:DDL、DML、DQL,2个时间维度:事前审核、事后运行优化。
[0029] 对于DDL的审核,是业务最基础的需求,是有业务上的变化才会产生对象变更需求,这类主要是事前审核,要重点关注由DBA掌控。
[0030] DML的审核,是基于SQL的性能或者影响范围,还包括DML的闪回(即先得有备份),也主要是事前审核。
[0031] DQL查询语句,是另外一个维度的需求,更多会是在性能和安全方面做考量,通过SQL执行特征、SQL执行计划去自动分析给出结果,主要是事后的运行优化;如图2所示,首先是前端填报SQL审核工单、或者展示从数据采集而来的需优化的SQL,提交请求后通过API服务来对接后端的服务和结果回调。
[0032] 在步骤3-5,利用已有的CMDB信息,根据元数据映射关系来匹配到从库,向从库发起审核需求,语法语义审核在从库端。
[0033] 在经过审核服务的审核之后,会推送审核结果到API服务端,这个过程是审核服务的核心,要从逻辑上完全可控,这可以分为两个层面的工作:一个是充分吸收已有审核工具的优势,比如集成Inception;
另一个就是对审核逻辑进行针对性的定制,定制分为两部分,分别是审核信息的定制和审核逻辑的定制。
[0034] 然后把审核信息进行分级,大致分了三类:第一类信息是明显错误或者本身违背基本规范的建议,指出这些建议,比如表的字符集不符合标准、表名大小写混合等等,字段名是关键字等。这一类是必须要修改的,筛选出来重点提示。
[0035] 第二类信息是潜在的问题,比如使用了不建议的数据类型(lob),timestamp类型的范围有限等等,这些信息的意义更大,能够尽可能的杜绝潜在的问题。
[0036] 第三类信息是改进建议型信息,比如表字段的注释,可能我们没办法要求所有的开发都提交的字段都有注释,或者设置了默认值,但是我们可以作为改进和建议提出来。
[0037] 将上述三类信息做配置化操作,并做成打分系统,让整个过程更透明;打分系统的使用对于业务来说更加友好,对于打分部分的设计有以下几个要点:
审核建议分为“必须改进”,“潜在问题”,“建议改进”三级,出现一个的扣分数值分别为
5,2,1,各级分数比例为50,30,20;
总分100分,最低分数为10分,也就是说<10分设为10分。
[0038] 最后根据审核的建议信息,把这个调用信息做到持久化,包括SQL和审核建议,然后在一定的时间范围内做对比和跟进,看看哪些建议还不够好,哪些可以继续改进。
[0039] 本方法及系统可以大大加快了SQL审核、数据库结构优化、SQL优化的速度,减轻了数据库DBA的日常工作压力,有效防范SQL性能隐患给线上环境带来影响。
[0040] 对于研发人员而言,可方便定位问题,及时进行修改;此外通过对规则规范的掌握,也可以指导他们设计开发工作,提高SQL开发经验。
[0041] 对于DBA而言,可快速可视地进行审核,批量筛选出低效SQL,并可通过系统提供的信息快速诊断一般性问题。
[0042] 对于研发管理人员而言,可以跟踪到每个项目及个人的SQL质量,及时发现质量问题,便于监督改进。
[0043] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈