劉素茹,陳鑫祥,吳錦超
(1.廣東省國土資源技術(shù)中心,廣東 廣州 510075)
解決地理信息空間數(shù)據(jù)長期存放問題的重要性正逐年提升,一方面測繪成本較高,一個典型的測繪項目通?;ㄙM千萬,數(shù)據(jù)丟失的代價很高;另一方面測繪數(shù)據(jù)不可重現(xiàn),若某些歷史測繪數(shù)據(jù)丟失,則無法再呈現(xiàn)當(dāng)時的情況;而且測繪成果數(shù)據(jù)為眾多政府相關(guān)部門和社會公眾提供服務(wù),有重大的使用價值。呂雪鋒[1]等認(rèn)為分布式集群化存儲是海量數(shù)據(jù)存儲技術(shù)的發(fā)展趨勢;馬澤[2]則認(rèn)為云存儲技術(shù)是未來的趨勢,且需從GIS數(shù)據(jù)特有的角度開發(fā)更友好Web應(yīng)用界面。
針對海量地理空間數(shù)據(jù)存放與管理的特點、痛點和難點,本文提出了基于分布式對象存儲的解決方案,從而實現(xiàn)了地理信息基礎(chǔ)數(shù)據(jù)存、管、用的一體化管理,為廣東省自然資源信息化應(yīng)用打下了扎實的數(shù)據(jù)基礎(chǔ)。
近年來,隨著智慧廣東時空信息云平臺、應(yīng)急測繪保障、地理國情監(jiān)測、第三次全國國土調(diào)查、不動產(chǎn)登記信息管理基礎(chǔ)平臺等項目的開展,數(shù)字航片、DOM、DEM、DLG、DRG、土地類、礦產(chǎn)、空三加密、外業(yè)、航片掃描、航片、衛(wèi)片、切片等數(shù)據(jù)類型的廣東省自然資源廳地理信息數(shù)據(jù)呈爆炸式增長。其主要原因為:①地理信息數(shù)據(jù)獲取手段不斷增加,數(shù)據(jù)來源日益豐富,出現(xiàn)“空、天、地”多種來源;②測量次數(shù)和測量精度逐年提升,隨著空間分辨率的不斷提高(從幾米到1 m、0.5 m、0.2 m,將來可能達(dá)到0.1 m)以及測量次數(shù)的不斷增加(從幾年一次到一年幾次),數(shù)據(jù)增長非常快;③根據(jù)《測繪地理信息業(yè)務(wù)檔案管理規(guī)定》,重要的測繪地理信息業(yè)務(wù)檔案數(shù)據(jù)需要永久保存,其他數(shù)據(jù)保存時間也達(dá)到10~30 a不等。作為廣東省自然資源數(shù)據(jù)管理單位,廣東省國土資源技術(shù)中心(以下簡稱技術(shù)中心)每年接收的需長期保存的成果數(shù)據(jù)可達(dá)300 TB以上,如何有效地保存和使用數(shù)據(jù)成了當(dāng)前課題。
技術(shù)中心存儲資源池架構(gòu)根據(jù)數(shù)據(jù)應(yīng)用場景的不同,分為結(jié)構(gòu)化存儲、非結(jié)構(gòu)化存儲[3]和災(zāi)備存儲三大區(qū)域。結(jié)構(gòu)化存儲主要為不動產(chǎn)、大數(shù)據(jù)、基礎(chǔ)地理信息平臺等應(yīng)用系統(tǒng)提供存儲空間,這部分?jǐn)?shù)據(jù)主要通過數(shù)據(jù)庫或虛擬平臺以結(jié)構(gòu)化的形式存放;非結(jié)構(gòu)化存儲存放的是入庫前文件數(shù)據(jù)或成果數(shù)據(jù),如各地市上交的基礎(chǔ)地理信息成果數(shù)據(jù)、作業(yè)科室完成的生產(chǎn)成果數(shù)據(jù)等,這些數(shù)據(jù)以非結(jié)構(gòu)化純文件的方式存儲[4];為了保證數(shù)據(jù)的安全,采用在線與離線分級存儲[5],設(shè)立了備份用途的離線存儲區(qū),用于備份數(shù)據(jù)[2],如圖1所示。需要長期保存的數(shù)據(jù)主要集中在非結(jié)構(gòu)化存儲和災(zāi)備存儲。
圖1 存儲基本情況
現(xiàn)狀非結(jié)構(gòu)化存儲及其災(zāi)備方案在存、管、用方面存在的主要問題為:
1)文件存儲擴展性差。以RAID實現(xiàn)數(shù)據(jù)保護的NAS存儲擴展能力差。
2)一方面異構(gòu)現(xiàn)象嚴(yán)重,影響使用和管理效率,多臺NAS存儲型號、品牌多樣,不同產(chǎn)品劃分不同的存儲空間,數(shù)據(jù)量大的項目文件只能拆分存放,不利于數(shù)據(jù)管理;另一方面?zhèn)浞莨ぷ髁看?,多異?gòu)產(chǎn)品備份功能需要專門的備份軟件,備份軟件對存儲文件系統(tǒng)有兼容性要求,難以實現(xiàn)全自動備份,人工備份耗時費力,且容易出錯。
3)一方面文件查詢能力差,NAS以文件夾層次的方式存放數(shù)據(jù),文件查詢層層深入、效率較低,且層次太深或文件名太長時無法查詢;另一方面缺乏版本控制,NAS存儲沒有版本控制功能,存在誤刪后無法恢復(fù)的風(fēng)險。
在選擇和構(gòu)建適應(yīng)廣東省自然資源廳地理信息數(shù)據(jù)長期保存存儲與保護平臺的過程中,技術(shù)中心的數(shù)據(jù)存儲管理經(jīng)歷了從傳統(tǒng)架構(gòu)到創(chuàng)新架構(gòu)的一次飛躍。
為了解決上述存、管、用問題,本文對比了目前兩大類主流的文件存儲產(chǎn)品(NAS存儲和對象存儲),如圖2所示。兩種存儲的區(qū)別主要在于接口和數(shù)據(jù)組織結(jié)構(gòu),其技術(shù)對比如表1所示。
圖2 兩種文件存儲產(chǎn)品對比
表1 存儲技術(shù)對比
針對日益增長的地理信息海量數(shù)據(jù),本文利用對象存儲分布式架構(gòu)[7]的容量、性能線性擴展以及先進的設(shè)備替換機制,搭建了成果數(shù)據(jù)云平臺,實現(xiàn)了地理信息數(shù)據(jù)的統(tǒng)一存放和管理;同時搭建了數(shù)據(jù)平臺的雙活容災(zāi)系統(tǒng),進一步提升了數(shù)據(jù)的可用性。
2.2.1 總體架構(gòu)
總體架構(gòu)由兩級存儲構(gòu)成,一級存儲包括HDI、G400和EMC VNX5100仲裁盤,提供NAS讀寫功能,以滿足少量熱數(shù)據(jù)的快速讀寫和基于NAS的舊應(yīng)用需求;二級存儲由兩套HCP組成成果數(shù)據(jù)主備平臺,兩套HCP存儲之間雙向復(fù)制,每套均可讀寫,以滿足海量數(shù)據(jù)長期存放的需求,如圖3所示。兼顧性能與容量需求、優(yōu)化成本,由生命周期管理策略驅(qū)動冷熱數(shù)據(jù)在一級存儲HDI和二級存儲HCP之間合理擺放,從而減輕人工管理負(fù)擔(dān);采用分布式架構(gòu),客戶端通過云盤服務(wù)器或S3客戶端直接對數(shù)據(jù)節(jié)點進行訪問[8]。
圖3 總體架構(gòu)
2.2.2 軟件選擇
為了滿足超大規(guī)模地理信息空間數(shù)據(jù)上傳、下載的要求,本文分別采用HDS云盤服務(wù)器軟件和S3客戶端軟件直接訪問對象存儲兩種方式進行傳輸性能測試??蛻魴C硬盤采用固態(tài)SSD硬盤和機械HDD硬盤兩種作對比,結(jié)果如表2所示,可以看出,采用S3客戶端軟件性能更優(yōu);固態(tài)SSD硬盤的上傳、下載峰值約為560 MB/s,均值在300 MB/s以上;機械HDD硬盤的上傳、下載峰值為175 MB/s,均值在100 MB/s以上。
表2 數(shù)據(jù)傳輸速率測試/(MB/s)
2.2.3 解決“存”的問題
1)超大容量單目錄,滿足地理信息大數(shù)據(jù)量存儲需求。傳統(tǒng)NAS存儲采用文件系統(tǒng)技術(shù),單個文件系統(tǒng)容量普遍在幾十TB級,而數(shù)據(jù)量大的LiDAR點云項目約有300 TB數(shù)據(jù),就需要掛載多個文件系統(tǒng)目錄,將帶來很多非增值的運維工作。對象存儲采用扁平化的文件名唯一定位方式,單個目錄或存儲空間能達(dá)到數(shù)十甚至數(shù)百PB級,可滿足地理信息系統(tǒng)整個生命周期的存儲容量需求,無需掛載目錄和調(diào)整業(yè)務(wù)系統(tǒng),使用戶更加關(guān)注地理信息業(yè)務(wù)價值本身。
2)擴展靈活。分布式架構(gòu)設(shè)計避免了性能和容量的瓶頸,訪問節(jié)點(元數(shù)據(jù)節(jié)點G10)和高密度的存儲節(jié)點(S10)均可獨立橫向擴展,從而實現(xiàn)容量和性能的線性提升。整個系統(tǒng)對外是一個統(tǒng)一的存儲資源池,且通過多副本[9]和糾刪碼技術(shù)實現(xiàn)硬盤級、節(jié)點級的冗余保護,避免了物理單點故障造成的業(yè)務(wù)中斷。系統(tǒng)內(nèi)置了靈活的數(shù)據(jù)遷移功能,添加新存儲節(jié)點后,可在系統(tǒng)內(nèi)部將數(shù)據(jù)快速遷移到新設(shè)備,從而安全卸載舊設(shè)備,整個過程無需人工干預(yù),前端業(yè)務(wù)也不受影響,滿足了地理信息數(shù)據(jù)增長快的現(xiàn)實需求。2018—2019年擴容了3次,總?cè)萘繌?.2 PB增長到3.6 PB,采用單獨擴展存儲節(jié)點的方式,所有容量始終保持為單個文件系統(tǒng),對地理信息數(shù)據(jù)和業(yè)務(wù)沒有影響,每次的升級時間只需0.5 d,比原來NAS升級的2 d時間提升了3倍擴容效率。如需提升性能,可單獨擴展訪問節(jié)點。
3)數(shù)據(jù)長期保存。通過一次寫入多次讀取的WORM寫保護技術(shù),保證數(shù)據(jù)在指定時間周期內(nèi)不被刪除與篡改,充分滿足相關(guān)法規(guī)對數(shù)據(jù)長期保存的合規(guī)要求;且誤刪或誤修改的數(shù)據(jù)可通過版本控制技術(shù)找回,更好地滿足了地理信息歷史數(shù)據(jù)不可重現(xiàn)的保護要求。
2.2.4 解決“管”的問題
1)數(shù)據(jù)保護能力。對象存儲自帶多重數(shù)據(jù)保護機制,數(shù)據(jù)無需備份。數(shù)據(jù)保護/備份是為了在發(fā)生數(shù)據(jù)丟失時恢復(fù)數(shù)據(jù),數(shù)據(jù)丟失情況可分為物理故障、邏輯錯誤和站點災(zāi)難。在這些情況下,對象存儲系統(tǒng)將通過其智能的數(shù)據(jù)保護方案去保障數(shù)據(jù):①訪問節(jié)點里的元數(shù)據(jù)時,采用在多個節(jié)點中保存多個元數(shù)據(jù)副本[9]的方式實現(xiàn)冗余保護,還可備份元數(shù)據(jù)到后端的存儲節(jié)點;②后端的存儲節(jié)點采用糾刪碼的方式保護硬盤,一個存儲節(jié)點同時發(fā)生6塊硬盤故障也不會導(dǎo)致數(shù)據(jù)丟失;③兩套HCP之間的自動復(fù)制能確保數(shù)據(jù)始終在兩套對象存儲系統(tǒng)中保存雙份,兩套系統(tǒng)均可同時進行讀寫操作,任何一套系統(tǒng)發(fā)生宕機都不會導(dǎo)致數(shù)據(jù)丟失。
2)容災(zāi)能力。利用軟件定義存儲架構(gòu)建設(shè)兩個站點,生產(chǎn)站點用于數(shù)據(jù)存放和讀取,災(zāi)備站點提供生產(chǎn)站點發(fā)生故障時的容災(zāi)措施,站點間采用存儲雙活復(fù)制技術(shù),靈活規(guī)劃災(zāi)備時間。2018—2019年技術(shù)中心地理信息空間數(shù)據(jù)約增長600 TB,包括LiDAR點云數(shù)據(jù)、2000國家大地坐標(biāo)系轉(zhuǎn)換數(shù)據(jù)、高分辨率航空影像數(shù)據(jù)、地理國情監(jiān)測數(shù)據(jù)、數(shù)字城市數(shù)據(jù)等。若采用傳統(tǒng)NAS方式,大小文件混合的600 TB數(shù)據(jù),按100 M/s的高速傳輸速率,每天8 h工作量計算,需要約208個工作日來做容災(zāi);而利用對象存儲站點間的雙活技術(shù),容災(zāi)自動完成,大大減少了工作量。
3)數(shù)據(jù)一致性。當(dāng)文件存入HCP后端的存儲節(jié)點時,系統(tǒng)將針對每個糾刪數(shù)據(jù)塊產(chǎn)生唯一的Hash值[2'10](也稱數(shù)字指紋),同時不斷在后臺運行Hash驗證服務(wù),確保每個糾刪塊的Hash值與初始的Hash值相匹配,若不匹配,則自動執(zhí)行修復(fù)操作,從而保證讀出文件與寫入文件的一致性。同時,根據(jù)Hash值的唯一性特點,通過比較該數(shù)據(jù)即可判別數(shù)據(jù)的重復(fù)性,實現(xiàn)數(shù)據(jù)去重以節(jié)省硬盤空間和數(shù)據(jù)備份帶寬[11]。
2.2.5 解決“用”的問題
1)創(chuàng)新的索引技術(shù),解決海量文件保存和查詢難題。海量文件的存儲,尤其是海量的小文件,是業(yè)界公認(rèn)的難題。傳統(tǒng)存儲采用文件目錄樹的方式構(gòu)建索引,只能適合千萬級別的文件存儲和查詢;而對象存儲采用分布式數(shù)據(jù)庫保存文件索引,且內(nèi)嵌搜索引擎,結(jié)合描述地理數(shù)據(jù)的標(biāo)識、覆蓋范圍、質(zhì)量、空間和時間模式、空間參照系、分發(fā)、項目和時間等自定義元數(shù)據(jù)內(nèi)容,可輕松實現(xiàn)千億級別的文件保存和歷史文件的快速查詢。
2)統(tǒng)一數(shù)據(jù)管理?;赟3接口的數(shù)據(jù)存儲和查詢管理系統(tǒng),統(tǒng)一了數(shù)據(jù)上傳/下載、審核確認(rèn)、權(quán)限管理等功能,同時擴展了自定義元數(shù)據(jù)管理功能,以更好地利用后端的HCP對象存儲平臺,不僅能通過文件名、時間、自定義的元數(shù)據(jù)等進行文件檢索[1],而且能根據(jù)業(yè)務(wù)應(yīng)用特點添加自定義的元數(shù)據(jù)屬性,允許自由添加描述空間數(shù)據(jù)集的內(nèi)容、質(zhì)量、狀態(tài)和其他特性的特殊完全說明數(shù)據(jù)[12],形成特定資源或信息的規(guī)則集合描述[13],便于全文內(nèi)容檢索和大數(shù)據(jù)分析。
3)結(jié)合業(yè)務(wù)系統(tǒng)管理。結(jié)合基礎(chǔ)地理信息數(shù)據(jù)管理系統(tǒng),直接調(diào)用對象存儲S3接口,利用簡單的PUT、GET語句實現(xiàn)數(shù)據(jù)的上傳、下載,系統(tǒng)功能和業(yè)務(wù)工作流程與對應(yīng)數(shù)據(jù)的關(guān)聯(lián)、調(diào)用,實現(xiàn)各類成果數(shù)據(jù)上交(接收)、數(shù)據(jù)申請、數(shù)據(jù)分發(fā)與借閱、匯總統(tǒng)計、資源目錄在線發(fā)布等功能。
立足于測繪和地理信息等海量數(shù)據(jù)的管理,對基于分布式架構(gòu)的海量數(shù)據(jù)存儲與應(yīng)用進行了詳細(xì)分析和闡述。通過這套私有云存儲平臺,不僅真正解決了測繪成果等非結(jié)構(gòu)化數(shù)據(jù)高速增長的存儲難題,而且為數(shù)據(jù)在未來產(chǎn)生更大價值奠定了堅實的基礎(chǔ)。系統(tǒng)上線后通過架構(gòu)的高可靠性避免了業(yè)務(wù)中斷隱患,通過訪問節(jié)點和存儲節(jié)點的獨立橫向擴展能力實現(xiàn)了靈活的擴容,通過存儲架構(gòu)的數(shù)據(jù)自愈功能避免了數(shù)據(jù)霉變后無法讀出的風(fēng)險,通過多層面的數(shù)據(jù)保護功能實現(xiàn)了數(shù)據(jù)的免備份,通過自定義元數(shù)據(jù)功能為自然資源大數(shù)據(jù)分析搭建了數(shù)據(jù)溝通橋梁。