欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Hadoop的海量數(shù)據(jù)實時分析處理方法

文檔序號:6370908閱讀:156來源:國知局
專利名稱:一種基于Hadoop的海量數(shù)據(jù)實時分析處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及云計算領(lǐng)域中的基于Hadoop框架的海量數(shù)據(jù)實時處理方法,更具體地,涉及在數(shù)據(jù)應(yīng)用領(lǐng)域中,將海量數(shù)據(jù)的實時處理特性應(yīng)用于數(shù)據(jù)分析與數(shù)據(jù)處理中。
背景技術(shù)
云計算已經(jīng)被看做IT業(yè)的新趨勢,可以粗略的定義為使用自己環(huán)境之外的某一服務(wù)提供的可伸縮計算資源,并按使用量付費,可以通過Internet訪問“云”中的任何資源,而不需要擔(dān)心計算能力、貸款、存儲、安全性和可靠性問題。
從企業(yè)角度看,日益增長的信息已經(jīng)很難存儲在標準關(guān)系數(shù)據(jù)庫甚至數(shù)據(jù)倉庫中,例如,怎樣查詢一個十億行的表,怎樣跨越數(shù)據(jù)中心所有服務(wù)器上的所有日志來進行一個數(shù)據(jù)查詢,更為復(fù)雜的是很多數(shù)據(jù)是非結(jié)構(gòu)化或者半結(jié)構(gòu)話的,這就更難查詢了。Hadoop是一種框架,它可以分布式地操縱大量數(shù)據(jù),在海量數(shù)據(jù)處理上具備了很多的優(yōu)勢I.高容錯性從設(shè)計上HDFS已經(jīng)假設(shè)了各服務(wù)器節(jié)點可能宕機,或者網(wǎng)絡(luò)可能分害I]。這些問題會導(dǎo)致某些服務(wù)器不可用。Hadoop通過如下手段實現(xiàn)了高容錯性I. I心跳檢測和文件復(fù)制;I. 2數(shù)據(jù)完整性檢測;I. 3元數(shù)據(jù)多源備份及Log機制;I. 4集群均衡。2.高伸縮性=Hadoop集群可以從一臺機器擴大到上千臺機器。具備很強的應(yīng)對業(yè)務(wù)變化的能力。這里的業(yè)務(wù)變化可以是幾個小時之內(nèi)業(yè)務(wù)量從波峰到波谷之間的轉(zhuǎn)換,也可以是中長期的業(yè)務(wù)增長或者變化。3.高成熟性業(yè)界多家傳統(tǒng)IT巨頭都在Hadoop上工作,將此系統(tǒng)打磨得相當(dāng)成熟穩(wěn)定。基于Hadoop的應(yīng)用,無須擔(dān)憂Hadoop本身的穩(wěn)定性。而且有很多相關(guān)的基于Hadoop的套件可以使用例如HBase、Hive、Zookeeper等等都可以基于Hadoop或者結(jié)合Hadoop展開運用。但是,Hadoop框架架構(gòu)處理海量數(shù)據(jù)時也存在著一定的劣勢,基于Hadoop的MapReduce架構(gòu)以支持高容量訪問為目標,反而忽略了任務(wù)處理的延遲問題,這里是一些典型的不利于實時處理的實現(xiàn)I. Hadoop Map Reduce架構(gòu)的任務(wù)分配中心不會將信息推到服務(wù)器,而是讓服務(wù)器通過心跳去申請任務(wù)。而心跳的時間間隔一般是3秒,隨著服務(wù)器數(shù)增長還要增加。對實時處理的要求而言,這是相當(dāng)耗費時間的工作。2. Hadoop本身是一個框架?;诳蚣艿耐ㄓ眯?Map Reduce本身的代碼文件集也會在HDFS (文件系統(tǒng))中傳遞,然后到服務(wù)器上展開,通過啟動新JVM進程裝載并運行。這是相當(dāng)耗費時間的工作。而在一個Job的運行過程中,類似的JVM進程啟動停止有5、6個之多,無法適應(yīng)實時處理的需求。
3. Hadoop本身是一個框架。基于框架的通用性,Map Reduce的結(jié)果也會寫入HDFS中。用戶只能再通過訪問HDFS得到相應(yīng)的結(jié)果。這又白白地耗費了一段時間。由此可見,基于以上Hadoop Map Reduce架構(gòu)的特點,我們可以看出,Hadoop MapReduce適合通過批處理方式訪問海量數(shù)據(jù),但無法滿足海量數(shù)據(jù)的實時處理的需求。實時商業(yè)智能建設(shè)的主要目標是支持實時決策,這就對海量數(shù)據(jù)處理的即時、快速、穩(wěn)定提出了更高的要求
發(fā)明內(nèi)容

本發(fā)明主要目的是基于Hadoop Map-Reduce架構(gòu)中對海量數(shù)據(jù)實時性處理的特點和劣勢,構(gòu)建服務(wù)于商業(yè)智能軟件自身的Map-Reduce框架,大大提升Hadoop平臺實時運行Job的能力。完成高效信息的交換,減少實時傳輸和部署的時長,使整個商業(yè)智能系統(tǒng)對海量數(shù)據(jù)實時處理方面的能力得到一個很大的提升。更具體地,本發(fā)明涉及一種基于Hadoop的海量數(shù)據(jù)實時分析處理方法,所述方法包括1、將服務(wù)器進行聯(lián)網(wǎng),調(diào)配成云平臺,所述云平臺中至少包括Client服務(wù)器,Naming服務(wù)器,Map服務(wù)器,Reduce服務(wù)器;2、將原始數(shù)據(jù)部署到Map服務(wù)器;3、用戶向Client服務(wù)器發(fā)起分析需求,當(dāng)Client服務(wù)器接到客戶發(fā)起的分析需求時,首先要向Naming服務(wù)器獲取當(dāng)前Map-Reduce狀態(tài),以便制定Job (任務(wù));4、當(dāng)Naming服務(wù)器接到Client服務(wù)器發(fā)起的獲取計劃需求時,根據(jù)獲取到的當(dāng)前的Map服務(wù)器,Reduce服務(wù)器的狀態(tài),產(chǎn)生一個計劃表;5、當(dāng)Client服務(wù)器接收到計劃表后,開始生成Job (任務(wù));6、Client服務(wù)器生成完Job (任務(wù))后,將Reduce Task發(fā)給Reduce服務(wù)器,Map Task發(fā)給Map服務(wù)器;7、Map服務(wù)器接收到MapTask,執(zhí)行該任務(wù);8、當(dāng)Reduce服務(wù)器接收到ReduceTask,執(zhí)行該Task ;9、當(dāng)Reduce服務(wù)器接收到Map Task返回的結(jié)果,Reduce服務(wù)器讀取返回的結(jié)果里的Client Key,生成與之對應(yīng)的Reduce Key,則去白板里記錄已有一個MapTask完成任務(wù)了 ;KKReduce服務(wù)器將最終結(jié)果返回給Client服務(wù)器,Client服務(wù)器再將結(jié)果以可視化等方式展現(xiàn)給終端用戶。


