首页> 中国专利> 容灾方法、装置、电子设备及容灾系统

容灾方法、装置、电子设备及容灾系统

摘要

本发明涉及数据处理技术领域,具体涉及容灾方法、装置、电子设备及容灾系统,所述方法包括获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果,预设仲裁节点设置在目标位置的预设数据中心,第三方仲裁节点与目标位置的各个数据中心连接,预设数据中心与目标位置的其他数据中心连接;基于第一仲裁结果以及第二仲裁结果,确定目标位置的所有数据中心是否故障;当目标位置的所有数据中心故障时,启动本地数据中心,本地数据中心与第一数据中心异地设置。通过在目标位置的预设数据中心以及第三方分别设置仲裁节点,以确定目标位置的所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

著录项

  • 公开/公告号CN112540873A

    专利类型发明专利

  • 公开/公告日2021-03-23

    原文格式PDF

  • 申请/专利权人 华云数据控股集团有限公司;

    申请/专利号CN202011412048.5

  • 发明设计人 吴业亮;朱正东;

    申请日2020-12-03

  • 分类号G06F11/14(20060101);

  • 代理机构11250 北京三聚阳光知识产权代理有限公司;

  • 代理人张琳琳

  • 地址 214000 江苏省无锡市滨湖区科教软件园6号

  • 入库时间 2023-06-19 10:21:15

说明书

技术领域

本发明涉及数据处理技术领域,具体涉及容灾方法、装置、电子设备及容灾系统。

背景技术

数据中心(Data Center,简称为DC)是数据大集中而形成的集成ICT应用环境,是数据计算、网络传输、存储的中心,已成为支撑企业业务运营的最关键基础设施。在云计算时代,数据大集中在带来巨大好处的同时,也带来了风险大集中。因此,出于灾备目的,企业一般都会建设多个数据中心。主数据中心承担用户的核心业务,其他的数据中心(也可称之为备份数据中心)主要承担一些非关键业务并同时备份主中心的数据、配置、业务等。

正常情况下,主数据中心和备份数据中心各司其职。当发生灾难时,主数据中心宕机、备份数据中心可以快速恢复数据和应用,从而减轻因灾难给用户带来的损失。为了进一步保证数据的可靠性和可用性,同时能够应对大范围自然灾害对本地备份数据的破坏,同城灾备中心结合异地灾备中心的“两地三中心”容灾解决方案越来越受到业界重视和认可。

现有技术中常采用的“两地三中心”的容灾方案是,数据中心A与数据中心B设置在甲地,灾备中心设置在乙地。其中,数据中心A和数据中心B采取双活模式,同时提供服务;甲乙两地数据通过wlan网络进行远程复制。当甲地的数据中心发生故障之后,灾备数据中心接管业务。在该方案中甲地的数据中心发生故障之后,甲乙两地通信中断,启动乙地的业务需要人工干预启动。然而,人工干预启动会带来人工干预时效性较低的问题。

发明内容

有鉴于此,本发明实施例提供了一种容灾方法、装置、电子设备及容灾系统,以解决人工干预时效性较低的问题。

根据第一方面,本发明实施例提供了一种容灾方法,所述方法包括:

获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果,所述预设仲裁节点设置在目标位置的预设数据中心,所述第三方仲裁节点与所述目标位置的各个数据中心连接,所述预设数据中心与所述目标位置的其他数据中心连接;

基于所述第一仲裁结果以及所述第二仲裁结果,确定所述目标位置的所有数据中心是否故障;

当所述目标位置的所有数据中心故障时,启动本地数据中心,所述本地数据中心与所述第一数据中心异地设置。

本发明实施例提供的容灾方法,通过在目标位置的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定目标位置的所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

结合第一方面,在第一方面第一实施方式中,所述基于所述第一仲裁结果以及所述第二仲裁结果,确定所述目标位置的所有数据中心是否故障,包括:

利用所述第一仲裁结果,判断所述预设仲裁节点是否异常;

当所述预设仲裁节点异常时,利用所述第二仲裁结果判断所述第三方仲裁节点是否异常;

当所述第三方仲裁节点正常时,确定所述目标位置的所有数据中心故障。

本发明实施例提供的容灾方法,第三方仲裁节点正常而预设仲裁节点异常,表示预设仲裁节点的连接中断,可以得到目标位置的所有数据中心异常,通过第三方仲裁节点与预设仲裁节点的两个仲裁结果的结合,确定目标位置的所有数据中心是否故障,可以保证数据中心切换的准确性。

结合第一方面第一实施方式,在第一方面第二实施方式中,所述第一仲裁结果是所述预设仲裁节点运行在所述预设数据中心的正常物理机上检测得到的。

本发明实施例提供的容灾方法,通过在正常物理机上运行预设仲裁节点,以排除由于物理机异常所导致的预设仲裁节点异常,即通过故障疏散解决高可用性的问题,提高了的后续仲裁结果的可靠性。

结合第一方面,或第一方面第一实施方式或第二实施方式,在第一方面第三实施方式中,所述方法还包括:

获取所述目标位置的数据中心的备份数据;

划分所述备份数据得到备份子数据,并将所述备份子数据分别存储在至少两个第一存储空间;

将各个所述备份子数据对应纠删码存储在第二存储空间,所述纠删码用于恢复所述备份子数据。

本发明实施例提供的容灾方法,采用分布式存储方式对备份数据进行存储,即利用纠删码与备份子数据的方式对备份数据进行存储,在备份子数据出现问题时,利用相应的纠删码即可恢复出,从而可以在降低成本的情况下减少数据冗余。

根据第二方面,本发明实施例还提供了一种容灾方法,所述方法包括:

利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果;

将所述第一仲裁结果发送给灾备数据中心,以使得所述灾备数据中心在基于所述本地仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果确定出本地的所有数据中心故障时启动所述灾备数据中心;其中,所述第三方仲裁节点与本地的各个数据中心连接,所述灾备数据中心与本地的数据中心异地设置。

本发明实施例提供的容灾方法,通过在本地的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定本地所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

结合第二方面,在第二方面第一实施方式中,所述利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果,包括:

判断运行所述本地仲裁节点的物理机是否正常;

当运行所述本地仲裁节点的物理机异常时,将所述本地仲裁节点迁移至正常的物理机上运行。

本发明实施例提供的容灾方法,通过在正常物理机上运行预设仲裁节点,以排除由于物理机异常所导致的预设仲裁节点异常,即通过故障疏散解决高可用性的问题,提高了的后续仲裁结果的可靠性。

结合第二方面或第二方面第一实施方式,在第二方面第二实施方式中,所述方法还包括:

获取实时数据;

将所述实时数据写入存储池中的目标副本,并将所述实时数据实时同步至所述存储池中的其他副本,其中,本地的所有数据中心共享所述存储池。

本发明实施例提供的容灾方法,采用分布式存储的方式存储实时数据,一个副本写完,其他副本就完成实时同步,提升了存储性能。

结合第二方面第二实施方式,在第二方面第三实施方式中,所述将所述实时数据写入存储池中的目标副本,包括:

将所述实时数据写入缓存池,并在预设时间间隔后将所述缓存池中的数据写入所述存储池。

本发明实施例提供的容灾方法,由于缓存池具有较高的处理性能,通过缓存池先写入实时数据,后续再将缓存池内的数据写入存储池中,以及时响应实时数据的写入需求,即通过分级存储的方式提升了数据处理性能。

结合第二方面第一实施方式,在第二方面第四实施方式中,所述方法还包括:

判断与其他数据中心的连接以及与所述第三方种仲裁节点的连接是否正常;

当与其他数据中心的连接以及与所述第三方种仲裁节点的连接均异常时,禁止写入所述实时数据。

本发明实施例提供的容灾方法,通过仲裁机制对实时数据的写入进行判断,以避免本地的各个数据中心同时写入不同的数据,保证了所有数据中心中数据的同步。

根据第三方面,本发明实施例还提供了一种容灾装置,所述装置包括:

获取模块,用于获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果,所述预设仲裁节点设置在目标位置的预设数据中心,所述第三方仲裁节点与所述目标位置的各个数据中心连接,所述预设数据中心与所述目标位置的其他数据中心连接;

确定模块,用于基于所述第一仲裁结果以及所述第二仲裁结果,确定所述目标位置的所有数据中心是否故障;

启动模块,用于当所述目标位置的所有数据中心故障时,启动本地数据中心,所述本地数据中心与所述第一数据中心异地设置。

本发明实施例提供的容灾装置,通过在目标位置的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定目标位置的所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

根据第四方面,本发明实施例还提供了一种容灾装置,所述装置包括:

检测模块,用于利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果;

发送模块,用于将所述第一仲裁结果发送给灾备数据中心,以使得所述灾备数据中心在基于所述本地仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果确定出本地的所有数据中心故障时启动所述灾备数据中心;其中,所述第三方仲裁节点与本地的各个数据中心连接,所述灾备数据中心与本地的数据中心异地设置。

本发明实施例提供的容灾装置,通过在本地的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定本地所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式,或者执行第二方面或第二方面的任意一种实施方式中所述的容灾方法。

根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式,或者执行第二方面或第二方面的任意一种实施方式中所述的容灾方法。

根据第七方面,本发明实施例还提供了一种容灾系统,所述系统包括:

数据中心集,设置在目标位置处,所述数据中心集包括至少两个数据中心,其中,所述数据中心集中的预设数据中心上运行有预设仲裁节点,所述预设数据中心用于执行本发明第二方面,或第二方面任一项实施方式中所述的容灾方法;

灾备数据中心,与所述数据中心集异地设置且与所述数据中心集连接,所述灾备数据中心用于执行本发明第一方面,或第一方面任一项实施方式中所述的容灾方法;

第三方仲裁节点,与所述数据中心集以及所述灾备数据中心连接。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例中容灾系统的应用场景示意图;

图2是根据本发明实施例的容灾方法的流程图;

图3是根据本发明实施例的容灾方法的流程图;

图4a是根据本发明实施例的异步复制的示意图;

图4b是根据本发明实施例的备份数据存储的示意图;

图5是根据本发明实施例的容灾方法的流程图;

图6是根据本发明实施例的容灾方法的流程图;

图7是根据本发明实施例的预设仲裁节点的迁移示意图;

图8是根据本发明实施例的实时数据的存储示意图;

图9是根据本发明实施例的分级存储示意图;

图10是根据本发明实施例的容灾装置的结构框图;

图11是根据本发明实施例的容灾装置的结构框图;

图12是本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种容灾系统,该系统包括数据中心集、灾备数据中心以及第三方仲裁节点。其中,数据中心集设置在A城市,灾备数据中心设置在B城市。

具体地,所述数据中心集中包括至少两个数据中心,在数据中心集中的预设数据中心运行有预设仲裁节点,该预设仲裁节点用于运行本发明实施例中所述的容灾方法。关于容灾方法具体将在下文中进行详细描述。

灾备数据中心与数据中心集异地设置,且与数据中心集连接,所述的灾备数据中心用于本发明实施例中所述的容灾方法。同样地,关于容灾方法具体将在下文中进行详细描述。

所述的容灾系统还包括第三方仲裁节点,所述的第三方仲裁节点与数据中心集以及灾备数据中心连接。其中,第三方仲裁节点并不参与数据中心的切换,仅仅是用于获取到第二仲裁结果,并发送给灾备数据中心。其中,第二仲裁结果可以是各个数据中心与第三方仲裁节点的连接状态等等。

图1示出了本发明实施例的容灾系统的一种可选的应用场景,但是需要说明的是,本发明实施例中所述的容灾系统并不限于图1所示,也可以为其他架构,在此并不做任何限制。

如图1所示,数据中心集包括设置在A城市的数据中心1以及数据中心2,数据中心1以及数据中心2通过城市光纤互联。灾备数据中心为设置在B城市的数据中心3,数据中心3和数据中心1、2可以通过传统的以太网连接。在数据中心2中设置有所述的预设仲裁节点,在数据中心3中设置有容灾服务器用于实现数据中心的切换。

根据本发明实施例,提供了一种容灾方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种容灾方法,可用于上述的灾备数据中心,例如,灾备数据中心中的灾备服务器。在本实施例中以图1所示的容灾系统为例进行详细描述。图2是根据本发明实施例的容灾方法的流程图,如图2所示,该流程包括如下步骤:

S11,获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果。

其中,所述预设仲裁节点设置在目标位置的预设数据中心,所述第三方仲裁节点与所述目标位置的各个数据中心连接,所述预设数据中心与所述目标位置的其他数据中心连接。

如上文所述,预设仲裁节点设置在数据中心2中,预设仲裁节点通过与目标位置的各个数据中心进行通信连接,可以通过交互数据包的形式确定各个数据中心是否正常,从而可以得到预设仲裁节点的第一仲裁结果。具体地,第一仲裁结果可以用于表示A城市中数据中心1与数据中心2的连接状态。

同时,第三方仲裁节点分别与数据中心1以及数据中心2连接,用于检测数据中心1以及数据中心2的连接状态。例如,数据中心1以及数据中心2可以向第三方仲裁节点发送心跳包以使得第三方仲裁节点知晓A城市的各个数据中心的连接状态。

S12,基于第一仲裁结果以及第二仲裁结果,确定目标位置的所有数据中心是否故障。

此处需要说明的是,预设仲裁节点的第一仲裁结果也可能受其他因素的影响,可能导致第一仲裁结果出现偏差。因此,在此引入了第三方仲裁节点,以保确定出的所有数据中心是否故障的准确性。

当所述目标位置的所有数据中心故障时,执行S13;否则,执行S11。

可选地,如图1所示,A城市中的两个数据中心,一个可以作为A城市的主数据中心,另一作为备用数据中心。例如,可以将数据中心1作为A城市的主数据中心,数据中心2作为A城市的备用数据中心。当数据中心1出现故障,而数据中心2正常时,可以利用数据中心2接管数据中心1的业务。而只有当A城市的数据中心1以及数据中心2均故障时,才执行下述的S13。

S13,启动本地数据中心。

其中,所述本地数据中心与所述第一数据中心异地设置。

当A城市的数据中心1以及数据中心2均故障时,此时需要启动B城市的数据中心2以接管A城市的数据中心的业务,以保证数据的正常处理。

本实施例提供的容灾方法,通过在目标位置的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定目标位置的所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

在本实施例中提供了一种容灾方法,可用于上述的灾备数据中心,例如,灾备数据中心中的灾备服务器。在本实施例中以图1所示的容灾系统为例进行详细描述。图3是根据本发明实施例的容灾方法的流程图,如图3所示,该流程包括如下步骤:

S21,获取目标位置的数据中心的备份数据。

如图4a所示,A城市的数据中心与B城市的数据中心采用异步复制方式。所述的备份数据对应于A城市的数据中心已经存储的数据,对于这些已经存储的数据采用异步方式复制至B城市的灾备数据中心中,因此,将这些数据诚挚为备份数据。

所述的备份数据可以是A城市的数据中心,在网络空闲的时候发送给B城市的灾备数据中心的。也可以是,A城市的数据中心在预设时间点发送给B城市的灾备数据中心的等等。在此对B城市的灾备数据中心获取到备份数据的方式并不做任何限制,具体可以根据实际情况进行相应的设置。

S22,划分备份数据得到备份子数据,并将备份子数据分别存储在至少两个第一存储空间。

如图4b所示,灾备数据中心在获取到备份数据之后,将其划分为多个备份子数据分别进行存储。其中,灾备数据中心划分备份数据的具体方式可以根据实际情况进行相应的设置,在此并不做任何限制。

进一步地,在灾备数据中心中采用分布式存储的方式对备份子数据进行存储。例如,如图4b所示,在灾备数据中心中采用多个磁盘(disk)进行备份子数据的存储。

S23,将各个备份子数据对应纠删码存储在第二存储空间。

其中,所述纠删码用于恢复所述备份子数据。

相应地,灾备数据中心为各个备份子数据生成相应的纠删码,利用该纠删码即可恢复出对应的备份子数据。例如,为了节省硬件成本,灾备数据中心采用纠删码池。具体地,在写入备份数据时,灾备数据中心先对备份数据进行切片处理,将其划分为多个备份子数据,并将其分别存储在2个磁盘上。其中,如图4b所示,第三块瓷片用于存放对应的纠删码,即使前两块磁盘任意一块损坏时,替换磁盘后,也可以通过纠删码恢复出相应的备份子数据。

S24,获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果。

其中,所述预设仲裁节点设置在目标位置的预设数据中心,所述第三方仲裁节点与所述目标位置的各个数据中心连接,所述预设数据中心与所述目标位置的其他数据中心连接。

在本实施例中,所述第一仲裁结果是所述预设仲裁节点运行在所述预设数据中心的正常物理机上检测得到的。即,预设仲裁节点可以在A城市的预设数据中心的各个物理机上迁移,以保证预设仲裁节点是运行在预设数据中心的正常物理机上的。关于该过程具体将在下文中进行详细描述。

其余详细请参见图2所示实施例的S11,在此不再赘述。

通过在正常物理机上运行预设仲裁节点,以排除由于物理机异常所导致的预设仲裁节点异常,即通过故障疏散解决高可用性的问题,提高了的后续仲裁结果的可靠性。

S25,基于第一仲裁结果以及第二仲裁结果,确定目标位置的所有数据中心是否故障。

具体地,上述S25包括如下步骤:

S251,利用第一仲裁结果判断预设仲裁节点是否异常。

当所述预设仲裁节点异常时,执行S252;否则,执行S24。

S252,利用第二仲裁结果判断第三方仲裁节点是否异常。

当所述第三方仲裁节点正常时,执行S253;否则,执行S24。

S253,确定目标位置的所有数据中心故障。

例如,如图1所示,启动B城市的灾备数据中心(即,数据中心3)的业务是通过灾备服务器来执行的。而判断A城市的所有数据中心故障时需要两个仲裁节点来进行判断。其中一个仲裁节点设置在A城市的数据中心上,另一个仲裁节点在第三方的地方(比如私有云)。当容灾服务器检测到A城市的仲裁节点不正常,且第三方仲裁节点正常时才可以确定A城市的数据中心故障。

S26,启动本地数据中心。

其中,所述本地数据中心与所述第一数据中心异地设置。

详细请参见图3所示实施例的S13,在此不再赘述。

本实施例提供的容灾方法,采用分布式存储方式对备份数据进行存储,即利用纠删码与备份子数据的方式对备份数据进行存储,在备份子数据出现问题时,利用相应的纠删码即可恢复出,从而可以在降低成本的情况下减少数据冗余;同时,第三方仲裁节点正常而预设仲裁节点异常,表示预设仲裁节点的连接中断,可以得到目标位置的所有数据中心异常,通过第三方仲裁节点与预设仲裁节点的两个仲裁结果的结合,确定目标位置的所有数据中心是否故障,可以保证数据中心切换的准确性。

在本实施例中提供了一种容灾方法,可用于上述的数据中心集中的数据中心,例如图1所示的数据中心2。在本实施例中以图1所示的容灾系统为例进行详细描述。图5是根据本发明实施例的容灾方法的流程图,如图5所示,该流程包括如下步骤:

S31,利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果。

如图1所示,所述的本地仲裁节点为设置在数据中心2中的仲裁节点。该仲裁节点通过与各个数据中心进行通信连接,确定所述的第一仲裁结果。

S32,将第一仲裁结果发送给灾备数据中心,以使得灾备数据中心在基于本地仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果确定出本地的所有数据中心故障时启动灾备数据中心。

其中,所述第三方仲裁节点与本地的各个数据中心连接,所述灾备数据中心与本地的数据中心异地设置。

该步骤与上述图2所示实施例的S12,或图3所示实施例的S25对应,详细请参见图2所示实施例的S12,或图3所示实施例的S25,在此并不赘述。

本实施例提供的容灾方法,通过在本地的预设数据中心以及第三方分别设置仲裁节点,即一个仲裁节点放在主数据中心上,另一个放在第三方机房,以确定本地所有数据中心是否故障,从而实现本地数据中心的自动启动,提高了数据中心切换的时效性。

在本实施例中提供了一种容灾方法,可用于上述的数据中心集中的数据中心,例如图1所示的数据中心2。在本实施例中以图1所示的容灾系统为例进行详细描述。图6是根据本发明实施例的容灾方法的流程图,如图6所示,该流程包括如下步骤:

S41,利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果。

具体地,上述S41可以包括如下步骤:

S411,判断运行本地仲裁节点的物理机是否正常。

对于A城市的各个数据中心而言,其组成一个集群。相应地,A城市的仲裁节点运行在集群上,通过虚拟机故障疏散保证高可用。

当运行所述本地仲裁节点的物理机异常时,执行S412;否则,执行S413。

S412,将本地仲裁节点迁移至正常的物理机上运行。

如图7所示,当前本地仲裁节点运行在物理机1上,集群通过与各个物理机之间进行心跳信号的传输,以确定各个物理机是否正常。一旦集群检测到物理机1故障,其及时将本地仲裁节点迁移到正常的物理机,例如物理机2上。

S413,利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果。

详细请参见图5所示实施例的S31,在此不再赘述。

S42,将第一仲裁结果发送给灾备数据中心,以使得灾备数据中心在基于本地仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果确定出本地的所有数据中心故障时启动灾备数据中心。

其中,所述第三方仲裁节点与本地的各个数据中心连接,所述灾备数据中心与本地的数据中心异地设置。

详细请参见图5所示实施例的S32,在此不再赘述。

S43,获取实时数据。

所述的实时数据为A城市的数据中心实时获取到的数据,在此对其来源并不做任何限制。

S44,将实时数据写入存储池中的目标副本,并将实时数据实时同步至存储池中的其他副本。

其中,本地的所有数据中心共享所述存储池。

如图8所示,数据中心1在获取到实时数据之后,将其写入数据中心1的两个副本中的其中之一,一旦有一个副本写入即返回成功,剩下的副本同步已经写入的副本,以便提升性能。

如图1所示,A城市的两个数据中心存储池采用副本池,数据默认为4副本,每个数据中心各2个副本,一个数据中心写进去一个副本就返回成功。当然,也可以采用多副本的形式进行存储,并不限于图1所示的4副本,具体可以根据实际情况进行副本数量的设置。

可选地,将所述实时数据写入缓存池,并在预设时间间隔后将所述缓存池中的数据写入所述存储池。

如图9所示,所述的缓存池为高速磁盘缓存池,存储池中磁盘为低速磁盘池。具体地,数据中心1和数据中心2采用数据分层以便提升性能,一般来说,缓存池构件在昂贵、速度更快的SSD磁盘上,这样才能为客户提供更好的IO性能。在缓存池后端通常是存储层,它由HDD组成。在这种类型的设置中,客户端将IO请求提交到缓存池,不管它是一个读或写操作,它的请求都能够立即获得响应,速度更快的缓存层为客户端提供请求服务。一段时间后,缓存层将所有数据写回备用的存储层,以便它可以缓存来自客户端的新请求。其中,在缓存层和存储层之间的数据迁移都是自动触发且对客户端是透明的。

进一步可选地,控制层面指的是整个云平台的管理系统,在本实施例中将数据存放在存储池上,通过存储池数据同步,而不借助于数据库集群业务。

需要说明的是,上述S41-S42,以及S43-S44步骤之间并无先后顺序关系,可以是先执行S43-S44,再执行S41-S42;也可以是S41-S42与S43-S44同时执行等等,具体可以根据实际情况进行相应的设置,在此并不做任何限制。

本实施例提供的容灾方法,通过在正常物理机上运行预设仲裁节点,以排除由于物理机异常所导致的预设仲裁节点异常,即通过故障疏散解决高可用性的问题,提高了的后续仲裁结果的可靠性;同时,采用分布式存储的方式存储实时数据,一个副本写完,其他副本就完成实时同步,提升了存储性能。

作为本实施例的一种可选实施方式,上述容灾方法还可以包括如下步骤:

(1)判断与其他数据中心的连接以及与所述第三方仲裁节点的连接是否正常。

由于数据中心1和数据中心2都可以同时写入数据,任意一个数据中心写入数据同时同步到对方。如果两个数据中心失联,两个数据中心同时写入不同的数据会导致两端不一致,所以需要采用仲裁机制。因此,在本实施例中通过实时判断本地与其他数据中心的连接,以及本地与第三方仲裁节点的连接是否正常,以确定是否需要写入数据。

(2)当与其他数据中心的连接以及与所述第三方种仲裁节点的连接均异常时,禁止写入所述实时数据。

当该数据中心检测对方数据中心不正常,且第三方仲裁节点也不正常是,禁止该数据中心写入数据。

具体地,实时数据的写入如表1所示:

表1 实时数据写入情况

本发明实施例提供的容灾方法,通过两地三中心的数据中心方案既实现了数据中心的高可用也降低了成本。

在本实施例中还提供了一种容灾装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种容灾装置,如图10所示,包括:

获取模块51,用于获取预设仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果,所述预设仲裁节点设置在目标位置的预设数据中心,所述第三方仲裁节点与所述目标位置的各个数据中心连接,所述预设数据中心与所述目标位置的其他数据中心连接;

确定模块52,用于基于所述第一仲裁结果以及所述第二仲裁结果,确定所述目标位置的所有数据中心是否故障;

启动模块53,用于当所述目标位置的所有数据中心故障时,启动本地数据中心,所述本地数据中心与所述第一数据中心异地设置。

本实施例还提供了一种容灾装置,如图11所示,包括:

检测模块61,用于利用本地仲裁节点检测本地的所有数据中心,以得到第一仲裁结果;

发送模块62,用于将所述第一仲裁结果发送给灾备数据中心,以使得所述灾备数据中心在基于所述本地仲裁节点的第一仲裁结果以及第三方仲裁节点的第二仲裁结果确定出本地的所有数据中心故障时启动所述灾备数据中心;其中,所述第三方仲裁节点与本地的各个数据中心连接,所述灾备数据中心与本地的数据中心异地设置。

本实施例中的容灾装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本发明实施例还提供一种电子设备,例如,图1所示实施例的数据中心3,或数据中心3,相应地,所述电子设备具有上述图10、或图11所示的容灾装置。

请参阅图12,图12是本发明可选实施例提供的一种电子设备的结构示意图,如图12所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图10或图11所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。

其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器74还可以包括上述种类的存储器的组合。

其中,处理器71可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。

可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本申请图2、3或图5、6实施例中所示的容灾方法。

本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的容灾方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号