用于备份大型分布式横向扩展数据系统的系统和方法与流程

文档序号:15467010发布日期:2018-09-18 19:31阅读:239来源:国知局

在数字时代,组织机构越来越依赖数字存储的数据。随着对数字存储数据的依赖性增加,组织机构越来越多地寻求灵活且负担得起的存储解决方案。为此,一些组织机构可能将数据存储在分布式横向扩展存储系统上。分布式横向扩展存储系统可允许管理员将新存储设备添加到存储后端,同时提供存储的统一视图(例如,揭示单一命名数据存储库),从而有利于存储的可扩展扩张并可能最大限度地减少配置任务。

为了防止数据丢失,组织机构可使用备份系统来备份重要数据。然而,当备份存储在分布式横向扩展存储系统上的数据时,传统备份系统可能表现不佳。例如,传统备份系统可能需要很长时间来备份存储在分布式横向扩展存储系统上的大型数据集,并且/或者可能需要大量昂贵的硬件来执行备份。

因此,本公开确定并解决了对用于备份大型分布式横向扩展数据系统的额外且改善的系统和方法的需要。



技术实现要素:

如下文将更详细地描述,本公开通常涉及用于通过以下方式备份大型分布式横向扩展数据系统的系统和方法:根据备份作业的大小为应用于分布式横向扩展存储系统的备份作业动态供应备份系统;将备份作业划分成分配给供应的备份系统的若干较小的备份任务;执行较小的备份任务(例如,并行地通过供应的备份系统);并且将较小的备份任务的结果组合成统一的备份(例如,反映由分布式横向扩展数据系统提供的统一存储视图)。此外,在一些示例中,这些系统和方法可以基于关于分布式横向扩展数据系统的底层存储架构的信息(而不是例如依靠由分布式横向扩展数据系统提供的统一存储视图)来划分备份作业。

在一个示例中,用于备份大型分布式横向扩展数据系统的计算机实现的方法可包括(1)识别要在呈现统一存储视图的分布式横向扩展存储系统上执行的备份作业,该备份作业包括一组数据对象,(2)响应于应用于分布式横向扩展存储的备份作业并且基于备份作业的范围来确定要部署以用于执行备份作业的备份系统的数量,(3)基于所确定的备份系统的数量来部署一组备份系统,并且对于备份系统内的每个备份系统通过以下方式来创建覆盖数据对象的一组备份:(i)向备份系统分配用以备份的备份作业内的数据对象的子集,并且(ii)通过备份系统备份分配给备份系统的数据对象的子集,以及(4)将备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份。

在一些示例中,创建备份可包括并行地创建备份。

在一个实施方案中,向备份系统分配用以备份的备份作业内的数据对象的子集可包括基于用以分配给备份系统的数据对象的目标比例来确定用以包括在数据对象的子集中的数据对象的数量。

在一个实施方案中,向备份系统分配用以备份的备份作业内的数据对象的子集可包括:确定一组数据对象一起存储在分布式横向扩展存储系统中的单个存储节点上,并且基于该组数据对象被一起存储在分布式横向扩展存储系统中的单个存储节点上来将该组数据对象包括在分配给备份系统的数据对象的子集中。

在一些示例中,确定该组数据对象一起存储在分布式横向扩展存储系统中的单个存储节点上可包括确定该组数据对象内的每个数据对象在分布式横向扩展存储系统的分布式架构的视图内的存储位置,而不是确定该组数据对象内的每个数据对象在统一存储视图内的存储位置。

在一些示例中,将备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份可包括:备份描述存储在备份内单独备份中的两个数据对象之间的至少一种关系的元数据,并且重构统一备份中两个数据对象之间的关系。

在一些示例中,基于所确定的备份系统的数量来部署备份系统可包括从计算资源池动态地启动备份系统。

在一些示例中,创建备份可包括:指示分布式横向扩展存储系统拍摄包括数据对象的快照并且从快照创建备份。

在一些示例中,创建备份可包括:指示分布式横向扩展存储系统拍摄一组快照,每个快照对应于数据对象的一致性组,其被配置用于一致性组内的数据对象间的时间点一致性;并且从快照创建备份。

在一个实施方案中,响应于应用于分布式横向扩展存储的备份作业来确定要部署以用于执行备份作业的备份系统的数量可包括动态评估用以应用于备份作业的计算资源的量,而不是响应于确定分布式横向扩展存储系统表示分布式横向扩展存储而分配用以应用于备份作业的计算资源的静态集。

在一个实施方案中,用于实现上述方法的系统可包括(1)存储在存储器中的识别模块,该识别模块识别要在呈现统一存储视图的分布式横向扩展存储系统上执行的备份作业,该备份作业包括一组数据对象,(2)存储在存储器中的确定模块,该确定模块响应于应用于分布式横向扩展存储的备份作业并且基于备份作业的范围来确定要部署以用于执行备份作业的备份系统的数量,(3)存储在存储器中的部署模块,该部署模块基于所确定的备份系统的数量来部署一组备份系统,并且对于备份系统内的每个备份系统通过以下方式来创建覆盖数据对象的一组备份:(i)向备份系统分配用以备份的备份作业内的数据对象的子集,并且(ii)通过备份系统备份分配给备份系统的数据对象的子集,(4)存储在存储器中的组合模块,该组合模块将备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份,以及(5)至少一个物理处理器,该物理处理器被配置为执行识别模块、确定模块、部署模块和组合模块。

在一些示例中,上述方法可被编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,所述计算机可执行指令在由计算设备的至少一个处理器执行时可使得计算设备(1)识别要在呈现统一存储视图的分布式横向扩展存储系统上执行的备份作业,该备份作业包括一组数据对象,(2)响应于应用于分布式横向扩展存储的备份作业并且基于备份作业的范围来确定要部署以用于执行备份作业的备份系统的数量,(3)基于所确定的备份系统的数量来部署一组备份系统,并且对于备份系统内的每个备份系统通过以下方式来创建覆盖数据对象的一组备份:(i)向备份系统分配用以备份的备份作业内的数据对象的子集,并且(ii)通过备份系统备份分配给备份系统的数据对象的子集,以及(4)将备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份。

来自任意上述实施方案的特征可根据本文所述的一般原理彼此结合使用。在结合附图和权利要求阅读以下详细描述后,将更全面地理解这些以及其他实施方案、特征和优点。

附图说明

附图示出多个示例性实施方案,且是说明书的一部分。这些附图与以下描述一起展示并说明本公开的各种原理。

图1是用于备份大型分布式横向扩展数据系统的示例性系统的框图。

图2是用于备份大型分布式横向扩展数据系统的附加示例性系统的框图。

图3是用于备份大型分布式横向扩展数据系统的示例性方法的流程图。

图4是用于备份大型分布式横向扩展数据系统的示例性计算系统的框图。

图5是用于备份大型分布式横向扩展数据系统的示例性数据存储视图的框图。

图6是用于备份大型分布式横向扩展数据系统的示例性计算系统的框图。

图7是能够实现本文所描述和/或所示的实施方案中的一个或多个的示例性计算系统的框图。

图8是能够实现本文所描述和/或所示的实施方案中的一个或多个的示例性计算网络的框图。

在整个附图中,相同的参考字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易存在各种修改形式和另选形式,但附图中以举例的方式示出了具体实施方案,这些实施方案将在本文中详细描述。然而,本文所述的示例性实施方案并不旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。

具体实施方式

本公开整体涉及用于备份大型分布式横向扩展数据系统的系统和方法。如下文将更详细地解释,通过根据备份作业的大小为应用于分布式横向扩展存储系统的备份作业动态供应备份系统,将备份作业划分成分配给供应的备份系统的若干较小的备份任务,执行较小的备份任务(例如,并行地通过供应的备份系统),并且将较小的备份任务的结果组合成统一的备份(例如,反映由分布式横向扩展数据系统提供的统一存储视图),本文所述的系统和方法可以以响应于改变表面固定存储系统的存储配置的方式,在需要的基础上灵活地为备份作业提供计算资源。此外,在一些示例中,通过基于关于分布式横向扩展数据系统的底层存储架构的信息(而不是例如依靠由分布式横向扩展数据系统提供的统一存储视图)来划分备份作业,这些系统和方法可改善备份性能。

以下将参照图1、图2、图4和图6提供用于备份大型分布式横向扩展数据系统的示例性系统的详细描述。还将结合图3提供对应的计算机实现的方法的详细描述。另外,将相对于图5提供示例性数据存储视图的详细描述。此外,将分别结合图7和图8提供能够实现本文所述的实施方案中的一个或多个的示例性计算系统和网络架构的详细描述。

图1是用于备份大型分布式横向扩展数据系统的示例性系统100的框图。如该图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如下文将更详细地解释,示例性系统100可包括识别模块104,该识别模块识别要在呈现统一存储视图的分布式横向扩展存储系统上执行的备份作业,该备份作业包括多个数据对象。示例性系统100可另外包括确定模块106,该确定模块响应于应用于分布式横向扩展存储的备份作业并且基于备份作业的范围来确定要部署以用于执行备份作业的备份系统的数量。示例性系统100还可包括部署模块108,该部署模块基于所确定的备份系统的数量来部署多个备份系统,并且对于多个备份系统内的每个备份系统通过以下方式来创建覆盖多个数据对象的多个备份:(1)向备份系统分配用以备份的备份作业内的多个数据对象的子集,并且(2)通过备份系统备份分配给备份系统的多个数据对象的子集。示例性系统100可另外包括组合模块110,该组合模块将多个备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份。虽然示出为单独元件,但图1的模块102中的一个或多个可表示单个模块或应用程序的若干部分。

在某些实施方案中,图1中的模块102中的一个或多个可表示一个或多个软件应用程序或程序,其在由计算设备执行时可致使计算设备执行一个或多个任务。例如,并且如下文将更详细地描述,模块102中的一个或多个可表示被存储并且被配置为在一个或多个计算设备上运行的软件模块,所述计算设备诸如为图2所示的设备(例如,计算设备202和/或分布式横向扩展存储系统206)、图7中的计算系统710、和/或图8中的示例性网络架构800的部分。图1中的模块102中的一个或多个还可表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。

如图1所示,示例性系统100还可包括一个或多个数据库,诸如数据库120。在一个示例中,数据库120可被配置为存储数据对象122。

数据库120可表示单个数据库或计算设备的部分或者多个数据库或计算设备。例如,数据库120可表示图2中的分布式横向扩展存储系统206的一部分、图7中的计算系统710、和/或图8中的示例性网络架构800的部分。作为另外一种选择,图1中的数据库120可表示能够由计算设备访问的一个或多个在物理上单独的设备,所述计算设备诸如图2中的分布式横向扩展存储系统206、图7中的计算系统710、和/或图8中的示例性网络架构800的部分。在一个示例中,数据库120可表示备份数据存储库。

图1中的示例性系统100可以多种方式来实现。例如,示例性系统100的全部或部分可表示图2中的示例性系统200的部分。如图2所示,系统200可包括计算设备202,该计算设备经由网络204与分布式横向扩展存储系统206通信。在一个示例中,计算设备202可用模块102中的一个或多个编程并且/或者可存储数据库120中的全部或一部分数据。除此之外或作为另外一种选择,分布式横向扩展存储系统206可用模块102中的一个或多个编程并且/或者可存储数据库120中的全部或一部分数据。

在一个实施方案中,来自图1的模块102中的一个或多个在由计算设备202和/或分布式横向扩展存储系统206的至少一个处理器执行时使得计算设备202和/或分布式横向扩展存储系统206能够备份大型分布式横向扩展数据系统。例如,并且如下文将更详细地描述,模块102中的一个或多个可使得计算设备202和/或分布式横向扩展存储系统206备份由分布式横向扩展存储系统206存储的数据对象122。例如,并且如下文将更详细地描述,识别模块104可识别要在呈现统一存储视图208的分布式横向扩展存储系统206上执行的备份作业220,备份作业220包括数据对象122。确定模块106可响应于应用于分布式横向扩展存储的备份作业220并且基于备份作业220的范围来确定要部署以用于执行备份作业220的备份系统222的数量。部署模块108可基于所确定的备份系统222的数量来部署备份系统230,并且对于多个备份系统230内的每个系统通过以下方式来创建覆盖多个数据对象122的备份240:(1)向备份系统分配用以备份的备份作业220内的数据对象122的子集,并且(2)通过备份系统备份分配给备份系统的子集数据对象122。组合模块110可将备份240组合成表示分布式横向扩展存储系统206的统一存储视图208的统一备份250。

计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的示例包括但不限于膝上型计算机、平板计算机、台式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏机、上述一个或多个的组合、图7中的示例性计算系统710,或任何其他合适的计算设备。

分布式横向扩展存储系统206通常表示能够存储数据并且/或者向存储的数据提供一个或多个接口的任何类型或形式的计算系统。分布式横向扩展存储系统206的示例包括但不限于用于执行存储操作的存储设备和/或计算节点。

网络204通常表示能够促进通信或数据传送的任何介质或架构。网络204的示例包括但不限于:内联网、广域网(WAN)、局域网(LAN)、存储区域网络(SAN)、个人区域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、图8中的示例性网络架构800等。网络204可使用无线或有线连接促进通信或数据传送。在一个实施方案中,网络204可促进计算设备202与分布式横向扩展存储系统206之间的通信。

图3是用于备份大型分布式横向扩展数据系统的示例性计算机实现的方法300的流程图。图3所示的步骤可由任何合适的计算机可执行代码和/或计算系统执行。在一些实施方案中,图3所示的步骤可以由图1中的系统100、图2中的系统200、图7中的计算系统710和/或图8中的示例性网络架构800的部分的部件中的一个或多个执行。

如图3所示,在步骤302处,本文所述的系统中的一个或多个可识别要在呈现统一存储视图的分布式横向扩展存储系统上执行的备份作业,该备份作业包括多个数据对象。例如,作为图2中的计算设备202的一部分,识别模块104可识别要在呈现统一存储视图208的分布式横向扩展存储系统206上执行的备份作业220,备份作业220包括多个数据对象122。

如本文所用,术语“备份作业”可以指用于执行一个或多个备份操作的任何配置、脚本和/或规范。在一些示例中,备份作业可直接和/或间接地指定要备份的数据对象,根据其备份数据对象的计划表,和/或备份数据对象的一个或多个条件。在各种示例中,备份作业可包括完整备份(例如,由分布式横向扩展存储系统提供的统一存储视图的完整备份)、选择的备份、差异备份和/或增量备份。如本文所用,术语“备份操作”可包括用于备份、保护、传输和/或复制数据的任何操作。

如本文所用,术语“分布式横向扩展存储系统”可以指可被横向扩展(例如,通过将一个或多个计算节点和/或存储设备添加到存储系统)的任何存储系统。如本文所用,术语“节点”可以指可被添加到分布式横向扩展存储系统以进一步横向扩展存储系统的任何计算元件。例如,术语“节点”可以指计算节点(例如,其促进存储操作)和/或存储设备。统一存储视图可包括由分布式横向扩展存储系统存储的数据的逻辑、虚拟和/或聚集视图。例如,虽然分布式横向扩展存储系统可包括多个计算节点和/或存储设备,但分布式横向扩展存储系统可揭示表示多个计算节点和/或存储设备的单个数据存储库。在一些示例中,被揭示的数据存储库可无缝地提供由新添加到分布式横向扩展存储系统的计算节点和/或存储设备存储的数据对象的视图。在一些示例中,统一存储视图可提取出分布式横向扩展存储系统内的各个存储设备和/或计算节点,并且/或者可不提供数据对象的底层存储位置(例如,对应于一个或多个计算节点和/或存储设备)。在一些示例中,统一存储视图可包括描述数据对象并且/或者定义数据对象之间的关系的元数据。在一些示例中,经由统一存储视图提供的元数据可由分布式横向扩展存储系统分开存储并且/或者可不被存储为数据对象的一部分。因此,数据对象的副本(例如,备份副本)可能缺少经由统一存储视图提供的元数据。

如本文所用,术语“数据对象”可以指能够由存储系统存储的任何数据项。数据对象的示例可包括但不限于文件系统对象(例如,文件)、数据库和数据库条目。

