專利名稱::MapReduce系統(tǒng)中的Map任務(wù)調(diào)度方法、設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計算機
技術(shù)領(lǐng)域:
,尤其涉及M即Reduce系統(tǒng)中的Map任務(wù)調(diào)度方法、設(shè)備及系統(tǒng)。
背景技術(shù):
:M即Reduce是由Google公司發(fā)明,近些年新興的并行編程模式。它將并行化、容錯、數(shù)據(jù)分布、負載均衡等放在一個庫里,將系統(tǒng)對數(shù)據(jù)的所有操作都歸結(jié)為兩個步驟M即(映射)階段和Reduce(化簡)階段,使那些沒有多少并行計算經(jīng)驗的開發(fā)人員也可以開發(fā)并行應(yīng)用,以進行對海量數(shù)據(jù)的并行處理。在Map階段,Map任務(wù)讀取一個輸入(keyl,valuel)對,由程序員定義的Map函數(shù)對其處理產(chǎn)生一個中間(key2,value2)結(jié)果集,并保存在本地。在Reduce階段,Reduce任務(wù)從所有執(zhí)行Map任務(wù)的節(jié)點讀取中間關(guān)鍵字key2和相關(guān)的一個value2集,由程序員定義的Reduce函數(shù)對其進行處理,并得到計算結(jié)果。程序員向MapReduce提交的并行處理作業(yè)程序中只需定義Map函數(shù)和Reduce函數(shù),M即Reduce系統(tǒng)即可以根據(jù)輸入數(shù)據(jù)的大小以及作業(yè)的配置等信息,自動將該作業(yè)初始化為多個相同的Map任務(wù)和Reduce任務(wù)、分別讀取不同的輸入數(shù)據(jù)塊并調(diào)用Map函數(shù)和Reduce函數(shù)進行處理。在同一個MapReduce并行處理作業(yè)中,所有自動生成的Map任務(wù)和Reduce任務(wù)都是相同的,只是其處理的輸入數(shù)據(jù)不同。如圖1所示,MapReduce系統(tǒng)主要包括如下三個模塊客戶端(client):將用戶撰寫的并行處理作業(yè)提交至主節(jié)點(master),通過主節(jié)點監(jiān)控作業(yè)狀態(tài)和執(zhí)行結(jié)果。主節(jié)點管理所有的工作節(jié)點(worker),并自動將用戶作業(yè)分解為Map任務(wù)和Reduce任務(wù),將任務(wù)調(diào)度到工作節(jié)點。工作節(jié)點用于向主節(jié)點請求執(zhí)行任務(wù),同時多個工作節(jié)點組成的分布式文件系統(tǒng)用于存儲M即Reduce的輸入/輸出數(shù)據(jù)。M即Reduce的作業(yè)執(zhí)行流程為1、首先,將輸入數(shù)據(jù)(待處理的數(shù)據(jù))上傳到分布式文件系統(tǒng)中,且數(shù)據(jù)會保存多個副本,以提高數(shù)據(jù)的可靠性。2、Client將輸入數(shù)據(jù)劃分為M個邏輯分片,S卩(文件名,文件內(nèi)起始位置,分片偏移量)的三元組,并將分片信息記錄在作業(yè)配置信息中。然后,Client將作業(yè)提交到master。由于輸入可能會保存多個副本,因此一個邏輯分片可能會對應(yīng)多份物理數(shù)據(jù)。3、Master根據(jù)邏輯分片的個數(shù)(M個),將作業(yè)初始化為M個Map任務(wù)(每個Map任務(wù)處理一個邏輯分片的數(shù)據(jù))和R個Reduce任務(wù),并等待workers請求任務(wù)。4、當(dāng)worker請求執(zhí)行任務(wù)時,由于Reduce任務(wù)需要讀取所有Map任務(wù)的輸出結(jié)果,因此master優(yōu)先調(diào)度執(zhí)行M即任務(wù)。當(dāng)沒有合適的M即任務(wù)可以調(diào)度給該worker時,則將Reduce任務(wù)調(diào)度給該worker。5分配了Map任務(wù)的worker處理一個邏輯分片對應(yīng)的數(shù)據(jù),其從分布式文件系統(tǒng)中保存有物理數(shù)據(jù)的worker節(jié)點獲取輸入數(shù)據(jù),調(diào)用Map函數(shù)進行處理,并將輸出結(jié)果保存在本地。6、當(dāng)worker被分配了Reduce任務(wù)時,則worker從所有執(zhí)行Map任務(wù)的worker讀取中間結(jié)果,調(diào)用Reduce函數(shù)進行處理,并輸出處理結(jié)果。下面詳細介紹現(xiàn)有技術(shù)的M即Reduce的任務(wù)調(diào)度策略。由于所有Reduce任務(wù)均需要讀取所有Map任務(wù)的輸出,將Reduce任務(wù)調(diào)度給集群中的任何節(jié)點,其網(wǎng)絡(luò)開銷相對不變。因此,本文主要關(guān)注Map任務(wù)的調(diào)度策略。Master主要保存以下幾個與M即任務(wù)調(diào)度相關(guān)的主要數(shù)據(jù)結(jié)構(gòu)1、待執(zhí)行任務(wù)列表保存尚未調(diào)度的可執(zhí)行的Map任務(wù)。2、正在運行任務(wù)列表保存正在運行的M即任務(wù)。該列表主要用于進行瓶頸任務(wù)的冗余調(diào)度。當(dāng)任務(wù)的執(zhí)行進度落后于平均進度一定閾值時,則將該任務(wù)再次調(diào)度給多個worker冗余執(zhí)行。3、節(jié)點本地任務(wù)列表(HostToM即List):當(dāng)worker節(jié)點保存有M即任務(wù)待處理的數(shù)據(jù)時,則將該Map任務(wù)加入到該worker節(jié)點的本地任務(wù)列表中。當(dāng)本地列表中的Map任務(wù)在該worker節(jié)點執(zhí)行時,只需從本地讀取輸入數(shù)據(jù)即可,避免了從其他worker節(jié)點獲取數(shù)據(jù)的網(wǎng)絡(luò)開銷。該數(shù)據(jù)結(jié)構(gòu)由master節(jié)點維護,當(dāng)client提交作業(yè)時,master計算該列表,保存在master節(jié)點上。4、失敗次數(shù)列表保存每個worker上執(zhí)行任務(wù)失敗的次數(shù)。當(dāng)worker上執(zhí)行任務(wù)失敗次數(shù)超過設(shè)定的閾值時,則將該worker加入黑名單,不對其分配任務(wù)。當(dāng)worker向master請求執(zhí)行任務(wù)時,master對于Map任務(wù)的調(diào)度策略如圖2、圖3所示,其中,圖2為作業(yè)初始化階段,master節(jié)點接收到client提交作業(yè)的處理流程,包括步驟201、client提交作業(yè)。步驟202、將作業(yè)初始化為Map和Reduce任務(wù)。步驟203、將初始化的任務(wù)放入待執(zhí)行任務(wù)列表。步驟204、計算節(jié)點本地任務(wù)列表(HostToMapList)。步驟205、等待worker請求任務(wù)。圖3為任務(wù)調(diào)度階段,master節(jié)點接收到worker請求任務(wù)的處理流程,包括[OO31]步驟301、worker請求任務(wù)。步驟302、判斷worker是否在黑名單中,若是,則執(zhí)行步驟303,否則執(zhí)行步驟304。步驟303、返回,不分配任務(wù)。步驟304、判斷worker節(jié)點本地任務(wù)列表中是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟305,否則執(zhí)行步驟306。步驟305、返回本地任務(wù)列表中第一個待執(zhí)行任務(wù)。步驟306、從近至遠查詢與該worker臨近的節(jié)點的本地任務(wù)列表中是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟307,否則執(zhí)行步驟308。步驟307、返回臨近worker的本地任務(wù)列表中第一個待執(zhí)行任務(wù)。6步驟308、遍歷待執(zhí)行任務(wù)列表,判斷是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟309,否則執(zhí)行步驟310。步驟309、返回待執(zhí)行任務(wù)列表中第一個待執(zhí)行任務(wù)。步驟310、從正在運行任務(wù)列表中查詢是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟311,否則返回,不分配任務(wù)。步驟311、返回需要冗余執(zhí)行的正在運行的任務(wù)。從上述master對Map任務(wù)的調(diào)度方法來看,其優(yōu)先將任務(wù)調(diào)度至數(shù)據(jù)所在的節(jié)點。這種基于數(shù)據(jù)位置的調(diào)度方案,使得當(dāng)請求任務(wù)的worker節(jié)點的本地任務(wù)列表中有可執(zhí)行的任務(wù)時,Map任務(wù)可以在本地讀取并處理數(shù)據(jù),從而降低了網(wǎng)絡(luò)的開銷。但是,發(fā)明人經(jīng)過分析,發(fā)現(xiàn)當(dāng)前M即Reduce任務(wù)調(diào)度策略的不足在于會造成較多的Map任務(wù)不能在數(shù)據(jù)所在節(jié)點執(zhí)行,造成較大的網(wǎng)絡(luò)負載,導(dǎo)致不必要的網(wǎng)絡(luò)開銷,影響MapReduce的執(zhí)行效率。
發(fā)明內(nèi)容本發(fā)明實施例提供一種MapReduce系統(tǒng)中的Map任務(wù)調(diào)度方法,用以提高Map任務(wù)本地化執(zhí)行的概率、減少網(wǎng)絡(luò)開銷,該方法包括主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。本發(fā)明實施例還提供一種MapReduce系統(tǒng)中執(zhí)行Map任務(wù)調(diào)度的主節(jié)點,用以提高Map任務(wù)本地化執(zhí)行的概率、減少網(wǎng)絡(luò)開銷,該主節(jié)點包括接收模塊,用于接收工作節(jié)點的任務(wù)請求;任務(wù)優(yōu)先級確定模塊,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;調(diào)度模塊,用于根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。本發(fā)明實施例還提供一種MapReduce系統(tǒng),用以提高M即任務(wù)本地化執(zhí)行的概率、減少網(wǎng)絡(luò)開銷,該系統(tǒng)包括工作節(jié)點,用于發(fā)起任務(wù)請求;以及,接收并執(zhí)行任務(wù);主節(jié)點,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。本發(fā)明實施例中,本發(fā)明實施例中,在MapReduce系統(tǒng)中進行Map任務(wù)調(diào)度時,主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點,避免了目前MapReduce調(diào)度方案由于未考慮任務(wù)所處理數(shù)據(jù)的分布情況而降低Map任務(wù)本地化執(zhí)行的概率,造成不必要網(wǎng)絡(luò)開銷的問題,在考慮了所處理數(shù)據(jù)的分布情況后,使得Map任務(wù)可以以更高的概率調(diào)度至數(shù)據(jù)所在的節(jié)點執(zhí)行,降低了網(wǎng)絡(luò)開銷。圖1為
背景技術(shù):
中MapReduce系統(tǒng)的結(jié)構(gòu)示意7圖2為
背景技術(shù):
中作業(yè)初始化階段master節(jié)點接收到client提交作業(yè)的處理流程圖;圖3為
背景技術(shù):
中任務(wù)調(diào)度階段master節(jié)點接收到worker請求任務(wù)的處理流程圖;圖4為本發(fā)明實施例中M即Reduce系統(tǒng)中的Map任務(wù)調(diào)度方法流程圖;圖5為本發(fā)明實施例中作業(yè)初始化階段master節(jié)點接收到client提交作業(yè)的處理流程圖;圖6為本發(fā)明實施例中任務(wù)調(diào)度階段master節(jié)點接收到worker請求任務(wù)的處理流程圖;圖7為本發(fā)明實施例中worker節(jié)點動態(tài)調(diào)整其任務(wù)請求周期的完整任務(wù)調(diào)度流程圖;圖8、圖9為本發(fā)明實施例中M即Reduce系統(tǒng)中執(zhí)行M即任務(wù)調(diào)度的主節(jié)點的結(jié)構(gòu)示意圖;圖10為本發(fā)明實施例中M即Reduce系統(tǒng)的結(jié)構(gòu)示意圖。具體實施例方式下面結(jié)合說明書附圖對本發(fā)明實施例進行詳細說明。如圖4所示,本發(fā)明實施例中,M即Reduce系統(tǒng)中的Map任務(wù)調(diào)度方法流程如下步驟401、主節(jié)點(master)在接收到工作節(jié)點(worker)的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級。步驟402、主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。本發(fā)明實施例中,master除了具有現(xiàn)有方案所具有的主要功能外,還需具備確定任務(wù)的調(diào)度優(yōu)先級的功能。master需要根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定每個Map任務(wù)的調(diào)度優(yōu)先級(P_Task)。當(dāng)Map任務(wù)的調(diào)度優(yōu)先級越高時,該任務(wù)則優(yōu)先被調(diào)度。實施中可以根據(jù)可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)、任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度之一或組合,計算任務(wù)的調(diào)度優(yōu)先級。其中,可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)(r印lica—皿m)是指保存該任務(wù)所處理數(shù)據(jù)的worker節(jié)點數(shù)。當(dāng)r印lica—皿m越高時,其任務(wù)的優(yōu)先級越低,即優(yōu)先調(diào)度可本地化執(zhí)行任務(wù)的節(jié)點數(shù)較少的Map任務(wù)。根據(jù)任務(wù)處理數(shù)據(jù)所屬的worker的本地任務(wù)列表長度(worker—tasklist)計算任務(wù)的調(diào)度優(yōu)先級時,當(dāng)任務(wù)處理數(shù)據(jù)所屬的worker的本地任務(wù)列表長度較大,該任務(wù)的調(diào)度優(yōu)先級越高。當(dāng)同一個任務(wù)的處理數(shù)據(jù)位于多個不同的worker時,則優(yōu)先在worker_tasklist取值較大的節(jié)點調(diào)度該任務(wù)?!獋€實施例中,在計算任務(wù)的調(diào)度優(yōu)先級時,還可以考慮任務(wù)等待時間(task_waitime),即從任務(wù)初始化到當(dāng)前時刻的時間。當(dāng)任務(wù)等待時間越長,其調(diào)度優(yōu)先級越高。若綜合考慮可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)、任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度、任務(wù)等待時間,來計算任務(wù)的調(diào)度優(yōu)先級,則實施中,可以按如下公式計算任務(wù)的調(diào)度優(yōu)先級P_Task=aF3(replica—皿m)+PF4(worker_tasklist)+YF5(task—waittime)+C其中,P_Task表示任務(wù)的調(diào)度優(yōu)先級;r印lica—皿m表示可本地執(zhí)行該任務(wù)的節(jié)點數(shù);worker_taSklist表示任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度;task_waittime表示任務(wù)等待時間,C為表示預(yù)先需要考慮的其他因素對任務(wù)優(yōu)先級的影響的函數(shù);F3(replica—皿m)為遞減函數(shù),而F4(worker_tasklist)禾口F5(task—waittime)為遞增函數(shù);a、P禾口Y分另ll為F3(replica_num)、F4(worker_tasklist)、F5(task—waittime)的權(quán)重?!獋€實施例中,主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,還可以確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;在將任務(wù)調(diào)度至工作節(jié)點時,除根據(jù)任務(wù)的調(diào)度優(yōu)先級進行任務(wù)調(diào)度之外,在調(diào)度時還可以進一步考慮工作節(jié)點的調(diào)度優(yōu)先級。即,在統(tǒng)計和計算請求任務(wù)的worker的調(diào)度優(yōu)先級(P_worker)后,當(dāng)調(diào)度優(yōu)先級越高時,master將優(yōu)先將任務(wù)調(diào)度給該worker執(zhí)行。實施中,可以根據(jù)工作節(jié)點的本地任務(wù)列表、工作節(jié)點請求任務(wù)的次數(shù)、工作節(jié)點執(zhí)行任務(wù)的成功率其中之一或任意組合,計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級。其中,對于worker本地任務(wù)列表,當(dāng)worker的本地任務(wù)列表中具有可執(zhí)行的任務(wù)時,則將該worker的優(yōu)先級設(shè)置為最高,即優(yōu)先將任務(wù)調(diào)度給數(shù)據(jù)所在的worker執(zhí)行。worker請求任務(wù)次數(shù)(request_num)是指從上次分配任務(wù)給該worker開始至當(dāng)前時刻,worker請求任務(wù)的次數(shù)。當(dāng)worker請求任務(wù)次數(shù)越多時,其調(diào)度優(yōu)先級越高。對于節(jié)點執(zhí)行任務(wù)的成功率(history」nfo),當(dāng)節(jié)點成功執(zhí)行任務(wù)數(shù)越多,其調(diào)度優(yōu)先級越高。若綜合考慮工作節(jié)點的本地任務(wù)列表、工作節(jié)點請求任務(wù)的次數(shù)、工作節(jié)點執(zhí)行任務(wù)的成功率,則可以按如下公式計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級<formula>formulaseeoriginaldocumentpage9</formula>其中,P_Worker表示工作節(jié)點的調(diào)度優(yōu)先級;P_Worker_Max為工作節(jié)點調(diào)度優(yōu)先級的最大值;C為表示預(yù)先需要考慮的其他因素對工作節(jié)點調(diào)度優(yōu)先級的影響的函數(shù);request_num表示工作節(jié)點請求任務(wù)的次數(shù);history_info表示工作節(jié)點執(zhí)行任務(wù)的成功率;當(dāng)工作節(jié)點的本地任務(wù)列表中具有可執(zhí)行的任務(wù)時,9=1,否則9=0;Fjrequest—num)禾卩F2(historyjnfo)均為遞增函數(shù);a禾卩p分別為F丄(request_num)禾卩F2(history—info)的權(quán)重。后續(xù)M即Reduce系統(tǒng)在進行任務(wù)調(diào)度時,根據(jù)P_Worker和P_Task判斷是否將某個Task調(diào)度給請求任務(wù)的Worker。例如,一種簡單的決策方法為,當(dāng)a*P_Worker+P*P_Task>t時,其中t為設(shè)定的閾值,則將任務(wù)調(diào)度給該Worker。當(dāng)然實施中還可以按其它方式考慮P_Worker和P_Task,來進行任務(wù)調(diào)度。下面給出一個任務(wù)調(diào)度的具體實例本例中,將任務(wù)調(diào)度至工作節(jié)點,具體包括在請求任務(wù)的工作節(jié)點本地有可執(zhí)行任務(wù)時,查詢該工作節(jié)點的每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至該工作節(jié)點;在請求任務(wù)的工作節(jié)點本地沒有可執(zhí)行任務(wù)、臨近工作節(jié)點本地有可執(zhí)行任務(wù)時,查詢臨近工作節(jié)點的每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至請求任務(wù)的工作節(jié)點;在請求任務(wù)的工作節(jié)點、臨近工作節(jié)點均沒有本地可執(zhí)行任務(wù)時,遍歷查找出有本地可執(zhí)行任務(wù)的節(jié)點,在其中具有最長本地任務(wù)列表長度的工作節(jié)點查詢每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至請求任務(wù)的工作節(jié)點。圖5為本例中作業(yè)初始化階段,master節(jié)點接收到client提交作業(yè)的處理流程,包括步驟501、client提交作業(yè)。步驟502、將作業(yè)初始化為Map和Reduce任務(wù)。步驟503、將初始化的任務(wù)放入待執(zhí)行任務(wù)列表。步驟504、計算節(jié)點本地任務(wù)列表(HostToMapList)。步驟505、為每個Map任務(wù)計算可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)。步驟506、為每個M即任務(wù)計算處理數(shù)據(jù)所屬的worker的本地任務(wù)列表長度(worker—tasklist)。步驟507、等待worker請求任務(wù)。圖6為本例中任務(wù)調(diào)度階段,master節(jié)點接收到worker請求任務(wù)的處理流程,包括步驟601、worker請求任務(wù)。步驟602、判斷worker是否在黑名單中,若是,則執(zhí)行步驟603,否則執(zhí)行步驟604。步驟603、返回,不分配任務(wù)。步驟604、判斷worker節(jié)點本地任務(wù)列表中是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟605,否則執(zhí)行步驟607。步驟605、查詢該worker節(jié)點的本地任務(wù)列表中每個Map任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)(r印lica—num)。步驟606、優(yōu)先將r印lica—皿m較小的任務(wù)調(diào)度給該worker節(jié)點,返回。步驟607、從近至遠查詢與該worker臨近的節(jié)點的本地任務(wù)列表中是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟608,否則執(zhí)行步驟610。步驟608、查詢臨近worker節(jié)點的本地任務(wù)列表中每個map任務(wù)的可本地化執(zhí)行該〈壬務(wù)的節(jié)點數(shù)(replica_num)。步驟609、優(yōu)先將r印lica—皿m較小的任務(wù)調(diào)度給該worker節(jié)點,返回。步驟610、遍歷待執(zhí)行任務(wù)列表,判斷是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟611,否則執(zhí)行步驟614。步驟611、查詢每個m即任務(wù)處理數(shù)據(jù)所屬的worker節(jié)點的本地任務(wù)列表長度(worker—tasklist)。步驟612、查詢具有最長worker_tasklist的worker節(jié)點的本地任務(wù)列表中每個map任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)(r印licajium)。步驟613、優(yōu)先將r印lica—皿m較小的任務(wù)調(diào)度給該worker節(jié)點,返回。步驟614、從正在運行任務(wù)列表中查詢是否有可執(zhí)行的任務(wù),若是,則執(zhí)行步驟615,否則返回,不分配任務(wù)。步驟615、返回需要冗余執(zhí)行的正在運行的任務(wù)。—種可能的情況是,工作節(jié)點向主節(jié)點請求任務(wù)調(diào)度失敗,則工作節(jié)點除了具有現(xiàn)有方案所的主要數(shù)據(jù)結(jié)構(gòu)和功能外,還可以考慮具備在請求任務(wù)失敗時,動態(tài)調(diào)整其任務(wù)請求周期的功能。當(dāng)worker向master請求任務(wù)而master未分配任務(wù)給worker時,worker需要等待一段時間后再次向master請求任務(wù),為了減少因無法獲取任務(wù)而造成的本地資源浪費,worker需要縮短其請求任務(wù)的周期。一旦worker獲得一個可執(zhí)行的任務(wù)時,其請求任務(wù)的周期時間恢復(fù)正常。實施中,worker動態(tài)任務(wù)請求周期可以定義為,l丫RegweW—尸mW=Stanfifani—Re拜W尸en'oc:、2乂其中,Request—Period表示worker動態(tài)任務(wù)請求周期;n為worker自前次成功請求任務(wù)后,請求任務(wù)失敗的次數(shù);StandarcLRequestPeriod為標準的任務(wù)請求周期?!獋€實施例中,worker節(jié)點動態(tài)調(diào)整其任務(wù)請求周期的完整任務(wù)調(diào)度流程如圖7所示,可以包括步驟701、master進行任務(wù)初始化。步驟702、worker向master請求任務(wù)。步驟703、master計算worker的優(yōu)先級。步驟704、master計算任務(wù)的優(yōu)先級。步驟705、master根據(jù)worker的優(yōu)先級、任務(wù)的優(yōu)先級進行調(diào)度決策。步驟706、master向worker返回任務(wù)請求響應(yīng)。步驟707、worker判斷任務(wù)請求響應(yīng)結(jié)果,若成功返回任務(wù),則執(zhí)行步驟708a_b;若返回任務(wù)失敗,則執(zhí)行步驟709a-b。步驟708a-b、執(zhí)行任務(wù),并返回任務(wù)執(zhí)行結(jié)果。步驟709a-b、調(diào)整任務(wù)請求周期,再次向master請求任務(wù)。下面對比分析現(xiàn)有技術(shù)和本發(fā)明實施例的調(diào)度方案,以說明本發(fā)明實施例可以提高Map任務(wù)本地化執(zhí)行的概率、減少網(wǎng)絡(luò)開銷在以下的應(yīng)用場景中,現(xiàn)有技術(shù)的調(diào)度方案實施如下場景一不同worker節(jié)點具有不同的本地任務(wù)數(shù)worker保存的數(shù)據(jù)片本地任務(wù)列表HISITlH2S2T2H3S3,S4T3,T4H4當(dāng)HIH4按H4->HI->H2_>H3的順序請求任務(wù)時,根據(jù)現(xiàn)有的調(diào)度策略,master的任務(wù)調(diào)度結(jié)果為H4運行Tl(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取);11HI運行T2(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取);H2運行T3(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取);H3運行T4。這將產(chǎn)生3次網(wǎng)絡(luò)數(shù)據(jù)讀取,且只要當(dāng)H4首先發(fā)起請求,則至少產(chǎn)生2次網(wǎng)絡(luò)數(shù)據(jù)讀取。在這種情況下,由于H3上有兩個本地任務(wù),即T3和T4,此時最理想的調(diào)度結(jié)果應(yīng)當(dāng)是將T3或T4任務(wù)調(diào)度給H4執(zhí)行,此時只有一次網(wǎng)絡(luò)數(shù)據(jù)讀取。場景二待處理數(shù)據(jù)具有不同的副本數(shù)worker保存的數(shù)據(jù)片緩存數(shù)據(jù)列表HISl,S2,S3,S4Tl,T2,T3,T4H2S2T2H3S3T3H4當(dāng)HlH4按H4->HI->H2_>H3的順序請求任務(wù)時,根據(jù)現(xiàn)有的調(diào)度策略,master的任務(wù)調(diào)度結(jié)果為H4運行Tl(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取);Hl運行T2;H2運行T3(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取);H3運行T4(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取)。這將產(chǎn)生3次網(wǎng)絡(luò)數(shù)據(jù)讀取,且只要當(dāng)Hl和H4首先發(fā)起請求,則至少產(chǎn)生2次網(wǎng)絡(luò)數(shù)據(jù)讀取。而在這種情況下,T2和T3對應(yīng)數(shù)據(jù)的副本數(shù)較多,而Tl和T4對應(yīng)數(shù)據(jù)的副本數(shù)較少,為了最大化實現(xiàn)數(shù)據(jù)本地化處理,理想調(diào)度結(jié)果應(yīng)當(dāng)為H1和H4分別運行Tl和T4,H2和H3分別運行T2和T3。此時只有一次網(wǎng)絡(luò)數(shù)據(jù)讀取。場景三待處理數(shù)據(jù)分布均勻,但僅有一份數(shù)據(jù)副本假設(shè)HlH4,4個worker軟硬件配置相同,保存的數(shù)據(jù)片及其對應(yīng)的本地任務(wù)列表如下表所示,其中H4上沒有數(shù)據(jù)。worker保存的數(shù)據(jù)片緩存數(shù)據(jù)列表HISlTlH2S2T2H3S3T312<table>tableseeoriginaldocumentpage13</column></row><table>當(dāng)HIH4按H4->HI->H2->H3的順序請求任務(wù)時,根據(jù)現(xiàn)有的調(diào)度策略,master的任務(wù)調(diào)度結(jié)果為[OH9]H4運行T1(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取)HI運行T2(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取)H2運行T3(產(chǎn)生一次網(wǎng)絡(luò)數(shù)據(jù)讀取)H3空閑。這將產(chǎn)生3次網(wǎng)絡(luò)數(shù)據(jù)讀取,且只要當(dāng)H4首先發(fā)起請求,則至少產(chǎn)生1次網(wǎng)絡(luò)數(shù)據(jù)讀取。而在這種情況下,所有需要處理的數(shù)據(jù)片數(shù)相同,均為1,最理想的調(diào)度結(jié)果應(yīng)當(dāng)是拒絕H4的任務(wù)請求,使之等待一段時間后再請求任務(wù),而此時已經(jīng)將任務(wù)T1、T2和T3調(diào)度至H1、H2和H3節(jié)點。在本發(fā)明實施例任務(wù)調(diào)度方案下,上述三個場景的調(diào)度結(jié)果為場景一不同worker節(jié)點具有不同的本地任務(wù)數(shù)<table>tableseeoriginaldocumentpage13</column></row><table>當(dāng)HlH4按H4->HI->H2_>H3的順序請求任務(wù)時,master的任務(wù)調(diào)度結(jié)果為雖然所有任務(wù)的r印lica—皿m為1,但是由于H3的worker_tasklist為2,因此導(dǎo)致T3和T4的優(yōu)先級較高。因此H4運行S3;H1運行T1;H2運行T2;H3運行T4。場景二待處理數(shù)據(jù)具有不同的副本數(shù)<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>當(dāng)HIH4按H4->HI->H2_>H3的順序請求任務(wù)時,master的任務(wù)調(diào)度結(jié)果為由于S2和S3的r印lica—皿m為2,且HI的worker_tasklist為4,因此Tl和T4的優(yōu)先級較高。H4運行T1;H1運行T4;H2運行T2;H3運行T3。場景三待處理數(shù)據(jù)分布均勻,但僅有一份數(shù)據(jù)副本<table>tableseeoriginaldocumentpage14</column></row><table>當(dāng)HlH4按H4->HI->H2_>H3的順序請求任務(wù)時,master的任務(wù)調(diào)度結(jié)果為由于SlS2在系統(tǒng)中的r印lica—num為1,且每個worker_tasklist為1,因此P_Task較高,H4無法獲取任務(wù);H1執(zhí)行T1;H2執(zhí)行T2;H3執(zhí)行T3。本領(lǐng)域普通技術(shù)人員可以理解上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括R0M、RAM、磁盤或光盤等?;谕话l(fā)明構(gòu)思,本發(fā)明實施例還提供一種M即Reduce系統(tǒng)中執(zhí)行M即任務(wù)調(diào)度的主節(jié)點,其結(jié)構(gòu)如圖8所示,可以包括接收模塊801,用于接收工作節(jié)點的任務(wù)請求;任務(wù)優(yōu)先級確定模塊802,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;調(diào)度模塊803,用于根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點?!獋€實施例中,任務(wù)優(yōu)先級確定模塊802具體用于根據(jù)可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)、任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度之一或組合,計算任務(wù)的調(diào)度優(yōu)先級。—個實施例中,任務(wù)優(yōu)先級確定模塊802還可以用于根據(jù)任務(wù)等待時間,計算任務(wù)的調(diào)度優(yōu)先級?!獋€實施例中,任務(wù)優(yōu)先級確定模塊802還可以用于按如下公式計算任務(wù)的調(diào)度優(yōu)先級P_Task=aF3(replica—皿m)+PF4(worker_tasklist)+YF5(task—waittime)+C其中,P_Task表示任務(wù)的調(diào)度優(yōu)先級;r印lica—皿m表示可本地執(zhí)行該任務(wù)的節(jié)點數(shù);worker_taSklist表示任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度;task_waittime表示任務(wù)等待時間,C為表示預(yù)先需要考慮的其他因素對任務(wù)優(yōu)先級的影響的函數(shù);F3(replica—皿m)為遞減函數(shù),而F4(worker_tasklist)禾口F5(task—waittime)為遞增函數(shù);a、P禾口Y分另ll為F3(replica_num)、F4(worker_tasklist)、F5(task—waittime)的權(quán)重。如圖9所示,一個實施例中,圖8所示的主節(jié)點還可以包括節(jié)點優(yōu)先級確定模塊804,用于在接收到工作節(jié)點的任務(wù)請求后,確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;則此時,調(diào)度模塊803還可以用于根據(jù)工作節(jié)點的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點?!獋€實施例中,節(jié)點優(yōu)先級確定模塊804具體用于根據(jù)工作節(jié)點的本地任務(wù)列表、工作節(jié)點請求任務(wù)的次數(shù)、工作節(jié)點執(zhí)行任務(wù)的成功率其中之一或任意組合,計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級?!獋€實施例中,節(jié)點優(yōu)先級確定模塊804還可以用于按如下公式計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級其中,P_Worker表示工作節(jié)點的調(diào)度優(yōu)先級;P_Worker_Max為工作節(jié)點調(diào)度優(yōu)先級的最大值;C為表示預(yù)先需要考慮的其他因素對工作節(jié)點調(diào)度優(yōu)先級的影響的函數(shù);request_num表示工作節(jié)點請求任務(wù)的次數(shù);history_info表示工作節(jié)點執(zhí)行任務(wù)的成功率;當(dāng)工作節(jié)點的本地任務(wù)列表中具有可執(zhí)行的任務(wù)時,9=1,否則9=0;Fjrequest—num)禾卩F2(historyjnfo)均為遞增函數(shù);a禾卩p分別為F丄(request_num)禾卩F2(history—info)的權(quán)重?;谕话l(fā)明構(gòu)思,本發(fā)明實施例還提供一種M即Reduce系統(tǒng),其結(jié)構(gòu)如圖10所示,可以包括工作節(jié)點1001,用于發(fā)起任務(wù)請求;以及,接收并執(zhí)行任務(wù);主節(jié)點1002,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點?!獋€實施例中,主節(jié)點1002還可以用于確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;根據(jù)工作節(jié)點的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。下面與現(xiàn)有技術(shù)進行對比,以說明本發(fā)明實施例的有益效果現(xiàn)有調(diào)度方法忽視了Map任務(wù)所處理數(shù)據(jù)的分布情況,如worker節(jié)點的本地任務(wù)數(shù)和數(shù)據(jù)副本的數(shù)量等。而本發(fā)明實施例中,在M即Reduce系統(tǒng)中進行Map任務(wù)調(diào)度時,主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點,避免了目前M即Reduce調(diào)度方案由于未考慮任務(wù)所處理數(shù)據(jù)的分布情況而降低Map任務(wù)本地化執(zhí)行的概率,造成不必要網(wǎng)絡(luò)開銷的問題,在考慮了所處理數(shù)據(jù)的分布情況后,使得Map任務(wù)可以以更高的概率調(diào)度至數(shù)據(jù)所在的節(jié)點執(zhí)行,降低了網(wǎng)絡(luò)開銷。另外,現(xiàn)有的調(diào)度方法僅僅判斷請求任務(wù)的worker是否處于黑名單,而對于worker請求任務(wù)失敗的次數(shù)、節(jié)點執(zhí)行任務(wù)的成功率等均未考慮。而本發(fā)明實施例中,在進行Map任務(wù)調(diào)度時,還根據(jù)節(jié)點請求與執(zhí)行任務(wù)的情況考慮節(jié)點的調(diào)度優(yōu)先級,從而進一步地提高任務(wù)本地化執(zhí)行的概率,減小網(wǎng)絡(luò)開銷,提高M即Reduce執(zhí)行的效率。進一步的,當(dāng)worker請求任務(wù)失敗時,縮短其請求任務(wù)的周期,從而減少了本地資源的浪費。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。1權(quán)利要求一種MapReduce系統(tǒng)中的Map任務(wù)調(diào)度方法,其特征在于,該方法包括主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級,包括根據(jù)可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)、任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度之一或組合,計算任務(wù)的調(diào)度優(yōu)先級。3.如權(quán)利要求2所述的方法,其特征在于,所述將任務(wù)調(diào)度至工作節(jié)點,具體包括在請求任務(wù)的工作節(jié)點本地有可執(zhí)行任務(wù)時,查詢該工作節(jié)點的每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至該工作節(jié)點;在請求任務(wù)的工作節(jié)點本地沒有可執(zhí)行任務(wù)、臨近工作節(jié)點本地有可執(zhí)行任務(wù)時,查詢臨近工作節(jié)點的每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至請求任務(wù)的工作節(jié)點;在請求任務(wù)的工作節(jié)點、臨近工作節(jié)點均沒有本地可執(zhí)行任務(wù)時,遍歷查找出有本地可執(zhí)行任務(wù)的節(jié)點,在其中具有最長本地任務(wù)列表長度的工作節(jié)點查詢每個任務(wù)的可本地化執(zhí)行該任務(wù)的節(jié)點數(shù),優(yōu)先將節(jié)點數(shù)較小的任務(wù)調(diào)度至請求任務(wù)的工作節(jié)點。4.如權(quán)利要求2所述的方法,其特征在于,計算任務(wù)的調(diào)度優(yōu)先級時,進一步根據(jù)任務(wù)等待時間進行計算。5.如權(quán)利要求4所述的方法,其特征在于,按如下公式計算任務(wù)的調(diào)度優(yōu)先級P_Task=aF3(replica—皿m)+PF4(worker_tasklist)+YF5(task—waittime)+C其中,P—Task表示任務(wù)的調(diào)度優(yōu)先級;r印lica—皿m表示可本地執(zhí)行該任務(wù)的節(jié)點數(shù);worker_taSklist表示任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度;task_waittime表示任務(wù)等待時間,C為表示預(yù)先需要考慮的其他因素對任務(wù)優(yōu)先級的影響的函數(shù);F3(replica—皿m)為遞減函數(shù),F(xiàn)4(worker_tasklist)禾口F5(task—waittime)為遞增函數(shù);a、P禾口y分另U為F3(replica_num)、F4(worker_tasklist)、F5(task—waittime)的權(quán)重。6.如權(quán)利要求1所述的方法,其特征在于,主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,進一步包括確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;將任務(wù)調(diào)度至工作節(jié)點時,進一步根據(jù)工作節(jié)點的調(diào)度優(yōu)先級進行調(diào)度。7.如權(quán)利要求6所述的方法,其特征在于,所述確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級,包括根據(jù)工作節(jié)點的本地任務(wù)列表、工作節(jié)點請求任務(wù)的次數(shù)、工作節(jié)點執(zhí)行任務(wù)的成功率其中之一或任意組合,計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級。8.如權(quán)利要求7所述的方法,其特征在于,按如下公式計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級<formula>formulaseeoriginaldocumentpage2</formula>其中,P_Worker表示工作節(jié)點的調(diào)度優(yōu)先級;P_Worker_Max為工作節(jié)點調(diào)度優(yōu)先級的最大值;C為表示預(yù)先需要考慮的其他因素對工作節(jié)點調(diào)度優(yōu)先級的影響的函數(shù);request_num表示工作節(jié)點請求任務(wù)的次數(shù);history_info表示工作節(jié)點執(zhí)行任務(wù)的成功率;當(dāng)工作節(jié)點的本地任務(wù)列表中具有可執(zhí)行的任務(wù)時,9=1,否則9=0;Fjrequest—num)禾卩F2(historyjnfo)均為遞增函數(shù);a禾卩p分別為F丄(request_num)禾卩F2(history—info)的權(quán)重。9.如權(quán)利要求6所述的方法,其特征在于,在滿足如下條件時,將任務(wù)調(diào)度至工作節(jié)點<formula>formulaseeoriginaldocumentpage3</formula>其中,P—Worker表示工作節(jié)點的調(diào)度優(yōu)先級;P_Task表示任務(wù)的調(diào)度優(yōu)先級;a和|3分別為P_Worker和P_Task的權(quán)重;t為設(shè)定的閾值。10.如權(quán)利要求1所述的方法,其特征在于,若請求任務(wù)調(diào)度失敗,則工作節(jié)點縮短其任務(wù)請求周期,按縮短后的任務(wù)請求周期重新向主節(jié)點請求任務(wù);在請求任務(wù)調(diào)度成功后,工作節(jié)點恢復(fù)原任務(wù)請求周期。11.一種M即Reduce系統(tǒng)中執(zhí)行M即任務(wù)調(diào)度的主節(jié)點,其特征在于,包括接收模塊,用于接收工作節(jié)點的任務(wù)請求;任務(wù)優(yōu)先級確定模塊,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;調(diào)度模塊,用于根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。12.如權(quán)利要求11所述的主節(jié)點,其特征在于,所述任務(wù)優(yōu)先級確定模塊具體用于根據(jù)可本地化執(zhí)行該任務(wù)的節(jié)點數(shù)、任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度之一或組合,計算任務(wù)的調(diào)度優(yōu)先級。13.如權(quán)利要求12所述的主節(jié)點,其特征在于,所述任務(wù)優(yōu)先級確定模塊還用于根據(jù)任務(wù)等待時間,計算任務(wù)的調(diào)度優(yōu)先級。14.如權(quán)利要求13所述的主節(jié)點,其特征在于,所述任務(wù)優(yōu)先級確定模塊進一步用于按如下公式計算任務(wù)的調(diào)度優(yōu)先級P_Task=aF3(replica—皿m)+PF4(worker_tasklist)+YF5(task—waittime)+C其中,P—Task表示任務(wù)的調(diào)度優(yōu)先級;r印lica—皿m表示可本地執(zhí)行該任務(wù)的節(jié)點數(shù);worker_taSklist表示任務(wù)處理數(shù)據(jù)所屬的工作節(jié)點的本地任務(wù)列表長度;task_waittime表示任務(wù)等待時間,C為表示預(yù)先需要考慮的其他因素對任務(wù)優(yōu)先級的影響的函數(shù);F3(replica—皿m)為遞減函數(shù),而F4(worker_tasklist)禾口F5(task—waittime)為遞增函數(shù);a、P禾口Y分另U為F3(replica_num)、F4(worker_tasklist)、F5(task—waittime)的權(quán)重。15.如權(quán)利要求11所述的主節(jié)點,其特征在于,還包括節(jié)點優(yōu)先級確定模塊,用于在接收到工作節(jié)點的任務(wù)請求后,確定請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;所述調(diào)度模塊進一步用于根據(jù)工作節(jié)點的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。16.如權(quán)利要求15所述的主節(jié)點,其特征在于,所述節(jié)點優(yōu)先級確定模塊具體用于根據(jù)工作節(jié)點的本地任務(wù)列表、工作節(jié)點請求任務(wù)的次數(shù)、工作節(jié)點執(zhí)行任務(wù)的成功率其中之一或任意組合,計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級。17.如權(quán)利要求16所述的主節(jié)點,其特征在于,所述節(jié)點優(yōu)先級確定模塊還用于按如下公式計算請求任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級其中,P_Worker表示工作節(jié)點的調(diào)度優(yōu)先級;P_Worker_Max為工作節(jié)點調(diào)度優(yōu)先級的最大值;C為表示預(yù)先需要考慮的其他因素對工作節(jié)點調(diào)度優(yōu)先級的影響的函數(shù);request_num表示工作節(jié)點請求任務(wù)的次數(shù);history_info表示工作節(jié)點執(zhí)行任務(wù)的成功率;當(dāng)工作節(jié)點的本地任務(wù)列表中具有可執(zhí)行的任務(wù)時,9=1,否則9=0;Fjrequest—num)禾卩F2(historyjnfo)均為遞增函數(shù);a禾卩p分別為F丄(request_num)禾卩F2(history—info)的權(quán)重。18.—種M即Reduce系統(tǒng),其特征在于,包括工作節(jié)點,用于發(fā)起任務(wù)請求;以及,接收并執(zhí)行任務(wù);主節(jié)點,用于在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述主節(jié)點進一步用于確定任務(wù)的工作節(jié)點的調(diào)度優(yōu)先級;根據(jù)工作節(jié)點的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。全文摘要本發(fā)明公開了一種MapReduce系統(tǒng)中的Map任務(wù)調(diào)度方法,該方法包括主節(jié)點在接收到工作節(jié)點的任務(wù)請求后,根據(jù)任務(wù)所處理數(shù)據(jù)的分布情況確定任務(wù)的調(diào)度優(yōu)先級;主節(jié)點根據(jù)確定出的任務(wù)的調(diào)度優(yōu)先級,將任務(wù)調(diào)度至工作節(jié)點。本發(fā)明同時公開一種MapReduce系統(tǒng)中執(zhí)行Map任務(wù)調(diào)度的主節(jié)點、一種MapReduce系統(tǒng)。采用本發(fā)明可以提高Map任務(wù)本地化執(zhí)行的概率、減少網(wǎng)絡(luò)開銷。文檔編號G06F9/50GK101770402SQ20081024730公開日2010年7月7日申請日期2008年12月29日優(yōu)先權(quán)日2008年12月29日發(fā)明者徐萌,羅治國,郭磊濤申請人:中國移動通信集團公司