一种业务数据推送方法、装置、设备和存储介质与流程

未命名 10-14 阅读:82 评论:0


1.本技术涉及分布式技术领域,特别是涉及一种业务数据推送方法、装置、设备和存储介质。


背景技术:

2.分布式文件系统(hadoop distributed file system,hdfs)中存储有业务数据表,同时用数系统存储有与业务数据表的表结构相同的表。当用数系统需要从hdfs获取业务数据时,通过hive抽取业务数据表中所有业务字段下的业务数据,并将抽取的业务数据所形成的文件通过信息集成系统推送至用数系统。
3.但是,上述业务数据推送方案存在以下问题:hdfs中的业务数据表的表结构可能会发生变更,例如新增业务字段或者删除业务字段等导致表结构变更,在hdfs中的表结构变更时,需要通知所有用数系统同步变更自身存储的表结构,但是hdfs中的表结构变更对于有些用数系统而言没有意义,比如,用数系统不需要新增业务字段下的业务数据,此时仍需要用数系统变更自身表结构,导致用数系统的表结构变动频繁。


技术实现要素:

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为本技术实施例提供的一种业务数据推送方法的流程示意图;
41.图2为本技术实施例提供的一种业务数据推送装置的结构示意图;
42.图3为本技术实施例提供的一种业务数据推送设备的硬件结构框图。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.如背景技术中的介绍,当下游的用数系统(下游用数方)想要获取hdfs系统中业务数据表内的业务数据时,现有技术不会关心用数系统具体想要哪些业务字段下的业务数据,而是将所有业务字段下的业务数据都推送至用数系统。这种推送方式使得,在hdfs业务
数据表的表结构变更时,需要用数系统同步变更自身的表结构,然后才可以进行数据推送。
45.然而,hdfs中的表结构变更部分可能不是用数系统需要的部分,用数系统仍然需要变更表结构,导致用数系统的表结构变动频繁。例如,hdfs的业务数据表新增业务字段a,即使用数系统不需要业务字段a下的业务数据,该用数系统仍然需要变更自身的表结构。由于每次hdfs的表结构变更都需要用数系统同步变更自身的表结构,导致用数系统的表结构变动频繁。
46.鉴于现有技术存在的问题,并考虑到实际情况,即可能会有多个下游的用数系统需要从hdfs的业务数据表中获取业务数据,但是多个用数系统想要获取的业务数据所对应的业务字段(即待抽取业务字段)可能不同。例如,用数系统1需要获取业务字段1、2、3下的业务数据,用数系统2需要获取业务字段1、2、4下的业务数据。
47.为了屏蔽部分表结构变更对下游的用数系统的影响,减少用数系统不必要的表版本变更,本案发明人想到可以根据多个用数系统对业务数据表中业务字段的获取需求(即用数需求),建立一些映射关系,以便基于映射关系,仅抽取用数系统需要的业务字段下的业务数据,再通过信息集成平台推送至用数系统,这样用数系统的表结构可以根据自身的用数需求确定,在自身的用数需求与hdfs的业务数据表的表结构变更部分无关的情况下,就能够避免用数系统变更自身的表结构。
48.基于上述思想,本技术提供了一种业务数据推送方法、装置、设备和存储介质,接下来通过下述实施例对本技术提供的业务数据推送方法、装置、设备和存储介质进行详细介绍。
49.需要说明的是,本发明提供的业务数据推送方法、装置、设备和存储介质可用于分布式领域或金融领域。上述仅为示例,并不对本发明提供的业务数据推送方法、装置、设备和存储介质的应用领域进行限定。
50.请参阅图1,示出了本技术实施例提供的业务数据推送方法的流程示意图,该业务数据推送方法可以包括:
51.步骤s101、获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系。
52.其中,实体表名是指分布式文件系统(即hdfs)中业务数据表的表名称,业务数据表包括第三映射关系中的所有待抽取业务字段,虚拟表名与用数系统一一对应,虚拟表名与文件名一一对应,待抽取业务字段是指用数系统需要从业务数据表获取的业务数据所对应的业务字段,且待抽取业务字段组成用数系统的表结构。
53.可选的,上述业务数据表中的业务数据为优化后的列式记录(optimized row columnar,orc)格式。这里,相比于其他格式,orc格式可以占用更小的存储空间,从而可以存储更多的业务数据。
54.本领域技术人员应当理解,用数系统会向信息集成系统发送订阅消息,订阅消息中包含用规定的表名词格式命名的表名词,为了便于后续描述,将订阅消息中包含的表名称定义为虚拟表名。在本实施例中,不同用数系统的订阅消息包含的虚拟表名不同,那么虚拟表名与用数系统一一对应。
55.由于多个用数系统可以从同一个hdfs业务数据表获取业务数据,那么第一映射关系中实体表名与虚拟表名的对应关系为一对多。
56.上述文件名是指根据待抽取业务字段从业务数据表抽取的业务数据所形成文件的文件名,由于不同用数系统需要的业务数据不同,则该业务数据所对应的待抽取业务字段不同,文件名也不同,因此也可以说用数系统与文件名一一对应,虚拟表名与文件名一一对应。
57.需要说明的是,上述“待抽取业务字段组成用数系统的表结构”是指用数系统所需获取的业务数据所对应的待抽取业务字段组成该用数系统的表结构。可以理解的是,用数系统可能还包含用于存储非hdfs业务数据的其他表结构,在这种情况下,本技术实施例中待抽取业务字段组成的表结构是指用于存储hdfs业务数据的那部分表结构。
58.步骤s102、根据第一映射关系、第二映射关系和第三映射关系,从实体表名指示的业务数据表中,分别抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据。
59.继上文描述,第一映射关系中实体表名与虚拟表名的对应关系为一对多,那么第一映射关系中包括至少一个虚拟表名。
60.在本步骤中,可以根据上述获取的三个映射关系,从hdfs的业务数据表中分别抽取每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据,也即本步骤需要从业务数据表中分别抽取每个用数系统需要的业务数据。
61.步骤s103、按照每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名。
62.具体的,可以根据第二映射关系确定每个虚拟表名对应的文件名,那么针对每个虚拟表名,本技术实施例可以按照该虚拟表名对应的文件名,对该虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据所在的文件进行命名。
63.例如,虚拟表名1对应的文件名为文件名a-1,文件名a-1对应的待抽取业务字段为业务字段1~3,那么,业务字段1~3下的业务数据所在的文件的文件名为文件名a-1。
64.步骤s104、将命名后的文件推送至信息集成系统,以便信息集成系统将命名后的文件推送至对应的用数系统。
65.由上文介绍,虚拟表名的数量、文件名的数量、命名后的文件的数量相同,在第一映射关系包括多个虚拟表名的情况下,即多个用数系统需要从业务数据表获取业务数据的情况下,本技术实施例可以将多个命名后的文件推送至信息集成系统,信息集成系统再将多个命名后的文件分别推送至对应的用数系统。
66.由上述步骤可见,本技术提供的业务数据推送方法可以依据第一映射关系、第二映射关系和第三映射关系,从业务数据表抽取每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据,即抽取符合用数系统的用数需求的业务数据,并将抽取的业务数据所形成的文件以规定的文件名命名后通过信息集成平台推送至对应的用数系统,由此用数系统可以获得符合自身用数需求的业务数据。由于待抽取业务字段组成用数系统的表结构,那么在用数系统的用数需求与业务数据表的表结构变更部分无关的情况下,即在待抽取业务字段与分布式文件系统的业务数据表的表结构变更部分无关的情况下,可以不必更新用数系统的表结构,有效降低了用数系统表结构的变动频率。
67.在本技术的一些实施例中,对上述实施例中的“步骤s101、获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的
第三映射关系”进行说明。
68.在一可选实施例中,本技术可以由其他系统生成上述第一映射关系、第二映射关系和第三映射关系,然后本技术实施例再从其他系统获取三个映射关系,例如,由信息集成系统或者用数系统生成三个映射关系后,本技术再从信息集成系统或者用数系统获取三个映射关系。
69.在另一可选实施例中,本技术实施例可以自身生成三个映射关系,而要生成三个映射关系,需要首先获取所有用数系统分别需要获取的业务数据所对应的待抽取业务字段,以得到所有用数系统分别对应的待抽取业务字段。
70.可选的,本技术可以通过邮件、短信等常见的通信方式接收来自所有用数系统分别对应的待抽取业务字段;可选的,还可以通过订阅消息、通知消息等方式接收来自所有用数系统分别对应的待抽取业务字段。
71.当获取所有用数系统分别对应的待抽取业务字段,可以根据所有用数系统分别对应的待抽取业务字段,生成所有用数系统分别对应的虚拟表名与实体表名的多对一映射关系、所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系,以及所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系,那么上述多对一映射关系即作为第一映射关系,上述所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系即作为第二映射关系,上述所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系即作为第三映射关系。
72.本技术实施例能够自身或由其他系统生成三个映射关系,方式更多,可选择性更广;由自身生成三个映射关系,能够确保三个映射关系的准确性,便于后续按照用数系统的用数需求抽取业务数据。
73.在一可选实施例中,若上述实施例中的三个映射关系是由其他系统生成,那么上述“步骤s102、根据第一映射关系、第二映射关系和第三映射关系,从实体表名指示的业务数据表中,分别抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据”的过程可以包括:根据第一映射关系、第二映射关系和第三映射关系,确定第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段,作为每个虚拟表名对应的待抽取业务字段;从实体表名指示的业务数据表中分别抽取每个虚拟表名对应的待抽取业务字段下的业务数据。
74.也就是说,本技术实施例需要首先根据三个映射关系,确定出每个虚拟表名对应的待抽取业务字段,即确定出各用数系统分别需要获取的业务数据所对应的待抽取业务字段,然后再按照每个虚拟表名对应的待抽取业务字段,从业务数据表抽取对应的业务数据。
75.本技术实施例能够从三个映射关系中分析出虚拟表名与待抽取业务字段的对应关系,然后再基于分析出的对应关系进行数据抽取,与直接基于三个映射关系进行数据抽取的方式相比,本技术实施例能够更快地抽取所需业务数据,提高了抽取效率。
76.在本技术的另一些实施例中,考虑到推送至信息集成系统的命名后的文件可能比较多,为了能够使信息集成系统更快地将命名后的文件与下游的用数系统进行对应,本技术实施例还可以在步骤s101之后,步骤s104之前,将获得的第二映射关系发送至信息集成系统,以目标用数系统为例,信息集成系统在接收到来自目标用数系统发来的订阅消息后,可以从第二映射关系中查找订阅消息中的目标虚拟表名所对应的目标文件名。
77.那么“步骤s104将命名后的文件推送至信息集成系统后,信息集成系统可以将目标文件名指示的命名后的文件推送至目标用数系统。
78.可选的,上述步骤s104“将命名后的文件推送至信息集成系统”的过程可以包括:采用预设的压缩算法对命名后的文件进行压缩,得到预设格式的压缩文件;将预设格式的压缩文件推送至信息集成系统。
79.需要说明的是,上述预设的压缩算法(包括有损压缩算法和无损压缩算法)可以根据实际场景确定,本技术不进行具体限定。
80.可选的,上述预设格式的压缩文件可以为以.gz为后缀的压缩文件。当然,预设格式的压缩文件还可以为其他,本技术对此不进行具体限定。
81.为了使本领域技术人员更加理解本技术,通过以下示例对整个推送流程进行介绍。
82.步骤1:在hdfs的业务数据表的表结构变更时,将表结构变更消息推送至各用数系统。
83.可选的,可以通过信息集成平台将表结构变更消息推送至各用数系统,当然还可以通过其他方式推送至各用数系统,本技术对此不进行具体限定。
84.步骤2:位于下游的用数系统在需要从业务数据表获取业务数据时,若需要获取的业务数据所对应的业务字段(即上述待抽取业务字段)涉及表结构变更部分,则首先变更自身表结构,然后执行下述步骤3;若需要获取的业务数据所对应的业务字段(即上述待抽取业务字段)不涉及表结构变更部分,则直接执行下述步骤3。
85.步骤3:用数系统基于自身标识、所需的待抽取业务字段、虚拟表名等信息生成订阅消息(订阅消息中不包括文件名),将订阅消息发送至信息集成系统;此外,还可以将自身标识、所需的待抽取业务字段、虚拟表名等信息以邮件、短信、订阅等方式发送至本系统。
86.步骤4:本系统可以基于接收到的各用数系统的标识、待抽取业务字段等信息生成第一映射关系、第二映射关系和第三映射关系。
87.例如,用数系统1对应的待抽取业务字段为业务字段1~3,用数系统2对应的待抽取业务字段为业务字段1和2,用数系统3对应的待抽取业务字段为业务字段3和4,则第一映射关系包括实体表名与用数系统1~3分别对应的虚拟表名的对应关系;第二映射关系包括用数系统1对应的虚拟表名1与文件名1的对应关系、用数系统2对应的虚拟表名2与文件名2的对应关系,以及用数系统3对应的虚拟表名3与文件名3的对应关系;第三映射关系包括文件名1与用数系统1对应的待抽取业务字段1~3的对应关系、文件名2与用数系统2对应的待抽取业务字段1~2的对应关系,以及文件名3与用数系统3对应的待抽取业务字段3~4的对应关系。
88.步骤5:本系统根据第一映射关系、第二映射关系和第三映射关系,从实体表名指示的业务数据表中,分别抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据。
89.例如,从业务数据表抽取虚拟表名1对应的业务字段1~3下的业务数据,并抽取虚拟表名2对应的业务字段1~2下的业务数据,以及抽取虚拟表名3对应的业务字段3~4下的业务数据。
90.步骤6:本系统按照每个虚拟表名对应的文件名对抽取的对应业务数据所形成的
文件进行命名,并将命名后的文件推送至信息集成系统。
91.例如,业务字段1~3下的业务数据形成文件1,命名为文件名1;业务字段1~2下的业务数据形成文件2,命名为文件名2;业务字段3~4下的业务数据形成文件3,命名为文件名3。命名后,将上述文件1、文件2和文件3推送至信息集成平台。
92.步骤7:本系统将第二映射关系发送至信息集成平台。
93.步骤8:信息集成平台接收到来自用数系统的订阅消息,解析订阅消息中的虚拟表名,从第二映射关系中确定出订阅消息中的虚拟表名对应的文件名,将该文件名指示的文件(即命名后的文件)推送至对应的用数系统。
94.例如,用数系统1的订阅消息中包含虚拟表名1,信息集成平台查询第二映射关系得到文件名1,那么将文件名1指示的文件1推送至用数系统1;同理,用数系统2的订阅消息中包含虚拟表名2,信息集成平台查询第二映射关系得到文件名2,那么将文件名2指示的文件2推送至用数系统2;用数系统3的订阅消息中包含虚拟表名3,信息集成平台查询第二映射关系得到文件名3,那么将文件名3指示的文件3推送至用数系统3。
95.由此可见,本技术实施例能够按照不同下游用数系统的用数需求抽取不同业务字段,并对抽取业务数据所形成的文件分别唯一命名,在信息集成系统建立用数系统相应的订阅关系,当命名后的文件到达信息集成系统时,按照订阅关系自动向用数系统推送命名后的文件。这种方式可以屏蔽掉部分表结构变更对下游用数系统的影响,减少下游用数系统不必要的表结构(也可以称为表版本)变更。
96.需要说明的是,上述推送流程仅为本技术提供的一个可选流程,除此之外,还可以有其他流程,本技术对此不进行具体限定。
97.本技术实施例还提供了一种业务数据推送装置,下面对本技术实施例提供的业务数据推送装置进行描述,下文描述的业务数据推送装置与上文描述的业务数据推送方法可相互对应参照。
98.请参阅图2,示出了本技术实施例提供的业务数据推送装置的结构示意图,如图2所示,该业务数据推送装置可以包括:映射关系获取模块201、业务数据抽取模块202、业务文件命名模块203和业务文件推送模块204。
99.映射关系获取模块201,用于获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系,其中,实体表名是指分布式文件系统中业务数据表的表名称,虚拟表名与用数系统一一对应,虚拟表名与文件名一一对应,待抽取业务字段是指用数系统需要从业务数据表获取的业务数据所对应的业务字段,且待抽取业务字段组成用数系统的表结构。
100.业务数据抽取模块202,用于根据第一映射关系、第二映射关系和第三映射关系,从实体表名指示的业务数据表中,分别抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据。
101.业务文件命名模块203,用于按照每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名。
102.业务文件推送模块204,用于将命名后的文件推送至信息集成系统,以便信息集成系统将命名后的文件推送至对应的用数系统。
103.在一种可能的实现方式中,上述映射关系获取模块可以包括:业务字段获取模块、
映射关系生成模块和映射关系对应模块。
104.其中,业务字段获取模块,用于获取所有用数系统分别需要获取的业务数据所对应的待抽取业务字段,以得到所有用数系统分别对应的待抽取业务字段。
105.映射关系生成模块,用于根据所有用数系统分别对应的待抽取业务字段,生成所有用数系统分别对应的虚拟表名与实体表名的多对一映射关系、所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系,以及所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系。
106.映射关系对应模块,用于将多对一映射关系作为第一映射关系,将所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系作为第二映射关系,将所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系作为第三映射关系。
107.在一种可能的实现方式中,上述业务数据抽取模块可以包括:业务字段确定模块和业务字段参考模块。
108.其中,业务字段确定模块,用于根据第一映射关系、第二映射关系和第三映射关系,确定第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段,作为每个虚拟表名对应的待抽取业务字段。
109.业务字段参考模块,用于从实体表名指示的业务数据表中分别抽取每个虚拟表名对应的待抽取业务字段下的业务数据。
110.在一种可能的实现方式中,本技术实施例提供的装置还可以包括:映射关系发送模块。
111.映射关系发送模块,用于将第二映射关系发送至信息集成系统,以便信息集成系统在接收到来自目标用数系统发来的订阅消息后,从第二映射关系中查找订阅消息中的目标虚拟表名所对应的目标文件名。
112.在此基础上,上述业务文件推送模块中信息集成系统将命名后的文件推送至对应的用数系统的过程可以包括:信息集成系统将目标文件名指示的命名后的文件推送至目标用数系统。
113.在一种可能的实现方式中,上述业务文件推送模块中将命名后的文件推送至信息集成系统的过程可以包括:采用预设的压缩算法对命名后的文件进行压缩,得到预设格式的压缩文件;将预设格式的压缩文件推送至信息集成系统。
114.在一种可能的实现方式中,上述业务数据表中的业务数据为优化后的列式记录格式。
115.本技术实施例还提供了一种业务数据推送设备。可选的,图3示出了业务数据推送设备的硬件结构框图,参照图3,该业务数据推送设备的硬件结构可以包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个通信总线304;
116.在本技术实施例中,处理器301、通信接口302、存储器303、通信总线304的数量为至少一个,且处理器301、通信接口302、存储器303通过通信总线304完成相互间的通信;
117.处理器301可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
118.存储器303可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
119.其中,存储器303存储有程序,处理器301可调用存储器303存储的程序,所述程序用于:
120.获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系,其中,实体表名是指分布式文件系统中业务数据表的表名称,虚拟表名与用数系统一一对应,虚拟表名与文件名一一对应,待抽取业务字段是指用数系统需要从业务数据表获取的业务数据所对应的业务字段,且待抽取业务字段组成用数系统的表结构;
121.根据第一映射关系、第二映射关系和第三映射关系,从实体表名指示的业务数据表中,分别抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据;
122.按照每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名;
123.将命名后的文件推送至信息集成系统,以便信息集成系统将命名后的文件推送至对应的用数系统。
124.可选的,所述程序的细化功能和扩展功能可参照上文描述。
125.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述业务数据推送方法。
126.可选的,所述程序的细化功能和扩展功能可参照上文描述。
127.最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
128.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
129.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种业务数据推送方法,其特征在于,包括:获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系,其中,所述实体表名是指分布式文件系统中业务数据表的表名称,所述虚拟表名与用数系统一一对应,所述虚拟表名与所述文件名一一对应,所述待抽取业务字段是指所述用数系统需要从所述业务数据表获取的业务数据所对应的业务字段,且所述待抽取业务字段组成所述用数系统的表结构;根据所述第一映射关系、所述第二映射关系和所述第三映射关系,从所述实体表名指示的所述业务数据表中,分别抽取所述第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据;按照所述每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名;将命名后的文件推送至信息集成系统,以便所述信息集成系统将所述命名后的文件推送至对应的用数系统。2.根据权利要求1所述的业务数据推送方法,其特征在于,所述获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系,包括:获取所有用数系统分别需要获取的业务数据所对应的待抽取业务字段,以得到所述所有用数系统分别对应的待抽取业务字段;根据所述所有用数系统分别对应的待抽取业务字段,生成所述所有用数系统分别对应的虚拟表名与所述实体表名的多对一映射关系、所述所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系,以及所述所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系;将所述多对一映射关系作为所述第一映射关系,将所述所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系作为所述第二映射关系,将所述所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系作为所述第三映射关系。3.根据权利要求1所述的业务数据推送方法,其特征在于,所述根据所述第一映射关系、所述第二映射关系和所述第三映射关系,从所述实体表名指示的所述业务数据表中,分别抽取所述第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据,包括:根据所述第一映射关系、所述第二映射关系和所述第三映射关系,确定所述第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段,作为所述每个虚拟表名对应的待抽取业务字段;从所述实体表名指示的所述业务数据表中分别抽取所述每个虚拟表名对应的待抽取业务字段下的业务数据。4.根据权利要求1所述的业务数据推送方法,其特征在于,还包括:将所述第二映射关系发送至所述信息集成系统,以便所述信息集成系统在接收到来自目标用数系统发来的订阅消息后,从所述第二映射关系中查找所述订阅消息中的目标虚拟表名所对应的目标文件名;所述信息集成系统将所述命名后的文件推送至对应的用数系统,包括:
所述信息集成系统将所述目标文件名指示的命名后的文件推送至所述目标用数系统。5.根据权利要求1~4任一项所述的业务数据推送方法,其特征在于,所述将命名后的文件推送至信息集成系统,包括:采用预设的压缩算法对所述命名后的文件进行压缩,得到预设格式的压缩文件;将所述预设格式的压缩文件推送至所述信息集成系统。6.根据权利要求1~4任一项所述的业务数据推送方法,其特征在于,所述业务数据表中的业务数据为优化后的列式记录格式。7.一种业务数据推送装置,其特征在于,包括:映射关系获取模块,用于获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系,其中,所述实体表名是指分布式文件系统中业务数据表的表名称,所述虚拟表名与用数系统一一对应,所述虚拟表名与所述文件名一一对应,所述待抽取业务字段是指所述用数系统需要从所述业务数据表获取的业务数据所对应的业务字段,且所述待抽取业务字段组成所述用数系统的表结构;业务数据抽取模块,用于根据所述第一映射关系、所述第二映射关系和所述第三映射关系,从所述实体表名指示的所述业务数据表中,分别抽取所述第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据;业务文件命名模块,用于按照所述每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名;业务文件推送模块,用于将命名后的文件推送至信息集成系统,以便所述信息集成系统将所述命名后的文件推送至对应的用数系统。8.根据权利要求7所述的业务数据推送装置,其特征在于,所述映射关系获取模块,包括:业务字段获取模块,用于获取所有用数系统分别需要获取的业务数据所对应的待抽取业务字段,以得到所述所有用数系统分别对应的待抽取业务字段;映射关系生成模块,用于根据所述所有用数系统分别对应的待抽取业务字段,生成所述所有用数系统分别对应的虚拟表名与所述实体表名的多对一映射关系、所述所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系,以及所述所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系;映射关系对应模块,用于将所述多对一映射关系作为所述第一映射关系,将所述所有用数系统分别对应的虚拟表名与对应文件名的一对一映射关系作为所述第二映射关系,将所述所有用数系统分别需要获取的业务数据所对应的待抽取业务字段与对应文件名的一对一映射关系作为所述第三映射关系。9.一种业务数据推送设备,其特征在于,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如权利要求1~6任一项所述的业务数据推送方法的各个步骤。10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~6任一项所述的业务数据推送方法的各个步骤。

技术总结
本申请提供了一种业务数据推送方法、装置、设备和存储介质,可用于分布式领域或金融领域。方法包括:获取实体表名与虚拟表名的第一映射关系、虚拟表名与文件名的第二映射关系,以及文件名与待抽取业务字段的第三映射关系;根据获取的三个映射关系,从实体表名指示的业务数据表中,抽取第一映射关系包含的每个虚拟表名对应的文件名所对应的待抽取业务字段下的业务数据;按照每个虚拟表名对应的文件名对抽取的对应业务数据所形成的文件进行命名;将命名后的文件推送至信息集成系统,以便信息集成系统将命名后的文件推送至对应的用数系统。本申请使得,用数系统的用数需求与业务数据表的表结构变更部分无关的情况下,无需更新用数系统的表结构。更新用数系统的表结构。更新用数系统的表结构。


技术研发人员:朱凤玲
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.07.20
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