一种基于ApacheFlink的分布式流体动力学计算方法技术

技术编号:33154905 阅读:24 留言:0更新日期:2022-04-22 14:11
本发明专利技术公开了一种基于ApacheFlink的分布式流体动力学计算方法,包括如下步骤:数据采集:接收特定流域所产生的流体数据,使用分布式收集实时采集的流体数据;数据清洗:使用Flink平台的map算子拆分功能,将采集到的流体数据一行一行转换出来,使用Flink平台的flatmap算子拆分功能,将每条流体数据记录由一行转换成多行,使用Flink平台的keyby算子分区功能,将每条流体数据记录按照速度值字段进行数据分区,将相同的速度值放到同一个分区。本发明专利技术通过使用使用flink框架,数据实时性处理很强,不会产生数据的延迟,保证数据的一致性,数据的吞吐量很强,即数据可以频繁的写入到flink当中且不会丢失。到flink当中且不会丢失。到flink当中且不会丢失。

【技术实现步骤摘要】
一种基于Apache Flink的分布式流体动力学计算方法


[0001]本专利技术涉及流体动力学
,尤其涉及一种基于Apache Flink的分布式流体动力学计算方法。

技术介绍

[0002]随着计算机技术及大规模并行计算技术的迅猛发展,计算流体力学已经成为一种常用的流体力学研究方法,在科学研究和工程应用领域具有非常广泛的应用。然而,流体流动现象非常复杂,求解流体流动的控制方程难度较高,流体流场细节不足以满足相关的计算要求,计算效率不高,数据处理慢,且数据容易丢失。

技术实现思路

