用於在網絡化環境中暴露影像拷貝的機制的製作方法
2023-09-18 23:00:30 2
專利名稱:用於在網絡化環境中暴露影像拷貝的機制的製作方法
技術領域:
本發明涉及分布式文件系統。更具體地說,本發明涉及分布式文件系統以及暴露在分布式文件系統中的共享卷的影像拷貝。
背景技術:
客戶機/伺服器網絡環境已經變得普遍存在。現在,對於客戶計算系統通過網絡連接至駐留在伺服器上的文件存儲器是一件日常事務。還存在許多不同的、在當前的計算環境中正在使用的計算結構和平臺。
在網絡硬體和軟體供應者之間的競爭驅使他們結合他們的產品提供越來越複雜的服務。例如,簡單的備份和文件恢復性能正變成通用的提供。現在,許多網絡伺服器為網絡存儲器的用戶提供退回存儲器的狀態至它在某個先前時間的狀況的能力。這個能力在短缺硬體故障的某個未預見的意外事故的情況下,使補救丟失數據的過程簡單化。例如,網絡系統的用戶可能在某一天知道在他的伺服器上的文件已經變成損壞的,或者由於某個其它原因只願意再訪問在時間上的某個先前的點上他的文件的狀態。現在使用卷影像拷貝(也稱為「快照(snapshot)」)專用於那個目的。卷影像拷貝實質上是在某個較早時間的卷的狀態的視圖。卷影像拷貝已經變成一種用於退回卷的狀態的通用機制。遍及此文檔,可互換地使用術語卷影像拷貝和快照。
現有伺服器技術的一個缺點是,要在客戶機/伺服器環境中訪問卷影像拷貝,快照必須被安裝在客戶機上。這個過程一般要求以足以安裝卷的特權將用戶登錄到客戶機,這一般要求管理特權。如果用戶在每次他想要訪問快照時必須找到管理員或者具有足夠特權的其它用戶,則卷影像拷貝的便利被減少。
這些技術的另一個缺點是,安裝一個暴露共享的每個影像拷貝的不同的卷,傾向於汙染名字空間。換句話說,如果安裝一個共享的卷的多個影像拷貝,則用戶可能因具有顯得是同一卷的幾個不同版本而被混淆。
用於可以勝任向網絡化環境中的客戶機暴露共享卷的影像拷貝的機制,已經避開了那些在本領域中的熟練技術人員。
概述本發明目標是一系統和方法,用於通過網絡向遠程客戶機暴露共享卷的卷影像拷貝。簡而言之,共享卷是在具有一個根的客戶計算系統上被訪問的。卷的卷影像拷貝(或者「快照」)被識別為共享卷的子資源。代表快照的子資源可能默認地被隱藏在普通視圖中。要訪問快照,用戶可訪問子資源,好象它是在共享卷上的一個普通的文件或目錄一樣。有利地,用戶不需要安裝一個代表快照卷的新卷,但用戶可直接訪問快照。
圖1是功能方框圖,例示可用於實現本發明的計算設備。
圖2是功能方框圖,一般例示可實現本發明的實施例的網絡環境。
圖3是相應於一個共享卷的目錄結構的圖形表示,由提供對共享卷的一個或多個快照的直接訪問的伺服器使所述共享卷可用於客戶機。
圖4是用於在圖3中所示的子目錄結構的根的名稱的通用命名約定的圖形表示。
圖5是用於通過分布式文件系統來訪問文件的文件句柄的圖形表示,所述分布式文件系統包括一個快照標誌欄位來表示正在訪問快照。
圖6是功能流程圖,一般例示可如何按照本發明訪問在快照上的資源。
詳細說明這裡將參考說明性計算環境的一個例子來描述本發明,在所述環境中可以實現本發明的實施例。接著,將描述本發明的一個特定的實現的詳細例子。關於特定實現的某些細節,還可包括可供替換的實現。將意識到,不將本發明的實施例限制於這裡所述的內容。
本發明的說明性計算環境圖1例示可在本發明的說明性實現中使用的計算設備。參考圖1,一個用於實現本發明的示例性系統包括一計算設備,諸如計算設備100。在非常基本的配置中,計算設備100一般包括至少一個處理單元102和系統存儲器104。取決於計算設備的精確配置和類型,系統存儲器104可以是易失性(諸如RAM)、非易失性(諸如ROM、快閃記憶體等)或兩者的某種組合。系統存儲器104一般包括作業系統105、一個或多個程序模塊106,以及可包括程序數據107。計算設備100的這個基本配置在圖1中是由在虛線108內的那些組件例示的。
計算設備100可具有附加的特徵或功能性。例如,計算設備100還可包括附加的數據存儲器設備(可移動的/或不可移動的),諸如例如,磁碟、光碟或帶。這樣的附加存儲器在圖1中是由可移動的存儲器109和不可移動的存儲器110例示的。計算機存儲介質可包括易失性和非易失性、可移動和不可移動的介質,所述介質是以任何用於存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據的信息的方法或技術來實現的。系統存儲器104、可移動存儲器109和不可移動存儲器110都是計算機存儲介質的例子。計算機存儲介質包括,但不限於,RAM、ROM、EEPROM、快閃記憶體或其它存儲技術、CD-ROM、數字通用盤(「DVD」)或其它光存儲器、磁盒、磁帶、磁碟存儲器或其它磁存儲設備,或任何可以用於存儲所希望的信息以及可以由計算設備100訪問的其它介質。任何這樣的計算機存儲介質可以是設備100的一部分。計算設備100還可具有輸入設備112,諸如鍵盤122、滑鼠123、筆、語音輸入設備、觸摸輸入設備、掃描儀等。還可包括輸出設備114,諸如顯示器、揚聲器、印表機等。這些設備在本領域中是眾所周知的,並且在此不需要詳細討論。
計算設備100還可包括通信連接116,它允許設備諸如通過網絡與其它計算設備118通信。通信連接116是通信介質的一個例子。通信介質一般可包括在調製的數據信號諸如載波或其它傳輸機制中的計算機可讀指令、數據結構、程序模塊或其它數據。術語「調製的數據信號」指具有一個或多個特性的信號,其所述特性是以有關將信息編碼在該信號中的這樣一種方式來設置或改變的。作為例子,而不是限制,通信介質包括有線的網絡或直接線連接,以及無線介質諸如聲音、射頻、紅外線和其它無線介質。如在此使用的術語計算機可讀介質包括存儲介質和通信介質兩者。
特定實現的討論圖2是功能方框圖,一般例示在其中可實現本發明的網絡環境。如在圖2中所示,網絡環境200包括通過網絡210連接的客戶機203和伺服器201。伺服器201使共享卷220的一部分可用於客戶機203。如在本領域中已知的,客戶機203的用戶可通過網絡210連接伺服器201,以及如果用戶具有足夠的特權則可訪問在共享卷220上的文件。當連接時,共享卷220在客戶機203上作為一個代表存儲在共享卷220上的文件夾和文件的目錄結構240而出現。應該意識到,圖2將整個共享卷220例示為使之可用於客戶機203。不過,將意識到,一般實際上只使共享卷的小部分(例如子目錄樹)可用作為「共享」,以及一個共享卷一般具有多個共享。不同的客戶機和用戶可有權訪問在同一共享卷上的不同共享。不過,只為了描述簡單,本文檔將在單個共享卷220的背景中描述系統。
客戶機203和伺服器201可使用許多不同通信協議之一來通信。通常被用於分布式文件系統的一個通信協議是網絡文件系統(NFS)協議。NFS協議提供通過網絡對共享文件和目錄的透明的遠程訪問。NFS協議被設計為可通過不同機器、作業系統、網絡結構和傳輸協議被移植的。關於NFS協議的更多信息可在RFC3530中找到,它是公開地可得到的。
伺服器201還提供一個卷影像服務,它使用戶能夠返回共享卷220的先前狀態。換句話說,伺服器201在時間的周期性瞬間捕捉圖象或共享卷220的「快照」。如在圖2中所示的,第一快照221代表在共享卷220的當前狀態之前的某個時間,共享卷220上數據的狀態。同樣,第二快照222代表在捕捉第一快照221的時間之前的某個時間,共享卷220上數據的狀態。伺服器201可使經過相當長時間的、共享卷220的非常多的快照可供使用。
在客戶機203,當前目錄結構240代表存儲在共享卷220上的數據的當前狀態。另外,客戶機203的用戶可潛在地訪問任何共享卷220的快照。由伺服器201將共享卷220的每個快照向客戶機203暴露,作為一個代表相應於快照的數據的單獨的目錄結構。因而,當前目錄結構240與當前的共享卷220相關聯,目錄結構241與第一快照221相關聯,目錄結構242與第二快照222相關聯,以及目錄結構243與第N快照223相關聯。
如前面提到的,使用常規技術,共享卷220的每個快照(例如,第一快照221、第二快照222、第N快照223)是在客戶機203上作為單獨的卷被訪問的。換句話說,要觀看第一快照221,用戶將相應於第一快照221的新卷安裝到客戶機203上。如果用戶想要觀看多個快照,多個新卷需要安裝在客戶機203上。如上所述,此技術通常導致名字空間汙染,並且要求提高的特權用於用戶安裝快照。
相反,本發明使每個快照在客戶機203被表示為共享卷220的一部分而不是作為一個單獨的卷。如在下面更詳細地描述的,伺服器201為客戶機203提供與允許對共享卷220的每個快照的直接訪問的當前目錄結構240有關的信息。這樣,本發明克服現有的、對於提高用戶特權以安裝附加的卷的需求。另外,用戶不會因安裝在客戶機203的名字空間中的多個卷而被混淆,每個卷實際上代表在不同時間點上的同一數據的狀態。
圖3是相應於共享卷的目錄結構240的圖形表示,由提供對共享卷的一個或多個快照的直接訪問的伺服器使所述共享卷可用於客戶機203。目錄結構240代表駐留在可用於客戶機203的共享卷上的文件和文件夾的視圖。目錄結構240是一個具有根301的樹結構,根301代表共享的根。當共享卷220被安裝在客戶機203時,將目錄結構240提供給客戶機203,並且可在響應某個事件(例如,增加新的快照或者刪除舊的快照)或者基於某些周期性的時間間隔時可自動地更新目錄結構240。在目錄結構240中根301下面包括幾個其它資源,包括文件(例如文件C和F)和文件夾(例如文件夾A和D)。應該注意到,如在本文檔中使用的,在訪問資源、文件和目錄之間不應該引起差別。確實,可以想像,這些類型的訪問的每一個,對於此討論的有限目的實際上是相同的。
按照本發明,另一個目錄結構,例如目錄結構241,作為當前目錄結構240的根301的子目錄結構駐留。子目錄結構241代表與由當前目錄結構240代表的共享卷的快照相關聯的目錄結構。換句話說,當前目錄結構240代表其相應的共享卷的當前狀態,以及子目錄結構241代表相應的共享卷的先前狀態。
在這個特定的實施例中,子目錄結構241存在於根301之下的隱藏狀態中。這樣,默認地,觀看客戶機203的名字空間的用戶將看到當前目錄結構240的元素,但將看不到子目錄結構241。如果用戶想要觀看共享卷220的快照,則用戶可以選擇一個選項以觀看在根301之下隱藏的文件,因而獲得對快照的目錄結構241的訪問。
應該注意到,這個過程不要求提高的特權,諸如與安裝新卷相關聯的特權,因而使普通用戶(例如沒有安裝卷的特權的用戶)能夠訪問快照。另外,如果用戶不安裝共享卷的一個或多個快照,則用戶將不會因具有實質上駐留在客戶機203的名字空間中的同一共享卷的多個版本而被混淆。應該意識到,儘管在圖3中只例示一個單個的子目錄結構241,但事實上多個子目錄結構可存在於當前目錄結構240中,一個對應共享卷220的多個快照的每一個。
對子目錄結構241的訪問使用基於存儲為文件系統的一部分的許可的、正常的訪問控制機制。特別地,用戶只可以看到他們至少已經讀訪問過的快照的存在。要防止客戶機203修改任何與快照相關聯的資源,由伺服器強制只讀訪問,無論用戶在所述文件上的所有權、訪問權限或許可。換句話說,如果用戶正在觀看在一個快照中的資源,用戶將能夠在捕捉該快照時檢查分配給那個資源的特定訪問特權,但無論如何伺服器將強制只讀特權。不過其它實現可允許對快照的某些附加訪問。例如,在其它實施例中,可為特殊的用戶群提供特定的特權以修改快照,而普通用戶只具有隻讀訪問。
在此實施例中,選擇向客戶機暴露的子目錄結構的名字241以防止通用工具列舉共享卷。更具體地說,子目錄結構241的名字可基於其相應的快照的創建時間。在一個例子中,可使用諸如在圖4中所例示的名字。簡要地參考圖4,例示了用於子目錄結構241的根305的名字410的通用命名約定。如例示的,使用句點420開始名字以表示條目要隱藏在父目錄結構240內。名字410的主體430可基於與相應的快照的創建相關聯的格林威治標準時間(GMT)。通過將創建時間結合到命名約定中,每個快照將是唯一地可辨別的。提供這個命名約定作為任何可使用的多個不同的命名約定中的一個例子。這個例子不是限制性,以及在不脫離本發明的精神的情況下,許多可供替換的命名約定,對於那些在本領域中熟練技術人員將是顯而易見的。
還應該注意,提供給客戶機用於快照的名字不必存留在伺服器上,並且不使用這個名字來命名在共享卷上的實際資源。而是,與快照相關聯的子目錄結構所使用的名字只與虛擬目錄相關聯,而不與實際留存的資源相關聯。因此,如果共享卷是由某些機制而不是在客戶機上的共享(例如通過本地文件系統訪問)檢查的,輸出到客戶機的名字將不必出現。
識別子目錄結構為快照圖5和6例示本發明的一個實現如何使用在資源句柄中的標誌來識別資源為快照。如在本領域中已知的,在共享卷上的每個資源可由客戶機203使用唯一的文件句柄來識別。文件句柄是一個標記,客戶機203通過這個標記引用在伺服器201上的文件或目錄。當一個路徑名-翻譯請求(查找)從客戶機203發送到伺服器201時,伺服器201創建文件句柄。伺服器201找到所請求的文件或目錄,並且確信請求用戶具有訪問許可。如果準予許可,伺服器201為所請求的文件創建文件句柄並且將它返回至客戶機203。文件句柄在由客戶機203將來的訪問請求中識別該文件。客戶機203保存一個卷句柄表以存儲正在由客戶機203訪問的每個文件的文件句柄。
與不同網絡系統一起使用的文件句柄的結構可變化。圖5例示在本發明的一個實現中使用的一個文件句柄510的例子。示例的文件句柄510包括卷ID和安裝ID,它們一起識別卷的特定具體化,在其上駐留著請求的文件。文件句柄510還包括一個共享ID,它識別共享卷的根資源,以及一個文件ID511,它識別哪個特定文件是由文件句柄510所指向的。
另外,在此討論中使用的示例的文件句柄510包括一個標誌欄位514,它表示所引用的文件駐留在快照上而不是在當前卷上。換句話說,因為與這個快照相關聯的目錄結構作為當前共享上的資源存在,所以在識別正在引用的文件是當前文件還是駐留在快照上的文件的版本的時候,潛在存在不確定性。因此,標誌欄位514被包括在文件句柄510中,以表示所請求的文件駐留在快照上,以及在文件句柄510中的共享ID512指向快照共享。另外,快照標誌通知伺服器201,由文件句柄510所指向的資源不可以修改,不管在文件上可能表示什麼修改特權。
圖6是功能流程圖,一般例示可如何按照本發明訪問在快照上的資源。這個流程圖例示事件的發生和伺服器201與客戶機203之間傳播的消息的方向。箭頭表示消息傳播的方向,即從客戶機203至伺服器201,或反之亦然。
一開始,在消息605處,客戶機203發出一個請求至伺服器201以安裝一個特定的共享卷。伺服器201在消息607處,通過返回一個所請求的共享的根的文件句柄來響應。在這一點,客戶機203可請求對在共享卷內的文件的訪問。如果用戶想要訪問共享卷的快照,則客戶機203在消息609處發出一個對存儲在共享卷的根下的文件的文件句柄的請求。要這麼做,客戶機203將根句柄加上所請求的資源的標識符(在此例中的快照)傳遞給伺服器201。在響應時,在消息611處,伺服器201將句柄返回給快照。如上面所討論的,快照的句柄可包括一個標誌位,它表示這個句柄與快照相關聯。最後,客戶機可訪問在快照上的任何文件,通過在消息613處發出對那個文件(「任何文件」)的文件句柄的請求。伺服器201在消息615處,通過返回具有適當地設定的快照標誌位的、所請求的文件的文件句柄來響應。
如此,能對共享卷訪問的客戶計算機可直接訪問那個共享卷的任何快照,不必在客戶計算機上安裝新的卷。這個優點消除先前對於提高的訪問特權的需求,所述需求常常使訪問快照不方便。另外,通過本發明的機制訪問快照不要求修改現有的網絡文件訪問協議,極大地簡化了它的實現。
上述說明、例子和數據提供本發明的概念和說明性實現的完整描述。由於可以在本發明的精神和範圍的情況下製造本發明的許多實施例,所以本發明存在於在下文所附的權利要求書中。
權利要求
1.一具有計算機可執行組件的計算機可讀介質,包括一分布式文件系統伺服器組件,配置為暴露駐留在伺服器計算機上的共享卷,所述共享卷具有一個根和一個卷影像拷貝,所述分布式文件系統伺服器組件可進一步配置為將在共享卷的根之下的資源列表返回至請求客戶機,所述資源列表指示了包括識別為卷影像拷貝的卷影像拷貝資源,所述卷影像拷貝資源可用於為請求客戶機提供對卷影像拷貝的訪問。
2.如權利要求1所述的計算機可讀介質,其特徵在於,所述資源列表包括一目錄樹結構。
3.如權利要求1所述的計算機可讀介質,其特徵在於,所述伺服器計算機及客戶機配置成使用網絡文件系統協議通信。
4.如權利要求1所述的計算機可讀介質,其特徵在於,所述卷影像拷貝資源包括在共享卷的根之下的一表項。
5.如權利要求4所述的計算機可讀介質,其特徵在於,默認地所述項是隱藏的。
6.如權利要求4所述的計算機可讀介質,其特徵在於,所述表項包括一名字,該名字能將該共享卷從其它共享卷的卷影像拷貝中唯一地區分。
7.如權利要求6所述的計算機可讀介質,其特徵在於,所述名字基於卷影像拷貝的創建時間。
8.如權利要求6所述的計算機可讀介質,其特徵在於,所述名字是虛擬名字。
9.如權利要求1所述的計算機可讀介質,其特徵在於,在不使用提供增高的訪問特權的情況下,為請求客戶機提供對卷影像拷貝的訪問。
10.如權利要求1所述的計算機可讀介質,其特徵在於,在請求客戶機上不安裝附加卷的情況下,為請求客戶機提供對卷影像拷貝的訪問。
11.如權利要求1所述的計算機可讀介質,其特徵在於,對卷影像拷貝資源的訪問使用基於與共享卷相關聯的存儲的許可的訪問控制機制。
12.如權利要求1所述的計算機可讀介質,其特徵在於,在只讀基礎上提供對卷影像拷貝的訪問。
13.如權利要求1所述的計算機可讀介質,其特徵在於,在讀/寫基礎上提供對卷影像拷貝的訪問。
14.一用數據結構編碼的計算機可讀介質,包括代表共享卷的第一目錄結構,所述第一目錄結構具有一根表項;以及與第一目錄結構相關聯的第二目錄結構,所述第二目錄結構代表共享卷的卷影像拷貝,所述第二目錄結構通過在第一目錄結構的根表項之下的子表項是可訪問的。
15.如權利要求14所述的計算機可讀介質,其特徵在於,所述第一目錄結構和第二目錄結構被保存在伺服器計算機上,以及通過網絡被提供給請求客戶計算機。
16.如權利要求15所述的計算機可讀介質,其特徵在於,所述伺服器計算機和請求客戶計算機使用網絡文件系統協議通信。
17.如權利要求14所述的計算機可讀介質,其特徵在於,所述子表項包括基於卷影像拷貝的創建時間的表項。
18.如權利要求17所述的計算機可讀介質,其特徵在於,默認地所述名字是第一目錄結構中隱藏的條目。
19.一用目錄結構編碼的計算機可讀介質,包括一文件句柄,用於通過分布式文件系統訪問文件,所述文件句柄包括一卷影像拷貝標誌位,所述標誌位表示與所述文件句柄相關聯的文件駐留在共享卷的卷影像拷貝中。
20.一計算機實現的方法,用於通過分布式文件系統訪問文件,所述方法包括從請求客戶機接收安裝共享卷的請求;將與共享卷的根相關聯的第一文件句柄返回給請求客戶機;接收對與所述根的子表項相關聯的另一個文件句柄的請求,所述子表項代表共享卷的卷影像拷貝;以及將與卷影像拷貝的根相關聯的第二文件句柄返回給請求客戶機。
21.如權利要求20的計算機實現的方法,其特徵在於,所述返回與卷影像拷貝的根相關聯的文件句柄的步驟還包括,創建具有一個卷影像拷貝標誌位的卷影像拷貝文件句柄,所述標誌位被設置為表示第二文件句柄與卷影像拷貝相關聯。
22.如權利要求20所述的計算機實現的方法,還包括,評價與請求客戶機相關聯的訪問許可,以確定請求客戶機是否具有訪問卷影像拷貝的許可。
全文摘要
所述的一種機制,用於通過網絡向遠程客戶機暴露共享卷的卷影像拷貝。在客戶計算系統上訪問的共享卷具有一個根。卷的卷影像拷貝(或「快照」)被識別為共享卷的子資源。代表快照的子資源可默認地隱藏在普通視圖中。要訪問快照,用戶可訪問子資源,好象它是在共享卷上的普通文件或目錄一樣。有利地,用戶不需要安裝代表快照卷的新卷,而是用戶可直接訪問該快照。
文檔編號G06F12/00GK1573750SQ20041004894
公開日2005年2月2日 申請日期2004年6月11日 優先權日2003年6月13日
發明者A·H·莫哈米德 申請人:微軟公司