数据容灾方法、系统及存储介质与流程

文档序号:37715913发布日期:2024-04-23 11:46阅读:2来源:国知局
数据容灾方法、系统及存储介质与流程

本技术涉及数据存储领域,尤其涉及一种数据容灾方法、系统及存储介质。


背景技术:

1、数据容灾系统是用于为计算机系统提供的能应付各种灾难的安全环境,如当计算机系统遭受不可抗拒的自然灾害或者硬件损坏、软件错误或者人为操作错误时,数据容灾系统可用于保证数据的安全性。以主从数据库进行数据容灾为例,从数据库的计算节点利用数据远程复制技术,将主数据库中存储节点的数据发送到从数据库的计算节点,并由从数据库的存储节点存储该数据,数据的传输路径较长,传输效率较低,数据容灾性能受到影响。


技术实现思路

1、本技术提供了一种数据容灾方法、系统及存储介质,解决了通常技术中数据容灾的性能较低、数据安全性受到影响的问题。

2、第一方面,提供了一种数据容灾方法,该数据容灾方法可应用于数据容灾系统(简称:容灾系统),该容灾系统包括:用于访问业务数据的第一站点和第二站点,第一站点包括第一存储节点,第二站点包括第二计算节点和第二存储节点。该数据容灾方法包括:第二计算节点获取第二存储节点中维护的复制状态;以及,第二计算节点根据复制状态更新第二站点的容灾行为。其中,第一存储节点与第二存储节点建立有复制关系,该复制关系用于指示:第一存储节点为复制源节点,且第二存储节点为复制目标节点。

3、在本实施例中,不同站点的存储节点之间建立有复制关系,该复制关系指示了不同节点的数据走向,实现了不同站点在存储侧具有容灾功能。而且,在计算节点读取同属于一个站点中存储节点的复制状态后,该计算节点可更新站点的容灾行为,实现了不同站点在计算侧具有容灾功能。

4、此外,前述存储节点之间的复制关系指示了数据在不同站点之间的数据走向,且不同站点的计算节点之间不用建立复制关系,相比于从计算侧建立复制关系来实现计算侧和存储侧容灾的方案,减少了数据容灾过程中数据从复制源节点到复制目标节点的输入输出(input/output,i/o)栈的长度,数据复制的效率提升。并且,由于站点中计算节点无需维护复制状态的相关信息,因此,计算节点无需在执行主机或服务器的数据访问过程中,再去执行数据容灾操作,提升了容灾系统的数据容灾性能以及数据的安全性。

5、可选的,前述的第一站点还包括第一计算节点,存储节点之间的复制关系通过以下方式建立:第一计算节点获取管控命令,向第一存储节点发送与管控命令匹配的容灾命令;第一存储节点响应容灾命令,与第二存储节点建立复制关系。

6、示例性的,管控命令和容灾命令指示的内容相同,但管控命令和容灾命令的格式不同,第一计算节点通过对管控命令进行格式的调整,使得调整格式后的容灾命令与第一存储节点所支持识别的命令格式相匹配,减少了第一存储节点对命令进行格式更改所需的操作,提高了不同站点对应的存储侧之间的复制关系的建立效率。

7、举例来说,第一计算节点可与第一存储节点通过管控通道进行通信,并在第一计算节点接收到用户的主从切换指令或者其他类型的管控命令的情况下,第一计算节点向第一存储节点发送容灾命令,这里的管控命令与容灾命令所要实现的功能一致,从而,在第一存储节点的复制状态变更后,第二计算节点根据第一存储节点和第二存储节点执行和变更后的复制状态匹配的容灾行为,从而避免不同站点之间的计算节点交互后,由不同站点各自的计算节点和存储节点进行交互之后再执行数据容灾操作,减少了计算节点之间的交互过程,缩短了数据经由不同数据库的计算节点才能实现数据容灾所产生的时延,提高了容灾系统的性能。

8、可选的,本实施例提供的数据容灾方法还包括:在复制关系建立完成后,第二存储节点将第二存储节点的复制状态置为第一状态,该第一状态指示:第一存储节点和第二存储节点已建立复制关系。在第二存储节点的复制状态为第一状态的情况下,以上第二计算节点根据复制状态更新第二站点的容灾行为,包括:第二计算节点将第二站点置为只读状态,该只读状态用于指示:业务节点不能通过第二计算节点将业务数据写入第二存储节点。

9、可选的,在前述的复制关系建立完成后,本实施例提供的数据容灾方法还包括:第一存储节点向第二存储节点发送数据写入命令;该数据写入命令携带有业务数据。以及,第二存储节点根据数据写入命令,将业务数据写入第二存储节点的存储空间。示例性的,数据写入命令是指数据复制或数据同步过程中的数据访问命令。

10、例如,数据复制是指第一存储节点将存储的数据通过远程复制技术复制到第二存储节点。

11、又如,数据同步是指在第一存储节点中的数据更新后,第一存储节点将更新后的数据同步到第二存储节点,数据同步操作可包括以下一种或几种的组合:删除、修改、新增等。

12、在本实施例中,由于不同站点的存储节点无需与各站点本地的计算节点进行交互,就可以执行后续的数据容灾操作,如第一存储节点将业务数据写入第二存储节点,从而实现数据的备份,缩短了数据经由不同站点的计算节点才能实现数据容灾所产生的时延,提高了数据容灾系统的性能。

13、可选的,前述第二存储节点将第二存储节点的复制状态更新为第一状态,包括:首先,该第一存储节点向第二存储节点发送心跳,该心跳用于指示:第一站点中业务数据能被业务节点访问。以及,第二存储节点根据心跳更新第二存储节点的复制状态为第一状态。当第二存储节点能够接收到来自第一存储节点的心跳的情况下,说明第一站点还处于正常的状态,第二存储节点持续作为从站点的存储节点对第一站点中的业务数据进行容灾即可,避免了第二存储节点中的复制状态随意变更,导致第二站点与第一站点抢占业务数据关联的业务的权限的情况,提高了容灾系统的容灾性能。

14、可选的,本实施例提供的数据容灾方法还包括:在第二存储节点未接收到心跳的情况下,第二存储节点更新复制状态为第二状态,该第二状态指示:业务节点不能通过第一站点访问业务数据。则前述第二计算节点根据复制状态更新第二站点的容灾行为的步骤,可包括:第二计算节点将第二站点从只读状态置为可读可写状态,该可读可写状态用于指示:业务节点能通过第二计算节点将业务数据写入第二存储节点,和,业务节点能通过第二计算节点读取第二存储节点存储的业务数据中至少一种或两种的组合。

15、举例来说,在第二存储节点无法接收到来自第一存储节点的心跳的情况下,说明第一站点处于异常的状态,则第二存储节点变更复制状态,如从只读状态变更为可读可写状态,进而,第二计算节点将第二站点从容灾站点(从站点)切换为主站点,实现不同站点之间的主从(或:主备)切换,避免了容灾系统无法接管业务数据关联的业务的问题,提高了容灾系统的容灾性能。

16、示例性的,第二计算节点将第二站点从只读状态置为可读可写状态,可包括:首先,第二计算节点向业务节点发送告警信息,该告警信息用于指示:业务节点不能通过第一站点访问业务数据。其次,若第二计算节点接收到业务节点根据告警信息发送的切换确认响应,则第二计算节点将第二站点从只读状态置为可读可写状态。最后,第二计算节点根据前述的切换确认响应,向业务节点发送失效切换命令,该失效切换命令用于指示:第二站点接管与业务数据关联的业务。

17、在第一站点为主站点、且第一站点发生故障的情况下,第二计算节点可与第二存储节点交互,从而将第二站点切换为主站点,保证了站点中业务数据的安全性。而且,主从站点的切换过程是由存储节点触发并向计算节点发送命令实现的,计算节点无需在执行主机或服务器的数据访问过程中,再去执行数据容灾操作,提升了站点的容灾性能。

18、可选的,第二存储节点未接收到心跳,包括:在第一站点中业务数据不能被业务节点访问的情况下,第一存储节点停止发送心跳。示例性的,第一站点中业务数据不能被业务节点访问,包括:第一站点中第一计算节点处于异常,第一存储节点处于异常,或者,第一计算节点与第一存储节点之间的心跳断开中至少一种。以上仅为本实施例提供的几种示例,不应理解为对本技术的限定,当第一站点发生其他的异常时,也可能导致第一站点中业务数据不能被业务节点访问。

19、可选的,第二存储节点更新复制状态为第二状态,包括:在第一存储节点停止发送心跳之后,第一存储节点向第二存储节点发送状态更新命令,该状态更新命令用于指示:第二存储节点更新复制状态为第二状态。以及,第二存储节点根据状态更新命令更新复制状态为第二状态。在本实施例中,第一存储节点主动向第二存储节点发送状态更新命令,以使第二存储节点能够快速的更新第二存储节点的复制状态,从而第二计算节点根据更新后的复制状态来管理容灾行为,避免了在第一站点不能正常使用的情况下,该第二站点无法接管业务的问题,提高了容灾系统的容灾性能。

20、可选的,在第二存储节点发生故障的情况下,第一存储节点断开与第二存储节点的复制关系,并更新第一存储节点维护的复制状态为:第一存储节点与第二存储节点的复制关系断开,以避免第二存储节点对第一站点的数据访问过程造成影响。

21、可选的,当第二计算节点发生故障或第二计算节点与第二存储节点之间的心跳断开,第一存储节点可基于已经建立的复制关系,将业务数据继续备份到第二存储节点,在第二计算节点恢复正常或心跳恢复后,第二站点依然可作为容灾系统的容灾站点,提高数据安全性。

22、第二方面,提供了一种数据容灾系统,所述数据容灾系统包括用于执行第一方面或第一方面任一种可能设计中的数据容灾方法的各个节点。示例性的,数据容灾系统包括:用于访问业务数据的第一站点和第二站点,第一站点包括第一存储节点,第二站点包括第二计算节点和第二存储节点。第二计算节点,用于获取第二存储节点中维护的复制状态。第二计算节点,还用于根据复制状态更新第二站点的容灾行为。其中第一存储节点与第二存储节点建立有复制关系,复制关系用于指示:第一存储节点为复制源节点,且第二存储节点为复制目标节点。

23、可选的,第一站点还包括第一计算节点,前述复制关系通过以下方式建立:第一计算节点获取管控命令,向第一存储节点发送与管控命令匹配的容灾命令。第一存储节点响应容灾命令,与第二存储节点建立复制关系。

24、可选的,在复制关系建立完成后,第二存储节点还用于:将第二存储节点的复制状态置为第一状态,该第一状态指示:第一存储节点和第二存储节点已建立复制关系。在确定第二存储节点的复制状态为第一状态时,第二计算节点还用于:将第二站点置为只读状态,只读状态用于指示:业务节点不能通过第二计算节点将业务数据写入第二存储节点。

25、可选的,在复制关系建立完成后,第一存储节点还用于:向第二存储节点发送数据写入命令,该数据写入命令携带有业务数据。第二存储节点还用于:根据数据写入命令,将业务数据写入第二存储节点的存储空间。

26、可选的,第一存储节点还用于:向第二存储节点发送心跳,该心跳用于指示:第一站点中业务数据能被业务节点访问。第二存储节点还用于:根据心跳更新第二存储节点的复制状态为第一状态。

27、可选的,在第二存储节点未接收到心跳的情况下,第二存储节点还用于:更新复制状态为第二状态,该第二状态指示:业务节点不能通过第一站点访问业务数据。第二计算节点还用于:将第二站点从只读状态置为可读可写状态,可读可写状态用于指示:业务节点能通过第二计算节点将业务数据写入第二存储节点,和/或,业务节点能通过第二计算节点读取第二存储节点存储的业务数据。

28、可选的,第二计算节点具体用于:向业务节点发送告警信息,告警信息用于指示:业务节点不能通过第一站点访问业务数据。若第二计算节点接收到业务节点根据告警信息发送的切换确认响应,则第二计算节点还具体用于:将第二站点从只读状态置为可读可写状态。以及,根据切换确认响应,向业务节点发送失效切换命令,该失效切换命令用于指示:第二站点接管与业务数据关联的业务。

29、可选的,第二存储节点未接收到心跳,包括:在第一站点中业务数据不能被业务节点访问的情况下,第一存储节点停止发送心跳。

30、可选的,第一站点中业务数据不能被业务节点访问,包括:第一站点中第一计算节点处于异常,第一存储节点处于异常,或者,第一计算节点与第一存储节点之间的心跳断开中至少一种。

31、可选的,在第一存储节点停止发送心跳之后,第一存储节点还用于:向第二存储节点发送状态更新命令,该状态更新命令用于指示:第二存储节点更新复制状态为第二状态。第二存储节点还用于:根据状态更新命令更新复制状态为第二状态。

32、关于第二方面所提供的任一实现方式的有益效果可参照第一方面中任一方式的描述,在此不予赘述。

33、第三方面,提供了一种节点,包括:处理器和存储器。存储器,用于存储计算机指令或程序。处理器,用于调度计算机指令或程序,执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。该节点可以是第一方面或第二方面提供的计算节点和存储节点中至少一种。

34、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质包括:计算机软件指令。当计算机软件指令在电子设备中运行时,电子设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。该电子设备可以是第一方面或第二方面提供的计算节点和存储节点中至少一种。

35、第五方面,提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,电子设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。该电子设备可以是第一方面或第二方面提供的计算节点和存储节点中至少一种。

36、第六方面,提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第一方面的方法中节点的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

37、以上第三方面至第六方面的有益效果可参照第一方面中任一种实现方式的描述,此处不再赘述。本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1