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