CN113452592B - 混合云架构下的跨云数据访问方法及装置 - Google Patents
混合云架构下的跨云数据访问方法及装置 Download PDFInfo
- Publication number
- CN113452592B CN113452592B CN202110641420.8A CN202110641420A CN113452592B CN 113452592 B CN113452592 B CN 113452592B CN 202110641420 A CN202110641420 A CN 202110641420A CN 113452592 B CN113452592 B CN 113452592B
- Authority
- CN
- China
- Prior art keywords
- connection
- proxy
- node
- client
- target
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书一个或多个实施例提供一种混合云架构下的跨云数据访问方法及装置。混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有混合云的主控节点,主控节点上维护有主控连接映射表,主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述方法应用于主控节点,包括:当基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
Description
技术领域
本说明书一个或多个实施例涉及通信技术领域,尤其涉及一种混合云架构下的跨云数据访问方法及装置。
背景技术
随着互联网规模的不断拓展,能够高效利用计算和存储资源的云技术得到越来越广泛的使用。其中,混合云由公有云和/或私有云共同构成的,但由于不同云之间彼此并不相通,如何为混合云打通互联网络,实现混合云架构下的跨云数据访问成为亟待解决的技术问题。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种混合云架构下的跨云数据访问方法及装置。
为实现上述目的,本说明书一个或多个实施例提供的技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种混合云架构下的跨云数据访问方法,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有所述混合云的主控节点,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述方法应用于所述主控节点,包括:
当基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;
基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
根据本说明书一个或多个实施例的第二方面,提出了一种混合云架构下的跨云数据访问方法,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系,公网中预先配置有所述混合云的主控节点,所述方法应用于所述代理节点,包括:
当基于代理连接接收到主控节点转发的来自客户端的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接;
基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内的目标数据库。
根据本说明书一个或多个实施例的第三方面,提出了一种混合云架构下的跨云数据访问装置,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有所述混合云的主控节点,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述装置应用于所述主控节点,包括:
第一连接查找单元,在基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;
第一访问转发单元,基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
根据本说明书一个或多个实施例的第四方面,提出了一种混合云架构下的跨云数据访问装置,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系,公网中预先配置有所述混合云的主控节点,所述装置应用于所述代理节点,包括:
第二连接查找单元,在基于代理连接接收到主控节点转发的来自客户端的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接;
第二访问转发单元,基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内的目标数据库。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括处理器,以及用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现上述第一、第二方面所述混合云架构下的跨云数据访问方法中的任一步骤。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述第一、第二方面所述混合云架构下的跨云数据访问方法中的任一步骤。
由以上描述可以看出,本说明书中,预先在混合云所包括的各云内配置代理节点并在公网中配置主控节点,主控节点上可维护有主控连接映射表,代理节点上可维护有节点连接映射表。基于所述主控连接映射表,主控节点可查找到客户端所要访问的代理服务对应的代理节点,并将客户端的数据访问请求转发至代理节点。基于所述节点连接映射表,代理节点可将接收到的数据访问请求转发至云内的目标数据库。从而实现跨云数据访问。
本说明书提出的混合云架构下的跨云数据访问方案,一方面,所述代理节点、主控节点均可以配置在原有的网络设备上,无需引进新的网络设备,也没有额外的配置要求,成本和门槛都较低;另一方面,从安全角度来说,客户端基于代理服务进行数据访问,每次只能得到混合云中某一云内的某一特定数据库的访问权限而非全部访问权限,细化了安全粒度,提高了混合云架构下进行跨云数据访问的安全性。
附图说明
图1是本说明书一示例性实施例示出的一种混合云架构下的跨云数据访问的方法流程示意图。
图2是本说明书另一示例性实施例示出的一种混合云架构下的跨云数据访问的方法流程示意图。
图3是本说明书所示出的混合云架构下的跨云数据访问方法的一示例性组网架构示意图。
图4是本说明书一示例性实施例示出的混合云架构下公网客户端进行跨云数据访问的组网架构示意图。
图5是本说明书一示例性实施例示出的混合云架构下公网客户端进行跨云数据访问的交互示意图。
图6是本说明书一示例性实施例示出的混合云架构下混合云中不同云之间进行跨云数据访问的组网架构示意图。
图7是本说明书一示例性实施例示出的混合云架构下混合云中不同云之间进行跨云数据访问的交互示意图。
图8是本说明书一示例性实施例示出的一种混合云架构下的跨云数据访问装置所在电子设备的结构示意图。
图9是本说明书一示例性实施例示出的一种混合云架构下的跨云数据访问装置的框图。
图10是本说明书另一示例性实施例示出的一种混合云架构下的跨云数据访问装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
得益于云技术的广泛使用,网络中的存储资源和计算资源都以一种更加高效的方式共享于更多企业和个人用户之间。
一个云,即由为本云所共享的网络设备、数据库,以及本云内的本地客户端组成的一个网络。
通常,云的形式可以包括公有云和私有云两种。所述公有云,即由第三方云供应商提供的,能够通过互联网为众多企业及个人用户所访问的云;所述私有云,即针对特定的业务场景由企业或个人用户自行构建的,只能为特定的用户群体所访问的云。
无论是公有云或是私有云,在云内都配备有诸如防火墙的安全设备,以使非云内的设备不得访问云内的数据,从而保障云内的数据安全,因而云与公网以及云与云之间呈现着网络隔离的状态,跨云的数据访问往往难以进行。
然而为了实现业务的可拓展性并进一步提高资源利用率,能够涵盖一或多个公有云和/或私有云的混合云应运而生,基于前文所述的云与公网以及云与云之间网络隔离的特性,实现混合云架构下的跨云数据访问成为亟待解决的问题。
目前,相关技术中,大多采用在原有网络的基础上再为所述混合云构建一个VPN(Virtual Private Network,虚拟局域网)的方式实现所述混合云中的网络互通,即增设新的VPN网关联结所述混合云所包括的各个公有云和/或私有云,公网客户端或云内客户端通过连接至所述VPN网关实现跨云数据访问。
不过,上述方案既需要引进新的配置有公网IP地址的网络设备——VPN网关,所述VPN网关还要求所述混合云所包括的各个云之间不存在网址冲突,因而成本和配置门槛都较高。
此外,从安全角度来说,由于任一设备在成功连接到所述VPN网关后即可得到整个混合云的访问权限,一旦某一设备恶意连接到所述VPN网关则混合云所包括的所有云都处在该设备的攻击范围内,因而上述方案的安全粒度也较为粗糙,具有一定的安全风险。
有鉴于此,本说明书示出一种混合云架构下的跨云数据访问方法,能够以更低的成本且以更安全的方式实现公网向混合云内以及混合云所包括的不同云之间的跨云数据访问。
首先,对本说明书示出的混合云架构下的跨云数据访问方法所适用的组网架构进行说明。
一个混合云中包括一或多个公有云和/或私有云,所述混合云中所包括的云可以全部为公有云或全部为私有云,也可以一部分为公有云,另一部分为私有云,所述混合云中所包括的云的具体数量和云的具体构成不做限制。
预先于所述混合云所包括的每个云中配置其代理节点,每个云的代理节点可以代其所在云内的数据库与云外的客户端进行数据交互,也可以代其所在云内的本地客户端与所述混合云中的其他云进行数据交互。每个云的代理节点均可以配置于该云内任一可以访问公网的网络设备上,包括但不限于该云内的服务器,无需引进新的网络设备。
预先于公网中为所述混合云配置其主控节点,所述混合云的主控节点可以中转公网客户端与混合云中任一云之间的交互数据,也可以中转混合云中不同云之间的交互数据。所述混合云的主控节点可以配置于所述混合云内任一具有公网IP的网络设备上,包括但不限于所述混合云内处于公网的服务器,无需引进新的网络设备。
请参考图1,图1为本说明书一示例性实施例示出的混合云架构下的跨云数据访问的方法流程示意图。
图1所示的跨云数据访问方法可以应用于混合云的主控节点上,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系。
本实施例中所述的连接,即两个网络设备之间结合IP地址、端口号、协议和socketID等标识表征的交互方式,基于一条已知的连接可以确定使用这一连接收发数据的具体信道。
所述代理连接,即某一云的代理节点与本主控节点之间的连接。
所述客户端连接,即客户端与主控节点之间的连接,在本说明书提供的实施例中,所述客户端连接包括公网客户端的连接以及云内客户端的连接。
公网客户端的连接,即某一公网客户端向所述混合云发起的连接,实际为所述公网客户端与本主控节点之间的连接,不同的公网客户端与本主控节点之间的客户端连接不同。
云内客户端的连接,即所述混合云中某一个云内的本地客户端向另一个云发起的连接,实际为所述云内客户端所在云的代理节点与本主控节点之间的连接,针对同一云内的不同客户端,所述云内客户端所在云的代理节点与本主控节点建立不同的连接。
在所述主控连接映射表中,不同的客户端连接所对应的代理连接不同。
所述主控连接映射表可由主控节点在接收到客户端发送的针对目标代理服务的连接建立请求后建立,其具体建立方式将在后续描述。
所述方法可以包括如下具体步骤:
步骤102,当主控节点基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接。
在本实施例中,主控节点在接收到所述数据访问请求后,基于接收到该数据访问请求的连接查找所述主控连接映射表,可确定对应的代理连接。
当客户端为公网客户端时,主控节点是基于本主控节点与公网客户端之间的连接,接收到所述针对目标代理服务的数据访问请求;
当客户端为混合云中某一云内的本地客户端时,主控节点是基于本主控节点与该云代理节点之间的连接,接收到所述针对目标代理服务的数据访问请求。
在本实施例中,对于主控节点而言,实际上并不需要区分客户端连接是其与公网客户端之间的连接,还是其与代理节点之间的连接,主控节点基于接收到数据访问请求的连接查找主控连接映射表即可。
步骤104,所述主控节点基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
基于连接可以确定具体的信道,在查找并确定与所述客户端连接对应的代理连接后,基于所述代理连接,主控节点可以确定在将所述数据访问请求转发至与所述目标代理服务具有映射关系的目标代理节点时,本端与对端具体所采用的IP地址、端口号、协议和socket ID等。主控节点将基于所述代理连接将所述数据访问请求转发至所述目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
通过步骤102至步骤104,主控节点将公网客户端或混合云中某一云内的本地客户端针对目标云内目标数据库的数据访问请求转发至目标云内的目标代理节点,从而完成了对混合云架构下跨云数据访问请求的中转。
请参考图2,图2本说明书另一示例性实施例示出的混合云架构下的跨云数据访问的方法流程示意图。
图2所示的跨云数据访问方法应用于混合云架构中的任一代理节点上,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系。
本实施例中所述的连接,即两个网络设备之间结合IP地址、端口号、协议和socketID等标识表征的交互方式,基于一条已知的连接可以确定使用这一连接收发数据的具体信道。
所述代理连接,即本代理节点与主控节点之间的连接。
所述第一类本地连接,即本代理节点与所在云内的目标数据库之间的连接。
本代理节点与主控节点之间可以存在多条代理连接,本代理节点与所在云内的目标数据库之间也可以存在多条第一类本地连接。
在所述节点连接映射表中,不同的代理连接所对应的第一类本地连接不同。
所述节点连接映射表可由代理节点在接收到主控节点发送的激活消息后建立,其具体建立方式将在后续描述。
所述方法可以包括如下具体步骤:
步骤202,当代理节点基于代理连接接收到主控节点转发的来自客户端的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接。
在本实施例中,当代理节点基于其与主控节点之间的某一代理连接,接收到主控节点转发的数据访问请求时,在所述节点连接映射表中查找已存储的与所述代理连接具有映射关系的第一类本地连接。
所述数据访问请求,包括公网客户端向本代理节点所在云发起的数据访问请求,它由主控节点直接接收后转发至本代理节点,也包括所述混合云所包括的其他云内的客户端向本代理节点所在云发起的数据访问请求,它先由所述客户端所在云内的代理节点转发至所述主控节点,再由所述主控节点转发至本代理节点。
步骤204,所述代理节点基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内的目标数据库。
基于连接可以确定具体的信道,在查找并确定与所述代理连接对应的第一类本地连接后,基于所述第一类本地连接,本主控节点可以确定在将所述数据访问请求转发至所在云内的数据库时,本端与对端具体所采用的IP地址、端口号、协议和socket ID等,本代理节点将基于所述第一类本地连接将所述数据访问请求转发至所在云内的目标数据库,以得到所述目标数据库发送的针对所述数据访问请求的响应。
通过步骤202至步骤204,云内代理节点将来自云外针对本云内的目标数据库的数据访问请求转至本云内的目标数据库,从而代本云内的目标数据库与云外实现混合云架构下的跨云数据访问。
由以上描述可以看出,本说明书中,预先在混合云所包括的各云内配置代理节点并在公网中配置主控节点,主控节点上可维护有主控连接映射表,代理节点上可维护有节点连接映射表。基于所述主控连接映射表,主控节点可查找到客户端所要访问的代理服务对应的代理节点,并将客户端的数据访问请求转发至代理节点。基于所述节点连接映射表,代理节点可将接收到的数据访问请求转发至云内数据库。从而实现跨云数据访问。
本说明书提出的混合云架构下的跨云数据访问方案,一方面,所述代理节点、主控节点均可以配置在原有的网络设备上,无需引进新的网络设备,也没有额外的配置要求,成本和门槛都较低;另一方面,从安全角度来说,客户端基于代理服务进行数据访问,每次只能得到混合云中某一云内的某一特定数据库的访问权限而非全部访问权限,细化了安全粒度,提高了混合云架构下进行跨云数据访问的安全性。
下面结合具体的实施例分别从代理服务启动、公网客户端访问混合云、混合云内客户端跨云访问其他云这三个方面来对本说明书提供的跨云访问方案进行详细描述。
一、代理服务启动
请参考图3,图3为本说明书所示出的混合云架构下的跨云数据访问方法的一示例性组网架构示意图。
混合云中包括云A和云B,云A中预先配置有代理节点a、若干云内数据库和若干云内客户端,云B中预先配置有代理节点b、若干云内数据库和若干云内客户端,公网中预先配置有所述混合云的主控节点c和若干公网客户端;所述云A和云B具体为公有云或为私有云则不再限制。
在图3所示的组网架构中,公网客户端可能具有访问云A和/或云B的需求,云A内的本地客户端可能具有访问云B的需求,而云B内的本地客户端也可能具有访问云A的需求。
本实施例中,各客户端可基于代理服务实现对云内数据访问的需求。所述代理服务,即配置于某一网络设备上、可以为外界通过IP地址、端口号、URL等标识加以访问的服务接口。
主控节点可以向公网客户端提供若干代理服务,各个代理节点可以分别向其所在云内的本地客户端提供若干代理服务;所述主控节点上提供的代理服务与各个代理节点上提供的代理服务往往不同。
每个代理服务对应唯一的一个代理节点以及唯一的一个数据库,所述数据库为所述代理节点所在云内的数据库。针对同一代理节点及其所在云内的一个数据库,在主控节点和/或其他多个代理节点上将分别提供与之对应的多个不同的代理服务;针对同一代理节点及其所在云内的多个数据库,在主控节点和/或其他各代理节点上将提供对应的多个不同的代理服务。所述代理服务与代理节点以及代理节点所在云内的数据库之间的映射关系将以代理映射表的形式维护于所述主控节点上。
所述代理服务的配置,存在多种可选择的实现方式。
在一个例子中,当某一云加入混合云后,若该云内的部分数据库可对公网开放,混合云的管理员可向主控节点下发启动主控节点上代理服务的指令,启动指令包括该云内开放的部分数据库,主控节点在接收到启动指令后可针对该云内开放的各个数据库于自身分别启动对应的代理服务,并在成功后将各个代理服务与该云的代理节点以及该云内的各个数据库三者之间的映射关系存储于自身维护的代理映射表中。
若该云内的部分数据库也可对混合云内的某些其他云开放,混合云的管理员还可向主控节点下发启动其他代理节点上代理服务的指令,启动指令包括该云内开放的部分数据库,主控节点可将启动指令下发给混合云中被开放的其他云的代理节点,这些代理节点在接收到启动指令后可针对该云内开放的各个数据库于自身分别启动对应的代理服务,主控节点将在确认这些云的代理节点成功启动代理服务后,将其他各个云的代理节点各自提供的代理服务与该云的代理节点以及该云内的各个数据库三者之间的映射关系存储于自身维护的代理映射表中。
以图3所示的组网架构为例,当云A、云B加入所述混合云时,云A中的代理节点a、云B中的代理节点b将分别与主控节点c建立控制连接,所述代理节点a、代理节点b将基于各自建立的控制连接向所述主控节点c完成注册,并在后续基于所述控制连接,接收所述主控节点c所发送的诸如启动代理服务或建立代理连接的控制消息,以及周期性地向所述主控节点c发送表征自身健康状态的心跳报文等。
表1
请参考表1的示例,当云A加入所述混合云时,所述混合云的管理员可向主控节点c发送启动主控节点c上代理服务的指示,主控节点c接收到该指示后,启动针对云A内数据库A1的代理服务一、以及针对云A内数据库A2的代理服务二,并发布给公网客户端。在所述代理服务一、代理服务二启动成功后,主控节点c将所述代理服务一与所述云A的代理节点a以及云A内的数据库A1之间的映射关系,所述代理服务二与所述云A的代理节点a以及云A内的数据库A2之间的映射关系存储于自身维护的代理映射表中。
当云A加入所述混合云时,所述混合云的管理员还可向主控节点c发送启动代理节点b上代理服务的指示,主控节点c在接收到该指示后,基于与代理节点b之间的控制连接指示代理节点b启动代理服务,代理节点b于自身启动针对云A内数据库A1的代理服务三、以及针对云A内数据库A2的代理服务四,并发布给云B内的本地客户端,在成功后,代理节点b向主控节点c发送所述代理服务三、代理服务四启动成功的消息,主控节点c将所述代理服务三与所述云A的代理节点a以及云A内的数据库A1之间的映射关系,所述代理服务四与所述云A的代理节点a以及云A内的数据库A2之间的映射关系存储于所述代理映射表中。
至此,主控节点上启动了针对云A内数据库A1的代理服务一、针对云A内数据库A2的代理服务二并向公网发布,所述代理服务一在所述代理映射表中对应代理节点a和数据库A1,所述代理服务二在所述代理映射表中对应代理节点a和数据库A2;代理节点b上启动了针对云A内数据库A1的代理服务三、针对云A内数据库A2的代理服务四并向云B内本地客户端发布,所述代理服务三在所述代理映射表中对应代理节点a和数据库A1,所述代理服务四在所述代理映射表中对应代理节点a和数据库A2。
二、公网客户端访问混合云
以图3所示的组网架构示意图为例,当公网客户端访问混合云中云A内的数据库A1时,可抽离出图4所示的组网架构示意图。
某一时刻,一公网客户端意图访问云A内的数据库A1,图5为其访问过程中公网客户端、主控节点、目标代理节点及其所在云内的目标数据库之间的交互示意图。
本实施例中,混合云架构下的跨云数据访问可以包括如下具体步骤:
步骤501,公网客户端基于其与主控节点之间的客户端连接,向所述主控节点发送针对目标代理服务的连接建立请求。
即,公网客户端与混合云的主控节点c建立客户端连接1,并基于所述客户端连接1向所述主控节点c发送连接建立请求,所述连接建立请求针对所述主控节点c上已启动的目标代理服务一。
步骤502,所述主控节点在基于其与所述公网客户端之间的所述客户端连接接收到所述针对目标代理服务的连接建立请求后,在代理映射表中查找所述目标代理服务对应的目标代理节点。
请继续参考表1的示例,主控节点c在基于客户端连接1接收到针对目标代理服务一的连接建立请求后,根据当前自身维护的代理映射表,确定所述目标代理服务一对应的目标代理节点为云A的代理节点a。
步骤503,所述主控节点获取其与所述目标代理节点之间可用的代理连接,并基于所述代理连接向所述目标代理节点发送激活消息,所述激活消息中指示所述目标代理服务对应的所述目标数据库。
即,主控节点c获取与目标代理节点a之间可用的代理连接2,并根据当前自身维护的代理映射表确定目标代理服务一对应的目标数据库为云A内的数据库A1,所述主控节点c基于所述代理连接2向所述目标代理节点a发送激活消息,所述激活消息中指示目标数据库为云A内的数据库A1。
步骤504,所述目标代理节点在基于其与所述主控节点之间的代理连接接收到所述激活消息后,与所述激活消息中指示的其所在云内的目标数据库建立第一类本地连接,在所述第一类本地连接建立成功后,于自身的节点连接映射表中存储所述代理连接与所述第一类本地连接之间的映射关系,并向所述主控节点发送所述第一类本地连接建立成功的消息。
表2
请参考表2的示例,目标代理节点a在基于代理连接2接收到主控节点c发送的激活消息后,与其所在云A内的数据库A1建立第一类本地连接3,在成功建立所述第一类本地连接3后,于自身维护的节点连接映射表中存储所述代理连接2与所述第一类本地连接3之间的映射关系,并基于所述代理连接2向所述主控节点c发送第一类本地连接建立成功的消息。
步骤505,所述主控节点在接收到第一类本地连接建立成功的消息后,于主控连接映射表中存储所述客户端连接与所述代理连接之间的映射关系。
表3
请参考表3的示例,主控节点c在基于代理连接2接收到第一类本地连接建立成功的消息后,于自身维护的主控连接映射表2中存储客户端连接1与代理连接2之间的映射关系。
步骤506,所述公网客户端基于所述客户端连接向所述主控节点发送针对所述目标代理服务的数据访问请求。
即,公网客户端在接收到主控节点c发送的连接建立成功的响应后,基于客户端连接1向所述主控节点c发送针对目标代理服务一的数据访问请求。
步骤507,所述主控节点在基于所述客户端连接接收到所述客户端针对所述目标代理服务的所述数据访问请求后,于所述主控连接映射表中查找对应的其与所述目标代理节点之间的所述代理连接,并基于所述代理连接向所述目标代理节点转发所述数据访问请求。
请继续参考表2的示例,主控节点c在基于客户端连接1接收到针对目标代理服务一的数据访问请求后,根据当前自身维护的主控连接映射表,确定客户端连接1对应的本主控节点c与目标代理节点a之间的代理连接2,基于代理连接2,主控节点c将所述数据访问请求转至目标代理节点a。
步骤508,所述目标代理节点在基于其与所述主控节点之间的所述代理连接接收到所述数据访问请求后,在所述节点连接映射表中查找对应的其与所在云内的目标数据库之间的所述第一类本地连接,并基于所述第一类本地连接,向所在云内的目标数据库转发所述数据访问请求。
请继续参考表3的示例,目标代理节点a在基于代理连接2接收到主控节点c转发的所述数据访问请求后,根据当前自身维护的节点连接映射表,确定代理连接2对应的本代理节点a与云A内数据库A1之间的第一类本地连接3,基于第一类本地连接3,目标代理节点a将所述数据访问请求转至云A内的数据库A1。
步骤509,所述目标代理节点所在云内的目标数据库基于所述第一类本地连接接收到所述数据访问请求并进行处理,将针对所述数据访问请求的响应基于所述第一类本地连接发送给所述目标代理节点。
即,云A内的数据库A1在基于第一类本地连接3接收到目标代理节点a转发的所述数据访问请求后,对所述数据访问请求进行处理,基于第一类本地连接3向目标代理节点a发送针对所述数据访问请求的响应。
步骤510,所述目标代理节点在基于所述第一类本地连接接收到所在云内的目标数据库发送的针对所述数据访问请求的响应后,在所述节点连接映射表中查找对应的其与所述主控节点之间的代理连接,并基于所述代理连接将针对所述数据访问请求的响应转发至所述主控节点。
请继续参考表3,目标代理节点a在基于第一类本地连接3接收云A的数据库A1发送的针对所述数据访问请求的响应后,根据当前自身维护的节点连接映射表,确定第一类本地连接3对应的本代理节点与主控节点c之间的代理连接2,基于代理连接2,目标代理节点a将针对所述数据访问请求的响应转发至主控节点c。
步骤511,所述主控节点在基于其与所述目标代理节点之间的所述代理连接接收到针对所述数据访问请求的响应后,在所述主控连接映射表查找对应的所述客户端连接,并基于所述客户端连接将针对所述数据访问请求的响应返回至所述客户端。
请继续参考表2,主控节点c在基于代理连接2接收到目标代理节点a转发的针对所述数据访问请求的响应后,根据当前自身维护的主控连接映射表,确定代理连接2对应的客户端连接1,基于客户端连接1,主控节点c将所述针对数据访问请求的响应转发至公网客户端。
公网客户端因而接收到针对所述数据访问请求的响应,完成向云A内的数据库A1所进行的跨云数据访问。
其中,步骤503所述的主控节点获取与目标代理节点之间可用的代理连接,存在多种可选择的实现方式。在一种可选择的实现方式下,主控节点c可以在检测到其与目标代理节点a之间不存在可用的代理连接时,基于其与目标代理节点a之间的控制连接,向所述目标代理节点a发送建立代理连接的控制消息,以使所述目标代理节点a与本主控节点c建立新的代理连接2,并在所述新的代理连接2建立完毕后,获取所述新的代理连接2作为所述可用的代理连接。
在一种可选择的实现方式下,若在步骤503中主控节点c获取其与目标代理节点a之间可用的代理连接失败,或在步骤504中目标代理节点a与所在云A内的数据库建立第一类本地连接失败并向主控节点c发送第一类本地连接建立失败的消息后,所述主控节点c可以断开其与所述公网客户端之间的客户端连接1。
三、混合云内客户端跨云访问其他云
以图3所示的组网架构示意图为例,当云B内的本地客户端访问混合云中另一云A内的数据库A1时,可以抽离出图6所示的组网架构示意图。
某一时刻,云B内的一本地客户端意图访问云A内的数据库A1,图7为其访问过程中本地客户端、本地客户端所在云内的代理节点、主控节点、目标代理节点及其所在云内的目标数据库之间的交互示意图。
本实施例中,混合云架构下的跨云数据访问可以包括如下具体步骤:
步骤701,混合云中某一云内的本地客户端基于其与该云内的代理节点之间的第二类本地连接,向该云内的代理节点发送针对目标代理服务的连接建立请求。
即,云B内的一本地客户端与云B的代理节点b建立第二类本地连接4,并基于所述第二类本地连接4向所述代理节点b发送连接建立请求,所述连接建立请求针对所述代理节点b上已启动的目标代理服务三。
步骤702,所述本地客户端所在云内的代理节点获取其与主控节点之间可用的代理连接,并基于所述获取到的可用的代理连接向所述主控节点发送连接建立消息,所述连接建立消息中包括所述本地客户端的连接建立请求所针对的目标代理服务。
即,代理节点b在基于第二类本地连接4接收到针对目标代理服务三的连接建立请求后,获取与主控节点c之间可用的代理连接5,并基于所述代理连接5向所述主控节点c发送连接建立消息,所述连接建立消息包括云B内的本地客户端所针对的目标代理服务三。
步骤703,所述主控节点在基于其与所述本地客户端所在云内的代理节点之间的所述代理连接,接收到所述本地客户端所在云内的代理节点发送的连接建立消息后,在代理映射表中查找所述目标代理服务对应的目标代理节点。
请继续参考表1的示例,主控节点c在基于代理连接5接收到代理节点b发送的连接建立消息后,根据当前自身维护的代理映射表,确定所述连接建立消息所包括的目标代理服务三对应的目标代理节点为云A的代理节点a。
此处要说明的是,在客户端为混合云中某一云内的本地客户端的情况下,代理节点b获取并用于向主控节点c发送连接建立消息的代理连接5,即对主控节点c而言的客户端连接5,代理节点b发送的连接建立消息,即对主控节点c而言的连接建立请求。
步骤704,所述主控节点获取其与所述目标代理节点之间可用的代理连接,并基于所述代理连接向所述目标代理节点发送激活消息,所述激活消息中指示所述目标代理服务对应的所述目标数据库。
即,主控节点c获取其与目标代理节点a之间可用的代理连接6,并根据当前自身维护的代理映射表确定目标代理服务三对应的目标数据库为云A内的数据库A1,所述主控节点c基于所述代理连接6向所述目标代理节点a发送激活消息,所述激活消息中指示目标数据库为云A内的数据库A1。
步骤705,所述目标代理节点基于其与主控节点之间的所述代理连接,接收到所述主控节点发送的激活消息后,与所述激活消息中指示的其所在云内的目标数据库建立第一类本地连接,在所述第一类本地连接建立成功后,于自身的节点连接映射表中存储其与主控节点之间的所述代理连接与所述第一类本地连接之间的映射关系,并向所述主控节点发送所述第一类本地连接建立成功的消息。
请继续参考表2的示例,目标代理节点a在基于代理连接6接收到主控节点c发送的激活消息后,与其所在云A内的数据库A1建立第一类本地连接7,在成功建立第一类本地连接7后,于自身维护的节点连接映射表中存储代理连接6与所述第一类本地连接7之间的映射关系,并向主控节点c发送第一类本地连接建立成功的消息。
步骤706,所述主控节点在接收到所述第一类本地连接建立成功的消息后,于自身的主控连接映射表中存储其与所述本地客户端所在云内的代理节点之间的代理连接,以及其与所述目标代理节点之间的代理连接之间的映射关系。
请继续参考表3的示例,主控节点c在接收到第一类本地连接建立成功的消息后,于自身维护的主控连接映射表中存储代理连接5与代理连接6之间的映射关系,即存储客户端连接5与代理连接6之间的映射关系。
步骤707,所述本地客户端所在云内的代理节点在接收到所述主控节点发送的连接建立成功的响应后,于自身的所述节点连接映射表中存储所述第二类本地连接以及其与所述主控节点之间的代理连接之间的映射关系。
表4
请参考表4的示例,代理节点b在接收到主控节点c发送的表征连接建立成功的响应后,于自身维护的节点连接映射表中存储第二类本地连接4与代理连接5之间的映射关系。
步骤708,所述本地客户端在接收到所在云内的代理节点发送的连接建立成功的响应后,基于所述第二类本地连接向所在云内的代理节点发送针对所述目标代理服务的数据访问请求。
即,云B内的本地客户端在接收到代理节点b发送的表征连接建立成功的响应后,基于第二类本地连接4向所述代理节点b发送针对目标代理服务三的数据访问请求。
步骤709,所述本地客户端所在云内的代理节点,在基于所述第二类本地连接接收到所述本地客户端针对所述目标代理服务的数据访问请求后,于自身的节点连接映射表中查找对应的所述代理连接,并基于所述代理连接向所述主控节点转发所述数据访问请求。
请继续参考表4的示例,代理节点b在基于第二类本地连接4接收到本地客户端发送的针对目标代理服务三的数据访问请求后,根据当前自身维护的节点连接映射表,确定所述第二类本地连接4对应的代理连接5,基于所述代理连接5,所述代理节点b将所述数据访问请求转至主控节点c。
步骤710,所述主控节点在基于其与所述本地客户端所在云内的代理节点之间的代理连接接收到所述本地客户端针对目标代理服务的数据访问请求后,在所述主控连接映射表中查找对应的其与目标代理节点之间的代理连接。
请继续参考表3的示例,主控节点c在基于代理连接5,即客户端连接5接收到代理节点b转发的针对目标代理服务三的数据访问请求后,根据当前自身维护的主控连接映射表,确定所述代理连接5,即客户端连接5对应的本主控节点c与目标代理节点a之间的代理连接6,基于所述代理连接6,主控节点c将所述数据访问请求转至目标代理节点a。
步骤711,所述目标代理节点在基于其与所述主控节点之间的代理连接接收到所述主控节点转发的数据访问请求时,于自身的节点连接映射表中查找对应的其与所在云内的目标数据库之间的所述第一类本地连接,并基于所述第一类本地连接向所在云内的目标数据库转发所述数据访问请求。
请继续参考表2的示例,目标代理节点a在基于所述代理连接6接收到主控节点c转发的所述数据访问请求后,根据当前自身所维护的节点连接映射表,确定所述代理连接6对应的本代理节点a与云A内数据库A1之间的所述第一类本地连接7,基于所述第一类本地连接7,目标代理节点a将所述数据访问请求转至云A内的数据库A1。
步骤712,所述目标代理节点所在云内的目标数据库基于所述第一类本地连接接收到所述数据访问请求并进行处理,将针对所述数据访问请求的响应基于所述第一类本地连接发送给所述目标代理节点。
即,云A内的数据库A1在基于第一类本地连接7接收到目标代理节点a转发的数据访问请求后,处理所述数据访问请求,基于所述第一类本地连接7向所述目标代理节点a发送针对所述数据访问请求的响应。
步骤713,所述目标代理节点在基于其与所在云内的目标数据库之间的所述第一类本地连接接收到针对所述数据访问请求的响应后,于自身的节点连接映射表中查找对应的其与主控节点之间的代理连接,并基于所述代理连接将针对所述数据访问请求的响应转发至所述主控节点。
请继续参考表2的示例,目标代理节点a在基于第一类本地连接7接收云A的数据库A1发送的针对数据访问请求的响应后,根据当前自身维护的节点连接映射表,确定所述第一类本地连接7对应的其与主控节点c之间的代理连接6,基于所述代理连接6,所述目标代理节点a将针对所述数据访问请求的响应转发至所述主控节点c。
步骤714,所述主控节点在基于其与目标代理节点之间的所述代理连接接收到针对所述数据访问请求的响应后,在所述主控连接映射表中查找对应的其与所述本地客户端所在云内的代理节点之间的代理连接,并基于其与所述本地客户端所在云内的代理节点之间的代理连接,将针对所述数据访问请求的响应转发给所述本地客户端所在云内的代理节点。
请继续参考表3的示例,主控节点c在基于代理连接6接收到目标代理节点a转发的针对数据访问请求的响应后,根据当前自身维护的主控连接映射表,确定所述代理连接6对应的所述代理连接5,即客户端连接5,基于所述代理连接5,即客户端连接5,所述主控节点c将针对所述数据访问请求的响应转至代理节点b。
步骤715,所述本地客户端所在云内的代理节点在基于其与主控节点之间的代理连接接收到针对所述数据访问请求的响应时,于自身的节点连接映射表中查找对应的所述第二类本地连接,并基于所述第二类本地连接将针对所述数据访问请求的响应返回至所述本地客户端。
请继续参考表4的示例,代理节点b在基于代理连接5接收到主控节点c转发的针对数据访问请求的响应后,根据当前自身维护的节点连接映射表,确定所述代理连接5对应的第二类本地连接4,基于所述第二类本地连接4,代理节点b将针对所述数据访问请求的响应转发至本地客户端。
云B内的本地客户端因而接收到针对所述数据访问请求的响应,完成向云A内的数据库A1所进行的跨云数据访问。
其中,步骤702所述的本地客户端所在云内的代理节点获取其与主控节点之间可用的代理连接,存在多种可选择的实现方式。在一种可选择的实现方式下,代理节点b可以直接与主控节点c建立新的代理连接5,并获取所述新的代理连接5作为所述可用的代理连接。
步骤704所述的主控节点获取与目标代理节点之间可用的代理连接,存在多种可选择的实现方式。在一种可选择的实现方式下,主控节点c可以在检测到其与目标代理节点a之间不存在可用的代理连接时,基于其与目标代理节点a之间的控制连接,向所述目标代理节点a发送建立代理连接的控制消息,以使所述目标代理节点a与本主控节点c建立新的代理连接6,并在所述新的代理连接6建立完毕后,获取所述新的代理连接6作为所述可用的代理连接。
在一种可选择的实现方式下,若在步骤704中主控节点c获取其与目标代理节点a之间可用的代理连接失败,或在步骤705中目标代理节点a与所在云A内的数据库建立第一类本地连接失败并向主控节点c发送第一类本地连接建立失败的消息后,所述主控节点c可以指示代理节点b断开与云B内的本地客户端之间的第二类本地连接4。
由以上描述可以看出,本说明书中,预先在混合云所包括的各云内配置代理节点并在公网中配置主控节点,主控节点上可维护有主控连接映射表,代理节点上可维护有节点连接映射表。基于所述主控连接映射表,主控节点可查找到客户端所要访问的代理服务对应的代理节点,并将客户端的数据访问请求转发至代理节点。基于所述节点连接映射表,代理节点可将接收到的数据访问请求转发至云内的目标数据库。从而实现跨云数据访问。
本说明书提出的混合云架构下的跨云数据访问方案,一方面,所述代理节点、主控节点均可以配置在原有的网络设备上,无需引进新的网络设备,也没有额外的配置要求,成本和门槛都较低;另一方面,从安全角度来说,客户端基于代理服务进行数据访问,每次只能得到混合云中某一云内的某一特定数据库的访问权限而非全部访问权限,细化了安全粒度,提高了混合云架构下进行跨云数据访问的安全性。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,图9为本说明书一示例性实施例所示出的混合云架构下的跨云数据访问装置,所述混合云架构下的跨云数据访问装置可以应用于如图8所示的设备中,以实现本说明书的技术方案。
所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有所述混合云的主控节点,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述装置应用于所述主控节点,包括:
第一连接查找单元910,在基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;
第一访问转发单元920,基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点将所述数据访问请求转发至其所在云内的目标数据库。
可选地,所述第一连接查找单元910,在基于所述代理连接接收到所述目标代理节点发送的针对所述数据访问请求的响应时,在所述主控连接映射表中查找所述代理连接对应的所述客户端连接;
所述第一访问转发单元920,基于所述客户端连接将所述响应返回至所述客户端。
可选地,所述主控节点上还维护有代理映射表,所述代理映射表中存储有代理服务、代理节点之间的映射关系,所述客户端连接与所述代理连接之间映射关系的建立过程,包括:
第一节点查找单元930,在基于所述客户端连接接收到所述客户端针对所述目标代理服务的连接建立请求时,在所述代理映射表中查找所述目标代理服务对应的所述目标代理节点;
第一关系存储单元940,获取本主控节点与所述目标代理节点之间可用的代理连接,并在所述主控连接映射表中存储所述客户端连接与获取到的可用的代理连接之间的映射关系。
可选地,所述混合云中每个代理节点均与所述主控节点建立有控制连接;
所述第一关系存储单元940,还在本主控节点与所述目标代理节点之间不存在可用的代理连接时,基于所述控制连接向所述目标代理节点发送控制消息,以使所述目标代理节点与本主控节点建立新的代理连接;
在所述新的代理连接建立完毕后,获取所述新的代理连接作为所述可用的代理连接。
可选地,所述代理映射表中存储有代理服务、代理节点以及所述代理节点所在云内的数据库三者之间的映射关系;
所述第一关系存储单元940,根据所述代理映射表确定所述目标代理服务对应的所述目标代理节点所在云内的目标数据库;
基于所述获取到的可用的代理连接向所述目标代理节点发送激活消息,所述激活消息中指示所述目标数据库,以使所述目标代理节点与其所在云内的所述目标数据库建立本地连接;
当基于所述代理连接接收到所述本地连接建立成功的消息后,存储所述客户端连接与所述代理连接之间的映射关系。
可选地,所述装置还包括第一连接断开单元950,在基于所述代理连接接收到所述本地连接建立失败的消息后,断开与所述客户端之间的连接。
可选地,当所述客户端为公网客户端时,所述客户端连接为所述公网客户端与本主控节点之间的连接;
当所述客户端为云内客户端时,所述客户端连接为所述云内客户端所在云内的代理节点与本主控节点之间的连接。
请参考图10,图10为本说明书另一示例性实施例所示出的混合云架构下的跨云数据访问装置,所述混合云架构下的跨云数据访问装置可以应用于如图8所示的设备中,以实现本说明书的技术方案。
所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系,公网中预先配置有所述混合云的主控节点,所述装置应用于所述代理节点,包括:
第二连接查找单元1010,在基于代理连接接收到主控节点转发的来自客户端的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接;
第二访问转发单元1020,基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内的目标数据库。
可选地,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述装置还包括:
所述第二连接查找单元1010,在基于所述第一类本地连接接收到所述目标数据库发送的针对所述数据访问请求的响应时,在所述节点连接映射表中查找所述第一类本地连接对应的所述代理连接;
所述第二访问转发单元1020,基于所述代理连接将所述响应发送至主控节点,以使主控节点在所述主控连接映射表中查找所述代理连接对应的客户端连接,并基于所述客户端连接将所述响应返回至所述客户端。
可选地,所述代理连接与所述第一类本地连接之间映射关系的建立过程,包括:
第二关系存储单元1030,在基于所述代理连接接收到主控节点发送的激活消息时,与所述激活消息中指示的所述目标数据库建立所述第一类本地连接,并在所述节点连接映射表中存储所述代理连接与所述第一类本地连接之间的映射关系。
可选地,所述第二关系存储单元1030,在与所述目标数据库建立所述第一类本地连接成功后,存储所述代理连接与所述第一类本地连接之间的映射关系,并向所述主控节点发送所述第一类本地连接建立成功的消息,以使所述主控节点在所述主控连接映射表中存储所述代理连接与客户端连接之间的映射关系。
可选地,所述第二关系存储单元1030,在与所述目标数据库建立所述第一类本地连接失败后,向主控节点发送所述第一类本地连接建立失败的消息,以使所述主控节点断开与所述客户端之间的连接。
可选地,所述主控节点上维护有代理映射表,所述代理映射表中存储有代理服务、代理节点之间的映射关系,所述节点连接映射表中还存储有第二类本地连接与代理连接之间的映射关系,所述装置还包括:
所述第二连接查找单元1010,在基于第二类本地连接接收到所在云内的本地客户端针对目标代理服务的数据访问请求时,在所述节点连接映射表中查找所述第二类本地连接对应的代理连接;
所述第二访问转发单元1020,基于所述代理连接将所述数据访问请求转发至主控节点,以供所述主控节点将所述数据访问请求转发至所述代理映射表中所述目标代理服务对应的目标代理节点。
可选地,所述第二连接查找单元1010,在基于所述代理连接接收到所述主控节点发送的针对所述数据访问请求的响应时,在所述节点连接映射表中查找所述代理连接对应的所述第二类本地连接;
所述第二访问转发单元1020,基于所述第二类本地连接将所述响应返回至所述本地客户端。
可选地,所述第二类本地连接与所述代理连接之间映射关系的建立过程,包括:
所述第二关系存储单元1030,在基于所述第二类本地连接接收到所述本地客户端针对所述目标代理服务的连接建立请求时,获取本代理节点与所述主控节点之间可用的代理连接;
基于所述代理连接向所述主控节点发送连接建立消息,并在所述节点连接映射表中存储所述第二类本地连接与获取到的可用的代理连接之间的映射关系。
可选地,所述装置还包括第二连接断开单元1040,在基于所述代理连接接收到所述主控节点发送的断开连接的消息后,断开与所述本地客户端之间的所述第二类本地连接。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (19)
1.一种混合云架构下的跨云数据访问方法,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有所述混合云的主控节点,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述方法应用于所述主控节点,包括:
当基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;
基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点查找所述代理连接对应的第一类本地连接,进而基于所述第一类本地连接将所述数据访问请求转发至其所在云内所述目标代理服务对应的目标数据库;
其中,所述主控节点上还维护有代理映射表,所述代理映射表中存储有代理服务和代理节点以及数据库之间的映射关系,所述主控连接映射表的建立过程,包括:
当基于所述客户端连接接收到所述客户端针对所述目标代理服务的连接建立请求时,在所述代理映射表中查找所述目标代理服务对应的所述目标代理节点;
获取本主控节点与所述目标代理节点之间可用的代理连接,并在所述主控连接映射表中存储所述客户端连接与获取到的可用的代理连接之间的映射关系。
2.根据权利要求1所述的方法,还包括:
当基于所述代理连接接收到所述目标代理节点发送的针对所述数据访问请求的响应时,在所述主控连接映射表中查找所述代理连接对应的所述客户端连接;
基于所述客户端连接将所述响应返回至所述客户端。
3.根据权利要求1所述的方法,所述混合云中每个代理节点均与所述主控节点建立有控制连接,所述获取本主控节点与所述目标代理节点之间可用的代理连接,还包括:
当本主控节点与所述目标代理节点之间不存在可用的代理连接时,基于所述控制连接向所述目标代理节点发送控制消息,以使所述目标代理节点与本主控节点建立新的代理连接;
在所述新的代理连接建立完毕后,获取所述新的代理连接作为所述可用的代理连接。
4.根据权利要求1所述的方法,所述存储所述客户端连接与获取到的可用的代理连接之间的映射关系,包括:
根据所述代理映射表确定所述目标代理服务对应的所述目标代理节点所在云内的目标数据库;
基于所述获取到的可用的代理连接向所述目标代理节点发送激活消息,所述激活消息中指示所述目标数据库,以使所述目标代理节点与其所在云内的所述目标数据库建立本地连接;
当基于所述代理连接接收到所述本地连接建立成功的消息后,存储所述客户端连接与所述代理连接之间的映射关系。
5.根据权利要求4所述的方法,还包括:
当基于所述代理连接接收到所述本地连接建立失败的消息后,断开与所述客户端之间的连接。
6.根据权利要求1所述的方法,
当所述客户端为公网客户端时,所述客户端连接为所述公网客户端与本主控节点之间的连接;
当所述客户端为云内客户端时,所述客户端连接为所述云内客户端所在云内的代理节点与本主控节点之间的连接。
7.一种混合云架构下的跨云数据访问方法,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系,公网中预先配置有所述混合云的主控节点,主控节点上维护有代理映射表和主控连接映射表,所述代理映射表中存储有代理服务和代理节点以及数据库之间的映射关系,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,其建立过程包括:当基于所述客户端连接接收到所述客户端针对目标代理服务的连接建立请求时,在所述代理映射表中查找所述目标代理服务对应的所述目标代理节点;获取本主控节点与所述目标代理节点之间可用的代理连接,并在所述主控连接映射表中存储所述客户端连接与获取到的可用的代理连接之间的映射关系;
所述方法应用于所述代理节点,包括:
当基于代理连接接收到主控节点转发的来自客户端的针对目标代理服务的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接;
基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内所述目标代理服务对应的目标数据库;
其中,所述数据访问请求由主控节点在主控连接映射表中查找客户端连接对应的代理连接,并基于所述代理连接转发至本代理节点。
8.根据权利要求7所述的方法,所述方法还包括:
当基于所述第一类本地连接接收到所述目标数据库发送的针对所述数据访问请求的响应时,在所述节点连接映射表中查找所述第一类本地连接对应的所述代理连接;
基于所述代理连接将所述响应发送至主控节点,以使所述主控节点在所述主控连接映射表中查找所述代理连接对应的客户端连接,并基于所述客户端连接将所述响应返回至所述客户端。
9.根据权利要求7所述的方法,所述代理连接与所述第一类本地连接之间映射关系的建立过程,包括:
当基于所述代理连接接收到主控节点发送的激活消息时,与所述激活消息中指示的所述目标数据库建立所述第一类本地连接,并在所述节点连接映射表中存储所述代理连接与所述第一类本地连接之间的映射关系。
10.根据权利要求9所述的方法,所述存储所述代理连接与所述第一类本地连接之间的映射关系,包括:
在与所述目标数据库建立所述第一类本地连接成功后,存储所述代理连接与所述第一类本地连接之间的映射关系,并向所述主控节点发送所述第一类本地连接建立成功的消息,以使所述主控节点在所述主控连接映射表中存储所述代理连接与客户端连接之间的映射关系。
11.根据权利要求10所述的方法,还包括:
在与所述目标数据库建立所述第一类本地连接失败后,向主控节点发送所述第一类本地连接建立失败的消息,以使所述主控节点断开与所述客户端之间的连接。
12.根据权利要求7所述的方法,所述主控节点上维护有代理映射表,所述代理映射表中存储有代理服务和代理节点之间的映射关系,所述节点连接映射表中还存储有第二类本地连接与代理连接之间的映射关系,所述方法还包括:
当基于第二类本地连接接收到所在云内的本地客户端针对目标代理服务的数据访问请求时,在所述节点连接映射表中查找所述第二类本地连接对应的代理连接;
基于所述代理连接将所述数据访问请求转发至主控节点,以供所述主控节点将所述数据访问请求转发至所述代理映射表中所述目标代理服务对应的目标代理节点。
13.根据权利要求12所述的方法,还包括:
当基于所述代理连接接收到所述主控节点发送的针对所述数据访问请求的响应时,在所述节点连接映射表中查找所述代理连接对应的所述第二类本地连接;
基于所述第二类本地连接将所述响应返回至所述本地客户端。
14.根据权利要求12所述的方法,所述第二类本地连接与所述代理连接之间映射关系的建立过程,包括:
当基于所述第二类本地连接接收到所述本地客户端针对所述目标代理服务的连接建立请求时,获取本代理节点与所述主控节点之间可用的代理连接;
基于所述代理连接向所述主控节点发送连接建立消息,并在所述节点连接映射表中存储所述第二类本地连接与获取到的可用的代理连接之间的映射关系。
15.根据权利要求14所述的方法,还包括:
当基于所述代理连接接收到所述主控节点发送的断开连接的消息后,断开与所述本地客户端之间的所述第二类本地连接。
16.一种混合云架构下的跨云数据访问装置,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,公网中预先配置有所述混合云的主控节点,所述主控节点上维护有主控连接映射表,所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,所述装置应用于所述主控节点,包括:
第一连接查找单元,在基于客户端连接接收到客户端针对目标代理服务的数据访问请求时,在所述主控连接映射表中查找所述客户端连接对应的代理连接;
第一访问转发单元,基于所述代理连接将所述数据访问请求转发至所述目标代理服务对应的目标代理节点,以供所述目标代理节点查找所述代理连接对应的第一类本地连接,进而基于所述第一类本地连接将所述数据访问请求转发至其所在云内所述目标代理服务对应的目标数据库;
其中,所述主控节点上还维护有代理映射表,所述代理映射表中存储有代理服务和代理节点以及数据库之间的映射关系,所述主控连接映射表的建立过程,包括:
当基于所述客户端连接接收到所述客户端针对所述目标代理服务的连接建立请求时,在所述代理映射表中查找所述目标代理服务对应的所述目标代理节点;
获取本主控节点与所述目标代理节点之间可用的代理连接,并在所述主控连接映射表中存储所述客户端连接与获取到的可用的代理连接之间的映射关系。
17.一种混合云架构下的跨云数据访问装置,所述混合云架构中包括公有云和/或私有云,每个公有云和私有云中均预先配置有代理节点,所述代理节点上维护有节点连接映射表,所述节点连接映射表中存储有代理连接与第一类本地连接之间的映射关系,公网中预先配置有所述混合云的主控节点,主控节点上维护有代理映射表和主控连接映射表,所述代理映射表中存储有代理服务和代理节点以及数据库之间的映射关系,所述主控连接映射表所述主控连接映射表中存储有客户端连接与代理连接之间的映射关系,其建立过程包括:当基于所述客户端连接接收到所述客户端针对目标代理服务的连接建立请求时,在所述代理映射表中查找所述目标代理服务对应的所述目标代理节点;获取本主控节点与所述目标代理节点之间可用的代理连接,并在所述主控连接映射表中存储所述客户端连接与获取到的可用的代理连接之间的映射关系;
所述装置应用于所述代理节点,包括:
第二连接查找单元,在基于代理连接接收到主控节点转发的来自客户端的针对目标代理服务的数据访问请求时,在所述节点连接映射表中查找所述代理连接对应的第一类本地连接;
第二访问转发单元,基于所述第一类本地连接将所述数据访问请求转发至本代理节点所在云内所述目标代理服务对应的目标数据库;
其中,所述数据访问请求由主控节点在主控连接映射表中查找客户端连接对应的代理连接,并基于所述代理连接转发至本代理节点。
18.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-16中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如权利要求1-15中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110641420.8A CN113452592B (zh) | 2021-06-09 | 2021-06-09 | 混合云架构下的跨云数据访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110641420.8A CN113452592B (zh) | 2021-06-09 | 2021-06-09 | 混合云架构下的跨云数据访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452592A CN113452592A (zh) | 2021-09-28 |
CN113452592B true CN113452592B (zh) | 2022-02-25 |
Family
ID=77811017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110641420.8A Active CN113452592B (zh) | 2021-06-09 | 2021-06-09 | 混合云架构下的跨云数据访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452592B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114025010B (zh) * | 2021-10-20 | 2024-04-16 | 北京奥星贝斯科技有限公司 | 建立连接的方法和网络设备 |
CN114143048B (zh) * | 2021-11-18 | 2023-09-26 | 绿盟科技集团股份有限公司 | 一种安全资源管理的方法、装置及存储介质 |
CN114389885B (zh) * | 2022-01-14 | 2024-03-22 | 浙江远东工业开发有限公司 | 一种安全的开放私有云数据库到公有云方法 |
CN114422518A (zh) * | 2022-03-31 | 2022-04-29 | 北京奥星贝斯科技有限公司 | 请求服务的方法及装置 |
CN115118787A (zh) * | 2022-06-21 | 2022-09-27 | 京东科技信息技术有限公司 | 一种服务控制方法、系统、存储介质及电子设备 |
CN115865862A (zh) * | 2022-11-21 | 2023-03-28 | 北京奇艺世纪科技有限公司 | 一种数据访问方法、系统、装置、电子设备及存储介质 |
CN116055493B (zh) * | 2023-03-31 | 2023-06-23 | 北京比格大数据有限公司 | 一种跨架构的数据获取方法、网关节点及跨架构平台 |
CN116095080B (zh) * | 2023-04-06 | 2023-06-09 | 深圳竹云科技股份有限公司 | 跨云数据互联网络通信方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131233A (zh) * | 2016-06-20 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 实现数据库多路径访问的方法、装置及系统 |
CN109474687A (zh) * | 2018-11-23 | 2019-03-15 | 杭州数梦工场科技有限公司 | 一种不同私网间通信的方法、装置和系统 |
CN109587254A (zh) * | 2018-12-11 | 2019-04-05 | 深圳市口袋网络科技有限公司 | 云服务器访问方法、装置、云服务器及存储介质 |
US10708379B1 (en) * | 2017-11-22 | 2020-07-07 | Amazon Technologies, Inc. | Dynamic proxy for databases |
CN112153146A (zh) * | 2020-09-25 | 2020-12-29 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911463B (zh) * | 2017-11-27 | 2021-01-19 | 深信服科技股份有限公司 | 一种业务跨云架构及其创建方法、管理方法 |
CN108093094B (zh) * | 2017-12-08 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 数据库实例访问方法、装置、系统、存储介质和设备 |
CN108551464B (zh) * | 2018-03-08 | 2020-12-22 | 网宿科技股份有限公司 | 一种混合云的连接建立、数据传输方法、装置和系统 |
CN112243036B (zh) * | 2020-10-21 | 2022-03-15 | 北京首都在线科技股份有限公司 | PaaS服务的数据处理方法及装置、设备、存储介质 |
CN112738284B (zh) * | 2021-04-01 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 服务集成中的数据传输方法、装置、设备及存储介质 |
-
2021
- 2021-06-09 CN CN202110641420.8A patent/CN113452592B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131233A (zh) * | 2016-06-20 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 实现数据库多路径访问的方法、装置及系统 |
US10708379B1 (en) * | 2017-11-22 | 2020-07-07 | Amazon Technologies, Inc. | Dynamic proxy for databases |
CN109474687A (zh) * | 2018-11-23 | 2019-03-15 | 杭州数梦工场科技有限公司 | 一种不同私网间通信的方法、装置和系统 |
CN109587254A (zh) * | 2018-12-11 | 2019-04-05 | 深圳市口袋网络科技有限公司 | 云服务器访问方法、装置、云服务器及存储介质 |
CN112153146A (zh) * | 2020-09-25 | 2020-12-29 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113452592A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113452592B (zh) | 混合云架构下的跨云数据访问方法及装置 | |
CN111934990B (zh) | 消息传输方法及装置 | |
RU2433461C2 (ru) | Взаимодействие между соседствами в рамках объединения по механизму рандеву | |
RU2400806C2 (ru) | Организация стыковки запросов на ресурс с соответствующими ресурсами | |
US9037628B2 (en) | Intelligent establishment of peer-to-peer communication | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
EP3041198B1 (en) | Finding services in a service-oriented architecture (soa) network | |
US10637794B2 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
JP6213755B2 (ja) | コンテンツ共有方法およびソーシャル同期装置 | |
US20140006494A1 (en) | System and Method for Establishing a Distributed Social Network | |
US20150088995A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
Nordström et al. | Haggle: Opportunistic mobile content sharing using search | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
WO2021056738A1 (zh) | 分布式系统nat穿透方法、装置、设备及存储介质 | |
JP2017201776A (ja) | 不均一ネットワークにまたがるコンテンツ配送 | |
US9521106B2 (en) | Method, system and device for obtaining potential friends information | |
US10334025B2 (en) | Adaptive query targeting in a dynamic distributed environment | |
CN115004657B (zh) | 寻址方法、寻址系统以及寻址装置 | |
US9860171B2 (en) | Large scale message routing in a distributed network | |
CN114884880A (zh) | 数据传输方法以及系统 | |
CN108881257B (zh) | 分布式搜索集群加密传输方法及加密传输分布式搜索集群 | |
US9294434B1 (en) | Connectionless communications | |
KR20120071787A (ko) | 원격 접속 환경에서 홈 네트워크의 컨텐츠 정보 제공 방법 | |
Nordström et al. | Haggle: Relevance-aware content sharing for mobile devices using search | |
CN116708366A (zh) | Dns域名管理方法及装置 |
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 |