从整体数据库备份中恢复所选对象的制作方法

文档序号:6595022阅读:160来源:国知局

专利名称::从整体数据库备份中恢复所选对象的制作方法
技术领域
:本发明涉及计算机备份与恢复的领域,并且具体地涉及一种用于从整体数据库备份(monolithicdatabasebackup)中选择性地恢复对象的方法和系统。
背景技术
:对信息以及以不同的形式产生、处理、分配、和维持此类信息的计算系统的不断增长的依赖继续对于存储、备份、以及恢复此类信息的多种技术提出巨大需求。随着商界采用多种技术用于遍及整个企业来集中信息资源以便使之能够进行协调和文档管理,此类信息的存储、备份和恢复对于企业的运转而言变得更加关键。在一个典型的企业级的合作和文档管理平台中,来自一个或多个面向用户的应用程序对象的数据可以被存储在一个集中式的存储对象(例如一个数据库)之中。维持来自多种应用程序对象的数据的数据库可以被配置为维持由这些应用程序对象所施加的数据关系或层级结构。任何用于此类数据库的备份与恢复方案必需维持由这些应用程序对象所创建的数据关系及层级结构。对这样一种数据库进行备份和恢复的传统方法是人力和资源密集的。例如,假定在数据库中有大批的基于应用程序对象的区域,那么备份管理员将有责任知道并选择那些需要保护的数据库部分。对于数据保护的这种预先的、粒度的方式要求备份管理员(他可能并不是数据库管理员)知道数据库的拓扑结构以便为一个特定的应用程序对象建立一种保护机制。另外,对一个应用程序的层级性对象结构所做出的任何改变都需要在那些改变发生时由备份管理员将其考虑在内。这种传统的备份途径被称为粒度备份方案,因为在数据库中与每个应用程序对象相关联的这些区域是被分别地进行备份的。在粒度备份方案下,可以合理地将目标确定为恢复与一个特定的应用程序对象相关的数据,因为每个应用程序对象具有它自己的备份集合。一种替代的备份方法是将整个数据库整体地备份。从数据库的这样一种整体备份中恢复数据的一种传统的方法是将整个数据库快照恢复到一个临时区域上并且然后从数据库中选择所希望的信息以便包括一个有效的目标数据库。数据选择的这样一种后端方法的缺点是它要花费时间从一个数据库备份中恢复所有的数据、然后再从中选择所希望的信息并且数据库的临时复本消耗了硬盘资源。因此,令人希望的是得到一种机制,该机制实现将整个数据库整体地备份的效率,从而不要求备份管理员熟悉正在备份的数据库的结构。进一步令人希望的是当希望时用户能够选择性地恢复所备份的数据库的多个部分以便加快恢复时间。
发明内容本发明的多个实施方案提供了一种机制用于选择性地恢复一个整体备份的数据库的多个部分,同时维持该数据库的这些所恢复的部分的层级结构关系及其他元数据关系。本发明的多个实施方案提供了一种方法、系统和计算机可读存储媒质,它们提供了一种机制用于接收从一个数据库备份的多个已备份对象中恢复一个所选对象的一个请求,在该数据库备份中对与所选对象相关联的信息进行定位,并且使用与所选对象相关联的信息将所选对象恢复到一个目标区域上。以上实施方案的多个方面使用了在创建该备份时从所备份的数据库中收集的数据库表元数据以便对与所选对象相关联的信息进行定位。本发明的以上实施方案的一个进一步的方面提供了对恢复所选对象所必需的数据库备份中的每个对象进行恢复,该对象包括在含有所选对象的多个对象的一种层级结构中具有对于所选对象的一种父(或更高的)关系的任何对象。本发明的以上实施方案的其他方面提供了该数据库表元数据包括对于存储在该备份中的多个数据库表的多个偏移以及描述了这些数据库表的结构的信息。本发明的进一步的多个方面提供了将本发明与恢复SharePoint数据库的多个部分结合使用。在此类实例中,所选对象可以是站点对象(Siteobject)、网页对象(Webobject)、列表对象(Listobject)、等等。描述了此类所选对象的表可以包括站点表(Sitestable)、网页表(Webstable)、列表表(Liststable)、用户数据表(UserDatatable)、用户信息表(Userlnfotable)、分组表(Groupstable)、角色表(Rolestable)、等等。以上是一种概述并且因此(必然地)包含了细节的简化、概括和省略;因此本领域的技术人员将会认识到此概述仅是说明性的而并非旨在以任何方式的限制。本发明的其他方面、发明性特征、及优点(如仅由权利要求书所限定的)将在以下给出的非限制性的详细描述中变得清楚。通过参见附图可以更好地理解本发明,并且使其众多的目的、特征和优点对本领域的技术人员而言变得清楚。图1是一个简化框图,展示了一种可配置为采用本发明的多个实施方案的网络的实例。图2是一个简化框图,展示了一种在数据库中的对象布局的实例,该数据库可与本发明的多个实施方案一起使用。图3是一个简化流程图,展示了根据本发明的多个实施方案的备份过程。图4是一个简化流程图,展示了根据本发明的多个实施方案的数据库恢复操作。图5描绘了一种计算机系统的框图,该计算机系统适合用于实施本发明的多个实施方案。图6是一个框图,描绘了一种适合用于实施本发明的多个实施方案的网络体系结构。具体实施例方式本发明的多个实施方案提供了一种机制,该机制用于从存储应用程序对象数据的数据库的整体备份中选择性地恢复应用程序对象数据。本发明的多个实施方案通过在数据库备份时识别存储在数据库中的元数据来提供这种能力,该元数据描述了该应用程序对象数据、该应用程序对象数据存储其中的结构、以及那些结构之间的相互关系。本发明的多个实施方案可以存储关于有待在恢复操作过程中使用的这种元数据的信息。在一个恢复操作过程中,本发明的多个实施方案可以访问与元数据有关的已存储信息并且使用该信息来直接访问数据库备份中的元数据。本发明的多个实施方案使用所访问的元数据向用户恢复数据提供对从数据库中备份的数据以及此类数据之间的关系(例如,数据结构的层级结构)的描述。本发明的多个实施方案可以进一步访问从来自数据库备份的这样一种描述中所选择的数据并且将该信息恢复到一个目标数据库上。以此方式,能够以一种整体的方式高效率地对包括来自一个或多个应用程序对象的数据的一个数据库进行备份,并且然后以一种有目标的方式高效率地将其恢复。另外,由于备份管理员不需要熟悉正在对其进行备份的数据库的结构,而是将熟悉结构的任务留给要恢复一个特定的数据集的人,所以人力资源更有效率地得到利用。图1是一个简化框图,展示了一种可配置为采用本发明的多个实施方案的网络的实例。数据库服务器110被直接地或间接地连接到存储了数据库120的多个存储卷上。在数据库120中存储数据的一个或多个应用程序对象可以访问数据库120。数据库服务器110连接到网络130上,该网络提供了去向以及来自该数据库服务器的访问。网络130典型地是用于一个机构的企业级网络,并且可以包括但不限于局域网、城域网、广域网、以及类似的网络。网络130可以由标准的网络硬件和协议(包括,例如,以太网路由器、光缆等等)来支持。网络130还可以连接企业的一个或多个位置中的计算机设备(例如,客户端140(1)-(N)),由此提供从那些客户端到数据库服务器110的通信。图1所示的网络还连接到网络服务器150上。网络服务器150可以提供到一个应用程序的用户访问,该应用程序与一个或多个应用程序对象相关联。网络130可以具有一个或多个网络服务器150,它们各自提供一个分离的应用程序或者提供分布同一个应用程序的多个网络服务器。网络服务器150通过与数据库服务器110进行通信来提供一个应用程序对象模型以便访问存储在数据库120中的数据。在网络服务器150与数据库服务器110之间的此类通信可以是通过一个应用程序接口(API),该应用程序接口由多个应用程序对象所共享,这些应用程序对象由网络服务器150和数据库服务器110提供服务。备份服务器160被连接到网络130上并且被配置为将存储在网络130上的数据的备份图像存储在一个或多个备份存储卷170中。备份服务器160可以被配置为运行多种类型的备份实用程序,在进行备份时,这些备份实用程序提供了网络上数据的多个快照。例如,备份服务器160可以通过经由数据库服务器110直接访问数据来对数据库120进行备份。以此方式,可以通过数据库服务器的SQL接口进行数据库120的完全整体备份而无论存储在该数据库内的特定的数据结构如何。可替代地,如果希望对数据库120的一个特定的部分进行备份,备份服务器160可以通过相关联的应用程序的网络服务器150来访问一个具体的应用程序对象的数据。以此方式,可以进行对存储在数据库120中的一个具体的应用程序对象的粒度备份。如上所述,进行粒度备份不利的一面是消耗了与该具体的应用程序相关联的网络服务器150的资源。这种对网络服务器资源的消耗可能在备份时间过程中减缓或停止对所服务的应用程序的访问。通过经由数据库服务器110直接对数据库进行备份,避免了消耗网络服务器资源。但是,在传统的备份方案中,然后只能通过恢复整个数据库并且然后从所恢复的数据中选择数据来实现特定的应用程序对象数据的恢复。这样的恢复和选择操作既消耗了时间又消耗了物理资源(例如,要求用于存储被完整恢复的备份的磁盘空间)。图2是一个简化框图,展示了在数据库120中的一种对象布局的实例,该数据库可与本发明的多个实施方案联合使用。数据库120包含被标识为站点(I)-(P)的一个或多个容器。每个站点可以与一个特定的应用程序相关联。因此每个站点是一个应用程序对象,该应用程序对象具有由该站点与一个具体的应用程序的关联所定义的一个唯一的特征集。一个站点可以具有(例如)一个相关联的URL、一个唯一的标识符、一个所有者标识符、相关联的安全信息、相关联的磁盘配额和磁盘使用信息、等等。一个或多个站点可以与一个具体的应用程序相关联,这取决于该应用程序的性质。站点可以与其他的容器相关联。例如,站点(2)包括两个子站点容器子站点(2,1)和子站点0,2)。每个子站点可以包括描述该子站点的相关联的信息,如以上对于一个站点所述的。尽管每个子站点与父站点相关联,但这些子站点本身是不连接的对象。站点和子站点可以进一步包含其他的应用程序对象。一个此类应用程序对象的实例是一个列表,该列表也是一个容器。图2展示了站点(1)具有多个相关联的列表对象(例如,列表(1,1)和列表(1,2))。子站点(2,1)也具有多个相关联的列表(例如,列表(2,1,1)和列表0,1,2))。另一方面,子站点(2,2)具有一个单一的列表(例如,列表(2,2,1))。列表对象也可以具有相关联的信息,该信息可以包括(例如)该列表所属站点的标识符、该列表的名称、创建日期和时间信息、安全信息、该列表的类型(例如,存储在该列表中的信息的类型),等等。除了与列表直接相关联的此类特征,列表还可以继承与包含该列表的站点和/或子站点相关联的多个特征。因此,例如,列表可以获得与该列表相关联的站点相关联的安全保护。如图2所示,列表可以包含多个相关联的条目或数据对象。每个列表可以与一种特定类型的条目相关联。条目对象可以具有多个相关联的特征,比如将该条目与一个具体的列表和/或站点相关联的标识符、输入或修改该条目的一个用户的标识符、与该条目相关联的数据类型、以及该条目对象的值。同样,一个条目也可以继承该条目所属的列表和/或该条目相关联的站点或子站点的多种特征。数据库120不仅能够存储这些容器以及它们相关联的数据,并且还能够存储这些容器的元数据描述以及它们相关联的数据,包括它们的相互关系。数据库120可以将此类元数据存储在与列表、条目、站点、和子站点、等等相关联的表中。确实,对于存储在数据库120内的每种类型的应用程序对象可以提供一个分离的元数据表。使用如所述的数据库的系统的一个实例是微软公司的SharePoint应用程序。尽管本发明的多个实施方案并不限于同SharePoint数据库联合使用,本发明的多个实施方案可以与SharePoint数据库一起使用,并且以下将使用SharePoint术语来提供多个实例。应当理解,使用此类术语并非意在是限制性的,并且本发明的多个实施方案可以与将数据存储在数据库环境下的多个对象中的多种应用程序一起使用。应当进一步注意,在多个站点、子站点、列表及条目之间的关系是一种层级性关系。如以上讨论的,在一个应用程序对象层级结构内的子对象可以继承父对象的多个特征。另外,使用以上讨论的容器的类比,一个子容器对象(比如一个列表)被包含在一个父子站点或父站点内。因此,为了将子对象恢复到一个目标数据库上,必须首先恢复任何尚未被恢复的父对象以便将该子对象适当地并且完整地恢复到该目标数据库内。这允许该子对象既被适当地放置在层级结构中并且从该子对象的父对象中继承多个特征。图3是一个简化流程图,展示了根据本发明的多个实施方案的备份过程。备份服务器160可以接收对数据库120进行备份的一个请求(310)。此时,发起了两个过程。这些过程可以同时发生或者顺序地发生,但是在时间上要足够接近使得数据库120的结构是相同的。对数据库进行了整体备份(320)。这样的一个备份可以是数据库120的一个快照,该快照包括备份时与该数据库相关的所有信息。该整体备份是使用在备份服务器与数据库服务器之间的直接交互来进行的。这个备份不是使用由(例如)网络服务器150提供的应用程序对象模型来进行的。此外,可以就元数据表信息来询问数据库120(330)。元数据表信息包括有关表的信息,这些表包含了数据库120内的不同对象结构的特征。所寻找的表信息可以包括这个表的索引、表在数据库内的偏移(例如,表的位置)、表的名称、以及表的结构。以此方式,对识别并定位每个表的信息进行收集,这些表描述了数据库120内的感兴趣的对象。本发明的多个实施方案收集这种元数据表信息,这样使得在恢复操作时能够访问这些表。因此,收集了足够的信息以允许此类元数据表访问,但不是实际存储在这些表本身中的信息。一旦收集了元数据表信息,可以存储该元数据表信息(340)。此类存储可以采取(例如)多个表的一份清单的形式。在题为“用于恢复应用程序级别的对象的技术”的未决美国专利申请序列号11/960,309中说明了可以进行此类访问并存储元数据表信息的一个实用程序的实例,该申请通过引用以其所披露的全部内容结合在此。一旦备份完成并且元数据表信息已经被存储,该元数据表信息与数据库的备份就是相关联的(350)。这样一种关联使之能够在恢复操作过程中访问所存储的元数据表信息的清单。图4是一个简化流程图,展示了根据本发明的多个实施方案的数据库恢复操作。响应于从一个特定的备份中恢复应用程序对象信息的一个用户请求,恢复实用程序可以读取与该特定的备份相关联的元数据表信息以便确定描述了该备份中的多个应用程序对象的多个表的位置和结构010)。然后该恢复使用程序可以使用来自该元数据表的信息的信息从该备份中直接读取表数据G15)。一旦已经读取了该表数据,就可以对该数据进行解读以便确定在该数据库备份内的多个应用程序对象的一种层级结构G20)。然后所解读的对象层级结构可以显示给一个用户025)。然后用户可以审查所显示的对象层级结构以便确定用户想要恢复的那些对象。用户可以在该层级结构的任何层级处选择一个对象。一旦用户选择了所希望恢复的对象,恢复实用程序就可以接收这些对象选择(430)。此时,恢复实用程序开始恢复操作以便对恢复每个所选对象所必需的层级结构中的所有对象进行恢复。例如,如果选择了一个列表对象,则与该列表对象相关联的任何站点或子站点对象也要经历恢复操作。如以上讨论的,这是因为一个列表对象(作为一个站点对象的子对象)继承了父对象的某些特征。因此,这个恢复实用程序经过一系列的步骤来恢复这种层级结构。因此,对恢复一个所选对象所必需的层级结构中的顶层对象成为了第一个有待恢复的对象035)。恢复实用程序从与有待恢复的对象相关的备份中读取元数据表数据(440)。同样,可以从与该备份相关联的元数据表信息中读取对与这个有待恢复的对象相关联的一个或多个适当的元数据表进行定位所必需的信息。一旦已经从该表中读取了与该有待恢复的对象相关的信息,就该有待恢复的对象是否已经在目标数据库中存在做出一个决定G45)。如果在该目标数据库中尚未存在有待恢复的对象,则使用从该备份中读取的表数据在该目标数据库中创建这个有待恢复的对象G50)。可以通过将与该对象相关的信息提供给一个由(例如)网络服务器150所服务的应用程序对象模型来进行这个有待恢复的对象的恢复。通过使用该应用程序对象模型在该目标数据库中生成该有待恢复的对象,保证了结构与它们相关联的应用程序的一致性。在目标数据库中创建了该对象或者确定该对象已经被恢复之后,就该有待恢复的对象是否与由用户选择的用于恢复的对象相同做出一个决定^阳)。如果这个有待恢复的对象不是用户所选的对象,则选择下一个有待恢复的对象,该对象是在恢复所选对象所必需的层级结构中的下一个对象G60)。然后,处理过程再次返回从与这个新的有待恢复的对象相关的备份中读取表数据(440)并且如上所述重复该过程。如果有待恢复的对象是用户所选的对象G55),则就所选对象是否是用户的最后一个所选对象做出一个决定G65)。这就是说,就现在是否已经恢复了用户所选的每个对象做出一个决定。如果不是,则将下一个所选对象作为有待恢复的目标,并且该过程返回到确定恢复该下一个所选对象所必需的层级结构中的顶层对象(435),并且如上所述重复该过程。如果所选对象是用户所选的最后一个对象065),则该恢复过程完成。通过使用上述恢复方法,可以将支持一个已备份数据库中的一个所选对象所必需的整个层级结构恢复到一个目标数据库中。此外,通过访问在数据库备份内存储的表来恢复该对象的所有特征,这些表包含了描述所请求的对象所必需的特征。如果需要在目标数据库中创建一个对象(例如,步骤450),该恢复实用程序可以访问与该对象相关联的一个应用程序网络服务器150以便使用从备份表中提取的特征信息在目标数据库中创建这个对象。以此方式,对于应用程序访问该对象所必需的结构可以通过应用程序对象模型来自动地创建,并且同时从该备份中提供描述该对象所必需的特征信息。使用这样一种恢复技术,可以在目标数据库中创建多个容器,这些容器具有与已备份数据库中的相关联容器的相同特征。因此,用户可以在目标数据库中创建与备份数据库中的结构相同的结构,但是该结构对存储在已备份数据库中的数据以外的数据是可供使用的。这就是说,已备份数据库用作该目标数据库的一个模板。还可以将数据从已备份数据库恢复到目标数据库。一旦已经在目标数据库中配置了适当的容器,如果是所希望的,可以直接访问在数据库服务器与备份服务器之间的数据库服务器以便将数据更快速并更有效地恢复到目标数据库的适当结构上。一种示例性计算和网络环境如以上所示出的,可以使用多种计算机系统和网络来实施本发明。以下参见图5和6描述了一种此类计算和网络环境的实例。图5描绘了一种计算机系统510的框图,该计算机系统适合用于实施本发明的多个方面(例如,客户端140、备份服务器160、数据库服务器110、以及网络服务器150)。计算机系统510包括总线512,该总线将计算机系统510的大多数子系统相互连接,如中央处理器514、系统存储器517(典型地RAM,但是还可以包括ROM、闪存RAM、或类似的存储器)、输入/输出控制器518、外部音频装置(如经由音频输出接口522的扩音器系统520)、外部装置(如经由显示适配器526的显示屏5M)、多个串行端口5和530、键盘532(与键盘控制器533相连接)、存储接口534、可操作用于接收软盘538的软盘驱动器537、可操作用于与光纤通道网络590相连接的主机总线适配器(HBA)接口卡535A、可操作用于连接到SCSI总线539上的主机总线适配器(HBA)接口卡535B、以及可操作用于接收光盘542的光盘驱动器540。还包括了鼠标546(或其他指向和点击装置,通过串行端口528与总线512相连接)、调制解调器547(通过串行端口530与总线512相连接)、以及网络接口548(直接与总线512相连接)。总线512允许中央处理器514与系统存储器517之间的数据通信,该系统存储器可以包括只读存储器(ROM)或闪存(均未示出)、以及随机存取存储器(RAM)(未示出),如以上指出的。RAM总体上是加载操作系统和应用程序的主存储器。ROM或闪存可以包含(除其他代码之外)基本输入输出系统(BIOS),该系统控制基本硬件操作如与外围部件的交互。驻存在计算机系统510中的多种应用程序总体上存储在计算机可读媒质(如硬盘驱动器(例如,固定盘544)、光盘驱动器(例如,光盘驱动器540)、软盘单元537或其他存储媒质)上并且通过它们进行访问。此外,当通过网络调制解调器547或接口548来访问时,应用程序可以是处于根据应用程序和数据通信技术进行调制的电子信号的形式。存储接口534连同计算机系统510的其他存储接口可以连接到用于信息的存储和/或检索的一种标准计算机可读媒质上,如固定盘驱动器544。固定盘驱动器544可以是计算机系统510的一部分或者可以是分离的并且通过其他接口系统可访问的。调制解调器547可以通过电话链路提供到远程服务器上的直接连接、或者通过互联网服务提供商(ISP)提供到互联网的直接连接。网络接口548可以通过一个直接网络链路提供到一个远程服务器的直接连接、或者通过一个POP(存在点)提供到互联网的直接连接。网络接口548还可以使用无线技术提供此类连接,该无线技术包括数字蜂窝电话连接、蜂窝数字包数据(CDPD)连接、数字卫星数据连接、或类似的连接。许多其他装置或子系统(未示出)能够以类似的方式(例如,文档扫描仪、数码照相机、等等)进行连接。相反,实施本发明并不需要图5中示出的所有装置都存在。这些装置和子系统能够以不同于图5中示出的方式互相连接。如图5中示出的计算机系统的操作在本领域中是公知的并且未在本申请中进行详细讨论。用于实施本发明的编码可以被存储在计算机可读存储媒质中,如系统存储器517、固定盘544、光盘542、或软盘538的一个或多个中。在计算机系统510上提供的操作系统可以是MS-DOS、MS-WINDOWS、OS/2、UNIX、Linux、或另一种已知的操作系统。另外,有关在此描述的这些信号,本领域的普通技术人员将会认识到一个信号可以被直接从一个第一方框传送至一个第二方框、或者一个信号在这些方框之间可以被修改(例如,放大、衰减、延迟、锁存、缓存、逆转、过滤、或其他方式的修改)。尽管以上描述的实施方案的这些信号的特征是从一个方框传送到下一个上,本发明的其他实施方案可以包括多种修改的信号来代替此类直接传送的信号,只要在多个方框之间传送了该信号的信息的和/或功能的方面。因为所涉及的电路的物理限制(例如,将不可避免地有某种衰减以及延迟),在某种程度上,在第二方框处的信号输入可以理解为从来自第一方框的一个第一信号输出中得出的一个第二信号。因此,如在此所使用的,从一个第一信号得出的一个第二信号包括该第一信号或对该第一信号的任何修改,无论是因为电路限制或是因为经过了其他电路元件,这些电路元件未改变该第一信号的信息的和/或最终功能性方面。图6是一个框图,它描绘了一种网络体系结构600,其中客户端系统610、620和630连同存储服务器640A和640B(可以使用计算机系统510实施它们中的任何一个)被连接到网络650上。存储服务器640A被进一步描绘为具有直接附接的多个存储装置660A(I)-(N),并且存储服务器640B被描绘为具有直接附接的多个存储装置660B(I)-(N)。多个存储服务器640A和640B还被连接到SAN光纤通道670上,尽管本发明的操作不要求连接到存储区域网络上。SAN光纤通道670支持由存储服务器640A和640B、以及因此通过网络650由客户端系统610、620和630对存储装置680(I)-(N)的访问。智能存储阵列690还被示出为通过SAN光纤通道670可访问的一个具体的存储装置的实例。借助于计算机系统510,调制解调器M7、网络接口548或一些其他方法可以被用于提供从客户端计算机系统610、620和630中的每一个到网络650的连接性。例如,客户端系统610、620和630能够使用例如一个网络浏览器或其他客户端软件(未示出)来访问存储服务器640A或640B上的信息。这样一个客户端允许客户端系统610、620、和630访问由存储服务器640A或640B或存储装置660A(1)-(N)、660B(1)-(N)、680(1)-(N)之一或智能存储阵列690托管的数据。图6描绘了使用一个网络(如互联网)用于交换数据,但是本发明并不限于互联网或任何具体的基于网络的环境。其他实施方案本发明良好地适合于获得所提及的优点连同在此包含的其他优点。尽管已经通过参照本发明的具体实施方案来描绘、描述、并限定了本发明,这种参照并非暗示对本发明的限制,并且不得推断出任何此类限制。本发明在形式和功能上能够进行显著的修改、替代、以及等效物,如相关领域的普通技术人员将会想到的。所描绘和描述的实施方案仅是实例,并且对本发明的范围不是穷尽的。上文描述了多个实施方案,它们包括被包含在其他部件中的多个部件(例如,不同的元件被示出为计算机系统510的部件)。此类体系结构仅是实例,并且事实上,可以实施许多其他体系结构,它们实现了相同的功能性。在一种抽象的但仍明确的意义上,为了实现相同的功能性的任何部件安排都是有效地“相关联的”从而实现了所希望的功能性。因此,在此为了实现一种具体的功能性而相结合的任何两个部件都可以被看作彼此“相关联的”从而实现了所希望的功能性,而无论体系结构或中间部件如何。同样,如此相关联的任何两个部件还可以被看作彼此“可操作地相连接的”或“可操作地相联接的”以便实现所希望的功能性。上述详细描述已经通过使用框图、流程图、以及实例给出了本发明的不同实施方案。本领域的技术人员将会理解通过使用实例展示的每个框图部件、流程图步骤、操作和/或部件都可以由一个大系列的硬件、软件、固件、或它们的任何组合来单独地和/或共同地实现。例如,可以在用于实现与所述的功能块中的一个或多个相关联的功能的专用集成电路或类似的或相关的电路系统中采用特定的电子元件。本发明已经在完全功能性的计算机系统背景中进行了描述;然而,本领域的普通技术人员将会认识到本发明能够以多种的形式作为程序产品来分发,并且无论用于实际上进行该分发的具体类型的信号承载媒质如何本发明都是同等地适用的。信号承载媒质的实例包括计算机可读存储媒质、传输型媒质如数字的和模拟的通信链路、连同未来研发的媒质存储和分发系统。以上讨论的实施方案可以通过执行某些任务的软件模块来实施。在此讨论这些软件模块可以包括脚本、批数据、或其他可执行文件。在此讨论这些软件模块可以进一步包括一个或多个指令集,该一个或多个指令集是由被配置为执行此类指令的一个处理器可执行的。这些软件模块可以被存储在机器可读或计算机可读存储媒质上,如磁软盘、硬盘、半导体存储器(例如,RAM、ROM、以及闪存类型的媒质)、光盘(例如,CD-ROM、CD-R、以及DVD)、或其他类型的存储器模块。用于存储根据本发明的一种实施方案的固件或硬件模块的存储装置还可以包括基于半导体的存储器,它可以是永久地、可移除地或远程地与微处理器/存储器系统相联接。因此,这些模块可以被存储在一个计算机系统存储器中以便将该计算机系统配置为进行该模块的功能。其他新的以及不同类型的计算机可读存储媒质可以被用于存储在此讨论的这些模块。以上的描述是旨在展示本发明并且不应当被认为是限制性的。本发明的范围内的其他实施方案是可能的。本领域的普通技术人员将容易地实施对提供在此披露的这些结构和方法而言必需的步骤,并且将会理解这些步骤的过程参数和序列是仅通过举例而给出的、并且可以被改变来实现本发明的范围内的所期望的结构以及修改。基于在此给出的描述可以做出对于在此披露的这些实施方案的变更和修改,而不背离本发明的范围。因此,本发明是旨在仅由所附权利要求的范围来限定,并在所有方面给予对等效物的全面认同。尽管已经结合多个实施方案描述了本发明,但是本发明并非旨在受限于在此给出的这些特定形式。相反,它是旨在覆盖能够被合理地包括在如由所附权利要求限定的本发明的范围内的此类替代方案、修改、以及等效物。权利要求1.一种方法,包括接收从一个包括多个对象的数据库的备份中恢复一个所选对象的一个请求,其中该多个对象包括所选对象;在该备份中对与所选对象相关联的信息进行定位,其中所述定位包括使用在创建该数据库的备份时从所备份的数据库中收集的数据库表元数据;并且使用与所选对象相关联的信息来恢复所选对象。2.如权利要求1所述的方法,其中所述恢复所选对象包括对恢复所选对象所必需的每个对象进行恢复,其中多个对象的一种层级结构包括该多个对象,并且恢复所选对象所必需的每个对象是包括所选对象的多个对象的一种层级结构中的一员O3.如权利要求2所述的方法,其中如果一个对象在该层级结构中是在所选对象之上,则该对象对于恢复所选对象而言是必需的,并且该恢复所选对象所必需的对象先前未被恢复。4.如权利要求1所述的方法,其中该数据库表元数据包括对于存储在该备份中的一个数据库表的一种偏移,其中该数据库表包括描述所选对象的信息。5.如权利要求4所述的方法,其中该数据库表元数据进一步包括描述该数据库表的一种结构的信息。6.如权利要求4所述的方法,其中多个数据库表包括描述所选对象的信息。7.如权利要求1所述的方法,进一步包括对该数据库进行备份;并且存储该数据库表元数据。8.如权利要求7所述的方法,其中该数据库包括一个SiarePoint内容数据库,并且该数据库表元数据包括描述在该SiarePoint内容数据库中的一个或多个表的信息。9.如权利要求8所述的方法,其中在该SiarePoint内容数据库内的该一个或多个表包括站点表、网页表、列表表、用户数据表、用户信息表、分组表、以及角色表中的一个或多个。10.一种系统,包括一个处理器;一个连接到该处理器上的第一存储对象,其中该第一存储对象存储了一个数据库的备份,并且所备份的数据库包括多个对象以及描述该多个对象的多个数据库表;一个连接到该处理器上的第二存储对象,其中该第二存储对象存储了一个目标存储区域,该目标存储区域是用于从该数据库的备份中恢复的多个对象;以及一个存储器,该存储器被连接到该处理器上、并且存储了由该处理器可执行的多条指令,所述指令被配置为用于接收从该数据库备份中恢复一个所选对象的一个请求,其中该多个对象包括所选对象,在该数据库备份中对与所选对象相关联的信息进行定位,其中所述定位包括使用在创建该数据库的备份时从所备份的数据库中收集的数据库表元数据;并且使用该与所选对象相关联的信息将所选对象恢复到该第二存储对象上。11.如权利要求10所述的系统,其中所述被配置为用于恢复所选对象的指令包括进一步的指令,这些进一步的指令被配置为用于对恢复所选对象所必需的每个对象进行恢复,其中多个对象的一种层级结构包括该多个对象,并且恢复所选对象所必需的每个对象是包括所选对象的多个对象的一种层级结构中的一员O12.如权利要求11所述的系统,其中如果一个对象在该层级结构中是在所选对象之上,则该对象对于恢复所选对象而言是必需的,并且该恢复所选对象所必需的对象先前未被恢复。13.如权利要求10所述的系统,其中该数据库表元数据包括对于存储在该备份中的一个数据库表的一种偏移,其中该数据库表包括描述所选对象的信息。14.如权利要求13所述的系统,其中该数据库表元数据进一步包括描述该数据库表的一种结构的信息。15.如权利要求13所述的系统,其中多个数据库表包括描述所选对象的信息。16.如权利要求10所述的方法,其中该数据库包括一个SharePoint内容数据库,并且该数据库表元数据包括描述在该SharePoint内容数据库中的一个或多个表的信息。17.一种计算机可读存储媒质,包括一个第一指令集,该第一指令集是由一个处理器可执行的、并且被配置为接收从一个包括多个对象的数据库的备份中恢复一个所选对象的一个版本的一个请求,其中该多个对象包括所选对象;一个第二指令集,该第二指令集是由该处理器可执行的、并且被配置为在该备份中对与所选对象相关联的信息进行定位,其中所述第二指令集包括进一步的指令,这些进一步的指令被配置为使用在创建该数据库的备份时从所备份的数据库中收集的数据库表元数据;以及一个第三指令集,该第三指令集是由该处理器可执行的、并且被配置为使用该与所选对象相关联的信息将所选对象恢复到一个目标存储器上。18.如权利要求17所述的计算机可读存储媒质,其中所述第三指令集进一步包括一个第四指令集,该第四指令集是由该处理器可执行的、并且被配置为对恢复所选对象所必需的每个对象进行恢复,其中多个对象的一种层级结构包括该多个对象,并且恢复所选对象所必需的每个对象是包括所选对象的多个对象的一种层级结构中的一员O19.如权利要求18所述的计算机可读媒质,其中如果一个对象在该层级结构中是在所选对象之上,则该对象对于恢复所选对象而言是必需的,并且该恢复所选对象所必需的对象先前未被恢复。20.如权利要求17所述的计算机可读存储媒质,其中该数据库表元数据包括对于存储在该备份中的一个数据库表的一种偏移,其中该数据库表包括描述所选对象的信息;以及描述该数据库表的一种结构的信息。全文摘要本发明提供了一种机制来选择性地恢复一个整体备份的数据库的多个部分,同时维持该数据库的这些所恢复的部分的层级结构关系及其他元数据关系。本发明的多个实施方案提供了一种方法、系统和计算机可读存储媒质,它们提供了用于接收从一个数据库备份的多个已备份对象中恢复一个所选对象的一个请求,在该数据库备份中对与所选对象相关联的信息进行定位,并且使用与所选对象相关联的信息将有待恢复的对象恢复到一个目标区域中。数据库表元数据是在创建该备份时从所备份的数据库中收集的以便对与所选对象相关联的信息进行定位。文档编号G06F11/14GK102171661SQ200980138367公开日2011年8月31日申请日期2009年9月22日优先权日2008年9月30日发明者D·萨拉夫,L·比蒂,S·R·德沃斯申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1