CN116938958A - Api信息同步方法、装置、系统与计算机可读存储介质 - Google Patents
Api信息同步方法、装置、系统与计算机可读存储介质 Download PDFInfo
- Publication number
- CN116938958A CN116938958A CN202310914736.9A CN202310914736A CN116938958A CN 116938958 A CN116938958 A CN 116938958A CN 202310914736 A CN202310914736 A CN 202310914736A CN 116938958 A CN116938958 A CN 116938958A
- Authority
- CN
- China
- Prior art keywords
- api
- information
- module
- transfer module
- synchronized
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012546 transfer Methods 0.000 claims abstract description 171
- 230000001360 synchronised effect Effects 0.000 claims abstract description 126
- 238000012545 processing Methods 0.000 claims abstract description 19
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 175
- 238000012423 maintenance Methods 0.000 claims description 72
- 238000004891 communication Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 abstract description 25
- 238000007726 management method Methods 0.000 description 120
- 230000000007 visual effect Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种API信息同步方法、装置、系统与计算机可读存储介质,该方法包括:通过API信息中转模块接收API管理模块发送的API信息,并对所述API信息进行处理,得到待同步API信息并存储;通过所述API信息中转模块将所述待同步API信息同步至API网关。本发明通过API信息中转模块对接收到的API信息进行处理,得到待同步API信息并存储,进而通过API信息中转模块将待同步API信息同步至对应的API网关,减少了同步过程中的人工处理,并且加入API信息中转模块解除了API与API网关之间的强绑定关系,同步时不需要同时考虑API信息和API网关,节省了同步过程花费的时间,提高了API信息同步的效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及API信息同步方法、装置、系统与计算机可读存储介质。
背景技术
在当前流行的微服务架构中,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提供方展示程序开发包,并响应于所述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信息中转模块,还用于接收所述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信息同步的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明API信息同步方法实施例的流程示意图;
图3为本发明API信息同步装置结构示意图;
图4为本发明API信息同步装置中的API管理模块的结构示意图;
图5为本发明API信息同步装置优选结构示意图;
图6为本发明新上线的API信息同步的流程示意图;
图7为本发明已上线的API维护信息同步的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC机或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的储存装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机储存介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及API信息同步程序。
其中,操作系统是管理和控制便携储存设备与软件资源的程序,支持网络通信模块、用户接口模块、API信息同步程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的储存设备中,所述储存设备通过处理器1001调用存储器1005中储存的API信息同步程序,并执行下述API信息同步方法各个实施例中的操作。
基于上述硬件结构,提出本发明API信息同步方法实施例。
参照图2,图2为本发明API信息同步方法实施例的流程示意图,所述方法包括:
步骤S10,通过API信息中转模块接收API管理模块发送的API信息,并对所述API信息进行处理,得到待同步API信息并存储;
步骤S20,通过所述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信息同步的效率。
以下将对各个步骤进行详细说明:
步骤S10,通过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信息的步骤之前包括:
步骤a,通过所述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信息同步的效率。
示例性地,注解信息(Annontation)是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。API注册模块中提供的注解信息如下所示:
@RestController
public class ProducerController{
@GetMapping("/v1/producer")
@GatewayApi(
gatewayName="api-gateway",
apiName="/api-gateway/v1/producer",
apiDesc="生产者示例接口-网关提供者",
messageType=GatewayCodecMessageType.JSON,
authType="openAPI"
)
public GenericRspDTO<ProducerRspDTO>getProducer(@QueryBody ProducerReqDTO producer){
//to do something
}
}
在上述代码中@GatewayApi即为注解信息,注解信息不影响需要注册的API的程序的业务逻辑,仅在应用程序启动的时候,将此注解所描述信息内容向API信息中转模块发送。此注解信息的字段含义如下:
gatewayName:网关名,为该API发布后归属API网关名称;
apiName:即该API对外调用的接口地址;
apiDesc:该API的简单描述;
messageType:报文格式,指定该接口的报文格式类型,如json,xml等,也可以自定义报文格式;
authType:即调用该API的调用方的身份类型,该参数将指定该接口将使用安全认证方式,此处仅为标识,具体的实现在API网关中,在API调用时,API网关读取该字段信息后,匹配具体的安全认证方式,调用相对应的方法进行处理。
假定该段代码所在的应用程序名为test-app,通过以上示例代码得知,test-app的ProducerController类的getProducer方法,在应用程序内的接口地址为“/v1/producer”,将通过名为“api-gateway”的网关对外暴露“/api-gateway/v1/producer”接口,使用的JSON报文格式,按照OpenAPI的认证方式提供。
步骤b,通过所述API注册模块将所述API注册信息发送至API信息中转模块。
在该步骤中,API信息同步装置通过API注册模块得到API注册信息后,通过API注册模块将API注册信息发送至API信息中转模块;可以理解的是,API注册模块与API信息中转模块之间进行通信连接,API注册模块将API注册信息发送到API信息中转模块,便于API信息中转模块进行后续的同步操作。
进一步地,API管理模块还包括API配置管理模块,API信息还包括API维护信息,通过API信息中转模块接收API管理模块发送的API信息的步骤之前包括:
步骤c,通过所述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维护的效率。
步骤d,通过所述API配置管理模块将所述API维护信息发送至API信息中转模块。
在该步骤中,API信息同步装置通过API配置管理模块得到API维护信息后,通过API配置管理模块将API维护信息发送至API信息中转模块;可以理解的是,API配置管理模块与API信息中转模块之间进行通信连接,API配置管理模块将API维护信息发送到API信息中转模块,便于API信息中转模块进行后续的同步操作。
进一步地,步骤S10包括:
步骤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等步骤。
步骤S102,或者,通过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信息并存储。
步骤S20,通过所述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网关的步骤包括:
步骤S201,通过所述API信息中转模块根据所述待同步API信息生成通知信息,并将所述通知信息发送到消息队列中;
步骤S202,通过所述消息队列将所述通知信息发送到API网关,并通过所述API网关根据所述通知信息向所述API信息中转模块发送获取指令;
步骤S203,通过所述API信息中转模块根据所述获取指令获取所述待同步API信息,并将所述待同步API信息同步至所述API网关。
在步骤S201至步骤S203中,API信息同步装置通过API信息中转模块根据待同步API信息生成通知信息,并将通知信息发送到消息队列中,API信息同步装置通过消息队列将通知信息发送到API网关,并通过API网关根据通知信息向API信息中转模块发送获取指令;API信息同步装置通过API信息中转模块根据获取指令获取待同步API信息,并将待同步API信息同步至API网关。优选地,消息队列为RabbitMQ,RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。
本实施例的API信息同步装置,通过API信息中转模块接收API管理模块发送的API信息,并对API信息进行处理,得到待同步API信息并存储;通过API信息中转模块将待同步API信息同步至API网关。本发明通过API信息中转模块对接收到的API信息进行处理,得到待同步API信息并存储,进而通过API信息中转模块将待同步API信息同步至对应的API网关,减少了同步过程中的人工处理,并且加入API信息中转模块解除了API与API网关之间的强绑定关系,同步时不需要同时考虑API信息和API网关,节省了同步过程花费的时间,提高了API信息同步的效率。
进一步地,参考图3,本发明还提供一种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网关,实现快速架构调整。
进一步地,参考图4,本发明提供的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配置管理模块将API维护信息发送到API信息中转模块,便于API信息中转模块进行后续的同步操作。
进一步地,参考图5,本发明提供的API信息同步装置中还包括消息队列,其中:
消息队列分别与API信息中转模块和API网关通信连接。
API信息中转模块,还用于根据待同步API信息生成通知信息,并将通知信息发送到消息队列中,以及根据API网关发送的获取指令获取待同步API信息,并将待同步API信息同步至API网关。
消息队列,用于将通知信息发送到API网关;优选地,消息队列为RabbitMQ,RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。
API网关,还用于根据通知信息向API信息中转模块发送获取指令。
API信息同步装置通过API信息中转模块根据待同步API信息生成通知信息,并将通知信息发送到消息队列中,API信息同步装置通过消息队列将通知信息发送到API网关,并通过API网关根据通知信息向API信息中转模块发送获取指令;API信息同步装置通过API信息中转模块根据获取指令获取待同步API信息,并将待同步API信息同步至API网关。
在具体实施时,API信息同步通常包括新上线的API信息同步以及已上线的API维护信息同步。
参考图6,新上线的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信息保存至缓存中。
参考图7,已上线的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信息同步方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要的过程、方法、物品或者系统不仅包括那些要,而且还包括没有明确列出的其他要,或者是还包括为这种过程、方法、物品或者系统所固有的要。在没有更多限制的情况下,由语句“包括一个……”限定的要,并不排除在包括该要的过程、方法、物品或者系统中还存在另外的相同要。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品储存在如上所述的一个储存介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种API信息同步方法,其特征在于,所述API信息同步方法包括如下步骤:
通过API信息中转模块接收API管理模块发送的API信息,并对所述API信息进行处理,得到待同步API信息并存储;
通过所述API信息中转模块将所述待同步API信息同步至API网关。
2.如权利要求1所述的API信息同步方法,其特征在于,所述API管理模块包括API注册模块,所述API信息包括API注册信息,所述通过API信息中转模块接收API管理模块发送的API信息的步骤之前包括:
通过所述API注册模块向API提供方展示程序开发包,并响应于所述API提供方的创建指令,生成API注册信息;
通过所述API注册模块将所述API注册信息发送至API信息中转模块。
3.如权利要求1所述的API信息同步方法,其特征在于,所述API管理模块包括API配置管理模块,所述API信息包括API维护信息,所述通过API信息中转模块接收API管理模块发送的API信息的步骤之前包括:
通过所述API配置管理模块基于API信息中转模块的API信息管理接口向API提供方展示所述API提供方对应的API,并响应于所述API提供方的维护指令,生成API维护信息;
通过所述API配置管理模块将所述API维护信息发送至API信息中转模块。
4.如权利要求2或3所述的API信息同步方法,其特征在于,所述通过API信息中转模块接收API管理模块发送的API信息,并对所述API信息进行处理,得到待同步API信息并存储的步骤包括:
通过API信息中转模块接收API注册模块发送的API注册信息,并根据所述API注册信息注册形成新上线API,基于所述新上线API得到待同步API信息并存储;
或者,通过API信息中转模块接收API配置管理模块发送的API维护信息,并根据所述API维护信息对对应的API进行维护,基于维护后的API得到待同步API信息并存储。
5.如权利要求1所述的API信息同步方法,其特征在于,所述通过所述API信息中转模块将所述待同步API信息同步至API网关的步骤包括:
通过所述API信息中转模块根据所述待同步API信息生成通知信息,并将所述通知信息发送到消息队列中;
通过所述消息队列将所述通知信息发送到API网关,并通过所述API网关根据所述通知信息向所述API信息中转模块发送获取指令;
通过所述API信息中转模块根据所述获取指令获取所述待同步API信息,并将所述待同步API信息同步至所述API网关。
6.一种API信息同步装置,其特征在于,所述API信息同步装置包括:
API信息中转模块、API管理模块和API网关,所述API管理模块与所述API信息中转模块通信连接,所述API信息中转模块与所述API网关通信连接;
所述API信息中转模块,用于接收所述API管理模块发送的API信息,并对所述API信息进行处理,得到待同步API信息并存储,以及将所述待同步API信息同步至所述API网关;
所述API管理模块,用于向所述API信息中转模块发送API信息;
所述API网关,用于接收所述API信息中转模块同步的所述待同步API信息。
7.如权利要求6所述的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信息并存储。
8.如权利要求6所述的API信息同步装置,其特征在于,所述API信息同步装置还包括消息队列,其中:
所述消息队列分别与所述API信息中转模块和所述API网关通信连接;
所述API信息中转模块,还用于根据所述待同步API信息生成通知信息,并将所述通知信息发送到消息队列中,以及根据所述API网关发送的获取指令获取所述待同步API信息,并将所述待同步API信息同步至所述API网关;
所述消息队列,用于将所述通知信息发送到所述API网关;
所述API网关,还用于根据所述通知信息向所述API信息中转模块发送获取指令。
9.一种API信息同步系统,其特征在于,所述API信息同步系统包括:存储器、处理器及储存在所述存储器上并可在所述处理器上运行的API信息同步程序,所述API信息同步程序被所述处理器执行时实现如权利要求1至5中任一项所述的API信息同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上储存有API信息同步程序,所述API信息同步程序被处理器执行时实现如权利要求1至5中任一项所述的API信息同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310914736.9A CN116938958A (zh) | 2023-07-24 | 2023-07-24 | Api信息同步方法、装置、系统与计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310914736.9A CN116938958A (zh) | 2023-07-24 | 2023-07-24 | Api信息同步方法、装置、系统与计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938958A true CN116938958A (zh) | 2023-10-24 |
Family
ID=88393834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310914736.9A Pending CN116938958A (zh) | 2023-07-24 | 2023-07-24 | Api信息同步方法、装置、系统与计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938958A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117498994A (zh) * | 2023-11-16 | 2024-02-02 | 浪潮智慧科技有限公司 | 一种微服务架构的资源请求方法及设备 |
-
2023
- 2023-07-24 CN CN202310914736.9A patent/CN116938958A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117498994A (zh) * | 2023-11-16 | 2024-02-02 | 浪潮智慧科技有限公司 | 一种微服务架构的资源请求方法及设备 |
CN117498994B (zh) * | 2023-11-16 | 2024-05-24 | 浪潮智慧科技有限公司 | 一种微服务架构的资源请求方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7305672B2 (en) | Dynamic software update system, method and program product | |
CN101160563A (zh) | 用于托管并执行组件应用程序的方法和系统 | |
EP4171078A1 (en) | Voice scene update method and device, and terminal, server and system | |
JP4880376B2 (ja) | 支援装置、プログラム、情報処理システム及び支援方法 | |
CN110781013B (zh) | 一种灰度发布方法、装置、设备及介质 | |
CN112764751B (zh) | 接口生成方法和装置、接口请求方法和装置及存储介质 | |
CN104536890A (zh) | 测试系统、方法和装置 | |
US20190205103A1 (en) | Asynchronous c#-js data binding bridge | |
CN108776592B (zh) | 一种页面构建的方法、装置、设备及存储介质 | |
CN116938958A (zh) | Api信息同步方法、装置、系统与计算机可读存储介质 | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
US8868713B2 (en) | Method and apparatus providing a user interface for a request-oriented service architecture | |
CN111984440A (zh) | 一种Celery在线管理及自动执行任务的方法、系统和存储介质 | |
CN113838231B (zh) | 基于智能音箱的智能锁故障处理方法、装置及可读介质 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN111639086B (zh) | 一种数据对账方法、装置、设备及存储介质 | |
CN109858905B (zh) | 跨系统的电子凭证处理方法及装置 | |
CN110580216B (zh) | 一种应用提测的方法和装置 | |
CN114090305B (zh) | 业务审核方法及装置 | |
CN113795001B (zh) | 基于spi进行系统短信发送的方法及装置 | |
CN114866628A (zh) | 一种报文处理的方法、装置、设备及存储介质 | |
CN110324425B (zh) | 混合云交易路由处理方法及装置 | |
CN113656050A (zh) | 用于生成版本号的方法和装置 | |
CN111932326A (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN111897555B (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 |