欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種私有云基于動態(tài)反饋的局部一致性哈希負(fù)載均衡方法與流程

文檔序號:12695072閱讀:732來源:國知局
一種私有云基于動態(tài)反饋的局部一致性哈希負(fù)載均衡方法與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,具體來說,涉及一種基于動態(tài)反饋的局部一致性哈希負(fù)載均衡方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)的發(fā)展,云計算的使用范圍越來越廣泛,云計算是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。

在一般的支持云計算的云平臺中,用戶可以通過控制臺創(chuàng)建自己的云環(huán)境,包括網(wǎng)絡(luò)、存儲、計算等各種各樣的特定需求。大部分的云平臺還需要支持某些特定的環(huán)境,如負(fù)載均衡服務(wù)、虛擬專用網(wǎng)絡(luò)等。

在上述的各種技術(shù)中,負(fù)載均衡服務(wù)是各類云計算平臺不可或缺的部分。負(fù)載均衡服務(wù)的主要作用在于提供一種廉價有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)置和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。

但是,在常規(guī)的負(fù)載均衡技術(shù)中,往往存在著以下幾點不足。首先,現(xiàn)有的負(fù)載均衡算法中關(guān)于權(quán)重的部分,都是靜態(tài)配置的,不能根據(jù)服務(wù)提供端現(xiàn)有的負(fù)載,及時更新提供服務(wù)的權(quán)重,導(dǎo)致可能因為某些原因?qū)崟r負(fù)載率很高的服務(wù)提供端,依舊因為初始權(quán)重過高而接收到大部分的客戶端請求。其次,現(xiàn)有的負(fù)載均衡算法,一般還是采用一致性哈希算法,其均衡性并不足夠,其時間復(fù)雜度也較高,對其性能有一定的影響。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)中存在的不足,本發(fā)明公開了一種私有云基于動態(tài)反饋的局部一致性哈希負(fù)載均衡算法,其特征在于,包括:

通過服務(wù)發(fā)現(xiàn)模塊,實時獲得對應(yīng)服務(wù)所有的可以提供服務(wù)的服務(wù)提供端;

通過健康檢查模塊,實時獲取每個服務(wù)對應(yīng)的服務(wù)提供端的資源總量和實時負(fù)載;

根據(jù)每個服務(wù)提供端的資源總量和實時負(fù)載計算出當(dāng)前服務(wù)的服務(wù)提供端的實時負(fù)載率;

通過對服務(wù)提供端的實時負(fù)載率的進(jìn)一步計算,得出每個服務(wù)提供端能夠提供的服務(wù)權(quán)重;

根據(jù)局部一致性哈希算法和服務(wù)提供端能夠提供服務(wù)的權(quán)重,計算出哈希路由表;

服務(wù)請求連接達(dá)到,根據(jù)服務(wù)請求客戶端的請求連接數(shù)據(jù),計算出唯一的哈希值;

查找路由表,根據(jù)路由表找到對應(yīng)的服務(wù)提供端;

當(dāng)服務(wù)提供端的數(shù)量增減或者能夠提供的負(fù)載變化時,重復(fù)該過程。

上述的負(fù)載均衡方法,其特征在于,進(jìn)一步包括:

通過服務(wù)發(fā)現(xiàn)模塊,可以對對應(yīng)的服務(wù)進(jìn)行監(jiān)控,獲得提供該對應(yīng)服務(wù)的所有服務(wù)提供端。

通過私有云中的健康檢查模塊,可以對每個服務(wù)提供端提供實時監(jiān)控,包括處理器、內(nèi)存和磁盤,從多個方面監(jiān)控服務(wù)提供端所能提供的實時負(fù)載。

