訪問透明性

透明性被定義成對用戶和應用程式員禁止分散式系統組件的分離性,使系統被認為是一個整體,而不是獨立組件的集合。透明性的含義對系統軟體的設計有重大的影響。訪問透明性是指用相同的操作訪問本地資源和遠程資源。

基本介紹

  • 中文名:訪問透明性
  • 外文名:Access transparency
  • 學科:計算機設計
  • 解釋:用相同的操作訪問本地和遠程資源
  • 透明性:八種
  • 套用:系統軟體的設計
透明性,訪問透明性,其它透明性,分散式系統的構造,

透明性

透明性被定義成對用戶和應用程式員禁止分散式系統組件的分離性,使系統被認為是一個整體,而不是獨立組件的集合。透明性的含義對系統軟體的設計有重大的影響。
ANSA參考手冊和國際標準化組織的開放分散式處理的參考模型(RM-ODP)識別出透明性。下面將解釋最初的ANSA定義,並用範圍更廣的移動透明性替換遷移透明性:
訪問透明性:用相同的操作訪問本地資源和遠程資源。
位置透明性:不需要知道資源的物理或網路位置(例如,哪個建築物或IP位址)就能夠訪問它們。
並發透明性:幾個進程能並發地使用共享資源進行操作且互不干擾。
複製透明性:使用資源的多個實例提升可靠性和性能,而用戶和應用程式員無須知道副本的相關信息。
故障透明性:禁止錯誤,不論是硬體組件故障還是軟體組件故障,用戶和應用程式都能夠完成它們的任務。
移動透明性:資源和客戶能夠在系統內移動而不會影響用戶或程式的操作。
性能透明性:當負載變化時,系統能被重新配置以提高性能。
伸縮透明性:系統和套用能夠進行擴展而不改變系統結構或套用算法。
最重要的兩個透明性是訪問透明性和位置透明性,它們的有無對分散式資源的利用有很大影響。有時它們統一稱為網路透明性。

訪問透明性

為了說明訪問透明性,我們考慮具有資料夾的圖形用戶界面,無論資料夾中的檔案在本地還是在異地,圖形用戶界面應該是一樣的。另一個例子是API檔案,它使用相同的操作訪問本地和遠程檔案。如果一個分散式系統除了用戶利用FTP程式訪問遠程計算機上的檔案之外,不允許再做這樣的事,那么它就可以作為缺乏訪問透明性的例子。

其它透明性

1)位置透明性
Web資源名或URL具有位置透明性,因為URL中識別Web伺服器域名的部分指的是域中的計算機名字,而不是網際網路地址。然而,URL不是移動透明的,因為某人的Web頁面不能移動到另一個域中新的工作位置,因為其他頁面上的所有連結仍將指向原來的頁面。
2)複製透明性
通常,像URL這樣的包括計算機域名的標識符妨礙了複製透明性。雖然DNS允許一個域名指向幾台計算機,但它在查找名字時只選其中的一台計算機。因為複製方案通常要能夠訪問網路中所有參與其中的計算機,所以應該根據名字訪問DNS條目中的每台計算機。
3)網路透明性
為了說明網路透明性,考慮電子郵件地址(如[email protected])的使用。該地址由用戶名和域名組成。給這樣的用戶傳送郵件不需知道他們的物理位置或網路位置,傳送郵件訊息的過程也不依賴於接收者的位置。因此,網際網路中的電子郵件支持位置透明性和訪問透明性(即網路透明性)。
4)故障透明性
故障透明性也可以用電子郵件的例子來說明,即使伺服器或通信連結出現故障,最終郵件還是能被傳遞。通過一直重發直到郵件被成功傳遞這種方式實現禁止故障,即使這個過程花費了幾天時間。中間件通常將網路和進程的故障轉換成程式級的異常。
5)移動透明性
為了說明移動透明性,考慮行動電話的情況。假設打電話者和接電話者都在一個國家的不同地方乘火車旅行,他們從一個環境(蜂窩)移到另一個環境。我們將打電話者的電話作為客戶,接電話者的電話作為一個資源。兩個使用電話的用戶並沒有意識到電話(客戶和資源)在蜂窩之間的移動。
透明性對用戶和應用程式員隱藏了與手頭任務無直接關係的資源,並使得這些資源能被匿名使用。例如,通常為完成任務,對相似的硬體資源的分配是可互換的——用於執行一個進程的處理器通常對用戶隱藏身份並一直處於匿名狀態。但並不總是要求如此。例如,旅行者每到一處便將他的筆記本電腦連線到本地網路,他應該能通過每處的不同的伺服器使用本地服務(如傳送郵件服務)。甚至,即使在一棟建築物內,將要列印的檔案傳送到靠近用戶的某台印表機上列印也是很常見的。

分散式系統的構造

分散式系統隨處可見,分散式系統的構造產生了許多挑戰,在透明性方面的挑戰如下:
透明性使分布的某些特性對應用程式員具有不可見性,這樣應用程式員只需要關心特定套用的設計問題。例如,它們不需要關心它的位置或他的操作如何被其他組件訪問的細節,或它是否被複製或遷移。甚至網路和進程故障也可以以例外的方式呈現給應用程式員,當然他們必須處理這些例外。

相關詞條

熱門詞條

聯絡我們