莫云音,吳盛洪,李超寧,李 勛,葉彩榮
(1.海南省氣象服務中心,海南 ???570100;2.海南省南海氣象防災減災重點實驗室,海南 ???570100;3.海南省氣象臺,海南 ???570100)
隨著業務和時代的發展,氣象服務向著集約化、標準化、信息化、精細化、自動化的方向在發展,對海南省氣象信息編輯、發布與監控的功能的要求也越來越高。為了滿足日常業務需求,提高工作效率,加強氣象服務平臺的統一性,迫切需要建設一套覆蓋海南全省業務的集氣象信息制作、發布、監控等功能為一體的業務系統,以滿足海南全省各類氣象信息的采集,編輯,傳輸、發布及監控的需求。為此,海南省氣象局設計開發了氣象產品制作發布與監控平臺,實現了氣象信息快速準確的制作,利用短信、網站、傳真、微博、微信、北斗等現有的各類信息發布渠道,實現全自動及一鍵式多手段的氣象信息快速發布,形成覆蓋海南全省的氣象信息綜合監控體系,監控氣象信息的發布效果,保證氣象信息發布渠道的有效性和安全性。使公眾及時準確地了解突發事件信息和各類預報預警信息,最大限度地降低災害造成的損失,保障人民群眾生命財產安全。
系統架構如圖1所示,系統分為五個層面,包括基礎設施層、數據庫層、應用支持層、應用層及表現層。

圖1 系統架構
基礎設施層包含該項目業務系統運行所需要的基礎硬件設施、網絡環境以及制作各類氣象服務產品所依賴的氣象數據來源的外部氣象業務系統。
數據庫層為整套業務系統的運行提供基礎的數據環境,包含通過其他系統抓取進入系統中的氣象數據,及系統自產生的業務數據。是整套系統的業務基石。
應用支持層是數據庫層與應用層之間的中間層,包含了數據到應用之前的各種的基礎支持組件及系統。
應用層是整個系統的核心組成部分,包含數據采集系統、產品制作系統、一鍵式發布系統、業務監控系統、服務策略配置系統、服務模板設置系統等平臺所需的各種業務系統,為整個平臺提供基礎的業務功能支撐。
表現層是面向用戶的服務平臺,主要包含各種對接的發布渠道,體現最終的服務效果。
數據采集系統通過對接海南省公共氣象服務產品庫[1]及CIMISS[2]等數據來源系統,實時獲取海南全省的基本氣象服務產品,并將所采集的數據統一匯總至“氣象產品制作發布與監控平臺”,通過產品配置,提供給各類服務產品加工模塊加載使用。在采集過程中,對采集的氣象數據進行實時解析及閾值監控,當數據達到閾值時進行實時提醒。
數據采集系統主要依據需要采集的外部平臺的開放接口規范來進行開發,對接不同的平臺采用不同的接口協議進行對接。主要包含以下幾種對接方案:與CIMISS對接選擇ICE、HTTP以及直接連接數據庫的方式進行。與海南國家突發事件預警信息發布系統的對接采用HTTP及TLQ[3]方式。采集氣象生活指數數據和城市空氣質量數據采用FTP和HTTP方式。與海南省公共氣象服務產品庫對接采用WebService[4-5]方式。與業務數據庫對接采用數據庫連接通用接口。
采集的數據包括氣象自動站實況數據、臺風數據、衛星云圖和雷達反射率數據、預警數據、預警信號數據、氣象指數預報數據、海洋預報數據、景點預報數據、城市預報數據、鄉鎮預報數據、格點預報數據、OCF、LAPS、MQPF等。
氣象服務產品加工過程如圖2所示,氣象服務產品加工采用數據模板分離技術,達到氣象數據及服務模板進行單獨管理的功能。通過構建高效的模板引擎,使模板文件和氣象數據進行快速合成,以達到自動加工生成服務產品的功能。平臺通過搭建服務模板設置系統、產品制作系統來實現該功能。服務模板設置系統負責模板的編輯管理、模板引擎的規則及模板標準的制定和說明。產品制作系統負責數據、模板調取及產品的自動化加工生成。

