System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及電子技術應用領域,尤其涉及一種海量實時數據加載方式的地圖應用系統和方法。
技術介紹
1、現代web-gis(web?geographic?information?system)/移動gis(geographicinformation?system)的地圖應用在處理海量業務數據渲染時,開發者通常采用的是向后端請求所有數據,然后再把所有數據集中于gis地圖引擎中進行渲染和展示。
2、該缺陷在于,當數據量小<=10w的時候,客戶端發起數據請求到服務端響應,服務端返回數據到客戶端,客戶端再從服務端返回的數據中解析出業務數據,最后通知gis引擎在圖層中渲染點位數據,整條流程的響應速度因為數據量小,客戶a從客戶端發起http請求到服務端響應再到前端的gis地圖引擎上解析展示點位數據,響應時間短,整體渲染流程速度能夠滿足用戶需求。
3、但是當數據變化時,比如需要渲染1000w或更高數量級的數據,客戶端請求數據時,服務端需要讀取數據,再通過http鏈路返回數據給客戶端,整條鏈路花費的時間將非常。所以當數據成倍的增加時,現有技術的純客戶端請求數據,后渲染方案就會出現如下問題:
4、1.客戶端請求1000w或更高數量級的數據導致整個流程響應時長更長:
5、傳統的方式是客戶端首先發起業務請求,攜帶請求參數向服務端獲取所有業務點位數據,數據量小的時候,比方說只有10w個船只,這些數據經過服務端壓縮,gzip傳輸壓縮,到達客戶端時已經壓縮到了3m左右,整條網絡傳輸鏈路占用率低響應快,并且
6、但是當查詢1000w的船只的數據,換算下來有300m的數據,這意味著如果還是按照傳統的傳輸方式,用戶a進入網頁,想要查看全世界的船只,用戶a將需要等待好幾分鐘的時間。
7、2.地圖引擎處理壓力大:
8、300m的數據,1000w的點位,在地圖上密密麻麻的遍歷,高端的pc和移動設備可能可以,但是中低端的設備一定不行。
9、3.數據實時性差:
10、基于第二個問題,數據量的過大導致傳輸時間特別長,造成的現象就是上一個時間段的數據客戶端地圖都還沒獲取到數據,下一時間段的數據就已經開始請求了,數據的實效性非常差。
11、針對由于現有技術中無法滿足1000w或更高數量級的數據處理需求,導致數據處理流程響應時間長、地圖引擎處理壓力大和實時性差的問題,目前尚未提出有效的解決方案。
技術實現思路
1、為解決上述技術問題,本專利技術實施例期望提供一種海量實時數據加載方式的地圖應用系統和方法,以至少解決由于現有技術中無法滿足1000w或更高數量級的數據處理需求,導致數據處理流程響應時間長、地圖引擎處理壓力大和實時性差的問題。
2、本專利技術的技術方案是這樣實現的:
3、本專利技術實施例提供一種海量實時數據加載方式的地圖應用系統,包括:客戶端和服務端,其中,服務端,用于將大于閾值的數據存儲至預設存儲器中,并對數據依據經緯度切割成二維數組區域;客戶端,用于檢測地圖縮放層級是否大于預設層級,在檢測結果為否的情況下,顯示指定點位;在檢測結果為是的情況下,向服務端發送第一數據請求,其中,第一數據請求包含請求大于顯示屏幕窗口預設倍數的經緯度的值;服務端,還用于依據第一數據請求獲取二維數組區域中對應的區域數據,并將區域數據返回客戶端;客戶端,還用于接收服務端返回的區域數據,依據拖動或縮放操作檢測當前顯示范圍是否超過區域數據的范圍;若當前顯示范圍未超過區域數據的范圍,則依據拖動或縮放操作進行數據處理;若當前顯示范圍超過區域數據的范圍,則向服務端發送第二數據請求,以使得服務端依據第二數據請求獲取二維數組區域中對應的區域數據,并將對應第二數據請求的區域數據返回客戶端。
4、可選的,服務端,還用于當發生數據更新時,依據更新的數據進行計算,確定更新的數據位于二維數組區域的位置,并依據位置將更新的數據添加至二維數組區域。
5、本專利技術實施例提供一種海量實時數據加載方式的地圖優化方法,包括:將大于閾值的數據存儲至預設存儲器中,并對數據依據經緯度切割成二維數組區域;接收客戶端發送的第一數據請求;依據第一數據請求獲取二維數組區域中對應的區域數據;將區域數據返回客戶端;當客戶端依據拖動或縮放操作檢測當前顯示范圍超過區域數據的范圍時,接收客戶端發送的第二數據請求;依據第二數據請求獲取二維數組區域中對應的區域數據,并將對應第二數據請求的區域數據返回客戶端。
6、可選的,該方法還包括:當發生數據更新時,依據更新的數據進行計算,確定更新的數據位于二維數組區域的位置,并依據位置將更新的數據添加至二維數組區域。
7、本專利技術實施例提供一種海量實時數據加載方式的地圖優化方法,包括:檢測地圖縮放層級是否大于預設層級;在檢測結果為否的情況下,顯示指定點位;在檢測結果為是的情況下,向服務端發送第一數據請求,其中,第一數據請求包含請求大于顯示屏幕窗口預設倍數的經緯度的值;接收服務端返回的區域數據;依據拖動或縮放操作檢測當前顯示范圍是否超過區域數據的范圍;若當前顯示范圍未超過區域數據的范圍,則依據拖動或縮放操作進行數據處理;若當前顯示范圍超過區域數據的范圍,則向服務端發送第二數據請求。
8、本專利技術實施例提供了一種海量實時數據加載方式的地圖應用系統和方法,通過服務端,用于將大于閾值的數據存儲至預設存儲器中,并對數據依據經緯度切割成二維數組區域;客戶端,用于檢測地圖縮放層級是否大于預設層級,在檢測結果為否的情況下,顯示指定點位;在檢測結果為是的情況下,向服務端發送第一數據請求,其中,第一數據請求包含請求大于顯示屏幕窗口預設倍數的經緯度的值;服務端,還用于依據第一數據請求獲取二維數組區域中對應的區域數據,并將區域數據返回客戶端;客戶端,還用于接收服務端返回的區域數據,依據拖動或縮放操作檢測當前顯示范圍是否超過區域數據的范圍;若當前顯示范圍未超過區域數據的范圍,則依據拖動或縮放操作進行數據處理;若當前顯示范圍超過區域數據的范圍,則向服務端發送第二數據請求,以使得服務端依據第二數據請求獲取二維數組區域中對應的區域數據,并將對應第二數據請求的區域數據返回客戶端,從而能夠減少網絡數據傳輸,減輕客戶端渲染壓力的技術效果。
本文檔來自技高網...【技術保護點】
1.一種海量實時數據加載方式的地圖應用系統,其特征在于,包括:
2.根據權利要求1所述的海量實時數據加載方式的地圖應用系統,其特征在于,
3.一種海量實時數據加載方式的地圖優化方法,其特征在于,包括:
4.根據權利要求3所述的海量實時數據加載方式的地圖優化方法,其特征在于,所述方法還包括:
5.一種海量實時數據加載方式的地圖優化方法,其特征在于,包括:
【技術特征摘要】
1.一種海量實時數據加載方式的地圖應用系統,其特征在于,包括:
2.根據權利要求1所述的海量實時數據加載方式的地圖應用系統,其特征在于,
3.一種海量實時數據加載方式的地圖優化方...
【專利技術屬性】
技術研發人員:邢益斌,朱偉,石喬木,
申請(專利權)人:杭州靖安防務科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。