[發(fā)明專利]一種基于虛擬機(jī)動態(tài)遷移的高性能MapReduce實(shí)現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201410238408.2 | 申請日: | 2014-05-30 |
| 公開(公告)號: | CN104008012B | 公開(公告)日: | 2017-10-20 |
| 發(fā)明(設(shè)計)人: | 唐卓;江林剛;曾優(yōu);楊黎;馬穩(wěn);祁玲 | 申請(專利權(quán))人: | 長沙麓云信息科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/455 |
| 代理公司: | 長沙市融智專利事務(wù)所43114 | 代理人: | 黃美成 |
| 地址: | 410082 湖南*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 虛擬機(jī) 動態(tài) 遷移 性能 mapreduce 實(shí)現(xiàn) 機(jī)制 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于虛擬機(jī)動態(tài)遷移的高性能MapReduce實(shí)現(xiàn)方法。
背景技術(shù)
當(dāng)前云計算作為一種商業(yè)計算模式,促進(jìn)了網(wǎng)絡(luò)化操作系統(tǒng)的提出。云計算的核心技術(shù)是虛擬化技術(shù),虛擬機(jī)云管理平臺作為網(wǎng)絡(luò)化操作系統(tǒng)的基礎(chǔ),建立在由大量服務(wù)器等硬件資源組成的集群之上向用戶提供可用的操作系統(tǒng)環(huán)境,并且相互之間無影響,即實(shí)現(xiàn)IaaS(基礎(chǔ)設(shè)施即服務(wù))。
現(xiàn)有技術(shù)和運(yùn)營模式下,在云計算系統(tǒng)中的虛擬機(jī)云管理平臺里,采用提供操作系統(tǒng)模板映像的方式為用戶創(chuàng)建虛擬機(jī),模板映像是已經(jīng)安裝好操作系統(tǒng)并集成應(yīng)用程序、上傳至云系統(tǒng)的磁盤映像。具體來說是在用戶要創(chuàng)建虛擬機(jī)時,虛擬機(jī)云管理平臺根據(jù)用戶自己所選擇的模板映像來將該模板映像復(fù)制一份作為虛擬機(jī)的虛擬磁盤。這樣,虛擬機(jī)創(chuàng)建完成并啟動之后,就是安裝了操作系統(tǒng)可供用戶直接使用的虛擬機(jī)。
MapReduce是谷歌公司發(fā)明的一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。它主要由兩部分組成:編程模型和運(yùn)行環(huán)境。其中,編程模型為用戶提供了非常簡易的編程接口,用戶只需像編寫一般串行程序一樣實(shí)現(xiàn)簡單的主函數(shù)、Map函數(shù)、Reduce函數(shù)即可實(shí)現(xiàn)一個分布式程序,而其他復(fù)雜的工作,如節(jié)點(diǎn)間的通信、節(jié)點(diǎn)失效的處理、數(shù)據(jù)的切分等,都由運(yùn)行環(huán)境自行完成,用戶無須關(guān)心這些細(xì)節(jié)。
Hadoop作為谷歌MapReduce分布式計算模型的開源實(shí)現(xiàn)版本,已在工業(yè)界廣泛應(yīng)用。當(dāng)前Hadoop MapReduce的軟件實(shí)現(xiàn)主要由以下幾個組件組成:client(客戶端)、JobTracker(作業(yè)服務(wù)器)、TaskTracker(任務(wù)服務(wù)器)和任務(wù)。
(1)Client(客戶端)
在Hadoop內(nèi)部,用“作業(yè)”表示分布式程序,每個作業(yè)會被分解成若干個split(分塊)。Client負(fù)責(zé)將用戶編寫的作業(yè)提交到JobTracker端。此外,Client提供一些接口可以查看作業(yè)的運(yùn)行狀態(tài)。
(2)JobTracker(作業(yè)服務(wù)器)
JobTracker主要負(fù)責(zé)系統(tǒng)資源監(jiān)控和用戶作業(yè)調(diào)度。在Hadoop中,JobTracker是一個可插拔的模塊,用戶可以根據(jù)自己的實(shí)際需要設(shè)計、更改相應(yīng)的JobTracker。
(3)TaskTracker(任務(wù)服務(wù)器)
TaskTracker會周期性地通過心跳包將本節(jié)點(diǎn)上資源使用情況和任務(wù)運(yùn)行情況匯報給JobTracker,同時接收J(rèn)obTracker發(fā)送過來的命令并執(zhí)行相應(yīng)的操作(如啟動新任務(wù)、終止某個任務(wù)等)。
(4)任務(wù)
任務(wù)分為Map(映射)任務(wù)和Reduce(規(guī)約)任務(wù)兩種,均由TaskTracker啟動。在Hadoop內(nèi)部,數(shù)據(jù)處理的最小單位是split(分塊),每個split會交由一個Map任務(wù)處理,Map任務(wù)和Map任務(wù)之間是并行執(zhí)行的。Map任務(wù)先將對應(yīng)的split迭代解析成一個個(key,value)鍵值對,并依次調(diào)用用戶自定義的map函數(shù)將其映射成一組新的(key,value)鍵值對,最終將中間數(shù)據(jù)即新的(key,value)鍵值對存放到本地磁盤上,其中中間數(shù)據(jù)被分成若干個partition(分區(qū)),每個partition(分區(qū))將被一個Reduce任務(wù)處理。Reduce任務(wù)用來把所有Map任務(wù)產(chǎn)生的partition按照key值,對對應(yīng)的value值進(jìn)行處理,產(chǎn)生多個共享相同key值的鍵組,最終完成整個作業(yè)。
這種將作業(yè)分割成許多小任務(wù)并行執(zhí)行的思想,非常適合云計算時代的大數(shù)據(jù)處理。一些國際國內(nèi)領(lǐng)先廠商,尤其是FaceBook、Yahoo!以及阿里巴巴等互聯(lián)網(wǎng)巨頭,均在使用Hadoop做大數(shù)據(jù)處理的工作。然而,由于開發(fā)時間較短,Hadoop仍存在一定的問題,特別是中間數(shù)據(jù)管理問題。在廣泛使用的Hadoop 1.2.0版本中中,Reduce任務(wù)包含了拷貝、排序和Reduce函數(shù)執(zhí)行的三個階段??截愲A段是讀取所有Map任務(wù)的輸出數(shù)據(jù)patition(即中間數(shù)據(jù));排序階段是對Reduce階段的輸入數(shù)據(jù)進(jìn)行排序;最后利用Reduce函數(shù)來產(chǎn)生最終的結(jié)果??截惡团判蜻@兩個階段是為Reduce任務(wù)的輸入數(shù)據(jù)進(jìn)行預(yù)處理。在實(shí)際的應(yīng)用環(huán)境中,拷貝和排序這兩個階段占用Reduce任務(wù)較多的時間,尤其是在拷貝階段,每個Reduce任務(wù)都必須從遠(yuǎn)端物理節(jié)點(diǎn)通過網(wǎng)絡(luò)通信帶寬讀取中間數(shù)據(jù),從而導(dǎo)致了較大的網(wǎng)絡(luò)延遲。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于長沙麓云信息科技有限公司,未經(jīng)長沙麓云信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410238408.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 動態(tài)矢量譯碼方法和動態(tài)矢量譯碼裝置
- 動態(tài)口令的顯示方法及動態(tài)令牌
- 動態(tài)庫管理方法和裝置
- 動態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動態(tài)口令生成方法、動態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動態(tài)模糊控制系統(tǒng)
- 一種基于動態(tài)信號的POS機(jī)和安全保護(hù)方法
- 圖像動態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動態(tài)聚合碼的系統(tǒng)
- 基于動態(tài)口令的身份認(rèn)證方法、裝置和動態(tài)令牌





