[發明專利]一種基于分布式計算的地圖聚合車輛刷新方法在審
| 申請號: | 201210530535.0 | 申請日: | 2012-12-11 |
| 公開(公告)號: | CN103139287A | 公開(公告)日: | 2013-06-05 |
| 發明(設計)人: | 張嶼;余建成;傅建記;曲建云 | 申請(專利權)人: | 廈門雅迅網絡股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30;H04W4/02;H04W4/40 |
| 代理公司: | 廈門市新華專利商標代理有限公司 35203 | 代理人: | 朱凌 |
| 地址: | 361009 福建*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 分布式 計算 地圖 聚合 車輛 刷新 方法 | ||
1.一種基于分布式計算的地圖聚合車輛刷新方法,其特征在于:包括兩大部分,以下第一部分與第二部分無先后順序;
第一部分:服務器端接受并解析GPS數據,具體包括如下步驟:
步驟1.1:GPS服務器通過Internet接受從車載終端發送來的實時GPS數據,并進行簡單的解析,轉換為系統內部的二進制數據格式;
步驟1.2:GPS服務器每隔一段時間,將收到解析過的若干個GPS數據組成一個大的數據包,通過局域網或者專用網將該數據包發送給GPS計算集群的主服務器;
步驟1.3:GPS計算集群的主服務器先將大數據包拆分為多個單獨的GPS數據包,然后根據各工作站的當前負載進行調度,將GPS數據包分配給各個工作站進行數據處理;
步驟1.4:工作站處理GPS數據包,保存GPS數據到數據庫中,并對GPS數據進行經緯度計算的處理,然后將處理后的數據返回給GPS計算集群的主服務器;
步驟1.5:GPS計算集群的主服務器將步驟1.4中返回的GPS數據緩存到分布式緩存中的一個字典數據結構中,該字典數據結構的鍵是車輛的標識符,該鍵的值就是一個內存結構與步驟1.4返回的GPS數據一樣的一個結構體,用于保存工作站處理返回的GPS數據,對應每個車輛標識符,字典數據結構中只保存一個對應的GPS時間最新的GPS數據,如果要保存的GPS數據的GPS時間比當前已保存的數據的GPS時間還要早的話,則放棄此次保存;
第二部分:客戶端地圖聚合,具體包括如下步驟:
步驟2.1:用戶啟動客戶端軟件,加載電子地圖,并向GPS計算集群主服務器請求獲取所有車輛的GPS數據,并發送當前地圖范圍的經緯度坐標及視野大小給GPS計算集群主服務器,請求進行地圖聚合的統計計算;
步驟2.2:GPS計算集群主服務器收到GPS數據及地圖聚合統計請求,首先將所有車輛按車輛標識符排序,分為幾個小的車輛列表,并給每個列表編號,排序后的結果放在分布式緩存內;然后將各工作站要處理的車輛列表序號,請求聚合的地圖范圍的經緯度坐標,發送給各個工作站,分配各個工作站進行每個車輛列表的具體的地圖聚合統計;
步驟2.3:工作站根據收到的請求聚合的地圖范圍的經緯度坐標,將這部分地圖再分割為N行 N列的 N*N個矩形格子,并計算出每個格子的長和寬,同時創建一個字典數據結構來存儲統計結果,字典的鍵是格子的行和列,對應的值是一個對象,這個對象有兩個成員變量,第一個成員變量是一個車輛總數計數器,用來存放該鍵對應的格子內車輛的總數 ;第二個成員變量是一個List 對象,里面保存著該格子內的車輛標識符;然后工作站根據收到的自己要處理的車輛列表序號,從分布式緩存中獲取待處理車輛列表的GPS數據,并循環遍歷這個車輛GPS數據的List;
步驟2.4:工作站在步驟2.3中所述的循環內部,使用地圖引擎提供的接口,首先根據每輛車當前的經緯度判斷該車輛是否在請求的地圖范圍,如果否,則跳到下一輛車,重新開始本步驟;如果是,則判斷該車輛所在的格子,算法是:
列=(GPS數據的經度-地圖范圍左上角的經度)/格子寬度 ,如果列不為整數,則列=取整(列)+1;
行= (地圖范圍左上角的緯度-GPS數據的緯度)/格子長度 ,如果行不為整數,則行=取整(行)+1;
判斷之后,根據得到的【行,列】,從所述字典數據結構中找到此鍵對應的存儲統計對象,將對應格子的車輛總數計數器加1;同時將此車輛的標識符加入到保存車輛標識符的List中;
步驟2.5:所有車輛GPS數據循環處理完成后,工作站將存儲統計結果的字典進行二進制序列化后返回給GPS計算集群主服務器;
步驟2.6:GPS計算集群主服務器收到步驟2.5中各個工作站返回的統計結果,當確認所有分配了此次任務的工作站都返回結果后,GPS計算集群主服務器對所有的統計結果進行匯總:將各個統計結果中,有相同【行,列】對應的車輛總數計數器相加,得到步驟2.3中所述的地圖分區格子內的車輛總數;
步驟2.7:GPS計算集群主服務器需要同時向客戶端返回一個List結構的數據,該List的每個元素存儲著一個步驟2.3中所述的的地圖分區格子內的統計數據對象,該統計數據對象內有以下的成員變量:
步驟2.3中所述的地圖各個格子區域內的車輛總數;
步驟2.3中所述的地圖各個格子區域的中心點經緯度坐標;
如果某格子內的車輛總數小于某個閥值,則應包含該格子內的所有車輛標識符列表數據結構;如果車輛總數大于該閥值,則不需要包含該格子內的車輛標識符列表數據結構;
步驟2.8:客戶端收到計算集群主服務器返回的統計結果List結構的數據,循環遍歷該List,對每個步驟2.3中所述的地圖分區格子的統計結果,判斷是否存在著該區域的車輛標識列表,如果不存在,則使用步驟2.7中所述的格子區域的中心點經緯度坐標,在地圖上繪制車輛聚合的標識圖標,并在該圖標下顯示該區域的車輛數;如果統計結果中存在該區域的車輛標識列表,則根據這些車輛標識,從分布式緩存中獲取這些車輛的最新GPS數據,并在地圖上顯示這些車輛的圖標;
步驟2.9:客戶端定時向GPS計算集群主服務器發送地圖聚合統計請求,每次在刷新地圖前,先將原來的車輛圖標全部清除。
2.如權利要求1所述的一種基于分布式計算的地圖聚合車輛刷新方法,其特征在于:所述步驟1.5中的車輛標識符是車牌號,或車載手機號,或數據庫生成的唯一ID。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廈門雅迅網絡股份有限公司,未經廈門雅迅網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210530535.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種將鋁或鋁合金表面進行耐腐蝕處理的方法
- 下一篇:一種新型優化地板





