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