附圖I是本發(fā)明所述的基于Hadoop的海量數(shù)據(jù)實時分析處理方法的流程圖。
具體實施例方式為解決上述技術(shù)問題,本發(fā)明提供了一種基于Hadoop的海量數(shù)據(jù)實時分析處理的方法,采用的技術(shù)方案如下I.將多臺服務(wù)器聯(lián)網(wǎng),調(diào)配成云平臺。一臺配置成Client服務(wù)器,一臺配置成Naming服務(wù)器,一部分配置成Map服務(wù)器,一部分配置成Reduce服務(wù)器。所述Client服務(wù)器負責(zé)接收客戶請求,并把分析處理需求分解,交給Map-Reduce框架處理。Client服務(wù)器自行制定Job (任務(wù)),并通知Reduce服務(wù)器和Map服務(wù)器執(zhí)行Task(子任務(wù))。所述Naming服務(wù)器負責(zé)命名工作。它知道當(dāng)前有多少臺Map服務(wù)器和Reduce服務(wù)器,及這些服務(wù)器的配置狀況。Map服務(wù)器和Reduce服務(wù)器會定期發(fā)送各自配置情況,workload (工作量),CPU,內(nèi)存等信息。所述Map服務(wù)器負責(zé)處理Map Task。它被預(yù)先部署了客戶的原始數(shù)據(jù),也被預(yù)先部署了 Map Task的代碼文件集,當(dāng)它接收到Client服務(wù)器發(fā)送的Map Task,可以直接執(zhí)行該任務(wù)。所述Reduce服務(wù)器負責(zé)處理Reduce Task。它被預(yù)先部署了 Reduce Task的代碼文件集,可以直接執(zhí)行該任務(wù)。每臺服務(wù)器總是開啟了伺服進程,由于執(zhí)行的代碼文件集已經(jīng)被預(yù)先部署,當(dāng)接收到請求時,不用再開啟/停止進程。伺服進程能夠自行管理,并在線程池中執(zhí)行任務(wù)。服務(wù)器之間的通訊機制采用自主研發(fā)的通訊方式。該通訊方式的特點是多路,復(fù)用,異步。通過該通訊方式提高海量數(shù)據(jù)傳輸交換的穩(wěn)定性,減少CPU、內(nèi)存的開銷,提高節(jié)點間的傳輸效率。 2.當(dāng)Client服務(wù)器接到客戶發(fā)起的分析需求時,首先要向Naming服務(wù)器獲取當(dāng)前Map-Reduce狀態(tài),以便制定Job (任務(wù))。3.當(dāng)Naming服務(wù)器接到Client服務(wù)器發(fā)起的獲取計劃需求時,根據(jù)獲取到的當(dāng)前的Map服務(wù)器,Reduce服務(wù)器的狀態(tài),產(chǎn)生一個計劃表。計劃表包含每臺服務(wù)器的配置(CPU、內(nèi)存)情況,任務(wù)量,Map服務(wù)器預(yù)部署的文件信息,等等。Naming服務(wù)器把計劃表返回給Client服務(wù)器。4.當(dāng)Client服務(wù)器接收到計劃表后,開始生成Job (任務(wù))。該Job包含一個Client Key (票),多個 Map Task,一個 Reduce Task。Client Key是一個供消息機制使用的票。Client服務(wù)器有一個MessageBoard(消息白板)。該白板用來監(jiān)聽某個任務(wù)的完成狀態(tài),票就是用來注冊某個任務(wù)用的唯一標識。當(dāng)任務(wù)長時間沒反饋,自動通知Client服務(wù)器報錯。當(dāng)任務(wù)執(zhí)行完了,需從白板注銷該票。Map Task是提供給Map服務(wù)器的子任務(wù)。該任務(wù)包含Reduce服務(wù)器的地址,需要運行的數(shù)據(jù)所對應(yīng)的存儲文件名,需要執(zhí)行的統(tǒng)計任務(wù)的指令,Client Key (票),等等。Reduce Task是提供給Reduce服務(wù)器的子任務(wù)。該任務(wù)包含該Client Key (票),需要執(zhí)行的統(tǒng)計任務(wù)的指令,Map Task的個數(shù),等等。5. Client服務(wù)器生成完Job (任務(wù))后,將Reduce Task發(fā)給Reduce服務(wù)器,MapTask發(fā)給Map服務(wù)器。Client服務(wù)器向可用的Reduce服務(wù)器發(fā)送Reduce Task,如果任務(wù)沒有被成功送達,表示該Reduce服務(wù)器不可用,就需要找下一個Reduce服務(wù)器,直到找到可用為止,如果都不可用,返回錯誤提示。如果Reduce服務(wù)器可用,沒宕機。Client服務(wù)器把可用Reduce服務(wù)器地址加入到Map Task,并發(fā)送給Map服務(wù)器。Cl ient服務(wù)器有自我容錯的機制。如果計劃表表明有五臺可用的Map服務(wù)器,Client服務(wù)器只有一個MapTask,那Cli ent服務(wù)器先找優(yōu)先級較高的Map服務(wù)器連接發(fā)送任務(wù),如果該Map服務(wù)器宕機了,那就再找優(yōu)先級次之的Map服務(wù)器發(fā)送任務(wù)。6.當(dāng)Map服務(wù)器接收到Map Task,執(zhí)行該任務(wù)。取出需要運行的數(shù)據(jù)所對應(yīng)的存儲文件名,通過找到文件系統(tǒng)找到文件,讀取數(shù)據(jù)。取出需要執(zhí)行的統(tǒng)計任務(wù)的指令,例如按照產(chǎn)品分組統(tǒng)計銷售額的總和,執(zhí)行該指令,獲取結(jié)果。讀取Reduce服務(wù)器的地址,將結(jié)果及Client Key (票)發(fā)送給Reduce服務(wù)器。7.當(dāng)Reduce服務(wù)器接收到Reduce Task,執(zhí)行該Task。讀取Client Key,生成與之對應(yīng)的Reduce Key。Reduce服務(wù)器也維護了一個Message Board(消息白板)。該白板用來監(jiān)聽Map Task的完成狀態(tài),票就是唯一標識。讀取Map Task的個數(shù)。把Reduce Key注冊到白板上,并傳入Map Task的個數(shù)。假設(shè)有3個Map Task需要完成,但只返回了 2個Task的結(jié)果,當(dāng)時間過長,Reduce服務(wù)器會自動通知Client服務(wù)器報錯,并清除ReduceTask。如果正常時間內(nèi)接收到3個Map Task的結(jié)果,也會從白板注銷該票,并開始執(zhí)行Reduce Task。8.當(dāng)Reduce服務(wù)器接收到Map Task返回的結(jié)果,Reduce服務(wù)器讀取返回的結(jié)果里的Client Key,生成與之對應(yīng)的Reduce Key,去白板里記錄已有一個Map Task完成任務(wù)了。當(dāng)所有Map Task的結(jié)果都送達了 Reduce服務(wù)器,Reduce服務(wù)器讀取所有中間結(jié)果,再取出Reduce Task上需要執(zhí)行的統(tǒng)計任務(wù)的指令,例如按照產(chǎn)品分組統(tǒng)計銷售額的總和,執(zhí)行該指令,獲取最終結(jié)果。 Reduce服務(wù)器將最終結(jié)果返回給Client服務(wù)器,Client服務(wù)器再將結(jié)果以可視化等方式展現(xiàn)給終端用戶。下面結(jié)合附圖I和具體實現(xiàn)方式對本發(fā)明進行進一步詳細說明。如圖I所示,將六臺服務(wù)器聯(lián)網(wǎng),同時安裝商業(yè)智能平臺軟件。一臺Client服務(wù)器,一臺配置成Naming服務(wù)器,三臺Map服務(wù)器,一臺Reduce服務(wù)器。I.將原始數(shù)據(jù)部署到Map服務(wù)器。通過主服務(wù)器上的數(shù)據(jù)庫管理界面,連接到數(shù)據(jù)庫,讀取原始數(shù)據(jù)列表,再將數(shù)據(jù)列表分成3個子數(shù)據(jù)列表,分別存儲到Map服務(wù)器上。例如某一銷售部門的某一銷售數(shù)據(jù)列表被命名為Table,包含字段為產(chǎn)品名,銷售額,日期。通過部署,被分解成Tablel,Table2, Table3,分別存儲到三臺Map服務(wù)器上。這里將備份的參數(shù)設(shè)定為2,即每份數(shù)據(jù)片段會保留到兩臺Map服務(wù)器上。如圖I所示,Tablel被存儲到Map服務(wù)器A和B上;Table2被存儲到Map服務(wù)器B和C上;Table3被存儲到Map服務(wù)器A和C上。這個映射關(guān)系及服務(wù)器配置和當(dāng)前工作量會定期匯報給Naming服務(wù)器。2.用戶請求Client服務(wù)器,例如查詢當(dāng)年每個季度的各產(chǎn)品的銷售額的匯總。Client服務(wù)器將商業(yè)模型轉(zhuǎn)化成具體的數(shù)學(xué)計算模型,并開始制定Job (任務(wù))。DClient服務(wù)器向Naming服務(wù)器請求任務(wù)計劃,并告知要執(zhí)行運算的數(shù)據(jù)列表名 Table。2) Naming服務(wù)器根據(jù)收集到的信息,準備任務(wù)計劃表。通過查詢,知道Table被分解成3個表Tablel,Table2, Table3。通過映射關(guān)系表,獲取Tablel被存儲到Map服務(wù)器A和B上,Table2被存儲到Map服務(wù)器B和C上,Table3被存儲到到Map服務(wù)器A和C上。通過狀態(tài)表,反映出每個Map服務(wù)器的workload (工作量),CPU,內(nèi)存的狀態(tài)。把這些信息加入到任務(wù)計劃表中去,發(fā)送給Client服務(wù)器。3)任務(wù)計劃表返回到Client服務(wù)器。Client服務(wù)器開始制定Job (任務(wù)),先生成 Client Key,再生成 Reduce Task 和 Map Taskl, Map Task2, Map Task3。4) Client服務(wù)器向Reduce服務(wù)器發(fā)送Reduce Task。如果發(fā)送不成功,返回錯誤提示給終端用戶。如果發(fā)送成功,就把響應(yīng)的Reduce服務(wù)器Host地址加入到Map Task里。5)Client服務(wù)器根據(jù)任務(wù)計劃表里的映射關(guān)系和狀態(tài)表,來排列優(yōu)先時序表。例如Tablel被存儲到Map服務(wù)器A和B上,但Map服務(wù)器B的CPU和內(nèi)存配置較差,那就把Map Taskl的任務(wù)先發(fā)給Map服務(wù)器A,如果該服務(wù)器宕機了,就再發(fā)給Map服務(wù)器B。依次類推,Map Task2與Map Task3也發(fā)送到合適的Map服務(wù)器上。6)Map服務(wù)器收到Map Task后執(zhí)行任務(wù),并把結(jié)果發(fā)送到Reduce服務(wù)器上。7)當(dāng)Reduce服務(wù)器收到3個Map服務(wù)器發(fā)送的統(tǒng)計結(jié)果,Reduce服務(wù)器開始執(zhí)行ReduceTask,統(tǒng)計計算出最終結(jié)果。8)Reduce服務(wù)器把最終結(jié)果發(fā)給Client服務(wù)器。Client服務(wù)器接收到結(jié)果,并將結(jié)果用可視化的形式呈現(xiàn)給用戶。雖然附圖和前述說明給出了本發(fā)明的實施例。但可以理解的是,本領(lǐng)域技術(shù)人員將理解可以將這種組件中的一個或多個組件很好地組合成單個功能組件。在替換方案中, 特定的組件可以分成多個功能組件,或反之。同時,本發(fā)明的范圍并不受這些特定實例的限制。多種變化都是可能的,例如結(jié)構(gòu)等上的差異,而無論其是否在說明書中被清晰地給出。本發(fā)明的范圍至少與所附權(quán)利要求給出的范圍一樣寬。
權(quán)利要求
1. 一種基于Hadoop的海量數(shù)據(jù)實時分析處理方法,所述方法包括 1、將服務(wù)器進行聯(lián)網(wǎng),調(diào)配成云平臺,所述云平臺中至少包括=Client服務(wù)器,Naming服務(wù)器,Map服務(wù)器,Reduce服務(wù)器; 2、將原始數(shù)據(jù)部署到Map服務(wù)器; 3、用戶向Client服務(wù)器發(fā)起分析需求,當(dāng)Client服務(wù)器接到客戶發(fā)起的分析需求時,首先要向Naming服務(wù)器獲取當(dāng)前Map-Reduce狀態(tài),以便制定Job ; 4、當(dāng)Naming服務(wù)器接到Client服務(wù)器發(fā)起的獲取計劃需求時,根據(jù)獲取到的當(dāng)前的Map服務(wù)器、Reduce服務(wù)器的狀態(tài),產(chǎn)生一個計劃表; 5、當(dāng)Client服務(wù)器接收到計劃表后,開始生成Job; 6、Client服務(wù)器生成完Job后,將ReduceTask發(fā)給Reduce服務(wù)器,Map Task發(fā)給Map服務(wù)器; 7、當(dāng)Map服務(wù)器接收到MapTask時,執(zhí)行該任務(wù); 8、當(dāng)Reduce服務(wù)器接收到ReduceTask時,執(zhí)行該任務(wù); 9、當(dāng)Reduce服務(wù)器接收到MapTask返回的結(jié)果,Reduce服務(wù)器讀取返回的結(jié)果里的Client Key,生成與之對應(yīng)的Reduce Key,并去白板里記錄已有ー個Map Task完成任務(wù); 10、Reduce服務(wù)器將最終結(jié)果返回給Client服務(wù)器,Client服務(wù)器再將所述結(jié)果以可視化方式展現(xiàn)給終端用戶。
2.根據(jù)權(quán)利要求I的基于Hadoop的海量數(shù)據(jù)實時分析處理方法,其中所述的服務(wù)器共有六臺,分別被配置成一臺Client服務(wù)器,一臺Naming服務(wù)器,三臺Map服務(wù)器,一臺Reduce服務(wù)器。
3.根據(jù)權(quán)利要求I或2的基于Hadoop的海量數(shù)據(jù)實時分析處理方法,其中所述Naming服務(wù)器負責(zé)命名工作,其知道當(dāng)前有多少臺Map服務(wù)器和Reduce服務(wù)器,及這些服務(wù)器的配置狀況;此外,所述Map服務(wù)器和Reduce服務(wù)器會定期發(fā)送各自配置情況信息。
4.根據(jù)權(quán)利要求I或2的基于Hadoop的海量數(shù)據(jù)實時分析處理方法,其中所述每臺服務(wù)器均開啟了伺服進程,由于執(zhí)行的代碼文件集已經(jīng)被預(yù)先部署,當(dāng)接收到請求吋,不用再開啟/停止進程;且所述伺服進程能夠自行管理,并在線程池中執(zhí)行任務(wù)服務(wù)器之間的通o
5.根據(jù)權(quán)利要求I或2的基于Hadoop的海量數(shù)據(jù)實時分析處理方法,其中所述計劃表包含每臺服務(wù)器的配置情況、任務(wù)量、Map服務(wù)器預(yù)部署的文件信息。
6.根據(jù)權(quán)利要求I或2的基于Hadoop的海量數(shù)據(jù)實時分析處理方法,其中所述Client服務(wù)器向可用的Reduce服務(wù)器發(fā)送Reduce Task,如果任務(wù)沒有被成功送達,表示該Reduce服務(wù)器不可用,就需要找下ー個Reduce服務(wù)器,直到找到可用的為止,如果都不可用,返回錯誤提示;如果所述Reduce服務(wù)器可用,則沒宕機,且所述Client服務(wù)器把可用Reduce服務(wù)器地址加入到Map Task,并發(fā)送給Map服務(wù)器。
全文摘要
本發(fā)明涉及一種基于云平臺的海量數(shù)據(jù)通訊系統(tǒng),所述系統(tǒng)包括多臺機器,對其進行聯(lián)網(wǎng)以調(diào)配成云平臺,所述云平臺至少包括主服務(wù)器,Map服務(wù)器,Reduce服務(wù)器;其中通過所述主服務(wù)器上的數(shù)據(jù)庫管理界面,連接到數(shù)據(jù)庫,讀取原始數(shù)據(jù)列表,再將數(shù)據(jù)列表存儲到Map服務(wù)器上;當(dāng)所述Map服務(wù)器執(zhí)行完任務(wù),并計算出中間結(jié)果,需要將該中間結(jié)果發(fā)送給所述Reduce服務(wù)器;當(dāng)所述Reduce服務(wù)器執(zhí)行完任務(wù),將最終結(jié)果發(fā)送給所述主服務(wù)器;所述主服務(wù)器接收最終結(jié)果,并用可視化的形式呈現(xiàn)給用戶。
文檔編號G06F17/30GK102761602SQ20121018139
公開日2012年10月31日 申請日期2012年6月5日 優(yōu)先權(quán)日2012年6月5日
發(fā)明者包麗霞 申請人:北京永洪商智科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
闵行区| 共和县| 肃宁县| 林芝县| 卢龙县| 合水县| 射阳县| 望都县| 通城县| 萨嘎县| 六安市| 禹州市| 仙游县| 洪洞县| 十堰市| 东山县| 珲春市| 亚东县| 周至县| 黎城县| 陆川县| 咸宁市| 宁海县| 乌恰县| 阜南县| 大理市| 湘阴县| 和硕县| 沂南县| 尼木县| 东丽区| 江川县| 湖州市| 岗巴县| 泰兴市| 鹤岗市| 三明市| 德令哈市| 永城市| 乳源| 项城市|