一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于事件时间窗口的Gaia平台水位线动态调整方法及装置

2022-05-08 07:02:51 来源:中国专利 TAG:

基于事件时间窗口的gaia平台水位线动态调整方法及装置
技术领域
1.本技术涉及数据处理领域,具体而言,涉及一种基于事件时间窗口的gaia平台水位线动态调整方法及装置。


背景技术:

2.gaia是一个面向分布式数据流处理和批量处理的开源计算平台,支持分布式环境下批量数据处理和流分布式数据处理。当处理一个持续到达且可能无穷的事件流时,时间和时间处理窗口便成了应用中最为核心的要素。数据的事件时间是数据流中事件实际发生的时间,他以附加在数据流中事件的时间戳为依据。和其他时间相比事件时间将处理速度和结果彻底解耦,无论数据流的处理速度如何、事件时间到达算子的顺序怎么样,基于事件时间的窗口都会生成同样的结果。其中,水位线是一个全局事件进度指标,表示系统确信不会再有延迟事件到来的某个时间,用于平衡延迟和结果的完整性。
3.现有技术中,通过预设固定的水位线作为全局事件进度指标,该固定的水位线为激进的水位线时,保证了事件处理的低延迟,但使得事件处理的准确性度降低,该固定的水位线为保守的水位线时,保证了事件处理的高准确性,但需要增加处理延迟。目前,当系统面对动态、乱序的流数据时,固定的水位线无法做出动态改变,不利于事件处理的高准确性和低延迟。


技术实现要素:

