專利名稱:一種基于資源消耗預測的動態(tài)負載均衡方法及裝置的制作方法
技術領域:
本發(fā)明涉及通信領域,特別涉及到一種基于資源消耗預測的動態(tài)負載均衡方法及
>J-U ρ α裝直。
背景技術:
按照是否考慮后端服務節(jié)點的真實負載情況,負載均衡方法可以分為靜態(tài)負載均衡方法和動態(tài)負載均衡方法。相對來說,動態(tài)負載均衡方法比靜態(tài)負載均衡方法在請求分發(fā)層面上更為合理。一方面,現(xiàn)有的動態(tài)負載均衡方法需要對后端服務節(jié)點的各項資源消耗進行采集,采集項包含后端服務節(jié)點的CPU使用率、內存使用率等。然后,根據(jù)采集的指標得出后端服務節(jié)點的負載度量,從而以該負載度量來決定請求分發(fā)。然而,在動態(tài)負載均衡的執(zhí)行中,每間隔一段時間就要采集一次后端服務節(jié)點的資源消耗,而這樣獲得的資源消耗數(shù)據(jù)并不是實時的?,F(xiàn)有的動態(tài)負載均衡方法不能很好的解決這一問題,從而造成請求分配的不均衡。另一方面,在現(xiàn)在的服務系統(tǒng)中存在大量不同類型的服務,其中,多類服務可由一個服務節(jié)點提供。實際上,不同類型的服務的資源消耗情況是不一樣的。例如,對靜態(tài)頁面的請求主要消耗磁盤I/o和帶寬,對動態(tài)頁面的請求主要消耗CPU和內存?,F(xiàn)有的負載均衡方法沒有充分考慮到這一點,從而無法實現(xiàn)最優(yōu)的請求分發(fā)。由此可見,現(xiàn)有的動態(tài)負載均衡方法存在著資源消耗數(shù)據(jù)非實時、沒有充分考慮不同類型服務對資源消耗的差 異性,從而導致請求分發(fā)不合理。
發(fā)明內容
本發(fā)明的目的是提供一種能夠克服上述缺陷的基于資源預測的動態(tài)負載均衡方法及裝置。在本發(fā)明的第一方面,提供了一種基于資源消耗預測的動態(tài)負載均衡方法,包括計算平均資源消耗,所述平均資源消耗是各服務節(jié)點針對每種服務類型的單個服務的資源消耗;根據(jù)請求的服務類型和所述平均資源消耗,預測出各服務節(jié)點在接收所述請求后的資源消耗,得到預測資源消耗;根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級;以及將所述請求分發(fā)到優(yōu)先級最高的服務節(jié)點。在本發(fā)明的第二方面,提供了一種基于資源消耗預測的動態(tài)負載均衡裝置,包括平均資源消耗計算模塊,用于計算平均資源消耗,所述平均資源消耗是各服務節(jié)點針對每種服務類型的單個服務的資源消耗;預測資源消耗計算模塊,用于根據(jù)請求的服務類型和所述平均資源消耗,計算出各服務節(jié)點在接收所述請求后的資源消耗,得到預測資源消耗;優(yōu)先級計算模塊,用于根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級;以及請求分發(fā)模塊,用于將所述請求分發(fā)到優(yōu)先級最高的服務節(jié)點。本發(fā)明通過采集服務節(jié)點的資源消耗和在線服務數(shù)量來預測服務節(jié)點的實時資源消耗,改善了資源消耗數(shù)據(jù)的非實時性;本發(fā)明還充分考慮到不同類型的請求對于服務節(jié)點中各項資源消耗的差異性,優(yōu)化了請求分發(fā)。
圖1是根據(jù)本發(fā)明實施例的基于資源消耗預測的動態(tài)負載均衡的流程示意圖。圖2是根據(jù)本發(fā)明實施例的基于資源消耗預測的動態(tài)負載均衡裝置的示意圖。
具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。圖1是根據(jù)本發(fā)明實施例的基于資源消耗預測的動態(tài)負載均衡的流程示意圖。在步驟101,對各服務節(jié)點為每種服務提供單個服務所需的資源消耗Avg^進行初始化計算,其中,i為服務節(jié)點標識,j為服務類型標識。通過實現(xiàn)測試各服務節(jié)點針對每種服務類型的最大負載能力,可以得到各服務節(jié)點針對每種服務類型的最大服務連接的資源消耗及其對應的每種服務類型的最大服務數(shù)量。例如,服務節(jié)點Serv^i提供j類型的最大服務連接的資源消耗可以用矩陣表示為Zfiax= [Zfi Lfem if lT 4。啦],其中P lT 片 LT 4她分別為該服務節(jié)點的CPU使用率、內存使用率、磁盤I/O使用率、網絡帶寬使用率、路由時間的歸一化值。所述AvgLf的初始值計算方法為Mgn=UriConi^,其中Qw/胃為第i個服務節(jié)點所提供的第j種服務的最大服務連接數(shù)。 在步驟102,定期采集各服務節(jié)點的資源消耗。服務節(jié)點的資源消耗包括但不限于CPU使用率、內存使用率、磁盤I/O使用率、網絡帶寬使用率、路由時間(反映與網絡上其他節(jié)點間的網絡情況)的歸一化值。服務節(jié)點Serveri的資源消耗可以用矩陣表示為L1 =[Dr I E LT ΖΓ ,其中Z / i LT 4°@分別為服務節(jié)點的CPU使用率、內存使用率、磁盤I/O使用率、網絡帶寬使用率、路由時間的歸一化值,如表I所示。表I示出了各服務節(jié)點的資源消耗。
權利要求
1.一種基于資源消耗預測的動態(tài)負載均衡方法,包括 計算平均資源消耗,所述平均資源消耗是各服務節(jié)點針對每種服務類型的單個服務的資源消耗; 根據(jù)請求的服務類型和所述平均資源消耗,預測出各服務節(jié)點在接收所述請求后的資源消耗,得到預測資源消耗; 根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級;以及 將所述請求分發(fā)到優(yōu)先級最高的服務節(jié)點。
2.根據(jù)權利要求1所述的方法,其中,所述計算平均資源消耗的步驟包括 根據(jù)各服務節(jié)點在一個或多個時刻的資源消耗和各服務節(jié)點在所述一個或多個時刻針對每種服務類型的服務數(shù)量,計算所述平均資源消耗; 其中,所述各服務節(jié)點在一個或多個時刻的資源消耗是通過對各服務節(jié)點進行定時采集得到的,所述各服務節(jié)點在所述一個或多個時刻針對每種服務類型的服務數(shù)量是通過對請求分發(fā)和請求完成的記錄得到的。
3.根據(jù)權利要求1所述的方法,其中,所述根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級的步驟包括 比較所述預測資源消耗與預先設定的各服務節(jié)點的各項資源消耗閾值,得到多個差值; 對所述多個差值進行歸一化,得到多個歸一化差值;以及 將多個歸一化差值中最小的歸一化差值選擇為所述優(yōu)先級。
4.根據(jù)權利要求1所述的方法,還包括 根據(jù)預先得到的最大資源消耗和最大服務數(shù)量對所述平均資源消耗進行初始化,其中,所述最大資源消耗是各服務節(jié)點針對每種服務類型的最大服務數(shù)量的資源消耗,所述最大服務數(shù)量是各服務節(jié)點針對每種服務類型的最大服務數(shù)量。
5.根據(jù)權利要求1-4之一所述的方法,其中,所述資源消耗包括服務節(jié)點的CPU使用率、內存使用率、磁盤I/o使用率、網絡帶寬和路由時間中的一個或多個。
6.一種基于資源消耗預測的動態(tài)負載均衡裝置,包括 平均資源消耗計算模塊,用于計算平均資源消耗,所述平均資源消耗是各服務節(jié)點針對每種服務類型的單個服務的資源消耗; 預測資源消耗計算模塊,用于根據(jù)請求的服務類型和所述平均資源消耗,計算出各服務節(jié)點在接收所述請求后的資源消耗,得到預測資源消耗; 優(yōu)先級計算模塊,用于根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級;以及 請求分發(fā)模塊,用于將所述請求分發(fā)到優(yōu)先級最高的服務節(jié)點。
7.根據(jù)權利要求6所述的裝置,還包括 采集模塊,用于對各服務節(jié)點在一個或多個時刻的資源消耗進行定時采集;以及記錄模塊,用于通過對請求分發(fā)和請求完成的記錄,得到各服務節(jié)點在所述一個或多個時刻針對每種服務類型的服務數(shù)量; 其中,所述平均資源消耗計算模塊根據(jù)所述各服務節(jié)點在一個或多個時刻的資源消耗和所述各服務節(jié)點在所述一個或多個時刻針對每種服務類型的服務數(shù)量計算出所述平均資源消耗。
8.根據(jù)權利要求6所述的裝置,還包括 平均資源消耗初始化模塊,用于根據(jù)預先得到的最大資源消耗和最大服務數(shù)量對所述平均資源消耗進行初始化; 其中,所述最大資源消耗是各服務節(jié)點針對每種服務類型的最大服務數(shù)量的資源消耗,所述最大服務數(shù)量是各服務節(jié)點針對每種服務類型的最大服務數(shù)量。
9.根據(jù)權利要求6所述的裝置,其中所述優(yōu)先級計算模塊包括 比較模塊,用于比較所述預測資源消耗與預先設定的各服務節(jié)點的各項資源消耗閾值,得到多個差值; 歸一化模塊,用于對所述多個差值進行歸一化,得到多個歸一化差值;以及 優(yōu)先級選擇模塊,用于將多個歸一化差值中最小的歸一化差值選擇為所述優(yōu)先級。
10.一種服務器,包括如權利要求6-9之一所述的基于資源消耗預測的動態(tài)負載均衡裝置,所述服務器通過網絡與客戶端和所述服務節(jié)點相連接,用于將客戶端發(fā)送的請求分發(fā)到所述服務節(jié)點。
全文摘要
本發(fā)明涉及一種基于資源消耗預測的動態(tài)負載均衡方法及裝置,該方法包括計算平均資源消耗,所述平均資源消耗是各服務節(jié)點針對每種服務類型的單個服務的資源消耗;根據(jù)請求的服務類型和所述平均資源消耗,預測出各服務節(jié)點在接收所述請求后的資源消耗,得到預測資源消耗;根據(jù)所述預測資源消耗,計算各服務節(jié)點對于所述請求的優(yōu)先級;以及將所述請求分發(fā)到優(yōu)先級最高的服務節(jié)點。本發(fā)明通過采集服務節(jié)點的資源消耗和在線服務數(shù)量來預測服務節(jié)點的實時資源消耗,改善了資源消耗數(shù)據(jù)的非實時性;本發(fā)明還充分考慮到不同類型的請求對于服務節(jié)點中各項資源消耗的差異性,優(yōu)化了請求分發(fā)。
文檔編號H04L12/803GK103067297SQ20131002990
公開日2013年4月24日 申請日期2013年1月25日 優(yōu)先權日2013年1月25日
發(fā)明者劉學, 江佳偉, 脫立恒, 徐開誠 申請人:中國科學院聲學研究所, 上海尚恩華科網絡科技股份有限公司