電腦網路與連結技術第六章 交談層、表現層與應用層 上一頁    下一頁

6-6 分散式處理架構

內容:

  • 6-6-1 分散式處理簡介

  • 6-6-2 表現分散處理架構

  • 6-6-3 應用分散處理架構

  • 6-6-4 資料分散處理架構

  • 6-6-5 磁碟分散處理架構

6-6-1 分散 式處理簡介

製作網路的目的,除了透過網路達到遠端通訊的目的外,我們最期望能整合多部的電腦來共同完成所交代的工作。早期網路技術尚未成熟時,人們為了提高電腦的處理能力,只能一昧的提高電腦硬體設備,例如,單處理機系統變成多處理機系統、增加記憶體空間、或提高軟體設計能力,以減少執行時間,也因此造成主機電腦愈來愈昂貴。網路技術較成熟之後,人們漸漸思考如何讓多部電腦透過網路,共同來處理工作,不但可以提高執行速度,也可以提高可靠度。尤其近年來微處理機的技術大大提昇,微型電腦的處理能力也不遜於迷你型電腦。如果我們能整合多部的微型電腦,其處理能力或許能高於早期的主機電腦,而且價格也較便宜。倘若這個構想行得通,日後電腦處理能力有所不足時,只需添購微型電腦加入即可,無需重新更換主機電腦,既節省成本又富擴充性,這就是『分散式處理』概念的誕生。

