数据流处理方法、装置、设备及计算机存储介质与流程

文档序号:37584616发布日期:2024-04-18 12:10阅读:10来源:国知局
数据流处理方法、装置、设备及计算机存储介质与流程

本技术涉及计算机,尤其涉及数据流处理,提供一种数据流处理方法、装置、设备及计算机存储介质。


背景技术:

1、实时流计算,又称流式计算,是指数据流往往是到达后立即被计算并使用,只有极少数的数据才会被持久化地保存下来,大多数数据往往会被直接丢弃的一种计算方式。实时流计算中对于源源不断的流数据,会基于一个窗口(window)范围内的数据进行统计计算,每一个窗口都有一个时间范围,但在实际操作过程中,会出现超自然数据以及延迟数据等情况,超自然数据是由于服务器的时钟不准确所导致的,使得数据的生产时间(eventtime)出现了未来的时间,即超出了当前计算设备的最新时刻,延迟数据是指数据到达的时间超出了延迟容忍限度的数据。

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、在一种可能的实施方式中,所述分配基准确定单元,具体用于:

25、获取所述待处理数据对应的数据生产设备与当前设备之间的设备时间差;

26、基于所述设备时间差,对所述数据产生时刻进行时刻校正,获得所述校正后的数据产生时刻。

27、在一种可能的实施方式中,所述窗口分配单元,具体用于:

28、基于所述实时数据流所属的业务类型,确定所述实时数据流对应的时间窗口大小以及数据流处理周期;

29、确定所述分配基准时刻与当前所处的数据流处理周期的起始时刻之间的时间差,且所述时间差的取值方式与所述业务类型相匹配;

30、基于所述时间差与所述窗口大小,确定所述目标窗口标识。

31、在一种可能的实施方式中,所述聚合确定单元,具体用于:

32、基于所述当前所处的数据流处理周期以及所述分配基准时刻,确定所述待处理数据对应的周期标识,每个周期标识唯一对应一个数据流处理周期;

33、对所述目标窗口标识、所述周期标识以及所述数据标签进行拼接处理,获得所述数据聚合标识。

34、在一种可能的实施方式中,所述装置还包括分组单元,用于:

35、基于所述目标时间窗口包括的各个数据的数据聚合标识,对所述各个数据进行分组,并为每个分组分配相应的计算设备;其中,每个分组包括数据聚合标识相同的至少一个数据;

36、则所述发送单元,具体用于:

37、基于所述待处理数据的数据聚合标识,将所述待处理数据划分至相应的分组中,并将所述待处理数据发送至所述分组对应的计算设备。

38、一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。

39、一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。

40、一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。

41、本技术实施例中,接收实时数据流,并针对实时数据流中的待处理数据,会根据待处理数据的数据产生时刻与数据到达时刻,来确定待处理数据的目标处理类型,并基于数据产生时刻以及目标处理类型,获得为待处理数据分配窗口所需的分配基准时刻,从而基于该分配基准时刻,来确定待处理数据所属的目标时间窗口的目标窗口标识,并基于目标窗口标识以及待处理数据的数据标签,确定待处理数据的数据聚合标识,最终将待处理数据发送至数据聚合标识对应的计算设备,使得计算设备基于待处理数据,更新数据标签相对于目标时间窗口的关联数据。也就是说,本技术实施例通过结合待处理数据的目标处理类型,来获得为待处理数据分配窗口所需的分配基准时刻,而不是直接根据数据产生时刻来进行分配,有效的避免超自然数据和延迟数据无法正确分配窗口的问题,并且在本技术实施例中,也无需等待每个窗口中的数据全部到达后进行计算,而是将待处理数据的数据标签和窗口标识进行组合来得到数据聚合标识,并发送该数据聚合标识对应的计算设备进行处理,则相同数据聚合标识的待处理数据都会被发往同一计算设备,也就是同一窗口内相同数据标签的待处理数据只会通过相同的计算设备来进行计算,不管数据是否延迟到达,还是出现了超自然数据,计算设备收到数据即可进行计算,无需等待同一窗口的数据全部到达,提升了数据处理效率,并且不会对数据的处理过程造成影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1