分布式系統(tǒng)數(shù)據(jù)一致性解決方案_第1頁
分布式系統(tǒng)數(shù)據(jù)一致性解決方案_第2頁
分布式系統(tǒng)數(shù)據(jù)一致性解決方案_第3頁
分布式系統(tǒng)數(shù)據(jù)一致性解決方案_第4頁
分布式系統(tǒng)數(shù)據(jù)一致性解決方案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1.1.分布式系統(tǒng)中數(shù)據(jù)一致性存在的困分布式系統(tǒng)中數(shù)據(jù)一致性存在的困 難難 1.1.高度并行帶來的問題高度并行帶來的問題 本機內(nèi)多任務(wù)并行帶來的困難本機內(nèi)多任務(wù)并行帶來的困難 多機并行帶來的困難多機并行帶來的困難 網(wǎng)絡(luò)延遲不可預(yù)測網(wǎng)絡(luò)延遲不可預(yù)測 2.2.多副本帶來的問題多副本帶來的問題 系統(tǒng)中存在多個副本,數(shù)據(jù)的修改通常會在不同的副系統(tǒng)中存在多個副本,數(shù)據(jù)的修改通常會在不同的副 本上進行本上進行 3. 空間數(shù)據(jù)所存在的特殊困難空間數(shù)據(jù)所存在的特殊困難 跨機圖幅的接邊問題跨機圖幅的接邊問題 拓撲關(guān)系的全局動態(tài)改變與生成問題拓撲關(guān)系的全局動態(tài)改變與生成問題 4. 分布式系統(tǒng)中數(shù)據(jù)一致性保證的不同

2、模型分布式系統(tǒng)中數(shù)據(jù)一致性保證的不同模型 嚴格一致性:讀出的數(shù)據(jù)始終為最近寫入的數(shù)據(jù)嚴格一致性:讀出的數(shù)據(jù)始終為最近寫入的數(shù)據(jù) 計算機計算機A 計算機計算機A 計算機計算機A 讀讀x 寫寫x 時刻時刻T1時刻時刻T2 T T2 2 T T1 1,如果兩,如果兩 者非常接近,有者非常接近,有 可能因為網(wǎng)絡(luò)原可能因為網(wǎng)絡(luò)原 因讀請求比寫請因讀請求比寫請 求晚到!求晚到! 太嚴格!實現(xiàn)太嚴格!實現(xiàn) 難度極大!幾難度極大!幾 乎不可能!乎不可能! 順序一致性:只要所有的程序都以一定的順序運行順序一致性:只要所有的程序都以一定的順序運行 (即所有程序的訪問操作在別的程序看來都是一樣的),(即所有程序的訪

3、問操作在別的程序看來都是一樣的), 每個程序的操作都以程序規(guī)定的次序?qū)崿F(xiàn),結(jié)果都應(yīng)該被每個程序的操作都以程序規(guī)定的次序?qū)崿F(xiàn),結(jié)果都應(yīng)該被 接受。接受。 例例1 程序程序P1:W(x,1) 程序程序P2 : R(x)0 R(x)1 或者兩次都為或者兩次都為1,都應(yīng)該接受。,都應(yīng)該接受。 順序一致性看似很順序一致性看似很“弱弱”,實際很強,對多副本一致,實際很強,對多副本一致 性有很強的要求,實際實現(xiàn)也是難以做到的。只能在單一性有很強的要求,實際實現(xiàn)也是難以做到的。只能在單一 服務(wù)器上使用。服務(wù)器上使用。 例例2 2 程序程序A A 程序程序B B 程序程序C C a=1; b=1 a=1; b=

4、1; c=1c=1; printprint(b,cb,c) printprint(a,ca,c) printprint(a,ba,b) 理論上有理論上有9090個執(zhí)行的次序。以個執(zhí)行的次序。以a=1a=1開頭說明,共有開頭說明,共有5 5!=120=120 個順序,但個順序,但b=1b=1不能在不能在printprint(a,ca,c)之后,因此一半是無效)之后,因此一半是無效 的;同理程序的;同理程序C C也如此,只剩下也如此,只剩下3030個有效,共個有效,共9090個有效順序。個有效順序。 但是,打印結(jié)果只有但是,打印結(jié)果只有6 6個數(shù)字、個數(shù)字、6464種可能。其中,種可能。其中,00

