一种基于多个接口混合调用数据的方法及其系统技术方案

技术编号:20545864 阅读:38 留言:0更新日期:2019-03-09 18:47
本发明专利技术涉及一种基于多个接口混合调用数据的方法及其系统,其中该方法包括以下步骤:用户根据具体的业务逻辑设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请、Swoole同步接口请求和Swoole异步接口请求;当用户发起数据请求时,服务端根据设置好的多种数据请求类型分别获取相应地数据,并返回给用户。本发明专利技术通过本地、远程、异步以及混合调用数据方式,可以保证每次接口调用都在使用最优的调用方式,以达到运行效率最大化。

A Method and System for Mixed Data Call Based on Multiple Interfaces

The present invention relates to a method and system for mixed invocation of data based on multiple interfaces. The method comprises the following steps: users set up multiple data request types according to specific business logic, the data request types include local data request, remote data request, Swoole synchronous interface request and Swoole asynchronous interface request; when a user initiates a data request, the server side The corresponding data is retrieved and returned to the user according to the different types of data requests. By using local, remote, asynchronous and mixed data invocation mode, the invention can ensure that the optimal invocation mode is used in each interface invocation to maximize the operation efficiency.

【技术实现步骤摘要】
一种基于多个接口混合调用数据的方法及其系统
本专利技术涉及数据调用技术,尤其涉及一种基于多个接口混合调用数据的方法及其系统。
技术介绍
现有技术的数据调用多来实现全站接口调用,如单一的RESTFUL接口调用方案,或者单一的PRC调用方案。上述数据调用方案不能很好的从本地、远程混合使用为用户提供数据。
技术实现思路
本专利技术的目的在于,解决现有技术数据调用时存在的不足,并提供一种基于多个接口混合调用数据的方法及其系统。为实现上述目的,一方面,本专利技术提供了一种基于多个接口混合调用数据的方法,该方法包括以下步骤:用户根据具体的业务逻辑设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求;当用户发起数据请求时,服务端根据设置好的多种数据请求类型分别获取相应地数据,并返回给用户。优选地,当用户在发起数据请求时,如果没有预先设置数据请求类型,服务器将根据业务逻辑自动选择最优的数据调用类型;所述最优的数据调用类型依次为Swoole异步接口请求、本地数据请求、Swoole同步接口请求和远程数据请求。优选地,当用户一次请求的数据需要多处数据源时,则通过混合多种数据请求类型的方式调用数据,以保证每次数据调用都是采用最优的数据请求类型。优选地,所述本地数据调用和远程数据调用是通过MVC框架下服务层获取数据。优选地,所述远程数据调用方式步骤包括:单个进程同时发送多个请求,收到回调数据后再对数据进行统一的处理,然后将处理后的数据发送给客户端并展现给用户。另一方面,本专利技术提供了一种基于多个接口混合调用数据的系统,该系统包括客户端和服务端:用户根据具体的业务逻辑通过客户端设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求;当用户发起数据请求时,服务端根据设置好的多种数据请求类型获取相应地数据,并返回给用户。本专利技术通过本地、远程、异步以及混合调用数据方式,可以保证每次接口调用都在使用最优的调用方式,以达到运行效率最大化。附图说明图1为本专利技术实施例提供的一种基于多个接口混合调用数据的方法流程示意图;图2为图1所示方法的一种应用场景示意图;图3为图1所示方法的另一种应用场景示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为便于对本专利技术实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本专利技术实施例的限定。图1为本专利技术实施例提供的一种基于多个接口混合调用数据的方法流程示意图。如图1所示,该方法包括步骤S101-步骤S102:步骤S101,用户根据具体的业务逻辑设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求。具体地,本专利技术实施例可以同时支持本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求。其中,本地数据请求为,基于MVC框架扩展的一种无远程请求,本地执行数据操作的方式。可以在原有MVC框架的结构中将Model层重新划分为Model和Service层;Service层用来处理业务逻辑,它可以与C层交互,或者作为数据接口直接为用户提供数据,Model层作为数据模型,主要用来进行数据预处理,数据验证等。用户通过调用Service获取服务提供的数据,并不直接使用Model获取数据。这样既可以把Service作为公用模块,也可以让应用层人员专于业务开发,极大提高开发效率。在多项目共用一个API(ApplicationProgrammingInterface,应用程序编程接口)的情况下,如果只有当前项目独有的需求,就可以使用本地调用代替远程调用来为用户提供数据,来降低API服务器的并发压力,因为远程调用多为并发的。远程数据请求为,基于Yar框架做的一种支持并行请求的RPC远程调用解决方案。当本项目调用其他项目的数据时,由其他项目提供接口供本项目调用获取数据。普通的远程调用,多为一个进程,一个请求,如果有多个请求则进行串行处理。本专利技术实施例使用回调的方式实现并行请求,单个进程可同时发起多个请求,收到回调后再对数据进行统一的处理,然后将处理后的数据发送回客户端展现给用户。Swoole同步接口请求调用和Swoole异步接口请求调用,为用TCP或UDP协议实现的可异步操作的一种调用方式。接口调用中,有时候需要进行一些比较耗时却又不需要等待返回结果的操作,此时可以使用异步接口请求。通过做一个swoole客户端,并且在远程启动一个swoole服务端程序,swoole接收到用户请求后,直接返回给用户等待提示,同时发送消息到swoole服务端,让服务端处理请求。这样节省用户等待,充分利用机器资源。步骤S102,当用户发起数据请求时,服务端根据设置好的多种数据请求类型分别获取相应地数据,并返回给用户。在一个例子中,请求方式和响应方式为通过以下代码实现://多个接口混合调用$this->service->call([‘requestA’=>[‘Product/Service/List’,[param0,param1],’local],‘requestB’=>[‘Product/Service/List’,[param0,param1],’remote’],‘requestC’=>[‘Product/Service/List’,[param0,param1],’async],])如上代码所示,不同数据调用类型之间形成了统一的接口调用方式,而当所有请求返回的时候会统一返回到$this->service该类的回调方法中,该回调方法接收到结果后最终输出结果如下所示:[‘requestA’=>[‘r_code’=>xxx,’r_data’=>xx,’runtime’=>xx,’r_msg’=>xx],‘requestB’=>[‘r_code’=>xxx,’r_data’=>xx,’runtime’=>xx,’r_msg’=>xx],‘requestC’=>[‘r_code’=>xxx,’r_data’=>xx,’runtime’=>xx,’r_msg’=>xx],]。上述过程中本地数据调用与远程数据调用均通过service层获取数据,不同的是本地调用的service是直接在本项目中的,而远程调用是通过网络请求调取远程接口。假如要从一处数据源获取一份数据(如图2所示),用户只要根据具体的业务逻辑选择本地数据调用local,远程数据调用remote或者swoole异步的请求方式,即便以后业务逻辑有改动(比如现在上传图片,但是不在需要知道上传的进度)也不过是改动一下请求的类型,当然如果用户在请求的数据的时候没有指定获取数据的方式本文档来自技高网...

【技术保护点】
1.一种基于多个接口混合调用数据的方法,其特征在于,包括以下步骤:用户根据具体的业务逻辑设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求;当用户发起数据请求时,服务端根据设置好的多种数据请求类型分别获取相应地数据,并返回给用户。

【技术特征摘要】
1.一种基于多个接口混合调用数据的方法,其特征在于,包括以下步骤:用户根据具体的业务逻辑设置多种数据请求类型,所述数据请求类型包括本地数据请求、远程数据请求、Swoole同步接口请求和Swoole异步接口请求;当用户发起数据请求时,服务端根据设置好的多种数据请求类型分别获取相应地数据,并返回给用户。2.根据权利要求1所述的方法,其特征在于,当用户在发起数据请求时,如果没有预先设置数据请求类型,服务器将根据业务逻辑自动选择最优的数据调用类型;所述最优的数据调用类型依次为Swoole异步接口请求、本地数据请求、Swoole同步接口请求和远程数据请。3.根据权利要求1所述的方法,其特征在于,当用户一次请求的数据需要多处数据源时,则通过混合多种数据请求类型的方式调用数据,以保证每次数据调用都是采用最优的数据请求类型。4.根据权利要求1所述的方法,其特征在于,所述本地数据调用和远程数据调用是通过MVC框架下服务层获取数据。5.根据权利要求1所述的方法,其特征在于,所述远程数据调用方式步骤包括:单个进程同时发送多个请求,收到回调数据后再对数据进行统一的处理,然后将处理后的数据发送给客户端并展现给用户。6.一种...

【专利技术属性】
技术研发人员:褚思凡
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1