文/李明 趙力釗 何劍 秦曉敏
在全國大力推廣綠色出行的大背景下,電動汽車迅速普及。國家積極建設充電樁站等基礎設施。同時,隨著云計算與移動軟件技術的高速發展,國家電網聯合各單位發布充電服務類APP應用,如聚能充、智芯智控等。這類應用只提供充電樁站位置等信息的展示功能,對充電樁可用狀態實時更新支持并不十分完善。
針對目前國內充電服務類應用的現狀,本文提出了一種基于LBS云服務的電動汽車智能充電系統的架構方案,解決移動客戶端大數量充電樁站狀態信息實時同步問題。
此類系統通常由充電樁站、業務服務器和移動端應用三部分組成,而客戶端通常采用以下的方案來實現:
(1)在地圖上加圖標的方式標注出充電樁站的位置;
(2)用不同的圖標區分樁站的最新可用狀態。
在這種系統中,服務器處理大量的樁站可用狀態的查詢請求,此類APP必將面臨以下幾個問題:

圖1:系統結構

表1:緩存時間表

表2:標注聚合計算時間表

圖2:矩形檢索區域

圖3:樁站聚合圖
(1)樁站數量過多時,數據加載及顯示時間過長;
(2)在地圖縮放,地圖上樁站圖標會重疊顯示;
(3)樁站可用狀態改變時,需要實時更新數據量過大。
針對以上問題本文提出了一種基于LBS云技術的充電服務類APP實現的解決方案,將狀態更新請求的處理分離出來讓性能更好的LBS服務器去處理。如圖1所示。
(1)業務服務器是充電業務的管理平臺。提供樁站數據發布、預約、充電控制、計費結算等業務流程的處理。并收集充電樁可用狀態信息及時同步到LBS服務器上。
(2)智能充電樁是為電動汽車提供充電服務的主要裝置。充電樁密集區通常建設成充電站,充電樁通過無線網絡將狀態及充電參數等信息及時上報給業務服務器。
(3)LBS服務器是用來解決基于位置數據的維護和檢索問題。百度LBS云就是提供海量數據的存儲、檢索、展示三大功能的LBS服務器。將樁站可用狀態信息的查詢計算放在LBS服務器上,能夠充分利用業務服務器的計算資源。
(4)移動客戶端為電動汽車用戶提供充電管理的操作接口。用戶通過客戶端可以實時查看周邊的充電樁位置和可用狀態信息、位置導航,預約充電結算等操作功能。
充電樁站建設完成后,充電樁的經緯度位置坐標、電源類型和名稱等基礎信息不會頻繁變更,APP客戶端將這些數據緩存到本地,并在信息有更新的時候保持同步。
為了解決樁站狀態更新問題,本文結合LBS 矩形檢索優化客戶端的實現方案。LBS矩形檢索是指可檢索指定矩形范圍內的POI(Point Of Interest)信息,檢索區域通過范圍參數設定的矩形左下角和右上角的經緯度坐標來確定。百度 LBS 云服務允許開發者為POI擴展自定義字段,本文系統利用這些字段存儲樁站的名稱,可用狀態信息等。
當 APP用戶查找其附近的充電樁站時,用戶關心的是地圖中可見區域內的充電樁站(如圖2),APP 只更新該矩形區域內的樁站狀態信息能夠將更新的數據量減少到最低。APP 端根據最新的狀態數據更新樁站對應的圖標。當用戶進行地圖區域操作時立即更新一次。當用戶停留在某個區域一定時間后,APP 端再利用矩形檢索周期地狀態更新。
如圖3表示,當用戶使用APP客戶端查看地圖上城市級別范圍的可用樁站時,將地理位置重疊的充電樁站聚合到一起,并用數量標注表示該范圍內樁站個數。這樣可以解決樁站過密時引起的顯示重疊問題,當 APP 地圖可視區域內只有聚合標注即沒有單獨的充電樁站時,此時不再向 LBS 云檢索服務器發啟檢索請求。
筆者在iOS平臺,采用百度地圖LBS云API,模擬1k、4k和10k個樁站數據并進行對比分析。統計緩存、聚合和狀態更新等性能參數。
初始化緩存時如表1所示。
APP首次啟動時,樁站基礎數據從業務服務器下載,耗時較長。APP再次啟動時從本地緩存直接讀取,加載數據快。根據地圖比例尺的大小不同,百度地圖分為20(3-22)個不同的縮放級別,如20~20為街道級、14為縣區級、6為市區級、3~5為洲域級,級別數值越小可視區域加載的地域范圍越大,顯示的樁站點數就越多,對應不同的縮放級別,計算聚合的時間對比如表2。
隨著樁站點數的增加,樁站狀態更新的處理時間也會增加,當地圖縮放到較廣的地域級別(如14級)時,重疊樁站標注聚合點較多,在這個級別下不再更新樁站可用狀態。當在這個縮放級別之上時,即非聚合點較多時,應用 LBS 矩形檢索檢測可見區域內獨立樁站可用狀態信息。這樣就最大程度上保證了用戶關心區域內的樁站可用狀態的及時性,且做到了請求數據量最少。
采用專用的 LBS 云服務器處理充電樁站可用狀態更新請求,并結合樁站基礎數據緩存、標注聚合方案提供用戶使用體驗并減少狀態更新的請求量。
應用LBS云檢索技術實現的電動汽車充電類APP可以高效地處理充電樁站可用狀態及時更新等需求,給充電用戶較好的使用體驗。