基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法技术

技术编号:11015165 阅读:127 留言:0更新日期:2015-02-06 00:22
本发明专利技术涉及基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,包括:S1:Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态;S2:Planner从名称节点上读取表的所有数据包的分布信息;S3:通过Planner读取的所有数据分析引擎系统中全部存活节点的IP地址和负载状态以及从名称节点上读取表的所有数据包的分布信息利用迭代式回溯算法实现负载均衡。本发明专利技术通过产生的Planner在尽力保证计算本地化的基础上,能够快速、高效的实现负载均衡。

【技术实现步骤摘要】
基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法
本专利技术涉及计算机分布式数据库
,尤其涉及基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法。
技术介绍
目前,大部分数据分析引擎是通过搬动HDFS文件来实现负载均衡,即改变HDFS文件的物理位置,例如,从Data Node A (数据节点A)搬到Data Node B (数据节点B),本专利技术人还没有发现在数据运行时实现负载均衡方面的相关研究。Map Reduce模型的不足是分配任务方式存在一些不必要的远程读取,影响查询或者存储数据的性能。
技术实现思路
本专利技术所要解决的技术问题是如何将大表计算发送到数据存储的节点去执行,尽量避免数据通过网络传输到其它节点去计算,节约带宽占用的关键问题。 为此目的,本专利技术提出了基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,提高系统的计算和查询速度。具体包括以下步骤: SI =Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态; S2 =Planner从名称节点上读取表的所有数据包的分布信息; S3:通过Planner读取的数据分析引擎系统中全部存活节点的IP地址和负载状态以及从所述名称节点上读取表的所有数据包的分布信息利用迭代式回溯算法实现负载均衡。 进一步地,所述步骤SI还包括:Planner将全部存活节点的负载状态换算为相对应大小的数据包。 进一步地,所述步骤SI还包括:内存空间量最大的节点不需要进行换算为相对应大小的数据包。 具体地,所述Planner将全部存活节点的负载状态换算为相对应大小的数据包的具体过程为:找到空闲内存量最大的节点,将其空闲内存值记SMfflax;以及分别计算其它节点的数据包的大小,等于Mmax-Mfree其中,Mf_为当前机器的空闲内存量。 进一步地,所述步骤S2还包括:如果副本所在的节点地址列表为空,则该数据包的副本所在的机器上没有运行数据分析引擎,通过远程读取,将副本地址设置成所有存活的数据分析引擎的地址;如果副本所在的节点地址列表不为空,则不添加数据分析引擎地址到地址列表中。 进一步地,所述步骤S3还包括: S31 =Planner将所有的数据包分成N组,每组M个数据包; S32:将可能最优解初始化为空,评价值设为-1 ; S33:从第一组开始,每向前搜索一步,便用剪枝函数判断该条分支是否有可能产生更优的解; S34:如果该分支不能产生更优解则剪掉该分支,后退一步,用剪枝函数寻找到可能产生更优解的其它分支,继续搜索; S35:搜索到此组数据包队列的末尾,产生新的解; S36:利用评价函数A计算新解的评价值; S37:如果可能最优解的评价值为-1,则将所述新产生的解保存为可能最优解;如果评价值小于可能最优解,则判定新产生的解更好,则将所述新产生的解保存为可能最优解;如果评价值大于可能最优解,则丢弃掉。 S38:Planner根据所有的数据包的分配结果和当前组将要分配的数据包的数据量进行计算的,其中,Planner使用S31-S37上述这种方法可以使之前分配的信息对后续数据包的分配产生影响,且分配方式能让每组数据包的分配不会彼此独立,使得分配的数据量更接近均衡。 进一步地,所述步骤S37还包括:如果评价值大于可能最优解,则丢弃掉,继续搜索其它分支,直到搜索组的搜索结束,其中,保存的可能最优解是所有产生的可能解中最优的解。 具体地,所述负载状态包括CPU使用情况与内存使用情况。 具体地,所述读取表的所有数据包的分布信息包括:数据包的大小和副本所在的节点地址。 本专利技术公开了基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,通过Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态;Planner从名称节点上读取表的所有数据包的分布信息;通过Planner读取的所有数据分析引擎系统中全部存活节点的IP地址和负载状态以及从名称节点上读取表的所有数据包的分布信息利用迭代式回溯算法实现负载均衡。即产生的Planner在尽力保证计算本地化的基础上,能够快速、高效的实现负载均衡。 【附图说明】 通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中: 图1示出了本专利技术实施例中的基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法的步骤流程图。 【具体实施方式】 下面将结合附图对本专利技术的实施例进行详细描述。 计算本地化是将计算发到数据存储的节点去执行,尽量避免数据通过网络传输到其它节点去计算,节约带宽的占用。本专利技术数据分析引擎中的Planner,即执行计划产生器根据数据包的分析信息以及各个节点的负载状况,选择在哪些节点进行扫描,以及扫描哪些数据包。 为了更好的理解与应用本专利技术提出的基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,以如下附图示例进行详细说明。 如图1所示,本专利技术提供了基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,具体包括以下步骤: 步骤SI =Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态。其中,负载状态包括CPU、内存的使用情况。 具体地,Planner将全部存活节点的负载状态换算成相应大小的数据包。其中,内存空闲量最大的节点不需要进行换算成相应大小的数据包,对于其他节点预先分配一个数据包,但是数据包的大小不相同,且计算数据包大小的规则为:首先找到空闲内存量最大的节点,将其空闲内存值记为Mmax ;以及分别计算其它节点的数据包的大小,等于Mmax-Mfree其中,Mf_为当前机器的空闲内存量。因此,Planner在后续分配数据包时,会给负载重的节点减少分配任务,给负载轻的节点增多分配任务。 步骤S2:Planner从Name Node (名称节点)上读取表的所有数据包的分布信息。其中,包括:数据包的大小,副本所在的节点地址,通常HDFS的备份因子是3,所以通常每个数据包都有三个副本。 具体地,Planner发现没有运行在数据分析引擎的节点地址,会将其删除。其中,某些Data Node (数据节点)上没有安装数据分析引擎或者数据分析引擎崩溃的情况,也会执行上述操作。 进一步地,如果副本所在的节点地址列表是空的,则该数据包的副本所在的机器上没有运行数据分析引擎,则只能通过远程读取,即只能将数据通过网络发送到计算所在的节点上,将副本地址设置成所有存活的数据分析引擎的地址;如果副本所在的节点地址列表不是空的,则不会添加其它的数据分析引擎地址到地址列表里。上述操作在后续做负载均衡时,选取的执行计算节点,也是数据存储的节点,避免了执行计算的节点通过网络从其它节点远程读取数据。 更进一步地,Planner将所有需要远程读取的数据包放在数据包队列的末尾,方便在后面分组的时候,将远程读取的数据包分给负载轻的节点,比如那些没有存储数据包,并且安装有数据分析引擎的节点。如果所有的Data Node上都安装有数据分析引擎,则不会有远程读取的数据包。 步骤S3:通过Planner读取的所有数据分析引擎系统中全部存活节点的IP地址和负本文档来自技高网...
基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法

