

摘" 要:氣象大數據云平臺(天擎)是氣象部門為提升信息系統集約化水平而建設的“數算一體”支撐平臺,原有業務信息系統需進行云化改造后融入云平臺。為探索市級業務信息系統融入天擎的方案,以東營氣象業務平臺的改造與實施為例,利用微服務、容器云和算法加工流水線等技術,通過功能模塊云化改造為天擎算法、云數據庫替代自建庫、數據接口改造、云主機替代物理服務器等方法,完成東營氣象業務系統的云化改造。結果表明,改造后的東營氣象業務平臺全部集約到天擎部署,市級通過瀏覽器訪問,實現“云+端”的業務架構,為其他信息系統的云化改造與實施提供參考。
關鍵詞:氣象;信息系統;大數據云平臺;改造;集約;微服務技術;容器云
中圖分類號:TP311" " " 文獻標志碼:A" " " " " 文章編號:2095-2945(2025)03-0096-05
Abstract: The Meteorological Big Data Cloud Platform (Tianqing) is a \"digital and computing integration\" support platform built by the meteorological department to improve the intensive level of information systems. The original business information system needs to be transformed into a cloud and then integrated into the cloud platform. In order to explore the solution for integrating municipal business information systems into Tianqing, taking the transformation and implementation of Dongying Meteorological Business Platform as an example, using technologies such as microservices, container clouds and algorithm processing lines to transform functional modules into Tianqing algorithms and cloud databases through cloud transformation, replacing self-built databases, transforming data interfaces, and replacing physical servers with cloud hosts, etc., the cloud transformation of Dongying Meteorological Business System has been completed. The results show that the transformed Dongying meteorological business platform is all intensively deployed to Tianqing, and is accessed through a browser at the municipal level, realizing a \"cloud + end\" business architecture, providing a reference for the cloud transformation and implementation of other information systems.
Keywords: meteorology; information system; big data cloud platform; transformation; intensification; microservice technology; container cloud
近年來,隨著氣象觀測、預報技術水平的不斷發展與云計算、大數據等信息化技術的快速應用,氣象部門順應技術發展趨勢,建設了氣象大數據云平臺(CMADaaS,以下簡稱“天擎”)。作為全國氣象信息化“數算一體”的核心平臺,天擎具有海量數據存儲、全業務貫通、高效數據應用能力。氣象部門明確提出構建以天擎為“云”,氣象業務系統為“端”的“云+端”業務模式,推進資源整合和流程再造,發揮數據聚集規模效應,實現業務系統的集約高效運行。自2020年開始,天擎陸續在各省級氣象部門部署。山東省的天擎建設走在全國前列,2020年6月率先實現省級部署,同年底第一批投入業務試運行[1]。
業務系統融入天擎有4個方面要求:數據集約、流程集約、平臺集約和監控系統集約。根據要求,云化改造的思路應從數據采集、數據存儲、產品加工、業務應用、業務監控等方面進行考慮。對于新開發的系統,要求實現“云原生”,對于已有的業務系統,應積極進行云化改造后融入天擎。
天擎投入業務運行后,各省陸續開展了已有氣象業務系統云化改造并融入天擎的研究與探索[2-4],福建將省級氣象綜合業務平臺融入天擎[5],湖南對氣象災害預警服務一體化平臺進行了基于天擎的云化改造[6],云南將全省降水量告警系統融入天擎[7],廣西以氣象短時臨近強降水預警服務處理流程為例,設計了DPL加工流水線業務遷移融入流程[8]。以上研究從設計、技術及具體實施等多個角度,研究了融入方案及實現方法,為其他業務信息系統的云化改造提供參考。以上對云化改造方法的研究對象都是省級業務系統,涉及到對市級業務系統云化改造的內容較少,由于省級和市級業務系統在適用范圍、功能模塊、數據種類和專業性等方面存在著較大差異,因此,在集約整合和云化改造時關注側重點與改造方案有很大不同。以東營氣象業務平臺的云化改造為例,對市級信息系統的云化改造進行分析與設計,探討各項功能的實現技術與方法,為其他市級信息系統融入天擎提供參考。
1" 東營氣象業務平臺現狀
東營氣象業務平臺是供市縣兩級氣象臺使用的綜合業務平臺,承擔著預報、農氣及服務等主要業務,另外還有實況查詢、氣候資料管理、網上會商等輔助功能,是基本天氣預報業務的主要支撐平臺。在云化改造之前,這些功能運行在4臺物理服務器上,通過自行搭建數據庫方式,從各類API、FTP或共享服務器等獲取數據。原平臺主要采用C#、Python等軟件開發,使用.net框架,數據庫使用MSSQL,Web框架主要使用IIS,通過數據庫或接口方式進行數據交換。功能架構如圖1所示。
從功能架構組成可以看出,現有業務系統硬件、服務及應用分散安裝在4臺物理服務器,容易出現電源、硬盤等硬件故障。數據庫采用MSSQL,安裝在3臺服務器上,用于預報服務、雨情系統和農氣服務。在軟件方面,由于開發時間跨度較大,開發人員變化,導致各功能模塊、數據、應用程序等分散混雜,各自為政,存在硬件利用不均衡、備份手段少、軟件復用性差、運行維護復雜等問題,數據也存在一定安全隱患。
2" 云化改造技術路線
2.1" 改造原則
整合現有“預報業務平臺”“雨情系統”“智慧農氣系統”“資料查詢”及“旬月數據上傳統計”等模塊,建設統一認證、統一入口、統一界面、統一數據的“綜合業務系統”,并遷移到天擎平臺,實現信息系統的云化改造。設計原則有3個方面。一是采用微服務架構[9-10],通過容器技術注冊算法,由天擎算法加工流水線調度運行。二是取消本地數據庫等中間件,使用天擎的云數據庫、redis等平臺服務。三是取消本地服務器,全部利用省局基礎設施資源池的硬件資源,本地只保留客戶端。實現硬件集約化、數據集約化、流程集約化、平臺集約化和監控集約化的目標。
2.2" 功能架構
云化改造后的東營氣象業務平臺完全基于天擎運行,在市級通過瀏覽器進行各類操作,中間數據及生成產品均存儲在云數據庫或云NAS中,數據庫、Redis、消息隊列服務、算法加工流水線等基礎服務全部由天擎提供。業務應用及數據服務在天擎內部完成,算法靠近數據,實現“數算一體”。云主機承擔服務發現、網頁代理、統一鑒權、動態路由及服務聚合等功能,在業務終端與天擎之間進行溝通連接。改造后的平臺架構如圖2所示,與改造前相比,市級除業務終端外,所有基礎設施與功能模塊全部遷移到省級天擎云平臺,完成了云化改造。
2.3" 技術路線
首先,對所有功能模塊進行分析,將單項功能進行剝離改造,把改造后的算法納入云平臺的算法加工流水線調度運行。東營氣象業務平臺的云化改造基于.NET6跨平臺框架設計,采用C#作為主要語言實現系統主體功能,該框架實施成本低、開發效率高、安全性高等特點,適合市級業務系統的實施,通過Python、Java輔助功能模塊實現氣象產品加工、數據采集、數據推送等算法,通過JS、HTML5等技術實現前端交互。主要技術包括以下內容。
1)分布式框架:分布式系統原指業務系統在達到一定復雜度后,將業務拆分為多個獨立服務,部署在多個基礎設置資源中,保持各業務系統具有獨立性,但整體標準一致,可實現統一訪問和調度。這與天擎PAAS云平臺總體架構思想是一致的。通過Consul實現服務注冊、服務發現、負載均衡等功能,確保服務的彈性伸縮;通過Exceptionless實現日志收集并開發告警服務;基于Ocelot開發統一API網關,實現服務的動態路由、請求過濾、聚合等功能;基于天擎提供的MQ消息服務實現消息總線,確保各業務的一致性原則,利用云Redis緩存為整個系統提供緩存服務,利用調度平臺實現整個系統的統一調度服務。最終達到天擎平臺部署,系統服務化并融合為東營市氣象局綜合業務系統的目標。
2)容器虛擬化技術:Docker容器是一個開源的應用容器引擎,能以統一的方式打包應用及其依賴包到一個可移植的容器中,然后發布到任何安裝了Docker引擎的服務器上,容器使用沙箱機制,相互之間沒有任何接口,性能開銷少,能獨立運行。在云化改造中各類算法均通過容器進行算法封裝。
3)加工流水線:實現對多種計算框架的的支撐及對各加工處理任務的統一調度管理,需按天擎的標準,結合實際需求進行算法設計與開發、注冊并經審核后,根據加工處理任務定義的執行策略進行調度并運行。
3" 云化改造方法
3.1" 應用納入算法加工流水線
將原系統中集中運行的應用改造為天擎算法,通過加工流水線調度運行,是云化改造的重要內容。改造原則是將數據源一致,計算方式相近,輸出基本相同的功能應用剝離出來,改造為算法。以下3類任務適合納入流水線運行,一是對網絡依賴度較高的發布任務,如預報、服務產品及短信產品發布;二是定期執行且資源消耗較大的任務,如實況讀取、雨情處理及推送任務;三是復用度高的算法,如溫、壓、濕、風、雨等要素分布圖生成任務。
天擎算法基于Docker容器框架,是一種輕量級開發與運行環境,是算法加工流水線的基礎。天擎提供了Docker容器和鏡像、加工流水線調度運行等功能的管理平臺。用戶只需關注算法的研發、配置任務以及任務的管理,而算法運行需要的計算資源、數據資源、任務管理與監控等由天擎提供。算法改造流程為:①在天擎的“資源申請”模塊申請存儲與算力資源;②通過 “容器資源管理”模塊申請容器,并選擇基礎鏡像。在此模塊可對容器進行啟停、修改、快照等管理;③使用ssh方式接入容器,對功能算法進行開發與調試;④在“鏡像資源管理”模塊,基于調試好的容器制作應用鏡像;⑤在“算法注冊”模塊,選擇已有應用鏡像并注冊新算法,配置觸發方式,加入加工流水線調度運行。
3.2" 用云數據庫代替自建數據庫
天擎有良好的數據庫支持能力,云化改造中使用天擎的虛谷數據庫和Redis庫來代替自建的MSSQL數據庫。虛谷數據庫是關系模型數據庫[11],支持SQL92語法,兼容oracle語法,有完全自動的分庫分表策略,數據查詢和插入效率高,機制成熟、可靠,主要存儲持久化數據,包括自動站實況分類統計數據、雨量統計數據、農業氣象及氣候相關數據、各類預報及服務業務產品數據等。Redis是一種基于內存的鍵值型數據庫,存取速度快,存取時間易于預測,能消除I/O瓶頸,作為分布式緩存,用于非持久化、有性能瓶頸及各系統之間協調用的數據,包括用戶token數據、最新加工的實況數據、任務記錄數據及計數統計數據等。
數據庫遷移是一項工作量大而且比較困難的工作,利用官方遷移工具能完成大部分數據的遷移,但會出現主鍵丟失、字段類型或長度不兼容、自增ID序列混亂等問題,在云化實施中,需通過編寫腳本批量處理數據表的一些基本問題,再通過手動方式調整結構復雜的數據表,逐步完成遷移。
3.3" 數據應用融入
業務平臺讀取的數據有實況資料、農氣觀測資料、數值預報及各類預報產品等,來源為CIMISS(全國綜合氣象信息共享平臺),天擎的服務接口[12]是CIMISS的升級版本,在原CIMISS接口參數基礎上,增加了AK/SK的認證,能防止非法用戶偽造合法的請求,提高了接口服務的安全性,改造步驟為:①通過管理平臺的“業務帳戶”,配置接口權限和IP白名單等信息;②將原CIMISS接口對應的用戶ID、密碼等所有參數信息,添加timestamp(時間戳)和nonce(隨機數)參數后生成字符串paramsMap;③對paramsMap按照key進行排序,把排序后的字符串進行MD5(32位)運算,并將生成的字符串轉換為大寫,得到sign值,如sign=F4CCF7DC9AC636D991AFEE8100DB68E1;④將paramsMap中的密碼參數刪除,并添加sign參數,與請求路徑合并生成最終檢索URL。
3.4" 云主機代替物理服務器
改造后完全取消了物理服務器,對于無法進行云化改造,不具備天擎算法加工流水線運行條件的功能應用,通過使用天擎云主機的方式解決。經綜合分析,將東營氣象業務平臺的前端頁面相關部分部署在云主機上,主要包括:Nginx代理、微服務中心Consul、服務網關Gateway等,這些都是輕型服務,運行穩定且資源需求較低。云主機可根據使用情況對CPU、內存等資源進行動態調整,以確保高效運行。
4" 云化改造效果
云化改造后,東營氣象業務平臺已經正常運行超過6個月,天擎提供的虛谷數據庫、Redis、RabbitMQ等中間件服務從未中斷,算法在加工流水線上穩定運行,生成的產品滿足業務需求。市級用戶訪問頁面中各模塊響應時間比改造前明顯變快,符合云化改造預期。改造后數據讀取、加工、存儲和服務全流程進一步優化和規范,運行效率高,且具有較強的平臺和算法的擴展能力,減輕了對服務器和應用軟件的維護工作量,提升了整體信息化水平。
5" 結論
基于天擎對已有業務信息系統進行云化改造,形成“云+端”的業務模式是氣象部門集約化發展的趨勢。以東營氣象業務平臺云化改造為例,介紹了市級業務系統的融入天擎過程。在云化改造過程中取得一定的經驗,為其他市級業務系統融入提供參考。
1)充分了解并盡可能使用天擎的支撐服務。天擎是“數算一體”架構,提供數據接口、云存儲、云數據庫、消息隊列和算法加工等多種支撐服務,使用這些服務能降低對商業化軟件框架的需求,減小部署與維護工作量,提高信息系統穩定性與安全性。
2)制定高質量的云化改造方案。要全面了解原信息系統的架構、算法、數據庫依賴等內容,外包開發功能要深入溝通,結合天擎基礎服務和中間件,將各個單項功能剝離并設計符合天擎標準的算法。
3)市級信息化部門要深度介入。由于專業之間差異,用戶和開發單位對天擎資源的理解有很大不同,需要市級信息化部門深度參與,了解原信息系統各功能模塊的邏輯與依賴關系,設計合理的云化改造方案。同時加強與省級天擎管理機構溝通,申請測試各類數據接口及算力資源,提高改造效率。
參考文獻:
[1] 馮勇,李微,朱輝,等.云計算環境下山東省氣象大數據云平臺的設計與實現[J].信息技術與信息化,2021(5):147-150.
[2] 楊遠恒,李進訥,廖婷婷,等.氣象業務系統融入“天擎”“天鏡”技術要點分析[J].中低緯山地氣象,2022,46(6):85-88.
[3] 夏正龍,傅承浩,朱亮,等.基于“天擎”的模式產品云化技術研究與實現[J].現代計算機,2021,27(34):46-50.
[4] 李高潔,郭捷,喬文文,等.基于天擎系統的氣象資料下載平臺設計[J].廣東氣象,2022,44(6):68-72.
[5] 余永城,王笑,魏夏潞.福建氣象綜合業務平臺融入“天擎”技術方案設計及實現[J].氣象科技,2022,50(5):653-659.
[6] 朱亮,夏正龍,鐘艷雯,等.基于天擎·湖南的一體化平臺云化改造關鍵技術[J].智能計算機與應用,2022,12(3):204-207.
[7] 張思,王楚欽,趙梅珠,等.云南“天擎”應用融入示例研究[J].中低緯山地氣象,2023,47(1):101-106.
[8] 黃志,黃珩,梁維亮,等.基于“天擎”DPL的業務融入設計與應用初探[J].氣象研究與應用,2022,43(1):73-77.
[9] 袁小凱,李果,黃世平.基于微服務架構的電力云服務平臺設計研究[J].電子設計工程,2021,29(11):185-188.
[10] 沈晨笛,蘭海波,郭杰,等.基于微服務架構的氣象服務支持系統設計與實現[J].氣象科技,2023,51(2):215-221.
[11] 明玉琢.分布式虛谷數據庫多平臺支持與客戶端工具開發[Z].四川省,成都虛谷偉業科技有限公司,2021-03-11.
[12] 董良淼,李宇中,覃月鳳,等.“天擎”預報服務客戶端開發及接口應用技巧[J].氣象科技,2022,50(2):297-302.