一种数据容错方法

文档序号:6578255阅读:881来源:国知局
专利名称:一种数据容错方法
技术领域
本发明涉及计算机领域,尤其涉及一种基于云计算的数据容错方法。
背景技术
云计算技术是全球范围内的一个热点研究领域,被认为是分布式处理、并行处理以及网格计算的进一步发展,也可以说是一种商业计算模式。目前大多数云计算系统都是针对数据密集型应用而设计的,实现了大规模的数据处理和分布式计算。随着云系统中服务器规模的增加,服务器出现故障的概率也会不断增加,容错技术已经成为云计算技术的一个重要研究方向,而中间数据容错是实现作业容错的重要组成部分,中间数据的丢失会影响作业的完成时间。因此,对于中间数据的研究是非常必要的。云环境下的大型网络应用一般具有分布、异构和数据密集性的特点,这种类型的 应用被称作为数据密集型应用[2],如科学工作流系统。主要体现在它处理的数据大小通常是TB甚至PB级,如Yahoo报告显示WebMap每天处理280TB的输入数据,Facebook每天需要处理55TB的输入数据。这些应用产生的中间结果集也是非常大的,中间结果集可能是输入输出数据的几个数量级,可能是GBs或者是TBs。云环境下随着用户请求任务的增加以及任务复杂性的增加,云系统内部服务器的数目也在不断增加,服务器可能因为某些原因出现故障,导致数据丢失。如果中间结果集丢失,可能会导致一个任务甚至是多个任务的重新执行,严重影响了作业的运行。根据上面的介绍可以得出,服务器出现故障对于作业的运行有重要影响,随着云功能的增强和云用户请求的增多,中间数据的数量也会增多,如何保证中间数据容错是云计算技术的一个重要研究课题。中间数据容错包括很多方面,如容错数据确定、容错数据放置、容错处理等,它是整个云系统中中间数据容错的基本内容。Google中间数据的处理方法是将产生的中间数据保存在本地磁盘中,该方法在正常运行情况下可以达到很好的运行速度。但是当一个任务是由多个任务组成的,服务器出现故障时,该服务器上的中间数据丢失,可能会导致一个任务甚至是多个任务的重新执行,影响了作业的运行时间。没有实现对中间数据可靠性的保证。

