CN113360519B - 数据处理方法、装置、设备和存储介质 - Google Patents
数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113360519B CN113360519B CN202010152379.3A CN202010152379A CN113360519B CN 113360519 B CN113360519 B CN 113360519B CN 202010152379 A CN202010152379 A CN 202010152379A CN 113360519 B CN113360519 B CN 113360519B
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- service interface
- micro
- request
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置、设备和存储介质,该方法包括:对数据查询请求进行解析,确定该数据查询请求中包含的数据表标识;根据数据表与微服务接口之间的映射关系,确定该数据表标识对应的微服务接口;将调用微服务接口返回的数据添加到与该数据表标识对应的数据表中;根据该数据查询请求,从该数据表中查询数据。根据本发明实施例的技术方案,能够根据数据报表的需求灵活高效地获取数据,能够满足大量紧急的报表需求。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备和存储介质。
背景技术
随着报表的使用越来越广泛,对报表需要的指标数据进行统计、汇总处理的应用场景越来越多。
目前,报表的实时和离线的指标大部分通过独立的微服务接口提供。在报表开发过程中,需要根据报表需求,调用对应的微服务接口,获取微服务接口返回的数据,例如,全流程报表会同时展现多个物流环节的指标,需要开发人员根据公共维度字段,通过函数式编程抽取各个物流环节的微服务接口的数据,将抽取的数据拼接到一起,得到数据报表的完整的数据集合,参照图1所示,该报表包含两个物流节点,节点-1和节点-2分别从微服务接口1和微服务接口2获取数据,通过函数式编程获取微服务接口1和微服务接口2中的时间、区域字段,拼接得到完整的数据集合,生成图1所示的数据报表。然而,在这种技术方案中,通过函数式编程处理数据,不仅效率较低,而且可复用性差,难以满足大量紧急的报表需求。
因此,如何高效并且可复用地处理数据报表需要的数据成为了亟待解决的技术难题。
发明内容
本发明实施例提供一种数据处理方法、装置、设备和存储介质,用于解决如何高效并且可复用地处理数据报表需要的数据的问题。
本发明实施例第一方面,提供了一种数据处理方法,包括:对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识;根据数据表与微服务接口之间的映射关系,确定所述数据表标识对应的微服务接口;将调用所述微服务接口返回的数据添加到与所述数据表标识对应的数据表中;根据所述数据查询请求,从所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,所述方法还包括:获取微服务接口;基于所述微服务接口的返回对象,通过反射的方式确定所述返回对象的属性;基于所述返回对象的属性,创建与所述微服务接口对应的数据表;建立所述数据表与对应的所述微服务接口之间的所述映射关系。
在本发明的一些实施例中,基于上述方案,所述获取微服务接口,包括:扫描并加载目标业务的微服务接口的实例;将所述微服务接口的实例缓存在实例集合中;遍历所述实例集合,从所述实例集合中获取所述微服务接口的实例。
在本发明的一些实施例中,基于上述方案,所述方法还包括:在创建所述数据表时,向所述数据表中添加请求标识字段,所述请求标识字段用于唯一地标识一次数据查询请求对应的查询流程和数据。
在本发明的一些实施例中,基于上述方案,所述方法还包括:响应于所述数据查询请求,生成与所述数据查询请求对应的请求标识,所述请求标识用于唯一地标识所述数据查询请求对应的查询流程和数据;将所述请求标识添加到所述数据表中的所述请求标识字段对应的列中。
在本发明的一些实施例中,基于上述方案,所述数据查询请求为结构化查询语言SQL语句,所述数据表存储在内存数据库中,所述基于所述数据查询请求,从所述数据表中查询数据,包括:基于所述SQL语句,从所述内存数据库的所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,所述方法还包括:通过SQL解析器向所述SQL语句添加筛选条件,所述筛选条件包括所述请求标识等于预定值的条件。
在本发明的一些实施例中,基于上述方案,所述方法还包括:在查询完成或者查询异常时,根据所述请求标识删除所述数据表中与所述数据查询请求对应的新增数据。
在本发明的一些实施例中,基于上述方案,所述方法还包括:通过反射的方式,并发调用与所述数据表标识对应的微服务接口。
在本发明的一些实施例中,基于上述方案,所述方法还包括:基于从所述数据表中查询到的数据,生成并展示数据报表。
本发明实施例的第二方面,提供了一种数据处理装置,包括:解析模块,用于对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识;接口确定模块,用于根据数据表与微服务接口之间的映射关系,确定所述数据表标识对应的微服务接口;数据添加模块,用于将调用所述微服务接口返回的数据添加到与所述数据表标识对应的数据表中;数据查询模块,用于根据所述数据查询请求,从所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,所述装置还包括:接口获取模块,用于获取微服务接口;属性确定模块,用于基于所述微服务接口的返回对象,通过反射的方式确定所述返回对象的属性;数据表创建模块,用于基于所述返回对象的属性,创建与所述微服务接口对应的数据表;映射关系建立模块,用于建立所述数据表与对应的所述微服务接口之间的所述映射关系。
在本发明的一些实施例中,基于上述方案,所述接口获取模块被配置为:扫描并加载目标业务的微服务接口的实例;将所述微服务接口的实例缓存在实例集合中;遍历所述实例集合,从所述实例集合中获取所述微服务接口的实例。
在本发明的一些实施例中,基于上述方案,所述装置被配置为:在创建所述数据表时,向所述数据表中添加请求标识字段,所述请求标识字段用于唯一地标识一次数据查询请求对应的查询流程和数据。
在本发明的一些实施例中,基于上述方案,所述装置还包括:标识生成模块,用于响应于所述数据查询请求,生成与所述数据查询请求对应的请求标识,所述请求标识用于唯一地标识所述数据查询请求对应的查询流程和数据;标识添加模块,用于将所述请求标识添加到所述数据表中的所述请求标识字段对应的列中。
在本发明的一些实施例中,基于上述方案,所述数据查询请求为结构化查询语言SQL语句,所述数据表存储在内存数据库中,所述数据查询模块被配置为:基于所述SQL语句,从所述内存数据库的所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,所述装置被配置为:通过SQL解析器向所述SQL语句添加筛选条件,所述筛选条件包括所述请求标识等于预定值的条件。
在本发明的一些实施例中,基于上述方案,所述装置还被配置为:在查询完成或者查询异常时,根据所述请求标识删除所述数据表中与所述数据查询请求对应的新增数据。
在本发明的一些实施例中,基于上述方案,所述装置被配置为:通过反射的方式,并发调用与所述数据表标识对应的微服务接口。
在本发明的一些实施例中,基于上述方案,所述装置被配置为:基于从所述数据表中查询到的数据,生成并展示数据报表。
本发明实施例的第三方面,提供了一种数据处理设备,包括:接收器、处理器、存储器以及发送器;存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行第一方面任一实施例提供的数据处理方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序在被处理器执行时用于执行第一方面任一实施例提供的数据处理方法。
根据本发明实施例提供的数据处理方法、装置、设备和存储介质,一方面,基于数据表与微服务接口之间的映射关系调用微服务接口,能够快速高效地调用与待查询数据表对应的微服务接口;另一方面,将微服务接口返回的数据插入数据表中,通过数据查询语句对数据表进行查询,不仅查询效率较高,而且不需要进行复杂的函数式编程,能够高效地获取数据报表需要的数据;再一方面,由于数据查询语句具有很好的可复用性,从而能够根据数据报表的需求灵活高效地获取数据,能够满足大量紧急的报表需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种技术方案中的数据报表的示意图;
图2为根据本发明的一些实施例提供的数据处理方法的应用场景的示意图;
图3为根据本发明的一些实施例提供的数据处理方法的流程示意图;
图4为根据本发明的一些实施例提供的建立数据表与微服务接口之间的映射关系的流程示意图;
图5为根据本发明的一些实施例提供的微服务接口的返回对象的属性的示意图;
图6为根据本发明的另一些实施例提供的数据处理方法的流程示意图;
图7为根据本发明的一些实施例提供的数据处理装置的示意框图;
图8为根据本发明另一些实施例提供的数据处理装置的示意框图;
图9为根据本发明的又一些实施例提供的数据处理装置的示意框图;
图10为根据本发明的一些实施例提供的数据处理设备实施例的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在报表开发过程中,需要根据报表需求,调用对应的微服务接口,获取微服务接口返回的数据,例如,在全流程报表中,需要开发人员根据公共维度字段,通过函数式编程抽取对应的微服务接口的数据,将抽取的数据拼接到一起,得到数据报表的完整的数据集合。然而,在这种技术方案中,通过函数式编程处理数据,不仅效率较低,而且可复用性差,如果遇到默认值处理、格式化、中间计算、汇总聚合等操作,那么函数式编程的复杂度会逐步提升,难以满足大量紧急的报表需求。
基于上述内容,本发明的核心思想在于:建立微服务接口与数据库的数据表之间的映射关系,在进行数据报表的数据查询时,解析数据查询语句得到待查询的数据包名称,根据待查询的数据表名称以及该映射关系调用对应的微服务接口,将微服务接口返回的数据插入数据表中,执行数据查询语句,获取查询结果集,生成数据报表的数据。根据本发明实施例的技术方案,基于数据表与微服务接口之间的映射关系调用微服务接口,将微服务接口返回的数据插入数据表中,通过数据查询语句对数据表进行查询。一方面,基于数据表与微服务接口之间的映射关系调用微服务接口,能够快速高效地调用与待查询数据表对应的微服务接口;另一方面,将微服务接口返回的数据插入数据表中,通过数据查询语句对数据表进行查询,不仅查询效率较高,而且不需要进行复杂的函数式编程,能够高效地获取数据报表需要的数据;再一方面,由于数据查询语句具有很好的可复用性,从而能够根据数据报表的需求灵活高效地获取数据,满足大量紧急的报表需求。
下面对本发明中涉及的名词等进行解释:
微服务:把一个大型的单个应用程序和服务拆分为数个甚至数十个的微服务,每个微服务是一个或者一组相对较小且独立的功能单元。
H2数据库:一种开源数据库,H2采用纯Java编写,因此不受平台的限制,有比较好的兼容性,支持标准的SQL标准。
JsqlParser:是一个SQL语句解析器,以可遍历的Java类层次结构转换SQL。JSqlParser不仅限于一个数据库,而且还支持Oracle,SqlServer,MySQL,PostgreSQL等多个数据库。
模式schema:模式是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等。
Spring:一种开放源代码的J2EE应用程序框架。
图2为根据本发明的一些实施例提供的数据处理方法的应用场景的示意图。参照图2所示,该应用场景包括报表开发设备210以及服务器220,报表开发设备210与服务器220之间通过有线或无线网络进行通信。报表开发装置210上设置有数据库212,服务器220上部署有微服务系统,微服务系统包括多个微服务接口,微服务接口与数据库212中的数据表具有映射关系。报表开发设备210接收到数据查询请求例如SQL查询请求时,从数据查询请求中解析得到对应的数据表标识,根据该映射关系,获取并调用对应的微服务接口,将微服务接口返回的数据插入到数据库212中对应的数据表中,执行数据查询请求,从数据库212对应的数据表中获取数据,基于获取的数据生成数据报表。
需要说明的是,报表开发设备210可以为台式计算机、便携笔记本式计算机、平板电脑、手机或适当的计算机终端等。服务器220可以为包含独立主机的物理服务器,或者为主机集群承载的虚拟服务器,或者为云服务器。
下面结合图2的应用场景,参考图3来描述根据本申请的示例性实施例的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施例在此方面不受任何限制。相反,本发明的实施例可以应用于适用的任何场景。
图3为根据本发明的一些实施例提供的数据处理方法的流程示意图。该数据处理方法包括步骤S310至步骤S340,可以应用于上述的报表开发设备210,下面结合附图对示例实施例中的数据处理方法进行详细的说明。
参照图3所示,在步骤S310中,对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识。
在示例实施例中,数据查询请求为SQL查询语句,对SQL查询语句进行解析,得到待查询的数据表的数据表标识即table_name。例如,通过JsqlParser解析SQL查询语句,获取SQL查询语句中的数据表标识。
在步骤S320中,根据数据表与微服务接口之间的映射关系,确定数据表标识对应的微服务接口。
在示例实施例中,建立数据库中的数据表与微服务接口之间的映射关系,根据数据表与微服务接口之间的映射关系,确定数据表标识对应的微服务接口。具体而言,在报表开发设备上存储有数据表与微服务接口之间的映射关系,例如,通过Map数据结构存储数据表与微服务接口之间的映射关系即<数据表名称,接口对象><tablename,interface bean>,以Spring框架为例,设数据表名称为table_interface_1,对应的微服务接口名称为com.jd.interface_1,则在Spring容器中以<table_interface_1,com.jd.interface_1>的数据结构形式将该映射关系存储在BidiMap中。
在步骤S330中,将调用微服务接口返回的数据添加到与数据表标识对应的数据表中。
在示例实施例中,调用数据表标识对应的微服务接口,将调用微服务接口返回的数据添加到与数据表标识对应的数据表中。例如,通过反射的方式调用数据表标识对应的微服务接口,获取微服务接口返回的数据,将微服务接口返回的数据添加到数据表标识对应的数据表中。
在步骤S340中,根据该数据查询请求,从数据表标识对应的数据表中查询数据。
在示例实施例中,该数据查询请求为SQL语句,执行该SQL语句,通过该SQL语句从数据表标识对应的数据表中查询数据。例如,SQL语句为SELECT date,region FROMtablename,则从tablename对应的数据表中查询时间date、区域region字段,获取date、region字段对应的数据。进一步地,还可以通过SQL语句进行关联查询数据处理,从而能够提高数据处理效率。
根据图3的示例实施例中的技术方案,一方面,基于数据表与微服务接口之间的映射关系调用微服务接口,能够快速高效地调用与待查询数据表对应的微服务接口;另一方面,将微服务接口返回的数据插入数据表中,通过数据查询语句对数据表进行查询,不仅查询效率较高,而且不需要进行复杂的函数式编程,能够高效地获取数据报表需要的数据;再一方面,由于数据查询语句具有很好的可复用性,从而能够根据数据报表的需求灵活高效地获取数据,能够满足大量紧急的报表需求。
此外,为了保证在并发处理过程中数据的一致性,在示例实施例中,在创建数据表时,向该数据表添加请求标识字段,该请求标识字段用于唯一标识一次数据查询请求对应的查询流程和数据。在接收到数据查询请求时,响应于该数据查询请求,生成与该数据查询请求对应的请求标识,该请求标识用于唯一地标识该数据查询请求对应的查询流程和数据,将该请求标识添加到对应数据表的请求标识字段对应的列中。在进行数据查询时,向数据查询请求中添加该请求标识的筛选条件,从而能够保证并发处理过程中的数据的一致性。
进一步地,在查询完成或者查询发生异常时,根据该请求标识删除该数据表中与该数据查询请求对应的新增数据。通过删除数据表中的数据,能够降低对内存的数据占用,提高数据处理效率。
图4为根据本发明的一些实施例提供的建立数据表与微服务接口之间的映射关系的流程示意图。
参照图4所示,在步骤S410中,获取微服务接口。
在示例实施例中,扫描并加载目标业务的微服务接口的实例;将微服务接口的实例缓存在实例集合中;遍历该实例集合,从该实例集合中获取微服务接口的实例。以Spring框架为例,在应用程序启动过程中,初始化微服务接口,并对微服务接口进行实例化,通过应用applicationContext扫描并获取微服务接口的实例,将获取的微服务接口的实例缓存到实例集合中,遍历实例集合,获取微服务接口的实例。
在步骤S420中,基于微服务接口的返回对象,通过反射的方式确定返回对象的属性。
在示例实施例中,在获取到微服务接口之后,确定微服务接口的返回对象,根据微服务接口的返回对象,通过反射的方式确定该返回对象的属性。例如,设微服务接口的返回对象或返回类型为Collection<ResultA>,通过反射的方式得当对象ResultA.class的属性或属性结构,如图5所示,返回结果A包括属性日期date、区域region、变量x三个字段。
在步骤S430中,基于微服务接口的返回对象的属性,创建与微服务接口对应的数据表。
在示例实施例中,将微服务接口的返回对象的属性,作为数据表的字段,创建与服务器接口对应的数据表。例如,对返回接口ResultA.class解析得到如图5所示的属性结构,根据该属性结构,通过SQL语句中的create table语句,在内存数据库例如H2数据库中创建对应的数据表。进一步地,将生成的数据表的列信息例如table schema列信息存储在应用程序中,以在后续报表开发的流程中参考使用。
在步骤S440中,建立数据表与微服务接口之间的映射关系。
在示例实施例中,在创建了与微服务接口对应的数据表之后,建立该数据表与该微服务接口之间的映射关系,将该数据表的名称以及该微服务接口的名称存储在Map数据结构中。以Spring框架为例,设数据表名称为table_interface_1,对应的微服务接口名称为com.jd.interface_1,则在Spring容器中以<table_interface_1,com.jd.interface_1>的数据结构形式将该映射关系存储在BidiMap中。
图6为根据本发明的另一些实施例提供的数据处理方法的流程示意图。
参照图6所示,在步骤S610中,在Srping容器中,扫描加载对应的微服务接口bean。例如,在应用程序启动过程中,初始化微服务接口bean,并对微服务接口bean进行实例化,通过applicationContext接口扫描获取对应的微服务接口bean,将获取的微服务接口bean缓存到bean集合中。
在步骤S615中,解析各个微服务接口的返回对象,获取对应的属性或字段集合。例如,通过反射的方式获取各个微服务接口的返回对象,对各个微服务接口的返回类对象class进行解析,获取各个返回类对象的属性或字段。
在步骤S620中,根据返回对象的属性或字段集合,创建对应的数据表,保存数据表schema列信息。例如,根据返回对象的属性或字段结合,创建create table的SQL语句,创建对应的数据表。
进一步地,在示例实施例中,在创建数据表的过程中,自动给每个生成的数据表或数据表schema增加请求标识字段即request_id字段,该请求标识字段用于标识和保障每次查询流程和数据的唯一性。
在步骤S625中,在Spring容器中,缓存数据表与对应的微服务接口的映射关系。例如,设数据表的表名为tablename,对应的微服务接口为interface bean,以Map数据结构缓存<tablename,interface bean>的对应关系。
在步骤S630中,在接收到数据查询请求时,解析该数据查询请求,获取对应的数据表标识,例如数据查询请求为SQL语句,通过JSqlParser解析该SQL语句,得到对应的数据表名tablename。
进一步地,在示例实施例中,在接收到数据查询请求时,生成对应的请求标识,该请求标识用于唯一地标识该数据查询请求对应的查询流程和数据。
在步骤S635中,根据数据表名,从步骤S625的映射关系中获取对应的微服务接口,并发反射调用该微服务接口。
在步骤S640中,将微服务接口返回的数据插入到对应的数据表中。例如,数据表存储在H2数据库中,将微服务接口返回的数据插入到H2数据库的对应的数据表中。
进一步地,在示例实施例中,在微服务接口返回的数据插入到对应的数据表中时,将该数据查询请求对应的请求标识即requestID也插入到数据表对应的request_id字段。
在步骤S645中,在微服务接口调用完成之后,执行数据查询请求。例如,在微服务接口调用完成之后,对H2数据库执行SQL查询,获取对应的数据。
进一步地,在查询之前,通过JSqlParser修改该SQL语句中的查询条件例如where条件,给待查询的数据表分别添加request_id=n的筛选条件。
在本发明实施例的技术方案中,通过在数据表中添加请求标识字段,并在查询的时候添加请求标识的筛选条件,能够唯一地确定一次查询请求对应的数据表和数据,从而能够在并发请求调用中保证调用的数据的一致性,避免在数据发生改变时,在同一个数据查询请求中调用到不同的数据的情况。
在步骤S650中,在查询完成之后或者查询发生异常时,删除本次查询新增的数据。例如,根据该数据查询请求的请求标识,删除H2数据库中对应的数据表的数据。
进一步地,可以通过报表开发设备的前端的可视化组件展示查询到的数据。
在步骤S655中,根据数据报表的需求例如指标需求,编写对应的查询SQL。例如,参考应用程序初始化时在步骤S620中生成的数据表的信息例如数据表的列表,以及数据表的具体的列信息,编写对应的查询SQL,可以根据数据报表的实际需求或者临时调整的需求编写对应的查询SQL,快速满足数据报表需求。
在步骤S660中,执行验证查询,检验查询结果集是否满足报表需要,如果满足报表需求,则进行至步骤S665,如果不满足报表需求,则进行至步骤S655。例如,在执行验证查询时,可以通过步骤S630至步骤650进行查询,检验步骤S650返回的查询结果集是否满足报表需求。
在步骤S665中,若满足报表需求,则发布数据报表,通过可视化工具,生成报表。例如,通过数据库引擎对查询结果里的数据进行拼接、整合、格式化、计算等操作,在操作完成之后,通过可视化工具生成数据报表。
图7为根据本发明的一些实施例提供的数据处理装置的示意框图。参照图7所示,该数据处理装置700包括:解析模块710,用于对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识;接口确定模块720,用于根据数据表与微服务接口之间的映射关系,确定所述数据表标识对应的微服务接口;数据添加模块730,用于将调用所述微服务接口返回的数据添加到与所述数据表标识对应的数据表中;数据查询模块740,用于根据所述数据查询请求,从所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,参照图8所示,所述装置700还包括:接口获取模块810,用于获取微服务接口;属性确定模块820,用于基于所述微服务接口的返回对象,通过反射的方式确定所述返回对象的属性;数据表创建模块830,用于基于所述返回对象的属性,创建与所述微服务接口对应的数据表;映射关系建立模块840,用于建立所述数据表与对应的所述微服务接口之间的所述映射关系。
在本发明的一些实施例中,基于上述方案,所述微服务接口获取模块被配置为:扫描并加载目标业务的微服务接口的实例;将所述微服务接口的实例缓存在实例集合中;遍历所述实例集合,从所述实例集合中获取所述微服务接口的实例。
在本发明的一些实施例中,基于上述方案,所述装置700被配置为:在创建所述数据表时,向所述数据表中添加请求标识字段,所述请求标识字段用于唯一地标识一次数据查询请求对应的查询流程和数据。
在本发明的一些实施例中,基于上述方案,参照图9所示,所述装置700还包括:标识生成模块910,用于响应于所述数据查询请求,生成与所述数据查询请求对应的请求标识,所述请求标识用于唯一地标识所述数据查询请求对应的查询流程和数据;标识添加模块920,用于将所述请求标识添加到所述数据表中的所述请求标识字段对应的列中。
在本发明的一些实施例中,基于上述方案,所述数据查询请求为结构化查询语言SQL语句,所述数据表存储在内存数据库中,所述数据查询模块740被配置为:基于所述SQL语句,从所述内存数据库的所述数据表中查询数据。
在本发明的一些实施例中,基于上述方案,所述装置700被配置为:通过SQL解析器向所述SQL语句添加筛选条件,所述筛选条件包括所述请求标识等于预定值的条件。
在本发明的一些实施例中,基于上述方案,所述装置700还被配置为:删除模块,用于在查询完成或者查询异常时,根据所述请求标识删除所述数据表中与所述数据查询请求对应的新增数据。
在本发明的一些实施例中,基于上述方案,所述装置700被配置为:通过反射的方式,并发调用与所述数据表标识对应的微服务接口。
在本发明的一些实施例中,基于上述方案,所述装置700被配置为:基于从所述数据表中查询到的数据,生成并展示数据报表。
本申请实施例提供的数据处理装置能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
图10示出了本发明的一些实施例提供的数据处理设备实施例一的结构示意图,如图10所示,本实施例提供的数据处理设备1000可以包括:存储器1010以及处理器1020。
可选的,该数据处理设备还可以包括总线。其中,总线用于实现各元件之间的连接。
所述存储器1010用于存储计算机程序和数据,所述处理器1020调用存储器1010存储的计算机程序,以执行前述任一方法实施例提供的数据处理方法的技术方案。
其中,存储器1010和处理器1020之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器1010中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器1010中的软件功能模块,处理器1020通过运行存储在存储器1010内的计算机程序以及模块,从而执行各种功能应用以及数据处理。
存储器1010可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器1010用于存储程序,处理器1020在接收到执行指令后,执行程序。进一步地,上述存储器1010内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器1020可以是一种集成电路芯片,具有信号的处理能力。上述的处理器1020可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图10的结构仅为示意,还可以包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件和/或软件实现。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例提供的数据处理方法。
本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识;
根据数据表与微服务接口之间的映射关系,确定所述数据表标识对应的微服务接口;
将调用所述微服务接口返回的数据添加到与所述数据表标识对应的数据表中;
根据所述数据查询请求,从所述数据表中查询数据;
所述方法还包括:
获取微服务接口;
基于所述微服务接口的返回对象,通过反射的方式确定所述返回对象的属性;
基于所述返回对象的属性,创建与所述微服务接口对应的数据表;在创建所述数据表时,向所述数据表中添加请求标识字段,所述请求标识字段用于唯一地标识一次数据查询请求对应的查询流程和数据;
建立所述数据表与对应的所述微服务接口之间的所述映射关系。
2.根据权利要求1所述的方法,其特征在于,所述获取微服务接口,包括:
扫描并加载目标业务的微服务接口的实例;
将所述微服务接口的实例缓存在实例集合中;
遍历所述实例集合,从所述实例集合中获取所述微服务接口的实例。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述数据查询请求,生成与所述数据查询请求对应的请求标识,所述请求标识用于唯一地标识所述数据查询请求对应的查询流程和数据;
将所述请求标识添加到所述数据表中的所述请求标识字段对应的列中。
4.根据权利要求3所述的方法,其特征在于,所述数据查询请求为结构化查询语言SQL语句,所述数据表存储在内存数据库中,所述基于所述数据查询请求,从所述数据表中查询数据,包括:
基于所述SQL语句,从所述内存数据库的所述数据表中查询数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过SQL解析器向所述SQL语句添加筛选条件,所述筛选条件包括所述请求标识等于预定值的条件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在查询完成或者查询异常时,根据所述请求标识删除所述数据表中与所述数据查询请求对应的新增数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
通过反射的方式,并发调用与所述数据表标识对应的微服务接口。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
基于从所述数据表中查询到的数据,生成并展示数据报表。
9.一种数据处理装置,其特征在于,包括:
解析模块,用于对数据查询请求进行解析,确定所述数据查询请求中包含的数据表标识;
接口确定模块,用于根据数据表与微服务接口之间的映射关系,确定所述数据表标识对应的微服务接口;
数据添加模块,用于将调用所述微服务接口返回的数据添加到与所述数据表标识对应的数据表中;
数据查询模块,用于根据所述数据查询请求,从所述数据表中查询数据;
所述装置还包括:
接口获取模块,用于获取微服务接口;
属性确定模块,用于基于所述微服务接口的返回对象,通过反射的方式确定所述返回对象的属性;
数据表创建模块,用于基于所述返回对象的属性,创建与所述微服务接口对应的数据表;在创建所述数据表时,向所述数据表中添加请求标识字段,所述请求标识字段用于唯一地标识一次数据查询请求对应的查询流程和数据;
映射关系建立模块,用于建立所述数据表与对应的所述微服务接口之间的所述映射关系。
10.一种数据处理设备,其特征在于,包括:处理器以及存储器;所述存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行权利要求1至8中任一项所述的数据处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序在被处理器执行时用于执行权利要求1至8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010152379.3A CN113360519B (zh) | 2020-03-06 | 2020-03-06 | 数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010152379.3A CN113360519B (zh) | 2020-03-06 | 2020-03-06 | 数据处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360519A CN113360519A (zh) | 2021-09-07 |
CN113360519B true CN113360519B (zh) | 2023-09-26 |
Family
ID=77523997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010152379.3A Active CN113360519B (zh) | 2020-03-06 | 2020-03-06 | 数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360519B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510501A (zh) * | 2021-12-28 | 2022-05-17 | 奇安信科技集团股份有限公司 | 一种对接口数据实时处理的方法和装置 |
CN114640697B (zh) * | 2022-03-15 | 2023-02-14 | 西安交通大学 | 配电物联网边缘控制器的数据处理方法、设备及存储介质 |
CN114896272A (zh) * | 2022-06-15 | 2022-08-12 | 北京奇艺世纪科技有限公司 | 信息获取方法、装置、电子设备及计算机可读存储介质 |
CN115168400A (zh) * | 2022-09-08 | 2022-10-11 | 天津金城银行股份有限公司 | 外部数据管理系统及方法 |
CN116578600A (zh) * | 2023-05-19 | 2023-08-11 | 广州经传多赢投资咨询有限公司 | 一种微服务数据聚合方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268207A (zh) * | 2014-09-23 | 2015-01-07 | 国家电网公司 | 营销基础数据平台数据模型与接口的系统实现及方法 |
CN109447411A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 业务流程控制方法、装置、计算机设备和存储介质 |
CN109522139A (zh) * | 2018-11-23 | 2019-03-26 | 杭州数梦工场科技有限公司 | 一种数据表服务生成调用方法、装置、设备及存储介质 |
US10409811B1 (en) * | 2017-01-27 | 2019-09-10 | Intuit, Inc. | Decomposition of queries |
-
2020
- 2020-03-06 CN CN202010152379.3A patent/CN113360519B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268207A (zh) * | 2014-09-23 | 2015-01-07 | 国家电网公司 | 营销基础数据平台数据模型与接口的系统实现及方法 |
US10409811B1 (en) * | 2017-01-27 | 2019-09-10 | Intuit, Inc. | Decomposition of queries |
CN109447411A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 业务流程控制方法、装置、计算机设备和存储介质 |
CN109522139A (zh) * | 2018-11-23 | 2019-03-26 | 杭州数梦工场科技有限公司 | 一种数据表服务生成调用方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种基于元数据静动态数据联合查询方法的研究与实现;曾艳梅;成长生;陆忠良;苏厚勤;;计算机应用与软件(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113360519A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113360519B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112380180A (zh) | 数据同步处理方法、装置、设备及存储介质 | |
CN110609839A (zh) | 区块链数据处理的方法、装置、设备及可读存储介质 | |
CN113901083A (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113010208B (zh) | 一种版本信息的生成方法、装置、设备及存储介质 | |
CN108959454B (zh) | 一种提示子句指定方法、装置、设备及存储介质 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN116382640A (zh) | 微服务的治理方法、装置、设备及存储介质 | |
CN115292313A (zh) | 一种伪列实现方法、装置、电子设备及存储介质 | |
CN113377604B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN114090514A (zh) | 分布式系统的日志检索方法及装置 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
CN113900895B (zh) | 信息处理方法、信息处理装置、存储介质与电子设备 | |
CN116610724B (zh) | 一种日志数据追踪方法、装置、电子设备和存储介质 | |
CN110399411B (zh) | 数据源切换方法、装置、设备及计算机可读存储介质 | |
CN110442629B (zh) | 大数据多中心异构动态数据转换方法 | |
CN117573130A (zh) | 代码处理的方法、装置、电子设备和存储介质 | |
CN113485860A (zh) | 一种数据处理方法、设备、存储介质及故障定位系统 | |
CN115658830A (zh) | 高精地图的制图方法、装置、设备及存储介质 | |
CN116150244A (zh) | 一种适配数据库方法、系统、终端设备及存储介质 | |
CN117172935A (zh) | 保险业务中台的建立方法 | |
CN117891847A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |