本發(fā)明涉及一種混合索引方法,尤其是一種基于大數(shù)據(jù)模型元數(shù)據(jù)的混合索引方法。
背景技術(shù):
::伴隨著云計算、分布式集群和大數(shù)據(jù)研究的出現(xiàn),原有的關(guān)系型數(shù)據(jù)庫和索引逐漸不能滿足現(xiàn)在的網(wǎng)絡(luò)和計算要求,尤其是關(guān)系型數(shù)據(jù)庫的一致性已經(jīng)顯得沒有那么重要,這就需要新的數(shù)據(jù)存儲方式和索引方式的出現(xiàn)。2009年,一場關(guān)于開源分布式數(shù)據(jù)庫的討論使得nosql應(yīng)運而生,隨著google的分布式文件系統(tǒng)和bigtable的開源化,非關(guān)系型數(shù)據(jù)庫得到國內(nèi)外的重視、研究和運用。與關(guān)系型數(shù)據(jù)庫不同的是,非關(guān)系型數(shù)據(jù)庫提出另一種記錄的存儲和管理方式,例如,以鍵值對存儲,且結(jié)構(gòu)不固定,每一個存儲記錄-元組既可以有補一樣的字段,也可以根據(jù)需要添加鍵值對,這樣就不會局限于固定的結(jié)構(gòu),可以減少一些時間和空間開銷。同時為了獲取不同的信息,不需要像關(guān)系型數(shù)據(jù)庫對表進行關(guān)聯(lián)查詢,只需要根據(jù)id取出相應(yīng)的value即可。非關(guān)系型數(shù)據(jù)庫的顛覆性結(jié)構(gòu)和存儲使得其索引變得更加困難,同時也引起了更多的研究機構(gòu)和學(xué)者的注意。從針對全局索引到分布式環(huán)境中局部索引的改進,從支持唯一索引到哈希索引的引進,非關(guān)系型數(shù)據(jù)庫和其索引在大數(shù)據(jù)研究中發(fā)揮的作用越來越大。無論是在關(guān)系型數(shù)據(jù)庫還是在非關(guān)系型數(shù)據(jù)庫中,研究人員均發(fā)現(xiàn)了單一的索引方式在某些特定場合發(fā)揮的作用低下,尤其是在空間數(shù)據(jù)和局部微小數(shù)據(jù)的查詢上。于是,混合索引和多級索引結(jié)構(gòu)伴隨著不同的索引需求出現(xiàn)了,尤其是通過內(nèi)存、緩存和外存的存儲方式加上哈希樹(表)、b樹(b+樹、b*樹)、r樹(r相關(guān)樹)和倒排表在搜索引擎、文檔的全文搜索和空間位置方面的運用尤為突出?;旌纤饕耐怀鎏攸c在大數(shù)據(jù)研究方面也作用顯著,在健康(醫(yī)療)大數(shù)據(jù)、交通大數(shù)據(jù)和能源大數(shù)據(jù)的某些數(shù)據(jù)源上得到了很好的使用。并行混合索引,即是在分布式集群上構(gòu)建一個混合索引實現(xiàn)并行檢索。由于大數(shù)據(jù)模型數(shù)量多,體積小,分布廣泛,易擴展和易改變等特點,當前的關(guān)系型數(shù)據(jù)庫已不太適合進行模型管理和存儲;又因為分布式集群動態(tài)擴展和大數(shù)據(jù)模型動態(tài)運行特征等因素,故選擇非關(guān)系型數(shù)據(jù)庫-mongodb進行大數(shù)據(jù)模型的存儲和管理。因此本發(fā)明提出了一種基于大數(shù)據(jù)模型元數(shù)據(jù),針對大數(shù)據(jù)模型的的并行混合索引方法。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于大數(shù)據(jù)模型元數(shù)據(jù)的混合索引方法,能夠解決在大數(shù)據(jù)模型綜合分析平臺下的模型檢索和管理問題。本發(fā)明是通過以下技術(shù)方案來實現(xiàn)的:一種基于大數(shù)據(jù)模型元數(shù)據(jù)的混合索引結(jié)構(gòu),包括以下步驟:s1:提取混合索引元數(shù)據(jù),根據(jù)大數(shù)據(jù)模型元數(shù)據(jù)和模型解釋、運行特征,提取得到構(gòu)建混合索引的元數(shù)據(jù),并根據(jù)元數(shù)據(jù)的屬性值為元數(shù)據(jù)賦值為1或0;s2:構(gòu)建或更新混合索引,根據(jù)提取得到的元數(shù)據(jù)和元數(shù)據(jù)值,利用全域哈希函數(shù),對大數(shù)據(jù)模型記錄的提交構(gòu)建或者更新混合索引;s3:儲存混合索引,根據(jù)混合索引的特點,將混合索引的各個部分分別存儲于內(nèi)存、緩存和磁盤上,根據(jù)查詢要求依次可并行檢索索引中內(nèi)容;s4:檢索混合索引,根據(jù)大數(shù)據(jù)模型的特點和混合索引特征構(gòu)建檢索算法并行檢索混合索引的不同部分。所述提取混合索引元數(shù)據(jù)包括以下子步驟:s11:基于大數(shù)據(jù)模型元數(shù)據(jù),根據(jù)大數(shù)據(jù)模型在設(shè)計、解釋和調(diào)度執(zhí)行中的元數(shù)據(jù)屬性更新情況,提取得到構(gòu)建大數(shù)據(jù)模型混合索引使用的16個元數(shù)據(jù),分別為:并行特征,輸入格式,輸出格式,數(shù)據(jù)輸入量,數(shù)據(jù)輸出量,輸出可視化,用戶自定義特征,模型模式,解釋時間,解釋約束,解釋工作狀態(tài),執(zhí)行環(huán)境,調(diào)度類型,執(zhí)行時間,調(diào)度控制和同步/異步調(diào)度;s12:根據(jù)大數(shù)據(jù)模型在設(shè)計、解釋和調(diào)度執(zhí)行的生命周期內(nèi)的元數(shù)據(jù)屬性值更新,為元數(shù)據(jù)屬性值設(shè)置閾值,從而可以直接為元數(shù)據(jù)賦值為1或者0。當大數(shù)據(jù)模型在整個生命周期內(nèi)不存在相應(yīng)的元數(shù)據(jù)值,則為相應(yīng)的元數(shù)據(jù)賦值為2并嚴格控制一個模型的元數(shù)據(jù)值出現(xiàn)2的個數(shù)小于等于5,包含1/0和2的元數(shù)據(jù)屬性值嚴格限制了大數(shù)據(jù)模型的元數(shù)據(jù)序列結(jié)構(gòu)。所述構(gòu)建或更新混合索引包括以下子步驟:s21:由s1得到的元數(shù)據(jù)值均為1或者0,基于元數(shù)據(jù)和其屬性值構(gòu)建決策字典樹獲取大數(shù)據(jù)模型的序列值。每個模型有且僅有一條從根節(jié)點到樹末端節(jié)點的路徑,此路徑由0、1和2組成,也就是說每個大數(shù)據(jù)模型通過決策字典樹可以得到唯一一個包含0、1和2的有序序列值;s22:根據(jù)雪崩效應(yīng)思想,選取改進的bkdrhash算法實現(xiàn)大數(shù)據(jù)模型與哈希隱射地址的對應(yīng)關(guān)系。由于數(shù)字序列值的唯一性和序列的順序性,根據(jù)bkdrhash算法讓每個字符權(quán)值相加的特性,得到大數(shù)據(jù)模型的即可得到所以bkdrhash函數(shù)選取的系數(shù)跟大數(shù)據(jù)模型的路徑序列和序列大小有關(guān),可指定p=216-1=65535,又因為65535不是質(zhì)數(shù),則p=65533。根據(jù)模型序列可得到模型的自然數(shù)值;s23:根據(jù)s22得到每個大數(shù)據(jù)模型的自然數(shù)值后,通過“除數(shù)取余”散列法得到余數(shù)散列至各集群的的主機上,“除數(shù)取余”散列法的除數(shù)選取跟集群的邏輯地址有關(guān),然后根據(jù)模型記錄的更新情況構(gòu)建混合索引。所述儲存混合索引中,混合索引中包含哈希節(jié)點、桶緩存、溢出頁和b+樹四部分,其中哈希節(jié)點和桶緩存是在保留緩沖區(qū)(內(nèi)存中),溢出頁是在緩存(或內(nèi)存)中,b+樹存儲在外存(磁盤)上,在使用時進入集群內(nèi)存。所述檢索混合索引中根據(jù)混合索引不同部分的存儲介質(zhì)和不同部分檢索速度,可以得到檢索順序為:哈希節(jié)點>桶緩沖≥溢出頁≥b+樹;又根據(jù)混合索引的更新特征treeflag,構(gòu)建檢索算法。本發(fā)明的有益效果是:為現(xiàn)有的大數(shù)據(jù)模型綜合分析平臺提供了一種高效準確的模型索引技術(shù),此混合索引緊密結(jié)合了大數(shù)據(jù)模型的元數(shù)據(jù)和模型特征,提高了檢索速度,增加了大數(shù)據(jù)模型使用的便捷性。附圖說明圖1為本發(fā)明流程圖;圖2為本發(fā)明-改進的bkdrhash算法構(gòu)建哈希隱射圖;圖3為本發(fā)明-檢索算法圖;圖4為本發(fā)明的混合索引結(jié)構(gòu)圖;圖5為本發(fā)明的混合索引方法流程圖。具體實施方式下面結(jié)合具體實施例進一步詳細描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護范圍不局限于以下所述。實施例1如圖1和圖4所示,一種基于大數(shù)據(jù)模型元數(shù)據(jù)的混合索引結(jié)構(gòu),包括以下步驟:s1:提取混合索引元數(shù)據(jù),根據(jù)大數(shù)據(jù)模型元數(shù)據(jù)和模型解釋、運行特征,提取得到構(gòu)建混合索引的元數(shù)據(jù),并根據(jù)大數(shù)據(jù)模型的解釋和運行特征為元數(shù)據(jù)屬性賦值為1或0;s2:構(gòu)建或更新混合索引,根據(jù)提取得到的元數(shù)據(jù)和元數(shù)據(jù)屬性值,通過構(gòu)造全域哈希函數(shù),對大數(shù)據(jù)模型記錄的提交構(gòu)建或者更新混合索引;s3:儲存混合索引,根據(jù)混合索引的特點,將混合索引的各個部分分別存儲于內(nèi)存、緩存和外存(磁盤)上,根據(jù)查詢要求依次可并行檢索索引中內(nèi)容;s4:檢索混合索引,根據(jù)大數(shù)據(jù)模型的特點和混合索引特征構(gòu)建檢索算法并行檢索混合索引的不同部分。所述提取混合索引元數(shù)據(jù)包括以下子步驟:s11:基于大數(shù)據(jù)模型元數(shù)據(jù),根據(jù)大數(shù)據(jù)模型在設(shè)計、解釋和調(diào)度執(zhí)行中的元數(shù)據(jù)屬性更新情況,提取得到構(gòu)建大數(shù)據(jù)模型混合索引使用的16個元數(shù)據(jù),分別為:并行特征,輸入格式,輸出格式,數(shù)據(jù)輸入量,數(shù)據(jù)輸出量,輸出可視化,用戶自定義特征,模型模式,解釋時間,解釋約束,解釋工作狀態(tài),執(zhí)行環(huán)境,調(diào)度類型,執(zhí)行時間,調(diào)度控制和同步/異步調(diào)度;s12:根據(jù)大數(shù)據(jù)模型在設(shè)計、解釋和調(diào)度執(zhí)行的生命周期內(nèi)的元數(shù)據(jù)屬性值更新,為元數(shù)據(jù)屬性值設(shè)置閾值,從而可以直接為元數(shù)據(jù)賦值為1或者0。當大數(shù)據(jù)模型在整個生命周期內(nèi)不存在相應(yīng)的元數(shù)據(jù)值,則為相應(yīng)的元數(shù)據(jù)賦值為2并嚴格控制一個模型的元數(shù)據(jù)值出現(xiàn)2的個數(shù)小于等于5,包含1/0和2的元數(shù)據(jù)屬性值嚴格限制了大數(shù)據(jù)模型的元數(shù)據(jù)序列結(jié)構(gòu)。所述構(gòu)建或更新混合索引包括以下子步驟:s21:由s1得到的元數(shù)據(jù)值均為1或者0,基于元數(shù)據(jù)和其屬性值構(gòu)建決策字典樹獲取大數(shù)據(jù)模型的序列值。每個模型有且僅有一條從根節(jié)點到樹末端節(jié)點的路徑,此路徑由0、1和2組成,也就是說每個大數(shù)據(jù)模型通過決策字典樹可以得到唯一一個包含0、1和2的有序序列值;s22:根據(jù)雪崩效應(yīng)思想,選取改進的bkdrhash算法實現(xiàn)大數(shù)據(jù)模型與哈希隱射地址的對應(yīng)關(guān)系。如圖2,由于數(shù)字序列值的唯一性和序列的順序性,根據(jù)bkdrhash算法讓每個字符權(quán)值相加的特性,得到大數(shù)據(jù)模型的即可得到所以bkdrhash函數(shù)選取的系數(shù)跟大數(shù)據(jù)模型的路徑序列和序列大小有關(guān),可指定p=216-1=65535,又因為65535不是質(zhì)數(shù),則p=65533。根據(jù)模型序列可得到模型的自然數(shù)值;s23:在s22得到每個大數(shù)據(jù)模型的自然數(shù)值后,通過“除數(shù)取余”散列法得到余數(shù)散列至各集群的主機上,“除數(shù)取余”散列法的除數(shù)選取跟集群的邏輯地址有關(guān),然后根據(jù)模型記錄的更新情況構(gòu)建混合索引。所述儲存混合索引中,混合索引中包含哈希節(jié)點、桶緩存、溢出頁和b+樹四部分,其中哈希節(jié)點和桶緩存是在保留緩沖區(qū)(內(nèi)存中),溢出頁是在緩存(或內(nèi)存)中,b+樹存儲在外存(磁盤)上,在使用時進入集群內(nèi)存;如圖3,所述的檢索混合索引包括兩種情況:(1)檢索桶、桶緩存和溢出頁獲取精確的模型結(jié)果集;(2)檢索b+樹獲取精確結(jié)果集或者結(jié)果范圍集。所述的混合索引中包含哈希節(jié)點、桶緩存、溢出頁和b+樹四部分,其中哈希節(jié)點和桶緩存是在保留緩沖區(qū),溢出頁是在緩存區(qū),b+樹存儲在磁盤區(qū);所述的檢索混合索引會根據(jù)不同部分的存儲介質(zhì)和不同部分的檢索速度,得到混合索引的更新特征。所述檢索混合索引中根據(jù)混合索引不同部分的存儲介質(zhì)和不同部分檢索速度,可以得到檢索順序為:哈希節(jié)點>桶緩沖≥溢出頁≥b+樹;又根據(jù)混合索引的更新特征treeflag,構(gòu)建檢索算法。如圖5,所述的檢索混合索引是通過檢索桶得到結(jié)果集,然后根據(jù)結(jié)果集獲取匹配桶緩存的指針q1和b+樹指針樹q2,使用樹標記判斷;若真,則根據(jù)指針檢索b+樹,得到結(jié)果集p4;若假,檢索桶緩存得到結(jié)果集p2,檢索溢出頁得到結(jié)果集p3,合并結(jié)果集p1、p2、p3得到結(jié)果集p;隨后判斷p值,若p為空集,則根據(jù)指針檢索b+樹得到結(jié)果集p4;若p不為空,則返還p值;最后合并p1、p2、p3、p4得到最終結(jié)果r,返還r,得到檢索結(jié)果。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。當前第1頁12當前第1頁12