• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    分布式任務調度方法、系統和裝置制造方法及圖紙

    技術編號:8271312 閱讀:296 留言:0更新日期:2013-01-31 03:30
    本發明專利技術公開了分布式任務調度方法、系統和裝置,系統中包括一個控制服務器和多個執行服務器,控制服務器中包括一個調度控制器,各執行服務器中均包括多個任務槽,每個任務槽均分配有一定的資源;系統運行時,調度控制器維護兩個隊列:任務等待隊列和任務槽隊列,當每接收到一個任務X時,如果任務槽隊列中存在適合處理任務X的任務槽,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中,當每接收到一個任務槽X主動發送來的任務請求時,如果任務等待隊列中存在適合任務槽X處理的任務,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中。應用本發明專利技術所述方案,能夠提高資源利用率和任務處理效率。

    【技術實現步驟摘要】
    本專利技術涉及任務調度技術,特別涉及分布式任務調度方法、系統和裝置
    技術介紹
    分布式任務調度,是指將一個應用或者業務劃分出的多個任務交由多個服務器進行處理。分布式任務調度可解決單個服務器資源不足等問題,達到大規模數據計算的目的。 通常,分布式任務調度系統中會包括一個控制服務器,其它各服務器稱為執行服務器,可利用控制服務器來對各執行服務器進行統一管理,如當有任務需要執行時,由控制服務器按照某種規則將其分配給某一執行服務器。對于執行服務器來說,其只能被動地接受所分配的任務,但該任務可能并不適合其處理,比如假設執行服務器的可用內存為700M,當前執行的任務占用了 200M,新分配的一個任務需要占用600M的內存,那么,該新分配的任務就將無法執行,即只能等到當前任務執行完畢后才能執行,那么剩余的500M內存就相等于被浪費了,而且,如果當前任務需要執行較長的時間,新分配的任務就需要等待較長的時間,從而降低了任務處理效率。
    技術實現思路
    有鑒于此,本專利技術的主要目的在于提供一種分布式任務調度方法,能夠提高資源利用率和任務處理效率。本專利技術的另一目的在于提供一種分布式任務調度系統,能夠提高資源利用率和任務處理效率。本專利技術的又一目的在于提供一種執行服務器,能夠提高資源利用率和任務處理效率。本專利技術的再一目的在于提供一種控制服務器,能夠提高資源利用率和任務處理效率。為達到上述目的,本專利技術的技術方案是這樣實現的—種分布式任務調度方法,在分布式任務調度系統中設置一個控制服務器和一個以上執行服務器,在控制服務器中設置一個調度控制器,在每個執行服務器中分別劃分出兩個以上任務槽,并為每個任務槽分配所需的資源;當所述分布式任務調度系統運行時,該方法包括調度控制器維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列;當每接收到一個任務X時,調度控制器確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中;當每接收到一個任務槽X主動發送來的任務請求時,調度控制器確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中;所述任務請求為任務槽X確定自身資源使用情況適合主動請求新的任務后發送來的。一種分布式任務調度系統,包括兩個以上服務器,其中一個為控制服務器,或同時為控制服務器和執行服務器,其余均為執行服務器;控制服務器中包括一個調度控制器,每個執行服務器中均包括兩個以上任務槽,每個任務槽均分配有一定的資源,每個任務槽中進一步包括協調器和任務執行器;調度控制器,用于維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列;當每接收到一個任務X時,確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中;當每接收到一個任務槽X主動發送來的任務請求時,確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中;協調器,用于根據所在任務槽的資源使用情況主動向調度控制器請求新的任務,并接收調度控制器所分配的任務,發送給任務執行器; 任務執行器,用于執行所分配的任務。一種執行服務器,包括兩個以上任務槽,每個任務槽均分配有一定的資源,每個任務槽中進一步包括協調器和任務執行器;協調器,用于根據所在任務槽的資源使用情況主動向調度控制器請求新的任務,并接收調度控制器所分配的任務,發送給任務執行器;任務執行器,用于執行所分配的任務。一種控制服務器,包括調度控制器;所述調度控制器,用于維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列;當每接收到一個任務X時,確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中;當每接收到一個任務槽X主動發送來的任務請求時,確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中;所述任務請求為任務槽X確定自身的資源使用情況適合主動請求新的任務后發送來的。可見,采用本專利技術所述方案,對各執行服務器的資源進行更細粒度的劃分,得到多個任務槽,各任務槽均可執行任務,從而能夠最大化的利用各執行服務器的資源,提高了資源利用率;另外,各任務槽可根據自身的資源使用情況主動確定是否接受新的任務,且調度控制器在為各任務槽分配任務時,會選擇適合任務槽處理的任務,同樣,調度控制器在分配任務時,會選擇適合處理它的任務槽,這樣一來,不但能夠使任務被盡快處理,而且能夠充分利用各任務槽的資源,從而不但提高了資源利用率,也提高了任務的處理效率;再有,本專利技術所述方案利用協調器來協助調度控制器進行任務調度,極大地減輕了調度控制器的負載,達到了負載均衡的目的,并增強了系統的可擴展性。附圖說明圖I為本專利技術一執行服務器中的各任務槽分配到的資源示意圖。圖2為本專利技術分布式任務調度方法實施例的流程圖。圖3為本專利技術分布式任務調度系統實施例的組成結構示意圖。具體實施方式針對現有技術中存在的問題,本專利技術中提出一種改進后的分布式任務調度方案,能夠提高資源利用率和任務處理效率。本專利技術中,預先將分布式任務調度系統中的一個服務器定義為控制服務器,或同時定義為控制服務器和執行服務器,其余服務器均定義為執行服務器,在控制服務器中設置一個調度控制器,在每個執行服務器中分別劃分出兩個以上任務槽,并為每個任務槽分配所需的資源。在實際應用中,可根據各執行服務器中的某種或某幾種資源狀況在各執行服務器中分別劃分出多個任務槽,比如,根據CPU數目進行劃分,有幾個CPU就劃分出幾個任務槽,之后,根據劃分出的任務槽數對其它資源,如內存等的可用資源數進行劃分,劃分原則可為將每個執行服務器中的每種資源的可用資源數平均分配給該執行服務器中的每個任務槽,即有: T, ,Total (Res ,),、 Res Falue =---— ;( I ) Count {Task ,.)其中,Resi表示一執行服務器中的第i種資源,Total (Resi)表示資源Resi的可用資源數,Taski表示任務槽i,Count(Taski)表示該執行服務器中劃分出的任務槽數,將ResValuei分配給該執行服務器中的各任務槽。圖I為本專利技術一執行服務器中的各任務槽分配到的資源示意圖。任務槽具備主動請求任務、自我資源平衡以及任務執行等能力。調度控制器是分布式任務調度系統的控制中心,功能主要包括基本任務調度、任務槽管理和處理任務槽的任務請求等。出于對資源利用的考慮,調度控制器和任務槽應該是獨立運行的進程。每個服務器中均包括一個后臺管理單元,當分布式任務調度系統啟動時,控制服務器中的后臺管理單元啟動調度控制器,并根據分布式任務調度系統中的服務器數量為調度控制器配置足夠的資源,包括內存和線程數量等,如果控制服務器同時作為執行服務器,則還需要啟動所劃分的各任務槽,之后,通知各執行服務器啟動;各執行服務器中的后臺管理單元啟動所劃分的各任務槽;當完成上述處理后,各后臺管理單元進入休眠狀態,退出服務。在分布式任務調度系統運行的過程中,調度控制器會維護兩個隊列,一個為任務等待隊列,另一個為任務本文檔來自技高網...

    【技術保護點】
    一種分布式任務調度方法,其特征在于,在分布式任務調度系統中設置一個控制服務器和一個以上執行服務器,在控制服務器中設置一個調度控制器,在每個執行服務器中分別劃分出兩個以上任務槽,并為每個任務槽分配所需的資源;當所述分布式任務調度系統運行時,該方法包括:調度控制器維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列;當每接收到一個任務X時,調度控制器確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中;當每接收到一個任務槽X主動發送來的任務請求時,調度控制器確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中;所述任務請求為任務槽X確定自身資源使用情況適合主動請求新的任務后發送來的。

    【技術特征摘要】
    1.一種分布式任務調度方法,其特征在于,在分布式任務調度系統中設置一個控制服務器和一個以上執行服務器,在控制服務器中設置一個調度控制器,在每個執行服務器中分別劃分出兩個以上任務槽,并為每個任務槽分配所需的資源;當所述分布式任務調度系統運行時,該方法包括 調度控制器維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列; 當每接收到一個任務X時,調度控制器確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中; 當每接收到一個任務槽X主動發送來的任務請求時,調度控制器確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中;所述任務請求為任務槽X確定自身資源使用情況適合主動請求新的任務后發送來的。2.根據權利要求I所述的方法,其特征在于,該方法進一步包括 每個任務槽周期性地計算自身的資源評分,并將計算結果與預先設定的可請求閾值進行比較,如果計算結果大于可請求閾值,則確定之前是否已經向調度控制器請求過新的任務但未分配到新的任務,如果是,則不作處理,否則,向調度控制器請求新的任務,并將自身的資源使用情況上報給調度控制器。3.根據權利要求2所述的方法,其特征在于,所述調度控制器確定任務槽隊列中是否存在適合處理任務X的任務槽包括 如果已知任務X的資源需求,則確定任務槽隊列中是否存在未使用資源能夠滿足任務X的資源需求的任務槽,如果存在且個數為一,則將其作為適合處理任務X的任務槽,如果存在且個數為兩個以上,則從中選出未使用資源最接近任務X的資源需求的任務槽,將其作為適合處理任務X的任務槽; 如果不知道任務X的資源需求,則從任務槽隊列中選出未使用資源最多的任務槽,將其作為適合處理任務X的任務槽。4.根據權利要求3所述的方法,其特征在于,該方法進一步包括 如果已知任務X的資源需求,且任務槽隊列中不存在未使用資源能夠滿足任務X的資源需求的任務槽,則確定其中是否存在能夠使任務X在預定較短時間內得到執行,且在執行任務X時能夠滿足任務X的資源需求的任務槽;如果存在且個數為一,則將其作為適合處理任務X的任務槽,如果存在且個數為兩個以上,則從中選出能夠使任務X被最快執行的任務槽,將其作為適合處理任務X的任務槽。5.根據權利要求I所述的方法,其特征在于,該方法進一步包括 各任務槽接收到所分配的任務后,確定所分配的任務可否立即執行,如果是,則立即執行,否則,將所分配的任務進行緩存,當當前任務執行完畢后,執行緩存的任務。6.根據權利要求5所述的方法,其特征在于,該方法進一步包括調度控制器回收已分配給任務槽但未被執行的任務。7.根據權利要求1、5或6所述的方法,其特征在于,該方法進一步包括 每個任務槽周期性地計算自身的資源評分,并將計算結果與預先設定的最小限定閾值進行比較,如果連續M個周期的計算結果均小于最小限定閾值,則在執行完所有已分配的任務后,自我關閉,釋放資源,并通知調度控制器;M為大于I的正整數;調度控制器將所釋放的資源分配給釋放資源的任務槽所在的執行服務器中的其它任務槽。8.根據權利要求7所述的方法,其特征在于,確定連續M個周期的計算結果均小于最小限定閾值之后,進一步包括 向調度控制器發送資源釋放請求;調度控制器確定發送資源釋放請求的任務槽所在的執行服務器中是否存在處于滿負荷狀態的任務槽,如果是,則通知發送資源釋放請求的任務槽釋放資源; 所述其它任務槽為處于滿負荷狀態的任務槽。9.根據權利要求1、5或6所述的方法,其特征在于,該方法進一步包括 每個任務槽周期性地計算自身的資源評分,并將計算結果與預先設定的最小限定閾值進行比較,如果連續M個周期的計算結果均小于最小限定閾值,則釋放部分資源,并通知調度控制器;M為大于I的正整數; 調度控制器在釋放部分資源的任務槽所在的執行服務器中創建一個新的任務槽,并將所釋放的資源分配給新創建的任務槽。10.根據權利要求9所述的方法,其特征在于,所述釋放部分資源之前,進一步包括 向調度控制器發送資源釋放請求; 調度控制器確定發送資源釋放請求的任務槽所在的執行服務器中的任務槽數是否小于預先設定的最大任務槽限額數,如果是,則通知發送資源釋放請求的任務槽釋放資源。11.一種分布式任務調度系統,其特征在于,包括兩個以上服務器,其中一個為控制服務器,或同時為控制服務器和執行服務器,其余均為執行服務器;控制服務器中包括一個調度控制器,每個執行服務器中均包括兩個以上任務槽,每個任務槽均分配有一定的資源,每個任務槽中進一步包括協調器和任務執行器; 調度控制器,用于維護兩個隊列,一個為任務等待隊列,另一個為任務槽隊列;當每接收到一個任務X時,確定任務槽隊列中是否存在適合處理任務X的任務槽,如果是,則將任務X分配給該任務槽,否則,將任務X加入到任務等待隊列中;當每接收到一個任務槽X主動發送來的任務請求時,確定任務等待隊列中是否存在適合任務槽X處理的任務,如果是,則將該任務分配給任務槽X,否則,將任務槽X加入到任務槽隊列中; 協調器,用于根據所在任務槽的資源使用情況主動向調度控制器請求新的任務,并接收調度控制器所分配的任務,發送給任務執行器; 任務執行器,用于執行所分配的任務。12.根據權利要求11所述的系統,其特征在于,所述協調器周期性地計算所在任務槽的資源評分,并將計算結果與預先設定的可請求閾值進行比較,如果計算結果大于可請求閾值,則進一步確定之前是否已經向調度控制器請求過新的任務但未分配到新的任務,如果是,則不作處理,否則,向調度控制器請求新的任務,并將自身的資源使用情況上報給調度控制器。13.根據權利要求12所述的系統,其特征在于, 如果已知任務X的資源需求,則調...

    【專利技術屬性】
    技術研發人員:鄭長松蕭巍曾東廖勤耘柳劉陳少權王全禮
    申請(專利權)人:中國移動通信集團四川有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久久久久亚洲AV无码专区| 国产精品亚洲专区无码牛牛| av中文无码乱人伦在线观看| 无码午夜人妻一区二区不卡视频| 少妇中文无码高清| 国产AV无码专区亚洲AV手机麻豆| 无码国产精品一区二区免费vr| 久久亚洲精品无码网站| 亚洲精品中文字幕无码蜜桃| 亚洲av无码专区国产不乱码| 成人无码精品1区2区3区免费看| 久久亚洲精品无码AV红樱桃| 深夜a级毛片免费无码| 精品无码国产自产在线观看水浒传| 少妇无码?V无码专区在线观看| 亚洲一区二区无码偷拍| 亚洲精品无码MV在线观看| 亚洲a无码综合a国产av中文 | 亚洲av永久无码精品漫画| 亚洲av无码成人精品国产| 亚洲av永久无码精品国产精品| 无码国模国产在线观看| 无码人妻一区二区三区免费手机| 一本一道AV无码中文字幕| 亚洲日韩精品无码专区网站| 无码夫の前で人妻を犯す中字| 国产免费无码AV片在线观看不卡| 人妻系列无码专区久久五月天| 欧洲精品无码成人久久久| 久久久久亚洲av无码专区导航| 国产成人精品无码播放| 国精品无码一区二区三区在线| 国产成人无码专区| 国产啪亚洲国产精品无码| 日韩人妻系列无码专区| 国产成人无码区免费A∨视频网站| 亚洲精品无码av片| 免费无码看av的网站| 免费人妻av无码专区| 亚洲av无码乱码在线观看野外 | 久久久久亚洲AV无码专区首|