【技术保护点】
基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,其特征在于,包括具体以下步骤:S1:Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态;S2:Planner从名称节点上读取表的所有数据包的分布信息;S3:通过Planner读取的数据分析引擎系统中全部存活节点的IP地址和负载状态以及从所述名称节点上读取表的所有数据包的分布信息利用迭代式回溯算法实现负载均衡。

【技术特征摘要】
1.基于HDFS的迭代式回溯算法的负载均衡与计算本地化方法,其特征在于,包括具体以下步骤: 51=Planner读取所有数据分析引擎系统中全部存活节点的IP地址和负载状态; 52=Planner从名称节点上读取表的所有数据包的分布信息; 53:通过Planner读取的数据分析引擎系统中全部存活节点的IP地址和负载状态以及从所述名称节点上读取表的所有数据包的分布信息利用迭代式回溯算法实现负载均衡。2.如权利要求1所述的方法,其特征在于,所述步骤SI还包括:Planner将全部存活节点的负载状态换算为相对应大小的数据包。3.如权利要求1所述的方法,其特征在于,所述步骤SI还包括:内存空间量最大的节点不需要进行换算为相对应大小的数据包。4.如权利要求2所述的方法,其特征在于,所述Planner将全部存活节点的负载状态换算为相对应大小的数据包的具体过程为:找到空闲内存量最大的节点,将其空闲内存值记为Mmax ;以及分别计算其它节点的数据包的大小,等于Iax-Mtoe其中,Mf_为当前机器的空闲内存量。5.如权利要求1所述的方法,其特征在于,所述步骤S2还包括:如果副本所在的节点地址列表为空,则该数据包的副本所在的机器上没有运行数据分析引擎,通过远程读取,将副本地址设置成所有存活的数据分析引擎的地址;如果副本所在的节点地址列表不为空,则不添加数据分析引擎地址到地址列表中。6.如权利要求1所述的方法,其特征在于,所述步骤S3还包括: 531:...

【专利技术属性】
技术研发人员:刘垚孔令雷王小玉霍卫平金正皓
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1