專利名稱:基于熱點資源路由緩沖的負載均衡方法
技術領域:
負載均衡技術可解決內容分發網絡中某些熱門網站訪問量過大而提出,其目的是 為了及時處理所有的請求、減少請求延誤、合理利用網絡資源。本發明所提方法可解決基于 經典分布式哈希表的(Distributed Hash Table, DHT)的系統中資源發現方法容易導致結 點負載不均衡的問題,用于P2P網絡及其應用如信息分發、資源下載、流媒體服務,也可以 用于網格應用如分布式計算、對實驗數據的遠程訪問、海量科學數據的協作式可視化等,增 加熱點資源被訪問的概率,減輕網絡結點的負載壓力,縮短消息路由的跳數,進一步提高網 絡服務質量。
背景技術:
由于不同類型資源的需求程度不同,熱點資源所在的結點被訪問到的幾率要遠大 于路由表中不存在熱點資源引用的結點,這樣就會造成系統中部分結點由于處理不了大量 的訪問請求而使得查詢的響應時間變長,而另外一些結點由于訪問量不大而經常處于空閑 狀態,造成資源浪費。在典型的基于DHT的P2P系統或網格系統中,結點和資源被映射到一個關鍵字空 間,每個結點維護一張到部分其他結點的路由表,使用相容哈希的方法容易導致結點負載 不均衡。另外,由于不同結點存在性能差異且對資源的需求情況也不同,負載均衡方法只有 考慮到結點間的這種差異才能取得應有的效果,才能減輕或避免網絡資源的浪費。現有的負載均衡技術主要可以分為局部負載均衡技術和全局負載均衡技術。其 中,局部負載均衡技術出現比較早,主要用于多服務器的網站等集中式的環境中,其核心思 想是當請求到達時,根據各服務器的負載情況,選擇負載最輕的來處理該請求。該技術即 其派生的容錯技術相對較成熟,但不適合大規模動態環境如大型的P2系統及網格系統。相 比較而言,全局負載均衡技術能更有效的解決大范圍內的負載均衡問題,具有分布性和對 等性的特點,適合于分布式環境中。現有的負載均衡方法之一是采用增加虛結點的方法來降低負載分配不均問題,有 的系統中是采用“溢出”處理,當某結點負載過重時,會將原有的或新到來的請求轉發到其 他結點,由接收到這些信息的結點分擔其負載,還有方法是通過專門的監控程序將負載重 的結點上的負載轉移到其他結點。這些方法要么增加了系統負擔,難以適應大規模動態網 格環境中,要么難以控制溢出信息的傳播速度與傳播規模,不能及時響應負載均衡的需求。
發明內容
P2P系統或網格中資源表的維護需要在鄰居結點間定期交換消息以確保彼此路由 表中的信息及時更新,也需要定期交換消息以確定在線狀態。為了減輕負載不均衡現象的 發生,本發明通過為資源路由表增加一個能反映資源被集中請求程度的熱點資源指示區的 方法實現負載均衡。發明如下
(1)首先對各結點的負載狀況進行量化感知,判定是否需要進行負載均衡。可選擇 處理器的利用率,內存的占用率,帶寬的使用情況以及結點所存儲的資源是否可用等定義 相應的變量進行量化,對各資源的訪問頻度和結點的能力進行周期監測以及時感知結點當 前的負載狀況;(2)對需要進行負載均衡的結點,定位其被被頻繁訪問資源的同類資源作為熱點 資源信息,以“流言”的形式附加在結點間定期發送的消息之后傳播出去,將它們傳播到系 統中的其他結點,增加它們被訪問的概率以降低原結點的負載壓力。為了控制“流言”的傳 播規模,可在生成流言的時候根據需要設定隨一個被傳播的跳數順序遞減的TTL值,當TTL 值為0時不再繼續傳播;(3)收到流言的結點根據自身能力以及自身被訪問的頻度確定自己是否接受該熱 點資源信息;(3. 1)如果有能力接受其他結點傳過來的熱點資源信息且自身被訪問的頻度低于 設定的某個值時,則結點單獨開辟一塊緩存存放該熱點資源信息即可以分擔其他結點的負 載;(3. 2)如果有能力接受其他結點傳過來的熱點資源信息但自身被訪問的頻度低于 設定的某個值時,則根據流言的狀態信息判斷是否要將流言傳播給其他結點;(3. 3)如果結點沒有能力接受該熱點資源信息,則根據流言的狀態信息判斷是否 要將流言傳播給其他結點。(4)當有查詢請求時,接受熱點資源信息的結點先查看自己的緩存信息,若找到則 直接利用緩存的熱點資源信息定位資源,由目標結點分擔該項負載,也有助進縮短消息的 路由跳數;(5)接受熱點資源信息的結點會周期性根據對自身負載狀況的量化感知情況對緩 沖區進行調整,當需要進行負載均衡處理時則首先清空自身的熱點資源緩存信息。
無。
具體實施例方式實施例1 某結點A的負載均衡過程1.首先,結點A對負載情況進行量化評估。為每個結點維護一個請求消息隊列;2.請求消息隊列始終不為空或者隊列長度達到某個值的時候,則判定該結點負 載過重,需要進行負載均衡處理,由其他結點來分擔其負載,定位同類資源作為熱點資源信 息;3.清空當前結點A的熱點資源緩沖區;4.當前結點A把自身的熱點資源信息通過消息傳播給其他結點;5.其他結點收到熱點資源信息后判斷TTL是否大于0,如果是則跳到第6步,否則 跳到第9步;6.結點判斷是否接受該熱點資源信息,如果是,則跳到第7步,否則跳到第8步;7.結點在自己的內存中開辟緩沖區存放接受的熱點資源信息,跳轉到第8步;
8.結點把熱點資源信息傳播出去,跳轉到第5步;9.丟棄流言;10.結點B接到資源請求;11.若結點B不需負載均衡則查找自身的熱點資源信息緩沖區,否則轉發該請求 后轉13 ;12.若找到則直接定位資源,否則繼續常規資源請求處理;13.其他處理。
權利要求
對各結點的負載狀況進行量化感知,計算時不限于說明書中所列處理器的利用率,內存的占用率,帶寬的使用情況以及結點所存儲的資源是否可用等變量,也不限于說明書實施例1中所列的判定結點負載過重的方法,所有可綜合量化結點能力和資源訪問頻度兩類指標的具體實現方法均在保護范圍之內;。
2.熱點資源信息中定位的資源并不限于某個特定的結點,其隨結點間周期性交換信息 傳播的方式不限于說明書中所說的“流言”形式,所有以周期性交換信息方式傳播本發明中 所說熱點資源信息的實現形式在保護范圍之內;。
3.本發明中所說熱點資源信息指需要進行負載均衡的資源信息,包括其路由和定位信 息,不局限于說明書中所說的資源定位,所有可實現相同目的且以負載均衡為目的的信息 描述方式均在保護范圍之內;
4.當有查詢請求時,接受熱點資源信息的結點先查看自己的熱點資源緩存信息開始查 找,查找后的行為不局限于說明書中實施例1中所列,所有先查找本地熱點資源信息以實 現負載均衡和減少路由跳數的方法均在保護范圍之內。
全文摘要
本發明涉及一種基于熱點資源路由緩沖的負載均衡方法。本發明可用于P2P應用或網格系統中實現負載均衡。首先對各結點的負載狀況進行量化感知確定熱點資源,對負載過重的結點進行負載均衡處理,由其他結點來分擔其負載。通過在結點中開辟熱點資源信息緩沖,利用結點之間定期交換消息的機制傳播熱點資源的信息,增加其他結點中同類資源被訪問的概率以降低原結點的負載壓力。各擁有熱點資源的結點根據自身運行狀況確定是否參與均衡。
文檔編號H04L29/08GK101902488SQ20091008567
公開日2010年12月1日 申請日期2009年5月26日 優先權日2009年5月26日
發明者不公告發明人 申請人:北京風格九州文化傳播有限公司