CN104866383A - 一种接口调用方法、装置及终端 - Google Patents
一种接口调用方法、装置及终端 Download PDFInfo
- Publication number
- CN104866383A CN104866383A CN201510289070.8A CN201510289070A CN104866383A CN 104866383 A CN104866383 A CN 104866383A CN 201510289070 A CN201510289070 A CN 201510289070A CN 104866383 A CN104866383 A CN 104866383A
- Authority
- CN
- China
- Prior art keywords
- interface
- parameter
- calling
- request
- call
- 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.)
- Granted
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种接口调用方法及终端,包括:接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数;根据所述接口标识,确定所述目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,可以提高扩展接口的开发效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口调用方法、装置及终端。
背景技术
随着互联网技术的发展,浏览器已成为移动终端上必备的应用软件之一,通过移动终端上的浏览器浏览网页时,浏览器内核对网页语法进行解释并渲染。通常,浏览器内核提供一些标准接口供客户端脚本使用或调用,因此,通过在网页中加载客户端脚本,由浏览器解释执行该客户端脚本,可以实现网页的动态展示效果,增强网页的交互性。例如:实现页面元素的特殊显示效果、响应用户动作、验证表单数据等等。
然而,浏览器内核本身提供的标准接口有限,因此,为满足Web网页的开发需求,开发人员需根据需要开发出更多的扩展接口,以供Web网页的客户端脚本调用。目前,由于开发扩展接口的标准不统一,并没有一种统一来处理客户端脚本调用任意扩展接口的接口调用方法,因此,开发人员在开发扩展接口时,不仅需要针对该扩展接口所提供的功能设计一个接口函数,而且还需要针对该扩展接口设计出客户端脚本调用该接口的处理方法。例如:现有的接口开发方法如图1a所示,开发接口A和接口B时,除开发出接口A的接口函数和接口B的接口函数外,还需针对接口A开发一套脚本调用接口A时的调用方法和针对接口B开发一套脚本调用接口B时的调用方法,导致开发效率低。
发明内容
本发明实施例提供一种接口调用方法、装置及终端,可以提高扩展接口的开发效率。
第一方面,本发明实施例提供一种接口调用方法,包括:
接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;
根据所述接口标识,确定所述目标接口的调用方式;
根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数;
将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;
获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;
基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
在第一方面的第一种可能的实现方式中,所述输出参数的数据类型为预设的第一数据类型;
所述根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数之后,所述方法还包括:
将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型;
所述获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数之后,所述方法还包括:
将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数包括:
若所述调用方式为同步调用,将所述接口参数确定为所述目标接口函数的输入参数中的第一参数;
若所述调用方式为异步调用,将所述接口参数中除预设参数外的其它参数确定为所述目标接口函数的输入参数中的第一参数,所述预设参数用于标识回调函数。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本包括:
若所述调用方式为同步调用,将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;
若所述调用方式为异步调用,确定所述请求标识对应的目标回调函数,并将所述第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给所述客户端脚本。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述接口标识,确定所述目标接口的调用方式之后,所述方法还包括:
若所述调用方式为异步调用,将回调信息保存至回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数;
所述确定所述请求标识对应的目标回调函数,包括:
若所述调用方式为异步调用,根据所述请求标识从所述回调数据库中查询所述请求标识对应的回调信息;
将所述回调信息指定的回调函数确定为目标回调函数。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本之后,所述方法还包括:
删除所述回调数据库中所述请求标识对应的回调信息。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述接口标识,确定所述目标接口的调用方式包括:
根据所述接口标识,从预设的接口数据库中查询所述接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;
将所述接口数据库中该接口标识对应的调用方式确定为所述目标接口的调用方式。
第二方面,本发明实施例提供一种接口调用装置,包括:
接收模块,用于接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;
方式确定模块,用于根据所述接口标识,确定所述目标接口的调用方式;
参数确定模块,用于根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数;
调用模块,用于将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;
获取模块,用于获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;
返回模块,用于基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
在第二方面的第一种可能的实现方式中,所述输出参数的数据类型为预设的第一数据类型,所述装置还包括:
第一转换模块,用于将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型;
第二转换模块,用于将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述参数确定模块具体用于:
若所述调用方式为同步调用,将所述接口参数确定为所述目标接口函数的输入参数中的第一参数;
若所述调用方式为异步调用,将所述接口参数中除预设参数外的其它参数确定为所述目标接口函数的输入参数中的第一参数,所述预设参数用于标识回调函数。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述返回模块包括:
同步返回单元,若所述调用方式为同步调用,将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;
异步返回单元,若所述调用方式为异步调用,确定所述请求标识对应的目标回调函数,并将所述第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给所述客户端脚本。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:
保存模块,用于若所述调用方式为异步调用,将回调信息保存至回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数;
所述同步返回单元具体用于:
若所述调用方式为异步调用,根据所述请求标识从所述回调数据库中查询所述请求标识对应的回调信息;
将所述回调信息指定的回调函数确定为目标回调函数。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括:
删除模块,用于删除所述回调数据库中所述请求标识对应的回调信息。
结合第二方面或第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述方式确定模块具体用于:
根据所述接口标识,从预设的接口数据库中查询所述接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;
将所述接口数据库中该接口标识对应的调用方式确定为所述目标接口的调用方式。
第三方面,本发明实施例提供一种终端,其特征在于,包括如上所述的接口调用装置。
本发明实施例中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定所述目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,可以提高扩展接口的开发效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是现有方法提供的一种接口调用的示意图;
图1是本发明实施例提供的一种接口调用方法的流程示意图;
图1b是图1提供的一种接口调用的示意图;
图2是本发明实施例提供的一种接口调用方法的另一流程示意图;
图3是本发明实施例提供的一种接口调用装置的结构示意图;
图4是本发明实施例提供的一种接口调用装置的另一结构示意图;
图4a是图4提供的其中一种返回模块的结构示意图;
图5是本发明实施例提供的一种接口调用装置的又一结构示意图;
图6是本发明实施例提供的一种终端的结构示意图;
图7是本发明实施例提供的一种接口调用装置的再一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种接口调用方法、装置及终端,下面将结合附图1-附图7对本发明实施例提供的一种接口调用方法、装置及终端分别进行详细介绍。
请参见图1,图1是本发明实施例提供的一种接口调用方法的流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S101:接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一。
在本发明实施例中所描述的方法可以用于终端上的浏览器或类似于浏览器的产品中,所述终端可以是计算机、IPAD、手机等终端,也可以是其它智能设备,具体的,本发明实施例不作任何限制。
通常,为丰富网页的动态展示效果,增强网页与用户的交互性,浏览器向网页提供了大量接口,供网页中加载的客户端脚本调用,浏览器解释、执行该客户端脚本。例如:浏览器接收到客户端脚本的接口调用请求时,根据该接口调用请求携带的信息运行该信息所指定的目标接口对应的接口函数,从而实现相应的功能。因此,浏览器在加载网页的过程中,若网页中的客户端脚本需要调用浏览器提供的扩展接口,则接收接口调用请求。
S102:根据所述接口标识,确定所述目标接口的调用方式。
接口的调用方式包括同步调用和异步调用,其中,同步调用是一种阻塞式调用,调用方要等待被调用方执行完毕后才返回,属于单向调用;异步调用是一种双向调用,类似于消息或事件的处理机制,调用方仅发生操作请求,不等被调用方执行完毕而立即返回,被调用方在执行完毕后主动调用调用方提供的回调函数(callback),将执行结果返回给调用方,因此,异步调用可以提升浏览器执行网页的效率。通常,开发人员开发出扩展接口的接口函数后,会根据扩展接口所实现的功能预先设置该接口的调用方式。例如,假设客户端脚本调用接口A时,无需接口A的返回结果即可执行后续操作,则为提高网页的运行效率,可以将接口A的调用方式设置为异步调用,从而,接口A的接口参数中存在一个表示回调函数的参数,该参数与接口需要实现的具体功能无关,用于返回接口的运行结果。再例如,假设客户端脚本调用接口B时,接口B的返回结果为后续操作的前提,则可以将接口B的调用方式设置为同步调用。
作为一种示例,可以是预设的接口数据库中记录有扩展接口的接口信息,所述接口信息包括接口标识和调用方式,所述接口标识可以是接口函数的接口名称,也可以是与接口名称一一对应的其它标识符,具体的,本发明实施例不作限制;调用方式包括同步调用和异步调用。为方便说明,假设接口标识为接口名称,所提供的扩展接口有3个,则接口数据库的存储形式可以如表1所示,表1是本发明实施例提供一种接口数据库的存储示意。
表1
接口标识 | 调用方式 |
recordHistory | 异步调用 |
downloadUrl | 异步调用 |
playAudio | 同步调用 |
从表1可知,在浏览器所提供的扩展接口中,接口标识分别为“recordHistory”和“downloadUrl”的接口所对应的调用方式为异步调用,接口标识为“playAudio”的接口所对应的调用方式为同步调用。因此,本发明实施例中,可以根据接口调用请求中所携带的接口标识,从接口数据库中查询出所述接口标识对应的目标接口的调用方式。
作为另一种示例,也可以是接口调用请求所携带的接口参数中包含有标识目标接口的调用方式的参数。例如:可以假设接口参数中的第一个参数用来表示目标接口的调用方式,用“1”表示同步调用,用“0”表示异步调用,当然,表示目标接口的调用方式的参数也可以是接口参数中位于其它位置处的参数,表示调用方式的具体数值也可以是其它字符,本发明实施例不作限制。但基于该假设,可以根据接口参数中第一个参数的具体数值确定目标接口的调用方式,若获取到该参数为“1”,则可以确定接口标识对应的目标接口的调用方式为同步调用;若为“0”,则可以确定接口标识对应的目标接口的调用方式为异步调用。值得说明的是,本发明实施例对标定目标接口的调用方式的参数的具体形式不作限制,预先约定好标定规则即可。本发明实施例中,可以根据接口调用请求中所携带的接口参数,确定所述接口标识对应的目标接口的调用方式。为方便后续步骤的说明,本发明实施例以第一种示例为例。
S103:根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数。
由于浏览器在分别处理异步调用和同步调用的接口调用请求时存在差异,异步调用需调用方提供一个标识回调函数的参数,被调用方在执行完毕后通过该回调函数返回目标接口函数的执行结果;同步调用是被调用方在执行完毕后直接返回目标接口函数的执行结果。因此,若调用方式为异步调用,则接口调用请求所携带的接口参数中存在一个标识回调函数(callback)的预设参数,该预设参数由调用方提供,被调用方负责调用该预设参数标识的回调函数。
本发明实施例中,规范化客户端脚本调用接口的方式,例如,表示同步调用和异步调用的脚本可以如代码1所示。
代码1
//同步调用,操作结果通过返回值获得
function syncInterface(arg1,arg2,......);
//异步调用,操作结果通过回调函数callback获得
function asyncInterface(arg1,arg2,......,callback);
//回调函数规范
function asyncCallback(Object);
从代码1可以看出,本发明实施例规范化了脚本调用接口的规范,其中,接口参数(arg1、arg2等)的个数和数据类型根据实际需求设定。在异步调用中,可以将接口参数中的最后一个参数用来表示回调函数的参数,当然,也可以是接口参数中位于其它位置处的参数,具体的,本发明实施例不作限制,预先达成约定即可。异步调用中的回调函数用于将调用结果通知给客户端脚本,其中,回调函数的规范也在代码1中列出,它接受一个输入参数,输入参数的类型可以是脚本支持的通用数据类型,例如:Object对象。
本发明实施例中,若调用方式为同步调用,则根据接口调用请求携带的接口参数,可以直接确定该接口参数为目标接口对应的目标接口函数的输入参数中的第一参数。若调用方式为异步调用,则根据接口调用请求携带的接口参数,确定该接口参数中除预设参数外的其它参数为目标接口对应的目标接口函数的输入参数中的第一参数,其中,预设参数用于标识回调函数,每个预设参数对应一个回调函数。
S104:将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数。
具体实现中,在将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数之前,可以确定所述接口调用请求的请求标识。进一步的,考虑到浏览器在加载网页的过程中,会存在同时处理多项接口调用请求的情况,因此,采用请求标识来标定客户端脚本调用接口的每项接口调用请求,该请求标识与其对应的接口调用请求的所有信息关联,所述信息包括该接口调用请求的接口标识、接口参数、调用结果等,从而,通过请求标识来跟踪每项接口调用请求及调用结果。本发明实施例中,接收到接口调用请求后,确定该接口调用请求的请求标识,其中,请求标识可以是浏览器内核接收到接口调用请求时自动分配的。可知,一个请求标识唯一标定一项接口调用请求,且请求标识与该项接口调用请求所携带的接口标识和接口参数关联。
本发明实施例中,将接口函数的设计方式进行规范化,即每个接口函数接收一个请求标识作为输入参数的其中一个参数,且将该请求标识也作为输出参数的其中一个参数。例如:将请求标识作为接口函数的输入参数的其中一个参数,即输入参数包括请求标识和第一参数;将该请求标识作为接口函数的输出参数的其中一个参数,即输出参数包括请求标识和第二参数,请求标识和第二参数关联。从而,接口函数执行完毕后,获取该接口函数的输出参数,输出参数包括请求标识和第二参数,通过请求标识区分该请求标识关联的第二参数为哪项接口调用请求的调用结果。
具体实现中,将请求标识和第一参数作为目标接口对应的目标接口函数的输入参数,调用该目标接口函数,即运行该目标接口函数。
S105:获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数。
本发明实施例中,接口函数的输出参数包括请求标识和第二参数,其中,第二参数为该接口函数实现接口功能后用来返回给客户端脚本的参数,请求标识用来标识该第二参数为客户端脚本的哪项接口调用请求的调用结果。
具体实现中,目标接口函数运行完毕后,获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数。
S106:基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
作为一种示例,若调用方式为同步调用,由于调用方需等待被调用方返回调用结果后才执行后续操作,因此,将第二参数作为请求标识对应的接口调用请求的调用结果直接返回给调用方,其中,请求标识与该第二参数关联。
作为另一种示例,若调用方式为异步调用,由于调用方无需等待被调用方返回调用结果后即可继续执行后续操作,调用结果通过回调函数返回给调用方。因此,被调用方将第二参数作为回调函数的输入参数,通过调用该回调函数的方式返回请求标识对应的接口调用请求的调用结果给调用方,其中,请求标识与该第二参数关联,回调函数为请求标识对应的接口调用请求所携带的接口参数中标定的预设参数。可以理解的,调用方为客户端脚本,被调用方为浏览器。从而,将接口调用请求的调用结果返回给客户端脚本,完成接口的调用。
为方便说明,可以将本发明方法理解为接口中间层,如图1b所示,图1b是图1提供的一种接口调用的示意图。浏览器在执行网页的过程中,若网页中的客户端脚本需要调用浏览器提供的扩展接口,则接口中间层接收接口调用请求,该接口调用请求中携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,其中,目标接口为浏览器所提供的扩展接口中的任一扩展接口;采用上述方法调用目标接口对应的目标接口函数,并将该目标接口函数的运行结果作为该接口调用请求的的调用结果返回给客户端脚本。从而,通过该接口中间层统一处理接口的调用流程,开发人员在开发扩展接口时,只需针对扩展接口开发出对应的接口函数即可,无需针对每个扩展接口都设计一套该接口的调用方法,降低工作量,提高开发效率。
在本发明实施例描述的接口调用方法中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
请参见图2,图2是本发明实施例提供的一种接口调用方法的另一流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S201:接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数。
S202:根据所述接口标识,确定所述目标接口的调用方式。
具体实现中,根据接口调用请求所要调用的目标接口,确定该目标接口的调用方式,所述调用方式包括同步调用和异步调用。通常,各接口的接口信息预先存储在接口数据库中,所述接口信息包括接口标识和调用方式。当浏览器接收到该接口调用请求时,根据该接口调用请求中携带的接口标识,从接口数据库中查询该接口标识对应的接口信息,接口信息包括接口标识和调用方式;从而,将接口数据库中该接口标识对应的调用方式确定为目标接口的调用方式。当然,目标接口的调用方式也可以是客户端脚本调用该目标接口时,在接口调用请求的接口参数中标定,具体的,本发明实施例不作限制。
但作为一种优选的实施方式,确定目标接口的调用方式可以是根据接口标识,从预设的接口数据库中查询该接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;将从接口数据库中所查询到的该接口标识对应的调用方式确定为所述目标接口的调用方式。
S203:根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数。
本发明实施例中,异步调用需客户端脚本在接口参数中携带一个标识回调函数的参数,为方便描述,将标识回调函数的参数称为预设参数。例如,可以将异步调用的接口参数中的最后一个参数用来存放预设参数,当然,也可以根据预先约定设置预设参数在接口参数中的其它位置,具体的,本发明实施例不作限制。在一种实现方式中,若确定出调用方式为异步调用,获取接口参数中标识回调函数的预设参数,将回调信息保存至预设的回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数,当然,回调信息还可以包括运行该回调函数时所需的环境变量等其它信息,具体的,本发明实施例不作限制。从而,方便后续步骤(例如,步骤S208)返回异步调用的调用结果时,根据调用目标接口函数后返回的输出参数中的请求标识,从该回调数据库中查询该请求标识对应的目标回调函数。
作为一种示例,表示同步调用和异步调用的脚本可以如上述实施例中的代码1所示。可知,同步调用的接口参数均为目标接口对应的目标接口函数所需要的参数,异步接口的接口参数中用来表示回调函数的预设参数(callback)在目标接口对应的目标接口函数中不需要,但在目标接口函数运行完毕后,需要调用该预设参数所表示的回调函数,返回调用结果。本发明实施例中,根据目标接口的调用方式和接口参数来确定目标接口对应的目标接口函数的输入参数中的第一参数。具体实现中,若调用方式为同步调用,将接口调用请求中携带的接口参数确定为目标接口对应的目标接口函数的输入参数中的第一参数;若调用方式为异步调用,将接口调用请求携带的接口参数中除预设参数外的其它参数确定为目标接口函数的输入参数中的第一参数,其中,预设参数用于标识回调函数,每个预设参数对应一个回调函数。
S204:将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型。
由于目前的浏览器大多为多核浏览器,即浏览器中包括两个或两个以上的浏览器内核,现有方法在针对多核浏览器开发扩展接口时,需针对每一种浏览器内核都设计一个与该扩展接口所要实现的功能相同的接口函数,不仅开发成本高,而且由于不同的浏览器内核对接口函数的设计规范不一样,不同的浏览器内核针对相同的接口标识所调用的接口函数不同,导致接口调用流程复杂,从而,调用接口的效率低。
本发明实施例中,将接口函数的设计规范化,不管针对什么样的浏览器内核,均采用相同的规范来设计接口函数。例如,接口函数的设计规范可以如代码2所示,在添加接口函数时,开发人员只需根据该规范来实现相应的功能即可。值得说明的是,代码2仅为示例,本发明并不限于该示例。
//接口函数规范,id表示与接口调用请求对应的请求标识,kv_map保存脚本传入的参数
Value InterfaceFunction(int id,KeyValueMap kv_map);
在该规范中,id为请求标识,用于跟踪该接口调用请求及调用结果;接口函数的第一参数kv_map的数据类型为预设的第二数据类型,所述第二数据类型可以是预先定义的用于接纳任何类型数据的数据结构类型,也可以是编程语言自带的数据库中的通用数据类型,该数据类型可以接收任何数据类型的数据。例如:KeyValueMap类型或Value类型,具体的,本发明实施例不作限制。为方便说明,本发明实施例以第二数据类型为KeyValueMap类型为例,但应当说明的是,并不限制第二数据类型为KeyValueMap类型。其中,KeyValueMap或Value是一种数据类型,该类型像储物箱一样,可以用来保存多种不同类型的数据,例如:整数、浮点数、字符串等等。具体的,KeyValueMap是一种键-值(Key-Value)映射表,该映射表中保存了键(Key)和值(Value)的一一对应关系,键(Key)可以是数字(参数的顺序)或字符串(参数的名称),值(Value)是参数中对应某个键的具体值。
本发明实施例中,将所确定的第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型。即在调用目标接口对应的目标接口函数前需要把脚本传递进来的第一参数进行转换,如将第一参数转换成一个KeyValueMap对象等。
为方便说明,假设客户端脚本欲调用一个添加网页历史记录的接口,且该接口的调用方式为异步调用,则客户端脚本提供的接口规范可以为:functionrecordHistory(url,date,callback),第一个参数表示需要传入网页的网址(url,假定为http:\\www.liebao.cn),第二个参数表示需要传入访问的时间(time,假定为2014-07-2020:00:00),最后一个参数为脚本函数对象,该参数不作为调用接口函数的参数,而用于在接口函数操作成功后通知脚本,因此,步骤S103根据接口参数所确定的第一参数不包括将该参数。将所确定的第一参数进行格式转换后,得到转换后的KeyValueMap类型的第一参数可以如表2所示,表2是本发明实施例提供的一种第二数据类型的示意。
表2
从而,保证不同的浏览器内核接收到客户端脚本的接口调用请求后,均可以通过本步骤将第一参数转换为数据类型相同的参数,对接口函数的输入参数的数据类型实现了统一,因此,开发人员针对多核浏览器开发一套接口时只需设计一个接口函数。
S205:将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数。
具体实现中,在将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数之前,可以确定所述接口调用请求的请求标识。考虑到浏览器在加载网页的过程中,会存在同时处理多项接口调用请求的情况,因此,采用请求标识来标定客户端脚本调用接口的每项接口调用请求,该请求标识与其对应的接口调用请求的所有信息关联,所述信息包括该接口调用请求的接口标识、接口参数、调用结果等,从而,通过请求标识来跟踪每项接口调用请求及调用结果。本发明实施例中,接收到接口调用请求后,确定该接口调用请求的请求标识,其中,请求标识可以是浏览器内核接收到接口调用请求时自动分配的。可知,一个请求标识唯一标定一项接口调用请求,且请求标识与该项接口调用请求所携带的接口标识和接口参数关联。
通常,开发人员开发出一套扩展接口后,将该接口的相关信息保存在预设的接口数据库中,其中,接口的相关信息包括接口标识和接口函数,所述接口标识可以是接口名称。若开发人员已提供了接口调用请求所指定的目标接口,则由接口调用请求中携带的接口标识可以在预设的信息库中查找到一个唯一的与该接口标识匹配的接口函数。本发明实施例中,根据接口调用请求中携带的接口标识,查询接口数据库中是否存在与所述接口标识匹配的接口函数。若存在,说明浏览器提供该接口标识所指定的目标接口,根据接口调用请求对应的请求标识和转换后的第一参数运行所查找到的目标接口函数;若不存在,说明浏览器不提供该目标接口,则返回预设的错误信息。
若查询到接口数据库中存在与接口标识匹配的目标接口函数,则将请求标识和步骤S204中转换后的第一参数作为所查找到的目标接口函数的输入参数,调用该目标接口函数。换句话说,将请求标识和转换后的第一参数代入所查找到的目标接口函数中,运行或执行所查找到的目标接口函数。从而,针对不同的浏览器内核,采用本发明实施例后,可以采用统一的规范调用接口函数,不同的浏览器内核调用接口的方式相同,调用接口的效率高,网页的执行效率也得到提高。
S206:获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数,所述输出参数的数据类型为预设的第一数据类型。
调用目标接口对应的目标接口函数后,获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数,所述输出参数的数据类型为预设的第一数据类型,其中,第二参数用来表示目标接口函数的运行结果。具体实现中,所述第一数据类型可以是预先定义的用于接纳任何类型数据的数据类型,也可以是编程语言自带的数据库中的通用数据类型,该数据类型可以接收任何数据类型的数据。例如:KeyValueMap类型或Value类型,具体的,本发明实施例不作限制。为方便说明,代码2或本发明实施例中以第一数据类型为Value类型为例,但本发明实施例并不限制第一数据类型为Value类型。从而,开发人员针对不同的浏览器内核开发扩展接口时,只需根据规范设计一个接口函数,无需针对不同的浏览器内核分别设计一个接口函数,且无需设计该接口函数对应的接口的调用方法,不仅可以减少开发成本,而且提高开发效率。
值得说明的是,在具体实现中,也可以是第二参数的数据类型为预设的第一数据类型,接口函数的输出参数的数据类型为结构体,该结构体包括请求标识和第二参数。例如,以第一数据类型为Value类型为例,结构体的规范可以如代码3所示。
代码3
struct InterfaceResult
{
Value val;
int id;
};
S207:将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
作为一种优选的实施方式,将所获取到的调用目标接口函数后返回的输出参数中的第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。其中,第三数据类型可以是预先定义的用于接纳任何类型数据的数据结构类型,也可以是客户端脚本语言中的通用数据类型,例如,Object对象,具体的,本发明实施例不作限制。从而,对返回给客户端脚本的调用结果进行规范化处理,提高脚本的执行效率。值得说明的是,也可以不针对第二参数进行格式转换,跳过本步骤而执行步骤S208。
S208:基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
根据目标接口的调用方式,将第二参数作为该输出参数中的请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。具体实现中,若目标接口的调用方式为同步调用,将第二参数或经格式转换后的第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;若所述调用方式为异步调用,根据所述请求标识,确定该请求标识对应的目标回调函数,将第二参数或经格式转换后的第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给客户端脚本。
在一种实施例中,若调用方式为异步调用,则确定所述请求标识对应的目标回调函数的方式可以是:根据所述请求标识,从所述回调数据库中查询所述请求标识对应的回调信息;将所述回调信息指定的回调函数确定为目标回调函数。同时,若获取到该回调信息中存储有运行该目标回调函数的其它信息,则根据这些信息设置当前的环境变量,保证正常运行该目标回调函数,将调用结果通知给客户端脚本。
作为一种可行的实施方式,将调用结果返回给客户端脚本后,删除所述回调数据库中所述请求标识对应的回调信息。从而,降低数据量,提高目标回调函数的查询效率。
在本发明实施例描述的接口调用方法中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
下面为本发明装置实施例,本发明装置实施例与本发明方法实施例属于同一构思,用于执行本发明方法实施例中描述的方法。为了便于说明,本发明装置实施例仅示出与本发明装置实施例相关的部分,具体技术细节未揭示的,请参照本发明方法实施例的描述,此处不再一一赘述。
请参见图3,图3是本发明实施例提供的一种接口调用装置的结构示意图,在本发明实施例中,该装置可以包括:接收模块101、方式确定模块102、参数确定模块103、调用模块104、获取模块105和返回模块106。
接收模块101,用于接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口中的任一扩展接口。
方式确定模块102,用于根据所述接口标识,确定所述目标接口的调用方式。
参数确定模块103,用于根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数。
调用模块104,用于将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数。
获取模块105,用于获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数。
返回模块106,用于基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
在本发明实施例描述的接口调用装置中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
请参见图4,图4是本发明实施例提供的一种接口调用装置的另一结构示意图,在本发明实施例中,该装置可以包括:接收模块201、方式确定模块202、参数确定模块203、调用模块204、获取模块205、返回模块206、第一转换模块207、第二转换模块208、保存模块301和删除模块302。
接收模块201,用于接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一。
方式确定模块202,用于根据所述接口标识,确定所述目标接口的调用方式。
参数确定模块203,用于根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数。
调用模块204,用于将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数。
获取模块205,用于获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数。
返回模块206,用于基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
在一种实施例中,所述输出参数的数据类型为预设的第一数据类型。
第一转换模块207,用于将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型。
第二转换模块208,用于将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
保存模块301,用于若所述调用方式为异步调用,将回调信息保存至回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数。
删除模块302,用于删除所述回调数据库中所述请求标识对应的回调信息。
在另一种实施例中,参数确定模块203具体用于:
若所述调用方式为同步调用,将所述接口参数确定为所述目标接口函数的输入参数中的第一参数;
若所述调用方式为异步调用,将所述接口参数中除预设参数外的其它参数确定为所述目标接口函数的输入参数中的第一参数,所述预设参数用于标识回调函数。
在另一种实施例中,返回模块206包括:同步返回单元2061和异步返回单元2062,如图4a所示,图4a是图4提供的其中一种返回模块的结构示意图。
同步返回单元2061,若所述调用方式为同步调用,将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;
异步返回单元2062,若所述调用方式为异步调用,确定所述请求标识对应的目标回调函数,并将所述第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给客户端脚本。
在另一种实施例中,同步返回单元2061具体用于:
根据所述请求标识,从所述回调数据库中查询所述请求标识对应的回调信息;
将所述回调信息指定的回调函数确定为目标回调函数。
在另一种实施例中,方式确定模块202具体用于:
根据所述接口标识,从预设的接口数据库中查询所述接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;
将所述接口数据库中该接口标识对应的调用方式确定为所述目标接口的调用方式。
在本发明实施例描述的接口调用装置中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
请参见图5,图5是本发明实施例提供的一种接口调用装置的又一结构示意图,在本发明实施例中,该装置可以包括:参数转换器301、接口代理302、接口转发器303、接口通知器304、接口注册器305、接口数据库306和调用请求数据库307。
具体实现中,若接口调用指令所指定的目标接口的调用方式为异步调用,则该接口调用装置还可以包括回调数据库308和回调器309。开发人员在添加接口时,需要向接口注册器305提供接口的接口标识和调用方式等注册信息,为方便说明,假定接口标识为接口名称,其中,接口函数的具体实现在主进程中提供。接口注册器305记录这些注册信息,并在浏览器创建渲染进程后,把这些注册信息通过进程间通信的方式发送给渲染进程,渲染进程把这些注册信息缓存在接口数据库306中,从而,接口数据库306中记录有各接口的接口信息,例如,接口数据库的存储形式可以如表1所示。回调数据库308用于调用方式为异步调用时,存储该异步调用的请求标识和该请求标识所标定的接口调用请求中携带的回调函数,从而,回调器309可以根据请求标识去回调数据库308中查询该请求标识对应的目标回调函数,通过调用该目标回调函数的方式向脚本返回调用结果。调用请求数据库307用于存储调用的请求标识和调用方式,从而,接口通知器304获取到目标接口函数运行完毕后的输出参数后,根据该输出参数中的请求标识去调用请求数据库307中查询该请求标识对应的调用方式,若为同步调用,则直接将输出参数发送给接口代理302;若为异步调用,则将输出参数发送给回调器309。值得说明的是,该接口调用装置可以用于单进程的浏览器中,也可以用于多进程的浏览器中,但为方便说明,以多进程的浏览器为例。
通常,浏览器在运行过程中大多表现为多进程,所述多进程至少包括渲染进程和主进程,其中,渲染进程用于处理网页内容的渲染,主进程用于处理用户界面和管理所有其它的进程等。由于渲染进程只能执行网页,而不能执行其它操作,因此,扩展接口的具体实现(即接口函数的实现)必须在主进程中提供。为方便说明,假设浏览器在运行过程中启动了渲染进程和主进程,则在实现客户端脚本的接口调用流程中,渲染进程接收客户端脚本的接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口中的任一扩展接口。由于渲染进程本身不可以运行目标接口对应的目标接口函数,因此,根据客户端脚本传入的接口标识和接口参数,重新构造接口调用请求,向主进程发送该接口调用请求,从而,由主进程运行该接口调用请求所指定的目标接口函数,并将运行结果返回给渲染进程和/或客户端脚本,实现脚本的调用。
本发明实施例中,参数转换器301接收客户端脚本201的接口调用请求,所述接口调用请求携带有客户端脚本201需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接之一。参数转换器301查询接口数据库306中是否存在该接口标识对应的接口信息,若不存在,则说明接口调用错误,直接返回预设的错误信息;若存在,则确定该接口标识对应的接口名称和该接口标识对应的目标接口的调用方式。进一步的,根据该调用方式和所述接口参数确定目标接口对应的目标接口函数的输入参数中的第一参数。参数转换器301对第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型,例如,KeyValueMap类型或Value类型。
接口代理302(Interface Proxy)从参数转换器301处获取接口调用请求所需的调用信息,或者是参数转换器301将调用信息发送给接口代理302,所述调用信息包括接口调用请求的请求标识、接口名称、第一参数和调用方式,若调用方式为异步调用,所述调用信息还包括回调函数。当然,所述请求标识也可以是接口代理302确定的或生成的,具体的,本发明实施例不作限制。若调用方式为异步调用,则接口代理302根据所获取到的调用信息,将请求标识和与该请求标识对应的回调函数添加至回调数据库308中。以便回调器309接收到主进程中的接口通知器304返回的目标接口函数的输出参数后,根据该输出参数中的请求标识从回调数据库308中查询该请求标识对应的目标回调函数。同时,接口代理302向位于主进程中的接口转发器303发送接口调用请求,所述接口调用请求可以如代码4所示。
例如,若需要调用的目标接口的调用方式为异步调用,假设目标接口的接口名称为recordHistory,则客户端脚本调用该目标接口的代码可以为:recordHistory('http:\\www.liebao.cn','2014-07-2020:00:00',onRecordHistoryDone),可知,第一参数包括“http:\\www.liebao.cn、”“2014-07-2020:00:00,”回调函数的函数名称为onRecordHistoryDone。因此,参数转换器301接收客户端脚本调用目标接口recordHistory的接口调用请求,确定所述接口调用请求的请求标识和所述目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数。参数转换器303对第一参数进行格式转换,格式转换后的第一参数可以如表2所示。接口代理302可以将标识该接口调用请求的请求标识(request_id)、回调函数对象(这里是onRecordHistoryDone函数)以及正常执行该回调函数所需的环境变量等信息添加到回调数据库308中,保证回调器可以根据回调数据库308中保存的信息将调用结果成功返回给脚本。同时,接口代理302根据所获取到的调用信息重新构造接口调用请求,并通过进程间通信的方式将该接口调用请求发送给浏览器主进程中的接口转发器303,接口的调用请求可以如代码4所示,该接口的调用请求可以携带请求标识request_id、接口名称interface、第一参数arguments和调用方式sync,其中,第一参数的数据类型为预设的第二数据类型。
代码4中举例描述了异步接口的调用请求,其中,request_id用来标识接口调用请求,interface表示要调用目标接口对应的接口标识,arguments是经过参数转换器301转换后得到的数据类型为预设的第一数据类型的第一参数,sync用来表示目标接口的调用方式。
代码4
若需要调用的目标接口为同步接口,则接口调用请求中的参数sync为true,同理,接口代理302通过进程间通信的方式把所构造的接口的调用请求发送给浏览器主进程中的接口转发器303。若调用方式为同步调用,则接口代理302向接口转发器303发送调用请求后,接口代理302会暂停执行,直到浏览器主进程执行完成并传递返回值后才继续。若调用方式为异步调用,则接口代理302向接口转发器303发送调用请求后,接口代理302会立即返回,从而,渲染进程可以继续执行其它操作,网页的执行效率高。
接口转发器303接收到接口代理发送的调用请求后,根据该调用请求中所携带的调用信息,将标识该调用请求的请求标识和调用方式添加至调用请求数据库307中,从而,位于主进程中的调用请求数据库307保存有各请求标识与调用请求所指定的目标接口的调用方式之间的对应关系。接口转发器303根据接口标识去接口注册器305中查询与该接口名称对应的目标接口函数,获取目标接口对应的目标接口函数401的位置,将请求标识request_id和第一参数arguments作为所查询到的目标接口函数401的输入参数,调用该目标接口函数,其中,目标接口函数的实现方式可以是异步实现方式也可以是同步实现方式。
通常,接口函数运行完毕后,需要返回运行结果,如操作是否成功,要求读取的数据等等,这些数据为接口函数的输出参数,该输出参数的数据类型为预设的第一数据类型,如KeyValueMap类型或Value类型等。那么,目标接口函数在执行完毕后,会把输出参数传递给接口通知器304,其中,输出参数包括请求标识和第二参数,第二参数为所述请求标识对应的接口调用请求的调用结果,从而,接口通知器304根据请求标识在调用请求数据库307中查找所对应的调用请求和调用方式。
若调用方式为同步调用,则接口通知器304将请求标识和第二参数发送给接口代理302,从而,接口代理302接收到接口通知器304返回的目标接口函数的输出参数后,继续执行其它操作。参数转换器301对输出参数中的第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型,例如,脚本内部的Object对象,进而,返回该请求标识对应的调用结果给脚本,同步调用完成。在同步调用完成后,根据请求标识删除调用请求数据库307中的对应项,从而降低数据量,提高查询效率。
若调用方式为同步调用,接口代理302给接口转发器303发送接口的调用请求后会立即返回,继续执行脚本的其它部分。而调用接口的返回结果需要通过调用请求所指定的回调函数来返回。因此,接口通知器304根据输出参数中的请求标识从调用请求数据库307中查询得该请求标识对应的目标接口为异步调用后,将请求标识和第二参数发送给渲染进程中的回调器309,回调器309采用该请求标识从回调数据库308中查询该请求标识对应的目标回调函数,同时,调用参数转换器301将第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型,例如,脚本的Object对象,将转换后的第二参数作为目标回调函数的输入参数,运行脚本提供的目标回调函数,从而,返回调用结果,异步接口调用完成。在异步调用完成后,根据请求标识删除调用请求数据库307和回调数据库308中的对应项,从而降低数据量,提高查询效率。
在本发明实施例描述的接口调用装置中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
请参见图6,图6是本发明实施例提供的一种终端的结构示意图,在本发明实施例中,终端10包括如上所述的接口调用装置。在本发明实施例中,所述终端可以包括:智能手机、电脑、平板电脑、笔记本电脑、掌上电脑以及移动互联网设备(MID)、PAD等终端设备。具体的,本发明实施例不作限制。
值得说明的是,终端10包括如上所述的任意一种接口调用装置,该终端接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
请参见图7,图7是本发明实施例提供的一种接口调用装置的再一结构示意图,用于执行本发明实施例公开的接口调用方法,该装置可以包括:至少一个处理器401,例如CPU,至少一个网络接口404或者其他用户接口403,存储器405,至少一个通信总线402。通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可选的可以包括USB接口以及其他标准接口、有线接口。网络接口404可选的可以包括Wi-Fi接口以及其他无线接口。存储器405可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器405可选的可以包含至少一个位于远离前述处理器401的存储装置。如图7所示,作为一种计算机存储介质的存储器405中可以包括操作***4051及应用程序4052。
在一些实施方式中,存储器405存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***4051,包含各种***程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序4052,包含目标网络数据的数据分块参数的设置程序、目标数据块的划分程序、目标数据块与数据库中的数据块的比较程序以及目标数据块的删除程序等各种应用程序,用于实现各种应用业务。
具体地,处理器401用于调用存储器405中存储的程序,执行以下操作:
接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;
根据所述接口标识,确定所述目标接口的调用方式;
根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;
将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;
获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;
基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
在一种实施例中,所述输出参数的数据类型为预设的第一数据类型;
处理器401执行所述根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数的操作之后,还包括执行以下操作:
将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型;
处理器401执行所述获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数的操作之后,还包括执行以下操作:
将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
在一种实施例中,处理器401执行所述根据所述调用方式和所述接口参数,确定所述目标接口函数的输入参数中的第一参数的操作,包括执行以下操作:
若所述调用方式为同步调用,将所述接口参数确定为所述目标接口函数的输入参数中的第一参数;
若所述调用方式为异步调用,将所述接口参数中除预设参数外的其它参数确定为所述目标接口函数的输入参数中的第一参数,所述预设参数用于标识回调函数。
在一种实施例中,处理器401执行所述基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本,包括执行以下操作:
若所述调用方式为同步调用,将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;
若所述调用方式为异步调用,确定所述请求标识对应的目标回调函数,并将所述第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给客户端脚本。
在一种实施例中,处理器401执行所述根据所述接口标识,确定所述目标接口的调用方式的操作之后,还包括执行以下操作:
若所述调用方式为异步调用,将回调信息保存至回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数;
其中,处理器401执行所述确定所述请求标识对应的目标回调函数的操作,包括执行以下操作:
若所述调用方式为异步调用,根据所述请求标识从所述回调数据库中查询所述请求标识对应的回调信息;
将所述回调信息指定的回调函数确定为目标回调函数。
在一种实施例中,处理器401执行所述将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本的操作之后,还包括执行以下操作:
删除所述回调数据库中所述请求标识对应的回调信息。
在一种实施例中,处理器401执行根据所述接口标识,确定所述目标接口的调用方式的操作,包括执行以下操作:
根据所述接口标识,从预设的接口数据库中查询所述接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;
将所述接口数据库中该接口标识对应的调用方式确定为所述目标接口的调用方式。
在本发明实施例描述的技术方案中,接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;根据所述接口标识,确定目标接口的调用方式;根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数;将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。采用本发明实施例,通过规范化接口函数的设计和接口调用,浏览器可以采用统一的接口调用方法来实现客户端脚本对任一扩展接口的调用。从而,开发人员开发扩展接口时,只需开发该扩展接口对应的接口函数,提高开发效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合和组合。本发明所有实施例中的模块或单元,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)来实现。
本发明所有实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减;本发明所有实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种接口调用方法,其特征在于,包括:
接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;
根据所述接口标识,确定所述目标接口的调用方式;
根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数;
将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;
获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;
基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
2.如权利要求1所述的方法,其特征在于,所述输出参数的数据类型为预设的第一数据类型;
所述根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数之后,所述方法还包括:
将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型;
所述获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数之后,所述方法还包括:
将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述调用方式和所述接口参数,确定所述目标接口对应的目标接口函数的输入参数中的第一参数包括:
若所述调用方式为同步调用,将所述接口参数确定为所述目标接口函数的输入参数中的第一参数;
若所述调用方式为异步调用,将所述接口参数中除预设参数外的其它参数确定为所述目标接口函数的输入参数中的第一参数,所述预设参数用于标识回调函数。
4.如权利要求1或2所述的方法,其特征在于,所述基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本包括:
若所述调用方式为同步调用,将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本;
若所述调用方式为异步调用,确定所述请求标识对应的目标回调函数,并将所述第二参数作为所述目标回调函数的输入参数,运行所述目标回调函数得到输出结果,进而将所述输出结果作为所述接口调用请求的调用结果返回给所述客户端脚本。
5.如权利要求4所述的方法,其特征在于,所述根据所述接口标识,确定所述目标接口的调用方式之后,所述方法还包括:
若所述调用方式为异步调用,将回调信息保存至回调数据库中,所述回调信息包括所述请求标识和所述预设参数所标识的回调函数;
所述确定所述请求标识对应的目标回调函数,包括:
若所述调用方式为异步调用,根据所述请求标识从所述回调数据库中查询所述请求标识对应的回调信息;
将所述回调信息指定的回调函数确定为目标回调函数。
6.如权利要求5所述的方法,其特征在于,所述将所述第二参数作为所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本之后,所述方法还包括:
删除所述回调数据库中所述请求标识对应的回调信息。
7.如权利要求1或2所述的方法,其特征在于,所述根据所述接口标识,确定所述目标接口的调用方式包括:
根据所述接口标识,从预设的接口数据库中查询所述接口标识对应的接口信息,所述接口信息包括接口标识和调用方式;
将所述接口数据库中该接口标识对应的调用方式确定为所述目标接口的调用方式。
8.一种接口调用装置,其特征在于,包括:
接收模块,用于接收接口调用请求,所述接口调用请求携带有客户端脚本需要调用的目标接口对应的接口标识和接口参数,所述目标接口为浏览器所提供的扩展接口之一;
方式确定模块,用于根据所述接口标识,确定所述目标接口的调用方式;
参数确定模块,用于根据所述调用方式和所述接口参数,确定所述接口标识对应的目标接口函数的输入参数中的第一参数;
调用模块,用于将所述接口调用请求的请求标识和所述第一参数作为所述目标接口函数的输入参数,调用所述目标接口函数;
获取模块,用于获取调用所述目标接口函数后返回的输出参数,所述输出参数包括所述请求标识和第二参数;
返回模块,用于基于所述第二参数,将所述请求标识对应的接口调用请求的调用结果返回给所述客户端脚本。
9.如权利要求8所述的装置,其特征在于,所述输出参数的数据类型为预设的第一数据类型,所述装置还包括:
第一转换模块,用于将所述第一参数进行格式转换,转换后的第一参数的数据类型为预设的第二数据类型;
第二转换模块,用于将所述第二参数进行格式转换,转换后的第二参数的数据类型为预设的第三数据类型。
10.一种终端,其特征在于,包括如权利要求8-14任一项所述的接口调用装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510289070.8A CN104866383B (zh) | 2015-05-29 | 2015-05-29 | 一种接口调用方法、装置及终端 |
PCT/CN2016/083359 WO2016192556A1 (zh) | 2015-05-29 | 2016-05-25 | 接口调用方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510289070.8A CN104866383B (zh) | 2015-05-29 | 2015-05-29 | 一种接口调用方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866383A true CN104866383A (zh) | 2015-08-26 |
CN104866383B CN104866383B (zh) | 2018-11-23 |
Family
ID=53912231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510289070.8A Active CN104866383B (zh) | 2015-05-29 | 2015-05-29 | 一种接口调用方法、装置及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104866383B (zh) |
WO (1) | WO2016192556A1 (zh) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192556A1 (zh) * | 2015-05-29 | 2016-12-08 | 北京金山安全软件有限公司 | 接口调用方法、装置及终端 |
CN106412009A (zh) * | 2016-08-29 | 2017-02-15 | 郑州悉知信息科技股份有限公司 | 接口调用方法及装置 |
CN106649078A (zh) * | 2015-11-02 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 应用接口测试方法及装置 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN107194014A (zh) * | 2017-07-04 | 2017-09-22 | 贵州数据宝网络科技有限公司 | 数据源调用方法及装置 |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN108009026A (zh) * | 2017-10-27 | 2018-05-08 | 深圳市买买提乐购金融服务有限公司 | 接口调用方法、第三方数据接入平台及计算机可读介质 |
CN108650093A (zh) * | 2018-03-30 | 2018-10-12 | 深圳市富途网络科技有限公司 | 一种基于幂等性的接口实现方法 |
CN108874557A (zh) * | 2018-05-24 | 2018-11-23 | 广东睿江云计算股份有限公司 | 一种前端接口处理方法及*** |
CN109218841A (zh) * | 2018-08-17 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 弹幕消息传输方法、装置、设备与存储介质 |
CN109426570A (zh) * | 2017-08-29 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 一种数据的获取方法、装置及设备 |
CN109446261A (zh) * | 2018-10-31 | 2019-03-08 | 北京酷我科技有限公司 | 一种基于多个接口混合调用数据的方法及其*** |
CN109445960A (zh) * | 2018-10-18 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 应用的路由方法、装置及存储介质 |
CN109710426A (zh) * | 2018-12-24 | 2019-05-03 | 珠海豹趣科技有限公司 | 一种进程间通信方法及相关设备 |
CN109814863A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质 |
CN109871285A (zh) * | 2017-12-05 | 2019-06-11 | 北京嘀嘀无限科技发展有限公司 | 动态调整方法、装置、服务器、移动终端和可读存储介质 |
CN110413423A (zh) * | 2019-07-23 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关装置、设备及存储介质 |
CN110618875A (zh) * | 2018-06-20 | 2019-12-27 | 北京三快在线科技有限公司 | 通信方法、分布式***、电子设备及存储介质 |
CN110737428A (zh) * | 2019-10-21 | 2020-01-31 | Oppo广东移动通信有限公司 | 基于Hidl的通用接口设计方法、装置、终端及可读存储介质 |
CN111030111A (zh) * | 2019-12-30 | 2020-04-17 | 广东电网有限责任公司电力调度控制中心 | 电力***稳定控制断面参数配置方法、装置、***及介质 |
CN111142960A (zh) * | 2018-11-02 | 2020-05-12 | 中国电信股份有限公司 | 接口提供方法、装置和*** |
CN111158794A (zh) * | 2019-12-19 | 2020-05-15 | 苏州浪潮智能科技有限公司 | 一种面向OpenStack的API接口组合优化方法及装置 |
CN111190950A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种资产检索方法和装置 |
CN111274453A (zh) * | 2020-01-14 | 2020-06-12 | 北京市商汤科技开发有限公司 | 数据运行方法、***、电子设备以及计算机可读存储介质 |
CN111428171A (zh) * | 2020-03-23 | 2020-07-17 | 郑州悉知信息科技股份有限公司 | 接口调用处理方法和*** |
CN111581578A (zh) * | 2020-05-09 | 2020-08-25 | 郑州悉知信息科技股份有限公司 | 接口请求处理方法和装置 |
CN112395024A (zh) * | 2020-12-09 | 2021-02-23 | 上海益世界信息技术集团有限公司 | 一种接口调用方法和相关装置 |
CN112667371A (zh) * | 2020-12-07 | 2021-04-16 | 深圳市远行科技股份有限公司 | 异步任务的处理方法、装置、设备及存储介质 |
CN112925589A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 扩展接口的调用方法及装置 |
CN113452721A (zh) * | 2021-08-30 | 2021-09-28 | 湖南高至科技有限公司 | 一种网络交互函数优化***、方法、计算机设备和介质 |
CN113448742A (zh) * | 2020-03-25 | 2021-09-28 | 北京京东振世信息技术有限公司 | 一种接口数据采集方法和装置 |
CN113934476A (zh) * | 2021-10-15 | 2022-01-14 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN114090082A (zh) * | 2021-11-29 | 2022-02-25 | 广州宸祺出行科技有限公司 | 一种整合规则引擎的调用外部接口的方法及*** |
CN114443019A (zh) * | 2020-11-03 | 2022-05-06 | 福建天泉教育科技有限公司 | 一种图形化编程多语言交互线程异步调用方法及终端 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274656B (zh) * | 2018-09-04 | 2022-04-22 | 平安普惠企业管理有限公司 | 接口参数解密方法、装置、计算机设备及存储介质 |
CN111124873A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 一种Mock数据返回方法及装置 |
CN110333914B (zh) * | 2019-04-12 | 2023-09-15 | 上海连尚网络科技有限公司 | 一种用于执行目标操作的方法与设备 |
CN112214294B (zh) * | 2019-09-18 | 2022-01-14 | 华为技术有限公司 | 调用硬件接口的方法及电子设备 |
CN110968296B (zh) * | 2019-12-03 | 2023-07-25 | 政采云有限公司 | 一种数据获取方法、装置、设备及可读存储介质 |
CN111310007B (zh) * | 2020-02-11 | 2023-07-07 | 北京达佳互联信息技术有限公司 | 网页接口查询方法、装置、电子设备及存储介质 |
CN111552578B (zh) * | 2020-04-30 | 2023-08-04 | 成都新潮传媒集团有限公司 | 一种第三方接口调用方法及装置 |
CN115080006A (zh) * | 2021-03-15 | 2022-09-20 | 武汉斗鱼网络科技有限公司 | 一种数据调用方法及相关设备 |
CN114840276A (zh) * | 2022-04-15 | 2022-08-02 | 北京百度网讯科技有限公司 | 对象调用方法、装置、设备、存储介质以及程序产品 |
CN115208936A (zh) * | 2022-05-26 | 2022-10-18 | 锐凌无线有限责任公司 | 远程调用方法、***、装置、电子设备和存储介质 |
CN115225812B (zh) * | 2022-06-01 | 2024-04-09 | 合肥移瑞通信技术有限公司 | 摄像头控制方法、装置、电子设备及存储介质 |
CN115499291B (zh) * | 2022-09-14 | 2024-04-02 | 平安壹钱包电子商务有限公司 | 一种业务跌零告警信息的处理方法及装置、存储介质 |
CN115865886B (zh) * | 2022-11-28 | 2023-07-18 | 灵犀科技有限公司 | 一种基于http的跨网络数据交互方法和装置 |
CN117270831B (zh) * | 2023-11-17 | 2024-02-23 | 天津华来科技股份有限公司 | 一种协议类同步与协程调用兼容实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016498A1 (en) * | 2001-03-23 | 2008-01-17 | S2 Technologies, Inc. | System and method for generating data sets for testing embedded systems |
US20130013751A1 (en) * | 2009-05-11 | 2013-01-10 | Accenture Global Services Limited | Enhanced network adapter framework |
CN103226474A (zh) * | 2013-05-10 | 2013-07-31 | 北京奇虎科技有限公司 | 网页脚本与浏览器程序之间的交互方法、装置及*** |
CN103309728A (zh) * | 2012-03-12 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 异步请求处理方法和设备 |
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177040A (zh) * | 2011-12-26 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 网页应用的功能调用方法及装置 |
CN104866383B (zh) * | 2015-05-29 | 2018-11-23 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
-
2015
- 2015-05-29 CN CN201510289070.8A patent/CN104866383B/zh active Active
-
2016
- 2016-05-25 WO PCT/CN2016/083359 patent/WO2016192556A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016498A1 (en) * | 2001-03-23 | 2008-01-17 | S2 Technologies, Inc. | System and method for generating data sets for testing embedded systems |
US20130013751A1 (en) * | 2009-05-11 | 2013-01-10 | Accenture Global Services Limited | Enhanced network adapter framework |
CN103309728A (zh) * | 2012-03-12 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 异步请求处理方法和设备 |
CN103226474A (zh) * | 2013-05-10 | 2013-07-31 | 北京奇虎科技有限公司 | 网页脚本与浏览器程序之间的交互方法、装置及*** |
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192556A1 (zh) * | 2015-05-29 | 2016-12-08 | 北京金山安全软件有限公司 | 接口调用方法、装置及终端 |
CN106649078A (zh) * | 2015-11-02 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 应用接口测试方法及装置 |
CN106649078B (zh) * | 2015-11-02 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 应用接口测试方法及装置 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN107135073B (zh) * | 2016-02-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN106412009A (zh) * | 2016-08-29 | 2017-02-15 | 郑州悉知信息科技股份有限公司 | 接口调用方法及装置 |
CN107194014A (zh) * | 2017-07-04 | 2017-09-22 | 贵州数据宝网络科技有限公司 | 数据源调用方法及装置 |
CN107194014B (zh) * | 2017-07-04 | 2021-05-28 | 贵州数据宝网络科技有限公司 | 数据源调用方法及装置 |
CN109426570A (zh) * | 2017-08-29 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 一种数据的获取方法、装置及设备 |
CN108009026A (zh) * | 2017-10-27 | 2018-05-08 | 深圳市买买提乐购金融服务有限公司 | 接口调用方法、第三方数据接入平台及计算机可读介质 |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN109871285A (zh) * | 2017-12-05 | 2019-06-11 | 北京嘀嘀无限科技发展有限公司 | 动态调整方法、装置、服务器、移动终端和可读存储介质 |
CN108650093A (zh) * | 2018-03-30 | 2018-10-12 | 深圳市富途网络科技有限公司 | 一种基于幂等性的接口实现方法 |
CN108874557A (zh) * | 2018-05-24 | 2018-11-23 | 广东睿江云计算股份有限公司 | 一种前端接口处理方法及*** |
CN110618875A (zh) * | 2018-06-20 | 2019-12-27 | 北京三快在线科技有限公司 | 通信方法、分布式***、电子设备及存储介质 |
CN109218841B (zh) * | 2018-08-17 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 弹幕消息传输方法、装置、设备与存储介质 |
CN109218841A (zh) * | 2018-08-17 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 弹幕消息传输方法、装置、设备与存储介质 |
CN109445960A (zh) * | 2018-10-18 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 应用的路由方法、装置及存储介质 |
CN109445960B (zh) * | 2018-10-18 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 应用的路由方法、装置及存储介质 |
CN109446261A (zh) * | 2018-10-31 | 2019-03-08 | 北京酷我科技有限公司 | 一种基于多个接口混合调用数据的方法及其*** |
CN111142960A (zh) * | 2018-11-02 | 2020-05-12 | 中国电信股份有限公司 | 接口提供方法、装置和*** |
CN111142960B (zh) * | 2018-11-02 | 2023-11-14 | 中国电信股份有限公司 | 接口提供方法、装置和*** |
CN109814863A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质 |
CN109710426A (zh) * | 2018-12-24 | 2019-05-03 | 珠海豹趣科技有限公司 | 一种进程间通信方法及相关设备 |
CN110413423A (zh) * | 2019-07-23 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关装置、设备及存储介质 |
CN110737428B (zh) * | 2019-10-21 | 2023-08-15 | Oppo广东移动通信有限公司 | 基于Hidl的通用接口设计方法、装置、终端及可读存储介质 |
CN110737428A (zh) * | 2019-10-21 | 2020-01-31 | Oppo广东移动通信有限公司 | 基于Hidl的通用接口设计方法、装置、终端及可读存储介质 |
CN111190950A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种资产检索方法和装置 |
CN112925589A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 扩展接口的调用方法及装置 |
CN112925589B (zh) * | 2019-12-06 | 2023-10-17 | 深圳市雅阅科技有限公司 | 扩展接口的调用方法及装置 |
CN111158794B (zh) * | 2019-12-19 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 一种面向OpenStack的API接口组合优化方法及装置 |
CN111158794A (zh) * | 2019-12-19 | 2020-05-15 | 苏州浪潮智能科技有限公司 | 一种面向OpenStack的API接口组合优化方法及装置 |
CN111030111A (zh) * | 2019-12-30 | 2020-04-17 | 广东电网有限责任公司电力调度控制中心 | 电力***稳定控制断面参数配置方法、装置、***及介质 |
CN111274453A (zh) * | 2020-01-14 | 2020-06-12 | 北京市商汤科技开发有限公司 | 数据运行方法、***、电子设备以及计算机可读存储介质 |
CN111428171A (zh) * | 2020-03-23 | 2020-07-17 | 郑州悉知信息科技股份有限公司 | 接口调用处理方法和*** |
CN113448742B (zh) * | 2020-03-25 | 2023-11-03 | 北京京东振世信息技术有限公司 | 一种接口数据采集方法和装置 |
CN113448742A (zh) * | 2020-03-25 | 2021-09-28 | 北京京东振世信息技术有限公司 | 一种接口数据采集方法和装置 |
CN111581578B (zh) * | 2020-05-09 | 2022-11-29 | 郑州悉知信息科技股份有限公司 | 接口请求处理方法和装置 |
CN111581578A (zh) * | 2020-05-09 | 2020-08-25 | 郑州悉知信息科技股份有限公司 | 接口请求处理方法和装置 |
CN114443019A (zh) * | 2020-11-03 | 2022-05-06 | 福建天泉教育科技有限公司 | 一种图形化编程多语言交互线程异步调用方法及终端 |
CN112667371A (zh) * | 2020-12-07 | 2021-04-16 | 深圳市远行科技股份有限公司 | 异步任务的处理方法、装置、设备及存储介质 |
CN112395024A (zh) * | 2020-12-09 | 2021-02-23 | 上海益世界信息技术集团有限公司 | 一种接口调用方法和相关装置 |
CN112395024B (zh) * | 2020-12-09 | 2021-12-24 | 上海益世界信息技术集团有限公司 | 一种接口调用方法和相关装置 |
CN113452721A (zh) * | 2021-08-30 | 2021-09-28 | 湖南高至科技有限公司 | 一种网络交互函数优化***、方法、计算机设备和介质 |
CN113934476B (zh) * | 2021-10-15 | 2022-08-19 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN113934476A (zh) * | 2021-10-15 | 2022-01-14 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN114090082A (zh) * | 2021-11-29 | 2022-02-25 | 广州宸祺出行科技有限公司 | 一种整合规则引擎的调用外部接口的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104866383B (zh) | 2018-11-23 |
WO2016192556A1 (zh) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866383A (zh) | 一种接口调用方法、装置及终端 | |
CN109325195B (zh) | 浏览器的渲染方法和***、计算机设备、计算机存储介质 | |
CN104281455A (zh) | 一种接口调用方法、装置及终端 | |
CN108156022B (zh) | 一种服务调用方法、装置及电子设备 | |
US9942307B2 (en) | Web application script migration | |
CN104881318A (zh) | 一种接口调用方法、装置及终端 | |
CN110351325B (zh) | 一种数据处理方法及相关设备 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US10789111B2 (en) | Message oriented middleware with integrated rules engine | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN104268229A (zh) | 一种基于多进程浏览器的资源获得方法及装置 | |
USRE48851E1 (en) | Thin client for mapping system | |
CN111818194A (zh) | 基于域名的访问***和方法 | |
CN111309857A (zh) | 一种处理方法及处理装置 | |
CN112084446A (zh) | 一种网页编辑方法、编辑器、电子设备和可读存储介质 | |
CN105320662A (zh) | 网页生成方法及装置 | |
CN109739487B (zh) | 一种业务逻辑处理方法、设备及计算机可读存储介质 | |
CN112131230B (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN111800511B (zh) | 同步登录态的处理方法、***、设备及可读存储介质 | |
CN109977317B (zh) | 数据查询方法及装置 | |
US7856344B2 (en) | Method for transforming overlapping paths in a logical model to their physical equivalent based on transformation rules and limited traceability | |
CN111464429A (zh) | 微信小程序多项目兼容共享方法、***、存储介质及设备 | |
CN115858013B (zh) | 一种多研发项目并行的资源配置方法、***、装置及介质 | |
CN110955430A (zh) | 应用程序原生能力的调用方法、装置及电子设备 | |
CN112084003B (zh) | 一种隔离数据的方法、装置、介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181203 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Patentee before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
TR01 | Transfer of patent right |