一種空間信息云計算系統(tǒng)及其實現(xiàn)方法
【專利摘要】本發(fā)明公布了一種具備彈性計算能力的空間信息云計算系統(tǒng)及其實現(xiàn)方法,該系統(tǒng)包括空間信息處理虛擬化模塊、空間信息彈性計算模塊和空間信息云服務(wù)開發(fā)平臺模塊,分別提供對硬件資源的虛擬化服務(wù)、對計算資源的自動伸縮服務(wù)和對外提供云GIS應(yīng)用開發(fā)服務(wù)。本發(fā)明為GIS開發(fā)者提供一種支持彈性計算的空間信息云服務(wù)開發(fā)平臺,解決現(xiàn)有技術(shù)難以解決的海量空間數(shù)據(jù)存儲困難、運維成本高、計算緩慢、可伸縮性較差以及價格高昂等問題,從而降低開發(fā)出具備強大計算能力的云GIS應(yīng)用的成本和開發(fā)難度。
【專利說明】一種空間信息云計算系統(tǒng)及其實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及空間信息計算技術(shù),尤其涉及一種空間信息云計算系統(tǒng)及其實現(xiàn)方法。
【背景技術(shù)】
[0002]信息技術(shù)的每一次進步,都會給地理信息系統(tǒng)(GIS)帶來巨大的影響,如PC之于桌面GIS,互聯(lián)網(wǎng)之于WebGIS,網(wǎng)格計算之于網(wǎng)格GIS等。云計算的出現(xiàn)為解決傳統(tǒng)GIS中遇到的海量空間數(shù)據(jù)存儲、運維成本高、計算緩慢、可伸縮性較差以及價格高昂等問題提供了有效的解決途徑。云GIS作為面向未來的地理信息系統(tǒng),已迅速成為當(dāng)前GIS軟件的發(fā)展趨勢和研究熱點。
[0003]地理信息軟件即服務(wù)(SaaS)、地理信息平臺即服務(wù)(PaaS)和地理信息基礎(chǔ)設(shè)施即服務(wù)(IaaS)是云GIS的三種主要服務(wù)形式。其中,承擔(dān)著承上啟下作用的空間信息云計算平臺(PaaS)系統(tǒng)和軟件,是云GIS的重要組部分。而彈性計算機制則是云計算平臺的關(guān)鍵技術(shù)之一,各大商業(yè)云計算平臺均提供了彈性計算解決方案,它可以有效提高資源利用率并極大地降低系統(tǒng)運維成本,使用戶開發(fā)應(yīng)用時不需關(guān)心系統(tǒng)的存儲和計算細節(jié)。但是,現(xiàn)有的云GIS平臺系統(tǒng)卻并未對彈性計算機制展開深入研究,導(dǎo)致的結(jié)果是,現(xiàn)有的云GIS平臺系統(tǒng)不具備彈性計算機制,無法提供對計算資源的自動伸縮服務(wù);這種類型的平臺系統(tǒng)需要人工配置系統(tǒng)環(huán)境,系統(tǒng)運維復(fù)雜、不能自動伸縮,用戶需要關(guān)心系統(tǒng)的存儲和計算細節(jié)。
【發(fā)明內(nèi)容】
[0004]為解決上述現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種具備彈性計算能力的空間信息云計算系統(tǒng)及其實現(xiàn)方法,目的是為地理信息系統(tǒng)(GIS)開發(fā)者提供一種支持彈性計算的空間信息云服務(wù)開發(fā)平臺,解決現(xiàn)有技術(shù)難以解決的海量空間數(shù)據(jù)存儲困難、運維成本高、計算緩慢、可伸縮性較差以及價格高昂等問題,降低開發(fā)者開發(fā)出具備強大計算能力的云GIS應(yīng)用的成本和開發(fā)難度。
[0005]本發(fā)明的技術(shù)方案如下:
[0006]一種空間信息云計算系統(tǒng),該系統(tǒng)自下而上包括空間信息處理虛擬化模塊、空間信息彈性計算模塊和空間信息云服務(wù)開發(fā)平臺模塊,其中,空間信息處理虛擬化模塊提供對硬件資源的虛擬化服務(wù);空間信息彈性計算模塊提供計算資源的自動伸縮服務(wù);空間信息云服務(wù)開發(fā)平臺模塊用于對外提供云GIS應(yīng)用開發(fā)服務(wù),通過它開發(fā)的GIS應(yīng)用具備計算資源自動伸縮的能力。
[0007]—種空間信息云計算系統(tǒng)的實現(xiàn)方法,該方法通過創(chuàng)建空間信息處理虛擬機(GeoVM)、空間信息云平臺彈性伸縮機制和空間信息云服務(wù)開發(fā)平臺,使得通過所述開發(fā)平臺開發(fā)的應(yīng)用都具有自動彈性伸縮功能,包括如下步驟:
[0008]SI,建立空間信息處理虛擬機管理機制,空間信息處理虛擬機管理機制包括通過創(chuàng)建空間信息處理虛擬機管理中間件來管理空間信息處理虛擬機;
[0009]S2,建立空間信息云平臺彈性伸縮機制,獲得對空間信息的彈性計算能力;空間信息云平臺彈性伸縮機制包括建立負(fù)載監(jiān)控器、自動伸縮組件和請求隊列管理器;
[0010]S3,建立空間信息云服務(wù)開發(fā)平臺,用于為用戶訪問系統(tǒng)資源提供接口,使得可以便捷地開發(fā)出具備彈性伸縮能力的云GIS應(yīng)用;空間信息云服務(wù)開發(fā)平臺包括空間信息存儲模型、并行計算模型和GIS開發(fā)接口。
[0011]上述空間信息云計算系統(tǒng)的實現(xiàn)方法,進一步地,步驟SI所述的空間信息處理虛擬機管理是通過使用Python編程語言來封裝OpenStack的REST接口實現(xiàn)的,虛擬機中內(nèi)置有GIS開發(fā)所需的環(huán)境和開發(fā)軟件包。
[0012]步驟SI中的空間信息處理虛擬機管理機制還包括建立空間信息處理虛擬機池,通過所述虛擬機池預(yù)先創(chuàng)建一組可用的虛擬機,并維護可用虛擬機的數(shù)量,以供系統(tǒng)循環(huán)使用,由此減少創(chuàng)建和銷毀空間信息處理虛擬機所用的時間,從而提高空間信息虛擬化的服務(wù)速度。
[0013]在本發(fā)明的實施例中,空間信息處理虛擬機池包括遠程調(diào)用接口 AP1、監(jiān)控器、請求執(zhí)行引擎和數(shù)據(jù)存儲與訪問接口,其管理機制包括:
[0014]通過遠程調(diào)用接口 API接收外部的負(fù)載監(jiān)控器的節(jié)點請求;
[0015]通過監(jiān)控器監(jiān)控可用節(jié)點數(shù)量,使可用節(jié)點數(shù)目保持在合適規(guī)模;
[0016]通過請求執(zhí)行引擎處理空間信息處理虛擬機發(fā)出的請求;
[0017]通過數(shù)據(jù)存儲與訪問接口進行數(shù)據(jù)的訪問和共享。
[0018]上述任一空間信息云計算系統(tǒng)的實現(xiàn)方法中,步驟S2中建立負(fù)載監(jiān)控器是通過采用負(fù)載監(jiān)測服務(wù)glances來監(jiān)測各數(shù)據(jù)節(jié)點的負(fù)載信息,并通過輪詢機制定期獲取系統(tǒng)的負(fù)載信息和負(fù)載級別,以此來計算用戶集群當(dāng)前的負(fù)載情況。
[0019]優(yōu)選地,步驟S2中所述的空間信息云平臺彈性伸縮機制包括如下過程:
[0020]S61,通過負(fù)載監(jiān)控器對用戶集群各數(shù)據(jù)節(jié)點進行監(jiān)測,計算負(fù)載指數(shù)和對應(yīng)的負(fù)載級別,由此獲取用戶集群各數(shù)據(jù)節(jié)點的負(fù)載狀態(tài);
[0021]S62,當(dāng)負(fù)載監(jiān)控器監(jiān)測到用戶集群的每個數(shù)據(jù)節(jié)點的負(fù)載都在較高水平時,自動向空間信息處理虛擬機池發(fā)送增加一個空間信息處理虛擬機的申請請求;當(dāng)監(jiān)控器監(jiān)測到用戶集群的每個數(shù)據(jù)節(jié)點的負(fù)載過低,負(fù)載監(jiān)控器則向空間信息處理虛擬機池發(fā)送用戶集群縮減操作的申請請求;
[0022]S63,空間信息處理虛擬機池接收到相應(yīng)的申請請求后,為用戶集群分配一個新的或減去一個原有的空間信息處理虛擬機。
[0023]上述空間信息云計算系統(tǒng)的實現(xiàn)方法中,步驟S3所述空間信息存儲模型是通過分布式數(shù)據(jù)庫Hbase建立元數(shù)據(jù)表和空間數(shù)據(jù)表來存儲數(shù)據(jù)的;其中,元數(shù)據(jù)表用于存儲空間數(shù)據(jù)的元數(shù)據(jù)信息,空間數(shù)據(jù)表用于存儲空間信息。所述并行計算模型是通過采用MapReduce 實現(xiàn)的。
[0024]本發(fā)明的有益效果是:
[0025]與現(xiàn)有技術(shù)相比,本發(fā)明的空間信息云計算系統(tǒng)及實現(xiàn)方法采用虛擬機管理、負(fù)載監(jiān)控、自動伸縮、并行編程模型等技術(shù),符合云GIS對空間信息彈性計算的要求,為GIS開發(fā)者提供一種支持彈性計算的空間信息云服務(wù)開發(fā)平臺,解決現(xiàn)有技術(shù)難以解決的海量空間數(shù)據(jù)存儲困難、運維成本高、計算緩慢、可伸縮性較差以及價格高昂等問題,降低開發(fā)者開發(fā)出具備強大計算能力的云GIS應(yīng)用的成本和開發(fā)難度。因此,本發(fā)明適用于對海量空間數(shù)據(jù)進行存儲、處理和分析,可以方便、快速地開發(fā)云GIS應(yīng)用及部署服務(wù),為空間信息云計算平臺(PaaS)的發(fā)展提供可行的技術(shù)方案。
【專利附圖】
【附圖說明】
[0026]圖1為本發(fā)明空間信息云計算系統(tǒng)的結(jié)構(gòu)框圖。
[0027]圖2為本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)框圖。
[0028]圖3為本發(fā)明實施例中虛擬機管理的結(jié)構(gòu)框圖。
[0029]圖4為本發(fā)明實施例中虛擬機池的結(jié)構(gòu)框圖。
[0030]圖5為本發(fā)明實施例中負(fù)載監(jiān)控的結(jié)構(gòu)框圖。
[0031]圖6為本發(fā)明實施例中自動伸縮過程的示意圖。
[0032]圖7為本發(fā)明實施例中空間信息云計算開發(fā)平臺的結(jié)構(gòu)框圖。
[0033]圖8為本發(fā)明實施例中一次負(fù)載監(jiān)測的流程圖。
【具體實施方式】
[0034]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
[0035]本發(fā)明的基本思想是利用虛擬化和負(fù)載監(jiān)控等技術(shù)實現(xiàn)系統(tǒng)的自動彈性伸縮,并將此能力提供給開發(fā)平臺,使得利用此平臺開發(fā)的應(yīng)用都具有自動彈性伸縮功能。
[0036]本發(fā)明空間信息云計算系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,本實施例中,空間信息云計算系統(tǒng)的實現(xiàn)方法主要包括創(chuàng)建空間信息處理虛擬機(GeoVM)、空間信息云平臺彈性伸縮機制和空間信息云服務(wù)開發(fā)平臺,具體包括如下步驟:
[0037]SI,通過創(chuàng)建空間信息處理虛擬機,建立空間信息處理虛擬機(GeoVM)管理機制,獲得對空間信息彈性計算、自動伸縮、簡單運維和復(fù)雜場景下的云GIS應(yīng)用的虛擬化服務(wù),GeoVM管理機制具體包括GeoVM管理中間件和GeoVM池:
[0038]通過創(chuàng)建GeoVM管理中間件來管理GeoVM,從而實現(xiàn)對GeoVM的創(chuàng)建、啟動、刪除和更改;
[0039]通過創(chuàng)建GeoVM池來提高空間信息虛擬化的服務(wù)速度,從而減少“創(chuàng)建”和“銷毀” GeoVM所用的時間,有效地提高系統(tǒng)的運行效率;
[0040]S2,通過負(fù)載監(jiān)控器、自動伸縮組件和請求隊列管理器建立空間信息云平臺彈性伸縮機制,獲得對空間信息的彈性計算能力;
[0041]S3,建立空間信息云服務(wù)開發(fā)平臺,包括空間信息存儲模型、并行計算模型和GIS開發(fā)接口,用于為用戶訪問系統(tǒng)資源提供接口,使得可以便捷地開發(fā)出具備彈性伸縮能力的云GIS應(yīng)用。
[0042]通過上述方法實現(xiàn)的空間信息云計算系統(tǒng)包括空間信息處理虛擬機、空間信息云平臺彈性計算處理器和空間信息云服務(wù)開發(fā)平臺三個部分,其中:
[0043](I)空間信息處理虛擬機提供對硬件資源的虛擬化服務(wù);
[0044](2)空間信息云平臺彈性計算處理器包括負(fù)載監(jiān)控器和自動伸縮組件,提供對計算資源的自動伸縮服務(wù);[0045](3)空間信息云服務(wù)開發(fā)平臺包括空間信息存儲模型、并行計算模型和GIS開發(fā)接口,用于對外提供云GIS應(yīng)用開發(fā)服務(wù),通過它開發(fā)的應(yīng)用具備計算資源自動伸縮的能力。
[0046]本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖如圖2所示,空間信息云計算系統(tǒng)包括三層,最上層是空間信息云服務(wù)開發(fā)平臺,它是用戶訪問系統(tǒng)資源的接口,為簡單方便地開發(fā)具備彈性伸縮能力的云GIS應(yīng)用提供技術(shù)支撐沖間層是空間信息云平臺彈性伸縮機制,它為“空間信息云服務(wù)開發(fā)平臺”提供彈性計算能力;最下層是空間信息處理虛擬機(GeoVM)管理機制,它為“空間信息云平臺彈性伸縮機制”提供快速的空間信息虛擬化服務(wù)。簡而言之,沒有虛擬化服務(wù),彈性計算機制無法實現(xiàn);而沒有彈性計算機制,空間信息開發(fā)平臺則無法具備彈性伸縮能力。
[0047]空間信息處理虛擬機管理機制的主要作用是為彈性計算、自動伸縮、簡單運維以及復(fù)雜場景下的云GIS應(yīng)用提供虛擬化服務(wù)。GeoVM管理主要包括GeoVM管理中間件和GeoVM池。前者能夠輕易地創(chuàng)建、啟動、刪除、更改一個GeoVM;后者則可以大大減少“創(chuàng)建”和“銷毀” GeoVM所用的時間,有效地提高了系統(tǒng)的運行效率。
[0048]如圖3所示,GeoVM管理機制是通過使用Python編程語言來封裝OpenStack的開發(fā)接口實現(xiàn)的。OpenStack服務(wù)運行在一系列的物理機之上,其本身也是一種主從式服務(wù),由一個主節(jié)點和一組工作節(jié)點組成。通過其創(chuàng)建的虛擬機內(nèi)置有GIS開發(fā)所需的環(huán)境和各種開發(fā)軟件包,包括GDAL、GEOS, PROJ等,從而可以對空間信息的存儲、處理和分析提供必要的支持。
[0049]圖4為GeoVM池的結(jié)構(gòu)圖,它由遠程調(diào)用接口、GeoVM池監(jiān)控器、請求執(zhí)行引擎和數(shù)據(jù)存儲與訪問等四部分構(gòu)成。遠程調(diào)用接口 API用于接收外部的負(fù)載監(jiān)控器的節(jié)點請求;GeoVM池監(jiān)控器用于監(jiān)控可用節(jié)點數(shù)量,使可用節(jié)點數(shù)目保持在合適規(guī)模;請求執(zhí)行引擎則不斷處理各種GeoVM請求;數(shù)據(jù)存儲與訪問用于進行數(shù)據(jù)的訪問和共享。虛擬機池通過預(yù)先創(chuàng)建一組可用的虛擬機,并維護可用虛擬機的數(shù)量,以供系統(tǒng)循環(huán)使用。虛擬機池可以加快虛擬機管理的服務(wù)速度。
[0050]空間信息云平臺彈性伸縮機制主要由負(fù)載監(jiān)控器、自動伸縮組件和請求隊列處理器組成。用戶集群中內(nèi)置的負(fù)載監(jiān)控器會自動監(jiān)測用戶集群的負(fù)載情況,并計算負(fù)載級別。自動伸縮組件會根據(jù)此信息自適應(yīng)地調(diào)整用戶的集群規(guī)模,包括增加資源或者建議用戶減少資源,從而在確保用戶應(yīng)用性能的情況下,保證較高的資源利用率。請求隊列用于暫存各用戶集群的節(jié)點請求,同時將這些請求按照緊急次序轉(zhuǎn)交給請求執(zhí)行引擎處理,使負(fù)載監(jiān)控器與請求執(zhí)行引擎之間實現(xiàn)松耦合。各計算集群都能通過該機制實現(xiàn)自動伸縮,使集群保持在適度規(guī)模,提高了資源的利用率,也極大地降低了集群的維護成本。
[0051]圖5為本發(fā)明的實施例中負(fù)載監(jiān)控工作時的結(jié)構(gòu)框圖。負(fù)載監(jiān)控是通過采用負(fù)載監(jiān)測服務(wù)glances來監(jiān)測各數(shù)據(jù)節(jié)點的負(fù)載信息,并通過輪詢機制定期獲取系統(tǒng)的負(fù)載信息和負(fù)載級別,通過自動伸縮信息來實現(xiàn)對系統(tǒng)計算資源的自動調(diào)節(jié)。在每個數(shù)據(jù)節(jié)點上,都內(nèi)置有g(shù)lances軟件服務(wù),隨機啟動,它會按照系統(tǒng)設(shè)置,自動監(jiān)控自身節(jié)點的相關(guān)指標(biāo)狀態(tài)。負(fù)載監(jiān)控器內(nèi)置于目錄節(jié)點上,它會周期性地啟動負(fù)載監(jiān)測任務(wù),通過glances提供的服務(wù)來獲取集群各數(shù)據(jù)節(jié)點的負(fù)載狀態(tài),以此來計算用戶集群當(dāng)前的負(fù)載情況。遠程調(diào)用接口是以遠程過程調(diào)用的形式向系統(tǒng)其他組件提供通信服務(wù)的組件。[0052]圖6為本發(fā)明的實施例中自動伸縮工作時的示意圖,圖中的一個用戶集群(Cluster)由四個工作節(jié)點組成,分別為節(jié)點1,節(jié)點2,節(jié)點3,節(jié)點4。如圖所示,原集群的每個節(jié)點的負(fù)載都在較高水平,這樣的情況可能會影響到系統(tǒng)的運行效率,如果負(fù)載進一步增加,系統(tǒng)可能面臨崩潰的風(fēng)險。集群內(nèi)置的負(fù)載監(jiān)控器檢測到這種狀況,于是自動向GeoVM池發(fā)送了一個GeoVM申請請求。GeoVM池在接受到這個請求后,為集群分配了一個新的GeoVM。于是,剛才這個具有較高負(fù)載的集群獲得了一個新成員,設(shè)為節(jié)點5。系統(tǒng)內(nèi)的負(fù)載均衡機制會將前面四個節(jié)點的一部分任務(wù)遷移到節(jié)點5上,于是節(jié)點1-節(jié)點4的負(fù)載均得到降低,系統(tǒng)的整體負(fù)載也因此降低到合理水平,如圖6的右部分所示。
[0053]如圖8所示,負(fù)載監(jiān)測和自動伸縮工作時的步驟如下:
[0054]Stepl:檢查系統(tǒng)的運行環(huán)境是否正常,如網(wǎng)絡(luò)是否通暢,所需要的各種硬件資源是否準(zhǔn)備完畢等。如果檢測結(jié)果不正常,則說明集群系統(tǒng)存在故障,不能正常運行,轉(zhuǎn)至Step5 ;
[0055]Step2:獲取當(dāng)前集群的節(jié)點列表,并計算系統(tǒng)的負(fù)載指數(shù)和對應(yīng)的負(fù)載級別;
[0056]St印3:計算負(fù)載級別是否合法,如果它屬于正常范圍,則程序轉(zhuǎn)至St印I ;否則,進入Step4 ;
[0057]St印4:負(fù)載監(jiān)控器會根據(jù)所計算出來的負(fù)載級別,如果負(fù)載過高,則向GeoVM池發(fā)送一個具備優(yōu)先級的節(jié)點申請;而如果負(fù)載過低,負(fù)載監(jiān)控器則會發(fā)送集群縮減操作的申請。申請發(fā)送完畢后,程序轉(zhuǎn)至Stepl ;
[0058]St印5:系統(tǒng)環(huán)境發(fā)生異常,程序結(jié)束。
[0059]空間信息云服務(wù)開發(fā)平臺將軟件研發(fā)的平臺作為一種服務(wù)提供給開發(fā)者,使得云GIS開發(fā)者能夠輕易地利用云計算的資源和能力來開發(fā)GIS應(yīng)用和服務(wù)。平臺的結(jié)構(gòu)如圖7所示,它由空間信息存儲模型、并行計算模型和云GIS應(yīng)用開發(fā)API三部分組成??臻g信息存儲模型基于NoSQL數(shù)據(jù)庫HBase實現(xiàn),采用HBase來存儲數(shù)據(jù);空間信息存儲模型建了兩種表:元數(shù)據(jù)表和空間數(shù)據(jù)表;其中,元數(shù)據(jù)表用于存儲空間數(shù)據(jù)的元數(shù)據(jù)信息,空間數(shù)據(jù)表用于存儲空間信息;從而使得能夠大規(guī)模且高效地存儲與訪問海量空間數(shù)據(jù)。基于上述空間信息存儲模型,創(chuàng)建一套適合于云計算環(huán)境下的GIS應(yīng)用開發(fā)接口,包括空間信息存儲、訪問、處理和分析等多種功能,這些操作接口是利用并行計算編程模型MapReduce來實現(xiàn)的,從而可以有效地利用大規(guī)模集群的計算能力??臻g信息云服務(wù)開發(fā)平臺建立在彈性計算機制之上,從而在此平臺上開發(fā)的GIS應(yīng)用能享受到彈性伸縮帶來的優(yōu)勢??臻g信息云服務(wù)開發(fā)平臺直接面向用戶,它將軟件研發(fā)的平臺作為一種服務(wù)提供給用戶,使用戶能夠輕易地開發(fā)出具備彈性伸縮能力的云GIS應(yīng)用。
[0060]以上結(jié)合附圖對本發(fā)明的【具體實施方式】作了說明,但這些說明不能被理解為限制了本發(fā)明的范圍,本發(fā)明的保護范圍由隨附的權(quán)利要求書限定,任何在本發(fā)明權(quán)利要求基礎(chǔ)上的改動都是本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種空間信息云計算系統(tǒng),其特征是,所述系統(tǒng)自下而上包括空間信息處理虛擬化模塊、空間信息彈性計算模塊和空間信息云服務(wù)開發(fā)平臺模塊,所述空間信息處理虛擬化模塊提供對硬件資源的虛擬化服務(wù);所述空間信息彈性計算模塊提供計算資源的自動伸縮服務(wù);所述空間信息云服務(wù)開發(fā)平臺模塊用于對外提供云GIS應(yīng)用開發(fā)服務(wù),通過它開發(fā)的GIS應(yīng)用具備計算資源自動伸縮的能力。
2.一種空間信息云計算系統(tǒng)的實現(xiàn)方法,所述方法通過創(chuàng)建空間信息處理虛擬機、空間信息云平臺彈性伸縮機制和空間信息云服務(wù)開發(fā)平臺,使得通過所述空間信息云服務(wù)開發(fā)平臺開發(fā)出的應(yīng)用都具有自動彈性伸縮功能,其特征是,包括如下步驟: SI,建立空間信息處理虛擬機管理機制,所述空間信息處理虛擬機管理機制包括通過創(chuàng)建空間信息處理虛擬機管理中間件來管理空間信息處理虛擬機; S2,建立空間信息云平臺彈性伸縮機制,獲得對空間信息的彈性計算能力;所述空間信息云平臺彈性伸縮機制包括建立負(fù)載監(jiān)控器、自動伸縮組件和請求隊列管理器; S3,建立空間信息云服務(wù)開發(fā)平臺,用于為用戶訪問系統(tǒng)資源提供接口,使得可以便捷地開發(fā)出具備彈性伸縮能力的云GIS應(yīng)用;所述空間信息云服務(wù)開發(fā)平臺包括空間信息存儲模型、并行計算模型和GIS開發(fā)接口。
3.如權(quán)利要求2所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟SI所述空間信息處理虛擬機管理是通過使用Python編程語言來封裝OpenStack的REST接口實現(xiàn)的,虛擬機中內(nèi)置有GIS開發(fā)所需的環(huán)境和開發(fā)軟件包。
4.如權(quán)利要求2所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟SI所述空間信息處理虛擬機管理機制還包括建立空間信息處理虛擬機池,通過所述虛擬機池預(yù)先創(chuàng)建一組可用的虛擬機,并維護可用虛擬機的數(shù)量,以供系統(tǒng)循環(huán)使用,由此減少創(chuàng)建和銷毀空間信息處理虛擬機所用的時間,從而提高空間信息虛擬化的服務(wù)速度。
5.如權(quán)利要求4所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,所述空間信息處理虛擬機池包括遠程調(diào)用接口 AP1、監(jiān)控器、請求執(zhí)行引擎和數(shù)據(jù)存儲與訪問接口,其管理機制包括: 通過遠程調(diào)用接口 API接收外部的負(fù)載監(jiān)控器的節(jié)點請求; 通過監(jiān)控器監(jiān)控可用節(jié)點數(shù)量,使可用節(jié)點數(shù)目保持在合適規(guī)模; 通過請求執(zhí)行引擎處理空間信息處理虛擬機發(fā)出的請求; 通過數(shù)據(jù)存儲與訪問接口進行數(shù)據(jù)的訪問和共享。
6.如權(quán)利要求4所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟S2所述空間信息云平臺彈性伸縮機制包括如下過程: S61,通過負(fù)載監(jiān)控器對用戶集群各數(shù)據(jù)節(jié)點進行監(jiān)測,計算負(fù)載指數(shù)和對應(yīng)的負(fù)載級另O,由此獲取用戶集群各數(shù)據(jù)節(jié)點的負(fù)載狀態(tài); S62,當(dāng)負(fù)載監(jiān)控器監(jiān)測到用戶集群的每個數(shù)據(jù)節(jié)點的負(fù)載都在較高水平時,自動向空間信息處理虛擬機池發(fā)送增加一個空間信息處理虛擬機的申請請求;當(dāng)監(jiān)控器監(jiān)測到用戶集群的每個數(shù)據(jù)節(jié)點的負(fù)載過低,負(fù)載監(jiān)控器則向空間信息處理虛擬機池發(fā)送用戶集群縮減操作的申請請求; S63,空間信息處理虛擬機池接收到相應(yīng)的申請請求后,為用戶集群分配一個新的或減去一個原有的空間信息處理虛擬機。
7.如權(quán)利要求2所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟S2所述建立負(fù)載監(jiān)控器是通過采用負(fù)載監(jiān)測服務(wù)glances來監(jiān)測各數(shù)據(jù)節(jié)點的負(fù)載信息,并通過輪詢機制定期獲取系統(tǒng)的負(fù)載信息和負(fù)載級別,以此來計算用戶集群當(dāng)前的負(fù)載情況。
8.如權(quán)利要求2所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟S3所述空間信息存儲模型是通過分布式數(shù)據(jù)庫Hbase建立元數(shù)據(jù)表和空間數(shù)據(jù)表來存儲數(shù)據(jù)的;所述元數(shù)據(jù)表用于存 儲空間數(shù)據(jù)的元數(shù)據(jù)信息,所述空間數(shù)據(jù)表用于存儲空間信息。
9.如權(quán)利要求2所述空間信息云計算系統(tǒng)的實現(xiàn)方法,其特征是,步驟S3所述并行計算模型是通過采用MapReduce實現(xiàn)的。
【文檔編號】G06F17/30GK104021029SQ201410264234
【公開日】2014年9月3日 申請日期:2014年6月13日 優(yōu)先權(quán)日:2014年6月13日
【發(fā)明者】陳斌, 劉躍虎 申請人:北京大學(xué)