一种基于块级的分级存储方法及系统的制作方法

文档序号:6522708阅读:248来源:国知局
一种基于块级的分级存储方法及系统的制作方法
【专利摘要】本发明提供一种基于块级的分级存储方法及系统。应用在数据智能管理领域,包括以下步骤:块数据特征收集器获取块数据的特征值;迁移管理器获取所述块数据的特征值,同时,根据从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移。通过实施本发明的技术方案,实现了对于扩展块级的数据进行自动分级管理,能够解决数据分级存储管理过程中存在热点数据定位不准确的问题并能够有效提高存储资源的利用率。
【专利说明】一种基于块级的分级存储方法及系统
【技术领域】
[0001]本发明涉及数据智能管理领域,尤其涉及一种基于块级的分级存储方法及系统。【背景技术】
[0002]数据分级存储技术主要是根据数据访问特征在存储虚拟层对存储设备组成的存储资源进行合理组织,形成多级的存储层次(如根据设备传输速率分为高速、中速和慢速存储设备,并可根据存储需求扩展到更多设备级别),并对上层应用需求进行特征提取和聚类处理,基于数据访问的局部性原理,构建应用数据与存储空间映射的数据特征模型,将不经常访问的数据自动迁移到存储成本层次中较低的设备,释放出较高成本的存储空间给更频繁访问或更高优先级的数据,从而大大减少非重要性数据在一级本地磁盘所占用的空间,加快整个系统的存储性能,降低整个存储系统的拥有成本,进而获得更好的性价比。
[0003]在现有的分级存储技术中主要是利用文件对象包括的多种数据特征属性,如文件大小,类型等进行数据特征的映射,将具有不同特征的数据进行分类管理。但是,基于文件级的分级存储以文件作为数据特征统计的基本单位,如果文件比较大,并且当只有局部信息经常被访问时,那么就存在对于热点数据定位不准确的问题,从而导致不能够将真正需要被分级的数据放置于高效且昂贵的存储资源上,不利于提高存储管理效率。
[0004]基于块级的分级存储是一种细粒度的数据分级管理方案,能够将数据管理的粒度细化到以根据应用需求所定义的扩展块级,但是现有工作中缺乏对于基于块数据的分级存储系统架构的深入研究。

【发明内容】

[0005]本发明提供一种基于块级的分级存储方法及系统,以解决上述问题。
[0006]本发明提供一种基于块级的分级存储方法。上述方法包括以下步骤:
[0007]块数据特征收集器获取块数据的特征值;
[0008]迁移管理器获取所述块数据的特征值,同时,根据从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移。
[0009]本发明还提供一种基于块级的分级存储系统,包括:
[0010]迁移管理器、块数据特征收集器、策略配置管理器、存储资源管理器;迁移管理器分别与块数据特征收集器、策略配置管理器相连;存储资源管理器分别与块数据特征收集器、策略配置管理器相连;
[0011]所述块数据特征收集器,用于获取块数据的特征值;
[0012]所述迁移管理器,用于获取所述块数据的特征值及从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移;
[0013]所述策略配置管理器,用于设置管理参数;
[0014]所述存储资源管理模块,用于按照性能由高到低的顺序组织磁盘并构建多级设备链表,将设备进行统一管理。[0015]通过实施本发明的技术方案,实现了对于扩展块级的数据进行自动分级管理,能够解决数据分级存储管理过程中存在热点数据定位不准确的问题并能够有效提高存储资源的利用率。
【专利附图】

