多版本gis切片服務(wù)系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種多版本GIS切片服務(wù)系統(tǒng),包括:文件存儲(chǔ)服務(wù)器,用于按類型、版本分層存儲(chǔ)切片相關(guān)文件,切片相關(guān)文件包括切片數(shù)據(jù)文件、切片資源描述文件和切片索引文件,切片數(shù)據(jù)文件用于存儲(chǔ)切片數(shù)據(jù)信息,切片資源描述文件用于描述切片數(shù)據(jù)的類型、等級(jí)、坐標(biāo)和版本信息,切片索引文件用于描述切片數(shù)據(jù)的索引信息;應(yīng)用緩存服務(wù)器,用于將切片索引信息加載到應(yīng)用緩存服務(wù)器中;切片服務(wù)器,設(shè)有可接收切片請(qǐng)求的訪問(wèn)接口,用于接收客戶端的切片請(qǐng)求,獲取對(duì)應(yīng)的切片索引信息及切片數(shù)據(jù)并返回給客戶端;客戶端,用于發(fā)送切片請(qǐng)求,并接收返回的切片數(shù)據(jù)。該系統(tǒng)可以提供對(duì)多版本的GIS切片的訪問(wèn)、管理,且系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用效果好。
【專利說(shuō)明】多版本GIS切片服務(wù)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及GIS【技術(shù)領(lǐng)域】,特別涉及一種多版本GIS切片服務(wù)系統(tǒng)。
【背景技術(shù)】
[0002]GIS切片服務(wù)為GIS客戶端提供影像、矢量等靜態(tài)切片服務(wù)。切片信息隨市政改造而發(fā)生變化。但是由于城市發(fā)展速度不同,不同城市切片信息的更新速度也有不同的需求,短則3-4個(gè)月,長(zhǎng)則1-2年。傳統(tǒng)GIS切片僅能提供一個(gè)版本的切片信息,而無(wú)法提供不同時(shí)期不同版本的切片信息。這就造成GIS系統(tǒng)無(wú)法對(duì)歷史切片信息進(jìn)行“回滾”,從而無(wú)法對(duì)切片信息發(fā)生的變化進(jìn)行有效的分析,也無(wú)法對(duì)尚未發(fā)布的新的瓦片服務(wù)進(jìn)行預(yù)覽。而且,在高并發(fā)下,由于每張切片大小達(dá)到10-20K,甚至更大,將出現(xiàn)網(wǎng)絡(luò)瓶頸,限制瓦片性倉(cāng)泛。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種多版本GIS切片服務(wù)系統(tǒng),該系統(tǒng)可以提供對(duì)多個(gè)不同版本的GIS切片的訪問(wèn)、管理,且系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用效果好。
[0004]本發(fā)明的目的是采用以下的技術(shù)方案實(shí)現(xiàn)的:一種多版本GIS切片服務(wù)系統(tǒng),包括:
文件存儲(chǔ)服務(wù)器,用于存儲(chǔ)切片相關(guān)文件,不同的切片相關(guān)文件在文件存儲(chǔ)服務(wù)器中按類型、等級(jí)和版本依次分層存儲(chǔ),所述切片相關(guān)文件包括切片數(shù)據(jù)文件以及與切片數(shù)據(jù)文件相應(yīng)的切片資源描述文件和切片索引文件,所述切片數(shù)據(jù)文件用于存儲(chǔ)切片數(shù)據(jù)信息,切片資源描述文件用于描述切片數(shù)據(jù)的類型、等級(jí)、坐標(biāo)和版本信息,切片索引文件用于描述切片數(shù)據(jù)的索引信息;
應(yīng)用緩存服務(wù)器,與文件存儲(chǔ)服務(wù)器相連接,用于掃描文件存儲(chǔ)服務(wù)器中存儲(chǔ)的切片索引文件并對(duì)其進(jìn)行解析,將解析出的切片索引信息加載到應(yīng)用緩存服務(wù)器中;
切片服務(wù)器,分別與應(yīng)用緩存服務(wù)器和文件存儲(chǔ)服務(wù)器相連接,并設(shè)有可接收包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求的訪問(wèn)接口,用于接收客戶端的切片請(qǐng)求,然后根據(jù)切片請(qǐng)求中指定的切片的類型、等級(jí)、坐標(biāo)和版本信息,從應(yīng)用緩存服務(wù)器中獲取對(duì)應(yīng)的切片索引信息,再根據(jù)所述切片索引信息從文件存儲(chǔ)服務(wù)器中獲取對(duì)應(yīng)的切片數(shù)據(jù),并將獲取的切片數(shù)據(jù)返回給客戶端;
客戶端,用于向切片服務(wù)器發(fā)送包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求,并接收切片服務(wù)器返回的切片數(shù)據(jù)。
[0005]進(jìn)一步的,所述切片數(shù)據(jù)的索引信息包括切片數(shù)據(jù)所在切片數(shù)據(jù)文件的存儲(chǔ)位置,切片數(shù)據(jù)的大小,以及切片數(shù)據(jù)在切片數(shù)據(jù)文件中的偏移位置。
[0006]進(jìn)一步的,如果切片服務(wù)器接收到的切片請(qǐng)求不包括切片的版本信息,則默認(rèn)從應(yīng)用緩存服務(wù)器中獲取切片的最高版本對(duì)應(yīng)的索引信息。
[0007]進(jìn)一步的,該系統(tǒng)還包括分別與切片服務(wù)器和客戶端相連接的WEB加速緩存服務(wù)器,所述WEB加速緩存服務(wù)器用于緩存切片服務(wù)器發(fā)送給客戶端的切片數(shù)據(jù),并返回給客戶端,還用于接收客戶端發(fā)送給切片服務(wù)器的切片請(qǐng)求;當(dāng)所述WEB加速緩存服務(wù)器接收到客戶端發(fā)送的切片請(qǐng)求時(shí),查找WEB加速緩存服務(wù)器是否緩存了切片請(qǐng)求的切片數(shù)據(jù),是則直接將緩存的切片數(shù)據(jù)返回給客戶端,否則將所述切片請(qǐng)求轉(zhuǎn)發(fā)給切片服務(wù)器,由切片服務(wù)器提供請(qǐng)求的切片數(shù)據(jù)。
[0008]進(jìn)一步的,所述客戶端緩存WEB加速緩存服務(wù)器返回的切片數(shù)據(jù),并定期向WEB加速緩存服務(wù)器發(fā)送切片更新請(qǐng)求,WEB加速緩存服務(wù)器判斷請(qǐng)求更新的切片數(shù)據(jù)是否發(fā)生更新,是則返回更新的切片數(shù)據(jù),客戶端緩存更新的切片數(shù)據(jù),否則返回一狀態(tài)值,確認(rèn)客戶端緩存有效。
[0009]本發(fā)明的有益效果是提供了一種多版本GIS切片服務(wù)系統(tǒng),實(shí)現(xiàn)了對(duì)GIS切片信息的多版本訪問(wèn)、管理,不僅可以實(shí)現(xiàn)將切片信息“回滾”到任意歷史時(shí)刻,也可以實(shí)現(xiàn)對(duì)尚未發(fā)布的切片應(yīng)用效果進(jìn)行預(yù)覽,方便在切片發(fā)布前對(duì)切片信息進(jìn)行必要的修改調(diào)整,提高切片發(fā)布的成功率,降低發(fā)布的成本。此外,本系統(tǒng)在架構(gòu)上面采用多級(jí)緩存來(lái)支持高并發(fā)和可擴(kuò)展性,解決了切片服務(wù)面臨的網(wǎng)絡(luò)帶寬瓶頸問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1是本發(fā)明實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖。
[0011]圖2是本發(fā)明實(shí)施例中切片相關(guān)文件在文件存儲(chǔ)服務(wù)器中的存放架構(gòu)示意圖。
【具體實(shí)施方式】
[0012]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0013]本發(fā)明的多版本GIS切片服務(wù)系統(tǒng),如圖1所示,包括文件存儲(chǔ)服務(wù)器、應(yīng)用緩存服務(wù)器、切片服務(wù)器和客戶端。
[0014]所述文件存儲(chǔ)服務(wù)器用于存儲(chǔ)不同類型、版本的切片相關(guān)文件,不同的切片相關(guān)文件在文件存儲(chǔ)服務(wù)器中按類型、等級(jí)和版本依次分層存儲(chǔ),所述切片相關(guān)文件包括切片數(shù)據(jù)文件以及與切片數(shù)據(jù)文件相應(yīng)的切片資源描述文件和切片索引文件,所述切片數(shù)據(jù)文件用于存儲(chǔ)切片數(shù)據(jù)信息,切片資源描述文件用于描述相應(yīng)的切片數(shù)據(jù)文件中存儲(chǔ)的切片數(shù)據(jù)的類型、等級(jí)、坐標(biāo)和版本信息,切片索引文件用于描述相應(yīng)的切片數(shù)據(jù)文件中存儲(chǔ)的切片數(shù)據(jù)的索引信息,即切片索引信息。所述切片數(shù)據(jù)的索引信息包括切片數(shù)據(jù)所在切片數(shù)據(jù)文件的存儲(chǔ)位置,切片數(shù)據(jù)的大小,以及切片數(shù)據(jù)在切片數(shù)據(jù)文件中的偏移位置。
[0015]所述應(yīng)用緩存服務(wù)器與文件存儲(chǔ)服務(wù)器相連接,用于掃描文件存儲(chǔ)服務(wù)器中存儲(chǔ)的切片索引文件并對(duì)其進(jìn)行解析,將解析出的切片索引信息加載到應(yīng)用緩存服務(wù)器中。
[0016]所述切片服務(wù)器分別與應(yīng)用緩存服務(wù)器和文件存儲(chǔ)服務(wù)器相連接,并設(shè)有可接收包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求的訪問(wèn)接口 ;所述切片服務(wù)器用于接收客戶端的切片請(qǐng)求,然后根據(jù)切片請(qǐng)求中指定的切片的類型、等級(jí)、坐標(biāo)和版本信息,從應(yīng)用緩存服務(wù)器中獲取對(duì)應(yīng)的切片索引信息,再根據(jù)所述切片索引信息從文件存儲(chǔ)服務(wù)器中獲取對(duì)應(yīng)的切片數(shù)據(jù),并將獲取的切片數(shù)據(jù)返回給客戶端。如果切片服務(wù)器接收到的切片請(qǐng)求不包括切片的版本信息,則默認(rèn)從應(yīng)用緩存服務(wù)器中獲取切片的最高版本對(duì)應(yīng)的索引信息。
[0017]所述客戶端用于向切片服務(wù)器發(fā)送包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求,并接收切片服務(wù)器返回的切片數(shù)據(jù)。
[0018]本系統(tǒng)提供REST風(fēng)格接口服務(wù),客戶端通過(guò)包括切片類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求來(lái)訪問(wèn)切片。訪問(wèn)切片的訪問(wèn)接口設(shè)計(jì)如下:
http://maps, epgis.com.cn/tileService/verctor/16/532,204/丄根目錄類型等級(jí)坐標(biāo)版本
客戶端可以通過(guò)指定切片的版本號(hào)來(lái)訪問(wèn)特定的切片信息。客戶端亦可以不指定切片的版本號(hào),切片服務(wù)將查找指定類型、等級(jí)、坐標(biāo)所對(duì)應(yīng)的切片的最新發(fā)布的數(shù)據(jù)進(jìn)行返回。默認(rèn)返回切片的接口設(shè)計(jì)如下:
http://maps, epgis.com.cn/tileService/verctor/16/532,204
根目錄類型等級(jí)坐標(biāo)
在創(chuàng)建切片相關(guān)文件時(shí),會(huì)產(chǎn)生3個(gè)文件,分別是切片資源描述文件、切片索引文件和切片數(shù)據(jù)文件,將這些文件以切片類型和版本號(hào)分層進(jìn)行存儲(chǔ),如圖2所示。在啟動(dòng)切片服務(wù)的時(shí)候,將切片索引信息加載到應(yīng)用緩存服務(wù)器中,當(dāng)接受到切片請(qǐng)求時(shí),根據(jù)請(qǐng)求中指定的切片的類型、等級(jí)、坐標(biāo)和版本號(hào),在緩存中找到對(duì)應(yīng)切片的存儲(chǔ)索引,如果未指定版本號(hào),那么就返回已發(fā)布的最大版本號(hào)的切片索引,然后根據(jù)該索引,從持久化介質(zhì),即文件存儲(chǔ)服務(wù)器中讀取切片數(shù)據(jù)。
[0019]當(dāng)切片服務(wù)啟動(dòng)時(shí),系統(tǒng)將掃描切片的索引文件并對(duì)文件進(jìn)行解析,將切片索引信息預(yù)先存儲(chǔ)于緩存中,提高切片數(shù)據(jù)的訪問(wèn)速度。當(dāng)進(jìn)行切片更新時(shí),根據(jù)上傳的切片索引文件更新緩存中的索引信息。
[0020]在本實(shí)施例中,本系統(tǒng)還包括WEB加速緩存服務(wù)器,所述WEB加速緩存服務(wù)器分別與切片服務(wù)器和客戶端相連接,所述WEB加速緩存服務(wù)器用于緩存切片服務(wù)器發(fā)送給客戶端的切片數(shù)據(jù),并返回給客戶端,還用于接收客戶端發(fā)送給切片服務(wù)器的切片請(qǐng)求;當(dāng)所述WEB加速緩存服務(wù)器接收到客戶端發(fā)送的切片請(qǐng)求時(shí),查找WEB加速緩存服務(wù)器是否緩存了切片請(qǐng)求的切片數(shù)據(jù),是則直接將緩存的切片數(shù)據(jù)返回給客戶端,否則將所述切片請(qǐng)求轉(zhuǎn)發(fā)給切片服務(wù)器,由切片服務(wù)器提供請(qǐng)求的切片數(shù)據(jù)。
[0021]所述客戶端緩存WEB加速緩存服務(wù)器返回的切片數(shù)據(jù),并定期向WEB加速緩存服務(wù)器發(fā)送切片更新請(qǐng)求,WEB加速緩存服務(wù)器判斷請(qǐng)求更新的切片數(shù)據(jù)是否發(fā)生更新,是則返回更新的切片數(shù)據(jù)對(duì)切片更新請(qǐng)求進(jìn)行響應(yīng),客戶端緩存更新的切片數(shù)據(jù),否則返回一狀態(tài)值,確認(rèn)客戶端緩存有效。
[0022]即本實(shí)施例中,本系統(tǒng)采用了多級(jí)緩存,包括客戶端緩存、WEB加速緩存和應(yīng)用緩存。
[0023]I)客戶端緩存
由于切片更新頻率較低,頻率在數(shù)月到數(shù)年不等,且用戶對(duì)地圖的瀏覽存在局部性,因此在客戶端緩存切片可以大大提高GIS出圖效率,減輕瓦片服務(wù)器的壓力。
[0024]2) WEB加速器緩存
當(dāng)客戶端發(fā)送切片請(qǐng)求時(shí),WEB加速器首先查找是否緩存了請(qǐng)求的切片,如果WEB加速器已經(jīng)緩存了該請(qǐng)求的切片,那么就直接把切片返回客戶端;否則就將請(qǐng)求轉(zhuǎn)發(fā)給瓦片服務(wù)器,從存儲(chǔ)系統(tǒng)中讀取相應(yīng)的切片,然后緩存到WEB加速器中,并返回客戶端。
[0025]由于客戶端會(huì)對(duì)切片信息緩存,當(dāng)客戶端切片過(guò)期時(shí),客戶端會(huì)向WEB緩存服務(wù)器發(fā)送一個(gè)帶條件的請(qǐng)求。WEB加速器首先根據(jù)條件判斷請(qǐng)求的切片數(shù)據(jù)是否發(fā)生變化,如果緩存的切片數(shù)據(jù)已經(jīng)發(fā)生更新,那么WEB緩存加速器就使用新的切片數(shù)據(jù)對(duì)請(qǐng)求進(jìn)行響應(yīng),客戶端緩存新的切片數(shù)據(jù);如果緩存的切片數(shù)據(jù)沒(méi)有發(fā)生更新,那么WEB加速器并不重發(fā)瓦片數(shù)據(jù),而只是返回一個(gè)狀態(tài)值代表客戶端緩存有效。由于返回的狀態(tài)值要比返回一張瓦片數(shù)據(jù)要小得多,因此減輕了網(wǎng)絡(luò)帶寬的壓力,同時(shí)也縮短瓦片請(qǐng)求的響應(yīng)時(shí)間。
[0026]3)應(yīng)用緩存
應(yīng)用緩存服務(wù)器緩存了切片的索引信息,當(dāng)切片請(qǐng)求未在WEB加速器中命中的時(shí)候,應(yīng)用服務(wù)器會(huì)從應(yīng)用緩存中讀取請(qǐng)求切片的存儲(chǔ)信息,然后從存儲(chǔ)系統(tǒng)中讀取切片。
[0027]在本實(shí)施例中,本系統(tǒng)還采用多級(jí)負(fù)載均衡技術(shù)來(lái)支持高并發(fā)和可擴(kuò)展性,解決由于網(wǎng)絡(luò)帶寬瓶頸問(wèn)題。
[0028]本系統(tǒng)的多級(jí)負(fù)載均衡包括四層負(fù)載均衡,七層負(fù)載均衡。
[0029]I)四層負(fù)載均衡
四層負(fù)載均衡指的是將一個(gè)外部的IP地址映射為多個(gè)內(nèi)部服務(wù)器的IP地址,對(duì)每次TCP連接請(qǐng)求動(dòng)態(tài)使用一個(gè)內(nèi)部地址,達(dá)到負(fù)載均衡的作用。四層負(fù)載均衡有多種常見的調(diào)度方法,包括基于輪詢的調(diào)度算法,基于最小連接的調(diào)度算法,基于局部性調(diào)度算法。
[0030]2)七層負(fù)載均衡
七層負(fù)載均衡指的是內(nèi)容分發(fā),主要通過(guò)報(bào)文中真正有意義的應(yīng)用層的內(nèi)容(如根據(jù)URL判斷不同的應(yīng)用),加上負(fù)載均衡的服務(wù)器選擇方式(包括輪詢,IP哈希,權(quán)重等等),決定最終選擇的內(nèi)部服務(wù)器。在切片服務(wù)中,根據(jù)切片請(qǐng)求中包含的切片類型,切片X,Y坐標(biāo),及切片的版本號(hào)作為七層負(fù)載均衡的條件。
[0031]以上是本發(fā)明的較佳實(shí)施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時(shí),均屬于本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種多版本GIS切片服務(wù)系統(tǒng),其特征在于,包括: 文件存儲(chǔ)服務(wù)器,用于存儲(chǔ)切片相關(guān)文件,不同的切片相關(guān)文件在文件存儲(chǔ)服務(wù)器中按類型、等級(jí)和版本依次分層存儲(chǔ),所述切片相關(guān)文件包括切片數(shù)據(jù)文件以及與切片數(shù)據(jù)文件相應(yīng)的切片資源描述文件和切片索引文件,所述切片數(shù)據(jù)文件用于存儲(chǔ)切片數(shù)據(jù)信息,切片資源描述文件用于描述切片數(shù)據(jù)的類型、等級(jí)、坐標(biāo)和版本信息,切片索引文件用于描述切片數(shù)據(jù)的索引信息; 應(yīng)用緩存服務(wù)器,與文件存儲(chǔ)服務(wù)器相連接,用于掃描文件存儲(chǔ)服務(wù)器中存儲(chǔ)的切片索引文件并對(duì)其進(jìn)行解析,將解析出的切片索引信息加載到應(yīng)用緩存服務(wù)器中; 切片服務(wù)器,分別與應(yīng)用緩存服務(wù)器和文件存儲(chǔ)服務(wù)器相連接,并設(shè)有可接收包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求的訪問(wèn)接口,用于接收客戶端的切片請(qǐng)求,然后根據(jù)切片請(qǐng)求中指定的切片的類型、等級(jí)、坐標(biāo)和版本信息,從應(yīng)用緩存服務(wù)器中獲取對(duì)應(yīng)的切片索引信息,再根據(jù)所述切片索引信息從文件存儲(chǔ)服務(wù)器中獲取對(duì)應(yīng)的切片數(shù)據(jù),并將獲取的切片數(shù)據(jù)返回給客戶端; 客戶端,用于向切片服務(wù)器發(fā)送包括切片的類型、等級(jí)、坐標(biāo)和版本信息的切片請(qǐng)求,并接收切片服務(wù)器返回的切片數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的多版本GIS切片服務(wù)系統(tǒng),其特征在于,所述切片數(shù)據(jù)的索引信息包括切片數(shù)據(jù)所在切片數(shù)據(jù)文件的存儲(chǔ)位置,切片數(shù)據(jù)的大小,以及切片數(shù)據(jù)在切片數(shù)據(jù)文件中的偏移位置。
3.根據(jù)權(quán)利要求1所述的多版本GIS切片服務(wù)系統(tǒng),其特征在于,如果切片服務(wù)器接收到的切片請(qǐng)求不包括切片的版本信息,則默認(rèn)從應(yīng)用緩存服務(wù)器中獲取切片的最高版本對(duì)應(yīng)的索引信息。
4.根據(jù)權(quán)利要求1所述的多版本GIS切片服務(wù)系統(tǒng),其特征在于,還包括分別與切片服務(wù)器和客戶端相連接的WEB加速緩存服務(wù)器,所述WEB加速緩存服務(wù)器用于緩存切片服務(wù)器發(fā)送給客戶端的切片數(shù)據(jù),并返回給客戶端,還用于接收客戶端發(fā)送給切片服務(wù)器的切片請(qǐng)求;當(dāng)所述WEB加速緩存服務(wù)器接收到客戶端發(fā)送的切片請(qǐng)求時(shí),查找WEB加速緩存服務(wù)器是否緩存了切片請(qǐng)求的切片數(shù)據(jù),是則直接將緩存的切片數(shù)據(jù)返回給客戶端,否則將所述切片請(qǐng)求轉(zhuǎn)發(fā)給切片服務(wù)器,由切片服務(wù)器提供請(qǐng)求的切片數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的多版本GIS切片服務(wù)系統(tǒng),其特征在于,所述客戶端緩存WEB加速緩存服務(wù)器返回的切片數(shù)據(jù),并定期向WEB加速緩存服務(wù)器發(fā)送切片更新請(qǐng)求,WEB加速緩存服務(wù)器判斷請(qǐng)求更新的切片數(shù)據(jù)是否發(fā)生更新,是則返回更新的切片數(shù)據(jù),客戶端緩存更新的切片數(shù)據(jù),否則返回一狀態(tài)值,確認(rèn)客戶端緩存有效。
【文檔編號(hào)】H04L29/08GK104239509SQ201410466803
【公開日】2014年12月24日 申請(qǐng)日期:2014年9月15日 優(yōu)先權(quán)日:2014年9月15日
【發(fā)明者】肖琦敏, 蘇運(yùn)東, 劉寶章, 蔡宇翔, 李霆 申請(qǐng)人:國(guó)家電網(wǎng)公司, 國(guó)網(wǎng)福建省電力有限公司, 國(guó)網(wǎng)福建省電力有限公司信息通信分公司