【技術(shù)實(shí)現(xiàn)步驟摘要】
對(duì)分布式存儲(chǔ)系統(tǒng)中慢節(jié)點(diǎn)的檢測(cè)
本專利技術(shù)涉及分布式存儲(chǔ)系統(tǒng)
,尤其涉及一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的技術(shù)。
技術(shù)介紹
在當(dāng)前的分布式存儲(chǔ)系統(tǒng)中,隨著集群節(jié)點(diǎn)數(shù)的線性增加,出現(xiàn)慢節(jié)點(diǎn)的概率也會(huì)隨之增加。例如,當(dāng)出現(xiàn)以下情形時(shí),分布式存儲(chǔ)系統(tǒng)可能出現(xiàn)慢節(jié)點(diǎn):由于機(jī)器硬件資源達(dá)到瓶頸,導(dǎo)致對(duì)應(yīng)的處理程序資源不足從而處理請(qǐng)求變慢,出現(xiàn)的場(chǎng)景如:機(jī)器出現(xiàn)故障;機(jī)器本身硬件條件不統(tǒng)一;機(jī)器上混布的其它業(yè)務(wù)占用資源增多。軟件的單機(jī)實(shí)例自己本身達(dá)到了瓶頸,從而導(dǎo)致處理能力不足,出現(xiàn)的場(chǎng)景如:分布到單實(shí)例的請(qǐng)求數(shù)目不均;軟件bug等。集群的節(jié)點(diǎn)之間網(wǎng)絡(luò)出現(xiàn)割裂或者阻塞的情況。對(duì)應(yīng)到分布式存儲(chǔ)系統(tǒng),在基于復(fù)制(Replication)的副本模式下,單個(gè)文件的數(shù)據(jù)在N個(gè)副本組成的管道(pipeline)中流動(dòng)時(shí),如果其中某個(gè)節(jié)點(diǎn)是慢節(jié)點(diǎn),整個(gè)數(shù)據(jù)的寫入流程必然會(huì)受到影響。當(dāng)用戶從分布式存儲(chǔ)讀取數(shù)據(jù)的時(shí)候,如果讀取的副本是慢節(jié)點(diǎn)或者客戶端到讀取副本之間網(wǎng)絡(luò)有問題,數(shù)據(jù)的讀取流程也會(huì)受到影響。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)的目的是提供一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的方法、設(shè)備、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。根據(jù)本專利技術(shù)的一個(gè)方面,提供了一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的方法,其中,所述分布式存儲(chǔ)系統(tǒng)包括主節(jié)點(diǎn)、多個(gè)存儲(chǔ)節(jié)點(diǎn)和一個(gè)或多個(gè)客戶端,其中,在所述客戶端,該方法包括以下步驟:-當(dāng)根據(jù)從所述主節(jié)點(diǎn)獲取的一文件的副本節(jié)點(diǎn)列表對(duì)其中一個(gè)副本節(jié)點(diǎn)中所述文件的副本執(zhí)行數(shù)據(jù)寫入操作時(shí)檢測(cè)到慢節(jié)點(diǎn)事件,向所述文件的各副本節(jié)點(diǎn)發(fā)送異步請(qǐng)求,所述副本節(jié)點(diǎn)為存儲(chǔ)有所述文件的副本的存儲(chǔ)節(jié)點(diǎn);-根 ...
【技術(shù)保護(hù)點(diǎn)】
一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的方法,其中,所述分布式存儲(chǔ)系統(tǒng)包括主節(jié)點(diǎn)、多個(gè)存儲(chǔ)節(jié)點(diǎn)和一個(gè)或多個(gè)客戶端,其中,在所述客戶端,該方法包括以下步驟:?當(dāng)根據(jù)從所述主節(jié)點(diǎn)獲取的一文件的副本節(jié)點(diǎn)列表對(duì)其中一個(gè)副本節(jié)點(diǎn)中所述文件的副本執(zhí)行數(shù)據(jù)寫入操作時(shí)檢測(cè)到慢節(jié)點(diǎn)事件,向所述文件的各副本節(jié)點(diǎn)發(fā)送異步請(qǐng)求,所述副本節(jié)點(diǎn)為存儲(chǔ)有所述文件的副本的存儲(chǔ)節(jié)點(diǎn);?根據(jù)所述各副本節(jié)點(diǎn)的響應(yīng)信息,從所述各副本節(jié)點(diǎn)中確定慢節(jié)點(diǎn);?向所述主節(jié)點(diǎn)通知所述慢節(jié)點(diǎn),以由所述主節(jié)點(diǎn)將所述慢節(jié)點(diǎn)從所述副本節(jié)點(diǎn)列表中刪除;?刷新所述文件的副本節(jié)點(diǎn)列表,以重新對(duì)其中一個(gè)副本節(jié)點(diǎn)中的文件副本執(zhí)行數(shù)據(jù)寫入操作。
【技術(shù)特征摘要】
1.一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的方法,其中,所述分布式存儲(chǔ)系統(tǒng)包括主節(jié)點(diǎn)、多個(gè)存儲(chǔ)節(jié)點(diǎn)和一個(gè)或多個(gè)客戶端,其中,在所述客戶端,該方法包括以下步驟:-當(dāng)根據(jù)從所述主節(jié)點(diǎn)獲取的一文件的副本節(jié)點(diǎn)列表對(duì)其中一個(gè)副本節(jié)點(diǎn)中所述文件的副本執(zhí)行數(shù)據(jù)寫入操作時(shí)檢測(cè)到慢節(jié)點(diǎn)事件,向所述文件的各副本節(jié)點(diǎn)發(fā)送異步請(qǐng)求,所述副本節(jié)點(diǎn)為存儲(chǔ)有所述文件的副本的存儲(chǔ)節(jié)點(diǎn);-根據(jù)所述各副本節(jié)點(diǎn)的響應(yīng)信息,從所述各副本節(jié)點(diǎn)中確定慢節(jié)點(diǎn);-向所述主節(jié)點(diǎn)通知所述慢節(jié)點(diǎn),以由所述主節(jié)點(diǎn)將所述慢節(jié)點(diǎn)從所述副本節(jié)點(diǎn)列表中刪除;-刷新所述文件的副本節(jié)點(diǎn)列表,以重新對(duì)其中一個(gè)副本節(jié)點(diǎn)中的文件副本執(zhí)行數(shù)據(jù)寫入操作。2.根據(jù)權(quán)利要求1所述的方法,其中,所述響應(yīng)信息至少包括以下信息:-所述副本節(jié)點(diǎn)的狀態(tài)信息;-所述副本節(jié)點(diǎn)中所述文件的副本的數(shù)據(jù)寫入狀態(tài)信息;-所述副本節(jié)點(diǎn)的響應(yīng)時(shí)間信息。3.根據(jù)權(quán)利要求1或2所述的方法,其中,如果根據(jù)所述各副本節(jié)點(diǎn)的響應(yīng)信息未能確定慢節(jié)點(diǎn),在所述客戶端,該方法還包括以下步驟:-模擬一個(gè)探測(cè)寫請(qǐng)求并發(fā)送至其中一個(gè)副本節(jié)點(diǎn),所述探測(cè)寫請(qǐng)求將經(jīng)過每個(gè)副本節(jié)點(diǎn)并要求每個(gè)副本節(jié)點(diǎn)收到所述探測(cè)寫請(qǐng)求時(shí)返回確認(rèn)信息;-根據(jù)所述每個(gè)副本節(jié)點(diǎn)返回的確認(rèn)信息,從所述每個(gè)副本節(jié)點(diǎn)中確定慢節(jié)點(diǎn)。4.根據(jù)權(quán)利要求3所述的方法,其中,所述確認(rèn)信息包括所述副本節(jié)點(diǎn)收到所述探測(cè)寫請(qǐng)求的時(shí)間信息。5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其中,在所述主節(jié)點(diǎn),該方法還包括以下步驟:-在接收到所述客戶端關(guān)于所述慢節(jié)點(diǎn)的通知后,更新所述文件的副本的版本號(hào);-將更新后的版本號(hào)通知至所述文件的其他副本節(jié)點(diǎn),以由所述其他副本節(jié)點(diǎn)同步已執(zhí)行的寫入數(shù)據(jù);-更新所述文件的副本節(jié)點(diǎn)列表。6.根據(jù)權(quán)利要求5所述的方法,其中,在所述主節(jié)點(diǎn),該方法還包括以下步驟:-根據(jù)各存儲(chǔ)節(jié)點(diǎn)上報(bào)的狀態(tài)信息,從所述各存儲(chǔ)節(jié)點(diǎn)中確定慢節(jié)點(diǎn),以用于之后的副本創(chuàng)建決策。7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其中,在所述主節(jié)點(diǎn),該方法還包括以下步驟:-將被作為慢節(jié)點(diǎn)的次數(shù)超過閾值的存儲(chǔ)節(jié)點(diǎn)加入故障節(jié)點(diǎn)列表。8.根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的方法,其中,在所述客戶端,該方法還包括以下步驟:-根據(jù)從所述主節(jié)點(diǎn)獲取的一文件的副本節(jié)點(diǎn)列表,按照其中各副本節(jié)點(diǎn)的訪問耗時(shí)信息,從中選擇執(zhí)行對(duì)所述文件的副本的數(shù)據(jù)讀取操作的副本節(jié)點(diǎn);-從所選擇的副本節(jié)點(diǎn)獲取所述文件的副本。9.根據(jù)權(quán)利要求8所述的方法,其中,在所述客戶端,該方法還包括以下步驟:-當(dāng)在獲取所述文件的副本時(shí)檢測(cè)到慢節(jié)點(diǎn)事件,重新選擇副本節(jié)點(diǎn)來獲取所述文件的副本。10.一種檢測(cè)分布式存儲(chǔ)系統(tǒng)中的慢節(jié)點(diǎn)的客戶端,其中,所述分布式存儲(chǔ)系統(tǒng)包括主節(jié)點(diǎn)、多個(gè)存儲(chǔ)節(jié)點(diǎn)和一個(gè)或多個(gè)所述客戶端,其中,所述客戶端包括:用于當(dāng)根據(jù)從所述主節(jié)點(diǎn)獲取的一文件的副本節(jié)點(diǎn)列表對(duì)其中一個(gè)副本節(jié)點(diǎn)中所述文件的副本執(zhí)行數(shù)據(jù)寫入操作時(shí)檢測(cè)到慢節(jié)點(diǎn)事件,向所述文件的各副本節(jié)點(diǎn)發(fā)送異步請(qǐng)求的裝置,所述副本節(jié)點(diǎn)為存儲(chǔ)有所述文件的副本的存儲(chǔ)節(jié)點(diǎn);用于根據(jù)所述各副本節(jié)點(diǎn)的響應(yīng)信息,從所述各副本節(jié)點(diǎn)中確定慢節(jié)點(diǎn)的裝置;用于向所述主節(jié)點(diǎn)通知所述慢節(jié)點(diǎn)的裝置,以由所述主節(jié)點(diǎn)將所述慢節(jié)點(diǎn)從所述副本節(jié)點(diǎn)列表中刪除;用于刷新所述文件的副本節(jié)點(diǎn)列表的裝置,以重新對(duì)其中一個(gè)副本節(jié)點(diǎn)中的文件副本執(zhí)行數(shù)據(jù)寫入操作。11.根據(jù)權(quán)利要求10所述的客戶端,其中,所述響應(yīng)信息至少包括以下信息:...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:李志文,郭波,
申請(qǐng)(專利權(quán))人:北京百度網(wǎng)訊科技有限公司,
類型:發(fā)明
國別省市:北京,11
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。