处理乱序数据的方法、设备和可读存储介质技术

技术编号:32010337 阅读:15 留言:0更新日期:2022-01-22 18:27
本申请涉及分布式计算领域,提供了处理乱序数据的方法、设备和计算机可读存储介质,以使设置的延迟时间在处理乱序数据时,对数据的波动变化响应客观合理并且及时。所述方法包括:计算上一个事件处理周期内n条乱序数据每条乱序数据与上一条非乱序数据之间的时间戳绝对差值,得到n

【技术实现步骤摘要】
处理乱序数据的方法、设备和可读存储介质


[0001]本专利技术涉及分布式计算领域,特别涉及一种处理乱序数据的方法、设备和可读存储介质。

技术介绍

[0002]Flink作为分布式计算框架,在大数据实时处理领域发挥了重要作用,而对于乱序数据的处理,Flink也提供了一系列的处理方式,主要就是通过水印(watermark)、允许延迟时间及侧输出的方式来解决。而在这几个方式中,watermark的设置尤为重要,其允许的延迟时间的合理性,将会使整个流程的处理更加合理与严谨。然而,现有技术在设置watermark时是按照研发人员的经验进行。然而,这种设置方式具有一定的主观性,或者具有滞后性,从而导致设置不科学、不合理。

技术实现思路

[0003]本申请提供一种处理乱序数据的方法、设备和计算机可读存储介质,以使设置的延迟时间在处理乱序数据时,对数据的波动变化响应客观合理并且及时。
[0004]一方面,本申请提供了一种处理乱序数据的方法,所述方法包括:
[0005]计算上一个事件处理周期内n条乱序数据每条乱序数据与上一条非乱序数据之间的时间戳绝对差值,得到n

1个时间戳绝对差值,所述n为不小于20的自然数;
[0006]根据所述n

1个时间戳绝对差值,确定延迟时间T
d

[0007]在当前事件处理周期,根据当前时间窗口内收到的数据的时间戳和所述延迟时间T
d
,确定当前最新水位线;
[0008]根据所述当前最新水位线、所述当前时间窗口的右边界和所述延迟时间T
d
,确定是否触发所述当前时间窗口开始处理所述当前时间窗口内收到的数据。
[0009]可选地,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:按照大小顺序对所述n

1个时间戳绝对差值排序;将排序在指定顺序号对应的时间戳绝对差值确定为所述延迟时间T
d
,所述指定顺序号小于所述排序中最大排序号。
[0010]可选地,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:按照大小顺序对所述n

1个时间戳绝对差值排序;将所述排序中最大排序号对应的时间戳绝对差值确定为所述延迟时间T
d

[0011]可选地,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:求取所述n

1个时间戳绝对差值的正态分布N(μ,σ2);将所述正态分布N(μ,σ2)中均值μ对应的确定为所述延迟时间T
d

[0012]可选地,所述根据当前时间窗口内收到的数据的时间戳和所述延迟时间T
d
,确定当前最新水位线,包括:将所述当前时间窗口内收到的每个数据的时间戳与所述延迟时间T
d
求差,得到所述当前时间窗口内收到的每个数据对应的差值;将所述差值中最大的差值确定为所述当前最新水位线。
[0013]可选地,所述根据所述当前最新水位线、所述当前时间窗口的右边界和所述延迟时间T
d
,确定是否触发所述当前时间窗口开始处理所述当前收到的数据,包括:求取所述当前时间窗口内收到数据D
current
时所述当前最新水位线与所述延迟时间T
d
之间的差值;若所述差值等于所述当前时间窗口的右边界,则触发所述当前时间窗口开始处理所述当前时间窗口内收到的数据。
[0014]可选地,所述方法还包括:若在所述数据D
current
之后收到其他数据,则放弃对在所述数据D
current
之后收到的其他数据的处理;或者若所述差值大于所述当前时间窗口的右边界,则放弃对所述数据D
current
的处理。
[0015]另一方面,本申请提供了一种处理乱序数据的装置,所述装置包括:
[0016]计算模块,用于计算上一个事件处理周期内n条乱序数据每条乱序数据与上一条非乱序数据之间的时间戳绝对差值,得到n

