CN108415991A - 一种sql审核方法与系统 - Google Patents

一种sql审核方法与系统 Download PDF

Info

Publication number
CN108415991A
CN108415991A CN201810145497.4A CN201810145497A CN108415991A CN 108415991 A CN108415991 A CN 108415991A CN 201810145497 A CN201810145497 A CN 201810145497A CN 108415991 A CN108415991 A CN 108415991A
Authority
CN
China
Prior art keywords
sql
standard grade
current
reaches
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810145497.4A
Other languages
English (en)
Inventor
刘汉华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Bei Chat Mdt Infotech Ltd
Original Assignee
Guangzhou Bei Chat Mdt Infotech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Bei Chat Mdt Infotech Ltd filed Critical Guangzhou Bei Chat Mdt Infotech Ltd
Priority to CN201810145497.4A priority Critical patent/CN108415991A/zh
Publication of CN108415991A publication Critical patent/CN108415991A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种SQL审核方法与系统,所述方法包括:获取当前SQL上线单;检查所述当前SQL上线单的SQL语句是否符合语法规范;当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核和DBA审核;当所述当前SQL上线单通过SQL内容审核和DBA审核时,执行所述SQL语句。通过所述SQL审核方法能够实现SQL语法的自动审核,降低人工审核的难度,提高SQL上线单的审核效率。

Description

