CN101517569A - 改造数据的合成完整副本 - Google Patents
改造数据的合成完整副本 Download PDFInfo
- Publication number
- CN101517569A CN101517569A CN200680056019.1A CN200680056019A CN101517569A CN 101517569 A CN101517569 A CN 101517569A CN 200680056019 A CN200680056019 A CN 200680056019A CN 101517569 A CN101517569 A CN 101517569A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- copy
- journal file
- delta
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2041—Error 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 with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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 where the redundant components share persistent storage
Abstract
提供了多维替代系统及方法,所述系统及方法使用从至少一个数据源接收到的数据的信息及大量的数据改变来生成至少一个数据替代。这里所描述的实施例对生产服务器数据库进行镜像处理,包括通过对到不具备日志传送能力的企业数据库系统或其它系统的日志传送进行改造来创建合成完整副本。
Description
相关申请
本申请是于2006年8月7日提交的、美国专利申请第11/500,809号的部分继续申请,美国专利申请第11/500,809号是于2005年8月23日提交的、美国专利申请第11/211,056号的部分继续申请,美国专利申请第11/211,056号要求享有于2005年2月7日提交的美国专利申请第60/650,556号的优先权。
本申请与于2006年8月7日分别提交的下列美国专利申请相关:第11/500,864号,第11/500,805号,第11/500,806号,以及第11/500,821号。
技术领域
本公开内容总体上涉及数据保护、存档、数据管理及信息管理。
背景技术
数据服务器将关键生产数据存放在其存储系统中。通常要求存储系统提供一定等级的数据可用性及服务可用性。通常要求数据及服务对范围从介质故障到数据中心故障的多种故障有恢复能力。通常,利用可以包括对全部生产数据或部分生产数据的基于磁带的备份在内的一系列的数据保护方案来部分地满足该要求。
另外,其它服务器通常需要同时地访问同一关键生产数据。这些应用包括数据保护应用、站点复制应用、搜索应用、发现应用、分析应用以及监视及监督应用。已利用包括设立具有关键生产数据的副本的专用分析服务器在内的一系列的数据管理方案来满足这种需要。典型的数据保护及管理方案具有一些公知的局限性。例如,在某些情况下,对企业服务器的直接的访问会导致该企业服务器的不稳定及性能负荷。其它局限性与使得对备份数据的访问费时且低效的、传统的磁带存储的串行性及脱机性有关。
虽然理论上可以将生产系统上的全部源数据传送到管理系统,但这在实践中效率不高。作为替代的是,常规的系统及方法在管理系统上创建源数据的全部基线副本,后来在生产系统上发生对数据的定期的或连续的改变,常规的系统及方法将基线副本及所述改变传送到管理系统。然后,将这些改变应用于管理系统上的、数据的副本,由此使该副本成为最新的。尽管一些数据库管理系统提供称为“日志传送(log shipping)”的这些固有的能力,但是在诸如非关系数据库或者文件系统数据的数据库的其它数据库中,日志传送不可用。
通过引用将本说明书中所提及的各出版物及专利申请的全部内容合并于此,等同于特别地且单独地指明通过引用而合并各单独的出版物或专利申请。
附图说明
图1是根据实施例的数据替代(surrogation)系统的框图。
图2是根据实施例的包括具有多个生产服务器及相对应的数据库的生产系统的数据替代系统的框图。
图3是示出根据实施例的捕捉操作、应用操作及提取操作的框图。
图4是根据实施例的在进行镜像时使用的备份捕捉的框图。
图5是根据实施例的在进行镜像时使用的快照捕捉的框图。
图6是根据实施例的在进行镜像时使用的复制捕捉的框图。
图7是根据实施例的在进行镜像时使用的持续数据保护(CDP)捕捉的框图。
图8是示出根据实施例的生成来自生产系统的日志文件的增量更新或差量更新的框图。
图9是根据实施例的包括使用经改造(retro-fit)的日志传送来创建合成完整副本的镜像处理(shadowing)的系统的框图。
图10是根据实施例的获得并应用日志文件的处理的框图。
图11是例示包括根据实施例的应用日志文件的镜像处理的实施例的流程图。
图12是根据另一实施例的镜像处理的流程图。
图13是根据实施例的具有这里所描述的数据替代能力的实用系统框架的框图。
具体实施方式
这里描述了多维数据替代以及相对应的系统及方法。数据替代的实施例使得能够在将数据移动、延迟及后处理最少化的同时实现开端数据管理应用的主机。实施例在以易于对数据进行定位及访问的方式存储数据的同时对数据提供保护。描述了应用感知一次通过(one-pass)保护,包括:使用日志传送来创建数据库的合成完整副本(这里也称为“合成完整副本(synthetic fulls)”)的生产服务器数据库镜像处理;将复制数据从“大块(bulk)”形式转换成“砖块(brick)”形式;对数据进行分类;根据分类来将数据分层存储;以及对所存储的数据的生命周期管理。
与本身不包括日志传送的现有系统相比,这里所描述的实施例提供了许多优点。例如,当进行合成完整副本时,任何恶化均立刻得到催生(catalyze)。这与具有基于磁盘的备份或基于磁带的备份的典型系统形成对比。在典型的系统中,保存数据库的完整副本以及对数据库的增量更新(以日志文件的形式)。在生产服务器出故障的情况下,通常必须立刻应用所有的日志文件。如果遇到被破坏的文件,或者任何原因导致处理失败,则既不能访问“主”生产服务器也不能访问备份数据。
这里所描述的实施例所提供的另一优点是使用较少的存储空间。由于与仅对日志文件进行存储的现有系统相比,随着根据各种间隔、计划、事件等生成日志文件而将日志文件耗用掉,所以用于存储日志文件的存储空间显著地减少。
这里所描述的实施例对生产服务器数据库进行镜像处理,包括通过改造针对数据库系统(包括不具备日志传送能力的企业数据库系统或其它系统)的日志传送来创建合成完整副本。例如,这里所描述的镜像处理可以用于将日志传送能力与非关系数据库或文件系统数据的数据库相集成。
出于包括保护、存档及分析中的一个或更多个的目的,镜像处理维护最新的企业生产数据的主机外(off-host)副本。镜像处理可选地利用(leverage)诸如备份、复制、快照或持续数据保护(CDP)的较低级的机制,来构造聚集系统和方法,这种聚集系统和方法用于在准实时生产数据可信、可伸缩且可扩展的同时,以不破坏生产主机的方式使准实时生产数据对应用可用。
在实施例中,镜像处理包括从生产系统接收原始数据的副本(包括生产数据库的初始副本)。在多个实例中,从生产系统接收变化数据。变化数据包含对原始数据的改变的信息。通过在接收到变化数据时应用该变化数据,生成并维护副本的更新版本。在实施例中,变化数据包括日志文件,但实施例并不限于此。变化数据包括不同实例的原始数据之间的增量差异的数据,或者不同实例的原始数据之间的差量差异的数据。
图1是根据实施例的数据替代系统100的框图。这里参照不同的实施例而描述的数据替代包括使得生产服务器能够执行一系列的数据管理解决方案可行并且使得生产服务器客户端具有增强能力的系统及方法。生产服务器的示例是通常称为企业服务器的任何服务器,但是实施例并不限于此。例如,Microsoft ExchangeTM服务器用作生产服务器的一个示例。
客户端包括向终端用户提供对生产服务器或企业服务器的访问的任何客户端设备或应用。客户端的示例是Microsoft OutlookTM,但这里所描述的实施例并不限于此。
系统100包括生产系统及实用系统。在实施例中,生产系统包括生产数据及生产数据库。生产系统的实施例包括可以是本地的或者分布于企业中的、要么是单个计算机要么是集群式和复制式的一个或更多个消息和协作服务器(例如,电子邮件(email)服务器)。电子邮件服务器的示例是Microsoft ExchangeTM服务器,但实施例并不限于此。常规的访问描述了生产客户端与生产服务器之间的正常交互。例如,在MicrosoftExchangeTM及Microsoft OutlookTM的情况下,常规的访问可以包括MAPI协议,但是也可应用诸如IMAP4及POP3的其它协议。
系统100还包括实用系统。实用系统在生产数据生成之后对生产数据进行处理。实施例的实用系统包括各种数据管理应用可用的一个或更多个数据管理功能,所述各种数据管理应用从对被镜像并经实用系统进一步处理的数据的访问中受益。数据管理应用包括备份应用、监视应用、柔顺(compliance)应用、审计应用等。所指的实用系统旨在涵盖所公开的数据替代、包含或镜像方法及设备的实施例。
在示出或描述数据库的整个公开内容中,即使未示出或描述,仍暗示了一个或更多个相对应的服务器。例如,生产数据库暗示了生产服务器,实用数据库暗示了实用服务器。在这里所描述的各个实施例中,实用服务器是包括这里所描述的并要求保护的数据替代或镜像方法及设备的近线服务器。所描述的数据替代或镜像方法及设备的实施例包括可从加利福尼亚州Santa Clara的Mimosa System公司得到的产品,包括用于Exchange Server Disaster Recovery Option的NearPointTM。数据替代或镜像方法及设备的实施例包括与近线服务器相集成的附加模块。在一个实施例中,近线服务器是可从Mimosa System得到的NearPointTM服务器。
镜像处理生成提供企业生产系统上的生产数据与实用系统上的数据之间的关系的镜像数据。实用系统将镜像数据存储在镜像数据库(也称为镜像库)中。实用系统可以可选地利用近线存储来降低成本。
在一个实施例中,镜像处理是在数据替代中维护生产企业数据的相对最新的副本的方法,数据替代在这种情况下包括镜像数据库。可以将该数据可选地转变成多种可选的格式并增加元数据。
生产系统和/或实用系统可以是单个计算机,或者它们可以是集群式系统、复制式系统和/或分布式系统。生产系统和/或实用系统可以在同一数据中心中,或者它们可以是远离的。在一个实施例中,生产系统与实用系统之间的主要连接是通过局域网(LAN)、城域网(MAN)或广域网(WAN)。可以可选地使用存储区域网(SAN)来进行数据访问及数据移动。
这里所指的客户端及服务器可以是任何类型的基于处理器的装置和/或基于处理器的装置的组合。对系统和/或服务器的单数形式的引用可以包括该系统或服务器的多个实例。这里所描述的系统实施例的各个组成部分之间的连接可以包括适合于主机系统配置的无线连接、有线连接、有线/无线混合连接及其它网络连接类型。网络组成部分和/或系统组成部分之间的连接可以包括一种类型的网络、多个网络和/或网络的组合中的任一种以及相对应的网络组成部分,所述相对应的网络组成部分包括但不限于(此处仅举几例)广域网(WAN)、局域网(LAN)、城域网(MAN)、专用网络、后端网及因特网。这里所使用的诸如传输、互联或网络之类的术语涵盖常规的以太网、存储区域网(SAN)和/或其它类型的网络。协议可以涵盖传输控制协议(TCP)/网际协议(IP)(TCP/IP)及分层协议、互联网小型计算机系统接口(SCSI)(iSCSI)、光纤信道、InfiniBand、超传输(HT)、虚拟接口(VI)、远程直接内存访问(RDMA)及一系列的其它协议。
图2是包括具有多个生产服务器及相对应的数据库的生产系统的系统200的框图。在一个实施例中,生产服务器是消息服务器,数据库是消息数据库,但实施例并不限于此。生产服务器可以包括消息服务器、协作服务器、门户或数据库服务器。生产服务器存放各种结构化数据、半结构化数据及非结构化数据。这些服务器可以是独立的、集群的、复制的、网格(grid)的组元、虚拟化的或者任何组合或变型。出于例示的目的而使用的示例是Microsoft ExchangeTM服务器,但是这里所描述的实施例并不限于此。
如前所述,实用系统包括镜像库。镜像库包含从消息数据库中的一个或更多个消息数据库接收到的镜像数据。捕捉组件获得生产数据的副本,应用(或“应用(apply)”)组件按下文所进一步描述的方式将镜像数据保持为最新的。
捕捉组件被构造为减少对生产系统操作的中断。捕捉组件能够以可伸缩且高性能的方式安全且可靠地捕捉生产数据。所捕捉到的数据在此可以不同地称为数据、生产数据、生产数据库等。通常,所捕捉到的数据是包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个的生产数据库文件。
捕捉组件将数据提供给镜像库,以高效且低成本地将镜像副本尽可能地保持为最新的。捕捉组件可以包括备份方法、快照方法、复制方法及持续数据保护(CDP)方法,但并不限于此。下面将详细地描述被构造成在实施例中使用的各种捕捉组件。
在一个实施例中,应用组件是数据类型所固有的。在一个可选实施例中,对应用组件进行改造以用于特定的数据类型。通常,企业应用存在于关系数据库上。诸如OracleTM、DB2TM及Microsoft SQLTM服务器的能力相对较强的数据库提供便于应用的直接重用的日志传送机制。然而,能力相对较弱的数据库和/或其它半结构化数据或非结构化数据不包括日志传送能力。Microsoft ExchangeTM服务器是存在于不支持日志传送的数据库上的企业服务器的示例。这里所描述的镜像处理提供支持对数据库和/或其它半结构化数据或非结构化数据的镜像处理的日志传送能力。
实施例的提取(或“提取(extract)”)组件可选地将数据格式从相对复杂的应用格式转换成数据管理应用可直接地使用的格式。提取组件提供高性能的、可伸缩的、无损的、灵活的且可扩展的数据变换能力。这里所描述的提取能力是诸如Microsoft ExchangeTM服务器的系统中不存在的能力。例如,Microsoft ExchangeTM服务器提供了消息应用编程接口(MAPI)及协议,这种接口和协议相对地难以在远程实用服务器或管理服务器上部署,而且通常不满足管理应用的性能及可伸缩性要求。
索引对象库(IOR)包括对象数据库中的所提取的(或经变换的)数据对象以及元数据数据库(或“元数据库(metabase)”)中的与所述对象有关的元数据。这里所使用的对象表示应用感知格式的数据项。存储在对象数据库中的对象的示例是电子邮件消息体,但还有很多其它示例。
可选的过滤器向数据管理应用提供用于对提取过程进行调整或参数设置的API或Web服务能力。
可选的索引机制对索引对象库中的数据及元数据进行操作以寻找模式及关系。当索引机制找到有关的信息时,利用该新信息来对元数据进行增强。可选的是,可以由数据管理应用通过过滤器来引导索引机制。
在一个实施例中,数据管理应用使API或Web服务在聚集数据正在被语义索引时访问该聚集数据。例如,数据管理应用可以在有关的附加数据或元数据已被添加到索引对象库中时得到主动通知或回调。在一个实施例中,实用系统主动地参与对生产服务器的功能的影响、引导、加入或扩充。作为实用系统的一部分的应用可以通过正反馈环或负反馈环以及生产服务器功能的增加而成为生产服务器工作流中的主动参与者或被动参与者,以解决现有的痛点或通过增值来增加产出率。
图2的实施例包括具有三个消息服务器及一个近线服务器的结构。可以有其它部署变型,包括不同数量的同构生产服务器或异构生产服务器、以及可以是集群的、分布式的、网格的一部分或虚拟化的复杂的近线服务器。尽管图2示出了三个消息服务器,但是可以向多个任意的同构服务器/异构服务器提供等同的服务。尽管图2示出了单个近线服务器,但是实际上它可以是集群的、分布式的、复制的或虚拟化的,并且可以分跨多个机器或多个站点。
这里参照示例主机系统来描述镜像方法的实施例。作为示例,在提供Microsoft ExchangeTM服务器的应用组件的日志传送的背景下描述镜像处理,但是这里所描述的镜像处理并不限于Microsoft ExchangeTM服务器。
图3是示出根据实施例的捕捉组件、应用组件及提取组件的框图。捕捉生成或提供生产数据的基线完整副本。可以将该完整副本数据直接地传送给用于将密集应用格式转换成后处理实体所期望的另一格式的提取组件。在捕捉组件不提供应用一致的数据时,实施例可以可选地包括在提取之前对完整副本数据进行清洁和/或修复。在下面将要进一步描述的实施例中,在日志文件(作为示例,示出了“日志文件”1及“日志文件”2)生成时将它们从生产系统传出,并且将它们应用于完整副本,以将完整副本保持为最新的,作为生产数据库的镜像副本。
将镜像处理的捕捉组件构造成使用可以包括备份、快照、复制和/或持续数据保护的一个或更多个数据捕捉能力。图4是根据实施例的在进行镜像时使用的备份捕捉的框图。备份捕捉使用由在生产系统上所运行的应用所提供的备份API。在这个示例中,生产系统为Microsoft ExchangeTM服务器,但是并不限于此。将实用系统构造成偶尔地获得完整备份并频繁地获得增量备份或差量备份。通常按照默认的计划或者管理员设置的计划来运行这两个机制。其它增强或变型包括用于检测到生产系统上已生成新的日志文件并拉过来副本(“动态日志传送”)的能力、或者用于当正在生产系统上写入日志文件时“跟踪(tailing)”日志文件的机制。
图5是根据实施例的在进行镜像时使用的快照捕捉的框图。快照捕捉的快照是崩溃一致的或应用一致的。通常,通过在无应用参与的情况下打破镜像而获得的“热分离”快照往往是崩溃一致的。应用一致的快照机制的示例是Microsoft Data Protection ManagerTM。快照可以是本地的,这要求管理服务器共同位于同一数据中心中,或者可以是远程的。生产系统及实用系统可以是单个计算机,或是它们可以是集群的、复制的和/或分布式的。用于控制及通信的传输通常为LAN、MAN或WAN。可选的SAN可以使数据移动更有效。
对于崩溃一致的快照,可以使用附加的机制来验证快照的一致性(并且可能重复该处理,直到可获得相当一致的副本为止)。所述附加的机制可以清洁和/或修复数据,以使其为应用做好准备。
图6是根据实施例的在进行镜像时使用的复制捕捉的框图。复制可以是数据中心内本地进行的,或者其可以是通过MAN、WAN或SAN远程进行的。复制在可以用于捕捉的实用系统上维护副本。常规的复制共享崩溃一致的镜像的特性,并且可以利用捕捉到可能为应用一致的时间点的“事件流”来对复制进行注释。生产系统及实用系统可以是单个计算机,或者它们可以是集群的、复制的和/或分布式的。用于控制及通信的传输包括LAN、MAN和/或WAN。可选的SAN可以使数据移动更有效。
使用复制来捕捉生产数据包括使用这样的复制技术:捕捉源(例如,生产系统)处的每一个相关写入,并将所捕捉到的写入传播到目标(例如,实用系统)以应用于数据的副本,从而使该副本最新。该复制可以是同步式的、异步式的或准同步混合式的。生产系统及实用系统可以是单个计算机,或者它们可以是集群的、复制的或分布式的。如同快照捕捉的情况,可以使用附加的机制来验证快照的一致性,并且清洁和/或修复数据,以使其为应用做好准备。
图7是根据实施例的在进行镜像时使用的CDP捕捉的框图。捕捉组件提供在生产系统上已发生的改变流,并提供移动到“任何时间点”(APIT)的能力。利用与生产系统上的事件同步的事件流来注释实施例的改变(APIT)流。可以将定位器模块构造成选择对于应用的使用言最适当的时间点。生产系统及实用系统可以是单个计算机,或者它们可以是集群式系统、复制式系统和/或分布式系统。用于控制及通信的传输包括LAN、MAN或WAN。可选的SAN使数据移动更有效。
图8是示出根据实施例的生成来自生产系统的日志文件的增量更新或差量更新的框图。对日志文件(这里也称为日志(log)或事务日志)的更新包括将来自捕捉操作的数据加到具有先前的数据库及日志的镜像库中。对日志的更新包括将日志应用于数据库以使该数据库成为最新的应用操作或日志应用操作(也称为日志传送)。
对日志的更新可以可选地包括提取操作。对得自日志应用操作的数据进行提取操作,以将所得到的数据从密集应用格式转换成供各种数据管理应用后续使用的一个或更多个目标格式。
图9是根据实施例的包括使用经改造的日志传送来创建合成完整副本的镜像处理的系统900的框图。系统900包括进行预写式日志处理的生产系统。出于例示的目的,将参照作为生产系统的组件的MicrosoftExchangeTM来描述图9,但实施例并不限于此。在一个实施例中,生产系统包括Microsoft ExchangeTM服务器及Microsoft ExchangeTM数据库。尽管仅示出了一个数据库,但是生产系统包括一个或更多个数据库。
应用与生产数据库(其在Microsoft ExchangeTM的情况下称为Exchange数据库或EDB)进行通信。当应用检测到对数据库的改变时,它对日志文件进行预写式日志处理。这包括对日志文件追加信息,这比每次发生改变时遍历数据库结构并更新数据库要快得多。追加到日志文件中的信息反映了对数据库中的数据做出的具体改变。
惰性写入装置取得针对数据库的所有已记录但未提交的改变,并将它们写入到磁盘。使用这些日志文件的一个原因是,如果系统突然崩溃,则当系统恢复时,系统可以重放日志文件,从而恢复所有丢失的数据。预写式日志处理通常用于数据库系统,但是其它系统可以具有处理对数据的改变的不同方式。
在数据库系统中使用日志文件的另一方式是创建镜像数据库以在服务器损失或站点损失时提供备份。这被不同地称为日志传送、日志应用或合成完整副本。这些术语中的任何术语均暗示取得对生产服务器的增量改变并将它们应用于实用服务器上的数据库副本以使该副本成为最新的各种方法。一些系统(包括Microsoft ExchangeTM)不支持日志传送。无法支持日志传送则对数据备份操作、数据存档操作及数据发现操作引入很大的限制。例如,常规上,被设计成向Microsoft ExchangeTM(或不具备日志传送能力的其它系统)提供数据备份操作、数据存档操作及数据发现操作的第三方应用进入EDB并获得数据库的批量版本。如果这个应用重复地获得批量数据库而不应用日志文件,则许多数据库及许多日志文件会积聚起来,从而成为麻烦。因而,为了将数据复原回到ExchangeTM,必须在复原时将所有积聚的日志文件应用于EDB。这使得常规的第三方应用的恢复时间目标(RTO)很长。
如这里所描述地利用合成完整副本来进行镜像处理,允许随着产生日志文件而耗用掉它们,从而改善RTO。另外,根据将要描述的实施例,因为可以得到当前的EDB(包括所应用的日志文件)的副本,所以提取并转换到砖块形式变得可行。
根据一个实施例,系统900还包括具有镜像库及IOR的实用系统。一开始,将生产数据库从生产系统复制到实用系统上的镜像数据库中。另外,在日志文件生成时将它们从生产系统传送到镜像库。实施例中的镜像库也存储STM文件。STM文件是公知格式的用于多媒体的文件,典型地为电子邮件。
在一个实施例中,根据经改造的日志传送操作,每次生成日志文件时,实用系统接收到该日志文件,并将其应用于镜像数据库。作为另一种选择,可以在应用之前对日志文件进行批处理。以应用感知方式将镜像数据库中的数据提取到索引对象库中,并按照使得即使是实用系统外部的数据管理应用也能容易地定位并访问该数据的方式将其存储起来。
图10是根据一个实施例的获得并应用日志文件的过程的框图。由Microsoft ExchangeTM所使用的可扩展存储引擎(ESE)或“引擎”(这里也称为恢复引擎)也称为JET Blue,是来自Microsoft的索引顺序访问方法(ISAM)数据存储技术。引擎允许客户端应用经由索引访问和顺序访问来对数据进行存储和检索。在用于对生产数据库进行镜像的实施例中,实用系统调用引擎,将引擎引向数据库(在这种情况下为EDB)并用来便于镜像处理(包括日志传送及日志应用)。
在一个实施例中,使EDB头指向作为起始日志文件号的特定日志文件号,然后引擎运行。引擎遍历每个日志文件,并例如通过检查校验和来检查完整性。引擎开始将来自日志文件的事务应用到镜像数据库中。引擎顺序地遍历日志文件,应用每个日志文件。例如,图10中示出了日志文件1至日志文件4。当引擎结束应用最后一个日志文件(日志文件4)时,数据库进入指示数据准备好被复原到生产数据库的“已恢复”状态。在已恢复状态中,再无日志文件可被应用于数据库。在Microsoft ExchangeTM中,这种状态称为“干净关闭(clean shutdown)”状态。这种行为是从磁带成为主要备份存储介质时起就有的产物。例如,如果将备份存储到磁带上并从磁带中检索备份,则从不需要应用日志文件多于一次。因而,在一次应用日志文件之后,EDB自动地进入再无日志文件可被应用的状态。常规上,当生产数据库已被备份时,它被转入可以应用日志文件的“已备份”状态。在Microsoft ExchangeTM中,这种状态称为“脏关闭(dirtyshutdown)”状态。
根据一个实施例,为了在任意时间应用日志文件,允许EDB在最后一个日志文件(例如,日志文件4)之后进入干净关闭状态。然后,将EDB头修改成指示其处于脏关闭状态。当实用系统准备好应用新的一组日志文件时,EDB将处于脏关闭状态,并且引擎将能够应用日志文件。这称为将脏比特接在EDB的适当头字段中。EDB及EDB头对某些实施例是特定的,但并不限于此。在不同的实施例中,其它系统可以使用如下不同的数据库:在这些数据库中,存在头或其它结构性元数据,可以对所述头或其它结构性元数据进行操作,以实现允许使用数据库引擎来应用日志文件(如所描述的)的结果。引擎可以是用于恢复数据库(包括应用已对数据库做出但还未应用于数据库的改变)的任何恢复引擎。
图11是例示包括根据实施例的应用日志文件的镜像过程的实施例的流程图。处理开始,并且确定是否第一次运行镜像过程。该过程的第一次运行可发生在镜像库为空时、或者刚安装好实用系统和/或镜像组件时、或者创建了新的库时。如果是第一次运行该过程,则获取生产数据库的完整副本。这包括将生产数据库完整地复制到镜像数据库中。
如果不是第一次运行该过程,则获取增量副本。为了获得增量副本,确定是否存在足够的未应用的日志。如果不存在足够的未应用的日志,则该过程等待足够的日志。在一个实施例中,这包括返回到最初的起始点。如果存在足够的未应用的日志,则确定这些日志是否是顺序的。如果日志不是顺序的,则不能应用它们,并获得数据库的完整副本。作为另一种选择,专门地访问生产系统以获取“缺失的”日志文件。因为日志文件的本质是可能具有相互依赖性的多个事务,所以日志文件必须是顺序的。例如,按与微处理器指令的领域相似的方式,数据库事务可以被提交或取消提交。
如果存在足够的日志文件,则对合适的EDB头进行更新。在实践中,存在多个EDB,所以存在多个EDB头。将头更新成参照未被应用的第一个日志文件。调用数据库恢复引擎(在这种情况下为ESE)。引擎用于通过应用日志文件来复制EDB。根据稍后将要描述的实施例,复制的EDB用于后来的从大块到砖块的转换。
将EDB头更新成指示脏关闭状态,过程返回到起始点。
图11例示了不支持日志传送的生产数据库系统的实施例。各实施例也适用于其它系统,例如,文件系统。为了维护一组文件的更新副本,过程从获取一整组文件开始。后来,获得文件系统中的所有已改变的文件,并且前一副本被覆写。作为另一种选择,可以仅获得差异并将其应用于前一副本。这是合成完整副本的另一示例。经改造的日志传送的实施例适用于任何应用数据或非结构化数据。
镜像过程是否保留日志文件以及将日志文件保留多久取决于日志文件是否包括任何未提交的事务。如前所述,每个日志文件可以包括若干事务,并且这些事务中的几个事务可能是未完成的。在某个点存在一个“开始”事务,在另一点存在一个相对应的“结束”事务。当镜像过程遇到“开始”事务时,将其用开括号括起来。当遇到相对应的“结束”事务时,关闭括号。在确认被括号括起来的链中的每个事务都成功地完成之前,将“开始”事务与后来的“结束”事务之间的所有的事务保存起来。如果并非每个事务都成功地完成,则将所述链中的所有的事务回退(roll back)。保留适当的日志文件以便于回退。因此,日志文件会积聚起来,并且当应用它们时,检查未完成的事务。如果不存在与日志文件相关联的未完成的事务,则将该日志文件删除。如果存在与日志文件相关联的未完成的事务,则保存该日志文件。
图12是根据另一实施例的镜像过程的流程图,在该实施例中,作为生产系统的一部分的数据库恢复引擎被引向生产数据的副本(在这个示例中为“Jet Blue”ExchangeTM数据库引擎(可扩展存储引擎(ESE))的一部分被引向EDB并用于便于镜像及日志传送)。在示例中,数据库恢复引擎是Jet Blue ExchangeTM数据库引擎的一部分,但实施例并不限于此。图12例示了参照图11而描述的用于防止EDB进入已恢复状态的方法的另选方法。图12例示了连续日志应用过程,根据该过程,为了使恢复引擎可以多次应用日志文件而使该引擎停止。
生产系统包括生产数据库(例如,EDB)、生产数据库应用(例如,ExchangeTM)及日志文件(或“日志(logs)”)。实用系统包括镜像数据库及从生产系统传送来的多个日志文件。实用系统的实施例接收到生产数据的副本。最初,接收到整个生产数据库文件的基线副本并将其存储在镜像库中。当生产系统生成变化数据时,实用系统接收到该变化数据。变化数据是记录有对数据库文件做出的改变的任意数据。在一个实施例中,变化数据是一个或更多个日志文件。在一个实施例中,将日志文件从远程的ExchangeTM服务器传送到实用系统的近线服务器。在一个实施例中,日志传送的频率是由计划预先确定的,但是可以按其它方式(例如,管理员通过数据管理应用)确定该频率,或者日志传送可以是事件驱动的。
使用恢复引擎来将变化数据应用于副本。在不具备日志传送能力的系统(例如,ExchangeTM)中,在应用日志文件之后,将正被操作的数据库的状态改变成不允许进一步应用日志文件。在一个实施例中,通过使恢复引擎停止来防止副本进入该状态。当有另外的日志文件准备好被应用时,使恢复引擎启动,从而应用所述另外的日志文件。
新的一组日志文件被引入到镜像过程中。对该组日志文件中的一个日志文件进行复制并将其存储起来。然后,按照使恢复引擎停止的方式来对复制的日志文件的原始副本进行修改。有几种可能的机制来使恢复引擎停止。一个示例引入异常,该异常在访问经修改的日志文件的过程中发生,恢复引擎应用过程捕捉到该经修改的日志文件并对其进行后处理。
恢复引擎被指引以从最近的日志应用周期起重新开始应用日志文件。Jet Blue引擎可以作为更大的聚集系统的一部分而运行,可以独立地运行,或者可以仅将基本的组件重构以实现Jet Blue引擎日志应用的效果(例如,恢复)。另外,可以使用可以复制Jet Blue引擎的必要能力的替代系统来完成日志应用处理。
在恢复引擎遇到使Jet Blue引擎停止的经修改的日志文件之前,恢复引擎将日志文件应用于数据库。这防止数据库进入无法应用其它日志文件的状态。
然后,复制的日志文件替代经修改的日志文件。在该点上,镜像过程为下一组日志文件及随之而来的日志应用周期做好准备。每次从生产系统接收到新的一组日志文件时,可以重新开始并再次执行上述处理。
图12中所例示的过程是与Microsoft ExchangeTM相关联地进行描述的。然而,该过程适用于其它消息和协作服务器。该过程还可扩展到使用结构化数据、半结构化数据或非结构化数据的一般应用。尽管本示例示出了生产数据库或生产服务器,但是可以向多个同构或异构的数据库或服务器提供等同的服务。相似的是,尽管本示例描述了在一个实施例中包括近线服务器的单个镜像数据库,但是在不同的实施例中,镜像数据库可以是集群的、分布式的、复制的、虚拟化的,并且可以分跨多个机器或多个站点。
图13是根据实施例的具有这里所描述的数据替代能力的实用系统体系结构的框图。实用系统包括与镜像数据库、差异数据库及索引对象库(IOR)数据库相通信的一个或更多个近线服务器(为方便起见仅示出了一个近线服务器)。实用系统还包括一个或更多个结构化查询语言(SQL)服务器。SQL服务器是由Microsoft所出品的关系数据库管理系统(RDBMS)。它的主要查询语言是Transact-SQL,是ANSI/ISO标准SQL的一种实现。也可以使用其它RDBMS。而且,可以使用多于一个SQL服务器。SQL服务器与SQL数据库及存储日志文件的日志数据库相通信。
实用系统还包括框架(framework)、多个处理程序(handler)及队列(例如,示出了通知队列及任务队列)。实用系统还包括工作流。在一个实施例中,实用系统接收到请求。请求的示例包括计时器被激活、或者用户或管理员做出请求。请求将其自身表现为被置于通知队列中的通知。框架从通知队列中抓取通知,并在工作流中查询它,以确定如何处理这个特定的通知。框架查询工作流,然后取决于它从工作流中所获悉的而调用适当的处理程序。框架将通知置于任务队列中。处理程序从任务队列中取得通知并接着按适当的方式处理该通知。
框架确定是否成功地处理了请求,并确定接下来要做什么。框架查看工作流以得到下一通知并调用下一处理程序,过程继续。该体系结构允许“热代码加载”。例如,在一个实施例中,将包括与这里所描述的数据替代能力有关的代码在内的实用系统软件代码以处理程序的形式编写。这是有利的,特别是在现场的系统的情况下,这是因为可以通过简单地安装一个或更多个新的处理程序来容易地更新系统。如果新的处理程序有任何问题,则可以废弃该新的处理程序而使用其本来要替代的处理程序。
预期对合成完整副本进行改造的许多变型例在所要求保护的本发明的范围内。在不同的实施例中,日志传送是动态的,这是指在日志文件生成时将它们传送到实用系统,并且在它们生成时应用它们。这与其中日志文件积聚起来而且仅在例如生产服务器发生故障的情况下才被应用的现有系统形成对比。不同的实施例中的动态日志传送及应用是事件驱动的,或者根据预先确定的计划而发生。动态日志传送提供了恢复点目标(RPO)的进一步的改进。在动态日志传送的一个实施例中,每当在生产服务器中写满新的日志文件时,数据替代或镜像过程就接收到通知。然后,将新的日志文件传送到实用系统以用于后续的应用。RPO是最优化的,这是因为在Exchange中的导致生产服务器上的所有日志文件丢失的灾难性故障的情况下,单个日志文件或部分日志文件的内容将数据丢失的窗口用括号括起来。
在一个实施例中,镜像过程包括监视。例如,检测到生产数据的改变并发出通知,使通知得到处理。这可以通过用户介入按照手动方式来实现,或者作为另一种选择,通过自动通知来实现。自动通知可以是事件驱动的,或者可以按某种方式对自动通知进行调度及批处理。
在镜像处理机制或数据替代机制共同存在于生产系统或生产服务器上,因此使得可以直接地访问生产数据库及日志文件的情况下,日志传送过程是可选的。这个可选的传送可以通过某种形式的网络或等同的机制来进行。这个可选的过程可以惰性地发生、急切性地发生、或者按某种成批的组合的方式而发生。
在不同的实施例中,镜像数据库对于数据管理应用的可用性可以是针对正被过程修改的实际数据,或者可以是针对该数据的副本,或者可以是它们的某种组合。这可以以API或网络服务的形式或者等同的形式得到。
在不同的实施例中,日志文件一被传输到数据替代机制或者一使该日志文件对数据替代机制可用,就立即将该日志文件应用于镜像数据库,以使镜像数据库成为最新的。由于发生在消息服务器上的改变在近线服务器上的显现变得更及时,因此这缩小了实用窗口或近线窗口。存在其它另选例,这些另选例可以包括对日志文件进行批处理,然后可能为实用服务器或近线服务器的性能优化的目的,关于批处理及惰性应用而做决定。在其它实施例中,在应用日志文件之前对它们进行后处理,例如,过滤出有关的内容,或过滤掉不期望的内容。
在另外的实施例中,将日志跟踪合并到数据替代或镜像过程中。动态日志传送将RPO缩减到单个日志文件的内容或更少。日志跟踪还可以用于进一步缩减RPO,这是因为当在生产消息服务器上写入日志文件时连续地捕捉它们,然后将它们传送到实用服务器或近线服务器,并在实用服务器或近线服务器上应用它们。根据这些实施例,对当前的事务日志发生的修改立刻被捕捉到并被传送到实用服务器以供应用。这可以将数据替代的维护从准实时改进成实时。在一个示例中,异步地传播并应用日志文件。其它另选例是可行的,例如,同步应用。另外,可以对改变进行批处理并惰性地应用它们,而不是在实用服务器上立即地应用改变。
在一个实施例中,在正将各个事务写入到生产服务器中的预写式日志文件中时,可以捕捉到它们并将它们传送到右侧的近线服务器,并可选地对它们进行重构。这里所描述的应用处理可以按照计划来运行,可以是事件驱动的,或者可以连续地运行。应用处理可以可选地将事务或重构后的日志文件应用于镜像数据库,以使镜像数据库成为最新的。在不同的实施例中,数据管理应用能够同时地访问镜像数据的新近的副本。
上述多维替代的组件可以包括一起操作的计算组件及设备的任何集合。多维替代的组件还可以是更大的计算机系统或网络内的组件或子系统。多维替代的组件还可以按任意数量的组合连接在任意数量的组件(未示出)(例如,其它总线、控制器、存储设备及数据输入/输出(I/O)设备)之中。此外,可以将多维替代的功能分布于任意数量的其它基于处理器的组件之中或其它基于处理器的组件的任一组合之中。
实施例的信息管理包括以下方法:该方法包括在第一服务器处接收原始数据的副本的步骤。实施例的原始数据存储在第二服务器处。在多个实例中,实施例的方法包括在第一服务器处接收变化数据的步骤。实施例的变化数据包含对原始数据的改变的信息。实施例的方法包括以下步骤:通过在接收到变化数据时将该变化数据应用于副本,在第一服务器处动态地生成并维护副本的更新版本。
实施例的生成并维护是与接收异步的。
实施例的应用是根据间隔的。实施例的间隔是基于第二服务器处的时间及事件中的一个或更多个的。
实施例的变化数据包括多个实例的原始数据之间的增量差异的数据。
实施例的变化数据包括多个实例的原始数据之间的差量差异的数据。
实施例的方法包括使用第一服务器的组件的经修改的信息来控制应用的步骤。
实施例的组件包括副本的结构性元数据及变化数据的日志文件中的一个或更多个。
实施例的方法包括修改组件。
实施例的组件是副本的结构性元数据。实施例的修改包括检测副本的第一状态,其中,第一状态指示已将变化数据应用于副本。实施例的修改包括将第一状态改变成第二状态。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据而生成另一更新版本。实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的组件是多个日志文件中的日志文件。变化数据多个日志文件中的日志文件是多个日志文件。实施例的应用包括调用第二服务器的引擎,终止包括使该引擎停止。
实施例的第一服务器包括近线服务器,第二服务器包括消息和协作服务器。
实施例的信息管理包括以下方法:该方法包括在第一服务器处接收多个变化数据的步骤。实施例的变化数据包含对第二服务器的原始数据的改变的信息。实施例的方法包括以下步骤:通过将多个变化数据中的至少一个变化数据应用于原始数据的副本,在第一服务器处动态地生成并维护该副本的更新版本。实施例的方法包括使用第一服务器的组件的经修改的信息来控制应用的步骤。
实施例的组件包括副本的结构性元数据。
实施例的组件包括变化数据的日志文件。
实施例的方法包括修改组件。
实施例的组件是副本的结构性元数据。实施例的修改包括检测副本的第一状态。实施例的第一状态指示已将变化数据应用于副本。实施例的修改包括从第一状态改变成第二状态。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据而生成另一更新版本。实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。实施例的另外的变化数据是在生成更新版本之后被接收到的。
实施例的应用包括调用第二服务器的引擎。实施例的方法包括使该引擎参照变化数据的第一未应用日志文件,其中,第一未应用日志文件是未应用于副本的第一个日志文件。
实施例的变化数据是多个日志文件。实施例的组件是该多个日志文件中的日志文件。实施例的终止包括利用复制的日志文件来替代经修改的日志文件。实施例的应用包括调用第二服务器的引擎,终止包括使该引擎停止。
实施例的方法包括在第一服务器处从第二服务器接收原始数据的副本。实施例的副本是完整副本。实施例的副本是增量副本。
实施例的方法包括将更新版本传送到索引对象库。
实施例的生成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个。
实施例的自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。实施例的自动触发包括所述更新版本的内容。
实施例的计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入(population)操作中的至少一个。
实施例的事件通知包括与对原始数据的数据的改变相对应的通知。
实施例的请求包括第二服务器的用户、服务器及应用中的一个或更多个对原始数据的访问尝试及配置尝试中的至少一个。
实施例的第一服务器包括近线服务器。
实施例的生成是准实时的,并维护原始数据的完全的完整性及一致性。
实施例的第二服务器包括消息和协作服务器。
实施例的原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
实施例的方法包括维护所述更新版本。实施例的维护包括通过对更新版本应用至少一组日志文件来生成另一更新版本。实施例的至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
实施例的第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
实施例的信息管理包括以下方法:该方法包括在第一服务器处接收原始数据的副本的步骤。原始数据存储在第二服务器处。实施例的方法包括在第一服务器处接收多个变化数据的步骤。实施例的变化数据包含对原始数据的改变的信息。实施例的方法包括以下步骤:通过将多个变化数据中的至少一个变化数据应用于副本,在第一服务器处动态地生成并维护该副本的更新版本。实施例的方法包括使用第一服务器的组件的经修改的信息来控制应用的步骤。
实施例的信息管理包括计算机可读介质,该计算机可读介质包含可执行指令,当在处理系统中执行该可执行指令时,该可执行指令通过在第一服务器处接收多个变化数据来支持准实时的数据镜像处理。实施例的变化数据包含对第二服务器的原始数据的改变的信息。当执行实施例的指令时,实施例的指令通过将多个变化数据中的至少一个变化数据应用于原始数据的副本,在第一服务器处动态地生成并维护该副本的更新版本。当执行实施例的指令时,实施例的指令使用第一服务器的组件的经修改的信息来控制应用。
实施例的组件包括副本的结构性元数据。
实施例的变化数据包括至少一个日志文件,实施例的组件包括该至少一个日志文件中的日志文件。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的一个或更多个服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成接收原始数据的副本的镜像系统。实施例的镜像系统被构造成在多个实例中接收变化数据。实施例的变化数据包含对原始数据的改变的信息。实施例的镜像系统被构造成,在近线服务器处,通过在接收到变化数据时将该变化数据应用于副本而动态地生成并维护副本的更新版本。
实施例的镜像系统被构造成异步地生成并维护。
实施例的变化数据包括多个实例的原始数据之间的增量差异的数据。
实施例的变化数据包括多个实例的原始数据之间的差量差异的数据。
实施例的镜像系统被构造成使用近线服务器的组件的经修改的信息来控制应用。
实施例的组件包括副本的结构性元数据及变化数据的日志文件中的一个或更多个。
实施例的镜像系统被构造成修改组件。
实施例的组件是副本的结构性元数据。
实施例的修改包括被构造成检测副本的第一状态,其中,第一状态指示已将变化数据应用于副本。
实施例的修改包括被构造成将第一状态改变成第二状态,其中,第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据而生成另一更新版本。
实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的变化数据是多个日志文件,其中,组件是多个日志文件中的日志文件。
实施例的应用包括调用一个或更多个服务器的引擎,终止包括使该引擎停止。
实施例的一个或更多个服务器包括消息和协作服务器。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的一个或更多个服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成接收原始数据的副本的镜像系统。实施例的镜像系统被构造成接收包含对原始数据的改变的信息的变化数据。实施例的镜像系统被构造成,通过在接收到变化数据时将多个变化数据中的至少一个变化数据应用于副本,在近线服务器处动态地生成并维护该副本的更新版本。实施例的镜像系统被构造成使用近线服务器的组件的经修改的信息来控制应用。
实施例的信息管理包括以下系统:该系统包括连接到一个或更多个服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成接收描述对一个或更多个服务器的原始数据的增量改变的变化数据的镜像系统。实施例的镜像系统被构造成,通过将多个变化数据中的至少一个变化数据应用于原始数据的副本,在近线服务器处动态地生成并维护该副本的更新版本。实施例的镜像系统被构造成使用近线服务器的组件的经修改的信息来控制应用。
实施例的组件包括副本的结构性元数据。
实施例的组件包括变化数据的日志文件。
实施例的镜像系统被构造成修改组件。
实施例的组件是副本的结构性元数据。
实施例的被构造成修改包括被构造成检测副本的第一状态。实施例的第一状态指示已将变化数据应用于副本。
实施例的被构造成修改包括被构造成将第一状态改变成第二状态。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据而生成另一更新版本。
实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的另外的变化数据是在生成更新版本之后被接收到的。
实施例的应用包括调用一个或更多个服务器的引擎。
实施例的镜像系统被构造成使引擎参照变化数据的第一未应用日志文件。实施例的第一未应用日志文件是未应用于副本的第一个日志文件。
实施例的变化数据是多个日志文件。实施例的组件是该多个日志文件中的日志文件。
实施例的应用包括调用第二服务器的引擎,终止包括使引擎停止。
实施例的镜像系统被构造成从一个或更多个服务器接收副本。
实施例的副本是完整副本。
实施例的副本是增量副本。
实施例的镜像系统被构造成将更新版本传送到索引对象库。
实施例的镜像系统被构造成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个而生成并维护。
实施例的自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
实施例的自动触发包括所述更新版本的内容。
实施例的计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个的。
实施例的事件通知包括与对原始数据的数据的改变相对应的通知。
实施例的请求包括第二服务器的用户、服务器及应用中的一个或更多个对原始数据的访问尝试及配置尝试中的至少一个。
实施例的镜像系统被构造成准实时地生成并维护原始数据的完全的完整性及一致性。
实施例的一个或更多个服务器包括消息和协作服务器。
实施例的原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
实施例的镜像系统被构造成,通过对更新版本应用至少一组日志文件来生成另一更新版本,从而维护所述更新版本,所述至少一组日志文件在时间上比变化数据更晚地被接收到。
实施例的一个或更多个服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
可以将这里所描述的多维替代的方面实现为被编程到包括可编程逻辑器件(PLD)(例如,现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)器件、电可编程逻辑和存储器件及标准的基于单元的器件)以及专用集成电路(ASIC)的多种电路中的任一种中的功能性。用于实现多维替代的方面的一些其它可能性包括:具有存储器(例如,电可擦除可编程只读存储器(EEPROM))的微控制器、嵌入式微处理器、固件、软件等。此外,可以在具有基于软件的电路仿真的微处理器、离散逻辑电路(时序的及组合的)、定制器件、模糊(神经)逻辑电路、量子器件及上述器件类型的任意组合中实现多维替代的方面。任何基础的器件技术可以以多种组件类型来提供,例如,金属氧化物半导体场效应晶体管(MOSFET)技术(例如,互补型金属氧化物半导体(CMOS))、双极技术(例如,射级耦合逻辑(ECL))、聚合物技术(例如,硅共轭聚合物结构及金属共轭聚合物-金属结构)、数字模拟混合等。
应当注意,可以使用在各种计算机可读介质中实现的数据和/或指令来描述这里所公开的多维替代的各种组件。在其中可以实现这种格式化的数据和/或指令的计算机可读介质包括(但并不限于)各种形式的非易失性存储介质(例如,光存储介质、磁存储介质或半导体存储介质)以及可以用于通过无线信令介质、光信令介质或有线信令介质或者其任意组合来传送这种格式化的数据和/或指令的载波。载波传送这种格式化的数据和/或指令的示例包括(但并不限于)经由一个或更多个数据传送协议(例如,HTTP、FTP、SMTP等)在因特网和/或其它计算机网络上的传送(上载、下载、电子邮件等)。当在计算机系统内经由一个或更多个计算机可读介质而接收到多维替代的基于这种数据和/或指令的表达时,计算机系统内的处理实体(例如,一个或更多个处理器)可以与一个或更多个其它计算机程序的执行相协同地对所述表达进行处理。
除非上下文清楚地要求,否则贯穿说明书及权利要求书,应当将词“包括”、“包含”等理解为与排他性意味或穷举性意味相对的包含性意味,也就是说,应理解为“包括但并不限于”的意味。使用单数或复数的词也分别地包括复数或单数。另外,词“这里”、“下文中”、“以上”、“以下”及类似含义的词是指本申请整体,而并非本申请的任何特定的部分。当在参照两个或更多个事物的列表时使用词“或”时,该词涵盖对该词的下列所有解释:列表中的事物中的任一个,列表中的事物的全部,以及列表中的事物的任一组合。
对所例示的多维替代的实施例的以上描述并不旨在穷举多维替代或将多维替代限于所公开的确切形式。尽管这里出于例示的目的而描述了多维替代的具体实施例及示例,但是如同相关领域中的技术人员将认识到的,多维替代的范围内的各种等同的变型例是可能的。可以将这里所提供的多维替代的教示应用于其它处理系统及方法,而并非仅用于上述系统及方法。
可以对上述不同的实施例的要素及行为进行组合,以提供其它实施例。可以按照以上详细的描述而对多维替代及方法做出这些或其它改变。
总体而言,在以下权利要求书中,不应当将所使用的术语解释为将多维替代及方法限于在说明书及权利要求书中所公开的具体实施例,而应当将其解释为包括根据权利要求书来操作的所有的处理系统。因此,多维替代不受本公开内容的限制,而是由权利要求书来完全地确定多维替代的范围。
尽管下面以某些权利要求形式来呈现多维替代的某些方面,但是发明人以任意数量的权利要求形式来预期多维替代的各个方面。例如,尽管仅将多维替代的一个方面详述为在机器可读介质中实现,但是可以以类似的方式将其它方面在机器可读介质中实现。因此,发明人保留在提交本申请之后添加附加的权利要求以追加针对多维替代的其它方面的这些附加的权利要求形式的权利。
Claims (101)
1.一种方法,包括:
在第一服务器处接收原始数据的副本,其中,所述原始数据存储在第二服务器处;
在多个实例中,在所述第一服务器处接收变化数据,所述变化数据包含对所述原始数据的改变的信息;以及
通过在接收到所述变化数据时将所述变化数据应用于所述副本,在所述第一服务器处动态地生成并维护所述副本的更新版本。
2.根据权利要求1所述的方法,其中,所述生成并维护是与所述接收异步的。
3.根据权利要求1所述的方法,其中,所述应用是根据间隔的,其中,所述间隔是基于所述第二服务器处的时间及事件中的一个或更多个的。
4.根据权利要求1所述的方法,其中,所述变化数据包括多个实例的所述原始数据之间的增量差异的数据。
5.根据权利要求1所述的方法,其中,所述变化数据包括多个实例的所述原始数据之间的差量差异的数据。
6.根据权利要求1所述的方法,该方法包括使用所述第一服务器的组件的经修改的信息来控制所述应用。
7.根据权利要求6所述的方法,其中,所述组件包括所述副本的结构性元数据及所述变化数据的日志文件中的一个或更多个。
8.根据权利要求6所述的方法,该方法包括修改所述组件。
9.根据权利要求8所述的方法,其中,所述组件是所述副本的结构性元数据。
10.根据权利要求8所述的方法,其中,所述修改包括检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
11.根据权利要求10所述的方法,其中,所述修改包括将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据而生成另一更新版本。
12.根据权利要求11所述的方法,其中,所述将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
13.根据权利要求8所述的方法,其中,所述变化数据是多个日志文件,其中,所述组件是多个日志文件中的日志文件。
14.根据权利要求13所述的方法,其中,所述应用包括调用所述第二服务器的引擎,所述终止包括使该引擎停止。
15.根据权利要求1所述的方法,其中,所述第一服务器包括近线服务器,所述第二服务器包括消息和协作服务器。
16.一种方法,包括:
在第一服务器处接收多个变化数据,所述变化数据包含对第二服务器的原始数据的改变的信息;
通过将所述多个变化数据中的至少一个变化数据应用于所述原始数据的副本,在所述第一服务器处动态地生成并维护该副本的更新版本;以及
使用所述第一服务器的组件的经修改的信息来控制所述应用。
17.根据权利要求16所述的方法,其中,所述组件包括所述副本的结构性元数据。
18.根据权利要求16所述的方法,其中,所述组件包括所述变化数据的日志文件。
19.根据权利要求16所述的方法,该方法包括修改所述组件。
20.根据权利要求19所述的方法,其中,所述组件是所述副本的结构性元数据。
21.根据权利要求19所述的方法,其中,所述修改包括检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
22.根据权利要求21所述的方法,其中,所述修改包括将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据而生成另一更新版本。
23.根据权利要求22所述的方法,其中,所述将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
24.根据权利要求22所述的方法,其中,所述另外的变化数据是在生成所述更新版本之后被接收到的。
25.根据权利要求19所述的方法,其中,所述应用包括调用所述第二服务器的引擎。
26.根据权利要求25所述的方法,该方法包括使所述引擎参照所述变化数据的第一未应用日志文件,其中,所述第一未应用日志文件是未应用于所述副本的第一个日志文件。
27.根据权利要求19所述的方法,其中,所述变化数据是多个日志文件,其中,所述组件是所述多个日志文件中的日志文件。
28.根据权利要求27所述的方法,该方法包括:识别所述多个日志文件中的所选定的日志文件,和复制所选定的日志文件以形成复制的日志文件。
29.根据权利要求28所述的方法,其中,所选定的日志文件是最后接收到的日志文件。
30.根据权利要求28所述的方法,该方法包括通过修改所选定的日志文件的信息来生成经修改的日志文件。
31.根据权利要求30所述的方法,其中,所述应用包括:
顺序地应用所述多个日志文件中的日志文件;以及
响应于遇到所述经修改的日志文件而终止所述应用。
32.根据权利要求31所述的方法,其中,所述终止包括利用所述复制的日志文件来替代所述经修改的日志文件。
33.根据权利要求31所述的方法,其中,所述应用包括调用所述第二服务器的引擎,所述终止包括使该引擎停止。
34.根据权利要求16所述的方法,该方法还包括在所述第一服务器处从所述第二服务器接收所述原始数据的副本。
35.根据权利要求34所述的方法,其中,所述副本是完整副本。
36.根据权利要求34所述的方法,其中,所述副本是增量副本。
37.根据权利要求16所述的方法,该方法还包括将所述更新版本传送到索引对象库。
38.根据权利要求16所述的方法,其中,所述生成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个。
39.根据权利要求38所述的方法,其中,所述自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
40.根据权利要求39所述的方法,其中,所述自动触发包括所述更新版本的内容。
41.根据权利要求38所述的方法,其中,所述计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
42.根据权利要求38所述的方法,其中,所述事件通知包括与对所述原始数据的数据的改变相对应的通知。
43.根据权利要求38所述的方法,其中,所述请求包括所述第二服务器的用户、服务器及应用中的一个或更多个对所述原始数据的访问尝试及配置尝试中的至少一个。
44.根据权利要求16所述的方法,其中,所述第一服务器包括近线服务器。
45.根据权利要求16所述的方法,其中,所述生成是准实时的,并维护所述原始数据的完全的完整性及一致性。
46.根据权利要求16所述的方法,其中,所述第二服务器包括消息和协作服务器。
47.根据权利要求16所述的方法,其中,所述原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
48.根据权利要求16所述的方法,该方法包括维护所述更新版本,所述维护包括通过对所述更新版本应用至少一组日志文件来生成另一更新版本,所述至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
49.根据权利要求16所述的方法,其中,所述第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
50.一种方法,包括:
在第一服务器处接收原始数据的副本,其中,所述原始数据存储在第二服务器处;
在所述第一服务器处接收多个变化数据,所述变化数据包含对所述原始数据的改变的信息;
通过将所述多个变化数据中的至少一个变化数据应用于所述副本,在所述第一服务器处动态地生成并维护所述副本的更新版本;以及
使用所述第一服务器的组件的经修改的信息来控制所述应用。
51.一种计算机可读介质,包括可执行指令,当在处理系统中执行所述可执行指令时,所述可执行指令通过以下处理来支持准实时的数据镜像处理:
在第一服务器处接收多个变化数据,所述变化数据包含对第二服务器的原始数据的改变的信息;
通过将所述多个变化数据中的至少一个变化数据应用于所述原始数据的副本,在所述第一服务器处动态地生成并维护该副本的更新版本;以及
使用所述第一服务器的组件的经修改的信息来控制所述应用。
52.根据权利要求51所述的方法,其中,所述组件包括所述副本的结构性元数据。
53.根据权利要求51所述的方法,其中,所述变化数据包括至少一个日志文件,并且其中,所述组件包括所述至少一个日志文件中的日志文件。
54.一种系统,包括:
近线服务器,其连接到包含原始数据的一个或更多个服务器;以及
镜像系统,其连接到所述近线服务器并被构造成接收所述原始数据的副本,所述镜像系统被构造成在多个实例中接收变化数据,所述变化数据包含对所述原始数据的改变的信息,所述镜像系统被构造成通过在接收到所述变化数据时将所述变化数据应用于所述副本,在所述近线服务器处动态地生成并维护所述副本的更新版本。
55.根据权利要求54所述的系统,其中,所述镜像系统被构造成异步地生成并维护。
56.根据权利要求54所述的系统,其中,所述变化数据包括多个实例的所述原始数据之间的增量差异的数据。
57.根据权利要求54所述的系统,其中,所述变化数据包括多个实例的所述原始数据之间的差量差异的数据。
58.根据权利要求54所述的系统,其中,所述镜像系统被构造成使用所述近线服务器的组件的经修改的信息来控制所述应用。
59.根据权利要求58所述的系统,其中,所述组件包括所述副本的结构性元数据及所述变化数据的日志文件中的一个或更多个。
60.根据权利要求58所述的系统,其中,所述镜像系统被构造成修改所述组件。
61.根据权利要求60所述的系统,其中,所述组件是所述副本的结构性元数据。
62.根据权利要求60所述的系统,其中,所述被构造成修改包括被构造成检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
63.根据权利要求62所述的系统,其中,所述被构造成修改包括被构造成将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据而生成另一更新版本。
64.根据权利要求63所述的系统,其中,所述将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
65.根据权利要求59所述的系统,其中,所述变化数据是多个日志文件,其中,所述组件是多个日志文件中的日志文件。
66.根据权利要求65所述的系统,其中,所述应用包括调用一个或更多个服务器的引擎,所述终止包括使该引擎停止。
67.根据权利要求54所述的系统,其中,所述一个或更多个服务器包括消息和协作服务器。
68.一种系统,包括:
近线服务器,其连接到包含原始数据的一个或更多个服务器;以及
镜像系统,其连接到所述近线服务器并被构造成接收所述原始数据的副本,所述镜像系统被构造成接收包含对所述原始数据的改变的信息的变化数据,所述镜像系统被构造成通过在接收到所述变化数据时将所述多个变化数据中的至少一个变化数据应用于所述副本,在所述近线服务器处动态地生成并维护所述副本的更新版本,所述镜像系统被构造成使用所述近线服务器的组件的经修改的信息来控制所述应用。
69.一种系统,包括:
近线服务器,其连接到一个或更多个服务器;以及
镜像系统,其连接到所述近线服务器并被构造成接收描述对一个或更多个服务器的原始数据的增量改变的变化数据,所述镜像系统被构造成通过将所述多个变化数据中的至少一个变化数据应用于所述原始数据的副本,在所述近线服务器处动态地生成并维护该副本的更新版本,所述镜像系统被构造成使用所述近线服务器的组件的经修改的信息来控制所述应用。
70.根据权利要求69所述的系统,其中,所述组件包括所述副本的结构性元数据。
71.根据权利要求69所述的系统,其中,所述组件包括所述变化数据的日志文件。
72.根据权利要求69所述的系统,其中,所述镜像系统被构造成修改所述组件。
73.根据权利要求72所述的系统,其中,所述组件是所述副本的结构性元数据。
74.根据权利要求72所述的系统,其中,所述被构造成修改包括被构造成检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
75.根据权利要求74所述的系统,其中,所述被构造成修改包括被构造成将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据而生成另一更新版本。
76.根据权利要求75所述的系统,其中,所述将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
77.根据权利要求75所述的系统,其中,所述另外的变化数据是在生成所述更新版本之后被接收到的。
78.根据权利要求72所述的系统,其中,所述应用包括调用所述一个或更多个服务器的引擎。
79.根据权利要求78所述的系统,其中,所述镜像系统被构造成使所述引擎参照所述变化数据的第一未应用日志文件,其中,所述第一未应用日志文件是未应用于所述副本的第一个日志文件。
80.根据权利要求72所述的系统,其中,所述变化数据是多个日志文件,其中,所述组件是所述多个日志文件中的日志文件。
81.根据权利要求80所述的系统,其中,所述镜像系统被构造成识别所述多个日志文件中的所选定的日志文件,并复制所选定的日志文件以形成复制的日志文件。
82.根据权利要求81所述的系统,其中,所选定的日志文件是最后接收到的日志文件。
83.根据权利要求81所述的系统,其中,所述镜像系统被构造成通过修改所选定的日志文件的信息来生成经修改的日志文件。
84.根据权利要求83所述的系统,其中,所述应用包括:
顺序地应用所述多个日志文件中的日志文件;以及
响应于遇到所述经修改的日志文件而终止所述应用。
85.根据权利要求84所述的系统,其中,所述终止包括利用所述复制的日志文件来替代所述经修改的日志文件。
86.根据权利要求84所述的系统,其中,所述应用包括调用所述第二服务器的引擎,所述终止包括使该引擎停止。
87.根据权利要求69所述的系统,其中,所述镜像系统被构造成从所述一个或更多个服务器接收所述副本。
88.根据权利要求87所述的系统,其中,所述副本是完整副本。
89.根据权利要求87所述的系统,其中,所述副本是增量副本。
90.根据权利要求69所述的系统,其中,所述镜像系统被构造成将所述更新版本传送到索引对象库。
91.根据权利要求69所述的系统,其中,所述镜像系统被构造成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个而生成并维护。
92.根据权利要求91所述的系统,其中,所述自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
93.根据权利要求92所述的系统,其中,所述自动触发包括所述更新版本的内容。
94.根据权利要求91所述的系统,其中,所述计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
95.根据权利要求91所述的系统,其中,所述事件通知包括与对所述原始数据的数据的改变相对应的通知。
96.根据权利要求91所述的系统,其中,所述请求包括所述第二服务器的用户、服务器及应用中的一个或更多个对所述原始数据的访问尝试及配置尝试中的至少一个。
97.根据权利要求69所述的系统,其中,所述镜像系统被构造成准实时地生成并维护所述原始数据的完全的完整性及一致性。
98.根据权利要求69所述的系统,其中,所述一个或更多个服务器包括消息和协作服务器。
99.根据权利要求69所述的系统,其中,所述原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
100.根据权利要求69所述的系统,其中,所述镜像系统被构造成通过对所述更新版本应用至少一组日志文件来生成另一更新版本,从而维护所述更新版本,所述至少一组日志文件在时间上比所述变化数据更晚地被接收到。
101.根据权利要求69所述的系统,其中,所述一个或更多个服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/500,809 US8161318B2 (en) | 2005-02-07 | 2006-08-07 | Enterprise service availability through identity preservation |
US11/500,809 | 2006-08-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101517569A true CN101517569A (zh) | 2009-08-26 |
Family
ID=39082480
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056034.6A Pending CN101578599A (zh) | 2006-08-07 | 2006-10-02 | 数据的动态大块到砖块转换 |
CN200680056019.1A Pending CN101517569A (zh) | 2006-08-07 | 2006-10-02 | 改造数据的合成完整副本 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056034.6A Pending CN101578599A (zh) | 2006-08-07 | 2006-10-02 | 数据的动态大块到砖块转换 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8161318B2 (zh) |
EP (2) | EP2052337B1 (zh) |
CN (2) | CN101578599A (zh) |
AT (2) | ATE512403T1 (zh) |
CA (2) | CA2660282A1 (zh) |
WO (2) | WO2008020859A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413168A (zh) * | 2010-09-30 | 2012-04-11 | 微软公司 | 呈现同步对象的可用性状态 |
CN103729455A (zh) * | 2014-01-06 | 2014-04-16 | 中国南方电网有限责任公司 | 一种基于主副本存储模式的主数据存储方法 |
CN104641369A (zh) * | 2012-12-17 | 2015-05-20 | 株式会社日立制作所 | 文件服务器、信息系统及其控制方法 |
CN104969213A (zh) * | 2013-01-31 | 2015-10-07 | 脸谱公司 | 用于低延迟数据存取的数据流分割 |
US10581957B2 (en) | 2013-01-31 | 2020-03-03 | Facebook, Inc. | Multi-level data staging for low latency data access |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346733B2 (en) | 2006-12-22 | 2013-01-01 | Commvault Systems, Inc. | Systems and methods of media management, such as management of media to and from a media storage library |
US7603518B2 (en) | 2005-12-19 | 2009-10-13 | Commvault Systems, Inc. | System and method for improved media identification in a storage device |
US7249034B2 (en) | 2002-01-14 | 2007-07-24 | International Business Machines Corporation | System and method for publishing a person's affinities |
EP1625526B1 (en) | 2003-04-03 | 2012-10-03 | Commvault Systems, Inc. | System and method for dynamically performing storage operations in a computer network |
WO2004090789A2 (en) | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for extended media retention |
US7908339B2 (en) | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US7664834B2 (en) | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US7500053B1 (en) | 2004-11-05 | 2009-03-03 | Commvvault Systems, Inc. | Method and system for grouping storage system components |
US8275749B2 (en) * | 2005-02-07 | 2012-09-25 | Mimosa Systems, Inc. | Enterprise server version migration through identity preservation |
US8918366B2 (en) | 2005-02-07 | 2014-12-23 | Mimosa Systems, Inc. | Synthetic full copies of data and dynamic bulk-to-brick transformation |
US8812433B2 (en) | 2005-02-07 | 2014-08-19 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8799206B2 (en) | 2005-02-07 | 2014-08-05 | Mimosa Systems, Inc. | Dynamic bulk-to-brick transformation of data |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US8234238B2 (en) | 2005-03-04 | 2012-07-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US20070168405A1 (en) * | 2006-01-17 | 2007-07-19 | Ori Pomerantz | Self-optimizing network attached storage for multiple geographic locations |
US8811396B2 (en) | 2006-05-24 | 2014-08-19 | Maxsp Corporation | System for and method of securing a network utilizing credentials |
US8898319B2 (en) | 2006-05-24 | 2014-11-25 | Maxsp Corporation | Applications and services as a bundle |
US9317506B2 (en) | 2006-09-22 | 2016-04-19 | Microsoft Technology Licensing, Llc | Accelerated data transfer using common prior data segments |
US7539783B2 (en) | 2006-09-22 | 2009-05-26 | Commvault Systems, Inc. | Systems and methods of media management, such as management of media to and from a media storage library, including removable media |
US7840514B2 (en) | 2006-09-22 | 2010-11-23 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
US7844686B1 (en) * | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US7831566B2 (en) | 2006-12-22 | 2010-11-09 | Commvault Systems, Inc. | Systems and methods of hierarchical storage management, such as global management of storage operations |
US8706976B2 (en) | 2007-08-30 | 2014-04-22 | Commvault Systems, Inc. | Parallel access virtual tape library and drives |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8626936B2 (en) * | 2008-01-23 | 2014-01-07 | International Business Machines Corporation | Protocol independent server replacement and replication in a storage area network |
JP4802207B2 (ja) * | 2008-04-23 | 2011-10-26 | 株式会社日立製作所 | 情報処理システムの制御方法、情報処理システム、およびプログラム |
US20100070466A1 (en) | 2008-09-15 | 2010-03-18 | Anand Prahlad | Data transfer techniques within data storage devices, such as network attached storage performing data migration |
EP2353140B1 (en) * | 2008-10-28 | 2012-10-10 | BAE Systems PLC | Image processing |
WO2010067105A1 (en) | 2008-12-12 | 2010-06-17 | Bae Systems Plc | An apparatus and method for processing data streams |
EP2199914A1 (en) * | 2008-12-12 | 2010-06-23 | BAE Systems PLC | An apparatus and method for processing data streams |
US8074107B2 (en) * | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US9244779B2 (en) | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
US8903960B2 (en) | 2010-12-21 | 2014-12-02 | Cisco Technology, Inc. | Activate attribute for service profiles in unified computing system |
US8396871B2 (en) | 2011-01-26 | 2013-03-12 | DiscoverReady LLC | Document classification and characterization |
CN102289506A (zh) * | 2011-08-30 | 2011-12-21 | 成都易我科技开发有限责任公司 | 邮件系统备份方法 |
US10467252B1 (en) | 2012-01-30 | 2019-11-05 | DiscoverReady LLC | Document classification and characterization using human judgment, tiered similarity analysis and language/concept analysis |
US9667514B1 (en) | 2012-01-30 | 2017-05-30 | DiscoverReady LLC | Electronic discovery system with statistical sampling |
AU2013202553B2 (en) | 2012-03-30 | 2015-10-01 | Commvault Systems, Inc. | Information management of mobile device data |
CN102831347B (zh) * | 2012-07-31 | 2015-04-15 | 飞天诚信科技股份有限公司 | 一种数据处理方法和装置 |
US9069799B2 (en) | 2012-12-27 | 2015-06-30 | Commvault Systems, Inc. | Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system |
US9882980B2 (en) | 2013-10-22 | 2018-01-30 | International Business Machines Corporation | Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services |
US9465855B2 (en) | 2013-10-22 | 2016-10-11 | International Business Machines Corporation | Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services |
CN104751257A (zh) * | 2013-12-25 | 2015-07-01 | 携程计算机技术(上海)有限公司 | 酒店数据的管理系统 |
JP6209098B2 (ja) * | 2014-02-07 | 2017-10-04 | 富士通株式会社 | データ管理プログラム、データ管理方法、及びデータ管理システム |
US9928144B2 (en) | 2015-03-30 | 2018-03-27 | Commvault Systems, Inc. | Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage |
US10101913B2 (en) | 2015-09-02 | 2018-10-16 | Commvault Systems, Inc. | Migrating data to disk without interrupting running backup operations |
CN106250494B (zh) * | 2016-08-02 | 2019-04-09 | 极道科技(北京)有限公司 | 一种基于文件系统的数据管理分析系统 |
US10382576B2 (en) * | 2017-07-20 | 2019-08-13 | Vmware, Inc. | Transparent server failover in stateful distributed protocols |
US10742735B2 (en) | 2017-12-12 | 2020-08-11 | Commvault Systems, Inc. | Enhanced network attached storage (NAS) services interfacing to cloud storage |
CN111581016B (zh) * | 2020-04-14 | 2021-05-18 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
US11271998B1 (en) * | 2020-10-19 | 2022-03-08 | Zextras S.r.l. | Method and system for providing continuous operation on e-mails independently of a failure |
US11593223B1 (en) | 2021-09-02 | 2023-02-28 | Commvault Systems, Inc. | Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0713183A3 (en) * | 1994-11-18 | 1996-10-02 | Microsoft Corp | Network-independent shadow files |
US6253530B1 (en) * | 1995-09-27 | 2001-07-03 | Tracy Price | Structural honeycomb panel building system |
US5819020A (en) * | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US5689698A (en) * | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
US6148410A (en) * | 1997-09-15 | 2000-11-14 | International Business Machines Corporation | Fault tolerant recoverable TCP/IP connection router |
US6240414B1 (en) * | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US6249879B1 (en) * | 1997-11-11 | 2001-06-19 | Compaq Computer Corp. | Root filesystem failover in a single system image environment |
US6226651B1 (en) * | 1998-03-27 | 2001-05-01 | International Business Machines Corporation | Database disaster remote site recovery |
US6260129B1 (en) * | 1998-09-08 | 2001-07-10 | International Business Machines Corportion | Management of fixed pages in memory for input/output operations |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
US6523027B1 (en) * | 1999-07-30 | 2003-02-18 | Accenture Llp | Interfacing servers in a Java based e-commerce architecture |
US7100195B1 (en) * | 1999-07-30 | 2006-08-29 | Accenture Llp | Managing user information on an e-commerce system |
US6434568B1 (en) * | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US6636242B2 (en) * | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US6256773B1 (en) * | 1999-08-31 | 2001-07-03 | Accenture Llp | System, method and article of manufacture for configuration management in a development architecture framework |
US6477580B1 (en) * | 1999-08-31 | 2002-11-05 | Accenture Llp | Self-described stream in a communication services patterns environment |
US6668253B1 (en) * | 1999-09-08 | 2003-12-23 | Reynolds & Reynolds Holdings, Inc. | Enterprise information management system and methods |
US6675205B2 (en) * | 1999-10-14 | 2004-01-06 | Arcessa, Inc. | Peer-to-peer automated anonymous asynchronous file sharing |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
US6564215B1 (en) * | 1999-12-16 | 2003-05-13 | International Business Machines Corporation | Update support in database content management |
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US6718361B1 (en) * | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
US6766326B1 (en) * | 2000-07-24 | 2004-07-20 | Resty M Cena | Universal storage for dynamic databases |
US7212726B2 (en) * | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
US6760861B2 (en) * | 2000-09-29 | 2004-07-06 | Zeronines Technology, Inc. | System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster |
US6587933B2 (en) * | 2001-01-26 | 2003-07-01 | International Business Machines Corporation | Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device |
US20020129096A1 (en) * | 2001-02-14 | 2002-09-12 | Mansour Peter M. | Platform-independent distributed user interface client architecture |
WO2002073504A1 (en) * | 2001-03-14 | 2002-09-19 | Gene Logic, Inc. | A system and method for retrieving and using gene expression data from multiple sources |
US6944133B2 (en) * | 2001-05-01 | 2005-09-13 | Ge Financial Assurance Holdings, Inc. | System and method for providing access to resources using a fabric switch |
US20030005350A1 (en) * | 2001-06-29 | 2003-01-02 | Maarten Koning | Failover management system |
JP2005523490A (ja) * | 2001-11-02 | 2005-08-04 | シーメンス メディカル ソリューションズ ユーエスエー インコーポレイテッド | コンプライアンス自動化のための患者データマイニング |
US7249034B2 (en) * | 2002-01-14 | 2007-07-24 | International Business Machines Corporation | System and method for publishing a person's affinities |
US8032592B2 (en) * | 2002-04-18 | 2011-10-04 | Intuit Inc. | System and method for data collection and update utilizing surrogate e-mail addresses using a server |
US7899915B2 (en) * | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US6925541B2 (en) * | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US7065674B2 (en) * | 2002-08-01 | 2006-06-20 | Microsoft Corporation | Computer system fault recovery using distributed fault-recovery information |
US7134044B2 (en) * | 2002-08-16 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for providing a mirror copy of data |
DE60330035D1 (de) * | 2002-09-09 | 2009-12-24 | Dell Marketing Usa L P | System und verfahren zur anwendungsüberwachung und automatischen katastrophenbehebung für hohe verfügbarkeit |
US7177886B2 (en) * | 2003-02-07 | 2007-02-13 | International Business Machines Corporation | Apparatus and method for coordinating logical data replication with highly available data replication |
US7174507B2 (en) * | 2003-02-10 | 2007-02-06 | Kaidara S.A. | System method and computer program product for obtaining structured data from text |
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US20040215656A1 (en) * | 2003-04-25 | 2004-10-28 | Marcus Dill | Automated data mining runs |
CA2429907A1 (en) * | 2003-05-27 | 2004-11-27 | Cognos Incorporated | Modelling of a multi-dimensional data source in an entity-relationship model |
US7251745B2 (en) * | 2003-06-11 | 2007-07-31 | Availigent, Inc. | Transparent TCP connection failover |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7188272B2 (en) * | 2003-09-29 | 2007-03-06 | International Business Machines Corporation | Method, system and article of manufacture for recovery from a failure in a cascading PPRC system |
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US8996455B2 (en) * | 2004-04-30 | 2015-03-31 | Netapp, Inc. | System and method for configuring a storage network utilizing a multi-protocol storage appliance |
US7523341B2 (en) * | 2004-05-13 | 2009-04-21 | International Business Machines Corporation | Methods, apparatus and computer programs for recovery from failures in a computing environment |
US7502961B2 (en) * | 2004-09-09 | 2009-03-10 | Microsoft Corporation | Method, system, and apparatus for providing alert synthesis in a data protection system |
US7840535B2 (en) * | 2004-11-05 | 2010-11-23 | Computer Associates Think, Inc. | Replicated data validation |
US7631021B2 (en) * | 2005-03-25 | 2009-12-08 | Netapp, Inc. | Apparatus and method for data replication at an intermediate node |
-
2006
- 2006-08-07 US US11/500,809 patent/US8161318B2/en not_active Expired - Fee Related
- 2006-10-02 CN CN200680056034.6A patent/CN101578599A/zh active Pending
- 2006-10-02 CA CA002660282A patent/CA2660282A1/en not_active Abandoned
- 2006-10-02 EP EP06815926A patent/EP2052337B1/en not_active Not-in-force
- 2006-10-02 WO PCT/US2006/038260 patent/WO2008020859A2/en active Application Filing
- 2006-10-02 AT AT06815934T patent/ATE512403T1/de not_active IP Right Cessation
- 2006-10-02 CN CN200680056019.1A patent/CN101517569A/zh active Pending
- 2006-10-02 EP EP06815934A patent/EP2052338B1/en not_active Not-in-force
- 2006-10-02 AT AT06815926T patent/ATE515738T1/de not_active IP Right Cessation
- 2006-10-02 CA CA002660089A patent/CA2660089A1/en not_active Abandoned
- 2006-10-02 WO PCT/US2006/038291 patent/WO2008020860A2/en active Application Filing
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413168A (zh) * | 2010-09-30 | 2012-04-11 | 微软公司 | 呈现同步对象的可用性状态 |
CN102413168B (zh) * | 2010-09-30 | 2016-10-26 | 微软技术许可有限责任公司 | 呈现同步对象的可用性状态 |
US9977811B2 (en) | 2010-09-30 | 2018-05-22 | Microsoft Technology Licensing, Llc | Presenting availability statuses of synchronized objects |
CN104641369A (zh) * | 2012-12-17 | 2015-05-20 | 株式会社日立制作所 | 文件服务器、信息系统及其控制方法 |
CN104641369B (zh) * | 2012-12-17 | 2018-05-01 | 株式会社日立制作所 | 文件服务器、信息系统及其控制方法 |
CN104969213A (zh) * | 2013-01-31 | 2015-10-07 | 脸谱公司 | 用于低延迟数据存取的数据流分割 |
CN104969213B (zh) * | 2013-01-31 | 2018-01-12 | 脸谱公司 | 用于低延迟数据存取的数据流分割 |
US10223431B2 (en) | 2013-01-31 | 2019-03-05 | Facebook, Inc. | Data stream splitting for low-latency data access |
US10581957B2 (en) | 2013-01-31 | 2020-03-03 | Facebook, Inc. | Multi-level data staging for low latency data access |
CN103729455A (zh) * | 2014-01-06 | 2014-04-16 | 中国南方电网有限责任公司 | 一种基于主副本存储模式的主数据存储方法 |
CN103729455B (zh) * | 2014-01-06 | 2015-01-21 | 中国南方电网有限责任公司 | 一种基于主副本存储模式的主数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2660282A1 (en) | 2008-02-21 |
WO2008020860A2 (en) | 2008-02-21 |
EP2052338A4 (en) | 2010-04-28 |
EP2052337B1 (en) | 2011-07-06 |
EP2052337A2 (en) | 2009-04-29 |
EP2052338A2 (en) | 2009-04-29 |
ATE515738T1 (de) | 2011-07-15 |
US8161318B2 (en) | 2012-04-17 |
US20070143374A1 (en) | 2007-06-21 |
ATE512403T1 (de) | 2011-06-15 |
CN101578599A (zh) | 2009-11-11 |
WO2008020859A2 (en) | 2008-02-21 |
WO2008020859A3 (en) | 2009-04-16 |
EP2052338B1 (en) | 2011-06-08 |
EP2052337A4 (en) | 2010-04-28 |
WO2008020860A3 (en) | 2009-04-30 |
CA2660089A1 (en) | 2008-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101517569A (zh) | 改造数据的合成完整副本 | |
US20070233756A1 (en) | Retro-fitting synthetic full copies of data | |
US8918366B2 (en) | Synthetic full copies of data and dynamic bulk-to-brick transformation | |
KR101956236B1 (ko) | 데이터베이스 관리 시스템에서의 데이터 복제 기법 | |
US7490113B2 (en) | Database log capture that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing | |
US8799206B2 (en) | Dynamic bulk-to-brick transformation of data | |
US8543542B2 (en) | Synthetic full copies of data and dynamic bulk-to-brick transformation | |
CN101322116B (zh) | 资源新鲜度和复制 | |
CN104813276B (zh) | 从备份系统流式恢复数据库 | |
JP4856098B2 (ja) | データ管理のための多次元代理 | |
US8825601B2 (en) | Logical data backup and rollback using incremental capture in a distributed database | |
US7509468B1 (en) | Policy-based data protection | |
US8812433B2 (en) | Dynamic bulk-to-brick transformation of data | |
US7650369B2 (en) | Database system management method and database system | |
DE602005002532T2 (de) | Cluster-datenbank mit ferndatenspiegelung | |
US11010267B2 (en) | Method and system for automatic maintenance of standby databases for non-logged workloads | |
US20070143366A1 (en) | Retro-fitting synthetic full copies of data | |
CN101501667A (zh) | 通过身份保持的企业服务器版本迁移 | |
US20040249870A1 (en) | Database replication system | |
US20230110826A1 (en) | Log execution method and apparatus, computer device and storage medium | |
US11042454B1 (en) | Restoration of a data source | |
CA2619778C (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring | |
CA2014933A1 (en) | Computerised database system | |
KR20100061983A (ko) | 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템 | |
KR100503899B1 (ko) | 데이터베이스 복제시스템 및 그 복제방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090826 |