午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法

文檔序號:6371229閱讀:394來源:國知局
專利名稱:一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法
技術(shù)領(lǐng)域
本發(fā)明一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法,屬于數(shù)據(jù)處理技術(shù)領(lǐng)域。
背景技術(shù)
映射聚集技術(shù)是谷歌公司提出的一種并行計算框架和編程模型,與以往的并行計算方式不同,映射聚集是基于廉價的硬件環(huán)境設(shè)計,并且具有高吞吐量的計算系統(tǒng),其開源的的映射聚集實現(xiàn)(即Hadoop)已經(jīng)成為目前大數(shù)據(jù)處理的事實標準,目前IBM,微軟,甲骨文等大型公司的大數(shù)據(jù)方案都基于它實現(xiàn)。映射聚集的出現(xiàn)為很多企業(yè)提供了一種廉價的大數(shù)據(jù)處理方式,降低了企業(yè)在海量數(shù)據(jù)下進行數(shù)據(jù)處理的成本,使得企業(yè)對海量數(shù)據(jù)進行分析處理成為可能,也為海量數(shù)據(jù)挖掘提供了便捷的形式。映射聚集的基本計算過程如圖I所示。映射聚集的基本思想是計算伴隨數(shù)據(jù)移 動,將計算過程簡單的劃分為映射和聚集兩個過程,映射函數(shù)在數(shù)據(jù)所處的節(jié)點上完成初始計算,然后聚集函數(shù)將映射函數(shù)的計算結(jié)果通過網(wǎng)絡(luò)拷貝到聚集任務(wù)的執(zhí)行節(jié)點上進行最終結(jié)果的聚合,由于聚集函數(shù)的輸入一般都比較少,所以系統(tǒng)造成的網(wǎng)絡(luò)負擔相對較少,在輸入數(shù)據(jù)非常大的情況下有很大的吞吐量。在目前看映射聚集技術(shù)是一種高效的數(shù)據(jù)處理技術(shù),非關(guān)系型數(shù)據(jù)庫(即NoSQL)技術(shù)是一種非常高效、廉價的存儲技術(shù),但是兩者卻不能很好的融合。開源的映射聚集必須運行在分布式文件系統(tǒng)(其中Hadoop的分布式文件系統(tǒng)稱作HDFS)上,在采用映射聚集框架和非關(guān)系型數(shù)據(jù)庫之后,企業(yè)的大數(shù)據(jù)處理平臺的結(jié)構(gòu)如圖2所示。通過圖2可以看出為了支持映射聚集的運行,企業(yè)必須部署一個運行映射聚集框架的集群和一個分布式文件系統(tǒng),這樣浪費了計算和存儲資源,也給企業(yè)帶來了一定的維護成本,所以在非關(guān)系型數(shù)據(jù)庫技術(shù)之上,提供對映射聚集的原生支持就顯得非常必要了。另外一種常見的做法就是將非關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)批量的導(dǎo)入文件系統(tǒng)中,利用分布式文件系統(tǒng)作為數(shù)據(jù)的輸入,進行批量的數(shù)據(jù)分析,這種方案的缺陷是引入了一個導(dǎo)入的過程,此外需要搭建新的處理框架,給企業(yè)帶來了不必要的負擔。

發(fā)明內(nèi)容
本發(fā)明的目的是提出一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法,消除目前開源的映射聚集框架對分布式文件系統(tǒng)的依賴,讓映射聚集框架能夠直接運行在非關(guān)系型數(shù)據(jù)庫上或者鍵值庫存儲上,為鍵值庫存儲中的數(shù)據(jù)分析提供一種原生的工具。本發(fā)明提出的在鍵值庫中進行分布式數(shù)據(jù)分析的方法,包括以下步驟(I)將鍵值庫中與一個哈希范圍相對應(yīng)的數(shù)據(jù)作為一個數(shù)據(jù)塊,每個數(shù)據(jù)塊有多個相同的副本,多個副本分別存儲在不同的計算機上;( 2 )從上述多個副本中隨機選取一個副本,對該副本進行映射處理,得到多個中間數(shù)據(jù)塊,將該中間數(shù)據(jù)塊存儲在進行映射處理的當前計算機上;(3)從當前計算機上讀取多個中間數(shù)據(jù)塊,對讀取的多個中間數(shù)據(jù)塊根據(jù)用戶定義的排序方法進行排序,得到一個有序數(shù)據(jù)塊,對該有序數(shù)據(jù)塊進行聚集處理,得到一個輸出文件,該輸出文件存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中;(4)啟動分布式數(shù)據(jù)分析過程時,將用戶的分布式數(shù)據(jù)分析程序打包成一個代碼包,將該代碼包存儲在上述非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,并將描述步驟(I)的數(shù)據(jù)塊的信息存儲在該文件系統(tǒng)中,數(shù)據(jù)塊描述信息包括哈希范圍的起點和終點以及每個副本所在的計算機位置;(5)中心計算機的任務(wù)分配組件根據(jù)每個數(shù)據(jù)塊的描述信息,獲得數(shù)據(jù)塊的副本所在的計算機位置,并向該計算機分配任務(wù),重復(fù)步驟(I) (3)。本發(fā)明提出在鍵值庫中進行分布式數(shù)據(jù)分析的方法,其優(yōu)點是消除了映射聚集框架對分布式文件系統(tǒng)的依賴,映射聚集框架運行需要的數(shù)據(jù)塊的描述信息,可執(zhí)行代碼包都被存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,這樣企業(yè)在進行數(shù)據(jù)分析時只需要映射聚集框架和非關(guān)系型數(shù)據(jù)庫兩個組件,不再需要部署分布式文件系統(tǒng),降低了資源消耗和維護成本。


圖I是映射聚集的基本計算流程框圖。圖2是已有的分布式數(shù)據(jù)分析的結(jié)構(gòu)示意圖。圖3是本發(fā)明方法的在鍵值庫中進行分布式數(shù)據(jù)分析的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明提出的在鍵值庫中進行分布式數(shù)據(jù)分析的方法,使用時的系統(tǒng)結(jié)構(gòu)示意圖如圖3所示,包括以下步驟(I)將鍵值庫中與一個哈希范圍相對應(yīng)的數(shù)據(jù)作為一個數(shù)據(jù)塊,每個數(shù)據(jù)塊有多個相同的副本,多個副本分別存儲在不同的計算機上;( 2 )從上述多個副本中隨機選取一個副本,對該副本進行映射處理,得到多個中間數(shù)據(jù)塊,將該中間數(shù)據(jù)塊存儲在進行映射處理的當前計算機上;(3)從當前計算機上讀取多個中間數(shù)據(jù)塊,對讀取的多個中間數(shù)據(jù)塊根據(jù)用戶定義的排序方法進行排序,得到一個有序數(shù)據(jù)塊,對該有序數(shù)據(jù)塊進行聚集處理,得到一個輸出文件,該輸出文件存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中;(4)啟動分布式數(shù)據(jù)分析過程時,將用戶的分布式數(shù)據(jù)分析程序打包成一個代碼包,將該代碼包存儲在上述非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,并將描述步驟(I)的數(shù)據(jù)塊的信息存儲在該文件系統(tǒng)中,數(shù)據(jù)塊描述信息包括哈希范圍的起點和終點以及每個副本所在的計算機位置;(5)中心計算機的任務(wù)分配組件根據(jù)每個數(shù)據(jù)塊的描述信息,獲得數(shù)據(jù)塊的副本所在的計算機位置,并向該計算機分配任務(wù),重復(fù)步驟(I) (3)。本發(fā)明基于開源的映射聚集框架(即Hadoop)進行設(shè)計,在充分分析了映射聚集的工作原理后,提出了在非關(guān)系型數(shù)據(jù)庫上建立虛擬文件系統(tǒng)來替換映射聚集框架依賴的分布式文件系統(tǒng)的設(shè)計方案,映射聚集框架一共有四個組件構(gòu)成輸入格式化組件,它的主要功能是對輸入數(shù)據(jù)進行格式化,在當前的分布式文件系統(tǒng)中,它實現(xiàn)方式是將文件中的數(shù)據(jù)切分成為一個個數(shù)據(jù)塊,每一個塊都與一個映射任務(wù)對應(yīng),這種實現(xiàn)方式的原因是文件本身是分塊存儲的,所以分塊處理本身就與考慮到了數(shù)據(jù)存儲的方式,所以從這一點來看映射聚集的處理方式是與存儲相關(guān)的,將這個接口暴露出來也為以后解決其他的存儲方式保留了一個擴展能力。輸出格式化組件,它的主要功能是對輸出數(shù)據(jù)進行格式化,對映射任務(wù)或者聚集任務(wù)輸出到默認輸出中的數(shù)據(jù)定向到具體的存儲中,常用的是文件輸出格式化,這也是基于當前分布式文件系統(tǒng)的實現(xiàn)。映射聚集組件,這個組件是映射聚集的核心組件,我們平時看到的映射聚集論文中的描述也就是這個組件的功能及架構(gòu),它的主要功能是核心計算框架包括映射任務(wù)和聚集任務(wù)的實現(xiàn),執(zhí)行引擎,任務(wù)調(diào)度算法的實現(xiàn)。分布式文件系統(tǒng)接口是對底層文件系統(tǒng)的一個抽象,它為映射聚集的運行提供基礎(chǔ)支持,主要是作業(yè)的元信息包括數(shù)據(jù)塊分割信息,運行可執(zhí)行代碼(一般都是jar包)等。
本發(fā)明的主要工作是在非關(guān)系型數(shù)據(jù)庫(目前的實現(xiàn)是Cassandra)上構(gòu)建了一個分布式文件系統(tǒng),替換了開源的映射聚集框架中的分布式文件系統(tǒng)。這樣將映射聚集框架需要的元數(shù)據(jù)信息(包括數(shù)據(jù)塊分割信息,運行可執(zhí)行代碼)都存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,就不在依賴以前的分布式文件系統(tǒng)了,改進后的系統(tǒng)結(jié)構(gòu)如圖3所示。在改進后的結(jié)構(gòu)中用戶的數(shù)據(jù)就存儲在非關(guān)系型數(shù)據(jù)庫中,用戶只需要安裝映射聚集組件(包括任務(wù)分配組件、映射或聚集處理組件),不再需要安裝分布式文件系統(tǒng)組件。
權(quán)利要求
1.一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法,其特征在于該方法包括以下步驟 (1)將鍵值庫中與一個哈希范圍相對應(yīng)的數(shù)據(jù)作為一個數(shù)據(jù)塊,每個數(shù)據(jù)塊有多個相同的副本,多個副本分別存儲在不同的計算機上; (2)從上述多個副本中隨機選取一個副本,對該副本進行映射處理,得到多個中間數(shù)據(jù)塊,將該中間數(shù)據(jù)塊存儲在進行映射處理的當前計算機上; (3)從當前計算機上讀取多個中間數(shù)據(jù)塊,對讀取的多個中間數(shù)據(jù)塊根據(jù)用戶定義的排序方法進行排序,得到一個有序數(shù)據(jù)塊,對該有序數(shù)據(jù)塊進行聚集處理,得到一個輸出文件,該輸出文件存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中; (4)啟動分布式數(shù)據(jù)分析過程時,將用戶的分布式數(shù)據(jù)分析程序打包成一個代碼包,將該代碼包存儲在上述非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,并將描述步驟(I)的數(shù)據(jù)塊的信息存儲在該文件系統(tǒng)中,數(shù)據(jù)塊描述信息包括哈希范圍的起點和終點以及每個副本所在的計算機位置; (5)中心計算機的任務(wù)分配組件根據(jù)每個數(shù)據(jù)塊的描述信息,獲得數(shù)據(jù)塊的副本所在的計算機位置,并向該計算機分配任務(wù),重復(fù)步驟(I) (3)。
全文摘要
本發(fā)明一種在鍵值庫中進行分布式數(shù)據(jù)分析的方法,屬于數(shù)據(jù)處理技術(shù)領(lǐng)域。將鍵值庫中與哈希范圍對應(yīng)的數(shù)據(jù)作為一個數(shù)據(jù)塊,每個數(shù)據(jù)塊有多個副本,選取一個副本進行映射處理,得到多個中間數(shù)據(jù)塊,存儲在當前計算機上;聚集處理從映射處理的計算機上讀取中間數(shù)據(jù)塊,進行排序后進行聚集處理,得到一個輸出文件并存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中;啟動時,用戶將數(shù)據(jù)分析程序打包成一個代碼包,將該代碼包和數(shù)據(jù)塊描述信息存儲在文件系統(tǒng)中,中心計算機從文件系統(tǒng)中讀取數(shù)據(jù)塊描述信息,根據(jù)該信息分配任務(wù)。本方法消除了映射聚集框架對分布式文件系統(tǒng)的依賴,可執(zhí)行代碼包都被存儲在非關(guān)系型數(shù)據(jù)庫上的文件系統(tǒng)中,降低了資源消耗和維護成本。
文檔編號G06F17/30GK102750353SQ20121019039
公開日2012年10月24日 申請日期2012年6月8日 優(yōu)先權(quán)日2012年6月8日
發(fā)明者丁貴廣, 朱妤晴, 楊義繁, 王建民, 衣國壘 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1