流数据处理方法、流处理系统、电子设备及计算机存储介质技术方案

技术编号:34744966 阅读:21 留言:0更新日期:2022-08-31 18:38
本申请实施例提供了一种流数据处理方法、流处理系统、电子设备及计算机存储介质,应用于第一流数据的第一数据源节点的流数据处理方法包括:接收第一流数据;按照预设的时间周期拉取第二流数据;将拉取的当前第二流数据与拉取的历史第二流数据进行比较,确定当前第二流数据相对于历史第二流数据的增量数据对应的增量数据标识;根据增量数据标识对接收的第一流数据中的多条数据进行过滤,确定与增量数据标识对应的部分第一流数据,并对部分第一流数据执行反序列化操作;将执行反序列化操作的部分第一流数据通过网络传输至数据连接节点,以使得数据连接节点基于数据标识将第二流数据和部分第一流数据进行连接。据和部分第一流数据进行连接。据和部分第一流数据进行连接。

【技术实现步骤摘要】
流数据处理方法、流处理系统、电子设备及计算机存储介质


[0001]本申请实施例涉及计算机
,尤其涉及一种流数据处理方法、流处理系统、电子设备及计算机存储介质。

技术介绍

[0002]数据仓库可直接从数据源处实时获取运行过程中涉及的各种流数据,并基于流式计算任务对获取的各个流数据进行合并,得到运行过程对应的多维度数据,进一步可以通过对多维度数据进行分析、汇总或者溯源等,得到用户需要的数据。
[0003]目前,一般采用双流连接(又称双流join)的方式进行流数据合并,但是双流连接耗费的处理资源较多,导致进行双流连接的成本较高,耗费的时间也较长。
[0004]基于此,现有技术亟需解决的技术问题是提供一种成本较低的流数据处理方案。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种流数据处理方案,以至少部分解决上述问题。
[0006]根据本申请实施例的第一方面,提供了一种流数据处理方法,应用于第一流数据的第一数据源节点,包括:接收第一流数据;按照预设的时间周期拉取第二流数据,所述第一流数据和所述第二流数据中包括多条数据,每条数据对应有数据标识;将拉取的当前第二流数据与拉取的历史第二流数据进行比较,确定所述当前第二流数据相对于所述历史第二流数据的增量数据对应的增量数据标识;根据所述增量数据标识对接收的所述第一流数据中的多条数据进行过滤,确定与所述增量数据标识对应的部分第一流数据,并对所述部分第一流数据执行反序列化操作;将执行反序列化操作的部分第一流数据通过网络传输至数据连接节点,以使得所述数据连接节点基于所述数据标识将所述第二流数据和所述部分第一流数据进行连接。
[0007]根据本申请实施例的第二方面,提供了一种流处理系统,包括与第一流数据对应的第一数据源节点、与第二流数据对应的第二数据源节点、数据连接节点;所述第一数据源节点,用于通过如上所述的方法,将执行反序列化操作的部分第一流数据通过网络传输至所述数据连接节点;所述第二数据源节点,用于对所述第二流数据执行所述反序列化操作,并将执行反序列化操作的所述第二流数据通过网络传输至所述数据连接节点;所述数据连接节点,用于基于数据标识将所述第二流数据和所述部分第一流数据进行连接。
[0008]根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述方法对应的操作。
[0009]根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
[0010]根据本申请实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,所
述计算机指令指示计算设备执行如第一方面所述的方法对应的操作。
[0011]根据本申请实施例提供的流数据处理方案,通过第一数据源节点,在接收第一流数据的同时,还按照预设的时间周期拉取第二流数据,所述第一流数据和所述第二流数据中包括多条数据,每条数据对应有数据标识;并可以将拉取的当前第二流数据与拉取的历史第二流数据进行比较,确定所述当前第二流数据相对于所述历史第二流数据的增量数据对应的增量数据标识;由此,可以根据所述增量数据标识对接收的所述第一流数据中的多条数据进行过滤,确定与所述增量数据标识对应的部分第一流数据,并对所述部分第一流数据执行反序列化操作,极大地减小了需要执行反序列化操作的第一流数据的数据数量,从而极大地减小了对第一流数据执行反序列化操作所耗费的资源,后续将执行反序列化操作的部分第一流数据通过网络传输至数据连接节点,以使得所述数据连接节点基于所述数据标识将所述第二流数据和所述部分第一流数据进行连接,还可以减少传输第一流数据所耗费的网络传输资源,以及减少数据连接节点处理第一流数据所耗费的处理资源,可以极大地减少流数据处理过程所耗费的资源,并缩短了处理时间。
附图说明
[0012]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0013]图1A、图1B示出了进行双流连接的原理示意图;
[0014]图2为适用本申请实施例的流数据处理方法的示例性系统的示意图;
[0015]图3为根据本申请实施例的一种流处理系统的架构示意图;
[0016]图4A为根据本申请实施例的一种流数据处理方法的步骤流程图;
[0017]图4B为图4A所示实施例的使用场景示意图;
[0018]图5A为根据本申请实施例的另一种流数据处理方法的步骤流程图;
[0019]图5B为根据本申请实施例的一种第一数据源节点的架构图;
[0020]图6为根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
[0021]为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
[0022]下面结合本申请实施例附图进一步说明本申请实施例具体实现。
[0023]为了更加清楚地说明本方案,现有通常采用的双流连接(双流join)进行说明。
[0024]通常采用的双流连接(双流join)可以分为两种方式,分别为哈希连接(hash join)和广播连接(broadcast join)。
[0025]参见图1A,示出了一种哈希连接的原理示意图。如图所示,流处理系统可以包括两个分别对应于流数据A和流数据B的数据源节点,多个数据连接节点join。
[0026]数据源A对应的数据源节点streamA和数据源B对应的数据源节点streamB可以在Shuffle过程中,按照相同的哈希规则对流数据A和流数据B中的数据标识key进行处理,并保证将相同的数据标识key(即图中的key1、key2、key3)对应的数据下发到同一个数据连接节点(join节点),在join节点可以存储streamA和streamB的各个数据(对应图中的stataA、stataB),并不断根据数据标识key进行流数据A和流数据B的数据反查,满足连接条件的最后进行结果result输出,连接条件可以为流数据A和流数据B中的数据标识key相同。
[0027]参见图1B,示出了一种广播连接的原理示意图。如图所示,流处理系统可以包括两个分别对应于流数据A和流数据B的数据源节点,多个数据连接节点join。
[0028]流数据B的数据源节点可以在Shuffle过程中,将数据流本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流数据处理方法,应用于第一流数据的第一数据源节点,包括:接收第一流数据;按照预设的时间周期拉取第二流数据,所述第一流数据和所述第二流数据中包括多条数据,每条数据对应有数据标识;将拉取的当前第二流数据与拉取的历史第二流数据进行比较,确定所述当前第二流数据相对于所述历史第二流数据的增量数据对应的增量数据标识;根据所述增量数据标识对接收的所述第一流数据中的多条数据进行过滤,确定与所述增量数据标识对应的部分第一流数据,并对所述部分第一流数据执行反序列化操作;将执行反序列化操作的部分第一流数据通过网络传输至数据连接节点,以使得所述数据连接节点基于所述数据标识将所述第二流数据和所述部分第一流数据进行连接。2.根据权利要求1所述的方法,其中,所述第一数据源节点中包括并行的主线程和第二异步线程,所述主线程用于执行所述反序列化操作,则所述根据所述增量数据标识对接收的所述第一流数据中的多条数据进行过滤,确定与所述增量数据标识对应的部分第一流数据,包括:若存在所述增量数据标识,则触发所述第二异步线程,根据所述增量数据标识对接收的所述第一流数据中的多条数据进行回溯操作,以确定与所述增量数据标识对应的部分第一流数据,并将所述部分第一流数据对应的各条数据存储至缓存队列中。3.根据权利要求2所述的方法,其中,所述对所述部分第一流数据执行反序列化操作,包括:通过所述主线程,读取所述缓存队列中包括的数据,并对读取出的各条数据执行所述反序列化操作;通过所述主线程,将执行过所述反序列化操作的各条数据对应的数据标识从所述增量数据标识中删除。4.根据权利要求2所述的方法,其中,所述第一数据源节点中还包括与所述主线程和所述第二异步线程并行的第一异步线程,所述按照预设的时间周期拉取第二流数据,包括:通过所述第一异步线程,按照预设的时间周期拉取所述第二流数据,并通过压缩缓存的方式存储拉取的所述第二流数据的多条数据对应的数据标识。5.根据权利要求4所述的方法,其中,所述第一异步线程的数量包括多个,多个所述第一异步线程按照预设时间周期同时拉取部分所述第二流数据,所述将拉取的当前第二流数据与拉取的历史第二流数据进行比较,确定所述当前第二流数据相对于所述历史第二流数据的增量数据对应的增量数据标识,包括:通过多个所述第一异步线程,将当前周期开始拉取所述第二流数据的拉取时间点作为时间分界点,将各自拉取的部分当前第二流数据与所述时间分界点之前拉取的历史第二流数据进行比较,确定多个所述第一异步线程各自对应的所述增量数据标识;通过多个所述第一异步线程,将各自对应的所述增量数据标识写入相同的增量存储单元中。6.根据权利要求1所述的方法,其中,所述接收第一流数据...

【专利技术属性】
技术研发人员:崔玮袁小栋
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1