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

一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法

文檔序號(hào):7800230閱讀:203來(lái)源:國(guó)知局
專利名稱:一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種針對(duì)對(duì)象存儲(chǔ)文件系統(tǒng)中元數(shù)據(jù)服務(wù)器集群的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及信息全球化的高速進(jìn)展,傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)方式已經(jīng)不能滿足當(dāng)今的應(yīng)用需求了。通常,在分布式存儲(chǔ)架構(gòu)中,將文件的數(shù)據(jù)和元數(shù)據(jù)分開(kāi)管理,提供專門(mén)的元數(shù)據(jù)服務(wù)器管理元數(shù)據(jù)信息。據(jù)統(tǒng)計(jì),當(dāng)前文件系統(tǒng)中,有50% -80% 的訪問(wèn)是針對(duì)元數(shù)據(jù)的操作。另一方面,雖然與文件的數(shù)據(jù)相比,元數(shù)據(jù)所占用的存儲(chǔ)空間是非常小的,但是對(duì)于海量存儲(chǔ)系統(tǒng),這些元數(shù)據(jù)所要占用的存儲(chǔ)空間也是相當(dāng)可觀的,諸如hcebook此類的網(wǎng)站,需要維護(hù)的目錄規(guī)模已經(jīng)達(dá)到數(shù)十億文件。單一的元數(shù)據(jù)服務(wù)器已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足用戶的需求了,因此非常有必要將元數(shù)據(jù)交給元數(shù)據(jù)服務(wù)器集群共同管理。系統(tǒng)運(yùn)行過(guò)程中,不同的元數(shù)據(jù)在不同的時(shí)段訪問(wèn)熱度有著明顯的差異,在某個(gè)時(shí)段, 可能有大量的請(qǐng)求需要訪問(wèn)同一個(gè)元數(shù)據(jù)服務(wù)器,甚至超出其服務(wù)能力,該元數(shù)據(jù)服務(wù)器就成為了系統(tǒng)性能的瓶頸,而此時(shí)其他的元數(shù)據(jù)服務(wù)器可能正處于空閑或者低負(fù)載運(yùn)行狀態(tài)。因此,需要提出一種方法,有效解決元數(shù)據(jù)服務(wù)器的熱點(diǎn)問(wèn)題,避免由于單個(gè)元數(shù)據(jù)服務(wù)器成為訪問(wèn)瓶頸而影響系統(tǒng)應(yīng)用的性能。傳統(tǒng)的熱點(diǎn)解決方法是通過(guò)檢測(cè)元數(shù)據(jù)服務(wù)器的機(jī)器狀態(tài),如通過(guò)對(duì)內(nèi)存使用情況,CPU使用情況,網(wǎng)絡(luò)占用情況等機(jī)器狀態(tài)信息求加權(quán)值判斷元數(shù)據(jù)服務(wù)器是否是集群中的熱點(diǎn),如果發(fā)現(xiàn)有元數(shù)據(jù)服務(wù)器過(guò)熱,則將該元數(shù)據(jù)服務(wù)器上的熱點(diǎn)元數(shù)據(jù)拷貝到其他元數(shù)據(jù)服務(wù)器節(jié)點(diǎn)上,讓多個(gè)元數(shù)據(jù)服務(wù)器節(jié)點(diǎn)并發(fā)提供元數(shù)據(jù)服務(wù)。由于負(fù)載的定義是相當(dāng)廣泛的,僅僅通過(guò)對(duì)元數(shù)據(jù)服務(wù)器的設(shè)備狀態(tài)求加權(quán)值判斷節(jié)點(diǎn)是否過(guò)熱通常是不合適的。針對(duì)該問(wèn)題,也提出了一種改進(jìn)措施,即通過(guò)文件元數(shù)據(jù)請(qǐng)求的響應(yīng)時(shí)間來(lái)衡量服務(wù)器的負(fù)載狀況,如王娟等提出的“一種元數(shù)據(jù)服務(wù)器的負(fù)載均衡算法”(小型微型計(jì)算機(jī)系統(tǒng),2009年第30卷第4期),通過(guò)比較各個(gè)元數(shù)據(jù)服務(wù)器的請(qǐng)求響應(yīng)時(shí)間與整個(gè)集群的響應(yīng)時(shí)間來(lái)判斷是否有元數(shù)據(jù)服務(wù)器負(fù)載過(guò)重,如果有,則將負(fù)載過(guò)重的元數(shù)據(jù)服務(wù)器上的部分元數(shù)據(jù)遷移到負(fù)載較輕的元數(shù)據(jù)服務(wù)器上。改進(jìn)的熱點(diǎn)監(jiān)測(cè)算法需要統(tǒng)計(jì)各個(gè)元數(shù)據(jù)服務(wù)器的請(qǐng)求響應(yīng)時(shí)間,這在實(shí)際系統(tǒng)中是難以操作的,并且算法的開(kāi)銷較大。實(shí)際上對(duì)熱點(diǎn)監(jiān)測(cè)并不需要精確計(jì)算出各個(gè)元數(shù)據(jù)服務(wù)器的請(qǐng)求響應(yīng)時(shí)間,只要能夠及時(shí)感知節(jié)點(diǎn)的負(fù)載狀況,盡快發(fā)現(xiàn)集群中過(guò)熱的節(jié)點(diǎn)即可。

