CN109804365A - 弹性地理数据库复制方法 - Google Patents
弹性地理数据库复制方法 Download PDFInfo
- Publication number
- CN109804365A CN109804365A CN201780062286.8A CN201780062286A CN109804365A CN 109804365 A CN109804365 A CN 109804365A CN 201780062286 A CN201780062286 A CN 201780062286A CN 109804365 A CN109804365 A CN 109804365A
- Authority
- CN
- China
- Prior art keywords
- equipment
- dbms
- server
- data
- target data
- 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.)
- Pending
Links
Classifications
-
- 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
-
- 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
- G06F16/273—Asynchronous replication or reconciliation
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
一种管理复制动作的设备,该设备包括:数据库管理系统(DBMS)接口,用于从第一服务器集群中的多个本地DBMS服务器其中之一接收用于复制的目标数据及复制事件,所述复制事件包括针对多个其它本地DBMS服务器的第二服务器集群中的远程复制管理设备的指示;网络接口,用于:根据所述接收到的复制事件与所述远程复制管理设备建立连接,根据所述复制事件将所述目标数据转发至所述远程复制管理设备,以允许所述远程复制管理设备指示远程DBMS服务器创建所述目标数据的复本以供存储,所述远程DBMS服务器为所述第二服务器集群的成员。
Description
技术领域
在本发明的一些实施例中,本发明涉及一种管理复制动作的设备,更具体地但非排他地,涉及一种具有动态资源分配的独立数据库复制管理系统。
背景技术
数据库的复制带来大量挑战。当源数据库和目标数据库地理上偏远时,当需要将大量数据库复制到大量目标中时,当复制向外扩展时,即,当众多的源数据库和目标数据库参与复制过程时,这些挑战就变得更加复杂。
对数据库管理系统(database management system,DBMS)正在处理的负荷的复制可能导致试图访问DBMS服务器的客户端的服务劣化。另外,复制数据的大小也可能动态波动,但DBMS服务器却是固定资源。
一种解决以上局限性的方案是增加DBMS服务器的计算、存储及联网资源,但这涉及增加相当大的费用,并且当复制过程需要的资源变少时,增加的资源可能不能得到充分利用。
一些现有的DBMS服务器可能具有独立于DBMS服务器的复制服务;然而,这些设计具有固定的资源分配,不允许复制资源的动态分配和解分配。
发明内容
根据本发明的第一方面,提供一种管理复制动作的设备,包括:数据库管理系统(database management system,DBMS)接口,用于从第一服务器集群中的多个本地DBMS服务器其中之一接收用于复制的目标数据及复制事件,所述复制事件包括针对多个其它本地DBMS服务器的第二服务器集群中的远程复制管理设备的指示;网络接口,用于:根据所述接收到的复制事件,与所述远程复制管理设备建立连接;根据所述复制事件将所述目标数据转发至所述远程复制管理设备,以允许所述远程复制管理设备指示远程DBMS服务器创建所述目标数据的复本以供存储,所述远程DBMS服务器为所述第二服务器集群的成员。
可选地,所述目标数据包括于复合数据结构中,所述设备还包括处理器,用于从所述复合数据结构中提取所述目标数据。
可选地,所述复合数据结构包括所述目标数据和元数据操作记录。
可选地,所述复合数据结构选自包括自描述性数据结构、整合数据结构、及组合所述自描述性数据结构与所述整合数据结构的组合数据结构的组。
可选地,所述处理器用于将所述目标数据压缩成多个包,其中,通过在网络上传输所述多个包来转发所述目标数据。
可选地,所述转发在广域网上进行。
可选地,所述处理器用于在协调服务中注册所述设备,所述协调服务创建索引,所述索引用于将所述复制管理设备配置为用于管理所述目标数据用于存储的复本的创建的设备。
根据本发明的第二方面,提供一种管理复制动作的设备,包括:网络接口,用于接收针对复制目标数据的复制事件,所述目标数据存储在第一服务器集群中的多个本地数据库管理系统(database management system,DBMS)服务器的远程DBMS服务器上;处理器,用于创建所述目标数据的复本,以及指示第二服务器集群中的多个地理上相邻的(DBMS)服务器中的另一个DBMS服务器存储所述目标数据。
根据本发明的一些实施例的一方面,提供一种协调管理复制动作的系统,包括:网络接口,用于:监控多个本地复制管理设备的工作负荷,其中,所述多个本地复制管理设备分布式地分布在在多个地理上的远距离区域,所述多个本地复制管理设备中的每一个管理在多个数据库管理系统(database management system,DBMS)服务器中的每一个DBMS服务器中的复本的创建及存储,其中,所述多个DBMS服务器属于多个服务器集群中的一个服务器集群,创建至少一个数据集,所述数据集用于根据所述工作负荷分派所述多个本地复制管理设备中的每一个以存储复本;以及为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,从而允许基于所述至少一个数据集,将目标数据转发至合适的本地复制管理设备,其中,所述至少一个数据集用于创建所述目标数据的复本。
可选地,所述为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,包括:将所述至少一个数据集转发至所述多个本地复制管理设备。
可选地,所述为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,包括:将所述至少一个数据集存储在所述多个本地复制管理设备可访问的存储空间。
根据本发明的第三方面,一种管理复制动作的方法包括以下步骤:从第一服务器集群中的多个本地数据库管理系统(database management system,DBMS)服务器其中之一接收用于复制的目标数据及复制事件,所述复制事件包括针对多个其它本地DBMS服务器的第二服务器集群中的远程复制管理设备的指示;根据所述接收到的复制事件,与所述远程复制管理设备建立连接;根据所述复制事件将所述目标数据转发至所述远程复制管理设备,以允许所述远程复制管理设备指示远程DBMS服务器创建所述目标数据的复本以供存储,所述远程DBMS服务器为所述第二服务器集群的成员。
根据所述第三方面的所述方法的另一实施方式中,所述方法包括在协调服务中注册所述设备,所述协调服务创建索引,所述索引用于将所述复制管理设备配置为用于管理所述目标数据用于存储的复本的创建的设备。
根据本发明的第四方面,一种协调管理复制动作的方法包括:监控多个本地复制管理设备的工作负荷,其中,所述多个本地复制管理设备分布式地分布在在多个地理上的远距离区域,所述多个本地复制管理设备中的每一个管理在多个数据库管理系统(database management system,DBMS)服务器中的每一个DBMS服务器中的复本的创建及存储,其中,所述多个DBMS服务器属于多个服务器集群中的一个服务器集群;创建至少一个数据集,所述数据集用于根据所述工作负荷分派所述多个本地复制管理设备中的每一个以存储复本;以及为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,从而允许基于所述至少一个数据集,将目标数据转发至合适的本地复制管理设备,其中,所述至少一个数据集用于创建所述目标数据的复本。
根据所述第四方面的所述方法的另一实施方式中,所述提供的步骤包括将所述至少一个数据集转发至所述多个本地复制管理设备。
根据本发明的第五方面,提供了一种存储程序代码的计算机可读存储介质,所述程序代码包括在被处理器执行时,执行根据第三、第四方面及其任何其它实施方式的所述方法的指令。
除非另外定义,否则本文所使用的所有技术和/或科学术语都具有与本发明所涉及领域的技术人员通常所理解的相同的含义。尽管与本文所述的方法和材料类似或等效的材料和方法可以用于本发明的实施例的实践或测试,但下文描述示例性方法和/或材料。倘若有冲突,以本说明书,包括定义,以准。另外,材料、方法和实例仅为说明性的,并不意为必定限制性的。
附图说明
此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,需要强调的是所示的项目作为示例,为了说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。
在附图中:
图1为本发明的一些实施例的复制数据库的示例性过程的流程图;
图2A为根据本发明的一些实施例的一种下发待复制数据库的示例性设备的示意图;
图2B为根据本发明的一些实施例的一种接收待复制数据库的示例性设备的示意图;
图3为根据本发明的一些实施例的一种复制数据库的示例性系统的示意图;
图4为根据本发明的一些实施例的在设备间传送消息以复制数据库的顺序图;
图5为根据本发明的一些实施例的一个将源管理器注册到协调器实体的示例性过程的顺序图;
图6为根据本发明的一些实施例的一个将源DBMS服务器注册到复制过程协调实体的示例性过程的顺序图;
图7为根据本发明的一些实施例的一个向源DBMS服务器分派用于下发数据库的设备的示例性过程的流程图。
具体实施方式
在本发明的一些实施例中,本发明涉及一种管理复制操作的设备,更具体地但非排他地,涉及一种具有动态资源分配的独立数据库复制管理系统。
本发明的一些实施例中,本发明是一种针对DBMS服务器的网络动态分配资源以进行数据库复制的设备的系统。本文所使用的术语复制,指的是本地复制和/或地理复制。当需要复制服务时,管理实体将复制设备分配给源DBMS服务器和/或目标DBMS服务器。复制过程如下:源DBMS服务器将复制数据传送给源设备,源设备再通过WAN将数据传送给目标设备,目标设备将数据传送给目标DBMS服务器。源设备可以为用于管理复制动作的设备、或(源)复制管理设备,目标设备可以为远程复制管理设备。复制设备进行大部分与复制有关的处理任务,包括:将数据压缩、打包、下发至多个目标,WAN传输接口管理、纠错等。
如上文所描述,当配置的且已启用的源DBMS服务器处理客户端请求时,用于请求复制的消息通过LAN发送至管理的复制设备,所述复制设备在此也称为源管理器。与所请求复制有关的消息传送在此被称作复制事件。复制事件一旦经源管理器确认后,源DBMS服务器不再进行复制处理,可以返回为客户端数据库请求提供服务。从客户端到源管理器的复制事件可包括一批待进行的数据库操作,例如针对该数据库中各种对象的写入、更新、移除等。
源管理器处理复制事件,包括:将多个复制事件批处理成有待通过WAN下发的复合数据结构。复合数据结构可包括复制事件、目标数据、和/或与目标数据有关的元数据。源管理器与同目标DBMS服务器共址的管理的复制设备建立连接,目标DBMS服务器在此也称为目标管理器。源管理器和/或目标管理器操作WAN接口以将复合数据结构传送至目标管理器。目标管理器随后将数据传送至目标DBMS服务器。
在每一个复制过程之前和/或期间,可以动态分配目标管理器和/或源管理器。例如,可以将多个源管理器分配用于复制单个数据库,其中,每一个源管理器负责下发数据库的一段。并行下发的多个源管理器减少了复制时延,并且在故障情况下提供冗余。
在另一实例中,可以将多个目标管理器动态分配给单个目标DBMS服务器。可能需要多个目标管理器来处理通过WAN接口到达的复制流中的尖峰。
在复制过程期间,可以动态分配额外的源管理器和/或目标管理器,例如,从而替换出现技术问题的源管理器和/或目标管理器。
在复制事件期间,或在复制事件完成之后,还可以动态解分配为复制动作分配的源管理器和/或目标管理器。
在本发明的一些实施例中,本发明为DBMS服务器减去了相当大的数据及通信处理负担,从而在复制过程期间向数据库客户端提供更一致的DBMS服务器服务质量(qualityofservice,QoS),并且减少了数据库复制中的时延。复制资源的动态分配及解分配是节省成本的解决方案,因为其允许在不需要复制服务时复制计算资源进行其它计算及通信任务。动态分配还允许根据哪些资源当前较少载入来分布处理负荷,也允许通过动态重新分配任务从服务器故障中恢复。通过减少复制时延,分布式应用程序在访问大部分当前数据时经历很少的时延,不兼容数据库版本之间冲突的机会也更少。
在详细解释本发明的至少一个实施例之前,应理解,本发明在其申请案中不必限于在以下描述中阐述和/或在附图和/或实例中说明的组件和/或方法的构造和布置的细节。本发明能够具有其它实施例或以各种方式实践或实施。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括一个或多个计算机可读存储媒体,其上具有计算机可读程序指令以使处理器执行本发明的各个方面。
计算机可读存储媒体可以是有形设备,其可以保持和存储指令以供指令执行设备使用。计算机可读存储媒体可以是,例如但不限于:电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备或以上设备的任何合适组合。
本文中所描述的计算机可读程序指令可以从计算机可读存储媒体下载到相应计算/处理设备或通过网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。
计算机可读程序指令可作为独立软件包完全在用户的计算机上执行或部分地在用户的计算机上执行,部分地在用户的计算机上且部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括局域网(local area network,LAN)或广域网(wide area network,WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,借助于因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA)的电子电路可以通过利用计算机可读程序指令的状态信息使电子电路专用化来执行计算机可读程序指令,以便执行本发明的各个方面。
本文参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各个方面。应理解,可以通过计算机可读程序指令来实施流程图和/或框图中的每一方框,以及流程图和/或框图中的方框组合。
图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方案的架构、功能和操作。就此而言,流程图或框图中的每一方框可表示包括用于实施一个或多个指定逻辑功能的一条或多条可执行指令的指令模块、指令片段、或指令部分。在一些替代实施方案中,方框中提及的功能可以不按图中所示的次序发生。举例来说,根据所涉及的功能,连续示出的两个方框实际上可以大体上同时执行,或这些方框有时可以相反次序执行。还将注意到,框图和/或流程图中的每个方框,以及框图和/或流程图中的方框组合可以通过专用的基于硬件的系统实施,所述系统执行指定功能或动作,或实施专用硬件和计算机指令的组合。
现在参考图1,图1为根据本发明的一些实施例的一个复制数据库的示例性过程的流程图。可以将复制过程100看作是管理至少一个数据库从至少一个源DBMS服务器复制到至少一个目标DBMS服务器的过程。源DBMS服务器向源管理器发送事件,源管理器随后与目标管理器建立WAN连接。目标管理器通过WAN接收数据,然后向目标DBMS服务器发送数据。
可选地,源管理器200可以再次使用目标管理器此前建立的WAN连接。
现在参考图2A,图2A为根据本发明的一些实施例的一种示例性系统290内的用于下发待复制数据库的示例性源管理设备200的示意图。
源管理器200包括DBMS接口201、WAN接口202、一个或多个处理器220及存储器221。可选地,源管理器200可以部署在DBMS的处理空间中。
存储器221可包括一个或多个非瞬时性存储设备,如硬盘驱动器、闪存阵列等。存储器221可包括一个或多个软件模块,如WAN下发模块223、DBMS接收模块222及源注册模块224。其中,软件模块指多个存储于诸如存储器221的非瞬时性媒体中且由诸如一个或多个处理器220的处理器执行的程序指令。
DBMS接口201支持与网络203的连接,且可由诸如DBMS接收模块222的软件模块控制。DBMS接口201可为一组组网设备其中之一,该组网设备包括网络接口控制器(networkinterface controller,NIC)、LAN适配器,以及集成到另一组件中的NIC,如计算机主板和/或任何其它用作连接至LAN的物理接口的设备。
网络203可为任何类型的局域网(LAN),例如,以太网LAN、无线LAN,和/或任何其它类型的LAN网络。网络203可使用任何类型的数据组网协议,包括传输控制协议及因特网协议(transport control protocol and internet protocol,TCP/IP),以及用户数据报协议(user datagram protocol,UDP)等。
WAN接口202支持与WAN 204的连接,可以为任何类型的WAN接口设备,例如,WAN接口卡(WAN interface card,WIC)、路由器,或任何其它接入WAN的设备。WAN网络202可为任何类型的WAN网络,例如,光纤网络、电缆网络、微波网络等。WAN可以使用任何WAN协议,例如,非同步传输模式(Asynchronous Transfer Mode,ATM)、帧中继、宽带以太网等。
现在参考图2B,图2B为根据本发明的一些实施例的一种示例性系统140内的用于接收待复制数据库的示例性目标管理设备250的示意图。
目标管理器250包括DBMS接口201、WAN接口202、一个或多个处理器220及存储器221。可选地,目标管理器200可以部署在DBMS的处理空间中。
目标管理器250可与源管理器200相同,不同之处在于存储器221包括DBMS下发模块225、WAN接收模块226、替代DBMS接收模块222的目标注册模块227、WAN下发模块223和源注册模块224。可选地,单个计算平台,例如源管理器200,可以充当目标及源管理器,其中存储器221包括源管理器200及目标管理器250的模块。
现在再次参考图1。如图1所示,复制过程100开始于源DBMS服务器向源管理器200的DBMS接口201发送复制事件。例如,DBMS接收模块222可以通过代码指令操作DBMS接口201。当这些指令被执行时,DBMS接口201可以接收复制事件
复制事件可包括目标数据,包括待复制数据库和/或元数据。元数据可包括与复制相关的数据,包括待复制数据的数量的度量、一个或多个目标DBMS服务器的IP地址和/或端口号、一个或多个目标管理器250的IP地址和/或端口号、WAN QoS等级、时间戳、指示何时进行复制的时间,和/或与复制有关的任何其它类型的元数据。
可选地,目标数据包括复合数据类型,例如,对象、元对象、阵列、列表、类别、对象组成、记录、并集、合成数据类型,和/或任何其它复合数据类型。可选地,DBMS接收模块222包括代码指令,当被执行时,代码指令从复合数据结构中提取目标数据。
可选地,复合数据结构是自描述性数据结构、整合数据结构、和/或组合自描述性数据结构与整合数据结构的组合数据结构。自描述性和/或整合数据结构可以通过诸如可扩展标记语言(Extensible Markup Language,XML)、谷歌协议缓冲、ApacheAvro、JavaScript对象表示(JavaScript Obiect Notation,JSON)、专有协议等协议表示。
如102中所示,源管理器200与目标管理器250在WAN 204上建立连接。例如,可以通过执行WAN下发模块223中的代码指令来操作WAN接口202,以与指定目标管理器250建立连接。
可选地,源管理器200可以基于内嵌于元数据的规则来筛选复制事件,从而只包括与目标DBMS服务器相关的部分进行下发。
可选地,源管理器200可以基于内嵌于元数据的规则为复制事件选择一个或多个目标管理器250。
可选地,源管理器可以进行多个操作以优化流程,包括压缩目标数据、批处理成复合数据结构、将操作顺序保存在一个密钥哈希中、通过将所有操作放入同一个密钥哈希中优化所有操作等。例如,操作可以通过执行DBMS接收模块222中的代码来进行。压缩目标数据可以帮助减少WAN 204上的传输时延。
如103所示,源管理器200通过WAN 204将目标数据下发至目标管理器250,例如,通过执行WAN下发模块223中的代码指令来操作WAN接口202以向至少一个目标管理器250下发目标数据。目标管理器250接收下发的目标数据,例如,通过执行WAN接收模块226中的代码指令来操作WAN接口202。
例如,DBMS接收模块222可以通过编码指令来操作DBMS接口201。当这些指令被被执行时,接口接收复制事件。
如104中所示,目标管理器250将数据库发送至目标DBMS服务器。例如,DBMS下发模块225可以通过代码指令来操作DBMS接口201。当这些指令被执行时,DBMS下发模块225可以将在WAN接口202接收到的数据库下发给位于网络203上的一个或多个目标DBMS服务器。
参考图3,图3为根据本发明的一些实施例的一个复制数据库的示例性系统的示意图。如图3所示,可选地,集群A 130、集群B 230和集群C 330可以各自包括多个DBMS服务器,这些DBMS服务器可以充当源DBMS服务器和/或目标DBMS服务器。例如,集群A、B和/或C中的每一个DBMS服务器可以接收已复制的数据和/或复制数据。每一个集群可在地理上远离其它集群。
在本发明的另一个实施例中,在给定时间,集群可包括仅一个或多个源DBMS服务器,或仅一个或多个目标DBMS服务器。可选地,DBMS服务器可以充当源DBMS服务器和/或目标DBMS服务器。
每一个集群中的每一个源DBMS服务器可通过网络,例如网络203,连接至源管理器200。每一个目标DBMS服务器可通过网络,例如网络203,连接至目标管理器。源管理器200和目标管理器250通过WAN,例如WAN 204,互相连接。
现在参考图4,图4为根据本发明的一些实施例的在设备间传送消息以复制数据库的时序图。
如图4所示,源DBMS服务器401处理客户端请求402,客户端请求402包括向源管理器200广播复制事件403。在广播复制事件之后,源DBMS服务器401准备处理其它客户端请求。
复制事件可以含有元数据,包括针对一个或多个目标管理器的定位信息。例如,元数据可以包括字符串,元数据包括待使用的传输协议、一个或多个目标管理器的IP地址及端口例如,字符串可以为“tcp:10.82.49.59:1000”。
可选地,为了分散处理负荷、减小传输时延,源DBMS服务器可以向多个源管理器200发送复制事件,在每一个事件的元数据中指定待复制的数据库的一部分。
如403所示,源DBMS服务器401向源管理器200发送复制事件。
如404所示,在发送复制事件403后,且可选地,源管理器200已确认之后,源DBMS服务器401已经完成与复制有关的处理,可处理其它任务。
如405所示,源管理器200接收并处理复制事件403。如上文图1所描述的,接收和处理复制事件包括执行DBMS接收模块222中的代码以操作DBMS接口201。
如406所示,源管理器200向目标管理器,例如目标管理器250,下发数据。如上文图1中所描述的,下发数据包括执行WAN下发模块223中的代码以操作WAN接口202。
现在参考图5,图5为根据本发明的一些实施例的一个注册源管理器200的示例性过程500的顺序图,从而可以将源管理器200分配给源DBMS服务器。
过程500为涉及具体的源管理器200的过程,过程500必定发生于特定的源管理器200可以参与复制事件之前。因此,过程500中的第一步是源管理器注册到协调器502,协调器502跟踪可供使用的源管理器和/或目标管理器,向源DBMS服务器和/或目标DBMS服务器动态分配源管理器和/或目标管理器。
协调服务,本文称作协调器502,可以为源管理器200、目标管理器250和/或任何其它计算机服务器,所述计算机服务器包括:一个或多个处理器,例如一个或多个处理器200;网络接口,例如DBMS接口201;以及存储器,例如包括代码指令的存储器221,其中当被执行时,代码指令注册、分配目标和/或源管理器、记录---如果存在的话---源管理器和/或目标管理器当前进行哪些复制。
如501所示,例如由于网络管理员的动作,源管理器200发起操作。一旦被激活,源管理器200例如通过执行源注册模块224中的代码指令来向协调器502发送注册消息503。可选地,消息503可以为远程过程调用(remote procedure call,RPC)。可选地,所有复制事件通讯都可以为RPC。可选地,协调器502向信息503回复确认消息。协调器502随后准备好将源管理器200分配给源DBMS服务器,源管理器200随后准备好处理来自源DBMS服务器的复制事件。
可选地,注册消息503包括关于处理负荷、计算资源可用性和/或源管理器200的通信资源可使用性的信息。当处理负荷、计算资源和/或通信资源变化时,源管理器200可以动态地向协调器502发送额外的消息503。如504所示,可选地,协调器502存储所有注册的源管理器200的记录,跟踪每一个源管理器200的处理负荷、计算资源和/或通信资源。
可选地,源管理器200通过标准DBMS注册流程注册到协调器502。
可选地,目标管理器250注册到协调器的过程与上述图5所述的过程相同,不同之处仅在于包括在执行目标管理器250的目标注册模块227的代码时发送消息503,而不是在执行源管理器200的源注册模块224中的代码时。
可选地,协调器502可以向正在进行注册的目标管理器250提供WAN定位器。
可选地,协调器502可以在存储器例如存储器221中存储WAN 204的路由规则,该路由规则用于从源管理器200发送复制事件到一个或多个目标管理器250。协调器502可以向源管理器200发送路由规则,作为过程500的一部分。协调器502可以更新路由规则、在过程500结束之后的任何时间向关联的源DBMS服务器及源管理器广播已更新的路由规则。
现在参考图6,图6为根据本发明的一些实施例的一个将源DBMS服务器401注册到协调器502的示例性过程600的顺序图。
过程600为涉及具体的源DBMS服务器401的过程,该过程必定发生于特定的源DBMS服务器401可以请求复制事件之前。为了请求复制事件,源DBMS服务器401需要源管理器200的地址。因此,此过程中的一个步骤是源DBMS服务器401注册到协调器502。
如60l所示,例如由于网络管理员的动作,源DBMS服务器401发起操作。一旦被激活,源DBMS服务器401向协调器502发送注册消息602。可选地,消息602可以为RPC。
协调器502向消息602回复包括元数据的消息603。例如,元数据可以含有所有用于复制的目标管理器250的IP地址,和/或WAN链路的配置,其中WAN链路的配置可包括数据压缩配置、针对每个复合数据结构发送的操作数量、复合数据结构的大小、网络无反应时的逾时配置等。
如消息604所示,协调器502发送源管理器的位置,源DBMS服务器401会利用该位置发送复制事件403,如上文图4所描述的。源DBMS服务器401随后准备好向源管理器200发送复制事件。
现在参考图7,图7为根据本发明的一些实施例的协调器502将源管理器200分派给源DBMS服务器401的示例性过程的流程图。
如701所示,协调器502从源DBMS服务器401接收消息602。如702所示,协调器502在已注册的源管理器200当中进行搜索,以定位具有最多可用计算和/或通信资源的源管理器200。
可选地,协调器502分配计数器,该计数器表明分派给每一个源管理器200的源DBMS服务器的数量。可选地,协调器502分配计数器,该计数器表明每一个源管理器200正在进行的复制的数量。协调器401可以向源管理器200分配最低计数器值和/或计数器值组合。
可选地,可以根据其它标准和/或标准组合来选择待分配的源管理器,例如根据能否使用WAN资源、处理器的数量和/或处理器的处理能力、与其它软件进程协作或缺少协作、可用CPU周期、未使用的存储资源,和/或任何其它标准。
如703所示,协调器502发送消息603、604至源DBMS服务器401。
可选地,目标管理器250被配置成从协调器502接收配置参数的客户数据库应用。例如,配置参数可包括配分函数。在本发明的一些实施例中,配分函数是数据库对象的主键上的哈希函数。
对本发明各个实施例的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,本领域技术人员可以清楚理解许多修改和变化。相比于市场上可找到的技术,选择本文中使用的术语可最好地解释本实施例的原理、实际应用或技术进步,或使本领域其他技术人员理解本文中公开的实施例。
可预测,在从本申请案成长的专利的有效期期间,将开发出许多相关服务器且术语“服务器”的范围意图先验地包括所有此类新技术。
本文所使用的术语“约”是指±10%。
术语“包括”以及“具有”表示“包括但不限于”。此术语涵盖了术语“由……组成”以及“本质上由……组成”。
短语“主要由...组成”意指组成物或方法可以包括额外成分和/或步骤,但前提是所述额外成分和/或步骤不会实质上改变所要求保护的组成物或方法的基本和新颖特性。
除非上下文中另有明确说明,本文中使用的单数形式“一个”和“所述”包括复数含义。例如,术语“一个复合物”或“至少一个复合物”可以包括多个复合物,包括其混合物。
本文中使用的词语“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其它实施例,和/或并不排除包括其它实施例的特征。
本文中使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本发明的任意特定的实施例可以包括多个“可选的”特征,除非这些特征相互矛盾。
在整个本申请案中,本发明的各种实施例可以范围格式呈现。应理解,范围格式的描述仅为了方便和简洁起见,并且不应该被解释为对本发明范围的固定限制。因此,对范围的描述应被认为是已经具体地公开所有可能的子范围以及所述范围内的个别数值。例如,对例如从1到6的范围的描述应被认为是已经具体地公开了子范围,例如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及所述范围内的个别数字,例如1、2、3、4、5和6。不管范围的宽度如何,这都适用。
当本文中指出一个数字范围时,表示包括了在指出的这个范围内的任意所列举的数字(分数或整数)。短语“在第一个所指示的数和第二个所指示的数范围内”以及“从第一个所指示的数到第二个所指示的数范围内”和在本文中互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。
应了解,为简洁起见在单独实施例的上下文中描述的本发明的某些特征还可以在单个实施例中以组合形式提供。相反,为简洁起见,在单个实施例的上下文中描述的本发明的各个特征也可以单独地或以任何合适的子组合或作为本发明的任何合适的其它实施例提供。在各个实施例的上下文中描述的某些特征不应视为这些实施例的基本特征,除非没有这些元素所述实施例无效。
本说明书中提及的所有出版物、专利和专利申请案都通过引用本说明书结合在本说明书中,这可以视为每个单独的出版物、专利或专利申请案具体且单独地结合于本文中。此外,对本申请的任何参考的引用或识别不应解释为承认此类参考为本发明的现有技术。就使用节标题而言,不应该将节标题理解成必要的限定。
Claims (15)
1.一种管理复制动作的设备,其特征在于,包括:
数据库管理系统(database management system,DBMS)接口,用于从第一服务器集群中的多个本地DBMS服务器其中之一接收用于复制的目标数据及复制事件,所述复制事件包括针对多个其它本地DBMS服务器的第二服务器集群中的远程复制管理设备的指示;
网络接口,用于:
根据所述接收到的复制事件,与所述远程复制管理设备建立连接,
根据所述复制事件将所述目标数据转发至所述远程复制管理设备,以允许所述远程复制管理设备指示远程DBMS服务器创建所述目标数据的复本以供存储,所述远程DBMS服务器为所述第二服务器集群的成员。
2.根据权利要求1所述的设备,其特征在于,所述目标数据包括于复合数据结构中,所述设备还包括处理器,用于从所述复合数据结构中提取所述目标数据。
3.根据权利要求1所述的设备,其特征在于,所述复合数据结构包括所述目标数据和元数据操作记录。
4.根据权利要求2和3中任一权利要求所述的设备,其特征在于,所述复合数据结构选自包括自描述性数据结构、整合数据结构、及组合所述自描述性数据结构与所述整合数据结构的组合数据结构的组。
5.根据前述权利要求中任一权利要求所述的设备,其特征在于,所述处理器用于将所述目标数据压缩成多个包,其中,通过在网络上传输所述多个包来转发所述目标数据。
6.根据权利要求1到5中任一权利要求所述的设备,其特征在于,所述转发在广域网上进行。
7.根据前述权利要求中任一权利要求所述的设备,其特征在于,所述处理器用于在协调服务中注册所述设备,所述协调服务创建索引,所述索引用于将所述复制管理设备配置为用于管理所述目标数据用于存储的复本的创建的设备。
8.一种协调管理复制动作的系统,其特征在于,包括:
网络接口,用于:
监控多个本地复制管理设备的工作负荷,其中,所述多个本地复制管理设备分布式地分布在在多个地理上的远距离区域,所述多个本地复制管理设备中的每一个管理在多个数据库管理系统(database management system,DBMS)服务器中的每一个DBMS服务器中的复本的创建及存储,其中,所述多个DBMS服务器属于多个服务器集群中的一个服务器集群;
创建至少一个数据集,所述数据集用于根据所述工作负荷分派所述多个本地复制管理设备中的每一个以存储复本;以及
为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,从而允许基于所述至少一个数据集,将目标数据转发至合适的本地复制管理设备,其中,所述至少一个数据集用于创建所述目标数据的复本。
9.根据权利要求8所述的系统,其特征在于,所述为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,包括:将所述至少一个数据集转发至所述多个本地复制管理设备。
10.根据权利要求8所述的系统,其特征在于,所述为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,包括:将所述至少一个数据集存储在所述多个本地复制管理设备可访问的存储空间。
11.一种管理复制动作的方法,其特征在于,包括以下步骤:
从第一服务器集群中的多个本地数据库管理系统(database management system,DBMS)服务器其中之一接收用于复制的目标数据及复制事件,所述复制事件包括针对多个其它本地DBMS服务器的第二服务器集群中的远程复制管理设备的指示;
根据所述接收到的复制事件,与所述远程复制管理设备建立连接;
根据所述复制事件将所述目标数据转发至所述远程复制管理设备,以允许所述远程复制管理设备指示远程DBMS服务器创建所述目标数据的复本以供存储,所述远程DBMS服务器为所述第二服务器集群的成员。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:在协调服务中注册所述设备,所述协调服务创建索引,所述索引用于将所述复制管理设备配置为用于管理所述目标数据用于存储的复本的创建的设备。
13.一种协调管理复制动作的方法,其特征在于,包括以下步骤:
监控多个本地复制管理设备的工作负荷,其中,所述多个本地复制管理设备分布式地分布在在多个地理上的远距离区域,所述多个本地复制管理设备中的每一个管理在多个数据库管理系统(database management system,DBMS)服务器中的每一个DBMS服务器中的复本的创建及存储,其中,所述多个DBMS服务器属于多个服务器集群中的一个服务器集群;
创建至少一个数据集,所述数据集用于根据所述工作负荷分派所述多个本地复制管理设备中的每一个以存储复本;以及
为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,从而允许基于所述至少一个数据集,将目标数据转发至合适的本地复制管理设备,其中,所述至少一个数据集用于创建所述目标数据的复本。
14.根据权利要求13所述的方法,其特征在于,所述为所述多个本地复制管理设备提供对所述至少一个数据集的访问入口,包括:将所述至少一个数据集转发至所述多个本地复制管理设备。
15.一种存储程序代码的计算机可读存储介质,其特征在于,所述程序代码包括在被处理器执行时,执行根据权利要求11到14中任一权利要求所述的方法的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16194085.3A EP3309692A1 (en) | 2016-10-17 | 2016-10-17 | Method for elastic geographical database replication |
EP16194085.3 | 2016-10-17 | ||
PCT/CN2017/086912 WO2018072450A1 (en) | 2016-10-17 | 2017-06-02 | Method for elastic geographical database replication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109804365A true CN109804365A (zh) | 2019-05-24 |
Family
ID=57137947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780062286.8A Pending CN109804365A (zh) | 2016-10-17 | 2017-06-02 | 弹性地理数据库复制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190272280A1 (zh) |
EP (1) | EP3309692A1 (zh) |
CN (1) | CN109804365A (zh) |
WO (1) | WO2018072450A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666724B1 (en) * | 2018-11-20 | 2020-05-26 | Microsoft Technology Licensing, Llc | Geo-replicated IoT hub |
WO2020119000A1 (en) * | 2018-12-10 | 2020-06-18 | Huawei Technologies Co., Ltd. | On-demand network-based replication agent |
CN111629017B (zh) * | 2019-02-28 | 2023-12-05 | 北京京东尚科信息技术有限公司 | 一种信息处理方法及装置、设备、存储介质 |
CN110716899A (zh) * | 2019-09-25 | 2020-01-21 | 重庆紫光华山智安科技有限公司 | 一种文件、图片快速读取方法、系统、介质及电子终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711845B2 (en) * | 2001-03-26 | 2010-05-04 | Webs, Inc. | Apparatus, method and system for improving application performance across a communications network |
WO2014003534A1 (en) * | 2012-06-29 | 2014-01-03 | Intel Corporation | Network routing protocol power saving method for network elements |
CN103765817A (zh) * | 2011-08-30 | 2014-04-30 | 国际商业机器公司 | 从源服务器向目标服务器复制数据对象 |
CN104424283A (zh) * | 2013-08-30 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种数据迁移的系统和数据迁移的方法 |
CN104679907A (zh) * | 2015-03-24 | 2015-06-03 | 新余兴邦信息产业有限公司 | 高可用高性能数据库集群的实现方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510270B2 (en) * | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
EP2701064B1 (en) * | 2012-08-24 | 2019-04-10 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | Robust tenant placement and migration in database-as-a-service environments |
US10298678B2 (en) * | 2014-02-17 | 2019-05-21 | International Business Machines Corporation | Omnichannel approach to application sharing across different devices |
-
2016
- 2016-10-17 EP EP16194085.3A patent/EP3309692A1/en not_active Ceased
-
2017
- 2017-06-02 CN CN201780062286.8A patent/CN109804365A/zh active Pending
- 2017-06-02 WO PCT/CN2017/086912 patent/WO2018072450A1/en active Application Filing
-
2019
- 2019-04-16 US US16/385,593 patent/US20190272280A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711845B2 (en) * | 2001-03-26 | 2010-05-04 | Webs, Inc. | Apparatus, method and system for improving application performance across a communications network |
CN103765817A (zh) * | 2011-08-30 | 2014-04-30 | 国际商业机器公司 | 从源服务器向目标服务器复制数据对象 |
WO2014003534A1 (en) * | 2012-06-29 | 2014-01-03 | Intel Corporation | Network routing protocol power saving method for network elements |
CN104424283A (zh) * | 2013-08-30 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种数据迁移的系统和数据迁移的方法 |
CN104679907A (zh) * | 2015-03-24 | 2015-06-03 | 新余兴邦信息产业有限公司 | 高可用高性能数据库集群的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018072450A1 (en) | 2018-04-26 |
US20190272280A1 (en) | 2019-09-05 |
EP3309692A1 (en) | 2018-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487850B (zh) | 一种云环境下获取镜像的方法、装置和系统 | |
CN105074702B (zh) | 提供单租户和多租户环境的数据库系统 | |
Nathan et al. | Comicon: A co-operative management system for docker container images | |
CN105607954B (zh) | 一种有状态容器在线迁移的方法和装置 | |
US10108632B2 (en) | Splitting and moving ranges in a distributed system | |
US8495017B2 (en) | Method and system to maintain strong consistency of distributed replicated contents in a client/server system | |
US10146848B2 (en) | Systems and methods for autonomous, scalable, and distributed database management | |
CN109804365A (zh) | 弹性地理数据库复制方法 | |
US10757076B2 (en) | Enhanced network processing of virtual node data packets | |
CN106790660A (zh) | 一种实现分布式存储系统的部署方法及装置 | |
CN107690800A (zh) | 管理动态ip地址分配 | |
CN108351860A (zh) | 低延迟的基于rdma的分布式存储装置 | |
US10795662B2 (en) | Scalable artifact distribution | |
CN107925633A (zh) | 数据中心资源跟踪 | |
CN109067827A (zh) | 基于Kubernetes和OpenStack容器云平台多租户构建方法、介质、设备 | |
US10608951B2 (en) | Live resegmenting of partitions in distributed stream-processing platforms | |
US20190205172A1 (en) | Computer-implemented methods and systems for optimal placement and execution of software workloads in a geographically distributed network of compute nodes | |
CN109117259A (zh) | 任务调度方法、平台、装置及计算机可读存储介质 | |
CN105978744B (zh) | 一种资源分配方法、装置及系统 | |
US10341437B2 (en) | Adding logical sharding to a distributed system with only physical sharding | |
CN115834600A (zh) | 一种多云纳管数据同步方法、装置、电子设备和存储介质 | |
CN113114503B (zh) | 基于应用交付网络需求的部署方法及装置 | |
US10693705B2 (en) | Show command service aka CLI relay | |
Chandrasekaran et al. | CASE: A context-aware storage placement and retrieval ecosystem | |
de Jong et al. | Sharing digital object across data infrastructures using Named Data Networking (NDN) |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190524 |