1. 程式人生 > >基於C/S模式的客戶端軟體系統

基於C/S模式的客戶端軟體系統

1 C/S模式

    C/S (Client/Server,客戶機/伺服器)模式又稱C/S結構,是軟體系統體系結構的一種。C/S模式簡單地講就是基於企業內部網路的應用系統。客戶端負責執行前臺功能,實現各自的使用者介面和業務邏輯處理;而伺服器端執行資料庫管理系統(DBMS)。這種應用系統基本執行關係體現為“請求/響應”模式,客戶通過結構化查詢語言(SQL)提出資料訪問請求,伺服器接受請求並響應,並把執行結果返回給客戶,在這裡事務規則功能可以由客戶應用程式來完成,也可以由資料庫伺服器通過儲存過程、觸發器約束、規則等方式實現。在這種結構中,資料庫系統一般採用大型資料庫系統,如SQL Server、Sybase、0racle等。

圖1 兩層C/S模式圖

1.1 C/S模式優點

    (1)資訊存貯與管理比較集中規範。目前,網際網路上可以公開訪問的資訊基本上都儲存在伺服器上,資訊的儲存管理功能較為透明,使用者提出訪問請求後,無須再過問其它,伺服器則根據一定的規則應答訪問請求。     (2)安全性較好。從安全的角度來說,各種系統都存在或多或少的安全漏洞,由於C/S模式採用集中管理,客戶端被動地從伺服器接受指令,因此,一臺客戶機出現安全問題,不會影響整個系統。

1.2 C/S 模式的缺點

    (1) C/S 模式投資大且維護成本高昂。採用C/s架構,網路管理工作人員既要對伺服器維護管理,又要對客戶端維護和管理,這需要高昂的投資和複雜的技術支援,維護成本很高,維護任務量大。而且,傳統的C/S結構的軟體需要針對不同的作業系統開發不同版本的軟體,由於產品的更新換代十分快,代價高和低效率已經不適應工作需要。     (2) C/S 模式下,伺服器及頻寬決定了網路的效能。每臺伺服器的自身儲存空間決定了所能提供的資訊量,而且客戶端訪問數量過多,超過了伺服器所能容納的量,伺服器會負荷過大而造成系統的癱瘓。     (3) C/S 模式下,伺服器容錯性不高,一旦伺服器出現問題,整個系統將會癱瘓。

2 系統設計

    根據工作中資源共享的需要和C/S模式特點,需開發一個基於C/S模式的軟體系統。其中,伺服器端主要進行儲存、編輯資料;客戶端可以上傳、查詢、瀏覽和下載伺服器資料庫上的資料。

2.1  系統功能模組設計

圖2  系統功能模組圖     根據系統設計要求,主要設計瞭如下三大模組:①使用者登入模組。主要實現檢驗使用者的合法性功能;②檔案上傳模組。主要實現多種格式檔案的上傳功能;③檔案瀏覽模組。主要實現對伺服器上檔案的瀏覽功能;④檔案下載模組。主要實現客戶下載伺服器上檔案功能。總系統功能模組見圖2。

2.2 資料庫資料結構設計

    使用者帳號(Log_file)資料庫儲存使用者帳號和密碼,其資料結構見表1。
表1  使用者帳號資料庫資料結構
欄位名 欄位型別 備註
User_name nchar 儲存使用者名稱
code Nchar 儲存使用者密碼
     檔案共享(Share_file)資料庫儲存客戶端上傳的檔案,其資料結構見表2。 表2  檔案共享資料庫資料結構
欄位名 欄位型別 備註
Number Int 儲存檔案編號
File_name Char 儲存檔名稱
File_blob Image 儲存檔案內容
File_class Char 儲存檔案所屬類別
File_type Char 儲存檔案格式
Transmit_author Char 儲存上傳人姓名
Udown_time Datetime 儲存上傳時間
memo ntext 儲存備註資訊
檔案類別(type_file)資料庫儲存客戶端上傳檔案的類別,其資料結構見表3。 表3  檔案類別資料庫資料結構
欄位名 欄位型別 備註
Number Int 儲存檔案編號
File_name Char 儲存檔名稱
File_blob Image 儲存檔案內容
File_class Char 儲存檔案所屬類別
File_type Char 儲存檔案格式
Transmit_author Char 儲存上傳人姓名
Udown_time Datetime 儲存上傳時間
memo ntext 儲存備註資訊

3 系統開發

    伺服器端使用SQL Server資料庫儲存資料。客戶端軟體系統採用delphi作為開發工具,它是美國Borland公司推出的面向物件的視覺化程式設計工具,擁有功能強大的繼承開發環境(IDE)和世界上速度極快的編譯器,因此將delphi7作為本系統開發工具。     日常工作中使用的文件資料格式型別有很多種,主要包括word文件(*.DOC)、PDF文件(*.FTP)、網頁格式文件(*.HTM/*.HTML)、幻燈片文件(*.PPT)以及各種圖片文件等。這些文件格式有如下特點:①這些型別文件有的是以單個檔案形式存在,有的以多個檔案形式存在,比如網頁格式文件,除了一個主要檔案還包括一個存放圖片的資料夾;②對應於這些型別的文件,通常的客戶端都具有相應的應用程式。

3.1 檔案上傳功能模組

    客戶端要實現將不同型別檔案(包括doc、html、htm、pdf、txt格式檔案以及各種圖片型別檔案)上傳到伺服器資料庫。     其中,word文件(*.DOC)、PDF文件(*.PDF)幻燈片文件(*.PPT)以及各種圖片文件等是以單個檔案形式存在;而網頁格式文件(*.HTM/*.HTML)以多個檔案形式存在,除了一個主要檔案還包括一個存放圖片的資料夾對應於這些型別的文件,上傳該型別文件時需將這種型別轉換為word文件(*.DOC)以保證不丟失資訊。

3.2 資料庫查詢功能模組

    將使用者對文件查詢的需求動作細化,形成可組合的查詢條件,增強查詢的靈活性。包括模糊查詢功能、查詢所有檔案功能以及高階查詢功能,其中高階查詢功能又包括根據檔案型別、種類查詢功能。 圖3  檔案上傳流程圖

圖4  系統操作主介面

圖5  高階查詢介面

3.3 檔案下載模組

    客戶端在下載選定檔案前,需先開啟檔案進行預覽,但資料庫中儲存文件是按照資料流進行操作,客戶端必須將資料流轉換成相應的文件,而轉換過來的資料文件型別複雜,通過分析發現幾乎所有型別的文件都可以通過IE瀏覽器進行預覽,因此客戶端通過控制IE瀏覽器作為通用閱讀器來解決瀏覽問題(預覽介面見圖6)。 圖6 預覽介面 圖7 下載介面

4 小結

    C/S模式簡單地講就是基於企業內部網路的應用系統,具有自身的優缺點。基於C/S模式,開發了一個客戶端軟體系統,該軟體主要實現上傳、查詢、瀏覽和下載資料功能,從而實現資源共享且節省出客戶端空間。當然,該軟體系統仍有不完善的地方,如很多細節設計還不夠完美,需在應用中不斷髮現和解決問題。