基于Android 平台的辽宁地震速报软件设计与实现

2022-09-13 01:12殷轶娜刘静闻黄淼婉王秀木
防灾减灾学报 2022年3期
关键词:速报客户端辽宁

殷轶娜,刘静闻,黄淼婉,王秀木

(辽宁省地震局,辽宁 沈阳 110034)

0 引言

APP 是application 的缩写,通常专指手机上的应用软件,或称手机客户端。APP 开发是指专注于手机应用软件的开发与服务。Google Play 又称Play 商店,是由Google 公司为Android操作系统所开发的移动应用程序数字发行平台,它作为Android 操作系统的官方应用商店,允许用户浏览和下载使用Android SDK 开发并透过Google 发布的应用程序。Google Play 通过应用内评价(In-APP review)API 可以第一时间将APP 用户的使用反馈推送至APP 开发者,这使得众APP 开发者拥有了直面用户的机会,同时Google 较为科学和易为接受的创收策略也吸引了国内众多程序开发商将研发重心转移到Android APP 上面。2010 年,Android 平台在国内手机市场上呈井喷态势发展,APP 开发的前景极其广阔。随着搭载Google 系统的智能手机越发普及、用户对手机软件的越发依赖,APP开发的市场需求与发展前景也逐渐蓬勃。移动互联网时代是全民的移动互联网时代,是每个人的时代,APP 便捷了每个人的生活,APP 开发让每个企事业单位都开始了移动信息化进程。

当今,网络互动交流应用平台日益受到社会公众的认可,微博、微信、手机客户端等已被公众广泛使用,并取得了很好的效果。充分利用这些资源优势并结合地震信息服务的特点,为公众提供了丰富的地震信息服务。社会公众可以通过上述各种渠道及时了解地震的相关信息,并帮助公众掌握震情灾情、地震科技动向、地震科普知识等,同时运用自救互救技能还能保护自己,拯救他人生命。

1 需求分析及现状

每当地震发生后,政府、社会及地震系统相关部门,对地震三要素(地震发生的时间、地点、震级)、灾情、震后社会响应等重要的震情十分关心。所以如何迅速而且准确的发布震情相关信息,如何高效的使工作流程推进显得十分重要。只有快速发布震情信息,才能为后续的启动相关应急预案,震情分析,抗震救灾起到关键作用。

辽宁省境内有郯城—营口地震带,是我国东部大陆区一条强烈地震活动带。1668 年山东郯城8.5 级地震、1969 年渤海7.4 级地震、1974 年海城7.4 级地震就发生在这个地震带上,据记载,本带共发生4.7 级以上地震60 余次。其中7~7.9 级地震6 次;8 级以上地震1 次。所以辽宁省地震局信息中心及辽宁地震台也承担着重要的地震速报及震情发布的任务。

随着经济的发展,当前群众百姓的幸福感和安全感已经不再仅满足于衣食住行方面,而开始向更高的要求迈进,其中对地震信息情况发布相较前些年关注度更高。以往,我省地震信息仅在内部短信上发布,但对普通百姓的信息公布则相对较慢。在过去的十几年里,往往是地震过后我局值班电话因百姓过分关注而出现长时间无法连通的情况。

为有效缓解上述情况,顺应科技时代的发展要求,开发了本款APP 能够迅速向百姓推送速报信息,使百姓能够根据速报信息进行迅速撤离和避险。

2 辽宁地震速报软件系统设计

2.1 系统总体架构

基于Android 平台的辽宁地震速报智能移动终端在系统总体架构上分为三个层次,即客户端、服务器端和数据端。客户端为最终信息发布的平台,通过数据转化为JSON 展示地震数据。服务端需要通过主服务器分配的账号和密码,定时从主服务器抓取数据,然后将该数据存储到MySQL 数据库中,例如{level:3,latitude:45,longitude:150,time:20150924053011}表示的是震级、经纬度、时间。将抓取到的每条数据都存在数据库中,供客户端查询。

2.2 客户端设计

客户端通过HttpClient 这个类,发一个http的GET 请求,例如:http://your_server.com/earthquake/record/list?time=<当前时间>,Web 服务器从MySQL 数据库中查询在此时间之后的存储记录,为此段时间内发生的地震次数;客户端大概每3~5 秒请求一次,如果有新的记录,就展示出来。服务器使用PHP 可直接通过json_encode 的方式,将MySQL 中查出来的数据转化成JSON 格式,发给客户端。

图1 辽宁地震速报智能终端架构图Fig.1 Architecture diagram of Liaoning earthquake quick report intelligent terminal

2.3 关键技术

实施技术的关键在于利用MySQL 数据库中的地震事件数据,在Web 服务器中使用PHP语言编写程序,完成数据抓取并转换为JSON格式。并绘制客户端界面,把JSON 格式转成文字,展示在界面上。

(1)环境部署

服务器配置:型号为联想启天M4500-N000,显卡独立2G,内存容量4G,硬盘容量1TB,双端口网卡。

系统运行环境:RedHat Linux 64 位操作系统,分别配置内网及公网IP 地址。配置系统防火墙,开放80、3306、22 端口。

软件环境:Web 服务器:Apache/2.2.15(Unix)。语言环境:PHP5.3.3。数据库:MySQL5.1.73

(2)编程语言:PHP,JavaScript,Python

(3)软件逻辑结构图如图2 所示。

图2 软件逻辑结构图Fig.2 Software logic structure diagram

3 系统的实现

3.1 服务端

客户端通过抓取EQIM 数据库的相关数据,建立MySQL 的数据库,进行Web 服务器平台的搭建,编写PHP 程序,对地震信息相关数据进行抓取,并将数据转化为JSON 格式。

(1)建立MySQL 数据库,创建相关表,抓取EQIM 数据库地震数据。

图3 程序流程图Fig.3 Program flow chart

表1 信息表数据格式

图4 抓取地震数据Fig.4 Grab seismic data

(2)使用Python 语言,抓取EQIM 数据库地震数据,部分关键代码如下:

3.2 客户端

在客户端中,需要画出客户端界面,并将JSON 格式转成文字,展示在界面上。抓取Web服务器数据后,并转JSON 格式,使用了PHP语言,关键语句代码如下:

客户端使用Java 语言,部分客户端读取地震记录的代码如下:

3.3 软件运行过程及结果

本软件利用Android Studio 为开发工具,采用Java 语言实现了辽宁地震数据的实时推送,服务器端部署在辽宁省地震局信息中心核心机房服务器上,通过一段时间的测试运行,系统运维稳定,主要功能均已实现。

图5 软件运行界面Fig.5 Software running interface

4 结论

Android 系统手机在现代社会应用广泛,手机APP 方便下载,使用频繁。可以使人们及时得到地震信息,从而减轻了地震值班电话的负担。基于Android 的地震速报软件通过Android Studio 开发工具,在地震发生时,迅速推送事实情况,使用户迅速了解地震的位置、震级、震源深度。对工作人员对资源进行合理的指挥与调度,从而提高了救援的效率和能力。现有app 版本仅实现了Android 系统的速报信息推送功能。今后可以在此基础上,继续开发其他功能,增加用户体验。

猜你喜欢
速报客户端辽宁
你的手机安装了多少个客户端
你的手机安装了多少个客户端
辽宁之光
读辽宁 爱辽宁
读辽宁 爱辽宁
如何看待传统媒体新闻客户端的“断舍离”?
辽宁舰
新华社推出新版客户端 打造移动互联新闻旗舰