分布式系統(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頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第五章第五章 分布式系統(tǒng)完整性解決方案分布式系統(tǒng)完整性解決方案1.1.分布式系統(tǒng)中數(shù)據(jù)一致性存在的困分布式系統(tǒng)中數(shù)據(jù)一致性存在的困難難 1.1.高度并行帶來的問題高度并行帶來的問題 本機(jī)內(nèi)多任務(wù)并行帶來的困難本機(jī)內(nèi)多任務(wù)并行帶來的困難 多機(jī)并行帶來的困難多機(jī)并行帶來的困難 網(wǎng)絡(luò)延遲不可預(yù)測(cè)網(wǎng)絡(luò)延遲不可預(yù)測(cè) 2.2.多副本帶來的問題多副本帶來的問題 系統(tǒng)中存在多個(gè)副本,數(shù)據(jù)的修改通常會(huì)在不同的副系統(tǒng)中存在多個(gè)副本,數(shù)據(jù)的修改通常會(huì)在不同的副 本上進(jìn)行本上進(jìn)行 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 3. 空間數(shù)據(jù)所存在的特殊困難空間數(shù)據(jù)所存在的特殊困難 跨機(jī)圖幅的

2、接邊問題跨機(jī)圖幅的接邊問題 拓?fù)潢P(guān)系的全局動(dòng)態(tài)改變與生成問題拓?fù)潢P(guān)系的全局動(dòng)態(tài)改變與生成問題 4. 分布式系統(tǒng)中數(shù)據(jù)一致性保證的不同模型分布式系統(tǒng)中數(shù)據(jù)一致性保證的不同模型 嚴(yán)格一致性:讀出的數(shù)據(jù)始終為最近寫入的數(shù)據(jù)嚴(yán)格一致性:讀出的數(shù)據(jù)始終為最近寫入的數(shù)據(jù)計(jì)算機(jī)計(jì)算機(jī)a計(jì)算機(jī)計(jì)算機(jī)a計(jì)算機(jī)計(jì)算機(jī)a讀讀x寫寫x時(shí)刻時(shí)刻t1時(shí)刻時(shí)刻t2t t2 2 t t1 1,如果兩,如果兩者非常接近,有者非常接近,有可能因?yàn)榫W(wǎng)絡(luò)原可能因?yàn)榫W(wǎng)絡(luò)原因讀請(qǐng)求比寫請(qǐng)因讀請(qǐng)求比寫請(qǐng)求晚到!求晚到!太嚴(yán)格!實(shí)現(xiàn)太嚴(yán)格!實(shí)現(xiàn)難度極大!幾難度極大!幾乎不可能!乎不可能! 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)

3、中的數(shù)據(jù)一致性問題 順序一致性:只要所有的程序都以一定的順序運(yùn)行順序一致性:只要所有的程序都以一定的順序運(yùn)行(即所有程序的訪問操作在別的程序看來都是一樣的),(即所有程序的訪問操作在別的程序看來都是一樣的),每個(gè)程序的操作都以程序規(guī)定的次序?qū)崿F(xiàn),結(jié)果都應(yīng)該被每個(gè)程序的操作都以程序規(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)該接受。 順序一致性看似很順序一致性看似很“弱弱”,實(shí)際很強(qiáng),對(duì)多副本一致,實(shí)際很強(qiáng),對(duì)多副本一致性有很強(qiáng)的要求,實(shí)際實(shí)現(xiàn)也是難以做到的。只能在單一性有很強(qiáng)

4、的要求,實(shí)際實(shí)現(xiàn)也是難以做到的。只能在單一服務(wù)器上使用。服務(wù)器上使用。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 例例2 2 程序程序a a 程序程序b b 程序程序c c a=1; b=1 a=1; b=1; c=1c=1; printprint(b,cb,c) printprint(a,ca,c) printprint(a,ba,b) 理論上有理論上有9090個(gè)執(zhí)行的次序。以個(gè)執(zhí)行的次序。以a=1a=1開頭說明,共有開頭說明,共有5 5!=120=120個(gè)順序,但個(gè)順序,但b=1b=1不能在不能在printprint(a,ca,c)之后,因此一半是無效)之后,