5、0000000000 和和001001001001顯然不可能。顯然不可能。 應(yīng)該承認所有合理的結(jié)果。例如,應(yīng)該承認所有合理的結(jié)果。例如,001011001011,表示執(zhí)行的次,表示執(zhí)行的次 序為:序為: A=1 print(b,c) b=1 print(a,c) c=1 print(a,b)A=1 print(b,c) b=1 print(a,c) c=1 因果一致性:可能因果相關(guān)的寫操作應(yīng)對所有程序可因果一致性:可能因果相關(guān)的寫操作應(yīng)對所有程序可 見并保持順序一致。并發(fā)的寫操作在不同計算機上看來可以見并保持順序一致。并發(fā)的寫操作在不同計算機上看來可以 順序不同。順序不同。 例例1 程序程序P

6、1:W(x,1) W(x,3) P2: R(x)1 W(x,2) P3: R(x)1 R(x)2 R(x)3 P4: R(x)1 R(x)3 R(x)2 符合因果一致性要求,但違反了順序一致性。因為符合因果一致性要求,但違反了順序一致性。因為P3和和P4見見 到訪問順序不同。到訪問順序不同。 例例2 P1: W(x,1) P2: R(x)1 W(x,2) P3: R(x)1 R(x)2 P4: R(x)2 R(x)1 違反了因果一致性。因為違反了因果一致性。因為P2讀出了讀出了x=1,所以,所以P1和和P2的兩的兩 個寫操作順序必定為個寫操作順序必定為W(x,1)在)在W(x,2)前。)前。

7、P3的結(jié)果才的結(jié)果才 是正確的。是正確的。 因果一致性在實現(xiàn)時必須建立與維護依賴圖,這里涉及因果一致性在實現(xiàn)時必須建立與維護依賴圖,這里涉及 到語義上的以來,是相當(dāng)困難的。到語義上的以來,是相當(dāng)困難的。 PRAM一致性:一個程序的寫操作被其他進程以指定一致性:一個程序的寫操作被其他進程以指定 的順序見到,不同程序的寫操作在不同程序看來次序可以不的順序見到,不同程序的寫操作在不同程序看來次序可以不 同。同。 例例1 P1: W(x,1) P2: R(x)1 W(x,2) P3: R(x)1 R(x)2 P4: R(x)2 R(x)1 符合符合PRAM一致性的要求。一致性的要求。 PRAM與順序一

8、致性的差別在于,后者雖然為確定語句與順序一致性的差別在于,后者雖然為確定語句 的順序,但要求所有程序遵從共同的順序;而前者則允許不的順序,但要求所有程序遵從共同的順序;而前者則允許不 同程序見到的順序可以不同。同程序見到的順序可以不同。 例例2 在前面的例子中,結(jié)果在前面的例子中,結(jié)果001001是可以接受的。這時,是可以接受的。這時, 各程序看到的順序:各程序看到的順序: 程序程序A a=1 Print(b,c) 程序程序B a=1 Print(a,c) C=1 程序程序C a=1 Print(a,b) b=1 這里只列出本程序感興趣(與自己的打印有關(guān))的語句執(zhí)行次序這里只列出本程序感興趣(

9、與自己的打印有關(guān))的語句執(zhí)行次序 PRAM一致性要求雖然較弱,但它要求程序的寫操作必一致性要求雖然較弱,但它要求程序的寫操作必 須被其他程序看到(盡管他們的順序可以不同)。實際上,須被其他程序看到(盡管他們的順序可以不同)。實際上, 這樣的要求有點過高,每一個程序只要能夠看到與自己有關(guān)這樣的要求有點過高,每一個程序只要能夠看到與自己有關(guān) 的其他程序的寫操作就可以了。的其他程序的寫操作就可以了。 弱排序:弱排序只要求對共享數(shù)據(jù)結(jié)構(gòu)的訪問保證順弱排序:弱排序只要求對共享數(shù)據(jù)結(jié)構(gòu)的訪問保證順 序一致性。即:序一致性。即: 對同步變量(可與信號量類比)的訪問是順序一致的;對同步變量(可與信號量類比)的

10、訪問是順序一致的; 在所有以前的寫操作結(jié)束之前,不的訪問同步變量;在所有以前的寫操作結(jié)束之前,不的訪問同步變量; 在先前所有的同步變量訪問完成以前,不得訪問共享數(shù)在先前所有的同步變量訪問完成以前,不得訪問共享數(shù) 據(jù)。據(jù)。 實現(xiàn)考慮:實現(xiàn)考慮: 為保證第一點,對同步變量的訪問必須立即廣播。在廣播完成之前,為保證第一點,對同步變量的訪問必須立即廣播。在廣播完成之前, 其他程序不的訪問別的同步變量;其他程序不的訪問別的同步變量; 對第二點,強制要求所有的同步訪問開始前,已經(jīng)開始的所有的寫操對第二點,強制要求所有的同步訪問開始前,已經(jīng)開始的所有的寫操 作必須完成,在更新共享數(shù)據(jù)后立即進行同步,將新值傳

11、遍所有副本;作必須完成,在更新共享數(shù)據(jù)后立即進行同步,將新值傳遍所有副本; 第三點,保證在讀共享數(shù)據(jù)之前,完成同步操作,以便可以讀到最新第三點,保證在讀共享數(shù)據(jù)之前,完成同步操作,以便可以讀到最新 值。值。 做法:做法: 任何程序編制時,在對共享數(shù)據(jù)寫操作后都必須緊接著訪問同步變量;任何程序編制時,在對共享數(shù)據(jù)寫操作后都必須緊接著訪問同步變量; 任何讀共享數(shù)據(jù)操作前,訪問同步變量。任何讀共享數(shù)據(jù)操作前,訪問同步變量。 例如:例如: P1:W(x,1) S1 W(y,2)S2 P2: S1 R(x)1 P3: s2 R(y)2 弱一致性的缺陷在于沒有區(qū)分對弱一致性的缺陷在于沒有區(qū)分對 共享變量的

12、修改與讀取。所以同共享變量的修改與讀取。所以同 步變量的訪問即要確保本地寫全步變量的訪問即要確保本地寫全 部完成(所有副本均已更新)還部完成(所有副本均已更新)還 要收集其它計算機的寫操作信息。要收集其它計算機的寫操作信息。 釋放一致性:類似臨界區(qū),提供釋放一致性:類似臨界區(qū),提供“獲取獲取”和和“釋放釋放” 兩類原子同步操作。強制:兩類原子同步操作。強制: 程序在訪問共享變量之前必須成功完成程序在訪問共享變量之前必須成功完成“獲取獲取”操作;操作; 完成完成“釋放釋放”操作前,程序的訪問操作必須結(jié)束;操作前,程序的訪問操作必須結(jié)束; “獲取獲取”、“釋放釋放”應(yīng)保證順序一致性。應(yīng)保證順序一致

13、性。 釋放一致性與用信號量和釋放一致性與用信號量和P、V操作來保證臨界區(qū)訪問正操作來保證臨界區(qū)訪問正 確性何其相似乃爾!確性何其相似乃爾! 與此相對應(yīng),還可以有入口一致性。與此相對應(yīng),還可以有入口一致性。 小結(jié):小結(jié): 一致性模型可以分為兩類:一致性模型可以分為兩類: 不使用同步操作不使用同步操作 嚴格:所有訪問時間絕對順序嚴格:所有訪問時間絕對順序 順序:所有程序以相同順序檢測所有順序:所有程序以相同順序檢測所有 共享訪問事件共享訪問事件 因果:所有程序以相同順序檢測所有因果:所有程序以相同順序檢測所有 因果聯(lián)系事件因果聯(lián)系事件 PRAM:所有程序按預(yù)定次序到來自一:所有程序按預(yù)定次序到來自

14、一 臺機器的寫操作,來自其他機臺機器的寫操作,來自其他機 器的寫操作順序不必相同器的寫操作順序不必相同 最強最強 使用同步操作使用同步操作 弱:同步完成后共享數(shù)據(jù)才保持一致弱:同步完成后共享數(shù)據(jù)才保持一致 釋放:離開臨界區(qū)后共享數(shù)據(jù)才保持釋放:離開臨界區(qū)后共享數(shù)據(jù)才保持 一致一致 入口:進入臨界區(qū)時共享數(shù)據(jù)保持一致入口:進入臨界區(qū)時共享數(shù)據(jù)保持一致 5.實現(xiàn)問題 維護副本一致性的兩種策略: 寫有效:修改本地數(shù)據(jù)時,將修改值組播所有副本節(jié)寫有效:修改本地數(shù)據(jù)時,將修改值組播所有副本節(jié) 點,副本節(jié)點據(jù)此修改本地數(shù)據(jù)。點,副本節(jié)點據(jù)此修改本地數(shù)據(jù)。 要求修改傳送次序嚴格保證。要求修改傳送次序嚴格保證

15、。 每次修改必須傳送修改值,網(wǎng)絡(luò)開銷大每次修改必須傳送修改值,網(wǎng)絡(luò)開銷大 寫無效:修改本地數(shù)據(jù)前,通知所用副本停止使用寫無效:修改本地數(shù)據(jù)前,通知所用副本停止使用 (無效),組播完成后才進行修改。其他副本需使用前,(無效),組播完成后才進行修改。其他副本需使用前, 向它申請發(fā)送修改值,進行修改后再使用。向它申請發(fā)送修改值,進行修改后再使用。 多次修改可能一次傳送,但每次需發(fā)送無效通知。多次修改可能一次傳送,但每次需發(fā)送無效通知。 2.2.對分布式文件系統(tǒng)的要求對分布式文件系統(tǒng)的要求 1. 1. 存取透明性存取透明性 用戶無須知道文件的分布,傳統(tǒng)的本地文件操作手段可以直接用于遠用戶無須知道文件的

16、分布,傳統(tǒng)的本地文件操作手段可以直接用于遠 程文件操作,對已有的用戶程序不必刻意進行改動就可以適應(yīng)分布式程文件操作,對已有的用戶程序不必刻意進行改動就可以適應(yīng)分布式 環(huán)境。環(huán)境。 用戶無須注意環(huán)境中其他用戶是否與自己競爭使用同一個文件,無須用戶無須注意環(huán)境中其他用戶是否與自己競爭使用同一個文件,無須 用戶在自己的程序中對共享文件數(shù)據(jù)添加并發(fā)控制,并能保持文件數(shù)用戶在自己的程序中對共享文件數(shù)據(jù)添加并發(fā)控制,并能保持文件數(shù) 據(jù)的完整性。據(jù)的完整性。 2.2.位置透明性位置透明性 用戶看到的是全局的文件名空間,文件或文件組在機器間遷移和重新用戶看到的是全局的文件名空間,文件或文件組在機器間遷移和重新

