参数调整方法、装置和分布式计算平台系统的制作方法

文档序号:7898083阅读:390来源:国知局
专利名称:参数调整方法、装置和分布式计算平台系统的制作方法
技术领域
本发明实施例涉及通信技术和计算机领域,尤其涉及一种参数调整方法、装置和 分布式计算平台系统。
背景技术
数据密集型分布式计算平台通常由分布式计算框架和分布式文件系统组成,其 中,分布式计算框架中包含一个任务队列,如图1所示为现有技术的分布式计算框架中的 任务调度示意图,用户提交的任务先进入该队列中,系统根据计算资源的繁忙情况对任务 进行调度,并下发给计算节点进行运算;分布式文件系统为一种基于廉价计算机节点进行 本地存储构建的分布式存储系统,其通过将不同服务器上的共享文件夹组织在一起构建成 一个目录树,则用户只需访问一个共享的根目录便可访问分布在网络上的文件或文件夹。 图2所示为现有技术的分布式文件系统中的数据块操作示意图,分布式系统通常由元数据 服务器节点和多个数据块节点组成;其中,元数据服务器节点用于保存各个文件的数据分 块情况、各个数据块所在的数据块节点的名称以及每个数据块节点上所包含的数据块信息 等;数据块节点用于保存实际的数据块。当客户端软件需要对分布式文件系统进行数据存 取访问时,先通过元数据服务器节点获取或建立文件的数据块的位置,再直接与相应数据 块所在的数据块节点进行通信。为了提高系统可靠性和数据可用性,分布式文件系统通常采用固定数量的多副本 方式来保存数据块,如对于同一个数据块,可以在不同数据块节点保存对应的三个副本。而 这种方式只考虑了数据的可用性而未考虑不同数据访问的性能参数的不同要求,不同数据 的性能参数随时间发生变化,而当出现某些数据的访问频率升高或响应时间下降等情况 时,固定数量的数据块副本不能满足高性能要求,导致数据块的响应时间增加。如当集群中 节点数量较多,且并发运行的任务数量也较大时,容易出现数据热点问题,如图3所示为现 有技术的分布式文件系统中数据热点的示意图,即很多任务同时访问同一份数据,导致访 问速度明显下降。在现有技术中,为了解决上述由于固定数量的数据块副本而导致容易产生数据热 点的问题,一种方法为管理员根据经验手动调整某些文件的数据块副本数量;另一种方法 为通过统计数据块副本的性能参数获得实际性能参数,根据实际性能参数来在数据块节点 中增加或删除数据块副本。发明人在实现本发明的过程中,发现现有技术至少存在以下缺点现有技术中的第一种调整方法对管理员要求较高,且调整的准确度和及时性不 高;第二种调整方法则属于事后调整,具有一定的延后期,不能及时解决数据热点问题。

发明内容
本发明实施例在于提供一种参数调整方法、装置和分布式计算平台系统,实现对 数据块副本数量的预先自动调整,及时准确地解决多个任务同时访问同一数据块导致的数据热点问题。为了实现上述目的,本发明实施例提供了一种参数调整方法,包括当任务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和调 整策略生成调整策略;其中,所述调整策略为调整数据块的副本数量,使得各数据块被访问 的任务总数与对应的所述各数据块的当前副本所能支撑的任务总数达到平衡;根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整。本发明实施例提供了一种参数调整装置,包括指令生成模块,用于当任务队列发生变化时,根据任务队列信息、分布式文件系统 的数据块信息和调整策略生成调整策略;其中,所述调整策略为调整数据块的副本数量,使 得各数据块被访问的任务总数与对应的所述各数据块的当前副本所能支撑的任务总数达 到平衡;调整模块,用于根据所述调整策略对分布式文件系统中的各数据块的副本数量进 行调整。本发明实施例提供了一种分布式计算平台系统,包括分布式计算框架和分布式文 件系统,所述分布式计算框架包括计算管理节点和多个计算节点,所述分布式文件系统包 括元数据服务器节点和多个数据节点,所述计算管理节点包括用户任务管理模块和任务调 度模块;所述分布式计算框架用于接收用户提交的任务,并对任务队列中的任务进行管理 和调度,所述分布式文件系统用于保存数据块信息,所述计算管理节点用于对任务队列中 的各个任务进行管理和调度,所述计算节点用于对数据块进行计算处理,所述元数据服务 器节点用于保存各文件的数据分块情况、各数据块所在的数据节点信息以及各数据节点包 含的数据块信息,所述数据节点用于保存实际的数据块;所述分布式计算平台系统还包括 上述参数调整装置。本发明实施例提供的一种参数调整方法、装置和分布式计算平台系统,通过当任 务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和调整策略生成调 整策略,根据该调整策略来对分布式文件系统中的各数据块的副本数量进行调整,由于本 实施例基于任务队列的变化来生成调整策略,则实现了对数据块副本数量的预先自动调 整,能够及时准确地解决多个任务同时访问同一数据块导致的数据热点问题,从而提高了 分布式计算平台的处理性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。图1为现有技术的分布式计算框架中的任务调度示意图;图2为现有技术的分布式文件系统中的数据块操作示意图;图3为现有技术的分布式文件系统中数据热点的示意图;图4为本发明参数调整方法实施例一的流程图;图5为本发明参数调整方法实施例二的流程图6为本发明参数调整方法实施例二中分布式计算平台的系统架构图;图7为本发明参数调整装置实施例一的结构示意图;图8为本发明参数调整装置实施例二的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图4为本发明参数调整方法实施例一的流程图,如图4所示,本实施例提供了一种 参数调整方法,可以具体包括如下步骤步骤401,当任务队列发生变化时,根据获取的任务队列信息、分布式文件系统的 数据块信息和调度策略生成调整策略。本实施例可以具体应用于计算机服务器上的数据密集型分布式计算平台中,而这 种分布式计算平台的应用场景包括很多,如搜索网站的海量网页处理和搜索建立、商业智 能分析、海量目志分析等等,在电信领域中的应用可以为海量话单统计、告警分析、内容分 发网络(Content Delivery Network ;以下简称CDN)等。本实施例主要解决分布式计算 平台中多个任务同时访问同一个数据块所容易出现的数据热点问题,就是说同时运行的计 算任务大于同一个数据块的副本个数时,此处以海量话单统计应用为例来说明数据热点问 题的产生。例如,如果分布式文件系统按照省份(广东)/市(深圳)/区(龙岗)/镇(坂 田)等统计所有用户的话单信息,则这些数据的规模将是海量的;可以根据不同的需求进 行以下方式的统计(1)深圳所有用户的在网时间、⑵龙岗地区所有用户的花费清单、⑶ 坂田地区用户欠费情况,则此时坂田地区的用户话单信息被多种情况统计使用,则形成了 数据热点问题。在本实施例中,为了解决数据热点问题,对数据块的副本数量进行自适应调整,具 体在任务队列发生变化时触发数据块的副本数量的调整。本步骤为在任务队列发生变化 时,根据获取的任务队列信息、分布式文件系统的数据块信息和调度策略来生成调整策略。 其中,任务队列信息为分布式计算平台中任务队列中的任务信息,其可以当前任务队列中 所包含的各任务的属性信息等,如该任务为读任务或写任务、该任务将要访问哪个数据块 等;分布式文件系统的数据块信息可以为分布式文件系统当前的相关信息,可以包括数据 节点中各数据块当前的副本数量、分布式文件系统的空间容量等;调度策略为调度任务队 列中各任务所采用的策略,可以为并行调度策略,也可以为分组调度策略等等,不同的调度 策略所生成的本实施例中的调整策略可以是不同的。本步骤中生成的调整策略的原则为通 过调整数据块的副本数量,使得各数据块被访问的任务总数与对应的所述各数据块的当前 副本所能支撑的任务总数达到平衡。本步骤可以根据上述获取的各个信息来生成具体的调整策略,即本实施例中生成 调整策略的过程为自适应的过程,具体根据任务队列变化的不同时刻获取的不同信息来调 整,无需管理员进行手工调整。另外,由于分布式计算平台中存在一个任务队列,用户提交 的任务先进入任务队列中,再根据计算资源的繁忙情况按照预设的顺序对任务队列中的各任务进行调度,以下发给各计算节点进行运算。其中,当任务被添加到任务队列中后,便已 确定各任务所要访问的数据块信息,则本实施例基于任务队列来确定调整策略时,可以在 任务真正运行之前便可以获知其所访问的哪些数据块,从而可以事前生成相应的调整策 略。本实施例之所以在任务队列发生变化时触发生成调整策略,是由于当任务队列中新增 任务或任务被删除时,分布式文件系统中后续被访问的数据块会发生变化,可能导致某个 数据块出现数据热点问题,也可能之前出现数据热点问题的数据块恢复为正常。因此,每当 任务队列发生变化时,便生成相应的调整策略,这样可以更加准确及时地解决数据热点问 题。步骤402,根据调整策略对分布式文件系统中的各数据块的副本数量进行调整。在经过上述步骤完成调整策略的生成后,本步骤根据生成的调整策略实时地对分 布式文件系统中各数据块的副本数量进行调整。当然,上述生成的调整策略对于不同的数 据块可能各不相同,调整策略可以为增加数据块的副本数量,也可以为减少数据块的副本 数量,还可以为不对数据块的副本数量进行调整。本实施例在任务执行之前便事先调整好 数据块的副本数量,后续则可以根据调整后的数据块的副本数量来执行任务队列中的各任 务,因此,当任务队列中的任务开始执行时,则已有足够的数据块副本供其使用,从而可以 避免数据热点问题。本实施例提供了一种参数调整方法,通过当任务队列发生变化时,根据任务队列 信息、分布式文件系统的数据块信息和调度策略生成调整策略,根据该调整策略来对分布 式文件系统中的各数据块的副本数量进行调整,由于本实施例基于任务队列的变化来生成 调整策略,则实现了对数据块副本数量的预先自动调整,能够及时准确地解决多个任务同 时访问同一数据块导致的数据热点问题,从而提高了分布式计算平台的处理性能。图5为本发明参数调整方法实施例二的流程图,如图5所示,本实施例提供了一种 参数调整方法,可以具体包括如下步骤步骤501,当任务队列发生变化时,根据变化后的任务队列获取任务队列信息和该 任务队列信息对应的数据块信息。当检测到任务队列发生变化时,根据变化后的任务队列可以获取到任务队列信 息,即获取到当前任务队列中所包含的队列信息,根据该任务队列信息获取其对应的数据 块信息,即获取到变化后的任务队列中各任务所访问的数据块信息。此处的任务队列的变 化可以包括任务队列中新增任务、删除原任务、以及原任务所访问的数据块发生变化。如变 化后的任务队列中包含任务1、任务2、任务3和任务4,其中,任务4为新增任务,任务1正 在访问数据块1,任务2正在访问数据块3,且任务将要访问数据块2和数据块3,任务3正 在访问数据块2和数据块4,任务4将要访问数据块3。则此时可以获取到任务队列信息为 任务1、任务2、任务3和任务4,任务队列信息对应的数据块信息则为上述各任务所访问的 数据块信息。图6为本发明参数调整方法实施例二中分布式计算平台的系统架构图,如图6 所示,具体地,本步骤可以具体由图6中分布式计算平台中的用户任务管理模块来执行,当 有新的任务进入分布式计算平台中时,该任务先发送到该用户任务管理模块,由用户任务 管理模块将其保存在任务队列中,并当任务队列发生变化时,获取任务队列信息和该任务 队列信息对应的数据块信息。步骤502,根据任务队列信息和任务队列信息对应的数据块信息获取任务队列中所有任务正在访问和将要访问的数据块集合,并统计数据块集合中各数据块将被访问的任 务数量和各数据块正在被访问的任务数量。根据上述获取的任务队列信息和任务队列信息对应的数据块信息,获取当前任务 队列中所有任务正在访问的数据块和将要访问的数据块的集合,此处可以假设该集合为D, 其中,Dn表示该集合中的一个数据块,即Dn e D,η =
,N为D中所包含的数据块的 数量。仍以上述举例为例,根据任务队列信息和任务队列信息对应的数据块信息可以获取 到当前任务队列中所有任务正在访问和将要访问的数据块集合为数据块1、数据块2、数 据块3和数据块4。本步骤在获取到数据块集合D后,对数据块集合中各数据块Dn进行统 计,统计数据块集合中各数据块将被访问的任务数量An和各数据块正在被访问的任务数量 K'。此时统计得到数据块1正在被任务1访问,且没有任务将访问数据块1,则数据块1 将被访问的任务数量为0,数据块1正在被访问的任务数量为1 ;数据块2正在被任务3访 问,且将被任务2访问,则数据块2将被访问的任务数量为1,数据块2正在被访问的任务数 量为1 ;数据块3正在被任务2访问,且将被任务2和任务4访问,则数据块3将被访问的 任务数量为2,数据块4正在被访问的任务数量为1 ;数据块4正在被任务3访问,且没有任 务将要访问数据块4,则数据块4将被访问的任务数量为0,数据块4正在被访问的任务数 量为1。继续参照上述图6,具体地,本步骤也可以具体由图6中分布式计算平台中的用户 任务管理模块来执行,该用户任务管理模块根据任务队列信息和任务队列信息对应的数据 块信息获取任务队列中所有任务正在访问和将要访问的数据块集合,并统计数据块集合中 各数据块将被访问的任务数量和各数据块正在被访问的任务数量。用户任务管理模块可以 将获取到的各数据块将被访问的任务数量An和各数据块正在被访问的任务数量An'发送 到图6中的指令生成模块中。步骤503,获取分布式文件系统的数据块信息,分布式文件系统的数据块信息包括 数据块集合中各数据块当前的副本数量和分布式文件系统的剩余空间量。本步骤为获取分布式文件系统的数据块信息,该分布式文件系统的数据块信息包 括数据块集合中各数据块当前的副本数量和分布式文件系统的剩余空间量,在根据上述步 骤获取当前数据块集合中的各数据块后,可以直接根据数据块自身的信息获知该数据块当 前已有的副本数量,也可以直接获取到分布式文件系统的剩余空间量。具体地,可以具体为 从图6中的元数据服务器节点获取分布式文件系统的数据块信息,此处的分布式文件系统 的数据块信息可以包括上述步骤中统计的数据块集合中各数据块Dn当前的副本数量Rn和 分布式文件系统的剩余空间量F,将各数据块当前的副本数量Rn和分布式文件系统的剩余 空间量F发送到图6中的指令生成模块中。步骤504,根据各数据块将被访问的任务数量、各数据块正在被访问的任务数量、 各数据块当前的副本数量、预设的参考性能参数和调度策略计算各数据块对应的副本数量 的调整参数。在获取到各数据块将被访问的任务数量An、各数据块正在被访问的任务数量 An'、各数据块当前的副本数量Rn,再进一步获取到预设的参考性能参数R&,该参考性能参 数Rm用于表示每个数据块副本所能支撑的并发访问的任务数量,其可以结合实际应用场 景和存储集群规模自适应地动态调整。同时,本实施例中在计算调整参数时,还根据获取到 的当前的调度策略,可以具体从图6中的任务调度模块来获取。本步骤可以为根据各数据块将被访问的任务数量An、各数据块正在被访问的任务数量An'、各数据块当前的副本数 量Rn、参考性能参数Rref和调度策略来分别计算各数据块对应的副本数量的调整参数,此处 可以假设数据块Dn对应的副本数量的调整参数为xn。本实施例中的计算得到的副本数量 的调整参数具体用于后续步骤中副本数量的调整过程。具体地,本步骤可以具体由图6中 的指令生成模块来执行,指令生成模块根据获取的各数据块将被访问的任务数量、各数据 块正在被访问的任务数量、各数据块当前的副本数量、预设的参考性能参数和调度策略计 算各数据块对应的副本数量的调整参数。当调度策略为并行调度策略时,可以具体采用下述公式(1)来计算Rref = Functionl (An, A' n, xn, Rn)(1)由此计算得到数据块Dn对应的副本数量的调整参数Xn如下公式(2)所示xn = Function2 (Rref,Rn, An, A' n)(2)例如,本实施例可以具体采用下述公式(3)来计算各数据块对应的副本数量的调 整参数Rref = (An+A' n+xn) /Rn(3)进而得到数据块Dn对应的副本数量的调整参数Xn如下公式(4)所示xn = RrefXRn-An-A' n(4)当然,上述计算公式(3)只是一个示例,本领域技术人员可以根据实际情况采用 其他不同的计算公式来得到调整参数。当调度策略为分组调度策略时,每个任务组中的所有任务为并行调度,而任务组 与任务组之间保持串行调度,例如,任务队列中有A和B两个任务组,在进行任务调度时,先 并行执行A任务组中的所有任务,当其所有任务均执行完成后,再并行执行B任务组中的所 有任务。此时,可以采用上述公式(1)的公式,具体可以采用上述公式(3)来分别获取A任 务组和B任务组对应的各数据块对应的副本数量的调整参数,再根据一定的策略为每个数 据块选择一个调整参数。此处假设A任务组和B任务组均各自包括三个任务,A任务组中 各任务所访问的数据块集合为Ka,b,c) (a, b) (a, b)},B任务组中各任务所访问的数据块 集合为{(a,b,c) (b) (a)},其中,根据上述公式获取到的A任务组对应的数据块a对应的调 整参数为2,A任务组对应的数据块b对应的调整参数为2,获取到的B任务组对应的数据 块a对应的调整参数为1,B任务组对应的数据块b对应的调整参数为1。在选择各数据块 对应的调整参数时,具体地,可以将之前获取到的A任务组和B任务组对应的同一数据块对 应的副本数量的调整参数的最大值或最小值作为该数据块对应的副本数量的调整参数,即 可以取调整参数2作为数据块a的最终调整参数;或者,也可以在具体执行某一个任务组 时,采用之前获取到的该任务组对应的各数据块的副本数量的调整参数;或者,也可以在具 体执行某一任务组时,采用之前获取到的该任务组的下一任务组对应的各数据块的副本数 量的调整参数。需要指出的是,上述仅以并行调度策略和分组调度策略为例来说明根据调度策略 的调整参数的获取方法,此处也不可能穷尽所有调度策略,本领域技术人员可以理解,对于 所采用过的其他调度策略来说,其获取调整参数的方法是类似的,其均包含在本发明所保 护的范围之内。步骤505,根据各数据块对应的副本数量的调整参数、上调参考阈值、下调参考阈值、单位副本占用空间量和所述分布式文件系统的剩余空间量生成各数据块对应的调整策 略。在计算生成各数据块对应的副本数量的调整参数\后,本步骤可以根据该调整参 数来生成对应的调整策略,可以先设定一个上调参考阈值和一个下调参考阈值,即根据上 述两个参考阈值来具体生成对应的调整策略。其中,此处的上调参考阈值可以采用Fref来 表示,该值可以结合实际应用场景和存储集群规模自适应动态调整,用于表示文件系统的 剩余空间达到多少时才允许上调副本数量;下调参考阈值可以采用来表示,该值也可 以结合实际应用场景和存储集群规模自适应动态调整,用于表示文件系统的剩余空间低于 多少时,才允许下调副本数量,若剩余空间充足,则可以先不用马上下调副本数量。本步骤 还根据实际情况来设定单位副本占用空间量,此处可以由S来表示,即一个数据块副本所 占的空间量。本步骤也可以具体由图6中的指令生成模块来执行,指令生成模块根据获取 的各数据块Dn对应的副本数量的调整参数Xn、上调参考阈值FMf、下调参考阈值F’ Mf、单位 副本占用空间量S和上述步骤中获取到的分布式文件系统的剩余空间量F来生成各数据块 Dn对应的调整策略。此处的调整策略可以为无需调整副本数量、增加副本数量或减少副本 数量。具体地,上述调整策略的生成可以具体为若Conditi0nA(Xn,F,Fref, F' ref, S)成 立,则对应的调整策略为无需调整该数据块的副本数量;若ConditionB(Xn,F,Fref, F' ref, S)成立,则对应的调整策略为增加该数据块的副本数量;若ConditionC(xn, F,Fref, F' ref, S)成立,则对应的调整策略为减少该数据块的副本数量。以下将对上述ConditionA(Xn,F, Fref, F' ref, S) > ConditionB (xn, F, Fref, F' ref,S)禾口 ConditionC(xn, F, Fref, F' ref,S)进对亍 举例具体说明。其中,ConditionA(xn, F,Fref, F' ref, S)可以具体为获取到的数据块Dn对应的副 本数量的调整参数Xn为零,此时则该数据块对应的调整策略为无需对该数据块的副本数量 进行调整。ConditionB(xn, F,Fref, F' ref, S)可以具体为数据块对应的副本数量的调整参 数Xn大于零,且分布式文件系统的剩余空间量F大于上调参考阈值F&,此时表明当前应 增加该数据块的副本数量,且分布式文件系统的剩余空间满足上调的条件。如果数据块对 应的副本数量的调整参数Xn大于零,但分布式文件系统的剩余空间量F小于上调参考阈 值F&,则表明当前剩余空间较小,可以不增加该数据块对应的副本数量。当满足上述条件 ConditionB (xn, F,Fref,F' ref, S)时,可以再判断分布式文件系统的剩余空间量F是否大于 数据块Dn对应的副本数量的调整参数Xn的绝对值与单位副本占用空间量S之积,如果F > (|xn| XS),则此时生成的该数据块的待调整的副本数量为IxnI,进而直接在该数据块当前 的副本数量上增加IxnI个副本,即当满足条件(Xn > 0&F > Fref&F > (IxJxs))时,生成 的数据块Dn对应的调整策略为增加|xn|个副本。否则如果?< (IxjXS)时,可以先根据 数据块Dn对应的副本数量的调整参数Xn、单位副本占用空间量S和分布式文件系统的剩余 空间量F来具体计算该数据块的待调整的副本数量,即计算分布式文件系统的当前剩余空 间量可以满足增加多少个副本,此处计算得到的该数据块的待调整的副本数量可以具体为 mod(F/S),再根据该待调整的副本数量来生成对应的调整策略具体为将该数据块的副本数 量调整为该数据块的当前副本数量与待调整的副本数量之和,即上调mod(F/S)个副本。
ConditionC(xn, F,Fref, F' ref, S)可以具体为数据块对应的副本数量的调整参 数Xn小于零,且分布式文件系统的剩余空间量F小于下调参考阈值F' ref,此时表明当前 应减少该数据块的副本数量,且分布式文件系统的剩余空间满足下调的条件。如果数据块 对应的副本数量的调整参数Xn小于零,但分布式文件系统的剩余空间量F大于下调参考 阈值FMf,则表明当前仍有足够的空间,可以先不急于下调该数据块对应的副本数量。当满 足上述条件ConditionC(Xn,F,Fref, F' ref, S),可以生成该数据块对应的调整策略为将该 数据块的副本数量调整为当前副本数量与调整参数的绝对值之差,即满足条件(xn < 0&F <Fref')时,将该数据块的副本数量调整为当前副本数量与调整参数的绝对值之差,即下 调IxnI个副本。步骤506,将调整策略从分布式计算框架发送到分布式文件系统。继续参见上述图6,在经过上述步骤生成各数据块对应的调整策略后,可以将调整 策略从分布式计算框架发送到分布式文件系统中,具体将调整策略由分布式计算框架中的 指令生成模块发送到分布式文件系统中的元数据服务器节点。步骤507,由分布式文件系统中的元数据服务器节点根据调整策略对相应的数据 节点中的数据块的副本数量进行调整。分布式文件系统中的元数据服务器节点在接收到调整策略后,根据调整策略对相 应的数据节点中的数据块的副本数量进行调整。具体地,当数据块对应的调整策略为不调 整策略时,元数据服务器节点无需对对应的数据块的副本数量进行调整;当数据块对应的 调整策略为上调指令时,将对应的数据块的副本数量调整为该数据块的当前副本数量与待 调整的副本数量之和;当数据块对应的调整策略为下调指令时,将对应的数据块的副本数 量调整为该当前副本数量与调整参数的绝对值之差。完成对各数据块的副本数量的调整 后,便可以根据调整后的副本数量来执行变化后的任务队列中的各任务。参见上述6,本实施例在现有的数据密集型分布式计算平台的基础之上,增加一个 指令生成模块,该指令生成模块可以位于分布式计算框架中的计算管理节点上,其与计算 管理节点上的用户任务管理模块和分布式文件系统中的元数据服务器节点相连,进行数据 通信。从图中可以看出,当有新的任务提交时,该任务先被发送到用户任务管理模块,由用 户任务管理模块将任务添加到任务队列中进行管理,用户任务管理模块可以根据任务队列 的变化来获取任务队列信息和任务队列信息对应的数据块信息,并统计所述数据块集合中 各数据块将被访问的任务数量和所述各数据块正在被访问的任务数量,指令生成模块从用 户任务管理模块获取数据块集合中各数据块将被访问的任务数量和各数据块正在被访问 的任务数量。指令生成模块从元数据服务器节点获取数据块集合中各数据块当前的副本数 量和分布式文件系统的剩余空间量。指令生成模块根据各数据块将被访问的任务数量、各 数据块正在被访问的任务数量、各数据块当前的副本数量和分布式文件系统的剩余空间量 生成调整策略,将调整策略再发送到元数据服务器节点,由元数据服务器节点具体对分布 式文件系统中的各数据块的副本数量进行调整。另外,计算管理节点上还设置有任务调度 模块,在开始任务的执行时,用户任务管理模块将任务队列中的任务发送到任务调度模块, 由任务调度模块根据各任务的实际情况将任务调度到分布式计算框架中的各计算节点上, 计算节点则对分布式文件系统中的相应的数据节点中的数据块进行读取等操作。其中,数 据节点来源于数据采集节点/集群,其从各服务器上采集数据。
本实施例提供了一种参数调整方法,通过当任务队列发生变化时,根据任务队列 信息、分布式文件系统的数据块信息和调度策略生成调整策略,根据该调整策略来对分布 式文件系统中的各数据块的副本数量进行调整,由于本实施例基于任务队列的变化来生成 调整策略,则实现了对数据块副本数量的预先自动调整,能够及时准确地解决多个任务同 时访问同一数据块导致的数据热点问题,从而提高了分布式计算平台的处理性能。本实施 例与现有技术中的方案相比具有简易性、高效性,且本实施例可以根据实际情况下调数据 块的副本数量,以降低磁盘占用空间,进一步提高分布式计算平台的处理性能。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。图7为本发明参数调整装置实施例一的结构示意图,如图7所示,本实施例提供了 一种参数调整装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施 例提供的参数调整装置可以具体包括指令生成模块701和调整模块702。其中,指令生成模 块701用于当任务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和 调度策略生成调整策略。调整模块702用于根据所述调整策略对分布式文件系统中的各数 据块的副本数量进行调整。其中,所述调整策略为调整数据块的副本数量将各数据块被访 问的任务总数与对应的所述各数据块的当前副本所能支撑的任务总数达到平衡。图8为本发明参数调整装置实施例二的结构示意图,如图8所示,本实施例提供了 一种参数调整装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施 例提供的参数调整装置在上述图7所示的基础之上,还可以包括获取模块801和统计模块 802。其中,获取模块801用于根据变化后的任务队列获取任务队列信息和所述任务队列信 息对应的数据块信息。统计模块802用于根据所述任务队列信息和所述任务队列信息对应 的数据块信息获取所述任务队列中所有任务正在访问和将要访问的数据块集合,并统计所 述数据块集合中各数据块将被访问的任务数量和所述各数据块正在被访问的任务数量。具体地,本实施例中的指令生成模块701可以具体包括获取子模块711和生成子 模块721。其中,获取子模块711用于获取所述数据块集合中各数据块将被访问的任务数量 和所述各数据块正在被访问的任务数量,获取所述分布式文件系统的数据块信息,所述分 布式文件系统的数据块信息包括所述数据块集合中各数据块当前的副本数量和分布式文 件系统的剩余空间量。生成子模块721用于根据所述各数据块将被访问的任务数量、所述 各数据块正在被访问的任务数量、所述各数据块当前的副本数量、分布式文件系统的剩余 空间量和调度策略生成调整策略。具体地,本实施例中的生成子模块721可以具体包括计算单元7211和生成单元 7212。其中,计算单元7211用于根据所述各数据块将被访问的任务数量、所述各数据块正 在被访问的任务数量、所述各数据块当前的副本数量和预设的参考性能参数计算所述各数 据块对应的副本数量的调整参数。生成单元7212用于根据所述各数据块对应的副本数量 的调整参数、上调参考阈值、下调参考阈值、单位副本占用空间量、所述分布式文件系统的 剩余空间量和调度策略生成所述各数据块对应的调整策略。具体地,本实施例中的生成单元7212可以具体包括第一生成子单元72121、第二生成子单元72122和第三生成子单元72123。其中,第一生成子单元72121用于当数据块对 应的副本数量的调整参数的值为零时,生成所述数据块对应的调整策略为不调整所述数据 块的副本数量。第二生成子单元72122用于当数据块对应的副本数量的调整参数的值大于 零,且所述分布式文件系统的剩余空间量大于所述上调参考阈值时,根据所述数据块对应 的副本数量的调整参数、所述单位副本占用空间量和所述分布式文件系统的剩余空间量计 算所述数据块的待调整的副本数量,并生成所述数据块对应的调整策略为将所述数据块的 副本数量调整为所述数据块的当前副本数量与所述待调整的副本数量之和。第三生成子单 元72123用于当数据块对应的副本数量的调整参数的值小于零,且所述分布式文件系统的 剩余空间量小于所述下调参考阈值时,生成所述数据块对应的调整策略为将所述数据块的 副本数量调整为所述数据块的当前副本数量与所述调整参数的绝对值之差。进一步地,本实施例中的调整模块702可以具体包括发送子模块712和调整子模 块722。其中,发送子模块712用于将所述调整策略从分布式计算框架发送到分布式文件系 统。调整子模块722用于由所述分布式文件系统中的元数据服务器节点根据所述调整策略 对相应的数据节点中的数据块的副本数量进行调整。本实施例提供了一种参数调整装置,通过当任务队列发生变化时,根据任务队列 信息、分布式文件系统的数据块信息和调度策略生成调整策略,根据该调整策略来对分布 式文件系统中的各数据块的副本数量进行调整,由于本实施例基于任务队列的变化来生成 调整策略,则实现了对数据块副本数量的预先自动调整,能够及时准确地解决多个任务同 时访问同一数据块导致的数据热点问题,从而提高了分布式计算平台的处理性能。本实施 例与现有技术中的方案相比具有简易性、高效性,且本实施例可以根据实际情况下调数据 块的副本数量,以降低磁盘占用空间,进一步提高分布式计算平台的处理性能。本实施例还提供了一种分布式计算平台系统,继续参见上述图6,该分布式计算 平台系统可以包括分布式计算框架和分布式文件系统,分布式计算框架可以包括计算管理 节点和多个计算节点,分布式文件系统包括元数据服务器节点和多个数据节点,计算管理 节点可以包括用户任务管理模块和任务调度模块。其中,分布式计算框架用于接收用户提 交的任务,并对任务队列中的任务进行管理和调度;分布式文件系统用于保存数据块信息; 述计算管理节点用于对任务队列中的各个任务进行管理和调度;计算节点用于对数据块进 行计算处理;元数据服务器节点用于保存各文件的数据分块情况、各数据块所在的数据节 点信息以及各数据节点包含的数据块信息;数据节点用于保存实际的数据块。本实施例中 的分布式计算平台系统还包括上述图7或图8所示的参数调整装置,关于参数调整装置的 结构此处不再赘述。其中,参数调整装置中的获取模块和统计模块可以位于用户任务管理 模块中,参数调整装置中的调整模块可以位于元数据服务器节点中。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范 围。
权利要求
1.一种参数调整方法,其特征在于,包括当任务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和调度策 略生成调整策略;其中,所述调整策略为调整数据块的副本数量,使得各数据块被访问的任 务总数与对应的所述各数据块的当前副本所能支撑的任务总数达到平衡;根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整。
2.根据权利要求1所述的方法,其特征在于,还包括根据变化后的任务队列获取任务队列信息和所述任务队列信息对应的数据块信息;根据所述任务队列信息和所述任务队列信息对应的数据块信息获取所述任务队列中 所有任务正在访问和将要访问的数据块集合,并统计所述数据块集合中各数据块将被访问 的任务数量和所述各数据块正在被访问的任务数量。
3.根据权利要求2所述的方法,其特征在于,所述当任务队列发生变化时,根据任务队 列信息、分布式文件系统的数据块信息和调度策略生成调整策略包括获取所述数据块集合中各数据块将被访问的任务数量和所述各数据块正在被访问的 任务数量,获取所述分布式文件系统的数据块信息,所述分布式文件系统的数据块信息包 括所述数据块集合中各数据块当前的副本数量和分布式文件系统的剩余空间量;根据所述各数据块将被访问的任务数量、所述各数据块正在被访问的任务数量、所述 各数据块当前的副本数量、分布式文件系统的剩余空间量和调度策略生成调整策略。
4.根据权利要求3所述的方法,其特征在于,所述根据所述各数据块将被访问的任务 数量、所述各数据块正在被访问的任务数量、所述各数据块当前的副本数量、分布式文件系 统的剩余空间量和调度策略生成调整策略包括根据所述各数据块将被访问的任务数量、所述各数据块正在被访问的任务数量、所述 各数据块当前的副本数量、预设的参考性能参数和调度策略计算所述各数据块对应的副本 数量的调整参数;根据所述各数据块对应的副本数量的调整参数、上调参考阈值、下调参考阈值、单位副 本占用空间量和所述分布式文件系统的剩余空间量生成所述各数据块对应的调整策略。
5.根据权利要求4所述的方法,其特征在于,所述根据所述各数据块对应的副本数量 的调整参数、上调参考阈值、下调参考阈值、单位副本占用空间量和所述分布式文件系统的 剩余空间量生成所述各数据块对应的调整策略包括当数据块对应的副本数量的调整参数的值为零时,生成所述数据块对应的调整策略为 不调整所述数据块的副本数量;当数据块对应的副本数量的调整参数的值大于零,且所述分布式文件系统的剩余空间 量大于所述上调参考阈值时,根据所述数据块对应的副本数量的调整参数、所述单位副本 占用空间量和所述分布式文件系统的剩余空间量计算所述数据块的待调整的副本数量,并 生成所述数据块对应的调整策略为将所述数据块的副本数量调整为所述数据块的当前副 本数量与所述待调整的副本数量之和;当数据块对应的副本数量的调整参数的值小于零,且所述分布式文件系统的剩余空间 量小于所述下调参考阈值时,生成所述数据块对应的调整策略为将所述数据块的副本数量 调整为所述数据块的当前副本数量与所述调整参数的绝对值之差。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整包括将所述调整策略从分布式计算框架发送到分布式文件系统;由所述分布式文件系统中的元数据服务器节点根据所述调整策略对相应的数据节点 中的数据块的副本数量进行调整。
7. 一种参数调整装置,其特征在于,包括指令生成模块,用于当任务队列发生变化时,根据任务队列信息、分布式文件系统的数 据块信息和调度策略生成调整策略;其中,所述调整策略为调整数据块的副本数量,使得各 数据块被访问的任务总数与对应的所述各数据块的当前副本所能支撑的任务总数达到平调整模块,用于根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整。
8.根据权利要求7所述的装置,其特征在于,还包括获取模块,用于根据变化后的任务队列获取任务队列信息和所述任务队列信息对应的 数据块信息;统计模块,用于根据所述任务队列信息和所述任务队列信息对应的数据块信息获取所 述任务队列中所有任务正在访问和将要访问的数据块集合,并统计所述数据块集合中各数 据块将被访问的任务数量和所述各数据块正在被访问的任务数量。
9.根据权利要求8所述的装置,其特征在于,所述指令生成模块包括获取子模块,用于获取所述数据块集合中各数据块将被访问的任务数量和所述各数据 块正在被访问的任务数量,获取所述分布式文件系统的数据块信息,所述分布式文件系统 的数据块信息包括所述数据块集合中各数据块当前的副本数量和分布式文件系统的剩余 空间量;生成子模块,用于根据所述各数据块将被访问的任务数量、所述各数据块正在被访问 的任务数量、所述各数据块当前的副本数量、分布式文件系统的剩余空间量和调度策略生 成调整策略。
10.根据权利要求9所述的装置,其特征在于,所述生成子模块包括计算单元,用于根据所述各数据块将被访问的任务数量、所述各数据块正在被访问的 任务数量、所述各数据块当前的副本数量、预设的参考性能参数和调度策略计算所述各数 据块对应的副本数量的调整参数;生成单元,用于根据所述各数据块对应的副本数量的调整参数、上调参考阈值、下调参 考阈值、单位副本占用空间量和所述分布式文件系统的剩余空间量生成所述各数据块对应 的调整策略。
11.根据权利要求10所述的装置,其特征在于,所述生成单元包括第一生成子单元,用于当数据块对应的副本数量的调整参数的值为零时,生成所述数 据块对应的调整策略为不调整所述数据块的副本数量;第二生成子单元,用于当数据块对应的副本数量的调整参数的值大于零,且所述分布 式文件系统的剩余空间量大于所述上调参考阈值时,根据所述数据块对应的副本数量的调 整参数、所述单位副本占用空间量和所述分布式文件系统的剩余空间量计算所述数据块的 待调整的副本数量,并生成所述数据块对应的调整策略为将所述数据块的副本数量调整为所述数据块的当前副本数量与所述待调整的副本数量之和;第三生成子单元,用于当数据块对应的副本数量的调整参数的值小于零,且所述分布 式文件系统的剩余空间量小于所述下调参考阈值时,生成所述数据块对应的调整策略为将 所述数据块的副本数量调整为所述数据块的当前副本数量与所述调整参数的绝对值之差。
12. —种分布式计算平台系统,包括分布式计算框架和分布式文件系统,所述分布式计 算框架包括计算管理节点和多个计算节点,所述分布式文件系统包括元数据服务器节点和 多个数据节点,所述计算管理节点包括用户任务管理模块和任务调度模块;所述分布式计 算框架用于接收用户提交的任务,并对任务队列中的任务进行管理和调度,所述分布式文 件系统用于保存数据块信息,所述计算管理节点用于对任务队列中的各个任务进行管理和 调度,所述计算节点用于对数据块进行计算处理,所述元数据服务器节点用于保存各文件 的数据分块情况、各数据块所在的数据节点信息以及各数据节点包含的数据块信息,所述 数据节点用于保存实际的数据块;其特征在于,所述分布式计算平台系统还包括上述权利 要求7-11中任一项所述的参数调整装置。
全文摘要
本发明实施例公开了一种参数调整方法、装置和分布式计算平台系统,其中方法包括当任务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和调整策略生成调整策略;根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整。装置包括指令生成模块,用于当任务队列发生变化时,根据任务队列信息、分布式文件系统的数据块信息和调整策略生成调整策略;调整模块,用于根据所述调整策略对分布式文件系统中的各数据块的副本数量进行调整。本实施例还提供了一种分布式计算平台系统。本实施例能够及时准确地解决多个任务同时访问同一数据块导致的数据热点问题。
文档编号H04L29/08GK102111438SQ201010614960
公开日2011年6月29日 申请日期2010年12月24日 优先权日2010年12月24日
发明者刘刚, 刘存伟, 陆元飞, 黄西华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1