掌桥专利:专业的专利平台
掌桥专利
首页

用于缩减主存储和备份存储的方法

文献发布时间:2024-04-18 19:57:31


用于缩减主存储和备份存储的方法

技术领域

本公开大体上涉及数据管理领域,更具体地,涉及用于缩减主存储和备份存储的方法、数据管理设备和数据存储系统。

背景技术

通常,与实体(例如企业或组织)相关的数据以多个数据文件和数据对象的形式存储,这些数据文件和数据对象进一步存储在各种物理机、位于不同主机(例如VMware、Hyper-V等)上的虚拟机和数据中心(例如,网络连接服务器(network attached server,NAS))上。在以多个数据文件和数据对象的形式存储数据的情况下,在保存与整个企业或组织相关的数据时,数据文件可能存在重复性,并且在多个数据文件之间也可能存在相似性(即,部分相同的数据)。

目前,某些方法可以用于缩减存储要求,例如使用压缩,或通过对重复数据文件和类似(即部分相同)数据文件进行去重。数据去重可以定义为消除重复数据的重复副本的技术。存储缩减方法既可以应用于主存储集群,也可以应用于辅助(备份)存储集群。在使用辅助存储集群的情况下,根据辅助存储集群的可扩展性和数据中心的大小,可能需要一个以上辅助存储集群才能保护一个数据中心。在备份中,可以使用不同的备份布局来存储备份的数据,例如增量块级、文件级和数据去重。在所有这些布局中,要存储的数据经过压缩和/或加密。这样一来,重复数据文件和类似数据文件可以存储在同一数据中心中,它们的备份布局被去重,因此,去重的数据文件可以存储在备份存储库中,而仅使用部分效率。或者,具有去重的备份布局仅减少特定数据中心或特定数据中心部分的备份存储容量。但是,存在与可用方法关联的限制,例如,由于辅助存储保护范围,可以存储在不同数据中心中的重复数据文件和类似数据文件在备份存储中无法高效地进行去重。因此,位于不同数据中心的重复数据文件和类似数据文件将继续占用更多空间,不会利用主存储或辅助存储的去重技术。因此,存在处理主存储和备份存储效率低下和不充分的技术问题。

因此,根据上述讨论,需要克服与缩减主存储和备份存储的传统方法关联的上述缺点。

发明内容

本公开提供了一种用于缩减主存储和备份存储的方法。本公开还提供了一种用于缩减主存储和备份存储的数据管理设备和数据存储系统。本公开提供了一种对主存储和备份存储的处理和缩减低效和不充分的现有问题的解决方案。本公开的旨在提供一种至少部分克服现有技术中遇到的问题的解决方案,并提供一种用于缩减主存储和备份存储的改进方法、数据管理设备和数据存储系统。

本公开的目的是通过所附独立权利要求中提供的方案实现的。本公开的有利实现方式在从属权利要求中进一步定义。

在一个方面,本公开提供了一种在包括多个数据存储单元的数据存储系统中进行数据管理的计算机实现方法。所述方法包括将所述数据存储系统中的每个文件划分为具有共同大小的多个块。所述方法还包括使用公共哈希算法为每个块生成哈希值。所述方法还包括基于每个文件的哈希的比较,识别不同数据存储单元中的多个类似文件。所述方法还包括复制识别的类似文件中的一个或多个,使得类似文件存储在单个数据存储单元中,并且对于复制的文件中的一个或多个,生成指向所述文件的新位置的链接。

本公开的方法可以高效、有效和充分地缩减主存储和辅助存储空间。之前存储在不同的数据存储单元(或辅助存储集群)中的重复文件和类似(即部分相同)文件现在可以存储在同一数据存储单元(或集群)中,并且通过利用数据去重技术,可以显著缩减备份存储空间(或辅助存储空间)。此外,所公开的方法改进了在整个企业存储或组织中对重复文件和类似文件的检测时间,从而降低了数据存储成本,同时提高了缩减主存储和备份存储空间的准确性和有效性。

在一种实现方式中,识别所述多个类似文件包括从所述数据存储系统中的每个文件收集一个或多个哈希值,并比较收集的哈希值。

从数据存储系统中的每个文件收集和比较一个或多个哈希值可以更精确地识别多个类似文件。

在另一种实现方式中,所述方法还包括从每个文件收集预定义数量的哈希值,其中,所述收集的哈希值对于每个文件是最高的。

从每个文件收集预定义数量的哈希值提供了对多个类似文件进行去重所需的信息。

在另一种实现方式中,从所述数据存储系统中的每个文件收集哈希值包括根据最小文件大小或文件类型过滤所述哈希值。

根据最小文件大小或文件类型过滤哈希值可以改进在整个企业存储或组织中对重复文件和类似(即部分相同)文件的检测时间。

在另一种实现方式中,识别所述多个类似文件包括确定共同块的百分比数量,并将确定的百分比与最小阈值进行比较。

确定共同块的百分比数量,然后将确定的百分比与最小阈值进行比较可以提高识别多个类似文件的精度。

在另一种实现方式中,复制所述识别的类似文件包括将两个文件复制到集中式数据存储单元。

将识别的类似文件复制到集中式数据存储单元是为了最大限度地利用数据去重带来的好处。

在另一种实现方式中,复制所述类似文件包括选择一个文件的所述数据存储单元作为最佳存储位置,并将一个或多个其它类似文件复制到所述最佳存储位置。

选择最佳存储位置可以显著缩减备份存储空间(或辅助存储空间)。

在另一种实现方式中,选择最佳存储位置以最大限度地减少要复制的数据量。

选择最佳存储位置可更容易地对数据量进行去重。

在另一种实现方式中,所述最佳存储位置是基于所述数据存储单元的访问速度或可靠性选择的。

选择最佳存储位置还可以保护敏感数据。

在另一种实现方式中,所述数据存储系统是基于网络的系统。

通过将数据存储系统作为基于网络的系统,可以高效地利用整个企业或组织的存储空间(即,主存储空间和辅助存储空间)。

在另一方面,本公开提供了一种计算机可读介质,用于存储指令,当处理器执行所述指令时,所述指令使处理器执行所述方法。

处理器(例如,设备或系统的处理器)在执行该方法后实现了该方法的所有优点和效果。

在又一方面中,本公开提供了一种用于包括多个数据存储单元的数据存储系统的数据管理设备,所述数据管理设备用于将所述数据存储系统中的每个文件划分为具有共同大小的多个块。所述数据管理设备还用于使用公共哈希算法为每个块生成哈希值。所述数据管理设备还用于基于每个文件的哈希的比较,识别不同数据存储中的多个类似文件。所述数据管理设备还用于复制识别的类似文件中的一个或多个,使得类似文件存储在单个数据存储中,对于复制的文件中的一个或多个,生成指向文件的新位置的链接。

所述数据管理设备实现了本公开的方法的所有优点和效果。

在又一方面,本公开提供了一种数据存储系统,包括一个或多个互连的数据存储单元和数据管理设备。

数据存储系统实现了本公开的数据管理设备以及方法的所有优点和效果。

应当理解,所有上述实现方式都可以组合。

需要说明的是,本申请中描述的所有设备、元件、电路、单元和模块可以通过软件或硬件元件或其任何类型的组合实现。本申请中描述的各种实体执行的所有步骤以及所描述的将由各种实体执行的功能旨在表明相应的实体适于或用于执行相应的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行该特定步骤或功能的该实体的具体详述元件的描述中反映,但是技术人员应该清楚,这些方法和功能可以在相应的硬件或软件元件或其任何组合中实现。应当理解,在不偏离由所附权利要求书定义的本公开的范围的情况下,本公开的特征易于以各种组合进行组合。

本公开的附加方面、优点、特征和目的从附图和结合以下所附权利要求书解释的说明性实现方式的详细描述中变得显而易见。

附图说明

当结合附图阅读时,可以更好地理解以上发明内容以及所示实施例的以下详细描述。为了说明本公开,本公开的示例性结构在附图中示出。但是,本公开不限于本文公开的具体方法和工具。此外,本领域技术人员应理解,附图不是按比例绘制的。在可能的情况下,相同的元件用相同的数字表示。

现在参考下图仅作为示例来描述本公开的实施例,其中:

图1是根据本公开的实施例的在包括多个数据存储单元的数据存储系统中进行数据管理的方法的流程图;

图2是示出的根据本公开的实施例的数据管理设备的各种示例性组件的框图;

图3是示出的根据本公开的实施例的数据存储系统的各种示例性组件的框图;

图4是根据本公开的实施例的数据存储系统与数据管理设备之间的通信的网络环境图;

图5A至图5D统称为根据本公开的实施例的数据存储系统和数据管理设备的实现的示例性场景的图示。

在附图中,带下划线的数字用于表示带下划线的数字所在的项目或与带下划线的数字相邻的项目。不带下划线的数字与由将不带下划线的数字与项目关联的线标识的项目相关。当一个数字不带下划线并伴随关联的箭头时,不带下划线的数字用于标识箭头指向的一般项目。

具体实施方式

以下详细描述说明示出了本公开的实施例以及可以实现这些实施例的方式。虽然已经公开了实施本公开的一些模式,但本领域技术人员应认识到,也可以存在用于实施或实践本公开的其它实施例。

图1是根据本公开的实施例的在包括多个数据存储单元的数据存储系统中进行数据管理的方法的流程图。参考图1,示出了在包括多个数据存储单元的数据存储系统中进行数据管理的方法100。方法100包括步骤102至110。方法100由分别由,例如,图2和图3中详细描述的数据管理设备和数据存储系统执行。

本公开提供了一种在包括多个数据存储单元的数据存储系统中进行数据管理的计算机实现方法(即,方法100),方法100包括:

将数据存储系统中的每个文件划分为具有共同大小的多个块;

使用公共哈希算法为每个块生成哈希值;

基于每个文件的哈希的比较,识别不同数据存储单元中的多个类似文件;

复制识别的类似文件中的一个或多个,使得类似文件存储在单个数据存储单元中;以及

