曹建明,程朋根,王海江,顧有兵
(1.東華理工大學(xué)測(cè)繪工程學(xué)院,江西撫州34400;2.寧波市測(cè)繪設(shè)計(jì)研究院,浙江寧波315042;3.蚌埠市勘測(cè)設(shè)計(jì)研究院,安徽蚌埠233000)
一種基于非典型P2P技術(shù)的地圖緩存更新方法
曹建明1,程朋根1,王海江2,顧有兵3
(1.東華理工大學(xué)測(cè)繪工程學(xué)院,江西撫州34400;2.寧波市測(cè)繪設(shè)計(jì)研究院,浙江寧波315042;3.蚌埠市勘測(cè)設(shè)計(jì)研究院,安徽蚌埠233000)
在對(duì)地圖緩存技術(shù)研究的基礎(chǔ)上,分析地圖緩存更新存在的瓶頸問題,提出基于非典型P2P技術(shù)實(shí)現(xiàn)對(duì)大比例尺級(jí)別的地圖緩存進(jìn)行更新,試驗(yàn)證明該方法可大大縮短地圖緩存更新的時(shí)間,并且解決地圖更新的優(yōu)先級(jí)問題。
地理信息系統(tǒng);地圖緩存;對(duì)等計(jì)算
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,基于互聯(lián)網(wǎng)的地理信息系統(tǒng)(WebGIS)應(yīng)用正變得越來越廣泛。將原來各孤立的站點(diǎn)之間的信息相互通信和共享,可實(shí)現(xiàn)大量異構(gòu)程序和平臺(tái)之間的互操作,從而使存在的GIS應(yīng)用程序能夠被用戶廣泛地訪問,于是產(chǎn)生了Web Services。但隨之出現(xiàn)了新的問題,由于基于網(wǎng)絡(luò)開發(fā)和應(yīng)用,Web Services使用的標(biāo)準(zhǔn)有HTTP、XML、SOAP和WSDL等,它們之間的兼容和通信復(fù)雜,GIS功能要求越來越多,導(dǎo)致網(wǎng)絡(luò)GIS的處理能力下降,地圖顯示速度很慢[1]。傳統(tǒng)的WebGIS生成地圖的運(yùn)算一般都是在運(yùn)行時(shí)動(dòng)態(tài)實(shí)現(xiàn),用戶每作一次縮放或漫游操作,服務(wù)器端都會(huì)動(dòng)態(tài)生成整幅地圖影像并傳輸?shù)娇蛻舳?,這將消耗大量的服務(wù)器資源,并且響應(yīng)速度緩慢[2]。WebGIS成功的關(guān)鍵在于用戶體驗(yàn),而用戶體驗(yàn)的直接表現(xiàn)就是響應(yīng)速度。如何在現(xiàn)有的網(wǎng)絡(luò)帶寬條件下,通過技術(shù)手段,提高響應(yīng)速度,成為WebGIS發(fā)展中必須解決的一個(gè)關(guān)鍵問題。本文研究基于非典型端對(duì)端技術(shù)(peer-to-peer,P2P)高效率地實(shí)現(xiàn)海量地圖緩存的更新,進(jìn)而確保地圖的現(xiàn)勢(shì)性,通過地圖緩存的更新,提高響應(yīng)速度,改善用戶體驗(yàn)。
1.地圖緩存
地圖緩存是一項(xiàng)典型的提高用戶體驗(yàn)的技術(shù)。在這之前的WebGIS中,往往是客戶機(jī)或?yàn)g覽器向服務(wù)器發(fā)送一個(gè)地圖請(qǐng)求,服務(wù)器從數(shù)據(jù)庫中實(shí)時(shí)檢索信息,再返回給客戶機(jī)或?yàn)g覽器進(jìn)行地圖顯示。在這個(gè)過程中,如果使用的人數(shù)增多,服務(wù)器負(fù)載壓力就會(huì)增大,速度相應(yīng)變慢,甚至?xí)斐煞?wù)中斷。針對(duì)這個(gè)問題,出現(xiàn)了地圖緩存技術(shù)。地圖緩存技術(shù)是事先按照不同比例尺、固定尺寸把地圖數(shù)據(jù)進(jìn)行切片后存儲(chǔ)在服務(wù)器硬盤上,以空間換取時(shí)間,從而達(dá)到降低服務(wù)器負(fù)擔(dān),提升地圖瀏覽速度的效果。
地圖緩存服務(wù)是指一個(gè)地圖服務(wù)完全從一個(gè)緩存目錄請(qǐng)求已經(jīng)創(chuàng)建好的瓦片,而不是動(dòng)態(tài)地渲染地圖的一部分。地圖緩存是在多級(jí)比例尺下預(yù)先渲染的分塊的地圖集合,用來提高地圖顯示和使用的效率,地圖影像不需要根據(jù)用戶的請(qǐng)求動(dòng)態(tài)實(shí)時(shí)地渲染生成,因此緩存服務(wù)可以大大提高顯示速度。地圖緩存保存了一系列比例尺下的地圖數(shù)據(jù),每個(gè)比例尺對(duì)應(yīng)一定詳細(xì)程度和分辨率的地圖信息。在構(gòu)建應(yīng)用之前,一個(gè)好的設(shè)計(jì)首先要確定使用哪些比例尺,以及包含何種詳細(xì)程度的地圖信息。地圖緩存的組織分為3層組織:最上層目錄(標(biāo)注為詳細(xì)的比例尺級(jí)別),中級(jí)目錄(標(biāo)注為行號(hào)),下級(jí)目錄(標(biāo)注為列號(hào))。多圖層緩存在最上層增加等級(jí)目錄(標(biāo)注圖層的名字)。地圖緩存的3層組織結(jié)構(gòu)如圖1所示。
2.地圖更新
地圖緩存技術(shù)以空間換取時(shí)間,降低了服務(wù)器負(fù)擔(dān),提升了地圖瀏覽速度。但是,地圖價(jià)值的核心在于其現(xiàn)勢(shì)性,即地圖必須最大限度地反映當(dāng)時(shí)的自然和人文地理要素,保持時(shí)效性,經(jīng)常進(jìn)行數(shù)據(jù)更新。因此,必須解決好地圖緩存更新的問題。傳統(tǒng)的地圖緩存技術(shù)存在較大的技術(shù)瓶頸:一方面,它假設(shè)所有的地圖數(shù)據(jù)被查詢的可能性一樣,因此預(yù)先對(duì)全部數(shù)據(jù)進(jìn)行切片,效率較低,不便于緩存的更新;另一方面,地圖數(shù)據(jù)越豐富、顯示比例尺越大,切片消耗的時(shí)間就越長(zhǎng)。
圖1 地圖緩存3層組織結(jié)構(gòu)
理論上,如果按照坐標(biāo)格網(wǎng)對(duì)地圖進(jìn)行分幅,每一個(gè)格網(wǎng)的地圖數(shù)據(jù)都有被查詢到的可能。但事實(shí)上,不同格網(wǎng)的地圖數(shù)據(jù)被查詢到的概率是不一樣的,也就是說,不同格網(wǎng)的地圖數(shù)據(jù)的優(yōu)先級(jí)是不一樣的。在服務(wù)器、帶寬等資源有限的情況下,要滿足不同用戶的地圖更新需求,就必須確定地圖更新的優(yōu)先級(jí),例如可以采用以經(jīng)驗(yàn)判斷、按區(qū)域劃分、統(tǒng)計(jì)學(xué)等方法確定地圖更新的優(yōu)先級(jí)。
1.P2P技術(shù)
端對(duì)端技術(shù)(peer-to-peer,P2P)又稱對(duì)等互聯(lián)網(wǎng)絡(luò)技術(shù),它不僅是一種技術(shù),更多的是一種改變整個(gè)互聯(lián)網(wǎng)底層模式特質(zhì)的思想。P2P已經(jīng)逐漸成為一種不可避免的計(jì)算模式——人人貢獻(xiàn)出自己的資源,人人享受他人提供的資源[3]。P2P技術(shù)依賴網(wǎng)絡(luò)中參與者的計(jì)算能力和帶寬,而不是把依賴都聚集在較少的幾臺(tái)服務(wù)器上。P2P網(wǎng)絡(luò)的一個(gè)重要的目標(biāo)就是讓所有的客戶端都能提供資源,包括帶寬、存儲(chǔ)空間和計(jì)算能力。因此,當(dāng)有節(jié)點(diǎn)加入且對(duì)系統(tǒng)請(qǐng)求增多時(shí),整個(gè)系統(tǒng)的容量也增大。這是具有一組固定服務(wù)器的Client/Server結(jié)構(gòu)所不能實(shí)現(xiàn)的,因?yàn)樵谏鲜鲞@種結(jié)構(gòu)中,客戶端的增加意味著所有用戶更慢的數(shù)據(jù)傳輸。P2P網(wǎng)絡(luò)的分布特性通過在多節(jié)點(diǎn)上復(fù)制數(shù)據(jù),增加了防故障的健壯性,并且在純P2P網(wǎng)絡(luò)中,節(jié)點(diǎn)不需要依靠一個(gè)中心索引服務(wù)器來發(fā)現(xiàn)數(shù)據(jù)。在后一種情況下,系統(tǒng)也不會(huì)出現(xiàn)單點(diǎn)崩潰。
P2P網(wǎng)絡(luò)可以用于多種用途,現(xiàn)在P2P技術(shù)主要還是集中在普通文件資源或是流媒體資源的共享方面,各種文件共享軟件已經(jīng)得到了廣泛的使用;實(shí)時(shí)數(shù)據(jù)(如IP電話通信)也可以使用P2P技術(shù)來傳送。各種基于P2P技術(shù)的文件共享軟件,就是運(yùn)用P2P技術(shù)最大限度地突破了服務(wù)器和網(wǎng)絡(luò)帶寬的瓶頸,大大加快了文件下載的速度,在一個(gè)節(jié)點(diǎn)下載的同時(shí)還可作上傳,這種文件下載方式使得節(jié)點(diǎn)越多,下載的速度越快。對(duì)更復(fù)雜的數(shù)據(jù)(如空間數(shù)據(jù))在P2P環(huán)境中如何進(jìn)行傳輸?shù)难芯窟€處于起步階段[4]。
2.基于非典型P2P技術(shù)的地圖緩存更新
實(shí)際上,地圖緩存更新和軟件下載是同樣的道理,受到P2P下載的啟發(fā),也可以把類似的技術(shù)運(yùn)用到地圖緩存更新中,具體思路是:當(dāng)用戶A查詢某一范圍的地圖數(shù)據(jù)時(shí),應(yīng)用服務(wù)器從數(shù)據(jù)庫服務(wù)器中取出該范圍數(shù)據(jù)返回給用戶A,同時(shí),該范圍數(shù)據(jù)也上傳到Web服務(wù)器進(jìn)行緩存;當(dāng)用戶B查詢相同范圍的地圖數(shù)據(jù)時(shí),應(yīng)用服務(wù)器就可以直接返回緩存在Web服務(wù)器上的數(shù)據(jù)。該地圖緩存更新思路借鑒了P2P技術(shù)的特點(diǎn),但并不完全符合P2P技術(shù)特征,屬于非典型P2P技術(shù)。這種地圖緩存更新方法的優(yōu)勢(shì)在于,相同范圍的地圖數(shù)據(jù),如果查詢的人越多,該范圍地圖更新頻率就越高,速度越快,并且由于根據(jù)用戶主動(dòng)進(jìn)行地圖查詢操作和更新更加符合地圖數(shù)據(jù)的實(shí)際使用情況,使用戶之間共享緩存數(shù)據(jù),從而可更高效地實(shí)現(xiàn)地圖緩存更新,實(shí)現(xiàn)地圖數(shù)據(jù)的快速響應(yīng),改善用戶體驗(yàn)。
某網(wǎng)絡(luò)地理信息系統(tǒng)使用覆蓋約10 000 km2范圍的高分辨率航空影像地圖數(shù)據(jù)和電子地圖數(shù)據(jù),影像地圖分辨率達(dá)到厘米級(jí),要求按照比例尺倍增的方式進(jìn)行放大,最大顯示比例尺為1∶125,并且每隔一個(gè)月更新一次地圖數(shù)據(jù)。
基于P2P基本原理,進(jìn)行程序開發(fā)試驗(yàn)[5],首先設(shè)定地圖緩存圖片的尺寸為256像素×256像素,圖2是某一比例尺的地圖格網(wǎng)分割示意圖,可以看出,一定范圍的地圖查詢請(qǐng)求,包含若干固定范圍的地圖數(shù)據(jù),因此,不同用戶向服務(wù)器發(fā)送不同范圍的地圖查詢請(qǐng)求,其對(duì)應(yīng)的若干地圖數(shù)據(jù)很有可能是相同的。
圖2 地圖格網(wǎng)分割示意圖
按照上述的地圖格網(wǎng)分割方法,共設(shè)置12個(gè)地圖顯示比例尺,最后,通過計(jì)算得出緩存圖片總數(shù)、容量和生成緩存的時(shí)間,如表1所示,表中緩存圖片總數(shù)為概略值;同時(shí)假定每張緩存圖片容量為50 kB,生成一張緩存圖片耗時(shí)0.2 s,并且采用單臺(tái)服務(wù)器生成地圖緩存圖片。
表1 不同比例尺下緩存情況列表
從表1可以看出,當(dāng)?shù)貓D顯示比例尺大于1∶1 000時(shí),采用常規(guī)的地圖緩存技術(shù)因?yàn)闀r(shí)間跨度太長(zhǎng)已經(jīng)無法滿足要求。因此,必須對(duì)地圖緩存方案進(jìn)行改良,改良后的方案為:對(duì)于地圖顯示比例尺小于等于1∶1 000的,仍然按照常規(guī)的全部生成地圖緩存的方式進(jìn)行地圖數(shù)據(jù)更新;對(duì)于比例尺大于1∶1 000的,采用非典型P2P地圖緩存更新技術(shù)進(jìn)行數(shù)據(jù)更新。
試驗(yàn)表明,通過采用非典型P2P地圖緩存更新技術(shù)進(jìn)行數(shù)據(jù)更新,不同比例尺級(jí)別采用不同的數(shù)據(jù)更新方法,既能夠在服務(wù)器、帶寬等資源有限的情況下滿足不同用戶的地圖更新需求,又無需通過經(jīng)驗(yàn)判斷、統(tǒng)計(jì)就能夠科學(xué)地確定地圖緩存更新的優(yōu)先級(jí),可大大提高網(wǎng)絡(luò)地圖服務(wù)的效率,實(shí)現(xiàn)地圖的及時(shí)更新,確保地圖的現(xiàn)勢(shì)性。
本文提出了一種基于非典型P2P技術(shù)的地圖緩存更新方法,在對(duì)地圖緩存技術(shù)進(jìn)行研究的基礎(chǔ)上,分析了地圖緩存更新存在的瓶頸問題,基于非典型P2P技術(shù)實(shí)現(xiàn)了對(duì)大比例尺級(jí)別的地圖緩存進(jìn)行更新,試驗(yàn)證明該方法可大大縮短地圖緩存更新的時(shí)間,并且科學(xué)地確定了地圖更新的優(yōu)先級(jí)別,提高了網(wǎng)絡(luò)地圖服務(wù)的效率。
[1] 龔健雅,杜道生,李清泉,等.當(dāng)代地理信息技術(shù)[M].北京:科學(xué)出版社,2004.
[2] 王強(qiáng).分布式WebGIS地圖緩存策略的應(yīng)用研究[J].軟件導(dǎo)刊,2008(5):16-18.
[3] 鄭緯民,胡進(jìn)鋒,代亞非,等.對(duì)等計(jì)算研究概論[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2005,7(2):38-51.
[4] 劉德剛,向金海,周剛.基于P2P的地圖搜索系統(tǒng)架構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)與信息技術(shù),2007(3):83-84.
[5] 張文,趙子銘.P2P網(wǎng)絡(luò)技術(shù)原理與C++開發(fā)案例[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—),男,浙江寧波人,碩士生,研究方向?yàn)榫W(wǎng)絡(luò)GIS與空間信息發(fā)布。