譚 志 劉 云 黎學(xué)超
(1.北京交通大學(xué)電子信息工程學(xué)院 北京 100044;2.北京建筑工程學(xué)院電氣與信息工程學(xué)院 北京 100044)
城市軌道交通應(yīng)急通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
譚 志1,2劉 云1黎學(xué)超2
(1.北京交通大學(xué)電子信息工程學(xué)院 北京 100044;2.北京建筑工程學(xué)院電氣與信息工程學(xué)院 北京 100044)
使用JSP技術(shù)設(shè)計(jì)開(kāi)發(fā)城市軌道交通應(yīng)急通信系統(tǒng),在應(yīng)急救援中及時(shí)了解現(xiàn)場(chǎng)災(zāi)害的綜合信息,為應(yīng)急救援提供可靠依據(jù)。主要采用 JSP、Apache、JavaBean和Oracle等作為網(wǎng)站開(kāi)發(fā)工具。首先進(jìn)行系統(tǒng)功能分析,給出各模塊的主要構(gòu)成,然后提出系統(tǒng)設(shè)計(jì)所需的關(guān)鍵技術(shù),最后給出系統(tǒng)的部分實(shí)現(xiàn)代碼。測(cè)試證明,該系統(tǒng)具有良好的穩(wěn)定性及可擴(kuò)展性。
城市軌道交通;應(yīng)急通信;JSP;JavaBean
在城市軌道交通現(xiàn)場(chǎng)出現(xiàn)緊急情況需要救援時(shí),可以啟用應(yīng)急通信系統(tǒng)來(lái)綜合顯示現(xiàn)場(chǎng)設(shè)備的相關(guān)信息,并及時(shí)采集現(xiàn)場(chǎng)的監(jiān)控畫(huà)面,為應(yīng)急調(diào)度指揮提供可靠依據(jù),從而及時(shí)地組織救援。筆者在用戶交互、提供后臺(tái)數(shù)據(jù)庫(kù)處理等服務(wù)的基礎(chǔ)上,設(shè)計(jì)了應(yīng)急通信系統(tǒng)平臺(tái)。
這種應(yīng)急通信系統(tǒng)采用以Java為核心的JSP(Java server page)技術(shù)[1],運(yùn)用 B/S(browser/Web server)模式的Web開(kāi)發(fā)。B/S模式即瀏覽器和服務(wù)器結(jié)構(gòu),用戶工作界面通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少事務(wù)邏輯在前端(browser)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端(server)實(shí)現(xiàn)。該模式簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用,降低了開(kāi)發(fā)成本,以更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流。B/S的最大優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門(mén)的軟件,只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。B/S模式[2]形成所謂的三層(3-tier)結(jié)構(gòu),如圖1所示。JSP技術(shù)的基本原理[3]是:當(dāng)客戶端表單把請(qǐng)求提交給JSP頁(yè)面時(shí),服務(wù)器端的JSP引擎從服務(wù)器的磁盤(pán)上找到該JSP文件,把它解析為Java文件,接著再編譯為Class文件,然后執(zhí)行該文件的處理請(qǐng)求;處理完成后,生成了一個(gè)HTML文件,最后由JSP引擎負(fù)責(zé)將其發(fā)送到客戶端去顯示。
圖1 B/S模式
在該項(xiàng)目的前期規(guī)劃中,通過(guò)對(duì)軌道交通設(shè)備及應(yīng)急救援系統(tǒng)[4]進(jìn)行全面的考察和調(diào)研,詳細(xì)了解了其應(yīng)急救援相關(guān)設(shè)備聯(lián)動(dòng)的具體流程,得出軌道交通應(yīng)急通信系統(tǒng)分為四大模塊:應(yīng)急調(diào)度模塊、通信設(shè)備模塊、機(jī)電設(shè)備模塊、系統(tǒng)管理模塊。這4個(gè)模塊之間相互聯(lián)系,構(gòu)成一個(gè)統(tǒng)一的整體。
通過(guò)JSP技術(shù),將軌道交通應(yīng)急通信系統(tǒng)中的各主要設(shè)備信息集中顯示在綜合網(wǎng)站中,從而使工作人員在中央監(jiān)控室中能比較全面地了解現(xiàn)場(chǎng)各設(shè)備的狀態(tài)。一旦出現(xiàn)緊急情況需要應(yīng)急救援時(shí),工作人員通過(guò)通信平臺(tái)獲取現(xiàn)場(chǎng)設(shè)備的信息及監(jiān)控畫(huà)面,然后通過(guò)其他系統(tǒng)調(diào)度指揮救援,最終將災(zāi)害最小化。例如,當(dāng)?shù)罔F發(fā)生火災(zāi)時(shí),環(huán)控設(shè)備系統(tǒng)中的感溫、感煙傳感器探測(cè)信號(hào)首先在該平臺(tái)上顯示,火災(zāi)報(bào)警系統(tǒng)啟動(dòng);打開(kāi)應(yīng)急調(diào)度界面,通過(guò)現(xiàn)場(chǎng)畫(huà)面來(lái)調(diào)度指揮;最后通過(guò)通信設(shè)備系統(tǒng),提示現(xiàn)場(chǎng)人員如何有效地減小災(zāi)害。
在軌道交通應(yīng)急通信系統(tǒng)中,各個(gè)模塊的系統(tǒng)構(gòu)成如圖2所示。其中,通信設(shè)備模塊中還有公務(wù)/專用電話系統(tǒng),廣播、時(shí)鐘、傳輸系統(tǒng),集中監(jiān)控告警系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備系統(tǒng),等等。
圖2 軌道交通應(yīng)急通信系統(tǒng)構(gòu)成
應(yīng)急通信系統(tǒng)利用JSP語(yǔ)言結(jié)合Oracle數(shù)據(jù)庫(kù),利用 JDKl.6.0+Tomcat6.0.10+Eclipse 等進(jìn)行數(shù)據(jù)庫(kù)的連接,構(gòu)造一個(gè)軌道交通應(yīng)急通信系統(tǒng)。
應(yīng)急通信系統(tǒng)采用JSP技術(shù)來(lái)實(shí)現(xiàn)B/S體系結(jié)構(gòu)。JSP技術(shù)在基于Java的平臺(tái)上廣泛使用,是進(jìn)行Java Web開(kāi)發(fā)的一種核心組件;JSP頁(yè)面由HTML代碼和嵌入在其中的Java腳本組成。由于基于Java平臺(tái),JSP具有面向?qū)ο蟆⑴c平臺(tái)無(wú)關(guān)、安全等特點(diǎn),而且具有以下優(yōu)點(diǎn):
1)一次編寫(xiě),到處運(yùn)行。JSP可在不同的系統(tǒng)平臺(tái)上運(yùn)行代碼,無(wú)需做任何修改;幾乎可以在任何平臺(tái)上進(jìn)行開(kāi)發(fā),并且可以在任何平臺(tái)上部署和運(yùn)行。
2)后臺(tái)強(qiáng)大的功能。JSP后臺(tái)有Java語(yǔ)言和Servlet的支持,可以進(jìn)行復(fù)雜、功能強(qiáng)大的業(yè)務(wù)邏輯處理,并且可以實(shí)現(xiàn)多臺(tái)服務(wù)器端集群和負(fù)載均衡,更加適合企業(yè)級(jí)的應(yīng)用。
3)執(zhí)行效率高。當(dāng)JSP第一次被請(qǐng)求時(shí),JSP頁(yè)面轉(zhuǎn)換成Servlet,然后被編譯成*.class文件。以后如果再有客戶請(qǐng)求該JSP頁(yè)面時(shí),除非頁(yè)面有改動(dòng)或Web服務(wù)器被重新啟動(dòng),JSP頁(yè)面也不會(huì)被重新編譯。
Servlet是用Java語(yǔ)言編寫(xiě)的一個(gè)應(yīng)用程序,運(yùn)行在服務(wù)器端,它編譯的.class文件被服務(wù)器端調(diào)用和執(zhí)行。Web服務(wù)器使用該.class文件去處理瀏覽器的請(qǐng)求,并將處理的結(jié)果在客戶端顯示。Servlet的主要功能是用來(lái)接受、處理客戶端請(qǐng)求,并把處理結(jié)果返回到客戶端。采用JSP與Servlet相結(jié)合的方法,能充分利用各自的特點(diǎn),讓JSP程序著重于表示邏輯,Servlet著重于處理業(yè)務(wù)邏輯。
在Java中連接數(shù)據(jù)庫(kù)的是數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序[5],該程序由數(shù)據(jù)庫(kù)廠商提供。本系統(tǒng)使用純JDBC驅(qū)動(dòng)方式,由JDBC驅(qū)動(dòng)直接訪問(wèn)數(shù)據(jù)庫(kù)。JDBC驅(qū)動(dòng)程序安裝在運(yùn)行JDBC API的客戶端,然后通過(guò)專有的網(wǎng)絡(luò)協(xié)議把JDBC API對(duì)數(shù)據(jù)庫(kù)的調(diào)用轉(zhuǎn)化為網(wǎng)絡(luò)調(diào)用。JDBC驅(qū)動(dòng)程序是本地協(xié)議完成Java性能的驅(qū)動(dòng)程序,使用起來(lái)方便,客戶端不需要安裝任何中間件或者運(yùn)行庫(kù);驅(qū)動(dòng)程序完全由Java語(yǔ)言編寫(xiě),運(yùn)行速度快,而且具備了跨平臺(tái)的特點(diǎn)。
本系統(tǒng)采用JDBC數(shù)據(jù)引擎,JDBC(Java database connectivity,Java 數(shù)據(jù)庫(kù)連接)[6]是一種可用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一的訪問(wèn),由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。Java程序員通過(guò)調(diào)用這些接口,就可以實(shí)現(xiàn)在純Java的環(huán)境下進(jìn)行各種數(shù)據(jù)的操作。在JDBC包含的Java包中,Java.sql包中的類(lèi)和接口主要針對(duì)基本的數(shù)據(jù)庫(kù)編程服務(wù),如連接數(shù)據(jù)庫(kù)、執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句以及批處理查詢等。Javax.sql包提供了進(jìn)行高級(jí)數(shù)據(jù)庫(kù)編程的接口,如管理連接池、分布式事務(wù)處理和行集等。
系統(tǒng)編程實(shí)現(xiàn)的總體結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)
系統(tǒng)管理模塊包括個(gè)人資料、資源管理、權(quán)限管理,其主要功能是對(duì)本系統(tǒng)的用戶、資源和權(quán)限進(jìn)行管理。資源管理包括功能菜單資源、圖元類(lèi)別資源、線路資源、Url資源等,權(quán)限管理包括用戶、用戶組管理、權(quán)限信息管理等,其關(guān)系如圖4所示。
應(yīng)急調(diào)度模塊包括視頻監(jiān)控、郵件管理、發(fā)送郵件,其中視頻監(jiān)控模塊能及時(shí)監(jiān)控現(xiàn)場(chǎng)畫(huà)面。當(dāng)現(xiàn)場(chǎng)出現(xiàn)緊急情況時(shí),中央控制室通過(guò)監(jiān)控界面,及時(shí)準(zhǔn)確地了解現(xiàn)場(chǎng)狀況,更加合理地組織救援。
圖4 系統(tǒng)管理關(guān)系
在視頻監(jiān)控系統(tǒng)中,攝像機(jī)通過(guò)同軸視頻電纜或無(wú)線設(shè)備,將視頻圖像傳輸?shù)娇刂浦鳈C(jī),控制主機(jī)再將視頻信號(hào)分配到各監(jiān)視器及錄像設(shè)備,同時(shí)可將需要傳輸?shù)恼Z(yǔ)音信號(hào)同步錄入到錄像機(jī)內(nèi)。操作人員可發(fā)出指令,對(duì)云臺(tái)的上、下、左、右的動(dòng)作進(jìn)行控制,對(duì)鏡頭進(jìn)行調(diào)焦變倍的操作,并可通過(guò)控制主機(jī)實(shí)現(xiàn)在多路攝像機(jī)及云臺(tái)之間的切換。利用特殊的錄像處理模式,可對(duì)圖像進(jìn)行錄入、回放、處理等操作,使錄像效果達(dá)到最佳,如圖5所示。
圖5 視頻監(jiān)控系統(tǒng)
機(jī)電設(shè)備模塊包含通風(fēng)空調(diào)、火災(zāi)自動(dòng)報(bào)警、環(huán)境與設(shè)備監(jiān)控等系統(tǒng),主要是對(duì)相關(guān)的設(shè)施信息進(jìn)行添加、修改、查詢、刪除和管理的操作。下面以環(huán)境與設(shè)備監(jiān)控系統(tǒng)(BAS)結(jié)構(gòu)為例加以說(shuō)明,如圖6所示。
圖6 環(huán)境與設(shè)備監(jiān)控系統(tǒng)組成
在BAS屬性中,管理員可以添加BAS的相關(guān)設(shè)備并顯示設(shè)備如下信息:設(shè)備編碼、系統(tǒng)名稱、所屬線路、所屬車(chē)站、管理部門(mén)、探測(cè)范圍、位置描述、備注等。管理員可以根據(jù)實(shí)際要求,添加BAS設(shè)備。點(diǎn)擊設(shè)備編碼,可以查看相關(guān)設(shè)備的詳細(xì)情況,其中一些設(shè)備信息可以進(jìn)行修改、打印和刪除等操作,如圖7所示。
圖7 BAS系統(tǒng)屬性信息
通信系統(tǒng)[7]主要包含公務(wù)電話系統(tǒng)、專用電話系統(tǒng)、閉路電視系統(tǒng)、廣播系統(tǒng)、時(shí)鐘系統(tǒng)、傳輸系統(tǒng)、監(jiān)控告警系統(tǒng)、通信專用測(cè)試儀器儀表、計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備、無(wú)線設(shè)備等,如圖8所示。
圖8 通信設(shè)備系統(tǒng)
通過(guò)系統(tǒng)整體功能的測(cè)試,各個(gè)模塊的功能達(dá)到預(yù)期的目標(biāo),能為軌道交通應(yīng)急通信救援提供一定幫助,其整體效果如圖9所示。
圖9 地鐵應(yīng)急調(diào)度指揮平臺(tái)
隨著Java技術(shù)的日益成熟和流行,JSP技術(shù)在網(wǎng)絡(luò)編程中也顯得越來(lái)越重要。由于JSP基于強(qiáng)大的Java語(yǔ)言,具有極強(qiáng)的擴(kuò)展能力、良好的收縮性以及與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)特性,因此有著其他技術(shù)所不具備的優(yōu)勢(shì)。筆者使用JSP技術(shù),實(shí)現(xiàn)了軌道交通應(yīng)急通信系統(tǒng)網(wǎng)站,通過(guò)測(cè)試證明,該系統(tǒng)達(dá)到了預(yù)期功能及效果,具有良好的穩(wěn)定性、安全性及可擴(kuò)展性。
[1]劉中兵,陳艷燕,程琳梅.JSP技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社 ,2009:78-80.
[2]袁健美.基于JSP的B/S動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)及數(shù)據(jù)庫(kù)連接[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(6):29-31,35.
[3]徐林林.Java Web編程從入門(mén)到實(shí)踐[M].北京:清華大學(xué)出版社,2010:38-45.
[4]陳靜,吳健華.交通應(yīng)急通信系統(tǒng)設(shè)計(jì)方案探討[J].中國(guó)交通信息產(chǎn)業(yè),2008(3):72-75.
[5]Liu Chien-Hung.Data flow analysis and testing of JSP-based Web applications[J].Information and Software Technology,2006,48(12):1137-1147.
[6]張峋,楊三成.關(guān)鍵技術(shù):JSP與JDBC應(yīng)用詳解[M].北京:中國(guó)鐵道出版社,2010:25-28.
[7]陳亮,張德君.鐵路應(yīng)急通信系統(tǒng)研究[J].通信技術(shù),2011(7):18-19.
Design and Implementation of Rail Transit Emergency Communication System
Tan Zhi1,2Liu Yun1Li Xuechao2
(1.School of Electronic and Information Engineering,Beijing Jiaotong University,Beijing 100044;2.School of Electric and Information Engineering,Beijing Civil Engineering and Architecture Institute,Beijing 100044)
Abstract:Using JSP technology design and development of rail transportation emergency communications system can keep abreast of site disasters and provide a reliable basis for emergency rescue. The system uses JSP, Ap -ache, JavaBeans and Oracle as the website development tools. The paper conducted a systematic functional analysis and provided the main components of each module, then proposed the essential technologies. In the end, some implementing codes of the system are provided. Test results proved that the system has good stability and expansibility.
Key words:urban rail transit; emergency communications; JSP; JavaBean
U231.7
A
1672-6073(2013)01-0104-03
10.3969/j.issn.1672-6073.2013.01.025
收稿日期:2012-03-20
2012-04-05
作者簡(jiǎn)介:譚志,男,博士,副教授,高級(jí)工程師,從事無(wú)線傳感器網(wǎng)絡(luò)和寬帶通信網(wǎng)方向的研究,tanzhi@bucea.edu.cn
住房和城鄉(xiāng)建設(shè)部項(xiàng)目計(jì)劃-研究開(kāi)發(fā)項(xiàng)目(2010-K9-1);北京市教委科技發(fā)展計(jì)劃面上項(xiàng)目(KM201110016015)
(編輯:郭 潔)