CN104508662B - 存储分类的系统和方法 - Google Patents

存储分类的系统和方法 Download PDF

Info

Publication number
CN104508662B
CN104508662B CN201380024978.5A CN201380024978A CN104508662B CN 104508662 B CN104508662 B CN 104508662B CN 201380024978 A CN201380024978 A CN 201380024978A CN 104508662 B CN104508662 B CN 104508662B
Authority
CN
China
Prior art keywords
classification
disk
class
files
memory
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.)
Active
Application number
CN201380024978.5A
Other languages
English (en)
Other versions
CN104508662A (zh
Inventor
N·尤科夫
A·M·帕拉卡
B·M·普费茨曼
W·R·雷奥尔
P·乌尔班内茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104508662A publication Critical patent/CN104508662A/zh
Application granted granted Critical
Publication of CN104508662B publication Critical patent/CN104508662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS

Abstract

在一个或多个计算机系统上执行的分类系统(900)包括处理器(912)和耦合到所述处理器的存储器(914)。所述存储器包括发现引擎(932),其经配置以遍历非易失性存储器存储区,以通过跟踪从文件系统挂载点经过文件系统对象并到磁盘对象的一个或多个文件,发现所述一个或多个文件在一个或多个计算机存储系统中的身份和位置。分类器(934)经配置以将所述一个或多个文件分类成分类类别。所述一个或多个文件被与所述分类类别关联并存储在至少一个数据结构中。同时提供方法。

Description

存储分类的系统和方法
技术领域
本发明涉及服务器和存储系统的发现、迁移和转换处理,并且更具体地,涉及用于快速和准确分类计算机存储的系统和方法。
背景技术
计算机技术以极快的速度发展。根据经常引用的摩尔定律,存储器芯片容量每隔两年翻倍,以及处理器芯片上的处理器数量翻倍。类似的“定律”适用于计算机存储。遗憾的是,随着计算机和存储技术的这种显着增长带来的优势不能容易地集成到运行信息技术(IT)中心或数据中心中,所述中心必须在正在更新和维护IT设备和程序期间,继续处理“在线”处理请求(例如,银行交易、生产机械控制、气象监测或搜索)。数据中心不能容易地关闭,因为需要它们的活动以保持企业等运行。使IT中心现代化是具有许多复杂性的精细过程,这不仅需要理解更广泛系统的底层配置,同时也必须考虑正在操作的程序(即处理)之间的依赖性。
管理数据中心的复杂性来自于许多影响因素。例如,当数据中心随需求增长时,出现瓶颈和对资源的竞争。零碎补丁必须尽快管理以解决紧迫问题。鉴于负责管理中心的工作人员是不稳定的,记录的中心的细节可能未以相同的方式记录。此外,软件需要不断更新,以保持符合不断变化的软件的新版本和新标准。
因此,重要的是能够在自动工具的协助下快速地表征与数据中心的基础结构相关联的软件和硬件。考虑到每秒生成的新数据,以及因此必须由中心的员工频繁供应以保存大量数据的存储,特别重要地是能够理解存储数据的硬件的类型,特别是当正在修改或整修中心时。
发明内容
一种在一个或多个计算机系统上执行的分类系统包括处理器和耦合到所述处理器的存储器。所述存储器包括发现引擎,其经配置以遍历非易失性存储器存储区,以通过跟踪从文件系统挂载点经过文件系统对象并到磁盘对象的一个或多个文件,发现所述一个或多个文件在一个或多个计算机存储系统中的身份和位置。分类器经配置以将所述一个或多个文件分类成分类类别。所述一个或多个文件被与所述分类类别关联并存储在至少一个数据结构中。
一种用于分类存储区的方法,包括:发现一个或多个文件在一个或多个计算机系统中的身份和位置;通过跟踪从文件系统挂载点经过文件系统对象到磁盘对象的所述一个或多个文件而解析存储区分类的类型,来将所述一个或多个文件分类成多个分类类别;在存储介质上存储的至少一个数据结构中,将所述一个或多个文件与所述分类类别相关联。
结合附图阅读,通过本发明示例性实施例的以下详细说明,这些和其他特征和优点将变得显而易见。
附图说明
本发明将参照下面的附图提供优选实施例的以下描述细节,其中:
图1是示意性示出根据一个实施例的存储分类表的示意图;
图2是示出根据一个实施例的用于存储发现和分类的系统/方法的方块/流程图;
图3是示出根据一个实施例的存储数据模型的方块/流程图;
图4是示意性示出根据一个实施例的磁盘分类表的示意图;
图5是示出根据一个实施例的生成物理磁盘分类表的物理磁盘分类的系统/方法的方块/流程图;
图6是示意性地示出根据一个实施例的物理磁盘分类表的示意图;
图7是示出根据另一实施例的用于物理磁盘存储分类的系统/方法的方块/流程图;
图8是示出根据另一实施例的用于协调/比较多个分类方法的系统/方法的方块/流程图;
图9是示出根据另一个实施例的用于组合多个分类方法的系统/方法的方块/流程图;和
图10是示出根据本发明原理的用于实施所述方法的示例性系统的方块/流程图。
具体实施方式
根据本发明原理,提供涉及例如数据中心内的服务器和存储系统到新的数据中心、计算机集合或计算机类系统内的服务器和存储系统到云等的发现、迁移和变换处理的方法和系统。为了实现现代化,信息技术(IT)中心的软件和硬件结构需要在转换(例如,现代化)之前被发现和分类。发现和分类处理往往涉及慎重而繁琐的工作。这项工作往往是昂贵的,且很容易出错。为了实现成本降低和减少错误,公开用于IT中心的存储基础设施(数据中心)或其它存储器存储区(例如,非易失性存储器存储区)的发现和分类任务的自动化。
本原理提供了包含在数据中心或其他存储装置或设施内的存储区的快速和准确的分类。为提高精度的目的,描述备选存储分类方法。这些可以包括在文件系统的抽象级别上运行的存储分类方法(例如,已安装存储驱动器分类方法)。另一个存储分类方法运行在物理磁盘的抽象级别。此外,描述用于协调多个存储分类方法的结果的逻辑。本原理的一个目标在于:对特定文件系统处的存储区类型分类,其特征在于挂载点。这在其中转换关系到企业应用(通过软件组件(诸如,Web服务器、应用服务器和数据库)实现)的许多应用中是重要的考虑因素。然后,通常重要的是要知道与这些企业应用(除了较窄应用意义上的数据,包括配置、程序代码、日志等)相关的数据实际存储的位置。具体而言,多个转换任务关注存储是服务器本地还是远程,并且在后者的情况下,它是网络附加存储(NAS)还是存储区域网络(SAN)。NAS意味着远程系统提供文件系统抽象,而SAN意味着它提供块设备抽象。在服务器上,数据被存储在文件系统中,以及现有的发现方法往往可以跟踪数据到文件系统。因此,特别关注的任务在于对如何存储文件系统分类,以便结合现有方法,可以知道应用数据被存储的位置。该方法也可以应用于其中应用使用原始卷的情况,因为在某些数据库中发生此特定情况。在该情况下,我们从数据库或有问题的逻辑卷(而不是文件系统)进行跟踪。在下文中,文件系统被示意性地描述为出发点。
向否则为人工密集型存储分类任务注入自动化将降低成本并增加分类处理的精度,并此外由于分类的改进级别的细节、精度和标准化,减少了对存储基础结构的目标转换的成本。这些廉价和可靠的方法可以在变换过程被应用到一个或多个特定的存储区类型。通常,针对被评估以便升级或已就绪以便转换的一个或多个服务器(主机)中存在的每个服务器(主机)文件系统进行存储区分类。对于每个发现的文件系统,通过这些方法产生的记录可报告主机、挂载点(从操作系统和应用的角度,作为文件系统的标识)、文件系统类型和对应的存储区分类。这些概念(或抽象)的名称对于不同的操作系统略有不同,但这些概念因此广泛存在;例如,在一个实施例中,包括在记录的挂载点部分中表示大多数WindowsTM文件系统的驱动器字母,因为它们对于应用服务于相同的目的。存储系统的分类名可包括例如网络附加存储(NAS)、存储区域网络(SAN)、Ldisk(表示单个本地磁盘)、独立磁盘冗余阵列(RAID)(表示本地RAID)、可移除和模糊(即,使用可用信息不能得到先前的值)。
如将被本领域技术人员可以理解的,本发明的各个方面可以体现为系统、方法或计算机程序产品。因此,本发明的方面可采取如下形式:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等),或者实施例组合可所有通常本文被称为作为“电路”、“模块”或“系统”的软件和硬件方面。此外,本发明的各方面可以采取在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。
可以使用一个或多个计算机可读介质的任何组合都。该计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如(但不限于)电子、磁、光、电磁、红外或半导体系统、装置或设备,或上述的任何合适组合。计算机可读存储介质的更具体例子(非穷举列表)将包括以下:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备,或者任何前述的适当组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或由指令执行系统、装置或设备使用或连接其的任何有形介质。
计算机可读信号介质可以包括传播数据信号,计算机可读程序代码体现于其中,例如在基带中或作为载波的一部分。该传播信号可以采取任何的多种形式,包括(但不限于)电磁、光学或任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质并可以传递、传播或传输通过指令执行系统、装置或设备使用或结合其的程序的使用任何计算机可读介质。
计算机可读介质上嵌入的程序代码可使用任何适当的介质传输,包括(但不限于)无线、有线、光纤电缆、RF等,或者上述的任何合适组合。用于执行本发明各方面的操作的计算机程序代码可以一个或多个编程语言的任何组合编写,包括面向对象的编程语言,诸如Java、Smalltalk、C++或类似物和常规的过程编程语言,诸如“C”编程语言或类似的编程语言,或者数据库查询语言(诸如SQL)或脚本语言(诸如Perl)。程序代码可以在用户计算机上完全执行,在用户计算机上部分执行,作为独立的软件包,部分地在用户计算机上且部分地在远程计算机上或完全在远程计算机或服务器上。在后一种情形中,远程计算机可以通过任何类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或可连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。
以下参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。但可以理解,流程图和/或框图的每个方框以及流程图和/或框图中块的组合可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,以使得指令(其通过计算机或其他可编程数据处理设备的处理器执行)创建用于实现在流程图和/或方框图方框或方框中指定的功能/操作。
这些计算机程序指令也可以被存储在可以引导计算机、其它可编程数据处理设备或其他装置以特定方式起作用的计算机可读介质中,使得存储在计算机可读介质中的指令产生制造品,其包括实现在流程图和/或方框图方框或多个方框中指定的功能/动作的指令。该计算机程序指令也可以被加载到计算机、其它可编程数据处理设备或其它设备,以使得在计算机、其它可编程设备或其它设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机或其他可编程设备上执行的指令提供用于实现在流程图和/或方框图方框或多个方框中指定的功能/动作的处理。
在附图中的流程图和框图说明了根据本发明各个实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示模块、分段或代码部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应当指出,在一些可替换实施方式中,块中提到的功能可以不按图中指出的顺序发生。例如,连续显示的两个块可以实际上基本上同时执行,或者这些块有时可以相反的顺序执行,这取决于所涉及的功能。还应当指出,框图和/或流程图中的每个块以及框图和/或流程图说明中的块的组合可以由执行指定功能或动作的基于特殊用途硬件的系统或特殊用途的硬件和计算机指令的组合来实现。
现在参考其中相同的标号表示图中相同或相似元件的附图并最初参考图1,将示例性地参照存储区分类表10描述存储区分类方法。图1包括示例性分类方法(图2)的预期输出。一个示例性存储区分类方法运行在文件系统的抽象级别(称为已安装存储驱动器分类方法)。参考图2和3更详细地描述该方法,图2和3分别描绘自动存储区分类系统/方法100和存储数据模型200。
图2中的存储区分类方法100的目的在于产生图1的存储区分类表10。对于每个发现的文件系统,通过该方法100生成的记录可报告主机或服务器名称12(“CLIENT_HOST_NAME”)、挂载点(“MOUNTPOINT”)14、文件系统类型(“FILESYS_TYPE”)16和相应的存储区分类(“分类”)18。主机或服务器名称12示出了通用条目“系统1,系统2..系统7”用于说明的目的。但是应当注意,每个主机可以存在一个或多个文件服务器。挂载点指用于安装并提供到其他卷的入口点的专用文件系统对象。挂载点可在文件系统上的目录中创建,它给出了对安装的卷的根目录的参考。事实上,任何空目录可以被转换为挂载点。安装的卷可以使用任何文件系统格式化。图1的表格10提供了一种方法以对安装在特定挂载点的文件系统的存储区类型进行分类。
接下来是图2的分类方法的每个步骤的更详细描述。参考图2,框/流程图描述生成存储区分类的系统/方法。存储区分类的该示例性实施例在文件系统的基础上工作。图2中具有火柴人的块可涉及某种程度的人为干预,但也可以是完全自动化的。图2的自动化存储区发现和分类方法100包括:在块102的发现步骤,在块116的磁盘分类步骤,在块114的NAS存储区分类步骤,在块136的磁盘存储分类步骤以及在块128的主机到存储区表形成步骤。在块102的发现步骤优选地在块114的NAS分类步骤和在块136的磁盘存储区分类步骤之前完成。在块116的磁盘分类步骤优选地在块136的磁盘存储区分类步骤之前完成。磁盘分类步骤116也优选地在该方法100的其他步骤的执行之前完成并独立于发现步骤102的具体执行。块128的主机到存储区表形成步骤将在块114和136产生的记录合并到图1示意性地示出的存储区分类表10中。可以以修改由块102和116产生的输入表的频率重复整个方法。
在块102的发现使用计算机系统执行,以收集存储区数据(例如,在客户端侧)并将所收集的数据解析成表格(其他实施例可使用其他数据结构)。在存在要被分类的文件系统的服务器上执行块102的至少某些部分。这样的系统产生或提供表格,例如,目录表104、安装表106、服务表108、对象表110和依赖性表112。这些表104-112提供分析的原始数据。原始数据馈送NAS存储分类块114和磁盘存储分类块136的逻辑。目录表104可包括待分析的系统硬件或软件目录。目录表104也可以在其他的方法中使用,为简单起见,这些方法将从其他图中省略。
在一个实施例中,可以根据国际商业机器公司的GalapagosTM系统生成表格。另一实施例可使用另一发现系统,诸如TivoliTM应用依赖管理器。发现步骤102以后的步骤需要能生成存储区数据结构,表示服务器中配置的存储区。示例性存储区数据结构示于图3,也就是说,其以在服务器操作系统上看见的方式将文件系统链接到磁盘对象。
GalapagosTM区分三个层次的中间件项目,称为安装、服务和对象(表106,108和110)。它还将文件系统和存储区看作中间件,因为它们的软件构造非常适合同一个数据模型。中间件抽象的第一个最外层是安装。安装可仅仅是安装的程序,而不运行处理。在主机上可以有某种产品的多个安装,例如以多个不同的版本。中间件抽象的第二级(服务)通常对应于正在运行的处理,或者在计算机到计算机通信意义上对应于服务,监听端口。对于存储区和文件系统的情况,该服务可在一定程度上被认为是嵌入在操作系统中的运行处理。
其次,大多数服务还托管其他项目。其范围可以从清理数据对象,例如在具体活动对象(如队列)上的文件或数据库和数据库表格到完整的应用。Websphere ApplicationServerTM(WAS)可托管应用程序。在存储区的情况下,单独的文件系统是对象。所有这些项目(例如,安装,服务和对象)将以名称“对象”被捆绑在一起,以便于参考。依赖性表110包含不同对象之间的依赖性,例如,数据库中的数据被保存在特定文件系统内,或者文件系统在特定的逻辑卷上实施。参见图3。
磁盘分类块116使用人来分类已知存储驱动器,这产生磁盘对象,并将其排列到表格中,诸如示例性磁盘分类表300(参见图4)。磁盘分类表300由磁盘存储分类块136在分类磁盘对象的处理中进行搜索,其链接到主机文件系统。应当理解,磁盘类别类型可被进一步分类成保护和不受保护的(例如,RAID)的类别/分类。
在本实施例中,NAS存储区分类块114通过文件系统类型排他地识别NAS存储区(因为在NAS中,远程服务器提供文件系统抽象,所以在其文件系统正在被分类的服务器上没有对应磁盘对象)。NAS文件系统的类型包括例如NFS%、CIFS、AFS%或DFS,这里,追加到NFS和AFS的“%”表示通配符,从而覆盖诸如NFS、NFS4、NFSD和NFSv3的文件系统类型。用于分类存储区为NAS的示例性代码位于子查询中,由′NAS_FS_SORT表示为METHOD语句,其位于其后的SQL查询中。在图3的示例性存储数据模型200中,从挂载点到NAS的路径记为如METHOD 202的′NAS_FS_SORT。
磁盘存储区分类块136根据它们实施的磁盘对象分类不是NAS的文件系统。从文件系统挂载点到磁盘的链接通过从框遍历到框形成,所述对象(表示在对象表格110中)沿流程线(表示在依赖性表112中),这两者都表示在图3的存储区数据模型200中。换句话说,通过从文件系统挂载点经过任何中间文件系统对象到磁盘对象来跟踪表,形成链接。一旦从该处理获得磁盘,可以通过首先链接到创建它的安装(例如,存储驱动器),然后通过在用于存储区分类304的磁盘分类表300中查找已安装的存储区驱动器302获得其分类。因此,存储区分类可链接回挂载点。
用于根据磁盘分类块分类存储区的示例性代码位于子查询中,在图3中表示为:位于下方的SQL查询部分中(也在图3中指出)的′FS_DevFile_LVM_Disk_In′as METHOD 204,′FS_DevFile_LVM_Disk_Out′as METHOD 206,′FS_DevFile_Disk′as METHOD 208,′FS_Disk′as METHOD 210语句。在此,FS=文件系统,LVM=逻辑卷管理器,以及DevFile=设备文件。在块136的磁盘存储区分类步骤通过从文件系统挂载点开始,经过中间文件系统对象,经过磁盘对象,经过安装(其创建磁盘)并最后到分类本身而跟踪表,来解析存储区类型。
NAS分类块114和磁盘存储区分类块136一起用于将存储区类型解析成多个不同分类。在一个实施例中,可以采用七个分类,从而产生记录(例如,图1中的行),并将它们标记为[1]NAS记录、[2]SAN记录、[3]Ldisk记录、[4]RAID记录、[5]可移除记录、[6]模糊记录和[7]未知记录。还可以包括其他分类。详细地说,该分类包括:[1]“NAS”表示“网络附加存储”;[2]“SAN”表示“存储区域网络”;[3]“Ldisk”表示没有RAID保护的本地SCSI磁盘;[4]“RAID”表示采用RAID保护的本地SCSI磁盘;[5]“可移除”表示可拆卸的存储区(如闪存盘);[6]“模糊”指示通过已安装存储驱动器确定的分类不能被解析到[1]至[5]之一。“模糊”记录的底层存储区可是Ldisk、SAN或RAID。[7]“未知”表示在磁盘分类表300中对于发现的磁盘(由所安装的存储驱动器生成)无分类存在。
图2的方法的备选步骤可进一步包括块118的模糊解析步骤和未知解析步骤,这两者都可涉及人为干预。因为之前步骤的结果的模糊性,模糊解析步骤118可能需要人来运行主机或存储控制台上的其他命令以分类存储区或调查物理服务器、网络或存储区本身以分类存储区。
还构想了模糊解析块118可以另外具有内置存储器和识别已处理模糊记录的逻辑(例如,由个人在之前运行期间分类),所述记录现在可以通过其唯一主机名和挂载点识别。对于这些已处理的模糊记录,可以基于在记录分类表120中记录的之前结果,将正确分类提供给主机到存储区表形成块128中的存储区分类表10。这样,由个人解析的模糊记录总是在记录分类表120中保持已解析,作为[2]SAN记录至[5]可移除记录之一。因此,每次图2的方法再次运行时,由个人进行的昂贵步骤都不会丢失,特别是在转换之前的发现和分类的相对较短的时间帧期间。在此期间,文件系统不太可能显著改变,并因此可进行发现和分类的多次迭代,而记录分类表120不会显著改变。模糊解析块还可以包含与其他分类方法相关的自动化。
未知解析块122使用人来产生新的分类130,用于安装之前在磁盘分类表300中没有包括的存储区驱动器。新的分类130被反馈回磁盘分类块116,使得磁盘分类表300可以被更新以包括新的分类130。同样,一旦完成,由个人执行的昂贵搜索/步骤在大多自动的存储区发现和分类方法102中不会丢失。
应当注意,如下所述的SQL查询内的union语句结合各子查询-′NAS_FS_SORT′asMETHOD 202,′FS_DevFile_LVM_Disk_In′as METHOD 204,′FS_DevFile_LVM_Disk_Out′asMETHOD 206,′FS_DevFile_Disk′as METHOD 208,以及[e]′FS_disk′as METHOD 210-生成的分类记录一起生成存储区分类表10,因此完成在块128的主机至存储区表形成步骤。
参见图3,示意性示出根据一个实施例的存储区数据模型200。图2的NAS存储区分类块114通过文件系统名称排他性地识别NAS存储区。用于将存储区分类为NAS的逻辑位于子查询中,记为位于SQL查询内的′NAS_FS_SORT′as METHOD语句202。从挂载点212到NAS的路径记为在存储数据模型200上的“NAS_FS_SORT”as METHOD 202。
从文件系统挂载点212到一个磁盘或多个磁盘230(例如,在Linux上)或232(例如,在AIX或WindowsTM上)的链路由框穿越到框形成,对象(在对象表110中表示)沿着框之间的流程线(表示在依赖性表112中)。对象可包括设备文件214、216、224、226和228,卷组218,逻辑卷220和222,等等。换句话说,通过从文件系统挂载点212,经过任何中间文件系统对象214、216、218、220、222、224、226和228,到磁盘对象230、232跟踪表来形成链路。一旦从该过程获得磁盘230、232,该磁盘就通过安装表106链接到已安装存储驱动器(其产生该磁盘),然后,使用与磁盘关联的已安装存储驱动器302,可以在磁盘分类表300中查找存储区分类(图4)。存储区分类304因此被链接回挂载点212。在本实施例中,用于根据磁盘分类块分类存储区的示例性代码位于下方SQL查询部分中的子查询中:′FS_DevFile_LVM_Disk_In′asMETHOD 204,′FS_DevFile_LVM_Disk_Out′as METHOD 206,′FS_DevFile_Disk′as METHOD208,′FS_Disk′as METHOD 210语句。
参见图4,描绘由一个实施例使用的示例性“磁盘分类表”300,其按照本发明原理链接硬件/软件驱动器到存储区分类。图4的表格示出已安装存储驱动器列302和分类列304。磁盘分类表300在图2的方法100中描绘。还应当注意:在图5中描绘自动磁盘分类,其与方法200(图3)和磁盘分类表300(图4)的不同之处在于它探测用于分类的物理磁盘对象本身。物理磁盘是指磁盘的操作系统概念,与逻辑卷相反。探测在这种情况下指查询操作系统对象,或者关于该对象查询操作系统。在实体对象意义上的物理磁盘可以驻留也可以不驻留在其中执行查询的同一服务器中。这实际是按照本发明原理的希望的分类的一部分。
参见图5,物理磁盘分类方法400引入表征物理磁盘的具体步骤。该物理磁盘分类方法400从代表物理磁盘本身的配置和文件提取磁盘分类。它产生物理磁盘分类表450,稍后将由图7的存储区分类系统/方法600用于产生存储区分类表610。方法600采用某些与已针对图2的存储区分类系统/方法100(其生成存储区分类表10)描述的过程类似的过程。
在下文中更详细地描述的发现处理收集并编目必要的属性,以回答在物理磁盘分类方法400中提出的一些问题。图6示出当运行物理磁盘分类方法400时所使用(在每个磁盘的对象/记录的基础上)的属性及其说明的表500。
物理磁盘分类方法400开始于块402的物理磁盘层,其中根据在块406是否需要处理更多记录的检查,在块404获得第一个或下一个物理磁盘记录。块402对于每个记录重复并当没有发现更多记录时在块408停止。在这种方法中,每个物理磁盘记录经过一系列的问题:块410中的磁盘可移除?块414中的是主机系统的集成驱动电子设备(IDE)的磁盘部分?块418中的SCSI磁盘具有世界范围ID(WWID)?问题流由肯定-“是”-响应中断。如果为“是”,记录的分类响应于在块410的问题在块412被写为“可移除”,响应于在块414的问题在块416被写为“Ldisk”,响应于块418的问题在块420被写为“SAN”。如果对块410、414和418的问题的响应都是“否”,则该记录的分类在块422中写为“Ldisk”。一旦记录了物理磁盘分类,该方法就重复,直到如由块402控制的,没有更多记录将被处理。
应当理解,可以使用该方法进行更多限制数量的磁盘分类,包括例如,[2]SAN、[3]Ldisk和[5]可移除。还应当理解,替代或除了那些描述的,可以采用其他类似的命令和分类。在此特定实施例中,在仅采用块410、414和418的问题时,可以不进行硬件RAID的分类(在图2中记为“[4]RAID记录”)。该示例示出:备选分类方法(如方法100)可相对于方法400改进分类的质量。然而,可以构想,使用加入到流程的另外问题,物理磁盘分类方法400可以扩展以提供更精确的分类,如“RAID”等。
表500概括针对物理磁盘分类方法400定义的属性。在该表500中,特定属性502被命名,在说明中被描述并被分配给数据库表和列名506(即,图2的“对象表”110)。
需要其他发现过程以填充在表500中描述的属性。发现的某些方面已经在发现步骤102和存储区数据模型200的描述中讨论。下文描述的物理磁盘发现处理提供回答在块410、414和418中的问题的信息。发现过程收集在分类每个属性中利用的原始信息。中间解析步骤(代码未包含在图5中)有助于将物理磁盘分类为在具体属性列502中标注的如图6所示的“可移除”、下一个“IDE”、最后“WWID”。后续段落将描述收集原始信息的命令。
对于WindowsTM操作系统,可从“Windows管理规范”(WMI)发现“可移除”(在块410的问题)和“IDE”存储(在块414的问题)的原始信息,WMI是一种接口,通过该接口,可以经由公共信息模型标准交换硬件(即,软件驱动器)管理信息。这可以通过使用Windows管理规范查询语言(WQL)查询“select*from win32_system”更具体地执行。对于Linux操作系统,可以通过链接从FDISK、“proc/usb”和“proc/ide”收集的信息来解析“可移除”和“IDE”存储区。使用命令“less/proc/usb/usb”和“less/proc/ide/ide”,可获取“可移除”和“IDE”的描述。对于其它操作系统可以构想相似的发现过程。还应当理解,取代或除了那些描述的,可以使用其他类似的命令。
如果SCSI磁盘具有世界范围ID(WWID),则它是通过SAN生成。因此,根据图5的方框418,分类是SAN。存在或缺少世界WWID可以通过查询来检查。这仅仅是例示。可使用用于发现WWID或用于确定缺乏WWID的其它方法。
参见图7,描绘其他存储区分类方法600,其运行在物理磁盘的抽象层。图6描绘存储区分类方法600。如前所述,图7中具有火柴人的块可涉及某种程度的人为干预,但也可以完全自动。该方法600包括:在框602的发现步骤、物理磁盘分类方法步骤400(在图5描述),以及另一磁盘到存储区分类步骤636。更详细地,磁盘到存储区分类步骤636将磁盘对象-现在分类和存储在物理磁盘分类表450中-链接回文件系统挂载点(或反之亦然)。
一旦所有的物理磁盘记录已在块400分类,磁盘记录和它们相应的分类可以被链接到挂载点,以通过随后块636产生存储区分类,用于磁盘至存储区分类步骤。这可以相对于在第一分类法100中所述的过程的一部分正向或反向进行。该过程主要涉及依赖性表112和对象表110。具体而言(对于反向示例),现在已分类的物理磁盘到挂载点的链接从存储区数据模型200(图3)的磁盘230、232经过中间框214、214、218、224、226、228进行到挂载点212。中间遍历可涉及对象-表示中间文件系统对象的框214、214、218、224、226、228,诸如设备文件214、216、224、226以及228和逻辑卷220、222和依赖性(连接图3中框的链路或箭头)。对象和依赖性通过分别查询对象表110和依赖性表112获得。一旦已处理所有的记录,产生用于一个或多个计算机或整个IT中心的存储区分类表610。存储区分类表610与图1的表10类似或相同,其中呈现文件系统在服务器/主机上的分类。
磁盘分类表之间的主要差异在于:物理磁盘分类表500包含(在IT系统中所有发现的物理磁盘的)磁盘记录与它们对应的存储区分类,而基于驱动器的磁盘分类表300可包括已安装的存储驱动器和它们相应的存储区分类。而且,磁盘分类表300可以采用人来指定存储区分类给所有已知的软件驱动器(其管理特定类型的硬件)。
可以通过图8中描绘的方法700(协调存储区分类的方法)协调备选存储区分类。结合存储区分类方法100和600可以改进在存储区记录上呈现的每个分类的准确性并可放大分类跨所有存储区记录的覆盖范围。
参见图8,示出了根据本发明的原理的协调存储区分类700的方法。方法700协调存储区分类,始于至少两个不同的存储区分类方法(例如,方法100(表10)和方法600(表610)。第一方法100由图2表示以及第二方法由图7表示。在块712中,方法700协调不同的分类方法(100和600)之间的存储区分类,并如果两个(或更多)分类方法产生不同的结果则在块726产生不一致标志。这种不一致标志可用于提醒迁移工程师或系统管理员一个或多个方法中的自动化决策逻辑做出不正确分类的可能性。警觉到该问题,迁移工程师或系统管理员可以通过更详细地检查实际硬件和硬件状态而选择解决不一致。
开始于存储区分类表10和610,块702评估一个或两个表的所有记录,直到完成。在框704,从一个或两个表(10和610)选择一个或多个类似的记录,其中,在两者存在相似记录的公共和预期情况下,需要两个记录具有相同的主机名和挂载点。在块706,执行是否评估了所有记录的检查。如果已经全部被处理,则程序进行到方框708并终止。否则,在块711确定是否只有一个分类结果存在(例如,1)只有一条具有特定主机名和挂载点的记录存在,或2)只有一个类似记录具有分类)。
如果在块711只有一个分类结果存在,状态标志(例如,1个结果)被写入到在协调后的存储区分类表710(其中存储协调后的结果)中的比较状态表724。在块720,用于主机名和挂载点的该唯一现有分类736被写到协调后的存储区分类表710。
如果在块711中对于主机名和挂载点发现超过一个的结果,在块712确定分类是否等价。如果分类是等价的,在块714中将等价标志写入到比较状态表724。在块716,将主机名和挂载点的分类734写到协调后的存储区分类表710。
如果在块712中分类不等价,在块728中,可从优选分类选择表730选择优选分类732。其后,优选分类被写入到协调后的存储区分类表710中的比较状态表724。块728提供了可确定是否存在不一致或可以解决以提供等效结果的逻辑。备选地,在方框728可使用其它逻辑来分类记录(例如,当可用时,诸如“总是选择图7的优选分类”之类的规则)。其他规则也可以适用。例如,因为RAID分类可能对于方法100是唯一的(如前面已说明的那样),从分类方法600产生的类似记录可以被分类为Ldisk。在这种情况下,两个相似的记录已被正确分类。但是,RAID分类比Ldisk分类更精确。因此,在块728的其它逻辑和规则有机会解决在分类中的差异之后,比较状态724需要被写入到协调后的存储区分类表710。不一致或等价标志的写入(作为比较状态724)分别取决于分类误差是否由一种方法做出,或更精确的分类是否通过一种方法做出。
不仅至少两个示例性方法之间的分类是不同的(由于表中的错误),而且硬件的覆盖范围也可在它们之间变化。这些可由在发现中所实施的软件(例如,操作系统和级别、文件系统)和硬件覆盖程度来初步确定。只有一种分类方法可例如产生结果。在图8中有三个解析流程。所述方法逻辑通过导致分类732、734和736的三个流程之一,控制每个存储区记录的分类。每个记录的分类被写入到协调后的存储区分类表710。
分类置信度从分类734减小到分类736减小到分类732(对于分类732,例外之处是更精确,因为分类通过一种方法进行)。在第一分类734中,分类方法指示相同的分类结果,并因此分类734的结果几乎肯定是正确的。在第二分类736中,只有一个分类结果是可用的,所以它被写入。在第三分类732中,指示不一致,并且因此必须进行最佳选择。在第三分类732中,可以根据块728中的“其它逻辑”选择缺省方法。例如,有时可优先于第一分类方法而选择第二分类方法600(图7),因为在执行过程中,至少就分类物理磁盘而言,它可比第一分类方法涉及较少的人为干预。根据优选的分类选择表730,也可希望保留方法100的存储区分类,因为可以通过这样的方法实现像RAID的更具体的分类。
优选的分类选择表730可包含在执行方法600期间获取的某些存储区分类以及在执行方法600中获取的某些存储区分类。表730可最初由专家形成并后来通过专家经验修改。进一步设想:存储区分类选择可取决于与每条记录(主机和挂载点对)关联的附加属性。该方法可以在整个表产生附加产物。进一步设想:两种以上的方法(例如,多个方法)可以集成到图8的决策逻辑,而实质上不改变根据本发明原理的决策流程。
实施图2的示例性存储区分类方法100的如下结构化查询语言(SQL)查询现在将示例性地给出作为示例。下面呈现SQL代码,用于记载图2的方法100的一些块的查询。SQL代码被包括在本文中仅作为示例性实施。
应当理解,使用任意命名约定(将被理解为出于说明目的)编写该查询。因此,图2的目录表104在查询中被引用为“inventory_gal_unix”,图2的安装表106在查询中被引用为“middleware_install_gal”,图2的服务表108在查询中被引用为“middleware_service_gal”,图2的对象表110在查询中被引用为“middleware_object_gal”,以及图2的依赖性表112在查询中被引用为“middleware_dependencies_gal”。同样,每个表格的前缀“dbname”指示数据库名。
以目前的形式,该SQL查询报告属性,除了在表10中发布并因此在本实施例中说明的那些属性。查询中的所有属性是:[a]用于分类存储区的方法(“METHOD”);[b]在表10指出的主机名(“client_host_name”);[c]主机操作系统(“client_os”);[d]发现状态(“discovery_status_client”);[e]如表10指出的挂载点(“mountpoint”),[f]第一属性(“FS.fyi_mw_subclass”);[g]文件系统(“filesys_type”);[h]以GB计的文件系统大小(“size_GB”);[i]使用的文件系统的百分比(“FS.pct_used”);[j]所有者(“FS.owner”);[k]所有者组(“FS.owner_group”);[l]权限(“FS.permission”);[m]第二个属性(“FS.name”);[n]表300中表示的已安装存储驱动器(“install.mw_distribution_name”);[o]在表10和300中指出的分类(“CLASSIFICATION”)。
如前所述,SQL“union”语句将各种子查询(通过对象表110解析NAS存储区或跟踪路径)绑定在一起,如图3的存储数据模型200所示。“where”语句主要用于将表的操作限于仅包括存储相关的对象。
此后,已包括SQL实施例以至少部分地记录实现上述一些方法的逻辑/代码。注意:出现在查询中的函数“sanitize_size_GB”规范化文件系统容量,以千兆字节为单位报告文件系统容量。
参考图9,将磁盘分类方法400和存储区分类方法100紧密集成改进了在存储记录上呈现的每个分类的准确性(例如,文件系统的主机名称和挂载点),并且放大跨所有存储记录的分类的覆盖范围。图9描述了示例性的紧密集成的方法800。方法800的描述将在以后使用示例性SQL代码扩充。有关该方法800的一个重要观察在于,在块802中,在磁盘分类表步骤中的查找分类是不被发现覆盖的分类的捕获步骤,需要该发现以响应在块410、414和418中提出的问题。换句话说,如果发现代理或过程在收集可移除、IDE和WWID状态(上面参考图5描述)中没有成功,这是因为它们在发现过程中未运行或由于合适的发现代理对于特定的操作系统不存在(未设计),则在框802中的查找步骤可使用例如表300分类存储区。
在块836中的磁盘存储区链接将不是NAS的文件系统链接到磁盘对象(即,物理磁盘)。从文件系统挂载点到磁盘的链接通过从框遍历到框进行,所述对象(在对象表110中表示)沿流程线(在依赖性表112中表示),这两者都表示在图3的存储区数据模型200中。换句话说,通过从文件系统挂载点经过任何中间文件系统对象到磁盘对象追踪表而进行链接。
由于在块836获取磁盘,在块802中的查找步骤首先链接到创建它的安装,例如,存储驱动器。然后,已安装存储驱动器302可以查找磁盘分类表300以获得存储区分类304。因此,存储区分类可链接回挂载点。从块802产生的分类可以包括[2]SAN、[3]Ldisk、[4]RAID、[5]可移除、[6]模糊或[7]未知。
在块824中的存储区表形成步骤将由块114、412、416、420和802写入的结果合并到存储区分类表10。因此,接下来将描述用于实现图9的方法800的SQL查询的一部分。
需要注意:在此保留如上所述执行图2的示例性存储区分类方法100的SQL查询的先前约定。这部分内容包括SQL代码:其记录表遍历,覆盖示例性“挂载点”对象到图3的“disk”对象路径,FS_DevFile_LVM_Disk_In语句204。用于实现图9的方法的完整SQL代码通过改变每个其他“挂载点”到“磁盘”路径进行设计,如将关于FS_DevFile_LVM_Disk_In路径204进行描述的那样。
SQL“union”语句将主要通过SQL“where”子句施加额外约束的不同子查询绑定在一起。正如前面所描述的,“where”约束用于将表的操作限于仅包括存储相关的对象。“where”语句提供进一步的限制,其将路径限于导向到特定分类(即,可移除或磁盘或SAN)或表查找(例如,表300)。后缀已被添加以指定每个METHOD的目的(实际上,在这种情况下,“METHOD”的列标题是子查询)。新的方法包括:
1)FS_DevFile_LVM_Disk_in_removable->分类为可移除;
2)FS_DevFile_LVM_Disk_in_IDE->分类为磁盘;
3)FS_DevFile_LVM_Disk_in_WWID->分类为SAN;
4)FS_DevFile_LVM_Disk_in_disk_Classification_Table->在表300中查找磁盘分类。
SQL以这样的方式编写:对每个可能的路径测试每个单独的记录。额外的SQL“where”限制如下:1)FS_DevFileJL VM_Disk_in_removable是DISK.description like′%removable%′。对于2)FS_DevFile_LVM_Disk_In_IDE的其他SQL“where”限制是a)DISK.description not like′%removable%′和b)DISK.description like′%IDE%′。对于3)FS_DevFile_LVM_Disk_In_WWID的其他SQL限制是a)DISK.description not like′%removable%′和b)DISK.description not like′%IDE%′和c)DISK.descriptionlike′%WWID%′。对于4)FS_DevFile_LVM_Disk_In_Disk_Classification_Table的其他SQL限制是a)DISK.description not like′%removable%′和b)DISK.description notlike′%IDE%′和c)DISK.description not like′%WWID%′。
应当理解,字符串′%removable%′、′%IDE%′和′%WWID%′实际上不是在主机系统上运行的发现脚本的主要输出,而是由中间解析过程附加的项(其可被认为是发现引擎或分类器的一部分),其统一各种操作系统的各种字段和文件中发现的主要输出。如根据表500(图6)讨论的那样,针对该分类处理收集的主要输出通常对于每个操作系统是唯一的。
FS_DevFile_LVM_Disk_In路径204的SQL查询如下:
参考图10,系统900被示例性地描述以实施本发明的原理。但是应当理解,本原理也可以执行于分布式系统或网络,并且可以包括一个或多个个体的输入。系统900以基本的形式示出,并且可以被包括在较大的系统或网络中,可以在云计算节点中使用,可以用作服务器或一组服务器,等等。这些实施例是示例性的合适应用,并非旨在暗示在此描述的实施例的范围或功能的任何限制。无论如何,系统900能够被实施和/或执行本文所阐述的任何功能。
系统900可以用于众多其它通用或专用计算系统环境或配置。适合于系统900的公知计算系统、环境和/或配置的示例可以包括(但不限于)个人计算机系统、服务器计算机系统、瘦客户机、胖客户端、手持式或膝上型设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机系统、大型计算机系统,数据中心和包括任何上述系统或设备的分布式云计算环境等。
系统900可以在由计算机系统执行的计算机系统可执行指令(诸如,程序模块)的一般上下文中描述。通常,程序模块可以包括例程、程序、对象、组件、逻辑、数据结构等等,它们执行特定任务或实现特定的抽象数据类型。系统900可以在分布式云计算或其它网络环境中执行,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境或网络中,程序模块可以位于本地和包括存储器存储设备的远程计算机系统存储介质中。
系统900以通用计算设备的形式示出。计算机系统900的组件可以包括(但不限于)一个或多个处理器或处理单元912、系统存储器914和耦合包括系统存储器914和处理单元912的各种系统组件的总线916。
总线916表示任意多种类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用任何各种总线体系结构的处理器或局部总线。通过示例的方式(而非限制),该体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、外围组件互连(PCI)总线等。
计算机系统900可以包括各种计算机系统可读介质。该介质可以是通过计算机系统900访问的任何可用的介质,并且它包括易失性和非易失性介质,可移动和不可移动介质。
系统存储器914可以包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)918和/或高速缓冲存储器920。计算机系统900还可以包括其他可移动/不可移动、易失性/非易失性计算机系统的存储介质。仅仅通过示例的方式,系统存储器914可以提供用于读取和写入不可移动、非易失性磁介质(例如,硬盘驱动器)。虽然未示出,可以提供用于读取和写入可移动、非易失性磁盘(例如,“软盘”)磁盘驱动器,以及用于读出或写入可移动,非易失性光盘的光盘驱动器,诸如CD-ROM,DVD-ROM或其它光学介质。在这样的实例中,每个驱动器可以通过一个或多个数据介质接口连接到总线916。如将要进一步描述的以及下面描述的,存储器914可以包括具有被配置成根据本发明原理的执行实施例的功能的一组程序模块(例如,至少一个)的至少一个程序产品。
分类系统模块930可被存储在存储器914中。分类系统模块930可以包括例如操作系统、一个或多个应用程序、其它程序模块和程序数据。该模块930可以包括分析工具或用于非易失性或永久性存储器存储的分类和分配存储器的各种表的工具,如参照图1-9进行说明。模块930执行如本文所述的实施例的功能和/或方法。
计算机系统900还可以与一个或多个输入/输出设备进行通信926,诸如键盘,指示设备、显示器924等;,使用户能够与计算机系统900进行交互的一个或多个设备;和/或使计算机系统900与一个或多个其他计算设备进行通信的任何设备(例如,网络适配器或卡928、调制解调器等)。计算机系统900可以通过网络适配器928与一个或多个外部设备或网络922进行通信,诸如局域网(LAN)、广域网(WAN)、云和/或公共网络(例如,互联网)。网络适配器928经由总线916与计算机系统的其它组件进行通信。
应当理解,虽然未示出,也可以结合计算机系统900采用其它的硬件和/或软件模块。示例包括(但不限于):微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。在一个特别有用的实施例中,系统900采用或用于存储区分类的数据中心环境中。
在一个实施例中,模块930经配置以分析一个或多个数据中心950、952上的存储系统或其他计算机系统。一个或多个计算机系统、服务器、服务器集合、网络或数据中心950、952可以包括可以按本发明原理进行分类的多个不同的存储器硬件配置。数据中心950和952可以是根据本原理的发现和分类方法的目标。但是应当理解,也可以构想其它存储器存储系统、环境等。
在一个特别有用的实施例中,程序模块930包括发现引擎932,其经配置以发现一个或多个文件在一个或多个计算机系统中(例如,在数据中心)的身份和位置。“文件”是通用术语,是指并包括文件系统、文件目录(例如,UNIX实现目录为文件)、挂载点,对象存储等。发现引擎932遍历存储器存储区系统,以识别具有存储内容或文件的存储设备的属性。
发现引擎932逻辑地发现文件(例如,挂载点),然后跟随链接到物理存储(例如,通过逻辑卷、本地磁盘驱动器,参见图3)。这可以以逐文件的方式进行,直到所有的文件被读取。发现引擎932采用至少一个分类器934以将文件分类成分类并将分类与相应文件相关联。该分类可基于硬件或存储器类型、存储器的速度(例如,基于其上存储文件的位置),存储器的位置等。分类器可以包括不同的方法(例如,方法100、方法400等),每个方法至少产生被合并或组装成最佳分类结果的部分分类结果。分类结果可包括:当比较时被标记的多个分类方法之间的差异比较(以提供任何差异的指示(例如,不一致、等价、1个结果,等等))。
发现和分类这两个过程相互交织。例如,已在图10的同一系统900上一起示出发现引擎932和分类器(多个)934。其他系统可以在不同系统上具有发现引擎932和分类器(多个)934。发现引擎932可以运行在一个或多个系统上,所述系统的存储属性需要被发现然后被分类,而分类器(多个)934可以在分析系统上运行,其中已收集来自一个或多个系统的发现结果。
已经描述了用于存储区分类的系统和方法的优选实施例(其旨在是示例性的而不是限制性的),应该注意,本领域技术人员可以根据上述教导做出修改和变化。因此,应当理解,可以在公开的具体实施例中做出改变,其在由所附权利要求书概述的本发明的范围之内。已经以专利法要求的细节和具体程度描述了本发明的各方面,在所附权利要求书中提出了所要求和希望保护的事物。

Claims (22)

1.一种在一个或多个计算机系统上执行的分类系统(900),包括:
处理器(912);
耦合到所述处理器的存储器(914),所述存储器包括:
发现引擎(932),其经配置以遍历非易失性存储器存储区,以通过跟踪从文件系统挂载点经过文件系统对象并到磁盘对象的一个或多个文件,发现所述一个或多个文件在一个或多个计算机存储系统中的身份和位置;以及
至少一个分类器(934),其经配置以将所述一个或多个文件分类成分类类别,所述一个或多个文件被与所述分类类别关联并存储在至少一个数据结构中,
其中,所述分类类别是从包括模糊类和未知类的多个分类类别中选择的;且
其中,使用已安装存储驱动器方法来分类所述一个或多个文件。
2.如权利要求1所述的系统,其中,所述分类类别包括其上存储所述一个或多个文件的存储器的类型以及所述一个或多个文件的位置。
3.如权利要求1所述的系统,其中,所述分类类别包括如下的至少一个:网络附加存储(NAS)、存储区域网络(SAN)、磁盘和可移除。
4.如权利要求3所述的系统,其中,使用独立磁盘冗余阵列(RAID)分类,将所述磁盘的分类类别进一步分类成保护和不受保护。
5.如权利要求1所述的系统,其中,所述模糊类指示的是通过已安装存储驱动器确定的、不能被解析到该多个分类类别中除未知类以外的其余分类类别,所述未知类指的是对于已安装存储驱动器发现的磁盘来说无分类存在。
6.如权利要求1所述的系统,其中,所述至少一个分类器包括对象表和依赖性表中的一个或多个以分析所述一个或多个文件。
7.如权利要求1所述的系统,其中,所述至少一个数据结构包括随每个已发现文件系统记录有主机或服务器名称、挂载点和所述分类类别的存储区分类。
8.一种用于分类存储区的方法(100),包括:
发现(102)一个或多个文件在一个或多个计算机系统中的身份和位置;
通过跟踪从文件系统挂载点经过文件系统对象到磁盘对象的所述一个或多个文件而解析存储区分类的类型,来将所述一个或多个文件分类(136)成多个分类类别;以及
在存储介质上存储的至少一个数据结构中,将所述一个或多个文件与所述分类类别相关联(128),
其中,所述分类类别是从包括模糊类和未知类的多个分类类别中选择的;且
其中,使用已安装存储驱动器方法来分类所述一个或多个文件。
9.如权利要求8所述的方法,其中,所述分类类别包括其上存储所述一个或多个文件的存储器的类型以及所述一个或多个文件的位置。
10.如权利要求8所述的方法,其中,所述分类类别包括如下的至少一个:网络附加存储(NAS)、存储区域网络(SAN)、磁盘和可移除。
11.如权利要求10所述的方法,其中,所述模糊类指示的是通过已安装存储驱动器确定的、不能被解析到该多个分类类别中除未知类以外的其余分类类别,所述未知类指的是对于已安装存储驱动器发现的磁盘来说无分类存在。
12.如权利要求10所述的方法,进一步包括:使用包括对象表和依赖性表的一个或多个表解析所述一个或多个文件的身份和位置,以提供用于分类分析的数据。
13.如权利要求10所述的方法,其中,分类包括使用已安装存储驱动器分类方法和物理磁盘分类方法两者进行分类,并进一步包括:
比较(712)由所述已安装存储驱动器分类方法和所述物理磁盘分类方法两者生成的相似记录;和
使用标志指示所述记录之间的相似性(714)或差异(726)。
14.如权利要求13所述的方法,其中,如果没有对应记录存在,所述标志可包括等价、不一致和单个结果中的一个。
15.如权利要求8所述的方法,其中,关联所述一个或多个文件包括:将具有每个已发现文件系统或物理磁盘以及具有主机或服务器名称、挂载点和所述分类类别的存储区分类存储在存储区分类表中。
16.一种包括用于分类存储区的计算机可读程序的计算机可读存储介质,其中,当在计算机上执行时所述计算机可读程序使所述计算机执行以下步骤:
发现(102)一个或多个文件在一个或多个计算机系统中的身份和位置;
通过跟踪从文件系统挂载点经过文件系统对象到磁盘对象的所述一个或多个文件而解析存储区分类的类型,来将所述一个或多个文件分类(136)成多个分类类别;以及
在存储介质上存储的至少一个数据结构中,将所述一个或多个文件与所述分类类别相关联(128),
其中,所述分类类别是从包括模糊类和未知类的多个分类类别中选择的;且
其中,使用已安装存储驱动器方法来分类所述一个或多个文件。
17.如权利要求16所述的计算机可读存储介质,其中,所述分类类别包括其上存储所述一个或多个文件的存储器的类型以及所述一个或多个文件的位置。
18.如权利要求16所述的计算机可读存储介质,其中,所述分类类别包括如下的至少一个:网络附加存储(NAS)、存储区域网络(SAN)、磁盘和可移除。
19.如权利要求16所述的计算机可读存储介质,其中,所述模糊类指示的是通过已安装存储驱动器确定的、不能被解析到该多个分类类别中除未知类以外的其余分类类别,所述未知类指的是对于已安装存储驱动器发现的磁盘来说无分类存在。
20.如权利要求16所述的计算机可读存储介质,进一步包括:使用包括对象表和依赖性表的一个或多个表解析所述一个或多个文件的身份和位置,以提供用于分类分析的数据。
21.如权利要求16所述的计算机可读存储介质,其中分类包括:使用已安装存储驱动器分类方法和物理磁盘分类方法分类所述一个或多个文件,所述计算机可读存储介质进一步包括如下步骤:
比较(712)由所述已安装存储驱动器方法和所述物理磁盘分类方法两者生成的相似记录;和
使用标志指示所述记录之间的相似性(714)或差异(726),其中,如果没有对应记录存在,所述标志可包括等价、不一致和单个结果中的一个。
22.如权利要求16所述的计算机可读存储介质,其中,关联所述一个或多个文件包括:将具有每个已发现文件系统或物理磁盘以及具有主机或服务器名称、挂载点和所述分类类别的存储区分类存储在存储区分类表中。
CN201380024978.5A 2012-05-10 2013-05-10 存储分类的系统和方法 Active CN104508662B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/468,449 US9037587B2 (en) 2012-05-10 2012-05-10 System and method for the classification of storage
US13/468,449 2012-05-10
PCT/US2013/040568 WO2013170162A2 (en) 2012-05-10 2013-05-10 System and method for the classification of storage

