基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法
【專利摘要】本發(fā)明公開了一種基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法,對服務(wù)器端若干臺提供相同服務(wù)內(nèi)容的瓦片地圖服務(wù)器進(jìn)行編號后以循環(huán)鏈表的形式進(jìn)行存儲,并且將該循環(huán)鏈表的信息編譯成接口的形式暴露給客戶端。當(dāng)C/S模式下的客戶端開始請求下載在線瓦片地圖時,計算在多線程環(huán)境下從某個瓦片地圖服務(wù)器指定時間t內(nèi)下載瓦片到本地的平均速度v,對v值與用戶最高權(quán)限速度v1和最低權(quán)限速度v2作比較分析,并判斷出是否需要切換到其它瓦片地圖服務(wù)器。本發(fā)明實現(xiàn)了在客戶端進(jìn)行服務(wù)器負(fù)載平衡調(diào)節(jié)的功能,減小了服務(wù)器計算負(fù)擔(dān)。當(dāng)用戶訪問數(shù)據(jù)量較大時,可以通過參數(shù)控制保證不同權(quán)限用戶下載瓦片地圖的速度,提高了運(yùn)行效率。
【專利說明】 基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明大眾地圖網(wǎng)絡(luò)發(fā)布、城市規(guī)劃信息發(fā)布、土地資源管理等領(lǐng)域,具體涉及一種基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法。
【背景技術(shù)】
[0002]近年來,瓦片式在線網(wǎng)絡(luò)地圖已經(jīng)深入到人們生活的各個方面中,如通過手機(jī)中Google地圖進(jìn)行行車導(dǎo)航和專題信息查詢,利用百度地圖進(jìn)行樓盤在線銷售。用戶只需要輸入指定地圖網(wǎng)址便可以快速的瀏覽到所需查看的地圖內(nèi)容。這些地圖內(nèi)容可以隨著用戶放大縮小操作而快速地改變地圖內(nèi)容精細(xì)程度與地理范圍,具有很強(qiáng)的動態(tài)性。那么這些在線的瓦片地圖是如何傳輸?shù)娇蛻舳说??實際上,當(dāng)客戶端請求瀏覽地圖時,遠(yuǎn)端的瓦片地圖服務(wù)器會根據(jù)當(dāng)前所請求的地理范圍與屏幕顯示大小等條件計算出所需要的瓦片,即組成用戶所實時請求地圖的規(guī)則圖片集合。當(dāng)同一時間段內(nèi)用戶數(shù)量過多時,瓦片的訪問量將會急劇增大。為應(yīng)對多用戶訪問所帶來的服務(wù)器沉重負(fù)擔(dān),一般在遠(yuǎn)程服務(wù)器端會布置多臺提供相同服務(wù)的服務(wù)器解決問題。
[0003]當(dāng)前,出于數(shù)據(jù)保護(hù)等目的,會將城市規(guī)劃中規(guī)劃方案等圖紙內(nèi)容以瓦片方式公布在網(wǎng)絡(luò)上,瀏覽器客戶端能夠直接瀏覽訪問,但無法進(jìn)行編輯。同時,為方便規(guī)劃設(shè)計人員進(jìn)行方案設(shè)計以及與相關(guān)部門間的信息共享訪問,一般擴(kuò)展自身C/S客戶端軟件(如AutoCAD軟件)可直接將相關(guān)在線瓦片地圖進(jìn)行疊加處理,以更好利用C/S客戶端軟件的強(qiáng)大處理功能。這兩種工作方式都會產(chǎn)生多用戶同時訪問所帶來的巨大服務(wù)器計算處理負(fù)擔(dān)。
[0004]為處理上述問題,一般商業(yè)地圖服務(wù)器軟件都采取在服務(wù)器端進(jìn)行優(yōu)化,如ArcGIS Server提供了服務(wù)池等處理方案。但是,此種解決多臺服務(wù)器之間的負(fù)載平衡問題需要服務(wù)器端進(jìn)行額外計算處理,增加了服務(wù)器端的處理任務(wù)數(shù)量,降低了服務(wù)器運(yùn)行效率。從客戶端需求與服務(wù)器端處理任務(wù)復(fù)雜性兩個角度來看,客戶端不希望降低自身運(yùn)行的速度,如果在某段時間內(nèi)服務(wù)器負(fù)荷較大,也會盡可能希望以較低速進(jìn)行訪問而不至于中斷服務(wù),同時服務(wù)器端希望各臺服務(wù)器都出于工作狀態(tài),既不能出現(xiàn)某些服務(wù)器空閑,也不能出現(xiàn)某些服務(wù)過度繁忙。另外,實際使用中往往會根據(jù)用戶權(quán)限自動的控制訪問速度。綜上所述,通過客戶端進(jìn)行負(fù)載平衡處理和訪問速度控制將會是一種比較合適的處理方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足,提出一種基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法,以解決目前在線瓦片地圖多服務(wù)器的負(fù)載平衡以及根據(jù)用戶權(quán)限進(jìn)行訪問速度控制的問題,適合于城市規(guī)劃中規(guī)劃方案內(nèi)容與各種基礎(chǔ)地形資料的一張圖疊加處理。需要重點(diǎn)指出的是:本發(fā)明通過客戶端監(jiān)控瓦片下載速度的方法,直接關(guān)注了用戶的使用狀況,避免了以往重點(diǎn)通過服務(wù)器負(fù)載均衡的方法所導(dǎo)致的缺乏對客戶端使用狀況的關(guān)注。
[0006]本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法,包含以下步驟:
步驟1),對服務(wù)器端若干臺提供相同服務(wù)內(nèi)容的瓦片地圖服務(wù)器進(jìn)行編號后以循環(huán)鏈表的形式進(jìn)行存儲,并且將該循環(huán)鏈表的信息編譯成接口的形式暴露給客戶端,所述接口包含以下三個方法:
a.選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器;
b.選擇到除了給定瓦片地圖服務(wù)器以外的網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地服務(wù)器;
c.獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù);
步驟2),C/S模式下的客戶端使用暴露接口中的方法a獲取一個服務(wù)器作為瓦片數(shù)據(jù)源,開始請求下載在線瓦片地圖;
步驟3),計算在多線程環(huán)境下從此瓦片地圖服務(wù)器在指定時間t內(nèi)下載瓦片到本地的平均速度V ;
步驟4),如果所述平均速度V小于用戶的最低權(quán)限速度v2,使用暴露接口中的方法c獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)n,并將所述用戶數(shù)η與當(dāng)前瓦片地圖服務(wù)器接受訪問用戶數(shù)的最大值nl比較;
如果η大于nl,從O到系統(tǒng)指定閾值tl之間的選取隨機(jī)值作為繼續(xù)下載時間t2,在繼續(xù)下載時間t2內(nèi)繼續(xù)以當(dāng)前瓦片地圖服務(wù)器進(jìn)行下載,隨后使用暴露接口中的方法b選擇另一個瓦片地圖服務(wù)器進(jìn)行下載;
如果η小于等于nl,則使用暴露接口中的方法a重新選擇一個瓦片地圖服務(wù)器進(jìn)行下載;
步驟5),如果平均速度V大于等于用戶的最低權(quán)限速度v2并且小于用戶的最高權(quán)限速度vl,則繼續(xù)以此地圖服務(wù)器繼續(xù)進(jìn)行瓦片下載;
步驟6),如果平均速度V大于用戶的最高權(quán)限速度vl,則在客戶端成功下載一個瓦片地圖圖片后,進(jìn)行以下步驟:
步驟6.1),計算瓦片地圖圖片的下載時間tO以及其平均下載速度vO ;
步驟6.2),分別比較tO、t的大小以及v0、V的大?。?br>
如果t0〈t且v0〈vl,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1);
如果t0>=t且v0>vl,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1);
如果t0〈t且v0>=vl,暫停下載瓦片地圖,并在等待t減去tO所得時間值后,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1);
如果t0>=t且v0〈v2,執(zhí)行步驟4);
如果t0>=t且v2〈=v0〈=vl,執(zhí)行步驟5);
步驟7),循環(huán)執(zhí)行步驟3)至步驟6),直至客戶端下載瓦片地圖完畢或者結(jié)束下載瓦片地圖。
[0007]本發(fā)明中用戶權(quán)限值、指定時間t、最高權(quán)限速度Vl以及最低權(quán)限速度v2四者關(guān)系如下:
用戶權(quán)限相對較高者,其最高權(quán)限速度Vl和最低權(quán)限速度v2的值相對較高,指定時間t的值相對較??; 用戶權(quán)限相對較低者,其最高權(quán)限速度Vl和最低權(quán)限速度v2值相對較小,指定時間t的值相對較高。
[0008]如果用戶權(quán)限提高,所設(shè)定的t值相對縮減,在檢測到V小于v2時,將提升此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率,而Vl值的相對提高,將提升此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率;
如果用戶權(quán)限提高,所設(shè)定的t值相對增加,在檢測到V小于v2時,將降低此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率,而Vl值的相對降低,將降低此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率。
[0009]當(dāng)用戶自身權(quán)限或者vl、v2和t的值改變時,客戶端系統(tǒng)會實時根據(jù)用戶權(quán)限值相對應(yīng)的vl、v2和t的值以改變客戶端切換瓦片地圖服務(wù)器的頻率。
[0010]當(dāng)服務(wù)器端增加或刪減瓦片地圖服務(wù)器時,先通知客戶端斷開當(dāng)前連接,重新對所有提供瓦片地圖服務(wù)的服務(wù)器進(jìn)行編號并重新對接口程序編譯后再通知客戶端重新連接。
[0011]本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
I)傳統(tǒng)在線瓦片地圖的負(fù)載平衡問題主要由遠(yuǎn)程服務(wù)端進(jìn)行處理,造成了服務(wù)器端過多的處理任務(wù),容易產(chǎn)生信息傳輸阻塞問題,且客戶端對于訪問速度的控制性也不足。利用本發(fā)明可以實現(xiàn)各個客戶端自身進(jìn)行瓦片訪問速度的調(diào)節(jié),將負(fù)載平衡計算任務(wù)分?jǐn)偟礁鱾€客戶端上,這樣既不會影響到客戶端的運(yùn)行速度,也減輕了服務(wù)器端的計算任務(wù)量。
[0012]2)本發(fā)明中所提到的兩個方法(選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器和選擇到僅比給定瓦片地圖服務(wù)器的網(wǎng)絡(luò)負(fù)載少的某臺瓦片地圖服務(wù)器)使得客戶端在下載速度較慢的情況下,也可以轉(zhuǎn)移到另外一臺瓦片服務(wù)器上面。這有利于解決以下幾種問題:2:盡管所選擇的瓦片地圖服務(wù)器負(fù)載可能大于當(dāng)前瓦片地圖服務(wù)器,但對于分布式服務(wù)器部署來說,地域較近的服務(wù)器可能會讓客戶端得到更快的下載速度,同時客戶端在重新選擇服務(wù)器這個過程中,也是具有一定的下載速度支持的,避免了下載速度突然降低的情況出現(xiàn)。f如果同時有大量的用戶訪問當(dāng)前負(fù)載最小的瓦片地圖服務(wù)器導(dǎo)致了整體下載速度急劇降低情況出現(xiàn),由于用戶權(quán)限相適應(yīng)的vl、v2和t值設(shè)置,會促使權(quán)限相對較高的用戶在較短時間內(nèi)轉(zhuǎn)移到較好下載速度支持的瓦片地圖服務(wù)器上。另外,如果同時有大量的中低等級權(quán)限用戶訪問當(dāng)前負(fù)載最小的瓦片地圖服務(wù)器,由于它們切換瓦片地圖服務(wù)器的頻率緩慢,不會影響到當(dāng)前高等級權(quán)限用戶的正常下載速度。而通過獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)方法和客戶端的隨機(jī)時間段t2的設(shè)定,使得這些用戶逐步分散地訪問到其他瓦片地圖服務(wù)器上。總而言之,這些機(jī)制的設(shè)定有助于整個體系自適應(yīng)調(diào)節(jié)。
[0013]3)本發(fā)明設(shè)置客戶端為間隔性地進(jìn)行下載速度結(jié)果監(jiān)測,這保證了用戶在低速環(huán)境下可以持續(xù)訪問瓦片地圖服務(wù)器,很大程度上避免了訪問中斷現(xiàn)象的出現(xiàn)。這在用戶當(dāng)前只需要少量瓦片情況下起到關(guān)鍵性作用,例如用戶本地存儲了很多瓦片,當(dāng)只是缺少幾塊瓦片時,盡管速度不夠理想,但由于下載數(shù)量少使得總下載時間仍然較短。如果單是依靠服務(wù)器去處理,則增加了通信和速度控制轉(zhuǎn)換所需要的時間。另外,本發(fā)明中服務(wù)器的切換只是更改服務(wù)器地址名稱,切換所需時間消耗很小,這有利于即使很快的切換服務(wù)器也不會導(dǎo)致下載速度的突然下降,具體可參考實施例步驟2。
[0014]4)本發(fā)明中客戶端進(jìn)行下載速度結(jié)果監(jiān)測的時間間隔是與用戶權(quán)限密切相關(guān)的,這使得系統(tǒng)可以按照用戶權(quán)限去控制下載中低速與高速的轉(zhuǎn)換頻率,進(jìn)而可以保障一些重要用戶的工作順利開展。同時,本發(fā)明也有利于根據(jù)用戶權(quán)限相關(guān)參數(shù)控制達(dá)到對系統(tǒng)穩(wěn)定運(yùn)行的保障,如在整個系統(tǒng)處于比較合理穩(wěn)定的運(yùn)行階段時,可以整體性地提高客戶端進(jìn)行下載速度監(jiān)測的間隔時間,進(jìn)而降低用戶進(jìn)行瓦片服務(wù)器的切換頻率,達(dá)到維持客戶端與服務(wù)器端的運(yùn)行平衡性目的。
【專利附圖】
【附圖說明】
[0015]圖1是該方法客戶端切換瓦片地圖服務(wù)器流程示意圖;
圖2是調(diào)整用戶切換瓦片地圖服務(wù)器頻率流程示意圖;
圖3是多瓦片地圖服務(wù)器的信息處理流程示意圖。
【具體實施方式】
[0016]下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明:
I)如圖1和圖2所示,服務(wù)器端將多臺提供相同服務(wù)內(nèi)容的瓦片地圖服務(wù)器編號,如ml、m2、m3、…、mn。再將瓦片地圖服務(wù)器編號以循環(huán)鏈表的形式進(jìn)行存儲,即是將所有可訪問服務(wù)器形成一個按順序存儲且能無限循環(huán)訪問的鏈表。為了對服務(wù)器內(nèi)容保密,將鏈表相關(guān)信息編譯成接口的形式暴露給客戶端,接口內(nèi)容包括了選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器、選擇到除了給定瓦片地圖服務(wù)器以外的網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地服務(wù)器以及獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)三個方法。
[0017]2)當(dāng)C/S模式下的客戶端開始請求下載在線瓦片地圖時,首先根據(jù)服務(wù)器端所暴露出接口中選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器方法獲取某一臺瓦片地圖服務(wù)器作為瓦片數(shù)據(jù)源。隨后計算在多線程環(huán)境下從此瓦片地圖服務(wù)器指定時間(記為t)內(nèi)下載瓦片到本地的總數(shù)據(jù)量d,并確定下載瓦片到本地客戶端的平均速度V,即v=d/t,其中t為系統(tǒng)根據(jù)當(dāng)前用戶權(quán)限值所設(shè)定的。此外,不同用戶權(quán)限還對應(yīng)有一個瓦片平均下載最高速度(記為vl)和最低速度(記為v2)。
[0018]3)如果平均速度v〈v2,根據(jù)服務(wù)器端所暴露出接口中獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)方法計算出當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)(記為η)。如果η大于nl,則客戶端先通過隨機(jī)算法獲得(Ttl時間段內(nèi)某個時間段(記為t2,且tl>t2>0),并在t2時間段內(nèi)繼續(xù)以當(dāng)前瓦片地圖服務(wù)器繼續(xù)下載,最后根據(jù)服務(wù)器端所暴露出接口中選擇到除了給定瓦片地圖服務(wù)器以外的網(wǎng)絡(luò)負(fù)載少的某臺瓦片地服務(wù)器方法選擇一個瓦片地圖服務(wù)器進(jìn)行下載,同時重新開始計算平均速度V以判斷是否需要再次進(jìn)行瓦片地圖服務(wù)器的選擇。如果η小于等于nl,則客戶端直接根據(jù)服務(wù)器端所暴露出接口中選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器方法選擇一個瓦片地圖服務(wù)器進(jìn)行下載,同時重新開始計算平均速度V以判斷是否需要再次進(jìn)行瓦片地圖服務(wù)器的選擇。其中,nl和tl為用系統(tǒng)給定的閾值,nl代表某瓦片地圖服務(wù)器接受訪問用戶數(shù)的最大值,tl代表所設(shè)定的某個時間段閾值。此過程中的臨界值v2非常關(guān)鍵,是控制客戶端切換瓦片地圖服務(wù)器的一個重要砝碼。例如,一般將高級用戶所對應(yīng)v2值設(shè)置的較高,這樣高級用戶客戶端通過一段時間運(yùn)行便可以尋找到下載速度大于等于v2的服務(wù)器進(jìn)行穩(wěn)定持續(xù)下載;而中級用戶所對應(yīng)v2值設(shè)置的相對較低,這樣中級用戶通過一段時間運(yùn)行后尋找到提供高下載速度服務(wù)器的概率相對較低。
[0019]4)如果平均速度v2〈=v〈=vl,則認(rèn)為當(dāng)前用戶的瓦片下載速度符合當(dāng)前用戶權(quán)限所設(shè)定要求,此客戶端不改變瓦片地圖服務(wù)器并繼續(xù)進(jìn)行瓦片下載,同時重新開始新一輪平均速度V的計算以判斷是否需要再次進(jìn)行瓦片地圖服務(wù)器的切換。
[0020]5)如果平均速度v>vl,則客戶端在成功下載一個瓦片地圖圖片時,做出選擇瓦片地圖服務(wù)器的判斷,具體步驟如下:
(O客戶端不改變下載瓦片地圖的服務(wù)器并重新開始計時(將計時所得結(jié)果記為to),但每成功下載一個瓦片地圖圖片,就計算從此瓦片地圖服務(wù)器下載瓦片到本地的平均速度(記為vO),并通過to、vO、t、Vl以及v2五個值的比較進(jìn)行選擇瓦片地圖服務(wù)器的判斷;
(2)如果t0〈t且v0〈vl,則轉(zhuǎn)至步驟(1);
(3)如果t0〈t且v0>=vl,則暫停下載瓦片,并在等待t減去tO所得時間值后,轉(zhuǎn)至步驟(I);
(4)如果t0>=t且v0<v2,則轉(zhuǎn)至步驟3);
(5)如果t0>=t且v2〈=v0〈=vl,則轉(zhuǎn)至步驟4);
(6)如果t0>=t且v0>vl,則轉(zhuǎn)至步驟(1)。
[0021]6)當(dāng)用戶自身權(quán)限或者vl、v2和t的值改變時,客戶端系統(tǒng)會實時根據(jù)用戶權(quán)限值相對應(yīng)的vl、v2和t的值以改變客戶端切換瓦片地圖服務(wù)器的頻率。如果用戶權(quán)限提高,所設(shè)定的t值相對縮減,在檢測到V小于v2時,將提升此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率;而vl值的相對提高,將提升此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率;如果用戶權(quán)限提高,所設(shè)定的t值相對增加,在檢測到V小于v2時,將降低此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率;而vl值的相對降低,將降低此用戶尋找到能夠提供較高瓦片下載速度的地圖服務(wù)器的概率。
[0022]7)當(dāng)服務(wù)器端增加或刪減瓦片地圖服務(wù)器時,考慮大量客戶端可能正在訪問刪除的瓦片地圖服務(wù)器的情況出現(xiàn),需重新對所有提供瓦片地圖服務(wù)的服務(wù)器進(jìn)行編號,并重新編譯,隨后通知客戶端斷開當(dāng)前連接后再重新連接。
[0023]下面給出一個具體的實施例:
I)參見附圖1和2,首先對服務(wù)器端所有提供相同服務(wù)內(nèi)容的瓦片地圖服務(wù)器進(jìn)行唯一值編號,如ml、m2、m3、…、mn。再將瓦片地圖服務(wù)器信息以循環(huán)鏈表的形式進(jìn)行存儲,即是將所有可訪問服務(wù)器形成一個按順序存儲且能無限循環(huán)訪問的鏈表。為了對服務(wù)器內(nèi)容保密,將循環(huán)鏈表相關(guān)信息編譯成接口的形式暴露給客戶端,接口內(nèi)容包括了選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器、選擇到除了給定瓦片地圖服務(wù)器以外的網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地服務(wù)器以及獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)三個方法。以VisualStud1 2008S Pl中c#語言給出上述中循環(huán)鏈表的結(jié)構(gòu)原型:public interface ITileMapServicesLoopLink{
/// 〈summary>
///方法1:選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器
/// </summary)
string GetMinimumTileMapService();
【權(quán)利要求】
1.基于客戶端監(jiān)測的動態(tài)選擇在線瓦片地圖服務(wù)器的方法,其特征在于包含以下步驟: 步驟1),對服務(wù)器端若干臺提供相同服務(wù)內(nèi)容的瓦片地圖服務(wù)器進(jìn)行編號后以循環(huán)鏈表的形式進(jìn)行存儲,并且將該循環(huán)鏈表的信息編譯成接口的形式暴露給客戶端,所述接口包含以下三個方法: a.選擇到當(dāng)前網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地圖服務(wù)器; b.選擇到除了給定瓦片地圖服務(wù)器以外的網(wǎng)絡(luò)負(fù)載最少的某臺瓦片地服務(wù)器; c.獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù); 步驟2),C/S模式下的客戶端使用暴露接口中的方法a獲取一個服務(wù)器作為瓦片數(shù)據(jù)源,開始請求下載在線瓦片地圖; 步驟3),計算在多線程環(huán)境下從此瓦片地圖服務(wù)器在指定時間t內(nèi)下載瓦片到本地的平均速度V ; 步驟4),如果所述平均速度V小于用戶的最低權(quán)限速度v2,使用暴露接口中的方法c獲取當(dāng)前瓦片地圖服務(wù)器訪問的用戶數(shù)n,并將所述用戶數(shù)η與當(dāng)前瓦片地圖服務(wù)器接受訪問用戶數(shù)的最大值nl比較; 如果η大于nl,從O到系統(tǒng)指定閾值tl之間的選取隨機(jī)值作為繼續(xù)下載時間t2,在繼續(xù)下載時間t2內(nèi)繼續(xù)以當(dāng)前瓦片地圖服務(wù)器進(jìn)行下載,隨后使用暴露接口中的方法b選擇另一個瓦片地圖服務(wù)器進(jìn)行下載; 如果η小于等于nl,則使用暴露接口中的方法a重新選擇一個瓦片地圖服務(wù)器進(jìn)行下載; 步驟5),如果平均速度V大于等于用戶的最低權(quán)限速度v2并且小于用戶的最高權(quán)限速度vl,則繼續(xù)以此地圖服務(wù)器繼續(xù)進(jìn)行瓦片下載; 步驟6),如果平均速度V大于用戶的最高權(quán)限速度vl,則在客戶端成功下載一個瓦片地圖圖片后,進(jìn)行以下步驟: 步驟6.1),計算瓦片地圖圖片的下載時間tO以及其平均下載速度vO ; 步驟6.2),分別比較tO、t的大小以及v0、V的大?。? 如果t0〈t且v0〈vl,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1); 如果t0>=t且v0>vl,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1); 如果t0〈t且v0>=vl,暫停下載瓦片地圖,并在等待t減去tO所得時間值后,下載下一個瓦片地圖圖片并重新執(zhí)行步驟6.1); 如果t0>=t且v0〈v2,執(zhí)行步驟4); 如果t0>=t且v2〈=v0〈=vl,執(zhí)行步驟5); 步驟7),循環(huán)執(zhí)行步驟3)至步驟6),直至客戶端下載瓦片地圖完畢或者結(jié)束下載瓦片地圖。
【文檔編號】H04L29/08GK104079672SQ201410351307
【公開日】2014年10月1日 申請日期:2014年7月22日 優(yōu)先權(quán)日:2014年7月22日
【發(fā)明者】韋勝 申請人:江蘇省城市規(guī)劃設(shè)計研究院