CN106412009A - 接口调用方法及装置 - Google Patents
接口调用方法及装置 Download PDFInfo
- Publication number
- CN106412009A CN106412009A CN201610750166.4A CN201610750166A CN106412009A CN 106412009 A CN106412009 A CN 106412009A CN 201610750166 A CN201610750166 A CN 201610750166A CN 106412009 A CN106412009 A CN 106412009A
- Authority
- CN
- China
- Prior art keywords
- calling
- mode
- interface
- default
- interface interchange
- 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
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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种接口调用方法和系统,所述方法接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;使用所述预设接口调用方式获取所述网站应用数据。本发明中无论网站应用的场景如何,都可以使用与场景最为适应的接口调用方式,并且,由于接口调用请求使用的指令格式是统一的格式,因此,在后期维护和网站前期开发时,可以统一的管理接口调用方式所对应的代码,因此也也降低了研发人员的工作强度,进而提高了工作效率。
Description
技术领域
本发明涉及互联网领域,更具体的说,是涉及一种接口调用方法及装置。
背景技术
近些年来,随着互联网的不断发展,互联网中的内容越来越丰富,人们在日常生活中,经常通过各种网站上的应用来获取新闻资讯或者进行网购等活动。
网站应用通常是网站服务器通过接口调用相关数据后来实现相关功能的,因此,如果要保障网站应用可以高效、稳定的运行,则需要将网站服务器中对接口调用方法进行合理的设计。
在现有技术中,大多数只考虑网站应用在单一场景下的接口调用方式,例如,只使用远程调用方式。
但是,发明人在研究中发现,这种单一的接口调用方式在网站应用的场景较复杂时,如需要调用不需要返回值的数据时,这种单一的接口调用方式会极大的占用网站服务器的资源,从而使得用户在使用网站应用时会感觉有卡顿的情况。并且,如果现有技术中增加另一种接口调用方式,还需要重新编写对应的代码,使得研发人员在前期开发和后期维护时并无法对接口调用方式做到统一的管理,使得研发和维护时的工作效率无法保证。
发明内容
有鉴于此,本发明提供了一种接口调用方法及装置,以便于在网站应用处于多种场景时,网站服务器可以根据不同的环境来使用对应的接口调用方式,提高网站服务器调用应用数据时的工作效率,进而提高用户的体验,同时可以统一管理接口调用方式,进而提高工作效率。
为实现上述目的,本发明提供如下技术方案:
本发明提供了一种接口调用方法,包括:
接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
使用所述预设接口调用方式获取所述网站应用数据。
优选的,在所述标识中包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,所述按照调用顺序依次选择预设调用方式具体包括:
选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
如果所述swoole异步调用方式不可用,则选择本地调用方式,并判断所述本地调用方式是否可用;
如果本地调用方式不可用,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
如果所述swoole同步调用方式不可用,则选择远程调用方式。
优选的,还包括:
监测所述应用数据的过程中是否存在异常;
如果是,将所述异常结果记录到异常日志中。
本发明另一方面提供了一种接口调用系统,包括:
接收模块,用于接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
处理模块,用于使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
获取模块,用于使用所述预设接口调用方式获取所述网站应用数据。
优选的,在所述标识中包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第一转换单元,用于从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
第一处理单元,用于使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
第一执行单元,用于将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第二转换单元,用于从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
第二处理单元,用于使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
第二执行单元,用于将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,所述第二处理单元包括:
第一选择子单元,用于选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
第二选择子单元,用于当第一选择子单元的结果为不可用时,则选择本地调用方式,并判断所述本地调用方式是否可用;
第三选择子单元,用于当第二选择子单元的结果为不可用时,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
第四选择子单元,用于当第三选择子单元的结果为不可用时,则选择远程调用方式。
优选的,其特征在于,还包括:
检测模块,用于监测所述应用数据的过程中是否存在异常;
记录模块,用于当检测模块的结果为是时,将所述异常结果记录到异常日志中。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种接口调用方法和系统,所述方法接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时指令格式和指令参数均统一的指令格式;使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;使用所述预设接口调用方式获取所述网站应用数据。可以看出,由于本发明的技术方案中,可以通过接口调用请求中的接口调用方式的标识来获取与之对应的预设接口调用方式,因此,无论网站应用的场景如何,都可以使用与场景最为适应的接口调用方式,从而使得网站服务器无论在哪种环境中,获取网站应用数据都不会过度占用资源,达到网站服务器资源使用效率最大化的效果,进而在用户使用网站应用时,提高用户的体验,同时,由于接口调用请求使用的指令格式是统一的格式,因此,在后期维护和网站前期开发时,可以统一的管理接口调用方式所对应的代码,因此也也降低了研发人员的工作强度,进而提高了工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例公开的一种接口调用方法的流程示意图;
图2是本发明实施例公开的一种接口调用方法的另一种流程示意图;
图3是本发明实施例公开的一种接口调用装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明的具体实施方式之前,对本发明中所公开的技术术语进行一下简单的解释。
Swoole:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步数据库MySQL,数据库连接池,异步任务AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
异步调用:一个可以无需等待被调用函数的返回值就让操作继续进行的方法
Yar:Yar是一个轻量级的,支持多种打包协议(msgpack,json,php),可并行化的RPC框架。
MVC,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
图1是本发明实施例公开的一种接口调用方法的流程示意图。
参见图1,本发明公开的一种接口调用方法包括:
S101、接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
需要说明的是,本发明的技术实现的前提是预先对MVC架构进行了技术上的改进,技术方案的实现也基于MVC架构。本发明中,将MVC中的Model模型层进行了改进,在原有MVC结构中将Model层在细分为Model层和Service层,其中,Service层用来处理业务逻辑,与Control控制层直接交互,或作为网站应用为其它客户端所提供的数据接口,而Model层中主要包含有数据模型,主要用来进行数据验证,数据预处理,及数据操作完成后与数据模型关联的其他操作。本发明实施例中,根据预先建立的MVC架构封装了一种指令格式,在表征任意一种接口调用方式时,代码在形式上相统一。
本发明实施例中,网站应用数据是指网站应用所需要读取的数据。接口调用请求中包括用于识别接口调用方式的标识。
其中,所述预设格式为根据预先建立的MVC架构所设置的指令格式,采用预设格式的接口调用请求与现有技术中接口调用请求所使用的指令格式不同,现有的接口调用请求中,不同种类的调用请求包含有多个不同的参数,代码的形式也不相同,而本发明中的预设格式是无论需要使用何种接口调用方式,均使用相同的参数的指令,多个特定标准格式的接口调用请求的不同之处仅在于其中所包含的接口调用方式的标识不同,具体的参数值不同,而任意一种接口调用的代码在形式上都是一致的。
需要说明的是,接口调用方式的标识可以是由网站开发人员根据网站应用所预先设计的标识,用来指示此网站应用对应的数据采用何种接口调用方式进行获取。当需要变更调用方式时,仅需要改动几个字母,就可以改变相应的接口调用方式,提高研发人员在研发和维护时的工作效率。当然,此标识也可以为空值。关于此如何根据标识进行数据处理的方式在后面进行详细介绍。
S102、使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
在本发明实施例中,会将预设格式的接口调用请求转换成预设接口调用方式。由于本发明中的预设格式是本发明所特定的指令格式,而这种指令格式与客户端所提供的接口调用规则不一致,因此,需要将本发明中的接口调用请求转换成与其调用接口的调用规则相一致的形式。
S103、使用所述预设接口调用方式获取所述网站应用数据。
在得到所述预设接口调用方式后,使用预设接口调用方式获取网站应用数据。
当然,获取到对应的网站应用数据后,还有对此数据进行后续处理的过程,比如将其展现到用户界面等,这些属于现有技术中的一部分,因此,在此处不再赘述。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种接口调用方法,所述方法接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所设置的在表征任意一种接口调用方式时格式和参数均统一的指令格式;使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;使用所述预设接口调用方式获取所述网站应用数据。可以看出,由于本发明的技术方案中,可以通过接口调用请求中的接口调用方式的标识来获取与之对应的预设接口调用方式,因此,无论网站应用的场景如何,都可以使用与场景最为适应的接口调用方式,从而使得网站服务器无论在哪种环境中,获取网站应用数据都不会过度占用资源,达到网站服务器资源使用效率最大化的效果,进而在用户使用网站应用时,提高用户的体验,并且,由于接口调用请求使用的指令格式是统一的格式,因此,在后期维护和网站前期开发时,可以统一的管理接口调用方式所对应的代码,因此也也降低了研发人员的工作强度,进而提高了工作效率。
图2是本发明实施例公开的一种接口调用方法的另一种流程示意图。
参见图2,本发明公开的一种接口调用方法包括:
S201、接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所设置的在表征任意一种接口调用方式时格式和参数均统一的指令格式;
其中,步骤S201与步骤S101相同,在此不再赘述。
S202、在所述标识中包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
本发明实施例中,预先设置有调度类,调度类中包含有:
1、call方法,所有远程或本地请求,统一将请求参数传入该方法,该方法自动根据不同的请求参数进行组装和分发。
2、callback方法,远程请求的回调方法,local请求也会被分发到该方法中执行。
3、封装的其他请求方式对应的方法,如swoole、curl。
其位置在需要进行远程调用的客户端项目中。所述调度类中预先设置了多种接口调用方式,在接收到使用特定标准格式发送过来的接口调用请求后,在预先设置的调度类中,查找与接口调用请求中的标识所对应的预设接口调用方式,目的是根据网站应用所在的不同环境来找到最适合的接口调用方式。
在本发明实施例中,将接口调用请求中转换成预设接口调用方式,具体的说,先判断标识中是否包含有多种预设调用方式之一,由于接口请求大多是预先由开发人员根据实际应用的场景进行的设置,因此,通常会指定出来接口调用的具体方式。
本发明中,标识可以包括有远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。当然,还可以包括有其它的接口调用方式,只要在调度类中有对应的数据即可。
如果包含有多种接口调用方式中的一种,则从调度类中查找与预设调用方式对应的转换方法。由于本发明中将接口调用请求进行了重新封装,是使用预设格式的接口调用请求,而新封装的接口调用请求有时候并无法兼容现有技术中所提供的接口调用方式,因此,需要对其进行转换的操作,以便于可以通过其它客户端提供的接口来获取数据。
之后使用预设的方法将预设格式的接口调用请求进行转换,将其中的第一参数转换成对应的预设调用方式中的第二参数,然后将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式。
需要说明的是,本发明中网站服务器中还预先将其它客户端的部分接口数据预先进行了存储,在将模型层改进的基础上,用户调用客户端接口时,可以使用和远程调用一样的方式来调用Service获取数据,并不直接使用Model获取数据。这样即可以使本地Service多模块公用,又可以使应用层开发人员专注业务开发,其他人同步进行Service开发,极大提高开发效率。在多项目共用一个Api接口的情况下,只有本项目需要的需求,就可以使用本地调用来代替远程请求,减轻Api接口服务器并发压力。
其中,远程调用方式具体为基于Yar封装的一种支持并行RPC调用的远程请求解决方案。本发明中,使用回调的方式实现并行请求,一个进程同时发出多个请求,经过统一的数据输出处理后,将数据输出到客户端,极大地减少了接口调用时间,提升了接口调用效率。
其中,Swoole同步调用方式和Swool异步调用方式是使用TCP或UDP协议实现可异步操作的一种调用方式。在接口调用请求中,很多时候需要进行一些比较耗时,而又不需要等待返回结果的操作,此时,异步接口请求就派上了用场。在本发明中,封装了一个Swoole客户端,并在本地也就是网站服务器或远程也就是其它客户端启动了一个Swoole服务端程序,Swoole客户端接收到接口调用请求后,直接返回一个用于表示数据处理完成的标识,同时将接口调用请求发送到Swoole服务端,让服务端处理接口请求,这样就节省了等待返回结果的时间,实现了异步调用。
S203、使用所述预设接口调用方式获取所述网站应用数据。
之后,使用预设接口调用方式获取网站应用数据。
其中步骤S202还可以替换为:
在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
本发明实施例中,如果标识为空值,则会按照预设的调用顺序使用接口调用方式,具体转换过程与上述S202中所述的过程一致。
其中,优选的,所述按照调用顺序依次选择预设调用方式具体包括:
选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
如果所述swoole异步调用方式不可用,则选择本地调用方式,并判断所述本地调用方式是否可用;
如果本地调用方式不可用,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
如果所述swoole同步调用方式不可用,则选择远程调用方式。
本发明中,优选的使用swoole异步>本地>swoole同步>远程的方式来选择接口调用方式。
当然,还可以根据网站应用的实际需要,改变成其它顺序。
在上述实施例的基础上,所述方法还可以包括:
使用预设的监听方式监测获取所述应用数据的过程中是否存在异常;
如果是,将所述异常结果记录到异常日志中。
本发明实施例中,还包括有对接口调用方式的调用过程监听的过程,由于本发明中的使用的预设格式为形式上相统一的指令格式,因此,当在接口调用的过程中出现的异常,如果出现异常会有返回结果,而本发明中的异常返回结果与正常的结果相比较仅仅有code和trace不同。
并且,会将异常结果记录到对应的异常日志中,便于后期的分析和查询。
通过上述技术方案可以看出,本发明的一种接口调用方法中可以实现如下效果:本地调用方式、远程调用方式、swoole同步方式、swoole异步方式结合调用,保证了各种业务需求下,接口效率最大化,调用方案最优化。针对多出数据源的请求,可以并行处理,无需等待其他数据返回,可以异步处理,针对无需等待返回结果又较耗时的操作(如日志、消息等),可极大提升性能。Api接口调整、改变调用方式,只需动动手指改几个字母即可实现。无论你使用哪一种方式调用接口,参数都一样,返回结果都一致,异常处理返回方式同正常结果返回仅有code和trace不同。如果你想加入一种新的调用方式,仅需按照本发明中的上述方法封装一个简单的方法,即可无缝对接。
图3是本发明实施例公开的一种接口调用系统的结构示意图。
参见图3,本发明公开的一种接口调用系统包括:
接收模块301,用于接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;;所述预设格式为根据预先建立的MVC架构所设置的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
处理模块302,用于使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
获取模块303,用于使用所述预设接口调用方式获取所述网站应用数据。
需要说明的是,本发明中的接口调用系统与上述接口调用方法相对应,具体实现过程再此处不再赘述。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种接口调用系统,所述系统接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所设置的在表征任意一种接口调用方式时格式和参数均统一的指令格式;使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;使用所述预设接口调用方式获取所述网站应用数据。可以看出,由于本发明的技术方案中,可以通过接口调用请求中的接口调用方式的标识来获取与之对应的预设接口调用方式,因此,无论网站应用的场景如何,都可以使用与场景最为适应的接口调用方式,从而使得网站服务器无论在哪种环境中,获取网站应用数据都不会过度占用资源,达到网站服务器资源使用效率最大化的效果,进而在用户使用网站应用时,提高用户的体验,并且,由于接口调用请求使用的指令格式是统一的格式,因此,在后期维护和网站前期开发时,可以统一的管理接口调用方式所对应的代码,因此也也降低了研发人员的工作强度,进而提高了工作效率。
优选的,在所述标识中包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第一转换单元,用于从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
第一处理单元,用于使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
第一执行单元,用于将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第二转换单元,用于从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
第二处理单元,用于使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
第二执行单元,用于将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
优选的,所述第二处理单元包括:
第一选择子单元,用于选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
第二选择子单元,用于当第一选择子单元的结果为不可用时,则选择本地调用方式,并判断所述本地调用方式是否可用;
第三选择子单元,用于当第二选择子单元的结果为不可用时,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
第四选择子单元,用于当第三选择子单元的结果为不可用时,则选择远程调用方式。
优选的,还包括:
检测模块,用于使用预设的监听方式监测获取所述应用数据的过程中是否存在异常;
记录模块,用于当检测模块的结果为是时,将所述异常结果记录到异常日志中。
需要说明的是,本实施例的接口调用系统可以采用上述方法实施例中的接口调用方法,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
通过上述技术方案可以看出,本发明的一种接口调用系统可以实现如下效果:本地调用方式、远程调用方式、swoole同步方式、swoole异步方式结合调用,保证了各种业务需求下,接口效率最大化,调用方案最优化。针对多出数据源的请求,可以并行处理,无需等待其他数据返回,可以异步处理,针对无需等待返回结果又较耗时的操作(如日志、消息等),可极大提升性能。Api接口调整、改变调用方式,只需动动手指改几个字母即可实现。无论你使用哪一种方式调用接口,参数都一样,返回结果都一致,异常处理返回方式同正常结果返回仅有code和trace不同。如果你想加入一种新的调用方式,仅需按照本发明中的上述方法封装一个简单的方法,即可无缝对接。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种接口调用方法,其特征在于,包括:
接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
使用所述预设接口调用方式获取所述网站应用数据。
2.根据权利要求1所述的接口调用方法,其特征在于,在所述标识中包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
3.根据权利要求1所述的接口调用方法,其特征在于,在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式包括:
从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
4.根据权利要求3所述的接口调用方法,其特征在于,所述按照调用顺序依次选择预设调用方式具体包括:
选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
如果所述swoole异步调用方式不可用,则选择本地调用方式,并判断所述本地调用方式是否可用;
如果本地调用方式不可用,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
如果所述swoole同步调用方式不可用,则选择远程调用方式。
5.根据权利要求1至4任意一项所述的接口调用方法,其特征在于,还包括:
监测所述应用数据的过程中是否存在异常;
如果是,将所述异常结果记录到异常日志中。
6.一种接口调用系统,其特征在于,包括:
接收模块,用于接收用于获取网站应用数据的预设格式的接口调用请求,所述接口调用请求中包括用于识别接口调用方式的标识;所述预设格式为根据预先建立的MVC架构所封装的在表征任意一种接口调用方式时代码在形式上相统一的指令格式;
处理模块,用于使用预设的方式将所述预设格式的接口调用请求转换为与所述标识相对应的预设接口调用方式;
获取模块,用于使用所述预设接口调用方式获取所述网站应用数据。
7.根据权利要求6所述的接口调用系统,其特征在于,在所述标识中包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第一转换单元,用于从预先设置的调度类中查找与所述预设调用方式对应的参数转换方法;
第一处理单元,用于使用所述参数转换方法将所述接口调用请求中的第一参数转换成所述预设调用方式中的第二参数;
第一执行单元,用于将含有第二参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
8.根据权利要求6所述的接口调用系统,其特征在于,在所述标识中未包含多种预设调用方式中的至少一种的情况下,所述处理模块包括:
第二转换单元,用于从所述预先设置的调度类中获取预设的调用顺序;
按照调用顺序依次选择预设调用方式并查找与所述预设调用方式对应的参数转换方法;
第二处理单元,用于使用使用所述参数转换方法将所述接口调用请求中的第三参数转换成所述预设调用方式中的第四参数;
第二执行单元,用于将含有第四参数的预设调用方式作为与所述标识对应的预设接口调用方式;
所述预设调用方式包括远程调用方式、本地调用方式、swoole同步调用方式和/或swoole异步调用方式。
9.根据权利要求8所述的接口调用系统,其特征在于,所述第二处理单元包括:
第一选择子单元,用于选择swoole异步调用方式,判断所述swoole异步调用方式是否可用;
第二选择子单元,用于当第一选择子单元的结果为不可用时,则选择本地调用方式,并判断所述本地调用方式是否可用;
第三选择子单元,用于当第二选择子单元的结果为不可用时,则选择swoole同步调用方式,并判断所述swoole同步调用方式是否可用;
第四选择子单元,用于当第三选择子单元的结果为不可用时,则选择远程调用方式。
10.根据权利要求6至9任意一项所述的接口调用系统,其特征在于,还包括:
检测模块,用于监测所述应用数据的过程中是否存在异常;
记录模块,用于当检测模块的结果为是时,将所述异常结果记录到异常日志中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610750166.4A CN106412009A (zh) | 2016-08-29 | 2016-08-29 | 接口调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610750166.4A CN106412009A (zh) | 2016-08-29 | 2016-08-29 | 接口调用方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106412009A true CN106412009A (zh) | 2017-02-15 |
Family
ID=58003763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610750166.4A Pending CN106412009A (zh) | 2016-08-29 | 2016-08-29 | 接口调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106412009A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021461A (zh) * | 2017-12-06 | 2018-05-11 | 福建中金在线信息科技有限公司 | 提升社交圈子数据处理性能的方法及装置 |
CN108347440A (zh) * | 2018-02-07 | 2018-07-31 | 飞天诚信科技股份有限公司 | 一种使scsi设备支持智能卡应用的方法及装置 |
CN109118175A (zh) * | 2018-08-14 | 2019-01-01 | 安徽云才信息技术有限公司 | 基于Phalcon加Swoole体系的薪酬核算系统 |
CN109446261A (zh) * | 2018-10-31 | 2019-03-08 | 北京酷我科技有限公司 | 一种基于多个接口混合调用数据的方法及其系统 |
CN109460306A (zh) * | 2018-10-09 | 2019-03-12 | 航天信息股份有限公司 | 一种业务融合一体化接入方法及系统 |
CN109683878A (zh) * | 2018-12-26 | 2019-04-26 | 苏州浪潮智能软件有限公司 | 一种用于Web系统开发适配器组件的实现方法 |
CN109901936A (zh) * | 2017-12-11 | 2019-06-18 | 航天信息股份有限公司 | 一种应用于分布式系统中的服务协作方法及其装置 |
CN110099122A (zh) * | 2019-05-07 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 用于发送网络请求的方法和装置 |
CN110879756A (zh) * | 2019-10-31 | 2020-03-13 | 深圳市泰洲科技有限公司 | 协作流程异常处理方法、装置、计算机设备及存储介质 |
CN111045833A (zh) * | 2018-10-15 | 2020-04-21 | 北京京东尚科信息技术有限公司 | 接口调用的方法和装置 |
CN111142960A (zh) * | 2018-11-02 | 2020-05-12 | 中国电信股份有限公司 | 接口提供方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717178A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团河南有限公司 | 一种信源数据的调用方法及装置 |
CN104866383A (zh) * | 2015-05-29 | 2015-08-26 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN106101258A (zh) * | 2016-07-08 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种混合云的接口调用方法、装置及系统 |
-
2016
- 2016-08-29 CN CN201610750166.4A patent/CN106412009A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717178A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团河南有限公司 | 一种信源数据的调用方法及装置 |
CN104866383A (zh) * | 2015-05-29 | 2015-08-26 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN106101258A (zh) * | 2016-07-08 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种混合云的接口调用方法、装置及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021461A (zh) * | 2017-12-06 | 2018-05-11 | 福建中金在线信息科技有限公司 | 提升社交圈子数据处理性能的方法及装置 |
CN109901936A (zh) * | 2017-12-11 | 2019-06-18 | 航天信息股份有限公司 | 一种应用于分布式系统中的服务协作方法及其装置 |
CN108347440A (zh) * | 2018-02-07 | 2018-07-31 | 飞天诚信科技股份有限公司 | 一种使scsi设备支持智能卡应用的方法及装置 |
CN108347440B (zh) * | 2018-02-07 | 2020-08-18 | 飞天诚信科技股份有限公司 | 一种使scsi设备支持智能卡应用的方法及装置 |
CN109118175A (zh) * | 2018-08-14 | 2019-01-01 | 安徽云才信息技术有限公司 | 基于Phalcon加Swoole体系的薪酬核算系统 |
CN109460306A (zh) * | 2018-10-09 | 2019-03-12 | 航天信息股份有限公司 | 一种业务融合一体化接入方法及系统 |
CN111045833A (zh) * | 2018-10-15 | 2020-04-21 | 北京京东尚科信息技术有限公司 | 接口调用的方法和装置 |
CN109446261A (zh) * | 2018-10-31 | 2019-03-08 | 北京酷我科技有限公司 | 一种基于多个接口混合调用数据的方法及其系统 |
CN111142960A (zh) * | 2018-11-02 | 2020-05-12 | 中国电信股份有限公司 | 接口提供方法、装置和系统 |
CN111142960B (zh) * | 2018-11-02 | 2023-11-14 | 中国电信股份有限公司 | 接口提供方法、装置和系统 |
CN109683878A (zh) * | 2018-12-26 | 2019-04-26 | 苏州浪潮智能软件有限公司 | 一种用于Web系统开发适配器组件的实现方法 |
CN110099122A (zh) * | 2019-05-07 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 用于发送网络请求的方法和装置 |
CN110879756A (zh) * | 2019-10-31 | 2020-03-13 | 深圳市泰洲科技有限公司 | 协作流程异常处理方法、装置、计算机设备及存储介质 |
CN110879756B (zh) * | 2019-10-31 | 2023-10-17 | 深圳市泰洲科技有限公司 | 协作流程异常处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412009A (zh) | 接口调用方法及装置 | |
US11327932B2 (en) | Autonomous multitenant database cloud service framework | |
CN111027921B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
CN103077024B (zh) | 一种支持SaaS应用流程按需定制与运行的装置及方法 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN106850788A (zh) | 面向多源异构地理信息资源的集成框架及集成方法 | |
CN109547509A (zh) | 一种跨平台部署的方法和系统 | |
WO2019057055A1 (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
US8849947B1 (en) | IT discovery of virtualized environments by scanning VM files and images | |
CN104579792A (zh) | 多适配方式实现多种类型虚拟资源集中管理架构及方法 | |
US20200259710A1 (en) | System and Method for Onboarding IOT Devices | |
CN103780627A (zh) | NativeAPP、WebAPP与类微信APP信息同步系统 | |
CN109522386B (zh) | 一种跨gis平台的空间信息服务生成方法和系统 | |
CN105760498A (zh) | 一种xml数据与关系型数据库匹配的实现方法 | |
CN108667639A (zh) | 一种私有云环境下的资源管理方法及管理服务器 | |
CN106230889B (zh) | 移动应用业务组件资源管理方法及系统 | |
CN101771703A (zh) | 一种资讯服务系统和方法 | |
CN109525590A (zh) | 数据包的传输方法及装置 | |
Das et al. | A geospatial orchestration framework on cloud for processing user queries | |
CN104601378A (zh) | 结合应用性能指标监控数据的虚拟资源弹性调度实现方法 | |
WO2018188607A1 (zh) | 流处理方法及装置 | |
CN106302125B (zh) | 一种对请求信息进行响应的方法、装置及系统 | |
CN105427149A (zh) | 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置 | |
CN113242244A (zh) | 数据传输方法、装置和系统 | |
CN107423117A (zh) | 在云存储系统中虚拟机的创建方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20170215 |