APP下载

基于Android的决策气象服务系统的设计与实现

2016-02-23傅仁壮吴坤悌符传博苗卫东

计算机技术与发展 2016年8期
关键词:客户端气象智能手机

傅仁壮,吴坤悌,符传博,苗卫东,陈 亮

(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

0 引 言

近年来,随着移动互联网技术的快速发展和智能手机的迅速普及,人们越来越热衷于通过手机获取实时信息。研发智能手机气象客户端服务能够满足大众需求,也是气象科技服务可持续性发展的必然趋势。

国内外气象科研人员在气象与移动互联网相结合这方面做了不少工作。刘文等[1]在Android平台上设计实时预警信息推送系统;张振涛等[2]设计的公共气象产品制作系统在智能手机气象服务中取得了较好的应用;钱峥等[3]利用Java等语言开发了智能终端的气象信息服务产品;王莹等[4]利用VS和Android环境编程对手机气象服务系统进行了设计与实现;L.Herrera等[5]在iPhone平台上开发了实时获取自动气象站数据的系统;G.Crowley[6]在Android平台上开发了一款能够展示空间气象数据的软件。

研究人员对气象服务智能手机客户端的研究在实际应用中都发挥了比较重要的作用。但是现有的大多数客户端气象产品功能单一,服务内容相似,已经很难满足多元用户群体及多元化的信息服务需求。另外,海南省还没有面向决策用户的气象客户端服务产品。因此,开发一套服务产品丰富、系统界面友好、全省统一的决策气象服务智能手机客户端,向政府及相关部门提供准确、及时、高效的决策气象信息迫在眉睫。

1 系统环境

智能终端主要包括智能手机和平板电脑。它可以通过安装第三方应用软件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、图片加文字等形式展示出来。

3 关键技术研究与实现

传统的移动气象服务客户端大都是用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台风路径图

4 结束语

决策气象服务系统结合了气象服务信息和智能手机,其上百种产品通过文本文字、图片、动画、绘图等形式在智能手机上展示出来,满足了海南决策气象服务的需求,以及个性化、本地化的气象手机客户端产品自主研发的诉求。系统界面友好、可扩充性较强、安全性能好,能为各级政府和相关部门提供准确、及时、高效的决策气象信息。另外,系统具有短信预警和错误日志自动上报等监控功能,减少了人力监控资源。截止目前,该系统已在政府部门正式投入业务运行,运行期间系统具有较高的稳定性和可靠性。

[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

猜你喜欢

客户端气象智能手机
智能手机是座矿
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
气象树
《内蒙古气象》征稿简则
使用智能手机增大肥胖风险?
大国气象
美丽的气象奇观
热门智能手机应用