[發明專利]分布式計算系統的中間文件處理裝置及方法有效
| 申請號: | 201010146041.3 | 申請日: | 2010-04-07 |
| 公開(公告)號: | CN102214184A | 公開(公告)日: | 2011-10-12 |
| 發明(設計)人: | 伍海君;趙大勇;楊紹鵬;王宇;歐貽葆;闕太富 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平;曾旻輝 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 計算 系統 中間 文件 處理 裝置 方法 | ||
【技術領域】
本發明涉及分布式計算技術領域,尤其涉及一種分布式計算系統的中間文件處理裝置及方法。
【背景技術】
分布式計算系統(Map-Reduce)處理大數據量的時候,將龐大的數據切片分而治之,并行計算每片數據后進行結果匯總。傳統的分布式計算系統包括Master單元、若干Map單元和若干Reduce單元。其中,Master單元是分布式計算系統的主要控制程序,負責Map單元和Reduce單元的任務調度,控制它們的運行以及監控它們的運行狀態;Map單元是處理一部分數據的單元,全部的數據由多個Map來處理,每個Map都會產生臨時的中間結果(即中間文件);Reduce單元負責將所有Map單元處理后的中間結果進行合并,得到最終結果。
通常,將Map-Reduce系統中的各計算單元(若干Map單元以及若干Reduce單元)部署到某些計算機器中,由于計算機器自身本地磁盤存儲空間有限,且中間計算文件很大,超過計算機器本地磁盤空間大小,如本地磁盤只有500M剩余空間,而計算得到的中間數據文件卻有100G甚至更大,因此需要將這海量的中間數據文件正確保存并傳輸到Reduce單元進行進一步的計算。
傳統的方式是將運行Map單元的計算機器要處理的大文件切分,切分成多個小文件,使產生的中間文件本地磁盤能放的下,這樣需要的Map單元個數就多了。然而由于服務器成本很高,通常我們的硬件資源都是有限的,當機器數量固定的時候,由于大文件已被分成多個小文件,每個Map處理需要運行的文件個數會增多。且對于每個Map單元來說,其處理過程是串行的,即必須完成當前文件的處理后才能啟動下一個文件的處理,而由于受本地磁盤空間的限制,整個Map-Reduce任務則需要很長一段時間的處理過程才能得到最終的結果,因此,傳統的這種處理方式運行效率不高。并且,這種方式開發人員需要考慮文件的切分等,而在不知道磁盤的空間使用情況下很難實現對文件按照合適大小進行切分,因此不夠靈活;而要處理大文件時,需要大量的Map單元,需要的硬件資源比較多,成本高,實現的復雜度和難度都較高。
【發明內容】
基于此,有必要提供一種能提高運行效率的分布式計算系統的中間文件處理裝置。
一種分布式計算系統的中間文件處理裝置,所述裝置基于Map-Reduce框架,包括Map單元和Reduce單元,所述Map單元包括:中間文件生成模塊,用于在處理Map任務后按照預設文件大小生成多個中間文件;傳輸模塊,按照多個中間文件的生成順序依次將所述中間文件傳輸至Reduce單元;所述Reduce單元包括接收所述中間文件的通信模塊,以及對所述中間文件進行計算、輸出最終結果的計算模塊。
所述Map單元還可包括:描述文件生成模塊,生成記錄所述中間文件的信息的Map描述文件,所述中間文件的信息包括:文件長度、文件名稱和文件哈希值;所述Reduce單元讀取所述中間文件后,獲取所述中間文件的信息,將所述中間文件的信息存入Reduce描述文件中。
該Map單元還可包括:Map檢測模塊,根據所述Map描述文件檢測生成的中間文件個數是否超過第一閾值;Map控制模塊,當所述Map檢測模塊檢測到生成的中間文件個數超過第一閾值時,控制暫停中間文件的生成。
而Map控制模塊還可用于當Map單元傳輸完一個中間文件后,則刪除該傳輸完的中間文件。
其中,所述Reduce單元還可包括:Reduce檢測模塊,用于根據所述Reduce描述文件判斷Reduce單元臨時保存的中間文件個數是否超過第二閾值;Reduce控制模塊,當所述Reduce檢測模塊檢測到臨時保存的中間文件個數超過第二閾值時,通知所述Map單元暫停中間文件的傳輸,當檢測到臨時保存的中間文件個數未超過第二閾值時,通知所述Map單元繼續傳輸中間文件。
其中,所述Reduce控制模塊還可用于當所述計算模塊計算完畢后刪除Reduce單元臨時保存的中間文件。
此外,還有必要提供一種能提高運行效率的分布式計算系統的中間文件處理方法。
一種分布式計算系統的中間文件處理方法,所述方法基于Map-Reduce框架,包括以下步驟:處理Map任務,按照預設文件大小生成多個中間文件;按照多個中間文件的生成順序依次將中間文件傳輸至Reduce單元;所述Reduce單元接收中間文件,對中間文件進行計算,輸出最終結果。
所述生成多個中間文件的步驟還可包括通過Map描述文件記錄所述中間文件的信息,包括:文件長度、文件名稱和文件哈希值;所述Reduce單元接收中間文件的步驟還包括:獲取中間文件的信息并存入Reduce描述文件中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010146041.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:網頁搜索方法及系統
- 下一篇:一種平滑無沉積鋁合金固化膜成型液及其制備方法





