接口调用方法、装置、电子设备及可读存储介质与流程

文档序号:32601891发布日期:2022-12-17 16:31阅读:27来源:国知局
接口调用方法、装置、电子设备及可读存储介质与流程

1.本技术涉及大数据技术领域,尤其涉及数据基座领域中的大数据平台,本技术提出一种接口调用方法、装置、电子设备及可读存储介质。


背景技术:

2.大数据领域行业中存在具有纵向垂直关系的多级机构。例如,在政务大数据行业中,部,省,市,县等多级机构之间存在纵向垂直管理关系。其中多级机构中的每级机构可以部署对应的数据平台。
3.在上级数据平台与下级数据平台之间进行数据共享的场景中,上级数据平台可以提供api供下级数据平台进行调用,而在实际应用中,各级数据平台通常需要版本更新,在某一级数据平台进行版本更新后,可能导致该级数据平台提供的api的接口版本也随之发生变化,如果与其对接的其他数据平台没有适应性地进行版本更新,可能导致其他数据平台维护的同一api的接口版本不一致,从而无法正常调用该数据平台提供的api,造成各级数据平台之间出现兼容失败的问题。


技术实现要素:

4.本技术提供一种接口调用方法,多级数据级联平台包括至少一个上级数据平台和至少一个下级数据平台;所述下级数据平台通过级联模块与所述上级数据平台进行级联;所述上级数据平台提供的api供所述下级数据平台发起接口调用;所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本,所述方法应用于所述级联模块,所述方法包括:
5.接收所述下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求;
6.响应于所述接口调用请求,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
7.将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用。
8.可选的,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本的版本标识,以及,由所述下级数据平台维护的所述api的第二接口版本的版本标识;
9.所述将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本,包括:
10.当所述第二接口版本的版本标识大于所述第一接口版本的版本标识时,将所述第一接口版本确定为目标api的目标接口版本;
11.当所述第二接口版本的版本标识小于所述第一接口版本的版本标识时,将所述第二接口版本确定为目标api的目标接口版本
12.可选的,所述级联模块本地存储了所述上级数据平台提供的api的全部历史版本
的接口代码;
13.所述将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用,包括:
14.从所述全部历史版本的接口代码中查找与所述目标接口版本对应的接口代码;
15.将所述接口调用请求提交至所述目标接口版本对应的接口代码,以完成针对所述目标接口版本的目标api的接口调用。
16.可选的,所述方法还包括:
17.接收所述下级数据平台定时同步的所述第二接口版本,将所述第二接口版本存储在本地进行维护。
18.可选的,所述方法还包括:
19.当所述目标api的接口版本不存在时,向所述下级数据平台返回提示信息。
20.可选的,所述方法还包括:
21.所述下级数据平台响应于针对所述上级数据平台提供的目标api的接口调用,获取所述级联模块维护的所述上级数据平台维护的所述api的第一接口版本;
22.将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
23.响应于确定出的所述目标接口版本,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
24.可选的,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本的版本标识,所述下级数据平台维护了所述api的第二接口版本的版本标识,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本,包括:
25.当所述第一接口版本的版本标识大于所述第二接口版本的版本标识时,将所述第二接口版本确定为所述目标api的目标接口版本;
26.当所述第一接口版本的版本标识小于所述第二接口版本的版本标识时,将所述第一接口版本确定为所述目标api的目标接口版本。
27.可选的,所述下级数据平台本地存储了上级数据平台提供的api的全部历史版本的接口请求代码;
28.所述响应于确定出的所述目标接口版本,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求,包括:
29.从所述全部历史版本的接口请求代码中查找与所述目标接口版本对应的接口请求代码;
30.执行所述目标接口版本对应的接口请求代码,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
31.可选的,所述方法还包括:
32.定时向所述级联模块同步所述第二接口版本,以使所述级联模块将所述第二接口版本存储在本地进行维护。
33.本技术还提供一种接口调用装置,多级数据级联平台包括至少一个上级数据平台和至少一个下级数据平台;所述下级数据平台通过级联模块与所述上级数据平台进行级
联;所述上级数据平台提供的api供所述下级数据平台发起接口调用;所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本,所述方法应用于所述级联模块,所述装置包括:
34.接收请求单元,用于接收所述下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求;
35.接口版本确定单元,用于响应于所述接口调用请求,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
36.接口调用单元,用于将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用。
37.本技术还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
38.所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
39.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
40.通过以上实施例,在级联模块中维护了所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本,所述方法应用于所述级联模块,在调用目标接口前,比较目标接口的第一接口版本和第二接口版本,将更低的接口版本确定为目标接口版本,从而完成针对所述目标api的接口调用。
41.同时,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,所述下级数据平台维护了所述api的第二接口版本,在下级数据平台发起接口调用请求前,将更低的接口版本确定为目标接口版本,从而发起针对目标接口版本的api的接口调用请求。
42.因此,通过以上技术方案,可以在接口调用时选择接口版本较低的api,并在发起接口调用请求时,选择接口版本较低的api发起接口调用请求,从而解决上下级数据平台之间版本不兼容的问题,因此当某一数据平台升级时,无需带动其他数据平台升级,节约数据平台的维护成本。
附图说明
43.图1是一示例性的实施例示出的一种多级数据级联平台的示意图。
44.图2是一示例性的实施例示出的一种接口调用方法的流程图。
45.图3是一示例性的实施例示出的下级数据平台发起接口调用请求的流程图。
46.图4是一示例性的实施例示出的一种接口调用装置所在电子设备的硬件结构图。
47.图5是一示例性的实施例示出的一种接口调用装置的框图。
具体实施方式
48.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
49.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
50.为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的相关技术,进行简要说明。
51.大数据领域行业中存在具有纵向垂直关系的多级机构。例如,在政务大数据行业中,部,省,市,县等多级机构之间存在纵向垂直管理关系。其中多级机构中的每级机构可以部署对应的数据平台。近年来,随着互联网垂直领域行业的不断发展,存在上级数据平台与下级数据平台之间数据交换的场景。
52.请参见图1,图1是一示例性的实施例示出的一种基于多级数据级联平台的示意图。
53.如图1所示,多级数据级联平台包括至少一个上级数据平台和至少一个下级数据平台,下级数据平台可以通过级联模块与所述上级数据平台进行级联。其中,所述级联模块可以部署在上级数据平台,也可以部署上级数据平台,同时也可以作为上级数据平台与下级数据平台之间进行交互的中间件单独部署。
54.上级数据平台可以通过自身提供的api,将上级数据平台提供的数据信息下发至级联模块,下级数据平台通过请求上级提供的api将上级数据平台下发的数据信息存储至下级数据平台本地。同时,下级数据平台可以通过请求上级提供的api向上级数据平台发送数据信息,上级数据平台再通过自身提供的api,将下级数据平台发送的数据信息存储至上级数据平台本地,以完成上级数据平台与下级数据平台之间数据交换。
55.而由于上级数据平台或下级数据平台通常需要版本更新,当上级数据平台版本升级后,下级数据平台还是旧版本,如果上级数据平台提供的api发生变更,那么下级数据平台无法使用旧版本的api形式正常请求上级数据平台提供的api,此时会出现兼容性问题。当下级数据平台版本升级后,上级数据平台还是旧版本,下级数据平台可能无法使用新版本的api正常请求上级数据平台提供的旧版本的api,同时,当下级数据平台可能出现新的功能,而旧版本的上级数据平台不能提供新的功能对应的接口,也会出现兼容性问题。
56.针对上述版本兼容性问题,传统的解决方式是通过上下级数据平台同步升级,不仅浪费时间、耗费人力,同时增加了数据平台的维护成本、
57.有鉴于此,本说明书旨在提出一种在接口调用前确定上下级数据平台均兼容的接口版本,再进行接口调用的技术方案。
58.在实现时,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本。
59.级联模块可以接收所述下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求;
60.响应于所述接口调用请求,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
61.将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用。
62.同时,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,所述下级数据平台维护了所述api的第二接口版本;所述方法应用于所述下级数据平台,
63.下级数据平台可以响应于针对所述上级数据平台提供的目标api的接口调用,获取所述级联模块维护的所述上级数据平台维护的所述api的第一接口版本;
64.将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
65.响应于确定出的所述目标接口版本,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
66.通过以上实施例,在级联模块中维护了所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本,所述方法应用于所述级联模块,在调用目标接口前,比较目标接口的第一接口版本和第二接口版本,将更低的接口版本确定为目标接口版本,从而完成针对所述目标api的接口调用。
67.同时,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,所述下级数据平台维护了所述api的第二接口版本,在下级数据平台发起接口调用请求前,将更低的接口版本确定为目标接口版本,从而发起针对目标接口版本的api的接口调用请求。
68.因此,通过以上技术方案,可以在接口调用时选择接口版本较低的api,并在发起接口调用请求时,选择接口版本较低的api发起接口调用请求,从而解决上下级数据平台之间版本不兼容的问题,因此当某一数据平台升级时,无需带动其他数据平台升级,节约数据平台的维护成本。
69.下面通过具体实施例,并结合具体的应用场景对本技术进行描述。
70.请参见图2,图2是一示例性的实施例示出的一种接口调用方法的流程图,上述方法应用于上述多级数据级联平台的级联模块,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本。
71.第一接口版本可以为数据表、数据字典等形式,可以存储上级数据平台提供的全部api的接口版本。其中,可以使用版本标识来确定api的接口版本。版本标识可以为版本号,版本代码等形式。当上级数据平台版本升级时,如果接口发生变更,可以修改版本标识以区分不同的接口版本。
72.例如,如下表1所示的第一接口版本,接口1的接口版本号为1.0.0,接口2的接口版本号为1.1.0。
73.api接口标识接口版本号接口1interface11.0.0接口2interface21.1.0
74.表1
75.类似的,第二接口版本也可以为数据表、数据字典等形式,可以存储下级数据平台维护的全部api的接口版本,其中,也可以使用版本标识来确定api的接口版本。版本标识可以为版本号,版本代码等形式。当下级数据平台版本升级时,如果接口发生变更,也可以修
改版本标识以区分不同的接口版本。
76.例如,如下表2所示的第二接口版本,接口1的接口版本号为1.0.1,接口2的接口版本号为1.0.1。
77.api接口标识接口版本号接口1interface11.0.1接口2interface21.0.0
78.表2
79.在一种实施方式中,下级数据平台可以定时向上级数据平台同步第二接口版本。例如,数据级联平台启动后,可以每隔五天、十天等,定时将下级数据平台维护的第二接口版本同步至级联模块,以由级联模块将第二接口版本存储在本地进行维护。
80.上述方法可以包括以下步骤:
81.步骤202,接收所述下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求。
82.在本说明书中,目标api可以是下级数据平台需要调用的上级平台提供的api接口。
83.例如,下级数据平台需要用到接口a获取上级数据平台提供的数据资源,接口a可以作为目标api。
84.下级数据平台可以发起针对所述上级数据平台提供的目标api的接口调用请求。其中,接口调用请求中可以包括目标api的接口标识,以及相关的接口调用参数等等。
85.例如,下级数据平台需要调用上级数据平台提供的api接口a,可以向级联模块发起针对接口a的接口调用请求,其中接口调用请求可以包括接口a的接口标识“interfacea”,以及相关调用参数(int a,int b)等等。
86.步骤204,响应于所述接口调用请求,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本。
87.在本说明书中,目标接口版本可以是上级数据平台和下级数据平台均兼容的接口版本,例如上级数据平台提供的接口a的接口版本号为1.0.1,而下级数据平台对接该接口a的接口版本号1.0.0,如果级联模块直接使用1.0.1的接口版本,可能会出现不兼容的问题。比如,接口a的1.0.1版本的调用参数为(int a,int b,double c);而接口a的1.0.0版本的调用参数为(int a,int b);由于下级数据平台发起的调用参数为1.0.0版本的调用参数,因此级联模块直接使用1.0.1版本的接口a显然会出现问题。
88.级联模块接收到下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求后,可以查询级联模块维护的第一接口版本,与第二接口版本,以确定所述下级数据平台请求调用的所述目标api的目标接口版本。
89.其中,可以所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本。
90.例如,级联模块查询到上级数据平台提供的接口a的接口版本号为1.0.1,而下级数据平台维护的接口a的接口版本号为1.0.0。由于1.0.0版本的接口可以兼容上级数据平台以及下级数据平台,因此可以将1.0.0版本作为目标接口版本。
91.在一种实施方式中,当所述第二接口版本的版本标识大于所述第一接口版本的版
本标识时,将所述第一接口版本确定为目标api的目标接口版本;
92.当所述第二接口版本的版本标识小于所述第一接口版本的版本标识时,将所述第二接口版本确定为目标api的目标接口版本。
93.当所述第二接口版本的版本标识大于第一接口版本的版本标识时,说明下级数据平台维护的api的接口版本大于上级数据平台提供的api的接口版本,此时可以将上级数据平台维护的api的接口版本确定为目标接口版本。
94.例如,级联模块查询到接口a的第二接口版本的接口版本号为1.0.1,而第一接口版本的接口版本号为1.0.0,此时可以将上级数据平台维护的第一接口版本确定为目标接口版本。
95.当所述第二接口版本小于所述第一接口版本时,说明下级数据平台维护的api的接口版本小于上级数据平台提供的api接口的接口版本。在这种情况下,可以将下级数据平台维护的api的接口版本确定为目标接口版本。
96.例如,级联模块查询到接口a的第二接口版本的接口版本号为1.0.0,而第一接口版本的接口版本号为1.0.1,此时将下级数据平台维护的第二接口版本确定为目标接口版本。
97.在一种实施方式中,下级数据平台可能由于升级而增加部分功能,由于上级数据平台并没有进行升级,导致不存在这部分功能的api。因此,下级数据平台在调用上级数据平台的提供的api时,可能出现目标api不存在的情况。因此,当目标api的接口版本不存在时,向所述下级数据平台返回提示信息。例如,“由于版本差异导致目标功能不存在,请升级版本。”98.步骤206,将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用。
99.级联模块在确定目标api的目标接口版本后,可以将接口调用请求提交至所述目标接口版本的目标api,发起针对所述目标接口版本的目标api的接口调用。
100.例如,当确定目标api为接口a,目标接口版本为1.0.0时,可以将接口调用请求提交至1.0.0的接口a,发起针对接口a的接口调用。
101.在一种实施方式中,级联模块本地还存储了上级数据平台提供的api的全部历史版本的接口代码;可以从所述全部历史版本的接口代码中查找与所述目标接口版本对应的接口代码;
102.将所述调用请求提交至所述目标接口版本对应的接口代码,发起针对所述目标接口版本的目标api的接口调用。
103.由于级联模块存储了了全部历史版本的接口代码,当下级数据平台维护的api的接口版本要小于上级数据平台提供的api的接口版本时,可以直接将接口调用请求发送提交目标接口版本对应的接口代码,发起针对所述目标接口版本的目标api的接口调用,保证上下级数据平台接口可以完全兼容。
104.在一种实施方式中,还可以由下级数据平台获取上级数据平台维护的第一接口版本,并第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本,并由下级数据平台向上级数据平台发起目标接口版本的接口调用请求。
105.请参见图3,图3是一示例性的实施例示出的另一种下级数据平台发起接口调用请
求的流程图,
106.步骤302,所述下级数据平台响应于针对所述上级数据平台提供的目标api的接口调用,获取所述级联模块维护的所述上级数据平台维护的所述api的第一接口版本。
107.在本说明书中,下级数据平台可以针对上级数据平台提供的目标api发起接口调用请求,在调用请求之前可以预先获取上级数据平台提供的api的第一接口版本。
108.例如,可以在级联数据平台启动时,向上级数据平台发送获取第一接口版本的请求,以使上级数据平台向下级数据平台发送第一接口版本。也可以在级联数据平台启动后,定时从上级数据平台同步第一接口版本。
109.步骤304,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本。在本说明书中,目标接口版本可以是上级数据平台和下级数据平台均兼容的接口版本,例如上级数据平台提供的接口a的接口版本号为1.0.1,而下级数据平台对接该接口a的接口版本号1.0.0,如果级联模块直接使用1.0.1的接口版本,可能会出现不兼容的问题。比如,接口a的1.0.1版本的调用参数为(inta,int b,double c);而接口a的1.0.0版本的调用参数为(int a,int b);由于下级数据平台发起的调用参数为1.0.0版本的调用参数,因此级联模块直接使用1.0.1版本的接口a显然会出现问题。
110.下级数据平台在向上级数据平台发起接口调用请求时,可以获取上级数据平台维护的第一接口版本,将第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本。
111.例如,下级数据平台获取到上级数据平台提供的接口a的接口版本号为1.0.1,而下级数据平台维护的接口a的接口版本号为1.0.0。由于1.0.0版本的接口可以兼容上级数据平台以及下级数据平台,因此可以将1.0.0版本作为目标接口版本。
112.在一种实施方式中,当所述第一接口版本的版本标识大于所述第二接口版本的版本标识时,将所述第二接口版本确定为所述目标api的目标接口版本;
113.当所述第一接口版本的版本标识小于所述第二接口版本的版本标识时,将所述第一接口版本确定为所述目标api的目标接口版本。
114.当所述第一接口版本的版本标识大于第二接口版本的版本标识时,说明上级数据平台维护的api的接口版本大于下级数据平台提供的api的接口版本,此时可以将下级数据平台维护的api的接口版本确定为目标接口版本。
115.例如,下级数据平台获取到上级数据平台维护的接口a的第一接口版本的接口版本号为1.0.1,而第二接口版本的接口版本号为1.0.0,此时可以将下级数据平台维护的第二接口版本确定为目标接口版本。
116.当所述第一接口版本的版本标识小于第二接口版本的版本标识时,说明上级数据平台维护的api的接口版本小于下级数据平台提供的api的接口版本,此时可以将上级数据平台维护的api的接口版本确定为目标接口版本。
117.例如,下级数据平台获取到上级数据平台维护的接口a的第一接口版本的接口版本号为1.0.0,而第二接口版本的接口版本号为1.0.1,此时可以将上级数据平台维护的第一接口版本确定为目标接口版本。
118.步骤304,响应于确定出的所述目标接口版本,向所述上级数据平台发起针对所述
目标接口版本的目标api的接口调用请求。
119.下级数据平台确定出目标api的目标接口版本后,可以向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。例如,当确定目标api为接口a,目标接口版本为1.0.0时,可以向上级数据平台发起针对1.0.0版本的接口a的接口调用请求。
120.在一种实施方式中,所述下级数据平台本地存储了上级数据平台提供的api接口的全部历史版本的接口请求代码;可以从所述全部历史版本的接口请求代码中查找与所述目标接口版本对应的接口请求代码;
121.执行所述目标接口版本对应的接口请求代码,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
122.由于下级数据平台本地存储了全部历史版本的接口请求代码,当下级数据平台维护的api的接口版本要大于上级数据平台提供的api的接口版本时,可以直接通过目标接口版本对应的接口请求代码,发起针对所述目标接口版本的目标api的接口调用请求,从而保证上下级数据平台接口可以完全兼容。
123.在一种实施方式中,下级数据平台可以定时向上级数据平台同步第二接口版本。例如,数据级联平台启动后,可以每隔五天、十天等,定时将下级数据平台维护的接口版本同步至级联模块,以由级联模块将第二接口版本存储在本地进行维护。
124.通过以上实施例,在级联模块中维护了所述上级数据平台维护的所述api的第一接口版本,以及,由所述下级数据平台维护的所述api的第二接口版本,所述方法应用于所述级联模块,在调用目标接口前,比较目标接口的第一接口版本和第二接口版本,将更低的接口版本确定为目标接口版本,从而完成针对所述目标api的接口调用。
125.同时,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本,所述下级数据平台维护了所述api的第二接口版本,在下级数据平台发起接口调用请求前,将更低的接口版本确定为目标接口版本,从而发起针对目标接口版本的api的接口调用请求。
126.因此,通过以上技术方案,可以在接口调用时选择接口版本较低的api,并在发起接口调用请求时,选择接口版本较低的api发起接口调用请求,从而解决上下级数据平台之间版本不兼容的问题,因此当某一数据平台升级时,无需带动其他数据平台升级,节约数据平台的维护成本。
127.与上述接口调用方法的实施例对应的,本说明书还提供了接口调用装置的实施例。
128.请参见图4,图4是一示例性的实施例示出的一种接口调用装置所在电子设备的硬件结构图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
129.请参见图5,图5是一示例性的实施例示出的一种接口调用装置的框图。该接口调用装置可以应用于图4所示的电子设备中,以实现本说明书的技术方案。其中,上述接口调
用装置可以包括:
130.接收请求单元502,用于接收所述下级数据平台发起的针对所述上级数据平台提供的目标api的接口调用请求;
131.接口版本确定单元504,用于响应于所述接口调用请求,将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
132.接口调用单元506,用于将所述接口调用请求进一步提交至所述目标接口版本的目标api,以完成针对所述目标api的接口调用。
133.在本实施例中,所述级联模块存储了由所述上级数据平台维护的所述api的第一接口版本的版本标识,以及,由所述下级数据平台维护的所述api的第二接口版本的版本标识,接口版本确定单元504,具体用于当所述第二接口版本的版本标识大于所述第一接口版本的版本标识时,将所述第一接口版本确定为目标api的目标接口版本;
134.当所述第二接口版本的版本标识小于所述第一接口版本的版本标识时,将所述第二接口版本确定为目标api的目标接口版本。
135.在本实施例中,所述级联模块本地存储了上级数据平台提供的api接口的全部历史版本的接口代码;
136.接口调用单元506:具体用于从所述全部历史版本的接口代码中查找与所述目标接口版本对应的接口代码;
137.将所述接口调用请求提交至所述目标接口版本对应的接口代码,以完成针对所述目标接口版本的目标api的接口调用。
138.在本实施例中,所述接口调用装置还包括信息提示单元:用于当所述目标api的接口版本不存在时,向所述下级数据平台返回提示信息。
139.在本实施例中,所述接口调用装置还包括定时同步单元:用于接收所述下级数据平台定时同步的所述第二接口版本,将所述第二接口版本存储在本地进行维护。
140.在本实施例中,所述装置还包括请求发起单元:用于响应于针对所述上级数据平台提供的目标api的接口调用,获取所述级联模块维护的所述上级数据平台维护的所述api的第一接口版本;
141.将所述目标api对应的所述第一接口版本与所述第二接口版本中更低的接口版本确定为所述目标api的目标接口版本;
142.响应于确定出的所述目标接口版本,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
143.在本实施例中,所述下级数据平台本地存储了上级数据平台提供的api的全部历史版本的接口请求代码;
144.请求发起单元,具体用于从所述全部历史版本的接口请求代码中查找与所述目标接口版本对应的接口请求代码;
145.执行所述目标接口版本对应的接口请求代码,向所述上级数据平台发起针对所述目标接口版本的目标api的接口调用请求。
146.请求发起单元,具体用于向所述上级数据平台发起针对所述目标接口版本的目标api接口的接口调用请求,将数据信息发送至级联模块,以使所述上级数据平台通过所述目
标api接口获取所述数据信息,和/或;
147.从所述目标api接口获取上级数据平台通过所述目标api接口下发的第二数据信息。
148.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
149.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
150.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
151.本说明书还提供了一种计算机可读存储介质的实施例。所述计算机可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,可以实现本说明书中任意一个实施例提供的所述接口调用方法。
152.本说明书实施例提供的计算机可读存储介质具体可以包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随机存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmable read-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光纤卡片。也就是,可读存储介质包括可以存储或传输信息的可读介质。
153.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
154.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
155.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
156.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的
信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
157.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
158.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
159.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
160.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
161.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1