| 
       咨詢電話:010-51727811/12/13
      當前位置: 首頁 > 新聞中心 > 業內新聞 >
      解決鎖定和語義差異
      時間:2012-10-15 09:21  來源:飛客數據恢復   作者:飛客數據恢復工程師
      PCCIFS鎖定機制和UNIXNFS鎖定機制之間的差異。本節將探討SAN共享數據環境中的鎖定問題。SAN網絡中的鎖定問題,為管理端用戶的各種應用帶來了新的挑戰。另外,本節還將涉及客戶端之間的語義差異問題。鎖定和語義問題的結合,很可能會影響到用戶如何更好地適應一個數據共享系統。
       
      網絡存儲的鎖管理
      幾乎所有的商業文件和數據庫系統都能提供一定級別的鎖定機制。鎖定也是一種進程,用于保留訪問或更新正在被一個用戶/應用使用的數據。它的基本思想是:當一個用戶正在使用某些數據時,阻止其他用戶訪問或更新該數據。
      鎖定機制的提供者稱為鎖管理器,它負責管理對鎖定數據的訪問,以及回應對鎖定數據提出的訪問請求。例如,當用戶或應用需要訪問鎖定數據時,鎖管理器給出警告,提醒用戶或應用他們需要訪問的數據已經鎖定。如果不再鎖定,數據隨后可以更新。在這種情況下,鎖管理器可以通知其他已打開該文件的用戶,數據已被更新,建議他們重載數據。
       
      數據庫系統的鎖管理器可以提供下面幾種級別的鎖定:
       
      表級:一次只允許一個應用更新一個表。
      記錄級:鎖定正在被一個應用使用的記錄,其他應用可以訪問表中的其他記錄。
      字段級:只鎖定正在被使用的字段,記錄中的其他字段或其他記錄都可以被其他應用訪問。同樣,文件系統的鎖管理器也可以提供下面幾種鎖定:
      目錄級:只允許一個應用更新一個目錄中的所有文件。
      文件級:只允許一個應用更新某個文件。
      字節級:鎖定一個文件中的某個字節范圍。
       
      1.鎖管理器的透明性
       
      文件系統和數據庫使用鎖定技術已經有好多年了,大致來說,它們都工作得很好,使多任務系統能夠運行多個應用訪問同一數據。對于許多用戶來說,鎖定是完全不可見的;而對另外一些用戶來說,它是每天都會發生的事。不過,在SAN中鎖定共享數據,很可能會給端用戶帶來一些新的問題。我們假定本章中所討論的數據共享環境下的鎖定機制都是文件級以下的,即不適用于目錄級或文件級鎖定。
      通常,在引入一門新技術時,當用戶使用它的功能時感覺越“透明”越好。換而言之,我們需要使用到新功能,但是不愿意改變已有的工作方式。令人遺憾的是,由于多客戶環境下鎖定數據的影響,上述需求對于數據共享技術來說,是不太容易滿足的。
      用于數據共享環境的鎖管理器,可以基于多項信息的評定制訂鎖定的多級方案,如用戶簡要特征、優先權或策略以及像先來先鎖定這樣的訪問數據順序。制定如何向客戶分配鎖的方案,并不是一件無關緊要的事。用戶不一定習慣弄清他們正在使用的文件中有哪些段落或單元格不能修改。
      而且,他們也不習慣于收到這樣的通知:他們正在使用的一個文件已經被更新,需要重新刷新它。如果要發送鎖定消息,怎樣通知用戶?而用戶又會如何反應?如果他們沒有接到通知,他們就可能認為設備或網絡出了問題;如果他們接收到了通知,又可能不知道該怎么辦,可能會采取不合適的行動,如保存一個新的文件版本。因此,如何通知用戶加鎖/解鎖的情況,確實是一件為難的事情。如果在用戶試圖寫數據時,通知他該數據被臨時鎖定,那鎖管理器是否應該告訴他該鎖定何時解除?如果告訴他解除的時間,那又怎么樣才能識別出是哪一個具體的鎖已被解除了?上司是否應該能忽略下屬用戶加的鎖?如果應該,又如何做到?如果做到這樣,又怎么才能避免來自黑客或其他可能的威脅?
      這些類型的問題很可能成為實現共享數據系統的最大威脅。除了技術上的可行性外,最大的挑戰將來自用戶不愿意改變工作方式的習慣。
       
      2.語義的集成
      數據共享面臨的另一個挑戰是語義集成的問題。語義集成主要解決文件系統之間的差異,這種差異體現在不同系統的存儲和I/O操作類型、用戶界面字符集等之間的差異。例如,不同的網絡操作系統之間在文件的命名、打開、鎖定、刪除、更新等方面存在差異。如果一個UNIX系統上的用戶創建了一個在Macintosh系統上非法的文件名,那么Macintosh上的用戶如何才能使用該文件呢?
      除了命名問題,還存在著另外一個問題,即一種功能可能被某個文件系統支持卻不能被另一個文件系統支持。很多時候,兩個系統以不同的方式實現同一功能。因此,考慮到同一或相似的功能可能具有不同的行為,在一個實現方案中很難面面俱到。問題不在于一個功能是如何實現的,而在于這種功能如何表現在同一時間里的不同平臺中的不同用戶面前。在最近幾年里,語義集成是各個數據共享系統和應用致力于解決的一個重要問題,它將決定這些產品之間的差異。