一种SQL审核方法与系统
技术领域
本发明涉及数据库技术领域,具体涉及一种SQL审核方法与系统。
背景技术
在数据库的工作中,经常需要对数据库执行的SQL(Structured Query Language,结构化查询语言)语句进行审核,从而避免性能太差的SQL语句进入生产系统,导致数据库的整体性能降低。目前,现有的SQL审核提交系统只具有流程提交及数据库管理功能,无法实现SQL语法自动审核功能,且针对MySQL语句写法的统一化标准,人工审核吃力,标准越多,人工审核越困难,审核周期较长,其次,现有的SQL审核提交系统审核流程单一,不能针对SQL语句的当前环境优化审核流程,审核效率较低。
发明内容
本发明的目的是提供一种SQL审核方法与系统,能够实现SQL语法的自动审核,降低人工审核的难度,提高SQL上线单的审核效率。
为解决以上技术问题,本发明实施例提供一种SQL审核方法,由SQL审核系统执行,包括:
获取当前SQL上线单;
检查所述当前SQL上线单的SQL语句是否符合语法规范;
当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
其中,当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
优选地,所述检查所述当前SQL上线单的SQL语句是否符合语法规范,具体包括:
响应于用户输入的检查指令,调用Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
优选地,所述当所述当前SQL上线单通过DBA审核时,执行所述SQL语句,具体包括:
响应于用户输入的执行指令,判断MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
优选地,所述SQL审核方法还包括:
根据所述SQL语句的执行状态生成执行结果,并显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
优选地,所述SQL审核方法还包括将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
本发明实施例还提供一种SQL审核系统,包括:
SQL上线单获取模块,用于获取当前SQL上线单;
SQL语句语法检查模块,用于检查所述当前SQL上线单的SQL语句是否符合语法规范;
审核环境判断模块,用于当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
SQL语句执行模块,用于当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
SQL内容审核模块,用于当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
DBA审核模块,用于当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
所述SQL语句执行模块,还用于当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
退回编辑模块,用于当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
优选地,所述SQL语句语法检查模块包括Inception调用模块、Inception工具;
所述Inception调用模块,用于响应于用户输入的检查指令,调用所述Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,所述Inception工具确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,所述Inception工具确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
优选地,所述SQL语句执行模块包括MYSQL负载判断模块,MYSQL;
MYSQL负载判断模块,用于响应于用户输入的执行指令,判断所述MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
优选地,所述SQL审核系统还包括执行结果生成模块、显示模块;
所述执行结果生成模块,用于根据所述SQL语句的执行状态生成执行结果,所述显示模块用于显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
优选地,所述SQL审核系统还包括邮件通知模块,用于将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
相对于现有技术,本发明实施例提供的一种SQL审核方法的有益效果在于:所述SQL审核方法包括:获取当前SQL上线单;检查所述当前SQL上线单的SQL语句是否符合语法规范;当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;其中,当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。通过所述SQL审核方法能够实现SQL语法的自动审核,降低人工审核的难度,提高SQL上线单的审核效率。本发明实施例还提供一种SQL审核系统。
附图说明
图1是本发明实施例提供的一种SQL审核方法的流程图;
图2是本发明实施例提供的一种SQL审核系统的示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其是本发明一实施例所提供的一种SQL审核方法的流程图,所述SQL审核方法,由SQL审核系统执行,包括:
S1:获取当前SQL上线单;
S2:检查所述当前SQL上线单的SQL语句是否符合语法规范;
S3:当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
S4:当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
S5:当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
S6:当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
S7:当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
其中,当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
在本实施中,当所述当前SQL上线单的SQL语句符合语法规范时,响应于用户输入的递交指令,判断所述当前SQL上线单的审核环境。如果SQL语句不符合语法规范,能够检查出结果反馈给用户,并且让用户知道不合语法规范的地方,方便及时快速更正所述当前SQL上线单。
根据所述当前SQL上线单的审核状态更新所述当前SQL上线单的当前状态,例如,当所述当前SQL上线单通过SQL语句语法规范检查时,所述当前SQL上线单的当前状态更新为等待业务审核;当所述当前SQL上线单通过SQL内容检查时,所述当前SQL上线单的当前状态更新为等待DBA审核;当所述当前SQL上线单通过DBA检查时,所述当前SQL上线单的当前状态更新为等待执行。
其中,所述SQL审核系统设有三种登录账号,分别为开发者账号、项目负责人账号、DBA账号;所述开发者账号具有提交SQL上线单以及检查SQL上线单的SQL语句是否符合语法规范的权限;所述项目负责人具有判断SQL上线单是否通过SQL内容审核的权限;所述BDA账号具有判断SQL上线单是否通过DBA审核的权限,所述DBA账号还具有调整项目配置管理的权限,例如RDS开发、测试、线上RDS项目配置查询、新建、修改等管理功能的权限以确定SQL审核的流程和配置。
所述SQL审核方法能够根据所述当前SQL上线单的不同环境,执行不同的SQL提交流程,当所述当前SQL上线单处于开发环境或测试环境时,只要所述当前SQL上线单通过SQL语法规范检查,即可立即执行所述当前SQL上线单的SQL语句;当所述当前SQL上线单处于线上环境时,在进行通过SQL语法规范检查后,还需进行SQL内容审核以及DBA审核,当所述当前SQL上线单均通过SQL内容审核以及DBA审核时,执行所述当前SQL上线单的SQL语句;通过所述SQL审核方法能够实现SQL语法的自动审核,降低人工审核的难度,优化SQL上线单的审核流程,提高SQL上线单的审核效率,同时还可以提高SQL上线单的审核的准确度。
在一种可选的实施例中,S2:检查所述当前SQL上线单的SQL语句是否符合语法规范,具体包括:
响应于用户输入的检查指令,调用Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
在本实施例中,通过调用Python脚本访问所述Inception工具,响应于用户输入的检查指令,所述Inception工具的execute值更新为0,所述Inception工具进行SQL语句语法规范检查。
步骤S5具体包括:
响应于用户输入的第一查看指令,显示所述当前SQL上线单;
响应于用户输入的SQL内容审核通过指令,确定所述当前SQL上线单通过所述SQL内容审核;
响应于用户输入的SQL内容审核不通过指令,确定所述当前SQL上线单不通过所述SQL内容审核。
步骤S6具体包括:
响应于用户输入的第二查看指令,显示所述当前SQL上线单;
响应于用户输入的DBA审核通过指令,确定所述当前SQL上线单通过所述DBA审核;
响应于用户输入的DBA审核不通过指令,确定所述当前SQL上线单不通过所述DBA审核。
在一种可选的实施例中,S7:当所述当前SQL上线单通过DBA审核时,执行所述SQL语句,具体包括:
响应于用户输入的执行指令,判断MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
在本实施例中,S4::当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句,具体还包括:
响应于用户输入的执行指令,判断MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
在一种可选的实施例中,所述SQL审核方法还包括:
根据所述SQL语句的执行状态生成执行结果,并显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
在本实施例中,当所述当前SQL上线单的SQL语句执行成功时,所述当前SQL上线单的当前状态更新为执行成功;当所述当前SQL上线单的SQL语句执行失败时,所述当前SQL上线单的当前状态更新为执行失败。
在一种可选的实施例中,所述SQL审核方法还包括将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
所述SQL审核方法还包括响应于用户输入的查询指令,查询历史SQL上线单,并显示所述历史SQL上线单的SQL语句、提交用户、提交时间及提交审核记录等信息。进一步所述SQL审核方法还包括响应于用户输入的导出指令,将查询所得的历史SQL上线单SQL语句、提交用户、提交时间及提交审核记录等信息导出为excel。
请参阅图2,其是本发明一实施例所提供的一种SQL审核系统的示意图,所述SQL审核系统,包括:
SQL上线单获取模块1,用于获取当前SQL上线单;
SQL语句语法检查模块2,用于检查所述当前SQL上线单的SQL语句是否符合语法规范;
审核环境判断模块3,用于当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
SQL语句执行模块4,用于当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
SQL内容审核模块5,用于当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
DBA审核模块6,用于当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
所述SQL语句执行模块4,还用于当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
退回编辑模块7,用于当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
在本实施中,当所述当前SQL上线单的SQL语句符合语法规范时,所述SQL内容审核审核模块响应于用户输入的递交指令,判断所述当前SQL上线单的审核环境。如果SQL语句不符合语法规范,能够检查出结果反馈给用户,并且让用户知道不合语法规范的地方,方便及时快速更正所述当前SQL上线单。
所述SQL审核系统还包括状态更新模块,用于根据所述当前SQL上线单的审核状态更新所述当前SQL上线单的当前状态,例如,当所述当前SQL上线单通过SQL语句语法规范检查时,所述当前SQL上线单的当前状态更新为等待业务审核;当所述当前SQL上线单通过SQL内容检查时,所述当前SQL上线单的当前状态更新为等待DBA审核;当所述当前SQL上线单通过DBA检查时,所述当前SQL上线单的当前状态更新为等待执行。
其中,所述SQL审核系统设有三种登录账号,分别为开发者账号、项目负责人账号、DBA账号;所述开发者账号具有提交SQL上线单以及检查SQL上线单的SQL语句是否符合语法规范的权限;所述项目负责人具有判断SQL上线单是否通过SQL内容审核的权限;所述BDA账号具有判断SQL上线单是否通过DBA审核的权限,所述DBA账号还具有调整项目配置管理的权限,例如RDS开发、测试、线上RDS项目配置查询、新建、修改等管理功能的权限以确定SQL审核的流程和配置。
所述SQL审核系统能够根据所述当前SQL上线单的不同环境,执行不同的SQL提交流程,当所述当前SQL上线单处于开发环境或测试环境时,只要所述当前SQL上线单通过SQL语法规范检查,即可立即执行所述当前SQL上线单的SQL语句;当所述当前SQL上线单处于线上环境时,在进行通过SQL语法规范检查后,还需进行SQL内容审核以及DBA审核,当所述当前SQL上线单均通过SQL内容审核以及DBA审核时,执行所述当前SQL上线单的SQL语句;通过所述SQL审核方法能够实现SQL语法的自动审核,降低人工审核的难度,优化SQL上线单的审核流程,提高SQL上线单的审核效率,同时还可以提高SQL上线单的审核的准确度。
在一种可选的实施例中,所述SQL语句语法检查模块包括Inception调用模块、Inception工具;
所述Inception调用模块,用于响应于用户输入的检查指令,调用所述Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,所述Inception工具确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,所述Inception工具确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
在本实施例中,通过调用Python脚本访问所述Inception工具,响应于用户输入的检查指令,所述Inception工具的execute值更新为0,所述Inception工具进行SQL语句语法规范检查。
所述SQL内容审核模块包括第一查看模块、SQL内容审核判断模块;
所述第一查看模块,用于响应于用户输入的第一查看指令,显示所述当前SQL上线单;
所述SQL内容审核判断模块用于响应于用户输入的SQL内容审核通过指令,确定所述当前SQL上线单通过所述SQL内容审核;
所述SQL内容审核判断模块用于响应于用户输入的SQL内容审核不通过指令,确定所述当前SQL上线单不通过所述SQL内容审核。
所述DBA审核模块包括第二查看模块、DBA审核判断模块;
所述第二查看模块,用于响应于用户输入的第二查看指令,显示所述当前SQL上线单;
所述DBA审核判断模块,用于响应于用户输入的DBA审核通过指令,确定所述当前SQL上线单通过所述DBA审核;
所述DBA审核判断模块,用于响应于用户输入的DBA审核不通过指令,确定所述当前SQL上线单不通过所述DBA审核。
所述SQL语句执行模块包括MYSQL负载判断模块,MYSQL;
MYSQL负载判断模块,用于响应于用户输入的执行指令,判断所述MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
在一种可选的实施例中,所述SQL审核系统还包括执行结果生成模块、显示模块;
所述执行结果生成模块,用于根据所述SQL语句的执行状态生成执行结果,所述显示模块用于显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
在本实施例中,所述状态更新模块还用于当所述当前SQL上线单的SQL语句执行成功时,所述当前SQL上线单的当前状态更新为执行成功;所述状态更新模块还用于当所述当前SQL上线单的SQL语句执行失败时,所述当前SQL上线单的当前状态更新为执行失败。
在一种可选的实施例中,所述SQL审核系统还包括邮件通知模块,用于将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
所述SQL审核系统还包括查询模块,用于响应于用户输入的查询指令,查询历史SQL上线单,并显示所述历史SQL上线单的SQL语句、提交用户、提交时间及提交审核记录等信息。进一步所述SQL审核系统还包括导出模块,用于响应于用户输入的导出指令,将查询所得的历史SQL上线单SQL语句、提交用户、提交时间及提交审核记录等信息导出为excel。
相对于现有技术,本发明实施例提供的一种SQL审核方法的有益效果在于:所述SQL审核方法包括:获取当前SQL上线单;检查所述当前SQL上线单的SQL语句是否符合语法规范;当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;其中,当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。通过所述SQL审核方法能够实现SQL语法的自动审核,降低人工审核的难度,提高SQL上线单的审核效率。本发明实施例还提供一种SQL审核系统。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种SQL审核方法,其特征在于,由SQL审核系统执行,包括:
获取当前SQL上线单;
检查所述当前SQL上线单的SQL语句是否符合语法规范;
当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
其中,当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
2.如权利要求1所述的SQL审核方法,其特征在于,所述检查所述当前SQL上线单的SQL语句是否符合语法规范,具体包括:
响应于用户输入的检查指令,调用Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
3.如权利要求1所述的SQL审核方法,其特征在于,所述当所述当前SQL上线单通过DBA审核时,执行所述SQL语句,具体包括:
响应于用户输入的执行指令,判断MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
4.如权利要求1所述的SQL审核方法,其特征在于,还包括:
根据所述SQL语句的执行状态生成执行结果,并显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
5.如权利要求1所述的SQL审核方法,其特征在于,还包括
将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
6.一种SQL审核系统,其特征在于,包括:
SQL上线单获取模块,用于获取当前SQL上线单;
SQL语句语法检查模块,用于检查所述当前SQL上线单的SQL语句是否符合语法规范;
审核环境判断模块,用于当所述当前SQL上线单的SQL语句符合语法规范时,判断所述当前SQL上线单的审核环境;
SQL语句执行模块,用于当所述当前SQL上线单处于开发环境或测试环境时,执行所述SQL语句;
SQL内容审核模块,用于当所述当前SQL上线单处于线上环境时,判断所述当前SQL上线单是否通过SQL内容审核;
DBA审核模块,用于当所述当前SQL上线单通过SQL内容审核时,判断所述当前SQL上线单是否通过DBA审核;
所述SQL语句执行模块,还用于当所述当前SQL上线单通过DBA审核时,执行所述SQL语句;
退回编辑模块,用于当所述当前SQL上线单不通过所述语法规范检查、所述SQL内容审核、所述DBA审核中的任一项时,将所述当前SQL上线单退回编辑以修改所述当前SQL上线单。
7.如权利要求6所述的SQL审核系统,其特征在于,所述SQL语句语法检查模块包括Inception调用模块、Inception工具;
所述Inception调用模块,用于响应于用户输入的检查指令,调用所述Inception工具检查所述SQL语句是否包括危险操作字段;
当所述SQL语句包括所述危险字段,所述Inception工具确认所述SQL语句不符合语法规范;
当所述SQL语句不包括所述危险字段,所述Inception工具确认所述SQL语句符合语法规范;
其中,所述危险操作字段包括drop、truncate。
8.如权利要求6所述的SQL审核系统,其特征在于,所述SQL语句执行模块包括MYSQL负载判断模块,MYSQL;
MYSQL负载判断模块,用于响应于用户输入的执行指令,判断所述MYSQL的负载状态;
当所述MYSQL的负载状态为均衡状态时,所述MYSQL执行所述SQL语句;
当所述MYSQL的负载状态为满载状态时,所述MYSQL暂停执行所述SQL语句。
9.如权利要求6所述的SQL审核系统,其特征在于,还包括执行结果生成模块、显示模块;
所述执行结果生成模块,用于根据所述SQL语句的执行状态生成执行结果,所述显示模块用于显示所述执行结果;
其中,所述执行结果包括执行成功、执行失败。
10.如权利要求6所述的SQL审核系统,其特征在于,还包括邮件通知模块,用于将所述执行结果发送到指定邮箱上以通知指定用户所述SQL语句的执行结果。
CN201810145497.4A 2018-02-12 2018-02-12 一种sql审核方法与系统 Pending CN108415991A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810145497.4A CN108415991A (zh) 2018-02-12 2018-02-12 一种sql审核方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810145497.4A CN108415991A (zh) 2018-02-12 2018-02-12 一种sql审核方法与系统

