CN111885114B - 网关中的应用程序接口模块的升级方法、设备及存储介质 - Google Patents
网关中的应用程序接口模块的升级方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111885114B CN111885114B CN202010612284.5A CN202010612284A CN111885114B CN 111885114 B CN111885114 B CN 111885114B CN 202010612284 A CN202010612284 A CN 202010612284A CN 111885114 B CN111885114 B CN 111885114B
- Authority
- CN
- China
- Prior art keywords
- application program
- version information
- program interface
- interface module
- gateway
- 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
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种网关中的应用程序接口模块的升级方法、设备及存储介质,涉及网关技术领域,可用于云平台或云服务。具体实现方案为:在分布式微服务系统中的后端服务模块升级时,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块。与现有技术相比,本申请不需要网关开发人员在API升级时开发相应的网关代码,可以直接由网关自动实现API的升级,能够有效节省人力成本,缩短API升级的时长,极大地提高网关中升级API的升级效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及网关技术领域,具体涉及一种网关中的应用程序接口模块的升级方法、设备及存储介质。
背景技术
现有的网络中的资源业务系统大多采用分布式微服务来实现,具体由多个后端服务模块组成。这些后端服务模块都需要统一的网关来对外输出,以完成鉴权、流控、熔断等基础功能。例如,用户使用时,可以通过浏览器或者客户端等前端使用资源业务系统。前端与网关通过文本协议(如JSON)进行交互,而网关与后端服务模块均部署在企业内网,二者通过性能更高的二进制协议(如ProtoBuf)进行交互。
两种协议之间需要关于schema的翻译机制,在网关系统中这个schema即为后端服务模块的应用程序接口(Application Programming Interface;API)。传统的网关技术中,API升级时,需要网关开发人员通过编码去发布内部API,每次升级都需要网关开发人员参与,开发代码、上线网关系统完成适配发布工作;并重启网关系统,完成最终发布API的升级流程。
发明内容
为了解决上述技术问题,本申请提供了一种网关中的应用程序接口模块的升级方法、设备及存储介质。
根据本申请的一方面,提供了一种网关中的应用程序接口模块的升级方法,其中,所述方法包括:
响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;
根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块。
根据本申请的另一方面,提供了一种网关设备,其中所述设备,包括:
资源包获取模块,用于响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;
升级模块,用于根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块。…
根据本申请的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据本申请的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方法。
根据本申请的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
根据本申请的技术,与现有技术相比,可以极大地提高网关中升级API的升级效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是图1所示网关中的API模块的升级方法的应用框架图;
图3是根据本申请第二实施例的示意图;
图4是图3所示实施例的应用示意图;
图5是图3所示实施例的效果图;
图6是根据本申请第三实施例的示意图;
图7是根据本申请第四实施例的示意图;
图8根据本申请第五实施例的示意图;
图9是用来实现本申请实施例的网关中的应用程序接口模块的升级方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请第一实施例的示意图;如图1所示,本实施例提供一种网关中的应用程序接口模块的升级方法,具体可以包括如下步骤:
S101、响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的API模块要升级的新版本信息的资源包;
S102、根据API模块的新版本信息的资源包,升级网关中的API模块。
本实施例的网关中的应用程序接口模块的升级方法的执行主体为网关,即由网关来实现其内的API模块的升级。
图2是图1所示网关中的API模块的升级方法的应用框架图。如图2所示,在分布式微服务的资源业务系统如广告业务系统中,具体由多个后端服务模块来提供资源业务,这些后端服务模块都需要统一的网关来对外输出,以完成鉴权、流控、熔断等基础功能。例如图2所示实施例中,以用户通过浏览器使用资源业务系统为例,浏览器与网关之间通过文本协议进行交互,而网关与后端服务模块均部署在企业内网,二者通过性能更高的二进制协议进行交互。
本实施例的网关中,需要配置各后端服务模块的对应的API模块,以适配内部远程过程调用协议(Remote Procedure Call protocol;RPC)服务的代码,完成两种协议之间的翻译,以保证用户通过浏览器发送的请求能够正确访问到后端服务模块中的服务。本实施例的技术方案即发生在图2所示实施例的网关中,实现对网关中的API模块进行升级。
需要说明的是,由于本实施例应用在分布式微服务的系统中,对应有多个后端服务模块,为了保证能够对每一个后端服务器模块都进行正常访问,该网关中可以配置每一个后端服务器模块对应的API模块。当后端服务模块升级时,响应于后端服务模块升级指令,可以采用本实施例的升级方案,对网关中对应的API模块进行升级,以使得该网关能够及时对外发布该API模块,保证该API模块可以实时生效。
在一个实施例中,由于在使用过程中,响应于后端服务模块升级指令,对应的API模块也需要升级,才能够匹配。本实施例中,响应于分布式微服务系统中的后端服务模块升级指令,网关可以从仓库中获取升级的该后端服务模块对应的API模块要升级的新版本信息的资源包。
本实施例的网关以及后端服务模块中,可以存储有API模块与后端服务模块的映射关系,如具体可以采用API模块的名称与后端服务模块的名称的对应关系来表示该映射关系,或者还可以采用API模块的其他唯一标识信息与后端服务模块的其他唯一标识信息的对应关系来表示该映射关系。这样,在得知某个后端服务模块升级时,可以基于映射关系,知道对应的哪个API模块需要升级。并进一步从仓库中获取对应的API模块的要升级的新版本信息的资源包。本实施例的资源包可以为Jar包。本实施例的仓库可以为Maven仓库,可以用于存储使用该分布式微服务系统的服务提供商的所有资源包。
需要说明的是,本实施例的仓库中的各API模块的各种版本信息的资源包可以为后端服务研发人员基于在后端服务模块升级时,开发好,并上传至仓库中的。随着后端服务模块的不断升级,对应地,也产生各种版本的API的资源包,并均被上传并存储至仓库中。
本实施例的分布式微服务系统可以为广告业务系统或者其他资源业务系统。
最后,网关根据获取到的API模块要升级的新版本信息的资源包,升级网关中对应的API模块,以使得网关可以基于升级后的API模块提供相应服务,保证用户的访问请求都能正常访问到对应的后端服务。
本实施例的网关中的应用程序接口的升级方法,通过响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的API模块要升级的新版本信息的资源包;根据API模块的新版本信息的资源包,升级网关中的API模块,与现有技术相比,不需要网关开发人员在API升级时开发相应的网关代码,可以直接由网关自动实现API的升级,能够有效节省人力成本,缩短API升级的时长,极大地提高网关中升级API的升级效率。
图3是根据本申请第二实施例的示意图;如图3所示,本实施例的网关中的应用程序接口模块的升级方法,在上述图1所示实施例的技术方案基础上,进一步更加详细地介绍本申请的技术方案。如图3所示,本实施例的网关中的应用程序接口模块的升级方法,具体可以包括如下步骤:
S301、响应于分布式微服务系统中的后端服务模块升级指令,接收后端服务开发人员配置的对应的API的名称以及要升级的新版本信息;
同理,本实施例的网关中的应用程序接口的升级方法的执行主体仍为网关。
在一个实施例中,后端服务开发人员基于后端服务模块的升级,对后端服务模块开发完成之后,开发好相应的API资源包之后,将该API资源包上传至仓库中。该API资源包中可以包括API的名称以及要升级的新版本信息、以及限定的文本协议到二进制协议的转化,以保证用户能够通过网关能够正常访问升级后的后端服务模块。其中每个API的名称对应一个后端服务模块,而每个API的新版本信息标识该API名称对应的API模块要升级到的版本。
实际应用中,后端服务开发人员在后端服务模块升级后,可以基于后端服务模块和API模块的映射关系,在网关中登记对应的API模块的名称以及要升级的新版本信息。对应地,网关可以接收后端服务开发人员配置的API的名称以及要升级的新版本信息。
在一个实施例中,该步骤中,可以由后端服务开发人员直接在网关的管理界面通过人机接口模块输入配置的待升级的API的名称和要升级的新版本信息;或者也可以由后端服务开发人员通过其他硬件设备如后端服务模块,向网关发送待升级的API的名称和要升级的新版本信息。
另外,可选地,在实际应用中,后端服务发开人员也可以在后端服务模块中开发升级信息后,并配置升级版本对应的资源包上传到仓库中。然后在后端服务模块中配置定时升级提示。当达到设定的时间时,后端服务模块自动升级新版本,并向网关发送对应的升级提示,该升级提示中可以携带对应的API模块的名称和对应的要升级的新版本信息。此时网关侧,可以接收后端服务模块在升级时触发的携带API模块的名称以及API模块要升级的新版本信息的升级提示,并从中获取API模块的名称和要升级的新版本信息。
S302、根据该API的名称和要升级的新版本信息,从预配置的仓库中获取该API的名称和要升级的新版本信息对应的API的资源包;
需要说明的是,网关在初始化时会将存储中的每一个API名称的API版本信息加载到内存中,形成对外暴露的HTTP接口与后端API之间的映射关系。例如:接口A可以使用A1API与后端服务通信。接口B可以使用B1 API与后端服务通信。
此时,网关已经获取到要升级的API的名称和升级的新版本信息,可以直接从仓库中获取该API的名称和升级的新版本信息对应的API的资源包,进而可以基于原来的API模块的版本信息进行升级。
S303、在网关中卸载API的名称对应的旧版本信息的资源包;
在一个实施例中,可以关闭旧版本信息的资源包的资源,关闭旧版本信息的资源包的上下文、回收类加载器以卸载旧版本信息的资源包。例如网关感知到A1 API由版本0.0.1升级到0.0.2后,可以采用该种方式将0.0.1版本的A1 API卸载。
S304、热加载API模块的新版本信息的资源包,以升级网关中的API模块。
本实施例的热加载指的是不断开网关,直接在线加载获取到的新版本信息对应的API的资源包。具体地,网关可以为每个API模块的类使用单独的类加载器来加载,突破双亲委派机制,支持在运行时加载父加载器已经加载过的类,即可多次加载同一个类。热加载新版本信息对应的API的资源包。即,网关服务感知到A1 API由版本0.0.1升级到0.0.2后,热加载0.0.2版本的API。
例如,图4是图3所示实施例的应用示意图。如图4所示,在本实施例的场景下,后端服务开发人员将对各后端服务模块的升级开发完成之后,开发完对应的各API模块的资源包后,将各API的资源包上传到仓库。并在网关中登记各API的新版本即各API模块的升级版本。图4中以网关中包括实例A、实例B、实例…、实例N为例。即实例A即对应API模块A,实例B即对应API模块B,实例N即对应API模块N。网关可以采用图3所示实施例的方式,从仓库中可以获取到各API模块的新版本信息的资源包。然后卸载旧版本信息的API资源包,热加载新版本信息的API资源包,从而实现对网关中的实例A即API模块A、实例B即API模块B、…、实例N即API模块N的升级。
例如,图5是图3所示实施例的效果图。如图5所示,以包括后端A服务、后端B服务、后端C服务、后端D服务共4个服务模块为例。对应地,在网关中,设置有后端A服务模块的API模块、后端B服务模块的API模块、后端C服务模块的API模块、后端D服务模块的API模块;如图5所示,升级前,后端A服务模块的API模块采用API版本1、后端B服务模块API模块采用的API版本1、后端C服务模块的API模块采用的API版本1、后端D服务模块的API模块采用的API版本1。采用图3所示实施例的热加载API的方案之后,在不关闭网关的情况下,后端A服务模块的API模块升级采用API版本2、后端B服务模块API模块采用的API版本2、后端C服务模块的API模块采用的API版本2、后端D服务模块的API模块采用的API版本2。由此可知,本实施例的技术方案,可以支持同时对网关中的多个API模板的资源包进行升级。
即使当前网关接入超过100个后端服务模块时,这些后端服务模块需要升级API时可自助登记版本信息,在网关中多个后端服务模块分别对应的API模块会独立加载要升级的新版本信息的资源包,不会互相干扰。整个过程只需要后端开发人员将新API版本信息登记到网关中存储即可,不需要网关开发人员介入,也不需要网关服务上线。整个过程对用户透明,用户的请求不会失败。不仅能够提高网关API模块的升级效率,还能够有效地保证网关的稳定性,不会对用户的流量造成任何影响。
本实施例的网关中的应用程序接口模块的升级方法,通过采用上述技术方案,当后端服务模块升级,需要同步升级网关中对应的API模块时,不需要修改网关代码,释放网关开发人员时间、避免引入未知问题,能够大幅度提升API模块的升级效率;而且本实施例的技术方案中,通过热加载技术实现升级,网关服务无需重启,不会损失网关的流量,可以大幅度整体稳定性以及网关对外提供API服务的质量。
图6是根据本申请第三实施例的示意图;如图6所示,本实施例的网关中的应用程序接口模块的升级方法,在上述图1所示实施例的技术方案基础上,进一步更加详细地介绍本申请的技术方案。如图6所示,本实施例的网关中的应用程序接口模块的升级方法,具体可以包括如下步骤:
S601、每隔预设时间长度,从仓库中获取各API的所有版本信息及各版本信息的存储时刻;
S602、获取网关中各API模块的当前版本信息;
S603、根据各API模块的所有版本信息及各版本信息的存储时刻、以及网关中各API模块的当前版本信息,确定各API模块要升级的新版本信息;
本实施例,从另一个角度描述本申请的一种技术方案。在该技术方案中,网关可以周期性地扫描仓库,判断网关中的各API模块是否存在要升级的新版本信息,并在存在时,获取该API模块对应的新版本信息。
需要说明的是,本实施例的仓库中的各API的所有版本信息对应的资源包,也是在后端服务开发人员基于后端服务模块的升级配置的,并上传至仓库的,详细可以参考上述实施例的相关记载,在此不赘述。
另外,需要说明的是,在步骤S601之前,还需要对网关进行初始化。具体地,网关在初始化时会将存储中的每一个API名称的API版本信息加载到内存中,形成对外暴露的HTTP接口与后端API之间的映射关系。
本实施例的预设时间长度可以根据实际需求来设置。例如,网关内可以设置一个定时器,定时器内可以设置该预设时间长度,发出报警。并在每次报警时,网关都会从仓库中获取各API的所有版本信息及各版本信息的存储时刻。各版本信息的存储时刻指的是仓库中存储对应版本信息的资源包的时间。由于随着版本信息的更新,后更新的版本信息的资源包的存储时刻距离当前时刻更近,而越早更新的版本信息的资源包的存储时刻距离当前时刻更远。基于此原理,可以对各版本信息按照更新的前后时刻排序。对于每一个API模块,其当存储时刻在前版本信息之后的版本信息即为要升级的新版本信息。或者可选地,还可以根据预设的版本信息的命名规则,获取在当前版本信息之后更新的、要升级的新版本信息。例如,版本信息的命名规则可以为由小大到的顺序排列。
按照类似的方式,可以获取到网关中各API模块的要升级的新版本信息。
S604、对于各API模块,根据该API的名称和对应的要升级的新版本信息,从预配置的仓库中获取该API的名称和要升级的新版本信息对应的API的资源包;
S605、在网关中卸载该API的名称对应的旧版本信息的资源包;
S606、热加载该API模块的新版本信息的资源包,以升级网关中的API模块。
其中该步骤S604-S606的实现方式可以参考上述图3所示实施例的S302-S304的记载,在此不再赘述。
本实施例的技术方案,与上述图3所示实施例不同的是,不需要后端服务研发人员在网关中配置某个API的名称对应的要升级的新版本信息。而直接由网关基于各API模块的当前版本信息和仓库中对应的API的所有版本信息和存储时刻,确定要升级的新版本信息;进而基于要升级的新版本信息,获取相应的资源包,对网关中该API模块进行升级,进一步提高了网关中API模块的升级效率。
另外,本实施例中,若升级后的API模块的版本不可用或者性能不佳,还可以采用上述图3所示实施例的技术方案,由后端服务研发人员在网关中配置某个API模块要升级的版本信息,此时该要升级的版本信息可以不是最新版本,例如可以为性能较佳的一个低级别的版本;并进一步采用上述图3所示实施例的其他步骤,实现对网关中的API模块进行升级。
本实施例的网关中的应用程序接口模块的升级方法,通过采用上述技术方案,可以实现对网关中需要升级的API模块进行升级,不需要修改网关代码,释放网关开发人员时间、避免引入未知问题,能够大幅度提升API模块的升级效率;而且本实施例的技术方案中,网关服务无需重启,不会损失网关的流量,可以大幅度整体稳定性以及网关对外提供API服务的质量。
图7是根据本申请第四实施例的示意图;如图7所示,本实施例提供一种网关设备700,包括:
资源包获取模块701,用于响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;
升级模块702,用于根据应用程序接口模块的新版本信息的资源包,升级网关中的应用程序接口模块。
本实施例的网关设备700,通过采用上述模块实现网关中的应用程序接口模块的升级的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图8根据本申请第五实施例的示意图;如图8所示,本实施例的网关700在上述图7所示实施例的技术方案的基础上,进一步更加详细地介绍本申请的技术方案。
如图8所示,本实施例的网关设备700,还包括:
信息获取模块703,用于每隔预设时间长度,从仓库中获取应用程序接口模块的所有版本信息及各版本信息的存储时刻;
信息获取模块703,还用于获取网关中应用程序接口模块的当前版本信息;
确定模块704,用于根据应用程序接口模块的所有版本信息及各版本信息的存储时刻、以及网关中应用程序接口模块的当前版本信息,确定应用程序接口模块要升级的新版本信息。
进一步可选地,如图8所示,本实施例的网关设备700中,还包括:
接收模块705,用于:
接收后端服务开发人员配置的应用程序接口模块的名称以及新版本信息;
或者接收后端服务模块在升级时触发的携带应用程序接口模块的名称以及应用程序接口模块的新版本信息的升级提示,并从中获取应用程序接口模块的名称和新版本信息。
进一步可选地,如图8所示,本实施例的网关设备700中的升级模块702,包括:
卸载单元7021,用于在网关中卸载应用程序接口模块的旧版本信息的资源包;
加载单元7022,用于热加载应用程序接口模块的新版本信息的资源包,以升级网关中的应用程序接口模块。
进一步可选地,卸载单元7021,用于:
关闭旧版本信息的资源包的资源,关闭旧版本信息的资源包的上下文、回收类加载器以卸载旧版本信息的资源包。
本实施例的网关设备700,通过采用上述模块实现网关中的应用程序接口模块的升级的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是本申请实施例的实现网关中的应用程序接口模块的升级方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的网关中的应用程序接口模块的升级方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的网关中的应用程序接口模块的升级方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的网关中的应用程序接口模块的升级方法对应的程序指令/模块(例如,附图7和附图8所示的相关模块)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的网关中的应用程序接口模块的升级方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现网关中的应用程序接口模块的升级方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至实现网关中的应用程序接口模块的升级方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现网关中的应用程序接口模块的升级方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与实现网关中的应用程序接口模块的升级方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过在分布式微服务系统中的后端服务模块升级时,从预配置的仓库中获取对应的API模块要升级的新版本信息的资源包;根据API模块的新版本信息的资源包,升级网关中的API模块,与现有技术相比,不需要网关开发人员在API升级时开发相应的网关代码,可以直接由网关自动实现API的升级,能够有效节省人力成本,缩短API升级的时长,极大地提高网关中升级API的升级效率。
根据本申请实施例的技术方案,通过采用上述技术方案,当后端服务模块升级,需要同步升级网关中对应的API模块时,不需要修改网关代码,释放网关开发人员时间、避免引入未知问题,能够大幅度提升API模块的升级效率;而且本实施例的技术方案中,网关服务无需重启,不会损失网关的流量,可以大幅度整体稳定性以及网关对外提供API服务的质量。
根据本申请实施例的技术方案,通过采用上述技术方案,可以实现对网关中需要升级的API模块进行升级,不需要修改网关代码,释放网关开发人员时间、避免引入未知问题,能够大幅度提升API模块的升级效率;而且本实施例的技术方案中,网关服务无需重启,不会损失网关的流量,可以大幅度整体稳定性以及网关对外提供API服务的质量。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种网关中的应用程序接口模块的升级方法,执行主体为网关,其中,所述方法包括:
响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;
根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块;
其中,响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包,包括:
响应于所述分布式微服务系统中的所述后端服务模块升级指令,根据应用程序接口模块的唯一标识与后端服务模块的唯一标识的对应关系,获取所述后端服务模块对应的所述应用程序接口模块的唯一标识;
根据所述应用程序接口模块的唯一标识,从所述仓库中获取对应的所述应用程序接口模块要升级的新版本信息的资源包。
2.根据权利要求1所述的方法,其中,从预配置的仓库中获取对应的应用程序接口模块的要升级的新版本信息的资源包之前,所述方法还包括:
每隔预设时间长度,从所述仓库中获取所述应用程序接口模块的所有版本信息及各所述版本信息的存储时刻;
获取所述网关中所述应用程序接口模块的当前版本信息;
根据所述应用程序接口模块的所有版本信息及各所述版本信息的存储时刻、以及所述网关中所述应用程序接口模块的当前版本信息,确定所述应用程序接口模块要升级的新版本信息。
3.根据权利要求1所述的方法,其中,从预配置的仓库中获取对应的应用程序接口模块的要升级的新版本信息的资源包之前,所述方法还包括:
接收后端服务开发人员配置的所述应用程序接口模块的名称以及所述新版本信息;
或者接收所述后端服务模块在升级时触发的携带所述应用程序接口模块的名称以及所述应用程序接口模块的新版本信息的升级提示,并从中获取所述应用程序接口模块的名称和所述新版本信息。
4.根据权利要求1-3任一所述的方法,其中,根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块,包括:
在所述网关中卸载所述应用程序接口模块的旧版本信息的资源包;
热加载所述应用程序接口模块的所述新版本信息的资源包,以升级所述网关中的所述应用程序接口模块。
5.根据权利要求3所述的方法,其中,在所述网关中卸载所述应用程序接口模块的旧版本信息的资源包,包括:
关闭所述旧版本信息的资源包的资源,关闭所述旧版本信息的资源包的上下文、回收类加载器以卸载所述旧版本信息的资源包。
6.一种网关设备,其中所述设备,包括:
资源包获取模块,用于响应于分布式微服务系统中的后端服务模块升级指令,从预配置的仓库中获取对应的应用程序接口模块要升级的新版本信息的资源包;
升级模块,用于根据所述应用程序接口模块的所述新版本信息的资源包,升级所述网关中的所述应用程序接口模块;
所述资源包获取模块,用于:
响应于所述分布式微服务系统中的所述后端服务模块升级指令,根据应用程序接口模块的唯一标识与后端服务模块的唯一标识的对应关系,获取所述后端服务模块对应的所述应用程序接口模块的唯一标识;
根据所述应用程序接口模块的唯一标识,从所述仓库中获取对应的所述应用程序接口模块要升级的新版本信息的资源包。
7.根据权利要求6所述的设备,其中,所述设备还包括:
信息获取模块,用于每隔预设时间长度,从所述仓库中获取所述应用程序接口模块的所有版本信息及各所述版本信息的存储时刻;
所述信息获取模块,还用于获取所述网关中所述应用程序接口模块的当前版本信息;
确定模块,用于根据所述应用程序接口模块的所有版本信息及各所述版本信息的存储时刻、以及所述网关中所述应用程序接口模块的当前版本信息,确定所述应用程序接口模块要升级的新版本信息。
8.根据权利要求6所述的设备,其中,所述设备还包括:
接收模块,用于:
接收后端服务开发人员配置的所述应用程序接口模块的名称以及所述新版本信息;
或者接收所述后端服务模块在升级时触发的携带所述应用程序接口模块的名称以及所述应用程序接口模块的新版本信息的升级提示,并从中获取所述应用程序接口模块的名称和所述新版本信息。
9.根据权利要求6-8任一所述的设备,其中,所述升级模块,包括:
卸载单元,用于在所述网关中卸载所述应用程序接口模块的旧版本信息的资源包;
加载单元,用于热加载所述应用程序接口模块的所述新版本信息的资源包,以升级所述网关中的所述应用程序接口模块。
10.根据权利要求9所述的设备,其中,所述卸载单元,用于:
关闭所述旧版本信息的资源包的资源,关闭所述旧版本信息的资源包的上下文、回收类加载器以卸载所述旧版本信息的资源包。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612284.5A CN111885114B (zh) | 2020-06-29 | 2020-06-29 | 网关中的应用程序接口模块的升级方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612284.5A CN111885114B (zh) | 2020-06-29 | 2020-06-29 | 网关中的应用程序接口模块的升级方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111885114A CN111885114A (zh) | 2020-11-03 |
CN111885114B true CN111885114B (zh) | 2023-03-24 |
Family
ID=73157687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010612284.5A Active CN111885114B (zh) | 2020-06-29 | 2020-06-29 | 网关中的应用程序接口模块的升级方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885114B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788099A (zh) * | 2020-11-11 | 2021-05-11 | 中移雄安信息通信科技有限公司 | 加载后端服务的方法、装置、设备及计算机存储介质 |
CN112579698A (zh) * | 2020-12-02 | 2021-03-30 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、网关设备及存储介质 |
CN112636986A (zh) * | 2020-12-29 | 2021-04-09 | 苏州思必驰信息科技有限公司 | 网关插件更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491222A (zh) * | 2018-03-27 | 2018-09-04 | 青岛海信智慧家居系统股份有限公司 | 网关设备升级方法、装置、网关设备及存储介质 |
CN108900329A (zh) * | 2018-06-21 | 2018-11-27 | 珠海宏桥高科技有限公司 | 基于网关基础服务的实时动态转发方法 |
CN109194760A (zh) * | 2018-09-14 | 2019-01-11 | 深圳市佰仟金融服务有限公司 | 业务处理方法、网络系统及服务器 |
CN110336699A (zh) * | 2019-07-09 | 2019-10-15 | 北京和利时智能技术有限公司 | 自动化部署网关系统的方法、装置及系统 |
CN110417891A (zh) * | 2019-07-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、api网关及后端管理设备 |
-
2020
- 2020-06-29 CN CN202010612284.5A patent/CN111885114B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491222A (zh) * | 2018-03-27 | 2018-09-04 | 青岛海信智慧家居系统股份有限公司 | 网关设备升级方法、装置、网关设备及存储介质 |
CN108900329A (zh) * | 2018-06-21 | 2018-11-27 | 珠海宏桥高科技有限公司 | 基于网关基础服务的实时动态转发方法 |
CN109194760A (zh) * | 2018-09-14 | 2019-01-11 | 深圳市佰仟金融服务有限公司 | 业务处理方法、网络系统及服务器 |
CN110336699A (zh) * | 2019-07-09 | 2019-10-15 | 北京和利时智能技术有限公司 | 自动化部署网关系统的方法、装置及系统 |
CN110417891A (zh) * | 2019-07-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、api网关及后端管理设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111885114A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111770169B (zh) | 设备固件升级的方法、装置、设备以及存储介质 | |
CN111885114B (zh) | 网关中的应用程序接口模块的升级方法、设备及存储介质 | |
EP3929825A1 (en) | Distributed training method and system, device and storage medium | |
EP3828701B1 (en) | Mini app processing method, server, device and storage medium | |
CN111666585B (zh) | 子应用访问的方法、装置、电子设备以及可读存储介质 | |
CN111625738B (zh) | App目标页面的唤起方法、装置、设备和存储介质 | |
KR102572726B1 (ko) | 호스팅 애플리케이션의 컴파일 최적화 방법, 장치, 전자 기기 및 판독 가능 저장 매체 | |
TW201712564A (zh) | 用於支援線上升級的設備和方法 | |
US20130047148A1 (en) | Automated service solution delivery | |
US9043779B2 (en) | Loading remote binaries onto a write-protected device | |
WO2024077885A1 (zh) | 容器集群的管理方法、装置、设备及非易失性可读存储介质 | |
US11294651B2 (en) | Code execution method, device, and rendering apparatus | |
US10554726B1 (en) | Remote device drivers for internet-connectable devices | |
CN111796851A (zh) | 客户端基础库更新方法、装置、电子设备和存储介质 | |
CN112948018A (zh) | 用于小程序的动态库加载方法、装置、设备及介质 | |
CN112130888A (zh) | 应用程序更新的方法、装置、设备和计算机存储介质 | |
US8806434B2 (en) | Dynamically configuring an integrated development environment | |
JP7147123B2 (ja) | ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体 | |
CN111880778B (zh) | 接口文档的生成方法、装置、电子设备及存储介质 | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
US20230142150A1 (en) | Adapter Orchestration as a Service | |
US20150350340A1 (en) | Management of headless hardware in data center | |
CN113934440A (zh) | 升级方法、装置、电子设备和存储介质 | |
CN111694680A (zh) | 应用通信方法、装置、设备及存储介质 | |
CN114579146A (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 |