根據(jù)每個服務(wù)提供端的資源總量和實時負(fù)載情況,計算出當(dāng)前服務(wù)端的實時負(fù)載率。定義Cp為服務(wù)提供端的處理器的實時負(fù)載,Cm為服務(wù)提供端內(nèi)存的實時負(fù)載,Cd為服務(wù)提供端磁盤的實時負(fù)載,Np為服務(wù)提供端的處理器的總資源量,Nm為服務(wù)提供端的內(nèi)存總資源量,Nd為服務(wù)提供端的磁盤總資源量。則實時負(fù)載率

根據(jù)對服務(wù)提供端的實時負(fù)載率的進(jìn)一步計算,每個服務(wù)提供端能提供的權(quán)重為W=1-R

所述局部一致性哈希算法,包括:

橫軸使用每個服務(wù)提供端,縱軸使用遠(yuǎn)大于服務(wù)提供端個數(shù)的數(shù)字n,采用經(jīng)典的洗牌算法,生成一張隨機(jī)全排列的表格。

帶權(quán)重的局部一致性哈希算法如圖2;

根據(jù)服務(wù)請求計算出哈希值,從哈希路由表可以直接得到對應(yīng)的服務(wù)提供端。

當(dāng)服務(wù)提供端的數(shù)量增減或者負(fù)載發(fā)生變化時,重復(fù)上述步驟,重新計算哈希路由表,其大部分路由還是正確的,極大的減少了回源數(shù)量。

有益效果:

借助于本發(fā)明的上述技術(shù)方案,通過動態(tài)實時獲取服務(wù)提供端的負(fù)載,進(jìn)一步計算其提供服務(wù)的權(quán)重,采用帶權(quán)重的局部一致性哈希算法,得到路由表,為客戶端的請求提供服務(wù),實現(xiàn)了動態(tài)反饋服務(wù)器負(fù)載,及時修改負(fù)載均衡器的負(fù)載均衡策略。同時,新的帶權(quán)重的負(fù)載均衡算法,保證了服務(wù)提供端在權(quán)重的基礎(chǔ)上,實現(xiàn)了足夠的均衡,以及保證在服務(wù)提供端負(fù)載和數(shù)量發(fā)生變化的時候,回源率維持在較低的水準(zhǔn)。

附圖說明

圖1為本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖。

圖2為本發(fā)明實施例的帶權(quán)重的一致性哈希算法圖。

圖3為本發(fā)明實施例的服務(wù)端信息列表。

圖4為本發(fā)明實施例的服務(wù)端全排列表。

圖5為本發(fā)明實施例的服務(wù)端哈希路由表。

圖6為本發(fā)明實施例的新一輪服務(wù)端信息表。

圖7為本發(fā)明實施例的新一輪服務(wù)端哈希路由表。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

根據(jù)本發(fā)明的實施例,提供了一種私有云基于動態(tài)反饋的局部一致性哈希負(fù)載均衡方法。

如圖1所示,根據(jù)本發(fā)明實施例的負(fù)載均衡方法包括:

通過服務(wù)發(fā)現(xiàn)模塊,實時獲得對應(yīng)服務(wù)所有的可以提供服務(wù)的服務(wù)提供端;

通過私有云的健康檢查模塊,獲取服務(wù)提供端的列表和每個服務(wù)提供端的處理器、內(nèi)存、磁盤的使用情況;

根據(jù)處理器、內(nèi)存和磁盤的使用情況,以及實時負(fù)載率計算公式計算出每個服務(wù)提供端的實時負(fù)載率;

根據(jù)服務(wù)提供端的權(quán)重計算公式,計算出每個服務(wù)提供端在新一輪的服務(wù)提供中所能提供的權(quán)重,如圖3所示列表;

圖1中的配置文件指各種負(fù)載均衡器的配置文件,比如nginx的配置文件;

根據(jù)上一輪計算的服務(wù)提供端的提供權(quán)重,修改配置文件的初始權(quán)重,并重新加載,使其實時權(quán)重重新生效;

根據(jù)服務(wù)提供端的個數(shù)和名字,利用如下的計算公式,計算出一張隨機(jī)全排列的表格,如圖4;

offset=h(name[i])mod M

