本申请涉及数据处理,特别是涉及一种宽表数据的存储方法、装置及终端。
背景技术:
1、在很多场景下都需要实现多表实时关联,也即,当一个表或多个表的数据发生变化时,需要实时得到当前场景下需要关注的最新的关联结果数据。目前,对于多表实时关联产出目标宽表的场景支持存在空缺,因此,如何进行多表实时关联确定当前需要关注的关联结果数据,以产出目标宽表成为当前亟待的解决技术问题。
技术实现思路
1、本申请实施例的目的在于提供一种宽表数据的存储方法、装置及终端,以解决上述技术问题。
2、一方面,提供一种宽表数据的存储方法,所述方法包括:
3、对与目标宽表关联的各业务数据源表的数据内容进行监听;
4、当监听到某一目标业务数据源表中的数据内容更新时,生成数据变更消息;
5、根据所述数据变更消息对与所述目标业务数据源表对应的数据缓存表进行更新,并确定与所述目标业务数据源表关联的所述目标宽表的宽表配置信息;每一所述数据缓存表为针对对应的所述业务数据源表创建的用于同步所述业务数据源表中的数据内容的缓存表;所述宽表配置信息包括所述目标宽表的目标字段、与所述目标宽表关联的各所述业务数据源表的源表标识信息以及字段关联信息;所述字段关联信息用于指示不同的所述业务数据源表之间字段的关联方式;
6、根据所述数据变更消息和所述宽表配置信息,从除所述目标业务数据源表以外的所述业务数据源表对应的所述数据缓存表中确定对应的关联数据内容;
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、监听模块,用于对与目标宽表关联的各业务数据源表的数据内容进行监听;
34、生成模块,用于当监听到某一目标业务数据源表中的数据内容更新时,生成数据变更消息;
35、第一确定模块,用于根据所述数据变更消息对与所述目标业务数据源表对应的数据缓存表进行更新,并确定与所述目标业务数据源表关联的所述目标宽表的宽表配置信息;每一所述数据缓存表为针对对应的所述业务数据源表创建的用于同步所述业务数据源表中的数据内容的缓存表;所述宽表配置信息包括所述目标宽表的目标字段、与所述目标宽表关联的各所述业务数据源表的源表标识信息以及字段关联信息;所述字段关联信息用于指示不同的所述业务数据源表之间字段的关联方式;
36、第二确定模块,用于根据所述数据变更消息和所述宽表配置信息,从除所述目标业务数据源表以外的所述业务数据源表对应的所述数据缓存表中确定对应的关联数据内容;
37、第三确定模块,用于根据所述数据变更消息和所述关联数据内容确定所述目标宽表的待更新关联结果数据;
38、存储模块,用于将所述待更新关联结果数据存入所述目标宽表。
39、另一方面,提供了一种终端,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,以实现上述任一所述的方法。
40、本申请提供的宽表数据的存储方法、装置及终端,通过对与目标宽表关联的各业务数据源表的数据内容进行监听,当监听到某一目标业务数据源表中的数据内容更新时,生成数据变更消息,根据数据变更消息对与目标业务数据源表对应的数据缓存表进行更新,并确定与目标业务数据源表关联的目标宽表的宽表配置信息,根据数据变更消息和宽表配置信息,从除目标业务数据源表以外的业务数据源表对应的数据缓存表中确定对应的关联数据内容,根据数据变更消息和关联数据内容确定目标宽表的待更新关联结果数据,将待更新关联结果数据存入目标宽表,所以当一个业务数据源表中的数据内容发生变化时,可以实时确定出对应的待更新关联结果数据,由于数据缓存表的存在,使得每次更新时无需从业务数据源表读取数据,而是可以从数据缓存表中读取数据,降低了对原始业务的影响,另外,由于会将该待更新关联结果数据存入目标宽表,更便于下游端对该结果数据进行直接调用。
1.一种宽表数据的存储方法,其特征在于,所述方法包括:
2.如权利要求1所述的宽表数据的存储方法,其特征在于,在所述对各业务数据源表的数据内容进行监听之前,所述方法包括:
3.如权利要求1所述的宽表数据的存储方法,其特征在于,所述对与目标宽表关联的各业务数据源表的数据内容进行监听,包括:
4.如权利要求3所述的宽表数据的存储方法,其特征在于,所述方法还包括:
5.如权利要求4所述的宽表数据的存储方法,其特征在于,在所述依次针对与目标宽表关联的各业务数据源表进行数据监听进程初始化处理之后,所述方法还包括:
6.如权利要求5所述的宽表数据的存储方法,其特征在于,所述依次针对与目标宽表关联的各业务数据源表进行数据监听进程初始化处理,包括:
7.如权利要求1所述的宽表数据的存储方法,其特征在于,在所述生成数据变更消息之后,所述方法包括:
8.如权利要求1所述的宽表数据的存储方法,其特征在于,在所述根据所述数据变更消息和所述关联数据内容得到所述目标宽表的待更新关联结果数据之后,所述方法包括:
9.一种宽表数据的存储装置,其特征在于,包括:
10.一种终端,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-8中任一项所述的方法。