CN116860583A - 数据库的性能优化方法、装置、存储介质及电子设备 - Google Patents
数据库的性能优化方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116860583A CN116860583A CN202310871725.7A CN202310871725A CN116860583A CN 116860583 A CN116860583 A CN 116860583A CN 202310871725 A CN202310871725 A CN 202310871725A CN 116860583 A CN116860583 A CN 116860583A
- Authority
- CN
- China
- Prior art keywords
- target
- database
- performance
- database operation
- label
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 13
- 238000004140 cleaning Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 11
- 230000009849 deactivation Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 239000013256 coordination polymer Substances 0.000 claims 1
- 238000011056 performance test Methods 0.000 abstract description 24
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006870 function 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
- 230000009467 reduction 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/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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库的性能优化方法、装置、存储介质及电子设备,涉及金融科技领域及其他相关技术领域。其中,该方法包括:获取待优化数据库对应的目标数据库操作语句,将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为将已知性能标签的数据库操作语句作为训练样本训练得到的神经网络模型,确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。本申请解决了对数据库进行性能测试的效率低的技术问题。
Description
技术领域
本申请涉及金融科技领域及其他相关技术领域,具体而言,涉及一种数据库的性能优化方法、装置、存储介质及电子设备。
背景技术
随着国产数据库版本更新迭代速度的加快,测试人员对数据库进行测试的频率也愈加频繁。针对数据库的性能测试,测试人员需要根据不同的数据库使用场景构造出不同的测试数据,并且在测试时需覆盖尽可能多的测试场景。在现有技术中,由于测试人力成本和测试环境的限制,造成在进行性能测试时可覆盖的测试场景数量有限,另外,在检测到某个性能问题后,还需采用人工方式对该性能问题进行分析,得到优化建议,再依据优化建议对数据库性能进行优化,整个优化流程的周期较长,从而导致对数据库进行性能测试的效率低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种数据库的性能优化方法、装置、存储介质及电子设备,以至少解决对数据库进行性能测试的效率低的的技术问题。
根据本申请的一个方面,提供了一种数据库的性能优化方法,包括:获取待优化数据库对应的目标数据库操作语句;将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,Y为正整数,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型;确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
进一步地,数据库的性能优化方法还包括:依据已发布数据库的网络流量生成目标策略,其中,已发布数据库的版本为待优化数据库的上一发布版本,目标策略用于生成数据库操作语句;将目标策略生成的数据库操作语句作为目标数据库操作语句。
进一步地,数据库的性能优化方法还包括:依据已发布数据库的网络流量获取第一应用变量,其中,第一应用变量用于表征已发布数据库中的表字段;依据第一应用变量生成第二应用变量,其中,第二应用变量用于表征待优化数据库中的表字段;基于第二应用变量生成目标策略。
进一步地,数据库的性能优化方法还包括:获取已发布数据库对应的N个数据库操作语句,其中,N为正整数;控制已发布数据库执行N个数据库操作语句,得到N个性能指标数据,其中,每个数据库操作语句对应一个性能指标数据,性能指标数据至少包括目标时长和目标CPU占用率,目标时长为已发布数据库执行数据库操作语句的执行时长,目标CPU占用率为已发布数据库在执行数据库操作语句时对应的CPU占用率;依据N个性能指标数据生成K个性能标签,其中,K为大于或等于N的正整数,每个性能指标数据对应K个性能标签中的至少一个性能标签;依据N个数据库操作语句和K个性能标签生成目标模型。
进一步地,数据库的性能优化方法还包括:性能指标数据对应的性能标签为第一性能标签、第二性能标签、第三性能标签以及第四性能标签中的任意一个性能标签,其中,第一性能标签用于表征性能指标数据中的目标时长大于或等于第一预设阈值,第二性能标签用于表征性能指标数据中的目标时长小于第一预设阈值,第三性能标签用于表征性能指标数据中的目标CPU占用率大于或等于第二预设阈值,第四性能标签用于表征性能指标数据中的目标CPU占用率小于第二预设阈值。
进一步地,数据库的性能优化方法还包括:依据N个数据库操作语句中的每个数据库操作语句生成一个抽象语法树,得到N个抽象语法树,其中,抽象语法树用于表征数据库操作语句的特征;对N个抽象语法树中的每个抽象语法树进行特征提取,得到与每个抽象语法树相对应的一个特征向量;依据N个抽象语法树对应的N个特征向量生成目标矩阵。
进一步地,数据库的性能优化方法还包括:对每个数据库操作语句进行数据清洗,得到第一语句,其中,数据清洗用于统一每个数据库操作语句的格式;对第一语句进行分词操作,得到Q个单词,其中,Q为正整数;对Q个单词进行去停用词操作,得到S个第一单词,其中,S为小于或等于Q的正整数,去停用词处理用于过滤Q个单词中不具有语义信息的单词;对S个第一单词进行去重操作,得到T个目标单词,其中,T为小于或等于S的正整数,去重操作用于从S个第一单词中过滤与T个目标单词中任意一个目标单词相同的第一单词;依据每个数据库操作语句对应的T个目标单词生成一个抽象语法树,其中,抽象语法树中包括T个树节点,每个树节点对应一个目标单词。
进一步地,数据库的性能优化方法还包括:获取每个目标性能标签对应的置信率,其中,置信率用于表征目标模型预测目标数据库操作语句对应该目标性能标签时的可信度;依据Y个目标性能标签中置信率最高的目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
根据本申请的另一方面,还提供了一种数据库的性能优化装置,包括:第一获取单元,用于获取待优化数据库对应的目标数据库操作语句;第一输入单元,用于将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为将已知性能标签的数据库操作语句作为训练样本训练得到的神经网络模型;第一确定单元,用于确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
根据本申请的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的数据库的性能优化方法。
根据本申请的另一方面,还提供了一种电子设备,其中,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的数据库的性能优化方法。
在本申请中,首先获取待优化数据库对应的目标数据库操作语句,然后,将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型,最后,确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
由上述内容可知,本申请将目标数据库操作语句作为待优化数据库的测试数据,通过将目标数据库操作语句输入目标模型的方式,实现对待优化数据库进行性能测试的目的,然后,将目标模型输出的Y个目标性能标签作为测试结果,并根据Y个目标性能标签确定目标脚本,通过执行目标脚本的方式,从而实现了对待优化数据库进行性能优化的目的,同时缩短了整个数据库优化流程的周期时长,进而提高了对数据库进行性能测试的效率。
由此可见,本申请的技术方案达到了依据数据库的性能测试结果对数据库进行性能优化的目的,从而实现了提高对数据库进行性能测试的效率的技术效果,进而解决了现有技术中对数据库进行性能测试的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的数据库的性能优化方法的流程图;
图2是根据本申请实施例的一种可选的目标模型生成方法的流程图;
图3是根据本申请实施例的一种可选的抽象语法树生成方法的流程图;
图4是根据本申请实施例的另一种可选的数据库的性能优化方法的流程图;
图5是根据本申请实施例的一种可选的数据库的性能优化装置的示意图;
图6是根据本申请实施例的另一种可选的数据库的性能优化装置的示意图;
图7是根据本申请实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
还需要说明的是,本申请所涉及的相关信息(包括但不限于已发布数据库的网络流量等)和数据(包括但不限于用于展示的数据以及分析的数据,例如:数据库操作语句等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
下面结合各实施例来进一步说明本申请。
实施例1
根据本申请实施例,提供了一种数据库的性能优化方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请提供了一种数据库的性能优化系统(以下简称为优化系统)用于执行本申请实施例中的数据库的性能优化方法,图1是根据本申请实施例的一种可选的数据库的性能优化方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取待优化数据库对应的目标数据库操作语句。
可选地,上述目标数据库操作语句用于操作待优化数据库中的数据,包括但不限于对待优化数据库中的数据进行查询、插入、删除、更新以及排序等操作。举例说明,目标数据库操作语句可设置为“SELECT*FROM tab le_1”,其中,“tab le_1”为待优化数据库中某个表的名字。
步骤S102,将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签。
具体地,Y为正整数,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型。
可选地,每个目标数据库操作语句至少对应一个目标性能标签,上述目标性能标签也可用于表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据小于目标预设阈值,另外,上述目标性能指标数据至少包括待优化数据库执行目标数据库操作语句的时长和待优化数据库执行目标数据库操作语句时对应的CPU占用率。
步骤S103,确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
可选地,假设当前目标性能标签用于表征待优化数据库在执行目标数据库操作语句时的CPU占用率大于目标预设阈值,则当前目标性能标签对应的目标脚本用于降低待优化数据库在执行目标数据库操作语句时的CPU占用率。
由上述内容可知,本申请将目标数据库操作语句作为待优化数据库的测试数据,通过将目标数据库操作语句输入目标模型的方式,实现对待优化数据库进行性能测试的目的,然后,将目标模型输出的Y个目标性能标签作为测试结果,并根据Y个目标性能标签确定目标脚本,通过执行目标脚本的方式,从而实现了对待优化数据库进行性能优化的目的,同时缩短了整个数据库优化流程的周期时长,进而提高了对数据库进行性能测试的效率。
由此可见,本申请的技术方案达到了依据数据库的性能测试结果对数据库进行性能优化的目的,从而实现了提高对数据库进行性能测试的效率的技术效果,进而解决了现有技术中对数据库进行性能测试的效率低的技术问题。
在一种可选的实施例中,优化系统首先依据已发布数据库的网络流量生成目标策略,其中,已发布数据库的版本为待优化数据库的上一发布版本,目标策略用于生成数据库操作语句,然后,将目标策略生成的数据库操作语句作为目标数据库操作语句。
在一种可选的实施例中,优化系统首先依据已发布数据库的网络流量获取第一应用变量,其中,第一应用变量用于表征已发布数据库中的表字段,其次,依据第一应用变量生成第二应用变量,其中,第二应用变量用于表征待优化数据库中的表字段,最后,基于第二应用变量生成目标策略。
可选地,在用户对已发布数据库进行数据操作时,优化系统可利用Agent探针或交易录放工具获取已发布数据库的网络流量,然后,基于网络协议对网络流量进行解析,获得已发布数据库执行过的数据库操作语句,之后,优化系统对数据库操作语句进行分词处理,将表征已发布数据库中的表字段的单词作为第一应用变量,再依据第一应用变量和待优化数据库的表结构生成第二应用变量。
在一种可选的实施例中,图2是根据本申请实施例的一种可选的目标模型生成方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,获取已发布数据库对应的N个数据库操作语句。
具体地,N为正整数。
步骤S202,控制已发布数据库执行N个数据库操作语句,得到N个性能指标数据。
具体地,每个数据库操作语句对应一个性能指标数据,性能指标数据至少包括目标时长和目标CPU占用率,目标时长为已发布数据库执行数据库操作语句的执行时长,目标CPU占用率为已发布数据库在执行数据库操作语句时对应的CPU占用率。
步骤S203,依据N个性能指标数据生成K个性能标签。
具体地,K为大于或等于N的正整数,每个性能指标数据对应K个性能标签中的至少一个性能标签。
步骤S204,依据N个数据库操作语句和K个性能标签生成目标模型。
可选地,性能指标数据还可包括目标内存占用率和目标读写次数,其中,目标内存占用率为已发布数据库在执行数据库操作语句时对应的内存占用率,目标读写次数为执行数据库操作语句时对已发布数据库中的表数据进行读写的次数。
在一种可选的实施例中,优化系统中性能指标数据对应的性能标签为第一性能标签、第二性能标签、第三性能标签以及第四性能标签中的任意一个性能标签,其中,第一性能标签用于表征性能指标数据中的目标时长大于或等于第一预设阈值,第二性能标签用于表征性能指标数据中的目标时长小于第一预设阈值,第三性能标签用于表征性能指标数据中的目标CPU占用率大于或等于第二预设阈值,第四性能标签用于表征性能指标数据中的目标CPU占用率小于第二预设阈值。
可选地,优化系统在获取N个数据库操作语句和K个性能标签后,基于K个性能标签中每个性能标签的种类确定性能标签对应的优先级,在性能标签为第一性能标签或第三性能标签的情况下,性能标签对应的优先级为一级,在性能标签为第二性能标签或第四性能标签的情况下,性能标签对应的优先级为二级。另外,在目标模型输出K个目标性能标签之后,也同时输出K个目标性能标签中每个目标性能标签对应的目标优先级,最后,在依据K个目标性能标签对应的目标优先级的顺序,执行对应的目标脚本。
在一种可选的实施例中,优化系统首先依据N个数据库操作语句中的每个数据库操作语句生成一个抽象语法树,得到N个抽象语法树,其中,抽象语法树用于表征数据库操作语句的特征,之后,对N个抽象语法树中的每个抽象语法树进行特征提取,得到与每个抽象语法树相对应的一个特征向量,然后,依据N个抽象语法树对应的N个特征向量生成目标矩阵。
可选地,优化系统在得到N个抽象语法树之后,对每个抽象语法树中的树节点进行遍历,得到节点信息,其中,一个抽象语法树对应T个节点信息,然后,对T个节点信息中的每个节点信息进行向量转化,得到T个节点向量,每个节点向量表征一个对应的节点信息,之后,对该抽象语法树对应的T个节点向量进行降维处理,得到一个该抽象语法树对应的特征向量。
在一种可选的实施例中,图3是根据本申请实施例的一种可选的抽象语法树生成方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,对每个数据库操作语句进行数据清洗,得到第一语句。
具体地,数据清洗用于统一每个数据库操作语句的格式。
步骤S302,对第一语句进行分词操作,得到Q个单词。
具体地,Q为正整数。
步骤S303,对Q个单词进行去停用词操作,得到S个第一单词。
具体地,S为小于或等于Q的正整数,去停用词处理用于过滤Q个单词中不具有语义信息的单词。
步骤S304,对S个第一单词进行去重操作,得到T个目标单词。
具体地,T为小于或等于S的正整数,去重操作用于从S个第一单词中过滤与T个目标单词中任意一个目标单词相同的第一单词。
步骤S305,依据每个数据库操作语句对应的T个目标单词生成一个抽象语法树。
具体地,每个抽象语法树中包括T个树节点,每个树节点对应一个目标单词。
举例说明,当前数据库操作语句为“Se lect*FROM tab le_1;”,对当前数据库操作语句进行数据清洗,得到的第一语句为“SELECT*FROM TABLE_1;”,其次,对第一语句进行分词操作,得到的5个单词为:“SELECT”、“*”、“FROM”、“TABLE_1”和“;”,然后,对上述5个单词进行去停用词操作,得到4个第一单词为:“SELECT”、“*”、“FROM”和“TABLE_1”,之后,对上述4个第一单词进行去重操作,得到4个目标单词为:“SELECT”、“*”、“FROM”和“TABLE_1”,最后,依据所述4个目标单词生成对应的抽象语法树。
在一种可选的实施例中,优化系统首先获取每个目标性能标签对应的置信率,其中,置信率用于表征目标模型预测目标数据库操作语句对应该目标性能标签时的可信度,然后,依据Y个目标性能标签中置信率最高的目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
举例说明,当前目标性能标签1对应的置信率为50%、目标性能标签2对应的置信率为66%,目标性能标签3对应的置信率为80%,所以,优化系统执行的目标脚本为上述目标性能标签3对应的目标脚本。
在一种可选的实施例中,图4是根据本申请实施例的另一种可选的数据库的性能优化方法的流程图,如图4所示,该方法包括:优化系统对已发布数据库中的表数据进行数据操作,并且利用交易录放工具抓取已发布数据库的网络流量,之后,优化系统对已发布数据库的网络流量进行解析,得到目标数据信息,其中,目标数据信息至少包括SQL语句(Structured Query Language,结构化查询语言)和SQL语句对应的执行时间,依据目标数据信息和待优化数据库的真实使用场景生成业务数据和目标数据库操作语句,其中,业务数据用于表征待优化数据库中的表数据。
进一步地,优选系统将业务数据存储至待优化数据库,在待优化数据库中执行目标数据库操作语句,之后,判断目标数据库操作语句是否为查询语句(例如:SELECT语句),在目标数据库操作语句不是查询语句的情况下,重新对已发布数据库中的表数据进行数据操作,利用交易录放工具或Agent探针工具重新抓取已发布数据库的网络流量。
另外,在目标数据库操作语句为查询语句的情况下,优选系统获取目标数据库操作语句的执行记录,其中,执行记录至少包括待优化数据库执行目标数据库操作语句的时长,其次,基于目标数据库操作语句对应的执行记录,确定目标数据库操作语句对应的目标性能标签,然后,对目标数据库操作语句进行数据清洗、分词以及去停用词操作,得到T个目标单词,之后,依据目标数据库操作语句对应的T个目标单词生成抽象语法树,再依据目标数据库操作语句对应的抽象语法树生成特征向量,最后,依据目标数据库操作语句对应的目标性能标签对特征向量进行分类,得到目标数据库操作语句对应的分类结果,依据目标数据库操作语句对应的分类结果,获取对待优化数据库的优化建议。
在本申请中,首先获取待优化数据库对应的目标数据库操作语句,然后,将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型,最后,确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
由上述内容可知,本申请将目标数据库操作语句作为待优化数据库的测试数据,通过将目标数据库操作语句输入目标模型的方式,实现对待优化数据库进行性能测试的目的,然后,将目标模型输出的Y个目标性能标签作为测试结果,并根据Y个目标性能标签确定目标脚本,通过执行目标脚本的方式,从而实现了对待优化数据库进行性能优化的目的,同时缩短了整个数据库优化流程的周期时长,进而提高了对数据库进行性能测试的效率。
由此可见,本申请的技术方案达到了依据数据库的性能测试结果对数据库进行性能优化的目的,从而实现了提高对数据库进行性能测试的效率的技术效果,进而解决了现有技术中对数据库进行性能测试的效率低的技术问题。
实施例2
根据本申请实施例,提供了一种数据库的性能优化装置的实施例。图5是根据本申请实施例的一种可选的数据库的性能优化装置的示意图,如图5所示,数据库的性能优化装置包括:第一获取单元501、第一输入单元502以及第一确定单元503。
具体地,第一获取单元,用于获取待优化数据库对应的目标数据库操作语句,第一输入单元,用于将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,Y为正整数,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为将已知性能标签的数据库操作语句作为训练样本训练得到的神经网络模型,第一确定单元,用于确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
可选地,第一获取单元还包括:第一生成子单元和第一确定子单元。
具体地,第一生成子单元,用于依据已发布数据库的网络流量生成目标策略,其中,已发布数据库的版本为待优化数据库的上一发布版本,目标策略用于生成数据库操作语句,第一确定子单元,用于将目标策略生成的数据库操作语句作为目标数据库操作语句。
可选地,第一生成子单元还包括:第一获取模块、第一生成模块以及第二生成模块。
具体地,第一获取模块,用于依据已发布数据库的网络流量获取第一应用变量,其中,第一应用变量用于表征已发布数据库中的表字段,第一生成模块,用于依据第一应用变量生成第二应用变量,其中,第二应用变量用于表征待优化数据库中的表字段,第二生成模块,用于基于第二应用变量生成目标策略。
可选地,数据库的性能优化装置还包括:第二获取单元、第一执行单元、第一生成单元以及第二生成单元。
具体地,第二获取单元,用于获取已发布数据库对应的N个数据库操作语句,其中,N为正整数,第一执行单元,用于控制已发布数据库执行N个数据库操作语句,得到N个性能指标数据,其中,每个数据库操作语句对应一个性能指标数据,性能指标数据至少包括目标时长和目标CPU占用率,目标时长为已发布数据库执行数据库操作语句的执行时长,目标CPU占用率为已发布数据库在执行数据库操作语句时对应的CPU占用率,第一生成单元,用于依据N个性能指标数据生成K个性能标签,其中,K为大于或等于N的正整数,每个性能指标数据对应K个性能标签中的至少一个性能标签,第二生成单元,用于依据N个数据库操作语句和K个性能标签生成目标模型。
可选地,数据库的性能优化装置中的性能指标数据对应的性能标签为第一性能标签、第二性能标签、第三性能标签以及第四性能标签中的任意一个性能标签,其中,第一性能标签用于表征性能指标数据中的目标时长大于或等于第一预设阈值,第二性能标签用于表征性能指标数据中的目标时长小于第一预设阈值,第三性能标签用于表征性能指标数据中的目标CPU占用率大于或等于第二预设阈值,第四性能标签用于表征性能指标数据中的目标CPU占用率小于第二预设阈值。
可选地,第二生成单元还包括:第二生成子单元、特征提取子单元以及第三生成子单元。
具体地,第二生成子单元,用于依据N个数据库操作语句中的每个数据库操作语句生成一个抽象语法树,得到N个抽象语法树,其中,抽象语法树用于表征数据库操作语句的特征,特征提取子单元,用于对N个抽象语法树中的每个抽象语法树进行特征提取,得到与每个抽象语法树相对应的一个特征向量,第三生成子单元,用于依据N个抽象语法树对应的N个特征向量生成目标矩阵。
可选地,第二生成子单元还包括:数据清洗模块、分词模块、去停用词模块、去重模块以及第三生成模块。
具体地,数据清洗模块,用于对每个数据库操作语句进行数据清洗,得到第一语句,其中,数据清洗用于统一每个数据库操作语句的格式,分词模块,用于对第一语句进行分词操作,得到Q个单词,其中,Q为正整数,去停用词模块,用于对Q个单词进行去停用词操作,得到S个第一单词,其中,S为小于或等于Q的正整数,去停用词处理用于过滤Q个单词中不具有语义信息的单词,去重模块,用于对S个第一单词进行去重操作,得到T个目标单词,其中,T为小于或等于S的正整数,去重操作用于从S个第一单词中过滤与T个目标单词中任意一个目标单词相同的第一单词,第三生成模块,用于依据每个数据库操作语句对应的T个目标单词生成一个抽象语法树,其中,抽象语法树中包括T个树节点,每个树节点对应一个目标单词。
可选地,第一确定单元还包括:置信率获取子单元和优化子单元。
具体地,置信率获取子单元,用于获取每个目标性能标签对应的置信率,其中,置信率用于表征目标模型预测目标数据库操作语句对应该目标性能标签时的可信度,优化子单元,用于依据Y个目标性能标签中置信率最高的目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
在一种可选的实施例中,图6是根据本申请实施例的另一种可选的数据库的性能优化装置的示意图,如图6所示,数据库的性能优化装置包括:目标数据库操作语句生成单元和优化建议生成单元。
具体地,目标数据库操作语句生成单元,用于依据已发布数据库的网络流量生成目标数据库操作语句,优化建议生成单元,用于依据目标数据库操作语句生成对待优化数据库的优化建议。
可选地,目标数据库操作语句生成单元还包括:数据库操作语句抓取模块、数据库操作语句分析模块以及目标数据库操作语句生成模块。
具体地,数据库操作语句抓取模块,用于依据已发布数据库的网络流量获取数据库操作语句,其中,数据库操作语句用于操作已发布数据库中的表数据,数据库操作语句分析模块用于对数据库操作语句进行分词操作,得到数据库操作语句对应的应用变量,目标数据库操作语句生成模块,用于依据应用变量生成目标数据库操作语句,其中,目标数据库操作语句用于操作待优化数据库中的表数据。
可选地,目标模型生成单元还包括:数据库操作语句处理模块、性能标签生成模块以及优化建议生成模块。
具体地,数据库操作语句处理模块,用于对目标数据库操作语句进行数据清洗、分词以及去停用词操作,得到目标数据库操作语句对应的目标单词,性能标签生成模块,用于依据目标数据库操作语句的执行记录获取性能标签,优化建议生成模块用于依据目标数据库操作语句对应的目标单词和性能标签,获取待优化数据库的优化建议。
在本申请中,首先获取待优化数据库对应的目标数据库操作语句,然后,将目标数据库操作语句输入至目标模型中,输出目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征待优化数据库在执行目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型,最后,确定每个目标性能标签所对应的目标脚本,并根据每个目标性能标签所对应的目标脚本对待优化数据库进行性能优化。
由上述内容可知,本申请将目标数据库操作语句作为待优化数据库的测试数据,通过将目标数据库操作语句输入目标模型的方式,实现对待优化数据库进行性能测试的目的,然后,将目标模型输出的Y个目标性能标签作为测试结果,并根据Y个目标性能标签确定目标脚本,通过执行目标脚本的方式,从而实现了对待优化数据库进行性能优化的目的,同时缩短了整个数据库优化流程的周期时长,进而提高了对数据库进行性能测试的效率。
由此可见,本申请的技术方案达到了依据数据库的性能测试结果对数据库进行性能优化的目的,从而实现了提高对数据库进行性能测试的效率的技术效果,进而解决了现有技术中对数据库进行性能测试的效率低的技术问题。
实施例3
根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述实施例1中的数据库的性能优化方法。
实施例4
根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述实施例1中的数据库的性能优化方法。
图7是根据本申请实施例的一种可选的电子设备的示意图,如图7所示,本申请实施例提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例1中的数据库的性能优化方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种数据库的性能优化方法,其特征在于,包括:
获取待优化数据库对应的目标数据库操作语句;
将所述目标数据库操作语句输入至目标模型中,输出所述目标数据库操作语句对应的Y个目标性能标签,其中,Y为正整数,每个目标性能标签表征所述待优化数据库在执行所述目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,所述目标模型为依据已知性能标签的数据库操作语句训练得到的神经网络模型;
确定所述每个目标性能标签所对应的目标脚本,并根据所述每个目标性能标签所对应的目标脚本对所述待优化数据库进行性能优化。
2.根据权利要求1所述的方法,其特征在于,获取待优化数据库对应的目标数据库操作语句,包括:
依据已发布数据库的网络流量生成目标策略,其中,所述已发布数据库的版本为所述待优化数据库的上一发布版本,所述目标策略用于生成数据库操作语句;
将所述目标策略生成的数据库操作语句作为所述目标数据库操作语句。
3.根据权利要求2所述的方法,其特征在于,依据已发布数据库的网络流量生成目标策略,包括:
依据所述已发布数据库的网络流量获取第一应用变量,其中,所述第一应用变量用于表征所述已发布数据库中的表字段;
依据所述第一应用变量生成第二应用变量,其中,所述第二应用变量用于表征所述待优化数据库中的表字段;
基于所述第二应用变量生成所述目标策略。
4.根据权利要求2所述的方法,其特征在于,所述目标模型通过以下步骤训练得到:
获取所述已发布数据库对应的N个数据库操作语句,其中,N为正整数;
控制所述已发布数据库执行所述N个数据库操作语句,得到N个性能指标数据,其中,每个数据库操作语句对应一个性能指标数据,所述性能指标数据至少包括目标时长和目标CP∪占用率,所述目标时长为所述已发布数据库执行所述数据库操作语句的执行时长,所述目标CPU占用率为所述已发布数据库在执行所述数据库操作语句时对应的CPU占用率;
依据所述N个性能指标数据生成K个性能标签,其中,K为大于或等于N的正整数,每个性能指标数据对应所述K个性能标签中的至少一个性能标签;
依据所述N个数据库操作语句和所述K个性能标签生成所述目标模型。
5.根据权利要求4所述的方法,其特征在于,所述性能指标数据对应的性能标签为第一性能标签、第二性能标签、第三性能标签以及第四性能标签中的任意一个性能标签,其中,所述第一性能标签用于表征所述性能指标数据中的目标时长大于或等于第一预设阈值,所述第二性能标签用于表征所述性能指标数据中的目标时长小于第一预设阈值,所述第三性能标签用于表征所述性能指标数据中的目标CPU占用率大于或等于第二预设阈值,所述第四性能标签用于表征所述性能指标数据中的目标CPU占用率小于第二预设阈值。
6.根据权利要求4所述的方法,其特征在于,依据所述N个数据库操作语句和所述K个性能标签生成所述目标模型,包括:
依据所述N个数据库操作语句中的每个数据库操作语句生成一个抽象语法树,得到N个抽象语法树,其中,抽象语法树用于表征数据库操作语句的特征;
对所述N个抽象语法树中的每个抽象语法树进行特征提取,得到与所述每个抽象语法树相对应的一个特征向量;
依据所述N个抽象语法树对应的N个特征向量生成目标矩阵。
7.根据权利要求6所述的方法,其特征在于,依据所述N个数据库操作语句中的每个数据库操作语句生成一个抽象语法树,包括:
对所述每个数据库操作语句进行数据清洗,得到第一语句,其中,所述数据清洗用于统一所述每个数据库操作语句的格式;
对所述第一语句进行分词操作,得到Q个单词,其中,Q为正整数;
对所述Q个单词进行去停用词操作,得到S个第一单词,其中,S为小于或等于Q的正整数,所述去停用词处理用于过滤所述Q个单词中不具有语义信息的单词;
对所述S个第一单词进行去重操作,得到T个目标单词,其中,T为小于或等于S的正整数,所述去重操作用于从所述S个第一单词中过滤与所述T个目标单词中任意一个目标单词相同的第一单词;
依据每个数据库操作语句对应的T个目标单词生成一个抽象语法树,其中,所述抽象语法树中包括T个树节点,每个树节点对应一个目标单词。
8.根据权利要求1所述的方法,其特征在于,根据所述每个目标性能标签所对应的目标脚本对所述待优化数据库进行性能优化,包括:
获取每个目标性能标签对应的置信率,其中,所述置信率用于表征所述目标模型预测所述目标数据库操作语句对应该目标性能标签时的可信度;
依据所述Y个目标性能标签中所述置信率最高的目标性能标签所对应的目标脚本对所述待优化数据库进行性能优化。
9.一种数据库的性能优化装置,其特征在于,包括:
第一获取单元,用于获取待优化数据库对应的目标数据库操作语句;
第一输入单元,用于将所述目标数据库操作语句输入至目标模型中,输出所述目标数据库操作语句对应的Y个目标性能标签,其中,每个目标性能标签表征所述待优化数据库在执行所述目标数据库操作语句时所对应的目标性能指标数据大于或等于目标预设阈值,所述目标模型为将已知性能标签的数据库操作语句作为训练样本训练得到的神经网络模型;
第一确定单元,用于确定所述每个目标性能标签所对应的目标脚本,并根据所述每个目标性能标签所对应的目标脚本对所述待优化数据库进行性能优化。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的数据库的性能优化方法。
11.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的数据库的性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310871725.7A CN116860583A (zh) | 2023-07-14 | 2023-07-14 | 数据库的性能优化方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310871725.7A CN116860583A (zh) | 2023-07-14 | 2023-07-14 | 数据库的性能优化方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860583A true CN116860583A (zh) | 2023-10-10 |
Family
ID=88233857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310871725.7A Pending CN116860583A (zh) | 2023-07-14 | 2023-07-14 | 数据库的性能优化方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860583A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251351A (zh) * | 2023-11-10 | 2023-12-19 | 支付宝(杭州)信息技术有限公司 | 一种数据库性能预测方法及相关设备 |
-
2023
- 2023-07-14 CN CN202310871725.7A patent/CN116860583A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251351A (zh) * | 2023-11-10 | 2023-12-19 | 支付宝(杭州)信息技术有限公司 | 一种数据库性能预测方法及相关设备 |
CN117251351B (zh) * | 2023-11-10 | 2024-04-05 | 支付宝(杭州)信息技术有限公司 | 一种数据库性能预测方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245496B (zh) | 一种源代码漏洞检测方法及检测器和其训练方法及系统 | |
US20220091827A1 (en) | Pruning Engine | |
CN106886567B (zh) | 基于语义扩展的微博突发事件检测方法及装置 | |
US9286153B2 (en) | Monitoring the health of a question/answer computing system | |
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
KR20160026892A (ko) | 논팩토이드형 질의 응답 시스템 및 방법 | |
NL2026782A (en) | Method and system for determining affiliation of software to software families | |
CN116860583A (zh) | 数据库的性能优化方法、装置、存储介质及电子设备 | |
CN110399377A (zh) | Sql的优化方法、装置、电子设备及计算机可读存储介质 | |
US11003705B2 (en) | Natural language processing and classification | |
CN109753517A (zh) | 一种信息查询的方法、装置、计算机存储介质及终端 | |
CN111639470B (zh) | 一种处理器协同芯片的仿真测试方法、系统及相关组件 | |
US11567851B2 (en) | Mathematical models of graphical user interfaces | |
JP2015018372A (ja) | 表現抽出モデル学習装置、表現抽出モデル学習方法、および、コンピュータ・プログラム | |
CN113419964B (zh) | 一种测试案例生成方法、装置、计算机设备及存储介质 | |
CN110580170A (zh) | 软件性能风险的识别方法及装置 | |
CN116560984A (zh) | 一种基于调用依赖图的测试用例聚类分组方法 | |
CN113704519B (zh) | 一种数据集的确定方法、装置、计算机设备以及存储介质 | |
US8589435B2 (en) | Method, system and program for simplifying data flow in a statement with sequenced subexpressions | |
CN114610576A (zh) | 一种日志生成监控方法和装置 | |
CN114302227A (zh) | 基于容器采集的网络视频采集与解析的方法和系统 | |
US8090750B2 (en) | Prompting of an end user with commands | |
CN112948419A (zh) | 查询语句处理方法及装置 | |
CN107025615B (zh) | 一种基于学习跟踪模型的学习情况统计方法 | |
WO2021104027A1 (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 |