宣浙華 李若晗
摘 要 開發(fā)基于智能手機(jī)平臺的GPS遠(yuǎn)程監(jiān)控系統(tǒng),對于有車的用戶可以實(shí)現(xiàn)傳統(tǒng)GPS監(jiān)控系統(tǒng)所帶來的便利,對于沒有車的用戶,也可以使用定位導(dǎo)航功能,在某些特定的時(shí)候,還可以為手機(jī)用戶提供緊急求助服務(wù),提供呼叫者位置以便及時(shí)救援等。所以開發(fā)一款基于智能手機(jī)平臺的GPS監(jiān)控系統(tǒng)具有很高的可行性及實(shí)用性。本文所設(shè)計(jì)的基于android的GPS遠(yuǎn)程監(jiān)控系統(tǒng)服務(wù)器端系統(tǒng),為保證實(shí)時(shí)刷新當(dāng)前在線用戶列表,使用jQuery實(shí)現(xiàn)局部刷新。系統(tǒng)同時(shí)處理多客戶端的請求,所以對于每個(gè)客戶端的請求,服務(wù)器都會新建一個(gè)代理線程來處理客戶請求,來提高并發(fā)性。系統(tǒng)有通知功能,即監(jiān)控端(服務(wù)器端)可以發(fā)送通知給用戶,用戶可以通過客戶端查看自己收到的通知。
關(guān)鍵詞 Android GPS 遠(yuǎn)程監(jiān)控 JQuery B/S架構(gòu)
中圖分類號:TN943 文獻(xiàn)標(biāo)識碼:A
0 引言
隨著無線網(wǎng)技術(shù)越來越成熟,手機(jī)平臺日新月異,GPS接收機(jī)體積不斷變小,成本日益降低,這樣,在手機(jī)上集成GPS功能成為可能。同樣,GPS接收機(jī)在功耗方面越來越低,即便是已經(jīng)集成了眾多的多媒體功能,低功耗的GPS接收機(jī)也能保證手機(jī)電池工作時(shí)間足夠長。導(dǎo)航服務(wù)是GPS的一大應(yīng)用,在手機(jī)中集成GPS,可以非常輕松地實(shí)現(xiàn)車輛的自主導(dǎo)航,用戶將不再因?yàn)槊月返⒄`自己的行程,便捷而實(shí)用。
1 相關(guān)編程技術(shù)介紹
1.1 JSP技術(shù)
JSP(Java Server Pages)技術(shù)是一種動態(tài)網(wǎng)頁開發(fā)的技術(shù)標(biāo)準(zhǔn)。其優(yōu)勢主要有如下幾點(diǎn):JSP中動態(tài)部分使用Java語言開發(fā)編寫,具有更強(qiáng)的功能;可移植性強(qiáng),可以在各種操作系統(tǒng)及Web服務(wù)器上使用;JSP將動態(tài)內(nèi)容的生成與顯示分離開來,當(dāng)結(jié)合Servlet開發(fā)時(shí),能夠容易的構(gòu)建出結(jié)構(gòu)清晰、可重用的組件。
1.2 Google Map
谷歌地圖是Google公司提供的電子地圖服務(wù),包括局部詳細(xì)的衛(wèi)星照片。它可以提供含有政區(qū)和交通以及商業(yè)信息的矢量地圖、不同分辨率的衛(wèi)星照片和可以用來顯示地形和等高線地形視圖。在各類平臺均有應(yīng)用,操作簡單方便。
1.3 Java多線程
Java是純面向?qū)ο笳Z言,因此其線程模型也是面向?qū)ο蟮摹ava通過Thread類將線程所必須的功能都封裝了起來。建立一個(gè)線程,必須要有一個(gè)線程執(zhí)行函數(shù),該線程執(zhí)行函數(shù)對應(yīng)Thread類的run方法。
1.4 Socket通信
運(yùn)用Socket接口對兩臺計(jì)算機(jī)進(jìn)行交互。
2 基于Android的GPS遠(yuǎn)程監(jiān)控系統(tǒng)服務(wù)器端的設(shè)計(jì)
2.1系統(tǒng)功能
基于android的GPS遠(yuǎn)程監(jiān)控系統(tǒng)服務(wù)器端的主要功能如下:能夠從GPS定位數(shù)據(jù)庫讀寫數(shù)據(jù),直接反映到網(wǎng)頁的在線地圖上;客戶端可以連接到服務(wù)器端的數(shù)據(jù)庫;服務(wù)器端能接收客戶端的上傳數(shù)據(jù),存儲在mysql數(shù)據(jù)庫中;由網(wǎng)頁程序利用在線地圖展示該手機(jī)所在的位置;管理員登陸可以實(shí)時(shí)監(jiān)控所有在線用戶的當(dāng)前位置,并可以發(fā)送通知給在線用戶;用戶登陸可以實(shí)時(shí)監(jiān)控此用戶是否在線,如果在線,那么可以查看此用戶的當(dāng)前位置,并發(fā)送通知;實(shí)現(xiàn)用戶行動軌跡分析,根據(jù)時(shí)間段,展示用戶行動軌跡。主要功能包括:用戶登錄、發(fā)送通知、顯示在線用戶、用戶軌跡分析、用戶行程分析、用戶跟蹤。
2.2關(guān)鍵技術(shù)
本系統(tǒng)的服務(wù)器端采用經(jīng)典的MVC架構(gòu),視圖層是用戶看到并與之交互的界面,模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則,控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。采用MVC架構(gòu),有著低耦合性、高重用性、可適用性、可維護(hù)性、快速部署、軟件工程化管理等優(yōu)點(diǎn)。
2.3數(shù)據(jù)庫設(shè)計(jì)
對一個(gè)系統(tǒng)來說,數(shù)據(jù)庫的設(shè)計(jì)占著很重要的地位,其結(jié)構(gòu)設(shè)計(jì)的好壞,可以直接對系統(tǒng)的執(zhí)行效率和實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫設(shè)計(jì),能夠保證完整、一致的系統(tǒng)數(shù)據(jù),更能夠提高數(shù)據(jù)的存儲效率。此外,合理的數(shù)據(jù)庫設(shè)計(jì),還有利于程序編碼的實(shí)現(xiàn)。
本系統(tǒng)主要需要管理員or用戶表、位置表、通知表。
3 系統(tǒng)典型功能模塊的設(shè)計(jì)與實(shí)現(xiàn)
限于文章篇幅,我們只以用戶軌跡顯示模塊為例來說明。
由Servlet調(diào)用DAO對數(shù)據(jù)庫進(jìn)行讀指定用戶的最新10條記錄信息操作;由Servlet將指定用戶的最新記錄信息通過request對象發(fā)送到JSP頁面;在JSP頁面通過JavaScript調(diào)用Google Map API完成用戶行動軌跡顯示。
4 結(jié)束語
作為系統(tǒng)設(shè)計(jì),系統(tǒng)已取得了一定的成果,但如若真正投入使用,還有許多有待進(jìn)一步研究、設(shè)計(jì)并開發(fā)的工作。首先本系統(tǒng)的安全性較差,因?yàn)樯婕暗接脩舻木唧w位置這種隱私的信息,所以需要進(jìn)一步提高系統(tǒng)的安全性能。其次,在客戶端和服務(wù)器端之間的信息傳遞過程中,也存在一定的風(fēng)險(xiǎn),需要使用一定的加密技術(shù)。最后比每一個(gè)客戶端需要在服務(wù)器端保留兩個(gè)監(jiān)聽線程,無疑增加了服務(wù)器的負(fù)擔(dān)。所以當(dāng)很多用戶同時(shí)發(fā)送請求時(shí)會發(fā)生服務(wù)器響應(yīng)過慢的性能問題。
參考文獻(xiàn)
[1] [美]David Harms. JSP,Servlets與MySQL開發(fā)指南. 黃習(xí)福,梁桂霞,朱國慶等譯.電子工業(yè)出版社,2001.1.
[2] 余世龍. Google Android SDK開發(fā)范例大全(第2版).人民郵電出版社,2010.6.
[3] 王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論(第四版). 高等教育出版社,2006.
[4] [美]Kathy Sierra,[美]Bert Bates. Head First JavaTM(中文版)(第二版). OReilly Taiwan公司譯. 中國電力出版社,2007.