CN114490124A - 调用应用程序编程接口api的方法、装置、设备及介质 - Google Patents
调用应用程序编程接口api的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114490124A CN114490124A CN202210057840.6A CN202210057840A CN114490124A CN 114490124 A CN114490124 A CN 114490124A CN 202210057840 A CN202210057840 A CN 202210057840A CN 114490124 A CN114490124 A CN 114490124A
- Authority
- CN
- China
- Prior art keywords
- version
- api
- target
- calling
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及运维技术领域,提供了一种调用应用程序编程接口API的方法、装置、设备及介质,其中方法包括:若接收到第一应用服务的调用请求,则向第一应用服务发送预设API调用配置,调用请求用于调用第二应用服务的目标API,调用请求包括调用需求,预设API调用配置为目标API的预设版本的API调用配置;若接收到第一应用服务的调用失败消息,则获取目标API的各版本的版本信息;基于调用需求和目标API的各版本的版本信息,从目标API的版本中选取目标版本;生成目标版本的目标API调用配置;向第一应用服务发送目标API调用配置。采用本申请,可提高调用API的成功率和***的兼容性。
Description
技术领域
本申请涉及运维技术领域,主要涉及了一种调用应用程序编程接口API的方法、装置、计算机设备及介质。
背景技术
随着软件业的快速发展,软件功能越来越强大,越来越多的应用服务将自身的资源以应用程序编程接口(application programming interface,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的成功率和***的兼容性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本申请实施例提供的一种调用应用程序编程接口API的方法的流程示意图;
图2为本申请实施例提供的一种调用应用程序编程接口API的装置的结构示意图;
图3为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例应用的网络架构包括服务器和电子设备。本申请实施例不限定电子设备和服务器的数量,服务器可同时为多个电子设备提供服务。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器或者可以通过多个服务器组成的服务器集群来实现。
电子设备可以是个人计算机(personal computer,PC)、笔记本电脑或智能手机,还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等。PC端的电子设备,例如一体机等,其操作***可以包括但不限于Linux***、Unix***、Windows系列***(例如Windows xp、Windows 7等)、Mac OS X***(苹果电脑的操作***)等操作***。移动端的电子设备,例如智能手机等,其操作***可以包括但不限于安卓***、IOS(苹果手机的操作***)、Window***等操作***。
电子设备可以安装并运行应用程序,服务器可以是电子设备所安装的应用程序对应的服务器,为应用程序提供应用服务。其中,应用程序可以是单独集成的应用软件,或其它应用中嵌入的小程序,或者网页上的***等,在此不做限定。
服务器具体用于为电子设备提供各应用服务***中涉及的应用服务。服务器可包括API版本管理模块,可用于存储应用服务中每一API的版本信息。其中,版本信息可包括版本号、版本更新内容、兼容性等,在此不做限定。版本号用于表示版本。版本更新内容用于描述本版本新增的内容。兼容性用于描述是否兼容前面的版本。
在本申请实施例中,调用其他应用服务的应用服务可称为第一应用服务,被调用的其他应用服务可称为第二应用服务。第二应用服务中被第一应用服务调用的API称为目标API。API版本管理模块还用于对目标API进行配置,得到目标API的各版本的API调用配置,以使第一应用服务基于API调用配置调用对应版本的目标API。
需要说明的是,目标API的版本可能有1个或多个。若目标API存在多个版本,则可以选取预设版本,并配置该预设版本的预设API调用配置。本申请对于选取预设版本的方法不做限定,示例性地,第一应用服务需调用第二应用服务的目标API,该目标API存在V1.0、V1.1、V1.2共3个版本。如此,可以选取V1.0、V1.1、V1.2中的最新版本(V1.2)作为第一应用服务调用的目标API的预设版本。或者可以选取V1.0、V1.1、V1.2中兼容性最大的版本作为第一应用服务调用的目标API的预设版本。或者可以基于第一应用服务的调用请求中的预设条件,从V1.0、V1.1、V1.2中选取满足该预设条件的版本作为第一应用服务调用的目标API的预设版本。或者可以从上一次第一应用服务成功调用的版本中作为第一应用服务调用的目标API的预设版本等。
在一种可能的示例中,API版本管理模块还用于在目标API的版本更新之后,或API调用配置更新之后,向第一应用服务和第二应用服务对应的负责人发送审批请求,以确定上述更新是否生效。也就是说,通过审批确定是否为有效修改。若审批通过,则可以向所有涉及第一应用服务和第二应用服务对应的应用服务或***同步上述的更新信息,以实现调用版本信息的同步,有利于提高调用API的成功率和***的兼容性。
本申请实施例提出一种调用应用程序编程接口API的方法,该方法可以由调用应用程序编程接口API的装置执行。该装置可由软件和/或硬件实现,一般可集成在服务器中,可提高调用API的成功率和***的兼容性。
请参照图1,图1是本申请提供的一种调用应用程序编程接口API的方法的流程示意图。以该方法应用在服务器为例进行举例说明,包括如下步骤S101~S105,其中:
S101、若接收到第一应用服务的调用请求,则向第一应用服务发送预设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的预设版本,以提高调用效率。
S102、若接收到第一应用服务的调用失败消息,则获取目标API的各版本的版本信息。
在本申请实施例中,若第一应用服务基于预设API调用配置调用目标API失败,则可以向服务器发送调用失败消息,以指示第一应用服务调用目标API失败。如此,可以请求配置另外的目标API的版本或预设版本的新配置信息,从而得到新的API调用配置,以提高调用的成功率。
S103、基于调用需求和目标API对应的各版本的版本信息从目标API的版本中选取目标版本。
在本申请实施例中,目标版本为基于调用需求和目标API对应的各版本的版本信息从目标API的版本中选取的版本。目标API调用配置为目标版本的API调用配置。需要说明的是,目标版本和预设版本可以相同或不同,目标API调用配置和预设API调用配置为不同的配置信息。如此,可通过新配置的目标版本对应的目标API调用配置调用目标API,提高了调用的成功率和***的兼容性。
在一种可能的示例中,步骤S103可以包括以下步骤A1~A3,其中:
A1、对调用需求进行解析,得到待调用的第一功能和与第一功能关联的第二功能。
在本申请实施例中,第一功能是指第一应用服务本次需调用的功能。第二功能是指与第二应用服务中与第一功能相关联的功能。因此,在调用第一功能时,可能会调用到第二功能。
本申请对于调用需求的解析方法不做限定,可以基于自然语言处理算法进行文本解析,得到每一分词的词性、词义和词频。再基于分词的词性、词义和词频确定调用需求的处理事项,以确定待调用的第一功能。然后基于第二应用服务中各功能之间的关联关系确定与第一功能关联的第二功能。如此,基于调用需求确定本次调用的功能,并确定与其相关联的功能,可提高选取待调用的目标版本的准确率,有利于提高调用的成功率。
在一种可能的示例中,若调用需求未指明处理事项,则可以基于目标API中的各个功能的功能描述确定各功能的重要性,再基于各功能的重要性确定其中的第一功能以及第二功能。如此,基于被调用的功能的重要性确定选取目标API的第一功能和第二功能,有利于提高调用的成功率。
A2、基于目标API的各版本的版本信息获取各版本调用第一功能和第二功能的成功率。
在本申请实施例中,版本调用第一功能和第二功能的成功率用于描述调用该版本的目标API的成功概率。本申请对于获取成功率的方法不做限定,在一种可能的示例中,步骤A2可以包括以下步骤A21~A24,其中:
A21、基于目标API的各版本的版本信息获取各版本的功能描述。
在本申请实施例中,版本的功能描述用于描述该版本中每一功能的信息。例如,功能类型、应用场景、使用方法、使用效果等。本申请对于获取功能描述的方法不做限定,在一种可能的示例中,所述版本信息包括版本号、版本更新内容、兼容性,步骤A21可以包括以下步骤A211~A213,其中:
A211、基于版本的兼容性和版本号获取版本的兼容版本内容。
A212、基于版本的版本更新内容和兼容版本内容组成版本的目标版本内容。
在本申请实施例中,版本的兼容版本内容可包括版本前向兼容的版本信息,还可包括后向兼容的版本信息。可以基于版本的兼容性确定该版本兼容的其他版本的内容,再基于各版本的版本号和兼容性获取各版本的兼容版本内容。
版本更新内容包括版本本次更新的内容,即之前发布的版本没有的内容。版本的目标版本内容是指该版本支持的所有内容。因此,可以组合版本的版本更新内容和兼容版本内容,得到版本的目标版本内容。
A213、基于目标版本内容获取版本的功能描述。
可以理解,在步骤A211~A213中,先基于版本的兼容性和版本号获取版本的兼容版本内容。再基于版本的版本更新内容和兼容版本内容获取版本的目标版本内容。在获取目标版本内容之后,可以逐一获取目标版本内容中每一功能的描述信息,得到版本的功能描述。如此,可以避免丢失版本的功能,可提高选取目标版本的准确率。
A22、获取第一功能对应的第一文本向量,以及第二功能对应的第二文本向量。
在本申请实施例中,第一文本向量是第一功能的文本描述信息。该第一文本向量中包括各描述词汇的标记信息,该标记信息可以为每一词汇的词性、词频(TermFrequency,TF)和逆文本频率(Inverse Document Frequency,IDF)之间的乘积等。第二文本向量是第二功能的文本描述信息,第二文本向量的内容可以参照第一文本向量的描述。
A23、获取版本的功能描述和第一文本向量之间的第一相似值,以及功能描述和第二文本向量之间的第二相似值。
在本申请实施例中,第一相似值用于描述功能描述和第一文本向量之间的匹配度,第二相似值用于描述功能描述和第二文本向量之间的匹配度。以下以第一相似值进行举例说明,可以基于功能描述对应的文本向量和第一文本向量之间的余弦相似度进行计算。或者可以基于第一文本向量中第一功能的目标词汇在功能描述中的占比进行获取。或者可以基于第一文本向量对应的目标功能和版本的功能描述之间的匹配值进行获取等。
A24、对第一相似值和第二相似值进行加权计算,得到版本调用第一功能和第二功能的成功率。
版本调用第一功能和第二功能的成功率可以等于第一相似值和第一功能的预设权值之间的乘积,以及第二相似值和第二功能的预设权值之间的乘积的和值。其中,第一功能的预设权值和第二功能的预设权值可以基于第一功能和第二功能之间的重要性和关联性进行确定。例如,与第一功能越关联的第二功能的预设权值越大,对第二应用服务的影响越大的第二功能的预设权值越大。
可以理解,在步骤A21~A24中,先基于目标API的各版本的版本信息获取各版本的功能描述。再分别获取第一功能对应的第一文本向量,以及第二功能对应的第二文本向量。然后对版本的功能描述和第一文本向量之间的第一相似值,以及版本的功能描述和第二文本向量之间的第二相似值进行加权计算,得到版本调用第一功能和第二功能的成功率。如此,可以提高获取成功率的准确性,有利于提高调用的成功率。
A3、从目标API的版本中选取成功率的最大值对应的版本,得到目标版本。
在本申请实施例中,目标版本为目标API的版本中成功率的最大值对应的版本。示例性地,目标API的版本包括V1.0、V1.1、V1.2共3个版本。若V1.0调用第一功能和第二功能的成功率为80%,V1.1调用第一功能和第二功能的成功率为90%,V1.2调用第一功能和第二功能的成功率86%,则目标版本为V1.1。
可以理解,在步骤A1~A3中,将目标API的各版本中调用第一功能和第二功能的成功率的最大值对应的版本作为目标版本。如此,选取的目标版本能够尽可能满足调用需求,有利于提高选取的准确率。
S104、生成目标版本的目标API调用配置。
在一种可能的示例中,步骤S104可以包括以下步骤A41~A43,其中:
A41、基于目标版本内容确定目标版本的至少两个第三功能和第三功能的兼容性。
A42、基于第三功能的兼容性获取第三功能的子配置信息。
在本申请实施例中,第三功能是指目标版本支持的功能,第三功能包括第一功能和第二功能。目标版本的第三功能可以基于目标版本内容进行解析得到。第三功能的子配置信息可以基于第三功能的兼容性对第三功能的配置参数进行调整得到。第三功能的配置参数是指调用第三功能所需设置的信息,或具备的硬件内容。可以基于各个第三功能预先设置的配置参数进行确定。若未查找到预先设置的配置参数,则可以查找相似的功能的配置参数,再基于功能的不同进行调整,得到第三功能的配置参数。可以理解,基于第三功能的兼容性获取第三功能的子配置信息,可提高配置的准确率。
A43、基于子配置信息获取目标版本的目标API调用配置。
目标API调用配置可以为各个子配置信息的组成信息,或者对子配置信息进行聚类融合,以得到满足各项配置特征的目标API调用配置等。
可以理解,在步骤A41~A43中,先基于目标版本内容确定目标版本的至少两个第三功能和每一第三功能的兼容性。再基于该兼容性获取第三功能的子配置信息。再基于子配置信息获取目标版本的目标API调用配置。如此,可提高获取目标API调用配置的准确率,有利于提高调用的成功率。
S105、向第一应用服务发送目标API调用配置。
在图1所示的方法中,接收到第一应用服务的调用请求之后,向第一应用服务发送预设API调用配置,以使第一应用服务基于该预设API调用配置调用第二应用服务中的目标API的预设版本。若接收到第一应用服务的调用失败消息,则表示第一应用服务调用目标API失败,可以获取目标API的各版本的版本信息。基于该版本信息和调用请求中的调用需求从目标API的版本中选取目标版本,再生成目标版本的目标API调用配置。向第一应用服务发送目标API调用配置,以使第一应用服务基于该目标API调用配置调用目标API的目标版本。如此,可提高调用API的成功率和***的兼容性。
在一种可能的示例中,在步骤S105之后,还可包括以下步骤:若接收到第一应用服务的调用失败消息,则基于调用失败消息对目标API调用配置进行调整,得到目标版本的重试API调用配置;向第一应用服务发送重试API调用配置。
其中,调用失败消息如前所述,用于指示第一应用服务调用目标API失败。该调用失败消息可包括调用失败的标记信息,例如,调用失败的节点、调用失败的原因、已连接的步骤等。重试API调用配置可以基于调用失败原因,对目标API调用配置进行调整。具体的,可以基于调用失败原因确定第三功能中的目标功能,再调整该目标功能的子配置信息以及调整内容。或者可以基于调用失败原因确定目标配置信息,再调整该目标配置信息等。
可以理解,在该示例中,在第一应用服务的目标API调用配置调用目标API失败之后,第一应用服务向服务器发送调用失败消息。然后基于该调用失败消息对目标API调用配置进行调整,得到重试API调用配置。如此,可以基于重试API调用配置调用目标API,提高了调用的成功率。若基于重试API调用配置调用失败,可执行步骤基于调用失败消息对重试API调用配置进行调整,得到新的重试API调用配置,再基于重新得到的重试API调用配置进行尝试,直至调用成功,或者选取另外的目标版本。
在一种可能的示例中,在步骤S105之后,还可包括以下步骤:若接收到第一应用服务的调用成功消息,则将预设API调用配置替换为目标API调用配置,并存储。
其中,调用成功消息用于指示第一应用服务调用目标API成功。可以理解,在该示例中,在第一应用服务调用目标API成功之后,可以将目标API调用配置进行存储,并替换掉预设API调用配置,以提高调用的成功率。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
与图1所示的实施例一致,请参照图2,图2是本申请提出的一种调用应用程序编程接口API的装置的结构示意图。如图2所示,上述调用应用程序编程接口API的装置200包括:
通信单元201用于若接收到第一应用服务的调用请求,则向所述第一应用服务发送预设API调用配置;其中,所述调用请求用于调用第二应用服务的目标API,所述调用请求包括调用需求,所述预设API调用配置包括所述目标API的预设版本;
获取单元202用于若接收到所述第一应用服务的调用失败消息,则获取所述目标API的各版本的版本信息;其中,所述调用失败消息用于指示所述第一应用服务调用所述目标API失败;
选取单元203用于基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本;
生成单元204用于生成所述目标版本的目标API调用配置;
所述通信单元201还用于向所述第一应用服务发送所述目标API调用配置。
在一种可能的示例中,所述选取单元203具体用于对所述调用需求进行解析,得到待调用的第一功能和与所述第一功能关联的第二功能;基于所述目标API的各版本的版本信息获取各所述版本调用所述第一功能和所述第二功能的成功率;从所述目标API的版本中选取所述成功率的最大值对应的版本,得到目标版本。
在一种可能的示例中,所述选取单元203具体用于基于所述目标API对应的各版本的版本信息获取各所述版本的功能描述;获取所述第一功能对应的第一文本向量,以及所述第二功能对应的第二文本向量;获取所述版本的功能描述和所述第一文本向量之间的第一相似值,以及所述功能描述和所述第二文本向量之间的第二相似值;对所述第一相似值和所述第二相似值进行加权计算,得到所述版本调用所述第一功能和所述第二功能的成功率。
在一种可能的示例中,所述目标API对应的各版本的版本信息包括各所述版本的版本号、版本更新内容、兼容性,所述选取单元203具体用于基于所述版本的兼容性和版本号获取兼容版本内容;基于所述版本的版本更新内容和所述兼容版本内容组成所述版本的目标版本内容;基于所述目标版本内容获取所述版本的功能描述。
在一种可能的示例中,所述生成单元204具体用于基于所述目标版本内容确定所述目标版本的至少两个第三功能和所述第三功能的兼容性,所述第三功能包括所述第一功能和所述第二功能;基于所述目标版本的兼容性获取所述第三功能的配置信息;基于所述配置信息组成所述目标版本的目标API调用配置。
在一种可能的示例中,所述调用应用程序编程接口API的装置200还包括查找单元205和确定单元206。其中,所述查找单元205用于用于查找所述预设API调用配置。所述获取单元202还用于若未查找到预设API调用配置,则获取所述第一应用服务调用所述目标API的历史记录;所述确定206用于基于所述历史记录确定所述目标API的预设版本;所述生成单元204基于所述预设版本的版本信息生成所述预设版本对应的预设API调用配置。
在一种可能的示例中,所述调用应用程序编程接口API的装置200还包括调整单元207,用于若接收到所述第一应用服务的调用失败消息,则基于所述调用失败消息对所述目标API调用配置进行调整,得到所述目标版本的重试API调用配置。所述通信单元201还用于向所述第一应用服务发送所述重试API调用配置。
该调用应用程序编程接口API的装置200中各个单元执行详细过程可以参见前述方法实施例中的执行步骤,此处不在赘述。
与图1的实施例一致,请参照图3,图3是本申请实施例提供的一种计算机设备的结构示意图。如图3所示,该计算机设备300包括处理器310、存储器320和通信接口330。处理器310、存储器320和通信接口330之间通过总线350互相连接。图2所示的通信单元201所实现的相关功能可通过通信接口330来实现,图2所示的处理单元202所实现的相关功能可通过处理器310来实现。
上述存储器320中存储有计算机程序340,计算机程序340被配置由上述处理器310执行,计算机程序340包括用于执行以下步骤的指令:
若接收到第一应用服务的调用请求,则向所述第一应用服务发送预设API调用配置;其中,所述调用请求用于调用第二应用服务的目标API,所述调用请求包括调用需求,所述预设API调用配置为所述目标API的预设版本的API调用配置;
若接收到所述第一应用服务的调用失败消息,则获取所述目标API的各版本的版本信息;其中,所述调用失败消息用于指示所述第一应用服务调用所述目标API失败;
基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本;
生成所述目标版本的目标API调用配置;
向所述第一应用服务发送所述目标API调用配置。
在一个可能的示例中,在所述基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本方面,所述计算机程序340具体包括用于执行以下步骤的指令:
对所述调用需求进行解析,得到待调用的第一功能和与所述第一功能关联的第二功能;
基于所述目标API的各版本的版本信息获取各所述版本调用所述第一功能和所述第二功能的成功率;
从所述目标API的版本中选取所述成功率的最大值对应的版本,得到目标版本。
在一个可能的示例中,在所述基于所述目标API的各版本的版本信息获取各所述版本调用所述第一功能和所述第二功能的成功率方面,所述计算机程序340具体包括用于执行以下步骤的指令:
基于所述目标API对应的各版本的版本信息获取各所述版本的功能描述;
获取所述第一功能对应的第一文本向量,以及所述第二功能对应的第二文本向量;
获取所述版本的功能描述和所述第一文本向量之间的第一相似值,以及所述功能描述和所述第二文本向量之间的第二相似值;
对所述第一相似值和所述第二相似值进行加权计算,得到所述版本调用所述第一功能和所述第二功能的成功率。
在一个可能的示例中,所述目标API对应的各版本的版本信息包括各所述版本的版本号、版本更新内容、兼容性,在所述基于所述目标API对应的各版本的版本信息获取各所述版本的功能描述方面,所述计算机程序340具体包括用于执行以下步骤的指令:
基于所述版本的兼容性和版本号获取兼容版本内容;
基于所述版本的版本更新内容和所述兼容版本内容组成所述版本的目标版本内容;
基于所述目标版本内容获取所述版本的功能描述。
在一个可能的示例中,在所述生成所述目标版本的目标API调用配置方面,所述计算机程序340具体包括用于执行以下步骤的指令:
基于所述目标版本内容确定所述目标版本的至少两个第三功能和所述第三功能的兼容性,所述第三功能包括所述第一功能和所述第二功能;
基于所述第三功能的兼容性获取所述第三功能的子配置信息;
基于所述配置信息组成所述目标版本的目标API调用配置。
在一个可能的示例中,在所述向所述第一应用服务发送预设API调用配置之前,所述计算机程序340还包括用于执行以下步骤的指令:
查找所述预设API调用配置;
若未查找到预设API调用配置,则获取所述第一应用服务调用所述目标API的历史记录;
基于所述历史记录确定所述目标API的预设版本;
基于所述预设版本的版本信息生成所述预设版本对应的预设API调用配置。
在一个可能的示例中,在所述向所述第一应用服务发送所述目标API调用配置之后,所述计算机程序340还包括用于执行以下步骤的指令:
若接收到所述第一应用服务的调用失败消息,则基于所述调用失败消息对所述目标API调用配置进行调整,得到所述目标版本的重试API调用配置;
向所述第一应用服务发送所述重试API调用配置。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于存储计算机程序,该计算机程序使得计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤,计算机包括电子设备或服务器。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,计算机包括电子设备或服务器。
在上述实施例中,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。例如,区块链中可存储预设API调用配置等,在此不做限定。
本申请实施例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模式并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如至少一个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少一个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模式的形式实现。
集成的单元如果以软件程序模式的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。根据这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种调用应用程序编程接口API的方法,其特征在于,包括:
若接收到第一应用服务的调用请求,则向所述第一应用服务发送预设API调用配置;其中,所述调用请求用于调用第二应用服务的目标API,所述调用请求包括调用需求,所述预设API调用配置为所述目标API的预设版本的API调用配置;
若接收到所述第一应用服务的调用失败消息,则获取所述目标API的各版本的版本信息;其中,所述调用失败消息用于指示所述第一应用服务调用所述目标API失败;
基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本;
生成所述目标版本的目标API调用配置;
向所述第一应用服务发送所述目标API调用配置。
2.根据权利要求1所述的方法,其特征在于,所述基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本,包括:
对所述调用需求进行解析,得到待调用的第一功能和与所述第一功能关联的第二功能;
基于所述目标API的各版本的版本信息获取各所述版本调用所述第一功能和所述第二功能的成功率;
从所述目标API的版本中选取所述成功率的最大值对应的版本,得到目标版本。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标API的各版本的版本信息获取各所述版本调用所述第一功能和所述第二功能的成功率,包括:
基于所述目标API的各版本的版本信息获取各所述版本的功能描述;
获取所述第一功能对应的第一文本向量,以及所述第二功能对应的第二文本向量;
获取所述版本的功能描述和所述第一文本向量之间的第一相似值,以及所述功能描述和所述第二文本向量之间的第二相似值;
对所述第一相似值和所述第二相似值进行加权计算,得到所述版本调用所述第一功能和所述第二功能的成功率。
4.根据权利要求3所述的方法,其特征在于,所述版本信息包括版本号、版本更新内容、兼容性,所述基于所述目标API的各版本的版本信息获取各所述版本的功能描述,包括:
基于所述版本的兼容性和版本号获取所述版本的兼容版本内容;
基于所述版本的版本更新内容和所述兼容版本内容组成所述版本的目标版本内容;
基于所述目标版本内容获取所述版本的功能描述。
5.根据权利要求4所述的方法,其特征在于,所述生成所述目标版本的目标API调用配置,包括:
基于所述目标版本内容确定所述目标版本的至少两个第三功能和所述第三功能的兼容性,所述第三功能包括所述第一功能和所述第二功能;
基于所述第三功能的兼容性获取所述第三功能的子配置信息;
基于所述子配置信息获取所述目标版本的目标API调用配置。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述向所述第一应用服务发送预设API调用配置之前,所述方法还包括:
查找所述预设API调用配置;
若未查找到预设API调用配置,则获取所述第一应用服务调用所述目标API的历史记录;
基于所述历史记录确定所述目标API的预设版本;
基于所述预设版本的版本信息生成所述预设版本的预设API调用配置。
7.根据权利要求1-5中任一项所述的方法,其特征在于,在所述向所述第一应用服务发送所述目标API调用配置之后,所述方法还包括:
若接收到所述第一应用服务的调用失败消息,则基于所述调用失败消息对所述目标API调用配置进行调整,得到所述目标版本的重试API调用配置;
向所述第一应用服务发送所述重试API调用配置。
8.一种调用应用程序编程接口API的装置,其特征在于,包括:
通信单元,用于若接收到第一应用服务的调用请求,则向所述第一应用服务发送预设API调用配置;其中,所述调用请求用于调用第二应用服务的目标API,所述调用请求包括调用需求,所述预设API调用配置包括所述目标API的预设版本;
获取单元,用于若接收到所述第一应用服务的调用失败消息,则获取所述目标API的各版本的版本信息;其中,所述调用失败消息用于指示所述第一应用服务调用所述目标API失败;
选取单元,用于基于所述调用需求和所述目标API的各版本的版本信息,从所述目标API的版本中选取目标版本;
生成单元,用于生成所述目标版本的目标API调用配置;
所述通信单元,还用于向所述第一应用服务发送所述目标API调用配置。
9.一种计算机设备,其特征在于,包括处理器、存储器和通信接口,其中,所述存储器存储有计算机程序,所述计算机程序被配置由所述处理器执行,所述计算机程序包括用于执行权利要求1-7中任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序使得计算机执行以实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210057840.6A CN114490124A (zh) | 2022-01-19 | 2022-01-19 | 调用应用程序编程接口api的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210057840.6A CN114490124A (zh) | 2022-01-19 | 2022-01-19 | 调用应用程序编程接口api的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490124A true CN114490124A (zh) | 2022-05-13 |
Family
ID=81473334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210057840.6A Pending CN114490124A (zh) | 2022-01-19 | 2022-01-19 | 调用应用程序编程接口api的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490124A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687623A (zh) * | 2023-12-29 | 2024-03-12 | 上海宽睿信息科技有限责任公司 | 一种api无代码自动接收方法及装置 |
-
2022
- 2022-01-19 CN CN202210057840.6A patent/CN114490124A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687623A (zh) * | 2023-12-29 | 2024-03-12 | 上海宽睿信息科技有限责任公司 | 一种api无代码自动接收方法及装置 |
CN117687623B (zh) * | 2023-12-29 | 2024-04-26 | 上海宽睿信息科技有限责任公司 | 一种api无代码自动接收方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101643022B1 (ko) | 카탈로그-기반 소프트웨어 컴포넌트 관리 | |
US11296940B2 (en) | Centralized configuration data in a distributed file system | |
US20180196665A1 (en) | Managing, using, and updating application resources | |
US8443361B2 (en) | Systems and methods for tracking a history of changes associated with software packages in a computing system | |
CN110083381B (zh) | 增量升级的方法及装置 | |
CN105493045A (zh) | 虚拟计算实例迁移 | |
US8856365B2 (en) | Computer-implemented method, computer system and computer readable medium | |
CN112929401A (zh) | 一种注册方法及装置 | |
CN109472540B (zh) | 业务处理方法和装置 | |
CN114490124A (zh) | 调用应用程序编程接口api的方法、装置、设备及介质 | |
CN109600254B (zh) | 全链路日志的生成方法及相关*** | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
KR101638689B1 (ko) | 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 | |
CN111125257B (zh) | 词典更新方法、装置、设备和存储介质 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN115878138A (zh) | 应用预下载方法、装置、计算机、存储介质 | |
CN113360172B (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
CN114579167A (zh) | 一种下载应用升级文件的方法、装置及存储介质 | |
CN114385570A (zh) | 数据同步的方法、装置、电子设备和可读介质 | |
US9936015B2 (en) | Method for building up a content management system | |
CN111966413A (zh) | 一种配置方法及装置 | |
CN108763425B (zh) | 存储和读取音频文件的方法和装置 | |
KR102193157B1 (ko) | 컨테이너 서비스 제공을 위한 장치 및 방법 | |
CN115167769A (zh) | 一种写入数据的方法、装置及*** | |
CN115993981A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |