CN114489686A - 多云部署下的中间件解耦方法、装置和设备 - Google Patents
多云部署下的中间件解耦方法、装置和设备 Download PDFInfo
- Publication number
- CN114489686A CN114489686A CN202111492416.6A CN202111492416A CN114489686A CN 114489686 A CN114489686 A CN 114489686A CN 202111492416 A CN202111492416 A CN 202111492416A CN 114489686 A CN114489686 A CN 114489686A
- Authority
- CN
- China
- Prior art keywords
- middleware
- interface
- application
- decoupling
- configuration information
- 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.)
- Granted
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/70—Software maintenance or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种多云部署下的中间件解耦方法,包括:在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。采用上述方法,以解决现有技术的多云部署中间件解藕方案存在适用范围窄、应用部署难度较大、排查问题困难的问题。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种多云部署下的中间件解耦方法、装置、电子设备及存储设备。
背景技术
在应用产品开发中,应用通常需要支持多个云环境部署,而不同云产品具有不同的中间件产品,例如对于消息队列在云产品1上一般使用中间件产品A,而在云产品2上一般使用中间件产品B;对象存储在云产品1上使用中间件产品X,在云产品2上使用中间件产品Y。为了让一套应用代码能够实现多云部署,就需要对底层使用的中间件进行解藕。
目前中间件解藕方案比较流行的是通过sidecar(应用代码和一个与应用无关的程序一起部署在一个容器中,这个与应用无关的程序叫sidecar,一般用于云原生场景下)来解决,但是采用sidecar的方案存在以下缺点:会多两次本地网络调用的消耗,不太适合性能非常敏感的应用;应用无法直接和中间件进行交互,需要通过sidecar转发一次,在出现问题的时候比较难以排查,需要应用本身和sidecar应用协作排查;应用部署需要和sidecar一起部署,增加应用部署、升级和维护的成本和难度。
综上所述,现有技术下的多云部署中间件解藕方案存在适用范围窄、应用部署难度较大、排查问题困难等问题。
发明内容
本申请提供一种多云部署下的中间件解耦方法、装置、电子设备及存储设备,以解决现有技术的多云部署中间件解藕方案存在适用范围窄、应用部署难度较大、排查问题困难的问题。
本申请提供一种一种多云部署下的中间件解耦方法,包括:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
作为一种实施方式,所述第一中间件接口指特定的云产品提供的中间件接口。
作为一种实施方式,所述获得应用程序对第一中间件接口的请求信息,包括:
拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息从所述统一中间件接口转发到第二中间件接口。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
作为一种实施方式,所述中间件解耦框架获得应用代码对第一中间件接口的请求信息,包括:获得应用代码对统一中间件接口的请求信息;
所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息,包括:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
作为一种实施方式,所述方法还包括:
从应用程序中的配置文件中获得解耦配置信息。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
作为一种实施方式,所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
本申请还提供一种多云部署下的中间件解耦装置,包括:
请求信息获得单元,用于在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
请求信息转发单元,用于根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
作为一种实施方式,所述第一中间件接口指特定的云产品提供的中间件接口。
作为一种实施方式,所述请求信息获得单元,具体用于:
中间件解耦框架拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
作为一种实施方式,所述请求信息转发单元具体用于:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
所述统一中间件接口根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口。
作为一种实施方式,所述请求信息转发单元具体用于:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
作为一种实施方式,所述请求信息获得单元具体用于:获得应用代码对统一中间件接口的请求信息;
所述请求信息转发单元,具体用于:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
作为一种实施方式,所述装置还包括:解耦配置信息获得单元,
用于从应用程序中的配置文件中获得解耦配置信息。
作为一种实施方式,所述请求信息转发单元具体用于:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
作为一种实施方式,所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储方法的程序,该设备通电并通过所述处理器运行该多云部署下的中间件解耦方法的程序后,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
本申请还提供一种存储设备,存储有多云部署下的中间件解耦方法的程序,该程序被处理器运行,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
与现有技术相比,本申请具有以下优点:
本申请提供一种多云部署下的中间件解耦方法,包括:在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。本申请提供的多云部署下的中间件解耦方法,由于应用程序和中间件解藕框架是作为一个应用进行部署运行的,中间件接口的转发均为应用内部方法调用,不会出现sidecar方式的本地网络调用;由于应用程序和中间件解藕框架是一个应用部署运行,因此出现问题后都是在应用内进行问题排查,避免了多个应用协作排查;由于应用程序和中间件解藕框架是一个应用部署运行,不会出现部署、升级和维护难的问题。
附图说明
图1A是本申请提供的一种场景示意图。
图1是本申请第一实施例提供的一种多云部署下的中间件解耦方法的流程图。
图2是本申请第一实施例提供的一种采用第一种方式的多云部署下的中间件解耦方法的流程图。
图3是本申请第二实施例提供的一种多云部署下的中间件解耦装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
为了使本领域的技术人员更好的理解本申请方案,首先对本申请的一个具体应用场景实施例进行详细描述。
如图1A所示,开发工程师为某个大型企业开发了一套考勤应用,采用某个特定的云产品1的中间件开发了应用代码,当需要将应用代码用于另一个企业时,其需要部署在云产品2上,在应用程序的配置文件中编写了解耦配置信息,包括:1、将云产品1的消息中间件A转换为云产品2的消息中间件B;2、将云产品1的缓存中间件A转换为云产品2的缓存中间件B;3、将云产品1的存储中间件A转换为云产品2的存储类中间件B;4、将云产品1的服务中间件A转换为云产品2的服务类中间件B等。在应用代码运行时,中间件解耦框架获得应用程序对云产品1的消息中间件接口的访问后,首先将对云产品1的消息中间件A接口的请求信息转发到统一消息中间件接口;接着,中间件解耦框架中的统一消息中间件接口根据应用程序提供的解耦配置信息,将对云产品1的消息中间件A的接口的请求信息转发到云产品2的消息中间件B的接口。当中间件解耦框架获得应用程序对云产品1的其他类型中间件接口的访问后,也采用类似的方法转发到云产品2对应类型的中间件的接口。
本申请第一实施例提供一种多云部署下的中间件解耦方法,其应用于中间件解耦框架,下面结合图1进行说明。
如图1所示,在步骤S101中,在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的。
所述中间件解耦框架,指通过获得应用程序提供的解耦配置信息,将源中间件接口的请求转换为目标中间件接口的请求的一个框架。具体实施时,中间件解耦框架可以是采用java语言编写的jar包。
所述应用代码指根据应用需求编写的代码。应用代码可以用java语言编写,也可以用其他能够实现应用需求的语言编写。
所述第一中间件接口,可以指特定的云产品提供的中间件接口,也可以指统一中间件接口,也可以称为源中间件接口。如果应用代码在编写时采用特定的云产品提供的中间件接口,则第一中间件接口指特定的云产品提供的中间件接口。例如,在编写应用代码时采用云产品1的消息队列中间件接口,则第一中间件接口指云产品1的消息队列中间件接口。除此之外,还可以采用统一中间件接口进行应用代码的编写,此时,第一中间件接口指统一中间件接口。统一中间件接口不是面向某个特定的云产品的中间件接口,其实质为一个适配接口,通过统一中间件接口应用代码可以适配到各个云产品提供的相应中间件接口。
所述应用代码对第一中间件接口的请求信息,指应用代码对第一中间件接口访问时携带的请求信息。例如,当应用代码给消息中间件接口发消息时,携带的请求信息可以包括消息的目标地址、消息的内容等。
当第一中间件接口为特定的云产品提供的中间件接口时,所述中间件解耦框架获得应用程序对第一中间件接口的请求信息,包括:
中间件解耦框架拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
例如,当第一中间件接口为消息中间件接口时,使用第一中间接接口进行消息的发送和监听,当应用代码通过发送消息、接收消息等方法对第一中间件接口进行访问时,中间件解耦框架拦截应用程序对第一中间件接口的访问后,可以获得应用程序对第一中间件接口的请求信息。
如图1所示,在步骤S102中,根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
所述第二中间件接口,也可以称作目标中间件接口。第二中间件的类型与第一中间件的类型对应。例如,当第一中间件为消息类中间件时,第二中间件也为消息类中间件;第一中间件为缓存类消息类中间件时,第二中间件也为缓存类中间件。
所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
所述解耦配置信息可以放在配置文件中。采用本申请的解耦方法,为实现应用代码部署在不同的云产品上,只需修改配置文件中的解耦配置信息即可,实现了多云部署的便利切换。例如,在编写应用代码时采用云产品1的消息队列中间件接口(即第一中间件接口),当应用代码需要部署到云产品2时,只需将解耦配置信息设为从云产品1的消息队列中间件转换为云产品2的消息队列中间件(第二中间件)即可;当应用代码需要部署到云产品3时,只需将解耦配置信息设为从云产品1的消息队列中间件转换为云产品3的消息队列中间件(第二中间件)即可。
当第一中间件接口为特定的云产品提供的中间件接口时,根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括如下两种方式:
第一种方式:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息从所述统一中间件接口转发到第二中间件接口。
在中间件解耦框架获得应用程序对第一中间件接口的访问后,首先将对第一中间件接口的请求信息转发到统一中间件接口;接着,根据应用程序提供的解耦配置信息,将对第一中间件接口的请求信息从统一中间件接口转发到第二中间件接口。
如图2所示,其为采用第一种方式的多云部署下的中间件解耦方法的流程图。
如图2所示,在步骤S201中,在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;
如图2所示,在步骤S202中,将所述对第一中间件接口的请求信息转发到统一中间件接口;
如图2所示,在步骤S203中,根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息从所述统一中间件接口转发到第二中间件接口。
第二种方式:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
在中间件解耦框架获得应用程序对第一中间件接口的访问后,根据应用程序提供的解耦配置信息,将对第一中间件接口的请求信息直接转发到第二中间件接口,不再通过统一中间件接口做桥梁。
当第一中间件接口为统一中间件接口时,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息,包括:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
上述方式适用于下述场景:采用统一中间件接口进行应用代码的编写,此时,第一中间件接口指统一中间件接口。
具体的,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
所述操作类型指发消息、收消息等操作类型。
下面介绍几个采用本方法的场景。
场景1:开发工程师为某个大型企业开发了一套考勤应用,采用某个特定的云产品1的中间件开发了应用代码,当需要将应用代码用于另一个企业时,其需要部署在云产品2上,在应用程序的配置文件中编写了解耦配置信息,包括:1、将云产品1的消息中间件转换为云产品2的消息中间件;2、将云产品1的缓存中间件转换为云产品2的缓存中间件;3、将云产品1的存储中间件转换为云产品2的存储类中间件;4、将云产品1的服务中间件转换为云产品2的服务类中间件等。在应用代码运行时,中间件解耦框架获得应用程序对云产品1的消息中间件接口的访问后,首先将对云产品1的消息中间件接口的请求信息转发到统一消息中间件接口;接着,根据应用程序提供的解耦配置信息,将对云产品1的消息中间件接口的请求信息从统一消息中间件接口转发到云产品2的消息中间件接口。当中间件解耦框架获得应用程序对云产品1的其他类型中间件接口的访问后,也采用类似的方法转发到云产品2对应类型的中间件。
场景2:开发工程师为某个大型企业开发了一套考勤应用,采用某个特定的云产品1的中间件开发了应用代码,当需要将应用代码用于另一个企业时,其需要部署在云产品2上,在应用程序的配置文件中编写了解耦配置信息,包括:1、将云产品1的消息中间件转换为云产品2的消息中间件;2、将云产品1的缓存中间件转换为云产品2的缓存中间件;3、将云产品1的存储中间件转换为云产品2的存储类中间件;4、将云产品1的服务中间件转换为云产品2的服务类中间件等。在应用代码运行时,中间件解耦框架获得应用程序对云产品1的消息中间件接口的访问后,根据应用程序提供的解耦配置信息,将对云产品1的消息中间件接口的请求信息直接转发到云产品2的消息中间件接口。当中间件解耦框架获得应用程序对云产品1的其他类型中间件接口的访问后,也采用类似的方法转发到云产品2对应类型的中间件。
场景3:开发工程师为某个大型企业开发了一套考勤应用,采用统一中间件开发了应用代码,需要部署在云产品1上,在应用程序的配置文件中编写了解耦配置信息,包括:1、将统一的消息中间件转换为云产品1的消息中间件;2、将统一的缓存中间件转换为云产品1的缓存中间件;3、将统一的消息中间件转换为云产品1的存储类中间件;4、将统一的消息中间件转换为云产品1的服务类中间件等。在应用代码运行时,中间件解耦框架获得应用程序对统一中间件接口的访问后,根据应用程序提供的解耦配置信息,将对统一的消息中间件接口的请求信息直接转发到云产品1的消息中间件接口。当中间件解耦框架获得应用程序对统一的其他类型中间件接口的访问后,也采用类似的方法转发到云产品1对应类型的中间件。
至此,完成了对本申请第一实施例的介绍。本申请第一实施例提供的多云部署下的中间件解耦方法,由于应用程序和中间件解藕框架是作为一个应用进行部署运行的,中间件接口的转发均为应用内部方法调用,不会出现sidecar方式的本地网络调用;由于应用程序和中间件解藕框架是一个应用部署运行,因此出现问题后都是在应用内进行问题排查,避免了多个应用协作排查;由于应用程序和中间件解藕框架是一个应用部署运行,不会出现部署、升级和维护难的问题。
与本申请第一实施例提供的多云部署下的中间件解耦方法相对应的,本申请第二实施例提供一种多云部署下的中间件解耦装置。
如图3所示,所述多云部署下的中间件解耦装置,包括:
请求信息获得单元301,用于在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
请求信息转发单元302,用于根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
作为一种实施方式,所述第一中间件接口指特定的云产品提供的中间件接口。
作为一种实施方式,所述请求信息获得单元,具体用于:
中间件解耦框架拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
作为一种实施方式,所述请求信息转发单元具体用于:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
所述统一中间件接口根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口。
作为一种实施方式,所述请求信息转发单元具体用于:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
作为一种实施方式,所述请求信息获得单元具体用于:获得应用代码对统一中间件接口的请求信息;
所述请求信息转发单元,具体用于:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
作为一种实施方式,所述装置还包括:解耦配置信息获得单元,
用于从应用程序中的配置文件中获得解耦配置信息。
作为一种实施方式,所述请求信息转发单元具体用于:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
作为一种实施方式,所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
需要说明的是,对于本申请第二实施例提供的装置的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的多云部署下的中间件解耦方法相对应的,本申请第三实施例提供一种电子设备。
所述电子设备,包括:
处理器;以及
存储器,用于存储方法的程序,该设备通电并通过所述处理器运行该多云部署下的中间件解耦方法的程序后,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
作为一种实施方式,所述第一中间件接口指特定的云产品提供的中间件接口。
作为一种实施方式,所述获得应用程序对第一中间件接口的请求信息,包括:
拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
所述统一中间件接口根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
作为一种实施方式,所述中间件解耦框架获得应用代码对第一中间件接口的请求信息,包括:获得应用代码对统一中间件接口的请求信息;
所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息,包括:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
作为一种实施方式,所述电子设备还执行下述操作:
从应用程序中的配置文件中获得解耦配置信息。
作为一种实施方式,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
作为一种实施方式,所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
需要说明的是,对于本申请第三实施例提供的电子设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的多云部署下的中间件解耦方法相对应的,本申请第四实施例提供一种存储设备,存储有多云部署下的中间件解耦方法的程序,该程序被处理器运行,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
需要说明的是,对于本申请第四实施例提供的存储设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、存储器映射输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (12)
1.一种多云部署下的中间件解耦方法,其特征在于,包括:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
2.根据权利要求1所述的方法,其特征在于,所述第一中间件接口指特定的云产品提供的中间件接口。
3.根据权利要求2所述的方法,其特征在于,所述中间件解耦框架获得应用程序对第一中间件接口的请求信息,包括:
中间件解耦框架拦截应用程序对第一中间件接口的访问;
获得应用程序对第一中间件接口的请求信息。
4.根据权利要求3所述的方法,其特征在于,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
将所述对第一中间件接口的请求信息转发到统一中间件接口;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息从所述统一中间件接口转发到第二中间件接口。
5.根据权利要求3所述的方法,其特征在于,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息直接转发到第二中间件接口。
6.根据权利要求1所述的方法,其特征在于,所述中间件解耦框架获得应用代码对第一中间件接口的请求信息,包括:获得应用代码对统一中间件接口的请求信息;
所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息,包括:
根据应用程序提供的解耦配置信息,将所述对统一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从统一中间件转换为第二中间件的配置信息。
7.根据权利要求1所述的方法,其特征在于,还包括:
从应用程序中的配置文件中获得解耦配置信息。
8.根据权利要求1所述的方法,其特征在于,所述根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口,包括:
根据第一中间件接口,获得对第一中间件接口的操作类型;
根据应用程序提供的解耦配置信息,获得第二中间件接口;
根据请求信息获得参数信息;
将所述参数信息传入与第一中间件接口的操作类型对应的第二中间接口。
9.根据权利要求1所述的方法,其特征在于,所述第一中间件和第二中间件包括以下至少一种类型:
消息类中间件;
存储类中间件;
缓存类中间件;
服务类中间件。
10.一种多云部署下的中间件解耦装置,其特征在于,包括:
请求信息获得单元,用于在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
请求信息转发单元,用于根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储方法的程序,该设备通电并通过所述处理器运行该多云部署下的中间件解耦方法的程序后,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
12.一种存储设备,其特征在于,存储有多云部署下的中间件解耦方法的程序,该程序被处理器运行,执行下述步骤:
在应用代码运行时,中间件解耦框架获得应用代码对第一中间件接口的请求信息;所述应用代码是根据第一中间件接口对应用进行编程获得的;
根据应用程序提供的解耦配置信息,将所述对第一中间件接口的请求信息转发到第二中间件接口;其中,解耦配置信息指用于将应用使用的中间件从第一中间件转换为第二中间件的配置信息;应用程序和中间件解藕框架在一个应用中进行部署运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111492416.6A CN114489686B (zh) | 2021-12-08 | 2021-12-08 | 多云部署下的中间件解耦方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111492416.6A CN114489686B (zh) | 2021-12-08 | 2021-12-08 | 多云部署下的中间件解耦方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489686A true CN114489686A (zh) | 2022-05-13 |
CN114489686B CN114489686B (zh) | 2023-06-20 |
Family
ID=81492005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111492416.6A Active CN114489686B (zh) | 2021-12-08 | 2021-12-08 | 多云部署下的中间件解耦方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489686B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271139A (zh) * | 2018-09-11 | 2019-01-25 | 北京北信源软件股份有限公司 | 一种基于缓存中间件的规范化处理方法及装置 |
CN110334075A (zh) * | 2019-04-04 | 2019-10-15 | 平安科技(深圳)有限公司 | 基于消息中间件的数据迁移方法及相关设备 |
CN113645251A (zh) * | 2021-08-24 | 2021-11-12 | 北京英创思信息技术有限公司 | 适用于跨区域服务的数据传输方法及装置 |
-
2021
- 2021-12-08 CN CN202111492416.6A patent/CN114489686B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271139A (zh) * | 2018-09-11 | 2019-01-25 | 北京北信源软件股份有限公司 | 一种基于缓存中间件的规范化处理方法及装置 |
CN110334075A (zh) * | 2019-04-04 | 2019-10-15 | 平安科技(深圳)有限公司 | 基于消息中间件的数据迁移方法及相关设备 |
CN113645251A (zh) * | 2021-08-24 | 2021-11-12 | 北京英创思信息技术有限公司 | 适用于跨区域服务的数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114489686B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8832714B1 (en) | Automated service interface optimization | |
CN111708738B (zh) | 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统 | |
CN102708076B (zh) | 驱动程序填隙 | |
CN110851082A (zh) | 一种容器对接光纤网络存储的方法 | |
CN110362547A (zh) | 日志文件的编码、解析、存储方法和装置 | |
CN110764930B (zh) | 基于消息模式的请求或应答处理方法及装置 | |
CN117421160B (zh) | 数据备份方法、装置、计算机设备和存储介质 | |
CN112738181B (zh) | 集群外部ip接入的方法、装置及服务器 | |
JP7025104B2 (ja) | 情報処理装置、方法およびプログラム | |
CN108170376A (zh) | 存储卡读和写的方法和系统 | |
CN117667451A (zh) | 一种面向数据对象的远程过程调用方法及相关设备 | |
CN114489686B (zh) | 多云部署下的中间件解耦方法、装置和设备 | |
CN114416690B (zh) | 文件存储到对象存储的数据迁移装置、方法和存储介质 | |
CN113760318A (zh) | 信息处理方法、装置、服务器及存储介质 | |
US20230359450A1 (en) | Cloud application engine deployment method for shielding web framework from users and apparatus, device and storage medium thereof | |
CN116489177A (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
CN114564241B (zh) | 硬件设备的访问方法、装置、计算机设备和存储介质 | |
WO2024016595A1 (zh) | 一种rbd-nbd映射方法及装置 | |
CN114328435A (zh) | 一种基于分布式架构的非结构化文件的流处理方法及系统 | |
CN113741912A (zh) | 模型管理系统、方法、装置及设备 | |
CN110045962A (zh) | 一种支持多语言脚本执行的方法和装置 | |
CN112579117A (zh) | 数据升级方法及装置 | |
CN115514611B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN112486478B (zh) | 一种基于领域驱动的事件处理方法及设备 | |
US20240111550A1 (en) | Shared library loading using predefined loading policy |
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 |