SQL审核方法和装置制造方法及图纸

技术编号:15878678 阅读:75 留言:0更新日期:2017-07-25 16:40
本发明专利技术涉及一种SQL审核和装置。上述方法包括:获取慢日志数据;从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息;识别并解析所述SQL语句,得到解析结果;逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果;根据所述审核结果生成审核结果集。上述SQL审核和装置,能够为数据字典信息不完善的数据库扩展出可进行SQL深度审核SQL语句及与SQL语句匹配的基本信息,使SQL审核更具有针对性,并有效提高了SQL审核的准确性。

SQL auditing method and apparatus

The present invention relates to a SQL audit and device. The method includes: acquiring slow log data; from the slow log data extraction SQL statements to be audited and the basic information matching SQL statement; identification and analysis of the SQL statement, to obtain analytical results; one by one according to the audit project audit in the default template, to verify the analytical results and or the basic information, get the audit results; according to the audit results generated in the audit results. The SQL audit and device to the data dictionary of imperfect information database can be extended to the depth of SQL audit SQL statements and basic information, and the SQL statement, the SQL audit is more targeted, and effectively improve the accuracy of the SQL audit.

【技术实现步骤摘要】
SQL审核方法和装置
本专利技术涉及数据库
,特别是涉及一种SQL审核方法和装置。
技术介绍
在数据库的工作中,经常需要对数据库执行的SQL(StructuredQueryLanguage,结构化查询语言)语句进行审核,从而避免性能太差的SQL语句进入生产系统,导致数据库的整体性能降低。对于一些数据字典信息不完善的数据库,例如MySQL、Postgres等数据库的SQL审核,在传统方式中仅能通过SQL脚本解析SQL语句,进行一些简单的审核工作,而无法对SQL进行更深度的审核,例如SQL的执行计划审核等,导致SQL审核不准确。
技术实现思路
基于此,有必要提供一种SQL审核方法,能使一些数据字典信息不完善的数据库对SQL进行更深度的审核,提高SQL审核的准确性。此外,还有必要提供一种SQL审核装置,能使一些数据字典信息不完善的数据库对SQL进行更深度的审核,提高SQL审核的准确性。一种SQL审核方法,包括:获取慢日志数据;从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息;识别并解析所述SQL语句,得到解析结果;逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果;根据所述审核结果生成审核结果集。在其中一个实施例中,所述从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息,包括:根据预设格式分析所述慢日志数据,并生成慢日志数据列表;根据所述慢日志数据列表中的字段名从所述慢日志数据列表中提取待审核的SQL语句及与所述SQL语句匹配的基本信息。在其中一个实施例中,所述预设的审核模板包括执行计划审核模板及SQL语法审核模板;所述逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果,包括:逐一按照所述执行计划审核模板中的审核项目,提取所述基本信息中与所述审核项目匹配的数据进行审核,得到审核结果;和/或逐一按照所述SQL语法审核模板中的审核项目,对所述解析结果进行语法分析,并根据分析结果进行审核,得到审核结果。在其中一个实施例中,在所述根据所述审核结果生成审核结果集的步骤之后,还包括:提取所述审核结果集中审核结果为不通过的SQL语句建立SQL基线;分析所述SQL基线得到SQL审核数据,并展示所述SQL审核数据。在其中一个实施例中,所述提取所述审核结果集中审核结果为不通过的SQL语句建立SQL基线,包括:提取所述审核结果集中审核结果为不通过的SQL语句;获取所述审核结果为不通过的SQL语句的SQL编号及不通过的审核项目编号;根据所述SQL编号及不通过的审核项目编号判断是否存在匹配的SQL基线,若是,则将所述SQL基线的状态标记为不通过,若否,则根据所述SQL编号及不通过的审核项目编号建立SQL基线。一种SQL审核装置,包括:获取模块,用于获取慢日志数据;提取模块,用于从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息;解析模块,用于识别并解析所述SQL语句,得到解析结果;审核模块,用于逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果;生成模块,用于根据所述审核结果生成审核结果集。在其中一个实施例中,所述提取模块,包括:列表生成单元,用于根据预设格式分析所述慢日志数据,并生成慢日志数据列表;信息提取单元,用于根据所述慢日志数据列表中的字段名从所述慢日志数据列表中提取待审核的SQL语句及与所述SQL语句匹配的基本信息。在其中一个实施例中,所述预设的审核模板包括执行计划审核模板及SQL语法审核模板;所述审核模块,还用于逐一按照所述执行计划审核模板中的审核项目,提取所述基本信息中与所述审核项目匹配的数据进行审核,得到审核结果;和/或逐一按照所述SQL语法审核模板中的审核项目,对所述解析结果进行语法分析,并根据分析结果进行审核,得到审核结果。在其中一个实施例中,所述装置还包括:建立模块,用于提取所述审核结果集中审核结果为不通过的SQL语句建立SQL基线;展示模块,用于分析所述SQL基线得到SQL审核数据,并展示所述SQL审核数据。在其中一个实施例中,所述建立模块,包括:语句提取单元,用于提取所述审核结果集中审核结果为不通过的SQL语句;获取单元,用于获取所述审核结果为不通过的SQL语句的SQL编号及不通过的审核项目编号;判断单元,用于根据所述SQL编号及不通过的审核项目编号判断是否存在匹配的SQL基线,若是,则将所述SQL基线的状态标记为不通过,若否,则根据所述SQL编号及不通过的审核项目编号建立SQL基线。上述SQL审核方法和装置,从慢日志数据中提取待审核的SQL语句及与SQL语句匹配的基本信息,并按照预设的审核模板中的审核项目,对解析SQL语句得到的解析结果及与SQL语句匹配的基本信息进行审核,通过挖掘分析慢日志数据,能够为数据字典信息不完善的数据库扩展出可进行SQL深度审核SQL语句及与SQL语句匹配的基本信息,使SQL审核更具有针对性,并有效提高了SQL审核的准确性。附图说明图1为一个实施例中服务器的内部结构示意图;图2为一个实施例中SQL审核方法的流程示意图;图3为一个实施例中按照预设的审核模板中的审核项目进行审核的流程示意图;图4为一个实施例中建立SQL基线并进行分析的流程示意图;图5为一个实施例中建立SQL基线的流程示意图;图6为一个实施例中SQL审核装置的结构示意图;图7为一个实施例中提取模块的内部结构示意图;图8为另一个实施例中SQL审核装置的结构示意图;图9为一个实施例中建立模块的内部结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中服务器的内部结构示意图。如图1所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和SQL审核装置,数据库中存储有慢日志数据,该SQL审核装置用于实现适用于服务器的一种SQL审核方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的SQL审核装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行SQL审核方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的修改后的SQL语句以及向终端返回SQL审核数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。如图2所示,提供了一种SQL审核方法,包括以下步骤:步骤S210,获取慢日志数据。具体的,服务器可通过外部链接表的方式,从数据字典信息不完善的目标数据库中获取慢日志数据,例如、MySQL、Postgres等目标数据库,其中,慢日志本文档来自技高网...
SQL审核方法和装置

