掌桥专利:专业的专利平台
掌桥专利
首页

接口调用方法、装置及相关设备

文献发布时间:2023-06-19 11:22:42


接口调用方法、装置及相关设备

技术领域

本申请涉及数据处理技术领域,尤其涉及一种接口调用方法、装置、计算机设备及介质。

背景技术

随着通信技术的发展,各种业务系统的应用变得越来越广泛,不同业务系统通过接口对接的方式与服务端系统进行数据交互。在接口对接过程中,经常涉及到业务系统与服务端系统间的数据转换。

在实现本申请的过程中,发明人发现现有技术至少存在如下问题:现有的方案一般为两种,一种是根据不同的业务场景,定义多套接口适应不同的业务需求,该方法导致服务端系统定义的接口越来越多,难以维护;另一种是使用相同的接口适应不同的业务场景,该方法可能使业务系统获取到的数据过于冗余,需要业务系统单独对获取到的数据进行处理,增加业务系统处理数据的复杂度,久而久之,业务系统的维护成本以及开发成本越来越高,极大地降低了接口调用效率。

因此,有必要提供一种接口调用方法,能够减少业务系统的维护成本,提高业务系统的开发效率与接口调用效率。

发明内容

鉴于以上内容,有必要提出一种接口调用方法、接口调用装置、计算机设备及介质,能够提高接口调用的效率。

本申请实施例第一方面提供一种接口调用方法,所述接口调用方法包括:

接收目标业务系统输出的请求信息;

数据转换处理所述请求信息,得到结构化的目标请求信息,所述目标请求信息包括目标服务、接口结构与请求参数;

根据所述目标服务确定目标服务器;

控制所述目标服务器调用预设接口描述信息,并根据所述预设接口描述信息与所述请求参数得到接口返回数据;

根据所述接口结构调整所述接口返回数据,得到目标结构数据;

输出所述目标结构数据至所述目标业务系统。

进一步地,在本申请实施例提供的上述接口调用方法中,所述数据转换处理所述请求信息,得到结构化的目标请求信息包括:

获取预设参数说明集;

开启双进程,所述双进程包括第一信息采集进程与第二信息采集进程;

调用所述第一信息采集进程采集所述请求信息中的第一信息项;

调用所述第二信息采集进程采集预设接口描述信息中的第二信息项;

结构化组合所述第一信息项与所述第二信息项,得到目标请求信息。

进一步地,在本申请实施例提供的上述接口调用方法中,所述获取预设参数说明集包括:

确定目标业务系统;

获取所述目标业务系统的接口调用属性集;

计算所述接口调用属性集中每一接口调用属性的贡献率;

获取所述贡献率大于预设贡献率阈值的目标接口调用属性作为预设参数说明。

进一步地,在本申请实施例提供的上述接口调用方法中,所述方法还包括:

获取所述目标业务系统对应的模拟数据请求指令集合;

针对所述模拟数据请求指令集合中的每一模拟数据请求指令,确定与其对应的接口返回数据;

获取所述接口返回数据的目标属性,并基于所述目标属性确定所述模拟数据请求指令对应的接口描述信息。

进一步地,在本申请实施例提供的上述接口调用方法中,所述根据所述预设接口描述信息与所述请求参数得到接口返回数据包括:

控制所述目标服务器基于所述请求参数得到第一接口返回数据;

获取所述预设接口描述信息中对应所述第一接口返回数据的目标属性;

根据所述目标属性调整所述第一接口返回数据,得到第二接口返回数据。

进一步地,在本申请实施例提供的上述接口调用方法中,所述根据所述接口结构调整所述接口返回数据,得到目标结构数据包括:

获取所述接口返回数据的初始数据结构;

匹配所述初始数据结构与所述接口结构,得到差异化的接口结构;

根据所述差异化的接口结构确定最优调整路径;

基于所述最优调整路径调整所述数据结构,得到目标结构数据。

进一步地,在本申请实施例提供的上述接口调用方法中,所述方法还包括:

获取所述接口返回数据集;

确定所述接口返回数据集中每一所述接口返回数据对应的接口信息;

根据所述接口信息确定接口间的依赖关系;

基于所述依赖关系组合所述接口返回数据集,得到目标结构数据。

本申请实施例第二方面还提供一种接口调用装置,所述接口调用装置包括:

请求接收模块,用于接收目标业务系统输出的请求信息;

数据转换模块,用于数据转换处理所述请求信息,得到结构化的目标请求信息,所述目标请求信息包括目标服务、接口结构与请求参数;

服务器确定模块,用于根据所述目标服务确定目标服务器;

信息调用模块,用于控制所述目标服务器调用预设接口描述信息,并根据所述预设接口描述信息与所述请求参数得到接口返回数据;

数据调整模块,用于根据所述接口结构调整所述接口返回数据,得到目标结构数据;

数据输出模块,用于输出所述目标结构数据至所述目标业务系统。

本申请实施例第三方面还提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任意一项所述接口调用方法。

本申请实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述接口调用方法。

本申请实施例提供的上述接口调用方法、接口调用装置、计算机设备以及计算机可读存储介质,给业务端调用提供了一套易于理解的完整描述,使得业务端能够准确获取目标结构数据,查询返回可预测的结果,不会产生冗余,使得业务端更容易地随着业务场景和不同客户端的变化而演变,灵活又快速支持想要的数据查询;且对于请求多个资源(也即载入多个URL)的情况,本申请能够实现一次请求就获取业务端所需的所有数据,能够提高接口调用的效率;此外,本申请能够避免业务端对获得的数据再次处理,能够减少业务端的维护成本,提高业务端的开发效率与接口调用速率。本申请可应用于智慧政务、智慧交通等智慧城市的各个功能模块中,比如智慧政务的接口调用模块等,能够促进智慧城市的快速发展。

附图说明

图1是本申请实施例一提供的接口调用方法的流程图。

图2是本申请实施例二提供的接口调用装置的结构图。

图3是本申请实施例三提供的计算机设备的结构示意图。

如下具体实施方式将结合上述附图进一步说明本申请。

具体实施方式

为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。

本发明实施例提供的接口调用方法由计算机设备执行,相应地,接口调用装置运行于计算机设备中。

图1是本申请第一实施方式的接口调用方法的流程图。如图1所示,所述接口调用方法可以包括如下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略:

S11、接收目标业务系统输出的请求信息。

在本申请的至少一实施例中,所述接口调用方法可应用于聚合服务平台中,所述聚合服务平台用于连接目标业务系统与服务端系统,所述目标业务系统与若干个服务端系统通过接口相关联,并通过所述接口进行数据通信。所述聚合服务平台用于接收所述目标业务系统的请求信息,并对所述请求信息进行一系列处理后从所述服务端系统中调取接口数据,将所述接口数据返回至所述目标业务系统。所述目标业务系统可以是指APP端、web前端或者java后端,在此不做限制。所述目标业务系统的数量可以为1个,也可以为多个。对于每一所述目标业务系统,其需调用的所述服务端系统的数量可以为1个,也可以为多个。本申请通过提供所述聚合服务平台统一处理所述目标业务系统与相应的所述服务端系统的接口调用过程,无需所述目标业务系统单独对服务端系统返回的接口数据进行调整,能够降低业务系统的维护成本与开发成本,提高接口调用效率。

所述请求信息可以是http形式的请求信息、get形式的请求信息或者其他形式的请求信息方式。示例性地,所述请求信息可以如下:

{

bookByid(id:100){

id,

title,

pageCount,

price

}

}

解析上述请求信息可知,上述请求信息用于请求id为100的书本的书本名称、书本页数以及书本价钱。

在本申请的至少一实施例中,所述请求信息中可以包含一个URL地址或者多个URL地址。当所述请求信息中包含一个URL地址时,所述目标业务系统仅需调用一个服务端系统的资源;当所述请求信息中包含多个URL地址时,所述目标业务系统需调用对应多个服务端系统的资源。

S12、数据转换处理所述请求信息,得到结构化的目标请求信息,所述目标请求信息包括目标服务、接口结构与请求参数。

在本申请的至少一实施例中,数据转换处理是指将所述请求信息按照预设数据格式进行信息摘取,得到结构化的目标请求信息,所述目标请求信息可以包括目标服务、接口结构、请求参数、请求类型以及请求方式等信息,在此不做限制。其中,所述目标服务用于标识所述请求信息需要调用的目标服务器信息,所述接口结构用于标识返回的接口数据的目标结构,所述请求类型可以为Get等类型,所述请求方式可以为MICROSEVICE等方式。

可选地,所述数据转换处理所述请求信息,得到结构化的目标请求信息包括:

获取预设参数说明集;

根据所述预设参数说明集开启双进程,所述双进程包括第一信息采集进程与第二信息采集进程;

调用所述第一信息采集进程采集所述请求信息中的第一信息项;

调用所述第二信息采集进程采集预设接口描述信息中的第二信息项;

结构化组合所述第一信息项与所述第二信息项,得到目标请求信息。

其中,所述预设参数说明集中包含若干个预设参数说明,所述预设参数说明为预先设置的,接口调用所需的参数说明,所述预设参数说明可以为请求方式、请求类型、请求接口、请求参数、目标服务以及接口结构中的一种或多种。所述根据所述预设参数说明集开启双进程也即调用所述双进程学习所述预设参数说明集中接口调用所需的参数说明,之后可分别调用所述第一信息采集进程遍历所述请求信息,得到所述请求信息中与所述预设参数说明匹配的信息项,作为第一信息项;调用所述第二信息采集进程遍历预设接口描述信息,得到所述预设接口描述信息中与所述预设参数说明匹配的信息项,作为第二信息项。所述双进程用于同时对所述请求信息与所述预设接口描述信息中携带的信息项进行采集,通过开启双进程同时采集信息,能够提高信息采集速率,进而提高接口调用效率。

在一实施例中,所述预设参数说明集可以是系统人员根据实际情况设置的,也可以是聚合服务平台根据接口调用数据学习设置的。可选地,当所述预设参数说明集为所述聚合服务平台根据接口调用数据学习设置时,所述方法还包括:

确定目标业务系统;

获取所述目标业务系统的接口调用属性集;

计算所述接口调用属性集中每一接口调用属性的贡献率;

获取所述贡献率大于预设贡献率阈值的目标接口调用属性作为预设参数说明。

其中,所述接口调用属性可以为接口请求方式、接口请求类型、接口数据结构以及目标服务等调用属性,在一实施例中,所述接口调用属性可以通过查询接口文档的方式获取。所述接口调用属性的贡献率可以根据所述接口调用属性在所述接口文档中的重要程度确定,重要程度越高的接口调用属性,其对应的贡献率越高;重要程度越低的接口调用属性,其对应的贡献率越低。所述重要程度可通过TF-IDF算法处理所述查询接口文档,得到各个接口调用属性的重要程度,继而确定各个接口调用属性的贡献率,在此不做限制。

在本申请的至少一实施例中,所述预设接口描述信息是指预先存储的关于各个接口数据的确切描述,也称预设schema信息,所述预设schema信息可以包括接口信息,接口的入参信息、接口的返回类型等。示例性地,对应某一接口描述信息,服务端系统提供一个bookByld的查询,返回类型是Book,而Book的类型定义有ID、书名、页数和价格。CallWay;String,URL;String,reqType;String,serverName;String,code;String等为固定参数,在schema定义时赋值,描述了接口数据的获取方式,由所述聚合服务平台完成解析,业务系统不需要关心和传输固定参数。

可选地,所述方法还包括:

获取所述目标业务系统对应的模拟数据请求指令集合;

针对所述模拟数据请求指令集合中的每一模拟数据请求指令,确定与其对应的接口返回数据;

获取所述接口返回数据的目标属性,并基于所述目标属性确定所述模拟数据请求指令对应的接口描述信息。

其中,所述模拟数据请求指令集合中包含所述目标业务系统发出的,与其业务场景相关联的所有模拟数据请求指令。针对每一次模拟数据请求指令,采用上述方法得到与其对应的接口返回数据的目标属性,组合所述目标属性即能够得到所述模拟数据请求指令对应的接口描述信息。所述目标属性可以包括接口返回数据的数据类型与数据长度等属性。

在一实施例中,所述预设接口描述信息是基于所述模拟数据请求指令集构建得到的,在实际应用过程中,所述目标业务系统的接口返回数据的要求可能会发生变更。可选地,所述方法还包括:

新建监听进程,所述监听进程用于定期监听所述目标业务系统的接口返回数据的属性状态;

当所述监听进程监听到所述接口返回数据的属性状态发生变更时,输出提示以及时更所述接口描述信息。

在一实施例中,所述请求信息可以包括一个URL地址或者多个URL地址,当所述请求信息包括多个URL地址时,所述目标业务系统需调用对应多个服务端系统的资源。可选地,在所述针对所述模拟数据请求指令集合中的每一模拟数据请求指令,确定与其对应的接口返回数据之前,还包括:

获取每一所述模拟数据请求指令包含的需调用接口的数量;

检测所述需调用接口的数量是否超过1个;

当检测结果为所述需调用接口的数量超过1个时,确定需调用接口;

获取所述需调用接口间的依赖关系,并基于所述依赖关系确定接口描述信息。

其中,接口间的依赖关系可以包括前后调用关系,例如,对于某一请求信息,需调用接口的数量为2个,分别为接口A与接口B,为了得到对应请求信息的接口返回数据,需先根据请求信息调用接口A,得到接口中间返回数据,再根据所述接口中间返回数据调用接口B,继而得到对应请求信息的接口返回数据。所述基于所述依赖关系确定接口描述信息可以包括:根据所述依赖关系遍历预先设置的依赖关系与依赖公式间的映射关系,确定对应所述依赖关系的目标依赖公式;根据所述目标依赖公式组合各个接口信息,得到接口描述信息。其中,所述依赖公式是指根据接口间的依赖关系(例如,前后调用关系)确定的接口信息的数据存储形式,所述数据存储形式不做限制。

S13、根据所述目标服务确定目标服务器。

在本申请的至少一实施例中,所述目标请求信息包括目标服务、接口结构与请求参数等数据,所述目标服务用于标识所述请求信息需要调用的目标服务器信息,所述目标服务中包含的标识可以为数字标识、字母标识或颜色标识等,通过查询所述目标服务对应的标识能够确定目标服务器。所述目标服务器的数量可以为1个,也可以为多个,所述目标服务器的数量可根据所述请求信息中携带的URL地址的数量确定。

S14、控制所述目标服务器调用预设接口描述信息,并根据所述预设接口描述信息与所述请求参数得到接口返回数据。

在本申请的至少一实施例中,对于每一所述目标服务器,均存在与之对应的预设接口描述信息,为了提高所述预设接口描述信息的安全性与私密性,可将所述预设接口描述信息存储于区块链的目标节点中。所述目标请求信息包括目标服务、接口结构与请求参数等数据,根据所述请求参数能够得到第一接口返回数据,需调用所述预设接口描述信息调整所述第一接口返回数据,才能够得到不包含冗余信息的接口返回数据。

可选地,所述根据所述预设接口描述信息与所述请求参数得到接口返回数据包括:

控制所述目标服务器基于所述请求参数得到第一接口返回数据;

获取所述预设接口描述信息中对应所述第一接口返回数据的目标属性;

根据所述目标属性调整所述第一接口返回数据,得到第二接口返回数据。

其中,控制所述目标服务器基于所述请求参数能够得到第一接口返回数据,所述第一接口返回数据的获取过程为现有技术,在此不再赘述。所述第一接口返回数据中的每一条数据均存在与之对应的所述预设接口描述信息中的目标属性,所述目标属性可以为数据类型属性或者数据长度属性等。所述根据所述目标属性调整所述第一接口返回数据也即调整所述第一接口返回数据的类型数据或者长度属性等。

S15、根据所述接口结构调整所述接口返回数据,得到目标结构数据。

在本申请的至少一实施例中,所述目标请求信息包括目标服务、接口结构与请求参数等数据,所述接口结构用于标识返回的接口数据的目标结构,通过对所述接口返回数据的接口结构进行调整,得到所述请求信息对应的目标结构数据,使得所述目标业务系统直接调用所述目标结构数据,无需所述目标业务系统对所述接口返回数据单独进行结构调整,能够提高接口调用的效率。

可选地,所述根据所述接口结构调整所述接口返回数据,得到目标结构数据包括:

获取所述接口返回数据的初始数据结构;

匹配所述初始数据结构与所述接口结构,得到差异化的接口结构;

根据所述差异化的接口结构确定最优调整路径;

基于所述最优调整路径调整所述数据结构,得到目标结构数据。

其中,所述初始数据结构是指所述接口返回数据的当前数据结构,将所述初始数据结构与所述接口结构进行对比,能够得到两者间的差异,也即差异化的接口结构。

在一实施例中,为了提高数据结构的比对速率以及最优调整路径的计算速率,可选地,所述方法还包括:数字化处理所述接口返回数据。将所述接口返回数据中每一条数据通过添加数值的方式进行标识,能够提高数据结构的比对速率以及最优调整路径的计算速率。所述最优调整路径是指数据结构的调整效率最高的调整路径,所述最优调整路径可通过机器学习的方式得到。基于所述最优调整路径调整所述数据结构,得到目标结构数据,能够提高结构数据的调整速率,进而提高接口调用的速率。

在本申请的至少一实施例中,所述请求信息可以包括一个URL地址或者多个URL地址,当所述请求信息包括多个URL地址时,所述目标业务系统需调用对应多个服务系统的资源。不同服务系统返回各自对应的接口返回数据,此时,所述接口返回数据的数量也可能为多个。可选地,所述方法还包括:

获取所述接口返回数据集;

确定所述接口返回数据集中每一所述接口返回数据对应的接口信息;

根据所述接口信息确定接口间的依赖关系;

基于所述依赖关系组合所述接口返回数据集,得到目标结构数据。

S16、输出所述目标结构数据至所述目标业务系统。

在本申请的至少一实施例中,将所述目标结构数据输出至所述目标业务系统中,供所述目标业务系统对所述目标结构数据进行处理。

本申请实施例提供的上述接口调用方法,给业务端调用提供了一套易于理解的完整描述,使得业务端能够准确获取目标结构数据,查询返回可预测的结果,不会产生冗余,使得业务端更容易地随着业务场景和不同客户端的变化而演变,灵活又快速支持想要的数据查询;且对于请求多个资源(也即载入多个URL)的情况,本申请能够实现一次请求就获取业务端所需的所有数据,能够提高接口调用的效率;此外,本申请能够避免业务端对获得的数据再次处理,能够减少业务端的维护成本,提高业务端的开发效率与接口调用速率。

图2是本申请实施例二提供的接口调用装置的结构图。

在一些实施例中,所述接口调用装置20可以包括多个由计算机程序段所组成的功能模块。所述接口调用装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)接口调用的功能。

本实施例中,所述接口调用装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:请求接收模块201、数据转换模块202、服务器确定模块203、信息调用模块204、数据调整模块205以及数据输出模块206。本申请所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。

所述请求接收模块201可以用于接收目标业务系统输出的请求信息。

在本申请的至少一实施例中,所述接口调用方法可应用于聚合服务平台中,所述聚合服务平台用于连接目标业务系统与服务端系统,所述目标业务系统与若干个服务端系统通过接口相关联,并通过所述接口进行数据通信。所述聚合服务平台用于接收所述目标业务系统的请求信息,并对所述请求信息进行一系列处理后从所述服务端系统中调取接口数据,将所述接口数据返回至所述目标业务系统。所述目标业务系统可以是指APP端、web前端或者java后端,在此不做限制。所述目标业务系统的数量可以为1个,也可以为多个。对于每一所述目标业务系统,其需调用的所述服务端系统的数量可以为1个,也可以为多个。本申请通过提供所述聚合服务平台统一处理所述目标业务系统与相应的所述服务端系统的接口调用过程,无需所述目标业务系统单独对服务端系统返回的接口数据进行调整,能够降低业务系统的维护成本与开发成本,提高接口调用效率。

