用于多层应用程序的灾难恢复的系统和方法.pdf

上传人:a3 文档编号:1308363 上传时间:2018-04-14 格式:PDF 页数:20 大小:1.36MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380026054.9

申请日:

2013.05.29

公开号:

CN104364763A

公开日:

2015.02.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/00申请日:20130529|||公开

IPC分类号:

G06F11/00

主分类号:

G06F11/00

申请人:

赛门铁克公司

发明人:

D·嘉瑞; A·伽瓦利

地址:

美国加利福尼亚州

优先权:

13/483380 2012.05.30 US

专利代理机构:

北京泛华伟业知识产权代理有限公司11280

代理人:

徐舒

PDF下载: PDF下载
内容摘要

本发明提供了一种用于多层应用程序的灾难恢复的计算机实现的方法,所述方法可包括:1)识别在生产站点处提供有多个生产集群的多层应用程序,2)识别包括多个恢复集群的灾难恢复站点,3)在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;以及4)从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。还公开了各种其他方法、系统和计算机可读介质。

权利要求书

1.  一种用于多层应用程序的灾难恢复的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备来执行,所述方法包括:
识别在生产站点处提供有多个生产集群的多层应用程序;
识别包括多个恢复集群的灾难恢复站点;
在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;
从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。

2.
  根据权利要求1所述的计算机实现的方法,其中:
所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;
识别所述多层应用程序的所述故障包括识别所述多层应用程序的所述数据库层的所述复制中的故障。

3.
  根据权利要求1所述的计算机实现的方法,其中在所述灾难恢复站点处识别所述故障包括识别来自在所述多个恢复集群内的集群内执行的代理的故障。

4.
  根据权利要求1所述的计算机实现的方法,其中识别所述故障包括识别用户发起的所述多层应用程序的故障转移。

5.
  根据权利要求4所述的计算机实现的方法,其中发起所述多层应用程序从所述生产站点到所述灾难恢复站点的所述迁移包括:
识别所述生产站点处的所述多层应用程序的每个层的状态;
基于所述状态识别所述多层应用程序内的在线的至少一个层;
使所述层在所述生产站点处离线。

6.
  根据权利要求1所述的计算机实现的方法,还包括:
识别所述生产站点处的所述多层应用程序的每个层的状态;
基于所述状态识别在所述多层应用程序的所述迁移期间的至少一个并发冲突。

7.
  根据权利要求1所述的计算机实现的方法,还包括:
识别在所述多个恢复集群的至少一者上执行的辅助应用程序;
确定所述辅助应用程序具有低于所述多层应用程序的优先级;
在发起所述迁移之前,响应于所述优先级使所述辅助应用程序离线。

8.
  根据权利要求1所述的计算机实现的方法,还包括:
识别所述生产站点处的所述多层应用程序的每个层的状态;
将所述多层应用程序的每个层的所述状态显示在界面中以用于发起所述多层应用程序的所述迁移。

9.
  根据权利要求1所述的计算机实现的方法,其中所述迁移包括:
识别所述多层应用程序的依赖关系图;
当根据所述依赖关系图没有依赖于所述层的另外的层仍要迁移时,迁移所述多层应用程序的每个层。

10.
  一种用于多层应用程序的灾难恢复的系统,所述系统包括:
检测模块,所述检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用程序;
识别模块,所述识别模块被编程以识别包括多个恢复集群的灾难恢复站点;
故障模块,所述故障模块被编程以在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;
迁移模块,所述迁移模块被编程以从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移;
至少一个处理器,所述处理器被配置成执行所述检测模块、所述识别模块、所述故障模块和所述迁移模块。

11.
  根据权利要求10所述的系统,其中:
所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;
所述故障模块被编程以通过识别所述多层应用程序的所述数据库层的所述复制中的故障来识别所述多层应用程序的所述故障。

12.
  根据权利要求10所述的系统,其中所述故障模块被编程以通过识别来自在所述多个恢复集群内的集群内执行的代理的所述故障来在所述灾难恢复站点处识别所述故障。

13.
  根据权利要求10所述的系统,其中所述故障模块被编程以通过识别用户发起的所述多层应用程序的故障转移来识别所述故障。

14.
  根据权利要求13所述的系统,其中所述迁移模块被编程以通过以下方式来发起所述多层应用程序从所述生产站点到所述灾难恢复站点的所述迁移:
识别所述生产站点处的所述多层应用程序的每个层的状态;
基于所述状态识别所述多层应用程序内的在线的至少一个层;
使所述层在所述生产站点处离线。

15.
  根据权利要求10所述的系统,其中所述迁移模块还被编程以:
识别所述生产站点处的所述多层应用程序的每个层的状态;
基于所述状态识别在所述多层应用程序的所述迁移期间的至少一个并发冲突。

16.
  根据权利要求10所述的系统,其中所述迁移模块还被编程以:
识别在所述多个恢复集群的至少一者上执行的辅助应用程序;
确定所述辅助应用程序具有低于所述多层应用程序的优先级;
在发起所述迁移之前,响应于所述优先级使所述辅助应用程序离线。

17.
  根据权利要求10所述的系统,其中所述迁移模块还被编程以:
识别所述生产站点处的所述多层应用程序的每个层的状态;
将所述多层应用程序的每个层的所述状态显示在界面中以用于发起所述多层应用程序的所述迁移。

18.
  根据权利要求10所述的系统,其中所述迁移包括:
识别所述多层应用程序的依赖关系图;
当根据所述依赖关系图没有依赖于所述层的另外的层仍要迁移时,迁移所述多层应用程序的每个层。

19.
  一种计算机可读存储介质,其包括一个或多个计算机可执行指令,当由计算设备的至少一个处理器执行时,所述指令可使所述计算设备:
识别在生产站点处提供有多个生产集群的多层应用程序;
识别包括多个恢复集群的灾难恢复站点;
在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;
从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。

20.
  根据权利要求19所述的计算机可读存储介质,其中:
所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;
所述一个或多个计算机可执行指令通过使所述计算设备识别所述多层应用程序的所述数据库层的所述复制中的故障来使所述计算设备识别所述多层应用程序的所述故障。

说明书