17、 定位時不必改變其路徑,用戶程序無須改動。無論用戶處于哪個節(jié)點,定位時不必改變其路徑,用戶程序無須改動。無論用戶處于哪個節(jié)點, 看到的是相同的文件名空間。出于可靠性考慮,同一個文件可能在不看到的是相同的文件名空間。出于可靠性考慮,同一個文件可能在不 同的節(jié)點上保留副本,副本的使用對用戶無關(guān),用戶意識不到當(dāng)前使同的節(jié)點上保留副本,副本的使用對用戶無關(guān),用戶意識不到當(dāng)前使 用的是哪一個副本用的是哪一個副本 3. 3. 故障透明性故障透明性 在文件服務(wù)執(zhí)行過程中發(fā)生故障并修復(fù)(例如文件服務(wù)器故障,啟用在文件服務(wù)執(zhí)行過程中發(fā)生故障并修復(fù)(例如文件服務(wù)器故障,啟用 備用服務(wù)器;網(wǎng)絡(luò)傳輸故障,需要重發(fā)等)

18、對用戶屏蔽。備用服務(wù)器;網(wǎng)絡(luò)傳輸故障,需要重發(fā)等)對用戶屏蔽。 4. 4. 性能透明性性能透明性 用戶不會感到由于遠程存取文件而帶來性能上的顯著降低。此外,還用戶不會感到由于遠程存取文件而帶來性能上的顯著降低。此外,還 應(yīng)該滿足硬件和本地操作系統(tǒng)的異構(gòu)性,客戶端和服務(wù)器端的軟件可以應(yīng)該滿足硬件和本地操作系統(tǒng)的異構(gòu)性,客戶端和服務(wù)器端的軟件可以 在不同的硬件和本地操作系統(tǒng)上運行。因此接口定義必須良好。在不同的硬件和本地操作系統(tǒng)上運行。因此接口定義必須良好。 5. 5. 可擴展性可擴展性 系統(tǒng)必須具備增量擴展的能力,以適應(yīng)負載和網(wǎng)絡(luò)擴充的需要。系統(tǒng)必須具備增量擴展的能力,以適應(yīng)負載和網(wǎng)絡(luò)擴充的需要

19、。 需要指出的是,目前這個問題還在研究和探討中,還沒有一個系統(tǒng)完全需要指出的是,目前這個問題還在研究和探討中,還沒有一個系統(tǒng)完全 實現(xiàn)這種能力。特別是系統(tǒng)擴展到包含大量有源節(jié)點的網(wǎng)絡(luò)時,這個問實現(xiàn)這種能力。特別是系統(tǒng)擴展到包含大量有源節(jié)點的網(wǎng)絡(luò)時,這個問 題就更加突出。題就更加突出。 6.6. 支持細粒度數(shù)據(jù)存取支持細粒度數(shù)據(jù)存取 盡可能支持用戶對細粒度數(shù)據(jù)的訪問。這要求制定和實現(xiàn)更加完備盡可能支持用戶對細粒度數(shù)據(jù)的訪問。這要求制定和實現(xiàn)更加完備 的數(shù)據(jù)請求協(xié)議。的數(shù)據(jù)請求協(xié)議。 這個問題在空間數(shù)據(jù)分布式處理系統(tǒng)中更為突出。這個問題在空間數(shù)據(jù)分布式處理系統(tǒng)中更為突出。 7. 7. 網(wǎng)絡(luò)分割適應(yīng)

20、性網(wǎng)絡(luò)分割適應(yīng)性 盡可能適應(yīng)網(wǎng)絡(luò)動態(tài)分割的情形,避免由于網(wǎng)絡(luò)的分割和重組引起盡可能適應(yīng)網(wǎng)絡(luò)動態(tài)分割的情形,避免由于網(wǎng)絡(luò)的分割和重組引起 系統(tǒng)的問題,影響用戶的使用。系統(tǒng)的問題,影響用戶的使用。 3.3.分布式文件系統(tǒng)的組成分布式文件系統(tǒng)的組成 用戶程序用戶程序用戶程序用戶程序用戶程序用戶程序 文件系統(tǒng)組件文件系統(tǒng)組件 客客 戶戶 組組 件件 展展 開開 文文 件件 服服 務(wù)務(wù) 目錄服務(wù)目錄服務(wù) 目錄服務(wù)目錄服務(wù)RPC接口接口 用戶程序接口用戶程序接口 展開文件展開文件RPC接口接口 其中:其中: 展開文件服務(wù)提供了一個遠程調(diào)用接口供用戶程序使用。展開文件服務(wù)提供了一個遠程調(diào)用接口供用戶程序使用

21、。 它與目錄服務(wù)結(jié)合起來,為文件的存取提供一系列復(fù)雜的操它與目錄服務(wù)結(jié)合起來,為文件的存取提供一系列復(fù)雜的操 作。作。 客戶組件則將展開文件服務(wù)和目錄服務(wù)所提供的功能組織客戶組件則將展開文件服務(wù)和目錄服務(wù)所提供的功能組織 和集成在一起,輔以統(tǒng)一的接口,向用戶提供單一的編程接和集成在一起,輔以統(tǒng)一的接口,向用戶提供單一的編程接 口,是用戶就向使用傳統(tǒng)文件系統(tǒng)那樣來使用分布式文件系口,是用戶就向使用傳統(tǒng)文件系統(tǒng)那樣來使用分布式文件系 統(tǒng)。統(tǒng)。 1. 展開文件服務(wù)展開文件服務(wù) 展開文件服務(wù)主要實現(xiàn)對文件內(nèi)容的操作。在展開文件展開文件服務(wù)主要實現(xiàn)對文件內(nèi)容的操作。在展開文件 服務(wù)中,文件通過標識符來識

22、別。通常,文件表示符用一個服務(wù)中,文件通過標識符來識別。通常,文件表示符用一個 長整數(shù)來表示,以便保證分布式系統(tǒng)中所有文件表示的唯一長整數(shù)來表示,以便保證分布式系統(tǒng)中所有文件表示的唯一 性。文件標識符在創(chuàng)建文件和打開時產(chǎn)生并向用戶返回,與性。文件標識符在創(chuàng)建文件和打開時產(chǎn)生并向用戶返回,與 傳統(tǒng)方式一樣。傳統(tǒng)方式一樣。 展開文件服務(wù)的模型根據(jù)文件系統(tǒng)設(shè)計的要求來組織,展開文件服務(wù)的模型根據(jù)文件系統(tǒng)設(shè)計的要求來組織, 提供一個簡單通用的操作集合。原則上,這些操作及和與傳提供一個簡單通用的操作集合。原則上,這些操作及和與傳 統(tǒng)的文件系統(tǒng)提供的服務(wù)并無兩樣。統(tǒng)的文件系統(tǒng)提供的服務(wù)并無兩樣。 在分布式

23、環(huán)境中,傳統(tǒng)的文件控制塊內(nèi)容也發(fā)生了變化,在分布式環(huán)境中,傳統(tǒng)的文件控制塊內(nèi)容也發(fā)生了變化, 文件的保護也是由文件展開服務(wù)來實現(xiàn)的。其實現(xiàn)技術(shù)與傳文件的保護也是由文件展開服務(wù)來實現(xiàn)的。其實現(xiàn)技術(shù)與傳 統(tǒng)方法一樣,例如通過存取控制表、存取域等。統(tǒng)方法一樣,例如通過存取控制表、存取域等。 文文 件件 名名 文文 件件 長長 度度 創(chuàng)創(chuàng) 建建 時時 間間 郵郵 戳戳 讀讀 時時 間間 郵郵 戳戳 寫寫 時時 間間 郵郵 戳戳 屬屬 性性 時時 間間 郵郵 戳戳 用用 戶戶 計計 數(shù)數(shù) 文文 件件 所所 有有 者者 文文 件件 類類 型型 存存 取取 權(quán)權(quán) 限限 表表 文文 件件 控控 制制 快快 展

24、開文件服務(wù)負責(zé)維護其中文件長度、創(chuàng)建時間郵戳、讀展開文件服務(wù)負責(zé)維護其中文件長度、創(chuàng)建時間郵戳、讀 時間郵戳、寫時間郵戳、屬性時間郵戳等。而另外的一些時間郵戳、寫時間郵戳、屬性時間郵戳等。而另外的一些 屬性則由目錄服務(wù)來維護。文件展開服務(wù)提供某些訪問和屬性則由目錄服務(wù)來維護。文件展開服務(wù)提供某些訪問和 修改文件屬性的原語,供目錄服務(wù)使用。也允許用戶自己修改文件屬性的原語,供目錄服務(wù)使用。也允許用戶自己 定義部分屬性。定義部分屬性。 文件的保護也是由文件展開服務(wù)來實現(xiàn)的。其實現(xiàn)技術(shù)與文件的保護也是由文件展開服務(wù)來實現(xiàn)的。其實現(xiàn)技術(shù)與 傳統(tǒng)方法一樣,例如通過存取控制表、存取域等。傳統(tǒng)方法一樣,例如

