什么是客戶機/服務器計算
什么是客戶機/服務器計算
客戶機/服務器計算定義一種體系結構,在該結構中,程序邏輯分布在客戶機系統和服務器系統之間。客戶機/服務器計算是20世紀80年代的各種趨勢形成的結果,它使用通過LAN連接到后端數據庫服務器或應用程序服務器的功能強大的計算機來裝備臺式計算機。設計這種模型是為了替換主機計算模型,在主機計算模型中所有的處理都是由一個集中式系統完成的。
客戶機/服務器計算結構是一種基于信息的組合式結構,意在提高集中化的時間共享大型機計算。客戶機被定義為一種服務請求器,服務器被定義為一種服務供應商。單個機器既可以作為客戶機也可以作為服務器,這主要取決于軟件配置及執行功能類型。
客戶機/服務器計算依賴于分布應用程序,其前站(用戶見到的部分)在工作站上運行,后端(完成大部分工作)在服務器上運行。例如,前端PC機請求后端服務器進行數據庫搜索,服務器僅將搜索結果(而不是整個應用程序和數據集)送回給請求的PC機。與傳統的文件服務器不同,客戶機/服務器計算實際上是在服務器上運行應用程序,只把結果(不是原始數據)返給提出請求的PC機。
隨著因特網的發展,客戶機/服務器計算模型已經從一個雙向關系(通常被稱為兩層模型)演變為三層或多層模型。在這些模型中,客戶機與中間應用程序服務器或Web服務器進行通信,而應用程序服務器或Web服務器則與后端數據服務器和/或遺留系統進行通信。然后中間服務器將數據庫查詢結果返回到客戶機。
目前,共有幾種可能的客戶機/服務器配置。在最基本的模型中,幾個客戶機訪問單個服務器;不過,圖C-l7中所示的分布式方法則更常用。分布式配置中的服務器可以互相通信以向客戶機提供協調的服務。
在圖C-18中,數據庫被復制到一個遠程系統以便遠程站點的用戶能夠在本地站點而不是通過WAN(廣域網)鏈路訪問數據。兩臺服務器周期性地相互同步以確保用戶使用的是最新信息。在圖C-18的右邊,企業的大量數據存儲在“數據存儲倉庫”中。工作組訪問中間層“升級系統”,而該中間層“升級系統”對常被訪問的數據進行高速緩存或替客戶機對后端系統進行查詢。
這些討論都假定客戶機與服務器是軟件兼容的,但事實并不總是這樣。一個企業網絡可能是部門LAN和應用程序及各個客戶機的結合。如圖C-19所示,中間設備幫助將這些不同類組件結合在一起,以便開發人員能夠隱藏應用程序之間的差異并為各個客戶機提供連接。中間設備還提供消息系統形式的通信系統或客戶機與服務器之間的直接鏈接。
文件服務器、應用程序服務器、打印服務器、傳真服務器、通信服務器等等都利用了客戶機/服務器模型。這里“服務器”一詞既指系統也指系統軟件。系統中運行的服務器進程等待客戶機的請求,可能是對文件的請求也可能是對開始一項復雜事務的請求。
在一個客戶機/服務器應用中,客戶端應用程序是針對一個小的、特定的數據集,如一個表的行來進行操作的,而不是像文件服務器那樣針對整個文件進行,對某一條記錄進行封鎖,而不是對整個文件進行封鎖,因此保證了系統的并發性,并使網絡上傳輸的數據量減到最少,從而改善了系統的性能。客戶機/服務器模型的優點主要在于系統的客戶端應用程序和服務器部件分別運行在不同的計算機上,系統中每臺服務器都可以適合各部件的要求,這對于硬件和軟件的變化顯示出極大的適應性和靈活性,而且易于對系統進行擴充和縮小。在客戶機/服務器模型中,系統中的功能部件充分隔離,客戶端用程序的開發集中于數據的顯示和分析,而數據庫服務器的開發則集中于數據的管理,不必在每一個新的應用開發中都要對一個數據庫進行編碼。將大的應用處理任務分布到許多通用網絡連接的低成本計算機上導致了費用的極大節約。
后端數據服務器運行DBMS(數據庫管理系統)軟件,客戶機則通過SQL(結構化查詢語言)語句查詢這些系統。SQL作為LAN中客戶機/服務器中間設備的一種形式,因為它在只選擇和移動那些需要的記錄方面效率很高,所以很受歡迎。而且它還可以直接在數據庫服務器上運行存儲的程序而不用先將數據移動到客戶機然后在客戶機運行程序。
因為服務器向許多客戶機提供服務,所以為了性能的緣故,它們必須是功能強大的系統。在所謂的瘦客戶機環境中,服務器完成大部分工作而客戶機基本上只顯示信息和接收用戶的輸入。許多瘦客戶機甚至沒有硬盤驅動器。在一個更加平衡的模型中,客戶機和服務器(或多個服務器)共同工作。大多數瘦客戶機模型都是基于Java小程序和應用程序的。
下面是客戶機/服務器模型的一些優點:
? 客戶機/服務器計算幫助單位將大型主機和小型計算機“縮小”成能夠為整個企業提供數據通信平臺的網絡。
? 客戶機和服務器的分離使程序員們得以利用運行GUI(如Windows和Web瀏覽器)的功能強大的客戶機系統。
? 數據存儲在對數據進行操作的最近的服務器中,從而將在網絡中傳送的信息量減到最小,也更容易備份。
? 很大一部分信息是一次性高速緩存在服務器的內存中而不是每個需要它的工作站的內存中。
? 因為服務器只為客戶提供所請求的信息,而不是工作站必須處理的大塊信息,從而減少了網絡流量。
? 大型服務器系統可以卸載由個人工作站處理會更好的應用程序。
? 數據位于一個位置是安全有保障的。數據倉庫提供一個方法在維護對數據的控制的同時使中間工作組服務器中特定的數據可用。
? 使用集中化數據,系統管理員可應用安全控制以限制數據訪問并使用跟蹤機制來監控數據訪問。
? 在并行處理中可以有多個系統參與,它們合作完成處理任務。
? 在客戶機/服務器關系之中每個處理器是可以選擇的,按其特定作用實現優化。服務器通常是在速度快、配有大量磁盤存儲裝置的PC機上運行,而客戶機可能一臺磁盤存儲裝置都沒有,但可以有高分辨率顯示適配卡,而這種適配卡裝到服務器上是沒有任何意義的。
增強型客戶機/服務器模型
隨著C/S結構應用范圍的不斷擴大和計算機網絡技術的發展,兩層C/S結構帶來的問題日益明顯,主要表現在以下幾方面:
(1) 系統的可靠性有所降低。一個客戶機/服務器系統是由各自獨立開發、制造和管理的各種硬件和軟件的混合體,其內在的可靠性不如單一的、中央管理的大型機或小型機,出現問題時,很難立即獲得技術支持和幫助。
(2)維護費用較高。盡管這種應用模式在某種程度上提高了生產效率,由于客戶端需要安裝龐大而復雜的應用程序,當網絡用戶的規模達到一定的數量之后,系統的維護量急劇增加,因而維護應用系統變得十分困難。
(3)系統資源的浪費。隨著客戶端的規模越來越大,對客戶機資源的要求也越來越高。盡管硬件不斷更新,但新的操作系統和新的應用軟件的不斷出現,使得用戶對硬件的更新仍然跟不上軟件更新的速度。客戶不得不在本地硬盤上裝入大量的軟件,但是使用的大都只是其中很少一部分(一般低于10%)。在一個擁有眾多的“胖客戶機”的環境中,這無疑是一種巨大的浪費。
(4)系統缺乏靈活性。客戶機/服務器需要對每一應用獨立地開發應用程序,消耗了大量的資源,但胖客戶機的計算模式卻仍然滿足不了日益增長的應用的需要。在向廣域網擴充(如Internet)的過程中,由于信息量的迅速增大,專用的客戶端已經無法滿足多功能的需求。網絡計算模式從兩層模式擴展到N層模式,并且結合動態計算,解決了這一問題。
在三層模型中,數據訪問和數據操作的大部分從客戶機移走而被放置到一個中間層系統(數據駐留在后端層)。在商業環境中,中間層系統可能擁有單位的所有“商業邏輯”。商業邏輯包括規則、程序和操作順序,它們為數據處理系統提供服務。通過在一個共享系統中統一商業邏輯,所有的規則都被集合到單個服務器中,從而可以更容易地被管理而且應用程序也可以更容易地訪問它們。
分布式對象計算涉及到使用Java. ActiveX和其他語言建立的面向對象組件的使用。這些組件是在企業網和因特網中創建和分布的,它們在Web瀏覽器或其他“容器”中運行,或被用于匯編已成熟的應用程序。應用邏輯、信息檢索、事務監控、數據顯示及管理之類的服務都可單獨在網絡中不同的計算機上運行。網絡提供一個通信基礎結構,在該結構中這些組件進行通信從而為終端用戶提供一種使用無縫應用程序的經歷。
和兩層C/S結構相比,三層C/S結構具有更靈活的硬件系統構成,對于各個層可以選擇與其處理負荷和處理特性相適應的硬件。合理地分割三層結構并使其獨立,可以使系統的結構變得簡單清晰,這樣就提高了程序的可維護性。三層C/S結構中,應用的各層可以并行開發,各層也可以選擇各自最適合的開發語言,有利于變更和維護應用技術規范。按層分割功能使各個程序的處理邏輯變得十分簡單。一般而言,三層C/S結構的優勢主要表現在以下幾個方面:
? 利用單一的訪問點,可以在任何地方訪問站點的數據庫; ? 對于各種信息源,不論是文本還是圖形都采用相同的界面; ? 所有的信息,不論其基于的平臺,都可以用相同的界面訪問; ? 可跨平臺操作; ? 減少整個系統的成本; ? 維護升級十分方便; ? 具有良好的開放性; ? 系統的可擴充性良好; ? 進行嚴密的安全管理; ? 系統管理簡單,可支持異種數據庫,有很高的可用性。
非常好我支持^.^
(16) 80%
不好我反對
(4) 20%
相關閱讀:
- [處理器/DSP] “協同發展,生態聚合” 開放原子1024程序員節圓滿落幕 2023-10-24
- [電子說] 監控云服務器怎么架設? 2023-10-24
- [電子說] 服務器數據恢復-服務器藍屏重啟仍然藍屏的數據恢復案例 2023-10-24
- [電子說] 服務器硬盤通用基礎知識 2023-10-24
- [存儲技術] 三星電子和SK海力士計劃四季度全面提高DDR5產量 2023-10-24
- [電子說] 致遠電子新一代8路串口服務器 2023-10-24
- [電子說] 服務器數據恢復-2盤raid0磁盤陣列數據恢復案例 2023-10-23
- [物聯網] 物聯網網絡設計實用的步驟和見解 2023-10-23
( 發表人:admin )