一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口管理系统、方法、存储介质及计算机设备与流程

2022-06-25 14:32:37 来源:中国专利 TAG:


1.本技术涉及网络接口管理技术领域,尤其涉及一种接口管理系统、方法、存储介质及计算机设备。


背景技术:

2.如今,越来越多的企业为了使自身构建的应用满足用户需求,将构建的应用与微服务架构进行整合,微服务架构是一种软件架构方式,它将应用构建成一系列按业务领域划分模块的、小的自治服务,在微服务架构中,每个服务都是自我包含的,并且实现了单一的业务功能,这样便能够为敏捷部署以及复杂企业应用的实施提供巨大的帮助,从而满足用户需求。
3.目前,在一些大型企业中,不同的微服务一般由不同的业务团队开发,这些微服务会提供很多rpc接口(远程过程调用接口)供不同的接口调用方调用。接口调用方在对接的时候一般会找微服务对应的接口提供方提供接入文档,然后进行对接,但随着业务发展越来越大,接口调用方也越来越多,若按照现有的方式进行对接,则容易出现接口滥用的现象,从而导致后期的维护成本较高,接口管理较为困难。


技术实现要素:

4.本技术的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中的接口对接方式容易出现接口滥用的现象,从而导致后期的维护成本较高,接口管理较为困难的技术缺陷。
5.本技术提供了一种接口管理系统,所述系统包括:接口管理后台、接口提供方和接口调用方;
6.所述接口管理后台中构建有统一接口列表,其中,所述统一接口列表包括各接口提供方中各接口的接口标识,以及由每一接口所对接的接口调用方的调用信息组成的调用方列表;
7.当任一接口提供方获取所述接口管理后台下发的与所述接口提供方中各接口对应的调用方列表后,所述接口提供方接收到任一与之通信的接口调用方发送的接口调用请求时,根据所述调用方列表对所述接口调用请求的请求权限进行核查,并将核查结果反馈至所述接口调用方以及所述接口管理后台。
8.可选地,所述接口管理后台中保存有各接口提供方配置的源码地址;
9.所述接口管理后台构建统一接口列表的过程,包括:
10.根据所述源码地址拉取源码,并按照事先约定的数据转换方式对所述源码进行转换,确定转换后的源码中的接口定义;
11.接收各个接口提供方根据转换后的源码中的接口定义填写的各接口的使用说明;
12.根据各接口的使用说明,将与之匹配的接口调用方的调用信息划分至对应接口的接口标识下,并组成各接口的调用方列表;
13.根据各接口的接口标识,以及各接口的调用方列表构建统一接口列表。
14.可选地,所述接口管理后台还用于:
15.实时获取所述源码的更新情况,若所述源码有更新,则依据更新后的源码更新所述统一接口列表,并通知已对接接口服务的接口调用方。
16.可选地,所述接口调用方还用于:
17.在发送接口调用请求之前,向所述接口管理后台发送接口调用申请,并由所述接口管理后台根据各接口的使用说明对所述接口调用申请进行审核;
18.接收所述接口管理后台返回的审核结果,在所述审核结果为审核通过的情况下,向任一与之通信的接口提供方发送接口调用请求。
19.可选地,所述接口管理后台还用于:
20.依据审核通过的接口调用方的调用信息,以及各接口的使用说明,更新所述统一接口列表。
21.可选地,所述接口调用方向任一与之通信的接口提供方发送接口调用请求的过程,包括:
22.所述接口调用方在进程启动时,将进程部署的目录名作为进程名填充到预先约定的通信协议的协议头中,并通过填充后的通信协议向任一与之通信的接口提供方发送接口调用请求。
23.可选地,所述接口提供方根据所述调用方列表对所述接口调用请求的请求权限进行核查,包括:
24.所述接口提供方将接收所述接口调用请求时的通信协议中携带的进程名,与所述调用方列表中各接口调用方的调用信息进行比对,确定所述调用信息中是否包含所述通信协议中的进程名。
25.可选地,所述接口提供方将核查结果反馈至所述接口调用方,包括:
26.所述接口提供方确定所述调用信息中包含所述通信协议中的进程名时,将有权限的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方反馈核查结果;
27.所述接口提供方确定所述调用信息中不包含所述通信协议中的进程名时,将无权限的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方反馈核查结果。
28.可选地,所述接口提供方将核查结果反馈至所述接口管理后台,包括:
29.所述接口提供方将所述接口调用方的进程名、所述接口调用请求对应的秒、所述接口调用方的ip、所述有权限的状态码或所述无权限的状态码上报至所述接口管理后台。
30.可选地,所述接口提供方根据所述调用方列表对所述接口调用请求的请求权限进行核查,还包括:
31.所述接口提供方根据所述调用方列表中各接口调用方的调用信息,确定本次接口调用请求是否达到qps上限。
32.可选地,所述接口提供方将核查结果反馈至所述接口调用方,包括:
33.所述接口提供方确定本次接口调用请求未达到所述qps上限时,将未被限流的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方反馈核
查结果;
34.所述接口提供方确定本次接口调用请求达到所述qps上限时,将已被限流的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方反馈核查结果。
35.可选地,所述接口提供方将核查结果反馈至所述接口管理后台,包括:
36.所述接口提供方将所述接口调用方的进程名、所述接口调用请求对应的秒、所述接口调用方的ip、所述有权限的状态码或所述无权限的状态码、所述未被限流的状态码或所述已被限流的状态码上报至所述接口管理后台。
37.可选地,所述任一接口提供方获取所述接口管理后台下发的与所述接口提供方中各接口对应的调用方列表,包括:
38.当任一接口提供方中的任一接口启动时,所述接口提供方获取所述接口管理后台下发的与所述接口提供方中各接口对应的调用方列表,并将所述调用方列表更新到进程内缓存;
39.和/或,
40.在任一接口提供方的任一接口提供接口服务的过程中,所述接口提供方定时从所述接口管理后台拉取与所述接口提供方中各接口对应的调用方列表,并将所述调用方列表更新到进程内缓存。
41.本技术还提供了一种接口管理方法,包括:
42.获取各接口的调用方列表,所述调用方列表由对应接口所对接的接口调用方的调用信息组成;
43.当接收到任一与之通信的接口调用方发送的接口调用请求时,根据各接口的调用方列表对所述接口调用请求的请求权限进行核查,得到核查结果;
44.将所述核查结果反馈至所述接口调用方。
45.本技术还提供了一种计算机可读存储介质,包括:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例所述的接口管理方法。
46.本技术还提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
47.所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例所述的接口管理方法。
48.从以上技术方案可以看出,本技术实施例具有以下优点:
49.本技术提供的接口管理系统、方法、存储介质及计算机设备,包括接口管理后台、接口提供方和接口调用方,接口管理后台中构建有统一接口列表,该统一接口列表包括各接口提供方中各接口的接口标识,以及由每一接口所对接的接口调用方的调用信息组成的调用方列表,接口管理后台将各调用方列表分别下发至对应的接口提供方后,接口提供方可以依据该调用方列表中描述的接口调用方的调用信息对接收到的任一接口调用方发送的接口调用请求的请求权限进行核查;例如,当调用方列表中描述了与接口提供方中各接口对接时的接口调用方的进程名,此时接口提供方便可以根据调用方列表中的进程名来对本次发送接口调用请求的接口调用方的进程名进行核查,并将核查结果反馈至接口调用方以及接口管理后台,这样既可以避免接口调用方中不同项目之间不断复制代码而导致的接
口滥用、管理困难等现象发生,还能够方便管理人员实时查看当前服务接口的使用情况,便于后续接口维护和接口升级迁移等。
附图说明
50.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
51.图1为本技术实施例提供的应用架构示意图;
52.图2为本技术实施例提供的接口的使用说明示意图;
53.图3为本技术实施例提供的接口提供方创建应用服务的界面示意图;
54.图4为本技术实施例提供的接口调用方申请接口权限时提交的接口调用申请的界面示意图;
55.图5为本技术实施例提供的接口调用方与接口提供方之间进行通信时的通信协议格式示意图;
56.图6为本技术实施例提供的接口调用方的调用情况展示图;
57.图7为本技术实施例提供的一种接口管理方法的流程示意图;
58.图8为本技术实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
59.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.目前,在一些大型企业中,不同的微服务一般由不同的业务团队开发,这些微服务会提供很多rpc接口(远程过程调用接口)供不同的接口调用方调用。接口调用方在对接的时候一般会找微服务对应的接口提供方提供接入文档,然后进行对接,但随着业务发展越来越大,接口调用方也越来越多,若按照现有的方式进行对接,则容易出现接口滥用的现象,从而导致后期的维护成本较高,接口管理较为困难。
61.基于此,本技术提出如下技术方案,具体参见下文:
62.在对本技术的具体实现过程进行说明之前,首先说明本技术的应用环境,具体请参考图1,图1为本技术实施例提供的应用架构示意图;图1中的应用架构包括接口管理后台110、接口调用方120和接口提供方130,其中,接口管理后台110可以对接口调用方120的调用权限以及接口提供方130的接口内容进行管理,并形成统一接口列表,该统一接口列表中既包括各接口提供方130中各接口的接口标识,也包括由各接口所对接的接口调用方120的调用信息组成的调用方列表,接口管理后台110可以将各调用方列表下发至对应的接口提供方130,以便任一接口提供方130在接收到任一接口调用方120发送的接口调用请求时,根据该调用方列表对本次接收接口调用请求的接口调用方120的请求权限进行核查,并将核查结果反馈至接口调用方120以及接口管理后台110,这样接口调用方120便可以得知当前
发送的接口调用请求的请求结果,接口管理后台110也可以根据核查结果来对接口调用方120进行管理,从而降低管理难度,方便接口维护和接口升级迁移。
63.进一步地,本技术中的接口调用方120可以是客户端,该客户端可以是安装在终端设备上的应用程序,该终端设备可以是具有显示屏的各种电子设备,包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种;该应用程序可以是即时通讯应用程序、网络直播应用程序、短视频应用程序、生活服务类应用程序、网络购物应用程序等。本技术中的接口提供方130可以是服务器,服务器的种类可以是多种,按照其功能可以分为插件中心服务器、基础语音服务器、视频服务器、身份认证服务器、关注服务器等;客户端和服务端之间可以基于tcp协议建立网络连接,如http通信、socket通信等。
64.更进一步地,本技术中的接口提供方130可以为一个或多个,每一接口提供方130中配置有一个或多个应用,每一应用可以被构建成一系列按业务领域划分模块的、小的自治服务,即微服务。每一微服务可以提供一个或多个rpc接口供接口调用方120进行调用,并实现相应的服务。而本技术中的接口调用方120也可以为一个或多个,且一个或多个接口调用方120可以向一个接口提供方130发送接口调用请求,也可以向多个接口提供方130发送接口调用请求,在此不做限制。
65.下面将站在系统的角度来对本技术的接口管理系统进行说明,具体参见下文:
66.在一个实施例中,本技术提供了一种接口管理系统,其特征在于,所述系统包括:接口管理后台110、接口提供方130和接口调用方120。
67.所述接口管理后台110中构建有统一接口列表,其中,所述统一接口列表包括各接口提供方130中各接口的接口标识,以及由每一接口所对接的接口调用方120的调用信息组成的调用方列表。
68.当任一接口提供方130获取所述接口管理后台110下发的与所述接口提供方130中各接口对应的调用方列表后,所述接口提供方130接收到任一与之通信的接口调用方120发送的接口调用请求时,根据所述调用方列表对所述接口调用请求的请求权限进行核查,并将核查结果反馈至所述接口调用方120以及所述接口管理后台110。
69.本实施例中,接口管理平台110可以对接口调用方120的调用权限进行管理,也可以对接口提供方130的接口定义以及接口内容等进行管理,还可以对接口提供方130上报的接口调用方120的调用情况进行管理,进而方便管理人员实时知得知当前服务接口的使用情况,以便于后续接口维护和接口升级迁移等。
70.具体地,本技术在进行接口调用管理时,接口管理平台110可以将其预先构建的统一接口列表中的调用方列表发送至相应的接口提供方130,以便该接口提供方130接收到任一与之通信的接口调用方120发送的接口调用请求时,可以根据获取到的调用方列表来对本次接口调用请求的请求权限进行核查,并将核查结果反馈至接口调用方120以及接口管理后台110,接口调用方120收到该核查结果后,便可以继续调用接口或变更接口调用请求,而接口管理后台110接收到该核查结果后,可以根据该核查结果来了解当前服务接口的使用情况,从而在一定程度上减少接口提供方120中的接口出现滥用的情况。
71.其中,接口管理平台110中的统一接口列表可以通过对接口提供方130的源代码进行自动分析后生成。如接口提供方130提供的源代码中对各接口进行定义,本技术可以获取
源代码中的接口定义,并确定与之对应的接口内容,从而形成统一接口列表,减少人工配置,做到源码和接口管理后台保持一致。
72.但此时的统一接口列表中仅保存有接口提供方130中各接口的接口标识等,并没有接口调用方120的调用信息,而本技术的接口管理平台110可以对接口调用方120的调用权限进行管理。因此,当一个或多个接口调用方120想要获取调用权限时,便可以向接口管理平台110发送接口调用申请,待该接口调用申请审核通过后,接口管理平台110便可以将审核通过的接口调用方120的调用信息与接口提供方130中各接口进行匹配,从而形成最终的统一接口列表。
73.另外,由于该统一接口列表中的每一接口的接口标识下对应有一个或多个与该接口对接的接口调用方120的调用信息,因此,本技术可以将每一接口所对接的接口调用方120的调用信息组成调用方列表,并将该调用方列表下发至对应的接口提供方130,以使接口提供方130根据该调用方列表来进行权限核查工作。
74.进一步地,当任一接口提供方130获取到接口管理后台110下发的与该接口提供方130中各接口对应的调用方列表后,可以将该调用方列表配置到进程内缓存,然后才正式对外提供服务。在提供服务的过程中,若收到任一与之通信的接口调用方120发送的接口调用请求后,便可以将进程内缓存的调用方列表中各接口调用方120的调用信息与当前的接口调用请求的请求权限进行核查,如核查当前的接口调用请求所对应的进程名是否存在于调用方列表中,或当前的接口调用请求是否达到qps(每秒调用量)上限等,以此来接口调用情况进行管理。
75.上述过程中,接口调用方120与接口提供方130在进行服务调用之前,已经构建好了通信连接。因此,当某一接口调用方120想要进行接口调用时,便可以向任一与之通信的接口提供方130发送接口调用请求,相对地,某一接口提供方130在进行接口服务的过程中,也可以接收任一与之通信的接口调用方120发送的接口调用请求。
76.而本技术中接口调用方120与接口提供方130进行服务调用时,可以通过远程方法调用的方式进行。可以理解的是,在单体应用时,一次服务调用发生在同一台机器上的同一个进程内部,也就是说调用发生在本机内部,因此也被叫作本地方法调用。而本技术进行服务化拆分之后,接口提供方130和接口调用方120运行在两台不同物理机上的不同进程内,它们之间的调用相比于本地方法调用,可称之为远程方法调用,简称rpc(remote procedure call)。
77.rpc调用的原理类似电话通话的过程。例如,当接口调用方120为客户端,接口提供方130为服务端时,两者通常位于网络上两个不同的地址,要完成一次rpc调用,就必须先建立网络连接。建立连接后,双方还必须按照某种约定的协议进行网络通信,这个协议就是通信协议。双方能够正常通信后,服务端接收到请求时,需要以某种方式进行处理,处理成功后,把请求结果返回给客户端,以此来完成服务调用。
78.上述实施例中,接口管理系统可以包括接口管理后台110、接口提供方130和接口调用方120,接口管理后台110中构建有统一接口列表,该统一接口列表包括各接口提供方130中各接口的接口标识,以及由每一接口所对接的接口调用方120的调用信息组成的调用方列表,接口管理后台110将各调用方列表分别下发至对应的接口提供方130后,接口提供方130可以依据该调用方列表中描述的接口调用方120的调用信息对接收到的任一接口调
用方120发送的接口调用请求的请求权限进行核查;例如,当调用方列表中描述了与接口提供方130中各接口对接时的接口调用方的进程名,此时接口提供方便可以根据调用方列表中的进程名来对本次发送接口调用请求的接口调用方120的进程名进行核查,并将核查结果反馈至接口调用方120以及接口管理后台130,这样既可以避免接口调用方120中不同项目之间不断复制代码而导致的接口滥用、管理困难等现象发生,还能够方便管理人员实时查看当前服务接口的使用情况,便于后续接口维护和接口升级迁移等。
79.在一个实施例中,所述接口管理后台110中保存有各接口提供方130配置的源码地址。所述接口管理后台110构建统一接口列表的过程,可以包括:
80.s111:根据所述源码地址拉取源码,并按照事先约定的数据转换方式对所述源码进行转换,确定转换后的源码中的接口定义。
81.s112:接收各个接口提供方130根据转换后的源码中的接口定义填写的各接口的使用说明。
82.s113:根据各接口的使用说明,将与之匹配的接口调用方120的调用信息划分至对应接口的接口标识下,并组成各接口的调用方列表。
83.s114:根据各接口的接口标识,以及各接口的调用方列表构建统一接口列表。
84.本实施例中,接口管理后台110可以保存各个接口提供方130配置的源码地址,通过该源码地址可以拉取对应的源码,并按照事先约定的数据转换方式对拉取到的源码进行转换,转换后的源码中包含有对应接口提供方130中各接口的接口参数以及接口定义,此时便可以根据转换后的源码来确定源码中的接口定义。其中,数据转换方式可以包括pb协议,thrift协议等,而接口管理后台110中配置的源码地址可以是git或者svn的项目源码地址,在此不做限制。
85.当得到各个接口提供方130中各接口对应的接口定义后,接口提供方130可以根据该接口定义来填写各接口的使用说明,如接口名称、对接方式、描述、支持的qps等,并将填写的使用说明保存至接口管理后台110。示意性地,如图2所示,图2为本技术实施例提供的接口的使用说明示意图,图2中,对于接入应用为录播服务的应用服务下,包含有接口名称为“根据uid查询直播信息”、“根据uid查询直播数量”等,以及每一接口支持的qps上限,接口提供方130可以根据该部分内容来填写各接口的使用说明。
86.当接口管理后台110接收到各接口的使用说明后,便可以根据使用说明中的接口名称和描述等来确定各接口的接口标识,并将与各接口匹配的接口调用方120的调用信息划分至对应接口的接口标识下,以便形成与各接口对应的调用方列表。接着,接口管理后台110可以根据各接口的接口标识以及各接口的调用放列表来构建统一接口列表,并将该统一接口列表保存至数据库。该统一接口列表既可以用于对接口调用方120的接口调用申请进行审核,又可以用于辅助接口提供方130对接口调用方120的请求权限进行审核,从而方便接口管理及接口维护升级等工作。
87.可以理解的是,本技术的接口管理后台110可以对接口调用方120的调用权限进行管理,因此,当某一接口调用方120想要获取调用权限时,便可以向接口管理后台110提出接口调用申请,该接口调用申请中包含有接口调用方120的调用信息,接口管理后台110可以将审核通过的接口调用方120的调用信息与各接口的使用说明进行匹配,从而为每一接口划分对应的接口调用方120的调用信息。
88.在一个实施例中,所述接口管理后台110还可以用于:
89.实时获取所述源码的更新情况,若所述源码有更新,则依据更新后的源码更新所述统一接口列表,并通知已对接接口服务的接口调用,120。
90.本实施例中,接口管理后台110可以实时获取源码的更新情况,若源码有更新,则会自动触发源码接口对当前更新的源码进行自动分析,并根据分析结果来更新统一接口列表,以此来保证源码与统一接口列表实时同步,并且,对于有变更的接口,接口管理后台110可以通过邮件或短信或其他可通信的方式来通知已经对接接口服务的接口调用方120,当接口调用方120接收到该通知后,可以登录接口管理后台110查看已更新的统一接口列表中变更的接口的接口说明,以此来确定是否需要调整当前的接口调用服务。
91.在一个实施例中,所述接口调用方120还可以用于:
92.s121:在发送接口调用请求之前,向所述接口管理后台110发送接口调用申请,并由所述接口管理后台110根据各接口的使用说明对所述接口调用申请进行审核。
93.s122:接收所述接口管理后台110返回的审核结果,在所述审核结果为审核通过的情况下,向任一与之通信的接口提供方130发送接口调用请求。
94.本实施例中,接口调用方120在发送接口调用请求之前,可以向接口管理后台110发送接口调用申请,接口管理后台110接收到该接口调用申请后,便可以根据统一接口列表中各接口的使用说明来对本次接口调用申请进行审核,并将审核结果返回至接口调用方120,当接口调用方120接收到审核通过的审核结果后,便可以向任一与之通信的接口提供方130发送接口调用请求。这样既可以通过接口管理后台110追踪各接口调用方120的调用情况,还可以防止接口调用方120的接口滥用。
95.其中,接口调用方120在向接口管理后台110发送接口调用申请时,该接口调用申请可以依据接口管理后台110中保存的统一接口列表进行填写,填写内容可以包括调用服务的进程名、qps、使用场景等,接口管理后台110接收到该接口调用申请后,可以根据该接口调用申请中的用服务的进程名、qps、使用场景等进行审核。
96.示意性地,如图3、4所示,图3为本技术实施例提供的接口提供方130创建应用服务的界面示意图,图4为本技术实施例提供的接口调用方120申请接口权限时提交的接口调用申请的界面示意图;图3中,接口提供方130可以根据自身需要创建相应的应用服务,该应用服务可以包括应用id、应用名称、应用密钥、创建人、备注信息以及应用配置等,同时,接口提供方130可以在接口管理后台110中配置该应用服务对应的源码地址,以便接口管理后台110通过该源码地址拉取到相应的源码,并根据该源码解析得到对应的接口定义,从而构建统一接口列表。
97.可以理解的是,一个应用服务中可以包括多个接口定义,而每一接口定义对应一个接口,当接口调用方120想要获取调用权限时,需要填写想要接入的应用服务的应用名称,以及调用的接口对应的接口名称等。如图4所示,接口调用方120在填写接口调用申请时,可以填写接入应用、业务、接口名称、qps上限以及场景描述,填写过程中可以依据接口管理后台110中的统一接口列表的内容进行填写。
98.在一个实施例中,所述接口管理后台110还可以用于:
99.依据审核通过的接口调用方120的调用信息,以及各接口的使用说明,更新所述统一接口列表。
100.本实施例中,由于不同的接口调用方120申请调用权限的时机不一致,且同一接口调用方120中不同进程进行接口调用时也需要重新申请调用权限。因此,本技术的接口管理后台110中保存的统一接口列表可以进行实时更新,以便与当前的调用服务相匹配。
101.举例来说,当某一接口调用方120发送接口调用申请并审核通过后,接口管理后台110可以根据审核通过的接口调用方120的调用信息以及各接口的使用说明来更新统一接口列表,以使统一接口列表与当前的调用服务相匹配,从而更好地进行接口管理。
102.其中,审核通过的接口调用方120的调用信息可以通过该接口调用方120提出接口调用申请时所填写的申请内容进行确定,例如,本技术可以将接口调用方120提出接口调用申请时填写的场景描述作为该接口调用方120调用服务的进程名,接口名称作为该接口调用方120所对接的接口的接口标识,并依据该接口标识在各接口的使用说明中查找与之对应的接口,并将该接口调用方120调用服务的进程名作为调用信息录入该接口对应的调用方列表中,以此来更新统一接口列表。
103.在一个实施例中,所述接口调用方120向任一与之通信的接口提供方130发送接口调用请求的过程,可以包括:
104.所述接口调用方120在进程启动时,将进程部署的目录名作为进程名填充到预先约定的通信协议的协议头中,并通过填充后的通信协议向任一与之通信的接口提供方130发送接口调用请求。
105.本实施例中,由于接口调用方120与接口提供方130之间进行调用服务时,主要是通过远程方法调用的方式进行,而使用远程方法调用的方式进行调用服务之前,需要建立网络连接,建立连接后,双方便可以按照预先约定的通信协议进行网络通信,并在通信过程中传输相关信息。
106.本技术中,为了避免接口调用方120在使用的时候手工填写出错,也为了避免接口调用方120申请一次调用权限后,接口调用方120中的每个项目不断复制代码导致接口滥用的情况发生,本技术可以在接口调用方120申请调用权限时约定:接口调用方120在进程启动时,将进程部署的目录名作为进程名填充到预先约定的通信协议的协议头中,并通过填充后的通信协议向任一与之通信的接口提供方130发送接口调用请求,当任一接口提供方130接收到接口调用方120发送的接口调用请求时,便可以根据其通信协议的协议头中携带的进程名来对本次的接口调用请求的请求权限进行核查,以此来方便接口管理。
107.示意性地,如图5所示,图5为本技术实施例提供的接口调用方120与接口提供方130之间进行通信时的通信协议格式示意图;图5中,当接口调用方120发送接口调用请求时,可以在该通信协议的协议头中填充客户端进程名,接口提供方130接收到该接口调用请求,并对该接口调用请求的请求权限进行审核返回核查结果时,也可以通过该通信协议进行返回,并且返回时也可以在通信协议的协议头中填充相关参数,以便接口调用方120根据返回核查结果时的通信协议的协议头中携带的相关参数来判断本次接口调用请求是否需要调整。
108.在一个实施例中,所述接口提供方130根据所述调用方列表对所述接口调用请求的请求权限进行核查,可以包括:
109.所述接口提供方130将接收所述接口调用请求时的通信协议中携带的进程名,与所述调用方列表中各接口调用方120的调用信息进行比对,确定所述调用信息中是否包含
所述通信协议中的进程名。
110.本实施例中,接口提供方130在根据调用方列表对本次接口调用请求的请求权限进行核查时,可以将本次接收到接口调用请求时通信协议中携带的进程名,与调用方列表中各接口调用方120的调用信息进行比对,从而确定调用信息中是否包含通信协议中的进程名,并以此来对本次接口调用请求的请求权限进行核查。
111.可以理解的是,接口调用方120的调用信息可以通过该接口调用方120提出接口调用申请时所填写的申请内容进行确定。例如,本技术可以将接口调用方120提出接口调用申请时填写的场景描述作为该接口调用方120调用服务的进程名,将接口调用方120提出接口调用申请时填写的qps上限作为该接口调用方120的qps上限,以此来形成接口调用方120的调用信息。当接口提供方130获取到对应的调用方列表后,便可以根据该调用方列表中的调用信息来核查当前的接口调用请求的请求权限。
112.在一个实施例中,所述接口提供方130将核查结果反馈至所述接口调用方120,可以包括:
113.所述接口提供方130确定所述调用信息中包含所述通信协议中的进程名时,将有权限的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果。
114.所述接口提供方130确定所述调用信息中不包含所述通信协议中的进程名时,将无权限的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果。
115.本实施例中,接口提供方130在对接口调用方120发送的接口调用请求的请求权限进行核查,并得到核查结果后,接口提供方130可以将该核查结果通过事先约定的通信协议返回至接口调用方120。
116.示意性地,如图5所示,当接口提供方130确定调用信息中包含通信协议中的进程名时,可以将有权限的状态码填充到通信协议的协议头中,并通过填充后的通信协议向接口调用方120反馈核查结果;当接口提供方130确定调用信息中不包含通信协议中的进程名时,可以将无权限的状态码填充到通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果。
117.接口调用方120接收到核查结果时,可以从通信协议的协议头中获取状态码,若状态码为有权限的状态码,则表示当前的接口调用请求的请求权限已经审核通过,此时接口提供方120便可以将该接口调用请求发送到业务逻辑进行业务处理;若状态码为无权限的状态码,则表示当前的接口调用请求的请求权限未审核通过,此时接口调用方120可以更换接口提供方130,或延迟请求,以此来提高接口利用率。
118.在一个实施例中,所述接口提供方130将核查结果反馈至所述接口管理后台110,可以包括:
119.所述接口提供方130将所述接口调用方120的进程名、所述接口调用请求对应的秒、所述接口调用方120的ip、所述有权限的状态码或所述无权限的状态码上报至所述接口管理后台110。
120.本实施例中,当接口提供方130在对接口调用方120发送的接口调用请求的请求权限进行核查,并得到核查结果后,可以将该核查结果上报至接口管理后台110,上报至接口
管理后台110的内容可以包括本次接口调用请求的接口调用方120的进程名、接口调用请求对应的秒、接口调用方120的ip、有权限的状态码或无权限的状态码,接口管理后台110可以将这些数据保存到数据库,然后统计出每个接口调用方120使用的qps,并将统计结果展示在管理后台界面,以便观看。
121.示意性地,如图6所示,图6为本技术实施例提供的接口调用方120的调用情况展示图;图6中,管理后台界面中展示有各个接口在不同时段的接口请求数,并形成相应的曲线图,通过该曲线图可以清楚地查看某一接口在对应时段内的接口请求数量的变化情况,以便于后续接口维护和接口升级迁移等。
122.进一步地,接口提供方130将核查结果上报至接口管理后台110时,考虑到每一次产生核查结果都直接上报至接口管理后台110,会导致上报次数过多,容易出错或延迟响应。因此,本技术可以将核查结果先缓存到服务进程里面,然后定时异步上报回接口管理后台110进行展示,以此来减少出错率,提高管理效率。
123.在一个实施例中,所述接口提供方130根据所述调用方列表对所述接口调用请求的请求权限进行核查,还可以包括:
124.所述接口提供方130根据所述调用方列表中各接口调用方120的调用信息,确定本次接口调用请求是否达到qps上限。
125.本实施例中,接口提供方130在对本次接口调用请求的请求权限进行核查时,还可以根据调用方列表中各接口调用方120的调用信息来确定本次接口调用请求是否达到qps上限,这样便可以通过对每个接口调用方120单独限制qps上限来达到防止接口滥用的目的。
126.在一个实施例中,所述接口提供方130将核查结果反馈至所述接口调用方120,可以包括:
127.所述接口提供方130确定本次接口调用请求未达到所述qps上限时,将未被限流的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果;
128.所述接口提供方130确定本次接口调用请求达到所述qps上限时,将已被限流的状态码填充到所述通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果。
129.本实施例中,接口提供方130在对接口调用方120发送的接口调用请求的请求权限进行核查,并得到核查结果后,接口提供方130可以将该核查结果通过事先约定的通信协议返回至接口调用方120。
130.示意性地,如图5所示,当接口提供方130确定调用信息中包含通信协议中的进程名时,可以继续对本次接口调用请求的其他请求权限进行核查,以便进一步限制接口调用方120的调用量。例如,当接口提供方130确定本次接口调用请求未达到qps上限时,可以将未被限流的状态码填充到通信协议的协议头中,并通过填充后的通信协议向接口调用方120反馈核查结果;当接口提供方130确定本次接口调用请求达到qps上限时,可以将已被限流的状态码填充到通信协议的协议头中,并通过填充后的通信协议向所述接口调用方120反馈核查结果。
131.接口调用方120接收到核查结果时,可以从通信协议的协议头中获取状态码,若状
态码为未被限流的状态码,则表示当前的接口调用请求的请求权限已经审核通过,此时接口提供方120便可以将该接口调用请求发送到业务逻辑进行业务处理;若状态码为已被限流的状态码,则表示当前的接口调用请求的请求权限未审核通过,此时接口调用方120可以更换接口提供方130,或延迟请求,以此来提高接口利用率。
132.在一个实施例中,所述接口提供方130将核查结果反馈至所述接口管理后台110,可以包括:
133.所述接口提供方130将所述接口调用方120的进程名、所述接口调用请求对应的秒、所述接口调用方120的ip、所述有权限的状态码或所述无权限的状态码、所述未被限流的状态码或所述已被限流的状态码上报至所述接口管理后台110。
134.本实施例中,当接口提供方130在对接口调用方120发送的接口调用请求的请求权限进行核查,并得到核查结果后,可以将该核查结果上报至接口管理后台110,上报至接口管理后台110的内容可以包括本次接口调用请求的接口调用方120的进程名、接口调用请求对应的秒、接口调用方120的ip、有权限的状态码或无权限的状态码、未被限流的状态码或已被限流的状态码,接口管理后台110可以将这些数据保存到数据库,然后统计出每个接口调用方120使用的qps,并将统计结果展示在管理后台界面,以便观看。
135.在一个实施例中,所述任一接口提供方130获取所述接口管理后台110下发的与所述接口提供方130中各接口对应的调用方列表,可以包括:
136.当任一接口提供方130中的任一接口启动时,所述接口提供方130获取所述接口管理后台110下发的与所述接口提供方130中各接口对应的调用方列表,并将所述调用方列表更新到进程内缓存;
137.和/或,
138.在任一接口提供方130的任一接口提供接口服务的过程中,所述接口提供方130定时从所述接口管理后台110拉取与所述接口提供方130中各接口对应的调用方列表,并将所述调用方列表更新到进程内缓存。
139.本实施例中,当任一接口提供方130中的任一接口启动时,该接口提供方130便可以根据当前服务名称从接口管理后台110获取与该接口提供方130中各接口对应的调用方列表,并将该调用方列表更新到进程内缓存,然后才正式对外提供服务。并且,在提供接口服务过程中,还可以定时从接口管理后台110拉取与该接口提供方130中各接口对应的最新的调用方列表,并将最新的调用方列表更新到进程内缓存。
140.另外,本技术还可以在任一接口提供方130的任一接口提供接口服务的过程中,该接口提供方130根据当前服务名称定时从接口管理后台110拉取与该接口提供方130中各接口对应的调用方列表,并将该调用方列表更新到进程内缓存,以保证接口提供方130中缓存的调用方列表中的接口调用方120的调用信息,与接口管理后台110中保存的调用方列表中的接口调用方120的调用信息一致。
141.进一步地,对于接口提供方130何时从接口管理后台110拉取与该接口提供方130中各接口对应的调用方列表的时间设置,可以依据实际情况进行设定,在此不做限制。
142.下面对本技术实施例提供的接口管理方法进行描述,下文描述的接口管理方法主要站在接口提供方130的角度,可与上文描述的接口管理系统中的接口提供方130相互对应参照。
143.在一个实施例中,如图7所示,图7为本技术实施例提供的一种接口管理方法的流程示意图;本技术还提供了一种接口管理方法,具体包括如下:
144.s131:获取各接口的调用方列表。
145.s132:当接收到任一与之通信的接口调用方120发送的接口调用请求时,根据各接口的调用方列表对接口调用请求的请求权限进行核查,得到核查结果。
146.s133:将核查结果反馈至接口调用方120。
147.上述实施例中,接口提供方130可以获取各接口对应的调用方列表,该调用方列表是由对应接口所对接的接口调用方120的调用信息组成,因此,当接口提供方130接收到任一与之通信的接口调用方120发送的接口调用请求时,便可以根据各接口的调用方列表对本次接口调用请求的请求权限进行核查,并将核查结果反馈至接口调用方120,以此来避免接口调用方中不同项目之间不断复制代码而导致的接口滥用、管理困难等现象发生。
148.在一个实施例中,本技术还提供了一种计算机可读存储介质,包括:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例所述的接口管理方法。
149.在一个实施例中,本技术还提供了一种计算机设备,包括:一个或多个处理器,以及存储器。
150.所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例所述的接口管理方法。
151.示意性地,如图8所示,图8为本技术实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图8,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的接口管理方法。
152.计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(i/o)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如windows server tm、mac os xtm、unix tm、linux tm、free bsdtm或类似。
153.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
154.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
155.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他
实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
156.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献