專利名稱:基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web地圖服務(wù)領(lǐng)域,特別涉及一種基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法。
背景技術(shù):
Web地圖服務(wù)(Web map service,簡稱為WMS)遵循OGC的WMS1.1.1規(guī)范,利用具有地理空間位置信息的數(shù)據(jù)制作地圖。其中將地圖定義為地理數(shù)據(jù)可視的表現(xiàn)。這個規(guī)范定義了三個操作=GetCapabitities返回服務(wù)級元數(shù)據(jù),它是對服務(wù)信息內(nèi)容和要求參數(shù)的一種描述;GetMap返回一個地圖影像,其地理空間參考和大小參數(shù)是明確定義了的;GetFeatureInfo (可選)返回顯示在地圖上的某些特殊要素的信息。為了能夠提供Web地圖服務(wù),麗S服務(wù)器中所存儲的數(shù)據(jù)量既未龐大,例如,對于NASA LandSat 13數(shù)據(jù)集而言,第8層中國地區(qū)(從經(jīng)緯度(70,5)到經(jīng)緯度(135,60))的數(shù)據(jù)量就達到100GB,而且對于每一層數(shù)據(jù),其體積是上一層的4倍左右?,F(xiàn)有技術(shù)中,WMS服務(wù)器基本是以單節(jié)點為主進行架構(gòu)的,面對龐大的數(shù)據(jù)存儲量時,現(xiàn)有的WMS服務(wù)很難滿足大數(shù)據(jù)量存儲與高可靠性的嚴格需求。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)以單節(jié)點為主的麗S服務(wù)存在數(shù)據(jù)瓶頸、可靠性不高的缺點,提供了一種基于云概念的,能夠?qū)崿F(xiàn)多機多節(jié)點的集群工作模式,具有較高的數(shù)據(jù)存儲能力、系統(tǒng)負載能力和可靠性的新型基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法。為實現(xiàn)上述目的,本發(fā)明可采取下述技術(shù)方案:
基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,包括負載均衡器、工作節(jié)點,所述工作節(jié)點包括WMS服務(wù)模塊、分布式文件系統(tǒng),所述分布式文件系統(tǒng)包括分布式文件系統(tǒng)接口、存儲節(jié)點,具體步驟如下:
步驟一:所述負載均衡器接收Web地圖服務(wù)請求;
步驟二:所述負載均衡器依據(jù)負載均衡策略選擇一個工作節(jié)點作為接收請求的工作節(jié)點,并將所述請求發(fā)送至選定的工作節(jié)點;
步驟三:選定的工作節(jié)點的WMS服務(wù)模塊對所述請求的URL進行解析,根據(jù)解析所得到的URL參數(shù)定位地圖的經(jīng)緯度范圍和分辨率,根據(jù)所述經(jīng)緯度范圍和分辨率計算所需要的切圖列表;
步驟四:所述麗S服務(wù)模塊將所述切圖列表中切圖的名稱發(fā)送至所述分布式文件系統(tǒng),所述分布式文件系統(tǒng)根據(jù)所述切圖的名稱查找相應(yīng)的切圖并將找到的切圖返回所述WMS服務(wù)模塊,所述WMS服務(wù)模塊通過所述分布式文件系統(tǒng)接口訪問所述分布式文件系統(tǒng),所述切圖以文件形式儲存,所述分布式文件系統(tǒng)通過所述存儲節(jié)點訪問所述文件;
步驟五:所述WMS服務(wù)模塊對找到的切圖進行拼接,調(diào)整拼接后切圖的分辨率,根據(jù)所述經(jīng)緯度范圍對調(diào)整分辨率后的切圖進行裁剪得到遙感影像柵格數(shù)據(jù),并將所述遙感影像柵格數(shù)據(jù)發(fā)送至所述負載均衡器;
步驟六:所述負載均衡器返回所請求的遙感影像柵格數(shù)據(jù)。作為優(yōu)選,所述負載均衡策略包括輪詢、IP-HASH。作為優(yōu)選,所述工作節(jié)點組成P2P網(wǎng)絡(luò)。作為優(yōu)選,還包括雙層高速緩存策略,所述雙層高速緩存策略使用雙層高速緩存,所述雙層高速緩存包括位于所述負載均衡器的第一緩沖區(qū)和位于所述工作節(jié)點的第二緩沖區(qū),所述雙層高速緩存策略包括以下具體步驟:
在所述步驟一中,所述負載均衡器在第一緩沖區(qū)中檢測所述遙感影像柵格數(shù)據(jù),如果所述第一緩沖區(qū)已經(jīng)包含所述遙感影像柵格數(shù)據(jù)則執(zhí)行步驟六;
在所述步驟三中,所述WMS服務(wù)模塊對所述圖像列表進行逐條判斷,如果所述第二緩沖區(qū)已經(jīng)包含所有的切圖,則執(zhí)行步驟五;如果所述第二緩沖區(qū)尚未包含所有的切圖,則將尚未加載至第二緩沖區(qū)的切圖的名稱發(fā)送至所述分布式文件系統(tǒng);
在所述步驟五中,所述負載均衡器將得到的遙感影像柵格數(shù)據(jù)記載至所述第一緩沖區(qū)。作為優(yōu)選,緩存于所述雙層高速緩存中的文件包括配置文件和遙感影像柵格數(shù)據(jù)。負載均衡是提高整個系統(tǒng)計算能力的關(guān)鍵所在。WMS是通過標準的http協(xié)議來進行通信的。對于http協(xié)議的請求是很方便去實現(xiàn)負載均衡的。同時,對本發(fā)明所涉及的應(yīng)用環(huán)境而言,每一個請求都是獨立的,也即每一個請求都是與session無關(guān)(會話無關(guān))的。比如,在客戶端中每一次請求的地圖服務(wù)都是相對獨立的,相互之間是毫無關(guān)系的,本次請求不會影響到其它的請求,其它的請求也不會影響本次請求。因而,在本發(fā)明中的負載均衡策略的選擇時,無需考慮session問題,而只需考慮負載與均衡的問題。在本發(fā)明中,采用了輪詢的策略。輪詢策略實現(xiàn)簡單,而且效率很高,同時所消耗的資源非常小,是一種非常輕量級的策略,非常適合本發(fā)明的應(yīng)用場景。在本發(fā)明中,分布式文件系統(tǒng)是采用了 P2P架構(gòu),而非傳統(tǒng)的主從架構(gòu)。P2P架構(gòu)在系統(tǒng)穩(wěn)定性、有效性等方面較主從架構(gòu)有著很大優(yōu)勢。在本發(fā)明中,采用P2P架構(gòu)的分布式文件系統(tǒng)還有一個原因是:在本發(fā)明所設(shè)計的集群中,每個工作節(jié)點都有三種角色:WMS、分布式文件系統(tǒng)接口、分布式文件的存儲節(jié)點。其中分布式文件系統(tǒng)接口、分布式文件的存儲節(jié)點與文件系統(tǒng)有關(guān)。如果采用主從結(jié)構(gòu),那么系統(tǒng)中也就都通主節(jié)點來作為分布式文件系統(tǒng)接口。這樣,主節(jié)點就是會成為整個集群的單點故障,會使得系統(tǒng)的穩(wěn)定性與可用性大大降低。在本發(fā)明中,每個節(jié)點中的WMS都使用本節(jié)點上的分布式文件系統(tǒng)訪問接口,一但本節(jié)點的分布式文件系統(tǒng)節(jié)點的功能宕機,也就本節(jié)點上的WMS沒法使用,而不會造成整個集群都宕機的嚴重錯誤。在P2P架構(gòu)的分布式文件系統(tǒng)中,每一個節(jié)點都可以是文件系統(tǒng)訪問接口,都可以是分布式文件系統(tǒng)的存儲節(jié)點,而且所有的節(jié)點共同合作,共同維護整個文件系統(tǒng)的名字空間(即維護分布式文件系統(tǒng)中文件到chunk數(shù)據(jù)塊之間的映射以及chunk數(shù)據(jù)塊與存儲節(jié)點之間的映射)。這樣,每一個節(jié)點的地位都是對等的,都是平等的,沒有主從關(guān)系。在WMS應(yīng)用中,數(shù)據(jù)只有增加與刪除兩種情況,而且在一般的情況下,基本上不會有刪除數(shù)據(jù)的情況發(fā)生。因而,在這樣的情況下,非常適合使用Cache技術(shù)。Cache對于系統(tǒng)的整體性能而言,具有非常重要的作用。在本發(fā)明的設(shè)計的集群中,采用了雙層Cache的策略,即負載均衡器一層的Cache與WMS —層的Cache。對負載均衡器一層的Cache而言,當負載均衡器發(fā)現(xiàn)在自己的Cache中已經(jīng)存在了相應(yīng)的文件(可能為配置文件,也可能為柵格化的遙感影像),那負載均衡器就會自動地將文件返回給用戶,而不執(zhí)行負載均衡策略;如果沒有相應(yīng)的文件,負載均衡器會去執(zhí)行負載均衡策略,會將返回結(jié)果緩存起來。因為負載均衡器對于整個群集而言是唯一的,因而它的Cache存儲能力是相當有限的。對于WMS—層的Cache而,WMS服務(wù)器如果發(fā)現(xiàn)本節(jié)點的Cache中已經(jīng)存儲了所需的文件,那么WMS服務(wù)器就會直接從Cache中取文件;如果文件在Cache中不存在,則WMS服務(wù)器會去請求分布式文件系統(tǒng),并將所請求到的文件緩存到Cache中。在本發(fā)明中的Cache都是純內(nèi)存操作的對象Cache,以保證系統(tǒng)的較低響應(yīng)時間。本發(fā)明由于采用了以上技術(shù)方案,具有顯著的技術(shù)效果:
與現(xiàn)有技術(shù)相比,本發(fā)明實現(xiàn)了多機多節(jié)點的集群工作模式,各工作節(jié)點之間采用P2P架構(gòu),當集群中的某個工作節(jié)點出現(xiàn)單點故障時,不會影響其他工作節(jié)點的性能,避免了傳統(tǒng)的主從結(jié)構(gòu)架構(gòu)中存在的由于主節(jié)點故障造成整個集群宕機的現(xiàn)象,提高了系統(tǒng)的穩(wěn)定性、可靠性。其次,采用基于雙層高速緩存的雙層高速緩存策略,縮短了系統(tǒng)的響應(yīng)時間。
圖1為本發(fā)明所述基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法的系統(tǒng)架構(gòu)示意圖。圖2為實施例1的流程示意圖。
具體實施例方式下面結(jié)合實施例對本發(fā)明作進一步的詳細描述。實施例1
基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,包括負載均衡器1、工作節(jié)點2,如圖1所示,所述工作節(jié)點2組成P2P網(wǎng)絡(luò)。其中,工作節(jié)點2包括麗S服務(wù)模塊21、分布式文件系統(tǒng)22,所述分布式文件系統(tǒng)22包括分布式文件系統(tǒng)接口 221、存儲節(jié)點222。工作節(jié)點2負責實際地處理用戶所提交的請求。工作節(jié)點2同時處理承擔:WMS、分布式文件系統(tǒng)接口 221、分布式文件的存儲節(jié)點222。麗S (即Web地圖服務(wù)Web MapService)遵循OGC的WMS1.1.1規(guī)范,該服務(wù)利用具有地理空間位置信息的數(shù)據(jù)制作地圖。其中將地圖定義為地理數(shù)據(jù)可視的表現(xiàn)。分布文件系統(tǒng)接口 221 (DFS Portal)是WMS訪問分布式文件系統(tǒng)22的接口,即WMS通過分布式文件系統(tǒng)接口 221訪問分布式文件,從而獲取配置文件與柵格化的遙感影像。分布式文件系統(tǒng)22的存儲節(jié)點222是分布式文件系統(tǒng)集群中負責存儲文件的節(jié)點。每一個WMS都使用本節(jié)點的分布式文件系統(tǒng)22訪問接口,也即通過其自身來訪問分布式文件系統(tǒng)22。這樣每一個節(jié)點都有獨立的功能,與其它的節(jié)點之間也是P2P的關(guān)系,這樣對于提高系統(tǒng)的可靠性與可用性有非常大的幫助。具體步驟如下,如圖2所示:
步驟一:用戶向所述負載均衡器I提交GetMap請求,負載均衡器I接收GetMap請求;所述負載均衡器I在第一緩沖區(qū)3中檢測所述遙感影像柵格數(shù)據(jù),如果所述第一緩沖區(qū)3已經(jīng)包含所述遙感影像柵格數(shù)據(jù)則執(zhí)行步驟六。步驟二:如果所述第一緩沖區(qū)3尚未包含所述遙感影像柵格數(shù)據(jù),所述負載均衡器I依據(jù)輪詢、IP-HASH等負載均衡策略選擇一個工作節(jié)點2作為接收請求的工作節(jié)點,負載均衡器I檢查選定的工作節(jié)點2的工作狀態(tài),如果該節(jié)點工作正常,即正常響應(yīng)負載均衡器I的檢查,則將所述請求發(fā)送至選定的工作節(jié)點2,如果該選定的工作節(jié)點2未正常響應(yīng)負載均衡器I的檢查,則反復進行負載均衡策略選擇工作節(jié)點2。步驟三:選定的工作節(jié)點2接受GetMap請求,麗S服務(wù)模塊21對所述請求的URL進行解析,根據(jù)解析所得到的URL參數(shù)定位地圖的經(jīng)緯度范圍和分辨率,根據(jù)所述經(jīng)緯度范圍和分辨率計算所需要的切圖列表。所述WMS服務(wù)模塊21對所述圖像列表進行逐條判斷,如果所述第二緩沖區(qū)已經(jīng)獲取并包含切圖列表中所有的切圖,則執(zhí)行步驟五;如果所述第二緩沖區(qū)尚未包含所有的切圖,則將尚未加載至第二緩沖區(qū)的切圖的名稱發(fā)送至所述分布式文件系統(tǒng)22。步驟四:為了能夠獲取切圖,所述WMS服務(wù)模塊21將所述切圖列表中切圖的名稱發(fā)送至所述分布式文件系統(tǒng)22,所述分布式文件系統(tǒng)22根據(jù)所述切圖的名稱查找相應(yīng)的切圖并將找到的切圖返回所述WMS服務(wù)模塊21,所述WMS服務(wù)模塊21通過所述分布式文件系統(tǒng)接口 221訪問所述分布式文件系統(tǒng)22,所述切圖以文件形式儲存,所述分布式文件系統(tǒng)22通過所述存儲節(jié)點222訪問所述文件。步驟五:所述WMS服務(wù)模塊21對找到的切圖進行拼接,調(diào)整拼接后切圖的分辨率,根據(jù)所述經(jīng)緯度范圍對調(diào)整分辨率后的切圖進行裁剪得到遙感影像柵格數(shù)據(jù),并將所述遙感影像柵格數(shù)據(jù)發(fā)送至所述負載均衡器I,所述負載均衡器I將得到的遙感影像柵格數(shù)據(jù)記載至所述第一緩沖區(qū)。步驟六:所述負載均衡器I返回所請求的遙感影像柵格數(shù)據(jù)。為了能夠提高緩存效率,緩存于所述雙層高速緩存中的文件包括配置文件和遙感影像柵格數(shù)據(jù)。對比實驗I
在對本發(fā)明所記載的技術(shù)方案進行測試之前,需要搭建一個合適的集群環(huán)境進行測試。在硬件上,集群環(huán)境中的負載均衡器I和工作節(jié)點2都使用如下的硬件環(huán)境進行搭建:核心頻率為2.3GHz的單核CPU、1024MB的內(nèi)存、50GB+7200RPM的硬盤、千兆以太網(wǎng)卡,其中工作節(jié)點2的軟件環(huán)境如下=Windows 2008 Server + SUN JDK 1.6,負載均衡器I的軟件環(huán)境如下=Ubuntu 10.04 + SUN JDK 1.6 + Nginx 1.2。這里,我們進行單節(jié)點與集群對單個請求的響應(yīng)對比測試,本測試的測試目的是在系統(tǒng)空閑的情況下,測試只包括一個工作節(jié)點的單節(jié)點環(huán)境對單個請求的響應(yīng)時間與上述集群環(huán)境對于單個請求的響應(yīng)時間的差異,考慮在集群環(huán)境下,單個請求依然在一個工作節(jié)點2上完成,可以預(yù)料上述兩者的測試結(jié)果應(yīng)當差別不大。測試過程如下:分別對單機環(huán)境和集群環(huán)境發(fā)送6次請求,每次都請求分辨率為256*256,經(jīng)緯度范圍為10的地圖數(shù)據(jù),測試結(jié)果如下表I所述:
表I單節(jié)點與集群對單個請求的響應(yīng)對比測試結(jié)果
權(quán)利要求
1.一種基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,其特征在于,包括負載均衡器(I)、工作節(jié)點(2),所述工作節(jié)點(2)包括麗S服務(wù)模塊(21)、分布式文件系統(tǒng)(22),所述分布式文件系統(tǒng)(22)包括分布式文件系統(tǒng)接口(221)、存儲節(jié)點(222),具體步驟如下: 步驟一:所述負載均衡器(I)接收Web地圖服務(wù)請求; 步驟二:所述負載均衡器(I)依據(jù)負載均衡策略選擇一個工作節(jié)點(2)作為接收請求的工作節(jié)點,并將所述請求發(fā)送至選定的工作節(jié)點(2); 步驟三:選定的工作節(jié)點(2)的麗S服務(wù)模塊(21)對所述請求的URL進行解析,根據(jù)解析所得到的URL參數(shù)定位地圖的經(jīng)緯度范圍和分辨率,根據(jù)所述經(jīng)緯度范圍和分辨率計算所需要的切圖列表; 步驟四:所述麗S服務(wù)模塊(21)將所述切圖列表中切圖的名稱發(fā)送至所述分布式文件系統(tǒng)(22),所述分布式文件系統(tǒng)(22)根據(jù)所述切圖的名稱查找相應(yīng)的切圖并將找到的切圖返回所述麗S服務(wù)模塊(21),所述麗S服務(wù)模塊(21)通過所述分布式文件系統(tǒng)接口(221)訪問所述分布式文件系統(tǒng)(22),所述切圖以文件形式儲存,所述分布式文件系統(tǒng)(22)通過所述存儲節(jié)點(222)訪問所述文件; 步驟五:所述WMS服務(wù)模塊(21)對找到的切圖進行拼接,調(diào)整拼接后切圖的分辨率,根據(jù)所述經(jīng)緯度范圍對調(diào)整分辨率后的切圖進行裁剪得到遙感影像柵格數(shù)據(jù),并將所述遙感影像柵格數(shù)據(jù)發(fā)送至所述負載均衡器(I); 步驟六:所述負載均衡器(I)返回所請求的遙感影像柵格數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,其特征在于,所述負載均衡策略包括輪詢、IP-HASH。
3.根據(jù)權(quán)利要求1所述的基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,其特征在于,所述工作節(jié)點(2)組成P2P網(wǎng)絡(luò)。
4.根據(jù)權(quán)利要求1所述的基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,其特征在于,還包括雙層高速緩存策略,所述雙層高速緩存策略使用雙層高速緩存,所述雙層高速緩存包括位于所述負載均衡器(I)的第一緩沖區(qū)(3)和位于所述工作節(jié)點(2)的第二緩沖區(qū)(4),所述雙層高速緩存策略包括以下具體步驟: 在所述步驟一中,所述負載均衡器(I)在第一緩沖區(qū)(3)中檢測所述遙感影像柵格數(shù)據(jù),如果所述第一緩沖區(qū)(3)已經(jīng)包含所述遙感影像柵格數(shù)據(jù)則執(zhí)行步驟六; 在所述步驟三中,所述WMS服務(wù)模塊(21)對所述圖像列表進行逐條判斷,如果所述第二緩沖區(qū)已經(jīng)包含所有的切圖,則執(zhí)行步驟五;如果所述第二緩沖區(qū)尚未包含所有的切圖,則將尚未加載至第二緩沖區(qū)的切圖的名稱發(fā)送至所述分布式文件系統(tǒng)(22); 在所述步驟五中,所述負載均衡器(I)將得到的遙感影像柵格數(shù)據(jù)記載至所述第一緩沖區(qū)。
5.根據(jù)權(quán)利要求4所述的基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,其特征在于,緩存于所述雙層高速緩存中的文件包括配置文件和遙感影像柵格數(shù)據(jù)。
全文摘要
本發(fā)明涉及Web地圖服務(wù)領(lǐng)域,公開了一種基于云架構(gòu)的Web地圖服務(wù)實現(xiàn)方法,包括負載均衡器、工作節(jié)點,所述工作節(jié)點包括WMS服務(wù)模塊、分布式文件系統(tǒng),所述分布式文件系統(tǒng)包括分布式文件系統(tǒng)接口、存儲節(jié)點。本發(fā)明的優(yōu)點在于,實現(xiàn)多機多節(jié)點的集群工作模式,可以代替?zhèn)鹘y(tǒng)的單機單節(jié)點工作模式,從而提升系統(tǒng)的數(shù)據(jù)存儲能力和可靠性。
文檔編號H04L29/08GK103108045SQ20131004599
公開日2013年5月15日 申請日期2013年2月6日 優(yōu)先權(quán)日2013年2月6日
發(fā)明者陳華鈞, 陳亮, 朱桂鋒, 陶金火, 鄭國軸, 楊建華, 吳朝暉 申請人:浙江大學