『分散式處理』(Distributed Computing除了是整合多部電腦共同處理外,我們還有一個基本理念就是:

『在分散式處理系統環境裡,使用者可以在它們之間的任何一部電腦下達所要的命令,使用者將不知道、也不需要知道,到底是哪一部電腦執行該命令;使用者將不知道,也不需知道,他所需的資源是存放在哪一部電腦上』。

為了實現上述的理想,首先,我們將工作性質和所需的資源組織成若干個『作業環境』(Working Environment,再將這些作業環境分配給網路上多部電腦共同來執行,以達到分散式處理的目的。如圖 6-11 表示,一般我們將作業環境區分如下:

(1) 資料檔案:是指資料儲存設備上的資料結構,也就是一般的檔案管理系統。

(2) 資料庫系統:提供邏輯性的資料結構管理系統,也就是所謂資料庫管理系統。如:Informix Oracle 等等。

(3) 應用作業:依照應用環境需要所製作的應用程式。例如:辦公室自動化系統、帳務管理系統、銷售管理系統等等。

(4) 表現作業:提供使用者輸入和輸出的人機介面,以及相關報表的格式製作環境。

一般傳統的系統就是將所有作業環境都由主機電腦執行,客戶端電腦只從事於資料的顯示和輸入而已。亦是,有關資料的儲存、查詢、運算處理的工作都是由主機電腦上執行,如圖 6-11 所示。分散式處理的製作方法就是將上述的作業環境分散到其他電腦上共同處理,我們依照工作分散的情形可區分為不同的分散處理架構,各種處理架構有其優缺點及應用範圍,如圖 6-12 所示。使用者可依照自己環境的需求架設所需的分散式處理架構,以下就各種處理架構的特性加以介紹。

 

6-11 主機電腦為主的資料處理

 

6-12 分散式處理方式

6-6-2 表現分散處理架構

表現分散處理的環境裡,是將所有的應用軟體、資料庫系統、檔案系統、以及磁碟儲存系統都集中在主機電腦上執行,作業端的電腦只處理表現作業,如圖 6-12  (a) 所示。一般輸入和輸出的人機介面處理,例如,輸出入視窗的製作、下拉式命令操作,則交由作業端電腦處理。主機電腦只要將表現的資料傳送給作業電腦,作業電腦就依照自己環境的需求製作輸出介面,將主機電腦的資料顯示出來。因此主機電腦只要定義標準資料格式,再傳送給作業電腦,作業電腦就可以跨越不同的電腦環境下作業。尤其在輸出表格的製作方面,一般來說比較為費時費力,而且依個人需求的變化性較大,則直接交給作業電腦端處理最適合。

既然所有的資料處理和應用程式都在主機電腦上執行,除了資料完整性的管理較佳外,主機電腦可以隨時更新或備份資料,而且應用軟體更新或新購也只要在主機電腦上安裝或修改即可。就整個電腦應用環境而言比較容易管理,架構也較堅固,因此,目前各組織單位、或公司行號以此類系統架構為大宗。譬如,一般的醫院管理系統、銀行管理系統、銷售管理系統等等,都是這種架構。然而此架構也存在某些缺點,因為大部分的工作都集中在主機電腦上執行,作業端電腦上只執行管理資料無關的表現作業,無形中加重主機電腦的負荷,當工作量或上線人數持續增加時,主機電腦可能應付不來,處理速度會降得很厲害,如此非擴充或更換主機電腦不可,但礙於主機電腦的擴充性及成本考量,恐怕不是那麼輕易可以達到。

6-6-3 應用分散處理架構

時下客戶端(client的電腦處理能力愈來愈強(例如 Pentium 系列電腦),而且一般工作人員對電腦的處理能力也增加,因此希望使用者自行開發系統(End User Computing, EUC)。資料庫系統也提供許多程式設計的工具,例如第四代語言(4 Generation Language, 4GL)的開發工具。因此,在種種環境因素的變遷下,我們希望降低主機電腦的工作負荷,逐步將許多工作轉移到作業端電腦上執行,於是有所謂應用分散處理架構的誕生,如圖 6-12 (b) 所示。

應用分散處理架構就是目前時尚非常流行的『主從式架構』(Client/Server architecture。資料庫系統安裝於主機電腦上,所有相關資料都儲存於資料系統裡,稱之為『資料庫伺服器』(Database Server,使用者可以在作業電腦上開發應用程式,透過標準介面到資料庫伺服器上存取資料。這種作業方式不但可以解決資料一致性的問題,也可以提高執行效率。例如,在一個銀行系統裡,所有客戶資料有數十萬筆,在作業電腦上想要查詢某一客戶的資料,於是傳送一個 SQL 查詢命令給資料庫伺服器,資料庫伺服器查詢後,便將該客戶資料傳送給作業電腦。因此網路上只傳送查詢得到的結果,而不需要將整個客戶資料(數十萬筆)傳給作業電腦,對整個處理速度來講可提高許多。

客戶端(client)可以依照自己的需求開發應用程式並執行之,如此可以減低主機電腦的負荷。如圖 6-13 所示,客戶端電腦不一定要固定到某一資料庫伺服器上存取資料,而可以同時連接到其他伺服器上存取資料。如果從資料管理的觀點來看,表示對整個資料的存放不需要儲存在固定一部伺服器上,而可以依照資料的特性,分散儲存於不同的地方。對客戶端電腦而言,存取本機電腦上資料或其他伺服器上資料都沒特殊不同的地方,因此可以達到分散式處理的精神:『使用者不知道、也不需知道,他所需的資源是存放在哪一部電腦上』,這就是『分散式資料庫系統』(Distributed Database System的基本架構。目前大部分的資料庫系統廠商都有提供資料庫伺服器(如 SQL server)的產品,也提供相關的發展軟體(如 Visual Basic)讓使用者能快速開發應用程式,因此有許多應用系統都使用這種環境發展。

 

6-13 分散式資料庫系統架構圖

6-6-4 資料分散處理架構

如果我們更進一步將資料檔案放置於主機電腦(或稱伺服器端),而將其他資料處理環境安裝在作業電腦(或稱客戶端)上,就是所謂的『資料分散處理架構』,如圖 6-12 (c) 所示。此架構的伺服器端就稱之為『檔案伺服器』(File Server,檔案伺服器提供邏輯性的檔案系統,讓不同電腦的客戶端存取,使用者不必去考慮檔案系統真正儲存在磁碟機上的資料結構。當存取資料時,不論檔案是來自本地電腦或來自遠端檔案伺服器,對使用者而言並無不同。這種系統架構是網路作業系統所提供的基本應用,如 Novell Netware 的檔案伺服器、Microsoft Network 上的網路芳鄰、Sun 的網路檔案系統(Network File System, NFS)都是以資料分散處理為基本架構。

檔案伺服器提供跨越不同平台的檔案儲存結構,也就是說,檔案伺服器上所提供的檔案服務可以讓不同作業系統之電腦存取。例如一部檔案伺服器,可以讓 MS-DOSWindows Unix 電腦存取檔案。我們也可以在客戶端安裝資料庫系統,對資料庫系統而言,它的檔案結構可以儲存在不同的檔案伺服器上,也很容易整合各地區的資料檔案。

在客戶端安裝資料庫系統,而資料檔案儲存於檔案伺服器上的架構,雖然早期網路上應用大多是這種架構,但它的處理效率似乎非常不理想。我們以 6-14 (b) 來說明其情況,在一個銀行系統裡有數十萬個客戶,使用者在客戶端電腦(電腦 B)上輸入查詢某一個客戶資料,因為所有資料檔案都儲存在檔案伺服器(電腦 A)上,所以檔案伺服器必須將數十萬筆的資料透過網路傳送到客戶端(電腦 B),再由客戶端上的資料庫查詢功能,尋找到所需要的資料。

因此,網路上傳送資料的傳輸量就非常高,但如果有多位操作者同時輸入查詢客戶資料,那整個系統的處理效率會變得非常差。而且檔案伺服器上架設資料庫系統,管理者和資料儲存在不同工作平台上,對資料一致性的問題也很難克服。同樣的情況下,如果以資料庫伺服器架構(圖 6-14 (a),只需傳回 5 筆資料即可,因其查詢工作是由資料庫伺服器(主機 A)負責,而且對於資料的一致性問題也比較容易控制。所以,檔案伺服器只提供跨越不同平台的檔案共享服務,不提供其他特殊資料的處理。

 

6-14 SQL Server File Server 資料查詢的比較

6-6-5 磁碟分散處理架構

主機電腦(或稱伺服器)上提供磁碟機實際儲存(Physical Storage)的空間讓客戶端電腦儲存資料,稱之為『磁碟分散處理架構』,該伺服器也稱為『磁碟伺服器』(Disk Server,如圖 6-15 所示。磁碟伺服器上只提供磁碟空間,並不提供檔案系統的資料結構管理服務,該工作必須由客戶端上電腦自行處理,因此伺服器端的處理工作就比較簡單。早期磁碟機非常昂貴,並非所有電腦上都裝有磁碟機,我們可以購買一部磁碟機讓多部電腦共用,以節省費用。而且在客戶端上,可安裝遠端啟動程式(Remote Booting),它的作業系統程式可放置在磁碟伺服器上,和本地磁碟機的操作沒有兩樣。如圖 6-15 中, 磁碟伺服器(主機 A)提供磁碟空間讓主機 BMS-DOS)、CUnix-1)、DUnix-2)、EUnix-3)使用,客戶端電腦都沒有裝設磁碟機,它們的系統啟動之作業系統,以及有關的程式和資料都儲存於磁碟伺服器上(主機 A)。

 

6-15 磁碟分散處理架構

其實,由上述四種分散處理架構,也僅能達到一半的分散式處理功能,而另一半:『使用者可以在它們之間的任何一部電腦下達所要的命令,使用者將不知道、也不需要知道,到底是哪一部電腦執行該命令』並沒有真正達成。至於如何達成這方面的功能,讀者可參考有關『分散式作業系統』(Distributed Operating System書籍,本書限於篇幅無法一一介紹,也請見諒。

 

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: