一種任務分配方法及裝置制造方法
【專利摘要】本發明實施例公開了一種任務分配方法,所述方法包括:服務器確定任一待分配任務;所述服務器根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息;所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。與現有技術相比,本發明采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了現有技術中大量的網絡交互,同時節約網絡資源開銷,也不會對服務器造成過大壓力。
【專利說明】一種任務分配方法及裝置
【技術領域】
[0001]本發明涉及數據處理【技術領域】,具體涉及一種任務分配方法及裝置。
【背景技術】
[0002]目前,根據現有的任務分配機制,通過客戶端定期向服務器發起請求,查詢數據庫中是否有該客戶端的任務,當存在該客戶端的任務時,服務器將反饋信息發送至該客戶端,以此完成任務的分配。
[0003]現有技術中,由于客戶端在不知道服務器端是否已經存在需要自己處理的任務的情況下,需要定期去詢問服務器是否有需要自己處理的任務,而實際上服務器可能根本沒有需要該客戶端處理的任務,這種情況下會造成網絡資源占用大的問題,同時,大量客戶端同時向服務器發送請求也會導致服務器壓力過大。
【發明內容】
[0004]本發明提供了 一種任務分配方法及裝置,采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了現有技術中大量的網絡交互,同時節約網絡資源開銷。
[0005]本發明提供了一種任務分配方法,所述方法包括:
[0006]服務器確定任一待分配任務;
[0007]所述服務器根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息;
[0008]所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
[0009]優選地,所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端之前,還包括:
[0010]所述服務器利用UDP協議與所述客戶端建立連接通道。
[0011]優選地,所述方法還包括:
[0012]所述服務器將存儲的所述客戶端的工作狀態設置為繁忙狀態。
[0013]優選地,所述方法還包括:
[0014]所述服務器接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態;
[0015]所述服務器存儲所述客戶端的工作狀態。
[0016]優選地,所述接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態包括:
[0017]所述服務器每隔預設的特定時間與所述客戶端建立連接通道,所述連接通道為所述客戶端利用m)P協議建立的;
[0018]所述服務器通過所述連接通道,接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態。[0019]本發明還提供了一種任務分配裝置,所述裝置包括:
[0020]確定模塊,用于確定任一待分配任務;
[0021]分配模塊,用于根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息;
[0022]發送模塊,用于通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
[0023]優選地,所述裝置還包括:
[0024]建立模塊,用于利用UDP協議與所述客戶端建立連接通道。
[0025]優選地,所述裝置還包括:
[0026]設置模塊,用于將存儲的所述客戶端的工作狀態設置為繁忙狀態。
[0027]優選地,所述裝置還包括:
[0028]接收模塊,用于接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態;
[0029]存儲模塊,用于存儲所述客戶端的工作狀態。
[0030]優選地,所述接收模塊包括:
[0031]建立子模塊,用于每隔預設的特定時間與所述客戶端建立連接通道,所述連接通道為所述客戶端利用UDP協議建立的;
[0032]接收子模塊,用于通過所述連接通道,接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態。
[0033]本發明提供的任務分配方法中,首先服務器確定任一待分配任務,其次,服務器根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息,最后,服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。與現有技術相比,本發明采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了現有技術中大量的網絡交互,同時節約網絡資源開銷,也不會對服務器造成過大壓力。
【專利附圖】
【附圖說明】
[0034]為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0035]圖1為本發明實施例一提供的任務分配方法流程圖;
[0036]圖2為本發明實施例二提供的任務分配方法流程圖;
[0037]圖3為本發明實施例三提供的任務分配裝置結構示意圖;
[0038]圖4為本發明實施例三提供的任務分配裝置結構示意圖。
【具體實施方式】
[0039]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0040]實施例一
[0041]參考圖1,圖1為本實施例提供的任務分配方法流程圖,所述方法包括:
[0042]SlOl:服務器確定任一待分配任務。
[0043]本實施例中,服務器以隊列機制管理待分配任務,當服務器接收到一個任務時,首先將該任務放入任務隊列,所述任務隊列中的任務為待分配任務。服務器可以按照任務的優先級關系,定時將該任務隊列中的一個任務確定為作為任務分配對象的待分配任務。
[0044]S102:所述服務器根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息。
[0045]本實施例中,為了與服務器保持連接,客戶端可以利用UDP協議與服務器保持連接。具體的,客戶端可以每隔預設的特定時間利用UDP協議與服務器建立連接通道,并通過該連接通道向服務器發送注冊信息。其中,每個客戶端發送的注冊信息中包括該客戶端的工作狀態,如空閑狀態、繁忙狀態等。當服務器接收到來自客戶端的注冊信息時,記錄所述注冊信息中的客戶端的工作狀態,以便服務器可以根據各個客戶端的工作狀態完成任務的分配。
[0046]實際操作中,服務器可以通過查詢各個客戶端的工作狀態,將所述待分配任務分配給一個空閑狀態的客戶端。同時,所述服務器針對該任務分配產生通知消息,其中所述通知消息中包括所述待分配任務的標識等。
[0047]S103:所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
[0048]本實施例中,服務器可以利用UDP協議與客戶端建立連接通道,當所述服務器將待分配任務分配至一個空閑狀態的客戶端后,所述服務器可以通過預先建立的連接通道,將產生的通知信息發送至所述客戶端。當所述客戶端接收到來自所述服務器的通知信息后,獲知所述待分配任務被分配到所述客戶端執行,所述客戶端可以根據通知消息中的待分配任務的標識執行任務。
[0049]由于利用UDP協議建立的連接為短連接,所以,服務器可以在需要向客戶端發送消息時才建立與該客戶端的連接通道。當服務器需要向多個客戶端發送消息時,利用UDP協議建立短連接可以避免造成服務器負荷過大。同時,利用UDP協議建立的短連接也具有傳送速度很快,傳送數據量小,對網絡壓力小等優勢。
[0050]本實施例提供的任務分配方法首先確定任一待分配任務,其次,根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息,最后,通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。與現有技術相t匕,本實施例采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了現有技術中由客戶端請求任務方式產生的大量的網絡交互,同時節約網絡資源開銷,也不會對服務器造成過大壓力。
[0051]實施例二
[0052]參考圖2,圖2為本實施例提供的任務分配方法流程圖,所述方法包括:
[0053]S201:各個客戶端每隔預設的特定時間利用UDP協議與服務器建立連接通道。[0054]S202:利用所述連接通道,客戶端向所述服務器發送注冊信息,其中,所述注冊信息包括所述客戶端的工作狀態。
[0055]本實施例中,為了保證服務器能夠準確獲知各個客戶端的實時工作狀態,所以,各個客戶端需要利用UDP協議向服務器發送“心跳”,即客戶端的注冊信息等。
[0056]另外,服務器在收到客戶端的“心跳”后,向所述客戶端發送反饋響應,如果客戶端在規定的心跳次數請求之內得不到服務器的響應,所述客戶端會重新連接所述服務器,重新獲取所述服務器的物理IP和端口,重新建立客戶端和所述服務器之間的UDP連接通道,再次發送心跳。
[0057]S203:所述服務器存儲各個客戶端的工作狀態。
[0058]S204:服務器在確定一個待分配任務后,根據各個客戶端的工作狀態將所述待分配任務分配給一個空閑狀態的客戶端,并產生通知消息。
[0059]S205:所述服務器利用UDP協議與所述客戶端建立連接通道,并通過所述連接通道將所述通知信息發送至所述客戶端。
[0060]S206:所述服務器將存儲的所述客戶端的工作狀態設置為繁忙狀態。
[0061]具體的,所述客戶端被分配任務,說明所述客戶端已經處于工作狀態,所以,本實施例在完成任務分配后,將存儲的所述客戶端的工作狀態設置為繁忙狀態,以便后續任務暫時不會分給該客戶端。
[0062]與現有技術相比,本實施例采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了大量的網絡交互,同時節約網絡資源開銷,也不會對服務器造成過大壓力。同時,利用UDP協議建立連接通道,可以避免造成服務器負荷過大。
[0063]實施例三
[0064]參考圖3,圖3為本實施例提供的一種任務分配裝置結構示意圖,所述裝置包括:
[0065]確定模塊301,用于確定任一待分配任務;
[0066]分配模塊302,用于根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息;
[0067]發送模塊303,用于通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
[0068]參考圖4,圖4為本實施例提供的另一種任務分配裝置結構示意圖,所述裝置除了包括圖3中的模塊之外,還可以包括:
[0069]建立模塊401,用于利用UDP協議與所述客戶端建立連接通道。
[0070]另外,所述裝置還包括:
[0071]設置模塊,用于將存儲的所述客戶端的工作狀態設置為繁忙狀態。
[0072]其中,所述裝置還包括:
[0073]接收模塊,用于接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態;
[0074]存儲模塊,用于存儲所述客戶端的工作狀態。
[0075]其中,所述接收模塊包括:
[0076]建立子模塊,用于每隔預設的特定時間與所述客戶端建立連接通道,所述連接通道為所述客戶端利用UDP協議建立的;[0077]接收子模塊,用于通過所述連接通道,接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態。
[0078]本實施例提供的任務分配裝置的工作原理為:確定模塊301確定任一待分配任務后,分配模塊302根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息。發送模塊303,通過與所述客戶端建立的連接通道,將分配模塊302產生的所述通知消息發送至所述客戶端,完成任務的分配。
[0079]本實施例提供的任務分配裝置通過確定模塊確定任一待分配任務,通過分配模塊將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息,并通過發送模塊,利用與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。與現有技術相比,本實施例采取服務器主動向客戶端推送通知消息的方式完成任務分配,避免了大量的網絡交互,同時節約網絡資源開銷,也不會對服務器造成過大壓力。同時,利用UDP協議建立連接通道,可以避免造成服務器負荷過大。
[0080]對于系統實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
[0081]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0082]以上對 本發明實施例所提供的一種任務分配方法及裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種任務分配方法,其特征在于,所述方法包括: 服務器確定任一待分配任務; 所述服務器根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息; 所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
2.根據權利要求1所述的方法,其特征在于,所述服務器通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端之前,還包括: 所述服務器利用UDP協議與所述客戶端建立連接通道。
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括: 所述服務器將存儲的所述客戶端的工作狀態設置為繁忙狀態。
4.根據權利要求1或2所述的方法,其特征在于,所述方法還包括: 所述服務器接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態; 所述服務器存儲所述客戶端的工作狀態。
5.根據權利要求4所述的方法,其特征在于,所述接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態包括: 所述服務器每隔預設的特定時間與所述客戶端建立連接通道,所述連接通道為所述客戶端利用m)P協議建立的; 所述服務器通過所述連接通道,接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態。
6.一種任務分配裝置,其特征在于,所述裝置包括: 確定模塊,用于確定任一待分配任務; 分配模塊,用于根據預存的各個客戶端的工作狀態,將所述待分配任務分配給任一空閑狀態的客戶端,并產生通知消息; 發送模塊,用于通過與所述客戶端建立的連接通道,將所述通知消息發送至所述客戶端。
7.根據權利要求6所述的裝置,其特征在于,所述裝置還包括: 建立模塊,用于利用UDP協議與所述客戶端建立連接通道。
8.根據權利要求6或7所述的裝置,其特征在于,所述裝置還包括: 設置模塊,用于將存儲的所述客戶端的工作狀態設置為繁忙狀態。
9.根據權利要求6或7所述的裝置,其特征在于,所述裝置還包括: 接收模塊,用于接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態; 存儲模塊,用于存儲所述客戶端的工作狀態。
10.根據權利要求9所述的裝置,其特征在于,所述接收模塊包括: 建立子模塊,用于每隔預設的特定時間與所述客戶端建立連接通道,所述連接通道為所述客戶端利用m)P協議建立的; 接收子模塊,用于通過所述連接通道,接收來自客戶端的注冊信息,所述注冊信息包括所述客戶端的工作狀態。
【文檔編號】H04L29/06GK103929441SQ201410196002
【公開日】2014年7月16日 申請日期:2014年5月9日 優先權日:2014年5月9日
【發明者】黃海峰, 賀興華, 劉敬光, 鐘婧, 王亮, 張立強, 李超艷 申請人:中國銀行股份有限公司