專利名稱:分布式哈希表網(wǎng)絡(luò)的負載均衡實現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種分布式哈希表(Distributed Hash Table,簡稱為DHT)網(wǎng)絡(luò)的負載均衡實現(xiàn)方法及裝置。
背景技術(shù):
目前,分布式哈希表(DHT)已成為點對點(P2P)疊加網(wǎng)絡(luò)的主要組織形式,其存儲負載均衡主要使用虛擬標識的方法實現(xiàn)。在分布式哈希疊加網(wǎng)絡(luò)中同時具有節(jié)點ID與虛擬標識兩種不同屬性的標識。其中,節(jié)點ID用于區(qū)分不同節(jié)點,維護分布式哈希表疊加網(wǎng)絡(luò);虛擬標識用于將哈希表空間分割成多個區(qū)間并分配到節(jié)點。在一個分布式哈希表疊加網(wǎng)絡(luò)中,每個節(jié)點ID都不相同,每個虛擬標識也都不相同。允許出現(xiàn)節(jié)點ID相同于虛擬標識的情況。疊加網(wǎng)絡(luò)中根據(jù)全部節(jié)點的全部虛擬標識和一定的分割規(guī)則,將哈希表空間分為多個區(qū)間。區(qū)間數(shù)量與虛擬標識數(shù)量等同,每個區(qū)間與一個虛擬標識互相關(guān)聯(lián)。哈希表區(qū)間由與其關(guān)聯(lián)的虛擬標識所屬的節(jié)點負責。由于每個節(jié)點擁有多個虛擬標識,因此,每個節(jié)點需要負責多個哈希表區(qū)間。而疊加網(wǎng)絡(luò)中的每個數(shù)據(jù)資源被分配一個唯一的資源標識, 若某數(shù)據(jù)資源的資源標識位于某一哈希表區(qū)間內(nèi),該數(shù)據(jù)資源由與負責該哈希表區(qū)間的虛擬標識所在的節(jié)點保存。這樣,疊加網(wǎng)絡(luò)中的所有節(jié)點ID與虛擬標識組成兩個不同的邏輯環(huán)路。虛擬標識將哈希表空間進行更精細的劃分,每個虛擬標識負責相應(yīng)的哈希塊,資源標識落在該哈希塊內(nèi)的數(shù)據(jù)資源由該虛擬標識負責保存,從而起到提升網(wǎng)絡(luò)負載均衡效果的作用。如
圖1所示,假設(shè)哈希空間為0-63被12個虛擬標識均等分割成12份。網(wǎng)絡(luò)中有 A、B、C和D四個節(jié)點,四個節(jié)點分別具有各自的節(jié)點ID :附、_、擬8、附9,并且假設(shè)這四個節(jié)點能力相同。則每個節(jié)點均具有三個虛擬標識,如節(jié)點B具有三個虛擬標識P8、P28和 P43。資源對象根據(jù)資源標識與虛擬標識的關(guān)系由相應(yīng)的虛擬標識負責保存(如資源標識為K5的,就由虛擬標識P8負責)。其中,如表1所示,節(jié)點B的三個虛擬標識所負責的哈希塊分別為(1,8], (23,28]、(38,43],資源標識在此空間的資源屬于節(jié)點B負責。從而可以得到在該種負載均衡方法下,四個節(jié)點中存儲的數(shù)據(jù)資源空間都是15,具體如表1所示。 由于資源標識在整個哈??臻g是均勻分布的,因此,每個節(jié)點所負責的數(shù)據(jù)資源是均衡的。表 1.
權(quán)利要求
1.一種分布式哈希表DHT網(wǎng)絡(luò)的負載均衡實現(xiàn)方法,其特征在于,包括將所述DHT網(wǎng)絡(luò)中的已分配給各個節(jié)點的N個第一虛擬標識中各個第一虛擬標識對應(yīng)的負載空間均分為M份,使用MXN個第二虛擬標識對均分后的各份負載空間進行標識,其中,M和N為自然數(shù),且M彡2 ;將MXN個所述第二虛擬標識分配給當前所述DHT網(wǎng)絡(luò)中的各個節(jié)點,由各個節(jié)點負責分配給其的所述第二虛擬標識對應(yīng)的負載空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在各個所述第一虛擬標識對應(yīng)的負載空間均分為M份之前,所述方法還包括所述DHT網(wǎng)絡(luò)中一個節(jié)點的負載不均衡度超過負載不均衡度閾值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將MXN個所述第二虛擬標識分配當前所述DHT網(wǎng)絡(luò)中的各個節(jié)點包括根據(jù)當前所述DHT網(wǎng)絡(luò)中各個節(jié)點的負載不均衡度,對各個節(jié)點負責的所述第二虛擬標識的數(shù)量進行調(diào)整,使負載不均衡度超過負載不均衡度閾值的節(jié)點的負載不均衡度下降。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將MXN個所述第二虛擬標識分配當前所述DHT網(wǎng)絡(luò)中的各個節(jié)點包括新節(jié)點加入所述DHT網(wǎng)絡(luò);根據(jù)所述新節(jié)點的能力,計算所述新節(jié)點應(yīng)該負責的所述第二虛擬標識的數(shù)量;將所述DHT網(wǎng)絡(luò)中負責的所述第二虛擬標識數(shù)超過理論值的節(jié)點負責的部分所述第二虛擬標識分配給所述新節(jié)點負責,使所述新節(jié)點負責的所述第二虛擬標識的數(shù)量接近所述新節(jié)點應(yīng)該負責的所述第二虛擬標識的數(shù)量。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在各個所述第一虛擬標識對應(yīng)的負載空間均分為M份之前,所述方法還包括新節(jié)點加入所述DHT網(wǎng)絡(luò)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將MXN個所述第二虛擬標識分配各個所述節(jié)點包括根據(jù)所述新節(jié)點的能力,計算所述新節(jié)點應(yīng)該負責的所述第二虛擬標識的數(shù)量;將所述DHT網(wǎng)絡(luò)中負責的所述第二虛擬標識數(shù)超過理論值的節(jié)點負責的部分所述第二虛擬標識分配給所述新節(jié)點負責,使所述新節(jié)點負責的所述第二虛擬標識的數(shù)量接近所述新節(jié)點應(yīng)該負責的所述第二虛擬標識的數(shù)量。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,將所述DHT網(wǎng)絡(luò)中負責的所述第二虛擬標識數(shù)超過理論值的節(jié)點負責的部分所述第二虛擬標識分配給所述新節(jié)點負責包括根據(jù)所述DHT網(wǎng)絡(luò)中各個節(jié)點的能力,計算加入所述新節(jié)點后各個所述節(jié)點應(yīng)該負責的所述第二虛擬標識的理論值;判斷各個所述節(jié)點當前負責的所述第二虛擬標識的數(shù)量是否超過該節(jié)點的所述理論值,如果是,則將該節(jié)點負責的所有所述第二虛擬標識中隨機取超出該理論值部分的所述第二虛擬標識分配給所述新節(jié)點。
8.根據(jù)權(quán)利要求1至7中任一項所述的方法,其特征在于,在所述DHT網(wǎng)絡(luò)初建時,所述N根據(jù)所述DHT網(wǎng)絡(luò)的節(jié)點規(guī)劃及負載不均衡度閾值確定。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,按照以下方式確定所述N獲取所述DHT網(wǎng)絡(luò)中能力最差的節(jié)點;根據(jù)所述負載不均衡度閾值,確定所述第一虛擬標識的數(shù)量N,使得所述能力最差的節(jié)點的負載不均衡度小于所述負載不均衡度閾值。
10.一種DHT網(wǎng)絡(luò)的負載均衡實現(xiàn)裝置,其特征在于,包括分裂模塊,用于將所述DHT網(wǎng)絡(luò)中已分配給各個節(jié)點的N個第一虛擬標識中各個所述第一虛擬標識對應(yīng)的負載空間均分為M份,使用MXN個第二虛擬標識對均分后的各份負載空間進行標識,其中,M和N為自然數(shù),且M彡2;分配模塊,用于將MXN個所述第二虛擬標識分配給當前所述DHT網(wǎng)絡(luò)的各個節(jié)點,由各個節(jié)點負責分配給其的所述第二虛擬標識對應(yīng)的負載空間。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括判斷模塊,用于判斷所述DHT網(wǎng)絡(luò)是否存在負載不均衡度超過負載不均衡度閾值的節(jié)點,如果是,則觸發(fā)所述分裂模塊。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括發(fā)現(xiàn)模塊,用于發(fā)現(xiàn)所述DHT網(wǎng)絡(luò)是否有新節(jié)點加入,如果是,則觸發(fā)所述分裂模塊。
全文摘要
本發(fā)明公開了一種分布式哈希表網(wǎng)絡(luò)的負載均衡實現(xiàn)方法及裝置。其中,該方法包括將所述分布式哈希表網(wǎng)絡(luò)中的已分配給各個節(jié)點的N個第一虛擬標識中各個第一虛擬標識對應(yīng)的負載空間均分為M份,使用M×N個第二虛擬標識對均分后的各份負載空間進行標識,其中,M和N為自然數(shù),且M≥2;將M×N個所述第二虛擬標識分配給當前所述DHT網(wǎng)絡(luò)中的各個節(jié)點,由各個節(jié)點負責分配給其的所述第二虛擬標識對應(yīng)的負載空間。通過本發(fā)明,可以保證DHT網(wǎng)絡(luò)中各個節(jié)點的負載均衡。
文檔編號H04L29/08GK102457428SQ20101052280
公開日2012年5月16日 申請日期2010年10月27日 優(yōu)先權(quán)日2010年10月27日
發(fā)明者李漓春, 胡學川 申請人:中興通訊股份有限公司