1. 引言
随着互联网技术的高速发展,从国家战备到各行业层面都大力推进云计算、大数据、物联网、移动互联和人工智能等技术创新和深入应用 [1] 。近年来,大数据与云计算技术在水利信息化发展中也发挥了重要作用 [2] 。“鄱阳湖生态经济区”是江西省第一个纳入国家战略的区域性发展规划,也是我国十大生态功能保护区之一。它拥有丰富的鸟类和鱼类等物种资源,并负责调节气候,调节洪水储存和降低污染等各种功能 [3] [4] 。近年来,随着江西省经济社会的发展,人口增长过快,生态问题开始显现,鄱阳湖环湖区生态问题不仅严重影响国民经济和社会的可持续发展,还威胁人民群众的健康。利用大数据、云计算、云平台等技术建立鄱阳湖生态环境信息共享服务云平台。整合鄱阳湖生态资源数据,充分利用云平台将鄱阳湖生态信息建立在云平台上,方便相关人员快速访问鄱阳湖生态变化信息,为鄱阳湖生态环境管理提供科学指导,有利于全面规划鄱阳湖区的建设与保护,其研究成果具有重要应用价值。探索大数据、云平台等技术并优先在鄱阳湖保护和管理中的示范应用也是推动江西省智慧水利建设的重要手段。
2. 大数据技术
大数据自提出以来尚未有统一定义 [5] 。维基百科提供了大数据定义,因为涉及的数据非常大,无法通过当前的主流软件工具在合理的时间内管理,处理和组织成有用的信息。它不是一个空的概念,其出现对应了数据产生方式的变革。在大数据时代,大数据的核心是提取有价值的数据并进行预测,因此经过分析和处理的数据才能创造价值 [6] 。大数据技术主要有数据采集、数据存储、数据处理、数据分析、数据挖掘、数据可视化展示等 [7] 。在本平台数据处理中,数据需要及时更新、存储和分析,因此,大数据技术在本平台建设中占有重要位置。本平台数据处理流程如图1所示。
3. 云计算平台技术
谷歌的CEO埃里克·施密于2006年特首次提出了云计算平台 [8] 。当时人们还不理解云计算的概念,经过近几年的研究和发展,各个领域已经开始运用云计算平台技术。云计算平台是面向用户服务的计算平台,通过互联网将基础设施资源、软件资源整合起来,根据用户实际需求提供服务收取相关费用。本平台采用采用公共化的方式计算资源,用户不需要关心底层服务,只需要关注自身应用业务逻辑,降低了用户开发的难度,节省了企业开发应用的成本。云平台技术提供的三种服务模式 [9] 有基础设施作为服务(Infrastructure as a Service,Iaas)、平台作为服务(Platform as a Service,Paas)和软件作为服务(Software as a service,SaaS)。云平台层次结构如图2所示。

Figure 2. Cloud platform hierarchy diagram
图2. 云平台层次结构图
从图2可知,IaaS平台即为用户提供物理资源虚拟、网络资源虚拟、存储资源虚拟等的基础设施的服务,提供最底层的服务。Paas平台即为开发者用户提供云端集成的软件开发服务。SaaS应用即为云平台顶层,为用户提供各类云端应用。
4. 鄱阳湖生态环境信息共享服务云平台
4.1. 平台架构
鄱阳湖生态环境信息共享服务云平台基于SOA架构,依托云计算、大数据、云平台等技术为支撑,根据云计算的服务模式构建鄱阳湖基础设施服务层(IaaS)、鄱阳湖大数据层(DaaS)、鄱阳湖云平台服务层(PaaS)和鄱阳湖云应用层(SaaS)四层架构。整体架构如图3所示。
鄱阳湖基础设施服务层(IaaS):为达到“互联互通、资源共享、支撑应用、提高效能、减少成本”的目的,基于云计算技术,构建鄱阳湖基础设施云平台,提供本平台相关物理资源设备支撑,包括相关服务器、路由器、存储设备、核心交换机等硬件设备。
鄱阳湖大数据层(DaaS):利用大数据集群、存储、数据库等技术,构建鄱阳湖数据资源管理平台,支撑鄱阳湖生态环境各类基础数据、多媒体数据等信息资源的管理,同时,采集人口、经济、社会、水位、水生态、水资源等信息,形成鄱阳湖水生态数据库。
鄱阳湖云平台服务层(PaaS):基于大数据处理平台,构建资源共享服务平台,满足数据资源汇集共享、应用服务,数据处理等功能,提供数据处理相关的操作引擎,提高数据处理效率,为本平台的应用提供软件支撑环境。
鄱阳湖云应用层(SaaS):利用大数据SQL语言、可视化服务展现等技术,建立鄱阳湖生态环境信息共享服务云平台。
4.2. 平台环境
鄱阳湖生态环境信息共享服务云平台开发需要三台硬件服务器,服务器配置为浪潮英信NF5270M4 8G 2T,一台服务器作为集群主节点服务器,另外两台服务器作为集群从节点服务器。开发所需要的软件有MyEclipse 10.0、Hadoop3.0、分布式协调器Zookeeper3.4、jdk1.8、Tomcat8.0、分布式数据库Hbase 2.1、数据仓库Hive2.3、数据库Mysql 5.0等。
4.3. 平台搭建
鄱阳湖生态环境信息共享服务云平台存储、计算、网络等物理资源均采用国际云计算应用中公认的VMware、CitrixIBM等虚拟化产品进行资源分配 [10] 。根据需求进行弹性的资源分配服务,再结合Hadoop的集群技术,实现在成本低投入的情况下获得高性能、较好的灵活性和可靠性 [11] 。VMware虚拟机安装和Hadoop集群相关配置如下所述。
(1) 虚拟系统安装
在本系统服务器安装ESXi服务器,通过虚拟软件虚拟多台主机,并安装相关虚拟化软件,通过vsPhere Client客户端来管理资源,并在虚拟计算机上安装部署Hadoop、Spark、ElasticSearch等软件。
(2) Hadoop系统配置
鄱阳湖生态环境信息共享服务云平台采用三台物理服务器、运用虚拟化技术虚拟成11台虚拟机来构建Hadoop集群环境,并修改相关Hadoop配置文件,slaves配置文件、masters配置文件等,实现Hadoop系统集群。
4.4. 平台数据库设计
通过本平台所需使用的数据库进行分析,本平台包含的数据库有基础信息数据库、水文与水资源数据库、生态环境数据库及系统管理数据库等。鄱阳湖生态环境信息共享服务云平台数据库设计如图4所示。
(1) 基础信息数据库:基础信息数据库存储鄱阳湖基础地理地图、社会经济、水利工程和其他数据。基础地理地图包括数字线画图(DLG)、数字正摄影像图(DOM)、数字高程模型图(DOM)等,为本平台中的GIS地图服务提供基础数据支撑。
(2) 水文与水资源数据库:水文与水资源数据库存储与水文与水资源相关的水位、流量、蒸发量、土壤墒情、取用水户用水量等数据,为本平台的信息查询提供服务。
(3) 水生态环境数据库:水生态环境数据库存储水生态环境相关数据,如鄱阳湖区域中湿地、候鸟、钉螺、水土流失、生物、水环境等数据,为本平台的生态指标查询提供服务。
(4) 系统管理数据库:系统管理数据库主要是存储系统后台相关数据,如操作日志、用户信息、维护数据等。
4.5. 平台功能设计与实现
本平台的总体目标是利用云计算,大数据,云平台等技术构建符合统一数据标准的鄱阳湖生态环境信息共享服务平台。平台开发使用Java语言,采用B/S结构、前后端完全分离的方式设计,后台开发使用SM (Spring Boot + Mybatis)构建服务,完全遵循RESTful规范,前端开发采用webpack + vue组件化模式。平台地图服务功能基于WebGIS平台二次开发实现。平台设计中充分考虑了系统的性能可靠性和兼容性问题,保证系统中的数据正确性和准确性,支撑每秒500人以上的并发操作,图表以及复杂查询能在5秒内显示查询结果,简单查询3秒内显示查询结果,并且兼容常用的360、IE、谷歌等浏览器访问。
平台主要功能实现目标:建立鄱阳湖生态大数据,实现鄱阳湖生态数据的有效存储,提供信息查询服务,提供信息操作与管理、信息共享服务等。通过将异构、分布式的信息资源按照统一标准进行整合,实现信息共享。平台具体功能结构如图5所示。

Figure 5. Platform function structure diagram
图5. 平台功能结构图
(1) GIS地图服务
实现地图显示,交互,操作,查询等功能。1) 基本地图操作:放大,缩小,平移,完整地图,打印,鹰眼视图等。2) 图层控制:图层的显示控制。所有的地理信息图形是分层管理的,可根据需求选择相关图层内容。3) 图例:提供显示所有资源和对应的图例列表。4) 测量功能:可完成相关图形测量工作。例如:测量点之间的线段长度、矩形面积、不规则图形面积等;5) 地图定位:可以通过对字段进行搜索,在地图上进行展示相应字段的图标位置。如:行政区域、河流湖泊、乡镇、水利工程、各类监测站点等。6) 地图查询:通过在地图上展示的图标信息,如监测站点图标、乡镇图标、水利工程图标等,查看具体的图标内容详情信息。
(2) 信息分类查询
可以在目录树中直接选择数据分类查询以指定查询数据类型。文本查询以用户输入文本信息的形式提供查询,并为不同的业务数据类型设置查询选项。如设置数据的时间间隔频率,空间范围,数据精度和其他技术指标来筛选数据。
1) 数据分类查询
数据分类主要分为水文气象监测、水质监测、鸟类监测、渔业监测、水生动植物监测、湿地水生动植物监测、水利工程、区域水质和水草等。数据分类查询展示如图6所示。

Figure 6. Data classification query display
图6. 数据分类查询展示
2) 属性查询
通过资源对象的属性字段进行模糊查询,例如通过鄱阳湖区水质监测站点名称,查询相关站点相关的详细信息,并能在地图上进行相关的展示。
3) 空间查询
提供三个功能:空间区域查询、生态资源目录、信息查询。空间区域查询分为矩形查询、多边形查询、固定区域查询和缓冲区查询。矩形查询允许用户拉动地图上的矩形区域框架以查询矩形区域中的生态信息。多边形查询允许用户绘制任意多边形区域查询相关生态资源信息。固定区域查询是供用户选择如城市,区域,乡镇等条件下的生态信息。信息查询允许用户选择指定资源类型的属性信息,并查看列表中资源类型的详细信息,例如查询自然保护区信息列表中特定自然保护区的细节。
4) 生态指标查询
按照三级指标体系从数据库中读取生态指标生成生态指标目录树,用户可以选择查看任意一级的生态指标,显示生态指标数据。
(3) 数据维护
数据维护提供人工方式录入和批量导入数据两种数据维护方式。
1) 空间地理数据维护
空间矢量数据维护涉及线、多边形等,并提供基于Web的分布式空间数据编辑。空间数据编辑界面如图7所示。

Figure 7. Spatial data editing interface
图7. 空间数据编辑界面
2) 属性数据维护
为用户提供生态资源数据对象属性数据维护,具有添加、修改、删除数据记录和数据项的功能。
3) 多媒体数据维护
将平台中相关的文档、视频、音频、图片等进行记录与存储,用户能进行上传、下载、修改和删除等操作。
5. 结语
本文通过对大数据、云计算平台等技术的分析和探讨,对鄱阳湖生态环境的研究,构建了鄱阳湖生态环境信息共享云服务平台。本文从云平台的架构、环境、搭建方法和系统功能阐述了鄱阳湖生态环境信息共享云服务平台。本平台的建立将鄱阳湖生态数据进行共享,能够及时发现鄱阳湖区生态环境变化危机,为决策者提供解决方法。本平台的研究对改善鄱阳湖区生态环境具有重要意义。
基金项目
江西省水利厅科技计划项目(201818ZDKT14)。
NOTES
*通讯作者。