对于复制的文件中的一个或多个,生成指向所述文件的新位置的链接。

方法100改进了整个企业存储系统的非结构化数据管理。方法100包括收集可以存储在整个企业存储的不同源上的非结构化数据的信息,所述不同源例如数据中心(例如,网络连接服务器(NAS))、数据对象(例如,Amazon S3)、虚拟机(virtual machine,VM)或物理机器等。信息可以定期收集,也可以作为“实时更新”收集。收集的信息可以是具有附加合成数据的本机元数据,例如文件的输入或输出温度。

在步骤102中,方法100包括将数据存储系统中的每个文件划分为具有共同大小的多个块。例如,在将视频文件或音频文件保存在数据存储系统(例如,数据中心或NAS)中的同时,将视频文件或音频文件划分为多个块。多个块中的每一个具有共同大小,但具有不同的数据。数据存储系统可以具有一个或多个数据存储单元(或设备),例如物理机、虚拟机、数据中心(或网络连接服务器)等。数据存储系统代表整个企业存储或组织的存储系统。

在步骤104中,方法100还包括使用公共哈希算法为每个块生成哈希值。多个块中每个块的哈希值是通过使用公共哈希算法生成的。例如,安全哈希算法1(secure hashalgorithm 1,SHA-1)可用于为多个块中的每个块生成哈希。通常,安全哈希算法1(SHA-1)可以定义为加密哈希函数,该函数获取输入并在输出中生成160位的哈希值。

在步骤106中,方法100还包括基于每个文件的哈希的比较,识别不同数据存储单元中的多个类似文件。在一个示例中,多个视频文件或音频文件可以存储在不同的数据中心(或网络连接服务器)或物理机或虚拟机中。在这种情况下,将与每个视频文件或音频文件的多个块中的每个块关联的哈希(或哈希值)相互比较。在比较之后,识别多个类似文件(即,具有相同哈希或哈希值的多个块中的每个块的文件)。例如,如果发现每个文件存储的5个最高弱哈希相同,则多个视频文件或音频文件可以被识别为多个类似文件。

在步骤108中,方法100还包括复制识别的类似文件中的一个或多个,使得类似文件存储在单个数据存储单元中。将识别的类似文件中的一个或多个复制到单个数据存储单元(例如,集中式网络连接服务器)中是为了容易对识别的类似文件中的一个或多个进行去重,从而缩减主存储。这进一步改进了对存储在整个企业存储中的重复和类似文件的检测时间。

在步骤110中,方法100还包括对于复制的文件中的一个或多个,生成指向文件的新位置的链接。存储(或复制)在单个数据存储单元中的识别的类似文件中的一个或多个称为一个或多个复制文件。对于一个或多个复制的文件中的每一个,提供指向新位置(即,集中式网络连接服务器)的链接作为源文件中的存根,因此,可以缩减主存储和辅助存储。

根据一个实施例,识别多个类似文件包括从数据存储系统中的每个文件收集一个或多个哈希值,并比较收集的哈希值。通过收集与存储在数据存储系统中的每个文件的多个块关联的一个或多个哈希值(或哈希)来识别多个类似文件。将与存储在数据存储系统中的每个文件的多个块关联的收集的一个或多个哈希值(或哈希)相互比较。

根据一个实施例,方法100还包括从每个文件收集预定义数量的哈希值,其中,收集的哈希值对于每个文件是最高的。为了比较与每个文件的多个块关联的一个或多个哈希值(或哈希),收集来自每个文件的预定义数量的哈希值。收集的哈希值是每个文件存储的最高哈希值。例如,如果从一个或多个数据存储系统收集每个文件存储的5个最高弱哈希(例如,弱哈希-8字节),并在相互比较时发现相同,则可以识别多个类似文件。每个文件存储的5个最高弱哈希可以以各种方式收集,例如,通过使用主存储,例如应用编程接口(application programming interface,API)。

根据一个实施例,从数据存储系统中的每个文件收集哈希值包括根据最小文件大小或文件类型过滤哈希值。对数据存储系统中每个文件的多个块的收集哈希值取决于基于最小文件大小或文件类型(例如.jpg文件或.mpeg文件等)过滤哈希值。

根据一个实施例,识别多个类似文件包括确定共同块的百分比数量,并将确定的百分比与最小阈值进行比较。多个类似文件是基于在一个或多个文件中共同的块的百分比数量来识别的。此外,将一个或多个文件中共同的块的百分比数量与最小阈值进行比较。例如,存储在数据存储系统中的视频文件被划分为3个块。存储在数据存储系统中的另一个视频文件被划分为4个块。该视频文件和另一个视频文件的前两个块在两个文件中是共同的。因此,视频文件和另一个视频文件之间的共同块的百分比数量可以约为57%。将共同块的百分比数量(即57%)与最小阈值进一步比较。

根据一个实施例,复制识别的类似文件包括将两个文件复制到集中式数据存储单元。将识别的类似文件复制到集中式数据存储单元(例如,集中式网络连接服务器),以便集中式数据存储单元更容易对识别的类似文件进行去重,从而缩减主存储和辅助存储。之前存储在不同数据存储单元(或辅助存储集群)中的类似文件的存储(或备份)现在可以存储在同一数据存储单元(或集群)中,通过利用数据去重技术,可以显著缩减备份存储空间(或辅助存储空间)。

根据一个实施例,复制类似文件包括选择一个文件的数据存储单元作为最佳存储位置,并将一个或多个其它类似文件复制到最佳存储位置。例如,在两个识别的类似文件的情况下,将两个识别的类似文件中较大文件的数据存储单元视为最佳存储位置,将两个识别的类似文件中的较小文件复制到最佳存储位置。

根据一个实施例,选择最佳存储位置以最大限度地减少要复制的数据量。选择最佳存储位置是为了容易对要复制到最佳存储位置的数据量进行数据去重。例如,选择集中式网络连接服务器作为最佳存储位置,以便通过使用数据去重将要复制的数据量降至最低。

根据一个实施例,最佳存储位置是基于数据存储单元的访问速度或可靠性选择的。例如,在敏感数据或重要数据的情况下,基于数据存储单元的访问速度或可靠性选择最佳存储位置。在敏感数据的情况下,将识别的类似文件复制到多个数据存储单元,而不是一个数据存储单元。在这种情况下,由于敏感数据的保护级别,多个数据存储单元的访问速度和可靠性是主要关注的问题。

根据一个实施例,数据存储系统是基于网络的系统。数据存储系统是基于网络的系统,例如集中式网络连接服务器(NAS),或与网络链接的云网络,例如互联网。

因此,方法100高效地缩减了主存储空间和辅助存储空间。之前存储在不同的数据存储单元(或辅助存储集群)中的重复文件和类似(即部分相同)文件的存储(或备份)现在可以存储在同一数据存储单元(或集群)中,并且通过利用数据去重技术,可以显著缩减备份存储空间(或辅助存储空间)。此外,方法100改进了整个企业存储中重复文件和类似(即,部分相同)文件的检测时间。

步骤102至110仅仅是说明性的,在不脱离本文权利要求的范围的情况下,还可以提供其它替代方案,其中添加一个或多个步骤,删除一个或多个步骤,或以不同的顺序提供一个或多个步骤。

图2是示出的根据本公开的实施例的数据管理设备的各种示例性组件的框图。结合图1的元件描述图2。参考图2,示出了包括多个数据存储单元204、存储器206和处理器208的用于数据存储系统的数据管理设备202的框图200。多个数据存储单元204和存储器206可以通信地耦合到处理器208。数据管理设备202的处理器208执行(图1的)方法100。数据存储系统例如在图3中详细描述。

数据管理设备202包括合适的逻辑、电路、接口或代码,其用于收集可以存储在整个企业存储的不同数据存储单元中的非结构化数据的信息,所述数据存储单元为例如数据中心(例如,网络连接服务器(NAS))、数据对象(例如,Amazon S3)、虚拟机(virtualmachine,VM)或物理机器等。信息可以通过使用多个数据存储单元204(例如,收集器)定期收集或作为“实时更新”收集。多个数据存储单元204(例如,收集器)可以在主机内或主机外部运行。收集的信息可以是具有附加合成数据的本机元数据,例如,文件的输入或输出温度可以通过计算过去24小时内每个文件的读取次数或任何其它合成信息来获取。数据管理设备202可用于运行不同类型的查询,并对客户存储企业进行分析和提供见解。例如,数据管理设备202可以用于根据客户策略查找冷热数据。数据管理设备202的示例包括但不限于人工智能(artificial intelligence,AI)目录引擎、大型计算机等。在一个示例中,数据管理设备202可以是单个计算设备或电子设备。在另一个示例中,数据管理设备202可以是在并行或分布式架构中运行的多个计算设备或电子设备。在又一示例中,数据管理设备202可以实现为向其它设备、模块或装置提供各种服务(例如数据库管理)的计算机程序。

多个数据存储单元204包括用于存储数据的合适逻辑、电路、接口或代码。多个数据存储单元204的示例包括但不限于主存储器(例如,存储器206)、辅助存储器(例如虚拟机的存储器)、网络连接服务器(NAS)、收集器等。虚拟机可能位于不同的主机或主机类型上,例如VMware、Hyper-V等。

存储器206包括用于存储数据和可由处理器208执行的指令的合适的逻辑、电路、接口或代码。存储器206的实现示例可以包括但不限于电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、硬盘驱动器(harddisk drive,HDD)、闪存、固态硬盘(solid-state drive,SSD)或CPU高速缓冲存储器。存储器206可以存储操作系统或其它程序产品(包括一种或多种操作算法)以操作数据管理设备202。

处理器208包括用于执行存储在存储器206中的指令的合适的逻辑、电路、接口或代码。在一个示例中,处理器208可以是通用处理器。处理器208的其它示例可以包括但不限于微处理器、微控制器、复杂指令集计算(complex instruction set computing,CISC)处理器、专用集成电路(application-specific integrated circuit,ASIC)处理器、精简指令集(reduced instruction set,RISC)处理器、超长指令字(very long instructionword,VLIW)处理器、中央处理器(central processing unit,CPU)、状态机、数据处理单元和其它处理器或控制电路。此外,处理器208可以指一个或多个单独的处理器、处理设备、作为机器(例如数据管理设备202)一部分的处理单元。

在操作中,数据管理设备202用于将数据存储系统中的每个文件划分为具有共同大小的多个块。例如,数据管理设备202(例如,AI目录引擎)在将数据文件保存到数据存储系统中的同时,将数据文件(例如,视频文件、音频文件、.jpg文件、.mpeg文件等)划分为多个块。多个块中的每一个具有共同大小,但具有不同的数据。

数据管理设备202还用于使用公共哈希算法为每个块生成哈希值。数据文件的多个块中的每个块的哈希值可以通过使用公共哈希算法生成,例如,安全哈希算法1(securehash algorithm,SHA-1)。

数据管理设备202还用于基于每个文件的哈希的比较,识别不同数据存储中的多个类似文件。在一种情况下,多个数据文件可以存储在数据管理设备202的多个数据存储单元204(例如,收集器)中。多个数据存储单元204可以用于向数据管理设备202提供非结构化数据的信息,例如文件系统(例如,NAS)本机元数据、合成元数据属性(例如统计信息(例如,每天的平均变化))、收集器ID、唯一NAS信息等。多个数据存储单元204可用于获取去重信息。例如,多个数据存储单元204可以用于为每个文件获取5个最高的弱哈希,并且可以以各种方式执行,例如通过使用主存储API。此外,多个数据存储单元204可以用于向数据管理设备202提供关于哈希算法和块大小的信息,以便处理每个文件并将每个文件存储到后端(即,持久存储,例如,弹性搜索)中。在从多个数据存储单元204接收到信息之后,数据管理设备202用于运行周期性查询以查找多个类似文件。在这种情况下,数据管理设备202用于比较与存储在多个数据存储单元204中的每个数据文件的多个块中的每个块关联的哈希(或哈希值)。在比较之后,数据管理设备202通过查找大于等于某个阈值的相似性(即,x%)来识别多个类似文件。阈值是通过为每个文件的多个块中的每个块查找相同的哈希来获得的。

数据管理设备202还用于复制识别的类似文件中的一个或多个,使得类似文件存储在单个数据存储中。在识别多个类似文件之后,数据管理设备202用于复制单个数据存储(例如,集中式网络连接服务器)中的一个或多个识别的类似文件,以便容易对识别的类似文件中的一个或多个进行去重,从而缩减数据管理设备202的主存储。

数据管理设备202还用于对于复制的文件中的一个或多个,生成指向文件的新位置的链接。数据管理设备202在复制一个或多个识别的类似文件之后,还用于为源文件中的一个或多个复制的文件中的每一个生成新位置的链接。这会进一步缩减数据管理设备202的主存储和辅助存储。

根据一个实施例,识别多个类似文件包括从数据存储系统中的每个文件收集一个或多个哈希值,并比较收集的哈希值。数据管理设备202用于通过收集并然后比较与存储在数据存储系统中的每个文件的多个块中的每一个关联的一个或多个哈希值(或哈希)来识别多个类似文件。

根据一个实施例,数据管理设备202还用于从每个文件收集预定义数量的哈希值,其中,收集的哈希值对于每个文件是最高的。例如,如果从数据存储系统收集每个文件存储的5个最高弱哈希(例如,弱哈希-8字节),并在相互比较时发现相同,则可以识别多个类似文件。

根据一个实施例,从数据存储系统中的每个文件收集哈希值包括根据最小文件大小或文件类型过滤哈希值。数据管理设备202还用于基于文件类型(例如.jpg文件或.mpeg文件等)的最小文件大小,过滤从每个文件收集的哈希值。

根据一个实施例,识别多个类似文件包括确定共同块的百分比数量,并将确定的百分比与最小阈值进行比较。数据管理设备202用于基于一个或多个文件中共同的块的百分比数量来识别多个类似文件。此外,将一个或多个文件中共同的块的百分比数量与最小阈值进行比较。

根据一个实施例,复制识别的类似文件包括将两个文件复制到集中式数据存储。数据管理设备202用于将识别的类似文件复制到集中式数据存储(例如,集中式和可配置的网络连接服务器),使得识别的类似文件更容易地进行去重,从而缩减数据管理设备202的主存储和辅助存储(即,存储器206)。

根据一个实施例,复制类似文件包括选择一个文件的数据存储作为最佳存储位置,并将一个或多个其它类似文件复制到最佳存储位置。数据管理设备202用于选择最佳存储位置。在一个示例中,数据管理设备202可以决定将类似文件复制到哪个网络连接服务器(NAS),以便从去重中获得最大的益处,并替换为源文件中的一个或多个复制的文件中的每一个的新位置的链接。

根据一个实施例,选择最佳存储位置以最大限度地减少要复制的数据量。数据管理设备202用于选择最佳存储位置,以便容易对一个或多个复制的文件进行去重,从而缩减要复制的数据量。

根据一个实施例,最佳存储位置是基于数据存储的访问速度或可靠性选择的。例如,在敏感数据的情况下,数据管理设备202用于基于敏感数据的保护级别选择最佳存储位置。在这种情况下,数据管理设备202用于将识别的类似文件复制到多个数据存储单元而不是一个数据存储单元。在这种情况下,由于敏感数据的保护级别,主要关注多个数据存储单元的访问速度和可靠性。

根据一个实施例,数据存储系统是基于网络的系统。数据存储系统是基于网络的系统,例如集中式网络连接服务器(NAS),或与网络链接的云网络,例如互联网。

根据一个实施例,提供了一种计算机可读介质,用于存储指令,当处理器208执行所述指令时,所述指令使处理器208执行(图1的)方法100。数据管理设备202的处理器208用于执行(图1的)方法100。

因此,数据管理设备202(即,AI目录引擎)通过使用多个数据存储单元204收集非结构化数据的信息,高效地管理存储在整个企业存储中的非结构化数据。数据管理设备202(即,AI目录引擎)提供多个类似文件的信息,并将它们复制到集中式和可配置的数据存储系统,并将多个类似文件中的每一个替换为源文件系统中的对应存根(即,新位置的链接)。这改进了在集中式数据存储系统中复制的多个类似文件的去重,从而缩减了数据管理设备202的主存储和辅助存储。此外,数据管理设备202改进了在整个企业存储中对多个类似文件的检测时间。

图3是示出的根据本公开的实施例的数据存储系统的各种示例性组件的框图。结合图1和图2的元件描述了图3。参考图3,示出了包括一个或多个互连数据存储单元304、存储器306和处理器308的数据存储系统302的框图300。一个或多个互连数据存储单元304和存储器306可以通信地耦合到处理器308。数据存储系统302的处理器308执行(图1的)方法100。

数据存储系统302包括用于存储数据的合适逻辑、电路、接口或代码。数据存储系统302可以具有一个或多个数据存储单元(或设备),例如物理机、虚拟机、数据中心(或网络连接服务器)、收集器等。数据存储系统302表示整个企业存储或组织或整个企业的子集的存储系统。数据存储系统302的示例可以包括但不限于数据中心、网络连接服务器等。

一个或多个互连数据存储单元304对应于(图2的)数据管理设备202的多个数据存储单元204。

存储器306包括用于存储数据和可由处理器308执行的指令的合适的逻辑、电路、接口或代码。存储器306的实现示例可以包括但不限于电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、硬盘驱动器(harddisk drive,HDD)、闪存、固态硬盘(solid-state drive,SSD)或CPU高速缓冲存储器。存储器306可以存储操作系统或其它程序产品(包括一种或多种操作算法)以操作数据存储系统302。

处理器308包括用于执行存储在存储器306中的指令的合适的逻辑、电路、接口或代码。在一个示例中,处理器308可以是通用处理器。处理器308的其它示例可以包括但不限于微处理器、微控制器、复杂指令集计算(CISC)处理器、专用集成电路(ASIC)处理器、精简指令集(RISC)处理器、超长指令字(VLIW)处理器、中央处理器(CPU)、状态机、数据处理单元和其它处理器或控制电路。此外,处理器308可以指一个或多个单独的处理器、处理设备、作为机器(例如数据存储系统302)的一部分的处理单元。

图4是根据本公开的实施例的数据存储系统与数据管理设备之间的通信的网络环境图。结合图1、图2和图3的元件描述了图4。参考图4,示出了包括多个数据存储系统(例如第一数据存储系统402A到第N数据存储系统402N)的网络环境400。第一数据存储系统402A包括一个或多个互连数据存储单元,例如第一数据存储单元404A和第二数据存储单元404B。类似地,第N数据存储系统402N包括一个或多个互连数据存储单元,例如第一数据存储单元406A、第二数据存储单元406B、第三数据存储单元406C和第四数据存储单元406D。网络环境400还包括数据管理设备202和弹性搜索408。数据管理设备202还包括内部收集器202A。第一数据存储系统402A的第一数据存储单元404A和第二数据存储单元404B中的每一个包括收集器410。类似地,第N数据存储系统402N的第一数据存储单元406A包括收集器410。

在网络环境400中,数据管理设备202用于从多个数据存储系统(例如第一数据存储系统402A至第N数据存储系统402N)接收数据。在一个示例中,第一数据存储系统402A和第N数据存储系统402N也可以分别表示为数据中心1和数据中心N。第一数据存储系统402A的第一数据存储单元404A和第二数据存储单元404B可以表示为网络连接服务器1(networkattached server 1,NAS1)和数据对象(例如,S3)。类似地,第N数据存储系统402N的第一数据存储单元406A、第二数据存储单元406B、第三数据存储单元406C和第四数据存储单元406D可以分别表示为网络连接服务器7(network attached server 7,NAS7)、生产ESX服务器、生产MSSQL和生产Oracle。

与第一数据存储单元404A、406A和第二数据存储单元404B关联的收集器410可以定义为代理,该代理分别在第一数据存储单元404A、406A和第二数据存储单元404B内部或外部运行并收集各种数据文件的元数据。在一种实现方式中,收集器410也可以称为在第一数据存储单元404A、406A和第二数据存储单元404B中实现的软件,用于访问数据文件、数据对象等,并执行与数据备份关联的各种功能。收集器410可用于检测执行数据文件中的一个或多个更改的一个或多个操作。

数据管理设备202(即,AI目录引擎)用于管理存储在多个数据存储系统中的数据(即,非结构化数据),例如第一数据存储系统402A至第N数据存储系统402N。此外,与数据管理设备202(即,AI目录引擎)关联的内部收集器202A可以用于从第N数据存储系统402N的第二数据存储单元406B(即,生产ESX服务器)、第三数据存储单元406C(即,生产MSSQL)和第四数据存储单元406D(即,生产Oracle)中的每一个收集数据。数据管理设备202(即,AI目录引擎)还可以用于在不同层之间(例如,从NAS1到NAS7)或内部(例如,从NAS1到S3)移动数据(即,数据文件或数据对象)。数据管理设备202(即,AI目录引擎)用于提供关于多个类似文件的信息,并将它们复制到集中式和可配置的数据存储系统,并将多个类似文件中的每一个替换为源文件系统中的对应存根(即,新位置的链接)。这改进了在集中式数据存储系统中复制的多个类似文件的去重,从而缩减了数据管理设备202的主存储和辅助存储。此外,数据管理设备202改进了在多个数据存储系统(例如第一数据存储系统402A至第N数据存储系统402N)中对多个类似文件的检测时间。此外,数据管理设备202(即,AI目录引擎)还可以用于将每个处理后的数据文件存储到弹性搜索408中,弹性搜索408充当备份存储库或持久存储。

图5A至图5D统称为根据本公开的实施例的数据存储系统和数据管理设备的实现的示例性场景的图示。结合图1、图2、图3和图4的元件描述了图5A至图5D。参考图5A至图5D,共同示出了实现场景500。参考图5A,示出了第一用户502A、第一计算设备504A和第一网络连接服务器506A(也表示为NAS1)。还示出了第一网络连接服务器506A(即NAS1)的存储表示508,该存储表示508包括N个块,即,第一块508A、第二块508B、第三块508C直至第N块508N。

参考图5B,示出了第二用户502B、第二计算设备504B和第二网络连接服务器506B(也表示为NAS2)。还示出了第二网络连接服务器506B(即,NAS2)的存储表示510,该存储表示510包括N个块,即,第一块510A、第二块510B、第三块510C、第四块510D直至第N块510N。

结合实现场景500,第一用户502A和第二用户502B在组织中(例如,在公司“x”中)一起工作,并具有自己的NAS共享来上传它们对应的数据文件。

再次参见图5A,第一用户502A在第一计算设备504A中接收公司事件的电影文件。电影文件命名为“公司事件.mpeg(CompanyEvent.mpeg)”。第一用户502A将电影文件从第一计算设备504A复制到第一网络连接服务器506A(即,NAS1)。第一网络连接服务器506A(即NAS1)中的电影文件“CompanyEvent.mpeg”的链接是“\nas1_IPuser1MyVideosCompanyEvent.mpeg”。电影文件“CompanyEvent.mpeg”存储在第一网络连接服务器506A(即NAS1)的三个块上,例如第一块508A、第二块508B和第三块508C。第一块508A、第二块508B和第三块508C中的每一个具有不同的数据和不同的哈希值。例如,与第一块508A、第二块508B和第三块508C关联的哈希值分别是“Block1 Hash:2fd4…3eb12”、“Block2 Hash:1e89…d5f73”和“Block3 Hash:a54b…c41f8”。

现在参见图5B,第二用户502B在第二计算设备504B中接收公司事件的相同电影文件(即,“CompanyEvent.mpeg”)。第二用户502B可以用于对电影文件执行一些编辑,并从公司事件拼接额外的短电影,并创建命名为“公司事件_v2.mpeg(CompanyEvent_v2.mpeg)”的新电影文件。第二用户502B将新电影文件从第二计算设备504B复制到第二网络连接服务器506B(即,NAS2)。第二网络连接服务器506B(即NAS2)中的新电影文件“CompanyEvent_v2.mpeg”的链接是“\nas2_IPuser2MyDocsvideosCompanyEvent_v2.mpeg”。新电影文件“CompanyEvent_v2.mpeg”存储在第二网络连接服务器506B(即NAS2)的四个块上,例如第一块510A、第二块510B、第三块510C和第四块510D。第一块510A、第二块510B、第三块510C和第四块510D中的每一个具有不同的数据和不同的哈希值。例如,与第一块510A、第二块510B、第三块510C和第四块510D关联的哈希值分别是“Block1Hash:2fd4…3eb12”、“Block2Hash:1e89…d5f73”、“Block3 Hash:173e…866f5”和“Block4 Hash:cc57…e33ba9”。

电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”大致相似。原因是电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”的第一块508A和510A中的每一个以及第二块508B和510B中的每一个都相同,并且具有相同的哈希值和颜色。电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”的第三块508C和510C中的每一个彼此不同,并且具有不同的哈希值和颜色。第四块510D仅存在于新电影文件“CompanyEvent_v2.mpeg”。在这种情况下,数据管理设备202(即,AI目录引擎)用于识别多个类似文件,即电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”。数据管理设备202(即,AI目录引擎)还用于将第一用户502A的电影文件“CompanyEvent.mpeg”复制到第二网络连接服务器506B(即,NAS2),该电影文件的链接是“\nas2_IPsimilarFilesfromUser1MyVideosCompanyEvent.mpeg”,并将第一网络连接服务器506A(即NAS1)中的源替换为存根(即,指向第二网络连接服务器506B中的新位置的链接),如图5C所示。

现在参见图5C,在第一网络连接服务器506A(即NAS1)处,第一用户502A的电影文件“CompanyEvent.mpeg”的链接从“\nas1_IPuser1MyVideosCompanyEvent.mpeg”改变为“\nas2_IPsimilarFilesfromUser1MyVideosCompanyEvent.mpeg”,因为电影文件“CompanyEvent.mpeg”被存根(即,指向第二网络连接服务器506B中的新位置的链接)替换。

在将第一用户502A的电影文件“CompanyEvent.mpeg”复制到第二用户502B的第二网络连接服务器506B(即NAS2)之后,两个文件(即,电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”)位于相同的位置(或相同的存储池),使得这两个文件易于去重,例如在图5D中详细描述。

参考图5D,在去重之后,文件(即电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”)都存储在第二网络连接服务器506B(即NAS2)的五个块中。这五个块是第一块510A、第二块510B、第三块510C、第四块510D和第五块510E。第一块510A、第二块510B、第三块510C、第四块510D和第五块510E中的每一个具有不同的数据和不同的哈希值。例如,与第一块510A、第二块510B、第三块510C、第四块510D和第五块510E关联的哈希值分别是“Block1 Hash:2fd4…3eb12”、“Block2 Hash:1e89…d5f73”、“Block3 Hash:173e…866f5”、“Block4 Hash:cc57…e33ba9”和“Block5 Hash:a54b…c41f8”。在去重之前,两个文件(即电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”)存储在两个不同的网络连接服务器506A和506B中,总块数为7。

在一种情况下,如果电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”相同,则在这种情况下,数据管理设备202将不会复制该文件。在另一种情况下,如果电影文件“CompanyEvent.mpeg”和新电影文件“CompanyEvent_v2.mpeg”不相同,则在这种情况下,数据管理设备202用于将较小的文件(即,“CompanyEvent.mpeg”)从第一网络连接服务器506A(即NAS1)复制到存储在第二网络连接服务器506B(即NAS2)中的较大文件(即“CompanyEvent_v2.mpeg”)。在又一种情况下,数据管理设备202可用于根据应用场景将这两个文件复制到集中式网络连接服务器(例如,第三NAS)。

可选地,数据管理设备202可用于管理各种NAS服务器之间的通信矩阵(上传和下载),并为每个类似文件列表决定将它们迁移到哪些NAS并获取最佳通信。在通信矩阵中,类似文件列表中的一个或多个文件可能保留在其当前位置,不需要被存根替换。使用通信矩阵,数据管理设备202可以定位存在数据传输加速的文件,如NVMe over Fabrics,也称为NVMe-oF或非易失性存储器express over fabrics。NVMe-oF可以定义为设计用于通过网络结构在主机计算机与存储设备或系统之间提供数据传输的协议。

在本实现场景500中,考虑第一用户502A和第二用户502B以及两个类似文件,但是,可以有多个用户使用多个NAS服务器和多个类似文件。通过使用数据管理设备202,可以高效地利用存储空间(即,与企业或组织或企业的子集相关的存储空间)。

在不脱离所附权利要求书所定义的本公开范围的情况下,可以对上文描述的本公开实施例进行修改。如“包括”、“包含”、“结合”“具有”、“是/为”等用于描述和要求保护本公开的表述旨在以非排他性的方式解释,即允许未明确描述的项目、组件或元件也存在。对单数的引用也应解释为涉及复数。本文使用的词语“示例性”表示“作为一个示例、实例或说明”。任何描述为“示例性的”实施例并不一定解释为相比其它实施例是优选或有利的,和/或并不排除结合其它实施例的特征。本文使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。应当理解,为了清楚起见而在单独实施例的上下文中描述的本公开的某些特征还可通过组合提供在单个实施例中。相反地,为了清楚起见而在单个实施例的上下文中描述的本公开的各种特征也可单独地提供,或以任何合适的组合提供,或在本公开的任何其它描述的实施例中适当提供。

相关技术
  • 应用于分布式存储集群的数据存储方法及分布式存储集群
  • 一种用于危险气瓶存储的存储装置及其存储方法
  • 用于光信息存储的柔性透明存储器及制备方法
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器、备份存储器和检查存储器
  • 一种数据备份的方法、主系统、设备及计算机可读存储介质
技术分类

06120116459363