基于J2EE的城域網(wǎng)公交一卡通系統(tǒng)設計
0 引 言
城市公交系統(tǒng)與人們的生活息息相關(guān),能否高效地進行公交系統(tǒng)的運營和管理,關(guān)系到社會的穩(wěn)定。針對公交系統(tǒng)數(shù)據(jù)量大、更新快、安全性要求高等特點,建設一個覆蓋市級的管理信息網(wǎng)絡和開發(fā)一個功能強大、性能可靠的軟件系統(tǒng)具有十分明顯的社會效益。本文提出了一個城域網(wǎng)環(huán)境下的基于J2EE平臺的公交管理信息系統(tǒng)的設計方案。該方案已經(jīng)成功運于珠海市公交管理和服務工作中,并正在逐步向其它地區(qū)推廣。
1 系統(tǒng)網(wǎng)絡架構(gòu)
城市公交一卡通系統(tǒng)的系統(tǒng)大致組織架構(gòu)為一級核算,二級管理。在公司總部成立IC卡系統(tǒng)信息中心,負責系統(tǒng)的整體運作和系統(tǒng)管理,管理系統(tǒng)下屬的各個采集點和售卡充值點。由此,每天的IC卡營運數(shù)據(jù)通過網(wǎng)絡上傳到信息中心的數(shù)據(jù)庫,其它營運數(shù)據(jù)則由各個分公司和相關(guān)職能部門錄入系統(tǒng)。各個分公司可以通過網(wǎng)絡查看和使用本公司的營運數(shù)據(jù)。根據(jù)系統(tǒng)需求以及城域網(wǎng)的特點,選用城域網(wǎng)作為骨干網(wǎng),采用TCP/IP協(xié)議實現(xiàn)互聯(lián)通信,將城市里不同地點的主機,以及局域網(wǎng)等互相聯(lián)接起來。分公司每臺營運車輛的現(xiàn)金收入數(shù)據(jù),收款中心的投幣數(shù)據(jù),供應部的加油數(shù)據(jù)都通過城域網(wǎng)的新型技術(shù)虛擬專用網(wǎng)“ (virtual private network,VPN)與IC卡服務器相連;售卡充值點的數(shù)據(jù)每天通過ISDN傳至IC卡服務器中。
總公司與分公司之間數(shù)據(jù)交流以光纖網(wǎng)來實現(xiàn),網(wǎng)絡內(nèi)各工作站通過交換機與主干網(wǎng)相連。結(jié)算中心內(nèi)部,結(jié)算中心與總公司通過局域網(wǎng)互相連接:結(jié)算中心與各個分公司通過局域網(wǎng)連接;各個數(shù)據(jù)采集點通過撥號方式與結(jié)算中心連接;整個公司內(nèi)部建成了一個有機的網(wǎng)絡平臺,如圖1所示。
圖1 公交一卡通系統(tǒng)拓撲結(jié)構(gòu)
2 系統(tǒng)體系結(jié)構(gòu)與選型
系統(tǒng)盡可能采用瀏覽器/服務器(browser/server,B/S結(jié)構(gòu)) 模式,而其中采用專用硬件設備操作的部分采用C/S模式,具體如:IC卡業(yè)務模塊采用C/S模式,基礎數(shù)據(jù)采集模塊采用B/S模式。在此方案中,系統(tǒng)使用一臺專用的Web服務器,作
為主要的網(wǎng)站服務器,所有的網(wǎng)站網(wǎng)頁源程序(動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁)都放在此服務器中,與數(shù)據(jù)庫的操作是通過Oracle9數(shù)據(jù)引擎來完成的。
系統(tǒng)的后臺網(wǎng)絡系統(tǒng)選用技術(shù)領(lǐng)先的POWER4+處理器的IBM p650/p630,以最佳的性能提供最低總運行成本。同時采用IBM3582磁帶庫為p650/p630提供了高速的數(shù)據(jù)備份,保證系統(tǒng)的可靠。其中數(shù)據(jù)庫服務器采用IBM7133磁盤陣列,還可以提供PPRC,F(xiàn)lashCopy等先進功能,為數(shù)據(jù)存儲集中,遠程容災提供了技術(shù)保障。
另外,為整個系統(tǒng)提高最高可靠性,運行HACMP高可靠群集。采用UPS供電系統(tǒng)中和TivoliTSM數(shù)據(jù)備份系統(tǒng)。系統(tǒng)主要采用瀏覽器/N務器方式的應用體系結(jié)構(gòu)。服務器端采用AIX5L操作系統(tǒng)和Oracle公司的Oracle9I數(shù)據(jù)庫管理系統(tǒng)(DBMS)。瀏覽器端采用基于IE6.0的網(wǎng)頁瀏覽器。
3 軟件設計
考慮到原有舊系統(tǒng)成熟的硬件應用類庫,系統(tǒng)采用B/S與C/S相結(jié)合的模式0 ,系統(tǒng)中,除了手持設備以及財務點鈔有關(guān)的數(shù)據(jù)錄入模塊采用C/S模塊,其它模塊均采用B/S方式。公司總部管理系統(tǒng)數(shù)據(jù)服務器,各個部門和分公司通過城域網(wǎng)登錄總公司服務器,系統(tǒng)為每個操作人員分配權(quán)限,并通過用戶名和密碼進行控制,不同部門的人員,不同職位人員具有不同的權(quán)限。系統(tǒng)功能采用模塊設計,根據(jù)公交公司的管理和營運模式,建立整個公交公司的系統(tǒng)功能,分公司不需要再單獨安裝系統(tǒng),只需要通過瀏覽器登錄系統(tǒng)。系統(tǒng)初期,管理人員將根據(jù)每個部門,每個工作人員的工作權(quán)限和工作范圍分配可以使用的功能模塊,并且每個分公司只能使用和查詢本公司的營運數(shù)據(jù)。系統(tǒng)軟件體系結(jié)構(gòu)圖如圖2所示。
圖2 公交一卡通系統(tǒng)軟件體系結(jié)構(gòu)
3.1 C/S結(jié)構(gòu)的運用
對于如POS機以及IC卡等設備的業(yè)務應用模塊采用C/S結(jié)構(gòu)。① 對于這些設備采用成熟通用的原有C/S軟件結(jié)構(gòu),加快了軟件的開發(fā)進度,直接使用現(xiàn)有的成熟開發(fā)類庫,避免了與硬件結(jié)合的高難度測試;②能有效平衡服務器和客戶機的負載,可以使復雜的運算得以分布處理,即服務器可以集中于數(shù)據(jù)庫的后臺數(shù)據(jù)處理(數(shù)據(jù)查詢和數(shù)據(jù)操縱),而客戶機則可以專注于前端人機界而的響應,特別是在海量數(shù)據(jù)流情況下,這種模式有效地提高了系統(tǒng)的整體性能:③能大規(guī)模地減輕網(wǎng)絡線路的通信負載。由于服務器與客戶機之問的通信僅限于最終處理的結(jié)染數(shù)據(jù),而免除了中間過程的數(shù)據(jù)傳輸,因此,加上良好的軟件設計,可以最低限度地減少網(wǎng)上的數(shù)據(jù)流量。
3.2 B/S結(jié)構(gòu)的運用
雖然在與一些硬件設備結(jié)合緊密的模塊采用C/S結(jié)構(gòu),系統(tǒng)的大部分應用基于B/S結(jié)構(gòu),主要體現(xiàn)在管理信息系統(tǒng)和辦公自動化系統(tǒng)上。在這里采用的是J2EE“ (Java 2 platform enterprise edition)平臺,它所提供的多層結(jié)構(gòu)分布式應用程序模型和基于XML(extensiblemarkuplanguage)的數(shù)據(jù)交換,以及統(tǒng)一的安全模式和靈活的事物控制,非常合適用以開發(fā)公交系統(tǒng)這樣擁有復雜事務和大量數(shù)據(jù)流的綜合應用系統(tǒng);由于采用J2EE的體系結(jié)構(gòu),相對原有的C/S的舊管理系統(tǒng),流行的B/S模式具有突出的優(yōu)點:① 良好的用戶界面。由于采用單一的瀏覽器界面,用戶的操作實際上成了頁面的簡單瀏覽,這樣,大大減輕了軟件的操作難度;② 軟件維護簡單。由于程序統(tǒng)一運行在Web服務器端,程序的更改只要在服務器端進行即可,這對于分布在眾多站點機的程序維護顯得尤為重要。
4 系統(tǒng)安全設計
由于系統(tǒng)包含有大量的實時操作和關(guān)鍵的業(yè)務數(shù)據(jù),對系統(tǒng)的任何破壞都有可能造成不可估量的損失。同時,由于系統(tǒng)覆蓋面廣、接點多,并且還有因特網(wǎng)接口,如果不加以仔細地考慮和科學地設計,系統(tǒng)到處都有可能存在著安全隱患。所以,建立完善的安全體系對于系統(tǒng)是至關(guān)重要的,如圖3中所建立的一個典型的安全解決方案,并從以下4個角度進行了提高安全性的設計 。
圖3 公交系統(tǒng)的網(wǎng)絡安全體系
(1)系統(tǒng)安全性
從圖3中可以看到此公交系統(tǒng)的基本網(wǎng)絡安全體系在一定程度上體現(xiàn)了IATF(美國信息保障技術(shù)框架— — 美國國家安全局于2000年頒布3.0版)分層防御思想,在多個位置部署了保護機制。這樣在攻擊者成功地破壞了某個保護機制的情況下,其它的保護機制能夠提供附加的保護,如當攻擊者繞開了防火墻實施的訪問控制時,入侵檢測系統(tǒng)能夠檢測出異常行為,或者在主機的終端保護能阻止訪問請求。
但我們注意到這里對于在保護網(wǎng)絡和基礎設施方面是比較薄弱的環(huán)節(jié),對網(wǎng)絡上傳輸?shù)母鞣N數(shù)據(jù)流— — 用戶數(shù)據(jù)、控制數(shù)據(jù)、管理數(shù)據(jù)該如何保護,沒有基本的安全防護策略。而這一部分則是通過后面驗證安全性中的軟件設計角度來實現(xiàn)對于數(shù)據(jù)和資源的保護。
(2)數(shù)據(jù)安全性
在保證了系統(tǒng)的安全性之后,我們要確定數(shù)據(jù)的安全性,完整性和可恢復性。對于數(shù)據(jù)服務器可采用雙機熱備份。一臺作為主機,另一臺作為備用機。備用機一直監(jiān)視主機的工作狀態(tài),主機一旦出現(xiàn)故障,備用機取代主機。這樣可以保障系統(tǒng)的安全運行。
對服務器系統(tǒng)采用數(shù)據(jù)備份策略。為系統(tǒng)運行過程設計如下3種備份功能:① 數(shù)據(jù)實時備份:凡是信息中心接收到的數(shù)據(jù)作在線備份;②數(shù)據(jù)定時備份:定時將磁盤上的數(shù)據(jù)備份在磁帶上,備份時間長短由數(shù)據(jù)的重要性決定。關(guān)鍵數(shù)據(jù)做到異地備份, 或者備份到Web服務器上或分公司的服務器上;③系統(tǒng)災難性備份:信息中心的系統(tǒng)軟件做到兩套以上的災難備份,最好做到異地備份或者外部存儲備份。在遇到破壞時,就可從本地或外部磁帶保存地點獲得災難備份磁帶,安裝應用服務器操作系統(tǒng)并配置網(wǎng)絡,配置存儲設備,裝上災難備份磁帶,從存儲設備中取得最新的引導信息,恢復數(shù)據(jù)庫,確認數(shù)據(jù)庫為最新版本,批準系統(tǒng)運行,進行災難恢復。
系統(tǒng)管理員可以通過操作系統(tǒng)和數(shù)據(jù)庫軟件提供的數(shù)據(jù)備份功能,結(jié)合相應的硬件和存儲設備,對數(shù)據(jù)備份進行集中管理,以此實現(xiàn)自動化的備份,文件歸檔,數(shù)據(jù)分級存儲以及災難恢復等。
(3)驗證安全性
由于在系統(tǒng)安全性中沒有解決對于數(shù)據(jù)流的保護,則從軟件角度建立系統(tǒng)安全會話,資源管理以及各項控制和服務管理來保證數(shù)據(jù)的安全性??山⑾到y(tǒng)管理員權(quán)限,組建專職系統(tǒng)管理小組,在系統(tǒng)運行期間對系統(tǒng)的超級用戶權(quán)限,口令進行嚴格控制管理。利用系統(tǒng)監(jiān)視器,監(jiān)視用戶對系統(tǒng)資源占有情況。對系統(tǒng)用戶限定資源占用頻度和使用權(quán)限。建立系統(tǒng)資源日志管理,對系統(tǒng)資源使用情況進行記錄分析,以利于及時排除并發(fā)現(xiàn)系統(tǒng)隱患,同時為調(diào)整系統(tǒng)性能參數(shù)提供依據(jù)。軟件安全體系結(jié)構(gòu)模型如圖4所示。
圖4 公交系統(tǒng)的軟件安全體系結(jié)構(gòu)模型
(4)系統(tǒng)日志
比如:啟用Oracle數(shù)據(jù)庫的事務日志,并做好日志的存儲備份;在重要記錄上,設計“操作員代碼”和“操作時間”字段, 記錄插入或修改的操作情況。
5 結(jié)束語
隨著計算機相關(guān)技術(shù)的不斷進步和公交管理工作的進一步智能化,整個公交一卡能系統(tǒng)的建設永無止境。相比舊的主要基于C/S的系統(tǒng),基于J2EE的系統(tǒng)在集成性,交互性,可維護性上有了長足地進步;采用虛擬專用網(wǎng)(YeN)技術(shù),保證了IC卡服務器傳送數(shù)據(jù)的安全性;引入數(shù)據(jù)字典加強對系統(tǒng)數(shù)據(jù)資源的監(jiān)測、分析和決策支持。目前,此平臺已在珠海公交系統(tǒng)中投入使用,并到得了非常好的效果。
作者簡介:
鄭貴林(1963-),男,山西太原人,教授,博士生導師,研究方向為檢測傳感技術(shù)、工業(yè)過程自動化等;
夏丹(1985-),女,湖北仙桃人,碩士,研究方向為Web技術(shù)、數(shù)據(jù)庫優(yōu)化;
岳林(1982-),男,湖北宜昌人,碩士,研究方向為Web技術(shù)、計算機網(wǎng)絡。
參考文獻:
[1] 李別.構(gòu)建虛擬專用網(wǎng)(VPN)的技術(shù)策略[J].中國西部科技,2004.3(8):5—6、
[2] 張友生.軟件體系結(jié)構(gòu)[M].北京:清華大學出版社,2004.
[3] 曹晟,蔡自興.基于C/S與B/S混合軟件體系結(jié)構(gòu)的封閉式管理系統(tǒng)的設計[J].計算機工程與應用,2004,40(5):224—226.
[4] Sun Microsystems.Developing enterprise applications using the J2EE platform[Z].2002.
[5] 楊心強,邵軍力.數(shù)據(jù)通信與計算機網(wǎng)絡.北京:電子工業(yè)出版社。2002.
[6] Craig A Berry.實用J2EE設計模式編程指南[1州.邱仲潘,譯.北京:電子工業(yè)出版社,2003:16.18.
[7] 何玉云.校園一卡通智能管理系統(tǒng)的設計與實現(xiàn)_計算機工程與應用,2004,40(5):170—171.
[8] 徐恪.IC卡應用管理系統(tǒng)的安全設計與實現(xiàn) 計算機工程與應用,1999,35(3):54—59.