C/S結構


C/S結構

編輯

同義詞 C/S架構一般指C/S結構

C/S  結構,即大家熟知的 客戶機服務器結構。它是軟件 系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都是 Client/Server形式的兩層結構,由於現在的軟件應用系統正在向分布式的Web應用發展,Web和Client/Server 應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。
中文名
客戶機和 服務器結構
外文名
Client/Server Structs
別    稱
C/S Structs
屬    性
軟件系統架構
 

目錄

工作模式編輯

C/S 結構的基本原則是將計算機應用任務分解成多個子任務,由多台計算機分工完成,即采用“功能分布”原則。客戶端完成數據處理, 數據表示以及 用戶接口功能;服務器端完成 DBMS數據庫管理系統)的核心功能。這種客戶請求服務、服務器提供服務的處理方式是一種新型的計算機應用模式。
Client和Server常常分別處在相距很遠的兩台計算機上,Client程序的任務是將用戶的要求提交給Server程序,再將Server程序返回的結果以特定的形式顯示給用戶;Server程序的任務是接收客戶程序提出的服務請求,進行相應的處理,再將結果返回給客戶程序。

優點編輯

C/S結構的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優點就是客戶端響應速度快。具體表現在以下兩點:
(1)應用服務器運行數據負荷較輕。最簡單的C/S體系結構的數據庫應用由兩部分組成,即客戶應用程序和 數據庫服務器程序。二者可分別稱為前台程序與后台程序。運行數據庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發來的請求;客戶應用程序運行在用戶自己的電腦上,對應於數據庫服務器,可稱為客戶電腦,當需要對數據庫中的數據進行任何操作時,客戶程序就自動地尋找服務器程序,並向其發出請求,服務器程序根據預定的規則作出應答,送回結果,應用服務器運行數據負荷較輕。
(2)數據的儲存管理功能較為透明。在數據庫應用中,數據的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,並且通常把那些不同的(不管是已知還是未知的)前台應用所不能違反的規則,在服務器程序中集中實現,例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規則。所有這些,對於工作在前台程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前台程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系下,數據庫不能真正成為公共、專業化的倉庫,它受到獨立的專門管理。

缺點編輯

隨着互聯網的飛速發展, 移動辦公和分布式辦公越來越普及,這需要我們的系統具有擴展性。這種方式 遠程訪問需要專門的技術,同時要對系統進行專門的設計來處理分布式的數據。
客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一台電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。特別是有很多分部或專賣店的情況,不是工作量的問題,而是路程的問題。還有, 系統軟件升級時,每一台客戶機需要重新安裝,其維護和升級成本非常高。
對客戶端的操作系統一般也會有限制。可能適應於Win98, 但不能用於win2000或Windows XP。或者不適用於微軟新的操作系統等等,更不用說Linux、Unix等。[1]   (目前,大多數客戶端都適應win XP系統,但對微軟新的操作系統或其他開發系統就兼用不了。)
傳統的 C/S 體系結構雖然采用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件支持。由於沒能提供用戶真正期望的開放環境,C/S結構的軟件需要針對不同的操作系統開發不同版本的軟件, 加之產品的更新換代十分快,已經很難適應百台電腦以上 局域網用戶同時使用。而且代價高, 效率低。
C/S架構的劣勢還有高昂的維護成本且投資大。首先,采用C/S架構,要選擇適當的數據庫平台來實現數據庫數據的真正“統一”,使分布於兩地的 數據同步完全交由 數據庫系統去管理,但邏輯上兩地的操作者要直接訪問同一個數據庫才能有效實現,有這樣一些問題,如果需要建立“實時”的數據同步,就必須在兩地間建立實時的通訊連接,保持兩地的 數據庫服務器在線運行,網絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復雜的技術支持,維護成本很高,維護任務量大。
其次,傳統的C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,由於產品的更新換代十分快,代價高和低效率已經不適應工作需要。在JAVA這樣的跨平台語言出現之后, B/S架構更是猛烈沖擊C/S,並對其形成威脅和挑戰。
服務端的特征:
1.被動的角色(從)。
2.等待來自用戶端的要求。
3.處理要求並傳回結果。
用戶端的特征:
1.主動的角色(主)。
2.發送要求。
3.等待直到收到回應。

與B/S區別編輯

首先必須強調的是C/S和B/S並沒有本質的區別:B/S是基於特定通信協議(HTTP)的C/S架構,也就是說B/S包含在C/S中,是特殊的C/S架構。
之所以在C/S架構上提出B/S架構,是為了滿足 瘦客戶端、一體化客戶端的需要,最終目的節約客戶端更新、維護等的成本,及廣域資源的共享。
(1)B/S屬於C/S,瀏覽器只是特殊的客戶端;
(2)C/S可以使用任何 通信協議,而B/S這個特殊的C/S架構規定必須實現 HTTP協議
(3)瀏覽器是一個通用客戶端,本質上開發瀏覽器,還是實現一個C/S系統。
參考資料
  • 1.  B/S和C/S結構的區別   .博客園[引用日期2013-06-1]
  • http://baike.baidu.com/link?url=Pu8TR5wRptZIOp7oDE21Kz6VIGi8hR9YKM5I3PVW1Ojz4pJtP2x9bKdvMob1veYfjJLByDCXirJnnfLxhLlCnVAkHHtUx0N1CBfT2cBGQLvkrNa-wRVXah0R6TvCRJ2x16BZnUan79tm7R9RcJKGaR5TYxDEaVsqOisR-sFRxkC


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM