摘要:該文闡述了我國(guó)校園一卡通系統(tǒng)的發(fā)展?fàn)顩r和分析了以太網(wǎng)技術(shù)的可行性,在比較分析了C/S結(jié)構(gòu)和B/S結(jié)構(gòu)特點(diǎn)后,結(jié)合目前我國(guó)高校發(fā)展模式的特點(diǎn)與趨勢(shì),提出了基于以太網(wǎng)與TCP/IP協(xié)議的位于分布式計(jì)算環(huán)境中的B/S架構(gòu)的綜合應(yīng)用體系模型——校園一卡通綜合應(yīng)用系統(tǒng)。本系統(tǒng)可以有效實(shí)現(xiàn)一卡走遍校園,而且地理位置分布較遠(yuǎn)的多校區(qū)校園也可滿足。論文詳細(xì)介紹了在系統(tǒng)中用到的ActiveX控件,消息中間件,以及應(yīng)用到的SQL Server2000數(shù)據(jù)庫(kù)中的作業(yè)、復(fù)制。
關(guān)鍵詞:校園一卡通;以太網(wǎng);中間件;消費(fèi)建模;事務(wù)復(fù)制
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)32-1137-03
The Consume Application System of Campus Card Based on B/S Architecture
YAO Qing-yi1,ZHANG Xi-huang2
(1.Jiangyin Polytechnic College, Jiangyin 214400, China; 2.School of Information Technology, Southern Yangtze University, Wuxi 214122, China)
Abstract: At First the paper analyzes the feasibility of use Ethernet in measure-control system, and then introduces the \"Versatile Campus Card\" developing status in our country. After compares C/S architecture and characteristic with B/S, bases on university’s developmental character and trend in our country, the thesis puts forward an B/S architecture synthesis application system model, —\"The synthesis Application System Of Versatile Campus Card Consume System\", which bases on Ethernet and TCP/IP protocol in distributed compute environment. This system can achieve use one card in school effectively, even if several schoolyard distributing in different geography place. Active x, message middleware, and SQL Server 2000 task and transaction replicate technology which are used in system have been introduced detailed.
Key words: versatile campus card; ethernet; middle ware; consume modeling; transaction replicate
1 引言
為了更加科學(xué)有效的管理,各個(gè)高校都開(kāi)始了本校的數(shù)字化校園建設(shè),而“校園一卡通”系統(tǒng)是數(shù)字化校園的一個(gè)很重要的方面,作為將校園數(shù)字化的橋梁與紐帶,一卡通平臺(tái)越來(lái)越引起關(guān)注。校園一卡通系統(tǒng)有效的將學(xué)校的各個(gè)方面聯(lián)系起來(lái),如將食堂、圖書(shū)館、超市、醫(yī)院、澡堂、體育場(chǎng)、實(shí)驗(yàn)室等通過(guò)不同類型的終端POS機(jī)聯(lián)系起來(lái),從而可以對(duì)它們進(jìn)行集中控制。
隨著近年校園網(wǎng)絡(luò)的不斷發(fā)展,硬件設(shè)施的不斷完善,大多數(shù)的高校實(shí)現(xiàn)了骨干網(wǎng)光纖化,以太網(wǎng)輻射全校園。利用以太網(wǎng)通訊技術(shù)、非接觸式IC卡、Web體系結(jié)構(gòu),依靠中間件技術(shù)、數(shù)據(jù)庫(kù)復(fù)制技術(shù)、數(shù)據(jù)庫(kù)管理技術(shù),開(kāi)發(fā)一種全新的構(gòu)建在校園網(wǎng)上,跨校區(qū)、跨地域的分布式校園一卡通綜合應(yīng)用平臺(tái)無(wú)疑是有很多優(yōu)勢(shì)。
2 整體結(jié)構(gòu)設(shè)計(jì)
由于當(dāng)前眾多高校合并,從而出現(xiàn)了許多一個(gè)學(xué)校多個(gè)校區(qū)的情況。由于地域的限制,這些學(xué)校往往不能進(jìn)行全校統(tǒng)一管理,給廣大是師生帶來(lái)了諸多不便。所以,這套系統(tǒng)是基于多校區(qū)的系統(tǒng),必須要將各個(gè)校區(qū)統(tǒng)一規(guī)劃起來(lái)進(jìn)行統(tǒng)一的管理。為了解決上述問(wèn)題,本系統(tǒng)采用B/S架構(gòu)的分布式設(shè)計(jì)方案。后臺(tái)消費(fèi)系統(tǒng)主要功能是完成各種對(duì)消費(fèi)機(jī)型的編程,使底層的窗口機(jī),和后臺(tái)結(jié)算中心數(shù)據(jù)庫(kù),進(jìn)行無(wú)縫通信,來(lái)完成各種應(yīng)用活動(dòng)。如圖1所示的拓?fù)浣Y(jié)構(gòu)中各個(gè)消費(fèi)窗口機(jī)按消費(fèi)點(diǎn)分類,每個(gè)消費(fèi)點(diǎn)通過(guò)接口機(jī)與校園網(wǎng)連通。由于接口機(jī)的作用,可以將各種類型的消費(fèi)系統(tǒng)劃到不同的網(wǎng)絡(luò)中,而這些消費(fèi)系統(tǒng)子網(wǎng)與校園主干網(wǎng)也隔離開(kāi)來(lái),從而實(shí)現(xiàn)各個(gè)網(wǎng)絡(luò)物理和邏輯上的隔離。
3 B/S與C/S相結(jié)合的模式
本系統(tǒng)采用B/S與C/S相結(jié)合的模式,綜合了兩種模式的優(yōu)點(diǎn),有效實(shí)現(xiàn)了實(shí)時(shí)性與易用性相結(jié)合,方便了管理,降低了維護(hù)費(fèi)用。
3.1 C/S模式的特點(diǎn)
C/S (Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。C/S模式的優(yōu)點(diǎn):1) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。2) 數(shù)據(jù)的儲(chǔ)存管理功能較為透明。3) 實(shí)時(shí)性較好。
傳統(tǒng)的C/S體系結(jié)構(gòu)在特定的應(yīng)用中無(wú)論是Client端還是Server端都還需要特定的軟件支持。由于沒(méi)能提供用戶真正期望的開(kāi)放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。而且代價(jià)高,效率低。C/S模式的不足:1) 對(duì)硬件依賴性高。2) 維護(hù)成本較高。3) 不易升級(jí)。
3.2 B/S模式的特點(diǎn)
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu),這樣就大大簡(jiǎn)化了客戶端載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。B/S模式的優(yōu)點(diǎn):1) 維護(hù)和升級(jí)方式簡(jiǎn)單。2) 成本降低,與硬件相關(guān)性降低,選擇更多。3) 應(yīng)用范圍很大。B/S模式的不足:1) 實(shí)時(shí)性較差。2) 應(yīng)用服務(wù)器負(fù)載較大。3) 不易升級(jí)。
3.3B/S與C/S相結(jié)合的實(shí)現(xiàn)模式
因?yàn)槟壳拔覈?guó)校園一卡通系統(tǒng)大多是基于C/S結(jié)構(gòu),所以必然存在上述的各種缺陷。為了改進(jìn)C/S結(jié)構(gòu)軟件的缺陷,本系統(tǒng)提出了國(guó)內(nèi)領(lǐng)先的基于B/S架構(gòu)校園一卡通系統(tǒng)。但是B/S系統(tǒng)的特性決定了它不適合于實(shí)時(shí)處理系統(tǒng),所以本系統(tǒng)后臺(tái)的實(shí)時(shí)數(shù)據(jù)處理都采用C/S架構(gòu)。這樣可以有效地利用兩種軟件體系結(jié)構(gòu)的優(yōu)點(diǎn),揚(yáng)長(zhǎng)避短。B/S系統(tǒng)主要應(yīng)用于前端的各種信息查詢,報(bào)表打印,以及設(shè)備的管理。而各種對(duì)終端POS機(jī)的控制、對(duì)實(shí)時(shí)數(shù)據(jù)的分析處理則使用C/S結(jié)構(gòu),其整體的結(jié)構(gòu)如圖2所示。由此來(lái)實(shí)現(xiàn)各個(gè)營(yíng)業(yè)場(chǎng)所都可以通過(guò)瀏覽器對(duì)各種營(yíng)業(yè)數(shù)據(jù)進(jìn)行查詢統(tǒng)計(jì),可以完全不受地域限制,并且維護(hù)容易,升級(jí)成本低,安全性更高。
4 中間件在校園一卡通中的應(yīng)用
中間件是一種分布在網(wǎng)絡(luò)節(jié)點(diǎn)上的應(yīng)用軟件,介于操作系統(tǒng)和應(yīng)用系統(tǒng)之間的平臺(tái)軟件,是一個(gè)用API定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。中間件分類:數(shù)據(jù)庫(kù)訪問(wèn)中間件;面向?qū)ο笾虚g件;消息隊(duì)列中間件。
4.1 控件層中間件技術(shù)集成應(yīng)用
在本系統(tǒng)中對(duì)終端的各種控制與數(shù)據(jù)采集采取了圖3所示的結(jié)構(gòu),消費(fèi)系統(tǒng)軟件通過(guò)控件層中間件對(duì)終端硬件進(jìn)行控制和數(shù)據(jù)采集,并將數(shù)據(jù)傳遞到上層消費(fèi)系統(tǒng)軟件。控件層中間件位于窗口機(jī)和消費(fèi)系統(tǒng)之間,用來(lái)和硬件進(jìn)行通信,有效屏蔽了對(duì)硬件的依賴,屏蔽了分布式系統(tǒng)協(xié)議差異,提供了對(duì)硬件控制、訪問(wèn)的標(biāo)準(zhǔn)接口。使得軟件體系更加明了,各層分工更加明確。
4.2 消息隊(duì)列在系統(tǒng)中的應(yīng)用
因?yàn)橄M(fèi)系統(tǒng)管理層采用了B/S架構(gòu),所以如果要對(duì)底層硬件(窗口機(jī))進(jìn)行控制,必須通過(guò)C/S模式的消費(fèi)控制層進(jìn)行。它們之間的通信本系統(tǒng)采用消息隊(duì)列(MSMQ)實(shí)現(xiàn),消息隊(duì)列工作流程如圖4所示:1) 管理層向隊(duì)列發(fā)送監(jiān)控命令;2) 控制層向控件層中間件發(fā)送查詢窗口機(jī)狀態(tài)命令;3) 得到窗口機(jī)狀態(tài)后修改窗口機(jī)狀態(tài)隊(duì)列;4) 管理層從窗口機(jī)狀態(tài)隊(duì)列取值。
5 數(shù)據(jù)庫(kù)設(shè)計(jì)及其優(yōu)化
5.1 分布式數(shù)據(jù)庫(kù)技術(shù)
數(shù)據(jù)分布(Data Distribution)是分布式數(shù)據(jù)庫(kù)的一個(gè)特征。所謂數(shù)據(jù)分布是指分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是存儲(chǔ)在一個(gè)站點(diǎn)的計(jì)算機(jī)存儲(chǔ)設(shè)備上,而是根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按某種策略將這些片段分散地存儲(chǔ)在各個(gè)站點(diǎn)上。數(shù)據(jù)分布策略有:集中式、分割式、復(fù)制式和混合式。
集中式的具體使用:財(cái)務(wù)信息由一個(gè)中心統(tǒng)一管理(IC卡余額保存在結(jié)算中心,采用集中式管理),學(xué)生信息主要是分散在各個(gè)校區(qū)的中心。為使學(xué)生和IC卡信息對(duì)應(yīng),必須對(duì)每個(gè)校區(qū)的學(xué)生信息進(jìn)行邏輯分片然后和IC卡信息關(guān)聯(lián)起來(lái)存放在統(tǒng)一的中心。每個(gè)分校通過(guò)銀校一卡通的接口機(jī)完成對(duì)每一張卡的充值,具體的方法由銀校轉(zhuǎn)帳系統(tǒng)完成。
復(fù)制式的具體使用:為確保數(shù)據(jù)的可靠性,提高系統(tǒng)的安全性和可信度,在應(yīng)用系統(tǒng)和中心服務(wù)器之間都保存消費(fèi)信息。通過(guò)做服務(wù)器發(fā)布,使中心服務(wù)器和應(yīng)用系統(tǒng)保持同步。
分割式的具體使用:考慮到多個(gè)校區(qū)學(xué)生管理上的方便,可以采用這種分布式數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)學(xué)生信息的存儲(chǔ)。為了對(duì)學(xué)生信息進(jìn)行有效的分割同時(shí)也為了方便信息的查詢,可以對(duì)學(xué)生的編號(hào)數(shù)據(jù)規(guī)定一定的格式。比如:校區(qū)編號(hào)+班級(jí)編號(hào)+內(nèi)部編號(hào)。
5.2 數(shù)據(jù)庫(kù)整體設(shè)計(jì)
校園一卡通消費(fèi)系統(tǒng)綜合應(yīng)用平臺(tái)后臺(tái)數(shù)據(jù)庫(kù)采用了數(shù)據(jù)庫(kù)同步、數(shù)據(jù)庫(kù)作業(yè)系統(tǒng)、觸發(fā)器、存儲(chǔ)過(guò)程等技術(shù)高效實(shí)現(xiàn)了與結(jié)算中心數(shù)據(jù)庫(kù)動(dòng)態(tài)同步。數(shù)據(jù)庫(kù)整體結(jié)構(gòu)如圖5所示。消費(fèi)系統(tǒng)通過(guò)對(duì)結(jié)算中心的訂閱,將遠(yuǎn)程庫(kù)的訪問(wèn)轉(zhuǎn)換成對(duì)本地庫(kù)的訪問(wèn)。利用存儲(chǔ)過(guò)程實(shí)時(shí)的更新結(jié)算中心庫(kù)。利用作業(yè)技術(shù)定時(shí)對(duì)本地庫(kù)進(jìn)行優(yōu)化。
5.3 數(shù)據(jù)庫(kù)復(fù)制在一卡通中的應(yīng)用
使用復(fù)制可以將數(shù)據(jù)分發(fā)到不同位置,通過(guò)局域網(wǎng)、通過(guò) Internet 分發(fā)給遠(yuǎn)程或移動(dòng)用戶。復(fù)制還能夠使用戶提高應(yīng)用程序性能,根據(jù)數(shù)據(jù)的使用方式物理分隔數(shù)據(jù),或者跨越多個(gè)服務(wù)器分布數(shù)據(jù)庫(kù)處理。Microsoft???SQL ServerTM 2000 復(fù)制模型由下列對(duì)象組成:發(fā)布服務(wù)器、分發(fā)服務(wù)器、訂閱服務(wù)器、發(fā)布、項(xiàng)目和訂閱。圖6所示為本系統(tǒng)的數(shù)據(jù)庫(kù)復(fù)制過(guò)程,其詳細(xì)描述了數(shù)據(jù)庫(kù)復(fù)制的原理。
再次發(fā)布者模型使用兩臺(tái)服務(wù)器發(fā)布相同的數(shù)據(jù)。發(fā)布服務(wù)器將數(shù)據(jù)發(fā)送至訂閱服務(wù)器,然后后者將數(shù)據(jù)重新發(fā)布至任意數(shù)目的訂閱服務(wù)器。當(dāng)發(fā)布服務(wù)器必須通過(guò)低速或昂貴的通訊鏈接向訂閱服務(wù)器發(fā)送數(shù)據(jù)時(shí),此方案十分有用。如果在鏈接的遠(yuǎn)端有許多訂閱服務(wù)器,那么使用再次發(fā)布者會(huì)將大容量的分發(fā)負(fù)擔(dān)轉(zhuǎn)移到鏈接的遠(yuǎn)端。在本系統(tǒng)中,校區(qū)1和校區(qū)2分布在不同的地區(qū),校區(qū)1消費(fèi)系統(tǒng)和校區(qū)2消費(fèi)系統(tǒng)要從學(xué)院本部服務(wù)器上得到數(shù)據(jù),就可以利用重復(fù)發(fā)布的方式來(lái)實(shí)現(xiàn)。在校區(qū)1和校區(qū)2分別設(shè)一臺(tái)分發(fā)/訂閱服務(wù)器,它為學(xué)院本部的發(fā)布數(shù)據(jù)庫(kù)分發(fā)數(shù)據(jù),又同時(shí)訂閱其數(shù)據(jù)進(jìn)行二次發(fā)布,如圖7所示。
6 小結(jié)
本文主要介紹了校園一卡通綜合應(yīng)用平臺(tái)消費(fèi)系統(tǒng)的消費(fèi)模型建模,本系統(tǒng)主要特點(diǎn)有四個(gè):第一,采用以太網(wǎng)作為通信網(wǎng)絡(luò),可以有效利用現(xiàn)有硬件資源。第二,采用C/S與B/S模式相結(jié)合,底層采用ActiveX控件技術(shù),低層控制采用C/S模式以托盤形式“類服務(wù)”運(yùn)行,上層管理采用B/S模式,低層與上層軟件通過(guò)消息中間件進(jìn)行通信。第三,采用雙向不對(duì)稱技術(shù):對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的數(shù)據(jù)更新采用存儲(chǔ)過(guò)程完成,對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的數(shù)據(jù)采集采用事務(wù)復(fù)制技術(shù)。第四,采用作業(yè)技術(shù)和觸發(fā)器技術(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化。
從某種意義上說(shuō)“校園一卡通”還是一個(gè)局部系統(tǒng),還有很大的發(fā)展空間。為了更加方便廣大師生,還可以將城市一卡通與校園一卡通進(jìn)行互連。比如將校園一卡通的功能擴(kuò)充到公交一卡通系統(tǒng),使用校園卡就可以乘坐市內(nèi)公共汽車,打IC電話。
參考文獻(xiàn):
[1] Tanenbaum A S,Universiteit V,Amsterdam,The Netherlands,計(jì)算機(jī)網(wǎng)絡(luò)(中文版)[M].潘愛(ài)民,譯.4版.北京:清華大學(xué)出版社,2004.
[2] Wright G.(TCP/IP詳解 卷1:協(xié)議)TCP/IP illustrated Volume 2:The Protocols[M].北京:機(jī)械工業(yè)出版社,2000.
[3] 李修建,沈志.Web上多層Client/Server數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2000(11).
[4] Barwell F,Blair R.VB.NET高級(jí)編程[M].康博,譯.北京:清華大學(xué)出版社,2002.
[5] Otey M,Conte P.SQL Server 2000開(kāi)發(fā)指南[M].陳恩,譯.北京:清華大學(xué)出版社,2002.
[6] 楊正洪,鄭齊健,孫延輝,等.中文SQL Server 2000關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)管理和開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2001.