25、通過存取控制表、存取域等。 兩類文件展開服務(wù)兩類文件展開服務(wù) 客客 戶機戶機 服務(wù)器服務(wù)器 下載下載 上載上載 在客戶機上修改在客戶機上修改 老文件老文件 新文件新文件 上載上載/ /下載模式下載模式 客客 戶機戶機 服務(wù)器服務(wù)器 遠程訪問模式遠程訪問模式 在上載在上載/ /下載模式,文件展開服務(wù)只提供讀文件和寫文件下載模式,文件展開服務(wù)只提供讀文件和寫文件 兩種方式服務(wù),即下載兩種方式服務(wù),即下載/ /上在整個文件。概念比較簡單,接上在整個文件。概念比較簡單,接 口非常簡潔,服務(wù)器端實現(xiàn)也方便。但客戶端必須具備較大口非常簡潔,服務(wù)器端實現(xiàn)也方便。但客戶端必須具備較大 的空間以便存放整個文件,

26、客戶端應(yīng)該具有復(fù)雜的文件訪問的空間以便存放整個文件,客戶端應(yīng)該具有復(fù)雜的文件訪問 功能,如讀、寫、偏移植移動等等。而它們是本地文件系統(tǒng)功能,如讀、寫、偏移植移動等等。而它們是本地文件系統(tǒng) 的事。而且,當(dāng)客戶只需要文件的一小部分時,這種方式顯的事。而且,當(dāng)客戶只需要文件的一小部分時,這種方式顯 然不夠經(jīng)濟,加大了網(wǎng)絡(luò)的壓力和用戶空間。然不夠經(jīng)濟,加大了網(wǎng)絡(luò)的壓力和用戶空間。 在遠程訪問模式,展開文件服務(wù)提供在遠程訪問模式,展開文件服務(wù)提供RPCRPC接口包括打開文接口包括打開文 件、關(guān)閉文件、度、寫、修改偏移植、檢查件、關(guān)閉文件、度、寫、修改偏移植、檢查/ /修改屬性等等,修改屬性等等, 這些都

27、在服務(wù)器端實現(xiàn)。顯然這種方式實現(xiàn)復(fù)雜,但運行開這些都在服務(wù)器端實現(xiàn)。顯然這種方式實現(xiàn)復(fù)雜,但運行開 銷(網(wǎng)絡(luò)開銷)較省,只需要傳輸要求的文件部分,在客戶銷(網(wǎng)絡(luò)開銷)較省,只需要傳輸要求的文件部分,在客戶 端也不必開辟較大的空間。端也不必開辟較大的空間。 2. 文件目錄服務(wù)文件目錄服務(wù) 目錄服務(wù)提供了文件的創(chuàng)建、刪除、命名、改名以及從一個目錄下移目錄服務(wù)提供了文件的創(chuàng)建、刪除、命名、改名以及從一個目錄下移 動到另一個目錄下等操作。這些并不涉及文件體的操作,也不涉及文件動到另一個目錄下等操作。這些并不涉及文件體的操作,也不涉及文件 是整體傳輸還是遠程訪問的問題。這里,關(guān)鍵的問題是實現(xiàn)文件名到唯是

28、整體傳輸還是遠程訪問的問題。這里,關(guān)鍵的問題是實現(xiàn)文件名到唯 一標識符的轉(zhuǎn)換。一標識符的轉(zhuǎn)換。 為了完成這種轉(zhuǎn)換,設(shè)立了目錄文件。目錄文件實際上是文件名到唯為了完成這種轉(zhuǎn)換,設(shè)立了目錄文件。目錄文件實際上是文件名到唯 一標識符的對照表,組織成文件的形式,所以目錄文件也有自己的文件一標識符的對照表,組織成文件的形式,所以目錄文件也有自己的文件 標識符。目錄允許有子目錄,這樣用戶可以將有關(guān)的文件組合到一個目標識符。目錄允許有子目錄,這樣用戶可以將有關(guān)的文件組合到一個目 錄下。同樣,目錄服務(wù)提供的文件服務(wù)對象也包括目錄文件。通常,分錄下。同樣,目錄服務(wù)提供的文件服務(wù)對象也包括目錄文件。通常,分 布式

