999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于容器技術(shù)的空間數(shù)據(jù)管理方案

2022-04-27 13:25:38宵,董林,蘇
地理空間信息 2022年4期
關(guān)鍵詞:數(shù)據(jù)庫服務(wù)

牛 宵,董 林,蘇 醒

(1.山東省國土測繪院,山東 濟(jì)南 250102;2.北京圖新數(shù)聚科技有限公司,北京 100086;3.山東科技大學(xué),山東 青島 266590)

空間數(shù)據(jù)是測繪與地理信息相關(guān)領(lǐng)域的核心資產(chǎn),大部分研發(fā)與生產(chǎn)工作都是圍繞數(shù)據(jù)的采集與加工、更新與共享、分析與應(yīng)用展開的。空間數(shù)據(jù)可以分為基于文件、基于數(shù)據(jù)庫、基于網(wǎng)絡(luò)服務(wù)以及應(yīng)用程序四類。各類數(shù)據(jù)的物理和邏輯存儲(chǔ)方式往往各不相同,部署、訪問與備份方法也有較大差異,缺乏統(tǒng)一高效的管理方案,數(shù)據(jù)安全方面也存在隱患。針對這一問題,本文提出一種基于Docker容器技術(shù)體系的方案,利用鏡像存儲(chǔ)各類空間數(shù)據(jù),通過Docker客戶端和私有倉庫實(shí)現(xiàn)數(shù)據(jù)管理。

1 Docker技術(shù)概述

Docker是一種開源的輕量化容器技術(shù),在IT領(lǐng)域已經(jīng)得以廣泛應(yīng)用[1-2]。最基本的Docker系統(tǒng)由應(yīng)用鏡像和容器引擎組成,前者用于存儲(chǔ)應(yīng)用及其依賴的軟件包,后者負(fù)責(zé)創(chuàng)建容器,將鏡像實(shí)例化為實(shí)際運(yùn)行狀態(tài)[3]。

與虛擬機(jī)(VM)類似,Docker能夠運(yùn)行不同的Linux發(fā)行版,容器之間彼此隔離,在很多場景下可以當(dāng)作輕量化、模塊化的VM使用。不同之處在于每個(gè)VM實(shí)例都要啟動(dòng)其中的操作系統(tǒng)(OS)后才能運(yùn)行應(yīng)用程序,而Docker實(shí)例則是運(yùn)行于宿主OS的內(nèi)核上,因此不僅鏡像更小、啟動(dòng)更快,能夠提供更接近于開封即用的用戶體驗(yàn),還可以避免VM中OS的授權(quán)費(fèi)、運(yùn)行的資源消耗及獨(dú)立運(yùn)維成本(這些成本通常被稱作OS稅或VM稅)[3]。

Docker還有著完善的生態(tài)環(huán)境,Docker官方和第三方都提供了開源的鏡像管理和容器集群管理工具,可用于鏡像的編譯、發(fā)布、共享、版本管理以及容器或容器集群的啟停與參數(shù)配置;清華、中科大等高校及網(wǎng)易、阿里、騰訊等企業(yè)提供了Docker倉庫鏡像服務(wù);AWS、Azure、華為云等云計(jì)算平臺(tái)提供了對Docker集群的支持。此外,Docker與微服務(wù)架構(gòu)契合度很高,目前已經(jīng)成為該架構(gòu)主流的落地實(shí)施方案之一[4]。

得益于這些優(yōu)點(diǎn),很多軟件選擇Docker鏡像作為發(fā)布形式,包括主流的Linux發(fā)行版、數(shù)據(jù)庫及很多領(lǐng)域的專業(yè)軟件以及大量的定制化應(yīng)用[5-8]。

2 技術(shù)方案

基于容器技術(shù)的空間數(shù)據(jù)管理方案由數(shù)據(jù)持久化和數(shù)據(jù)管理2個(gè)子方案組成。前者負(fù)責(zé)以統(tǒng)一、規(guī)范、便利的形式實(shí)現(xiàn)各類數(shù)據(jù)的固化。在此基礎(chǔ)上,后者負(fù)責(zé)采用成熟、可靠、易用的技術(shù)方案實(shí)現(xiàn)共享、版本管理、部署、災(zāi)備等數(shù)據(jù)管理功能。

2.1 數(shù)據(jù)持久化

利用容器技術(shù)可以統(tǒng)一采用Docker鏡像的形式實(shí)現(xiàn)將各類空間數(shù)據(jù)的持久化。

1)基于文件的空間數(shù)據(jù)。將基于文件的空間數(shù)據(jù)打包為Docker鏡像主要是為了借助Docker相關(guān)工具進(jìn)行存儲(chǔ)管理。可以選擇Alpine Linux作為基礎(chǔ)鏡像(展開后大小僅為5.58 MB)進(jìn)行制作,使用時(shí)通過目錄映射進(jìn)行讀取。在此基礎(chǔ)上還可以向鏡像添加FTP、SFTP、NFS等文件服務(wù)功能,實(shí)現(xiàn)更多訪問方式。

2)空間數(shù)據(jù)庫。空間數(shù)據(jù)庫可以打包為Docker鏡像,在需要時(shí)掛載執(zhí)行[9-10]。鏡像分為兩類:一是在包含數(shù)據(jù)庫管理系統(tǒng)的鏡像中集成壓縮后的數(shù)據(jù)庫備份文件,在鏡像實(shí)例化時(shí)執(zhí)行初始化和導(dǎo)入;二是直接提供開封即用的鏡像。前者體積較小,但是初始化可能需要一定的時(shí)間;后者存儲(chǔ)的是展開后的數(shù)據(jù)庫,體積較大,但是可以直接啟用。可以根據(jù)數(shù)據(jù)庫使用的頻繁程度和緊急程度選擇合適的鏡像類別。

3)空間數(shù)據(jù)服務(wù)。與空間數(shù)據(jù)庫類似,也可以將配置好的空間數(shù)據(jù)服務(wù)發(fā)布工具以及所需的數(shù)據(jù)或者數(shù)據(jù)庫集成為Docker鏡像。集成時(shí)應(yīng)注意解耦,把邏輯上耦合相對緊密的服務(wù)打包為同一個(gè)Docker鏡像,較為松散的則拆分至不同鏡像。這樣既符合微服務(wù)的技術(shù)理念,也能夠減少單個(gè)實(shí)例的資源消耗,方便部署更多服務(wù)。基于同樣的理由,規(guī)模較小、內(nèi)容較簡單的服務(wù)還應(yīng)考慮使用不依賴數(shù)據(jù)庫的實(shí)現(xiàn)方式。

4)3S應(yīng)用程序。從存儲(chǔ)的角度來看,GIS、GPS和RS應(yīng)用程序也是一種數(shù)據(jù)。Docker技術(shù)原本的目的就包括簡化應(yīng)用部署、提高系統(tǒng)的可伸縮性,因此也可以為3S應(yīng)用帶來相應(yīng)的優(yōu)勢[6]。和普通IT領(lǐng)域的應(yīng)用不同,這些應(yīng)用往往依賴于數(shù)以百計(jì)的類庫,例如安裝集成GRASS GIS和Python插件的QGIS時(shí)需要安裝上千個(gè)軟件包。在裸機(jī)或虛擬機(jī)上進(jìn)行部署經(jīng)常會(huì)遇到版本沖突、軟件源缺失等問題,給應(yīng)用的開發(fā)、部署造成很大障礙。操作系統(tǒng)一旦升級也經(jīng)常會(huì)出現(xiàn)類似問題。利用Docker技術(shù)則可以通過虛擬化技術(shù)提供一個(gè)統(tǒng)一的、輕量化的系統(tǒng)環(huán)境,在應(yīng)用部署中有更明顯的優(yōu)勢。此外,容器運(yùn)行環(huán)境彼此隔離,可以配置多個(gè)實(shí)例而不出現(xiàn)資源共享沖突,對應(yīng)用快速擴(kuò)容和負(fù)載均衡有很大的幫助。

2.2 數(shù)據(jù)管理

對于固化為Docker鏡像的空間數(shù)據(jù),可以通過圖1和圖2所示的空間數(shù)據(jù)管理體系實(shí)現(xiàn)數(shù)據(jù)的分發(fā)、共享、備份、版本管理以及應(yīng)用部署流程的標(biāo)準(zhǔn)化,降低運(yùn)維成本,以提高工作效率。

圖1 基于Docker的空間數(shù)據(jù)管理體系架構(gòu)

圖1為空間數(shù)據(jù)管理體系的整體架構(gòu),由組(例如一個(gè)項(xiàng)目組、一個(gè)部門等)、本地鏡像和容器應(yīng)用服務(wù)器、遠(yuǎn)程鏡像和容器應(yīng)用服務(wù)器以及冷備份設(shè)備組成,通過局域網(wǎng)和公共互聯(lián)網(wǎng)或?qū)S脧V域網(wǎng)(例如政務(wù)網(wǎng))進(jìn)行連接。圖2對工作組內(nèi)部組織架構(gòu)進(jìn)行了說明。

圖2 組內(nèi)架構(gòu)

該數(shù)據(jù)管理體系一般包括組、本地(單位層面)和遠(yuǎn)程3個(gè)層面的Docker倉庫與應(yīng)用系統(tǒng)。其核心理念在于利用Docker技術(shù)體系實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用管理的規(guī)范化、便捷化,降低安全風(fēng)險(xiǎn)和管理成本。在應(yīng)用中,可以按照實(shí)際情況靈活取舍,例如規(guī)模較小的單位可以僅保留本地和遠(yuǎn)程2個(gè)倉庫層級、倉庫僅保存核心數(shù)據(jù)資產(chǎn)等,規(guī)模較大的單位可以增加層級。

體系中,數(shù)據(jù)分發(fā)與共享通過各級鏡像倉庫和Docker官方客戶端來實(shí)現(xiàn)。個(gè)人或者組內(nèi)倉庫可以使用支持快速部署模式但權(quán)限管理功能較弱的Docker Registry實(shí)現(xiàn);本地和異地倉庫可以使用Nexus3倉庫發(fā)布工具實(shí)現(xiàn),該工具提供細(xì)粒度的權(quán)限管理功能,能夠單獨(dú)設(shè)定指定賬號(hào)對指定倉庫的讀寫及管理員權(quán)限,具有更高的安全性。數(shù)據(jù)的發(fā)布與同步、檢索、獲取通過Docker客戶端的push、search和pull命令以及Docker倉庫提供的HTTP API來實(shí)現(xiàn),也可以使用相應(yīng)的圖形界面客戶端。各級倉庫存儲(chǔ)內(nèi)容按需裁剪,例如個(gè)人倉庫可以存儲(chǔ)個(gè)人的臨時(shí)數(shù)據(jù),而組內(nèi)倉庫則存儲(chǔ)組內(nèi)需要共享或者備份的數(shù)據(jù),本地倉庫僅存儲(chǔ)要在單位范圍內(nèi)應(yīng)用的數(shù)據(jù),異地倉庫則是存儲(chǔ)關(guān)鍵數(shù)據(jù),公有倉庫僅存儲(chǔ)不涉密的數(shù)據(jù)。

數(shù)據(jù)的版本管理通過Docker鏡像版本標(biāo)簽來實(shí)現(xiàn),Docker鏡像使用了基于容器層的差分存儲(chǔ)技術(shù),在舊版本的基礎(chǔ)上生成新版本鏡像只需要新增發(fā)生改動(dòng)的容器層,因此能夠在完整保留歷史版本的同時(shí)有效減少存儲(chǔ)資源的消耗。

應(yīng)用的部署可以通過Kubernetes等容器管理平臺(tái)來實(shí)現(xiàn)。本方案采用的是標(biāo)準(zhǔn)的Docker倉庫,與這些平臺(tái)完全兼容,支持應(yīng)用的動(dòng)態(tài)加載和快速擴(kuò)容。

數(shù)據(jù)備份則通過鏡像倉庫的冷備份和各級鏡像倉庫的同步來實(shí)現(xiàn)。Nexus3以及Docker Registry等倉庫發(fā)布工具均通過統(tǒng)一的路徑來實(shí)現(xiàn)倉庫元數(shù)據(jù)和鏡像數(shù)據(jù)的存儲(chǔ),這為冷備份提供了很大的便利;各級鏡像倉庫的同步可以保證最重要的數(shù)據(jù)能有多個(gè)備份;遠(yuǎn)程倉庫可以實(shí)現(xiàn)異地備份。采用這種數(shù)據(jù)備份模式,一方面能夠以較低的運(yùn)維成本實(shí)現(xiàn)兩地三中心這種高等級的容災(zāi)備份模式,另一方面Docker開封即用的技術(shù)特點(diǎn)也能為業(yè)務(wù)的迅速恢復(fù)提供有力支撐。

3 應(yīng)用案例

為促進(jìn)商業(yè)企業(yè)進(jìn)行營銷優(yōu)化,四維圖新商業(yè)服務(wù)部(圖新數(shù)聚)自2015年開始提供在線的客群覆蓋分析服務(wù),所使用的基礎(chǔ)數(shù)據(jù)每個(gè)季度更新一次,歷史數(shù)據(jù)歸檔。使用過程中發(fā)現(xiàn)該服務(wù)存在以下不足:一是數(shù)據(jù)量很大導(dǎo)致服務(wù)的部署與更新耗時(shí)較長,并且會(huì)影響其他服務(wù)的運(yùn)行;二是運(yùn)行所需計(jì)算資源較多,擴(kuò)容成本高;三是難以迅速啟用歷史版本;四是災(zāi)備對人工操作依賴度較高。