圖2 氣象服務產品加工過程
1.2.1 產品制作系統
產品制作系統主要是為了完善海南省氣象服務產品信息發布流程,以各類氣象數據為基礎,基于B/S架構,確定各類服務產品的排版格式,對原有服務產品制作業務流程進行整合優化,統一集中在此系統中制作,實現業務的集約化、自動化。以釋放業務人員的勞動力,提高區域氣象部門服務產品制作與發布效率,提升突發事件預警信息快速發布能力。
在產品制作系統中,可根據不同模板制作不同的服務產品??梢赃x擇通過設定好的產品屬性自動生成產品文件,也可選擇手工編輯產品內容,手工編輯的過程中提供內容匹配、替換、拆分、編輯等文本處理功能。
系統目前共支持175種氣象服務產品的制作,后續可根據業務需要靈活進行產品配置,就可實現產品的增加、修改、刪除等功能。
1.2.2 服務模板設置系統
產品模板是為了將顯示與數據分離,將模板文件和數據通過模板引擎生成最終的氣象服務產品。通過制定模板編輯規范,制定標準的數據讀取規劃以及制定氣象數據讀取關鍵字實現氣象服務產品模板引擎。這可以在很大程度上提高氣象服務產品的自動化程度,大大減少業務人員的工作量。
服務產品的模板設置系統對不同種類的產品公共字段進行預設值,不同服務產品樣式進行預排版,在服務產品在制作的流程中可以直接以選擇模板的形式進行分類產品制作,方便使用人員在創建產品時選用不同的模板進而減少制作產品過程中的出錯率和減少操作人員的制作流程。實現更便捷的產品制作發布流程。
系統目前共提供短信產品、聲訊產品、影視格式轉換等十種產品模板類型,共175種氣象服務產品的模板,后續可根據業務需要靈活進行模板類型及產品模板的配置,實現模板類型及產品模板的增加、修改、刪除等功能。也可以對模板進行編輯操作,設定模板整體顯示結構,設定模板標簽等內容。
平臺通過搭建服務策略配置系統、一鍵式發布系統、自動化發布系統來實現服務產品的發布。
一鍵式發布系統主要用于平臺服務產品制作系統加工生成的服務產品,通過配置好的策略,直接通過現有各類的發布渠道,一鍵式向用戶進行發送,并監控發布結果。
自動化發布系統主要用于采集來的不用再次加工處理的各種基本氣象數據(比如預警信息),通過配置好的策略,直接通過現有各類的發布渠道,自動向用戶進行發送,并監控發布結果。
服務策略配置系統主要是為各類氣象信息服務產品提供發布策略設置,建立各類需要發布的信息與發布渠道和接收人群的對應關系,實現快速發布能力。同時可接入海南省氣象局已有平臺的發布策略,實現由統一平臺進行操作控制的能力。節約業務人員的工作時間,提高工作效率。
系統目前接入的發布渠道主要有:短信、FTP、微博、微信、傳真、郵件、主流媒體QQ群、大喇叭、電子顯示屏、12121、北斗等。還可以通過WebService及HTTP服務接口規劃等標準接入海南省氣象局門戶網站、今日頭條、一點資訊、企鵝媒體等新媒體手段的氣象信息發布門戶。
監控系統可以在某一環節出現異常時,快速定位到問題所在位置,進而迅速地解決問題,不影響正常業務的運行。
對各個服務產品的發布結果進行圖形化全程監控,在系統中可以很直觀看到各個服務產品的各個發布渠道的發布狀態,也可以知道各個發布渠道發布的產品數量、產品到達成功率。
對系統運行狀態進行監控,監控各個功能運行所需進程是否正常執行啟動,系統運行出現問題標注為紅色,通知值班人員進行后續處理。
對實況、預報、預警等氣象要素詳細數據的上報情況做統計監測,如出現上報異常或數據處理異常則進行警示提醒。后續根據警示信息可以及時快速地處理。
對實況、預報、預警等氣象要素的閾值進行設置,當數據達到設置閾值時,系統自動通過短信、語音外呼等形式通知值班人員和相關責任人。
對各個發布渠道的鏈接狀態以及對接發布渠道的其他問題進行監控,并列出詳細錯誤反饋。
基于該平臺采集的氣象數據及加工生成氣象服務產品,實現統一的對外數據服務接口API系統,數據API提供輸入與輸出兩種主要的訪問模式。輸入模式可以使平臺隨時接收任意類型客戶端提交的數據,包括觀測數據、預報數據、服務產品等,通過輸入模式可讓平臺獲取任意類型、任意數量的信息。輸出模式可讓服務中其他客戶端隨時隨地地從該平臺獲取所需的數據。
接口API系統制定了數據接口使用規范,包括系統所有對接外部系統的接口使用規范和系統開放對外的接口使用規范。同時對接口的使用權限進行設置,對接口劃分使用權限限制。如外部需對接此系統,則需在后臺分配不同權限key以供外部調用時做驗證流程,保證系統穩定,數據安全。
為了實現業務所需的功能,平臺在設計和開發過程中應用了比較成熟的軟件技術,創新地實現了業務所需的功能要求。
數據采集是通過Flume[6-7]來實現外部數據的采集,Flume是分布式的數據收集系統,它將各個服務器或者系統中的數據收集起來并送到指定的地方中去。Flume的核心是把數據從數據源(source)收集過來,再將收集到的數據送到指定的目的地(sink)。為了保證輸送的過程一定成功,在送到sink之前,會先緩存數據(channel),待數據真正到達sink后,Flume再刪除自己緩存的數據。數據采集流程如圖3所示。