1个时间戳绝对差值,所述n为不小于20的自然数;
[0017]第一确定模块,用于根据所述n

1个时间戳绝对差值,确定延迟时间T
d

[0018]第二确定模块,用于在当前事件处理周期,根据当前时间窗口内收到的数据的时间戳和所述延迟时间T
d
,确定当前最新水位线;
[0019]第三确定模块,用于根据所述当前最新水位线、所述当前时间窗口的右边界和所述延迟时间T
d
,确定是否触发所述当前时间窗口开始处理所述当前时间窗口内收到的数据。
[0020]第三方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的处理乱序数据的方法中的步骤。
[0021]第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的处理乱序数据的方法中的步骤。
[0022]从上述本申请提供的技术方案可知,一方面,由于延迟时间T
d
是根据n

1个时间戳绝对差值,该n

1个时间戳绝对差值是严格按照上一个事件处理周期内n条乱序数据每条乱序数据与上一条非乱序数据之间的时间戳计算得到,即延迟时间T
d
的获得具有客观性,为后续计算最新水位线提供了客观依据,避免了现有技术在确定水位线时依赖研发人员的经验,因此,根据当前最新水位线、当前时间窗口的右边界和延迟时间T
d
来确定是否触发当前时间窗口开始处理当前时间窗口内收到的数据具有合理性;另一方面,最新水位线和是否触发当前时间窗口开始处理当前时间窗口内收到的数据,都是基于事件处理周期进行,因此,对数据的波动变化即数据乱序的响应比较及时。
附图说明
[0023]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本申请实施例提供的处理乱序数据的方法的流程图;
[0025]图2是本申请实施例提供的处理乱序数据的装置的结构示意图;
[0026]图3是本申请实施例提供的设备的结构示意图。
具体实施方式
[0027]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理乱序数据的方法,其特征在于,所述方法包括:计算上一个事件处理周期内n条乱序数据每条乱序数据与上一条非乱序数据之间的时间戳绝对差值,得到n

1个时间戳绝对差值,所述n为不小于20的自然数;根据所述n

1个时间戳绝对差值,确定延迟时间T
d
;在当前事件处理周期,根据当前时间窗口内收到的数据的时间戳和所述延迟时间T
d
,确定当前最新水位线;根据所述当前最新水位线、所述当前时间窗口的右边界和所述延迟时间T
d
,确定是否触发所述当前时间窗口开始处理所述当前时间窗口内收到的数据。2.如权利要求1所述的方法,其特征在于,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:按照大小顺序对所述n

1个时间戳绝对差值排序;将排序在指定顺序号对应的时间戳绝对差值确定为所述延迟时间T
d
,所述指定顺序号小于所述排序中最大排序号。3.如权利要求1所述的方法,其特征在于,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:按照大小顺序对所述n

1个时间戳绝对差值排序;将所述排序中最大排序号对应的时间戳绝对差值确定为所述延迟时间T
d
。4.如权利要求1所述的方法,其特征在于,所述根据所述n

1个时间戳绝对差值,确定延迟时间T
d
,包括:求取所述n

1个时间戳绝对差值的正态分布N(μ,σ2);将所述正态分布N(μ,σ2)中均值μ对应的时间戳绝对差值确定为所述延迟时间T
d
。5.如权利要求1所述的方法,其特征在于,所述根据当前时间窗口内收到的数据的时间戳和所述延迟时间T
d
,确定当前最新水位线,包括:将所述当前时间窗口内收到的每个数据的时间戳与所述延迟时间T
d
求差,得到所述当前时间窗口内收到的每个数据对应...

【专利技术属性】
技术研发人员:韩旭东胡志鹏程龙刘勇成袁思思
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1