發(fā)明內(nèi)容
本發(fā)明提供了一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,目的是針對(duì)元數(shù)據(jù)服務(wù)器集群中有大量訪問(wèn)集中到某個(gè)元數(shù)據(jù)服務(wù)器上時(shí),系統(tǒng)服務(wù)質(zhì)量嚴(yán)重下降的問(wèn)題,提出了一種有效的解決方法,同時(shí)該方法對(duì)元數(shù)據(jù)服務(wù)器集群的可靠性也有一定的提高。
本發(fā)明的一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,包括如下步驟(1)元數(shù)據(jù)服務(wù)器集群分組步驟該步驟的主要工作是將一個(gè)元數(shù)據(jù)服務(wù)器集群劃分為若干個(gè)組,每個(gè)組中包含若干個(gè)主元數(shù)據(jù)服務(wù)器和若各干備份元數(shù)據(jù)服務(wù)器。主元數(shù)據(jù)服務(wù)器處理客戶端發(fā)送的所有請(qǐng)求,同時(shí)將元數(shù)據(jù)服務(wù)器上的所有數(shù)據(jù)和狀態(tài)信息同步到備份元數(shù)據(jù)服務(wù)器上;備份元數(shù)據(jù)服務(wù)器有該組內(nèi)所有主元數(shù)據(jù)服務(wù)器的副本信息,當(dāng)主元數(shù)據(jù)服務(wù)器失效后,備份元數(shù)據(jù)服務(wù)器能夠升級(jí)為主元數(shù)據(jù)服務(wù)器,接替失效的主元數(shù)據(jù)服務(wù)器對(duì)外提供元數(shù)據(jù)服務(wù);(2)熱點(diǎn)遷移表構(gòu)建步驟該步驟的主要工作是在客戶端上構(gòu)建一張熱點(diǎn)遷移表。當(dāng)客戶端掛載到主元數(shù)據(jù)服務(wù)器上時(shí),主元數(shù)據(jù)服務(wù)器將自身以及相應(yīng)的備份元數(shù)據(jù)服務(wù)器的信息發(fā)送給客戶端,客戶端在本地構(gòu)建一張熱點(diǎn)遷移表。熱點(diǎn)遷移表上記錄了主元數(shù)據(jù)服務(wù)器和相應(yīng)的備份元數(shù)據(jù)服務(wù)器的信息,每個(gè)元數(shù)據(jù)服務(wù)器的信息中有一個(gè)熱點(diǎn)遷移參數(shù),該參數(shù)標(biāo)識(shí)客戶端將讀請(qǐng)求發(fā)給相應(yīng)元數(shù)據(jù)服務(wù)器的概率;構(gòu)建熱點(diǎn)遷移表時(shí),將主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)初始化為1,將備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)初始化為0,表明所有的讀請(qǐng)求都發(fā)送給主元數(shù)據(jù)服務(wù)器,備份元數(shù)據(jù)服務(wù)器不對(duì)外提供服務(wù);(3)元數(shù)據(jù)服務(wù)器熱點(diǎn)監(jiān)測(cè)步驟該步驟的主要工作是監(jiān)測(cè)每臺(tái)元數(shù)據(jù)服務(wù)器上的負(fù)載狀況,判斷是否有元數(shù)據(jù)服務(wù)器成為訪問(wèn)的熱點(diǎn)。每臺(tái)元數(shù)據(jù)服務(wù)器上運(yùn)行著一個(gè)請(qǐng)求處理進(jìn)程,用來(lái)處理客戶端發(fā)送的請(qǐng)求;請(qǐng)求處理進(jìn)程根據(jù)記錄的請(qǐng)求歷史信息判斷收到的請(qǐng)求是否是重傳的請(qǐng)求,如果發(fā)現(xiàn)請(qǐng)求是重傳的,則會(huì)將重傳標(biāo)識(shí)置位;此外,元數(shù)據(jù)服務(wù)器上還會(huì)運(yùn)行一個(gè)熱點(diǎn)監(jiān)測(cè)進(jìn)程,該進(jìn)程會(huì)定期檢查重傳標(biāo)識(shí)是否被置位,如果熱點(diǎn)監(jiān)測(cè)進(jìn)程發(fā)現(xiàn)重傳標(biāo)識(shí)被置位了,則認(rèn)為當(dāng)前元數(shù)據(jù)服務(wù)器可能負(fù)載過(guò)重,熱點(diǎn)監(jiān)測(cè)進(jìn)程將重傳標(biāo)識(shí)清零并等待一小段時(shí)間,然后再次檢查該時(shí)間段內(nèi)此元數(shù)據(jù)服務(wù)器上是否有請(qǐng)求重傳,如果發(fā)現(xiàn)在這段時(shí)間內(nèi),仍然有請(qǐng)求重傳,則確定當(dāng)前元數(shù)據(jù)服務(wù)器負(fù)載過(guò)重,服務(wù)器進(jìn)入熱點(diǎn)遷移步驟,并將重傳標(biāo)識(shí)清零;如果監(jiān)測(cè)進(jìn)程發(fā)現(xiàn)重傳標(biāo)識(shí)未被置位,則認(rèn)為之前的請(qǐng)求重傳是由于短暫的網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致的,無(wú)需特別處理;(4)元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟該步驟的主要工作是元數(shù)據(jù)服務(wù)器通知客戶端調(diào)節(jié)熱點(diǎn)遷移表,從而使得客戶端將請(qǐng)求負(fù)載重新分配,實(shí)現(xiàn)熱點(diǎn)遷移。該步驟又分為兩類,一類是主元數(shù)據(jù)服務(wù)器上的熱點(diǎn)遷移步驟,另一類是備份元數(shù)據(jù)服務(wù)器上的熱點(diǎn)遷移步驟在主元數(shù)據(jù)服務(wù)器上的熱點(diǎn)遷移步驟中,主元數(shù)據(jù)服務(wù)器將自身負(fù)載過(guò)重的消息通知給客戶端,客戶端修改熱點(diǎn)遷移表,將相應(yīng)的主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為 0,同時(shí)根據(jù)各個(gè)備份元數(shù)據(jù)服務(wù)器的性能參數(shù)重新設(shè)置他們的熱點(diǎn)遷移參數(shù);客戶端根據(jù)熱點(diǎn)遷移表上各元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值重新分配讀請(qǐng)求,從而實(shí)現(xiàn)熱點(diǎn)遷移。在備份元數(shù)據(jù)服務(wù)器上的熱點(diǎn)遷移步驟中,備份元數(shù)據(jù)服務(wù)器將自身負(fù)載過(guò)重的信息通知給客戶端,客戶端修改熱點(diǎn)遷移表,將相應(yīng)的備份服務(wù)器的熱點(diǎn)遷移參數(shù)值減小, 同時(shí)增加相應(yīng)的主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù),從而將負(fù)載過(guò)重的備份元數(shù)據(jù)服務(wù)器上的部分讀請(qǐng)求遷移回主元數(shù)據(jù)服務(wù)器;如果在熱點(diǎn)遷移表中,某臺(tái)備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值小于最小閾值,則將該備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值清0,客戶端將該備份元數(shù)據(jù)服務(wù)器上的請(qǐng)求全部遷移回主元數(shù)據(jù)服務(wù)器上。本發(fā)明所述的元數(shù)據(jù)服務(wù)器集群分組步驟中,主元數(shù)據(jù)服務(wù)器對(duì)外提供元數(shù)據(jù)查詢、創(chuàng)建、刪除、更新等服務(wù),而備份元數(shù)據(jù)服務(wù)器并不對(duì)外提供服務(wù)。本發(fā)明所述的元數(shù)據(jù)服務(wù)器集群分組步驟中,主元數(shù)據(jù)服務(wù)器需要定時(shí)將自身的更新操作同步到備份元數(shù)據(jù)服務(wù)器上,保證主元數(shù)據(jù)服務(wù)器和備份元數(shù)據(jù)服務(wù)器上的數(shù)據(jù)和狀態(tài)的一致,而備份元數(shù)據(jù)服務(wù)器上有小組內(nèi)所有其他主元數(shù)據(jù)服務(wù)器的副本信息;本發(fā)明所述的熱點(diǎn)遷移表構(gòu)建步驟中,客戶端從主元數(shù)據(jù)服務(wù)器上獲取主元數(shù)據(jù)服務(wù)器和相應(yīng)的備份元數(shù)據(jù)服務(wù)器的信息,并將這些信息保存在本地的熱點(diǎn)遷移表中,將主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為1,其他備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為 0 ;本發(fā)明在所有的元數(shù)據(jù)服務(wù)器上運(yùn)行著一個(gè)請(qǐng)求處理進(jìn)程,該進(jìn)程將元數(shù)據(jù)服務(wù)器最近收到的請(qǐng)求記錄到本元數(shù)據(jù)服務(wù)器上,當(dāng)元數(shù)據(jù)服務(wù)器收到新的請(qǐng)求后,需要與元數(shù)據(jù)服務(wù)器處理請(qǐng)求的歷史記錄比較,判斷新收到的請(qǐng)求是否是重傳的請(qǐng)求。本發(fā)明所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)監(jiān)測(cè)步驟中,熱點(diǎn)監(jiān)測(cè)進(jìn)程需要定期輪詢服務(wù)器上的請(qǐng)求重傳標(biāo)識(shí),如果發(fā)現(xiàn)重傳標(biāo)識(shí)置位,則認(rèn)為當(dāng)前元數(shù)據(jù)服務(wù)器上的負(fù)載過(guò)重,可能需要實(shí)施熱點(diǎn)遷移。本發(fā)明所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)監(jiān)測(cè)步驟中,熱點(diǎn)監(jiān)測(cè)進(jìn)程發(fā)現(xiàn)當(dāng)前元數(shù)據(jù)服務(wù)器上有請(qǐng)求重傳后,需要將重傳標(biāo)識(shí)清零,并且等待一段時(shí)間后,再次檢查當(dāng)前元數(shù)據(jù)服務(wù)器上是否仍然有請(qǐng)求重傳,如果仍然有請(qǐng)求重傳,才認(rèn)為當(dāng)前元數(shù)據(jù)服務(wù)器負(fù)載過(guò)重,需要實(shí)施熱點(diǎn)遷移,否則并不啟動(dòng)元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移步驟。本發(fā)明所述的主元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟中,主元數(shù)據(jù)服務(wù)器將自身負(fù)載過(guò)重的信息通知給客戶端,客戶端收到通知后調(diào)節(jié)熱點(diǎn)遷移表中相關(guān)元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù),將負(fù)載過(guò)重的主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為0,根據(jù)相應(yīng)的備份元數(shù)據(jù)服務(wù)器的處理能力重新分配熱點(diǎn)遷移參數(shù),客戶端根據(jù)各個(gè)元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù),決定將讀請(qǐng)求發(fā)送給哪臺(tái)元數(shù)據(jù)服務(wù)器,熱點(diǎn)遷移參數(shù)越大的元數(shù)據(jù)服務(wù)器,收到客戶端讀請(qǐng)求的概率越大。本發(fā)明所述的備份元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟中,備份元數(shù)據(jù)服務(wù)器通知客戶端自身的負(fù)載過(guò)重,客戶端將該備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)減小,同時(shí)增大主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù),表明將負(fù)載過(guò)重的備份元數(shù)據(jù)服務(wù)器上的部分讀請(qǐng)求遷移到主元數(shù)據(jù)服務(wù)器上。本發(fā)明所述的備份元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟中,如果客戶端檢測(cè)到某臺(tái)備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)小于設(shè)定的最小閾值,則將相應(yīng)的備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為0,并不再向該備份元數(shù)據(jù)服務(wù)器發(fā)送讀請(qǐng)求。通過(guò)使用本本發(fā)明的方法,能夠有效解決元數(shù)據(jù)服務(wù)器集群中出現(xiàn)的熱點(diǎn)問(wèn)題。 當(dāng)元數(shù)據(jù)服務(wù)器集群中某臺(tái)元數(shù)據(jù)服務(wù)器成為訪問(wèn)的熱點(diǎn)時(shí),本方法會(huì)將熱點(diǎn)元數(shù)據(jù)服務(wù)器上的部分讀請(qǐng)求遷移到其他的元數(shù)據(jù)服務(wù)器上,從而實(shí)現(xiàn)元數(shù)據(jù)服務(wù)器集群整體的熱點(diǎn)均衡。該方法能夠有效地避免由于某臺(tái)元數(shù)據(jù)服務(wù)器成為訪問(wèn)的熱點(diǎn),而導(dǎo)致整個(gè)系統(tǒng)響應(yīng)超時(shí)甚至是系統(tǒng)癱瘓的問(wèn)題。
另外,由于本發(fā)明方法的實(shí)現(xiàn)使用了備份機(jī)制,即為一臺(tái)元數(shù)據(jù)服務(wù)器提供了多個(gè)備份元數(shù)據(jù)服務(wù)器,當(dāng)主元數(shù)據(jù)服務(wù)器失效時(shí),備份元數(shù)據(jù)服務(wù)器能夠接替失效元數(shù)據(jù)服務(wù)器的工作,繼續(xù)對(duì)外提供服務(wù),從而在一定程度上提升了系統(tǒng)的可用性。


