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

确定用于数据集和用于迁移数据集的最优存储环境

文献发布时间:2023-06-19 09:52:39


确定用于数据集和用于迁移数据集的最优存储环境

技术领域

本发明涉及用于确定用于数据集和用于迁移数据集的最优存储环境的计算机程序产品、系统和方法。

背景技术

存储系统可以实现不同的存储环境,例如块存储、文件存储、对象存储等。多存储环境的使用使得在存储管理生命周期过程中对数据的存储放置的决定变得复杂。存储管理员使用各种工具来管理存储。一旦选择了系统(即,用于面向网络的服务器的基于块的存储;用于打印系统的基于文件的存储;以及用于诸如图片或文件协作(以及内容流)的非结构化数据的基于对象的存储),存储方法通常直到技术刷新周期才改变。

在本领域中需要改进的技术来管理存储应用的数据集的位置。

发明内容

实施例包括用于确定用于数据集和用于迁移数据集的最优存储环境的计算机程序产品、系统和方法。每个应用的元数据指示由应用用来存储数据集的存储池,其中每个存储池被配置在使用不同组织方案来存储数据集的多个存储环境之一中。至少一个应用的元数据指示从不同存储环境分配的用来存储应用的数据集的存储池。处理应用的元数据以确定存储在第一存储环境中实现的第一存储池中的应用的数据集,该数据集应当存储在第二存储环境中。将所确定的数据集从第一存储池传送到在第二存储环境中实现的第二存储池。

对于上述实施例,使用应用的元数据来确定存储在第一存储环境中的存储池中的数据集应当被存储在第二存储环境中,使得数据集可以被迁移到第二存储环境。这样,使用元数据来确定可以为存储在由应用使用的存储池中的数据集选择的更优的存储环境,以便将数据集迁移到最优存储环境。

在进一步的实施例中,存储环境至少包括多个存储环境,包括:块存储、文件存储、对象存储和计数关键数据(CKD)存储。

通过上述实施例,在块存储、文件存储、对象存储和CKD存储之间向数据集的迁移中可以涉及不同公共存储环境中的一个,以利用可以在应用可访问的存储系统中实现的公共存储环境。

在进一步的实施例中,更新用于应用的元数据以指示确定的数据集存储在第二存储池中。

利用上述实施例,更新元数据以反映用于存储已迁移的数据集的新的第二存储池和第二存储环境,使得可以处理该元数据以确定是否应当在存储环境之间进一步迁移该数据集。

在进一步的实施例中,第一守护进程管理对根据第一存储环境配置的第一存储器的访问,并且第二守护进程管理对根据第二存储环境配置的第二存储器的访问。通过第一守护进程从第一存储中的第一存储池中读取所确定的数据集来迁移数据集。第一守护进程将所确定的数据集从用于第一存储环境的第一数据格式转换为用于第二存储环境的第二数据格式。将第二数据格式的数据集发送到第二守护进程以写入第二存储。

通过上述实施例,存储环境守护进程管理数据集从源存储环境到最优存储环境的转移,其中每个守护进程包括所有必要的功能和API以管理访问其存储环境中的数据并管理与其他存储守护进程的通信以及将数据集转换为数据集将被迁移到的目标存储环境的数据格式。

在进一步的实施例中,收集关于对存储在第一和第二存储池中的应用的数据集的输入/输出(I/O)访问的数据访问模式的数据访问信息。确定第一存储池中的应当被存储在第二存储环境中的数据集包括确定为数据集收集的数据访问信息指示该数据集应当被存储在第二存储环境中。

对于上述实施例,最优存储的确定是基于关于所考虑的数据集的当前操作参数,例如I/O访问的数据访问模式,以便基于当前数据访问模式来优化存储选择。

在进一步的实施例中,确定数据访问信息指示所确定的数据集应当被存储在第二存储环境中包括将数据集的元数据中的数据访问信息提供给机器学习模块。机器学习模块将所提供的数据访问信息分类到多个访问模式分类中的一个。应用规则以从数据集的访问模式分类中确定数据集应当存储在其中的多个存储环境中的最优存储环境。将所确定的数据集分类为具有访问模式分类,其中应用规则确定第二存储环境是用于数据集的最优存储环境。

通过上述实施例,机器学习模块用于将数据访问信息分类成访问模式分类,然后将访问模式分类应用于规则引擎以选择最优存储环境。机器学习模块的这种使用基于访问信息提供了最优或最佳访问模式分类,然后可以基于访问模式分类使用该最优或最佳访问模式分类来选择最优存储,因为某些类型的存储环境更适合于某些类型的访问模式。

在进一步的实施例中,对于为其确定了最优存储环境的每个数据集,确定该数据集是否存储在为该数据集确定的最优存储环境中。将当前未存储在所确定的用于该数据集的最优存储环境中的每个数据集迁移到所确定的用于该数据集的最优存储环境。

在进一步的实施例中,通过机器学习算法来执行对所述数据集的数据访问信息的分类,所述机器学习算法被训练以基于所述数据集的数据访问信息来产生访问模式分类中的一个。

通过上述实施例,训练机器学习算法以基于实际访问模式来选择访问模式选择,以改进机器学习算法在对数据访问信息进行分类时的预测质量,从而提供对用于数据集的存储环境的改进选择。

在进一步的实施例中,对于不同的数据集,数据访问信息包括每秒多个I/O操作、访问中的延迟、由于延迟导致的超时、数据访问模式、工作负载类型。

在进一步的实施例中,存储环境包括对象存储环境、文件存储环境和块存储环境。为应用程序的每个数据集确定最优存储环境的规则至少包括多个规则,包括:响应于确定所述数据集作为文件被访问,将所述最优存储环境指示为针对所述数据集的文件存储;响应于所述数据集的访问模式分类包括随机访问模式,将所述最优存储环境指示为块存储;响应于所述数据集的所述访问模式分类包括顺序访问模式,将所述最优存储环境指示为文件存储;响应于所述数据集的所述访问模式分类包括高每秒操作访问模式,将所述最优存储环境指示为块存储;响应于所述数据集的所述访问模式分类包括低每秒操作和处理单元密集使用访问模式,将所述最优存储环境指示为文件存储;响应于所述访问模式分类包括低延迟,将所述最优存储环境指示为块存储,其中所述低延迟针对需要低延迟访问的数据访问而发生;响应于所述访问模式分类包括高延迟和大于大小阈值的数据集大小,将所述最优存储环境指示为文件存储,其中所述高延迟针对容忍高延迟而没有超时的数据访问而发生;响应于所述访问模式分类包括高延迟容忍和小于大小阈值的数据集大小,将所述最优存储环境指示为对象存储;响应于所述访问模式分类包括事务数据库访问模式,将最优存储环境指示为块存储;响应于所述访问模式分类包括文件数据库访问模式,将所述最优存储环境指示为文件存储;以及响应于所述访问模式分类包括网络数据库访问模式,将所述最优存储环境指示为块存储。

进一步的实施例包括用于管理多个存储环境中的数据存储的计算机程序产品、系统和方法。将在当前存储环境中实现的当前存储中存储的数据集的数据访问信息提供给分类引擎,该分类引擎根据数据集的数据访问信息确定访问模式分类的集合中的访问模式分类。使用访问模式分类来确定数据集的最优存储环境。响应于当前存储环境不包括最优存储环境,将数据集移动到在最优存储环境中实现的目标存储。

利用上述实施例,从分类引擎确定访问模式分类,该分类引擎处理数据访问信息以基于机器学习和测试提供改进的分类。然后,使用这种改进的分类,基于数据集的实际访问模式,为数据集选择最适当和最优的存储环境。

在进一步的实施例中,数据访问信息至少包括多个访问属性,包括每秒I/O操作、访问中的延迟、由于延迟而导致的超时、数据访问模式、工作负载类型。访问模式分类的集合包括基于仅一个访问属性的至少一个访问模式分类和基于多个访问属性的至少一个访问模式分类。

在另一实施例中,为具有在多个存储环境之一中的存储中存储的数据集的应用提供应用元数据,其中用于应用的每个应用元数据针对为该应用存储的每个数据集指示存储之一中的存储池以及用于该数据集的数据访问信息,其中该应用元数据指示在不同存储环境中的存储中存储的用于该应用的多个数据集。

附图说明

图1示出了存储环境的实施例。

图2示出了应用元数据的实施例。

图3示出了应用元数据中的用于数据集的数据集元数据的实施例。

图4示出了数据集元数据中的用于数据集的数据访问信息的实施例。

图5示出存储池信息的实施例。

图6a示出了规则的实施例。

图6b示出规则集的实施例。

图7示出了收集存储环境中的数据集的数据访问信息的操作的实施例。

图8示出了确定是否迁移应用的数据集的操作的实施例。

图9示出处理迁移数据集的请求的操作的实施例。

图10示出了在目标存储环境中存储迁移的数据集的操作的实施例。

图11示出了其中可实现图1的组件的计算环境。

具体实施方式

所描述的实施例提供了对用于在诸如块存储、文件存储、对象存储等不同的可用存储环境中管理应用程序的数据集的计算机技术的改进。所描述的实施例提供了一种用于基于数据集的当前操作属性、诸如与数据集处的I/O处理和性能有关的数据访问信息以及数据集的属性,来做出是否将应用的数据集移动到不同存储环境的决定的自动化技术。集成存储环境管理系统维护每个应用的元数据,该元数据指示由应用使用以存储应用的数据集的存储池。每个存储池被配置在使用不同组织方案来存储数据集的多个存储环境之一中。至少一个应用的元数据指示存储池存储从不同存储环境分配的应用的数据集。将元数据提供给机器学习模块以进行处理,从而确定数据集的访问模式分类,并且根据访问模式分类确定数据集的最优存储环境。如果数据集当前未存储在最优存储环境中,则可以将数据集迁移到最优存储环境。以这种方式,基于数据集的当前操作参数确定数据集是否存储在最合适的存储环境中,来决定对数据集使用不同的存储环境。

图1示出了存储服务器100的实施例,其从主机系统104中的应用102接收输入/输出请求,以分别存储在用于不同的第一、第二至第m存储环境的多个存储装置106

存储装置106

存储服务器100包括诸如一个或多个处理器设备的处理器110,以及具有由处理器110执行的程序代码的存储器112。存储器112包括由处理器110执行以管理存储装置106

迁移引擎116包括机器学习模块118,以接收数据集的数据访问信息400的一些组合作为输入120,并且产生可以提供给规则引擎124的访问模式分类122作为输出,该规则引擎124处理规则的规则集600以基于所确定的访问模式分类122确定最优存储环境126。在迁移引擎116中在组件120、118、122、124和126之间示出的箭头用于表示组件之间的数据流,而不是迁移引擎116内的实际结构。

机器学习模块118实现机器学习技术,诸如决策树学习、关联规则学习、人工神经网络、归纳编程逻辑、支持向量机、贝叶斯模型等,以基于输入120数据访问信息和数据集的其他属性来确定访问模式分类。机器学习模块118可以被训练为针对特定输入数据访问信息产生不同的访问模式分类。在一个实施例中,机器学习模块118可以包括人工神经网络程序,可以使用后向传播来训练人工神经网络程序,以调整隐藏层中的节点处的权重和偏置,从而为数据访问信息属性的不同组合产生调整后的访问模式分类,所述数据访问信息属性诸如每秒I/O操作、每I/O的延迟、I/O超时数量、工作负载类型、数据集大小、数据访问模式等。调整输出最优存储环境126并调整机器学习模块118以便为不同的输入数据访问信息产生所希望的最优存储环境。在后向传播中,测量输出的误差容限,并且相应地调整隐藏层中的节点处的权重和偏置以减小误差。后向传播可以包括用于使用梯度下降来监督学习人工神经网络的算法。给定人工神经网络和误差函数,该方法可以计算误差函数相对于神经网络的权重和偏置的梯度。

存储器112还可以包括用于在存储装置106

迁移管理器114、迁移引擎116、机器学习模块118、规则引擎124和守护进程128

存储器106

存储器112可以包括适当的易失性或非易失性存储器设备,包括上面描述的那些。

图2示出了包括应用102之一的应用202的应用元数据200中的应用元数据200

图3示出了应用202的数据集300

图4示出了应用102之一的应用元数据200

图2、3和4中的应用元数据信息提供关于应用使用的数据集、分配给数据集的可以在不同存储环境中实现的存储池、以及每个数据集的数据访问信息的信息。

图5图示了针对不同存储器106

图6a示出了规则集600中的规则600

图6b示出了在表610中实现的规则600的示例,其中每个规则600

在某些实施例中,访问模式分类122可以包括单个分类。在进一步的实施例中,访问模式分类可以包括多个分类的组合,例如,高延迟和大数据集。在这种情况下,规则集600可以为访问模式分类的组合提供特定的最优存储环境。如果输出访问模式分类122包括分类的组合,并且规则集600仅为该组合的仅一个分类提供最优存储环境604,则规则引擎124可以输出该组合的一个分类的最优存储环境作为最优存储环境126。

图7示出了由存储环境守护进程128

利用图7的实施例,每个守护进程128

图8示出了由迁移管理器114、机器学习模块118和规则引擎124执行的操作的实施例,以确定是否迁移用于应用102的数据集和用于该数据集的最优存储环境。迁移管理器114可以执行操作以确定是否在更新数据集300

规则引擎124确定(在方框808)用于访问模式分类122的规则600

利用图8的实施例,关于数据集和数据集属性的I/O访问性能信息的当前数据访问信息,诸如数据集大小和应用类型,被提供给使用机器学习算法的机器学习模块118,以确定访问模式分类122。这样,访问模式分类122基于当前操作条件,并且可以在一定的置信度内计算,以允许准确的分类。然后,使用访问分类122来从规则集600确定数据集的最优存储环境,该规则集为不同的数据集分类或分类的组合识别不同的最优存储环境。管理员可以连续地调整规则集600以优化存储环境到不同访问模式分类的映射。这允许实时考虑多个操作因素和数据集特征,以确定是否应当将数据集迁移到用于数据集的更优化和合适的存储环境。

