專利名稱:負(fù)載均衡方法及系統(tǒng)和管理服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,特別涉及一種負(fù)載均衡方法及系統(tǒng)和管理服務(wù)器。
背景技術(shù):
在服務(wù)型的分布式存儲(chǔ)系統(tǒng)中,每個(gè)存儲(chǔ)服務(wù)器節(jié)點(diǎn)都是專門部署用來提供服務(wù) 的高性能服務(wù)器。數(shù)據(jù)的分布狀況對(duì)分布式存儲(chǔ)性能有極大的影響。如果數(shù)據(jù)分布均勻合 理,數(shù)據(jù)訪問的負(fù)載均勻分布在各個(gè)存儲(chǔ)服務(wù)器節(jié)點(diǎn)上,較少出現(xiàn)負(fù)載失衡導(dǎo)致的服務(wù)質(zhì) 量降低和系統(tǒng)資源不能充分利用的狀況。由于互聯(lián)網(wǎng)和用戶需求的增長,為了滿足分布式 系統(tǒng)的可擴(kuò)展性,存儲(chǔ)系統(tǒng)需要加入新存儲(chǔ)服務(wù)器節(jié)點(diǎn)例如新服務(wù)器。新存儲(chǔ)服務(wù)器節(jié)點(diǎn)加入后對(duì)系統(tǒng)中數(shù)據(jù)分布有重要的影響。由于新存儲(chǔ)服務(wù)器節(jié) 點(diǎn)不包含任何數(shù)據(jù),若不向新存儲(chǔ)服務(wù)器節(jié)點(diǎn)填充數(shù)據(jù),加入的新存儲(chǔ)服務(wù)器節(jié)點(diǎn)在初始 時(shí)間可能得不到有效利用。在已有的分布式存儲(chǔ)系統(tǒng)和相關(guān)研究中對(duì)新加入系統(tǒng)后數(shù)據(jù)的 分布有了一些研究和處理方式。在一些基于規(guī)則來確定數(shù)據(jù)的存儲(chǔ)位置的系統(tǒng)中,新存儲(chǔ) 服務(wù)器節(jié)點(diǎn)加入后按照規(guī)則將相應(yīng)的數(shù)據(jù)遷移到新存儲(chǔ)服務(wù)器節(jié)點(diǎn);在一些以定位表機(jī)制 尋找數(shù)據(jù)的分布式系統(tǒng)中,按照磁盤利用率來確定遷移數(shù)據(jù),使得各個(gè)存儲(chǔ)服務(wù)器節(jié)點(diǎn)的 磁盤利用率趨于均衡?,F(xiàn)有的一種負(fù)載均衡策略為谷歌文件系統(tǒng)(the Google File System;簡稱 GFS)。圖1為現(xiàn)有GFS的系統(tǒng)架構(gòu)圖,如圖1所示,GFS集群由一個(gè)管理服務(wù)器I(Master) 和多個(gè)塊服務(wù)器2 (Chimkserver)即存儲(chǔ)服務(wù)器節(jié)點(diǎn)組成。管理服務(wù)器1用于管理所有文 件系統(tǒng)的元數(shù)據(jù),包括名字空間(namespace)、訪問控制信息、文件到文件塊(chunk)的映 射關(guān)系、當(dāng)前文件塊位置等信息。連接到各應(yīng)用系統(tǒng)的GFS客戶節(jié)點(diǎn)代碼中包括文件系統(tǒng) 的應(yīng)用程序編程接口(Application Programming Interface ;簡稱API),可以與管理服務(wù) 器1和塊服務(wù)器2進(jìn)行通訊,代表應(yīng)用程序進(jìn)行讀寫數(shù)據(jù)的操作??蛻艄?jié)點(diǎn)3和管理服務(wù) 器1進(jìn)行元數(shù)據(jù)的操作,但是所有的數(shù)據(jù)相關(guān)的通訊是直接和塊服務(wù)器2進(jìn)行的。GFS重 新均衡的步驟一般包括首先,管理服務(wù)器1定期獲取各個(gè)塊服務(wù)器2中副本的分布情況。 然后,根據(jù)磁盤剩余空間和分片分布所需要滿足的條件(例如不能在同一個(gè)機(jī)架等)遷移 分片,例如GFS將磁盤空間利用率高于平均水平的塊服務(wù)器2的文件移動(dòng)分布到新加入的 塊服務(wù)器上,以平衡磁盤空間利用率。采用GFS進(jìn)行海量存儲(chǔ)系統(tǒng)內(nèi)的負(fù)載均衡和文件發(fā)布時(shí),GFS中發(fā)布的文件優(yōu)先 存儲(chǔ)在磁盤空間利用率低的存儲(chǔ)服務(wù)器節(jié)點(diǎn),可以使新加入的塊服務(wù)器上存儲(chǔ)更多新內(nèi) 容;限制每一個(gè)塊服務(wù)器上的“最近”創(chuàng)建文件的數(shù)量,但只在新文件發(fā)布頻繁時(shí)起一定作 用;GFS滲透使用一個(gè)新存儲(chǔ)服務(wù)器節(jié)點(diǎn),管理服務(wù)器必須決定哪個(gè)副本需要移動(dòng),一般傾 向于高于平均磁盤空間利用率的塊服務(wù)器的文件塊移動(dòng)分布到新存儲(chǔ)服務(wù)器節(jié)點(diǎn),以平衡 磁盤空間使用;GFS中定期進(jìn)行副本均衡,將副本調(diào)整到更好的磁盤和負(fù)載分布,但沒有動(dòng) 態(tài)負(fù)載均衡。因此,GFS的新加入的塊服務(wù)器上存儲(chǔ)的新文件內(nèi)容比舊的塊服務(wù)器上存儲(chǔ)的新內(nèi)容多,而訪問新文件的概率更大,容易出現(xiàn)新的塊服務(wù)器的負(fù)載過重、系統(tǒng)服務(wù)質(zhì)量和 系統(tǒng)資源利用率降低的現(xiàn)象。并且由于GFS中沒有動(dòng)態(tài)負(fù)載均衡,對(duì)于新加入的塊服務(wù)器, 均衡系 統(tǒng)負(fù)載需要的時(shí)間較長,如果系統(tǒng)負(fù)載過重,在系統(tǒng)均衡前,系統(tǒng)的服務(wù)質(zhì)量較差。現(xiàn)有的另一種負(fù)載均衡策略為在內(nèi)容分發(fā)網(wǎng)絡(luò)(ContentDistribution Network ; 簡稱⑶N)中加入新的存儲(chǔ)服務(wù)器節(jié)點(diǎn)。⑶N構(gòu)成一個(gè)虛擬樹;新節(jié)點(diǎn)加入時(shí),在整個(gè)網(wǎng)絡(luò) 中發(fā)送一遍新節(jié)點(diǎn)加入通知信息,通知信息中攜帶位圖(bitmap);各節(jié)點(diǎn)根據(jù)新節(jié)點(diǎn)的位 圖信息,比較本地存儲(chǔ)的內(nèi)容有哪些新節(jié)點(diǎn)應(yīng)該存儲(chǔ),返回應(yīng)答消息時(shí)攜帶內(nèi)容信息和自 身性能;新節(jié)點(diǎn)從接收到的各應(yīng)答消息中,獲知應(yīng)存儲(chǔ)的內(nèi)容,及應(yīng)存儲(chǔ)內(nèi)容所在的節(jié)點(diǎn)位 置,從不擁塞的節(jié)點(diǎn)下載自己應(yīng)存儲(chǔ)的內(nèi)容,完成“學(xué)習(xí)”過程。新加入節(jié)點(diǎn)存儲(chǔ)的內(nèi)容由 “規(guī)則”確定,而且CDN中新節(jié)點(diǎn)存儲(chǔ)了某個(gè)內(nèi)容不會(huì)導(dǎo)致其他節(jié)點(diǎn)對(duì)該內(nèi)容副本的刪除。在 CDN中加入新存儲(chǔ)服務(wù)器節(jié)點(diǎn)時(shí),數(shù)據(jù)遷移到新存儲(chǔ)服務(wù)器節(jié)點(diǎn)后,原存儲(chǔ)服務(wù)器節(jié)點(diǎn)數(shù)據(jù) 并不刪除。現(xiàn)有的另一種負(fù)載均衡策略為副本遷移和擴(kuò)散技術(shù),在副本遷移和擴(kuò)散技術(shù)中, 新文件的發(fā)布、數(shù)據(jù)的動(dòng)態(tài)擴(kuò)散和遷移時(shí),將數(shù)據(jù)存儲(chǔ)到負(fù)載較小的存儲(chǔ)服務(wù)器節(jié)點(diǎn)(新 加入的存儲(chǔ)服務(wù)器節(jié)點(diǎn)的存儲(chǔ)空間和訪問壓力的負(fù)載較小)。在新節(jié)點(diǎn)上線后,不進(jìn)行按比 例的文件遷移,而是將迫切遷移的文件移動(dòng)到新節(jié)點(diǎn),同時(shí)由于磁盤利用率和負(fù)載較低,新 文件也會(huì)趨向于存儲(chǔ)在新節(jié)點(diǎn)上。在副本遷移和擴(kuò)散技術(shù)中,遷移到新節(jié)點(diǎn)的數(shù)據(jù)主要為 新數(shù)據(jù),因此系統(tǒng)的數(shù)據(jù)分布狀況為新數(shù)據(jù)存儲(chǔ)在新節(jié)點(diǎn)、老數(shù)據(jù)存儲(chǔ)在老節(jié)點(diǎn)。在新節(jié)點(diǎn) 上,上傳時(shí)間點(diǎn)接近的新數(shù)據(jù)的訪問周期比較相似,會(huì)引起新節(jié)點(diǎn)負(fù)載急劇上升或急劇下 降,從而引起新數(shù)據(jù)的反復(fù)遷出或遷進(jìn)。類似的,新上傳的文件的訪問周期使得訪問熱點(diǎn)來 臨時(shí),新節(jié)點(diǎn)負(fù)載急劇上升,引起大量數(shù)據(jù)的遷出。在副本遷移和擴(kuò)散技術(shù)中反復(fù)的遷移浪 費(fèi)系統(tǒng)資源,會(huì)導(dǎo)致新節(jié)點(diǎn)的磁盤利用率低,老節(jié)點(diǎn)磁盤利用率高。長期運(yùn)行,將導(dǎo)致老節(jié) 點(diǎn)的磁盤空間用完后無法存儲(chǔ)新上傳文件,訪問熱度降低,但又無法將數(shù)據(jù)向老節(jié)點(diǎn)遷移, 從而導(dǎo)致系統(tǒng)帶寬等資源閑置浪費(fèi)。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題現(xiàn)有的在系統(tǒng)中加入新的存儲(chǔ)服務(wù)器節(jié)點(diǎn)后進(jìn)行負(fù)載均衡的各種方法,存在負(fù)載 均衡速度慢、系統(tǒng)服務(wù)質(zhì)量差、浪費(fèi)系統(tǒng)資源等缺點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種負(fù)載均衡方法及系統(tǒng)和管理服務(wù)器,用以解決現(xiàn)有技術(shù)存 在的負(fù)載均衡速度慢、系統(tǒng)服務(wù)質(zhì)量差、浪費(fèi)系統(tǒng)資源等的問題,以提高加入新存儲(chǔ)服務(wù)器 的系統(tǒng)的均衡速度和服務(wù)質(zhì)量。本發(fā)明實(shí)施例提供一種負(fù)載均衡方法,包括獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù)器包括原存儲(chǔ)服 務(wù)器和新存儲(chǔ)服務(wù)器;根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì) 應(yīng)的均衡值,并根據(jù)所述均衡值獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的 不同類型的文件的數(shù)量;根據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,所述原存儲(chǔ)服務(wù)器將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。本發(fā)明實(shí)施例又提供一種管理服務(wù)器,包括獲取模塊,用于獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù) 器包括原存儲(chǔ)服務(wù)器和新存儲(chǔ)服務(wù)器;均衡模塊,用于根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不 同類型的文件對(duì)應(yīng)的均衡值;遷移模塊,用于根據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,指示所述原存 儲(chǔ)服務(wù)器在獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件的 數(shù)量后、按照所述遷移順序、將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng) 的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。本發(fā)明實(shí)施例再提供一種負(fù)載均衡系統(tǒng),包括管理服務(wù)器,用于獲取系統(tǒng) 內(nèi)各所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息;根據(jù)所 述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì)應(yīng)的均衡值;根 據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,指示所述原存儲(chǔ)服務(wù)器在獲取所述原存 儲(chǔ)服務(wù)器中需要向新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù)量后、按照所述遷移順序、將 需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷 移;存儲(chǔ)服務(wù)器,用于存儲(chǔ)不同類型的文件,所述存儲(chǔ)服務(wù)器包括所述原存儲(chǔ)服務(wù)器 和所述新存儲(chǔ)服務(wù)器,所述原存儲(chǔ)服務(wù)器根據(jù)所述均衡值獲取需要向新存儲(chǔ)服務(wù)器遷移的 不同類型的文件的數(shù)量,按照所述遷移順序、將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型 的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。本發(fā)明實(shí)施例提供的負(fù)載均衡方法及系統(tǒng)和管理服務(wù)器,根據(jù)當(dāng)前的系統(tǒng)內(nèi)中各 個(gè)存儲(chǔ)服務(wù)器的負(fù)載信息和服務(wù)能力,計(jì)算不同類型的文件對(duì)應(yīng)的均衡值和遷移量,使加 入新存儲(chǔ)服務(wù)器后的系統(tǒng)能夠快速實(shí)現(xiàn)均衡,減少數(shù)據(jù)的遷入遷出,從而減少系統(tǒng)的抖動(dòng), 提高系統(tǒng)的服務(wù)質(zhì)量,節(jié)約系統(tǒng)資源。
圖1為現(xiàn)有GFS的系統(tǒng)架構(gòu)圖;圖2為本發(fā)明實(shí)施例系統(tǒng)整體框架的示意圖;圖3為本發(fā)明負(fù)載均衡方法實(shí)施例一的流程圖;圖4為本發(fā)明負(fù)載均衡方法實(shí)施例二的流程圖;圖5為本發(fā)明管理服務(wù)器實(shí)施例一的結(jié)構(gòu)示意圖;圖6為本發(fā)明管理服務(wù)器實(shí)施例二的結(jié)構(gòu)示意圖;圖7為本發(fā)明負(fù)載均衡系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。在分層的分布式存儲(chǔ)系統(tǒng)中,由存儲(chǔ)服務(wù)器節(jié)點(diǎn)構(gòu)成分布式哈希表(Distributed Hash Table ;以下簡稱DHT)網(wǎng)絡(luò),對(duì)文件進(jìn)行分片存儲(chǔ)。客戶節(jié)點(diǎn)通過已知接入的存儲(chǔ)服務(wù)器節(jié)點(diǎn),在網(wǎng)絡(luò)中進(jìn)行發(fā)布、查詢、更新和刪除文件等操作。每個(gè)文件由特定的節(jié)點(diǎn)管理 其元數(shù)據(jù),包括文件版本號(hào)、文件大小、分塊信息、每個(gè)塊副本所在的服務(wù)器列表以及下載 和擁有此文件的用戶列表,該特定的節(jié)點(diǎn)為文件的根節(jié)點(diǎn)或根服務(wù)器。在DHT網(wǎng)絡(luò)中,文件的根節(jié)點(diǎn)為根據(jù)文件名進(jìn)行哈希運(yùn)算得到的標(biāo)識(shí)(ID)對(duì)應(yīng)的 責(zé)任節(jié)點(diǎn)。每個(gè)文件對(duì)應(yīng)的根節(jié)點(diǎn)不同,可以分散負(fù)載壓力。根據(jù)存儲(chǔ)服務(wù)器節(jié)點(diǎn)和客戶 節(jié)點(diǎn)所在地理位置和運(yùn)營商的不同,DHT網(wǎng)絡(luò)可以劃分為不同的域,對(duì)存儲(chǔ)服務(wù)器節(jié)點(diǎn)進(jìn)行 分域管理。每個(gè)域的所有節(jié)點(diǎn)由域根節(jié)點(diǎn)管理,域根節(jié)點(diǎn)可以為根據(jù)域的域名哈希運(yùn)算得 到的ID對(duì)應(yīng)的責(zé)任節(jié)點(diǎn)。文件的根節(jié)點(diǎn)對(duì)該文件進(jìn)行管理,保存文件的元數(shù)據(jù)信息,例如文件的大小、存 儲(chǔ)位置、文件ID等;域根節(jié)點(diǎn)對(duì)該域內(nèi)的節(jié)點(diǎn)進(jìn)行管理,保存域內(nèi)節(jié)點(diǎn)信息。和文件分塊一 樣,為了提高可靠性,也需要對(duì)文件的根節(jié)點(diǎn)所保存的元數(shù)據(jù)信息備份,以副本的方式避免 因責(zé)任節(jié)點(diǎn)的不可訪問對(duì)系統(tǒng)造成的災(zāi)難性的影響。 圖2為本發(fā)明實(shí)施例系統(tǒng)整體框架的示意圖,如圖2所示存儲(chǔ)服務(wù)器節(jié)點(diǎn)4構(gòu)成DHT網(wǎng)絡(luò),在系統(tǒng)中兼顧存儲(chǔ)節(jié)點(diǎn)、控制節(jié)點(diǎn)和管理節(jié)點(diǎn)等 多重角色。這些存儲(chǔ)服務(wù)器節(jié)點(diǎn)4放置在不同的域中,每個(gè)存儲(chǔ)服務(wù)器節(jié)點(diǎn)4都可能承擔(dān) 某些文件的根節(jié)點(diǎn)工作,管理該文件的元數(shù)據(jù)信息,以及記錄該文件在網(wǎng)絡(luò)中存儲(chǔ)服務(wù)器 節(jié)點(diǎn)和對(duì)等(Peer)節(jié)點(diǎn)的分布情況;每一個(gè)域中所有存儲(chǔ)服務(wù)器節(jié)點(diǎn)4由域根節(jié)點(diǎn)管理, 域根節(jié)點(diǎn)由某一存儲(chǔ)服務(wù)器節(jié)點(diǎn)4擔(dān)當(dāng);存儲(chǔ)服務(wù)器節(jié)點(diǎn)4還具有基本的存儲(chǔ)功能,對(duì)文件 分塊或不分塊進(jìn)行存儲(chǔ)??蛻艄?jié)點(diǎn)5處于不同的域中,當(dāng)需要對(duì)某個(gè)文件進(jìn)行下載時(shí),先訪問該文件的根 服務(wù)器,獲取該文件各塊在存儲(chǔ)服務(wù)器節(jié)點(diǎn)4的分布情況,以及該文件在網(wǎng)絡(luò)中其它對(duì)等 節(jié)點(diǎn)的分布情況,之后優(yōu)先向鄰居對(duì)等節(jié)點(diǎn)進(jìn)行訪問,當(dāng)下載需求得不到滿足時(shí),再向存儲(chǔ) 服務(wù)器節(jié)點(diǎn)4發(fā)起連接,同一個(gè)域中的存儲(chǔ)服務(wù)器節(jié)點(diǎn)4優(yōu)先進(jìn)行訪問。此外,系統(tǒng)中還可以包括一個(gè)登錄(Port)服務(wù)器,用于對(duì)用戶登錄進(jìn)行驗(yàn)證。首 次登錄,用戶從該登錄服務(wù)器6獲取接入存儲(chǔ)服務(wù)器節(jié)點(diǎn)4的信息,后續(xù)用戶登錄可直接從 已知存儲(chǔ)服務(wù)器節(jié)點(diǎn)4進(jìn)行登錄,但是遇到存儲(chǔ)服務(wù)器節(jié)點(diǎn)4失效掉線等情況時(shí),用戶從登 錄服務(wù)器6獲取一個(gè)當(dāng)前有效的存儲(chǔ)服務(wù)器節(jié)點(diǎn)4作為接入。本發(fā)明以下實(shí)施例中存儲(chǔ)服務(wù)器節(jié)點(diǎn)為存儲(chǔ)服務(wù)器,文件的根節(jié)點(diǎn)為根服務(wù)器, 域根節(jié)點(diǎn)為管理服務(wù)器。其中DHT網(wǎng)絡(luò)中文件的域根節(jié)點(diǎn)和根節(jié)點(diǎn)有可能為同一節(jié)點(diǎn),該 域根節(jié)點(diǎn)或根節(jié)點(diǎn)同時(shí)也可能作為文件的存儲(chǔ)服務(wù)器節(jié)點(diǎn)。本發(fā)明的主要思想是根據(jù)文件劃分的不同的類型,在新存儲(chǔ)服務(wù)器接入時(shí),獲取 當(dāng)前域內(nèi)不同類型的文件的均衡值、遷移量等參數(shù),按照一定的遷移順序進(jìn)行遷移,從而優(yōu) 化數(shù)據(jù)分布、減少重復(fù)遷移、節(jié)約系統(tǒng)資源。由于數(shù)據(jù)的分布對(duì)分布式存儲(chǔ)系統(tǒng)的性能有很大的影響,要優(yōu)化數(shù)據(jù)的分布就必 須對(duì)各種文件的類型進(jìn)行劃分。本發(fā)明實(shí)施例中根據(jù)系統(tǒng)中文件的新舊、冷熱進(jìn)行劃分, 例如根據(jù)上傳時(shí)間,可將存儲(chǔ)系統(tǒng)中的文件分為新文件和舊文件。其中,新文件是指距 當(dāng)前一定時(shí)間內(nèi)被發(fā)布到系統(tǒng)的文件數(shù)據(jù)。由于新文件在后續(xù)時(shí)間內(nèi),相比起舊文件,被訪 問的概率較大,很可能成為熱點(diǎn)文件,所以有必要對(duì)這些新文件的分布進(jìn)行優(yōu)化。新文件在 被大量訪問后,轉(zhuǎn)變?yōu)闊狳c(diǎn)文件,隨著訪問周期的變化慢慢變?yōu)榛钴S文件或不活躍文件;新文件可能不被大量訪問,沒有成為熱點(diǎn)文件,隨著時(shí)間的推移,其變成活躍文件或不活躍文 件。除新文件外,上傳時(shí)間較長,訪問特性在當(dāng)前已經(jīng)顯現(xiàn)的文件數(shù)據(jù)稱為舊文件。根 據(jù)舊文件被用戶訪問的特點(diǎn),還可以將舊文件分為熱點(diǎn)文件,活躍文件和不活躍文件。其中 熱點(diǎn)文件是指當(dāng)前正在被用戶大量訪問的舊文件,熱點(diǎn)文件是分布式存儲(chǔ)系統(tǒng)負(fù)載壓力 的主要原因?;钴S文件是指在距當(dāng)前一定時(shí)間內(nèi)被用戶訪問過、根據(jù)文件數(shù)據(jù)訪問的周期 很可能在不久的時(shí)間內(nèi)再次被訪問的舊文件。不活躍文件是指當(dāng)前系統(tǒng)中很長時(shí)間內(nèi)不 被訪問的舊文件,不活躍文件可能已經(jīng)過了數(shù)據(jù)訪問的周期,在將來再被訪問的概率很小, 在一定程度上對(duì)系統(tǒng)資源的需求只是磁盤空間。圖3為本發(fā)明負(fù)載均衡方法實(shí)施例一的流程圖,如圖3所示,該負(fù)載均衡方法包括 以下步驟步驟101、獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù)器包括 原存儲(chǔ)服務(wù)器和新存儲(chǔ)服務(wù)器。網(wǎng)絡(luò)中各存儲(chǔ)服務(wù)器可能是異構(gòu)的,服務(wù)能力存在差異,不能使負(fù)載絕對(duì)平均地 分?jǐn)偟竭@些存儲(chǔ)服務(wù)器上。采用存儲(chǔ)服務(wù)器的硬件配置參數(shù)進(jìn)行加權(quán)的方法可以獲得系統(tǒng) 內(nèi)各個(gè)存儲(chǔ)服務(wù)器的服務(wù)能力。其中系統(tǒng)可以為網(wǎng)絡(luò)內(nèi)的一個(gè)域,也可以為整個(gè)網(wǎng)絡(luò)。一個(gè) 存儲(chǔ)服務(wù)器的服務(wù)能力和其硬件配置的參數(shù)存在關(guān)聯(lián)關(guān)系,一般來說硬件配置參數(shù)越好, 服務(wù)能力越強(qiáng)。對(duì)于一個(gè)存儲(chǔ)服務(wù)器,CPU的計(jì)算能力,內(nèi)存大小,磁盤的平均讀寫速度,網(wǎng) 卡的上行帶寬對(duì)其服務(wù)能力具有主要的決定作用??梢圆捎靡韵鹿?1)計(jì)算存儲(chǔ)服務(wù)器 的服務(wù)能力CAB = a X CPU+b X MEMORY+c X DI SK_SPEED+d X NET_SPEED(1)在公式⑴中,CAB為存儲(chǔ)服務(wù)器的服務(wù)能力,CPU為CPU的計(jì)算能力,可以是 CPU的時(shí)鐘頻率;MEMORY為內(nèi)存大??;DISK_SPEED為磁盤平均讀寫速度;網(wǎng)卡速度為NET_ SPEED。a,b,c,d為各個(gè)指標(biāo)的權(quán)重因子,且0彡a,b,c,d彡1 ;a+b+c+d = 1。管理服務(wù)器可以獲取系統(tǒng)內(nèi)各個(gè)存儲(chǔ)服務(wù)器的服務(wù)能力,包括系統(tǒng)內(nèi)原來存在的 原存儲(chǔ)服務(wù)器和新加入該系統(tǒng)內(nèi)的新存儲(chǔ)服務(wù)器。管理服務(wù)器還可以獲取系統(tǒng)內(nèi)每個(gè)存儲(chǔ) 服務(wù)器的負(fù)載信息,其中負(fù)載信息包括文件的類型、數(shù)量、訪問次數(shù)和占用的磁盤空間等, 文件的類型包括熱點(diǎn)文件、活躍文件、新文件和不活躍文件等。步驟102、根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型 的文件對(duì)應(yīng)的均衡值,并根據(jù)所述均衡值獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù) 器遷移的不同類型的文件的數(shù)量。首先,管理服務(wù)器根據(jù)系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,可以獲取 系統(tǒng)內(nèi)不同類型的文件對(duì)應(yīng)的均衡值,當(dāng)文件的類型包括熱點(diǎn)文件、活躍文件、新文件和不 活躍文件時(shí),具體地可以分為以下情況情況一、根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力、負(fù)載的所有熱點(diǎn)文件的數(shù) 量和所述熱點(diǎn)文件的訪問次數(shù),獲取所述熱點(diǎn)文件對(duì)應(yīng)的均衡值。 管理服務(wù)器根據(jù)系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力、負(fù)載的所有熱點(diǎn)文件的數(shù)量 和熱點(diǎn)文件的訪問次數(shù),可以采用以下公式(2)計(jì)算理想狀況下的熱點(diǎn)文件的均衡值
權(quán)利要求
1.一種負(fù)載均衡方法,其特征在于,包括獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù)器包括原存儲(chǔ)服務(wù)器 和新存儲(chǔ)服務(wù)器;根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì)應(yīng)的 均衡值,并根據(jù)所述均衡值獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同 類型的文件的數(shù)量;根據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,所述原存儲(chǔ)服務(wù)器將需要向所述新 存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。
2.根據(jù)權(quán)利要求1所述的負(fù)載均衡方法,其特征在于,所述負(fù)載信息包括文件的類型、 數(shù)量、訪問次數(shù)和占用的磁盤空間,所述文件的類型包括熱點(diǎn)文件、活躍文件、新文件和不 活躍文件;所述根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì) 應(yīng)的均衡值,包括根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力、負(fù)載的所有熱點(diǎn)文件的數(shù)量和所述熱點(diǎn) 文件的訪問次數(shù),獲取所述熱點(diǎn)文件對(duì)應(yīng)的均衡值;根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載的所有活躍文件的數(shù)量,獲取所述 活躍文件對(duì)應(yīng)的均衡值;根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載的所有新文件的數(shù)量,獲取所述新 文件對(duì)應(yīng)的均衡值;根據(jù)所述系統(tǒng)的總磁盤空間和所述不活躍文件占用的磁盤空間,獲取所述不活躍文件 對(duì)應(yīng)的均衡值。
3.根據(jù)權(quán)利要求2所述的負(fù)載均衡方法,其特征在于,所述根據(jù)所述均衡值獲取所述 原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù)量,包括根據(jù)所述熱點(diǎn)文件的均衡值、所述原存儲(chǔ)服務(wù)器中熱點(diǎn)文件的數(shù)量、訪問次數(shù)和所述 原存儲(chǔ)服務(wù)器的服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器遷移的熱點(diǎn)文 件的數(shù)量;根據(jù)所述活躍文件均衡值、所述原存儲(chǔ)服務(wù)器中活躍文件的數(shù)量和所述原存儲(chǔ)服務(wù)器 的服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器遷移的活躍文件的數(shù)量;根據(jù)所述新文件的均衡值、所述原存儲(chǔ)服務(wù)器中新文件的數(shù)量和所述原存儲(chǔ)服務(wù)器的 服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器遷移的新文件的數(shù)量;根據(jù)所述不活躍文件的均衡值、所述不活躍文件在所述原存儲(chǔ)服務(wù)器占用的磁盤空間 和所述原存儲(chǔ)服務(wù)器的總磁盤空間,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器遷移 的不活躍文件的數(shù)量。
4.根據(jù)權(quán)利要求1-3任一所述的負(fù)載均衡方法,其特征在于,還包括若所述系統(tǒng)的磁盤空間小于設(shè)定的磁盤空間閾值,則將向所述新存儲(chǔ)服務(wù)器遷移文件 的遷移順序設(shè)定為先遷移不活躍文件,然后遷移熱點(diǎn)文件、新文件或活躍文件;或若所述系統(tǒng)的服務(wù)能力小于設(shè)定的服務(wù)能力閾值,則將向所述新存儲(chǔ)服務(wù)器遷移文件 的遷移順序設(shè)定為先遷移熱點(diǎn)文件,然后遷移新文件、活躍文件或不活躍文件。
5.根據(jù)權(quán)利要求1-3任一所述的負(fù)載均衡方法,其特征在于,還包括所述原存儲(chǔ)服務(wù)器向所述新存儲(chǔ)服務(wù)器遷移文件完畢之后,所述原存儲(chǔ)服務(wù)器和所述 新存儲(chǔ)服務(wù)器將文件的變化狀態(tài)信息發(fā)送給相應(yīng)的文件根服務(wù)器,所述文件根服務(wù)器根據(jù) 所述變化狀態(tài)信息更新保存的文件的元數(shù)據(jù)信息中的文件副本信息。
6.一種管理服務(wù)器,其特征在于,包括獲取模塊,用于獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù)器包 括原存儲(chǔ)服務(wù)器和新存儲(chǔ)服務(wù)器;均衡模塊,用于根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類 型的文件對(duì)應(yīng)的均衡值;遷移模塊,用于根據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,指示所述原存儲(chǔ)服 務(wù)器在獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù)量 后、按照所述遷移順序、將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù) 量向所述新存儲(chǔ)服務(wù)器遷移。
7.根據(jù)權(quán)利要求6所述的管理服務(wù)器,其特征在于,所述負(fù)載信息包括文件的類型、數(shù) 量、訪問次數(shù)和占用的磁盤空間,所述文件的類型包括熱點(diǎn)文件、活躍文件、新文件和不活 躍文件,所述均衡模塊包括熱點(diǎn)文件均衡子模塊,用于根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力、負(fù)載的所有 熱點(diǎn)文件的數(shù)量和所述熱點(diǎn)文件的訪問次數(shù),獲取所述熱點(diǎn)文件對(duì)應(yīng)的均衡值;活躍文件均衡子模塊,用于根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載的所有 活躍文件的數(shù)量,獲取所述活躍文件對(duì)應(yīng)的均衡值;新文件均衡子模塊,用于根據(jù)所述系統(tǒng)內(nèi)所有存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載的所有新 文件的數(shù)量,獲取所述新文件對(duì)應(yīng)的均衡值;不活躍文件均衡子模塊,用于根據(jù)所述系統(tǒng)的總磁盤空間和所述不活躍文件占用的磁 盤空間,獲取所述不活躍文件對(duì)應(yīng)的均衡值。
8.根據(jù)權(quán)利要求7所述的管理服務(wù)器,其特征在于,還包括遷移量模塊,用于根據(jù)所 述均衡值獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù) 量。
9.根據(jù)權(quán)利要求8所述的管理服務(wù)器,其特征在于,所述遷移量模塊包括熱點(diǎn)文件遷移量子模塊,用于根據(jù)所述熱點(diǎn)文件的均衡值、所述原存儲(chǔ)服務(wù)器中熱點(diǎn) 文件的數(shù)量、訪問次數(shù)和所述原存儲(chǔ)服務(wù)器的服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所 述新存儲(chǔ)服務(wù)器遷移的熱點(diǎn)文件的數(shù)量;活躍文件遷移量子模塊,用于根據(jù)所述活躍文件均衡值、所述原存儲(chǔ)服務(wù)器中活躍文 件的數(shù)量和所述原存儲(chǔ)服務(wù)器的服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù) 器遷移的活躍文件的數(shù)量;新文件遷移量子模塊,用于根據(jù)所述新文件的均衡值、所述原存儲(chǔ)服務(wù)器中新文件的 數(shù)量和所述原存儲(chǔ)服務(wù)器的服務(wù)能力,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器遷 移的新文件的數(shù)量;不活躍文件遷移量子模塊,用于根據(jù)所述不活躍文件在所述原存儲(chǔ)服務(wù)器占用的磁盤 空間和所述原存儲(chǔ)服務(wù)器的總磁盤空間,獲取所述原存儲(chǔ)服務(wù)器需要向所述新存儲(chǔ)服務(wù)器 遷移的不活躍文件的數(shù)量。
10.根據(jù)權(quán)利要求6-9任一所述的管理服務(wù)器,其特征在于,還包括第一遷移順序模塊,用于若所述系統(tǒng)的磁盤空間小于設(shè)定的磁盤空間閾值,則將向所 述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序設(shè)定為先遷移不活躍文件,然后遷移熱點(diǎn)文件、新 文件或活躍文件;第二遷移順序模塊,用于若所述系統(tǒng)的服務(wù)能力小于設(shè)定的服務(wù)能力閾值,則將向所 述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序設(shè)定為先遷移熱點(diǎn)文件,然后遷移新文件、活躍文 件或不活躍文件。
11.一種負(fù)載均衡系統(tǒng),其特征在于,包括管理服務(wù)器,用于獲取系統(tǒng)內(nèi)各所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息;根據(jù)所述存 儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì)應(yīng)的均衡值;根據(jù)向 所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,指示所述原存儲(chǔ)服務(wù)器在獲取所述原存儲(chǔ)服務(wù) 器中需要向新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù)量后、按照所述遷移順序、將需要向 所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移;存儲(chǔ)服務(wù)器,用于存儲(chǔ)不同類型的文件,所述存儲(chǔ)服務(wù)器包括所述原存儲(chǔ)服務(wù)器和所 述新存儲(chǔ)服務(wù)器,所述原存儲(chǔ)服務(wù)器根據(jù)所述均衡值獲取需要向新存儲(chǔ)服務(wù)器遷移的不同 類型的文件的數(shù)量,按照所述遷移順序、將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文 件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。
12.根據(jù)權(quán)利要求11所述的負(fù)載均衡系統(tǒng),其特征在于,還包括文件根服務(wù)器,用于保存所述文件的元數(shù)據(jù)信息,所述元數(shù)據(jù)信息包括文件副本信息, 接收所述原存儲(chǔ)服務(wù)器和所述新存儲(chǔ)服務(wù)器發(fā)送所存儲(chǔ)的該文件的變化狀態(tài)信息,根據(jù)所 述變化狀態(tài)信息更新所述文件副本信息。
全文摘要
本發(fā)明實(shí)施例涉及一種負(fù)載均衡方法及系統(tǒng)和管理服務(wù)器,該方法包括獲取系統(tǒng)內(nèi)各存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,所述存儲(chǔ)服務(wù)器包括原存儲(chǔ)服務(wù)器和新存儲(chǔ)服務(wù)器;根據(jù)所述存儲(chǔ)服務(wù)器的服務(wù)能力和負(fù)載信息,獲取所述系統(tǒng)內(nèi)不同類型的文件對(duì)應(yīng)的均衡值,并根據(jù)所述均衡值獲取所述原存儲(chǔ)服務(wù)器中需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件的數(shù)量;根據(jù)向所述新存儲(chǔ)服務(wù)器遷移的文件的遷移順序,所述原存儲(chǔ)服務(wù)器將需要向所述新存儲(chǔ)服務(wù)器遷移的不同類型的文件按照對(duì)應(yīng)的數(shù)量向所述新存儲(chǔ)服務(wù)器遷移。本發(fā)明實(shí)施例能夠快速實(shí)現(xiàn)均衡,減少數(shù)據(jù)的遷入遷出,從而減少系統(tǒng)的抖動(dòng),提高系統(tǒng)的服務(wù)質(zhì)量。
文檔編號(hào)H04L12/56GK102055650SQ20091020881
公開日2011年5月11日 申請(qǐng)日期2009年10月29日 優(yōu)先權(quán)日2009年10月29日
發(fā)明者任立勇, 侯孟書, 戴芬, 段翰聰, 王鐵英 申請(qǐng)人:華為技術(shù)有限公司