skip=h(name[i])mod(M-1)+1

permutation[i][j]=(offset+j*skip)mod M

其中,M為哈希值的總數(shù);

根據(jù)帶權(quán)重的局部一致性哈希算法,可以進(jìn)一步得到哈希路由表,如圖5;

可以看到,在新的哈希路由表中,其哈希值對應(yīng)的服務(wù)提供端的個數(shù),和上文計算的權(quán)重的比例基本相同。

對于負(fù)載均衡器的總體流程框架我們并不作修改,本發(fā)明所做的修改主要集中在對于哈希路由表的計算方式和服務(wù)提供端的服務(wù)提供權(quán)重的動態(tài)修改,使其更加均衡和滿足動態(tài)適配的特點。

假設(shè)這個時候,有一個客戶端請求到達(dá),把整個客戶端請求做一次哈希,得到的哈希值假如為3,那么查找路由表,對應(yīng)的服務(wù)提供端為B2,就把B2的ip地址返還給客戶端;

對于本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖如圖1所示,健康檢查模塊每隔一個時間周期會去監(jiān)控檢查服務(wù)提供端的各項數(shù)據(jù),獲得服務(wù)提供端的包括處理器、內(nèi)存、磁盤等各方面的數(shù)據(jù),計算好負(fù)載率、服務(wù)提供權(quán)重,然后更新負(fù)載均衡器配置文件里面的權(quán)重數(shù)值,負(fù)載均衡器的核心計算部分會利用帶權(quán)重的負(fù)載均衡算法,計算出一張哈希路由表,等待客戶端請求的到來。當(dāng)客戶端請求到來時,計算哈希值,并通過哈希路由表,找到對應(yīng)的服務(wù)提供端。當(dāng)下一個時間周期到來的時候,繼續(xù)重復(fù)這一過程。

假設(shè)在新的一輪時間周期內(nèi),服務(wù)提供端的處理器、內(nèi)存、磁盤的使用情況如圖6;

可以看到,服務(wù)提供端B2宕機(jī),只有B0和B1,同時,他們的負(fù)載也發(fā)生了變化;

通過隨機(jī)全排列表,我們進(jìn)一步可以得到新的哈希路由表,如圖7;

從新的表格中,我們可以看到,新的服務(wù)提供端在哈希表中所占的比例和他們能夠提供的權(quán)重基本相同,同時,原本映射到B0和B1服務(wù)提供端的哈希值大部分依舊落在B0和B1上,保證了一定的回源率;

當(dāng)再次經(jīng)過一個時間周期后,又開始了新一輪的循環(huán);

綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過動態(tài)實時獲取服務(wù)提供端的負(fù)載,進(jìn)一步計算其提供服務(wù)的權(quán)重,采用帶權(quán)重的局部一致性哈希算法,得到路由表,為客戶端的請求提供服務(wù),實現(xiàn)了動態(tài)反饋服務(wù)器負(fù)載,及時修改負(fù)載均衡器的負(fù)載均衡策略。同時,新的帶權(quán)重的負(fù)載均衡算法,保證了服務(wù)提供端在權(quán)重的基礎(chǔ)上,實現(xiàn)了足夠的均衡,以及保證在服務(wù)提供端負(fù)載和數(shù)量發(fā)生變化的時候,回源率維持在較低的水準(zhǔn)。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巢湖市| 如东县| 连云港市| 南召县| 新郑市| 盐边县| 霍州市| 阜平县| 荥阳市| 宁城县| 万安县| 潞西市| 洪洞县| 文登市| 湘潭县| 隆回县| 松阳县| 芮城县| 会同县| 永清县| 苍南县| 大姚县| 邵武市| 房产| 肃宁县| 达州市| 通许县| 襄垣县| 太仆寺旗| 永嘉县| 崇信县| 广水市| 若尔盖县| 腾冲县| 长葛市| 加查县| 邓州市| 武安市| 谢通门县| 龙胜| 乌拉特后旗|