主备服务系统及主节点故障恢复方法技术方案

技术编号:19780617 阅读:33 留言:0更新日期:2018-12-15 11:58
本发明专利技术实施例提供了一种主备服务系统及主节点故障恢复方法,该主备服务系统包括:目标中控节点、至少两个控制节点、目标数据库的目标主节点以及目标备节点,目标备节点所处的机房不同于目标主节点所处的目标机房,且目标机房和目标备节点所处的机房中均设置有一个控制节点。上述目标中控节点,用于在感知到目标主节点故障时,从控制节点中确定目标控制节点;向目标控制节点发送节点切换命令;该目标控制节点,用于按照节点切换命令,将目标备节点切换为新的目标主节点。应用本发明专利技术实施例提供的方案,可以保证数据库的主节点所在的机房出现故障时,主备服务系统依然能够实现主节点故障的恢复,保证主备服务系统正常提供数据存取服务。

【技术实现步骤摘要】
主备服务系统及主节点故障恢复方法
本专利技术涉及数据库
,特别是涉及主备服务系统及主节点故障恢复方法。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库;数据库可以用单节点提供数据存取服务,但是,如果该单节点发生故障,则数据库的存储服务无法继续提供,所以现有技术中,为保证数据库的高可用性,可以采用主备服务系统提供数据存取服务,例如对于MySQL数据库(一种关系型数据库),其可以采用主备服务系统提供数据存取服务。现有的主备服务系统可以包括数据库的主节点、与主节点对应的备节点以及控制该主节点及备节点的控制节点,例如常见的OpenStack(一种开源的云计算管理平台项目)控制节点。主备服务系统中,主节点提供数据存取服务;主节点和备节点之间建立有主备复制关系,即主节点与备节点之间存储着相同的数据,当主节点中的数据更新时,备节点会及时复制主节点中所更新的数据。现有技术中,上述控制节点感知到主节点失效时,为了保证数据库正常提供服务,会将备节点切换为新的主节点,由新的主节点继续对外提供数据存取服务。现有技术中主备服务系统所包含的主节点、备节点以及控制节点都处于同一机房,当该机房故障时,主节点与备节点均失效,此时,主备服务系统无法正常提供数据存取服务。
技术实现思路
本专利技术实施例的目的在于提供一种主备服务系统及主节点故障恢复方法,以在数据库的主节点所在的机房出现故障时,主备服务系统依然能够实现主节点故障的恢复,保证主备服务系统正常提供数据存取服务。具体技术方案如下:为达上述目的,第一方面,本专利技术实施例提供了一种主备服务系统,包括:目标中控节点、至少两个控制节点、目标数据库的目标主节点、以及对应于所述目标主节点的目标备节点,其中,所述目标备节点所处的机房不同于所述目标主节点所处的目标机房,且所述目标机房和所述目标备节点所处的机房中均设置有一个所述控制节点;任意所述控制节点均与所述目标主节点和所述目标备节点通信连接,所述目标中控节点与所有控制节点通信连接;所述目标中控节点,用于在感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点;向所述目标控制节点发送节点切换命令;所述目标控制节点,用于在接收到所述节点切换命令后,按照所述节点切换命令,将所述目标备节点切换为新的目标主节点。优选的,所述系统还包括所述目标中控节点所处机房的网关,所述网关内记录有各个控制节点与目标虚拟IP地址的对应关系;所述目标中控节点,具体用于在感知到所述目标主节点故障时,向所述网关发送目的IP地址为所述目标虚拟IP地址的节点切换命令;所述网关,用于在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中确定目标控制节点,并将所述节点切换命令发送给所述目标控制节点。优选的,所述网关,具体用于在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中,随机确定一个控制节点为目标控制节点。优选的,所述网关,具体用于在接收到所述节点切换命令后,根据所述对应关系,并基于其内预先记录的各个控制节点的地址信息,计算自身与所述目标虚拟IP地址对应的、当前可用的所有控制节点之间分别对应的路由路径;确定对应路由路径最短的控制节点为目标控制节点。优选的,所述系统包括至少两个中控节点,所述目标中控节点为所述系统所包含的至少两个中控节点中的第一主节点;所述至少两个中控节点处于不同机房,所述至少两个中控节点中,除所述第一主节点外,其余均为所述第一主节点对应的第一从节点;所述系统还包括目标协调服务节点;所述目标协调服务节点,用于在感知到所述第一主节点故障时,从当前可用的第一从节点中选择一个第一从节点,切换所选择的第一从节点为新的第一主节点。优选的,所述目标协调服务节点内设置有目标锁,所述第一主节点为所述至少两个中控节点中,占用所述目标锁的中控节点;所述目标协调服务节点,具体用于在感知到所述目标锁未被占用时,向当前可用的第一从节点发送目标锁未被占用的通知信息;每个第一从节点,用于在接收到所述通知信息后,判断所述目标协调服务节点中的目标锁是否被其他第一从节点占用;如果否,占用所述目标锁,切换自身为新的第一主节点。优选的,所述系统包括至少三个协调服务节点;所述目标协调服务节点为:所述系统所包含的至少三个协调服务节点中的第二主节点;所述至少三个协调服务节点中,除第二主节点外,其余均为第二主节点对应的第二从节点,且任意一个配置有协调服务节点的机房中,协调服务节点的数量小于所述系统中协调服务节点总数量的一半;所有所述第二从节点用于,在感知到所述第二主节点故障时,基于各自预先设置的主节点选举机制,从当前可用的第二从节点中选举出一个第二从节点,作为新的第二主节点。优选的,所述目标控制节点,还用于在将所述目标备节点切换为新的目标主节点之后,重启发生故障的目标主节点,并判断是否成功重启;如果是,切换该发生故障的目标主节点为新的目标备节点;如果否,新建一个目标备节点。第二方面,本专利技术实施例提供了一种主节点故障恢复方法,应用于主备服务系统,所述系统包括目标中控节点、至少两个控制节点、目标数据库的目标主节点、以及对应于所述目标主节点的目标备节点,所述目标备节点所处的机房不同于所述目标主节点所处的目标机房,且所述目标机房和所述目标备节点所处的机房中均设置有一个所述控制节点;任意所述控制节点均与所述目标主节点和所述目标备节点通信连接,所述目标中控节点与所有控制节点通信连接;所述方法包括:所述目标中控节点感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点;向所述目标控制节点发送节点切换命令;所述目标控制节点在接收到所述节点切换命令后,按照所述节点切换命令,将所述目标备节点切换为新的目标主节点。优选的,所述系统还包括所述目标中控节点所处机房的网关,所述网关内记录有各个控制节点与目标虚拟IP地址的对应关系;所述目标中控节点感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点;向所述目标控制节点发送节点切换命令的步骤,包括:所述目标中控节点感知到所述目标主节点故障时,向所述网关发送目的IP地址为所述目标虚拟IP地址的节点切换命令;所述网关在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中确定目标控制节点,并将所述节点切换命令发送给所述目标控制节点。优选的,所述网关在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中确定目标控制节点的步骤,包括:所述网关在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中,随机确定一个控制节点为目标控制节点。优选的,所述网关在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中确定目标控制节点的步骤,包括:所述网关在接收到所述节点切换命令后,根据所述对应关系,并基于其内预先记录的各个控制节点的地址信息,计算自身与所述目标虚拟IP地址对应的、当前可用的所有控制节点之间分别对应的路由路径;所述网关确定对应路由路径最短的控制节点为目标控制节点。优选的,所述系统本文档来自技高网...

【技术保护点】
1.一种主备服务系统,其特征在于,包括:目标中控节点、至少两个控制节点、目标数据库的目标主节点、以及对应于所述目标主节点的目标备节点,其中,所述目标备节点所处的机房不同于所述目标主节点所处的目标机房,且所述目标机房和所述目标备节点所处的机房中均设置有一个所述控制节点;任意所述控制节点均与所述目标主节点和所述目标备节点通信连接,所述目标中控节点与所有控制节点通信连接;所述目标中控节点,用于在感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点;向所述目标控制节点发送节点切换命令;所述目标控制节点,用于在接收到所述节点切换命令后,按照所述节点切换命令,将所述目标备节点切换为新的目标主节点。

【技术特征摘要】
1.一种主备服务系统,其特征在于,包括:目标中控节点、至少两个控制节点、目标数据库的目标主节点、以及对应于所述目标主节点的目标备节点,其中,所述目标备节点所处的机房不同于所述目标主节点所处的目标机房,且所述目标机房和所述目标备节点所处的机房中均设置有一个所述控制节点;任意所述控制节点均与所述目标主节点和所述目标备节点通信连接,所述目标中控节点与所有控制节点通信连接;所述目标中控节点,用于在感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点;向所述目标控制节点发送节点切换命令;所述目标控制节点,用于在接收到所述节点切换命令后,按照所述节点切换命令,将所述目标备节点切换为新的目标主节点。2.根据权利要求1所述的系统,其特征在于,所述系统还包括所述目标中控节点所处机房的网关,所述网关内记录有各个控制节点与目标虚拟IP地址的对应关系;所述目标中控节点,具体用于在感知到所述目标主节点故障时,向所述网关发送目的IP地址为所述目标虚拟IP地址的节点切换命令;所述网关,用于在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中确定目标控制节点,并将所述节点切换命令发送给所述目标控制节点。3.根据权利要求2所述的系统,其特征在于,所述网关,具体用于在接收到所述节点切换命令后,根据所述对应关系,从所述目标虚拟IP地址对应的、当前可用的控制节点中,随机确定一个控制节点为目标控制节点。4.根据权利要求2所述的方法,其特征在于,所述网关,具体用于在接收到所述节点切换命令后,根据所述对应关系,并基于其内预先记录的各个控制节点的地址信息,计算自身与所述目标虚拟IP地址对应的、当前可用的所有控制节点之间分别对应的路由路径;确定对应路由路径最短的控制节点为目标控制节点。5.根据权利要求1所述的系统,其特征在于,所述系统包括至少两个中控节点,所述目标中控节点为所述系统所包含的至少两个中控节点中的第一主节点;所述至少两个中控节点处于不同机房,所述至少两个中控节点中,除所述第一主节点外,其余均为所述第一主节点对应的第一从节点;所述系统还包括目标协调服务节点;所述目标协调服务节点,用于在感知到所述第一主节点故障时,从当前可用的第一从节点中选择一个第一从节点,切换所选择的第一从节点为新的第一主节点。6.根据权利要求5所述的系统,其特征在于,所述目标协调服务节点内设置有目标锁,所述第一主节点为所述至少两个中控节点中,占用所述目标锁的中控节点;所述目标协调服务节点,具体用于在感知到所述目标锁未被占用时,向当前可用的第一从节点发送目标锁未被占用的通知信息;每个第一从节点,用于在接收到所述通知信息后,判断所述目标协调服务节点中的目标锁是否被其他第一从节点占用;如果否,占用所述目标锁,切换自身为新的第一主节点。7.根据权利要求5所述的系统,其特征在于,所述系统包括至少三个协调服务节点;所述目标协调服务节点为:所述系统所包含的至少三个协调服务节点中的第二主节点;所述至少三个协调服务节点中,除第二主节点外,其余均为第二主节点对应的第二从节点,且任意一个配置有协调服务节点的机房中,协调服务节点的数量小于所述系统中协调服务节点总数量的一半;所有所述第二从节点用于,在感知到所述第二主节点故障时,基于各自预先设置的主节点选举机制,从当前可用的第二从节点中选举出一个第二从节点,作为新的第二主节点。8.根据权利要求1~7任一项所述的系统,且特征在于,所述目标控制节点,还用于在将所述目标备节点切换为新的目标主节点之后,重启发生故障的目标主节点,并判断是否成功重启;如果是,切换该发生故障的目标主节点为新的目标备节点;如果否,新建一个目标备节点。9.一种主节点故障恢复方法,其特征在于,应用于主备服务系统,所述系统包括目标中控节点、至少两个控制节点、目标数据库的目标主节点、以及对应于所述目标主节点的目标备节点,所述目标备节点所处的机房不同于所述目标主节点所处的目标机房,且所述目标机房和所述目标备节点所处的机房中均设置有一个所述控制节点;任意所述控制节点均与所述目标主节点和所述目标备节点通信连接,所述目标中控节点与所有控制节点通信连接;所述方法包括:所述目标中控节点感知到所述目标主节点故障时,从当前可用的控制节点中确定目标控制节点...

【专利技术属性】
技术研发人员:丁涛
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1