• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于云計(jì)算的校園LBS定位技術(shù)在Android平臺(tái)上的研究與應(yīng)用

      2020-07-29 08:57郭倩韓博吳飛龍朱曉芒
      關(guān)鍵詞:云計(jì)算

      郭倩 韓博 吳飛龍 朱曉芒

      摘要:數(shù)字校園在快速發(fā)展的過程中,移動(dòng)辦公成為一種趨勢。針對(duì)當(dāng)前高校移動(dòng)端業(yè)務(wù)與基于位置服務(wù)(LBS)相結(jié)合的需求,提出一套基于云計(jì)算的在Android平臺(tái)上利用百度定位API實(shí)現(xiàn)精準(zhǔn)混合定位的校園定位技術(shù)方案。以校園即時(shí)消息通信Android客戶端為例展開實(shí)例驗(yàn)證,結(jié)果表明該方案合理可行。研究成果為校內(nèi)移動(dòng)應(yīng)用與LBS服務(wù)的集成提供了技術(shù)支持,增強(qiáng)了校園移動(dòng)應(yīng)用的服務(wù)能力,可以為相關(guān)研究和實(shí)踐提供技術(shù)指導(dǎo)。

      關(guān)鍵詞:LBS;Android;混合定位;百度定位API;云計(jì)算

      中圖分類號(hào):TP302.1;TP311.5 ? ?文獻(xiàn)標(biāo)志碼:A ? ? ?文章編號(hào):1673-8454(2020)06-0089-05

      一、引言

      近年來,智能移動(dòng)終端逐漸在工作、生活和學(xué)習(xí)中普及,移動(dòng)定位技術(shù)也得到了快速發(fā)展,基于位置的服務(wù)LBS(Location-based Service)帶來了更多的高效和便利[1]。LBS是利用各種定位技術(shù)獲得移動(dòng)終端設(shè)備的當(dāng)前的位置,再利用手機(jī)網(wǎng)絡(luò)或者Wi-Fi獲取服務(wù)。LBS在最初主要應(yīng)用于實(shí)施救援,即緊急情況下迅速對(duì)求助者的位置予以定位,如歐洲的E112 系統(tǒng)、美國的E911 系統(tǒng)。目前,LBS在軍事、物流、交通、生活、醫(yī)療等領(lǐng)域都得到了廣泛的應(yīng)用,例如,查找智能移動(dòng)終端附近一定范圍內(nèi)的影院、商場、餐館、銀行、加油站等。

      Android是基于Linux操作系統(tǒng)的自由及開源的移動(dòng)終端操作系統(tǒng), 與具備強(qiáng)大數(shù)據(jù)處理能力的智能移動(dòng)終端相結(jié)合,在工作、生產(chǎn)和生活中漸漸占據(jù)了廣闊的市場。2018年,Android OS高達(dá)85.9%的市場占有率就已經(jīng)遠(yuǎn)遠(yuǎn)超越iOS,成為最主流的移動(dòng)端OS。

      數(shù)字校園的快速發(fā)展引領(lǐng)著高校信息化建設(shè)日益壯大,越來越多的業(yè)務(wù)從線下遷移到線上,從PC端延伸到移動(dòng)終端,如移動(dòng)校園、移動(dòng)迎新、教務(wù)考勤、校園訂餐等。眾多校園移動(dòng)化應(yīng)用亟需與LBS結(jié)合,從而為師生提供更加智能、安全和便捷的服務(wù)。雖然目前市場上針對(duì)Android移動(dòng)終端開發(fā)的提供LBS服務(wù)的手機(jī)應(yīng)用層出不窮,但是非定制化的廣譜性軟件無法按照高校的業(yè)務(wù)模式為師生提供定制化的服務(wù)?;诖耍疚尼槍?duì)LBS技術(shù)展開研究,提出在Android平臺(tái)上利用百度定位API[1]實(shí)現(xiàn)校園定位功能這一技術(shù)方案,以校園移動(dòng)即時(shí)通信系統(tǒng)Android客戶端為實(shí)例,驗(yàn)證方案的可行性、合理性和高效性。

      二、Android移動(dòng)終端定位技術(shù)

      GPS接收機(jī)、基站通信模塊、Wi-Fi模塊、慣性器件等是智能移動(dòng)終端實(shí)現(xiàn)定位功能的硬件基礎(chǔ)[2],Android系統(tǒng)為訪問這些硬件提供了原生API,Google、百度、高德等廠商在推出地圖應(yīng)用的同時(shí),也開放了與其地圖應(yīng)用相關(guān)的API,讓Android開發(fā)者可以更加輕松地獲取終端的位置信息。本節(jié)首先簡要介紹Android移動(dòng)終端的定位技術(shù),隨后就如何選擇實(shí)現(xiàn)校園定位功能的API進(jìn)行分析。

      不同的定位技術(shù)有其最佳適應(yīng)環(huán)境,帶來的精確度也各不相同,下面介紹幾種常用的Android移動(dòng)終端定位技術(shù)。

      1.GPS定位

      全球定位系統(tǒng)(Global Positioning System,GPS)是衛(wèi)星導(dǎo)航系統(tǒng),目前應(yīng)用最為廣泛。智能終端上的GPS接收機(jī)通過連續(xù)接收衛(wèi)星發(fā)射信號(hào)來實(shí)時(shí)計(jì)算三維位置和速度信[2]。

      Android提供了LocationManager類來完成訪問GPS設(shè)備的操作。在權(quán)限允許的情況下,應(yīng)用程序可以訪問GPS設(shè)備進(jìn)行定位。使用GPS設(shè)備進(jìn)行定位,需要為應(yīng)用請求位置相關(guān)權(quán)限。

      借助于LocationManager類可以請求使用系統(tǒng)位置服務(wù)。

      設(shè)定定位標(biāo)準(zhǔn)(即Criteria),通過該標(biāo)準(zhǔn)獲取位置提供者(Location類)。

      隨后注冊當(dāng)GPS設(shè)備位置更新時(shí)響應(yīng)頻率方法,設(shè)置監(jiān)聽頻率、通知條件[3]。

      myLocationListener即LocationListener接口,接口內(nèi)定義onLocationChanged()方法,當(dāng)位置變化時(shí)執(zhí)行。

      通過onLocationChanged方法中Location提供的getLatitude()和getLongitude()方法,智能終端即可獲取所在位置的經(jīng)緯度信息。部分手機(jī)支持設(shè)置“自動(dòng)下載星歷”,默認(rèn)通過網(wǎng)絡(luò)輔助GPS設(shè)備來執(zhí)行定位,即AGPS[4]。

      借助GPS設(shè)備進(jìn)行定位,盡管定位精確度較高,但冷啟動(dòng)GPS時(shí)間太長,借助于AGPS解決了定位速度的問題,但是并非所有的Android手機(jī)都支持AGPS,所以單靠GPS、AGPS無法滿足定位的需求。

      2.基于蜂窩網(wǎng)絡(luò)的定位——CELL-ID

      小區(qū)定位法(CELL-ID)是一種基于蜂窩網(wǎng)絡(luò)的低成本、易實(shí)現(xiàn)的定位方法[5]。該方法借助于移動(dòng)系統(tǒng)HLR(Home Location Register)中用戶所處小區(qū)的位置信息來進(jìn)行定位,覆蓋面很廣,對(duì)終端設(shè)備的支持度極高。

      一段基站信息的代碼中,主要信息包括移動(dòng)網(wǎng)絡(luò)號(hào)(MNC)、移動(dòng)國家代碼(MCC)、小區(qū)識(shí)別碼(CID)和位置號(hào)碼(LAC)。minigps提供了全球基站數(shù)據(jù)庫,借助minigps提供的url接口,將基站信息經(jīng)過封裝HTTP POST到服務(wù)器會(huì)返回設(shè)備的位置信息[6]。

      獲取到基站的基本信息后,將這些基站信息封裝成指定的JSON字符串,封裝格式示例如下:

      將此字符串以POST方式發(fā)送到minigps提供的服務(wù)器地址,即可從服務(wù)器端獲取到一串JSON格式的位置信息,解析出經(jīng)緯度和位置信息。

      受限于基站的密度,CELL-ID的定位精度通常較低。

      3.Wi-Fi定位

      使用Wi-Fi進(jìn)行定位的基本原理和CELL-ID定位相似。Google曾提供免費(fèi)的Geolocation API幫助用戶定位用戶所在附近的無線網(wǎng)絡(luò)熱點(diǎn)的位置,主要原理是借助手機(jī)無線網(wǎng)絡(luò)偵測當(dāng)前手機(jī)附近所有無線網(wǎng)絡(luò)熱點(diǎn)的MAC地址[7],通過第三方開放數(shù)據(jù)庫里面的MAC地址的坐標(biāo)獲取到當(dāng)前用戶所處環(huán)境的近似位置信息。由于Wi-Fi熱點(diǎn)的布設(shè)密度通常遠(yuǎn)大于蜂窩基站,因此定位精度優(yōu)于CELL-ID方法。

      Android系統(tǒng)提供了獲取當(dāng)前Wi-Fi信息的API。在Wi-Fi連接正常的情況下,借助于WifiManager[8],可以獲取到當(dāng)前Wi-Fi的基本信息。遺憾的是,Google的Geolocation API已經(jīng)停止提供該項(xiàng)服務(wù)。Wi-Fi定位因?yàn)闆]能找到合適的第三方無線網(wǎng)絡(luò)熱點(diǎn)的MAC地址數(shù)據(jù)庫,沒能測試成功。

      4.混合定位

      在不同的環(huán)境中,不同定位技術(shù)獲取位置的精度是不同的,因此企圖依賴于某一種技術(shù)解決定位的想法并不可行。正確的做法是針對(duì)用戶所處網(wǎng)絡(luò)、環(huán)境和使用設(shè)備的不同,結(jié)合各定位技術(shù)的特點(diǎn),選擇最優(yōu)的一個(gè)或多個(gè)定位技術(shù)?;旌隙ㄎ挥谑菓?yīng)運(yùn)而生。在市郊,可以使用GPS接收機(jī)提供位置信息實(shí)現(xiàn)高精度定位,并且通過網(wǎng)絡(luò)補(bǔ)充信息來縮短定位時(shí)間,進(jìn)一步提高定位精度;在市內(nèi),通過GPS、CELL-ID和Wi-Fi混合定位[9]的方式對(duì)較復(fù)雜的環(huán)境比如高樓密集區(qū)域或室內(nèi)環(huán)境的智能終端進(jìn)行精確的定位。表1總結(jié)了幾種不同定位技術(shù)的優(yōu)缺點(diǎn)。

      通過表1可以看出混合定位的適用面最廣泛,無論在繁華的城市,還是偏僻的農(nóng)村、人煙稀少的郊區(qū),都具備較高的定位精度。和單一的使用某種定位技術(shù)相比較,混合定位技術(shù)盡管實(shí)現(xiàn)起來較為復(fù)雜,但是具有更高的性價(jià)比。

      三、定位API及其選擇

      當(dāng)前定位技術(shù)日益趨向于API化,省去了開發(fā)人員在研究定位技術(shù)上耗時(shí)。利用開放的定位API,僅需要將應(yīng)用程序的必要信息封裝起來通過指定的網(wǎng)絡(luò)協(xié)議傳輸?shù)降谌教峁┑姆?wù)器,就可以實(shí)時(shí)獲取服務(wù)器反饋給用戶設(shè)備所處位置信息的響應(yīng)。目前主流的定位API有以下三種。

      1.Google API

      為幫助全世界開發(fā)人員輕松打造位置感知應(yīng)用,Google提供了位置API,采用智能化管理的基本定位技術(shù),根據(jù)用戶的需求提供最佳地點(diǎn)。開發(fā)人員在使用該API的過程中,可以根據(jù)需要設(shè)置“精度”“功耗”等參數(shù),還可以快速訪問到最新、最近的位置,同時(shí)降低電源消耗;還可以檢查用戶當(dāng)前活動(dòng),并根據(jù)這些活動(dòng)有效地使用電源。

      2.高德API

      高德公司為Android平臺(tái)提供與LBS服務(wù)相關(guān)的接口,定位SDK采用多種定位技術(shù)協(xié)作的方式(包括GPS、Wi-Fi、基站等),會(huì)根據(jù)設(shè)備當(dāng)前所處的實(shí)際情況,選擇最佳的定位方案。

      3.百度API

      幾年前,百度公司推出地圖API,并且免費(fèi)提供給用戶使用。幾年來逐步提供面向網(wǎng)頁地圖應(yīng)用的JavaScript開源庫、JavaScript API和Flash API,以及面向手機(jī)地圖應(yīng)用提供的定位SDK。除此之外,還包括靜態(tài)圖API和車聯(lián)GPS/AGPS定位實(shí)現(xiàn)。

      Google是最早涉足定位技術(shù)領(lǐng)域的,其定位準(zhǔn)確度不容質(zhì)疑。但是,繼2011年關(guān)閉了Google Gears接口,2012年又關(guān)閉了Wi-Fi信息數(shù)據(jù)庫的訪問接口,人們再無法免費(fèi)享受到Google的定位API的服務(wù)。百度和高德的定位API在定位準(zhǔn)確度、定位時(shí)間上沒有太大差距,因此筆者對(duì)兩者的性能進(jìn)行了測試。

      實(shí)驗(yàn)時(shí),在某品牌某型號(hào)手機(jī)上對(duì)高德定位API進(jìn)行測試。在GPRS和Wi-Fi網(wǎng)絡(luò)同時(shí)關(guān)閉(GPS設(shè)備可用)時(shí),高德API無法獲取經(jīng)緯度信息。百度定位API未發(fā)現(xiàn)該問題。

      為了方便LBS開發(fā)者,百度LBS開放平臺(tái)提供LBS云服務(wù),服務(wù)端的數(shù)據(jù)計(jì)算和存儲(chǔ)能力已開放,通過現(xiàn)有API和SDK服務(wù),提供海量位置數(shù)據(jù)的存儲(chǔ)和檢索服務(wù)。

      從性能、可控性方面考慮,最終選擇百度的定位API作為在Android平臺(tái)上校園定位技術(shù)的解決方案。

      四、實(shí)例驗(yàn)證

      本節(jié)首先介紹百度API的使用方法,隨后以校園移動(dòng)即時(shí)通信系統(tǒng)Android客戶端為實(shí)例,驗(yàn)證利用百度定位API實(shí)現(xiàn)校園定位的可行性、合理性和服務(wù)效率。

      1.百度API的使用方法

      百度定位需要注冊并申請API Key,開發(fā)人員可以根據(jù)實(shí)際需求,選擇合適的定位優(yōu)先級(jí)。Android 移動(dòng)終端可在LBS 云端計(jì)算和檢索符合要求的位置信息,并且把適合的位置信息保存。具體實(shí)現(xiàn)過程如下:

      通過定位SDK的核心LocationClient類設(shè)置API Key,即setAK()方法。

      設(shè)置LocationClient參數(shù),方便根據(jù)具體的問題選擇不同的定位方案。在項(xiàng)目中,通過BaiduLocationParamsConfig類提供的靜態(tài)setLocationOption()方法,設(shè)置LocationClient的配置信息,如位置信息更新頻率、定位方式優(yōu)先級(jí)(一般選網(wǎng)絡(luò)有限)、定位服務(wù)的版本等。

      LocationClient提供了start()方法來開啟定位。隨后注冊位置的監(jiān)聽(即BDLocationListener),即可獲取到最新的位置信息。BDLocationListener接口中提供了onReceiveLocation()方法,參數(shù)BDLocation即為位置信息。BDLocation中提供了對(duì)位置信息包括經(jīng)、緯度、詳細(xì)地址信息等的get、set方法。

      locationListener變量實(shí)現(xiàn)了BDLocationListener,負(fù)責(zé)在新的位置信息達(dá)到后進(jìn)行處理,把最新的位置信息存于BDLocation中。

      LocationClient的getLastKnownLocation()方法,用來獲取最近一次成功的位置信息,用于在定位成功后獲取位置信息。

      2.即時(shí)通信客戶端驗(yàn)證

      下面在西安交通大學(xué)即時(shí)消息通信Android客戶端上,驗(yàn)證應(yīng)用百度定位API實(shí)現(xiàn)校園定位的正確性、可行性。

      首先Android 移動(dòng)終端定時(shí)通過百度LBS 云端計(jì)算和檢索所有用戶的位置信息(經(jīng)、緯度信息)和定位時(shí)間戳,并將位置信息保存在數(shù)據(jù)庫中。用戶位置信息表如表2所示。

      在軟件的“搖一搖”模塊中,設(shè)計(jì)了“附近好友”的功能,用戶搖晃手機(jī),客戶端執(zhí)行定位功能,通過對(duì)設(shè)備定位,將獲取到的經(jīng)度和緯度信息封裝進(jìn)IQ包,以XML流形式發(fā)送到服務(wù)器端。服務(wù)器端會(huì)根據(jù)解析到的經(jīng)度和緯度信息,采用百度LBS的云存儲(chǔ)數(shù)據(jù)周邊檢索功能,以一點(diǎn)為中心(中心點(diǎn)通過經(jīng)緯度參數(shù)指定),搜索中心點(diǎn)附近指定距離范圍內(nèi)的POI點(diǎn)。與數(shù)據(jù)庫中已存儲(chǔ)的所有用戶的位置信息進(jìn)行比較,搜索出一系列附近好友?!皳u一搖”查找附近好友功流程圖如圖1。

      服務(wù)器端客戶端搜索到的用戶位置信息為Ls(lso,lsa)(其中,lso表示請求用戶的經(jīng)度信息,lsa表示請求用戶的緯度信息),如果從百度LBS云存儲(chǔ)中檢索到的周邊某些用戶的位置信息為Lp(lpo,lpa)(其中,lpo表示用戶的經(jīng)度信息,lpa表示用戶的緯度信息),如果滿足lpo和lpa分別在lso和lsa的200米以內(nèi)(200米約為0.02度左右)[10],將該用戶的JID信息添加到結(jié)果列表。在這些附近用戶列表中隨即選取一個(gè)用戶,將該用戶的基本信息封裝起來,作為響應(yīng)的IQ包,在IQHandler類中作為客戶端請求的響應(yīng)[11],返回給客戶端,功能UI界面如圖2。

      經(jīng)過測試,通過百度定位API在校園即時(shí)通信Android客戶端實(shí)現(xiàn)的查找附近好友功能,響應(yīng)時(shí)間不超過0.5秒。使用Monkey對(duì)該功能進(jìn)行10000次的壓力測試,系統(tǒng)未接收到任何崩潰或失控的異常,結(jié)果如圖3所示,“Events injected:10000”后所提示。

      上述實(shí)例研究說明, 本文提出的基于云計(jì)算的百度定位API的校園定位解決方案在Android平臺(tái)上具有良好的可行性。在無線網(wǎng)絡(luò)環(huán)境驗(yàn)證中,獲取地理位置信息的秒級(jí)反應(yīng)速度符合移動(dòng)端軟件界面的交互需求, 運(yùn)行效率符合實(shí)際需求。

      五、結(jié)束語

      隨著數(shù)字校園的不斷發(fā)展,業(yè)務(wù)系統(tǒng)移動(dòng)化已經(jīng)成為一種趨勢。針對(duì)當(dāng)前移動(dòng)終端系統(tǒng)與LBS服務(wù)相隔絕的問題,本文提出一套基于云計(jì)算的Android平臺(tái)的校園定位功能實(shí)現(xiàn)技術(shù)方案,以實(shí)現(xiàn)校內(nèi)移動(dòng)業(yè)務(wù)與LBS的集成應(yīng)用,為師生提供更為智能靈活和便捷的服務(wù)。本文以校園即時(shí)消息通信Android客戶端展開實(shí)例驗(yàn)證,實(shí)驗(yàn)結(jié)果證明該技術(shù)方案是合理的、可行的和正確的。此方案還可以與移動(dòng)迎新、教務(wù)考勤、校園訂餐、校車調(diào)度等多種移動(dòng)業(yè)務(wù)結(jié)合。在移動(dòng)迎新中通過獲取新生位置和校園地圖,為學(xué)生指引各步驟需要辦理的具體地點(diǎn)和路線;教務(wù)考勤可通過精確獲取學(xué)生位置信息,從地理維度提升考勤精確度;校園訂餐可直接提取訂餐人員位置和校園地圖,獲取送餐地點(diǎn)和路線;校車調(diào)度可通過定位技術(shù)實(shí)時(shí)獲取校車位置,判斷校車到達(dá)某一站點(diǎn)的時(shí)間,為師生提供合理的乘車方案。如何讓基于云計(jì)算的LBS的校園定位技術(shù)與有相關(guān)需求的校園移動(dòng)應(yīng)用相結(jié)合,為移動(dòng)用戶提供更好的用戶體驗(yàn),將是我們下一步的研究方向。

      參考文獻(xiàn):

      [1]張瑞潔,田原,劉思葉,等.即時(shí)通信文本中地理信息提取——以微信為例[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,52(6):985-989.

      [2]Akbar Siddieq,Ida Nurhaida.Mobile application of BTS tower search build upon location based service (LBS)[J].Library Hi Tech News,2019,36(3):1-6.

      [3]付宇,王紅.位置隱私保護(hù)的虛擬軌跡填充算法[J].計(jì)算機(jī)應(yīng)用,2019,39(8):2318-2325.

      [4]胡德敏,鄭霞.基于連續(xù)查詢的用戶軌跡k-匿名隱私保護(hù)算法[J].計(jì)算機(jī)應(yīng)用研究,2017,34(11):3421-3423+3427.

      [5]QUALCOMM Incorporated. Patent Issued for Location Based Service (LBS) System, Method And Apparatus For Triggering Of Mobile Station LBS Applications (USPTO 10,237,697)[J].Computers, Networks & Communications,2019.

      [6]劉海,李興華,雒彬,等.基于區(qū)塊鏈的分布式K匿名位置隱私保護(hù)方案[J].計(jì)算機(jī)學(xué)報(bào),2019,42(5):942-960.

      [7]Xiaowen Gong,Xu Chen,Kai Xing,et al. From Social Group Utility Maximization to Personalized Location Privacy in Mobile Networks[J].IEEE/ACM Transactions on Networking (TON),2017,25(3):1703-1716.

      [8]張經(jīng)緯.基于時(shí)空相關(guān)的移動(dòng)對(duì)象位置匿名方法研究[D].哈爾濱:哈爾濱工程大學(xué),2014.

      [9]周傲英,楊彬,金澈清,等.基于位置的服務(wù):架構(gòu)與進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2011,34(7):1155-1171.

      [10]柯昌博,吳嘉余,曹彥.面向云計(jì)算應(yīng)用層演化的隱私保護(hù)方法研究[J/OL].計(jì)算機(jī)工程與應(yīng)用:1-9.http://kns.cnki.net/kcms/detail/11.2127.TP.20190705.1637.030.html.

      [11]李亞紅,趙冬玲.半結(jié)構(gòu)化數(shù)據(jù)的形式化描述及數(shù)據(jù)抽取方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(4):145-148.(編輯:魯利瑞)

      猜你喜歡
      云計(jì)算
      志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
      云計(jì)算與虛擬化
      基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
      實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
      云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
      内黄县| 鸡东县| 内黄县| 新巴尔虎右旗| 都昌县| 金湖县| 方城县| 鄯善县| 顺平县| 张家口市| 东光县| 顺平县| 木兰县| 大渡口区| 三原县| 武陟县| 鄯善县| 泰和县| 水富县| 长沙县| 库尔勒市| 包头市| 开江县| 青铜峡市| 内江市| 兴海县| 乌鲁木齐县| 阿坝| 施甸县| 乌鲁木齐县| 如皋市| 常宁市| 阜平县| 五台县| 四平市| 达日县| 昭通市| 灵丘县| 修武县| 武强县| 内黄县|