CN112035122B - 一种接口部署方法、系统及存储介质 - Google Patents
一种接口部署方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112035122B CN112035122B CN201910482970.2A CN201910482970A CN112035122B CN 112035122 B CN112035122 B CN 112035122B CN 201910482970 A CN201910482970 A CN 201910482970A CN 112035122 B CN112035122 B CN 112035122B
- Authority
- CN
- China
- Prior art keywords
- interface
- deployment
- information
- component
- server
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种接口部署方法、系统及存储介质,能够降低接口迁移的复杂度、简化接口迁移的步骤并降低接口维护的复杂度,该系统可以包括:接口部署模块,用于将接口执行所需的依赖及组件进行封装,得到接口对应的开发包,利用开发包对接口进行开发、并将开发完成的接口部署至当前服务器中;接口注册模块,用于对接口的接口属性信息进行管理;接口配置模块,用于管理接口对应的接口配置数据,并将接口配置数据同步到其他服务器;网关,用于管理接口对应的接口路由信息,以供客户端利用接口路由信息调用接口,接口路由信息基于接口属性信息配置。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及一种接口部署方法、系统及存储介质。
背景技术
为了加快Web和移动应用程序的开发进程,提出了微服务架构来对服务进行开发、部署和管理,常用的微服务开发框架包括:Spring Cloud、Apache Dubbo 等,开发人员在微服务开发框架中对服务应用进行开发,之后通过自动化构建和部署工具,将开发完成的服务应用发布到指定环境中,开发人员在对服务应用进行开发和部署的过程中,服务应用对应的接口同时被开发和部署。
然而,随着服务应用的版本迭代和系统更新,服务应用内部的接口数量也变得越来越大,当其他服务应用部署接口时,需从服务配置信息中查找接口对应的配置信息,导致接口迁移的复杂度高、步骤繁琐;且服务应用内部的接口之间相互调用,如图1所示,接口B同时调用了业务逻辑A、业务逻辑B和业务逻辑C,接口A调用了业务逻辑A、接口C调用了业务逻辑C,同时,业务逻辑B同时调用了数据接口A、数据接口B和数据接口C这三个数据接口,业务逻辑A调用了数据接口A,业务逻辑C调用了数据接口C;接口和业务逻辑之间对应关系为多对多,增加了接口维护的复杂度。
发明内容
为解决上述技术问题,本发明实施例期望提供一种接口部署方法、系统及存储介质,能够降低接口迁移的复杂度、简化接口迁移的步骤并降低接口维护的复杂度。
本发明的技术方案是这样实现的:
本发明实施例提供一种接口部署系统,所述接口部署系统包括:
接口部署模块,用于将接口执行所需的依赖及组件进行封装,得到所述接口对应的开发包,利用所述开发包对所述接口进行开发、并将开发完成的所述接口部署至当前服务器中;
接口注册模块,用于对所述接口的接口属性信息进行管理,所述接口属性信息包括接口标识信息、接口状态信息和所述当前服务器的服务器标识信息;
接口配置模块,用于管理所述接口对应的接口配置数据,并将所述接口配置数据同步到其他服务器,以供所述其他服务器基于所述接口配置数据部署所述接口,所述接口配置数据是基于所述接口属性信息生成;
网关,用于管理所述接口对应的接口路由信息,以供客户端利用所述接口路由信息调用所述接口,所述接口路由信息基于接口属性信息配置。
在上述系统中,所述接口部署系统还包括:组件库和接口代码库;
所述组件库,用于存放所述接口所需的所述依赖和所述接口对应的基本开发组件,所述基本开发组件包括所述接口标识信息和接口方法;
所述接口代码库,用于存放开发所述接口时生成的接口源代码。
在上述系统中,所述接口配置模块中还存储所述接口对应的数据库访问信息,所述接口部署模块包括:公共配置子模块、接口部署子模块,接口管理子模块和功能组件库;
所述公共配置子模块,用于从所述接口配置模块中读取所述数据库访问信息,以通过所述数据库访问信息访问所述接口对应的数据库组件;
所述功能组件库,用于对所述依赖、所述组件及所述基本开发组件进行封装,得到所述开发包,以基于所述开发包对所述接口进行开发,所述组件包括所述数据库访问信息对应的所述数据库组件、缓存组件、消息队列组件中的至少一种;
所述接口部署子模块,用于对开发所述接口时生成的所述接口源代码进行编译,得到接口编译代码,并将所述接口编译代码存储至所述当前服务器的指定路径中;
所述接口管理子模块,用于将所述接口属性信息、部署所述接口时生成的请求实体和响应实体传输至所述接口注册模块。
在上述系统中,所述接口部署子模块,还用于对所述接口的接口状态信息修改,并将修改后的接口状态信息传输至所述接口注册模块。
在上述系统中,所述网关,还用于在判断出所述接口的数据传输量大于预设数据传输量时,从所述其他服务器中查找满足负载均衡条件的第一服务器,并控制所述第一服务器基于所述接口路由信息部署所述接口。
本发明实施例提供一种接口部署方法,应用于接口部署系统,所述方法包括:
当确定出当前服务器的接口部署指令时,确定接口对应的开发包,并利用所述开发包对所述接口进行开发;
将开发完成的所述接口动态部署在当前服务器上,并生成所述接口对应的接口配置数据;
当判断出所述接口的数据传输量大于预设数据传输量时,基于所述接口配置数据将所述接口部署在第一服务器上,所述第一服务器为满足负载均衡条件的服务器。
在上述方法中,所述确定接口对应的开发包,包括:
判断所述接口是否需要连接数据库;
根据判断结果确定所述接口所需的组件;
根据所述组件确定所述接口对应的所述开发包。
在上述方法中,所述利用所述开发包对所述接口进行开发,包括:
从所述开发包中确定所述接口对应的接口方法;
定义所述接口方法的实现接口;
基于所述开发包获取所述实现接口对应的接口源代码,以完成对所述接口的开发过程。
在上述方法中,所述将开发完成的所述接口动态部署在当前服务器上,包括:
编译所述接口源代码,得到接口编译代码;
将所述接口编译代码存储到所述当前服务器的指定路径中,得到所述接口的请求实体和响应实体;
根据所述接口标识信息、所述请求实体和所述响应实体判断所述接口是否符合接口部署条件;
当所述接口满足所述接口部署条件时,在所述当前服务器运行时,创建所述接口编译代码对应的实例。
在上述方法中,所述将开发完成的所述接口动态部署在当前服务器上之后,所述方法还包括:
根据所述接口对应的接口标识信息、连接方式、请求方式和所述当前服务器标识信息,生成所述接口对应的接口路由信息,以供客户端访问时,所述当前服务器利用所述接口路由信息调用所述实例中的方法。
在上述方法中,所述将开发完成的所述接口动态部署在当前服务器上之后,所述方法还包括:
监控所述接口的接口状态信息。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,应用于接口部署系统,该计算机程序被处理器执行时实现如上述任一项所述的接口部署方法。
本发明实施例提供了一种接口部署方法、系统及存储介质,该系统可以包括:接口部署模块,用于将接口执行所需的依赖及组件进行封装,得到接口对应的开发包,利用开发包对接口进行开发、并将开发完成的接口部署至当前服务器中;接口注册模块,用于对接口的接口属性信息进行管理,接口属性信息包括接口标识信息、接口状态信息和当前服务器的服务器标识信息;接口配置模块,用于管理接口对应的接口配置数据,并将接口配置数据同步到其他服务器,以供其他服务器基于接口配置数据部署接口,接口配置数据是基于接口属性信息生成;网关,用于管理接口对应的接口路由信息,以供客户端利用接口路由信息调用接口,接口路由信息基于接口属性信息配置。采用上述系统实现方案,接口部署系统中封装了接口执行所需的依赖及组件,单独对接口进行开发和部署,并在部署成功时生成接口的接口配置数据,当其他服务器需要部署该接口时,直接根据接口配置数据部署该接口,进而降低了接口迁移的复杂度并简化了接口迁移的步骤;将接口单独开发和部署,并在部署成功时生成接口对应的接口路由信息,通过接口路由信息监控接口的接口状态信息,能够降低接口维护的复杂度。
附图说明
图1为现有技术的服务部署系统的结构示意图;
图2为本发明实施例提供的一种接口部署系统的结构示意图;
图3为本发明实施例提供的一种接口部署模块的结构图示意图;
图4为本发明实施例提供的一种示例性的自定义接口的接口结构示意图;
图5为本发明实施例提供的一种示例性的接口注册模块管理接口属性信息的示意图;
图6为本发明实施例提供的一种示例性的网关管理的接口路由信息的示意图;
图7为本发明实施例提供的一种示例性的接口配置模块的管理接口配置信息的示意图;
图8为本发明实施例提供的一种接口部署方法的流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供一种接口部署系统1,如图2所示,该接口部署系统1 包括:
接口部署模块10,用于将接口执行所需的依赖及组件进行封装,得到所述接口对应的开发包,利用所述开发包对所述接口进行开发、并将开发完成的所述接口部署至当前服务器中;
接口注册模块11,用于对所述接口的接口属性信息进行管理,所述接口属性信息包括接口标识信息、接口状态信息和所述当前服务器的服务器标识信息;
接口配置模块12,用于管理所述接口对应的接口配置数据,并将所述接口配置数据同步到其他服务器,以供所述其他服务器基于所述接口配置数据部署所述接口,所述接口配置数据是基于所述接口属性信息生成;
网关13,用于管理所述接口对应的接口路由信息,以供客户端利用所述接口路由信息调用所述接口,所述接口路由信息基于接口属性信息配置。
本发明实施例提供的一种接口部署系统应用于对接口进行开发、部署及管理的场景下。
本发明实施例中,如图3所示,接口部署模块10包括:公共配置子模块 100、接口部署子模块101,接口管理子模块102和功能组件库103;其中:
所述公共配置子模块100,用于从所述接口配置模块中读取所述数据库访问信息,以通过所述数据库访问信息确定所述接口对应的数据库组件;
所述功能组件库103,用于对所述依赖、所述组件及所述基本开发组件进行封装,得到所述开发包,以基于所述开发包对所述接口进行开发,所述组件包括所述数据库访问信息对应的所述数据库组件、缓存组件、消息队列组件中的至少一种;
所述接口部署子模块101,用于对开发所述接口时生成的所述接口源代码进行编译,并将编译后的代码存储至所述当前服务器的指定路径中;
所述接口管理子模块102,用于将所述接口属性信息传输至所述接口注册模块,所述接口属性信息包括接口标识信息、接口状态信息和所述当前服务器的服务器标识信息。
具体的,接口配置模块12中存储接口需要访问的数据库IP地址、数据库访问账号和密码等配置,其中,数据库IP地址、数据库访问账号和密码组成了数据库访问信息,当接口需要访问数据库时,接口能够根据数据库访问信息访问数据库,以获取数据库中的数据。
本发明实施例中,功能组件库中封装了接口所需的依赖、组件以及基本开发组件,生成开发包,开发人员能够基于开发包对接口进行开发,其中,组件包括所述数据库访问信息对应的所述数据库组件、缓存组件、消息队列组件中的至少一种,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
具体的,对接口进行开发的过程为:首先判断接口是否需要连接数据库,当判断出接口需要连接数据库时,开发人员选择数据库组件和缓存组件,此时接口部署系统查找包括数据库驱动、数据库组件和基本开发组件的开发包,其中,数据库组件包含查询数据库配置,连接数据库和数据访问的方法等,基本开发组件定义了包括接口标识、接口名称、接口版本号的接口标识信息和接口方法;之后,开发人员基于开发包定义接口方法的实现接口,得到实现接口对应的接口源代码。
示例性的,以Java开发为例,如图4所示,自定义接口CustInterface对应实现接口A、实现接口B和实现接口C,自定义接口CustInterface的接口方法为CustService,开发人员将开发包导入Java工程后,定义类ServiceA实现接口 CustInterface,实现CustService方法分别对应实现接口A的请求实体A和响应实体A、实现接口B的请求实体B和响应实体B、实现接口C的请求实体C和响应实体C。
本发明实施例中,在接口部署模块对接口开发完成之后,得到对应的接口源代码,之后,动态编译该接口源代码,得到接口编译代码,并将接口编译代码存储至当前服务器的指定路径中,得到接口的请求实体和响应实体,如Java 语言的.class文件或.net平台的.dll文件,当接口访问时,通过代理方式调用接口编译代码。
本发明实施例中,当接口部署子模块100在当前服务器中部署完成接口之后,接口管理子模块获取接口属性信息、请求实体和响应实体,并将接口属性信息传输至接口注册模块,其中,接口属性信息包括接口标识信息、接口状态信息和当前服务器的服务器标识信息,接口注册模块根据接口标识信息、请求实体和响应实体判断接口是否符合接口部署条件,当接口满足接口部署条件时,在当前服务器运行时,创建接口编译代码对应的实例。
具体的,接口标识信息包括接口ID,接口名称,版本号,接口注册模块11 检索接口ID和版本号,当没有检索到接口ID和版本号时,接口注册模块11 将接口属性信息持久化保存,并进行发布;当检索到接口ID和版本号时,则会将请求实体,响应实体和已有版本中的请求实体、响应实体进行对比,如不一致,则不允许部署,能够避免上游接口报错,进而保证该版本接口的稳定。
示例性的,如图5所示,接口注册模块分别管理了接口名称为TestA和TsetB 的接口ID、版本、部署的服务器地址、端口号和接口状态信息。
进一步地,接口部署子模块102还用于对接口的接口状态信息修改,之后,接口部署子模块102将修改后的接口状态信息传输至接口注册模块11,以供接口注册模块11更改接口状态信息。
进一步地,当接口成功部署在当前服务器时,基于接口属性信息生成配置接口对应的接口路由信息,网关13集中管理接口路由信息,客户端能够利用接口路由信息调用接口,且网关还用于实现接口的负载均衡,具体的,在网关判断出接口的数据传输量大于预设数据传输量时,网关基于接口配置数据将接口部署在第一服务器上,其中,第一服务器为其他服务器中数据传输量满足负载均衡条件的服务器。
示例性的,接口路由信息为:协议://服务器IP:端口号/接口名称或唯一标识,其中,协议包括http、tcp、socket等。
示例性的,如图6所示,网关13管理的接口路由信息包括接口ID,接口访问地址、角色和权限。
进一步地,当接口成功部署在当前服务器时,基于接口属性信息配置接口配置数据,接口配置模块12管理接口配置数据,并将接口配置数据同步到其他服务器,以供其他服务器基于接口配置数据部署接口。
示例性的,如图7所示,接口配置模块12管理的接口配置信息包括接口ID,配置键和配置值。
本发明实施例中,在基于接口属性信息配置接口配置数据时,为配制键加前缀,前缀为接口ID,示例性的,A接口需要访问配置键KEY1的值,A接口的ID为ABC,则接口配置模块12对应的配置键则为ABC.KEY1,其他公共组件配置则是统一并规范命名的,不存在配置键重复的问题。
进一步地,接口部署系统1还包括:组件库和接口代码库;
所述组件库,用于存放所述接口所需的所述依赖和所述接口对应的基本开发组件,所述基本开发组件包括所述接口标识信息和接口方法;
所述接口代码库,用于存放开发所述接口时生成的接口源代码。
示例性的,组件库为Java语言中的Maven仓库,接口代码库为分布式版本控制系统Git或集中式版本控制系统(Subversion,SVN),具体的根据实际情况进行选择,本发明实施例不做具体的限定。
可以理解的是,接口部署系统中封装了接口执行所需的依赖及组件,单独对接口进行开发和部署,并在部署成功时生成接口的接口配置数据,当其他服务器需要部署该接口时,直接根据接口配置数据部署该接口,进而降低了接口迁移的复杂度并简化了接口迁移的步骤;将接口单独开发和部署,并在部署成功时生成接口对应的接口路由信息,通过接口路由信息监控接口的接口状态信息,能够降低接口维护的复杂度。
实施例二
本发明实施例提供一种接口部署方法,应用于接口部署系统,如图8所示,该方法可以包括:
S101、当确定出当前服务器的接口部署指令时,确定接口对应的开发包,并利用开发包对接口进行开发。
本发明实施例提供的一种接口部署方法适用于接口部署系统对接口进行开发、部署及管理的场景下。
本发明实施例中,当接口部署系统确定出当前服务器的接口部署指令时,接口部署系统判断接口是否需要连接数据库;根据判断结果确定接口所需的组件;根据组件确定接口对应的开发包。
本发明实施例中,当判断出接口需要连接数据库时,开发人员选择数据库组件和缓存组件,此时接口部署系统查找包括数据库驱动、数据库组件和基本开发组件的开发包,其中,数据库组件包含查询数据库配置,连接数据库和数据访问的方法等,基本开发组件定义了包括接口标识、接口名称、接口版本号的接口标识信息和接口方法。
本发明实施例中,从开发包中确定接口对应的接口方法;定义接口方法的实现接口;基于开发包获取实现接口对应的接口源代码,以完成对接口的开发过程。
S102、将开发完成的接口动态部署在当前服务器上,并生成接口对应的接口配置数据。
当接口部署系统利用开发包对接口进行开发之后,接口部署系统将开发完成的接口动态部署在当前服务器上,并生成接口对应的接口配置数据。
本发明实施例中,编译接口源代码,得到接口编译代码;将接口编译代码存储到当前服务器的指定路径中,得到接口对应的请求实体和响应实体;根据接口标识信息、请求实体和响应实体判断接口是否符合接口部署条件;当接口满足接口部署条件时,在当前服务器运行时,创建接口编译代码对应的实例。
具体的,当接口部署系统没有检索到接口ID和版本号时,接口注册模块 11将接口属性信息持久化保存,并进行发布;当检索到接口ID和版本号时,则会将请求实体,响应实体和已有版本中的请求实体、响应实体进行对比,如不一致,则不允许部署,能够避免上游接口报错,进而保证该版本接口的稳定。
本发明实施例中,在基于接口属性信息配置接口配置数据时,为配制键加前缀,前缀为接口ID,示例性的,A接口需要访问配置键KEY1的值,A接口的ID为ABC,则接口配置模块12对应的配置键则为ABC.KEY1,其他公共组件配置则是统一并规范命名的,不存在配置键重复的问题。
进一步地,当接口部署系统生成接口对应的接口配置数据之后,接口部署系统将接口配置数据同步到其他服务器,以供其他服务器基于接口配置数据部署接口。
进一步地,当接口部署系统将开发完成的接口动态部署在当前服务器上之后,接口部署系统根据接口对应的接口标识信息、连接方式、请求方式和当前服务器标识信息,生成接口对应的接口路由信息,以供客户端访问时,当前服务器利用接口路由信息调用实例中的方法。
进一步地,当接口部署系统将开发完成的接口动态部署在当前服务器上之后,接口部署系统监控接口的接口状态,当开发人员修改接口的接口状态时,接口部署系统相应更改接口的接口状态。
S103、当判断出接口的数据传输量大于预设数据传输量时,基于接口配置数据将接口部署在第一服务器上,第一服务器的数据传输量满足负载均衡条件。
当接口部署系统生成接口对应的接口配置数据之后,接口部署系统判断接口的数据传输量是否大于预设数据传输量,当接口部署系统判断出接口的数据传输量大于预设数据传输量时,接口部署系统基于接口配置数据,将接口部署在数据传输量满足负载均衡条件的第一服务器。
本发明实施例中,接口部署系统判断接口的数据传输量是否大于预设数据传输量,当接口部署系统判断出接口的数据传输量大于预设数据传输量时,接口部署系统从共享接口配置数据的其他服务器中确定出数据传输量满足负载均衡的第一服务器,并控制第一服务器利用接口配置数据部署接口。
可以理解的是,接口部署系统中封装了接口执行所需的依赖及组件,单独对接口进行开发和部署,并在部署成功时生成接口的接口配置数据,当其他服务器需要部署该接口时,直接根据接口配置数据部署该接口,进而降低了接口迁移的复杂度并简化了接口迁移的步骤;将接口单独开发和部署,并在部署成功时生成接口对应的接口路由信息,通过接口路由信息监控接口的接口状态信息,能够降低接口维护的复杂度。
实施例三
本发明实施例提供一种计算机可读存储介质,上述计算机可读存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于网络功能部署系统中,该程序被处理器执行时实现如实施例二的方法。
具体来讲,本实施例中的一种接口部署方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
当确定出当前服务器的接口部署指令时,确定接口对应的开发包,并利用所述开发包对所述接口进行开发;
将开发完成的所述接口动态部署在当前服务器上,并生成所述接口对应的接口配置数据;
当判断出所述接口的数据传输量大于预设数据传输量时,基于所述接口配置数据将所述接口部署在第一服务器上,所述第一服务器的数据传输量满足负载均衡条件。
在本发明的实施例中,进一步地,确定接口对应的开发包,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
判断所述接口是否需要连接数据库;
根据判断结果确定所述接口所需的组件;
根据所述组件确定所述接口对应的所述开发包。
在本发明的实施例中,进一步地,利用所述开发包对所述接口进行开发,上述一个或者多个程序被上述一个或者多个处理器执行,具体实现以下步骤:
从所述开发包中确定所述接口对应的接口方法;
定义所述接口方法的实现接口;
基于所述开发包获取所述实现接口对应的接口源代码、请求实体和响应实体,以完成对所述接口的开发过程。
在本发明的实施例中,进一步地,将开发完成的所述接口动态部署在当前服务器上,上述一个或者多个程序被上述一个或者多个处理器执行,具体实现以下步骤:
编译所述接口源代码,得到接口编译代码;
将所述接口编译代码存储到所述当前服务器的指定路径中,得到所述接口的请求实体和响应实体;
根据所述接口标识信息、请求实体和响应实体判断所述接口是否符合接口部署条件;
当所述接口满足所述接口部署条件时,在所述当前服务器运行时,创建所述接口编译代码对应的实例。
在本发明的实施例中,进一步地,将开发完成的所述接口动态部署在当前服务器上之后,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
根据所述接口对应的接口标识信息、连接方式、请求方式和所述当前服务器标识信息,生成所述接口对应的接口路由信息,以供客户端访问时,所述当前服务器利用所述接口路由信息调用所述实例中的方法。
在本发明的实施例中,进一步地,将开发完成的所述接口动态部署在当前服务器上之后,上述一个或者多个程序被上述一个或者多个处理器执行,还实现以下步骤:
监控所述接口的接口状态信息。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,网络功能部署系统,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种接口部署系统,其特征在于,所述接口部署系统包括:
接口部署模块,用于将接口执行所需的依赖及组件进行封装,得到所述接口对应的开发包,利用所述开发包对所述接口进行开发、并将开发完成的所述接口部署至当前服务器中;
接口注册模块,用于对所述接口的接口属性信息进行管理,所述接口属性信息包括接口标识信息、接口状态信息和所述当前服务器的服务器标识信息;
接口配置模块,用于管理所述接口对应的接口配置数据,并将所述接口配置数据同步到其他服务器,以供所述其他服务器基于所述接口配置数据部署所述接口,所述接口配置数据基于所述接口属性信息生成;
网关,用于管理所述接口对应的接口路由信息,以供客户端利用所述接口路由信息调用所述接口,所述接口路由信息基于接口属性信息配置;
所述接口部署系统还包括:组件库和接口代码库;
所述组件库,用于存放所述接口所需的所述依赖和所述接口对应的基本开发组件,所述基本开发组件包括所述接口标识信息和接口方法;
所述接口代码库,用于存放开发所述接口时生成的接口源代码;
所述接口配置模块中还存储所述接口对应的数据库访问信息,所述接口部署模块包括:公共配置子模块、接口部署子模块,接口管理子模块和功能组件库;
所述公共配置子模块,用于从所述接口配置模块中读取所述数据库访问信息,以通过所述数据库访问信息访问所述接口对应的数据库组件;
所述功能组件库,用于对所述依赖、所述组件及所述基本开发组件进行封装,得到所述开发包,以基于所述开发包对所述接口进行开发,所述组件包括所述数据库访问信息对应的所述数据库组件、缓存组件、消息队列组件中的至少一种;
所述接口部署子模块,用于对开发所述接口时生成的所述接口源代码进行编译,得到接口编译代码,并将所述接口编译代码存储至所述当前服务器的指定路径中;
所述接口管理子模块,用于将所述接口属性信息、部署所述接口时生成的请求实体和响应实体传输至所述接口注册模块。
2.根据权利要求1所述的系统,其特征在于,
所述接口部署子模块,还用于对所述接口的接口状态信息修改,并将修改后的接口状态信息传输至所述接口注册模块。
3.根据权利要求1所述的系统,其特征在于,
所述网关,还用于在判断出所述接口的数据传输量大于预设数据传输量时,从所述其他服务器中查找满足负载均衡条件的第一服务器,并控制所述第一服务器基于所述接口路由信息部署所述接口。
4.一种接口部署方法,其特征在于,应用于权利要求1所述的接口部署系统,所述方法包括:
当确定出当前服务器的接口部署指令时,确定接口对应的开发包,并利用所述开发包对所述接口进行开发;
将开发完成的所述接口动态部署在当前服务器上,并生成所述接口对应的接口配置数据;
当判断出所述接口的数据传输量大于预设数据传输量时,基于所述接口配置数据将所述接口部署在第一服务器上,所述第一服务器为满足负载均衡条件的服务器。
5.根据权利要求4所述的方法,其特征在于,所述确定接口对应的开发包,包括:
判断所述接口是否需要连接数据库;
根据判断结果确定所述接口所需的组件;
根据所述组件确定所述接口对应的所述开发包。
6.根据权利要求5所述的方法,其特征在于,所述利用所述开发包对所述接口进行开发,包括:
从所述开发包中确定所述接口对应的接口方法;
定义所述接口方法的实现接口;
基于所述开发包获取所述实现接口对应的接口源代码,以完成对所述接口的开发过程。
7.根据权利要求6所述的方法,其特征在于,所述将开发完成的所述接口动态部署在当前服务器上,包括:
编译所述接口源代码,得到接口编译代码;
将所述接口编译代码存储到所述当前服务器的指定路径中,得到所述接口的请求实体和响应实体;
根据所述接口标识信息、所述请求实体和所述响应实体判断所述接口是否符合接口部署条件;
当所述接口满足所述接口部署条件时,在所述当前服务器运行时,创建所述接口编译代码对应的实例。
8.根据权利要求7所述的方法,其特征在于,所述将开发完成的所述接口动态部署在当前服务器上之后,所述方法还包括:
根据所述接口对应的接口标识信息、连接方式、请求方式和当前服务器标识信息,生成所述接口对应的接口路由信息,以供客户端访问时,所述当前服务器利用所述接口路由信息调用所述实例中的方法。
9.根据权利要求4所述的方法,其特征在于,所述将开发完成的所述接口动态部署在当前服务器上之后,所述方法还包括:
监控所述接口的接口状态信息。
10.一种计算机可读存储介质,其上存储有计算机程序,应用于接口部署系统,其特征在于,该计算机程序被处理器执行时实现如权利要求4-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910482970.2A CN112035122B (zh) | 2019-06-04 | 2019-06-04 | 一种接口部署方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910482970.2A CN112035122B (zh) | 2019-06-04 | 2019-06-04 | 一种接口部署方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035122A CN112035122A (zh) | 2020-12-04 |
CN112035122B true CN112035122B (zh) | 2023-04-07 |
Family
ID=73576138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910482970.2A Active CN112035122B (zh) | 2019-06-04 | 2019-06-04 | 一种接口部署方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035122B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596784B (zh) * | 2020-12-28 | 2023-11-28 | 青岛海尔科技有限公司 | 一种迭代版本部署方法及装置 |
CN116225464B (zh) * | 2023-05-09 | 2023-07-11 | 霖济智云科技(苏州)有限公司 | 一种平台的快速部署方法 |
CN116700834B (zh) * | 2023-08-07 | 2023-10-24 | 天津华来科技股份有限公司 | 一种App模块化加载方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635303A (zh) * | 2016-01-19 | 2016-06-01 | 锐达互动科技股份有限公司 | 一种用分布式部署服务接口提高并发访问量的方法及系统 |
CN108228157A (zh) * | 2017-12-29 | 2018-06-29 | 北京握奇智能科技有限公司 | Tee系统接口封装方法、装置以及移动终端 |
CN109144478A (zh) * | 2018-07-12 | 2019-01-04 | 北京猫眼文化传媒有限公司 | 组件框架系统以及组件框架系统的使用方法 |
CN109474662A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 产品数据发布方法、装置、计算机设备和存储介质 |
-
2019
- 2019-06-04 CN CN201910482970.2A patent/CN112035122B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635303A (zh) * | 2016-01-19 | 2016-06-01 | 锐达互动科技股份有限公司 | 一种用分布式部署服务接口提高并发访问量的方法及系统 |
CN108228157A (zh) * | 2017-12-29 | 2018-06-29 | 北京握奇智能科技有限公司 | Tee系统接口封装方法、装置以及移动终端 |
CN109144478A (zh) * | 2018-07-12 | 2019-01-04 | 北京猫眼文化传媒有限公司 | 组件框架系统以及组件框架系统的使用方法 |
CN109474662A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 产品数据发布方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112035122A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN112035122B (zh) | 一种接口部署方法、系统及存储介质 | |
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
US6438590B1 (en) | Computer system with preferential naming service | |
CN112486547B (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
CN102413022B (zh) | 一种应用调试方法和系统 | |
CN106569880B (zh) | 一种Android应用间动态共享资源的方法及系统 | |
WO2022016848A1 (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
US20040216147A1 (en) | Component based application middleware framework | |
US20040088397A1 (en) | System and method for management of software applications | |
CN109144478B (zh) | 组件框架系统以及组件框架系统的使用方法 | |
CN110413288A (zh) | 应用部署方法、装置、服务器及存储介质 | |
CN111309401A (zh) | 一种在Kubernetes中运行多CPU架构服务的方法 | |
CN113301116A (zh) | 微服务应用跨网络通信方法、装置、系统及设备 | |
JP2002132739A (ja) | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 | |
JP4931343B2 (ja) | ネットワークサービスを実行するための自己インストールソフトウェアコンポーネントを提供するシステム、方法、プログラム、装置 | |
CN114942796A (zh) | 插件编译及调用方法、装置、设备及存储介质 | |
CN113302901A (zh) | 使用基于模式的发现进行云应用程序和服务集成的方法及系统 | |
JP4724660B2 (ja) | 組み込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法 | |
CN111683005B (zh) | 一种物联网智能网关设备及其构建方法 | |
CN112256351B (zh) | Feign组件的实现方法、微服务调用方法及装置 | |
CN116755788A (zh) | 一种线上规则修改方法、装置、设备及存储介质 | |
CN114070734B (zh) | 一种云平台适配框架、方法、设备和存储介质 | |
CN112134922B (zh) | 一种基于微服务的服务调用方法、装置及存储介质 | |
CN113867780A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |