摘要:根據(jù)客運列車規(guī)范管理的需求,研究和設(shè)計了一個基于J2EE平臺的列車崗位巡檢管理系統(tǒng),主要包括巡檢數(shù)據(jù)采集、通訊與巡檢數(shù)據(jù)管理三個模塊。介紹了系統(tǒng)的總體設(shè)計方案、關(guān)鍵技術(shù)及系統(tǒng)功能模塊的實現(xiàn)。利用信息鈕技術(shù)采集巡檢數(shù)據(jù),采用C/S、B/S混合模式構(gòu)造系統(tǒng),通過瀏覽器訪問巡檢數(shù)據(jù)。系統(tǒng)的實現(xiàn)促進(jìn)了客運列車管理科學(xué)化、規(guī)范化、實時化。
關(guān)鍵詞:列車巡檢系統(tǒng);信息鈕;J2EE;Struts;Hibernate;Spring
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)35-2054-02
Designing and Implementation of Train Post Patrol System Based on C/S、B/S Architectures
LU Yu-kun1,YUAN Bao-she2
(Institute of Information Science and Engineering of Xinjiang University,Urumqi 830046, China)
Abstract: According to requirement of passenger train standard management,it was discussed and designed an train post patrol management system based on the J2EE platform,including patrol data acquisition 、communications and patrol data management.It was mainly introduced the system design plan,key technologies, as well as system function module implementing etc.It took advantage of information button technology to gather patrol data, adopted C/S、B/S mixed model to structure system and queried patrol data through Internet Exporler.The system has promoted scientification,standardization and real time of passenger train management.
Key words: patrol system;information button;J2EE;struts;hibernate;spring
1 引言
近年來,隨著中國鐵路的快速發(fā)展,旅客流量的激增,飛跳等重大事件屢屢發(fā)生[1],嚴(yán)重影響了旅客旅途的心情以及鐵路運輸?shù)穆曌u(yù),這就對鐵路運輸過程中的服務(wù)水平提出了前所未有的挑戰(zhàn),也是適應(yīng)鐵路發(fā)展形式的需要。本文設(shè)計了一套列車崗位巡檢系統(tǒng),主要目標(biāo)是記錄及督促列車長等車上各崗位工作人員定時巡視各車廂,及時了解并解決旅客途中遇到的困難,有效的預(yù)防各類問題的發(fā)生。列車崗位巡檢系統(tǒng)是一套利用信息鈕讀取技術(shù)[2]的自動化信息管理系統(tǒng),采用C/S、B/S混合模式并借助數(shù)據(jù)庫與網(wǎng)絡(luò)等諸多技術(shù)隊采集的信息進(jìn)行分析處理。
2 系統(tǒng)概述
巡檢系統(tǒng)前期設(shè)計階段在整個設(shè)計過程中至關(guān)重要,本文采用軟件、硬件結(jié)合、C/S與B/S混合模式實現(xiàn)巡檢系統(tǒng)。每個車體配備三個巡檢信息鈕,分別安裝于車頭、餐車和車尾,巡檢人員按照指定的時間、線路路過相應(yīng)的信息鈕,信息讀取器進(jìn)行數(shù)據(jù)采集并通過C/S單機(jī)版程序利用數(shù)據(jù)線導(dǎo)入筆記本中[3],然后將加密數(shù)據(jù)包遠(yuǎn)程發(fā)送到中心服務(wù)器,服務(wù)器接收到數(shù)據(jù)包后將其自動導(dǎo)入中心數(shù)據(jù)庫中以供B/S結(jié)構(gòu)下數(shù)據(jù)分析、審核、查詢等,這樣基本保證了數(shù)據(jù)的同步。遠(yuǎn)程發(fā)送、接收過程中如有中斷,則會要求重發(fā)。如果發(fā)送數(shù)據(jù)包比較大則本系統(tǒng)采用斷點續(xù)傳。B/S結(jié)構(gòu)主要用于辦公室管理人員對遠(yuǎn)程發(fā)送回的原始數(shù)據(jù)進(jìn)行分析處理,及時了解該趟列車崗位巡視情況,評定分值并納入一體化考核,同時方便主管領(lǐng)導(dǎo)查詢某段時間內(nèi)某車間某班組以及個人的崗位巡檢情況。
3 開發(fā)環(huán)境和整體框架
系統(tǒng)開發(fā)環(huán)境選擇Eclipse+MyEclipse作為系統(tǒng)開發(fā)平臺(IDE),開發(fā)語言為面向?qū)ο笳Z言java。
1) 數(shù)據(jù)庫服務(wù)器。數(shù)據(jù)庫服務(wù)器為客戶應(yīng)用提供系統(tǒng)數(shù)據(jù)的錄入,查詢以及多用戶管理等功能。后臺數(shù)據(jù)庫服務(wù)器采用的是Oracle9i,通過數(shù)據(jù)分區(qū)技術(shù)實現(xiàn)與其他系統(tǒng)數(shù)據(jù)在同一個數(shù)據(jù)庫服務(wù)器上的獨立存儲;2) 應(yīng)用服務(wù)器。應(yīng)用服務(wù)器采用的是Tomcat5.5,它及時響應(yīng)用戶提出的請求,保證更大的用戶連接與穩(wěn)定性,使頁面訪問速度更快;3) 信息鈕的安裝。本系統(tǒng)是為督促列車崗位巡檢而設(shè)計,所以將信息鈕分別安裝在列車的車頭、餐車、車尾三處,構(gòu)成巡檢的基本路線[5];4) 觸摸屏一體機(jī)。觸摸屏一體機(jī)包括觸摸顯示屏、計算機(jī)主機(jī)等,巡檢人員可以根據(jù)自己的身份卡號隨時查詢自己的巡檢情況。
4 系統(tǒng)的功能結(jié)構(gòu)圖
系統(tǒng)數(shù)據(jù)庫分為兩大類:手持機(jī)上的數(shù)據(jù)庫與中心數(shù)據(jù)庫,每一個數(shù)據(jù)庫中均可進(jìn)行多種操作。系統(tǒng)的功能結(jié)構(gòu)圖見圖1。
5 實現(xiàn)技術(shù)
5.1 Struts框架技術(shù)
Mvc(Model-View-Controller)是J2EE的一種開發(fā)模式,Struts是基于Servlet、JSP以及標(biāo)簽庫技術(shù)的一個實現(xiàn)良好的MVC框架。在Struts中,承擔(dān)MVC中Controller角色的是一個Servlet, 叫ActionServlet。ActionServlet是一個通用的控制組件,這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點,它截取和分發(fā)這些請求到相應(yīng)的動作類(這些動作類都是Action類的子類)。另外控制組件也負(fù)責(zé)用相應(yīng)的請求參數(shù)填充ActionForm(通常稱之為FormBean),并傳給動作類(通常稱之為ActionBean),動作類實現(xiàn)核心商業(yè)邏輯,它可以訪問java bean或調(diào)用EJB。最后動作類把控制權(quán)傳給后續(xù)的JSP文件,后者生成視圖。所有這些控制邏輯利用Strutsconfig.xml文件來配置。
5.2 Hibernate持久化技術(shù)
本系統(tǒng)采用了輕量級O/R Mapping工具Hibernate進(jìn)行數(shù)據(jù)持久化的工作。Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,提供了完善的透明持久化,可以靈活地對數(shù)據(jù)庫進(jìn)行配置和操作,提供查詢服務(wù)和恢復(fù)機(jī)制。Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。對于Hibernate的使用主要是兩個配置文件:hibernate.cfg.xml的配置文件和O/R映射的配置文件。hibernate.cfg.xml的配置文件主要是對數(shù)據(jù)庫連接和Hibernate運行的主要屬性,O/R映射的配置文件主要是表達(dá)出持久類與數(shù)據(jù)庫表的映射關(guān)系,這樣對數(shù)據(jù)庫的操作就可以轉(zhuǎn)化為對持久化類的操作。其中持久化類和數(shù)據(jù)庫表之間的轉(zhuǎn)化由Hibernate來完成[7]。
5.3 Spring技術(shù)
核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現(xiàn)。BenaFactory使用控制反轉(zhuǎn)(IOC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼分開。Spring上下文是一個配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國際化、校驗和調(diào)度功能。通過配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成到Spring框架中。通過使用SpringAOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量。SpringDAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。
6 系統(tǒng)模型
該巡檢系統(tǒng)模型包含三個模塊:數(shù)據(jù)采集模塊、通訊模塊、管理模塊。
6.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要是用來指導(dǎo)巡檢人員按照正確的巡檢路線在規(guī)定的巡檢時間內(nèi)進(jìn)行巡檢。
6.2 通訊模塊
通信模塊由C/S結(jié)構(gòu)實現(xiàn),引用eclipse提供的SWT/Jface庫,采用無線傳輸協(xié)議UDP,主要任務(wù)是實現(xiàn)數(shù)據(jù)的遠(yuǎn)程發(fā)送與接收,可以將其看作一個“ 存儲一轉(zhuǎn)發(fā)” 機(jī)制。在實際應(yīng)用中,通信效率的高低及數(shù)據(jù)的安全與否取決于對通信鏈路和數(shù)據(jù)交換方式的選擇。
6.3 管理模塊
6.3.1B/S結(jié)構(gòu)
管理模塊是巡檢系統(tǒng)的數(shù)據(jù)處理部分,由B/S結(jié)構(gòu)實現(xiàn)[4],采用Struts+Spring+Hibernate框架技術(shù),功能模塊如圖2。
6.3.2 Struts+Spring +Hibernate協(xié)同工作
用java建立一個有價值的web應(yīng)用不是一個簡單的任務(wù),當(dāng)今衡量一個軟件的質(zhì)量和系統(tǒng)的好壞主要是性能、可維護(hù)和可移植性。在Web應(yīng)用程序中更是如此?,F(xiàn)在運用MVC的設(shè)計模式的Struts架構(gòu)在總體上實現(xiàn)了對邏輯層、顯示層和控制層的分離。運用Struts架構(gòu)首先可以多個視圖能共享一個模型,其次模型是子包含的,與控制器和視圖保持相對獨立,所以可以很方便地改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。最后控制器提高了應(yīng)用程序的靈活性和可配置性。但是它也有一定的不足之處,它沒有對復(fù)雜的持久層的支持,也就是說當(dāng)數(shù)據(jù)要存人數(shù)據(jù)庫時Struts沒有作相應(yīng)的處理。還是和傳統(tǒng)的開發(fā)一樣要直接通過JDBC,SQL與數(shù)據(jù)庫交互。但是Hibernate就可以彌補(bǔ)Struts框架的不足。Hibernate對數(shù)據(jù)庫的訪問進(jìn)行了封裝。這樣我們在程序里幾乎看不見SQL語句,從而使程序的可維護(hù)性和移植性有了很大的提高。Spring提供了管理業(yè)務(wù)對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用 JavaBean屬性的InversionofContwl容器。Spring在使用IoC容器作為構(gòu)建完關(guān)注所有架構(gòu)層的完整解決方案方面是獨一無二的,Spring還提供了唯一的數(shù)據(jù)訪問抽象,包括簡單和有效率的JDBC框架,極大地提高了效率并且減少了可能的錯誤[6]。
7 結(jié)束語
該文主要介紹了列車崗位巡檢系統(tǒng)的整體設(shè)計,闡述了MVC設(shè)計模式及其實現(xiàn)框架Sturts、Hibernate、Spring的運行原理,對這三個框架的優(yōu)缺點進(jìn)行分析,并將這三個框架糅合起來使用,使系統(tǒng)開發(fā)效率更高,開發(fā)的系統(tǒng)的層次更加清晰,各個模塊之間的耦合性將會更加小,隨之而來的就是系統(tǒng)的靈活性、安全性、可移植性和維護(hù)性大大地增強(qiáng)。
參考文獻(xiàn):
[1] 鐵路旅客運輸服務(wù)質(zhì)量監(jiān)督監(jiān)察辦法,鐵運[2002]31號.
[2] 高炎波.“電子巡更系統(tǒng)”的應(yīng)用發(fā)展及解決方法[J].安防科技,2005(03):22-26.
[3] 金玉蘭.電子巡更系統(tǒng)設(shè)計[D].延吉:延邊大學(xué),2006.
[4] 王明衍,楊寅華.智能化巡回檢查管理系統(tǒng)[J].上海工程技術(shù)大學(xué)學(xué)報,2004(4):336-342.
[5] 龔榮盛,張阿卜,蔡志峰,陳鐵明.信息紐扣及其在安全巡檢管理系統(tǒng)中的應(yīng)用[J].微型機(jī)與應(yīng)用,2002,21(07):19-20.
[6] 陳天河,等.Struts、Hibernate、Spring集成開發(fā)寶典[M].北京:電子工業(yè)出版社,2006.
[7] 夏昕,曹曉鋼,唐勇.深入淺出Hibernate[M].北京:電子工業(yè)出版社,2005.