所述请求信息可以是http形式的请求信息、get形式的请求信息或者其他形式的请求信息方式。示例性地,所述请求信息可以如下:

{

bookByid(id:100){

id,

title,

pageCount,

price

}

}

解析上述请求信息可知,上述请求信息用于请求id为100的书本的书本名称、书本页数以及书本价钱。

在本申请的至少一实施例中,所述请求信息中可以包含一个URL地址或者多个URL地址。当所述请求信息中包含一个URL地址时,所述目标业务系统仅需调用一个服务端系统的资源;当所述请求信息中包含多个URL地址时,所述目标业务系统需调用对应多个服务端系统的资源。

所述数据转换模块202可以用于数据转换处理所述请求信息,得到结构化的目标请求信息,所述目标请求信息包括目标服务、接口结构与请求参数。

在本申请的至少一实施例中,数据转换处理是指将所述请求信息按照预设数据格式进行信息摘取,得到结构化的目标请求信息,所述目标请求信息可以包括目标服务、接口结构、请求参数、请求类型以及请求方式等信息,在此不做限制。其中,所述目标服务用于标识所述请求信息需要调用的目标服务器信息,所述接口结构用于标识返回的接口数据的目标结构,所述请求类型可以为Get等类型,所述请求方式可以为MICROSEVICE等方式。

可选地,所述数据转换处理所述请求信息,得到结构化的目标请求信息包括:

获取预设参数说明集;

根据所述预设参数说明集开启双进程,所述双进程包括第一信息采集进程与第二信息采集进程;

调用所述第一信息采集进程采集所述请求信息中的第一信息项;

调用所述第二信息采集进程采集预设接口描述信息中的第二信息项;

结构化组合所述第一信息项与所述第二信息项,得到目标请求信息。

其中,所述预设参数说明集中包含若干个预设参数说明,所述预设参数说明为预先设置的,接口调用所需的参数说明,所述预设参数说明可以为请求方式、请求类型、请求接口、请求参数、目标服务以及接口结构中的一种或多种。所述根据所述预设参数说明集开启双进程也即调用所述双进程学习所述预设参数说明集中接口调用所需的参数说明,之后可分别调用所述第一信息采集进程遍历所述请求信息,得到所述请求信息中与所述预设参数说明匹配的信息项,作为第一信息项;调用所述第二信息采集进程遍历预设接口描述信息,得到所述接口描述信息中与所述预设参数说明匹配的信息项,作为第二信息项。所述双进程用于同时对所述请求信息与所述接口描述信息中携带的信息项进行采集,通过开启双进程同时采集信息,能够提高信息采集速率,进而提高接口调用效率。

在一实施例中,所述预设参数说明集可以是系统人员根据实际情况设置的,也可以是聚合服务平台根据接口调用数据学习设置的。可选地,当所述预设参数说明集为所述聚合服务平台根据接口调用数据学习设置时,所述数据转换模块202还包括:

确定目标业务系统;

获取所述目标业务系统的接口调用属性集;

计算所述接口调用属性集中每一接口调用属性的贡献率;

获取所述贡献率大于预设贡献率阈值的目标接口调用属性作为预设参数说明。

其中,所述接口调用属性可以为接口请求方式、接口请求类型、接口数据结构以及目标服务等调用属性,在一实施例中,所述接口调用属性可以通过查询接口文档的方式获取。所述接口调用属性的贡献率可以根据所述接口调用属性在所述接口文档中的重要程度确定,重要程度越高的接口调用属性,其对应的贡献率越高;重要程度越低的接口调用属性,其对应的贡献率越低。所述重要程度可通过TF-IDF算法处理所述查询接口文档,得到各个接口调用属性的重要程度,继而确定各个接口调用属性的贡献率,在此不做限制。

