语句执行时长的预测方法、装置及存储介质与流程

文档序号:33644763发布日期:2023-03-29 03:14阅读:39来源:国知局
语句执行时长的预测方法、装置及存储介质与流程

1.本技术涉及数据库技术领域,尤其涉及一种语句执行时长的预测方法、装置及存储介质。


背景技术:

2.mysql数据库慢查询对业务的影响程度不容小觑,甚至会直接导致mysql服务宕机而致使整个系统瘫痪。数据库慢查询收集系统,将所有超过阈值的慢查询统一收集起来,统计为慢查询日记,以便于对慢查询语句分析处理。
3.现有慢查询索引技术,通过词频分析对待查询语句进行广度优先遍历,并且现有技术基于慢查询日志监控,当出现慢查询时,再去分析定位慢查询。现有技术查询效率慢,且不能有效预测慢查询语句。


技术实现要素:

4.本技术提供一种语句执行时长的预测方法、装置及存储介质,解决了现有技术查询效率慢,且不能有效预测慢查询语句的问题,能够快速预测慢查询语句以及慢查询语句的执行时长。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种语句执行时长的预测方法,该方法包括:获取目标语句的第一参数信息;第一参数信息包括目标语句的特征向量以及所在的数据表;根据目标语句所在的数据表从多个索引树中确定目标索引树;多个索引树与多个数据表一一对应;索引树中包括多个节点;多个节点中至少包括根节点和叶子节点;叶子节点与历史语句的特征向量一一对应;目标索引树对应的数据表为目标语句所在的数据表;从目标索引树中确定出目标叶子节点;目标叶子节点对应的特征向量与目标语句的特征向量之间的特征距离最小;将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。
7.上述方案至少带来以下有益效果:基于上述技术方案,本技术提供的语句执行时长的预测方法,首先语句执行时长的预测装置确定了目标语句的特征向量以及所在的数据表。然后语句执行时长的预测装置根据数据表从多个索引树中确定目标索引树。并从目标索引树中确定出特征向量与目标语句的特征向量之间的特征距离最小的目标叶子节点,将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。由于本技术提供的语句执行时长的预测方法根据目标索引树快速定位目标叶子节点,并且得到的目标叶子结点对应的历史语句的执行时长即为目标语句的时长预测值。因此,本技术提供的语句执行时长的预测方法,可以快速预测慢查询语句以及慢查询语句的执行时长。
8.结合上述第一方面,在一种可能的实现方式中,该方法还包括:将目标索引树的根节点作为目标节点;对目标节点执行第一操作,直至目标节点为目标索引树的叶子节点,将此时的目标节点确定为目标叶子节点;第一操作包括:分别计算目标语句的特征向量与目标节点的至少一个子节点对应的特征向量的特征距离;将至少一个子节点中特征距离最小
的子节点作为目标节点。
9.结合上述第一方面,在一种可能的实现方式中,该方法还包括:获取多个历史语句中每个历史语句的第二参数信息;第二参数信息包括历史语句的特征向量、所在的数据表以及执行时长;根据历史语句所在的数据表将多个历史语句分为多个语句集合;语句集合与所述数据表一一对应;针对各个语句集合,生成语句集合对应的索引树。
10.结合上述第一方面,在一种可能的实现方式中,该方法还包括:将语句集合中的各个历史语句的特征向量作为对应的索引树中的叶子节点;确定目标节点集合中包括对应的索引树中的叶子节点;对目标节点集合执行第二操作,直至目标节点集合中的节点数量小于或等于预设阈值,根据目标节点集合中的节点生成根节点;第二操作包括:对目标节点集合中的节点进行聚类,得到多个节点子集合;针对多个节点子集合,根据节点子集合中的节点生成子节点;确定目标节点集合中包括多个节点子集合对应的子节点。
11.第二方面,本技术提供一种语句执行时长的预测装置,该装置包括:通信单元以及处理单元;通信单元,用于获取目标语句的第一参数信息;第一参数信息包括目标语句的特征向量以及所在的数据表;处理单元,用于根据目标语句所在的数据表从多个索引树中确定目标索引树;多个索引树与多个数据表一一对应;索引树中包括多个节点;多个节点中至少包括根节点和叶子节点;叶子节点与历史语句的特征向量一一对应;目标索引树对应的数据表为目标语句所在的数据表;处理单元,还用于从目标索引树中确定出目标叶子节点;目标叶子节点对应的特征向量与目标语句的特征向量之间的特征距离最小;处理单元,还用于将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。
12.结合上述第二方面,在一种可能的实现方式中,处理单元还用于:将目标索引树的根节点作为目标节点;对目标节点执行第一操作,直至目标节点为目标索引树的叶子节点,将此时的目标节点确定为目标叶子节点;第一操作包括:分别计算目标语句的特征向量与目标节点的至少一个子节点对应的特征向量的特征距离;将至少一个子节点中特征距离最小的子节点作为目标节点。
13.结合上述第二方面,在一种可能的实现方式中,处理单元还用于:获取多个历史语句中每个历史语句的第二参数信息;第二参数信息包括历史语句的特征向量、所在的数据表以及执行时长;根据历史语句所在的数据表将多个历史语句分为多个语句集合;语句集合与数据表一一对应;针对各个语句集合,生成语句集合对应的索引树。
14.结合上述第二方面,在一种可能的实现方式中,处理单元还用于:将语句集合中的各个历史语句的特征向量作为对应的索引树中的叶子节点;确定目标节点集合中包括对应的索引树中的叶子节点;对目标节点集合执行第二操作,直至目标节点集合中的节点数量小于或等于预设阈值,根据目标节点集合中的节点生成根节点;第二操作包括:对目标节点集合中的节点进行聚类,得到多个节点子集合;针对多个节点子集合,根据节点子集合中的节点生成子节点;确定目标节点集合中包括多个节点子集合对应的子节点。
15.第三方面,本技术提供了一种语句执行时长的预测装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的语句执行时长的预测方法。
16.第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行如第一方面和第一方面的任一种可能的实
现方式中描述的语句执行时长的预测方法。
17.第五方面,本技术提供一种包含指令的计算机程序产品,当计算机程序产品在语句执行时长的预测装置上运行时,使得语句执行时长的预测装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的语句执行时长的预测方法。
18.第六方面,本技术提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的语句执行时长的预测方法。
19.具体的,本技术中提供的芯片还包括存储器,用于存储计算机程序或指令。
20.需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与装置的处理器封装在一起的,也可以与装置的处理器单独封装,本技术对此不作限定。
21.第七方面,本技术提供一种语句执行时长的预测系统,包括:语句执行时长的预测装置和服务器,其中语句执行时长的预测装置用于执行如第一方面和第一方面的任一种可能的实现方式中所描述的语句执行时长的预测方法。
22.本技术中第二方面至第七方面的描述,可以参考第一方面的详细描述;并且,第二方面至第七方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
23.在本技术中,上述语句执行时长的预测装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
24.本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
25.图1为本技术实施例提供的一种语句执行时长的预测系统的架构示意图;
26.图2为本技术实施例提供的一种语句执行时长的预测的流程示意图;
27.图3为本技术实施例提供的一种语句执行时长的预测方法的流程图;
28.图4为本技术实施例提供的另一种语句执行时长的预测方法的流程图;
29.图5为本技术实施例提供的一种语句执行时长的预测方法的示意图;
30.图6为本技术实施例提供的另一种语句执行时长的预测方法的流程图;
31.图7为本技术实施例提供的另一种语句执行时长的预测方法的流程图;
32.图8为本技术实施例提供的一种构建目标索引树的示意图;
33.图9为本技术实施例提供的一种语句执行时长的预测装置的结构示意图;
34.图10为本技术实施例提供的另一种语句执行时长的预测装置的结构示意图。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
36.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关
系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
37.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
38.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
39.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
40.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
41.以下,对本技术实施例涉及的名词进行解释,以方便读者理解。
42.(1)数据库技术
43.数据库技术包括以postgresql、mysql、opengauss、oracle为代表的关系型数据库技术。
44.(2)向量化技术
45.向量化就是用一个低维稠密的向量“表示”一个对象,这里所说的对象可以是一个字符串,也可以是一个物品,亦或是网络关系中的节点。其中“表示”这个词意味着向量能够表达相应对象的某些特征,同时向量之间的距离反映了对象之间的相似性。
46.(3)向量化索引技术
47.向量化索引是通过数学量化模型,对向量构建一种时间和空间都比较高效的数据索引结构,在进行查询时可以实时地获取与查询向量尽可能相近的多个向量,与暴力查找相比,它是精度与时间、算力资源的折中,采用了牺牲精度换取时间和空间的方式,能够从大量数据中实时获取与查询内容最相似的结果。
48.(4)慢查询
49.慢查询是指数据库记录所有执行超过预设定时间阈值的sql语句。
50.mysql数据库慢查询对业务的影响程度不容小觑,甚至会直接导致mysql服务宕机而致使整个系统瘫痪。但大家普遍会有自己的慢查询收集系统,将所有超过阈值的慢查询统一收集起来、方便分析处理。
51.现有慢查询索引技术,通过词频分析对待查询语句进行广度优先遍历,并且现有技术基于慢查询日志监控,当出现慢查询时,再去分析定位慢查询。现有技术查询效率慢,且不能有效预测慢查询语句。
52.基于此,本技术公开了一种语句执行时长的预测方法,首先语句执行时长的预测装置确定了目标语句的特征向量以及所在的数据表。然后语句执行时长的预测装置根据数据表从多个索引树中确定目标索引树。并从目标索引树中确定出特征向量与目标语句的特征向量之间的特征距离最小的目标叶子节点,将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。由于本技术提供的语句执行时长的预测方法根据目标索引树快速定位目标叶子节点,并且得到的目标叶子结点对应的历史语句的执行时长即为目标语
句的时长预测值。因此,本技术提供的语句执行时长的预测方法,可以快速预测慢查询语句以及慢查询语句的执行时长。
53.下面将结合说明书附图,对本技术实施例的实施方式进行详细描述。
54.图1为本技术实施例提供的一种语句执行时长的预测系统10的架构图。如图1所示,该语句执行时长的预测系统10包括:语句执行时长的预测装置101以及服务器102。
55.语句执行时长的预测装置101根据服务器102提供的历史语句训练得到目标索引树,并且根据目标索引树对目标语句预测执行时长。
56.服务器102是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式文件系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基本云计算服务的云服务器中的至少一种,本技术实施例对此不加以限定。在一种可能的实现方式中,服务器102与语句执行时长的预测装置101通过有线或无线通信方式进行直接或间接的连接,本技术实施例对此不作限定。在一种可能的实现方式中,上述服务器102的数量能够更多或更少,本技术实施例对此不加以限定。当然,服务器102还能够包括其他功能服务器,以便提供更全面多样化的服务。
57.示例性的,如图2所示,服务器102向语句执行时长的预测装置101提供历史语句、历史语句所在的数据表、历史语句的执行时长。语句执行时长的预测装置101根据历史语句的特征向量以及历史语句所在的数据表构建目标索引,然后语句执行时长的预测装置101基于目标语句的特征向量以及目标语句所在的数据表,通过目标索引预测目标语句的执行时长。
58.需要指出的是,本技术各实施例之间可以相互借鉴或参考,例如,相同或相似的步骤,方法实施例、系统实施例和装置实施例之间,均可以相互参考,不予限制。
59.图3为本技术实施例提供的一种语句执行时长的预测方法的流程图。
60.如图3所示,该方法包括以下步骤:
61.s301、语句执行时长的预测装置获取目标语句的第一参数信息。
62.其中,第一参数信息包括目标语句的特征向量以及所在的数据表。
63.一种可能的实现方式,语句执行时长的预测装置获取目标语句以及目标语句所在的数据表,并将目标语句通过向量化技术,进而确定目标语句的特征向量。
64.示例性的,目标语句可以通过word2vec中的连续词袋模型(continuous bag of words,cbow),得到目标语句的特征向量为(x1,y1,z1)。目标语句所在的数据表标识了目标语句的类别,根据目标语句所在的数据表找到数据表相同的其他语句,将这些语句归为一类。
65.s302、语句执行时长的预测装置根据目标语句所在的数据表从多个索引树中确定目标索引树。
66.其中,多个索引树与多个数据表一一对应,索引树中包括多个节点,多个节点中至少包括根节点和叶子节点,叶子节点与历史语句的特征向量一一对应,目标索引树对应的数据表为目标语句所在的数据表。
67.基于目标语句所在的数据表、多个索引树的数据表,语句执行时长的预测装置从多个索引树的数据表中选择与目标语句所在的数据表相同的数据表,确定与目标语句所在
的数据表相同的数据表所对应的索引树为目标索引树。
68.示例性的,目标索引树可以包括一个根节点以及一层叶子结点。目标索引树也可以包括:一个根节点、一层子节点以及一层叶子结点,子节点的层数可以更多,本技术实施例对此不加以限定。
69.s303、语句执行时长的预测装置从目标索引树中确定出目标叶子节点。
70.其中,目标叶子节点对应的特征向量与目标语句的特征向量之间的特征距离最小。
71.一种可能的实现方式,基于目标索引树中的叶子结点以及目标语句的特征向量,由于叶子结点与历史语句的特征向量一一对应,语句执行时长的预测装置可以计算得到叶子节点与目标语句的特征向量之间的特征距离。语句执行时长的预测装置选择距离最短的特征距离对应的叶子结点作为目标叶子结点。
72.s304、语句执行时长的预测装置将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。
73.一种可能的实现方式,由于目标叶子结点与历史语句的特征向量一一对应,语句执行时长的预测装置通过历史语句的特征向量获取历史语句的执行时长,并将历史语句的执行时长作为目标语句之子那个时长的预测值。
74.基于上述技术方案,首先语句执行时长的预测装置确定了目标语句的特征向量以及所在的数据表。然后语句执行时长的预测装置根据数据表从多个索引树中确定目标索引树。并从目标索引树中确定出特征向量与目标语句的特征向量之间的特征距离最小的目标叶子节点,将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。由于本技术提供的语句执行时长的预测方法根据目标索引树快速定位目标叶子节点,并且得到的目标叶子结点对应的历史语句的执行时长即为目标语句的时长预测值。因此,本技术提供的语句执行时长的预测方法,可以快速预测慢查询语句以及慢查询语句的执行时长。
75.作为本技术的一种可能的实施例,结合图3,如图4所示,上述s303还可以通过以下s401-s404实现。
76.s401、语句执行时长的预测装置将目标索引树的根节点作为目标节点。
77.示例性的,如图5所示,在目标索引树包括根节点、两层子节点以及一层叶子节点,且根节点的第一层子节点包括三个子节点,根节点的第二层子节点包括六个子节点的情况下。语句执行时长的预测装置,将目标索引书的根节点作为目标节点。
78.s402、语句执行时长的预测装置对目标节点执行第一操作,直至目标节点为目标索引树的叶子节点,将此时的目标节点确定为目标叶子节点。
79.示例性的,如图5所示,在目标索引树包括根节点、两层子节点以及一层叶子节点,且根节点的第一层子节点包括三个子节点,根节点的第二层子节点包括六个子节点的情况下。基于目标索引树的根节点、根节点的子节点以及叶子结点。语句执行时长的预测装置从根节点开始,从根节点的第一层子节点选则特征距离最短子节点作为第一目标节点,再从根节点的第二层中第一目标节点下子节点中,选则特征距离最短子节点作为第二目标节点,再从根节点的第三层中第二目标节点下叶子节点中,选则特征距离最短的叶子节点。此时目标节点为目标索引树的叶子节点,完成遍历过程。
80.一种可能的实现方式,上述第一操作可以通过s403-s404实现:
81.s403、语句执行时长的预测装置分别计算目标语句的特征向量与目标节点的至少一个子节点对应的特征向量的特征距离。
82.示例性的,如图5所示,在目标索引树包括根节点、两层子节点以及一层叶子节点,且根节点的第一层子节点包括三个子节点,根节点的第二层子节点包括六个子节点的情况下。基于目标语句的特征向量与目标索引树中第一层子结点的特征向量,语句执行时长的预测装置分别对根节点与第一层中的三个子节点分别进行特征距离计算。从计算得到的特征距离中,选则距离最短的特征距离对应的子节点作为目标子节点。
83.s404、语句执行时长的预测装置将至少一个子节点中特征距离最小的子节点作为目标节点。
84.示例性的,如图5所示,在目标索引树包括根节点、两层子节点以及一层叶子节点,且根节点的第一层子节点包括三个子节点,根节点的第二层子节点包括六个子节点的情况下。语句执行时长的预测装置分别对目标子节点与第二层中目标子节点下的两个子节点分别进行特征距离计算。选则距离最短的特征距离对应的子节点作为目标子节点。
85.基于上述技术方案,语句执行时长的预测装置将目标索引树的根节点作为目标节点,并对目标节点分别计算目标语句的特征向量与目标节点的至少一个子节点对应的特征向量的特征距离。由于从目标索引树的根节点开始,从目标索引树的每一层中依次选则特征距离最小的子节点作为目标节点,并且直至目标节点为目标索引树的叶子节点,将此时的目标节点确定为目标叶子节点。因此,可以从索引树中每一层选则与目标语句的特征向量特征距离最短的目标节点,从而快速得到目标叶子结点,提升了语句执行的预测装置的效率。
86.以下,对语句执行时长的预测装置生成语句集合对应的索引树的过程进行介绍。
87.作为本技术的一种可能的实施例,结合图2,如图6所示,上述索引树通过以下s601-s603确定。
88.s601、语句执行时长的预测装置获取多个历史语句中每个历史语句的第二参数信息。
89.其中,第二参数信息包括历史语句的特征向量、的数据表以及执行时长。
90.一种可能的实现方式,语句执行时长的预测装置获取历史语句以及历史语句所在的数据表,并将历史语句通过向量化技术,进而确定历史语句的特征向量。
91.示例性的,历史语句可以通过word2vec中的连续词袋模型(continuous bag of words,cbow),得到历史语句的特征向量为(x2,y2,z2)。历史语句所在的数据表标识了目标语句的类别,根据目标语句所在的数据表找到数据表相同的其他语句,将这些语句归为一类。
92.示例性的,以postgresql、mysql、opengauss、oracle为代表的关系型数据库技术,在运行时所有执行超过预设定时间阈值的sql语句记录于慢查询日志中。语句执行时长的预测装置从数据库中的慢查询日志中获取历史语句以及历史语句所在的数据表。
93.s602、语句执行时长的预测装置根据历史语句所在的数据表将多个历史语句分为多个语句集合。
94.其中,语句集合与数据表一一对应。
95.一种可能的实施方式,根据历史语句所在的数据表,针对多个历史语句,语句执行
时长的预测装置将数据表相同的历史语句确定为一个语句集合,从而得到多个语句集合。
96.s603、针对各个语句集合,生成语句集合对应的索引树。
97.一种可能的实施方式,基于多个语句集合,在语句集合中语句的数量大于第一阈值的情况下,语句执行时长的预测装置针对语句集合,生成对应的索引树。由于索引树为数据表相同的历史语句的集合,因此索引树的数据表为集合中历史语句的数据表。
98.另一种可能的实现方式,基于多个语句集合,在语句集合中语句的数量小于第一阈值的情况下,语句执行时长的预测装置在对目标语句进行语句执行时长预测时,将目标语句的特征向量分别与语句集合中所有历史语句的特征向量进行特征距离计算。
99.基于上述技术方案,基于历史语句的数据表,语句执行时长的预测装置将数据表相同的历史语句分为一个集合,并对每个集合的历史语句均生成一个所引述,便于语句执行时长的预测装置对目标语句的执行时长进行预测。
100.作为本技术的一种可能的实施例,结合图6,如图7所示,上述s603还可以通过以下s701-s706实现。
101.s701、语句执行时长的预测装置将语句集合中的各个历史语句的特征向量作为对应的索引树中的叶子节点。
102.示例性的,基于多个语句集合中的其中一个语句集合,语句执行时长的预测装置将语句集合中的所有历史语句的特征向量作为此索引树的叶子结点。叶子结点与语句集合中的所有历史语句的特征向量一一对应。
103.s702、语句执行时长的预测装置确定目标节点集合中包括对应的索引树中的叶子节点。
104.示例性的,语句执行时长的预测装置确定索引树中的叶子节点为目标节点集合,便于接下来对叶子结点进行聚类。
105.s703、语句执行时长的预测装置对目标节点集合执行第二操作,直至目标节点集合中的节点数量小于或等于预设阈值,根据目标节点集合中的节点生成根节点。
106.示例性的,语句执行时长的预测装置对叶子结点进行聚类得到第一层子节点,然后对第一层子节点进行聚类得到第二层子节点,依次对每层的子节点执行聚类,直到子节点的数量少于预设阈值的情况下,将此时的子节点聚为1类,最终得到索引树的根节点。
107.一种可能的实现方式,上述第二操作可以通过s704-s706实现:
108.s704、语句执行时长的预测装置对目标节点集合中的节点进行聚类,得到多个节点子集合。
109.示例性的,语句执行时长的预测装置对叶子结点集合中的叶子结点进行聚类。以聚类方法为k均值聚类算法(k-means clustering algorithm)为例,预先设定叶节点聚类为k类。语句执行时长的预测装置对叶子结点集合中的叶子结点通过k均值聚类算法,将叶子结点聚类为k类,得到k个节点子集合。
110.示例性的,如图8所示,以k均值聚类算法中预先设定叶子结点聚为6类为例。语句执行时长的预测装置对叶子结点集合中的叶子结点通过k均值聚类算法,将叶子结点聚类为6类,得到6个节点子集合。将6个节点子集合中所有叶子结点的特征向量的均值作为6个节点子集合的节点的向量。
111.s705、针对多个节点子集合,语句执行时长的预测装置根据节点子集合中的节点
生成子节点。
112.示例性的,语句执行时长的预测装置根据节点子集合中的节点生成子节点。如图8所示,语句执行时长的预测装置根据6个节点子集合的节点,通过k均值聚类算法,将叶子结点聚类为3类,得到3个节点子集合,将3个节点子集合中所有节点的特征向量的均值作为3个节点子集合的节点的向量。
113.s706、语句执行时长的预测装置确定目标节点集合中包括多个节点子集合对应的子节点。
114.示例性的,语句执行时长的预测装置将多个节点子集合对应的多个子节点进行聚类。
115.基于上述技术方案,语句执行时长的预测装置将历史语句的特征向量作为叶子节点,将叶子结点作为目标节点集合,并对目标节点集合中,所有的叶子节点进行聚类得到多个子节点集合,并根据节点子集合中的节点生成子节点。直到目标节点集合中生成的子节点的数量少于或等于阈值时,将目标节点集合中子节点聚类为一类,即得到根节点。因此,上述技术方案可以生成向量化索引树,便于语句执行时长的预测装置对目标语句通过索引树,得到语句执行时长的预测值。
116.本技术实施例可以根据上述方法示例对语句执行时长的预测装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
117.如图9所示,为本技术实施例提供的一种语句执行时长的预测装置90的结构示意图,该装置包括:通信单元901以及处理单元902。
118.通信单元901,用于获取目标语句的第一参数信息;第一参数信息包括目标语句的特征向量以及所在的数据表。
119.处理单元902,用于根据目标语句所在的数据表从多个索引树中确定目标索引树;多个索引树与多个数据表一一对应;索引树中包括多个节点;多个节点中至少包括根节点和叶子节点;叶子节点与历史语句的特征向量一一对应;目标索引树对应的数据表为目标语句所在的数据表。
120.处理单元902,还用于从目标索引树中确定出目标叶子节点;目标叶子节点对应的特征向量与目标语句的特征向量之间的特征距离最小。
121.处理单元902,还用于将目标叶子节点对应的历史语句的执行时长作为目标语句的时长预测值。
122.处理单元902,还用于将目标索引树的根节点作为目标节点;对目标节点执行第一操作,直至目标节点为目标索引树的叶子节点,将此时的目标节点确定为目标叶子节点。第一操作包括:分别计算目标语句的特征向量与目标节点的至少一个子节点对应的特征向量的特征距离;将至少一个子节点中特征距离最小的子节点作为目标节点。
123.处理单元902,还用于获取多个历史语句中每个历史语句的第二参数信息;第二参数信息包括历史语句的特征向量、所在的数据表以及执行时长;根据历史语句所在的数据表将多个历史语句分为多个语句集合;语句集合与数据表一一对应;针对各个语句集合,生
成语句集合对应的索引树。
124.处理单元902,还用于将语句集合中的各个历史语句的特征向量作为对应的索引树中的叶子节点;确定目标节点集合中包括对应的索引树中的叶子节点;对目标节点集合执行第二操作,直至目标节点集合中的节点数量小于或等于预设阈值,根据目标节点集合中的节点生成根节点;第二操作包括:对目标节点集合中的节点进行聚类,得到多个节点子集合;针对多个节点子集合,根据节点子集合中的节点生成子节点;确定目标节点集合中包括多个节点子集合对应的子节点。
125.一种可能的实现方式中,语句执行时长的预测装置90还可以包括存储单元903(图9中以虚线框示出),该存储单元903存储有程序或指令,当处理单元902执行该程序或指令时,使得语句执行时长的预测装置90可以执行上述方法实施例所述的语句执行时长的预测方法。
126.在通过硬件实现时,本技术实施例中的通信单元901可以集成在通信接口上,处理单元902可以集成在处理器上。具体实现方式如图10所示。
127.图10示出了上述实施例中所涉及的语句执行时长的预测装置的又一种可能的结构示意图。该语句执行时长的预测装置包括:处理器1002和通信接口1001。处理器1002用于对语句执行时长的预测装置的动作进行控制管理,例如,执行上述处理单元902执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口1001用于支持语句执行时长的预测装置与其他网络实体的通信,例如,执行上述通信单元901执行的步骤。语句执行时长的预测装置还可以包括存储器1003和总线1004,存储器1003用于存储语句执行时长的预测装置的程序代码和数据。
128.其中,存储器1003可以是语句执行时长的预测装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
129.上述处理器1002可以是实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
130.总线1004可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线1004可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
131.图10中的语句执行时长的预测装置还可以为芯片。该芯片包括一个或两个以上(包括两个)处理器1002和通信接口1001。
132.在一些实施例中,该芯片还包括存储器1003,存储器1003可以包括只读存储器和随机存取存储器,并向处理器1002提供操作指令和数据。存储器1003的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。
133.在一些实施方式中,存储器1003存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
134.在本技术实施例中,通过调用存储器1003存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
135.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
136.本技术实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的语句执行时长的预测方法。
137.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的语句执行时长的预测方法。
138.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
139.由于本技术的实施例中的语句执行时长的预测装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术实施例在此不再赘述。
140.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
141.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
142.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
143.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1