基于多維表達(dá)式語言的維度查詢方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于多維表達(dá)式語言的維度查詢方法及裝置。該方法包括:確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;在符合查詢條件的指標(biāo)中確定第一指標(biāo);根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。通過本發(fā)明,解決了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題。
【專利說明】基于多維表達(dá)式語言的維度查詢方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種基于多維表達(dá)式語言的維度查詢方法及裝置。
【背景技術(shù)】
[0002]在SSAS數(shù)據(jù)分析領(lǐng)域中,采用多維表達(dá)式(mult1-dimens1nal express1ns,簡稱為MDX)語言進行查詢,往往對很多大維度進行查詢,如Url,同時也會需要對大維度的成員值進行過濾的情況,如Url包含某些關(guān)鍵字進行過濾的情況,但是采用MDX語言在維度表中過濾時速度慢,效率低。
[0003]針對現(xiàn)有技術(shù)在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種基于多維表達(dá)式語言的維度查詢方法及裝置,以解決現(xiàn)有技術(shù)在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題。
[0005]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種基于多維表達(dá)式語言的維度查詢方法。
[0006]根據(jù)本發(fā)明的基于多維表達(dá)式語言的維度查詢方法包括:確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。
[0007]進一步地,在符合查詢條件的指標(biāo)中確定第一指標(biāo)包括:確定事實表中符合查詢條件的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);獲取查詢條件的指標(biāo)與第一維度表之間的映射關(guān)系;以及根據(jù)映射關(guān)系得到第一維度表對應(yīng)的第一指標(biāo)。
[0008]進一步地,接收多維表達(dá)式語言查詢指令包括:確定成員值集合;接收過濾指令,其中,過濾指令為用于對成員值集合進行過濾,得到非空的成員值集合的指令;根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合;根據(jù)非空的成員值集合,確定與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及接收多維表達(dá)式語言查詢指令。
[0009]進一步地,獲取待查詢的維度表中的第一維度表包括:確定待查詢的維度表中各維度表的成員值數(shù)量;獲取待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;確定事實表中的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);以及將待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
[0010]進一步地,根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合包括:確定第一維度表中的成員值;判斷第一維度表中的成員值是否與第一指標(biāo)是否存在映射關(guān)系;如果第一維度表中的成員值與第一指標(biāo)不存在映射關(guān)系,刪除成員值;以及如果第一維度表中的成員值與第一指標(biāo)存在映射關(guān)系,保留成員值。
[0011]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種基于多維表達(dá)式語言的維度查詢裝置。
[0012]根據(jù)本發(fā)明的基于多維表達(dá)式語言的維度查詢裝置包括:第一確定單元,用于確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取單元,用于獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;第二確定單元,用于在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);過濾單兀,用于根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收單元,用于接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及處理單元,用于根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。
[0013]進一步地,第二確定單元包括:第一確定模塊,用于確定事實表中符合查詢條件的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);第一獲取模塊,用于獲取查詢條件的指標(biāo)與第一維度表之間的映射關(guān)系;以及第二獲取模塊,用于根據(jù)映射關(guān)系得到第一維度表對應(yīng)的第一指標(biāo)。
[0014]進一步地,接收單元包括:第二確定模塊,用于確定成員值集合;接收模塊,用于接收過濾指令,其中,過濾指令為用于對成員值集合進行過濾,得到非空的成員值集合的指令;過濾模塊,用于根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合;第三確定模塊,用于根據(jù)非空的成員值集合,確定與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及第三獲取模塊,用于接收多維表達(dá)式語言查詢指令。
[0015]進一步地,獲取單元包括:第四確定模塊,用于確定待查詢的維度表中各維度表的成員值數(shù)量;第四獲取模塊,用于獲取待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;第五確定模塊,用于確定事實表中的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);以及第五獲取模塊,用于將待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
[0016]進一步地,過濾單元包括:第六確定模塊,用于確定第一維度表中的成員值;判斷模塊,用于判斷第一維度表中的成員值是否與第一指標(biāo)是否存在映射關(guān)系;刪除模塊,用于在第一維度表中的成員值與第一指標(biāo)不存在映射關(guān)系的情況下,刪除成員值;以及保留模塊,用于在第一維度表中的成員值與第一指標(biāo)存在映射關(guān)系的情況下,保留成員值。
[0017]通過本發(fā)明,采用以下步驟:確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理,解決了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題,進而達(dá)到了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,提成查詢速度的效果。
【專利附圖】
【附圖說明】
[0018]構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)本發(fā)明第一實施例的基于多維表達(dá)式語言的維度查詢方法的流程圖;
[0020]圖2是根據(jù)本發(fā)明第二實施例的基于多維表達(dá)式語言的維度查詢方法的流程圖;以及
[0021]圖3是根據(jù)本發(fā)明實施例的基于多維表達(dá)式語言的維度查詢裝置的示意圖。
【具體實施方式】
[0022]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。
[0023]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。
[0024]需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實施例。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0025]圖1是根據(jù)本發(fā)明第一實施例的基于多維表達(dá)式語言的維度查詢方法的流程圖。如圖1所示,該方法包括如下的步驟SlOl至步驟S106:
[0026]步驟S101,確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表。
[0027]接收并確定查詢條件、確定分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)以及在分析數(shù)據(jù)庫中在多個維度表中確定需要查詢的維度表。
[0028]步驟S102,獲取待查詢的維度表中的第一維度表。
[0029]獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表。
[0030]優(yōu)選地,獲取待查詢的維度表中的第一維度表包括:確定待查詢的維度表中各維度表的成員值數(shù)量;獲取待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;確定事實表中的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);以及將待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
[0031]通過待查詢的維度表中各維度表的成員值數(shù)量,獲取待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表為第一維度表,即確定出大維度表。
[0032]步驟S103,在符合查詢條件的指標(biāo)中確定弟一指標(biāo)。
[0033]在分析數(shù)據(jù)庫的事實表中確定與第一維度表存在映射關(guān)系的指標(biāo),再按照查詢條件在對該指標(biāo)進行篩選,將篩選出的指標(biāo)作為第一指標(biāo)。
[0034]優(yōu)選地,在符合查詢條件的指標(biāo)中確定第一指標(biāo)包括:確定事實表中符合查詢條件的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);獲取查詢條件的指標(biāo)與第一維度表之間的映射關(guān)系;以及根據(jù)映射關(guān)系得到第一維度表對應(yīng)的第一指標(biāo)。
[0035]通過獲取查詢條件的指標(biāo)與第一維度表之間的映射關(guān)系,根據(jù)該映射關(guān)系得到第一維度表對應(yīng)的第一指標(biāo)。從而在符合查詢條件的指標(biāo)中確定出第一指標(biāo)。
[0036]步驟S104,根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集入口 ο
[0037]根據(jù)上述符合查詢條件的第一指標(biāo),對第一維度表中的成員值進行過濾處理,得到成員值集合。
[0038]優(yōu)選地,根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合包括:確定第一維度表中的成員值;判斷第一維度表中的成員值是否與第一指標(biāo)是否存在映射關(guān)系;如果第一維度表中的成員值與第一指標(biāo)不存在映射關(guān)系,刪除成員值;以及如果第一維度表中的成員值與第一指標(biāo)存在映射關(guān)系,保留成員值。
[0039]通過判斷第一維度表中的成員值是否與第一指標(biāo)是否存在映射關(guān)系,刪除不存在的映射關(guān)系的維度表中的成員值以及保留與第一指標(biāo)存在映射關(guān)系的維度表中的成員值。通過該步驟,刪除了維度表中的部分成員值,即從指標(biāo)不為空的角度對大維度的成員值做一次快速的過濾,從而在基于多維表達(dá)式語言查詢處理時,提高查詢速度。
[0040]步驟S105,接收多維表達(dá)式語言查詢指令。
[0041]接收多維表達(dá)式語言(mult1-dimens1nal express1ns,簡稱為MDX)查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令。
[0042]需要說明的是,此處的接收多維表達(dá)式語言查詢指令為外部輸入的多維表達(dá)式語言查詢代碼生成的多維表達(dá)式語言查詢指令。
[0043]例如,接收MDX查詢指令,具體的MDX查詢指令為:count ({(filter (nonempty ({[Page].[OriginalUrl].children}, [Measures].[pageviews]);即對為 pageviews 的維度表進行查詢?yōu)閏hildren的成員值。
[0044]步驟S106,根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。
[0045]根據(jù)上述接收到的多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理,得到查詢結(jié)果。
[0046]需要說明的是,本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢方法中對大維度做Filter行級別的過濾時,可采用維度鏈中的其它維度共同過濾出的相應(yīng)指標(biāo)(即與大維度有直接關(guān)聯(lián)的),先從指標(biāo)不為空的角度對大維度的成員值做一次快速的過濾,再對其做行級別的過濾,能顯著減少Filter的行級別的過濾的集合大小,從而提升了查詢速度。
[0047]本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢方法,通過確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理,解決了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題,進而達(dá)到了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,提成查詢速度的效果。
[0048]圖2是根據(jù)本發(fā)明第二實施例的基于多維表達(dá)式語言的維度查詢方法的流程圖。圖2可以作為圖1所示實施例的一種優(yōu)選實施方式。如圖2所示,該方法包括如下的步驟S201至步驟S210:
[0049]步驟S201,確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表。
[0050]該步驟同步驟S101,這里不再贅述。
[0051]步驟S202,獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表。
[0052]該步驟同步驟S102,這里不再贅述。
[0053]步驟S203,在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo)。
[0054]該步驟同步驟S103,這里不再贅述。
[0055]步驟S204,根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集入口 ο
[0056]該步驟同步驟S104,這里不再贅述。
[0057]步驟S205,確定成員值集合。
[0058]確定上述根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到的成員值集口 O
[0059]步驟S206,接收過濾指令。
[0060]接收過濾指令,其中,過濾指令為用于對成員值集合進行過濾,得到非空的成員值集合的指令。
[0061]步驟S207,根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合。
[0062]根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合。即從指標(biāo)不為空的角度對大維度的成員值做一次快速的過濾。
[0063]步驟S208,根據(jù)非空的成員值集合,確定與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令。
[0064]根據(jù)上述得到非空的成員值集合,確定出與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令。
[0065]例如,上述得到非空的成員值集合為pageviews ;確定出與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令為:count ({(filter (nonempty ({[Page].[OriginalUrl].children}, [Measures].[pageviews]);即對為 pageviews 的維度表進行查詢?yōu)?children的成員值。
[0066]步驟S209,獲取多維表達(dá)式語言查詢指令。
[0067]獲取多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令。
[0068]步驟S210,根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。
[0069]該步驟同步驟S106,這里不再贅述。
[0070]本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢方法,通過確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;確定成員值集合;接收過濾指令,其中,過濾指令為用于對成員值集合進行過濾,得到非空的成員值集合的指令;根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合;根據(jù)非空的成員值集合,確定與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及獲取多維表達(dá)式語言查詢指令;以及根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理,解決了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題,進而達(dá)到了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,提成查詢速度的效果。
[0071]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0072]本發(fā)明實施例還提供了一種基于多維表達(dá)式語言的維度查詢裝置,需要說明的是,本發(fā)明實施例的基于多維表達(dá)式語言的維度查詢裝置可以用于執(zhí)行本發(fā)明實施例所提供的用于基于多維表達(dá)式語言的維度查詢方法。以下對本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置進行介紹。
[0073]圖3是根據(jù)本發(fā)明的基于多維表達(dá)式語言的維度查詢裝置的示意圖。如圖3所示,該裝置包括:第一確定單元10、獲取單元20、第二確定單元30、過濾單元40、接收單元50和處理單元60。
[0074]第一確定單元10,用于確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表。
[0075]獲取單元20,用于獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表。
[0076]優(yōu)選地,在本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置中,獲取單元20包括:第四確定模塊,用于確定待查詢的維度表中各維度表的成員值數(shù)量;第四獲取模塊,用于獲取待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;第五確定模塊,用于確定事實表中的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);以及第五獲取模塊,用于將待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
[0077]第二確定單元30,用于在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo)。
[0078]優(yōu)選地,在本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置中,第二確定單元30包括:第一確定模塊,用于確定事實表中符合查詢條件的指標(biāo),其中,事實表用于存儲分析數(shù)據(jù)庫中所有的指標(biāo);第一獲取模塊,用于獲取查詢條件的指標(biāo)與第一維度表之間的映射關(guān)系;以及第二獲取模塊,用于根據(jù)映射關(guān)系得到第一維度表對應(yīng)的第一指標(biāo)。
[0079]過濾單元40,用于根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合。
[0080]優(yōu)選地,在本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置中,該過濾單元40包括:第六確定模塊,用于確定第一維度表中的成員值;判斷模塊,用于判斷第一維度表中的成員值是否與第一指標(biāo)是否存在映射關(guān)系;刪除模塊,用于在第一維度表中的成員值與第一指標(biāo)不存在映射關(guān)系的情況下,刪除成員值;以及保留模塊,用于在第一維度表中的成員值與第一指標(biāo)存在映射關(guān)系的情況下,保留成員值。
[0081]接收單元50,用于接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令。
[0082]優(yōu)選地,在本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置中,該接收單元50包括:第二確定模塊,用于確定成員值集合;接收模塊,用于接收過濾指令,其中,過濾指令為用于對成員值集合進行過濾,得到非空的成員值集合的指令;過濾模塊,用于根據(jù)過濾指令對成員值集合進行過濾,得到非空的成員值集合;第三確定模塊,用于根據(jù)非空的成員值集合,確定與非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及第三獲取模塊,用于獲取多維表達(dá)式語言查詢指令。
[0083]處理單元60,用于根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理。
[0084]本發(fā)明實施例提供的基于多維表達(dá)式語言的維度查詢裝置,通過第一確定單元10確定查詢條件和分析數(shù)據(jù)庫中符合查詢條件的指標(biāo)和待查詢的維度表;獲取單元20獲取待查詢的維度表中的第一維度表,其中,第一維度表是待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;第二確定單元30在符合查詢條件的指標(biāo)中確定第一指標(biāo),其中,第一指標(biāo)為與第一維度表存在映射關(guān)系的指標(biāo);過濾單元40根據(jù)第一指標(biāo)對第一維度表中的成員值進行過濾處理,得到成員值集合;接收單元50接收多維表達(dá)式語言查詢指令,其中,多維表達(dá)式語言查詢指令是基于成員值集合得到的查詢指令;以及處理單元60根據(jù)多維表達(dá)式語言查詢指令對成員值集合執(zhí)行查詢處理,解決了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,查詢速度慢的問題,進而達(dá)到了在分析數(shù)據(jù)庫的維度表中基于多維表達(dá)式語言查詢處理時,提成查詢速度的效果。
[0085]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0086]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種基于多維表達(dá)式語言的維度查詢方法,其特征在于,包括: 確定查詢條件和分析數(shù)據(jù)庫中符合所述查詢條件的指標(biāo)和待查詢的維度表; 獲取所述待查詢的維度表中的第一維度表,其中,所述第一維度表是所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表; 在符合所述查詢條件的指標(biāo)中確定第一指標(biāo),其中,所述第一指標(biāo)為與所述第一維度表存在映射關(guān)系的指標(biāo); 根據(jù)所述第一指標(biāo)對所述第一維度表中的成員值進行過濾處理,得到成員值集合; 接收多維表達(dá)式語言查詢指令,其中,所述多維表達(dá)式語言查詢指令是基于所述成員值集合得到的查詢指令;以及 根據(jù)多維表達(dá)式語言查詢指令對所述成員值集合執(zhí)行查詢處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在符合所述查詢條件的指標(biāo)中確定第一指標(biāo)包括: 確定事實表中符合所述查詢條件的指標(biāo),其中,所述事實表用于存儲所述分析數(shù)據(jù)庫中所有的指標(biāo); 獲取所述查詢條件的指標(biāo)與所述第一維度表之間的映射關(guān)系;以及 根據(jù)所述映射關(guān)系得到所述第一維度表對應(yīng)的第一指標(biāo)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,接收多維表達(dá)式語言查詢指令包括: 確定所述成員值集合; 接收過濾指令,其中,所述過濾指令為用于對所述成員值集合進行過濾,得到非空的成員值集合的指令; 根據(jù)所述過濾指令對所述成員值集合進行過濾,得到非空的成員值集合; 根據(jù)所述非空的成員值集合,確定與所述非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及 獲取所述多維表達(dá)式語言查詢指令。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取所述待查詢的維度表中的第一維度表包括: 確定所述待查詢的維度表中各維度表的成員值數(shù)量; 獲取所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表; 確定事實表中的指標(biāo),其中,所述事實表用于存儲所述分析數(shù)據(jù)庫中所有的指標(biāo);以及將所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與所述事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述第一指標(biāo)對所述第一維度表中的成員值進行過濾處理,得到成員值集合包括: 確定所述第一維度表中的成員值; 判斷所述第一維度表中的成員值是否與所述第一指標(biāo)是否存在映射關(guān)系; 如果所述第一維度表中的成員值與所述第一指標(biāo)不存在映射關(guān)系,刪除所述成員值;以及 如果所述第一維度表中的成員值與所述第一指標(biāo)存在映射關(guān)系,保留所述成員值。
6.一種基于多維表達(dá)式語言的維度查詢裝置,其特征在于,包括: 第一確定單元,用于確定查詢條件和分析數(shù)據(jù)庫中符合所述查詢條件的指標(biāo)和待查詢的維度表; 獲取單元,用于獲取所述待查詢的維度表中的第一維度表,其中,所述第一維度表是所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表; 第二確定單元,用于在符合所述查詢條件的指標(biāo)中確定第一指標(biāo),其中,所述第一指標(biāo)為與所述第一維度表存在映射關(guān)系的指標(biāo); 過濾單元,用于根據(jù)所述第一指標(biāo)對所述第一維度表中的成員值進行過濾處理,得到成員值集合; 接收單元,用于接收多維表達(dá)式語言查詢指令,其中,所述多維表達(dá)式語言查詢指令是基于所述成員值集合得到的查詢指令;以及 處理單元,用于根據(jù)多維表達(dá)式語言查詢指令對所述成員值集合執(zhí)行查詢處理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二確定單元包括: 第一確定模塊,用于確定事實表中符合所述查詢條件的指標(biāo),其中,所述事實表用于存儲所述分析數(shù)據(jù)庫中所有的指標(biāo); 第一獲取模塊,用于獲取所述查詢條件的指標(biāo)與所述第一維度表之間的映射關(guān)系;以及 第二獲取模塊,用于根據(jù)所述映射關(guān)系得到所述第一維度表對應(yīng)的第一指標(biāo)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述接收單元包括: 第二確定模塊,用于確定所述成員值集合; 接收模塊,用于接收過濾指令,其中,所述過濾指令為用于對所述成員值集合進行過濾,得到非空的成員值集合的指令; 過濾模塊,用于根據(jù)所述過濾指令對所述成員值集合進行過濾,得到非空的成員值集合; 第三確定模塊,用于根據(jù)所述非空的成員值集合,確定與所述非空的成員值集合對應(yīng)的多維表達(dá)式語言查詢指令;以及 第三獲取模塊,用于獲取所述多維表達(dá)式語言查詢指令。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述獲取單元包括: 第四確定模塊,用于確定所述待查詢的維度表中各維度表的成員值數(shù)量; 第四獲取模塊,用于獲取所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表;第五確定模塊,用于確定事實表中的指標(biāo),其中,所述事實表用于存儲所述分析數(shù)據(jù)庫中所有的指標(biāo);以及 第五獲取模塊,用于將所述待查詢的維度表中成員值數(shù)量大于預(yù)設(shè)閾值的維度表與所述事實表中的指標(biāo)建立映射關(guān)系,得到第一維度表。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述過濾單元包括: 第六確定模塊,用于確定所述第一維度表中的成員值; 判斷模塊,用于判斷所述第一維度表中的成員值是否與所述第一指標(biāo)是否存在映射關(guān)系; 刪除模塊,用于在所述第一維度表中的成員值與所述第一指標(biāo)不存在映射關(guān)系的情況下,刪除所述成員值;以及 保留模塊,用于在所述第一維度表中的成員值與所述第一指標(biāo)存在映射關(guān)系的情況下,保留所述成員值。
【文檔編號】G06F17/30GK104408169SQ201410750941
【公開日】2015年3月11日 申請日期:2014年12月9日 優(yōu)先權(quán)日:2014年12月9日
【發(fā)明者】洪超 申請人:北京國雙科技有限公司