新四季網

語句執行時長的預測方法、裝置及存儲介質與流程

2024-04-16 15:33:05 1



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.以上,僅為本技術的具體實施方式,但本技術的保護範圍並不局限於此,任何在本技術揭露的技術範圍內的變化或替換,都應涵蓋在本技術的保護範圍之內。因此,本技術的保護範圍應該以權利要求的保護範圍為準。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