CN114116866A - 一种数据获取方法、装置、终端设备及存储介质 - Google Patents

一种数据获取方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN114116866A
CN114116866A CN202111388000.XA CN202111388000A CN114116866A CN 114116866 A CN114116866 A CN 114116866A CN 202111388000 A CN202111388000 A CN 202111388000A CN 114116866 A CN114116866 A CN 114116866A
Authority
CN
China
Prior art keywords
file
query
data
information
mapping relation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111388000.XA
Other languages
English (en)
Inventor
王希光
肖中卿
蔡俊辉
贾建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Huazhiyuan Information Engineering Co ltd
Guangzhou Huajia Software Co ltd
Guangzhou Jiadu Urban Rail Intelligent Operation And Maintenance Service Co ltd
PCI Technology Group Co Ltd
PCI Technology and Service Co Ltd
Original Assignee
Guangdong Huazhiyuan Information Engineering Co ltd
Guangzhou Huajia Software Co ltd
Guangzhou Jiadu Urban Rail Intelligent Operation And Maintenance Service Co ltd
PCI Technology Group Co Ltd
PCI Technology and Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Huazhiyuan Information Engineering Co ltd, Guangzhou Huajia Software Co ltd, Guangzhou Jiadu Urban Rail Intelligent Operation And Maintenance Service Co ltd, PCI Technology Group Co Ltd, PCI Technology and Service Co Ltd filed Critical Guangdong Huazhiyuan Information Engineering Co ltd
Priority to CN202111388000.XA priority Critical patent/CN114116866A/zh
Publication of CN114116866A publication Critical patent/CN114116866A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据获取方法、装置、终端设备及存储介质,方法包括:获取数据库的数据表,生成数据表与查询文件之间的初始映射关系文件;根据用户发送的映射关系设计指令,生成映射关系修改文件;根据初始映射关系文件以及映射关系修改文件生成查询文件;获取所有API接口的接口信息,根据接口信息生成查询信息;接收数据查询指令,根据数据查询指令调用查询文件和/或查询信息以获取目标数据。本发明实施例通过构建查询文件屏蔽数据库的变更对图表的影响,通过API接口的接口信息构建查询信息,根据查询文件或查询信息获取目标数据,解决了现有技术中数据获取效率低下的技术问题。

Description

一种数据获取方法、装置、终端设备及存储介质
技术领域
本申请实施例涉及数据获取领域,尤其涉及一种数据获取方法、装置、终端设备及存储介质。
背景技术
目前图表以及大屏设计器获取数据集的来源主要有两种:(1)数据库,一般使用SQL语句从数据库中获取数据集;(2)RestfulApi,由RestfulApi提供数据集。
然而,由数据库提供数据集方式,必须向应用程序使用者暴露数据库的设计,降低了数据库安全性,若应用程序使用者对数据库的设计进行修改变更,会直接影响到图表层展示。由RestfulApi提供的数据集必须与图表的数据格式一样,因此图表的展示需求会直接影响底层业务接口开发,无法实现底层服务接口的单一职责性,另外可能需要开发新的聚合接口以满足图表的展示;同时,即使是图表不需要的数据,RestfulApi也会一起返回,无法实现数据的按需索取。
综上,现有技术中图表以及大屏设计器获取数据集的方式,存在着数据获取效率低下的技术问题。
发明内容
本发明实施例提供了一种数据获取方法、装置、终端设备及存储介质,解决了现有技术中数据获取效率低下的技术问题。
第一方面,本发明实施例提供了一种数据获取方法,包括以下步骤:
获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件;
根据用户发送的映射关系设计指令,生成映射关系修改文件;
根据所述初始映射关系文件以及所述映射关系修改文件生成查询文件;
获取所有API接口的接口信息,根据所述接口信息生成查询信息;
接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据。
优选的,所述获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件的具体过程为:
与数据库层中的数据库建立连接,获取所述数据库中的数据表,根据所述数据表的数据信息,生成所述数据库与查询文件之间的初始映射关系文件,所述初始映射关系文件中包含有所述数据库与所述查询文件之间的初始映射关系。
优选的,所述根据用户发送的映射关系设计指令,生成映射关系修改文件的具体内容为:
根据用户发送的映射关系设计指令,自定义映射关系,根据自定义的映射关系生成映射关系修改文件。
优选的,所述获取所有API接口的接口信息,根据所述接口信息生成查询信息的具体过程为:
控制RestfulApi接口层中的RestfulApi服务项目根据自身的项目代码,生成包括有自身所有API接口的接口信息的API接口信息文件,并将所述API接口信息文件发送至消息中间件;
从所述消息中间件中获取所述API接口信息文件,从所述API接口信息文件中提取出所述接口信息;
根据所述接口信息生成查询信息,所述查询信息中包括有与每一个所述API接口相对应的接口查询信息。
优选的,所述从所述消息中间件中获取所述API接口信息文件的具体过程为:
对所述消息中间件进行监听,当所述消息中间件接收到所述API接口信息文件时或所述API接口信息文件发生变化时,获取所述API接口信息文件。
优选的,所述API接口信息文件的格式为api.json。
优选的,所述接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据的具体过程为:
接收所述数据查询指令,确定所述数据查询指令所指向的目标对象;所述目标对象为所述数据库或所述API接口中的至少一种;
当数据查询指令所指向的目标对象包括所述数据库时,调用所述查询文件,根据数据查询指令以及所述查询文件中的映射关系,从所述数据库中获取目标数据;
当所述数据查询指令所指向的目标对象包括所述API接口时,根据所述数据查询指令确定目标API接口,调用所述查询信息,在所述查询信息中调用与所述目标API接口相对应的接口查询信息以获取目标数据。
第二方面,本发明实施例提供了一种数据获取装置,包括:初始映射模块、映射关系设计模块、文件生成模块、信息生成模块以及数据获取模块;
所述初始映射模块用于获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件;
所述映射关系设计模块用于根据用户发送的映射关系设计指令,生成映射关系修改文件;
所述文件生成模块用于根据所述初始映射关系文件以及所述映射关系修改文件生成查询文件;
所述信息生成模块用于获取所有API接口的接口信息,根据所述接口信息生成查询信息;
所述数据获取模块用于接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据。
第三方面,本发明实施例提供了一种终端设备,所述终端设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如第一方面所述的一种数据获取方法。
第四方面,本发明实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种数据获取方法。
上述,本发明实施例提供了一种数据获取方法、装置、终端设备及存储介质,方法包括:获取数据库的数据表,生成数据表与查询文件之间的初始映射关系文件;根据用户发送的映射关系设计指令,生成映射关系修改文件;根据初始映射关系文件以及映射关系修改文件生成查询文件;获取所有API接口的接口信息,根据接口信息生成查询信息;接收数据查询指令,根据数据查询指令调用查询文件和/或查询信息以获取目标数据。
本发明实施例通过构建查询文件以及查询信息,在接收到数据查询指令后,通过调用查询文件和/或查询信息,即可获取目标数据。当图表以及大屏设计器需要从数据库中获取数据时,查询文件根据与数据表之间的映射关系即可获取到目标数据,从而屏蔽数据库的变更对图表的影响,无需向程序开发者提供底层代码,对于提供RestfulApi接口的服务,只需要根据API接口的接口信息构建查询信息,后续即可通过查询信息按需聚合、获取对应API接口的目标数据,解决了现有技术中数据获取效率低下的技术问题。
附图说明
图1为本发明实施例提供的一种数据获取方法的方法流程图。
图2为本发明实施例提供的另一种数据获取方法的方法流程图。
图3为本发明实施例提供的生成查询文件的示意图。
图4为本发明实施例提供的生成GraphQL schema信息的流程示意图。
图5为本发明实施例提供的根据接口信息生成GraphQL schema信息的示意图。
图6为本发明实施例提供的一种数据获取装置的结构示意图。
图7为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本申请的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
实施例一
如图1所示,图1为本发明实施例提供的一种数据获取方法的流程图。本发明实施例提供的数据获取方法可以由数据获取设备执行,该数据获取设备可以通过软件和/或硬件的方式实现,该数据获取设备可以是两个或多个物理实体构成,也可以由一个物理实体构成。例如数据获取设备可以是电脑、上位机、平板等设备。
需要进一步说明的是,本实施例适用于预先利用GraphQL技术在数据库层以及RestfulApi接口层之上建立的BFF层,方法包括以下步骤:
步骤101、获取数据库的数据表,生成数据表与查询文件之间的初始映射关系文件。
首先,启动BFF层中的Graphql BFF项目,Graphql BFF项目从数据库层中的数据库中获取数据表,并根据数据表中的定义,生成数据表和查询文件之间的初始映射关系文件,其中初始映射关系文件中包括有数据表和查询文件之间的初始映射关系,例如初始映射关系中包含有与数据表中的字段相对应的GraphQL的映射名称等,以便后续将数据表中的内容映射至查询文件中。
步骤102、根据用户发送的映射关系设计指令,生成映射关系修改文件。
若用户想对初始映射关系文件中的初始映射关系进行修改,可向Graphql BFF项目发送映射关系设计指令,Graphql BFF项目即根据用户发送映射关系设计指令,重新对初始映射关系进行设计修改并生成映射关系修改文件。
步骤103、根据初始映射关系文件以及映射关系修改文件生成查询文件。
生成映射关系修改文件后,Graphql BFF项目即可根据映射关系修改文件中自定义的映射关系,对初始映射关系文件中的初始映射关系进行修改,并根据修改后的初始映射关系文件,生成查询文件,通过查询文件即可查询到数据表中对应的数据。需要进一步说明的是,在本实施例中生成的查询文件为GraphQL schema文件。
步骤104、获取所有API接口的接口信息,根据接口信息生成查询信息。
在生成GraphQL schema文件后,Graphql BFF项目进一步获取RestfulApi接口层中所有API接口的接口信息,并根据接口信息生成查询信息,从而后续通过查询信息即可获取目标数据。需要进一步说明的是,在本实施例中,查询信息为GraphQL schema信息。
步骤105、接收数据查询指令,根据数据查询指令调用查询文件和/或查询信息以获取目标数据。
在生成GraphQL schema文件以及GraphQL schema信息后,当图表以及大屏设计器需要从数据库或API接口中获取数据时,即可向Graphql BFF项目发送数据查询指令,Graphql BFF项目在接收到数据查询指令后,对数据查询指令进行分析,确定数据查询指令所指向的目标对象,当目标对象包括数据库时,调用GraphQL schema文件,通过GraphQLschema文件中的映射关系从数据库中获取目标数据,若指向的目标对象包括某一API接口时,则调用GraphQL schema信息,通过GraphQL schema信息获取目标数据。可理解,目标对象可以只包括数据库或只包括API接口,也可以同时包括数据库以及API接口。
可理解,在本实施例中,生成查询信息以及生成查询文件的顺序可根据实际需要进行调换,也可以在生成查询信息后,再生成查询文件,即先执行步骤104,在执行步骤101-步骤103,本发明实施例中不对生成查询信息以及生成查询文件的具体顺序进行限定。
上述,本发明实施例通过构建查询文件以及查询信息,在接收到数据查询指令后,通过调用查询文件和/或查询信息,即可获取目标数据。当图表以及大屏设计器需要从数据库中获取数据时,查询文件根据与数据表之间的映射关系即可获取到目标数据,从而屏蔽数据库的变更对图表的影响,无需向程序开发者提供底层代码,对于提供RestfulApi接口的服务,只需要根据API接口的接口信息构建查询信息,后续即可根据查询信息获取对应API接口的目标数据,从而按需聚合、获取目标数据,解决了现有技术中数据获取效率低下的技术问题。
实施例二
如图2所示,图2为本发明实施例提供的另一种数据获取方法的流程图,本发明实施例同样适用于预先利用GraphQL技术在数据库层以及RestfulApi接口层之上建立的BFF层,方法包括以下步骤:
步骤201、与数据库层中的数据库建立连接,获取数据库中的数据表,根据数据表的数据信息,生成数据库与查询文件之间的初始映射关系文件,初始映射关系文件中包含有数据库与查询文件之间的初始映射关系。
在本实施例中,首先启动BFF层中的Graphql BFF项目,Graphql BFF项目和数据库层中的数据库建立连接,读取数据库中的数据表,之后,根据数据表的数据信息,生成数据库与查询文件之间的初始映射关系文件,初始映射关系文件中包含有数据库与查询文件之间的初始映射关系,即默认的映射关系。示例性的,在一个实施例中,Graphql BFF项目启动后,读取数据中的数据表,根据数据表的表名生成初始映射关系文件,将数据表中A字段与GraphQL的映射名称B相映射。
步骤202、根据用户发送的映射关系设计指令,自定义映射关系,根据自定义的映射关系生成映射关系修改文件。
在生成初始映射关系文件后,用户还能够自定义映射关系,对初始映射关系文件中的初始映射关系进行修改。示例性的,在一个实施例中,当用户需要对初始映射关系进行修改时,向Graphql BFF项目发送映射关系设计指令,Graphql BFF项目在接收到映射关系设计指令后,根据映射关系设计指令重新自定义数据表和查询文件之间的映射关系,之后,根据自定义的映射关系生成映射关系修改文件。
步骤203、根据初始映射关系文件以及映射关系修改文件生成查询文件。
生成映射关系修改文件后,Graphql BFF项目即可根据映射关系修改文件中自定义的映射关系,对初始映射关系文件中的初始映射关系进行修改,并生成查询文件。示例性的,在一个实施例中,Graphql BFF项目启动,连接数据库,读取数据库中的数据表,根据数据表的表名生成映射文件,例如根据数据表A{a,b}以及数据表B{c,d}生成db{type A{ainteger,b sring}type B{c integer,d string}}初始映射关系文件,之后,根据用户自定义的映射关系生成映射关系修改文件db{type A{aa integer alias db.A.a}},最终根据初始映射关系文件以及映射关系修改文件,生成查询文件db{type A{aa interger aliasdb.A.a,b string}type B{c integer,d string}}。示例性的,如图3所示,数据表A为车站数据表,数据表B为列车数据表,数据表1的id为1,数据表2的id为2,基于数据表A以及数据表B生成的查询文件,GraphQL BFF加载查询文件,后续即可通过/graphql接口在查询文件中统一查询数据,例如输入参数{A(id:1){a,b},B(id:2){c,d}}来获取到数据表A以及数据表B中的目标数据。
当数据库设计人员修改相关数据库中数据表设计时,开发人员可以重新配置映射关系修改文件,GraphQL BFF层监控到映射关系修改文件发生变化时,会重新构建GraphQLschema文件,从而不需要改变图表展示层的配置。
步骤204、控制RestfulApi接口层中的RestfulApi服务项目根据自身的项目代码,生成包括有自身所有API接口的接口信息的API接口信息文件,并将API接口信息文件发送至消息中间件。
在本实施例中,当需要获取API接口的接口信息时,控制RestfulApi接口层中的RestfulApi服务项目根据自身的项目代码中代码文件的说明,生成包括项目中所有API接口的接口信息的API接口信息文件,之后,启动RestfulApi服务项目读取API接口信息文件并将API接口信息文件推送至消息中间件中。需要进一步说明的是,API接口信息文件的格式为api.json。
示例性的,在一个实施例中,RestfulApi服务项目基于javadoc的文档自动生成工具等解析项目代码中的接口信息,生成API接口信息文件。RestfulApi服务项目在工程引入解析接口信息编译依赖,如下基于Maven的Java项目引入以下依赖:
Figure BDA0003367767170000081
Figure BDA0003367767170000091
Figure BDA0003367767170000101
需要进一步说明的是,在本实施例中API接口信息文件的格式为api.json,api.json文件的代码内容如下:
Figure BDA0003367767170000102
RestfulApi服务项目读取了该api.json文件,并将该api.json文件推送至消息中间件redis,从而使得消息中间件redis对该api.json文件所包含的API接口进行注册。
步骤205、从消息中间件中获取API接口信息文件,从API接口信息文件中提取出接口信息。
在RestfulApi服务项目将API接口信息文件发送到消息中间件后,Graphql BFF项目即可从消息中间件获取API接口信息文件,并对API接口信息文件进行解析,从API接口信息文件中提取出API接口的接口信息。
在上述实施例的基础上,从消息中间件中获取API接口信息文件的具体过程为:
对消息中间件进行监听,当消息中间件接收到API接口信息文件时,获取API接口信息文件。
在一个实施例中,Graphql BFF项目对消息中间件进行监听,当监听到消息中间件接收到API接口信息文件或API接口信息文件由于修改而发生变化时,从消息中间件中获取API接口信息文件,并对API接口信息文件进行解析。
步骤206、根据接口信息生成查询信息,查询信息中包括有与每一个API接口相对应的接口查询信息。
如图4所示,在从API接口信息文件中提取出所有API接口的接口信息后,即可根据每一个API接口的接口信息,生成查询信息,查询信息中包括有多个接口查询信息,且每个接口查询信息和每个API接口相对应。在一个实施例中,GraphQL BFF项目根据api.json文件中的各个API接口的接口描述(即接口信息),构建GraphQL Schema(即查询信息),GraphQL Schema中包含有与每一个API接口相对应的接口查询信息,如图5所示。
示例性的,在一个实施例中,api.json文件中包括有一个API接口的接口信息,该API接口用于按时间粒度统计车站以及线路的客流量,根据该API接口的接口信息生成GraphQL Schema,在GraphQL Schema中,该API接口对应的接口查询信息包括Query代码和Result代码,分别如下:
Query代码:
Figure BDA0003367767170000111
Figure BDA0003367767170000121
步骤207、接收数据查询指令,确定数据查询指令所指向的目标对象;目标对象为数据库或API接口中的至少一种。
在生成查询文件以及查询信息后,图表以及大屏设计器即可通过查询信息或查询文件来获取到目标数据。在一个实施例中,当图表以及大屏设计器需要获取数据时,向Graphql BFF层发送数据查询指令,GraphQL BFF项目接收到数据查询指令后,确定出数据查询指令所指向的目标对象。其中,需要进一步说明的是,目标对象为数据库或API接口中的至少一种,即目标对象可以为数据库或API接口,也可以同时包含有数据库和API接口。
步骤208、当数据查询指令所指向的目标对象包括数据库时,调用查询文件,根据数据查询指令以及查询文件中的映射关系,从数据库中获取目标数据。
当数据查询指令所指向的目标对象包括数据库时,数据查询指令中包括有所需要查询的目标数据的数据参数。GraphQL BFF项目在接收到数据查询指令后,调用GraphQLSchema文件,根据数据查询指令中的数据参数以及GraphQL Schema文件中的映射关系,从数据库中获取对应的目标数据。
步骤209、当数据查询指令所指向的目标对象包括API接口时,根据数据查询指令确定目标API接口,调用查询信息,在查询信息中调用与目标API接口相对应的接口查询信息以获取目标数据。
当数据查询指令所指向的目标对象包括API接口时,数据查询指令中包括有所需要调用的目标API接口以及输入至目标API接口的数据参数,GraphQL BFF项目在接收到数据查询指令后,确定数据查询指令中所需要调用的目标API接口,调用GraphQL Schema信息,在GraphQL Schema信息调用与目标API接口相对应的接口查询信息,并将数据查询指令中的数据参数输入所调用的接口查询信息中,使得所调用的接口查询信息根据数据参数获取相应的目标数据。
上述,本发明实施例通过构建查询文件以及查询信息,在接收到数据查询指令后,通过调用查询文件和/或查询信息,即可获取目标数据。当图表以及大屏设计器需要从数据库中获取数据时,查询文件根据与数据表之间的映射关系即可获取到目标数据,从而屏蔽数据库的变更对图表的影响,无需向程序开发者提供底层代码,对于提供RestfulApi接口的服务,只需要根据API接口的接口信息构建查询信息,后续即可通过查询信息中的接口查询信息按需聚合、获取对应API接口的目标数据,解决了现有技术中数据获取效率低下的技术问题。
实施例三
如图6所示,图6为本发明实施例提供的一种数据获取装置的结构示意图,包括:初始映射模块301、映射关系设计模块302、文件生成模块303、信息生成模块304以及数据获取模块305;
初始映射模块301用于获取数据库的数据表,生成数据表与查询文件之间的初始映射关系文件;
映射关系设计模块302用于根据用户发送的映射关系设计指令,生成映射关系修改文件;
文件生成模块303用于根据初始映射关系文件以及映射关系修改文件生成查询文件;
信息生成模块304用于获取所有API接口的接口信息,根据接口信息生成查询信息;
数据获取模块305用于接收数据查询指令,根据数据查询指令调用查询文件和/或查询信息以获取目标数据。
在上述实施例的基础上,初始映射模块301用于获取数据库的数据表,生成数据表与查询文件之间的初始映射关系文件具体为:
初始映射模块301用于与数据库层中的数据库建立连接,获取数据库中的数据表,根据数据表的数据信息,生成数据库与查询文件之间的初始映射关系文件,初始映射关系文件中包含有数据库与查询文件之间的初始映射关系。
在上述实施例的基础上,映射关系设计模块302用于根据用户发送的映射关系设计指令,生成映射关系修改文件具体为:
映射关系设计模块302用于根据用户发送的映射关系设计指令,自定义映射关系,根据自定义的映射关系生成映射关系修改文件。
在上述实施例的基础上,信息生成模块304用于获取所有API接口的接口信息,根据接口信息生成查询信息具体为:
信息生成模块304用于控制RestfulApi接口层中的RestfulApi服务项目根据自身的项目代码,生成包括有自身所有API接口的接口信息的API接口信息文件,并将API接口信息文件发送至消息中间件;从消息中间件中获取API接口信息文件,从API接口信息文件中提取出接口信息;根据接口信息生成查询信息,查询信息中包括有与每一个API接口相对应的接口查询信息。
在上述实施例的基础上,信息生成模块304用于从消息中间件中获取API接口信息文件具体为:
信息生成模块304用于对消息中间件进行监听,当消息中间件接收到API接口信息文件时或API接口信息文件发生变化时,获取API接口信息文件。
在上述实施例的基础上,API接口信息文件的格式为api.json。
在上述实施例的基础上,数据获取模块305用于接收数据查询指令,根据数据查询指令调用查询文件和/或查询信息,以从数据库和/或相应的API接口中获取目标数据具体为:
数据获取模块305用于接收数据查询指令,确定数据查询指令所指向的目标对象;目标对象为数据库或API接口中的至少一种;当数据查询指令所指向的目标对象包括数据库时,调用查询文件,根据数据查询指令以及查询文件中的映射关系,从数据库中获取目标数据;当数据查询指令所指向的目标对象包括API接口时,根据数据查询指令确定目标API接口,调用查询信息,在查询信息中调用与目标API接口相对应的接口查询信息以获取目标数据。
实施例四
本实施例还提供了一种终端设备,如图7所示,一种终端设备40,所述终端设备包括处理器400以及存储器401;
所述存储器401用于存储计算机程序402,并将所述计算机程序402传输给所述处理器;
所述处理器400用于根据所述计算机程序402中的指令执行上述的一种数据获取方法实施例中的步骤。
示例性的,所述计算机程序402可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器401中,并由所述处理器400执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序402在所述终端设备40中的执行过程。
所述终端设备40可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备40可包括,但不仅限于,处理器400、存储器401。本领域技术人员可以理解,图7仅仅是终端设备40的示例,并不构成对终端设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备40还可以包括输入输出设备、网络接入设备、总线等。
所称处理器400可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器401可以是所述终端设备40的内部存储单元,例如终端设备40的硬盘或内存。所述存储器401也可以是所述终端设备40的外部存储终端设备,例如所述终端设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,所述存储器401还可以既包括所述终端设备40的内部存储单元也包括外部存储设备。所述存储器401用于存储所述计算机程序以及所述终端设备40所需的其他程序和数据。所述存储器401还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例五
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据获取方法,该方法包括以下步骤:
获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件;
根据用户发送的映射关系设计指令,生成映射关系修改文件;
根据所述初始映射关系文件以及所述映射关系修改文件生成查询文件;
获取所有API接口的接口信息,根据所述接口信息生成查询信息;
接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据获取方法,其特征在于,包括以下步骤:
获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件;
根据用户发送的映射关系设计指令,生成映射关系修改文件;
根据所述初始映射关系文件以及所述映射关系修改文件生成查询文件;
获取所有API接口的接口信息,根据所述接口信息生成查询信息;
接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据。
2.根据权利要求1所述的一种数据获取方法,其特征在于,所述获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件的具体过程为:
与数据库层中的数据库建立连接,获取所述数据库中的数据表,根据所述数据表的数据信息,生成所述数据库与查询文件之间的初始映射关系文件,所述初始映射关系文件中包含有所述数据库与所述查询文件之间的初始映射关系。
3.根据权利要求2所述的一种数据获取方法,其特征在于,所述根据用户发送的映射关系设计指令,生成映射关系修改文件的具体内容为:
根据用户发送的映射关系设计指令,自定义映射关系,根据自定义的映射关系生成映射关系修改文件。
4.根据权利要求1所述的一种数据获取方法,其特征在于,所述获取所有API接口的接口信息,根据所述接口信息生成查询信息的具体过程为:
控制RestfulApi接口层中的RestfulApi服务项目根据自身的项目代码,生成包括有自身所有API接口的接口信息的API接口信息文件,并将所述API接口信息文件发送至消息中间件;
从所述消息中间件中获取所述API接口信息文件,从所述API接口信息文件中提取出所述接口信息;
根据所述接口信息生成查询信息,所述查询信息中包括有与每一个所述API接口相对应的接口查询信息。
5.根据权利要求4所述的一种数据获取方法,其特征在于,所述从所述消息中间件中获取所述API接口信息文件的具体过程为:
对所述消息中间件进行监听,当所述消息中间件接收到所述API接口信息文件时或所述API接口信息文件发生变化时,获取所述API接口信息文件。
6.根据权利要求4所述的一种数据获取方法,其特征在于,所述API接口信息文件的格式为api.json。
7.根据权利要求4所述的一种数据获取方法,其特征在于,所述接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据的具体过程为:
接收所述数据查询指令,确定所述数据查询指令所指向的目标对象;所述目标对象为所述数据库或所述API接口中的至少一种;
当数据查询指令所指向的目标对象包括所述数据库时,调用所述查询文件,根据数据查询指令以及所述查询文件中的映射关系,从所述数据库中获取目标数据;
当所述数据查询指令所指向的目标对象包括所述API接口时,根据所述数据查询指令确定目标API接口,调用所述查询信息,在所述查询信息中调用与所述目标API接口相对应的接口查询信息以获取目标数据。
8.一种数据获取装置,其特征在于,包括:初始映射模块、映射关系设计模块、文件生成模块、信息生成模块以及数据获取模块;
所述初始映射模块用于获取数据库的数据表,生成所述数据表与查询文件之间的初始映射关系文件;
所述映射关系设计模块用于根据用户发送的映射关系设计指令,生成映射关系修改文件;
所述文件生成模块用于根据所述初始映射关系文件以及所述映射关系修改文件生成查询文件;
所述信息生成模块用于获取所有API接口的接口信息,根据所述接口信息生成查询信息;
所述数据获取模块用于接收数据查询指令,根据所述数据查询指令调用所述查询文件和/或所述查询信息以获取目标数据。
9.一种终端设备,其特征在于,所述终端设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如权利要求1-7中任一项所述的一种数据获取方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的一种数据获取方法。
CN202111388000.XA 2021-11-22 2021-11-22 一种数据获取方法、装置、终端设备及存储介质 Pending CN114116866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111388000.XA CN114116866A (zh) 2021-11-22 2021-11-22 一种数据获取方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111388000.XA CN114116866A (zh) 2021-11-22 2021-11-22 一种数据获取方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN114116866A true CN114116866A (zh) 2022-03-01

