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

文档序号:20029793发布日期:2020-02-28 10:14阅读:141来源:国知局
流数据处理方法、装置、计算机设备和存储介质与流程

本申请涉及数据库应用技术领域,特别是涉及一种流数据处理方法、装置、计算机设备和存储介质。



背景技术:

随着互联网的高速发展,使得对数据实效性的要求越来越高,基于流数据的流计算越来越重要。

对于一般的业务系统,通过结构化查询语言(structuredquerylanguage,sql)关联查询的方式查询不同数据库中的关联数据。例如,对于订单分析,要分析用户的所在地,以订单数据库的变更日志为主流,关联查询用户的基本信息库,获取基本信息库中用户的所在地信息,以进行分析。

在每一次数据分析处理的时候,均需要关联查询存储分析数据的原始数据库,数据处理效率低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提升数据处理效率的流数据处理方法、装置、计算机设备和存储介质。

一种流数据处理方法,所述方法包括:

读取源表中的流数据;

关联查询缓存系统中与所获取的流数据对应的关联数据,所述缓存系统用于缓存原始数据库中与所述流数据对应的关联数据;

根据所述关联数据对所述流数据进行聚合处理,得到聚合结果数据。

在其中一个实施例中,所述方法还包括:

获取原始数据库中的原始数据,以及源表中的流数据与所述原始数据的第一对应关系;

根据所述源表中的流数据与原始数据的第一对应关系,建立所述流数据与原始数据中的关联数据的第二对应关系;

将所述原始数据库中的关联数据以及对应的第二对应关系存储到缓存系统中。

在其中一个实施例中,所述根据所述源表中的流数据与原始数据的第一对应关系,建立所述流数据与原始数据中的关联数据的第二对应关系,包括:

根据所述源表中各流数据与所述原始数据库中各原始数据之间的一对一的第一对应关系,建立所述流数据与原始数据中的关联数据之间一对一的第二对应关系;

所述关联查询缓存系统中与所获取的流数据对应的关联数据,包括:

根据所述流数据与原始数据中的关联数据之间一对一的第二对应关系,关联查询所述缓存系统中对应所述流数据的单个关联数据。

在其中一个实施例中,所述根据所述源表中的流数据与原始数据的第一对应关系,建立所述流数据与原始数据中的关联数据的第二对应关系,包括:

根据所述源表中各流数据与所述原始数据库中多个原始数据之间的一对多的第一对应关系,建立所述流数据与多个原始数据之间一对多的第二对应关系;

所述关联查询缓存系统中与所获取的流数据对应的关联数据,包括:

根据所述流数据与多个原始数据中各原始数据的关联数据之间一对多的第二对应关系,关联查询所述缓存系统中与所述流数据对应的多个关联数据;

根据各关联数据的数据标识,从所述多个关联数据中选取对所述流数据进行聚合处理的单个关联数据。

在其中一个实施例中,所述关联查询所述缓存系统中与所述流数据对应的关联数据之后,还包括:

判断所查询的关联数据的数量;

当所查询的关联数据的数量等于预设数量时,则继续从所述多个关联数据中选取对所述流数据进行聚合处理的单个关联数据;

当所查询的关联数据的数量小于所述预设数量时,则继续关联查询所述缓存系统中与所述流数据对应的多个关联数据。

在其中一个实施例中,所述对所述关联数据进行聚合处理之前,所述方法还包括:

若在所述缓存系统中未查询到与所述流数据对应的关联数据时,则关联查询所述原始数据库,得到与所述流数据对应的关联数据;

同步所述原始数据库中与所述流数据对应的关联数据至所述缓存系统;

根据从所述原始数据库中获取的关联数据,以及从缓存系统中获取的关联数据,对所对应的流数据进行聚合处理,得到聚合处理结果。

在其中一个实施例中,所述方法还包括:

获取所述缓存系统中所述关联数据的失效时间;

从所述缓存系统中删除所述失效时间超过当前时间的关联数据。

一种流数据处理装置,包括:

接收模块,用于接收终端发送的任务计算请求;

读取模块,用于响应于所述任务计算请求,读取源表中的流数据;

关联查询模块,用于关联查询缓存系统中与所获取的流数据对应的关联数据,所述缓存系统用于缓存原始数据库中与所述流数据对应的关联数据;

聚合处理模块,用于根据所述关联数据对所述流数据进行聚合处理,得到聚合结果数据;

写入模块,用于将所述聚合结果数据写入结果表。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。

上述流数据处理方法、装置、计算机设备和存储介质,通过读取源表中的流数据,关联查询缓存系统中与所获取的流数据对应的关联数据,所述缓存系统用于缓存原始数据库中与所述流数据对应的关联数据,根据所述关联数据对所述流数据进行聚合处理,得到聚合结果数据。从而,流数据对应的关联数据可以从缓存系统中获取,相比从原始数据库中获取关联数据,可以节约关联数据的获取时间,进而可以节约数据处理的处理时间,提升数据处理的效率。

附图说明

图1为一个实施例中流数据处理方法的应用场景图;

图2为一个实施例中流数据处理方法的流程示意图;

图3为一个实施例中缓存系统关联数据同步步骤的流程示意图;

图4为一个实施例中关联查询原始数据库并获取关联数据的步骤的流程示意图;

图5为一个实施例中流数据处理装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的流数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。终端102可以向服务器104发送任务计算请求,服务器104可以根据终端102发送的任务计算请求,从源表中读取流数据,进而关联查询缓存系统中缓存的与流数据对应的关联数据。进一步,服务器104根据获取的关联数据对流数据进行聚合处理,以生成聚合结果数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种流数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤s202,读取源表中的流数据。

其中,流数据是指有多个不同数据源持续生成的数据,可以是数据序列,或者是数据集合,可以是多种不同的数据,例如,数据库的变更日志、用户访问日志、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务,以及来自数据中心内所连接设备或仪器的遥测数据等。

源表是指流数据分析中的流式数据存储,源表中可以存储流数据。

具体地,当数据源每一次发生数据变更时,源表中均可以生成对应该数据变更的流数据,从而服务器均可以从源表中读取到数据变更而产生的流数据,例如,对于网上购物中,当增加一个购物订单时,源表中均可以生成对应该购物订单的流数据,服务器均可以从源表中读取到与该购物订单相关的流数据。

在实际应用中,服务器从源表中读取到的流数据可以携带有数据生成标识等信息,可以根据该数据生成标识关联查询到与该流数据对应的关联数据。例如,继续以网上购物订单为例,数据生成标识可以是订单生成用户的用户id,根据该用户id可以查询到订单数据库中该用户id对应的订单数据,该订单数据中可以包括订单配送地址。

可选地,服务器从源表读取流数据可以是在接收到终端发送的任务计算请求时读取的。其中,任务计算请求可以是进行流数据分析计算的任务请求,任务计算请求可以包括但不限于与流数据的具体业务分析内容相关的要求,例如,具体业务涉及网上购物的订单业务,具体业务分析内容涉及对订单配送地的统计分析,则任务计算请求中可以包括对产生的网上购物订单的订单配送地进行统计分析的要求。

步骤s204,关联查询缓存系统中与获取的流数据对应的关联数据,缓存系统用于缓存原始数据库中与流数据对应的关联数据。

其中,关联数据是指对应任务计算请求的数据,与具体业务分析内容相对应。例如,前文中任务计算请求是对购物订单的订单配送地进行统计分析,则关联数据是指购物订单的订单配送地址。

原始数据库是用于存储数据变更而产生的所有的数据,例如,对于网上购物业务,原始数据库可以用于存储订单的所有订单数据,如订单配送地址,具体的订单内容,如食品、家具、电器等,订单生成时间,如“2019.09.2410点11分01秒”,订单要求,如“尽快配送”等。

缓存系统可以存储从原始数据库中获取的与任务计算请求相关的关联数据,例如,对应上诉实施例,缓存系统用于存储从原始数据库中获取的订单配送地址。

具体地,服务器可以根据获取的流数据中的数据生成标识,从缓存系统中关联查询并获取与流数据存在对应关系的关联数据。

步骤s206,根据关联数据对流数据进行聚合处理,得到聚合结果数据。

具体地,服务器从源表中读取到新增的流数据后,可以关联查询到与该流数据对应的关联数据,并根据获取的关联数据以及在获取该关联数据之前获取的关联数据,对其对应的流数据进行聚合处理,得到聚合结果数据。

在实际应用中,聚合结果数据是对应任务计算请求的结果数据,延用前例,对应于订单配送地的统计分析,聚合结果数据可以是“上海5个订单”“北京7个订单”等数据。

可选的,服务器进行聚合处理得到聚合结果数据后,可以将获取的聚合结果数据写入结果表。其中,结果表是指用于存储流数据分析的分析结果的表,表中可以存储本申请中进行聚合处理后的聚合结果数据。

上述流数据处理方法中,通过读取源表中的流数据,关联查询缓存系统中与获取的流数据对应的关联数据,缓存系统用于缓存原始数据库中与流数据对应的关联数据,根据关联数据对流数据进行聚合处理,得到聚合结果数据。从而,流数据对应的关联数据可以从缓存系统中获取,相比从原始数据库中获取关联数据,可以节约关联数据的获取时间,进而可以节约数据处理的处理时间,提升数据处理的效率。

在其中一个实施例中,参考图3所示缓存系统关联数据同步步骤的流程示意图,上述方法还可以包括如下步骤:

步骤s302,获取原始数据库中的原始数据,以及源表中的流数据与原始数据的第一对应关系。

其中,原始数据是指与源表中每一流数据对应的数据,每一个原始数据是对应源表中每一个流数据的唯一数据。具体地,原始数据可以包括但不限于关联数据,例如,对应于购物订单,原始数据可以是前文的订单数据,可以包括订单配送地址,还可以包括具体的订单内容,如食品、家具、电器等,订单生成时间,如“2019.09.2410点11分01秒”,订单要求,如“尽快配送”等。

进一步,流数据中数据生成标识是对应原始数据的唯一数据,可以通过该数据生成标标识对流数据以及原始数据进行关联,例如,对于购物订单,可以根据订单生成用户的用户id关联源表中的流数据与对应的关联数据。

具体地,原始数据库中的原始数据与源表中流数据的第一对应关系根据数据生成标识建立。

步骤s304,根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系。

步骤s306,将原始数据库中的关联数据以及对应的第二对应关系存储到缓存系统中。

具体地,服务器获取的原始数据与源表中流数据的第一对应关系后,可以根据建立该第一对应关系的数据生成标识建立原始数据中关联数据与流数据的第二对应关系,并将获取的原始数据中的关联数据,以及建立的第二对应关系存储至缓存系统中。

从而,服务器在进行流数据分析的时候,可以根据该第二对应关系,获取缓存系统中与该流数据存在第二对应关系的关联数据,可以提升数据获取的效率。

在其中一个实施例中,根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中各原始数据之间的一对一的第一对应关系,建立流数据与原始数据中的关联数据之间一对一的第二对应关系。关联查询缓存系统中与所获取的流数据对应的关联数据,包括:根据流数据与原始数据中的关联数据之间一对一的第二对应关系,关联查询缓存系统中对应流数据的单个关联数据。

在其中一个实施例中,根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中多个原始数据之间的一对多的第一对应关系,建立流数据与多个原始数据之间一对多的第二对应关系;关联查询缓存系统中与获取的流数据对应的关联数据,包括:根据流数据与多个原始数据中各原始数据的关联数据之间一对多的第二对应关系,关联查询缓存系统中与流数据对应的多个关联数据;根据各关联数据的数据标识,从多个关联数据中选取对流数据进行聚合处理的单个关联数据。

在实际应用中,继续以订单为例,一个用户id可以对应有一个或者多个订单配送地址,购物订单生成时,将通过用户id建立流数据与订单数据之间一对一的第一对应关系或者一对多的第一对应关系,即当一个用户id仅对应有一个订单配送地址时,服务器可以根据该用户id查询到一个购物订单的订单数据,当一个用户id对应有多个订单配送地址时,服务器可以根据该用户id查询到多个对应不同订单配送地址的订单数据。

进一步,服务器根据流数据与订单数据之间一对一或一对多的第一对应关系,建立流数据与订单数据中订单配送地址之间一对一或一对多的第二对应关系。

具体地,对于用户id仅对应一个订单配送地址的情况,服务器可以根据流数据与订单配送地址之间一对一的第二对应关系,关联查询到对应新增的流数据的购物订单的订单接收地址;对于用户id对应多个订单配送地址的情况,服务器可以流数据与订单配送地址之间一对多的第二对应关系,关联查询到多个订单配送地址,并根据服务器生成的对应各个订单配送地址的地址标识,即各关联数据的数据标识,从该多个订单配送地址中确定对应该新增的流数据的购物订单的订单配送地址。

通过分别对流数据与原始数据之间一对一或一对多的第一对应关系,建立原始数据中的关联数据与流数据之间一对一或一对多的第二对应关系,关联查询到对应流数据的单一关联数据或多个关联数据,对于关联查询到多个关联数据的情况,可以根据各关联数据的数据标识,从中确定对应新增的数据流的关联数据,从而对于各种不同的情形,均可以准确获取到新增的流数据的唯一关联数据,以进行聚合处理,可以提升数据处理的准确性。

在其中一个实施例中,关联查询缓存系统中与流数据对应的关联数据之后,还包括:判断所查询的关联数据的数量;当所查询的关联数据的数量等于预设数量时,则继续从多个关联数据中选取对流数据进行聚合处理的单个关联数据;当所查询的关联数据的数量小于预设数量时,则继续关联查询缓存系统中与流数据对应的多个关联数据。

具体地,服务器预先设置数据生成标识对应的关联数据的数量,当查询到对应数据生成标识的多个关联数据后,对关联查询到的多个关联数据的数量与预设数量进行判定,在查询到的关联数据的数量等于预设数量时,则从查询到的多个关联数据中确定新增的流数据对应的单个关联数据。

通过对关联查询到的关联数据的数量进行判定,判定数量等于预设数量时对流数据对应的关联数据进行确定,可以进一步保证获取到的关联数据的准确性,进而可以提升数据处理的准确性。

在其中一个实施例中,执行步骤204,从缓冲系统中未查询到与流数据对应的关联数据时,则可以关联查询原始数据库,从原始数据库中查询并获取关联数据。具体地,可以参考图4所示的关联查询原始数据库并获取关联数据的步骤的流程示意图,对关联数据进行聚合处理之前,还可以包括:

步骤s402,若在缓存系统中未查询到与流数据对应的关联数据时,则关联查询原始数据库,得到与流数据对应的关联数据。

具体地,服务器通过从源表中读取的流数据关联查询缓存系统,若该流数据中的数据生成标识是首次出现的,例如对于订单业务,是新用户首次下单,则缓存系统中不会存在与该新用户的用户id对应的订单配送地址,则服务器可以对原始数据库进行关联查询,并从原始数据库中获取与该流数据对应的关联数据。

步骤s404,同步原始数据库中与流数据对应的关联数据至缓存系统。

步骤s406,根据从原始数据库中获取的关联数据,以及从缓存系统中获取的关联数据,对所对应的流数据进行聚合处理,得到聚合处理结果。

具体地,服务器在从原始数据库中获取缓存系统中不存在的关联数据并同步至缓存系统后,可以根据从缓存系统中获取的关联数据以及从原始数据库中获取的与流数据对应的关联数据,对流数据进行聚合处理,进而得到聚合处理结果,并写入结果表。

通过关联查询原始数据库,将从缓存系统中未查询到的关联数据从原始数据库中同步至缓存系统,从而可以完善缓存系统中的关联数据,后续再次关联查询与该流数据中数据生成标识对应的关联数据时,可以直接从缓存系统中查询并获取该关联数据,进而可以提升数据查询的速度,提升数据处理的效率。

在其中一个实施例中,上诉方法还可以包括:获取缓存系统中关联数据的失效时间;从缓存系统中删除失效时间超过当前时间的关联数据。

具体地,可以预先设置存入缓存系统中各关联数据的失效时间,例如,设置时效时间为5天,当关联数据存入缓存系统时该失效时间开始生效。服务器可以定时通过子线程对缓存系统中各关联数据的时效时间进行判定,对于时效时间超过当前时间的关联数据,则服务器进行过期清除,从而删除相应的关联数据。

可选的,获取器也可以根据缓存清除算法对缓存系统的关联数据进行删除,缓存清除算法可以包括但不限于先入先出算法(firstinputfirstoutput,fifo)、最近最少使用算法(leastrecentlyused,lru)或最不经常使用算法(leastfrequentlyused,lfu)等。在实际应用中,可以根据具体需要进行设定,本申请对此不作限制。

通过获取关联数据的失效时间,并对缓存系统中超过失效时间的关联数据进行删除,可以避免关联数据的持续增加造成缓存系统中数据量的增加,从而在从缓存系统中关联查询关联数据的时候,可以减少需要查阅的数据量,可以提升关联查询的速度,提升数据处理的效率。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种流数据处理装置,包括:读取模块100、关联查询模块200以及聚合处理模块300,其中:

读取模块100,用于读取源表中的流数据。

第一关联查询模块200,用于关联查询缓存系统中与所获取的流数据对应的关联数据,缓存系统用于缓存原始数据库中与流数据对应的关联数据。

第一聚合处理模块300,用于根据关联数据对流数据进行聚合处理,得到聚合结果数据。

在其中一个实施例中,上述流数据处理装置还可以包括:

第一获取模块,用于获取原始数据库中的原始数据,以及源表中的流数据与原始数据的第一对应关系。

建立模块,用于根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系。

存储模块,用于将原始数据库中的关联数据以及对应的第二对应关系存储到缓存系统中。

在其中一个实施例中,建立模块可以包括:

第一建立子模块,用于根据源表中各流数据与原始数据库中各原始数据之间的一对一的第一对应关系,建立流数据与原始数据中的关联数据之间一对一的第二对应关系。

第一关联查询模块200可以包括:

第一关联查询子模块,用于根据流数据与原始数据中的关联数据之间一对一的第二对应关系,关联查询缓存系统中对应流数据的单个关联数据。

在其中一个实施例中,建立模块可以包括:

第二建立子模块,用于根据源表中各流数据与原始数据库中多个原始数据之间的一对多的第一对应关系,建立流数据与多个原始数据之间一对多的第二对应关系。

第一关联查询模块200可以包括:

第二关联查询子模块,用于根据流数据与多个原始数据中各原始数据的关联数据之间一对一的第二对应关系,关联查询缓存系统中与流数据对应的多个关联数据。

选取子模块,用于根据各关联数据的数据标识,从多个关联数据中选取对流数据进行聚合处理的单个关联数据。

在其中一个实施例中,第一关联查询模块200还可以包括:

判断子模块,用于判断所查询的关联数据的数量,当所查询的关联数据的数量等于预设数量时,则通过选取子模块继续从多个关联数据中选取对流数据进行聚合处理的单个关联数据,当所查询的关联数据的数量小于预设数量时,则通过第二关联查询子模块继续关联查询缓存系统中与流数据对应的多个关联数据。

在其中一个实施例中,流数据处理装置还可以包括:

第二关联查询模块,用于在第一聚合处理模块300对关联数据进行聚合处理之前,若第一关联查询模块200在缓存系统中未查询到与流数据对应的关联数据时,则关联查询原始数据库,得到与流数据对应的关联数据。

同步模块,用于同步原始数据库中与流数据对应的关联数据至缓存系统。

第二聚合处理模块,用于根据从原始数据库中获取的关联数据,以及从缓存系统中获取的关联数据,对所对应的流数据进行聚合处理,得到聚合处理结果。

在其中一个实施例中,流数据处理装置还可以包括:

第二获取模块,用于获取缓存系统中关联数据的失效时间。

删除模块,用于从缓存系统中删除失效时间超过当前时间的关联数据。

关于流数据处理装置的具体限定可以参见上文中对流数据处理方法的限定,在此不再赘述。上述流数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流数据处理方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收终端发送的任务计算请求;响应于任务计算请求,读取源表中的流数据;关联查询缓存系统中与所获取的流数据对应的关联数据,缓存系统用于缓存原始数据库中与流数据对应的关联数据;根据关联数据对流数据进行聚合处理,得到聚合结果数据;将聚合结果数据写入结果表。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取原始数据库中的原始数据,以及源表中的流数据与原始数据的第一对应关系;根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系;将原始数据库中的关联数据以及对应的第二对应关系存储到缓存系统中。

在一个实施例中,处理器执行计算机程序时所实现根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中各原始数据之间的一对一的第一对应关系,建立流数据与原始数据中的关联数据之间一对一的第二对应关系。关联查询缓存系统中与所获取的流数据对应的关联数据,包括:根据流数据与原始数据中的关联数据之间一对一的第二对应关系,关联查询缓存系统中对应流数据的单个关联数据。

在一个实施例中,处理器执行计算机程序时所实现根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中多个原始数据之间的一对多的第一对应关系,建立流数据与多个原始数据之间一对多的第二对应关系;关联查询缓存系统中与所获取的流数据对应的关联数据,包括:根据流数据与多个原始数据中各原始数据的关联数据之间一对多的第二对应关系,关联查询缓存系统中与流数据对应的多个关联数据;根据各关联数据的数据标识,从多个关联数据中选取对流数据进行聚合处理的单个关联数据。

在一个实施例中,处理器执行计算机程序时所实现关联查询缓存系统中与流数据对应的关联数据之后,还包括:判断所查询的关联数据的数量;当所查询的关联数据的数量等于预设数量时,则继续从多个关联数据中选取对流数据进行聚合处理的单个关联数据;当所查询的关联数据的数量小于预设数量时,则继续关联查询缓存系统中与流数据对应的多个关联数据。

在一个实施例中,处理器执行计算机程序时所实现对关联数据进行聚合处理之前,还可以包括:若在缓存系统中未查询到与流数据对应的关联数据时,则关联查询原始数据库,得到与流数据对应的关联数据;同步原始数据库中与流数据对应的关联数据至缓存系统;根据从原始数据库中获取的关联数据,以及从缓存系统中获取的关联数据,对所对应的流数据进行聚合处理,得到聚合处理结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取缓存系统中关联数据的失效时间;从缓存系统中删除失效时间超过当前时间的关联数据。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收终端发送的任务计算请求;响应于任务计算请求,读取源表中的流数据;关联查询缓存系统中与所获取的流数据对应的关联数据,缓存系统用于缓存原始数据库中与流数据对应的关联数据;根据关联数据对流数据进行聚合处理,得到聚合结果数据;将聚合结果数据写入结果表。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取原始数据库中的原始数据,以及源表中的流数据与原始数据的第一对应关系;根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系;将原始数据库中的关联数据以及对应的第二对应关系存储到缓存系统中。

在一个实施例中,计算机程序被处理器执行时所实现根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中各原始数据之间的一对一的第一对应关系,建立流数据与原始数据中的关联数据之间一对一的第二对应关系;关联查询缓存系统中与所获取的流数据对应的关联数据,包括:根据流数据与原始数据中的关联数据之间一对一的第二对应关系,关联查询缓存系统中对应流数据的单个关联数据。

在一个实施例中,计算机程序被处理器执行时所实现根据源表中的流数据与原始数据的第一对应关系,建立流数据与原始数据中的关联数据的第二对应关系,包括:根据源表中各流数据与原始数据库中多个原始数据之间的一对多的第一对应关系,建立流数据与多个原始数据之间一对多的第二对应关系;关联查询缓存系统中与所获取的流数据对应的关联数据,包括:根据流数据与多个原始数据中各原始数据的关联数据之间一对多的第二对应关系,关联查询缓存系统中与流数据对应的多个关联数据;根据各关联数据的数据标识,从多个关联数据中选取对流数据进行聚合处理的单个关联数据。

在一个实施例中,计算机程序被处理器执行时所实现关联查询缓存系统中与流数据对应的关联数据之后,还包括:判断所查询的关联数据的数量;当所查询的关联数据的数量等于预设数量时,则继续从多个关联数据中选取对流数据进行聚合处理的单个关联数据;当所查询的关联数据的数量小于预设数量时,则继续关联查询缓存系统中与流数据对应的多个关联数据。

在一个实施例中,计算机程序被处理器执行时所实现对关联数据进行聚合处理之前,还可以包括:若在缓存系统中未查询到与流数据对应的关联数据时,则关联查询原始数据库,得到与流数据对应的关联数据;同步原始数据库中与流数据对应的关联数据至缓存系统;根据从原始数据库中获取的关联数据,以及从缓存系统中获取的关联数据,对所对应的流数据进行聚合处理,得到聚合处理结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取缓存系统中关联数据的失效时间;从缓存系统中删除失效时间超过当前时间的关联数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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