5、因此一半是無效的;同理程序的;同理程序c c也如此,只剩下也如此,只剩下3030個(gè)有效,共個(gè)有效,共9090個(gè)有效順序。個(gè)有效順序。 但是,打印結(jié)果只有但是,打印結(jié)果只有6 6個(gè)數(shù)字、個(gè)數(shù)字、6464種可能。其中,種可能。其中,000000000000和和001001001001顯然不可能。顯然不可能。 應(yīng)該承認(rèn)所有合理的結(jié)果。例如,應(yīng)該承認(rèn)所有合理的結(jié)果。例如,001011001011,表示執(zhí)行的次,表示執(zhí)行的次序?yàn)椋盒驗(yàn)椋篴=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第五章第五章 分

6、布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 因果一致性:可能因果相關(guān)的寫操作應(yīng)對(duì)所有程序可因果一致性:可能因果相關(guān)的寫操作應(yīng)對(duì)所有程序可見并保持順序一致。并發(fā)的寫操作在不同計(jì)算機(jī)上看來可以見并保持順序一致。并發(fā)的寫操作在不同計(jì)算機(jī)上看來可以順序不同。順序不同。例例1 程序程序p1: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符合因果一致性要求,但違反了順序一致性。因?yàn)榉弦蚬恢滦砸?,但違反了順序一致性。因?yàn)閜3和和p4見見到訪問順序不同。到訪問順序不同。 第五章第五章 分布式

