徐娟,劉鑫,席曉慧,張春燕
(1.甘肅省氣象信息與技術裝備保障中心,甘肅 蘭州 730020;2.國家氣象信息中心,北京 100081)
隨著信息技術的發(fā)展,氣象信息系統(tǒng)經(jīng)歷了多次迭代升級,氣象數(shù)據(jù)越來越豐富,氣象數(shù)據(jù)傳輸時效和數(shù)據(jù)服務質(zhì)量有了明顯提高,數(shù)據(jù)共享服務方式也更加靈活多樣。但由于氣象信息系統(tǒng)的分批建設,多套存儲設備共存,數(shù)據(jù)分散,現(xiàn)行各業(yè)務系統(tǒng)服務節(jié)點均需掛載底層存儲系統(tǒng),業(yè)務拓展、設備擴充、存儲設備更換等場景設備關聯(lián)維護困難問題突出?;谟脩舴旨壍臄?shù)據(jù)安全考慮,要對不同的用戶和系統(tǒng)進行目錄訪問授權,由于多套存儲并存的現(xiàn)狀,存儲空間有效利用率受到影響,使用不同年份、不同類型的氣象數(shù)據(jù)時往往需要掛載很多存儲目錄,不利于數(shù)據(jù)統(tǒng)一管理。首先需要將多個存儲系統(tǒng)集成作為統(tǒng)一的底層數(shù)據(jù)源,為上層的數(shù)據(jù)應用提供客戶端應用接口和全局命名空間,其次需要通過追蹤用戶對文件的訪問記錄掌握數(shù)據(jù)存儲狀況和應用情況,此外,記錄并分析用戶的操作記錄可以在數(shù)據(jù)訪問發(fā)生異常時進行及時的溯源和問題排查。實際業(yè)務生產(chǎn)環(huán)境中,產(chǎn)品加工系統(tǒng)的應用通過讀取文件內(nèi)容加工成新的產(chǎn)品寫入存儲,最終服務接口需要讀取實時和歷史氣象數(shù)據(jù)并提供給應用,穩(wěn)定統(tǒng)一的目錄視圖、按需提供的目錄權限,定額的空間使用分配都能更好地保障氣象數(shù)據(jù)服務應用。
數(shù)據(jù)湖是一種以自然格式存儲數(shù)據(jù)的方法,可以容納包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)等多種數(shù)據(jù)類型,它的主要功能是對用戶的所有數(shù)據(jù)進行統(tǒng)一存儲,從原始數(shù)據(jù)轉(zhuǎn)換為用于報告、可視化、分析和機器學習等各種任務的轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)湖技術的引入可以有效解決因數(shù)據(jù)分散造成的技術和管理壁壘、數(shù)據(jù)質(zhì)量溯源困難、質(zhì)量提升難度大等問題,提高數(shù)據(jù)集成和治理能力、安全管控能力,實現(xiàn)數(shù)據(jù)的統(tǒng)一管理、充分共享和開發(fā)應用,為進一步的預測分析做支撐,并且在石油化工,交通、衛(wèi)生醫(yī)療等領域已有廣泛應用。
PostgreSQL 是一個免費的對象-關系數(shù)據(jù)庫服務器(ORDBMS),支持大部分SQL 標準并且提供了包括復雜查詢、外鍵、觸發(fā)器、可更新視圖、事務完整性、多版本并發(fā)控制等許多現(xiàn)代特性。ES(Elastic Search, ES)為非關系型實時數(shù)據(jù)庫,系統(tǒng)根據(jù)具體監(jiān)視提交DI(Detail Information)最終進入ES 庫存儲,可通過Kibana 服務實現(xiàn)存儲在ES 庫中數(shù)據(jù)的查看和搜索,還能實現(xiàn)基于瀏覽器的用戶界面快速創(chuàng)建儀表板es 查詢動態(tài)的實時顯示。
Redis(REmote DIctionary Server)是一種基于內(nèi)存亦可持久化的日志型、Key-Value 數(shù)據(jù)庫,并提供多種語言的應用程序接口(Application Program Interface, API),支持應用的配置和元數(shù)據(jù)的加速緩存,同時還支持Master-Slave(主從設備模式)的數(shù)據(jù)備份,可以作為應用系統(tǒng)元數(shù)據(jù)的緩存加速。Redis-Sentinel 服務是一個獨立運行的進程,可以對Redis 的運行狀態(tài)進行監(jiān)控,實現(xiàn)master 節(jié)點故障后主備節(jié)點的自動切換。
Ansible 是一種可通過Playbooks 定制配置和對設備狀態(tài)進行管理的輕量級自動化運維工具。FS Gateway(Factory Suite Gateway)可以將不同通信協(xié)議的客戶端數(shù)據(jù)源連接在一起。
省級數(shù)據(jù)湖部署在四臺建立互信并掛載了本地NAS 存儲的Linux 服務器上,通過應用的部署實現(xiàn)虛擬文件系統(tǒng)搭建、存儲接入、元數(shù)據(jù)管理、系統(tǒng)后臺管理以及系統(tǒng)的高可用。數(shù)據(jù)湖系統(tǒng)設計管理節(jié)點和計算節(jié)點各兩臺,兩個管理節(jié)點為高負載服務器,均需部署PostgreSQL、Redis、Redis-Sentinel 服務和es 服務,其中一臺管理節(jié)點作為PostgreSQL主節(jié)點還需部署Ansible 自動化工具和Kibana 服務,另一臺管理節(jié)點作為PostgreSQL 備節(jié)點和Redis 的主節(jié)點還需部署FS Gateway-rest 管理服務。計算節(jié)點為低負載服務器,一臺部署FS Gateway-gw 存儲服務和Redis-Sentinel 服務,另一臺則只部署FS Gateway-gw 存儲服務。數(shù)據(jù)湖實現(xiàn)的整體架構(gòu)如圖1所示。
圖1 數(shù)據(jù)湖實現(xiàn)架構(gòu)
2020年全國氣象部門部署了氣象大數(shù)據(jù)云平臺“天擎”系統(tǒng),該系統(tǒng)具備海量數(shù)據(jù)存儲、全業(yè)務貫通、數(shù)據(jù)應用高效的能力,能夠為天氣預報、氣候預測、公眾服務、人工影響天氣等各類氣象應用的云化融入提供技術和平臺支撐,構(gòu)建“云+端”的業(yè)務應用模式,系統(tǒng)包括數(shù)據(jù)交換及質(zhì)控、產(chǎn)品加工、挖掘分析、數(shù)據(jù)存儲及服務、業(yè)務監(jiān)控五大功能。數(shù)據(jù)湖可以集成省級現(xiàn)有的文件存儲系統(tǒng),提供統(tǒng)一的目錄視圖,集中權限管理和目錄級別的權限設置,能夠有效實現(xiàn)用戶分級情況下的數(shù)據(jù)訪問授權應用。數(shù)據(jù)湖軟件整合多源異構(gòu)存儲文件,將各類存儲系統(tǒng)的存儲目錄掛載到統(tǒng)一的目錄樹上,并且按照業(yè)務應用重新組織目錄結(jié)構(gòu),以統(tǒng)一的命名空間對外提供文件共享服務,此外,提供專用客戶端實現(xiàn)統(tǒng)一目錄空間的本地掛載,有助于各類分析手段的應用,提升數(shù)據(jù)隱含價值。
加工流水線系統(tǒng)(DPL)通過算法庫的建立對氣象算法進行統(tǒng)一管理,提升算法的匯集、使用、管理和共享,建立加工流水線,根據(jù)算法任務應用場景的不同,將算法模塊部署到相應的計算框架下,實現(xiàn)加工處理任務自動化運行和數(shù)據(jù)產(chǎn)品的批量生產(chǎn)。在加工流水線系統(tǒng)掛載數(shù)據(jù)湖服務客戶端,按照不同應用系統(tǒng)的數(shù)據(jù)訪問需求進行目錄授權,實現(xiàn)各租戶即使登錄相同計算節(jié)點也只能訪問自己關注目錄的應用效果。氣象數(shù)據(jù)統(tǒng)一服務接口系統(tǒng)(MUSIC)負責對分級存儲、分庫存儲的各類數(shù)據(jù)提供統(tǒng)一、便捷的數(shù)據(jù)服務,在該系統(tǒng)的所有節(jié)點掛載數(shù)據(jù)湖客戶端并授權所有目錄訪問權限,當接收到用戶訪問文件產(chǎn)品的請求后查找文件索引庫記錄中文件位置信息并通過數(shù)據(jù)湖獲取存儲中文件內(nèi)容返回用戶。存儲管理系統(tǒng)(SOD)采用分布式存儲技術對各類氣象資料數(shù)據(jù)進行存儲,利用數(shù)據(jù)湖提供的接口,管理底層NAS 與虛擬文件目錄的映射關系。數(shù)據(jù)湖的業(yè)務應用流程如圖2所示。
圖2 數(shù)據(jù)湖的業(yè)務應用流程
數(shù)據(jù)湖提供了目錄的統(tǒng)一管理,包括目錄掛載、目錄授權、日志審計、用戶管理等,多套存儲之間可以靈活組合來提供給用戶使用。數(shù)據(jù)湖管理頁面和菜單展示如圖3所示。
圖3 數(shù)據(jù)湖管理頁面和菜單
按照業(yè)務應用流程,首先需要創(chuàng)建后端存儲,對存儲進行命名,選擇存儲類型、讀寫權限并填寫掛載點,后端存儲(以NAS 為例)一般是指真實的NAS 地址。其次是虛擬目錄的創(chuàng)建和虛擬目錄與物理存儲目錄的關系映射,分為批量和手動兩種方式。批量方式提供適用于多套NAS 或掛載點為“年份”級別目錄的Excel 批量掛載方式,并自動對導入的掛載目錄進行校驗檢查,該功能還可提前指定好虛擬目錄與未來會創(chuàng)建物理目錄的映射關系,通過“導入標簽目錄文件”菜單將提前制定的真實NAS 目錄和目標虛擬目錄映射關系導入來實現(xiàn)。映射成功的目錄可在“虛擬目錄掛載管理”菜單進行查看。通過批量方式導入的虛擬目錄也可以進行批量卸載。手動方式中虛擬目錄的創(chuàng)建通過“虛擬目錄管理”菜單進行,并在“虛擬目錄掛載管理”菜單進行虛擬目錄與后端存儲目錄的關系映射和卸載操作。
用來訪問數(shù)據(jù)湖目錄的用戶稱為虛擬目錄用戶(簡稱用戶),用戶對文件的訪問操作限制通過目錄的訪問授權實現(xiàn)。通過“網(wǎng)關授權管理”菜單進行用戶創(chuàng)建,用戶的權限范圍通過用戶所在分組的授權實現(xiàn),即數(shù)據(jù)湖中不會直接給某個用戶授予權限,而是以組為單位的,如果授予用戶組某些權限,那么該用戶組下的所有用戶也就擁有相同的權限。用戶組的授權有根據(jù)目錄路徑授權和根據(jù)時間范圍授權兩種方式。
數(shù)據(jù)湖提供Linux 客戶端和Windows 客戶端,在Linux系統(tǒng)中,數(shù)據(jù)湖客戶端是提供給Linux 系統(tǒng)連接數(shù)據(jù)湖文件管理系統(tǒng)的一個服務,它類似于NAS,可以把目錄信息直接掛載到Linux 系統(tǒng)的某個目錄上,提供用戶使用。Linux客戶端的授權,需將客戶端所在IP 地址和操作系統(tǒng)用戶與數(shù)據(jù)湖已授權的虛擬目錄用戶進行關聯(lián),操作系統(tǒng)用戶便會擁有虛擬目錄用戶的相應權限,通過修改關聯(lián)的虛擬目錄用戶權限來實現(xiàn)客戶端用戶權限的修改,刪除客戶端權限只需刪除數(shù)據(jù)湖管理平臺中客戶端對應的IP 地址便可達到。Windows 客戶端只需要輸入虛擬目錄用戶的賬號信息即可訪問該用戶對應的授權文件而不需要根據(jù)IP 地址進行授權。數(shù)據(jù)湖Windows 客戶端界面如圖4所示。
圖4 數(shù)據(jù)湖Windows 客戶端界面
數(shù)據(jù)湖系統(tǒng)與氣象信息業(yè)務應用密不可分,是統(tǒng)一氣象文件數(shù)據(jù)的管理平臺,也是氣象數(shù)據(jù)訪問安全的重要保障基礎,能夠有效解決并提高氣象數(shù)據(jù)訪問質(zhì)量,有助于更好發(fā)揮氣象數(shù)據(jù)價值。