基金项目:地震科技星火项目“基于地震信息网的移动互联网服务”(XH12059)资助.
(1.中国地震台网中心,北京 100045; 2.中国地震局地震研究所,湖北 武汉 430071)
(1.China Earthquake Networks Center,Beijing 100045,China); (2.Earthquake Research Institute of CEA,Wuhan 430071,Hubei, China)
备注
基金项目:地震科技星火项目“基于地震信息网的移动互联网服务”(XH12059)资助.
中国地震信息网为拓展多元化的信息服务渠道,利用PUSH推送技术实现了地震灾害信息实时推送至用户的移动设备上; 同时实现了震区有震感用户参与到灾害评估的研究工作中。一方面满足了公众对于获取地震灾害信息及时性的需求,另一方面为地震科技工作者做好灾害评估等研究工作提供相应的数据支持,为灾后救援提供决策依据。
For expanding the diversified information service channel,the China Seismic Information Network realize that sending the earthquake disaster information to the mobile device of the user in real-time by push technology, and the seismic felt user participating in the hazard assessment research. On the one hand, it meets the public demand for earthquake disaster information in time, on the other hand, it could provide the corresponding data supports for the seismic science and technology workers in accomplishing disaster assessment and research work, and offer the decision basis for post disaster relief.
引言
随着移动互联网技术的快速发展,PUSH推送技术得到越来越多的关注和应用(姜景根,2008; 颜友军,2012; 张长学,2011; 张志明,刘向辉,2011; 周小斌,2008; 胡思丝,2011; 索传军,2003; 金德,2013)。固定网用户对于信息准确性的要求远甚于对其及时性的要求。而在移动网中,由于存在着网络带宽、移动设备能力以及高昂的资费标准等诸多限制,用户无法像在固定网中一样方便地查找信息,如果将重要的信息主动及时地推送到用户的移动设备上,将会大大方便用户。移动通信的优点是移动设备能够随时随地接收信息,因此PUSH技术可以在移动网中大显身手(姜景根,2008)。在数据传输方面,移动网络具有很多与固定网络不同的特点。这些特点使得用PUSH技术实现的各种类型的业务在新环境下迅速地成长起来(刘增基,武亚娟,2001)。
中国地震信息网作为地震相关信息传播和发布的媒介平台,为公众提供了实时震情、地震灾害救援、地震科普等信息,一定程度上满足了公众对地震信息的需要。地震信息网经过几次改版,将用户对地震的感知和地震信息实时获取等动态需求加入其中,满足了用户参与地震信息互动的需要。但在大的破坏性地震发生时,房屋、固定网等基础设施的损坏坍塌,造成大众无法有效及时地参与地震信息互动,因此需要拓展多元化的信息服务渠道,扩大地震信息的传播范围、传播介质(如手持移动终端设备),并让公众参与到地震灾害信息的评估等防震减灾的工作中来。因此中国地震信息网提出了移动互联网服务的概念,并将其进行了实施和应用。一方面利用PUSH技术实现了地震灾害信息的实时推送至用户的移动设备上,另一方面实现了震区有感用户参与到灾害评估的的研究工作中。
1 系统结构
移动互联网服务系统基于中国地震信息网运行平台搭建,有两个数据接口,一个数据接口与地震信息网的主数据库连接,用于提取主数据库中的地震信息、震情灾情等内容; 另一个数据库接口与系统自身的数据库连接,用于保存和读取系统本身运行中所产生的数据。
移动互联网服务系统设置信息管理、信息推送、信息查询、交流互动(感知地震)、用户管理、系统统计等模块(图1)。 其中,信息推送模块主要用于将信息管理模块加工好的信息按推送策略推送到移动平台中。感知地震模块是交互模块,该模块内嵌了一套基于百度地图API的地震烈度估算系统,该系统将百度地图嵌入到Web页面中,互联网用户在该地图上点击选择自己的位置,而移动互联网用户,因为移动终端位置的自动确定性,无需点击选择自己的位置,就可以在线填写关于震后破坏性感知的调查问卷,根据用户填写的信息,对照《中国地震烈度表》来自动判断用户所在位置的烈度值,将用户的相关信息及烈度数据整理后写入数据库并在百度地图上标注展示出来。
2 技术实现与关键点
2.1 实时数据同步技术系统数据库通过与EQIM地震事件数据库同步的方式获取地震数据。由于两个EQIM系统和移动互联网服务系统在部署环境、数据库技术、数据结构等方面都有所不同,因此,如何跨系统平台、跨数据库产品以及数据结构下解决实施同步问题显得尤为关键。
由于EQIM与移动互联网服务系统存在操作系统、数据库技术等诸多底层差异性,因此放弃前期计划使用的触发器技术来实现实时同步,而是改用第三方同步算法实现。
首先在EQIM数据库地震事件数据表中添加INT型FLAG字段,设置初始值为0,并且定义FLAG如表1所示。
EQIM系统获得新的地震事件后,触发同步算法工作,工作步骤如下:1.连接移动互联网服务系统数据库;
2.EQIM新地震事件数据封装;
3.同步至移动互联网服务系统MySQl数据库;
4.MySQl数据检查;
5.更新EQIM数据库Flag至为1;
6.数据更新成功。
如果上述步骤中出现更新失败情况,则FLAG标记为3,并且按照逻辑规划重新进行数据同步。
2.2 推送技术传统的数据推送模式为系统以客户端发出请求、服务器端响应的方式工作。这种方式并不能满足本系统的实时数据刷新的业务需求。
目前信息推送的实现方式主要分为消息推送、代理推送和频道推送3种推送方式。其中消息推送是根据用户提交的需求信息,通过电子邮件系统或其它消息发送系统将有关信息发送到用户端。代理推送是使用代理服务器定期地或按照用户指定的时间间隔在网上搜寻用户感兴趣的信息,并将搜寻结果发送给用户。频道推送则需要提供一整套推送服务器、客户端部件及开发工具等组成的集成应用环境,通过将某些网络站点定义为浏览器的频道,推送服务器则负责将收集到的信息形成频道内容后推送到用户端(亓东霞,2012)。
信息推送模式的主要优点在于及时性好、应用面广,对用户没有技术上的要求(亓东霞,2012)。信息推送的方式,分为基于Internet的信息和基于智能数据库系统的信息推送方式,后者又包括客户式推送和服务器推送(吴剑霞,2004),本系统采用信息推送模式实现服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,即服务器端实时推送。本系统通过在移动客户端进行Socket接口的定义,通过其与服务器端进行通讯同步。
通讯同步通过Heartbeat模型实现,Heartbeat模型在服务器端与客户端之间建立,协议采用HTTP长连接。具体工作流程如图2所示。
设置Heartbeat周期T=15 min,在Heartbeat周期内,服务器端如果有活动,其触发器发出推送指令,则通过HTTP长连接反馈到客户端,客户端接到推送指令后开始与服务器段进行数据通讯,完成数据推送的全过程; 如果服务器端在Heartbeat周期内,无触发器动作,则向客户端发送OK包,客户端收到OK包后,对服务器做出反馈。
整个通讯过程中的数据包通过SSL协议进行封装,有效提高了数据传输安全性。部分代码如下:
package com.ibcio;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import org. apache. catalina. websocket. StreamInbound;
@WebServlet(urlPatterns = { "/message"})
public class WebSocketMessageServlet
extends org. apache. catalina. websocket. WebSocketServlet
{
private static final long serialVersionUID = 1L;
public static int ONLINE_USER_COUNT = 1;
public String getUser(HttpServletRequest request)
{
return(String)request.getSession(). getAttribute("user");
}
@Override
protected StreamInbound createWebSocketInbound(String subProtocol,HttpServletRequest request)
{
return new WebSocketMessageInbound(this. getUser(request)); ……
2.3 交互技术“感知地震”为本系统重要的功能模块之一,本模块使用C/S结构进行开发,并且通过HTTP协议实现。用户填写完成表单后,客户端自动将表单内容通过XML格式进行包封装,封装后的XML通过HTTP协议簇中的POST请求流程完成数据的传输作业。数据传输过程如图3所示。
3 实现的效果与界面
通过移动互联网服务系统,地震信息网可为手持移动设备用户提供定制化的信息服务,扩大用户使用范围,满足用户对于地震信息接收媒介新需求,图4展示了手持移动设备用户获取地震信息网推送的地震列表以及地震详细信息等。
震区用户在房屋、固定网等基础设施发生损坏坍塌时,通过手持移动终端设备实时方便地参与感知地震中来,提交自己和周围环境在地震中、地震后的变化,从而为地震工作者进行灾后烈度评估提供数据,其评估结果又可服务于地震救援工作,从而使得地震系统社会服务功能更加丰富。图5展示了手持移动设备用户参与感知地震的互动过程。
该系统使得手持移动设备用户实时接收地震信息网提供的灾害信息成为可能; 在服务移动用户的同时,又服务于科研工作者与决策者。同一套信息服务系统可满足不同操作系统的移动通讯设备的技术要求。打破信息网过去传统的发什么用户看什么的信息发布模式,移动设备用户既可查看定制化的地震信息,又可与地震信息网进行信息交互。其实用性体现在对于多种平台的手持移动设备用户提供地震信息的实时发布,用户可依据自己移动设备的型号到中国地震信息网下载所对应的客户端软件,通过安装注册即可根据选项定制地震信息服务; 震区有感用户还可通过客户端参与感知地震项目,为地震科技工作者快速评估震区情况提供数据支持,从而为地震救援与决策提供参考。
- 胡思丝,万力勇,刘颖.2011.RSS信息推送技术在教育知识管理中的应用研究[J].现代教育技术,21(3):122-125.
- 姜景根.2008.基于SMS的PUSH技术及其在移动网络异步通信中的研究与应用[D].贵州:贵州大学.
- 金德.2013.基于Android的Push平台功能的研究与设计[D].合肥:安徽工业大学.
- 刘增基,武亚娟.2001.PUSH技术在移动互联网中的应用[J].通讯技术,(31):31-32
- 亓东霞.2012.信息推送技术在企业中的应用研究[J].数字技术与应用,(11):71-73.
- 索传军.2003.Push技术开发应用研究述评[J].现代图书情报技术,(3):49-51.
- 吴剑霞.2004.信息推送技术的原理及在图书馆的应用[J].科技情报开发与经济,14(3):24-25.
- 颜友军,许蕾,陈林,等.2012.面向智能移动平台的Web服务推送技术研究[J].计算机科学与探索,6(7):30-39.
- 张长学,张伟,董智明.2011.移动推送技术面面观[J].移动通信,35(5):23-29.
- 张志明,刘向辉.2011.基于BCMCS的移动互联网推送技术研究[J].电信科学,27(7):46-51.
- 周小斌,孟利民,张伟龙.2008.GSM短信和WAP推送技术在学校信息管理系统中的应用初探[J].浙江工业大学学报,36(5):26-30.