广西地震信息推送与灾情收集系统的设计与实现
2017-10-11左天惠刘敬华张沛全
左天惠,刘敬华,张沛全,王 卓
(1.广西壮族自治区地震局,广西 南宁 531002; 2. 黑龙江省地震局,黑龙江 哈尔滨 150096)
广西地震信息推送与灾情收集系统的设计与实现
左天惠1,刘敬华1,张沛全1,王 卓2
(1.广西壮族自治区地震局,广西 南宁 531002; 2. 黑龙江省地震局,黑龙江 哈尔滨 150096)
为了实现震后快速发布地震信息,快速收集与发布灾情信息,节约开发成本,便于推广应用,本研究基于Openfire服务端的推送平台和灾情上报AndroidAPP软件,组成地震信息推送与灾情收集系统。本研究设计的“广西地震信息推送与灾情收集系统”APP主要有灾情信息报送、灾情数据的存储与上传,震情与灾情信息推送与收集三大主要功能模块。本APP经过广西全区多个地市地震局的试用体验后,反映良好。
地震应急; Android; 信息推送; 灾情收集
0 引言
地震系统目前在许多地区进行地震灾情收集工作,主要是通过信息人员对灾区“三网一员”人员进行电话调查、官方微博及现场应急通讯系统对灾区视频、图像等灾情信息进行获取。传统的灾情获取方式一定程度上不能及时、系统的收集和存储地震现场灾情,同时也不能将空间位置信息直观的进行展示。在震后紧张的应急期间上述问题,不利于指挥长进行科学的指挥决策和救灾队伍开展救援工作[1]。
近几年基于Android系统开发的地震应急类的APP如火如荼地进行,其中以山东、福建、浙江和湖北等省地震局所开发的地震应急灾情上报Android系统较为突出[2-3],其中湖北省地震局所开发的灾情上报信息系统的界面设计醒目,内容涵盖齐全。但由于其市场推广价较为昂贵,一般用户难以承担。因此如何开发出轻量级的、廉价的Android地震应急灾情收集系统对于广大西部省份的用户具有很强的现实意义,比如广西、贵州等。本文研究利用移动通信、数据库及计算机软件技术,以地震灾情速报和灾情收集为主要目标,建立一套基于Android平台和Openfire服务端交互工作,实现在移动终端上运行的地震信息推送与灾情收集系统。系统的研究与建设有望对今后的地震应急指挥及救援发挥积极作用。
1 相关技术介绍
1.1 Android平台
Android系统架构和其操作系统一样,采用了分层的架构,共分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。系统由操作系统、应用程序接口和应用软件构成,其中最为突出的优势就是Android平台的可开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来[4]。近年来Android系统性能稳定,版本不断推陈出新,逐渐成为移动终端市场的主流操作系统[5]。因此,本文确定基于Android系统开展地震灾情收集信息系统的开发工作,借以充分利用其拥有的广泛用户群资源,方便软件的推广与应用。
1.2 后台信息推送技术
所谓信息推送,就是“Web广播”,是通过一定的技术标准或协议,在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动传送信息给用户,来减少用于网络上搜索信息的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。本软件所使用的推送方案为第三方推送服务,即地震发生后通过使用第三方提供的XMPP即时推送服务器向安装有该APP的手机终端定向推送地震信息及其相关救灾信息。本文采用的是百度推送服务功能,由于百度推送已经提供了服务器推送管理后台页面。本文仅针对手机终端推送SDK的集成开发与本地化等进行研究开发。
1.3 数据库技术
本项目采用的数据库是开源的MySQL数据库,MySQL是一个关系型数据库管理系统。它由瑞典 MySQL AB 公司开发,目前属于 Oracle旗下公司。在Web应用方面, MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经完全能满足系统所需。更重要的是MySQL数据库是开放源码软件,可以大大降低成本。
2 系统需求分析
2.1 业务需求分析
由于地震现场应急的需求,本文针对地震应急安卓系统移动终端应用与推广等进行探索,按照“先小后大”的思路,开发具有基本应急功能的“地震信息推送及灾情上报系统”手机软件。系统建设目标最终确定为整合移动互联网、WEB2.0、LBS、3G与云计算技术的地震应急移动互联平台。在Android平台上研发具有地震定位、地震信息推送、灾情上报等功能,且具有自主知识产权的地震信息推送与灾情收集系统[6]。实现地震信息的推送与接收、处理、报警与展示,以及灾情、震情信息的查询功能。通过该四个层次共同组成一个应急信息共享与交流的平台。
2.2 功能需求分析
根据震后地震信息发布和灾情收集需求,按不同时段对系统目标功能进行划分,具体要求如表1所示:
表1 系统功能需求
2.3 性能需求分析
项目拟建设一套充分利用移动通讯技术(3G/4G/Wi-Fi), 集 成 GPS和 GIS, 运 用Web服务,系统而又专业地解决应急指挥调度与灾情快速收集评估的实用化系统。(1)客户端能够显示地图,并能随意获取地图上的经纬度坐标,详细地址等信息;(2)客户端能够获取用户联系方式,拍摄灾情照片,录制视频,录制语音文件,并使用这些文件作为采集数据;(3)客户端能够将(1)和(2)收集到的数据上传至服务器,并将这些文件保存在服务器相应的文件夹下面;(4)客户端根据当前或者选定坐标,访问服务器,搜索附近的应急避难场所,并给出到达该避难场所的路线;(5)客户端能够访问服务器,获取最近3个月的全国地震信息,并能按照时间,震级,按与用户当前位置远近进行排序。能够在百度地图上显示震源详细信息,并计算出震源与当前位置的距离;(6)服务器能够实时向客户端推送最新的地震信息并在客户端通知栏显示,客户端可以设置是否接收服务器信息,地震信息的接收级别,地震信息的接收距离;(7)服务器能够提供管理员以网页的形式查看用户上传的数据,并对用户上传的数据进行查看删除等管理操作。可实现将用户上传的文字信息,图片下载到Word文档的操作;(8)保证用户量达到1万时,仍然可以正常使用。
2.4 环境需求分析
系统部署的服务器端为目前主流的服务器配置,手机端需安卓系统4.0或 版本。
表2 系统环境配置
3 系统架构设计
本系统分为Openfire服务器和Android APP客户端两端,两端使用TCP协议进行通讯客户端和服务器端分别采用不同的软件架构技术,它们共同组合成一个服务器与用户交互的软件信息系统。Openfire服务器由四大模块构成:XMPP即时推送、网络爬虫、文件管理、数据库管理,每个模块分工明确,清晰地勾画出了各个模块所需要负责的工作,并协调一致为Openfire服务器的正常运行提供强有力的支撑。它还提供了Web网页后台进行管理,并于系统的日常维护。APP客户端主要由以下四大模块:XMPP即时推送、百度地图、数据采集、数据库管理。四大模块负责各自的工作,成为这个APP客户端的主要部分,APP提供了良好的UI人机交互界面供用户使用。系统整体设计如下图所示:
图1 系统框架设计图Fig.1 The design diagram of system architecture
4 系统主要功能实现
在经过复杂的软件开发工作之后,我们根据业务需求、系统架构和工作流程等完成整套系统前台Android APP系统与后台Openfire服务端的功能模块功能逻辑关系和数据流传递路径建立,清晰地勾画出了各个模块所需要负责的工作,并协调一致为前后台软件与服务器的正常运行提供强有力的支撑。系统主要功能分为六部分:一是地震三要素自动接收与预警(图2);二是地震救灾指令快速推送;三是灾情上报信息处理与存储;四是信息综合展示与备份;五是地震灾情上报与存储(图3);六是其他地震应急辅助服务功能,诸如地震应急避难路径优化分析、避难场所信息查询等功能。以下我们将对软件所设计的三大核心功能的实现进行介绍。
图2 震情推送功能Fig.2 The function of earthquake message pushing
图3 灾情上报功能Fig.3 The function of earthquake disaster reporting
4.1 灾情信息报送
利用客户端APP软件的灾情上报功能,速报人员可根据现场采集到的灾情,通过客户端填写相应的表单、拍摄图片、音视频等自动产生上报数据,确认后通过网络即将采集的灾情信息首先提交至手机端SQLite数据库,等系统确定监测到网络畅通后再从客户端数据库基于一种“Request—Reply”模式将数据发送至服务器端灾情数据库中,确保上报灾情信息在无网和网络差的条件下也能正常上传。
4.2 灾情数据的存储和上传
APP客户端,因地震造成通信基站损毁、网络临时中断等极端情况,用户很难立即直接将采集到的灾情信息提交到本地数据库中,需当通信网络得到恢复后将灾情信息发送至数据库服务器,系统设计并实现了自动将存储的灾情信息上传,并实现上传后所有存储在数据库中存储的数据记录全部自动清空,以释放软件所占有的资源,该功能充分利用本地SQLite数据库的资源,有效解决地震现场用户手机处于网络通信不畅的情况下灾情信息的传输的问题,具有很强的实用价值。
4.3 震情与灾情信息推送与收集
Openfire服务器端应用程序通过Servlet技术负责客户端指令进行监听与信息交互业务,当Servlet接收到客户端发送的POST请求指令后,将捕获的灾情信息通过ADO方法连接并写入服务器数据库中,同时Servlet调用HTTP类的Send函数,通过Java编写的类函数将灾情信息分发到各客户端,其他客户端便可接收到信息。还可以对用户上传的灾情数据进行查看、删除等管理操作可以将所有灾情数据导成Word格式的文件,并下载到本地。
图4 灾情信息管理平台Fig.4 The platform of disaster information management system
系统在总结地震应急工作的相关需求基础上,利用先进的Android系统平台,综合智能手机、3G/4G技术、开源GIS、开源数据库、消息推送与地图定位等技术,开发实现了一整套地震灾情上报与救灾指令快速下达等功能的服务系统。相比较与其他省局的地震灾情收集终端,本课题所开发的系统具有费用低及部署方便等优势,但也可以发现我们的系统无论是美化还是提供服务的类型都与其他省局先进的终端存在一定的差距,这也是我们课题后期将要继续努力的方向。
5 应用与体验
系统已经经过钦州市地震局、北海市地震局、防城港市地震局等应急指挥中心应急人员使用测试,测试结果表明系统运行稳定,各模块运行正常,系统框架基本满足全区地震应急灾情手机工作需求。指挥长可以根据本系统收集到的灾情信息做出科学的决策,对相关人员或资源进行合理的指挥与调度,从而提高区域应急指挥的效率和救援的能力。
6 结论
本研究设计的“广西地震信息推送及灾情上报系统”APP建立了具有较完整的现场灾情获取功能,实现采集和传输各类地震信息及其空间位置信息的文本、图片和视频文件,通过本系统的推送和上报功能,较好地实现地震灾区、前方指挥部和后方地震急指挥中心的信息互通与共享。同时该系统也可以扩展为区域大应急模式下的协同联动信息系统。经过一段时间用户使用体验,效果良好。
下一步课题组将完善该软件的各项功能,使其无论在操作性还是效率上都得到一定提升,提高用户使用舒适度,以促进软件的推广与服务。
[1] 姜立新, 帅向华, 聂高众, 等. 地震应急联动信息服务技术平台设计探讨[J]. 震灾防御技术,2011,17(02): 44-53.
[2] 董翔, 肖兰喜, 杜宪宋, 等. 基于网络的山东地震灾情收集分析处理系统[J]. 华北地震科学,2007,19(03): 188-194.
[3] 徐敬海, 徐徐, 刘伟庆, 等. 基于GIS/GSM的南京市地震灾情速报系统[J]. 南京工业大学学报(自然科学版). 2009, 27(01): 127-134.
[4] 黎林, 宋娟, 张磊, 等. 基于Android 平台的森林防火助手的研究与设计[J]. 合肥学院学报, 2013, 23(01): 45-49.
[5] 王莹, 巨晓璇, 李建科, 等. 基于Android 智能手机气象服务系统的设计与实现[J]. 河南科技, 2013, 27(02): 17-19.
[6] 帅向华, 郑向, 刘钦. 基于SMS/GPS/GIS地震灾情获取处理技术研究与实现[J]. 震灾防御技术, 2011,22(02): 127-134.
Abstract:In order to release the earthquake information after the earthquake, collect and release of the earthquake disaster information quickly, to save the development cost, and to popularly apply, this study based on Openfire server’s push platform and the disaster reporting APP by Android which is composed of the seismic information push and disaster collection system. It is a software that is named“The earthquake disaster information push and collection system of Guangxi” APP, and consist of there main function, disaster information submission, storage and uploading of disaster data, the earthquake information push and disaster information collection. The APP is reflected nice after the number of local seismological bureaus trialed and experienced in Guangxi.
Key words:earthquake emergency; Android; information push;the disaster information collection
The Design and Implementation of Seismic Information Push and Disaster Collection System of Guangxi Province
ZUO Tian-hui1,LIU Jing-hua1,ZHANG Pei-quan1,WANG Zhuo2
(1. Seismological Bureau of Guangxi Zhuang Autonomous Region, Guangxi Nanning 530022, China;2. Earthquake Administration of Heilongjiang Province, Heilongjiang Harbin 150096, China)
P315.69;P315.9
A
10.13693/j.cnki.cn21-1573.2017.03.014
1674-8565(2017)03-0078-05
2016-11-22
2017-03-01
左天惠(1982- ),男,广西省桂林市人,毕业于南京大学,研究生,工程师,现主要从事地震应急方面的工作。E-mail: zuotianhuinju@sina.com