為解決這些問題,應(yīng)用本文所述方案對該服務(wù)進(jìn)行改造。服務(wù)各版本均打包為Docker鏡像,在北京、武漢以及云倉庫上進(jìn)行同步;服務(wù)根據(jù)需求使用內(nèi)網(wǎng)或云上的Docker管理平臺(tái)進(jìn)行指定版本的部署,服務(wù)的實(shí)例數(shù)動(dòng)態(tài)調(diào)整。以上措施不僅使版本切換與服務(wù)擴(kuò)容變得易于實(shí)現(xiàn),也降低了服務(wù)的成本,還提供了高等級的容災(zāi)備份能力,較好的達(dá)到了改造目標(biāo)。

4 總結(jié)與展望

本文提出一種利用容器技術(shù)進(jìn)行空間數(shù)據(jù)管理的方案,能夠?yàn)榭臻g數(shù)據(jù)共享與備份、應(yīng)用的分發(fā)與部署以及它們的檢索和版本管理提供一種規(guī)范、安全、低運(yùn)維成本,高可用性的模式。該方案已經(jīng)在四維圖新數(shù)據(jù)生產(chǎn)和工信部國產(chǎn)計(jì)算機(jī)平臺(tái)技術(shù)論證項(xiàng)目中得到了初步應(yīng)用,驗(yàn)證了其可行性和有效性。筆者在https://github.com/asdawn/docker4gis對相關(guān)軟件安裝配置方法以及常見問題進(jìn)行了詳細(xì)說明。

需要特別指出的是,隨著國產(chǎn)計(jì)算機(jī)硬件和操作系統(tǒng)的逐步推廣,測繪系統(tǒng)內(nèi)大量已有應(yīng)用必然要針對ARM指令集CPU和Linux操作系統(tǒng)(例如飛騰處理器和麒麟操作系統(tǒng))進(jìn)行重構(gòu)。在此過程中,Docker技術(shù)在降低應(yīng)用開發(fā)難度、提高系統(tǒng)穩(wěn)定性和可用性方面能夠提供很大幫助。因此,采用該方案也有助于將后實(shí)現(xiàn)技術(shù)的平穩(wěn)過渡。

猜你喜歡
數(shù)據(jù)庫服務(wù)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: hezyo加勒比一区二区三区| 久久青草免费91观看| 激情综合激情| 精品无码国产一区二区三区AV| 亚瑟天堂久久一区二区影院| 国产电话自拍伊人| 亚洲欧美一级一级a| 色噜噜久久| 99精品免费在线| 国产国产人成免费视频77777| 四虎综合网| 亚洲IV视频免费在线光看| av一区二区无码在线| 日韩小视频在线播放| 99re这里只有国产中文精品国产精品 | 欧美成人日韩| 欧美啪啪一区| 国产欧美性爱网| 国产人免费人成免费视频| 亚洲毛片一级带毛片基地| 在线观看视频一区二区| 99在线国产| 九九九九热精品视频| 亚洲一区波多野结衣二区三区| 白丝美女办公室高潮喷水视频| 1769国产精品视频免费观看| 亚洲第一黄色网址| 再看日本中文字幕在线观看| 影音先锋丝袜制服| 国产91线观看| 国产精品国产主播在线观看| 日韩精品亚洲精品第一页| 国产成人一区免费观看| 色综合激情网| 男女精品视频| 久久久久人妻精品一区三寸蜜桃| 国产精品观看视频免费完整版| 亚洲成A人V欧美综合天堂| 天天综合天天综合| 久久这里只有精品国产99| 亚洲人成网站观看在线观看| 久久国产精品夜色| 国产丝袜丝视频在线观看| 久久精品国产精品一区二区| 欧美中文字幕在线播放| 日韩人妻精品一区| 2048国产精品原创综合在线| 亚洲av日韩综合一区尤物| 亚洲欧美日韩色图| 毛片免费在线| 97久久人人超碰国产精品| 2020极品精品国产| 国产亚洲现在一区二区中文| 亚洲欧美日韩精品专区| 最新国产精品第1页| 最新亚洲av女人的天堂| 精品国产欧美精品v| 无码电影在线观看| 色婷婷色丁香| 国产超碰一区二区三区| 伊在人亞洲香蕉精品區| 国产精品白浆在线播放| 国产AV无码专区亚洲A∨毛片| 亚洲香蕉伊综合在人在线| 精品一區二區久久久久久久網站 | 超薄丝袜足j国产在线视频| 国产精品综合久久久| 午夜不卡福利| 人妻丰满熟妇αv无码| 亚洲中文字幕在线观看| 亚洲综合精品香蕉久久网| 欧美日韩一区二区在线播放| 久久精品亚洲热综合一区二区| 天天躁日日躁狠狠躁中文字幕| 伊人激情久久综合中文字幕| 欧美日韩一区二区三区在线视频| 色综合热无码热国产| 又爽又大又黄a级毛片在线视频| 国产第一页亚洲| 国产精品高清国产三级囯产AV| 亚洲一区无码在线| 天堂亚洲网|