浅谈大数据时代实时流计算在石油企业中的应用前景展望

2022-12-28 12:42王琪
网络安全技术与应用 2022年4期
关键词:批处理流式数据流

◆王琪

浅谈大数据时代实时流计算在石油企业中的应用前景展望

◆王琪

(大庆油田有限责任公司第七采油厂数字化运维中心 黑龙江 163000)

随着数字化油田和企业信息化的发展,海量数据激增,现有的大数据处理方式不能满足日益增长的生产、分析需求,面对无穷无尽的数据洪流,需要一种手段来抓住并思考那些一闪而逝的瞬间。

大数据;石油行业;实时流计算

随着油田信息化的发展,数字油田迅速建立,大数据、实时数据、流式计算等概念广受关注。本文对目前各类实时流计算架构进行对比,找出适用于油田数字化建设的架构,并分析其应用前景,为油田数字化建设提供思路。

1 研究现状

目前石油企业每天都产生海量生产数据、工作数据,不同用户对数据的需求也显著不同。现阶段针对不同需求进行数据推荐,可能要十几分钟、一小时,甚至更久,这远远不能满足需要更快完成对数据的处理,而不是进行离线的批处理。而实时流计算技术能够抓住数据流的瞬间,分析并挖掘出数据的实时价值。

1.1 实时流式计算的概念

实时流式计算,就是RealTime Streaming Analyse,也称之为实时计算,或者是流式计算,可以理解为只要数据一直在产生,计算就持续地进行。实时流式计算被广泛应用于各个领域,并在大数据领域有了长足发展。

实时流式计算作为一种新型计算方式,具有以下三个特点:

(1)无限数据。是指持续增长并且基本上无限的数据集。这些通常被称为“流数据”,而与之相对的是有限的数据集。

(2)无界数据处理。是一种持续的数据处理模式,能够通过处理引擎重复处理上面的无限数据,是能够突破有限数据处理引擎瓶颈的。

(3)低延迟。并没有明确地定义延迟是多少,但我们都知道数据的价值将随着时间的流逝降低,时效性将是需要持续解决的问题。

1.2 实时流式计算的现状与发展

目前在大数据应用的各种热门领域,比如推荐系统在实践之初,受技术所限推荐时间较长,远远不能满足需要。在进行数据建模时,得到的会是一条条的数据,并随着时间流逝不断增长,需要进行实时的数据分析,解决大数据量、灾备、时序、时间窗口、性能等问题[1]。

不同于批量计算,需等待数据计算结果完成后,批量将数据传输到在线系统;流式计算作业在每次小批量数据计算后可以立刻将数据写入在线/批量系统,无需等待整体数据的计算结果,进一步做到实时计算结果的实时化展现。

流计算是一种持续、低时延、事件触发的计算作业。用户使用流计算的顺序是:提交流计算作业,等待流式数据触发流计算作业,计算结果持续不断对外写出[2]。

指标批量计算流式计算数据集成方式预先加载数据,实时加载数据,并且实时计算使用方式,业务逻辑可以修改,数据也可重新计算。但是业务逻辑一旦修改,之前的数据不可重新计算(流数据易逝性)。在大部分大数据处理场景下,受限于当前流计算的整个计算模型较为简单。流计算是批量计算的有效增强,特别在于对事件流处理时效性上,流计算对于大数据计算是一个不可或缺的增值服务。

流式计算正是蓬勃发展的时期。为了反映现实世界事件驱动的特性,为了对接消息队列事件驱动的设计,还为了获得更好的时延,越来越多的业务采用流式计算系统来处理它们的数据。在批流统一的理论指导下,可想而知,未来的计算是属于流式计算的天下。

2 技术选择

2.1 流式计算框架的技术选型

随着这些年大数据的飞速发展,出现了不少流计算的框架、引擎。实时数据流计算主要是Storm和Spark以及Apache Flink。三大类数据的实时处理逻辑在全链路上保证了流式计算的低时延。

在过去几年,业界的主流计算引擎大多采用Spark Streaming,随着近两年Flink的快速发展,Flink的使用也越来越广泛。

Spark Streaming是Spark最早推出的流处理组件,它基于流式批处理引擎,基本原理是将输入数据按一定时间间隔进行微批次批处理,随着处理时间缩短至秒级,便可以用于实时数据流。它是以批处理引擎为基础产生的,所以它的处理存在延时较大的问题,一般为秒级延迟[3]。

Storm提供了At Least Once消息保障机制。主要分为以下三种:第一个就是一次性最大值(At Most Once),但不能保证消息不丢失。第二个就是至少会收到一次(重复)信息(At Least Once)。第三个是只有一次(At Exactly Once),精准传输。如果你采用了Storm的Low Level实现,根据业务场景,可能需要去处理重复消息。

Storm要先设计一个针对实时计算的拓扑。拓扑将被提交到集群中,由主控节点分发代码并将任务分配给工作节点执行。一种拓扑结构包括两种角色:分别是Spout角色和Bolt角色,前者在其中发送信息并负责以元组形式发送数据流。后者负责数据流的转换,完成计算、过滤等。由Spout发出的Tuple是一个不可变数组,有固定的键值对相互对应。

2014年12月,Apache Flink作为Apache的顶级项目诞生,历经数年发展,在这两年逐渐出现在大众面前。Apache Flink作为一个框架和分布式处理引擎,具有毫秒级的流处理引擎,可以对有界数据流和无界进行状态计算。Apache Flink是新的Stream计算引擎,用Java实现,既可以处理Stream Data也可以处理Batch Data,可以同时兼顾Spark以及Spark Streaming的功能。与Spark不同的是,Apache Flink本质上只有Stream的概念,Batch被认为是Special Stream。Apache Flink在运行中主要由三个组件组成,JobClient,JobManager 和TaskManager。

Apache Flink是真正的流式计算,和Spark Streaming相反。Apache Flink把离散的数据,当成流式数据来处理。Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。Apache Flink在实现流处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和批处理,将二者统一起来:Apache Flink完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。基于同一个Apache Flink运行时(Flink Runtime),分别提供了流处理和批处理API,而这两种API也是实现上层面向流处理、批处理类型应用框架的基础[4]。

Flink支持增量迭代,具有对迭代自动优化的功能,在迭代式数据处理上,比Spark更突出,Flink基于每个事件一行一行地流式处理,是真正的流式计算,其本质与Storm性能差不多,支持毫秒级计算,而Spark则只能支持秒级计算。基于石油行业的迅速发展,智慧油田的建设日新月异,Flink显然更适应当前油田发展的需要。

3 应用前景展望

随着智慧油田、智能油田的建设,实时数据流计算将更广泛地应用于以下场景。

3.1 日志分析

比如对网站的用户访问日志进行实时的分析,计算访问量、用户画像、顿率、延迟、丢包、存率等等,帮助企业进行决策部署。

3.2 出行、生产监控联网

如今的油田联网是已不限于物联网,还包括对用户、交通等进行分析的一个庞大的系统,改善用户出行,规划路线巡检,以及油田安保问题监控。并针对监测结果反馈实时分析,远程调控,实时跟踪并显示设备(比如汽车)的位置。

3.3 油田物联网

比如对油水井采集系统进行实时的数据检测、报警、实时的显示,或根据历史数据进行实时的分析、预测。设备故障报警:极快感知、识别到故障的发生,并及时发出警示通知。

3.4 实时数仓

实时数仓是在当下流行的数仓、它综合了Stream Analytics和Pipeline。它与传统数仓最大的区别是,它能够把前方的业务数据实时进行清洗、汇聚、加工,最后写入实时服务这一层。实时数仓最核心的是把业务的整个链路进行实时化了,这就极大满足了一些需要实时看数据的业务需求。

3.5 在线培训行业应用

由于近两年疫情的关系,在线培训应用广泛,倒逼传统教育向在线教育的转型。在线教育行业面临着很大的实时自动化的需求,对实时化有强烈的诉求,实时流计算在在线教育方面有着广阔的应用前景。

此外,还有更多的领域需要应用到实时流计算。在这个过程中具体的业务,以及与技术结合能产生什么样的价值,还需要不断地探索。

4 结论与认识

随着大数据时代的到来,在油田开发的过程中,油田数字化建设不断深入,积累了大量数据资源,数据发展已经到了变革时代,这迫使工作者们必须具备处理海量数据的能力。随后,大数据技术日趋完善、逐渐发展的过程又进一步促进社会产生更多、更丰富的数据资源。同时,随着数据实时价值日益提升,工业生产、企业发展对数据时效性要求也更加强烈,石油企业对实时数据的管理需求也日益迫切。实时流计算作为一种前沿的技术,能够很大程度地支撑油田企业信息化、数字化的发展需求。

[1]陈杰.本地文件系统数据更新模式研究[D].华中科技大学,2014.

[2]刘洋.层次混合存储系统中缓存和预取技术研究[D].华中科技大学,2013.

[3]李怀阳.进化存储系统数据组织模式研究[D].华中科技大学,2006.

[4]邓勇强,朱光喜,刘文明.LDPC码的低复杂度译码算法研究[J].计算机科学,2006(07).

猜你喜欢
批处理流式数据流
常熟开关新品来袭!CSX3系列电气防火限流式保护器
2种6色流式细胞术试剂检测淋巴细胞亚群的性能比较
数据流计算研究进展与概述
流式大数据数据清洗系统设计与实现
汽车维修数据流基础(上)
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
汽车维修数据流基础(下)
不装软件批处理为文件夹加锁
AADL端对端数据流一致性验证方法
借助批处理 让Cortana变聪明