任務性能評價方法及系統的制作方法
【技術領域】
[0001] 本申請涉及計算機數據處理領域,特別涉及一種分布式集群系統中任務性能評價 方法及系統。
【背景技術】
[0002] 企業運營過程中,會產生大量的數據,比如人員情況、工資情況、公司營收情況和 客戶記錄等,該些數據對于企業的運轉至關重要,企業可以通過分析數據得出業務發展趨 勢,并根據分析出的趨勢,制定公司發展戰略。此外,其他數據也可能為公司帶來價值,比如 一段記錄消費者如何在商店瀏覽購物的視頻、消費者在購買服務前后的情況、通過社交網 絡聯系客戶的方式、客戶付款方式以及供應商喜歡的收款方式……等等,所有這些場景都 提供了很多數據,通過對這些數據的分析篩選,從不同的維度進行觀察,可能會發現潛在的 商機,給企業帶來發展的機遇。
[0003] 然而,由于數據量往往非常龐大,涉及大量的計算,單一一個的計算機難以進行處 理,而采用高運算速度的計算機,又會大量的增加企業的成本。在這種情況下,Apache基金 會研發了一種名為"Hadoop"分布式集群系統架構。該系統架構使用大量廉價的計算機構 成計算機集群,通過該集群取代昂貴的高運算速度的計算機進行高速運算和存儲。
[0004] Hadoop系統主要包括分布式文件系統和映射規約系統。其中,分布式文件系統進 行數據管理和數據存儲。映射規約系統實現對分布式文件系統輸入的數據進行運算處理, 主要包括:映射階段和規約階段。其中,映射階段主要將分布式文件系統輸入的數據劃分成 若干個任務塊,對任務塊進行解析建立若干映射子任務,映射子任務對任務塊進行處理輸 出運算結果。規約階段會建立規約子任務,每個規約子任務對應一個或多個映射子任務,將 映射子任務輸出的運算結果合并,并輸出給分布式集群系統進行管理存儲。
[0005] 請參閱圖I,Client (客戶端)提交任務之后,該任務會到達Hadoop系統的 JobTracker (主人節點),JobTracker會對接收到的任務分配至TaskTracker (奴隸節點), TaskTracker會具體執行任務的運算,其中包括MapTask (映射子任務)和ReduceTask (規 約子任務),MapTask會從HDFS (分布式文件系統)中獲取與當前任務相關的數據,并經過 MapTask處理之后輸出中間文件,經過ReduceTask對MapTask輸出的中間文件進行合并,并 輸出至HDFS保存,后續HDFS便可以向Client反饋任務處理的結果。
[0006] Hadoop系統為所述任務定義了一些任務屬性。定義的這些任務屬性值中,一部分 任務屬性可以記錄任務執行過程中的相關信息。在此以任務屬性映射子任務輸出字節數量 為例,該任務屬性記錄任務被Hadoop系統執行過程中,映射子任務輸出字節數量。Hadoop 系統為該任務屬性賦值,而不需要開發人員設置。還有一部分任務屬性值的設置會影響任 務在執行過程中使用的資源數量,以及執行速度。在此以規約子任務數量為例,比如,一 個任務設置了較大數量的規約子任務數量,比方規約子任務數量會占用20%的集群資源, Hadoop系統在執行該任務時,會調度集群資源為執行該任務做準備。由于Hadoop系統中可 能會同時運行許多任務,所以Hadoop系統在準備執行所述任務的過程中,會等待其他的任 務釋放集群資源,使得Hadoop系統會花費較多的時間在等待有足夠的資源執行該任務。在 一些情況下,所述任務實際上并不需要這么多的規約子任務,即該任務并不需要這么多的 集群資源,設置了較大的規約子任務數量反而導致該任務執行的時間被拖長,即Hadoop系 統需要花費較長的時間準備足夠的集群資源。再者,若一個任務在執行過程中,其映射子任 務輸出結果的數據量較大,而該任務設置了較小的規約子任務數量,此時規約子任務需要 花費較長的時間處理映射子任務輸出的大量數據,如此也會導致任務處理時間過長。由此 可見,一個任務在設置了合理數量的規約子任務數量時,該任務才會被較快的執行。再者, 若每個任務都能夠占用合理的資源,也會使整個Hadoop系統具有較高的運行效率。
[0007] 然而,在程序的開發過程中,開發人員往往根據自身的經驗設置程序的任務屬性, 在一些情況下,開發人員的經驗不足,在設置程序的任務屬性時,難以設置的較為合理,導 致程序作為任務在Hadoop系統中執行時,花費較長的時間。
【發明內容】
[0008] 本申請實施方式的目的是提供一種任務性能評價方法及系統,能夠評價任務占用 集群資源的合理性。
[0009] 為解決上述技術問題,本申請提供一種任務性能評價方法,用于評價分布式集群 系統中的任務執行過程中利用集群資源的合理性,所述方法包括:
[0010] 獲取所述分布式集群系統對所述任務分配的任務標識;
[0011] 依照所述任務標識在所述分布式集群系統中獲取所述任務運行后記錄的任務屬 性值;
[0012] 將所述任務屬性值與預定規則進行比對,產生評價結論;
[0013] 反饋所述評價結論。
[0014] 本申請還提供一種任務性能評價系統,用于評價分布式集群系統中的任務執行過 程中利用集群資源的合理性,包括:
[0015] 標識獲取模塊,用于獲取所述分布式集群系統對所述任務分配的任務標識;
[0016] 特征獲取模塊,用于依照所述任務標識在所述分布式集群系統中獲取所述任務運 行后記錄的任務屬性值;
[0017] 評價模塊,用于將所述任務屬性值與預定規則進行比對,產生評價結論,產生評價 結論;
[0018] 反饋模塊,用于反饋所述評價結論。
[0019] 由以上本申請實施方式提供的技術方案可見,本申請通過獲取任務的任務屬性, 按照預定規則依照任務屬性對任務進行評價,給出任務的評價結論,可以指出影響任務性 能的缺陷,幫助開發人員進行改進,進而實現減少集群中資源的浪費,提升集群整體任務的 執行效率。
【附圖說明】
[0020] 為了更清楚地說明本申請實施方式或現有技術中的技術方案,下面將對實施方式 或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅 是本申請中記載的一些實施方式,對于本領域普通技術人員來講,在不付出創造性勞動性 的前提下,還可以根據這些附圖獲得其他的附圖。
[0021] 圖1為現有技術提供的Hadoop系統的功能t旲塊不意圖;
[0022] 圖2本申請一個實施方式提供的任務性能評價方法的流程圖;
[0023] 圖3為本申請一個實施方式提供的任務性能評價方法中,反饋評價結論的子步驟 流程圖;
[0024] 圖4為本申請一個實施方式提供的任務性能評價方法中,產生評價結論的子步驟 流程圖;
[0025] 圖5為本申請一個實施方式提供的任務性能評價方法中,產生評價結論的子步驟 流程圖;
[0026] 圖6為本申請一個實施方式提供的任務性能評價方法中,產生評價結論的子步驟 流程圖;
[0027] 圖7為本申請一個實施方式提供的任務性能評價系統的模塊圖;
[0028] 圖8為本申請一個實施方式提供的任務性能評價系統的模塊圖;
[0029] 圖9為本申請一個實施方式提供的任務性能評價系統的模塊圖。
【具體實施方式】
[0030] 為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實 施方式中的附圖,對本申請實施方式中的技術方案進行清楚、完整地描述,顯然,所描述的 實施方式僅僅是本申請一部分實施方式,而不是全部的實施方式。基于本申請中的實施方 式,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施方式,都應 當屬于本申請保護的范圍。
[0031] 請參閱圖2,為本申請的一個實施方式提供的任務性能評價方法。所述任務性能評 價方法適用于分布式集群系統框架下,采用集群資源進行作業的任務。例如,采用Hadoop 系統的集群資源中運行的任務。所述任務為能在分布式集群系統中執行并能夠實現特定功 能的一