CN110442516B - 信息处理方法、设备及计算机可读存储介质 - Google Patents
信息处理方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110442516B CN110442516B CN201910634061.6A CN201910634061A CN110442516B CN 110442516 B CN110442516 B CN 110442516B CN 201910634061 A CN201910634061 A CN 201910634061A CN 110442516 B CN110442516 B CN 110442516B
- Authority
- CN
- China
- Prior art keywords
- information
- sql
- feature
- target
- data
- 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 abstract description 145
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000011156 evaluation Methods 0.000 claims abstract description 161
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012549 training Methods 0.000 claims description 107
- 238000012545 processing Methods 0.000 claims description 75
- 238000004140 cleaning Methods 0.000 claims description 35
- 238000004422 calculation algorithm Methods 0.000 claims description 31
- 238000012360 testing method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000007637 random forest analysis Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000012552 review Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 238000009826 distribution Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 241000448472 Gramma Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000009466 transformation 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/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- 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
Abstract
本申请公开了一种信息处理方法、设备及计算机可读存储介质,应用于人工智能技术领域。其中,该方法包括:获取待评估的目标SQL文本信息,提取所述目标SQL文本信息的特征信息,并将所述目标SQL文本信息的特征信息输入至信息处理模型,以得到所述目标SQL文本信息对应的目标评估结果信息,所述目标评估结果信息用于指示所述目标SQL文本的性能。采用本申请,有助于提升SQL性能评估的效率和准确性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种信息处理方法、设备及计算机可读存储介质。
背景技术
在项目上线前,需要对项目的结构化查询语言(Structured Query Language,SQL)代码进行审核review,以确保SQL性能。然而,目前一般是通过资深技术人员进行SQLreview的,导致人工成本较高,且review效率较低。尤其是在项目较大时,需要投入线性增长的资深技术人员进行SQL review,人工成本大。而且,review的准确性依赖于人工的技术水平,由于技术人员技术水平参差不齐,可能导致review准确性较低。。
发明内容
本申请实施例提供一种信息处理方法、设备及计算机可读存储介质,有助于提升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是本申请实施例提供的一种信息处理方法的流程示意图;
图2是本申请实施例提供的另一种信息处理方法的流程示意图;
图3是本申请实施例提供的一种特征提取方式的示意图;
图4是本申请实施例提供的一种数据清理方式的示意图;
图5是本申请实施例提供的一种SQL文本处理方式的示意图;
图6是本申请实施例提供的一种信息处理设备的结构示意图;
图7是本申请实施例提供的另一种信息处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请的技术方案可应用于信息处理设备中,该信息处理设备可包括服务器、终端、机器人或其他设备,用于对SQL文本(或者称为SQL语句、SQL代码、SQL、sqlmap等)进行性能评估(审核、review、预测)等等。本申请涉及的终端可以是手机、电脑、平板、个人计算机等,本申请不做限定。
很多系统如交易系统(比如金融、电商)一般都是基于关系型数据库进行构建的。在关系型数据库中SQL的性能直接关系到了系统的可用率、稳定性和用户体验。如果SQL的性能较差,可能引发严重性能问题,比如导致系统稳定性差,甚至不可用。为了避免出现性能较差的SQL发到生产引发严重性能问题,需要在项目/功能/系统上线前,对SQL进行review,即对SQL进行性能评估,以确保SQL性能。
相比于基于人工进行SQL review的方式,本申请在实现对SQL文本信息的性能评估时,也即在进行SQL review时,能够通过提取SQL文本信息的特征信息,将该SQL文本信息的特征信息输入至预先训练好的信息处理模型来快速获取对该SQL文本的评估结果信息,以便于根据该评估结果信息确定该SQL文本的性能,由此提升了SQL性能评估的效率,且该方式有助于提升SQL性能评估的准确性,使得SQL性能评估的可靠性较高,并降低了人工成本。以下分别详细说明。
请参见图1,图1是本申请实施例提供的一种信息处理方法的流程示意图。具体的,本实施例的技术方案可应用于上述的信息处理设备中。如图1所示,该信息处理方法可以包括以下步骤:
101、获取待评估的目标SQL文本信息。
其中,该目标SQL文本信息是指待进行性能评估的SQL文本即目标SQL文本的信息,比如在项目/功能/系统上线前,需要对项目/功能/系统的SQL文本进行评估,以确保SQL性能。
可选的,该目标SQL文本信息可包括以下任一项或多项:目标SQL文本、执行计划、该目标SQL文本对应的访问对象的数据字典、该访问对象的统计信息、目标SQL的词频信息、该目标SQL调用的数据库的信息等等。该统计信息可包括数据量、数据分布等信息。该词频信息可包括该目标SQL文本的分词、每个分词(或语句等)出现的频率信息、出现频率高(如出现的频率高于预设阈值或出现频率处于前K等等,K为大于0的整数)的分词及其频率信息等信息中的任一项或多项。
102、提取该目标SQL文本信息的特征信息。
其中,该特征信息可包括以下任一项或多项:该目标SQL的词频信息、执行计划、调用的数据库的信息等等。该词频信息和调用的数据库等信息可以通过解析SQL文本信息如目标SQL文本得到。在一些实施例中,该特征信息还可包括该目标SQL文本对应的访问对象的数据字典、该访问对象的统计信息等等。该特征信息可以是按照预设的提取规则提取出的。
在一些实施例中,该预设的提取规则可以是根据使用的信息处理模型的训练特征信息提取特征信息的规则;也就是说,根据该信息处理模型所采用的训练特征信息,提取该目标SQL文本信息的特征信息,该目标SQL文本信息的特征信息与该训练特征信息相匹配。比如提取出的特征信息包括该使用的信息处理模型的训练特征信息中的所有特征(可以仅包括该训练特征信息中的所有特征,也可以包括训练特征信息中的所有特征以及其他的特征)。如果预先训练有多个信息处理模型,则可预先设置得到使用的模型与提取的特征信息之间的对应关系,根据确定出的使用的信息处理模型提取特征信息。从而能够根据使用的模型的不同实现提取特征进行SQL性能评估,以提升SQL性能评估的可靠性。
在一些实施例中,该预设的提取规则可以是提取固定特征信息的规则,即该特征信息可以包括固定的特征,比如固定包括该目标SQL的词频信息、执行计划和目标SQL调用的数据库的信息。该固定的特征可以包括各种场景或模型使用的全部特征,从而能够实现无需区分模型或场景,基于固定的特征快速进行SQL性能评估。
在一些实施例中,该预设的提取规则可以是根据SQL类型提取特征信息的规则,比如可以预先设置得到不同SQL类型与提取的特征信息之间的对应关系,进而根据目标SQL的类型提取特征信息。从而能够根据SQL类型的不同实现提取特征进行SQL性能评估。可选的,该目标SQL文本信息还可包括该目标SQL的类型,或者,该目标SQL的类型还可通过其他方式获取得到,比如输出类型提示信息以供用户选择目标SQL的类型,或者,根据目标SQL文本信息解析得到SQL的类型,等等,此处不一一列举。
103、将该目标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样本信息,比如以数据库管理员(Database Administrator,DBA)在生产环境真实人工SQL review的数据作为样本。可选的,该多组SQL样本信息的数量和/或类型可以根据待训练的信息处理模型的应用场景或准确度指标确定出。例如,准确度要求越高,选取的SQL样本信息(简称样本)的数量越多,具体可预先设置得到准确度指标区间和样本数量的对应关系,以便于根据待训练的信息处理模型的准确度指标所属的指标区间来确定选取的样本的数量;又如,可预先设置应用场景标签与样本数量的对应关系,以便于根据信息处理模型的应用场景标签确定选取的样本的数量;又如,可预先设置应用场景标签与样本类型和样本数量的对应关系,以便于根据信息处理模型的应用场景标签确定选取的样本类型和样本的数量,进而根据该选取的样本类型和样本的数量来获取样本。或者,选取该数据库中预设比例如80%的SQL样本信息以用于模型训练。对于样本选取的方式,本申请不做限定。
在一些实施例中,在该利用该多组SQL样本信息对应的训练特征信息和评估结果信息训练得到该信息处理模型之后,还可对该信息处理模型进行验证,即检验该信息处理模型的评估效果,在确定评估准确度较高时验证通过。例如,可以从该数据库获取预设数量的SQL样本信息(测试集),该预设数量的SQL样本信息与该多组SQL样本信息(训练集)不同,即选取区别于用于模型训练的样本;分别将该预设数量的SQL样本信息输入至该信息处理模型,以得到每组SQL样本信息对应的测试结果信息,该测试结果信息可用于指示SQL样本的性能;将每组SQL样本信息对应的测试结果信息与该数据库中存储的该SQL样本的评估结果信息进行匹配(两者相同或者两者之间的误差处于预设范围内),以确定该信息处理模型对该预设数量的SQL样本信息的评估准确率(如测试结果信息与评估结果信息匹配的SQL样本的数量与测试集样本总数量的比值);如果评估准确率不小于预设准确率阈值,则可表明该信息处理模型验证通过。进一步的,如果该评估准确率小于预设准确率阈值,则可按照预设的修正规则对该信息处理模型进行修正。比如重新选取SQL样本信息对该信息处理模型进行训练,以实现对该信息处理模型的修正。
也就是说,在训练得到该信息处理模型之后,还可从该数据库中选取区别于该用于模型训练的SQL样本信息(训练集)以外的多组SQL样本信息(测试集),比如该SQL数据库中剩余20%的SQL样本信息,用于评估该训练后的信息处理模型的准确性。信息处理模型对SQL性能的评估和资深DBA的判断、以及SQL在生产环境的性能表现(即数据库中存储的评估结果信息)越一致,AI训练的效果和准确度越好。具体可将该多组SQL样本信息输入该训练后的信息处理模型,以得到每组SQL样本信息对应的评估结果信息,即测试结果信息,并将得到的评估结果信息与数据库中该SQL样本信息对应的评估结果信息进行匹配比较,如果两者匹配,则可确定对该组SQL样本信息对应的SQL样本的评估准确,否则不准确,从而可以根据该多组SQL样本信息中评估准确的SQL样本信息的数量和该多组SQL样本信息的总数量,计算得到该信息处理模型对该多组SQL样本信息的评估准确率(如评估准确的SQL样本信息的数量占该总数量的百分比)。进一步的,如果该准确率低于预设准确率阈值,还可以继续搜集一定数量的SQL样本对该信息处理模型进行进一步的训练,并检测其准确率,直到该信息处理模型的准确率达到该准确率阈值,以实现对该信息处理模型的修正。可选的,在对该信息处理模型进行修正时,还可通过统计不准确的SQL样本的类型,进而获取该类型的SQL样本实现对该信息处理模型的针对性训练,提升训练效果。
在本实施例中,对于待评估的SQL文本信息,信息处理设备能够通过提取该SQL文本信息的特征信息,进而将该SQL文本信息的特征信息输入至预先训练的信息处理模型,以快速获得该SQL文本的评估结果,从而基于该评估结果确定该SQL文本的性能,这就提升了SQL性能评估的效率,且有助于提升SQL性能评估的准确性。
请参见图2,图2是本申请实施例提供的另一种信息处理方法的流程示意图。具体的,如图2所示,该信息处理方法可以包括以下步骤:
201、从数据库获取多组SQL样本信息以及每组SQL样本信息对应的评估结果信息。
其中,SQL样本信息可包括以下任一项或多项:SQL文本(样本)、SQL执行计划、SQL访问对象的数据字典以及SQL访问对象的统计信息、SQL的词频信息、SQL调用的数据库的信息等等等。该评估结果信息可用于指示SQL样本的性能,比如可包括SQL样本的执行效率、SQL样本的评分、SQL样本的性能等级、SQL性能为优(或差)的概率以及针对SQL样本的处理策略等。
202、获取该多组SQL样本信息对应的训练特征信息。
其中,该训练特征信息可包括以下任一项或多项:SQL原始词频信息、执行计划、SQL调用的数据库的信息、资深技术人员提供的经验特征等等。在一些实施例中,该特征信息还可包括该目标SQL文本对应的访问对象的数据字典、该访问对象的统计信息等等。
在获取该多组SQL样本信息对应的训练特征信息时,可分别从该多组SQL样本信息中提取生特征信息,并可将该生特征信息作为该训练特征信息。其中,该生特征信息可包括SQL样本的词频信息、执行计划和该SQL样本调用的数据库的信息等特征。因一个SQL的好坏不单单取决于SQL的编码(coding)的质量,很大程度上也与SQL背后调用的数据库有关。可选的,该词频信息可以包括多个特征的信息,如对该多组SQL样本信息进行分词处理后统计得到的出现频率较高(频率高于预设阈值或出现频率处于前K)的分词及频率,或者出现频率较高的查询语句、更新语句、定义语句、控制语句及频率等,或者可以包括各分词或语句及其频率等。该分词处理对应的分词方法可以为结巴分词或斯坦福分词法或其他分词方法,本申请不做限定。
在可选的实施例中,在提取到生特征信息之后,还可对提取到的生特征信息进行数据清理处理,以得到该数据清理处理后的生特征信息,并可将该数据清理处理后的生特征信息作为该训练特征信息。其中,该数据清理处理包括删除数据或补全数据。可选的,在对提取到的生特征信息进行数据清理处理时,可统计提取到的生特征信息包括的各个特征的数据量信息,该数据量信息包括特征对应的缺失数据量和总数据量;根据各个特征的数据量信息确定每个特征的数据丢失率,并将每个特征的数据丢失率与预设的丢失率阈值进行比较,每个特征的数据丢失率和丢失率阈值一一对应;如果任一特征的数据丢失率大于或等于对应的丢失率阈值,则可删除丢失率大于或等于该丢失率阈值的特征;如果任一特征的数据丢失率小于该丢失率阈值,则可按照预设的数据补全方式对丢失率小于该丢失率阈值的特征的数据进行补全处理。比如可按照该特征的均值进行数据补全,或者按照预先设置的与该特征对应的值进行数据补全等等。
在可选的实施例中,在获取得到该数据清理处理后的生特征信息之后,还可采用变分自编码器如VAEs(variational auto-encoder)算法对该数据清理处理后的生特征信息进行处理,得到该变分自编码器算法处理后的生特征信息,并可将该变分自编码器算法处理后的生特征信息作为该训练特征信息,即将经过该变分自编码器算法处理选取的生特征信息如稀疏度低于预设稀疏度阈值或稀疏度最低的前M个的特征作为训练特征。其中,M为大于0的整数。
在可选的实施例中,在获取得到该变分自编码器算法处理后的生特征信息之后,还可采用随机森林算法如Bagging算法从该变分自编码器算法处理后的生特征信息中选择出该训练特征信息,比如采用随机森林算法确定出该变分自编码器算法处理后的生特征信息中各特征的权重,并从中选择权重高于预设权重阈值或者选择权重最高的前L个特征作为该训练特征信息。其中,L为大于0的整数。
举例来说,为了确保模型简单,我们希望我们挖掘到的特征与资深BDA的sqlreview result即上述的评估结果信息有明显的线性相关性。由此设计了以下特征提取流程,具体可结合图3所示,以获取得到该线性相关的训练特征信息(该训练特征信息还可以是预先提取并存储于数据库的,此处不赘述):
1)从该SQL样本信息中提取生特征信息,该生特征信息包括SQL词频信息、ORACLE执行计划(执行计划可以是一条查询语句在Oracle中的执行过程或访问路径的描述等)、调用的数据库信息等。
2)对提取到的生特征信息进行数据清理。该数据清理包括删除数据、补全数据等。
由于一个SQL的特征来源于多个方面,这常常会造成特征采集不完全的问题,比如部分特征为空null,导致采集不全。由此,在获取得到生特征信息之后,可以对该生特征信息进行数据清理,包括:删除数据、补全数据等等,具体可结合数据缺失程度来确定清理方式,比如在某个特征的数据缺失程度较高时,则删除该特征,在某特征的数据缺失程度较低时,可补全该特征。例如,假设通过丢失率(missing rate)来指示数据缺失程度,其中,Nmissing为缺失数据量如缺失该特征的数据或样本的数量,Ntotal为总数据量如数据总量或样本总数量,并可预先设置一个丢失率阈值。如果丢失率大于该丢失率阈值如50%,即丢失率较高时,则可表明该SQL样本的特征已经失去统计意义,可删除该特征;如果丢失率低于该阈值,即丢失率较低时,则可尝试补全特征数据,比如使用均值来填充缺失数据。可选的,在尝试补全数据时,可进一步结合数据量的大小实现对缺失数据的补全处理,比如在统计信息足够的情况下(比如大于预设数据量阈值,如上百万级别的数据)可基于历史的缺失数据和补全数据预先训练得到生成模型,以便于使用生成模型进行数据补全;如果数据量比较小(比如小于数据量阈值如1万左右),表明数据统计信息不足,则可放弃数据补全而直接删除该特征。例如,该数据清理的示意图可以如图4所示。
3)对经过数据清理的生特征信息进行VAES分析,得到VAES分析后的生特征信息。
可选的,在获取到生特征信息之后,或者进行数据清理之后,可根据生特征信息建立生特征矩阵。通常生特征矩阵维度都非常高且极其稀疏(往往单词频特征就有一万以上维度),这给特征分析带来了极大的不便。同时我们又希望能从这些特征里提取出非线性信息,因此可以使用基于深度学习的降维模型VAES(variational auto-encoder)对该生特征进行降维处理。与传统降维模型相比,auto-encoder有很强的可塑性(几乎可以拟合任何概率密度方程),同时VAEs与其他auto-encoder相比有很强的抗噪和平滑能力。
具体的,使用VAES进行降维处理之后,可以实现数据可视化,从而可观测数据概率分布(即将高位数据映射到低位空间来进行观察);并可实现对原始特征做非线性变换,从而变换后的特征可以线性可分。由此实现对生特征的评估。一般认为好的特征可以出现明显的聚类且可分的效果,稀疏度小;如果数据分布非常稀疏,稀疏度大,则可以判定数据的统计信息不全(造成这样的原因可能是数据太少或者数据采样不平均,也很可能是生特征不好),则可丢弃该特征。则由此可删除稀疏度大于阈值的特征,保留稀疏度小于阈值的特征;或者可判断VAES处理后的特征的数据概率分布是否满足预设的概率分布条件,并在满足时保留特征,否则删除特征;或者,可判断特征数据的密度是否大于预设的密度阈值,如果大于,则可保留该特征,否则可删除该特征;或者,可获取特征数据的聚类参数,判断其聚类参数是否满足预设参数条件,即是否达到预设聚类效果,如果是,则可保留该特征,否则可删除该特征,等等,此处不一一列举。
在其他可选的实施例中,设备还可基于划分法、层次法、基于网格的方法、基于模型的方法等实现特征聚类分析。
4)对VAES分析后的生特征信息进行Bagging特征选择,以得到该训练特征信息。
为了确保模型的泛化能力,在生特征通过了VAES分析之后,即得到VAES分析后的生特征信息之后,可以采用Bagging算法对生特征做进一步的筛选,即基于特征的权重来进行特征选择。如果一个特征的权重比较大,那么认为这个特征对于最终的模型训练具有比较大的贡献,则可保留该特征;而一个特征的权重比较小,那么可认为这个特性对于最后的结果贡献不大,则可丢弃该特征。具体可基于支持向量机(Support Vector Machine,SVM)或主成分分析(Principal Component Analysis,PCA)的属性权重赋值方法等,利用该生特征信息和评估结果信息确定出各特征的权重。进而可删除权重小的特征,如删除权重小于预设阈值如0.1的特征。
可选的,在进行Bagging处理之前,还可通过DBSCAN(Density-Based SpatialClustering of Applications with Noise,一种基于密度的聚类算法)算法获取特征与评估结果信息的相关性,筛选出相关性高(如相关度高于预设相关度阈值,或者相关度最前的前J个特征,J为大于0的整数)的特征之后再对筛选出的进行Bagging处理。由此可以进一步提升筛选出的训练特征的可靠性。
在可选的实施例中,在进行特征提取时,还可通过数据清理和/或VAEs分析和/或DBSCAN算法和/或Bagging算法来确定出该训练特征信息。
203、利用该多组SQL样本信息对应的训练特征信息和评估结果信息训练得到该信息处理模型。
在获取得到该多组SQL样本信息对应的训练特征信息和对应的评估结果信息之后,即可进行模型训练,得到训练后的信息处理模型。该训练后的信息处理模型可用于检测输入的SQL文本的性能。
在模型训练过程中,经常会存在数据分布不均匀的情况,导致训练出的模型存在很大的偏见(high bias),即模型的鲁棒性差。为了确保模型的鲁棒性,在模型选择上可以使用简单易懂的线性模型。且在模型选择上可以不用主流的频率派模型,而使用贝叶斯派模型,即P(Y|X)~P(X|Y)P(Y)。因这种不均匀并不能代表坏SQL的实际分布,常用的数据处理方法如上/下采样、权重方法等可能不适用于此类问题。贝叶斯派的一个优点是可以加入一些先验知识(P(X|Y))从而降低对数据数量的依赖,并可在一定程度上确保了模型结果更接近与资深DBA的判断。由此,可获取资深DBA的经验数据如评估结果信息作为先验。在模型训练之后,还可获取一定数量的SQL样本信息作为测试集对该模型进行测试,此处不赘述。在实际表现中我们发现该模型能够达到和资深技术人员如DBA判断完全一致甚至更优的结果,且不会过拟合。实验表明,在经过训练之后,模型对测试集与训练集的评估误差均降到了0。
此外,还可模拟资深DBA给出性能较差的SQL的优化建议,即针对性能较差的SQL的处理策略。可选的,由于资深DBA根据不同场景给出的优化建议种类非常繁多,这部分可能存在原始建议数据不足的问题,为了让深度学习框架可以找到SQL的训练特征信息和优化建议之间的相关性,可通过对sqlmap对SQL或者对性能较差的SQL进行多版本改造,来模拟各种问题场景,以增加建议数据,增加样本数据,让深度学习框架有更好的底层数据进行训练。
在一些实施例中,该信息处理模型可分为判断模型和建议模型,该判断模型可用于评估SQL文本的性能,该建议模型可用于确定对SQL的处理策略如针对性能较差的SQL的处理策略。
在一些实施例中,还可通过状态机整合对SQL的处理策略如优化建议的语言习惯,以构建一个上下文本语法机器如Context free gramma,即建议模型的核心是基于资深DBA的优化建议生成一个Context free gramma。可选的,设备可在判断模型确定出SQL性能较差,比如判断得到SQL性能为优的概率低于第一阈值、SQL性能为差的概率高于第二阈值、SQL文本的评分低于第三阈值或SQL文本的性能等级低于预设等级时,触发建议模型输出建议。可选的,该状态机可分为有限状态机和无限状态机,其可根据处理策略如建议的种类和/或数量来确定,比如在处理策略的数量低于预设数量阈值时,采用有限状态机;又如在处理策略的数量不低于预设数量阈值,且处理策略的种类高于预设类别阈值时,采用无限状态机,等等,此处不一一列举。进一步可选的,在数量较小时,状态机可以人工设计;在数量很大时(如十万级数据及以上),可以使用概率图模型来生成状态。
204、获取待评估的目标SQL文本信息。
其中,该目标SQL文本信息可包括以下任一项或多项:目标SQL文本、执行计划、该目标SQL文本对应的访问对象的数据字典以及该访问对象的统计信息等等。
205、提取该目标SQL文本信息的特征信息。
其中,该特征信息可包括以下任一项或多项:该目标SQL的词频信息、执行计划、该目标SQL调用的数据库的信息等等。该目标SQL的特征信息可以根据使用的信息处理模型的训练特征信息来实现特征快速提取,比如和训练特征的类型相同;或者,可以基于上述的训练特征信息提取方式提取该目标SQL的特征信息,等等,此处不一一列举。
206、将该目标SQL文本信息的特征信息输入至该信息处理模型,以得到该目标SQL文本信息对应的目标评估结果信息。
在一些实施例中,该信息处理模型(或建议模型)还可确定针对该目标SQL文本信息的处理策略,该处理策略可以是对该目标SQL文本的优化建议。例如,该目标评估结果信息包括该目标SQL文本信息的执行效率,当检测到该目标SQL文本信息的执行效率低于预设阈值时,信息处理模型(或建议模型)可输出预设的处理策略,该处理策略可携带于该目标评估结果信息中,或者为独立于该目标评估结果信息的信息。又如可预设多个处理策略,当该目标SQL文本的执行效率处于第一效率区间(如大于第一效率值且小于或等于第二效率值的效率区间)时,输出预设的第一处理策略,当该目标SQL文本的执行效率处于第二效率区间(如大于第二效率值且小于或等于第三效率值的效率区间,第一效率值小于第二效率值,第二效率值小于第三效率值)时,输出预设的第二处理策略;以此类推,此处不赘述。
举例来说,如图5所示,获取到SQL文本之后,可提取该SQL文本的特征信息如生特征信息,进而通过对该生特征信息进行数据清理、VAEs分析、bagging特征选择等特征工程处理后,得到该SQL的特征,进而可将该特征输入至信息处理模型,通过判断模型评估该SQL的性能,并通过建议模型确定对该SQL的处理策略(建议),以得到AI结论,即用于指示该SQL性能的信息以及对该SQL的处理策略等等,以便于根据该性能信息和处理策略对该SQL进行优化处理,确保SQL的性能。
在一些实施例中,该信息处理模型可设置于AI sql review系统,系统上线后还可以进一步采集用户使用的SQL文本信息及其评估结果作为训练数据,以实现对该信息处理模型的优化,提升模型评估的准确率。
其中,该步骤204-206的描述还可参照上述图1所示实施例中步骤101-103的相关描述,此处不赘述。
207、判断该目标SQL文本信息是否满足预置的多个用于判断SQL性能的规则,得到判断结果,并根据该判断结果生成规则评估结果信息,该规则评估结果信息用于指示该目标SQL文本的性能。
208、检测该目标评估结果信息与该规则评估结果信息是否匹配。
209、如果该目标评估结果信息与该规则评估结果信息不匹配,丢弃该目标评估结果信息,并将该目标SQL文本信息发送给指定设备。
在一些实施例中,该系统中还可包括规则引擎模块,其预置有多个用于判断SQL性能的规则,如包括技术层规则、平台级规则、嵌入式规则等等,用于从各个维度判断SQL的性能。可选的,在深度学习模型确定出对该目标SQL文本的评估结果之后,还可通过该规则引擎模型评估该目标SQL文本的性能,即判断该目标SQL文本是否满足该多个用于判断SQL性能的规则,得到评估结果。进而可将该规则引擎模块对应的评估结果和该信息处理模型对应的评估结果进行匹配比较,如果两者的评估结果匹配,则将该评估结果作为最终结果。也就是说,只有在深度学习模型和规则引擎判定结果一致的情况下,才会得到对该目标SQL文本的SQL性能的最终评估结果,即将模型输出得到的目标评估结果作为该目标SQL的性能评估结果;如果不一致,可以控制丢弃对该目标SQL文本的评估结果信息,并可进一步将该目标SQL文本信息发送给指定设备,以移交给DBA进行人工处理。
在一些实施例中,还可记录规则引擎模块对应的评估结果和该信息处理模型对应的评估结果不一致的SQL文本,并统计该评估结果不一致的SQL文本的类型,针对该类型选取SQL样本对该深度学习模型进行修正。进一步的,还可定位该规则引擎模块中不匹配的规则(即引起匹配结果不一致所涉及的规则),并将该不匹配的规则及该SQL文本发送至指定设备,以便于DBA对该规则进行修正。
在一些实施例中,在进行模型训练时,可以基于特征向量实现模型训练,比如在获取到生特征信息之后,将生特征信息转换为生特征向量,并从该生特征向量中提取训练特征向量,或者可在获取到训练特征信息之后,再将训练特征信息转换为训练特征向量,以基于该训练特征向量和评估结果信息来训练该信息处理模型,以降低训练复杂度,提升训练效果。在使用信息处理模型进行SQL性能评估时,也可获取目标SQL的特征向量,将该特征向量输入至该信息处理模型进行处理,以得到该目标SQL的评估结果信息。其中,向量转换的方式可以为多种。例如,可使用预先收集的各种SQL语料(可以是各个SQL分词)对连续词袋模型(CBOW模型)结构进行训练,训练得到输入为语料、输出为词向量的模型,进而可以通过将该特征信息输入该模型,以得到特征信息对应的向量。或者还可采用其他向量转换方式,本申请不做限定。
在一些实施例中,在SQL开发阶段,在编写sqlmap或SQL代码时,需要对表的数据量、字段的数据分布、SQL的编写技巧、执行计划(关联方式、驱动表、连接顺序、子查询等)等进行调优,确保代码编写完成时SQL性能如执行效率可靠。如果开发团队庞大,开发人员水平参差不齐,很难确保所有开发都精通SQL的调优,这就可能导致生产环境SQL的性能较差。由此,可基于历史调优数据生成多个SQL标准文本,每个SQL类型(或版本或应用场景等)对应一个SQL标准文本,该SQL标准文本包括多个调优策略。进而可通过获取待调优的SQL的类型(或版本或应用场景等),利用与该与该待调优的SQL的类型(或版本或应用场景等)对应的SQL标准文本中的调优策略对该SQL进行调优,以实现智能调优。
在一些实施例中,在SQL测试阶段,一般只会对固定几个核心接口进行性能压力测试以发现存在性能问题的sqlmap或SQL。因为压测测试的成本较高,需要准备大量的测试数据,且很难覆盖到全部场景、全部接口和全部SQL,导致很难在压测环境发现生产环境的问题。由此,本申请可针对不同类型或版本的SQL,或者针对不同场景,选择不同的接口进行压测,以在节省成本的同时提升压测可靠性。具体可预先配置得到SQL类型(或版本或应用场景等)和接口之间的对应关系,以基于SQL类型(或版本或应用场景等)快速确定需要测试的接口。该对应关系可以是针对不同SQL类型(或版本或应用场景等)下进行不同接口测试,统计出的发生过问题或发生问题频率高的接口确定出的。
在本实施例中,信息处理设备能够通过获取SQL样本信息对应的训练特征信息,基于多组SQL样本信息对应的训练特征信息和评估结果信息训练得到信息处理模型,使得后续在进行SQL review时,能够通过提取该SQL的特征信息,进而将该SQL的特征信息输入至该信息处理模型以获取得到对该SQL的评估结果信息,以便于根据该评估结果信息确定出该SQL的性能,由此提升了SQL性能评估的效率和准确性,并且能够进一步结合SQL是否满足多个用于判断SQL性能的规则的结果,来进一步确保评估结果的准确性,使得性能评估结果的可靠性较高。
上述方法实施例都是对本申请的信息处理方法的举例说明,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
请参见图6,图6是本申请实施例提供的一种信息处理设备的结构示意图。本申请实施例的信息处理设备包括用于执行上述信息处理方法的单元(或模块)。具体的,本实施例的信息处理设备600可包括:获取单元601和处理单元602。其中,
获取单元601,用于获取待评估的目标结构化查询语言SQL文本信息,所述目标SQL文本信息包括以下任一项或多项:目标SQL文本、执行计划、所述目标SQL文本对应的访问对象的数据字典以及所述访问对象的统计信息;
获取单元601,还用于提取所述目标SQL文本信息的特征信息,所述特征信息包括以下任一项或多项:所述目标SQL的词频信息、执行计划、所述目标SQL调用的数据库的信息;
处理单元602,用于将所述目标SQL文本信息的特征信息输入至信息处理模型,以得到所述目标SQL文本信息对应的目标评估结果信息;其中,所述信息处理模型是基于多组SQL样本信息和每组SQL样本信息对应的评估结果信息训练得到的,所述目标评估结果信息用于指示所述目标SQL文本的性能。
可选的,获取单元601,还用于从数据库获取多组SQL样本信息以及每组SQL样本信息对应的评估结果信息,每组SQL样本信息包括以下任一项或多项:SQL文本、SQL执行计划、SQL访问对象的数据字典以及SQL访问对象的统计信息,所述评估结果信息用于指示SQL样本的性能;
获取单元601,还用于获取所述多组SQL样本信息对应的训练特征信息;其中,所述训练特征信息包括以下任一项或多项:SQL词频信息、执行计划以及SQL调用的数据库的信息;
处理单元602,还用于利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型,训练后的信息处理模型用于检测输入的SQL文本的性能。
可选的,所述获取单元601具体用于:分别从所述多组SQL样本信息中提取生特征信息,所述生特征信息包括SQL样本的词频信息、执行计划和所述SQL样本调用的数据库的信息;
所述处理单元602,还可用于对提取到的生特征信息进行数据清理处理,以得到所述数据清理处理后的生特征信息,所述数据清理处理包括删除数据或补全数据;采用变分自编码器算法对所述数据清理处理后的生特征信息进行处理,得到所述变分自编码器算法处理后的生特征信息;采用随机森林算法从所述变分自编码器算法处理后的生特征信息中选择出所述训练特征信息。
可选的,所述处理单元602在对提取到的生特征信息进行数据清理处理时,具体用于:统计提取到的生特征信息包括的各个特征的数据量信息,所述数据量信息包括特征对应的缺失数据量和总数据量;根据各个特征的数据量信息确定每个特征的数据丢失率,并将每个特征的数据丢失率与预设的丢失率阈值进行比较,每个特征的数据丢失率和丢失率阈值一一对应;如果任一特征的数据丢失率大于或等于对应的丢失率阈值,删除丢失率大于或等于所述丢失率阈值的特征;如果任一特征的数据丢失率小于所述丢失率阈值,按照预设的数据补全方式对丢失率小于所述丢失率阈值的特征的数据进行补全处理。
所述获取单元601,具体用于根据所述信息处理模型所采用的训练特征信息,提取所述目标SQL文本信息的特征信息,所述目标SQL文本信息的特征信息与所述训练特征信息相匹配。
可选的,所述处理单元602,还用于判断所述目标SQL文本信息是否满足预置的多个用于判断SQL性能的规则,得到判断结果,并根据所述判断结果生成规则评估结果信息,所述规则评估结果信息用于指示所述目标SQL文本的性能;检测所述目标评估结果信息与所述规则评估结果信息是否匹配;如果所述目标评估结果信息与所述规则评估结果信息不匹配,丢弃所述目标评估结果信息,并将所述目标SQL文本信息发送给指定设备。
可选的,所述获取单元601,还用于在所述利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型之后,从所述数据库获取预设数量的SQL样本信息,所述预设数量的SQL样本信息与所述多组SQL样本信息不同;
所述处理单元602,还用于分别将所述预设数量的SQL样本信息输入至所述信息处理模型,以得到每组SQL样本信息对应的测试结果信息;将每组SQL样本信息对应的测试结果信息与所述数据库中存储的评估结果信息进行匹配,以确定所述信息处理模型对所述预设数量的SQL样本信息的评估准确率;如果所述评估准确率小于预设准确率阈值,按照预设的修正规则对所述信息处理模型进行修正。
具体的,该信息处理设备可通过上述单元实现上述图1至图2所示实施例中的信息处理方法中的部分或全部步骤。应理解,本申请实施例是对应方法实施例的装置实施例,对方法实施例的描述,也适用于本申请实施例,此处不赘述。
请参见图7,图7是本申请实施例提供的另一种信息处理设备的结构示意图。该信息处理设备用于执行上述的方法。如图7所示,本实施例中的信息处理设备700可以包括:一个或多个处理器701和存储器702。可选的,该信息处理设备还可包括一个或多个通信接口703,和/或,一个或多个用户接口704。上述处理器701、通信接口703、用户接口704和存储器702可通过总线705连接,或者可以通过其他方式连接,图4中以总线方式进行示例说明。其中,存储器702用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器702存储的程序指令。
其中,处理器701可用于调用所述程序指令执行以下步骤:获取待评估的目标结构化查询语言SQL文本信息,所述目标SQL文本信息包括以下任一项或多项:目标SQL文本、执行计划、所述目标SQL文本对应的访问对象的数据字典以及所述访问对象的统计信息;提取所述目标SQL文本信息的特征信息,所述特征信息包括以下任一项或多项:所述目标SQL的词频信息、执行计划、所述目标SQL调用的数据库的信息;将所述目标SQL文本信息的特征信息输入至信息处理模型,以得到所述目标SQL文本信息对应的目标评估结果信息;其中,所述信息处理模型是基于多组SQL样本信息和每组SQL样本信息对应的评估结果信息训练得到的,所述目标评估结果信息用于指示所述目标SQL文本的性能
可选的,处理器701在执行所述将所述目标SQL文本信息的特征信息输入至信息处理模型之前,还可执行以下步骤:
从数据库获取多组SQL样本信息以及每组SQL样本信息对应的评估结果信息,每组SQL样本信息包括以下任一项或多项:SQL文本、SQL执行计划、SQL访问对象的数据字典以及SQL访问对象的统计信息,所述评估结果信息用于指示SQL样本的性能;
获取所述多组SQL样本信息对应的训练特征信息;其中,所述训练特征信息包括以下任一项或多项:SQL词频信息、执行计划以及SQL调用的数据库的信息;
利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型,训练后的信息处理模型用于检测输入的SQL文本的性能。
可选的,处理器701在执行所述获取所述多组SQL样本信息对应的训练特征信息时,可具体执行以下步骤:
分别从所述多组SQL样本信息中提取生特征信息,所述生特征信息包括SQL样本的词频信息、执行计划和所述SQL样本调用的数据库的信息;
对提取到的生特征信息进行数据清理处理,以得到所述数据清理处理后的生特征信息,所述数据清理处理包括删除数据或补全数据;
采用变分自编码器算法对所述数据清理处理后的生特征信息进行处理,得到所述变分自编码器算法处理后的生特征信息;
采用随机森林算法从所述变分自编码器算法处理后的生特征信息中选择出所述训练特征信息。
可选的,处理器701在执行所述对提取到的生特征信息进行数据清理处理时,可具体执行以下步骤:
统计提取到的生特征信息包括的各个特征的数据量信息,所述数据量信息包括特征对应的缺失数据量和总数据量;
根据各个特征的数据量信息确定每个特征的数据丢失率,并将每个特征的数据丢失率与预设的丢失率阈值进行比较,每个特征的数据丢失率和丢失率阈值一一对应;
如果任一特征的数据丢失率大于或等于对应的丢失率阈值,删除丢失率大于或等于所述丢失率阈值的特征;
如果任一特征的数据丢失率小于所述丢失率阈值,按照预设的数据补全方式对丢失率小于所述丢失率阈值的特征的数据进行补全处理。
可选的,处理器701在执行所述提取所述目标SQL文本信息的特征信息时,可具体执行以下步骤:
根据所述信息处理模型所采用的训练特征信息,提取所述目标SQL文本信息的特征信息,所述目标SQL文本信息的特征信息与所述训练特征信息相匹配。
可选的,处理器701还可执行以下步骤:
判断所述目标SQL文本信息是否满足预置的多个用于判断SQL性能的规则,得到判断结果,并根据所述判断结果生成规则评估结果信息,所述规则评估结果信息用于指示所述目标SQL文本的性能;
检测所述目标评估结果信息与所述规则评估结果信息是否匹配;
如果所述目标评估结果信息与所述规则评估结果信息不匹配,丢弃所述目标评估结果信息,并调用所述通信接口703将所述目标SQL文本信息发送给指定设备。
可选的,处理器701在执行所述利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型之后,还可执行以下步骤:
从所述数据库获取预设数量的SQL样本信息,所述预设数量的SQL样本信息与所述多组SQL样本信息不同;
分别将所述预设数量的SQL样本信息输入至所述信息处理模型,以得到每组SQL样本信息对应的测试结果信息;
将每组SQL样本信息对应的测试结果信息与所述数据库中存储的评估结果信息进行匹配,以确定所述信息处理模型对所述预设数量的SQL样本信息的评估准确率;
如果所述评估准确率小于预设准确率阈值,按照预设的修正规则对所述信息处理模型进行修正。
其中,所述处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口703可包括接收器和发射器,用于与其他设备进行通信。
用户接口704可包括输入设备和输出设备,输入设备可以包括触控板、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。
存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器。例如,存储器702还可以存储上述的多个搜索语句集、每个搜索语句集关联的搜索事件信息等等。
具体实现中,本申请实施例中所描述的处理器701等可执行上述图1至图2所示的方法实施例中所描述的实现方式,也可执行本申请实施例图6所描述的各单元的实现方式,此处不赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的部分或全部步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现图1至图2所对应实施例中描述的信息处理方法中的部分或全部步骤,也可实现本申请图6或图7所示实施例的信息处理设备的功能,此处不赘述。
所述计算机可读存储介质可以是前述任一实施例所述的信息处理设备的内部存储单元,例如信息处理设备的硬盘或内存。所述计算机可读存储介质也可以是所述信息处理设备的外部存储设备,例如所述信息处理设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本申请中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上所述,仅为本申请的部分实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种信息处理方法,其特征在于,包括:
获取待评估的目标结构化查询语言SQL文本信息,所述目标SQL文本信息包括以下任一项或多项:目标SQL文本、执行计划、所述目标SQL文本对应的访问对象的数据字典以及所述访问对象的统计信息;
提取所述目标SQL文本信息的特征信息,所述特征信息包括以下任一项或多项:所述目标SQL的词频信息、执行计划、所述目标SQL调用的数据库的信息;
将所述目标SQL文本信息的特征信息输入至信息处理模型,以得到所述目标SQL文本信息对应的目标评估结果信息;其中,所述信息处理模型是基于多组SQL样本信息和每组SQL样本信息对应的评估结果信息训练得到的,所述目标评估结果信息用于指示所述目标SQL文本的性能。
2.根据权利要求1所述的方法,其特征在于,在所述将所述目标SQL文本信息的特征信息输入至信息处理模型之前,所述方法还包括:
从数据库获取多组SQL样本信息以及每组SQL样本信息对应的评估结果信息,每组SQL样本信息包括以下任一项或多项:SQL文本、SQL执行计划、SQL访问对象的数据字典以及SQL访问对象的统计信息,所述评估结果信息用于指示SQL样本的性能;
获取所述多组SQL样本信息对应的训练特征信息;其中,所述训练特征信息包括以下任一项或多项:SQL词频信息、执行计划以及SQL调用的数据库的信息;
利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型,训练后的信息处理模型用于检测输入的SQL文本的性能。
3.根据权利要求2所述的方法,其特征在于,所述获取所述多组SQL样本信息对应的训练特征信息,包括:
分别从所述多组SQL样本信息中提取生特征信息,所述生特征信息包括SQL样本的词频信息、执行计划和所述SQL样本调用的数据库的信息;
对提取到的生特征信息进行数据清理处理,以得到所述数据清理处理后的生特征信息,所述数据清理处理包括删除数据或补全数据;
采用变分自编码器算法对所述数据清理处理后的生特征信息进行处理,得到所述变分自编码器算法处理后的生特征信息;
采用随机森林算法从所述变分自编码器算法处理后的生特征信息中选择出所述训练特征信息。
4.根据权利要求3所述的方法,其特征在于,所述对提取到的生特征信息进行数据清理处理,包括:
统计提取到的生特征信息包括的各个特征的数据量信息,所述数据量信息包括特征对应的缺失数据量和总数据量;
根据各个特征的数据量信息确定每个特征的数据丢失率,并将每个特征的数据丢失率与预设的丢失率阈值进行比较,每个特征的数据丢失率和丢失率阈值一一对应;
如果任一特征的数据丢失率大于或等于对应的丢失率阈值,删除丢失率大于或等于所述丢失率阈值的特征;
如果任一特征的数据丢失率小于所述丢失率阈值,按照预设的数据补全方式对丢失率小于所述丢失率阈值的特征的数据进行补全处理。
5.根据权利要求2所述的方法,其特征在于,所述提取所述目标SQL文本信息的特征信息,包括:
根据所述信息处理模型所采用的训练特征信息,提取所述目标SQL文本信息的特征信息,所述目标SQL文本信息的特征信息与所述训练特征信息相匹配。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
判断所述目标SQL文本信息是否满足预置的多个用于判断SQL性能的规则,得到判断结果,并根据所述判断结果生成规则评估结果信息,所述规则评估结果信息用于指示所述目标SQL文本的性能;
检测所述目标评估结果信息与所述规则评估结果信息是否匹配;
如果所述目标评估结果信息与所述规则评估结果信息不匹配,丢弃所述目标评估结果信息,并将所述目标SQL文本信息发送给指定设备。
7.根据权利要求2所述的方法,其特征在于,在所述利用所述多组SQL样本信息对应的训练特征信息和评估结果信息训练得到所述信息处理模型之后,所述方法还包括:
从所述数据库获取预设数量的SQL样本信息,所述预设数量的SQL样本信息与所述多组SQL样本信息不同;
分别将所述预设数量的SQL样本信息输入至所述信息处理模型,以得到每组SQL样本信息对应的测试结果信息;
将每组SQL样本信息对应的测试结果信息与所述数据库中存储的评估结果信息进行匹配,以确定所述信息处理模型对所述预设数量的SQL样本信息的评估准确率;
如果所述评估准确率小于预设准确率阈值,按照预设的修正规则对所述信息处理模型进行修正。
8.一种信息处理设备,其特征在于,包括用于执行如权利要求1-7任一项权利要求所述的方法的单元。
9.一种信息处理设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910634061.6A CN110442516B (zh) | 2019-07-12 | 2019-07-12 | 信息处理方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910634061.6A CN110442516B (zh) | 2019-07-12 | 2019-07-12 | 信息处理方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442516A CN110442516A (zh) | 2019-11-12 |
CN110442516B true CN110442516B (zh) | 2024-02-09 |
Family
ID=68430238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910634061.6A Active CN110442516B (zh) | 2019-07-12 | 2019-07-12 | 信息处理方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442516B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895542B (zh) * | 2019-11-28 | 2022-09-27 | 中国银行股份有限公司 | 高风险sql语句筛选方法及装置 |
CN111046059B (zh) * | 2019-12-09 | 2023-06-30 | 中国建设银行股份有限公司 | 基于分布式数据库集群的低效sql语句分析方法及系统 |
CN111045912B (zh) * | 2019-12-29 | 2022-03-22 | 浪潮(北京)电子信息产业有限公司 | 一种ai应用性能评估方法、装置及其相关设备 |
CN111259040B (zh) * | 2020-02-19 | 2023-04-11 | 中国工商银行股份有限公司 | Sql语句审核方法和系统 |
CN111650502A (zh) * | 2020-03-04 | 2020-09-11 | 苏州热工研究院有限公司 | 基于电磁信号评估继电器老化状态的方法 |
CN111858280B (zh) * | 2020-07-16 | 2024-02-27 | 中国工商银行股份有限公司 | 一种sql信息处理方法、装置、设备及系统 |
CN111882416A (zh) * | 2020-07-24 | 2020-11-03 | 未鲲(上海)科技服务有限公司 | 一种风险预测模型的训练方法和相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664473A (zh) * | 2018-05-11 | 2018-10-16 | 平安科技(深圳)有限公司 | 文本关键信息的识别方法、电子装置及可读存储介质 |
WO2019062414A1 (zh) * | 2017-09-30 | 2019-04-04 | Oppo广东移动通信有限公司 | 应用程序管控方法、装置、存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346601B2 (en) * | 2002-06-03 | 2008-03-18 | Microsoft Corporation | Efficient evaluation of queries with mining predicates |
-
2019
- 2019-07-12 CN CN201910634061.6A patent/CN110442516B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019062414A1 (zh) * | 2017-09-30 | 2019-04-04 | Oppo广东移动通信有限公司 | 应用程序管控方法、装置、存储介质及电子设备 |
CN108664473A (zh) * | 2018-05-11 | 2018-10-16 | 平安科技(深圳)有限公司 | 文本关键信息的识别方法、电子装置及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于评分卡――随机森林的云计算用户公共安全信誉模型研究;周胜利;金苍宏;吴礼发;洪征;;通信学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442516A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442516B (zh) | 信息处理方法、设备及计算机可读存储介质 | |
US20230073695A1 (en) | Systems and methods for synthetic database query generation | |
CN103080924B (zh) | 用于处理数据集的方法和装置 | |
EP3591586A1 (en) | Data model generation using generative adversarial networks and fully automated machine learning system which generates and optimizes solutions given a dataset and a desired outcome | |
WO2021164382A1 (zh) | 针对用户分类模型进行特征处理的方法及装置 | |
JP4997856B2 (ja) | データベース分析プログラム、データベース分析装置、データベース分析方法 | |
CN113407694B (zh) | 客服机器人知识库歧义检测方法、装置及相关设备 | |
US20210097343A1 (en) | Method and apparatus for managing artificial intelligence systems | |
US11562252B2 (en) | Systems and methods for expanding data classification using synthetic data generation in machine learning models | |
CN112016313B (zh) | 口语化要素识别方法及装置、警情分析系统 | |
WO2019223104A1 (zh) | 确定事件影响因素的方法、装置、终端设备及可读存储介质 | |
US20190220924A1 (en) | Method and device for determining key variable in model | |
CN111611390B (zh) | 一种数据处理方法及装置 | |
CN110472659B (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN111782805A (zh) | 一种文本标签分类方法及系统 | |
AU2021312671B2 (en) | Value over replacement feature (VORF) based determination of feature importance in machine learning | |
CN116484230B (zh) | 识别异常业务数据的方法及ai数字人的训练方法 | |
CN116755683B (zh) | 一种数据处理方法和相关装置 | |
US20230063614A1 (en) | Decision support method and system based on graph database | |
WO2024078299A1 (zh) | 发明名称:特征提取模型处理及特征提取方法、装置和计算机设备 | |
CN117131855A (zh) | 基于智能数字孪生的元宇宙空间活动数据分析方法及系统 | |
CN117575854A (zh) | 企业商标风险监控方法、电子设备和存储介质 | |
CN117743945A (zh) | 保单风险等级的分类方法、装置、电子设备及存储介质 | |
CN114510980A (zh) | 模型特征获取方法及装置、电子设备、存储介质 | |
CN117931991A (zh) | 训练样本获取及大模型优化训练方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200109 Address after: 200000 Lujiazui ring No. 1333, Pudong New Area free trade test area, Shanghai, 15 Applicant after: Weikun (Shanghai) Technology Service Co.,Ltd. Address before: 200120 13 floor, 1333 Lujiazui Road, Pudong New Area free trade pilot area, Shanghai. Applicant before: SHANGHAI LUJIAZUI INTERNATIONAL FINANCIAL ASSETS TRANSACTION MARKET CO.,LTD. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |