分级存储方法

文档序号:6384142阅读:393来源:国知局
专利名称:分级存储方法
技术领域
本发明涉及一种计算机领域的存储技术,尤其涉及一种分级存储方法。
背景技术
随着数据量的剧增,传统的存储系统由于其物理组成的限制及功能上的局限,造成了存储系统瓶颈的出现,已不能完全满足海量数据存储的需要,于是集群存储应运而生。集群存储,是指由若干个“通用存储设备”组成的用于存储的集群,相对传统的存储系统,它有扩展性强、容易管理、性能优越的特点。集群存储的核心是其分布式的存储系统,一般拥有统一的命名空间,能够将集群中的所有操作统一调度和分发,协调众多存储设备一起工作。近年来,集群存储在并行I/o方面取得了显著成效,尤其是处理工作流、读密集型和大型文件的访问,更是得心应手。hadoop集群就是这样一种存储海量数据的集群,它拥有集群存储的大部分优点。数据调度的目的是,利用最少的资源,占用最少的时间,完成指定的批量任务。hadoop集群中的数据调度,主要牵涉到数据分片与负载均衡技术。其中,数据分片,是将较大的文件分成较小的数据片,这些数据片会分布在不同的服务器节点上,在处理大任务时,可以先将其分割成小任务,在各个节点上并发执行,然后合并成最终的结果输出。负载均衡,是为了缓解个别过载服务器的压力,需要将部分负载转移到其他负载轻的节点上,这牵涉到了集群在线扩展和数据的迁移。当前hadoop集群中的服务器,多配备容量大、价格低的SATA硬盘,处理能力偏低且服务器分散。

发明内容
本发明为解决上述技术问题,提供一种成本低、自动化程度高的分级存储方法,所述方法包括以下步骤:存储自动分级:集群启动,自动识别不同类型的主机所处于的存储层次;定向存取:选择距离近、存储层次高、负载轻的节点用于数据的存储和读取;寻找热数据:记录文件中各数据块的访问信息,判断迁移时机,当迁移时机到来时,根据所述记录信息,得出每个访问数据块的价值,按照价值从高到低形成队列;数据块迁移:将价值高的数据块迁移到存储层次高的存储层,将价值低的数据块迁移到存储层次低的存储层。优选地,所述方法还包括:自适应调整:数据迁移完成后,更新数据块相关信息,重新启动监控。优选地,根据主机名将不同类型的主机划分为不同的存储层次。优选地,在存储自动分级时,所述存储层次至少包括2级,存储层次的划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。优选地,通过信息估值模型处理所述记录信息,所述数据块访问信息包括访问用户、访问时间以及数据块信息。优选地,通过队列过滤模型和路径匹配模型,在信息估值模型处理后得到的数据块值队列的基础上,形成具体的数据迁移任务,利用迁移控制模型完成数据迁移。优选地,所述队列过滤模型为:根据阈值过滤掉不需要迁移的数据分段,过滤后形成的队列中的所有数据分段都已经确定迁移方向,阈值反映了本存储层次上前一次的迁移结果。优选地,所述路径匹配模型为:在队列中所有的块都确定了迁移方向后,确定距离较近的迁移源和迁移目标,迁移源优先选择剩余空间较少、负载轻的节点,迁移目标优先选择负载轻的节点。优选地,所述迁移控制模型为:进行迁移速率控制,使用多线程分批次执行所述数据迁移任务,降低迁移过程对集群中节点访问性能的影响。优选地,所述更新数据块相关信息,重新启动监控的步骤具体为:存储数据块的估值结果,以备下一次估值时使用;对于已经被删除的数据块,在系统所保留的访问记录中删除;根据迁移的实际情况进行各存储层次的阈值更新;唤醒监视进程,等待下一次数据迁移的到来。本发明的分层存储方法在集群实现分级存储技术,使用最小的成本达到最佳的性能,对集群的数据调度策略进行了优化。


图1为本发明一实施例分级存储方法流程示意图。
具体实施例方式下面将结合附图以及具体实施例来对本发明作进一步详细说明。如图1所示,为本发明一实施例分级存储方法流程示意图,本发明分级存储的方法包括以下步骤:步骤S1:存储自动分级。集群启动,自动识别不同类型的主机所处于的存储层次,本实施例中,hadoop集群启动时,通过“主机名标识法”(分级依据),系统可自动识别每个节点的访问性能。如主机名中含有“high”,则访问性能最好,列为一级存储;含有“middle”,则访问性能适中,列为二级存储;含有“low”,列为三级存储。系统将所有的节点分成这3个存储层次,存储层次越高,访问性能越少。必要时,存储层次高的节点还会配以更快的网络、cpu等;所述存储层次至少包括2级,存储层次的划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。步骤S2:定向存取。存储文件时,客户端将要存储的文件分成固定大小的数据块,每个数据块至少设有I个副本,各副本优先存储在存储层次高的存储层上,本实施例中,存储文件时,客户端需要首先从名称节点获得许可。然后将文件分成大小为64MB的块,每个块通常有3个副本。这3个副本会采用“管道流”的方式存放在3个不同的数据节点上。节点的选择由名称节点实现,通常会考虑到节点与客户端的距离、节点负载与容量等条件,并优先考虑存储层次较高的节点;读取文件时,客户端首先从存储层获取数据块的位置,然后直接与相应的存储层进行数据传输,选择距离近、存储层次高、负载轻的节点用于数据的存储和读取。步骤S3:寻找热数据。记录文件中各数据块的访问信息,判断迁移时机,根据所述数据的估值结果,判断数据的位置是否满足数据越热存储层次越高的特点,若不满足,则进行数据迁移,使得数据的位置满足数据越热存储层次越高的特点,当迁移时机到来时,通过信息估值模型处理所述记录信息,得出每个访问数据块的价值,按照价值从高到低形成队列,本实施例中,集群中的节点被分为3个不同的存储层次,存储层次越高,配置的硬盘访问性能越好,容量就越小,价格也越贵。因此只能由少量的数据存放在存储层次最高的节点上。通常情况下,一个集群中的所有数据中只有少量数据被频繁访问。我们通过记录文件的访问信息,通过信息估值模型处理这些信息,得出一个价值,该价值越大,代表该数据访问的越是频繁,存储层次就该越高;客户端对文件的读取是以块为单位的,系统把块的每次读取操作都记录下来,记录的内容包括:用户、时间、块信息等,每读取一次系统就会生成一条记录。在特定时刻,使用信息估值模型处理这些记录,模型的处理对象是块,用到的参数有:访问时间,访问次数,用户数量,块的大小,块与其他块的关联度,块的历史值等,利用公式计算出特定的值,来衡量块的“热”度,并按照价值从高到低形成队列,信息估值模型初步处理后的块值队列,数据迁移算法利用队列过滤模型、路径匹配模型,形成具体的迁移任务,最后利用迁移控制模型完成最终的数据迁移;队列过滤模型通过各存储层次上的阈值,过滤掉无需迁移的数据块。这些阈值记录的是所有下迁数据块的最大值和所有上迁数据块的最小值。过滤后形成的队列中的所有块都已经确定迁移方向。步骤S4:数据块迁移。将价值高的数据块迁移到存储层次高的存储层,将价值低的数据块迁移到存储层次低的存储层,本实施例中,所述存储层包括SSD —级存储层、SAS 二级存储层以及SATA三级存储层,在队列中所有的块都确定了迁移方向后,需要确定迁移的源和目标。迁移源优先选择剩余空间较少,负载轻的节点,迁移目标需要有足够的空间来容纳迁移块,优先选择负载轻的节点。同时迁移源与迁移目标的距离要足够的近,队列中所有的块都有了具体的迁移源和迁移目标时,就形成了具体的迁移任务。控制模型使用多线程分批次执行这些迁移任务,如每批次只有50个线程用于迁移,并且每个节点至多有5个线程用于执行迁移任务,使得迁移过程对集群中节点访问性能的影响尽可能小。步骤S5:自适应调整。数据迁移完成后,更新数据块访问信息,重新启动监控,本实施例中,所述更新数据块相关信息,重新启动监控的步骤具体为:存储数据块的估值结果,以备下一次估值时使用;对于已经被删除的数据块,在系统所保留的访问记录中删除;根据迁移的实际情况进行各存储层次的阈值更新;唤醒监视进程,等待下一次数据迁移的到来。在步骤S5之后,返回执行步骤S2,数据调度的过程循环进行。本发明的分级存储方法具有以下特点,容易部署,本发明使用的hadoop版本可直接安装,与普通的hadoop集群安装并无太大区别;硬件低廉,集群中大部分的主机仍旧安装SATA盘,只有少量的主机节点配置SSD盘或SAS盘;性价比高,利用分级存储技术,使得集群的访问性能接近于全部部署SSD硬盘的情形,而存储能力与成本接近于全部部署SATA硬盘的情形,同时使用分级存储的方法可以改善集群的数据调度,使得集群的访问性能得到优化。 可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
权利要求
1.一种分级存储方法,其特征在于,所述方法包括以下步骤: 存储自动分级:集群启动,自动识别不同类型的主机所处于的存储层次; 定向存取:选择距离近、存储层次高、负载轻的节点用于数据的存储和读取; 寻找热数据:记录文件中各数据块的访问信息,判断迁移时机,当迁移时机到来时,根据所述记录信息,得出每个访问数据块的价值,按照价值从高到低形成队列; 数据块迁移:将价值高的数据块迁移到存储层次高的存储层,将价值低的数据块迁移到存储层次低的存储层。
2.根据权利要求1所述的分级存储方法,其特征在于,所述方法还包括:自适应调整:数据迁移完成后,更新数据块相关信息,重新启动监控。
3.根据权利要求1所述的分级存储方法,其特征在于:根据主机名将不同类型的主机划分为不同的存储层次。
4.根据权利要求1所述的分级存储方法,其特征在于:在存储自动分级时,所述存储层次至少包括2级,存储层次的划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。
5.根据权利要求1所述的分级存储方法,其特征在于:通过信息估值模型处理所述记录信息,所述数据块访问信息包括访问用户、访问时间以及数据块信息。
6.根据权利要求5所述的分级存储方法,其特征在于:通过队列过滤模型和路径匹配模型,在信息估值模型处理后得到的数据块值队列的基础上,形成具体的数据迁移任务,利用迁移控制模型完成数据迁移。
7.根据权利要求6所述的分级存储方法,其特征在于:所述队列过滤模型为:根据阈值过滤掉不需要迁移的数据分段,过滤后形成的队列中的所有数据分段都已经确定迁移方向,阈值反映了本存储层次上前一次的迁移结果。
8.根据权利要求6所述的分级存储方法,其特征在于:所述路径匹配模型为:在队列中所有的块都确定了迁移方向后,确定距离较近的迁移源和迁移目标,迁移源优先选择剩余空间较少、负载轻的节点,迁移目标优先选择负载轻的节点。
9.根据权利要求6所述的分级存储方法,其特征在于:所述迁移控制模型为:进行迁移速率控制,使用多线程分批次执行所述数据迁移任务,降低迁移过程对集群中节点访问性能的影响。
10.根据权利要求2所述的分级存储方法,其特征在于:所述更新数据块相关信息,重新启动监控的步骤具体为: 存储数据块的估值结果,以备下一次估值时使用; 对于已经被删除的数据块,在系统所保留的访问记录中删除; 根据迁移的实际情况进行各存储层次的阈值更新; 唤醒监视进程,等待下一次数据迁移的到来。
全文摘要
本发明提供一种分级存储方法,所述方法包括以下步骤存储自动分级集群启动,自动识别不同类型的主机所处于的存储层次;定向存取选择距离近、存储层次高、负载轻的节点用于数据的存储和读取;寻找热数据记录文件中各数据块的访问信息,判断迁移时机,当迁移时机到来时,根据所述记录信息,得出每个访问数据块的价值,按照价值从高到低形成队列;数据块迁移将价值高的数据块迁移到存储层次高的存储层,将价值低的数据块迁移到存储层次低的存储层。本发明的分级存储方法容易部署且硬件低廉,具有较高性价比,同时改善集群的数据调度,使得集群的访问性能得到优化。
文档编号G06F12/08GK103150263SQ20121053943
公开日2013年6月12日 申请日期2012年12月13日 优先权日2012年12月13日
发明者张森林, 冯圣中 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1