[0003]基于
技术介绍
存在的技术问题,本专利技术提出了一种基于Apache Flink的分布式流体动力学计算方法。
[0004]本专利技术提出的一种基于Apache Flink的分布式流体动力学计算方法,包括如下步骤:
[0005]S1数据采集:接收特定流域所产生的流体数据,使用分布式收集实时采集的流体数据;
[0006]S2数据清洗:使用Flink平台的map算子拆分功能,将采集到的流体数据一行一行转换出来,使用Flink平台的flatmap算子拆分功能,将每条流体数据记录由一行转换成多行,使用Flink平台的keyby算子分区功能,将每条流体数据记录按照速度值字段进行数据分区,将相同的速度值放到同一个分区,使用Flink平台的filter算子过滤功能,将分区数据过滤掉无用的数据,保留有用数据;
[0007]S3数据转换:使用Flink计算引擎解析清洗后的数据信息,并进行异步匹配对应的维度信息;
[0008]S4数据处理:令数据信息按照不同维度进行开窗计算,得到第一计算结果,将第一计算结果写入数据信息的分析层中,进行指标计算,得到第二计算结果,将第二计算结果进行封装,存储到分布式存储数据库中。
[0009]优选的,所述步骤S1接收特定流域所产生的流体数据,对接收特定流域所产生的流体数据进行汇总,并进行分类存储。
[0010]优选的,所述步骤S2还包括数据分析,数据分析采用大数据分析平台,大数据分析平台包括Direct Pipeline、Apache Spark、Apache Flink和Google Cloud Dataflow。
[0011]优选的,所述大数据分析平台包括数据处理模块,数据处理模块用于生成数据加工处理程序。
[0012]优选的,所述大数据分析平台包括编译模块,编译模块集成于大数据分析平台,用于对数据加工处理程序进行编译,转换为大数据分析平台可执行的程序代码。
[0013]优选的,所述步骤S4开窗计算步骤:将各个不同的数据按照不同维度进行开窗计
算,得到第一计算结果,所述第一计算结果中包括多种结果。
[0014]优选的,所述步骤S4结果封装步骤:令第一计算结果接入Apache Flink进行指标计算,过滤无效数据,按照类型进行分割后,进行开窗计算,把流体数据转换为Table流数据,使用FlinkSql对数据按照多维度进行分组排序,分别产生不同的指标,形成第二计算结果并进行封装。
[0015]优选的,所述步骤S4存储到分布式存储数据库中:将结果数据写入到分布式存储数据库中。
[0016]本专利技术中,所述一种基于Apache Flink的分布式流体动力学计算方法,通过使用使用flink框架,数据实时性处理很强,不会产生数据的延迟,保证数据的一致性,数据的吞吐量很强,即数据可以频繁的写入到flink当中且不会丢失。
附图说明
[0017]图1为本专利技术提出的一种基于Apache Flink的分布式流体动力学计算方法的流程图。
具体实施方式
[0018]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0019]参照图1,一种基于Apache Flink的分布式流体动力学计算方法,包括如下步骤:
[0020]S1数据采集:接收特定流域所产生的流体数据,使用分布式收集实时采集的流体数据;
[0021]S2数据清洗:使用Flink平台的map算子拆分功能,将采集到的流体数据一行一行转换出来,使用Flink平台的flatmap算子拆分功能,将每条流体数据记录由一行转换成多行,使用Flink平台的keyby算子分区功能,将每条流体数据记录按照速度值字段进行数据分区,将相同的速度值放到同一个分区,使用Flink平台的filter算子过滤功能,将分区数据过滤掉无用的数据,保留有用数据;
[0022]S3数据转换:使用Flink计算引擎解析清洗后的数据信息,并进行异步匹配对应的维度信息;
[0023]S4数据处理:令数据信息按照不同维度进行开窗计算,得到第一计算结果,将第一计算结果写入数据信息的分析层中,进行指标计算,得到第二计算结果,将第二计算结果进行封装,存储到分布式存储数据库中。
[0024]本专利技术中,步骤S1接收特定流域所产生的流体数据,对接收特定流域所产生的流体数据进行汇总,并进行分类存储。
[0025]本专利技术中,步骤S2还包括数据分析,数据分析采用大数据分析平台,大数据分析平台包括Direct Pipeline、Apache Spark、Apache Flink和Google Cloud Dataflow。
[0026]本专利技术中,大数据分析平台包括数据处理模块,数据处理模块用于生成数据加工处理程序。
[0027]本专利技术中,大数据分析平台包括编译模块,编译模块集成于大数据分析平台,用于对数据加工处理程序进行编译,转换为大数据分析平台可执行的程序代码。
[0028]本专利技术中,步骤S4开窗计算步骤:将各个不同的数据按照不同维度进行开窗计算,得到第一计算结果,第一计算结果中包括多种结果。
[0029]本专利技术中,步骤S4结果封装步骤:令第一计算结果接入Apache Flink进行指标计算,过滤无效数据,按照类型进行分割后,进行开窗计算,把流体数据转换为Table流数据,使用FlinkSql对数据按照多维度进行分组排序,分别产生不同的指标,形成第二计算结果并进行封装。
[0030]本专利技术中,步骤S4存储到分布式存储数据库中:将结果数据写入到分布式存储数据库中。
[0031]本专利技术:接收特定流域所产生的流体数据,使用分布式收集实时采集的流体数据;使用Flink平台的map算子拆分功能,将采集到的流体数据一行一行转换出来,使用Flink平台的flatmap算子拆分功能,将每条流体数据记录由一行转换成多行,使用Flink平台的keyby算子分区功能,将每条流体数据记录按照速度值字段进行数据分区,将相同的速度值放到同一个分区,使用Flink平台的filter算子过滤功能,将分区数据过滤掉无用的数据,保留有用数据;使用Flink计算引擎解析清洗后的数据信息,并进行异步匹配对应的维度信息;令数据信息按照不同维度进行开窗计算,得到第一计算结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Apache Flink的分布式流体动力学计算方法,其特征在于,包括如下步骤:S1数据采集:接收特定流域所产生的流体数据,使用分布式收集实时采集的流体数据;S2数据清洗:使用Flink平台的map算子拆分功能,将采集到的流体数据一行一行转换出来,使用Flink平台的flatmap算子拆分功能,将每条流体数据记录由一行转换成多行,使用Flink平台的keyby算子分区功能,将每条流体数据记录按照速度值字段进行数据分区,将相同的速度值放到同一个分区,使用Flink平台的filter算子过滤功能,将分区数据过滤掉无用的数据,保留有用数据;S3数据转换:使用Flink计算引擎解析清洗后的数据信息,并进行异步匹配对应的维度信息;S4数据处理:令数据信息按照不同维度进行开窗计算,得到第一计算结果,将第一计算结果写入数据信息的分析层中,进行指标计算,得到第二计算结果,将第二计算结果进行封装,存储到分布式存储数据库中。2.根据权利要求1所述的一种基于Apache Flink的分布式流体动力学计算方法,其特征在于,所述步骤S1接收特定流域所产生的流体数据,对接收特定流域所产生的流体数据进行汇总,并进行分类存储。3.根据权利要求1所述的一种基于Apache Flink的分布式流体动力学计算方法,其特征在于,所述步骤S2还包括数据分析,数据分析采用大数据分析平台,大数据分析平台包括Direct Pipeline、Apache ...

【专利技术属性】
技术研发人员:任南琪王爱杰王旭路璐冯骁驰
申请(专利权)人:澜途集思生态科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1