王熹瑋,張勁松
(1.武漢郵電科學(xué)研究院湖北武漢430074;2.武漢長(zhǎng)江通信智聯(lián)技術(shù)有限公司湖北武漢430074)
基于Java EE應(yīng)用的車輛管理系統(tǒng)的設(shè)計(jì)
王熹瑋1,張勁松2
(1.武漢郵電科學(xué)研究院湖北武漢430074;2.武漢長(zhǎng)江通信智聯(lián)技術(shù)有限公司湖北武漢430074)
為了對(duì)集團(tuán)公司的所有車輛進(jìn)行集中管理,提出了一種基于Java EE體系架構(gòu)的車輛管理系統(tǒng)的設(shè)計(jì)方案,并完成了詳細(xì)的設(shè)計(jì)。系統(tǒng)主要采用Spring MVC設(shè)計(jì)模式以及使用Spring整合Hibernate對(duì)系統(tǒng)的前臺(tái)架構(gòu)進(jìn)行設(shè)計(jì),能夠?qū)Ω欆囕v的GPS信息,報(bào)警信息以及對(duì)車輛終端進(jìn)行指令的下發(fā),以便于操控車輛。
Spring MVC;Hibernate;Java EE;GPS信息
現(xiàn)在互聯(lián)網(wǎng)物聯(lián)網(wǎng)技術(shù)高速發(fā)展,信息化管理平臺(tái)越來(lái)越被集團(tuán)公司所青睞。建設(shè)一個(gè)集中部署的集團(tuán)車輛管理系統(tǒng),為司乘人員提供行車信息服務(wù),為各級(jí)管理人員提供分析決策工具,滿足集團(tuán)公司對(duì)車輛實(shí)時(shí)監(jiān)控和管理的需要,實(shí)現(xiàn)集團(tuán)車輛的科學(xué)化管理的解決方案。車輛管理系統(tǒng)是為滿足優(yōu)化集團(tuán)公司物流管理中的車輛運(yùn)輸生產(chǎn)、建立科學(xué)的車輛運(yùn)輸管理系統(tǒng)的需要。伴隨著網(wǎng)上相應(yīng)B/S架構(gòu)的網(wǎng)頁(yè)越來(lái)越多,使得人們能夠方便高效地工作。然而之前的網(wǎng)絡(luò)應(yīng)用沒(méi)有一套完整高效的開(kāi)發(fā)體系,使得軟件在開(kāi)發(fā)的過(guò)程中開(kāi)發(fā)效率低、開(kāi)發(fā)周期長(zhǎng),這些缺點(diǎn)限制了Web應(yīng)用的發(fā)展。隨后出現(xiàn)了Java EE體系,規(guī)避了之前的諸多缺點(diǎn),而且Java EE也成為企業(yè)級(jí)網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)標(biāo)準(zhǔn)。但是,在Java EE應(yīng)用程序的開(kāi)發(fā)過(guò)程也出了許多問(wèn)題[1]:
1)隨著面向?qū)ο蠹夹g(shù)的發(fā)展,但是我們底層還是使用的是關(guān)系型的數(shù)據(jù)庫(kù),我們?cè)谑褂眠@兩種技術(shù)必然會(huì)存在某種矛盾:兩者之間的映射;當(dāng)我們使用一種面向?qū)ο蟮恼Z(yǔ)言來(lái)進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),到了持久層數(shù)據(jù)庫(kù)訪問(wèn)時(shí)又必須重返關(guān)系數(shù)據(jù)庫(kù)的訪問(wèn)方式,這是非常糟糕的。
2)在傳統(tǒng)的Java EE應(yīng)用程序中,企業(yè)級(jí)Entity Java Beans(EJB)是企業(yè)級(jí)應(yīng)用框架的基本單元。但是EJB對(duì)應(yīng)用系統(tǒng)的組件的依賴度過(guò)高,使得我們隊(duì)EJB組件進(jìn)行測(cè)試很艱難,使得我們?cè)陂_(kāi)發(fā)過(guò)程中對(duì)其進(jìn)行調(diào)試需要花費(fèi)大量的時(shí)間。
3)對(duì)于一個(gè)大型的企業(yè)級(jí)應(yīng)用,業(yè)務(wù)邏輯對(duì)象數(shù)量很多而且對(duì)象之間的依賴關(guān)系必定十分復(fù)雜。所以,如何對(duì)它們進(jìn)行集中管理,使各組件之間可以相互地解耦也是一個(gè)問(wèn)題。
基于引言中提到所存在的問(wèn)題,我們所設(shè)計(jì)的車輛管理系統(tǒng)提出使用一種ORM框架Hibernate,Hibernate提供了Java類到關(guān)系數(shù)據(jù)庫(kù)表之間的映射關(guān)系[2]。此外,使用一種輕量級(jí)Java EE框架Spring中的IoC容器來(lái)管理持久層中的業(yè)務(wù)對(duì)象,使得業(yè)務(wù)邏輯組件之間可以松散耦合,提高了系統(tǒng)的可維護(hù)性和可拓展性。
Hibernate框架是一種輕量級(jí)Java EE應(yīng)用的持久層解決方案,它是對(duì)象關(guān)系映射(ORM)框架中的一種。當(dāng)前流行的數(shù)據(jù)庫(kù)依然是關(guān)系型數(shù)據(jù)庫(kù),而Java語(yǔ)言則是面型對(duì)象的語(yǔ)言,它完成對(duì)象模型和基于SQL的關(guān)系模型的映射關(guān)系,使得開(kāi)發(fā)者可以完全采用面向?qū)ο蟮姆绞絹?lái)開(kāi)發(fā)應(yīng)用程序[3-4]。
Hibernate還提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。和傳統(tǒng)的使用JDBC和SQL來(lái)人為地操作數(shù)據(jù)庫(kù),Hibernate可以幫我們很大程度上地減少操作數(shù)據(jù)庫(kù)的時(shí)間。另外Hibernate還簡(jiǎn)化了裝載類的過(guò)程,通過(guò)利用Hibernate本身提供的Hibernate Query Language,從而減少了持久化層代碼的編寫(xiě)量,節(jié)省時(shí)間。
在本次設(shè)計(jì)中我們系統(tǒng)采用Spring Data JPA規(guī)范,我們這里所說(shuō)的JPA只是一種規(guī)范,可以把它理解成一種ORM規(guī)范,因此當(dāng)使用JPA進(jìn)行持久化時(shí),底層一定要有具體的ORM框架作為實(shí)現(xiàn)。比如現(xiàn)在系統(tǒng)使用的ORM框架是Hibernate,如果以后想使用其他的ORM框架,你并不需要修改代碼,只要遵循JPA的規(guī)范,可以直接修改配置文件換成其他ORM框架,如Mybatis、topLink等[5]。
Spring作為一個(gè)輕量級(jí)的解決方案,它為企業(yè)級(jí)應(yīng)用提供了便捷。該解決方案包括:基于依賴注入(IoC)的核心機(jī)制,基于AOP的聲明式事務(wù)管理,與多種關(guān)系對(duì)象映射框架的整合,以及維護(hù)性好的MVC框架等。Spring致力于Java EE應(yīng)用各層的解決方案。
IoC叫做控制反轉(zhuǎn),又叫依賴注入,Spring框架的基礎(chǔ)。不管是依賴注入還是控制反轉(zhuǎn),其含義都相同:控制反轉(zhuǎn)是一種設(shè)計(jì)思想,IoC意味著將你設(shè)計(jì)好的對(duì)象交給容器控制,而不是傳統(tǒng)的在你的對(duì)象內(nèi)部直接控制。我們以前對(duì)程序進(jìn)行編碼時(shí),直接使用new關(guān)鍵字創(chuàng)建對(duì)象,是程序主動(dòng)地去創(chuàng)建對(duì)象,并管理調(diào)用者和被調(diào)用者之間的依賴;而IoC是有專門(mén)一個(gè)容器來(lái)創(chuàng)建這些對(duì)象,即由Ioc容器來(lái)控制對(duì)象的創(chuàng)建,然后將所創(chuàng)建的依賴的對(duì)象,然后注入到我們所需要的類中[6-7]。
系統(tǒng)整合Hibernate框架和Spring框架,通過(guò)使用Spring MVC設(shè)計(jì)模式來(lái)完成表現(xiàn)層、業(yè)務(wù)邏輯層、控制器層和持久化層的裝配。表現(xiàn)層主要是使用JSP來(lái)進(jìn)行前端頁(yè)面的展示;控制器層主要是用Spring自帶的前端控制器和相應(yīng)的XML配置文件進(jìn)行前端HTTP請(qǐng)求的接收和轉(zhuǎn)發(fā);Model層主要是處理域?qū)ο蟮难b配,任何Java對(duì)象都可以被Spring容器注冊(cè)為Bean進(jìn)行管理。
通常各個(gè)業(yè)務(wù)邏輯組件都需要通過(guò)調(diào)用另外的一些業(yè)務(wù)對(duì)象來(lái)處理具體的業(yè)務(wù)邏輯,各個(gè)業(yè)務(wù)邏輯組件之間相互調(diào)用依賴。對(duì)于小型項(xiàng)目業(yè)務(wù)對(duì)象之間關(guān)系簡(jiǎn)單數(shù)量較少,我們可以很容易管理這個(gè)獨(dú)享之間的依賴關(guān)系。但是隨著項(xiàng)目的逐漸擴(kuò)大,業(yè)務(wù)對(duì)象越來(lái)越多,開(kāi)發(fā)者通過(guò)使用Spring框架的IoC容器來(lái)管理這些業(yè)務(wù)邏輯組件,并且對(duì)于這些bean的生命周期可以由Spring的IoC容器來(lái)管理,使開(kāi)發(fā)人員減少工作量[8]。整個(gè)架構(gòu)的業(yè)務(wù)流轉(zhuǎn)如圖1所示。
用戶向后臺(tái)發(fā)起請(qǐng)求,然后被前端控制器攔截,前端控制器將我們的請(qǐng)求進(jìn)而轉(zhuǎn)發(fā)給我的頁(yè)面控制器,頁(yè)面控制器收到請(qǐng)求后做相應(yīng)的業(yè)務(wù)邏輯處理,返回?cái)?shù)據(jù)模型,然后將我們得到的數(shù)據(jù)視圖渲染后展現(xiàn)出來(lái)。
圖1 系統(tǒng)業(yè)務(wù)流程圖
車輛監(jiān)控模塊分為6個(gè)功能項(xiàng)29個(gè)功能點(diǎn),為車輛運(yùn)輸提供事中監(jiān)控和事后分析。事中對(duì)車輛行駛過(guò)程、行車狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,并提供多種監(jiān)控管理方式,通過(guò)指令交互可對(duì)終端下發(fā)指令進(jìn)行遠(yuǎn)程操作,對(duì)于行駛過(guò)程中的違規(guī)行為,系統(tǒng)提供超速、疲勞駕駛等43類報(bào)警。事后可通過(guò)軌跡回放等功能對(duì)行駛軌跡進(jìn)行分析,為司乘人員的考核提供依據(jù)。車輛監(jiān)控模塊主要實(shí)現(xiàn)的功能包括實(shí)時(shí)監(jiān)控、指令交互、行駛記錄、電子地圖、監(jiān)控管理、違規(guī)報(bào)警。車輛監(jiān)控模塊構(gòu)成圖如圖2所示。
圖2 車輛監(jiān)控功能點(diǎn)
車輛監(jiān)控模塊設(shè)計(jì)整體遵循系統(tǒng)整體架構(gòu)的分層設(shè)計(jì),由展現(xiàn)層、業(yè)務(wù)層、應(yīng)用組件組成,采用分層架構(gòu)模式與MVC架構(gòu)模式結(jié)合使用,其視圖(View)、控制器(Controller)對(duì)應(yīng)展現(xiàn)層,業(yè)務(wù)模型(Model)對(duì)應(yīng)業(yè)務(wù)層和應(yīng)用組件。業(yè)務(wù)層功能實(shí)現(xiàn)主要依賴應(yīng)用組件來(lái)實(shí)現(xiàn),本模塊主要調(diào)用的組件有數(shù)據(jù)推送組件、車聯(lián)網(wǎng)數(shù)據(jù)組件、流程組件,輔助性的組件有業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件,本模塊中涉及到的組件作為黑盒框架使用,其組件的設(shè)計(jì)詳見(jiàn)應(yīng)用組件設(shè)計(jì)。
車輛監(jiān)控由實(shí)時(shí)監(jiān)控、指令交互、行駛記錄、電子地圖、監(jiān)控管理、違規(guī)報(bào)警6大功能項(xiàng)組成:
1)實(shí)時(shí)監(jiān)控:主要包括車輛定位、車輛查找、車輛點(diǎn)名、自動(dòng)點(diǎn)名、上下線提醒等功能,調(diào)用數(shù)據(jù)推送組件、車聯(lián)網(wǎng)數(shù)據(jù)組件、業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)關(guān)系數(shù)據(jù)引擎、內(nèi)存數(shù)據(jù)引擎、分布式數(shù)據(jù)引擎與關(guān)系數(shù)據(jù)庫(kù)、內(nèi)存數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)進(jìn)行交互;
2)指令交互:主要包括指令管理、終端拍照、單向監(jiān)聽(tīng)、多媒體管理、駕駛員身份識(shí)別、短信下發(fā)、交互記錄等功能,調(diào)用數(shù)據(jù)推送組件、車聯(lián)網(wǎng)數(shù)據(jù)組件、業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)關(guān)系數(shù)據(jù)引擎、內(nèi)存數(shù)據(jù)引擎、分布式數(shù)據(jù)引擎與關(guān)系數(shù)據(jù)庫(kù)、內(nèi)存數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)進(jìn)行交互;
3)行駛記錄:主要包括歷史位置查詢、單車軌跡分析、生成軌跡路線圖、單車報(bào)警軌跡分析等功能,調(diào)用車聯(lián)網(wǎng)數(shù)據(jù)組件、業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)關(guān)系數(shù)據(jù)引擎、分布式數(shù)據(jù)引擎與關(guān)系數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)進(jìn)行交互;
4)電子地圖:主要包括地圖操作、地物查詢等功能,調(diào)用業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)空間數(shù)據(jù)引擎與空間數(shù)據(jù)庫(kù)進(jìn)行交互[8-9];
5)監(jiān)控管理:主要包括定時(shí)定位查詢、黑名單管理、重點(diǎn)關(guān)注、多屏監(jiān)控、設(shè)備狀態(tài)檢測(cè)、行駛記錄儀管理等功能,調(diào)用數(shù)據(jù)推送組件、車聯(lián)網(wǎng)數(shù)據(jù)組件、業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)關(guān)系數(shù)據(jù)引擎、內(nèi)存數(shù)據(jù)引擎、分布式數(shù)據(jù)引擎與關(guān)系數(shù)據(jù)庫(kù)、內(nèi)存數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)進(jìn)行交互;
6)違規(guī)報(bào)警:主要包括超速報(bào)警、疲勞駕駛報(bào)警、緊急報(bào)警、越區(qū)報(bào)警、報(bào)警管理、報(bào)警處理等功能,調(diào)用車聯(lián)網(wǎng)數(shù)據(jù)組件、流程組件、業(yè)務(wù)數(shù)據(jù)組件、日志組件、系統(tǒng)鑒權(quán)組件、異常分析組件進(jìn)行實(shí)現(xiàn),通過(guò)分布式數(shù)據(jù)引擎、關(guān)系數(shù)據(jù)庫(kù)與分布式數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互[11-12]。
圖3展示了服務(wù)的內(nèi)部交互關(guān)系,分為3個(gè)層次,數(shù)據(jù)處理層、數(shù)據(jù)采集層和終端層,終端層的5種終端通過(guò)數(shù)據(jù)采集層的終端接入服務(wù)及內(nèi)部數(shù)據(jù)接入實(shí)現(xiàn)與數(shù)據(jù)處理層的數(shù)據(jù)交互。
圖3 服務(wù)內(nèi)部交互關(guān)系圖
數(shù)據(jù)處理層的報(bào)警升級(jí)服務(wù)、GIS應(yīng)用計(jì)算服務(wù)、系統(tǒng)接入服務(wù)、數(shù)據(jù)推送服務(wù)、GIS數(shù)據(jù)訪問(wèn)更新服務(wù)、通知服務(wù)通過(guò)與內(nèi)存數(shù)據(jù)交互服務(wù)與內(nèi)存數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)交互,日志收集服務(wù)、報(bào)表服務(wù)主要向關(guān)系數(shù)據(jù)庫(kù)推送數(shù)據(jù),大數(shù)據(jù)計(jì)算服務(wù)和報(bào)警服務(wù)通過(guò)內(nèi)存數(shù)據(jù)交互服務(wù)及分布式數(shù)據(jù)交互服務(wù)向數(shù)據(jù)庫(kù)推送數(shù)據(jù)[13]。
根據(jù)車輛監(jiān)控模塊的實(shí)時(shí)監(jiān)控、指令交互、報(bào)警處理以及對(duì)車輛工況及其他狀態(tài)信息的監(jiān)測(cè)、分析等業(yè)務(wù)需求,需要對(duì)車載終端上傳的GPS原始數(shù)據(jù)、OBD及全傳感器原始數(shù)據(jù)進(jìn)行分析和解析,同時(shí)需要將平臺(tái)的處理指令下發(fā)到車載終端;這些功能多和終端設(shè)備以及具體的協(xié)議相關(guān),相對(duì)獨(dú)立,且專業(yè)性較強(qiáng),故將此功能封裝成一個(gè)單獨(dú)的服務(wù),以方便上層業(yè)務(wù)以及其他服務(wù)調(diào)用。
終端接入服務(wù)主要是指各種類型的終端,包括北斗/GPS車載終端、OBD終端、全傳感器終端經(jīng)過(guò)協(xié)議解析程序后,生成標(biāo)準(zhǔn)的系統(tǒng)內(nèi)部可以識(shí)別的數(shù)據(jù)包的過(guò)程;另外,終端接入服務(wù)還負(fù)責(zé)終端指令的下發(fā)和解析。
根據(jù)車輛監(jiān)控模塊的違規(guī)報(bào)警業(yè)務(wù)和安全管控模塊的安全考核管理業(yè)務(wù)的需求,需要通過(guò)系統(tǒng)預(yù)設(shè)的報(bào)警條件進(jìn)行報(bào)警計(jì)算、報(bào)警推送以及報(bào)警信息存儲(chǔ)。這些功能都和報(bào)警計(jì)算相關(guān),關(guān)聯(lián)性較大,需要進(jìn)行功能整合,封裝成一個(gè)獨(dú)立的服務(wù),以方便業(yè)務(wù)層和其他服務(wù)層調(diào)用,因此產(chǎn)生報(bào)警計(jì)算服務(wù)設(shè)計(jì)。
報(bào)警計(jì)算服務(wù)主要包含報(bào)警計(jì)算、報(bào)警推送、報(bào)警處理以及報(bào)警存儲(chǔ)。報(bào)警計(jì)算通過(guò)GPS/OBD數(shù)據(jù),按照?qǐng)?bào)警規(guī)則生成平臺(tái)類報(bào)警[14-15]。通過(guò)GPS/OBD數(shù)據(jù)的報(bào)警標(biāo)識(shí)位生成終端類報(bào)警;報(bào)警處理是指監(jiān)控員在頁(yè)面前端發(fā)出報(bào)警處理請(qǐng)求后,報(bào)警計(jì)算服務(wù)需要對(duì)報(bào)警信息緩存進(jìn)行更新并將終端報(bào)警的報(bào)警處理請(qǐng)求通過(guò)終端接入下發(fā)至終端,同時(shí)將報(bào)警處理結(jié)果寫(xiě)入關(guān)系型數(shù)據(jù)庫(kù)。
根據(jù)車輛監(jiān)控模塊的違規(guī)報(bào)警業(yè)務(wù)、安全管控、車輛監(jiān)控等模塊與后臺(tái)服務(wù)數(shù)據(jù)交互的需求,需要通過(guò)coherence緩存,和緩存監(jiān)聽(tīng)的方式對(duì)數(shù)據(jù)進(jìn)行傳輸和管理。這些功能都和內(nèi)存數(shù)據(jù)庫(kù)交互相關(guān),關(guān)聯(lián)性較大,因此進(jìn)行功能整合,封裝成一個(gè)獨(dú)立的服務(wù),以方便業(yè)務(wù)層和其他服務(wù)層調(diào)用,因此產(chǎn)生內(nèi)存數(shù)據(jù)庫(kù)交互服務(wù)設(shè)計(jì)。
數(shù)據(jù)推送服務(wù)如圖4所示,包括車輛定位數(shù)據(jù)推送、報(bào)警數(shù)據(jù)推送、指令結(jié)果推送、上下線推送、駕駛員身份驗(yàn)證結(jié)果推送和頁(yè)面通知數(shù)據(jù)推送。
客戶端訪問(wèn)服務(wù)器的同時(shí),頁(yè)面后臺(tái)通過(guò)websocket與服務(wù)器建立單獨(dú)的后臺(tái)數(shù)據(jù)通道。該通道區(qū)別于傳統(tǒng)的網(wǎng)頁(yè)數(shù)據(jù)傳送:
1)該通道是雙向的,可以由服務(wù)端主動(dòng)地向客戶端推送數(shù)據(jù),頁(yè)面更新靈活;
2)通信過(guò)程中沒(méi)有http請(qǐng)求,數(shù)據(jù)包內(nèi)容更簡(jiǎn)練,傳送壓力小。
圖4 數(shù)據(jù)推送服務(wù)邏輯架構(gòu)圖
數(shù)據(jù)推送服務(wù)上層交互對(duì)象為業(yè)務(wù)層,下層交互對(duì)象為數(shù)據(jù)支撐層;車輛定位數(shù)據(jù)、報(bào)警數(shù)據(jù)和指令結(jié)果數(shù)據(jù)則通過(guò)車輛定位數(shù)據(jù)推送、報(bào)警數(shù)據(jù)推送、指令結(jié)果推送監(jiān)聽(tīng)內(nèi)存數(shù)據(jù)庫(kù),觸發(fā)推送,不被業(yè)務(wù)層直接調(diào)用。數(shù)據(jù)推送服務(wù)使用內(nèi)存數(shù)據(jù)引擎與內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行交互,此服務(wù)不是一個(gè)獨(dú)立的進(jìn)程服務(wù),作為系統(tǒng)的構(gòu)件運(yùn)行在Web容器中[16]。
數(shù)據(jù)推送服務(wù)所涉及的數(shù)據(jù)主要是車輛定位數(shù)據(jù)、報(bào)警數(shù)據(jù)、指令結(jié)果數(shù)據(jù)。車輛定位數(shù)據(jù)、報(bào)警數(shù)據(jù)、指令結(jié)果數(shù)據(jù)是車輛終端采集的車輛數(shù)據(jù)。頁(yè)面通知數(shù)據(jù)是業(yè)務(wù)層模塊運(yùn)行時(shí),要推送到用戶頁(yè)面的數(shù)據(jù)。
數(shù)據(jù)推送服務(wù)采用內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),便于快速、高效的讀寫(xiě)實(shí)時(shí)數(shù)據(jù),同時(shí)內(nèi)存數(shù)據(jù)庫(kù)提供數(shù)據(jù)監(jiān)聽(tīng)接口,便于主動(dòng)、及時(shí)的向客戶端推送最新數(shù)據(jù)。
車輛定位數(shù)據(jù)、報(bào)警數(shù)據(jù)、指令結(jié)果數(shù)據(jù)數(shù)據(jù)量較大,使用頻率較高,在數(shù)據(jù)推送服務(wù)中單獨(dú)實(shí)現(xiàn)。頁(yè)面通知數(shù)據(jù)則是一些使用率相對(duì)較低、處理過(guò)程較統(tǒng)一的數(shù)據(jù),根據(jù)用戶推送數(shù)據(jù)。
本文針對(duì)車輛管理系統(tǒng)中的設(shè)計(jì),通過(guò)前臺(tái)Spring整合Hibernate以Web的方式,對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查操作以及對(duì)后臺(tái)基礎(chǔ)服務(wù)的設(shè)計(jì)基本實(shí)現(xiàn)了車輛管理系統(tǒng)的對(duì)車輛的GPS定位,車輛報(bào)警的推送和指令信息的下發(fā)功能。本文首先提出了系統(tǒng)中所用到的一些基本技術(shù),然后分別針對(duì)前臺(tái)頁(yè)面和整體框架的設(shè)計(jì),最后再通過(guò)設(shè)計(jì)后臺(tái)基礎(chǔ)支撐服務(wù),來(lái)使系統(tǒng)正常流轉(zhuǎn)。
[1]張燁,王伯槐.基于Struts+Spring+Hibernate的高校學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(11):125.
[2]盧磊,張峰.基于J2EE的高校資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(2):92.
[3]楊斐,張峰.基于J2EE的無(wú)紙化考試試卷分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(16):20.
[4]陸洲.Java EE核心模式研究[J].計(jì)算機(jī)與數(shù)字工程,2014(1):81-84.
[5]薛峰,梁鋒,徐書(shū)勛,等.基于Spring MVC框架的Web研究與應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2012(3):337-340.
[6]劉川來(lái),周培培,崔振科.汽車租賃智能管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].青島科技大學(xué)學(xué)報(bào):自然科學(xué)版,2014(1):82-85,89.
[7]李云云.淺析B/S和C/S體系結(jié)構(gòu)[J].科學(xué)之友,2011(1):6-8.
[8]劉冰如.一種采用GPRS無(wú)線網(wǎng)絡(luò)的車輛監(jiān)控管理系統(tǒng)設(shè)計(jì)[D].哈爾濱:哈爾濱理工大學(xué),2015.
[9]萬(wàn)仁保.基于GPRS與GPS技術(shù)的部隊(duì)車輛管理系統(tǒng)的設(shè)計(jì)[J].科技廣場(chǎng),2014(8):45-50.
[10]陳少杰,陳賢富.基于GPS/GIS的出租車調(diào)度系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2011(6):28-30.
[11]侯忠輝.基于GPS/GPRS/GIS平臺(tái)的消防GPS車輛管理系統(tǒng)構(gòu)建[J].計(jì)算機(jī)與現(xiàn)代化,2013(1):158-160,164.
[12]李強(qiáng).企業(yè)車輛綜合信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2016(7):173,175.
[13]陳恩東.基于北斗衛(wèi)星導(dǎo)航系統(tǒng)的車輛管理軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[14]孔德為.基于WEB的物流企業(yè)車輛管理系統(tǒng)分析設(shè)計(jì)與開(kāi)發(fā)[D].吉林:吉林大學(xué),2012.
[15]秦衛(wèi).基于Web的車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[16]溫宗周,陳改霞.基于GPS/GPRS的遠(yuǎn)程車輛管理系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),2013(8):76-79.
Design of vehicle management system based on J2EE application
WANG Xi-wei1,ZHANG Jin-song2
(1.Wuhan Research Institute of Post&Telecommunications,Wuhan430074,China;2.Wuhan YCIG iLink Technology Co.,Ltd,Wuhan430074,China)
In order to manager all vehicles of the group company,proposed a design schema of vehicle managerment system based on J2EE application and finished a detail design.The design of foreground system is mainly used Spring MVC design pattern and used Spring integrate Hibernate framework,make system can track the GPS and alarm information of vehicles and send instruction to vehicles,it can control vehicle more easily.
Spring MVC;Hibernate;Java EE;GPS information
TN99
A
1674-6236(2017)23-0030-05
2016-11-15稿件編號(hào):201611114
王熹瑋(1993—),男,江西萍鄉(xiāng)人,碩士。研究方向:互聯(lián)網(wǎng)技術(shù)。