基于云架构的山洪灾害监测预警系统的设计与实现

2015-08-22 16:30王海沛李中志
软件 2015年5期
关键词:应用服务云计算

王海沛 李中志

摘要:为解决当前山洪防灾预警信息化建设中数据处理效率低、资源共享能力弱、软件通用化程度不高、功能不全等问题,采用基于云计算的技术理念设计开发了具有扩展性好,数据存储与处理强,预警更加及时有效的山洪监测预警系统。系统实现了实时、动态反映信息,并且能够以曲线,图,视频等直观形式展现山洪信息与预警发布功能,为政府部门防洪防灾决策提供科学、统一、可靠的信息平台。应用结果表明系统利用云技术实现了SAAS的模式,实现了多用户的按需定制,增强了系统的可扩展,可维护性。同时也验证了预警算法准确有效,数据存储与处理模式合理高效。

关键词:云计算;山洪灾害;监测预警系统;应用服务

中图分类号:TP393 文献标识码:B DOI:10.3969/j.issn.1003-6970.2015.05.021

0 引言

我国水利信息化工作从上个世纪90年代起步,最先仅仅是计算机技术的推广与应用,随后才逐步引入数据采集、数据库技术、物联网技术、3s系统(全球定位系统GPS、地理信息系统GIS和遥感RS)12]技术等现代信息技术。而各地区山洪监测预警系统作为水利信息化系统的主要代表为各地区的减灾防洪等发挥着巨大的作用。但是随着业务的深入应用,传统的山洪监测预警系统也面临着诸多问题和难题(表1)。同时由于传统的山洪预警系统中监测与预警发布是分开建设的,在这种模式下各地区系统数据不能共享,各自为政不能互联互通,出现灾险情后,指挥系统不能应急联动,这样无法完成统一指挥和调度,影响预警系统的时效性和稳定可靠性。因此,建设新的山洪灾害预警监测预警系统势在必行。

云计算对于山洪监测预警系统的建设的意义在于实现资源的整合与业务的协同,提升对海量数据存储、分享、挖掘、搜索、分析和服务的能力,使得业务数据作为无形资产得到统一有效的管理,同时为更多公众服务(表1)。因此云计算技术成为解决传统山洪预警系统面临的一些问题的首选技术方案。

1 研究基础

1.1 云计算技术研究

“云计算”是一种能够将动态伸缩的虚拟化资源通过互联网以服务的方式提供给用户的计算模式,用户不需要知道如何管理那些支持云计算的基础设施,而只需要关注自己需要什么类型的服务。“X即服务”的模式不断增长和发展,带动着数据中心向“云”快速迈进。在云中,用户不再关心数据的物理存储,只需要在用时为其付费,以较低的成本带来了更高的性能和生力,以及决策解决方案的通用性。

1.2 GIS系统集成研究

地理信息系统(GIs,Geographic Information System)是随着地理科学、计算机技术、遥感技术和信息科学的发展而发展起来的一个学科。GIS平台具备漫游缩放、图元点的选取、距离测量、面积测量、属性数据查找图元、专题图显示、图例显示等通用的GIS功能.基于云架构的山洪监测预警系统在GIS平台和云平台基础之上,进行山洪灾害预警预报模型的程序实现,主要利用GIS软件提供的各种开发接口和可调用函数,经过集成二次开发来实现对雨量、地形条件记录、气象等数据实时管理及动态跟新等,从而为系统实时监测预警分析提供保证。

2 系统云平台架构设计与部署

2.1 山洪灾害监测预警系统云架构设计

基于云架构的山洪灾害监测预警系统依托云计算的三层结构进行架构设计,整个系统中云计算平台是系统的中枢,负责所有的数据处理、交换以及共享,并将决策结果向上发送到应用层。计算资源和存储设施都由云计算服务提供商负责。系统最终以SaaS的方式提供给租户租用。如图1为山洪灾害监测预警系统的云架构图。

(1)信息数据采集层。信息数据采集层是山洪灾害预警系统的数据源基础。信息采集对象包括相关水利部门建设的监测站点传送的水位,雨量,视频等信息。物理层是IAAS基础设施层,包括计算设备,储设备、网络设备等。

(2)虚拟资源层。虚拟资源层则通过分布式技术和虚拟化技术对服务器、存储设备与网络设备等硬件资源进行虚拟化,以虚拟机为单位进行统一自动化管理,对这些虚拟资源提供资源监控、负载管理、资源调度、安全管理等功能。

(3)系统管理与数据资源层。此架构中,虚拟化平台采用较为成熟的VMwarev Sphere虚拟化管理工具,并配置vCenter Server Heartbeat保证虚拟平台的可靠性;Hadoop批处理来实现大数据处理,结合MapReduee和并行数据库的优势,可以得到更高效的分布式计算模型。数据资源层是系统信息汇集的目的地,是数据存储和管理的基础。

(4)平台支撑层。平台支撑层配备基本的公共服务产品,方便开发者在其上层更加快捷的搭建业务应用流程和构造信息门户。该层可以有效地隔离下层数据和上层应用之间的直接联系,方便系统灵活扩展,建立与其他水利业务系统之间的数据共享通道和建立业务协同关系。

(5)应用层。业务层依托云平台环境的支撑,建立山洪灾害监测预警业务罗晋,构建各项防汛业务相关的SAAS服务。

2.2 云架构平台的实现部署

采用Hadoop技术的云计算平台的搭建部署主要过程如下:

步骤1:在所有云计算中心申请的IAAS资源主机上部署相同的hadoop目录结构,并且用户名的帐户要相同,用户名和密码自己指定。配置每台电脑上的/etc/hosts目录,保证他们之间能相互通信。

步骤2:进行SSH免密码远程登录配置。在进行SSH配置之前需要先安装SSH服务并开启。用hadoop用户分别登录每台主机资源,在/home/hadoop/目录下建立.ssh目录,在master节点(即主机testl)上使用命令$ssh-keygen-t rsa来生成密钥对,然后把这个公钥分别放置在Slave节点的hadoop/.ssh/authorizedkeys文件中。在NameNode节点上生成密钥对并将公钥复制至其他DataNode:

ssh-keygen-t dsa-P”-f~/.ssh/ld dsa cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

步骤3:在每台主机资源上分别安装JAVA的开发和运行环境,安装完成后并进行环境变量的配置,用$source/etc/profile使JAVA环境生效。

步骤4:进行hadoop参数设置。下载并解压缩hadoop-0.19.1.jar,并对其进行配置。首先在hadoop-env.conf文件中,修改JDK安装路径,再按需要对hadoop-site.conf文件修改

步骤5:Hadoop核心配置文件core-site.xml、HDFS配置文件hdfs-site.xml、MapReduce配置文件mapred-site.xml配置如下图所示配置eonf/master文件,添加所有的NameNode:testl。配置conf/slave文件,添加所有的DataNode:est2、test3、test4。

步骤6:同步配置文件。如果需要任何一台机器都能够启动和关闭Hadoop,就需要将NameNode上安装配置完成的hadoop文件拷贝到所有DataNode。如果都是通过Master去启动和关闭的,那么Master和Slave上的几个conf配置文件不需要全部同步。

步骤7:启动hadoop。启动之前,需要先使用$bin/hadoop namenode—format命令来完成格式化Na-meNode。使用bin/start-all.sh启动了hadoop的守护进程。如果要停止,使用$bin/stop-a11.sh来停止hadoop。至此,hadoop云计算平台已经搭建完成。可以在浏览器中输入http:∥testl:9100就能看到testl上的Na-meNode的运行情况了,同理可以查看其它计算机的运行情况。

3 基于云架构的山洪灾害监测预警系统实现

3.1 系统的基础数据整理与录入

山洪灾害监测预警系统的基础数据来源广泛且量大复杂,数据格式不统一,所以必须对不同来源的数据通过数据清洗和转换进行统一的数据编码和和统一的数据存储。基础数据来源主要有根据国家要求建设的水位站,雨量站信息,还有其后各相关水利部门自己建设的水位站雨量站,有些是自动的上报的,有些是人工上报的,还有河道,水库的视频监控站等数据。此外还有气象,水文,国土等部门提供的外部数据。对于这些庞大的数据经过统一的编码和存储录入后,采用建立专题数据库的形式,如实时水雨情数据库、历史大洪水数据库洪涝灾害数据库、山洪灾害专题空间数据库等采用Hadoop技术中HDFS对山洪异构数据提供分布式存储。

3.2.1 监测站编码

监测站主要指水位站,雨量站,视频站等采集的数据,通过统一的编码进行入识别入库。

水位,雨量监测站代码组成ABBCDDEE

代表:流域(区)码水系(分区)码测站(断面)类测站所属地标识测站序号

视频站编码组成ABTFFSSNNNY

代表:类别属性吗一级流域码二级流域码支流编码视频点编码视频点类型

3.2.2 监测数据整理录入

以水位站,雨量站示例数据说明(表2)

示例数据说明测站编码:60523450时间范围:2014/6/23 8:00-2014/6/27 8:00

Stcd(测站编码) TM(时间) DPR(时段降水量)INTV(时段长)

PRD(降水历时) DYP(日降水量) WTH(时段长)

2014/6/23 8:00降水记录举例:一小时内的时间段累计降水(当INTV=1情况下),DYP=15.5代表2014/6/23 8:00—2014/6/27 8:00前一日的日累计降水,实际取值∑DPR(2014/6/23 8:00—2014/6/27 8:00);2014/6/27 06:00降水记录举例:如在05:55~06:00这一段有降雨发生,则在06:00时刻需分别记录该时刻的降雨短历时(5分钟)和小时累计雨量,由于数据表主键字段限制,造成无法正常记录数据,需要针对短历时(五分钟)累计雨量入库数据中的TM字段进行处理,在06:00时刻上再加入5毫秒,形成“2014/6/27 6:00:0.005”的TM数据,小时累计数据入库时则沿用“2014/6/27 6:00”的TM数据。

在2014/6/24 8:00的记录中,DRP为NULL,代表前一段没有降雨,而DYP 5.5,为前一日的时段累计降水量;由于本次监测站需要发平安报,因此即使前一日没有降雨(∑DPR=0),也必须按DYP 0报送,具体格式如表中2014/6/27 8:00的第一行记录。数据库表降雨历时字段:数据存储的格式是HH.NN,其中HH为小时数,取值为00~23;NN为分钟数取值为01~99如表中第四行PRD=0.25,代表前一小时内的实际降水时间25分钟;如果∑DPR(15分钟)>5mm就要进行暴雨加报。WTH 7代表雨天。

3.2 系统的主要功能实现展示

3.2.1 实时水雨情监测,重点山洪区域视频监控功能

系统的表现形式以WEBGIS和表格的方式为主,主要在地图上显示各监测站点的分布,并在站点旁标注出水雨情信息(如降雨,水位,流量等),并可以查询各监测站点的详细信息(如时段降雨,日降雨等)和历史水雨情信息,当监测站点的监测项达到预警指标时,系统自动通过声音,闪烁,短信方式报警,让防汛人员及时掌握最新动态,提前做出决策,避免或者减少灾害造成的损失,见图3。

3.2.2 河道水库实时监测

实时显示各水库河道站当前水位,流量,水位变化趋势,警戒保证情况,并提供当前水位示意图;显示选定区域内任意时段的各站水位,水势,流量,历史最高水位及发生时间,最大流量发生时间,显示水位流量过程线等,如图4。

3.2.3 山洪分析预警以预警发布

系统对水雨情报警展示,山洪预警信息,山洪预警指标,通过降雨量,水位,土壤含水量等信息进行山洪历史数据建模分析,根据预警指标一旦出现预警信息,系统自动对关联的区域进行报警提示,并发送报警信息给相关的目标用户。同时,提供雨水情之间的预警联动,即雨量站报警后,系统智能地对附近的水位站进行报警提示。

猜你喜欢
应用服务云计算
全球卫星互联网应用服务及我国的发展策略
国家不动产统一登记信息平台构建与应用服务
全力推进不动产登记信息管理基础平台建设与应用服务
地名地址应用服务系统的研究与实现
实验云:理论教学与实验教学深度融合的助推器
全国征集卫星应用服务解决方案
应用服务型人才培养体系下的嵌入式操作系统教学改革探索