江蘇省產品質量監督檢驗研究院 林 婷
?
基于B/S模式的城市氣象觀測數據共享網站的設計與實現
江蘇省產品質量監督檢驗研究院林婷
【摘要】根據不同用戶對城市氣象觀測數據的需求,利用web開發技術,設計并開發了一個基于B/S模式的城市氣象觀測數據共享網站,一方面滿足專業型用戶在科研上對歷史氣象數據的需求;一方面滿足非專業型用戶在生活上對實時動態氣象數據的需求。
【關鍵詞】B/S;氣象觀測數據;網站設計
大氣運動的隨機性,導致各氣象要素無時無刻不在變化中,實時氣象數據在不斷更新,歷史氣象數據在不斷累積,數據量與日俱增[1]。尤其近年來,隨著數據采集技術的進步,氣象觀測數據的數量快速增長。海量的氣象數據為探索氣候演變規律、預測天氣和氣候變化趨勢提供了豐富的數據源,同時也帶來了新的挑戰[2]。如何針對不同的用戶需求提供相應的氣象數據和服務成為當前氣象數據應用的關鍵問題。對于專業型用戶,其更關注歷史氣象數據,通過數據挖掘算法從歷史數據中獲取有用的氣候模式,對科學預報決策服務的提供有重要意義。對于非專業型用戶,其更關注實時動態數據,根據實時氣象規劃調節衣食住行,滿足日常生活需求。本文根據對以上不同用戶的需求進行分析,利用web開發技術,開發一款面向氣象數據的、具有良好人機交互的數據共享平臺,一方面滿足專業型用戶對歷史數據的科研需求;一方面滿足非專業型用戶對實時動態數據的生活需求。同時,本平臺將科學數據可視化的技術應用到氣象領域,使得原本復雜、海量、晦澀的數據轉變成直觀的二維可視化顯示,有效幫助氣象工作者分析氣象數據和在短時間內做出準確的判斷,為氣象預報業務提供全面快速的決策支持信息。
本網站采用結合三層架構的B/S結構,B/S結構,即瀏覽器/服務器結構,是隨著Internet的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,主要事務邏輯都在服務器端實現,可極大提高服務器端數據的安全性和網站的可擴展性[3]。通過本網站,非專業型用戶可以了解城市氣象監測信息以安排日常生活,專業型用戶可以下載城市歷史氣象數據以應對科研需求,不受時間和空間的限制。網站的體系結構如圖1所示。

圖1 網站的體系結構
本網站主要包含以下功能:
(1)用戶管理:包括用戶基本信息的錄入、注冊、登錄、注銷等功能模塊。用戶根據自己的需求,填寫個人基本信息,申請不同的用戶權限,待管理員通過之后,即可檢索和下載相應權限下的氣象數據。
(2)數據檢索:根據不同的用戶權限,基于臺站名稱、臺站編號、氣象要素、行政單位、時間等條件實現氣象數據的檢索,還可以從百度地圖中框選臺站(通過畫圓,畫多邊形和畫矩形)實現臺站信息的選擇。用戶可閱讀“數據集描述說明”,了解數據的基本信息,如氣象要素、歷時、缺失值、地理空間范圍等。實時數據檢索提供某個或者某些站點近一周內的氣象數據,便于非專業型用戶規劃衣食住行,歷史數據檢索提供某個或某些站點在某一歷史時段內的歷史數據,便于專業型用戶進行科學研究。
(3)數據下載:根據不同的用戶權限實現歷史數據、實時數據的下載。
(4)可視化服務:包括實時數據的圖表化表達和氣象要素空間插值等功能模塊。用戶可查看某一時間段內某個或某些站點的氣象要素的折線圖、柱狀圖等,也可以根據多個站點的氣象要素信息,選擇不同的空間插值方法(如反距離加權插值、樣條插值法等)對氣象要素進行插值,獲得某氣象要素空間分布圖。

圖2 來安、滁州、儀征、六合溫度變化折線圖
本網站采用apache2.2作為web服務器,后端采用zend studio作為開發環境,使用php作為后端開發語言,前端采用DreamweaverCS6作為開發平臺,使用html、css、javascript作為前端開發語言,前后端交互使用ajax,數據庫使用Mysql。
通過python編寫代碼,從公開網站http:// flash.weather.com.cn/dsk/101060205.xml中實時動態抓取全國2566個基準地面氣象觀測站點的數據,包括日平均氣溫、平均相對濕度、平均風速、平均風力和降水量等氣象要素,氣象站點多且覆蓋全面。該方法利用多線程技術實現同時獲取、捕捉異常并抓漏值、精準定時啟動等目標,使得數據獲取簡單,同時也保證了數據的準確性。
服務器端數據庫的設計依照Web數據庫理論和網站需求,共設計了4張表:
省份站點表station:站點與省份的對照表,字段包括省份名稱、省份編號、站點編號、站點所在經度、站點所在緯度、站點所在海拔高度等。
實時氣象數據表current:只保存從當前時間開始到前一周的數據,表中的數據一小時更新一次。表中的字段包括站點名稱、站點編碼、省份編碼、時間、各氣象要素數據、用戶權限等。
歷史氣象數據表history:從2013年開始存儲氣象數據至今,表中的數據一小時增加一次,不斷累積。表中的字段包括站點名稱、站點編碼、省份編碼、時間、各氣象要素數據、用戶權限等。
用戶信息表user:用于存儲用戶注冊信息,字段包括用戶名、密碼、用戶權限等。
通過SQL語言對Mysql數據庫進行增刪改查,設計出各個功能模塊的Web應用程序(B/S)模式。
城市氣象觀測數據是氣候模式研究和科學預報決策服務中重要的數據源,與人們的日常生活息息相關,本文針對不同的用戶需求,設計了一款氣象觀測數據共享平臺,為氣象觀測數據在不同需求下的Web應用提供了一個較好的案例。
參考文獻
[1]王若曈,黃向東,張博,王建民,羅兵.海量氣象數據實時解析與存儲系統的設計與實現[J].計算機工程與科學,2015,37(11):2045-2053.
[2]毛炳文.大數據時代的氣象水文信息保障[J].科學時代,2014,(14).
[3]朱麗娟.基于B/S的三層架構精品課程網站的設計與實現[J].計算機與現代化,2012(7):124-131.
林婷,助理工程師,現供職于江蘇省產品質量監督檢驗研究院,主要從事產品質量檢驗、研究、管理工作,研究方向:計算機科學與技術。
作者簡介: