[發(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) 可用性 方法 | ||
1.一種用數(shù)據(jù)日志提高分布式存儲系統(tǒng)可用性的方法,其特征在于:包括以下內(nèi)容:
①分布式存儲系統(tǒng)處理數(shù)據(jù)寫請求并生成數(shù)據(jù)日志,包括以下步驟:
數(shù)據(jù)寫請求發(fā)送給服務(wù)器組中的主服務(wù)器;若主服務(wù)器離線,則返回處理數(shù)據(jù)寫請求失?。蝗糁鞣?wù)器在線,則執(zhí)行步驟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)為隊列,所述的隊列從頭到尾對應(yīng)的數(shù)據(jù)日志的Id單調(diào)增長;所述的隊列上設(shè)有一指針,且所述的隊列隊頭和指針之間的數(shù)據(jù)日志,包括指針?biāo)赶虻臄?shù)據(jù)日志都是完整的;
主服務(wù)器根據(jù)數(shù)據(jù)地址,將數(shù)據(jù)寫入其存儲中的對應(yīng)位置;
主服務(wù)器將步驟2)中生成的數(shù)據(jù)日志插入到數(shù)據(jù)日志隊列隊尾,然后移動其數(shù)據(jù)日志隊列的指針并指向隊尾;
主服務(wù)器將步驟2)中生成的數(shù)據(jù)日志傳輸給服務(wù)器組中的每個從服務(wù)器,并等待從服務(wù)器向其發(fā)送寫成功的響應(yīng);
若從服務(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ù)日志的邏輯結(jié)構(gòu)為隊列,所述的隊列從頭到尾對應(yīng)的數(shù)據(jù)日志的Id單調(diào)增長;所述的隊列上設(shè)有一指針,且所述的隊列隊頭和指針之間的數(shù)據(jù)日志,包括指針?biāo)赶虻臄?shù)據(jù)日志都是完整的;從服務(wù)器將接收到的數(shù)據(jù)日志插入其數(shù)據(jù)日志隊列隊尾并向主服務(wù)器返回寫成功的響應(yīng);
若主服務(wù)器在用戶設(shè)定的時間內(nèi)未收到大于或等于N/2個從服務(wù)器寫成功的響應(yīng),主服務(wù)器返回處理數(shù)據(jù)寫請求失敗,處理數(shù)據(jù)寫請求結(jié)束,N是數(shù)據(jù)服務(wù)器組中所有從服務(wù)器的數(shù)目,所述的用戶設(shè)定的時間為小于5分鐘;否則主服務(wù)器認為所述的數(shù)據(jù)寫入成功,處理數(shù)據(jù)寫請求結(jié)束;
②分布式存儲系統(tǒng)中主服務(wù)器離線,通過數(shù)據(jù)日志恢復(fù)主服務(wù)器,包括以下步驟:
1)在從服務(wù)器間選取一個作為主服務(wù)器的候選服務(wù)器,其他從服務(wù)器將各自的指針、指針?biāo)笖?shù)據(jù)日志以及比指針?biāo)笖?shù)據(jù)日志大的數(shù)據(jù)日志傳輸?shù)胶钸x服務(wù)器,候選服務(wù)器依據(jù)Id對接收的數(shù)據(jù)日志進行排序并按從小到大的順序?qū)ζ渲饌€進行分析,分析出有效數(shù)據(jù)日志和無效數(shù)據(jù)日志,包括:
情況一,若被分析的數(shù)據(jù)日志的Id比候選服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id小,則此數(shù)據(jù)日志已存在于候選服務(wù)器的數(shù)據(jù)日志隊列中,此數(shù)據(jù)日志是無效數(shù)據(jù)日志;
情況二,若被分析的數(shù)據(jù)日志的Id比候選服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id大,但比任何一個從服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id小,包括比任何一個從服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id小,則這個數(shù)據(jù)日志是有效數(shù)據(jù)日志;
情況三,若被分析的數(shù)據(jù)日志的Id比任何一個從服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id大,且大于或等于M/2個的從服務(wù)器有這個數(shù)據(jù)日志,M是數(shù)據(jù)服務(wù)器組所有服務(wù)器的數(shù)目,則這個數(shù)據(jù)日志是有效數(shù)據(jù);
情況四,若被分析的數(shù)據(jù)日志的Id比任何一個從服務(wù)器的指針?biāo)傅臄?shù)據(jù)日志的Id大,且小于M/2個的從服務(wù)器有這個數(shù)據(jù)日志,M是數(shù)據(jù)服務(wù)器組所有服務(wù)器的數(shù)目,則這個數(shù)據(jù)日志是無效數(shù)據(jù)日志;
2)將步驟1)中的所有效數(shù)據(jù)日志插入侯選服務(wù)器的數(shù)據(jù)日志隊列中,忽略無效數(shù)據(jù)日志;
3)候選服務(wù)器成為主服務(wù)器并通知所有從服務(wù)器;分布式存儲系統(tǒng)中離線的主服務(wù)器恢復(fù)過程結(jié)束;
③分布式存儲系統(tǒng)中從服務(wù)器離線后回到在線狀態(tài),通過數(shù)據(jù)日志恢復(fù)從服務(wù)器缺失數(shù)據(jù),包括以下步驟:
離線后重新上線的從服務(wù)器向主服務(wù)器發(fā)送數(shù)據(jù)恢復(fù)請求;
主服務(wù)器收到從服務(wù)器的恢復(fù)請求后,向所述的從服務(wù)器返回同意恢復(fù)響應(yīng);同時主服務(wù)器從此刻起向從服務(wù)器傳送新數(shù)據(jù)日志,所述的新數(shù)據(jù)日志指從服務(wù)器變成在線狀態(tài)后主服務(wù)器產(chǎn)生的數(shù)據(jù)日志;
從服務(wù)器收到主服務(wù)器的同意恢復(fù)響應(yīng);
從服務(wù)器將其指針及比其指針?biāo)笖?shù)據(jù)日志Id大的數(shù)據(jù)日志發(fā)送給主服務(wù)器;
5)主服務(wù)器將其數(shù)據(jù)日志與從服務(wù)器發(fā)送過來的數(shù)據(jù)日志Id列表進行分析,分析出從服務(wù)器在離線時缺失的數(shù)據(jù)日志,以及從服務(wù)器指針的新位置;所述的缺失日志指從服務(wù)器在離線狀態(tài)期間主服務(wù)器產(chǎn)生的數(shù)據(jù)日志;
6)主服務(wù)器將步驟5)中分析出的從服務(wù)器缺失的數(shù)據(jù)日志和從服務(wù)器的指針的新位置傳送給從服務(wù)器;
從服務(wù)器在接收到主服務(wù)器傳送過來的從服務(wù)器缺失的數(shù)據(jù)日志后,將其插入到從服務(wù)器數(shù)據(jù)日志隊列中的對應(yīng)位置上,并將從服務(wù)器數(shù)據(jù)日志隊列的指針移動到新位置;若所述的指針的新位置未超過從服務(wù)器接收到步驟2)中主服務(wù)器傳送的新數(shù)據(jù)日志的第一個數(shù)據(jù)日志的位置,則回到步驟4)并執(zhí)行;否則從服務(wù)器離線后回到在線狀態(tài),通過數(shù)據(jù)日志恢復(fù)從服務(wù)器缺失數(shù)據(jù)過的程結(jié)束。
該專利技術(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/1.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)裝置





