劉彩利
(西安外事學院 陜西 西安 710077)
數據庫技術是計算機科學的一個重要分支,是數據庫管理的最新技術,并且它也是信息系統的核心和基礎,它的提出極大促進了計算機應用向各行各業的滲透。數據庫規模建設大小、其信息量的多少以及使用的頻度已經成為衡量一個國家信息化程度的重要標志。數據庫技術在不斷發展,信息系統架構的模型在應用需求的不斷變化下也發生了很大的變化,最早的信息系統架構是單一操作的數據庫,隨后發展成為一種基于局域網內部服務器和客戶端模式的數據庫,即C/S模型。C/S模型的出現不僅方便了客戶的操作,而且極大促進了數據庫系統的應用和發展。隨著互聯網的出現和不斷地發展,單一的C/S模式已經完全不能滿足客戶的需求,因此出現了一種基于互聯網的數據庫模型,即B/S模型。B/S采用的是瀏覽器(Browser)和服務器(Server)方式[1]。
C/S結構是軟件系統的體系結構,它為了極大的降低系統的通信開銷,充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現。C/S架構主要分為兩個層次系統,典型的結構如圖1所示。

圖1 C/S典型結構圖Fig.1 C/Stypical structure
從圖1中可以分析出,C/S模式是一種兩層結構的系統:第一層是在客戶機系統上結合了表示與業務邏輯;第二層是通過網絡結合了數據庫服務器。C/S模式主要由客戶應用程序、服務器管理程序和中間件3個部分組成。在C/S模式中,客戶端有一套完整應用程序,其強大的功能甚至包括出錯提示、在線幫助等方面,并且可以在子程序間自由切換。其次,C/S模式提供了一種更安全的存取模式[2]。由于C/S配備的是點對點的結構模式,采用適用于局域網,安全性可以得到可靠的保證。
對于C/S結構來說,其優點是顯而易見的,主要體現在如下幾方面:
1)安全性很好,數據存儲于本地,不怕某些公司或黑客盜走數據。
2)資源傳輸很好,系統中各個部分的數據交流速度非常快,使得C/S更利于處理大量數據。
3)即使網絡斷開,也很容易控制權限。
4)容易修改維護,可以自動升級,完全解決了維護問題。
5)由于開發是具有針對性的,因此,系統形式多樣,操作界面漂亮,可以充分滿足客戶自身的個性化要求。
6)由于客戶端實現與服務器的直接相連,沒有中間環節,因此響應速度快。
C/S模式架構雖然已經得到了廣泛的應用,但是一些缺點還是日漸暴露出來,主要表現在以下幾點:
1)不易移植。C/S結構開發的系統多是采用各類不同的工具開發的,與其他各類應用程序的兼容性很底,所以不易移植。
2)不易升級和擴展。客戶機上執行了C/S結構的大部分任務,因此C/S結構對客戶機的軟硬件要求都很高,這樣也就使系統開發的成本大幅提高了,且系統不易升級和擴展。
3)不能分布式處理數據。由于C/S結構開發的應用程序覆蓋范圍小,因此不能接入Internet,實現分布式處理,而只能在單機或者局域網上運行。
4)用戶維護成本提高。客戶端運行C/S結構開發的應用程序,還需要安裝專門的軟件,客戶端的程序不易被服務器端控制,如果要升級,還需要把升級程序下載到每臺客戶機上,逐一進行安裝升級,升級維護困難相當大,用戶維護成本提高。
B/S是一種基于Intranet的需求而出現并發展的網絡結構模式。Intranet應用TCP/IP協議,是建立在企事業單位內部專用的一種網絡,采用了Internet技術和標準,諸如TCP/IP、SMTP、HTTP和HTML等,能為企事業單位內部交換信息提供服務[3]。同時,Intranet還具有防止外界入侵的安全措施和連接Internet的功能。另一方面,由于數據庫不僅具有強大的管理和數據存儲能力,而且能夠動態地輸入和輸出數據,如果把數據庫和Intranet結合起來,不僅可以實現在網上發布大量的信息,而且能夠為所有用戶提供數據處理服務和動態的信息查詢,進而加強企事業單位與其它企事業單位之間、企事業單位與客戶之間,企事業單位內部之間的信息交流,從而降低了企事業單位的日常工作成本,提高了企事業單位的經濟效益。B/S模式,即瀏覽器/服務器模式,是從傳統的二層C/S模式發展起來的一種新的網絡結構模式,其本質就是三層結構的C/S模式。典型的結構如圖2所示。

