傅仁壯,吳坤悌,符傳博,苗衛東,陳 亮
(1.海南省氣象服務中心,海南 海口 570203;2.海南省南海氣象防災減災重點實驗室,海南 海口 570203;3.海南省氣象臺,海南 海口 570203)
基于Android的決策氣象服務系統的設計與實現
傅仁壯1,2,吳坤悌1,2,符傳博2,3,苗衛東1,陳 亮1
(1.海南省氣象服務中心,海南 海口 570203;2.海南省南海氣象防災減災重點實驗室,海南 海口 570203;3.海南省氣象臺,海南 海口 570203)
隨著智能手機的迅速普及,人們更加熱衷于通過智能手機獲取實時的氣象信息。但現有的大多數客戶端氣象產品很難滿足多元化信息服務的需求,并且海南省還沒有面向決策用戶的氣象客戶端服務產品。針對這一需求,使用Java編程語言將氣象服務信息和智能手機終端相結合用于開發決策氣象服務系統。簡要介紹系統的整體結構和智能手機客戶端的設計,詳細闡述了開發智能手機客戶端所應用到的關鍵技術,主要包括智能云推送管理技術、版本管理技術、模塊組件化技術及GIS和氣象相結合技術。該系統已經投入使用,結果表明,該系統包含多種移動氣象服務信息產品,政府部門不再受到時間和空間的限制,隨時隨地都能獲取氣象服務信息,同時該系統具有較高的穩定性和可靠性。
Android;決策;Java;智能手機;GIS
近年來,隨著移動互聯網技術的快速發展和智能手機的迅速普及,人們越來越熱衷于通過手機獲取實時信息。研發智能手機氣象客戶端服務能夠滿足大眾需求,也是氣象科技服務可持續性發展的必然趨勢。
國內外氣象科研人員在氣象與移動互聯網相結合這方面做了不少工作。劉文等[1]在Android平臺上設計實時預警信息推送系統;張振濤等[2]設計的公共氣象產品制作系統在智能手機氣象服務中取得了較好的應用;錢崢等[3]利用Java等語言開發了智能終端的氣象信息服務產品;王瑩等[4]利用VS和Android環境編程對手機氣象服務系統進行了設計與實現;L.Herrera等[5]在iPhone平臺上開發了實時獲取自動氣象站數據的系統;G.Crowley[6]在Android平臺上開發了一款能夠展示空間氣象數據的軟件。
研究人員對氣象服務智能手機客戶端的研究在實際應用中都發揮了比較重要的作用。但是現有的大多數客戶端氣象產品功能單一,服務內容相似,已經很難滿足多元用戶群體及多元化的信息服務需求。另外,海南省還沒有面向決策用戶的氣象客戶端服務產品。因此,開發一套服務產品豐富、系統界面友好、全省統一的決策氣象服務智能手機客戶端,向政府及相關部門提供準確、及時、高效的決策氣象信息迫在眉睫。
智能終端主要包括智能手機和平板電腦。它可以通過安裝第三方應用軟件APP實現一些特定的功能,從而滿足人們的需求。當然,移動氣象服務系統也可以通過它來實現。Android是由Google和開放手持設備聯盟開發的一個基于Linux的開源手機操作系統[7-10],主要應用于智能終端。Android平臺最大的優點是對第三方軟件完全開放[11-12],也是移動氣象服務應用系統開發的最佳選擇。系統的開發環境是MyEclipse8.5,JDK1.6,采用的開發語言是Java,因為Java是一種跨平臺應用軟件的面向對象的程序設計語言,且具有簡單易用等優點。系統的數據庫采用SQL Server 2008。
2 系統總體結構
系統主要分為四個部分:氣象數據采集系統、氣象數據存儲系統、Web氣象服務系統、智能手機客戶端。系統結構如圖1所示。
(1)氣象數據采集系統。
氣象采集系統根據自身需要的數據定時地獲取數據源,然后進行相應的解析、轉換,并存放在SQL Server 2008數據庫或者自定義的文件目錄中。
(2)氣象數據存儲系統。
氣象數據存儲系統主要包括數據庫和文件系統兩個部分。該系統存儲氣象數據的主要來源是數據采集系統所采集、解析及轉換后的數據,并及時提供給Web氣象服務系統進行訪問。
(3)Web服務系統。

