專利名稱:分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法及系統(tǒng)的制作方法
分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法及系統(tǒng)
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法及系統(tǒng)。
背景技術(shù):
數(shù)據(jù)倉庫(Data Warehouse)是決策支持系統(tǒng)和聯(lián)機(jī)分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境,能研究和解決從數(shù)據(jù)庫中獲取信息的問題。分布式數(shù)據(jù)倉庫指使用基于 GFS (Google File System,一個(gè)可擴(kuò)展的分布式文件系統(tǒng))和MapReduce (—種編程模型, 用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算)相關(guān)技術(shù)提供海量存儲(chǔ)和計(jì)算服務(wù)的數(shù)據(jù)倉庫解決方案。采用MapReduce編程模型實(shí)現(xiàn)的分布式數(shù)據(jù)倉庫,在進(jìn)行多任務(wù)調(diào)度時(shí)通常采用 FIFO (First Input First Output,先進(jìn)先出)調(diào)度策略,即用戶提交一個(gè)任務(wù)(job)后,根據(jù)任務(wù)提交的時(shí)間和任務(wù)優(yōu)先級(jí)確定任務(wù)在FIFO隊(duì)列中的位置,隊(duì)列最前面的任務(wù)優(yōu)先得到系統(tǒng)的所有計(jì)算資源。圖1示出了傳統(tǒng)的分布式數(shù)據(jù)倉庫中FIFO隊(duì)列中的任務(wù)調(diào)度序列圖,其描述了 3 個(gè)任務(wù)在FIFO隊(duì)列中的調(diào)度過程。假設(shè)系統(tǒng)總共有2個(gè)M(Map)和2個(gè)R(Reduce)計(jì)算資源。最開始任務(wù)1占用了所有的計(jì)算資源,2個(gè)M計(jì)算資源和2個(gè)R計(jì)算資源同時(shí)被調(diào)度起來,單斜線填充的表示任務(wù)正在運(yùn)行。任務(wù)1的2個(gè)M計(jì)算資源結(jié)束后變成交叉線填充,接著繼續(xù)調(diào)度2個(gè)M計(jì)算資源,最后任務(wù)1只剩下一個(gè)M計(jì)算資源需要調(diào)度,多出的資源則分配給任務(wù)2。然而,傳統(tǒng)的這種任務(wù)調(diào)度方式會(huì)有任務(wù)分配資源不公平,資源不能得到合理分配的問題。例如大任務(wù)和小任務(wù)一起運(yùn)行時(shí),隊(duì)列中有一些小任務(wù)可能夾雜在大任務(wù)中間, 這樣會(huì)導(dǎo)致小任務(wù)長期處于饑渴狀態(tài),因此無法滿足分布式數(shù)據(jù)倉庫的應(yīng)用場景既要滿足用戶非實(shí)時(shí)的大任務(wù)的同時(shí)還需要快速響應(yīng)的實(shí)時(shí)小任務(wù)的要求。
發(fā)明內(nèi)容基于此,有必要提供一種能合理分配資源的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法。—種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,包括以下步驟A.按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給任務(wù)組的資源比例;B.根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。步驟A是按類型將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組。該方法還可包括實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、非實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。其中,步驟B可以是B1.判斷所述關(guān)鍵任務(wù)組中是否有需運(yùn)行的子任務(wù),若是,則執(zhí)行步驟B2,否則執(zhí)行步驟B3 ;B2.按照所述關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù);B3.對(duì)所述實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。其中,步驟B3具體可以是B31.根據(jù)所述資源比例獲取所述實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟B32,否則執(zhí)行步驟B34 ;B32.判斷所述實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于所述實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟B33,否則執(zhí)行步驟B34 ;B33.按照所述實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù);B34.根據(jù)所述資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟 B35,否則執(zhí)行步驟B37 ;B35.判斷所述非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟B36,否則結(jié)束;B36.按照所述非實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述非實(shí)時(shí)任務(wù)組中的子任務(wù)。其中,該方法還可以包括當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,進(jìn)一步判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。此外,還有必要提供一種能合理分配資源的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng)。一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),包括分組模塊,按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給所述任務(wù)組的資源比例;資源分配模塊,根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。該分組模塊可按類型將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組。該系統(tǒng)還可包括計(jì)數(shù)器,用于實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、非實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。其中,資源分配模塊還可用于判斷所述關(guān)鍵任務(wù)組中是否有需運(yùn)行的子任務(wù),若是,則按照所述關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù),否則對(duì)所述實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。其中,資源分配模塊還可用于根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照所述實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則根據(jù)所述資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則按照所述非實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述非實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。
其中,資源分配模塊還可用于當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,進(jìn)一步判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。上述分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法及系統(tǒng),通過任務(wù)分為多個(gè)任務(wù)組,并分別設(shè)定應(yīng)分配給不同任務(wù)組的資源比例,根據(jù)資源比例對(duì)多個(gè)任務(wù)組進(jìn)行資源分配,能合理分配資源。此外,通過將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組、非實(shí)時(shí)任務(wù)組,能在資源分配時(shí), 優(yōu)先將資源分配給關(guān)鍵任務(wù)組;由于設(shè)定了這三個(gè)任務(wù)組的資源比例,能獲取到每個(gè)任務(wù)組的資源額度,在關(guān)鍵任務(wù)組不需要資源時(shí),根據(jù)實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組的資源額度進(jìn)行調(diào)配,不僅能滿足非實(shí)時(shí)任務(wù)的資源需求,也能滿足實(shí)時(shí)任務(wù)的資源需求,能夠快速響應(yīng)實(shí)時(shí)任務(wù),使資源得到合理且充分的利用。并且,不同的任務(wù)組可采用不同的適合該任務(wù)組的調(diào)度策略,因此能更合理的分配資源。
圖1為傳統(tǒng)分布式數(shù)據(jù)倉庫中FIFO隊(duì)列中的任務(wù)調(diào)度序列圖;圖2為本發(fā)明中分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法的流程圖;圖3為一個(gè)實(shí)施例中對(duì)任務(wù)組進(jìn)行資源分配的方法流程圖;圖4為一個(gè)實(shí)施例中對(duì)實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配的方法流程圖;圖5為一個(gè)實(shí)施例中分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;圖6為另一個(gè)實(shí)施例中分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式如圖2所示,一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,包括以下步驟步驟S10,按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給任務(wù)組的資源比例。 在一個(gè)實(shí)施方式中,根據(jù)任務(wù)的類型將任務(wù)分為多個(gè)任務(wù)組,例如關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組等,其中,關(guān)鍵任務(wù)組包括一些需要定時(shí)輸出且非常重要的關(guān)鍵任務(wù),例如部門的日?qǐng)?bào)、月報(bào)等;實(shí)時(shí)任務(wù)組包括需要及時(shí)處理的小任務(wù);非實(shí)時(shí)任務(wù)組則包括不需要及時(shí)處理的大任務(wù)。將任務(wù)分組后,可為不同的任務(wù)組設(shè)定優(yōu)先級(jí),例如優(yōu)先處理關(guān)鍵任務(wù)組中的任務(wù),其次處理需要及時(shí)處理的實(shí)時(shí)任務(wù)組中的任務(wù),然后是非實(shí)時(shí)任務(wù)組中的任務(wù)。該實(shí)施方式中,分別設(shè)定應(yīng)分配給關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組的資源比例,根據(jù)資源比例可在任意時(shí)刻計(jì)算得到每個(gè)任務(wù)組的資源額度,所謂資源額度,指的是應(yīng)分配給任務(wù)組的資源數(shù),當(dāng)任務(wù)組中正在運(yùn)行的子任務(wù)數(shù)量達(dá)到了該任務(wù)組的資源額度,可認(rèn)為已滿足了該任務(wù)組的需求。在一個(gè)實(shí)施例中,設(shè)定應(yīng)分配給關(guān)鍵任務(wù)組的資源比例為所有資源的100%,應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例為在滿足關(guān)鍵任務(wù)組的計(jì)算需求后剩余資源的20%,應(yīng)分配給非實(shí)時(shí)任務(wù)組的資源比例為在滿足關(guān)鍵任務(wù)組的計(jì)算需求后剩余資源的80%。該實(shí)施例中,系統(tǒng)有400個(gè)計(jì)算資源,此時(shí),則分配給關(guān)鍵任務(wù)組的資源為400個(gè)(即關(guān)鍵任務(wù)組的資源額度為400),滿足關(guān)鍵任務(wù)組的計(jì)算需求后的剩余資源為 200個(gè)資源,則分配給實(shí)時(shí)任務(wù)組的資源數(shù)為40個(gè)(即實(shí)時(shí)任務(wù)組的資源額度為40),而分配給非實(shí)時(shí)任務(wù)組的資源數(shù)為160個(gè)(即非實(shí)時(shí)任務(wù)組的資源額度為160)。在一個(gè)實(shí)施例中,上述方法還包括實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、非實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。步驟S20,根據(jù)所述資源比例對(duì)多個(gè)任務(wù)組進(jìn)行資源分配。按照上述實(shí)施方式將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組,由于關(guān)鍵任務(wù)組的優(yōu)先級(jí)最高,因此需優(yōu)先滿足關(guān)鍵任務(wù)組的資源需求。在一個(gè)實(shí)施例中,在進(jìn)行資源分配之前,清除所有任務(wù)組中的已完成任務(wù)。在一個(gè)實(shí)施例中,如圖3所示,步驟S20的具體過程為步驟S210,判斷關(guān)鍵任務(wù)組中是否有需運(yùn)行的子任務(wù),若是,則執(zhí)行步驟S220,否則執(zhí)行步驟S230。由于關(guān)鍵任務(wù)組中的任務(wù)需要優(yōu)先處理,根據(jù)實(shí)時(shí)統(tǒng)計(jì)的關(guān)鍵任務(wù)組中的任務(wù)需要運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)總數(shù)即可判斷關(guān)鍵任務(wù)組中是否有需要運(yùn)行的子任務(wù),關(guān)鍵任務(wù)組中的任務(wù)中需要運(yùn)行的子任務(wù)數(shù)為零或需要運(yùn)行的子任務(wù)總數(shù)為零,則無需分配資源給關(guān)鍵任務(wù)組,進(jìn)入步驟S230,如果不為零,則進(jìn)入步驟S220。步驟S220,按照關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù)。關(guān)鍵任務(wù)組通常運(yùn)行的是大任務(wù),可采用FIFO策略,即任務(wù)根據(jù)提交的時(shí)間和優(yōu)先級(jí)在FIFO 隊(duì)列進(jìn)行排序,資源分配給關(guān)鍵任務(wù)組中排序靠前且優(yōu)先級(jí)高的子任務(wù)。步驟S230,對(duì)實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。當(dāng)關(guān)鍵任務(wù)組中沒有需運(yùn)行的子任務(wù)時(shí),則資源將分配給實(shí)時(shí)任務(wù)組或非實(shí)時(shí)任務(wù)組中的子任務(wù)。如圖4所示,在一個(gè)實(shí)施例中,步驟S230的具體過程為步驟S2301,根據(jù)應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例獲取實(shí)時(shí)任務(wù)組的資源額度。由于事先設(shè)定了應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例,當(dāng)關(guān)鍵任務(wù)組沒有需要運(yùn)行的子任務(wù)時(shí), 此時(shí)刷新實(shí)時(shí)任務(wù)組的資源額度,即計(jì)算得到實(shí)時(shí)任務(wù)組的資源額度為滿足關(guān)鍵任務(wù)組的需求后的剩余資源個(gè)數(shù)與相應(yīng)資源比例的乘值。步驟S2302,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟S2303,否則執(zhí)行步驟S2305。實(shí)時(shí)任務(wù)組的資源額度大于零,則表明此時(shí)有資源分配給實(shí)時(shí)任務(wù)組。步驟S2303,判斷實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟S2304,否則執(zhí)行步驟 S2305。根據(jù)統(tǒng)計(jì)的實(shí)時(shí)任務(wù)組中的任務(wù)需要運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)總數(shù)即可判斷實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù),當(dāng)任務(wù)中需要運(yùn)行的子任務(wù)數(shù)或需要運(yùn)行的子任務(wù)總數(shù)不為零時(shí),則表明實(shí)時(shí)任務(wù)組中有需要運(yùn)行的子任務(wù)。當(dāng)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度時(shí),表明可將資源分配給實(shí)時(shí)任務(wù)組以滿足實(shí)時(shí)任務(wù)組的需求。
步驟S2304,按照實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù)。實(shí)時(shí)任務(wù)組通常運(yùn)行的是需及時(shí)處理的小任務(wù),可采用并發(fā)執(zhí)行策略,即按任務(wù)的饑渴程度進(jìn)行排序,分配的資源越少的任務(wù)越饑渴,同時(shí)可限制并發(fā)執(zhí)行的子任務(wù)數(shù)量,將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù)。步驟S2305,根據(jù)應(yīng)分配給非實(shí)時(shí)任務(wù)組的資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度。由于事先設(shè)定了應(yīng)分配給非實(shí)時(shí)任務(wù)組的資源比例,此時(shí)刷新非實(shí)時(shí)任務(wù)組的資源額度,即計(jì)算得到非實(shí)時(shí)任務(wù)組的資源額度為滿足關(guān)鍵任務(wù)組的需求后的剩余資源個(gè)數(shù)與相應(yīng)資源比例的乘值。步驟S2306,判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟S2307,否則執(zhí)行步驟S2309。非實(shí)時(shí)任務(wù)組的資源額度大于零,表明有資源分配給非實(shí)時(shí)任務(wù)組。步驟S2307,判斷非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟S2308,否則執(zhí)行步驟S2309。根據(jù)統(tǒng)計(jì)的非實(shí)時(shí)任務(wù)組中的任務(wù)需要運(yùn)行的子任務(wù)數(shù)或需要運(yùn)行的子任務(wù)總數(shù)即可判斷非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù),當(dāng)任務(wù)中需要運(yùn)行的子任務(wù)數(shù)不為零或需要運(yùn)行的子任務(wù)總數(shù)不為零時(shí),則表明非實(shí)時(shí)任務(wù)組中有需要運(yùn)行的子任務(wù)。當(dāng)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度時(shí),表明可將資源分配給非實(shí)時(shí)任務(wù)組以滿足非實(shí)時(shí)任務(wù)組的需求。步驟S2308,按照非實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給非實(shí)時(shí)任務(wù)組中的子任務(wù)。非實(shí)時(shí)任務(wù)組通常運(yùn)行的是大任務(wù),可采用FIFO策略,即任務(wù)根據(jù)提交的時(shí)間和優(yōu)先級(jí)在FIFO隊(duì)列進(jìn)行排序,資源分配給非實(shí)時(shí)任務(wù)組中排序靠前且優(yōu)先級(jí)高的子任務(wù)。步驟S2309,根據(jù)應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例獲取實(shí)時(shí)任務(wù)組的資源額度。此時(shí)再次刷新實(shí)時(shí)任務(wù)組的資源額度,即計(jì)算得到實(shí)時(shí)任務(wù)組的資源額度為滿足關(guān)鍵任務(wù)組的需求后的剩余資源個(gè)數(shù)與相應(yīng)資源比例的乘值。步驟S2310,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟S2311,否則結(jié)束。實(shí)時(shí)任務(wù)組的資源額度大于零,則表明有資源分配給實(shí)時(shí)任務(wù)組。步驟S2311,判斷實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則進(jìn)入步驟S2312,否則結(jié)束。當(dāng)統(tǒng)計(jì)的實(shí)時(shí)任務(wù)組中的任務(wù)需要運(yùn)行的子任務(wù)或需要運(yùn)行的子任務(wù)總數(shù)不為零時(shí),且統(tǒng)計(jì)的需要運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度時(shí),則表明可將資源分配給實(shí)時(shí)任務(wù)組以滿足實(shí)時(shí)任務(wù)組的需求。步驟S2312,按照實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù)。如上所示,實(shí)時(shí)任務(wù)組按照并發(fā)執(zhí)行策略將資源分配其中的子任務(wù)。上述判斷資源不需要分配給非實(shí)時(shí)任務(wù)組后再次判斷是否將資源分配給實(shí)時(shí)任務(wù)組,能夠充分滿足需要及時(shí)處理的實(shí)時(shí)小任務(wù)的需求,也就是說在滿足非實(shí)時(shí)任務(wù)組的需求后可能還剩有資源,此時(shí)可以用來滿足實(shí)時(shí)任務(wù)組的需求,使得資源能夠得到充分的利用。下面舉一個(gè)實(shí)例來說明上述分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法的具體過程。該實(shí)例中,系統(tǒng)一共有400個(gè)計(jì)算資源,設(shè)定應(yīng)分配給關(guān)鍵任務(wù)組的資源比例為所有資源的 100%,應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例為滿足關(guān)鍵任務(wù)組的需求后的剩余資源的20%,應(yīng)分配給非實(shí)時(shí)任務(wù)組的資源比例為滿足關(guān)鍵任務(wù)組的需求后的剩余資源的80%。關(guān)鍵任務(wù)組中有200個(gè)子任務(wù)需要運(yùn)行,實(shí)時(shí)任務(wù)組中有180個(gè)子任務(wù),非實(shí)時(shí)任務(wù)組中有400個(gè)子任務(wù)。此時(shí),關(guān)鍵任務(wù)組的資源額度為200,實(shí)時(shí)任務(wù)組的資源額度為40,非實(shí)時(shí)任務(wù)組的資源額度為160。運(yùn)行一段時(shí)間后,關(guān)鍵任務(wù)組中的子任務(wù)運(yùn)行完畢,此時(shí)刷新得到關(guān)鍵任務(wù)組的資源額度為0,實(shí)時(shí)任務(wù)組的資源額度為80,非實(shí)時(shí)任務(wù)組的資源額度為320。若此時(shí)關(guān)鍵任務(wù)組中新增了 200個(gè)子任務(wù),則刷新得到關(guān)鍵任務(wù)組的資源額度為400,實(shí)時(shí)任務(wù)組的資源額度為40,非實(shí)時(shí)任務(wù)組的資源額度為160。而剩余的這200個(gè)資源是否分配給實(shí)時(shí)任務(wù)組或非實(shí)時(shí)任務(wù)組中的子任務(wù),需按照上述方法進(jìn)行資源分配。對(duì)剩余的200個(gè)資源的任意一個(gè),首先需判斷是否有資源分配給實(shí)時(shí)任務(wù)組,由于實(shí)時(shí)任務(wù)組的資源額度不為零,因此有資源分配給實(shí)時(shí)任務(wù)組,再進(jìn)一步判斷實(shí)時(shí)任務(wù)組中此時(shí)是否有需要運(yùn)行的子任務(wù)且正在運(yùn)行的子任務(wù)總數(shù)是否小于實(shí)時(shí)任務(wù)組的資源額度,若是,則將該資源分配給實(shí)時(shí)任務(wù)組,否則認(rèn)為此時(shí)已滿足了實(shí)時(shí)任務(wù)組的需求,不需要再將資源分配給實(shí)時(shí)任務(wù)組,則進(jìn)一步判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,具體過程參照上面的描述,在此則不再贅述。如圖5所示,一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),包括分組模塊10和資源分配模塊40,其中分組模塊10用于按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給任務(wù)組的資源比例。資源分配模塊40根據(jù)所述資源比例將多個(gè)任務(wù)組進(jìn)行資源分配。在一個(gè)實(shí)施方式中,分組模塊10是將任務(wù)分配為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組,其中關(guān)鍵任務(wù)組中包含需要及時(shí)處理且比較重要的任務(wù),實(shí)時(shí)任務(wù)組包含需要及時(shí)處理的小任務(wù),非實(shí)時(shí)任務(wù)組包含不需要及時(shí)處理的一些大任務(wù)。在一個(gè)實(shí)施例中,分組模塊10設(shè)定應(yīng)分配給關(guān)鍵任務(wù)組的資源比例為所有資源的100%,應(yīng)分配給實(shí)時(shí)任務(wù)組的資源比例為在滿足關(guān)鍵任務(wù)組的計(jì)算需求后剩余資源的20%,應(yīng)分配給非實(shí)時(shí)任務(wù)組的資源比例為在滿足關(guān)鍵任務(wù)組的計(jì)算需求后剩余資源的80%。如圖2所示,在一個(gè)實(shí)施例中,該系統(tǒng)除了包括上述分組模塊10、資源分配模塊40 外,還包括任務(wù)清除模塊20和計(jì)數(shù)器30,其中任務(wù)清除模塊20用于在分配資源之前清楚任務(wù)組中的已完成任務(wù)。計(jì)數(shù)器30包括關(guān)鍵任務(wù)組計(jì)數(shù)器310、實(shí)時(shí)任務(wù)組計(jì)數(shù)器320和非實(shí)時(shí)任務(wù)組計(jì)數(shù)器330,其中關(guān)鍵任務(wù)組計(jì)數(shù)器310用來實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)中正在運(yùn)行的子任務(wù)和需要運(yùn)行子任務(wù),以及關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù);實(shí)時(shí)任務(wù)組計(jì)數(shù)器320用來實(shí)時(shí)統(tǒng)計(jì)實(shí)時(shí)任務(wù)組中的任務(wù)中正在運(yùn)行的子任務(wù)和需要運(yùn)行的子任務(wù),以及實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù);非實(shí)時(shí)任務(wù)組計(jì)數(shù)器330用來實(shí)時(shí)統(tǒng)計(jì)非實(shí)時(shí)任務(wù)組中的任務(wù)中正在運(yùn)行的子任務(wù)和需要運(yùn)行的子任務(wù),以及非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。在一個(gè)實(shí)施例中,資源分配模塊40用于判斷關(guān)鍵任務(wù)組中是否有需要運(yùn)行的子任務(wù),當(dāng)計(jì)數(shù)器30統(tǒng)計(jì)的關(guān)鍵任務(wù)組中的任務(wù)中需要運(yùn)行的子任務(wù)或需要運(yùn)行的子任務(wù)總數(shù)不為零時(shí),則表明有需要運(yùn)行的子任務(wù),則按照關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù),否則對(duì)實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。關(guān)鍵任務(wù)組通常包含的都是大任務(wù),采用先進(jìn)先出策略,按照先進(jìn)先出策略將資源分配給關(guān)鍵任務(wù)組的子任務(wù)。資源分配模塊40進(jìn)一步根據(jù)分組模塊10設(shè)定的資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,表明此時(shí)沒有充分滿足實(shí)時(shí)任務(wù)組的資源額度,則按照實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù),實(shí)時(shí)任務(wù)組包含的是需要及時(shí)處理的小任務(wù),可采用并發(fā)執(zhí)行策略將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù),否則對(duì)非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。資源分配模塊40用于根據(jù)資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源配給非實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則按照非實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述非實(shí)時(shí)任務(wù)組中的子任務(wù),同理,非實(shí)時(shí)任務(wù)組包含的是大任務(wù),可采用先進(jìn)先出策略將資源分配給非實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。在一個(gè)優(yōu)選實(shí)施例中,當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),還可以再次對(duì)實(shí)時(shí)任務(wù)組進(jìn)行資源分配,以充分滿足需要及時(shí)處理的實(shí)時(shí)任務(wù)組的需求,使資源得到充分的利用。資源分配模塊40還用于當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),根據(jù)資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,進(jìn)一步判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是則進(jìn)一步判斷實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,包括以下步驟A.按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給任務(wù)組的資源比例;B.根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。
2.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,其特征在于,所述步驟A 是按類型將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組。
3.根據(jù)權(quán)利要求2所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,其特征在于,所述方法還包括實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、非實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。
4.根據(jù)權(quán)利要求3所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,其特征在于,所述步驟B是Bi.判斷所述關(guān)鍵任務(wù)組中是否有需運(yùn)行的子任務(wù),若是,則執(zhí)行步驟B2,否則執(zhí)行步驟B3 ;B2.按照所述關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù); B3.對(duì)所述實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。
5.根據(jù)權(quán)利要求4所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,其特征在于,所述步驟 B3具體是B31.根據(jù)所述資源比例獲取所述實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟B32,否則執(zhí)行步驟B34 ;B32.判斷所述實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于所述實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟B33,否則執(zhí)行步驟B34 ; B33.按照所述實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù); B34.根據(jù)所述資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,若是,則執(zhí)行步驟B35,否則執(zhí)行步驟B37 ;B35.判斷所述非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則執(zhí)行步驟B36,否則結(jié)束;B36.按照所述非實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述非實(shí)時(shí)任務(wù)組中的子任務(wù)。
6.根據(jù)權(quán)利要求5所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法,其特征在于,所述方法還包括當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,進(jìn)一步判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是, 則按照實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。
7.一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,包括分組模塊,按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給所述任務(wù)組的資源比例;資源分配模塊,根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。
8.根據(jù)權(quán)利要求7所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,所述分組模塊按類型將任務(wù)分為關(guān)鍵任務(wù)組、實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組。
9.根據(jù)權(quán)利要求8所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,所述系統(tǒng)還包括計(jì)數(shù)器,用于實(shí)時(shí)統(tǒng)計(jì)關(guān)鍵任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、非實(shí)時(shí)任務(wù)組中的任務(wù)正在運(yùn)行的子任務(wù)數(shù)及需要運(yùn)行的子任務(wù)數(shù)、關(guān)鍵任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)、非實(shí)時(shí)任務(wù)組中正在運(yùn)行的子任務(wù)總數(shù)及需要運(yùn)行的子任務(wù)總數(shù)。
10.根據(jù)權(quán)利要求9所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,所述資源分配模塊還用于判斷所述關(guān)鍵任務(wù)組中是否有需運(yùn)行的子任務(wù),若是,則按照所述關(guān)鍵任務(wù)組的調(diào)度策略將資源分配給關(guān)鍵任務(wù)組中的子任務(wù),否則對(duì)所述實(shí)時(shí)任務(wù)組和非實(shí)時(shí)任務(wù)組進(jìn)行資源分配。
11.根據(jù)權(quán)利要求10所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,所述資源分配模塊還用于根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照所述實(shí)時(shí)任務(wù)組的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則根據(jù)所述資源比例獲取非實(shí)時(shí)任務(wù)組的資源額度,判斷是否有資源分配給非實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述非實(shí)時(shí)任務(wù)組中是否有需要運(yùn)行的子任務(wù)且非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于非實(shí)時(shí)任務(wù)組的資源額度,若是,則按照所述非實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述非實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。
12.根據(jù)權(quán)利要求11所述的分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度系統(tǒng),其特征在于,所述資源分配模塊還用于當(dāng)所述非實(shí)時(shí)任務(wù)組中沒有需要運(yùn)行的子任務(wù)或非實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)大于非實(shí)時(shí)任務(wù)組的資源額度時(shí),根據(jù)所述資源比例獲取實(shí)時(shí)任務(wù)組的資源額度,進(jìn)一步判斷是否有資源分配給實(shí)時(shí)任務(wù)組,若是,則進(jìn)一步判斷所述實(shí)時(shí)任務(wù)組中是否有需運(yùn)行的子任務(wù)且實(shí)時(shí)任務(wù)組內(nèi)正在運(yùn)行的子任務(wù)總數(shù)小于實(shí)時(shí)任務(wù)組的資源額度,若是,則按照實(shí)時(shí)任務(wù)組中的調(diào)度策略將資源分配給所述實(shí)時(shí)任務(wù)組中的子任務(wù),否則結(jié)束。
全文摘要
本發(fā)明提供了一種分布式數(shù)據(jù)倉庫中的任務(wù)調(diào)度方法及系統(tǒng),所述方法包括以下步驟A.按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給任務(wù)組的資源比例;B.根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。所述系統(tǒng)包括包括分組模塊,按類型將任務(wù)分為多個(gè)任務(wù)組,分別設(shè)定應(yīng)分配給所述任務(wù)組的資源比例;資源分配模塊,根據(jù)所述資源比例對(duì)所述多個(gè)任務(wù)組進(jìn)行資源分配。采用本發(fā)明提供的分布式數(shù)據(jù)庫倉庫中的任務(wù)調(diào)度方法及系統(tǒng),能夠合理分配資源,不僅能滿足實(shí)時(shí)的小任務(wù)的計(jì)算需求,也能滿足非實(shí)時(shí)的大任務(wù)的計(jì)算需求。
文檔編號(hào)G06F9/48GK102243598SQ201010188509
公開日2011年11月16日 申請(qǐng)日期2010年5月14日 優(yōu)先權(quán)日2010年5月14日
發(fā)明者李均, 洪坤乾, 趙偉, 郭瑋 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司