动态调整分布式文件系统内文件副本数目的方法和系统的制作方法

文档序号:8412437阅读:475来源:国知局
动态调整分布式文件系统内文件副本数目的方法和系统的制作方法
【技术领域】
[0001] 本发明总体而言涉及管理分布式文件系统,更具体而言涉及根据文件在分布式文 件系统内将被访问的可能性,动态调整该分布式文件系统内该文件的副本(replica)的数 目。
【背景技术】
[0002] 随着互联网应用的不断增长,通过互联网访问的数据量也在不断增长。随着被访 问数据量的增长,数据存储系统已被修改以容纳更大的数据集并提供快速稳定的数据访 问。
[0003] 用于容纳更大的数据集并提供快速稳定的数据访问的一种类型的数据存储系统 是分布式文件系统,其在多个存储单元之中存储有文件的冗余副本,然后它们作为单一的 文件系统被访问。通过在多个存储单元之中存储文件的冗余副本,该单一文件系统可以快 速稳定地响应对存储在该分布式文件系统中的文件的多个访问请求。一种类型的分布式文 件系统包括 Hadoop 分布式文件系统(Hadoop Distributed File System, HDFS)。Hadoop 是指由Apache Software Foundation开发的一种开源软件框架,用于在商用硬件集群上存 储和大规模处理数据集,其中HDFS通过在多个主机之间复制文件来实现可靠性,包括高可 用性和容错性。商用硬件包括已经可用的计算部件,且当在HDFS内实现时,可提供并行工 作的低性能、低成本硬件,以支持快速可靠地访问存储在硬件上的数据。

【发明内容】

