本发明涉及数据接口,尤其涉及一种实时数据流的数据接口管理方法、系统、设备及存储介质。
背景技术:
1、当前数据接口技术已经比较成熟,但这种技术无一例外都只适用于实时度不高或者数据体量非常有限的情况,例如比较常见的restapi数据接口、表接口等。而在众多实际场景中,出于企业内部数据共享、企业间关于数据的商业行为、法规要求等原因,实时数据流作为企业数据资产的一部分,也需要提供类似于离线业务报表的数据接口。
2、实时数据流作为一种数据体量大、数据实时性要求高的企业数据资产,存在较高的分析和应用价值,当前企业在企业内部共享时,采用类似于企业数据总线的方式进行共享,企业内的相关项目组或者业务部门统一全量获取。但在实际业务场景下,不同项目组或者部门关注的字段内容不同、采样频率不同、数据权限不同,这种一刀切的方式,浪费了计算资源的同时也对存在数据安全隐患。当企业对外数据共享时,情况更为糟糕,如果说企业内部对实时数据流数据资产在安全要求不严格的时候所有项目组或者部门都有使用权,但这种不严格的要求肯定不包括外部组织,因此企业会针对外部企业在不同的实时数据流数据资产上开发特定的功能接口,甚至会在同一个实时数据流数据资产针对不同公司开发不同接口,接口的开发此时会耗费相当大的成本,造成严重的资源浪费和客观的工期消耗。
技术实现思路
1、本发明的主要目的在于提供一种实时数据流的数据接口管理方法、系统、设备及存储介质,旨在解决现有数据接口技术难以满足实时度高或者数据体量大的场景、且存在数据安全隐患等问题。
2、为实现上述目的,本发明提供了一种实时数据流的数据接口管理方法,包括:
3、基于业务请求获取待生成实时数据流数据接口的实时数据流表和元数据;
4、根据所述元数据选择所述待生成实时数据流数据接口的记录频率、第一字段集合以及第二字段集合;
5、根据所述实时数据流表和所述元数据从消息队列中读取第一数据源;
6、根据所述记录频率、所述第一字段集合以及所述第二字段集合对所述第一数据源进行处理,以获得第二数据源;
7、基于所述第二数据源生成目标实时数据流数据接口。
8、在一些实施例中,所述基于业务请求获取待生成实时数据流数据接口的实时数据流表和元数据,包括:
9、基于业务请求确定待生成实时数据流数据接口的实时数据流表;其中,所述实时数据流表为位于消息队列中的主题消息;
10、从企业元数据管理系统获取所述实时数据流表对应的元数据;其中,所述元数据包括所述实时数据流表的存放位置、原始记录频率、字段类型信息、字段业务信息以及字段的安全等级。
11、在一些实施例中,所述根据所述实时数据流表和所述元数据从消息队列中读取第一数据源,包括:
12、根据所述元数据确定所述实时数据流表的存放位置;
13、基于所述存放位置通过flink将所述实时数据流表的数据从消息队列中读出,以获得第一数据源。
14、在一些实施例中,所述根据所述记录频率、所述第一字段集合以及所述第二字段集合对所述第一数据源进行处理,以获得第二数据源,包括:
15、根据所述记录频率和预设采样方式对所述第一数据源进行采样,以获得采样数据;其中,所述记录频率小于所述实时数据流表的原始频率;
16、根据所述第一字段集合和所述第二字段集合对所述采样数据进行处理,以获得第二数据源。
17、在一些实施例中,所述根据所述第一字段集合和所述第二字段集合对所述采样数据进行处理,以获得第二数据源,包括:
18、根据所述第一字段集合去掉所述采样数据中的接口不需要字段,以获得初始处理数据;
19、根据所述第二字段集合对所述初始处理数据中的vin字段进行加密或者混淆处理,以生成目标处理数据;
20、将所述目标处理数据写入kafka中,以获得第二数据源。
21、在一些实施例中,所述方法还包括:
22、在所述目标实时数据流数据接口生成后,接收外部系统发送的接口访问凭证请求;
23、基于所述接口访问凭证请求反馈接口访问凭证至所述外部系统;
24、在接收到所述外部系统的接口访问请求时,校验所述接口访问凭证;
25、在所述接口访问凭证通过校验后,为所述外部系统分配所述第二数据源的groupid,并将topic、group id、记录频率、列元数据信息反馈至所述外部系统,以供所述外部系统接入所述目标实时数据流数据接口的数据。
26、在一些实施例中,所述方法还包括:
27、管理所述接口访问凭证的有效性;
28、在所述接口访问凭证失效时,删除所述接口访问凭证对应的group id。
29、此外,为实现上述目的,本发明还提出一种实时数据流的数据接口管理系统,包括:
30、获取元数据模块,用于基于业务请求获取待生成的实时数据流数据接口的元数据;
31、选择模块,用于根据所述元数据选择待生成的实时数据流数据接口的记录频率、第一字段集合以及第二字段集合;
32、读取模块,用于根据所述元数据从消息队列中读取第一数据源;
33、处理模块,用于根据所述记录频率、所述第一字段集合以及所述第二字段集合对所述第一数据源进行处理,以获得第二数据源;
34、生成模块,用于基于所述第二数据源生成目标实时数据流数据接口。
35、此外,为实现上述目的,本发明还提出一种实时数据流的数据接口管理设备,所述实时数据流的数据接口管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的实时数据流的数据接口管理程序,所述实时数据流的数据接口管理程序配置为实现如上文所述的实时数据流的数据接口管理方法。
36、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质存储有实时数据流的数据接口管理程序,所述实时数据流的数据接口管理程序用于使处理器执行时实现如上文所述的实时数据流的数据接口管理方法。
37、本发明基于业务请求获取待生成实时数据流数据接口的实时数据流表和元数据;根据所述元数据选择所述待生成实时数据流数据接口的记录频率、第一字段集合以及第二字段集合;根据所述实时数据流表和所述元数据从消息队列中读取第一数据源;根据所述记录频率、所述第一字段集合以及所述第二字段集合对所述第一数据源进行处理,以获得第二数据源;基于所述第二数据源生成目标实时数据流数据接口。与离线数据接口不同,本发明中实时数据流接口在保证数据的唯一、正确、有序情形下提供近原生表,填补了当前市面上满足数据管理要求的实时数据流数据接口的空白。本发明实现相对简单,原理过程易于理解,从而解决了现有数据接口技术难以满足实时度高或者数据体量大的场景、且存在数据安全隐患等问题。
1.一种实时数据流的数据接口管理方法,其特征在于,所述实时数据流的数据接口管理方法包括:
2.如权利要求1所述的实时数据流的数据接口管理方法,其特征在于,所述基于业务请求获取待生成实时数据流数据接口的实时数据流表和元数据,包括:
3.如权利要求1所述的实时数据流的数据接口管理方法,其特征在于,所述根据所述实时数据流表和所述元数据从消息队列中读取第一数据源,包括:
4.如权利要求1所述的实时数据流的数据接口管理方法,其特征在于,所述根据所述记录频率、所述第一字段集合以及所述第二字段集合对所述第一数据源进行处理,以获得第二数据源,包括:
5.如权利要求4所述的实时数据流的数据接口管理方法,其特征在于,所述根据所述第一字段集合和所述第二字段集合对所述采样数据进行处理,以获得第二数据源,包括:
6.如权利要求1所述的实时数据流的数据接口管理方法,其特征在于,所述方法还包括:
7.如权利要求6所述的实时数据流的数据接口管理方法,其特征在于,所述方法还包括:
8.一种实时数据流的数据接口管理系统,其特征在于,所述实时数据流的数据接口管理系统,包括:
9.一种实时数据流的数据接口管理设备,其特征在于,所述实时数据流的数据接口管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的实时数据流的数据接口管理程序,所述实时数据流的数据接口管理程序配置为实现如权利要求1至7中任一项所述的实时数据流的数据接口管理方法。
10.一种存储介质,其特征在于,所述存储介质存储有实时数据流的数据接口管理程序,所述实时数据流的数据接口管理程序用于使处理器执行时实现如权利要求1至7中任一项所述的实时数据流的数据接口管理方法。