CN113051110A - 集群切换方法、装置及设备 - Google Patents

集群切换方法、装置及设备 Download PDF

Info

Publication number
CN113051110A
CN113051110A CN201911374163.5A CN201911374163A CN113051110A CN 113051110 A CN113051110 A CN 113051110A CN 201911374163 A CN201911374163 A CN 201911374163A CN 113051110 A CN113051110 A CN 113051110A
Authority
CN
China
Prior art keywords
cluster
standby
main
switching
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
Application number
CN201911374163.5A
Other languages
English (en)
Inventor
吴桂祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Henan Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Henan Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Henan Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201911374163.5A priority Critical patent/CN113051110A/zh
Publication of CN113051110A publication Critical patent/CN113051110A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明实施例公开了一种集群切换方法、装置及设备,该方法包括:将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;若满足所述第一集群切换条件,则获取所述备集群的地址信息;根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。本发明实施例可以在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。

Description

集群切换方法、装置及设备
技术领域
本发明涉及数据中心领域,尤其涉及一种集群切换方法、装置及设备。
背景技术
Redis(Remote Dictionary Server,远程字典服务)的哨兵模式基本可以实现数据的高可用和读写分离,但是由于每台Redis服务器都存储相同数据,导致内存资源浪费。因此,在Redis3.0增加了集群cluster模式,可以实现Redis的分布式存储以及高可用。
为了保证高可用,Redis-cluster集群引入主从模式,一个主节点对应一个或者多个从节点,当主节点宕机的时候切换至从节点。现有Redis-Cluster集群内部只有一个主节点,如果主节点和它对应的从节点均宕机,或者集群内主从节点切换出现问题,则该集群无法再提供服务,导致其承载的业务全部瘫痪,存在较高的系统运行风险。
发明内容
本发明实施例提供一种集群切换方法、装置及设备,以解决现有集群存在较高的系统运行风险的问题。
为解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种集群切换方法,该方法包括:将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;
若满足所述第一集群切换条件,则获取所述备集群的地址信息;根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
第二方面,本发明实施例还提供了一种集群切换装置,该装置包括:数据同步模块,用于将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;切换判断模块,用于在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;地址获取模块,用于若满足所述第一集群切换条件,则获取所述备集群的地址信息;集群切换模块,用于根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
第三方面,本发明实施例还提供了一种集群切换设备,包括:存储器,存储有计算机程序指令;处理器,当所述计算机程序指令被所述处理器执行时实现如上述任一项所述的集群切换方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述任一项所述的集群切换方法。
在本发明实施例中,主集群和备集群为异地部署的不同集群,在当前使用集群为主集群的情况下,判断是否满足预设的第一集群切换条件,若满足则获取备集群的地址信息并将当前使用集群从主集群切换至备集群,因此在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一个实施例中一种数据缓存双中心的结构示意图。
图2是本发明的一个实施例中一种集群切换方法的示意性流程图。
图3是本发明的一个实施例中一种Redis-Cluster集群切换方法的示意性流程图。
图4是本发明的一个实施例中一种Redis-Cluster集群切换方法的交互流程图。
图5是本发明的一个实施例中一种Redis-Cluster集群数据同步方法的交互流程图。
图6是本发明的一个实施例中湖南移动电渠双中心切换方法的流程图。
图7是本发明的一个实施例中一种集群切换装置的结构示意图。
图8是本发明的一个实施例中一种集群切换设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种集群切换方法,该方法的执行主体可以为客户端,该客户端分别连接异地部署的主集群和备集群。参见图1所示的数据缓存双中心的结构示意图,其中,集群双中心部署,客户端支持配置两个集群的地址,分为主集群和备集群。正常情况下使用主集群承载业务,当主集群不可用时,自动切换到备集群承载业务。在本实施例中以Redis-Cluster集群为例进行说明。
如图1所示,用户发送的企业应用访问请求通过智能负载均衡装置进入Nginx服务器,由Nginx服务器分配至应用集群中的Redis客户端,Redis客户端将请求分配至主集群或者备集群。在每个集群中部署有主节点和备节点,主集群和备集群内的各节点均保持数据同步,当一个集群内部的主节点出现问题时,优先切换到对应的备节点,当该集群的主节点和备节点均出现有问题时,Redis客户端智能切换至另外一个集群承载业务。Redis客户端可以通过网络连接到主备集群,在客户端软件中使用集群可以识别的命令,向集群发送命令并将集群反馈的处理结果显示在客户端界面上。其中,主集群和备集群异地部署,若主集群遭遇网络设备故障、电路设备故障等不可控情况,可以切换到备集群,从而保证系统正常运行和业务连续。
图2是本发明的一个实施例中一种集群切换方法的示意性流程图,该方法可以应用于Redis集群管理系统,例如集群的Redis客户端等,图2的方法可包括:
S202,将主集群的数据同步至备集群。其中,主集群和备集群为异地部署的不同集群。
具体地,数据同步过程可以按照以下步骤执行:首先,分别获取主集群和备集群的数据偏移量,该数据偏移量表示主集群和备集群之间的数据差异,当两者的数据偏移量相同时,则两者的数据也一致;然后,根据主集群和备集群的数据偏移量,计算待同步的数据偏移量;然后,向主集群中的各主节点发送同步指令;该同步指令中携带待同步的数据偏移量;最后,接收各主节点基于上述同步指令反馈的待同步数据,并将该待同步数据写入备集群。
S204,在当前使用集群为主集群的情况下,判断是否满足预设的第一集群切换条件。
Redis客户端可以包括守护线程,该守护线程可以用于:定时检查主备集群的可用状态,并维护各集群的可用状态;监控当前使用集群的地址信息是否被修改,如果被修改则读取该地址信息并更新集群的使用状态;订阅主备集群切换命令以及执行切换操作。
在Redis客户端中配置有主集群和备集群的地址信息,当用户调用集群承载的业务时,可以通过当前使用集群的地址信息确定当前使用集群为主集群或备集群。在当前使用集群为主集群的情况下,确定主集群是否满足预设的第一集群切换条件,如果满足,则直接调用主集群,如果不满足,则可以进行后续的主备集群切换过程。具体地,可以通过以下方式之一判断是否满足预设的第一集群切换条件:
(1)查询主集群的状态信息;若主集群的状态信息为不可用,则确定满足第一集群切换条件。Redis客户端可以基于上述守护线程获取各集群的状态信息。具体地,Redis客户端可以通过集群查询命令查询主集群的状态信息,若该主集群的状态信息为不可用则确定主集群满足预设的第一集群切换条件。
(2)统计主集群的请求失败率;若请求失败率大于第一预设阈值,则确定满足第一集群切换条件。Redis客户端可以统计主集群的请求失败率,该请求失败率为请求失败次数与总请求次数的比值,若该请求失败率大于预设阈值则确定主集群不可用。该第一预设阈值可以根据集群的工作环境灵活确定,本实施例对此不作限定。在此需要说明的是,主集群满足预设的第一集群切换条件表示主集群中的主节点和备节点均不可用,若备节点可用,则优先切换到对应的备节点。
S206,若满足上述第一集群切换条件,则获取备集群的地址信息。
由于主集群与备集群的各节点之间均保持数据同步,若主集群无法提供服务,Redis客户端可以考虑切换至备集群承载业务。
S208,根据备集群的地址信息,将当前使用集群从主集群切换至备集群。
Redis客户端可以获取备集群的地址信息,并更新当前使用集群的地址信息为备集群的地址信息,此时主备集群切换完成。在切换至备集群之前,可以确定该备集群是否可以提供服务,确定方式与前述判断主集群的方式类似。上述将当前使用集群从主集群切换至备集群的步骤具体包括:查询备集群的状态信息;若备集群的状态信息为可用,则将当前使用集群的地址信息更改为备集群的地址信息。如果备集群也不可用,则主备集群切换失败。
在将当前使用集群切换至备集群之后,Redis客户端可以对当前使用集群的地址信息进行更新,用于判断当前使用集群为主集群或者备集群,基于此上述方法还可以包括:监控当前使用集群的地址信息是否被更新;若是,则根据地址信息更新当前使用集群的集群信息,该集群信息包括地址信息。在本实施例中,在当前使用集群从主集群切换至备集群后,将当前使用集群的集群信息包括的地址信息更新为备集群的地址信息。
本发明实施例提供了一种集群切换方法,主集群和备集群为异地部署的不同集群,在当前使用集群为主集群的情况下,判断是否满足预设的第一集群切换条件,若满足则获取备集群的地址信息并将当前使用集群从主集群切换至备集群,因此在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。
下面,将结合具体的实施例,对本发明实施例的方法作进一步的描述。图3是本发明的一个实施例的Redis-Cluster集群切换方法的示意性流程图,图3的方法可包括:
S302,启动Redis客户端。Redis客户端连接有两个集群:主集群和备集群。
S304,获取主集群和备集群的地址信息。在Redis客户端中配置有主集群和备集群的链接地址,用户可以预先进行链接地址设置,将主集群和备集群的链接地址添加至Redis客户端。
S306,判断当前使用集群是否为主集群。若是,则执行S308;若否,则执行S310。Redis客户端通过前述当前使用集群文件判断当前使用集群是否为主集群,如果是主集群则进一步获取主集群的可用状态,如果不是主集群则为备集群,则进一步获取备集群的可用状态。
S308,判断主集群是否满足预设的第一集群切换条件。若是,则执行S310;若否,则执行S312。如前所述,守护线程可以用于定时检查主备集群的可用状态,并维护各集群的可用状态。Redis客户端可以通过自带的集群查询命令,获取主集群的可用状态。当可以状态为不可用时,即满足预设的第一集群切换条件。
S310,获取备集群的可用状态。若是可用,则执行S314;若是非可用,则执行S316。
S312,调用主集群。
S314,调用备集群,并判断备集群是否调用成功。若是,则执行S316;若否,则执行S318。
S316,修改当前使用集群的地址信息为备集群的地址信息。Redis客户端调用备集群,如果备集群连接调用备集群成功,更新当前使用集群的链接地址为备集群的链接地址,主备切换完成;如果备集群也不可用,则主备集群切换失败。
S318,修改当前使用集群的地址信息为空,并进行无可用集群报错。
图4是本发明的一个实施例的Redis-Cluster集群切换方法的交互流程图,示出了应用端、Redis客户端、Redis主集群和Redis备集群之间的交互流程,图4的方法可包括:
S402,应用端发送设置命令。应用端向Redis客户端发送设置命令,Redis客户端基于预设规则选择主集群和备集群中的任意一个可用集群。
S404,Redis客户端基于预设规则选择可用集群。Redis客户端基于预设规则选择可用集群的具体过程参见前述实施例,在此不再赘述。
S406,Redis客户端调用主集群。若Redis客户端选择主集群,则调用该主集群。
S408,Redis客户端调用备集群。若Redis客户端选择备集群,则调用该备集群。
S410,主集群向Redis客户端返回调用结果。
S412,备集群向Redis客户端返回调用结果。
S414,Redis客户端向应用端返回调用结果。
为保证Redis客户端可以主集群不可用的情况下,可以切换至备集群以通过备集群承载全部业务,需要保持主集群和备集群之间的数据同步。
在当前使用集群为主集群的情况下,Redis客户端可以将主集群的数据同步至备集群。在本实施例中,Redis客户端支持增量同步和全量同步,数据同步机制可以按照Redis内部的数据同步机制进行。具体地,Redis客户端可以计算主集群和备集群之间待同步的数据偏移量,根据该数据偏移量向主集群中的各主节点发送同步指令,然后接收各主节点反馈的待同步数据,并将待同步数据写入备集群。
图5是本发明的一个实施例的Redis-Cluster集群数据同步方法的交互流程图,示出了Redis客户端的同步程序、Redis主集群和Redis备集群之间的数据同步交互流程,图5的方法可包括:
S502,同步程序发送info指令到主集群中所有节点。其中,info指令用于获取主集群的数据信息。
S504,主集群向同步程序发送数据偏移量offset。在主集群和备集群中分别维护一个数据偏移量。例如,主集群每次向备集群传播N个字节的数据时,则将自身的复制偏移量的值加上N,备集群每次收到主服务器传播来的N个字节的数据时,则将自身的复制偏移量的值加上N。
S506,同步程序计算当前需同步的偏移量。同步程序通过对比主备集群的数据偏移量,可知主备集群是否处于一致状态:如果主备集群处于一致状态,主备集群两者的偏移量相同;如果主备集群的偏移量不相同,则说明主备集群并未处于一致状态。
S508,同步程序向主集群发送同步psync指令。同步程序向主集群的每一个主节点发送psync指令,psync指令包括上述数据偏移量,主节点会依据发送的偏移量返回对应的数据,如果发送的偏移量为0,则为全量同步。
Redis客户端进行全量同步时,同步程序发送偏移量为0的同步指令,主集群的主节点将同步快照文件传送到同步程序,同步程序保存为rdb文件。同步程序解析rdb文件得到指令后发送指令到备集群,同时主集群的主节点也会将同步快照文件传输过程中主节点调用的指令增量传输过来,同步程序将指令增量发送至备集群,从而实现全量同步。
S510,主集群向同步程序发送同步快照文件。主集群的主节点将同步快照文件传送到同步程序,同步程序保存为rdb文件。
S512,主集群向同步程序发送同步过程增量指令。若在向同步程序发送同步快照数据的同步过程中,主集群的数据出现变化,则向同步程序发送增量指令。
S514,同步程序解析得到多个指令事件,保存在异步队列中。
同步程序根据上述同步快照文件和增量指令解析得到多个指令事件,备集群可以通过执行上述指令事件进行数据同步。
S516,同步程序向主集群提交确认。
S518,同步程序将指令事件写入备集群。同步程序向备集群写入数据通过执行与主集群曾执行指令事件相同的指令事件实现,同步进程从异步队列中获取要执行的指令事件,按指令事件给备节点发送对应的命令,实现数据的同步。
S520,备集群返回执行结果。
S522,同步程序保存同步偏移量。当下次同步时,基于该同步偏移量可以计算需要同步到偏移量。
在主集群和备集群之间的同步结束后,Redis客户端可以保存同步偏移量,然后每隔一定时长,同步程序可以自动查询同步偏移量,以发起自动同步,上述方法还可包括以下步骤:定时确定待同步的数据偏移量,根据待同步的数据偏移量将主集群的数据同步至备集群。具体地,同步进程周期性发起同步流程进行主集群和备集群之间的数据同步,该同步进程一直存活,等待同步流程的同步请求。同步流程开始,备集群保存数据偏移量,主集群数据不断更新,等待预设时长,同步进程发送数据偏移量,进行数据同步。
在当前使用集群切换至备集群后,如果主集群恢复正常运行,则可以回切至该主集群或者将该主集群作为该备集群的后备集群。由于一旦发生主备集群切换,备集群的数据发生变化,但是数据此时未同步到主集群,因此主集群修复后需先同步备集群变化的数据,才能把客户端访问的当前使用集群切换到主集群,否则会造成数据不一致问题。基于此,上述方法还可包括以下步骤:
(1)监测当前是否满足预设的第二集群切换条件。该第二集群切换条件包括以下至少一项:主集群的状态信息为可用、主集群的请求失败率小于或等于第二预设阈值、备集群的状态信息为不可用。该第二预设阈值可以与前述第一预设阈值相同或者不同。
(2)若满足第二集群切换条件,则将备集群的数据同步至主集群;
(3)将当前使用集群从备集群切换至主集群。
其中,将备集群的数据同步至主集群,可以保持当前的主从状态,将数据同步方向修改为从备集群向主集群同步;在保持数据同步的基础上,还可以将当前使用集群从备集群切换至主集群,即恢复成标准的主从状态,具体可以通过手动或者自动同步备集群的数据到主集群,然后切换到主集群。
本发明实施例提供了一种Redis-Cluster双集群系统,在异地双中心部署两个Redis-Cluster集群,两个中心分别在两个机房独立部署,每个中心部署一个Redis-Cluster集群。每个集群中部署有主节点和从节点,两个集群内部的节点保持信息同步。当一个集群内部的主节点出现问题时,优先切换到对应的备节点;当全部节点均出现问题时,由另外一个集群承载全部业务,保障系统稳定运行,提高了系统健壮性和冗余性。
Redis-Cluster主备集群间可以自动切换,Redis客户端可以实时监测两个集群的状态,当主集群出问题时自动切换到备集群,当备集群出问题时保持在主集群访问。主备集群间数据实时增量同步,主集数据实时同步到备集群,保证切换到备集群时业务数据一致。系统切换到备集群后,若主集群恢复则支持执行脚本回切主集群,灵活适用各种应用场景。
下面,将结合具体的验证案例对本发明实施例的方法作进一步的描述。基于Redis-Cluster集群的数据缓存双中心的方案已在湖南移动电渠双中心上线,通过了系统高可用演练。图6是本发明的一个实施例的湖南移动电渠双中心切换方法的流程图,可包括:
S602,手动将主集群数据同步到备集群中。
S604,启动由主集群到备集群的增量同步过程。上述S602和S604为数据的初始化过程,仅执行一次,将主集群数据全量同步到备集群中,同时启动主集群到备集群的增量数据同步脚本。
S606,当主集群宕机时,应用客户端切换至备集群。该切换过程可以是客户端自动切换到备集群,也可以是用户手动切换到备集群。手动切换到主集群后下一个切换周期开始。
S608,应用客户端在备集群正常运行。该应用客户端可以是移动营业厅等。
S610,主集群数据恢复。在主集群数据恢复时,可以先进行全量数据恢复,将备集群的全量数据同步到主集群中,主集群重启加载全量数据。
S612,执行切换脚本,将客户端从备集群切换到主集群。
S614,重启主备集群增量同步进程。重新启动从主集群到备集群的增量数据同步,至此切换完成。
图7是本发明的一个实施例中一种集群切换装置的结构示意图,请参考图7,该集群切换装置可包括:
数据同步模块701,用于将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;
切换判断模块702,用于在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;
地址获取模块703,用于若满足所述第一集群切换条件,则获取所述备集群的地址信息;
集群切换模块704,用于根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
本发明实施例提供了一种集群切换装置,主集群和备集群为异地部署的不同集群,在当前使用集群为主集群的情况下,判断是否满足预设的第一集群切换条件,若满足则获取备集群的地址信息并将当前使用集群从主集群切换至备集群,因此在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。
可选地,作为一个实施例,所述数据同步模块701,具体用于:分别获取所述主集群和所述备集群的数据偏移量;根据所述主集群和所述备集群的数据偏移量,计算待同步的数据偏移量;向所述主集群中的各主节点发送同步指令;所述同步指令中携带所述待同步的数据偏移量;接收各所述主节点基于所述同步指令反馈的待同步数据,并将所述待同步数据写入所述备集群。
可选地,作为一个实施例,所述地址获取模块703,具体用于:查询所述主集群的状态信息;若所述主集群的状态信息为不可用,则确定满足所述第一集群切换条件;或,统计所述主集群的请求失败率;若所述请求失败率大于第一预设阈值,则确定满足所述第一集群切换条件。
可选地,作为一个实施例,所述集群切换模块704,具体用于:查询所述备集群的状态信息;若所述备集群的状态信息为可用,则将所述当前使用集群的地址信息更改为所述备集群的地址信息。
可选地,作为一个实施例,所述装置还包括集群回切模块,用于:监测当前是否满足预设的第二集群切换条件;所述第二集群切换条件包括以下至少一项:所述主集群的状态信息为可用、所述主集群的请求失败率小于或等于第二预设阈值、所述备集群的状态信息为不可用;若满足所述第二集群切换条件,则将所述备集群的数据同步至所述主集群;将所述当前使用集群从所述备集群切换至所述主集群。
可选地,作为一个实施例,所述装置还包括地址更新模块,用于:监控所述当前使用集群的地址信息是否被更新;若是,则根据所述地址信息更新所述当前使用集群的集群信息;所述集群信息包括所述地址信息。
本发明实施例提供的集群切换装置能够实现图2至图6的方法实施例中的各个过程,为避免重复,这里不再赘述。
请参阅图8,图8是本发明实施例应用的集群切换设备的结构示意图,能够实现上述实施例中集群切换方法的细节,并达到相同的效果。如图8所示,集群切换设备800包括:处理器801、收发机802、存储器803、用户接口804和总线接口,其中:
在本发明实施例中,集群切换800还包括:存储在存储器上803并可在处理器801上运行的计算机程序,计算机程序被处理器801执行时实现如下步骤:
将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;若满足所述第一集群切换条件,则获取所述备集群的地址信息;根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器803代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机802可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口804还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器801负责管理总线架构和通常的处理,存储器803可以存储处理器801在执行操作时所使用的数据。
可选的,计算机程序被处理器801执行时还可实现如下步骤:分别获取所述主集群和所述备集群的数据偏移量;根据所述主集群和所述备集群的数据偏移量,计算待同步的数据偏移量;向所述主集群中的各主节点发送同步指令;所述同步指令中携带所述待同步的数据偏移量;接收各所述主节点基于所述同步指令反馈的待同步数据,并将所述待同步数据写入所述备集群。
可选的,计算机程序被处理器801执行时还可实现如下步骤:查询所述主集群的状态信息;若所述主集群的状态信息为不可用,则确定满足所述第一集群切换条件;或,统计所述主集群的请求失败率;若所述请求失败率大于第一预设阈值,则确定满足所述第一集群切换条件。
可选的,计算机程序被处理器801执行时还可实现如下步骤:查询所述备集群的状态信息;若所述备集群的状态信息为可用,则将所述当前使用集群的地址信息更改为所述备集群的地址信息。
可选的,计算机程序被处理器801执行时还可实现如下步骤:监测当前是否满足预设的第二集群切换条件;所述第二集群切换条件包括以下至少一项:所述主集群的状态信息为可用、所述主集群的请求失败率小于或等于第二预设阈值、所述备集群的状态信息为不可用;若满足所述第二集群切换条件,则将所述备集群的数据同步至所述主集群;将所述当前使用集群从所述备集群切换至所述主集群。
可选的,计算机程序被处理器801执行时还可实现如下步骤:监控所述当前使用集群的地址信息是否被更新;若是,则根据所述地址信息更新所述当前使用集群的集群信息;所述集群信息包括所述地址信息。
本发明实施例提供了一种集群切换设备,主集群和备集群为异地部署的不同集群,在当前使用集群为主集群的情况下,判断是否满足预设的第一集群切换条件,若满足则获取备集群的地址信息并将当前使用集群从主集群切换至备集群,因此在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。
优选的,本发明实施例还提供一种集群切换设备,包括处理器801,存储器803,存储在存储器803上并可在所述处理器801上运行的计算机程序,该计算机程序被处理器801执行时实现上述集群切换方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述集群切换方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本发明实施例提供一种计算机可读存储介质,在主集群无法提供服务而备集群可提供服务的情况下,将当前使用集群从主集群切换至备集群,从而保障系统稳定运行和业务连续,提高了系统健壮性和冗余性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种集群切换方法,其特征在于,包括:
将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;
在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;
若满足所述第一集群切换条件,则获取所述备集群的地址信息;
根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
2.根据权利要求1所述的方法,其特征在于,所述将所述主集群的数据同步至所述备集群,包括:
分别获取所述主集群和所述备集群的数据偏移量;
根据所述主集群和所述备集群的数据偏移量,计算待同步的数据偏移量;
向所述主集群中的各主节点发送同步指令;所述同步指令中携带所述待同步的数据偏移量;
接收各所述主节点基于所述同步指令反馈的待同步数据,并将所述待同步数据写入所述备集群。
3.根据权利要求1所述的方法,其特征在于,所述判断是否满足预设的第一集群切换条件,包括:
查询所述主集群的状态信息;若所述主集群的状态信息为不可用,则确定满足所述第一集群切换条件;或,
统计所述主集群的请求失败率;若所述请求失败率大于第一预设阈值,则确定满足所述第一集群切换条件。
4.根据权利要求1所述的方法,其特征在于,所述将所述当前使用集群从所述主集群切换至所述备集群,包括:
查询所述备集群的状态信息;
若所述备集群的状态信息为可用,则将所述当前使用集群的地址信息更改为所述备集群的地址信息。
5.根据权利要求1所述的方法,其特征在于,在将所述当前使用集群从所述主集群切换至所述备集群之后,所述方法还包括:
监测当前是否满足预设的第二集群切换条件;所述第二集群切换条件包括以下至少一项:所述主集群的状态信息为可用、所述主集群的请求失败率小于或等于第二预设阈值、所述备集群的状态信息为不可用;
若满足所述第二集群切换条件,则将所述备集群的数据同步至所述主集群;
将所述当前使用集群从所述备集群切换至所述主集群。
6.根据权利要求1所述的方法,其特征在于,在将所述当前使用集群切换至所述备集群之后,所述方法还包括:
监控所述当前使用集群的地址信息是否被更新;
若是,则根据所述地址信息更新所述当前使用集群的集群信息;所述集群信息包括所述地址信息。
7.一种集群切换装置,其特征在于,所述装置包括:
数据同步模块,用于将主集群的数据同步至备集群;所述主集群和所述备集群为异地部署的不同集群;
切换判断模块,用于在当前使用集群为所述主集群的情况下,判断是否满足预设的第一集群切换条件;
地址获取模块,用于若满足所述第一集群切换条件,则获取所述备集群的地址信息;
集群切换模块,用于根据所述备集群的地址信息,将所述当前使用集群从所述主集群切换至所述备集群。
8.根据权利要求7所述的装置,其特征在于,所述数据同步模块具体用于:
分别获取所述主集群和所述备集群的数据偏移量;
根据所述主集群和所述备集群的数据偏移量,计算待同步的数据偏移量;
向所述主集群中的各主节点发送同步指令;所述同步指令中携带所述待同步的数据偏移量;
接收各所述主节点基于所述同步指令反馈的待同步数据,并将所述待同步数据写入所述备集群。
9.一种集群切换设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的集群切换方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的集群切换方法。
CN201911374163.5A 2019-12-27 2019-12-27 集群切换方法、装置及设备 Pending CN113051110A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911374163.5A CN113051110A (zh) 2019-12-27 2019-12-27 集群切换方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911374163.5A CN113051110A (zh) 2019-12-27 2019-12-27 集群切换方法、装置及设备

Publications (1)

Publication Number Publication Date
CN113051110A true CN113051110A (zh) 2021-06-29

Family

ID=76506243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911374163.5A Pending CN113051110A (zh) 2019-12-27 2019-12-27 集群切换方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113051110A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079192A (zh) * 2021-02-08 2021-07-06 马上消费金融股份有限公司 信息处理方法、装置、设备和可读存储介质
CN114090349A (zh) * 2021-11-18 2022-02-25 广州新科佳都科技有限公司 一种基于主备集群服务器跨地区服务容灾方法及装置
CN114338360A (zh) * 2022-01-14 2022-04-12 百果园技术(新加坡)有限公司 直播列表服务处理方法、系统、电子设备及存储介质
CN114422567A (zh) * 2021-12-09 2022-04-29 阿里巴巴(中国)有限公司 数据请求的处理方法、装置、系统、计算机设备及介质
CN115484267A (zh) * 2022-09-15 2022-12-16 中国联合网络通信集团有限公司 多集群部署处理方法、装置、电子设备和存储介质
CN115499299A (zh) * 2022-09-13 2022-12-20 航天信息股份有限公司 一种集群设备监控方法及装置
CN118503022A (zh) * 2024-07-16 2024-08-16 天翼视联科技有限公司 Redis Cluster集群数据中心故障切换隔离方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036719A (zh) * 2012-12-12 2013-04-10 北京星网锐捷网络技术有限公司 一种基于主备集群服务器的跨地区服务容灾方法及装置
CN107769943A (zh) * 2016-08-17 2018-03-06 阿里巴巴集团控股有限公司 一种主备集群切换的方法和设备
CN108011929A (zh) * 2017-11-14 2018-05-08 平安科技(深圳)有限公司 数据请求处理方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036719A (zh) * 2012-12-12 2013-04-10 北京星网锐捷网络技术有限公司 一种基于主备集群服务器的跨地区服务容灾方法及装置
CN107769943A (zh) * 2016-08-17 2018-03-06 阿里巴巴集团控股有限公司 一种主备集群切换的方法和设备
CN108011929A (zh) * 2017-11-14 2018-05-08 平安科技(深圳)有限公司 数据请求处理方法、装置、计算机设备和存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079192A (zh) * 2021-02-08 2021-07-06 马上消费金融股份有限公司 信息处理方法、装置、设备和可读存储介质
CN113079192B (zh) * 2021-02-08 2021-12-31 马上消费金融股份有限公司 信息处理方法、装置、设备和可读存储介质
CN114090349A (zh) * 2021-11-18 2022-02-25 广州新科佳都科技有限公司 一种基于主备集群服务器跨地区服务容灾方法及装置
CN114422567A (zh) * 2021-12-09 2022-04-29 阿里巴巴(中国)有限公司 数据请求的处理方法、装置、系统、计算机设备及介质
CN114422567B (zh) * 2021-12-09 2024-10-11 阿里巴巴(中国)有限公司 数据请求的处理方法、装置、系统、计算机设备及介质
CN114338360A (zh) * 2022-01-14 2022-04-12 百果园技术(新加坡)有限公司 直播列表服务处理方法、系统、电子设备及存储介质
CN115499299A (zh) * 2022-09-13 2022-12-20 航天信息股份有限公司 一种集群设备监控方法及装置
CN115484267A (zh) * 2022-09-15 2022-12-16 中国联合网络通信集团有限公司 多集群部署处理方法、装置、电子设备和存储介质
CN115484267B (zh) * 2022-09-15 2024-09-17 中国联合网络通信集团有限公司 多集群部署处理方法、装置、电子设备和存储介质
CN118503022A (zh) * 2024-07-16 2024-08-16 天翼视联科技有限公司 Redis Cluster集群数据中心故障切换隔离方法及系统
CN118503022B (zh) * 2024-07-16 2024-10-18 天翼视联科技有限公司 Redis Cluster集群数据中心故障切换隔离方法及系统

Similar Documents

Publication Publication Date Title
CN113051110A (zh) 集群切换方法、装置及设备
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
CN109376197B (zh) 一种数据同步方法、服务器及计算机存储介质
CN108566291B (zh) 一种事件处理的方法、服务器及系统
CN103036719A (zh) 一种基于主备集群服务器的跨地区服务容灾方法及装置
CN102035683B (zh) 一种主备板倒换的控制方法和系统
CN106469069B (zh) 一种版本升级方法及系统
CN112100005A (zh) 一种Redis副本集的实现方法及装置
EP4060514A1 (en) Distributed database system and data disaster backup drilling method
CN105959078A (zh) 一种集群时间同步方法、集群及时间同步系统
CN102045187B (zh) 一种利用检查点实现高可用性系统的方法和设备
CN112612851A (zh) 多中心数据同步方法及装置
CN109617950B (zh) 一种数据更新方法、装置、设备及可读存储介质
CN111049886A (zh) 多区域sdn控制器数据同步方法、服务器及系统
CN114020279A (zh) 应用软件分布式部署方法、系统、终端及存储介质
CN112486733B (zh) 系统还原方法、装置、终端及存储介质
CN114625566A (zh) 数据容灾方法、装置、电子设备及存储介质
CN101739406A (zh) 双控制器上文件服务操作的同步方法
CN112751693B (zh) 分布式存储系统的数据处理方法、装置及电子设备
CN115550424B (zh) 一种数据缓存方法、装置、设备及存储介质
CN112000850A (zh) 进行数据处理的方法、装置、系统及设备
CN111352959A (zh) 数据同步补救、存储方法及集群装置
CN111083192B (zh) 数据共识方法、装置及电子设备
CN114598711A (zh) 一种数据迁移方法、装置、设备及介质
CN113472891A (zh) 一种sdn控制器集群数据处理方法、设备及介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210629