一种SQL的审核方法及装置制造方法及图纸

技术编号:36850793 阅读:16 留言:0更新日期:2023-03-15 17:14
本发明专利技术公开了一种SQL的审核方法及装置,该方法包括:先获取SQL工单以及自定义规则;然后基于所述自定义规则对所述SQL工单中的SQL进行审核检测;最后根据所述审核检测结果对所述SQL工单处理,实现了提高SQL审核的稳定性和效率,提升了用户体验。提升了用户体验。提升了用户体验。

【技术实现步骤摘要】
一种SQL的审核方法及装置


[0001]本专利技术属于计算机
,具体涉及一种SQL的审核方法及装置。

技术介绍

[0002]SQL(Structured Query Language,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,审核线上SQL是运维管理中很重要的一个内容,通常随着公司业务量的增长,数据库数量的增加,可能一天就需要人工审核几十条SQL,有些SQL可能影响几千行、几万行甚至更多的数据,人工审核包括备份等需要人工处理的工作时间和沟通成本大大增加,也无法确保数据的安全性和业务的稳定性。
[0003]因此,如何提高SQL审核的稳定性和效率,是本领域技术人员有待解决的技术问题。

技术实现思路

[0004]本专利技术的目的是为了解决现有技术中SQL审核完全依赖人工,稳定性和效率低下的技术问题。
[0005]为实现上述技术目的,一方面,本专利技术提供了一种SQL的审核方法,该方法包括:
[0006]获取SQL工单以及自定义规则;
[0007]基于所述自定义规则对所述SQL工单中的SQL进行审核检测;
[0008]根据所述审核检测结果对所述SQL工单处理。
[0009]进一步地,所述基于所述自定义规则对所述SQL工单中的SQL进行审核检测,具体包括将所述自定义规则发送至预设运维工具中,以使所述预设运维工具对所述SQL进行审核检测。
[0010]进一步地,所述根据所述审核检测结果对所述SQL工单处理,具体包括:
[0011]若所述审核检测结果为不通过,则将所述SQL工单进行退回;
[0012]若所述审核检测结果为通过,则根据所述SQL工单属性进行执行。
[0013]进一步地,若所述审核检测结果为通过,则根据所述SQL工单属性进行执行,具体包括:
[0014]若所述SQL工单属性为有时效性要求,则将所述SQL工单进行自动执行;
[0015]若所述SQL工单属性为有上线时间要求,则将所述SQL工单进行数据库管理员执行。
[0016]进一步地,所述方法还包括:
[0017]若所述SQL工单中的SQL具有锁表风险,则在目标库建立同名的带有_new的新表;
[0018]执行所述新表;
[0019]在原表中生成触发器并记录增量数据且更新原表;
[0020]将更新后的原表中的数据同步至所述新表;
[0021]将原表及触发器进行删除,并将所述原表中表名作为所述新表的表名。
[0022]另一方面,本专利技术还提供了一种SQL的审核装置,所述装置包括:
[0023]获取模块,用于获取SQL工单以及自定义规则;
[0024]审核模块,用于基于所述自定义规则对所述SQL工单中的SQL进行审核检测;
[0025]处理模块,用于根据所述审核检测结果对所述SQL工单处理。
[0026]本申请提供的一种SQL的审核方法及装置,与现有技术相比,本方法先获取SQL工单以及自定义规则;然后基于所述自定义规则对所述SQL工单中的SQL进行审核检测;最后根据所述审核检测结果对所述SQL工单处理,实现了提高SQL审核的稳定性和效率,提升了用户体验。
附图说明
[0027]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1所示为本说明书实施例提供的SQL的审核方法的流程示意图;
[0029]图2所示为本说明书实施例提供的SQL的审核装置的结构示意图。
具体实施方式
[0030]为了使本领域普通技术人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0031]如图1所示为本说明实施例提供的SQL的审核方法的流程示意图,虽然本说明提供了如下实施例或附图中所示的方法操作步骤或装置结构,但基于常规或无需创造性劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元,在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
[0032]本说明实施例中提供的SQL的审核方法可以应用在客户端和服务器等终端设备中,如图1所示,所述方法具体包括如下步骤:
[0033]步骤S101、获取SQL工单以及自定义规则。
[0034]具体的,SQL工单是由开发提交,自定义规则也可以说是自定义审核规范,常见规范例如新建表必须存在自增ID、主键等,具体规则可由本领域技术人员进行灵活设置。
[0035]步骤S102、基于所述自定义规则对所述SQL工单中的SQL进行审核检测。
[0036]在本申请实施例中,所述基于所述自定义规则对所述SQL工单中的SQL进行审核检测,具体包括将所述自定义规则发送至预设运维工具中,以使所述预设运维工具对所述SQL
进行审核检测。
[0037]具体的,预设运维工具可以是Goinception,其是一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具,通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能,本领域技术人员可根据实际情况灵活选择其他运维工具。SQL提交到goinception后,goinception连接到线上MySQL进行审核。执行的时候也是连接到线上MySQL进行执行并落库。同时goinception还提供了备份、回滚的功能,基于binlog生成反向的回滚SQL。
[0038]步骤S103、根据所述审核检测结果对所述SQL工单处理。
[0039]在本申请实施例中所述根据所述审核检测结果对所述SQL工单处理,具体包括:
[0040]若所述审核检测结果为不通过,则将所述SQL工单进行退回;
[0041]若所述审核检测结果为通过,则根据所述SQL工单属性进行执行。
[0042]在本申请实施例中,若所述审核检测结果为通过,则根据所述SQL工单属性进行执行,具体包括:
[0043]若所述SQL工单属性为有时效性要求,则将所述SQL工单进行自动执行;
[0044]若所述SQL工单属性为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL的审核方法,其特征在于,所述方法包括:获取SQL工单以及自定义规则;基于所述自定义规则对所述SQL工单中的SQL进行审核检测;根据所述审核检测结果对所述SQL工单处理。2.如权利要求1所述的SQL的审核方法,其特征在于,所述基于所述自定义规则对所述SQL工单中的SQL进行审核检测,具体包括将所述自定义规则发送至预设运维工具中,以使所述预设运维工具对所述SQL进行审核检测。3.如权利要求1所述的SQL的审核方法,其特征在于,所述根据所述审核检测结果对所述SQL工单处理,具体包括:若所述审核检测结果为不通过,则将所述SQL工单进行退回;若所述审核检测结果为通过,则根据所述SQL工单属性进行执行。4.如权利要求3所述的SQL的审核方法,其特征在于,若所述审核检测结果为通过,则根据所述SQL工单属...

【专利技术属性】
技术研发人员:凌洋吴晓静
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1