圖1為元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法整體模塊示意圖;圖2為元數(shù)據(jù)服務(wù)器的狀態(tài)轉(zhuǎn)移圖;圖3為元數(shù)據(jù)服務(wù)器集群的分組示意圖;圖4為客戶端維護(hù)熱點(diǎn)遷移表的流程示意圖;圖5為熱點(diǎn)監(jiān)測(cè)進(jìn)程的流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明提出的一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,可以解決元數(shù)據(jù)服務(wù)器集群中某臺(tái)元數(shù)據(jù)服務(wù)器成為訪問(wèn)的熱點(diǎn)的問(wèn)題。如圖1所示,該方法主要由四大步驟實(shí)現(xiàn),其中元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟又分為主元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟和備份元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移步驟。元數(shù)據(jù)服務(wù)器集群中各個(gè)元數(shù)據(jù)服務(wù)器的狀態(tài)轉(zhuǎn)移過(guò)程如圖2所示。首先搭建元數(shù)據(jù)服務(wù)器集群,并將集群中的元數(shù)據(jù)服務(wù)器分為若干組,如圖3所示,用九臺(tái)元數(shù)據(jù)服務(wù)器構(gòu)成一個(gè)元數(shù)據(jù)服務(wù)器集群,將元數(shù)據(jù)服務(wù)器集群分為兩組其中一組由五臺(tái)服務(wù)器組成,有三臺(tái)主元數(shù)據(jù)服務(wù)器,另外兩臺(tái)作為備份元數(shù)據(jù)服務(wù)器,備份元數(shù)據(jù)服務(wù)器上有組內(nèi)所有主元數(shù)據(jù)服務(wù)器的全部元數(shù)據(jù)信息;另一組由四臺(tái)元數(shù)據(jù)服務(wù)器組成,其中兩臺(tái)作為主元數(shù)據(jù)服務(wù)器,另外兩臺(tái)作為備份元數(shù)據(jù)服務(wù)器,備份元數(shù)據(jù)服務(wù)器有組內(nèi)兩臺(tái)主元數(shù)據(jù)服務(wù)器的所有信息。當(dāng)某臺(tái)元數(shù)據(jù)服務(wù)器成為訪問(wèn)的熱點(diǎn)時(shí),可以將它上面的元數(shù)據(jù)查詢請(qǐng)求遷移到備份元數(shù)據(jù)服務(wù)器上,從而減輕熱點(diǎn)元數(shù)據(jù)服務(wù)器的訪問(wèn)熱度。然后將客戶端掛載到某臺(tái)主元數(shù)據(jù)服務(wù)器上,這時(shí),主元數(shù)據(jù)服務(wù)器會(huì)將自身的信息以及備份元數(shù)據(jù)服務(wù)器的信息一并返回給客戶端;客戶端在本地構(gòu)建一個(gè)熱點(diǎn)遷移表,將主元數(shù)據(jù)服務(wù)器和相應(yīng)的備份元數(shù)據(jù)服務(wù)器都記錄到熱點(diǎn)遷移表中,主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為1,備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為0,表明客戶端將所有的讀寫(xiě)請(qǐng)求全部發(fā)送給主元數(shù)據(jù)服務(wù)器,備份元數(shù)據(jù)服務(wù)器不對(duì)外提供服務(wù);如圖4所示,客戶端通過(guò)維護(hù)本地的熱點(diǎn)遷移表實(shí)現(xiàn)元數(shù)據(jù)服務(wù)器的熱點(diǎn)均衡。主元數(shù)據(jù)服務(wù)器上運(yùn)行了一個(gè)請(qǐng)求處理進(jìn)程和一個(gè)熱點(diǎn)監(jiān)測(cè)進(jìn)程,這兩個(gè)進(jìn)程協(xié)同工作,監(jiān)測(cè)元數(shù)據(jù)服務(wù)器上的負(fù)載狀況。請(qǐng)求處理進(jìn)程負(fù)責(zé)處理客戶端發(fā)送給元數(shù)據(jù)服務(wù)器的讀寫(xiě)請(qǐng)求,并且將最近接收到的請(qǐng)求都記錄在本地,當(dāng)有新的請(qǐng)求到來(lái)時(shí),請(qǐng)求處理進(jìn)程會(huì)查看歷史記錄,判斷新收到的請(qǐng)求是否是重傳的請(qǐng)求,如果是,則將重傳標(biāo)識(shí)置位; 如圖5所示,熱點(diǎn)監(jiān)測(cè)進(jìn)程定期地查詢?cè)獢?shù)據(jù)服務(wù)器上的重傳標(biāo)識(shí)是否置位,如果發(fā)現(xiàn)重傳標(biāo)識(shí)被置位了,則認(rèn)為當(dāng)前元數(shù)據(jù)服務(wù)器可能負(fù)載過(guò)重;元數(shù)據(jù)服務(wù)器上的熱點(diǎn)監(jiān)測(cè)進(jìn)程空閑一段時(shí)間,再將重傳標(biāo)識(shí)清零,熱點(diǎn)監(jiān)測(cè)進(jìn)程繼續(xù)空閑一段時(shí)間,之后再檢查重傳標(biāo)識(shí)是否被重新置位;如果重傳標(biāo)識(shí)被重新置位,則認(rèn)為當(dāng)前元數(shù)據(jù)服務(wù)器的負(fù)載過(guò)重,需要實(shí)施熱點(diǎn)遷移;否則,認(rèn)為是網(wǎng)絡(luò)抖動(dòng)引起的請(qǐng)求重傳,無(wú)需啟動(dòng)熱點(diǎn)遷移。其中,空閑的時(shí)間可以根據(jù)具體應(yīng)用環(huán)境進(jìn)行選擇和調(diào)節(jié),例如可以為10秒至 300秒之間的任一時(shí)間,網(wǎng)絡(luò)環(huán)境較好時(shí),可以選擇較短的空閑時(shí)間,反之選用較長(zhǎng)的空閑時(shí)間,本實(shí)施例中優(yōu)選為30秒。如果主元數(shù)據(jù)服務(wù)器發(fā)現(xiàn)自身成為了訪問(wèn)的熱點(diǎn),則會(huì)主動(dòng)通知客戶端,請(qǐng)求客戶端實(shí)施熱點(diǎn)遷移;客戶端收到主元數(shù)據(jù)服務(wù)器負(fù)載過(guò)重的信息后,會(huì)更改熱點(diǎn)遷移表中的相應(yīng)表項(xiàng)將熱點(diǎn)主元數(shù)據(jù)服務(wù)器的遷移參數(shù)調(diào)整為0,再根據(jù)各個(gè)備份元數(shù)據(jù)服務(wù)器的性能參數(shù),重新設(shè)置相應(yīng)的備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù);從而實(shí)現(xiàn),將負(fù)載過(guò)重的主元數(shù)據(jù)服務(wù)器上的讀負(fù)載全部遷移到備份元數(shù)據(jù)服務(wù)器上。元數(shù)據(jù)服務(wù)器的性能參數(shù)指其負(fù)載能力,也就是其數(shù)據(jù)處理能力,一般元數(shù)據(jù)服務(wù)器的性能參數(shù)值越大,表明其負(fù)載能力越大,數(shù)據(jù)處理能力越強(qiáng)。在重新設(shè)置相應(yīng)的備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)時(shí),各個(gè)備份元數(shù)據(jù)服務(wù)器的性能參數(shù)值越大,其在對(duì)應(yīng)客戶端上設(shè)置的熱點(diǎn)遷移參數(shù)值就相應(yīng)設(shè)置為較大的值。備份元數(shù)據(jù)服務(wù)器上也運(yùn)行了一個(gè)請(qǐng)求處理進(jìn)程和熱點(diǎn)監(jiān)測(cè)進(jìn)程,這兩個(gè)進(jìn)程的處理流程和主元數(shù)據(jù)服務(wù)器上的請(qǐng)求處理進(jìn)程以及熱點(diǎn)監(jiān)測(cè)進(jìn)程基本一樣;只是備份元數(shù)據(jù)服務(wù)器上的請(qǐng)求處理進(jìn)程只處理客戶端發(fā)送的讀請(qǐng)求,并不會(huì)處理寫(xiě)請(qǐng)求。如果備份元數(shù)據(jù)服務(wù)器發(fā)現(xiàn)自身成為訪問(wèn)的熱點(diǎn),則會(huì)將自身負(fù)載過(guò)重的消息通知給客戶端;客戶端收到消息后,修改相應(yīng)的熱點(diǎn)遷移表將負(fù)載過(guò)重的備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)調(diào)小,同時(shí)增大相應(yīng)的主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù);這意味著,客戶端會(huì)將熱點(diǎn)備份元數(shù)據(jù)服務(wù)器上的部分讀請(qǐng)求遷移回主元數(shù)據(jù)服務(wù)器上,從而實(shí)現(xiàn)熱點(diǎn)均衡;當(dāng)某臺(tái)備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值小于最小閾值時(shí),將它的熱點(diǎn)遷移參數(shù)設(shè)置為0,并且客戶端將它上面的所有讀請(qǐng)求全部遷移回主元數(shù)據(jù)服務(wù)器上。最小閾值可以根據(jù)具體應(yīng)用環(huán)境進(jìn)行設(shè)置,例如可以為0. 01-0. 2,本實(shí)施例中優(yōu)選為0. 1。本發(fā)明方法主要是針對(duì)讀請(qǐng)求集中的應(yīng)用環(huán)境,當(dāng)主元數(shù)據(jù)服務(wù)器上請(qǐng)求負(fù)載過(guò)重時(shí),會(huì)將其中的讀請(qǐng)求遷移到備份元數(shù)據(jù)服務(wù)器上;而當(dāng)備份元數(shù)據(jù)服務(wù)器負(fù)載過(guò)重時(shí), 會(huì)將讀請(qǐng)求遷移到主元數(shù)據(jù)服務(wù)器上;本發(fā)明方法并不會(huì)遷移寫(xiě)請(qǐng)求,所有的寫(xiě)請(qǐng)求全部由主元數(shù)據(jù)服務(wù)器處理。
權(quán)利要求
1.一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,用于實(shí)現(xiàn)元數(shù)據(jù)服務(wù)器集群中各元數(shù)據(jù)服務(wù)器的熱點(diǎn)均衡,該方法包括如下步驟(1)元數(shù)據(jù)服務(wù)器集群分組步驟將元數(shù)據(jù)服務(wù)器集群劃分為多組,每組中包括主元數(shù)據(jù)服務(wù)器和備份元數(shù)據(jù)服務(wù)器,其中,所述主元數(shù)據(jù)服務(wù)器用于處理客戶端發(fā)送的讀寫(xiě)請(qǐng)求,所述備份元數(shù)據(jù)服務(wù)器存儲(chǔ)有相應(yīng)組中的所有主元數(shù)據(jù)服務(wù)器上的數(shù)據(jù)和狀態(tài)信息,用于作為相應(yīng)組中各主元數(shù)據(jù)服務(wù)器的備份;(2)熱點(diǎn)遷移表構(gòu)建步驟客戶端掛載到主元數(shù)據(jù)服務(wù)器上時(shí),在該客戶端上構(gòu)建熱點(diǎn)遷移表,以記載該主元數(shù)據(jù)服務(wù)器和其備份元數(shù)據(jù)服務(wù)器的信息,包括該主元數(shù)據(jù)服務(wù)器和其備份元數(shù)據(jù)服務(wù)器的地址信息、該備份元數(shù)據(jù)服務(wù)器的性能參數(shù)和熱點(diǎn)遷移參數(shù);其中,所述熱點(diǎn)遷移參數(shù)標(biāo)識(shí)客戶端將讀請(qǐng)求發(fā)給相應(yīng)元數(shù)據(jù)服務(wù)器的概率;(3)元數(shù)據(jù)服務(wù)器熱點(diǎn)監(jiān)測(cè)步驟監(jiān)測(cè)每臺(tái)元數(shù)據(jù)服務(wù)器上的負(fù)載狀況,判斷元數(shù)據(jù)服務(wù)器是否為訪問(wèn)的熱點(diǎn);(4)如果監(jiān)測(cè)的元數(shù)據(jù)服務(wù)器為熱點(diǎn),則進(jìn)行元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移,具體為該成為熱點(diǎn)的元數(shù)據(jù)服務(wù)器通知對(duì)應(yīng)的客戶端修改熱點(diǎn)遷移表,調(diào)整其中的熱點(diǎn)遷移參數(shù),使得客戶端將請(qǐng)求負(fù)載重新分配,從而實(shí)現(xiàn)熱點(diǎn)遷移。
2.根據(jù)權(quán)利要求1所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,其特征在于,所述的步驟(3) 中,判斷元數(shù)據(jù)服務(wù)器是否為訪問(wèn)的熱點(diǎn)的具體過(guò)程為在每臺(tái)元數(shù)據(jù)服務(wù)器上運(yùn)行請(qǐng)求處理進(jìn)程和熱點(diǎn)監(jiān)測(cè)進(jìn)程,其中,所述請(qǐng)求處理進(jìn)程用來(lái)處理客戶端發(fā)送的請(qǐng)求,并根據(jù)請(qǐng)求歷史信息判斷收到的請(qǐng)求是否是重傳的請(qǐng)求,如果發(fā)現(xiàn)請(qǐng)求是重傳的,則將重傳標(biāo)識(shí)置位;所述熱點(diǎn)監(jiān)測(cè)進(jìn)程用于監(jiān)測(cè)重傳標(biāo)識(shí),如果重傳標(biāo)識(shí)被置位,該熱點(diǎn)監(jiān)測(cè)進(jìn)程將所述重傳標(biāo)識(shí)清零并等待一段時(shí)間,然后再次監(jiān)測(cè)該時(shí)間段內(nèi)重傳標(biāo)識(shí)是否被置位,如果是,則確定當(dāng)前元數(shù)據(jù)服務(wù)器為熱點(diǎn)。
3.根據(jù)權(quán)利要求1或2所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,其特征在于,所述步驟(4) 中,如果熱點(diǎn)為主元數(shù)據(jù)服務(wù)器,則進(jìn)行熱點(diǎn)遷移的具體步驟為主元數(shù)據(jù)服務(wù)器通知其對(duì)應(yīng)的客戶端修改熱點(diǎn)遷移表,將該主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)設(shè)置為0,同時(shí),根據(jù)熱點(diǎn)遷移表中記錄的各個(gè)備份服務(wù)器的性能參數(shù)值,重新設(shè)置各備份服務(wù)器的熱點(diǎn)遷移參數(shù),客戶端根據(jù)熱點(diǎn)遷移表上更新后的熱點(diǎn)遷移參數(shù)值,重新分配讀請(qǐng)求到各元數(shù)據(jù)服務(wù)器,從而實(shí)現(xiàn)熱點(diǎn)遷移。
4.根據(jù)權(quán)利要求1-3之一所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,其特征在于,所述步驟 (4)中,如果熱點(diǎn)為備份元數(shù)據(jù)服務(wù)器,則進(jìn)行熱點(diǎn)遷移的具體步驟為該備份元數(shù)據(jù)服務(wù)器通知客戶端修改熱點(diǎn)遷移表,將該備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值減小,同時(shí)增加與其相應(yīng)的主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值,客戶端根據(jù)熱點(diǎn)遷移表上更新后的各元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值重新分配讀請(qǐng)求,從而實(shí)現(xiàn)熱點(diǎn)遷移。
5.根據(jù)權(quán)利要求4所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,其特征在于,若所述備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值小于最小閾值,則將該備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值與相應(yīng)的主元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移參數(shù)值相加,作為相應(yīng)的主元數(shù)據(jù)服務(wù)器新的熱點(diǎn)遷移參數(shù)值,并將該備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)值清0,從而將該備份元數(shù)據(jù)服務(wù)器上的請(qǐng)求全部遷移回相應(yīng)的主元數(shù)據(jù)服務(wù)器上。
6.根據(jù)權(quán)利要求1-5之一所述的元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,其特征在于,主元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)初始值為1,備份元數(shù)據(jù)服務(wù)器的熱點(diǎn)遷移參數(shù)初始值為0,即初始時(shí)所有的讀請(qǐng)求都發(fā)送給主元數(shù)據(jù)服務(wù)器處理,備份元數(shù)據(jù)服務(wù)器不處理讀請(qǐng)求。
全文摘要
本發(fā)明公開(kāi)了一種元數(shù)據(jù)服務(wù)器熱點(diǎn)均衡方法,應(yīng)用于元數(shù)據(jù)服務(wù)器集群中,包括(1)將元數(shù)據(jù)服務(wù)器集群劃分為若干個(gè)組,每個(gè)組中包含若干個(gè)主元數(shù)據(jù)服務(wù)器和若干個(gè)備份元數(shù)據(jù)服務(wù)器;(2)客戶端掛載到主元數(shù)據(jù)服務(wù)器上時(shí),在該客戶端上構(gòu)建熱點(diǎn)遷移表,以記載該主元數(shù)據(jù)服務(wù)器和其備份元數(shù)據(jù)服務(wù)器的信息;(3)監(jiān)測(cè)每臺(tái)元數(shù)據(jù)服務(wù)器上的負(fù)載狀況,判斷元數(shù)據(jù)服務(wù)器是否為訪問(wèn)的熱點(diǎn);(4)如果監(jiān)測(cè)的元數(shù)據(jù)服務(wù)器為熱點(diǎn),則進(jìn)行元數(shù)據(jù)服務(wù)器熱點(diǎn)遷移,即修改熱點(diǎn)遷移表,調(diào)整其中的熱點(diǎn)遷移參數(shù),使得客戶端將請(qǐng)求負(fù)載重新分配。本發(fā)明能夠有效解決元數(shù)據(jù)服務(wù)器集群中出現(xiàn)的熱點(diǎn)問(wèn)題,實(shí)現(xiàn)元數(shù)據(jù)服務(wù)器集群整體的熱點(diǎn)均衡。
文檔編號(hào)H04L29/06GK102571772SQ20111044448
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月26日 優(yōu)先權(quán)日2011年12月26日
發(fā)明者馮丹, 張泉, 明亮, 王芳, 蘇楠, 陳碧硯 申請(qǐng)人:華中科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
嘉定区| 芦溪县| 三台县| 改则县| 泸州市| 昌邑市| 普陀区| 怀化市| 屯留县| 屏山县| 图们市| 大关县| 南郑县| 平谷区| 南汇区| 双柏县| 钦州市| 宾川县| 青州市| 新源县| 大姚县| 永泰县| 新闻| 叶城县| 石棉县| 台湾省| 滁州市| 黔西县| 元朗区| 武邑县| 兴国县| 金阳县| 桑日县| 通城县| 泌阳县| 肇东市| 潞西市| 嘉黎县| 喀喇沁旗| 涪陵区| 育儿|