專利名稱:實現(xiàn)緩存一致性的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及元數(shù)據(jù)及同步對元數(shù)據(jù)的改變。更具體地說,通過當(dāng)同步操作處于向服務(wù)器更新元數(shù)據(jù)的過程中時允許客戶機繼續(xù)改變數(shù)據(jù)文件,使用修改的同步操作來支持異步寫入操作。
背景技術(shù):
圖1為一種現(xiàn)有技術(shù)的具有共享持久性存儲器的分布式系統(tǒng)的框圖(10)。該分布式系統(tǒng)包括一具有多個服務(wù)器節(jié)點(30)和(40)、一管理節(jié)點(50)以及多個客戶機節(jié)點(52)和(54)的存儲區(qū)域網(wǎng)絡(luò)(22)。該存儲區(qū)域網(wǎng)絡(luò)(22)具有文件數(shù)據(jù)空間(24)和元數(shù)據(jù)空間(26)。元數(shù)據(jù)空間是為服務(wù)器(30)和(40)保留的??蛻魴C(52)和(54)中的每一個可訪問存儲在存儲區(qū)域網(wǎng)絡(luò)(22)的文件數(shù)據(jù)空間(24)的一個或多個對象,但是不可訪問元數(shù)據(jù)空間(26)。在打開存儲區(qū)域網(wǎng)絡(luò)(22)中的存儲介質(zhì)中現(xiàn)有的文件對象的內(nèi)容時,客戶機聯(lián)系服務(wù)器以得到元數(shù)據(jù)和鎖。服務(wù)器在存儲區(qū)域網(wǎng)絡(luò)(22)的元數(shù)據(jù)空間(26)內(nèi)為被請求文件執(zhí)行元數(shù)據(jù)信息的查找。服務(wù)器(30)或(40)之一向發(fā)出請求的客戶機傳送許可的鎖信息以及文件元數(shù)據(jù),包括組成該文件的所有數(shù)據(jù)塊的位置。一旦客戶機持有了一分布式鎖并知道了數(shù)據(jù)塊的位置,客戶機就可以從附接于存儲區(qū)域網(wǎng)絡(luò)的一共享存儲設(shè)備直接訪問該文件的數(shù)據(jù)。
對于圖1所示的系統(tǒng),元數(shù)據(jù)提供了有關(guān)從一分布式文件系統(tǒng)中的客戶機或從一非分布式文件系統(tǒng)中的客戶機/服務(wù)器節(jié)點請求的數(shù)據(jù)的位置的信息。元數(shù)據(jù)包含了所使用的塊的形式、文件大小,修改時間等的信息。在分布式的文件系統(tǒng)中,元數(shù)據(jù)由服務(wù)器維護。一旦客戶機訪問文件,則則可能發(fā)生對文件的改變。需要將反映這些改變的元數(shù)據(jù)傳送到服務(wù)器。寫模式有兩個大的類別。第一類別稱為同步寫入模式,其中在到服務(wù)器節(jié)點的先前元數(shù)據(jù)事務(wù)更新完成之前,阻止相應(yīng)文件對象的所有寫入者或元數(shù)據(jù)修改者繼續(xù)對數(shù)據(jù)文件寫入任何其他改變。第二類別稱為異步寫入模式,該模式支持寫入者或元數(shù)據(jù)修改者改變相應(yīng)的文件對象并延緩數(shù)據(jù)和元數(shù)據(jù)事務(wù)到服務(wù)器的更新。
圖2是說明了現(xiàn)有技術(shù)的一種異步寫操作的過程的流程圖(100)。一旦接收到一寫請求,客戶機就進行檢驗,來判定是否可進行對文件中數(shù)據(jù)的寫操作(102)。否定響應(yīng)將要求客戶機在返回步驟(102)以重復(fù)該問詢之前等待一段時間以改變文件。在一個實施例中,應(yīng)用線程休眠直至一同步數(shù)據(jù)與元數(shù)據(jù)的線程喚醒該應(yīng)用線程。一旦接收到對在步驟(102)的檢驗的肯定響應(yīng),客戶機上更新該文件的應(yīng)用將數(shù)據(jù)寫入客戶機數(shù)據(jù)緩存(104)。在步驟(104)之后,應(yīng)用更新客戶機緩存中的元數(shù)據(jù)(106),并且應(yīng)用返回處理(108)。在異步寫入模式下,與向盤寫入數(shù)據(jù)并同步客戶機的緩存與服務(wù)器的緩存相比,更關(guān)心的是即時性能。以異步方式操作的文件系統(tǒng)可使用一同步線程來在客戶機元數(shù)據(jù)和服務(wù)器元數(shù)據(jù)的狀態(tài)需要一致時,執(zhí)行一延遲的同步操作。通常,該同步線程將周期地運行,以同步客戶機的緩存與持久性存儲器。因此,當(dāng)客戶機數(shù)據(jù)緩存需要被寫入持久性存儲器并且客戶機元數(shù)據(jù)和服務(wù)器元數(shù)據(jù)需要保持一致時,該現(xiàn)有技術(shù)的異步寫入模式最終使用了同步線程。
圖3是說明一種現(xiàn)有技術(shù)的用于同步文件系統(tǒng)緩存的、也稱為同步操作的同步線程的流程圖(120)。該同步操作通常使用以下兩個連續(xù)的步驟將數(shù)據(jù)緩存寫入盤,以及更新元數(shù)據(jù)的改變。在一分布式文件系統(tǒng)中,需要將元數(shù)據(jù)的改變更新到服務(wù)器。在應(yīng)用改變一數(shù)據(jù)文件之后,啟動客戶機數(shù)據(jù)文件的同步(122)。一旦啟動同步操作,就阻止在該客戶機上執(zhí)行的當(dāng)前應(yīng)用或其他應(yīng)用進一步改變該數(shù)據(jù)文件(124)。此后,將客戶機數(shù)據(jù)緩存寫入本地存儲介質(zhì)的持久性存儲器中(126),接下來,將客戶機元數(shù)據(jù)改變的事務(wù)更新發(fā)送到服務(wù)器,并且客戶機在其等待響應(yīng)時,進入等待狀態(tài)(128)。一旦客戶機向服務(wù)器發(fā)送了元數(shù)據(jù)事務(wù)更新,就標(biāo)記客戶機緩存以反映該傳出通信,并且在繼續(xù)允許使用一應(yīng)用寫入文件之前,客戶機等待接收來自服務(wù)器的響應(yīng)。在接收到元數(shù)據(jù)更新(130)之后,服務(wù)器發(fā)送元數(shù)據(jù)更新事務(wù)到一存儲區(qū)域網(wǎng)絡(luò)的持久性存儲器(132),接下來將一響應(yīng)發(fā)送到啟動該元數(shù)據(jù)更新的客戶機,該響應(yīng)指示已將元數(shù)據(jù)改變記錄在存儲區(qū)域網(wǎng)絡(luò)(134)。類似的,一旦接收到來自服務(wù)器的信息(136),客戶機將處理該響應(yīng)(138),以便應(yīng)用可以繼續(xù)對該數(shù)據(jù)文件進行寫入(140)??蛻魴C在步驟(136)接收到的信息并不指示由服務(wù)器進行的元數(shù)據(jù)改變的記錄。相反地,在步驟(136)接收到的信息將指示元數(shù)據(jù)更新是否被正確記錄在共享的存儲介質(zhì)中。如果元數(shù)據(jù)更新沒有被記錄,這就表明發(fā)生了錯誤,并且服務(wù)器不能對元數(shù)據(jù)應(yīng)用客戶機的改變。因此,圖3所示的現(xiàn)有技術(shù)示例顯示了這樣一種同步操作,其中,相應(yīng)文件對象的寫入者或元數(shù)據(jù)改變者被阻止繼續(xù)向一數(shù)據(jù)文件寫入任何其他的改變,直到進行中的元數(shù)據(jù)更新已通過到服務(wù)器的事務(wù)完成。
正如上面說明的,現(xiàn)有技術(shù)有一些缺點。例如,對數(shù)據(jù)文件的所有修改操作在該文件的整個同步過程期間被阻止。這種阻止持續(xù)時間在涉及網(wǎng)絡(luò)事務(wù)的分布式文件系統(tǒng)中十分顯著。如果一個以上的同步線程在并行運行,這可引起將事務(wù)更新流式傳輸?shù)椒?wù)器的應(yīng)用的錯誤通信(miscommunication)。所以,需要修改現(xiàn)有技術(shù)的同步過程以支持這樣的元數(shù)據(jù)更新事務(wù),該事務(wù)不會在元數(shù)據(jù)更新事務(wù)的整個期間阻止修改元數(shù)據(jù)的寫入者或應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明包含一種用于對于文件進行元數(shù)據(jù)更新事務(wù)而同時允許寫入者或應(yīng)用繼續(xù)對文件進行修改的方法和系統(tǒng)。
在本發(fā)明的一個方面中,提供了一種維護緩存一致性的方法。將元數(shù)據(jù)更新請求從客戶機發(fā)送到存儲介質(zhì)。當(dāng)該元數(shù)據(jù)更新請求待決時,允許對客戶機的元數(shù)據(jù)緩存進行修改。
在本發(fā)明的另一個方面中,提供了一種具有元數(shù)據(jù)的計算機系統(tǒng)。提供了用于向存儲介質(zhì)傳送元數(shù)據(jù)更新請求的請求者。另外,提供了用于當(dāng)該元數(shù)據(jù)更新處于待決狀態(tài)時允許對請求者的元數(shù)據(jù)緩存進行修改的管理器。
在本發(fā)明再一個方面中,提供了一種具有計算機可讀的信號承載介質(zhì)的物品。在該介質(zhì)中提供了用于將元數(shù)據(jù)更新請求從客戶機發(fā)送到存儲介質(zhì)的手段。另外,該介質(zhì)中提供了用于在元數(shù)據(jù)更新請求待決時允許對客戶機元數(shù)據(jù)緩存進行修改的手段。
本發(fā)明的其他特點和優(yōu)點將在下面結(jié)合附圖對本發(fā)明當(dāng)前優(yōu)選的實施例進行的詳細(xì)描述得到清楚的體現(xiàn)。
圖1是現(xiàn)有技術(shù)的分布式文件系統(tǒng)的框圖。
圖2是現(xiàn)有技術(shù)的分布式文件系統(tǒng)中的異步寫入模式的流程圖。
圖3是現(xiàn)有技術(shù)的分布式文件系統(tǒng)中的同步操作的流程圖。
圖4是用于在分布式文件系統(tǒng)中的元數(shù)據(jù)更新的同步操作中創(chuàng)建近即時的副本的過程的流程圖。
圖5是根據(jù)本發(fā)明的優(yōu)選的實施例在分布式文件系統(tǒng)中的修改的同步操作的流程圖,建議將該圖印制在所頒發(fā)專利的第一頁上。
圖6是用于使服務(wù)器已記錄元數(shù)據(jù)與客戶機元數(shù)據(jù)的當(dāng)前狀態(tài)一致的過程的流程圖。
具體實施例方式
概述產(chǎn)生數(shù)據(jù)文件的元數(shù)據(jù)的一種近即時副本作為同步操作的一部分。元數(shù)據(jù)的近即時副本記錄了元數(shù)據(jù)的所有改變。為了同步客戶機對元數(shù)據(jù)的改變和與該客戶機通信的服務(wù)器節(jié)點保持的副本,將客戶機元數(shù)據(jù)的近即時版本發(fā)送到服務(wù)器節(jié)點以便記錄在存儲區(qū)域網(wǎng)絡(luò)中。在記錄該元數(shù)據(jù)改變的過程中,在客戶機上執(zhí)行的應(yīng)用可將持續(xù)向文件寫入改變,并且在發(fā)送另一個元數(shù)據(jù)更新到服務(wù)器之前,將這些改變記錄在客戶機元數(shù)據(jù)的另一個近即時版本中。因此,創(chuàng)建和記錄客戶機元數(shù)據(jù)改變的近即時版本的使用支持在允許一應(yīng)用繼續(xù)對該文件寫入改變時,并行地記錄對文件的改變。
技術(shù)細(xì)節(jié)圖4是根據(jù)本發(fā)明的一個實施例用于同步客戶機緩存中的數(shù)據(jù)及元數(shù)據(jù)的改變與本地存儲介質(zhì)以及服務(wù)器元數(shù)據(jù)的方法的流程圖(150)。為了減輕在處理元數(shù)據(jù)更新事務(wù)請求時的網(wǎng)絡(luò)等待時間及服務(wù)器等待時間,創(chuàng)建元數(shù)據(jù)更新的近即時版本,并將其發(fā)送給分布式文件系統(tǒng)中的服務(wù)器節(jié)點。該近即時版本是客戶機緩存狀態(tài)的一映象。如圖所示,一旦接收到使客戶機數(shù)據(jù)及元數(shù)據(jù)與服務(wù)器同步的指令(152),就阻止當(dāng)前的應(yīng)用或其他應(yīng)用對該數(shù)據(jù)文件進行進一步的改變(154)。此后,將客戶機數(shù)據(jù)緩存寫入本地存儲介質(zhì)的持久性存儲器中(156),之后創(chuàng)建客戶機元數(shù)據(jù)的一近即時版本以記錄客戶機元數(shù)據(jù)的當(dāng)前狀態(tài)(158)。在步驟(158)向被創(chuàng)建的近即時版本分配一標(biāo)識符(160)。一旦該近即時版本完成,就解除在步驟(154)進行的阻止,并且可繼續(xù)進行對客戶機數(shù)據(jù)文件的新的寫入事務(wù)(162)。因此,客戶機元數(shù)據(jù)的近即時版本記錄了客戶機元數(shù)據(jù)的狀態(tài),并且使客戶機能夠繼續(xù)在異步寫入模式下操作,并在準(zhǔn)備元數(shù)據(jù)緩存的近即時版本以發(fā)送到服務(wù)器進行處理時對文件寫入改變。
圖5是示出了在共享存儲介質(zhì)上記錄客戶機的緩存狀態(tài)的近即時版本的過程的流程圖(200)。在創(chuàng)建了客戶機元數(shù)據(jù)的近即時版本之后,將客戶機元數(shù)據(jù)的近即時版本發(fā)送到服務(wù)器,并且客戶機進入等待狀態(tài),此時客戶機等待接收來自服務(wù)器的表明該近即時版本已經(jīng)被記錄在持久性存儲器中的響應(yīng)(202)。一旦服務(wù)器接收到客戶機元數(shù)據(jù)的近即時版本(204),就將元數(shù)據(jù)緩存中的改變寫入共享的持久性存儲器(206)。在圖1中所示的分布式文件系統(tǒng)中,存儲區(qū)域網(wǎng)絡(luò)是記錄元數(shù)據(jù)改變的持久性存儲器。在服務(wù)器將元數(shù)據(jù)改變寫入持久性存儲器后,從服務(wù)器向客戶機發(fā)送一表明接收到元數(shù)據(jù)更新的近即時版本的響應(yīng)(208)。一旦客戶機接收到服務(wù)器的響應(yīng)(210),就進行檢驗來判定由服務(wù)器進行的元數(shù)據(jù)更新的近即時版本的記錄是否成功(212),即,對元數(shù)據(jù)緩存的改變被正確的記錄在存儲區(qū)域網(wǎng)絡(luò)中。對步驟(212)的檢驗的否定響應(yīng)將要求客戶機丟棄相應(yīng)的記錄失敗的元數(shù)據(jù)更新的近即時版本(214)。將近即時版本發(fā)送到服務(wù)器以使客戶機元數(shù)據(jù)與服務(wù)器同步的過程并不能保證近即時版本所反映的改變將被成功地記錄在存儲區(qū)域網(wǎng)絡(luò)中。未被記錄在存儲區(qū)域網(wǎng)絡(luò)中的對客戶機數(shù)據(jù)及元數(shù)據(jù)的改變?nèi)栽诳蛻魴C中并且被標(biāo)記為未被記錄。一旦創(chuàng)建了客戶機元數(shù)據(jù)的近即時版本,客戶機就可支持對數(shù)據(jù)文件的隨后的異步寫入操作,其中,與該隨后寫入操作相關(guān)的對客戶機數(shù)據(jù)及元數(shù)據(jù)的改變以及任何先前未被記錄的對客戶機數(shù)據(jù)及元數(shù)據(jù)的改變被記錄到另一個具有不同版本標(biāo)識符的近即時副本中。因此,緩存狀態(tài)的近即時版本的創(chuàng)建支持在近即時版本被記錄到存儲區(qū)域網(wǎng)絡(luò)的過程中,允許對文件的進一步的異步寫入操作繼續(xù)進行。
圖6是示出用于使客戶機元數(shù)據(jù)與服務(wù)器元數(shù)據(jù)的當(dāng)前狀態(tài)一致的過程的流程圖(250)。如果對圖5中步驟(212)的響應(yīng)是否定的,則客戶機丟棄相應(yīng)的元數(shù)據(jù)的近即時版本。服務(wù)器未接受和記錄元數(shù)據(jù)改變的事實不會產(chǎn)生任何正確性問題,因為客戶機數(shù)據(jù)及元數(shù)據(jù)的改變將被標(biāo)記為沒有記錄在存儲區(qū)域網(wǎng)絡(luò)中,且可被記錄在客戶機緩存的一不同的近即時版本中。然而,在對步驟(212)的檢驗的肯定響應(yīng)之后,客戶機比較與該事務(wù)相關(guān)的客戶機元數(shù)據(jù)的近即時版本與在此版本之后創(chuàng)建的客戶機元數(shù)據(jù)的任何近即時版本以及客戶機的元數(shù)據(jù)緩存(252)。在步驟(252)的比較之后,進行檢驗來判定是否需要任何更新以使客戶機的元數(shù)據(jù)視圖與服務(wù)器的元數(shù)據(jù)一致(254)。如果步驟(254)的檢驗是肯定的,則客戶機可以將改變記入其元數(shù)據(jù)緩存(256),之后丟棄服務(wù)器已記錄在持久性存儲器中的、相應(yīng)的元數(shù)據(jù)的近即時版本的版本(258)??蛻魴C可允許應(yīng)用繼續(xù)對數(shù)據(jù)文件的異步寫操作。然而,如果步驟(254)的比較是否定的,則不需要對客戶機元數(shù)據(jù)的當(dāng)前狀態(tài)的任何改變。服務(wù)器已記錄在持久性存儲器中的、相應(yīng)的元數(shù)據(jù)的近即時版本的標(biāo)識符可被丟棄(258)。因此,一旦判定服務(wù)器節(jié)點已成功地將近即時版本記錄在持久性存儲器中,則通過將服務(wù)器元數(shù)據(jù)的狀態(tài)記錄在客戶機緩存中來使客戶機元數(shù)據(jù)與服務(wù)器元數(shù)據(jù)一致。
如在圖5中描述的,與對文件的改變相關(guān)的元數(shù)據(jù)被記錄在近即時版本中,該版本是客戶機緩存狀態(tài)的映像。在一個實施例中,近即時版本被存儲在計算機可讀介質(zhì)中,因為它包含機器可讀格式的數(shù)據(jù)??商峁┮徽埱笳邅砼卸ㄊ欠裥枰獎?chuàng)建元數(shù)據(jù)狀態(tài)的近即時版本,并傳送該近即時版本給相關(guān)的服務(wù)器。也可提供一管理器來控制文件元數(shù)據(jù)的隨后的近即時版本的創(chuàng)建,以及當(dāng)對元數(shù)據(jù)先前版本的記錄在服務(wù)器中待決時,控制對數(shù)據(jù)文件的進一步改變。該管理器的形式可以是計算機系統(tǒng)中的硬件元素,也可以是計算機可讀介質(zhì)中的軟件元素。
相對于現(xiàn)有技術(shù)的優(yōu)點使用用于記錄客戶機元數(shù)據(jù)的改變的客戶機緩存的近即時版本來對服務(wù)器進行更新緩存的同步操作,使得當(dāng)在服務(wù)器上對相應(yīng)文件的元數(shù)據(jù)更新待決時,在客戶機上運行的應(yīng)用可以繼續(xù)寫入文件。該操作模仿了與圖2中所示的異步寫入模式相關(guān)的效率,同時消除了與現(xiàn)有技術(shù)的異步寫入模式相關(guān)的缺點。優(yōu)選實施例的支持異步寫入模式的同步操作通過消除在一先前事務(wù)已在服務(wù)器處完成更新之前阻止應(yīng)用對文件進行寫入的過程,減少了等待時間。因此,使用近即時版本使應(yīng)用向文件寫入數(shù)據(jù)并支持?jǐn)?shù)據(jù)文件的先前版本的并行記錄的過程提高了對文件執(zhí)行順序?qū)懭氩僮鞯膽?yīng)用的性能。
其他實施例應(yīng)當(dāng)認(rèn)識到,盡管這里為了說明的目的而描述了本發(fā)明的具體實施例,可進行多種改變而不脫離本發(fā)明的實質(zhì)和范圍。特別地,所述計算機系統(tǒng)不局限于分布式文件系統(tǒng)。相反的,這里所示的方法和系統(tǒng)可以應(yīng)用于非分布式文件系統(tǒng)。因此,本發(fā)明的保護范圍僅由以下權(quán)利要求以及它們的等效物所限制。
權(quán)利要求
1.一種用于保持緩存一致性的方法,包括將元數(shù)據(jù)更新請求從客戶機發(fā)送到存儲介質(zhì);以及當(dāng)所述元數(shù)據(jù)更新請求待決時允許修改所述客戶機的元數(shù)據(jù)緩存。
2.根據(jù)權(quán)利要求1的方法,還包括同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新。
3.根據(jù)權(quán)利要求2的方法,其中所述元數(shù)據(jù)更新是對所述元數(shù)據(jù)的改變的近即時版本。
4.根據(jù)權(quán)利要求3的方法,其中所述同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的步驟包括比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,以及如果傳送的信息表明所述元數(shù)據(jù)更新到存儲介質(zhì)的記錄失敗,則丟棄所述元數(shù)據(jù)更新的所述近即時版本。
5.根據(jù)權(quán)利要求3的方法,其中所述同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的步驟包括比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,以及響應(yīng)于所述元數(shù)據(jù)更新到存儲介質(zhì)的成功記錄,用所述元數(shù)據(jù)更新的所述近即時版本在元數(shù)據(jù)的當(dāng)前版本的緩存中標(biāo)記改變。
6.根據(jù)權(quán)利要求1的方法,其中所述存儲介質(zhì)是從包括本地存儲介質(zhì)和存儲區(qū)域網(wǎng)絡(luò)的組中選出的。
7.根據(jù)權(quán)利要求1的方法,其中所述元數(shù)據(jù)更新在客戶機中發(fā)起,并被傳送到分布式文件系統(tǒng)的服務(wù)器。
8.一種計算機系統(tǒng),包括適應(yīng)于將元數(shù)據(jù)更新請求發(fā)送到存儲介質(zhì)的請求者;以及適應(yīng)于當(dāng)所述元數(shù)據(jù)更新請求處于待決狀態(tài)時,允許對所述請求者的元數(shù)據(jù)緩存進行修改的管理器。
9.根據(jù)權(quán)利要求8的系統(tǒng),還包括適應(yīng)于同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的緩存管理器。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中所述元數(shù)據(jù)更新是所述元數(shù)據(jù)的改變的近即時版本。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中所述緩存管理器比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,且所述緩存管理器適應(yīng)于響應(yīng)于形式為所述元數(shù)據(jù)更新到存儲介質(zhì)的記錄失敗的傳送的信息丟棄所述元數(shù)據(jù)更新的所述近即時版本。
12.根據(jù)權(quán)利要求10的系統(tǒng),其中所述緩存管理器比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,且所述緩存管理器適應(yīng)于響應(yīng)于所述元數(shù)據(jù)更新到存儲介質(zhì)的成功記錄的傳送的信息,用所述元數(shù)據(jù)更新的所述近即時版本在元數(shù)據(jù)的當(dāng)前版本的緩存中標(biāo)記改變。
13.根據(jù)權(quán)利要求8的系統(tǒng),其中所述存儲介質(zhì)是從包括本地存儲介質(zhì)和存儲區(qū)域網(wǎng)絡(luò)的組中選出的。
14.根據(jù)權(quán)利要求8的系統(tǒng),其中所述元數(shù)據(jù)更新在客戶機中發(fā)起并被傳送到分布式文件系統(tǒng)的服務(wù)器。
15.一種物品,包括計算機可讀的信號承載介質(zhì);該介質(zhì)中用于將元數(shù)據(jù)更新請求從客戶機發(fā)送到存儲介質(zhì)的手段;以及該介質(zhì)中用于當(dāng)所述元數(shù)據(jù)更新請求待決時允許對所述客戶機的元數(shù)據(jù)緩存進行修改的手段。
16.根據(jù)權(quán)利要求15的物品,其中所述存儲介質(zhì)是從包括可記錄的數(shù)據(jù)存儲介質(zhì)和調(diào)制的載波信號的組中選出的。
17.根據(jù)權(quán)利要求15的物品,還包括所述介質(zhì)中用于同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的手段。
18.根據(jù)權(quán)利要求17的物品,其中所述元數(shù)據(jù)更新是所述元數(shù)據(jù)的改變的近即時版本。
19.根據(jù)權(quán)利要求18的物品,其中所述用于同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的手段包括比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,以及如果傳送的信息表明所述元數(shù)據(jù)更新到存儲介質(zhì)的記錄失敗,則丟棄所述元數(shù)據(jù)更新的所述近即時版本。
20.根據(jù)權(quán)利要求18的物品,其中所述用于同步元數(shù)據(jù)緩存與所述元數(shù)據(jù)更新的手段包括比較所述元數(shù)據(jù)更新的所述近即時版本與所述元數(shù)據(jù)的下一個近即時版本,以及響應(yīng)于所述元數(shù)據(jù)更新到存儲介質(zhì)的成功記錄,用所述元數(shù)據(jù)更新的所述近即時版本在元數(shù)據(jù)的當(dāng)前版本的緩存中標(biāo)記改變。
21.根據(jù)權(quán)利要求15的物品,其中所述存儲介質(zhì)是從包括本地存儲介質(zhì)和存儲區(qū)域網(wǎng)絡(luò)的組中選出的。
22.根據(jù)權(quán)利要求15的物品,其中所述元數(shù)據(jù)更新在客戶機中發(fā)起并被傳送到分布式文件系統(tǒng)的服務(wù)器。
23.一種計算機系統(tǒng),包括適應(yīng)于被傳送到存儲介質(zhì)的元數(shù)據(jù)更新請求;以及當(dāng)所述元數(shù)據(jù)更新請求正被處理到所述存儲介質(zhì)時,應(yīng)用對元數(shù)據(jù)緩存的修改。
24.一種計算機系統(tǒng),包括用于將元數(shù)據(jù)更新請求發(fā)送到存儲介質(zhì)的手段;以及用于當(dāng)所述元數(shù)據(jù)更新請求處于待決狀態(tài)時,允許對所述請求者的元數(shù)據(jù)緩存進行修改的手段。
全文摘要
一種用于當(dāng)允許應(yīng)用繼續(xù)將改變寫入數(shù)據(jù)文件時支持由服務(wù)器對數(shù)據(jù)文件的改變進行并行記錄的系統(tǒng)和方法。響應(yīng)于數(shù)據(jù)文件的改變,創(chuàng)建該文件的近即時版本。將反映數(shù)據(jù)文件的改變的元數(shù)據(jù)與緩存中的文件中的版本同步,并將其記錄到持久性存儲器中。在記錄文件的元數(shù)據(jù)改變的過程中,可繼續(xù)進行隨后的對數(shù)據(jù)文件的改變,且可將反映所述改變的元數(shù)據(jù)記錄到該文件的一隨后的近即時版本中,也可將該版本與持久性存儲器中的元數(shù)據(jù)的版本同步。
文檔編號G06F17/30GK1794207SQ20051010957
公開日2006年6月28日 申請日期2005年10月26日 優(yōu)先權(quán)日2004年12月20日
發(fā)明者R·C·拉斐爾, R·K·普拉薩德, V·尤朱里, M·R·奈恩尼, S·拉賈拉姆 申請人:國際商業(yè)機器公司