一种数据容灾方法、装置和系统与流程

文档序号:12477570阅读:187来源:国知局
本发明涉及通信
技术领域
:,具体涉及一种数据容灾方法、装置和系统。
背景技术
::数据容灾,指的是建立一个数据系统,使得系统发生故障时,能够保证用户数据的安全性,甚至,可以提供不间断的应用服务。在传统的数据容灾方案中,系统至少存在两个设备,一个作为主用设备(Master),另一个作为备用设备(Slave),其中,主用设备对外提供服务,而备用设备则作为主用设备的备份,当主用设备发生故障时,替代主用设备。这种主备复制容灾方案虽然可以在一定程度上达到容灾的目的,但是,由于该方案大部分操作只支持手动切换,因此,当故障发生时,并无法及时切换至备用设备中。为此,现有技术又提出了主主复制的容灾方案,即两台设备之间互为主备,任何一个设备中数据发送变化,均为同步到另一设备中,这样,两台设备可以同时对外提供服务,并互为镜像,当其中一台设备发生故障时,业务便可以直接切换到另一台设备中,而无需运维人员干预。在对现有技术的研究和实践过程中,本发明的发明人发现,现有的主主复制的容灾方案虽然在一定程度上可以保证切换前后数据的一致性,但是,由于存在两个主用设备,因此,需要在业务层上对这两个设备进行严格区分,否则业务随意选择主用设备会造成大规模主键冲突,所以,该方案实现较为复杂,系统可用性不高。技术实现要素:本发明实施例提供一种数据容灾方法、装置和系统,不仅可以实现主备切换前后数据的一致性,而且,无需在业务层上对设备进行严格区分,实现较为简单,系统可用性高。本发明实施例提供一种数据容灾方法,包括:对逻辑单元内各个节点进行监控,所述逻辑单元包括主节点和多个备用节点;当监控到所述主节点发生异常时,分别获取所述多个备用节点的日志信息,所述备用节点的日志信息包括备用节点与主节点进行数据同步的时间点;选择所述时间点最接近当前时间的备用节点作为目标节点;将主节点更新为所述目标节点。相应的,本发明实施例还提供一种数据容灾装置,包括:监控单元,用于对逻辑单元内各个节点进行监控,所述逻辑单元包括主节点和多个备用节点;获取单元,用于在监控到所述主节点发生异常时,分别获取所述多个备用节点的日志信息,所述备用节点的日志信息包括备用节点与主节点进行数据同步的时间点;选择单元,用于选择所述时间点最接近当前时间的备用节点作为目标节点;更新单元,用于将主节点更新为所述目标节点。此外,本发明实施例还提供一种数据容灾系统,可以包括本发明实施例所提供的任一种数据容灾装置。本发明实施例采用对逻辑单元内各个节点进行监控,当监控到主节点发生异常时,分别获取多个备用节点的日志信息,其中,备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,选择时间点最接近当前时间的备用节点作为目标节点,并将主节点更新为该目标节点,从而实现主备之间的切换;由于该方案的逻辑单元可以包括多个备用节点,然后,在主节点发生异常时,从中选择出具有最新数据的备用节点作为新的主节点,因此,可以保证切换前后,原主节点与新的主节点之间数据的一致性;而且,由于该逻辑单元只有一个主节点,因此,不会出现如现有技术中所面临的大规模主键冲突问题,可以不在业务层对各个设备进行区分,实现更为简单,可以大大提高系统的可用性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本发明实施例提供的数据容灾系统的场景示意图;图1b是本发明实施例提供的数据容灾方法的场景示意图;图1c是本发明实施例提供的数据容灾方法的流程图;图2a是本发明实施例提供的数据容灾装置的架构示例图;图2b是本发明实施例提供的数据容灾方法中临时节点注册时的场景示意图;图2c是本发明实施例提供的数据容灾方法的另一流程图;图3a是本发明实施例提供的逻辑单元备份的场景示意图;图3b是本发明实施例提供的跨城容灾流程的场景示意图;图4a是本发明实施例提供的数据容灾装置的结构示意图;图4b是本发明实施例提供的数据容灾装置的另一结构示意图;图5是本发明实施例提供的服务器的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种数据容灾方法、装置和系统。其中,该数据容灾系统可以包括本发明实施例所提供的任一种数据容灾装置,该数据容灾装置的数量可以根据实际应用的需求而定,此外,如图1a所示,该数据容灾系统还可以包括其他的设备,比如接入网关(GW,GateWay)、以及用户设备等;其中,接入网关可以接收用户设备发送的连接建立请求,根据该连接建立请求获取多个数据容灾装置的负载信息,然后,根据该负载信息选择匹配的数据容灾装置,并建立该用户设备与匹配到的数据容灾装置之间的连接关系,这样,后续用户设备发送的数据处理请求,便可以基于该连接关系将数据处理请求转发至相应的数据容灾装置中,由该数据容灾装置根据该数据处理请求进行数据处理,比如进行数据的读取、写入、删除或更改,等等。其中,具体实现时,该数据容灾装置可以作为一个实体来实现,也可以由多个实体共同来实现,即该数据容灾装置可以包括多个网络设备,比如,如图1b所示,该数据容灾装置可以包括调度器和逻辑单元(set),其中,该逻辑单元可以包括主节点和多个备用节点,这些节点可以部署在同一机房中,也可以部署在不同机房中,可以位于同一区域,也可以是位于不同区域。其中,主节点主要用于根据数据处理请求进行数据处理,比如,进行数据的读或写等操作;而备用节点则是可以通过数据同步的方式来对主节点中的数据进行备份,备用节点可以提供“读”的功能。调度器主要用于对逻辑单元中的节点的状态进行监控、以及对主备节点的切换进行控制,比如,具体可以对逻辑单元内各个节点进行监控,若监控到主节点发生异常,则分别获取该多个备用节点的日志信息,其中,该备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,选择该时间点最接近当前时间的备用节点作为目标节点,并将主节点更新为该目标节点,即将该目标节点作为新的主节点,而原主节点则可以降为备用节点,等等。此外,该数据容灾装置还可以包括代理服务器,用于接收接入网关发送的数据处理请求,并根据预设路由信息将该数据处理请求发送至相应的逻辑单元的节点中进行处理,以及,与调度器进行交互,以获取相应的路由信息,等等。以下将分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优先顺序的限定。实施例一、本实施例将从数据容灾装置的角度进行描述,该数据容灾装置可以作为一个实体来实现,也可以由多个实体共同来实现,即该数据容灾装置具体可以集成在服务器等设备中,或者,也可以包括多个网络设备,比如可以包括调度器和逻辑单元(set)等,此外,该数据容灾装置还可以包括其他设备,比如代理服务器等。一种数据容灾方法,包括:对逻辑单元内各个节点进行监控,当监控到该主节点发生异常时,分别获取该多个备用节点的日志信息,该备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,选择该时间点最接近当前时间的备用节点作为目标节点,将主节点更新为该目标节点。如图1c所示,该数据容灾方法的具体流程可以如下:101、对逻辑单元内各个节点进行监控。其中,该逻辑单元可以包括主节点和多个备用节点,主节点主要用于根据数据处理请求进行数据处理,比如,进行数据的读或写等操作;而备用节点则是可以通过数据同步的方式来对主节点中的数据进行备份,备用节点可以提供“读”的功能。这些节点可以部署在同一机房中,也可以部署在不同机房中,可以位于同一区域,也可以是位于不同区域;可选的,为了提高传输效率,各个节点之间还可以通过专线进行传输。其中,对逻辑单元内各个节点(包括主节点和备用节点)进行监控的方式可以有多种,比如,可以对数据库实例,如mysql(一种关系型数据库)实例进行监控、对各个节点所执行的事务进行监控、和/或对逻辑单元内各个节点的硬件状态和核心程序运行状态进行监控,等等,例如,具体可以如下:(1)对逻辑单元内各个节点的数据库实例的运行进行监控,如下:分别对逻辑单元内各个节点中的数据库实例进行周期性访问,若该数据库实例不可读和/或不可写,则确定相应的节点发生异常。(2)对逻辑单元内各个节点所执行的事务进行监控,如下:分别对逻辑单元内各个节点从主节点上拉取事务线程的工作状态进行监控,若该工作状态指示当前处于非工作状态,比如,该工作状态为“NO”,则确定相应的节点发生异常。(3)对逻辑单元内各个节点的硬件状态和核心程序运行状态进行监控,如下:定时获取逻辑单元内各个节点的硬件状态信息、以及核心程序运行状态信息,根据该硬件状态信息确定节点发生硬件故障时,和/或,根据该核心程序运行状态信息确定节点发生软件故障时,确定相应的节点发生异常。其中,该逻辑单元可以是预设的,也可以由系统根据具体的服务请求进行建立,即在步骤“对逻辑单元内的节点进行监控”之前,该数据容灾方法还可以包括:获取接入网关发送的服务请求,根据该服务请求选择多个节点,根据选择的节点创建逻辑单元,并确定逻辑单元中各个节点的主备关系,使得该逻辑单元包括主节点和多个备用节点。可选的,为了提高数据的安全性,在将主节点中的数据同步到各个备用节点的同时,还可以将数据备份到其他的存储设备,比如分布式文件系统(HDFS,HadoopDistributeFileSystem)中,即在分布式文件系统中保存该逻辑单元相应的镜像文件,这样,当该逻辑单元中的节点发生故障时,便可以基于当天的镜像文件以及指定时间点的日志信息,将该逻辑单元节点中的数据,以极快的速度(比如秒级)恢复到指定时间点。可选的,为了提高数据备份的效率,以及减少数据备份时对各个节点运行的影响,还可以在备用节点中选择相应的节点,作为冷备节点,来执行数据备份的操作,即,在步骤“确定逻辑单元中各个节点的主备关系”之后,该数据容灾方法还可以包括:按照预设策略从备用节点中选择相应的节点,作为冷备节点,通过该冷备节点以管道流的方式将数据备份至分布式文件系统。可选的,为了进一步提高备份数据的效率,以及减少对各个节点运行的影响,冷备节点在将数据备份至分布式文件系统时,可以避开逻辑单元运作的高峰期,比如,可以一天备份一次,并且,可以选择一天中的一个随机事件来进行备份,等等。102、当监控到该主节点发生异常时,分别获取该多个备用节点的日志信息。其中,该备用节点的日志信息可以包括备用节点与主节点进行数据同步的时间点,此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。该备用节点的日志信息的表现形式可以有多种,比如,具体可以为二进制日志(binlog)等。可选的,在监控到该主节点发生异常时,除了直接触发“获取该多个备用节点的日志信息”操作之外,还可以通过其他的方式来触发执行该“获取该多个备用节点的日志信息”的操作,比如,可以将该主节点降级为备用节点,从而使得该逻辑单元中不存在主节点,这样,该逻辑单元便会生成指示不存在主节点的状态信息,而后续调度器若监控到该指示不存在主节点的状态信息,便可以停止备用节点的同步日志的输入输出(I/O,Input/Output)接口,并触发执行该“获取该多个备用节点的日志信息”的操作;也就是说,在步骤“分别获取该多个备用节点的日志信息”之前,该数据容灾方法还可以包括:将该主节点降级为备用节点,并停止备用节点的同步日志(比如binlog)的I/O接口。在监控到该主节点发生异常时,还可以对主节点中的数据进行修复,比如,具体可以如下:获取该主节点的日志信息,根据该主节点的日志信息对该主节点中的数据进行修复,等等。其中,该主节点的日志信息可以包括主节点更新数据的时间点(即主节点更新自身数据的时间点),此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。该主节点的日志信息的表现形式可以有多种,比如,具体可以为二进制日志(binlog)等。需说明的是,由于在本发明实施例中,客户端在发出一条数据处理请求,比如结构化查询语言(sql,StructuredQueryLanguage)后,需要等待主节点将该数据处理请求对应的日志信息(比如binlog)同步到备用节点上时,才能正常返回,否则客户端会返回超时的错误。因此,当主节点突然发生异常,日志信息可能还没来得及发送到其他备用节点时,如果此时主节点依照自身的日志信息进行数据恢复,则结果会多出这笔数据(即此时主节点比备用节点多出这一笔数据),因而,为了避免出现这种情况,在对主节点进行数据恢复之前,可以对这笔数据所对应的日志信息做闪回处理,即,在步骤“获取该主节点的日志信息”之前,该数据容灾方法还可以包括:确定主节点中的数据是否已同步至备用节点,若是,则执行获取该主节点的日志信息的步骤;若否,则对尚未同步的数据所对应的日志信息进行闪回处理。可选的,在对尚未同步的数据所对应的日志信息进行闪回处理之前,还可以确定该尚未同步的数据所对应的日志信息是否能够被闪回,若是,才执行该对尚未同步的数据所对应的日志信息进行闪回处理的步骤;否则,若不能被闪回,则从该目标节点中全量拉取镜像数据,以重构该主节点中的数据。比如,对于删除表(droptable)之类的,就无法被闪回,因此,对于此类数据,可以从目标节点中全量拉取镜像数据,来进行数据的重构,等等。需说明的是,除了可以由该数据容灾装置自动从目标节点中全量拉取镜像数据之外,也可以由运维人员进行干预,即由人工从目标节点中全量拉取镜像数据,以重构该主节点中的数据。103、根据该日志信息,选择该时间点(即备用节点与主节点进行数据同步的时间点)最接近当前时间的备用节点作为目标节点。比如,当前时间点为7月1日的12:10:01,而备用节点A与主节点进行数据同步的时间点为7月1日的12:10:00分,备用节点B与主节点进行数据同步的时间点为7月1日的12:09:59分,备用节点C与主节点进行数据同步的时间点为7月1日的12:10:01分,则此时,可以选择备用节点C作为目标节点,从而保证该目标节点中的数据与主节点的数据的一致性。104、将主节点更新为该目标节点,即,将该目标节点作为新的主节点,从而将原主节点中的业务切换至该目标节点上。可选的,为了提高数据的安全性,还可以对该逻辑单元中的数据进行异地备份,比如,若该逻辑单元位于A地,则可以在B地对该逻辑单元进行备份,从而使得当A地的逻辑单元发生异常,比如A地发生灾难时,可以将A地逻辑单元的业务切换至B地的备份逻辑单元;即该数据容灾方法还可以包括:对该逻辑单元进行异地备份,得到备用逻辑单元,在该逻辑单元发生故障时,将该逻辑单元的业务切换至该备用逻辑单元中。此外,还可以利用B地备份的数据对A地的逻辑单元进行数据重建,即在步骤“将该逻辑单元的业务切换至该备用逻辑单元中”之后,该数据容灾方法还可以包括:将该备用逻辑单元中各个节点的数据同步至该逻辑单元相应节点中;确定该逻辑单元和备用逻辑单元中各个节点的数据延迟小于预设值时,将该备用逻辑单元设置为只读,并在该延迟(即该逻辑单元和备用逻辑单元中各个节点的数据延迟)为0时,将该业务切换回该逻辑单元中。其中,该预设值可以根据实际应用的需求进行设置,在此不再赘述。由上可知,本实施例采用对逻辑单元内各个节点进行监控,当监控到主节点发生异常时,分别获取多个备用节点的日志信息,其中,备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,选择时间点最接近当前时间的备用节点作为目标节点,并将主节点更新为该目标节点,从而实现主备之间的切换;由于该方案的逻辑单元可以包括多个备用节点,然后,在主节点发生异常时,从中选择出具有最新数据的备用节点作为新的主节点,因此,可以保证切换前后,原主节点与新的主节点之间数据的一致性;而且,由于该逻辑单元只有一个主节点,因此,不会出现如现有技术中所面临的大规模主键冲突问题,可以不在业务层对各个设备进行区分,实现更为简单,可以大大提高系统的可用性。实施例二、根据实施例一所描述的方法,以下将举例作进一步详细说明。在本实施例中,将以数据容灾系统包括用户设备、接入网关、以及多个数据容灾装置,而该数据容灾装置包括代理服务器、调度器和逻辑单元(set)为例进行详细说明。其中,参见图1a、图1b和图2a,该数据容灾系统中各个设备的具体功能可以如下:(1)用户设备;用户设备,用于通过接入网关与数据容灾装置建立连接关系,并基于该连接关系向相应的数据容灾装置发送数据处理请求,以获取相应的服务。(2)接入网关;在用户新建连接时,接入网关可以获取多个数据容灾装置的负载信息,根据这些负载信息选择匹配的数据容灾装置,并建立用户设备与匹配到的数据容灾装置之间的连接关系;此外,接入网关中还可以保存该连接关系的相关信息,比如保存该连接的会话信息等。而对于已经建立连接的用户请求,比如用户设备发送的数据处理请求,则可以根据该连接的会话信息,将该数据处理请求转发到对应的数据容灾装置上,从而达到负载均衡的目的。其中,为了可以及时且准确地获取各个数据容灾装置的负载信息,还可以设置一服务列表,用于保存有多个可以提供服务的数据容灾装置的信息,这样,在需要选择数据容灾装置时,便可以根据该服务列表中的信息,来选择所需的数据容灾装置;与此同时,为了保持该服务列表中信息的准确性和实时性,接入网关还可以周期性地探测各个数据容灾装置的状态,并基于这些状态对该服务列表中的信息进行更新,比如,可以将故障的数据容灾装置及时从服务列表中删除,而当检测到该故障的数据容灾装置恢复正常,则可以添加回服务列表中,等等。需说明的是,由于该接入网关保存了连接的会话信息,因此,即便对数据容灾装置进行扩容,比如增加多几个数据容灾装置,也不会对已经存在的用户连接造成影响,所以,该方案可以很方便地进行扩容。(3)数据容灾装置;参见图1b,该数据容灾装置可以包括代理服务器(proxy)、调度器和逻辑单元(set)等设备,具体可以如下:A、代理服务器;代理服务器,用于从调度器中获取和保存路由信息,并根据该路由信息将用户设备发送的数据处理请求,比如sql语句转发至相应的逻辑单元。此外,该代理服务器,还可以对接收到的数据处理请求进行鉴权,比如,根据该数据处理请求中携带的用户设备的标识,比如网际协议(IP,InternetProtocol)地址、用户名和/或用户密码等信息进行鉴权,等等。B、调度器;该调度器作为该数据容灾装置的调度管理中心,可以进行逻辑单元(set)的创建、删除、以及逻辑单元中节点的选择、以及替换等操作。此外,该调度器还可以对逻辑单元中的各个节点进行监控,当监控到该主节点发生异常时,则发起主备切换流程,比如,可以分别获取该多个备用节点的日志信息,并根据该日志信息选择新的主节点,等等。其中,该调度器可以包括多个调度程序(Scheduler),然后由这多个Scheduler来协作完成该调度器的主要操作,比如,创建和删除逻辑单元,以及对逻辑单元中的节点进行选择和替换,以及对各个节点的状态进行监控,并在确定主节点发生异常时,发起主备切换流程,等等。而该Scheduler与其他部分,比如代理服务器和逻辑单元之间的交互则可以通过开源的分布式应用程序协调服务,比如Zookeeper来完成;比如,该Zookeeper可以接收各个节点上报的状态信息,并将该状态信息提供给Scheduler,或者,Scheduler也可以对Zookeeper进行监控,并从Zookeeper中获取到相应的节点的状态信息,等等。需说明的是,由于Zookeeper可能会面对多个逻辑单元,因此,为了方便对各个逻辑单元进行管理,如图2b所示,在建立逻辑单元时,可以在Zookeeper中注册一个与该逻辑单元对应的临时节点,并由该临时节点来处理该逻辑单元的事务,比如接收该逻辑单元中各个节点的状态信息,等等。需说明的是,Scheduler的容灾可以通过Zookeeper的选举机制完成,在此不作细述。C、逻辑单元(set);逻辑单元,可以包括主节点和多个备用节点,主节点主要用于根据数据处理请求进行数据处理,比如,进行数据的读或写等操作;而备用节点则是可以通过数据同步的方式来对主节点中的数据进行备份,备用节点可以提供“读”的功能。这些节点可以部署在同一机房中,也可以部署在不同机房中,可以位于同一区域,也可以是位于不同区域。为了便于对这些节点进行管理和数据传输,还可以为每一个节点分别设置一个代理模块(Agent),该代理模块可以独立于各个节点,也可以集成在各个节点中,例如,参见图2a。该代理模块,可以通过短连接的方式周期性访问所属节点的数据库实例(DB),以检测是否可读和可写,若可读且可写,则表示该节点正常,若不可读或不可写,则表示该节点发生异常,此时,代理模块便可以生成相应的表示节点异常的状态信息,并将该状态信息上报给调度器,比如,具体可以上报给Zookeeper中相应的临时节点,从而使得调度器可以检测到该节点发生异常,进而进行主备切换。其中,该代理模块对所属节点的数据库实例的访问周期可以根据实际应用的需求而定,比如,可以设置为每3秒则监测一次,等等。该代理模块,还可以对所属节点在执行事务时的延时时间、以及延迟的事务数量进行统计,并定期将携带统计结果的状态信息上报给调度器,比如,具体可以上报给Zookeeper中相应的临时节点,以便调度器可以据此确定是否发起主备切换流程,比如,如果统计结果超过预设阈值,则进行主备切换,等等。此外,如发生了主备切换,代理模块还可以根据新的主节点重建主备关系,而对于新增的数据库实例也可以采用如xtrabackup(一种数据备份工具)等方式,通过主节点重建数据,因此,该方案的数据重建均可自动进行,而无需数据库管理员(DBA,DatabaseAdministrator)干预。需说明的是,如果该逻辑单元发生硬件故障,和/或,核心程序发生异常,比如该代理模块发生核心(core)故障,则Zookeeper中相应的临时节点也会相应被删除,所以,如果Scheduler检测到该临时节点消失了,则可以确定该逻辑单元中的主节点发生异常,此时,可以进行主备切换。基于上述数据容灾系统的架构,以下将举例对其执行流程进行详细说明。如图2c所示,一种数据容灾方法,具体流程可以如下:201、逻辑单元中的各个代理模块对各自所属的节点进行监控,得到状态信息,并将状态信息发送给调度器。例如,以主节点A为例,则主节点A的代理模块A对主节点A的监控方式可以如下:代理模块A周期性访问主节点A的数据库实例,以检测该数据库实例是否可读且可写,若可读且可写,则确定主节点A正常,若不可读或不可写,则确定主节点A发生异常,生成相应的表示节点异常的状态信息,并将该表示节点异常的状态信息发送给调度器,比如,具体可以发送给Zookeeper中相应的临时节点。和/或,代理模块A定时获取自身(即该代理模块A)和主节点A的硬件状态信息、以及核心程序运行状态信息,并将该硬件状态信息、以及核心程序运行状态信息发送给调度器,比如,具体可以发送给Zookeeper中相应的临时节点,等等。需说明的是,上述代理模块A对主节点A的监控方式同样适用于其他节点,在此不再赘述。202、调度器接收到该状态信息后,根据该状态信息确定相应的主节点是否发生异常,若发生异常,则执行步骤203,而若没有发生异常,则可以返回执行步骤201的步骤。例如,具体可以由Zookeeper中相应的临时节点来接收该状态信息,并将该状态信息提供该Scheduler,当Scheduler根据该状态信息确定主节点发生异常时,则执行步骤203。需说明的是,由于当逻辑单元发生硬件故障,和/或,该逻辑单元中的核心程序发生异常时,该逻辑单元相应的临时节点会消失,因此,若Scheduler检测到该临时节点消失了,则也可以确定该逻辑单元中的主节点发生了异常,因此,此时也可以执行步骤203。203、调度器将该主节点降级为备用节点,并停止备用节点的同步日志(binlog)的I/O接口,然后执行步骤204。例如,具体可以由Scheduler来将该主节点降级为备用节点,并通过Zookeeper向相应的备用节点发送线程停止指令,以便备用节点可以根据该线程停止指令停止同步日志(binlog)的I/O接口,等等。204、调度器分别获取该逻辑单元中多个备用节点的日志信息。例如,具体可以由Scheduler来获取该逻辑单元中多个备用节点的日志信息,比如relaylog(中继日志)等。其中,该备用节点的日志信息可以包括备用节点与主节点进行数据同步的时间点,此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。205、调度器根据该日志信息,选择时间点(即备用节点与主节点进行数据同步的时间点)最接近当前时间的备用节点作为目标节点。例如,具体可以由Scheduler来选择该目标节点;比如,当前时间点为7月1日的12:10:01,而备用节点A与主节点进行数据同步的时间点为7月1日的12:10:00分,备用节点B与主节点进行数据同步的时间点为7月1日的12:09:59分,备用节点C与主节点进行数据同步的时间点为7月1日的12:10:01分,则此时,Scheduler可以选择备用节点C作为目标节点。206、调度器将主节点更新为该目标节点,即将目标节点作为新的主节点,以便将原主节点中的业务切换至该目标节点上。例如,具体可以由Scheduler将该主节点更新为该目标节点,比如,可以生成表示主节点更新为该目标节点的指示信息,然后,通过Zookeeper向该目标节点的代理模块发送该指示信息,这样,该代理模块便可以基于该指示信息重建主备关系,比如,确定自身(即该目标节点)为新的主节点,而其他节点为备用节点,并生成相应的路由信息,然后,将该路由信息通过Zookeeper,提供给Scheduler,等等。可选的,如图2a所示,为了提高数据的安全性,在将主节点中的数据同步到各个备用节点的同时,还可以将数据备份到其他的存储设备,比如分布式文件系统中。需说明的是,为了提高数据备份的效率,以及减少数据备份时对各个节点运行的影响,可以在备用节点中选择相应的节点,作为冷备节点,来执行将数据备份到分布式文件系统的操作;而且,冷备节点在进行备份时,可以采用流管道的方式向分布式文件系统进行传输,以提高传输效率;进一步,还可以选择一天中的一个随机事件来进行备份,从而避开逻辑单元运作的高峰期。可选的,在确定主节点发生异常(即步骤202)时,除了可以进行主备切换之外,还可以对主节点中的数据进行恢复,即该数据容灾方法还可以执行步骤207,如下:207、调度器获取该主节点的日志信息,然后执行步骤209。例如,具体可以由Scheduler来获取该主节点的日志信息,比如relaylog等。其中,该主节点的日志信息可以包括主节点更新数据的时间点(即主节点更新自身数据的时间点),此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。需说明的是,为了避免主节点的日志信息中出现多余的数据(具体可参见实施例一中的说明),可以先确定该主节点中的数据是否已同步至备用节点,若是,才执行获取该主节点的日志信息的步骤(即步骤207),否则,此时可以对尚未同步的数据所对应的日志信息进行闪回处理。可选的,在对尚未同步的数据所对应的日志信息进行闪回处理之前,还可以对该尚未同步的数据所对应的日志信息是否能够被闪回进行判断,若可以被闪回,才执行该对尚未同步的数据所对应的日志信息进行闪回处理的步骤;否则,若不能被闪回,则此时可以从该目标节点中全量拉取镜像数据,以重构该主节点中的数据,具体可参见实施例一,在此不再赘述。还需说明的是,步骤207与步骤203~206的执行顺序可以不分先后。208、调度器根据该主节点的日志信息对该主节点中的数据进行修复。由上可知,本实施例采用对逻辑单元内各个节点进行监控,当监控到主节点发生异常时,分别获取多个备用节点的日志信息,其中,该备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,选择时间点最接近当前时间的备用节点作为目标节点,并将主节点更新为该目标节点,从而实现主备之间的切换;由于该方案的逻辑单元可以包括多个备用节点,然后,在主节点发生异常时,从中选择出具有最新数据的备用节点作为新的主节点,因此,可以保证切换前后,原主节点与新的主节点之间数据的一致性;而且,由于该逻辑单元只有一个主节点,因此,不会出现如现有技术中所面临的大规模主键冲突问题,可以不在业务层对各个设备进行区分,实现更为简单,可以大大提高系统的可用性。可选的,由于该方案在对原主节点中的数据进行恢复时,还可以对尚未同步至备用节点的数据所对应的日志信息作闪回处理,因此,可以进一步提高各节点间,以及切换前后数据的一致性。此外,由于该方案可以在多个备用节点中选择相应的备用节点作为冷备节点,并通过该冷备节点将数据备份至分布式文件系统,因此,可以大大提高数据备份的效率,以及减少数据备份时对各个节点运行的影响,有利于提高整个数据容灾系统的性能。实施例三、在实施例二的基础上,可选的,提高数据的安全性,还可以对该逻辑单元中的数据进行异地备份,比如,若该逻辑单元位于A地,则可以在B地对该逻辑单元进行备份,从而使得当A地的逻辑单元发生异常,比如A地发生灾难时,可以将A地逻辑单元的业务切换至B地的备份逻辑单元,等等。以下将以源逻辑单元位于A城市,备份逻辑单元位于B城市为例进行说明。如图3a所示,可以将A城市逻辑单元中的数据备份至B城市,比如,具体可以将A城市逻辑单元中主节点的数据,异步传输至B城市逻辑单元中的主节点,然后由B城市逻辑单元中的主节点将数据同步至逻辑单元(即B城市逻辑单元)中的其他备用节点。当A城市的逻辑单元发生故障,比如,当A城市发生自然灾害如水灾或地震等,或者发生一些其他人为的灾难如战争或爆炸等,而导致该逻辑单元发生故障的时候,便可以将A城市逻辑单元的业务切换至B城市逻辑单元,并利用B城市逻辑单元中的数据对其进行修复,在等待A城市逻辑单元的数据恢复后,便可以将业务切换回A城市逻辑单元;例如,参见图3b,具体可以如下:301、当A城市逻辑单元中的业务切换到B城市逻辑单元中之后,原本业务发送至A城市逻辑单元的数据处理请求,也会转发至B城市逻辑单元,即此时,B城市逻辑单元中的主节点可以接收该数据处理请求,并根据该数据处理请求进行数据处理。302、当A城市逻辑单元需要进行数据重建时,可以向B城市逻辑单元发送进行数据同步的请求(即请求数据同步)。303、B城市逻辑单元接收到该进行数据同步的请求后,将该B城市逻辑单元的数据同步至A城市逻辑单元。例如,可以获取A城市逻辑单元的全局事务标识(GTID,GlobalTransactionID)、A城市逻辑单元中各个节点的日志信息、B城市逻辑单元接收到该进行数据同步的请求后,将B城市逻辑单元的GTID、以及B城市逻辑单元中各个节点的日志信息等,基于这些GTID和日志信息将该B城市逻辑单元的数据同步至A城市逻辑单元,等等。304、当确定A城市逻辑单元和B城市逻辑单元中的数据延迟小于预设值时,将B城市逻辑单元设置为只读,并在该延迟等于0时,将业务切换回A城市逻辑单元,即此时,A城市逻辑单元中的主节点可以接收相应业务发送的数据处理请求,并根据该数据处理请求进行数据处理。其中,该预设值可以根据实际应用的需求进行设置,在此不再赘述。可见,本实施例不仅可以实现如实施例二所能实现的有益效果之外,还可以支持跨城容灾,大大提高数据的安全性。实施例四、为了更好地实施以上方法,本发明实施例还提供一种数据容灾装置,如图4a所示,该数据容灾装置包括监控单元401、获取单元402、选择单元403和更新单元404,如下:(1)监控单元401;监控单元401,用于对逻辑单元内各个节点进行监控。其中,该逻辑单元可以包括主节点和多个备用节点。这些节点可以部署在同一机房中,也可以部署在不同机房中,可以位于同一区域,也可以是位于不同区域,具体可参见前面的实施例,在此不再赘述。其中,对逻辑单元内各个节点进行监控的方式可以有多种,比如,可以对数据库实例,如mysql实例进行监控、对各个节点所执行的事务进行监控、和/或对逻辑单元内各个节点的硬件状态和核心程序运行状态进行监控,等等,例如,具体可以如下:监控单元401,具体可以用于对逻辑单元内各个节点的数据库实例的运行进行监控,比如,可以如下:分别对逻辑单元内各个节点中的数据库实例进行周期性访问,若该数据库实例不可读和/或不可写,则确定相应的节点发生异常。和/或,监控单元401,具体可以用于对逻辑单元内各个节点所执行的事务进行监控,比如,可以如下:分别对逻辑单元内各个节点从主节点上拉取事务线程的工作状态进行监控;若该工作状态指示当前处于非工作状态,比如,如该工作状态为“NO”,则确定相应的节点发生异常。和/或,监控单元401,具体可以用于对逻辑单元内各个节点的硬件状态和核心程序运行状态进行监控,比如,可以如下:定时获取逻辑单元内各个节点的硬件状态信息、以及核心程序运行状态信息,根据该硬件状态信息确定节点发生硬件故障时,和/或,根据该核心程序运行状态信息确定节点发生软件故障时,确定相应的节点发生异常。(2)获取单元402;获取单元402,用于在监控到该主节点发生异常时,分别获取该多个备用节点的日志信息。其中,该备用节点的日志信息可以包括备用节点与主节点进行数据同步的时间点,此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。该备用节点的日志信息的表现形式可以有多种,比如,具体可以为二进制日志(binlog)等。(3)选择单元403;选择单元403,用于选择该时间点最接近当前时间的备用节点作为目标节点。(4)更新单元404;更新单元404,用于将主节点更新为该目标节点。即,更新单元404可以将该目标节点作为新的主节点,从而将原主节点中的业务切换至该目标节点上。可选的,在监控到该主节点发生异常时,除了直接触发获取单元402执行“获取该多个备用节点的日志信息”操作之外,还可以通过其他的方式来触发执行该“获取该多个备用节点的日志信息”的操作,比如,可以将该主节点降级为备用节点,从而使得该逻辑单元中不存在主节点,这样,该逻辑单元便会生成指示不存在主节点的状态信息,而后续调度器若监控到该状态信息,便可以停止备用节点的同步日志(binlog)的I/O接口,并触发获取单元402执行该“获取该多个备用节点的日志信息”的操作;即如图4b所示,该数据容灾装置还可以包括处理单元405,如下:该处理单元405,具体可以用于在监控单元401监控到该主节点发生异常时,将该主节点降级为备用节点,停止备用节点的同步日志(binlog)的I/O接口,并触发获取单元402执行分别获取该多个备用节点的日志信息的操作。此外,监控到该主节点发生异常时,还可以对主节点中的数据进行修复,即如图4b所示,该数据容灾装置还可以包括修复单元406,如下:该修复单元406,可以用于在监控单元401监控到该主节点发生异常时,获取该主节点的日志信息,根据该主节点的日志信息对该主节点中的数据进行修复。其中,该主节点的日志信息可以包括主节点更新数据的时间点(即主节点更新自身数据的时间点),此外,可选的,该日志信息还可以包括其他的信息,比如所执行的事务的名称、数据的类型、和/或大小,等等。该主节点的日志信息的表现形式可以有多种,比如,具体可以为二进制日志(binlog)等。需说明的是,为了避免主节点的日志信息中出现多余的数据(具体可参见实施例一中的说明),可以先确定该主节点中的数据是否已同步至备用节点,若是,才执行获取该主节点的日志信息的操作,否则,此时可以对尚未同步的数据所对应的日志信息进行闪回处理。即:该修复单元406,还可以用于确定主节点中的数据是否已同步至备用节点,若是,则执行获取该主节点的日志信息的操作;若否,则对尚未同步的数据所对应的日志信息进行闪回处理。可选的,为了减少无效操作,在对尚未同步的数据所对应的日志信息进行闪回处理之前,还可以对该尚未同步的数据所对应的日志信息是否能够被闪回进行判断,在确定可以被闪回时才进行闪回处理,即:该修复单元406,还可以用于确定尚未同步的数据所对应的日志信息是否能够被闪回;若是,则执行该对尚未同步的数据所对应的日志信息进行闪回处理的操作;若否,则从该目标节点中全量拉取镜像数据,以重构该主节点中的数据,具体可参见实施例一,在此不再赘述。其中,该逻辑单元可以是预设的,也可以由系统根据具体的服务请求进行建立,即如图4b所示,该数据容灾装置还可以包括建立单元407,如下:该建立单元407,可以用于获取接入网关发送的服务请求;根据该服务请求选择多个节点,根据选择的节点创建逻辑单元,并确定逻辑单元中各个节点的主备关系,使得该逻辑单元包括主节点和多个备用节点。可选的,为了提高数据的安全性,在将主节点中的数据同步到各个备用节点的同时,还可以将数据备份到其他的存储设备,比如分布式文件系统中,即如图4b所示,该数据容灾装置还可以包括备份单元408,如下:该备份单元408,可以用于在该建立单元407确定逻辑单元中各个节点的主备关系之后,按照预设策略从备用节点中选择相应的节点,作为冷备节点,通过该冷备节点以管道流的方式将数据备份至分布式文件系统。可选的,为了提高数据的安全性,还可以对该逻辑单元中的数据进行异地备份,比如,若该逻辑单元位于A地,则可以在B地对该逻辑单元进行备份,从而使得当A地的逻辑单元发生异常,比如A地发生灾难时,可以将A地逻辑单元的业务切换至B地的备份逻辑单元;即如图4b所示,该数据容灾装置还可以包括异地容灾单元409,如下:该异地容灾单元409,用于对该逻辑单元进行异地备份,得到备用逻辑单元,在该逻辑单元发生故障时,将该逻辑单元的业务切换至该备用逻辑单元中。此外,还可以利用B地备份的数据对A地的逻辑单元进行数据重建,即:该异地容灾单元409,还可以用于将该备用逻辑单元中各个节点的数据同步至该逻辑单元相应节点中;确定该逻辑单元和备用逻辑单元中各个节点的数据延迟小于预设值时,将该备用逻辑单元设置为只读,并在确定该延迟等于0,将该业务切换回该逻辑单元中。其中,该预设值可以根据实际应用的需求进行设置,在此不再赘述。具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,比如,参见实施例二和三,该数据容灾装置可以包括代理服务器、调度器和逻辑单元,等等。以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。由上可知,本实施例的数据容灾装置中的监控单元401可以对逻辑单元内各个节点进行监控,当监控到主节点发生异常时,由获取单元402分别获取多个备用节点的日志信息,其中,备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,由选择单元403选择时间点最接近当前时间的备用节点作为目标节点,并由更新单元404将主节点更新为该目标节点,从而实现主备之间的切换;由于该方案的逻辑单元可以包括多个备用节点,然后,在主节点发生异常时,从中选择出具有最新数据的备用节点作为新的主节点,因此,可以保证切换前后,原主节点与新的主节点之间数据的一致性;而且,由于该逻辑单元只有一个主节点,因此,不会出现如现有技术中所面临的大规模主键冲突问题,可以不在业务层对各个设备进行区分,实现更为简单,可以大大提高系统的可用性。实施例五、相应的,本发明实施例还提供一种数据容灾系统,包括本发明实施例所提供的任一种数据容灾装置,具体可参见实施例四,例如,可以如下:数据容灾装置,用于对逻辑单元内各个节点进行监控,当监控到该主节点发生异常时,分别获取该多个备用节点的日志信息,该备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,选择该时间点最接近当前时间的备用节点作为目标节点,将主节点更新为该目标节点。例如,该数据容灾装置,具体可以用于对逻辑单元内各个节点的数据库实例的运行、逻辑单元内各个节点所执行的事务、和/或逻辑单元内各个节点的硬件状态和核心程序运行状态进行监控,等等。该数据容灾装置的具体实施可参见前面的实施例,在此不再赘述。其中,该数据容灾装置可以为多个,具体数量可以根据实际应用的需求而定。此外,该数据容灾系统还可以包括其他的设备,比如,还可以包括接入网关,如下:该接入网关,用于接收用户设备发送的连接建立请求,根据该连接建立请求获取多个数据容灾装置的负载信息,根据该负载信息选择匹配的数据容灾装置,建立该用户设备与匹配到的数据容灾装置之间的连接关系;以及,接收用户设备发送的数据处理请求,基于该连接关系将该数据处理请求发送至相应的数据容灾装置中。该数据容灾系统还可以包括用户设备,用于向接入网关发送连接建立请求,以及发送数据处理请求等。以上各个设备的具体操作可参见前面的实施例,在此不再赘述。由于该数据容灾系统可以包括本发明实施例所提供的任一种数据容灾装置,因此,可以实现本发明实施例所提供的任意一种数据容灾装置所能实现的有益效果,相机前面的实施例,在此不再赘述。实施例六、此外,本发明实施例还提供一种服务器,如图5所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:该服务器可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、射频(RadioFrequency,RF)电路503、电源504、输入单元505、以及显示单元506等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。RF电路503可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器501处理;另外,将涉及上行的数据发送给基站。通常,RF电路503包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,LowNoiseAmplifier)、双工器等。此外,RF电路503还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,GlobalSystemofMobilecommunication)、通用分组无线服务(GPRS,GeneralPacketRadioService)、码分多址(CDMA,CodeDivisionMultipleAccess)、宽带码分多址(WCDMA,WidebandCodeDivisionMultipleAccess)、长期演进(LTE,LongTermEvolution)、电子邮件、短消息服务(SMS,ShortMessagingService)等。服务器还包括给各个部件供电的电源504(比如电池),优选的,电源504可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。该服务器还可包括输入单元505,该输入单元505可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元505可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元505还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。该服务器还可包括显示单元506,该显示单元506可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元506可包括显示面板,可选的,可以采用液晶显示器(LCD,LiquidCrystalDisplay)、有机发光二极管(OLED,OrganicLight-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。尽管未示出,服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:对逻辑单元(set)内各个节点进行监控,当监控到该主节点发生异常时,分别获取该多个备用节点的日志信息,该备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,选择该时间点最接近当前时间的备用节点作为目标节点,将主节点更新为该目标节点。其中,该逻辑单元可以是预设的,也可以由系统根据具体的服务请求进行建立,即处理器501还可以实现如下功能:获取接入网关发送的服务请求,根据该服务请求选择多个节点,根据选择的节点创建逻辑单元,并确定逻辑单元中各个节点的主备关系,使得该逻辑单元包括主节点和多个备用节点。可选的,为了提高数据的安全性,在将主节点中的数据同步到各个备用节点的同时,还可以将数据备份到其他的存储设备,比如分布式文件系统中,这样,当该逻辑单元中的节点发生故障时,便可以基于当天的镜像文件以及指定时间点的日志信息,将该逻辑单元节点中的数据快速恢复到指定时间点。即,处理器501还可以实现如下功能:按照预设策略从备用节点中选择相应的节点,作为冷备节点,通过该冷备节点以管道流的方式将数据备份至分布式文件系统。可选的,为了提高数据的安全性,还可以对该逻辑单元中的数据进行异地备份,从而使得源逻辑单元发生异常时,可以将源逻辑单元的业务切换至备用逻辑单元;即处理器501还可以实现如下功能:对该逻辑单元进行异地备份,得到备用逻辑单元,在该逻辑单元发生故障时,将该逻辑单元的业务切换至该备用逻辑单元中。此外,还可以利用备用逻辑单元对A地的逻辑单元进行数据重建,即处理器501还可以实现如下功能:将该备用逻辑单元中各个节点的数据同步至该逻辑单元相应节点中,确定该逻辑单元和备用逻辑单元中各个节点的数据延迟小于预设值时,将该备用逻辑单元设置为只读,在确定该延迟等于0时,将该业务切换回该逻辑单元中。其中,该预设值可以根据实际应用的需求进行设置,在此不再赘述。由上可知,本实施例的服务器可以对逻辑单元内各个节点进行监控,当监控到主节点发生异常时,分别获取多个备用节点的日志信息,其中,备用节点的日志信息包括备用节点与主节点进行数据同步的时间点,然后,选择时间点最接近当前时间的备用节点作为目标节点,并将主节点更新为该目标节点,从而实现主备之间的切换;由于该方案的逻辑单元可以包括多个备用节点,然后,在主节点发生异常时,从中选择出具有最新数据的备用节点作为新的主节点,因此,可以保证切换前后,原主节点与新的主节点之间数据的一致性;而且,由于该逻辑单元只有一个主节点,因此,不会出现如现有技术中所面临的大规模主键冲突问题,可以不在业务层对各个设备进行区分,实现更为简单,可以大大提高系统的可用性。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。以上对本发明实施例所提供的一种数据容灾方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1