7、系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題例例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 違反了因果一致性。因?yàn)檫`反了因果一致性。因?yàn)閜2讀出了讀出了x=1,所以,所以p1和和p2的兩的兩個(gè)寫操作順序必定為個(gè)寫操作順序必定為w(x,1)在)在w(x,2)前。)前。 p3的結(jié)果才的結(jié)果才是正確的。是正確的。 因果一致性在實(shí)現(xiàn)時(shí)必須建立與維護(hù)依賴圖,這里涉及因果一致性在實(shí)現(xiàn)時(shí)必須建立與維護(hù)依賴圖,這里涉及到語義上的以來,是相當(dāng)困難的。到語義上的以來,是相當(dāng)困難的。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布

8、式系統(tǒng)中的數(shù)據(jù)一致性問題 pram一致性:一個(gè)程序的寫操作被其他進(jìn)程以指定一致性:一個(gè)程序的寫操作被其他進(jìn)程以指定的順序見到,不同程序的寫操作在不同程序看來次序可以不的順序見到,不同程序的寫操作在不同程序看來次序可以不同。同。例例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與順序一致性的差別在于,后者雖然為確定語句與順序一致性的差別在于,后者雖然為確定語句的順序,但要求所有程序遵從共同的順序;而前者則允許不的順序,但要求所有程序遵從共同的順序;而前者則允許不同程

9、序見到的順序可以不同。同程序見到的順序可以不同。第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題例例2 在前面的例子中,結(jié)果在前面的例子中,結(jié)果001001是可以接受的。這時(shí),是可以接受的。這時(shí),各程序看到的順序:各程序看到的順序:程序程序aa=1print(b,c)程序程序ba=1print(a,c)c=1程序程序ca=1print(a,b)b=1這里只列出本程序感興趣(與自己的打印有關(guān))的語句執(zhí)行次序這里只列出本程序感興趣(與自己的打印有關(guān))的語句執(zhí)行次序第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 pram一致性要求雖然較弱,但它要求程序的

10、寫操作必一致性要求雖然較弱,但它要求程序的寫操作必須被其他程序看到(盡管他們的順序可以不同)。實(shí)際上,須被其他程序看到(盡管他們的順序可以不同)。實(shí)際上,這樣的要求有點(diǎn)過高,每一個(gè)程序只要能夠看到與自己有關(guān)這樣的要求有點(diǎn)過高,每一個(gè)程序只要能夠看到與自己有關(guān)的其他程序的寫操作就可以了。的其他程序的寫操作就可以了。 弱排序:弱排序只要求對(duì)共享數(shù)據(jù)結(jié)構(gòu)的訪問保證順弱排序:弱排序只要求對(duì)共享數(shù)據(jù)結(jié)構(gòu)的訪問保證順序一致性。即:序一致性。即: 對(duì)同步變量(可與信號(hào)量類比)的訪問是順序一致的;對(duì)同步變量(可與信號(hào)量類比)的訪問是順序一致的; 在所有以前的寫操作結(jié)束之前,不的訪問同步變量;在所有以前的寫操作

11、結(jié)束之前,不的訪問同步變量; 在先前所有的同步變量訪問完成以前,不得訪問共享數(shù)在先前所有的同步變量訪問完成以前,不得訪問共享數(shù)據(jù)。據(jù)。第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題實(shí)現(xiàn)考慮:實(shí)現(xiàn)考慮: 為保證第一點(diǎn),對(duì)同步變量的訪問必須立即廣播。在廣播完成之前,為保證第一點(diǎn),對(duì)同步變量的訪問必須立即廣播。在廣播完成之前,其他程序不的訪問別的同步變量;其他程序不的訪問別的同步變量; 對(duì)第二點(diǎn),強(qiáng)制要求所有的同步訪問開始前,已經(jīng)開始的所有的寫操對(duì)第二點(diǎn),強(qiáng)制要求所有的同步訪問開始前,已經(jīng)開始的所有的寫操作必須完成,在更新共享數(shù)據(jù)后立即進(jìn)行同步,將新值傳遍所有副本;作必須完成

12、,在更新共享數(shù)據(jù)后立即進(jìn)行同步,將新值傳遍所有副本; 第三點(diǎn),保證在讀共享數(shù)據(jù)之前,完成同步操作,以便可以讀到最新第三點(diǎn),保證在讀共享數(shù)據(jù)之前,完成同步操作,以便可以讀到最新值。值。做法:做法: 任何程序編制時(shí),在對(duì)共享數(shù)據(jù)寫操作后都必須緊接著訪問同步變量;任何程序編制時(shí),在對(duì)共享數(shù)據(jù)寫操作后都必須緊接著訪問同步變量; 任何讀共享數(shù)據(jù)操作前,訪問同步變量。任何讀共享數(shù)據(jù)操作前,訪問同步變量。例如:例如:p1:w(x,1) s1 w(y,2)s2p2: s1 r(x)1p3: s2 r(y)2弱一致性的缺陷在于沒有區(qū)分對(duì)弱一致性的缺陷在于沒有區(qū)分對(duì)共享變量的修改與讀取。所以同共享變量的修改與讀取

13、。所以同步變量的訪問即要確保本地寫全步變量的訪問即要確保本地寫全部完成(所有副本均已更新)還部完成(所有副本均已更新)還要收集其它計(jì)算機(jī)的寫操作信息。要收集其它計(jì)算機(jī)的寫操作信息。第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 釋放一致性:類似臨界區(qū),提供釋放一致性:類似臨界區(qū),提供“獲取獲取”和和“釋放釋放”兩類原子同步操作。強(qiáng)制:兩類原子同步操作。強(qiáng)制: 程序在訪問共享變量之前必須成功完成程序在訪問共享變量之前必須成功完成“獲取獲取”操作;操作; 完成完成“釋放釋放”操作前,程序的訪問操作必須結(jié)束;操作前,程序的訪問操作必須結(jié)束; “獲取獲取”、“釋放釋放”應(yīng)保證順

14、序一致性。應(yīng)保證順序一致性。 釋放一致性與用信號(hào)量和釋放一致性與用信號(hào)量和p、v操作來保證臨界區(qū)訪問正操作來保證臨界區(qū)訪問正確性何其相似乃爾!確性何其相似乃爾! 與此相對(duì)應(yīng),還可以有入口一致性。與此相對(duì)應(yīng),還可以有入口一致性。第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題小結(jié):小結(jié):一致性模型可以分為兩類:一致性模型可以分為兩類:不使用同步操作不使用同步操作嚴(yán)格:所有訪問時(shí)間絕對(duì)順序嚴(yán)格:所有訪問時(shí)間絕對(duì)順序順序:所有程序以相同順序檢測(cè)所有順序:所有程序以相同順序檢測(cè)所有 共享訪問事件共享訪問事件因果:所有程序以相同順序檢測(cè)所有因果:所有程序以相同順序檢測(cè)所有 因果聯(lián)系

15、事件因果聯(lián)系事件 pram:所有程序按預(yù)定次序到來自一:所有程序按預(yù)定次序到來自一 臺(tái)機(jī)器的寫操作,來自其他機(jī)臺(tái)機(jī)器的寫操作,來自其他機(jī) 器的寫操作順序不必相同器的寫操作順序不必相同最強(qiáng)最強(qiáng) 使用同步操作使用同步操作弱:同步完成后共享數(shù)據(jù)才保持一致弱:同步完成后共享數(shù)據(jù)才保持一致釋放:離開臨界區(qū)后共享數(shù)據(jù)才保持釋放:離開臨界區(qū)后共享數(shù)據(jù)才保持 一致一致入口:進(jìn)入臨界區(qū)時(shí)共享數(shù)據(jù)保持一致入口:進(jìn)入臨界區(qū)時(shí)共享數(shù)據(jù)保持一致第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 5.實(shí)現(xiàn)問題 維護(hù)副本一致性的兩種策略: 寫有效:修改本地?cái)?shù)據(jù)時(shí),將修改值組播所有副本節(jié)寫有效:修改本地?cái)?shù)

16、據(jù)時(shí),將修改值組播所有副本節(jié)點(diǎn),副本節(jié)點(diǎn)據(jù)此修改本地?cái)?shù)據(jù)。點(diǎn),副本節(jié)點(diǎn)據(jù)此修改本地?cái)?shù)據(jù)。 要求修改傳送次序嚴(yán)格保證。要求修改傳送次序嚴(yán)格保證。 每次修改必須傳送修改值,網(wǎng)絡(luò)開銷大每次修改必須傳送修改值,網(wǎng)絡(luò)開銷大 寫無效:修改本地?cái)?shù)據(jù)前,通知所用副本停止使用寫無效:修改本地?cái)?shù)據(jù)前,通知所用副本停止使用(無效),組播完成后才進(jìn)行修改。其他副本需使用前,(無效),組播完成后才進(jìn)行修改。其他副本需使用前,向它申請(qǐng)發(fā)送修改值,進(jìn)行修改后再使用。向它申請(qǐng)發(fā)送修改值,進(jìn)行修改后再使用。 多次修改可能一次傳送,但每次需發(fā)送無效通知。多次修改可能一次傳送,但每次需發(fā)送無效通知。 第五章第五章 分布式系統(tǒng)中的數(shù)

17、據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題2.2.對(duì)對(duì)分布式文件系統(tǒng)的要求分布式文件系統(tǒng)的要求 1. 1. 存取透明性存取透明性 用戶無須知道文件的分布,傳統(tǒng)的本地文件操作手段可以直接用于遠(yuǎn)用戶無須知道文件的分布,傳統(tǒng)的本地文件操作手段可以直接用于遠(yuǎn)程文件操作,對(duì)已有的用戶程序不必刻意進(jìn)行改動(dòng)就可以適應(yīng)分布式程文件操作,對(duì)已有的用戶程序不必刻意進(jìn)行改動(dòng)就可以適應(yīng)分布式環(huán)境。環(huán)境。 用戶無須注意環(huán)境中其他用戶是否與自己競爭使用同一個(gè)文件,無須用戶無須注意環(huán)境中其他用戶是否與自己競爭使用同一個(gè)文件,無須用戶在自己的程序中對(duì)共享文件數(shù)據(jù)添加并發(fā)控制,并能保持文件數(shù)用戶在自己的程序中對(duì)共享文件數(shù)據(jù)添加并

18、發(fā)控制,并能保持文件數(shù)據(jù)的完整性。據(jù)的完整性。 2.2.位置透明性位置透明性 用戶看到的是全局的文件名空間,文件或文件組在機(jī)器間遷移和重新用戶看到的是全局的文件名空間,文件或文件組在機(jī)器間遷移和重新定位時(shí)不必改變其路徑,用戶程序無須改動(dòng)。無論用戶處于哪個(gè)節(jié)點(diǎn),定位時(shí)不必改變其路徑,用戶程序無須改動(dòng)。無論用戶處于哪個(gè)節(jié)點(diǎn),看到的是相同的文件名空間。出于可靠性考慮,同一個(gè)文件可能在不看到的是相同的文件名空間。出于可靠性考慮,同一個(gè)文件可能在不同的節(jié)點(diǎn)上保留副本,副本的使用對(duì)用戶無關(guān),用戶意識(shí)不到當(dāng)前使同的節(jié)點(diǎn)上保留副本,副本的使用對(duì)用戶無關(guān),用戶意識(shí)不到當(dāng)前使用的是哪一個(gè)副本用的是哪一個(gè)副本第五章

19、第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 3.3. 故障透明性故障透明性 在文件服務(wù)執(zhí)行過程中發(fā)生故障并修復(fù)(例如文件服務(wù)器故障,啟用在文件服務(wù)執(zhí)行過程中發(fā)生故障并修復(fù)(例如文件服務(wù)器故障,啟用備用服務(wù)器;網(wǎng)絡(luò)傳輸故障,需要重發(fā)等)對(duì)用戶屏蔽。備用服務(wù)器;網(wǎng)絡(luò)傳輸故障,需要重發(fā)等)對(duì)用戶屏蔽。 4. 4. 性能透明性性能透明性 用戶不會(huì)感到由于遠(yuǎn)程存取文件而帶來性能上的顯著降低。此外,還用戶不會(huì)感到由于遠(yuǎn)程存取文件而帶來性能上的顯著降低。此外,還應(yīng)該滿足硬件和本地操作系統(tǒng)的異構(gòu)性,客戶端和服務(wù)器端的軟件可以應(yīng)該滿足硬件和本地操作系統(tǒng)的異構(gòu)性,客戶端和服務(wù)器端的軟件可以在

20、不同的硬件和本地操作系統(tǒng)上運(yùn)行。因此接口定義必須良好。在不同的硬件和本地操作系統(tǒng)上運(yùn)行。因此接口定義必須良好。 5. 5. 可擴(kuò)展性可擴(kuò)展性 系統(tǒng)必須具備增量擴(kuò)展的能力,以適應(yīng)負(fù)載和網(wǎng)絡(luò)擴(kuò)充的需要。系統(tǒng)必須具備增量擴(kuò)展的能力,以適應(yīng)負(fù)載和網(wǎng)絡(luò)擴(kuò)充的需要。需要指出的是,目前這個(gè)問題還在研究和探討中,還沒有一個(gè)系統(tǒng)完全需要指出的是,目前這個(gè)問題還在研究和探討中,還沒有一個(gè)系統(tǒng)完全實(shí)現(xiàn)這種能力。特別是系統(tǒng)擴(kuò)展到包含大量有源節(jié)點(diǎn)的網(wǎng)絡(luò)時(shí),這個(gè)問實(shí)現(xiàn)這種能力。特別是系統(tǒng)擴(kuò)展到包含大量有源節(jié)點(diǎn)的網(wǎng)絡(luò)時(shí),這個(gè)問題就更加突出。題就更加突出。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問

21、題6.6. 支持細(xì)粒度數(shù)據(jù)存取支持細(xì)粒度數(shù)據(jù)存取 盡可能支持用戶對(duì)細(xì)粒度數(shù)據(jù)的訪問。這要求制定和實(shí)現(xiàn)更加完備盡可能支持用戶對(duì)細(xì)粒度數(shù)據(jù)的訪問。這要求制定和實(shí)現(xiàn)更加完備的數(shù)據(jù)請(qǐng)求協(xié)議。的數(shù)據(jù)請(qǐng)求協(xié)議。這個(gè)問題在空間數(shù)據(jù)分布式處理系統(tǒng)中更為突出。這個(gè)問題在空間數(shù)據(jù)分布式處理系統(tǒng)中更為突出。7. 7. 網(wǎng)絡(luò)分割適應(yīng)性網(wǎng)絡(luò)分割適應(yīng)性盡可能適應(yīng)網(wǎng)絡(luò)動(dòng)態(tài)分割的情形,避免由于網(wǎng)絡(luò)的分割和重組引起盡可能適應(yīng)網(wǎng)絡(luò)動(dòng)態(tài)分割的情形,避免由于網(wǎng)絡(luò)的分割和重組引起系統(tǒng)的問題,影響用戶的使用。系統(tǒng)的問題,影響用戶的使用。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題3.3.分布式文件系統(tǒng)的組成分

22、布式文件系統(tǒng)的組成 用戶程序用戶程序用戶程序用戶程序用戶程序用戶程序文件系統(tǒng)組件文件系統(tǒng)組件客客 戶戶 組組 件件展展 開開 文文 件件 服服 務(wù)務(wù)目錄服務(wù)目錄服務(wù)目錄服務(wù)目錄服務(wù)rpc接口接口用戶程序接口用戶程序接口展開文件展開文件rpc接口接口第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 其中:其中: 展開文件服務(wù)提供了一個(gè)遠(yuǎn)程調(diào)用接口供用戶程序使用。展開文件服務(wù)提供了一個(gè)遠(yuǎn)程調(diào)用接口供用戶程序使用。它與目錄服務(wù)結(jié)合起來,為文件的存取提供一系列復(fù)雜的操它與目錄服務(wù)結(jié)合起來,為文件的存取提供一系列復(fù)雜的操作。作。 客戶組件則將展開文件服務(wù)和目錄服務(wù)所提供的功能組織客

23、戶組件則將展開文件服務(wù)和目錄服務(wù)所提供的功能組織和集成在一起,輔以統(tǒng)一的接口,向用戶提供單一的編程接和集成在一起,輔以統(tǒng)一的接口,向用戶提供單一的編程接口,是用戶就向使用傳統(tǒng)文件系統(tǒng)那樣來使用分布式文件系口,是用戶就向使用傳統(tǒng)文件系統(tǒng)那樣來使用分布式文件系統(tǒng)。統(tǒng)。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題1. 展開文件服務(wù)展開文件服務(wù) 展開文件服務(wù)主要實(shí)現(xiàn)對(duì)文件內(nèi)容的操作。在展開文件展開文件服務(wù)主要實(shí)現(xiàn)對(duì)文件內(nèi)容的操作。在展開文件服務(wù)中,文件通過標(biāo)識(shí)符來識(shí)別。通常,文件表示符用一個(gè)服務(wù)中,文件通過標(biāo)識(shí)符來識(shí)別。通常,文件表示符用一個(gè)長整數(shù)來表示,以便保證分布式系統(tǒng)

24、中所有文件表示的唯一長整數(shù)來表示,以便保證分布式系統(tǒng)中所有文件表示的唯一性。文件標(biāo)識(shí)符在創(chuàng)建文件和打開時(shí)產(chǎn)生并向用戶返回,與性。文件標(biāo)識(shí)符在創(chuàng)建文件和打開時(shí)產(chǎn)生并向用戶返回,與傳統(tǒng)方式一樣。傳統(tǒng)方式一樣。 展開文件服務(wù)的模型根據(jù)文件系統(tǒng)設(shè)計(jì)的要求來組織,展開文件服務(wù)的模型根據(jù)文件系統(tǒng)設(shè)計(jì)的要求來組織,提供一個(gè)簡單通用的操作集合。原則上,這些操作及和與傳提供一個(gè)簡單通用的操作集合。原則上,這些操作及和與傳統(tǒng)的文件系統(tǒng)提供的服務(wù)并無兩樣。統(tǒng)的文件系統(tǒng)提供的服務(wù)并無兩樣。 在分布式環(huán)境中,傳統(tǒng)的文件控制塊內(nèi)容也發(fā)生了變化,在分布式環(huán)境中,傳統(tǒng)的文件控制塊內(nèi)容也發(fā)生了變化,文件的保護(hù)也是由文件展開服務(wù)

25、來實(shí)現(xiàn)的。其實(shí)現(xiàn)技術(shù)與傳文件的保護(hù)也是由文件展開服務(wù)來實(shí)現(xiàn)的。其實(shí)現(xiàn)技術(shù)與傳統(tǒng)方法一樣,例如通過存取控制表、存取域等。統(tǒng)方法一樣,例如通過存取控制表、存取域等。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題文文 件件 名名文文 件件 長長 度度創(chuàng)創(chuàng) 建建 時(shí)時(shí) 間間 郵郵 戳戳讀讀 時(shí)時(shí) 間間 郵郵 戳戳寫寫 時(shí)時(shí) 間間 郵郵 戳戳屬屬 性性 時(shí)時(shí) 間間 郵郵 戳戳用用 戶戶 計(jì)計(jì) 數(shù)數(shù)文文 件件 所所 有有 者者文文 件件 類類 型型存存 取取 權(quán)權(quán) 限限 表表文文 件件 控控 制制 快快展開文件服務(wù)負(fù)責(zé)維護(hù)其中文件長度、創(chuàng)建時(shí)間郵戳、讀展開文件服務(wù)負(fù)責(zé)維護(hù)其中文件

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

27、一致性問題 兩類文件展開服務(wù)兩類文件展開服務(wù)客客 戶機(jī)戶機(jī) 服務(wù)器服務(wù)器 下載下載上載上載在客戶機(jī)上修改在客戶機(jī)上修改老文件老文件新文件新文件上載上載/ /下載模式下載模式客客 戶機(jī)戶機(jī) 服務(wù)器服務(wù)器 遠(yuǎn)程訪問模式遠(yuǎn)程訪問模式第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 在上載在上載/ /下載模式,文件展開服務(wù)只提供讀文件和寫文件下載模式,文件展開服務(wù)只提供讀文件和寫文件兩種方式服務(wù),即下載兩種方式服務(wù),即下載/ /上在整個(gè)文件。概念比較簡單,接上在整個(gè)文件。概念比較簡單,接口非常簡潔,服務(wù)器端實(shí)現(xiàn)也方便。但客戶端必須具備較大口非常簡潔,服務(wù)器端實(shí)現(xiàn)也方便。但客戶端必

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

29、等,修改屬性等等,這些都在服務(wù)器端實(shí)現(xiàn)。顯然這種方式實(shí)現(xiàn)復(fù)雜,但運(yùn)行開這些都在服務(wù)器端實(shí)現(xiàn)。顯然這種方式實(shí)現(xiàn)復(fù)雜,但運(yùn)行開銷(網(wǎng)絡(luò)開銷)較省,只需要傳輸要求的文件部分,在客戶銷(網(wǎng)絡(luò)開銷)較省,只需要傳輸要求的文件部分,在客戶端也不必開辟較大的空間。端也不必開辟較大的空間。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題2. 文件目錄服務(wù)文件目錄服務(wù) 目錄服務(wù)提供了文件的創(chuàng)建、刪除、命名、改名以及從一個(gè)目錄下移目錄服務(wù)提供了文件的創(chuàng)建、刪除、命名、改名以及從一個(gè)目錄下移動(dòng)到另一個(gè)目錄下等操作。這些并不涉及文件體的操作,也不涉及文件動(dòng)到另一個(gè)目錄下等操作。這些并不涉及文件

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

31、。通常,分錄下。同樣,目錄服務(wù)提供的文件服務(wù)對(duì)象也包括目錄文件。通常,分布式文件系統(tǒng)的目錄文件組織成樹型結(jié)構(gòu),從而使整個(gè)文件系統(tǒng)呈現(xiàn)出布式文件系統(tǒng)的目錄文件組織成樹型結(jié)構(gòu),從而使整個(gè)文件系統(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)中尤其重要。在這里,每個(gè)目錄中又一個(gè)指針計(jì)數(shù),表示指向該目錄的連接數(shù)。每個(gè)目錄中又一個(gè)指針計(jì)數(shù),表示指向該目錄的連接數(shù)。 第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題

32、分布式系統(tǒng)中的數(shù)據(jù)一致性問題abc201計(jì)算機(jī)計(jì)算機(jī)1de11計(jì)算機(jī)計(jì)算機(jī)2圖中,右上角的數(shù)字圖中,右上角的數(shù)字是指向該文件的目錄是指向該文件的目錄數(shù)量數(shù)量兩臺(tái)計(jì)算機(jī)中的目錄兩臺(tái)計(jì)算機(jī)中的目錄第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題問題:問題:是否每一個(gè)文件都是整個(gè)目錄樹可見的?進(jìn)而,如果是否每一個(gè)文件都是整個(gè)目錄樹可見的?進(jìn)而,如果系統(tǒng)中有多個(gè)服務(wù)器(顯然每個(gè)服務(wù)器上都有一顆獨(dú)立系統(tǒng)中有多個(gè)服務(wù)器(顯然每個(gè)服務(wù)器上都有一顆獨(dú)立的目錄樹),系統(tǒng)是否存在一個(gè)全局的根目錄?再進(jìn)一的目錄樹),系統(tǒng)是否存在一個(gè)全局的根目錄?再進(jìn)一步,能否知道每個(gè)文件所在的計(jì)算機(jī)名?步,能

33、否知道每個(gè)文件所在的計(jì)算機(jī)名?回答:應(yīng)該讓每一臺(tái)系統(tǒng)中的計(jì)算機(jī)知道系統(tǒng)中所有的文件;回答:應(yīng)該讓每一臺(tái)系統(tǒng)中的計(jì)算機(jī)知道系統(tǒng)中所有的文件;如果應(yīng)用需要,應(yīng)該知道它所需要的文件所在的機(jī)器名。如果應(yīng)用需要,應(yīng)該知道它所需要的文件所在的機(jī)器名。但是,不一定需要存在一個(gè)全局的根目錄。但是,不一定需要存在一個(gè)全局的根目錄。辦法辦法: 1.: 1. 文件命名采用文件命名采用 機(jī)器名機(jī)器名+ 文件路徑名文件路徑名 2.2. 將遠(yuǎn)程文件安裝到本機(jī)的分層文件目錄結(jié)構(gòu)中將遠(yuǎn)程文件安裝到本機(jī)的分層文件目錄結(jié)構(gòu)中 3.3. 存在并維護(hù)一個(gè)在所有計(jì)算機(jī)上單名字空間存在并維護(hù)一個(gè)在所有計(jì)算機(jī)上單名字空間第五章第五章 分布

34、式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題4 4 分布式系統(tǒng)中地理空間數(shù)據(jù)一致性保障分布式系統(tǒng)中地理空間數(shù)據(jù)一致性保障 1. 1. 全局目錄的組織全局目錄的組織 反映系統(tǒng)全部空間數(shù)據(jù)的全局?jǐn)?shù)據(jù)目錄反映系統(tǒng)全部空間數(shù)據(jù)的全局?jǐn)?shù)據(jù)目錄 反映系統(tǒng)全部節(jié)點(diǎn)的全局節(jié)點(diǎn)目錄(含負(fù)載)反映系統(tǒng)全部節(jié)點(diǎn)的全局節(jié)點(diǎn)目錄(含負(fù)載) 2. 2. 全局?jǐn)?shù)據(jù)目錄全局?jǐn)?shù)據(jù)目錄 采用基于空間位置的數(shù)據(jù)定位機(jī)制采用基于空間位置的數(shù)據(jù)定位機(jī)制 設(shè)定主副本節(jié)點(diǎn),設(shè)定主副本節(jié)點(diǎn),只能由主副本所在節(jié)點(diǎn)可以執(zhí)行只能由主副本所在節(jié)點(diǎn)可以執(zhí)行相應(yīng)相應(yīng)“寫操作寫操作”并發(fā)起相應(yīng)數(shù)據(jù)的同步并發(fā)起相應(yīng)數(shù)據(jù)的同步 數(shù)據(jù)庫復(fù)制技術(shù)與全局?jǐn)?shù)

35、據(jù)目錄同步數(shù)據(jù)庫復(fù)制技術(shù)與全局?jǐn)?shù)據(jù)目錄同步 數(shù)據(jù)庫復(fù)制技術(shù)與全局?jǐn)?shù)據(jù)內(nèi)容同步數(shù)據(jù)庫復(fù)制技術(shù)與全局?jǐn)?shù)據(jù)內(nèi)容同步第五章第五章 分布式系統(tǒng)中的數(shù)據(jù)一致性問題分布式系統(tǒng)中的數(shù)據(jù)一致性問題 3. 數(shù)據(jù)同步時(shí)刻規(guī)定數(shù)據(jù)同步時(shí)刻規(guī)定 同步時(shí)刻:同步時(shí)刻:“寫操作寫操作”執(zhí)行之后、節(jié)點(diǎn)動(dòng)態(tài)加入與退執(zhí)行之后、節(jié)點(diǎn)動(dòng)態(tài)加入與退出之后出之后 同步內(nèi)容:數(shù)據(jù)同步、目錄同步同步內(nèi)容:數(shù)據(jù)同步、目錄同步 4. 操作分布策略操作分布策略 第一優(yōu)先:就地計(jì)算第一優(yōu)先:就地計(jì)算 第二優(yōu)先:主副本節(jié)點(diǎn)第二優(yōu)先:主副本節(jié)點(diǎn) 第三優(yōu)先:負(fù)載平衡第三優(yōu)先:負(fù)載平衡 5. 分布計(jì)算的組織分布計(jì)算的組織 計(jì)算由并行語句組成計(jì)算由并行語句組成 并行語

溫馨提示

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

評(píng)論

0/150

提交評(píng)論