基金項目:河南省新密市氣象局縣級綜合氣象業(yè)務平面建設項目資助。
作者簡介:于保安(1965—),男,河南新密人,大專,助理工程師,主要從事氣象服務與管理工作。
摘 要: 為了滿足越來越多的部門內外對于氣象資料的共享需求,提高縣級氣象資料收發(fā)共享能力,設計并實現(xiàn)了一套基于跨平臺開放源代碼的共享應用:通過虛擬主機提供各類氣象產品和部門外共享的數(shù)據的下載,通過可配置的自動文件分發(fā)軟件可以主動向用戶推送資料。在鄭州市新密市氣象局的實際業(yè)務試運行表明該應用可以滿足現(xiàn)有業(yè)務需要,并能夠為未來新增業(yè)務需求提供擴展,適合在其它縣級氣象部門推廣使用。
關鍵詞: 氣象數(shù)據;共享;縣級;虛擬主機;自動文件分發(fā)
中圖分類號:P4:TP39 文獻標識碼:A 文章編號:1672-3791(2015)03(c)-0000-00
Implementation of County Meteorological Data Sharing Application
Yu Baoan
(Meteorological Bureau of Xinmi city, Xinmi Henan, 452370)
Abstract: In order to satisfy the growing demand for both inside and outside the meteorological department to share meteorological data, it is designed and implemented a set of cross-platform applications for county meteorological data sharing based on open source code, which will improved the transmission capability of county meteorological department. First, it is provided to download all kinds of meteorological products by established virtual host servers. Second, it is supported to push information to the user by using the configurable automatic file distribution software. The application is verified by Meteorological Bureau of Xinmi city. According to the actual business test run, the application meets existing business needs and can provide for future expansion of new business requirements. Moreover, the application is quite suitable for all the counties in the country to reuse.
Key words: meteorological data; sharing; county; virtual host; automatic file distribution
引 言
長期以來,地縣級氣象部門的數(shù)據傳輸沒有統(tǒng)一的通信軟件[1]。氣象資料常通過辦公系統(tǒng)、FTP服務共享或者即時通信工具來進行傳輸,不僅安全性差而且耗費人力。隨著氣象資料服務更加廣泛的應用,外部門獲取資料的信息量也越來越多,迫切需要建立一套數(shù)據共享應用,以滿足日益增長的數(shù)據共享需求以及多樣的傳輸方式。
1 現(xiàn)狀
在“十二五”期間,為了保障縣級綜合氣象業(yè)務能力建設,依托山洪地質災害防治氣象保障工程的投資[2],將全面啟動縣級氣象業(yè)務平臺建設,旨在提升了觀測自動化水平、預報預警服務能力。從縣級整體的總體構成來看,縣級氣象業(yè)務平臺包括5大系統(tǒng),如下圖1所示。作為信息網絡支撐系統(tǒng)的重要組成部分,信息業(yè)務軟件充當著為預警信息發(fā)布與服務、預報與風險評估、監(jiān)測等系統(tǒng)的基礎數(shù)據支撐以及信息服務的任務。對于基層氣象部門而言,這些軟件是中國氣象局統(tǒng)一下發(fā)并推廣全國使用的業(yè)務軟件,為縣級的觀測、預報等業(yè)務系統(tǒng)提供了重要支撐,主要包括:
一、以通訊組網接口軟件(Communication Network Interface Software,簡稱CNIS)為代表的監(jiān)測系統(tǒng)信息軟件,它是自動氣象站采集計算機與中心站服務器的接口軟件,實現(xiàn)自動氣象站數(shù)據文件的自動上傳、中心站對自動氣象站的遠程控制、提供對網絡狀況的監(jiān)視和通信傳輸情況的查詢[3];
二、以CMACast衛(wèi)星廣播小站接收軟件為代表的通信軟件,2012年6月1日CMACast全面建成并投入使用,將中國氣象局現(xiàn)有的三套衛(wèi)星廣播業(yè)務系統(tǒng)(PCVSAT[4]、DVB-S[5]、FENGYUNCast[6])進行整合,實現(xiàn)各類氣象數(shù)據、視頻資源的統(tǒng)一播發(fā)和管理,成為中國氣象局唯一的廣播系統(tǒng),是全國基層氣象部門獲取全國氣象資料的主要渠道[7]。
圖1 縣級氣象業(yè)務平臺整體架構
目前,由于中國氣象局對于氣象服務的共享軟件還沒有統(tǒng)一的規(guī)范,因此基層氣象部門采取各種手段來滿足越來越多行業(yè)內外資料共享需求,往往一個應用系統(tǒng)便采用一種共享服務方式,使得資源分散,不利于管理,資料收發(fā)共享能力不適應業(yè)務需求的問題越來越突出[8-9]。以新密市氣象局為例,由于沒有專門的數(shù)據共享分發(fā)服務器,所有與行業(yè)內外部門共享的資料均分散在各個辦公PC機上,大部分使用Windows操作系統(tǒng)以及Serv-U軟件架設的FTP服務器提供資料獲取服務[10],業(yè)務人員需要實時維護多個FTP服務主機,從而確保資料能夠正常提供共享服務。
2 需求分析
隨著信息技術的不斷發(fā)展和社會對于信息共享需求的日益迫切,采用現(xiàn)代信息技術和網絡技術管理海量信息資源,并面向各階層用戶提供信息獲取服務的信息管理系統(tǒng)得到了快速發(fā)展[11-13]。在資料的服務方面,迫切需要構建一個數(shù)據共享服務器,用以存儲實時接收的廣播數(shù)據以及對近實時資料進行備份,同時能夠存儲縣級氣象的公共服務產品等。為了使得該服務器的運行穩(wěn)定并且能夠有較強的處理能力,采用PC服務器并使用Linux操作系統(tǒng)。在該共享服務器上部署一套數(shù)據共享應用,滿足資料的各種共享服務要求。
從服務模式上看,包括推送和抓取兩種各種模式:一、服務端主動推送方式能夠保證氣象資料第一時間提供給用戶,特別對于氣象預警信息發(fā)布等時效要求較高的場景[14],但是需要接收端保證網絡和服務器資源的穩(wěn)定,否則會造成服務端的資料積壓等情況出現(xiàn);二、服務端提供用戶抓取的獲取機制不需要考慮接收端的狀態(tài),由用戶自主進行獲取,這種情況下用戶端往往通過輪循掃描方式來偵測資料是否到達,一定程度影響時效,適用于對時效要求不高的資料共享。
從服務協(xié)議方式上看,一直以來FTP因其可靠性和易用性是氣象部門資料共享主要采用的傳輸協(xié)議。隨著互聯(lián)網的發(fā)展以及Web瀏覽器技術的革新,越來越多的基于HTTP的傳輸應運而生,HTTP是一種為了將位于全球各個地方的Web服務器中的內容發(fā)送給不特定多數(shù)用戶而制訂的協(xié)議,Web瀏覽器下載Web服務器中的HTML文件及圖像文件等,并臨時保存在個人電腦硬盤及內存中以供顯示[9]。為了快速直觀的提供文檔、圖片等氣象信息,建立基于HTTP協(xié)議的共享網站是有效的手段之一。
從安全性上考慮,需要支持基于SFTP,HTTPS等安全性協(xié)議的傳輸手段。由于需要區(qū)分對內部用戶和外部門用戶的資料訪問范圍,需要增加訪問控制和目錄授權來保證共享數(shù)據的安全性。
3 技術實現(xiàn)
對于縣級氣象部門,建立一個氣象數(shù)據的共享應用除了需要考慮軟件的集約化外,更重要的是軟件穩(wěn)定性、人性化并且易于維護。因此,結合新密市氣象局的實際情況和上述需求分析,充分利用現(xiàn)有的PC服務器資源,基于Linux平臺采用了成熟開源軟件建立一個可配置的共享應用。主要實現(xiàn)技術應用包括基于自動文件分發(fā)軟件(AFD:http://www.dwd.de/AFD/)傳輸應用和基于Apache HTTP Server(http://httpd.apache.org/)建立的虛擬主機服務。
3.1數(shù)據共享服務器的組織
目前數(shù)據共享服務器主要是以目錄文件的形式存儲向用戶分發(fā)的各類產品和供有關部門共享的數(shù)據。主要包括三部分的資料和產品,如圖2所示:
(1) CMACast原始數(shù)據(cmacast目錄)。按照衛(wèi)星廣播接收的通道和目錄來進行編排,與播發(fā)節(jié)目表相對應。
(2) 氣象產品(product目錄)。分布在新密市氣象局不同的業(yè)務單位和臺室的地縣級氣象業(yè)務系統(tǒng)需要經常公用許多加工后的氣象產品,比如MICAPS輸出產品、統(tǒng)計產品等;還有一些產品需要提供給多個平臺使用,比如天氣預報和預警信息需要提供手機短信、展示大屏、121等服務終端;另外由于業(yè)務需要會從省局氣象資料服務網站獲取衛(wèi)星云圖等資料。按照資料的不同來源和日期時間組織這些氣象產品。
(3) 共享目錄(share目錄)。目前新密市氣象局與各個部門都建立有信息交換的渠道。未來為了實現(xiàn)中小河流洪水、山洪、地質災害監(jiān)測預警信息在各級氣象、水利、交通、林業(yè)、農業(yè)、國土資源等部門應急指揮平臺的實時顯示和應用,按照部門單位分目錄建立資料共享的空間。
圖2 縣級氣象數(shù)據平臺網絡架構
3.2 Apache虛擬服務器
Apache HTTP Server項目是可以跨平臺運行的開源HTTP服務器軟件,該項目的目標是提供安全、高效、可擴展的HTTP服務。Apache HTTP Server自從1996年發(fā)布以來,如今已經成為世界排名第一的Web服務器軟件[15]。通過Apache HTTP Server可以實現(xiàn)構建數(shù)據虛擬主機的目標。虛擬主機是在一臺服務器上同時運行多個網站業(yè)務。在Apache配置文件中虛擬主機指令需要使用VirtualHost(虛擬主機)容器封裝。如圖2所示,通過在數(shù)據共享服務器建立內網和外網兩個虛擬主機,映射不同的共享目錄以實現(xiàn)目錄授權的目的,不同的共享目錄還可建立對應的FTP服務器提供服務。同時,Apache HTTP Server還可以實現(xiàn)網絡訪問控制和用戶認證功能,只需要根據需求進行配置即可,如下圖3所示是客戶端訪問虛擬服務器的訪問用戶認證框,成功后即可以訪問數(shù)據目錄,如圖4所示,對于瀏覽器可以處理的數(shù)據文檔則可以直接進行展示,如圖5所示。
首先需要建立一個密碼文件,事先利用Apache的bin子目錄中提供的htpasswd的工具建立密碼文件,逐一配置數(shù)據平臺的訪問賬戶和口令。這個密碼文件應放在服務上不能被網絡訪問的位置,以避免被下載。然后,需要修改httpd.conf(Apache HTTP Server配置文件),以指示服務器允許哪些用戶訪問并向用戶索取密碼。其中包括幾個重要的參數(shù):AuthType指令選擇了對用戶實施認證的方法,最常用的是由mod_auth提供的Basic;AuthName指令設置了使用認證的領域。為了增加訪問的安全性,可以通過配置網絡訪問控制配置來實現(xiàn):Allow和Deny指令可以允許或拒絕來自特定主機名或主機地址的訪問,另外,Order指令告訴Apache處理這兩個指令的順序。
圖3 Apache訪問用戶認證框 圖4:Apache數(shù)據服務目錄 圖5:Apache虛擬服務器數(shù)據展示
3.3基于AFD的傳輸應用
AFD是一個用來自動分發(fā)文件到本地或遠程主機的開源軟件。該軟件支持本地及遠程多協(xié)議數(shù)據傳輸,支持優(yōu)先級控制的并發(fā)數(shù)據分發(fā),收集與分發(fā)通過消息緊密結合,使得數(shù)據能在收集與分發(fā)功能模塊之間高效流轉。系統(tǒng)支持本地文件系統(tǒng)目錄數(shù)據和遠程多協(xié)議(SMTP,F(xiàn)TP,HTTP,SFTP等)兩種收集方式。系統(tǒng)通過配置文件能夠靈活設置文件名變換、壓縮/解壓縮、定時處理等各種預處理邏輯,以適應不同用戶的業(yè)務需要。
如圖6所示,經過消息生成器(amg)派生的目錄掃描進程(dir_check)將數(shù)據實體文件組織成分發(fā)任務,進入消息隊列。目錄掃描的依據是由分發(fā)目錄配置(DIR_CONFIG)和目的主機配置(HOST_CONFIG)預先由管理人員設定的。文件分發(fā)進程(fd)守候任務消息,當新任務到達后及時調度各分發(fā)或遠程獲取程序完成分發(fā)任務或遠程獲取文件任務。根據不同的分發(fā)協(xié)議編寫分發(fā)程序(sf_loc,sf_ftp等),可以實現(xiàn)多目的主機并發(fā)、單個目的主機多任務并發(fā)。分發(fā)任務進行由調度程序根據分發(fā)消息激活,使得分發(fā)任務可以進行優(yōu)先級控制,從而可實現(xiàn)多用戶并發(fā)和同一用戶多任務并發(fā)的調度。
圖6 AFD應用的處理邏輯
4 總結
數(shù)據共享應用是縣級氣象綜合業(yè)務平臺的重要組成部分。結合新密市氣象局的實際業(yè)務情況設計并開發(fā)了此共享應用,該應用試運行情況良好,可以滿足現(xiàn)有業(yè)務需要,并可以為未來新增業(yè)務需求提供擴展。該應用的優(yōu)勢還在于采用了可配置的開源軟件,非常適合在其它縣級氣象部門推廣使用。
參考文獻:
[1] 王甫棣. 國內氣象通信系統(tǒng)的設計和實現(xiàn)[J]. 計算機應用, 2012, 32(s2): 220-225.
[2] 陳皎, 江麗. 重慶市山洪地質災害防治氣象保障工程項目建設管理與思考[J]. 貴州氣象, 2013, Vol.37(4): 58-62.
[3] 楊立志, 艾艷, 王敏. 河南省自動氣象站組網系統(tǒng)的建設[J]. 河南氣象, 2004(3) :39-40.
[4] 李漫霜, 任曉煒. PCVSAT單收站系統(tǒng)的應用[J]. 廣西氣象, 2000, 21(3): 47-50.
[5] 蔣克儉, 王春芳, 陳宏堯. DVB-S在氣象數(shù)據廣播中的應用研究[J]. 氣象科技, 2006, 34(增刊): 13-18.
[6] Wang Jingsong, Zhang Jiashen, Tang Yunqiu. Fengyun Satellites: Achievements and Future[J]. Chinese Journal of Space Science, 2010, 30(5): 468-473.
[7] 王春芳, 李湘, 陳永濤, 等. 中國氣象局衛(wèi)星廣播系統(tǒng)(CMACast)設計[J]. 應用氣象學報, 2012, 23(1): 113-120.
[8] 蔡濤, 馬麗征, 張春紅, 等. 利用遠程桌面技術實現(xiàn)氣象資料的共享[J]. 氣象與環(huán)境科學, 2008, 31(增刊): 249-250.
[9] 黃克磊, 閆小珍, 王媛, 等. GPRS自動雨量站狀態(tài)監(jiān)控和數(shù)據應用系統(tǒng)[J]. 氣象與環(huán)境科學, 2008, 31(2): 73-76.
[10] 孫寶利, 朝柯, 李亞廷, 等. 縣級氣象綜合業(yè)務工作平臺本地化[J].氣象與環(huán)境學報, 2008, Vol.24(3): 46-50.
[11] 李集明, 沈文海, 王國復. 氣象信息共享平臺及其關鍵技術研究[J]. 應用氣象學報, 2006,17(5): 621-628.
[12] 劉愛容. 氣象信息共享平臺的開發(fā)技巧[J]. 氣象與環(huán)境科學, 2007, 30(增刊): 201-202.
[13] 宋廣才. 應用數(shù)據庫技術實現(xiàn)縣級氣象資料的存儲和共享[J]. 吉林氣象, 2006(3): 27-29.
[14] 王甫棣. 基于ATOM和CAP的預警信息發(fā)布方法研究[J]. 氣象與環(huán)境科學, 2013, 36(1): 28-31
[15] 張莉. 淺析Apache虛擬主機設置[J]. 湖南大眾傳媒職業(yè)技術學院學報, 2005, Vol.5(2): 84-88.