在另外的实施例中,其他属性可以用作机器学习模块118的输入120以优化最优存储环境选择,诸如政府规章、商业规章、历史趋势、技术刷新(例如,全闪存倡议(all-flashinitiatives))和建模;以及物理迁移(即,迁移到另一数据中心,而不是在层之间迁移)。

图9示出了由源存储环境守护进程128

图10示出了目标存储环境守护进程128

通过图9和10的实施例,存储环境守护进程管理数据集从源存储环境到最优存储环境的转移,其中每个守护进程包括所有必要的功能和API以管理访问其存储环境中的数据和管理与其他存储守护进程的通信以及将数据集转换为数据集正在被迁移到的目标存储环境的数据格式。

在所述实施例中,变量i、j、m、n等在与不同元件一起使用时可表示该元件的相同或不同实例。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。

计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如Java、Smalltalk、C++等,以及常规的过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

图1的计算组件,包括存储服务器100、主机104和存储装置106

如图11所示,计算机系统/服务器1102以通用计算设备的形式示出。计算机系统/服务器1102的组件可以包括但不限于一个或多个处理器或处理单元1104、系统存储器1106以及将包括系统存储器1106的各种系统组件耦合到处理器1104的总线1108。总线1108表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。

计算机系统/服务器1102通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器1102访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。

系统存储器1106可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1110和/或高速缓冲存储器1112。计算机系统/服务器1102还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统1113可以被提供用于从不可移动、非易失性磁介质(未示出并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个可以通过一个或多个数据介质接口连接到总线1108。如下面将进一步描绘和描述的,存储器1106可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。

具有一组(至少一个)程序模块1116的程序/实用程序1114,以及操作系统、一个或多个应用程序、其它程序模块和程序数据,可作为示例而非限制存储在存储器1106中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。计算机1102的组件可以被实现为通常执行如这里描述的本发明的实施例的功能和/或方法的程序模块1116。图1的系统可以在一个或多个计算机系统1102中实现,其中如果它们在多个计算机系统1102中实现,则计算机系统可以通过网络通信。

计算机系统/服务器1102还可以与一个或多个外部设备1118通信,诸如键盘、定点设备、显示器1120等;与使得用户能够与计算机系统/服务器1102交互的一个或多个设备通信;和/或与使计算机系统/服务器1102能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)通信。这种通信可以经由输入/输出(I/O)接口1122发生。此外,计算机系统/服务器1102可以经由网络适配器1124与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)之类的一个或多个网络通信。如所描绘的,网络适配器1124经由总线1108与计算机系统/服务器1102的其它组件通信。应当理解,尽管未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器1102结合使用。示例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。

术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”表示“本发明的一个或多个(但不是全部)实施例”,除非另有明确说明。

术语“包括”、“包含”、“具有”及其变体表示“包括但不限于”,除非另有明确说明。

除非另外明确规定,否则列举的项目列表并不意味着任何或所有项目是互斥的。

术语“一”、“一个”和“该”表示“一个或多个”,除非另有明确说明。

除非另外明确指出,否则彼此通信的设备不需要彼此连续通信。另外,彼此通信的设备可以直接通信或通过一个或多个中间物间接通信。

具有彼此通信的若干组件的实施例的描述并不暗示需要所有此类组件。相反,描述了各种可选组件以说明本发明的各种可能的实施例。

当在此描述单个设备或产品时,很明显,可以使用多于一个的设备/产品(无论它们是否协作)来代替单个设备/产品。类似地,在这里描述了多于一个设备或产品(无论它们是否协作)的情况下,将容易明白的是,可以使用单个设备/产品来代替多于一个设备或产品,或者可以使用不同数量的设备/产品来代替所示数量的设备或程序。设备的功能和/或特征可以替代地由一个或多个未明确描述为具有这样的功能/特征的其他设备来体现。因此,本发明的其它实施例不需要包括该设备本身。

为了说明和描述的目的,已经给出了本发明的各种实施例的上述描述。其不是穷举的,也不是要将本发明限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。本发明的范围不是由该详细描述来限定,而是由所附权利要求来限定。上述说明、示例和数据提供了对本发明的组成的制造和使用的完整描述。由于在不脱离本发明的范围的情况下可以做出本发明的许多实施例,因此本发明在于所附权利要求书。

相关技术
  • 确定用于数据集和用于迁移数据集的最优存储环境
  • 用于确定传感器的数据集的品质等级的方法、设备和机器可读的存储介质
技术分类

06120112332355