本技術(shù)涉及數(shù)據(jù)處理,尤其涉及一種查詢方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、目前對于多維大數(shù)據(jù)量的應(yīng)用系統(tǒng),通常使用預(yù)計算的查詢方式獲取查詢結(jié)果,查詢預(yù)計算是一種優(yōu)化技術(shù),目的在于提高查詢性能和效率,所謂查詢預(yù)計算是指在執(zhí)行查詢之前,先對數(shù)據(jù)進行預(yù)先計算和處理,以便在查詢請求時能夠更快地提供查詢結(jié)果。
2、例如,以一個數(shù)據(jù)量較大的分布式監(jiān)控集群管理系統(tǒng)為例,該系統(tǒng)包括區(qū)域監(jiān)控數(shù)據(jù)采集節(jié)點、集中監(jiān)控查詢節(jié)點、監(jiān)控告警點及管控節(jié)點,在查詢節(jié)點中,通過定期查詢當(dāng)前采集節(jié)點個指標(biāo)實時采集數(shù)據(jù)量,并結(jié)合預(yù)先定義的預(yù)計算指標(biāo)項,進行數(shù)據(jù)的預(yù)計算工作,得到新指標(biāo)數(shù)據(jù)保存,并將新指標(biāo)數(shù)據(jù)與預(yù)計算指標(biāo)項的映射關(guān)系保存在數(shù)據(jù)庫中。
3、上述方案雖然能夠縮短查詢時間,但是均通過預(yù)計算的查詢方式來獲取查詢結(jié)果會占用大量的計算資源和數(shù)據(jù)存儲空間,因此,需要實現(xiàn)一種查詢方法,既能夠縮短查詢時間,又不會占用太多的存儲空間。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種查詢方法、裝置、設(shè)備及存儲介質(zhì),用以提升查詢速度并減少存儲空間的占用。
2、第一方面,本技術(shù)提供一種查詢方法,該方法包括:
3、獲取用戶輸入的查詢條件,確定所述查詢條件對應(yīng)的查詢維度;
4、根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式;
5、若所述查詢方式為預(yù)計算,則從各預(yù)計算結(jié)果中確定所述查詢條件對應(yīng)的查詢結(jié)果;若所述查詢方式為非預(yù)計算,則根據(jù)所述查詢條件對應(yīng)的查詢維度進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果;
6、將所述查詢條件對應(yīng)的查詢結(jié)果返回給用戶。
7、本技術(shù)提供的查詢方法,在獲取用戶的查詢條件后,首先確定查詢條件對應(yīng)的查詢維度,然后根據(jù)查詢維度確定對應(yīng)的查詢方式,表明本技術(shù)并非所有的查詢結(jié)果都通過預(yù)計算的方式來獲得,對于非預(yù)計算方式的,則是通過在線計算來獲得查詢結(jié)果;也就是說,本技術(shù)對是否采用預(yù)計算的查詢方式進行了判斷,減少了用于存儲預(yù)計算結(jié)果的存儲空間,因此,本技術(shù)既提升了獲取查詢結(jié)果的速度,又減少了存儲預(yù)計算結(jié)果所需占用的存儲空間。
8、在一種可能的設(shè)計中,根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式,包括:
9、確定所述查詢條件對應(yīng)的查詢維度所屬的維度層級組合;
10、若所述維度層級組合屬于預(yù)計算組合標(biāo)簽,則確定所述查詢條件對應(yīng)的查詢方式為預(yù)計算;任一預(yù)計算組合標(biāo)簽是通過分類模型對多個查詢維度下的各維度層級組合對應(yīng)的查詢條件進行查詢時間預(yù)測后得到的,其中所述分類模型輸出的查詢時間大于期望響應(yīng)時間的維度層級組合被設(shè)置為所述預(yù)計算組合標(biāo)簽。
11、所謂期望響應(yīng)時間,是指用戶在進行查詢操作時,能夠在期望響應(yīng)時間內(nèi)獲得查詢結(jié)果,采用分類模型對某維度層級組合進行預(yù)測時,如果模型輸出的時間小于或等于期望響應(yīng)時間,表明能夠在較短時間內(nèi)獲得該維度層級組合對應(yīng)的查詢條件的查詢結(jié)果,如此,不必為該維度層級組合設(shè)置預(yù)計算組合標(biāo)簽,即使在線計算也可以較快地返回查詢結(jié)果給用戶,使得用戶具有較好的體驗感。
12、在一種可能的設(shè)計中,所述分類模型通過如下方式確定,包括:
13、收集多條歷史查詢語句以及所述多條歷史查詢語句中每一條歷史查詢語句所需的查詢時間;
14、確定所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合;
15、根據(jù)所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合以及所述多條歷史查詢語句中每一條歷史查詢語句所需的查詢時間進行訓(xùn)練,獲得所述分類模型。
16、采用歷史查詢語句對應(yīng)的特征集合以及歷史查詢語句所需的查詢時間進行訓(xùn)練獲得分類模型,因此,該分類模型在根據(jù)特征集合預(yù)測特征集合對應(yīng)的查詢時間時具有較好的準(zhǔn)確性。
17、在一種可能的設(shè)計中,所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合包括第一特征、第二特征、第三特征、第四特征以及第五特征中的至少一個;
18、所述第一特征是所述第一歷史查詢語句關(guān)聯(lián)的事實表的數(shù)量;所述第二特征是所述第一歷史查詢語句對應(yīng)的查詢維度的數(shù)量;所述第三特征與事實表的全量數(shù)據(jù)量關(guān)聯(lián);所述第四特征是各查詢維度的總數(shù);所述第五特征是單一查詢維度下維度層級的最大數(shù)量;所述第一歷史查詢語句為所述多條歷史查詢語句中的任意一條。
19、本技術(shù)考慮到影響查詢時間主要有以下幾個因素:第一,查詢語句涉及的數(shù)據(jù)量,即對應(yīng)上述第一特征;第二,查詢語句涉及的查詢維度個數(shù),不同的維度組合意味著不同的查詢計劃,更多的維度可能意味著更多的過濾、連接和聚合操作,進而增加查詢時間,該影響因素即對應(yīng)上述第二特征;第三,全量數(shù)據(jù)量,全量數(shù)據(jù)量越大,意味著需要掃描的原始數(shù)據(jù)越多,進而增加查詢時間,該影響因素即對應(yīng)上述第三特征;第四,查詢維度總數(shù),更多的查詢維度需要維護更多的索引,查詢索引時會消耗更多的時間,相當(dāng)于增加查詢時間,該影響因素即對應(yīng)上述第四特征;第五,各查詢維度下的分類數(shù),分類數(shù)也就是維度層級數(shù)量,維度層級數(shù)量越多,意味著需要掃描更多的數(shù)據(jù)塊,進而增加查詢時間,該影響因素即對應(yīng)上述第五特征;本技術(shù)分類模型基于第一特征~第五特征來預(yù)測查詢所需時間,能夠提升預(yù)測結(jié)果的準(zhǔn)確性,進而提升預(yù)計算標(biāo)簽設(shè)置的準(zhǔn)確性。
20、在一種可能的設(shè)計中,根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式,包括:
21、確定所述查詢條件對應(yīng)的查詢維度是否為聚合維度;任一聚合維度對應(yīng)的數(shù)據(jù)量大于設(shè)定數(shù)量;任一查詢維度對應(yīng)的數(shù)據(jù)量超過所述設(shè)定數(shù)量時,具有所述查詢維度的查詢條件在查詢時所需的查詢時間大于所述期望響應(yīng)時間;
22、若為聚合維度,則所述查詢條件對應(yīng)的查詢方式為預(yù)計算。
23、當(dāng)查詢維度對應(yīng)的數(shù)據(jù)量大于設(shè)定數(shù)量且該查詢維度的查詢條件在查詢時所需的查詢時間大于期望響應(yīng)時間,說明獲取該查詢維度對應(yīng)的查詢結(jié)果需要較長的時間,應(yīng)該將該查詢維度設(shè)置為聚合維度,縮短查詢時間,提升用戶體驗感。
24、在一種可能的設(shè)計中,若所述查詢方式為非預(yù)計算,則根據(jù)所述查詢條件對應(yīng)的查詢維度進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果,包括:
25、若所述查詢方式為非預(yù)計算,則確定所述查詢條件對應(yīng)的查詢維度在下層維度上為聚合維度的維度層級;
26、獲取所述在下層維度上為聚合維度的維度層級中與所述查詢條件對應(yīng)的預(yù)計算結(jié)果;
27、根據(jù)與所述查詢條件對應(yīng)的預(yù)計算結(jié)果進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果。
28、對于非預(yù)計算的查詢條件,首先確定該查詢條件對應(yīng)的查詢維度在下層維度上為聚合維度的維度層級,基于下層維度層級中的預(yù)計算結(jié)果進行在線計算獲得查詢結(jié)果,相較于直接根據(jù)查詢條件進行在線計算,可以提升一定的查詢速度。
29、在一種可能的設(shè)計中,任一聚合維度通過如下方式確定:
30、按照每個查詢維度下維度層級由頂層到底層的順序,統(tǒng)計每個查詢維度下各維度層級中的數(shù)據(jù)量;
31、確定數(shù)據(jù)量大于所述設(shè)定數(shù)量的維度層級為聚合維度;
32、根據(jù)預(yù)設(shè)聚合指標(biāo)對聚合維度下的數(shù)據(jù)進行聚合,獲得預(yù)計算結(jié)果。
33、在一種可能的設(shè)計中,所述多個查詢維度包括機構(gòu)查詢維度、日期查詢維度以及產(chǎn)品分類查詢維度中的至少一個;其中,所述機構(gòu)查詢維度下的維度層級包括省分行、市分行、縣分行、一級網(wǎng)點、二級網(wǎng)點以及支行網(wǎng)點中的至少一個。
34、第二方面,本技術(shù)提供一種查詢裝置,該裝置包括:收發(fā)單元和處理單元;
35、所述收發(fā)單元,用于獲取用戶輸入的查詢條件,確定所述查詢條件對應(yīng)的查詢維度;
36、所述處理單元,用于根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式;若所述查詢方式為預(yù)計算,則從各預(yù)計算結(jié)果中確定所述查詢條件對應(yīng)的查詢結(jié)果;若所述查詢方式為非預(yù)計算,則根據(jù)所述查詢條件對應(yīng)的查詢維度進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果;
37、所述收發(fā)單元,還用于將所述查詢條件對應(yīng)的查詢結(jié)果返回給用戶。
38、在一種可能的設(shè)計中,所述處理單元,用于根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式時:
39、確定所述查詢條件對應(yīng)的查詢維度所屬的維度層級組合;
40、若所述維度層級組合屬于預(yù)計算組合標(biāo)簽,則確定所述查詢條件對應(yīng)的查詢方式為預(yù)計算;任一預(yù)計算組合標(biāo)簽是通過分類模型對多個查詢維度下的各維度層級組合對應(yīng)的查詢條件進行查詢時間預(yù)測后得到的,其中,所述分類模型輸出的查詢時間大于期望響應(yīng)時間的維度層級組合被設(shè)置為所述預(yù)計算組合標(biāo)簽。
41、在一種可能的設(shè)計中,所述收發(fā)單元,還用于收集多條歷史查詢語句以及所述多條歷史查詢語句中每一條歷史查詢語句所需的查詢時間;所述處理單元,還用于確定所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合;根據(jù)所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合以及所述多條歷史查詢語句中每一條歷史查詢語句所需的查詢時間進行訓(xùn)練,獲得所述分類模型。
42、在一種可能的設(shè)計中,所述多條歷史查詢語句中每一條歷史查詢語句對應(yīng)的特征集合包括第一特征、第二特征、第三特征、第四特征以及第五特征中的至少一個;
43、所述第一特征是所述第一歷史查詢語句關(guān)聯(lián)的事實表的數(shù)量;所述第二特征是所述第一歷史查詢語句對應(yīng)的查詢維度的數(shù)量;所述第三特征與事實表的全量數(shù)據(jù)量關(guān)聯(lián);所述第四特征是各查詢維度的總數(shù);所述第五特征是單一查詢維度下維度層級的最大數(shù)量;所述第一歷史查詢語句為所述多條歷史查詢語句中的任意一條。
44、在一種可能的設(shè)計中,所述處理單元,用于根據(jù)所述查詢條件對應(yīng)的查詢維度確定所述查詢條件對應(yīng)的查詢方式時:確定所述查詢條件對應(yīng)的查詢維度是否為聚合維度;任一聚合維度對應(yīng)的數(shù)據(jù)量大于設(shè)定數(shù)量;任一查詢維度對應(yīng)的數(shù)據(jù)量超過所述設(shè)定數(shù)量時,具有所述查詢維度的查詢條件在查詢時所需的查詢時間大于所述期望響應(yīng)時間;若為聚合維度,則所述查詢條件對應(yīng)的查詢方式為預(yù)計算。
45、在一種可能的設(shè)計中,若所述查詢方式為非預(yù)計算,則所述處理單元根據(jù)所述查詢條件對應(yīng)的查詢維度進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果時:若所述查詢方式為非預(yù)計算,則確定所述查詢條件對應(yīng)的查詢維度在下層維度上為聚合維度的維度層級;獲取所述在下層維度上為聚合維度的維度層級中與所述查詢條件對應(yīng)的預(yù)計算結(jié)果;根據(jù)與所述查詢條件對應(yīng)的預(yù)計算結(jié)果進行在線計算,獲得所述查詢條件對應(yīng)的查詢結(jié)果。
46、在一種可能的設(shè)計中,任一聚合維度通過如下方式確定:所述處理單元按照每個查詢維度下維度層級由頂層到底層的順序,統(tǒng)計每個查詢維度下各維度層級中的數(shù)據(jù)量;確定數(shù)據(jù)量大于所述設(shè)定數(shù)量的維度層級為聚合維度;根據(jù)預(yù)設(shè)聚合指標(biāo)對聚合維度下的數(shù)據(jù)進行聚合,獲得預(yù)計算結(jié)果。
47、在一種可能的設(shè)計中,所述多個查詢維度包括機構(gòu)查詢維度、日期查詢維度以及產(chǎn)品分類查詢維度中的至少一個;其中,所述機構(gòu)查詢維度下的維度層級包括省分行、市分行、縣分行、一級網(wǎng)點、二級網(wǎng)點以及支行網(wǎng)點中的至少一個。
48、第三方面,本技術(shù)還提供一種查詢設(shè)備,該設(shè)備包括:處理器,以及與所述處理器通信連接的存儲器;
49、所述存儲器存儲計算機執(zhí)行指令;
50、所述處理器執(zhí)行所述存儲器存儲的計算機執(zhí)行指令,以實現(xiàn)上述第一方面所述的方法。
51、第四方面,本技術(shù)還提供一種計算機可讀存儲介質(zhì),所述可讀存儲介質(zhì)包括程序,當(dāng)所述程序在裝置上執(zhí)行時,使得所述裝置執(zhí)行如上述第一方面中任一項所述的方法。
52、第五方面,本技術(shù)還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面所述的方法。