文/李明 趙力釗 何劍 秦曉敏
在全國大力推廣綠色出行的大背景下,電動汽車迅速普及。國家積極建設(shè)充電樁站等基礎(chǔ)設(shè)施。同時,隨著云計算與移動軟件技術(shù)的高速發(fā)展,國家電網(wǎng)聯(lián)合各單位發(fā)布充電服務(wù)類APP應(yīng)用,如聚能充、智芯智控等。這類應(yīng)用只提供充電樁站位置等信息的展示功能,對充電樁可用狀態(tài)實時更新支持并不十分完善。
針對目前國內(nèi)充電服務(wù)類應(yīng)用的現(xiàn)狀,本文提出了一種基于LBS云服務(wù)的電動汽車智能充電系統(tǒng)的架構(gòu)方案,解決移動客戶端大數(shù)量充電樁站狀態(tài)信息實時同步問題。
此類系統(tǒng)通常由充電樁站、業(yè)務(wù)服務(wù)器和移動端應(yīng)用三部分組成,而客戶端通常采用以下的方案來實現(xiàn):
(1)在地圖上加圖標的方式標注出充電樁站的位置;
(2)用不同的圖標區(qū)分樁站的最新可用狀態(tài)。
在這種系統(tǒng)中,服務(wù)器處理大量的樁站可用狀態(tài)的查詢請求,此類APP必將面臨以下幾個問題:
圖1:系統(tǒng)結(jié)構(gòu)
表1:緩存時間表
表2:標注聚合計算時間表
圖2:矩形檢索區(qū)域
圖3:樁站聚合圖
(1)樁站數(shù)量過多時,數(shù)據(jù)加載及顯示時間過長;
(2)在地圖縮放,地圖上樁站圖標會重疊顯示;
(3)樁站可用狀態(tài)改變時,需要實時更新數(shù)據(jù)量過大。
針對以上問題本文提出了一種基于LBS云技術(shù)的充電服務(wù)類APP實現(xiàn)的解決方案,將狀態(tài)更新請求的處理分離出來讓性能更好的LBS服務(wù)器去處理。如圖1所示。
(1)業(yè)務(wù)服務(wù)器是充電業(yè)務(wù)的管理平臺。提供樁站數(shù)據(jù)發(fā)布、預(yù)約、充電控制、計費結(jié)算等業(yè)務(wù)流程的處理。并收集充電樁可用狀態(tài)信息及時同步到LBS服務(wù)器上。
(2)智能充電樁是為電動汽車提供充電服務(wù)的主要裝置。充電樁密集區(qū)通常建設(shè)成充電站,充電樁通過無線網(wǎng)絡(luò)將狀態(tài)及充電參數(shù)等信息及時上報給業(yè)務(wù)服務(wù)器。
(3)LBS服務(wù)器是用來解決基于位置數(shù)據(jù)的維護和檢索問題。百度LBS云就是提供海量數(shù)據(jù)的存儲、檢索、展示三大功能的LBS服務(wù)器。將樁站可用狀態(tài)信息的查詢計算放在LBS服務(wù)器上,能夠充分利用業(yè)務(wù)服務(wù)器的計算資源。
(4)移動客戶端為電動汽車用戶提供充電管理的操作接口。用戶通過客戶端可以實時查看周邊的充電樁位置和可用狀態(tài)信息、位置導(dǎo)航,預(yù)約充電結(jié)算等操作功能。
充電樁站建設(shè)完成后,充電樁的經(jīng)緯度位置坐標、電源類型和名稱等基礎(chǔ)信息不會頻繁變更,APP客戶端將這些數(shù)據(jù)緩存到本地,并在信息有更新的時候保持同步。
為了解決樁站狀態(tài)更新問題,本文結(jié)合LBS 矩形檢索優(yōu)化客戶端的實現(xiàn)方案。LBS矩形檢索是指可檢索指定矩形范圍內(nèi)的POI(Point Of Interest)信息,檢索區(qū)域通過范圍參數(shù)設(shè)定的矩形左下角和右上角的經(jīng)緯度坐標來確定。百度 LBS 云服務(wù)允許開發(fā)者為POI擴展自定義字段,本文系統(tǒng)利用這些字段存儲樁站的名稱,可用狀態(tài)信息等。
當(dāng) APP用戶查找其附近的充電樁站時,用戶關(guān)心的是地圖中可見區(qū)域內(nèi)的充電樁站(如圖2),APP 只更新該矩形區(qū)域內(nèi)的樁站狀態(tài)信息能夠?qū)⒏碌臄?shù)據(jù)量減少到最低。APP 端根據(jù)最新的狀態(tài)數(shù)據(jù)更新樁站對應(yīng)的圖標。當(dāng)用戶進行地圖區(qū)域操作時立即更新一次。當(dāng)用戶停留在某個區(qū)域一定時間后,APP 端再利用矩形檢索周期地狀態(tài)更新。
如圖3表示,當(dāng)用戶使用APP客戶端查看地圖上城市級別范圍的可用樁站時,將地理位置重疊的充電樁站聚合到一起,并用數(shù)量標注表示該范圍內(nèi)樁站個數(shù)。這樣可以解決樁站過密時引起的顯示重疊問題,當(dāng) APP 地圖可視區(qū)域內(nèi)只有聚合標注即沒有單獨的充電樁站時,此時不再向 LBS 云檢索服務(wù)器發(fā)啟檢索請求。
筆者在iOS平臺,采用百度地圖LBS云API,模擬1k、4k和10k個樁站數(shù)據(jù)并進行對比分析。統(tǒng)計緩存、聚合和狀態(tài)更新等性能參數(shù)。
初始化緩存時如表1所示。
APP首次啟動時,樁站基礎(chǔ)數(shù)據(jù)從業(yè)務(wù)服務(wù)器下載,耗時較長。APP再次啟動時從本地緩存直接讀取,加載數(shù)據(jù)快。根據(jù)地圖比例尺的大小不同,百度地圖分為20(3-22)個不同的縮放級別,如20~20為街道級、14為縣區(qū)級、6為市區(qū)級、3~5為洲域級,級別數(shù)值越小可視區(qū)域加載的地域范圍越大,顯示的樁站點數(shù)就越多,對應(yīng)不同的縮放級別,計算聚合的時間對比如表2。
隨著樁站點數(shù)的增加,樁站狀態(tài)更新的處理時間也會增加,當(dāng)?shù)貓D縮放到較廣的地域級別(如14級)時,重疊樁站標注聚合點較多,在這個級別下不再更新樁站可用狀態(tài)。當(dāng)在這個縮放級別之上時,即非聚合點較多時,應(yīng)用 LBS 矩形檢索檢測可見區(qū)域內(nèi)獨立樁站可用狀態(tài)信息。這樣就最大程度上保證了用戶關(guān)心區(qū)域內(nèi)的樁站可用狀態(tài)的及時性,且做到了請求數(shù)據(jù)量最少。
采用專用的 LBS 云服務(wù)器處理充電樁站可用狀態(tài)更新請求,并結(jié)合樁站基礎(chǔ)數(shù)據(jù)緩存、標注聚合方案提供用戶使用體驗并減少狀態(tài)更新的請求量。
應(yīng)用LBS云檢索技術(shù)實現(xiàn)的電動汽車充電類APP可以高效地處理充電樁站可用狀態(tài)及時更新等需求,給充電用戶較好的使用體驗。