CN111858280B - 一种sql信息处理方法、装置、设备及*** - Google Patents
一种sql信息处理方法、装置、设备及*** Download PDFInfo
- Publication number
- CN111858280B CN111858280B CN202010685594.XA CN202010685594A CN111858280B CN 111858280 B CN111858280 B CN 111858280B CN 202010685594 A CN202010685594 A CN 202010685594A CN 111858280 B CN111858280 B CN 111858280B
- Authority
- CN
- China
- Prior art keywords
- sql
- executable
- label
- execution plan
- information
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 30
- 238000003672 processing method Methods 0.000 title description 10
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000011156 evaluation Methods 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 22
- 238000013210 evaluation model Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 10
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 4
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本说明书提供了一种SQL信息处理方法、装置、设备及***。所述方法包括获取目标项目中的SQL标签信息,所述SQL标签信息包括SQL标签和与所述SQL标签对应的内容;根据所述SQL标签信息生成与所述SQL标签信息对应的可执行SQL语句;获取与所述可执行SQL语句对应的SQL执行计划结果表;基于所述SQL执行计划结果表和预设指标集,确定对所述目标项目中SQL信息的评估结果;其中,预设指标集中包括风险SQL语句对应的预警指标。利用本说明书实施例可以在目标项目上线前进行预警,从而有效减少目标项目上线后在生产环境暴露的风险,降低损失。
Description
技术领域
本申请涉及信息处理技术领域,特别涉及一种SQL信息处理方法、装置、设备及***。
背景技术
在实际生产项目中,数据库是比较重要的环节。然而,对数据库的DML(DataManipulation Language,数据操纵语言)操作,通常会涉及到SQL(Structured QueryLanguage,结构化查询语言)语句的性能问题。
现有技术中,主要基于线上对可执行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语句后,可以生成SQL执行计划,基于执行计划结果表和预设指标集中的预警指标对目标项目中SQL信息进行评估,从而可以达到提前预警效果的同时,有效减少目标项目上线后在生产环境暴露的风险问题,降低损失。采用本说明书提供的实施方案,可以在目标项目上线前进行预警,从而有效减少目标项目上线后在生产环境暴露的风险,降低损失。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1是本说明书提供的一种SQL信息处理方法的一个实施例的流程示意图;
图2是本说明书提供的一种SQL信息处理装置的一个实施例的模块结构示意图;
图3是本说明书提供的一种SQL信息处理***的一个实施例的结构示意图;
图4是本说明书提供的一种SQL信息处理服务器的一个实施例的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。
为解决现有技术中对执行SQL的性能分析带来的滞后性,本说明书实施例提供了一种SQL信息处理方法。通过源码解析扫描目标项目中的SQL标签信息、动态配置SQL参数,获得可执行SQL语句后,对与可执行SQL语句对应的执行计划进行分析,从而可以提前检测出存在风险的SQL语句,实现在目标项目上线前预警效果的同时,有效减少目标项目上线后在生产环境暴露的风险,降低损失。
下面以一个具体的应用场景为例对本说明书实施方案进行说明。具体的,图1是本说明书提供的一种SQL信息处理方法的一个实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。
本说明书提供的一种实施方案可以应用到客户端、服务器等中。所述客户端可以包括终端设备,如智能手机、平板电脑等。所述服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式***的服务器结构等。
需要说明的是,下述实施例描述并不对基于本说明书的其他可扩展到的应用场景中的技术方案构成限制。具体的一种实施例如图1所示,本说明书提供的一种SQL信息处理方法的一种实施例中,所述方法可以包括以下步骤。
S0:获取目标项目中的SQL标签信息,所述SQL标签信息包括SQL标签和与所述SQL标签对应的内容。
其中,SQL是一种数据库查询和程序设计语言,可以用于存取数据以及查询、更新和管理关系数据库***等。
本说明书一些实施例中,所述目标项目可以为待执行软件项目、待上线软件项目等,例如,使用java语言刚开发好或即将上线的软件项目。本说明书实施例中,由于完成目标项目的过程中,需要利用SQL语句实现对数据库中数据的操作,所以目标项目中可以包括SQL信息的文件。进一步地,由于该文件中的SQL信息不能在数据库中直接执行,所以需要对该文件进行解析,获得SQL标签信息,以便后续获得可执行SQL语句。
本说明书一些实施例中,所述获取目标项目中的SQL标签信息,可以包括:从所述目标项目中获取包括SQL信息的目标文件;利用预设源码对所述目标文件进行解析,获得SQL标签信息。其中,在目标项目中,可以将包括SQL信息的文件称为目标文件。源码可以称为源代码、源程序,其可以理解为是未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。
需要说明的是,一些实施场景中,目标项目中可以包括一个或多个目标文件,本说明书对此不作限定。一些实施场景中,预设源码可以包括mybatis源码、hibernate源码等。mybatis是一种支持普通SQL查询、存储过程和高级映射的持久层框架。hibernate是一个开放源代码的对象关系映射框架,其可以自动生成SQL语句,自动执行。
本说明书一些实施例中,所述目标文件可以为XML文件。其中,XML为可扩展标记语言,其是一种用于标记电子文件使其具有结构性的标记语言。需要说明的是,本说明书实施例中,根据实际场景的不同,还可以包括其他格式的目标文件。
本说明书一些实施例中,在获得目标文件后,可以先对目标文件进行解析,获得目标文件中包括的SQL信息,然后利用预设源码对SQL信息进行解析获得SQL标签信息。其中,对目标文件进行解析可以去除目标文件中包括的多余代码、关键字、符号等,从而可以降低信息冗余的同时,为后续解析SQL信息提供方便。
本说明书一些实施例中,所述目标文件可以为XML文件,所述预设源码可以为mybatis源码;相应的,可以利用mybatis源码对所述XML文件进行解析,获得SQL标签信息。
例如一些实施场景中,当目标文件为XML文件时,可以先解析XML文件,获得XML文件中包括的SQL信息,然后利用mybatis源码对SQL信息进行解析,获得SQL标签信息。另一些实施场景中,当目标文件为XML文件时,可以先解析XML文件,获得XML文件中包括的SQL信息,然后利用hibernate源码对SQL信息进行解析,获得SQL标签信息。
本说明书一些实施例中,SQL标签信息可以包括SQL标签和与所述SQL标签对应的内容。
一些实施场景中,SQL标签可以包括if、foreach、trim、where、set、choose、otherwise、bind等。一些实施场景中,与所述SQL标签对应的内容可以包括参数条件。例如一些实施场景中,与SQL标签对应的内容可以包括目标项目中完成某项业务所需要的条件,例如,某业务的两个场景中,场景一需要查询的为a条件,场景二需要查询的为b条件。
本说明书实施例中,通过获取目标项目的SQL标签信息可以为后续生成可执行SQL语句提供基础,从而为提前发现目标项目中风险SQL提供保障。
S2:根据所述SQL标签信息生成与所述SQL标签信息对应的可执行SQL语句。
其中,可执行SQL语句可以理解为在数据库中可以直接运行的SQL语句,也可以称为静态SQL。
本说明书一些实施例中,所述根据所述SQL标签信息,生成与所述SQL标签信息对应的可执行SQL语句,可以包括:获取所述SQL标签信息中包括的参数条件;根据所述参数条件确定可执行SQL语句的参数;其中,所述参数包括满足所述参数条件的参数取值和不满足所述参数条件的参数取值;根据所述SQL标签、所述SQL标签对应的内容以及所述参数,生成与所述SQL标签信息对应的可执行SQL语句。一些实施场景中,可以利用参数构造器根据参数条件自动确定可执行SQL语句的参数。其中,参数构造器可以用于构造可执行SQL语句所需要的参数。参数构造器也可以称为构造方法、构造函数。
一些实施场景中,利用参数构造器确定的参数可以包括满足参数条件的参数取值和不满足参数条件的参数取值。这样,参数构造器构造出的参数包括可执行SQL语句的所有参数组合,涵盖了所有运行情况,从而可以达到全面监测的效果。需要说明的是,通过参数构造器构造的参数通常是没有业务意义的可能值,其覆盖了该条可执行SQL语句的全部情况,可以用来保证可执行SQL语句完整、正常的运行。
例如,参数条件为a>1,则参数构造器可以根据该条件自动构造符合条件和不符合条件的参数,即a>1的参数和a<=1的参数。需要说明的是,在一些实施场景中,通常大于(>)以及大于等于(>=)时,取符合条件的最小值,小于(<)以及小于等于(<)时,取符合条件的最大值。具体的,例如,if标签和if标签对应的内容为:<if test param1>0&¶m2=0>sql语句</if>,此时,参数条件为param1>0和param2=0,参数构造器根据该条件可以自动构造出符合条件和不符合条件的4种参数可能值,分别为param1>0,param2=0;param1>0,param2!=0;param1<=0,param2=0;param1<=0,param2!=0。其中,param1>0,在参数构造器中会自动取满足条件的最小值1,param1<=0,在参数构造器中会自动取满足条件的最大值-1。需要说明的是,有多少个参数条件,可以用多少层循环遍历所有参数对应的可能值。
由于通过参数构造器构造的参数通常是没有业务意义的可能值,只是可以保证可执行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语句。例如,组合之前为:
Select*from table1 t
<if test param1>0&¶m2=0>
where t.col1=#{param1}and t.col2=#{param2}
</if>
由于参数param1、param2可以组成4组参数可能值,只有param1=1,param2=0满足参数条件,此时“where t.col1=#{param1}and t.col2=#{param2}”可以进行拼接,拼接后的可执行SQL语句为:Select*from table1 t where t.col1=1and t.col2=0;由于其他参数组合不满足参数条件,“where t.col1=#{param1}and t.col2=#{param2}”不可以进行拼接,其对应的可执行SQL语句为:Select*from table t。
本说明书一些实施例中,在生成可执行SQL语句后,可以将可执行SQL语句送到SQL语句池,以便后续需要对生成的可执行SQL语句进行分析时,可以快速的从SQL语句池获得,从而提高信息处理效率。
本说明书实施例中,通过动态配置SQL参数,使得生成的可执行SQL语句涵盖了所有运行情况,从而可以达到全面监测的效果。
S4:获取与所述可执行SQL语句对应的SQL执行计划结果表;其中,所述SQL执行计划结果表包括与所述可执行SQL语句对应的执行计划。
本说明书实施例中,为了***SQL语句可能存在的风险,达到事前预警的效果,在生成可执行SQL语句后,可以生成SQL执行计划。其中,SQL执行计划可以用来解释可执行SQL语句在数据库中是如何执行的。例如,可执行SQL语句在数据库中实际执行时,分为哪几步、每一步分别做什么、相关表是怎么连接、连接的次序、有哪些索引和索引使用情况、每个表的扫描数据量等。一些实施场景中,可以利用关键字EXPLAIN获得可执行SQL语句的SQL执行计划,还可以通过其他方式获得,本说明书对此不作限定。例如,可以将EXPLAIN放在可执行SQL语句的前面进行执行,从而获得SQL执行计划。
本说明书一些实施例中,所述获取与所述可执行SQL语句对应的SQL执行计划结果表,可以包括:将所述可执行SQL语句传输至预设数据库,生成与所述可执行SQL语句对应的SQL执行计划;将所述SQL执行计划保存,获得SQL执行计划结果表。
上述实施例中,预设数据库可以包括关系型数据库,如MYSQL、ORALCE,SqlServer等,还可以包括其它数据库。其中,在关系型数据库中,通常可以监测SQL的执行计划,提前发现SQL隐藏的风险。
例如一些实施场景中,可以从SQL语句池获取可执行SQL语句,然后将其传输到关系型数据库中,生成SQL执行计划,最后将SQL执行计划进行保存,获得SQL执行计划结果表。其中,SQL执行计划结果表可以用于存储SQL执行计划,这样,SQL执行计划结果表可以包括每条可执行SQL语句对应的执行信息。可以理解的是,执行信息可以包括可执行SQL语句划分为几步执行、每步分别做什么、相关表是怎么连接、连接的次序、有哪些索引和索引使用情况、每个表的扫描数据量等。每一条可执行SQL语句可以对应一条SQL执行计划。SQL执行计划结果表中可以包括一条或多条SQL执行计划。
S6:基于所述SQL执行计划结果表和预设指标集,确定对所述目标项目中SQL信息的评估结果;其中,所述预设指标集中包括风险SQL语句对应的预警指标。
本说明书实施例中,在获得SQL执行计划结果表后,可以将其与预设指标集中包括的预警指标进行比较,从而确定SQL执行计划结果表中是否存在有风险的风险SQL。其中,预设指标集可以理解为由预警指标组合成的集合。预警指标与风险SQL语句对应。
一些实施场景中,预警指标也可以称为风险点,其通常可以由实际生产问题暴露出的风险总结获得。可以理解的是,预警指标也可以通过其他方式获得。一些实施场景中,常用的预警指标可以包括查询未加索引、大表直接使用update、大表update未加索引、大表关联产生笛卡尔积、资源占用过高等。
本说明书一些实施例中,所述基于所述SQL执行计划结果表和预设指标集,确定所述目标项目中SQL信息的评估结果,可以包括:判断所述SQL执行计划结果表中是否存在与所述预设指标集中预警指标对应的可执行SQL语句;确定存在时,获取与所述预警指标对应的可执行SQL语句;为所述与所述预警指标对应的可执行SQL语句添加预设标记,获得标记后的SQL语句;利用预设评估模型对所述标记后的SQL语句进行评估,获得评估结果。
一些实施场景中,可以根据预设指标集中的预警指标,对SQL执行计划结果表进行扫描,如果确定SQL执行计划结果表中存在符合预警指标的可执行SQL语句,可以从SQL执行计划结果表中筛选出符合预警指标的可执行SQL语句,并标记为风险SQL。其中,标记方式可以是在相应文件上添加风险标识,或者将对应的SQL语句用其它颜色突出显示等,其中,添加的风险标识可以为不同形状或者不同颜色等,本说明书对此不作限定。
一些实施场景中,在标记为风险SQL后,还可以利用预设评估模型对其进行评估,从而获得评估结果。其中,预设评估模型可以用于分析风险SQL,根据风险SQL触发的预警指标确定风险级别。评估结果可以包括不同风险级别。例如,无风险、低风险、高风险等。例如一些实施场景中,未加索引的预警指标对应的风险级别为低风险,大表update的预警指标对应的风险级别为低风险,大表update未加索引的预警指标对应的风险级别为高风险,大表关联笛卡尔积的预警指标对应的风险级别为高风险。可以理解的是,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信息处理装置。所述的装置可以包括使用了本说明书实施例所述方法的***(包括分布式***)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图2是本说明书提供的一种SQL信息处理装置的一个实施例的模块结构示意图,如图2所示,本说明书提供的一种SQL信息处理装置可以包括:SQL标签信息获取模块120,SQL语句生成模块122,SQL执行计划结果表获取模块124,评估结果确定模块126。
SQL标签信息获取模块120,可以用于获取目标项目中的SQL标签信息,所述SQL标签信息包括SQL标签和与所述SQL标签对应的内容;
SQL语句生成模块122,可以用于根据所述SQL标签信息生成与所述SQL标签信息对应的可执行SQL语句;
SQL执行计划结果表获取模块124,可以用于获取与所述可执行SQL语句对应的SQL执行计划结果表;其中,所述SQL执行计划结果表包括与所述可执行SQL语句对应的执行计划;
评估结果确定模块126,可以用于基于所述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语句对应的预警指标。所述的***可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、***(包括分布式***)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。
如图3所示,图3是本说明书提供的一种SQL信息处理***的一个实施例的结构示意图,本说明书提供的一种SQL信息处理***可以包括:解析器1,执行器2,预警器3。
本说明书一些实施例中,解析器1可以包括源码解析模块,标签处理模块,SQL语法树暂存池,参数构造模块,SQL语句拼接模块。
源码解析模块,可以用于利用预设源码解析目标文件,获得SQL信息。
标签处理模块,可以用于对SQL信息进行处理,获得SQL标签信息。
其中,标签处理模块,可以包括不同的标签处理单元,用于对不同标签进行解析,获得不同SQL标签信息,其中,SQL标签信息包括SQL标签和与所述SQL标签对应的内容。
一些实施例中,标签处理模块可以包括if标签处理单元、foreach标签处理单元、trim标签处理单元、where标签处单元、set标签处单元、choose标签处单元、otherwise标签处理单元、bind标签处理单元。
其中,if标签处理单元可以用于根据判断语句解析出参数可能值,并将参数可能值添加到参数构造模块;foreach标签处理单元可以用于根据标签内部参数构造SQL参数,并将参数添加到参数构造模块;trim标签处理单元可以用于去掉多余的关键字、逗号,或者拼接关键字;where标签处单元可以用于去掉多余关键字,其效果弱于trim标签;set标签处单元可以用于动态配置set关键字和去掉末尾语句多余的逗号;choose标签处单元可以用于从多个条件中选取符合要求的条件动态拼接,并将多个条件放入到参数构造模块中进行统一处理;otherwise标签处理单元可以用于在choose中条件都不满足时,跳出choose,执行otherwise标签中内容,其需要将语句放入到参数构造模块中;bind标签处理单元可以用于使用OGNL表达式创建一个变量,并将其绑定到上下文中。
SQL语法树暂存池,可以用于存储SQL语法树,其中,SQL语法树基于将SQL标签按照预设标签层级排列,生成SQL语法树结构;根据SQL标签与SQL标签内容的对应关系,将所述SQL标签对应的内容添加至所述SQL语法树结构的对应位置获得。
参数构造模块,可以用于根据SQL标签信息中包括的参数条件确定可执行SQL语句的参数。
SQL语句拼接模块,可以用于将SQL语法树和参数进行组合,生成与SQL标签信息对应的可执行SQL语句。
本说明书一些实施例中,执行器2可以包括执行计划生成模块,执行计划结果表,执行计划分析模块。
执行计划生成模块,可以用于将可执行SQL语句传输至预设数据库,生成与所述可执行SQL语句对应的SQL执行计划。
执行计划结果表,可以用于保存SQL执行计划。
执行计划分析模块,可以用于判断SQL执行计划结果表中是否存在与预设指标集中预警指标对应的可执行SQL语句。
本说明书一些实施例中,预警器3可以用于在确定执行计划结果表中存在与预设指标集中预警指标对应的可执行SQL语句时,获取与所述预警指标对应的可执行SQL语句;还可以用于为所述与所述预警指标对应的可执行SQL语句添加预设标记;还可以用于利用预设评估模型对所述标记后的SQL语句进行评估,获得评估结果,并生成风险报告。
本说明书上述实施例中,通过源码解析和标签解析动态配置出所有参数组合得到全场景覆盖的SQL语句,通过SQL语句的执行计划结果和风险模型的结合得到风险报告,可以在目标项目上线前进行预警,从而有效减少目标项目上线后在生产环境暴露的风险,降低损失。
本说明书所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图4是本说明书提供的一种SQL信息处理服务器的一个实施例的硬件结构框图,该服务器可以是上述实施例中的SQL信息处理装置或SQL信息处理***。如图4所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图4中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图4所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的SQL信息处理方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书提供的上述SQL信息处理方法或装置实施例可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作***的c++语言在PC端实现、linux***实现,或其他例如使用android、iOS***程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、设备、***根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把部分模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。
本发明是参照根据本发明实施例的方法、装置、设备、***的流程图和/或方框图来描述的。应理解可由计算机程序指令实现,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
本领域技术人员应明白,在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (9)
1.一种SQL信息处理方法,其特征在于,包括:
获取目标项目中的SQL标签信息,所述SQL标签信息包括SQL标签和与所述SQL标签对应的内容;
根据所述SQL标签信息生成与所述SQL标签信息对应的可执行SQL语句;
获取与所述可执行SQL语句对应的SQL执行计划结果表;其中,所述SQL执行计划结果表包括与所述可执行SQL语句对应的执行计划;
基于所述SQL执行计划结果表和预设指标集,确定对所述目标项目中SQL信息的评估结果;其中,所述预设指标集中包括风险SQL语句对应的预警指标;
所述根据所述SQL标签信息,生成与所述SQL标签信息对应的可执行SQL语句,包括:
获取所述SQL标签信息中包括的参数条件;
根据所述参数条件确定可执行SQL语句的参数;其中,所述参数包括满足所述参数条件的参数取值和不满足所述参数条件的参数取值;
根据所述SQL标签、所述SQL标签对应的内容以及所述参数,生成与所述SQL标签信息对应的可执行SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述获取目标项目中的SQL标签信息,包括:
从所述目标项目中获取包括SQL信息的目标文件;
利用预设源码对所述目标文件进行解析,获得SQL标签信息。
3.根据权利要求2所述的方法,其特征在于,所述目标文件为XML文件,所述预设源码为mybatis源码;
相应的,利用mybatis源码对所述XML文件进行解析,获得SQL标签信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述SQL标签、所述SQL标签对应的内容以及所述参数,生成与所述SQL标签信息对应的可执行SQL语句,包括:
将所述SQL标签按照预设标签层级排列,生成SQL语法树结构;
根据SQL标签与SQL标签内容的对应关系,将所述SQL标签对应的内容添加至所述SQL语法树结构的对应位置,获得SQL语法树;
将所述SQL语法树和所述参数进行组合,生成与所述SQL标签信息对应的可执行SQL语句。
5.根据权利要求1所述的方法,其特征在于,所述获取与所述可执行SQL语句对应的SQL执行计划结果表,包括:
将所述可执行SQL语句传输至预设数据库,生成与所述可执行SQL语句对应的SQL执行计划;
将所述SQL执行计划保存,获得SQL执行计划结果表。
6.根据权利要求1所述的方法,其特征在于,所述基于所述SQL执行计划结果表和预设指标集,确定所述目标项目中SQL信息的评估结果,包括:
判断所述SQL执行计划结果表中是否存在与所述预设指标集中预警指标对应的可执行SQL语句;
确定存在时,获取与所述预警指标对应的可执行SQL语句;
为所述与所述预警指标对应的可执行SQL语句添加预设标记,获得标记后的SQL语句;
利用预设评估模型对所述标记后的SQL语句进行评估,获得评估结果。
7.一种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语句。
8.一种SQL信息处理设备,其特征在于,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:
获取目标项目中的SQL标签信息,所述SQL标签信息包括SQL标签和与所述SQL标签对应的内容;
根据所述SQL标签信息生成与所述SQL标签信息对应的可执行SQL语句;
获取与所述可执行SQL语句对应的SQL执行计划结果表;其中,所述SQL执行计划结果表包括与所述可执行SQL语句对应的执行计划;
基于所述SQL执行计划结果表和预设指标集,确定对所述目标项目中SQL信息的评估结果;其中,所述预设指标集中包括风险SQL语句对应的预警指标;
所述根据所述SQL标签信息,生成与所述SQL标签信息对应的可执行SQL语句,包括:
获取所述SQL标签信息中包括的参数条件;
根据所述参数条件确定可执行SQL语句的参数;其中,所述参数包括满足所述参数条件的参数取值和不满足所述参数条件的参数取值;
根据所述SQL标签、所述SQL标签对应的内容以及所述参数,生成与所述SQL标签信息对应的可执行SQL语句。
9.一种SQL信息处理***,其特征在于,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685594.XA CN111858280B (zh) | 2020-07-16 | 2020-07-16 | 一种sql信息处理方法、装置、设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685594.XA CN111858280B (zh) | 2020-07-16 | 2020-07-16 | 一种sql信息处理方法、装置、设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858280A CN111858280A (zh) | 2020-10-30 |
CN111858280B true CN111858280B (zh) | 2024-02-27 |
Family
ID=72984633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010685594.XA Active CN111858280B (zh) | 2020-07-16 | 2020-07-16 | 一种sql信息处理方法、装置、设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858280B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818049B (zh) * | 2021-01-28 | 2024-04-16 | 中国人寿保险股份有限公司上海数据中心 | 一种信息***性能全链路分析***及其方法 |
CN116010445B (zh) * | 2023-03-28 | 2023-07-25 | 恒生电子股份有限公司 | 数据库sql脚本的处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630475A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种数据标签组织***及组织方法 |
CN109240901A (zh) * | 2018-08-28 | 2019-01-18 | 北京小度信息科技有限公司 | 性能分析方法、性能分析装置、存储介质和电子设备 |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | ***通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
CN110019306A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种基于xml格式文件的sql语句查找方法及*** |
CN110442516A (zh) * | 2019-07-12 | 2019-11-12 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 信息处理方法、设备及计算机可读存储介质 |
CN110866029A (zh) * | 2019-10-11 | 2020-03-06 | 支付宝(杭州)信息技术有限公司 | sql语句构建方法、装置、服务器及可读存储介质 |
CN110895542A (zh) * | 2019-11-28 | 2020-03-20 | 中国银行股份有限公司 | 高风险sql语句筛选方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160259825A1 (en) * | 2015-03-06 | 2016-09-08 | Dell Products L.P. | Discovery of potential problematic execution plans in a bind-sensitive query statement |
-
2020
- 2020-07-16 CN CN202010685594.XA patent/CN111858280B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630475A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种数据标签组织***及组织方法 |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | ***通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
CN110019306A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种基于xml格式文件的sql语句查找方法及*** |
CN109240901A (zh) * | 2018-08-28 | 2019-01-18 | 北京小度信息科技有限公司 | 性能分析方法、性能分析装置、存储介质和电子设备 |
CN110442516A (zh) * | 2019-07-12 | 2019-11-12 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 信息处理方法、设备及计算机可读存储介质 |
CN110866029A (zh) * | 2019-10-11 | 2020-03-06 | 支付宝(杭州)信息技术有限公司 | sql语句构建方法、装置、服务器及可读存储介质 |
CN110895542A (zh) * | 2019-11-28 | 2020-03-20 | 中国银行股份有限公司 | 高风险sql语句筛选方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111858280A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635409B2 (en) | System and method for improving software code quality using artificial intelligence techniques | |
US20210174006A1 (en) | System and method for facilitating complex document drafting and management | |
US11250344B2 (en) | Machine learning based analytics platform | |
CN111061817B (zh) | 自适应业务构建***、方法及计算机可读介质 | |
US11531914B2 (en) | Artificial intelligence (AI) based automatic rule generation | |
CN111858280B (zh) | 一种sql信息处理方法、装置、设备及*** | |
Waltersdorfer et al. | Version management and conflict detection across heterogeneous engineering data models | |
CN109800258A (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
JP2018505506A (ja) | 機械ベースの命令編集 | |
CN106020803A (zh) | 被监控对象模板的动态定义方法及装置 | |
CN113986241A (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
CN113901083A (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN112148302A (zh) | 一种接口文档生成方法、装置、设备及可读存储介质 | |
CN113467782B (zh) | 一种确定业务流程的方法、装置及设备 | |
CN114371858A (zh) | 基于应用组件的代码处理***、方法、设备及存储介质 | |
Ledvinka et al. | A comparison of object-triple mapping libraries | |
CN114064601B (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN116088846A (zh) | 一种持续集成代码格式的处理方法、相关装置及设备 | |
KR102102546B1 (ko) | Scl 유효성 검사 방법 및 이를 위한 scl 유효성 검사 장치 | |
CN109726213B (zh) | 一种程序代码转换方法、装置、介质和计算设备 | |
CN111352818B (zh) | 应用程序性能分析方法、装置、存储介质及电子设备 | |
Mane et al. | A Domain Specific Language to Provide Middleware for Interoperability among SaaS and DaaS/DBaaS through a Metamodel Approach. | |
US20180314495A1 (en) | Method and apparatus for managing software | |
CN110727457A (zh) | 组件管理方法、装置、存储介质及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |