CN111262904A - 服务代理系统及方法 - Google Patents
服务代理系统及方法 Download PDFInfo
- Publication number
- CN111262904A CN111262904A CN201911316554.1A CN201911316554A CN111262904A CN 111262904 A CN111262904 A CN 111262904A CN 201911316554 A CN201911316554 A CN 201911316554A CN 111262904 A CN111262904 A CN 111262904A
- Authority
- CN
- China
- Prior art keywords
- service
- identifier
- instance
- cloud platform
- service instance
- 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
-
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种服务代理系统,包括:服务代理以及提供第一服务的服务中间件,其中,所述服务代理,用于向云平台发送是否支持接入所述第一服务的询问消息,并在所述云平台返回支持接入所述第一服务的响应消息时,向所述服务中间件发送创建请求,所述创建请求包括所述第一服务标识;所述服务中间件,用于响应所述创建请求,创建所述第一服务标识对应的第一服务实例;所述服务代理,还用于关联所述第一服务实例与所述云平台,以为所述云平台提供所述第一服务。本申请实施例提供的方案能够利用容器技术,实现服务接入云平台、服务绑定云应用、解除服务与云应用的绑定、删除云平台接入的服务,从而能够灵活实现服务与云平台的对接。
Description
技术领域
本申请属于云计算领域,具体地说,涉及一种服务代理系统及方法。
背景技术
基于传统方式的中间件服务是传统的客户/服务器模式,是一种双层的结构,通常是一台个人计算机做客户机使用(运行客户端程序),另外一台服务器用于存放后台的数据库系统,服务器可与客户端直接相连,服务器与客户端的中间没有其他的逻辑。
程序的业务逻辑则一般存在于前台的应用程序中,即程序员根据客户的业务要求定制客户端程序,这种定制的程序没有通用性。或者业务逻辑也存在于后台数据库中,以触发器(trigger)的方式实现。
但是,这种方式有一个很大的缺点,就是一旦客户的业务逻辑有所改变的话,将引起应用程序的修改以及后台触发器的修改,将所有程序模块都重新修改、编译、连接的工作量是相当大的。另外由于这种结构将用户界面和业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对客户机来说是一个很大的负担。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种服务代理系统及方法,利用容器技术,通过服务代理的方式来实现服务接入云平台,以更高效地对接新平台、承载新系统,无需消耗客户机的大量资源,减轻客户机的负担。
为了解决上述技术问题,本申请公开了一种服务代理系统,包括:服务代理以及提供第一服务的服务中间件,其中,
所述服务代理,用于向云平台发送是否支持接入所述第一服务的询问消息,并在所述云平台返回支持接入所述第一服务的响应消息时,向所述服务中间件发送创建请求,所述创建请求包括所述第一服务标识;
所述服务中间件,用于响应所述创建请求,创建所述第一服务标识对应的第一服务实例;
所述服务代理,还用于关联所述第一服务实例与所述云平台,以为所述云平台提供所述第一服务。
可选的,所述服务代理,包括:
接收单元,用于接收云应用的绑定请求,所述云应用安装于所述云平台中,所述绑定请求包括第一服务标识;
绑定单元,用于绑定所述云应用及所述第一服务标识对应的第一服务实例。
可选的,所述云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,所述绑定请求还包括第一服务实例标识,则
所述绑定单元,用于依据所述第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定所述云应用及所述第一服务实例。
可选的,所述服务代理,包括:
接收单元,用于接收云应用的解绑请求,所述云应用安装于所述云平台中,所述解绑请求包括第一服务标识,或所述解绑请求包括第一服务标识和第一服务实例标识;
解绑单元,用于依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除所述云应用及所述第一服务实例的绑定。
可选的,
所述服务代理,包括:
接收单元,用于接收第一删除请求,所述第一删除请求包括第一服务标识、或包括第一服务标识和第一服务实例标识;
发送单元,用于依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,向所述服务中间件发送第二删除请求,所述第二删除请求包括所述第一服务实例标识;
所述服务中间件,还用于响应所述第二删除请求,删除所述第一服务实例标识对应的所述第一服务实例。。
为解决上述技术问题,本申请还公开了一种服务接入方法,应用于服务代理,所述方法包括:
向云平台发送是否支持接入所述第一服务的询问消息;
在所述云平台返回支持接入所述第一服务的响应消息时,传输创建请求,所述创建请求包括所述第一服务标识,且所述创建请求用于指示创建所述第一服务标识对应的第一服务实例;
关联所述第一服务实例与所述云平台,以为所述云平台提供所述第一服务。
可选的,在所述关联所述第一服务实例与所述云平台后,所述方法还包括:
接收云应用的绑定请求,所述云应用安装于所述云平台中,所述绑定请求包括第一服务标识;
绑定所述云应用及所述第一服务标识对应的第一服务实例。
可选的,所述云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,所述绑定请求还包括第一服务实例标识,则
所述绑定所述云应用及所述第一服务标识对应的第一服务实例,包括:依据所述第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定所述云应用及所述第一服务实例。
可选的,服务接入方法还包括:
接收云应用的解绑请求,所述云应用安装于所述云平台中,所述解绑请求包括第一服务标识,或所述解绑请求包括第一服务标识和第一服务实例标识;
依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除所述云应用及所述第一服务实例的绑定。
可选的,在所述关联所述第一服务实例与所述云平台后,所述方法还包括:
接收第一删除请求,所述第一删除请求包括第一服务标识、或包括第一服务标识和第一服务实例标识;
依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,发送第二删除请求,所述第二删除请求包括所述第一服务实例标识,且所述第二删除请求用于指示删除所述第一服务实例标识对应的所述第一服务实例。
与现有技术相比,本申请可以获得包括以下技术效果:
本申请实施例提供的方案能够利用容器技术,实现服务接入云平台、服务绑定云应用、解除服务与云应用的绑定、删除云平台接入的服务,从而能够灵活实现服务与云平台的对接,将业务流程迁移到接入的服务上,最终实现灵活扩展、降低成本和增加资源利用效率的效果,实现更高效地对接新技术、承载新系统。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1-1是本申请某些实施例提供的一种服务代理系统架构示意图;
图1-2是本申请某些实施例提供的一种服务代理系统流程示意图;
图1-3是本申请某些实施例提供的包括一服务实例的架构示意图;
图2-1是本申请某些实施例提供的另一种服务代理系统架构示意图;
图2-2是本申请某些实施例提供的包括两个或两个以上同一服务实例的架构示意图;
图2-3是本申请某些实施例提供的包括两种或两种以上服务实例的架构示意图;
图3是本申请某些实施例提供的一种服务接入流程示意图;
图4是本申请某些实施例提供的另一种服务接入流程示意图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
发明人经过分析发现,基于传统方式的中间件服务为非容器化的客户/服务器模式,程序的业务逻辑则一般存在于前台的应用程序中,即程序员根据客户的业务要求定制客户端程序,这种定制的程序没有通用性。或者业务逻辑也存在于后台数据库中,以触发器(trigger)的方式实现。这种方式有一个很大的缺点,就是一旦客户的业务逻辑有所改变的话,将引起应用程序的修改以及后台触发器的修改,将所有程序模块都重新修改、编译、连接的工作量是相当大的。另外由于这种结构将用户界面和业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对客户机来说是一个很大的负担。
为避免上述提到的问题,发明人提出了基于容器技术的服务代理系统及方法,利用容器技术,通过服务代理的方式来实现服务接入云平台,以更高效地对接新平台、承载新系统,无需消耗客户机的大量资源,减轻客户机的负担。
请参阅图1-1,本申请公开了一种服务代理系统100,包括:服务代理101以及提供第一服务的服务中间件102。为使第一服务成功接入云平台200,各模块的工作原理如下。
服务代理101,用于向云平台200发送是否支持接入第一服务的询问消息,并在云平台200返回支持接入第一服务的响应消息时,向服务中间件102发送创建请求,该创建请求包括第一服务标识。
服务中间件102,用于响应创建请求,创建第一服务标识对应的第一服务实例。
服务代理101,还用于关联第一服务实例与云平台,以为云平台提供第一服务。
请参阅图1-2,基于图1-1所示的服务代理系统,本申请某些实施例还提供一种服务接入方法,具体如下。
201、服务代理101向云平台200发送是否支持接入第一服务的询问消息。
第一服务可以是mysql服务、oracle服务、FTP服务、HTTP服务等,本申请在些并不作限定。
具体的,询问消息的消息体结构如下表1-1所示。
表1-1
其中,表1-1中dashboard client的结构如下表1-2所示,表1-1中plan的结构如下表1-3所示。
表1-2
表1-3
202、云平台200返回支持接入第一服务的响应消息。
具体的,响应消息的消息体结构包括应答状态及应答消息体,应答状态如如前表2-1所示,应答消息体如前表2-2。
表2-1
表2-2
203、服务代理101向服务中间件102发送创建请求,该创建请求包括第一服务标识。
具体的,创建请求的消息体结构如下表3所示,其中,表3中的服务ID为第一服务标识。
表3
204、服务中间件102响应创建请求,创建第一服务标识对应的第一服务实例。
服务中间件创建好第一服务实例后,向服务代理101返回创建应答,创建应答包括应答状态及应答消息体,具体的,应答状态如下表4-1所示,应答消息体如下表4-2所示。
表4-1
表4-2
应答内容 | 类型 | 描述 |
dashboard_url | 字符串 | 服务实例对应的基于web用户控制台界面的URL信息。 |
operation | 字符串 | 对于异步应答,返回状态信息 |
205、服务代理101关联第一服务实例与云平台,以为云平台提供第一服务。
在服务中间件102创建好第一服务实例后,服务代理101关联第一服务实例及云平台200,以实现将第一服务接入云平台200的目的,为云平台200提供第一服务。基于图1-1所示的服务代理系统,执行完上述205后,得到如图1-3所示的服务代理系统。
在现有的技术环境下应用的中间件主要是通过用户手动安装部署,同时在运行环境中不能做方便快捷的做集群的动态调整和数据同步。本申请实施例利用容器云计算技术,通过服务代理的方式来实现服务接入云平台,实现用户方便的创建支持动态扩展的私有中间件服务,以更高效地对接新平台、承载新系统,无需消耗客户机的大量资源,减轻客户机的负担。
在上述某些实施例中,服务代理包括:接收单元和绑定单元,具体的功能原理如下,以绑定第一服务实例与安装在云平台中的云应用,实现为云应用提供第一服务。
接收单元,用于接收云应用的绑定请求,云应用安装于云平台中,绑定请求包括第一服务标识。
绑定单元,用于绑定云应用及第一服务标识对应的第一服务实例。
相应的,基于本申请实施例提供的系统,图1-2提供的方法还包括步骤2061及2063,以绑定第一服务实例与安装在云平台中的云应用,实现为云应用提供第一服务。在这里,服务标识用于标识服务实例,即使云平台关联多个提供相同服务的服务实例,也可以通过不同的服务标识来标识不同的服务实例。此时,仅通过服务标识,即可以确定对应的服务实例。
在2061,安装在云平台中的云应用发送绑定请求。该绑定请求包括第一服务标识。
具体的,绑定请求的消息体如下表5所示。以表5中为例,服务ID为第一服务标识。
表5
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
app_guid | 字符串 | 应用ID |
bind_resource | 对象 | 绑定所需提供的资源信息 |
parameters | 对象 | 服务绑定的配置信息 |
通常情况下,常用的绑定服务有几种类型,该类型一般在parmeter中设置:
类型一:生成访问凭证,用户或者应用调用服务时所使用的凭证信息。
类型二:日志输出方式,应用日志流同日志聚集、分析服务进行绑定。
类型三:路由服务,应用同路由转发服务进行绑定,针对一定的请求,执行路由转发。
类型四:存储卷服务,应用绑定存储卷服务后,持久化数据到存储卷服务。
在2062,服务代理101的接收单元接收云应用的绑定请求。
在2063,服务代理101的绑定单元绑定云应用及第一服务标识对应的第一服务实例。
服务代理101在执行2063后,向云应用发送绑定应答。绑定应答包括应答状态及应答消息体,具体的,应答状态如下表5-1所示,应答消息体如下表5-2所示。
表5-1
状态码 | 描述 |
201 Created | 创建成功,消息体参照如下表5-2 |
200 OK | 服务绑定已存在,消息体参照如下表5-2 |
409 Conflict | 绑定已存在,无法新建,消息体为{} |
422 Unprocessable Entity | 应用id缺失 |
表5-2
应答内容 | 类型 | 描述 |
credentials | 对象 | 凭证哈希值,即类型一的应答内容 |
syslog_drain_url | 字符串 | 日志输出URL,即类型二的应答内容 |
route_service_url | 字符串 | 路由服务URL,即类型三的应答内容 |
volume_mounts | 对象列表 | 存储卷信息列表,即类型四的应答内容 |
在上述某些实施例中,第一服务实例在关联云平台之前,云平台可能关联有其他服务实例,关联的其他服务实例可能与第一服务实例提供相同的服务,例如图2-1所示的第二服务实例,第二服务实例有可能是创建第一服务实例的服务中间件1021创建的,也有可能是除服务中间件1021其他服务中间件1022创建的。云平台关联的其他服务实例也有可能与第一服务实例提供不同的服务,如图2-2所示的第三服务实例,应当理解,第三服务实例应当是与服务中间件1021提供不同服务的服务中间件1023所创建。由此可知,本申请实施例可以通过一服务代理,实现多种服务的接入,灵活扩展。
在某些实施例中,在云平台关联多个提供相同服务的服务实例的前提下,可通过服务实例标识,绑定云应用及服务实例。具体的,以图2-2为例,云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,绑定请求包括第一服务标识和第一服务实例标识,在这里,第一服务标识用于标识第一服务,第一服务实例标识用于标识提供第一服务的服务实例。则服务代理的绑定单元,具体用于依据第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定云应用及第一服务实例。在某些实施例中,服务代理包括:接收单元和解绑单元,功能原理具体如下,以解绑第一服务实例与安装在云平台中的云应用,实现为云应用解除提供第一服务。
接收单元,还用于接收云应用的解绑请求,云应用安装于云平台中,解绑请求包括第一服务标识,或解绑请求包括第一服务标识和第一服务实例标识。
解绑单元,用于依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除云应用及第一服务实例的绑定。
相应的,基于本申请实施例提供的系统,图1-2提供的方法还包括步骤2071及2073,以解绑第一服务实例与安装在云平台中的云应用,实现为云应用解除提供第一服务。
在2071,安装在云平台中的云应用发送解绑请求。解绑请求包括第一服务标识(即表6中的服务ID),或解绑请求包括第一服务标识和第一服务实例标识。
具体的,绑定请求的消息体如下表6所示。
表6
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
在2072,服务代理的接收单元接收云应用的解绑请求。
在2073,服务代理的解绑单元依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除云应用及第一服务实例的绑定。
服务代理101在执行2073后,向云应用发送解绑应答。解绑应答包括应答状态及应答消息体,具体的,应答状态如下表7所示,应答消息体为{}。
表7
状态码 | 描述 |
200 OK | 解绑定成功 |
410 Gone | 绑定不存在 |
在某些实施例中,服务代理包括:接收单元和发送单元,功能原理具体如下,以删除第一服务实例,不再为云平台提供第一服务。
接收单元,还用于接收第一删除请求,第一删除请求包括第一服务标识、或包括第一服务标识和第一服务实例标识。
发送单元,用于依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,向服务中间件发送第二删除请求,第二删除请求包括第一服务实例标识。
服务中间件,还用于响应第二删除请求,删除第一服务实例标识对应的第一服务实例。
相应的,基于本申请实施例提供的系统,图1-2提供的方法还包括步骤2081及2083,以删除第一服务实例,不再为云平台提供第一服务。
在2081,云平台发送删除请求。第一删除请求包括第一服务标识(如表8中的服务ID)、或包括第一服务标识和第一服务实例标识。
具体的,绑定请求的消息体如下表8所示。
表8
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
accepts_incomplete | 布尔型 | 异步应答支持冲突 |
在2082,服务代理的接收单元接收第一删除请求。
在2083,服务代理的解绑单元依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,向服务中间件发送第二删除请求,第二删除请求包括第一服务实例标识。
在2084,服务中间件响应第二删除请求,删除第一服务实例标识对应的第一服务实例。
服务中间件在执行2084后,向云服务代理发送删除应答,服务代理再向云平台发送删除应答。删除应答包括应答状态及应答消息体,具体的,应答状态如下表9-1所示,应答消息体如下表9-2所示。
表9-1
状态码 | 描述 |
200 OK | 删除成功,消息体参照如下 |
202 Accepted | 删除动作执行,结果异步返回 |
410 Gone | 服务实例不存在 |
422 Unprocessable Entity | 异步应答支持冲突 |
表9-2
应答内容 | 类型 | 描述 |
operation | 字符串 | 异步应答返回状态信息 |
通过上述实施例的描述,本申请实施例提供的方案能够利用容器技术,实现服务接入云平台、服务绑定云应用、解除服务与云应用的绑定、删除云平台接入的服务,从而能够灵活实现服务与云平台的对接,将业务流程迁移到接入的服务上,最终实现灵活扩展、降低成本和增加资源利用效率的效果,实现更高效地对接新技术、承载新系统。
请参阅图3,本申请还公开了一种应用于服务代理的服务接入方法,,方法包括301-303。
在301,向云平台发送是否支持接入第一服务的询问消息。
第一服务可以是mysql服务、oracle服务、FTP服务、HTTP服务等,本申请在些并不作限定。
具体的,询问消息的消息体结构如前表1-1所示。
表1-1
其中,表1-1中dashboard client的结构如下表1-2所示,表1-1中plan的结构如下表1-3所示。
表1-2
表1-3
在302,在云平台返回支持接入第一服务的响应消息时,传输创建请求,创建请求包括第一服务标识,且创建请求用于指示创建第一服务标识对应的第一服务实例。
具体的,响应消息的消息体结构包括应答状态及应答消息体,应答状态如如前表2-1所示,应答消息体如前表2-2。
表2-1
表2-2
应答内容 | 类型 | 描述 |
service_id | string | 服务id、非空 |
plan_id | string | 计划id,非空 |
app_guid | string | 被绑定到服务的应用id,非空唯一 |
bind_resource | object | 被绑定到服务的应用 |
parameters | object | 绑定需要的参数 |
服务代理101向服务中间件102发送创建请求,该创建请求包括第一服务标识。
具体的,创建请求的消息体结构如前表3所示,其中,表3中的服务ID为第一服务标识。
表3
服务中间件102响应创建请求,创建第一服务标识对应的第一服务实例。
服务中间件创建好第一服务实例后,向服务代理101返回创建应答,创建应答包括应答状态及应答消息体,具体的,应答状态如前表4-1所示,应答消息体如前表4-2所示。
表4-1
表4-2
应答内容 | 类型 | 描述 |
dashboard_url | 字符串 | 服务实例对应的基于web用户控制台界面的URL信息。 |
operation | 字符串 | 对于异步应答,返回状态信息 |
在303,关联第一服务实例与云平台,以为云平台提供第一服务。
在服务中间件102创建好第一服务实例后,服务代理101关联第一服务实例及云平台200,以实现将第一服务接入云平台200的目的,为云平台200提供第一服务。本申请实施例利用容器云计算技术,通过服务代理的方式来实现服务接入云平台,以更高效地对接新平台、承载新系统,无需消耗客户机的大量资源,减轻客户机的负担。
在某些实施例中,为绑定第一服务实例与安装在云平台中的云应用,实现为云应用提供第一服务,在关联第一服务实例与云平台后,请参阅图4,方法还包括3041-3042。
3041.接收云应用的绑定请求,云应用安装于云平台中,绑定请求包括第一服务标识。
具体的,绑定请求的消息体如前表5所示。以表5中为例,服务ID为第一服务标识。
表5
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
app_guid | 字符串 | 应用ID |
bind_resource | 对象 | 绑定所需提供的资源信息 |
parameters | 对象 | 服务绑定的配置信息 |
通常情况下,常用的绑定服务有几种类型,该类型一般在parmeter中设置:
类型一:生成访问凭证,用户或者应用调用服务时所使用的凭证信息。
类型二:日志输出方式,应用日志流同日志聚集、分析服务进行绑定。
类型三:路由服务,应用同路由转发服务进行绑定,针对一定的请求,执行路由转发。
类型四:存储卷服务,应用绑定存储卷服务后,持久化数据到存储卷服务。
3042.绑定云应用及第一服务标识对应的第一服务实例。
服务代理101在执行3042后,向云应用发送绑定应答。绑定应答包括应答状态及应答消息体,具体的,应答状态如前表5-1所示,应答消息体如前表5-2所示。
表5-1
状态码 | 描述 |
201 Created | 创建成功,消息体参照如下表5-2 |
200 OK | 服务绑定已存在,消息体参照如下表5-2 |
409 Conflict | 绑定已存在,无法新建,消息体为{} |
422 Unprocessable Entity | 应用id缺失 |
表5-2
在某些实施例中,第一服务实例在关联云平台之前,云平台可能关联有其他服务实例,关联的其他服务实例可能与第一服务实例提供相同的服务,例如图2-1所示的第二服务实例,第二服务实例有可能是创建第一服务实例的服务中间件1021创建的,也有可能是除服务中间件1021其他服务中间件1022创建的。云平台关联的其他服务实例也有可能与第一服务实例提供不同的服务,如图2-2所示的第三服务实例,应当理解,第三服务实例应当是与服务中间件1021提供不同服务的服务中间件1023所创建。由此可知,本申请实施例可以通过一服务代理,实现多种服务的接入,灵活扩展。
在某些实施例中,在云平台关联多个提供相同服务的服务实例的前提下,服务标识用于标识服务实例,即使云平台关联多个提供相同服务的服务实例,也可以通过不同的服务标识来标识不同的服务实例。此时,仅通过服务标识,即可以确定对应的服务实例。
在另外某些实施例中,在云平台关联多个提供相同服务的服务实例的前提下,可通过服务实例标识,绑定云应用及服务实例。具体的,以图2-2为例,云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,绑定请求包括第一服务标识和第一服务实例标识,在这里,第一服务标识用于标识第一服务,第一服务实例标识用于标识提供第一服务的服务实例。则前述3042具体包括:依据第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定云应用及第一服务实例。
在某些实施例中,为解绑第一服务实例与安装在云平台中的云应用,实现为云应用解除提供第一服务,服务接入方法还包括3051、3052。
3051.接收云应用的解绑请求,云应用安装于云平台中,解绑请求包括第一服务标识,或解绑请求包括第一服务标识和第一服务实例标识。
具体的,绑定请求的消息体如前表6所示。
表6
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
3052.依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除云应用及第一服务实例的绑定。
服务代理101在执行3052后,向云应用发送解绑应答。解绑应答包括应答状态及应答消息体,具体的,应答状态如前表7所示,应答消息体为{}。
表7
状态码 | 描述 |
200 OK | 解绑定成功 |
410 Gone | 绑定不存在 |
在某些实施例中,为删除第一服务实例,不再为云平台提供第一服务,在关联第一服务实例与云平台后,方法还包括3061、3062。
3061.接收第一删除请求,第一删除请求包括第一服务标识(如表8中的服务ID)、或包括第一服务标识和第一服务实例标识。
具体的,绑定请求的消息体如前表8所示。
表8
请求内容 | 类型 | 描述 |
service_id | 字符串 | 服务ID |
plan_id | 字符串 | 服务计划ID |
accepts_incomplete | 布尔型 | 异步应答支持冲突 |
3062.依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,发送第二删除请求,第二删除请求包括第一服务实例标识,且第二删除请求用于指示删除第一服务实例标识对应的第一服务实例。
具体的,服务代理依据第一服务标识、或依据第一服务标识和第一服务实例标识,确定对应的第一服务实例,向服务中间件发送第二删除请求,第二删除请求包括第一服务实例标识。
服务中间件响应第二删除请求,删除第一服务实例标识对应的第一服务实例。
服务中间件在删除第一服务实例后,向云服务代理发送删除应答,服务代理再向云平台发送删除应答。删除应答包括应答状态及应答消息体,具体的,应答状态如前表9-1所示,应答消息体如前表9-2所示。
表9-1
状态码 | 描述 |
200 OK | 删除成功,消息体参照如下 |
202 Accepted | 删除动作执行,结果异步返回 |
410 Gone | 服务实例不存在 |
422 Unprocessable Entity | 异步应答支持冲突 |
表9-2
应答内容 | 类型 | 描述 |
operation | 字符串 | 异步应答返回状态信息 |
通过上述实施例的描述,本申请实施例提供的方案能够利用容器技术,实现服务接入云平台、服务绑定云应用、解除服务与云应用的绑定、删除云平台接入的服务,从而能够灵活实现服务与云平台的对接,将业务流程迁移到接入的服务上,最终实现灵活扩展、降低成本和增加资源利用效率的效果,实现更高效地对接新技术、承载新系统。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.一种服务代理系统,其特征在于,包括:服务代理以及提供第一服务的服务中间件,其中,
所述服务代理,用于向云平台发送是否支持接入所述第一服务的询问消息,并在所述云平台返回支持接入所述第一服务的响应消息时,向所述服务中间件发送创建请求,所述创建请求包括所述第一服务标识;
所述服务中间件,用于响应所述创建请求,创建所述第一服务标识对应的第一服务实例;
所述服务代理,还用于关联所述第一服务实例与所述云平台,以为所述云平台提供所述第一服务。
2.根据权利要求1所述的系统,其特征在于,所述服务代理,包括:
接收单元,用于接收云应用的绑定请求,所述云应用安装于所述云平台中,所述绑定请求包括第一服务标识;
绑定单元,用于绑定所述云应用及所述第一服务标识对应的第一服务实例。
3.根据权利要求2所述的系统,其特征在于,所述云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,所述绑定请求还包括第一服务实例标识,则
所述绑定单元,用于依据所述第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定所述云应用及所述第一服务实例。
4.根据权利要求1所述的系统,其特征在于,所述服务代理,包括:
接收单元,用于接收云应用的解绑请求,所述云应用安装于所述云平台中,所述解绑请求包括第一服务标识,或所述解绑请求包括第一服务标识和第一服务实例标识;
解绑单元,用于依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除所述云应用及所述第一服务实例的绑定。
5.根据权利要求1-4任一所述的系统,其特征在于,
所述服务代理,包括:
接收单元,用于接收第一删除请求,所述第一删除请求包括第一服务标识、或包括第一服务标识和第一服务实例标识;
发送单元,用于依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,向所述服务中间件发送第二删除请求,所述第二删除请求包括所述第一服务实例标识;
所述服务中间件,还用于响应所述第二删除请求,删除所述第一服务实例标识对应的所述第一服务实例。
6.一种服务接入方法,其特征在于,应用于服务代理,所述方法包括:
向云平台发送是否支持接入所述第一服务的询问消息;
在所述云平台返回支持接入所述第一服务的响应消息时,传输创建请求,所述创建请求包括所述第一服务标识,且所述创建请求用于指示创建所述第一服务标识对应的第一服务实例;
关联所述第一服务实例与所述云平台,以为所述云平台提供所述第一服务。
7.根据权利要求6所述的方法,其特征在于,在所述关联所述第一服务实例与所述云平台后,所述方法还包括:
接收云应用的绑定请求,所述云应用安装于所述云平台中,所述绑定请求包括第一服务标识;
绑定所述云应用及所述第一服务标识对应的第一服务实例。
8.根据权利要求7所述的方法,其特征在于,所述云平台关联的用于提供第一服务的实例包括第一服务实例、一个或多个第二服务实例,所述绑定请求还包括第一服务实例标识,则
所述绑定所述云应用及所述第一服务标识对应的第一服务实例,包括:依据所述第一服务标识、第一服务实例标识确定对应的第一服务实例,并绑定所述云应用及所述第一服务实例。
9.根据权利要求6所述的方法,其特征在于,还包括:
接收云应用的解绑请求,所述云应用安装于所述云平台中,所述解绑请求包括第一服务标识,或所述解绑请求包括第一服务标识和第一服务实例标识;
依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,解除所述云应用及所述第一服务实例的绑定。
10.根据权利要求6-9任一所述的方法,其特征在于,在所述关联所述第一服务实例与所述云平台后,所述方法还包括:
接收第一删除请求,所述第一删除请求包括第一服务标识、或包括第一服务标识和第一服务实例标识;
依据所述第一服务标识、或依据所述第一服务标识和第一服务实例标识,确定对应的第一服务实例,发送第二删除请求,所述第二删除请求包括所述第一服务实例标识,且所述第二删除请求用于指示删除所述第一服务实例标识对应的所述第一服务实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911316554.1A CN111262904B (zh) | 2019-12-19 | 2019-12-19 | 服务代理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911316554.1A CN111262904B (zh) | 2019-12-19 | 2019-12-19 | 服务代理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111262904A true CN111262904A (zh) | 2020-06-09 |
CN111262904B CN111262904B (zh) | 2022-05-20 |
Family
ID=70953921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911316554.1A Active CN111262904B (zh) | 2019-12-19 | 2019-12-19 | 服务代理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111262904B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778698A (zh) * | 2020-06-17 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 服务器通信方法及装置、存储介质及设备 |
CN113824795A (zh) * | 2021-10-21 | 2021-12-21 | 上海波顿诺华智能科技有限公司 | 车端与云端的通信方法、装置、系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819588A (zh) * | 2006-03-07 | 2006-08-16 | 上海科泰世纪科技有限公司 | 基于中间件平台提供网络服务的方法 |
US8127305B1 (en) * | 2008-06-16 | 2012-02-28 | Sprint Communications Company L.P. | Rerouting messages to parallel queue instances |
CN105357045A (zh) * | 2015-11-20 | 2016-02-24 | 曙光云计算技术有限公司 | 一种云平台服务创建方法及装置 |
CN106059777A (zh) * | 2016-08-23 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种云平台的可信中间件设计方法 |
-
2019
- 2019-12-19 CN CN201911316554.1A patent/CN111262904B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819588A (zh) * | 2006-03-07 | 2006-08-16 | 上海科泰世纪科技有限公司 | 基于中间件平台提供网络服务的方法 |
US8127305B1 (en) * | 2008-06-16 | 2012-02-28 | Sprint Communications Company L.P. | Rerouting messages to parallel queue instances |
CN105357045A (zh) * | 2015-11-20 | 2016-02-24 | 曙光云计算技术有限公司 | 一种云平台服务创建方法及装置 |
CN106059777A (zh) * | 2016-08-23 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种云平台的可信中间件设计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778698A (zh) * | 2020-06-17 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 服务器通信方法及装置、存储介质及设备 |
CN113824795A (zh) * | 2021-10-21 | 2021-12-21 | 上海波顿诺华智能科技有限公司 | 车端与云端的通信方法、装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111262904B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6862593B2 (en) | Separation of database transactions | |
CN106503058B (zh) | 一种数据加载方法、终端和计算集群 | |
KR101497167B1 (ko) | 분산 운영 시스템에서의 외부 하드웨어 기기의 관리 | |
US20110282940A1 (en) | Cloud-based web workers and storages | |
US20090327460A1 (en) | Application Request Routing and Load Balancing | |
CN102843426B (zh) | 基于智能父节点的Web缓存资源共享系统和方法 | |
US20080294748A1 (en) | Proxy between network file system version three and network file system version four protocol | |
CN111262904B (zh) | 服务代理系统及方法 | |
CN107135242B (zh) | Mongodb集群访问方法、装置及系统 | |
CN111124299A (zh) | 数据存储管理方法、装置、设备、系统及存储介质 | |
CN114281263B (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN109753244A (zh) | 一种Redis集群的应用方法 | |
US11853806B2 (en) | Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store | |
CN111694639B (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN114036031B (zh) | 一种企业数字中台中资源服务应用的调度系统和方法 | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
US10313450B2 (en) | Method for transparently connecting augmented network socket operations | |
CN113992657A (zh) | 一种基于云平台的共享存储的搭建方法、设备及介质 | |
US9130994B1 (en) | Techniques for avoiding dynamic domain name system (DNS) collisions | |
JP2012522318A (ja) | スマートルーティング | |
CN112804366B (zh) | 用于解析域名的方法和装置 | |
US9537941B2 (en) | Method and system for verifying quality of server | |
US9256648B2 (en) | Data handling in a cloud computing environment | |
US8924963B2 (en) | In-process intermediary to create virtual processes | |
US20190272259A1 (en) | File system with distributed entity state |
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 |