国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法

      文檔序號(hào):7783131閱讀:276來源:國知局
      分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法
      【專利摘要】本發(fā)明公開一種分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,該方法用于n個(gè)存儲(chǔ)節(jié)點(diǎn)的非共享型分布式存儲(chǔ)系統(tǒng)為m個(gè)節(jié)點(diǎn)的客戶端服務(wù)器提供s個(gè)數(shù)據(jù)單位的存儲(chǔ)服務(wù),其包括以下步驟:步驟1:統(tǒng)計(jì)如下信息:統(tǒng)計(jì)各存儲(chǔ)節(jié)點(diǎn)上對(duì)每一個(gè)客戶端連接的數(shù)據(jù)存取訪問,統(tǒng)計(jì)s個(gè)數(shù)據(jù)單位中的每一個(gè)數(shù)據(jù)單位通過不同存儲(chǔ)節(jié)點(diǎn)的訪問次數(shù),統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)的空間使用率;步驟2:根據(jù)步驟1中的上述統(tǒng)計(jì)數(shù)據(jù),預(yù)先制定帶寬閾值,遠(yuǎn)程訪問閾值和容量閾值,所有的閾值均為百分比,判斷分布式存儲(chǔ)系統(tǒng)的各節(jié)點(diǎn)是否出現(xiàn)網(wǎng)絡(luò)負(fù)載不均衡,跨節(jié)點(diǎn)訪問次數(shù)過多導(dǎo)致的高延遲和容量極度不均衡,并根據(jù)判斷結(jié)果選擇遷移數(shù)據(jù)或者通過路由重定向客戶端接入訪問點(diǎn)。
      【專利說明】分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及分布式存儲(chǔ)系統(tǒng),具體涉及非對(duì)稱分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法。
      【背景技術(shù)】
      [0002]隨著云計(jì)算技術(shù)的發(fā)展,云數(shù)據(jù)中心中的計(jì)算服務(wù)器的數(shù)量越來越多,保存處理的數(shù)據(jù)量越來越多,存儲(chǔ)的負(fù)載越來越重。傳統(tǒng)的分布式存儲(chǔ)系統(tǒng)如SAN (存儲(chǔ)域網(wǎng))和單獨(dú)的NAS (網(wǎng)絡(luò)附加存儲(chǔ))已經(jīng)沒有辦法輕松的應(yīng)對(duì)云計(jì)算和大數(shù)據(jù)對(duì)存儲(chǔ)容量,存儲(chǔ)帶寬的需求了。隨之而產(chǎn)生了多種多樣的分布式存儲(chǔ)系統(tǒng),共享型分布式存儲(chǔ)系統(tǒng)和非共享型分布式存儲(chǔ)系統(tǒng)就是其中最為主要的兩種分布式存儲(chǔ)系統(tǒng)。多樣的分布式存儲(chǔ)系統(tǒng)一般是要解決兩個(gè)問題:1.容量的擴(kuò)充,2.性能的擴(kuò)充。目前的分布式存儲(chǔ)系統(tǒng),都是依托于硬件的基礎(chǔ)上,實(shí)現(xiàn)一個(gè)硬件集群,但是,這些集群方案僅根據(jù)分布式存儲(chǔ)系統(tǒng)中的單一資源來分配任務(wù)請(qǐng)求,而且不能根據(jù)需要實(shí)現(xiàn)靈活的配置,造成集群中一些平臺(tái)的資源浪費(fèi),降低了分布式存儲(chǔ)系統(tǒng)的處理能力,使得分布式存儲(chǔ)系統(tǒng)不能做出正確的分配決策。
      [0003]為此,申請(qǐng)?zhí)枮?01010002264.2的發(fā)明專利,公開了一種實(shí)現(xiàn)負(fù)載均衡的方法、負(fù)載均衡服務(wù)器以及集群系統(tǒng),其中,實(shí)現(xiàn)負(fù)載均衡的方法主要包括如下過程:負(fù)載均衡服務(wù)器采用MINA的點(diǎn)對(duì)點(diǎn)的模式來接收任務(wù)請(qǐng)求,根據(jù)負(fù)載均衡策略和至少兩個(gè)子節(jié)點(diǎn)分別發(fā)送的各種資源信息確定處理所述任務(wù)請(qǐng)求的子節(jié)點(diǎn),其中包括根據(jù)配置的最小資源處理數(shù)算法和所述各種資源信息確定出處理所述任務(wù)請(qǐng)求的子節(jié)點(diǎn),具體而言,包括為所述至少兩個(gè)子節(jié)點(diǎn)中的各個(gè)子節(jié)點(diǎn)設(shè)置節(jié)點(diǎn)權(quán)值,為所述各種資源信息中的每一種資源信息設(shè)置資源值和資源負(fù)載權(quán)值,對(duì)所述各個(gè)子節(jié)點(diǎn)中的每一個(gè)子節(jié)點(diǎn)按如下處理得到各個(gè)子節(jié)點(diǎn)各自的負(fù)載值:分別對(duì)該子節(jié)點(diǎn)的每一種資源信息的資源值和資源負(fù)載權(quán)值做乘積處理得到第一結(jié)果值,將各種資源信息的第一結(jié)果值相加得到第二結(jié)果值,將所述第二結(jié)果值與該子節(jié)點(diǎn)的節(jié)點(diǎn)權(quán)值做乘積處理得到該子節(jié)點(diǎn)的負(fù)載值,根據(jù)預(yù)先配置的規(guī)則,將所述各個(gè)子節(jié)點(diǎn)中負(fù)載值符合該規(guī)則的子節(jié)點(diǎn)確定為處理所述任務(wù)請(qǐng)求的子節(jié)點(diǎn),其中預(yù)先配置的規(guī)則為選擇該各個(gè)節(jié)點(diǎn)中負(fù)載值最小的子節(jié)點(diǎn);將所述任務(wù)請(qǐng)求發(fā)送給確定出的子節(jié)點(diǎn),其中所述資源信息包括處理完畢的上一個(gè)任務(wù)請(qǐng)求的信息。該方法雖然在一定程度上實(shí)現(xiàn)了集群的靈活配置和更有效的負(fù)載均衡,但是其算法中,要實(shí)時(shí)獲取子節(jié)點(diǎn)的每一種資源信息的資源值和資源負(fù)載權(quán)值并進(jìn)行實(shí)時(shí)運(yùn)算,算法復(fù)雜,計(jì)算量大,對(duì)負(fù)載均衡設(shè)備能力要求很高,同時(shí),當(dāng)客戶端進(jìn)行數(shù)據(jù)存取時(shí),需要等待的時(shí)間過久。
      [0004]再例如申請(qǐng)?zhí)枮?01110418127.1的發(fā)明專利,公開了一種負(fù)載均衡系統(tǒng)、裝置及方法,所述方法包括:所述網(wǎng)絡(luò)交換機(jī)用于獲取用戶數(shù)據(jù)流中的特征信息,當(dāng)所述特征信息符合預(yù)定的第一負(fù)載均衡策略時(shí),將收到的用戶數(shù)據(jù)流中的數(shù)據(jù)報(bào)文按所述第一負(fù)載均衡策略轉(zhuǎn)發(fā)給與所述網(wǎng)絡(luò)交換機(jī)連接的多個(gè)服務(wù)器單元以實(shí)現(xiàn)低層負(fù)載均衡。當(dāng)所述特征信息符合預(yù)定的第二負(fù)載均衡策略時(shí),將收到的數(shù)據(jù)報(bào)文發(fā)送給所述負(fù)載均衡設(shè)備,然后根據(jù)所述負(fù)載均衡設(shè)備確定的轉(zhuǎn)發(fā)策略將數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給與所述網(wǎng)絡(luò)交換機(jī)連接的多個(gè)服務(wù)器單元以實(shí)現(xiàn)高層負(fù)載均衡。其中,第一負(fù)載均衡策略是將具有大帶寬特征的特征信息的數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給特定服務(wù)器單元;第二負(fù)載均衡策略是將具有小帶寬特征的特征信息的數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡設(shè)備。由上可知,該發(fā)明需要獨(dú)立的負(fù)載均衡設(shè)備來完成上述過程;同時(shí),第一負(fù)載均衡策略和第二負(fù)載均衡策略分別需要標(biāo)記大帶寬特征和小帶寬特征的特征信息,對(duì)于一般的數(shù)據(jù)報(bào)文,其大帶寬特征和小帶寬特征區(qū)分不是很明顯,因此,該發(fā)明提供的方法在具體實(shí)現(xiàn)上面來說,具有一定的困難;另外,上述發(fā)明的方法只考慮到帶寬問題,并未考慮到延遲問題,具有一定的缺陷。除此之外,以上的幾種負(fù)載均衡策略都是由一個(gè)中央節(jié)點(diǎn)來扮演負(fù)載均衡的仲裁者。這種集中式負(fù)載均衡策略不適合大規(guī)模的集群系統(tǒng),第一級(jí)中的負(fù)載均衡仲裁設(shè)備是一個(gè)單點(diǎn)故障,其次級(jí)中的負(fù)載均衡設(shè)備隨著前段設(shè)備和后端設(shè)備數(shù)目的增多,負(fù)載的加大很有可能成為整個(gè)系統(tǒng)的瓶頸。

      【發(fā)明內(nèi)容】

      [0005]因此,針對(duì)上述的問題,本發(fā)明提出一種非共享型分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,使非共享型分布式存儲(chǔ)系統(tǒng)的性能隨著負(fù)載的變化而動(dòng)態(tài)調(diào)整,并充分考慮帶寬,延遲和容量的均衡問題,以最大化發(fā)揮分布式存儲(chǔ)系統(tǒng)的帶寬并且保證較低的延遲,同時(shí)該方法簡單易實(shí)現(xiàn),從而解決現(xiàn)有技術(shù)之不足。
      [0006]與共享型(centralized)分布式存儲(chǔ)系統(tǒng)相比,非共享型(decentralized)分布式存儲(chǔ)系統(tǒng)中所有的存儲(chǔ)結(jié)點(diǎn)完全對(duì)稱,能夠做到所有的存儲(chǔ)節(jié)點(diǎn)都可以作為訪問點(diǎn)直接對(duì)客戶端提供存儲(chǔ)的存取(I/O)服務(wù)。這樣可以看起來,非共享型分布式存儲(chǔ)系統(tǒng)的性能可以隨著存儲(chǔ)結(jié)點(diǎn)的增加而近似線性增長。相比較傳統(tǒng)的服務(wù)器負(fù)載均衡方法,本發(fā)明的負(fù)載均衡方法是可以應(yīng)用于非對(duì)稱分布式存儲(chǔ)系統(tǒng)及這種負(fù)載的系統(tǒng)架構(gòu),而且該負(fù)載均衡方法綜合考慮了網(wǎng)絡(luò)的帶寬和存儲(chǔ)的延遲以及容量的平衡,可以最大程度的發(fā)揮分布式存儲(chǔ)系統(tǒng)的聚合性能。
      [0007]為了更好的說明本發(fā)明的方法,假設(shè)有一個(gè)η個(gè)存儲(chǔ)節(jié)點(diǎn)的非共享型分布式存儲(chǔ)系統(tǒng)為m個(gè)節(jié)點(diǎn)的客戶端服務(wù)器提供s個(gè)數(shù)據(jù)單位的存儲(chǔ)服務(wù)。分布式存儲(chǔ)系統(tǒng)的負(fù)載均衡方法需要在每一個(gè)節(jié)點(diǎn)上統(tǒng)計(jì)流量。以網(wǎng)絡(luò)流量來衡量帶寬的負(fù)載。如果多個(gè)客戶端同時(shí)連接分布式存儲(chǔ)系統(tǒng),根據(jù)動(dòng)態(tài)負(fù)載均衡方法,先按照均勻輪流策略加上統(tǒng)計(jì)結(jié)果來將多個(gè)客戶端路由到不同的存儲(chǔ)結(jié)點(diǎn)上。每當(dāng)一個(gè)客戶端連接請(qǐng)求來時(shí),動(dòng)態(tài)負(fù)載均衡方法需要從上一次紀(jì)錄的游標(biāo)(cursor)開始順序查詢帶寬統(tǒng)計(jì),找到第一個(gè)小于滿帶寬的節(jié)點(diǎn),將客戶端連接路由到這個(gè)節(jié)點(diǎn)。
      [0008]根據(jù)分布式存儲(chǔ)系統(tǒng)的特點(diǎn),大多數(shù)情況下每一個(gè)客戶端在任意時(shí)刻都直接入到分布式存儲(chǔ)系統(tǒng)的一個(gè)訪問點(diǎn)上,那么當(dāng)客戶端所想要訪問的數(shù)據(jù)恰好不再訪問點(diǎn)存儲(chǔ)的時(shí)候,分布式存儲(chǔ)系統(tǒng)就不得不由訪問點(diǎn)代為轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)請(qǐng)求到數(shù)據(jù)所在的目標(biāo)節(jié)點(diǎn)上做數(shù)據(jù)的存取服務(wù)。這種跨節(jié)點(diǎn)的數(shù)據(jù)訪問增加的客戶端數(shù)據(jù)訪問的延遲,所以在整個(gè)負(fù)載均衡策略中要盡可能的避免跨節(jié)點(diǎn)的操作降低延遲。默認(rèn)初始情況下,分布式存儲(chǔ)系統(tǒng)采用就近原則,在客戶端的連接訪問點(diǎn)上創(chuàng)建新的數(shù)據(jù),在大多數(shù)情況下,用戶通過一個(gè)存儲(chǔ)節(jié)點(diǎn)創(chuàng)建文件,有很大的機(jī)率他會(huì)一直使用這個(gè)存儲(chǔ)會(huì)話連接訪問存儲(chǔ),并且很大的機(jī)率創(chuàng)建數(shù)據(jù)的客戶端就是今后處理數(shù)據(jù)的客戶端。所以在一開始,所有的客戶端基本上都不需要跨節(jié)點(diǎn)訪問。[0009]有了以上的條件和假設(shè),具體的,本發(fā)明的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,該方法用于η個(gè)存儲(chǔ)節(jié)點(diǎn)的非共享型分布式存儲(chǔ)系統(tǒng)為m個(gè)節(jié)點(diǎn)的客戶端服務(wù)器提供S個(gè)數(shù)據(jù)單位的存儲(chǔ)服務(wù),包括以下步驟:
      步驟1:統(tǒng)計(jì)如下數(shù)據(jù):
      a:在各存儲(chǔ)節(jié)點(diǎn)上對(duì)每一個(gè)客戶端(m個(gè)客戶端中的每一個(gè))連接的數(shù)據(jù)存取訪問作統(tǒng)計(jì):統(tǒng)計(jì)每一個(gè)客戶端的數(shù)據(jù)存取服務(wù)的可以由訪問點(diǎn)直接滿足(本地?cái)?shù)據(jù)訪問)的命中次數(shù)LocalAccess,并統(tǒng)計(jì)每一個(gè)客戶端的數(shù)據(jù)存取服務(wù)必須由除訪問點(diǎn)以外的節(jié)點(diǎn)滿足(跨節(jié)點(diǎn)訪問的目標(biāo)結(jié)點(diǎn)的訪問)的次數(shù)RemoteAccesSh] ; [n_l]為RemoteAccess的下標(biāo)值,是除訪問點(diǎn)外的其他節(jié)點(diǎn)的序號(hào)。對(duì)每一個(gè)訪問點(diǎn)來講,這里共有η-1個(gè)其他節(jié)點(diǎn)是遠(yuǎn)程訪問;
      b:以文件或塊為單位統(tǒng)計(jì)s個(gè)數(shù)據(jù)單位中的每一個(gè)數(shù)據(jù)單位通過不同存儲(chǔ)節(jié)點(diǎn)訪問的次數(shù):該數(shù)據(jù)單位直接由客戶端存取(本地訪問命中)的次數(shù)LocalHit,以及統(tǒng)計(jì)對(duì)與每一個(gè)集群中的其它節(jié)點(diǎn),通過這些節(jié)點(diǎn)訪問這個(gè)數(shù)據(jù)單位的次數(shù)RemoteHitfl^ ; [n_l]為RemoteHit的下標(biāo)值,是除訪問點(diǎn)外的其他節(jié)點(diǎn)的序號(hào)。對(duì)每一個(gè)數(shù)據(jù)單位而言,通過數(shù)據(jù)單位所在的節(jié)點(diǎn)直接訪問的值就是LocalHit ;而除了數(shù)據(jù)單位以外,通過其他的訪問點(diǎn)來訪問這個(gè)數(shù)據(jù)單位就是RemoteHittlri],這里共有n_l個(gè)節(jié)點(diǎn)是遠(yuǎn)程訪問;c:統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)的空間使用率;
      步驟2:根據(jù)上述統(tǒng)計(jì)數(shù)據(jù),并預(yù)先制定帶寬閾值、遠(yuǎn)程訪問閾值和容量閾值,各閾值均為百分比;設(shè)容量最高閾值HighWaterMark和最低閾值LowWaterMark ;判斷分布式存儲(chǔ)系統(tǒng)的各節(jié)點(diǎn)是否出 現(xiàn)容量極度不均衡(一個(gè)存儲(chǔ)節(jié)點(diǎn)的空間近滿,而其他的節(jié)點(diǎn)的存儲(chǔ)空間近似為空),其中一個(gè)節(jié)點(diǎn)的容量使用了 HighWaterMark以上,而其他的節(jié)點(diǎn)有少于LowffaterMark的(HighWaterMark, LowffaterMark都是相對(duì)百分比),如果是則轉(zhuǎn)到步驟31 ;判斷某個(gè)客戶端跨節(jié)點(diǎn)訪問數(shù)據(jù)的次數(shù)RemoteAccess [nodeX] =Kl大于本地訪問次數(shù)LocalAccess=K2是否到達(dá)一個(gè)預(yù)設(shè)的閾值Z,即K1_K2>Z,如果是則轉(zhuǎn)到步驟32 ;
      判斷一個(gè)數(shù)據(jù)單位(文件或數(shù)據(jù)塊)通過某個(gè)節(jié)點(diǎn)跨節(jié)點(diǎn)訪問的次數(shù)RemoteHit [nodeY] =Ll大于本地訪問次數(shù)LocalHit=L2是否到達(dá)一個(gè)設(shè)定的閾值W,即L1-L2>W,如果是則轉(zhuǎn)到步驟33 ;
      步驟31:遷移數(shù)據(jù):對(duì)于選定的數(shù)據(jù)單位首先通過DHT (分布式哈希)算法確定目標(biāo)節(jié)點(diǎn)nodeDst,如果這個(gè)數(shù)據(jù)單位通過nodeDst訪問次數(shù)遠(yuǎn)小于通過其中某個(gè)節(jié)點(diǎn)nodeY的訪問次數(shù),那么目標(biāo)節(jié)點(diǎn)選擇nodeY ;如果nodeY就是本地節(jié)點(diǎn),那么暫時(shí)不遷移本數(shù)據(jù)單位;
      步驟32:選取客戶端跨節(jié)點(diǎn)訪問次數(shù)最多的那個(gè)節(jié)點(diǎn)即RemoteAccess數(shù)組中值最大的那個(gè)下標(biāo)nodeX,通過路由重定向客戶端到這個(gè)節(jié)點(diǎn)nodeX,如果此目標(biāo)結(jié)點(diǎn)nodeX的帶寬一直處于滿帶寬,而有其它節(jié)點(diǎn)帶寬統(tǒng)計(jì)沒有達(dá)到滿帶寬,那么暫時(shí)不遷移,首先嘗試觸發(fā)數(shù)據(jù)均衡;同時(shí)清除客戶端訪問統(tǒng)計(jì);如果所有的節(jié)點(diǎn)都近似帶寬飽和,通過路由重定向客戶接入訪問點(diǎn)到目標(biāo)節(jié)點(diǎn);
      步驟33:遷移數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)nodeY。
      [0010]負(fù)載均衡的手段一般有兩種:一種是遷移數(shù)據(jù),數(shù)據(jù)的均衡是帶寬均衡的前提。用分布式散列表算法對(duì)數(shù)據(jù)單位重新分布。數(shù)據(jù)盡可能分布在頻繁訪問點(diǎn)上,以此降低延遲。另一種是通過路由重定向客戶端接入訪問點(diǎn)。本發(fā)明通過采用上述方法,其融合了訪問路徑均衡和數(shù)據(jù)均衡的負(fù)載均衡方法。其方法簡單易于實(shí)現(xiàn),且整個(gè)分布式存儲(chǔ)系統(tǒng)根據(jù)如上所述的均衡策略,以盡可能小的延遲達(dá)到分布式存儲(chǔ)系統(tǒng)負(fù)載的均衡。
      【具體實(shí)施方式】
      [0011]現(xiàn)結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說明。
      [0012]分布式存儲(chǔ)系統(tǒng)性能的衡量指標(biāo)中最主要的是:帶寬和延遲。這兩個(gè)性能指標(biāo)在某種情況下是互相作用和互相影響的。對(duì)于一個(gè)非共享型分布式存儲(chǔ)系統(tǒng),數(shù)據(jù)分散存放于多個(gè)存儲(chǔ)結(jié)點(diǎn)上,如果任意一個(gè)節(jié)點(diǎn)都可以作為數(shù)據(jù)訪問點(diǎn)的話,那么意味著當(dāng)用戶通過一個(gè)節(jié)點(diǎn)訪問數(shù)據(jù)時(shí),有可能他所想要訪問的數(shù)據(jù)在其他的存儲(chǔ)結(jié)點(diǎn)上,這時(shí)候作為入口點(diǎn)的節(jié)點(diǎn)必須代表客戶端從數(shù)據(jù)所在的目標(biāo)節(jié)點(diǎn)上將數(shù)據(jù)取到訪問點(diǎn)上,然后將數(shù)據(jù)返回給客戶端,那么這種跨節(jié)點(diǎn)訪問勢(shì)必帶來的是將對(duì)較高的延遲,在數(shù)據(jù)并發(fā)訪問相對(duì)較少的情況下,高的延遲限制了帶寬。那么為了降低延遲和提高帶寬是否路由所有的客戶端都直接去訪問數(shù)據(jù)所在的目標(biāo)節(jié)點(diǎn)就可以降低延遲,達(dá)到好的性能呢?結(jié)論不是,因?yàn)殡S著訪問同一組數(shù)據(jù)的客戶端數(shù)目的增多,并發(fā)訪問量的變大,整個(gè)分布式存儲(chǔ)系統(tǒng)的帶寬一定受限于那一個(gè)存儲(chǔ)結(jié)點(diǎn)的帶寬。所以共享型分布式存儲(chǔ)系統(tǒng)最好是能通過一種高級(jí)的負(fù)載均衡調(diào)度策略來最大化發(fā)揮分布式存儲(chǔ)系統(tǒng)的帶寬并且保證較低的延遲。
      [0013]這種調(diào)度策略是一種融合了訪問路徑均衡和數(shù)據(jù)均衡的負(fù)載均衡方法。如下策略假設(shè)有一個(gè)η個(gè)存儲(chǔ)節(jié)點(diǎn)的非共享型分布式存儲(chǔ)系統(tǒng)為m個(gè)節(jié)點(diǎn)的客戶端服務(wù)器提供s個(gè)數(shù)據(jù)單位的存儲(chǔ)服務(wù)。
      [0014]分布式存儲(chǔ)系統(tǒng)的負(fù)載均衡方法需要在每一個(gè)節(jié)點(diǎn)上統(tǒng)計(jì)流量。以網(wǎng)絡(luò)流量來衡量帶寬的負(fù)載。如果多個(gè)客戶端同時(shí)連接分布式存儲(chǔ)系統(tǒng)本策略先按照均勻輪流策略加上統(tǒng)計(jì)結(jié)果來將多個(gè)客戶端路由到不同的存儲(chǔ)結(jié)點(diǎn)上。每當(dāng)一個(gè)客戶端連接請(qǐng)求來時(shí),均衡策略需要從上一次紀(jì)錄的游標(biāo)(cursor)開始順序查詢帶寬統(tǒng)計(jì),找到第一個(gè)小于滿帶寬的節(jié)點(diǎn),將客戶端連接路由到這個(gè)節(jié)點(diǎn)。
      [0015]分布式存儲(chǔ)系統(tǒng)采用就近原則,在客戶端的連接訪問點(diǎn)上創(chuàng)建新的數(shù)據(jù),在大多數(shù)情況下,用戶通過一個(gè)存儲(chǔ)節(jié)點(diǎn)創(chuàng)建文件,有很大的幾率他會(huì)一直使用這個(gè)存儲(chǔ)會(huì)話連接訪問存儲(chǔ),并且很大的幾率創(chuàng)建數(shù)據(jù)的客戶端就是今后處理數(shù)據(jù)的客戶端。所以在一開始,所有的客戶端基本上都不需要跨節(jié)點(diǎn)訪問。
      [0016]同時(shí)本負(fù)載均衡方法要求作如下3個(gè)統(tǒng)計(jì):
      1:在各存儲(chǔ)節(jié)點(diǎn)上對(duì)每一個(gè)客戶端U個(gè)客戶端中的每一個(gè))的連接作統(tǒng)計(jì):統(tǒng)計(jì)每一個(gè)客戶端的數(shù)據(jù)存取服務(wù)的本地?cái)?shù)據(jù)訪問的命中次數(shù)LocalAccess,并統(tǒng)計(jì)每一個(gè)跨節(jié)點(diǎn)訪問的目標(biāo)結(jié)點(diǎn)的訪問次數(shù)RemoteAccesstlri] ; [n_l]為RemoteAccess的下標(biāo)值,是除訪問點(diǎn)外的其他節(jié)點(diǎn)的序號(hào)。對(duì)每一個(gè)訪問點(diǎn)來講,這里共有η-1個(gè)其他節(jié)點(diǎn)是遠(yuǎn)程訪問;
      2:以文件或塊為單位統(tǒng)計(jì)s個(gè)數(shù)據(jù)單位中的每一個(gè)數(shù)據(jù)單位的訪問次數(shù):本地訪問命中次數(shù)LocalHit,以及統(tǒng)計(jì)對(duì)與每一個(gè)集群中的其它節(jié)點(diǎn),通過這些節(jié)點(diǎn)訪問這個(gè)數(shù)據(jù)單位的次數(shù)RemoteHittlri]; [n_l]為RemoteHit的下標(biāo)值,是除訪問點(diǎn)外的其他節(jié)點(diǎn)的序號(hào)。對(duì)每一個(gè)數(shù)據(jù)單位而言,通過數(shù)據(jù)單位所在的節(jié)點(diǎn)直接訪問的值就是LocalHit ;而除了數(shù)據(jù)單位以外,通過其他的訪問點(diǎn)來訪問這個(gè)數(shù)據(jù)單位就是RemoteHit,這里共有n_l個(gè)節(jié)點(diǎn)是遠(yuǎn)程訪問;
      3:統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)的空間使用率。
      [0017]負(fù)載均衡的手段有兩種:
      1.遷移數(shù)據(jù):數(shù)據(jù)的均衡是帶寬均衡的前提。用DHT算法對(duì)數(shù)據(jù)單位重新分布。數(shù)據(jù)盡可能分布在頻繁訪問點(diǎn)上,以此降低延遲;
      2.通過路由重定向客戶端接入訪問點(diǎn)。
      [0018]預(yù)先制定容量最高閾值HighWaterMark和最低閾值LowWaterMark,最高閾值HighffaterMark和最低閾值LowWaterMark為百分比,判斷分布式存儲(chǔ)系統(tǒng)的各節(jié)點(diǎn)是否出現(xiàn)容量極度不均衡,并根據(jù)判斷結(jié)果選擇遷移數(shù)據(jù)或者通過路由重定向客戶端接入訪問點(diǎn)。其中,觸發(fā)負(fù)載均衡的條件有三個(gè):
      條件1:容量極度不均衡,其中一個(gè)節(jié)點(diǎn)的容量的使用量超過最高閾值HighWaterMark,其他有節(jié)點(diǎn)的容量的使用量低于最低閾值LowWaterMark ;
      條件2:對(duì)某個(gè)客戶端跨節(jié)點(diǎn)訪問數(shù)據(jù)的次數(shù)大于本地訪問次數(shù)到達(dá)一個(gè)設(shè)定的閾值Z ;令某個(gè)客戶端跨節(jié)點(diǎn)訪問數(shù)據(jù)的次數(shù)RemoteAccesshmtea為K1,令本地訪問次數(shù)LocalAccess為K2,如果K1-K2大于預(yù)設(shè)閾值Z ;
      條件3:令一個(gè)數(shù)據(jù)單位(文件或數(shù)據(jù)塊)通過某個(gè)節(jié)點(diǎn)跨節(jié)點(diǎn)訪問的次數(shù)RemoteHit[nodeY]為LI,令本地訪問次數(shù)LocalHit為L2,如果L1-L2大于預(yù)設(shè)閾值W ;均衡判定規(guī)則:
      當(dāng)條件I觸發(fā)時(shí),遷移數(shù)據(jù):對(duì)于選定的數(shù)據(jù)單位首先通過DHT (分布式哈希)算法確定目標(biāo)節(jié)點(diǎn)nodeDst進(jìn)行數(shù)據(jù)遷移,如果這個(gè)數(shù)據(jù)單位通過nodeDst訪問次數(shù)遠(yuǎn)小于通過其中某個(gè)節(jié)點(diǎn)nodeY的訪問次數(shù),那么目標(biāo)節(jié)點(diǎn)選擇nodeY ;如果nodeY就是本地節(jié)點(diǎn),那么不遷移該數(shù)據(jù)單位。
      [0019]當(dāng)條件2觸發(fā)時(shí),選取客戶端跨節(jié)點(diǎn)訪問次數(shù)最多的那個(gè)節(jié)點(diǎn)即RemoteAccess數(shù)組中值最大的那個(gè)下標(biāo)nodeX,通過路由重定向客戶端到這個(gè)節(jié)點(diǎn)nodeX,如果此目標(biāo)結(jié)點(diǎn)nodeX的帶寬一直處于滿帶寬,而有其它節(jié)點(diǎn)帶寬統(tǒng)計(jì)沒有達(dá)到滿帶寬,那么暫時(shí)不遷移,首先嘗試觸發(fā)數(shù)據(jù)均衡;同時(shí)清除客戶端訪問統(tǒng)計(jì);如果所有的節(jié)點(diǎn)都近似帶寬飽和,通過路由重定向客戶接入訪問點(diǎn)到目標(biāo)節(jié)點(diǎn)。
      [0020]當(dāng)條件3觸發(fā)時(shí),遷移數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)nodeY。
      [0021]本發(fā)明結(jié)合負(fù)載均衡的兩種手段(遷移數(shù)據(jù)、通過路由重定向客戶端接入訪問點(diǎn)),在不同的條件觸發(fā)選擇不同的數(shù)據(jù)遷移策略?,F(xiàn)有技術(shù)中的負(fù)載均衡策略一般都由一個(gè)中央節(jié)點(diǎn)來扮演負(fù)載均衡的仲裁者,這種集中式負(fù)載均衡策略不適合大規(guī)模的集群系統(tǒng),第一級(jí)中的負(fù)載均衡仲裁設(shè)備是一個(gè)單點(diǎn)故障,其次級(jí)中的負(fù)載均衡設(shè)備隨著前段設(shè)備和后端設(shè)備數(shù)目的增多,負(fù)載的加大很有可能成為整個(gè)系統(tǒng)的瓶頸。而本發(fā)明提供的上述均衡策略,尤其適合大規(guī)模的集群系統(tǒng)。整個(gè)分布式存儲(chǔ)系統(tǒng)可以根據(jù)如上所述的均衡策略,以盡可能小的延遲達(dá)到分布式存儲(chǔ)系統(tǒng)負(fù)載的均衡。
      [0022]盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
      【權(quán)利要求】
      1.分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,該方法用于η個(gè)存儲(chǔ)節(jié)點(diǎn)的非共享型分布式存儲(chǔ)系統(tǒng)為m個(gè)節(jié)點(diǎn)的客戶端服務(wù)器提供s個(gè)數(shù)據(jù)單位的存儲(chǔ)服務(wù),包括以下步驟: 步驟1:統(tǒng)計(jì)如下信息:統(tǒng)計(jì)各存儲(chǔ)節(jié)點(diǎn)上對(duì)每一個(gè)客戶端連接的數(shù)據(jù)存取訪問,統(tǒng)計(jì)s個(gè)數(shù)據(jù)單位中的每一個(gè)數(shù)據(jù)單位通過不同存儲(chǔ)節(jié)點(diǎn)訪問的次數(shù),統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)的空間使用率; 步驟2:根據(jù)步驟I中的上述統(tǒng)計(jì)數(shù)據(jù),預(yù)先制定容量最高閾值HighWaterMark和最低閾值LowWaterMark,最高閾值HighWaterMark和最低閾值LowWaterMark為百分比,判斷分布式存儲(chǔ)系統(tǒng)的各節(jié)點(diǎn)是否出現(xiàn)容量極度不均衡,并根據(jù)判斷結(jié)果選擇遷移數(shù)據(jù)或者通過路由重定向客戶端接入訪問點(diǎn)。
      2.根據(jù)權(quán)利要求1所述的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,其特征在于:所述步驟I中,統(tǒng)計(jì)各存儲(chǔ)節(jié)點(diǎn)上對(duì)每一個(gè)客戶端連接的數(shù)據(jù)存取訪問,具體是:統(tǒng)計(jì)每一個(gè)客戶端的數(shù)據(jù)存取服務(wù)的可以由訪問點(diǎn)直接滿足的次數(shù)LocalAccess,并統(tǒng)計(jì)每一個(gè)客戶端的數(shù)據(jù)存取服務(wù)必須由除訪問點(diǎn)以外的節(jié)點(diǎn)滿足的次數(shù)RemoteAccess;[n_l]為RemoteAccess的下標(biāo)值,是除訪問點(diǎn)外的其他節(jié)點(diǎn)的序號(hào)。
      3.根據(jù)權(quán)利要求2所述的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,其特征在于:所述步驟I中,統(tǒng)計(jì)s個(gè)數(shù)據(jù)單位中的每一個(gè)數(shù)據(jù)單位通過不同存儲(chǔ)節(jié)點(diǎn)的訪問次數(shù),具體是:以文件或塊為單位統(tǒng)計(jì)該數(shù)據(jù)單位直接由客戶端存取的次數(shù)LocalHit,以及統(tǒng)計(jì)對(duì)與每一個(gè)集群中的其它節(jié)點(diǎn),通過這些節(jié)點(diǎn)訪問這個(gè)數(shù)據(jù)單位的次數(shù)RemoteHitfl^; [n_l]為RemoteHit的下標(biāo)值,是除訪問點(diǎn) 外的其他節(jié)點(diǎn)的序號(hào)。
      4.根據(jù)權(quán)利要求3所述的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,其特征在于:所述步驟2中,當(dāng)判斷結(jié)果滿足:其中一個(gè)節(jié)點(diǎn)的容量的使用量超過最高閾值HighWaterMark,一個(gè)節(jié)點(diǎn)的容量的使用量低于最低閾值LowWaterMark,則進(jìn)行如下操作: 遷移數(shù)據(jù):對(duì)于選定的數(shù)據(jù)單位首先通過DHT算法確定目標(biāo)節(jié)點(diǎn)nodeDst,如果這個(gè)數(shù)據(jù)單位通過nodeDst訪問次數(shù)遠(yuǎn)小于通過其中某個(gè)節(jié)點(diǎn)nodeY的訪問次數(shù),那么目標(biāo)節(jié)點(diǎn)選擇nodeY ;如果nodeY就是本地節(jié)點(diǎn),那么不遷移該數(shù)據(jù)單位。
      5.根據(jù)權(quán)利要求4所述的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,其特征在于:所述步驟2中,令某個(gè)客戶端跨節(jié)點(diǎn)訪問數(shù)據(jù)的次數(shù)RemoteAccesstodda為K1,令本地訪問次數(shù)LocalAccess為K2,當(dāng)判斷結(jié)果滿足:K1_K2大于預(yù)設(shè)閾值Ζ,則進(jìn)行如下操作: 選取客戶端跨節(jié)點(diǎn)訪問次數(shù)最多的那個(gè)節(jié)點(diǎn)即RemoteAccess數(shù)組中值最大的那個(gè)下標(biāo)nodeX,通過路由重定向客戶端到這個(gè)節(jié)點(diǎn)nodeX,如果此目標(biāo)結(jié)點(diǎn)nodeX的帶寬一直處于滿帶寬,而有其它節(jié)點(diǎn)帶寬統(tǒng)計(jì)沒有達(dá)到滿帶寬,那么暫時(shí)不遷移,首先嘗試觸發(fā)數(shù)據(jù)均衡;同時(shí)清除客戶端訪問統(tǒng)計(jì);如果所有的節(jié)點(diǎn)都近似帶寬飽和,通過路由重定向客戶接入訪問點(diǎn)到目標(biāo)節(jié)點(diǎn)。
      6.根據(jù)權(quán)利要求4或5所述的分布式存儲(chǔ)系統(tǒng)的動(dòng)態(tài)負(fù)載均衡方法,其特征在于:所述步驟2中,令一個(gè)數(shù)據(jù)單位通過某個(gè)節(jié)點(diǎn)跨節(jié)點(diǎn)訪問的次數(shù)RemoteHit[MdeY]為LI,令本地訪問次數(shù)LocalHit為L2,當(dāng)判斷結(jié)果滿足:L1_L2大于預(yù)設(shè)閾值W,則進(jìn)行如下操作:遷移數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)nodeY。
      【文檔編號(hào)】H04L29/08GK103701916SQ201310749353
      【公開日】2014年4月2日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
      【發(fā)明者】吳江 申請(qǐng)人:賽凡信息科技(廈門)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1