王雙雙,杜建華,王立俊,趙 冰,劉驥超
(海南省氣象信息中心,???570203)
隨著氣象信息化的發(fā)展,我國建成了“天地一體化”的通信系統(tǒng),氣象數據呈幾何級數增長,各行各業(yè)和社會公眾對氣象服務需求日益旺盛,涉及旅游、交通、農業(yè)、林業(yè)、環(huán)保、水利、海洋等領域,氣象數據在國家發(fā)展和民生服務等領域發(fā)揮著日益重要的作用。但長久以來各行業(yè)相互獨立,沒有形成共享數據的機制,很難利用大數據技術開展數據挖掘和數據融合,也就不能更好地發(fā)揮數據的價值以及更好服務國計民生。因此,打破“數據孤島”,使氣象大數據安全有序地進行流通和共享,提高數據交互效能,真正實現數據的融合,需要進一步研究解決。
近年來,國內氣象部門在氣象數據共享方面進行了很多有益的研究工作,其中中國氣象局于2009年啟動了全國綜合氣象信息共享系統(tǒng)建設(CIMISS,China integrated meteorological information sharing system),CIMISS系統(tǒng)集數據收集分發(fā)、質量控制、數據解析、存儲管理、業(yè)務監(jiān)控為一體,為國省兩級氣象部門構建了統(tǒng)一的數據環(huán)境[1],實現了氣象數據的集約化管理。在此基礎上,各級氣象部門依托CIMISS建設了各部門本地化的共享系統(tǒng)。何林等[2]以省級集約化氣象數據環(huán)境及其服務接口為依托,研發(fā)了面向省、市、縣三級一線業(yè)務人員的統(tǒng)一氣象數據共享系統(tǒng)。隨著氣象數據觀測頻次不斷增高、加工產品的內容和數量不斷豐富以及業(yè)務系統(tǒng)對數據訪問時效的需求更高,CIMISS系統(tǒng)無法滿足對數據進行全面的收集和管理,不能有效滿足智慧氣象和大數據服務的現實需求。基于云計算、大數據等信息技術[3-4],2017年國家氣象信息中心開始構建氣象大數據云平臺[5],支撐國省兩級業(yè)務[6],云平臺匯聚氣象部門內外數據,提供云上加工、挖掘分析的計算服務,開放平臺、數據、算法資源,提供數算一體的氣象服務,全面支撐“云+端”的氣象業(yè)務[7],實現了對CIMISS的全面升級和替代。2020年海南省氣象部門搭建了省級氣象大數據云平臺,支撐海南省-市縣兩級業(yè)務,但更偏重于氣象部門內部進行了數據的交換和共享,在行業(yè)及外部門的共享探索較少。
隨著氣象防災減災、部門合作、專業(yè)專項服務等方面對氣象數據的需求日益凸顯,海南省氣象部門對外提供數據共享服務的范圍不斷擴大,同時不同的服務對象對共享的數據范圍的需求有所不同,如瓊港合作項目、三防、部隊、環(huán)保等。目前的處理方式是根據各部門提出要求,分別開發(fā)實現,氣象相關數據對外服務沒有統(tǒng)一的平臺,造成對外共享數據存在許多系統(tǒng),共享方式雜亂,不利于對數據使用的管理;前期存在非氣象部門直接訪問氣象部門內網相關資源的現象,不利于氣象局內網資源的安全與保密;由于系統(tǒng)分散,對數據分發(fā)共享的工作缺乏運行保障,影響氣象部門的對外服務形象。所以亟需建立一套氣象數據分發(fā)平臺,實現對外數據共享服務的統(tǒng)一管理、統(tǒng)一出口、統(tǒng)一維護。
本文針對海南省氣象部門對外數據共享長期存在的問題,從外部門對氣象數據的需求出發(fā),依托氣象大數據云平臺,基于分布式存儲技術和數據緩存技術,實現氣象數據共享分發(fā)管理的規(guī)范化和集約化,文中對氣象數據、系統(tǒng)設計、關鍵技術、系統(tǒng)功能和應用等方面進行介紹。
氣象數據資源涵蓋氣象業(yè)務、服務、科研、管理以及行業(yè)社會交換的所有數據,包括基礎數據、應用支撐數據、管理與運行信息。數據資源種類繁多、格式多樣、數據量大?;A數據為氣象業(yè)務數據資源的全集,包含氣象觀測數據、氣象產品數據、行業(yè)社會數據、GIS數據和元數據。氣象觀測數據是氣象直接觀測和遙感觀測系統(tǒng)所產生的觀測數據,包括地面、高空、海洋、輻射、農業(yè)和生態(tài)氣象、大氣成分、災害預警、雷達、衛(wèi)星、人工影響天氣、空間天氣、科學考察、歷史氣候代用等數據,還包括部分數字化數據。氣象產品數據是指氣象基礎統(tǒng)計產品、氣象監(jiān)測數據產品、氣象預報業(yè)務產品、氣象服務產品、氣象電子出版物和媒體數據。海南省氣象部門與外單位共享數據主要包括地面、高空、海洋、衛(wèi)星、雷達(基數據)等各類觀測數據,以及觀測數據生成的基礎統(tǒng)計產品如雷達產品(PUP產品、拼圖產品等)、衛(wèi)星產品,以及預報產品、預警信號等。
海南省氣象數據共享平臺致力于解決現有為外單位共享數據方式雜亂、缺乏有效管理的問題,實現共享數據的統(tǒng)一管理,為外單位外部門提供定制化的共享服務。根據海南省氣象局氣象信息系統(tǒng)集約化管理實施細則(試行),數據環(huán)境統(tǒng)一使用氣象大數據云平臺,不再單獨建設數據庫,采用現有氣象大數據云平臺的數據環(huán)境,在遵循氣象大數據云平臺的數據標準和存儲規(guī)范下,將海南本地特色等資料存入數據庫,在其基礎上擴建文件索引庫表用于存儲雷達產品(PUP產品、拼圖產品等)、衛(wèi)星產品索引信息,文件實體保存在分布式NAS和表格存儲等。同時建設數據緩存表,用于緩存經常需要調用的數據如整點實況數據等以及衛(wèi)星云圖和雷達產品等較大數據的本地緩存,避免反復讀取數據,增加服務器性能的消耗。
系統(tǒng)基于B/S架構[8-9]和SSH[10-11]框架,采用JAVA語言實現。系統(tǒng)設計采用四層結構:自下而上依次為基礎支撐層、數據存儲層、業(yè)務邏輯層、界面層。系統(tǒng)總體架構如圖1所示?;A支撐層為系統(tǒng)提供所需要的計算、存儲、網絡資源、安全設備等硬件支撐及相關的軟件支撐,依托海南省氣象大數據云平臺和基礎設施資源池實現。數據存儲層包括氣象大數據云平臺業(yè)務數據庫、本地數據、緩存數據庫表、共享目錄等,負責存儲海南省各類氣象觀測數據、氣象產品、業(yè)務管理信息、運行日志等,依托氣象大數據云平臺和擴展存儲環(huán)境實現。業(yè)務邏輯層以數據存儲為基礎,包括數據處理、接口管理、系統(tǒng)管理、日志管理、數據監(jiān)控等。界面層表示系統(tǒng)以web網站的形式實現為外部門提供定制化數據共享服務,可靈活配置滿足共享需求,具有可擴展性。
圖1 系統(tǒng)架構
海南省氣象數據共享平臺依托專線網絡、氣象大數據云平臺數據環(huán)境及統(tǒng)一數據服務接口,定時獲取氣象數據,按照需求推送定制化數據。由于氣象數據種類繁多、不標準、不統(tǒng)一,缺乏和國際、業(yè)界一般采用標準格式的一致性,2019年根據中國氣象局統(tǒng)一規(guī)劃部署,海南省氣象部門開始將觀測數據由國內自定義數據格式逐步傳輸、使用標準格式氣象數據,目前還未完成所有數據的標準化切換。目前還存在原始格式數據和標準數據同時應用的過渡期,根據需求單位需求數據的不同,文中考慮部分單位還在使用原始格式數據,可以根據需要進行格式轉換。根據外單位需求數據類型是原始格式、標準格式還是文件,其中國家站、區(qū)域站等地面自動站數據、酸雨、輻射、雷達基數據目前已經傳輸標準格式數據,可轉換為原始格式數據推送。如果后臺可通過緩存表讀取到所需數據,就從數據緩存表加載并打包相關數據并進行推送,否則就讀取相關數據接口或相關共享目錄等方式獲取并打包推送,同時設置數據監(jiān)控模塊,監(jiān)控數據是否推送完成。數據流程如圖2所示。
圖2 數據流程
氣象數據共享平臺主要由4個子系統(tǒng)組成,分別是用戶管理、系統(tǒng)配置、數據分發(fā)配置及數據統(tǒng)計查詢,平臺功能框架如圖3所示。
圖3 海南省氣象數據共享平臺功能模塊
用戶管理主要對本地用戶進行管理,根據系統(tǒng)定義的不同級別用戶的操作權限創(chuàng)建不同的用戶,限制用戶對系統(tǒng)的操作,以保障用戶業(yè)務系統(tǒng)的穩(wěn)定及業(yè)務數據的安全。系統(tǒng)配置主要用于對站點管理、用戶單位的管理和數據權限的設置,便于系統(tǒng)的擴展。站點管理是將海南省全部地面站、雨量站、交通站、浮標站、船舶站、海島站、水文站通過站號、站名、所在省市縣、是否支持溫度濕度降水風向風速氣壓能見度六要素,可按照分類及站號定制共享給需求單位;用戶單位管理是維護用戶單位基本信息,包括外部門負責人員聯系方式等;數據權限設置包括數據服務的期限、相關協(xié)議(包括保密協(xié)議)等,本平臺在服務期限范圍內向該用戶單位提供數據服務。
數據分發(fā)設置主要包括數據源設置、數據分發(fā)單位設置、定制數據設置、數據監(jiān)控。目前氣象共享數據包括地面、高空、雷達、云圖、衛(wèi)星等各類觀測數據,及基礎統(tǒng)計產品如雷達拼圖產品,以及預報產品、預警信號等。數據源設置是針對不同的數據類型設置獲取方式,包括資料名稱、分類、獲取方式、賬戶、密碼、服務器IP、接口地址或共享文件目錄、時間格式、數據時區(qū)、文件類型、更新頻率等信息以及數據緩存表存儲熱點數據或者較大的產品數據的方式,包括設置數據庫連接方式、表名等。數據分發(fā)單位設置是系統(tǒng)管理員根據管理部門批準的數據分發(fā)范圍,填寫分發(fā)用戶路徑,賬戶名密碼等信息。定制數據設置是按用戶單位進行數據范圍的授權設置,包括數據的類別(包括產品類別)、自動站站點、所需要素、所需數據頻率。為保證系統(tǒng)的穩(wěn)定運行,以及數據共享分發(fā)的時效性,系統(tǒng)通過運行監(jiān)控模塊對數據源的讀取情況、數據打包情況以及分發(fā)數據是否到達進行監(jiān)控,實時反饋異常情況,方便運維人員及時處理問題,保障系統(tǒng)穩(wěn)定運行。
系統(tǒng)根據用戶單位所需分發(fā)數據的配置,定時自動到對應數據源獲取相關的文件,并推送消息給打包服務,按照一定的數據規(guī)范進行打包,并推送消息給分發(fā)服務,系統(tǒng)自動將需要分發(fā)的數據包,推送到指定的目標地址,并檢查目標地址數據包是否到達、文件大小是否變化,同時給數據監(jiān)控模塊發(fā)送消息。數據統(tǒng)計查詢主要用于完成相關的報表工作。
氣象數據的存儲技術與數據形態(tài)相關,氣象數據可分為結構化數據和非結構化數據,存儲技術相對獨立。隨著大數據時代的到來,數據種類持續(xù)增長,數據量激增,傳統(tǒng)集中式存儲也無法滿足業(yè)務需求[12]。隨著大數據、云計算技術快速發(fā)展,分布式計算日趨成熟。分布式存儲技術具有天生的在線伸縮、高可用、水平擴展等能力,能有效避免單點故障,氣象數據以分布式存儲技術為主[13-18]。
對于結構化數據如地面、高空、輻射、農氣等站點數據,經過解析、簡單處理之后可以用二維表結構邏輯表達,使用關系型數據庫表示和存儲。分布式關系型數據庫、分布式分析型數據庫成為結構化數據存儲的主流。對于這些站點數據,在分布式關系型數據庫中存儲近段時間數據(如1年)[19],選用虛谷數據庫支撐實時結構化數據的解碼入庫和存儲以及文件索引信息的存儲。在分布式分析型數據庫中存儲長序列的數據,選用列式數據庫南大通用GBase 8a數據庫,對少量的氣象要素的檢索及分析具有較好的性能。對于雷達、衛(wèi)星等非結構化數據采用分布式NAS存儲,支持氣象業(yè)務中進行大量的統(tǒng)計加工算法直接讀寫,同時非結構化數據以較大的文件為主,在數據管理和共享訪問性能上優(yōu)勢明顯。
本系統(tǒng)將海南本地特色等資料按照大數據云平臺數據接入流程和標準,根據數據格式規(guī)則,將結構化數據解碼為要素存入虛谷緩沖庫(個別資料直接存入服務庫),為了提供數據服務,將數據同步至大數據云平臺的虛谷服務庫,同時,為了存儲長時間序列的數據,還需要將數據從緩沖庫同步至GBase 8a分析庫;根據文件名規(guī)則,將雷達產品(雷達拼圖產品等)等非結構化數據文件實體保存在分布式NAS和表格存儲,并按照文件名解析將索引信息存入索引表提供接口服務。對于數據模式預報數據需要把拆分出來的單場單要素的格點數據存儲表格存儲,重組后的文件存入分布式NAS并提取索引存入文件索引庫提供接口服務。在索引入庫成功和表格存儲入庫成功之后分別生成對應的DI信息,通過本地DI容錯代理應用程序轉發(fā)到綜合業(yè)務監(jiān)控平臺,同時在處理的全過程中有異常或者錯誤信息生成EI告警信息發(fā)送綜合業(yè)務監(jiān)控平臺。
圖4 數據存儲流程
氣象數據統(tǒng)一服務接口(MUSIC,meteorological unified service interface community),基于大數據云平臺數據環(huán)境,為國-省-市縣各級氣象業(yè)務和科研用戶提供標準的數據訪問服務以及應用編程接口,為各類應用系統(tǒng)提供權威的數據接入服務[20],不僅提供全面的數據獲取功能,包括:站點資料的檢索、統(tǒng)計,格點資料的解析、裁剪和抽取,文件產品的查詢、下載,臺站信息的檢索等;同時支持本地特色等新增資料接口的發(fā)布以及提供數據回寫功能,包括站點資料回寫、文件產品回寫、格點要素回寫等。針對氣象應用系統(tǒng)提供多種不同的服務方式,包括客戶端調用服務、web service、REST服務和腳本服務,針對不同的服務方式,提供多種調用方法,返回多種可選擇的格式,支持內存對象(結構體/類對象)、序列化字符串(XML/JSON/HTML/TEXT 等)、數據文件(XML/JSON/HTML/TEXT 等)、以及GIS數據格式(KML)等等,滿足不同的應用需求。本系統(tǒng)將海南本地特色等資料存入數據庫后,按照氣象大數據云平臺接口標準實現數據接口配置和發(fā)布,降低業(yè)務系統(tǒng)與數據環(huán)境間的耦合度,屏蔽底層業(yè)務數據庫變更帶來的影響,確保數據使用規(guī)范性和可擴展性。
氣象數據的服務特點有特定的時間、空間規(guī)律[21],呈現冷熱不均的分布,比如是整點的地面實況觀測數據以及有天氣過程的地區(qū)數據是需求熱點,這樣的在需求總量中需求頻次較高的數據被稱作“熱數據”,需求頻次較低的數據被稱作“冷數據”。海南省氣象數據共享分發(fā)平臺采用緩存技術,將熱點數據通過大數據云平臺進行一次性調取,存入本地緩存表,同時將較大的雷達產品及云圖產品也存入本地緩存表,當給外部門需求單位共享分發(fā)數據時優(yōu)先與速度更快的緩存交互,避免多次調用大數據云平臺接口同一種數據,增加省級節(jié)點并發(fā)訪問壓力,影響全省業(yè)務使用,同時等待返回時間也會增加,命中緩存后有效提高響應時效和需求單位體驗。衛(wèi)星產品及雷達產品緩存表結構如表1~2所示。
表1 衛(wèi)星產品數據表
表2 天氣雷達產品數據表
氣象大數據云平臺以“云+端”的氣象技術體制支撐氣象業(yè)務系統(tǒng)和各類應用,融數據收集、交換、存儲、加工和應用支撐為一體,為業(yè)務、服務、政務、科研、培訓等提供數據、算法和算力支撐的“數算一體”平臺,改變過去業(yè)務系統(tǒng)煙囪林立式的建設方式,各業(yè)務系統(tǒng)的輸入和輸出數據均由大數據云平臺統(tǒng)一管理,不再獨立建設數據庫冗余存儲,實現硬件、數據、流程、平臺、監(jiān)控的高度集約。氣象大數據云平臺共享和管理的數據主要包括核心氣象數據如地面、高空、輻射、海洋、農氣、大氣成分、雷達(基數據)、衛(wèi)星觀測數據、氣象災害及預警數據等氣象觀測數據、加工處理的產品數據如基礎觀測數據生成的統(tǒng)計產品,雷達產品(PUP產品、拼圖產品等)、多源融合及再分析產品、衛(wèi)星產品等,以及社會數據、行業(yè)數據,如交通、農業(yè)、國土、環(huán)境、地震、林業(yè)、環(huán)保、水利、海洋、航空等外部門交換的數據。這些數據匯聚至氣象大數據云平臺,進行規(guī)范的質量控制和加工處理,生產豐富的統(tǒng)計類、格點化、多源融合等產品,進行全生命周期的存儲管理,提供標準統(tǒng)一、訪問高效的服務接口,對數據和業(yè)務的全流程進行可視化監(jiān)控。氣象大數據云平臺開放數據交換、產品加工、挖掘分析、數據存儲和訪問分析等能力,共享數據、算法和接口等資源,支撐全省氣象部門的應用和共享服務。氣象部門內部業(yè)務及科研用戶可申請氣象大數據云平臺存儲、算力、接口等資源,生成豐富的產品并提供服務,滿足智慧氣象和大數據服務的現實需求。
根據上述章節(jié)系統(tǒng)設計及關鍵技術的應用,基于氣象大數據云平臺的海南省氣象數據共享平臺構建了集約統(tǒng)一的省級共享氣象數據環(huán)境,將外部門所需要的海南省本地特色氣象資料按照流程和標準接入到氣象大數據云平臺后,共享各類數據比如地面區(qū)域自動站、國家站、海洋浮標、雷達基數據、雷達產品等全部來源于氣象大數據云平臺,滿足氣象信息系統(tǒng)集約化要求,實現了為外部門單位提供數據共享分發(fā)服務,為海南省氣象部門跨部門共享數據提供支撐,滿足禁止非氣象部門直接訪問氣象業(yè)務內網資源要求,保證氣象部門內部網絡可靠安全運行。系統(tǒng)界面展示效果如圖5所示。
圖5 系統(tǒng)界面展示
針對海南省氣象部門與外部門現有數據共享方式雜亂、共享水平低、管理滯后等問題,結合氣象數據特點,依托氣象大數據云平臺,依照氣象信息系統(tǒng)集約化要求,設計并實現了海南省氣象數據共享分發(fā)平臺,可為外單位提供定制化的數據服務,為打破“數據孤島”,推動氣象數據跨行業(yè)跨部門融合使用奠定了堅實的基礎,提高了海南省氣象業(yè)務內網資源的安全與保密性,規(guī)范數據分發(fā)共享工作的使用流程,提升了海南省氣象部門的對外服務形象。平臺目前已投入業(yè)務運行,各項功能運行穩(wěn)定。