[发明专利]基于Hadoop云计算框架的高效迭代机制设计方法有效
申请号: | 201710284534.5 | 申请日: | 2017-04-25 |
公开(公告)号: | CN107122238B | 公开(公告)日: | 2018-05-25 |
发明(设计)人: | 朱颢东;李红婵;南姣芬;张志锋;赵进超 | 申请(专利权)人: | 郑州轻工业学院 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/448;G06F11/20;H04L29/08 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 张立强 |
地址: | 450002 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于Hadoop云计算框架研究技术领域,具体涉及Hadoop云计算框架的迭代功能研究设计,尤其涉及一种基于Hadoop云计算框架的高效迭代机制设计方法,包括:在Hadoop云计算框架中设计一个应用程序编程接口API;调用应用程序编程接口API在主节点创建一个循环迭代主体控制模块;调用应用程序编程接口API在从节点对迭代过程中被重复使用的数据进行缓存和索引;为主节点中循环迭代主体控制模块设计任务调度和容错机制。本发明提供一种基于Hadoop云计算框架的高效迭代机制设计方法,设计出一个具备高效迭代机制的E‑Hadoop云计算框架。 | ||
搜索关键词: | 云计算 迭代机制 应用程序编程接口 主体控制模块 循环迭代 调用 研究技术领域 缓存 迭代过程 功能研究 任务调度 容错机制 主节点 迭代 索引 创建 | ||
【主权项】:
1.一种基于Hadoop云计算框架的高效迭代机制设计方法,其特征在于,一个Hadoop云计算平台有多个节点,其中所述节点分为主节点和从节点,所述Hadoop云计算平台为搭建了Hadoop云计算框架的多台主机或服务器,包括以下步骤:步骤1:在Hadoop云计算框架中创建一个用于简化MapReduce迭代程序编写的应用程序编程接口API;所述应用程序编程接口API中有以下函数:LoopMap函数,LoopReduce函数,SetMaxNumOfIterations函数,SetFixedPointThreshold函数,SetIterationInput函数,AddStepInput函数,MapperInputCache函数,ReducerInputCache函数,ReducerOutputCache函数;步骤2:调用应用程序编程接口API,在主节点创建一个循环迭代主体控制模块;所述步骤2包括:步骤2.1:通过Java迭代器类创建一个Java迭代器对象iterator;步骤2.2:调用LoopMap函数,所述LoopMap函数通过Map函数及将当前迭代次数传递给Java迭代器对象iterator的Cursor变量,将Map函数与当前迭代次数相关联;步骤2.3:调用LoopReduce函数,所述LoopReduce函数通过Reduce函数及将当前迭代次数传递给Java迭代器对象iterator的Cursor变量,将Reduce函数与当前迭代次数相关联;步骤2.4:调用SetMaxNumOfIterations函数,所述SetMaxNumOfIterations函数通过将MapReduce迭代程序的最大迭代次数传递给Java迭代器对象iterator的End变量,设置MapReduce迭代程序的最大迭代次数;步骤2.5:调用SetFixedPointThreshold函数,所述SetFixedPointThreshold函数通过将迭代过程中相邻两次迭代结果的精度误差阈值传递给Java迭代器对象iterator的Err变量,设置迭代过程中相邻两次迭代结果的精度误差阈值;步骤2.6:调用SetIterationInput函数,所述SetIterationInput函数通过LoopMap函数将不同迭代的输入数据作为数据源,将数据源与迭代过程相关联;步骤2.7:调用AddStepInput函数,所述AddStepInput函数通过Java迭代器对象iterator的Cursor变量及SetIterationInput函数,将当前迭代的输出传递给下次迭代;步骤3:调用应用程序编程接口API,在从节点对迭代过程中被重复使用的数据进行缓存和索引;所述步骤3包括:步骤3.1:调用MapperInputCache函数,所述MapperInputCache函数通过实例化HBase的HBaseConfiguration类和HTableDescriptor类,把循环迭代过程中从节点的Map过程的输入数据缓存到相应的从节点、并为缓存的数据建立索引表MapperInputCacheTable;步骤3.2:调用ReducerInputCache函数,所述ReducerInputCache函数通过实例化HBase的HBaseConfiguration类和HTableDescriptor类,把循环迭代过程中从节点Reduce过程的输入数据缓存到相应的从节点、并为缓存的数据建立索引表ReducerInputCacheTable;步骤3.3:调用ReducerOutputCache函数,所述ReducerOutputCache函数通过实例化HBase的HBaseConfiguration类和HTableDescriptor类,把循环迭代过程中从节点Reduce过程的输出数据缓存到相应的从节点、并为缓存的数据建立索引表ReducerOutputCacheTable;步骤4:为主节点中循环迭代主体控制模块设计任务调度和容错机制,包括:步骤4.1:对Hadoop云计算框架中的任务调度机制进行设计,包括:步骤4.1.1:在主节点存储从节点到主节点所使用过的数据之间的映射关系;步骤4.1.2:主节点接收从节点发送的Heartbeat信号;步骤4.1.3:主节点检查从节点是否空闲,若是,则主节点为该从节点指派一个任务,并且在该任务执行过程中使用该从节点中缓存的数据;若否,则主节点指派该任务给其他从节点;步骤4.2:对Hadoop云计算框架中的容错机制进行设计,包括:步骤4.2.1:主节点周期性地Ping从节点,检查从节点的状态是否可用,当检测到从节点失效时,则将在该从节点上正在执行或已完成的Map任务置为空闲状态,并将该Map任务分配给其他从节点执行;步骤4.2.2:主节点周期性地Ping从节点,检查从节点的状态是否可用,当检测到从节点失效时,则将在该从节点上正在执行的Reduce任务置为空闲状态;若在Reduce过程的输出数据写入与该Reduce对应的输出文件中之前,存放中间key/value对的从节点失效,则将在该从节点上正在执行的及已完成的Map任务置为空闲状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州轻工业学院,未经郑州轻工业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710284534.5/,转载请声明来源钻瓜专利网。
- 上一篇:数据通信方法及装置
- 下一篇:一种多线程事件分发方法和系统