楊遠恒,李進訥,廖婷婷,莫仕燈,李 波
(貴州省氣象信息中心,貴州 貴陽 550002)
貴州省氣象大數(shù)據(jù)云平臺(天擎)[1]是貴州省氣象數(shù)據(jù)和算力支撐的核心平臺,該平臺構建了以氣象大數(shù)據(jù)云平臺為“云”、氣象業(yè)務系統(tǒng)為“端”的“云+端”的氣象技術體制;貴州氣象綜合業(yè)務實時監(jiān)控系統(tǒng)(天鏡)[2]是國省統(tǒng)一的實時業(yè)務監(jiān)控平臺,該系統(tǒng)具備全面支持對天擎和氣象業(yè)務系統(tǒng)的監(jiān)控能力。“天擎天鏡”實現(xiàn)了業(yè)務流程的數(shù)據(jù)直傳、產品直算、服務直通和全程監(jiān)控。按照業(yè)務系統(tǒng)集約整合布局,新增氣象業(yè)務系統(tǒng)要基于“天擎天鏡”建設,原有氣象業(yè)務系統(tǒng)要經過改造融入“天擎天鏡”,以實現(xiàn)氣象業(yè)務布局分工優(yōu)化、業(yè)務運行和管理效率提升,為推進氣象事業(yè)高質量發(fā)展提供有力支撐。
業(yè)務系統(tǒng)的融入是由各個業(yè)務系統(tǒng)研發(fā)部門主導,省級信息部門作為技術支撐,在融入前期通過系統(tǒng)推進會、技術培訓等方式統(tǒng)籌推進,在融入推進過程中建立融入聯(lián)系人對接團隊,方便指導解決各單位在融入過程遇到的問題。如從融入方案到具體的融入流程,用戶需要了解測算申請資源、數(shù)據(jù)融入、產品寫入、算法融入、監(jiān)控融入效果等問題,業(yè)務用戶往往對技術環(huán)節(jié)理解不全面或不清晰,影響融入的整體推進。貴州省在融入中以氣象臺、氣候中心等核心業(yè)務部門作為突破口,開展深度合作。本文通過分析整個業(yè)務融入過程中存在的技術難點,總結貴州省前期系統(tǒng)融入過程中的經驗,為今后各單位業(yè)務系統(tǒng)融入提供借鑒和指導。
融入“云”,是指用戶算法、產品、監(jiān)控等都基于“云”的資源功能實現(xiàn),包括硬件、軟件計算環(huán)境、存儲環(huán)境等。根據(jù)《氣象信息系統(tǒng)集約化平臺標準》,應用融入標準主要包括數(shù)據(jù)融入、算法融入、監(jiān)控融入3個方面,即用戶使用數(shù)據(jù)來源于天擎,產品存入天擎,系統(tǒng)算法納入加工流水線,系統(tǒng)監(jiān)控信息進入天鏡,其目的是實現(xiàn)應用走向“云+端”模式,體現(xiàn)業(yè)務系統(tǒng)集約化的思想,優(yōu)化業(yè)務流程,提升業(yè)務運行和管理效率。
天擎核心功能按照一定標準開放,以支撐用戶應用系統(tǒng)的開發(fā)、運行、服務和管理;天鏡提供規(guī)范監(jiān)控信息接入標準,以支撐用戶應用系統(tǒng)的監(jiān)控。用戶按照對應標準改造應用系統(tǒng)“端”,以此達到應用融入目的。
數(shù)據(jù)應用融入是指系統(tǒng)使用數(shù)據(jù)來源于天擎。天擎繼承了CIMISS[3]的標準接口規(guī)范,提供更為強大的數(shù)據(jù)獲取和寫入功能,為用戶提供全國統(tǒng)一、標準、豐富的數(shù)據(jù)訪問服務和應用編程接口,包括客戶端調用服務、REST 服務和腳本服務等多種服務方式,同時支持跨平臺、多語言的開發(fā)。
產品數(shù)據(jù)融入是指業(yè)務系統(tǒng)生成的產品寫入天擎存儲系統(tǒng),并按照元數(shù)據(jù)管理標準對數(shù)據(jù)進行全流程管理。天擎基于多種數(shù)據(jù)存儲支撐技術,提供分析型數(shù)據(jù)庫、關系型數(shù)據(jù)庫、云數(shù)據(jù)庫、表格數(shù)據(jù)庫、共享文件等多種存儲方式,這些數(shù)據(jù)庫分別以專題庫、云數(shù)據(jù)庫等形式向用戶提供服務。用戶可根據(jù)業(yè)務需要,選擇合適的存儲方式,通過數(shù)據(jù)庫直連方式將產品寫入專題庫、云庫。專題庫存放業(yè)務數(shù)據(jù),云庫存放自用數(shù)據(jù)。如針對需要毫秒級響應的業(yè)務數(shù)據(jù),可存入表格數(shù)據(jù)庫;針對秒級響應的結構化業(yè)務數(shù)據(jù),可存入分析型或關系型數(shù)據(jù)庫;針對非結構化業(yè)務數(shù)據(jù),可存入共享文件存儲;針對業(yè)務系統(tǒng)自身的配置數(shù)據(jù)、中間結果數(shù)據(jù)、實驗數(shù)據(jù)等,可存入云數(shù)據(jù)庫和共享文件存儲……以此實現(xiàn)業(yè)務數(shù)據(jù)規(guī)范化、自用數(shù)據(jù)個性化管理。
算法運行融入是指業(yè)務系統(tǒng)的執(zhí)行運行程序部署在天擎加工流水線上運行,用戶基于加工流水線實現(xiàn)個人算法的有效管理,或申請使用他人算法。天擎加工流水線提供了普通計算、GPU 計算、流式計算、容器計算、并行計算等多種計算框架,同時也提供了多種手段來保障算法運行安全和數(shù)據(jù)訪問安全。用戶可按照加工算法標準,對接天擎存儲的輸入輸出數(shù)據(jù)源,支持但不限于C、C++、C#、JAVA、Python、Fortran、NCL等開發(fā)語言。納入天擎加工流水線管理的算法,其輸入數(shù)據(jù)取自天擎,輸出的業(yè)務產品存入天擎,算法通過直連數(shù)據(jù)庫或調用天擎接口實現(xiàn)與天擎對接。
貴州天鏡系統(tǒng)具備對業(yè)務系統(tǒng)的基礎資源、系統(tǒng)運行、全流程業(yè)務數(shù)據(jù)、全方位業(yè)務服務監(jiān)視的能力。系統(tǒng)業(yè)務數(shù)據(jù)和業(yè)務服務可按照天鏡標準,主動將監(jiān)控主要指標發(fā)送給天鏡系統(tǒng)。天鏡的通用功能可實現(xiàn)服務器、進程、操作系統(tǒng)、算法等通用監(jiān)控。在天鏡通用版不能滿足用戶監(jiān)控需求的情況下,需通過天鏡本地化開發(fā),訂制專題監(jiān)視展示頁面滿足用戶需求。
在系統(tǒng)融入正式實施前,首要任務是編寫融入方案。融入方案需對融入的整體情況進行系統(tǒng)分析評估,包括全面測算并論證所需的加工算力資源、存儲資源、云數(shù)據(jù)庫資源以及消息服務資源;根據(jù)寫入產品結構化/非結構化、業(yè)務數(shù)據(jù)/自用數(shù)據(jù)等劃分,合理規(guī)劃存儲數(shù)據(jù)庫以及庫表設計;按需設計消息中間件的消息內容;按需提供產品讀取/寫入/更新接口;按需設計業(yè)務監(jiān)控的數(shù)據(jù)信息(DI)和告警信息(EI)內容等,以確保系統(tǒng)融入的整體推進。
天擎按照“一個業(yè)務、一個賬號、一個責任人”原則,業(yè)務管理設計平臺登錄實名賬戶、業(yè)務系統(tǒng)賬戶2類賬戶。登錄實名賬戶是登錄天擎用戶空間開展業(yè)務系統(tǒng)賬戶申請的前提;業(yè)務系統(tǒng)賬戶是應用程序訪問天擎提供的存儲、計算、數(shù)據(jù)、接口、算法等多種資源和服務的認證方式。每個氣象系統(tǒng)內部員工采用證書登錄,與辦公系統(tǒng)登錄方式一致。在正確安裝了“氣象證書工具”后,用戶通過訪問天擎門戶網(wǎng)站(PROTAL),在“用戶空間-用戶信息-業(yè)務賬戶申請”頁面進行賬戶申請。
天擎包括了豐富的氣象數(shù)據(jù)資源、專業(yè)全面的氣象算法、功能強大的接口資源、海量的存儲資源,以及多種軟件服務資源。各種資源在天擎中實行統(tǒng)一管理、按需調配。用戶在申請了業(yè)務系統(tǒng)賬戶后,按照融入方案中測算過的資源,在PORTAL頁面“用戶空間-我的資源”頁面進行按需申請,包括所需的數(shù)據(jù)資源、算法資源、接口資源、存儲資源、中間件資源的申請等。
天擎按照氣象元數(shù)據(jù)的標準[4]進行管理數(shù)據(jù)。數(shù)據(jù)必須在天擎元數(shù)據(jù)系統(tǒng)中注冊、審核、發(fā)布之后方能使用。業(yè)務數(shù)據(jù)在注冊時將為它分配標準、合規(guī)的存儲編碼,納入全流程管理,可面向其他用戶提供服務;中間結果數(shù)據(jù)在注冊時不分配標準的四級編碼,僅納入天擎存儲,一般不開放給其他用戶使用。用戶在申請業(yè)務系統(tǒng)賬戶后,即可在PROTAL“用戶空間-我的數(shù)據(jù)-數(shù)據(jù)注冊”進行注冊。
天擎算法加工系統(tǒng)提供算法注冊、發(fā)布、管理,以及算法可視化編排的能力,算法的分類、權限管理、生命周期管理,以及算法的輸入輸出、監(jiān)控等都提供了相應標準,用戶按照標準對業(yè)務系統(tǒng)算法進行改造,實現(xiàn)輸入輸出對接天擎的存儲或接口,日志信息、告警信息發(fā)送到天鏡。
改造的算法通過算法部署規(guī)范流程,將算法注冊到加工流水線運行。算法注冊時,用戶按照相關標準填寫算法基本信息、輸入輸出、貢獻者信息、參數(shù)信息、運行環(huán)境、運行命令等,同時將算法源碼包、算法執(zhí)行包、算法說明文檔、第三方依賴庫上傳至系統(tǒng)平臺。正確地進行算法注冊并通過管理員審核后,該算法即可進入算法庫中。游客無法進入算法注冊頁面。被授權的用戶及超級管理員可進入算法注冊頁面進行算法注冊操作。用戶在申請業(yè)務系統(tǒng)賬戶后,即可在PORTAL“用戶空間-我的算法-算法注冊/修改”進行注冊。
3.6.1 準備階段 業(yè)務系統(tǒng)融入天擎后,系統(tǒng)使用過的基礎資源、應用資源屬于天擎系統(tǒng),天鏡已經接入這些資源的監(jiān)控信息,融入系統(tǒng)無需關注。若用戶僅僅是數(shù)據(jù)應用融入天擎,但需納入統(tǒng)一監(jiān)控,需要填寫“基礎資源調研表”和“系統(tǒng)資源調研表”并對接天鏡技術人員?;A資源調研表內容包括所屬業(yè)務系統(tǒng)名稱、IP地址、操作系統(tǒng)版本、關鍵進程及其告警閾值、所在機房和機柜等詳細信息;系統(tǒng)資源調研表包括所屬業(yè)務系統(tǒng)名稱、IP地址、應用類型(如mysql、Kafka)、應用版本等。
對業(yè)務數(shù)據(jù)監(jiān)視,主要包括業(yè)務系統(tǒng)自身的產品生成、加工處理、集群狀態(tài)等運行情況的監(jiān)視。如果業(yè)務系統(tǒng)已經融入天擎,則不需要再次研發(fā) DI 信息發(fā)送功能,因為天鏡已經和天擎進行了對接,相關監(jiān)視信息從天鏡獲取。
對業(yè)務服務監(jiān)視,主要包括業(yè)務系統(tǒng)的服務信息監(jiān)視,如業(yè)務系統(tǒng)對外提供的API 接口狀態(tài)、頁面點擊量、產品數(shù)據(jù)下載量、用戶訪問量等。如果業(yè)務服務使用的是天擎接口服務系統(tǒng),則不需要再次研發(fā)DI信息發(fā)送功能,天鏡已經和天擎服務接口系統(tǒng)進行了對接,相關監(jiān)視信息可以從天鏡獲取得到;反之,則按照天鏡標準,將DI信息推送至天鏡系統(tǒng)。
對業(yè)務系統(tǒng)將自身的運行異常或數(shù)據(jù)處理狀態(tài)監(jiān)視,用戶填寫“系統(tǒng)名稱、數(shù)據(jù)來源,事件編號,事件業(yè)務分類編號,告警級別,告警標題,故障對象,故障內容”等內容對接天鏡技術人員,并按照天鏡標準,將EI告警信息推送至天鏡,天鏡則根據(jù)業(yè)務規(guī)則對告警進行進一步處理。
3.6.2 專題訂制開發(fā) 業(yè)務系統(tǒng)的專題監(jiān)視由第三方基于天鏡眾創(chuàng)平臺開發(fā),由天鏡技術人員協(xié)同系統(tǒng)融入一方,與第三方開發(fā)對接,針對專題監(jiān)視的需求、前端頁面渲染效果、后端DI、EI接入確認等方面進行確認,開發(fā)完畢并經過驗證測試無誤后,方可在天鏡系統(tǒng)部署上線運行。
深入理解業(yè)務系統(tǒng)融入關鍵技術,對推進業(yè)務系統(tǒng)全面融入至關重要。隨著“云+端”氣象業(yè)務技術體制建設的不斷推進,2022年貴州省業(yè)務系統(tǒng)的“云化”改造和融入取得了一定進展和融入經驗:
①融入方案的質量決定融入過程的順利程度?,F(xiàn)階段氣象部門的大量軟件系統(tǒng)均采用外包形式開發(fā),因為前期融入方案編制時,在系統(tǒng)架構、算法剝離、業(yè)務流程、產品存儲等多方面考慮不全面,導致用戶對技術細節(jié)不甚了解;因此系統(tǒng)的、全面的、詳細的編制融入方案,是后期有序推進系統(tǒng)融入的前提。
②資源申請需要信息部門的深度介入。由于專業(yè)性差異,對不同資源之間的區(qū)別,用戶了解并不深入,信息部門需要詳細了解用戶資源的適應性場景,如后期對數(shù)據(jù)產品的訪問范圍是公開還是有限公開,業(yè)務邏輯之間的關系等,業(yè)務系統(tǒng)所屬部門需要與信息部門人員深度合作才能更好地推進融入工作。
③業(yè)務系統(tǒng)改造需將原業(yè)務系統(tǒng)軟件重新進行模塊化設計,將系統(tǒng)每個小功能從原系統(tǒng)剝離,設計獨立的、符合天擎輸入輸出標準的算法程序,并按業(yè)務邏輯確定算法間的調度協(xié)作,這也是算法融入最難突破的點。因此在改造前,用戶需詳細分析系統(tǒng)的功能及其業(yè)務流程,確保每個算法實現(xiàn)1個業(yè)務功能,并能實現(xiàn)合理的調度。
④監(jiān)控融入的難點在于深入融入到業(yè)務邏輯中。資源、進程、硬件、網(wǎng)絡的監(jiān)控在天鏡中都很容易實現(xiàn),但算法業(yè)務層故障的快速定位取決于DI和EI細粒度。因此,在算法設計時也要同步設計監(jiān)控信息,按接口標準發(fā)送到天鏡,才能在天鏡系統(tǒng)中進行后續(xù)的配置和研發(fā)。