龔發芽
摘 要:在海量影像地圖的應用中,數據的存儲、更新和利用都是比較難以解決的問題,本文以全國特征點數據為基礎,自動挖掘出全國范圍的重要位置區域,并進行結構化處理,然后以此數據為依據,提供任意位置在各種比例尺下的地圖重要性判斷方法,根據此方法,可選擇性的存儲和更新“重要”影像數據,達到數據縮減存儲、快速更新和高效訪問的目的。
關鍵詞:海量遙感影像 縮減存儲 瓦片地圖 高并發訪問
中圖分類號:P282 文獻標識碼:A 文章編號:1672-3791(2014)05(b)-0031-02
隨著遙感技術的發展,影像地圖應用的日益增多,在全國級的海量影像地圖應用中,數據的存儲、管理和更新是業界一直比較關注的熱點問題。當前很多應用會采用分塊分層結構對影像地圖數據進行切割處理,然后分塊調用[1],可以明顯加快顯示速度,下文稱此技術產生的地圖為瓦片地圖。在這種瓦片地圖應用過程中,本文提出了一種基于特征點數據分布的海量影像地圖縮減存儲方法,并以瓦片影像地圖的應用為實例進行驗證,該方法可以有效縮減90%以上的地圖存儲量,在此基礎上,本文還分析了數據快速更新機制、適用于高并發的多級數據存儲策略等海量地圖應用關鍵技術的可行性。
1 影像數據組織方式
本文以瓦片式影像地圖的應用作為實例,來驗證該縮減壓縮方法的有效性,故此先簡述瓦片地圖的組織結構以及數據存儲量的計算方法。
1.1 金字塔式瓦片存儲組織結構
瓦片式電子地圖是當前比較流行的地圖服務形式,其采用金字塔結構,對影像地圖進行分層和分塊的劃分。按照既定的多層比例尺,把每一個比例尺的整幅影像地圖切割為256×256像素或者512×512像素的小幅圖片(通常稱為瓦片),地圖引擎再采用相應的算法,把這些小幅圖片組織起來,顯示到客戶端界面。瓦片的結構圖如圖1所示[2]。
1.2 影像地圖數據總量計算
假設切圖方式采用現在流行的WEB墨卡托投影切片方式,即橫向和豎向的瓦片數量一致,則可知每個地圖級別n的瓦片數量為2n×2n,0~18級瓦片地圖的總數據量及存儲空間見表1所示[3](通常情況下,影像瓦片地圖平均大小為10 KB)。
以上為全球的瓦片地圖總數據量,如果按中國大陸的區域進行計算,0~18級的數據總量大約為1994965244×10/1024/1024/1024=18.58T。
2 影像地圖智能縮減存儲方法
下面以全國特征點數據為基礎,詳述如何從中挖掘出重要區域信息,然后采用合適的高效算法,判斷某個位置的瓦片地圖是否是重要地圖,繼而選擇性的存儲,保證存儲的瓦片地圖都位于比較重要的位置。并且根據某個位置區域的特征點數據的密度,自動判斷某個比例尺下的某個瓦片是否為重要地圖,可針對每個比例尺進行地圖重要性判斷,從而大大縮減了重要地圖的數量,達到地圖智能縮減存儲的目的。
2.1 挖掘重要區域信息
首先對全國特征點數據進行網格劃分,劃分依據為14級瓦片地圖的切割方法,統計每個網格內的數據量,并根據數據量的多少,計算當前網格的重要程度,基于此重要程度,判斷當前網格所處的區域是否為重要區域,并且根據重要程度的高低,判斷后續的15~18級地圖是否為重要地圖。
選擇14級作為基準參考級別也是有所考慮的,14級網格數量約為596.7萬,若按15級或更大級別劃分,就容易因網格數量過大,降低后期數據判斷的運算速度。并且因為本重要程度數據本身只是參考數據,并不一定代表實際情況,所以,過于要求數據的精準度,并不一定達到更好的實際使用效果。
該分析方法具有通用性,當特征點數據更新時,可快速的更新此重要區域信息,為后續的判斷提供新的依據。
2.2 基于重要區域信息的縮減存儲方法
按照上一步挖掘出的重要區域信息,判斷任意瓦片地圖是否為重要地圖,簡單的判斷依據為:
(1)小于14級,認為全部是重要地圖。
(2)14級,當網格內數量大于0,則認為是重要地圖。
(3)14級以上時,假設當前級別為level,先找到當前瓦片在14級所在的瓦片網格的位置,獲取此網格的數據量n,判斷當n>=4level-14時,認為此瓦片為重要地圖。
(4)循環所有瓦片地圖,即可知道那些為重要地圖。
在地圖存儲時,就可以僅存儲重要地圖,達到縮減存儲的目的。
考慮到特征點數據可能出現缺失,以及盡可能為重要地圖區域顯示更多的緩沖區域,并且重要地圖周邊一定范圍的地圖訪問量也會是比較高的,所以可對上述判斷依據做進一步的優化,以便更好的適用實際情況,可能包含以下優化方法:
(1)重要地圖周邊N塊網格的地圖都認為是重要地圖,N>=1,具體數值可根據實際情況設置。
(2)每個網格的權重不簡單的按照其中的特征點數量,而是參考周邊網格的權重進行綜合計算,可有效的建立重要地圖的周邊緩沖帶,達到更好的顯示效果。
優化后可達到更好的顯示效果,但也會帶來存儲量的增加,需根據實際情況選用。
3 應用實例
本文以中國大陸的影像地圖為例,使用本文的數據縮減方法對海量瓦片影像數據進行縮減存儲處理。
首先,對全國2000余萬條特征點數據進行挖掘分析,計算出重要區域,然后通過此重要區域以及相關算法,判斷每個瓦片是否為重要地圖,計算結果如表2所示。
全部級別數據量之和為17176348張瓦片,總存儲空間約為163.8G,相比沒有縮減之前的18.58T的數據存儲空間,縮減比例達99.14%。
因影像瓦片地圖色彩都比較豐富,重要和非重要區域的地圖圖片大小差別并不是很大,由實際的存儲容量就可以看得出來,所以使用理論上的瓦片數據的比例作為存儲空間的縮減比例,是具有一定的參考價值的。endprint
從部署和更新時間上考慮,163.8GB的瓦片地圖數據進行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺普通計算機上只需要20天左右的時間,如果使用多臺機器進行任務分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區域信息的擴展應用
4.1 地圖快速更新
如果有新的影像地圖數據產生,可優先對重要區域內的地圖數據進行處理,達到數據快速更新的目的。
4.2 提升并發性能
眾所周知,對于大多數系統來說,最頭疼的就是大規模的小文件存儲與讀取,因為磁頭需要頻繁的尋道和換道,因此,在讀取上容易帶來較長的延時。在大量高并發訪問量的情況下,簡直就是系統的噩夢[4]。海量瓦片地圖就是這樣的情況,圖片數據可達數十億張以上,如果沒有比較好的存儲策略,在高并發訪問時,文件IO勢必成為系統瓶頸。當前比較簡單且有效的方法是將訪問頻率較高或者隨機讀寫比例較高的數據文件放在固態硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數據文件存放在機械硬盤上[5]。
根據本文提出的數據縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機械硬盤上,可大大提升高并發時的地圖訪問速度。并且根據當前主流的存儲器價格數據,SSD存儲的價格大約是SATA盤的10~20倍,昂貴的高速存儲器只有比較小的存儲空間,把訪問量高的數據放在高速存儲上,訪問量低的數據放在低速存儲上,也可以達到節約成本的目的。總之,使用本文的數據縮減存儲方法,可達到節約成本、提高并發訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數據的存儲策略,便于對訪問需求量比較高的“重要地圖”進行優先考慮。
5 結語
本文提出的海量影像地圖數據縮減存儲方法,可有效的降低數據存儲量,特別是當數據有多機備份時,具有非常明顯的效果;進一步,基于此方法產生的重要區域信息數據,本文還提出了其可能的一些擴展應用,例如解決數據多級存儲、高并發訪問、成本控制以及快速更新部署的問題。
參考文獻
[1] 王華斌,唐新明,李黔湘.海量遙感影像數據存儲管理技術研究與實現[J].測繪科學,2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結構在海量數據處理中的應用[J].計算機工程與應用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統設計與實現[J].電腦編程技巧與維護,2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲與處理架構[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲系統的分層存儲技術研究[D].華南理工大學,2013.endprint
從部署和更新時間上考慮,163.8GB的瓦片地圖數據進行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺普通計算機上只需要20天左右的時間,如果使用多臺機器進行任務分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區域信息的擴展應用
4.1 地圖快速更新
如果有新的影像地圖數據產生,可優先對重要區域內的地圖數據進行處理,達到數據快速更新的目的。
4.2 提升并發性能
眾所周知,對于大多數系統來說,最頭疼的就是大規模的小文件存儲與讀取,因為磁頭需要頻繁的尋道和換道,因此,在讀取上容易帶來較長的延時。在大量高并發訪問量的情況下,簡直就是系統的噩夢[4]。海量瓦片地圖就是這樣的情況,圖片數據可達數十億張以上,如果沒有比較好的存儲策略,在高并發訪問時,文件IO勢必成為系統瓶頸。當前比較簡單且有效的方法是將訪問頻率較高或者隨機讀寫比例較高的數據文件放在固態硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數據文件存放在機械硬盤上[5]。
根據本文提出的數據縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機械硬盤上,可大大提升高并發時的地圖訪問速度。并且根據當前主流的存儲器價格數據,SSD存儲的價格大約是SATA盤的10~20倍,昂貴的高速存儲器只有比較小的存儲空間,把訪問量高的數據放在高速存儲上,訪問量低的數據放在低速存儲上,也可以達到節約成本的目的。總之,使用本文的數據縮減存儲方法,可達到節約成本、提高并發訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數據的存儲策略,便于對訪問需求量比較高的“重要地圖”進行優先考慮。
5 結語
本文提出的海量影像地圖數據縮減存儲方法,可有效的降低數據存儲量,特別是當數據有多機備份時,具有非常明顯的效果;進一步,基于此方法產生的重要區域信息數據,本文還提出了其可能的一些擴展應用,例如解決數據多級存儲、高并發訪問、成本控制以及快速更新部署的問題。
參考文獻
[1] 王華斌,唐新明,李黔湘.海量遙感影像數據存儲管理技術研究與實現[J].測繪科學,2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結構在海量數據處理中的應用[J].計算機工程與應用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統設計與實現[J].電腦編程技巧與維護,2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲與處理架構[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲系統的分層存儲技術研究[D].華南理工大學,2013.endprint
從部署和更新時間上考慮,163.8GB的瓦片地圖數據進行切片、壓縮、打包、上傳、解壓等完整步驟,在單臺普通計算機上只需要20天左右的時間,如果使用多臺機器進行任務分解操作,基本上可滿足快速更新部署的需求。
4 基于重要區域信息的擴展應用
4.1 地圖快速更新
如果有新的影像地圖數據產生,可優先對重要區域內的地圖數據進行處理,達到數據快速更新的目的。
4.2 提升并發性能
眾所周知,對于大多數系統來說,最頭疼的就是大規模的小文件存儲與讀取,因為磁頭需要頻繁的尋道和換道,因此,在讀取上容易帶來較長的延時。在大量高并發訪問量的情況下,簡直就是系統的噩夢[4]。海量瓦片地圖就是這樣的情況,圖片數據可達數十億張以上,如果沒有比較好的存儲策略,在高并發訪問時,文件IO勢必成為系統瓶頸。當前比較簡單且有效的方法是將訪問頻率較高或者隨機讀寫比例較高的數據文件放在固態硬盤SSD上,而將訪問頻率較低或者順序讀寫比例較高的數據文件存放在機械硬盤上[5]。
根據本文提出的數據縮減方法,就可以把重要地圖放置在SSD硬盤上,把剩余的地圖放置在機械硬盤上,可大大提升高并發時的地圖訪問速度。并且根據當前主流的存儲器價格數據,SSD存儲的價格大約是SATA盤的10~20倍,昂貴的高速存儲器只有比較小的存儲空間,把訪問量高的數據放在高速存儲上,訪問量低的數據放在低速存儲上,也可以達到節約成本的目的。總之,使用本文的數據縮減存儲方法,可達到節約成本、提高并發訪問性能的目的。
4.3 原理通用性
本縮減方法,還可適用于平面地圖、地形圖等各種瓦片地圖或者其他地圖數據的存儲策略,便于對訪問需求量比較高的“重要地圖”進行優先考慮。
5 結語
本文提出的海量影像地圖數據縮減存儲方法,可有效的降低數據存儲量,特別是當數據有多機備份時,具有非常明顯的效果;進一步,基于此方法產生的重要區域信息數據,本文還提出了其可能的一些擴展應用,例如解決數據多級存儲、高并發訪問、成本控制以及快速更新部署的問題。
參考文獻
[1] 王華斌,唐新明,李黔湘.海量遙感影像數據存儲管理技術研究與實現[J].測繪科學,2008,33(6):156-157.
[2] 宋江洪,趙忠明.圖像分塊分層結構在海量數據處理中的應用[J].計算機工程與應用,2004(33).
[3] 許輝,馬曉鵬.基于WEB墨卡托投影地理信息系統設計與實現[J].電腦編程技巧與維護,2011(8).
[4] 章文嵩.揭秘淘寶286億海量圖片存儲與處理架構[EB/OL].http://storage.it168.com/a2010/0829/1096/000001096373_all.shtml,2010.
[5] 李俊杰.面向海量存儲系統的分層存儲技術研究[D].華南理工大學,2013.endprint