曹建明,程朋根,王海江,顧有兵
(1.東華理工大學測繪工程學院,江西撫州34400;2.寧波市測繪設計研究院,浙江寧波315042;3.蚌埠市勘測設計研究院,安徽蚌埠233000)
一種基于非典型P2P技術的地圖緩存更新方法
曹建明1,程朋根1,王海江2,顧有兵3
(1.東華理工大學測繪工程學院,江西撫州34400;2.寧波市測繪設計研究院,浙江寧波315042;3.蚌埠市勘測設計研究院,安徽蚌埠233000)
在對地圖緩存技術研究的基礎上,分析地圖緩存更新存在的瓶頸問題,提出基于非典型P2P技術實現對大比例尺級別的地圖緩存進行更新,試驗證明該方法可大大縮短地圖緩存更新的時間,并且解決地圖更新的優先級問題。
地理信息系統;地圖緩存;對等計算
隨著互聯網的迅猛發展,基于互聯網的地理信息系統(WebGIS)應用正變得越來越廣泛。將原來各孤立的站點之間的信息相互通信和共享,可實現大量異構程序和平臺之間的互操作,從而使存在的GIS應用程序能夠被用戶廣泛地訪問,于是產生了Web Services。但隨之出現了新的問題,由于基于網絡開發和應用,Web Services使用的標準有HTTP、XML、SOAP和WSDL等,它們之間的兼容和通信復雜,GIS功能要求越來越多,導致網絡GIS的處理能力下降,地圖顯示速度很慢[1]。傳統的WebGIS生成地圖的運算一般都是在運行時動態實現,用戶每作一次縮放或漫游操作,服務器端都會動態生成整幅地圖影像并傳輸到客戶端,這將消耗大量的服務器資源,并且響應速度緩慢[2]。WebGIS成功的關鍵在于用戶體驗,而用戶體驗的直接表現就是響應速度。如何在現有的網絡帶寬條件下,通過技術手段,提高響應速度,成為WebGIS發展中必須解決的一個關鍵問題。本文研究基于非典型端對端技術(peer-to-peer,P2P)高效率地實現海量地圖緩存的更新,進而確保地圖的現勢性,通過地圖緩存的更新,提高響應速度,改善用戶體驗。
1.地圖緩存
地圖緩存是一項典型的提高用戶體驗的技術。在這之前的WebGIS中,往往是客戶機或瀏覽器向服務器發送一個地圖請求,服務器從數據庫中實時檢索信息,再返回給客戶機或瀏覽器進行地圖顯示。在這個過程中,如果使用的人數增多,服務器負載壓力就會增大,速度相應變慢,甚至會造成服務中斷。針對這個問題,出現了地圖緩存技術。地圖緩存技術是事先按照不同比例尺、固定尺寸把地圖數據進行切片后存儲在服務器硬盤上,以空間換取時間,從而達到降低服務器負擔,提升地圖瀏覽速度的效果。
地圖緩存服務是指一個地圖服務完全從一個緩存目錄請求已經創建好的瓦片,而不是動態地渲染地圖的一部分。地圖緩存是在多級比例尺下預先渲染的分塊的地圖集合,用來提高地圖顯示和使用的效率,地圖影像不需要根據用戶的請求動態實時地渲染生成,因此緩存服務可以大大提高顯示速度。地圖緩存保存了一系列比例尺下的地圖數據,每個比例尺對應一定詳細程度和分辨率的地圖信息。在構建應用之前,一個好的設計首先要確定使用哪些比例尺,以及包含何種詳細程度的地圖信息。地圖緩存的組織分為3層組織:最上層目錄(標注為詳細的比例尺級別),中級目錄(標注為行號),下級目錄(標注為列號)。多圖層緩存在最上層增加等級目錄(標注圖層的名字)。地圖緩存的3層組織結構如圖1所示。
2.地圖更新
地圖緩存技術以空間換取時間,降低了服務器負擔,提升了地圖瀏覽速度。但是,地圖價值的核心在于其現勢性,即地圖必須最大限度地反映當時的自然和人文地理要素,保持時效性,經常進行數據更新。因此,必須解決好地圖緩存更新的問題。傳統的地圖緩存技術存在較大的技術瓶頸:一方面,它假設所有的地圖數據被查詢的可能性一樣,因此預先對全部數據進行切片,效率較低,不便于緩存的更新;另一方面,地圖數據越豐富、顯示比例尺越大,切片消耗的時間就越長。

圖1 地圖緩存3層組織結構
理論上,如果按照坐標格網對地圖進行分幅,每一個格網的地圖數據都有被查詢到的可能。但事實上,不同格網的地圖數據被查詢到的概率是不一樣的,也就是說,不同格網的地圖數據的優先級是不一樣的。在服務器、帶寬等資源有限的情況下,要滿足不同用戶的地圖更新需求,就必須確定地圖更新的優先級,例如可以采用以經驗判斷、按區域劃分、統計學等方法確定地圖更新的優先級。
1.P2P技術
端對端技術(peer-to-peer,P2P)又稱對等互聯網絡技術,它不僅是一種技術,更多的是一種改變整個互聯網底層模式特質的思想。P2P已經逐漸成為一種不可避免的計算模式——人人貢獻出自己的資源,人人享受他人提供的資源[3]。P2P技術依賴網絡中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾臺服務器上。P2P網絡的一個重要的目標就是讓所有的客戶端都能提供資源,包括帶寬、存儲空間和計算能力。因此,當有節點加入且對系統請求增多時,整個系統的容量也增大。這是具有一組固定服務器的Client/Server結構所不能實現的,因為在上述這種結構中,客戶端的增加意味著所有用戶更慢的數據傳輸。P2P網絡的分布特性通過在多節點上復制數據,增加了防故障的健壯性,并且在純P2P網絡中,節點不需要依靠一個中心索引服務器來發現數據。在后一種情況下,系統也不會出現單點崩潰。
P2P網絡可以用于多種用途,現在P2P技術主要還是集中在普通文件資源或是流媒體資源的共享方面,各種文件共享軟件已經得到了廣泛的使用;實時數據(如IP電話通信)也可以使用P2P技術來傳送。各種基于P2P技術的文件共享軟件,就是運用P2P技術最大限度地突破了服務器和網絡帶寬的瓶頸,大大加快了文件下載的速度,在一個節點下載的同時還可作上傳,這種文件下載方式使得節點越多,下載的速度越快。對更復雜的數據(如空間數據)在P2P環境中如何進行傳輸的研究還處于起步階段[4]。
2.基于非典型P2P技術的地圖緩存更新
實際上,地圖緩存更新和軟件下載是同樣的道理,受到P2P下載的啟發,也可以把類似的技術運用到地圖緩存更新中,具體思路是:當用戶A查詢某一范圍的地圖數據時,應用服務器從數據庫服務器中取出該范圍數據返回給用戶A,同時,該范圍數據也上傳到Web服務器進行緩存;當用戶B查詢相同范圍的地圖數據時,應用服務器就可以直接返回緩存在Web服務器上的數據。該地圖緩存更新思路借鑒了P2P技術的特點,但并不完全符合P2P技術特征,屬于非典型P2P技術。這種地圖緩存更新方法的優勢在于,相同范圍的地圖數據,如果查詢的人越多,該范圍地圖更新頻率就越高,速度越快,并且由于根據用戶主動進行地圖查詢操作和更新更加符合地圖數據的實際使用情況,使用戶之間共享緩存數據,從而可更高效地實現地圖緩存更新,實現地圖數據的快速響應,改善用戶體驗。
某網絡地理信息系統使用覆蓋約10 000 km2范圍的高分辨率航空影像地圖數據和電子地圖數據,影像地圖分辨率達到厘米級,要求按照比例尺倍增的方式進行放大,最大顯示比例尺為1∶125,并且每隔一個月更新一次地圖數據。
基于P2P基本原理,進行程序開發試驗[5],首先設定地圖緩存圖片的尺寸為256像素×256像素,圖2是某一比例尺的地圖格網分割示意圖,可以看出,一定范圍的地圖查詢請求,包含若干固定范圍的地圖數據,因此,不同用戶向服務器發送不同范圍的地圖查詢請求,其對應的若干地圖數據很有可能是相同的。

圖2 地圖格網分割示意圖
按照上述的地圖格網分割方法,共設置12個地圖顯示比例尺,最后,通過計算得出緩存圖片總數、容量和生成緩存的時間,如表1所示,表中緩存圖片總數為概略值;同時假定每張緩存圖片容量為50 kB,生成一張緩存圖片耗時0.2 s,并且采用單臺服務器生成地圖緩存圖片。

表1 不同比例尺下緩存情況列表
從表1可以看出,當地圖顯示比例尺大于1∶1 000時,采用常規的地圖緩存技術因為時間跨度太長已經無法滿足要求。因此,必須對地圖緩存方案進行改良,改良后的方案為:對于地圖顯示比例尺小于等于1∶1 000的,仍然按照常規的全部生成地圖緩存的方式進行地圖數據更新;對于比例尺大于1∶1 000的,采用非典型P2P地圖緩存更新技術進行數據更新。
試驗表明,通過采用非典型P2P地圖緩存更新技術進行數據更新,不同比例尺級別采用不同的數據更新方法,既能夠在服務器、帶寬等資源有限的情況下滿足不同用戶的地圖更新需求,又無需通過經驗判斷、統計就能夠科學地確定地圖緩存更新的優先級,可大大提高網絡地圖服務的效率,實現地圖的及時更新,確保地圖的現勢性。
本文提出了一種基于非典型P2P技術的地圖緩存更新方法,在對地圖緩存技術進行研究的基礎上,分析了地圖緩存更新存在的瓶頸問題,基于非典型P2P技術實現了對大比例尺級別的地圖緩存進行更新,試驗證明該方法可大大縮短地圖緩存更新的時間,并且科學地確定了地圖更新的優先級別,提高了網絡地圖服務的效率。
[1] 龔健雅,杜道生,李清泉,等.當代地理信息技術[M].北京:科學出版社,2004.
[2] 王強.分布式WebGIS地圖緩存策略的應用研究[J].軟件導刊,2008(5):16-18.
[3] 鄭緯民,胡進鋒,代亞非,等.對等計算研究概論[J].中國計算機學會通訊,2005,7(2):38-51.
[4] 劉德剛,向金海,周剛.基于P2P的地圖搜索系統架構設計[J].計算機與信息技術,2007(3):83-84.
[5] 張文,趙子銘.P2P網絡技術原理與C++開發案例[M].北京:人民郵電出版社,2008.
An Atypical Peer-to-Peer Method for Updating Large-scale Map Caches
CAO Jianming,CHENG Penggen,WANG Haijiang,GU Youbing
0494-0911(2011)07-0074-03
P208
B
2010-03-10
曹建明(1985—),男,浙江寧波人,碩士生,研究方向為網絡GIS與空間信息發布。