馬 磊
?
基于智能解決方案的自助旅游系統(tǒng)①
馬 磊
(四川大學(xué)錦城學(xué)院電子信息工程系, 成都 611731)
基于硬件的物理式“電子導(dǎo)游”設(shè)備, 使用不方便且維護(hù)困難, 景區(qū)設(shè)備的出租價格游客不易接受, 受限于硬件安裝, 不易升級等問題; 其替代產(chǎn)品, 即目前市場上的通用導(dǎo)航軟件, 存在偏遠(yuǎn)地點信息不全的問題, 不能提供特定景區(qū)的特色服務(wù)的問題, 以及和原有系統(tǒng)整合等問題. 為了解決前述諸多弊端, 針對某旅游景點的區(qū)域范圍, 提出一種基于智能手機平臺+后端服務(wù)的整體解決方案, 提供景區(qū)的位置服務(wù)、實時導(dǎo)航、景點搜索、旅游組團(tuán)、線路規(guī)劃、線路推薦、便捷服務(wù)等新型“智慧旅游”的具體實現(xiàn)方法, 設(shè)計一個易用、靈活的前端應(yīng)用App; 同時將云端服務(wù)技術(shù)與后臺服務(wù)分層設(shè)計相結(jié)合, 將景區(qū)的傳統(tǒng)旅游業(yè)務(wù)和日常隨身攜帶的智能設(shè)備相關(guān)聯(lián), 并設(shè)計了一個匯聚層, 通過消息隊列來管理、分發(fā)各種分層接口信息, 從而使系統(tǒng)架構(gòu)的運行效率、后期維護(hù)、擴(kuò)展性得到了極大的保證. 通過具體的工程實踐, 驗證了該系統(tǒng)的有效性和實際運行效果.
智能手機; 安卓; 智慧旅游; 導(dǎo)航; 定位; 服務(wù)器
隨著中國經(jīng)濟(jì)的高速發(fā)展, 旅游業(yè)務(wù)日益成長為許多工薪階層的“剛需”, 在線旅游、參團(tuán)旅游、出海旅游、房車旅游、自駕游等旅游方式正在快速發(fā)展. “智慧旅游”[1]的概念應(yīng)運而生, 成為旅游產(chǎn)業(yè)新的發(fā)力點, 旅游業(yè)必然會因為信息技術(shù)的變革以及游客自主旅游的更多需求而發(fā)生革命性的變化.
成都大熊貓基地作為全國唯一一個集旅游、休閑和科研于一體的大型公共場所, 在實施“智慧旅游”研究方面有著得天獨厚的先天優(yōu)勢, 每年吸引游客達(dá)數(shù)百萬, 是世界觀察中國的窗口, 如何讓這部分人更通暢的了解熊貓景區(qū), 如何為這部分人提供更優(yōu)質(zhì)、便捷的服務(wù), 是整體解決方案需要面對的主要問題.
本文除了提出系統(tǒng)分析、整體架構(gòu)設(shè)計和解決方案外, 還給出了一套具體實現(xiàn)方法, 并經(jīng)過工程實踐, 驗證其可行性. 該系統(tǒng)今后可以根據(jù)具體使用情況, 由點及面, 推廣、擴(kuò)展到其他景區(qū).
2.1 方案簡介
“熊貓基地自助旅游系統(tǒng)”整體解決方案是四川大學(xué)錦城學(xué)院與成都大熊貓繁育研究中心聯(lián)合提出的一個面向成都著名景區(qū)的“智慧旅游”具體實施方案, 前端移動設(shè)備采用Android/IOS智能手機平臺進(jìn)行研發(fā), 后端使用公有云平臺服務(wù), 結(jié)合自主設(shè)計的后端服務(wù)架構(gòu), 并利用現(xiàn)今普及率非常高的智能手機終端、無處不在的移動互聯(lián)網(wǎng)、云計算等新技術(shù), 主動感知旅游資源、旅游經(jīng)濟(jì)、旅游活動、旅游者意圖等方面的信息. 針對物理式“電子導(dǎo)游”和通用導(dǎo)航軟件的缺陷和弊端, 在幾乎不需要增加硬件設(shè)施的前提下, 最大程度地滿足人們高品質(zhì)的旅游需求.
方案綜合3G/4G網(wǎng)絡(luò)通信、GPS導(dǎo)航[2]、手機地圖、定位以及智能手機的強大運算能力, 為進(jìn)入成都大熊貓基地景區(qū)的游客提供智能化、個性化的導(dǎo)游服務(wù), 提高熊貓基地景區(qū)旅游服務(wù)質(zhì)量, 具備旅游景點解說、規(guī)劃、導(dǎo)航、定位、通知、門票、購物、自助服務(wù)等功能. 方案的總體網(wǎng)絡(luò)架構(gòu)如圖1所示.
圖1 系統(tǒng)總體架構(gòu)圖
2.2 系統(tǒng)功能和框架結(jié)構(gòu)
“熊貓基地自助旅游系統(tǒng)”通過移動互聯(lián)的方式, 將熊貓基地服務(wù)中心與游客聯(lián)系在一起, 游客可以通過智能手機對景區(qū)提供的各種新業(yè)務(wù)及時瀏覽, 支持游客在園區(qū)內(nèi)按地形地圖實時查詢, 實時GPS導(dǎo)航, 特色景點預(yù)覽, 游覽線路推薦, 目的地最優(yōu)線路規(guī)劃, 景點智能語音講解, 大熊貓資訊實時推送, 組團(tuán)旅游等功能.
為了確保系統(tǒng)的靈活性和可維護(hù)性, 設(shè)計時增加了后端框架服務(wù), 框架服務(wù)為客戶端提供統(tǒng)一的標(biāo)準(zhǔn)訪問接口, 便于不同終端進(jìn)行移動互聯(lián), 同時也規(guī)范了基地服務(wù)中心的網(wǎng)絡(luò)通道, 便于基地原有服務(wù)中心與現(xiàn)有終端設(shè)備的互聯(lián)、互通, 兼容了原有系統(tǒng); 并有效規(guī)劃了今后的擴(kuò)展方向, 在協(xié)議上保證了日后的擴(kuò)展空間. 在設(shè)計中, Android[3]手機終端用戶、IOS手機終端用戶、及門戶網(wǎng)站屬于前端應(yīng)用, 這些應(yīng)用需要通過后端服務(wù)平臺所提供的統(tǒng)一支撐環(huán)境, 后端服務(wù)平臺涵蓋Web[4]服務(wù)、App服務(wù)、網(wǎng)站后臺服務(wù)以及后端存儲平臺, 前端、后端整合成為一個完整的系統(tǒng), 并統(tǒng)一提供對外服務(wù). 系統(tǒng)層次結(jié)構(gòu)如圖2所示.
圖2 系統(tǒng)組成圖
3.1 智能手機功能劃分
智能手機[5](Smart Phone)、終端設(shè)備隨著硬件成本的逐年降低和手機平臺的日益完善、強大, 手機操作系統(tǒng)逐步形成了: Symbian、Windows Phone 7、IOS、Android和 BlackBerry OS等手機平臺. 在他們之上可以開發(fā)各具特色的應(yīng)用軟件, 可以像個人電腦一樣在手機上進(jìn)行軟件的自由安裝和卸載, 手機應(yīng)用程序的功能也越來越多, 性能越來越強大.
Android因其自身的開放性、聯(lián)盟戰(zhàn)略和快速更新的技術(shù)而逐漸成長為市場的主流, 本方案的智能終端操作系統(tǒng)采用Android開發(fā)平臺, 實現(xiàn)的各功能模塊如下:
(1) 景點預(yù)瀏覽功能模塊;
(2) 游覽線路查詢、線路推薦功能模塊;
(3) 目的地最優(yōu)線路規(guī)劃功能模塊;
(4) 景點智能語音講解功能模塊;
(5) 游客當(dāng)前位置的動態(tài)顯示功能模塊;
(6) 實時天氣播報功能模塊;
(7) 路線記錄與路線回憶功能模塊;
(8) 游客結(jié)伴和組團(tuán)功能模塊;
(9) 團(tuán)隊無線交互、聊天功能模塊;
(10) 景點動態(tài)資訊實時推送功能模塊;
(11) 各種便捷服務(wù)功能模塊;
(12) 后端云平臺服務(wù)器支撐功能模塊;
(13) 無線通信協(xié)議功能模塊.
3.2 智能手機設(shè)計與實現(xiàn)
為保證本系統(tǒng)與原有系統(tǒng)融合, 以及后期擴(kuò)展和可維護(hù)性, 手機客戶端與Web服務(wù)器、App服務(wù)器之間, 均采用HTTP[6](Hyper Text Transfer Protocol)超文本傳輸協(xié)議進(jìn)行網(wǎng)絡(luò)連接, 手機客戶端的數(shù)據(jù)大部分來源于后臺服務(wù)器, 少量數(shù)據(jù)需存儲于手機端, 在沒有數(shù)據(jù)網(wǎng)絡(luò)的情況下, 支持離線導(dǎo)航, 手機端使用SQLite[7]數(shù)據(jù)庫保存數(shù)據(jù), 后臺數(shù)據(jù)庫采用SQL Server 2005, Web容器采用Tomcat[8]8.0. 手機開發(fā)工具Eclipse 4.2.1, Android 5.0, 界面布局采用Android布局管理器, 結(jié)合HTML5[9], 使結(jié)構(gòu)靈活、適應(yīng)性強, 用戶界面友好, 易于使用. 下面是Android開發(fā)手機程序的項目展示, 如圖3所示.
本文僅以其中的組團(tuán)功能模塊, 進(jìn)行簡要描述, 并對定位的使用原理做基本闡述. 組團(tuán)功能模塊包含創(chuàng)建團(tuán)隊、加入團(tuán)隊和啟動團(tuán)隊實時游覽和團(tuán)隊聊天子功能模塊.
(1) 創(chuàng)建團(tuán)隊
使用者創(chuàng)建團(tuán)隊前, 須注冊一個用戶名, 注冊成功后, 由服務(wù)器生成并返回一個唯一的用戶Id. 使用者可以使用該Id號, 新建一個團(tuán)隊, 并取一個團(tuán)隊名稱. 創(chuàng)建團(tuán)隊手機界面如圖4所示.
圖3 手機終端開發(fā)項目列表
(a)創(chuàng)建新團(tuán)隊 (b)團(tuán)隊列表
圖4 創(chuàng)建團(tuán)隊運行界面
(2) 加入團(tuán)隊
使用者可以選擇想要加入的團(tuán)隊名稱, 向服務(wù)器發(fā)起請求. 成功后, 服務(wù)器下發(fā)該團(tuán)隊列表信息, 該團(tuán)隊的各組員收到更新列表后, 自動更新本手機團(tuán)隊列表.
手機客戶端與后臺服務(wù)器的加入團(tuán)隊子模塊數(shù)據(jù)交換過程如圖5所示. 假設(shè)已建有小組T, 用戶A選擇T小組, 并申請加入該小組. 首先由用戶A發(fā)起加入小組請求, 服務(wù)器認(rèn)證通過后, 發(fā)送ACK回應(yīng)消息, 用戶A手機端顯示加入成功狀態(tài), 并向服務(wù)器回送成功狀態(tài)碼, 服務(wù)器收到后, 更新本地信息列表, 同時通知該小組中其他成員, 接收并刷新加入小組的新成員的信息, 否則向用戶A返回失敗信息.
(3) 啟動團(tuán)隊實時游覽
小組內(nèi)所有組員都發(fā)送了啟動團(tuán)隊游覽命令后, 由服務(wù)器端統(tǒng)一判斷, 并下達(dá)開始游覽命令. 此時, 小組內(nèi)各成員啟動各自的自動獲取資料線程, 定時向服務(wù)器索取小組成員的位置信息, 同時, 將自身位置更新信息上傳. 服務(wù)器端始終維護(hù)各個小組內(nèi)所有成員的最新位置信息. 如圖6所示.
圖5 加入團(tuán)隊申請流程示意圖
圖6 啟動實時瀏覽流程圖
(4) 團(tuán)隊聊天
成功啟動團(tuán)隊實時游覽后, 同在一組內(nèi)的成員之間可以互發(fā)消息, 并可以彼此看到所有小組成員所在的位置. 同樣, 由服務(wù)器實時更新聊天內(nèi)容和實時位置信息, 不再贅述, 效果見圖7.
(a)團(tuán)隊實時聊天 (b)組員位置實時顯示
(5) 定位使用
由于涉及到大量的偏僻地點定位信息, 通用導(dǎo)航軟件無法獲取, 但是該信息對于特定景區(qū)來說, 卻是重要景觀. 于是專門設(shè)計數(shù)據(jù)采集模塊, 用于采集當(dāng)?shù)匦畔? 按Json格式存儲在后臺服務(wù)器端, 使用時下載到手機客戶端. 采集的部分?jǐn)?shù)據(jù)實例如下圖8所示.
圖8 部分?jǐn)?shù)據(jù)采集實例
本文采用通用定位接口和自行采集數(shù)據(jù)相結(jié)合的方法, 解決偏遠(yuǎn)地點的定位問題. 通用定位、導(dǎo)航接口采用Baidu Map提供的Android Location SDK v6.2.2標(biāo)準(zhǔn)服務(wù)(LBS), 結(jié)合手機中的GPS芯片, 基站數(shù)據(jù), Wi-Fi數(shù)據(jù)等多種定位方式, 特別適合在郊外空曠處, 進(jìn)行精確定位的相關(guān)應(yīng)用, 具有出色的定位性能: 定位精度高、覆蓋率廣、網(wǎng)絡(luò)定位請求流量小、定位速度快的特點, 定位原理如下圖9所示.
圖9 定位SDK原理圖
4.1 后端整體框架
本解決方案的后端服務(wù)器遵循Java EE的MVC設(shè)計思想, 開發(fā)工具JDK7.0, 使用JSP/Servlet編程, 后臺數(shù)據(jù)庫采用SQL Server 2005, 在基于struts2[10]的基本框架下, 進(jìn)行二次開發(fā)、研制.
后端服務(wù)包括為手機終端提供Web訪問接口, 以及后臺管理模塊, 提供管理員功能, 權(quán)限設(shè)置, 用戶管理, 系統(tǒng)Log, 游客注冊. 對手機終端提供實時資訊推送, 手機App版本更新. 數(shù)據(jù)接口層負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)上傳、下載相關(guān)的抽象調(diào)用方法; 旅游接口層負(fù)責(zé)提供包括定位、導(dǎo)航、地圖操作、線路規(guī)劃等業(yè)務(wù)的抽象調(diào)用方法; 匯聚層主要對接口層方法調(diào)用進(jìn)行統(tǒng)一、規(guī)范處理. 后端服務(wù)框架結(jié)構(gòu)如下圖10所示.
圖10 后端服務(wù)框架結(jié)構(gòu)
4.2 匯聚層設(shè)計
匯聚層的主要功能是管理各接口層的消息隊列, 處理各類消息, 為各接口層提供統(tǒng)一的標(biāo)準(zhǔn)調(diào)用方法, 并負(fù)責(zé)數(shù)據(jù)庫的匯聚, 方便今后的擴(kuò)展和更新.
匯聚層的設(shè)計, 既可以解析、處理各接口層發(fā)來的消息, 也可以兼顧處理原有門戶網(wǎng)站的數(shù)據(jù)信息, 使用工廠設(shè)計模式將終端處理和原有系統(tǒng)重組、融合到了一起, 真正實現(xiàn)了調(diào)用關(guān)系的解耦, 極大方便了今后的擴(kuò)展. 匯聚層工作原理如圖11所示.
圖11 匯聚層工作原理
匯聚層的具體實現(xiàn)簡述如下: 前端控制器(FC)是實現(xiàn)了Servlet接口的一個控制類, 配置web.xml中的
為了保證數(shù)據(jù)、業(yè)務(wù)、控制徹底分離, 本文還設(shè)計了前置攔截器和后置攔截器兩個實用類, 前置攔截器的作用是將Action接口參數(shù)控制翻轉(zhuǎn), 注入到Action實現(xiàn)類的對象中, 從而完成對該對象的完全控制, 該對象中的方法調(diào)用完畢, 將結(jié)果轉(zhuǎn)為DTO(Data Transfer Object)數(shù)據(jù)格式, 交給數(shù)據(jù)組裝模塊.
數(shù)據(jù)組裝模塊負(fù)責(zé)將DTO數(shù)據(jù)放入消息隊列處理模塊進(jìn)行加工, 需永久保留的數(shù)據(jù)直接進(jìn)入數(shù)據(jù)庫; 需回復(fù)客戶端的數(shù)據(jù)則交給后置攔截器處理. 后置攔截器使用代理模式為DTO對象生成動態(tài)代理, 完成DTO數(shù)據(jù)的解析, 并將回復(fù)消息交給前端控制器, 返還給客戶端.
綜上, 一個完整的整體設(shè)計方案基本完成. 從手機終端界面設(shè)計、流程規(guī)劃、代碼編寫、調(diào)試、自測, 以及后臺服務(wù)器和數(shù)據(jù)庫的構(gòu)思、開發(fā)、實施、試運行, 一直到整個系統(tǒng)聯(lián)試、聯(lián)調(diào), 歷經(jīng)數(shù)月, 最終使整個系統(tǒng)的研發(fā)告一段落.
該系統(tǒng)經(jīng)過前期的初步測試, 已開始著手進(jìn)行整體部署和小規(guī)模范圍內(nèi)的試用, 并將原有系統(tǒng)數(shù)據(jù)進(jìn)行了整合, 手機終端已經(jīng)可以正常的訪問后臺服務(wù)器和原有的門戶網(wǎng)站數(shù)據(jù), 基本功能包括定位、導(dǎo)航、實時導(dǎo)游、特色景點智能講解、自助組團(tuán)、景區(qū)便捷服務(wù)等已經(jīng)可以正常使用, 圖12是一部分手機運行界面截圖.
(a)手機主界面 (b)精品線路選擇 (c)各種便捷服務(wù)
(d)推薦線路 (e)地圖定位信息 (f)服務(wù)信息推送
圖12 整個系統(tǒng)的部分運行界面
本文通過開發(fā)手機App應(yīng)用程序, 融合后端服務(wù)器技術(shù), 實現(xiàn)了一個基于“智慧旅游”的實際應(yīng)用系統(tǒng), 為智能手機在解決類似問題中提出了一個比較新穎的解決思路和方法, 并進(jìn)行了有益的探索和研發(fā)工作, 經(jīng)實地驗證、測試, 是可用、可行、合理的; 同時也彌補了市場上現(xiàn)有導(dǎo)航軟件或硬件的不足, 解決了一些實際需求.
本系統(tǒng)也有需要完善的地方, 如人員訪問量較大時的并發(fā)處理能力, 后續(xù)的擴(kuò)展也有進(jìn)一步優(yōu)化的空間, 通信性能也有進(jìn)一步提升的空間, 自定義的MVC框架和Struts2之間的互相融合還有很多可以優(yōu)化的地方.
1 黃思思.國內(nèi)智慧旅游研究綜述.地理與地理信息科學(xué), 2014,30(2):97–101.
2 賀勇.基于高精細(xì)地圖的GPS導(dǎo)航方法研究[碩士學(xué)位論文].上海:上海交通大學(xué),2015.
3 Cohen R, Wang T. The Android OS//Android Application Development for the IntelPlatform. Apress, 2014: 131–190.
4 O’Neil HF, Perez RS. Web-Based Learning: Theory, Research, and Practice. Routledge, 2013.
5 馬志強,蔣曉.基于用戶體驗的智能手機網(wǎng)站界面設(shè)計探討. 包裝工程,2012,33(16):63–65.
6 Fielding R, Reschke J. Hypertext transfer protocol (HTTP/1.1): Message syntax and routing. RFC Editor, RFC 7230, 2014. https://www.rfc-editor.org/rfc/rfc7230.txt.
7 馬獲蕾,湯海鳳.Android 系統(tǒng)中SQLite 數(shù)據(jù)庫的研究.電腦知識與技術(shù):學(xué)術(shù)交流,2013,9(10):6243–6245.
8 夏慶山.Tomcat與ApacheWeb 服務(wù)器的整合.數(shù)字化用戶, 2013,(27).
9 張玉晴,黃瑾娉.基于 HTML5 的跨平臺移動應(yīng)用關(guān)鍵技術(shù)的研究與實現(xiàn).工業(yè)控制計算機,2013,(3):6–58.
10 陸舟.Struts2 技術(shù)內(nèi)幕:深入解析Struts 架構(gòu)設(shè)計與實現(xiàn)原理.北京:機械工業(yè)出版社,2012.
Independent Travel System Based on Intelligent Solution
MA Lei
(College of Jincheng, Sichuan University, Chengdu 611731, China)
The hardware-based physical-type “electronic guide” devices is inconvenient and difficult to use and maintain, issues that rental prices for tourists are not easy to accept, system is limited to hardware install, difficulty to upgrade and other problems; their alternative products currently on the market that is common navigation software, there is a problem of incomplete information in remote locations, resorts can not provide specific characteristics of service problems, and legacy systems integration and other issues. In order to solve the aforementioned many drawbacks for a regional tourist attractions, this paper proposes integrated solutions based on smart phone platform + back-end services, providing scenic location services, real-time navigation, search attractions, tourist groups, route planning, route recommendation , the new “intelligent tourism” specific method convenient services, it designs a useful and flexible front-end applications App; while cloud services technology and back-office services layered design combines with the scenic tradition of tourism business and everyday carry perfect correlation smart devices, and designs a distribution layer, through the message queue to manage, distribute various hierarchical interface information so that the operating efficiency of the system architecture, post-maintenance, scalability is greatly guaranteed. Through the specific engineering practice, the validity and effect of the actual operating system is proved.
smart phone; Android; wisdom tourism; navigation; positioning; server
2016-06-17;
2016-07-25
[10.15888/j.cnki.csa.005636]