圖2 B/S典型結構圖Fig.2 B/Stypical structure
B/S模式中,在客戶端運行瀏覽器軟件。瀏覽器訪問數據庫時,是以超文本形式向Web服務器提出訪問請求,Web服務器接受客戶端請求后,把這個請求轉化為SQL語法,并交給數據庫服務器,數據庫服務器得到請求后,驗證其合法性,并進行數據處理,然后將處理后的結果返回給Web服務器,Web服務器再一次將得到的所有結果進行轉化,變成HTML文檔形式,轉發給客戶端,客戶端瀏覽器以友好的Web頁面形式將數據顯示出來[5]。
B/S結構是從C/S結構演進而來的,除了具備C/S結構的大部分優點外,還有自身的優勢和劣勢,具體分析如下:
B/S架構的優勢有如下幾點:
1)易擴展業務功能,只要增加網頁就可以增加服務器功能,擴展業務。
2)具有分布性特點,客戶可以隨時隨地進行一些業務處理,如瀏覽、查詢等。
3)系統維護簡單方便,如果實現所有用戶的同步更新,只需要改變網頁即可完成。
4)系統開發簡單,且共享性很強。
B/S結構也存在著很多的劣勢,主要有如下幾方面:
1)B/S是基于WEB的,當網速較差或者是沒有網絡時,網頁動態刷新響應的速度就會明顯降底或者無法響應,這就導致了數據傳輸的不穩定或者是出錯。
2)無法實現分頁顯示信息,使數據庫訪問壓力非常大。
3)安全性能較差,很容易遭到黑客或者是競爭對手的攻擊和資料的竊取。
4)個性化特點明顯降低,不能滿足個性化功能的要求。
5)功能弱化,無法實現傳統模式下的一些特殊功能要求。
6)B/S采用的是開放結構模式和開放性的協議,只能依靠數據服務器上管理密碼的數據庫來保證其安全性。
C/S和B/S是當今世界開發模式技術架構的兩大主流技術,這兩種架構都已具有各自的市場份額和客戶群體,那么我們在構建信息系統時應該選擇哪種架構模型,C/S還是B/S模式?一般情況下,如果用戶辦公地點固定,對數據的安全性要求非常高、數據處理量非常大,且要求交互性很強,比如銀行、單位的工資系統、職工信息系統、單位技術資料系統等等,就適合選擇C/S模式的系統[4]。因為此類用戶經常要對系統進行查詢、編輯或是更新一些數據,并且還要保證數據的絕對安全,選擇C/S模式既可以滿足用戶的以上要求,且系統無需等待網絡的響應,節省時間。但一些用戶,如購票系統、學生管理系統等等,系統對數據的安全性要求不高,就適合采用B/S模式。B/S模式的系統可以很好的為這類用戶提供服務,但是這些用戶必須等待網絡的響應。根據兩種架構的特點,結合用戶的需求,揚長避短,合理選擇其中的一種模式。
在一個復雜的、大型系統中,如果能打破常規的單一模式設計,而采用C/S和B/S模式相結合的系統構架,不僅可以提高系統中數據的安全性,還可以充分發揮系統的優越性。下面我們例舉一個基于C/S和B/S模式相結合的燃料管理信息系統的開發實例。
目前國內很多火力發電廠在信息技術應用方面比較薄弱,因此導致煤場進煤均存在一系列問題,如數據傳輸不及時、計量數據誤差大、接卸存儲工作相對無序、管理模式陳舊落后、車輛管理混亂等等,這樣和一個一流火力發電廠的煤場管理工作要求相差甚遠。因此針對本火力發電廠,定制一個對所有環節可以進行有效管理和控制的信息系統,最終通過對入廠燃料成本的有效控制,來降低企業的燃料成本,從而實現企業利潤最大化。從火力發電廠存在的一系列問題及其解決方案分析可知,系統功能復雜[6]。為了完成一個穩定、可靠且易操作的系統,在系統的構建中,提出了一項目前比較流行的C/S模式和B/S模式相結合的數據庫系統技術。考慮到部分系統的可靠性要求,采用了C/S模型,而其他部分則采用B/S模型。
通過對電廠燃料管理系統分析,再分別考慮C/S和B/S兩種模式的優劣勢,規劃信息系統時采取避重就輕的原則,最后才能搭建一個合適的信息系統。在信息資源管理軟件中對信息的瀏覽、查詢,特別是異地瀏覽查詢,對數據的安全性不高的場合以及一些小規模數據錄入的部分,均適合采用B/S架構。客戶端只要能上網即可操作軟件,可以創建報表。在本系統中,自動過磅模塊采用多種硬件通信,對數據的安全性和穩定性要求較高,因此這個模塊采用了C/S架構。系統中的RFID卡管理模塊、采樣機隨機采樣模塊、錄制化模塊、合同管理模塊、結算單管理模塊、視頻管理模塊、系統管理模塊和庫存管理模塊主要是考慮到操作維護的方便性,所以這些模塊采用了B/S架構。系統的構架與程序模塊劃分如圖3所示。

圖3 系統功能模塊圖Fig.3 System function module chart
從上面的分析可以看出,C/S和B/S兩種結構模式在技術和應用上都有各自的優勢和特點,無法徹底取代一方。因此,如本燃料管理系統,在系統設計時可根據具體的應用需求合理選擇C/S和B/S的混合結構。只有這樣,才能揚長避短,發揮其各自的優勢。
[1]高慧.C/S到B/S模式轉換的技術研究[J].中國海洋大學,2012(12):4-5.GAOHui.C/Sto B/Smode conversion technology research[J].Journal of Ocean University of China,2012(12):4-5.
[2]吳小青.基于B/S體系結構軟件開發技術研究[J].電子科技大,2012(3):24-26.WU Xiao-qing.Software development technology based on B/Sarchitecture research[J].Journal of Electronic Science and Technology,2012(3):24-26.
[3]白尚旺.Power Designer數據庫建模技術[M].西安:西安電子科技大學出版社,2001.
[4]宋金鎖.基于BC/S的教務管理系統的設計和實現[J].西安郵電學院學報,2006(1):119-122.SONG Jin-suo.Based on the BC/S of the design and implementation of educational administration system[J].Journal of xi’an Institute of Posts and Telecommunications,2006(1):119-122.
[5]季星,丁勝.我國數據庫產業發展現狀分析[J].科技情報開發與經濟,2007,17(22):109-111.JI Xing,DING Sheng.Our database industry development present situation analysis[J].Intelligence Development of Science and Technology and Economy,2007(22):109-111.
[6]夏邦貴,劉凡馨.SQL Server數據庫開發經典實例精選[M].北京:機械工業出版,2006.