一種集群自反饋式負載均衡調度系統及方法
【專利摘要】本發明公開了一種集群自反饋式負載均衡調度系統及方法。本發明包括:調度中心服務器利用自身存在的五張表,高效調用集群響應服務;各集群中Master服務器通過發送Hello和Update報文實時通知調度中心服務器更新表中各集群狀態。當調度中心服務器接收到用戶請求后,查看自身內放置的資源分布表,確定相關可處理集群,進一步結合空閑表和分配歷史記錄表做出最合理的處理方案。各集群Master服務器周期發送Hello報文,通告給調度中心服務器自身狀態;并且當新建或完成處理任務時,實時發送Update報文通知調度中心服務器修改各表狀態。反饋機制與合理的任務分配方法相結合,實現負載均衡的調度方法。
【專利說明】
一種集群自反饋式負載均衡調度系統及方法
技術領域
[0001]本發明涉及負載均衡調度技術領域,具體是一種集群自反饋式負載均衡調度系統及方法。
【背景技術】
[0002]隨著互聯網技術的發展,單臺服務器組成的系統由于中央處理器、輸入輸出處理速度等方面的限制,已經不能滿足快速增長的數據量及業務處理的需求。集群技術的出現,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,但是關于集群調度這一核心問題現有的機制還不夠完善,存在或多或少的問題。比如:沒有考慮是否已有集群處理過類似請求問題,沒有比較各集群處理相同請求的效率問題和沒有實現調度服務器和集群之間的動態協調溝通的問題等。
[0003]因此,集群間負載均衡的實現沒有完全高效利用可用資源,存在一定的分配不均的現象。
【發明內容】
[0004]為了克服上述現有技術的缺點,本發明提供了一種集群自反饋式負載均衡調度系統及方法,真正實現任務分配的負載均衡。
[0005]—種集群自反饋式負載均衡調度方法,調度中心服務器按表查詢機制實現各負載均衡以及反饋式更新各表狀態;
[0006](I)當調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍;
[0007](2)確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況;
[0008]若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利;
[0009]若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表;
[0010](3)調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求;
[0011](4)集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。
[0012]優選的,各集群中的Master服務器利用以下兩種報文實時通知調度中心服務器更新表中各集群狀態:周期發送Hello報文,通告給調度中心服務器自身狀態;并且當新建或完成處理任務時,實時發送Update報文通知調度中心服務器修改各表狀態;Master服務器是每個集群中存在的一臺管理本集群其它服務器的設備。
[0013]優選的,兩種報文的工作方式如下:
[0014](I)在集群穩定的處理用戶請求消息的過程中,集群中的Master服務器會以60秒為一個周期,按時發送Hel 1報文,通告本集群各資源使用情況給調度中心服務器;
[0015](2)調度中心服務器收到Hello報文后將比對各表中的數值,發現沒有變化,將忽略此報文;
[0016](3)當集群收到一個新的用戶請求消息或者處理完成一個請求消息后,將立即發送一個Update報文,里面放置釋放或新占用的資源情況;
[0017](4)調度中心服務器收到此Update報文后,依次比對負載表、空閑表中的信息并做出相應的修改;同時,在分配歷史記錄表中添加已完成的請求消息的記錄和完成后所涉及的一系列參數;
[0018](5)調度中心服務器的各表項值得到及時更新。
[0019]優選的,調度中心服務器中具有五張表,調度中心服務器按表查詢機制如下:
[0020]資源分布表:存放各集群可以處理請求信息的集合;
[0021]負載表:存放各集群正在處理的請求信息的集合;
[0022]空閑表:存放各集群所剩資源情況的集合;
[0023]分配歷史記錄表:存放各集群已處理過請求消息的種類及處理各請求所占用資源情況和最終完成所消耗的時間;
[0024]排隊等候表:存放等待處理的請求信息。
[0025]—種集群自反饋式負載均衡調度系統,調度中心服務器按表查詢機制實現各負載均衡以及反饋式更新各表狀態;
[0026]查詢模塊;調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍;
[0027]選擇模塊:確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況;
[0028]若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利;
[0029]若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表;
[0030]執行模塊:調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求;
[0031]反饋模塊:集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。
[0032]本發明的有益效果是:通過調度中心服務器中各表之間的查詢關聯,引入歷史機制查詢,在處理類似請求時更加高效;處理新增請求時保證切實高效的負載均衡的實現。同時,反饋機制的應用,為切實負載均衡的實現增加了進一步保障。
【附圖說明】
[0033]下面結合附圖對本發明作進一步說明。
[0034]圖1為發明中的整體架構示意圖;
[0035]圖2為調度中心服務器中表的分布;
[0036]圖3為負載均衡工作流程示意圖;
[0037]圖4為調節系統原理框圖。
【具體實施方式】
[0038]如圖1所示,在所有集群的“上方”設置了一臺調度中心服務器,用來接收用戶發來的請求信息,并且通過其各項機制的設定來實現負載均衡。調度中心服務器就像是用戶與集群之間的一個橋梁,起到了接收、調度、分配等一系列功能,使用戶和集群之間忽略其他不必要因素的影響,看起來就像只與調度中心服務器進行通信一樣。
[0039]如圖2所示,調度中心服務器五張表之間相互協商工作,保證負載均衡的高效運行,各個存放內容如下:
[0040]資源分布表:存放各集群可以處理請求信息的集合;
[0041]負載表:存放各集群正在處理的請求信息的集合;
[0042]空閑表:存放各集群所剩資源情況的集合;
[0043]分配歷史記錄表:存放各集群已處理過請求消息的種類及處理各請求所占用資源情況和最終完成所消耗的時間;
[0044]排隊等候表:存放等待處理的請求信息。
[0045]如圖3所示,一種集群自反饋式負載均衡調度方法,調度中心服務器按表查詢機制實現各負載均衡以及反饋式更新各表狀態;
[0046](I)當調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍;
[0047](2)確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況;
[0048]若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利;
[0049]若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表;
[0050](3)調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求;
[0051](4)集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。
[0052]各集群中的Master服務器利用以下兩種報文實時通知調度中心服務器更新表中各集群狀態,Master服務器是每個集群中存在的一臺管理本集群其它服務器的設備。
[0053 ] He 11 ο報文:周期性發送,里面包含的內容有:集群的CPU使用率、內存占用情況等一系列資源;
[0054]Update報文:觸發式更新,當集群新接收或剛處理結束請求時,隨即向調度中心服務器進行通告;里面包含的內容有:新占用或解除占用的CPU使用量、占用或釋放內存的大小等一系列資源。
[0055]兩種報文的工作方式如下:
[0056](I)在集群穩定的處理用戶請求消息的過程中,集群中的Master服務器會以60秒為一個周期,按時發送Hel 1報文,通告本集群各資源使用情況給調度中心服務器;
[0057](2)調度中心服務器收到Hello報文后將比對各表中的數值,發現沒有變化,將忽略此報文;
[0058](3)當集群收到一個新的用戶請求消息或者處理完成一個請求消息后,將立即發送一個Update報文,里面放置釋放或新占用的資源情況;
[0059](4)調度中心服務器收到此Update報文后,依次比對負載表、空閑表中的信息并做出相應的修改;同時,在分配歷史記錄表中添加已完成的請求消息的記錄和完成后所涉及的一系列參數;
[0060](5)調度中心服務器的各表項值得到及時更新。
[0061]如圖4所示,一種集群自反饋式負載均衡調度系統,調度中心服務器按表查詢機制實現各負載均衡以及反饋式更新各表狀態;
[0062]查詢模塊;調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍;
[0063]選擇模塊:確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況;
[0064]若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利;
[0065]若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表;
[0066]執行模塊:調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求;
[0067]反饋模塊:集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。
[0068]調度中心服務器接收到用戶請求后,查看自身內放置的資源分布表,確定相關可處理集群,進一步結合空閑表和分配歷史記錄表做出最合理的處理方案;各集群中的Master服務器周期發送Hello報文,通告給調度中心服務器自身狀態;并且當新建或完成處理任務時,實時發送Update報文通知調度中心服務器修改各表狀態,從而實現反饋式的負載均衡任務調度分配。
【主權項】
1.一種集群自反饋式負載均衡調度方法,其特征在于:調度中心服務器按表查詢機制實現負載均衡以及反饋式更新各表狀態; (1)當調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍; (2)確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況; 若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利; 若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表; (3)調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求; (4)集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。2.根據權利要求1所述的一種集群自反饋式負載均衡調度方法,其特征在于:各集群中的Master服務器利用以下兩種報文實時通知調度中心服務器更新表中各集群狀態:周期發送Hello報文,通告給調度中心服務器自身狀態;并且當新建或完成處理任務時,實時發送Update報文通知調度中心服務器修改各表狀態;Master服務器是每個集群中存在的一臺管理本集群其它服務器的設備。3.根據權利要求2所述的一種集群自反饋式負載均衡調度方法,其特征在于:兩種報文的工作方式如下: (1)在集群穩定的處理用戶請求消息的過程中,集群中的Master服務器會以60秒為一個周期,按時發送Hello報文,通告本集群各資源使用情況給調度中心服務器; (2)調度中心服務器收到Hello報文后將比對各表中的數值,發現沒有變化,將忽略此報文; (3)當集群收到一個新的用戶請求消息或者處理完成一個請求消息后,將立即發送一個Update報文,里面放置釋放或新占用的資源情況; (4)調度中心服務器收到此Update報文后,依次比對負載表、空閑表中的信息并做出相應的修改;同時,在分配歷史記錄表中添加已完成的請求消息的記錄和完成后所涉及的一系列參數; (5)調度中心服務器的各表項值得到及時更新。4.根據權利要求1-3任一項所述的一種集群自反饋式負載均衡調度方法,其特征在于:調度中心服務器中具有五張表,調度中心服務器按表查詢機制如下: 資源分布表:存放各集群可以處理請求信息的集合; 負載表:存放各集群正在處理的請求信息的集合; 空閑表:存放各集群所剩資源情況的集合; 分配歷史記錄表:存放各集群已處理過請求消息的種類及處理各請求所占用資源情況和最終完成所消耗的時間; 排隊等候表:存放等待處理的請求信息。5.一種集群自反饋式負載均衡調度系統,其特征在于:調度中心服務器按表查詢機制實現負載均衡以及反饋式更新各表狀態; 查詢模塊;調度中心服務器接收到用戶請求后,首先查看資源分布表,根據資源分布表中內容,確定可處理此請求的集群的范圍; 選擇模塊:確定集群范圍后,接著查詢空閑表,根據選定的集群范圍依次查看每個可響應集群所剩余的資源情況; 若存在多個所剩資源較多的集群則接著查詢分配歷史記錄表,看是否存在已經執行過同類請求消息的記錄;若存在,則比較符合條件的集群上次處理此類似消息所占用的資源情況和最終完成所消耗的時間,兩者結合優勝者獲得處理該請求的權利;若不存在,則從多個符合條件的集群中選出所剩資源最多的獲得處理該請求的權利; 若可響應集群皆無所剩資源,則將請求放入排隊等候表中,直至空閑表中出現可分配資源后,跳出排隊等候表接著查詢空閑表; 執行模塊:調度中心服務器給最終選定的集群分配用戶請求任務,集群開始處理該請求; 反饋模塊:集群及時反饋集群狀態更新調度中心服務器的狀態,各表項相互結合關聯,實現反饋式的負載均衡任務調度分配。
【文檔編號】H04L29/08GK105959395SQ201610424982
【公開日】2016年9月21日
【申請日】2016年6月15日
【發明人】吳響, 李滿堂, 臧昊, 趙強
【申請人】徐州醫科大學