CN115114322A - 基于深度学习的人工智能sql脚本数据处理方法装置及介质 - Google Patents
基于深度学习的人工智能sql脚本数据处理方法装置及介质 Download PDFInfo
- Publication number
- CN115114322A CN115114322A CN202210834696.2A CN202210834696A CN115114322A CN 115114322 A CN115114322 A CN 115114322A CN 202210834696 A CN202210834696 A CN 202210834696A CN 115114322 A CN115114322 A CN 115114322A
- Authority
- CN
- China
- Prior art keywords
- statement
- sql
- script
- data
- sql 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
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 19
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000013473 artificial intelligence Methods 0.000 title claims description 26
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于深度学习的人工智能SQL脚本数据处理方法装置及介质,本发明可以直接针对SQL语句进行语法转化,从而转化成需要进行数据处理对应的数据库语句,由此,使得用户只需掌握SQL语句就可操作其余所有的数据库,不仅减少了用户的技术成本,降低了用户的技术能力要求,还提高了软件的开发效率,且本发明适用于市面上常用的各类型数据库,适用于大规模应用与推广。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种基于深度学习的人工智能SQL脚本数据处理方法装置及介质。
背景技术
在传统的信息技术(IT,Information Technology)业界,大型应用系统大多都是利用专业的关系型数据库来构建得到的,如SQL(Structured Query Language,结构化查询语言)数据库、orcale(Oracle Database,关系数据)数据库等,但是,由于前述关系型数据库种类繁多,每种数据库中的各种类型语句的语法存在差异,而对于软件研发人员来说,若需要使用不同的数据库,则需要掌握每种数据库的语法结构,这就导致需要技术人员的技术能力要求较高,以至于对于刚接触的数据库,将会导致技术人员无法满足软件的数据开发要求,从而降低软件的开发效率;因此,如何提高各种数据库之间的数据转换效率,从而减少对软件技术人员的技术能力要求,以提高软件开发效率,成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种基于深度学习的人工智能SQL脚本数据处理方法装置及介质,以解决现有各种数据库的语法结构存在差异,从而导致技术人员在使用不同数据库时需要掌握对应数据库的语法结构,进而造成技术人员无法满足软件的开发要求以及降低了软件开发效率的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供了一种基于深度学习的人工智能SQL脚本数据处理方法,包括步骤:
获取目的数据库、输入至目的数据库中的SQL语句和脚本语句的语法结构,所述目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
对所述SQL语句进行语法解析,得到所述SQL语句的语句类型;
根据所述映射关系对所述目的数据库进行查询,获得与所述SQL语句的语句类型对应的语法结构;
基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句。
可选地,对所述SQL语句进行语法解析,得到所述SQL语句的语句类型,包括:
对所述SQL语句进行解析,得到SQL语句的字符串;
按照预设设置的数据段模板对所述字符串进行拆分,获得多个数据段,每个所述数据段中包含一个动词;
对所述数据段进行识别,得到所述SQL语句所属的语句类型。
可选地,按照预设设置的数据段模板对所述字符串进行拆分,获得多个数据段,包括:
将预先设置的数据段模板与所述字符串进行对比,并在所述字符串中包含符合所述数据段模板结构的部分时,将该部分数据段提取并作为数据段。
可选地,对所述数据段进行识别,得到所述SQL语句所属的语句类型,包括:
获取包含数据段特征的训练数据集,所述训练数据集中还包括反样本,所述反样本为不包含数据段特征的数据段;
根据训练数据集对预先设置的人工神经网络进行训练,获得识别模型;
提取出所述数据段的数据特征,并通过所述识别模型对所述数据特征进行识别,获得识别结果;所述识别结果中包括所述SQL语句的执行动作、数据类型、执行对象和调用函数;
根据所述识别结果获得所述语句类型。
可选地,提取出所述数据段的数据特征包括:
获取所述数据段中的动词A、函数词H、数据类型词D和名词N;
通过查表获得动词A、函数词H、数据类型词D和名词N的类型与值的关系,生成数据特征T={Value(Ai),Value(Hi),Value(Di),Value(Ni)},其中Value(Ai)为动词Ai的对应值,Value(Hi)为函数词Hi的对应值,Value(Di)为数据类型词Di的对应值,Value(Ni)为名词Ni的对应值。
可选地,所述方法还包括:
对于任一目的脚本语句,将所述任一目的脚本语句迁移至所述目的数据库中,并在所述目的数据库中运行所述任一目的脚本语句,以得到运行结果;
基于所述运行结果,判断所述任一目的脚本语句是否运行成功;
若否,则对目标SQL语句重新进行语法解析以及数据转换,以得到新的目的脚本语句,其中,所述目标SQL语句为所述任一目的脚本语句对应的SQL语句;
若是,则将所述任一目的脚本语句保存至脚本数据库中,并建立所述任一目的脚本语句与所述目标SQL语句之间的映射关系,以便在获取到与所述目标SQL语句相同的新SQL语句后,基于所述映射关系,从脚本数据库中查找到与所述新SQL语句相对应的目的脚本语句。
可选地,基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句,包括:
生成多个脚本模板;
根据所述识别结果选择当前脚本模板;
基于与所述SQL语句的语句类型对应的语法结构将SQL语句中的函数词F、数据类型词P、动作词A和名词N填写至所述当前脚本模板中,得到与所述SQL语句对应的脚本语句。
第二方面,本发明提供了一种基于人工智能的SQL脚本数据处理装置,包括:
获取单元,用于获取目的数据库、输入至目的数据库中的SQL语句、脚本语句的语法结构,所述目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
语法解析单元,用于对所述SQL语句进行语法解析,得到所述SQL语句的语句类型;
匹配单元,用于根据所述映射关系对所述目的数据库进行查询,获得与所述SQL语句的语句类型对应的语法结构;
数据转换单元,用于基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句。
第三方面,本发明提供了另一种基于人工智能的SQL脚本数据处理装置,以装置为计算机装置为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于深度学习的人工智能SQL脚本数据处理方法。
第四方面,本发明提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于深度学习的人工智能SQL脚本数据处理方法。
第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述基于深度学习的人工智能SQL脚本数据处理方法。
附图说明
图1为本发明提供的基于深度学习的人工智能SQL脚本数据处理方法的步骤流程示意图;
图2为本发明提供的基于人工智能的SQL脚本数据处理装置的结构示意图;
图3为本发明提供的计算机装置的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
参见图1所示,本实施例第一方面所提供的基于深度学习的人工智能SQL脚本数据处理方法,可以将SQL语句转化成需要进行数据处理对应的数据库语句,由此,使得用户只需掌握SQL语句就可操作其余所有的数据库,不仅降低了用户的技术能力要求,还提高了软件的开发效率,其中,本实施例所提供的方法可以但不限于在数据处理终端侧运行,而举例所述数据处理终端可以但不限于是个人电脑(personal computer,PC)、平板电脑、智能手机和/或个人数字助理(personal digital assistant,PDA)等,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤如下述步骤S1~S4所示。
S110.获取目的数据库、输入至目的数据库中的SQL语句、脚本语句的语法结构,目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
在具体应用时,目的数据库则是SQL语句需要转换为的目的脚本语句的数据库,如需要将SQL语句转换为orcale语句,那么目的数据库则为orcale数据库,因此,在本实施例中,举例目的数据库可以但不限于包括:orcale数据库、pgsql(对象-关系型数据)数据和/或hive(基于Hadoop的一个数据仓库工具)数据库,当然,目的数据库不限定与前述举例,可根据实际软件开发的需求而具体设定。
在本实施例中,至少一条SQL语句由用户进行输入,其中,可利用SQL脚本编辑器编写SQL语句并输入至数据处理终端;而目的数据库则由用户预先存储至数据处理终端内。
更进一步的,在本实施例中,在数据处理终端得到用户输入的至少一条SQL语句后,还会对输入的每条SQL语句进行语法验证,即检测输入的每条SQL语句的语法是否正确;可选的,举例在数据处理终端内存储有SQL数据库,该SQL数据库内记载SQL语法表(该表中记录有各种类型的SQL语句的语法结构),因此,在得到用户输入的SQL语句后,即可在SQL语法表中查询相应的语法结构,并进行对比,从而基于对比结果判断SQL语句的语法是否正确;例如,若输入的SQL语句为查询语句,那么则对比查询语句中的查询业务术语与SQL语法表中记录的术语是否相同,查询语句的语句框架字段与SQL语法表中是否相同等,若均相同,则说明该SQL语句语法正确,反之,则错误,当然,其余各个SQL语句的语法验证与前述举例原理相同,于此不再赘述。
在本实施例中,只有语法正确的SQL语句才会进行后续的转换步骤,而语法错误的SQL语句则会直接进行删除,并在数据处理终端的输入界面上弹出语句错误的提示信息。
在完成对输入的每条SQL语句的语法验证后,即可进行数据转换步骤,如下述步骤S2~S4所示。
S120.对SQL语句进行语法解析,得到SQL语句的语句类型;其中,解析过程如下述步骤S21~S23所示。
在得到每条SQL语句的语句类型后,即可基于语法解析得到的语句类型,在目的数据库中查找出相同语句类型的目的脚本语句的语法结构,以便后续基于查找出脚本模板,并根据脚本模板将对应SQL语句进行数据转换,其中,语句类型匹配过程如下述步骤S3所示。
S130.根据映射关系对目的数据库进行查询,获得与SQL语句的语句类型对应的语法结构;
下述以一个实例来阐述前述步骤S3,假设需要将SQL语句转换为orcale语句,且SQL语句A解析出来的语句类型为查询语句,那么,则需要在目的数据库中查找出orcale查询语句对应的语法结构;又如,SQL语句B为事务控制语句,那么则需要在目的数据库中查找出orcale事务控制语句对应的语法结构;再如,SQL语句C为数据操纵语句,那么则需要在目的数据库中查找出orcale数据操纵语句对应的语法结构,当然,其余不同类型的SQL语句与目的脚本语句之间的语法结构的匹配过程,与前述举例原理一致,于此不再赘述。
基于目的数据库完成每条SQL语句所属语句类型对应语法结构的匹配后,即可基于匹配词出的语法结构,对对应SQL语句进行数据转换,以得到目的脚本语句,其中,数据转换过程如下述步骤S4所示。
S140.基于与SQL语句的语句类型对应的语法结构,对每条SQL语句进行数据转换,以得到与SQL语句对应的脚本语句;
具体应用时,是基于与每条SQL语句所属的语句类型相对应的语法结构,例如“动词+名词+名词”的结构,根据语法结构对SQL语句的含义进行理解,并根据含义和语法结构查找对应的脚本模板,将关键词填入至脚本模板中,从而得到与SQL语句对应的脚本语句。
由此通过前述步骤S110~S140所详细描述的基于深度学习的人工智能SQL脚本数据处理方法,本发明可以直接针对SQL语句进行语法转化,从而转化成需要进行数据处理对应的数据库语句,由此,使得用户只需掌握SQL语句就可操作其余所有的数据库,不仅减少了用户的技术成本,降低了用户的技术能力要求,还提高了软件的开发效率,且本发明适用于市面上常用的各类型数据库,适用于大规模应用与推广。
具体的,任一目的脚本语句与目标SQL语句之间的映射关系可以但不限于以映射关系表进行存储,由此,可方便下次直接运行脚本进行数据处理,不用重复输入相同的SQL语句,提高了使用的便捷性。
另外,在本实施例中,在任一目的脚本语句运行成功后,还可将任一目的脚本语句在目的数据库中执行预设操作,以固定任一目的脚本语句的格式,其中,预设操作包括:增加、删除、查询和/或修改操作;由此通过前述设计,可固定目的脚本语句的格式,从而防止不法人员向脚本注入漏洞;从而提高使用的安全性。
在一些实施例中,对SQL语句进行语法解析,得到SQL语句的语句类型,包括:
S210.对SQL语句进行解析,得到SQL语句的字符串;具体应用时,实质就是以语句的头部为起点,尾部为终点来提取出每条SQL语句中的字段,提取完毕后,即可得到每条SQL语句的字符串。
在得到每条SQL语句的字符串后,即可进行数据段的提取,以便基于数据段来得出每条SQL语句的语句类型,如下述步骤S22和步骤S23所示。
S220.按照预设设置的数据段模板对字符串进行拆分,获得多个数据段,每个数据段中包含一个动词,数据段中的动词表示执行一个动作;由于转换成脚本时,需要以动作为基本单元执行对应的连续动作,因此数据段模板由动词+其他词的结构构成,如动作“CRERTA DATABASE database-name”,表示创建数据库,其中“CRERTA”为其中唯一的动词,以上述数据段为数据段模板,可以提取出“动词+名词+名词”的模板结构。
S230.对数据段进行识别,得到SQL语句所属的语句类型;由于光是获得数据段的结构,还是不能获得数据段的含义,因此还需要对数据段进行识别,以获得数据段的含义,从而解析数据段的语句类型。
在一些实施例中,按照预设设置的数据段模板对字符串进行拆分,获得多个数据段,包括:
S310.将预先设置的数据段模板与字符串进行对比,并在字符串中包含符合数据段模板结构的部分时,将该部分数据段提取并作为数据段。
例如,数据段模板为“动词+名词+名词”,当字符串中有符合“动词+名词+名词”结构的字段时,直接提取,获得数据段。
在一些实施例中,对数据段进行识别,得到SQL语句所属的语句类型,包括:
S410.获取包含数据段特征的训练数据集,训练数据集中还包括反样本,反样本为不包含数据段特征的数据段;
S420.根据训练数据集对预先设置的人工神经网络进行训练,获得识别模型;
S430.提取出数据段的数据特征,并通过识别模型对数据特征进行识别,获得识别结果;识别结果中包括SQL语句的执行动作、数据类型、执行对象和调用函数;
S440.根据识别结果获得语句类型。
在一些实施例中,提取出数据段的数据特征包括:
S510.获取数据段中的动词A、函数词H、数据类型词D、名词N;
S520.通过查表获得动词A、函数词H、数据类型词D、名词N的类型与值的关系,生成数据特征T={Value(Ai),Value(Hi),Value(Di),Value(Ni)},其中Value(Ai)为动词Ai的对应值,Value(Hi)为函数词Hi的对应值,Value(Di)为数据类型词Di的对应值,Value(Ni)为名词Ni的对应值。
在一些实施例中,方法还包括:
S610.对于任一目的脚本语句,将任一目的脚本语句迁移至目的数据库中,并在目的数据库中运行任一目的脚本语句,以得到运行结果;
S620.基于运行结果,判断任一目的脚本语句是否运行成功;
S630.若否,则对目标SQL语句重新进行语法解析以及数据转换,以得到新的目的脚本语句,其中,目标SQL语句为任一目的脚本语句对应的SQL语句;
S640.若是,则将任一目的脚本语句保存至脚本数据库中,并建立任一目的脚本语句与目标SQL语句之间的映射关系,以便在获取到与目标SQL语句相同的新SQL语句后,基于映射关系,从脚本数据库中查找到与新SQL语句相对应的目的脚本语句。
在一些实施例中,基于与SQL语句的语句类型对应的语法结构,对每条SQL语句进行数据转换,以得到与SQL语句对应的脚本语句,包括:
S710.生成多个脚本模板;
S720.根据识别结果选择当前脚本模板;
S730.基于与SQL语句的语句类型对应的语法结构将SQL语句中的函数词F、数据类型词P、动作词A、名词N填写至当前脚本模板中,得到与SQL语句对应的脚本语句。
如图2所示,本实施例第三方面提供了一种实现实施例第一方面和第二方面中的基于深度学习的人工智能SQL脚本数据处理方法的硬件装置,包括:
获取单元,用于获取目的数据库、输入至目的数据库中的SQL语句、脚本语句的语法结构,目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
语法解析单元,用于对SQL语句进行语法解析,得到SQL语句的语句类型;
匹配单元,用于根据映射关系对目的数据库进行查询,获得与SQL语句的语句类型对应的语法结构;
数据转换单元,用于基于与SQL语句的语句类型对应的语法结构,对每条SQL语句进行数据转换,以得到与SQL语句对应的脚本语句。
本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
如图3所示,本实施例第四方面提供了另一种基于人工智能的SQL脚本数据处理装置,以装置为计算机装置为例,包括:依次通信相连的存储器、处理器和收发器,其中,存储器用于存储计算机程序,收发器用于收发消息,处理器用于读取计算机程序,执行如实施例第一方面和第二方面的基于深度学习的人工智能SQL脚本数据处理方法。
具体举例的,存储器可以但不限于包括随机存取存储器(random access memory,RAM)、只读存储器(Read Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(FirstInput First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的计算机装置的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第五方面提供了一种存储包含有实施例第一方面和第二方面的基于深度学习的人工智能SQL脚本数据处理方法的指令的存储介质,即存储介质上存储有指令,当指令在计算机上运行时,执行如第一方面和第二方面的基于深度学习的人工智能SQL脚本数据处理方法。
其中,存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第六方面提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如实施例第一方面和第二方面的基于深度学习的人工智能SQL脚本数据处理方法,其中,计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于深度学习的人工智能SQL脚本数据处理方法,其特征在于,包括:
获取目的数据库、输入至目的数据库中的SQL语句和脚本语句的语法结构,所述目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
对所述SQL语句进行语法解析,得到所述SQL语句的语句类型;
根据所述映射关系对所述目的数据库进行查询,获得与所述SQL语句的语句类型对应的语法结构;
基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句。
2.如权利要求1所述的方法,其特征在于,对所述SQL语句进行语法解析,得到所述SQL语句的语句类型,包括:
对所述SQL语句进行解析,得到SQL语句的字符串;
按照预设设置的数据段模板对所述字符串进行拆分,获得多个数据段,每个所述数据段中包含一个动词;
对所述数据段进行识别,得到所述SQL语句所属的语句类型。
3.如权利要求2所述的方法,其特征在于,按照预设设置的数据段模板对所述字符串进行拆分,获得多个数据段,包括:
将预先设置的数据段模板与所述字符串进行对比,并在所述字符串中包含符合所述数据段模板结构的部分时,将该部分数据段提取并作为数据段。
4.如权利要求2所述的方法,其特征在于,对所述数据段进行识别,得到所述SQL语句所属的语句类型,包括:
获取包含数据段特征的训练数据集,所述训练数据集中还包括反样本,所述反样本为不包含数据段特征的数据段;
根据训练数据集对预先设置的人工神经网络进行训练,获得识别模型;
提取出所述数据段的数据特征,并通过所述识别模型对所述数据特征进行识别,获得识别结果;所述识别结果中包括所述SQL语句的执行动作、数据类型、执行对象和调用函数;
根据所述识别结果获得所述语句类型。
5.如权利要求4所述的方法,其特征在于,提取出所述数据段的数据特征包括:
获取所述数据段中的动词A、函数词H、数据类型词D和名词N;
通过查表获得动词A、函数词H、数据类型词D和名词N的类型与值的关系,生成数据特征T={Value(Ai),Value(Hi),Value(Di),Value(Ni)},其中Value(Ai)为动词Ai的对应值,Value(Hi)为函数词Hi的对应值,Value(Di)为数据类型词Di的对应值,Value(Ni)为名词Ni的对应值。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对于任一目的脚本语句,将所述任一目的脚本语句迁移至所述目的数据库中,并在所述目的数据库中运行所述任一目的脚本语句,以得到运行结果;
基于所述运行结果,判断所述任一目的脚本语句是否运行成功;
若否,则对目标SQL语句重新进行语法解析以及数据转换,以得到新的目的脚本语句,其中,所述目标SQL语句为所述任一目的脚本语句对应的SQL语句;
若是,则将所述任一目的脚本语句保存至脚本数据库中,并建立所述任一目的脚本语句与所述目标SQL语句之间的映射关系,以便在获取到与所述目标SQL语句相同的新SQL语句后,基于所述映射关系,从脚本数据库中查找到与所述新SQL语句相对应的目的脚本语句。
7.如权利要求1所述的方法,其特征在于,基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句,包括:
生成多个脚本模板;
根据所述识别结果选择当前脚本模板;
基于与所述SQL语句的语句类型对应的语法结构将SQL语句中的函数词F、数据类型词P、动作词A和名词N填写至所述当前脚本模板中,得到与所述SQL语句对应的脚本语句。
8.一种基于人工智能的SQL脚本数据处理装置,其特征在于,包括:
获取单元,用于获取目的数据库、输入至目的数据库中的SQL语句、脚本语句的语法结构,所述目的数据库中预先存有脚本语句的语法结构与SQL语句的语句类型的映射关系;
语法解析单元,用于对所述SQL语句进行语法解析,得到所述SQL语句的语句类型;
匹配单元,用于根据所述映射关系对所述目的数据库进行查询,获得与所述SQL语句的语句类型对应的语法结构;
数据转换单元,用于基于与所述SQL语句的语句类型对应的语法结构,对所述每条SQL语句进行数据转换,以得到与所述SQL语句对应的脚本语句。
9.一种计算机装置,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~7任意一项所述的基于深度学习的人工智能SQL脚本数据处理方法。
10.一种存储介质,其特征在于,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~7任意一项所述的基于深度学习的人工智能SQL脚本数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210834696.2A CN115114322A (zh) | 2022-07-14 | 2022-07-14 | 基于深度学习的人工智能sql脚本数据处理方法装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210834696.2A CN115114322A (zh) | 2022-07-14 | 2022-07-14 | 基于深度学习的人工智能sql脚本数据处理方法装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114322A true CN115114322A (zh) | 2022-09-27 |
Family
ID=83331737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210834696.2A Pending CN115114322A (zh) | 2022-07-14 | 2022-07-14 | 基于深度学习的人工智能sql脚本数据处理方法装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114322A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235052A (zh) * | 2023-11-15 | 2023-12-15 | 建信金融科技有限责任公司 | 一种数据库语句处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527815A (zh) * | 2020-12-02 | 2021-03-19 | 平安医疗健康管理股份有限公司 | 数据库的脚本迁移方法、装置、计算机设备和存储介质 |
CN112667664A (zh) * | 2020-12-29 | 2021-04-16 | 平安普惠企业管理有限公司 | 数据库间语句转换方法、装置、终端设备及介质 |
CN113505143A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 语句类型的转换方法、装置、存储介质及电子装置 |
-
2022
- 2022-07-14 CN CN202210834696.2A patent/CN115114322A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527815A (zh) * | 2020-12-02 | 2021-03-19 | 平安医疗健康管理股份有限公司 | 数据库的脚本迁移方法、装置、计算机设备和存储介质 |
CN112667664A (zh) * | 2020-12-29 | 2021-04-16 | 平安普惠企业管理有限公司 | 数据库间语句转换方法、装置、终端设备及介质 |
CN113505143A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 语句类型的转换方法、装置、存储介质及电子装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235052A (zh) * | 2023-11-15 | 2023-12-15 | 建信金融科技有限责任公司 | 一种数据库语句处理方法和装置 |
CN117235052B (zh) * | 2023-11-15 | 2024-03-08 | 建信金融科技有限责任公司 | 一种数据库语句处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451153B (zh) | 输出结构化查询语句的方法和装置 | |
CN116501306B (zh) | 一种基于自然语言描述生成接口文档代码的方法 | |
TW202020691A (zh) | 特徵詞的確定方法、裝置和伺服器 | |
CN110555205B (zh) | 否定语义识别方法及装置、电子设备、存储介质 | |
CN111274804A (zh) | 基于命名实体识别的案件信息提取方法 | |
CN112559687B (zh) | 问题识别及查询方法、装置、电子设备及存储介质 | |
CN116257610B (zh) | 基于行业知识图谱的智能问答方法、装置、设备及介质 | |
CN105243056A (zh) | 一种基于标点符号处理的汉语句法分析方法及装置 | |
CN115114322A (zh) | 基于深度学习的人工智能sql脚本数据处理方法装置及介质 | |
CN113918512A (zh) | 电网运行规则知识图谱构建系统及方法 | |
CN111859858A (zh) | 从文本中提取关系的方法及装置 | |
CN117743526A (zh) | 一种基于大语言模型和自然语言处理的表格问答方法 | |
CN115544773A (zh) | 非精确量测模型重构方法、系统、计算机设备及存储介质 | |
CN113987815A (zh) | 一种换流站模型校验方法及系统 | |
CN105740292B (zh) | 一种解码方法及装置 | |
CN111831792B (zh) | 一种电力知识库构建方法及系统 | |
CN117035084A (zh) | 一种基于语法分析的医疗文本实体关系抽取方法和系统 | |
CN114428788B (zh) | 自然语言处理方法、装置、设备及存储介质 | |
CN110716953A (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
CN102209279A (zh) | 基于xml的多语言支持方法 | |
CN109800421A (zh) | 一种游戏剧本生成方法及其装置、设备、存储介质 | |
CN114816422A (zh) | 转换plsql代码的方法、装置、电子设备及存储介质 | |
CN114791812A (zh) | Plsql代码的java转换方法、装置、电子设备及存储介质 | |
CN114840657A (zh) | 一种基于混合模式的api知识图谱自适应构建及智能问答方法 | |
CN114416107A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220927 |
|
RJ01 | Rejection of invention patent application after publication |