Publications (1)

Publication Number Publication Date
CN108415991A true CN108415991A (zh) 2018-08-17

Family

ID=63128540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810145497.4A Pending CN108415991A (zh) 2018-02-12 2018-02-12 一种sql审核方法与系统

Country Status (1)

Country Link
CN (1) CN108415991A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284282A (zh) * 2018-10-22 2019-01-29 北京极数云舟科技有限公司 一种基于MySQL数据库运维方法和系统
CN110263054A (zh) * 2019-05-30 2019-09-20 世纪龙信息网络有限责任公司 Sql工单的审核系统、审核方法、装置及计算机设备
CN110674161A (zh) * 2019-09-20 2020-01-10 上海擎感智能科技有限公司 上线sql的方法、系统、存储介质及sql操作平台
CN111045935A (zh) * 2019-11-29 2020-04-21 中国建设银行股份有限公司 版本自动审核方法、装置、设备及存储介质
CN112328218A (zh) * 2020-11-03 2021-02-05 中国平安人寿保险股份有限公司 一种脚本的执行方法、执行装置、计算机设备和介质
CN112783917A (zh) * 2021-01-04 2021-05-11 广州海量数据库技术有限公司 工单审核方法及装置、存储介质及电子设备
CN113590647A (zh) * 2021-07-29 2021-11-02 中国联合网络通信集团有限公司 Sql语句优化方法、装置、设备、存储介质及产品
CN113722347A (zh) * 2021-02-10 2021-11-30 京东数字科技控股股份有限公司 数据库管理的方法、装置、电子设备及存储介质
CN114528514A (zh) * 2022-04-24 2022-05-24 飞狐信息技术(天津)有限公司 一种内容处理方法、系统、存储介质及电子设备
US11599532B1 (en) 2021-08-11 2023-03-07 Amdocs Development Limited System, method, and computer program for preventing user mistakes when making database changes
CN113722347B (zh) * 2021-02-10 2024-07-16 京东科技控股股份有限公司 数据库管理的方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229633A1 (en) * 2002-06-06 2003-12-11 International Business Machines Corporation Bean generated SQL for back-end management and configuration
US20120233115A1 (en) * 2011-03-08 2012-09-13 Peak Discovery, Inc. Real-time document management system and method
CN102682038A (zh) * 2011-03-18 2012-09-19 阿里巴巴集团控股有限公司 一种数据库变更方法以及装置
CN104391995A (zh) * 2014-12-15 2015-03-04 北京趣拿软件科技有限公司 一种sql语句审核的方法、数据库运维的方法及系统
CN106919612A (zh) * 2015-12-25 2017-07-04 中国移动通信集团浙江有限公司 一种上线结构化查询语言脚本的处理方法及装置
CN106980637A (zh) * 2016-09-28 2017-07-25 平安科技(深圳)有限公司 Sql审核方法和装置
CN107229681A (zh) * 2017-05-09 2017-10-03 北京潘达互娱科技有限公司 一种数据库操作方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229633A1 (en) * 2002-06-06 2003-12-11 International Business Machines Corporation Bean generated SQL for back-end management and configuration
US20120233115A1 (en) * 2011-03-08 2012-09-13 Peak Discovery, Inc. Real-time document management system and method
CN102682038A (zh) * 2011-03-18 2012-09-19 阿里巴巴集团控股有限公司 一种数据库变更方法以及装置
CN104391995A (zh) * 2014-12-15 2015-03-04 北京趣拿软件科技有限公司 一种sql语句审核的方法、数据库运维的方法及系统
CN106919612A (zh) * 2015-12-25 2017-07-04 中国移动通信集团浙江有限公司 一种上线结构化查询语言脚本的处理方法及装置
CN106980637A (zh) * 2016-09-28 2017-07-25 平安科技(深圳)有限公司 Sql审核方法和装置
CN107229681A (zh) * 2017-05-09 2017-10-03 北京潘达互娱科技有限公司 一种数据库操作方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284282A (zh) * 2018-10-22 2019-01-29 北京极数云舟科技有限公司 一种基于MySQL数据库运维方法和系统
CN110263054A (zh) * 2019-05-30 2019-09-20 世纪龙信息网络有限责任公司 Sql工单的审核系统、审核方法、装置及计算机设备
CN110674161A (zh) * 2019-09-20 2020-01-10 上海擎感智能科技有限公司 上线sql的方法、系统、存储介质及sql操作平台
CN111045935B (zh) * 2019-11-29 2023-02-03 建信金融科技有限责任公司 版本自动审核方法、装置、设备及存储介质
CN111045935A (zh) * 2019-11-29 2020-04-21 中国建设银行股份有限公司 版本自动审核方法、装置、设备及存储介质
CN112328218A (zh) * 2020-11-03 2021-02-05 中国平安人寿保险股份有限公司 一种脚本的执行方法、执行装置、计算机设备和介质
CN112783917A (zh) * 2021-01-04 2021-05-11 广州海量数据库技术有限公司 工单审核方法及装置、存储介质及电子设备
CN113722347A (zh) * 2021-02-10 2021-11-30 京东数字科技控股股份有限公司 数据库管理的方法、装置、电子设备及存储介质
CN113722347B (zh) * 2021-02-10 2024-07-16 京东科技控股股份有限公司 数据库管理的方法、装置、电子设备及存储介质
CN113590647A (zh) * 2021-07-29 2021-11-02 中国联合网络通信集团有限公司 Sql语句优化方法、装置、设备、存储介质及产品
CN113590647B (zh) * 2021-07-29 2024-02-23 中国联合网络通信集团有限公司 Sql语句优化方法、装置、设备、存储介质及产品
US11599532B1 (en) 2021-08-11 2023-03-07 Amdocs Development Limited System, method, and computer program for preventing user mistakes when making database changes
CN114528514B (zh) * 2022-04-24 2022-07-12 飞狐信息技术(天津)有限公司 一种内容处理方法、系统、存储介质及电子设备
CN114528514A (zh) * 2022-04-24 2022-05-24 飞狐信息技术(天津)有限公司 一种内容处理方法、系统、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN108415991A (zh) 一种sql审核方法与系统
CN104133772B (zh) 一种自动生成测试数据的方法
US8752001B2 (en) System and method for developing a rule-based named entity extraction
US20120117545A1 (en) Efficiently developing software using test cases to check the conformity of the software to the requirements
CN108804326A (zh) 一种软件代码自动检测方法
CN107992519A (zh) 一种面向智能电网大数据的多源异构数据校验系统及方法
CN110209584A (zh) 一种测试数据自动生成方法和相关装置
Choi et al. A methodology of building code checking system for building permission based on openBIM
WO2017050148A1 (zh) 一种数据分析方法和装置
CN106446064A (zh) 一种数据转换方法及装置
CN108255852B (zh) Sql执行方法及装置
US20100161676A1 (en) Lifecycle management and consistency checking of object models using application platform tools
CN105786710B (zh) 一种程序代码复查方法及引擎
US10324829B2 (en) Application testing
CN115114146A (zh) 接口测试方法、装置、设备及存储介质
CN105930267B (zh) 一种基于数据库字典的存储过程静态检测方法及系统
CN107562808B (zh) 一种异构双链自动化数据的验证方法
CN110347976A (zh) 快速导出设备数据模型的方法、系统、装置和存储介质
CN102254076A (zh) 一种用于三维模型设计工艺性的分析工具
CN110019118A (zh) 基于DevOps提升数据库运维效率的系统及其方法
CN109767185A (zh) 一种基于工程质量检验的计量控制方法及计算机设备
CN109032930A (zh) 系统测试方法及装置
Byers et al. A cause-based approach to preventing software vulnerabilities
Xu et al. Model checking UML activity diagrams in FDR
CN106681723A (zh) 一种用户界面ui的开发方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180817

RJ01 Rejection of invention patent application after publication