一种数据获方法、装置、设备及可读存储介质与流程
未命名
09-22
阅读:60
评论:0
1.本发明涉及数据获取技术领域,具体而言,涉及一种数据获方法、装置、设备及可读存储介质。
背景技术:
2.目前数据获取主要分为两种方式,一种是由客户端直接连接数据库进行数据获取,这种方式的弊端在于,首先客户端需要清晰的了解表结构和数据获取逻辑,并且对于不同的数据源,都需要客户端编写数据库连接代码。而且通常客户端开发人员和数仓开发人员是不同部门的两个人,若数仓开发人员调整了数仓结构,很难知道库表被哪些客户端再使用,将导致维护难。另一种是由客户端请求接口的方式,由接口提供方统一为所有数据源写好连接代码,为客户端屏蔽了数据获取逻辑,降低客户端获取数据的成本。但此方式的缺陷在于,每产生一次数据获取的需求,就需要为此需求开发一个接口,需要一定的开发成本。
技术实现要素:
3.本发明的目的在于提供一种数据获方法、装置、设备及可读存储介质,以改善上述问题。
4.为了实现上述目的,本技术实施例提供了如下技术方案:
5.一方面,本技术实施例提供了一种数据获取方法,所述方法包括:
6.获取第一信息,所述第一信息包括客户端发送的需求信息;
7.响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;
8.获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;
9.响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。
10.第二方面,本技术实施例提供了一种数据获取装置,所述装置包括第一获取模块、第一响应模块、第二获取模块和第二响应模块。
11.第一获取模块,用于获取第一信息,所述第一信息包括客户端发送的需求信息;
12.第一响应模块,用于响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;
13.第二获取模块,用于获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;
14.第二响应模块,用于响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。
15.第三方面,本技术实施例提供了一种数据获取设备,所述设备包括存储器和处理
器。存储器用于存储计算机程序;处理器用于执行所述计算机程序时实现上述数据获取方法的步骤。
16.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据获取方法的步骤。
17.本发明的有益效果为:
18.1、本发明通过无代码化,仅通过简单配置就能为客户端提供数据获取接口,为客户端屏蔽数据获取逻辑;通过此种方法可以降低客户端数据获取成本,同时还可以降低接口提供方的开发成本。
19.2、本发明既降低了客户端数据获取的成本,又降低了接口提供方开发的成本,实现了高效的数据获取能力。
20.本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1是本发明实施例中所述的数据获取方法流程示意图;
23.图2是本发明实施例中所述的数据获取装置结构示意图;
24.图3是本发明实施例中所述的数据获取设备结构示意图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.应注意到:相似的标号或字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
27.实施例1
28.如图1所示,本实施例提供了一种数据获取方法,该方法包括步骤s1、步骤s2、步骤s3和步骤s4。
29.步骤s1、获取第一信息,所述第一信息包括客户端发送的需求信息;
30.在本步骤中,客户端发送的需求信息主要为客户端的数据获取需求信息;
31.步骤s2、响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;
32.本步骤中,构建的具体步骤包括步骤s21、步骤s22和步骤s23;
33.步骤s21、响应于所述第一信息,根据所述需求信息构建对应的配置信息,每个所述需求信息对应一个所述配置信息,所述配置信息包括第一获取唯一标识、数据获取逻辑、必填项和可访问的客户端,所述数据获取逻辑包括获取数据的数据源和数据查询语句;
34.在本步骤中,获取数据的数据源和数据查询语句可以理解为:
35.根据业务场景确定合适的数据源:比如业务场景是根据用户uuid获取用户其他信息,并且qps比较高,那么就可以考虑将数据存入hbase进行查询,如果业务场景是需要明细数据的统计,比如消费记录统计,那么就可以考虑数据存入ck做统计。总的来说就是根据业务场景的特性,和每个数据源自身数据存储的特性,选择能够更好支持业务的数据源。
36.根据业务场景确定数据获取sql:sql就是数据查询语句,比如根据用户uuid获取用户其他信息,那么过滤条件就是用户uuid,返回的结果就是该用户的比如性别,最后活跃时间等等;又比如上面说的用户近7天消费最多的3个直播间,那么sql的过滤条件就会是,对这张消费记录表,以用户作为分组,统计每个用户最近7天在每个直播间的消费金额,然后取每个用户消费了最多的3个直播间,返回给客户端。
37.步骤s22、获取第三信息,所述第三信息包括所述配置信息构建完成的信息;
38.步骤s23、响应于所述第三信息,为所述客户端提供统一的http接口。
39.在配置信息构建完成之后,为客户端提供了统一的http接口,通过这个接口为客户端提供数据,无论多少个客户端需求对接都只需要这一个接口,所以新增的数据获取需求也就无需再开发新的接口,通过此种方式可以降低开发成本;
40.步骤s3、获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;
41.在配置信息和http接口均构建完成之后,则可进行数据的获取;
42.步骤s4、响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。
43.本步骤的具体实现步骤包括步骤s41;
44.步骤s41、api服务器将所述http请求信息与对应的配置信息进行分析,其中,所述http请求信息中包括第二数据获取唯一标识、过滤条件和令牌信息;在所述配置信息中找到与所述第二数据获取唯一标识相同的第一数据获取唯一标识,并将所述第一数据获取唯一标识对应的配置信息读取出来;分析此配置信息中的可访问的客户端是否包含所述令牌信息,同时分析所述过滤条件中是否包含所述必填项,若均包含则根据所述配置信息中的数据获取逻辑从数据库中获取数据并返回给所述客户端。
45.本步骤可以理解为,api服务器根据第二数据获取唯一标识在数据库中获取到对应的配置信息,再根据配置信息来进行校验,如果没问题,再根据配置好的数据获取逻辑去对应的数据库获取数据并返给客户端。
46.在步骤s41中,根据所述分析结果在数据库中获取数据并返回给客户端,还包括步骤s42和步骤s43;
47.步骤s42、对所述http请求信息进行分析,分析所述http请求信息中是否包括分页
信息和数据排序信息,得到第二分析结果;
48.步骤s43、对所述第二分析结果进行解读,若所述http请求信息中包括分页信息和数据排序信息,则在从数据库中获取数据后,按照所述分析信息和所述数据排序信息对数据进行处理,处理后再返回给所述客户端。
49.在本步骤中,如果存在分页信息和数据排序信息,则将获取到的数据按照分页信息进行分页和按照排序信息进行排序处理,然后返回客户端。
50.通过上述步骤,本实施例既降低了客户端数据获取的成本,又降低了接口提供方开发的成本,实现了高效的数据获取能力。
51.实施例2
52.如图2所示,本实施例提供了一种数据获取装置,所述装置包括第一获取模块701、第一响应模块702、第二获取模块703和第二响应模块704。
53.第一获取模块701,用于获取第一信息,所述第一信息包括客户端发送的需求信息;
54.第一响应模块702,用于响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;
55.第二获取模块703,用于获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;
56.第二响应模块704,用于响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。
57.在本公开的一种具体实施方式中,所述第一响应模块702,还包括第一响应单元7021、获取单元7022和第二响应单元7023。
58.第一响应单元7021,用于响应于所述第一信息,根据所述需求信息构建对应的配置信息,每个所述需求信息对应一个所述配置信息,所述配置信息包括第一获取唯一标识、数据获取逻辑、必填项和可访问的客户端,所述数据获取逻辑包括获取数据的数据源和数据查询语句;
59.获取单元7022,用于获取第三信息,所述第三信息包括所述配置信息构建完成的信息;
60.第二响应单元7023,用于响应于所述第三信息,为所述客户端提供统一的http接口。
61.在本公开的一种具体实施方式中,所述第二响应模块704,还包括第一返回单元7041。
62.第一返回单元7041,用于api服务器将所述http请求信息与对应的配置信息进行分析,其中,所述http请求信息中包括第二数据获取唯一标识、过滤条件和令牌信息;在所述配置信息中找到与所述第二数据获取唯一标识相同的第一数据获取唯一标识,并将所述第一数据获取唯一标识对应的配置信息读取出来;分析此配置信息中的可访问的客户端是否包含所述令牌信息,同时分析所述过滤条件中是否包含所述必填项,若均包含则根据所述配置信息中的数据获取逻辑从数据库中获取数据并返回给所述客户端。
63.在本公开的一种具体实施方式中,所述第二响应模块704,还包括分析单元7042和
第二返回单元7043。
64.分析单元7042,用于对所述http请求信息进行分析,分析所述http请求信息中是否包括分页信息和数据排序信息,得到第二分析结果;
65.第二返回单元7043,用于对所述第二分析结果进行解读,若所述http请求信息中包括分页信息和数据排序信息,则在从数据库中获取数据后,按照所述分析信息和所述数据排序信息对数据进行处理,处理后再返回给所述客户端。
66.需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
67.实施例3
68.相应于上面的方法实施例,本公开实施例还提供了数据获取设备,下文描述的数据获取设备与上文描述的数据获取方法可相互对应参照。
69.图3是根据一示例性实施例示出的数据获取设备800的框图。如图3所示,该数据获取设备800可以包括:处理器801,存储器802。该数据获取设备800还可以包括多媒体组件803,输入/输出(i/o)接口804,以及通信组件805中的一者或多者。
70.其中,处理器801用于控制该数据获取设备800的整体操作,以完成上述的数据获取方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该数据获取设备800的操作,这些数据例如可以包括用于在该数据获取设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该数据获取设备800与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near fieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:wi-fi模块,蓝牙模块,nfc模块。
71.在一示例性实施例中,该数据获取设备800可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digitalsignal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据获取方法。
72.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该
程序指令被处理器执行时实现上述的数据获取方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由该数据获取设备800的处理器801执行以完成上述的数据获取方法。
73.实施例4
74.相应于上面的方法实施例,本公开实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的数据获取方法可相互对应参照。
75.一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的数据获取方法的步骤。
76.该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
77.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种数据获取方法,其特征在于,包括:获取第一信息,所述第一信息包括客户端发送的需求信息;响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。2.根据权利要求1所述的数据获取方法,其特征在于,响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口,包括:响应于所述第一信息,根据所述需求信息构建对应的配置信息,每个所述需求信息对应一个所述配置信息,所述配置信息包括第一获取唯一标识、数据获取逻辑、必填项和可访问的客户端,所述数据获取逻辑包括获取数据的数据源和数据查询语句;获取第三信息,所述第三信息包括所述配置信息构建完成的信息;响应于所述第三信息,为所述客户端提供统一的http接口。3.根据权利要求2所述的数据获取方法,其特征在于,响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端,包括:api服务器将所述http请求信息与对应的配置信息进行分析,其中,所述http请求信息中包括第二数据获取唯一标识、过滤条件和令牌信息;在所述配置信息中找到与所述第二数据获取唯一标识相同的第一数据获取唯一标识,并将所述第一数据获取唯一标识对应的配置信息读取出来;分析此配置信息中的可访问的客户端是否包含所述令牌信息,同时分析所述过滤条件中是否包含所述必填项,若均包含则根据所述配置信息中的数据获取逻辑从数据库中获取数据并返回给所述客户端。4.根据权利要求3所述的数据获取方法,其特征在于,根据所述分析结果在数据库中获取数据并返回给客户端,还包括:对所述http请求信息进行分析,分析所述http请求信息中是否包括分页信息和数据排序信息,得到第二分析结果;对所述第二分析结果进行解读,若所述http请求信息中包括分页信息和数据排序信息,则在从数据库中获取数据后,按照所述分析信息和所述数据排序信息对数据进行处理,处理后再返回给所述客户端。5.一种数据获取装置,其特征在于,包括:第一获取模块,用于获取第一信息,所述第一信息包括客户端发送的需求信息;第一响应模块,用于响应于所述第一信息,根据所述需求信息构建对应的配置信息和http接口;第二获取模块,用于获取第二信息,所述第二信息包括所述客户端从所述http接口发起的http请求信息;第二响应模块,用于响应于所述第二信息,将所述http请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。6.根据权利要求5所述的数据获取装置,其特征在于,第一响应模块,包括:
第一响应单元,用于响应于所述第一信息,根据所述需求信息构建对应的配置信息,每个所述需求信息对应一个所述配置信息,所述配置信息包括第一获取唯一标识、数据获取逻辑、必填项和可访问的客户端,所述数据获取逻辑包括获取数据的数据源和数据查询语句;获取单元,用于获取第三信息,所述第三信息包括所述配置信息构建完成的信息;第二响应单元,用于响应于所述第三信息,为所述客户端提供统一的http接口。7.根据权利要求6所述的数据获取装置,其特征在于,第二响应模块,包括:第一返回单元,用于api服务器将所述http请求信息与对应的配置信息进行分析,其中,所述http请求信息中包括第二数据获取唯一标识、过滤条件和令牌信息;在所述配置信息中找到与所述第二数据获取唯一标识相同的第一数据获取唯一标识,并将所述第一数据获取唯一标识对应的配置信息读取出来;分析此配置信息中的可访问的客户端是否包含所述令牌信息,同时分析所述过滤条件中是否包含所述必填项,若均包含则根据所述配置信息中的数据获取逻辑从数据库中获取数据并返回给所述客户端。8.根据权利要求7所述的数据获取装置,其特征在于,第二响应模块,还包括:分析单元,用于对所述http请求信息进行分析,分析所述http请求信息中是否包括分页信息和数据排序信息,得到第二分析结果;第二返回单元,用于对所述第二分析结果进行解读,若所述http请求信息中包括分页信息和数据排序信息,则在从数据库中获取数据后,按照所述分析信息和所述数据排序信息对数据进行处理,处理后再返回给所述客户端。9.一种数据获取设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据获取方法的步骤。10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据获取方法的步骤。
技术总结
本发明提供了一种数据获方法、装置、设备及可读存储介质,所述方法包括:获取第一信息,所述第一信息包括客户端发送的需求信息;响应于所述第一信息,根据所述需求信息构建对应的配置信息和HTTP接口;获取第二信息,所述第二信息包括所述客户端从所述HTTP接口发起的HTTP请求信息;响应于所述第二信息,将所述HTTP请求信息与对应的配置信息进行分析,得到第一分析结果,根据所述第一分析结果在数据库中获取数据并返回给所述客户端。本发明既降低了客户端数据获取的成本,又降低了接口提供方开发的成本,实现了高效的数据获取能力。实现了高效的数据获取能力。实现了高效的数据获取能力。
技术研发人员:黄天财 黄海波 黄俊杰 吕金松 陈泽钰 李庆勇
受保护的技术使用者:厦门她趣信息技术有限公司
技术研发日:2023.06.19
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/