识别模块104可在各种情境中的任一种中识别备份作业。例如,识别模块104可识别备份作业,该备份作业被配置为备份存储在分布式横向扩展存储系统上的数据对象。在一些示例中,识别模块104可识别备份作业,该备份作业被配置为备份如由统一存储视图呈现的数据。例如,备份作业可指定由统一存储视图呈现的逻辑数据存储库和/或如由统一存储视图呈现的一个或多个数据对象的逻辑存储位置(例如,与指定为分布式横向扩展存储系统存储数据的一个或多个计算节点和/或存储设备,以及/或者计算节点和/或存储设备上的一个或多个数据对象的存储位置相反)。

在一些示例中,识别模块104可确定备份作业应用于分布式横向扩展存储系统。例如,备份作业可被配置为将由分布式横向扩展存储系统的统一存储视图呈现的数据存储库指定为对应于分布式横向扩展存储系统。除此之外或作为另外一种选择,识别模块104可分析分布式横向扩展存储系统以确定分布式横向扩展存储系统是分布式横向扩展存储系统。例如,识别模块104可检索关于分布式横向扩展存储系统的指示分布式横向扩展存储系统是分布式横向扩展存储系统的产品信息,可针对指示分布式横向扩展存储系统是分布式横向扩展存储系统的信息查询分布式横向扩展存储系统,并且/或者可通过分布式横向扩展存储系统识别指示分布式横向扩展存储系统是分布式横向扩展存储系统的行为模式。在一些示例中,如下文将更详细地解释,响应于确定备份作业应用于分布式横向扩展存储系统,本文所述的系统中的一个或多个可执行本文所述的步骤中的一个或多个。

返回图3,在步骤304处,本文所述的系统中的一个或多个可响应于应用于分布式横向扩展存储的备份作业并且基于备份作业的范围来确定要部署以用于执行备份作业的备份系统的数量。例如,作为图2中的计算设备202的一部分,确定模块106可响应于应用于分布式横向扩展存储的备份作业220并且基于备份作业220的范围来确定要部署以用于执行备份作业220的备份系统222的数量。

如本文所用,术语“备份系统”可以指可用于备份数据的任何系统、服务器、工作负载和/或过程。在一些示例中,备份系统可包括在动态供应的虚拟机内执行的系统。

确定模块106可以任何合适的方式确定用以部署的备份系统的数量。例如,确定模块106可确定每个备份系统的目标任务大小(例如,用以备份的数据量),并且确定在给定目标任务大小的情况下有多少备份系统将覆盖备份作业。除此之外或作为另外一种选择,确定模块106可通过为备份作业部署备份系统直到备份作业的所有部分被覆盖来确定备份系统的数量。在一些示例中,确定模块106可通过识别服务级别目标(例如,根据直到备份作业完成的时间)并且估计足以满足服务级别目标的备份系统的数量(例如,在假设备份系统并行操作的情况下)来确定备份系统的数量。

在一些示例中,确定模块106可动态评估用以应用于备份作业的计算资源的量,而不是响应于确定分布式横向扩展存储系统表示分布式横向扩展存储而分配用以应用于备份作业的计算资源的静态集。例如,确定模块106可基于确定分布式横向扩展存储系统是可扩展系统(而不是例如使用备份资源的预定义集)来确定要部署多少备份系统。

返回图3,在步骤306处,本文所述的系统中的一个或多个可基于所确定的备份系统的数量来部署多个备份系统,并且对于多个备份系统内的每个备份系统通过以下方式来创建覆盖多个数据对象的多个备份:(1)向备份系统分配用以备份的备份作业内的多个数据对象的子集,并且(2)通过备份系统备份分配给备份系统的多个数据对象的子集。例如,作为图2中的计算设备202的一部分,部署模块108基于所确定的备份系统222的数量来部署备份系统230,并且对于备份系统230内的每个备份系统通过以下方式来创建覆盖数据对象122的备份240:(1)向备份系统分配用以备份的备份作业220内的数据对象122的子集,并且(2)通过备份系统备份分配给备份系统的数据对象122的子集。

部署模块108可以任何合适的方式创建多个备份。例如,部署模块108可并行地部署备份系统和/或指示备份系统并行地创建多个备份。例如,部署模块108可在计划时间部署备份系统,并且备份系统可在部署时创建备份。因此,在一些示例中,备份系统中的一个或多个可以重叠时间窗来执行备份操作。在一些示例中,部署模块108可在计划备份时间(例如,由备份作业指定)之前开始部署备份系统,使得备份系统准备好在计划备份时间执行备份。

部署模块108可以任何合适的方式向每个备份系统分配多个数据对象的对应子集。例如,部署模块108可通过基于用以分配给备份系统的数据对象的目标比例确定用以包括在子集中的数据对象的数量来将每个子集分配给对应的备份系统。除此之外或作为另外一种选择,部署108可通过基于用以分配给备份系统的数据的目标比例确定用以包括在子集中的总数据量来将每个子集分配给对应的备份系统。因此,在一些示例中,部署模块108可分配大致相同量的数据以用于备份到每个备份系统(经受例如一个或多个附加分配约束)。在一些示例中,部署模块108可以落到预定阈值以下的差分范围将数据对象分配给备份系统。

在一些示例中,部署模块108可基于分布式横向扩展存储系统存储数据对象的方式和/或位置,来将数据对象的子集分配给用于备份的备份系统。例如,部署模块108可确定一组数据对象一起存储在分布式横向扩展存储系统中的单个存储节点上(例如,通过单个计算节点和/或在单个存储设备处)并且基于该组数据对象被一起存储在分布式横向扩展存储系统中的单个存储节点上来将该组数据对象包括在要分配给单个备份系统的子集中。在一些示例中,可将一个或多个存储节点分配给每个备份系统以用于备份,但是单个存储节点的备份操作可能不会在多个备份系统之间分割。在一些示例中,如前所解释,可基于多个存储节点内的数据量(例如,使得每个备份系统备份大致相同量的数据)和/或用以备份在多个存储节点内的数据的估计的时间量(例如,使得每个备份系统花费大致相同量的时间来备份数据)来将多个存储节点分配给备份系统。在一些示例中,可基于多个存储节点之间的关系来将多个存储节点分配给备份系统。例如,可基于多个存储节点在逻辑上靠近彼此定位(例如,基于彼此之间的跳数较低,诸如位于相同机架上),来将多个存储节点分配给相同的备份系统。在一些示例中,可至少部分地基于数据对象所属的一致性组来将数据对象分配给备份系统以用于备份(例如,属于给定一致性组的数据对象可被分配给给定的备份系统和/或备份系统组)。

部署模块108可以各种方式中的任一种确定该组数据对象一起存储(例如,通过单个计算节点和/或在单个存储设备上)在分布式横向扩展存储系统中。例如,部署模块108可确定该组数据对象内的每个数据对象在分布式横向扩展存储系统的分布式架构的视图内的存储位置,而不是确定该组数据对象内的每个数据对象在统一存储视图内的存储位置。部署模块108可以任何合适的方式确定每个数据对象的存储位置。例如,部署模块108可针对在统一存储视图内识别的数据对象的底层存储位置来查询分布式横向扩展存储系统。除此之外或作为另外一种选择,部署模块108可分析分布式横向扩展存储系统的架构和/或由分布式横向扩展存储系统维护的元数据以确定数据对象的底层存储位置。在一些示例中,部署模块108可单独维护数据对象的底层存储位置的列表(通过例如监测分布式横向扩展存储系统的活动)并且/或者可访问由另一个系统维护的这样的列表。

在一些示例中,部署模块108可通过从计算资源池动态启动多个备份系统来部署多个备份系统。例如,部署模块108可供应多个虚拟机作为备份系统。除此之外或作为另外一种选择,部署模块108可部署多个基于云的工作负载作为备份系统。在一些示例中,部署模块108可在容器(例如,基于容器的虚拟环境)内部署备份系统。在一些示例中,部署模块108可激活先前安装在物理设备上的备份系统代理。

在一些示例中,备份系统可从一个或多个快照备份数据对象。例如,部署模块108可指示分布式横向扩展存储系统拍摄包括多个数据对象的快照。备份系统然后可从快照备份多个数据对象。除此之外或作为另外一种选择,部署模块108可指示分布式横向扩展存储系统拍摄多个快照,每个快照对应于数据对象的一致性组,其被配置用于一致性组内的数据对象间的时间点一致性。在该示例中,备份系统然后可从相应快照备份多个数据对象。部署模块108和/或分布式横向扩展存储系统可以任何合适的方式识别一致性组。例如,部署模块108可将与单个应用程序有关的数据对象识别为属于一致性组。除此之外或作为另外一种选择,部署模块108可将与相关应用程序(例如,彼此通信的应用程序和/或受彼此的输入和/或输出影响的应用程序)有关的数据对象识别为属于一致性组。在一些示例中,部署模块108可识别用户定义的一致性组。在一些示例中,存储在分布式横向扩展存储系统内的相同底层存储(例如,在相同存储设备处和/或通过相同存储节点)位置上的数据对象可被分配到相同的一致性组中。

图4示出用于备份大型分布式横向扩展数据系统的示例性系统400。如图4所示,示例性系统400可包括为分布式横向扩展数据系统提供存储的存储节点412、414、416、418、420、422、424、426和428。在一个示例中,备份作业可应用于由存储节点412、414、416、418、420、422、424和426存储的数据对象。因此,本文所述的系统中的一个或多个可通过对存储节点进行分组并将这些组分配给备份系统来划分备份数据对象的任务。例如,部署模块108可定义包括存储节点412和418的组432,包括存储节点414、416、420和422的组434以及包括存储节点424和426的组436。

图5示出分布式横向扩展数据系统的示例性存储视图500。如图5所示,示例性存储视图500可包括数据对象502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532、534、536、538、540、542、544、546、548和550。此外,示例性存储视图500还可包括数据对象之间的关系。例如,存储视图500可定义数据对象502与数据对象504、506和508之间的主从关系;数据对象508与数据对象510之间的主从关系;数据对象504与数据对象512、514、516、518、520、522和524之间的主从关系等。在一个示例中,应用于分布式横向扩展数据系统的备份作业可能仅适用于由分布式横向扩展数据系统存储的数据对象中的一些(例如,表示增量备份)。在一个示例中,部署模块108可将要备份的那些数据对象划分为三个组:组A、组B和组C(例如,对应于图4中的相应组432、434和436)。因此,数据对象506、516、534、544和550可由相同备份系统来备份;数据对象504、518、522、526和530可由相同备份系统来备份;并且数据对象510、512、520、542和546可由相同备份系统来备份。

返回图3,在步骤308处,本文所述的系统中的一个或多个可将多个备份组合成表示分布式横向扩展存储系统的统一存储视图的统一备份。例如,作为图2中的计算设备202的一部分,组合模块110可将备份240组合成表示分布式横向扩展存储系统206的统一存储视图208的统一备份250。

组合模块110可以任何合适的方式将多个备份组合成统一备份。例如,组合模块110可通过以由备份作业为单个备份指定的格式存储多个备份来组合多个备份。除此之外或作为另外一种选择,组合模块110可通过将多个备份存储在由备份作业对统一备份的标识符下来组合多个备份。在一些示例中,组合模块110可通过将多个备份存储在单个存储容器中来组合多个备份。

在一些示例中,组合模块110可通过将由多个备份捕获的备份数据与描述数据对象的元数据进行整合来组合多个备份。例如,组合模块110可备份描述存储在多个备份内的单独备份中的两个数据对象之间的至少一种关系的元数据,并且可重构统一备份中的两个数据对象之间的关系。在一些示例中,组合模块110可通过将存储在备份中的数据对象映射到描述数据对象的元数据来创建统一备份。除此之外或作为另外一种选择,组合模块110可通过将描述数据对象的元数据映射到存储在备份中的数据对象来创建统一备份。

图6示出用于备份大型分布式横向扩展数据系统的示例性系统600。如图6所示,示例性系统600可包括由分布式横向扩展数据系统呈现的存储库610。示例性系统600还可包括存储节点,诸如图4中所示的组432、434和436。在一个示例中,本文所述的系统可从资源池630供应备份服务器632、634和636,并且部署备份服务器632、634和636以分别备份组432、434和436内的数据对象。备份服务器632、634和636可由此创建相应的备份642、644、646。此外,本文所述的系统中的一个或多个可从存储库610(例如,从由分布式横向扩展数据系统提供的统一存储视图)捕获关系元数据650。组合模块110可组合备份642、644和646连同关系元数据650以生成统一备份660。

如上文结合图3中的方法300所解释的,本文所述的系统可通过将备份作业分解成可管理大小的独立备份来保护存储在分布式横向扩展系统中的大量数据(但作为单个存储库揭示给客户端),所述独立备份一起构成整个大型存储库中合格数据的备份。例如,可以配置备份(例如,利用选择),这将会确定哪些数据对于备份是合格的。本文所述的系统可以(1)与主存储系统交互(即,由分布式横向扩展系统实现)以识别独立存储的合格数据的子集。本文所述的系统可确定在哪里存储合格数据的复本并且形成独立存储的子集。例如,一百万个数据对象对于备份可能是合格的;这些数据对象中的二十万个可被存储在一个节点中,并且因此被分组为一个子集,而二十万个可被存储在另一个节点中,并且因此被分组为另一个子集。

在一些示例中,本文所述的系统可从分布式横向扩展系统检索关于数据对象和/或复本所存储的节点的信息。例如,本文所述的系统可通过应用程序编程接口(“API”)来访问信息。基于独立子集的数量和独立子集的大小,本文所述的系统可供应和/或接合多个备份节点,每个备份节点覆盖一个或多个独立子集。识别的备份节点中的每个可执行其本身子集的备份(例如,以便在可管理的时间内完成备份)。本文所述的系统可使用连同备份一起存储的元数据来识别单独的备份一起构成整个主存储系统中的合格数据的备份的方式。在各种示例中,本文所述的系统可执行对本地存储、云存储和/或磁带存储的备份。

在一些示例中,主存储系统可通过跨存储节点协调任务来拍摄快照。在另一个示例中,主存储系统可拍摄存储的子集的快照,如由整个数据集内的一致性组所确定。

通过识别主存储系统的分布式横向扩展架构,并且通过根据被保护的数据进行扩展,本文所述的系统可高效且有效地执行用于分布式横向扩展存储系统的备份。这些系统可通过将备份作业分成多个较小的作业并且用元数据将所得备份拼接在一起来实现备份扩展。

图7是能够实现本文所描述和/或所示的实施方案中的一个或多个的示例性计算系统710的框图。例如,计算系统710的全部或一部分可单独地或与其他元件组合地执行并且/或者作为一种装置以用于执行本文所述的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)。计算系统710的全部或一部分还可执行并且/或者作为一种装置以用于执行本文所描述和/或所示的任何其他步骤、方法或过程。

计算系统710在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统710的示例包括但不限于工作站、膝上型计算机、客户端侧终端、服务器、分布式计算系统、手持式设备或任何其他计算系统或设备。在其最基本的配置下,计算系统710可包括系统存储器716和至少一个处理器714。

处理器714通常表示能够处理数据或解译并执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器714可接收来自软件应用程序或模块的指令。这些指令可致使处理器714执行本文所描述和/或所示的一个或多个示例性实施方案的功能。

系统存储器716通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器716的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他合适的存储器设备。尽管不是必需的,但在某些实施方案中,计算系统710可包括易失性存储器单元(诸如系统存储器716)和非易失性存储设备(诸如主存储设备732,如下文详细描述)这两者。在一个示例中,来自图1的模块102中的一个或多个可被加载到系统存储器716中。

在某些实施方案中,除处理器714和系统存储器716之外,示例性计算系统710还可以包括一个或多个部件或元件。例如,如图7所示,计算系统710可包括存储器控制器718、输入/输出(I/O)控制器720和通信接口722,它们中的每个都可经由通信基础设施712互连。通信基础设施712通常表示能够促进计算设备的一个或多个部件之间的通信的任何类型或形式的基础设施。通信基础设施712的示例包括但不限于通信总线(诸如工业标准架构(ISA)、外围部件互连(PCI)、PCI Express(PCIe)或类似的总线)和网络。

存储器控制器718通常表示能够处理存储器或数据或者控制计算系统710的一个或多个部件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器718可以经由通信基础设施712控制处理器714、系统存储器716和I/O控制器720之间的通信。

I/O控制器720通常表示能够协调和/或控制计算设备的输入功能和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器720可控制或促进计算系统710的一个或多个元件之间的数据传送,所述元件诸如处理器714、系统存储器716、通信接口722、显示适配器726、输入接口730和存储接口734。

通信接口722在广义上表示能够促进示例性计算系统710与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口722可以促进计算系统710与包括附加计算系统的私有或公共网络之间的通信。通信接口722的示例包括但不限于有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器以及任何其他合适的接口。在至少一个实施方案中,通信接口722可经由到网络(诸如互联网)的直接链路来提供到远程服务器的直接连接。通信接口722还可通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接提供此类连接。

在某些实施方案中,通信接口722还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算系统710与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口722还可允许计算系统710参与分布式或远程计算。例如,通信接口722可接收来自远程设备的指令或将指令发送到远程设备以供执行。

如图7所示,计算系统710还可包括至少一个显示设备724,该显示设备经由显示适配器726耦接到通信基础设施712。显示设备724通常表示能够可视地显示由显示适配器726转发的信息的任何类型或形式的设备。类似地,显示适配器726通常表示被配置为转发来自通信基础设施712(或来自帧缓冲器,如本领域所已知)的图形、文本和其他数据以在显示设备724上显示的任何类型或形式的设备。

如图7所示,示例性计算系统710还可以包括经由输入接口730耦接到通信基础设施712的至少一个输入设备728。输入设备728通常表示能够向示例性计算系统710提供输入(由计算机或人类生成)的任何类型或形式的输入设备。输入设备728的示例包括但不限于键盘、指向设备、语音识别设备或任何其他输入设备。

如图7所示,示例性计算系统710还可以包括主存储设备732和经由存储接口734耦接到通信基础设施712的备用存储设备733。存储设备732和733通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备732和733可以是磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口734通常表示用于在存储设备732和733与计算系统710的其他部件之间传送数据的任何类型或形式的接口或设备。在一个示例中,来自图1的数据库120可被存储在主存储设备732中。

在某些实施方案中,存储设备732和733可被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元进行读取和/或写入。合适的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存存储器设备等。存储设备732和733还可以包括用于允许将计算机软件、数据或其他计算机可读指令加载到计算系统710中的其他类似结构或设备。例如,存储设备732和733可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备732和733还可以是计算系统710的一部分,或者可以是通过其他接口系统访问的独立设备。

可将许多其他设备或子系统连接到计算系统710。相反地,图7所示的部件和设备不必都存在以实践本文所述和/或所示的实施方案。上文提及的设备和子系统还可按照与图7所示不同的方式互连。计算系统710还可采用任何数量的软件配置、固件配置和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个实施方案可被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,短语“计算机可读介质”通常是指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)、BLU-RAY磁盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。

可将包含计算机程序的计算机可读介质加载到计算系统710中。然后可将计算机可读介质上存储的计算机程序的全部或一部分存储在系统存储器716中和/或存储设备732和733的各个部分中。加载到计算系统710中的计算机程序在被处理器714执行时,可致使处理器714执行和/或作为一种装置以用于执行本文所描述和/或所示的示例性实施方案中的一个或多个的功能。除此之外或作为另外一种选择,可以固件和/或硬件形式来实施本文描述和/或示出的示例性实施方案中的一个或多个实施方案。例如,计算系统710可以被配置为适于实现本文所公开的示例性实施方案中的一个或多个的专用集成电路(ASIC)。

图8是示例性网络架构800的框图,其中客户端系统810、820和830以及服务器840和845可耦接到网络850。如上文所详述,网络架构800的全部或一部分可以单独地或与其他元件组合地执行并且/或者作为一种装置以用于执行本文所公开的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)。网络架构800的全部或一部分还可用于执行并且/或者作为一种装置以用于执行本公开中阐述的其他步骤和特征。

客户端系统810、820和830通常表示任何类型或形式的计算设备或系统,诸如图7中的示例性计算系统710。类似地,服务器840和845通常表示被配置为提供各种数据库服务并且/或者运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络850通常表示任何电信或计算机网络,包括例如内联网、WAN、LAN、PAN或互联网。在一个示例中,客户端系统810、820和/或830以及/或者服务器840和/或845可包括来自图1的系统100的全部或一部分。

如图8所示,可将一个或多个存储设备860(1)-(N)直接附接到服务器840。类似地,可将一个或多个存储设备870(1)-(N)直接附接到服务器845。存储设备860(1)-(N)和存储设备870(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备860(1)-(N)和存储设备870(1)-(N)可以表示被配置为使用各种协议与服务器840和845通信的网络附接存储(NAS)设备,所述协议诸如网络文件系统(NFS)、服务器消息块(SMB)或通用互联网文件系统(CIFS)。

服务器840和845还可连接到存储区域网络(SAN)构造880。SAN构造880通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或架构。SAN构造880可促进服务器840和845与多个存储设备890(1)-(N)和/或智能存储阵列895之间的通信。SAN构造880还可以经由网络850以及服务器840和845以如下方式促进客户端系统810、820和830与存储设备890(1)-(N)和/或智能存储阵列895之间的通信:设备890(1)-(N)和阵列895呈现为到客户端系统810、820和830的本地附接设备。与存储设备860(1)-(N)和存储设备870(1)-(N)一样,存储设备890(1)-(N)和智能存储阵列895通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。

在某些实施方案中,并且参考图7的示例性计算系统710,通信接口(诸如图7中的通信接口722)可用于提供每个客户端系统810、820和830与网络850之间的连接性。客户端系统810、820和830可能够使用例如网页浏览器或其他客户端软件来访问服务器840或845上的信息。此类软件可以允许客户端系统810、820和830访问由服务器840、服务器845、存储设备860(1)-(N)、存储设备870(1)-(N)、存储设备890(1)-(N)或智能存储阵列895托管的数据。虽然图8描绘了使用网络(诸如互联网)来交换数据,但本文所描述和/或所示的实施方案并非限于互联网或任何特定的基于网络的环境。

在至少一个实施方案中,本文所公开的一个或多个示例性实施方案中的全部或一部分可以被编码为计算机程序并且加载到服务器840、服务器845、存储设备860(1)-(N)、存储设备870(1)-(N)、存储设备890(1)-(N)、智能存储阵列895或它们的任何组合上并加以执行。本文所公开的一个或多个示例性实施方案中的全部或一部分还可以被编码为计算机程序、存储在服务器840中、由服务器845运行,并且通过网络850分配到客户端系统810、820和830。

如上文所详述,计算系统710和/或网络架构800的一个或多个部件可单独地或与其他元件组合地执行并且/或者作为一种装置以用于执行用于备份大型分布式横向扩展数据系统的示例性方法的一个或多个步骤。

虽然上述公开使用特定框图、流程图和示例阐述了各种实施方案,但每个框图部件、流程图步骤、操作和/或本文描述和/或示出的部件可使用多种硬件、软件或固件(或它们的任意组合)配置单独和/或共同地实施。此外,包含在其他部件内的部件的任何公开应当被视为在本质上是示例性的,因为可实施许多其他架构来实现相同的功能。

在一些示例中,图1中的示例性系统100的全部或部分可表示基于云计算或网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务、平台即服务、基础设施即服务等)可通过网页浏览器或其他远程接口访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。

在各种实施方案中,图1中的示例性系统100的全部或部分可促进基于云的计算环境内的多重租赁。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进本文所述的功能中的一种或多种的多租户应用。例如,本文所述的软件模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述的模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息以使得一个顾客不能访问另一个顾客的数据和/或配置信息。

根据各种实施方案,图1中的示例性系统100的全部或部分可在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,短语“虚拟机”通常是指由虚拟机管理器(例如,超级管理程序)从计算硬件中提取出来的任何操作系统环境。除此之外或作为另外一种选择,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,短语“虚拟化层”通常是指覆盖操作系统环境和/或从操作系统环境中提取出来的任何数据层和/或应用程序层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,该软件虚拟化解决方案将虚拟化层呈现为如同它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。

在一些示例中,图1中的示例性系统100的全部或部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实施,所述移动计算设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个显著特征,包括例如依赖电池供电、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速计等提供的)位置和移动数据、用于限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、用于限制应用程序的安装(例如,仅限于安装来源于经批准的应用程序商店的应用程序)的控制设备,等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。

另外,图1中的示例性系统100的全部或部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,消费由一个或多个信息管理系统产生的数据,且/或产生被一个或多个信息管理系统消费的数据。如本文所用,短语“信息管理”可以是指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。

在一些实施方案中,图1中的示例性系统100的全部或部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据,且/或与一个或多个信息安全系统通信。如本文所用,短语“信息安全”可以是指对受保护数据的访问控制。信息安全系统的示例可包括但不限于提供受管理的安全服务的系统、数据丢失防护系统、身份验证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等。

根据一些示例,图1中的示例性系统100的全部或部分可表示一个或多个端点安全系统的部分,与一个或多个端点安全系统通信,且/或从一个或多个端点安全系统接收保护。如本文所用,短语“端点安全”可以是指保护端点系统以避免未授权和/或非法的使用、访问和/或控制。端点保护系统的示例可包括但不限于反恶意软件系统、用户验证系统、加密系统、保密系统、垃圾邮件过滤服务等。

本文描述和/或示出的过程参数和步骤序列仅以举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不必以示出或讨论的顺序来执行。本文描述和/或示出的各种示例性方法也可省略本文描述或示出的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外的步骤。

虽然本文已经在全功能计算系统的背景中描述和/或示出了各种实施方案,但这些示例性实施方案中的一个或多个可作为各种形式的程序产品来分配,而不考虑用于实际开展分配的计算机可读介质的特定类型。本文所公开的实施方案还可使用执行某些任务的软件模块来实施。这些软件模块可包括脚本文件、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。

此外,本文所述的模块中的一个或多个模块可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所列举的模块中的一个或多个可接收要转换的存储数据、将存储数据转换成备份、将转换的结果输出到存储系统、使用转换的结果来创建统一的备份,并且将转换的结果存储到备份存储系统。除此之外或作为另外一种选择,本文所述的模块中的一个或多个模块可通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。

前文的描述旨在使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各个方面。该示例性描述并非旨在是详尽的或限于所公开的任何确切形式。在不脱离本公开的实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应参考所附权利要求及其等同形式来确定本公开的范围。

除非另有说明,否则本说明书和权利要求中所用的术语“连接到”和“联接到”(以及它们的衍生形式)应被理解为既允许直接的连接,又允许间接(即,经由其他元件或部件)的连接。此外,本说明书和权利要求中所用的术语“一”或“一个”应被理解为意指“至少一个…”。最后,为了便于使用,本说明书和权利要求中所用的术语“包括”和“具有”(以及它们的衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

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