4.本技术的目的在于,针对上述现有技术的不足,提供一种基于事件时间窗口的gaia平台水位线动态调整方法、装置、设备及存储介质,以解决现有技术中固定的水位线无法做出动态改变,不利于事件处理的高准确性和低延迟的技术问题。
5.为实现上述目的,本技术实施例采用的技术方案如下:
6.第一方面,本技术实施例提供一种基于事件时间窗口的gaia平台水位线动态调整方法,应用于分布式系统的节点,该方法包括:
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.第三方面,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的基于事件时间窗口的gaia平台水位线动态调整方法。
34.第四方面,本技术实施例提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的基于事件时间窗口的gaia平台水位线动态调整方法。
35.相对现有技术而言,本技术具有以下有益效果:
36.本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整方法、装置、设备及存储介质,通过获取分布式系统中上一算子传输的流数据,其中,流数据包括数据以及数据产生时的事件时间戳,根据流数据,计算算子状态中流数据的水位线,根据水位线周期,将水位线插入流数据以传输至下一算子,该方法根据算子内的流数据计算当前时刻的算子状态中流数据的水位线,并将携带当前时刻的水位线的流数据传输至下一算子,本技术可以通过算子状态中流数据的变化,动态调整水位线,进而保证系统的事件处理的准确性与低延迟。
附图说明
37.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
38.图1为本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整系统的示意图;
39.图2为本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整方法的流程示意图;
40.图3为本技术实施例提供的一种获取算子状态的方法的流程示意图;
41.图4为本技术实施例提供的一种算子状态的示意图;
42.图5为本技术实施例提供的一种计算算子状态中流数据的水位线的流程示意图;
43.图6为本技术实施例提供的一种计算获得微簇数据的乱序度的方法的流程示意图;
44.图7为本技术实施例提供的一种调整水位线最大允许乱序时间值的方法的流程示意图;
45.图8为本技术实施例提供的多种水位线触发窗口动作的示意图;
46.图9为本技术实施例提供的一种水位线动态调整装置的示意图;
47.图10为本技术实施例提供的一种计算机设备的示意图。
具体实施方式
48.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
49.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
50.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
51.面向大数据的数据挖掘具有两个最重要的任务,其一是实时性,针对海量的事件数据规模,需要对其进行实时分析并迅速反馈结果,其二是准确性,需从海量的事件数据中精准提取出隐含在其中的有价值的信息,再将有价值的信息转化为有组织的知识,通过分析模型等方式进行表示,进而将分析模型应用至生产生活中以提高生产效率、优化营销方案等。因此,对于大数据计算引擎,需要一个高实时性,即低延迟,与高准确性并存的事件数据处理策略。
52.本技术实施例以大数据计算引擎gaia平台为例对本技术提出的基于事件时间窗口的gaia平台水位线动态调整方法及装置进行具体解释说明,gaia平台为多计算模型混合并存的高时效、可扩展的新一代大数据分析系统。当然,还可以为其他大数据计算引擎,在
本技术实施例中不作具体限制。图1为本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整系统的示意图,如图1所示,该gaia平台水位线动态调整系统包括:事件、消息队列、gaia平台,其中,gaia平台为分布式系统,支持流数据分布式处理。
53.事件包括事件生产以及事件时间,其中,事件时间为每个事件在其生产者上创建的时间,事件时间也称为事件时间戳。生产者生产的每个事件都携带对应的事件时间戳。在本技术实施例中,生产事件的生产者可以有多个,该多个生产者可并行生产多个事件,得到多个事件的流数据,该流数据包括事件本身的数据以及事件时间戳。
54.该流数据可通过消息队列进行缓存,其中,消息队列也可以有多个,即可通过多个消息队列并行缓存流数据。
55.流数据通过多个消息队列流入gaia平台中的多个数据源中,其中,多个数据源可为gaia平台缓存待处理的流数据,可以理解为流数据进入gaia平台的入口处。流数据通过数据源被分配到gaia平台中不同节点的不同算子中,分配逻辑可预先设置。示例地,可根据流数据的种类分配至对应的处理该种类的节点的算子中,还可以根据流数据的处理方式分配至对应节点的算子中,分配逻辑在本技术中不作具体限制。其中,算子是一个函数空间到另一个函数空间的映射,在本技术实施例中,算子能对流入的流数据进行处理等操作,得到处理后的流数据并传输至下一算子。
56.由于gaia平台为分布式系统,该系统内存在多个并行的节点,每个节点内包含多个不同的算子。流数据被分配到多个不同节点的不同算子中,达到并行处理流数据。流数据从数据源流入数据汇窗口的过程中,会经过多次处理和传输,即经过多个节点的算子,但由于每个节点的计算资源不同以及网络传输速度快慢不同等原因,事件的流数据的处理时间不同,进入下一节点的算子上时,流数据的事件时间戳并不是按照初始的理想时间顺序排序,流数据对应的事件会局部乱序或者事件发生延迟等现象,而乱序或者延迟会导致事件时间窗口无法判断流数据是否到齐而决定事件时间窗口是否关闭和计算。因此,对于gaia平台,需要一个低延迟和高准确性并存的局部乱序流数据处理策略。
57.水位线是一个全局事件进度指标,表示系统确信不会再有延迟事件到来的某个时间。在本技术实施例中,gaia平台通过水位线解决事件局部乱序或者事件延迟的问题,当流数据分配至算子内时,根据算子内的流数据计算当前时刻的水位线,并将携带当前时刻的水位线的流数据传输至下一算子,当有新的流数据流入算子内时,根据算子内的最新存储的流数据计算当前时刻的水位线,即,本技术通过动态调整水位线保证系统的事件处理的准确性与低延迟。
58.该系统解决了系统在面对事件乱序情况不确定或者弹性乱序的数据流时的低延迟和准确度,同时,该系统为gaia平台在分布式下因计算资源和速度不同或网络传输速率不同等原因导致的数据局部乱序和数据延迟等情况提供了可靠的保证。
59.如下通过多个示例对本技术实施例提供的基于事件时间窗口的gaia平台水位线动态调整方法的实现过程进行具体解释说明。该水位线动态调整方法可由上述图1所示的gaia平台中的节点执行。可以理解的是,本技术的多个示例以gaia平台为例进行具体解释说明,当然,大数据处理引擎的类型在申请中不作具体限制。图2为本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整方法的流程示意图,如图2所示,该方法包括:
60.s201,获取分布式系统中上一算子传输的流数据。
61.其中,流数据包括数据以及数据产生时的事件时间戳。
62.用户运行gaia平台后,根据预先配置的数据源,可以将数据源中的流数据被读取到分布式环境中,根据预设的分配逻辑流入算子中,在多个算子中进行处理与传输。
63.按照预设的算子之间的关系和顺序,当上一算子传输的流数据流入当前算子时,获取当前算子中存储的流数据。其中,当前算子中存储的流数据包括事件数据以及事件时间戳。
64.s202,根据流数据,计算算子状态中流数据的水位线。
65.根据当前算子中存储的流数据,即算子状态中的流数据,计算当前算子状态中流数据的水位线。
66.其中,算子状态可以表示为算子的内存,表明算子可以存储数据。
67.s203,根据水位线周期,将水位线插入流数据以传输至下一算子。
68.根据上述s202计算得到的当前算子状态中流数据的水位线,以及水位线周期,将水位线插入当前算子状态中的流数据,进而传输至下一算子继续对流数据进行处理与传输。其中,水位线周期为预先设置的固定值。
69.事件时间窗口在收到传输来的流数据和水位线,事件时间窗口根据水位线值触发窗口关闭并计算。
70.综上,本技术实施例提供的一种基于事件时间窗口的gaia平台水位线动态调整方法,通过获取分布式系统中上一算子传输的流数据,其中,流数据包括数据以及数据产生时的事件时间戳,根据流数据,计算算子状态中流数据的水位线,根据水位线周期,将水位线插入流数据以传输至下一算子,该方法根据算子内的流数据计算当前时刻的算子状态中流数据的水位线,并将携带当前时刻的水位线的流数据传输至下一算子,可以理解是,当有新的流数据流入算子内时,根据算子内的最新存储的流数据计算当前时刻的算子状态中流数据的水位线,即,本技术可以通过算子状态中流数据的变化,动态调整水位线,进而保证系统的事件处理的准确性与低延迟。
71.在上述图2所示的一种基于事件时间窗口的gaia平台水位线动态调整方法的基础上,本技术实施例还提供了一种获得算子状态的实现方法。如下结合附图对该实施例进行具体解释说明。图3为本技术实施例提供的一种获取算子状态的方法的流程示意图。如图3所示,上述方法s202之前,根据流数据,计算算子状态中流数据的水位线之前,还包括:
72.s301,为算子分配算子状态,并基于数据流时间模型将当前算子中的流数据分为微簇数据。
73.为不同并行度上的算子分配算子状态,即,为算子分配数据存储空间,并且,基于数据流时间模型将当前算子中的流数据分为微簇数据。
74.在本技术实施例中,微簇数据包括多个数据,其中,每个数据表示一个事件的数据以及该事件产生时的事件时间戳。
75.图4为本技术实施例提供的一种算子状态的示意图,如图4所示,该算子内存在流数据,则该算子已经被分配算子状态。
76.s302,将微簇数据的事件时间戳存储在算子状态中。
77.将微簇数据的时间戳存储在算子状态中,为算子内微簇状态,如图4所示,假设算
子内的微簇数据的长度为5,则,算子内微簇数据的状态为五个事件时间戳。当然,微簇数据的长度还可以为其他长度,可根据事件时间戳的密集情况而预先设置,在本技术实施例中不作具体限制。
78.算子状态按照顺序存储最新流过当前算子的预设个数据的事件时间戳,如图4所示,当有新的事件时间戳流入算子时,将新的事件时间戳存入算子内微簇状态,按照时间丢弃旧的事件时间戳,若数字为7的事件时间戳流入当前算子时,丢弃数字为2的事件时间戳,即当前算子内微簇状态为7、6、5、4、3。
79.本技术实施例通过为算子分配算子状态,并将微簇数据的事件时间戳存储在算子状态中,以存储最新流过当前算子的预设分数据的事件时间戳,进而计算算子状态中流数据的水位线,使得水位线的实时性更高,降低事件处理的延迟。
80.在上述图2所示的一种基于事件时间窗口的gaia平台水位线动态调整方法的基础上,本技术实施例还提供了一种计算算子状态中流数据的水位线的实现方法。如下结合附图对该实施例进行具体解释说明。图5为本技术实施例提供的一种计算算子状态中流数据的水位线的流程示意图。如图5所示,上述方法s202,根据流数据,计算算子状态中流数据的水位线,包括:
81.s501,计算获得微簇数据的最大事件时间戳。
82.如图3所示的实施例,算子状态中存储微簇数据的事件时间戳,从微簇数据的事件时间戳中选择最大的事件时间戳,用于计算算子状态中微簇数据的水位线。
83.s502,获得微簇数据的最大允许乱序时间。
84.微簇数据的最大允许乱序时间根据事件时间密集情况而确定。
85.由于流数据中的某个数据延迟到达,即微簇数据的事件时间戳没有按照顺序到达,此时微簇数据的事件时间戳是乱序的,因此,设置最大允许乱序时间,允许数据可以延迟一定的时间到达。若事件时间较密集,即事件时间戳相近,此时,最大允许乱序时间可设置较小,若事件时间较分散,即事件时间戳差距较大,此时,最大允许乱序时间可设置较大。
86.s503,计算获得微簇数据的乱序度。
87.根据算子状态中微簇数据的事件时间戳计算获得微簇数据的乱序度。其中,乱序度的范围为0~1,若乱序度为0,表示微簇数据完全逆序,若乱序度为1,表示微簇数据完全正序。
88.s504,根据最大事件时间戳、最大允许乱序时间、乱序度以及预设算法,计算获得微簇数据的水位线。
89.根据上述s501获得的最大事件时间戳、s502获得的最大允许乱序时间、s503获得的乱序度以及预设算法,计算获得微簇数据的水位线,其中,预设算法可以如公式(1)所示:
90.w=n-m*p
ꢀꢀ
公式(1)
91.其中,w表示水位线值,n表示当前最大事件时间戳,m表示最大允许乱序时间,p表示乱序度。
92.本技术实施例通过当前最大事件时间戳减去最大允许乱序时间与乱序度的乘积得到水位线值,使得水位线根据流数据的事件时间乱序程序动态调整,能够保证系统的高准确和低延迟。
93.在上述图5所示的一种计算算子状态中流数据的水位线的基础上,本技术实施例
还提供了一种计算获得微簇数据的最大事件时间戳的实现方法,上述s501中,计算获得微簇数据的最大事件时间戳,包括:根据微簇数据的事件时间戳,通过比较获得最大事件时间戳。
94.如图4所示,若当前算子内微簇状态为6、5、4、3、2,则通过比较得到最大事件时间戳为6。
95.在本技术实施例中,可以通过排序算法对微簇数据的事件时间戳进行排序,进而得到最大事件时间戳。其中,排序算法可以为冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序等,在本技术实施例中不作具体限制。
96.当然,还可通过其它算法对微簇数据的事件时间戳通过比较得到最大事件时间戳,比较方法在本技术实施例中不作具体限制。
97.在上述图5所示的一种计算算子状态中流数据的水位线的基础上,本技术实施例还提供了一种计算获得微簇数据的乱序度的实现方法,上述s503中,计算获得微簇数据的乱序度,包括:当有新的数据流入算子时,根据微簇数据的事件时间戳计算当前时刻的乱序度。
98.如图4所示,若事件时间戳为7的数据流入算子时,当前算子内微簇数据的事件时间戳为7、6、5、4、3,则根据当前算子内微簇数据的事件时间戳计算当前时刻算子状态中微簇数据的乱序度。
99.在上述实施例的基础上,本技术实施例还提供了另一种计算获得微簇数据的乱序度的实现方法,如下结合附图对该实施例进行具体解释说明。图6为本技术实施例提供的一种计算获得微簇数据的乱序度的方法的流程示意图。如图6所示,上述实施例中,根据微簇数据的事件时间戳计算当前时刻的乱序度,包括:
100.s601,计算获得微簇数据中相邻事件时间戳的差值。
101.如上述实施例所述,若当前算子内微簇数据的事件时间戳为7、6、5、4、3,其中,流数据流入算子内的顺序为3、4、5、6、7,则计算微簇数据中相邻事件时间戳的差值时,根据最晚流入算子内的事件时间戳减去其相邻事件时间戳,即当前算子内微簇数据的事件时间戳7、6、5、4、3对应的相邻事件时间戳的差值依次为1(7-6)、1(6-5)、1(5-4)、1(4-3)。
102.s602,计算获得微簇数据中相邻事件时间戳差值的绝对值。
103.如s601所述,当前算子内微簇数据的事件时间戳7、6、5、4、3对应的相邻事件时间戳的差值依次为1(7-6)、1(6-5)、1(5-4)、1(4-3),则当前算子内微簇数据中相邻事件时间戳差值的绝对值依次为1、1、1、1。
104.s603,根据微簇数据中相邻事件时间戳的差值以及微簇数据中相邻事件时间戳差值的绝对值,计算获得微簇数据的乱序度。
105.对微簇数据中相邻事件时间戳的差值进行求和运算,对微簇数据中相邻事件时间戳差值的绝对值也进行求和运算,对两个求和运算的结果进行除法运算,即可计算获得微簇数据的乱序度,如公式(2)所示:
[0106][0107]
其中,ti表示微簇数据内的第i个事件时间戳,p表示当前微簇数据的乱序程度,即乱序度。
[0108]
示例地,若当前算子内微簇数据的事件时间戳为7、6、5、4、3,则t5=7,t4=6,t3=
5,t2=4,t1=3,则通过公式(2)计算得到p=1,表示算子当前时刻的微簇数据的乱序度为1,即完全正序。
[0109]
本技术实施例通过微簇数据内相邻事件时间戳的差值,计算获得当前时刻的乱序度,根据不断获取当前时刻的乱序度,进而可根据不断获取的当前时刻的乱序度以及预设算法不断计算获得当前微簇数据的水位线,实现了动态调整水位线,能够保证系统的高准确和低延迟。
[0110]
在上述实施例的基础上,本技术实施例还提供了一种调整水位线最大允许乱序时间值的实现方法,如下结合附图对该实施例进行具体解释说明。图7为本技术实施例提供的一种调整水位线最大允许乱序时间值的方法的流程示意图。如图7所示,上述实施例中,还包括:
[0111]
s701,当有新的数据流入算子时,根据新的数据的事件时间戳更新微簇数据的事件时间戳。
[0112]
在图6所述的实施例的基础上,算子内微簇数据的事件时间戳为7、6、5、4、3,当有新的数据流入算子时,若新的数据的事件时间戳为8,则根据新的数据的事件时间戳更新微簇数据的事件时间戳,更新后的微簇数据的事件时间戳为8、7、6、5、4。
[0113]
s702,根据更新的微簇数据计算当前时间的局部乱序度。
[0114]
根据更新的微簇数据的事件时间戳8、7、6、5、4,通过公式(2)计算当前时间的局部乱序度。
[0115]
s703,根据当前时间的局部乱序度,调整水位线最大允许乱序时间值。
[0116]
通过公式(1)调整水位线最大允许乱序时间值,即水位线值。
[0117]
本技术实施例根据当前时间的局部乱序度,调整水位线最大允许乱序时间值,使得最大允许等待时间动态变化,保证系统计算准确率的同时降低计算延迟。
[0118]
图8为本技术实施例提供的多种水位线触发窗口动作的示意图,如图8所示,当水位线设置过大,如window1,会出现事件时间窗口无效等待的情况,从而降低系统的计算速度;当水位线设置过小,如window2,会使事件时间窗口丢失数据,影响事件时间窗口计算的准确率,而本技术提供的一种基于事件时间窗口的gaia平台水位线动态调整方法,如window3,可以使水位线动态变化,保证系统计算准确率的同时降低计算延迟。
[0119]
下述对用以执行的本技术所提供的一种水位线动态调整装置进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
[0120]
图9为本技术实施例提供的一种水位线动态调整装置的示意图,如图9所示,该水位线动态调整装置包括:
[0121]
获取模块901,用于获取分布式系统中上一算子传输的流数据,其中,流数据包括数据以及数据产生时的事件时间戳。
[0122]
计算模块902,用于根据流数据,计算算子状态中流数据的水位线。
[0123]
插入模块903,用于根据水位线周期,将水位线插入流数据以传输至下一算子。
[0124]
可选地,计算模块902,还用于为算子分配算子状态,并基于数据流时间模型将当前算子中的流数据分为微簇数据;将微簇数据的事件时间戳存储在算子状态中,其中,算子状态存储最新流过当前算子的预设个数据的事件时间戳。
[0125]
可选地,计算模块902,用于计算获得微簇数据的最大事件时间戳;获得微簇数据
的最大允许乱序时间;计算获得微簇数据的乱序度;根据最大事件时间戳、最大允许乱序时间、乱序度以及预设算法,计算获得微簇数据的水位线。
[0126]
可选地,计算模块902,用于根据微簇数据的事件时间戳,通过比较获得最大事件时间戳。
[0127]
可选地,计算模块902,用于当有新的数据流入算子时,根据微簇数据的事件时间戳计算当前时刻的乱序度。
[0128]
可选地,计算模块902,用于计算获得微簇数据中相邻事件时间戳的差值;计算获得微簇数据中相邻事件时间戳差值的绝对值;根据微簇数据中相邻事件时间戳的差值以及微簇数据中相邻事件时间戳差值的绝对值,计算获得微簇数据的乱序度。
[0129]
可选地,计算模块902,还用于当有新的数据流入算子时,根据新的数据的事件时间戳更新微簇数据的事件时间戳;根据更新的微簇数据计算当前时间的局部乱序度;根据当前时间的局部乱序度,调整水位线最大允许乱序时间值。
[0130]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0131]
图10为本技术实施例提供的一种计算机设备的示意图,该计算机设备可以是具备计算处理功能的计算设备或服务器。
[0132]
该计算机设备包括:处理器101、存储介质102、总线103。处理器101和存储介质102通过总线103连接。
[0133]
存储介质102用于存储程序,处理器101调用存储介质102存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
[0134]
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
[0135]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0136]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0137]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0138]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0139]
上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献