Publications (2)

Publication Number Publication Date
CN104508662A CN104508662A (zh) 2015-04-08
CN104508662B true CN104508662B (zh) 2017-12-29

Family

ID=49549468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380024978.5A Active CN104508662B (zh) 2012-05-10 2013-05-10 存储分类的系统和方法

Country Status (4)

Country Link
US (2) US9037587B2 (zh)
CN (1) CN104508662B (zh)
CA (1) CA2871654C (zh)
WO (1) WO2013170162A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169348B2 (en) * 2012-08-23 2019-01-01 Red Hat, Inc. Using a file path to determine file locality for applications
US9280683B1 (en) * 2014-09-22 2016-03-08 International Business Machines Corporation Multi-service cloud storage decision optimization process
CN105677703A (zh) * 2015-12-25 2016-06-15 曙光云计算技术有限公司 Nas文件系统及其访问方法和装置
US10791195B2 (en) * 2016-06-27 2020-09-29 Miaobo Chen Common device interface framework for IoT/smart device application
CN108345626A (zh) * 2017-11-09 2018-07-31 孔朝晖 一种云系统的跨目录的数据分类资料集合
US11150992B2 (en) * 2018-08-21 2021-10-19 International Business Machines Corporation File entity relationship management and source product backup
CN109542910B (zh) * 2018-12-03 2022-10-28 中国电波传播研究所(中国电子科技集团公司第二十二研究所) 一种海量海杂波数据分类存储方法
US11089115B2 (en) * 2019-12-30 2021-08-10 Servicenow, Inc. Discovery of cloud-based infrastructure and resources
CN111666262B (zh) * 2020-05-28 2021-06-22 重庆中联信息产业有限责任公司 海量医学影像在网络附属存储nas状态下特征点提取工作方法
CN112559742A (zh) * 2020-12-08 2021-03-26 北京伟杰东博信息科技有限公司 一种分类存储方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378158A (zh) * 2001-03-29 2002-11-06 国际商业机器公司 应用于操作系统的文件分类管理系统及方法
CN102214213A (zh) * 2011-05-31 2011-10-12 中国科学院计算技术研究所 一种采用决策树的数据分类方法和系统
CN102414677A (zh) * 2009-04-22 2012-04-11 微软公司 包括自动分类规则的数据分类流水线

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272644B1 (en) 2000-09-29 2007-09-18 Intel Corporation Internet based network topology discovery
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
JP4322031B2 (ja) 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP4920898B2 (ja) 2005-03-24 2012-04-18 株式会社日立製作所 計算機システム、データ管理方法およびプログラム
KR100704037B1 (ko) 2005-04-15 2007-04-04 삼성전자주식회사 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법
CN1855094A (zh) 2005-04-28 2006-11-01 国际商业机器公司 对用户电子文件进行处理的方法和装置
US20070185926A1 (en) 2005-11-28 2007-08-09 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
CN100565523C (zh) 2007-04-05 2009-12-02 中国科学院自动化研究所 一种基于多分类器融合的敏感网页过滤方法及系统
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
JP5183300B2 (ja) 2008-05-28 2013-04-17 株式会社日立製作所 ファイルシステムの移行方法、移行計算機及びプログラム
US8255972B2 (en) 2008-06-06 2012-08-28 International Business Machines Corporation Method to automatically map business function level policies to it management policies
US9176978B2 (en) 2009-02-05 2015-11-03 Roderick B. Wideman Classifying data for deduplication and storage
US8261018B2 (en) 2009-05-25 2012-09-04 Hewlett-Packard Development Company, L.P. Managing data storage systems
US9778953B2 (en) 2009-06-16 2017-10-03 International Business Machines Corporation Process and system for comprehensive IT discovery without credentials

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378158A (zh) * 2001-03-29 2002-11-06 国际商业机器公司 应用于操作系统的文件分类管理系统及方法
CN102414677A (zh) * 2009-04-22 2012-04-11 微软公司 包括自动分类规则的数据分类流水线
CN102214213A (zh) * 2011-05-31 2011-10-12 中国科学院计算技术研究所 一种采用决策树的数据分类方法和系统

