王旭東,徐 娟,張 鴻
(甘肅省氣象信息與技術裝備保障中心,甘肅 蘭州 730020)
2016年底,由國家氣象信息中心牽頭組織實施構建的全國綜合氣象信息共享平臺(CIMISS)正式通過業務化運行,標志著以全國綜合氣象信息共享平臺為核心的國省統一數據環境正式建立[1],初步形成了具有標準、統一特性的支撐氣象核心業務系統的數據生態[2]。自全國綜合氣象信息共享平臺業務化運行以來,該平臺承載著國內氣象通信業務,實現了國家級、省級、市級、縣級這四級氣象數據之間的數據收集與交換、質量控制與產品生成、存儲管理,同時還承擔著共享服務與業務監控的任務[3]。氣象數據統一服務接口(Meteorological Unified Service Interface Community,MUSIC)為氣象業務、氣象產品研發以及相關科研人員提供全國統一、標準、豐富的數據訪問服務,與此同時,還提供了應用編程接口(API),用戶可以通過業務系統輸入訪問參數并嵌入各數據服務接口或者是通過調用數據服務腳本命令的方式獲取全國綜合氣象信息共享平臺存儲中的氣象數據和產品[4]。隨著信息技術的發展和氣象現代化建設進程的加快,以“x86+Oracle+盤陣”為主的傳統信息技術構建,在規模、性能和應用服務的針對性方面顯得能力不足[5]。面對氣象觀測產生的海量數據存儲方面還有一定困難,對于如何滿足氣象數據的高速交換、并發訪問、多樣性數據處理、數據挖掘應用等方面依然存在著很大的缺陷,如何降低該方面的性能缺陷亟待解決[6],2020年氣象大數據云平臺(簡稱“天擎”)在全國范圍完成建設,“天擎”全面提升了CIMISS的能力,但其氣象數據接口訪問也基本保留了CIMISS數據服務接口的功能[7]。
天擎是在氣象業務“云+端”新技術機制背景下的核心基礎軟件技術平臺,該平臺可以促進業務系統“云化”,形成“云+端”業務新模式格局,同時可以為氣象部門的氣象業務提供最完備、最權威地球系統及相關行業數據的氣象大數據管理平臺,天擎的投入使用,徹底改變了目前業務中存在的“小、低、散”低水平重復建設現狀,消除了“數據孤島”,對現有資源的整合、業務流程的再造起到積極作用,充分發揮數據聚集規模效應,實現業務集約化后高效、高質量發展的關鍵。
天擎充分應用了新一代信息技術,其中包括云計算、大數據、移動互聯、人工智能等。該平臺按照統一規劃、統一設計、統一標準、統一建設的原則,根據先建設后改變的策略,建成在用戶需求方面能夠滿足,技術方面具有一定的先進性,功能相對完善的氣象大數據云平臺,能夠支持高并發、高性能、高擴展的“數算一體”氣象大數據云平臺,實現對氣象業務所需的地球系統和相關行業數據的統一收集、處理、融合、存儲和共享,實現氣象業務算法、業務功能共建共享便捷裝配、靈活快速組合應用,解決了“云+端”新機制下的氣象業務新模式,解決業務系統需自建單獨的、重復的數據庫管理系統的業務頑疾。實現了技術融合、數據融合、業務融合方面有了新突破,促進了氣象觀測、預報、服務、管理業務的高效協同與高質量發展。
氣象數據統一服務接口,基于氣象大數據云平臺,主要是面向氣象業務和氣象相關科研人員提供全國數據統一、格式結構標準、內容服務內容豐富的數據訪問服務以及應用可編程的接口(API),為國家級、省部級、地市級、縣區四級應用系統提供唯一權威的數據接入服務[8]。氣象數據統一服務接口管理平臺是為系統管理員或者氣象數據工作人員設計開發的,旨在為管理員用戶提供快速方便配置管理數據服務接口的工具,有效的簡化數據接口配置管理工作,提高工作效率。
氣象數據統一服務接口管理平臺的管理菜單包含了基本信息管理、數據庫定義、通用接口、訪問接口、氣象資料、氣象要素、模式信息、數據實體、流域信息、用戶管理、服務配置、數據寫入審核、數據同步、省際備份切換、監視統計、文檔配置管理、網關配置管理、眾創接口等。其特點是能夠提供多樣的服務方式,擁有強大的服務功能,可以跨平臺、多語言地開發支撐能力,極度精簡、穩定不變的客戶端,多種選擇的返回格式,支持異構、不同存儲技術的多源數據庫,可配置、針對業務的訪問接口。
省級天擎接口提供包括地面、高空、大氣成分、輻射、農氣、數值預報、雷達、衛星等在內的14個大類200余種資料的訪問服務,天擎MUSIC可實現文件級氣象資料的查詢、下載,站點類資料的保存、查詢和統計,氣象格點資料的裁剪、解析和下載保存等功能,這基本滿足了非開發用戶對氣象數據的訪問需求。對于開發人員,接口還提供了文件產品、站點資料以及格點要素的數據回寫功能,并且天擎接口新的服務功能仍在發展中。
天擎MUSIC提供包括客戶端調用、REST服務和腳本服務等多種服務方式,以數值預報為例,該平臺不但能夠滿足大數據量數據的高效傳輸和獲取,并且為前臺交互應用提供便捷的編程體驗,而且還能為廣大氣象科研人員提供非編程模式下的數據獲取服務。天擎平臺下的MUSIC支持跨平臺多語言開發,客戶端調用服務和腳本服務支持包括Windows、Linux等主流操作系統,并且MUSIC提供包括C#、Java、C/C++、Fortran、Python 等語言的軟件開發工具包。天擎接口調用的數據返回格式亦是十分豐富,支持序列化字符串、數據文件和內存對象等。天擎MUSIC提供了多樣的調用方法,其中包含9個標準的調用方法,用戶可以靈活選擇合適的接口、資料類別和返回格式,靈活獲取所需的氣象數據,具有很強的應用性。
在服務接口管理平臺的列表中,主要羅列了訪問接口分類的相關信息,包括(序號、接口分類ID、接口分類名稱、描述),用戶可進行增加、刪除、修改、查詢等操作。目前,訪問接口分為14個大類:地面資料接口、高空資料接口、海洋資料接口、輻射資料接口、農氣資料接口、數值模式接口、大氣成分接口、歷史代用接口、氣象災害接口、雷達資料接口、衛星資料接口、科考資料接口、服務產品接口和其他資料接口。
(1)用戶根據自己應用所需的資料,找見應用所要實現的功能,然后在接口網站[資源共享]目錄下的[數據]欄目中查找資料。打開[資源共享]菜單欄的[接口]目錄,查看可調用該資料的接口清單。選擇自己擅長的接口,進入接口的詳細說明頁面,查看所需資料是否存在或者存在的資料是否滿足需求,如果符合條件進入第二步。在[示例代碼]欄中,可以顯示獲取此類接口所支持的開發模式、開發語言以及不同的返回對象的編程示例,也會有相對應的示例下所對應的結果。根據相關提示,在線申請注冊接口賬戶,經管理員審核通過并激活后方可使用。
(2)用戶根據自己的實際情況選擇開發模式與語言,該平臺當前支持的訪問方式有客戶端、REST等主要服務方式。以上方式不僅支持JAVA、C#、C++,同時還支持Python等多種語言。這些服務方式各有特色,如果在進行大量數據獲取的同時能保持高效的傳輸性能。例如,數值預報,建議使用客戶端方式進行數據調用;如果需要通過編程方式并且與前臺進行交互應用,建議選擇REST服務方式。
(3)通過應用支撐門戶網站下載的SDK與DEMO文件中,SDK主要是支持C/S開發客戶端所需的開發包,該包中就包含了數據請求、數據解析以及數據高效傳輸等必要的功能,進而參考DEMO 程序,從接口調用端選擇合適的資料與相應的接口,開發應用程序,就可獲得所需要的資料。
天擎提供了豐富的氣象數據接口訪問方式,但是對于只想獲取特定時間或時間段氣象數據而不想過多考慮操作系統和開發語言的用戶,腳本服務作為一種簡單便捷的氣象數據獲取方式優勢明顯。用戶只需登錄天擎業務賬戶,根據自己所申請業務賬戶的權限,在PC端修改腳本運行環境變量和參數,通過執行相關腳本就可以進行氣象數據檢索和批量下載任務。
根據天擎的管理要求,用戶首先聯系省級信息中心天擎管理人員獲取并登陸天擎應用門戶網站訪問界面申請業務賬戶,接口訪問需要開通數據服務接口功能權限,并且用戶要牢記申請賬戶的賬戶名和密碼,以便進行腳本配置。在業務賬戶審核通過后,用戶需要申請接口訪問的氣象數據資源并進行提交,在管理員審核通過后利用接口訪問驗證工具進行數據訪問驗證。
在數據調取的PC端安裝1.7版本以上的JRE環境,具體安裝步驟可參考相關網絡教程,文中不再贅述。添加環境變量后并執行Java -version命令進行版本確認。
下載開發語言為Script的客戶端開發包或demo工程包,解壓至不帶中文字符的本地目錄,首先配置client.config中與訪問環境有關的music_server、music_port和music_ServiceId參數。
3.3.1 關于clinet的參數配置