发明内容
为了克服上述背景技术中的不足之处,本发明提出一种基于云计算的MR层容错处理方法,其包括以下具体步骤
第一步主节点检查到子任务所在服务器出现故障,子任务失效;
第二步向数据中心的Map任务容错数据管理节点发送容错请求消息,将要查找的子任务告知给数据管理节点;
第三步数据管理节点将容错请求消息中的MapID与自己的任务列表进行比较,查找任务对应的列表中对应的备份信息,如果有转第四步,否则转第六步;
第四步失效子任务未完成,主节点通过广播方式将该任务发送给响应时间最快的备份信息节点,否则转下第五步;第五步工作节点将备份数据信息告知给还未来得及读取该数据的工作节点;
第六步主节点重新执行分配任务给工作节点;
第七步MR层容错处理结束;
其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。本发明还提出一种基于云计算的RM层容错处理方法,其包括以下具体步骤 第一步主节点检查到任务所在服务器出现故障,导致任务产生的中间数据丢失; 第二步向数据中心发送容错请求消息,将要查找的任务信息告知给数据中心;
第三步数据中心将任务ID与自己的列表进行比较,查找列表中任务ID对应的备份信
息,如果有转第四步,否则转第五步;
第四步数据中心将备份信息告知给工作节点,工作节点将备份信息告知给还未来得及读取该信息的后置任务;
第五步查找子任务信息表,根据信息表中ID对应的存放数据节点的信息,将子任务分配在响应时间最快的节点上,用来产生丢失的中间数据;
其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。本发明的方法在出现故障时具有较高的性能,实现了优良的容错能力。
具体实施例方式下面将结合具体描述,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。一个作业可以根据功能拆分成不同任务,并且针对于此,提出了一种支持中间数据容错的云结构 CAIMF (Cloud Architecture for Intermediate Data Fault-tolerant)以及一种分层的中间数据容错方法LIMF(A Layered Approach for Intermediate DataFault-Tolerant),任务之间和任务内部分别称为RM层和MR层,在RM层和MR层分别实现不同的中间数据容错方法。一个作业可以根据功能拆分成不同的任务,并且任务之间具有数据传输依赖关系,且每个任务都是由多个并行执行的Map子任务和Reduce子任务组成的,针对此给出了RM层和MR层容错处理算法,实现了对云中出现服务器故障时的容错能力,增加了系统的可靠性。在云的结构CAMF中针对其中的数据中心完成的功能将其划分为主节点(丽)、工作节点(WN)、Map任务容错数据管理节点(MFMN)以及任务容错数据管理节点(TFMN)。每个数据中心负责管理本区域的任务请求和中间数据的容错数据信息管理。LIMF在MR层将Map子任务产生全部中间数据进行复制,并采取了不同的保障级另O,根据保障级别将数据部署在相同数据中心不同机架内的节点上。CAIMF体系结构的数据中心中拥有一个MFMN节点,MFMN用于管理MR层容错数据,在MFMN内部维护子任务备份信息表STask-list,表中记录了有关Map子任务产生的中间数据备份信息,当服务器发生故障时,CAMF系统可以根据STask-1ist信息表中记录的信息调用已经存在的中间数据,而不是在数据丢失后重新执行。系统在执行任务时如果出现服务器故障导致子任务产生的中间数据丢失,会通过MR层容错处理从已有信息表STask-1ist中查找中间数据的备份信息,不用重新产生丢失的中间数据,有效的保证了 MR层中间数据的容错。MR层容错数据处理过程为主节点通过探测到任务taski内子任务执行失效;在MFMN内查找子任务备份信息表STask-1ist中taski内子任务对应的备份信息;MFMN根据STask-1ist中子任务对应的备份信息,如果是为完成任务将任务分配在响应时间最快的节点上;如果是已经完成任务,则直接读取数据;如果STask-1ist表中没有子任务对应的备份信息,则由MN重新分配任务执行。下面首先给出MR层容错处理方法
输入容错请求 输出MR层容错处理
1.MN检查到子任务所在服务器出现故障,子任务失效;
2.向本数据中心的MFMN发送容错请求消息MessFl(MapID),将要查找的子任务告知给 MFMN ;
3.MFMN将MessFl中的MapID与自己的STask-1ist进行比较,查找任务对应的STask-1ist中MapID对应的备份信息,如果有转4,否则转6 ;
4.失效子任务未完成,MN通过广播方式将该任务发送给响应时间最快的备份信息节点,否则转5 ;
5.WN将备份数据信息告知给还未来得及读取该数据的工作节点;
6.MN重新执行分配任务给WN ;
7.MR层容错处理结束。系统在执行任务时如果出现服务器故障导致RM层中间数据丢失,会通过RM层容错处理方法从已有信息表Task-1ist中查找丢失了的中间数据的备份信息,不用重新执行产生丢失的中间数据,有效的保证了 RM层中间数据的容错。RM层容错数据的调度过程为主节点通过探测得知任务失败情况;在TFMN的任务备份信息表Task-1ist中根据任务ID查找任务对应的备份信息;如果表中有备份信息,则通过广播方式获得响应时间最快的节点信息,将获取不到中间数据的任务分配到该节点上;如果Task-1ist信息表中没有备份信息则查找子任务备份信息表STask-1ist,根据表中信息产生丢失的中间数据。下面是RM层容错处理方法 输入容错请求
输出RM层容错处理
1.MN检查到任务所在服务器出现故障,导致任务产生的中间数据丢失;
2.向本数据中心的TFMN发送容错请求消息MessF2(TaskID),将要查找的任务信息告知给TFMN ;
3.TFMN将MessF2中的TaskID与自己的Task-1ist进行比较,查找Task-1ist中TaskID对应的备份信息,如果有转4,否则转5 ;
4.TFMN将备份信息告知给WN,WN将备份信息告知给还未来得及读取该信息的后置任
务;5.查找子任务信息表STask-list,根据信息表中MapID对应的存放数据节点的信息,将Reduce子任务分配在响应时间最快的节点上,用来产生丢失的中间数据;
6.RM层容错处理结束。需要说明的是,以上实施例仅是对本发明技术方案的示例性描述,而并不是对本发明的限制;尽管参照上面的实施例对本发明进行了详细的说明,但是,本领域的普通技术人员应当可以完全理解的是,在不脱离由本发明的权利要求书限定的保护范围已经精神的 前提下,可以对上述实施例所记载的技术方案进行修改或者对其中部分技术特征进行等同替换,这些都应该属于本发明的保护范围。
权利要求
1.一种基于云计算的MR层容错处理方法,其特征在于包括以下具体步骤 第一步主节点检查到子任务所在服务器出现故障,子任务失效; 第二步向数据中心的Map任务容错数据管理节点发送容错请求消息,将要查找的子任务告知给数据管理节点; 第三步数据管理节点将容错请求消息中的MapID与自己的任务列表进行比较,查找任务对应的列表中对应的备份信息,如果有,转第四步,否则转第六步; 第四步失效子任务未完成,主节点通过广播方式将该任务发送给响应时间最快的备份信息节点,否则转下第五步; 第五步工作节点将备份数据信息告知给还未来得及读取该数据的工作节点; 第六步主节点重新执行分配任务给工作节点; 第七步MR层容错处理结束; 其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。
2.一种基于云计算的RM层容错处理方法,其特征在于包括 第一步主节点检查到任务所在服务器出现故障,导致任务产生的中间数据丢失; 第二步向数据中心发送容错请求消息,将要查找的任务信息告知给数据中心; 第三步数据中心将任务ID与自己的列表进行比较,查找列表中任务ID对应的备份信息,如果有,转第四步,否则转第五步; 第四步数据中心将备份信息告知给工作节点,工作节点将备份信息告知给还未来得及读取该信息的后置任务; 第五步查找子任务信息表,根据信息表中ID对应的存放数据节点的信息,将子任务分配在响应时间最快的节点上,用来产生丢失的中间数据; 其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。
全文摘要
本发明涉及一种基于云计算的MR层容错处理方法,包括主节点检查到子任务所在服务器出现故障,子任务失效;向本数据中心的Map任务容错数据管理节点发送容错请求消息MessF1(MapID),将要查找的子任务告知给数据管理节点;最终对MR层进行容错处理。该方法在服务器出现故障时实现了优良的容错能力。
文档编号G06F11/14GK103024047SQ20121054741
公开日2013年4月3日 申请日期2012年12月17日 优先权日2012年12月17日
发明者宗竞 申请人:江苏乐买到网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1