CN113127512A - 多数据流的数据拼接触发方法、装置、电子设备和介质 - Google Patents
多数据流的数据拼接触发方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113127512A CN113127512A CN202010043192.XA CN202010043192A CN113127512A CN 113127512 A CN113127512 A CN 113127512A CN 202010043192 A CN202010043192 A CN 202010043192A CN 113127512 A CN113127512 A CN 113127512A
- Authority
- CN
- China
- Prior art keywords
- data
- slave
- data stream
- main
- low water
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 111
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 25
- 230000001960 triggered effect Effects 0.000 abstract description 24
- 230000008901 benefit Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种多数据流的数据拼接触发方法、装置、电子设备和介质,涉及大数据处理技术领域。具体实现方案为:接收多个数据流的数据,其中多个数据流包括一个主数据流和至少一个从数据流;对于主数据流,基于主数据流的主数据中携带的主事件时间,确定主数据流对应的主低水位值;对于各从数据流,基于从数据流的从数据中携带的从事件时间,确定从数据流对应的从低水位值;根据主低水位值和从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。由于低水位值反映数据流的数据到达进度,因此基于各数据流分别对应的低水位值,触发执行数据拼接操作,无需设置一个较大时间窗口,可有效减少资源开销,提升数据拼接的时效性。
Description
技术领域
本申请实施例涉及互联网技术领域,尤其涉及大数据处理技术领域,具体涉及了一种多数据流的数据拼接触发方法、装置、电子设备和介质。
背景技术
Low Watermark(低水位)相关技术近年来被大量应用于流式计算领域,采用LowWatermark(低水位)技术可以确定对流式数据进行统计计算的触发时间点,以保证在需要的数据全部到达时再进行统计计算。
目前针对多数据流,且需要对多个数据流进行数据拼接的情况,通常将多数据流作为一个数据流来看待,基于各数据流的数据所携带的事件时间(Event Time),确定一个统一的Low Watermark值(低水位值),然后在该统一的Low Watermark值(低水位值)到达时间窗口的结束时间时,触发执行数据拼接操作。
然而,上述这种触发多数据流的数据进行数据拼接的方法仍存在一定不足:在多数据流的数据的事件时间差异较大时,为了保证拼接成功率及精度,需要选择一个相对较大的时间窗口。然而,较大的时间窗口需要缓存的数据量较大,增加了所需的资源开销,并且数据拼接的时效性也无法保证。
发明内容
本申请实施例公开一种多数据流的数据拼接触发方法、装置、电子设备和介质,以解决数据拼接所需的资源开销大且无法保证数据拼接时效性的技术问题。
第一方面,本申请实施例公开了一种多数据流的数据拼接触发方法,包括:
接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流;
对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值;
对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值;
根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
上述申请中的一个实施例具有如下优点或有益效果:根据多数据流中各数据流分别对应的低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,由于各低水位值分别反映了对应数据流的数据到达进度,因此基于各数据流分别对应的低水位值,来触发执行数据拼接操作,无需设置一个较大时间窗口,可以有效的减少资源开销,提升数据拼接的时效性。
另外,根据本申请上述实施例的多数据流的数据拼接触发方法,还可以具有如下附加的技术特征:
可选的,所述方法还包括:
对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据是否落入当前时间窗口;
对于各所述从数据流,基于所述从数据流的从数据中携带的主事件时间,确定所述从数据是否落入当前时间窗口。
上述申请中的一个实施例具有如下优点或有益效果:通过使用统一的事件时间(即主事件时间)作为主数据流和各从数据流的数据划分时间窗口依据,从而提高了为数据划分时间窗口的准确性,进而可以提高数据拼接准确性。
可选的,根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,包括:
判断所述主低水位值和所述从低水位值是否满足预设条件集合中的任一预设条件;
若是,则触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
上述申请中的一个实施例具有如下优点或有益效果:只有主数据流和各从数据流各自对应的低水位值满足预设条件时,才会触发执行数据拼接操作,由此不但可以保证数据拼接的时效性和成功率,还可以有效的减少资源开销。
可选的,各所述预设条件包括:所述主低水位值达到第一预设值,所述从低水位值达到第二预设值。
上述申请中的一个实施例具有如下优点或有益效果:由于主数据流的事件时间和各从数据流的事件时间存在差别,因此为主数据流的主低水位值和从数据流的从低水位值达设置不同的预设值,也保证主数据流的到达数据和从数据流的到达数据同时满足条件时,才触发数据拼接,可以保证数据拼接的成功率。
可选的,各所述预设条件中的第一预设值相同,各所述预设条件中的第二预设值不同。
上述申请中的一个实施例具有如下优点或有益效果:针对当前时间窗口,在主低水位值满足条件时,根据从低水位的值达到不同的预设值时,分别触发一次数据拼接,以此保证数据拼接的成功率和时效性。
可选的,所述主数据流为推广信息的展现日志数据流,所述从数据流为推广信息的转化日志数据流。
上述申请中的一个实施例具有如下优点或有益效果:因为转化日志数据流的数据到达时间相比展现日志数据流的数据到达时间有延迟,因此将转化日志数据流作为从数据流,将展现日志数据流作为主数据流,针对当前时间窗口,在主数据流全部到达时,根据从数据流的低水位值确定从数据流到达进度,在到达进度满足不同的预设值时,分别触发一次数据拼接,不但可以减少触发拼接的次数,还可以确保数据拼接的时效性和成功率。
第二方面,本申请实施例公开了一种多数据流的数据拼接触发装置,包括:
接收模块,用于接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流;
第一确定模块,用于对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值;
第二确定模块,用于对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值;
触发模块,用于根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的多数据流的数据拼接触发方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的多数据流的数据拼接触发方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的多数据流的数据拼接触发方法的流程示意图;
图2是根据本申请第二实施例的多数据流的数据拼接触发方法的流程示意图;
图3是根据本申请第三实施例的多数据流的数据拼接触发装置的结构示意图;
图4是用来实现本申请实施例的多数据流的数据拼接触发方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是本申请实施例的多数据流的数据拼接触发方法的流程示意图,本实施例可适用于推广信息的日志数据分析放入情况,例如对广告日志分析的情况。该方法可由一种多数据流的数据拼接触发装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如服务器或计算机设备。
参见图1,该方法具体包括:
S101、接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流。
本申请实施例中,在对推广信息(例如广告)的日志数据进行分析时,数据中心需要源源不断的接收多条数据流的数据,并将接收的数据进行拼接处理。在对多流数据进行数据拼接的过程中,发明人发现,现有的对多个数据流进行数据拼接方法,都是将多数据流作为一个数据流来看待,基于各数据流的数据所携带的事件时间(Event Time),来确定一个统一的低水位值,然后在该统一的低水位值到达时间窗口的结束时间时,触发执行数据拼接操作。比如,对于广告的展现日志数据流和转化日志数据流,若需要对11-12点之间展现的广告对应的展现日志数据和转化日志数据进行拼接,是基于展现日志流的展现日志数据所携带的展现时间和转化日志流的转化日志数据所携带的转化时间,确定统一的低水位值。
然而在多数据流的数据的事件时间差异较大时,若时间窗口对应时间范围较小,按照上述方案触发执行数据拼接操作,会使拼接操作的成功率较低。比如,由于转化日志数据可能会有较大的时延,因此实际上12点展现的广告,其转化时间很可能超过12点较长时间,使得window size(窗口长度)的选择成为困难。例如2019/11/11 10:00:00的展现日志,其对应的转化日志可能发生在2019/11/11 10:01:00,也可能在2019/11/12 10:00:00,过小的window size(窗口长度)会导致拼接不成功、精度下降。
为了解决上述问题,现有方法一般会选择一个相对较大的时间窗口,然而较大的时间窗口需要缓存的数据量也就较大,增加了所需的资源开销,并且数据拼接的时效性也无法保证。为此,现有的数据拼接方法还需要搭配上复杂的purge(清除)方法以尽量降低资源开销(例如拼接成功后直接删除window里对应的数据),选择多轮processing timetrigger(定时触发)和一次after watermark trigger(到达时间窗口的结束时间时触发),即除了在低水位值到达窗口的结束时间时,执行拼接操作,还在窗口结束时间到达前,定时进行多次拼接操作的尝试。而processing time trigger(定时触发)实际上是一种暴力尝试,在内存窗口拼接时,由于内存扫描成本较低,资源开销还可以接受。而在大数据量的外存窗口拼接时,过于密集的暴力重试,就不可接受了。同时,由于外存拼接时,对外存的修改成本较高,使“已拼接标记”的标记成本较高,多次processing time trigger(定时触发)若无法做到增量下发则会大幅增加重复数据、增加下游去重负担。
基于此,发明人创造性的提出了基于每个数据流各自对应的low watermark值(低水位值),来触发执行数据拼接操作的方案。而要实现该方案,需要预先对多数据流进行分类,分成主数据流和至少一个从数据流,这里的主数据流可以是指多数据流中对应的事件时间最早的数据流,其他数据流为从数据流,比如,同一推广信息的展现的时间早于该推广信息转化的时间,那么,可将推广信息的展现日志数据流作为主数据流,推广信息的转化日志数据流作为从数据流,其中,推广信息可选的为广告,也即可将广告展现日志数据流为主数据流,广告转化日志数据流为从数据流。而计算主数据流和各从数据流各自的低水位值的操作,可按照S102和S103的步骤进行。
S102、对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值。
每个数据流都有其分别对应的事件时间字段,比如,广告展现日志数据流对应的事件时间字段是广告展现时间字段,广告转化日志数据流对应的事件时间字段是广告转化时间字段。在任一数据流的各个数据中均会携带该数据流对应的事件时间字段的时间值,该数据流对应的事件时间字段的时间值即是该数据流的事件时间。对于具有关联关系的多个数据流的一部分数据流(比如从数据流)来说,该数据流的各个数据中除了会携带该数据流对应的事件时间字段的时间值也即该数据流的事件时间外,还会携带另一部分数据流(比如主数据流)对应的事件时间字段的时间值也即另一部分数据流的事件时间,比如,广告转化日志数据流的广告转化数据中除了会携带广告转化时间字段的时间值也即广告转化日志数据流的事件时间外,还会携带广告展现时间字段的时间值即广告展现日志数据流的事件时间。
由于,低水位值表征所有已到达的数据所携带的事件时间中的最小事件时间,其反映数据流的数据到达进度。因此对于主数据流,可基于主数据流的主数据中携带的主事件时间,确定主数据流对应的低水位值即主低水位值。
示例性的,要确定主数据流(例如广告展现日志数据流)对应的主低水位值,需要获得各个区域服务器发送的主数据流的数据,具体确定方法如下:对于A地区的各子服务器,实时确定每个子服务器发送的已到达的广告展现日志数据所携带事件时间中的最大事件时间,并确定各子服务器分别对应的最大事件时间中的最小事件时间,将该最小事件时间作为A地区对应的低水位值;按照上述相同方法,分别确定其他地区分别对应的低水位值;然后将各地区分别对应的低水位值中的最小值,作为最终的主低水位值,该主低水位值表示所有到达的数据中事件时间最早的数据,在此需要说明的是,主低水位值对应的主数据已到达,则确定主低水位值之前的主数据已全部到达。
S103、对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值。
针对任一从数据流,基于从数据流的从数据中携带的从事件时间,确定从数据流对应的低水位值即从低水位值的过程,与确定主数据流的主低水位值的过程类似,在此不再赘述。
S104、根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
由于主低水位值反映了主数据流的数据到达进度,从低水位值反映了从数据流的数据到达进度。因此,可根据主低水位值和从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,示例性的,在主低水位值表示当前时间窗口的主数据全部到达时(即主低水位值等于当前时间窗口的结束时间时),且从低水位值表示当前时间窗口的从数据到达指定数量(例如到达一半或全部到达)时,触发当前时间窗口内的主数据和从数据进行拼接。
本申请实施例中,根据多数据流中各数据流分别对应的低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,由于各低水位值分别反映了对应数据流的数据到达进度,因此基于各数据流分别对应的低水位值,来触发执行数据拼接操作,无需设置一个较大时间窗口,可以有效的减少资源开销,提升数据拼接的时效性。
图2是本申请实施例的多数据流的数据拼接触发方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图2,该方法具体包括:
S201、接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流。
S202、对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据是否落入当前时间窗口。
由于实时数据流是永不停歇的,无法获取所有的数据并产出一个最终的结果。很多情况下更关心的是最近的状态,而不是从实时数据流启动至今的统计数据。因此需要将数据流切分为一个个片段,这些片段也即是数据窗口。数据窗口是将无边界的实时数据流进行划分的一种机制。本申请实施例中,数据窗口是基于事件时间的时间窗口。对于主数据流,基于主数据流的数据即主数据中携带的事件时间即主事件时间,确定主数据是否落入当前时间窗口,也即确定主数据携带的主事件时间是否落入当前时间窗口范围内,其中当前时间窗口是当前待触发数据拼接操作的时间窗口。示例性的,主数据流已达到三个主数据,三个主数据的主事件时间分别为10:01:00、10:03:30、10:08:25,而时间窗口1为当前时间窗口,具体为10:00:00~10:05:00,时间窗口2为10:05:00~10:10:00,则确定携带主事件时间10:01:00和10:03:30的主数据落入时间窗口1,也即落入了当前时间窗口,确定携带主事件时间10:08:25的主数据落入时间窗口2,也即携带主事件时间10:08:25的主数据未落入当前时间窗口。
S203、对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值。
S204、对于各所述从数据流,基于所述从数据流的从数据中携带的主事件时间,确定所述从数据是否落入当前时间窗口。
对于从数据流,在确定从数据流的数据即从数据所落入的时间窗口时采用的依据与确定主数据流的主数据所落入时间窗口时采用的依据相同,即均采用数据携带的主事件时间作为划分依据,由此即使在主数据流的主数据携带的主事件时间和从数据流的从数据携带的事件时间即从事件时间存在差别时,可以将从数据准确划入对应的时间窗口。示例性的,主数据为一广告的展现日志数据,其对应的从数据为该广告的转化日志数据,由于广告展现后,可能需要几分钟、几十分钟甚至更长的时间延迟才能转化,因此主数据和从数据的事件时间天然存在差别。若一主数据携带的主事件时间为2019/11/11 10:04:00,其落入的当前时间窗口为2019/11/1110:00:00~10:05:00,该主数据对应的从数据的从事件时间可能为2019/11/11 10:06:00,也可能为2019/11/12 10:00:00,但无论从事件时间为多少,都将从数据划入2019/11/11 10:00:00~10:05:00这一当前时间窗口。由此通过使用统一的事件时间(即主事件时间)为主数据流和各从数据流的数据划分时间窗口,从而提高了为数据划分时间窗口的准确性,进而可以提高数据拼接准确性。
而确定从数据是否落入当前时间窗口的过程与确定主数据是否落入当前时间窗口的过程类似,在此不再赘述。
S205、对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值。
S206、判断所述主低水位值和所述从低水位值是否满足预设条件集合中的任一预设条件。
S207、若是,则触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
其中,预设条件集合中包括至少一个预设条件,且每个预设条件均包括:所述主低水位值达到第一预设值,所述从低水位值达到第二预设值。进一步的,各预设条件中的第一预设值相同,各预设条件中的第二预设值不同。
示例性的,当前时间窗口为11:00:00~12:00:00,共有三个预设条件,且三个预设条件中的第一预设值可选的为当前时间窗口的结束时间,由此在主低水位值达到第一预设值时,确定当前时间窗口中的主数据已全部到达。由于从数据与主数据之间存在时间延迟,因此在低水位值达到第一预设值时,从数据不一定也全部到达,因此针对任一条从数据流可根据经验值确定该从数据流的从数据到达一半、到达80%以及全部到达时对应的时间作为三个不同的第二预设值,例如分别为12:00:00、12:30:00、13:00:00。由此三个预设条件分别为:(1)主低水位值等于12:00:00,从低水位值等于12:00:00;(2)主低水位值等于12:00:00,从低水位值等于12:30:00;(3)主低水位值等于12:00:00,从低水位值等于13:00:00。
进而,在主低水位值等于12:00:00时,首先判断从低水位值是否也等于12:00:00,若是,则触发执行当前时间窗口内的主数据和从数据的拼接操作,也即在从数据到达一半时触发一次数据拼接;由于属于当前时间窗口的从数据还在不断的到达,在从低水位值等于12:30:00时,也即属于当前时间窗口的从数据到达80%时,第二次触发执行当前时间窗口内的主数据和从数据的拼接操作;随着属于当前时间窗口的从数据还在不断的到达,在从低水位值等于13:00:00时,也即属于当前时间窗口的从数据全部到达时,第三次触发执行当前时间窗口内的主数据和从数据的拼接操作。由此通过三次触发当前时间窗口的主数据和从数据进行拼接,可以保证数据拼接的时效性以及成功率。
在此需要说明的是,各预设条件可以根据具体业务确定,可选的,除了上述外,各预设条件中的第一预设值也可以不同,且各预设条件中的第二预设值不同,示例性的,第一预设值可以为时间窗口的中间时间或结束时间,例如,针对当前时间窗口为11:00:00~12:00:00,预设条件可以为:(1)主低水位值等于11:30:00,从低水位值等于12:00:00;(2)主低水位值等于12:00:00,从低水位值等于12:30:00。
在一种具体的实施方式中,可示例性的参见如下代码实现上述拼接触发功能:
由此,基于OrTrigger(或触发器)实现两次触发,基于AndTrigger(与触发器)在不同数据流上指定触发条件。示例性的,在第一个AndTrigger(与触发器)中,在主数据流“pri_tag”的主低水位值达到(时间窗口结束时间+延迟时间1分钟)、以及从数据流1“sec1_tag”的从低水位值达到(时间窗口结束时间+延迟时间5分钟)、以及从数据流2“sec2_tag”的从低水位值达到(时间窗口结束时间+延迟时间5分钟)时,触发一次数据拼接;在第二个AndTrigger(与触发器)中,在主数据流“pri_tag”的主低水位值达到(时间窗口结束时间+延迟时间30分钟)、以及从数据流1“sec1_tag”的从低水位值达到(时间窗口结束时间+延迟时间35分钟)、以及从数据流2“sec2_tag”的从低水位值达到(时间窗口结束时间+延迟时间35分钟)时,再触发一次数据拼接。
本申请实施例中,针对当前时间窗口,在主低水位值满足条件时,根据从低水位值达到不同的预设值时,分别触发一次数据拼接,以此保证数据拼接的成功率和时效性。
图3是本申请实施例提供的一种多数据流的数据拼接触发装置的结构示意图,该装置适用于广告日志分析的情况,参见图3,该装置300包括:
接收模块301,用于接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流;
第一确定模块302,用于对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值;
第二确定模块303,用于对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值;
触发模块304,用于根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
本申请实施例中,根据多数据流中各数据流分别对应的低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,由于各低水位值分别反映了对应数据流的数据到达进度,因此基于各数据流分别对应的低水位值,来触发执行数据拼接操作,无需设置一个较大时间窗口,可以有效的减少资源开销,提升数据拼接的时效性。
可选的,所述装置还包括:
第三确定模块,用于对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据是否落入当前时间窗口;
第四确定模块,用于对于各所述从数据流,基于所述从数据流的从数据中携带的主事件时间,确定所述从数据是否落入当前时间窗口。
可选的,所述触发模块包括:
判断单元,用于判断所述主低水位值和所述从低水位值是否满足预设条件集合中的任一预设条件;
触发单元,用于若判断单元的判断结果为是,则触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
可选的,各所述预设条件包括:所述主低水位值达到第一预设值,所述从低水位值达到第二预设值。
可选的,各所述预设条件中的第一预设值相同,各所述预设条件中的第二预设值不同。
可选的,所述主数据流为推广信息的展现日志数据流,所述从数据流为推广信息的转化日志数据流。
本申请实施例所提供的多数据流的数据拼接触发装置可执行本申请任意实施例所提供的多数据流的数据拼接触发方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的多数据流的数据拼接触发方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的多数据流的数据拼接触发方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的多数据流的数据拼接触发方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的多数据流的数据拼接触发方法对应的程序指令/模块(例如,附图3所示的接收模块301、第一确定模块302、第二确定模块303、触发模块304)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的多数据流的数据拼接触发方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现多数据流的数据拼接触发方法的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至实现多数据流的数据拼接触发方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现多数据流的数据拼接触发方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与实现多数据流的数据拼接触发方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括用户端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者用户端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,根据多数据流中各数据流分别对应的低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,由于各低水位值分别反映了对应数据流的数据到达进度,因此基于各数据流分别对应的低水位值,来触发执行数据拼接操作,无需设置一个较大时间窗口,可以有效的减少资源开销,提升数据拼接的时效性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种多数据流的数据拼接触发方法,其特征在于,包括:
接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流;
对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值;
对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值;
根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据是否落入当前时间窗口;
对于各所述从数据流,基于所述从数据流的从数据中携带的主事件时间,确定所述从数据是否落入当前时间窗口。
3.根据权利要求1所述的方法,其特征在于,根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作,包括:
判断所述主低水位值和所述从低水位值是否满足预设条件集合中的任一预设条件;
若是,则触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
4.根据权利要求3所述的方法,其特征在于,各所述预设条件包括:所述主低水位值达到第一预设值,所述从低水位值达到第二预设值。
5.根据权利要求4所述的方法,其特征在于,各所述预设条件中的第一预设值相同,各所述预设条件中的第二预设值不同。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述主数据流为推广信息的展现日志数据流,所述从数据流为推广信息的转化日志数据流。
7.一种多数据流的数据拼接触发装置,其特征在于,包括:
接收模块,用于接收多个数据流的数据,其中,所述多个数据流包括一个主数据流和至少一个从数据流;
第一确定模块,用于对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据流对应的主低水位值;
第二确定模块,用于对于各所述从数据流,基于所述从数据流的从数据中携带的从事件时间,确定所述从数据流对应的从低水位值;
触发模块,用于根据所述主低水位值和所述从低水位值,触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于对于所述主数据流,基于所述主数据流的主数据中携带的主事件时间,确定所述主数据是否落入当前时间窗口;
第四确定模块,用于对于各所述从数据流,基于所述从数据流的从数据中携带的主事件时间,确定所述从数据是否落入当前时间窗口。
9.根据权利要求7所述的装置,其特征在于,所述触发模块包括:
判断单元,用于判断所述主低水位值和所述从低水位值是否满足预设条件集合中的任一预设条件;
触发单元,用于若判断单元的判断结果为是,则触发执行对当前时间窗口内的主数据和从数据进行拼接的操作。
10.根据权利要求9所述的装置,其特征在于,各所述预设条件包括:所述主低水位值达到第一预设值,所述从低水位值达到第二预设值。
11.根据权利要求10所述的装置,其特征在于,各所述预设条件中的第一预设值相同,各所述预设条件中的第二预设值不同。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述主数据流为推广信息的展现日志数据流,所述从数据流为推广信息的转化日志数据流。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的多数据流的数据拼接触发方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的多数据流的数据拼接触发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043192.XA CN113127512B (zh) | 2020-01-15 | 2020-01-15 | 多数据流的数据拼接触发方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043192.XA CN113127512B (zh) | 2020-01-15 | 2020-01-15 | 多数据流的数据拼接触发方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127512A true CN113127512A (zh) | 2021-07-16 |
CN113127512B CN113127512B (zh) | 2023-09-29 |
Family
ID=76771827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010043192.XA Active CN113127512B (zh) | 2020-01-15 | 2020-01-15 | 多数据流的数据拼接触发方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127512B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228709A1 (en) * | 2008-03-05 | 2009-09-10 | Broadcom Corporation | Systems and methods for using transport stream splicing for programming information security |
US20120130940A1 (en) * | 2010-11-18 | 2012-05-24 | Wal-Mart Stores, Inc. | Real-time analytics of streaming data |
WO2017023432A1 (en) * | 2015-08-05 | 2017-02-09 | Google Inc. | Data flow windowing and triggering |
CN107305501A (zh) * | 2016-04-25 | 2017-10-31 | 百度在线网络技术(北京)有限公司 | 一种多流流式数据的处理方法和系统 |
US9959334B1 (en) * | 2015-06-16 | 2018-05-01 | Amazon Technologies, Inc. | Live drone observation data recording |
CN110069331A (zh) * | 2019-04-24 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN110134702A (zh) * | 2019-05-17 | 2019-08-16 | 北京百度网讯科技有限公司 | 数据流拼接方法、装置、设备和存储介质 |
US20190258733A1 (en) * | 2018-02-19 | 2019-08-22 | Red Hat, Inc. | Methods and devices for joining multiple events in data streaming analytics systems |
CN110460495A (zh) * | 2019-08-01 | 2019-11-15 | 北京百度网讯科技有限公司 | 一种水位推进方法、装置、计算节点及存储介质 |
CN110659304A (zh) * | 2019-09-09 | 2020-01-07 | 杭州中科先进技术研究院有限公司 | 一种基于数据倾斜的多路数据流连接系统 |
-
2020
- 2020-01-15 CN CN202010043192.XA patent/CN113127512B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228709A1 (en) * | 2008-03-05 | 2009-09-10 | Broadcom Corporation | Systems and methods for using transport stream splicing for programming information security |
US20120130940A1 (en) * | 2010-11-18 | 2012-05-24 | Wal-Mart Stores, Inc. | Real-time analytics of streaming data |
US9959334B1 (en) * | 2015-06-16 | 2018-05-01 | Amazon Technologies, Inc. | Live drone observation data recording |
WO2017023432A1 (en) * | 2015-08-05 | 2017-02-09 | Google Inc. | Data flow windowing and triggering |
CN107305501A (zh) * | 2016-04-25 | 2017-10-31 | 百度在线网络技术(北京)有限公司 | 一种多流流式数据的处理方法和系统 |
US20190258733A1 (en) * | 2018-02-19 | 2019-08-22 | Red Hat, Inc. | Methods and devices for joining multiple events in data streaming analytics systems |
CN110069331A (zh) * | 2019-04-24 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN110134702A (zh) * | 2019-05-17 | 2019-08-16 | 北京百度网讯科技有限公司 | 数据流拼接方法、装置、设备和存储介质 |
CN110460495A (zh) * | 2019-08-01 | 2019-11-15 | 北京百度网讯科技有限公司 | 一种水位推进方法、装置、计算节点及存储介质 |
CN110659304A (zh) * | 2019-09-09 | 2020-01-07 | 杭州中科先进技术研究院有限公司 | 一种基于数据倾斜的多路数据流连接系统 |
Non-Patent Citations (1)
Title |
---|
杨仁凯;王坤朋;木伟民;王伟平;: "一种数据流上基于滑动窗口的点连接查询处理算法", 计算机研究与发展, no. 1, pages 170 - 177 * |
Also Published As
Publication number | Publication date |
---|---|
CN113127512B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880914A (zh) | 资源调度方法、资源调度装置、电子设备和存储介质 | |
CN110570217B (zh) | 作弊检测的方法及装置 | |
CN112802325A (zh) | 车辆排队长度检测方法及装置 | |
CN111506803A (zh) | 内容推荐方法、装置、电子设备及存储介质 | |
CN111757118A (zh) | 视频转码处理方法、装置、设备和介质 | |
CN110716959A (zh) | 流式数据处理方法、装置、电子设备及存储介质 | |
CN110781824A (zh) | 目标检测及跟踪方法、装置、电子设备及存储介质 | |
CN112311597A (zh) | 消息推送方法和装置 | |
CN112561332A (zh) | 模型管理方法、装置、电子设备、存储介质和程序产品 | |
CN112306836A (zh) | 采样对象确定方法、装置、电子设备和计算机可读存储介质 | |
CN112560499A (zh) | 语义表示模型的预训练方法、装置、电子设备及存储介质 | |
CN111881339A (zh) | 资源信息的推送、通知方法、装置、电子设备及存储介质 | |
CN111783013A (zh) | 评论信息发布的方法、装置、设备及计算机可读存储介质 | |
CN111310044A (zh) | 页面元素信息的提取方法、装置、设备和存储介质 | |
CN111246305A (zh) | 视频预览方法、装置、设备及存储介质 | |
CN112306413A (zh) | 用于访问内存的方法、装置、设备以及存储介质 | |
CN112069137A (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN111596897A (zh) | 代码复用的处理方法、装置及电子设备 | |
CN113127512A (zh) | 多数据流的数据拼接触发方法、装置、电子设备和介质 | |
CN110889020B (zh) | 站点资源挖掘方法、装置以及电子设备 | |
CN112817965A (zh) | 一种数据拼接方法、装置、电子设备和存储介质 | |
CN113127511B (zh) | 多数据流的数据拼接方法、装置、电子设备和存储介质 | |
CN112887426A (zh) | 信息流的推送方法、装置、电子设备以及存储介质 | |
CN113760968A (zh) | 数据查询方法、装置、系统、电子设备及存储介质 | |
CN111581366A (zh) | 用户意图确定方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |