林孔杰 夏利娜 汪春輝 陳玉吉
摘? 要: 氣象服務數(shù)據(jù)規(guī)模隨著精細化、多元化服務要求的提升,加之各氣象服務系統(tǒng)集約化程度不高、并發(fā)訪問能力不足,對氣象數(shù)據(jù)的處理和應用形成了新的挑戰(zhàn)。本研究基于“微服務+分布式”架構,采用數(shù)據(jù)采集和處理相分離方式完成數(shù)據(jù)存儲入庫;開發(fā)了多源數(shù)據(jù)融合模型完成對多源數(shù)據(jù)的融合,并生成氣象服務統(tǒng)一接口提供對外氣象數(shù)據(jù)服務。系統(tǒng)實現(xiàn)了氣象服務產品的采集、供給標準化,為用戶提供了安全、及時、高效的數(shù)據(jù)服務。
關鍵詞: 分布式; 微服務; 數(shù)據(jù)支撐; 氣象服務
中圖分類號:P409;TP311.1? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)05-138-03
Research on public meteorological service data support system based on
"micro service + distribution" architecture
Lin Kongjie, Xia Lina, Wang Chunhui, Chen Yuji
Abstract: Meteorological service data increases with the improvement of refined and diversified service requirements. However, the intensification of each meteorological service system is scattered, and the concurrent access capability is insufficient, which forms new challenges to the processing and application of meteorological data. Based on the "microservice + distributed" architecture, data storage are completed by separating data acquisition and processing, and a multi-source data fusion model is developed to complete the fusion of multi-source data. A unified interface for meteorological services is generated to provide external meteorological data services. In this system, the standardization of the collection and supply of meteorological service products is realized. It provides users with safe, timely and efficient data services.
Key words: distribution; micro services; data support; meteorological service
引言
隨著氣象現(xiàn)代化、信息化業(yè)務快速發(fā)展,氣象服務業(yè)務涉及面漸廣,交通、林業(yè)、電力、農業(yè)等行業(yè)氣象服務飛速發(fā)展,部門間的數(shù)據(jù)交互日漸頻繁,如何充分釋放數(shù)據(jù)價值而又避免計算資源浪費,并且支撐系統(tǒng)能夠安全、穩(wěn)定、高效,是個挑戰(zhàn)。迫切需要建立一個安全、高效、集約的數(shù)據(jù)支撐平臺,能夠為各氣象服務平臺(系統(tǒng))提供產品支撐,為各地市氣象部門、行業(yè)部門間數(shù)據(jù)交互融合提供數(shù)據(jù)支撐。
目前,國內外專家針對氣象數(shù)據(jù)產品的存儲、分析、應用等進行了大量研究,各省氣象部門對氣象服務數(shù)據(jù)支撐涵蓋了氣象基礎數(shù)據(jù)、行業(yè)專項數(shù)據(jù)等采集、解析、入庫、服務、監(jiān)控管理。李波等[1]基于SOA、分布式存儲等技術設計了氣象數(shù)據(jù)共享平臺,朱亮等[2]基于分布式技術設計的農業(yè)氣象大數(shù)據(jù)平臺實現(xiàn)了對農業(yè)氣象數(shù)據(jù)的收集、存儲和應用,郭慶燕等[3],利用消息中間件、WebGIS等技術開發(fā)的氣象數(shù)據(jù)應用服務系統(tǒng)為決策服務提供了可靠的數(shù)據(jù)依據(jù)。而面向服務用戶的大并發(fā)量訪問、中臺式服務管理、流式計算、同類產品多源融合等問題尚待解決[4-6],另外,基于傳統(tǒng)方式對氣象影視制播等業(yè)務的數(shù)據(jù)支撐已無法滿足融媒體中心需求[7]。
本文旨在闡述利用信息化技術,結合公眾、決策、行業(yè)及融媒體等不同服務類型對服務產品、渠道、方式、應用場景等需求,構建多源數(shù)據(jù)融合模型,再造業(yè)務流程,實現(xiàn)氣象服務數(shù)據(jù)的采集、處理、存儲、分析和應用等功能。系統(tǒng)實現(xiàn)了氣象服務數(shù)據(jù)的“縱向互通、橫向互聯(lián)”,形成以“用戶為中心”,“服務為靶向”的格局,不但有利于氣象服務提升業(yè)務創(chuàng)新能力和智慧服務技術水平,也將進一步提升福建省氣象部門防災減災系統(tǒng)建設格局。
1 關鍵技術
1.1 基于Kafka的流式計算
Kafka[8]是一種高吞吐量的分布式流式處理系統(tǒng),本研究利用Kafka系統(tǒng)處理活躍的流式數(shù)據(jù),針對氣象服務數(shù)據(jù)的采集需求,配置千量級不同連接器,實現(xiàn)數(shù)據(jù)源(含F(xiàn)TP、CIMISS接口等)到支撐系統(tǒng)的分布式采集。本研究采用有序方式記錄信息(不受內存限制),接收信息持久化到硬盤,接收和消費互不影響,大大提高IO效率。其主要優(yōu)勢有消息持久化、高吞吐量、高并發(fā)、分布式、容錯性、實時性。
1.2 微服務架構技術
微服務架構[9](Microservice Architecture),是指將一個大型復雜軟件應用拆分成獨立的組件(服務),每個組件執(zhí)行一項專門的任務。本研究使用微服務架構旨在通過將功能分解到各個離散的服務中以實現(xiàn)對解決方案的解耦。將功能分解到離散的各個服務當中,從而降低系統(tǒng)的耦合性,并提供更加靈活的服務支持。
1.3 API網(wǎng)關服務
本研究開發(fā)API網(wǎng)關[10]服務保障應用安全,該網(wǎng)關采用集群模式部署,利用負載均衡、API全托管服務功能提供高并發(fā)訪問和穩(wěn)定性,且網(wǎng)關服務中實現(xiàn)了動態(tài)路由、身份認證、安全控制以及限流。設置動態(tài)路由可以自動適應網(wǎng)絡狀態(tài)的變化,自動維護路由信息;進行身份認證,防止非授權用戶訪問敏感數(shù)據(jù),對每個外部請求進行用戶認證,拒絕沒有通過認證的請求,并且通過訪問模式分析,實現(xiàn)反爬蟲功能;采用服務限流,可以穩(wěn)定服務、減輕網(wǎng)絡負擔,保護后臺服務不被大流量沖垮。
2 總體設計
該系統(tǒng)堅持氣象服務數(shù)據(jù)全流程協(xié)調、開放、共享服務理念,重構功能框架,再造數(shù)據(jù)流程,強化應用安全,總體架構設計包含基礎設施層、數(shù)據(jù)資源層、應用支撐層、應用層和展示層。
⑴ 基礎設施層:基礎設施層是用于支撐項目系統(tǒng)的軟硬件環(huán)境。包括系統(tǒng)建設支撐的網(wǎng)絡設備、主機與服務器以及存儲設備。
⑵ 數(shù)據(jù)資源層:數(shù)據(jù)資源層用于存儲數(shù)據(jù)量相對穩(wěn)定的各類數(shù)據(jù)資源,支持氣象服務產品支撐系統(tǒng)的軟件運行。包括結構化數(shù)據(jù)庫、非結構化數(shù)據(jù)庫和第三方資源庫。
⑶ 應用支撐層:應用支撐層主要為應用層提供基礎支撐和通用的服務組件。包括工作流引擎、全文檢索、權限管理、數(shù)據(jù)分析及展示等應用支撐中間件。
⑷ 應用層:在數(shù)據(jù)資源層和應用支撐層的基礎上,建設各類應用服務對接平臺。建設模塊包括綜合監(jiān)控模塊、數(shù)據(jù)匯聚模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)服務模塊、數(shù)據(jù)運維等模塊以及對采集解析處理服務的一鍵式、多手段發(fā)布與治理。
⑸ 展示層:在數(shù)據(jù)完備的基礎上,針對用戶所需提供多元化的數(shù)據(jù)服務支撐;并監(jiān)測產品處理、對外服務等狀態(tài)。
3 系統(tǒng)功能設計
系統(tǒng)實現(xiàn)了地面、高空、海洋、雷達、氣象影視等氣象數(shù)據(jù)的采集、加工、融合,生成的產品為上層應用提供標準應用接口,整個節(jié)點數(shù)據(jù)流輔以全流程監(jiān)控。整體業(yè)務功能處置流程如圖1。系統(tǒng)的功能主要如下。
⑴ 數(shù)據(jù)匯聚處理:基于分布式的設計及技術理念,利用數(shù)據(jù)抽取、消息服務、文件交換等技術手段,解決數(shù)據(jù)產品采集過程中時面臨的分散孤立、源頭多樣、跨網(wǎng)傳輸?shù)葐栴},為數(shù)據(jù)資源的匯聚集中、統(tǒng)一標準化處理提供源數(shù)據(jù)支撐。
⑵ 自動匹配流式加工:對采集完成的各類數(shù)據(jù)產品按照實際需要進行分析、處理、算法實現(xiàn)、再加工等,通過選擇或者自定義編寫數(shù)據(jù)解析策略(如MICAPS格式等),進行自動的解析處理。
⑶ 同類數(shù)據(jù)多源融合:將多種數(shù)據(jù)產品進行融合,生成出新的產品。同源產品融合將所屬同源的產品,進行采集入庫后,根據(jù)入庫時間、設置產品優(yōu)先級,選取符合條件的產品作為輸出的融合產品;不同源產品融合,將各種產品采集入庫后,抽取符合要求的各類數(shù)據(jù),按設定的模型進行融合,形成新的產品進行輸出。
⑷ 多渠道產品服務:利用負載均衡模式,提供分布式數(shù)據(jù)接口服務。建立完整的服務體系,通過服務配置,將采集后的產品以ftp、流式、網(wǎng)絡接口方式進行服務的配發(fā);對服務對象進行系統(tǒng)的管理,設置服務權限,收集服務反饋。
⑸ 全流程監(jiān)控管理:監(jiān)控系統(tǒng)各節(jié)點數(shù)據(jù)流,利用圖表形式直觀展示采集、解析、融合、服務等各流程節(jié)點狀態(tài);采集系統(tǒng)各操作日志及數(shù)據(jù)庫、服務器運行日志,根據(jù)性能、網(wǎng)絡和IO擁堵等情況實施聲光、短信聲訊提醒,第一時間定位問題,便于跟蹤排查和處置。
4 系統(tǒng)分析與應用概況
4.1 性能檢驗
為了驗證系統(tǒng)的支撐性能,分別從并發(fā)能力,采集響應,解析執(zhí)行時間等方面,以224個國家級地面考核站點實況數(shù)據(jù)文件為測試對象,測試情況如表1所示。
通過系統(tǒng)測試,結果數(shù)據(jù)表明該系統(tǒng)具備了較好的性能,能夠滿足氣象服務業(yè)務需求。
4.2 應用概況
目前,氣象服務產品支撐系統(tǒng)建設已初具規(guī)模,目前已實現(xiàn)七大類、678項產品數(shù)據(jù)交匯服務,服務22個行業(yè)用戶,涉及氣象、林火、交通、農業(yè)等各行業(yè),實現(xiàn)了數(shù)據(jù)接口個性化定制服務,為各個系統(tǒng)及平臺提供標準化、專業(yè)化的服務產品支撐。
5 結束語
本文采用了分布式、微服務等主流技術,打造了一個安全、高效、集約的公共氣象服務產品支撐系統(tǒng)。系統(tǒng)構建了產品采集模式的標準化模型,規(guī)劃行業(yè)產品的標準化接入,匯聚行業(yè)應用產品系統(tǒng)/平臺產品,實現(xiàn)標準、集約的產品匯聚及行業(yè)應用產品的快速信息化支撐。為各氣象服務業(yè)務提供數(shù)據(jù)環(huán)境和技術支撐,為拓展公眾、行業(yè)等氣象服務提供了堅實基礎。
參考文獻(References):
[1] 李波,杜景林,李正方.基于SOA的氣象數(shù)據(jù)共享平臺研究[J].
電子設計工程,2019,27(4):25-29
[2] 朱亮,鐘艷雯,賀煒,等.基于分布式的農業(yè)氣象大數(shù)據(jù)平臺
設計與實現(xiàn)[J].湖北農業(yè)科學,2019,58(6):128-130
[3] 郭慶燕,楊暉,張敏,等.氣象數(shù)據(jù)應用服務系統(tǒng)的研究[J].
計算機應用與軟件,2018,35(2):107-111
[4] 蔣晨晨,季一木,孫雁飛,等.基于Storm的面向大數(shù)據(jù)實時流
查詢系統(tǒng)設計研究[J].南京郵電大學學報(自然科學版),2016,36(3):100-105
[5] 朱濤,郭進偉,周歡,等.分布式數(shù)據(jù)庫中一致性與可用性的
關系[J].軟件學報,2018,29(1):134-149
[6] 王建榮,華連生等.數(shù)值預報產品分布式處理與存儲系統(tǒng)
設計[J].計算機技術與發(fā)展,2018,28(2):167-172
[7]丁海清,黃瑩霞.融媒體時代氣象服務信息傳播渠道的變革[J].
信息記錄材料,2021,22(4):36-38
[8] 謝文康.Kafka流式計算性能優(yōu)化算法研究[D].南京郵電
大學,2020
[9] 辛園園,鈕俊,謝志軍,張開樂,毛昕怡.微服務體系結構實現(xiàn)
框架綜述[J].計算機工程與應用,2018,54(19):10-17
[10] 莊夏.API網(wǎng)關架構設計實例[J].信息系統(tǒng)工程,2018(5):
99-100
收稿日期:2021-11-05
作者簡介:林孔杰(1994-),男,福建平潭人,碩士研究生,主要研究方向:氣象服務與應用氣象。