基于Flink框架的数据处理方法、装置及电子设备制造方法及图纸

技术编号:37415391 阅读:10 留言:0更新日期:2023-04-30 09:39
本申请实施例提供的一种基于Flink框架的数据处理方法、装置及电子设备,应用于信息技术领域,通过获取待处理的第一数据和第一数据对应的第一时间戳;将第一数据缓存至预设数据集合中,并将第一时间戳缓存至有序时间队列中;当预设数据集合中数据的数量超过预设数量时,在有序时间队列中选取最前端的时间戳,得到第二时间戳;在预设数据集合中删除第二时间戳对应的数据;通过OVER AGGREGATE窗口对预设数据集合中的数据进行处理,得到当前的数据处理结果。通过本申请实施例的方法,在需要进行数据的删除时,只需要在有序时间队列中选取最前端的时间戳,并在预设数据集合中删除该时间戳对应的数据即可,无需遍历所有缓存的数据,从而提高数据的处理效率。从而提高数据的处理效率。从而提高数据的处理效率。

【技术实现步骤摘要】
AGGREGATE窗口的窗口大小的情况下,计算所述预设数据集合中数据的数量与该OVER AGGREGATE窗口的窗口大小的差值N;
[0015]从所述有序时间队列中的前端选取第N个时间戳,并在所述预设数据集合中选取所述第N个时间戳所对应的数据,得到该OVER AGGREGATE窗口的回撤数据;
[0016]获取该OVER AGGREGATE窗口最后一次输出的数据处理结果,根据所述最后一次输出的数据处理结果、所述回撤数据及所述第一数据,得到该OVER AGGREGATE窗口当前的数据处理结果。
[0017]可选的,所述方法还包括:
[0018]当所述第一时间戳过期时,将所述第一数据及所述第一时间戳删除;
[0019]所述将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中,包括:
[0020]当所述第一时间戳未过期时,将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中。
[0021]可选的,在所述通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到当前的数据处理结果之后,所述方法还包括:
[0022]针对每一个OVER AGGREGATE窗口,将该OVER AGGREGATE窗口的标识作为关键字,将该OVER AGGREGATE窗口的数据处理结果作为数据值,组成键值对;并将各所述OVER AGGREGATE窗口的键值对添加到同一个RowData数据中,得到当前聚合结果。
[0023]本申请实施例的第二方面,提供了一种基于Flink框架的数据处理装置,所述Flink框架包括至少一个OVER AGGREGATE窗口,所述装置包括:
[0024]数据获取模块,用于获取待处理的第一数据和所述第一数据对应的第一时间戳;
[0025]数据缓存模块,用于将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中,其中,所述有序时间队列中的数据按照数据时间先后的顺序进行排列;
[0026]时间戳确定模块,用于当所述预设数据集合中数据的数量超过预设数量时,在所述有序时间队列中选取最前端的时间戳,得到第二时间戳,其中,所述预设数量根据所述OVER AGGREGATE窗口的窗口大小确定,所述OVER AGGREGATE窗口的窗口大小表示所述OVER AGGREGATE窗口每次处理的数据的数量;
[0027]数据删除模块,用于在所述预设数据集合中删除所述第二时间戳对应的数据;
[0028]数据处理模块,用于通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到当前的数据处理结果。
[0029]可选的,在所述Flink框架包括一个OVER AGGREGATE窗口的情况下,所述预设数量为该OVER AGGREGATE窗口的窗口大小;
[0030]在所述Flink框架包括多个OVER AGGREGATE窗口的情况下,所述预设数量为窗口大小最大的OVER AGGREGATE窗口的窗口大小。
[0031]可选的,所述数据处理模块,包括:
[0032]差值计算子模块,用于针对任一个OVER AGGREGATE窗口,在所述预设数据集合中数据的数量大于该OVER AGGREGATE窗口的窗口大小的情况下,计算所述预设数据集合中数据的数量与该OVER AGGREGATE窗口的窗口大小的差值N;
[0033]回撤确定子模块,用于从所述有序时间队列中的前端选取第N个时间戳,并在所述预设数据集合中选取所述第N个时间戳所对应的数据,得到该OVER AGGREGATE窗口的回撤数据;
[0034]数据处理子模块,用于获取该OVER AGGREGATE窗口最后一次输出的数据处理结果,根据所述最后一次输出的数据处理结果、所述回撤数据及所述第一数据,得到该OVER AGGREGATE窗口当前的数据处理结果。
[0035]可选的,所述装置还包括:
[0036]时间戳删除模块,用于当所述第一时间戳过期时,将所述第一数据及所述第一时间戳删除;
[0037]所述数据获取模块,具体用于当所述第一时间戳未过期时,将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中。
[0038]可选的,所述装置还包括:
[0039]结果获取模块,用于针对每一个OVER AGGREGATE窗口,将该OVER AGGREGATE窗口的标识作为关键字,将该OVER AGGREGATE窗口的数据处理结果作为数据值,组成键值对;并将各所述OVER AGGREGATE窗口的键值对添加到同一个RowData数据中,得到当前聚合结果。
[0040]本申请实施例中另一方面,提供了一种电子设备,包括:
[0041]存储器,用于存放计算机程序;
[0042]处理器,用于执行存储器上所存放的程序时,实现上述任一基于Flink框架的数据处理方法。
[0043]本申请实施例中另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于Flink框架的数据处理方法。
[0044]本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于Flink框架的数据处理方法。
[0045]本申请实施例有益效果:
[0046]本申请实施例提供的一种基于Flink框架的数据处理方法、装置、电子设备及存储介质,可以所述Flink框架包括至少一个OVER AGGREGATE窗口,所述方法包括:获取待处理的第一数据和所述第一数据对应的第一时间戳;将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中,其中,所述有序时间队列中的数据按照数据时间先后的顺序进行排列;当所述预设数据集合中数据的数量超过预设数量时,在所述有序时间队列中选取最前端的时间戳,得到第二时间戳,其中,所述预设数量根据所述OVER AGGREGATE窗口的窗口大小确定,所述OVER AGGREGATE窗口的窗口大小表示所述OVER AGGREGATE窗口每次处理的数据的数量;在所述预设数据集合中删除所述第二时间戳对应的数据;通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到当前的数据处理结果。通过本申请实施例的方法,可以将获取到的第一数据缓存至预设数据集合中,而将第一时间戳按照数据时间先后的顺序缓存至有序时间队列中,在预设数据集合中数据的数量超过预设数量需要进行数据的删除时,只需要在所述有序时间队列中选取最前端的时间戳,并在所述预设数据集合中删除该时间戳对应的数据即可,无需遍历所有缓存的数据,从而提高数据的处理效率。
[0047]当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
[0048]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Flink框架的数据处理方法,其特征在于,所述Flink框架包括至少一个OVER AGGREGATE窗口,所述方法包括:获取待处理的第一数据和所述第一数据对应的第一时间戳;将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中,其中,所述有序时间队列中的数据按照数据时间先后的顺序进行排列;当所述预设数据集合中数据的数量超过预设数量时,在所述有序时间队列中选取最前端的时间戳,得到第二时间戳,其中,所述预设数量根据所述OVER AGGREGATE窗口的窗口大小确定,所述OVER AGGREGATE窗口的窗口大小表示所述OVER AGGREGATE窗口每次处理的数据的数量;在所述预设数据集合中删除所述第二时间戳对应的数据;通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到当前的数据处理结果。2.根据权利要求1所述的方法,其特征在于,在所述Flink框架包括一个OVER AGGREGATE窗口的情况下,所述预设数量为该OVER AGGREGATE窗口的窗口大小;在所述Flink框架包括多个OVER AGGREGATE窗口的情况下,所述预设数量为窗口大小最大的OVER AGGREGATE窗口的窗口大小。3.根据权利要求1所述的方法,其特征在于,所述通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到数据处理结果,包括:针对任一个OVER AGGREGATE窗口,在所述预设数据集合中数据的数量大于该OVER AGGREGATE窗口的窗口大小的情况下,计算所述预设数据集合中数据的数量与该OVER AGGREGATE窗口的窗口大小的差值N;从所述有序时间队列中的前端选取第N个时间戳,并在所述预设数据集合中选取所述第N个时间戳所对应的数据,得到该OVER AGGREGATE窗口的回撤数据;获取该OVER AGGREGATE窗口最后一次输出的数据处理结果,根据所述最后一次输出的数据处理结果、所述回撤数据及所述第一数据,得到该OVER AGGREGATE窗口当前的数据处理结果。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一时间戳过期时,将所述第一数据及所述第一时间戳删除;所述将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中,包括:当所述第一时间戳未过期时,将所述第一数据缓存至预设数据集合中,并将所述第一时间戳缓存至有序时间队列中。5.根据权利要求1所述的方法,其特征在于,在所述通过所述OVER AGGREGATE窗口对所述预设数据集合中的数据进行处理,得到当前的数据处理结果之后,所述方法还包括:针对每一个OVER AGGREGATE窗口,将该OVER AGGREGATE窗口的标识作为关键字,将该OVER AGGREGATE窗口的数据处理结果作为数据值,组成键值对;并将各所述OVER AGGREGATE窗口的键值对添加到同一个RowData数据中,得到当前聚合结果。6.一种基于Flink框架的数据处理装置,其特征在于,所述Flink框架包括至少一个
OVER AGGREGATE窗口,所述装置包括:数据获取模块,...

【专利技术属性】
技术研发人员:周利浦世亮陈小龙
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

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

1