李永花 (青海省氣象信息中心,青海西寧 810001)
?
青海氣象服務移動應用系統設計與實現
李永花(青海省氣象信息中心,青海西寧 810001)
摘要針對青海氣象公共服務的現狀,研究并實現了一套氣象服務移動應用系統。該系統通過將ArcGIS技術、Sqlite.Swift技術、Alamofire、流量壓縮、數據加密技術等應用于設計與研發過程,實現了青海氣象天氣預報、天氣實況、災害預警、衛星云圖、公共氣象服務產品等實時信息的動態展示、快速查詢,將基于互聯網+移動APP服務模式應用于氣象公眾服務領域,豐富了氣象服務手段,提高了青海氣象公眾服務質量。
關鍵詞移動APP;氣象服務;Swift
隨著3G/4G應用和智能手機的普及,借助飛速發展的移動互聯網技術,將PC應用移植到移動端,在提高信息傳遞效率的同時,有效保障氣象災害快速預警能力是目前氣象公共服務的研究熱點和重點應用領域。目前移動互聯網已在氣象行業開始應用,但這些應用主要集中在普通的氣象預報信息的發布[1-4],缺乏針對專有行業服務、政府決策服務的實時氣象觀測數據以及專業氣象服務產品的移動應用系統。
青海省氣象信息中心承擔全省氣象信息的加工處理、氣象災害的監測預警以及氣象信息的實時發布等工作,根據現有信息中心業務的現實情況,在滿足信息中心業務實時性與靈活性需求的同時,針對各類業務與氣象數據集成環境下的應用,定制個性化的需求,并保障技術的可行性,從而提高氣象公眾服務的業務處理效率和信息化水平。該研究通過對氣象行業基于移動應用的國內外現狀[1-5]調研分析,研究了青海省氣象信息化水平及目前公眾服務需求,設計并實現了青海氣象服務移動應用系統,為政府防汛辦、應急辦進行氣象防災減災提供了較為精確的決策支持和豐富的氣象服務手段。
1系統體系架構
以青海省氣象信息中心為試點,根據其業務的需求,主要針對天氣預報、天氣實況、災害預警、衛星云圖、服務產品5部分功能進行規劃,并選用IPad終端進行設計和實現,采用基于IOS的移動應用開發技術對多個版本的IOS操作系統實現了兼容,應用與后臺服務之間協議統一[6]。
系統在基礎應用軟件(包括操作系統軟件、數據庫軟件、WEB服務器軟件)的支撐下,通過系統綜合平臺高質量的代碼保證其上的各種復雜的管理功能和業務功能的長時間連續穩定運行,有效滿足業務處理對實時性及并發訪問的需要,對軟件開發涉及的開發工具、技術路線及運行環境進行了全面分析,在考慮技術先進性的同時,選擇了成熟穩定的技術,保障平臺的可靠實施運行[7]。
該系統根據其具體需求的復雜度,選用C/S(Client/Server)結構,應用MVC模式得以實現,降低了軟件的開發工作量,這樣不但具備了系統穩定、安全、處理能力高等特性,同時擁有了可擴展性強、開發周期短等優點。該系統體系結構如圖1所示。
該IOS客戶端主要包含控制器、頁面、服務器端、手機數據庫、服務器端數據庫、模型等6部分。按照MVC模式劃分層次結構,頁面屬于表示層,控制器和服務器端屬于控制層,手機數據庫、服務器端數據庫和模型屬于業務邏輯層。表示層通過采用繼承界面父類(UIView類)的各種擴展子類所形成的界面來控制數據的顯示和接收。控制層采用了繼承控制器父類(UIViewController類)的各種擴展子類所形成的控制器來加載表示層的頁面,通過控制業務層與服務器進行交互等流程上的處理。業務邏輯層采用了繼承父類NSObject的各種子類,是具體業務邏輯的方法實現,主要功能包括數據持久化(包括對數據庫、文件的操作)、業務邏輯處理等。表示層和控制層之間使用代理(Delegate)模式進行實現,代理模式主要負責實現表示層與控制層之間的數據傳輸。業務邏輯層與控制層之間使用觀察者(Observer)模式進行實現,主要負責對特定數據元素進行監聽,當數據發生改變時會及時地通知表示層做出相應的展示。
2系統設計原則
2.1系統擴展性在系統設計和開發過程中,采用的基于SOA的系統結構應該是先進的、開放的體系結構。在系統架構設計中采用模塊化設計,通過對各個模塊進行組合實現業務需求的擴充。
2.2系統安全性在系統設計和開發過程中,對系統安全性和可靠性方面進行了綜合考慮,在系統每一階段均考慮了數據安全性、傳輸安全性等因素。
2.3運行穩定性系統業務化運行必須保持長時間連續穩定運行,因此在該系統的技術路線選型時選擇了當前成熟的Java語言作為系統開發工具。
2.4開放性任何系統都不是孤立的,存在著與其他各種類型系統的接口。在系統設計中均采用業界標準,便于日后與其他系統的連接。
2.5易維護性在滿足氣象信息類業務的基礎上,著重對系統操作維護進行優化設計,最大程度滿足對今后維護工作的簡便性。
3系統功能簡介
3.1實況觀測通過數據列表、基于GIS數據的可視化展示,展現了青海氣象自動站實時觀測資料,展示信息包括天氣情況、最高溫度、最低溫度、風力、風向、濕度、溫度、氣壓、降水等相關信息。該模塊通過將各要素與氣象預警指標進行比較,為業務人員進行預警提供數據支持,同時以GIS的方式展現當前時段全省的降水分布圖、全省最高溫度實況分布圖、全省最低氣溫實況分布圖等[7]。同時提供當前時間點的日降水、1~12 h常規降水、旬降水、月降水、年降水等,氣溫則可以展現當前時間點的小時溫度、1~12 h常規變溫、日變溫、日最高溫度、日最低溫度、月平均溫度、年最高溫度、年最低溫度等的色斑圖[8]。
3.2災害預警該模塊實現基于GIS地圖的災害預警信息展示,并按災害的不同等級在地圖上對災害預警的行政區域進行高亮閃爍預警提示,同時在GIS地圖上顯示災害預警概況信息,點擊詳細信息提示按鈕可查看相關預警的詳細信息[9]。
3.3查詢統計該模塊按地市、按時間等條件查詢或統計各觀測站點的實時數據,并以GIS地圖的方式進行查看。同時,還支持相關報表的導出。
3.4衛星云圖該模塊提供紅外1、紅外2、紅外3、可見光等衛星云圖數據的播放、暫停、單幀播放等功能。
3.5氣象服務該模塊按照氣象公共服務產品類別,提供對氣象預報、中長期氣候分析報告及針對農業、交通、水利、電力、國土地質等行業的專業服務產品的展示和查詢功能。
4關鍵技術分析
為了保障氣象服務移動應用系統的業務化運行,提升青海省氣象局公共氣象服務水平,在該系統的設計與開發過程中使用了以下關鍵技術。
4.1ArcGIS for IOSArcGIS for IOS結合ArcGIS Server或ArcGIS Desktop的強大GIS功能,能夠將移動應用與企業內GIS系統集成進行數據展示、空間分析,使用戶可通過多元的移動終端(智能手機、掌上電腦、平板電腦等)訪問公共或企業內部的空間信息資源,同時基于集成的定位技術提供數據采集的高效性和準確性[10]。該系統使用了ArcGIS for IOS的第三方技術,實現了天氣預報、災害預警等氣象查詢業務在GIS方面的需求。
4.2SQLite.SwiftSQLite.Swift是一個使用純Swift語言封裝SQLite3的操作框架,通過簡單的查詢和參數綁定接口進行安全的數據訪問[11]。該系統通過使用SQLite.Swift技術,將數據在IPad終端上進行存儲和緩存,有效地提高了使用上的連續性,減少了卡頓等不良的體驗,同時也一定程度上減少了對服務端請求對頻率,提高系統的整體性能。
4.3AlamofireAlamofire是Swift語言的HTTP網絡開發工具包,功能強大,支持各種HTTP Method、JSON、文件上傳、文件下載和多種認證方法,這些方法基本可以滿足Swift平臺上的網絡編程開發[12]。該系統使用了Alamofire技術實現了高性能、高效率、高可靠性的HTTP請求,應用于從服務器上獲取數據和文件。
4.4流量壓縮該系統為了增強數據傳輸效率,在傳輸內容上盡可能地壓縮數據流量。在實現技術上通過判斷應用連接網絡的質量,根據網絡特點,針對網絡狀態不良的情況使用GZip壓縮技術自動進行數據壓縮,提高數據傳輸效率和減少流量,并采用適合的傳輸協議提高協議有效載荷。
4.5數據加密系統為保證傳輸數據的信息安全,對傳遞數據進行加密,主要采用信息—摘要算法(Message-Digest Algorithm 5,MD5)與TEA加密結合的方式進行加密。MD5算法作為一種不可逆的加密手段,采用讓大容量信息在用數字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式,同時基于二次MD5加密密鑰與明文組合后,再進行Base64編碼和TEA加密,從而提高密文的復雜度和安全性。TEA加密算法作為一種分組密碼算法,利用不斷增加的Delta(黃金分割率)值作為變化,使得每輪的加密不同,該加密算法的迭代次數可以改變,建議的迭代次數為32輪,具有很強的抗差分分析能力,安全性較高。
5結論
該研究針對青海氣象公共服務的現狀,研究并實現了一套氣象服務移動應用系統。該系統通過將ArcGIS技術、Sqlite.Swift技術、Alamofire、流量壓縮、數據加密技術等應用于設計與研發過程,實現了青海氣象天氣預報、天氣實況、災害預警、衛星云圖、公共氣象服務產品等實時信息的動態展示、快速查詢,將基于互聯網+移動APP服務模式應用于氣象公眾服務領域,在氣象領域智能化和信息化建設方面進行了有效的探索,豐富了氣象服務手段,極大地提高了公共氣象服務業務人員的日常工作效率,提高了青海氣象公眾服務質量。
參考文獻
[1] 王建森.基于3G移動通信技術的氣象信息服務應用研究[J].計算機與網絡,2010,36(8):67-70.
[2] 張延龍.3G氣象服務平臺研究[J].現代電子技術,2010,33(24):43-44.
[3] 翟宇波.基于J2ME的智能手機氣象服務終端的設計[J].農業網絡信息,2007(9):64-67.
[4] 王瑩,巨曉璇,李建科,等.基于3G的C/S模式掌上移動氣象服務系統[J].陜西氣象,2013(3):42-44.
[5] 楊偉明.基于WEB的氣象信息共享平臺的設計與實現[D].大連:大連理工大學,2014.
[6] 何登科,沈文建,吳鏈,等.基于移動互聯網的手機氣象服務客戶端軟件設計[J].湖南農業科學,2015(3):123-126.
[7] 劉旭林,趙文芳,劉國宏.基于WebGIS的氣象信息顯示和查詢系統[J].應用氣象學報,2008,19(1):116-122.
[8] 鄒建明,李迅,丁德平,等.“北京氣象”手機客戶端氣象信息GIS快速可視化技術[J].氣象科技,2015,43(4):634-639.
[9] SKORDAS I A,FRAGULIS G F,TRIANTAFYLLOU A G.A.Q.M.E.I.S.: Air quality meteorological and enviromental information system in western macedonia,Hellas[R].EprintArxiv,2014.
[10] VILLAREJO L L,CASTELL N,HERNANDO J.Dialogue management in an automatic meteorological information system[J].Lecture notes in computer science,2003,2718:477-488.
[11] CHEN Z,BAI J.The design of typhoon meteorological information system and its implementation based on webGIS[J].Process environmental sciences,2011,10(Part A):420-426.
[12] ROBINSON B R.Portable meteorological information system: US,US RE38584 E1[P].2004.
esign and Realization of Meteorological Service Mobile Application System in Qinghai Province
LI Yong-hua
(Qinghai Meteorological Information Center,Xining,Qinghai 810001)
Key wordsMobile APP; Meteorological service; Swift
AbstractAccording to the status of meteorological public service in Qinghai Province,a meteorological service mobile application system was researched and realized.ArcGIS technology,Sqlite.Swift technology,Alamofire,flow compression and data encryption technique were applied in the design and development process,so as to realize the dynamic display and quick query of weather forecast,practical weather,disaster warning,satellite cloud image,public meteorological service products and so on. Internet + mobile service mode was applied in the field of public meteorological service,so as to enrich the means of meteorological service,and to enhance the meteorological public service quality of Qinghai Province.
作者簡介李永花(1970-),女,土族,青?;ブ?,高級工程師,從事氣象信息技術應用研究。
收稿日期2016-01-26
中圖分類號S 16
文獻標識碼A
文章編號0517-6611(2016)07-206-03