发明内容
本发明实施例提供了一种应用程序编程接口调用的方法及设备,用以解决API的可靠性不能得到保证造成的APP可靠性不能得到保证的问题。
第一方面,本发明实施例提供了一种应用程序编程接口API的调用方法,所述调用方法由API管理平台执行,包括:接收来自终端的用于调用主用API的主用调用请求,所述主用API为北向API;检测所述主用API是否可用。在所述主用API不可用时,根据所述主用调用请求获得用于调用备用API的备用调用请求,所述备用API为北向API,所述主用API与所述备用API具有相同的功能类别;使用所述备用调用请求调用所述备用API获得所述备用API的调用结果;根据所述备用API的调用结果获得的所述主用API的调用结果;向所述终端发送所述主用API的调用结果。
结合第一方面,在第一方面第一种可能的实现方式中,所述检测所述主用API是否可用包括:检测所述主用调用请求调用所述主用API时需要调用的南向API是否可用;在所述主用调用请求调用所述主用API时需要调用的南向API中存在不可用南向API时,确定所述主用API不可用。
结合上述第一方面可能的实现方式,在第一方面第二种可能的实现方式中,所述检测所述主用API是否可用包括:检测调用所述主用API时能够调用的南向API是否可用;在所述调用所述主用API时能够调用的南向API中存在不可用南向API时,确定所述主用API不可用。
结合上述第一方面可能的实现方式,,在第一方面第三种可能的实现方式中,所述检测所述主用API是否可用包括:获得不可用北向API列表;在所述不可用北向API列表包括所述主用API时,确定所述主用API不可用。
结合上述第一方面可能的实现方式,,在第一方面第四种可能的实现方式中,所述不可用北向API列表采用如下方式生成:确定不可用南向API;根据北向API与南向API的调用关系以及所述不可用南向API确定不可用北向API;根据所述确定不可用北向API生成不可用北向API列表。
结合上述第一方面可能的实现方式,在第一方面第五种可能的实现方式中,所述主用调用请求包括主用参数以及所述主用参数的取值,所述根据所述主用调用请求获得用于调用备用API的备用调用请求包括:根据所述主用参数与备用参数的预设的对应关系确定与所述主用参数对应的所述备用参数;根据所述主用参数的取值确定所述备用参数的取值;获得包括所述备用参数以及所述备用参数的取值的所述备用调用请求。
结合上述第一方面可能的实现方式,,在第一方面第六种可能的实现方式中,所述根据所述主用参数的取值确定所述备用参数的取值包括:确定所述备用参数的取值为所述主用参数的取值;或根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值。
结合上述第一方面可能的实现方式,在第一方面第七种可能的实现方式中,所述主用参数的取值与所述备用参数的取值的预设的转换规则包括通过所述主用参数的取值计算获得所述备用参数的取值的计算规则;所述根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值包括:根据所述通过所述主用参数的取值计算获得所述备用参数的取值的计算规则及所述主用参数的取值,计算获得所述备用参数的取值。
结合上述第一方面可能的实现方式,在第一方面第八种可能的实现方式中,所述主用参数的取值与所述备用参数的取值的预设的转换规则包括所述主用参数与所述备用参数的格式转换规则;所述根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值包括:根据所述主用参数与所述备用参数的格式转换规则,将所述主用参数的取值进行格式转换获得所述备用参数的取值。
结合上述第一方面可能的实现方式,在第一方面第九种可能的实现方式中,所述主用调用请求包括主用参数,所述备用调用请求包括备用参数;所述根据所述主用调用请求获得用于调用备用API的备用调用请求包括:根据所述主用参数的名称与所述备用参数的名称的预设的对应关系,将所述主用调用请求中的所述主用参数的名称修改为所述主用参数对应的所述备用参数的名称,以获得所述备用调用请求。
结合上述第一方面可能的实现方式,在第一方面第十种可能的实现方式中,所述主用调用请求包括主用参数,所述备用调用请求包括备用参数;所述根据所述主用调用请求获得用于调用备用API的备用调用请求包括:根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用调用请求中的所述主用参数的取值转换为所述备用参数的取值,以获得所述备用调用请求。
结合上述第一方面可能的实现方式,在第一方面第十一种可能的实现方式中,所述根据所述主用调用请求获得用于调用备用API的备用调用请求包括:根据所述主用调用请求格式与所述备用调用请求格式的预设的转换规则,将所述主用调用请求进行格式转换,从而获得所述备用调用请求。
结合上述第一方面可能的实现方式,在第一方面第十二种可能的实现方式中,所述根据所述主用调用请求获得用于调用备用API的备用调用请求包括:根据所述主用调用请求格式与中间消息格式的预设的转换规则,将所述主用调用请求进行格式转换,从而获得中间消息格式的中间消息;根据所述中间消息格式与所述备用调用请求格式的预设的转换规则,将所述中间消息进行格式转换,从而获得所述备用调用请求。
结合上述第一方面可能的实现方式,在第一方面第十三种可能的实现方式中,所述备用API的调用结果包括备用结果参数以及所述备用结果参数的取值,所述根据所述备用API的调用结果获得的所述主用API的调用结果包括:根据所述备用结果参数与主用结果参数的预设的对应关系确定与所述备用结果参数对应的所述主用结果参数;根据所述备用结果参数的取值确定所述主用结果参数的取值,从而获得包括所述主用结果参数以及所述主用结果参数的取值的所述主用API的调用结果。
结合上述第一方面可能的实现方式,在第一方面第十四种可能的实现方式中,所述根据所述备用结果参数的取值确定所述主用结果参数的取值包括:确定所述主用结果参数的取值为所述备用结果参数的取值;或根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值。
结合上述第一方面可能的实现方式,在第一方面第十五种可能的实现方式中,所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则包括通过所述备用结果参数的取值计算获得所述主用结果参数的取值的计算规则;所述根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值包括:根据所述通过所述备用结果参数的取值计算获得所述主用结果参数的取值的计算规则及所述备用结果参数的取值,计算获得所述主用结果参数的取值。
结合上述第一方面可能的实现方式,在第一方面第十六种可能的实现方式中,所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则包括所述备用结果参数与所述主用结果参数的格式转换规则;所述根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值包括:根据所述备用结果参数与所述主用结果参数的格式转换规则,将所述备用结果参数的取值进行格式转换获得所述主用结果参数的取值。
第二方面,本发明实施例提供了一种应用程序编程接口API管理平台,所述API管理平台包括:
请求接收模块,用于接收用于调用主用API的主用调用请求,所述主用API为北向API。
检测模块,用于检测所述请求获得模块获得的主用调用请求调用的主用API是否可用。
请求转换模块,用于在所述检测模块检测到所述主用API不可用时,根据所述请求获得模块获得的所述主用调用请求获得用于调用备用API的备用调用请求,所述备用API为北向API,所述主用API与所述备用API具有相同的功能类别。
调用模块,用于使用所述请求生成模块获得的备用调用请求调用所述备用API。
结果获得模块,用于获得所述备用API的调用结果。
结果转换模块,用于根据所述结果获得模块获得的备用API的调用结果获得的所述主用API的调用结果。
结果发送模块,用于向所述终端发送所述结果转换模块获得的所述主用API调用请求。
结合第二方面,在第二方面第一种可能的实现方式中,所述检测模块具体用于:检测所述主用调用请求调用所述主用API时需要调用的南向API是否可用;在所述主用调用请求调用所述主用API时需要调用的南向API中存在不可用南向API时,确定所述主用API不可用。
结合上述第二方面可能的实现方式,在第二方面第二种可能的实现方式中,所述检测模块具体用于:检测调用所述主用API时能够调用的南向API是否可用;在所述调用所述主用API时能够调用的南向API中存在不可用南向API时,确定所述主用API不可用。
结合上述第二方面可能的实现方式,在第二方面第三种可能的实现方式中,所述API管理平台还包括列表生成模块,所述列表生成模块用于生成不可用北向API列表,所述检测模块具体用于:在所述列表生成模块生成的所述不可用北向API列表包括所述主用API时,确定所述主用API不可用。
结合上述第二方面可能的实现方式,在第二方面第四种可能的实现方式中,所述列表生成模块具体用于:确定不可用南向API;根据北向API与南向API的调用关系以及所述不可用南向API确定不可用北向API;根据所述不可用北向API生成所述不可用北向API列表。
结合上述第二方面可能的实现方式,在第二方面第五种可能的实现方式中,所述主用调用请求包括主用参数以及所述主用参数的取值,所述请求转换模块包括:参数确定模块,用于根据所述主用参数与备用参数的预设的对应关系确定所述主用参数对应的所述备用参数;取值确定模块,用于根据所述主用参数的取值确定所述参数确定模块确定的所述备用参数的取值;消息获得模块,用于获得包括所述参数确定模块确定的备用参数以及所述取值确定模块确定的所述备用参数的取值的所述备用调用请求。
结合上述第二方面可能的实现方式,在第二方面第六种可能的实现方式中,所述取值确定模块具体用于:确定所述备用参数的取值为所述主用参数的取值;或根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值。
结合上述第二方面可能的实现方式,在第二方面第七种可能的实现方式中,所述主用参数的取值与所述备用参数的取值的预设的转换规则包括通过所述主用参数的取值计算获得所述备用参数的取值的计算规则;所述取值确定模块根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值包括:所述取值确定模块根据所述通过所述主用参数的取值计算获得所述备用参数的取值的计算规则及所述主用参数的取值,计算获得所述备用参数的取值。
结合上述第二方面可能的实现方式,在第二方面第八种可能的实现方式中,所述主用参数的取值与所述备用参数的取值的预设的转换规则包括所述主用参数的与所述备用参数的格式转换规则;所述取值确定模块根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用参数的取值转换为所述备用参数的取值包括:所述取值确定模块根据所述主用参数的与所述备用参数的格式转换规则,将所述主用参数的取值进行格式转换获得所述备用参数的取值。
结合上述第二方面可能的实现方式,在第二方面第九种可能的实现方式中,所述主用调用请求包括主用参数,所述备用调用请求包括备用参数,所述请求转换模块具体用于:根据所述主用参数的名称与所述备用参数的名称的预设的对应关系,将所述主用调用请求中的所述主用参数的名称修改为所述主用参数对应的所述备用参数的名称,以获得所述备用调用请求。
结合上述第二方面可能的实现方式,在第二方面第十种可能的实现方式中,所述主用调用请求包括主用参数,所述备用调用请求包括备用参数,所述请求转换模块具体用于:根据所述主用参数的取值与所述备用参数的取值的预设的转换规则,将所述主用调用请求中的所述主用参数的取值转换为所述备用参数的取值,以获得所述备用调用请求。
结合上述第二方面可能的实现方式,在第二方面第十一种可能的实现方式中,所述请求转换模块具体用于:根据所述主用调用请求格式与所述备用调用请求格式的预设的转换规则,将所述主用调用请求进行格式转换,从而获得所述备用调用请求。
结合上述第二方面可能的实现方式,在第二方面第十二种可能的实现方式中,所述请求转换模块具体用于:根据所述主用调用请求格式与中间消息格式的预设的转换规则,将所述主用调用请求进行格式转换,从而获得中间消息格式的中间消息;根据所述中间消息格式与所述备用调用请求格式的预设的转换规则,将所述中间消息进行格式转换,从而获得所述备用调用请求。
结合上述第二方面可能的实现方式,在第二方面第十三种可能的实现方式中,所述备用API的调用结果包括备用结果参数以及所述备用结果参数的取值,所述结果转换模块包括:结果参数确定获得模块,用于根据所述备用结果参数与主用结果参数的预设的对应关系确定所述备用结果参数对应的所述主用结果参数;结果取值确定模块,用于根据所述备用结果参数的取值确定所述参数确定模块确定的所述主用结果参数的取值,从而获得包括所述主用结果参数以及所述主用结果参数的取值的所述主用API的调用结果。
结合上述第二方面可能的实现方式,在第二方面第十四种可能的实现方式中,所述结果取值确定模块具体用于:确定所述主用结果参数的取值为所述备用结果参数的取值;或根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值。
结合上述第二方面可能的实现方式,在第二方面第十五种可能的实现方式中,所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则包括通过所述备用结果参数的取值计算获得所述主用结果参数的取值的计算规则;所述结果取值确定模块根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值包括:所述结果取值确定模块根据所述通过所述备用结果参数的取值计算获得所述主用结果参数的取值的计算规则及所述备用结果参数的取值,计算获得所述主用结果参数的取值。
结合上述第二方面可能的实现方式,在第二方面第十六种可能的实现方式中,所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则包括所述备用结果参数的与所述主用结果参数的格式转换规则;所述结果取值确定模块根据所述备用结果参数的取值与所述主用结果参数的取值的预设的转换规则,将所述备用结果参数的取值转换为所述主用结果参数的取值包括:所述结果取值确定模块根据所述备用结果参数的与所述主用结果参数的格式转换规则,将所述备用结果参数的取值进行格式转换获得所述主用结果参数的取值。
从本发明提供的以上技术方案可以看出,由于本发明中API管理平台能够在发现主用API不可用时,能够将主用API的调用请求进行转换获得备用API的调用请求,并获得备用API的调用结果,从而获得该主用API的调用结果,因此能够在主用API不可用时也能获得调用结果,保证了APP的可靠性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2描述了一种本发明实施例的实施场景,在本发明实施场景中包括终端202、API管理平台204、主用API南向服务器206以及备用API南向服务器208。主用API和备用API为北向API,终端202可以通过调用主用API完成终端202所需功能,在主用API不可用时,终端202还可以调用备用API完成终端202所需功能。API管理平台204可以是计算机设备,如服务器或服务器集群。其中,主用API和备用API由终端中应用程序的开发者订阅得到。在具体实现过程中,API管理平台204可以向应用程序开发者提供所有的北向API供开发者订阅,也可以是API管理平台204为每个北向API定义了该北向API的特性,开发者订阅时会制定需要订阅的API的特性,API管理平台204会向开发者提供满足开发者指定的特性的北向API供开发者订阅。其中,南向API是服务提供商的南向服务器提供的API,API管理平台204可以调用南向API来调用服务提供商提供的API服务,北向API是API管理平台204提供给应用程序调用的API,应用程序不能直接调用南向API,需要调用API管理平台204提供的北向API,由API管理平台204对北向API的调用请求进行解析,进一步生成北向API对应的南向API的调用请求调用南向API,这样做的目的完成应用程序调用南向API的认证和计费等工作。当API管理平台获得南向API的调用结果后,将该南向API的调用结果转换为北向API的调用结果发送给应用程序。
在主用API为可用北向API时,终端202向API管理平台204发送主用API的调用请求用于调用主用API实现终端202所需功能,其中,主用API的调用请求为主用调用请求。API管理平台204根据收到的主用调用请求,生成主用API对应的南向API的调用请求发往提供主用API对应的南向API的主用API南向服务器206,其中,主用API对应的南向API的调用请求为主用南向调用请求。主用API南向服务器206向API管理平台204发送主用南向响应用于响应主用南向调用请求。API管理平台204将主用南向响应进行转换获得主用调用请求的响应并将主用调用请求的响应发送给终端202,其中,主用API的调用请求的响应为主用响应,主用响应包括主用API的调用结果,主用API的调用结果为主用调用请求调用主用API获得的调用结果。
可选的,在主用API为不可用北向API时,终端202向API管理平台204发送主用API的调用请求实现终端202所需功能。API管理平台204根据收到的主用调用请求,API管理平台204将主用调用请求转换获得备用API的调用请求用于调用备用API实现终端202所需功能,其中备用API的调用请求为备用调用请求。API管理平台204根据备用用调用请求,生成备用API对应的南向API的调用请求发往提供备用API对应的南向API的备用API南向服务器208,其中,备用API对应的南向API的调用请求为备用南向调用请求。备用API南向服务器208向API管理平台204发送备用南向响应用于响应备用南向调用请求。API管理平台204将备用南向响应进行转换获得备用调用请求的响应,其中,备用调用请求的响应为备用响应,备用响应包括备用API的调用结果,备用API的调用结果为备用调用请求调用备用API获得的调用结果。API管理平台204根据备用响应获得主用响应,其中包括了根据备用API的调用结果获得主用API的调用结果。并将主用响应发送给终端202用于响应主用调用请求,主用响应包括主用API的调用结果。备用API的调用结果可以用备用调用请求中的备用结果参数表示。主用API的调用结果可以用主用调用请求中的主用结果参数表示。
可选的,在主用API为不可用北向API时,终端202将主用调用请求进行转换获得备用调用请求。终端202向API管理平台204发送备用调用请求。API管理平台204根据收到备用用调用请求,生成备用API对应的南向API的调用请求发往提供备用API对应的南向API的备用API南向服务器208,其中,备用API对应的南向API的调用请求为备用南向调用请求。备用API南向服务器208向API管理平台204发送备用南向响应用于响应备用南向调用请求。API管理平台204将备用南向响应进行转换获得备用响应并将备用响应发送给终端202,备用响应包括备用API的调用结果。终端202将备用响应进行转换获得用于响应主用调用请求的主用响应,其中包括了根据备用API的调用结果获得主用API的调用结果,主用响应包括主用API的调用结果。
应注意,本领域的技术人员应当明白,虽然本发明可以应用于上述实施场景中,但是本发明的保护范围不受上述场景的限制。
如图3所示是本发明实施例提供的一种应用程序编程接口调用方法的流程示意图。在具体的实现过程中,应用程序编程接口调用方法可以由例如终端202来执行,也可以由例如API管理平台204来执行,也可由例如API管理平台204和终端202配合执行。该方法步骤如下:
步骤302,获得用于调用主用应用程序编程接口API的主调用请求,主用API为北向API。
可选的,具体来说,可以是API管理平台204接收来自终端202的用于调用主用应用程序编程接口API的主调用请求。
可选的,具体来说,也可以是终端202获得用于调用主用应用程序编程接口API的主调用请求。
步骤304,检测主用API是否可用。
可选的,具体来说,作为一种检测主用API是否可用的实施方式,API管理平台204可以确定主用调用请求调用主用API时需要调用的南向API,检测主用调用请求调用主用API时需要调用的南向API是否可用;在主用调用请求调用主用API时需要调用的南向API中存在不可用南向API时,确定主用API不可用。该技术方案不需要确定调用北向API所能调用的所有南向API是否可用,仅需确定主用调用请求所需调用的南向API是否可用,从而更加有效的调用主用API。
可选的,具体来说,作为另一种检测主用API是否可用的实施方式,API管理平台204可以确定调用主用API时能够调用的南向API,检测调用主用API时能够调用的南向API是否可用;在调用主用API时能够调用的南向API中存在不可用南向API时,确定主用API不可用。该技术方案解决了无法在不调用北向API的前提下检测北向API是否可用的技术问题。
可选的,具体来说,作为另一种检测主用API是否可用的实施方式,终端202或API管理平台204可以获得不可用北向API列表;在不可用北向API列表包括主用API时,确定主用API不可用。
可选的,在具体实现过程中,不可用北向API列表被API管理平台204定时触发生成,终端202或API管理平台204可以直接获得。该技术方案使得检测北向API是否可用相比于上述检测北向API是否可用的方法更加便捷。API管理平台204也可以在检测主用API是否可用时生成不可用北向API列表。其中,API管理平台204可以根据南向API与北向API的调用关系和南向API生成不可用北向API列表。
其中,作为一种生成不可用北向API列表的可能的实现方式,API管理平台204可以确定不可用南向API;根据北向API与南向API的调用关系以及不可用南向API确定不可用北向API;根据确定不可用北向API生成不可用北向API列表。
在具体实现过程中,作为检测南向API是否可用或确定不可用南向API的可能的实现方式,API管理平台204可以读取API管理平台204的数据库或存储设备中的南向API列表中存储的南向API路径,并检测路径对应的南向API是否可用,从而确定不可用南向API。API管理平台204也可以定时检测南向API列表中的南向API是否可用,生成不可用南向API列表用于确定不可用南向API。
可选的,作为一种根据调用关系和不可用南向API确定不可用北向API的可能的实现方式,API管理平台204可以检测待检测的北向API在调用关系中是否对应不可用南向API的南向API,如果待检测的北向API在调用关系中对应不可用南向API的南向API,则待检测的北向API为不可用北向API的北向API。
可选的,作为另一种根据调用关系和不可用南向API确定不可用北向API的可能的实现方式,API管理平台204也可以确定根据调用关系获得的不可用南向API对应的北向API为不可用北向API。
步骤306,在主用API不可用时,根据主用调用请求获得用于调用备用API的备用调用请求,备用API为北向API,主用API与备用API具有相同的功能类别。具体来说,主用API与备用API为具有相同的功能类别指调用主用API的所能实现的部分或全部功能可由调用备用API来实现。在具体实现过程中,API管理平台204规定每个北向API的特性,当应用程序开发者订阅北向API时指定了北向API的特性,则具有该特性的API都是相同类别的API。具体来说,主用API与备用API对应的南向API为不同的API服务提供商提供的南向API。
可选的,具体来说,作为一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数以及主用参数的取值,终端202或API管理平台204可以根据主用参数与备用参数的预设的对应关系确定与主用参数对应的备用参数,其中,备用参数为可通过主用参数的取值获得取值的备用调用请求包括的参数。并根据主用参数的取值确定备用参数的取值。然后获得备用调用请求,备用调用请求包括备用参数以及备用参数的取值。其中,主用参数与备用参数的对应关系由API管理平台204生成,终端202可以从API管理平台获得,在终端上应用程序的开发者指定了主用参数与备用参数的对应关系时,API管理平台根据开发者指定的主用参数与备用参数的对应关系生成用于API管理平台204查询的主用参数与备用参数的对应关系。
其中,作为一种获得备用调用请求的可能的实现方式,终端202或API管理平台204可以将备用参数以及备用参数的取值按备用调用请求的消息格式进行封装获得备用调用请求。
其中,作为另一种获得备用调用请求的可能的实现方式,终端202或API管理平台204也可以将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值,以获得备用调用请求。作为补充,在将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值之后,根据预设的主用调用请求格式与备用调用请求格式的转换规则,将被替换后的消息进行格式转换,从而获得备用调用请求。
其中,作为一种根据主用参数的取值确定备用参数的取值的可能的实现方式,终端202或API管理平台204可以确定备用参数的取值为主用参数的取值。
其中,作为另一种根据主用参数的取值确定备用参数的取值的可能的实现方式,终端202或API管理平台204也可以根据预设的主用参数的取值与备用参数的取值的转换规则,将主用参数的取值转换为备用参数的取值。其中,主用参数的取值与备用参数的取值的转换规则由API管理平台204生成,终端202可以从API管理平台获得。
可选的,在具体实现过程中,主用参数的取值与备用参数的取值的转换规则可以包括主用参数的取值与备用参数的取值的计算规则,终端202或API管理平台204可以根据主用参数的取值与应用备用参数的取值的计算规则,使用主用参数的取值计算备用参数的取值。
可选的,在具体实现过程中,主用参数的取值与备用参数的取值的转换规则还可以包括主用参数的格式与备用参数的格式转换规则,终端202或API管理平台204还可以根据主用参数的格式与备用参数的格式转换规则,将主用参数的取值进行格式转换获得备用参数的取值。
可选的,在具体实现过程中,终端202或API管理平台204还可以根据上述主用参数的格式与备用参数的格式转换规则以及上述主用参数的取值与备用参数的取值的计算规则将主用参数的取值进行计算,再将获得的取值进行格式转换获得备用参数的取值;或终端202或API管理平台204将主用参数的取值进行格式转换,再使用获得的取值计算备用参数的取值。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数,备用调用请求包括备用参数,终端202或API管理平台204也可以根据预设的主用参数与备用参数的对应关系,将主用调用请求中的主用参数的名称修改为与主用参数对应的备用参数的名称,以获得备用调用请求。作为补充,在将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值之后,根据预设的主用调用请求格式与备用调用请求格式的转换规则,将被替换后的消息进行格式转换,从而获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数,备用调用请求包括备用参数,终端202或API管理平台204也可以根据预设的主用参数的取值与备用参数的取值的转换规则,将主用调用请求中的主用参数的取值转换为备用参数的取值,以获得备用调用请求。作为补充,在将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值之后,根据预设的主用调用请求格式与备用调用请求格式的转换规则,将被替换后的消息进行格式转换,从而获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,终端202或API管理平台204也可以根据预设的主用调用请求格式与备用调用请求格式的转换规则,将主用调用请求进行格式转换,从而获得备用调用请求。其中,主用调用请求格式与备用调用请求格式的转换规则由API管理平台204生成,终端202可以通过API管理平台204获得。
其中,在具体实现过程中,作为一种将主用调用请求进行格式转换,从而获得备用调用请求的实现方式,终端202或API管理平台204也可以根据主用调用请求格式与预设的标准消息格式的转换规则,将主用调用请求进行格式转换,从而获得消息格式为标准消息格式的消息;根据预设的标准消息格式与备用调用请求格式的转换规则,将消息格式为标准消息格式的消息进行格式转换,从而获得备用调用请求。其中,主用调用请求格式与预设的标准消息格式的转换规则、预设的标准消息格式与备用调用请求格式的转换规则由API管理平台204生成,终端202可以通过API管理平台204获得。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求可直接作为备用调用请求对备用API进行调用。
步骤308,使用备用调用请求调用备用API获得用于响应备用调用请求的备用响应,备用响应包括备用API的调用结果。
具体来说,API管理平台204根据备用调用请求获得备用调用请求所要调用的南向API的备用南向调用请求,向备用调用请求所要调用的南向API对应的备用API南向服务器208发送调用请求。然后API管理平台204接收来自备用API南向服务器208的用于响应备用南向调用请求的备用南向响应,根据备用南向响应获得备用响应。
步骤310,根据备用API的调用结果获得的主用API的调用结果。
可选的,具体来说,作为一种根据备用API的调用结果获得的主用API的调用结果的可能的实现方式,备用API的调用结果包括备用结果参数以及备用结果参数的取值,终端202或API管理平台204可以根据预设的备用结果参数与主用结果参数的对应关系确定与备用结果参数对应的主用结果参数,备用结果参数对应的主用结果参数为主用结果参数,其中,主用结果参数为可通过备用结果参数的取值获得取值的主用结果参数。并根据备用结果参数的取值确定主用结果参数的取值。然后获得主用API的调用结果,主用API的调用结果包括主用结果参数以及主用结果参数的取值。其中,备用结果参数与主用结果参数的对应关系由API管理平台204生成,终端202可以从API管理平台获得。在终端上应用程序的开发者指定了备用结果参数与主用结果参数的对应关系时,API管理平台根据开发者指定的备用结果参数与主用结果参数的对应关系生成用于API管理平台204查询的备用结果参数与主用结果参数的对应关系。
其中,作为一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,终端202或API管理平台204可以确定主用结果参数的取值为备用结果参数的取值。
其中,作为另一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,终端202或API管理平台204也可以根据预设的备用结果参数的取值与主用结果参数的取值的转换规则,将备用结果参数的取值转换为主用结果参数的取值。其中,备用结果参数的取值与主用结果参数的取值的转换规则由API管理平台204生成,终端202可以从API管理平台获得。
可选的,在具体实现过程中,备用结果参数的取值与主用结果参数的取值的转换规则可以包括备用结果参数的取值与主用结果参数的取值的计算规则,终端202或API管理平台204可以根据备用结果参数的取值与应用主用结果参数的取值的计算规则,使用备用结果参数的取值计算主用结果参数的取值。
可选的,在具体实现过程中,备用结果参数的取值与主用结果参数的取值的转换规则还可以包括备用结果参数的格式与主用结果参数的格式转换规则,终端202或API管理平台204还可以根据备用结果参数的格式与主用结果参数的格式转换规则,将备用结果参数的取值进行格式转换获得主用结果参数的取值。
可选的,在具体实现过程中,终端202或API管理平台204还可以根据备用结果参数的格式与主用结果参数的格式转换规则以及备用结果参数的取值与主用结果参数的取值的计算规则将备用结果参数的取值进行计算,再将获得的取值进行格式转换获得主用结果参数的取值;或终端202或API管理平台204将备用结果参数的取值进行格式转换,再使用获得的取值计算主用结果参数的取值。
可选的,具体来说,作为另一种根据备用API的调用结果获得的主用API的调用结果的可能的实现方式,备用API的调用结果可直接作为主用API的调用结果。
可选的,步骤312,向终端发送包括主用API的调用结果的主用响应用于响应主用调用请求。
具体来说,该步骤由API管理平台204执行,API管理平台向终端202发送包括主用API的调用结果的用于响应主用调用请求的主用响应。
其中,作为一种获得主用响应的可能的实现方式,API管理平台204可以将主用结果参数以及主用结果参数的取值按主用响应的消息格式进行封装获得主用响应。
其中,作为另一种获得主用响应的可能的实现方式,API管理平台204也将主用结果参数以及主用结果参数的取值替换备用响应中的备用结果参数以及备用结果参数的取值,以获得主用响应。作为补充,在将主用结果参数以及主用结果参数的取值替换备用响应中的备用结果参数以及备用结果参数的取值之后,根据预设的备用响应格式与主用响应格式的转换规则,将被替换后的消息进行格式转换,从而获得主用响应。
其中,作为另一种获得主用响应的可能的实现方式,API管理平台可以直接将备用响应作为主用响应。
作为补充的,主用参数、备用参数、主用结果参数或备用结果参数的取值可以是数值、也可以是用于设备间对话的标识。
作为补充的,主用参数为主用调用请求的参数,备用参数为备用调用请求的参数,主用结果参数为主用API的调用结果的参数,备用结果参数为备用API的调用结果的参数。
有关本发明实施例与上文中相同内容的详细描述已经在上文进行了详细的描述,因此此处不再赘述。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例在主用API不可用时,将主用API的调用请求进行转换获得备用API的调用请求,并将获得的备用API的调用请求调用备用API从而为调用主用API的APP提供所需的服务,从而保证APP的可靠性。
下面结合图3中提供的宕机检测方法对本发明实施例提供的宕机检测方法进行进一步的描述。
可选的,图4是本发明实施例提供的一种应用程序编程接口的调用方法的流程示意图。该方法步骤如下:
步骤401,获得用于调用主用应用程序编程接口API的主调用请求,主用API为北向API。
可选的,具体来说,可以是API管理平台204接收来自终端202的用于调用主用应用程序编程接口API的主调用请求。在具体实现过程中,该来自终端202的主用调用请求由应用程序服务器转发至API管理平台204。
可选的,具体来说,也可以是终端202获得用于调用主用应用程序编程接口API的主调用请求。
步骤402,检测主用API是否可用。
可选的,具体来说,作为一种检测主用API是否可用的实施例,API管理平台204可以获得主用调用请求所需调用的南向API,检测主用调用请求所需调用的南向API是否可用,在主用调用请求所需调用的南向API存在南向API不可用时,确定主用API不可用。该技术方案不需要确定调用北向API所能调用的所有南向API是否可用,仅需确定主用调用请求所需调用的南向API是否可用,从而更加有效的调用主用API。在具体实现过程中,API管理平台204可以根据编排逻辑去检查主用调用该请求所需调用的南向API,编排逻辑用于指示对主用调用请求进行的操作以及操作顺序以便根据主用调用请求进行南向API的调用。在具体的实现过程中,检测南向API是否可用的方法是,API管理平台204可以从API管理平台202的数据库或存储设备中提取南向API,对南向API进行心跳检测检测南向API是否可用,例如发GET请求或使用专用心跳通道进行心跳检测检测南向API是否可用。
可选的,具体来说,作为一种检测主用API是否可用的实施例,API管理平台204可以获得调用主用API所能调用的南向API,检测调用主用API所能调用的南向API是否可用,在调用主用API所能调用的南向API存在南向API不可用时,确定主用API不可用,该技术方案解决了无法在不调用北向API的前提下检测北向API是否可用的技术问题。在具体实现过程中,API管理平台204可以根据编排逻辑,具体根据编排逻辑中的南向API与北向API的调用关系获得主用API所能调用的南向API。其中,南向API与北向API的调用关系用于指示调用北向API所能调用的南向API,以及用于指示要实现调用南向API所需调用的北向API,并且南向API与北向API的调用关系可以用表格的形式记录并被查询。
可选的,作为一中检测主用API是否可用的可能的实现方式,API管理平台204可以使用主用调用请求调用主用API,如果不能得到主用调用请求的响应,则主用API不可用。
可选的,具体来说,作为一种检测主用API是否可用的实施例,主用API为北向API,终端202或API管理平台204可以获得不可用北向API列表;在不可用北向API列表存在主用API时,确定主用API不可用。
可选的,在具体实现过程中,不可用北向API列表被API管理平台204定时触发生成,终端202或API管理平台204可以直接获得。API管理平台204也可以在检测主用API是否可用时生成不可用北向API列表。其中,API管理平台204可以根据南向API与北向API的调用关系和南向API生成不可用北向API列表,并存储于API管理平台204的数据库或存储设备中。
其中,作为一种生成不可用北向API列表的可能的实现方式,API管理平台204可以获得南向API,在具体实现过程中,API管理平台可以从API管理平台204的数据库或存储设备中提取出南向API的路径,南向API的路径可以以列表形式存储于数据库或存储设备中。根据南向API的路径检测南向API是否可用获得不可用南向API,根据调用关系和不可用南向API获得不可用北向API,并根据不可用北向API生成不可用北向API列表。
步骤403,主用调用请求包括主用参数以及主用参数的取值,根据预设的主用参数与备用参数的对应关系确定与主用参数对应的备用参数。
具体来说,主用参数与备用参数的对应关系用于指示主用参数或主用参数的组合可以得到的备用参数,主用参数与备用参数的可以是多对应多的情况,即可以存在多个主用参数对应一个备用参数,也可以存在一个主用参数对应多个备用参数,也可以存在一个主用参数对应一个备用参数。
具体来说,主用参数的取值表示一个值、多个值、多个值组成的向量或多个值组成的矩阵。
步骤404,根据主用参数的取值确定备用参数的取值。具体来说,备用参数的取值表示一个值、多个值、多个值组成的向量或多个值组成的矩阵。
其中,作为一种根据主用参数的取值确定备用参数的取值的可能的实现方式,终端202或API管理平台204可以确定备用参数的取值为主用参数的取值。
其中,作为另一种根据主用参数的取值确定备用参数的取值的可能的实现方式,终端202或API管理平台204也可以根据预设的主用参数的取值与备用参数的取值的转换规则,将主用参数的取值转换为备用参数的取值。
步骤405,获得用于调用备用API的备用调用请求,备用API为北向API,备用调用请求包括备用参数以及备用参数的取值。
其中,作为一种获得备用调用请求的可能的实现方式,终端202或API管理平台204可以将备用参数以及备用参数的取值按备用调用请求的消息格式进行封装获得备用调用请求。
作为补充,在将备用参数以及备用参数的取值按备用调用请求的消息格式进行封装获得备用调用请求之前,API管理平台204还可以将封装备用调用请求所需要但并没有包括在备用参数的参数进行默认值填写,从而获得封装备用调用请求所需要但并没有包括在备用参数的参数及参数的取值。
其中,作为另一种获得备用调用请求的可能的实现方式,终端202或API管理平台204也可以将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值,以获得备用调用请求。
步骤406,使用备用调用请求调用备用API获得用于响应备用调用请求的备用响应,备用响应包括备用API的调用结果。
具体来说,API管理平台204根据备用调用请求获得备用调用请求所要调用的南向API的备用南向调用请求,在具体实现过程中,API管理平台204可以通过备用调用请求中的内容以及API管理平台编排逻辑确定备用调用请求所要调用的南向API。向备用调用请求所要调用的南向API对应的备用API南向服务器208发送备用南向调用请求。然后接收来自备用API南向服务器208的用于响应备用南向调用请求的备用南向响应,根据备用南向响应获得备用响应,备用响应包括备用API的调用结果。
作为补充的,API管理平台204还可以向用于转发API调用请求的网卡或网关或服务器发送备用调用请求,并接收网卡或网关或服务器回发的备用调用请求。
步骤407,备用API的调用结果包括备用结果参数以及备用结果参数的取值,根据备用结果参数与主用结果参数的预设的对应关系确定与备用结果参数对应的主用结果参数。
具体来说备用结果参数与主用结果参数的对应关系用于指示备用结果参数或备用结果参数的组合可以得到的主用结果参数,备用结果参数与主用结果参数的可以是多对应多的情况,即可以存在多个备用结果参数对应一个主用结果参数,也可以存在一个备用结果参数对应多个主用结果参数,也可以存在一个备用结果参数对应一个主用结果参数。
具体来说,备用结果参数的取值表示一个值、多个值、多个值组成的向量或多个值组成的矩阵。
步骤408,根据备用结果参数的取值确定主用结果参数的取值,从而获得包括主用结果参数以及主用结果参数的取值的主用API的调用结果。
具体来说,主用结果参数的取值表示一个值、多个值、多个值组成的向量或多个值组成的矩阵。
其中,作为一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,终端202或API管理平台204可以确定主用结果参数的取值为备用结果参数的取值。
其中,作为另一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,终端202或API管理平台204也可以根据预设的备用结果参数的取值与主用结果参数的取值的转换规则,将备用结果参数的取值转换为主用结果参数的取值。
作为补充,API管理平台204还可以获得主用响应,主用响应包括主用API的调用结果,主用API的调用结果包括主用结果参数以及主用结果参数的取值。
其中,作为一种获得主用响应的可能的实现方式,API管理平台204可以将主用结果参数以及主用结果参数的取值按主用响应的消息格式进行封装获得主用响应。
作为补充,在将主用结果参数以及主用结果参数的取值按主用响应的消息格式进行封装获得主用响应之前,API管理平台204还可以将封装主用响应所需要但并没有包括在主用结果参数的参数进行默认值填写,从而获得封装主用响应所需要但并没有包括在主用结果参数的参数及参数的取值。
其中,作为另一种获得主用响应的可能的实现方式,API管理平台204也可以将主用结果参数以及主用结果参数的取值替换为备用响应中的备用结果参数以及备用结果参数的取值,以获得主用响应。
作为补充的,API管理平台204可以在获得主用响应之后,向终端202发送主用响应。
有关本发明实施例与上文中相同内容的详细描述已经在上文进行了详细的描述,因此此处不再赘述。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例在发现主用API不可用时,将主用API的调用请求进行转换获得备用API的调用请求,并将获得的备用API的调用请求调用备用API,从而为调用主用API的APP提供所需的服务,从而保证APP的可靠性。
图5是依据本发明实施例的应用程序编程接口的调用装置500的逻辑结构示意图,应用程序编程接口的调用装置500可以是例如但不限于终端202或API管理平台204。如图5所示,应用程序编程接口的调用装置500包括请求获得模块502、检测模块504、请求转换模块506、调用模块508、响应获得模块510和结果转换模块512。当应用程序编程接口的调用装置500为API管理平台204时,应用程序编程接口的调用装置500还包括响应发送模块514。
请求获得模块502,用于获得用于调用主用应用程序编程接口API的主调用请求,主用API为北向API。
可选的,在应用程序编程接口的调用装置500为API管理平台204时,请求获得模块502可以是用于接收来自终端202的用于调用主用应用程序编程接口API的主调用请求。
检测模块504,检测请求获得模块502获得的主用调用请求调用的主用API是否可用。
可选的,具体来说,作为一种从请求获得模块502获得主用调用请求,检测主用API是否可用的实施例,检测模块504可以具体用于获得主用调用请求所需调用的南向API,检测主用调用请求所需调用的南向API是否可用,在主用调用请求所需调用的南向API存在南向API不可用时,确定主用API不可用。该技术方案不需要确定调用北向API所能调用的所有南向API是否可用,仅需确定主用调用请求所需调用的南向API是否可用,从而更加有效的调用主用API。
可选的,具体来说,作为一种从请求获得模块502获得主用API,检测主用API是否可用的实施例,检测模块504获得调用主用API所能调用的南向API,检测调用主用API所能调用的南向API是否可用,在调用主用API所能调用的南向API存在南向API不可用时,确定主用API不可用。该技术方案解决了无法在不调用北向API的前提下检测北向API是否可用的技术问题。
可选的,具体来说,作为另一种从请求获得模块502获得主用API,检测主用API是否可用的实施例,主用API为北向API,应用程序编程接口的调用装置还包括列表生成模块,列表生成模块用于生成不可用北向API列表。检测模块504还用于从列表生成模块获得不可用北向API列表,并检测不可用北向API列表是否存在主用API,在不可用北向API列表存在主用API时,确定主用API不可用。
可选的,在具体实现过程中,不可用北向API列表被列表生成模块定时触发生成,检测模块504可以直接获得。该技术方案使得检测北向API是否可用相比于上述检测北向API是否可用的方法更加便捷。列表生成模块也可以在检测主用API是否可用时生成不可用北向API列表。其中,API管理平台204可以根据南向API与北向API的调用关系和南向API生成不可用北向API列表。
其中,作为一种生成不可用北向API列表的可能的实现方式,列表生成模块具体用于可以获得南向API,检测南向API是否可用获得不可用南向API,根据调用关系和不可用南向API获得不可用北向API,并根据不可用北向API生成不可用北向API列表。
可选的,作为一种根据调用关系和不可用南向API获得不可用北向API的可能的实现方式,列表生成模块可以具体用于检测待检测的北向API在调用关系中是否对应不可用南向API的南向API,如果待检测的北向API在调用关系中对应不可用南向API的南向API,则待检测的北向API为不可用北向API的北向API。
可选的,作为另一种根据调用关系和不可用南向API获得不可用北向API的可能的实现方式,列表生成模块也可以具体用于根据调用关系获得的不可用南向API对应的北向API为不可用北向API的北向API。
请求转换模块506,用于从检测模块接收主用API是否可用的检测结果,在主用API不可用时,根据请求获得模块获得的主用调用请求获得用于调用备用API的备用调用请求,备用API为北向API,主用API与备用API为具有相同的功能类别的API。
可选的,具体来说,作为一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数以及主用参数的取值,请求转换模块506可以包括参数确定模块、取值计算模块或消息封装模块。
参数确定模块,用于根据预设的主用参数与备用参数的对应关系确定主用参数对应的备用参数,与主用参数对应的备用参数为备用参数。
取值计算模块,根据主用参数的取值确定参数确定模块确定的备用参数的取值。
其中,作为一种根据主用参数的取值确定备用参数的取值的可能的实现方式,取值计算模块可以具体用于确定备用参数的取值为主用参数的取值。
其中,作为一种根据主用参数的取值确定备用参数的取值的可能的实现方式,取值计算模块也可以具体用于根据预设的主用参数的取值与备用参数的取值的转换规则,将主用参数的取值转换为备用参数的取值。
可选的,在具体实现过程中,主用参数的取值与备用参数的取值的转换规则可以包括主用参数的取值与备用参数的取值的计算规则,取值计算模块可以根据主用参数的取值与应用备用参数的取值的计算规则,使用主用参数的取值计算备用参数的取值。
可选的,在具体实现过程中,主用参数的取值与备用参数的取值的转换规则还可以包括主用参数的格式与备用参数的格式转换规则,取值计算模块还可以根据主用参数的格式与备用参数的格式转换规则,将主用参数的取值进行格式转换获得备用参数的取值。
可选的,在具体实现过程中,取值计算模块还可以根据上述主用参数的格式与备用参数的格式转换规则以及上述主用参数的取值与备用参数的取值的计算规则将主用参数的取值进行计算,再将获得的取值进行格式转换获得备用参数的取值;或终端202或API管理平台204将主用参数的取值进行格式转换,再使用获得的取值计算备用参数的取值。
消息封装模块,用于从取值计算模块接收备用参数的取值,并根据参数确定模块确定的备用参数获得备用调用请求,备用调用请求包括备用参数以及备用参数的取值。
其中,作为一种获得备用调用请求的可能的实现方式,消息封装模块可以具体用于将备用参数以及备用参数的取值按备用调用请求的消息格式进行封装获得备用调用请求;
其中,作为一种获得备用调用请求的可能的实现方式,消息封装模块也可以将备用参数以及备用参数的取值替换主用调用请求中的主用参数以及主用参数的取值,以获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数,备用调用请求包括备用参数,请求转换模块506具体用于根据预设的主用参数与备用参数的对应关系,将主用调用请求中的主用参数的名称修改为与主用参数对应的备用参数的名称,以获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,主用调用请求包括主用参数,备用调用请求包括备用参数,请求转换模块506具体用于根据预设的主用参数的取值与备用参数的取值的转换规则,将主用调用请求中的主用参数的取值转换为备用参数的取值,以获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,请求转换模块506具体用于根据预设的主用调用请求格式与备用调用请求格式的转换规则,将主用调用请求进行格式转换,从而获得备用调用请求。
可选的,具体来说,作为另一种根据主用调用请求获得用于调用备用API的备用调用请求的实现方式,请求转换模块506具体用于根据主用调用请求格式与预设的标准消息格式的转换规则,将主用调用请求进行格式转换,从而获得消息格式为标准消息格式的消息;根据预设的标准消息格式与备用调用请求格式的转换规则,将消息格式为标准消息格式的消息进行格式转换,从而获得备用调用请求。
调用模块508,用于从请求转换模块506接收备用调用请求,使用备用调用请求调用备用API。
具体来说,调用模块508还可以包括南向请求生成模块、南向请求发送模块。
南向请求生成模块,用于根据备用调用请求获得备用调用请求所要调用的南向API的备用南向调用请求。
南向请求发送模块,用于向备用调用请求所要调用的南向API对应的备用API南向服务器208发送从南向请求生成模块获得的备用南向调用请求。
响应获得模块510,用于获得用于响应备用调用请求的备用响应,备用响应包括备用API的调用结果。
具体来说,响应获得模块还可以包括南向响应接收模块和南向响应转换模块。
南向响应接收模块,用于接收来自备用API南向服务器208的用于响应备用南向调用请求的备用南向响应。
南向响应转换模块,用于根据南向响应接收模块获得的备用南向响应获得备用响应。
结果转换模块512,用于从响应获得模块获得备用响应的备用API的调用结果,根据响应获得模块510获得的备用API的调用结果获得的主用API的调用结果。
可选的,具体来说,作为一种根据备用API的调用刚接过获得主用API的调用结果的实现方式,备用API的调用结果包括备用结果参数以及备用结果参数的取值,响应转换模块512可以包括结果参数确定模块、结果取值计算模块或响应封装模块。
结果参数确定模块,用于根据预设的备用结果参数与主用结果参数的对应关系确定备用结果参数对应的主用结果参数。
结果取值计算模块,根据备用结果参数的取值确定结果参数确定模块确定的主用结果参数的取值。
其中,作为一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,结果取值计算模块可以具体用于确定主用结果参数的取值为备用结果参数的取值。
其中,作为一种根据备用结果参数的取值确定主用结果参数的取值的可能的实现方式,结果取值计算模块也可以具体用于根据预设的备用结果参数的取值与主用结果参数的取值的转换规则,将备用结果参数的取值转换为主用结果参数的取值。
可选的,在具体实现过程中,备用结果参数的取值与主用结果参数的取值的转换规则可以包括备用结果参数的取值与主用结果参数的取值的计算规则,结果取值计算模块可以根据备用结果参数的取值与应用主用结果参数的取值的计算规则,使用备用结果参数的取值计算主用结果参数的取值。
可选的,在具体实现过程中,备用结果参数的取值与主用结果参数的取值的转换规则还可以包括备用结果参数的格式与主用结果参数的格式转换规则,结果取值计算模块还可以根据备用结果参数的格式与主用结果参数的格式转换规则,将备用结果参数的取值进行格式转换获得主用结果参数的取值。
可选的,在具体实现过程中,结果取值计算模块还可以根据上述备用结果参数的格式与主用结果参数的格式转换规则以及上述备用结果参数的取值与主用结果参数的取值的计算规则将备用结果参数的取值进行计算,再将获得的取值进行格式转换获得主用结果参数的取值;或终端202或API管理平台204将备用结果参数的取值进行格式转换,再使用获得的取值计算主用结果参数的取值。
可选的,在应用程序编程接口的调用装置500为API管理平台204时,应用程序编程接口的调用装置500还可以包括响应发送模块514,响应发送模块514用于向终端202发送包括结果转换模块512获得的主用API的调用结果的主用响应用于响应请求接收模块502接收的主用调用请求。具体来说,响应发送模块514将主用结果参数以及主用结果参数的取值替换备用响应中的备用结果参数以及备用结果参数的取值,以获得主用响应并向终端202发送。作为补充,在将主用结果参数以及主用结果参数的取值替换备用响应中的备用结果参数以及备用结果参数的取值之后,根据预设的备用响应格式与主用响应格式的转换规则,将被替换后的消息进行格式转换,从而获得主用响应。响应发送模块514可以将主用结果参数以及主用结果参数的取值按主用响应的消息格式进行封装获得主用响应。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
从本发明实施例提供的以上技术方案可以看出,由于应用程序编程接口的调用装置在发现主用API不可用时,将主用API的调用请求进行转换获得备用API的调用请求,并将获得的备用API的调用请求调用备用API,从而为调用主用API的APP提供所需的服务,从而保证APP的可靠性。
图6是依据本发明一实施例的设备600的硬件结构示意图。如图6所示,计算机设备600包括处理器602、存储器604、输入/输出接口606、通信接口608和总线610。其中,处理器602、存储器604、输入/输出接口606和通信接口608通过总线610实现彼此之间的通信连接。
处理器602可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
存储器604可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器604可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器604中,并由处理器602来执行。
输入/输出接口606用于接收输入的数据和信息,输出操作结果等数据。
通信接口608使用例如但不限于收发器一类的收发装置,来实现计算机设备600与其他设备或通信网络之间的通信。
总线610可包括一通路,在计算机设备600各个部件(例如处理器602、存储器604、输入/输出接口606和通信接口608)之间传送信息。
应注意,尽管图6所示的计算机设备600仅仅示出了处理器602、存储器604、输入/输出接口606、通信接口608以及总线610,但是在具体实现过程中,本领域的技术人员应当明白,计算机设备600还包含实现正常运行所必须的其他器件,例如显示屏幕。同时,根据具体需要,本领域的技术人员应当明白,计算机设备600还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,计算机设备600也可仅仅包含实现本发明实施例所必须的器件,而不必包含图6中所示的全部器件。
图6所示的设备以及上述描述可以是终端202或API管理平台204,用于执行执行本发明实施例中的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以根据计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。