基于Flink的站点滑动降雨量累积实时计算方法及系统与流程

文档序号:32439530发布日期:2022-12-06 20:53阅读:165来源:国知局
基于Flink的站点滑动降雨量累积实时计算方法及系统与流程
基于flink的站点滑动降雨量累积实时计算方法及系统
技术领域
1.本发明涉及数据处理技术领域,具体地说是基于flink的站点滑动降雨量累积实时计算方法及系统。


背景技术:

2.apache flink是由apache软件基金会开发的开源流处理框架,其核心是用java和scala编写的分布式流数据引擎。flink以数据并行(分布式)和流水线方式执行任意流数据程序,flink的流水线运行系统可以执行批处理和流处理程序。
3.站点降雨累积是指测站降雨累积统计,目前常用的降雨累积量是整点降雨累积量,有1小时、3小时、6小时、12小时、24小时降雨累积量。小时降雨定义为每1小时的降雨累积量,整点数据为上1个小时的总降雨量。
4.随着监测技术的提高,目前雨量站的监测频率普遍提高到5分钟1次,提供了更加准确的实时数据。降雨累积量的统计提升到每5分钟累计一次,可以更准确的获得降雨累积以及降雨极值出现的时间。通过使用flink分布式流处理引擎技术,可将实时上报的降雨数据进行累计计算,从而将累积降雨量的统计尺度由原来的整时段统计,提升到每5分钟1次累积降雨量统计,得到更精细频次的累积降雨量,为滑动降雨累积计算和雨量极值发生的时间点定位提供了更准确更快速的技术手段。
5.如何准确快速的计算累计降雨量,并提高站点累计降雨的计算频次,是需要解决的计算问题。


技术实现要素:

6.本发明的技术任务是针对以上不足,提供基于flink的站点滑动降雨量累积实时计算方法及系统,来解决如何准确快速的计算累计降雨量,并提高站点累计降雨的计算频次的技术问题。
7.第一方面,本发明的一种基于flink的站点滑动降雨量累积实时计算方法,包括如下步骤:
8.对于各个雨量监测站基于预定频率定时上报雨量监测数据,通过flink的连接器接入每个雨量监测站上报的雨量监测数据,并对雨量监测数据进行解析得到雨量监测值;
9.基于各个雨量监测站对应的雨量监测值,通过flink分布式计算每个雨量监测站在各个预定长度时间段的滑动降雨累积量;
10.将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库;
11.通过flink提供的界面展示每个雨量监测站在各个预定长度时间段的滑动降雨累积量,并提供每个雨量监测站在各个预定长度时间段的滑动降雨累积量查询。
12.作为优选,通过flink的连接器接入每个雨量监测站上报的雨量监测数据之前,通过flink提供的流数据datastream api或batch processing api获取执行环境。
13.作为优选,所述雨量监测数据为报文格式;
14.通过flink的连接器接入每个雨量监测站上报的雨量监测数据后,基于报文解析协议对雨量监测数据进行解析得到雨量监测值。
15.作为优选,将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库之前,flink基于sink方法与数据库建立连接。
16.作为优选,还包括如下步骤:
17.基于每个雨量监测站在各个预定长度时间段的滑动降雨累积量,生成各个雨量监测站的单日降雨累计曲线,并通过flink提供的界面展示各个雨量监测站的单日降雨累计曲线。
18.第二方面,本发明的一种基于flink的站点滑动降雨量累积实时计算系统,用于通过如第一方面任一项所述的一种基于flink的站点滑动降雨量累积实时计算方法计算各个雨量监测站的滑动降雨累积量,所述系统包括:
19.数据库;
20.flink,所述flink通过界面与用户交互,用于执行:
21.对于各个雨量监测站基于预定频率定时上报雨量监测数据,通过连接器接入每个雨量监测站上报的雨量监测数据,并对雨量监测数据进行解析得到雨量监测值;
22.基于各个雨量监测站对应的雨量监测值,分布式计算每个雨量监测站在各个预定长度时间段的滑动降雨累积量;
23.将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库;
24.通过界面展示每个雨量监测站在各个预定长度时间段的滑动降雨累积量,并提供每个雨量监测站在各个预定长度时间段的滑动降雨累积量查询。
25.作为优选,所述flink通过连接器接入每个雨量监测站上报的雨量监测数据之前,用于通过流数据datastream api或batch processing api获取执行环境。
26.作为优选,所述雨量监测数据为报文格式;
27.所述flink通过连接器接入每个雨量监测站上报的雨量监测数据后,用于基于报文解析协议对雨量监测数据进行解析得到雨量监测值。
28.作为优选,将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库之前,所述flink用于基于sink方法与数据库建立连接。
29.作为优选,所述flink还用于执行:
30.基于每个雨量监测站在各个预定长度时间段的滑动降雨累积量,生成各个雨量监测站的单日降雨累计曲线,并通过界面展示各个雨量监测站的单日降雨累计曲线。
31.本发明的基于flink的站点滑动降雨量累积实时计算方法及系统具有以下优点:
32.1、各个雨量监测站通过预定的上报频率定时上报雨量监测数据,实现了雨量监测数据的实时累计计算,改变了原来降雨量极值发生的时间只能是整点数据统计,提高了降雨极值发生时间段判断的准确性,对暴雨、特大暴雨等极端天气的研究,提高了准确性和可靠性;
33.2、可对多个站点进行分布式同步计算,提高了计算效率,节省了计算时间;
34.2、能支持整时段滑动降雨累积和非整时段滑动降雨累积计算,可应用到日降雨量累积计算中,提升了累积降雨计算频次,可准确、快速、有效地计算日降雨累积数值、小时降雨量极值发生时间,同时可准确定位降雨极值发生的时间。
附图说明
35.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.下面结合附图对本发明进一步说明。
37.图1为实施例1一种基于flink的站点滑动降雨量累积实时计算方法的流程框图。
具体实施方式
38.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
39.本发明实施例提供基于flink的站点滑动降雨量累积实时计算方法及系统,用于解决如何准确快速的计算累计降雨量,并提高站点累计降雨的计算频次的技术问题。
40.实施例1:
41.本发明一种基于flink的站点滑动降雨量累积实时计算方法,包括如下步骤:
42.s100、对于各个雨量监测站基于预定频率定时上报雨量监测数据,通过flink的连接器接入每个雨量监测站上报的雨量监测数据,并对雨量监测数据进行解析得到雨量监测值;
43.s200、基于各个雨量监测站对应的雨量监测值,通过flink分布式计算每个雨量监测站在各个预定长度时间段的滑动降雨累积量;
44.s300、将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库;
45.s400、通过flink提供的界面展示每个雨量监测站在各个预定长度时间段的滑动降雨累积量,并提供每个雨量监测站在各个预定长度时间段的滑动降雨累积量查询。
46.步骤s100获取雨量监测数据。雨量监测数据通过雨量计等感知设备上报,上报频率设定为每5分钟上报1次。感知设备上报的数据通过网络层向数据中心传输数据流,上报的数据格式设定为报文格式。通过flink的连接器接入上报的数据流,按照报文解析协议,读取报文数据,得到每次上报的雨量监测值。
47.步骤s100在执行过程中,通过flink提供的流数据datastream api或batch processing api,编程先获取执行环境,然后通过连接器(connectors)获取雨量监测数据源。
48.步骤s200处理雨量监测数据。对每个雨量监测站点上报的数据,经过解析之后,5分钟累计一次即接收到一条上报数据就累计一次,形成5分钟、10分钟、15分钟
……
60分钟累积量,最终形成整时段的滑动降雨累积量。所有雨量监测站点上报的数据可通过flink分布式同步计算。
49.步骤s300存储计算结果。对上一步计算的数据,通过flink的sink方法,建立与mysql数据库的连接方式,将计算好的数据存入到mysql数据中,便于后续的结果展示。
50.步骤s400通过flink提供的界面展示滑动降雨累积结果,并通过界面实现站点滑
动降雨累积查询。通过该步骤不仅实现整时段统计,也可实现任意时间段降雨累积查询。同时根据计算结果,可生产单站日降雨累积曲线,可准确定位降雨最大值出现的时间。
51.具体的,对于单日降雨累计曲线的实现方法为:在该过程中,基于每个雨量监测站在各个预定长度时间段的滑动降雨累积量,生成各个雨量监测站的单日降雨累计曲线,并通过flink提供的界面展示各个雨量监测站的单日降雨累计曲线。
52.本实施例的方法通过flink提供的流数据datastream api或batch processing api,编程先获取执行环境,然后通过连接器(connectors)获取雨量监测数据源,接下来利用各种转换函数对雨量监测数据进行处理,最后将处理的数据保存到mysql数据库中。通过该方法对监测站点实时上报的数据进行累计计算,将原来常用的整时段累计统计计算提升为每5分种计算1次,统计尺度更精细,为滑动降雨累积计算和雨量极值发生的时间点定位提供更准确更快速的计算。
53.实施例2:
54.本发明一种基于flink的站点滑动降雨量累积实时计算系统,包括数据库和flink,该系统通过实施例1公开的方法计算各个雨量监测站的滑动降雨累积量。
55.所述flink通过界面与用户交互,用于执行:
56.对于各个雨量监测站基于预定频率定时上报雨量监测数据,通过连接器接入每个雨量监测站上报的雨量监测数据,并对雨量监测数据进行解析得到雨量监测值;
57.基于各个雨量监测站对应的雨量监测值,分布式计算每个雨量监测站在各个预定长度时间段的滑动降雨累积量;
58.将每个雨量监测站在各个预定长度时间段的滑动降雨累积量存储至数据库;
59.通过界面展示每个雨量监测站在各个预定长度时间段的滑动降雨累积量,并提供每个雨量监测站在各个预定长度时间段的滑动降雨累积量查询。
60.flink用于获取雨量监测数据。雨量监测数据通过雨量计等感知设备上报,上报频率设定为每5分钟上报1次。感知设备上报的数据通过网络层向数据中心传输数据流,上报的数据格式设定为报文格式。通过flink的连接器接入上报的数据流,按照报文解析协议,读取报文数据,得到每次上报的雨量监测值。
61.在执行过程中,通过flink提供的流数据datastream api或batch processing api,编程先获取执行环境,然后通过连接器(connectors)获取雨量监测数据源。
62.flink用于处理雨量监测数据。对每个雨量监测站点上报的数据,经过解析之后,5分钟累计一次即接收到一条上报数据就累计一次,形成5分钟、10分钟、15分钟
……
60分钟累积量,最终形成整时段的滑动降雨累积量。所有雨量监测站点上报的数据可通过flink分布式同步计算。
63.flink用于将计算结果存储至数据库。通过flink的sink方法,建立与mysql数据库的连接方式,将计算好的数据存入到mysql数据中,便于后续的结果展示。
64.flink用于通过器提供的界面展示滑动降雨累积结果,并通过界面实现站点滑动降雨累积查询。其中不仅实现整时段统计,也可实现任意时间段降雨累积查询。
65.作为改进,flink用于基于每个雨量监测站在各个预定长度时间段的滑动降雨累积量,生成各个雨量监测站的单日降雨累计曲线,并通过界面展示各个雨量监测站的单日降雨累计曲线。
66.即该flink根据计算结果,可生产单站日降雨累积曲线,可准确定位降雨最大值出现的时间。
67.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1