專利名稱:一種云計算環境下中間數據的容錯性優化方法
技術領域:
本發明設計一種云計算環境下中間數據的容錯性優化方法,具體設計一種云計算 環境下中間數據采用選擇存儲的數據管理方法,進行后臺復制和開銷比較等,降低存儲復 制開銷,提升系統性能,屬于計算機存儲技術領域。
背景技術:
隨著云計算的流行,云計算編程模型的重要性也日漸凸顯,其中數據流編程 模型是一種主導編程模型。數據流編程模型在大規模數據處理中越來越流行,例如 MapReduce, Dryad和Pig。數據流程序是包括多個階段的計算和將各個階段連接在一起的 通信方式。中間數據是任務開始到結束之間,在各個階段計算產生的數據,它是上個階段的 輸出數據和下個階段的輸入數據。在云計算規模日益增大的情況下,節點失效問題越發頻 繁,并成為大家關注的焦點。而節點失效帶來中間數據丟失,直接影響任務的執行,如何有 效管理中間數據,提高中間數據的容錯性以保證任務的順利完成成為當前云計算領域研究 白勺^^ ; ^^ ο除了從提高硬件穩定性等方面的考慮外,通過修改現有的存儲系統對中間數據進 行存儲是常用的方法之一,即利用現有存儲系統通過增加備份數量以此來提高中間數據的 容錯性。這種方式下存儲中間數據不能根據系統中的任務運行情況,進行低開銷、低干擾的 數據復制。這種方式實現簡單,但未考慮到系統中負載、任務執行、所在位置等情況。此方 法在提高中間數據容錯性的同時,會占用網絡資源,影響任務完成時間,從而降低系統的整 體性能。如果采用選擇存儲技術,通過在線收集任務進度及所在位置,進行后臺復制、任務 臨近節點存儲等方法,可以避免上述方法所帶來的缺點,并且可以是使系統性能不下降的 情況下完成中間數據容錯性優化的目的,在云計算中間數據領域具有很重要的意義。
發明內容
本發明的目的是提供一種云計算環境下中間數據的容錯性優化方法,它首先考慮 網絡的負載情況,在滿足低干擾的情況下選擇性的對中間數據進行備份,從而提高其容錯 性、提高系統性能。如圖1所示,本發明是一種云計算環境下中間數據的容錯性優化方法,該方 法包括以下步驟。步驟101.計算節點動態統計網絡負載,任務執行進度、位置等信息,以心跳信息 的形式報告給主控節點,以確定備份策略。步驟102.計算節點對任務輸入數據進行判斷和劃分,以確定數據是否需要復制, 并向主控節點提出復制申請。步驟103.根據主控節點的復制命令的反饋,計算機節點利用空閑帶寬,考慮比較 開銷、復制時間等因素,進行數據復制。
步驟104.向主控節點反饋備份情況,更新數據備份信息。其中,步驟101所述的信息統計需滿足快速、數據充足及實時的要求。網絡負載信 息是主控節點和計算節點判斷復制的重要數據依據。網絡負載信息主要包括往返延遲和丟 包率,即在當前時段網絡中以往返延遲增加和丟包率增加衡量網絡負載情況,以避免因復 制占用網絡資源過多而導致整體性能下降。所述的任務執行進度、位置,是根據當前正在執 行任務,收集任務的TaskID、任務執行節點位置、任務已執行時間、任務進度評分(在云計 算框架里,將任務評分分為0至1分,每個階段為1/ 等信息,以預測任務完整執行所需的 最長時間和備份存儲位置。信息統計周期以0. 5秒 1. 0秒之間為最佳,并封裝為心跳信息 發送給主控節點。其中,步驟102所述的是任務輸入數據,產生于本地節點或遠程節點。該階段需要 對輸入數據的來源位置進行快速、準確的判斷。在任務等待輸入數據期間,本地節點以心跳 信息的方法發送給主控節點查詢該任務輸入數據的產生位置或本地節點通過執行線程查 詢輸入數據的產生位置,進而判斷輸入數據產生于本地節點或遠程節點,如輸入數據是本 地節點產生則需要進行備份,反之則不需要。在云計算環境下,本地產生的數據在任務使用 完后會自動刪除,而遠程節點產生數據在不同節點使用完后會自動保存。因此在任務開始 前判斷數據情況以確定復制,能提高資源使用率,避免因重復復制而造成時間耗費、占用額 外資源而導致的性能下降。其中,步驟103所述的數據復制主要涉及利用空閑帶寬復制,考慮開銷比較和復 制時間比較等因素。根據步驟101收集到的網絡負載信息,分析其歷史網絡負載規律,考慮 節點位置、資源使用狀況,進一步計算出未來1800秒內網絡空閑情況,并在此段時間進行 數據復制。復制時間比較是指數據備份復制時間需比任務執行時間短,即主控節點收到本 地節點的反饋信息來控制數據復制速率和計算節點監控任務執行進度兩方面保證數據復 制時間,如果復制時間超過任務完成時間,則放棄復制。開銷比較主要通過主控節點記錄任 務實際執行的歷史時間作為任務執行開銷和以Map、Reduce數量相同的參數的中間數據的 復制時間作為復制開銷進行比較,如執行開銷大于復制開銷,則放棄復制。其中,步驟104所述備份情況是指通過網絡負載預測及備份策略成功備份后的信 息。計算節點在中間數據復制成功后,以心跳信息的形式發送給主控節點,通知主控節點該 數據備份成功和存儲位置,以供節點失效后使用和判斷輸入數據位置節點的情況。主控節 點接收到計算節點的備份信息后,更新數據位置等信息。本發明一種云計算環境下中間數據的容錯性優化方法,它與現有技術比,其主要 優點是(1)實現中間數據的備份,提高系統性能。原有的中間數據備份是利用已有的文件 系統和存儲系統進行存儲備份,備份開銷大,造成任務完成時間的延長。本方法根據云計算 環境網絡負載及任務執行情況,通過控制復制速度等方法保證了中間數據的復制,確保了 對任務的低干擾;(2)將統計方法和進度控制應用到中間數據復制過程中,構建新的架構 和方法以解決備份中網絡資源爭用、復制效率等問題。
圖1中間數據復制控制流程示意圖。圖2根據統計網絡負載、任務進度等狀態的流程示意圖。
具體實施例方式為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體 實施例對本發明再作進一步詳細的說明。本發明的主要思想是根據云計算環境下任務執行時網絡負載、任務執行進度及資 源使用狀況對中間數據的復制進行動態調整,通過結合統計網絡負載及任務執行情況對中 間數據復制進行實時控制,以保證在不干擾前臺任務執行的情況下實現中間數據的復制。首先對數據進行分類,減少復制開銷。因本地產生的數據在下一階段使用完后會 自動刪除,而其他節點產生數據在不同節點使用完后會自動保存。收集到的信息包括網絡 負載信息,以1800秒為周期,分析各個時間段(200秒)的負載情況;收集任務執行情況,如 執行完整時間,以此作為中間數據復制的衡量標準之一;收集中間數據備份復制時間,作為 參數相同數據的復制時間的參考。需要實時收集上述信息,及時更新數據,保證中間數據復 制的低干擾和效率。 下面以一實例進行說明,如圖2所示,包括以下步驟。步驟201 實時統計網絡負載信息,觀察每個時間段QOO秒)網絡的往返延遲和 丟包情況,以此為依據預測將來網絡的情況。并實時監控任務執行進度,收集任務的集任務 的TaskID、任務執行節點位置、任務已執行時間、任務進度評分,并根據任務進度評分預測 任務完成時間,預測算法如下
Pr ogr essRat e= ; ProgressScore, /Ti, /h
ο
Time 二 I - Pro gr e ssSc ο re ι --‘' P rog ressR ate步驟202 :在等待輸入數據傳輸過程中,實時統計任務的輸入數據位置。計算節點 以心跳信息的方式發送給主控節點查詢命令,查詢該輸入數據的產生位置或計算節點通過 當前執行線程查詢輸入數據的產生位置,得知信息后以此判斷數據的來源,如輸入數據來 自本地節點,任務執行完后會自動刪除數據,因此該數據需要進行備份;而來自其他節點的 數據,數據將會保存。步驟203 當數據準備進行復制時,首先根據當時網絡負載信息情況進行判斷,如 網絡負載高,則暫停復制等待網絡空閑時刻;如網絡負載低,則進入準備復制階段。而在復 制過程中,仍在監控網絡負載,當感知網絡負載增加的時,降低復制速度或暫停復制并監測 網絡負載情況,如網絡負載降低則提高復制速度或恢復復制。復制開始前,先判斷復制開 銷,以收集到的任務完成時間和參數相同的中間數據備份時間為參考,對比任務重新執行 和數據復制的開銷,如復制開銷大,則放棄復制;如復制開銷小,則根據監控任務執行情況 和預測公式進行時間判斷,如復制時間小于任務完成時間,則開始復制,否則放棄復制。即 預測復制狀況,節省系統資源開銷,提高復制效率。步驟204:復制完成后,計算節點將數據存儲位置、大小等信息反饋給主控節點。 主控節點接收到信息后更新存儲數據信息。本實例中查看網絡負載及任務執行進度等參數并進行相應的參數更新時在數據復制過程中依據任務執行周期循環執行的。采用上述中間數據復制方法可以做到盡量在對 前臺任務低干擾的情況達到復制的高效,以滿足容錯的需求。 最后所應說明的是以上實施例僅用以說明而非限制本發明的技術方案,盡管參 照上述實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解依然可以對本 發明進行修改或者等同替換,而不脫離本發明的精神和范圍的任何修改或局部替換,其均 應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種云計算環境下中間數據的容錯性優化方法,其特征在于該方法包括以下步驟步驟101.計算節點動態統計網絡負載,任務執行進度、位置信息,以心跳信息的形式 報告給主控節點,以確定備份策略;步驟102.計算節點對任務輸入數據進行判斷和劃分,以確定數據是否需要復制,并向 主控節點提出復制申請;步驟103.根據主控節點的復制命令的反饋,計算機節點利用空閑帶寬,考慮比較開 銷、復制時間等因素,進行數據復制;步驟104.向主控節點反饋備份情況,更新數據備份信息;其中,步驟101所述的網絡負載信息主要包括往返延遲和丟包率,即在當前時段網 絡中以往返延遲增加和丟包率增加衡量網絡負載情況,以避免因復制占用網絡資源過多 而導致整體性能下降;所述的任務執行進度、位置是根據當前正在執行任務,收集任務的 TaskID、任務執行節點位置、任務已執行時間、任務進度評分信息,以預測任務完整執行所 需的最長時間和備份存儲位置;其中,步驟102所述的是任務輸入數據,產生于本地節點或遠程節點;在任務等待輸入 數據期間,本地節點以心跳信息的方法發送給主控節點查詢該任務輸入數據的產生位置或 本地節點通過執行線程查詢輸入數據的產生位置,進而判斷輸入數據產生于本地節點或遠 程節點,如輸入數據是本地節點產生則需要進行備份,反之則不需要;其中,步驟103所述的數據復制主要涉及利用空閑帶寬復制,考慮開銷比較和復制時 間比較因素;根據步驟101收集到的網絡負載信息,分析其歷史網絡負載規律,考慮節點位 置、資源使用狀況,進一步計算出未來1800秒內網絡空閑情況,并在此段時間進行數據復 制;其中,步驟104所述備份情況是指通過網絡負載預測及備份策略成功備份后的信息 計算節點在中間數據復制成功后,以心跳信息的形式發送給主控節點,通知主控節點該數 據備份成功和存儲位置,以供節點失效后使用和判斷輸入數據位置節點的情況;主控節點 接收到計算節點的備份信息后,更新數據位置信息。
2.根據權利要求1所述的一種云計算環境下中間數據的容錯性優化方法,其特征在 于所述步驟101中任務進度評分分為0至1分,每個階段為1/3。
3.根據權利要求1所述的一種云計算環境下中間數據的容錯性優化方法,其特征在 于所述步驟101計算節點動態統計網絡負載,任務執行進度、位置信息,其統計周期以 0. 5秒 1. 0秒之間為最佳。
4.根據權利要求1所述的一種云計算環境下中間數據的容錯性優化方法,其特征在 于所述步驟103中,復制時間比較是指數據備份復制時間需比任務執行時間短,即主控節 點收到本地節點的反饋信息來控制數據復制速率和計算節點監控任務執行進度兩方面保 證數據復制時間,如果復制時間超過任務完成時間,則放棄復制;開銷比較主要通過主控節 點記錄任務實際執行的歷史時間作為任務執行開銷和以Map、Reduce數量相同的參數的中 間數據的復制時間作為復制開銷進行比較,如執行開銷大于復制開銷,則放棄復制。
全文摘要
本發明一種云計算環境下中間數據的容錯性優化方法,該方法有四大步驟步驟一收集網絡負載、任務執行進度及位置信息;步驟二判斷、分析任務輸入數據,主要判斷數據產生位置;步驟三根據當前環境對工作模式進行分類,根據控制參數對資源分配進行調整;步驟四反饋備份情況,更新數據備份信息。本發明首先考慮云計算環境下節點失效的頻率,根據任務完成時間要求及資源使用情況對中間數據進行復制,對網絡負載及任務執行進度進行實時監控及彈性管理,以保證系統在性能不受影響的情況下實現中間數據的復制。它在云計算數據管理領域具有廣泛地實用價值和應用前景。
文檔編號H04L29/08GK102104496SQ20101060225
公開日2011年6月22日 申請日期2010年12月23日 優先權日2010年12月23日
發明者毛宏, 祝明發, 肖利民, 胡聲秋, 阮利 申請人:北京航空航天大學