著录项信息
专利名称 | 一种数据分级存储方法及系统 |
申请号 | CN201310655383.1 | 申请日期 | 2013-12-06 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-03-12 | 公开/公告号 | CN103631931A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;F;1;2;/;0;8;0;2查看分类表>
|
申请人 | 浪潮(北京)电子信息产业有限公司 | 申请人地址 | 北京市海淀区上地信息路2号2-1号C栋1层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浪潮(北京)电子信息产业有限公司 | 当前权利人 | 浪潮(北京)电子信息产业有限公司 |
发明人 | 王恩东;施光源;张宇;梁志诚 |
代理机构 | 北京安信方达知识产权代理有限公司 | 代理人 | 王丹;栗若木 |
摘要
本发明提供一种数据分级存储方法。应用在数据智能管理领域,包括以下步骤:策略分析模块获取XML策略文件,其中,所述XML策略文件由管理界面接口根据设置的策略配置信息生成;策略分析模块对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果;分级存储管理模块获取所述分析结果并依据所述分析结果,调用子功能模块完成数据的处理。本发明能够与数据迁移等管理方法进行有效地整合,从而实现了多种文件特征的配置管理、分类度量以及迁移管理功能协作性,有效地提高了智能数据管理的易用性。
一种数据分级存储方法及系统\n技术领域\n[0001] 本发明涉及数据智能管理领域,尤其涉及一种数据分级存储方法及系统。\n背景技术\n[0002] 数据分级存储技术主要是根据数据访问特征在存储虚拟层对存储设备组成的存储资源进行合理组织,形成多级的存储层次(如根据设备传输速率分为高速、中速和慢速存储设备,并可根据存储需求扩展到更多设备级别),并对上层应用需求进行特征提取和聚类处理,基于数据访问的局部性原理,构建应用数据与存储空间映射的数据特征模型,将不经常访问的数据自动迁移到存储成本层次中较低的设备,释放出较高成本的存储空间给更频繁访问或更高优先级的数据,从而大大减少非重要性数据在一级本地磁盘所占用的空间,加快整个系统的存储性能,降低整个存储系统的拥有成本,进而获得更好的性价比。\n[0003] 在现有的分级存储方案中,所管理的数据对象主要包括两类,文件或者数据块。基于数据块的分级方案具备热点数据定位准确的特性,但是由于数据块位于系统底层,因此所包含的属性较少,导致不能够满足多种上层应用需求。基于文件级的分级方案主要是利用文件对象包括的多种数据特征属性,如文件大小,类型等进行数据特征的映射,将具有不同特征的数据进行分类管理,因此更加能够满足不同用户的需求。\n[0004] 但是,现有文件级的分级方案对于文件的多属性管理与度量操作缺乏架构层面的深入研究,特别是不能够与数据迁移等管理方法进行有效地整合,从而导致多种文件特征的配置管理、分类度量以及迁移管理功能缺乏协作性,甚至降低了智能数据管理的易用性。\n发明内容\n[0005] 本发明提供一种数据分级存储方法及系统,以解决上述问题。\n[0006] 本发明提供一种数据分级存储方法。上述方法包括以下步骤:\n[0007] 策略分析模块获取XML策略文件,其中,所述XML策略文件由管理界面接口根据设置的策略配置信息生成;所述策略配置信息包括文件的特征属性,所述特征属性包括:文件所属的用户、文件大小、文件类型、文件的访问时间、文件的修改时间、文件在一段时间内的传输字节平均数、文件在一段时间内的访问次数;\n[0008] 策略分析模块对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果;\n[0009] 分级存储管理模块获取所述分析结果并依据所述分析结果,调用子功能模块完成数据的处理。\n[0010] 本发明还提供一种数据分级存储系统,包括:管理界面接口、系统管理模块、策略分析模块、分级存储管理模块;管理界面接口通过系统管理模块分别与策略分析模块、分级存储管理模块相连;\n[0011] 策略分析模块,用于获取XML策略文件,其中,所述XML策略文件由管理界面接口根据设置的策略配置信息生成;所述策略配置信息包括文件的特征属性,所述特征属性包括:\n文件所属的用户、文件大小、文件类型、文件的访问时间、文件的修改时间、文件在一段时间内的传输字节平均数、文件在一段时间内的访问次数;还用于对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果;\n[0012] 分级存储管理模块,用于通过系统管理模块获取所述分析结果并依据所述分析结果,调用子功能模块完成数据的处理。\n[0013] 本发明提供了一种分级存储系统架构,能够与数据迁移等管理方法进行有效地整合,从而实现了多种文件特征的配置管理、分类度量以及迁移管理功能协作性,有效地提高了智能数据管理的易用性。\n附图说明\n[0014] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0015] 图1所示为本发明实施例1的分级存储系统架构示意图;\n[0016] 图2所示为本发明实施例2的文件系统支撑过程示意图;\n[0017] 图3所示为本发明实施例3的数据管理启动执行流程示意图;\n[0018] 图4所示为本发明实施例4的数据放置管理执行流程示意图;\n[0019] 图5所示为本发明实施例5的数据迁移管理执行流程示意图;\n[0020] 图6所示为本发明实施例6的数据度量管理执行流程示意图;\n[0021] 图7所示为本发明实施例7的设备拓扑信息获取流程示意图;\n[0022] 图8所示为本发明实施例8的分配策略分析流程示意图;\n[0023] 图9所示为本发明实施例9的迁移策略分析流程示意图。\n具体实施方式\n[0024] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。\n[0025] 本发明提供一种数据分级存储方法,包括以下步骤:\n[0026] 策略分析模块获取XML策略文件,其中,所述XML策略文件由管理界面接口根据设置的策略配置信息生成;策略配置信息包括文件的特征属性,所述特征属性包括:文件所属的用户、文件大小、文件类型、文件的访问时间、文件的修改时间、文件在一段时间内的传输字节平均数、文件在一段时间内的访问次数;\n[0027] 策略分析模块对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果;\n[0028] 分级存储管理模块获取所述分析结果并依据所述分析结果,调用子功能模块完成数据的处理。\n[0029] 其中,策略分析模块获取XML策略文件的过程为:\n[0030] 用户通过管理界面接口设置策略配置信息,生成XML策略文件并通过系统管理模块传递给策略分析模块。\n[0031] 其中,策略分析模块对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果的过程为:\n[0032] 策略分析模块分析从系统管理模块接收的XML策略文件,对从XML策略文件中提取的策略配置信息进行检查分析,获得分析结果。\n[0033] 其中,分级存储管理模块获取所述分析结果的过程为:\n[0034] 策略分析模块分析从系统管理模块接收的XML策略文件,对从XML策略文件中提取的策略配置信息进行检查分析,获得分析结果并将分析结果发送给系统管理模块,系统管理模块将分析结果传输给内核空间并通知分级存储管理模块进行分析结果的获取。\n[0035] 其中,分级存储管理模块获取所述分析结果的过程还可以为:分级存储管理模块直接接收策略分析模块对策略配置信息的检查分析结果并将分析结果传输给内核空间。\n[0036] 其中,所述子功能模块包括:数据放置模块、数据度量模块、数据迁移模块。\n[0037] 其中,所述分析结果是指:不同特征属性的文件被放置到对应设备层级的分级策略信息;其中,设备层级信息由存储资源管理模块提供。\n[0038] 图1所示为本发明实施例1的分级存储系统架构示意图,说明如下:\n[0039] 该架构中包括管理界面接口、存储资源管理模块、系统管理模块、策略分析模块以及分级存储管理模块五个关键组件。\n[0040] 管理界面接口提供一个图形用户接口或者是一个命令行接口以便设置策略配置信息,管理逻辑卷和存储设备级别设定;管理界面接口接受用户输入,并且生成XML策略文件,通过分析该文件所获得的关键信息将被存储在内核驱动中;XML提供了描述在指定位置所实施的文件、分级等信息的语言,还有一些XML策略文件与用户接口库进行交互,XML策略文件包括管理数据的策略,以及存储级别信息,这些XML生成的xml文件通过系统管理模块被传递给策略分析模块,然后分析这些信息传输给系统管理模块。(用户通过管理界面接口设置策略配置信息,生成XML策略文件并通过系统管理模块传递给策略分析模块)[0041] 策略分析模块分析从系统管理模块接收的XML策略文件,对从XML策略文件中提取的策略配置信息进行检查分析,获得分析结果并将分析结果发送给系统管理模块,系统管理模块将分析结果传输给内核空间并且通知分级存储管理模块进行分析结果的获取。\n[0042] 策略分析模块负责分析由管理员利用XML语言所定义的放置和迁移策略,同时,它也对XML策略文件中所定义的策略进行检查;策略分析模块将XML策略文件作为输入对象,然后通过分析被输入的XML策略文件来提取策略配置信息,例如放置以及迁移策略,分级设备拓扑结构信息等。然后,策略分析模块将根据分级设备拓扑信息来验证所定义的策略是否与其冲突,如果存在分析错误或者冲突,将进行错误报告;否则,将被分析的策略配置信息保存到相关的数据结构中,这些策略配置信息将会被系统其它模块所使用。\n[0043] 系统管理模块负责管理分级存储系统不同组件之间的通信,并且负责用户态与内核驱动的通信请求。系统管理模块接受策略分析模块检查、分析后的策略配置信息并将该策略配置信息传输给内核空间。系统管理模块维护分级信息表,这些表为每一级设备维护关于层级以及块范围的所有信息;另外,系统管理模块负责管理系统产生的大多数错误信息。\n[0044] 存储资源管理模块负责提供来自底层的设备信息给分级存储管理模块;存储资源管理模块收集节点和块分布信息给分级存储管理模块使用并且维护一个线性表来存储所有的信息,比如起始位置,长度等。\n[0045] 分级存储管理模块负责根据分析结果来实施具体的文件属性度量与分级管理等操作,其负责用户与内核空间函数进行通信,也可直接接收策略分析模块对策略配置信息的检查分析结果并将分析结果传输给内核空间。在分级存储管理模块中主要包括数据放置模块、数据度量模块以及数据迁移模块等子功能模块,这些功能模块分别实现了数据放置机制、数据度量机制以及文件迁移管理机制,通过这些机制实现对于文件对象的分级存储管理。\n[0046] 在分级系统架构中,策略界面接口为用户提供多种应用情况下的数据管理配置功能,有利于提高用户易用性。然后,策略分析模块将会对用户的策略配置信息进行分析并将分析结果存储到内核之中,这些分析结果包括不同特征属性的文件将被放置到对应设备层级的分级策略信息,设备层级信息将由存储资源管理模块提供。\n[0047] 系统管理模块将分析结果拷贝到内核当中并通知分级存储管理模块进行分析结果的获取,分级存储管理模块依据分析结果调用子功能模块完成数据的度量与迁移管理操作。\n[0048] 在本发明所涉及的分级存储系统架构中,实现了系统的启动机制、数据放置机制、数据度量机制以及文件迁移管理机制,并且设计了系统管理模块与策略分析流程。\n[0049] 图2所示为本发明实施例2的文件系统支撑过程示意图,说明如下:\n[0050] 基于文件级的分级存储管理,需要文件系统的支撑,支撑过程如图2所示。在分级存储系统启动时,首先需要通过用户GUI或者命令行等形式明确定义分配/迁移策略,尤其是需要首先定义分配策略。\n[0051] 本发明中利用ext4文件系统进行扩展,以便支持分级存储功能。在ext4文件系统的节点中,需要将节点进行扩展,为每个节点添加迁移等级表示符home_tid与dest_tid,它们分别表示迁移的源等级与目标等级;当有新的文件被创建时,分级存储系统将会截获创建操作,并且根据所实施的策略来进行附加检查。如果文件符合策略定义,那么它的home_tid被设置为对应的层级id号,否则,home_tid保持为默认值0。\n[0052] 图3所示为本发明实施例3的数据管理启动执行流程示意图,说明如下:\n[0053] 分级存储系统在启动时需要对被管理数据进行重新设置与分配,以便能够在系统运行过程中实现对数据的监控与管理工作。因此,在系统启动之前需要获取底层物理存储设备的相关信息,并且能够读取用户多定义的管理策略,并且验证策略的关键属性定义是否与执行环境符合。另外,还要验证策略所定义的设备等级是否与真实物理环境相符合,以便能够对策略的有效性进行校验。在完成启动关键信息地获取与校验之后,需要将设备与策略所定义的关键信息能够保存在系统内核当中,以便能够为数据的智能管理提供支撑。\n具体执行启动流程如图3所示,步骤如下:\n[0054] 1)在启动时需要获取基本的启动配置信息,包括启动放置策略、迁移策略等,另外还包括设备的拓扑结构信息以及层级信息等,这些信息将作为数据管理的基础信息;\n[0055] 2)对基本启动配置信息进行验证,主要是完成策略配置信息的验证工作,确保策略配置信息中所定义的逻辑卷符合数据管理的需求,另外,确保策略信息与实际的物理环境相匹配;\n[0056] 3)从策略配置信息中读取关于数据管理的需求,包括需要管理的数据类型,数据所属的组或用户,以及进行数据迁移时的触发条件等;\n[0057] 4)如果上述步骤执行完毕,启动成功,否则出现异常返回。\n[0058] 图4所示为本发明实施例4的数据放置管理执行流程示意图,说明如下:\n[0059] 分级存储系统中数据放置机制是对数据管理的基础功能。该机制能够根据文件的静态特征,如文件大小,文件类型以及所属的组别等对文件进行初始化的优化管理,将符合策略定义的数据放置到对应的存储设备上。具体执行流程如图4所示,步骤如下:\n[0060] 1)读取被管理数据的目录结构,以便能够对整个文件系统中被管理的文件进行统计分析;\n[0061] 2)获取内核中保存的启动关键信息,从中读取放置配置信息,例如数据放置的层级等;\n[0062] 3)根据获取的数据放置信息对遍历的文件进行重分配存储空间,并且将文件迁移到配置的设备上;\n[0063] 4)循环执行步骤1)—3),直到所有文件都按照放置策略规定的要求完成数据的管理。\n[0064] 图5所示为本发明实施例5的数据迁移管理执行流程示意图,说明如下:\n[0065] 分级存储系统中文件迁移机制主要完成数据的再优化工作。在系统运行期间对于文件动态属性进行监控,如果出现访问频率或者I/O热度过高或者过低的文件,将利用迁移机制将其放置到高速设备或者低速设备上,从而完成对于数据的优化管理。具体执行流程如图5所示,步骤如下:\n[0066] 1)在迁移之前,首先检测是否为常规文件,并且文件是否为空文件;\n[0067] 2)为了保证磁盘上实际文件系统与缓存中内容的一致性,同步内存中所有已修改的文件数据到存储设备。由于存在延迟写(delayed write)降低了文件内容的更新速度,使得欲写到文件中的数据在一段时间内并没有写到磁盘上。当系统发生故障时,这种延迟可能造成文件更新内容的丢失;\n[0068] 3)打开一个新的目标文件,该文件用于存储被迁移的文件;\n[0069] 4)提取被迁移文件的信息,存储到fiemap结构所定义的缓存中;\n[0070] 5)利用fallocate来分配物理空间,空间大小需要根据被迁移文件的信息来决定,主要是从缓存中获取文件所占的块大小;\n[0071] 6)将缓存中的数据放置到目标文件所指定的物理空间。\n[0072] 图6所示为本发明实施例6的数据度量管理执行流程示意图,说明如下:\n[0073] 分级存储系统中属性度量机制是根据系统启动时在内核中保存的文件度量值进行验证,从而判断文件是否需要被重新放置或者被迁移。具体执行流程如图6所示,步骤如下:\n[0074] 1)获取文件的关键信息,利用lstat函数将文件信息缓冲到stat结构体中;\n[0075] 2)将管理策略信息缓冲到内核关键数据结构体中;\n[0076] 3)利用策略信息来度量文件的关键信息;\n[0077] 4)计算文件的大小,并且与策略规定的文件大小进行比较。如果实际文件大于策略规定大小则可以将其迁移到低速设备上;\n[0078] 5)获取文件的访问时间,与策略规定的访问时间进行比较,如果距离时间较大,则是冷数据,将其迁移到低速设备;\n[0079] 6)获取文件的修改时间,与策略规定的修改时间进行比较,如果距离时间较大,则是冷数据,将其迁移到低速设备;\n[0080] 7)统计文件在一段时间内的传输字节平均数,如果传输字节的平均数值过小,则认为是冷数据;\n[0081] 8)统计一段时间内文件的访问次数,如果次数过少,那么将认为其为冷数据;\n[0082] 9)将上述度量结果传输给数据管理模块,数据管理模块根据度量结果进行数据管理的操作。\n[0083] 图7所示为本发明实施例7的设备拓扑信息获取流程示意图,说明如下:\n[0084] 存储资源管理模块的设计主要是对设备拓扑信息的获取功能。在获取设备拓扑信息时,为了能够获取管理的逻辑存储设备的实际物理拓扑结构,需要利用device mapper实现底层设备的结构分析功能。具体执行流程如图7所示,步骤如下:\n[0085] 1)创建dm_task任务结构体变量,并且创建执行设备分析任务;\n[0086] 2)设置分析的逻辑设备名,该逻辑设备是由底层的物理设备或者逻辑设备所映射得到的;\n[0087] 3)按照设置的逻辑设备名对该逻辑设备进行遍历操作,从device mapper的设备映射表table中对拓扑结构进行分析;\n[0088] 4)在获得了根节点后,继续对设备映射表进行遍历,循环执行步骤4)直到所有的设备都被检索到。\n[0089] 存储资源管理模块可提供设备拓扑信息给系统管理模块、策略分析模块及分级存储管理模块。\n[0090] 图8所示为本发明实施例8的分配策略分析流程示意图,说明如下:\n[0091] 系统管理模块主要负责管理内核中的策略配置信息以及设备信息等内容,并且将用户态的指令转化为内核态执行。另外,系统管理模块还负责验证放置策略中根据组ID、用户ID、文件类型等属性所设置的文件被放置的层级是否正确。验证迁移策略中设置的层级信息是否正确,依据的信息是从设备拓扑分析获得的设备层级信息。\n[0092] 1)将用户空间的信息拷贝到内核空间,然后对用户空间的信息进行分析,执行步骤2);\n[0093] 2)获取文件系统安装点的实例,首先需要对文件系统进行查询path_lookup,获取文件系统的超级块sb,进而获取文件系统实例instance;\n[0094] 3)判断instance中的参数状态state是否启动,如果是则提示已启动,否则执行步骤4);\n[0095] 4)在内核中为实例instance分配内核内存空间kzalloc,将用户态的设备信息以及装载点信息放置到instance中相应的变量;\n[0096] 5)设置文件系统实例instance中的操作函数,包括mkdir,open等;\n[0097] 6)将用户空间的设备信息以及策略信息复制到内核空间,构造内核管理实例;\n[0098] 7)返回启动成功。\n[0099] 图9所示为本发明实施例9的迁移策略分析流程示意图,说明如下:\n[0100] XML分析器主要用于分析输入的XML策略文件信息,然后将分析后获取的关键信息存储到内核当中。在此主要设计放置策略与迁移策略这两个主要的智能数据管理策略的分析方法,其他策略的分析方法与之类似。放置策略分析如图8所示,迁移策略分析如图9所示。\n[0101] A、放置策略分析器\n[0102] 1)读取放置策略的XML文件,并且从文件的第一行开始分析,通过xmlDocGetRootElement函数获得。然后,判断第一行中的策略类型是否为放置策略;如果是继续执行2),否则提示错误退出;\n[0103] 2)继续读取策略的下一行信息,判断是否为策略放置信息,如果是执行步骤3),否则返回;\n[0104] 3)利用xmlNodeListGetString函数分别获取用户UID、组GID、类型、层级等放置信息,进行相关转换与验证后将信息存放到放置策略信息结构体中的相应变量当中;\n[0105] 4)执行结束。\n[0106] B、迁移策略分析器\n[0107] 1)读取迁移策略的XML文件,并且从文件的第一行开始分析,通过xmlDocGetRootElement函数获得。然后,判断第一行中的策略类型是否为迁移策略;如果是继续执行2),否则提示错误退出;\n[0108] 2)分析每一条迁移策略,利用xmlNodeListGetString函数获取迁移数据的源层级;\n[0109] 3)利用xmlNodeListGetString函数获取迁移数据的目的层级;\n[0110] 4)分析触发迁移的条件设置信息:分别利用xmlNodeListGetString函数获取文件大小,平均访问热度等设置参数信息,并且进行相关转换与验证后将信息存放到迁移策略信息结构体中的相应变量当中;\n[0111] 5)执行结束。\n[0112] 本发明还提供了一种数据分级存储系统,其特征在于,包括:管理界面接口、系统管理模块、策略分析模块、分级存储管理模块;管理界面接口通过系统管理模块分别与策略分析模块、分级存储管理模块相连;\n[0113] 策略分析模块,用于获取XML策略文件,其中,所述XML策略文件由管理界面接口根据设置的策略配置信息生成;所述策略配置信息包括文件的特征属性,所述特征属性包括:\n文件所属的用户、文件大小、文件类型、文件的访问时间、文件的修改时间、文件在一段时间内的传输字节平均数、文件在一段时间内的访问次数;\n[0114] 还用于对从所述XML策略文件中提取的策略配置信息进行检查分析,获得分析结果;\n[0115] 分级存储管理模块,用于通过系统管理模块获取所述分析结果并依据所述分析结果,调用子功能模块完成数据的处理。\n[0116] 本发明提供了一种分级存储系统架构,能够与数据迁移等管理方法进行有效地整合,从而实现了多种文件特征的配置管理、分类度量以及迁移管理功能协作性,有效地提高了智能数据管理的易用性。\n[0117] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2017-11-03
- 2014-04-09
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310655383.1
申请日: 2013.12.06
- 2014-03-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-03-23
|
2010-11-12
| | |
2
| |
2013-05-15
|
2013-01-29
| | |
3
| |
2012-09-12
|
2010-03-01
| | |
4
| |
2011-08-17
|
2011-04-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |