潘磊 郭曉虎 薛崢 章亮
摘要:在測繪生產(chǎn)中,由于成果數(shù)據(jù)的不斷積累,數(shù)據(jù)量已經(jīng)由過去的TB級發(fā)展至PB級,使得測繪成果數(shù)據(jù)面臨著更高的管理要求,因此在云存儲環(huán)境下搭建一套測繪資料在線管理系統(tǒng),充分利用云存儲的技術(shù)優(yōu)勢確保數(shù)據(jù)存儲的安全性、高可擴展性和高可靠性,實現(xiàn)測繪成果資料在線化管理,提升測繪資料管理的質(zhì)量和效率,是當前測繪生產(chǎn)發(fā)展的必然趨勢。本文介紹了云存儲環(huán)境下的測繪資料在線管理系統(tǒng)的框架設(shè)計和主要功能,通過高效的文件快速查詢檢索,滿足測繪成果資料在線管理需求。
關(guān)鍵詞:云存儲 測繪成果資料管理
1、引言
隨著測繪事業(yè)的不斷發(fā)展,測繪地理信息成果資料的數(shù)據(jù)量呈逐年快速增長趨勢,測繪成果資料大多以光盤、磁帶、硬盤為主要存儲載體進行備份,導(dǎo)致存放數(shù)據(jù)的硬盤不斷增多,其中有些硬盤存儲量達到數(shù)百萬個小文件,傳統(tǒng)方式管理起來日漸乏力,過去的成果資料管理很大程度依靠人工,采用文檔方式記錄,查詢檢索效率低,很難快速找到對應(yīng)的資料數(shù)據(jù),給日常管理與數(shù)據(jù)檢索傳輸造成很大困擾,不利于測繪成果資料的管理,這也是目前測繪資料管理普遍存在的問題。[1]
云存儲(Cloud Storage)是在云計算(Cloud Computing)基礎(chǔ)上延伸和發(fā)展而來,通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等技術(shù),將服務(wù)器后端存儲資源虛擬化,將數(shù)據(jù)分布式存儲在眾多的服務(wù)器主機上,通過網(wǎng)絡(luò)共享方式提供給用戶使用。和傳統(tǒng)存儲相比,云存儲具有高性價比、高可靠性、高可擴展性的特點,同時支持高并發(fā)、高帶寬、自動均衡負載。相同數(shù)據(jù)在不同存儲節(jié)點存有兩個或多個副本,任意節(jié)點發(fā)生故障,系統(tǒng)將自動復(fù)制數(shù)據(jù)塊到新的存儲節(jié)點,具有高可靠性,可大規(guī)模橫向擴展,足以滿足地理信息數(shù)據(jù)與日俱增的數(shù)據(jù)存儲需求。
本文主要探討云存儲環(huán)境下,設(shè)計開發(fā)一套測繪資料管理系統(tǒng),模擬日常測繪成果資料管理流程,將每個磁盤存儲信息與云存儲空間一一對應(yīng),將測繪成果數(shù)據(jù)上傳到云存儲的同時,建立相關(guān)元數(shù)據(jù)庫,實現(xiàn)海量數(shù)據(jù)快速實時檢索。
2、系統(tǒng)框架設(shè)計
測繪成果資料管理系統(tǒng)符合OAIS開放檔案系統(tǒng)(Open Archival Information System)標準[2],采用B/S架構(gòu)實現(xiàn)服務(wù)的交互,系統(tǒng)基于底層云存儲服務(wù),搭建文件檢索和事務(wù)管理數(shù)據(jù)庫,通過系統(tǒng)平臺以WEB頁面形式將信息提供給用戶,系統(tǒng)包括資料預(yù)處理模塊、管理模塊、存儲管理模塊、數(shù)據(jù)庫管理模塊、文件檢索模塊等功能模塊。
2.1資料預(yù)處理模塊
首先對生產(chǎn)部門提交的測繪成果資料,以硬盤為單位進行硬盤登記和硬盤健康狀況檢驗,對不滿足健康狀況的硬盤,及時進行硬盤數(shù)據(jù)備份。提取硬盤中相關(guān)元數(shù)據(jù)入數(shù)據(jù)庫,調(diào)用數(shù)據(jù)上傳功能將測繪資料數(shù)據(jù)上傳到底層云存儲中。
2.2管理模塊
管理模塊包括任務(wù)功能調(diào)度、平臺及存儲運行狀態(tài)監(jiān)測、系統(tǒng)日志記錄以及用戶權(quán)限管理等功能。任務(wù)功能調(diào)度具有分布式功能調(diào)用、動態(tài)均衡、存儲資源監(jiān)控等功能。存儲資源監(jiān)控包括獲取集群狀態(tài)、存儲使用率、性能等信息。用戶權(quán)限管理將不同類型的用戶分配對應(yīng)的權(quán)限。
2.3存儲管理模塊
存儲管理模塊包括云存儲空間管理和文件共享服務(wù)等功能。云存儲空間管理功能可動態(tài)分配和回收存儲空間,并實時查看云存儲剩余空間。文件共享服務(wù)功能采用SMB協(xié)議(全稱是Server Message Block)搭建基于linux系統(tǒng)的文件共享服務(wù),建立linux服務(wù)器的數(shù)據(jù)與客戶端之間的數(shù)據(jù)共享。文件共享服務(wù)將云存儲數(shù)據(jù)以硬盤掛載的形式提供服務(wù),掛載后和操作本地磁盤沒有區(qū)別,數(shù)據(jù)的訪問無需進行下載,可在線實時操作。當使用部門申請數(shù)據(jù)獲準后,可以從云存儲內(nèi)部將數(shù)據(jù)直接傳輸進該部門空間。底層云存儲系統(tǒng)的文件存儲由眾多X86架構(gòu)的存儲節(jié)點組成,利用存儲軟件將網(wǎng)絡(luò)中的存儲節(jié)點資源進行整合組織,并提供一套維護管理云存儲空間的標準接口,通過接口調(diào)用動態(tài)分配云存儲資源、存儲資源回收以及狀態(tài)監(jiān)控等功能。
2.4數(shù)據(jù)庫管理模塊
數(shù)據(jù)庫管理模塊建立起系統(tǒng)平臺與數(shù)據(jù)庫之間的關(guān)聯(lián),管理包括元數(shù)據(jù)庫,事務(wù)管理數(shù)據(jù)庫。元數(shù)據(jù)存儲在ElasticSearch文件檢索數(shù)據(jù)庫中,事務(wù)管理數(shù)據(jù)存儲在關(guān)系型數(shù)據(jù)庫MySQL中,支持分布式部署,存儲資料管理系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)。
2.5文件檢索功能模塊
文件檢索功能模塊采用ElasticSearch搭建文件檢索功能,支持分布式部署的全文搜索引擎。無論是基于時間檢索還是基于空間檢索,ElasticSearch在大數(shù)據(jù)查詢方面都表現(xiàn)出比基于數(shù)據(jù)庫查詢更高的檢索效率[3],文件檢索供用戶按照文件和文件目錄檢索,對數(shù)據(jù)查詢時,可根據(jù)文件名、文件后綴、時間段進行文件檢索,對于檢索到的文件可手動選擇加載對應(yīng)云存儲空間到本地工作站訪問。
3、存儲管理技術(shù)介紹
底層云存儲采用分布式架構(gòu),可大規(guī)模橫向擴展,系統(tǒng)由眾多冗余組件組成,不存在單點故障,且支持對象存儲、塊存儲、文件系統(tǒng)三種存儲方式。
3.1系統(tǒng)組成
3.1.1管理監(jiān)控模塊
該模塊負責(zé)整個存儲集群的配置管理以及狀態(tài)監(jiān)控,當系統(tǒng)出現(xiàn)異常時,通過指定方式及時告警。通過基于web的訪問方式進行管理和維護操作,支持智能化管理和配置。
3.1.2 元數(shù)據(jù)服務(wù)模塊
該模塊用來管理和維護文件系統(tǒng)中文件的元數(shù)據(jù)信息。當客戶端使用文件系統(tǒng)訪問存儲時,首先與元數(shù)據(jù)服務(wù)進程通信,獲得被訪問文件的元數(shù)據(jù)信息,根據(jù)元數(shù)據(jù)信息來訪問數(shù)據(jù)。
3.1.3存儲服務(wù)模塊
該模塊負責(zé)數(shù)據(jù)存儲,處理從客戶端發(fā)過來的數(shù)據(jù)請求。同時每個存儲服務(wù)進程會與其相關(guān)的存儲服務(wù)進程相關(guān)聯(lián),保持關(guān)聯(lián)磁盤之間的一致性,當發(fā)現(xiàn)相關(guān)磁盤異常時,存儲服務(wù)進程會將其匯報給管理節(jié)點,管理節(jié)點隨后做出應(yīng)對,保證系統(tǒng)的正常運行及數(shù)據(jù)的恢復(fù)等。
3.1.4對象存儲網(wǎng)關(guān)
通過該模塊,云存儲系統(tǒng)可以對外提供支持RESTful的對象存儲訪問方式,目前兼容亞馬遜S3和Swift等傳統(tǒng)對象存儲接口。該模塊支持集群化部署,以提供高并發(fā)訪問服務(wù)能力。
3.1.5客戶端模塊
為滿足不同的應(yīng)用需求,系統(tǒng)提供豐富的存儲訪問接口,支持通過iSCSI客戶端程序?qū)⒃拼鎯τ成涑杀镜卮疟P使用,也提供私有的文件系統(tǒng)客戶端訪問方式,同時支持私有接口訪問。
3.2 關(guān)鍵技術(shù)
3.2.1 數(shù)據(jù)分布算法
為滿足系統(tǒng)高可擴展性和高并發(fā)性的設(shè)計要求,該云存儲系統(tǒng)采用無中心節(jié)點架構(gòu)設(shè)計,通過分布式Hash算法計算的方式來尋址。保證了數(shù)據(jù)的均勻分布,系統(tǒng)發(fā)生變更時盡可能少的數(shù)據(jù)在設(shè)備之間的遷移,以及快速定位數(shù)據(jù)。
3.2.2 分層緩存技術(shù)
為提高存儲系統(tǒng)的讀寫性能,存儲系統(tǒng)在系統(tǒng)層面采用cache策略和分級存儲策略,將SSD磁盤配置成SATA磁盤cache層,cache模塊負責(zé)在cache層和存儲層之間進行數(shù)據(jù)自動遷移,對于客戶端而言,數(shù)據(jù)的存儲和訪問完全是透明的。
3.2.3 高速并發(fā)訪問技術(shù)
采用無中心節(jié)點架構(gòu)設(shè)計,避免了由于中心節(jié)點服務(wù)能力的限制造成系統(tǒng)并發(fā)能力的降低;客戶端與存儲節(jié)點之間通信,不經(jīng)過任何代理節(jié)點或轉(zhuǎn)發(fā)節(jié)點,系統(tǒng)的整體吞吐率和并發(fā)能力會隨著存儲節(jié)點的數(shù)量的增加而線性擴展;存儲系統(tǒng)的容錯由存儲節(jié)點之間自動進行,可以在高并發(fā)情況下,提高客戶端的帶寬利用率。
3.2.4其他技術(shù)
為了幫助用戶更好的保護數(shù)據(jù),云存儲系統(tǒng)還支持快照、克隆、遠程復(fù)制等功能。
4、文件檢索模塊設(shè)計
4.1 文件檢索數(shù)據(jù)庫
測繪成果資料數(shù)據(jù)量巨大,要從海量數(shù)據(jù)中檢索出某一文件,這對檢索模塊的設(shè)計提出了較高要求。本管理系統(tǒng)采用ElasticSearch搭建文件檢索模塊,它的倒排索引技術(shù)實現(xiàn)比關(guān)系型數(shù)據(jù)庫更快的過濾,能支持上百億條、PB級數(shù)據(jù)的搜索。
4.2 ElasticSearch集群
為保證E lasticSearch的高可用性,在本管理系統(tǒng)中,使用三臺主機構(gòu)建了一個ElasticSearch集群。Elasticsearch采用分片技術(shù),將索引存儲時分成兩個分片,每個分片又有兩個副本分片,數(shù)據(jù)保存在分片內(nèi),分片被分配到集群內(nèi)的各個節(jié)點里。當集群規(guī)模擴大或者縮小時,Elasticsearch會自動的在各節(jié)點中遷移分片,使得數(shù)據(jù)均勻分布在集群里。集群結(jié)構(gòu)如圖3所示,P開頭的代表Primary分片,即主分片,R開頭的代表Replica分片,即副本分片。
根據(jù)節(jié)點的職責(zé)不同,劃分為主節(jié)點、數(shù)據(jù)節(jié)點、負載均衡節(jié)點。主節(jié)點即Master節(jié)點,其管理控制整套集群,如創(chuàng)建索引、刪除索引、資源分配、節(jié)點修改等;數(shù)據(jù)節(jié)點,對文檔進行增刪改查操作等;負載均衡節(jié)點,負責(zé)處理路由請求、搜索、分發(fā)索引操作等。
5、總結(jié)
在云存儲環(huán)境下,搭建一套測繪成果資料管理系統(tǒng),實現(xiàn)測繪成果資料管理的在線化、服務(wù)網(wǎng)絡(luò)化,整合更多依賴分布式存儲和數(shù)據(jù)庫的資源,提高測繪成果資料文件檢索和數(shù)據(jù)共享效率,進一步提升測繪成果資料管理的質(zhì)量和能力。
參考文獻:
[1]黃遞全,向娟,吳蕾.測繪成果資料目錄管理系統(tǒng)設(shè)計與實現(xiàn)[J].地理空間信息,2017,15( 10) :112-114.
[2]秦高雅.測繪資料檔案一站式管理平臺設(shè)計與實現(xiàn)[D].北京:北京建筑大學(xué),2019.
[3]李峰,宋宴,魏廣澤,王永安.基于 ElasticSearch 的海量遙感數(shù)據(jù)檢索技術(shù)研究 [J].計算機與網(wǎng)絡(luò),2021,47(05):57-61.