CN109558303B - 一种应用行为分析方法、装置及电子设备 - Google Patents
一种应用行为分析方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109558303B CN109558303B CN201710875743.7A CN201710875743A CN109558303B CN 109558303 B CN109558303 B CN 109558303B CN 201710875743 A CN201710875743 A CN 201710875743A CN 109558303 B CN109558303 B CN 109558303B
- Authority
- CN
- China
- Prior art keywords
- transaction
- predetermined
- sql
- preset
- 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.)
- Active
Links
Images
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
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- 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/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种应用行为分析方法、装置及电子设备;所述应用行为分析方法包括:获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;根据所述多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识。本申请至少一个实施例可以根据关联的SQL语句进行更为全面的分析。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种应用行为分析方法、装置及电子设备。
背景技术
目前,通过分析结构化查询语言(Structured Query Language,SQL)执行日志寻找数据库性能瓶颈是数据库优化的常用方法,比如为了查找使用大量中央处理器(CentralProcessing Unit,CPU)或输入/输出(Input/Output,I/O)时间的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语句参数,并将第一事务的执行次数设置为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语句的执行顺序;如果所获取的SQL语句参数是否与已保存的第二事务的SQL语句参数相同,如果相同,则将所述已保存的第二事务的执行次数增加1;如果不相同,则保存所获取的SQL语句参数,并将第一事务的执行次数设置为1。
其中,所述的应用行为分析装置还可以包括:
统计模块,用于在所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后,对未出现异常状态的事务设置事务标识,通过事务标识记录所述预定连接上各正常执行的事务的执行顺序;根据所述执行顺序查找是否存在出现至少两次的事务标识序列,如果存在则记录所述事务标识序列及其出现次数;其中,所述事务标识序列是指两个或两个以上具有固定排列顺序的事务标识。
其中,所述识别模块还可以用于当一个连接上的事务个数少于预定阈值时,判断应用使用短连接方式。
其中,所述预定关键字还可以包括:预定的操作对象;
所述识别模块还可以用于在根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后,对未出现异常状态的各事务,分别根据该事务所包含的SQL语句中包含的预定关键字,以及预设行为模板,识别该事务所进行的行为。
一种进行应用行为分析的电子设备,包括:存储器和处理器;
所述存储器用于保存用于进行应用行为分析的程序;所述用于进行应用行为分析的程序在被所述处理器读取执行时,执行如下操作:
获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;
根据所述多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识。
本申请包括以下优点:
本申请至少一个实施例中,通过对对应于一个连接的多个SQL语句进行处理,能够分析出应用执行过程中的潜在问题;通过多个SQL语句的执行顺序和SQL语句中包含的预定关键字,可以判断出影响应用系统稳定性和健壮性的异常状态。
本申请实施例的实现方式中,可以识别出以下一种或多种异常状态:事务非预期开启,SQL语句长时间间隔,事务未提交,失败事务未回滚。
本申请实施例的实现方式中,对于正常执行(未出现异常状态)的事务可以统计各事务和/或各事务序列的执行次数。
本申请实施例的实现方式中,可以判断应用是否使用短连接方式。
本申请实施例的实现方式中,可以识别出事务所进行的行为。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是实施例一的应用行为分析方法的流程图;
图2(a)是应用实施例一的方法的系统架构示意图之一;
图2(b)是应用实施例一的方法的系统架构示意图之二;
图2(c)是应用实施例一的方法的系统架构示意图之三;
图3是实施例一的例子中状态机的判断流程示意图;
图4是实施例二的应用行为分析装置的示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实现方式中的不同特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种配置中,进行应用行为分析的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本文中,事务在执行过程中存在的异常状态可以但不限于包括以下一种或多种;
事务非预期开启:是指会话开始后,在事务还未开启时,对数据库对象进行操作,即SQL非预期的进入事务的情况。
事务未提交:是指进入事务中后会话已完成,但未得到事务状态的情况。
失败事务未回滚:是指会话开始且事务开启后,事务执行失败,在还没有进行事务回滚时对数据库对象进行操作的情况。
SQL语句长时间间隔:是指会话开始且事务开启后,相邻两个SQL语句的执行时间间隔大于预定的时间阈值的情况。
实施例一、一种应用行为分析方法,如图1所示,包括步骤S110~S120。
S110、获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;
S120、根据所述多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识。
本实施例中,通过对对应于一个连接的多个SQL语句进行处理,能够分析出应用执行过程中的潜在问题;通过多个SQL语句的执行顺序和SQL语句中包含的预定关键字,可以判断出影响应用系统稳定性和健壮性的异常状态,而不是仅限于消耗数据库资源过多这一种异常状态。
本实施例中,所述预定连接可以是待分析的连接,可以由用户指定或是默认的连接。
本实施例中,预定连接对应的多个SQL语句可以是指通过该预定连接传输的SQL语句;可以根据预定连接的标识扫描数据库日志,将查找到的和预定连接的标识匹配的多个SQL语句作为所述预定连接对应的SQL语句。
本实施例中,数据库日志中可以记录所执行的各SQL语句及其执行信息,比如传输该SQL语句的连接的标识、该SQL语句的执行时间信息等。当一个SQL语句的执行信息中,传输该SQL语句的连接的标识和预定连接的标识相同,则可以认为该SQL语句和预定连接的标识匹配,即:该SQL语句是预定连接对应的SQL语句。
通常,数据库应用需要进行数据库操作时,先建立起数据库连接,然后才能发起会话(session)进行数据库操作。不同的数据库处理应用的连接请求的方式存在不同,有的是通过线程(比如MySQL,DB2),有的是通过一个进程(PostgreSQL),因此上述预定连接的标识相应可以是线程标识或进程标识。
本实施例中,同一个事务只能使用一个连接(分布式事务除外),一个连接可以被多个事务复用,但是在同一个连接上前一个事务结束后才能开始下一个事务。因此预定连接对应的多个SQL语句可能是属于一个事务或多个事务的。
本实施例中,可以由数据库管理系统进行上述步骤S110~S120,也可以由数据库管理系统之外的分析工具,根据数据库管理系统所保存的数据库日志进行上述步骤S110~120;还可以由数据库管理系统和分析工具互相配合,比如由数据库管理系统进行步骤S110,由分析工具进行步骤S120。
一种实现方式中,实现本实施例方法的系统架构如图2(a)所示,数据库管理系统22对数据库21进行访问、管理和维护,产生数据库日志23;数据库管理系统22通过该数据库日志23进行步骤S110,并根据所提取的多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态。
本实现方式中,可以由数据库管理系统中新增的模块来执行步骤S110、S120,或为数据库管理系统中原有的模块增加执行步骤S110、S120的功能。
一种实现方式中,实现本实施例方法的系统架构如图2(b)所示,数据库管理系统22对数据库21进行访问、管理和维护,产生数据库日志23;分析工具24通过该数据库日志23进行步骤S110,并根据所提取的多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态。
本实现方式中,分析工具可以是独立的分析设备或分析系统等,也可以是安装在其它设备上的软件等;分析工具可以是一体的,也可以分成不同部分,比如执行步骤S110的部分是一个设备或位于一个设备中,执行步骤S120的部分是另一个设备或位于另一个设备中。
一种实现方式中,实现本实施例方法的系统架构如图2(c)所示,数据库管理系统22对数据库21进行访问、管理和维护,产生数据库日志23;数据库管理系统22通过该数据库日志23进行步骤S110,分析工具24根据数据库管理系统22所提取的多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态。
本实施例中,可以先从各SQL语句分别提取预定关键字,然后和SQL语句的执行顺序一起作为识别依据,也可以在识别过程中分别从各SQL语句中查找预定关键字。其中,提取预定关键字可以是指,当一个SQL语句中存在和预定关键字匹配的内容时,将该内容提取出来。
通常,一个SQL语句的类型可能是以下三种类型中的一种:
(1)对数据库对象的操作指令,比如查询(SELECT)、更新(UPDATE)、插入(INSERT)、删除(DELETE)等;这些操作指令也可以统称为数据操纵语言(data manipulationlanguage,dml)。
(2)表示事务的状态,比如开启事务(start transaction)、关闭(finished)事务、回滚(roll back)事务、提交(commit)、失败(fail)等。
(3)表示会话状态。
本实施例中依据SQL语句包含的预定关键字进行识别,即通过和预定关键字进行匹配的方式,识别出SQL语句的用途或者说功能。当SQL语句的类型是表示会话状态时,还可以获知会话的具体状态;当SQL语句的类型是表示事务的状态时,还可以获知对事务的具体操作;当SQL语句的类型是对数据库对象的操作指令时,还可以根据操作对象获知该SQL语句实际所起的作用。
比如预定的操作指令包含“DELETE”,假设一个SQL语句如下:
DELETE FROM table1WHERE columnID=XXX;
其中,table1是表的名称,columnID是列的名称,则可以从上述SQL语句中提取到预定关键字“DELETE”。
本实施例中,所述多个SQL语句的执行顺序可以根据数据库日志中的记录顺序得到,或者也可以根据SQL语句的执行时间信息得知。如果根据执行时间信息得知,则在根据预定连接的标识从数据库日志中查找SQL语句时,可以一同获取SQL语句的执行时间信息;其中,执行时间信息可以包括以下任一项或任几项:各SQL语句的执行时刻、执行时间长度、相邻两个SQL语句的执行时间间隔等。
本实施例中,可以将所包含的预定关键字表示会话开始(session begin)的SQL语句、和所包含的预定关键字表示会话完成(session complete)的SQL语句之间的所有SQL语句(包括这两个SQL语句本身)视为属于一个会话。
本实施例中,可以将所包含的预定关键字表示事务开启的SQL语句、和所包含的预定关键字表示事务关闭的SQL语句之间的所有SQL语句(包括这两个SQL语句本身)视为属于一个事务。
一种实现方式中,所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态可以包括:
按照SQL语句的执行顺序对各SQL语句中包含的预定关键字进行排序;
当事务不自动提交时,在出现表示会话开始的预定关键字后,如果在未出现表示事务开启的预定关键字的情况下,先出现对数据库对象的操作指令,则判断出现异常状态:事务非预期开启。
本实现方式中,当事务自动提交时,在出现表示会话开始的预定关键字后,可以判断是事务自动提交的情况,对该事务后续不再进行判断。
本实现方式中,可以通过一个用于指示事务是否自动提交的状态变量的值,来获知事务是否自动提交;比如当该状态变量的值是“false”时,表明不自动提交,是“true”时表明自动提交。
其中,上述状态变量在步骤S120执行前可以先进行初始化,可以通过从数据库获取相应的全局变量的值作为上述状态变量的初始值,比如可以从MySQL数据库中获取变量的值作为上述状态变量的值;也可以将上述状态变量的初始值先设置为默认值,后续再根据实际获知的情况更新该状态变量。
一种实现方式中,所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态可以包括:
按照SQL语句的执行顺序对各SQL语句中包含的预定关键字进行排序;
在出现表示会话开始和表示事务开启的预定关键字后,如果在未出现表示事务的状态的预定关键字的情况下,先出现表示会话完成的预定关键字,则判断出现异常状态:事务未提交。
本实现方式中,在出现表示会话开始和表示事务开启的预定关键字后,认为进入状态“事务中”;在状态为“事务中”的情况下,如果出现表示事务状态的预定关键字,属于正常情况,比如出现提交(commit)则判断事务提交完成;如果出现回滚(roll back)则判断事务回滚完成;如果出现失败(fail)则表示事务的状态变成“执行失败”。如果表示事务的状态的预定关键字未出现的情况下,先出现表示会话完成的预定关键字,则表明事务还未提交。
一种实现方式中,所述获取预定连接对应的多个结构化查询语言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语句参数,并将第一事务的执行次数设置为1。
本实现方式可以统计各事务的执行次数;先获取正常执行(即:未出现异常状态)的事务中SQL语句的参数;将参数相同(个数、作用、执行顺序)的事务认为是相同的事务,增加执行次数。比如已保存事务A、事务B和事务C的SQL语句参数,当又出现一个正常执行的事务时,如果该事务的SQL语句参数和事务A、B、C的SQL语句参数都不同,则保存为事务D的SQL语句参数,并将执行次数设置为1;如果和该事务的SQL语句参数和事务A的相同,则不重复保存,而是将事务A的执行次数增加1。
本实现方式中,SQL语句的作用相同是指SQL语句所进行的操作本身是相同的,但操作对象和/或操作参数可以不同,比如:
DELETE FROM table2WHERE columnID-a=XXX;
DELETE FROM table3WHERE columnID-b=XXX;
这两句可以认为作用相同。
本实现方式中,保存事务的SQL语句参数时可以但不限于保存成事务模板,后续的事务的SQL语句参数通过与该事务模板匹配就可得知是否为相同的事务。
一种实现方式中,所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还可以包括:
对未出现异常状态的事务设置事务标识,通过事务标识记录所述预定连接上各正常执行的事务的执行顺序;
根据所述执行顺序查找是否存在出现至少两次的事务标识序列,如果存在则记录所述事务标识序列及其出现次数;其中,所述事务标识序列是指两个或两个以上具有固定排列顺序的事务标识。
本实现方式中,可以通过事务标识序列统计具有相同执行顺序的多个事务(也可以称为事务序列)的执行次数;先对事务设置事务标识,相同事务的事务标识也相同;可以通过事务标识记录正常执行的事务的执行顺序,比如事务A、事务B、事务C……;当再次出现事务A、事务B、事务C这一事务标识序列时,可以确定存在具有相同执行顺序的多个事务,并将该事务标识序列的执行次数设置成2,后续如果再出现事务A、事务B、事务C,则执行次数再相应加1。
本实现方式中,可以将事务标识序列保存成事务序列模板,可以通过与该事务标识序列模板匹配来得知是否为相同的事务标识序列。
一种实现方式中,所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还可以包括:
当一个连接上的事务个数少于预定阈值时,判断应用使用短连接方式。
一种实现方式中,所述预定关键字还可以包括:预定的操作对象;
所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还可以包括:
对未出现异常状态的各事务,分别根据该事务所包含的SQL语句中包含的预定关键字,以及预设行为模板,识别该事务所进行的行为。
本实现方式中,预定关键字不局限于SQL语言本身的关键字,还可以是表名、查询和操作的字段等,也可以称为业务关键字;通过对业务关键字的分析,可以进一步更深层次的了解应用的业务性能。
比如当一个事务的SQL语句中包含的预定关键字是:表示库存量的数据库对象A时,如果预设行为模板中,将数据库对象A增加对应于“商品入库”这一行为,则可以识别该事务所进行的行为是商品入库。
下面用一个例子说明本实施例。该例子中,进行应用行为分析的过程包括如下步骤201~204:
201、初始化用于指示事务是否自动提交的状态变量autocommit。
202、根据待分析的连接的标识(ID)扫描数据库日志,获取到多个属于该连接的SQL语句,以及该多个SQL语句的执行时间信息。
203、对于上述多个SQL语句分别提取关键字,所述关键字包括:会话状态、查询、插入/删除/更新、开启/关闭事务。
204、将上述多个SQL语句的执行时间信息以及提取的关键字作为输入符号集输入状态机,以驱动状态机的运行。
状态机根据上述SQL语句、执行时间信息及提取的关键字可以分析出业务逻辑的实现过程,检测事务执行的异常状态。
对于正常执行(未出现异常状态)的事务则可以统计各事务、各事务序列的执行次数,还可以判断应用是否使用短连接方式。
其中,异常状态包括:事务非预期开启,SQL语句长时间间隔,事务未提交,失败事务未回滚。通过上述异常状态可以得知执行SQL语句的数据库应用中存在的潜在问题,如会话自动提交状态关闭后未重新打开,导致会话后续SQL非预期的进入事务、事务未提交、事务中SQL语句失败后事务未回滚;应用在开启事务后长时间执行非事务性操作导致事务执行时间过长等。
其中,对于状态机识别为正常执行的事务,还可以对属于同一个事务或同一个事务序列的SQL语句建立关联关系。
其中,上述状态机的判断流程如图3所示,包括以下情况:
在会话开始的状态中,如果上述状态变量的值为“false”且出现dml,则判断出现异常状态:事务非预期开启;如果上述状态变量的值为“true”且出现dml,则判断事务自动提交;如果出现开启事务(start transaction),则判断状态变成“事务中”。
在事务非预期开启的状态中,如果出现dml,则判断状态变成“事务中”。
在“事务中”的状态中,如果出现提交(commit)则判断事务提交完成;如果出现回滚(roll back)则判断事务回滚完成;如果出现失败(fail)则判断状态变成“执行失败”;如果出现会话完成(session complete)则判断出现异常状态:事务未提交;如果相邻两个SQL语句的执行时间间隔大于预定的时间阈值时,则判断出现异常状态:SQL语句长时间间隔。
在“执行失败”的状态中,如果出现roll back,则判断事务回滚完成;如果出现dml,则判断出现异常状态:失败事务未回滚。
在事务提交完成和事务回滚完成的状态中出现“结束”(finish),则表明事务关闭,可以返回“会话开始”的状态。
在事务未提交的状态中出现“结束”,则会话结束。
在失败事务未回滚的情况下,表明仍处于状态“事务中”。
本例子中,多个相互关联的SQL语句(属于同一个事务或同一个事务序列的SQL语句)可以看成是应用的一段业务逻辑,状态机可以输出相互关联的SQL语句以及执行频率(即事务的执行次数除以时间长度、或事务序列的执行次数除以时间长度),提供给开发人员参考和对比。
本例子中,当所提取的预定关键字包含预定的操作对象时,还可以识别事务所进行的行为;比如一个事务包含如下SQL语句:
start transaction;
Update inventory set count=count-1where goods='watch';
Insert into order values(xx,bb);
Update revenue set total=total+2000;
Commit;
其中,可以提取到表示事务开启、提交的预定关键字,还可以提取到操作指令如Update、Insert;另外,还可以提取到表示操作对象的预定关键字,比如inventory、goods、order、revenue等。根据预设行为模板,可以识别出该事务的所进行的行为,比如是减库存,生成订单,更新销售额等。
实施例二、一种应用行为分析装置,如图4所示,包括:
获取模块41,用于获取预定连接对应的多个SQL语句及其执行顺序;
识别模块42,用于根据所述多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识。
本实施例中,获取模块41是上述装置中负责获取SQL语句及执行顺序的部分,可以是软件、硬件或两者的结合。
本实施例中,识别模块42是上述装置中负责根据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语句参数,并将第一事务的执行次数设置为1。
一种实现方式中,所述的应用行为分析装置还可以包括:
统计模块,用于在所述根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后,对未出现异常状态的事务设置事务标识,通过事务标识记录所述预定连接上各正常执行的事务的执行顺序;根据所述执行顺序查找是否存在出现至少两次的事务标识序列,如果存在则记录所述事务标识序列及其出现次数;其中,所述事务标识序列是指两个或两个以上具有固定排列顺序的事务标识。
一种实现方式中,所述识别模块还可以用于当一个连接上的事务个数少于预定阈值时,判断应用使用短连接方式。
一种实现方式中,所述预定关键字还可以包括:预定的操作对象;
所述识别模块还可以用于在根据多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后,对未出现异常状态的各事务,分别根据该事务所包含的SQL语句中包含的预定关键字,以及预设行为模板,识别该事务所进行的行为。
本实施例的应用行为分析装置的各模块的操作分别对应于实施例一中的步骤S110~S120,各模块操作的其它实现细节可参见实施例一。
实施例三、一种进行应用行为分析的电子设备,包括:存储器和处理器;
所述存储器用于保存用于进行应用行为分析的程序;所述用于进行应用行为分析的程序在被所述处理器读取执行时,执行如下操作:
获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;
根据所述多个SQL语句的执行顺序和各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识。
本实施例中,用于进行应用行为分析的程序在被处理器读取执行时,所执行的操作对应于实施例一中的步骤S110~S120;该程序所执行的操作的其它细节可参见实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。
Claims (11)
1.一种应用行为分析方法,包括:
获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;
按照SQL语句的执行顺序对各SQL语句中包含的预定关键字进行排序;根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识;所述异常状态包括以下一种或多种:事务非预期开启、事务未提交、失败事务未回滚、SQL语句长时间间隔。
2.如权利要求1所述的应用行为分析方法,其特征在于,所述排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态包括:
当事务不自动提交时,在出现表示会话开始的预定关键字后,如果在未出现表示事务开启的预定关键字的情况下,先出现对数据库对象的操作指令,则判断出现异常状态:事务非预期开启。
3.如权利要求1所述的应用行为分析方法,其特征在于,所述排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态包括:
在出现表示会话开始和表示事务开启的预定关键字后,如果在未出现表示事务的状态的预定关键字的情况下,先出现表示会话完成的预定关键字,则判断出现异常状态:事务未提交。
4.如权利要求1所述的应用行为分析方法,其特征在于,所述获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序包括:
提取所述预定连接对应的多个SQL语句及各SQL语句的执行时间信息;所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态包括:
在出现表示会话开始和表示事务开启的预定关键字后,如果根据所述执行时间信息确定相邻两个SQL语句的执行时间间隔大于预定的时间阈值时,则判断出现异常状态:SQL语句长时间间隔。
5.如权利要求1所述的应用行为分析方法,其特征在于,所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态包括:
在出现表示会话开始和表示事务开启的预定关键字后,如果出现表示事务失败的预定关键字后,在未出现表示事务回滚的预定关键字的情况下,先出现对数据库对象的操作指令,则判断出现异常状态:失败事务未回滚。
6.如权利要求1所述的应用行为分析方法,其特征在于,所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还包括:
获取未出现异常状态的第一事务的SQL语句参数;所述SQL语句参数包括该事务中SQL语句的个数、SQL语句的作用、各SQL语句的执行顺序;
如果所获取的SQL语句参数是否与已保存的第二事务的SQL语句参数相同,如果相同,则将所述已保存的第二事务的执行次数增加1;如果不相同,则保存所获取的SQL语句参数,并将第一事务的执行次数设置为1。
7.如权利要求1所述的应用行为分析方法,其特征在于,所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还包括:
对未出现异常状态的事务设置事务标识,通过事务标识记录所述预定连接上各正常执行的事务的执行顺序;
根据所述执行顺序查找是否存在出现至少两次的事务标识序列,如果存在则记录所述事务标识序列及其出现次数;其中,所述事务标识序列是指两个或两个以上具有固定排列顺序的事务标识。
8.如权利要求1所述的应用行为分析方法,其特征在于,所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还包括:
当一个连接上的事务个数少于预定阈值时,判断应用使用短连接方式。
9.如权利要求1所述的应用行为分析方法,其特征在于,所述预定关键字还包括:预定的操作对象;
所述根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态后还包括:
对未出现异常状态的各事务,分别根据该事务所包含的SQL语句中包含的预定关键字,以及预设行为模板,识别该事务所进行的行为。
10.一种应用行为分析装置,其特征在于,包括:
获取模块,用于获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;
识别模块,用于按照SQL语句的执行顺序对各SQL语句中包含的预定关键字进行排序;根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识;所述异常状态包括以下一种或多种:事务非预期开启、事务未提交、失败事务未回滚、SQL语句长时间间隔。
11.一种进行应用行为分析的电子设备,包括:存储器和处理器;
其特征在于:
所述存储器用于保存用于进行应用行为分析的程序;所述用于进行应用行为分析的程序在被所述处理器读取执行时,执行如下操作:
获取预定连接对应的多个结构化查询语言SQL语句及其执行顺序;按照SQL语句的执行顺序对各SQL语句中包含的预定关键字进行排序;
根据排序后的各SQL语句中包含的预定关键字,识别使用所述预定连接执行的事务在执行过程中是否存在异常状态;其中,所述预定关键字包括以下一项或多项:预定的操作指令、预定的状态标识;所述异常状态包括以下一种或多种:事务非预期开启、事务未提交、失败事务未回滚、SQL语句长时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710875743.7A CN109558303B (zh) | 2017-09-25 | 2017-09-25 | 一种应用行为分析方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710875743.7A CN109558303B (zh) | 2017-09-25 | 2017-09-25 | 一种应用行为分析方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558303A CN109558303A (zh) | 2019-04-02 |
CN109558303B true CN109558303B (zh) | 2023-02-28 |
Family
ID=65861898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710875743.7A Active CN109558303B (zh) | 2017-09-25 | 2017-09-25 | 一种应用行为分析方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558303B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981943A (zh) * | 2012-10-29 | 2013-03-20 | 新浪技术(中国)有限公司 | 监控应用日志的方法及系统 |
CN106682101A (zh) * | 2016-12-05 | 2017-05-17 | 福建天晴数码有限公司 | 一种数据库脚本运行异常检测的方法及系统 |
CN106844634A (zh) * | 2017-01-19 | 2017-06-13 | 福建天泉教育科技有限公司 | 一种数据库事务优化方法及系统 |
CN107016016A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303769B2 (en) * | 2014-01-28 | 2019-05-28 | Somol Zorzin Gmbh | Method for automatically detecting meaning and measuring the univocality of text |
US9928264B2 (en) * | 2014-10-19 | 2018-03-27 | Microsoft Technology Licensing, Llc | High performance transactions in database management systems |
CN105512244B (zh) * | 2015-11-30 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN106168983B (zh) * | 2016-08-08 | 2019-12-20 | 中国农业银行股份有限公司 | 一种混合资源处理方法及装置 |
-
2017
- 2017-09-25 CN CN201710875743.7A patent/CN109558303B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981943A (zh) * | 2012-10-29 | 2013-03-20 | 新浪技术(中国)有限公司 | 监控应用日志的方法及系统 |
CN107016016A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
CN106682101A (zh) * | 2016-12-05 | 2017-05-17 | 福建天晴数码有限公司 | 一种数据库脚本运行异常检测的方法及系统 |
CN106844634A (zh) * | 2017-01-19 | 2017-06-13 | 福建天泉教育科技有限公司 | 一种数据库事务优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109558303A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996558B2 (en) | Method and system for accessing a set of data tables in a source database | |
US11243924B2 (en) | Computing the need for standardization of a set of values | |
CN112199366A (zh) | 数据表处理方法、装置及设备 | |
US9390176B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
CN112395881B (zh) | 物料标签的构建方法、装置、可读存储介质及电子设备 | |
US9002902B2 (en) | Techniques for constructing minimum supersets of test data from relational databases | |
CN110909126A (zh) | 一种信息查询方法及装置 | |
CN115879017A (zh) | 一种电力敏感数据自动化分类分级方法、装置及存储介质 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
CN109656947B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN116628023B (zh) | 等待事件类型查询方法、装置、存储介质和电子设备 | |
CN109558303B (zh) | 一种应用行为分析方法、装置及电子设备 | |
CN116610567A (zh) | 应用程序异常的预警方法、装置、处理器以及电子设备 | |
CN110580170A (zh) | 软件性能风险的识别方法及装置 | |
CN114090558A (zh) | 针对数据库的数据质量管理方法和装置 | |
CN110895529B (zh) | 结构化查询语言的处理方法及相关装置 | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
US20230169052A1 (en) | Methods, systems, and computer readable media for utilizing machine learning for merging duplicate data records | |
CN114692595B (zh) | 一种基于文本匹配的重复冲突方案检测方法 | |
WO2008099143A2 (en) | Method, computer apparatus and computer program for identifying unusual combinations of values in data | |
CN113010521A (zh) | 异地交易业务的处理方法及装置、计算机可读存储介质 | |
CN118331964A (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 |