劉彩利
(西安外事學(xué)院 陜西 西安 710077)
數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)科學(xué)的一個(gè)重要分支,是數(shù)據(jù)庫管理的最新技術(shù),并且它也是信息系統(tǒng)的核心和基礎(chǔ),它的提出極大促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫規(guī)模建設(shè)大小、其信息量的多少以及使用的頻度已經(jīng)成為衡量一個(gè)國(guó)家信息化程度的重要標(biāo)志。數(shù)據(jù)庫技術(shù)在不斷發(fā)展,信息系統(tǒng)架構(gòu)的模型在應(yīng)用需求的不斷變化下也發(fā)生了很大的變化,最早的信息系統(tǒng)架構(gòu)是單一操作的數(shù)據(jù)庫,隨后發(fā)展成為一種基于局域網(wǎng)內(nèi)部服務(wù)器和客戶端模式的數(shù)據(jù)庫,即C/S模型。C/S模型的出現(xiàn)不僅方便了客戶的操作,而且極大促進(jìn)了數(shù)據(jù)庫系統(tǒng)的應(yīng)用和發(fā)展。隨著互聯(lián)網(wǎng)的出現(xiàn)和不斷地發(fā)展,單一的C/S模式已經(jīng)完全不能滿足客戶的需求,因此出現(xiàn)了一種基于互聯(lián)網(wǎng)的數(shù)據(jù)庫模型,即B/S模型。B/S采用的是瀏覽器(Browser)和服務(wù)器(Server)方式[1]。
C/S結(jié)構(gòu)是軟件系統(tǒng)的體系結(jié)構(gòu),它為了極大的降低系統(tǒng)的通信開銷,充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn)。C/S架構(gòu)主要分為兩個(gè)層次系統(tǒng),典型的結(jié)構(gòu)如圖1所示。
圖1 C/S典型結(jié)構(gòu)圖Fig.1 C/Stypical structure
從圖1中可以分析出,C/S模式是一種兩層結(jié)構(gòu)的系統(tǒng):第一層是在客戶機(jī)系統(tǒng)上結(jié)合了表示與業(yè)務(wù)邏輯;第二層是通過網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫服務(wù)器。C/S模式主要由客戶應(yīng)用程序、服務(wù)器管理程序和中間件3個(gè)部分組成。在C/S模式中,客戶端有一套完整應(yīng)用程序,其強(qiáng)大的功能甚至包括出錯(cuò)提示、在線幫助等方面,并且可以在子程序間自由切換。其次,C/S模式提供了一種更安全的存取模式[2]。由于C/S配備的是點(diǎn)對(duì)點(diǎn)的結(jié)構(gòu)模式,采用適用于局域網(wǎng),安全性可以得到可靠的保證。
對(duì)于C/S結(jié)構(gòu)來說,其優(yōu)點(diǎn)是顯而易見的,主要體現(xiàn)在如下幾方面:
1)安全性很好,數(shù)據(jù)存儲(chǔ)于本地,不怕某些公司或黑客盜走數(shù)據(jù)。
2)資源傳輸很好,系統(tǒng)中各個(gè)部分的數(shù)據(jù)交流速度非常快,使得C/S更利于處理大量數(shù)據(jù)。
3)即使網(wǎng)絡(luò)斷開,也很容易控制權(quán)限。
4)容易修改維護(hù),可以自動(dòng)升級(jí),完全解決了維護(hù)問題。
5)由于開發(fā)是具有針對(duì)性的,因此,系統(tǒng)形式多樣,操作界面漂亮,可以充分滿足客戶自身的個(gè)性化要求。
6)由于客戶端實(shí)現(xiàn)與服務(wù)器的直接相連,沒有中間環(huán)節(jié),因此響應(yīng)速度快。
C/S模式架構(gòu)雖然已經(jīng)得到了廣泛的應(yīng)用,但是一些缺點(diǎn)還是日漸暴露出來,主要表現(xiàn)在以下幾點(diǎn):
1)不易移植。C/S結(jié)構(gòu)開發(fā)的系統(tǒng)多是采用各類不同的工具開發(fā)的,與其他各類應(yīng)用程序的兼容性很底,所以不易移植。
2)不易升級(jí)和擴(kuò)展??蛻魴C(jī)上執(zhí)行了C/S結(jié)構(gòu)的大部分任務(wù),因此C/S結(jié)構(gòu)對(duì)客戶機(jī)的軟硬件要求都很高,這樣也就使系統(tǒng)開發(fā)的成本大幅提高了,且系統(tǒng)不易升級(jí)和擴(kuò)展。
3)不能分布式處理數(shù)據(jù)。由于C/S結(jié)構(gòu)開發(fā)的應(yīng)用程序覆蓋范圍小,因此不能接入Internet,實(shí)現(xiàn)分布式處理,而只能在單機(jī)或者局域網(wǎng)上運(yùn)行。
4)用戶維護(hù)成本提高??蛻舳诉\(yùn)行C/S結(jié)構(gòu)開發(fā)的應(yīng)用程序,還需要安裝專門的軟件,客戶端的程序不易被服務(wù)器端控制,如果要升級(jí),還需要把升級(jí)程序下載到每臺(tái)客戶機(jī)上,逐一進(jìn)行安裝升級(jí),升級(jí)維護(hù)困難相當(dāng)大,用戶維護(hù)成本提高。
B/S是一種基于Intranet的需求而出現(xiàn)并發(fā)展的網(wǎng)絡(luò)結(jié)構(gòu)模式。Intranet應(yīng)用TCP/IP協(xié)議,是建立在企事業(yè)單位內(nèi)部專用的一種網(wǎng)絡(luò),采用了Internet技術(shù)和標(biāo)準(zhǔn),諸如TCP/IP、SMTP、HTTP和HTML等,能為企事業(yè)單位內(nèi)部交換信息提供服務(wù)[3]。同時(shí),Intranet還具有防止外界入侵的安全措施和連接Internet的功能。另一方面,由于數(shù)據(jù)庫不僅具有強(qiáng)大的管理和數(shù)據(jù)存儲(chǔ)能力,而且能夠動(dòng)態(tài)地輸入和輸出數(shù)據(jù),如果把數(shù)據(jù)庫和Intranet結(jié)合起來,不僅可以實(shí)現(xiàn)在網(wǎng)上發(fā)布大量的信息,而且能夠?yàn)樗杏脩籼峁?shù)據(jù)處理服務(wù)和動(dòng)態(tài)的信息查詢,進(jìn)而加強(qiáng)企事業(yè)單位與其它企事業(yè)單位之間、企事業(yè)單位與客戶之間,企事業(yè)單位內(nèi)部之間的信息交流,從而降低了企事業(yè)單位的日常工作成本,提高了企事業(yè)單位的經(jīng)濟(jì)效益。B/S模式,即瀏覽器/服務(wù)器模式,是從傳統(tǒng)的二層C/S模式發(fā)展起來的一種新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)就是三層結(jié)構(gòu)的C/S模式。典型的結(jié)構(gòu)如圖2所示。
圖2 B/S典型結(jié)構(gòu)圖Fig.2 B/Stypical structure
B/S模式中,在客戶端運(yùn)行瀏覽器軟件。瀏覽器訪問數(shù)據(jù)庫時(shí),是以超文本形式向Web服務(wù)器提出訪問請(qǐng)求,Web服務(wù)器接受客戶端請(qǐng)求后,把這個(gè)請(qǐng)求轉(zhuǎn)化為SQL語法,并交給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器得到請(qǐng)求后,驗(yàn)證其合法性,并進(jìn)行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給Web服務(wù)器,Web服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶端,客戶端瀏覽器以友好的Web頁面形式將數(shù)據(jù)顯示出來[5]。
B/S結(jié)構(gòu)是從C/S結(jié)構(gòu)演進(jìn)而來的,除了具備C/S結(jié)構(gòu)的大部分優(yōu)點(diǎn)外,還有自身的優(yōu)勢(shì)和劣勢(shì),具體分析如下:
B/S架構(gòu)的優(yōu)勢(shì)有如下幾點(diǎn):
1)易擴(kuò)展業(yè)務(wù)功能,只要增加網(wǎng)頁就可以增加服務(wù)器功能,擴(kuò)展業(yè)務(wù)。
2)具有分布性特點(diǎn),客戶可以隨時(shí)隨地進(jìn)行一些業(yè)務(wù)處理,如瀏覽、查詢等。
3)系統(tǒng)維護(hù)簡(jiǎn)單方便,如果實(shí)現(xiàn)所有用戶的同步更新,只需要改變網(wǎng)頁即可完成。
4)系統(tǒng)開發(fā)簡(jiǎn)單,且共享性很強(qiáng)。
B/S結(jié)構(gòu)也存在著很多的劣勢(shì),主要有如下幾方面:
1)B/S是基于WEB的,當(dāng)網(wǎng)速較差或者是沒有網(wǎng)絡(luò)時(shí),網(wǎng)頁動(dòng)態(tài)刷新響應(yīng)的速度就會(huì)明顯降底或者無法響應(yīng),這就導(dǎo)致了數(shù)據(jù)傳輸?shù)牟环€(wěn)定或者是出錯(cuò)。
2)無法實(shí)現(xiàn)分頁顯示信息,使數(shù)據(jù)庫訪問壓力非常大。
3)安全性能較差,很容易遭到黑客或者是競(jìng)爭(zhēng)對(duì)手的攻擊和資料的竊取。
4)個(gè)性化特點(diǎn)明顯降低,不能滿足個(gè)性化功能的要求。
5)功能弱化,無法實(shí)現(xiàn)傳統(tǒng)模式下的一些特殊功能要求。
6)B/S采用的是開放結(jié)構(gòu)模式和開放性的協(xié)議,只能依靠數(shù)據(jù)服務(wù)器上管理密碼的數(shù)據(jù)庫來保證其安全性。
C/S和B/S是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù),這兩種架構(gòu)都已具有各自的市場(chǎng)份額和客戶群體,那么我們?cè)跇?gòu)建信息系統(tǒng)時(shí)應(yīng)該選擇哪種架構(gòu)模型,C/S還是B/S模式?一般情況下,如果用戶辦公地點(diǎn)固定,對(duì)數(shù)據(jù)的安全性要求非常高、數(shù)據(jù)處理量非常大,且要求交互性很強(qiáng),比如銀行、單位的工資系統(tǒng)、職工信息系統(tǒng)、單位技術(shù)資料系統(tǒng)等等,就適合選擇C/S模式的系統(tǒng)[4]。因?yàn)榇祟愑脩艚?jīng)常要對(duì)系統(tǒng)進(jìn)行查詢、編輯或是更新一些數(shù)據(jù),并且還要保證數(shù)據(jù)的絕對(duì)安全,選擇C/S模式既可以滿足用戶的以上要求,且系統(tǒng)無需等待網(wǎng)絡(luò)的響應(yīng),節(jié)省時(shí)間。但一些用戶,如購票系統(tǒng)、學(xué)生管理系統(tǒng)等等,系統(tǒng)對(duì)數(shù)據(jù)的安全性要求不高,就適合采用B/S模式。B/S模式的系統(tǒng)可以很好的為這類用戶提供服務(wù),但是這些用戶必須等待網(wǎng)絡(luò)的響應(yīng)。根據(jù)兩種架構(gòu)的特點(diǎn),結(jié)合用戶的需求,揚(yáng)長(zhǎng)避短,合理選擇其中的一種模式。
在一個(gè)復(fù)雜的、大型系統(tǒng)中,如果能打破常規(guī)的單一模式設(shè)計(jì),而采用C/S和B/S模式相結(jié)合的系統(tǒng)構(gòu)架,不僅可以提高系統(tǒng)中數(shù)據(jù)的安全性,還可以充分發(fā)揮系統(tǒng)的優(yōu)越性。下面我們例舉一個(gè)基于C/S和B/S模式相結(jié)合的燃料管理信息系統(tǒng)的開發(fā)實(shí)例。
目前國(guó)內(nèi)很多火力發(fā)電廠在信息技術(shù)應(yīng)用方面比較薄弱,因此導(dǎo)致煤場(chǎng)進(jìn)煤均存在一系列問題,如數(shù)據(jù)傳輸不及時(shí)、計(jì)量數(shù)據(jù)誤差大、接卸存儲(chǔ)工作相對(duì)無序、管理模式陳舊落后、車輛管理混亂等等,這樣和一個(gè)一流火力發(fā)電廠的煤場(chǎng)管理工作要求相差甚遠(yuǎn)。因此針對(duì)本火力發(fā)電廠,定制一個(gè)對(duì)所有環(huán)節(jié)可以進(jìn)行有效管理和控制的信息系統(tǒng),最終通過對(duì)入廠燃料成本的有效控制,來降低企業(yè)的燃料成本,從而實(shí)現(xiàn)企業(yè)利潤(rùn)最大化。從火力發(fā)電廠存在的一系列問題及其解決方案分析可知,系統(tǒng)功能復(fù)雜[6]。為了完成一個(gè)穩(wěn)定、可靠且易操作的系統(tǒng),在系統(tǒng)的構(gòu)建中,提出了一項(xiàng)目前比較流行的C/S模式和B/S模式相結(jié)合的數(shù)據(jù)庫系統(tǒng)技術(shù)??紤]到部分系統(tǒng)的可靠性要求,采用了C/S模型,而其他部分則采用B/S模型。
通過對(duì)電廠燃料管理系統(tǒng)分析,再分別考慮C/S和B/S兩種模式的優(yōu)劣勢(shì),規(guī)劃信息系統(tǒng)時(shí)采取避重就輕的原則,最后才能搭建一個(gè)合適的信息系統(tǒng)。在信息資源管理軟件中對(duì)信息的瀏覽、查詢,特別是異地瀏覽查詢,對(duì)數(shù)據(jù)的安全性不高的場(chǎng)合以及一些小規(guī)模數(shù)據(jù)錄入的部分,均適合采用B/S架構(gòu)??蛻舳酥灰苌暇W(wǎng)即可操作軟件,可以創(chuàng)建報(bào)表。在本系統(tǒng)中,自動(dòng)過磅模塊采用多種硬件通信,對(duì)數(shù)據(jù)的安全性和穩(wěn)定性要求較高,因此這個(gè)模塊采用了C/S架構(gòu)。系統(tǒng)中的RFID卡管理模塊、采樣機(jī)隨機(jī)采樣模塊、錄制化模塊、合同管理模塊、結(jié)算單管理模塊、視頻管理模塊、系統(tǒng)管理模塊和庫存管理模塊主要是考慮到操作維護(hù)的方便性,所以這些模塊采用了B/S架構(gòu)。系統(tǒng)的構(gòu)架與程序模塊劃分如圖3所示。
圖3 系統(tǒng)功能模塊圖Fig.3 System function module chart
從上面的分析可以看出,C/S和B/S兩種結(jié)構(gòu)模式在技術(shù)和應(yīng)用上都有各自的優(yōu)勢(shì)和特點(diǎn),無法徹底取代一方。因此,如本燃料管理系統(tǒng),在系統(tǒng)設(shè)計(jì)時(shí)可根據(jù)具體的應(yīng)用需求合理選擇C/S和B/S的混合結(jié)構(gòu)。只有這樣,才能揚(yáng)長(zhǎng)避短,發(fā)揮其各自的優(yōu)勢(shì)。
[1]高慧.C/S到B/S模式轉(zhuǎn)換的技術(shù)研究[J].中國(guó)海洋大學(xué),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體系結(jié)構(gòu)軟件開發(fā)技術(shù)研究[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數(shù)據(jù)庫建模技術(shù)[M].西安:西安電子科技大學(xué)出版社,2001.
[4]宋金鎖.基于BC/S的教務(wù)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].西安郵電學(xué)院學(xué)報(bào),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]季星,丁勝.我國(guó)數(shù)據(jù)庫產(chǎn)業(yè)發(fā)展現(xiàn)狀分析[J].科技情報(bào)開發(fā)與經(jīng)濟(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數(shù)據(jù)庫開發(fā)經(jīng)典實(shí)例精選[M].北京:機(jī)械工業(yè)出版,2006.