【技术实现步骤摘要】
基于事件时序信息的分布式异构数据流合流方法
[0001]本专利技术涉及异构数据流的处理技术,具体涉及一种基于事件时序信息的异构数据流的Flink合流方法。
技术介绍
[0002]Flink作为一种分布式数据流处理框架,用于无边界和有边界的数据流上进行有状态(流处理过程中,前后数据存在一些逻辑关系,在处理时需要关注)的计算,在实时流处理领域中得到了越来越多的使用,对于不同异构(异构是指数据结构不同的数据集合)流水合流处理提供了一些基本的操作接口,但是考虑到真实的应用场景,Flink本身的合流功能有其局限性。
[0003]Flink可以通过联合(union)方法将拥有相同数据类型的流合并,但要求合并的流水必须是相同数据类型,对于异构的流水不支持;也可以实现基于窗口(Window)的流合并,但对于一些不使用窗口的Flink任务不适用;而通过连接(connect)方法,可以将两个流水合并为一个流水,但这种方法在事件时序要求严格的场景中会面临合流需要大量的复杂逻辑处理的问题,比如基于事件时间,要求不同流水时序满足某种对齐策略, ...
【技术保护点】
【技术特征摘要】
1.一种基于事件时序信息的分布式异构数据流合流方法,其特征在于,方法包括主数据流和辅数据流的两个处理流程,其中:主数据流的处理流程包括:步骤1
‑
1:接收主数据流数据存入到一级缓存;步骤1
‑
2:判断所接收到的主数据流数据是否满足一级缓存准出条件,如果满足则进入步骤1
‑
3,如果不满足则主数据流的处理流程结束;步骤1
‑
3:一级缓存提交到二级缓存;步骤1
‑
4:根据当前时间清除辅数据二级缓存中过期的数据;步骤1
‑
5:检查辅数据二级缓存中是否有值。如果有值则进入步骤1
‑
6,否则主数据流的处理流程结束;步骤1
‑
6:合并主辅二级缓存数据时,以主数据二级缓存中每个时刻的数据为基准,进行合并;辅数据流的处理流程包括:步骤2
‑
1:接收辅数据流数据进入一级缓存;步骤2
‑
2:判断所接收的辅数据流数据是否满足一级缓存,如满足则进入下一步,如果不满足则辅数据流的处理流程结束;步骤2
‑
3:将一级缓存提交到二级缓存;步骤2
‑
4:判断主数据流是否结束,如果结束则辅数据流的流程结束,如果未结束则进入步骤2
‑
5;步骤2
‑
5:合并主辅二级缓存数据时,以主数据二级缓存中每个时刻的数据为基准,进行合并。2.根据权利要求1所述的基于事件时序信息的分布式异构数据流合流方法,其特征在于,步骤1
‑
2中的主数据流数据的一级缓存准出条件包括:接收到下一个时刻的事件数据;或在某一时刻满足计算维度的所有数据都已经到达;或接收到数据流结束的事件。3.根据权利要求1所述的基于事件时序信息的分布式异构数据流合流方法,其特征在于,步骤1
‑
3中进一步包括:在二级缓存数据提交的过程中对数据进行补齐操作。4.根据权利要求1所述的基于事件时...
【专利技术属性】
技术研发人员:施周利,潘伟伟,
申请(专利权)人:上海金融期货信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。