亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

Olap聚合運算時的內(nèi)存優(yōu)化方法和裝置的制造方法

文檔序號:10594171閱讀:429來源:國知局
Olap聚合運算時的內(nèi)存優(yōu)化方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種OLAP聚合運算時的內(nèi)存優(yōu)化方法和裝置,該方法包括:根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼;在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,索引編碼被保存為鍵值表的鍵,原始數(shù)據(jù)中的鍵被保存為鍵值表的值;當(dāng)進行OLAP聚合運算時,從鍵值表中將索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。在運算過程中通過索引編碼代替了原始數(shù)據(jù)中的鍵,能夠降低OLAP聚合運算過程中的內(nèi)存占用。
【專利說明】
OLAP聚合運算時的內(nèi)存優(yōu)化方法和裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于計算機技術(shù)領(lǐng)域,具體地說,涉及一種OLAP聚合運算時的內(nèi)存優(yōu)化方法和裝置。
【背景技術(shù)】
[0002]聯(lián)機分析處理(On-Line Analytical Processing,0LAP)是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。對于OLAP系統(tǒng)來說,絕大多數(shù)時候數(shù)據(jù)庫上運行著的是報表作業(yè),執(zhí)行基本上是聚合類的SQL操作,比如分組(group by) ο
[0003]OLAP的聚合運算,例如求和(Sum)、最大值(Max)、最小值(Min)、取平均(Ave)等,通常需要計算各個鍵(Key)所對應(yīng)的度量值。在一個報表中,每一個鍵通常由多個維度的屬性組成,例如姓名(name)、地址(adress)等等。在計算時,利用各個維度之間的不同組合分別做為鍵來計算對應(yīng)的度量值,那么,把鍵放入到內(nèi)存中進行運算時,由各個維度組合而成的鍵都是字符串(String)類型,對內(nèi)存空間的占用較大,并且維度越高,所占用的內(nèi)存空間就越大。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明實施例提供了一種OLAP聚合運算時的內(nèi)存優(yōu)化方法和裝置,用以解決現(xiàn)有技術(shù)中OLAP聚合運算過程中內(nèi)存占用過大的技術(shù)問題。
[0005]為了解決上述技術(shù)問題,本發(fā)明公開了一種OLAP聚合運算時的內(nèi)存優(yōu)化方法,包括:根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼;在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲所述原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,所述索引編碼被保存為所述鍵值表的鍵,所述原始數(shù)據(jù)中的鍵被保存為所述鍵值表的值;當(dāng)進行OLAP聚合運算時,從所述鍵值表中將所述索弓I編碼讀取到內(nèi)存中來完成OLAP聚合運算。
[0006]為了解決上述技術(shù)問題,本發(fā)明公開了一種OLAP聚合運算時的內(nèi)存優(yōu)化裝置,包括:編碼模塊,用于根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼;映射模塊,用于在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲所述原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,所述索引編碼被保存為所述鍵值表的鍵,所述原始數(shù)據(jù)中的鍵被保存為所述鍵值表的值;運算模塊,用于當(dāng)進行OLAP聚合運算時,從所述鍵值表中將所述索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。
[0007]與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的OLAP聚合運算時的內(nèi)存優(yōu)化方法和裝置,針對原始數(shù)據(jù)中的鍵建立索引編碼,在運算過程中通過索引編碼代替了原始數(shù)據(jù)中的鍵,能夠降低OLAP聚合運算過程中的內(nèi)存占用。
【附圖說明】
[0008]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0009]圖1是本發(fā)明實施例的系統(tǒng)架構(gòu)示意圖;
[0010]圖2是本發(fā)明實施例在內(nèi)存中創(chuàng)建的字典樹的示意圖;
[0011]圖3是本發(fā)明實施例在內(nèi)存中創(chuàng)建的字典樹的示意圖;
[0012]圖4是本發(fā)明實施例在內(nèi)存中創(chuàng)建的字典樹的示意圖;
[0013]圖5是本發(fā)明實施例提供的一種OLAP聚合運算時的內(nèi)存優(yōu)化方法的流程圖;
[0014]圖6是本發(fā)明實施例提供的一種OLAP聚合運算時的內(nèi)存優(yōu)化方法的流程圖;
[0015]圖7是本發(fā)明實施例提供的一種OLAP聚合運算時的內(nèi)存優(yōu)化裝置的框圖。
【具體實施方式】
[0016]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0017]本發(fā)明實施例對OLAP聚合運算所使用的原始數(shù)據(jù)中的鍵(Key)建立索引編碼,并記錄在非關(guān)系型數(shù)據(jù)庫(nosql)的鍵值表中,將索引編碼做為鍵值表中的鍵,將原始數(shù)據(jù)中的鍵做為鍵值表中的值,進行OLAP聚合運算時,將鍵值表的中的索引編碼讀取到內(nèi)存中完成聚合運算,通過索引編碼代替了原始數(shù)據(jù)中的鍵,從而降低了運算過程中的內(nèi)存占用。此夕卜,還可以在內(nèi)存中依據(jù)讀取到的索引編碼建立對應(yīng)的字典樹,進一步減少了需要維護的內(nèi)存數(shù)據(jù)量。
[0018]圖1是本發(fā)明實施例的系統(tǒng)架構(gòu)示意圖,包括分布式存儲系統(tǒng)10和終端設(shè)備11。分布式存儲系統(tǒng)10可采用HBase(Hadoop Database,基于Hadoop系統(tǒng)架構(gòu)的數(shù)據(jù)庫),所有數(shù)據(jù)文件都存儲在HDFS(Hadoop分布式文件系統(tǒng),Hadoop Distributed File System)文件系統(tǒng)上,包括大量的Key-Value數(shù)據(jù)。終端設(shè)備10可以是計算機設(shè)備或者其他提供OLAP的服務(wù)設(shè)備。
[0019]在分布式存儲系統(tǒng)10中保存的Key-Value數(shù)據(jù)中,鍵(Key)是各種維(Dimens1n)的組合,例如,“時間,地點,產(chǎn)品”等數(shù)據(jù)的維共同組成一個鍵;值(Value)是在對應(yīng)的鍵(維組合)下的取值,例如,“價格、銷量”等。這些Key-Value數(shù)據(jù)可能分別存儲在分布式存儲系統(tǒng)的不同集群中,也是終端設(shè)備11進行OLAP聚合運算所要使用的原始數(shù)據(jù)。
[0020]本發(fā)明實施例中,在分布式存儲系統(tǒng)10的元數(shù)據(jù)服務(wù)器中,可以利用非關(guān)系型數(shù)據(jù)庫(nosql)創(chuàng)建一個索引表,該索引表是一個鍵值(Key-Value)表。在這個鍵值表中,將分布式存儲系統(tǒng)10中保存的原始數(shù)據(jù)的鍵做為鍵值表的值,根據(jù)預(yù)設(shè)編碼方式為原始數(shù)據(jù)的鍵創(chuàng)建對應(yīng)的索引編碼,并將該索引編碼做為鍵值表中對應(yīng)的鍵。例如,將原始數(shù)據(jù)中由“時間,地點,產(chǎn)品”等維所組成的鍵“2016年I月,上海,智能電視”存儲為鍵值表的值,根據(jù)預(yù)設(shè)編碼方式創(chuàng)建索引編碼“121”,將“121”做為鍵值表中與值“2016年I月,上海,智能電視”對應(yīng)的鍵。那么,通過這個鍵值表的鍵(索引編碼)就能夠定位到原始數(shù)據(jù)的鍵以及對應(yīng)的度量(如“價格、銷量”等)。
[0021]預(yù)設(shè)編碼方式包括以下幾種方式。
[0022](I)采用十進制數(shù)字編碼
[0023]編碼中的每一位都可以采用0-9的數(shù)字,如果編碼位數(shù)為三位,則可代表10+102+13種不同的維組合。數(shù)字0-9數(shù)據(jù)類型可使用整型,相對于字符型占用的內(nèi)存空間更少。
[0024](2)采用boolean類型的二進制數(shù)字編碼
[0025]在這種編碼中,使用的數(shù)字都是boolean類型的O和I,每一位僅占用一個字節(jié),對內(nèi)存的優(yōu)化效果最好。但是由于每一位只能代表兩種情形,當(dāng)數(shù)據(jù)的維很高,各種維組合的數(shù)量很大時,編碼的位數(shù)會變得相當(dāng)長。當(dāng)原始數(shù)據(jù)量較小(例如100GB以內(nèi)時),可以優(yōu)選使用這種編碼方式,使內(nèi)存優(yōu)化效果更佳。
[0026](3)采用二十六進制字符編碼
[0027]編碼中的每一位都可以采用A-Z的字符,每一位都可以代表二十六種情形,如果編碼位數(shù)是3位,則可以代表26+262+263種不同的維組合。當(dāng)原始數(shù)據(jù)量很大(例如1TB以上時),可以優(yōu)選考慮這種編碼方式。
[0028]本發(fā)明實施例中優(yōu)選使用第(I)種編碼方式,既可以達(dá)到不錯的內(nèi)存優(yōu)化效果,也能夠應(yīng)付較多的原始數(shù)據(jù)量。
[0029]終端設(shè)備11進行進行OLAP聚合運算時,從該鍵值表中將索引編碼讀取到內(nèi)存中,并利用該索引編碼來完成OLAP聚合運算。此時,不再需要將原始數(shù)據(jù)的鍵讀取到內(nèi)存中,由于原始數(shù)據(jù)的鍵通常是字符串型,因此通過索引編碼代替了原始數(shù)據(jù)中的鍵,能夠降低OLAP聚合運算過程中的內(nèi)存占用。
[0030]為了進一步優(yōu)化內(nèi)存空間,終端設(shè)備11在將鍵值表中的索引編碼讀取到內(nèi)存中時,根據(jù)索引編碼的預(yù)設(shè)編碼方式在內(nèi)存中構(gòu)建字典樹。
[0031]如果索引編碼采用第(I)種編碼方式,則創(chuàng)建的字典樹如圖2所示,每個節(jié)點的下一級節(jié)點都可以包括0-9這十個子節(jié)點。如果索引編碼采用第(2)種編碼方式,則創(chuàng)建的字典樹如圖3所示,每個節(jié)點的下一級節(jié)點都可以包括O和I這兩個子節(jié)點。如果索引編碼采用第(3)種編碼方式,則創(chuàng)建的字典樹如圖4所示,每個節(jié)點的下一級節(jié)點都可以包括A-Z這二十六個子節(jié)點。
[0032]當(dāng)進行OLAP聚合運算時,讀取鍵值表中的索引編碼再查詢內(nèi)存中的字典樹來完成OLAP聚合運算。
[0033]構(gòu)建字典樹之后,對于索引編碼中同一個編碼位的相同編碼,可以只通過一個節(jié)點就可以維護,例如索引編碼“121”和“122”,前兩位“I”和“2”相同,通過一個一級節(jié)點T和一個二級節(jié)點“2”,就可以同時維護這兩個索引編碼的前兩位,從而進一步壓縮了內(nèi)存數(shù)據(jù)量,減小了內(nèi)存開銷,使內(nèi)存空間得到進一步優(yōu)化。
[0034]在利用非關(guān)系型數(shù)據(jù)庫(nosql)創(chuàng)建索引表時,還可以同時再創(chuàng)建一個反向索引表。在該反向索引表中,將原始數(shù)據(jù)的鍵做為反向索引表中的鍵,將索引編碼做為反向索引表中的值。這樣,在利用索引編碼查詢聚合運算的結(jié)果時,就可以通過反向索引表定位到原始數(shù)據(jù)的鍵。
[0035]基于以上論述,本發(fā)明實施例提供了一種OLAP聚合運算時的內(nèi)存優(yōu)化方法,如圖5所示,包括:
[0036]S20,根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼;
[0037]S21,在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,索引編碼被保存為鍵值表的鍵,原始數(shù)據(jù)中的鍵被保存為鍵值表的值;
[0038]S22,當(dāng)進行OLAP聚合運算時,從鍵值表中將索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。
[0039]原始數(shù)據(jù)的鍵通常是字符串型,通過索引編碼代替了原始數(shù)據(jù)中的鍵,能夠降低OLAP聚合運算過程中的內(nèi)存占用。
[0040]在一個實施例中,如圖6所示,步驟S22進一步包括以下步驟。
[0041 ] S221,在內(nèi)存中創(chuàng)建與預(yù)設(shè)編碼方式對應(yīng)的字典樹;
[0042]S222,當(dāng)進行OLAP聚合運算時,讀取索引編碼并查詢字典樹來完成OLAP聚合運算。
[0043]通過在內(nèi)存中建立字典樹來進一步壓縮內(nèi)存數(shù)據(jù)量,使內(nèi)存空間能夠得到進一步優(yōu)化。
[0044]在本發(fā)明的上述實施例中,步驟S20可以進一步包括:
[0045]利用十進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。既能達(dá)到不錯的內(nèi)存優(yōu)化效果,又能夠應(yīng)對原始數(shù)據(jù)較多的情形。
[0046]該步驟20還可以進一步包括:
[0047]利用boolean類型的二進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。boolean類型的二進制數(shù)字編碼每一位占用一個字節(jié),能達(dá)到更加的內(nèi)存優(yōu)化效果。
[0048]此外,該步驟20還可以進一步包括:
[0049]利用二十六進制字符編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。編碼中的每一位都可以有二十六種變化,索引效果更好,適用于原始數(shù)據(jù)量較大或者數(shù)據(jù)維的組合較多的情形。
[0050]在一個實施例中,該步驟21進一步包括以下步驟。
[0051 ] S211,在非關(guān)系型數(shù)據(jù)庫的鍵值表和反向索引表中分別存儲原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼;在鍵值表中,索引編碼被保存為鍵值表的鍵,原始數(shù)據(jù)中的鍵被保存為鍵值表的值;在反向索引表中,索引編碼被保存為值,原始數(shù)據(jù)中的鍵被保存為鍵。
[0052]在查詢該聚合運算的結(jié)果時,可通過該反向索引表進行查詢,通過索引編碼定位到原始數(shù)據(jù)的鍵。
[0053]下面是本發(fā)明的裝置實施例,用于執(zhí)行本發(fā)明的上述方法實施例。
[0054]圖7是本發(fā)明實施例提供的一種OLAP聚合運算時的內(nèi)存優(yōu)化裝置,其包括:
[0055]編碼模塊30,用于根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼;
[0056]映射模塊31,用于在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,索引編碼被保存為鍵值表的鍵,原始數(shù)據(jù)中的鍵被保存為所述鍵值表的值;
[0057]運算模塊32,用于當(dāng)進行OLAP聚合運算時,從鍵值表中將索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。
[0058]在一個實施例中,該運算模塊32進一步包括:
[0059]處理子模塊,用于在內(nèi)存中創(chuàng)建與預(yù)設(shè)編碼方式對應(yīng)的字典樹;
[0060]運算子模塊,用于當(dāng)進行OLAP聚合運算時,讀取索引編碼并查詢字典樹來完成OLAP聚合運算。
[0061]在本發(fā)明的上述實施例中,該編碼模塊30可以進一步包括:
[0062]第一編碼子模塊,用于利用十進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。
[0063]該編碼模塊30還可以進一步包括:
[0064]第二編碼子模塊,用于利用boolean類型的二進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。
[0065]該編碼模塊30還可以進一步包括:
[0066]第三編碼子模塊,用于利用二十六進制字符編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。
[0067]在一個實施例中,映射模塊31可以進一步包括:
[0068]映射子模塊,用于在非關(guān)系型數(shù)據(jù)庫的鍵值表和反向索引表中分別存儲原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼;在鍵值表中,索引編碼被保存為鍵值表的鍵,原始數(shù)據(jù)中的鍵被保存為鍵值表的值;在反向索引表中,索引編碼被保存為值,原始數(shù)據(jù)中的鍵被保存為鍵。
[0069]上述OLAP聚合運算時的內(nèi)存優(yōu)化裝置提供的各功能模塊可以位于同一設(shè)備(例如都位于圖1的終端設(shè)備11或者分布式存儲系統(tǒng)10的元數(shù)據(jù)服務(wù)器),或者,上述各功能模塊也可以位于不同設(shè)備(例如,編碼模塊30和映射模塊31位于圖1中分布式存儲系統(tǒng)10的元數(shù)據(jù)服務(wù)器,而運算模塊32位于終端設(shè)備11)。
[0070]此外,本發(fā)明實施例中可以通過硬件處理器(hardware processor)來實現(xiàn)上述各個功能模塊。
[0071]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0072]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0073]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.一種OLAP聚合運算時的內(nèi)存優(yōu)化方法,其特征在于,包括: 根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼; 在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲所述原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,所述索引編碼被保存為所述鍵值表的鍵,所述原始數(shù)據(jù)中的鍵被保存為所述鍵值表的值; 當(dāng)進行OLAP聚合運算時,從所述鍵值表中將所述索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)進行OLAP聚合運算時,從所述鍵值表中將所述索弓I編碼讀取到內(nèi)存中來完成OLAP聚合運算包括: 在內(nèi)存中創(chuàng)建與所述預(yù)設(shè)編碼方式對應(yīng)的字典樹; 當(dāng)進行OLAP聚合運算時,讀取所述索引編碼并查詢所述字典樹來完成OLAP聚合運算。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼包括: 利用十進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼包括: 利用boolean類型的二進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼包括: 利用二十六進制字符編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。6.一種OLAP聚合運算時的內(nèi)存優(yōu)化裝置,其特征在于,包括: 編碼模塊,用于根據(jù)預(yù)設(shè)編碼方式對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼; 映射模塊,用于在非關(guān)系型數(shù)據(jù)庫的鍵值表中存儲所述原始數(shù)據(jù)中的鍵以及對應(yīng)的索引編碼,所述索引編碼被保存為所述鍵值表的鍵,所述原始數(shù)據(jù)中的鍵被保存為所述鍵值表的值; 運算模塊,用于當(dāng)進行OLAP聚合運算時,從所述鍵值表中將所述索引編碼讀取到內(nèi)存中來完成OLAP聚合運算。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述運算模塊包括: 處理子模塊,用于在內(nèi)存中創(chuàng)建與所述預(yù)設(shè)編碼方式對應(yīng)的字典樹; 運算子模塊,用于當(dāng)進行OLAP聚合運算時,讀取所述索引編碼并查詢所述字典樹來完成OLAP聚合運算。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述編碼模塊包括: 第一編碼子模塊,用于利用十進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述編碼模塊包括: 第二編碼子模塊,用于利用boolean類型的二進制數(shù)字編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述編碼模塊包括: 第三編碼子模塊,用于利用二十六進制字符編碼對原始數(shù)據(jù)中的鍵創(chuàng)建對應(yīng)的索引編碼。
【文檔編號】G06F17/30GK105956071SQ201610279001
【公開日】2016年9月21日
【申請日】2016年4月28日
【發(fā)明人】楊海樂
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1