CN104765889A - 基于数据库高可用框架的切换方法及装置 - Google Patents
基于数据库高可用框架的切换方法及装置 Download PDFInfo
- Publication number
- CN104765889A CN104765889A CN201510218187.7A CN201510218187A CN104765889A CN 104765889 A CN104765889 A CN 104765889A CN 201510218187 A CN201510218187 A CN 201510218187A CN 104765889 A CN104765889 A CN 104765889A
- Authority
- CN
- China
- Prior art keywords
- main frame
- machine
- subordinate
- high availabitity
- choose
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于数据库高可用框架的切换方法及切换装置,所述方法应用于包括至少一主机及至少两从机的数据系统,包括:当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;切断第一主机与剩余从机之间的连接,并建立第二主机与剩余从机之间的主从连接;以及通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。通过上述方案,实现了主机与从机间的自动切换,且能够保证整个切换过程快速完成,大大降低了切换主机对前端业务的影响。进一步地,通过对新主机与从机的同步更新,可以达到数据一致性的要求。
Description
技术领域
本发明涉及计算机及数据库技术领域,具体而言,本发明涉及一种基于数据库高可用框架进行切换的方法及装置。
背景技术
在信息时代中,数据对于人们的重要程度不言自明,随之应运而生的是按照数据结构来组织、存储和管理数据的数据库。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库的存在为人们提供了更快的查询,而在互联网领域,更是需要在实际的web网站中做到数据库的高可用,保证持续提供服务。以MySQL数据库为例,目前可在数据库中部署MHA(MySQL高可用)可以实现数据库的高可用,在MHA框架中,需要多台数据库服务器,一主多备,即一台充当主机(master),其余为从机(slave),当主机宕机时,从机中的一个即开始充当master并向前端提供服务。但是,现有技术中仅提供了MHA框架,如何从至少两从机选择一个从机作为新的主机来实现服务的持续提供且保证数据一致性,目前的MHA框架并未给出具体的解决方案。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种基于数据库高可用框架的切换方法,包括:
当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;
切断第一主机与剩余从机之间的连接,并建立第二主机与剩余从机之间的主从连接;
通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
本发明的实施例还提出了一种基于数据库高可用框架的切换装置,包括:
主机选取模块,用于当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;
第一连接建立模块,用于切断剩余从机与第一主机之间的连接,并建立剩余从机与第二主机之间的主从连接;
迁移模块,用于通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
本发明提供一种基于数据库高可用的切换方法和装置,通过从至少两从机中选取新主机、建立新主机与剩余从机之间的主从连接及迁移前端数据请求至新主机等步骤,实现了主机与从机间的自动切换,且能够保证整个切换过程在十几秒内完成,大大降低了切换主机对前端业务的影响,能够保证用户在请求数据的过程中对后端主从切断的无感知。进一步地,通过对新主机与从机的同步更新,可以达到数据一致性的要求。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中基于数据库高可用框架的切换方法一个实施例的流程示意图;
图2为本发明中基于数据库高可用框架的切换方法一个优选实施例的流程示意图;
图3为本发明中一个实施例的主从切换前示意性的系统拓扑图;
图4为本发明中一个优选实施例的主从切换后示意性的系统拓扑图;
图5为本发明中又一优选实施例的主从切换后示意性的系统拓扑图;
图6为本发明中基于数据库高可用框架的切换装置一个实施例的结构示意图;
图7为本发明中基于数据库高可用框架的切换装置一个优选实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
本发明中,所述主机与所述从机均为网络设备。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
下文中以MySQL数据库为例进行本发明实施例的描述。本领域的技术人员应可理解,本发明的技术方案还可以应用至其他可能类型的数据库,实施例中描述的MySQL数据库并非本发明的限制,其保护范围当以权利要求书为准。
图1为本发明中基于数据库高可用框架的切换方法一个实施例的流程示意图。
步骤S110:当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;步骤S120:切断第一主机与剩余从机之间的连接,并建立第二主机与剩余从机之间的主从连接;步骤S130:通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
本发明提供一种基于数据库高可用的切换方法和装置,通过从至少两从机中选取新主机、建立新主机与剩余从机之间的主从连接及迁移前端数据请求至新主机等步骤,实现了主机与从机间的自动切换,且能够保证整个切换过程在十几秒内完成,大大降低了切换主机对前端业务的影响,能够保证用户在请求数据的过程中对后端主从切断的无感知。进一步地,通过对新主机与从机的同步更新,可以达到数据一致性的要求。
图3是主从切换前示意性的系统拓扑图。主从切换前,第一主机与从机1-3建立连接并保持主从关系,第一主机通过VIP(虚拟IP)向前端业务提供服务,管理机Manager对第一主机进行实时地监控。
步骤S110:当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机。
具体地,第一主机的切换条件,具体包括两种情景:
1)检测到第一主机处于故障状态;
更具体地,按照预定检测周期及预定检测次数,检测第一主机的登陆连接状态;其中,登陆连接状态的检测包括SSH(Struts:流程控制、Spring:业务流转、Hibernate:数据库操作的封装)登录检测,和/或MySQL的实例登陆检测。
例如,管理机manager对第一主机进行实时监控,当监控到主机MySQL数据库停止向前端数据请求提供服务时,以每11秒的频率连续三次对主机MySQL数据库进行SSH连接登录检查,如果均登陆失败,则确定第一主机处于故障状态。
又例如,当管理机manager监控到主机MySQL数据库停止向前端数据请求提供服务时,以每11秒的频率连续三次对主机MySQL数据库进行一次SSH连接登录检查及MySQL的实例登陆检测,如果均登陆失败,则确定第一主机处于故障状态。
其中,可通过对.cnf文件的配置,来实现检测周期及检测次数。
本实施例中,按照预定检测周期及预定检测次数多次对主机MySQL数据库进行登陆检测,可确保第一主机确实存在故障,而非网络延迟、闪断等问题引起的暂时性服务中断,避免对第一主机进行误切换。
2)检测到针对第一主机的维护切换操作;
例如,管理机manager对第一主机进行实时监控,当检测到针对第一主机的维护切换操作时,则确定系统需要对第一主机进行维护切换。在实际的系统维护过程中,有时会遇到对主机数据库进行维护等非故障性切换需求,该检测方式即覆盖这种情况。
在一优选实施例中,步骤S110具体包括步骤S111(图中未示出)和步骤S112(图中未示出);
步骤S111:检测至少两从机分别相对于第一主机的主从延时状态;
步骤S112:选取相对于第一主机延时最小的从机作为第二主机。
例如,检测每个从机的主从延时状态参数,如监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,是否有发生主从延时,当Seconds_Behind_Master参数值为0时,表示该从机与主机无延时;当Seconds_Behind_Master参数值为正值时,表示该从机与主机出现延时,数字越大表示从机MySQL数据库落后与主机MySQL数据库越多;检测到每个从机与第一主机的主从延时,选取主从延时最小的从机作为第二主机。
在另一优选实施例中,步骤S110具体包括步骤S113(图中未示出)和步骤S114(图中未示出):
步骤S113:获取至少两从机的日志信息;
步骤S114:通过比较日志信息,选取日志最全的从机作为第二主机。
例如,针对至少两从机,通过执行show slave status(显示从属机状态)命令获取{Master_Log_File(主机日志文件),Read_Master_Log_Pos(读取主机日志位置)}值,对所有从机的{Master_Log_File,Read_Master_Log_Pos}值进行比较,选出日志最全的从机作为第二主机;在本实施例中,从机的日志信息为{Master_Log_File,Read_Master_Log_Pos}。
在又一优选实施例中,步骤S110具体包括步骤S115(图中未示出)、步骤S116(图中未示出)和步骤S117(图中未示出)。
步骤S115:获取第一主机的二进制日志信息;
步骤S116:通过比较第一主机的二进制日志信息与每一从机的二进制日志信息,确定第一主机的二进制日志信息与每一从机的二进制日志信息的日志偏移量;
步骤S117:选取日志偏移量最小的从机作为第二主机。
例如,获取提前保存的第一主机的binlog(二进制日志),或第一主机的binlog信息还可读取,则直接从第一主机中读取其binlog信息;通过比较第一主机的binlog与每一从机的binlog,确定第一主机的binlog与每一从机的binlog的日志偏移量,选取日志偏移量最小的从机作为第二主机。
步骤S120:切断第一主机与剩余从机之间的连接,并建立剩余从机与第二主机之间的主从连接。
具体地,选取第二主机后,切断第一主机与剩余从机之间的连接,并建立剩余从机与第二主机之间的连接,同时,建立剩余从机与第二主机之间的主从对应关系。
如图2所示,建立剩余从机与第二主机之间的主从连接之前,该方法还包括步骤S260、步骤S270和步骤S280。
步骤S260:获取第二主机与剩余从机的中继日志信息;
步骤S270:通过比较第二主机的中继日志信息与剩余从机的中继日志信息,确定第二主机与每一剩余从机之间的中继日志差异量;
步骤S280:基于中继日志差异量,更新剩余从机的数据信息。
具体地,获取第二主机与每一剩余从机的relay log,针对每一剩余从机的relay log,通过在第二主机上执行命令apply_diff_relay_logs–command=generate_and_send,生成每一剩余从机的relay log差异量文件,基于每一剩余从机的relay log差异量文件,更新相应剩余从机的数据信息,以保证剩余从机与第二从机的数据一致性。
优选地(参照图1),该方法还包括步骤S140(图中未示出)。步骤S140:启动第二主机的读写功能,并关闭第一主机的读写功能。
具体地,针对前端业务的数据请求,启动第二主机的读写功能,并关闭第一主机的读写功能。
步骤S130:通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
具体地,将虚拟IP地址从第一主机迁移至第二主机,即将前端数据请求迁移至第二主机,第二主机向前端业务的数据请求提供相应服务。
图4是主从切换后一种示意性的系统拓扑图。在一具体应用场景中,当第一主机处于故障状态,则主从切换后,原从机3切换为第二主机,VIP迁移至第二主机,第二主机通过VIP向前端业务提供服务,且第二主机与从机1、2建立主从连接,第一主机与从机1、2和第二主机断开连接,管理机Manager对第二主机进行实时地监控。
在一优选实施例中(参照图1),当所述第一主机的切换条件为检测到针对第一主机的维护切换操作,所述第一主机与所述第二主机切换完成之后,该方法还包括步骤S190(图中未示出)。
步骤S190:将第一主机作为第二主机的从机连接至第二主机,并建立其之间的主从对应关系。
具体地,当第一主机并非故障情况,而是针对第一主机的维护切换操作时,在第一主机与第二主机切换完成之后,将第一主机作为第二主机的从机连接至第二主机,并建立其之间的主从对应关系。
图5是主从切换后另一种示意性的系统拓扑图。在一具体应用场景中,当第一主机并非故障情况而是维护切换需求时,则主从切换后,原从机3切换为第二主机,VIP迁移至第二主机,第二主机通过VIP向前端业务提供服务,第一主机作为第二主机的从机4与第二主机建立主从连接,即第二主机与从机1、2和4建立主从连接,管理机Manager对第二主机进行实时地监控。
图6为本发明中基于数据库高可用框架的切换装置一个实施例的结构示意图。
当满足第一主机的切换条件时,主机选取模块610选取至少两从机中的一个作为第二主机;第一连接建立模块620切断第一主机与剩余从机之间的连接,并建立剩余从机与第二主机之间的主从连接;迁移模块630通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
本发明提供一种基于数据库高可用的切换方法和装置,通过从至少两从机中选取新主机、建立新主机与剩余从机之间的主从连接及迁移前端数据请求至新主机等步骤,实现了主机与从机间的自动切换,且能够保证整个切换过程在十几秒内完成,大大降低了切换主机对前端业务的影响,能够保证用户在请求数据的过程中对后端主从切断的无感知。进一步地,通过对新主机与从机的同步更新,可以达到数据一致性的要求。
主机选取模块610:当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机。
具体地,第一主机的切换条件,具体包括两种情景:
1)检测到第一主机处于故障状态;该装置还包括连接状态检测模块(图中未示出);
连接状态检测模块按照预定检测周期及预定检测次数,检测第一主机的登陆连接状态;其中,登陆连接状态的检测包括SSH登录检测,和/或MySQL的实例登陆检测。
例如,管理机manager对第一主机进行实时监控,当监控到主机MySQL数据库停止向前端数据请求提供服务时,以每11秒的频率连续三次对主机MySQL数据库进行SSH连接登录检查,如果均登陆失败,则确定第一主机处于故障状态。
又例如,当管理机manager监控到主机MySQL数据库停止向前端数据请求提供服务时,以每11秒的频率连续三次对主机MySQL数据库进行一次SSH连接登录检查及MySQL的实例登陆检测,如果均登陆失败,则确定第一主机处于故障状态。
其中,可通过对.cnf文件的配置,来实现检测周期及检测次数。
本实施例中,按照预定检测周期及预定检测次数多次对主机MySQL数据库进行登陆检测,可确保第一主机确实存在故障,而非网络延迟、闪断等问题引起的暂时性服务中断,避免对第一主机进行误切换。
2)检测到针对第一主机的维护切换操作;
例如,管理机manager对第一主机进行实时监控,当检测到针对第一主机的维护切换操作时,则确定系统需要对第一主机进行维护切换。在实际的系统维护过程中,有时会遇到对主机数据库进行维护等非故障性切换需求,该检测方式即覆盖这种情况。
在一优选实施例中,主机选取模块610具体包括延迟状态检测单元(图中未示出)和第一选取单元(图中未示出);
延迟状态检测单元:检测至少两从机分别相对于第一主机的主从延时状态;
第一选取单元:选取相对于第一主机延时最小的从机作为第二主机。
例如,检测每个从机的主从延时状态参数,如监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,是否有发生主从延时,当Seconds_Behind_Master参数值为0时,表示该从机与主机无延时;当Seconds_Behind_Master参数值为正值时,表示该从机与主机出现延时,数字越大表示从机MySQL数据库落后与主机MySQL数据库越多;检测到每个从机与第一主机的主从延时,选取主从延时最小的从机作为第二主机。
在另一优选实施例中,主机选取模块610具体包括第一日志获取单元(图中未示出)和第二选取单元(图中未示出):
第一日志获取单元:获取至少两从机的日志信息;
第二选取单元:通过比较日志信息,选取日志最全的从机作为第二主机。
例如,针对至少两从机,通过执行show slave status(显示从属机状态)命令获取{Master_Log_File(主机日志文件),Read_Master_Log_Pos(读取主机日志位置)}值,对所有从机的{Master_Log_File,Read_Master_Log_Pos}值进行比较,选出日志最全的从机作为第二主机;在本实施例中,从机的日志信息为{Master_Log_File,Read_Master_Log_Pos}。
在又一优选实施例中,主机选取模块610具体包括第二日志获取单元(图中未示出)、偏移量确定单元(图中未示出)和第三选取单元(图中未示出)。
第二日志获取单元:获取第一主机的二进制日志信息;
偏移量确定单元:通过比较第一主机的二进制日志信息与每一从机的二进制日志信息,确定第一主机的二进制日志信息与每一从机的二进制日志信息的日志偏移量;
第三选取单元:选取日志偏移量最小的从机作为第二主机。
例如,获取提前保存的第一主机的binlog(二进制日志),或第一主机的binlog信息还可读取,则直接从第一主机中读取其binlog信息;通过比较第一主机的binlog与每一从机的binlog,确定第一主机的binlog与每一从机的binlog的日志偏移量,选取日志偏移量最小的从机作为第二主机。
第一连接建立模块620:切断第一主机与剩余从机之间的连接,并建立剩余从机与第二主机之间的主从连接。
具体地,选取第二主机后,切断第一主机与剩余从机之间的连接,并建立剩余从机与第二主机之间的连接,同时,建立剩余从机与第二主机之间的主从对应关系。
如图7所示,建立剩余从机与第二主机之间的主从连接之前,该装置还包括中继日志获取模块740、差异量确定模块750和更新模块760。
中继日志获取模块740:获取第二主机与剩余从机的中继日志信息;
差异量确定模块750:通过比较第二主机的中继日志信息与剩余从机的中继日志信息,确定第二主机与每一剩余从机之间的中继日志差异量;
更新模块760:基于中继日志差异量,更新剩余从机的数据信息。
具体地,获取第二主机与每一剩余从机的relay log,针对每一剩余从机的relay log,通过在第二主机上执行命令apply_diff_relay_logs–command=generate_and_send,生成每一剩余从机的relay log差异量文件,基于每一剩余从机的relay log差异量文件,更新相应剩余从机的数据信息,以保证剩余从机与第二从机的数据一致性。
优选地(参照图6),该装置还包括读写功能控制模块(图中未示出)。读写功能控制模块:启动第二主机的读写功能,并关闭第一主机的读写功能。
具体地,针对前端业务的数据请求,启动第二主机的读写功能,并关闭第一主机的读写功能。
迁移模块630:通过迁移虚拟IP地址,将前端数据请求迁移至第二主机。
具体地,将虚拟IP地址从第一主机迁移至第二主机,即将前端数据请求迁移至第二主机,第二主机向前端业务的数据请求提供相应服务。
在一优选实施例中(参照图6),为检测到针对第一主机的维护切换操作,所述第一主机与所述第二主机切换完成之后,该装置还包括第二连接建立模块(图中未示出)。
第二连接建立模块:将第一主机作为第二主机的从机连接至第二主机,并建立其之间的主从对应关系。
具体地,当第一主机并非故障情况,而是针对第一主机的维护切换操作时,将第一主机作为第二主机的从机连接至第二主机,并建立其之间的主从对应关系。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于数据库高可用框架的切换方法,应用于包括至少一主机及至少两从机的数据系统,包括:
当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;
切断所述第一主机与剩余从机之间的连接,并建立所述第二主机与所述剩余从机之间的主从连接;以及
通过迁移虚拟IP地址,将前端数据请求迁移至所述第二主机。
2.根据权利要求1所述的基于数据库高可用框架的切换方法,其中,所述第一主机的切换条件,具体包括:
检测到第一主机处于故障状态;或
检测到针对第一主机的维护切换操作。
3.根据权利要求1或2所述的基于数据库高可用框架的切换方法,其中,检测所述第一主机处于故障状态的方式,具体包括:
按照预定检测周期及预定检测次数,检测所述第一主机的登陆连接状态。
4.根据权利要求1至3任一项所述的基于数据库高可用框架进行切换的方法,应用于包括至少一主机及至少两从机的数据系统,其中,选取至少两从机中的一个作为第二主机,具体包括:
检测至少两从机分别相对于所述第一主机的主从延时状态;以及
选取相对于所述第一主机延时最小的从机作为第二主机。
5.根据权利要求1至3任一项所述的基于数据库高可用框架的切换方法,其中,选取至少两从机中的一个作为第二主机,具体包括:
获取所述至少两从机的日志信息;以及
通过比较所述日志信息,选取日志最全的从机作为第二主机。
6.根据权利要求1至3任一项所述的基于数据库高可用框架的切换方法,其中,选取至少两从机中的一个作为第二主机,具体包括:
获取所述第一主机的二进制日志信息;
通过比较所述第一主机的二进制日志信息与每一从机的二进制日志信息,确定所述第一主机的二进制日志信息与每一从机的二进制日志信息的日志偏移量;以及
选取日志偏移量最小的从机作为第二主机。
7.一种基于数据库高可用框架的切换装置,应用于包括至少一主机及至少两从机的数据系统,包括:
主机选取模块,用于当满足第一主机的切换条件时,选取至少两从机中的一个作为第二主机;
第一连接建立模块,用于切断所述第一主机与剩余从机之间的连接,并建立所述第二主机与所述剩余从机之间的主从连接;以及
迁移模块,用于通过迁移虚拟IP地址,将前端数据请求迁移至所述第二主机。
8.根据权利要求7所述的基于数据库高可用框架的切换装置,其中,所述第一主机的切换条件,具体包括:
检测到第一主机处于故障状态;或
检测到针对第一主机的维护切换操作。
9.根据权利要求7或8所述的基于数据库高可用框架的切换装置,其中,该装置还包括:
连接状态检测模块,用于按照预定检测周期及预定检测次数,检测所述第一主机的登陆连接状态。
10.根据权利要求7至9任一项所述的基于数据库高可用框架的切换装置,其中,所述主机选取模块具体包括:
延迟状态检测单元,用于检测至少两从机分别相对于所述第一主机的主从延时状态;以及
第一选取单元,用于选取相对于所述第一主机延时最小的从机作为第二主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218187.7A CN104765889A (zh) | 2015-04-30 | 2015-04-30 | 基于数据库高可用框架的切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218187.7A CN104765889A (zh) | 2015-04-30 | 2015-04-30 | 基于数据库高可用框架的切换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104765889A true CN104765889A (zh) | 2015-07-08 |
Family
ID=53647716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510218187.7A Pending CN104765889A (zh) | 2015-04-30 | 2015-04-30 | 基于数据库高可用框架的切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765889A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027290A (zh) * | 2016-05-12 | 2016-10-12 | 深圳市永兴元科技有限公司 | 故障处理方法及装置 |
CN106201823A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种实时监控mysql数据库的系统及其监控方法 |
CN106611062A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 数据库更新方法及装置 |
CN106909568A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据库集群主数据库的切换方法及装置 |
CN108259239A (zh) * | 2018-01-11 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种数据库高可用性保障方法和系统 |
CN108415797A (zh) * | 2018-03-05 | 2018-08-17 | 山东超越数控电子股份有限公司 | 一种避免服务器故障切换时数据库数据丢失的方法 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112015595A (zh) * | 2020-08-28 | 2020-12-01 | 掌阅科技股份有限公司 | 主从数据库的切换方法、计算设备及存储介质 |
CN112422320A (zh) * | 2020-10-27 | 2021-02-26 | 北京金山云网络技术有限公司 | 服务器的主从切换方法、装置和服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212458A (zh) * | 2006-12-25 | 2008-07-02 | 中兴通讯股份有限公司 | 一种数据库系统备份方法 |
CN102663017A (zh) * | 2012-03-21 | 2012-09-12 | 互动在线(北京)科技有限公司 | 增强MySQL数据库可用性的实现系统及实现方法 |
CN104036043A (zh) * | 2014-07-01 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种mysql高可用的方法及管理节点 |
-
2015
- 2015-04-30 CN CN201510218187.7A patent/CN104765889A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212458A (zh) * | 2006-12-25 | 2008-07-02 | 中兴通讯股份有限公司 | 一种数据库系统备份方法 |
CN102663017A (zh) * | 2012-03-21 | 2012-09-12 | 互动在线(北京)科技有限公司 | 增强MySQL数据库可用性的实现系统及实现方法 |
CN104036043A (zh) * | 2014-07-01 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种mysql高可用的方法及管理节点 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909568A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种数据库集群主数据库的切换方法及装置 |
CN106027290A (zh) * | 2016-05-12 | 2016-10-12 | 深圳市永兴元科技有限公司 | 故障处理方法及装置 |
CN106027290B (zh) * | 2016-05-12 | 2019-03-29 | 深圳市永兴元科技股份有限公司 | 故障处理方法及装置 |
CN106201823A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种实时监控mysql数据库的系统及其监控方法 |
CN106201823B (zh) * | 2016-06-30 | 2019-02-15 | 国云科技股份有限公司 | 一种实时监控mysql数据库的系统及其监控方法 |
CN106611062A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 数据库更新方法及装置 |
CN108259239A (zh) * | 2018-01-11 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种数据库高可用性保障方法和系统 |
CN108415797A (zh) * | 2018-03-05 | 2018-08-17 | 山东超越数控电子股份有限公司 | 一种避免服务器故障切换时数据库数据丢失的方法 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112015595A (zh) * | 2020-08-28 | 2020-12-01 | 掌阅科技股份有限公司 | 主从数据库的切换方法、计算设备及存储介质 |
CN112422320A (zh) * | 2020-10-27 | 2021-02-26 | 北京金山云网络技术有限公司 | 服务器的主从切换方法、装置和服务器 |
CN112422320B (zh) * | 2020-10-27 | 2022-11-11 | 北京金山云网络技术有限公司 | 服务器的主从切换方法、装置和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765889A (zh) | 基于数据库高可用框架的切换方法及装置 | |
CN106254100B (zh) | 一种数据容灾方法、装置和系统 | |
CN102355368B (zh) | 一种网络设备的故障处理方法及系统 | |
CN102622303B (zh) | 一种内存过载控制的方法及装置 | |
CN104036043B (zh) | 一种mysql高可用的方法及管理节点 | |
US10038593B2 (en) | Method and system for recovering virtual network | |
CN108270726B (zh) | 应用实例部署方法及装置 | |
CN107688507A (zh) | 数据备份方法及装置 | |
EP2974238B1 (en) | Method and apparatus for providing tenant redundancy | |
CN109845192B (zh) | 动态地适配网络的计算机系统和方法及计算机可读介质 | |
EP3477894A1 (en) | Method and device for controlling virtualized broadband remote access server (vbras), and communication system | |
CN103414739B (zh) | 采用自动漂移的云服务器自动监控系统及方法 | |
CN104320274A (zh) | 一种容灾方法及装置 | |
CN105306272A (zh) | 信息系统故障场景信息收集方法及系统 | |
CN103338240B (zh) | 监控自动漂移的云服务器自动监控系统及方法 | |
CN109710586A (zh) | 一种集群节点配置文件同步方法及装置 | |
CN106547584B (zh) | 一种应用程序的回退方法及装置 | |
CN114500554A (zh) | 一种物联网系统管理方法 | |
CN105354102A (zh) | 一种文件系统维护和修复的方法和装置 | |
US20170244252A1 (en) | Autonomous Operational Platform for Micro-Grid Energy Management | |
CN111988169B (zh) | 一种云平台异常磁盘清理修复的方法、系统、设备及介质 | |
CN102571311B (zh) | 主备切换的通讯系统和通讯方法 | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN107038094A (zh) | 一种数据备份方法及装置 | |
CN102546313B (zh) | 一种多激活检测方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150708 |