[0004] 存储在HDFS集群上的数据量以及存储数据的成本都在以指数方式增长。在HDFS 集群中,用于每个文件的副本的默认设置是三个,这也增加了为每一个存储的文件存储在 HDFS集群中的数据量,以及在HDFS存储每个文件的成本。有鉴于此,需要一种用于在分布 式文件系统之中,根据文件被访问的可能性,动态调整文件副本数目的方法、系统和计算机 程序产品。
[0005] 在一个实施例中,一种用于动态管理在分布式文件系统中文件的副本数目的方 法,涉及在文件的副本数目被设定为两个或更多个副本的分布式文件系统中,由计算机设 定计时器以跟踪最近访问该文件后经过的时间,其中该文件的副本分布于该分布式文件系 统中两个或更多个节点上。响应于在该计时器达到第一计时器窗口阈值之前对该文件的访 问,该方法涉及由计算机重置该计时器。响应于该计时器匹配第一计时器窗口阈值,该方法 涉及由计算机自动减少该分布式文件系统中该文件的副本数目,其中在第一计时器窗口阈 值之前访问该文件的可能性大于在第一计时器窗口阈值之后访问该文件的可能性。
[0006] 在另一个实施例中,一种用于动态管理在分布式文件系统中一个文件的副本数目 的系统,包括一个或多个处理器以及与至少一个处理器相耦合的存储器。该系统包括存储 在该存储器中并由至少一个处理器执行以执行如下动作的一组计算机程序指令:在文件的 副本数目被设定为两个或更多个副本的分布式文件系统中,设定计时器以跟踪最近访问该 文件后经过的时间,其中该文件的副本分布于该分布式文件系统中两个或更多个节点上, 响应于在该计时器达到第一计时器窗口阈值之前对该文件的访问,重置该计时器,以及响 应于该计时器匹配第一计时器窗口阈值,自动减少该分布式文件系统中该文件的副本数 目,其中在第一计时器窗口阈值之前访问该文件的可能性大于在第一计时器窗口阈值之后 访问该文件的可能性。
[0007] 在另一个实施例中,一种用于动态管理在分布式文件系统中文件的副本数目的计 算机程序产品,包括记录有程序代码的计算机可读存储介质。该程序代码可由一个计算机 系统来执行,以便在文件的副本数目被设定为两个或更多个副本的分布式文件系统中,由 该计算机系统设定计时器以跟踪最近访问该文件后经过的时间,其中该文件的副本分布于 该分布式文件系统中两个或更多个节点上。该程序代码可由计算机系统执行,以便响应于 在该计时器达到第一计时器窗口阈值之前对该文件的访问,由该计算机系统重置该计时 器。该程序代码可由计算机系统来执行,以便响应于该计时器匹配第一计时器窗口阈值,由 该计算机系统自动减少该分布式文件系统中该文件的副本数目,其中在第一计时器窗口阈 值之前访问该文件的可能性大于在第一计时器窗口阈值之后访问该文件的可能性。
【附图说明】
[0008] 被认为是本发明的一个或多个实施例的特点的新特征将在随附的权利要求中阐 述。然而,要获得对发明本身的一个或多个实施例的最好的理解,需要参考下面的对示例性 实施例的具体描述,并同时参考附图,其中:
[0009] 图1的框图示出了分布式文件系统的一个例子,其中该分布式文件系统中文件的 副本数目根据在该分布式文件系统中该文件将被访问的可能性而动态调整;
[0010] 图2的框图示出了分布式文件系统的一个例子,其带有通过Hadoop分布式文件系 统(HDFS)架构实现的副本设置控制器;
[0011] 图3的框图示出了 HDFS中名称节点(namenode)和元数据之中的部件的一个例 子,其用于根据HDFS中文件被访问的可能性来管理HDFS中该文件的副本数目的调整;
[0012] 图4的框图示出了使用模式分析控制器的一个例子,其用于分析分布式文件系统 中当前的访问模式,并动态调整一个或多个副本调整设置;
[0013] 图5的框图示出了副本控制器的一个例子,其在第一时间窗口到期之后,在未检 测到对文件的重新访问之后,动态地调整分布式文件系统中文件的副本数目;
[0014] 图6的框图示出了副本控制器的一个例子,其通过增加和减少文件的副本数目来 动态地调整分布式文件系统中文件的副本数目;
[0015] 图7的框图示出了可以在其中实现分布式文件系统的网络环境的一个例子;
[0016] 图8的框图示出了可以在其中实现本发明的一个实施例的计算机系统的一个例 子;
[0017] 图9的高级逻辑流程图示出了用于在分布式文件系统中,响应于对文件的访问, 动态调整文件副本数目的过程和程序的一个例子;
[0018] 图10的高级逻辑流程图示出了用于当将文件加入分布式文件系统中时,设定计 时器基础结构以跟踪对文件的访问和文件副本数目的过流和程序;
[0019] 图11的高级逻辑流程图示出了,用于响应于计算最近访问文件之后经过的时间 量的计时器达到了当前计时器窗口阈值的结束,动态调整分布式文件系统中该文件副本数 目的过流和程序的一个例子;
[0020] 图12的高级逻辑流程图示出了,用于监视在窗口分析时段中用户对分布式文件 系统中的文件的访问模式,并且基于在该窗口分析时段中以及历史上多个窗口分析时段中 分布式文件系统中的用户访问模式,动态调整计时器窗口阈值和窗口分析时段的过流和程 序的一个例子。
【具体实施方式】
[0021] 在下面的描述中,出于解释的目的,阐明了许多具体的细节以帮助对本发明有透 彻的理解。然而,对本领域技术人员显而易见的是,本发明无需这些具体细节即可实施。在 另一些实例中,公知的结构和设备以框图的形式示出,以避免不必要地使本发明含糊不清。
[0022] 另外,在下面的描述中,出于解释的目的,描述了多种系统。很重要的一点、同时对 本领域技术人员来说显而易见的是,本发明可以运行于各种系统,包括运行任何数量的不 同类型操作系统的各种计算机系统和电子设备中。
[0023] 如本文所述,本发明的实施例提供了用于识别和消除被滥用的以及有潜在滥用可 能的访问令牌的解决方案。
[0024] 现在参看附图,特别是附图1,框图示出了分布式文件系统的一个例子,其中该分 布式文件系统中文件的副本数目根据该分布式文件系统中该文件被访问的可能性而动态 调整。
[0025] 在该例子中,分布式文件系统100包括文件104。文件104以冗余方式存储在分布 式文件系统100中,以便通过存储在分布式文件系统100中的文件104的副本来支持可靠 性、容错性和可访问性。例如,在分布式文件系统100中,一个文件的副本的默认数目可以 设定为文件的三个副本。出于示例目的,文件104的三个副本可最初存储在多个机架上,如 示出为副本110,副本112和副本114。在该例子中,文件104在被存储时可被划分为多个 区块,每个区块在分布式文件系统100中的一个或多个节点之间被复制。
[0026] 在该例子中,一旦一个文件在分布式文件系统100中被创建,可以有可检测的在 分布式文件系统100中在一个时间段上客户端访问文件的模式。例如,可以有访问模式表 明,文件一旦被创建,也从分布式文件系统100访问的文件的百分比。在从分布式文件系统 100访问的文件之中,可以有如下第一时间窗口、第二时间窗口和第三时间窗口的模式:在 第一时间窗口内,大多数访问发生,在第二时间窗口内,下一个百分比的访问发生,以及在 第三时间窗口后,不太可能有访问发生。具体地说,对于存储在分布式文件系统100中的文 件来说,在一个时间段中测得的访问模式可以表明,最新创建的文件是其他作业最感兴趣 的文件,创建后一旦文件被初始访问,这些文件就很少被再次访问,然而如果对一个文件的 访问是写访问,那么该文件被再次访问的可能性就会增加。考虑在分布式文件系统100中 可检测的文件访问模式,随着文件将被访问的可能性降低,文件副本数目可减少,然而,随 着数据文件将被访问的可能性增加,文件副本数目也可增加。
[0027] 基于在分布式文件系统100中可检测的文件访问模式以及副本的默认数目被设 定为三个,沿着文件104的访问时间线130,可设定计时器窗口阈值142,其规定第一时间窗 口 132,可设定计时器窗口阈值144,其规定第二时间窗口 134,以及可设定计时器窗口阈值 146,其规定第三时间窗口 136,其中每个时间窗口还对应于在用于文件的副本设置中指定 的副本数目。在一个例子中,计时器窗口阈值142、计时器窗口阈值144和计时器窗口阈值 146可被设定为使得在每个第一时间窗口 132、第二时间窗口 134和第三时间窗口 136中的 时间长度是相同的时间量或不同的时间量。在另一个例子中,计时器窗口阈值142可被设 定为代表第一时间的时间,在此之前很可能会有第一百分比的访问发生,例如某个时间,在 此之前很可能会有75%的访问发生,计时器窗口阈值144可被设定为第二时间,在此之前 很可能会有第二百分比的访问发生,例如某个时间,在此之前很可能会有85%的访问发生, 计时器窗口阈值146可被设定为第三时间,在此之前很可能会有第三百分比的访问发生, 例如某个时间,在此之前很可能会有98%的访问发生。另外,其他因素也可用于设定每一个 计时器窗口阈值142、计时器窗口阈值144和计时器窗口阈值146,包括但不限于区块大小、 性能参数、访问要求、错误要求以及减少文件副本数目带来的成本。在附加的或替代的实施 例中,可以支持附加或其他数目的副本,可支持附加或其他数目的时间窗口和计时器窗口 阈值,且副本的数目与计时器窗口阈值的数目可以不同。
[0028] 在该例子中,在第一时间窗口 132期间,用于文件的副本设置被设定为3,如参考 标号152所示,且在分布式文件系统100中保持文件104的三个副本,如示出为副本110、副 本112和副本114。在一个例子中,计时器162可被设定为在第一时间窗口 132期间计数时 间。在该例子中,如果计时器162的计时达到计时器窗口阈值142,那么文件104的副本设 置被从3减少到2,如参考标号154所示,文件104的副本数目被减少为两个副本,示出为 副本116和副本118,并且计时器164被设定为在第二时间窗口 134期间计数时间。在该 例子中,如果计时器164的计时达到计时器窗口阈值144,那么用于文件104的副本设置被 从2减少到1,如参考标号156所示,文件104的副本数目被减少为一个副本,示出为副本 120,并且计时器166被设定为在
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1