CN101578599A - 数据的动态大块到砖块转换 - Google Patents
数据的动态大块到砖块转换 Download PDFInfo
- Publication number
- CN101578599A CN101578599A CN200680056034.6A CN200680056034A CN101578599A CN 101578599 A CN101578599 A CN 101578599A CN 200680056034 A CN200680056034 A CN 200680056034A CN 101578599 A CN101578599 A CN 101578599A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- information
- item
- copy
- 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号。
技术领域
本公开内容总体上涉及数据保护、存档、数据管理及信息管理。
背景技术
数据服务器将关键生产数据存放在其存储系统中。通常要求存储系统提供一定等级的数据可用性及服务可用性。通常要求数据及服务对范围从介质故障到数据中心故障的多种故障有恢复能力。通常,利用可以包括对全部生产数据或部分生产数据的基于磁带的备份在内的一系列的数据保护方案来部分地满足该要求。
另外,其它服务器通常需要同时地访问同一关键生产数据。这些应用包括数据保护应用、站点复制应用、搜索应用、发现应用、分析应用以及监视及监督应用。已利用包括设立具有关键生产数据的副本的专用分析服务器在内的一系列的数据管理方案来满足这种需要。典型的数据保护及管理方案具有一些公知的局限性。例如,在某些情况下,对服务器的直接的访问会导致生产服务器的不稳定及影响性能的负荷。其它局限性与使得对备份数据的访问费时且低效的、传统的磁带存储的串行性及脱机性有关。
无论使用何种类型的备份存储,常规的数据保护及管理的一些最显著的局限源自生产系统所存储的复杂的数据的特性。图1是现有技术系统100的框图,该图例示了一些上述的局限。系统100包括生产系统及实用系统。生产系统包括一个或更多个生产服务器及存储有大量复杂的生产数据的生产数据库。通常以大量的方式对复杂的数据进行存储及传送,并且复杂的数据通常为不顺从除了专门被设计成与该生产系统接口的生产系统或应用之外的应用或实体的操作的、难以读取的格式。复杂的数据也称作大块(bulk)数据。另一方面,项数据通常包括多种应用格式的较小的数据项。项数据的一个示例是Adobe AcrobatTM文件或电子邮件消息,但是存在许多其它示例。项数据也称作砖块(brick)数据。
生产系统的示例包括诸如Microsoft ExchangeTM的消息系统。在ExchangeTM的情况下,通过项接口应用编程接口(API)来访问ExchangeTM服务器的客户端应用包括诸如OutlookTM的应用程序(也称作应用)。当用户希望使用OutlookTM来访问诸如个人电子邮件的项时,所使用的协议包括消息应用编程接口协议(MAPI协议)、邮局协议第3版(POP3)、因特网消息访问协议(IMAP或IMAP4)或其它协议中的一个协议。这种类型的访问在项级是适当的,但是对于访问以大块的方式(或以复杂的数据格式)存储在生产服务器上的大量的项、或进行针对这些项的传送、搜索或审核功能而言是很慢的。
为了进行备份功能,生产系统包括到生产服务器及数据库以及备份应用的备份接口。实用系统使用备份应用来进行对整个生产数据库文件的大块备份(也称作大块传送或大块复制)。被传送来的生产数据库文件作为大块备份而被存储在实用系统中(或其它地方,但通常不在生产系统中)。为了在出故障的情况下恢复生产数据库文件,使用备份应用来将大块备份传送到生产服务器。
如果需要从大块备份中访问项级的数据(例如,为了恢复特定的“丢失的”电子邮件),必须将大块备份传送到生产服务器或可以使用项接口API来访问备份的生产数据库的其它位置。这是极其地缓慢、低效且易出错的。
为了解决访问备份项的问题,常规的实用系统还可以通过使用前面提到、用于通过项接口API来访问大块生产数据的协议(MAPI、SMTP、POP3等)来进行分开的砖块备份。同样,因为这是非常慢的,所以这通常以非常有限的方式进行。例如,在企业中仅管理人员能让他们的消息通信受砖块(bricks)备份的保护。砖块备份涉及使用MAPI或SMTP来直接地访问生产数据库,以例如检索项数据。这个缓慢的过程加重了服务器的负荷,并可能影响服务器性能。当需要访问或恢复砖块备份中的项时,是使用项接口API及前面所列的协议来访问的。
针对大块备份及砖块备份二者分别地访问生产数据库增加了生产系统的负荷,并且可能对性能产生负面的影响。并且,保持两套不一致的备份数据(大块及砖块)是容易出错的,并且可能无法满足不同的遵从性要求。此外,在常规的系统中,没有供个别的企业用户来寻找及恢复他们自己丢失或删除的数据的机制。这增加了信息技术(IT)人员的工作负荷。
常规的实用系统不能在同时允许对可用的(项)格式的生产数据的有效的访问的同时完整地备份该生产数据。一些现有的应用专门被设计成进行诸如审计及法律发现的功能,但是这些应用通常读取不在生产系统中的数据,这对系统的性能产生负面的影响。其它现有的应用使用MAPI或SMTP来费力且缓慢地建立从生产数据库中提取出的砖块项的存档。
日益迫切地需要在同时允许对可用的(项)格式的生产数据的有效的访问的同时完整地备份该生产数据的能力。例如,出于审计目的、监视目的、法律发现目的及其它目的,企业越来越需要保存生产数据并提供对该生产数据的访问。
合并引用
通过引用将本说明书中所提及的各出版物及专利申请的全部内容合并在此,等同于特别地且单独地指明通过引用而合并各单独的出版物或专利申请。
附图说明
图1是包括实用系统的现有技术系统的框图。
图2是根据实施例的、进行一次通过(one-pass)保护及数据管理的数据替代(surrogation)系统的框图。
图3是根据实施例的、包括具有多个生产服务器及相对应的数据库的生产系统的数据替代系统的框图。
图4是示出根据实施例的捕捉操作、应用操作及提取操作的框图。
图5是根据实施例的在进行镜像时使用的备份捕捉的框图。
图6是根据实施例的在进行镜像时使用的快照捕捉的框图。
图7是根据实施例的在进行镜像时使用的复制捕捉的框图。
图8是根据实施例的在进行镜像时使用的持续数据保护(CDP)捕捉的框图。
图9是示出根据实施例的、生成来自生产系统的日志文件的增量更新或差量更新的框图。
图10是根据实施例的、包括使用改造(retro-fit)后的日志传送来创建合成完整副本的镜像处理的系统的框图。
图11是根据实施例的、获得并应用日志文件的处理的框图。
图12是例示包括根据实施例的应用日志文件的镜像处理的实施例的流程图。
图13是根据另一实施例的镜像处理的流程图。
图14是根据实施例的、包含提取组件的实用系统1400的框图。
图15是根据实施例的索引处理的流程图。
图16是根据实施例的散列表的框图。
图17是例示根据实施例的动态提取、或大块到砖块处理的流程图。
图18是例示根据实施例的、对索引项的自助访问的框图。
图19是根据实施例的、具有这里所描述的数据替代能力的实用系统框架的框图。
具体实施方式
这里描述了多维数据替代以及相对应的系统及方法。这里所描述的实施例对生产服务器数据库进行镜像处理,包括通过对到不具备日志传送能力的系统(包括数据库系统、企业数据库系统或其它系统)的日志传送进行改造来创建合成完整副本。例如,这里所描述的镜像处理可以用于将日志传送能力与非关系数据库或文件系统数据的数据库相结合。
出于包括保护、存档及分析中的一个或更多个的目的,镜像处理保持最新的企业生产数据的主机外(off-host)副本。镜像处理可选地利用(leverage)诸如备份、复制、快照或持续数据保护(CDP)的较低级的机制,来构造用于使准实时的生产数据在可信、可伸缩且可扩展的同时、以不破坏生产主机的方式对应用可用的聚集系统及方法。在一个实施例中,镜像处理包括从生产系统接收原始数据的副本(包括生产数据库的初始副本)。在多个实例中,从生产系统接收到变化数据。变化数据包含对原始数据的改变的信息。通过在接收到变化数据时应用该变化数据来生成并维护副本的更新版本。在一个实施例中,变化数据包括日志文件,但实施例并不限于此。在不同的实例中,变化数据包括原始数据之间的增量差异的数据,或者作为另一种选择,包括原始数据之间的差量差异的数据。
数据替代的实施例使得能够在将数据移动、延迟及后处理最少化的同时实现开放式数据管理应用的主机。实施例在以易于对数据的定位及访问的方式存储数据的同时对数据提供保护。描述了应用感知一次通过(one-pass)保护及数据管理,包括:使用日志传送来创建数据库的合成完整副本(这里也称作“合成完整副本(synthetic fulls)”)的生产服务器数据库镜像处理;以及复制数据从“大块”形式到“砖块”形式的高效的且动态的转换。该转换是动态的,这是因为可以以定期的、正在进行的方式运行大块到砖块处理以对镜像数据库进行转换。因为生产系统一生成日志文件就可以应用这些日志文件,所以镜像处理以准实时的方式将生产数据库的镜像副本保持为最新的。这导致准实时地反映对生产数据的改变的、可访问的且准确的存档。
与不包括内在的日志传送的现有系统相比,这里所描述的实施例提供了许多优点。例如,当进行合成完整副本时,任何恶化均立刻得到催生(catalyze)。这与具有基于磁盘的备份或基于磁带的备份的典型的系统形成对比。在典型的系统中,保存数据库的完整副本并保存对数据库的增量更新(以日志文件的形式)。在生产服务器出故障的情况下,通常必须立即应用所有的日志文件。如果遇到被破坏的文件,或者任何原因导致处理失败,则既不能访问“主”生产服务器也不能访问备份数据。
这里所描述的实施例所提供的另一优点是使用较少的存储空间。由于与仅对日志文件进行存储的现有系统相比,随着根据不同的间隔、计划、事件等生成日志文件而将日志文件耗用掉,所以用于存储日志文件的存储空间显著地减少。
还描述了对应用感知(application-aware)砖块数据的存储,包括通过用于“自助访问”(包括个人用户访问、审计员访问、监视及监督访问等)的友好的用户界面来使以期望的终端用户格式对砖块数据的访问更容易。在一个实施例中,可以使用预先存在的消息应用(例如,MicrosoftOutlook)来访问应用感知砖块数据,而在其它实施例中可以写入定制应用。在一个实施例中,从生产大块数据中提取从该大块数据转换而来的砖块数据,并将该砖块数据作为索引项存储在索引项库中,同时提取相关联的元数据并将其存储在另一数据库(例如,SQL服务器数据库)中。
本发明的实施例包括提供对生产数据的全部的信息管理的实用系统的组件。信息管理将项搜索及恢复功能、审计功能、监视及监督功能、法律发现功能、遵从性(compliance)功能、存档功能、备份功能以及灾难恢复功能结合起来。信息管理使得能够通过进行一次通过保护及数据管理(包括将大块格式的非结构化数据或半结构化数据转换成应用感知项格式并以可访问的方式将其存储起来)来实现所有这些功能等。一次通过保护及数据管理方法不在生产系统(或主机系统)中进行,因此不会导致性能劣化。
图2是根据实施例的进行一次通过保护及数据管理的数据替代系统的框图。这里参照不同的实施例而描述的数据替代包括使得能够实现针对生产服务器的一系列的数据管理解决方案并使生产服务器客户端的能力增强的系统及方法。
系统200包括生产系统及实用系统。生产服务器的示例是通常称作企业服务器的任何服务器,但是实施例并不限于此。例如,MicrosoftExchangeTM服务器用作生产服务器的一个示例。生产系统包括使客户端应用(也称作客户端)对生产数据库中的项(也称作数据库文件)的访问更容易的高级项接口API。客户端包括向终端用户提供对生产服务器或企业服务器的访问的任何客户端设备或应用。客户端的示例是MicrosoftOutlookTM,但是这里所描述的实施例并不限于此。客户端使用适当的协议来与项接口API进行通信。在生产服务器是消息服务器的情况下,协议包括消息应用编程接口协议(MAPI协议)、邮局协议第3版(POP3)、因特网消息访问协议(IMAP或IMAP4)等。
生产系统还包括用于使得用户可以出于备份目的或其它目的而以大块形式复制生产数据库中的数据中的一些或全部的一个或更多个低级备份接口及相对应的备份应用。
系统200还包括实用系统。如这里进一步描述的那样,实用系统在生产数据生成之后对该生产数据进行镜像。镜像处理导致总是可以容易地利用生产数据库的准实时的且准确的副本。在不同的实施例中,数据库的准实时的且准确的副本用于多种目的,这些目的的范围从生产数据库完全故障的情况下的灾难恢复到创建包含生产数据库的可容易地访问的砖块级(项级)存档的索引对象库。
镜像处理包括从生产系统传送数据库文件,以及以定期的方式从生产系统传送日志文件。捕捉组件将数据库文件要么全部地要么以增量的方式从生产系统传送到实用系统的镜像库。应用组件以接近连续的方式应用日志文件以将传送来的数据库文件保持为最新的。下面将要进一步描述的提取组件从镜像库中动态地提取项。在一个实施例中,提取组件遍历数据库文件的结构以识别并提取项及元数据。索引组件将每个项索引,以使得以后对索引项库的搜索高效且智能。提取组件对镜像库进行操作的频率是可设定的。例如,可将提取组件设定成在最初捕捉到生产数据库且最初应用日志文件之后每30分钟操作一次。频率可以较大或较小,并且例如可以取决于可从生产系统获得新的日志文件的频率来设定该频率。作为另一种选择,提取组件可以以事件驱动的方式进行操作,例如,在新的日志文件或一定数量的新日志文件可用时操作。动态应用处理及提取处理的结果是准实时地反映对生产数据库的改变的、可容易地访问的且准确的存档。也可以在要求时调用提取组件。
在这里为方便起见参照Microsoft ExchangeTM示例而描述的不同的实施例中,提取组件及索引组件包括使性能最优化的许多特征。这些特征包括使项单实例化,以使得相同的项不被存储多于一次,从而节省存储空间。这些特征还包括检测对项的改变(包括隐蔽的改变)以及检测已被移动的项。这里所描述的实施例提供了针对存档、复制、灾难恢复等的用于以应用感知的方式存储数据的、还提供可验证的不可否认、可验证的产销监管链等的完整的解决方案。
如图2所示,数据管理应用的主机可通过不同的API或通过网络访问来访问索引对象库。访问索引对象库的应用/功能包括(但并不限于)对项数据的个人自助服务、监视及监督、法律发现、遵从性、灾难恢复、存档、审计及生命周期管理。
贯穿示出或描述数据库的本公开内容,即使未示出或描述一个或更多个相对应的服务器,也暗示了所述服务器。例如,生产数据库暗示生产服务器,实用数据库暗示实用服务器。在这里所描述的各个实施例中,实用服务器是包括这里所描述的并要求保护的数据替代或镜像方法及设备的近线服务器。所描述的数据替代或镜像方法及设备的实施例包括可从加利福尼亚州Santa Clara的MimosaTM 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)及一系列的其它协议。
图3是包括具有多个生产服务器及相对应的数据库的生产系统的系统300的框图。在一个实施例中,生产服务器是消息服务器,数据库是消息数据库,但实施例并不限于此。生产服务器可以包括消息服务器、协作服务器、门户或数据库服务器。生产服务器存放各种结构化数据、半结构化数据及非结构化数据。这些服务器可以是独立的、集群的、复制的、网格(grid)的组元、虚拟化的或者任何组合或变型。出于例示的目的而使用的示例是Microsoft ExchangeTM服务器,但是这里所描述的实施例并不限于此。
如前所述,实用系统包括镜像库。镜像库包含从消息数据库中的一个或更多个消息数据库接收到的镜像数据。捕捉组件获得生产数据的副本,应用(或“应用(apply)”)组件按下文所进一步描述的方式将镜像数据保持为最新的。
捕捉组件被构造为减少对生产系统操作的中断。捕捉组件能够以可伸缩且高性能的方式、安全且可靠地捕捉生产数据。所捕捉到的数据在此可以不同地称作数据、生产数据、生产数据库等。通常,所捕捉到的数据是包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个的生产数据库文件。
捕捉组件将数据提供给镜像库,以高效且低成本地将镜像副本尽可能地保持为最新的。捕捉组件可以包括备份方法、快照方法、复制方法及持续数据保护(CDP)方法,但并不限于此。下面将详细地描述被构造成在一个实施例中使用的各种捕捉组件。
在一个实施例中,应用组件是数据类型所固有的。在另选的实施例中,对应用组件进行改造以用于特定的数据类型。通常,企业应用存在于关系数据库上。诸如OracleTM、DB2TM及Microsoft SQLTM服务器的能力相对较强的数据库提供便于应用的直接重用的日志传送机制。然而,能力相对较弱的数据库和/或其它半结构化数据或非结构化数据不包括日志传送能力。Microsoft ExchangeTM服务器是存在于不支持日志传送的数据库上的企业服务器的示例。这里所描述的镜像处理提供支持对数据库和/或其它半结构化数据或非结构化数据的镜像处理的日志传送能力。
实施例的提取(或“提取(extract)”)组件可选地将数据格式从相对复杂的应用格式转换成数据管理应用可直接地使用的格式。提取组件提供高性能的、可伸缩的、无损的、灵活的且可扩展的数据转换能力。这里所描述的提取能力由诸如Microsoft ExchangeTM服务器的系统来提供。例如,Microsoft ExchangeTM服务器提供的MAPI及协议,这种接口和协议相对地难以在远程的实用服务器或管理服务器上部署,而且通常不满足管理应用的性能及可伸缩性要求。
索引对象库(IOR)包括对象数据库中的已提取出的(或转换后的)数据对象以及元数据数据库(也称作元数据库或“元数据库(metabase)”)中的与所述对象有关的元数据。这里所使用的对象表示应用感知格式的数据项。存储在对象数据库中的对象的示例是电子邮件消息体,但还有很多其它示例。
可选的过滤器向数据管理应用提供用于对提取处理进行调整或参数设置的API或Web服务能力。
可选的索引机制对索引对象库中的数据及元数据进行操作以寻找模式及关系。当索引机制找到有关的信息时,利用该新信息来对元数据进行增强。可选的是,可以由数据管理应用通过过滤器来引导索引机制。
在一个实施例中,数据管理应用使API或Web服务在聚集数据正在被语义索引时访问该聚集数据。例如,数据管理应用可以在有关的附加数据或元数据已被添加到索引对象库中时得到主动通知或回调。在一个实施例中,实用系统主动地参与对生产服务器的功能的影响、引导、加入或扩充。作为实用系统的一部分的应用可以通过正反馈环或负反馈环以及生产服务器功能的增加而成为生产服务器工作流中的主动参与者或被动参与者,以解决现有的痛点或通过增值来增加产出率。
图3的实施例包括具有三个消息服务器及一个近线服务器的结构。可以有其它部署变型,包括不同数量的同构生产服务器或异构生产服务器、以及可以是集群的、分布式的、网格的一部分或虚拟化的复杂的近线服务器。尽管图3示出了三个消息服务器,但是可以向多个任意的同构服务器/异构服务器提供等同的服务。尽管图3示出了单个近线服务器,但是实际上它可以是集群的、分布式的、复制的或虚拟化的,并且可以分跨多个机器或多个站点。
这里参照示例主机系统来描述镜像方法的实施例。作为示例,在提供Microsoft ExchangeTM服务器的应用组件的日志传送的背景下描述镜像处理,但是这里所描述的镜像处理并不限于Microsoft ExchangeTM服务器。
图4是示出根据实施例的捕捉组件、应用组件及提取组件的框图。捕捉组件生成或提供生产数据的基线完整副本。可以将该完整副本数据直接地传送给用于将密集的应用格式转换成后处理实体所期望的另一格式的提取组件。这里也将该转换处理称作提取或大块到砖块转换。
在捕捉组件不提供应用一致的数据时,实施例可以可选地包括在提取之前对完整副本数据进行清洁和/或修复。在下面将要进一步描述的实施例中,在日志文件(作为示例,示出了“日志文件”1及“日志文件”2)生成时将它们从生产系统传出,并且将它们应用于完整副本,以将完整副本保持为最新的,作为生产数据库的镜像副本。
将镜像处理的捕捉组件构造成使用可以包括备份、快照、复制和/或持续数据保护的一个或更多个数据捕捉能力。图5是根据实施例的在进行镜像时使用的备份捕捉的框图。备份捕捉使用由在生产系统上所运行的应用所提供的备份API。在这个示例中,生产系统为Microsoft ExchangeTM服务器,但是并不限于此。将实用系统构造成偶尔地获得完整备份并频繁地获得增量备份或差量备份。通常按照默认的计划或者管理员设置的计划来运行这两个机制。其它增强或变型包括用于检测到生产系统上已生成新的日志文件并拉过来副本(“动态日志传送”)的能力、或者用于当正在生产系统上写入日志文件时“跟踪(tailing)”日志文件的机制。
图6是根据实施例的在进行镜像时使用的快照捕捉的框图。快照捕捉的快照要么是崩溃一致的要么是应用一致的。通常,通过在无应用参与的情况下打破镜像而获得的“热分离”快照往往是崩溃一致的。应用一致的快照机制的示例是Microsoft Data Protection ManagerTM。快照要么可以是本地的,这要求管理服务器共同位于同一数据中心中,要么可以是远程的。生产系统及实用系统可以是单个计算机,或是它们可以是集群的、复制的和/或分布式的。用于控制及通信的传输通常为LAN、MAN或WAN。可选的SAN可以使数据移动更有效。
对于崩溃一致的快照,可以使用另外的机制来验证快照的一致性(并且可能重复该处理,直到可获得相当一致的副本为止)。所述另外的机制可以清洁并/或修复数据,以使其为应用做好准备。
图7是根据实施例的在进行镜像时使用的复制捕捉的框图。复制可以是数据中心内本地进行的,或者其可以是通过MAN、WAN或SAN远程进行的。复制在可以用于捕捉的实用系统上保持副本。常规的复制共享崩溃一致的镜像的特性,并且可以利用捕捉到可能为应用一致的时间点的“事件流”来对复制进行注释。生产系统及实用系统可以是单个计算机,或者它们可以是集群的、复制的和/或分布式的。用于控制及通信的传输包括LAN、MAN和/或WAN。可选的SAN可以使数据移动更有效。
使用复制来捕捉生产数据包括使用这样的复制技术:捕捉源(例如,生产系统)处的每一个相关写入,并将所捕捉到的写入传播到目标(例如,实用系统)以对其应用数据的副本,从而使副本成为最新。该复制可以是同步式的、异步式的或准同步混合式的。生产系统及实用系统可以是单个计算机,或者它们可以是集群的、复制的或分布式的。如同快照捕捉的情况,可以使用另外的机制来验证快照的一致性,并且清洁并/或修复数据,以使其为应用做好准备。
图8是根据实施例的在进行镜像时使用的CDP捕捉操作的框图。捕捉组件提供在生产系统上已发生的改变流,并提供移动到“任何时间点”(APIT)的能力。利用与生产系统上的事件同步的事件流来注释实施例的改变(APIT)流。可以将定位器模块构造成选择对于应用的使用言最适当的时间点。生产系统及实用系统可以是单个计算机,或者它们可以是集群式系统、复制式系统和/或分布式系统。用于控制及通信的传输包括LAN、MAN或WAN。可选的SAN使数据移动更有效。
图9是示出根据实施例的生成来自生产系统的日志文件的增量更新或差量更新的框图。对日志文件(这里也称作日志(logs)或事务日志)的更新包括将来自捕捉操作的数据加到具有先前的数据库及日志的镜像库中。对日志的更新包括将日志文件应用于数据库以使该数据库成为最新的应用操作或日志应用操作(也称作日志传送)。
对日志的更新可以可选地包括提取操作或大块到砖块转换操作,如这里进一步描述的那样。对得自日志应用操作的数据进行提取操作,以将所得到的数据从密集的应用格式转换成供各种数据管理应用后续使用的一个或更多个目标格式。
图10是根据实施例的包括使用改造后的日志传送来创建合成完整副本的镜像处理的系统1000的框图。系统1000包括进行预写式日志处理的生产系统。出于例示的目的,将参照作为生产系统的组件的MicrosoftExchangeTM来描述图10,但实施例并不限于此。在一个实施例中,生产系统包括Microsoft ExchangeTM服务器及Microsoft ExchangeTM数据库。尽管仅示出了一个数据库,但是生产系统包括一个或更多个数据库。
应用与生产数据库(其在Microsoft ExchangeTM的情况下称作Exchange数据库或EDB)进行通信。当应用检测到对数据库的改变时,它对日志文件进行预写式日志处理。这包括对日志文件追加信息,这比每次发生改变时遍历数据库结构并更新数据库要快得多。追加到日志文件中的信息反映了对数据库中的数据做出的具体改变。
惰性写入装置取得针对数据库的所有已记录但未提交的改变,并将它们写入到磁盘。使用这些日志文件的一个原因是,如果系统突然崩溃,则当系统恢复时,系统可以重放日志文件,从而恢复所有丢失的数据。预写式日志处理通常用于数据库系统,但是其它系统可以具有处理对数据的改变的不同方式。
在数据库系统中使用日志文件的另一方式是创建镜像数据库以在服务器损失或站点损失时提供备份。这被不同地称作日志传送、日志应用或合成完整副本。这些术语中的任一术语暗示取得对生产服务器的增量改变并将它们应用于实用服务器上的数据库副本以使该副本成为最新的各种方法。一些系统(包括Microsoft ExchangeTM)不支持日志传送。无法支持日志传送对数据备份操作、数据存档操作及数据发现操作引入很大的限制。例如,常规上,被设计成向Microsoft ExchangeTM(或不具备日志传送能力的其它系统)提供数据备份操作、数据存档操作及数据发现操作的第三方应用进入EDB并获得数据库的批量版本。如果这个应用重复地获得批量数据库而不应用日志文件,则许多数据库及许多日志文件会积聚起来,从而成为麻烦。因而,为了将数据复原回到ExchangeTM,必须在复原时将所有积聚的日志文件应用于EDB。这使得常规的第三方应用的恢复时间目标(RTO)很长。
如这里所描述地利用合成完整副本来进行镜像处理,允许随着产生日志文件而耗用掉它们,从而改善RTO。另外,根据将要描述的实施例,因为可以得到当前的EDB(包括所应用的日志文件)的副本,所以提取并转换到砖块形式变得可行。
根据实施例,系统1000还包括具有镜像库及IOR的实用系统。一开始,将生产数据库从生产系统复制到实用系统上的镜像数据库中。另外,在日志文件生成时将它们从生产系统传输到镜像库。实施例中的镜像库也存储有STM文件。STM文件是公知格式的用于多媒体的文件,典型地为电子邮件。
在一个实施例中,根据改造后的日志传送操作,每次生成日志文件时,实用系统接收到该日志文件,并将其应用于镜像数据库。作为另一种选择,可以在应用之前对日志文件进行批处理。以应用感知方式将镜像数据库中的数据提取到索引对象库中,并按照使得即使是实用系统外部的数据管理应用也能容易地定位并访问该数据的方式将其存储起来。
图11是根据实施例的获得并应用日志文件的处理的框图。由Microsoft ExchangeTM所使用的可扩展存储引擎(ESE)或“引擎”(这里也称作恢复引擎)也称作JET Blue,是来自Microsoft的索引顺序访问方法(ISAM)数据存储技术。引擎使得客户端应用可以经由索引访问及顺序访问来对数据进行存储和检索。在用于对生产数据库进行镜像的实施例中,实用系统调用引擎,将引擎引向数据库(在这种情况下为EDB)并用于便于镜像处理(包括日志传送及日志应用)。
在一个实施例中,使EDB头指向作为起始日志文件号的特定的日志文件号,然后引擎运行。引擎遍历每个日志文件,并例如通过检查校验和来检查完整性。引擎开始将来自日志文件的事务应用到镜像数据库中。引擎顺序地遍历日志文件,应用每个日志文件。例如,图11中示出了日志文件1至日志文件4。当引擎结束应用最后一个日志文件(日志文件4)时,数据库进入指示数据准备好被复原到生产数据库的“已恢复”状态。在已恢复状态中,再无日志文件可被应用于数据库。在MicrosoftExchangeTM中,这种状态称作“干净关闭(clean shutdown)”状态。这种行为是从磁带成为主要备份存储介质时起就有的产物(artifact)。例如,如果将备份存储到磁带上并从磁带中检索备份,则从不需要应用日志文件多于一次。因而,在一次应用日志文件之后,EDB自动地进入再无日志文件可被应用的状态。常规上,当生产数据库已被备份时,它被转入可以应用日志文件的“已备份”状态。在Microsoft ExchangeTM中,这种状态称作“脏关闭(dirty shutdown)”状态。
根据实施例,为了在任意时间应用日志文件,允许EDB在最后一个日志文件(例如,日志文件4)之后进入干净关闭状态。然后,将EDB头修改成指示其处于脏关闭状态。当实用系统准备好应用新的一组日志文件时,EDB处于脏关闭状态,并且引擎能够应用日志文件。这称作将脏的比特接在EDB的适当的头字段中。EDB及EDB头对特定的实施例是特殊的,但并不限于此。在不同的实施例中,其它系统可以使用如下不同的数据库:在这些数据库中,存在头或其它结构性元数据,可以对所述头或其它结构性元数据进行操作,以实现使得可以使用数据库引擎来应用日志文件(如所描述的)的结果。引擎可以是用于恢复数据库(包括应用已对数据库做出但还未应用于数据库的改变)的任一恢复引擎。
图12是例示包括根据实施例的应用日志文件的镜像处理的实施例的流程图。处理开始,确定是否是第一次运行镜像处理。第一次运行该处理可能发生在镜像库为空时、或者刚安装好实用系统和/或镜像组件时、或者创建了新的库时。如果是第一次运行该处理,则获取生产数据库的完整副本。这包括将生产数据库文件完整地复制到镜像数据库中。
如果不是第一次运行该处理,则获取增量副本。为了获得增量副本,确定是否存在足够的未应用的日志。如果不存在足够的未应用的日志,则该处理等待足够的日志。在一个实施例中,这包括返回到最初的起始点。如果存在足够的未应用的日志,则确定日志是否是顺序的。如果日志文件不是顺序的,则不能应用它们,并获得数据库的完整副本。作为另一种选择,专门地访问生产系统以获取“缺失的”日志文件。因为日志文件的本质是可能具有相互依赖性的多个事务,所以日志文件必须是顺序的。例如,按与微处理器指令的领域相似的方式,数据库事务可以被提交或取消提交。
如果存在足够的日志文件,则对合适的EDB头进行更新。在实践中,存在多个EDB,所以存在多个EDB头。将头更新成参考未被应用的第一个日志文件。调用数据库恢复引擎(在这种情况下为ESE)。引擎用于通过应用日志文件来复制EDB。根据稍后将要描述的实施例,复制的EDB用于后来的从大块到砖块的转换(也称作由提取组件所进行的提取)。
将EDB头更新成指示已备份状态或脏关闭状态,处理返回到起始点。
图12例示了不支持日志传送的生产数据库系统的实施例。实施例也适用于其它系统,例如,文件系统。为了保持一组文件的更新副本,处理从获取一整组文件开始。后来,获得文件系统中的所有已改变的文件,并且前一副本被覆写。作为另一种选择,可以仅获得差异并将其应用于前一副本。这是合成完整副本的另一示例。改造后的日志传送的实施例适用于任何应用数据或非结构化数据。
镜像处理是否保留日志文件以及将日志文件保留多久取决于日志文件是否包括任何未提交的事务。如前所述,每个日志文件可以包括若干事务,并且这些事务中的几个事务可能是未完成的。在某个点有“开始”事务,在另一点有相对应的“结束”事务。当镜像处理遇到“开始”事务时,将其用开括号括起来。当遇到相对应的“结束”事务时,关闭括号。在确认被括号括起来的链中的每个事务都成功地完成之前,将“开始”事务与后来的“结束”事务之间的所有的事务保存起来。如果并非每个事务都成功地完成,则将所述链中的所有的事务回退(roll back)。保留适当的日志文件便于回退。因此,日志文件会积聚起来,并且当应用它们时,检查未完成的事务。如果不存在与日志文件相关联的未完成的事务,则将该日志文件删除。如果存在与日志文件相关联的未完成的事务,则保存该日志文件。
图13是根据另一实施例的镜像处理的流程图,在该实施例中,作为生产系统的一部分的数据库恢复引擎被引向生产数据的副本并用于便于镜像及日志传送。在示例中,数据库恢复引擎是Jet Blue ExchangeTM数据库引擎的一部分,但实施例并不限于此。图13例示了参照图12而描述的用于防止EDB进入已恢复状态的方法的另选方法。图13例示了连续日志应用处理,根据该处理,为了使恢复引擎可以多次应用日志文件而使该引擎停止。
生产系统包括生产数据库(例如,EDB)、生产数据库应用(例如,ExchangeTM)及日志文件(或“日志(logs)”)。实用系统包括镜像数据库及从生产系统传送来的多个日志文件。实用系统的实施例接收到生产数据的副本。最初,接收到整个生产数据库文件的基线副本并将其存储在镜像库中。当生产系统生成变化数据时,实用系统接收到该变化数据。变化数据是记录有对数据库文件做出的改变的任意数据。在一个实施例中,变化数据是一个或更多个日志文件。在一个实施例中,将日志文件从远程的ExchangeTM服务器传输到实用系统的近线服务器。在一个实施例中,日志传送的频率是由计划预先确定的,但是可以按其它方式(例如,管理员通过数据管理应用)确定该频率,或者日志传送可以是事件驱动的。
使用恢复引擎来将变化数据应用于副本。在不具备日志传送能力的系统(例如,ExchangeTM)中,在应用日志文件之后,将正被操作的数据库的状态改变成不允许进一步应用日志文件。在一个实施例中,通过使恢复引擎停止来防止副本进入该状态。当有另外的日志文件准备好被应用时,使恢复引擎启动,从而应用所述另外的日志文件。
图13中所例示的处理是与Microsoft ExchangeTM相关联地进行描述的。然而,该处理适用于其它消息和协作服务器。该处理还可扩展到使用结构化数据、半结构化数据或非结构化数据的一般应用。尽管本示例示出了生产数据库或生产服务器,但是可以向多个同构或异构的数据库或服务器提供等同的服务。相似的是,尽管本示例描述了在一个实施例中包括近线服务器的单个镜像数据库,但是在不同的实施例中,镜像数据库可以是集群的、分布式的、复制的、虚拟化的,并且可以分跨多个机器或多个站点。
图14是根据实施例的包括提取组件的实用系统1400的框图。镜像库包含大块格式的数据库文件。出于提供示例的目的,大块格式包括作为由ExchangeTM所使用的数据结构的B+树结构。通常,在按照B+树来组织数据库文件时,仅ExchangeTM可以对该数据库文件进行操作。并且,在实用系统上运行Exchange是很繁琐的。根据实施例,提取组件进行大块到砖块处理,该大块到砖块处理包括进入到被捕捉到并被存放在实用系统上(例如,近线服务器上)的镜像库中的ExchangeTM数据中。如前所述,镜像库还包括STM文件及日志文件。
实施例的提取组件进行“原始读取”方法及“智能提取”方法。原始读取方法系统地读取B+树,包括数据结构、数据表及内容。因为B+树实际上参考到若干个表(例如,邮箱表、文件夹表、消息表及附件表),因此可以进行有限次数(在一种情况下,根据该树结构,为4次)的查找来搜索叶子项。查找项包括在不是叶子节点的节点处做分支判决,直到找到叶子节点为止。
智能提取方法从利用原始读取方法而读出的原始结构中提取有用的项及元数据。在一个实施例中,将在数据库结构中找到的相同的层次结构结构复制在目录结构或文件系统中。在一个实施例中,目录结构在镜像库(未示出)中,但实施例并不限于此。在目录结构中,项(例如,文件夹、邮箱、电子邮件体、电子邮件头、电子邮件附件等)被放置在叶子节点处。任何应用可以进入到目录结构中并查看项。在一个实施例中,提取组件创建针对所遇到的各ExchangeTM服务器的目录、针对各存储组的目录等,下至叶子项。以这种方式,数据库结构中的密集的数据被暴露在任何应用无需对ExchangeTM进行使性能劣化的访问就可以遍历并搜索的文件系统中。实际的项(叶子项)可以是任何格式的,例如,HTML、Adobe AcrobatTM等。
可选的是,将被提取出的项放置在复合容器(例如,ZIP文件或CAB文件)中来存储。
可选的是,可以将从生产数据库中提取出的项压缩和/或加密。
在一个实施例中,根据分层存储方案,将从生产数据库中提取出的项存储在许多存储位置中的一个存储位置。位置可以指一种存储介质和/或实际的位置。在一个实施例中,分层存储方案包括用于根据内容、年龄、重要性、发件人或收件人来将项放置在层中的预先确定的准则以及许多其它准则。实施例包括用于动态地确定对每个项而言适合于将其存储在其中的层的算法。
提取组件包括用于对例如经OutlookTM或ExchangeTM压缩的项进行解压缩的解压缩算法。提取组件有效地提取数据。在一个实施例中,第一次对EDB进行大块到砖块转换时,对结构进行分析,并且多个提取线程运行,该多个线程中的各线程负责一个邮箱,以使得并行地提取多个邮箱。
索引组件对通过提取处理或大块到砖块处理而创建的目录结构进行遍历以全部进行索引。索引组件寻找消息类型、消息内容等。索引组件创建使得可以对项进行全搜索的索引。例如,可以对字“Tabasco”的出现进行搜索。作为另一示例,可以对讨论1150号缺陷的用户进行搜索。数据替代系统容易地进行这样的搜索,然而使用ExchangeTM来进行这样的搜索是很昂贵的。
将索引的项存储在索引对象库中,并且将与索引的项相关联的元数据存储在元数据库中。生产数据库文件中的元数据指示数据库结构,包括数据表在数据库文件中的位置。存在关于项的元数据、关于指示诸如哪个文件夹在哪个邮箱中之类的事情的元数据等。还存在关于元数据的元数据。在一个实施例中,元数据库包括SQL服务器及SQL数据库。
图15是例示根据实施例的索引处理的流程图。该处理开始对特定的项进行操作。作为示例,项例如可以是AcrobatTM文件。该处理访问项的专有格式,包括确定该格式为何格式。然后,该处理对项的文本进行分析,并在遇到字时将字令牌化。字是可以被令牌化的普通符号,但是格式中所包含的任何其它符号都可以被令牌化。对令牌化的字进行过滤。在一个实施例中,过滤包括去除“噪声”字(例如,“the”、“a”等)。可以根据任何预定的过滤准则来进行过滤以实现排除或包括任何字或符号。
然后,项中的在过滤之后留下的字用于添加到索引查找表中。如果字以前遇到过,则它已经被包含在表中。在这种情况下,将到“新的”位置的指针包含在表中。如果字以前未遇到过,则它不在表中,因此将该字及其关联的指针都添加到表中。以这种方式,建立镜像数据库中的所有的字的索引。
数据替代系统的实施例包括多种最优化。一种最优化称作变化提取。在一个实施例中,原始读取处理在B+树的各节点处比较最新修改日期。变化提取包括确定邮箱、文件夹、消息及附件的最新修改时间的算法。如果最新修改时间与先前的最新修改时间没有不同,则读取不进行到B+树中的更低层。这大大地缩短了在最初完全地提取生产数据库之后的提取时间。例如,最初提取可能花费6小时,而后续的提取(每30分钟进行一次)可能花费5分钟至10分钟。变化提取不能处理诸如用户将项从一个文件夹移动到另一文件夹的多种情况。其它最优化对项进行更详细的检查以检测诸如移动及删除的改变。下面将描述这些其它最优化。在一个实施例中,为了提高效率,提取处理为两部处理,但是实施例并不限于此。第一部包括运行得很快的变化提取。第二部在带外运行,捕捉诸如移动及删除的改变。
另一种最优化称作单实例化或去除重复。每次进行大块到砖块提取处理时,提取组件查看生产数据库文件的历史图,该历史图随时间而不断地改变。然而,自上次大块到砖块处理以后,很多项(消息或附件等)可能未改变。根据实施例,提取组件确定在先前的大块到砖块处理的过程中是否已将项存储在实用系统上。如果是这样,则没有必要使用更多的存储空间来再次存储该项。而是将到现有的消息的指针存储起来。
另一种最优化称作变化实例化,根据这种最优化,仅保存对项的改变,而不是整个改变后的项。作为示例,假设将带有附件的消息从Peter发送给Roy。Roy对附件做出改变并将其发送给Rick,Rick继续发送该附件(也许有改变或没有改变),等。在提取组件对数据库文件进行操作时,它得知存在附件文档的四个实例。在一个实施例中,对实例的密码校验和进行比较。如果对项做出改变,则与该项相关联的校验和改变。在一个实施例中,如果单实例化揭示存在附件文档的四个不同的版本,则进行求差异(diff)以找到差异。如果原始版本与后来的版本之间的差异相对地小,则将原始版本存储起来,并且对于后来的版本仅存储差异。
在检测改变时的另一考虑是,为了遵从性目的而应当有效地存储所有的改变。不应当覆写较旧的版本,以使得可以重新创建准确的历史图。在一个实施例中,在第一次提取消息时,将消息及附件整体地以加密的方式散列,将消息及附件唯一地识别为字符串。该校验和或散列也称作集合消息校验和。后来,当为做出请求的用户检索到该消息时,生成另一校验和,并将该另一校验和与在存储时计算出的校验和相比较以确定它们是否匹配。如果它们不匹配,则所请求的项在这期间被触及了。
返回到该处理中的在将要被存储的消息最初地散列时的点,在生成集合校验和之后,将消息分解成消息头、消息体及零个或更多个附件。对集合消息中的所有的单独的项进行检查以确定以前是否看到过它们,包括对校验和或散列进行比较。将散列存储在将各散列与项的存储位置关联起来的表中。这构成了将散列映射到存储位置的散列表。在一个实施例中,将散列表作为元数据保持在元数据库中,但是实施例并不限于此。
因为如果用户无论何时访问项,则散列改变,所以存储项的加密散列提供了篡改检测。另外,加密散列便于检测被移动的项。如果消息被从一个位置移动到另一位置,则尽管它并不是新的项,但是它最初表现为新的项。实施例包括关于自上次以后哪些消息消失了以及自上次以后哪些消息出现过的变化检测。实施例还进行加密散列,以确定消息是否确实是新的。实施例还检查作为MAPI性质的、项的条目ID。无论项被移动到哪里或被移动了多少次,条目ID都不改变。
当在提取处理中遇到带有附件的不同消息时,附件可能是相同的。在分解这些消息时,检查附件的校验和。在遇到先前已被存储的附件时,将到该先前已被存储的附件的指针存储起来。
在一个实施例中,还保持每个项的引用计数。例如,每次遇到附件时,将引用计数递增。每次删除附件(例如,因为删除了消息)时,引用计数递减。在一个实施例中,将引用计数作为元数据保持在元数据库中,但是实施例并不限于此。
图16是根据实施例的散列表的框图。该散列表包括左侧的用于引用计数的栏。引用计数0(CNT0)指项0,并以此类推。引用计数按前面描述的方式递增或递减。散列表还包括右侧的用于散列号及相对应的位置的数据库(DB)栏。各散列号唯一地确定一项。各位置条目指向所关联的项在索引对象库中的位置。
图17例示了根据实施例的提取处理或大块到砖块处理的流程图。大块到砖块处理开始对包含来自生产系统的、以正在进行的方式应用日志文件而将其保持为最新的镜像数据库文件的镜像数据库进行操作。在一个实施例中,做出镜像数据库的单独的副本,并且提取组件对该副本进行操作,但是实施例并不限于此。
列举数据库文件的结构性元数据。在所给出的示例中,引用了ExchangeTM数据库结构,但是实施例适用于任何数据库结构。结构性元数据指示如何布置数据库、时间戳信息等。然后,列举项元数据。对数据库结构中的文件夹进行遍历以对改变的文件夹进行定位。这包括检查时间戳。如果文件夹未改变,则文件夹的内容未改变,因此该处理不进入到该文件夹中。列举改变的文件夹中/下的叶子项,并且对各叶子文件夹进行求差异以确定自上次运行提取处理以后发生了哪些改变。将项与它们的元数据一起提取。将项例如分解成消息体、消息头、附件等。将分解后的项与适当的信息一起存储在前述散列表中。然后,该处理结束。但是,该处理通常以定期的方式(例如,每30分钟)自动地重新运行。这保持索引对象库由可作为存档、备份等而被访问的、非常新的数据来填充。作为另一种选择,提取处理或大块到砖块处理可以根据需要、在管理员要求时运行。
图18例示了根据实施例的对索引项的自助访问的框图。如前所述,很多应用可以容易地对保持在实用系统中的索引项库中的、来自生产系统的项的最新存档进行访问。索引项库本质上是包含任意应用格式的项的可搜索的文件系统。另外,元数据库(在一个实施例中为SQL服务器及SQL数据库)存储有使得能够实现穷举搜索功能、审计功能、监视功能及监督功能的完整且准确的元数据。图18例示了包括作为由MimosaTM System公司所提供的一次通过保护及数据管理(例如,如图2中所例示的)的一部分的自助服务的实施例。
生产系统包括Microsoft ExchangeTM服务器及数据库。在其它实施例中,可以存在多种生产服务器及数据库来替代ExchangeTM。在时间T1,ExchangeTM服务器向用户节点处的用户呈示逻辑视图。所述用户节点是诸如个人计算机(PC)的任何访问设备。用户通过诸如OutlookTM的客户端应用来观看逻辑视图。对于逻辑视图,ExchangeTM服务器具有很多邮箱。用户通常仅能访问该用户自己的邮箱。用户邮箱具有依次可以包括注释、日历项、消息、任务等的多个文件夹。并且文件夹还可以具有其它文件夹。叶子节点为诸如消息的项。
该逻辑视图是与包括邮箱存储器中的多个存储组内所包含的EDB、STM及日志文件的、Exchange服务器的“物理”视图相对照的。在以大块提取数据时,是在物理视图中,而在以砖块提取数据时,是在逻辑视图中。如这里所描述的,一次通过保护及数据管理使得可以在无需缓慢的、单独的砖块提取的情况下完全地以砖块形式存档。另外,在砖块级或逻辑视图,任何数据管理应用可容易地访问存档。
参考在时间T1的用户节点,显示了具有消息视图的OutlookTM画面。在消息视图的左侧分层次地布置有文件夹的列表。消息视图的右侧为消息项的列表。该视图只是应用所呈示的视图的一个示例。在T1,OutlookTM可能正在使用MAPI(也可能是POP3或其它消息协议)来与ExchangeTM对话。在T1,每次用户点击文件夹时就看到由ExchangeTM使用MAPI而呈示的视图。
然而,在左侧的列表中存在由MimosaTM所创建的、称作MimosaTM存档(可以将其重新命名)的专用文件夹。当用户点击MimosaTM文件夹时,使用与MAPI不同的协议。在一个实施例中,文件夹调用正在与MimosaTM实用系统对话的网络服务。对用户而言显然的是,在点击MimosaTM文件夹之后,不与Exchange通信。这个技术称作“文件夹主页”。
在一个实施例中,文件夹主页能力使得用户可以使用OutlookTM消息视图来访问索引对象库。点击MimosaTM文件夹调用访问MimosaTM实用系统的网络链接,该MimosaTM实用系统包括如前所述的MimosaNearPointTM服务器上的索引对象库以及包含元数据的SQL服务器及SQL数据库。
在时间T2(点击MimosaTM文件夹之后),用户节点的显示看似OutlookTM消息视图,但是右侧信息是由MimosaTM来呈示的。例如,显示的右侧可以识别要针对搜索请求而输入的信息。当用户做出请求(无论是搜索请求还是浏览请求)时,该请求被传送到SQL数据库,以使用所存储的元数据来识别该用户的文件夹、附件、消息等。向用户呈示元数据的虚拟视图,所以他们可以看到他们的邮箱、文件夹、附件等。如果用户点击附件并指示期望查看该附件,则找到消息或附件,将其重新构造并发送回。用户可以按任一常用方式对被返回的项进行操作,例如,呈示消息、转发消息、删除消息等。
在一个实施例中,点击MimosaTM文件夹呈示快速搜索视图。在快速搜索视图中,用户可以输入搜索词并点击回车。网络服务(例如,SOAP、XML、HTTP等)呈示该搜索词,并且MimosaTM对该搜索词进行分析以确定应当呈示什么视图。MimosaTM进行针对与搜索词相关联的项的数据库搜索。然后,将返回的搜索结果呈示在OutlookTM画面的右侧。
用户查找的内容可能被存储在存储器的多层中的任一层中。例如,根据实施例的信息生命周期管理功能,按照不同的因素(包括年龄)而将项智能地脱机存储(例如,远程地存储在磁带上)。取决于项是什么或者读者是谁,可以快速地或不太快地检索到该项。如果用户搜索被脱机存储的消息,则可以快速地返回诸如信息头的元数据(而不是消息体)以供查看。在很多情况下,用户可能不需要查看比元数据更多。然而,如果用户想要查看脱机数据,则用户可以选择一个或更多个脱机消息,并指示要检索它们。处理从磁带中检索所请求的消息,并将它们异步地返回。例如,在请求之后一小时左右,用户接收到带有所有请求的消息的.pst文件。
图18例示了能够利用这里所描述的数据替代方法及设备来实现的强大且深入的数据管理能力的仅一个示例。许多其它使用是可能的,并且很多应用(例如,除了OutlookTM之外)可以按很多其它方式来访问索引对象库。例如,如果用户是审计员,则该用户可以查看允许他们查看的多个邮箱。如果用户在进行电子发现,则该用户可以使用做查询并给予用户得到的数据的胖客户端。通常,审计员进行监视及监督。这包括查看消息、对其做注释、做笔记、然后将该消息存储回存档中。在这种情况下,存储用于反映审计员的注释的另外的附加元数据。消息及经注释的元数据总是可访问的。后来,如果有人想要进行法律发现,则可将所有有关的消息及所有的元数据(例如,审计员的注释)例如作为.pst文件来输出。
使用这里所描述的实施例,使多层数据管理变得容易。例如,较高级的审计员可能需要评述较低级别的审计员的行为。较低级别的审计员可能做简单的模式匹配。可能有许多较低级别的审计员。
可以将较低级别的审计员的工作传送给高级审计员来查看。企业可能还需要将审计结果结合起来以验证审计员确实正在做他们的工作。例如,可能期望审计员每天查看X个消息。能够证明这种情况的发生通常是与法律或规则的遵从性所需的。实施例使得能够实现这种及很多其它类型的定制审计、跟踪及报告。审计员或用户能够看到他们自己的、数据的逻辑视图。在消息生产系统的示例中,可以由ExchangeTM来呈示逻辑视图,但是利用MimosaTM来对数据进行存档、管理及访问。
图19是根据实施例的具有这里所描述的数据替代能力的实用系统体系结构的框图。实用系统包括与镜像数据库、差异数据库及索引对象库(IOR)数据库相通信的一个或更多个近线服务器(为方便起见仅示出了一个近线服务器)。实用系统还包括一个或更多个结构化查询语言(SQL)服务器。SQL服务器是由Microsoft所出品的关系数据库管理系统(RDBMS)。它的主要查询语言是Transact-SQL,是ANSI/ISO标准SQL的一种实现。也可以使用其它RDBMS。而且,可以使用多于一个SQL服务器。SQL服务器使用SQL数据库及存储日志文件的日志数据库。
实用系统还包括框架、多个处理程序(handler)及队列(例如,示出了通知队列及任务队列)。实用系统还包括工作流。在一个实施例中,实用系统接收到请求。请求的示例包括计时器被激活、或者用户或管理员做出请求。请求将其自身表现为被置于通知队列中的通知。框架从通知队列中抓取通知,并在工作流中查询它,以确定如何处理这个特定的通知。框架查询工作流,然后取决于它从工作流中所获悉的而调用适当的处理程序。框架将通知置于任务队列中。处理程序从任务队列中取得通知并接着按适当的方式处理该通知。
框架确定是否成功地处理了请求,并确定接下来要做什么。框架查看工作流以得到下一通知并调用下一处理程序,处理继续。该体系结构允许“热代码加载”。例如,在一个实施例中,将包括与这里所描述的数据替代能力有关的代码在内的实用系统软件代码以处理程序的形式编写。这是有利的,特别是在现场的系统的情况下,这是因为可以通过简单地安装一个或更多个新的处理程序来容易地更新系统。如果新的处理程序有任何问题,则可以废弃该新的处理程序而使用其本来要替代的处理程序。
预期包括对结构化数据、半结构化数据及非结构化数据的大块到砖块转换的多维替代的许多变型例在所要求保护的本发明的范围内。在不同的实施例中,大块到砖块转换是动态的,这与根据预先确定的计划而发生相对照。
在不同的实施例中,这里所描述的大块到砖块转换可以对具有除了明确地描述的生产服务器及数据库之外的生产服务器及数据库的不同的生产系统进行操作。例如,可以按这里所描述的方式对任意结构化数据、半结构化数据及非结构化数据进行操作。
尽管这里使用使得能够实现电子邮件的消息服务器及数据库来说明实施例,但是所描述的实施例同样适用于即时消息(IM)、IP语音(VOIP)消息及其它形式的数据。在某些情况下,已经将语音邮件消息作为电子邮件附件而存储在Exchange中,使得可以将语音邮件消息作为项数据而按照这里所描述的方式对其进行操作。本发明的实施例还适用于这里未明确地描述的、许多其它形式的数据或系统体系结构。
在不同的实施例中,索引对象库对于数据管理应用的可用性可以是针对正被处理修改的实际的数据,或者可以是针对该数据的副本,或者可以是它们的某种组合。这可以以API或网络服务的形式或者等同的形式得到。
上述多维替代的组件可以包括一起操作的计算组件及设备的任何集合。多维替代的组件还可以是更大的计算机系统或网络内的组件或子系统。多维替代的组件还可以按任意数量的组合连接在任意数量的组件(未示出)(例如,其它总线、控制器、存储设备及数据输入/输出(I/O)设备)之中。此外,可以将多维替代的功能分布于任意数量的其它基于处理器的组件之中或其它基于处理器的组件的任一组合之中。
实施例的信息管理包括以下方法:该方法包括确定数据的第一结构。实施例的第一结构是专有结构。实施例的方法包括使用第一结构的信息来对数据的项进行分析。实施例的方法包括通过将项组织成保持第一结构的层次结构的第二结构来动态地转换数据。
实施例的方法包括经由多个应用来提供对第二结构中的项的至少一部分的访问。
实施例的提供访问包括使用与用于访问第一结构的数据的第一协议不同的第二协议来提供访问。
实施例的方法包括使用第二协议来访问第二结构并使用第一协议来访问第一结构。实施例的第一协议与第二协议不同。
实施例的第一协议包括消息应用编程接口(MAPI)协议、邮局协议(POP)及因特网消息访问协议(IMAP)中的一个或更多个。
实施例的第二结构存储在第二服务器上。实施例的数据的原始版本存储在第一服务器上。
实施例的分析是按照预定的间隔来进行的。
实施例的分析是根据数据的状态的改变来进行的。
实施例的分析是根据数据的可用性来进行的。
实施例的分析包括对项中的多个项的并行的分析。
实施例的分析包括系统地读取数据的信息。实施例的信息包括表及项中的一个或更多个。
实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
实施例的项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的方法包括在第二服务器上生成数据的镜像副本。实施例的数据的原始版本存储在第一服务器上。
实施例的分析包括对镜像副本的项进行分析。
实施例的方法包括对项中的一个或更多个项进行解压缩。
实施例的组织包括将项的信息的第一部分传送到第一文件中并将项的信息的第二部分传送到第二文件中。
实施例的组织包括将项索引到第二结构。
实施例的组织包括遍历第一结构并对项的信息进行定位。
实施例的项的信息包括项的类型及内容中的一个或更多个。
实施例的索引包括生成与项相对应的索引。实施例的索引包括使用项的信息来将项与索引相关联。
实施例的方法包括将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的方法包括,在修改信息表明自前一实例以后项未被修改时,将遍历停止在第一结构中的当前节点处。
实施例的修改信息包括修改日期及修改时间中的一个或更多个。
实施例的方法包括确定项是否为先前已被存储在第二结构中的先前遇到过的项。实施例的方法包括生成到先前遇到过的项的指针。
实施例的方法包括将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的方法包括,在修改信息表明自前一实例以后项被修改过时,将该项的差异信息索引。
实施例的差异信息包括项的当前版本与至少一个先前修改过的版本之间的改变的信息。
实施例的组织包括通过生成校验和来将项的每个实例的信息散列。
实施例的方法包括通过对第二结构中的项的不同实例的校验和进行比较来确定自组织以后项是否被改变。实施例的确定是响应于从第二结构中检索项的请求而进行的。
实施例的方法包括将校验和传送到散列表。
实施例的方法包括将项分解成至少一个组成部分。
实施例的项是电子邮件消息,其中,至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
实施例的索引包括将项传送到索引对象库中。
实施例的索引包括将项的元数据传送到元数据库中。
实施例的方法包括在第二服务器处接收多个变化数据。实施例的变化数据描述对第一服务器中的数据的增量改变。实施例的方法包括在第二服务器处生成数据的更新版本。实施例的生成更新版本包括将变化数据应用于第二服务器上的、数据的副本。实施例的方法包括使用第二服务器中的组成部分的修改后的信息来控制应用。
实施例的组成部分包括数据的副本的结构性元数据。
实施例的组成部分包括变化数据的日志文件。
实施例的方法包括修改组成部分。
实施例的组成部分是副本的结构性元数据。
实施例的修改包括检测副本的第一状态。实施例的第一状态指示已将变化数据应用于副本。
实施例的修改包括将第一状态改变成第二状态。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据来生成另一更新版本。
实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的另外的日志文件是在生成更新版本之后被接收到的。
实施例的方法包括更新副本的结构性元数据为参考第一未应用变化数据。实施例的第一未应用变化数据是未应用于副本的第一个日志文件。
实施例的应用包括调用第一服务器的引擎。
实施例的组成部分是变化数据的日志文件。
实施例的应用包括调用第一服务器的引擎,终止包括使该引擎停止。
实施例的方法包括在第二服务器处接收来自第一服务器的、数据的副本。
实施例的副本是完整副本及增量副本中的一个或更多个。
实施例的方法包括将更新版本传送到索引对象库。
实施例的生成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个。
实施例的自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
实施例的自动触发包括更新版本的内容。
实施例的计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
实施例的事件通知包括与对数据的项的改变相对应的通知。
实施例的请求包括用户、服务器及应用中的一个或更多个对数据的访问尝试及配置尝试中的至少一个。
实施例的第二服务器包括近线服务器。
实施例的生成是准实时的并维护数据的完全的完整性及一致性。
实施例的方法包括维护更新版本。实施例的维护包括通过对更新版本应用至少一组日志文件来生成另一更新版本。实施例的至少一组日志文件在时间上比多个日志文件更晚地被接收到。
实施例的第一服务器包括本地服务器、远程服务器、数据服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
实施例的数据是Exchange数据,实施例的第一结构是B+树结构。
实施例的第二结构是复合数据容器。
实施例的层次结构是使用元数据来保持的。
实施例的层次结构是使用文件结构来保持的。
实施例的信息管理包括以下方法:该方法包括确定数据的第一结构。实施例的方法包括将数据动态地转换成保持第一结构的层次结构的第二结构。实施例的方法包括利用多个应用经由与用于访问第一结构的数据的第一协议不同的第二协议来提供对第二结构的数据的访问。
实施例的动态地转换包括对数据的项进行分析并将项组织成第二结构。
实施例的分析是根据预定的间隔、数据的状态的改变及数据的可用性中的一个或更多个而进行的。
实施例的分析包括系统地读取数据的信息,该信息包括表及项中的一个或更多个。
实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个,其中,项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的第二结构存储在近线服务器上。实施例的数据的原始版本存储在第一服务器上。
实施例的方法包括在近线服务器上生成数据的镜像副本。实施例的数据的原始版本存储在第一服务器上。
实施例的转换包括将数据的项组织成第二结构。
实施例的组织包括将项的信息的第一部分传送到第一文件中并将项的信息的第二部分传送到第二文件中。
实施例的组织包括将项索引到第二结构。
实施例的组织包括遍历第一结构并对项的信息进行定位。
实施例的方法包括将项中的每个项分解成至少一个组成部分。
实施例的项是电子邮件消息。实施例的至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
实施例的信息管理包括计算机可读介质,该计算机可读介质包括可执行指令,当在处理系统中执行可执行指令时,可执行指令通过确定数据的第一结构来支持对数据的大块到砖块提取,其中,第一结构是专有结构。实施例的指令在被执行时,使用第一结构的信息来对数据的项进行分析。实施例的指令在被执行时,通过将项组织成保持第一结构的层次结构的第二结构来动态地转换数据。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的第一服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成确定数据的第一结构的转换系统。实施例的第一结构是专有结构。实施例的转换系统被构造成使用第一结构的信息来对数据的项进行分析。实施例的转换系统被构造成通过将项组织成保持第一结构的层次结构的第二结构来动态地转换数据。
实施例的系统被构造成经由多个应用来提供对第二结构中的项的至少一部分的访问。
实施例的提供访问包括使用与用于访问第一结构的数据的第一协议不同的第二协议来提供访问。
实施例的系统被构造成允许第二协议访问第二结构。实施例的第一协议用于访问第一结构。实施例的第一协议与第二协议不同。
实施例的第一协议包括消息应用编程接口(MAPI)协议、邮局协议(POP)及因特网消息访问协议(IMAP)中的一个或更多个。
实施例的第二结构存储在近线服务器上。实施例的数据的原始版本存储在第一服务器上。
实施例的系统被构造成按照预定的间隔来进行分析。
实施例的系统被构造成根据数据的状态的改变来进行分析。
实施例的系统被构造成根据数据的可用性来进行分析。
实施例的系统被构造成对项中的多个项同时地进行分析。
实施例的系统被构造成通过系统地读取数据的信息来进行分析,该信息包括表及项中的一个或更多个。
实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
实施例的项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的系统被构造成在近线服务器上生成数据的镜像副本。实施例的数据的原始版本存储在第一服务器上。
实施例的分析包括对镜像副本的项进行分析。
实施例的系统被构造成对项中的一个或更多个项进行解压缩。
实施例的系统被构造成通过将项的信息的第一部分传送到第一文件中并将项的信息的第二部分传送到第二文件中来进行组织。
实施例的系统被构造成通过将项索引到第二结构来进行组织。
实施例的系统被构造成通过遍历第一结构并对项的信息进行定位来进行组织。
实施例的项的信息包括项的类型及内容中的一个或更多个。
实施例的系统被构造成通过生成与项相对应的索引来索引。实施例的转换系统被构造成通过使用项的信息来将项与索引相关联从而进行索引。
实施例的系统被构造成将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的系统被构造成在修改信息表明自前一实例以后项未被修改时,将遍历停止在第一结构中的当前节点处。
实施例的修改信息包括修改日期及修改时间中的一个或更多个。
实施例的系统被构造成确定项是否为先前已被存储在第二结构中的先前遇到过的项。实施例的系统被构造成生成到先前遇到过的项的指针。
实施例的系统被构造成将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的系统被构造成在修改信息表明自前一实例以后项被修改过时,将该项的差异信息索引。
实施例的差异信息包括项的当前版本与至少一个先前修改过的版本之间的改变的信息。
实施例的系统被构造成通过生成校验和来将项的每个实例的信息散列从而进行组织。
实施例的系统被构造成通过对第二结构中的项的不同实例的校验和进行比较来确定自组织以后项是否被改变。实施例的确定是响应于从第二结构中检索项的请求而进行的。
实施例的系统被构造成将校验和传送到散列表。
实施例的系统被构造成将项分解成至少一个组成部分。
实施例的项是电子邮件消息。实施例的至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
实施例的系统被构造成通过将项传送到索引对象库中来索引。
实施例的系统被构造成通过将项的元数据传送到元数据库中来索引。
实施例的系统被构造成在近线服务器处接收多个变化数据,其中,变化数据描述对第一服务器中的数据的增量改变。实施例的系统被构造成在近线服务器处生成数据的更新版本。实施例的生成更新版本包括将变化数据应用于近线服务器上的、数据的副本。实施例的系统被构造成使用近线服务器中的组成部分的修改后的信息来控制应用。
实施例的组成部分包括数据的副本的结构性元数据。
实施例的组成部分包括变化数据的日志文件。
实施例的系统被构造成修改组成部分。
实施例的组成部分是副本的结构性元数据。
实施例的系统被构造成通过检测副本的第一状态来进行修改。实施例的第一状态指示已将变化数据应用于副本。
实施例的系统被构造成通过将第一状态改变成第二状态来进行修改。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据来生成另一更新版本。
实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的另外的日志文件是在生成更新版本之后被接收到的。
实施例的系统被构造成更新副本的结构性元数据为参考第一未应用变化数据。实施例的第一未应用变化数据是未应用于副本的第一个日志文件。
实施例的系统被构造成通过调用第一服务器的引擎来进行应用。
实施例的组成部分是变化数据的日志文件。
实施例的系统被构造成通过调用第一服务器的引擎来进行应用,终止包括使该引擎停止。
实施例的系统被构造成在近线服务器处接收来自第一服务器的、数据的副本。
实施例的副本是完整副本及增量副本中的一个或更多个。
实施例的系统被构造成将更新版本传送到索引对象库。
实施例的系统被构造成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个而进行生成。
实施例的自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
实施例的自动触发包括更新版本的内容。
实施例的计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
实施例的事件通知包括与对数据的项的改变相对应的通知。
实施例的请求包括用户、服务器及应用中的一个或更多个对数据的访问尝试及配置尝试中的至少一个。
实施例的系统被构造成准实时地生成并维护数据的完全的完整性及一致性。
实施例的系统被构造成通过对更新版本应用至少一组日志文件来生成另一更新版本,从而保持更新版本,至少一组日志文件在时间上比多个日志文件更晚地被接收到。
实施例的第一服务器包括本地服务器、远程服务器、数据服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
实施例的数据是Exchange数据,实施例的第一结构是B+树结构。
实施例的第二结构是复合数据容器。
实施例的层次结构是使用元数据来保持的。
实施例的层次结构是使用文件结构来保持的。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的第一服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成确定数据的第一结构的转换系统。实施例的转换系统被构造成将数据动态地转换成保持第一结构的层次结构的第二结构。实施例的转换系统被构造成利用多个应用经由与用于访问第一结构的数据的第一协议不同的第二协议来提供对第二结构的数据的访问。
实施例的系统被构造成通过对数据的项进行分析并将该项组织成第二结构来动态地转换。
实施例的系统被构造成根据预定的间隔、数据的状态的改变及数据的可用性中的一个或更多个来进行分析。
实施例的系统被构造成通过系统地读取数据的信息来进行分析,该信息包括表及项中的一个或更多个。
实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个,其中,项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的第二结构存储在近线服务器上。实施例的数据的原始版本存储在第一服务器上。
实施例的系统被构造成在近线服务器上生成数据的镜像副本。实施例的数据的原始版本存储在第一服务器上。
实施例的系统被构造成通过将数据的项组织成第二结构来进行转换。
实施例的系统被构造成通过将项的信息的第一部分传送到第一文件中并将项的信息的第二部分传送到第二文件中来进行组织。
实施例的系统被构造成通过将项索引到第二结构来进行组织。
实施例的系统被构造成通过遍历第一结构并对项的信息进行定位来进行组织。
实施例的系统被构造成将项中的每个项分解成至少一个组成部分。
实施例的项是电子邮件消息。实施例的至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
实施例的信息管理包括以下设备:该设备包括连接到近线服务器的转换系统。实施例的转换系统被构造成确定数据的第一结构。实施例的数据存储在连接到近线服务器的第一服务器上。实施例的转换系统被构造成将数据动态地转换成保持第一结构的层次结构的第二结构。实施例的转换系统被构造成利用多个应用经由与用于访问第一结构的数据的第一协议不同的第二协议来提供对第二结构的数据的访问。
实施例的信息管理包括以下方法:该方法包括接收原始数据的副本以及包含对原始数据的改变的信息的变化数据。实施例的方法包括通过在接收到变化数据时将该变化数据应用于副本来生成并维护副本的更新版本。实施例的方法包括通过组织数据的项来将更新版本从第一结构动态地转换成保持第一结构的层次结构的第二结构。
实施例的生成并维护是与接收异步的。
实施例的应用是根据间隔的。实施例的间隔是基于时间及事件中的一个或更多个的。
实施例的变化数据包括多个实例的原始数据之间的增量差异的数据。
实施例的变化数据包括多个实例的原始数据之间的差量差异的数据
实施例的方法包括使用组成部分的修改后的信息来控制应用。
实施例的原始数据存储在第一服务器处,副本存储在第二服务器处。实施例的组成部分是第二服务器中的组成部分。
实施例的第一服务器包括近线服务器。
实施例的第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
实施例的组成部分包括副本的结构性元数据。
实施例的组成部分包括变化数据的日志文件。
实施例的方法包括修改组成部分。
实施例的组成部分是副本的结构性元数据。
实施例的修改包括检测副本的第一状态。实施例的第一状态指示已将变化数据应用于副本。
实施例的修改包括将第一状态改变成第二状态。实施例的第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据来生成另一更新版本。
实施例的将第一状态改变成第二状态包括修改副本的结构性元数据。
实施例的变化数据是多个日志文件。实施例的组成部分是多个日志文件中的日志文件。
实施例的应用包括调用存放有原始数据的第一服务器的引擎,控制包括使该引擎停止。
实施例的方法包括确定第一结构。实施例的第一结构是专有结构。实施例的方法包括使用第一结构的信息来对数据的项进行分析。实施例的分析包括系统地读取数据的信息。实施例的信息包括表及项中的一个或更多个。实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。实施例的项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的组织包括将数据的项索引到第二结构。
实施例的组织包括遍历第一结构并对项的信息进行定位。
实施例的项的信息包括项的类型及内容中的一个或更多个。
实施例的索引包括生成与项相对应的索引。实施例的索引包括使用项的信息来将项与索引相关联。
实施例的方法包括将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的方法包括,在修改信息表明自前一实例以后项未被修改时,将遍历停止在第一结构中的当前节点处。
实施例的方法包括确定项是否为先前已被存储在第二结构中的先前遇到过的项。实施例的方法包括生成到先前遇到过的项的指针。
实施例的方法包括将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的方法包括,在修改信息表明自前一实例以后项被修改过时,将项的差异信息索引。
实施例的差异信息包括项的当前版本与至少一个先前修改过的版本之间的改变的信息。
实施例的组织包括通过生成校验和来将项的每个实例的信息散列。
实施例的方法包括通过对第二结构中的项的不同实例的校验和进行比较来确定自组织以后项是否被改变。实施例的确定是响应于从第二结构中检索项的请求而进行的。
实施例的方法包括将校验和传送到散列表。
实施例的方法包括将项分解成至少一个组成部分。
实施例的索引包括将项传送到索引对象库中。
实施例的索引包括将项的元数据传送到元数据库中。
实施例的方法包括经由多个应用来提供对第二结构中的项的至少一部分的访问。
实施例的提供访问包括使用与用于访问第一结构的数据的第一协议不同的第二协议来提供访问。
实施例的方法包括将更新版本传送到索引对象库。
实施例的生成是准实时的并维护原始数据的完全的完整性及一致性。
实施例的原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
实施例的方法包括保持更新版本。实施例的保持包括通过对更新版本应用至少一组日志文件来生成另一更新版本。实施例的至少一组日志文件在时间上比多个日志文件更晚地被接收到。
实施例的信息管理包括以下方法:该方法包括在第一服务器处接收多个变化数据。实施例的变化数据包括对第二服务器中的原始数据的改变的信息。实施例的方法包括通过将多个变化数据中的至少一个变化数据应用于原始数据的副本并使用第一服务器中的组成部分的修改后的信息来控制应用,从而在第一服务器处动态地生成并维护原始数据的副本的更新版本。实施例的方法包括通过组织数据的项来将数据从第一结构动态地转换成保持第一结构的层次结构的第二结构。
实施例的信息管理包括计算机可读介质,该计算机可读介质包含可执行指令,当在处理系统中执行可执行指令时,可执行指令通过接收原始数据的副本以及包含对原始数据的改变的信息的变化数据来支持信息管理。所述指令在被执行时,通过在接收到变化数据时将该变化数据应用于副本来生成并维护副本的更新版本。所述指令在被执行时,通过组织数据的项来将更新版本从第一结构动态地转换成保持第一结构的层次结构的第二结构。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的一个或更多个服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成接收原始数据的副本以及包含对原始数据的改变的信息的变化数据的信息系统。实施例的信息系统被构造成通过在接收到变化数据时将该变化数据应用于副本来生成并维护副本的更新版本。实施例的信息系统被构造成通过组织数据的项来将更新版本从第一结构动态地转换成保持第一结构的层次结构的第二结构。
实施例的系统被构造成与接收异步地生成并维护。
实施例的系统被构造成应用包括根据间隔来进行应用。实施例的间隔是基于时间及事件中的一个或更多个的。
实施例的变化数据包括多个实例的原始数据之间的增量差异的数据。
实施例的变化数据包括多个实例的原始数据之间的差量差异的数据。
实施例的系统被构造成使用组成部分的修改后的信息来控制应用。
实施例的原始数据存储在第一服务器处,副本存储在第二服务器处。实施例的组成部分是第二服务器中的组成部分。
实施例的第一服务器包括近线服务器。
实施例的第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
实施例的组成部分包括副本的结构性元数据。
实施例的组成部分包括变化数据的日志文件。
实施例的系统被构造成修改组成部分。
实施例的组成部分是副本的结构性元数据。
实施例的系统被构造成通过检测副本的第一状态来进行修改。第一状态指示已将变化数据应用于副本。
实施例的系统被构造成通过将第一状态改变成第二状态来进行修改。第二状态是以下状态:从该状态,能够通过对更新版本应用另外的变化数据来生成另一更新版本。
实施例的系统被构造成通过修改副本的结构性元数据来将第一状态改变成第二状态。
实施例的变化数据是多个日志文件。实施例的组成部分是多个日志文件中的日志文件。
实施例的系统被构造成通过调用存放有原始数据的第一服务器的引擎来进行应用,控制包括使该擎停止。
实施例的系统被构造成确定第一结构。实施例的第一结构是专有结构。
实施例的系统被构造成使用第一结构的信息来对数据的项进行分析。
实施例的系统被构造成通过系统地读取数据的信息来进行分析。实施例的信息包括表及项中的一个或更多个。
实施例的表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
实施例的项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
实施例的系统被构造成通过将数据的项索引到第二结构来进行组织。
实施例的系统被构造成通过遍历第一结构并对项的信息进行定位来进行组织。
实施例的项的信息包括项的类型及内容中的一个或更多个。
实施例的系统被构造成通过生成与项相对应的索引来索引。实施例的系统被构造成通过使用项的信息来将项与索引相关联从而索引。
实施例的系统被构造成将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的系统被构造成在修改信息表明自前一实例以后项未被修改时,将遍历停止在第一结构中的当前节点处。
实施例的系统被构造成确定项是否为已被存储在第二结构中的先前遇到过的项。实施例的系统被构造成生成到先前遇到过的项的指针。
实施例的系统被构造成将每个项的修改信息与该项的前一实例的修改信息相比较。实施例的系统被构造成在修改信息表明自前一实例以后项被修改过时,将项的差异信息索引。
实施例的差异信息包括项的当前版本与至少一个先前修改过的版本之间的改变的信息。
实施例的系统被构造成通过生成校验和来将项的每个实例的信息散列从而进行组织。
实施例的系统被构造成通过对第二结构中的项的不同实例的校验和进行比较来确定自组织以后项是否被改变。实施例的确定是响应于从第二结构中检索项的请求而进行的。
实施例的系统被构造成将校验和传送到散列表。
实施例的系统被构造成将项分解成至少一个组成部分。
实施例的系统被构造成通过将项传送到索引对象库中来索引。
实施例的系统被构造成通过将项的元数据传送到元数据库中来索引。
实施例的系统被构造成经由多个应用来提供对第二结构中的项的至少一部分的访问。
实施例的系统被构造成通过使用与用于访问第一结构的数据的第一协议不同的第二协议来提供访问,从而提供访问。
实施例的系统被构造成将更新版本传送到索引对象库。
实施例的系统被构造成准实时地生成并维护原始数据的完全的完整性及一致性。
实施例的原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
实施例的系统被构造成通过对更新版本应用至少一组日志文件来生成另一更新版本,从而保持更新版本。实施例的至少一组日志文件在时间上比多个日志文件更晚地被接收到。
实施例的信息管理包括以下系统:该系统包括连接到包含原始数据的一个或更多个服务器的近线服务器。实施例的系统包括连接到近线服务器并被构造成接收多个变化数据的信息系统。实施例的变化数据包括对原始数据的改变的信息。实施例的信息系统被构造成通过将多个变化数据中的至少一个变化数据应用于原始数据的副本并使用近线服务器中的组成部分的修改后的信息来控制应用,从而在近线服务器处动态地生成并维护原始数据的副本的更新版本。实施例的信息系统被构造成通过组织数据的项来将数据从第一结构动态地转换成保持第一结构的层次结构的第二结构。
实施例的信息管理包括以下设备:该设备包括被构造成接收原始数据的副本以及包含对原始数据的改变的信息的变化数据的信息系统。实施例的信息系统被构造成通过在接收到变化数据时将该变化数据应用于副本来生成并维护副本的更新版本。实施例的信息系统被构造成通过组织数据的项来将更新版本从第一结构动态地转换成保持第一结构的层次结构的第二结构。
可以将这里所描述的多维替代的方面实现为被编程到包括可编程逻辑器件(PLD)(例如,现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)器件、电可编程逻辑和存储器件及标准的基于单元的器件)以及专用集成电路(ASIC)的多种电路中的任一种中的功能性。用于实现多维替代的方面的一些其它可能性包括:具有存储器(例如,电可擦除可编程只读存储器(EEPROM))的微控制器、嵌入式微处理器、固件、软件等。此外,可以在具有基于软件的电路仿真的微处理器、离散逻辑电路(时序的及组合的)、定制器件、模糊(神经)逻辑电路、量子器件及上述器件类型的任意组合中实现多维替代的方面。任何基础的器件技术可以以多种组件类型来提供,例如,金属氧化物半导体场效应晶体管(MOSFET)技术(例如,互补型金属氧化物半导体(CMOS))、双极技术(例如,射极耦合逻辑(ECL))、聚合物技术(例如,硅共轭聚合物结构及金属共轭聚合物-金属结构)、数字模拟混合等。
应当注意,可以使用在各种计算机可读介质中实现的数据和/或指令来描述这里所公开的多维替代的各种组件。在其中可以实现这种格式化的数据和/或指令的计算机可读介质包括(但并不限于)各种形式的非易失性存储介质(例如,光存储介质、磁存储介质或半导体存储介质)以及可以用于通过无线信令介质、光信令介质或有线信令介质或者其任意组合来传送这种格式化的数据和/或指令的载波。载波传送这种格式化的数据和/或指令的示例包括(但并不限于)经由一个或更多个数据传送协议(例如,HTTP、FTP、SMTP等)在因特网和/或其它计算机网络上的传送(上载、下载、电子邮件等)。当在计算机系统内经由一个或更多个计算机可读介质而接收到多维替代的基于这种数据和/或指令的表达时,计算机系统内的处理实体(例如,一个或更多个处理器)可以与一个或更多个其它计算机程序的执行相协同地对所述表达进行处理。
除非上下文清楚地要求,否则贯穿说明书及权利要求书,应当将词“包括”、“包含”等理解为与排他性意味或穷举性意味相对的包含性意味,也就是说,应理解为“包括但并不限于”的意味。使用单数或复数的词也分别地包括复数或单数。另外,词“这里”、“下文中”、“以上”、“以下”及类似含义的词是指本申请整体,而并非本申请的任何特定的部分。当在参考两个或更多个事物的列表时使用词“或”时,该词涵盖对该词的下列所有解释:列表中的事物中的任一个,列表中的事物的全部,以及列表中的事物的任一组合。
对所例示的多维替代的实施例的以上描述并不旨在穷举多维替代或将多维替代限于所公开的确切形式。尽管这里出于例示的目的而描述了多维替代的具体实施例及示例,但是如同相关领域中的技术人员将认识到的,多维替代的范围内的各种等同的变型例是可能的。可以将这里所提供的多维替代的教示应用于其它处理系统及方法,而并非仅用于上述系统及方法。
可以对上述不同的实施例的要素及行为进行组合,以提供其它实施例。可以按照以上详细的描述而对多维替代及方法做出这些或其它改变。
总体而言,在以下权利要求书中,不应当将所使用的术语解释为将多维替代及方法限于在说明书及权利要求书中所公开的具体实施例,而应当将其解释为包括根据权利要求书来操作的所有的处理系统。因此,多维替代不受本公开内容的限制,而是由权利要求书来完全地确定多维替代的范围。
尽管下面以某些权利要求形式来呈示多维替代的某些方面,但是发明人以任意数量的权利要求形式来预期多维替代的各个方面。例如,尽管仅将多维替代的一个方面详述为在机器可读介质中实现,但是可以以类似的方式将其它方面在机器可读介质中实现。因此,发明人保留在提交本申请之后添加附加的权利要求以追加针对多维替代的其它方面的这些附加的权利要求形式的权利。
Claims (243)
1.一种方法,包括:
确定数据的第一结构,其中,所述第一结构是专有结构;
使用所述第一结构的信息来对所述数据的项进行分析;以及
通过将所述项组织成保持所述第一结构的层次结构的第二结构来动态地转换所述数据。
2.根据权利要求1所述的方法,该方法包括经由多个应用来提供对所述第二结构中的所述项的至少一部分的访问。
3.根据权利要求2所述的方法,其中,所述提供访问包括使用与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供访问。
4.根据权利要求1所述的方法,该方法包括使用第二协议来访问所述第二结构并使用第一协议来访问所述第一结构,其中,所述第一协议与所述第二协议不同。
5.根据权利要求4所述的方法,其中,所述第一协议包括消息应用编程接口(MAPI)协议、邮局协议(POP)及因特网消息访问协议(IMAP)中的一个或更多个。
6.根据权利要求1所述的方法,其中,所述第二结构存储在第二服务器上,其中,所述数据的原始版本存储在第一服务器上。
7.根据权利要求1所述的方法,其中,所述分析是按照预定的间隔来进行的。
8.根据权利要求1所述的方法,其中,所述分析是根据所述数据的状态的改变来进行的。
9.根据权利要求1所述的方法,其中,所述分析是根据所述数据的可用性来进行的。
10.根据权利要求1所述的方法,其中,所述分析包括对所述项中的多个项的并行的分析。
11.根据权利要求1所述的方法,其中,所述分析包括系统地读取所述数据的信息,该信息包括表及所述项中的一个或更多个。
12.根据权利要求11所述的方法,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
13.根据权利要求11所述的方法,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
14.根据权利要求1所述的方法,该方法包括在第二服务器上生成所述数据的镜像副本,其中,所述数据的原始版本存储在第一服务器上。
15.根据权利要求14所述的方法,其中,所述分析包括对所述镜像副本的项进行分析。
16.根据权利要求1所述的方法,该方法包括对所述项中的一个或更多个项进行解压缩。
17.根据权利要求1所述的方法,其中,所述组织包括将所述项的信息的第一部分传送到第一文件中并将所述项的信息的第二部分传送到第二文件中。
18.根据权利要求1所述的方法,其中,所述组织包括将所述项索引到所述第二结构。
19.根据权利要求18所述的方法,其中,所述组织包括遍历所述第一结构并对所述项的信息进行定位。
20.根据权利要求19所述的方法,其中,所述项的所述信息包括所述项的类型及内容中的一个或更多个。
21.根据权利要求19所述的方法,其中,所述索引包括:
生成与所述项相对应的索引;以及
使用所述项的所述信息来将所述项与所述索引相关联。
22.根据权利要求19所述的方法,该方法包括:
将每个项的修改信息与该项的前一实例的修改信息相比较;以及
在所述修改信息表明自所述前一实例以后所述项未被修改时,将所述遍历停止在所述第一结构中的当前节点处。
23.根据权利要求22所述的方法,其中,所述修改信息包括修改日期及修改时间中的一个或更多个。
24.根据权利要求19所述的方法,该方法包括:
确定项是否为先前已被存储在所述第二结构中的先前遇到过的项;以及
生成到所述先前遇到过的项的指针。
25.根据权利要求19所述的方法,该方法包括:
将每个项的修改信息与该项的前一实例的修改信息相比较;以及
在所述修改信息表明自所述前一实例以后所述项被修改过时,将所述项的差异信息索引。
26.根据权利要求25所述的方法,其中,所述差异信息包括所述项的当前版本与至少一个先前修改过的版本之间的改变的信息。
27.根据权利要求19所述的方法,其中,所述组织包括通过生成校验和来将所述项的每个实例的信息散列。
28.根据权利要求27所述的方法,该方法包括通过对所述第二结构中的所述项的不同实例的校验和进行比较来确定自所述组织以后所述项是否被改变,该确定是响应于从所述第二结构中检索所述项的请求而进行的。
29.根据权利要求27所述的方法,该方法包括将所述校验和传送到散列表。
30.根据权利要求19所述的方法,该方法包括将所述项分解成至少一个组成部分。
31.根据权利要求30所述的方法,其中,所述项是电子邮件消息,其中,所述至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
32.根据权利要求18所述的方法,其中,所述索引包括将所述项传送到索引对象库中。
33.根据权利要求18所述的方法,其中,所述索引包括将所述项的元数据传送到元数据库中。
34.根据权利要求1所述的方法,该方法包括:
在第二服务器处接收多个变化数据,其中,所述变化数据描述对第一服务器中的所述数据的增量改变;
在所述第二服务器处生成所述数据的更新版本,其中,生成所述更新版本包括将所述变化数据应用于所述第二服务器上的、所述数据的副本;以及
使用所述第二服务器中的组成部分的修改后的信息来控制所述应用。
35.根据权利要求34所述的方法,其中,所述组成部分包括所述数据的所述副本的结构性元数据。
36.根据权利要求34所述的方法,其中,所述组成部分包括所述变化数据的日志文件。
37.根据权利要求34所述的方法,该方法包括修改所述组成部分。
38.根据权利要求37所述的方法,其中,所述组成部分是所述副本的结构性元数据。
39.根据权利要求37所述的方法,其中,所述修改包括检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
40.根据权利要求39所述的方法,其中,所述修改包括将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据来生成另一更新版本。
41.根据权利要求40所述的方法,其中,将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
42.根据权利要求39所述的方法,其中,所述另外的日志文件是在生成所述更新版本之后被接收到的。
43.根据权利要求34所述的方法,该方法包括更新所述副本的结构性元数据为参考第一未应用变化数据,其中,所述第一未应用变化数据是未应用于所述副本的第一个日志文件。
44.根据权利要求34所述的方法,其中,所述应用包括调用所述第一服务器的引擎。
45.根据权利要求37所述的方法,其中,所述组成部分是所述变化数据的日志文件。
46.根据权利要求45所述的方法,其中,所述应用包括调用所述第一服务器的引擎,所述终止包括使该引擎停止。
47.根据权利要求34所述的方法,该方法还包括在所述第二服务器处接收来自所述第一服务器的、所述数据的副本。
48.根据权利要求47所述的方法,其中,所述副本是完整副本及增量副本中的一个或更多个。
49.根据权利要求34所述的方法,该方法还包括将所述更新版本传送到索引对象库。
50.根据权利要求34所述的方法,其中,所述生成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个。
51.根据权利要求50所述的方法,其中,所述自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
52.根据权利要求51所述的方法,其中,所述自动触发包括所述更新版本的内容。
53.根据权利要求50所述的方法,其中,所述计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
54.根据权利要求50所述的方法,其中,所述事件通知包括与对所述数据的所述项的改变相对应的通知。
55.根据权利要求50所述的方法,其中,所述请求包括用户、服务器及应用中的一个或更多个对所述数据的访问尝试及配置尝试中的至少一个。
56.根据权利要求34所述的方法,其中,所述第二服务器包括近线服务器。
57.根据权利要求34所述的方法,其中,所述生成是准实时的并维护所述数据的完全的完整性及一致性。
58.根据权利要求34所述的方法,该方法包括维护所述更新版本,所述维护包括通过对所述更新版本应用至少一组日志文件来生成另一更新版本,所述至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
59.根据权利要求1所述的方法,其中,所述第一服务器包括本地服务器、远程服务器、数据服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
60.根据权利要求1所述的方法,其中,所述数据是Exchange数据,所述第一结构是B+树结构。
61.根据权利要求1所述的方法,其中,所述第二结构是复合数据容器。
62.根据权利要求1所述的方法,其中,所述层次结构是使用元数据来保持的。
63.根据权利要求1所述的方法,其中,所述层次结构是使用文件结构来保持的。
64.一种方法,包括:
确定数据的第一结构;
将所述数据动态地转换成保持所述第一结构的层次结构的第二结构;以及
利用多个应用经由与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供对所述第二结构的所述数据的访问。
65.根据权利要求64所述的方法,其中,所述动态地转换包括对所述数据的项进行分析并将所述项组织成所述第二结构。
66.根据权利要求65所述的方法,其中,所述分析是根据预定的间隔、所述数据的状态的改变及所述数据的可用性中的一个或更多个来进行的。
67.根据权利要求65所述的方法,其中,所述分析包括系统地读取所述数据的信息,该信息包括表及所述项中的一个或更多个。
68.根据权利要求67所述的方法,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
69.根据权利要求64所述的方法,其中,所述第二结构存储在近线服务器上,其中,所述数据的原始版本存储在第一服务器上。
70.根据权利要求64所述的方法,该方法包括在近线服务器上生成所述数据的镜像副本,其中,所述数据的原始版本存储在第一服务器上。
71.根据权利要求64所述的方法,其中,所述转换包括将所述数据的项组织成所述第二结构。
72.根据权利要求71所述的方法,其中,所述组织包括将所述项的信息的第一部分传送到第一文件中并将所述项的信息的第二部分传送到第二文件中。
73.根据权利要求71所述的方法,其中,所述组织包括将所述项索引到所述第二结构。
74.根据权利要求71所述的方法,其中,所述组织包括遍历所述第一结构并对所述项的信息进行定位。
75.根据权利要求74所述的方法,该方法包括将所述项中的每个项分解成至少一个组成部分。
76.根据权利要求75所述的方法,其中,所述项是电子邮件消息,其中,所述至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
77.一种计算机可读介质,该计算机可读介质包括可执行指令,当在处理系统中执行所述可执行指令时,所述可执行指令通过以下处理来支持对数据的大块到砖块提取:
确定数据的第一结构,其中,所述第一结构是专有结构;
使用所述第一结构的信息来对所述数据的项进行分析;以及
通过将所述项组织成保持所述第一结构的层次结构的第二结构来动态地转换所述数据。
78.一种系统,包括:
连接到包含原始数据的第一服务器的近线服务器;以及
连接到所述近线服务器并被构造成确定数据的第一结构的转换系统,其中,所述第一结构是专有结构,该转换系统被构造成使用所述第一结构的信息来对所述数据的项进行分析,该转换系统被构造成通过将所述项组织成保持所述第一结构的层次结构的第二结构来动态地转换所述数据。
79.根据权利要求78所述的系统,其中,所述近线服务器被构造成经由多个应用来提供对所述第二结构中的所述项的至少一部分的访问。
80.根据权利要求79所述的系统,其中,所述提供访问包括使用与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供访问。
81.根据权利要求78所述的系统,其中,所述近线服务器被构造成允许第二协议访问所述第二结构,其中,第一协议用于访问所述第一结构,其中,所述第一协议与所述第二协议不同。
82.根据权利要求81所述的系统,其中,所述第一协议包括消息应用编程接口(MAPI)协议、邮局协议(POP)及因特网消息访问协议(IMAP)中的一个或更多个。
83.根据权利要求78所述的系统,其中,所述第二结构存储在所述近线服务器上,其中,所述数据的原始版本存储在第一服务器上。
84.根据权利要求78所述的系统,其中,所述转换系统被构造成按照预定的间隔来进行分析。
85.根据权利要求78所述的系统,其中,所述转换系统被构造成根据所述数据的状态的改变来进行分析。
86.根据权利要求78所述的系统,其中,所述转换系统被构造成根据所述数据的可用性来进行分析。
87.根据权利要求78所述的系统,其中,所述转换系统被构造成对所述项中的多个项同时地进行分析。
88.根据权利要求78所述的系统,其中,所述转换系统被构造成通过系统地读取所述数据的信息来进行分析,所述信息包括表及所述项中的一个或更多个。
89.根据权利要求88所述的系统,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
90.根据权利要求88所述的系统,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
91.根据权利要求78所述的系统,其中,所述近线服务器被构造成在所述近线服务器上生成所述数据的镜像副本,其中,所述数据的原始版本存储在第一服务器上。
92.根据权利要求91所述的系统,其中,所述分析包括对所述镜像副本的项进行分析。
93.根据权利要求78所述的系统,其中,所述转换系统被构造成对所述项中的一个或更多个项进行解压缩。
94.根据权利要求78所述的系统,其中,所述转换系统被构造成通过将所述项的信息的第一部分传送到第一文件中并将所述项的信息的第二部分传送到第二文件中来进行组织。
95.根据权利要求78所述的系统,其中,所述转换系统被构造成通过将所述项索引到所述第二结构来进行组织。
96.根据权利要求95所述的系统,其中,所述转换系统被构造成通过遍历所述第一结构并对所述项的信息进行定位来进行组织。
97.根据权利要求96所述的系统,其中,所述项的信息包括所述项的类型及内容中的一个或更多个。
98.根据权利要求96所述的系统,其中,所述转换系统被构造成通过以下处理来索引:
生成与所述项相对应的索引;以及
使用所述项的所述信息来将所述项与所述索引相关联。
99.根据权利要求96所述的系统,其中,所述转换系统被构造成:
将每个项的修改信息与该项的前一实例的修改信息相比较;以及
在所述修改信息表明自所述前一实例以后所述项未被修改时,将所述遍历停止在所述第一结构中的当前节点处。
100.根据权利要求99所述的系统,其中,所述修改信息包括修改日期及修改时间中的一个或更多个。
101.根据权利要求96所述的系统,其中,所述转换系统被构造成:
确定项是否为先前已被存储在所述第二结构中的先前遇到过的项;并且
生成到所述先前遇到过的项的指针。
102.根据权利要求96所述的系统,其中,所述转换系统被构造成:
将每个项的修改信息与该项的前一实例的修改信息相比较;并且
在所述修改信息表明自所述前一实例以后所述项被修改过时,将所述项的差异信息索引。
103.根据权利要求102所述的系统,其中,所述差异信息包括所述项的当前版本与至少一个先前修改过的版本之间的改变的信息。
104.根据权利要求96所述的系统,其中,所述转换系统被构造成通过生成校验和来将所述项的每个实例的信息散列从而进行组织。
105.根据权利要求104所述的系统,其中,所述转换系统被构造成通过对所述第二结构中的所述项的不同实例的校验和进行比较来确定自所述组织以后所述项是否被改变,该确定是响应于从所述第二结构中检索所述项的请求而进行的。
106.根据权利要求104所述的系统,其中,所述转换系统被构造成将所述校验和传送到散列表。
107.根据权利要求96所述的系统,其中,所述转换系统被构造成将所述项分解成至少一个组成部分。
108.根据权利要求107所述的系统,其中,所述项是电子邮件消息,其中,所述至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
109.根据权利要求95所述的系统,其中,所述转换系统被构造成通过将所述项传送到索引对象库中来索引。
110.根据权利要求95所述的系统,其中,所述转换系统被构造成通过将所述项的元数据传送到元数据库中来索引。
111.根据权利要求78所述的系统,该系统被构造成:
在所述近线服务器处接收多个变化数据,其中,所述变化数据描述对第一服务器中的所述数据的增量改变;
在所述近线服务器处生成所述数据的更新版本,其中,生成所述更新版本包括将所述变化数据应用于所述近线服务器上的、所述数据的副本;以及
使用所述近线服务器中的组成部分的修改后的信息来控制所述应用。
112.根据权利要求111所述的系统,其中,所述组成部分包括所述数据的所述副本的结构性元数据。
113.根据权利要求111所述的系统,其中,所述组成部分包括所述变化数据的日志文件。
114.根据权利要求111所述的系统,该系统被构造成修改所述组成部分。
115.根据权利要求114所述的系统,其中,所述组成部分是所述副本的结构性元数据。
116.根据权利要求114所述的系统,该系统被构造成通过检测所述副本的第一状态来进行修改,其中,所述第一状态指示已将所述变化数据应用于所述副本。
117.根据权利要求116所述的系统,该系统被构造成通过将所述第一状态改变成第二状态来进行修改,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据来生成另一更新版本。
118.根据权利要求117所述的系统,其中,将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
119.根据权利要求116所述的系统,其中,所述另外的日志文件是在生成所述更新版本之后被接收到的。
120.根据权利要求111所述的系统,该系统被构造成更新所述副本的结构性元数据为参考第一未应用变化数据,其中,所述第一未应用变化数据是未应用于所述副本的第一个日志文件。
121.根据权利要求111所述的系统,该系统被构造成通过调用所述第一服务器的引擎来进行应用。
122.根据权利要求114所述的系统,其中,所述组成部分是所述变化数据的日志文件。
123.根据权利要求122所述的系统,该系统被构造成通过调用所述第一服务器的引擎来进行应用,所述终止包括使该引擎停止。
124.根据权利要求111所述的系统,该系统被构造成在所述近线服务器处接收来自所述第一服务器的、所述数据的副本。
125.根据权利要求124所述的系统,其中,所述副本是完整副本及增量副本中的一个或更多个。
126.根据权利要求111所述的系统,该系统被构造成将所述更新版本传送到索引对象库。
127.根据权利要求111所述的系统,该系统被构造成响应于自动触发、计时器通知、事件通知、轮询及请求中的至少一个而进行生成。
128.根据权利要求127所述的系统,其中,所述自动触发包括响应于至少一个预先指定的参数而自动地引发的触发。
129.根据权利要求128所述的系统,其中,所述自动触发包括所述更新版本的内容。
130.根据权利要求127所述的系统,其中,所述计时器通知包括与排定事件相对应的通知,所述排定事件包括维护操作、用户活动、服务器活动及数据填入操作中的至少一个。
131.根据权利要求127所述的系统,其中,所述事件通知包括与对所述数据的所述项的改变相对应的通知。
132.根据权利要求127所述的系统,其中,所述请求包括用户、服务器及应用中的一个或更多个对所述数据的访问尝试及配置尝试中的至少一个。
133.根据权利要求111所述的系统,该系统被构造成准实时地生成并维护所述数据的完全的完整性及一致性。
134.根据权利要求111所述的系统,该系统被构造成通过对所述更新版本应用至少一组日志文件来生成另一更新版本,从而保持所述更新版本,所述至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
135.根据权利要求78所述的系统,其中,所述第一服务器包括本地服务器、远程服务器、数据服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
136.根据权利要求78所述的系统,其中,所述数据是Exchange数据,所述第一结构是B+树结构。
137.根据权利要求78所述的系统,其中,所述第二结构是复合数据容器。
138.根据权利要求78所述的系统,其中,所述层次结构是使用元数据来保持的。
139.根据权利要求78所述的系统,其中,所述层次结构是使用文件结构来保持的。
140.一种系统,包括:
连接到包含原始数据的第一服务器的近线服务器;以及
连接到所述近线服务器并被构造成确定数据的第一结构的转换系统,该转换系统被构造成将所述数据动态地转换成保持所述第一结构的层次结构的第二结构,该转换系统被构造成利用多个应用经由与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供对所述第二结构的所述数据的访问。
141.根据权利要求140所述的系统,该系统被构造成通过对所述数据的项进行分析并将所述项组织成所述第二结构来动态地转换。
142.根据权利要求141所述的系统,该系统被构造成根据预定的间隔、所述数据的状态的改变及所述数据的可用性中的一个或更多个来进行分析。
143.根据权利要求141所述的系统,该系统被构造成通过系统地读取所述数据的信息来进行分析,所述信息包括表及所述项中的一个或更多个。
144.根据权利要求143所述的系统,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
145.根据权利要求140所述的系统,其中,所述第二结构存储在所述近线服务器上,其中,所述数据的原始版本存储在所述第一服务器上。
146.根据权利要求140所述的系统,该系统包括在所述近线服务器上生成所述数据的镜像副本,其中,所述数据的原始版本存储在所述第一服务器上。
147.根据权利要求140所述的系统,该系统被构造成通过将所述数据的项组织成所述第二结构来进行转换。
148.根据权利要求147所述的系统,该系统被构造成通过将所述项的信息的第一部分传送到第一文件中并将所述项的信息的第二部分传送到第二文件中来进行组织。
149.根据权利要求147所述的系统,该系统被构造成通过将所述项索引到所述第二结构来进行组织。
150.根据权利要求147所述的系统,该系统被构造成通过遍历所述第一结构并对所述项的信息进行定位来进行组织。
151.根据权利要求150所述的系统,该系统被构造成将所述项中的每个项分解成至少一个组成部分。
152.根据权利要求151所述的系统,其中,所述项是电子邮件消息,所述至少一个组成部分包括消息头、消息体及消息附件中的一个或更多个。
153.一种设备,包括连接到近线服务器的转换系统,所述转换系统被构造成确定数据的第一结构,其中,所述数据存储在连接到所述近线服务器的第一服务器上,所述转换系统被构造成将所述数据动态地转换成保持所述第一结构的层次结构的第二结构,所述转换系统被构造成利用多个应用经由与用于访问所述第一结构的数据的第一协议不同的第二协议来提供对所述第二结构的所述数据的访问。
154.一种方法,包括:
接收原始数据的副本以及包含对所述原始数据的改变的信息的变化数据;
通过在接收到所述变化数据时将所述变化数据应用于所述副本来生成并维护所述副本的更新版本;以及
通过组织所述数据的项来将所述更新版本从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
155.根据权利要求154所述的方法,其中,所述生成并维护是与所述接收异步的。
156.根据权利要求154所述的方法,其中,所述应用是根据间隔的,其中,所述间隔是基于时间及事件中的一个或更多个的。
157.根据权利要求154所述的方法,其中,所述变化数据包括多个实例的所述原始数据之间的增量差异的数据。
158.根据权利要求154所述的方法,其中,所述变化数据包括多个实例的所述原始数据之间的差量差异的数据
159.根据权利要求154所述的方法,该方法包括使用组成部分的修改后的信息来控制所述应用。
160.根据权利要求159所述的方法,其中,所述原始数据存储在第一服务器处,所述副本存储在第二服务器处,其中,所述组成部分是所述第二服务器中的组成部分。
161.根据权利要求160所述的方法,其中,所述第一服务器包括近线服务器。
162.根据权利要求160所述的方法,其中,所述第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
163.根据权利要求159所述的方法,其中,所述组成部分包括所述副本的结构性元数据。
164.根据权利要求159所述的方法,其中,所述组成部分包括所述变化数据的日志文件。
165.根据权利要求159所述的方法,该方法包括修改所述组成部分。
166.根据权利要求165所述的方法,其中,所述组成部分是所述副本的结构性元数据。
167.根据权利要求165所述的方法,其中,所述修改包括检测所述副本的第一状态,其中,所述第一状态指示已将所述变化数据应用于所述副本。
168.根据权利要求167所述的方法,其中,所述修改包括将所述第一状态改变成第二状态,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据来生成另一更新版本。
169.根据权利要求167所述的方法,其中,将所述第一状态改变成所述第二状态包括修改所述副本的所述结构性元数据。
170.根据权利要求165所述的方法,其中,所述变化数据是多个日志文件,其中,所述组成部分是所述多个日志文件中的一个日志文件。
171.根据权利要求170所述的方法,其中,所述应用包括调用存放有所述原始数据的第一服务器的引擎,所述控制包括使该引擎停止。
172.根据权利要求154所述的方法,该方法包括确定所述第一结构,其中,所述第一结构是专有结构。
173.根据权利要求172所述的方法,该方法包括使用所述第一结构的信息来对所述数据的项进行分析。
174.根据权利要求173所述的方法,其中,所述分析包括系统地读取所述数据的信息,所述信息包括表及所述项中的一个或更多个。
175.根据权利要求174所述的方法,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
176.根据权利要求174所述的方法,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
177.根据权利要求154所述的方法,其中,所述组织包括将所述数据的项索引到所述第二结构。
178.根据权利要求177所述的方法,其中,所述组织包括遍历所述第一结构并对所述项的信息进行定位。
179.根据权利要求178所述的方法,其中,所述项的所述信息包括所述项的类型及内容中的一个或更多个。
180.根据权利要求178所述的方法,其中,所述索引包括:
生成与所述项相对应的索引;以及
使用所述项的所述信息来将所述项与所述索引相关联。
181.根据权利要求178所述的方法,该方法包括:
将每个项的修改信息与该项的前一实例的修改信息相比较;以及
在所述修改信息表明自所述前一实例以后所述项未被修改时,将所述遍历停止在所述第一结构中的当前节点处。
182.根据权利要求178所述的方法,该方法包括:
确定项是否为先前已被存储在所述第二结构中的先前遇到过的项;以及
生成到所述先前遇到过的项的指针。
183.根据权利要求178所述的方法,该方法包括:
将每个项的修改信息与该项的前一实例的修改信息相比较;以及
在所述修改信息表明自所述前一实例以后所述项被修改过时,将所述项的差异信息索引。
184.根据权利要求183所述的方法,其中,所述差异信息包括所述项的当前版本与至少一个先前修改过的版本之间的改变的信息。
185.根据权利要求178所述的方法,其中,所述组织包括通过生成校验和来将所述项的每个实例的信息散列。
186.根据权利要求185所述的方法,该方法包括通过对所述第二结构中的所述项的不同实例的校验和进行比较来确定自所述组织以后所述项是否被改变,该确定是响应于从所述第二结构中检索所述项的请求而进行的。
187.根据权利要求185所述的方法,该方法包括将所述校验和传送到散列表。
188.根据权利要求178所述的方法,该方法包括将所述项分解成至少一个组成部分。
189.根据权利要求177所述的方法,其中,所述索引包括将所述项传送到索引对象库中。
190.根据权利要求177所述的方法,其中,所述索引包括将所述项的元数据传送到元数据库中。
191.根据权利要求154所述的方法,该方法包括经由多个应用来提供对所述第二结构中的所述项的至少一部分的访问。
192.根据权利要求191所述的方法,其中,所述提供访问包括使用与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供访问。
193.根据权利要求154所述的方法,该方法包括将所述更新版本传送到索引对象库。
194.根据权利要求154所述的方法,其中,所述生成是准实时的并维护所述原始数据的完全的完整性及一致性。
195.根据权利要求154所述的方法,其中,所述原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
196.根据权利要求154所述的方法,该方法包括保持所述更新版本,所述保持包括通过对所述更新版本应用至少一组日志文件来生成另一更新版本,所述至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
197.一种方法,包括:
在第一服务器处接收多个变化数据,所述变化数据包括对第二服务器中的原始数据的改变的信息;
通过将所述多个变化数据中的至少一个变化数据应用于所述原始数据的副本并使用所述第一服务器中的组成部分的修改后的信息来控制所述应用,从而在所述第一服务器处动态地生成并维护所述原始数据的所述副本的更新版本;以及
通过组织所述数据的项来将所述数据从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
198.一种计算机可读介质,该计算机可读介质包含可执行指令,当在处理系统中执行所述可执行指令时,所述可执行指令通过以下处理来支持信息管理:
接收原始数据的副本以及包含对所述原始数据的改变的信息的变化数据;
通过在接收到所述变化数据时将所述变化数据应用于所述副本来生成并维护所述副本的更新版本;以及
通过组织所述数据的项来将所述更新版本从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
199.一种系统,包括:
连接到包含原始数据的一个或更多个服务器的近线服务器;以及
连接到所述近线服务器并被构造成接收原始数据的副本以及包含对所述原始数据的改变的信息的变化数据的信息系统,该信息系统被构造成通过在接收到所述变化数据时将所述变化数据应用于所述副本来生成并维护所述副本的更新版本,该信息系统被构造成通过组织所述数据的项来将所述更新版本从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
200.根据权利要求199所述的系统,该系统被构造成与所述接收异步地生成并维护。
201.根据权利要求199所述的系统,该系统被构造成应用包括根据间隔来进行应用,其中,所述间隔是基于时间及事件中的一个或更多个的。
202.根据权利要求199所述的系统,其中,所述变化数据包括多个实例的所述原始数据之间的增量差异的数据。
203.根据权利要求199所述的系统,其中,所述变化数据包括多个实例的所述原始数据之间的差量差异的数据。
204.根据权利要求199所述的系统,该系统被构造成使用组成部分的修改后的信息来控制所述应用。
205.根据权利要求204所述的系统,其中,所述原始数据存储在第一服务器处,所述副本存储在第二服务器处,其中,所述组成部分是所述第二服务器中的组成部分。
206.根据权利要求205所述的系统,其中,所述第一服务器包括近线服务器。
207.根据权利要求205所述的系统,其中,所述第二服务器包括本地服务器、远程服务器、数据库服务器、消息服务器、电子邮件服务器、即时消息服务器、IP语音服务器、协作服务器、消息和协作服务器、Exchange服务器、门户、客户关系管理(CRM)服务器、企业资源规划(ERP)服务器、企业对企业服务器及内容管理服务器中的一个或更多个。
208.根据权利要求204所述的系统,其中,所述组成部分包括所述副本的结构性元数据。
209.根据权利要求204所述的系统,其中,所述组成部分包括所述变化数据的日志文件。
210.根据权利要求204所述的系统,该系统被构造成修改所述组成部分。
211.根据权利要求210所述的系统,其中,所述组成部分是所述副本的结构性元数据。
212.根据权利要求210所述的系统,该系统被构造成通过检测所述副本的第一状态来进行修改,其中,所述第一状态指示已将所述变化数据应用于所述副本。
213.根据权利要求212所述的系统,该系统被构造成通过将所述第一状态改变成第二状态来进行修改,其中,所述第二状态是以下状态:从该状态,能够通过对所述更新版本应用另外的变化数据来生成另一更新版本。
214.根据权利要求212所述的系统,该系统被构造成通过修改所述副本的所述结构性元数据来将所述第一状态改变成所述第二状态。
215.根据权利要求210所述的系统,其中,所述变化数据是多个日志文件,其中,所述组成部分是所述多个日志文件中的日志文件。
216.根据权利要求215所述的系统,该系统被构造成通过调用存放有所述原始数据的第一服务器的引擎来进行应用,所述控制包括使该擎停止。
217.根据权利要求199所述的系统,该系统被构造成确定所述第一结构,其中,所述第一结构是专有结构。
218.根据权利要求217所述的系统,该系统被构造成使用所述第一结构的信息来对所述数据的项进行分析。
219.根据权利要求218所述的系统,该系统被构造成通过系统地读取所述数据的信息来进行分析,所述信息包括表及所述项中的一个或更多个。
220.根据权利要求219所述的系统,其中,所述表包括邮箱表、文件夹表、消息表及附件表中的一个或更多个。
221.根据权利要求219所述的系统,其中,所述项包括文件夹、邮箱、电子邮件体、电子邮件头及电子邮件附件中的一个或更多个。
222.根据权利要求199所述的系统,该系统被构造成通过将所述数据的项索引到所述第二结构来进行组织。
223.根据权利要求222所述的系统,该系统被构造成通过遍历所述第一结构并对所述项的信息进行定位来进行组织。
224.根据权利要求223所述的系统,其中,所述项的所述信息包括所述项的类型及内容中的一个或更多个。
225.根据权利要求223所述的系统,该系统被构造成通过以下处理来索引:
生成与所述项相对应的索引;以及
使用所述项的所述信息来将所述项与所述索引相关联。
226.根据权利要求223所述的系统,该系统被构造成:
将每个项的修改信息与该项的前一实例的修改信息相比较;并且
在所述修改信息表明自所述前一实例以后所述项未被修改时,将所述遍历停止在所述第一结构中的当前节点处。
227.根据权利要求223所述的系统,该系统被构造成:
确定项是否为已被存储在所述第二结构中的先前遇到过的项;并且
生成到所述先前遇到过的项的指针。
228.根据权利要求223所述的系统,该系统被构造成:
将每个项的修改信息与该项的前一实例的修改信息相比较;并且
在所述修改信息表明自所述前一实例以后所述项被修改过时,将所述项的差异信息索引。
229.根据权利要求228所述的系统,其中,所述差异信息包括所述项的当前版本与至少一个先前修改过的版本之间的改变的信息。
230.根据权利要求223所述的系统,该系统被构造成通过生成校验和来将所述项的每个实例的信息散列从而进行组织。
231.根据权利要求230所述的系统,该系统被构造成通过对所述第二结构中的所述项的不同实例的校验和进行比较来确定自所述组织以后所述项是否被改变,该确定是响应于从所述第二结构中检索所述项的请求而进行的。
232.根据权利要求230所述的系统,该系统被构造成将所述校验和传送到散列表。
233.根据权利要求223所述的系统,该系统被构造成将所述项分解成至少一个组成部分。
234.根据权利要求222所述的系统,该系统被构造成通过将所述项传送到索引对象库中来索引。
235.根据权利要求222所述的系统,该系统被构造成通过将所述项的元数据传送到元数据库中来索引。
236.根据权利要求199所述的系统,该系统被构造成经由多个应用来提供对所述第二结构中的所述项的至少一部分的访问。
237.根据权利要求236所述的系统,该系统被构造成通过使用与用于访问所述第一结构的所述数据的第一协议不同的第二协议来提供访问,从而提供访问。
238.根据权利要求199所述的系统,该系统被构造成将所述更新版本传送到索引对象库。
239.根据权利要求1所述的系统,该系统被构造成准实时地生成并维护所述原始数据的完全的完整性及一致性。
240.根据权利要求199所述的系统,其中,所述原始数据包括应用数据、数据库、存储组、邮箱数据及服务器数据中的一个或更多个。
241.根据权利要求199所述的系统,该系统被构造成通过对所述更新版本应用至少一组日志文件来生成另一更新版本,从而保持所述更新版本,所述至少一组日志文件在时间上比所述多个日志文件更晚地被接收到。
242.一种系统,包括:
连接到包含原始数据的一个或更多个服务器的近线服务器;以及
连接到所述近线服务器并被构造成接收多个变化数据的信息系统,所述变化数据包括对所述原始数据的改变的信息,该信息系统被构造成通过将所述多个变化数据中的至少一个变化数据应用于所述原始数据的副本并使用所述近线服务器中的组成部分的修改后的信息来控制所述应用,从而在所述近线服务器处动态地生成并维护所述原始数据的所述副本的更新版本,所述信息系统被构造成通过组织所述数据的项来将所述数据从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
243.一种设备,包括被构造成接收原始数据的副本以及包含对所述原始数据的改变的信息的变化数据的信息系统,所述信息系统被构造成通过在接收到所述变化数据时将所述变化数据应用于所述副本来生成并维护所述副本的更新版本,所述信息系统被构造成通过组织所述数据的项来将所述更新版本从第一结构动态地转换成保持所述第一结构的层次结构的第二结构。
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 |
---|---|
CN101578599A true CN101578599A (zh) | 2009-11-11 |
Family
ID=39082480
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056019.1A Pending CN101517569A (zh) | 2006-08-07 | 2006-10-02 | 改造数据的合成完整副本 |
CN200680056034.6A Pending CN101578599A (zh) | 2006-08-07 | 2006-10-02 | 数据的动态大块到砖块转换 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680056019.1A Pending CN101517569A (zh) | 2006-08-07 | 2006-10-02 | 改造数据的合成完整副本 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8161318B2 (zh) |
EP (2) | EP2052338B1 (zh) |
CN (2) | CN101517569A (zh) |
AT (2) | ATE512403T1 (zh) |
CA (2) | CA2660089A1 (zh) |
WO (2) | WO2008020860A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289506A (zh) * | 2011-08-30 | 2011-12-21 | 成都易我科技开发有限责任公司 | 邮件系统备份方法 |
CN102831347A (zh) * | 2012-07-31 | 2012-12-19 | 飞天诚信科技股份有限公司 | 一种数据处理方法和装置 |
CN104751257A (zh) * | 2013-12-25 | 2015-07-01 | 携程计算机技术(上海)有限公司 | 酒店数据的管理系统 |
CN104834277A (zh) * | 2014-02-07 | 2015-08-12 | 富士通株式会社 | 管理方法、管理设备和管理系统 |
CN106250494A (zh) * | 2016-08-02 | 2016-12-21 | 极道科技(北京)有限公司 | 一种基于文件系统的数据管理分析系统 |
CN111581016A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
Families Citing this family (56)
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 |
US20030135499A1 (en) | 2002-01-14 | 2003-07-17 | Schirmer Andrew Lewis | System and method for mining a user's electronic mail messages to determine the user's affinities |
AU2004227949B9 (en) | 2003-04-03 | 2010-07-22 | 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 |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US7908339B2 (en) | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US7664834B2 (en) | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US20060224846A1 (en) | 2004-11-05 | 2006-10-05 | Amarendran Arun P | System and method to support single instance storage operations |
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 |
US8275749B2 (en) * | 2005-02-07 | 2012-09-25 | Mimosa Systems, Inc. | Enterprise server version migration through identity preservation |
US8234238B2 (en) | 2005-03-04 | 2012-07-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
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 |
US7844686B1 (en) * | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
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 |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
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 |
WO2010049719A1 (en) * | 2008-10-28 | 2010-05-06 | Bae Systems Plc | Image processing |
EP2374062B1 (en) | 2008-12-12 | 2012-11-21 | 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 |
US9560130B2 (en) * | 2010-09-30 | 2017-01-31 | Microsoft Technology Licensing, Llc | Presenting availability statuses of synchronized objects |
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 |
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 |
US9529871B2 (en) | 2012-03-30 | 2016-12-27 | Commvault Systems, Inc. | Information management of mobile device data |
EP2880555A1 (en) * | 2012-12-17 | 2015-06-10 | Hitachi, Ltd. | File server, information system, and control method thereof |
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 |
US10223431B2 (en) | 2013-01-31 | 2019-03-05 | Facebook, Inc. | Data stream splitting for low-latency data access |
US9609050B2 (en) | 2013-01-31 | 2017-03-28 | Facebook, Inc. | Multi-level data staging for low latency data access |
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 |
CN103729455B (zh) * | 2014-01-06 | 2015-01-21 | 中国南方电网有限责任公司 | 一种基于主副本存储模式的主数据存储方法 |
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 |
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 |
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 |
WO2003040965A2 (en) | 2001-11-02 | 2003-05-15 | Siemens Corporate Research, Inc. | Patient data mining |
US20030135499A1 (en) | 2002-01-14 | 2003-07-17 | Schirmer Andrew Lewis | System and method for mining a user's electronic mail messages to determine the user'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 |
WO2003096669A2 (en) | 2002-05-10 | 2003-11-20 | Reisman Richard R | Method and apparatus for browsing using multiple coordinated device |
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 |
AU2003265954A1 (en) | 2002-09-09 | 2004-03-29 | Evergreen Assurance, Inc. | System and method for application monitoring and automatic disaster recovery for high-availability |
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 EP EP06815934A patent/EP2052338B1/en not_active Not-in-force
- 2006-10-02 AT AT06815934T patent/ATE512403T1/de not_active IP Right Cessation
- 2006-10-02 CA CA002660089A patent/CA2660089A1/en not_active Abandoned
- 2006-10-02 CN CN200680056019.1A patent/CN101517569A/zh active Pending
- 2006-10-02 EP EP06815926A patent/EP2052337B1/en not_active Not-in-force
- 2006-10-02 WO PCT/US2006/038291 patent/WO2008020860A2/en active Application Filing
- 2006-10-02 CN CN200680056034.6A patent/CN101578599A/zh active Pending
- 2006-10-02 WO PCT/US2006/038260 patent/WO2008020859A2/en active Application Filing
- 2006-10-02 AT AT06815926T patent/ATE515738T1/de not_active IP Right Cessation
- 2006-10-02 CA CA002660282A patent/CA2660282A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289506A (zh) * | 2011-08-30 | 2011-12-21 | 成都易我科技开发有限责任公司 | 邮件系统备份方法 |
CN102831347A (zh) * | 2012-07-31 | 2012-12-19 | 飞天诚信科技股份有限公司 | 一种数据处理方法和装置 |
CN102831347B (zh) * | 2012-07-31 | 2015-04-15 | 飞天诚信科技股份有限公司 | 一种数据处理方法和装置 |
CN104751257A (zh) * | 2013-12-25 | 2015-07-01 | 携程计算机技术(上海)有限公司 | 酒店数据的管理系统 |
CN104834277A (zh) * | 2014-02-07 | 2015-08-12 | 富士通株式会社 | 管理方法、管理设备和管理系统 |
CN104834277B (zh) * | 2014-02-07 | 2017-12-12 | 富士通株式会社 | 管理方法、管理设备和管理系统 |
CN106250494A (zh) * | 2016-08-02 | 2016-12-21 | 极道科技(北京)有限公司 | 一种基于文件系统的数据管理分析系统 |
CN106250494B (zh) * | 2016-08-02 | 2019-04-09 | 极道科技(北京)有限公司 | 一种基于文件系统的数据管理分析系统 |
CN111581016A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
CN111581016B (zh) * | 2020-04-14 | 2021-05-18 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2660282A1 (en) | 2008-02-21 |
US20070143374A1 (en) | 2007-06-21 |
EP2052338A4 (en) | 2010-04-28 |
ATE515738T1 (de) | 2011-07-15 |
WO2008020859A2 (en) | 2008-02-21 |
EP2052337A4 (en) | 2010-04-28 |
ATE512403T1 (de) | 2011-06-15 |
WO2008020860A2 (en) | 2008-02-21 |
EP2052337B1 (en) | 2011-07-06 |
EP2052337A2 (en) | 2009-04-29 |
WO2008020860A3 (en) | 2009-04-30 |
EP2052338B1 (en) | 2011-06-08 |
CA2660089A1 (en) | 2008-02-21 |
EP2052338A2 (en) | 2009-04-29 |
WO2008020859A3 (en) | 2009-04-16 |
US8161318B2 (en) | 2012-04-17 |
CN101517569A (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101578599A (zh) | 数据的动态大块到砖块转换 | |
US8918366B2 (en) | Synthetic full copies of data and dynamic bulk-to-brick transformation | |
US8799206B2 (en) | Dynamic bulk-to-brick transformation of data | |
US8543542B2 (en) | Synthetic full copies of data and dynamic bulk-to-brick transformation | |
KR101956236B1 (ko) | 데이터베이스 관리 시스템에서의 데이터 복제 기법 | |
US8271436B2 (en) | Retro-fitting synthetic full copies of data | |
CN104813276B (zh) | 从备份系统流式恢复数据库 | |
JP4856098B2 (ja) | データ管理のための多次元代理 | |
EP1917608B1 (en) | Security in peer to peer synchronization applications | |
US8812433B2 (en) | Dynamic bulk-to-brick transformation of data | |
US10684990B2 (en) | Reconstructing distributed cached data for retrieval | |
CN101395602B (zh) | 用于分布式文件存储和索引服务的方法和装置 | |
US8972347B1 (en) | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity | |
CN112534396A (zh) | 数据库系统中的日记表 | |
US20070094312A1 (en) | Method for managing real-time data history of a file system | |
US20110225123A1 (en) | Multi-dimensional surrogates for data management | |
US11010267B2 (en) | Method and system for automatic maintenance of standby databases for non-logged workloads | |
CN101460930A (zh) | 维护数据库与文件系统之间的链接级一致性 | |
US11822572B2 (en) | Computing system providing blockchain-facilitated semantic interoperability between multiple disparate systems of record (SORs) and related methods | |
CN102012933A (zh) | 分布式文件系统及利用其存储数据和提供服务的方法 | |
CA2755665A1 (en) | Employing user-context in connection with backup or restore of data | |
US20070143366A1 (en) | Retro-fitting synthetic full copies of data | |
WO2019118274A1 (en) | Automated transaction engine | |
Thulasiram et al. | Real time data warehouse updates through extraction-transformation-loading process using change data capture method | |
Donselaar | Low latency asynchronous database synchronization and data transformation using the replication log. |
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: 20091111 |