Family

ID=80439296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111388000.XA Pending CN114116866A (zh) 2021-11-22 2021-11-22 一种数据获取方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114116866A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117172214A (zh) * 2023-11-02 2023-12-05 企查查科技股份有限公司 Api文件转换方法、系统及计算机存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205376A1 (zh) * 2017-05-10 2018-11-15 平安科技(深圳)有限公司 一种关联信息查询方法、终端、服务器管理系统及计算机可读存储介质
US20180352394A1 (en) * 2017-05-31 2018-12-06 MessageCube Corp Inc. Services for messaging application with in-built web search
CN108959538A (zh) * 2018-06-29 2018-12-07 新华三大数据技术有限公司 全文检索系统及方法
CN110781070A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 大数据测试验证方法、装置、计算机设备及存储介质
CN111597240A (zh) * 2020-04-22 2020-08-28 深圳追一科技有限公司 数据导出方法、装置、计算机设备和存储介质
CN112015754A (zh) * 2019-05-30 2020-12-01 阿里巴巴集团控股有限公司 数据查询方法、装置与系统
CN112328925A (zh) * 2020-10-28 2021-02-05 北京鸿腾智能科技有限公司 页面数据加载方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205376A1 (zh) * 2017-05-10 2018-11-15 平安科技(深圳)有限公司 一种关联信息查询方法、终端、服务器管理系统及计算机可读存储介质
US20180352394A1 (en) * 2017-05-31 2018-12-06 MessageCube Corp Inc. Services for messaging application with in-built web search
CN108959538A (zh) * 2018-06-29 2018-12-07 新华三大数据技术有限公司 全文检索系统及方法
CN112015754A (zh) * 2019-05-30 2020-12-01 阿里巴巴集团控股有限公司 数据查询方法、装置与系统
CN110781070A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 大数据测试验证方法、装置、计算机设备及存储介质
CN111597240A (zh) * 2020-04-22 2020-08-28 深圳追一科技有限公司 数据导出方法、装置、计算机设备和存储介质
CN112328925A (zh) * 2020-10-28 2021-02-05 北京鸿腾智能科技有限公司 页面数据加载方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117172214A (zh) * 2023-11-02 2023-12-05 企查查科技股份有限公司 Api文件转换方法、系统及计算机存储介质

Similar Documents

Publication Publication Date Title
CN111368520A (zh) 一种电子表格的编辑方法及设备
CN110188135B (zh) 文件生成方法及设备
US9990214B2 (en) Dynamic agent delivery
CN107908442B (zh) 基于spring的资源加载方法、装置、终端设备及计算机可读存储介质
CN113032244B (zh) 接口测试方法、装置、计算机系统和计算机可读存储介质
CN110347389B (zh) 算法文件的处理方法、装置和系统
CN112527848B (zh) 基于多数据源的报表数据查询方法、装置、系统及存储介质
CN105847446B (zh) 一种网络数据的获取方法、装置和系统
CN113986256A (zh) 一种发布应用程序的方法、装置、电子设备及存储介质
US20170109253A1 (en) System and method for filtering system log under operating system
CN114116866A (zh) 一种数据获取方法、装置、终端设备及存储介质
CN108062401B (zh) 应用推荐方法、装置及存储介质
CN112650804B (zh) 大数据接入方法、装置、系统及存储介质
US10520929B2 (en) Techniques for implementing universal commands in a welding or cutting system
CN114218156A (zh) 数据导出方法、装置、计算机设备和存储介质
CN114253798A (zh) 指标数据采集方法和装置、电子设备、存储介质
CN114172978A (zh) 多协议设备接入方法及相关装置
CN112732547B (zh) 业务测试方法、装置、存储介质及电子设备
CN111722994A (zh) 一种任务请求的响应方法及设备
CN111988429A (zh) 算法调度方法以及系统
CN107341038B (zh) 兼容性处理方法、装置及电子设备
CN113204558B (zh) 数据表结构自动更新方法和装置
CN112035471B (zh) 一种事务处理方法及计算机设备
CN115004667B (zh) 信息推送方法、装置、电子设备及计算机可读介质
CN113392010A (zh) 公共组件测试方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20220301