3sNews訊 為期兩天的2012地理信息開發(fā)者大會(huì)(簡(jiǎn)稱:WGDC)在北京國(guó)家會(huì)議中心舉行,本次大會(huì)以“新技術(shù)、新模式、新商業(yè)”為主題,是地理信息領(lǐng)域最具影響力的技術(shù)性盛會(huì),其宗旨是不斷引領(lǐng)和促進(jìn)地理信息技術(shù)的創(chuàng)新與變革。在第二天“Map+與開發(fā)者訓(xùn)練營(yíng)”分會(huì)場(chǎng),來(lái)自易智瑞(中國(guó))信息技術(shù)有限公司的高級(jí)應(yīng)用咨詢師許哲發(fā)表了題為《ArcGIS 10.1 for Server技術(shù)架構(gòu)》的演講。
易智瑞(中國(guó))信息技術(shù)有限公司的高級(jí)應(yīng)用咨詢師許哲
以下為文字實(shí)錄:
剛才我在外面跟很多朋友聊天的時(shí)候,我說(shuō)下午的講座一般兩場(chǎng)講座都是比較困難的,都是有歷史責(zé)任的。第一是下午第一場(chǎng)講座,負(fù)責(zé)把大家的耳朵叫醒,把眼皮撐開,最后的一場(chǎng)講座往往是結(jié)束大家快樂(lè)或者是痛苦的一個(gè)過(guò)程。今天我跟大家分享的內(nèi)容會(huì)稍微簡(jiǎn)單一些,大家從低頭做我們應(yīng)用或者是開發(fā)的同時(shí),能抬起頭來(lái)看一看現(xiàn)在大家怎么樣去應(yīng)用這些新的技術(shù),去構(gòu)建自己的產(chǎn)品或者是服務(wù),有什么樣的實(shí)施可以用于我們的項(xiàng)目或者是后續(xù)的內(nèi)容。
我想對(duì)于ArcGIS for Server這個(gè)產(chǎn)品,大家如果做開發(fā)的話會(huì)比較了解,在10.1這個(gè)新的版本上會(huì)為我們帶來(lái)哪些改變,今天我們從一個(gè)架構(gòu)的角度來(lái)去跟大家解析一下新的產(chǎn)品有哪些新的改變。我們平時(shí)在做大量的產(chǎn)品或者應(yīng)用的時(shí)候,尤其接觸到很多的客戶做一些產(chǎn)品或者是做一些功能,做了很多功能,客戶的需求都達(dá)到了,有很多非常豐富的功能。后來(lái)談到面臨的是性能的問(wèn)題,后來(lái)說(shuō)把這些東西進(jìn)行整合,面臨著這些東西到底如何去整合?它會(huì)從一個(gè)比較大的角度去考慮,就會(huì)考慮到什么是架構(gòu),或者說(shuō)我們這個(gè)架構(gòu)到底應(yīng)該怎么做。
這里面架構(gòu)的定義無(wú)序過(guò)多的復(fù)述。我們做了大量的應(yīng)用,相信在座很多的開發(fā)人員應(yīng)該是用ArcGIS for Server做開發(fā),今天大家有些人問(wèn)我你們的產(chǎn)品是什么樣的?我簡(jiǎn)單給大家說(shuō)一下ArcGIS for Server。其實(shí)我們平常的日常工作當(dāng)中會(huì)經(jīng)常遇到這些的問(wèn)題,經(jīng)常打交道的就是我們的數(shù)據(jù)如何去管理,我們?nèi)绾蔚阶詈笕ブС执笥脩袅康牟l(fā)以及如何去滿足我們用戶對(duì)性能上的需求,以及現(xiàn)在我們的智能終端,以及在手機(jī)上有更多這樣的應(yīng)用。對(duì)于這些問(wèn)題,你們的產(chǎn)品或者是用一個(gè)什么樣的方式可以很好的解決這些內(nèi)容。
我們現(xiàn)在重新來(lái)看ArcGIS for Server。其實(shí)它就是一個(gè)用于共享的平臺(tái),大家說(shuō)我們?nèi)绱撕?jiǎn)單定義的這些內(nèi)容,對(duì)于我們開發(fā)人員來(lái)說(shuō)會(huì)考慮哪些內(nèi)容?我們可以看一下,這些問(wèn)題我們是不是經(jīng)常問(wèn)自己?你既然是一個(gè)共享的平臺(tái),或者說(shuō)我們做了那么多的功能,其實(shí)在最后我們會(huì)問(wèn)自己,我們?cè)诠蚕硎裁?或者說(shuō)我們拿什么樣的東西去滿足用戶的需求?東西越來(lái)越多,這些資源如何去整合?怎么樣去完成這樣一個(gè)共享的命題?我們共享出來(lái)的這些內(nèi)容,跟誰(shuí)一起去分享?基于一種共享的環(huán)境,我們能做哪些內(nèi)容?我會(huì)跳出我們做具體的功能上來(lái)完善,跳出這個(gè)圈子我們來(lái)考慮一下這些內(nèi)容,這是很多客戶做了很多東西的羅列之后,會(huì)從上至下考慮這個(gè)問(wèn)題。現(xiàn)在大家做了很多工作的是共享平面的地圖,這是大家現(xiàn)在做得非常成熟的,對(duì)于GIS核心的內(nèi)容有這樣的需求,無(wú)論是從管理方面的需求,還是基于影像的一些運(yùn)算,核心的是我們的數(shù)據(jù)是不是能和大家分享,愿意不愿意分享是另外一回事。還有GIS說(shuō)的分析,或者是基于GIS數(shù)據(jù)的統(tǒng)一、整合和發(fā)掘是GIS的核心內(nèi)容,我們能不能把我們一些日常工作的經(jīng)驗(yàn),這些工具拿出來(lái)也跟大家分享,去減少其他人在做同類工作的一些時(shí)間。我們會(huì)完成這么多內(nèi)容的分享,大家看到外面的展臺(tái)或者是新興應(yīng)用,你的位置信息,有大量的位置信息產(chǎn)品,POI以及物流配送的應(yīng)用,都會(huì)用到這些東西。
我們?nèi)绾伟堰@些內(nèi)容通過(guò)一個(gè)統(tǒng)一的平臺(tái),以一種整合的方式和大家一起在這個(gè)上面做一些應(yīng)用?我們看這個(gè)平臺(tái)能為我們帶來(lái)什么?以前我們可能通過(guò)最早的這種方式,比如說(shuō)文件,或者是通過(guò)局域網(wǎng)的等等。隨著互聯(lián)網(wǎng)這種發(fā)展,第一天一直談到GIS是不是主流IT的追隨者,或者是創(chuàng)新的這樣一個(gè)話題,其實(shí)歸功于主流IT的發(fā)展,隨著互聯(lián)網(wǎng)的發(fā)展,Web Service逐漸的成為大家共享的平臺(tái),提供什么方法和渠道通過(guò)Web Service進(jìn)行共享?Rest API是近兩年來(lái)大家一直追捧和熱捧的方式。相對(duì)于Rest,另外一種主流的或者大家用的比較多的是基于Soap的方式,會(huì)比Rest有非常嚴(yán)格的協(xié)議或者是規(guī)則。我們都可以借助Web Service共享上面的內(nèi)容,我們可以共享平面的地圖,基于三維的這種服務(wù)或者是實(shí)體的影像去做一些更高級(jí)的應(yīng)用。一些異構(gòu)的資源,就要求你的平臺(tái)也好,或者說(shuō)你自己做的產(chǎn)品也好,能不能有一個(gè)很好的支持。我們談到這些工具的使用,現(xiàn)在逐漸被大家所認(rèn)知的應(yīng)該是把經(jīng)驗(yàn)積累,我們可以采用這種方式,可以滿足需求。我們這樣一些技術(shù)手段到底誰(shuí)來(lái)用?我們給誰(shuí)去用?現(xiàn)在這種共享的方式大家可以看一下這個(gè)截圖,如果我們做完了這樣一個(gè)服務(wù)和應(yīng)用的話,我們可以通過(guò)非常簡(jiǎn)單的方式就可以嵌入到自己的業(yè)務(wù)系統(tǒng)里面來(lái)。比如說(shuō)我們從上面的接觸來(lái)看,以一種應(yīng)用的方式共享出來(lái)。另外現(xiàn)在大家的這些自己的網(wǎng)站,或者說(shuō)社交的這種媒體,我可以把這些基于地圖的一些應(yīng)用,位置的信息,很快速的和其他IT資源進(jìn)行整合。
前面談到了我們?nèi)绾稳プ觯峁┦裁?,以什么樣的方式跟大家進(jìn)行共享。下面的內(nèi)容是跟大家分享的核心內(nèi)容,就是說(shuō)你能夠做到這樣的東西,你可能會(huì)考慮到下一個(gè)問(wèn)題,你能夠保障你的性能,你用什么樣的方式去保證你的性能,我們來(lái)看一下如何去考慮這些問(wèn)題。其實(shí)這個(gè)架構(gòu)的問(wèn)題是無(wú)關(guān)于功能的,和功能沒(méi)有什么相關(guān)性的,它只是去考慮在你的整體應(yīng)用里面,那個(gè)2%和性能相關(guān)的一部分,很大的一個(gè)關(guān)系的內(nèi)容。在10.1Server的架構(gòu)圖更加的清晰和簡(jiǎn)單,但是這里面存在著一個(gè)很大的變化,一會(huì)兒我可以給大家詳細(xì)解析這個(gè)變化主要發(fā)生在哪里。我給大家看一下現(xiàn)在應(yīng)用的方式仍然沒(méi)有變,無(wú)論你的終端是桌面的、Web的,只要希望加載這個(gè)資源,都可以對(duì)你的Server提出請(qǐng)求,在大型應(yīng)用系統(tǒng)里面,你肯定會(huì)考慮在Web Server這一層架構(gòu)這個(gè)內(nèi)容。訪問(wèn)GIS Server,這部分的內(nèi)容是GIS真正在發(fā)揮作用的一個(gè)地方。下面當(dāng)然是我們的數(shù)據(jù)資源,可以是異構(gòu)的,也可以是統(tǒng)一的,或者說(shuō)我們前些年所提到的這種一張圖或統(tǒng)一式的管理。不管怎么樣,下面是數(shù)據(jù)資源。
我們對(duì)這樣一個(gè)大型的平臺(tái),或者是Server這樣一個(gè)分享的機(jī)制,我們?nèi)绾稳ス芾砗竺孢@樣一個(gè)平臺(tái)?可以在這個(gè)層面上,通過(guò)兩種方式進(jìn)行整合和管理。你可以通過(guò)一個(gè)Web頁(yè)面的工作界面去管理眾多的GIS Server,也可以通過(guò)桌面軟件去管理我們這些上述的資源。GIS Server和以往有一個(gè)很重要的架構(gòu)上的變化,大家可以看到,以往的架構(gòu)里面上面可能還有其他一些東西,之后才是GIS Server自己內(nèi)部的核心,而現(xiàn)在整合架構(gòu)圖上大家可以看到,這部分空間被明顯的壓縮了,只有一個(gè)GIS Server,這個(gè)GIS Server和以往我們所提供的GIS Server有什么樣的區(qū)別?當(dāng)然這個(gè)GIS Server可以理解成是和任何產(chǎn)品和平臺(tái)都沒(méi)有關(guān)系的,你去做一個(gè)或者是拿到一個(gè)開源的GIS Server,只要是做GIS的,可能都要去滿足這樣的一些功能。核心的你要能夠滿足客戶端對(duì)于GIS的各種請(qǐng)求,包括客戶端地圖的繪制,工具的這些,或者是數(shù)據(jù)的查詢。包括剛才講的這種查詢,在數(shù)據(jù)庫(kù)層面上是怎么樣一個(gè)實(shí)現(xiàn)的過(guò)程。對(duì)于前端來(lái)說(shuō),無(wú)論從哪里提交這樣的一個(gè)請(qǐng)求,真正幫你完成實(shí)際工作的,是以GIS Server為強(qiáng)大的力量,對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行一個(gè)交互。當(dāng)然,對(duì)于Web來(lái)說(shuō),你能夠提供HTTP這種服務(wù),是最基礎(chǔ)的內(nèi)容。
這里面對(duì)重要的一部分,大家對(duì)于這個(gè)能不能夠進(jìn)行分組,這里面現(xiàn)在在這種大規(guī)模的群集性架構(gòu)的時(shí)候變得尤為突出,當(dāng)你的性能遇到瓶頸的時(shí)候,大家總會(huì)想到用什么樣的方式去解決。現(xiàn)在大家比較通用的,其實(shí)無(wú)論是哪種平臺(tái),或者是哪種技術(shù),他會(huì)支撐這種龐大的復(fù)雜請(qǐng)求,或者是并發(fā)的時(shí)候都會(huì)采取這種架構(gòu),包括數(shù)據(jù)庫(kù)也是一樣。像Oracle也有這種群集架構(gòu)的基礎(chǔ),GIS Server也會(huì)有這樣的內(nèi)容。對(duì)于我們小規(guī)模的應(yīng)用,或者是傳統(tǒng)的應(yīng)用沒(méi)有那么大型的一些并發(fā)請(qǐng)求的時(shí)候,我們能不能去節(jié)省一部分經(jīng)費(fèi),壓縮一下整體的所有組件的內(nèi)容,或者說(shuō)我們經(jīng)費(fèi)的開支?GIS Server其實(shí)內(nèi)置了一個(gè)Web Server,當(dāng)你的請(qǐng)求或者說(shuō)你的任務(wù)量沒(méi)有那么大的時(shí)候,GIS Server內(nèi)置的Web Server就足可以滿足我們這樣的一個(gè)需要。
剛才談到了這種群組或者大規(guī)模集群應(yīng)用面臨的問(wèn)題,就是說(shuō)你的軟件能否進(jìn)行自己的負(fù)載均衡?如果你沒(méi)有個(gè)機(jī)制的話,那么我可能會(huì)借助于外部的技術(shù)或者是一些軟件,或者是一些硬件,無(wú)外乎會(huì)給大家整體的從技術(shù)角度來(lái)說(shuō),把你的系統(tǒng)變得非常復(fù)雜,因?yàn)槟氵@里面會(huì)攙雜著各種各樣的技術(shù)或者是產(chǎn)品。如果說(shuō)我們自己就可以完成這個(gè)事情的話,相對(duì)從各方面來(lái)說(shuō),會(huì)變得簡(jiǎn)潔,也會(huì)變得非常簡(jiǎn)單。
這里面GIS Server在10.1之后會(huì)提供一個(gè)非常有趣的功能,或者是非常實(shí)用的一個(gè)功能,這個(gè)功能叫做群集。這種需求在哪里呢?比如說(shuō)我們現(xiàn)在這種大型的應(yīng)用,里面地圖當(dāng)然是主體。還有一部分內(nèi)容,比如我們剛才談到的,要做一些實(shí)際的業(yè)務(wù)應(yīng)用,比如說(shuō)我們的選址,肯定是有一個(gè)分析的過(guò)程。當(dāng)我把這些所有的一個(gè)請(qǐng)求一股腦的丟給GIS Server的時(shí)候,是又要地圖,又要請(qǐng)求,大家一起來(lái)做,這是負(fù)擔(dān)比較重的一件事情。并且從某一種系統(tǒng)底層架構(gòu)來(lái)說(shuō),它們之間會(huì)產(chǎn)生頻繁的交互,或者說(shuō)從隔離的角度來(lái)講,可能都是很復(fù)雜的一個(gè)事情。現(xiàn)在我們能不能期待這樣一種東西?你的這些服務(wù)器拿出來(lái)做一個(gè)分組,它只接受單一的一種請(qǐng)求,就是讓很擅長(zhǎng)的這一部分人去做他所擅長(zhǎng)的事情。那么對(duì)于GIS Server10.1這個(gè)結(jié)構(gòu),它提供了這樣一個(gè)群組的功能。比如說(shuō)我們現(xiàn)在有10臺(tái)機(jī)器,其中有兩臺(tái)機(jī)器性能是非常好的,或者說(shuō)有其他的幾臺(tái)機(jī)器性能非常好,我們就可以把它單獨(dú)的劃出來(lái),去完成一些運(yùn)算頻率比較高,或者說(shuō)負(fù)載任務(wù)量比較重的面。而把相對(duì)來(lái)說(shuō)做這種地圖切片請(qǐng)求的,單獨(dú)放到一臺(tái)服務(wù)器上。因?yàn)槲覀儫o(wú)論是Google為也好,百度也好,或者是搜狗做地圖的,現(xiàn)在在互聯(lián)網(wǎng)上大家做Web地圖,很多的都會(huì)采用緩存機(jī)制。對(duì)于服務(wù)器來(lái)說(shuō),已經(jīng)緩存成圖片了,可以以流媒體或者是其他的方式返回回去。這部分的內(nèi)容并不需要性能非常好的機(jī)器去支持,就可以把以前大家可能在幾年前購(gòu)置的一些硬件利用起來(lái),把它作為一個(gè)群組,給它完成這部分的內(nèi)容。剛才我們談到對(duì)機(jī)器性能要求比較高的這些內(nèi)容,這些機(jī)器組織在一起,完成一些需要花費(fèi)很大的資源才能完成的請(qǐng)求,也就是說(shuō)你的分析、處理請(qǐng)求,這是10.1上Server里面比較新的一些特點(diǎn)。
在10.1里面現(xiàn)在增加了這樣一種組件,叫做Web Adpator,如果是單機(jī)應(yīng)用的話,不需要去裝這樣一個(gè)組件。剛才我說(shuō)了,本來(lái)GIS Server內(nèi)置了一個(gè)Web Server,如果請(qǐng)求不是那么多,它自己完全可以支撐住。如果用下面很多機(jī)器做了一個(gè)群集之后,你這些機(jī)器要識(shí)別,哪些請(qǐng)求發(fā)送到哪些機(jī)器上,從這些機(jī)器再選擇一個(gè)結(jié)果,并且讓這些機(jī)器做這個(gè)事,那些機(jī)器去做那個(gè)事情,這些任務(wù),這個(gè)請(qǐng)求怎么分配?我們就可以通過(guò)這種組件來(lái)完成。并且這個(gè)組件也可以去監(jiān)測(cè)到它下面所管理的這些Server的狀態(tài),它是否Down機(jī)了,之后我不會(huì)把這個(gè)請(qǐng)求發(fā)送到這些機(jī)器,以免耽誤工作流程,這是10.1里面新嵌入的一個(gè)組件,Web Adpator。
Web Server其實(shí)大家已經(jīng)很熟悉了,無(wú)論是做GIS也好,非GIS也好,做互聯(lián)網(wǎng)應(yīng)用的話,很多都有Web服務(wù)器,在整個(gè)10.1的架構(gòu)里面會(huì)被分成兩部分。第一就是它自己內(nèi)置的一個(gè)Web Server,剛才大家已經(jīng)談到了。如果你覺(jué)得我現(xiàn)在的應(yīng)用負(fù)載比較強(qiáng),有可能我需要一個(gè)很好的性能,并且我在這個(gè)層面上恐怕還有一些其他的要求。比如說(shuō)我這種帶寬就這么多,我需要在Web Server這個(gè)層面上去做一些負(fù)載,去做一些其他的應(yīng)用需求,你可以把它換成這種商業(yè)化的IIS、WebSphere這種Web Server,可以給大家更多更靈活的選擇空間。
在整個(gè)架構(gòu)里面突出的一個(gè)概念叫做站點(diǎn)。什么意思呢?以前我們發(fā)布了一個(gè)Web應(yīng)用可能就是一個(gè)請(qǐng)求,現(xiàn)在加入了剛才我們所說(shuō)的,我們可以多臺(tái)機(jī)器一起去完成這個(gè)事情,這些機(jī)器如何分配和協(xié)調(diào),現(xiàn)在把所有多臺(tái)的GIS Server組成了這樣一個(gè)東西,就是站點(diǎn)。這個(gè)站點(diǎn)之內(nèi)可以有一臺(tái)或者是多臺(tái)的GIS Server,如果是多臺(tái)機(jī)器協(xié)調(diào)的話,這里面可以有Web Adpator,對(duì)于數(shù)據(jù)這些層面,怎么樣讓大家知道這些數(shù)據(jù)資源是怎么樣分布的,可以通過(guò)站點(diǎn)里面的這些配置,或者說(shuō)這些目錄里面所帶的配置文件來(lái)進(jìn)行識(shí)別。里面多了一些目錄,我們?nèi)绻匆幌拢@些東西真正的去完成哪些內(nèi)容,幫助我們解決哪些問(wèn)題。
配置這些目錄,其實(shí)是我們?cè)趧?chuàng)建站點(diǎn)的時(shí)候,無(wú)論你是裝一臺(tái)機(jī)器還是多臺(tái)機(jī)器,這個(gè)時(shí)候你都要在這樣的一些機(jī)器系統(tǒng)里面去配置這些位置。在創(chuàng)建站點(diǎn)時(shí)期,存儲(chǔ)的是整個(gè)大站點(diǎn)里面關(guān)鍵的一些應(yīng)用的配置信息,能夠使整個(gè)龐大的系統(tǒng)能夠協(xié)調(diào)在一起關(guān)鍵的地方。它包含了比如說(shuō)參與到你這個(gè)大的站點(diǎn)的這樣一個(gè)組織里面,所有的機(jī)器信息,還有我們?nèi)绻麆澐秩杭脑挘氵@些群集是由哪些機(jī)器完成的,或者由哪些機(jī)器所組成的,也是利用站點(diǎn)的配置來(lái)完成的。對(duì)于站點(diǎn)的整個(gè)假設(shè)來(lái)說(shuō)是非常關(guān)鍵的,也就是說(shuō)里面配置信息的存儲(chǔ)?,F(xiàn)在我們多了很多這樣的目錄,這里面有我們所熟悉的,比如說(shuō)我們的Cache,我們的Jobs,或者是一個(gè)請(qǐng)求提交過(guò)來(lái)之后,會(huì)在里面幫你建一系列的目錄,識(shí)別你的請(qǐng)求。這里面還有我們經(jīng)常所熟悉的Output,你所有的請(qǐng)求會(huì)以一張圖片的形成或者是什么樣的形成保存在目錄里面。但是大家可以看到,這里面多了一些其他的目錄,比如說(shuō)我們的Input,我們的System、Upload,這些目錄都是用來(lái)做什么的?我們可以從下面來(lái)看一下。
相對(duì)于這樣一種架構(gòu),這是10.1之前的架構(gòu),它們之間有什么樣的對(duì)比或者變化?大家看到,以前的是一樣的,客戶端的請(qǐng)求是一樣的,對(duì)于Web Server也沒(méi)有什么太大的差別。以前我們SOM、SOC類似于一個(gè)消息總線,你所有的請(qǐng)求經(jīng)過(guò)它,它只是把你的請(qǐng)求分配給具體完成這個(gè)請(qǐng)求的機(jī)器,那么請(qǐng)求完之后,它又從原路返回到客戶端。大家設(shè)想一下,對(duì)于這種架構(gòu),當(dāng)你所有的任務(wù)量所有都集結(jié)在這里的時(shí)候,下面再分發(fā),無(wú)外乎它會(huì)成為一個(gè)性能的瓶頸。對(duì)于這種架構(gòu)有什么樣的優(yōu)勢(shì)?我們可以看一下,首先可以看一下GIS Server變化單一的組件,不再采用這種SOM、SOC的管理機(jī)制。另外我們可以看到,Web Server現(xiàn)在分成了兩部分。本身在GIS Server里面有一個(gè)內(nèi)置的Web Server,如果大型應(yīng)用的話也可以和Web Adoptor共同組合成在Web層面的負(fù)載和層次,并且這些所有的Server之間是互相預(yù)知或者互相感知的。這意味著什么?以前這兩采機(jī)器之間是互相沒(méi)有通訊的,那么它所有的通訊都是通過(guò)上你的SOM,一旦劃了之后,它要經(jīng)過(guò)SOM一定的檢測(cè)才能知道我的請(qǐng)求不能再往這里發(fā)了,或者說(shuō)這臺(tái)機(jī)器的負(fù)荷已經(jīng)滿了,我需要分配到其他的機(jī)器上,多了這樣一個(gè)環(huán)節(jié),對(duì)于用戶最終的體驗(yàn)上,你的時(shí)間,你的轉(zhuǎn)發(fā)機(jī)制,里面耗費(fèi)的時(shí)間請(qǐng)求,最終就體現(xiàn)到我們的這種用戶體驗(yàn)上,感覺(jué)打開很長(zhǎng)時(shí)間沒(méi)有反映,可能是因?yàn)槔锩嬉慌_(tái)機(jī)器已經(jīng)掛掉了。但是采用這樣一種架構(gòu)之后,所有的請(qǐng)求歸結(jié)到Web Server或者是Web Adpotor這個(gè)層面,可以優(yōu)先選擇我們下面多臺(tái)的GIS Server。它們之間互相識(shí)別的好處就是說(shuō),以前這種架構(gòu)是像我們寫論文一樣的模式,但是現(xiàn)在完全是一種交叉的,這種網(wǎng)狀結(jié)構(gòu),你給我一個(gè)請(qǐng)求,但是你的任務(wù)量已經(jīng)滿負(fù)荷了。我就會(huì)知道,我的部門里面還有其他的同事是可以,還是業(yè)務(wù)量不飽和的,可以把這個(gè)內(nèi)容請(qǐng)求給他。所以它們之間是一種網(wǎng)狀,互相能夠通信和互相能夠協(xié)調(diào)的這樣一種機(jī)制。在我們所談到的云環(huán)境下,這一點(diǎn)其實(shí)就有一個(gè)非常好的先天優(yōu)勢(shì),可以充分的去調(diào)配其他的資源。
GIS Server取代了SOM和SOC這種架構(gòu)方式,另外內(nèi)置了Web Server,當(dāng)多臺(tái)和GIS Server需要協(xié)調(diào)和保持一致工作的時(shí)候,我們可以用適配器的模式,去為我們多一個(gè)非常靈活的選擇。還有就是說(shuō),我們可以在GIS Server之間集成群組。這樣的一個(gè)架構(gòu),相對(duì)以往的這種組織方式是一種全新的模式。大家可以看一下,這種模式對(duì)于現(xiàn)在我們談了很多用云的一些內(nèi)容,云是有很多的特性,大家其實(shí)是抓不著,看不見的。但是有一個(gè)特性大家是耳熟能詳?shù)?,比如說(shuō)你的彈性,你的這種可調(diào)性,或者是你的這種服務(wù)的體現(xiàn)。比如說(shuō)這種彈性是云非常重要的一個(gè)特點(diǎn),這種彈性如何去實(shí)現(xiàn)?大家考慮過(guò)嗎?如果你的機(jī)器一定要裝到一個(gè)機(jī)器上去,你的軟件一定裝到一個(gè)機(jī)器上去,當(dāng)資源不夠的時(shí)候怎么辦?還要先裝一個(gè)放進(jìn)來(lái),連進(jìn)來(lái)?,F(xiàn)在采用這種方式,其他所有的機(jī)器,你的資源如果不夠了,緊張了,它可以動(dòng)態(tài)的去調(diào)配。因?yàn)樗械腉IS Server之間是平等的,不存在誰(shuí)是管理的角色,誰(shuí)是被管理的角色。我們大家都是互相平等,互相交叉的一個(gè)組網(wǎng)的情況,就可以有利于這些資源快速的調(diào)配和分發(fā)。
剛才談到幾步的組件或者說(shuō)這樣一種架構(gòu)的模式。對(duì)于我們?nèi)绾稳ゲ渴鹞覀兊膽?yīng)用,其實(shí)就給大家一個(gè)很大的靈活空間了。在講部署的時(shí)候有一個(gè)原則,就是你所有的GIS Server要知道你的資源在哪里,這是要先解決的問(wèn)題。我的Server架構(gòu)是好的,但是我的內(nèi)容卻不知道在哪兒,這是一個(gè)很糟糕的事情。這樣的話,我首先會(huì)去完成我數(shù)據(jù)對(duì)于Server的可到達(dá)性。另外對(duì)于一些比如說(shuō)這種情況,我的數(shù)據(jù)比如說(shuō)做好了,很多部門做好了這樣一些數(shù)據(jù),通過(guò)GIS Server發(fā)布出來(lái),他們之間并不知道這些數(shù)據(jù)是在哪個(gè)部門的,那么怎么辦?我們可以通過(guò)一種注冊(cè)的方式,告訴你這部分東西注冊(cè)到GIS Server里面來(lái),告訴你這部分資源是在這里的,這樣的話,它會(huì)很智能的去感知你的數(shù)據(jù)在什么位置,還有一個(gè)非常重要的就是,你要能夠確保你的Server能夠訪問(wèn)到你的數(shù)據(jù)。你的數(shù)據(jù)要對(duì)GIS Server這個(gè)帳號(hào)設(shè)置一定的權(quán)限,保證它的可到達(dá)性。
我們解決了數(shù)據(jù)的問(wèn)題,資源的問(wèn)題,還是剛才那個(gè)假設(shè),如果所有的東西都在一起,都在各個(gè)不同的部門。但是我的數(shù)據(jù)又不希望是這種統(tǒng)一的用到一個(gè)集中的庫(kù)里滿去管理,我們?cè)趺崔k?這種資源是否無(wú)法發(fā)揮功能和大家共享呢?實(shí)際上不是這樣的,當(dāng)你發(fā)布的時(shí)候,都是一個(gè)大的站點(diǎn)。GIS Server會(huì)幫你做一件事,就是說(shuō)當(dāng)你這個(gè)數(shù)據(jù)如果沒(méi)有注冊(cè),那么它會(huì)檢測(cè)到你沒(méi)有進(jìn)行注冊(cè),那我把這些數(shù)據(jù)拿走。它會(huì)把這個(gè)數(shù)據(jù)拷貝到自己的Input的目錄下,這樣的話,我就從另外一個(gè)技術(shù)的角度,或者從技術(shù)的層面上保證了我的數(shù)據(jù)的到達(dá)性,所以說(shuō)這也是給大家去解決的一些數(shù)據(jù)的維護(hù)和管理的內(nèi)容。
相對(duì)于數(shù)據(jù)的存儲(chǔ),如果是我的這些數(shù)據(jù)發(fā)布者和數(shù)據(jù)的所有者是一個(gè)人的時(shí)候,那么這個(gè)時(shí)候還好辦一些。如果是不同的地方,那么我們剛才談到了,是要保證你的數(shù)據(jù)能夠被Server訪問(wèn)。另外的一種模式就是說(shuō),我們可以去保證大家約定俗成的,對(duì)一份數(shù)據(jù)進(jìn)行應(yīng)用。這里面就提出了一個(gè)這樣的機(jī)制,你有你的數(shù)據(jù),我有我的數(shù)據(jù)。但是我們?yōu)榱斯蚕磉@樣一個(gè)共同的目標(biāo),可以把數(shù)據(jù)約定俗成的放到一個(gè)地方,你把你要共享的數(shù)據(jù)拷貝下來(lái),你也無(wú)需注冊(cè),大家共同維護(hù)這個(gè)目錄。這種構(gòu)架和方式,以前其實(shí)通過(guò)人為的方式或者通過(guò)行政的方式來(lái)保證。比如我們北京市構(gòu)建的信息系統(tǒng),最終各個(gè)委辦局都有一個(gè)自己的共享庫(kù),把需要共享的信息放在里面,它定期的去整合這些共享信息。當(dāng)然我們看這樣一種方式,就是如果說(shuō)所有的數(shù)據(jù)都在各自的庫(kù)里面,它們之間要保證數(shù)據(jù)的這種同步,我們用技術(shù)手段是不是可以不通過(guò)這種行政強(qiáng)制的命令去保證數(shù)據(jù)的完整?GIS Server其實(shí)也提供了這樣一些功能,我們可以通過(guò)這樣一個(gè)服務(wù),來(lái)維護(hù)一戶與多戶之間的數(shù)據(jù)的共享、同步和更新。
我們剛才解決了數(shù)據(jù)的問(wèn)題,數(shù)據(jù)的異構(gòu)性或者數(shù)據(jù)的分布性,現(xiàn)在我們?nèi)绻由线@樣一個(gè)系統(tǒng)的話,其實(shí)就有非常靈活的選擇了。如果對(duì)于小型應(yīng)用,我們可以把數(shù)據(jù)放在一臺(tái)服務(wù)器上,去維護(hù)你統(tǒng)一的Server。如果我們的任務(wù)量或者所維護(hù)的數(shù)據(jù)量比較大的時(shí)候,我們來(lái)看一看是否可以有其他的任務(wù)選擇。像剛才談到的,我可以去用多臺(tái)GIS Server來(lái)完成我們上述的一些內(nèi)容。剛才講到智能通訊,GIS Server之間都是平衡的網(wǎng)狀的,它們之間會(huì)利用自己的端口進(jìn)行通訊,互相感知自己的業(yè)務(wù)狀態(tài)。這是它們之間的通訊結(jié)構(gòu),剛才是一個(gè)過(guò)程的模擬。另外如果是說(shuō)我們這里面的環(huán)境和應(yīng)用的業(yè)務(wù)比較特殊,里面有很復(fù)雜的業(yè)務(wù)邏輯或者是業(yè)務(wù)歸屬,我們可以采用多臺(tái)的Server組成不同的模式。如果我們的系統(tǒng)在這里,以前很多客戶跟我聊到這個(gè)問(wèn)題,一個(gè)SOC或者多個(gè)SOC,或者一個(gè)Web Server,如果Web Server Down掉了怎么辦?可以在Web Adpator里面去請(qǐng)求,通過(guò)Web Adpator訪問(wèn)不同的群組,這樣的話大家有多種選擇,單機(jī)、多臺(tái),以及負(fù)載均衡、災(zāi)備和群組,所以說(shuō)是靈活配置?,F(xiàn)在10.1這個(gè)版本對(duì)照著以前10的版本,其實(shí)從架構(gòu)的層面有一些本質(zhì)的變化。另外去談這個(gè)字眼,大家說(shuō)這是技術(shù)還是炒作?其實(shí)不太想去關(guān)注這個(gè)問(wèn)題,就是說(shuō)無(wú)論是怎么樣一種技術(shù)或者是一種包裝,只要能夠解決我們的問(wèn)題,我們覺(jué)得這個(gè)東西是可以被我們來(lái)用的。
大家可以看到,這種靈活的架構(gòu),如果說(shuō)云計(jì)算或者是并行計(jì)算,背后的技術(shù)就是并行計(jì)算了,這種架構(gòu)其實(shí)完全是非常適合在云端我們進(jìn)行部署以及進(jìn)行應(yīng)約和開發(fā)的結(jié)構(gòu)。這種靈活的結(jié)構(gòu)給大家?guī)?lái)的就是靈活性更多的選擇。你也可以根據(jù)你的業(yè)務(wù)需求,也可以根據(jù)你的經(jīng)費(fèi)要求,靈活的去組合,我們到底是選擇什么樣的一種架構(gòu),從而能適合滿足我們這樣的一些需求。其實(shí)關(guān)于我們所有的產(chǎn)品,包括share其他更詳細(xì)的產(chǎn)品,大家可以關(guān)注我們9月份的用戶大會(huì)。
我今天從架構(gòu)的角度跟大家對(duì)于10.1這個(gè)新產(chǎn)品進(jìn)行了一些分享,以便大家以后有更多更靈活的選擇。我今天演講的內(nèi)容就是這些,謝謝大家!
(以上內(nèi)容根據(jù)速記整理,未經(jīng)本人審核)
{{item.content}}