3.3.2 關于配置demo.ini中接口資料調用參數
Demo文件為用戶開發所使用接口時的示范工程項目內容,demo工程項目內容中就已經包含了客戶端、REST等常見的開發模式。用戶應當結合自己所使用的開發語言獲取與之相對應的demo示范工程,按照實際的IP和所申請的業務賬戶執行操作。
關于配置注意的事項:
(1)接口名稱。第一個參數接口名稱,依據MUSIC接口規范進行接口選擇,接口名稱需用“[]”括起來。
(2)賬戶信息。userinfo為用戶申請的業務賬戶信息。
(3)保存格式。dataFormat為要保存的氣象數據類型,腳本方式支持TEXT/HTML/XML/JSON/JSONP/CSV格式。
(4)保存路徑。文件保存路徑支持相對路徑,可配置為“savePath=全路徑含文件名”或“saveDir=路徑”形式,路徑中支持正則表達式匹配日期$(YYYYMMDDHHMISS)。
(5)參數配置。時間范圍支持times時間點參數和timeRange時間段參數,可包含正則表達式匹配日期及對日期進行減操作;orderby可設置輸出內容按照某一或某幾項要素進行升序或降序排列,desc為降序,asc為升序。臺站級別支持同類不同級別臺站同時選擇,不同級別臺站代碼之間用逗號隔開,地面觀測站站網代碼為01,包括基準站011、基本站012、一般站013、區域站014和其他015;高空氣球探空儀探測站站網代碼為04,探空站為041,測風站為042;輻射觀測站站網代碼為11,一級、二級、三級輻射站代碼分別為111、112和113;農氣站站網代碼為12,一級站和二級站代碼分別為121和122。
完成參數配置后,進入程序所在目錄,Windowns環境下左鍵雙擊run.bat,Linux環境下輸入sh run.sh便可執行程序。程序執行時會在程序所在的當前目錄自動生成apilog日志文件夾記錄程序運行日志和異常信息,供用戶進行問題排查。
天擎系統存儲的氣象數據幾乎涵蓋了氣象部門的氣象業務所需資源,該平臺的投入使用很大程度上改變了氣象業務的傳統模式,為氣象業務人員在數值預報和科研方面帶來了極大的便利,但是服務接口方面并未考慮到非編程用戶的使用感受,本研究雖然提出了通過簡單的腳本訪問方式獲取所需的氣象數據,降低了非編程用戶天擎氣象數據的獲取難度,但是在操作層面上還需要一定的計算機業務常識。如何通過建立可視化界面的客戶端進行操作,才能夠真正意義上達到友好訪問的模式,才能更好地增加用戶的體驗感,同時也可以更加有效地拓寬氣象大數據云平臺的受眾范圍,為氣象事業的發展提供數據力量。