在本申请的至少一实施例中,所述预设接口描述信息是指预先存储的关于各个接口数据的确切描述,所述预设接口描述信息可以包括接口信息,接口的入参信息、接口的返回类型等。示例性地,对应某一schema信息,服务端系统提供一个bookByld的查询,返回类型是Book,而Book的类型定义有ID、书名、页数和价格。CallWay;String,URL;String,reqType;String,serverName;String,code;String等为固定参数,在schema定义时赋值,描述了接口数据的获取方式,由所述聚合服务平台完成解析,业务系统不需要关心和传输固定参数。

可选地,所述数据转换模块202还包括:

获取所述目标业务系统对应的模拟数据请求指令集合;

针对所述模拟数据请求指令集合中的每一模拟数据请求指令,确定与其对应的接口返回数据;

获取所述接口返回数据的目标属性,并基于所述目标属性确定所述模拟数据请求指令对应的接口描述信息。

其中,所述模拟数据请求指令集合中包含所述目标业务系统发出的,与其业务场景相关联的所有模拟数据请求指令。针对每一次模拟数据请求指令,采用上述方法得到与其对应的接口返回数据的目标属性,组合所述目标属性即能够得到所述模拟数据请求指令对应的接口描述信息。所述目标属性可以包括接口返回数据的数据类型与数据长度等属性。

在一实施例中,所述预设接口描述信息是基于所述模拟数据请求指令集构建得到的,在实际应用过程中,所述目标业务系统的接口返回数据的要求可能会发生变更。可选地,所述数据转换模块202还包括:

新建监听进程,所述监听进程用于定期监听所述目标业务系统的接口返回数据的属性状态;

当所述监听进程监听到所述接口返回数据的属性状态发生变更时,输出提示以及时更所述接口描述信息。

在一实施例中,所述请求信息可以包括一个URL地址或者多个URL地址,当所述请求信息包括多个URL地址时,所述目标业务系统需调用对应多个服务端系统的资源。可选地,在所述针对所述模拟数据请求指令集合中的每一模拟数据请求指令,确定与其对应的接口返回数据之前,还包括:

获取每一所述模拟数据请求指令包含的需调用接口的数量;

检测所述需调用接口的数量是否超过1个;

当检测结果为所述需调用接口的数量超过1个时,确定需调用接口;

获取所述需调用接口间的依赖关系,并基于所述依赖关系确定接口描述信息。

其中,接口间的依赖关系可以包括前后调用关系,例如,对于某一请求信息,需调用接口的数量为2个,分别为接口A与接口B,为了得到对应请求信息的接口返回数据,需先根据请求信息调用接口A,得到接口中间返回数据,再根据所述接口中间返回数据调用接口B,继而得到对应请求信息的接口返回数据。所述基于所述依赖关系确定接口描述信息可以包括:根据所述依赖关系遍历预先设置的依赖关系与依赖公式间的映射关系,确定对应所述依赖关系的目标依赖公式;根据所述目标依赖公式组合各个接口信息,得到接口描述信息。其中,所述依赖公式是指根据接口间的依赖关系(例如,前后调用关系)确定的接口信息的数据存储形式,所述数据存储形式不做限制。

所述服务器确定模块203可以用于根据所述目标服务确定目标服务器。

在本申请的至少一实施例中,所述目标请求信息包括目标服务、接口结构与请求参数等数据,所述目标服务用于标识所述请求信息需要调用的目标服务器信息,所述目标服务中包含的标识可以为数字标识、字母标识或颜色标识等,通过查询所述目标服务对应的标识能够确定目标服务器。所述目标服务器的数量可以为1个,也可以为多个,所述目标服务器的数量可根据所述请求信息中携带的URL地址的数量确定。

所述信息调用模块204可以用于控制所述目标服务器调用预设schema信息,并根据所述预设接口描述信息与所述请求参数得到接口返回数据。

在本申请的至少一实施例中,对于每一所述目标服务器,均存在与之对应的预设接口描述信息,为了提高所述预设接口描述信息的安全性与私密性,可将所述预设接口描述信息存储于区块链的目标节点中。所述目标请求信息包括目标服务、接口结构与请求参数等数据,根据所述请求参数能够得到第一接口返回数据,需调用所述预设接口描述信息调整所述第一接口返回数据,才能够得到不包含冗余信息的接口返回数据。

可选地,所述根据所述预设接口描述信息与所述请求参数得到接口返回数据包括:

控制所述目标服务器基于所述请求参数得到第一接口返回数据;

获取所述预设接口描述信息中对应所述第一接口返回数据的目标属性;

根据所述目标属性调整所述第一接口返回数据,得到第二接口返回数据。

其中,控制所述目标服务器基于所述请求参数能够得到第一接口返回数据,所述第一接口返回数据的获取过程为现有技术,在此不再赘述。所述第一接口返回数据中的每一条数据均存在与之对应的所述预设接口描述信息中的目标属性,所述目标属性可以为数据类型属性或者数据长度属性等。所述根据所述目标属性调整所述第一接口返回数据也即调整所述第一接口返回数据的类型数据或者长度属性等。

所述数据调整模块205可以用于根据所述接口结构调整所述接口返回数据,得到目标结构数据。

在本申请的至少一实施例中,所述目标请求信息包括目标服务、接口结构与请求参数等数据,所述接口结构用于标识返回的接口数据的目标结构,通过对所述接口返回数据的接口结构进行调整,得到所述请求信息对应的目标结构数据,使得所述目标业务系统直接调用所述目标结构数据,无需所述目标业务系统对所述接口返回数据单独进行结构调整,能够提高接口调用的效率。

可选地,所述根据所述接口结构调整所述接口返回数据,得到目标结构数据包括:

获取所述接口返回数据的初始数据结构;

匹配所述初始数据结构与所述接口结构,得到差异化的接口结构;

根据所述差异化的接口结构确定最优调整路径;

基于所述最优调整路径调整所述数据结构,得到目标结构数据。

其中,所述初始数据结构是指所述接口返回数据的当前数据结构,将所述初始数据结构与所述接口结构进行对比,能够得到两者间的差异,也即差异化的接口结构。

在一实施例中,为了提高数据结构的比对速率以及最优调整路径的计算速率,可选地,所述数据调整模块205还包括:数字化处理所述接口返回数据。将所述接口返回数据中每一条数据通过添加数值的方式进行标识,能够提高数据结构的比对速率以及最优调整路径的计算速率。所述最优调整路径是指数据结构的调整效率最高的调整路径,所述最优调整路径可通过机器学习的方式得到。基于所述最优调整路径调整所述数据结构,得到目标结构数据,能够提高结构数据的调整速率,进而提高接口调用的速率。

在本申请的至少一实施例中,所述请求信息可以包括一个URL地址或者多个URL地址,当所述请求信息包括多个URL地址时,所述目标业务系统需调用对应多个服务系统的资源。不同服务系统返回各自对应的接口返回数据,此时,所述接口返回数据的数量也可能为多个。可选地,所述数据调整模块205还包括:

获取所述接口返回数据集;

确定所述接口返回数据集中每一所述接口返回数据对应的接口信息;

根据所述接口信息确定接口间的依赖关系;

基于所述依赖关系组合所述接口返回数据集,得到目标结构数据。

所述数据输出模块206可以用于输出所述目标结构数据至所述目标业务系统。

在本申请的至少一实施例中,将所述目标结构数据输出至所述目标业务系统中,供所述目标业务系统对所述目标结构数据进行处理。

参阅图3所示,为本申请实施例三提供的计算机设备的结构示意图。在本申请较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。

本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本申请实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。

需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。

在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的接口调用方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本申请实施例中所述的接口调用方法的全部或者部分步骤;或者实现接口调用装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。

在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。

尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

相关技术
  • 接口调用方法、装置及相关设备
  • 接口调用方法、存储介质和相关设备
技术分类

06120112900891