基于流式计算框架的多线程数据处理方法、装置和介质制造方法及图纸

技术编号:27195293 阅读:22 留言:0更新日期:2021-01-31 11:48
本申请涉及一种基于流式计算框架的多线程数据处理方法、装置和存储介质,通过基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果;若未被处理的数据切片中存在事件时间戳小于目标窗口的结束时间戳的迟滞数据切片,则记录流式计算框架接收迟滞数据切片的系统时间戳;设置第二水位线,其中,第二水位线的延迟时间不小于迟滞数据切片的系统时间戳与目标窗口的结束时间戳之差;基于第二水位线重新触发目标窗口处理数据切片,得到第二处理结果,并根据第二处理结果校正第一处理结果,解决了基于流式计算框架的计算结果不准确的问题,在保证一定数据处理时效性的情况下,提升了计算结果的准确度。提升了计算结果的准确度。提升了计算结果的准确度。

【技术实现步骤摘要】
基于流式计算框架的多线程数据处理方法、装置和介质


[0001]本申请涉及大数据处理
,特别是涉及基于流式计算框架的多线程数据处理方法、电子装置和存储介质。

技术介绍

[0002]通常在大数据体系中,采用Flink处理实时数据是较优的选择。Flink是一种流式计算框架,用于对无界数据流和有界数据流进行有状态计算,其可在集群环境中运行,以内存执行速度和任意规模来对实时数据执行计算。在Flink中有三个时间概念,分别是事件时间戳(Event Time)、摄入时间戳(Ingestion Time)和系统时间戳(Processing Time)。事件时间戳代表在客观世界中产生的时间,比如用户点击网页产生了一条日志;摄入时间戳代表日志到达Flink的时间;系统时间戳代表操作算子计算日志的本地系统时间。当数据流入Flink中时,Flink采用窗口(Window)按照数据的摄入时间戳来划分数据。
[0003]图1是根据相关技术的Flink的滚动窗口示意图,如图1所示,分别有三个用户产生的数据流入Flink,Flink采用滚动窗口对数据做划分,滚动窗口分别如下所示:WA(1-5s)、WB(6-10s)、WC(11-15s),圆圈中的数字代表数据切片在客观世界中生成的相对顺序,比如序号1的数据切片比序号2的数据切片先生成。每个滚动窗口划分的长度相同,为窗口的开始时间戳减去结束时间戳,两个滚动窗口之间互不叠加。在数据生成、流经源端、再到窗口的过程中,流到窗口的数据通常都是按照事件时间戳来排序的,但是也不排除由于网络、分布式等原因,导致乱序的产生,即Flink接收到的数据的先后顺序不是严格按照数据的事件时间戳顺序排列的。
[0004]当存在网络延时的情况下,本来进入窗口A的2号数据在5秒内没有进入窗口A,但是它仍然在采集后出现在A窗口里面,这是因为Flink将每条日志的实际产生时间纪录下来,2号数据就是在1-5s产生的,Flink就会把它放在窗口A。只不过它是在6-10s的时候被放进去的。Flink内部会在预设时间后生成一个时间戳,它的值等于当前窗口的结束时间戳加预设延迟时间。
[0005]该机制就是水位线(Watermark)机制,可以理解成一个延迟触发机制,通过设置水位线的延迟时间t,窗口开放时,Flink会校验已经到达的数据的最大事件时间戳(maxEventTime),然后认定当前小于的所有数据都已经到达,如果有窗口的结束时间戳等于,那么这个窗口被关闭并触发执行,在最大事件时间戳的数据之后到达Flink的迟滞数据将不被该窗口计算。然而,该机制存在的缺陷为:若水位线设置过低,会导致大量数据因迟到而不被当前窗口接收,导致计算结果不准确;若水位线设置过高,只有等待时间到达水位线后才会触发当前窗口计算,导致计算的时效性低。
[0006]目前针对相关技术中基于流式计算框架的计算结果不准确的问题,尚未提出有效的解决方案。

技术实现思路

[0007]本申请实施例提供了一种基于流式计算框架的多线程数据处理方法、电子装置和存储介质,以至少解决相关技术中基于流式计算框架的计算结果不准确的问题。
[0008]第一方面,本申请实施例提供了一种基于流式计算框架的多线程数据处理方法,包括:基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果;若未被处理的数据切片中存在事件时间戳小于目标窗口的结束时间戳的迟滞数据切片,则记录流式计算框架接收迟滞数据切片的系统时间戳;设置第二水位线,其中,第二水位线的延迟时间不小于迟滞数据切片的系统时间戳与目标窗口的结束时间戳之差;基于第二水位线重新触发目标窗口处理数据切片,得到第二处理结果,并根据第二处理结果校正第一处理结果。
[0009]在其中一些实施例中,基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果包括:创建主线程;由主线程基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果;基于第二水位线重新触发目标窗口处理数据切片,得到第二处理结果包括:创建分线程;由分线程基于第二水位线触发目标窗口处理数据切片,得到第二处理结果。
[0010]在其中一些实施例中,在基于第二水位线重新触发目标窗口处理数据切片,得到第二处理结果之后,方法还包括:在由分线程基于第二水位线触发目标窗口处理数据切片,得到第二处理结果之后,释放分线程;或者,在流式计算框架处理完所有接收到的数据切片之后,释放分线程。
[0011]在其中一些实施例中,在基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果之后,方法还包括:获取目标窗口的标识信息,其中,目标窗口的标识信息包括目标窗口的开始时间戳;将经目标窗口处理的历史数据切片按照目标窗口的标识信息进行存储。
[0012]在其中一些实施例中,将经目标窗口处理的历史数据切片按照目标窗口的标识信息进行存储之后,方法还包括:判断历史数据切片的存储时长是否达到预设存储时长,在判断到历史数据切片的存储时长达到预设存储时长的情况下,删除存储的历史数据切片;或者,判断是否生成第二处理结果,在判断到生成第二处理结果的情况下,删除存储的历史数据切片。
[0013]在其中一些实施例中,若未被处理的数据切片中存在事件时间戳小于目标窗口的结束时间戳的迟滞数据切片,则方法还包括:存储迟滞数据切片。
[0014]在其中一些实施例中,在基于第二水位线重新触发目标窗口处理数据切片之前,方法还包括:获取已关闭窗口的开始时间戳和窗口长度;根据迟滞数据切片的事件时间戳和已关闭窗口的窗口长度,生成候选窗口开始时间戳区间;根据候选窗口开始时间戳区间,从已关闭窗口中提取开始时间戳落入候选窗口开始时间戳区间的窗口为目标窗口。
[0015]在其中一些实施例中,已关闭窗口包括滚动窗口或者滑动窗口。
[0016]第二方面,本申请实施例提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行如上述第一方面所述的基于流式计算框架的多线程数据处理方法。
[0017]第三方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被
处理器执行时实现如上述第一方面所述的基于流式计算框架的多线程数据处理方法。
[0018]相比于相关技术,本申请实施例提供的基于流式计算框架的多线程数据处理方法、电子装置和存储介质,通过基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果;若未被处理的数据切片中存在事件时间戳小于目标窗口的结束时间戳的迟滞数据切片,则记录流式计算框架接收迟滞数据切片的系统时间戳;设置第二水位线,其中,第二水位线的延迟时间不小于迟滞数据切片的系统时间戳与目标窗口的结束时间戳之差;基于第二水位线重新触发目标窗口处理数据切片,得到第二处理结果,并根据第二处理结果校正第一处理结果,解决了基于流式计算框架的计算结果不准确的问题,在保证一定数据处理时效性的情况下,提升了计算结果的准确度。
[0019]本申请的一个或多个实施例的细节在以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于流式计算框架的多线程数据处理方法,其特征在于,包括:基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果;若未被处理的数据切片中存在事件时间戳小于所述目标窗口的结束时间戳的迟滞数据切片,则记录流式计算框架接收所述迟滞数据切片的摄入时间戳;设置第二水位线,其中,所述第二水位线的延迟时间不小于所述迟滞数据切片的摄入时间戳与所述目标窗口的结束时间戳之差;基于所述第二水位线重新触发所述目标窗口处理数据切片,得到第二处理结果,并根据所述第二处理结果校正所述第一处理结果。2.根据权利要求1所述的基于流式计算框架的多线程数据处理方法,其特征在于,基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果包括:创建主线程;由所述主线程基于预先设置的所述第一水位线触发所述目标窗口处理数据切片,得到所述第一处理结果;基于所述第二水位线重新触发所述目标窗口处理数据切片,得到第二处理结果包括:创建分线程;由所述分线程基于所述第二水位线触发所述目标窗口处理数据切片,得到所述第二处理结果。3.根据权利要求2所述的基于流式计算框架的多线程数据处理方法,其特征在于,在基于所述第二水位线重新触发所述目标窗口处理数据切片,得到第二处理结果之后,所述方法还包括:在由所述分线程基于所述第二水位线触发目标窗口处理数据切片,得到所述第二处理结果之后,释放所述分线程;或者,在所述流式计算框架处理完所有接收到的数据切片之后,释放所述分线程。4.根据权利要求1所述的基于流式计算框架的多线程数据处理方法,其特征在于,在基于预先设置的第一水位线触发目标窗口处理数据切片,得到第一处理结果之后,所述方法还包括:获取所述目标窗口的标识信息,其中,所述目标窗口的标识信息包括所述目标窗口的开始时间戳;将经所述目标窗口处理的历史数据切...

【专利技术属性】
技术研发人员:王秀双马旭东赵玉红李良敏赵春波
申请(专利权)人:浙江岩华文化科技有限公司
类型:发明
国别省市:

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

1