CN115033428A - 分布式数据库的管理方法、系统及管理服务器 - Google Patents
分布式数据库的管理方法、系统及管理服务器 Download PDFInfo
- Publication number
- CN115033428A CN115033428A CN202210682505.5A CN202210682505A CN115033428A CN 115033428 A CN115033428 A CN 115033428A CN 202210682505 A CN202210682505 A CN 202210682505A CN 115033428 A CN115033428 A CN 115033428A
- Authority
- CN
- China
- Prior art keywords
- database
- zookeeper cluster
- backup
- agent
- temporary node
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了分布式数据库的管理方法,包括:数据库代理对相应的数据库进行探测是否发生故障;当数据库发生故障时,数据库代理与zookeeper集群断开连接;zookeeper集群检测是否存在销毁的临时节点;zookeeper集群发送临时节点销毁消息至ha manager;ha manager接收临时节点销毁消息后,将对出现故障的数据库切换至备份数据库;数据库代理对数据库进行探测以探测数据库是否恢复;以及当数据库恢复时,ha manager将恢复的数据库作为备份数据库并产生反馈信息给zookeeper集群以使zookeeper集群新增恢复的数据库的临时节点。本申请能够更加高效的实行数据库的切换,且当故障的数据库恢复能自动加入zookeeper集群从而减少人力的浪费。
Description
技术领域
本申请涉及移动互联网领域,尤其涉及一种分布式数据库的管理方法、系统、计算机可读存储介质及分布式数据库系统的管理服务器。
背景技术
开源数据库MySQL的高可用性一直是MySQL本身的短板,业界当前的做法是基于MySQL的主数据库与备份数据库复制加上对主数据库与从数据库进行切换的高可用开源工具组合来实现MySQL主从集群的高可用性,其中,高可用架构(Master HA,MHA)是这些开源切换工具里的代表,其优点很多,比如:主库(Master)自动监控和故障转移,切换时,保障主数据库数据与备份数据库的据的一致性。但采用上述高可用架构,在当时设计开发时,跨互联网数据中心(IDC)的情况还很少,所有对于多互联网数据中心(IDC)的情况考虑不多。
发明内容
有鉴于此,实有必要提供一种更加高效的分布式数据库的管理方法、分布式数据库系统、计算机可读存储介质及分布式数据库系统的管理服务器。
第一方面,本申请实施例提供一种分布式数据库的管理方法,所述分布式数据库的管理方法包括下面步骤:数据库代理对相应的数据库进行探测以探测所述数据库是否发生故障;当所述数据库发生故障时,所述数据库代理与zookeeper集群断开连接;zookeeper集群检测是否存在销毁的临时节点,所述临时节点为每一数据库代理与所述zookeeper集群建立连接时创建且在所述数据库代理与zookeeper集群断开连接自动销毁;所述zookeeper集群发送所述临时节点销毁消息至ha manager;所述ha manager接收所述临时节点销毁消息后,将对出现故障的数据库切换至备份数据库;所述数据库代理对所述数据库进行探测以探测所述数据库是否恢复;以及当所述数据库恢复时,所述ha manager将所述恢复的数据库作为备份数据库并产生反馈信息给所述zookeeper集群以使所述zookeeper集群新增所述恢复的数据库的临时节点。
第二方面,本申请实施例提供一种分布式数据库系统,其特征在于,所述分布式数据库系统包括:zookeeper集群;与所述zookeeper集群连接的数据库代理;与每一数据库代理对应的数据库;以及分布式数据库的管理服务器,所述分布式数据库的管理服务器包括ha manager,所述ha manager包括:数据库切换模块,用当接收到临时节点销毁消息后,将对出现故障的数据库切换至备份数据库,所述临时节点销毁消息通过zookeeper集群发送至ha manager;数据库切换模块还用于当所述出现故障的数据库恢复后,将所述恢复的数据库作为备份数据库;切换信息反馈模块,在接收到恢复的数据库时,产生反馈信息并发送给所述zookeeper集群以使所述zookeeper集群新增所述恢复的数据库的临时节点。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序指令,所述程序指令可被处理器执行以实现如上所述的分布式数据库的管理方法。
第四方面,本申请实施例提供一种分布式数据库的管理服务器,其特征在于,所述分布式数据库的管理服务器包括:计算机可读存储介质,用于存储程序指令,处理器以及总线执行所述程序指令以实现上所述的分布式数据库的管理方法。
上述分布式数据库的管理方法、分布式数据库系统、计算机可读存储介质及分布式数据库的管理服务器,通过在zookeeper集群中创建与数据库相对应的临时节点,可以更加的快速发现对应的数据库出现故障并及时进行切换。当检测故障的数据库恢复后,重新与zookeeper集群建立连接,无需人工手动加入,从而减少了人力的浪费,使得分布式数据库的管理更加的高效。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1本申请实施例提供的分布式数据库的管理方法的流程图。
图2为本申请实施例提供的分布式数据库的管理方法的第一子流程图。
图3为本申请实施例提供的分布式数据库的管理方法的第二子流程图。
图4为本申请实施例提供的分布式数据库的管理方法的第三子流程图。
图5为本申请实施例提供的分布式数据库的管理方法的第四子流程图。
图6为本申请实施例提供的分布式数据库的管理方法的第五子流程图。
图7为本申请实施例提供的分布式数据库的管理服务器的内部结构示意图。
图8为本申请实施例提供的分布式数据库的管理方法的分布式数据库系统示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请结合参看图1和图8,图1为本申请实施例提供的分布式数据库的管理方法的流程图,图8为本申请实施例提供的分布式数据库的管理方法的分布式数据库系统示意图。分布式数据库系统1包括:zookeeper集群200、ha manager300、与所述zookeeper集群200连接的数据库代理100和数据库400。分布式数据库的管理方法具体包括步骤S102-S114。
步骤S102,数据库代理100对相应的数据库进行探测以确认所述数据库400是否发生故障。可以理解地,数据库代理100(mysql agent)与zookeeper集群200(分布式应用程序协调服务软件)连接成功后,在zookeeper集群200中创建与数据库代理100相对应的数据库的IP地址,数据库代理100实时向数据库400发送心跳包,数据库400接收到心跳包后响应一个心跳包给数据库代理100,则数据库代理100判断数据库400状态正常。若数据库代理100向数据库400发送心跳包后在TCP连接会话结束时间内一直未收到数据库400响应的心跳包后,则数据库代理100判断数据库400出现故障。
步骤S104,当数据库400发生故障时,数据库代理100与zookeeper集群200断开连接。可以理解地,当数据库代理100根据设置的连接时间和连接次数多次向数据库400发送传输控制协议(TCP)连接,但在TCP连接会话结束时间内数据库400一直没有响应,则数据库代理100判断数据库400已经发生故障了,此时数据库400与数据库代理100之间的会话中断,当数据库代理100与数据库400会话中断后,所述数据库代理100与zookeeper集群200断开连接。具体描述详见下文。
步骤S106,zookeeper集群200检测是否存在销毁的临时节点,所述临时节点为每一数据库代理100与所述zookeeper集群200建立连接时创建且在所述数据库代理100与zookeeper集群200断开连接后自动销毁。可以理解地,当数据库代理100将数据库400故障信息发送至zookeeper集群200,并断开了与zookeeper集群200之间的连接,zookeeper集群200中的监听机制发现数据库代理100与zookeeper集群200断开了连接,zookeeper集群200将与数据库代理100相对应创建的数据库400对应的临时节点销毁。
步骤S108,zookeeper集群200发送临时节点销毁消息至ha manager 300。可以理解地,当临时节点被销毁后监听机制生成了该临时节点对应的事件类型,并在zookeeper集群200监听机制列表中删除了该销毁的临时节点信息。zookeeper集群200将该销毁的临时节点事件类型和该销毁的临时节点的节点信息打包成数据包利用TCP连接将数据包发送至ha manager 300。
步骤S110,ha manager 300接收临时节点销毁消息后,将出现故障的数据库400切换至备份数据库。可以理解地,当ha manager 300接收到zookeeper集群200发送过来的数据包后对zookeeper集群200发送过来的数据包进行分析,根据发送过来的销毁的临时节点的事件类型确定该临时节点被销毁,ha manager 300再根据销毁的临时节点的节点信息判断该销毁的临时节点所对应的数据库400是主数据库还是备份数据库。ha manager 300确认销毁的临时节点所对应的数据库400后,ha manager 300开始对备份数据库当前运行状态进行确认,将故障的数据库400与备份数据库进行切换。具体如何切换详见下文描述。
步骤S112,数据库代理100对数据库400进行探测以确认数据库400是否恢复。可以理解地,当数据库400发生了故障,数据库代理100根据设置的连接时间持续不断的对故障的数据库400进行尝试重启,当数据库代理100对数据库400发送的连接请求有响应时,则判断数据库400已恢复,当数据库代理100对数据库400发送的连接请求还是连接超时一直未响应,则判断数据库400还处于故障。
举例来说,当数据库400发生故障,数据库代理100第一次在数据库400故障发生的1分钟内尝试对故障的数据库400进行3次重启,若在1分钟内的2次尝试重启,数据库400一直没有响应,则在数据库400发生故障的3分钟后再次对故障的数据库400进行3次重启。若数据库400还是没有响应,则在故障的数据库400发生的5分钟后再次对故障的数据库400尝试重启5次,以此类推,直至数据库400出现响应重新与数据库代理100建立连接。
步骤S114,当数据库400恢复时,ha manager 300将恢复的数据库400作为备份数据库并产生反馈信息给zookeeper集群200,以使zookeeper集群200新增恢复的数据库400的临时节点。可以理解地,当数据库代理100对数据库400发送请求连接,数据库400在请求会话的时间内响应请求连接至数据库代理100,则数据库代理100认为对数据库400尝试重启成功,则数据库代理100与数据库400重启建立起连接,并且当数据库代理100与数据库400连接成功后,数据库代理100开始对zookeeper集群200发送TCP连接请求创建临时节点,zookeeper集群200接收到数据库代理100发送过来的请求重新建立连接的数据包后,分析数据包,并将分析数据包的结果发送至ha manager 300,ha manager300接受到后该数据包,并将该数据包的操作结果反馈给zookeeper集群200,zookeeper集群200接收到hamanager 300发送过来的反馈信息,根据ha manager 300反馈的数据包中的信息创建该数据库所对应的临时节点。具体如何加入下文详细描述。
上述实施例,通过数据库代理100发现数据库400故障后与zookeeper断开连接,进而可以更快的发现数据库400故障并通知ha manager 300进行故障切换,从而更加高效的的实现分布式数据库的管理方法。
请结合参看图2,其为本申请实施例提供的分布式数据库的管理方法的第一子流程图。步骤S110,具体包括步骤S202-S206。
步骤S202,ha manager 300接收到临时节点销毁消息,判断销毁的临时节点信息是否为主数据库。可以理解地,当ha manager 300接收到zookeeper集群200利用TCP连接发送过来的数据包后,对数据包进行分析,查看事件类型和节点信息,当事件类型为临时节点被销毁时,则判断该临时节点对应的数据库400发生了故障,再查看该数据包中的节点信息,根据节点信息中的临时节点所对应的数据库IP地址,ha manager 300根据数据库400IP地址查阅该数据库400信息,根据数据库400信息确定该故障数据库400是否为主数据库
步骤S204,当销毁的临时节点为主数据库时,则将主数据库切换至同城备份数据库或者异地备份数据库。可以理解地,当ha manager 300根据数据库400信息确定发生故障的数据为主数据库时,ha manager 300发送查阅备份数据库状态的心跳包检查备份数据库的状态,ha manager 300根据备份数据库响应的备份数据库的状态,将故障的主数据库切换成运行状态正常的备份数据库。具体主数据库如何切换备份数据库下文详细描述。
步骤S206,当销毁的临时节点为同城备份数据库时,则将同城备份数据库切换至异地备份数据库。可以理解地,当ha manager 300根据数据库400信息确定发生故障的数据为同城备份数据库时,ha manager 300发送查阅异地备份数据库状态的心跳包,根据异地备份数据库响应的异地备份数据库的状态,将故障的同城备份数据库切换成运行状态正常的异地备份数据库。
请结合参看图3,其为本实施例提供的分布式数据库的管理方法的第二子流程图。步骤S204,具体包括步骤S302-S308。
步骤S302,ha manager 300判断备份数据库状态。可以理解地,当故障的数据库400为主数据库时,ha manager 300利用TCP连接发送心跳包查阅部署的分布式系统下备份数据库的运行状态。当备份数据库运行状态正常利用TCP响应心跳包,当ha manager 300接收到备份数据库响应的心跳包后判断该备份数据库运行正常;当备份数据库接收到hamanager 300发送的心跳包。但ha manager 300在TCP连接会话时间内并没有接收到备份数据库响应的心跳包,则ha manager 300判断该备份数据库出现故障。
步骤S304,当同城备份数据库状态正常时,ha manager将主数据库切换至同城备份数据库。可以理解地,ha manager 300在主数据发生故障后,先对同城的备份数库利用TCP连接发送心跳包,当同城的备份数据库接收到ha manager300发送过来的心跳包后利用TCP连接向ha manager 300响应一个收到的心跳包后,ha manager 300判断该同城的备份数据库运行状态正常,则将该同城的备份数据库与故障的主数据库进行切换。
步骤S306,当同城备份数据库状态异常时,ha manager将主数据库切换至异地备份数据库。可以理解地,ha manager 300在主数据发生故障后,先对同城的备份数库利用TCP连接发送心跳包,当同城的备份数据库接收到ha manager 300发送过来的心跳包后在TCP会话结束的时间内一直没有收到同城的备份数据库响应的心跳包后,ha manager 300判断该同城的备份数据库运行状态出现异常,则开始对异地备份数据库发送心跳包,当收到异地响应的心跳包后,ha manager 300判断该异地备份数据库运行状态正常,则将该异地备份数据库与故障的主数据库进行切换。
步骤S308,ha manager 300对主数据库切换成功后,将绑定在所述主数据库的虚拟地址换绑到切换后的备份数据库上。可以理解地,当ha manager 300对主数据库与备份数据库进行切换成功后,ha manager 300查看主数据库的日志,将主数据库中的日志同步到备份数据库中,备份数据读取主数据库的日志,将日志内容写入到备份数据库中,备份数据库写入完成后,ha manager 300将原绑定在主数据库IP地址的虚拟IP地址换绑到备份数据库的IP地址上。
上述实施例,通过ha manager 300判断故障的是否为主数据库,进而采用不同的方式对故障的数据库400进行切换,实现了高可用架构(MHA)未实现的备份数据库故障处理。
请结合参看图4,其为本申请实施例提供的分布式数据库的管理方法的第三子流程图。步骤S102,具体包括步骤S402-S408。
步骤S402,数据库代理100发送请求连接数据包到zookeeper集群200进行注册。可以理解地,数据库代理100将数据库代理100对应的数据库400的IP地址和端口号打包成数据包,通过TCP连接将数据包发送给zookeeper集群200,zookeeper集群200注册机制接收到数据探测节点发送过来的数据包,并利用TCP响应于数据库代理100。
步骤S404,zookeeper集群200监听探测节点的注册信息。可以理解地,zookeeper集群200中的监听机制,监听到有数据库代理100想要创建临时节点,监听机制开始对数据库代理100发送过来的数据包开始分析。
步骤S406,zookeeper集群200将数据库代理100写入监听事件列表。可以理解地,监听机制开始对数据库代理100发送过来的数据包进行分析,将数据包中的数据库400IP地址和端口号一起写入监听事件列表中并一一对应。
步骤S408,zookeeper集群200创建探测节点的临时节点。可以理解地,zookeeper集群200的监听机制对该数据库400写好后,将监听到的该数据库400的信息打包成数据包通过TCP连接发送至ha manager 300。根据ha manager 300响应的数据包创建该数据库400对应的临时节点。。
请结合参看图5,其为本申请实施例提供的分布式数据库的管理方法的第四子流程图。步骤S114,具体包括步骤S502-S508。
步骤S502,数据库代理100发送连接请求到zookeeper集群200。可以理解地,当故障的数据库400恢复后,数据库代理100重新与数据库400建立连接后,数据库代理100将恢复后的数据库400的IP地址和端口号打包,数据库代理100利用TCP连接将数据包发送给zookeeper集群200。
步骤S504,zookeeper集群200重新创建与数据库400相对应的临时节点。可以理解地,zookeeper集群200接收到数据库代理100发送过来的数据包后对数据包进行分析,且zookeeper集群200监听机制重新将数据库代理100发送的数据包中的数据库400对应的IP地址和端口号,重新写入监听事件列表。
步骤S506,zookeeper集群200将临时节点信息发送至ha manager 300。可以理解地,zookeeper集群200对数据库代理100发送过来的数据库400写入zookeeper监听事件列表中后,zookeeper集群200监听机制将临时节点的信息中临时节点所对应的数据库400的IP地址和端口号与事件类型为创建临时节点一起打包成数据包,通过TCP连接将数据包发送至ha manager 300。
步骤S508,ha manager 300将数据库临时节点信息重新加入zookeeper集群200的数据库集群中。可以理解地,ha manager 300接收到zookeeper集群200发送过来的数据包后,ha manager 300对数据包进行分析,并将数据包中的临时节点的事件类型,与临时节点所对应的数据库400的IP地址和端口号,ha manager 300将信息一起写入ha manager 300中与数据库400和zookeeper集群200相对应的监听列表中,并利用TCP连接响应数据包至zookeeper集群200中,zookeeper集群200收到ha manager 300。发送过来的数据包后,根据数据包中的该数据库400的相关信息在zookeeper集群200中以备份数据库的形式增加相对应的临时节点于zookeeper集群中。
请结合参看图5,其为本申请实施例提供的分布式数据库的管理方法的第五子流程图。步骤S104发生之前,具体还包括步骤S602-S610。
步骤S602,数据库代理100检测到数据库400发生故障。可以理解地,数据库代理100实时向数据库400发送心跳包,探测数据库400的当前状态,当数据库代理100发送心跳包后,在TCP连接会话结束时间内一直未收到数据库400的响应的心跳包后,则数据库代理100发现数据库400出现故障。
步骤S604,数据库代理100重启数据库400。可以理解地,数据库代理100尝试在设置的时间内不断的向数据库400发送请求连接,尝试对数据库400进行重新启动。
步骤S606,数据库代理判断数据库400是否重启成功。可以理解地,若数据库代理100在设置的时间内根据设置的重启次数尝试均未收到数据库400的响应,则数据库代理100判断数据库400出现了故障,若数据库代理100在设置的时间内根据设置的重启次数尝试重启成功后,则数据库代理100判断数据库400恢复正常未发生故障
步骤S608,当数据库代理100重启数据库400成功时,数据库代理100与zookeeper集群200保持连接。可以理解地,若数据库代理100在设置的时间内根据设置的重启次数尝试重启成功后,则数据库代理100判断数据库400恢复正常未发生故障,则数据库代理100继续与数据库400保持连接。
步骤S610,当数据库代理100重启数据库400失败时,数据库代理100与zookeeper集群200断开连接。可以理解地,若数据库代理100在设置的时间内根据设置的重启次数尝试均未收到数据库400的响应,则数据库代理100判断数据库400出现了故障,则数据库代理100与数据库400断开连接并将数据库400故障信息发送至zookeeper集群200,并断开与zookeeper集群200的连接。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如上述实施例中记载的任一方法的部分或全部步骤。
请结合参看图7,其为本申请实施例提供的MYSQL分布式系统的管理服务器的内部结构示意图。MYSQL分布式系统的管理服务器10包括计算机可读存储介质11、处理器12以及总线13。其中,计算机可读存储介质11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。计算机可读存储介质11在一些实施例中可以是MYSQL分布式系统的管理服务器10的内部存储单元,例如MYSQL分布式系统的管理服务器10的硬盘。计算机可读存储介质11在另一些实施例中也可以是的外部MYSQL分布式系统的管理服务器10存储设备,例如MYSQL分布式系统的管理服务器10上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,计算机可读存储介质11还可以既包括MYSQL分布式系统的管理服务器10的内部存储单元也包括外部存储设备。计算机可读存储介质11不仅可以用于存储安装于MYSQL分布式系统的管理服务器10的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
总线13可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,MYSQL分布式系统的管理服务器10还可以包括显示组件14。显示组件14可以是发光二极管(Light Emitting Diode,LED)显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示组件14也可以适当的称为显示装置或显示单元,用于显示在MYSQL分布式系统的管理服务器10中处理的信息以及用于显示可视化的用户界面。
进一步地,MYSQL分布式系统的管理服务器10还可以包括通信组件15。通信组件15可选地可以包括有线通信组件和/或无线通信组件,如WI-FI通信组件、蓝牙通信组件等,通常用于在MYSQL分布式系统的管理服务器10与其他智能控制设备之间建立通信连接。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行计算机可读存储介质11中存储的程序代码或处理数据。具体地,处理器12执行处理程序以控制MYSQL分布式系统的管理服务器10实现分布式数据库的管理方法可以理解地,图7仅示出了具有组件11-15以及分布式数据库的管理方法的MYSQL分布式系统的管理服务器10,本领域技术人员可以理解的是,图7示出的结构并不构成对MYSQL分布式系统的管理服务器10的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘且本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所列举的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种分布式数据库的管理方法,其特征在于,所述分布式数据库系统包括:zookeeper集群、ha manager、与所述zookeeper集群连接的数据库代理和数据库,所述分布式数据库的管理方法包括:
数据库代理对相应的数据库进行探测以确认所述数据库是否发生故障;
当所述数据库发生故障时,所述数据库代理与zookeeper集群断开连接;
zookeeper集群检测是否存在销毁的临时节点,所述临时节点为每一数据库代理与所述zookeeper集群建立连接时创建且在所述数据库代理与zookeeper集群断开连接后自动销毁;
所述zookeeper集群发送所述临时节点销毁消息至ha manager;
所述ha manager接收所述临时节点销毁消息后,将出现故障的数据库切换至备份数据库;
所述数据库代理对所述数据库进行探测以确认所述数据库是否恢复;以及
当所述数据库恢复时,所述ha manager将所述恢复的数据库作为备份数据库并产生反馈信息给所述zookeeper集群,以使所述zookeeper集群新增所述恢复的数据库的临时节点。
2.如权利要求1所述的分布式数据库的管理方法,其特征在于,所述数据库包括主数据库、与所述主数据相对应的同城备份数据库和异地备份数据库,所述同城备份数据库为所述主数据的备份数据库,所述异地备份数据库为所述同城备份数据库,所述ha manager接收所述临时节点销毁消息后,将出现故障的数据库切换至备份数据库具体包括:
ha manager接收到所述临时节点销毁消息,判断销毁的临时节点信息是否为主数据库;
当销毁的临时节点为主数据库时,则将所述主数据库切换至同城备份数据库或者异地备份数据库;以及
当销毁的临时节点为同城备份数据库时,则将所述同城备份数据库切换至异地备份数据库。
3.如权利要求2所述的分布式数据库的管理方法,其特征在于,当销毁的临时节点为主数据库时,则将所述主数据库切换至同城备份数据库或者异地备份数据库还具体包括:
ha manager判断备份数据库状态;
当同城备份数据库状态正常时,ha manager将所述主数据库切换至同城备份数据库;以及
当同城备份数据库状态异常时,ha manager将所述主数据库切换至异地备份数据库。
4.如权利要求2所述的分布式数据库的管理方法,其特征在于,所述当销毁的临时节点为主数据库时,则将所述主数据库切换至同城备份数据库或者异地备份数据库还包括:
ha manager对主数据库切换成功后,将绑定在所述主数据库的虚拟地址换绑到切换后的同城备份数据库或者异地备份数据库上。
5.如权利要求1所述的分布式数据库的管理方法,其特征在于,所述数据库代理对相应的数据库进行探测之前还包括:
数据库代理发送请求连接数据包到zookeeper集群进行注册;
zookeeper集群监听所述探测节点的注册信息;
zookeeper集群将数据库代理写入监听事件列表;以及
zookeeper集群创建所述探测节点的临时节点。
6.如权利要求1所述的分布式数据库的管理方法,其特征在于,当所述数据库恢复时,所述zookeeper集群新增该数据库临时节点具体包括:
所述数据库代理发送连接请求到所述zookeeper集群;
所述zookeeper集群重新创建与所述数据库相对应的临时节点;
所述zookeeper集群将所述临时节点信息发送至ha manager;以及
所述ha manager将所述数据库临时节点信息重新加入zookeeper集群的数据库集群中。
7.如权利要求1所述的分布式数据库的管理方法,其特征在于,所述数据库发生故障,所述数据库代理与zookeeper集群断开连接之前具体包括:
所述数据库代理检测到所述数据库发生故障;
所述数据库代理重启数据库;
所述数据库代理判断数据库是否重启成功;
当数据库代理重启数据库成功时,所述数据库代理与zookeeper集群保持连接;以及
当数据库代理重启数据库失败时,所述数据库代理与zookeeper集群断开连接。
8.一种分布式数据库系统,其特征在于,所述分布式数据库系统包括:
zookeeper集群;
与所述zookeeper集群连接的数据库代理;
与每一数据库代理对应的数据库;以及
分布式数据库的管理服务器,所述分布式数据库的管理服务器包括ha manager,所述ha manager包括:
数据库切换模块,用当接收到临时节点销毁消息后,将对出现故障的数据库切换至备份数据库,所述临时节点销毁消息通过zookeeper集群发送至ha manager;数据库切换模块还用于当所述出现故障的数据库恢复后,将所述恢复的数据库作为备份数据库;
切换信息反馈模块,在接收到恢复的数据库时,产生反馈信息并发送给所述zookeeper集群以使所述zookeeper集群新增所述恢复的数据库的临时节点。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序指令,所述程序指令可被处理器执行以实现如权利要求1至7中任一项所述的分布式数据库的管理方法。
10.一种分布式数据库的管理服务器,其特征在于,所述管理服务器包括:
计算机可读存储介质,用于存储程序指令;以及
处理器执行所述程序指令以实现如权利要求1至7中任一项所述的分布式数据库的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682505.5A CN115033428A (zh) | 2022-06-16 | 2022-06-16 | 分布式数据库的管理方法、系统及管理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210682505.5A CN115033428A (zh) | 2022-06-16 | 2022-06-16 | 分布式数据库的管理方法、系统及管理服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115033428A true CN115033428A (zh) | 2022-09-09 |
Family
ID=83124300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210682505.5A Pending CN115033428A (zh) | 2022-06-16 | 2022-06-16 | 分布式数据库的管理方法、系统及管理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033428A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024125111A1 (zh) * | 2022-12-12 | 2024-06-20 | 华为云计算技术有限公司 | 云服务告警的方法和装置、系统以及计算节点 |
-
2022
- 2022-06-16 CN CN202210682505.5A patent/CN115033428A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024125111A1 (zh) * | 2022-12-12 | 2024-06-20 | 华为云计算技术有限公司 | 云服务告警的方法和装置、系统以及计算节点 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9189316B2 (en) | Managing failover in clustered systems, after determining that a node has authority to make a decision on behalf of a sub-cluster | |
CN111190747A (zh) | 用于消息队列的消息丢失检测方法和装置 | |
US7788520B2 (en) | Administering a system dump on a redundant node controller in a computer system | |
US8266474B2 (en) | Fast cluster failure detection | |
CN102360324B (zh) | 故障恢复方法和用于故障恢复的设备 | |
CN112100005B (zh) | 一种Redis副本集的实现方法及装置 | |
CN106980529B (zh) | 基板管理控制器资源管理的电脑系统 | |
CN105933407A (zh) | 一种实现Redis集群高可用的方法及系统 | |
US10102088B2 (en) | Cluster system, server device, cluster system management method, and computer-readable recording medium | |
CN113360579A (zh) | 数据库高可用处理方法、装置、电子设备及存储介质 | |
US7499987B2 (en) | Deterministically electing an active node | |
WO2019019457A1 (zh) | 控制中心装置、业务系统处理的方法、系统及存储介质 | |
CN109586989B (zh) | 一种状态检查方法、装置及集群系统 | |
CN116126457A (zh) | 容器迁移方法和服务器集群 | |
CN115033428A (zh) | 分布式数据库的管理方法、系统及管理服务器 | |
CN111708668A (zh) | 集群故障的处理方法、装置及电子设备 | |
CN100359865C (zh) | 一种检测方法 | |
CN117370316A (zh) | 数据库的高可用管理方法和装置、电子设备及存储介质 | |
US8677323B2 (en) | Recording medium storing monitoring program, monitoring method, and monitoring system | |
CN116032932A (zh) | 针对边缘服务器的集群管理方法、系统、设备及介质 | |
WO2021159897A1 (zh) | 故障通知方法及相关设备 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN113238893B (zh) | 多数据中心的容灾系统、方法、计算机设备及介质 | |
CN114513398B (zh) | 网络设备告警处理方法、装置、设备及存储介质 | |
WO2020238057A1 (zh) | 基于Redis的mqtt集群的监控方法、装置及存储介质 |
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 |