System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种流式计算的水位线生成方法和电子设备。
技术介绍
1、在实时数据处理领域,数据从产生到加工的过程中,会经历复杂的网路io和运算过程,导致数据会乱序进入大数据处理系统。目前的大数据处理技术主要采用水位线延迟方法来解决乱序数据的延迟问题。
2、现有的水位线延迟方法依据人工经验设置一个固定的水位线延迟时间,其存在的缺陷是:延迟时间设置过短,可能丢失大量延迟数据,造成运算结果产生较大的误差;延迟时间设置过长,则会降低处理系统的实时性,导致数据处理延迟过长。
技术实现思路
1、本申请实施例的主要目的在于提出一种流式计算的水位线生成方法和电子设备。旨在通过对延迟时间值进行动态更新,来对水位线进行动态调整,从而可以有效地同时兼顾窗口计算的准确性和实时性。
2、为实现上述目的,本申请实施例的第一方面提出了一种流式计算的水位线生成方法,所述方法包括:
3、在当前周期,基于上一周期的延迟时间值,获取触发当前窗口关闭的触发事件,并基于所述触发事件确定所述当前窗口的所有事件的平均延迟时间;
4、获取所述上一周期对应的上一窗口的所有事件的平均延迟时间,并将所述当前窗口的所有事件的平均延迟时间与所述上一窗口的所有事件的平均延迟时间进行比较;
5、根据比较结果对所述上一周期的延迟时间值进行更新,得到所述当前周期对应的更新延迟时间值;
6、根据所述更新延迟时间值,重新获取触发所述当前窗口关闭的触发事件,并获取所述
7、根据所述触发事件对应的上报时间和所述更新延迟时间值,生成所述当前周期对应的水位线。
8、在本申请的一个实施例中,基于上一周期的延迟时间值,获取触发当前窗口关闭的触发事件包括:
9、获取所述当前窗口的结束时间;
10、判断当前事件对应的上报时间是否大于等于所述当前窗口的结束时间与所述上一周期的延迟时间值之和;
11、当所述当前事件对应的上报时间大于等于所述当前窗口的结束时间与所述上一周期的延迟时间值之和,则确定所述当前事件为触发所述当前窗口关闭的触发事件;
12、当所述当前事件对应的上报时间不大于等于所述当前窗口的结束时间与所述上一周期的延迟时间值之和,则继续获取下一事件,以下一事件为所述当前事件,并返回判断当前事件对应的上报时间是否大于等于所述当前窗口的结束时间与所述上一周期的延迟时间值之和的步骤。
13、在本申请的一个实施例中,基于所述触发事件确定所述当前窗口的所有事件的平均延迟时间,包括:
14、基于所述触发事件,确定落入所述当前窗口进行计算的所有事件;
15、获取落入所述当前窗口进行计算的所有事件分别对应的发生时间和上报时间;
16、根据落入所述当前窗口进行计算的所有事件分别对应的发生时间和上报时间,计算得到所述当前窗口的所有事件的平均延迟时间。
17、在本申请的一个实施例中,所述根据比较结果对所述上一周期的延迟时间值进行更新,得到所述当前周期对应的更新延迟时间值,包括:
18、计算所述上一窗口的所有事件的平均延迟时间与所述当前窗口的所有事件的平均延迟时间的第一比值;
19、根据所述第一比值和调整系数,计算得到调整幅度;
20、当所述当前窗口的所有事件的平均延迟时间大于等于所述上一窗口的所有事件的平均延迟时间,将所述上一周期的延迟时间值加上所述调整幅度,得到所述当前周期对应的更新延迟时间值;
21、当所述当前窗口的所有事件的平均延迟时间小于所述上一窗口的所有事件的平均延迟时间,将所述上一周期的延迟时间值减去所述调整幅度,得到所述当前周期对应的更新延迟时间值。
22、在本申请的一个实施例中,当所述当前窗口的所有事件的平均延迟时间小于所述上一窗口的所有事件的平均延迟时间,所述方法还包括:
23、将所述上一周期的延迟时间值减去所述调整幅度;
24、当所述上一周期的延迟时间值减去所述调整幅度的差值小于0,则将所述当前周期对应的延迟时间值更新为0;
25、当所述上一周期的延迟时间值减去所述调整幅度的差值大于等于0,则将所述当前周期对应的延迟时间值更新为所述上一周期的延迟时间值减去所述调整幅度的差值。
26、在本申请的一个实施例中,在将所述当前窗口的所有事件的平均延迟时间与所述上一窗口的所有事件的平均延迟时间进行比较之前,所述方法还包括:
27、获取所述当前窗口中的事件最大延迟时间,并计算所述当前窗口中的事件最大延迟时间与所有事件的平均延迟时间的第二比值;
28、获取截至到所述当前窗口并包括所述当前窗口在内的窗口的最大遗漏事件数量和所有窗口的遗漏事件数量总和,并计算截至到所述当前窗口并包括所述当前窗口在内的窗口的最大遗漏事件数量与所有窗口的遗漏事件数量总和的第三比值;
29、判断所述第二比值是否大于等于1小于等于2,和判断所述第三比值是否大于0小于0.2;
30、当所述第二比值大于等于1小于等于2,且所述第三比值大于0小于0.2,将所述当前窗口的所有事件的平均延迟时间与所述上一窗口的所有事件的平均延迟时间进行比较。
31、在本申请的一个实施例中,在得到所述当前周期对应的更新延迟时间值之后,所述方法包括:
32、判断所述当前周期对应的更新延迟时间值是否大于等于延迟时间阈值;
33、当所述当前周期对应的更新延迟时间值大于等于所述延迟时间阈值,判断所述当前周期获取的所有事件中是否存在标记事件;
34、当所述当前周期获取的所有事件中存在标记事件,则在接收到所述标记事件时生成所述当前周期对应的水位线。
35、在本申请的一个实施例中,判断所述当前周期获取的所有事件中是否存在标记事件,包括:
36、判断所述当前周期对应的所述当前窗口是否存在遗漏事件;
37、当所述当前周期对应的所述当前窗口存在遗漏事件,判断所述当前周期获取的所有事件中是否存在目标事件的上报时间减去所述当前窗口的处理时长的差值小于所述当前窗口的关闭时间,其中所述当前窗口的处理时长为所述当前窗口的开启至关闭的时长;
38、当所述当前周期获取的所有事件中存在目标事件的上报时间减去所述当前窗口的处理时长的差值小于所述当前窗口的关闭时间;
39、计算所述目标事件的延迟时间与所述当前窗口的所有事件的平均延迟时间的第四比值,并判断所述第四比值是否大于2且小于等于所述当前窗口中延迟事件的数量与所述延迟时间阈值的乘积;
40、当所述第四比值大于2且小于等于所述当前窗口中延迟事件的数量与所述延迟时间阈值的乘积,确定所述目标事件为标记事件。
41、在本申请的一个实施例中,计算所述目标事件的延迟时间包括:
42、获取所述目标事件对应的发生时间和上报时间;<本文档来自技高网...
【技术保护点】
1.一种流式计算的水位线生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于上一周期的延迟时间值,获取触发当前窗口关闭的触发事件包括:
3.根据权利要求1所述的方法,其特征在于,基于所述触发事件确定所述当前窗口的所有事件的平均延迟时间,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据比较结果对所述上一周期的延迟时间值进行更新,得到所述当前周期对应的更新延迟时间值,包括:
5.根据权利要求4所述的方法,其特征在于,当所述当前窗口的所有事件的平均延迟时间小于所述上一窗口的所有事件的平均延迟时间,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,在将所述当前窗口的所有事件的平均延迟时间与所述上一窗口的所有事件的平均延迟时间进行比较之前,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,在得到所述当前周期对应的更新延迟时间值之后,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,判断所述当前周期获取的所有事件中是否存在标记事件,包括:<
...【技术特征摘要】
1.一种流式计算的水位线生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于上一周期的延迟时间值,获取触发当前窗口关闭的触发事件包括:
3.根据权利要求1所述的方法,其特征在于,基于所述触发事件确定所述当前窗口的所有事件的平均延迟时间,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据比较结果对所述上一周期的延迟时间值进行更新,得到所述当前周期对应的更新延迟时间值,包括:
5.根据权利要求4所述的方法,其特征在于,当所述当前窗口的所有事件的平均延迟时间小于所述上一窗口的所有事件的平均延迟时间,所述方法还包括:
6.根据权...
【专利技术属性】
技术研发人员:周玉壮,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。