專利名稱:云計算系統中均衡負載的方法、節點管理器及系統的制作方法
技術領域:
本發明涉及通信技術領域,具體涉及云計算系統中均衡負載的方法、節點管理器及系統。
背景技術:
在云計算環境下,會有海量的基于超文本傳送協議(HTTP, hypertext transportprotocol)中的簡單對象訪問協議(SOAP, Simple Object Access Protocol)、架構狀態轉換協議(RESTful, REpresentation State Transfer)等,以及其他非HTTP協議的訪問,如何快速高效完成多種協議的海量接入和編解碼,是云計算平臺必須考慮的問題。在云計算系統中,接入部件一般都是業務系統的核心部件,負責外部業務的接入和分發,對性能和可靠性要求極高,傳統解決方案是使用硬件負載均衡器,(如F5、Radware等型號的負載均衡器)進行負載接入和分發,為了提高負載均衡器的吞吐量,一般負載均衡器不會做協議編解碼等耗時的操作,協議編解碼的操作都是后臺應用服務器進行處理的。在對現有技術的研究和實踐過程中,本發明的發明人發現,云計算環境下,業務種類繁多,請求量變化很大,同一種業務在不同時期的業務請求量也會差別很大,硬件負載均衡器作為接入節點,很難進行水平擴展,因此雖然能夠處理很多并發請求,但容量是有限的,無法實現云計算環境中的海量接入請求。
發明內容
本發明實施例提供一種云計算系統中均衡負載的方法,通過多個接入節點接入負載,通過多個業務節點處理負載,實現了云計算系統中的海量接入。本發明實施例還提供了相應的節點管理器及系統。一種云計算系統中均衡負載的方法,包括接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息;將每個接入節點的節點標識、地址信息對應存儲,并將每個業務節點的節點標識和地址信息對應存儲;監控注冊后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量;接收用戶端發送的負載接入請求消息;將所述負載接入請求消息,發送給負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統;將每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。一種節點管理器,包括
接收單元,用于接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息;存儲單元,用于將所述接收單元接收到的每個節點的注冊請求中攜帶的接入節點的節點標識、地址信息對應存儲,每個業務節點的節點標識和地址信息對應存儲;監控單元,用于監控所述接收單元接收到注冊請求后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量;所述接收單元,還用于接收用戶端發送的負載接入請求消息;發送單元,用于將所述接收單元接收到的負載接入請求消息,發送給所述監控單元監控到的負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統;所述發送單元,還用于將所述監控單元監控到的每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。一種云計算系統,包括節點管理器、多個接入節點、和多個業務節點;所述每個接入節點和每個業務節點向所述節點管理器發送注冊消息,所述注冊請求中攜帶各自的節點標識和地址信息;所述節點管理器為上述技術方案所述的節點管理器。本發明實施例采用接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息;將每個接入節點的節點標識、地址信息對應存儲,并將每個業務節點的節點標識和地址信息對應存儲;監控注冊后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量;接收用戶端發送的負載接入請求消息;將所述負載接入請求消息,發送給負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統;將每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。與現有技術相比,本發明實施例提供的云計算系統中均衡負載的方法,可以通過多個接入節點接入負載,通過多個業務節點處理負載,實現了云計算系統中的海量接入。
圖I是本發明實施例提供的均衡負載的方法的一實施例示意圖;圖2是本發明實施例中的云計算系統的一實施例示意圖;圖3是本發明實施例中節點管理器的一實施例示意圖;圖4是本發明實施例中節點管理器的另一實施例示意圖;圖5是本發明實施例中節點管理器的另一實施例示意圖;圖6是本發明實施例中節點管理器的另一實施例示意圖;圖7是本發明實施例中節點管理器的另一實施例示意圖;圖8是本發明實施例中節點管理器的另一實施例示意圖;圖9是本發明實施例中節點管理器的另一實施例示意圖。
具體實施方式
本發明實施例提供一種云計算系統中均衡負載的方法,通過多個接入節點接入負載,通過多個業務節點處理負載,實現了云計算系統中的海量接入。本發明實施例還提供了相應的裝置及系統。以下分別進行詳細說明。
參閱圖1,本發明實施例提供的云計算系統中均衡負載的方法的一實施例包括101、接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息。對于云計算系統中越來越多的用戶、越來越多的接入請求,現有技術中通過增強接入硬件的功能,來實現海量接入顯得力不從心了,本發明實施例中,提供了接入集群和業務集群的設計方案,參閱圖2,接入集群中有多個接入節點,業務集群中有多個業務節點,對于加入接入集群的接入節點都要先向節點管理器發送注冊請求,對于加入業務集群的業務節點也都要向節點管理器發送注冊請求,每個注冊請求中都攜帶各自的節點標識和地址信肩、O每個接入節點的注冊請求中還攜帶各自允許接入的協議類型,如允許接入HTTP協議、SOAP 協議、Restful 協議、短消息點對點(SMMP, Short Message Peer to Peer)協議、文件轉換協議(FTP,File Transfer Protocol)等,一個接入節點可以允許接入上述協議中的一種或幾種。當接入節點的注冊請求中還攜帶各自允許接入的協議類型時,節點管理器將所述接入節點的節點標識、地址信息和允許接入的協議類型對應存儲;在發送負載接入請求消息時,獲取所述負載接入請求消息的協議類型,將所述負載接入請求消息,發送給負載接入量未滿負荷的,且允許接入的協議類型包括所述負載接入請求消息的協議類型的任意一個接入節點。接入節點可以接入不同協議類型的負載接入請求,接入節點對負載接入請求進行分析后,可以將不同協議類型的負載接入請求轉化為所有接入節點通用協議結構,然后再將負載分發給業務節點,這樣業務節點可以使用統一的方式處理多種接入協議。這對于目前云計算中經常需要同時提供SOAP和RESTful等多種協議實現非常有價值。本發明實施例中提供的接入節點可以通過擴展插件的方式支持新的協議與新的接入方式。每個接入節點都是對等的,任何一個接入節點的工作都可以由其他接入節點替代,這樣接入節點可以非常容易實現水平擴展和水平收縮,從而實現云計算系統中的海量接入請求。為達到接入節點集群化的目的,首先接入節點對接入協議的類型進行劃分,分為無會話、短連接會話和長連接會話三種情況進行處理對于無會話請求,處理非常簡單,無需保存會話信息,各個接入節點本來就是對等(share nothing)的。對于短連接會話,一般會話存在時間較短,如幾分鐘,并且會話信息變化頻繁,比如http請求的會話,這種可以采用本地內存緩存的方式進行處理。對于對會話可靠性要求高的應用,接入節點提供了分布式內存緩存,可以通過一致性哈希方式選擇分布式內存緩存節點保存會話信息,從而達到接入節點對等(share nothing)的目的。對于長連接會話,一般會話存在時間較長,如幾個小時到幾天,此時會話信息可以保存在中心持久化存儲,如數據庫或分布式文件存儲中,在每個節點上使用本地內存進行緩存,通過節點管理器監聽緩存信息的變化,進行緩存刷新。102、將每個接入節點的節點標識、地址信息對應存儲,并將每個業務節點的節點標識和地址信息對應存儲。接入節點和業務節點向節點管理器發送注冊請求后,節點管理器將注冊請求中攜帶的節點標識和地址信息對應存儲;如圖2中個節點的節點標識和地址信息對應存儲在下表I和表2中,表I為接入節點注冊信息表,表2為業務節點注冊信息表 表I :接入節點注冊信息表
權利要求
1.一種云計算系統中均衡負載的方法,其特征在于,包括 接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息; 將每個接入節點的節點標識、地址信息對應存儲,并將每個業務節點的節點標識和地址信息對應存儲; 監控注冊后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量; 接收用戶端發送的負載接入請求消息; 將所述負載接入請求消息,發送給負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統; 將每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。
2.根據權利要求I所述的方法,其特征在于,所述每個接入節點的注冊請求中還攜帶各自允許接入的協議類型; 所述將每個接入節點的節點標識、地址信息對應存儲,具體包括將所述接入節點的節點標識、地址信息和允許接入的協議類型對應存儲; 所述將所述負載接入請求消息,發送給負載接入量未滿負荷的任意一個接入節點,具體包括獲取所述負載接入請求消息的協議類型,將所述負載接入請求消息,發送給負載接入量未滿負荷的,且允許接入的協議類型包括所述負載接入請求消息的協議類型的任意一個接入節點。
3.根據權利要求I或2所述的方法,其特征在于,所述監控注冊后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量,具體包括 通過每個接入節點的節點標識和地址信息查詢對應接入節點的負載接入量,并將所述負載接入量與對應的接入節點的節點標識和地址信息關聯存儲; 通過每個業務節點的節點標識和地址信息查詢對應業務節點的負載處理量,并將所述負載處理量與對應的業務節點的節點標識和地址信息關聯存儲。
4.根據權利要求I或2所述的方法,其特征在于,所述監控注冊后的每個接入節點的負載接入量,具體包括 在發送負載接入請求消息給接入節點時,將發送給相同接入節點的負載請求消息的次數累加,并將所述累加后的次數與接入節點的標識和地址信息關聯存儲。
5.根據權利要求2所述的方法,其特征在于,所述將所述負載接入請求消息,發送給負載接入量未滿負荷的,且允許接入的協議類型包括所述負載接入請求消息的協議類型的任意一個接入節點,具體包括 查詢允許接入的協議類型包括所述負載接入請求消息的協議類型的接入節點的負載接入量; 從查詢出的接入節點中選出負載接入量未滿負荷的接入節點; 按照接入節點的標識和地址信息存儲順序,將所述負載接入請求消息,發送給選出的負載接入量未滿負荷的接入節點中所述存儲順序在前的接入節點。
6.根據權利要求2所述的方法,其特征在于,所述將所述負載接入請求消息,發送給負載接入量未滿負荷的,且允許接入的協議類型包括所述負載接入請求消息的協議類型的任意一個接入節點,具體包括 查詢允許接入的協議類型包括所述負載接入請求消息的協議類型的接入節點的負載接入量; 從查詢出的接入節點中選出負載接入量未滿負荷的接入節點; 從所述選出的負載接入量未滿負荷的接入節點中,采用輪循方式選擇一接入節點,將所述負載接入請求消息發送給所述輪循方式選出的接入節點。
7.根據權利要求I所述的方法,其特征在于,所述將每個業務節點的負載處理量發送給每個接入節點,具體包括 查詢業務節點中負載處理量未滿負荷的業務節點; 將查詢到的負載處理量未滿負荷的業務節點的節點標識和地址信息,發送給所有接入節點。
8.根據權利要求I所述的方法,其特征在于,所述將每個業務節點的負載處理量發送給每個接入節點,具體包括 查詢業務節點中負載處理量未滿負荷的業務節點; 將查詢到的負載處理量未滿負荷的業務節點的節點標識和地址信息,發送給接收了負載接入請求的接入節點。
9.一種節點管理器,其特征在于,包括 接收單元,用于接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息; 存儲單元,用于將所述接收單元接收到的每個節點的注冊請求中攜帶的接入節點的節點標識、地址信息對應存儲,每個業務節點的節點標識和地址信息對應存儲; 監控單元,用于監控所述接收單元接收到注冊請求后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量; 所述接收單元,還用于接收用戶端發送的負載接入請求消息; 發送單元,用于將所述接收單元接收到的負載接入請求消息,發送給所述監控單元監控到的負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統; 所述發送單元,還用于將所述監控單元監控到的每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。
10.根據權利要求9所述的管理器,其特征在于,還包括 所述存儲單元,具體用于當所述每個接入節點的注冊請求中還攜帶各自允許接入的協議類型時,將所述接入節點的節點標識、地址信息和允許接入的協議類型對應存儲; 獲取單元,用于獲取所述負載接入請求消息的協議類型; 所述發送單元,具體用于將所述負載接入請求消息,發送給負載接入量未滿負荷的,且允許接入的協議類型包括所述獲取單元獲取的負載接入請求消息的協議類型的任意一個接入節點。
11.根據權利要求9或10所述的管理器,其特征在于,還包括 查詢單元,用于通過每個接入節點的節點標識和地址信息查詢對應業務節點的負載接入量; 所述存儲單元,還用于將所述查詢單元查詢到的負載接入量與對應的接入節點的節點標識和地址信息關聯存儲; 所述查詢單元,還用于通過每個業務節點的節點標識和地址信息查詢對應業務節點的負載處理量; 所述存儲單元,還用于將所述查詢單元查詢到的負載處理量與對應的業務節點的節點標識和地址信息關聯存儲。
12.根據權利要求9或10所述的管理器,其特征在于,還包括 計數單元,用于在發送負載接入請求消息給接入節點時,將發送給相同接入節點的負載請求消息的次數累加; 所述存儲單元,還用于將所述計數單元累加后的次數與接入節點的標識和地址信息關聯存儲。
13.根據權利要求11所述的管理器,其特征在于,還包括 所述查詢單元,具體用于查詢允許接入的協議類型包括所述負載接入請求消息的協議類型的接入節點的負載接入量; 第一選擇單元,用于從所述查詢單元查詢出的接入節點中選出負載接入量未滿負荷的接入節點; 所述發送單元,具體用于按照接入節點的標識和地址信息存儲順序,將所述負載接入請求消息,發送給所述第一選擇單元選出的負載接入量未滿負荷的接入節點中所述存儲順序在前的接入節點。
14.根據權利要求11所述的管理器,其特征在于,還包括 所述查詢單元,具體查詢允許接入的協議類型包括所述負載接入請求消息的協議類型的接入節點的負載接入量; 第二選擇單元,用于從所述查詢單元查詢出的接入節點中選出負載接入量未滿負荷的接入節點; 所述發送單元,具體用于從所述第二選擇單元選出的負載接入量未滿負荷的接入節點中,采用輪循方式選擇一接入節點,將所述負載接入請求消息發送給所述輪循方式選出的接入節點。
15.根據權利要求11所述的管理器,其特征在于, 所述查詢單元,還用于查詢業務節點中負載處理量未滿負荷的業務節點; 所述發送單元,具體用于將所述查詢單元查詢到的負載處理量未滿負荷的業務節點的節點標識和地址信息,發送給所有接入節點。
16.根據權利要求11所述的管理器,其特征在于, 所述查詢單元,還用于查詢業務節點中負載處理量未滿負荷的業務節點; 所述發送單元,具體用于將所述查詢單元查詢到的負載處理量未滿負荷的業務節點的節點標識和地址信息,發送給接收了負載接入請求的接入節點。
17.—種云計算系統,其特征在于,包括節點管理器、多個接入節點、和多個業務節占. 所述每個接入節點和每個業務節點向所述節點管理器發送注冊消息,所述注冊請求中攜帶各自的節點標識和地址信息; 所述節點管理器為上述權利要求9 16任意一項所述的節點管理器。
全文摘要
本發明公開了一種云計算系統中均衡負載的方法,接收每個接入節點和每個業務節點的注冊請求,所述注冊請求中攜帶各自的節點標識和地址信息;將每個接入節點的節點標識、地址信息對應存儲,并將每個業務節點的節點標識和地址信息對應存儲;監控注冊后的每個接入節點的負載接入量和注冊后的每個業務節點的負載處理量;接收用戶端發送的負載接入請求消息;將所述負載接入請求消息,發送給負載接入量未滿負荷的任意一個接入節點,使所述用戶端接入云計算系統;將每個業務節點的負載處理量發送給每個接入節點,使接入節點將接入的負載,分發給負載處理量未滿負荷的任意一個業務節點。本發明實施例提供的方法,實現了云計算系統中的海量接入。
文檔編號H04L29/08GK102624916SQ20121008258
公開日2012年8月1日 申請日期2012年3月26日 優先權日2012年3月26日
發明者巨澤建 申請人:華為技術有限公司