随着信息技术在水利行业应用的日趋广泛,水利信息化采集、分析、业务处理等方面产生的数据量急剧膨胀,现代水利数据中心的建设需求随之变得更加迫切。利用大数据技术,可高效的存储和处理水文、水利工程监测等长系列数据以及文档、图片、视频等非结构化数据。本文通过总结水利大数据的特点以及大数据架构、实时数据处理和元数据等关键技术,提出基于传统关系型数据库与分布式文件系统相结合的、支持实时计算和元数据管理的水利数据中心架构。
随着信息化技术的迅猛发展,越来越多的水利信息化基础设施及应用系统,被应用到水利工程建设与管理、水行政业务处置等领域中。由此产生的数据量指数攀升,引发了水利数据中心建设的热潮。与此同时,随着整个社会(尤其是互联网上)的信息量呈爆炸性增长态势,大数据技术应运而生。大数据技术是一场技术革命,时刻改变着我们的生活、工作和思维方式。将大数据技术引入水利行业,将其作为水利数据中心建设的基础技术,成为一种必然的趋势。
水利信息化涵盖水利工程勘测、规划、设计、施工、运行管理和维护,防洪、水资源管理、水土保持等水行政管理等诸多方面。水利数据形式多样、种类繁多,数据总量庞大且持续高速增长。例如,近年来监测设备种类及数量增多,监测数据跨地区上传频率加快,使得采集监测数据量急剧上升;在防洪管理业务中,应用水文模型预报、推演、调度而产生的数据量也正迅猛增长;视频、图像和文档等非结构化数据大量累计,难以采用关系型数据库存储与管理。在管理和应用层面上,用户已不满足于数据存储和管理碎片化的现状,提出了高效管理和共享的要求。如何存储、传输、处理和应用水利大数据,已成为水利信息化发展必须面对的问题和挑战。
根据水利信息化规划要求,水利数据中心建设的目的是全面整合分散的各类水利信息资源,实现信息共享,并对数据进行深度挖掘,以满足水利业务和事务发展需要。其中解决的主要问题包括:分布各处的水利数据到水利数据中心的实时汇集,海量水利数据的集中存储,结构化数据和非结构化数据的统一管理,以及有效的数据分析和挖掘等。
本文在总结了水利大数据特征的基础上,分析了解决以上问题的关键技术,并提出了在传统水利数据中心的基础上,利用大数据技术建设现代水利数据中心的思路及架构。
当前,大数据的概念已经形成,但尚缺乏统一的定义。麦肯锡认为,大数据是“无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合”;Gartner认为,大数据是“需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产”。而判别大数据的主流标准是其是否具备“4V”特征:①(Volumn)大容量,存储空间大,计算量大;②(Variety)多样性,来源多,格式多;③(Velocity)快速,增长速度快,处理速度快;④(Value)价值,数据中包含着有价值的信息。
水利信息化长期的业务实践积累了大量分布异构独立的业务数据。遥感、GIS、传感网和射频技术等现代化信息化术的发展与应用,全面拓展了水利信息的空间尺度和要素类型。水利数据已逐渐呈现出多源、多维、大量和多态的大数据特性。在经过大量调研基础上,水利大数据的特征概括为以下5点,①数据量大:水利数据量在数百TB或PB以上;②来源及形式多样:包括勘测、规划、设计、施工、管理等多种来源,以及长系列的结构化、半结构化数据和大量非结构化数据;③持续增长:在水利行业各领域和环节的信息化应用不断增加,监测密度及指标不断提升,数据增加速度不断加快;④数据价值高:水利数据是水利工程建设、管理及水行政业务处置的依据,蕴含较高的价值;⑤实时或准实时要求:部分水利数据(如水利工程安全监测、地质监测等)是判别应急事件的依据,存在实时或准实时处理的需求。
为解决水利大数据集中存储以及结构化数据和非结构化数据统一管理的问题,可利用关系型数据库与分布式文件系统结合的方式应对。ApacheHadoop作为Apache2.0许可协议发布的开源软件框架,不仅能够支持大数据密集型分布式存储,而且具备强大的批量数据处理和分析能力,常被用于进行离线数据的存储与分析,作为关系型数据库管理系统的补充。Hadoop是根据Google公司发表的MapReduce和GFS(Google档案系统)的论文自行实现而成,与传统关系型数据库的比较。
Hadoop与传统关系型数据库对比表
Hadoop框架透明地为应用提供大数据存储和访问的可靠性及数据自动化分布与移动。首先,Hadoop实现了名为MapReduce的编程范式,将应用程序分割成许多小部分,每个部分都能在集群中的任意节点上执行或重新执行;其次,Hadoop提供了HDFS分布式文件系统,用于存储所有计算节点的数据,为整个集群带来了非常高的数据带宽。MapReduce编程范式和HDFS分布式文件系统的设计,使整个框架能够自动处理节点故障。除了MapReduce和HDFS分布式文件系统,Hadoop架构中采用Zookeeper提供集群内的协调管理服务,使用HBase列式数据库存储与管理数据,通过Pig、Hive、Mahout实现数据挖掘分析。
Hadoop架构图
在水利数据中心中,可通过Hadoop分布式文件系统存储历史监测数据、视频、图片、文件等非结构化和半结构化数据,并利用MapReduce批量计算处理历史监测数据,提供对监测数据的分析挖掘和模型计算。
在水利业务应用中,涉及大量对实时数据的处理,如雨水情、工情、水资源等监测数据和视频监控数据等,对应急事件的预警及决策处置意义重大。为实现大数据流的实时处理,可在水利数据中心架构中加入Storm实时计算框架。
与Hadoop擅长于存储处理离线数据不同,Storm的数据源可以是不断更新的,即收到一条数据便处理一条。通过Storm提供可靠地处理无限的数据流的能力,可实时处理Hadoop的批任务,同时实现视频流的实时处理以及专业模型的实时计算。
元数据是关于“数据的数据”,对数据进行描述,这些描述涉及基础属性(例如,结构和行为)、业务定义(包括字典和分类法)以及操作(如活动指标和使用历史)等特征。对于水利数据而言,元数据是对水利各种信息描述的数据。在水利数据中心中,应建设元数据管理维护系统,实现元数据实体维护,负责元数据的抽取与整合,形成对关系型数据库以及分布式文件系统中存储的各种监测数据、业务数据、视频、图像等数据的数据字典。在关系型数据库以及分布式文件系统中的数据进行变化时,元数据管理维护系统负责实现元数据及时自动更新。
当前,水利数据中心主要采用关系型数据库组织和管理结构化数据;地理空间数据的组织管理亦在关系型数据库的基础上扩展实现;半结构化或非结构化数据采用关系型数据库管理目录加文件存储方式组织管理。对于水利大数据的存储与应用需求,现有架构在数据存储、处理和分析挖掘等方面存在瓶颈。为此,本文提出了基于大数据的水利数据中心架构,包括数据汇集、数据存储、数据处理分析以及数据应用四个层次。
大数据水利数据中心建设架构图
(1)数据汇集
水利数据中心需对不同来源的异构数据进行汇集,主要包括上报采集数据、其他系统节点数据以及与其他领域交换的数据。上报采集数据主要为实时监测数据,可采取设备直连或现场服务器转发的形式接入;其他系统节点数据指水利业务范畴内已建成的应用系统中的业务数据的定时或不定时接入;其他领域交换数据指其他行业与水利相关的数据,如国土、气象等数据,通过定义好的接口或连接接入。
(2)数据存储
本文提出的水利数据中心架构将关系型数据和分布式文件系统融合,共同支撑水利大数据的存储。实时的、结构化的监测及业务处置数据和元数据利用关系型数据库存储,而历史监测数据、文档数据、图像数据和视频数据等半结构化和非结构化数据,可存储在Hadoop分布式文件系统中。两种存储方式并非独立存在,可采用数据抽取转换及装载工具(ETL)相互补充。
在水利数据中心,通过元数据库存储对水利数据中心中所有结构化、半结构化和非结构化数据的描述和定义,利用元数据技术定义并统一管理系统元数据,为系统提供更高的可用性与易用性。
(3)数据处理分析
水利大数据分析是根据主题化应用的需求进行数据处理分析,需应用并行计算或云计算体系下的数据挖掘、机器学习、统计分析等技术。存储于Hadoop中的海量水利数据,可以通过MapReduce实现数据分析计算。MapReduce将一个大数据集分解成多个独立的小数据段,分发到多个节点上进行快速、高效的并行计算,可有效解决单机处理中计算性能不足的难题。Hadoop的开源工具Hive基于MapReduce,提供了一套类似于数据库的数据存储和处理机制,将海量半结构化数据映射为表,并自动化产生MapReduce任务,对存储的数据进行处理。通过Hive提供的接口,可以有效的降低应用系统功能开发难度和对MapReduce作业的使用难度。
对于水利数据,还存在需要实时计算处理显示的实时监测数据。通过实时计算工具Storm处理消息和更新数据库,快速实时计算大量的监测数据,实现监测数据的实时展示、预警以及水库调度方案的实时生成和实时视频流的处理。
(4)数据应用
针对广泛的水利大数据应用,可构建大量高效的通用性或定制性服务,例如:水利工程安全监测、评估评价、运行维护等水利工程安全管理应用,面向防洪、发电、航运、农业、生态的水资源多目标优化调度等。通过对用户和业务数据的分析挖掘,智能地获取用户最感兴趣的数据指标。同时,利用水利一张图和统一门户,可通过统一简洁的界面,直观的向用户展示各种实时和历史信息以及分析预报的结果,以帮助用户正确理解和应用分析成果。
大数据技术推动着水利数据采集、管理及应用的迅速发展。本文提出了一种基于大数据技术的水利数据中心架构,以促进水利大数据在获取、管理、应用方面的能效提升。分布式文件系统、实时数据处理组件的引入,可满足多源、多结构水利数据统一存储和处理的需求。而以MapReduce为代表的大数据处理技术,可突破传统数据分析的视角,以截然不同的方式分析海量水利数据,其成果展示方式也将随之改变。随着大数据技术在水利行业不断地深入应用,行业用户的思维方式将迅速转变,越来越多的应用需求也将随之涌现,基于大数据技术的水利数据中心的研究范围和深度也将得到极大的提升和拓展。