圖3 數據采集流程
氣象服務產品主要的表現形式為Word、TXT、XML等文件格式,通過標準的文件編輯器實現TXT、XML等文件格式氣象服務產品的模板在線編輯技術。通過安裝部署Office Online Server[8]實現Word格式的氣象服務產品模板在線編輯技術。主要功能包含模板在線創建、在線瀏覽、在線編輯等功能。通過WOPI技術實現Office Online Server和系統平臺的對接。
Office Online Server是一款Office服務器產品,可提供針對Office文件的基于瀏覽器的文件查看和編輯服務。用戶只要透過瀏覽器就能執行各種Office軟體及服務。WOPI的英文全稱是“Web Application Open Platform Interface”,中文名為“Web應用程序開放平臺接口協議”。WOPI協議提供一系列基于Web方式的,使文檔能在Office Web Apps中查看及編輯接口服務。
數據接口API采用nginx[9-10]module實現。nginx module具有高并發、大用戶量、高速服務的特點,非常適合大數據量、大業務量的應用場景。
數據接口采用JSON[11-12]數據格式,JSON是一種輕量級的數據交換格式。簡單地說,JSON可以將JavaScript對象中表示的一組數據轉換為字符串,然后就可以在函數之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從Web客戶機傳遞給服務器端程序。這個字符串雖然看起來有點兒古怪,但是JavaScript很容易解釋它,而且JSON可以表示比“名稱/值對”更復雜的結構。
為建立權威、暢通、有效的氣象服務產品一鍵式發布平臺,該系統實現了短信、聲訊、傳真、網站、微博、電視、FTP、大喇叭、電子顯示屏等發布渠道的接入。
通過對接國家突發事件預警信息短信發布平臺[13]及海南省本地短信發布平臺,實現短信發布渠道的對接。系統對接采用接口調用及數據庫對接的方式實現。
通過對接“基于大喇叭、顯示屏的氣象信息發布監控系統”實現大喇叭、電子顯示屏發布手段的對接。通過文件傳輸方式實現系統功能的接入。
基于OAuth2.0[14-15]協議,通過微博官方API,實現微博發布手段的對接。
通過微信開放API,對接海南省本地微信服務平臺的接口,實現微信發布手段的對接。
通過調用QQ開放API,實現對相關QQ群的對接。
通過配置各個FTP地址建立文件傳輸鏈接,使用TCP端口21,實現本地FTP發布手段的接入。
通過對接聲訊12121系統的對接接口,實現12121聲訊渠道的接入。
通過對接相關影視制作系統的接口,實現中國氣象頻道字幕的接入。
通過調用海南省公共氣象服務產品庫的WebService接口實現對產品庫的對接。包含產品的讀取和上傳。
通過WebService接口對接海南省氣象局現有的傳真發布系統。實現服務產品發布。
通過HTTP接口、共享網盤等形式對接現在服務的門戶網站及需要上報國家局其他單位的業務系統的發布對接。如:今日頭條客戶端、一點資訊客戶端、企鵝媒體平臺等。
通過鏈接的形式接入其他內容采集系統,使發布渠道實現統一入口。包含天氣網后臺編輯、省政府網后臺編輯、氣象報遠程投稿系統。
氣象產品制作發布與監控平臺采用產品模板技術,實現了氣象信息快速準確的制作,整合對接了短信、聲訊、傳真、網站、微博、電視、FTP、大喇叭、電子顯示屏等現有的各類信息發布渠道,實現全自動及一鍵式多手段的氣象信息快速發布,有效監控氣象信息的發布效果,保證氣象信息發布渠道的有效性和安全性。
該系統滿足海南全省各類氣象信息的采集,編輯,傳輸和發布需求,建立起了權威、暢通、有效的氣象信息發布渠道,形成了覆蓋海南全省的氣象信息綜合監控體系,全面提升了海南省氣象防災減災應急管理和公共氣象服務能力。
系統目前已經投入業務使用,結果表明,該系統在很大程度上提高了氣象服務產品的自動化程度,大大減少了業務人員的工作量,提高了工作效率,滿足業務需求,同時,該系統具有較高的穩定性和可靠性。