姜青山
摘 要:随着移动互联网的迅猛发展,人们获取气象信息的方式及对信息的需求也发生了很大的变化,单方面被动的接收日常的天气预报及气象推送短信服务已经不能满足需求了。人们不仅希望能及时获取天气变化,而且对气象数据及其更新频率有着更高更快的要求。此外,气象爱好者们也希望多一些渠道增强其对气象知识的了解,更进一步的与他人进行交流分享等,可是目前软件市场上暂时还没出现以用户为主导的气象移动端软件。因此,本项目拟设计开发一款互动与分享型的气象科普手机客户端APP,除了提供传统的气象信息服务外,还提供学习、分享和交流各种气象知识的机会。
该气象互动的手机客户端软件主要提供气象信息的上传与发布以及用户间交流互动等功能,主要包括天气预报、气象词条,交流社区和个人主页四个部分。为了设计开发该客户端,主要运用了以下技术。
关键词:气象预报服务;应用开发;编程;系统搭建
1 主要技术路线
本项目采用移动互联网技术,主要分为服务器和客户端两部分。为了满足移动互联网的特点,服务器主要采用以下技术:
1.1 采用阿里云技术,多区域分布式部署
移动互联网用户分布广且散,全国各地用户都可以下载该软件查看天气,因此,为满足不同地区的用户需求,就要多地部署服务器,让用户就近快速访问,提高用户使用体验,也节省了带宽资源。对于同一地区,如果用户量过大,单台服务器性能有限不能满足需求,要使用多台服务器分布式部署同时对外提供服务。
1.2 采用redis内存数据库作为高速缓存
服务器端数据管理使用专业的数据库软件,数据最终是存储在读写速度较慢的磁盘中,因此数据库的读写速度有限,不能够满足高峰期用户访问的需求。为了缓解这一问题,将热点数据提前提入缓存,在用户请求时,直接从内存中返回,可大大提高数据读取速度。
1.3 异步写数据库
在用户对于热门话题进行评论时,短时间内会有大量的写操作,如果直接写入数据库,对数据庫会造成很大的压力,响应速度变慢,甚至会影响到正常的数据读取。为了解决这一问题,本项目采用异步写入数据库,当有写数据库的请求时,先把要写的数据存到队列中,再由后台程序慢慢写入数据库。
1.4 双机互备容灾
为了提高服务的可靠性,设计采用双机互备技术。同一地区部署两份以上的相同服务,同时对外提供服务,正常情况下以一台为主,当主服务器出现问题时备用服务器自动切换为主服务器对外提供服务,这样可以在不终止服务的情况下,修复故障服务器,从而提高系统的可靠性。
2 技术难点
此项目具有以下技术难点:
2.1 服务器要求高
要确保何时何地都能迅速打开软件和用户成功上传图片,这对带宽和服务器容量要求都很高。因此,要在节省成本的同时,要合理的规划服务器布局和资源分配。
2.2 平台开发较难
实时交流互动对服务端的开发要求较高,不仅服务器端口要迅速响应,而且要保证程序运行稳定,否则会经常出现数据加载不成功或加载过慢的情况,严重影响用户体验。
2.3 UI设计不易
现在用户对移动端的要求越来越高,要开发一个成功的手机客户端,除了要满足用户需求的功能版块设计外,还要有简洁大方的外观界面。
2.4 软件开发复杂
由于特殊的运行环境限制,客户端开发既要满足用户的需求开发出完整的功能模块,又在要其运行时不要占用太多的资源,同时还要保证软件在使用时流畅稳定降低系统崩溃率。
2.5 软件升级维护
软件发布后要对其进行后期的维护和升级,如用户量激增、访问量激增、网络抖动不可访问、服务器宕机等,为此要做好服务器监控,随时了解系统的运行状态。
3 实施方案
项目的实施方案主要从以下几个方面来完成。
首先申请linux主机搭建nginx web服务器,为客户端提供http web服务。采用golang语言开发气象百科、互动社区以及用户中心的web服务接口,为客户端提供实时数据。申请一台图片服务器,供客户端上传和下载图片使用。开发一个手机客户端软件,该软件包括气象百科、用户社区及个人中心等几大模块为用户提供服务。客户端通过http协议与后端服务器通信交换数据,数据为json格式。软件采用swift语言开发,开发完成通过测试后,发布上线。
4 客户端相关的主要技术
客户端的开用到以下技术。
4.1 IOS操作系统
相对于Android系统来说,IOS对应的硬件种类较少系统流畅,开发较为方便,不用在兼容性上花费太多时间,API也相对简单易用,学习成本较低。
4.2 swift语言
苹果公司最新发布的IOS开发的新一代语言,与Object-C相比,语法简单智能。
4.3 通信协议
通信协议。客户端与后台采用http通信协议,数据格式采用json格式传输。
5 结语
应用的开发与服务器的搭建完成以后,还有一些比较重要的问题需要解决。软件推广。由于该软件不是一个用户刚性需求的软件,因此要想方法推广该软件让更多的用户下载并使用。另外还有产品运营。及时更新内容及创办相关活动吸引用户持续使用该软件,如气象摄影大赛、有奖知识竞答以及参观气象局等。
参考文献:
[1]郝颖婕,郁舒兰.基于iOS系统手机APP界面设计研究[J].家具与室内装饰,2016,04:70-71.
[2]邱灿清.基于IOS的智慧生活信息服务平台设计与实现[J].无线通信技术,2015,04:44-48.
[3]胡江,王阳.基于iOS和SensorTag的数据采集系统设计[J].浙江万里学院学报,2016,01:92-96.