29、文件系統(tǒng)的目錄文件組織成樹型結(jié)構(gòu),從而使整個文件系統(tǒng)呈現(xiàn)出布式文件系統(tǒng)的目錄文件組織成樹型結(jié)構(gòu),從而使整個文件系統(tǒng)呈現(xiàn)出 樹型結(jié)構(gòu)。不少系統(tǒng)允許目錄之間建立指針連接(象樹型結(jié)構(gòu)。不少系統(tǒng)允許目錄之間建立指針連接(象UNIXUNIX的的LinkLink),這),這 樣,樹型結(jié)構(gòu)就變成了樣,樹型結(jié)構(gòu)就變成了“格格”。這在分布式系統(tǒng)中尤其重要。在這里,。這在分布式系統(tǒng)中尤其重要。在這里, 每個目錄中又一個指針計數(shù),表示指向該目錄的連接數(shù)。每個目錄中又一個指針計數(shù),表示指向該目錄的連接數(shù)。 A BC 2 0 1 計算機計算機1 DE 11 計算機計算機2 圖中,右上角的數(shù)字圖中,右上角的數(shù)字 是指向該

30、文件的目錄是指向該文件的目錄 數(shù)量數(shù)量 兩臺計算機中的目錄兩臺計算機中的目錄 問題:問題:是否每一個文件都是整個目錄樹可見的?進而,如果是否每一個文件都是整個目錄樹可見的?進而,如果 系統(tǒng)中有多個服務(wù)器(顯然每個服務(wù)器上都有一顆獨立系統(tǒng)中有多個服務(wù)器(顯然每個服務(wù)器上都有一顆獨立 的目錄樹),系統(tǒng)是否存在一個全局的根目錄?再進一的目錄樹),系統(tǒng)是否存在一個全局的根目錄?再進一 步,能否知道每個文件所在的計算機名?步,能否知道每個文件所在的計算機名? 回答:應(yīng)該讓每一臺系統(tǒng)中的計算機知道系統(tǒng)中所有的文件;回答:應(yīng)該讓每一臺系統(tǒng)中的計算機知道系統(tǒng)中所有的文件; 如果應(yīng)用需要,應(yīng)該知道它所需要的文件

31、所在的機器名。如果應(yīng)用需要,應(yīng)該知道它所需要的文件所在的機器名。 但是,不一定需要存在一個全局的根目錄。但是,不一定需要存在一個全局的根目錄。 辦法辦法: 1.: 1. 文件命名采用文件命名采用 機器名機器名+ 文件路徑名文件路徑名 2.2. 將遠程文件安裝到本機的分層文件目錄結(jié)構(gòu)中將遠程文件安裝到本機的分層文件目錄結(jié)構(gòu)中 3.3. 存在并維護一個在所有計算機上單名字空間存在并維護一個在所有計算機上單名字空間 4 4 分布式系統(tǒng)中地理空間數(shù)據(jù)一致性保障分布式系統(tǒng)中地理空間數(shù)據(jù)一致性保障 1. 1. 全局目錄的組織全局目錄的組織 反映系統(tǒng)全部空間數(shù)據(jù)的全局數(shù)據(jù)目錄反映系統(tǒng)全部空間數(shù)據(jù)的全局數(shù)據(jù)目錄 反映系統(tǒng)全部節(jié)點的全局節(jié)點目錄(含負載)反映系統(tǒng)全部節(jié)點的全局節(jié)點目錄(含負載) 2. 2. 全局數(shù)據(jù)目錄全局數(shù)據(jù)目錄 采用基于空間位置的數(shù)據(jù)定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論