任務調度方法、裝置及系統的制作方法
【技術領域】
[0001]本發明涉及計算技術領域,特別涉及一種任務調度方法、裝置及系統。
【背景技術】
[0002]現在科技的發展,需要計算機的計算量越來越大,一些計算密集型,需要計算機要有很強的運算處理能力,即使普通的大型機其計算也很難勝任。這時,一般都使用計算機集群技術,集中幾十臺甚至上百臺計算機的運算能力來滿足要求。提高處理性能一直是集群技術研究的一個重要目標之一。但是現有技術的計算寄集群處理面臨著任務量大,分布任務不能均衡,導致有些計算機超負荷,有些計算機空閑,導致處理任務的效率低。
【發明內容】
[0003]有鑒于此,本發明提供一種任務調度方法、裝置及系統,可以提高任務處理效率,減少超負荷的現象,提升資源利用率。
[0004]一種任務調度方法,用于服務器集群中,所述服務器集群用于根據處理客戶端提交的任務處理請求,所述服務器集群包括調度單元、以及多個任務處理單元,所述方法包括以下步驟:
[0005]所述任務處理單元將其負載信息發送給所述調度單元;
[0006]所述調度單元在接收客戶端發送的第一任務處理單元分配請求后選擇負載低的任務處理單元;
[0007]將所述選擇的任務處理單元的標識返回至所述客戶端;以及
[0008]所述客戶端將任務提交至所述標識對應的任務處理單元進行處理。
[0009]一種任務調度方法,用于服務器集群中,所述服務器集群用于根據處理客戶端提交的任務處理請求,所述服務器集群包括調度單元、以及多個任務處理單元,所述方法包括以下步驟:
[0010]所述任務處理單元將其負載信息發送給所述調度單元;
[0011]所述客戶端向所述調度單元發送負載請求;
[0012]所述調度單元在接收客戶端發送的負載請求后,將所述任務處理單元的負載信息返回至所述客戶端;
[0013]所述客戶端根據所述負載信息選擇負載低的任務處理單元,并從所述調度單元獲取所述選擇的任務處理單元的標識;以及
[0014]將任務提交至所述標識對應的任務處理單元進行處理。
[0015]一種任務調度方法,用于在一個服務器中將任務處理請求提交給一個服務器集群,所述服務器集群包括調度單元、以及多個任務處理單元,所述方法包括以下步驟:
[0016]獲取所述任務處理單元的列表;
[0017]按照預定的策略向所述列表中的任務處理單元提交任務處理請求;
[0018]記載提交的任務處理請求的數量;
[0019]若任務處理請求的數量超過預設閾值,則
[0020]將任務處理請求提交至所述列表中負載低的任務處理單元進行處理。
[0021]一種任務調度系統,所述系統包括服務器集群及客戶端,所述服務器集群用于根據處理所述客戶端提交的任務處理請求,所述服務器集群包括調度單元、以及多個任務處理單元,
[0022]所述任務處理單元,用于將其負載信息發送給所述調度單元;
[0023]所述調度單元,用于在接收客戶端發送的第一任務處理單元分配請求后選擇負載低的任務處理單元;
[0024]所述調度單元,還用于將所述選擇的任務處理單元的標識返回至所述客戶端;
[0025]所述客戶端,用于將任務提交至所述標識對應的任務處理單元進行處理。
[0026]一種任務調度系統,所述系統包括服務器集群及客戶端,所述服務器集群用于根據處理所述客戶端提交的任務處理請求,所述服務器集群包括調度單元、以及多個任務處理單元,
[0027]所述任務處理單元,用于將其負載信息發送給所述調度單元;
[0028]所述客戶端,用于向所述調度單元發送負載請求;
[0029]所述調度單元,用于在接收客戶端發送的負載請求后,將所述任務處理單元的負載信息返回至所述客戶端;
[0030]所述客戶端,用于根據所述負載信息選擇負載低的任務處理單元,并從所述調度單元獲取所述選擇的任務處理單元的標識;以及
[0031]將任務提交至所述標識對應的任務處理單元進行處理。
[0032]一種任務調度裝置,用于在一個服務器中將任務處理請求提交給一個服務器集群,所述服務器集群包括調度單元、以及多個任務處理單元,所述裝置包括:
[0033]列表獲取模塊,用于獲取所述任務處理單元的列表;
[0034]請求模塊,用于按照預定的策略向所述列表中的任務處理單元提交任務處理請求;
[0035]記載模塊,用于記載提交的任務處理請求的數量;
[0036]判斷模塊,用于判斷任務處理請求的數量是否超過預設閾值,
[0037]處理請求模塊,用于將任務處理請求提交至所述列表中負載低的任務處理單元進行處理。
[0038]根據本發明實施例,通過所述調度單元的分配負載低的任務處理單元處理任務,有效防止處理單元的一些機器超負荷,提升資源利用率。
[0039]為讓本發明的上述和其他目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下。
【附圖說明】
[0040]圖1為第一實施例提供的一種任務調度系統的結構示意圖。
[0041]圖2為圖1所示的調度單元服務器的結構框圖。
[0042]圖3為圖1所示的任務處理單元服務器的結構框圖。
[0043]圖4為圖1所示的客戶端的結構框圖。
[0044]圖5為第二實施例提供的一種任務調度方法流程圖。
[0045]圖6為第三實施例提供的一種任務調度方法流程圖。
[0046]圖7為第四實施例提供的一種任務調度方法流程圖。
[0047]圖8為第五實施例提供的一種任務調度方法流程圖。
[0048]圖9為第五實施例提供的多級任務調度流程示意圖。
[0049]圖10為第六實施例提供的一種任務調度方法流程圖。
[0050]圖11為第七實施例提供的一種任務調度方法流程圖。
[0051]圖12為第八實施例提供的一種任務調度方法流程圖。
[0052]圖13為第九實施例提供的一種任務調度方法流程圖。
[0053]圖14為第十實施例提供的一種任務調度方法流程圖。
[0054]圖15為第十一實施例提供的一種任務調度方法流程圖。
[0055]圖16為第十二實施例提供的一種任務調度方法流程圖。
[0056]圖17為第十三實施例提供的一種任務調度方法流程圖。
[0057]圖18為第十四實施例提供的一種任務調度方法流程圖。
[0058]圖19為第十五實施例提供的一種任務調度裝置結構框圖。
[0059]圖20為第十六實施例提供的一種任務調度裝置結構框圖。
[0060]圖21為第十七實施例提供的一種任務調度裝置結構框圖。
[0061]圖22為第十八實施例提供的一種任務調度裝置結構框圖。
[0062]圖23為第十九實施例提供的一種任務調度裝置結構框圖。
【具體實施方式】
[0063]為更進一步闡述本發明為實現預定發明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據本發明的【具體實施方式】、結構、特征及其功效,詳細說明如后。
[0064]第一實施例
[0065]圖1為第一實施例提供的一種任務調度系統的結構示意圖。任務調度系統包括調度單元,任務處理單元以及客戶端。所述調度單元及處理單元可以由計算機或者由虛擬機模擬出來的虛擬機組成。本實施例中以服務器為例,如圖1所示,調度單元包括一個或多個調度服務器100(圖1中僅示出一個)、任務處理單元包括一個或多個調度服務器100及一個或多個處理服務器200 (圖1中示出了四個)以及一個或多個客戶端300 (圖1中僅示出一個)。上述的各服務器是指部署在網絡環境中的計算機,用于偵聽網絡上的其他計算機或者其他客戶端(如圖1所示的客戶端300)提交的服務請求,并提供相應的服務。
[0066]在本實施例中,上述的調度服務器100用于提供處理資源分配服務,處理服務器200用于提供數據處理服務。例如,資源分配服務可以是監聽處理資源的處理狀況以及負載量,并根據負載量將處理資源分配至請求資源的客戶端。數據處理服務可以是用于接收客戶端傳送的任務并對任務進行處理,所述任務可以是圖片壓縮、云計算及分布式存儲等。
[0067]圖2示出了上述調度服務器的結構框圖。如圖所示,調度服務器100包括:存儲器102、處理器104以及網絡模塊106。本領域普通技術人員可以理解,圖1所示的結構僅為示意,其并不對服務器100的結構造成限定。例如,服務器100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。
[0068]存儲器102可用于存儲軟件程序以及模塊,如本發明實施例中的任務調度方法、裝置及系統對應的程序指令/模塊,處理器104通過運行存儲在存儲器102內的軟件程序以及模塊,從而執行各種功能應用以及數據處理,即實現任務調度方法。存儲器102可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態存儲器。在一些實例中,存儲器102可進一步包括相對于處理器104遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至調度服務器100。上述網絡的實例包括但不限于互聯網、企業內部網、局域網、移動通信網及其組合。
[0069]網絡模塊106用于接收以及發送網絡信號。上述網絡信號可包括無線信號或者有線信號。在一個實例中,上述網絡信號為有線網絡信號。此時,網絡模塊106可包括處理器、隨機存儲器、轉換器、晶體振蕩器等元件。
[0070]上述的軟件程序以及模塊包括:操作系統108、調度模塊110。其中操作系統108例如可為LINUX,UNIX,WINDOWS,其可包括各種用于管理系統任務(例如內存管理、存儲設備控制、電源管理等)的軟件組件和/或驅動,并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運行環境。調度模塊110運行在操作系統108的基礎上,用于分配處理資源,并收集處理資源的負載情況。
[0071]進一步地,調度模塊110內可包括資源分配模塊112,用于當調度模塊110接收到客戶端發送的任務處理單元請求時,根據當前任務處理單元的負載量分配負載低的任務處理單元。調度模塊110內還可包括信息獲取模塊114,用于接收當前所述任務處理單元當前使用狀態。
[0072]參閱圖3,其為上述的處理服務器200的一個實施例的結構框圖。對比參閱圖2及圖3,處理服務器200與調度服務器100結構相似,其不同之處在于,處理服務器200內不包括調度模塊110,而包括處理模塊116。處理模塊116運行在操作系統108的基礎上,并通過操作系統108的網絡服務監聽來自網絡的請求,根據請求完成相應的數據處理,并返回處理結果給客戶端。也就是說,處理模塊116用于向客戶端提供上述的數據處理服務。
[0073]進一步地,如圖3所示,處理模塊116可包括信息上報模塊118,用于將當前的負載量信息發送至所屬的調度單元。處理模塊116還可包括數據接收模塊120,用于接收客戶端發送的任務。
[0074]參閱圖4,其為上述的客戶端300的一個實施例的結構框圖。對比參閱圖2及圖4,客戶端300與調度服務器100結構相似,其不同之處在于,處理服務器200內不包括調度模塊110,而包括處理申請模塊122。處理申請模塊122運行在操作系統108的基礎上,并通過操作系統108的網絡服務監聽來自網絡的請求以及傳輸任務至目標處理端。也就是說,處理申請模塊122用于向上述調度服務器以及處理服務器發送資源申請請求以及將任務發送至目標處理單元。
[0075]進一步地,如圖4所