[發(fā)明專利]一種用數(shù)據(jù)日志提高分布式存儲系統(tǒng)可用性的方法有效
| 申請?zhí)枺?/td> | 201310546434.7 | 申請日: | 2013-11-07 |
| 公開(公告)號: | CN103546579B | 公開(公告)日: | 2017-01-04 |
| 發(fā)明(設(shè)計)人: | 陳靚 | 申請(專利權(quán))人: | 陳靚 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F11/34 |
| 代理公司: | 南京知識律師事務(wù)所32207 | 代理人: | 汪旭東 |
| 地址: | 210000 江蘇省南京市江寧*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 日志 提高 分布式 存儲系統(tǒng) 可用性 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及分布式存儲領(lǐng)域,特別是涉及一種用數(shù)據(jù)日志提高分布式存儲系統(tǒng)可用性的方法。
背景技術(shù)
衡量存儲系統(tǒng)性能有三個指標:可靠性(Reliability)、存儲速度(IOPS)和可用性(Availability)。分布式存儲系統(tǒng)為了保證數(shù)據(jù)的高可靠性,通常把寫入存儲系統(tǒng)的數(shù)據(jù)存儲到多臺獨立的存儲服務(wù)器(以后簡稱為服務(wù)器)上,這些存放同一個數(shù)據(jù)的服務(wù)器叫做服務(wù)器組(server?group)。為了保證分布式存儲系統(tǒng)的高存儲效率即讀寫速度,服務(wù)器組中的服務(wù)器分為主服務(wù)器(master)和從服務(wù)器(slave)。數(shù)據(jù)首先寫入主服務(wù)器,主服務(wù)器將數(shù)據(jù)寫到自己的磁盤,還負責(zé)將數(shù)據(jù)傳輸?shù)綇姆?wù)器。從服務(wù)器將數(shù)據(jù)寫入自己的磁盤,并響應(yīng)主服務(wù)器它的寫成功,只有主服務(wù)器的數(shù)據(jù)寫成功同時它收到了大多數(shù)從服務(wù)器的成功響應(yīng),數(shù)據(jù)的寫才成功。因為分布式存儲系統(tǒng)中主服務(wù)器有完整的數(shù)據(jù),所以分布式存儲系統(tǒng)中數(shù)據(jù)直接從主服務(wù)器中讀取。
盡管這種分布式存儲系統(tǒng)的可靠性高、讀寫速度快,但可用性不高,所謂可用性是指分布式存儲系統(tǒng)的讀寫是否能正常進行。在分布式環(huán)境中,由于網(wǎng)絡(luò)不穩(wěn)定和服務(wù)器超負荷運行(overloaded)等諸多因素的影響,存儲服務(wù)器在離線狀態(tài)(offline)和在線狀態(tài)(online)的反復(fù)跳轉(zhuǎn)發(fā)生得非常頻繁。因為在分布式存儲系統(tǒng)中,數(shù)據(jù)的讀寫必須通過主服務(wù)器完成,所以主服務(wù)器的離線將直接導(dǎo)致整個分布式存儲系統(tǒng)的不可用(unavailable),而且在從服務(wù)器離線期間寫入服務(wù)器組的數(shù)據(jù)不會出現(xiàn)在離線從服務(wù)器上。
現(xiàn)有分布式存儲系統(tǒng)中,當離線從服務(wù)器重新上線回到服務(wù)器組,主服務(wù)器需要將未曾寫入離線從服務(wù)器的數(shù)據(jù)恢復(fù)到從服務(wù)器上,?以確保數(shù)據(jù)的完整性。由于分布式存儲系統(tǒng)不知道哪些數(shù)據(jù)是在從服務(wù)器離線期間寫入的,哪些不是。因此,主服務(wù)器需要將其全部數(shù)據(jù)寫回到從服務(wù)器上。然而在從服務(wù)器數(shù)據(jù)恢復(fù)期間,新的數(shù)據(jù)不允許寫入分布式存儲系統(tǒng)中,否則從服務(wù)器的恢復(fù)過程將一直持續(xù)下去。因此,在現(xiàn)有的分布式存儲系統(tǒng)中,從服務(wù)器的離線將導(dǎo)致數(shù)據(jù)無法寫入分布式存儲系統(tǒng),即此分布式存儲系統(tǒng)變?yōu)橹蛔x系統(tǒng)(read-only),如此也導(dǎo)致了分布式存儲系統(tǒng)的可用性不高。
當主服務(wù)器離線后,分布式存儲系統(tǒng)的讀寫被暫停,此分布式存儲系統(tǒng)變?yōu)椴豢捎谩,F(xiàn)有的分布式存儲系統(tǒng)是通過比較所有從服務(wù)器中的所有的數(shù)據(jù),生成一份完整的數(shù)據(jù),然后產(chǎn)生一個新的主服務(wù)器。然而,這個過程費時很長,因此進一步導(dǎo)致了分布式存儲系統(tǒng)的可用性不高。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是上述現(xiàn)有技術(shù)中分布式存儲系統(tǒng)可用性不高的問題。為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案來實現(xiàn)的。
一種用數(shù)據(jù)日志提高分布式存儲系統(tǒng)可用性的方法,包括以下內(nèi)容:
①分布式存儲系統(tǒng)處理數(shù)據(jù)寫請求并生成數(shù)據(jù)日志,包括以下步驟:
1)數(shù)據(jù)寫請求發(fā)送給服務(wù)器組中的主服務(wù)器;若主服務(wù)器離線,返回處理數(shù)據(jù)寫請求失?。蝗糁鞣?wù)器在線,執(zhí)行步驟2);
2)主服務(wù)器根據(jù)接收到的數(shù)據(jù)寫請求的內(nèi)容生成對應(yīng)的數(shù)據(jù)日志,所述的數(shù)據(jù)日志包括數(shù)據(jù)日志的Id、數(shù)據(jù)地址和數(shù)據(jù);所述的主服務(wù)器存放數(shù)據(jù)日志的邏輯結(jié)構(gòu)為隊列,主服務(wù)器數(shù)據(jù)日志保存的位置包括但不限于其磁盤、緩存,所述的隊列從頭到尾對應(yīng)的數(shù)據(jù)日志的Id單調(diào)增長;所述的隊列上設(shè)有一指針,且所述的隊列隊頭和指針之間的數(shù)據(jù)日志,包括指針所指向的數(shù)據(jù)日志都是完整的;
3)主服務(wù)器根據(jù)數(shù)據(jù)地址,將數(shù)據(jù)寫入其存儲中的對應(yīng)位置,主服務(wù)器中數(shù)據(jù)寫入的位置包括但不限于其磁盤、緩存;
4)主服務(wù)器將步驟2)中生成的數(shù)據(jù)日志插入到數(shù)據(jù)日志隊列隊尾,然后移動其數(shù)據(jù)日志隊列的指針并指向隊尾;
5)主服務(wù)器將步驟2)中生成的數(shù)據(jù)日志傳輸給服務(wù)器組中的每個從服務(wù)器,并等待從服務(wù)器向其發(fā)送寫成功的響應(yīng);
6)若從服務(wù)器離線,其無法收到主服務(wù)器傳輸?shù)臄?shù)據(jù)日志,也無法給主服務(wù)器響應(yīng);否則從服務(wù)器接收主服務(wù)器傳輸?shù)臄?shù)據(jù)日志,并根據(jù)接收的數(shù)據(jù)日志中的數(shù)據(jù)地址,將數(shù)據(jù)寫入其存儲中的對應(yīng)位置,從服務(wù)器中數(shù)據(jù)寫入的位置包括但不限于其磁盤、緩存,所述的從服務(wù)器存放數(shù)據(jù)日志的邏輯結(jié)構(gòu)為隊列,數(shù)據(jù)日志保存的位置包括但不限于其磁盤、緩存,所述的隊列從頭到尾對應(yīng)的數(shù)據(jù)日志的Id單調(diào)增長;所述的隊列上設(shè)有一指針,且所述的隊列隊頭和指針之間的數(shù)據(jù)日志,包括指針所指向的數(shù)據(jù)日志都是完整的;從服務(wù)器將接收到的數(shù)據(jù)日志插入其數(shù)據(jù)日志隊列隊尾并向主服務(wù)器返回寫成功的響應(yīng);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于陳靚,未經(jīng)陳靚許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310546434.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