【技术保护点】
一种SQL审核方法,包括:获取慢日志数据;从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息;识别并解析所述SQL语句,得到解析结果;逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果;根据所述审核结果生成审核结果集。

【技术特征摘要】
1.一种SQL审核方法,包括:获取慢日志数据;从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息;识别并解析所述SQL语句,得到解析结果;逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果;根据所述审核结果生成审核结果集。2.根据权利要求1所述的SQL审核方法,其特征在于,所述从所述慢日志数据中提取待审核的SQL语句及与所述SQL语句匹配的基本信息,包括:根据预设格式分析所述慢日志数据,并生成慢日志数据列表;根据所述慢日志数据列表中的字段名从所述慢日志数据列表中提取待审核的SQL语句及与所述SQL语句匹配的基本信息。3.根据权利要求1所述的SQL审核方法,其特征在于,所述预设的审核模板包括执行计划审核模板及SQL语法审核模板;所述逐一按照预设的审核模板中的审核项目,对所述解析结果和/或所述基本信息进行审核,得到审核结果,包括:逐一按照所述执行计划审核模板中的审核项目,提取所述基本信息中与所述审核项目匹配的数据进行审核,得到审核结果;和/或逐一按照所述SQL语法审核模板中的审核项目,对所述解析结果进行语法分析,并根据分析结果进行审核,得到审核结果。4.根据权利要求1至3任一所述的SQL审核方法,其特征在于,在所述根据所述审核结果生成审核结果集的步骤之后,还包括:提取所述审核结果集中审核结果为不通过的SQL语句建立SQL基线;分析所述SQL基线得到SQL审核数据,并展示所述SQL审核数据。5.根据权利要求4所述的SQL审核方法,其特征在于,所述提取所述审核结果集中审核结果为不通过的SQL语句建立SQL基线,包括:提取所述审核结果集中审核结果为不通过的SQL语句;获取所述审核结果为不通过的SQL语句的SQL编号及不通过的审核项目编号;根据所述SQL编号及不通过的审核项目编号判断是否存在匹配的SQL基线,若是,则将所述SQL基线的状态标记为不通过,若否,则根据所述SQL编号及不通过的审核...

【专利技术属性】
技术研发人员:侯松汪洋
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1