Also Published As

Publication number Publication date
CA2871654A1 (en) 2013-11-14
CA2871654C (en) 2020-09-22
WO2013170162A2 (en) 2013-11-14
US9262507B2 (en) 2016-02-16
US20130304737A1 (en) 2013-11-14
WO2013170162A3 (en) 2014-02-27
US20150242489A1 (en) 2015-08-27
US9037587B2 (en) 2015-05-19
CN104508662A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
CN104508662B (zh) 存储分类的系统和方法
CA2953969C (en) Interactive interfaces for machine learning model evaluations
US20220261413A1 (en) Using specified performance attributes to configure machine learning pipepline stages for an etl job
AU2020385264B2 (en) Fusing multimodal data using recurrent neural networks
CN109522312B (zh) 一种数据处理方法、装置、服务器和存储介质
US10740396B2 (en) Representing enterprise data in a knowledge graph
US20140351241A1 (en) Identifying and invoking applications based on data in a knowledge graph
US10891314B2 (en) Detection and creation of appropriate row concept during automated model generation
US11803510B2 (en) Labeling software applications running on nodes of a data center
US10679230B2 (en) Associative memory-based project management system
CN103226748B (zh) 基于关联存储器的项目管理系统
CN110851488A (zh) 基于多源多模态数据融合分析处理方法及平台
CN116383193A (zh) 一种数据管理方法、装置、电子设备和存储介质
US10719536B2 (en) Efficiently finding potential duplicate values in data
JP7428599B2 (ja) システム構築支援装置およびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant