System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据处理,更具体的说,尤其涉及一种实时流数据拼接方法和系统、电子设备、存储介质。
技术介绍
1、随着大数据技术的发展,企业对数据处理时效性要求越来越高,越来越多的场景采用实时流处理方式来提高数据处理时效。由于上游系统业务交易等特点,完整的交易要素往往会记录不同的库表当中,因此获取的实时流数据通常也是分散在不同的数据流中,后续对该业务行为进行实时分析时,首先需要把这些分散的数据元素聚合拼接成完整的交易宽表,下游再基于该交易宽表进行加工和分析处理。由于实时流数据存在乱序、并发度高等特点,加之各数据源流速不一致等原因,无法保证数据时刻同步,因此要把多个数据流中的数据进行拼接是比较困难,而基于实时流作业进行直接拼接的方法,存在需要维护待拼接数据的前后状态,技术架构复杂,不利于多个大规模数据流的实时拼接。
2、当前对实时流数据的拼接方法,通常包括2类:一种基于实时流框架的状态管理机制,将待拼接的数据流通过一定的缓存,当所有拼接数据到齐的情况下,输出拼接结果;另一类是基于关系存储引擎,将某些待拼接数据放入到数据库hbase等kv存储引擎中,当拼接数据到来时进行数据查找,并将查找的结果拼接在一起。
3、但是,现有实时流框架状态管理的机制,不利于缓存大规模的待拼接状态数据,当待拼接数据流中存在大量晚到、迟到消息时,会导致大量数据在状态种缓存管理,大大影响作业的运行效率和健壮性,不利于大规模实时流数据的拼接。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供
2、本申请第一方面公开了一种实时流数据拼接方法,包括:
3、从上游数据源中接入实时流数据;
4、将所述实时流数据中提取拼接键和拼接填充字段;
5、若所述拼接键在宽表中已记录,则根据所述宽表中已记录拼接键的实时流数据的拼接填充字段,按照拼接规则,填充所述宽表的相应拼接结果字段;
6、若所述拼接键在所述宽表中未记录,则在所述宽表中插入新数据,所述新数据用于记录所述宽表中未记录拼接键,并根据所述宽表中未记录拼接键的实时流数据的拼接填充字段,按照所述拼接规则,填充所述宽表的相应拼接结果字段;
7、当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果。
8、可选的,在所述从上游数据源中接入实时流数据之前,还包括:
9、配置实时流数据的拼接规则;所述拼接规则包括拼接条件,以及,各个所述实时流数据的拼接填充字段与所述宽表中拼接结果字段的映射关系。
10、可选的,所述按照拼接规则填充所述宽表的相应拼接结果字段,包括:
11、按照所述拼接规则中的实时流数据中的拼接填充字段与宽表中拼接结果字段的映射关系,将实时数据流的拼接填充字段填充至相应的拼接结果字段。
12、可选的,所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果,包括:
13、当任一个所述实时流数据的拼接填充字段填充至所述宽表中相应的拼接结果字段后,将所述实时流数据的拼接键发送至增量触发队列;
14、当所述增量触发队列满足特定条件时,输出所述拼接键对应的拼接结果。
15、可选的,所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果,包括:
16、当各个所述实时流数据的拼接填充字段均填充至所述宽表中相应的拼接结果字段后,输出各个所述拼接键对应的拼接结果。
17、本申请第二方面公开了一种实时流数据拼接系统,包括:
18、获取模块,用于从上游数据源中接入实时流数据;
19、信息提取模块,用于将所述实时流数据中提取拼接键和拼接填充字段;
20、信息更新模块,用于若所述拼接键在宽表中已记录,则根据所述宽表中已记录拼接键的实时流数据的拼接填充字段,按照拼接规则,填充所述宽表的相应拼接结果字段;若所述拼接键在所述宽表中未记录,则在所述宽表中插入新数据,所述新数据用于记录所述宽表中未记录拼接键,并根据所述宽表中未记录拼接键的实时流数据的拼接填充字段,按照所述拼接规则,填充所述宽表的相应拼接结果字段;
21、输出结果模块,用于当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果。
22、可选的,还包括:
23、配置模块,用于配置实时流数据的拼接规则;所述拼接规则包括拼接条件,以及,各个所述实时流数据的拼接填充字段与所述宽表中拼接结果字段的映射关系。
24、可选的,所述输出结果模块用于所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果时,具体用于:
25、当任一个所述实时流数据的拼接填充字段填充至所述宽表中相应的拼接结果字段后,将所述实时流数据的拼接键发送至增量触发队列;当所述增量触发队列满足特定条件时,输出所述拼接键对应的拼接结果;
26、或者,
27、当各个所述实时流数据的拼接填充字段均填充至所述宽表中相应的拼接结果字段后,输出各个所述拼接键对应的拼接结果。本申请第三方面公开了一种电子设备,包括:
28、一个或多个处理器;
29、存储装置,其上存储有一个或多个程序;
30、当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如本申请第一方面中任一项所述的实时流数据拼接方法。
31、本申请第四方面公开了一种存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如本申请第一方面中任一项所述的实时流数据拼接方法。
32、从上述技术方案可知,本专利技术提供的一种实时流数据拼接方法,包括:从上游数据源中接入实时流数据;将实时流数据中提取拼接键和拼接填充字段;若拼接键在宽表中已记录,则根据宽表中已记录拼接键的实时流数据的拼接填充字段,按照拼接规则,填充宽表的相应拼接结果字段;若拼接键在宽表中未记录,则在宽表中插入新数据,新数据用于记录宽表中未记录拼接键,并根据宽表中未记录拼接键的实时流数据的拼接填充字段,按照拼接规则,填充宽表的相应拼接结果字段;当实时流数据完成拼接后,输出拼接键对应的拼接结果;也即根据拼接键索引定位到宽表的记录行,引导各实时流数据直接更新宽表的拼接结果,避免了多流数据拼接中需要维护拼接前后大量数据状态等问题,有利于缓存大规模的实时流数据,支持晚到和迟到信息拼接,提高作用的运行效率和健壮行,支持大规模流数据拼接处理。
本文档来自技高网...【技术保护点】
1.一种实时流数据拼接方法,其特征在于,包括:
2.根据权利要求1所述的实时流数据拼接方法,其特征在于,在所述从上游数据源中接入实时流数据之前,还包括:
3.根据权利要求1所述的实时流数据拼接方法,其特征在于,所述按照拼接规则填充所述宽表的相应拼接结果字段,包括:
4.根据权利要求1所述的实时流数据拼接方法,其特征在于,所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果,包括:
5.根据权利要求4所述的实时流数据拼接方法,其特征在于,所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果,包括:
6.一种实时流数据拼接系统,其特征在于,包括:
7.根据权利要求6所述的实时流数据拼接系统,其特征在于,还包括:
8.根据权利要求6所述的实时流数据拼接系统,其特征在于,所述输出结果模块用于所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果时,具体用于:
9.一种电子设备,其特征在于,包括:
10.一种存储介质,其特征在于,其上存储有计算机程序,其中,计算
...【技术特征摘要】
1.一种实时流数据拼接方法,其特征在于,包括:
2.根据权利要求1所述的实时流数据拼接方法,其特征在于,在所述从上游数据源中接入实时流数据之前,还包括:
3.根据权利要求1所述的实时流数据拼接方法,其特征在于,所述按照拼接规则填充所述宽表的相应拼接结果字段,包括:
4.根据权利要求1所述的实时流数据拼接方法,其特征在于,所述当所述实时流数据完成拼接后,输出所述拼接键对应的拼接结果,包括:
5.根据权利要求4所述的实时流数据拼接方法,其特征在于,所述当所述实时流数据完成拼接后,输出所...
【专利技术属性】
技术研发人员:钟新斌,李志伟,李萌,刘一阳,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。