用于多层应用程序的灾难恢复的系统和方法
背景技术
多层应用程序包括以组合的方式可提供服务的可独立执行的组件。由于组织可单独地配置每个组件的执行环境,因此组织可使用多层应用程序以增大灵活性、可扩展性、安全性和/或可用性。例如,组织可在独立集群上执行多层应用程序的每个组件并且根据多层应用程序的对应组件的需求提供每个集群。在一些情况下,组织可能希望在发生灾难的情况下提供多层应用程序的连续性。
从关键业务应用程序的角度来讲,灾难恢复是指在中断业务操作的灾难发生以后,恢复正常(或接近正常)业务操作的能力。为了促进从对应用程序的主要操作站点产生影响的灾难中恢复,组织可在远程站点处准备恢复系统以在发生灾难的情况下重新开始应用程序操作。
传统的灾难恢复系统可使用管理服务器来协调多层应用程序的恢复(例如,处理在恢复期间多层应用程序的组件之间的依赖性)。遗憾的是,这些传统系统可形成灾难恢复的单点故障。例如,如果管理服务器不可用,那么这些系统可能无法恢复该多层应用程序。因此,本公开识别并解决了对用于多层应用程序的灾难恢复的另外且改善的系统和方法的需求。
发明内容
如将在下文更详细地描述,本公开总体上涉及用于通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作来进行多层应用程序的灾难恢复的系统和方法。在一个例子中,用于多层应用程序的灾难恢复的计算机实现的方法可包括:1)识别在生产站点处提供有多个生产集群的多层应用程序,2)识别包括多个恢复集群的灾难恢复站点,3)在灾难恢复站点处识别生产站点处的多层应用程序的故障,以及4)从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。
在一些例子中,多层应用程序可包括数据库层,该数据库层被配置成用于从生产站点处的所述多个生产集群内的数据库集群到灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制。在这些例子中,识别多层应用程序的故障可包括识别多层应用程序的数据库层的复制中的故障。
在一些实施例中,识别多层应用程序的故障可包括识别来自在所述多个恢复集群内的集群内执行的代理的故障。在一个例子中,识别多层应用程序的故障可包括识别用户发起的多层应用程序的故障转移。在该例中,识别用户发起的故障转移可包括:1)识别生产站点处的多层应用程序的每个层的状态,2)基于该状态识别多层应用程序内的在线的至少一个层,以及3)使该层在生产站点处离线。
在一个例子中,迁移可包括:1)识别多层应用程序的依赖关系图,以及2)当根据依赖关系图没有依赖于层的另外的层仍要迁移时,迁移多层应用程序的每个层。
在一些例子中,计算机实现的方法还可包括:1)识别生产站点处的多层应用程序的每个层的状态,以及2)基于该状态识别多层应用程序的迁移期间的至少一个并发冲突。在一些实施例中,计算机实现的方法还可包括:1)识别在所述多个恢复集群中的至少一者上执行的辅助应用程序,2)确定辅助应用程序具有低于多层应用程序的优先级,以及3)在发起迁移之前响应于该优先级使辅助应用程序离线。在一个例子中,计算机实现的方法还可包括:1)识别生产站点处的多层应用程序的每个层的状态,以及2)将多层应用程序的每个层的状态显示在界面中以发起多层应用程序的迁移。
在一个实施例中,实施上述方法的系统可包括:1)检测模块,该检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用程序,2)识别模块,该识别模块被编程以识别包括多个恢复集群的灾难恢复站点,3)故障模块,该故障模块被编程以在灾难恢复站点处识别生产站点处的多层应用程序的故障,以及4)迁移模块,该模块被编程以从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。该系统还可包括被配置成执行检测模块、识别模块、故障模块和迁移模块的至少一个处理器。
在一些例子中,上述方法可被编码为计算机可读存储介质上的计算机可读指令。例如,计算机可读存储介质可包括一个或多个计算机可执行指令,当由计算设备的至少一个处理器执行时,所述计算机可执行指令可使 计算设备:1)识别在生产站点处提供有多个生产集群的多层应用程序,2)识别包括多个恢复集群的灾难恢复站点,3)在灾难恢复站点处识别生产站点处的多层应用程序的故障,以及4)从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。
如将在下文更详细地阐述,通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作,本文所述的系统和方法可促进多层应用程序从一个站点到另一个站点的灾难恢复,而不会形成新的单点故障(例如,与这两个站点均无关的管理服务器)。此外,在一些例子中,这些系统和方法可自动检测灾难以及至恢复站点的故障转移。
来自上述实施例中的任何一者的特征可根据本文所述的一般原理彼此结合地使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施例、特征和优点。
附图说明
附图示出了多个示例性实施例并且为说明书的一部分。这些附图结合下面的描述展示并且说明本发明的各种原理。
图1为用于多层应用程序的灾难恢复的示例性系统的框图。
图2为用于多层应用程序的灾难恢复的示例性系统的框图。
图3为用于多层应用程序的灾难恢复的示例性方法的流程图。
图4为用于多层应用程序的灾难恢复的示例性系统的框图。
图5为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算系统的框图。
图6为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算网络的框图。
在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施例易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施例并且将在本文详细描述这些特定实施例。然而,本文所述的示例性实施例并非旨在限于所公开的特定形式。相反,本发明涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。
具体实施方式
下面将参考图1、图2和图4提供对用于多层应用程序的灾难恢复的示例性系统的详细描述。也将结合图3提供相应计算机实现方法的详细描述。此外,将分别结合图5和图6提供能够实现本文所述实施例中的一者或多者的示例性计算系统和网络体系结构的详细描述。
图1为用于多层应用程序的灾难恢复的示例性系统100的框图。如该附图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细地阐述,示例性系统100可包括检测模块104,该检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用程序。示例性系统100也可包括识别模块106,该识别模块被编程以识别包括多个恢复集群的灾难恢复站点。
此外,并且如将在下文更详细地描述,示例性系统100可包括故障模块108,该故障模块被编程以在灾难恢复站点处识别生产站点处的多层应用程序的故障。示例性系统100还可包括迁移模块110,该迁移模块被编程以从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。尽管示例为独立元件,但图1中的模块102中的一者或多者可表示单个模块或应用程序的部分。
在某些实施例中,图1中的模块102中的一者或多者可表示一个或多个软件应用程序或程序,当通过计算设备执行时其可使计算设备执行一个或多个任务。例如,并且如将在下文更详细地描述,模块102中的一者或多者可表示被存储并且被配置成在一个或多个计算设备上运行的软件模块,所述计算设备诸如图2中示出的设备(例如,集群212(1)-(n)和/或集群222(1)-(n))、图5中的计算系统510和/或图6中的示例性网络体系结构600的一部分。图1中的模块102中的一者或多者也可表示被配置成执行一个或多个任务的一台或多台专用计算机的全部或部分。
图1中的示例性系统100可以多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的一部分。如图2所示,系统200可包括生产站点210(例如,具有集群212(1)-(n)),该生产站点通过网络204与灾难恢复站点(例如,具有集群222(1)-(n))通信。例如,灾难恢复站点220处的集群222(1)-(n)可被配置成在生产站点210处发生故障的情况下重新开始多层应用程序214中的一个或多个部分的操作。
在一个实施例中,当图1的模块102中的一者或多者由集群222(1)的至少一个处理器执行时,所述模块可促进集群222(1)进行多层应用程序的灾难恢复。例如,并且如将在下文更详细地描述,模块102中的一者或多者可使集群222(1):1)识别在生产站点210处提供有集群212(1)-(n)的多层应用程序214,2)识别包括集群222(1)-(n)的灾难恢复站点220,3)在灾难恢复站点220处识别生产站点210处的多层应用程序214的故障,以及4)从灾难恢复站点220发起多层应用程序214从生产站点210到灾难恢复站点220的迁移。
集群212(1)-(n)和222(1)-(n)通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。集群212(1)-(n)和222(1)-(n)内的计算设备的例子包括但不限于服务器、台式计算机、笔记本电脑、平板电脑、移动电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、这些设备中一者或多者的组合、图5中的示例性计算系统510或任何其他合适的计算设备。
网络204通常表示能够促进通信或数据传输的任何介质或体系结构。网络204的例子包括但不限于内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,GSM网络)、图6中的示例性网络体系结构600等等。网络204可使用无线或有线连接促进通信或数据传输。在一个实施例中,网络204可促进生产站点210和灾难恢复站点220之间的通信。
图3为用于多层应用程序的灾难恢复的示例性计算机实现的方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算系统执行。在一些实施例中,图3中示出的步骤可由图1中的系统100、图2中的系统200、图5中的计算系统510和/或图6中的示例性网络体系结构600的部分的组件中的一者或多者执行。
如图3所示,在步骤302处,本文所述系统中的一者或多者可识别在生产站点处提供有多个生产集群的多层应用程序。例如,在步骤302处,检测模块104可作为图2中集群222(1)的一部分识别在生产站点210处提供有集群212(1)-(n)的多层应用程序214。
如本文所用,术语“集群”通常是指被配置成协调以提供一种或多种服务和/或分担计算工作负荷的互连计算系统的任何组。如本文所用,术语“站点”可指地理位置、网络位置和/或一组计算设备。短语“生产站点” 可指在迁移之前应用程序操作的站点。同样,短语“恢复站点”可指应用程序(或应用程序的一部分)可迁移至和/或在迁移后操作的站点。
如本文所用,短语“多层应用程序”通常是指具有可独立执行、定位和/或配置的组件的任何应用程序,该应用程序,以组合的方式,可提供服务。在一些例子中,多层应用程序的每个组件均可包括独立应用程序。例如,多层应用程序可包括一个或多个数据库组件、一个或多个业务逻辑组件和/或一个或多个呈现组件。在该例子中,呈现组件可呈现用于多层应用程序的用户界面。呈现组件可与业务逻辑组件通信以处理服务请求,并且业务逻辑组件可与数据库组件通信以存储和/或检索数据。在一些例子中,可将多层应用程序管理和/或表示为虚拟业务服务。
如将在下文更详细地描述,在一些例子中,多层应用程序可包括数据库层,该数据库层被配置成用于从生产站点处的所述多个生产集群内的数据库集群到灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制。如本文所用,术语“复制”可指用于在另一个位置处维持一个或多个数据对象的最新拷贝的任何方案。
检测模块104可以多种方式中的任一种识别生产站点处的多层应用程序。例如,检测模块104可识别将生产站点指定为托管多层应用程序的配置。除此之外或作为另外一种选择,检测模块104可(例如,作为在恢复站点处的恢复集群中的一者或多者上执行的代理的一部分)接收来自生产站点的通信和/或识别来自生产站点的通信故障。在至少一个例子中,检测模块104可基于管理员输入识别生产站点处的多层应用程序。
图4示出了用于多层应用程序的灾难恢复的示例性系统400。如图4所示,示例性系统400可包括具有若干集群(例如,网页集群412、网页集群414、应用程序集群416和数据库集群418)的生产站点410。在一个例子中,可一起操作生产站点410的集群以托管多层应用程序。示例性系统400还可包括灾难恢复站点420(例如,被配置成为生产站点410提供灾难恢复服务)。如图4所示,灾难恢复站点420可包括网页集群422(例如,对应于网页集群412)、网页集群424(例如,对应于网页集群414)、应用程序集群426(例如,对应于应用程序集群416)和数据库集群428(例如,对应于数据库集群418)。以图4为例,检测模块104可作为灾难恢复站点 420处的集群中的一者或多者的一部分来识别生产站点410处的多层应用程序。
在一些例子中,数据库集群418和数据库集群428可被配置成在层430上通信。例如,数据库集群418和/或一个或多个相关联的装置可被配置成具有复制432以将数据库集群418的数据库复制到数据库集群428的灾难恢复站点420。在一个例子中,检测模块104可通过识别层430和/或复制432来识别生产站点410处的多层应用程序。
返回图3,在步骤304处,本文所述的系统中的一者或多者可识别包括多个恢复集群的灾难恢复站点。例如,在步骤304处,识别模块106可作为图2中的集群222(1)的一部分来识别包括集群222(1)-(n)的灾难恢复站点220。
如本文所用,短语“灾难恢复”可指将应用程序的至少一部分迁移至另选站点以提供服务连续性的任何过程。在一些实施例中,短语“灾难恢复”可指在偶然事件(例如,诸如一个或多个计算设备的故障、在计算设施处的电力损耗等灾难)后应用程序的恢复。除此之外或作为另外一种选择,短语“灾难恢复”可指管理员发起的事件。
识别模块106可以任何合适的方式识别灾难恢复站点。例如,识别模块106可通过作为代理在灾难恢复站点处的恢复集群中的一者或多者上执行来识别灾难恢复站点。
以图4为例,在步骤304处,识别模块106可作为网页集群422、网页集群424、应用程序集群426和/或数据库集群428的一部分来识别灾难恢复站点420。
返回图3,在步骤306处,本文所述系统中的一者或多者可在灾难恢复站点处识别生产站点处的多层应用程序的故障。例如,在步骤306处,故障模块108可作为图2中的集群222(1)的一部分在灾难恢复站点220处识别生产站点210处的多层应用程序214的故障。
故障模块108可以多种方式中的任一种来识别多层应用程序的故障。例如,如前所述,在一些例子中,多层应用程序可包括被配置成用于从生产站点到灾难恢复站点的复制的数据库层。在该例中,故障模块108可通过识别多层应用程序的数据库层的复制中的故障来识别故障。例如,故障 模块108可确定在连接相应站点的数据库层的全局集群链路层上的周期性预期通信已出现故障。
在一些例子中,故障模块108可识别来自在所述多个恢复集群内的集群内执行的代理的故障。例如,代理可被配置成监控和/或接收来自生产站点的关于多层应用程序的状态更新。
在一个例子中,故障模块108可通过识别用户发起的多层应用程序的故障转移来识别故障。例如,故障模块108可识别管理员在灾难恢复站点处引出多层应用程序的尝试。在该例中,故障模块108可:1)识别生产站点处的多层应用程序的每个层的状态,2)基于该状态识别多层应用程序内的在线的至少一个层,以及3)使该层在生产站点处离线。例如,故障模块108可作为多层应用程序的每个层的每个恢复集群上的代理的一部分而操作并且与每个对应的生产集群通信以获得对应的状态。
在一些例子中,故障模块108可识别多层应用程序的所有层的总故障。除此之外或作为另外一种选择,故障模块108可识别多层应用程序的一个或多个层的单独故障。
以图4为例,在步骤306处,故障模块108可作为灾难恢复站点420的集群中的一者或多者的一部分来识别生产站点410处的多层应用程序的故障。例如,故障模块108可作为数据库集群428的一部分来确定层430上的通信已出现故障。
返回图3,在步骤308处,本文所述系统中的一者或多者可从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。例如,在步骤308处,迁移模块110可作为图2中的集群222(1)的一部分从灾难恢复站点220发起多层应用程序214从生产站点210到灾难恢复站点220的迁移。
该迁移可包括任何合适的步骤。例如,该迁移可包括识别多层应用程序的依赖关系图,以及当根据依赖关系图没有依赖层的另外的层仍要迁移时,迁移多层应用程序的每个层。例如,迁移模块110可作为灾难恢复站点处的恢复集群中的一者或多者的一部分来识别依赖关系图,并且当层的依赖性断开时迁移每个层。
在一些例子中,迁移模块110可:1)识别生产站点处的多层应用程序的每个层的状态,以及2)基于该状态识别多层应用程序的迁移期间的至少 一个并发冲突。例如,当迁移模块110使多层应用程序的层在恢复站点处在线时,迁移模块110可确保层在生产站点处是离线的。
在一些例子中,迁移模块110还可:1)识别在所述多个恢复集群中的至少一者上执行的辅助应用程序,2)确定辅助应用程序具有低于多层应用程序的优先级,以及3)在发起迁移之前响应于该优先级使辅助应用程序离线。例如,灾难恢复站点处的恢复集群中的一者或多者可被配置成当灾难恢复站点不需要用于灾难恢复时托管低优先级应用程序。因此,当灾难恢复站点需要替代生产站点而托管多层应用程序时,迁移模块110可立即使低优先级应用程序离线。
在一些例子中,迁移模块110还可:1)识别生产站点处的多层应用程序的每个层的状态,以及2)将多层应用程序的每个层的状态显示在界面中以发起多层应用程序的迁移。例如,迁移模块110可显示多层应用程序的每个局部层和/或多层应用程序的全局层的状态。在该例中,管理员可使用状态信息来确定灾难的范围以及确定执行迁移。
如上所述,通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作,本文所述的系统和方法可促进多层应用程序从一个站点到另一个站点的灾难恢复,而不会形成新的单点故障(例如,与这两个站点均无关的管理服务器)。此外,在一些例子中,这些系统和方法可自动检测灾难以及至恢复站点的故障转移。
图5为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算系统510的框图。例如,计算系统510的全部或一部分可执行和/或作为一种方式用于单独地或与其他元件结合来执行本文所述的识别、引起、发起、迁移、确定和显示步骤中的一者或多者。计算系统510的全部或一部分还可执行和/或作为一种方式来执行本文描述和/或示出的任何其他步骤、方法或过程。
计算系统510在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统510的例子包括但不限于工作站、笔记本电脑、客户端方终端、服务器、分布式计算系统、手持式设备或任何其他计算系统或设备。在其最基本的配置中,计算系统510可以包括至少一个处理器514和系统内存516。
处理器514通常表示能够处理数据或解译和执行指令的任何类型或形式的处理单元。在某些实施例中,处理器514可以接收来自软件应用程序或模块的指令。这些指令可使处理器514执行本文描述和/或示出的一个或多个示例性实施例的功能。
系统内存516通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统内存516的例子包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他适用的内存设备。尽管不是必需的,但在某些实施例中,计算系统510可包括易失性存储器单元(诸如,系统内存516)和非易失性存储设备(诸如,主要存储设备532,如下详述)。在一个例子中,图1的模块102中的一者或多者可加载到系统内存516中。
在某些实施例中,除处理器514和系统内存516之外,示例性计算系统510还可包括一个或多个组件或元件。例如,如图5所示,计算系统510可以包括内存控制器518、输入/输出(I/O)控制器520和通信接口522,它们中的每一者都可以通过通信基础结构512互连。通信基础结构512通常表示能够在计算设备的一个或多个组件之间促进通信的任何类型或形式的基础结构。通信基础结构512的例子包括但不限于通信总线(诸如ISA、PCI、PCIe或类似总线)和网络。
内存控制器518通常表示能够处理内存或数据或控制计算系统510的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,内存控制器518可以通过通信基础结构512来控制处理器514、系统内存516和I/O控制器520之间的通信。
I/O控制器520通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施例中,I/O控制器520可控制或促进计算系统510的一个或多个元件之间的数据传输,所述元件诸如处理器514、系统内存516、通信接口522、显示适配器526、输入接口530和存储接口534。
通信接口522在广义上表示能够促进示例性计算系统510与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施例中,通信接口522可以促进计算系统510与包括附加计算系统的专用或公共网络之间的通信。通信接口522的例子包括但不限于有线网 络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其他合适的接口。在至少一个实施例中,通信接口522可以通过与网络(诸如互联网)的直接链接来提供与远程服务器的直接连接。通信接口522还可以通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接提供此类连接。
在某些实施例中,通信接口522还可以表示主机适配器,该主机适配器可被配置成通过外部总线或通信信道来促进计算系统510与一个或多个附加网络或存储设备之间的通信。主机适配器的例子包括但不限于SCSI主机适配器、USB主机适配器、IEEE 1394主机适配器、SATA和eSATA主机适配器、ATA和PATA主机适配器、光纤信道接口适配器、以太网适配器等等。通信接口522还可以允许计算系统510参与分布式或远程计算。例如,通信接口522可以接收来自远程设备的指令或将指令发送到远程设备以供执行。
如图5所示,计算系统510还可以包括至少一个显示设备524,该显示设备通过显示适配器526连接到通信基础结构512。显示设备524通常表示能够以可视方式显示显示适配器526转发的信息的任何类型或形式的设备。类似地,显示适配器526通常表示被配置成转发来自通信基础结构512(或来自帧缓冲器,如本领域所已知)的图形、文本和其他数据以在显示设备524上显示的任何类型或形式的设备。
如图5所示,示例性计算系统510还可包括经由输入接口530连接到通信基础结构512的至少一个输入设备528。输入设备528通常表示能够向示例性计算系统510提供输入(由计算机或人生成)的任何类型或形式的输入设备。输入设备528的例子包括但不限于键盘、指针设备、语音识别设备或任何其他输入设备。
如图5所示,示例性计算系统510还可包括主要存储设备532和经由存储接口534连接到通信基础结构512的备份存储设备533。存储设备532和533通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备532和533可为磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等等。存储接口534通常表示用于在计算系统510的存储 设备532和533与其他组件之间传输数据的任何类型或形式的接口或设备。
在某些实施例中,存储设备532和533可被配置成对被配置成存储计算机软件、数据或其他计算机可读信息的可移除存储单元进行读取和/或写入。合适的可移除存储单元的例子包括但不限于软盘、磁带、光盘、闪存设备等。存储设备532和533还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算系统510中的其他类似结构或设备。例如,存储设备532和533可被配置成读取和写入软件、数据或其他计算机可读信息。存储设备532和533还可为计算系统510的一部分,或者可为通过其他接口系统进行访问的独立设备。
可将多个其他设备或子系统连接到计算系统510。相反地,无需提供图5中示出的所有组件和设备,亦可操作本文描述和/或示出的实施例。上文提及的设备和子系统也可以通过不同于图5所示的方式互连。计算系统510还可以采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的一个或多个示例性实施例可被编码为计算机可读存储介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。短语“计算机可读存储介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读存储介质的例子包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质(例如,硬盘驱动器和软盘)、光存储介质(例如,CD-或DVD-ROM)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
可将包含计算机程序的计算机可读存储介质加载到计算系统510中。然后可将计算机可读存储介质上存储的全部或一部分计算机程序存储在系统内存516中和/或存储设备532和533的各个部分中。当由处理器514执行时,加载到计算系统510中的计算机程序可使处理器514执行和/或作为一种方式来执行本文描述和/或示出的示例性实施例中的一者或多者的功能。除此之外或作为另外一种选择,可在固件和/或硬件中实施本文描述和/或示出的示例性实施例中的一者或多者。例如,计算系统510可被配置成用于实施本文所公开的示例性实施例中的一者或多者的专用集成电路(ASIC)。
图6为示例性网络体系结构600的框图,其中客户端系统610、620和630以及服务器640和645可连接到网络650。如上面所详述,网络体系结构600的全部或一部分可执行和/或作为一种方式用于单独地或与其他元件结合来执行本文所述的识别、引起、发起、迁移、确定和显示步骤中的一者或多者。网络体系结构600的全部或一部分还可用于执行和/或作为一种方式用于执行本发明中阐述的其他步骤和特征。
客户端系统610、620和630通常表示任何类型或形式的计算设备或系统,诸如图5中的示例性计算系统510。类似地,服务器640和645通常表示被配置成提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络650通常表示任何电信或计算机网络,包括(例如)内联网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)或互联网。在一个例子中,客户端系统610、620和/或630和/或服务器640和/或645可包括图1的系统100的全部或一部分。
如图6所示,一个或多个存储设备660(1)-(N)可以直接连接到服务器640。类似地,一个或多个存储设备670(1)-(N)可以直接连接到服务器645。存储设备660(1)-(N)和存储设备670(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施例中,存储设备660(1)-(N)和存储设备670(1)-(N)可表示被配置成使用各种协议,诸如NFS、SMB或CIFS,与服务器640和645进行通信的网络连接存储(NAS)设备。
服务器640和645还可以连接到存储区域网络(SAN)光纤网680。SAN光纤网680通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或体系结构。SAN光纤网680可以促进服务器640和645与多个存储设备690(1)-(N)和/或智能存储阵列695之间的通信。SAN光纤网680还可以通过网络650以及服务器640和645以这样的方式促进客户端系统610、620和630与存储设备690(1)-(N)和/或智能存储阵列695之间的通信:设备690(1)-(N)和阵列695呈现为客户端系统610、620和630的本地连接设备。与存储设备660(1)-(N)和存储设备670(1)-(N)相同,存储设备690(1)-(N)和智能存储阵列695通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施例中,并参照图5的示例性计算系统510,通信接口,诸如图5中的通信接口522,可用于在每个客户端系统610、620和630与网络650之间提供连接。客户端系统610、620和630可能能够使用(例如)网页浏览器或其他客户端软件来访问服务器640或645上的信息。此类软件可以允许客户端系统610、620和630访问由服务器640、服务器645、存储设备660(1)-(N)、存储设备670(1)-(N)、存储设备690(1)-(N)或智能存储阵列695托管的数据。尽管图6示出了使用网络(例如互联网)来交换数据,但本文描述和/或示出的实施例并非仅限于互联网或任何特定的基于网络的环境。
在至少一个实施例中,本文所公开的一个或多个示例性实施例中的全部或一部分可被编码为计算机程序并加载到服务器640、服务器645、存储设备660(1)-(N)、存储设备670(1)-(N)、存储设备690(1)-(N)或智能存储阵列695或它们的任意组合上并加以执行。本文所公开的一个或多个示例性实施例中的全部或一部分也可被编码为计算机程序,存储在服务器640中,由服务器645运行,以及通过网络650分配到客户端系统610、620和630。
如上所详述,计算系统510和/或网络体系结构600的一个或多个组件可执行和/或作为一种方式用于单独地或与其他元件结合来执行用于多层应用程序的灾难恢复的示例性方法的一个或多个步骤。
虽然上述发明使用特定框图、流程图和例子阐述了各种实施例,但每个框图组件、流程图步骤、操作和/或本文描述和/或示出的组件可使用广泛范围的硬件、软件或固件(或其任何组合)配置单独和/或共同来实现。此外,包含在其他组件内的组件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其他体系结构来实现相同功能。
在一些例子中,图1中的示例性系统100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可以通过互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务(software as a service)、平台即服务(platform as a service)、基础结构即服务等(infrastructure as a service))可以通过网页浏览器或其他远程接口进行访问。本文所述的各种功能可以通过远程桌面环境或任何其他基于云的计算环境提供。
本文描述和/或示出的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不必按示出或讨论的顺序来执行。本文描述和/或示出的各种示例性方法也可省略本文描述或示出的步骤中的一者或多者,或除了所公开的那些步骤之外还包括附加步骤。
虽然本文已经在完全功能计算系统的上下文中描述和/或示出了各种实施例,但这些示例性实施例中的一者或多者可作为各种形式的程序产品来分配,而不考虑用于实际进行分配的计算机可读存储介质的特定类型。本文所公开的实施例也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批处理或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施例中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施例中的一者或多者。
此外,本文所述的模块中的一者或多者可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述模块中的一者或多者可将计算设备转换成用于多层应用程序的灾难恢复的设备。
提供前面描述的目的是使本领域的其他技术人员能够最好地利用本文所公开的示例性实施例的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本发明精神和范围的前提下,可进行许多修改和变化。本文所公开的实施例在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求及其等同形式来确定本发明的范围。
除非另有说明,否则在本说明书和权利要求中使用的术语“一”或“一个”应当理解为是表示“…中的至少一者”。此外,为了易于使用,在本说明书和权利要求中使用的词语“包括”和“具有”与词语“包含”可互换并且与词语“包含”具有相同含义。

用于多层应用程序的灾难恢复的系统和方法.pdf_第1页
第1页 / 共20页
用于多层应用程序的灾难恢复的系统和方法.pdf_第2页
第2页 / 共20页
用于多层应用程序的灾难恢复的系统和方法.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《用于多层应用程序的灾难恢复的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于多层应用程序的灾难恢复的系统和方法.pdf(20页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104364763A43申请公布日20150218CN104364763A21申请号201380026054922申请日2013052913/48338020120530USG06F11/0020060171申请人赛门铁克公司地址美国加利福尼亚州72发明人D嘉瑞A伽瓦利74专利代理机构北京泛华伟业知识产权代理有限公司11280代理人徐舒54发明名称用于多层应用程序的灾难恢复的系统和方法57摘要本发明提供了一种用于多层应用程序的灾难恢复的计算机实现的方法,所述方法可包括1识别在生产站点处提供有多个生产集群的多层应用程序,2识别包括多个恢复集群的灾难恢复站点,3在所述灾难恢复站点。

2、处识别所述生产站点处的所述多层应用程序的故障;以及4从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。还公开了各种其他方法、系统和计算机可读介质。30优先权数据85PCT国际申请进入国家阶段日2014111886PCT国际申请的申请数据PCT/US2013/0429842013052987PCT国际申请的公布数据WO2013/181185EN2013120551INTCL权利要求书3页说明书10页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书10页附图6页10申请公布号CN104364763ACN104364763A1/3页21一种用于。

3、多层应用程序的灾难恢复的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备来执行,所述方法包括识别在生产站点处提供有多个生产集群的多层应用程序;识别包括多个恢复集群的灾难恢复站点;在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。2根据权利要求1所述的计算机实现的方法,其中所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;识别所述多层应用程序的所述故障包括识别所述多层应用。

4、程序的所述数据库层的所述复制中的故障。3根据权利要求1所述的计算机实现的方法,其中在所述灾难恢复站点处识别所述故障包括识别来自在所述多个恢复集群内的集群内执行的代理的故障。4根据权利要求1所述的计算机实现的方法,其中识别所述故障包括识别用户发起的所述多层应用程序的故障转移。5根据权利要求4所述的计算机实现的方法,其中发起所述多层应用程序从所述生产站点到所述灾难恢复站点的所述迁移包括识别所述生产站点处的所述多层应用程序的每个层的状态;基于所述状态识别所述多层应用程序内的在线的至少一个层;使所述层在所述生产站点处离线。6根据权利要求1所述的计算机实现的方法,还包括识别所述生产站点处的所述多层应用程。

5、序的每个层的状态;基于所述状态识别在所述多层应用程序的所述迁移期间的至少一个并发冲突。7根据权利要求1所述的计算机实现的方法,还包括识别在所述多个恢复集群的至少一者上执行的辅助应用程序;确定所述辅助应用程序具有低于所述多层应用程序的优先级;在发起所述迁移之前,响应于所述优先级使所述辅助应用程序离线。8根据权利要求1所述的计算机实现的方法,还包括识别所述生产站点处的所述多层应用程序的每个层的状态;将所述多层应用程序的每个层的所述状态显示在界面中以用于发起所述多层应用程序的所述迁移。9根据权利要求1所述的计算机实现的方法,其中所述迁移包括识别所述多层应用程序的依赖关系图;当根据所述依赖关系图没有依。

6、赖于所述层的另外的层仍要迁移时,迁移所述多层应用程序的每个层。10一种用于多层应用程序的灾难恢复的系统,所述系统包括检测模块,所述检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用权利要求书CN104364763A2/3页3程序;识别模块,所述识别模块被编程以识别包括多个恢复集群的灾难恢复站点;故障模块,所述故障模块被编程以在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;迁移模块,所述迁移模块被编程以从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移;至少一个处理器,所述处理器被配置成执行所述检测模块、所述识别模块、所述故障模块和所述迁移模块。

7、。11根据权利要求10所述的系统,其中所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;所述故障模块被编程以通过识别所述多层应用程序的所述数据库层的所述复制中的故障来识别所述多层应用程序的所述故障。12根据权利要求10所述的系统,其中所述故障模块被编程以通过识别来自在所述多个恢复集群内的集群内执行的代理的所述故障来在所述灾难恢复站点处识别所述故障。13根据权利要求10所述的系统,其中所述故障模块被编程以通过识别用户发起的所述多层应用程序的故障转移来识别所述故障。14根据权利要求1。

8、3所述的系统,其中所述迁移模块被编程以通过以下方式来发起所述多层应用程序从所述生产站点到所述灾难恢复站点的所述迁移识别所述生产站点处的所述多层应用程序的每个层的状态;基于所述状态识别所述多层应用程序内的在线的至少一个层;使所述层在所述生产站点处离线。15根据权利要求10所述的系统,其中所述迁移模块还被编程以识别所述生产站点处的所述多层应用程序的每个层的状态;基于所述状态识别在所述多层应用程序的所述迁移期间的至少一个并发冲突。16根据权利要求10所述的系统,其中所述迁移模块还被编程以识别在所述多个恢复集群的至少一者上执行的辅助应用程序;确定所述辅助应用程序具有低于所述多层应用程序的优先级;在发起。

9、所述迁移之前,响应于所述优先级使所述辅助应用程序离线。17根据权利要求10所述的系统,其中所述迁移模块还被编程以识别所述生产站点处的所述多层应用程序的每个层的状态;将所述多层应用程序的每个层的所述状态显示在界面中以用于发起所述多层应用程序的所述迁移。18根据权利要求10所述的系统,其中所述迁移包括识别所述多层应用程序的依赖关系图;当根据所述依赖关系图没有依赖于所述层的另外的层仍要迁移时,迁移所述多层应用程序的每个层。19一种计算机可读存储介质,其包括一个或多个计算机可执行指令,当由计算设备的权利要求书CN104364763A3/3页4至少一个处理器执行时,所述指令可使所述计算设备识别在生产站点。

10、处提供有多个生产集群的多层应用程序;识别包括多个恢复集群的灾难恢复站点;在所述灾难恢复站点处识别所述生产站点处的所述多层应用程序的故障;从所述灾难恢复站点发起所述多层应用程序从所述生产站点到所述灾难恢复站点的迁移。20根据权利要求19所述的计算机可读存储介质,其中所述多层应用程序包括数据库层,所述数据库层被配置成用于从所述生产站点处的所述多个生产集群内的数据库集群到所述灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制;所述一个或多个计算机可执行指令通过使所述计算设备识别所述多层应用程序的所述数据库层的所述复制中的故障来使所述计算设备识别所述多层应用程序的所述故障。权利要求书CN1043。

11、64763A1/10页5用于多层应用程序的灾难恢复的系统和方法背景技术0001多层应用程序包括以组合的方式可提供服务的可独立执行的组件。由于组织可单独地配置每个组件的执行环境,因此组织可使用多层应用程序以增大灵活性、可扩展性、安全性和/或可用性。例如,组织可在独立集群上执行多层应用程序的每个组件并且根据多层应用程序的对应组件的需求提供每个集群。在一些情况下,组织可能希望在发生灾难的情况下提供多层应用程序的连续性。0002从关键业务应用程序的角度来讲,灾难恢复是指在中断业务操作的灾难发生以后,恢复正常或接近正常业务操作的能力。为了促进从对应用程序的主要操作站点产生影响的灾难中恢复,组织可在远程站。

12、点处准备恢复系统以在发生灾难的情况下重新开始应用程序操作。0003传统的灾难恢复系统可使用管理服务器来协调多层应用程序的恢复例如,处理在恢复期间多层应用程序的组件之间的依赖性。遗憾的是,这些传统系统可形成灾难恢复的单点故障。例如,如果管理服务器不可用,那么这些系统可能无法恢复该多层应用程序。因此,本公开识别并解决了对用于多层应用程序的灾难恢复的另外且改善的系统和方法的需求。发明内容0004如将在下文更详细地描述,本公开总体上涉及用于通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作来进行多层应用程序的灾难恢复的系统和方法。在一个例子中,用于多层应用程序的灾难恢复的计算机实现的方法可包。

13、括1识别在生产站点处提供有多个生产集群的多层应用程序,2识别包括多个恢复集群的灾难恢复站点,3在灾难恢复站点处识别生产站点处的多层应用程序的故障,以及4从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。0005在一些例子中,多层应用程序可包括数据库层,该数据库层被配置成用于从生产站点处的所述多个生产集群内的数据库集群到灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制。在这些例子中,识别多层应用程序的故障可包括识别多层应用程序的数据库层的复制中的故障。0006在一些实施例中,识别多层应用程序的故障可包括识别来自在所述多个恢复集群内的集群内执行的代理的故障。在一个例子中,识别多。

14、层应用程序的故障可包括识别用户发起的多层应用程序的故障转移。在该例中,识别用户发起的故障转移可包括1识别生产站点处的多层应用程序的每个层的状态,2基于该状态识别多层应用程序内的在线的至少一个层,以及3使该层在生产站点处离线。0007在一个例子中,迁移可包括1识别多层应用程序的依赖关系图,以及2当根据依赖关系图没有依赖于层的另外的层仍要迁移时,迁移多层应用程序的每个层。0008在一些例子中,计算机实现的方法还可包括1识别生产站点处的多层应用程序的每个层的状态,以及2基于该状态识别多层应用程序的迁移期间的至少一个并发冲突。说明书CN104364763A2/10页6在一些实施例中,计算机实现的方法还。

15、可包括1识别在所述多个恢复集群中的至少一者上执行的辅助应用程序,2确定辅助应用程序具有低于多层应用程序的优先级,以及3在发起迁移之前响应于该优先级使辅助应用程序离线。在一个例子中,计算机实现的方法还可包括1识别生产站点处的多层应用程序的每个层的状态,以及2将多层应用程序的每个层的状态显示在界面中以发起多层应用程序的迁移。0009在一个实施例中,实施上述方法的系统可包括1检测模块,该检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用程序,2识别模块,该识别模块被编程以识别包括多个恢复集群的灾难恢复站点,3故障模块,该故障模块被编程以在灾难恢复站点处识别生产站点处的多层应用程序的故障,以。

16、及4迁移模块,该模块被编程以从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。该系统还可包括被配置成执行检测模块、识别模块、故障模块和迁移模块的至少一个处理器。0010在一些例子中,上述方法可被编码为计算机可读存储介质上的计算机可读指令。例如,计算机可读存储介质可包括一个或多个计算机可执行指令,当由计算设备的至少一个处理器执行时,所述计算机可执行指令可使计算设备1识别在生产站点处提供有多个生产集群的多层应用程序,2识别包括多个恢复集群的灾难恢复站点,3在灾难恢复站点处识别生产站点处的多层应用程序的故障,以及4从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。0011如将。

17、在下文更详细地阐述,通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作,本文所述的系统和方法可促进多层应用程序从一个站点到另一个站点的灾难恢复,而不会形成新的单点故障例如,与这两个站点均无关的管理服务器。此外,在一些例子中,这些系统和方法可自动检测灾难以及至恢复站点的故障转移。0012来自上述实施例中的任何一者的特征可根据本文所述的一般原理彼此结合地使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施例、特征和优点。附图说明0013附图示出了多个示例性实施例并且为说明书的一部分。这些附图结合下面的描述展示并且说明本发明的各种原理。0014图1为用于多层应用程。

18、序的灾难恢复的示例性系统的框图。0015图2为用于多层应用程序的灾难恢复的示例性系统的框图。0016图3为用于多层应用程序的灾难恢复的示例性方法的流程图。0017图4为用于多层应用程序的灾难恢复的示例性系统的框图。0018图5为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算系统的框图。0019图6为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算网络的框图。0020在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施例易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施例并且将在本文详细描述这些特定实施例。然而,本文所述的示。

19、例性实施例并非旨在限说明书CN104364763A3/10页7于所公开的特定形式。相反,本发明涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。具体实施方式0021下面将参考图1、图2和图4提供对用于多层应用程序的灾难恢复的示例性系统的详细描述。也将结合图3提供相应计算机实现方法的详细描述。此外,将分别结合图5和图6提供能够实现本文所述实施例中的一者或多者的示例性计算系统和网络体系结构的详细描述。0022图1为用于多层应用程序的灾难恢复的示例性系统100的框图。如该附图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细地阐述,示例性。

20、系统100可包括检测模块104,该检测模块被编程以识别在生产站点处提供有多个生产集群的多层应用程序。示例性系统100也可包括识别模块106,该识别模块被编程以识别包括多个恢复集群的灾难恢复站点。0023此外,并且如将在下文更详细地描述,示例性系统100可包括故障模块108,该故障模块被编程以在灾难恢复站点处识别生产站点处的多层应用程序的故障。示例性系统100还可包括迁移模块110,该迁移模块被编程以从灾难恢复站点发起多层应用程序从生产站点到灾难恢复站点的迁移。尽管示例为独立元件,但图1中的模块102中的一者或多者可表示单个模块或应用程序的部分。0024在某些实施例中,图1中的模块102中的一者。

21、或多者可表示一个或多个软件应用程序或程序,当通过计算设备执行时其可使计算设备执行一个或多个任务。例如,并且如将在下文更详细地描述,模块102中的一者或多者可表示被存储并且被配置成在一个或多个计算设备上运行的软件模块,所述计算设备诸如图2中示出的设备例如,集群2121N和/或集群2221N、图5中的计算系统510和/或图6中的示例性网络体系结构600的一部分。图1中的模块102中的一者或多者也可表示被配置成执行一个或多个任务的一台或多台专用计算机的全部或部分。0025图1中的示例性系统100可以多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的一部分。如图2所示。

22、,系统200可包括生产站点210例如,具有集群2121N,该生产站点通过网络204与灾难恢复站点例如,具有集群2221N通信。例如,灾难恢复站点220处的集群2221N可被配置成在生产站点210处发生故障的情况下重新开始多层应用程序214中的一个或多个部分的操作。0026在一个实施例中,当图1的模块102中的一者或多者由集群2221的至少一个处理器执行时,所述模块可促进集群2221进行多层应用程序的灾难恢复。例如,并且如将在下文更详细地描述,模块102中的一者或多者可使集群22211识别在生产站点210处提供有集群2121N的多层应用程序214,2识别包括集群2221N的灾难恢复站点220,3。

23、在灾难恢复站点220处识别生产站点210处的多层应用程序214的故障,以及4从灾难恢复站点220发起多层应用程序214从生产站点210到灾难恢复站点220的迁移。0027集群2121N和2221N通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。集群2121N和2221N内的计算设备的例子包括但不限于服说明书CN104364763A4/10页8务器、台式计算机、笔记本电脑、平板电脑、移动电话、个人数字助理PDA、多媒体播放器、嵌入式系统、这些设备中一者或多者的组合、图5中的示例性计算系统510或任何其他合适的计算设备。0028网络204通常表示能够促进通信或数据传输的任何介质或体系结。

24、构。网络204的例子包括但不限于内联网、广域网WAN、局域网LAN、个域网PAN、互联网、电力线通信PLC、蜂窝网络例如,GSM网络、图6中的示例性网络体系结构600等等。网络204可使用无线或有线连接促进通信或数据传输。在一个实施例中,网络204可促进生产站点210和灾难恢复站点220之间的通信。0029图3为用于多层应用程序的灾难恢复的示例性计算机实现的方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算系统执行。在一些实施例中,图3中示出的步骤可由图1中的系统100、图2中的系统200、图5中的计算系统510和/或图6中的示例性网络体系结构600的部分的组件中的。

25、一者或多者执行。0030如图3所示,在步骤302处,本文所述系统中的一者或多者可识别在生产站点处提供有多个生产集群的多层应用程序。例如,在步骤302处,检测模块104可作为图2中集群2221的一部分识别在生产站点210处提供有集群2121N的多层应用程序214。0031如本文所用,术语“集群”通常是指被配置成协调以提供一种或多种服务和/或分担计算工作负荷的互连计算系统的任何组。如本文所用,术语“站点”可指地理位置、网络位置和/或一组计算设备。短语“生产站点”可指在迁移之前应用程序操作的站点。同样,短语“恢复站点”可指应用程序或应用程序的一部分可迁移至和/或在迁移后操作的站点。0032如本文所用。

26、,短语“多层应用程序”通常是指具有可独立执行、定位和/或配置的组件的任何应用程序,该应用程序,以组合的方式,可提供服务。在一些例子中,多层应用程序的每个组件均可包括独立应用程序。例如,多层应用程序可包括一个或多个数据库组件、一个或多个业务逻辑组件和/或一个或多个呈现组件。在该例子中,呈现组件可呈现用于多层应用程序的用户界面。呈现组件可与业务逻辑组件通信以处理服务请求,并且业务逻辑组件可与数据库组件通信以存储和/或检索数据。在一些例子中,可将多层应用程序管理和/或表示为虚拟业务服务。0033如将在下文更详细地描述,在一些例子中,多层应用程序可包括数据库层,该数据库层被配置成用于从生产站点处的所述。

27、多个生产集群内的数据库集群到灾难恢复站点处的所述多个恢复集群内的对应数据库集群的复制。如本文所用,术语“复制”可指用于在另一个位置处维持一个或多个数据对象的最新拷贝的任何方案。0034检测模块104可以多种方式中的任一种识别生产站点处的多层应用程序。例如,检测模块104可识别将生产站点指定为托管多层应用程序的配置。除此之外或作为另外一种选择,检测模块104可例如,作为在恢复站点处的恢复集群中的一者或多者上执行的代理的一部分接收来自生产站点的通信和/或识别来自生产站点的通信故障。在至少一个例子中,检测模块104可基于管理员输入识别生产站点处的多层应用程序。0035图4示出了用于多层应用程序的灾难。

28、恢复的示例性系统400。如图4所示,示例性系统400可包括具有若干集群例如,网页集群412、网页集群414、应用程序集群416和数据库集群418的生产站点410。在一个例子中,可一起操作生产站点410的集群以托管多说明书CN104364763A5/10页9层应用程序。示例性系统400还可包括灾难恢复站点420例如,被配置成为生产站点410提供灾难恢复服务。如图4所示,灾难恢复站点420可包括网页集群422例如,对应于网页集群412、网页集群424例如,对应于网页集群414、应用程序集群426例如,对应于应用程序集群416和数据库集群428例如,对应于数据库集群418。以图4为例,检测模块104。

29、可作为灾难恢复站点420处的集群中的一者或多者的一部分来识别生产站点410处的多层应用程序。0036在一些例子中,数据库集群418和数据库集群428可被配置成在层430上通信。例如,数据库集群418和/或一个或多个相关联的装置可被配置成具有复制432以将数据库集群418的数据库复制到数据库集群428的灾难恢复站点420。在一个例子中,检测模块104可通过识别层430和/或复制432来识别生产站点410处的多层应用程序。0037返回图3,在步骤304处,本文所述的系统中的一者或多者可识别包括多个恢复集群的灾难恢复站点。例如,在步骤304处,识别模块106可作为图2中的集群2221的一部分来识别包。

30、括集群2221N的灾难恢复站点220。0038如本文所用,短语“灾难恢复”可指将应用程序的至少一部分迁移至另选站点以提供服务连续性的任何过程。在一些实施例中,短语“灾难恢复”可指在偶然事件例如,诸如一个或多个计算设备的故障、在计算设施处的电力损耗等灾难后应用程序的恢复。除此之外或作为另外一种选择,短语“灾难恢复”可指管理员发起的事件。0039识别模块106可以任何合适的方式识别灾难恢复站点。例如,识别模块106可通过作为代理在灾难恢复站点处的恢复集群中的一者或多者上执行来识别灾难恢复站点。0040以图4为例,在步骤304处,识别模块106可作为网页集群422、网页集群424、应用程序集群426。

31、和/或数据库集群428的一部分来识别灾难恢复站点420。0041返回图3,在步骤306处,本文所述系统中的一者或多者可在灾难恢复站点处识别生产站点处的多层应用程序的故障。例如,在步骤306处,故障模块108可作为图2中的集群2221的一部分在灾难恢复站点220处识别生产站点210处的多层应用程序214的故障。0042故障模块108可以多种方式中的任一种来识别多层应用程序的故障。例如,如前所述,在一些例子中,多层应用程序可包括被配置成用于从生产站点到灾难恢复站点的复制的数据库层。在该例中,故障模块108可通过识别多层应用程序的数据库层的复制中的故障来识别故障。例如,故障模块108可确定在连接相应。

32、站点的数据库层的全局集群链路层上的周期性预期通信已出现故障。0043在一些例子中,故障模块108可识别来自在所述多个恢复集群内的集群内执行的代理的故障。例如,代理可被配置成监控和/或接收来自生产站点的关于多层应用程序的状态更新。0044在一个例子中,故障模块108可通过识别用户发起的多层应用程序的故障转移来识别故障。例如,故障模块108可识别管理员在灾难恢复站点处引出多层应用程序的尝试。在该例中,故障模块108可1识别生产站点处的多层应用程序的每个层的状态,2基于该状态识别多层应用程序内的在线的至少一个层,以及3使该层在生产站点处离线。例如,故障模块108可作为多层应用程序的每个层的每个恢复集。

33、群上的代理的一部分而操作并且与每个对应的生产集群通信以获得对应的状态。说明书CN104364763A6/10页100045在一些例子中,故障模块108可识别多层应用程序的所有层的总故障。除此之外或作为另外一种选择,故障模块108可识别多层应用程序的一个或多个层的单独故障。0046以图4为例,在步骤306处,故障模块108可作为灾难恢复站点420的集群中的一者或多者的一部分来识别生产站点410处的多层应用程序的故障。例如,故障模块108可作为数据库集群428的一部分来确定层430上的通信已出现故障。0047返回图3,在步骤308处,本文所述系统中的一者或多者可从灾难恢复站点发起多层应用程序从生产。

34、站点到灾难恢复站点的迁移。例如,在步骤308处,迁移模块110可作为图2中的集群2221的一部分从灾难恢复站点220发起多层应用程序214从生产站点210到灾难恢复站点220的迁移。0048该迁移可包括任何合适的步骤。例如,该迁移可包括识别多层应用程序的依赖关系图,以及当根据依赖关系图没有依赖层的另外的层仍要迁移时,迁移多层应用程序的每个层。例如,迁移模块110可作为灾难恢复站点处的恢复集群中的一者或多者的一部分来识别依赖关系图,并且当层的依赖性断开时迁移每个层。0049在一些例子中,迁移模块110可1识别生产站点处的多层应用程序的每个层的状态,以及2基于该状态识别多层应用程序的迁移期间的至少。

35、一个并发冲突。例如,当迁移模块110使多层应用程序的层在恢复站点处在线时,迁移模块110可确保层在生产站点处是离线的。0050在一些例子中,迁移模块110还可1识别在所述多个恢复集群中的至少一者上执行的辅助应用程序,2确定辅助应用程序具有低于多层应用程序的优先级,以及3在发起迁移之前响应于该优先级使辅助应用程序离线。例如,灾难恢复站点处的恢复集群中的一者或多者可被配置成当灾难恢复站点不需要用于灾难恢复时托管低优先级应用程序。因此,当灾难恢复站点需要替代生产站点而托管多层应用程序时,迁移模块110可立即使低优先级应用程序离线。0051在一些例子中,迁移模块110还可1识别生产站点处的多层应用程序。

36、的每个层的状态,以及2将多层应用程序的每个层的状态显示在界面中以发起多层应用程序的迁移。例如,迁移模块110可显示多层应用程序的每个局部层和/或多层应用程序的全局层的状态。在该例中,管理员可使用状态信息来确定灾难的范围以及确定执行迁移。0052如上所述,通过从灾难恢复站点处的目标集群中的一者或多者执行恢复管理操作,本文所述的系统和方法可促进多层应用程序从一个站点到另一个站点的灾难恢复,而不会形成新的单点故障例如,与这两个站点均无关的管理服务器。此外,在一些例子中,这些系统和方法可自动检测灾难以及至恢复站点的故障转移。0053图5为能够实施本文描述和/或示出的实施例中的一者或多者的示例性计算系统。

37、510的框图。例如,计算系统510的全部或一部分可执行和/或作为一种方式用于单独地或与其他元件结合来执行本文所述的识别、引起、发起、迁移、确定和显示步骤中的一者或多者。计算系统510的全部或一部分还可执行和/或作为一种方式来执行本文描述和/或示出的任何其他步骤、方法或过程。0054计算系统510在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统510的例子包括但不限于工作站、笔记本电脑、客户端方终端、服务器、分布式计算系统、手持式设备或任何其他计算系统或设备。在其最基本的配置说明书CN104364763A107/10页11中,计算系统510可以包括至少一个处理器。

38、514和系统内存516。0055处理器514通常表示能够处理数据或解译和执行指令的任何类型或形式的处理单元。在某些实施例中,处理器514可以接收来自软件应用程序或模块的指令。这些指令可使处理器514执行本文描述和/或示出的一个或多个示例性实施例的功能。0056系统内存516通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统内存516的例子包括但不限于随机存取存储器RAM、只读存储器ROM、闪存存储器或任何其他适用的内存设备。尽管不是必需的,但在某些实施例中,计算系统510可包括易失性存储器单元诸如,系统内存516和非易失性存储设备诸如,主要存储设。

39、备532,如下详述。在一个例子中,图1的模块102中的一者或多者可加载到系统内存516中。0057在某些实施例中,除处理器514和系统内存516之外,示例性计算系统510还可包括一个或多个组件或元件。例如,如图5所示,计算系统510可以包括内存控制器518、输入/输出I/O控制器520和通信接口522,它们中的每一者都可以通过通信基础结构512互连。通信基础结构512通常表示能够在计算设备的一个或多个组件之间促进通信的任何类型或形式的基础结构。通信基础结构512的例子包括但不限于通信总线诸如ISA、PCI、PCIE或类似总线和网络。0058内存控制器518通常表示能够处理内存或数据或控制计算系。

40、统510的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,内存控制器518可以通过通信基础结构512来控制处理器514、系统内存516和I/O控制器520之间的通信。0059I/O控制器520通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施例中,I/O控制器520可控制或促进计算系统510的一个或多个元件之间的数据传输,所述元件诸如处理器514、系统内存516、通信接口522、显示适配器526、输入接口530和存储接口534。0060通信接口522在广义上表示能够促进示例性计算系统510与一个或多个附加设备之间的通信的任何类型或形。

41、式的通信设备或适配器。例如,在某些实施例中,通信接口522可以促进计算系统510与包括附加计算系统的专用或公共网络之间的通信。通信接口522的例子包括但不限于有线网络接口诸如网络接口卡、无线网络接口诸如无线网络接口卡、调制解调器和任何其他合适的接口。在至少一个实施例中,通信接口522可以通过与网络诸如互联网的直接链接来提供与远程服务器的直接连接。通信接口522还可以通过例如局域网诸如以太网网络、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接提供此类连接。0061在某些实施例中,通信接口522还可以表示主机适配器,该主机适配器可被配置成通过外部总线或通信信道来促。

42、进计算系统510与一个或多个附加网络或存储设备之间的通信。主机适配器的例子包括但不限于SCSI主机适配器、USB主机适配器、IEEE1394主机适配器、SATA和ESATA主机适配器、ATA和PATA主机适配器、光纤信道接口适配器、以太网适配器等等。通信接口522还可以允许计算系统510参与分布式或远程计算。例如,通信接口522可以接收来自远程设备的指令或将指令发送到远程设备以供执行。0062如图5所示,计算系统510还可以包括至少一个显示设备524,该显示设备通过显示适配器526连接到通信基础结构512。显示设备524通常表示能够以可视方式显示显示说明书CN104364763A118/10页。

43、12适配器526转发的信息的任何类型或形式的设备。类似地,显示适配器526通常表示被配置成转发来自通信基础结构512或来自帧缓冲器,如本领域所已知的图形、文本和其他数据以在显示设备524上显示的任何类型或形式的设备。0063如图5所示,示例性计算系统510还可包括经由输入接口530连接到通信基础结构512的至少一个输入设备528。输入设备528通常表示能够向示例性计算系统510提供输入由计算机或人生成的任何类型或形式的输入设备。输入设备528的例子包括但不限于键盘、指针设备、语音识别设备或任何其他输入设备。0064如图5所示,示例性计算系统510还可包括主要存储设备532和经由存储接口534连。

44、接到通信基础结构512的备份存储设备533。存储设备532和533通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备532和533可为磁盘驱动器例如,所谓的硬盘驱动器、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等等。存储接口534通常表示用于在计算系统510的存储设备532和533与其他组件之间传输数据的任何类型或形式的接口或设备。0065在某些实施例中,存储设备532和533可被配置成对被配置成存储计算机软件、数据或其他计算机可读信息的可移除存储单元进行读取和/或写入。合适的可移除存储单元的例子包括但不限于软盘、磁带、光盘、闪存设备等。

45、。存储设备532和533还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算系统510中的其他类似结构或设备。例如,存储设备532和533可被配置成读取和写入软件、数据或其他计算机可读信息。存储设备532和533还可为计算系统510的一部分,或者可为通过其他接口系统进行访问的独立设备。0066可将多个其他设备或子系统连接到计算系统510。相反地,无需提供图5中示出的所有组件和设备,亦可操作本文描述和/或示出的实施例。上文提及的设备和子系统也可以通过不同于图5所示的方式互连。计算系统510还可以采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的一个或多个示例性实施例可被编码为计算。

46、机可读存储介质上的计算机程序也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑。短语“计算机可读存储介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读存储介质的例子包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质例如,硬盘驱动器和软盘、光存储介质例如,CD或DVDROM、电子存储介质例如,固态驱动器和闪存介质和其他分配系统。0067可将包含计算机程序的计算机可读存储介质加载到计算系统510中。然后可将计算机可读存储介质上存储的全部或一部分计算机程序存储在系统内存516中和/或存储设备532和533的各个部分中。当由处理器514执行时,加。

47、载到计算系统510中的计算机程序可使处理器514执行和/或作为一种方式来执行本文描述和/或示出的示例性实施例中的一者或多者的功能。除此之外或作为另外一种选择,可在固件和/或硬件中实施本文描述和/或示出的示例性实施例中的一者或多者。例如,计算系统510可被配置成用于实施本文所公开的示例性实施例中的一者或多者的专用集成电路ASIC。0068图6为示例性网络体系结构600的框图,其中客户端系统610、620和630以及服务器640和645可连接到网络650。如上面所详述,网络体系结构600的全部或一部分可执行和/或作为一种方式用于单独地或与其他元件结合来执行本文所述的识别、引起、发起、说明书CN10。

48、4364763A129/10页13迁移、确定和显示步骤中的一者或多者。网络体系结构600的全部或一部分还可用于执行和/或作为一种方式用于执行本发明中阐述的其他步骤和特征。0069客户端系统610、620和630通常表示任何类型或形式的计算设备或系统,诸如图5中的示例性计算系统510。类似地,服务器640和645通常表示被配置成提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络650通常表示任何电信或计算机网络,包括例如内联网、广域网WAN、局域网LAN、个人区域网PAN或互联网。在一个例子中,客户端系统610、620和/或630和/或服务器64。

49、0和/或645可包括图1的系统100的全部或一部分。0070如图6所示,一个或多个存储设备6601N可以直接连接到服务器640。类似地,一个或多个存储设备6701N可以直接连接到服务器645。存储设备6601N和存储设备6701N通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施例中,存储设备6601N和存储设备6701N可表示被配置成使用各种协议,诸如NFS、SMB或CIFS,与服务器640和645进行通信的网络连接存储NAS设备。0071服务器640和645还可以连接到存储区域网络SAN光纤网680。SAN光纤网680通常表示能够促进多个存储设备之间的。

50、通信的任何类型或形式的计算机网络或体系结构。SAN光纤网680可以促进服务器640和645与多个存储设备6901N和/或智能存储阵列695之间的通信。SAN光纤网680还可以通过网络650以及服务器640和645以这样的方式促进客户端系统610、620和630与存储设备6901N和/或智能存储阵列695之间的通信设备6901N和阵列695呈现为客户端系统610、620和630的本地连接设备。与存储设备6601N和存储设备6701N相同,存储设备6901N和智能存储阵列695通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。0072在某些实施例中,并参照图5的示例性计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1