CN114760360A - 请求响应方法、装置、电子设备及计算机可读存储介质 - Google Patents
请求响应方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114760360A CN114760360A CN202011596283.2A CN202011596283A CN114760360A CN 114760360 A CN114760360 A CN 114760360A CN 202011596283 A CN202011596283 A CN 202011596283A CN 114760360 A CN114760360 A CN 114760360A
- Authority
- CN
- China
- Prior art keywords
- service
- gateway
- cluster
- service cluster
- remote procedure
- 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
- 238000000034 method Methods 0.000 title claims abstract description 136
- 230000004044 response Effects 0.000 title claims abstract description 76
- 238000004891 communication Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 230000006855 networking Effects 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种请求响应方法,应用于接入网关,接入网关用于处理访问设备接入第一服务集群的事务,该方法包括:获取来自访问设备的远程过程调用请求,其中,远程过程调用请求用于请求目标服务;响应于远程过程调用请求,在目标服务为第二服务集群提供的情况下,在接入网关与第二服务集群的服务网关之间建立通信链路;以及通过通信链路向服务网关传输远程过程调用请求,以便第二服务集群对远程过程调用请求进行响应。本公开还提供了一种请求响应装置、一种电子设备、一种计算机可读存储介质、一种计算机程序产品。
Description
技术领域
本公开涉及计算机技术、互联网技术领域,更具体地,涉及一种请求响应方法、一种请求响应装置、一种电子设备、一种计算机可读存储介质、一种计算机程序产品。
背景技术
随着通信和计算机技术的快速发展,企业能够提供的应用服务越来越多,***规模变得越来越大。在***规模日益增大之后,对网络部署和质量要求比较高,相关技术中出现了多集群的网络部署方案,位于不同区域的多个集群可以提供不同的服务。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:通过远程过程调用请求实现跨集群调用时,需要在中心化的集群上查找服务接入点,继而发起远程过程调用服务,对网络部署和质量要求比较高。
发明内容
有鉴于此,本公开提供了一种请求响应方法、一种请求响应装置、一种电子设备、一种计算机可读存储介质、一种计算机程序产品。
本公开的一个方面提供了一种请求响应方法,应用于接入网关,所述接入网关用于处理访问设备接入第一服务集群的事务,所述方法包括:获取来自所述访问设备的远程过程调用请求,其中,所述远程过程调用请求用于请求目标服务;响应于所述远程过程调用请求,在所述目标服务为第二服务集群提供的情况下,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路;以及通过所述通信链路向所述服务网关传输所述远程过程调用请求,以便所述第二服务集群对所述远程过程调用请求进行响应。
根据本公开的实施例,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路包括:查找所述第二服务集群的服务网关的网络地址;向中继网关发送携带有所述网络地址的链路建立请求,以便所述中继网关将所述链路建立请求发送至所述服务网关;接收来自所述中继网关的链路建立响应,其中,所述链路建立响应是由所述服务网关向所述中继网关发送的;基于所述链路建立响应在所述接入网关与所述服务网关之间建立通信链路。
根据本公开的实施例,上述方法还包括:对所述远程过程调用请求进行解析;以及在解析得到所述远程过程调用请求中携带有所述第二服务集群的标识信息的情况下,确定所述目标服务为所述第二服务集群提供。
根据本公开的实施例,上述方法还包括:从服务列表中确定用于提供所述目标服务的服务集群,其中,所述服务列表中包括不同服务与服务集群之间的映射关系。
根据本公开的实施例,上述方法还包括:加载所述第一服务集群的服务列表,其中,所述服务列表中包括所述第一服务集群的标识信息和所述第一服务集群所能提供的服务;向所述第二服务集群的服务网关同步所述第一服务集群的服务列表。
根据本公开的实施例,上述方法还包括:接收来自所述第二服务集群的服务列表,其中,所述第二服务集群的服务列表中包括所述第二服务集群的标识信息和所述第二服务集群所能提供的服务。
根据本公开的实施例,上述方法还包括:在多个服务集群之间进行组网,其中,所述多个服务集群包括所述第一服务集群和所述第二服务集群;根据所述第一服务集群的接入网关内部配置的上一级网关的路由信息,向所述上一级网关发送所述接入网关的路由信息,以便所述上一级网关根据所述接入网关的路由信息和所述上一级网关自身的路由信息进行路由学习。
本公开的另一方面提供了一种请求响应装置,应用于接入网关,所述接入网关用于处理访问设备接入第一服务集群的事务,所述请求响应装置包括:获取模块、响应模块和传输模块。
获取模块,用于获取来自所述访问设备的远程过程调用请求,其中,所述远程过程调用请求用于请求目标服务。
响应模块,用于响应于所述远程过程调用请求,在所述目标服务为第二服务集群提供的情况下,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路。
传输模块,用于通过所述通信链路向所述服务网关传输所述远程过程调用请求,以便所述第二服务集群对所述远程过程调用请求进行响应。
根据本公开的实施例,所述响应模块包括:查找单元、发送单元、接收单元和建立单元。
查找单元,用于查找所述第二服务集群的服务网关的网络地址。
发送单元,用于向中继网关发送携带有所述网络地址的链路建立请求,以便所述中继网关将所述链路建立请求发送至所述服务网关。
接收单元,用于接收来自所述中继网关的链路建立响应,其中,所述链路建立响应是由所述服务网关向所述中继网关发送的;
建立单元,用于基于所述链路建立响应在所述接入网关与所述服务网关之间建立通信链路。
根据本公开的实施例,请求响应装置还包括:解析模块和第一确定模块。
解析模块,用于对所述远程过程调用请求进行解析。
第一确定模块,用于在解析得到所述远程过程调用请求中携带有所述第二服务集群的标识信息的情况下,确定所述目标服务为所述第二服务集群提供。
根据本公开的实施例,请求响应装置还包括:第二确定模块,用于从服务列表中确定用于提供所述目标服务的服务集群,其中,所述服务列表中包括不同服务与服务集群之间的映射关系。
根据本公开的实施例,请求响应装置还包括:加载模块和同步模块。
加载模块,用于加载所述第一服务集群的服务列表,其中,所述服务列表中包括所述第一服务集群的标识信息和所述第一服务集群所能提供的服务。
同步模块,用于向所述第二服务集群的服务网关同步所述第一服务集群的服务列表。
根据本公开的实施例,请求响应装置还包括:接收模块,用于接收来自所述第二服务集群的服务列表,其中,所述第二服务集群的服务列表中包括所述第二服务集群的标识信息和所述第二服务集群所能提供的服务。
根据本公开的实施例,请求响应装置还包括:组网模块和发送模块。
组网模块,用于在多个服务集群之间进行组网,其中,所述多个服务集群包括所述第一服务集群和所述第二服务集群。
发送模块,用于根据所述第一服务集群的接入网关内部配置的上一级网关的路由信息,向所述上一级网关发送所述接入网关的路由信息,以便所述上一级网关根据所述接入网关的路由信息和所述上一级网关自身的路由信息进行路由学习。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,基于接入网关对远程过程调用请求进行响应,利用第一服务集群的接入网关与第二服务集群的服务网关之间的通信链路实现跨集群调用,由于每个服务集群都可以包括各自的接入网关,每个接入网关都可以处理访问设备的接入事务,远程过程调用请求的应用层无需感知服务部署的集群节点的差异,解决了相关技术中传统的远程过程调用请求跨集群调用需要在一个中心化的集群上查找服务接入点的技术问题,达到了去中心化响应的技术效果,降低了网络部署和质量要求。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用请求响应方法及装置的示例性***架构;
图2示意性示出了根据本公开实施例的请求响应方法的流程图;
图3示意性示出了根据本公开实施例的在接入网关与服务网关之间建立通信链路的流程图;
图4示意性示出了根据本公开实施例的多级网关的示意图;
图5示意性示出了根据本公开实施例的集群服务同步的流程图;
图6示意性示出了根据本公开实施例的请求响应装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在实现本公开的过程中发现,不同区域的多个集群之间可以通过中心化的网关节点实现跨集群请求服务,但通过中心化的网关节点实现跨集群请求服务需要在该中心化的网关节点手动部署多个集群的服务信息,导致网关节点的业务代码存在较大的侵入性,而且对网络部署和质量要求比较高。
RPC(Remote Procedure Call Protocol,远程过程调用协议),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC请求从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。传统的RPC请求调用一般是在单个集群内部进行,对来自于多个不同区域上的集群上的服务,RPC请求调用能力较差。在解决跨集群RPC调用的时候,需要RPC客户端先感知到网络部署的差异,针对跨网关调用,分别用不同的私有化实现方式来单独处理。因此服务部署差异会导致业务代码很大的侵入性。
本公开的实施例提供了一种请求响应方法及装置,应用于接入网关,接入网关用于处理访问设备接入第一服务集群的事务,该方法包括:获取来自访问设备的远程过程调用请求,其中,远程过程调用请求用于请求目标服务;响应于远程过程调用请求,在目标服务为第二服务集群提供的情况下,在接入网关与第二服务集群的服务网关之间建立通信链路;以及通过通信链路向服务网关传输远程过程调用请求,以便第二服务集群对远程过程调用请求进行响应。
图1示意性示出了根据本公开实施例的可以应用请求响应方法及装置的示例性***架构。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括访问设备110、第一服务集群120、第二服务集群130和第三服务集群140。第一服务集群120中包括接入网关121和服务节点122。第二服务集群130中包括接入网关131和服务节点132。第三服务集群140中包括接入网关141和服务节点142。
在访问设备110、第一服务集群120、第二服务集群130和第三服务集群140之间,基于接入网关121、接入网关131和接入网关141通信。访问设备110、接入网关121、接入网关131和接入网关141之间提供有通信链路的网络介质。该提供通信链路的网络介质可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用访问设备110通过网络介质向接入网关121、接入网关131和接入网关141中的任意一个发送请求。访问设备110可以通过路由策略确定与其相匹配的的接入网关,在确定好访问设备110的接入网关之后,其他服务集群的接入网关实际上变为服务网关。例如,访问设备110的接入网关为第一服务集群120中的接入网关121,此时,第二服务集群130中的接入网关131,以及第三服务集群140中的接入网关141变成访问设备110的服务网关。
由于每个服务集群都可以包括各自的接入网关,每个接入网关都可以处理访问设备的接入事务,远程过程调用请求的应用层无需感知服务部署的集群节点的差异,达到了去中心化响应的技术效果,降低了网络部署和质量要求。
访问设备110可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。访问设备110上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
服务节点122、服务节点132和服务节点142可以是提供各种服务的服务器,例如对用户利用访问设备110所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给访问设备110。
需要说明的是,本公开实施例所提供的请求响应方法一般可以由接入网关121、接入网关131和接入网关141中的任意一个执行。相应地,本公开实施例所提供的请求响应装置一般可以设置于接入网关121、接入网关131和接入网关141中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的请求响应方法的流程图。
该请求响应方法应用于接入网关,接入网关用于处理访问设备接入第一服务集群的事务,如图2所示,该方法包括操作S201~S203。
在操作S201,获取来自访问设备的远程过程调用请求,其中,远程过程调用请求用于请求目标服务。
在操作S202,响应于远程过程调用请求,在目标服务为第二服务集群提供的情况下,在接入网关与第二服务集群的服务网关之间建立通信链路。
在操作S203,通过通信链路向服务网关传输远程过程调用请求,以便第二服务集群对远程过程调用请求进行响应。
根据本公开的实施例,目标服务根据访问设备发起的远程过程调用请求进行确定。用户可以在访问设备上输入需要请求的服务。
根据本公开的实施例,响应于远程过程调用请求,在目标服务为第一服务集群提供的情况下,可以由接入网关将该远程过程调用请求发送至第一服务集群的服务节点进行响应。
根据本公开的实施例,第一服务集群和第二服务集群可以是分布式集群,可以被部署在不同的区域。
根据本公开的实施例,第一服务集群和第二服务集群可以是具有上下级关系的服务集群,例如,第一服务集群为某企业总公司内部设置的服务集群,第二服务集群为该企业下属的分公司内部设置的服务集群。
根据本公开的实施例,需要说明的是,虽然上述只说明了目标服务可以为第二服务集群提供的服务,但本领域技术人员可以理解,目标服务也可以为第三服务集群、第四服务集群或第五服务集群提供的服务。本公开的实施例在操作S202中的描述仅仅是为了表达在远程过程调用请求是用于请求跨集群的目标服务的情况,而不应当对本公开的保护范围造成不当的限定。
根据本公开的实施例,接入网关与服务网关之间的通信链路相当于在访问设备和服务网关之间建立的一条虚拟专用通信链路,以协议数据流提供的“链路”。其提供类似“TCP”通信的基本功能,其中协议大体分为两层:链路数据可靠性协议以及链路数据处理协议。其中链路数据处理协议可进一步分为控制面和数据面。控制面主要包括连接状态维护报文,包括建立和关闭,异常释放等;数据面主要是相关业务数据。
根据本公开的实施例,由于接入网关与服务网关之间的通信链路相当于在访问设备和服务网关之间建立的一条虚拟专用通信链路,因此,对于上层应用而言,访问客户端应用层无需感知服务部署的集群节点的差异,相当于访问设备和服务网关之间直接进行通信,为上层应用提供了一个统一的RPC调用框架。
根据本公开的实施例,基于接入网关对远程过程调用请求进行响应,利用第一服务集群的接入网关与第二服务集群的服务网关之间的通信链路实现跨集群调用,由于每个服务集群都可以包括各自的接入网关,每个接入网关都可以处理访问设备的接入事务,远程过程调用请求的应用层无需感知服务部署的集群节点的差异,解决了相关技术中传统的远程过程调用请求跨集群调用需要在一个中心化的集群上查找服务接入点的技术问题,达到了去中心化响应的技术效果,降低了网络部署和质量要求。
下面参考图3~图5,结合具体实施例对图2所示的方法做进一步说明。
根据本公开的实施例,在接入网关与第二服务集群的服务网关之间建立通信链路包括:查找第二服务集群的服务网关的网络地址;向中继网关发送携带有网络地址的链路建立请求,以便中继网关将链路建立请求发送至服务网关;接收来自中继网关的链路建立响应,其中,链路建立响应是由服务网关向中继网关发送的;以及基于链路建立响应在接入网关与服务网关之间建立通信链路。
图3示意性示出了根据本公开实施例的在接入网关与服务网关之间建立通信链路的流程图。
如图3所示,在接入网关与服务网关之间建立通信链路包括操作S301~S306。
在操作S301,RPC客户端(即访问设备)建立到目标集群的通信链路的建立请求。目标集群可以是如上所述的第二服务集群。
在操作S302,接入网关进行路由查找集群,找到目标集群的服务网关,并路由查找服务网关。
在操作S303,请求数据包发送给中继网关。
在操作S304,中继网关转发请求数据包至服务网关。根据本公开的实施例,中继网关可以是第一服务集群中网关,由于远程过程调用请求的数据不在第一服务集群处理,中继网关可以作为数据转发网关。
在操作S305,服务网关进行通信链路建立处理,并向中继网关返回响应报文,即链路建立响应。
在操作S306,中继网关按照原路由路径以数据包的方式返回链路建立响应,使得接入网关可以基于链路建立响应在接入网关与服务网关之间建立通信链路。
根据本公开的实施例,在建立好通信链路之后,可以在RPC客户端与RPC服务端之间进行远程服务调用。
根据本公开的实施例,在响应远程过程调用请求时,可以确定该远程过程调用请求的目标服务是由哪个服务集群提供的。
根据本公开的实施例,可以对远程过程调用请求进行解析;在解析得到远程过程调用请求中携带有第二服务集群的标识信息的情况下,确定目标服务为第二服务集群提供。
根据本公开的实施例,也可以从服务列表中确定用于提供目标服务的服务集群,其中,服务列表中包括不同服务与服务集群之间的映射关系。例如,服务列表中包括服务1由第一服务集群提供,服务2由第二服务集群提供,服务3由第三服务集群提供的多条记录。
图4示意性示出了根据本公开实施例的多级网关的示意图。
如图4所示,多级网关包括网关401~405,其中,网关401的上一级网关为网关402,网关402的上一级网关为网关403,网关405的上一级网关为网关404,网关404的上一级网关为网关403。
根据本公开的实施例,在实际企业私有部署中,可以使用如图4所示的多集群树形组织网络结构。对网关的组网需求可以是对多集群树形路由的学习能力。每一个树形上级获得的路由信息通常比下级网关获得的路由信息多。在最顶层的网关403具有全网络路由信息。一旦完成组网后,任意网关之间可以利用通信链路进行通信。
根据本公开的实施例,每个网关可以归属于一个服务集群,在多个网关之间进行组网,也即在多个服务集群之间实现了组网。
根据本公开的实施例,在多个服务集群之间进行组网,其中,多个服务集群包括第一服务集群和第二服务集群;根据第一服务集群的接入网关内部配置的上一级网关的路由信息,向上一级网关发送接入网关的路由信息,以便上一级网关根据接入网关的路由信息和上一级网关自身的路由信息进行路由学习。
根据本公开的实施例,接入网关具有全局网络拓扑的自主学习能力,实现全局网络的自组网。根据本公开的实施例,上一级网关包括但不限于其他服务集群中的服务网关和/或中继网关。根据本公开的实施例,上一级网关也可以包括与接入网关属于相同服务集群的中继网关等。
根据本公开的实施例,服务集群的服务发布依赖于在网关之间具有全局数据同步的能力。对于一个接入网关上发布的数据来说,每项数据可以通过{数据所在网关,数据发布网关,数据自身版本}等信息来进行描述。而服务同步的过程就是在网关每层上下级之间进行数据发送和接收的过程。根据本公开的实施例,可以通过数据版本号约束来进行数据的一致性保证。由于集群服务相对来说,变化频率比较低,因此全网一致性扩散的延迟可以忽略。
根据本公开的实施例,接入网关可以加载第一服务集群的服务列表,其中,服务列表中包括第一服务集群的标识信息和第一服务集群所能提供的服务;然后向第二服务集群的服务网关同步第一服务集群的服务列表。
根据本公开的实施例,接入网关还可以接收来自第二服务集群的服务列表,其中,第二服务集群的服务列表中包括第二服务集群的标识信息和第二服务集群所能提供的服务。
根据本公开的实施例,在有全局网络的服务集群同步信息的基础上,通过接入网关与服务网关之间的通信链路就可以实现任意集群的寻址,进而通过网关对通信链路的数据转发能力而实现RPC数据在全网下的传输。对业务层来说,可以实现全局网络下的任意RPC调用。
图5示意性示出了根据本公开实施例的集群服务同步的流程图。
如图5所示,集群服务同步方法包括操作S501~S506。
在操作S501,接入网关加载集群自身的服务列表。
在操作S502,判断集群自身的服务列表是否有变化,若有,执行操作S503进行同步操作,否则,不执行同步操作。根据本公开的实施例,可以将集群自身的服务列表与同步库中的服务列表进行比较,如果相同,则说明没有变化,如果不同,则说明发生了变化。同步库中包括不同集群的服务列表、同步时间、数据版本号等信息。
在操作S503,向上一级网关发送同步信息。
在操作S504,上一级网关可以根据同步信息更新本地服务列表。
在操作S505,在上一级网关确定自身所在的服务集群的服务列表发生了变化的情况下,可以将上一级网关所在的服务集群的服务列表作为同步信息发送给接入网关。
在操作S506,接入网关根据同步信息更新变化的服务列表。
根据本公开的实施例,通过服务集群的网关自组网技术以及服务集群的同步技术可以实现在整个组网空间上的任意跨集群的RPC调用。
图6示意性示出了根据本公开实施例的请求响应装置的框图。
请求响应装置应用于接入网关,接入网关用于处理访问设备接入第一服务集群的事务,如图6所示,请求响应装置600包括:获取模块610、响应模块620和传输模块630。
获取模块610,用于获取来自访问设备的远程过程调用请求,其中,远程过程调用请求用于请求目标服务。
响应模块620,用于响应于远程过程调用请求,在目标服务为第二服务集群提供的情况下,在接入网关与第二服务集群的服务网关之间建立通信链路。
传输模块630,用于通过通信链路向服务网关传输远程过程调用请求,以便第二服务集群对远程过程调用请求进行响应。
根据本公开的实施例,响应模块包括:查找单元、发送单元、接收单元和建立单元。
查找单元,用于查找第二服务集群的服务网关的网络地址。
发送单元,用于向中继网关发送携带有网络地址的链路建立请求,以便中继网关将链路建立请求发送至服务网关。
接收单元,用于接收来自中继网关的链路建立响应,其中,链路建立响应是由服务网关向中继网关发送的。
建立单元,用于基于链路建立响应在所述接入网关与服务网关之间建立通信链路。
根据本公开的实施例,请求响应装置600还包括:解析模块和第一确定模块。
解析模块,用于对远程过程调用请求进行解析。
第一确定模块,用于在解析得到远程过程调用请求中携带有第二服务集群的标识信息的情况下,确定目标服务为第二服务集群提供。
根据本公开的实施例,请求响应装置600还包括:第二确定模块,用于从服务列表中确定用于提供目标服务的服务集群,其中,服务列表中包括不同服务与服务集群之间的映射关系。
根据本公开的实施例,请求响应装置600还包括:加载模块和同步模块。
加载模块,用于加载第一服务集群的服务列表,其中,服务列表中包括第一服务集群的标识信息和第一服务集群所能提供的服务。
同步模块,用于向第二服务集群的服务网关同步第一服务集群的服务列表。
根据本公开的实施例,请求响应装置600还包括:接收模块,用于接收来自第二服务集群的服务列表,其中,第二服务集群的服务列表中包括第二服务集群的标识信息和第二服务集群所能提供的服务。
根据本公开的实施例,请求响应装置600还包括:组网模块和发送模块。
组网模块,用于在多个服务集群之间进行组网,其中,多个服务集群包括第一服务集群和第二服务集群。
发送模块,用于根据所述第一服务集群的接入网关内部配置的上一级网关的路由信息,向所述上一级网关发送所述接入网关的路由信息,以便所述上一级网关根据所述接入网关的路由信息和所述上一级网关自身的路由信息进行路由学习。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块610、响应模块620和传输模块630中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块610、响应模块620和传输模块630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块610、响应模块620和传输模块630中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中请求响应装置部分与本公开的实施例中请求响应方法部分是相对应的,请求响应装置部分的描述具体参考请求响应方法部分,在此不再赘述。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。电子设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种请求响应方法,应用于接入网关,所述接入网关用于处理访问设备接入第一服务集群的事务,所述方法包括:
获取来自所述访问设备的远程过程调用请求,其中,所述远程过程调用请求用于请求目标服务;
响应于所述远程过程调用请求,在所述目标服务为第二服务集群提供的情况下,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路;以及
通过所述通信链路向所述服务网关传输所述远程过程调用请求,以便所述第二服务集群对所述远程过程调用请求进行响应。
2.根据权利要求1所述的方法,其中,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路包括:
查找所述第二服务集群的服务网关的网络地址;
向中继网关发送携带有所述网络地址的链路建立请求,以便所述中继网关将所述链路建立请求发送至所述服务网关;
接收来自所述中继网关的链路建立响应,其中,所述链路建立响应是由所述服务网关向所述中继网关发送的;以及
基于所述链路建立响应在所述接入网关与所述服务网关之间建立通信链路。
3.根据权利要求1所述的方法,还包括:
对所述远程过程调用请求进行解析;以及
在解析得到所述远程过程调用请求中携带有所述第二服务集群的标识信息的情况下,确定所述目标服务为所述第二服务集群提供。
4.根据权利要求1所述的方法,还包括:
从服务列表中确定用于提供所述目标服务的服务集群,其中,所述服务列表中包括不同服务与服务集群之间的映射关系。
5.根据权利要求1所述的方法,还包括:
加载所述第一服务集群的服务列表,其中,所述服务列表中包括所述第一服务集群的标识信息和所述第一服务集群所能提供的服务;
向所述第二服务集群的服务网关同步所述第一服务集群的服务列表。
6.根据权利要求5所述的方法,还包括:
接收来自所述第二服务集群的服务列表,其中,所述第二服务集群的服务列表中包括所述第二服务集群的标识信息和所述第二服务集群所能提供的服务。
7.根据权利要求1所述的方法,还包括:
在多个服务集群之间进行组网,其中,所述多个服务集群包括所述第一服务集群和所述第二服务集群;
根据所述第一服务集群的接入网关内部配置的上一级网关的路由信息,向所述上一级网关发送所述接入网关的路由信息,以便所述上一级网关根据所述接入网关的路由信息和所述上一级网关自身的路由信息进行路由学习。
8.一种请求响应装置,应用于接入网关,所述接入网关用于处理访问设备接入第一服务集群的事务,所述装置包括:
获取模块,用于获取来自所述访问设备的远程过程调用请求,其中,所述远程过程调用请求用于请求目标服务;
响应模块,用于响应于所述远程过程调用请求,在所述目标服务为第二服务集群提供的情况下,在所述接入网关与所述第二服务集群的服务网关之间建立通信链路;以及
传输模块,用于通过所述通信链路向所述服务网关传输所述远程过程调用请求,以便所述第二服务集群对所述远程过程调用请求进行响应。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596283.2A CN114760360B (zh) | 2020-12-29 | 2020-12-29 | 请求响应方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596283.2A CN114760360B (zh) | 2020-12-29 | 2020-12-29 | 请求响应方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760360A true CN114760360A (zh) | 2022-07-15 |
CN114760360B CN114760360B (zh) | 2023-12-22 |
Family
ID=82324513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596283.2A Active CN114760360B (zh) | 2020-12-29 | 2020-12-29 | 请求响应方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760360B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174687A (zh) * | 2022-07-21 | 2022-10-11 | 亚信科技(中国)有限公司 | 服务调用方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090268715A1 (en) * | 2008-04-24 | 2009-10-29 | Oracle International Corporation | System and Method for Providing Service Correlation in a Service Access Gateway Environment |
US20120254391A1 (en) * | 2011-04-04 | 2012-10-04 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US20140169268A1 (en) * | 2012-12-13 | 2014-06-19 | Alcatel-Lucent Usa, Inc. | Architecture for cellular networks |
US8868757B1 (en) * | 2006-05-24 | 2014-10-21 | Avaya Inc. | Two-way web service router gateway |
US20170034310A1 (en) * | 2015-07-29 | 2017-02-02 | Netapp Inc. | Remote procedure call management |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输***、方法、装置及存储介质 |
CN108289060A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种基于rpc服务的数据处理方法以及装置 |
US10121020B1 (en) * | 2018-01-19 | 2018-11-06 | Capital One Services, Llc | Systems and methods of providing access to secure data |
CN110365663A (zh) * | 2019-06-28 | 2019-10-22 | 北京淇瑀信息科技有限公司 | 一种隔离集群之间的访问方法、装置及电子设备 |
CN110430275A (zh) * | 2019-08-09 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法、装置、***、计算设备以及介质 |
CN110740162A (zh) * | 2019-08-30 | 2020-01-31 | 上海连尚网络科技有限公司 | 通信链路建立方法、装置、电子设备及介质 |
CN110784489A (zh) * | 2019-11-12 | 2020-02-11 | 北京风信科技有限公司 | 安全通信***及其方法 |
CN111478771A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 微服务间安全访问的方法、微服务*** |
US20200259795A1 (en) * | 2019-02-08 | 2020-08-13 | ColorTokens, Inc. | Automatic vpn establishment with split tunnel for remote resources |
-
2020
- 2020-12-29 CN CN202011596283.2A patent/CN114760360B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868757B1 (en) * | 2006-05-24 | 2014-10-21 | Avaya Inc. | Two-way web service router gateway |
US20090268715A1 (en) * | 2008-04-24 | 2009-10-29 | Oracle International Corporation | System and Method for Providing Service Correlation in a Service Access Gateway Environment |
US20120254391A1 (en) * | 2011-04-04 | 2012-10-04 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US20140169268A1 (en) * | 2012-12-13 | 2014-06-19 | Alcatel-Lucent Usa, Inc. | Architecture for cellular networks |
US20170034310A1 (en) * | 2015-07-29 | 2017-02-02 | Netapp Inc. | Remote procedure call management |
CN108289060A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种基于rpc服务的数据处理方法以及装置 |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输***、方法、装置及存储介质 |
US10121020B1 (en) * | 2018-01-19 | 2018-11-06 | Capital One Services, Llc | Systems and methods of providing access to secure data |
US20200259795A1 (en) * | 2019-02-08 | 2020-08-13 | ColorTokens, Inc. | Automatic vpn establishment with split tunnel for remote resources |
CN110365663A (zh) * | 2019-06-28 | 2019-10-22 | 北京淇瑀信息科技有限公司 | 一种隔离集群之间的访问方法、装置及电子设备 |
CN110430275A (zh) * | 2019-08-09 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法、装置、***、计算设备以及介质 |
CN110740162A (zh) * | 2019-08-30 | 2020-01-31 | 上海连尚网络科技有限公司 | 通信链路建立方法、装置、电子设备及介质 |
CN110784489A (zh) * | 2019-11-12 | 2020-02-11 | 北京风信科技有限公司 | 安全通信***及其方法 |
CN111478771A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 微服务间安全访问的方法、微服务*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174687A (zh) * | 2022-07-21 | 2022-10-11 | 亚信科技(中国)有限公司 | 服务调用方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114760360B (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601947B2 (en) | Application service delivery through an application service avatar | |
CN104219127B (zh) | 一种虚拟网络实例的创建方法以及设备 | |
US10715388B2 (en) | Using a container orchestration service for dynamic routing | |
US11818209B2 (en) | State management and object storage in a distributed cloud computing network | |
CN109783151B (zh) | 规则变更的方法和装置 | |
US20180139273A1 (en) | Entity based routing | |
CN114172966A (zh) | 单元化架构下的服务调用方法、服务处理方法及装置 | |
CN111884844A (zh) | 基于zookeeper的消息服务接入方法和设备 | |
US11418618B2 (en) | Eco: edge-cloud optimization of 5G applications | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN112565340B (zh) | 分布式应用的服务调度方法、装置、计算机***及介质 | |
CN114760360B (zh) | 请求响应方法、装置、电子设备及计算机可读存储介质 | |
US20200304422A1 (en) | Management of services in an edge computing system | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
CN116599855A (zh) | 数据传输方法、***、电子设备及存储介质 | |
US10231269B2 (en) | Dynamic generation of geographically bound manet IDs | |
CN110247847B (zh) | 节点之间回源选路的方法和装置 | |
US10958580B2 (en) | System and method of performing load balancing over an overlay network | |
US11032389B1 (en) | Applying application-based policy rules using a programmable application cache | |
CN116319322B (zh) | 电力设备节点通信连接方法、装置、设备和计算机介质 | |
CN111314457B (zh) | 设置虚拟私有云的方法和装置 | |
US11507433B2 (en) | Infrastructure load balancing using software-defined networking controllers | |
CN116938757A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
CN112365320A (zh) | 产品信息处理方法、装置、电子设备及存储介质 | |
CN117336208A (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 | ||
CB02 | Change of applicant information |
Address after: 100044 2nd floor, building 1, yard 26, Xizhimenwai South Road, Xicheng District, Beijing Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Applicant after: QAX Technology Group Inc. Address before: 100097 No. 202, 203, 205, 206, 207, 208, 2nd floor, block D, No. 51, Kunming Hunan Road, Haidian District, Beijing Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. Applicant before: QAX Technology Group Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |