CN115658725A - 一种获取全量可直接执行的sql语句的方法及装置 - Google Patents
一种获取全量可直接执行的sql语句的方法及装置 Download PDFInfo
- Publication number
- CN115658725A CN115658725A CN202211407825.6A CN202211407825A CN115658725A CN 115658725 A CN115658725 A CN 115658725A CN 202211407825 A CN202211407825 A CN 202211407825A CN 115658725 A CN115658725 A CN 115658725A
- Authority
- CN
- China
- Prior art keywords
- sql
- full
- placeholder
- type
- preprocessed
- 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
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种获取全量可直接执行的SQL语句的方法及装置,方法包括:在目标程序中完成探针注入操作;通过注入的探针从目标程序中获取全量预处理SQL语句;根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值;根据数值拼接全量可执行SQL语句。本申请通过探针注入方式,在无需获取程序源代码的情况下可以获得MyBatis的Configuration实例对象,并通过SQL占位符的传参类型将其替换成对应类型的数值以此获得可以直接执行的SQL语句,使得获取SQL的工作可集中到专业人员手中实施,减少工作安排的复杂度,提升专业度。
Description
技术领域
本申请属于数据采集技术领域,具体地讲,涉及一种获取全量可直接执行的SQL语句的方法及装置。
背景技术
在数据采集过程中,为了避免性能较差的SQL语句进入生产***导致数据库的整体性能降低,需要在投产之前对SQL语句进行分析,因此需要解决SQL语句全量采集的问题。现有的SQL语句全量采集方案是通过代码静态扫描的方式,扫描XML文件或JAVA文件的注解,获取到全量SQL语句。但是,只有程序源代码的拥有者对源代码进行扫描才能获取到SQL语句,并且获取到的SQL语句是不可直接执行的SQL语句,对后续的SQL分析有较大的难度。如何能够获取可以直接执行的SQL语句成为了一项亟待解决的问题。
发明内容
本申请提供了一种获取全量可直接执行的SQL语句的方法及装置,以至少解决当前只有程序源代码的拥有者对源代码进行扫描才能获取到SQL语句,并且获取到的SQL语句是不可直接执行的SQL语句的问题。
根据本申请的第一个方面,提供了一种获取全量可直接执行的SQL语句的方法,包括:
在目标程序中完成探针注入操作;
通过注入的探针从目标程序中获取全量预处理SQL语句;
解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值;
根据数值拼接全量可执行SQL语句。
在一实施例中,获取全量可直接执行的SQL语句的方法还包括:
将解析后的全量预处理SQL语句分别存入预先建立的集合中;
将全部集合合并成一个Map集合。
在一实施例中,通过注入的探针从目标程序中获取全量预处理SQL语句,包括:
通过探针,从目标程序中获取MyBatis的Configuration实例对象;
根据实例对象得到全量预处理SQL语句。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
判断预处理的SQL占位符传参类型。
在一实施例中,根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值,包括:
解析SQL语句的占位符并确定占位符在数据库中的类型;
解析SQL语句的占位符并确定占位符在Java中的类型。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
根据占位符在数据库中的类型从预先建立的第一映射关系表中查询该类型对应的第一数值;
根据占位符在Java中的类型从预先建立的第二映射关系表中查询该类型对应的第二数值。
在一实施例中,根据数值拼接全量可执行SQL语句,包括:
对第一数值和第二数值进行组装,获得可执行的SQL语句。
根据本申请的另一个方面,还提供了一种获取全量可直接执行的SQL语句的装置包括:
探针注入单元,用于在目标程序中完成探针注入操作;
全量预处理SQL获取单元,用于通过注入的探针从目标程序中获取全量预处理SQL语句;
数值确定单元,用于解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值;
拼接单元,用于根据数值拼接全量可执行SQL语句。
在一实施例中,获取全量可直接执行的SQL语句的装置还包括:
预存模块,用于将解析后的全量预处理SQL语句分别存入预先建立的集合中;
集合合并模块,用于将全部集合合并成一个Map集合。
在一实施例中,全量预处理SQL获取单元包括:
通过探针,从目标程序中获取MyBatis的Configuration实例对象;
根据实例对象得到全量预处理SQL语句。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
判断预处理的SQL占位符传参类型。
在一实施例中,根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值,包括:
解析SQL语句的占位符并确定占位符在数据库中的类型;
解析SQL语句的占位符并确定占位符在Java中的类型。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
根据占位符在数据库中的类型从预先建立的第一映射关系表中查询该类型对应的第一数值;
根据占位符在Java中的类型从预先建立的第二映射关系表中查询该类型对应的第二数值。
在一实施例中,根据数值拼接全量可执行SQL语句,包括:
对第一数值和第二数值进行组装,获得可执行的SQL语句。
本申请通过探针注入方式,在无需获取程序源代码的情况下可以获得MyBatis的Configuration实例对象,并通过SQL占位符的传参类型将其替换成对应类型的数值以此获得可以直接执行的SQL语句,使得获取SQL的工作可集中到专业人员手中实施,减少工作安排的复杂度,提升专业度。本申请对程序、代码无入侵,不会对程序或代码进行修改,在采集过程中不会影响应用程序原本的逻辑,也不会影响到应用的相关人员继续开展工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种获取全量可直接执行的SQL语句的方法流程图。
图2为本申请实施例中另一获取全量可直接执行的SQL语句的方法。
图3为本申请实施例中通过注入的探针从目标程序中获取全量预处理SQL语句的方法。
图4为本申请实施例中根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值。
图5为本申请实施例中另一获取全量可直接执行SQL语句的方法。
图6为本申请提供的SQL获取***的架构图。
图7为多数据源合并计算流程图.
图8为本申请提供的一种获取全量可直接执行的SQL语句的装置。
图9为本申请实施例中另一获取全量可直接执行的SQL语句的装置。
图10为本申请实施例中全量预处理SQL获取单元的结构图。
图11为本申请实施例中数值确定单元的结构框图。
图12为本申请实施例中另一获取全量可直接执行SQL语句的装置。
图13为本申请实施例中一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在数据采集过程中,为了避免性能较差的SQL语句进入生产***导致数据库的整体性能降低,需要在投产之前对SQL语句进行分析,因此需要解决SQL语句全量采集的问题。现有的SQL语句全量采集方案是通过代码静态扫描的方式,扫描XML文件或JAVA文件的注解,获取到全量SQL语句。但是,只有程序源代码的拥有者对源代码进行扫描才能获取到SQL语句,并且获取到的SQL语句是不可直接执行的SQL语句,对后续的SQL分析有较大的难度。如何能够获取可以直接执行的SQL语句成为了一项亟待解决的问题。
为了解决上述问题,本申请提供了一种获取全量可直接执行的SQL语句的方法,如图1所示,包括:
S101:在目标程序中完成探针注入操作。
S102:通过注入的探针从目标程序中获取全量预处理SQL语句。
S103:解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值。
S104:根据数值拼接全量可执行SQL语句。
在一实施例中,如图2所示,获取全量可直接执行的SQL语句的方法还包括:
S201:将解析后的全量预处理SQL语句分别存入预先建立的集合中。
S202:将全部集合合并成一个Map集合。
在一实施例中,通过注入的探针从目标程序中获取全量预处理SQL语句,如图3所示,包括:
S301:通过探针,从目标程序中获取MyBatis的Configuration实例对象。
S302:根据实例对象得到全量预处理SQL语句。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
判断预处理的SQL占位符传参类型。
在一实施例中,根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值,如图4所示,包括:
S401:解析SQL语句的占位符并确定占位符在数据库中的类型。
S402:解析SQL语句的占位符并确定占位符在Java中的类型。
在一实施例中,如图5所示,获取全量可直接执行SQL语句的方法还包括:
S501:根据占位符在数据库中的类型从预先建立的第一映射关系表中查询该类型对应的第一数值。
S502:根据占位符在Java中的类型从预先建立的第二映射关系表中查询该类型对应的第二数值。
在一实施例中,根据数值拼接全量可执行SQL语句,包括:
对第一数值和第二数值进行组装,获得可执行的SQL语句。
在一具体实施例中,如图6所示,为SQL获取***的架构图,具体包括:
SQL审核***10,作为整个SQL采集流程的发起方以及全量可执行SQL的存储方。对整个流程进行整体的管控。
需要采集SQL的目标应用服务器20,整个***的主要逻辑以及核心组件均在此服务器中运行。
Agent注入程序30通过java attache的方式访问应用程序的JVM,将采集Agent注入到应用程序的JVM中。
应用程序的JVM40运行着应用程序的逻辑,并存储了所有SQL信息以及数据库连接信息。本申请主要针对JVM进行操作。
主要逻辑均在采集Agent50中实现,采集Agent在应用程序JVM中加载JVMTIagent,并通过JVMTIagent获取到目标SQL、以及数据库连接信息,后根据数据库中的信息拼凑可执行的SQL发送给SQL审核***。
图6中60为JVMITagent,70为全量可执行SQL,Mybatis中直接获取到的SQL语句是数据库无法解析的,采集Agent结合数据库中的字段类型,将不可执行的SQL组装成数据库可解析执行的SQL。
应用数据库80中存放了应用程序使用的表结构、数据等信息,采集Agent将从此数据库中获取到各字段的数据类型,并对应用程序中不可执行的SQL进行组装。
基于上述SQL获取***,本申请的另一具体实施例中提供了一种采集全量可执行SQL语句的方法,包括:
SQL审核***通过远程方式将Agent注入程序(包含了采集Agent和JVMTIagent)下发到需要采集SQL的应用服务器中。
启动Agent注入程序,选择需要采集的应用程序JVM的PID,将采集Agent和JVMTIagent注入到目标程序。
JVMTIagent:源码是C++程序,作为JAVA的本地方法使用,里面包含获取JVM堆内存数据方法。
通过S103可以获取到MyBatis的Configuration实例对象,从而得到全量的预处理的SQL语句。
判断预处理的SQL占位符传参类型。
解析SQL语句占位符在数据库中的类型,并替换成对应类型的数值。
解析SQL语句占位符在Java中的类型,并替换成对应类型的数值。
返回全量可执行的SQL语句到业务***。
具体地,通过对SQL的语法解析,获取到该SQL访问的数据库表名,在数据库中查询统计信息,获取上一步中得到的表结构信息,包括字段类型。在数据库中获取该表的一条真实记录,若上一步获取为空,则根据字段类型填充数字类型的1或字符串”1”,若不为空则使用真实数据填充。
图7为多数据源合并计算流程图;S701为每个数据源初始化一个空集合;S702获取全部的Configuration实例对象;S703将解析后的SQL语句存入到集合中;S704将所有集合合并成一个Map,最终返回全量可执行的SQL语句。
基于同一发明构思,本申请实施例还提供了一种获取全量可直接执行的SQL语句的装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该获取全量可直接执行的SQL语句的装置解决问题的原理与获取全量可直接执行的SQL语句的方法相似,因此获取全量可直接执行的SQL语句的装置的实施可以参见获取全量可直接执行的SQL语句的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本申请的另一个方面,如图8所示,还提供了一种获取全量可直接执行的SQL语句的装置包括:
探针注入单元801,用于在目标程序中完成探针注入操作;
全量预处理SQL获取单元802,用于通过注入的探针从目标程序中获取全量预处理SQL语句;
数值确定单元803,用于解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值;
拼接单元804,用于根据数值拼接全量可执行SQL语句。
在一实施例中,如图9所示,获取全量可直接执行的SQL语句的装置还包括:
预存模块901,用于将解析后的全量预处理SQL语句分别存入预先建立的集合中;
集合合并模块902,用于将全部集合合并成一个Map集合。
在一实施例中,如图10所示,全量预处理SQL获取单元802包括:
实例获取模块1001,通过探针,从目标程序中获取MyBatis的Configuration实例对象;
全量SQL模块1002,根据实例对象得到全量预处理SQL语句。
在一实施例中,获取全量可直接执行SQL语句的方法还包括:
判断预处理的SQL占位符传参类型。
在一实施例中,如图11所示,数值确定单元803包括:
第一解析模块1101,用于解析SQL语句的占位符并确定占位符在数据库中的类型;
第二解析模块1102,用于解析SQL语句的占位符并确定占位符在Java中的类型。
在一实施例中,如图12所示,获取全量可直接执行SQL语句的装置还包括:
第一查询模块1201,用于根据占位符在数据库中的类型从预先建立的第一映射关系表中查询该类型对应的第一数值;
第二查询模块1202,用于根据占位符在Java中的类型从预先建立的第二映射关系表中查询该类型对应的第二数值。
在一实施例中,拼接单元包括:
组装模块,用于对第一数值和第二数值进行组装,获得可执行的SQL语句。
本申请无需获取程序的源代码,第三方人员也可触发,使得获取SQL的工作可集中到专业人员手中实施,减少工作安排的复杂度,提升专业度。本申请对程序、代码无入侵,不会对程序或代码进行修改,在采集过程中不会影响应用程序原本的逻辑,也不会影响到应用的相关人员继续开展工作。本申请通过运行环境中的真实数据库环境,可获取到可直接运行的SQL语句,为后续的SQL分析审核提供较大的便利。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图13,所述电子设备具体包括如下内容:
处理器(processor)1301、内存1302、通信接口(Communications Interface)1303、总线1304和非易失性存储器1305;
其中,所述处理器1301、内存1302、通信接口1303通过所述总线1304完成相互间的通信;
所述处理器1301用于调用所述内存1302和非易失性存储器1305中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:在目标程序中完成探针注入操作。
S102:通过注入的探针从目标程序中获取全量预处理SQL语句。
S103:根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值。
S104:根据数值拼接全量可执行SQL语句。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:在目标程序中完成探针注入操作。
S102:通过注入的探针从目标程序中获取全量预处理SQL语句。
S103:根据解析后的全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值。
S104:根据数值拼接全量可执行SQL语句。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种获取全量可直接执行SQL语句的方法,其特征在于,包括:
在目标程序中完成探针注入操作;
通过注入的所述探针从目标程序中获取全量预处理SQL语句;
解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值;
根据所述数值拼接全量可执行SQL语句。
2.根据权利要求1所述的获取全量可直接执行SQL语句的方法,其特征在于,还包括:
将解析后的所述全量预处理SQL语句分别存入预先建立的集合中;
将全部所述集合合并成一个Map集合。
3.根据权利要求2所述的获取全量可直接执行SQL语句的方法,其特征在于,所述通过注入的所述探针从目标程序中获取全量预处理SQL语句,包括:
通过所述探针,从目标程序中获取MyBatis的Configuration实例对象;
根据所述实例对象得到全量预处理SQL语句。
4.根据权利要求2所述的获取全量可直接执行SQL语句的方法,其特征在于,还包括:
判断预处理的SQL占位符传参类型。
5.根据权利要求4所述的获取全量可直接执行SQL语句的方法,其特征在于,根据解析后的所述全量预处理SQL语句的占位符传参类型分别在数据库中和JAVA中确定对应类型的数值,包括:
解析SQL语句的占位符并确定所述占位符在数据库中的类型;
解析SQL语句的占位符并确定所述占位符在Java中的类型。
6.根据权利要求5所述的获取全量可直接执行SQL语句的方法,其特征在于,还包括:
根据所述占位符在数据库中的类型从预先建立的第一映射关系表中查询该类型对应的第一数值;
根据所述占位符在Java中的类型从预先建立的第二映射关系表中查询该类型对应的第二数值。
7.根据权利要求6所述的获取全量可直接执行SQL语句的方法,其特征在于,所述根据所述数值拼接全量可执行SQL语句,包括:
对所述第一数值和所述第二数值进行组装,获得可执行的SQL语句。
8.一种获取全量可直接执行SQL语句的装置,其特征在于,包括:
探针注入单元,用于在目标程序中完成探针注入操作;
全量预处理SQL获取单元,用于通过注入的所述探针从目标程序中获取全量预处理SQL语句;
数值确定单元,用于解析所述全量预处理SQL语句的占位符类型,并分别在数据库中和JAVA中确定所述类型对应的数值;
拼接单元,用于根据所述数值拼接全量可执行SQL语句。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的获取全量可直接执行的SQL语句的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的获取全量可直接执行的SQL语句的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211407825.6A CN115658725A (zh) | 2022-11-10 | 2022-11-10 | 一种获取全量可直接执行的sql语句的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211407825.6A CN115658725A (zh) | 2022-11-10 | 2022-11-10 | 一种获取全量可直接执行的sql语句的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658725A true CN115658725A (zh) | 2023-01-31 |
Family
ID=85021646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211407825.6A Pending CN115658725A (zh) | 2022-11-10 | 2022-11-10 | 一种获取全量可直接执行的sql语句的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658725A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756184A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
CN117688025A (zh) * | 2023-12-12 | 2024-03-12 | 金扁担(北京)数字科技有限公司 | 基于jdbc协议的sql动态组装方法及装置 |
-
2022
- 2022-11-10 CN CN202211407825.6A patent/CN115658725A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756184A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
CN116756184B (zh) * | 2023-08-17 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
CN117688025A (zh) * | 2023-12-12 | 2024-03-12 | 金扁担(北京)数字科技有限公司 | 基于jdbc协议的sql动态组装方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704265B (zh) | 一种面向业务流可配置的规则生成方法 | |
Zhou et al. | API deprecation: a retrospective analysis and detection method for code examples on the web | |
CN107644323B (zh) | 一种面向业务流的智能审核*** | |
CN115658725A (zh) | 一种获取全量可直接执行的sql语句的方法及装置 | |
Bockermann et al. | The streams framework | |
Sawant et al. | fine-GRAPE: fine-grained APi usage extractor–an approach and dataset to investigate API usage | |
US20140101632A1 (en) | Open application lifecycle management framework | |
CN105765560A (zh) | 基于多次跟踪执行的软件组件推荐 | |
WO2006026659A2 (en) | Services oriented architecture for data integration services | |
Kling et al. | MoScript: A DSL for querying and manipulating model repositories | |
Malloy et al. | An empirical analysis of the transition from python 2 to python 3 | |
Hammad et al. | Automatically identifying changes that impact code-to-design traceability during evolution | |
CN114546868A (zh) | 代码覆盖率测试方法、装置和电子设备 | |
CN104679500A (zh) | 实体类自动生成实现方法及装置 | |
Gousios et al. | Conducting quantitative software engineering studies with Alitheia Core | |
CN110351131B (zh) | 一种用于分布式链路的监控方法、装置和电子设备 | |
Gousios et al. | A platform for software engineering research | |
Shaikh et al. | More than two decades of research on verification of UML class models: A systematic literature review | |
Weber et al. | How FAIR can you get? Image retrieval as a use case to calculate FAIR metrics | |
CN116841900A (zh) | 接口文档、测试用例生成方法、装置、计算机设备和存储介质 | |
Lenhard et al. | Portability of executable service-oriented processes: metrics and validation | |
Gardikiotis et al. | A two-folded impact analysis of schema changes on database applications | |
Ocaña et al. | Data analytics in bioinformatics: Data science in practice for genomics analysis workflows | |
Buchgeher et al. | A platform for the automated provisioning of architecture information for large-scale service-oriented software systems | |
Zanardini et al. | Resource–usage–aware configuration in software product lines |
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 |