CN103024047A - 一种数据容错方法 - Google Patents
一种数据容错方法 Download PDFInfo
- Publication number
- CN103024047A CN103024047A CN2012105474170A CN201210547417A CN103024047A CN 103024047 A CN103024047 A CN 103024047A CN 2012105474170 A CN2012105474170 A CN 2012105474170A CN 201210547417 A CN201210547417 A CN 201210547417A CN 103024047 A CN103024047 A CN 103024047A
- Authority
- CN
- China
- Prior art keywords
- task
- fault
- data
- node
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明涉及一种基于云计算的MR层容错处理方法,包括:主节点检查到子任务所在服务器出现故障,子任务失效;向本数据中心的Map任务容错数据管理节点发送容错请求消息MessF1(MapID),将要查找的子任务告知给数据管理节点;最终对MR层进行容错处理。该方法在服务器出现故障时实现了优良的容错能力。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于云计算的数据容错方法。
背景技术
云计算技术是全球范围内的一个热点研究领域,被认为是分布式处理、并行处理以及网格计算的进一步发展,也可以说是一种商业计算模式。目前大多数云计算系统都是针对数据密集型应用而设计的,实现了大规模的数据处理和分布式计算。随着云系统中服务器规模的增加,服务器出现故障的概率也会不断增加,容错技术已经成为云计算技术的一个重要研究方向,而中间数据容错是实现作业容错的重要组成部分,中间数据的丢失会影响作业的完成时间。因此,对于中间数据的研究是非常必要的。
云环境下的大型网络应用一般具有分布、异构和数据密集性的特点,这种类型的应用被称作为数据密集型应用[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 Data Fault-Tolerant),任务之间和任务内部分别称为RM层和MR层,在RM层和MR层分别实现不同的中间数据容错方法。
一个作业可以根据功能拆分成不同的任务,并且任务之间具有数据传输依赖关系,且每个任务都是由多个并行执行的Map子任务和Reduce子任务组成的,针对此给出了RM层和MR层容错处理算法,实现了对云中出现服务器故障时的容错能力,增加了系统的可靠性。
在云的结构CAIMF中针对其中的数据中心完成的功能将其划分为主节点(MN)、工作节点(WN)、Map任务容错数据管理节点(MFMN)以及任务容错数据管理节点(TFMN)。每个数据中心负责管理本区域的任务请求和中间数据的容错数据信息管理。
LIMF在MR层将Map子任务产生全部中间数据进行复制,并采取了不同的保障级别,根据保障级别将数据部署在相同数据中心不同机架内的节点上。CAIMF体系结构的数据中心中拥有一个MFMN节点,MFMN用于管理MR层容错数据,在MFMN内部维护子任务备份信息表STask-list,表中记录了有关Map子任务产生的中间数据备份信息,当服务器发生故障时,CAIMF系统可以根据STask-list信息表中记录的信息调用已经存在的中间数据,而不是在数据丢失后重新执行。
系统在执行任务时如果出现服务器故障导致子任务产生的中间数据丢失,会通过MR层容错处理从已有信息表STask-list中查找中间数据的备份信息,不用重新产生丢失的中间数据,有效的保证了MR层中间数据的容错。MR层容错数据处理过程为:主节点通过探测到任务taski内子任务执行失效;在MFMN内查找子任务备份信息表STask-list中taski内子任务对应的备份信息;MFMN根据STask-list中子任务对应的备份信息,如果是为完成任务将任务分配在响应时间最快的节点上;如果是已经完成任务,则直接读取数据;如果STask-list表中没有子任务对应的备份信息,则由MN重新分配任务执行。下面首先给出 MR层容错处理方法:
输入:容错请求
输出:MR层容错处理
1.MN检查到子任务所在服务器出现故障,子任务失效;
2.向本数据中心的MFMN发送容错请求消息MessF1(MapID),将要查找的子任务告知给MFMN;
3.MFMN将MessF1中的MapID与自己的STask-list进行比较,查找任务对应的STask-list中MapID对应的备份信息,如果有转4,否则转6;
4.失效子任务未完成,MN通过广播方式将该任务发送给响应时间最快的备份信息节点,否则转5;
5.WN将备份数据信息告知给还未来得及读取该数据的工作节点;
6.MN重新执行分配任务给WN;
7.MR层容错处理结束。
系统在执行任务时如果出现服务器故障导致RM层中间数据丢失,会通过RM层容错处理方法从已有信息表Task-list中查找丢失了的中间数据的备份信息,不用重新执行产生丢失的中间数据,有效的保证了RM层中间数据的容错。RM层容错数据的调度过程为:主节点通过探测得知任务失败情况;在TFMN的任务备份信息表Task-list中根据任务ID查找任务对应的备份信息;如果表中有备份信息,则通过广播方式获得响应时间最快的节点信息,将获取不到中间数据的任务分配到该节点上;如果Task-list信息表中没有备份信息则查找子任务备份信息表STask-list,根据表中信息产生丢失的中间数据。
下面是RM层容错处理方法
输入:容错请求
输出:RM层容错处理
1.MN检查到任务所在服务器出现故障,导致任务产生的中间数据丢失;
2.向本数据中心的TFMN发送容错请求消息MessF2(TaskID),将要查找的任务信息告知给TFMN;
3.TFMN将MessF2中的TaskID与自己的Task-list进行比较,查找Task-list中TaskID对应的备份信息,如果有转4,否则转5;
4.TFMN将备份信息告知给WN,WN将备份信息告知给还未来得及读取该信息的后置任务;
5.查找子任务信息表STask-list,根据信息表中MapID对应的存放数据节点的信息,将Reduce子任务分配在响应时间最快的节点上,用来产生丢失的中间数据;
6.RM层容错处理结束。
需要说明的是,以上实施例仅是对本发明技术方案的示例性描述,而并不是对本发明的限制;尽管参照上面的实施例对本发明进行了详细的说明,但是,本领域的普通技术人员应当可以完全理解的是,在不脱离由本发明的权利要求书限定的保护范围已经精神的前提下,可以对上述实施例所记载的技术方案进行修改或者对其中部分技术特征进行等同替换,这些都应该属于本发明的保护范围。
Claims (2)
1.一种基于云计算的MR层容错处理方法,其特征在于包括以下具体步骤:
第一步:主节点检查到子任务所在服务器出现故障,子任务失效;
第二步:向数据中心的Map任务容错数据管理节点发送容错请求消息,将要查找的子任务告知给数据管理节点;
第三步:数据管理节点将容错请求消息中的MapID与自己的任务列表进行比较,查找任务对应的列表中对应的备份信息,如果有,转第四步,否则转第六步;
第四步:失效子任务未完成,主节点通过广播方式将该任务发送给响应时间最快的备份信息节点,否则转下第五步;
第五步:工作节点将备份数据信息告知给还未来得及读取该数据的工作节点;
第六步:主节点重新执行分配任务给工作节点;
第七步:MR层容错处理结束;
其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。
2.一种基于云计算的RM层容错处理方法,其特征在于包括:
第一步:主节点检查到任务所在服务器出现故障,导致任务产生的中间数据丢失;
第二步:向数据中心发送容错请求消息,将要查找的任务信息告知给数据中心;
第三步:数据中心将任务ID与自己的列表进行比较,查找列表中任务ID对应的备份信息,如果有,转第四步,否则转第五步;
第四步:数据中心将备份信息告知给工作节点,工作节点将备份信息告知给还未来得及读取该信息的后置任务;
第五步:查找子任务信息表,根据信息表中ID对应的存放数据节点的信息,将子任务分配在响应时间最快的节点上,用来产生丢失的中间数据;
其中,一个作业可以根据功能拆分成不同任务,其中任务之间和任务内部分别称为RM层和MR层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105474170A CN103024047A (zh) | 2012-12-17 | 2012-12-17 | 一种数据容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105474170A CN103024047A (zh) | 2012-12-17 | 2012-12-17 | 一种数据容错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103024047A true CN103024047A (zh) | 2013-04-03 |
Family
ID=47972171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105474170A Pending CN103024047A (zh) | 2012-12-17 | 2012-12-17 | 一种数据容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024047A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484508A (zh) * | 2016-09-21 | 2017-03-08 | 中国电力科学研究院 | 一种基于云架构的电网地理信息系统及容错方法 |
CN106777238A (zh) * | 2016-12-27 | 2017-05-31 | 北京交通大学 | 一种hdfs分布式文件系统的自适应容错调节方法 |
US10205630B2 (en) | 2013-12-31 | 2019-02-12 | Huawei Technologies Co., Ltd. | Fault tolerance method for distributed stream processing system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410431A1 (en) * | 2009-03-19 | 2012-01-25 | Murakumo Corporation | Method and system for data replication management |
-
2012
- 2012-12-17 CN CN2012105474170A patent/CN103024047A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410431A1 (en) * | 2009-03-19 | 2012-01-25 | Murakumo Corporation | Method and system for data replication management |
Non-Patent Citations (1)
Title |
---|
唐敏: "云环境下中间数据容错方法的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 01, 15 January 2012 (2012-01-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10205630B2 (en) | 2013-12-31 | 2019-02-12 | Huawei Technologies Co., Ltd. | Fault tolerance method for distributed stream processing system |
CN106484508A (zh) * | 2016-09-21 | 2017-03-08 | 中国电力科学研究院 | 一种基于云架构的电网地理信息系统及容错方法 |
CN106777238A (zh) * | 2016-12-27 | 2017-05-31 | 北京交通大学 | 一种hdfs分布式文件系统的自适应容错调节方法 |
CN106777238B (zh) * | 2016-12-27 | 2019-10-18 | 北京交通大学 | 一种hdfs分布式文件系统的自适应容错调节方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
Cheng et al. | Kineograph: taking the pulse of a fast-changing and connected world | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
AU2004262370B2 (en) | Parallel recovery by non-failed nodes | |
CN105573660B (zh) | 用于改善分簇磁盘阵列的性能的方法和装置 | |
Ibrahim et al. | Cloudlet: towards mapreduce implementation on virtual machines | |
US7853571B2 (en) | Techniques for file system recovery | |
EP3100184A1 (en) | Prioritizing data reconstruction in distributed storage systems | |
WO2012174888A1 (zh) | 一种分布式缓存系统中的数据写入及读取方法及装置 | |
CN103365979A (zh) | 一种基于开放数据库的远距离双中心联机处理方法和系统 | |
CN103064728A (zh) | 一种MapReduce任务的容错调度方法 | |
CN102637147A (zh) | 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法 | |
Agarwal et al. | Rebound: scalable checkpointing for coherent shared memory | |
Yang et al. | Computing at massive scale: Scalability and dependability challenges | |
CN105022673B (zh) | 一种面向数据并行计算容错的快速并行复算方法 | |
CN103064770A (zh) | 双进程冗余瞬时故障容错方法 | |
WO2015015339A1 (en) | A method for a logging process in a data storage system | |
CN106569751A (zh) | 一种多控制器缓存镜像方法及系统 | |
Kończak et al. | Recovery algorithms for paxos-based state machine replication | |
CN103024047A (zh) | 一种数据容错方法 | |
Yang et al. | Automatic and Scalable Data Replication Manager in Distributed Computation and Storage Infrastructure of Cyber-Physical Systems. | |
Asghar et al. | Analysis and implementation of reactive fault tolerance techniques in Hadoop: a comparative study | |
US9367413B2 (en) | Detecting data loss during site switchover | |
CN114035905A (zh) | 基于虚拟机的故障迁移方法及装置、电子设备和存储介质 | |
CN102546250B (zh) | 一种基于主备机制的文件发布方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130403 |