CN115794872A - 基于异构数据库的语句转化方法及装置、存储介质、设备 - Google Patents
基于异构数据库的语句转化方法及装置、存储介质、设备 Download PDFInfo
- Publication number
- CN115794872A CN115794872A CN202211426040.3A CN202211426040A CN115794872A CN 115794872 A CN115794872 A CN 115794872A CN 202211426040 A CN202211426040 A CN 202211426040A CN 115794872 A CN115794872 A CN 115794872A
- Authority
- CN
- China
- Prior art keywords
- statement
- target
- database
- preset
- query 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,具体公开了一种基于异构数据库的语句转化方法及装置、存储介质、计算机设备,该方法包括:接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;将初始查询语句输入至预设语句转化接口,基于预设语句转化接口输出目标文本格式的目标数据;确定异构数据库中第二数据库对应的数据库类型,将目标文本格式的目标数据转化为与数据库类型对应的目标查询语句。本申请在对多种类型的数据库进行运维时,开发运维人员仅需掌握一种常用的查询语句即可,可以大大降低运维难度,节省开发运维人员的学习时间,此外,通过调用预设语句转化接口,可以使得初始查询语句转化为目标查询语句的过程更加简单,提升了运维效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种基于异构数据库的语句转化方法及装置、存储介质、计算机设备。
背景技术
当前数据库的类型多种多样,常用的数据库类型包括redis、MongoDB、Clickhouse、MySQL、Oracle等。不同的业务方通常会根据自身的业务场景选择不同类型的数据库,以满足使用需求。
不同的数据库类型通常对应不同的SQL语句。当前在对数据库进行运维时,通常要求开发维护人员掌握对应数据库类型的SQL语句。但是如果同一开发维护人员需要运维不同类型的数据库时,那么会大大增加开发维护人员的运维难度,同时开发运维人员还需要花费大量时间学习不同类型的数据库的SQL语句,降低开发运维人员的运维效率。
发明内容
有鉴于此,本申请提供了一种基于异构数据库的语句转化方法及装置、存储介质、计算机设备,通过预设语句转化接口将开发运维人员输入的任意一种初始查询语句转化为能够被第二数据库识别的目标查询语句,在对多种类型的数据库进行运维时,开发运维人员仅需掌握一种常用的查询语句即可,可以大大降低运维难度,节省开发运维人员的学习时间,此外,通过调用预设语句转化接口,可以使得初始查询语句转化为目标查询语句的过程更加简单,提升了运维效率。
根据本申请的一个方面,提供了一种基于异构数据库的语句转化方法,包括:
接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
根据本申请的另一方面,提供了一种基于异构数据库的语句转化装置,包括:
语句接收模块,用于接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
语句转化模块,用于将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
语句生成模块,用于确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于异构数据库的语句转化方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于异构数据库的语句转化方法。
借由上述技术方案,本申请提供的一种基于异构数据库的语句转化方法及装置、存储介质、计算机设备,首先,可以接收开发运维人员输入的初始查询语句,接着,可以调用预设语句转化接口,利用该预设语句转化接口将初始查询语句转化为目标文本格式的目标数据。将初始查询语句转化为目标文本格式的目标数据之后,还可以确定想要进行操作的第二数据库的数据库类型,将转化为目标文本格式的目标数据再利用预设语句转化接口转化为与第二数据库的数据库类型相对应的目标查询语句,其中,目标查询语句是能够被第二数据库识别的查询语句。本申请实施例通过调用预设语句转化接口,通过预设语句转化接口将开发运维人员输入的任意一种初始查询语句转化为能够被第二数据库识别的目标查询语句,在对多种类型的数据库进行运维时,开发运维人员仅需掌握一种常用的查询语句即可,可以大大降低运维难度,节省开发运维人员的学习时间,此外,通过调用预设语句转化接口,可以使得初始查询语句转化为目标查询语句的过程更加简单,提升了运维效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种基于异构数据库的语句转化方法的流程示意图;
图2示出了本申请实施例提供的另一种基于异构数据库的语句转化方法的流程示意图;
图3示出了本申请实施例提供的另一种基于异构数据库的语句转化方法的流程示意图;
图4示出了本申请实施例提供的一种基于异构数据库的语句转化装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种基于异构数据库的语句转化方法,如图1所示,该方法包括:
步骤101,接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
当前数据库的类型有多种,例如Redis、MongoDB、Clickhouse、MySQL、Oracle等类型。与此同时,查询语句也有多种,例如,对于SQL(英文全称:Structured Query Language;中文名称:结构化查询语言)语句这种查询语句来说,就包括SQL99、NoSQL、NewSQL等等。不同类型的数据库往往对应不同的查询语句,而当前大部分开发运维人员均不能掌握各种类型的数据库的查询语句。本申请实施例提供的基于异构数据库的语句转化方法,开发运维人员在对多种类型的数据库进行运维时,无需同时掌握不同类型数据库的查询语句,开发运维人员仅掌握一种常用的查询语句即可,本方法可以将开发运维人员输入的常用的初始查询语句直接转化为与第二数据库对应的目标查询语句,简单方便。本申请实施例提供的基于异构数据库的语句转化方法,首先,可以接收开发运维人员输入的初始查询语句,例如SQL99语句。接着,可以调用预设语句转化接口。在这里,预设语句转化接口可以是经过封装得到的。
步骤102,将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
在该实施例中,调用预设语句转化接口之后,可以利用该预设语句转化接口将初始查询语句转化为目标文本格式的目标数据,在这里,目标文本格式可以是JSON格式。具体地,预设语句转化接口中可以封装有将初始查询语句转化为目标文本格式的目标数据的功能。
步骤103,确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
在该实施例中,将初始查询语句转化为目标文本格式的目标数据之后,还可以确定想要进行操作的第二数据库的数据库类型,将转化为目标文本格式的目标数据再利用预设语句转化接口转化为与第二数据库的数据库类型相对应的目标查询语句,其中,目标查询语句是能够被第二数据库识别的查询语句。在这里,预设语句转化接口还可以封装有将目标文本格式的目标数据转化为目标查询语句的功能。
通过应用本实施例的技术方案,首先,可以接收开发运维人员输入的初始查询语句,接着,可以调用预设语句转化接口,利用该预设语句转化接口将初始查询语句转化为目标文本格式的目标数据。将初始查询语句转化为目标文本格式的目标数据之后,还可以确定想要进行操作的第二数据库的数据库类型,将转化为目标文本格式的目标数据再利用预设语句转化接口转化为与第二数据库的数据库类型相对应的目标查询语句,其中,目标查询语句是能够被第二数据库识别的查询语句。本申请实施例通过调用预设语句转化接口,通过预设语句转化接口将开发运维人员输入的任意一种初始查询语句转化为能够被第二数据库识别的目标查询语句,在对多种类型的数据库进行运维时,开发运维人员仅需掌握一种常用的查询语句即可,可以大大降低运维难度,节省开发运维人员的学习时间,此外,通过调用预设语句转化接口,可以使得初始查询语句转化为目标查询语句的过程更加简单,提升了运维效率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种基于异构数据库的语句转化方法,如图2所示,该方法包括:
步骤201,接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
当前数据库的类型有多种,例如Redis、MongoDB、Clickhouse、MySQL、Oracle等类型。与此同时,查询语句也有多种,例如,对于SQL(英文全称:Structured Query Language;中文名称:结构化查询语言)语句这种查询语句来说,就包括SQL99、NoSQL、NewSQL等等。不同类型的数据库往往对应不同的查询语句,而当前大部分开发运维人员均不能掌握各种类型的数据库的查询语句。本申请实施例提供的基于异构数据库的语句转化方法,开发运维人员在对多种类型的数据库进行运维时,无需同时掌握不同类型数据库的查询语句,开发运维人员仅掌握一种常用的查询语句即可,本方法可以将开发运维人员输入的常用的初始查询语句直接转化为与第二数据库对应的目标查询语句,简单方便。本申请实施例提供的基于异构数据库的语句转化方法,首先,可以接收开发运维人员输入的初始查询语句,例如SQL99语句。接着,可以调用预设语句转化接口。在这里,预设语句转化接口可以是经过封装得到的。
步骤202,基于所述预设语句转化接口,对所述初始查询语句进行解析,生成目标语法树;
在该实施例中,调用预设语句转化接口之后,可以利用预设语句转化接口解析初始查询语句,将初始查询语句进行拆分,以语法树的形式表示,从而生成目标语法树,其中,目标语法树可以是AST(英文全称:Abstract syntax tree)语法树。AST语法树是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,之所以说是抽象的,是因为AST语法树并不会表示出真实语法出现的每一个细节,比如说,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现。本申请实施例通过将初始查询语句转化为目标语法树,有利于快速确定初始查询语句的结构形式,同时有利于后续快速转化为目标文本格式的目标数据。
步骤203,通过所述预设语句转化接口调用预先设置好的格式转化函数,依据所述格式转化函数,将所述目标语法树转换为所述目标文本格式的目标数据,所述格式转化函数用于将语法树格式转化为目标文本格式;
在该实施例中,通过预设语句转化接口根据初始查询语句生成目标语法树之后,还可以利用预设语句转化接口调用格式转化函数,通过格式转化函数将目标语法树转化成目标文本格式的目标数据。其中,格式转化函数的作用是将生成的语法树转化为目标文本格式的目标数据,具体地,当目标文本格式是JSON格式时,格式转化函数可以是formatToJson函数。
步骤204,确定所述异构数据库中第二数据库对应的数据库类型,依据预设文本格式字典,从所述预设文本格式字典中查找与所述数据库类型对应的所述目标文本格式的所述目标数据的替换数据;
在该实施例中,将目标语法树转换为目标文本格式的目标数据之后,为了使得转化得到的目标文本格式的目标数据可以用于第二数据库,还需要进行进一步处理。具体地,可以确定异构数据库中第二数据库的数据库类型,确定第二数据库的数据库类型之后,才能确定接下来将目标文本格式的目标数据如何进行转化。确定第二数据库的数据库类型之后,可以利用预设文本格式字典,从预设文本格式字典中查找与目标数据依次对应的替换数据,其中,替换数据是与目标数据对应的,并且能够被第二数据库识别的数据。在这里,当目标文本格式是JSON格式时,预设文本格式字典可以是预设JSON字典。
步骤205,将所述替换数据进行拼接处理,得到所述目标查询语句;
在该实施例中,确定好与每条目标数据对应的替换数据之后,可以依次对替换数据进行拼接处理,即可生成与目标数据对应的、能够被第二数据库识别的目标查询语句。本申请实施例通过利用预设文本格式字典,将转化为目标文本格式的目标数据直接转化为目标查询语句,无需重复生成AST语法树等,简单方便。
步骤206,将所述目标查询语句发送至所述第二数据库,以使所述第二数据库基于所述目标查询语句执行操作。
在该实施例中,生成目标查询语句之后,还可以将目标查询语句发送到第二数据库中,也即从预设语句转化接口输出的即为与初始查询语句相对应的目标查询语句。第二数据库接收到目标查询语句之后,可以对目标查询语句进行解析,进而执行对应的操作。
在本申请实施例中,可选地,步骤202包括:
步骤202-1,基于所述预设语句转化接口,对所述初始查询语句进行解析,依据解析信息生成初始语法树;
在该实施例中,可以利用预设语句转化接口,对初始查询语句进行分解,即对初始查询语句进行词法分析,将初始查询语句进行分词处理,得到单词排列,即简短字符串的排列,之后,对分词结构进一步进行语法分析,从分词结果中确定名词与动词,并确定不同名词之间的动词关系。进行词法分析和语法分析之后,即可生成对应的初始语法树。
步骤202-2,依据所述初始语法树中的任一节点,对初始结构体进行赋值处理,生成目标结构体,并将所述任一节点与所述目标结构体关联,生成所述目标语法树。
在该实施例中,接着,可以依次对初始语法树中的每个节点进行进一步操作,即根据每个节点进行初始结构体的赋值处理,赋值处理后即可生成与该节点对应的目标结构体。接着,可以将生成的目标结构体与对应节点进行关联,当初始语法树中的每个节点均被对应的目标结构体关联之后,即可生成目标语法树。其中,目标结构体可以是查询操作结构体、更新操作结构体、删除操作结构体、插入操作结构体等等。
在本申请实施例中,可选地,步骤201中所述“接收第一数据库能够识别的初始查询语句”之后,所述方法还包括:识别所述初始查询语句中是否存在风险子语句,所述风险子语句基于目标列表确定;若不存在,执行所述调用预设语句转化接口的步骤,否则,输出告警提示。
在该实施例中,接收初始查询语句之后,为了避免初始查询语句中存在风险子语句,导致后续生成的目标查询语句中也存在风险子语句,可以在接收初始查询语句之后,对初始查询语句进行风险排除。具体地,可以利用目标列表进行风险排除。目标列表中可以存储不同的风险子语句,如果初始查询语句中存在与目标列表中匹配的语句时,即可将匹配的语句作为风险子语句。其中,针对不同的初始查询语句,可以分别设置不同的目标列表,例如,针对SQL99语句,可以专门设置与SQL99语句相对应的目标列表,这样,首先可以根据初始查询语句找到对应的目标列表,接着可以从目标列表中匹配风险子语句,简单便捷。如果经过匹配发现初始查询语句中存在风险子语句,那么可以终止后续操作,并可以输出告警提示,以提示开发运维人员初始查询语句中存在风险;如果经过判断发现初始查询语句中不存在风险子语句,此时可以继续执行后续操作,即调用预设语句转化接口,并通过预设语句转化接口将初始查询语句转化为目标查询语句。本申请实施例通过在调用预设语句转化接口将初始查询语句转化为目标查询语句之前,先判断初始查询语句中是否存在风险子语句,并当存在风险子语句时,即结束后续操作,可以大大提升后续操作的安全性,避免第二数据库被非法入侵,减少第二数据库中的数据被非法篡改的几率。
在本申请实施例中,可选地,步骤201之后,所述方法还包括:接收调用反馈信息,当所述调用反馈信息指示所述预设语句转化接口调用失败时,重复调用所述预设语句转化接口,直至在预设次数内调用成功,或者调用失败的次数达到所述预设次数时结束。
在该实施例中,每次调用预设语句转化接口之后,都可以对应返回一个调用反馈信息,从调用反馈信息中可以识别预设语句转化接口是否被成功调用。如果经过对调用反馈信息的识别发现预设语句转化接口调用失败,此时无法进行后续操作,可以再次尝试对预设语句转化接口进行调用。具体地,可以设定一个预设次数,允许对预设语句转化接口重复调用预设次数,如果重复调用的次数达到预设次数,但是仍旧没有成功调用预设语句转化接口,此时说明预设语句转化接口存在问题,可以终止对预设语句转化接口的调用,与此同时还可以输出调用失败提示,以提示相关工作人员排查调用失败的原因。如果在预设次数内成功调用预设语句转化接口,那么可以继续执行后续的操作。
例如,预设次数为5次,如果当首次调用预设语句转化接口失败时,后续还可以重复调用5次。如果在5次以内成功调用预设语句转化接口,那么可以后续利用该预设语句转化接口将初始查询语句转化为目标查询语句,如果又重复调用了5次之后,仍旧没有成功调用预设语句转化接口,那么即使再重复调用,也很难成功,此时可以终止对预设语句转化接口的调用,还可以通过语音、文字等形式输出调用失败提示。本申请实施例通过设置预设次数,可以在首次调用预设语句转化接口失败之后,重复调用预设次数,重复调用的过程可以是开发运维人员无感知的,有利于提升预设语句转化接口的调用成功率。
在本申请实施例中,可选地,步骤201之前,所述方法还包括:
响应于查询语句输入指令,输出权限验证界面;
提取所述权限验证界面中的登录信息,并基于所述登录信息确定目标用户的操作权限;
相应地,步骤204中所述“确定所述异构数据库中第二数据库对应的数据库类型”之后,所述方法还包括:
确定所述目标用户的操作权限中是否包括所述第二数据库的数据库类型的操作权限,当存在时,执行所述依据预设文本格式字典,从所述预设文本格式字典中查找与所述数据库类型对应的所述目标文本格式的所述目标数据的替换数据的步骤。
在该实施例中,在目标用户,也即开发运维人员输入初始查询语句之前,可以先确定目标用户的操作权限,后续在生成第二数据库的目标查询语句之前,先判断该目标用户是否具有该第二数据库的操作权限,只有有操作权限时,才能执行后续的操作,否则直接终止操作,这样可以大大提升第二数据库的操作安全性。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于异构数据库的语句转化装置,如图4所示,该装置包括:
语句接收模块,用于接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
语句转化模块,用于将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
语句生成模块,用于确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
可选地,所述语句转化模块,包括:
语法树生成单元,用于基于所述预设语句转化接口,对所述初始查询语句进行解析,生成目标语法树;
格式转化单元,用于通过所述预设语句转化接口调用预先设置好的格式转化函数,依据所述格式转化函数,将所述目标语法树转换为所述目标文本格式的目标数据,所述格式转化函数用于将语法树格式转化为目标文本格式。
可选地,所述语法树生成单元,用于:
基于所述预设语句转化接口,对所述初始查询语句进行解析,依据解析信息生成初始语法树;依据所述初始语法树中的任一节点,对初始结构体进行赋值处理,生成目标结构体,并将所述任一节点与所述目标结构体关联,生成所述目标语法树。
可选地,所述装置还包括:
识别模块,用于所述接收第一数据库能够识别的初始查询语句之后,识别所述初始查询语句中是否存在风险子语句,所述风险子语句基于目标列表确定;
判断模块,用于若不存在,执行所述调用预设语句转化接口的步骤,否则,输出告警提示。
可选地,所述装置还包括:
信息接收模块,用于所述调用预设语句转化接口之后,接收调用反馈信息,当所述调用反馈信息指示所述预设语句转化接口调用失败时,重复调用所述预设语句转化接口,直至在预设次数内调用成功,或者调用失败的次数达到所述预设次数时结束。
可选地,所述语句生成模块,包括:
查找单元,用于依据预设文本格式字典,从所述预设文本格式字典中查找与所述数据库类型对应的所述目标文本格式的所述目标数据的替换数据;
拼接单元,用于将所述替换数据进行拼接处理,得到所述目标查询语句。
可选地,所述装置还包括:
发送模块,用于所述将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句之后,将所述目标查询语句发送至所述第二数据库,以使所述第二数据库基于所述目标查询语句执行操作。
需要说明的是,本申请实施例提供的一种基于异构数据库的语句转化装置所涉及各功能单元的其他相应描述,可以参考图1至图3方法中的对应描述,在此不再赘述。
基于上述如图1至图3所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图3所示的基于异构数据库的语句转化方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图3所示的方法,以及图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的基于异构数据库的语句转化方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。首先,可以接收开发运维人员输入的初始查询语句,接着,可以调用预设语句转化接口,利用该预设语句转化接口将初始查询语句转化为目标文本格式的目标数据。将初始查询语句转化为目标文本格式的目标数据之后,还可以确定想要进行操作的第二数据库的数据库类型,将转化为目标文本格式的目标数据再利用预设语句转化接口转化为与第二数据库的数据库类型相对应的目标查询语句,其中,目标查询语句是能够被第二数据库识别的查询语句。本申请实施例通过调用预设语句转化接口,通过预设语句转化接口将开发运维人员输入的任意一种初始查询语句转化为能够被第二数据库识别的目标查询语句,在对多种类型的数据库进行运维时,开发运维人员仅需掌握一种常用的查询语句即可,可以大大降低运维难度,节省开发运维人员的学习时间,此外,通过调用预设语句转化接口,可以使得初始查询语句转化为目标查询语句的过程更加简单,提升了运维效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于异构数据库的语句转化方法,其特征在于,包括:
接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
2.根据权利要求1所述的方法,其特征在于,所述将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据,包括:
基于所述预设语句转化接口,对所述初始查询语句进行解析,生成目标语法树;
通过所述预设语句转化接口调用预先设置好的格式转化函数,依据所述格式转化函数,将所述目标语法树转换为所述目标文本格式的目标数据,所述格式转化函数用于将语法树格式转化为目标文本格式。
3.根据权利要求2所述的方法,其特征在于,所述基于所述预设语句转化接口,对所述初始查询语句进行解析,生成目标语法树,包括:
基于所述预设语句转化接口,对所述初始查询语句进行解析,依据解析信息生成初始语法树;
依据所述初始语法树中的任一节点,对初始结构体进行赋值处理,生成目标结构体,并将所述任一节点与所述目标结构体关联,生成所述目标语法树。
4.根据权利要求1所述的方法,其特征在于,所述接收第一数据库能够识别的初始查询语句之后,所述方法还包括:
识别所述初始查询语句中是否存在风险子语句,所述风险子语句基于目标列表确定;
若不存在,执行所述调用预设语句转化接口的步骤,否则,输出告警提示。
5.根据权利要求1所述的方法,其特征在于,所述调用预设语句转化接口之后,所述方法还包括:
接收调用反馈信息,当所述调用反馈信息指示所述预设语句转化接口调用失败时,重复调用所述预设语句转化接口,直至在预设次数内调用成功,或者调用失败的次数达到所述预设次数时结束。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,包括:
依据预设文本格式字典,从所述预设文本格式字典中查找与所述数据库类型对应的所述目标文本格式的所述目标数据的替换数据;
将所述替换数据进行拼接处理,得到所述目标查询语句。
7.根据权利要求1所述的方法,其特征在于,所述将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句之后,所述方法还包括:
将所述目标查询语句发送至所述第二数据库,以使所述第二数据库基于所述目标查询语句执行操作。
8.一种基于异构数据库的语句转化装置,其特征在于,包括:
语句接收模块,用于接收第一数据库能够识别的初始查询语句,并调用预设语句转化接口;
语句转化模块,用于将所述初始查询语句输入至所述预设语句转化接口,基于所述预设语句转化接口输出目标文本格式的目标数据;
语句生成模块,用于确定所述异构数据库中第二数据库对应的数据库类型,将所述目标文本格式的目标数据转化为与所述数据库类型对应的目标查询语句,所述目标查询语句为所述第二数据库能够识别的查询语句。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426040.3A CN115794872A (zh) | 2022-11-15 | 2022-11-15 | 基于异构数据库的语句转化方法及装置、存储介质、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426040.3A CN115794872A (zh) | 2022-11-15 | 2022-11-15 | 基于异构数据库的语句转化方法及装置、存储介质、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794872A true CN115794872A (zh) | 2023-03-14 |
Family
ID=85437686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211426040.3A Pending CN115794872A (zh) | 2022-11-15 | 2022-11-15 | 基于异构数据库的语句转化方法及装置、存储介质、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794872A (zh) |
-
2022
- 2022-11-15 CN CN202211426040.3A patent/CN115794872A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079408B (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN111736840A (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
CN111338693B (zh) | 基于模型构建的目标文件生成方法、服务器及存储介质 | |
CN104391793A (zh) | 测试步骤及测试脚本生成方法及装置 | |
CN112130830A (zh) | 接口生成方法、装置及电子设备 | |
KR102099670B1 (ko) | 질의자 의도를 이해하기 위한 구문 규칙 자동생성 장치 및 방법 | |
CN115809288A (zh) | 数据转换方法、装置、设备及存储介质 | |
CN113343248A (zh) | 一种漏洞识别方法、装置、设备和存储介质 | |
CN117008918A (zh) | 领域特定语言的处理方法、装置、介质及电子设备 | |
CN112579093B (zh) | 一种信息推送方法、装置及相关设备 | |
CN115794872A (zh) | 基于异构数据库的语句转化方法及装置、存储介质、设备 | |
CN110716953A (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
CN116010461A (zh) | 数据血缘关系解析方法及装置、存储介质及电子设备 | |
CN111079407B (zh) | 对用户输入的内容进行解析的方法和装置 | |
CN112433752B (zh) | 页面解析方法、装置、介质及电子设备 | |
CN114021133A (zh) | 代码处理方法、装置、电子设备和存储介质 | |
US20180203748A1 (en) | Validation and parsing performance using subtree caching | |
US11797277B2 (en) | Neural network model conversion method server, and storage medium | |
CN109284097B (zh) | 实现复杂数据分析的方法、设备、系统及存储介质 | |
CN114064685A (zh) | 数据标准化访问方法及其装置、设备、介质、产品 | |
CN113590648A (zh) | 一种数据查询方法、装置、设备和可读存储介质 | |
CN113448852A (zh) | 一种测试案例的获取方法、装置、电子设备及存储介质 | |
CN111753548A (zh) | 信息获取方法及装置、计算机存储介质、电子设备 | |
CN114510922B (zh) | 一种文本匹配方法及装置 | |
CN111858864A (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 |