基于移动终端的地震前兆观测系统应用分析

2018-06-25 02:59刘永强李大伟
山西地震 2018年2期
关键词:前兆服务器端客户端

刘永强,郑 康,李 冉,李大伟

(太原市防震减灾局,山西 太原 030082)

0 引言

1 系统概述

1.1 研究背景

目前,山西前兆台网数据库主要有模拟数据库(包括模拟数据、原始数据、预处理数据、观测日志)和“十五”数据库。模拟数据库采用Microsoft sql server 2000进行搭建,表结构根据中国地震局“九五”数据库相关规范进行设计;“十五”数据库采用Oracle 10g进行搭建,表结构根据《地震前兆数据库结构规范》进行设计[1]。如果直接通过手机等移动终端设备登录该数据库服务器调取数据,在关键技术上存在壁垒,在网络安全防控上也存在较大风险。系统试图通过对地震观测设备的数据通信单元进行传输模式改造,在互联网上重新搭建数据库服务平台,通过移动终端设备进行访问,实现各项地震前兆观测数据在移动终端的应用,动态显示观测设备运行状况以及观测数据图文等等。

1.2 主要研究内容

研究的主要内容是设计开发一套基于移动终端的地震前兆数据在线观测系统软件。首先,在进行相关调研工作后,通过分析用户需求、功能需求和性能需求,确定系统的总体框架和技术选型,对系统总体功能进行规划,对移动终端地震前兆观测系统进行详细设计和数据库设计;随后,通过Android模拟器和采用Android系统的手机对系统进行测试。

2 系统整体框架设计

2.1 系统设计思路

采用移动互联网技术和移动终端技术相结合,实现基于移动终端的地震前兆数据观测系统的相关功能。对地震观测设备的数据通信单元进行传输模式改造,在互联网上重新搭建数据库服务平台,通过移动终端设备对其进行访问,用户可以实现随时随地查看各项地震前兆观测数据,动态显示观测设备运行状况以及观测数据图文等等。

基于Android平台的地震前兆数据观测系统的总体架构中,终端用户可以通过Android设备运行访问Android客户端,也可以通过Web浏览器访问系统Web客户端。Android客户端主要为用户提供一个方便操作的信息采集平台,Web客户端主要为用户提供管理和维护数据的一个平台。通过Web服务器提供不同数据访问接口与数据库服务器进行交互,确保数据访问的一致性。

系统涉及Android和Web浏览器两个不同的平台,为降低系统维护难度,客户端和服务器之间通过HTTP协议进行交互,采用轻量级数据交互格式JSON作为数据格式的标准。JSON是目前通用的数据格式,使用JSON既可以提高系统扩展性,今后也可以将客户端移植到其他平台。

2.2 系统设计框架

系统的物理架构如图1所示,移动终端设备(智能手机、平板电脑等)可通过移动互联网(WIFI/GPRS/3G/4G)来访问项目管理系统的服务器,如需进行数据交互则通过Web服务器来访问后台数据库服务器。

拆除水毁的衬砌板时,要轻拿轻放,避免破坏已安装的复合土工膜,拆除水毁的现浇衬砌板时,要避免破坏未水毁的衬砌板。

图1 系统物理架构图Fig.1 Physical architecture of the system

系统实现关键技术选型:客户端(主要是指Android客户端)应用程序开发使用Java技术,采用主流的Android SDK API-19(Android 4.3版本)进行开发,实现客户端与服务器端的通信使用HTTP技术;后台数据库采用MySQL,采用JDBC连接方式访问数据库。系统实现关键技术的选型如图2所示。

图2 系统实现关键技术选型图Fig.2 Selected key technology of the system

2.3 系统功能模块设计

基于Android平台的信息采集共享系统的功能设计主要分为两大部分:基于B/S模式的Web管理客户端和基于Android平台的手机客户端。系统的整体功能框架如图3所示。

3 系统关键技术实现

实现基于Android平台的地震前兆数据观测系统,主要使用以下技术。

3.1 客户端与服务器的数据交互实现

图3 系统的整体功能框架图Fig.3 The overall functional framework of the system

Android应用程序的前台客户端与后台Web服务器之间进行数据交互,可采用Android自带的Adapter机制和JSON来实现。Android和Web服务器端交互使用Apache Tomcat服务器进行,通过HTTP协议,客户端通过发送网络请求进行数据的获取,服务器端则将客户端请求的数据以数据流的形式远程发送到手机端[2]。在服务器与客户端进行交互的过程中,当前对象的远程发送较为流行且高效的是根据对象的设计将对象信息序列化为JSON对象进行传输。为实现在发送数据和接收数据时对相关数据进行转化,采用Google官方提供的Gson工具包进行对象的序列化和反序列化。

3.2 访问数据库

在Android程序中,出于安全方面的考虑,创建专门用于访问数据库的接口。系统中通过创建工具类My SQLUtil和配置相关数据库信息来实现。部分实现代码如下:

Try{

Prop.load(this.getClass().getCkassLiadwe().getResourceAsStream(

“DBConfig.Properties”))); //调用配置资源文件数据

Driver=prop.getProperty(“driver”);

Ur1=prop.getProperty(“ur1”); //从配置文件中获取数据库地址

Username=prop.getProperty(“username”); //获取配置文件中的用户名

Password=prop.getProperty(“password”); //获取配置文件中的密码

Class.forName(driver);

Return DriverManager.getConnection(ur1,username,password);

}

接着,配置数据库信息,相关信息文件的部分内容如下:

driver=com.mysql.jdbc.Driver //数据库驱动

ur1=jdbc:mysql:///Mysql?useUnicode=true&characterEncoding=utf-8

//配置数据库的地址

Username=root //配置数据库的用户名

Password=admin //配置数据库的密码

3.3 服务器端系统的整合

同时使用Hibernate和Struts框架会产生大量的对象创建操作,如果对象管理不当,很容易造成内存溢出现象,而且DAO层和业务逻辑层之间的耦合性较大,针对此现象,使用Spring框架对整个服务器端的系统进行整合,利用Spring的IOC(Inversion of Control,控制反转)特性,将所有需用到的对象托管到Spring中进行管理,需要使用对象时,直接从对应的对象池中获取需要的对象进行使用。这样,对于对象内存的使用进行了优化。同时Spring的AOP(Aspect Oriented Programming,面向切面编程)也为之后对系统的维护做准备。

4 系统应用效果

通过Android模拟器和采用Android系统的手机对系统进行测试。Android平台客户端和Web服务端实现效果如图4、图5、图6和第56页图7所示。

5 结语

移动互联网技术的发展和各种智能移动终端的不断普及和性能提高,为给用户构建基于移动终端的项目管理系统提供了良好的技术环境和条件,“互联网+地震”成为防震减灾工作信息化建设的一项重要内容。该系统的研发基本上实现了便携、及时、高效、随时随地获取地震信息,提高工作效率的目的。限于开发者的知识背景、技术水平、研究时间和资源等条件,系统在设计与实现过程中仍存在一些问题和待改进的地方。主要有以下两点:

图4 观测台站选择图Fig.4 Selected observation stations

图5 观测仪器选择图Fig.5 Selected observation instruments

图6 观测数据曲线浏览图Fig.6 Observation data curve

(1) 功能不够完善。系统仅实现了地震前兆观测的基本功能。

(2) 界面不够美观。系统界面简单、风格单一、操作还不够“友好”。界面是应用程序客户体验的重要因素,客户体验也是评判应用程序好坏的标准之一。系统在此方面还有待进一步完善。

图7 Web服务端运行界面图Fig.7 Interface of WEB server

参考文献:

[1] 程冬焱,胡玉良,穆慧敏,等.山西地震前兆数据智能监控分析软件在山西前兆台网中的应用[J].山西地震,2012(3):21-23.

[2] 黄金刚,闫民正,郭林旺,等.基于云推送和Android的地震信息发布技术[J].震灾防御技术,2015,10(4):1004-1009.

猜你喜欢
前兆服务器端客户端
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
哪些现象是地震前兆
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
右肝区不适或疼痛是肝癌表现的前兆吗