李 莉,張慧卿,陳傳振,李賽楠
(山東省濟南市氣象局,山東 濟南 271100)
山東省CIMISS系統(tǒng)投入業(yè)務運行后,觀測與網絡處要求各業(yè)務單位加強CIMISS資料應用,做好C0IMISS本地化開發(fā)、應用及特色數據入庫工作。無錫區(qū)域自動站客戶端軟件具有界面友好,統(tǒng)計方便的特點,是預報員和人影業(yè)務人員進行氣象服務的一件利器,并且我單位某些業(yè)務系統(tǒng)是從無錫區(qū)域站中心站數據庫中獲取數據,但數據庫中獲取的是原始數據,未經質控,如果從CIMISS中定制自動站數據到本地MS SQL SERVER數據庫中,既解決了無錫所開發(fā)的區(qū)域自動中心站客戶端的CIMISS數據應用,又解決了以MS SQL SERVER數據庫為數據源的自建業(yè)務系統(tǒng)的CIMISS數據獲取,并且實現了大監(jiān)站和區(qū)域站數據在同一個數據庫中的統(tǒng)一實時顯示,保證了數據應用的準確性和區(qū)域站客戶端軟件使用的持續(xù)性。
楊鳳瓊等[1]提出采用C#語言開發(fā)楚雄州自動氣象站采集系統(tǒng),將楚雄州自動氣象站數據從CIMISS 中實時下載到本地MS SQL SERVER數據庫,涉及到的數據表為tabHourData,使用CIMISS資料為中國地面逐小時資料。
魯玲等[2]提出按時間、站號檢索地面數據要素,獲取北海地面逐小時資料,實現自動氣象站觀測數據本地入庫存儲。
僅有小時數據,區(qū)域站中心站的客戶端某些統(tǒng)計功能無法實現,并且降低了服務時效。由于目前分鐘數據在CIMISS庫中是通過中國地面分鐘降水資料、中國地面分鐘壓溫濕風資料和中國地面分鐘其他資料3個文件來分散存儲的,因此再進行合并入庫時對于開發(fā)者尤其是不熟悉區(qū)域站中心站數據庫表結構的人員具有一定的難度。
江蘇省無線電科學研究所有限公司開發(fā)的一款軟件,有效解決了這一問題,以下是實現方法和測試情況。
通過獲取CIMISS系統(tǒng)中的中國地面小時數據和分鐘數據到無錫中心站數據庫的相關數據表中實現客戶端的讀取訪問。
服務器配置為64 G內存,CPU Intel Xeon E5-2630 2.2 GHz,1T硬盤,操作系統(tǒng)采用了Windows2008 R2 SP1,數據庫系統(tǒng)采用了MS SQL SERVER 2008 R2,該服務器同時并行有其他業(yè)務,但不占用MS SQL SERVER數據庫的默認端口號。
數據獲取程序采用了江蘇省無線電科學研究所有限公司開發(fā)的SMOS地面氣象觀測監(jiān)控管理平臺軟件來實現,該軟件采用JAVA語言開發(fā),它的一大特點是不同種類的任務可以互不干擾的同時運行在一個平臺上[3],測試版本smos-task-platform-v4.0.0-Current。
該軟件的功能是可以實現從數據庫到數據庫、數據庫到文件、文件到數據庫以及文件到文件的數據遷移。數據庫同時支持無錫新版中心站數據庫和老版(專業(yè)版)中心站數據庫。
3.3.1 首先在MS SQL SERVER數據庫系統(tǒng)中掛載一個與中心站數據庫數據結構相一致的空庫,空庫可以由無錫廠家提供。
通過運行數據庫管理工具Microsoft SQL Server Management Studio,連接到包含默認數據庫的服務器實例,在[對象資源管理器]窗格中展開服務器下的[數據庫]節(jié)點,通過附加或還原數據庫命令,掛載一個具有同區(qū)域自動站中心站數據結構一致的空數據庫,數據庫名以AWS為例。
為保證數據結構一致,所建立的數據庫的版本必須與區(qū)域站中心站的數據庫版本相一致,目前無錫中心站的數據庫版本為3.5.7。
3.3.2 smos-task-platform-v4.0.0-Current運行及配置[3]數據庫建立好以后,運行smos多任務平臺軟件,該軟件直接解壓運行即可,無需安裝,雙擊start-task-platform.exe,可啟動dos運行窗口,并顯示smos 多任務平臺的設置和操作界面。
3.3.3 建立數據獲取任務
①點擊運行界面上的車輪樣的菜單按鈕,將彈出任務菜單,選擇創(chuàng)建任務。
圖1 SMOS操作界面
②根據需要選擇SMOS數據遷移任務。
圖2 SMOS任務種類
3.3.4 設置數據遷移的各項參數
①配置數據寫入方信息
在數據寫入方信息下的菜單項中選中“數據庫類”,然后點擊右側的“設置”項(圖3),在彈出的界面中進行寫入方數據的詳細配置,其中數據庫類型在這里應選擇無錫所數據庫(專業(yè)版),然后數據庫類型選擇“SQLServer”數據庫,根據實際情況填寫要寫入的數據庫(即先前掛載在數據庫系統(tǒng)中的空庫)的地址、端口號、數據庫名、數據庫安裝時的sa用戶名及口令等參數(圖4)。
圖3 SMOS數據遷移任務配置界面
圖4 數據寫入方配置界面
②配置數據讀取方信息
在數據讀取方下的菜單項中選中“CIMISS數據源”,然后點擊右側的“設置”項,在彈出的界面中進行讀取方數據的詳細配置,在這里需要輸入CIMISS數據源的地址、API用戶名及口令(圖5)。
圖5 數據讀取方配置界面
③配置寫入數據類型信息
以上兩步配置成功后,寫入數據類型信息項會自動顯示常規(guī)數據,點擊右側的設置項,進行數據庫表的選擇,如圖6,除了Aws_Minut_Rain_Real表在專業(yè)版數據庫中不再使用不被選擇外,其余16張表都應勾選。檢查數據唯一性在這里不要勾選。
圖6 寫入數據類型信息配置界面
④其他設置信息
在其他設置信息中,進行數據讀取間隔的設置、數據讀取時間的設置和選擇臺站的設置等(圖7),在“選擇臺站”的彈出界面中,設置所需要調取數據的臺站號,臺站號也可以從文本文件中導入。如果把時間設置往后延長一段時間,則實現實時讀取CIMISS數據庫中分鐘數據,時間為北京時。
圖7 其他設置信息界面
⑤擴展設置
在數據庫寫入方和讀取方配置完成且有效后,寫入數據類型信息項會顯示常規(guī)數據,同時,主界面上將會增加擴展設置選項。
根據需要設置站點的冬季降水是否停用。
3.3.5 應用中需注意的一個問題 利用中心站客戶端訪問時,會出現客戶端數據不顯示的情況,原因是掛載的空庫里面的站號表是空的,因此需要把原來中心站的臺站信息表復制到掛載的空庫中,涉及到的站號表有stationpar,collectorpar和collectoralarmpar。
3.3.6 建立數據庫登錄賬戶和數據庫用戶 通過創(chuàng)建數據庫登錄賬戶和數據庫用戶來滿足客戶端對所建數據庫AWS的訪問。
①運行Microsoft SQL Server Managerment Studio,展開服務器-安全性-登錄名節(jié)點,右擊選擇新建登錄名。有兩種方式創(chuàng)建登錄名,一種是創(chuàng)建Windows登錄賬戶,另一種是創(chuàng)建SQL Server登錄賬戶,可以根據需要來選擇創(chuàng)建方式。
②創(chuàng)建登錄名后,打開SQL Server Management Studio,展開服務器-數據庫-AWS-安全性-用戶節(jié)點,右擊選擇新建用戶,為數據庫創(chuàng)建用戶,指定到創(chuàng)建的登錄名。
3.3.7 測試及應用情況 運行至今,軟件進行數據庫讀寫訪問正常,區(qū)域站客戶端訪問CIMISS定制數據庫正常,人影系統(tǒng)訪問CIMISSS數據庫正常。數據讀取方面有一個需要注意的地方是當風速為0,風向為靜風時,在CIMISS庫中是將靜風表示為“999017”,而該軟件讀取“999017”到本地專業(yè)版數據庫中時,采用了將靜風設置為空值的方式。
數據獲取具有較好的入庫機制。整點數據等待降水資料和逐小時資料兩張表中的當前時次數據全部到達CIMISS數據庫后獲取到本地庫,分鐘數據等待降水資料、壓溫濕風資料和其它要素資料3張表中的當前分鐘數據全部到達CIMISS數據庫中后獲取至本地庫,數據實現了誰先到達誰先入庫,將圖7中的延遲執(zhí)行設置為10 s,能較好的滿足數據及時入本地庫的需求。
數據獲取具有補調機制,整點數據的補調時間是24 h,分鐘數據的補調時間是1 h。如果發(fā)生某一時次數據在補調時間內未能獲取到本地庫,在保證CIMISS庫中有數據的情況下,可以使用SMOS軟件建立任務進行任意時間和時次的數據補調。
①在本地區(qū)域站客戶端應用CIMISS定制數據庫及與讀取原始數據庫對比情況。在圖8的CIMISS定制庫中,合并了大監(jiān)站54828的數據。
圖8 CIMISS定制庫2019年6月28日05—15時雨量統(tǒng)計情況
圖9 原始庫2019年6月28日05—15時雨量統(tǒng)計情況
②在萊蕪人影作業(yè)指揮系統(tǒng)中的應用。M、H、TT顯示的數據分別讀取自分鐘數據表tabminutedata中的R1M(1 min雨量,目前無1 min數據),R1H(1 h雨量累計值)和TT(氣溫)字段。
圖10 2019年6月28日人影系統(tǒng)應用局部站點圖
③客戶端升級到1.6.5版本后對整點以來分鐘數據的應用??蛻舳松壍?.6.5版本后,通過菜單項數據查詢導出—數據導出—多站數據導出,可以查看本地所有站點整點以來的分鐘數據。由于目前數據采集間隔為5 min,因此可以5 min為步長修改查詢時間,該功能可用于重大天氣過程中對雨量數據的實時監(jiān)控。
圖11 臺風“利奇馬”過境時萊蕪2019年8月11日06時01分—06時55分的雨量統(tǒng)計
事先建立好MS SQL SERVER的數據庫環(huán)境,先掛載一個與無錫區(qū)域站中心站數據結構相一致的空庫,將區(qū)域中心站的站點信息復制到這個空的數據庫中,通過SMOS多任務平臺創(chuàng)建指定站點和時間的數據獲取任務,就可以把CIMISS數據庫中的小時和分鐘數據獲取到這個本地的MS SQL SERVER空數據庫中,實現無錫區(qū)域站中心站的CIMISS數據定制。
①采用這種方法建立的數據庫,具有可重復性、可指定時間段和站點、靈活高效的特點,但是對于已經建立好的數據庫進行操作,應注意數據庫操作和應用安全,建議一是考慮建立相對獨立的數據環(huán)境,由熟悉數據庫的技術人員來操作,并規(guī)范操作流程;二是為不同的訪問用戶設置不同的登錄名和數據庫用戶,最小化使用數據庫訪問權限;三是考慮CIMISS定制庫是否可以建立在省級的虛擬資源池上。
②目前CIMISS中沒有臺站狀態(tài)信息的數據資料,如果能增加臺站狀態(tài)信息的話,會有利于臺站維修人員判斷臺站狀態(tài),提高設備監(jiān)控的自動化水平。狀態(tài)信息包括主板溫度和電源電壓,能否設定設備故障的預警閥值,當高于或低于預警閥值時,可判斷為設備故障,存儲故障信息。只存儲故障信息,一是可以節(jié)省存儲空間,二是可以提取故障信息及時通知保障人員。