圖1 系統結構
Web服務系統是一個可以向用戶提供請求/應答的應用程序,可以實現大小平臺搭建的基礎級框架,也能夠快速實現模塊化的動態升級,能夠實現氣象業務功能。它可以和SQL Server數據庫連接,提供相應的API接口,為客戶端提供各類專業氣象信息、定制化展現服務以及實現全自動化氣象信息的推送;它也能夠獲取客戶端定制化展現數據、GPS定位等相關的應用信息,上傳反饋數據,提供注冊、登陸和用戶數據應用接口,提供用戶統計數據獲取功能;管理用戶權限和用戶資料,并提供驗證用戶身份功能,收集用戶基本屬性和用戶行為數據的歷史記錄信息,然后將用戶數據獲取模塊收集到的信息,以用戶和設備為單位進行匯總、整理和初步分析,為統計報表模塊、計費系統提供數據支持;對系統產品等方面提供針對相關業務的管理。
(4)智能手機客戶端。
這里所指的智能手機客戶端就是一個氣象信息App的應用程序,客戶端把各種氣象信息產品集合在一起,滿足人們對氣象信息的需求,也可以把用戶的一些請求發送回服務器,和其他智能手機軟件一樣,它也支持用戶鑒權,地圖的放大縮小,重力感應旋轉,手勢識別,在線版本自動升級,錯誤日志自動反饋等功能。
該智能手機客戶端既能充分體現智能手機的硬件特性,又能為政府提供高性能的氣象服務信息。客戶端自底向上一共分為三層(見圖2):后臺管理層、數據處理層和基礎應用層。

圖2 客戶端功能結構圖
后臺管理層主要包括版本檢測與升級管理模塊、錯誤日志管理模塊、數據管理模塊、信息推送管理模塊、身份授權認證模塊、系統安全監控模塊、系統配置模塊、系統分析模塊等;數據處理層主要負責數據的采集、解析、轉換、分發等功能,包括數據采集模塊、數據加工模塊、數據分發模塊等。基礎應用層利用Android提供的各種組件API接口進行設計實現[13-15],主要是氣象服務產品的應用,包括災害預警模塊、重大快報模塊、重要專報模塊、臺風路徑模塊、綜合服務模塊、實況資料模塊等上百種產品,它們主要以動畫、文本文字、Word、圖片加文字等形式展示出來。
傳統的移動氣象服務客戶端大都是用J2ME(Java Platform Micro Edition)平臺開發。該平臺雖然對硬件設備的要求較低,但現在智能手機的性能有大幅度的提高,硬件的要求不再是開發的主要難題,反而是應用J2ME平臺開發的系統受到了系統架構的限制,不能發揮高性能智能手機的自動放大縮小、重力感性效果、GPS地圖跟蹤以及多線程技術等的優勢。文中系統結合4 G帶寬網絡和智能手機特有的高性能硬件特性進行開發,需要解決以下幾個關鍵技術。
3.1 系統管理技術
系統管理主要包括推送管理和版本管理。正常情況下推送信息到APP上用的是HTTP輪詢的方式,該方式的缺點是占用流量大,比較耗電。文中采用的智能云推送技術的原理,是指在智能手機中采用比APP更底層的中間件來處理與網絡側的連接,有更新信息到來時,不需要開啟智能應用軟件,中間件會自動推送信息到相應的應用軟件。智能云推送技術的優點是電量消耗小,能夠使用戶隨時隨地享受推送服務,能將用戶感興趣的消息通知和內容實時推送到手機(見圖3)。版本管理主要是指軟件版本的自動檢測和更新的管理。從系統研發到試運中內容的完善和Bug的修復需要不斷升級新版本,系統的在線更新是提高研發效率必不可少的條件。文中系統采用的軟件版本管理的原理是通過自動對比移動終端和服務器端的版本號,當版本號不一致時客戶端會自動提醒用戶升級。
3.2 模塊組件化技術
隨著計算機技術的快速發展,應用系統變得越來越復雜。如果不將系統切分成多個獨立的模塊,那么后期的系統維護、調試以及二次開發等相關問題很難展開。文中采用的組件技術是Java的JavaBeans技術,該技術比較成熟且應用廣泛。利用組件技術把軟件分為后臺管理層、數據處理層,基礎應用層三層軟件模型。這是一個分布式的系統,數據處理層和面向用戶的基礎應用層直接分離,用戶直接可以在基礎應用層操作軟件,無需知道具體的數據如何處理,存在哪里。組件化技術的優點是保證系統的最大復用能力及擴充系統的最小影響性;通過綜合云管理平臺都可以對客戶端進行調整;可以對每個功能模塊進行統計分析,分析用戶訪問習慣。

圖3 信息推送圖
3.3 GIS和氣象相結合的技術
GIS(地理信息系統)是一種非常重要的空間信息系統,能夠更加形象地顯示氣象信息,且氣象信息從根本上講也是地理信息。因此,GIS和氣象相結合已成為氣象應用發展的必然趨勢。
GIS在Android平臺上的免費接口是Google Maps,利用該接口提供的地圖信息,開發基于GIS的臺風路徑信息產品。通過XML數據轉換獲取相應的臺風信息,采用圖形顏色函數Color、文本函數DrawText、圖形繪制函數DrawCircle、線段繪制函數DrawLine來組合展示出具體的臺風路徑,如圖4所示。

圖4 GIS臺風路徑圖
決策氣象服務系統結合了氣象服務信息和智能手機,其上百種產品通過文本文字、圖片、動畫、繪圖等形式在智能手機上展示出來,滿足了海南決策氣象服務的需求,以及個性化、本地化的氣象手機客戶端產品自主研發的訴求。系統界面友好、可擴充性較強、安全性能好,能為各級政府和相關部門提供準確、及時、高效的決策氣象信息。另外,系統具有短信預警和錯誤日志自動上報等監控功能,減少了人力監控資源。截止目前,該系統已在政府部門正式投入業務運行,運行期間系統具有較高的穩定性和可靠性。
[1] 劉 文,杜景林.基于LBS的氣象預警Android平臺設計[J].湖北農業科學,2014,52(24):6161-6165.
[2] 張振濤,張正文,陳 宇,等.基于天氣事件的公共氣象服務產品制作系統[J].應用氣象學報,2014,25(2):249-256.
[3] 錢 崢,趙科科,許皓皓.基于Android的移動氣象信息服務系統設計與實現[J].氣象科技,2014,42(1):99-103.
[4] 王 瑩,巨曉璇,李建科,等.基于Android智能手機氣象服務系統的設計與實現[J].河南科技,2013(4):18-19.
[5] Herrera L, Mink B, Sukittanon S.Integrated personal mobile devices to wireless weather sensing network[C]//Proc of IEEE southeast con.North Carolina:University of North Carolina State Press,2010:127-131.
[6] Crowley G, Haacke B, Reynolds A.Realtime space weather forecasts via Android phone app[C]//Proc of American geophysical union fall meeting.Washington:University of Washington Press,2012:131-134.
[7] Nitin P,Nilay M.Review of behavior malware analysis for Android[J].International Journal of Engineering and Innovative Technology,2013,2(7):230-232.
[8] Miller B P,Fredriksen L,So B.An empirical study of the reliability of UNIX utilities[J].Communications of the ACM,1990,33(12):32-44.
[9] Ongtang M,McLaughlin S,Enck W.Semantically rich application-centric security in Android [J].Security and Communication Networks,2012,5(6):658-673.
[10] 王菲飛.基于Android平臺的手機惡意代碼檢測與防護技術研究[D].北京:北京交通大學,2012.
[11] 蓋索林,王世江.Android開發入門指南[M].北京:人民郵電出版社,2009:2-6.
[12] 吳亞峰.Android核心技術與實例詳解[M].北京:電子工業出版社,2010:3-11.
[13] 雷桂蓮,黃芬根,金勇根.WAP Push在江西氣象預警信息發布平臺中的應用[J].氣象科技,2009,37(5):593-596.
[14] 王遂纏,孫林花.基于Internet平臺的災害性天氣預警信號及氣象信息發布系統[J].氣象科技,2007,35(2):295-298.
[15] 易 翔,吳 蒙.基于Android和Zigbee的監控系統的實現[J].計算機技術與發展,2015,25(6):234-236.
Design and Implementation of Decision Making Meteorological Information Service Platform Based on Android
FU Ren-zhuang1,2,WU Kun-ti1,2,FU Chuan-bo2,3,MIAO Wei-dong1,CHEN Liang1
(1.Hainan Province Meteorological Service Center,Haikou 570203,China;2.Key Laboratory of South China Sea Meteorological Disaster Prevention and Mitigation of Hainan Province,Haikou 570203,China;3.Hainan Meteorological Observatory,Haikou 570203,China)
With the rapid popularization of smart-phones,people are more interested in smart-phones for real-time weather information.But most existing client meteorological products are difficult to meet the needs of diverse information service,and Hainan Province has not the client service products of weather oriented decision user.To satisfy this requirement,using the Java language,a decision making meteorological information service platform is developed by a combination of meteorological service information and intelligent mobile terminal.The design of the platform architecture and client applications of this platform is introduced.The key technologies of developing smartphone client application are elaborated.Issues such as intelligent cloud push management,version management,module assembly technology and the combination of GIS and meteorological research techniques are discussed in detail.The system has been put into practice.The result shows that this platform includes a variety of innovative mobile meteorological information service.From that,government departments are no longer limited by time and space to get the meteorological service information at any time and it has high stability and reliability.
Android;decision making;Java;smart phones;GIS
2015-11-23
2016-03-04
時間:2016-08-01
海南省氣象局科技創新項目(HNQXQN201507);華南區域氣象中心科技攻關項目(GRMC2014M17);海南省自然科學基金(20154182)
傅仁壯(1987-),男,碩士,研究方向為氣象業務系統開發及維護;吳坤悌,高級工程師,研究方向為應用氣象。
http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0904.028.html
TP31
A
1673-629X(2016)08-0125-04
10.3969/j.issn.1673-629X.2016.08.026