亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種分布式文件系統(tǒng)中文件布局的更新方法

文檔序號(hào):7812262閱讀:240來源:國知局
一種分布式文件系統(tǒng)中文件布局的更新方法
【專利摘要】本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更新方法,在沒有分布式鎖的分布式文件系統(tǒng)中,對(duì)每個(gè)文件布局增加版本號(hào)字段,當(dāng)文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器增加該文件布局的版本號(hào),并且通知文件布局中的各個(gè)存儲(chǔ)節(jié)點(diǎn),通知完成后記錄文件布局的更新記錄。當(dāng)客戶端去訪問存儲(chǔ)服務(wù)器時(shí),存儲(chǔ)服務(wù)器比較客戶端的文件布局的版本號(hào)和自身文件布局的版本號(hào),若自身的大,則拒絕該請求,讓其從元數(shù)據(jù)服務(wù)器更新最新的文件布局后再訪問,從而可以保證文件布局更新的一致性。本發(fā)明在不需要分布式鎖的情況下,完成了文件布局的一致性更新,保證了數(shù)據(jù)在多客戶端間的一致性訪問,并且減少了申請分布式鎖的開銷。
【專利說明】一種分布式文件系統(tǒng)中文件布局的更新方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種更新方法,具體涉及一種分布式文件系統(tǒng)中文件布局的更新方 法。

【背景技術(shù)】
[0002] 分布式文件系統(tǒng)一般包含客戶端,元數(shù)據(jù)服務(wù)器和數(shù)據(jù)服務(wù)器,客戶端負(fù)責(zé)文件 數(shù)據(jù)的訪問接口制定,元數(shù)據(jù)服務(wù)器處理文件的布局及屬性,數(shù)據(jù)服務(wù)器存儲(chǔ)文件的數(shù)據(jù) 內(nèi)容。
[0003] 對(duì)于分布式文件系統(tǒng),多個(gè)客戶端同時(shí)訪問一個(gè)文件時(shí),為了保證其訪問數(shù)據(jù)的 一致性,該文件的元數(shù)據(jù)更新時(shí)必須有一種方法使得訪問該元數(shù)據(jù)的客戶端都感知到,傳 統(tǒng)的做法是通過元數(shù)據(jù)的分布式鎖來實(shí)現(xiàn),大致過程為,客戶端訪問文件時(shí)必須先申請?jiān)?文件的分布式鎖,更新元數(shù)據(jù)時(shí)也需要在鎖的保護(hù)內(nèi)進(jìn)行,而該方法的缺點(diǎn)有二,一是分布 式鎖實(shí)現(xiàn)難度很大,且維護(hù)起來很不方便,部分分布式文件系統(tǒng)沒有分布式鎖,二是每次訪 問元數(shù)據(jù)時(shí)都需要加鎖,降低了元數(shù)據(jù)訪問的效率,增加了訪問元數(shù)據(jù)的時(shí)延和開銷。


【發(fā)明內(nèi)容】

[0004] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更 新方法,在文件布局有更新時(shí),只需通知和該布局相關(guān)的存儲(chǔ)節(jié)點(diǎn),通過存儲(chǔ)節(jié)點(diǎn)反向反饋 給訪問其數(shù)據(jù)的客戶端,該發(fā)明減少了元數(shù)據(jù)訪問頻繁加鎖的開銷,并且可以保證文件布 局的一致性更新。
[0005] 為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0006] 本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更新方法,所述方法包括以下步 驟:
[0007] 步驟1 :元數(shù)據(jù)服務(wù)器記錄文件布局的更新記錄;
[0008] 步驟2 :元數(shù)據(jù)據(jù)服務(wù)器判斷客戶端的文件布局版本號(hào)和自身的文件布局版本號(hào) 是否一致;
[0009] 步驟3 :客戶端向元數(shù)據(jù)服務(wù)器更新文件布局,并重新訪問存儲(chǔ)節(jié)點(diǎn)。
[0010] 所述步驟1包括以下步驟:
[0011] 步驟1 :文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器重新修改文件布局,對(duì)每個(gè)文件布局增 加版本號(hào);
[0012] 步驟2 :元數(shù)據(jù)服務(wù)器修改文件布局完成后,更新對(duì)應(yīng)的版本號(hào),并通知相關(guān)存儲(chǔ) 節(jié)點(diǎn);
[0013] 步驟3 :通知完成后,元數(shù)據(jù)服務(wù)記錄文件布局的更新記錄。
[0014] 所述步驟1包括以下步驟:
[0015] 步驟2-1 :客戶端向元數(shù)據(jù)據(jù)服務(wù)器發(fā)送讀寫請求;
[0016] 步驟2-2 :元數(shù)據(jù)據(jù)服務(wù)器收到客戶端發(fā)送的讀寫請求,判斷客戶端的文件布局 版本號(hào)和自身的文件布局版本號(hào)是否一致;若兀數(shù)據(jù)據(jù)服務(wù)器自身的文件布局版本號(hào)大于 客戶端的文件布局版本號(hào),則執(zhí)行步驟2-3;若客戶端的文件布局版本號(hào)大于自身的文件 布局版本號(hào),則執(zhí)行步驟2-4;
[0017] 步驟2-3 :元數(shù)據(jù)據(jù)服務(wù)器拒絕該讀寫請求,通知發(fā)起讀寫請求的客戶端更新文 件布局;
[0018] 步驟2-4:元數(shù)據(jù)據(jù)服務(wù)器接受收到的客戶端的文件布局版本號(hào),更新自身的文 件布局版本號(hào)。
[0019] 所述步驟3中,客戶端收到元數(shù)據(jù)服務(wù)器的拒絕訪問的反饋后,向元數(shù)據(jù)服務(wù)器 更新文件布局,并重新訪問存儲(chǔ)節(jié)點(diǎn)。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0021] 本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更新方法,在沒有分布式鎖的分布 式文件系統(tǒng)中,對(duì)每個(gè)文件布局增加版本號(hào)字段,當(dāng)文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器增加 該文件布局的版本號(hào),并且通知文件布局中的各個(gè)存儲(chǔ)節(jié)點(diǎn),通知完成后記錄文件布局的 更新記錄。當(dāng)客戶端去訪問存儲(chǔ)服務(wù)器時(shí),存儲(chǔ)服務(wù)器比較客戶端的文件布局的版本號(hào)和 自身文件布局的版本號(hào),若自身的大,則拒絕該請求,讓其從元數(shù)據(jù)服務(wù)器更新最新的文件 布局后再訪問,從而可以保證文件布局更新的一致性。本發(fā)明在不需要分布式鎖的情況下, 完成了文件布局的一致性更新,保證了數(shù)據(jù)在多客戶端間的一致性訪問,并且減少了申請 分布式鎖的開銷。

【專利附圖】

【附圖說明】
[0022] 圖1是分布式文件系統(tǒng)中文件布局的更新方法的流程圖。

【具體實(shí)施方式】
[0023] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0024] 如圖1,本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更新方法,所述方法包括以 下步驟:
[0025] 步驟1 :元數(shù)據(jù)服務(wù)器記錄文件布局的更新記錄;
[0026] 步驟2 :元數(shù)據(jù)據(jù)服務(wù)器判斷客戶端的文件布局版本號(hào)和自身的文件布局版本號(hào) 是否一致;
[0027] 步驟3 :客戶端向元數(shù)據(jù)服務(wù)器更新文件布局,并重新訪問存儲(chǔ)節(jié)點(diǎn)。
[0028] 所述步驟1包括以下步驟:
[0029] 步驟1 :文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器重新修改文件布局,對(duì)每個(gè)文件布局增 加版本號(hào);
[0030] 步驟2 :元數(shù)據(jù)服務(wù)器修改文件布局完成后,更新對(duì)應(yīng)的版本號(hào),并通知相關(guān)存儲(chǔ) 節(jié)點(diǎn);
[0031] 步驟3 :通知完成后,元數(shù)據(jù)服務(wù)記錄文件布局的更新記錄。
[0032] 所述步驟1包括以下步驟:
[0033] 步驟2-1 :客戶端向元數(shù)據(jù)據(jù)服務(wù)器發(fā)送讀寫請求;
[0034] 步驟2-2 :元數(shù)據(jù)據(jù)服務(wù)器收到客戶端發(fā)送的讀寫請求,判斷客戶端的文件布局 版本號(hào)和自身的文件布局版本號(hào)是否一致;若兀數(shù)據(jù)據(jù)服務(wù)器自身的文件布局版本號(hào)大于 客戶端的文件布局版本號(hào),則執(zhí)行步驟2-3;若客戶端的文件布局版本號(hào)大于自身的文件 布局版本號(hào),則執(zhí)行步驟2-4;
[0035] 步驟2-3 :元數(shù)據(jù)據(jù)服務(wù)器拒絕該讀寫請求,通知發(fā)起讀寫請求的客戶端更新文 件布局;
[0036] 步驟2-4:元數(shù)據(jù)據(jù)服務(wù)器接受收到的客戶端的文件布局版本號(hào),更新自身的文 件布局版本號(hào)。
[0037] 所述步驟3中,客戶端收到元數(shù)據(jù)服務(wù)器的拒絕訪問的反饋后,向元數(shù)據(jù)服務(wù)器 更新文件布局,并重新訪問存儲(chǔ)節(jié)點(diǎn)。
[0038] 實(shí)施例
[0039] A.版本號(hào)的內(nèi)存中的記錄方法:
[0040] Version Cache以Try Tree的方式組織,以文件Inode Id作為索引的關(guān)鍵字。
[0041] Cache的回收采用定時(shí)的方式進(jìn)行,每兩分鐘將其中存在時(shí)間超過24小時(shí)的 Version變化信息回收。
[0042] B.存儲(chǔ)節(jié)點(diǎn)掉電重啟后version cache的重建;
[0043] 當(dāng)存儲(chǔ)節(jié)點(diǎn)掉電重啟后,向元數(shù)據(jù)服務(wù)器獲取24小時(shí)內(nèi)有過變化的元數(shù)據(jù)布局, 獲取后重新構(gòu)建出version cache。
[0044] 本發(fā)明提供一種分布式文件系統(tǒng)中文件布局的更新方法,在沒有分布式鎖的分布 式文件系統(tǒng)中,對(duì)每個(gè)文件布局增加版本號(hào)字段,當(dāng)文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器增加 該文件布局的版本號(hào),并且通知文件布局中的各個(gè)存儲(chǔ)節(jié)點(diǎn),通知完成后記錄文件布局的 更新記錄。當(dāng)客戶端去訪問存儲(chǔ)服務(wù)器時(shí),存儲(chǔ)服務(wù)器比較客戶端的文件布局的版本號(hào)和 自身文件布局的版本號(hào),若自身的大,則拒絕該請求,讓其從元數(shù)據(jù)服務(wù)器更新最新的文件 布局后再訪問,從而可以保證文件布局更新的一致性。本發(fā)明在不需要分布式鎖的情況下, 完成了文件布局的一致性更新,保證了數(shù)據(jù)在多客戶端間的一致性訪問,并且減少了申請 分布式鎖的開銷。
[0045] 最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制,所 屬領(lǐng)域的普通技術(shù)人員參照上述實(shí)施例依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者 等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請待批的本發(fā) 明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種分布式文件系統(tǒng)中文件布局的更新方法,其特征在于:所述方法包括以下步 驟: 步驟1 :元數(shù)據(jù)服務(wù)器記錄文件布局的更新記錄; 步驟2 :元數(shù)據(jù)據(jù)服務(wù)器判斷客戶端的文件布局版本號(hào)和自身的文件布局版本號(hào)是否 一致; 步驟3 :客戶端向元數(shù)據(jù)服務(wù)器更新文件布局,并重新訪問存儲(chǔ)節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求1所述的分布式文件系統(tǒng)中文件布局的更新方法,其特征在于:所述 步驟1包括以下步驟: 步驟1 :文件布局有更新時(shí),元數(shù)據(jù)服務(wù)器重新修改文件布局,對(duì)每個(gè)文件布局增加版 本號(hào); 步驟2 :元數(shù)據(jù)服務(wù)器修改文件布局完成后,更新對(duì)應(yīng)的版本號(hào),并通知相關(guān)存儲(chǔ)節(jié) 占. 步驟3 :通知完成后,元數(shù)據(jù)服務(wù)記錄文件布局的更新記錄。
3. 根據(jù)權(quán)利要求1所述的分布式文件系統(tǒng)中文件布局的更新方法,其特征在于:所述 步驟1包括以下步驟: 步驟2-1 :客戶端向元數(shù)據(jù)據(jù)服務(wù)器發(fā)送讀寫請求; 步驟2-2 :元數(shù)據(jù)據(jù)服務(wù)器收到客戶端發(fā)送的讀寫請求,判斷客戶端的文件布局版本 號(hào)和自身的文件布局版本號(hào)是否一致;若兀數(shù)據(jù)據(jù)服務(wù)器自身的文件布局版本號(hào)大于客戶 端的文件布局版本號(hào),則執(zhí)行步驟2-3 ;若客戶端的文件布局版本號(hào)大于自身的文件布局 版本號(hào),則執(zhí)行步驟2-4; 步驟2-3 :元數(shù)據(jù)據(jù)服務(wù)器拒絕該讀寫請求,通知發(fā)起讀寫請求的客戶端更新文件布 局; 步驟2-4:元數(shù)據(jù)據(jù)服務(wù)器接受收到的客戶端的文件布局版本號(hào),更新自身的文件布 局版本號(hào)。
4. 根據(jù)權(quán)利要求1所述的分布式文件系統(tǒng)中文件布局的更新方法,其特征在于:所述 步驟3中,客戶端收到元數(shù)據(jù)服務(wù)器的拒絕訪問的反饋后,向元數(shù)據(jù)服務(wù)器更新文件布局, 并重新訪問存儲(chǔ)節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/08GK104158897SQ201410421651
【公開日】2014年11月19日 申請日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】郭照斌, 季旻, 姜國梁, 馬振杰, 楊鵬 申請人:曙光信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1