一种基于流处理的内涝数据处理系统及其处理方法与流程

文档序号:12127435阅读:308来源:国知局

本发明属于大数据流处理的应用领域,具体而言涉及一种处理内涝数据的系统和方法。



背景技术:

随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐、用户行为分析等。

Spark Streaming是建立在Spark上的实时计算框架,通过它提供的丰富的API、基于内存的高速执行引擎,用户可以结合流式、批处理和交互试查询应用, Spark是一个类似于MapReduce的分布式计算框架,其核心是弹性分布式数据集,提供了比MapReduce更丰富的模型,可以在快速在内存中对数据集进行多次迭代,以支持复杂的数据挖掘算法和图形计算算法。Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。

Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume主要由3个重要的组件购成:

Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。

Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。

Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。

对现有程序改动最小的使用方式是使用是直接读取程序原来记录的日志文件,基本可以实现无缝接入,不需要对现有程序进行任何改动。

Flume逻辑上分三层架构:agent,collector和storage。

①agent

用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。

②collector

collector的作用是将多个agent的数据汇总后,加载到storage中。

③storage

storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase等。

目前,由于由于地理信息的特性,内涝模型的实时预测未能采用分布式计算来提高自身的计算效率。因此对于大面积内涝模型的计算,采用多个结点进行不同区域的计算然后将各个结点的处理结果进行处理。但是对于模型预测面积越来越大的时候,需要处理的数据也越来越多,单个工作站或者配置更高的服务器越来越难满足这种变化的需求。



技术实现要素:

为克服现有技术中的不足,本发明的目的在于提供一种基于流处理的内涝数据处理系统以提高结果的展示效果的效率及实时性。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种基于流处理的内涝数据处理系统,其包括内涝模型计算模块、Flume模块、Kafka模块、SparkStreaming模块和应用系统;所述内涝模型计算模块将产生大量的内涝预测技术结果数据,然后以Shp格式存储为Shp文件(Shp文件由ESRI开发,一个ESRI的Shp文件包括一个主文件,一个索引文件,和一个dBASE表,其中主文件的后缀就是.shp),所述Flume模块通过其Agent收集所述Shp文件,然后汇总到所述Flume模块的collector,所述Flume模块的Sink将日志输送到所述Kafka模块完成数据的生产流程,所述SparkStreaming模块追踪消费这个数据的偏移量或者offset进行消费,所述SparkStreaming模块中编写有解析所述Shp文件的程序,所述程序解析所述Shp文件后返回每次变化的结果,再传输给所述Kafka模块,再由所述应用系统和所述Kafka系统建立通信,监听特定的消息队列,获取变化的结果,完成GIS信息的展示。

本发明的另一个发明目的为提供一种基于流处理的内涝数据处理方法,其包括以下步骤:

1)通过内涝模型计算模块对结点进行不同区域的计算;

2)通过Flume模块将这些多个结点的预测计算结果进行收集处理;

3)通过SparkStreaming模块对收集的结果进行处理,以时间戳间隔将计算结果提交给流处理框架,在流处理框架中进行Shp文件的解析;

4)通过Kafka模块对同一个结点的结果,跟上一个时间的结果进行比较;

5)通过应用系统输出每个结点相对上一次结果,水深值不一样的三角网格进行输出。

本发明的有益效果是:

与现有技术相比,本发明的系统及其方法将内涝模型的计算结果用于流计算框架,提高内涝预警的展示的速度。能使管理者更快的采取防范措施,减少损失。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的系统框架示意图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

参见图1所示,一种基于流处理的内涝数据处理系统,其包括内涝模型计算模块1、Flume模块2、Kafka模块3、SparkStreaming模块4和应用系统5;所述内涝模型计算模块1将产生大量的内涝预测技术结果数据,然后以Shp格式存储为Shp文件,所述Flume模块2通过其Agent收集所述Shp文件,然后汇总到所述Flume模块2的collector,所述Flume模块2的Sink将日志输送到所述Kafka模块3完成数据的生产流程,所述SparkStreaming模块4追踪消费这个数据的偏移量或者offset进行消费,所述SparkStreaming模块4中编写有解析所述Shp文件的程序,所述程序解析所述Shp文件后返回每次变化的结果,再传输给所述Kafka模块3,再由所述应用系统5和所述Kafka系统3建立通信,监听特定的消息队列,获取变化的结果,完成GIS信息的展示。

本实施例的内涝数据处理系统的处理方法如下:

1)通过内涝模型计算模块1对结点进行不同区域的计算;

2)通过Flume模块2将这些多个结点的预测计算结果进行收集处理;

3)通过SparkStreaming模块4对收集的结果进行处理,以时间戳间隔将计算结果提交给流处理框架,在流处理框架中进行Shp文件的解析;

4)通过Kafka模块3对同一个结点的结果,跟上一个时间的结果进行比较;

5)通过应用系统5输出每个结点相对上一次结果,水深值不一样的三角网格进行输出。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1