数据流对齐方法、装置、电子设备和存储介质与流程

文档序号:33481263发布日期:2023-03-15 12:22阅读:39来源:国知局
数据流对齐方法、装置、电子设备和存储介质与流程

1.本技术实施例涉及大数据技术领域,尤其涉及一种数据流对齐方法、装置、电子设备和存储介质。


背景技术:

2.大数据流式计算中基于数据时间的关联计算是一种典型的场景。基于数据时间的关联计算,会把参与计算的两条数据流按照预设的时间参数关联起来,形成新的数据流。
3.现有技术中,为了保障数据状态的正确,一般需要开启checkpoint(内部事件,用于保障数据库中数据的一致性)机制。
4.但是,checkpoint机制的有效开启需要有外部存储的支持,设备成本高,应用便捷性差。


技术实现要素:

5.本技术提供一种数据流对齐方法、装置、电子设备和存储介质,以降低设备成本,提高应用的便捷性。
6.第一方面,本技术实施例提供了一种数据流对齐方法,该数据流对齐方法包括:
7.获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;
8.确定当前数据的当前时间戳和关联数据的关联时间戳;
9.根据当前时间戳和关联时间戳,确定时间差值;
10.根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。
11.第二方面,本技术实施例还提供了一种数据流对齐装置,该数据流对齐装置包括:
12.数据获取模块,用于获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;
13.时间戳确定模块,用于确定当前数据的当前时间戳和关联数据的关联时间戳;
14.时间差值确定模块,用于根据当前时间戳和关联时间戳,确定时间差值;
15.数据对齐模块,用于根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。
16.第三方面,本技术实施例还提供了电子设备,该电子设备包括:
17.一个或多个处理器;
18.存储装置,用于存储一个或多个程序;
19.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本技术实施例提供的任意一种数据流对齐方法。
20.第四方面,本技术实施例还提供了一种包括计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本技术实施例提供的任意一种数据流对齐方法。
21.本技术通过获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;确定当前数据的当前时间戳和关联数据的关联时间戳;根据当前时间戳和关联时间戳,确定时间差值;根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。根据数据流中的数据携带的数据戳,判断当前数据和关联数据之间的时间差值,根据时间差值和预设时间差值阈值对当前数据和关联数据进行对齐,不需要外部存储设备的支持,实现对数据流的对齐。因此通过本技术的技术方案,解决了checkpoint机制的有效开启需要有外部存储的支持,设备成本高,应用便捷性差的问题,达到了降低设备成本,提高应用的便捷性的效果。
附图说明
22.图1是本技术实施例一中的一种数据流对齐方法的流程图;
23.图2是本技术实施例二中的一种数据流对齐方法的流程图;
24.图3是本技术实施例三中的一种数据流对齐装置的结构示意图;
25.图4是本技术实施例四中的一种电子设备的结构示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.实施例一
29.图1为本技术实施例一提供的一种数据流对齐方法的流程图,本实施例可适用于对数据流关联计算中的关联数据流进行对齐的情况,该方法可以由数据流对齐装置执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中。
30.参见图1所示的数据流对齐方法,具体包括如下步骤:
31.s110、获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据。
32.当前数据流可以为基于数据时间关联计算的两条数据流中的一条数据流,用于提供关联计算中的数据。当前数据可以为从当前数据流中读取的数据,用于进行关联计算。当前数据流的关联数据流可以为与当前数据流关联的数据流,用于提供关联计算中的当前数据的关联数据。关联数据可以为从关联数据流中读取的数据,用于进行关联计算。具体的,
可以分别通过关联计算中,当前数据流和关联数据流中的读取算子,获取当前数据和关联数据。
33.s120、确定当前数据的当前时间戳和关联数据的关联时间戳。
34.当前时间戳可以为当前数据产生的时间记录,用于确定当前数据的产生时间。关联时间戳可以为关联数据产生的时间记录,用于确定关联数据的产生时间。时间戳是通过一定的技术手段产生的数据,用于对数据产生的时间进行认证,保障得到的数据产生时间的准确性。
35.s130、根据当前时间戳和关联时间戳,确定时间差值。
36.时间差值为当前时间和关联时间的产生时间的差值,用于作为数据流对齐的依据。示例性的,可以用当前时间戳减去关联时间戳得到时间差值。具体的,时间差值可以为包含正负符号的数据,使得既可以根据时间差值确定当前时间戳和关联时间戳的前后关系,又可以根据时间差值确定当前时间戳和关联时间戳的相差的时间间隔。
37.在一个可选实施例中,确定关联数据流的关联时间戳,包括:若关联数据为空,则确定关联时间戳为0。
38.若关联数据为空,也即在关联数据流中没有读取到关联数据。此时可能是关联数据流发生故障,出现数据断流。此时将关联时间戳确定为0,可以增大时间差值,防止当前时间戳的数值较小时,误认为关联数据与当前数据对齐。同时,时间戳为0可以简化时间差值的计算复杂度,提高计算效率。
39.通过若关联数据为空,则确定关联时间戳为0,可以扩大时间差值的数值大小,避免对后续数据对齐的误判断,同时简化时间差值的计算,提高时间差值计算的效率。
40.s140、根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。
41.预设时间差值阈值为预先设置的时间差值的绝对值的最大值,用于确定当前数据和关联数据是否对齐。具体的,若时间差值的数值小于等于预设时间差值阈值,则确定当前数据和关联数据对齐,不需要对当前数据和关联数据进行对齐;若时间差值的数值大于预设时间差值阈值,则确定当前数据和关联数据未对齐,需要对当前数据和关联数据进行对齐。示例性的,若当前数据在后,则对当前数据和关联数据进行对齐,可以是暂停读取当前数据,而继续读取在后的关联数据。具体的,对当前数据和关联数据进行对齐,可以是停止读取在后的数据流中的数据,并且继续读取在前的数据流中的下一在后数据,以降低当前数据和关联数据的时间差值,实现当前数据和关联数据的对齐。
42.本实施例的技术方案,通过获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;确定当前数据的当前时间戳和关联数据的关联时间戳;根据当前时间戳和关联时间戳,确定时间差值;根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。根据数据流中的数据携带的数据戳,判断当前数据和关联数据之间的时间差值,根据时间差值和预设时间差值阈值对当前数据和关联数据进行对齐,不需要外部存储设备的支持,实现对数据流的对齐。因此通过本技术的技术方案,解决了checkpoint机制的有效开启需要有外部存储的支持,设备成本高,应用便捷性差的问题,达到了降低设备成本,提高应用的便捷性的效果。
43.实施例二
44.图2为本技术实施例二提供的一种数据流对齐方法的流程图方法的流程图,本实
施例的技术方案在上述技术方案的基础上进一步细化。
45.进一步地,将“根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐”,细化为:“若时间差值的绝对值大于预设时间差值阈值,则对当前数据和关联数据进行对齐;若时间差值的绝对值不大于预设时间差值阈值,则停止对当前数据和关联数据进行对齐”,以实现当前数据和关联数据的对齐。
46.参见图2所示的一种数据流对齐方法,包括:
47.s210、获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据。
48.s220、确定当前数据的当前时间戳和关联数据的关联时间戳。
49.s230、根据当前时间戳和关联时间戳,确定时间差值。
50.s240、若时间差值的绝对值大于预设时间差值阈值,则对当前数据和关联数据进行对齐。
51.时间差值的绝对值可以用于表示当前数据与关联数据的时间间隔。若时间差值的绝对值大于预设时间差值阈值,则可以认为此时当前数据和关联数据未对齐,需要对当前数据和关联数据进行对齐。示例性的,对当前数据和关联数据进行对齐,可以是暂停对当前数据流中的当前数据的读取。具体的,对当前数据和关联数据进行对齐,可以根据当前数据和关联数据的前后关系,暂停对时间戳在后的数据流中的数据的读取,同时继续对时间在前的数据流中的数据的读取,缩小时间差值的绝对值。
52.在一个可选实施例中,对当前数据和关联数据进行对齐,包括:根据时间差值的正负情况,对当前数据和关联数据进行对齐。
53.时间差值的正负可以为时间差值的符号,用于表示当前时间和关联时间的前后关系。时间差值是通过当前时间减去关联时间得到,因此,若时间差值为正,则当前时间在前;若时间差值为负,则当前时间在后。根据时间差值的正负情况,可以确定具体的当前数据和关联数据的对齐方式。
54.通过根据时间差值的正负情况,对当前数据和关联数据进行对齐,可以根据时间差的正负情况确定进行对齐的调整方向,快速实现当前数据和关联数据的对齐。
55.在一个可选实施例中,根据时间差值的正负情况,对当前数据和关联数据进行对齐,包括:若时间差值为正值,则获取当前数据流中当前数据的在后数据;将当前数据的在后数据,作为新的当前数据;重新确定该新的当前数据的当前时间戳,继续执行时间差值确定操作。
56.若时间差值为正值,此时当前时间在前。则获取当前数据流中当前数据的在后数据,也即继续读取当前数据流中的下一相邻的数据,并将读取的数据作为新的当前数据。获取重新确定该新的当前数据的当前时间戳,返回s230根据当前时间戳减去关联时间戳,确定时间差值,以确定此时当前数据和关联数据的对齐情况。
57.通过若时间差值为正值,则获取当前数据流中当前数据的在后数据;将当前数据的在后数据,作为新的当前数据,更新当前数据,缩小当前数据与关联数据的时间差值;重新确定该新的当前数据的当前时间戳,继续执行时间差值确定操作,通过返回执行时间差值确定操作,并顺序执行之后的其他操作等,以保证当前数据和关联数据达到对齐。
58.在一个可选实施例中,根据时间差值的正负情况,对当前数据和关联数据进行对
齐,包括:若时间差值为负值,则获取关联数据流中关联数据的在后数据;将关联数据的在后数据,作为新的关联数据;重新确定该新的关联数据的关联时间戳,继续执行时间差值确定操作。
59.若时间差值为负值,此时当前时间在后。则获取关联数据流中关联数据的在后数据,也即继续读取关联数据流中的下一相邻的数据,并将读取的数据作为新的关联数据。获取重新确定该新的关联数据的关联时间戳,返回s230根据当前时间戳减去关联时间戳,确定时间差值,以确定此时当前数据和关联数据的对齐情况。
60.通过若时间差值为负值,则获取关联数据流中关联数据的在后数据;将关联数据的在后数据,作为新的关联数据,更新关联数据,缩小当前数据与关联数据的时间差值;重新确定该新的关联数据的关联时间戳,继续执行时间差值确定操作,重新确定该新的关联数据的关联时间戳,继续执行时间差值确定操作,通过返回执行时间差值确定操作,并顺序执行之后的其他操作等,以保证当前数据和关联数据达到对齐。
61.s250、若时间差值的绝对值不大于预设时间差值阈值,则停止对当前数据和关联数据进行对齐。
62.若时间差值的绝对值不大于预设时间差值阈值,也即时间差值小于等于预设时间差值阈值,可以认为此时的当前数据和关联数据是对齐的,因此,停止对当前数据和关联数据进行对齐。
63.在一个可选实施例中,预设时间差值阈值采用以下方式确定:基于预设关联计算算子,对当前数据流与关联数据流,进行关联计算;根据关联计算结果,确定预设时间差值阈值。
64.预设关联计算算子为预先设置的对当前数据和关联数据进行关联计算的算子。例如,预设关联计算算子的关联的结果可以为一条新的数据流,这条新的数据流可以进一步进行其它计算操作。具体的,关联计算是按照设置好的当前数据和关联数据的时间条件及其它规则进行关联计算。关联计算结果根据其用途对数据具有一定的时间敏感性。示例性的,关联计算结果的误差可以与时间差值成正相关。具体的,可以根据对关联计算结果评价参数的要求,和时间差值对关联计算的影响程度,确定预设时间差值阈值。例如,关联计算结果的评价参数为稳定性,当时间差值为5秒时,会对关联结果的稳定性产生较大的应影响,则此时可以将预设时间差值阈值确定为4秒。若时间差值对关联结果的多个评价参数均有影响时,可以选择最小的时间差值作为预设时间差值阈值。
65.通过基于预设关联计算算子,对当前数据流与关联数据流,进行关联计算;根据关联计算结果,确定预设时间差值阈值,可以保证根据预设时间差值阈值对数据流进行对齐后的当前数据和关联数据,进行关联计算后的关联结果的正确性。
66.本实施例的技术方案,通过若时间差值的绝对值大于预设时间差值阈值,则对当前数据和关联数据进行对齐;若时间差值的绝对值不大于预设时间差值阈值,则停止对当前数据和关联数据进行对齐,明确对齐的执行条件和停止条件,能够明确判断是否对当前数据和关联数据进行对齐。
67.实施例三
68.图3所示为本技术实施例三提供的一种数据流对齐装置的结构示意图,本实施例可适用于对数据流关联计算中的关联数据流进行对齐的情况,该数据流对齐装置的具体结
构如下:
69.数据获取模块310,用于获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;
70.时间戳确定模块320,用于确定当前数据的当前时间戳和关联数据的关联时间戳;
71.时间差值确定模块330,用于根据当前时间戳和关联时间戳,确定时间差值;
72.数据对齐模块340,用于根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。
73.本实施例的技术方案,通过数据获取模块获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;通过时间戳确定模块确定当前数据的当前时间戳和关联数据的关联时间戳;通过时间差值确定模块根据当前时间戳和关联时间戳,确定时间差值;通过数据对齐模块根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。根据数据流中的数据携带的数据戳,判断当前数据和关联数据之间的时间差值,根据时间差值和预设时间差值阈值对当前数据和关联数据进行对齐,不需要外部存储设备的支持,实现对数据流的对齐。因此通过本技术的技术方案,解决了checkpoint机制的有效开启需要有外部存储的支持,设备成本高,应用便捷性差的问题,达到了降低设备成本,提高应用的便捷性的效果。
74.可选的,数据对齐模块340,包括:
75.对齐执行单元,用于若时间差值的绝对值大于预设时间差值阈值,则对当前数据和关联数据进行对齐;
76.对齐停止单元,用于若时间差值的绝对值不大于预设时间差值阈值,则停止对当前数据和关联数据进行对齐。
77.可选的,对齐执行单元,包括:
78.差值正负确定子单元,用于根据时间差值的正负情况,对当前数据和关联数据进行对齐。
79.可选的,差值正负确定子单元,具体用于:若时间差值为正值,则获取当前数据流中当前数据的在后数据;将当前数据的在后数据,作为新的当前数据;重新确定该新的当前数据的当前时间戳,继续执行时间差值确定操作。
80.可选的,差值正负确定子单元,具体用于:若时间差值为负值,则获取关联数据流中关联数据的在后数据;将关联数据的在后数据,作为新的关联数据;重新确定该新的关联数据的关联时间戳,继续执行时间差值确定操作。
81.可选的,数据流对齐装置,还包括:
82.预设时间差值阈值确定模块,用于基于预设关联计算算子,对当前数据流与关联数据流,进行关联计算;根据关联计算结果,确定预设时间差值阈值。
83.可选的,时间戳确定模块320,包括:
84.空数据处理单元,用于若关联数据为空,则确定关联时间戳为0。
85.本技术实施例所提供的数据流对齐装置可执行本技术任意实施例所提供的数据流对齐方法,具备执行数据流对齐方法相应的功能模块和有益效果。
86.实施例四
87.图4为本技术实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设
备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
88.存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的数据流对齐方法对应的程序指令/模块(例如,数据获取模块310、时间戳确定模块320、时间差值确定模块330和数据对齐模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的数据流对齐方法。
89.存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
90.输入装置430可用于接收输入的字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
91.实施例五
92.本技术实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据流对齐方法,该方法包括:获取当前数据流中的当前数据,以及获取当前数据流的关联数据流中的关联数据;确定当前数据的当前时间戳和关联数据的关联时间戳;根据当前时间戳和关联时间戳,确定时间差值;根据预设时间差值阈值和时间差值,对当前数据和关联数据进行对齐。
93.当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本技术任意实施例所提供的数据流对齐方法中的相关操作。
94.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本技术可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
95.值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。
96.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还
可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1