CN114885026A - 一种数据接口请求处理系统、方法、设备和存储介质 - Google Patents
一种数据接口请求处理系统、方法、设备和存储介质 Download PDFInfo
- Publication number
- CN114885026A CN114885026A CN202210795133.7A CN202210795133A CN114885026A CN 114885026 A CN114885026 A CN 114885026A CN 202210795133 A CN202210795133 A CN 202210795133A CN 114885026 A CN114885026 A CN 114885026A
- Authority
- CN
- China
- Prior art keywords
- request
- data
- target
- data interface
- target data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种数据接口请求处理系统、方法、设备和存储介质。该系统包括:客户端和服务器;所述客户端用于响应于用户操作向所述服务器发送包含多个请求参数的第一数据接口请求;每个请求参数为获取对应的目标数据接口的数据所需要参数;所述服务器用于接收所述第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。能够提升了用户体验,并且节省了服务线程资源。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据接口请求处理系统、方法、设备和存储介质。
背景技术
随着互联网的发展,客户端的应用实现的功能越来越多,也就需要越来越多的数据来支撑应用功能的实现。
由于不同的数据来自不同的http数据接口,客户端需要从多个不同的http数据接口获得数据,因此,客户端需要向多个不同的http数据接口分别发送http数据接口请求,以获得数据。然而,客户端发出多个http数据接口请求后,得到响应的时延、顺序不同,会导致客户端的应用闪退等问题,使用客户端的应用的用户体验差。
发明内容
基于上述问题,本申请提供了一种数据接口请求处理系统、方法、设备和存储介质,能够使客户端发出一个http数据接口请求就获取多个http接口数据,提升用户体验。
本申请公开了如下技术方案:
本申请第一方面提供一种数据接口请求处理系统:包括:
客户端和服务器;
所述客户端用于响应于用户操作向所述服务器发送包含多个请求参数的第一请求;每个请求参数为获取对应的目标数据接口的数据所需要参数;
所述服务器用于接收所述第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一个可能的实现方式中,所述服务器包括:请求分发处理器、多个控制器和业务处理器;
所述请求分发处理器用于接收所述第一请求,根据所述第一请求包含的路由信息,将所述第一请求发送给目标控制器;
所述目标控制器用于将所述多个请求参数和目标控制器对应的标准数据结构发送给业务处理器;
所述业务处理器用于解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一个可能的实现方式中,所述业务处理器包括:异步执行器和多个数据接口调用单元;
所述异步执行器用于解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数;
各目标数据接口调用单元用于向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数;
所述异步执行器用于从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器;
所述目标控制器还用于将所述第一请求数据发送给所述客户端。
在一个可能的实现方式中,所述服务器还包括:响应处理器;
所述目标控制器具体用于将所述第一请求数据通过所述响应处理器发送给所述客户端。
在一个可能的实现方式中,各目标数据接口调用单元具体用于通过WebClient的方式向对应的目标数据接口发送第二请求。
在一个可能的实现方式中,异步执行器具体用于:
解析所述标准数据结构,获得多个目标请求参数、多个目标数据接口,若接收到的各请求参数的类型和名称与对应的目标请求参数的类型和名称一致,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数。
本申请第二方面提供一种数据接口请求处理方法,应用于服务器,接收客户端响应于用户操作发送的包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数;根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一个可能的实现方式中,所述服务器包括:请求分发处理器、多个控制器和业务处理器;
所述方法包括:
所述请求分发处理器接收所述第一数据接口请求,根据所述第一数据接口请求包含的路由信息,将所述第一数据接口的请求发送给目标控制器;
所述目标控制器将所述多个请求参数和目标控制器对应的标准数据结构发送给业务处理器;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一个可能的实现方式中,所述业务处理器包括:异步执行器和多个数据接口调用单元;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端,包括:
所述异步执行器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数;
各目标数据接口调用单元向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数;
所述异步执行器从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器;
所述目标控制器将所述第一请求数据发送给所述客户端。
本申请第三方面提供一种数据接口请求处理方法,应用于客户端,响应于用户操作向服务器发送包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数;以使得所述服务器接收所述第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
本申请第四方面提供一种数据接口请求处理设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行本申请第二方面或第三方面中任一项所述的数据接口请求处理方法。
本申请第五方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行本申请第二方面或第三方面中任一项所述的数据接口请求处理方法。
相较于现有技术,本申请具有以下有益效果:
本申请提供的一种数据接口请求处理系统,包括:客户端和服务器客户端和服务器;所述客户端用于响应于用户操作向所述服务器发送包含多个请求参数的第一请求;所述服务器用于接收所述第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。客户端发出一个包含多个请求参数的http数据接口请求,服务器根据多个请求参数分别获取多个http接口的数据,并将所有的接口的数据一起发给客户端,客户端在获取多个接口的数据时不存时延不同的情况,提升了用户体验并且节省了服务线程资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据接口请求处理系统的结构图;
图2为本申请实施例提供的应用数据接口请求处理系统获取请求数据的过程示意图;
图3为本申请实施例提供的一种数据接口请求处理方法的流程图;
图4为本申请实施例提供的另一种数据接口请求处理方法的流程图;
图5为本申请实施例提供的一种电子设备结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
http数据接口:部署在远程服务器上的应用程序可以通过http协议向访问者提供数据的能力。
GraphQL:一种应对调用api查询数据而产生的查询语言。
DgsFramework:一个基于springboot的GraphQL服务端框架。
Schema:元数据的抽象集合,用于规范结构化数据的表达。在本申请中特指部署在远程服务器上的应用程序可以向访问者提供数据的能力
http请求:指客户端到服务端的请求消息。
线程:线程是进程内部的一条执行序列或执行路径,即一个可调度的实体。一个进程可以包含多条线程。
线程池:一个包含了很多已创建完成的线程用于供外部使用的资源集合。
Spring Webflux: spring开源的异步非阻塞web框架。
WebClient:一种以异步方式执行http请求的客户端。
同步执行:当要执行一个任务时,调用者通过一个线程来执行需要执行的任务,在这个任务结束并返回结果之前, 执行任务的线程不可执行其他任务。
异步执行:当要执行一个任务时,调用者通过一个线程来执行需要执行的任务,在这个任务结束并返回结果之前, 执行任务的线程可以去执行其他任务不必等待任务的结束和结果的返回, 当任务执行完毕后, 会通过回调的方式来通知调用者。
CompletableFuture:jdk1.8中新增加的一种便于异步编程的一种方式。
Alibaba Sentinel:阿里巴巴开源的流量控组件。
正如前文所述,客户端的应用实现的功能越来越多,也就需要越来越多的数据来支撑应用功能的实现。
由于不同的数据来自不同的http数据接口,客户端需要从多个不同的http数据接口获得数据,因此,客户端需要向多个不同的http数据接口分别发送http数据接口请求,以获得数据。然而,客户端发出多个http数据接口请求后,得到响应的时延、顺序不同,会导致客户端的应用闪退等问题,使用客户端的应用的用户体验差。
有鉴于此,本申请实施例提供一种数据接口请求处理系统,包括:客户端和服务器;客户端用于响应于用户操作向服务器发送包含多个请求参数的第一请求;所述服务器用于接收所述第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。客户端发出一个包含多个请求参数的http数据接口请求,服务器根据多个请求参数分别向多个http数据接口发送请求,就获取多个http接口数据,提升用户体验。
为了便于理解,下面先对本申请实施例提供的数据接口请求处理系统架构进行介绍。
参见图1,图1为本申请实施例提供的数据接口请求处理系统结构图。如图1所示,数据接口请求处理系统包括:客户端110和服务器120。
客户端110用于响应于用户操作向服务器发送包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数。
客户端110需要调用多个接口的数据来支撑客户端应用的功能,多个请求参数分别对应需要调用的多个http数据接口需要的请求参数。第一请求即http请求,包含多个请求参数。只需要发送一次请求即可获取多个http数据接口的请求数据。
服务器120用于接收第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
本申请提供的一种数据接口请求处理系统,客户端发出一个包含多个请求参数的http数据接口请求,服务器根据多个请求参数分别获取多个http接口的数据,并将所有的接口的数据一起发给客户端,客户端在获取多个接口的数据时不存时延不同的情况,提升了用户体验,高效的管理需要聚合的http数据接口,增加灵活性和可维护性,并且节省了服务线程资源。
在一个示例中,服务器采用Spring-Webflux非阻塞模式接收客户端发来的第一请求。在处理前一个第一请求的过程中,无需等待前一个请求处理完成,即可以接收下一个第一请求。
在一些实施例中,服务器120包括:请求分发处理器121、多个控制器和业务处理器123。
请求分发处理器121用于接收第一请求,根据第一请求包含的路由信息,将第一请求发送给目标控制器122。
客户端发送的http请求中包含路由信息url,根据路由信息url找对应的目标控制器122。
目标控制器122用于将多个请求参数和目标控制器122对应的标准数据结构发送给业务处理器123。每一个控制器里都定义了一个标准数据结构GraphQL Schema。
在一个示例中,客户端需要获取雇员信息和公司信息,发送的http请求中包含的请求参数为employeeId、companyId,目标控制器对应的标准数据结构Graphql Schema如下:
query(
$employeeId: String!
$companyId: Int!
$needCompanyInfo: Boolean!
) {
getEmployeeInfo: getEmployeeInfo(
employeeId: $employeeId
)
getCompanyInfo: getCompanyInfo(
companyId: $companyId,
) @include(if: $needCompanyInfo)
}
本次为需要一次性获取雇员信息和公司信息的一次请求,且是否需要获取公司信息是根据needCompanyInfo参数动态变化的。数据结构中的getEmployeeInfo:getEmployeeInfo,冒号之前的部分表示对于获取信息取的别名,冒号之后的部分对应的数据结构为:
extend type Query {
getEmployeeInfo(
employeeId: String!
): JSON
}
getCompanyInfo:getCompanyInfo,冒号之前的部分表示对于获取信息取的别名,冒号之后的部分对应的数据结构为:
extend type Query {
getCompanyInfo(
companyId: Int!
): JSON
}
@include表示该部分数据结构是否包含取决于needCompanyInfo的条件。
业务处理器123解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一些实施例中,具体校验方式为:校验目标请求参数的类型和名称与多个请求参数的类型和名称是否一致,例如,目标请求参数的类型和名称为employeeId: String,校验接收到的请求参数名称是否为employeeId,类型是否为String。
在一些实施例中,业务处理器123包括:异步执行器1231和多个数据接口调用单元。
在一个示例中,异步执行器1231采用DgsFramework中的异步执行器实现。
异步执行器1231解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元(例如,数据接口3的调用单元1233)发送对应的请求参数。
在一个示例中,异步执行器1231通过GraphQLClient解析标准数据结构GraphqlSchema,确定对应的多个http数据接口;根据Graphql Schema中定义的所需要的目标请求参数,和接收到的多个请求参数进行校验。
本申请实施例在http数据接口的参数校验与分发利用GraphQL和dgsFramework,简化了代码逻辑,提高了服务可维护性,做到http数据接口的聚合和高可维护性。
各目标数据接口调用单元用于向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数。
所述异步执行器用于从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器。所述目标控制器还用于将所述第一请求数据发送给所述客户端。
在一些实施例中,服务器还包括:响应处理器;
目标控制器具体用于将第一请求数据通过响应处理器发送给客户端。
在一个示例中,异步执行器通过WebFlux中的ResponseHandler将客户端需要的所有数据返回给客户端。
在一些实施例中,各目标数据接口调用单元具体用于通过WebClient的方式异步向对应的目标数据接口发送第二请求。webclient的响应式非阻塞请求方式, 减少服务线程资源消耗,提高了执行效率,同时避免了因请求阻塞导致的服务宕机,用有限的资源提高系统的吞吐量和伸缩性。
在一个示例中,在执行请求http数据接口时利用Sentinel的熔断机制,保证聚合服务不会因个别数据接口延迟或异常导致服务宕机,提升了整体的高可用性。
参见图2,图2为本申请实施例提供的应用数据接口请求处理系统获取请求数据的过程示意图,如图2所示,客户端110发送包含多个请求参数的第一请求。服务器120的请求分发处理器121接收第一请求,根据第一请求包含的url找到对应的目标控制器122,将第一请求发给目标控制器122,目标控制器122将多个请求参数和对应的标准数据结构发送给业务处理器123,业务处理器的异步执行器1231解析标准数据结构,对多个请求参数进行校验,校验通过后,将各请求参数(请求参数1、2、3)发送给对应的目标数据接口调用单元(数据接口1、2、3调用单元),目标数据接口调用单元利用WebClient向对应的目标数据接口(数据接口1、2、3)发送第二请求(第二请求1、2、3),此处发送第二请求的操作是并行的,以获取第二请求数据(请求数据1、请求数据2、请求数据3),发送给异步执行器1231,异步执行器1231获取所有需要的请求数据1、2、3后,将所有请求数据(即第一请求数据)一起返回给目标控制器122,目标控制器122将所有请求数据通过响应处理器124返回给客户端。
本申请实施例从客户端请求的接收,到将客户端所需要的数据全部返回给客户端的整体流程中全部采用的是异步执行的方式,减少了服务线程资源的消耗,提升了服务的并发能力。
参考图3,图3为本申请实施例用的一种数据接口请求处理方法流程图。如图3所示,该方法包括:
S310、客户端响应于用户操作向服务器发送包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数。
S320、服务器接收客户端响应于用户操作发送的包含多个请求参数的第一请求,根据所述第一请求对应的标准数据结构,调用多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一些实施例中,服务器包括:请求分发处理器、多个控制器和业务处理器;
所述方法包括:
所述请求分发处理器接收所述第一数据接口请求,根据所述第一数据接口请求包含的路由信息,将所述第一数据接口的请求发送给目标控制器;
所述目标控制器将所述多个请求参数和目标控制器对应的标准数据结构发送给业务处理器;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
在一些实施例中,业务处理器包括:异步执行器和多个数据接口调用单元;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端,包括:
所述异步执行器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数;
各目标数据接口调用单元向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数;
所述异步执行器从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器;
所述目标控制器将所述第一请求数据发送给所述客户端。
在一些实施例中,服务器还包括:响应处理器;
目标控制器具体用于将第一请求数据通过响应处理器发送给客户端。
在一些实施例中,各目标数据接口调用单元具体用于以WebClient的方式异步向对应的目标数据接口发送包含对应请求参数的第二请求。
参见图4,图4为本申请实施例提供的另一种数据接口请求处理方法流程图,如图4所示,客户端发送包含多个请求参数的第一请求(即第一http请求)。服务器的请求分发处理器接收第一请求,根据第一请求包含的url找到对应的目标控制器,将第一请求发给目标控制器,目标控制器将多个请求参数和对应的标准数据结构发送给业务处理器,业务处理器的异步执行器解析标准数据结构,对多个请求参数进行校验,校验通过后,将各请求参数发送给对应的目标数据接口调用单元(数据接口1、2、3调用单元),目标数据接口调用单元利用WebClient向对应的目标数据接口(http数据接口1、2、3)发送第二请求(即第二http请求),此处发送第二请求的操作是并行的,以获取第二请求数据(请求数据1、请求数据2、请求数据3),发送给异步执行器,异步执行器获取所有需要的请求数据1、2、3后,将所有请求数据(即第一请求数据)一起返回给目标控制器,目标控制器将所有请求数据返回给客户端。
需要注意,可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参见图5,其示出了适于用来实现本公开实施例的电子设备700的结构示意图,该电子设备用于实现如图1所示的请求处理系统对应的功能。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
需要注意,本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要说明的是,尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种数据接口请求处理系统,其特征在于,包括:
客户端和服务器;
所述客户端用于响应于用户操作向所述服务器发送包含多个请求参数的第一请求;每个请求参数为获取对应的目标数据接口的数据所需要参数;
所述服务器用于接收所述第一请求,根据所述第一请求对应的标准数据结构,确定多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
2.根据权利要求1所述的系统,其特征在于,所述服务器包括:请求分发处理器、多个控制器和业务处理器;
所述请求分发处理器用于接收所述第一请求,根据所述第一请求包含的路由信息,将所述第一请求发送给目标控制器;
所述目标控制器用于将所述多个请求参数和目标控制器对应的标准数据结构发送给业务处理器;
所述业务处理器用于解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
3.根据权利要求2所述的系统,其特征在于,所述业务处理器包括:异步执行器和多个数据接口调用单元;
所述异步执行器用于解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数;
各目标数据接口调用单元用于向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数;
所述异步执行器用于从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器;
所述目标控制器还用于将所述第一请求数据发送给所述客户端。
4.根据权利要求3所述的系统,其特征在于,所述服务器还包括:响应处理器;
所述目标控制器具体用于将所述第一请求数据通过所述响应处理器发送给所述客户端。
5.根据权利要求3所述的系统,其特征在于,各目标数据接口调用单元具体用于通过WebClient的方式向对应的目标数据接口发送第二请求。
6.根据权利要求3所述的系统,其特征在于,异步执行器具体用于:
解析所述标准数据结构,获得多个目标请求参数、多个目标数据接口,若接收到的各请求参数的类型和名称与对应的目标请求参数的类型和名称一致,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数。
7.一种数据接口请求处理方法,应用于服务器,其特征在于,接收客户端响应于用户操作发送的包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数;根据所述第一请求对应的标准数据结构,确定多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
8.根据权利要求7所述的方法,其特征在于,所述服务器包括:请求分发处理器、多个控制器和业务处理器;
所述方法包括:
所述请求分发处理器接收所述第一数据接口请求,根据所述第一数据接口请求包含的路由信息,将所述第一数据接口的请求发送给目标控制器;
所述目标控制器将所述多个请求参数和目标控制器对应的标准数据结构发送给业务处理器;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
9.根据权利要求8所述的方法,其特征在于,所述业务处理器包括:异步执行器和多个数据接口调用单元;
所述业务处理器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据所述目标请求参数对接收的多个请求参数进行校验;若校验通过,则调用多个目标数据接口,获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端,包括:
所述异步执行器解析所述标准数据结构获得多个目标请求参数、多个目标数据接口,根据多个目标请求参数对接收到的多个请求参数进行校验;若校验通过,则向各目标数据接口对应的各目标数据接口调用单元发送对应的请求参数;
各目标数据接口调用单元向对应的目标数据接口发送第二请求,以获取来自对应的目标数据接口的第二请求数据;所述第二请求包含目标数据接口对应的请求参数;
所述异步执行器从各数据接口调用单元获取第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述目标控制器;
所述目标控制器将所述第一请求数据发送给所述客户端。
10.一种数据接口请求处理方法,应用于客户端,其特征在于,响应于用户操作向服务器发送包含多个请求参数的第一请求,每个请求参数为获取对应的目标数据接口的数据所需要参数;以使得所述服务器接收所述第一请求,根据所述第一请求对应的标准数据结构,确定多个目标数据接口,根据目标数据接口对应的请求参数获取各目标数据接口的第二请求数据,将包含多个第二请求数据的第一请求数据发送给所述客户端。
11.一种数据接口请求处理设备,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求7-10任一项所述的数据接口请求处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求7-10任一项所述的数据接口请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210795133.7A CN114885026A (zh) | 2022-07-07 | 2022-07-07 | 一种数据接口请求处理系统、方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210795133.7A CN114885026A (zh) | 2022-07-07 | 2022-07-07 | 一种数据接口请求处理系统、方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114885026A true CN114885026A (zh) | 2022-08-09 |
Family
ID=82683326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210795133.7A Pending CN114885026A (zh) | 2022-07-07 | 2022-07-07 | 一种数据接口请求处理系统、方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114885026A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737022A (zh) * | 2019-09-30 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种基于微服务的接口调用方法、系统、设备及介质 |
CN111930534A (zh) * | 2020-07-29 | 2020-11-13 | 北京字节跳动网络技术有限公司 | 数据调用方法、装置和电子设备 |
CN112148783A (zh) * | 2020-09-28 | 2020-12-29 | 微医云(杭州)控股有限公司 | 一种数据交换方法、装置及设备 |
CN113641354A (zh) * | 2021-08-03 | 2021-11-12 | 挂号网(杭州)科技有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
CN114598750A (zh) * | 2022-01-14 | 2022-06-07 | 浙江吉利控股集团有限公司 | 一种数据请求处理方法、装置及存储介质 |
-
2022
- 2022-07-07 CN CN202210795133.7A patent/CN114885026A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737022A (zh) * | 2019-09-30 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种基于微服务的接口调用方法、系统、设备及介质 |
CN111930534A (zh) * | 2020-07-29 | 2020-11-13 | 北京字节跳动网络技术有限公司 | 数据调用方法、装置和电子设备 |
CN112148783A (zh) * | 2020-09-28 | 2020-12-29 | 微医云(杭州)控股有限公司 | 一种数据交换方法、装置及设备 |
CN113641354A (zh) * | 2021-08-03 | 2021-11-12 | 挂号网(杭州)科技有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
CN114598750A (zh) * | 2022-01-14 | 2022-06-07 | 浙江吉利控股集团有限公司 | 一种数据请求处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188380B2 (en) | Method and apparatus for processing task in smart device | |
CN107277153B (zh) | 用于提供语音服务的方法、装置和服务器 | |
CN111581291A (zh) | 数据处理方法、装置、电子设备及可读介质 | |
US11360737B2 (en) | Method and apparatus for providing speech service | |
CN111737270A (zh) | 数据处理方法及其系统、计算机系统和计算机可读介质 | |
CN111679990B (zh) | 测试数据生成方法、装置、可读介质及电子设备 | |
CN110737655B (zh) | 用于上报数据的方法和装置 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN110968433A (zh) | 信息处理方法、系统和电子设备 | |
CN115996179A (zh) | 业务节点的测试方法、装置、可读介质和电子设备 | |
CN113535419A (zh) | 一种服务编排方法和装置 | |
CN114885026A (zh) | 一种数据接口请求处理系统、方法、设备和存储介质 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN113407229B (zh) | 用于生成离线脚本的方法及装置 | |
CN109840073B (zh) | 业务流程的实现方法和装置 | |
CN112579447A (zh) | 一种浏览器测试方法和装置 | |
CN111831530A (zh) | 测试方法和装置 | |
CN113722115A (zh) | 调用接口的方法、装置、设备和计算机可读介质 | |
CN114202046B (zh) | 基于sap系统生成二维码的方法、装置、设备及介质 | |
CN111324386A (zh) | 分身应用程序的启动方法、装置、电子设备及存储介质 | |
CN112613255B (zh) | 多环境协同回归方法、装置、设备、存储介质 | |
CN111831531B (zh) | 测试方法和装置 | |
US20240152504A1 (en) | Data interaction method, apparatus, and electronic device | |
CN115705193A (zh) | 分布式编译方法、装置、设备及介质 | |
CN115145706A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220809 |