一种数据合成方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:28501124 阅读:14 留言:0更新日期:2021-05-19 22:44
本发明专利技术公开了一种数据合成方法、装置、计算机设备和存储介质。该方法包括:实时获取多个数据源接入的待合成数据,并获取各待合成数据对应的数据生成时间;根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,并确定与所述目标时间窗口匹配的缓存时间区间对应的缓存数据;对目标待合成数据和/或缓存数据进行数据合成,获得至少一个合成数据存储到数据库中。使用本发明专利技术的技术方案,可以实现对不同数据源和不同到达时间的数据进行实时合成处理。据进行实时合成处理。据进行实时合成处理。

【技术实现步骤摘要】
一种数据合成方法、装置、计算机设备和存储介质


[0001]本专利技术实施例涉及数据处理技术,尤其涉及一种数据合成方法、装置、计算机设备和存储介质。

技术介绍

[0002]数据合成也即数据的关联合并,是指从大规模数据中发现数据之间隐含的关系与规律,将多种数据信息进行提取计算,合并生成一类数据的过程。
[0003]传统的数据关联分析为离线分析,将多种数据存储到数据库中进行关联分析,在海量数据的关联分析场景下,传统的离线关联分析无法满足数据的实时计算需求,并且离线分析需要耗费的计算成本较高,效率较低。而在大数据领域,如果要对数据进行实时合成,在多个数据源接入的数据到达时间不同的情况下,可能会存在部分数据无法被合成的情况。

技术实现思路

[0004]本专利技术实施例提供了一种数据合成方法、装置、计算机设备和存储介质,以实现对不同数据源和不同到达时间的数据进行实时合成处理。
[0005]第一方面,本专利技术实施例提供了一种数据合成方法,该方法包括:
[0006]实时获取多个数据源接入的待合成数据,并获取各待合成数据对应的数据生成时间;
[0007]根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,并确定与所述目标时间窗口匹配的缓存时间区间对应的缓存数据;
[0008]对目标待合成数据和/或缓存数据进行数据合成,获得至少一个合成数据存储到数据库中。
[0009]第二方面,本专利技术实施例还提供了一种数据合成装置,该装置包括:
[0010]数据生成时间获取模块,用于实时获取多个数据源接入的待合成数据,并获取各待合成数据对应的数据生成时间;
[0011]数据确定模块,用于根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,并确定与所述目标时间窗口匹配的缓存时间区间对应的缓存数据;
[0012]数据合成模块,用于对目标待合成数据和/或缓存数据进行数据合成,获得至少一个合成数据存储到数据库中。
[0013]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的数据合成方法。
[0014]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术实施例中任一所述的数据
合成方法。
[0015]本专利技术实施例通过接入多个数据源,实时获取待合成数据,根据各待合成数据的数据生成时间,确定目标时间窗口对应的目标待合成数据和缓存时间区间对应的缓存数据,对目标待合成数据和/或缓存数据进行数据合成,得到合成数据。解决了现有技术中传统的离线关联分析无法满足数据的实时计算需求,并且需要耗费的计算成本较高,效率较低的问题,以及实时合成时数据到达时间不一导致部分数据无法被合成的问题,实现了对不同数据源和不同到达时间的数据的实时合成处理。
附图说明
[0016]图1是本专利技术实施例一中的一种数据合成方法的流程图;
[0017]图2a是本专利技术实施例二中的一种数据合成方法的流程图;
[0018]图2b是适用于本专利技术实施例中的一种数据合成原理的示意图;
[0019]图3是本专利技术实施例三中的一种数据合成装置的结构示意图;
[0020]图4是本专利技术实施例四中的一种计算机设备的结构示意图。
具体实施方式
[0021]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0022]实施例一
[0023]图1是本专利技术实施例一提供的一种数据合成方法的流程图,本实施例可适用于对流式数据进行实时的数据合成的情况,该方法可以由数据合成装置来执行,该装置可以由软件和/或硬件来实现,并一般集成在计算机设备中。
[0024]如图1所示,本专利技术实施例的技术方案,具体包括如下步骤:
[0025]S110、实时获取多个数据源接入的待合成数据,并获取各待合成数据对应的数据生成时间。
[0026]其中,数据源也即数据的来源,是提供某种所需要数据的器件或原始媒体。示例性的,本实施例中可以基于Flink框架进行数据源的接入和待合成数据的合成,在Flink框架下,数据源可以包括内置数据源和外部数据源,内置数据源包括文件数据源或者集合数据源等,外部数据源包括Kafka、RabbitMQ等,采用基于Flink的流式数据框架,可以实现大规模分布式的数据合成,提高数据实时合成的效率。但本实施例对采用的框架类型不进行限制。
[0027]待合成数据是根据接入的多个数据源获取的数据。可选的,所述待合成数据可以为流式数据。也即,数据源接入的待合成数据以DataStream数据流的形式存在。对不同的数据源,将其数据均转化为统一的流式数据,对于批处理的数据,也将其转换为流式数据进行后续处理。
[0028]可选的,所述待合成数据可以包括主数据源对应的待合成数据,以及至少一个从数据源对应的待合成数据。
[0029]在本专利技术实施例中,对来自多个数据源的待合成数据进行数据合成时,需要将不
同的数据源分为主数据源和从数据源。具体的,可以将接入的流式数据较为连续、无延时的数据源作为主数据源,其他数据源作为从数据源,但本实施例对主数据源的选择依据不进行限制。将数据源划分为主数据源和从数据源之后,就可以以主数据源接入的数据和时间窗口为依据,确定是否要对从数据源接入的数据进行缓存。
[0030]数据生成时间可以根据待合成数据的时间戳确定,时间戳表示在特定时间点已经存在完整的可验证的数据,可以用来表示数据的产生时间。可选的,可以解析各待合成数据中的时间字段,从而获取各待合成数据的数据生成时间。
[0031]S120、根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,并确定与所述目标时间窗口匹配的缓存时间区间对应的缓存数据。
[0032]时间窗口用于将待合成数据按照时间进行分组,从而将每一组作为一个整体进行数据合成。在本专利技术实施例中,各时间窗口之间是不重叠的,示例性的,可以设置时间窗口长度为2h,则每隔2h进行一次数据合成。确定待合成数据的数据生成时间之后,即可确定待合成数据对应的时间窗口,例如,当待合成数据的数据生成时间为12:00时,该待合成数据对应12:00

14:00这一时间窗口。
[0033]缓存时间区间是与时间窗口对应的一个时间区间。不同数据源的待合成数据通过键名进行关联,但不同数据源对应的接口不同,不同数据源的待合成数据通过接口接入的时间也不同,则对应相同键名的、来自不同数据源的待合成数据可能存在对应不同的时间窗口的情况,这种情况下这些待合成数据将无法被合成。因此,本专利技术实施例在时间窗口之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据合成方法,其特征在于,包括:实时获取多个数据源接入的待合成数据,并获取各待合成数据对应的数据生成时间;根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,并确定与所述目标时间窗口匹配的缓存时间区间对应的缓存数据;对目标待合成数据和/或缓存数据进行数据合成,获得至少一个合成数据存储到数据库中。2.根据权利要求1所述的方法,其特征在于,在实时获取多个数据源接入的待合成数据之前,还包括:响应于用户的目标数据源接入指令,通过与所述目标数据源接入指令匹配的目标数据源接入组件,接入目标数据源的待合成数据。3.根据权利要求1所述的方法,其特征在于,对目标待合成数据和/或缓存数据进行数据合成,包括:如果确定当前时间为与目标时间窗口匹配的延迟等待时间,则对目标待合成数据和/或缓存数据进行数据合成。4.根据权利要求3所述的方法,其特征在于,所述待合成数据包括主数据源对应的待合成数据,以及至少一个从数据源对应的待合成数据;根据各待合成数据对应的数据生成时间,确定目标时间窗口对应的目标待合成数据,包括:在主数据源对应的各待合成数据中,获取数据生成时间位于目标时间窗口内的待合成数据作为目标待合成数据;在至少一个从数据源对应的各待合成数据中,获取数据生成时间位于目标时间窗口内以及延迟等待时间之前的待合成数据作为目标待合成数据。5.根据权利要求4所述的方法,其特征在于,确定与所述目标时间窗...

【专利技术属性】
技术研发人员:张建浩盛磊武林红陈浩侯立冬孟宝权傅强蔡琳梁彧田野王杰杨满智金红陈晓光
申请(专利权)人:恒安嘉新北京科技股份公司
类型:发明
国别省市:

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

1