[發(fā)明專利]一種對OLAP預(yù)計算模型進(jìn)行動態(tài)優(yōu)化的方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201711065734.8 | 申請日: | 2017-11-02 |
| 公開(公告)號: | CN108052522B | 公開(公告)日: | 2020-08-25 |
| 發(fā)明(設(shè)計)人: | 史少峰;韓卿;劉凱歌 | 申請(專利權(quán))人: | 上海跬智信息技術(shù)有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453 |
| 代理公司: | 北京輕創(chuàng)知識產(chǎn)權(quán)代理有限公司 11212 | 代理人: | 楊立;李瑩瑩 |
| 地址: | 201203 上海市浦東新區(qū)*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 olap 預(yù)計 模型 進(jìn)行 動態(tài) 優(yōu)化 方法 系統(tǒng) | ||
本發(fā)明涉及一種對OLAP預(yù)計算模型進(jìn)行動態(tài)優(yōu)化的方法及系統(tǒng),該方法包括:接收用戶輸入的查詢語句;分析查詢語句中使用的查詢信息;根據(jù)預(yù)定義引擎規(guī)則,從特征查詢信息中查找出當(dāng)前OLAP預(yù)計算模型不支持的特征查詢信息,將不支持的特征查詢信息轉(zhuǎn)換成新的虛擬查詢信息;將新的虛擬查詢信息添加到原始查詢表中,形成新的查詢表;根據(jù)新的查詢表和新的虛擬查詢信息,創(chuàng)建新的OLAP預(yù)計算模型。還涉及一種系統(tǒng),還系統(tǒng)包括:查詢統(tǒng)計分析器、模型優(yōu)化器、規(guī)則引擎庫、統(tǒng)計數(shù)據(jù)庫。通過本發(fā)明創(chuàng)建新的OLAP預(yù)計算模型,這樣可以提升查詢效率,減少存儲空間,對用戶透明,且更高效地應(yīng)對大數(shù)據(jù)上靈活復(fù)雜的分析場景。
技術(shù)領(lǐng)域
本發(fā)明屬于OLAP預(yù)計算領(lǐng)域,尤其涉及一種對OLAP預(yù)計算模型進(jìn)行動態(tài)優(yōu)化的方法及系統(tǒng)。
背景技術(shù)
在現(xiàn)有的OLAP解決方案中,為了更加快速地對選定維度進(jìn)行分析,會對OLAPCube進(jìn)行物化,即提前通過預(yù)計算將OLAPCube上每個節(jié)點(diǎn)的度量進(jìn)行聚合,并把結(jié)果保存起來。當(dāng)業(yè)務(wù)分析人員執(zhí)行查詢時,系統(tǒng)可以直接對預(yù)計算結(jié)果進(jìn)行返回。把O(N)級別的聚合運(yùn)算轉(zhuǎn)化成O(1)的結(jié)果查詢。
但是,在遇到所需要分析的內(nèi)容無法從這些已知的維度直接獲取時,分析結(jié)果便不能根據(jù)OLAPCube的方式進(jìn)行預(yù)先計算了。比如我們假設(shè)time這個維度記錄的是訂單生成的詳細(xì)日期,分析訂單時我們需要對比分析每個月的不同周的銷售情況,那么在查詢時我們就要對該time維度進(jìn)行邏輯計算,獲取該日期在當(dāng)月的第幾周內(nèi)。由于預(yù)計算是在日期這個粒度上進(jìn)行的,所以我們在查詢時,需要先將之前在日期粒度上計算的結(jié)果查出,然后再根據(jù)日期計算出的周數(shù)進(jìn)行匯總。這是基于預(yù)計算的OLAP技術(shù)方案在處理包含業(yè)務(wù)邏輯計算的復(fù)雜查詢時的常見問題。無法對業(yè)務(wù)邏輯進(jìn)行預(yù)先計算,在查詢時,還需要在數(shù)據(jù)立方體上進(jìn)行再次掃描,實時的對業(yè)務(wù)邏輯進(jìn)行二次計算,這大大降低了查詢效率。
目前大多是通過創(chuàng)建視圖或者抽取、轉(zhuǎn)換、加載(ETL)等方式將包含業(yè)務(wù)邏輯的計算變換成一個或者多個列,預(yù)計算時使用轉(zhuǎn)換后的列作為預(yù)計算的維度,充分利用預(yù)計算的優(yōu)勢,達(dá)到提高查詢效率的目的。
但是這樣的方式會導(dǎo)致由于原始業(yè)務(wù)邏輯已經(jīng)通過創(chuàng)建視圖或者ETL轉(zhuǎn)換成新的列,當(dāng)與客戶端集成時,對應(yīng)的查詢語句也需要發(fā)生變化,查詢需要被改寫成使用新創(chuàng)建的列的查詢,而非原始查詢。這對于使用工具生成查詢語句的系統(tǒng)來說,集成的成本非常高,需要對工具進(jìn)行二次開發(fā)或者改寫。對于使用第三方商業(yè)軟件進(jìn)行查詢的系統(tǒng)來說,甚至是無法集成。
通常來說,業(yè)務(wù)邏輯是會發(fā)生變化的。當(dāng)業(yè)務(wù)邏輯發(fā)生變化時,通過創(chuàng)建視圖或者ETL轉(zhuǎn)換的列也要進(jìn)行一定的改動。這勢必會使得視圖會被頻繁的改寫,或者ETL的實現(xiàn)代碼不斷的被修改。該技術(shù)方案并不能靈活應(yīng)對業(yè)務(wù)邏輯的變化,帶來了較高的維護(hù)成本。
另外,在提高查詢效率的同時也需要消耗成本,因此并不是預(yù)先計算的內(nèi)容越多越好。通常來說,我們對那些頻繁被查詢到的內(nèi)容才進(jìn)行預(yù)計算。那么對于使用創(chuàng)建視圖和ETL轉(zhuǎn)換的方案來說,難以正確區(qū)分頻繁查詢到的內(nèi)容與偶爾查詢的內(nèi)容,無法對所有的情況進(jìn)行通用的處理,這樣也大大增加了預(yù)計算的成本。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是:現(xiàn)有的OLAP查詢方式,其效率比較低,預(yù)計算成本比較高,通用性差,靈活性差。
為解決上面的技術(shù)問題,本發(fā)明提供了一種對OLAP預(yù)計算模型進(jìn)行動態(tài)優(yōu)化的方法,該方法包括:
S1,接收用戶輸入的查詢語句;
S2,根據(jù)預(yù)定義引擎規(guī)則分析所述查詢語句中使用的查詢信息,判斷所述查詢信息中是否有與所述預(yù)定義引擎規(guī)則中的查詢規(guī)則相匹配的特征查詢信息;
S3,若匹配,則統(tǒng)計所述特征查詢信息的出現(xiàn)次數(shù),并將所述特征查詢信息存儲到統(tǒng)計數(shù)據(jù)庫中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海跬智信息技術(shù)有限公司,未經(jīng)上海跬智信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711065734.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 靈活的立方體數(shù)據(jù)入庫
- 面向并發(fā)OLAP的數(shù)據(jù)庫查詢處理方法
- 數(shù)據(jù)處理及查詢方法、裝置
- 一種內(nèi)存云計算平臺上的數(shù)據(jù)倉庫安全OLAP方法
- OLAP服務(wù)方法、裝置及系統(tǒng)
- 一種用于電子商務(wù)系統(tǒng)的OLAP系統(tǒng)
- 一種基于可擴(kuò)展節(jié)點(diǎn)集群的大數(shù)據(jù)分析處理系統(tǒng)
- 一種基于查詢推理的OLAP元數(shù)據(jù)沖突的自動修復(fù)方法
- 一種基于可擴(kuò)展節(jié)點(diǎn)集群的大數(shù)據(jù)分析處理系統(tǒng)
- OLAP自動創(chuàng)建并寫入MQ數(shù)據(jù)的方法及系統(tǒng)