【附图说明】
[0016]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1所示为本发明实施例1的分级存储系统架构示意图;
[0018]图2所示为本发明实施例2的数据迁移结构示意图;
[0019]图3所示为本发明实施例3的数据迁移窗口示意图。
【具体实施方式】
[0020]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0021]本发明提供了一种基于块级的分级存储方法,包括以下步骤:
[0022]块数据特征收集器获取块数据的特征值;
[0023]迁移管理器获取所述块数据的特征值,同时,根据从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移。
[0024]其中,迁移管理器获取块数据的特征值的途径为:块数据特征收集器获取块数据的特征值后,发送至迁移管理器。
[0025]其中,所述管理参数包括:块数据的扫描周期、不同层级设备上最大未使用时间。
[0026]其中,块数据特征收集器获取块数据的特征值的具体过程为:块数据特征收集器根据获取的读/写的引用次数的统计值,周期地计算每一个块数据的引用频率。
[0027]其中,所述预设策略为:
[0028]当迁移管理器到达扫描周期时,触发迁移工作开始,迁移工作遍历整个存储设备中的所有数据块,根据设备的最大未使用时间、数据块的最大未使用时间、块的访问引用计数的统计、设备的访问引用计数的统计,判断数据块是否向上级或者向下级进行迁移操作;预设某一阀值,若监控的块数据的特征值超过该阀值,则触发分级系统,开始基于块数据迁移。
[0029]其中,块数据特征收集器获取块数据的特征值之前,还包括:存储资源管理模块按照性能由高到低的顺序组织磁盘并构建多级设备链表,将设备进行统一管理。
[0030]其中,块数据特征收集器获取块数据的特征值之前,还包括:策略配置管理器对块数据的扫描周期,不同层级设备上最大未使用时间进行设置。
[0031]如图1所示,在基于块级的分级存储系统中主要包括了迁移管理器、块数据特征收集器、策略配置管理器以及存储资源管理模块四个组件。
[0032]I)块数据特征收集器获取块数据的特征值(例如:块数据的引用频率),同时,能够完成对于I/o队列的扫描以及I/O统计工作;
[0033]2)迁移管理器获取块数据的特征值,同时,根据从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移;[0034]其中,迁移管理器获取块数据的特征值的途径为:块数据特征收集器获取块数据的特征值后,发送至迁移管理器。
[0035]其中,管理参数包括:块数据的扫描周期、不同层级设备上最大未使用时间。
[0036]其中,块数据特征收集器获取块数据的特征值的具体过程为:
[0037]块数据特征收集器,能够对完整I/O事件进行管理,其中I/O事件包括传输大小、响应时间、逻辑块地址LBA以及发生I/O事件的磁盘ID,还包括执行I/O的队列。块数据特征收集器将每一个I/O 二元组(LBA,磁盘ID)映射给唯一的块,并且统计每一个块的I/O数。然后,根据获取的读/写的引用次数的统计值,周期地计算每一个块数据的引用频率。
[0038]其中,预设策略为:
[0039]当迁移管理器到达扫描周期时,触发迁移工作开始,迁移工作遍历整个存储设备中的所有数据块,根据设备的最大未使用时间、数据块的最大未使用时间、块的访问引用计数的统计、设备的访问引用计数的统计,判断数据块是否向上级或者向下级进行迁移操作;预设某一阀值,若监控的块数据的特征值超过该阀值,则触发分级系统,开始基于块数据迁移。
[0040]3)策略配置管理器负责用户对于分级存储系统中所需要的管理参数进行设置,这些管理参数将被迁移管理器所使用。
[0041]4)存储资源管理模块是位于内核当中的驱动模块,其主要功能是对不同类型的物理存储资源进行整合,从而形成包括不同读写性能存储设备的存储资源池。
[0042]在如图1所示的分级存储系统架构中,首先需要将存储资源进行整合,形成具备分级存储能力的存储资源池,利用存储资源管理模块按照性能由高到低的顺序组织磁盘,并且构建多级设备链表,将设备进行统一管理。其次,开始对分级存储系统的管理参数进行设置,利用策略配置管理器对块数据的扫描周期,不同层级设备上最大未使用时间等管理参数进行设置。
[0043]在分级存储系统启动后,开始对块数据的特征信息进行统计,为了能够统计块数据特征信息,需要对I/o事件进行定义,以便能够对其进行监控。对于读、写I/o的处理,块数据特征收集器的请求队列接收来自通用块设备模块的I/o请求,当I/O入队列后,通知分级系统工作线程运转,工作线程根据I/o的不同类型划分不同的设备块给I/O请求存储写数据,数据写入分配的块设备之后,I/o结束,在处理写请求时,记录数据块的写信息,包括设备的写请求数量、块的写请求数量;对于读I/o请求统计设备以及块的访问引用计数和访问时间信息,之后将I/o进行转发。然后,计算整个队列的引用频率信息,并且根据给定的阀值进行度量。当然,对于海量存储而言,数据的收集将是非常巨大的,因此,适时地通过调整数据块的大小来降低统计信息的数据量。
[0044]当迁移管理器到达扫描周期时,触发迁移工作开始,迁移工作遍历整个存储设备中的所有数据块,根据设备的最大未使用时间、数据块的最大未使用时间、块的访问引用计数的统计、设备的访问引用计数的统计等,以便判断数据块是否向上级或者向下级进行迁移操作;对于数据的向上级迁移参考上层级设备的访问引用计数信息,减少数据块的迁移抖动;基于扩展块等级的统计分析,根据该分级结果来将扩展块匹配到合适的层级。若监控的块特征值超过阀值,那么将触发分级系统,开始基于块的数据迁移。
[0045]分级存储系统在执行过程中将数据时间轴和访问频度等热点数据访问特征作为数据资源的分级依据,存储资源特征将作为存储设备分级的凭据,然后根据这些数据特征和存储设备的分级情况,确定数据的分级标准及数据分级变化的触发条件,整个数据迁移系统结构如图2所示。
[0046]基于扩展块级的统计分析,根据该分级结果来将扩展块匹配到合适的层级。在此基础上,预设某一阀值,如果监控的块特征值超过阀值,那么将触发分级系统,开始基于块的数据迁移。
[0047]在系统中引入块数据特征收集器,它能够对完整I/O事件进行管理,其中I/O事件包括传输大小、响应时间、逻辑块地址LBA以及发生I/O事件的磁盘ID,还包括执行I/O的队列。块数据特征收集器将每一个I/O 二元组(LBA,磁盘ID)映射给唯一的块,并且统计每一个块的I/O数。然后,周期地计算每一个块的引用频率,分别统计读引用数与写引用数。
[0048]当数据信息达到迁移触发条件时,进行自动数据迁移,实现数据信息的降级或升级存储。迁移时,设置了一个数据迁移窗口,其大小与迁移的粒度有关。
[0049]如图3所示,它是一个逻辑视图上的区间,与磁盘上数据的物理分布无关,迁移前和迁移后数据的逻辑视图都是不变的,每次处理迁移进程为当前数据迁移窗口申请读写锁,以保证迁移进程与写操作进程之间的数据一致性。
[0050]当需要迁移时,首先根据数据分级策略来制定数据迁移计划,数据迁移时就是依次将该计划中的数据进行移动,具体到每个操作而言,就是将迁移窗口内的数据重新分布到其它存储空间中,考虑到底层存储设备的并行性,将迁移窗口设置为底层存储设备条带大小的整数倍。
[0051]另外,在分级存储系统中设计块迁移器,它负责管理块的特征统计信息,以及数据移动请求,它通过比较所统计的特征信息与阀值,进而标记需要迁移的扩展块,并且负责安排和优化迁移过程。另外,也需要特别小心迁移所引起额外的I/o传输量,从而避免对主要的I/o性能产生影响。
[0052]当块的引用数超过阀值后,将引发分级管理系统对于数据块的迁移操作;当设备不停止时,开始循环等待事件中断信号,该中断信号应该是进行迁移的中断指令wait_event_interruptible。当触发迁移指令后,首先需要对被迁移的设备进行加锁处理,为的是能够确保数据的一致性。
[0053]然后,开始对块列表开始遍历walk_blocklist,在遍历块链表的时候,首先需要获取块信息,块信息当中包含了读/写的引用次数的统计值,在获取统计值后,开始计算块的数据特征值,然后与阀值进行比对,从而确定是升级操作还是降级操作;利用f_op->read操作函数将从文件中读取数据,并且利用f_op->write操作函数将数据写入到新的设备当中,并且要完成对于块列表的更新操作,包括该块最近访问的时间,以及该块最新的存储设备等信息;当一个块被迁移到不同的层,那么将读写计数器置零。
[0054]本发明还提供了一种基于块级的分级存储方法,包括:迁移管理器、块数据特征收集器、策略配置管理器、存储资源管理器;迁移管理器分别与块数据特征收集器、策略配置管理器相连;存储资源管理器分别与块数据特征收集器、策略配置管理器相连;
[0055]所述块数据特征收集器,用于获取块数据的特征值;
[0056]所述迁移管理器,用于获取所述块数据的特征值及从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移;[0057]所述策略配置管理器,用于设置管理参数;
[0058]所述存储资源管理模块,用于按照性能由高到低的顺序组织磁盘并构建多级设备链表,将设备进行统一管理。
[0059]本发明所涉及的基于块级的分级存储系统架构能够实现对于逻辑卷中一部分固定大小的块数据进行监控以及数据热度的统计分析,继而完成对于块数据的分级管理操作;由于所管理的块数据粒度细,并且在逻辑卷中需要管理的数据量值比较少,因此,能够获得更高的数据分配效率,在进行迁移等操作时损耗较少,有利于提高存储资源的利用率
与管理效率。
[0060]通过实施本发明的技术方案,实现了对于扩展块级的数据进行自动分级管理,能够解决数据分级存储管理过程中存在热点数据定位不准确的问题并能够有效提高存储资源的利用率。
[0061]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于块级的分级存储方法,其特征在于,包括以下步骤: 块数据特征收集器获取块数据的特征值; 迁移管理器获取所述块数据的特征值,同时,根据从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移。
2.根据权利要求1所述的方法,其特征在于:迁移管理器获取块数据的特征值的途径为:块数据特征收集器获取块数据的特征值后,发送至迁移管理器。
3.根据权利要求1所述的方法,其特征在于:所述管理参数包括:块数据的扫描周期、不同层级设备上最大未使用时间。
4.根据权利要求1所述的方法,其特征在于:块数据特征收集器获取块数据的特征值的具体过程为:块数据特征收集器根据获取的读/写的引用次数的统计值,周期地计算每一个块数据的引用频率。
5.根据权利要求1所述的方法,其特征在于:所述预设策略为: 当迁移管理器到达扫描周期时,触发迁移工作开始,迁移工作遍历整个存储设备中的所有数据块,根据设备的最大未使用时间、数据块的最大未使用时间、块的访问引用计数的统计、设备的访问引用计数的统计,判断数据块是否向上级或者向下级进行迁移操作;预设某一阀值,若监控的块数据的特征值超过该阀值,则触发分级系统,开始基于块数据迁移。
6.根据权利要求1所述的方法,其特征在于:块数据特征收集器获取块数据的特征值之前,还包括:存储资源管理模块按照性能由高到低的顺序组织磁盘并构建多级设备链表,将设备进行统一管理。
7.根据权利要求1所述的方法,其特征在于:块数据特征收集器获取块数据的特征值之前,还包括:策略配置管理器对块数据的扫描周期,不同层级设备上最大未使用时间进行设置。
8.一种基于块级的分级存储方法,其特征在于,包括:迁移管理器、块数据特征收集器、策略配置管理器、存储资源管理器;迁移管理器分别与块数据特征收集器、策略配置管理器相连;存储资源管理器分别与块数据特征收集器、策略配置管理器相连; 所述块数据特征收集器,用于获取块数据的特征值; 所述迁移管理器,用于获取所述块数据的特征值及从策略配置管理器获取的管理参数,依据预设策略,进行块数据迁移; 所述策略配置管理器,用于设置管理参数; 所述存储资源管理模块,用于按照性能由高到低的顺序组织磁盘并构建多级设备链表,将设备进行统一管理。
【文档编号】G06F12/08GK103631729SQ201310658837
【公开日】2014年3月12日 申请日期:2013年12月6日 优先权日:2013年12月6日
【发明者】施光源, 张宇, 梁志诚, 张延枫 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1