CN103631815B - 块同步并行计算中实现检查点的方法、装置和系统 - Google Patents

块同步并行计算中实现检查点的方法、装置和系统 Download PDF

Info

Publication number
CN103631815B
CN103631815B CN201210306762.5A CN201210306762A CN103631815B CN 103631815 B CN103631815 B CN 103631815B CN 201210306762 A CN201210306762 A CN 201210306762A CN 103631815 B CN103631815 B CN 103631815B
Authority
CN
China
Prior art keywords
file
checkpoint
back end
concurrently
data
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.)
Active
Application number
CN201210306762.5A
Other languages
English (en)
Other versions
CN103631815A (zh
Inventor
蔡斌
李勇
肖磊
薛伟
张夏天
刘大鹏
言艳花
姜磊
郭伟昭
胡智超
胡少锋
路华
柳金晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201210306762.5A priority Critical patent/CN103631815B/zh
Publication of CN103631815A publication Critical patent/CN103631815A/zh
Application granted granted Critical
Publication of CN103631815B publication Critical patent/CN103631815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明实施方式提出一种块同步并行计算中实现检查点的方法、装置和系统。将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;按照分布式文件系统的文件带区格式对工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;将划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从工作节点移动到数据节点;将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。本发明实施方式减少了数据复制拷贝时间并降低了数据传输开销,从而提高了数据处理效率。

Description

块同步并行计算中实现检查点的方法、装置和系统
技术领域
本发明实施方式涉及块同步并行计算技术领域,更具体地,涉及一种块同步并行计算中实现检查点的方法、装置和系统。
背景技术
并行计算或称平行计算是相对于串行计算的,可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。块同步并行计算是一种并行计算方法,它由Valiant于1990提出。在块同步并行计算中,将计算分为多个超步。在超步中,所有的进程并行执行本地计算阶段和全局通信阶段,最后进行栅栏同步。本地计算阶段可以并行,全局通信阶段可以使用多种消息系统,它支持传统的并行消息传递系统,并简化了海量数据处理的复杂程度。
在块同步并行计算中,程序划分为超步,所以避免了传统消息传递系统中存在的死锁问题。目前,图计算系统Pregel、Apache的开源项目Hama和加州大学伯克利分校的Spark分布式计算系统,都是基于块同步并行计算,它们都支持在块同步并行计算模型上的多次迭代,以支持数据挖掘、图分析和社会网络分析和大规模矩阵运算等海量数据处理任务。由于超步间数据可以保存在本地,相比MapReduce等传统海量数据处理技术,同步并行计算效率更高,更充分地利用了数据的局部性。
块同步并行计算系统一般和并行分布式容错文件系统一起,用于处理海量数据。并行分布式容错文件系统包括单一节点的名字节点(Name Node)和众多可扩展的数据节点(DataNode)。名字节点主要负责存储信息的元数据管理、数据完整性和访问安全性;数据节点负责进行实际数据信息的存储工作,并直接与客户端程序进行交互进行数据传输。
在上述包含块同步并行计算系统与并行分布式容错文件系统的统一计算模型中,检查点是一种重要的容灾方法。比如,在同步并行计算的迭代计算中,如果在超步k后系统产生了检查点,当计算任务n.1所在的主机出错时,系统只需要在正常工作的主机上恢复从超步k检查点开始到超步n之间、计算任务n.1所依赖的计算量,而不需要从头开始进行错误恢复。
然而,在现有技术中,与检查点相关的数据都是串行处理的,而串行处理的处理效率很低。而且,在现有技术中,每次与检查点相关的串行处理都需要与元数据节点具有交互操作,这同样降低了数据处理效率。
发明内容
本发明实施方式提出一种块同步并行计算中实现检查点的方法,从而提高数据处理效率。
本发明实施方式提出一种块同步并行计算中实现检查点的装置,从而提高数据处理效率。
本发明实施方式提出一种块同步并行计算中实现检查点的系统,从而提高数据处理效率。
本发明实施方式的具体方案如下:
一种块同步并行计算中实现检查点的方法,该方法包括:
将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;
按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;
将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
一种块同步并行计算中实现检查点的装置,该装置包括节点布置单元、检查点数据文件划分单元、数据移动单元和数据复制单元,其中:
节点布置单元,用于将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;
检查点数据文件划分单元,用于按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;
数据移动单元,用于将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
数据复制单元,用于将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
一种块同步并行计算中实现检查点的系统,该系统包括分布式文件子系统和块同步并行计算子系统,所述分布式文件子系统包括数据节点;所述块同步并行计算子系统包括对应于数据节点的工作节点;所述数据节点和对应的工作节点布置在同一物理设备上;
工作节点,用于按照所述分布式文件子系统的文件带区格式对其上的检查点数据文件进行划分,并创建相对应的校验文件,且将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
所述数据节点,用于将移动到其上的检查点数据文件和校验文件复制到该块同步并行计算子系统的另外数据节点中。
从上述技术方案可以看出,在本发明实施方式中,将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;按照分布式文件系统的文件带区格式对工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;将划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从工作节点移动到数据节点;将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。由此可见,应用本发明实施方式之后,通过将数据文件预先划分为文件带区,并计算校验,然后一次性上传到并行分布式容错文件系统中,减少了复制拷贝数据的时间并降低数据传输的开销,从而提高了数据处理效率。
另外,本发明实施方式还提供了一种在块同步并行计算系统中,结合并行分布式文件系统快速恢复数据的方法,通过并行下载保存的检查点文件带区和校验文件,能够快速恢复检查点,从而保证系统稳定性。
附图说明
图1为现有技术中并行分布式文件系统的架构示意图;
图2为现有技术中块同步并行计算示意图;
图3为现有技术中块同步并行计算系统上的多次迭代计算示意图;
图4为根据本发明实施方式的块同步并行计算中实现检查点的方法流程图;
图5为根据本发明实施方式的块同步并行计算中实现检查点的装置结构示意图;
图6为根据本发明实施方式的块同步并行计算中实现检查点的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
首先对现有技术中的并行分布式文件系统和块同步并行计算进行概括说明。图1为现有技术中并行分布式文件系统的架构示意图;图2为现有技术中块同步并行计算示意图。
并行分布式容错文件系统中往往需要支持文件带区(块)划分,并通过对文件带区做数据复制,数据一致性检查,达到容错的效果,同时,数据的带区化也是并行访问的基础。针对互联网应用的大规模文件系统,目前已经出现了专用的并行分布式容错文件系统。下面以HDFS系统为实例,对并行分布式文件系统的工作原理和系统架构进行说明。
如图1所示,HDFS采用传统的客户机-服务器模式构建平台实现,包括两个主要实现模块:单一节点的NameNode(master)和众多可扩展的DataNode(slave)。NameNode主要负责平台中存储信息的元数据管理、数据完整性和访问安全性。DataNode负责进行实际数据信息的存储工作,并直接与客户端程序进行交互进行数据传输。客户端(client)用于文件系统客户访问分布式文件系统,它会和NameNode模块和DataNode模块通信,完成客户要求的文件操作。
如图1所示,客户端如果需要访问文件的元数据时,只需要和NameNode进行通信。如果要读数据,那么通过访问NameNode可以得到数据块的存放位置,然后到DataNode上读取数据。客户端要访问的数据正好在数据块1中,那么客户端通过NameNode查到数据块的位置后,接着访问DataNode1,就可以读到数据块。如果客户端需要写数据,也是通过访问NameNode得到数据位置,然后发起写请求,所写的数据会同时写到多个DataNode上,以保证必要的数据复制数。如果某一个DataNode崩溃,那么,它上面的数据会从其它正常的DataNode,复制到另一个正常的DataNode,以保证必要的数据复制数。
块同步并行计算系统一般和并行分布式文件系统一起工作,用于处理海量数据。块同步并行计算是一种并行计算方法,通过将计算分为多个超步,在块同步并行计算一个超步中,所有的进程并行执行本地计算阶段、全局通信阶段,最后进行栅栏同步。本地计算阶段可以并行,全局通信阶段可以使用多种消息系统,它支持传统的并行消息传递系统,并简化了海量数据处理的复杂程度。该模型一般由一个组织者协调,所有的工作者在同步执行,数据从输入的队列中读取。
图2为现有技术中块同步并行计算示意图。块同步并行计算中,一个程序划分为超步,因此避免了传统消息传递系统中存在的死锁问题。图3为现有技术中块同步并行计算系统上的多次迭代计算示意图。块同步并行计算是一种典型的分布式计算,一般和并行分布式容错文件系统一起工作。在上述计算模型中,检查点是一种重要的容灾方法,实现迭代块同步并行计算容灾,一般使用并行分布式容错文件系统。
如图3所示的迭代计算中,如果在超步k后系统产生检查点,如果计算任务n.1所在的主机出错,那么,系统只需要在正常工作的系统上恢复从超步k检查点开始到超步n间,计算任务n.1依赖的那些计算,而不需要从头开始进行错误恢复。
对于大规模并行分布式文件系统(比如GFS或HDFS系统),通常将文件划分为文件带区,而且在名字节点中集中保存有文件的元信息,在数据节点上分布保存多份文件带区和文件带区的校验结果,以达到并行分布容错的目的。
在本发明实施方式中,根据整体同步并行计算的特点,可以利用大规模并行分布式文件系统的特点,实现检查点的快速上传和下载。按照大规模并行分布式容错文件系统的要求,将进入检查点的数据文件划分为文件带区(块)并计算校验,然后在产生检查点时,一次性上传到并行分布式容错文件系统中进行存储。当进行检查点恢复时,可以通过同时从多个数据节点并行加载多个文件带区,降低数据的导入时间。
具体地,本发明实施方式通过对可能保存在检查点中的信息进行预处理,形成与大规模并行分布式文件系统数据文件一致的格式。当需要生成检查点时,一次性修改并行分布式容错文件系统的元数据,以将文件导入到大规模并行分布式文件系统中。当进行故障恢复需要从检查点中提取数据时,可以利用两者数据文件格式一致,直接从大规模并行分布式文件系统的多个数据节点上并行获取文件带区,从而降低系统恢复需要的时间,提高数据处理效率。
下面结合流程图对上述过程进行详细描述。
图4为根据本发明实施方式的块同步并行计算中实现检查点的方法流程图。
如图4所示,该方法包括:
步骤401:将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上。
在这里,将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上,从而为数据节点和工作节点实现本地数据传输创造条件。
步骤402:按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件。
在这里,对可能进入检查点的数据文件(即检查点数据文件)进行格式处理,使得检查点数据文件的文件格式与分布式文件系统的文件带区格式保持一致,从而为后续的将检查点数据文件直接存储到分布式文件系统创造条件。在这里,即按照分布式文件系统的文件带区格式,将检查点数据文件根据文件带区格式进行划分,同时创建对应的校验文件。
在一个实施方式中,可以预先设置检查点,并预先针对设置的检查点完成检查点数据文件格式处理以及校验文件创建工作。此时:
预先设置工作节点上的检查点;
按照分布式文件系统的文件带区格式,对所述预先设置检查点的检查点数据文件进行划分,并创建相对应的校验文件数据文件。
在一个实施方式中,也可以不预先设置检查点,而是基于块同步并行计算系统的运行状况确定检查点,再完成确定出的检查点的数据文件格式处理以及校验文件创建工作。此时:
基于所述块同步并行计算系统的运行状况确定检查点;
按照分布式文件系统的文件带区格式,对所述确定检查点的检查点数据文件进行划分,并创建相对应的校验文件数据文件。
步骤403:将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点。
在这里,可以在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从所述工作节点并行复制到数据节点,然后再删除工作节点上的划分后的检查点数据文件和相对应的校验文件,从而实现真正的数据移动功能,而无需在工作节点上再保留检查点数据文件和相对应的校验文件。
步骤404:将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
在这里,在将检查点数据文件和相对应的校验文件移动到该数据节点后,可以基于分布式文件系统的存储特点,将该检查点数据文件和相对应的校验文件复制到该块同步并行计算系统的另外数据节点中,从而保证数据的多地备份。
在一个实施方式中,可以首先基于移动到数据节点的检查点数据文件和校验文件,修改在名字节点上所存储的文件元数据;然后再根据所修改的文件元数据,将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
在上述流程中,当该工作节点的计算工作需要被转移到预先设定的备份工作节点时,备份工作节点从所述该块同步并行计算系统的另外数据节点中并行下载所述检查点数据文件和相对应的校验文件;备份工作节点基于所述检查点数据文件和相对应的校验文件,恢复该工作节点的计算工作。
基于上述详细分析,本发明实施方式还提出了一种块同步并行计算中实现检查点的装置。
图5为根据本发明实施方式的块同步并行计算中实现检查点的装置结构示意图。
如图5所示,该装置包括:节点布置单元501、检查点数据文件划分单元502、数据移动单元503和数据复制单元504。
其中:
节点布置单元501,用于将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;
检查点数据文件划分单元502,用于按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;
数据移动单元503,用于将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
数据复制单元504,用于将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
在一个实施方式中,数据移动单元501,用于在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从所述工作节点并行复制到数据节点;删除工作节点上的所述划分后的检查点数据文件和相对应的校验文件。
在一个实施方式中,该装置进一步包括计算工作恢复单元505。
计算工作恢复单元505,用于当该工作节点的计算工作需要被转移到预先设定的备份工作节点时,使能备份工作节点从所述该块同步并行计算系统的另外数据节点中并行下载所述检查点数据文件和相对应的校验文件,并使能备份工作节点基于所述检查点数据文件和相对应的校验文件,恢复该工作节点的计算工作。
优选地,数据移动单元503,用于基于移动到数据节点的检查点数据文件和校验文件,修改在名字节点上所存储的文件元数据;根据所修改的文件元数据,将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
本发明实施方式适合于并行分布式文件子系统和块同步并行计算子系统的结合使用。其中:并行分布式文件子系统是一种支持文件带区划分、数据复制、数据一致性检查和并行访问的分布式文件系统;而块同步并行计算子系统通过将计算分为多个超步,在一个超步中所有的进程并行执行本地计算阶段和全局通信阶段,最后进行栅栏同步。
并行分布式容错文件系统中往往需要支持文件带区(块)划分,并通过对文件带区做数据复制,数据一致性检查,达到容错的效果,同时,数据的带区化也是并行访问的基础。针对互联网应用的大规模文件系统,目前已经出现了专用的并行分布式容错文件系统,比如:Google文件系统和Hadoop分布式文件系统(HDFS)是它们的典型例子。
在本发明实施方式中,并行分布式文件子系统可以具有多种实施形式,比如可以为GFS或HDFS系统,等等。
下面以并行分布式文件子系统为HDFS系统为实例,对本发明实施方式进行示范性阐述。
Hadoop是一个基于Java实现的、开源的、包含分布式文件系统和MapReduce计算框架的项目。HDFS系统是Hadoop项目中实现的并行分布式容错文件系统。在HDFS系统中包含有名字节点(Name Node)和数据节点(Data Node)。名字节点是HDFS系统的组成部分,是一个在HDFS实例中的单独机器上运行的软件;它负责管理文件系统名称空间和控制外部客户机的访问。数据节点响应来自HDFS客户机的读写请求。它们还响应创建、删除和复制来自NameNode的块命令。
Hadoop分布式文件系统被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
HDFS采用传统的客户机-服务器模式构建平台实现,有两个主要实现模块:单一节点的NameNode(master),和众多可扩展的DataNode(slave)。NameNode主要负责平台中存储信息的元数据管理,负责数据完整性,访问安全性。DataNode负责进行实际数据信息的存储工作,并直接与客户端程序进行交互进行数据传输。客户端用于文件系统客户访问分布式文件系统,它会和NameNode模块和DataNode模块通信,完成客户要求的文件操作。
比如:客户端如果需要访问文件的元数据时,只需要和NameNode进行通信。如果要读数据,通过访问NameNode可以得到数据块的存放位置,然后到DataNode上读取数据。客户端通过NameNode查到数据块的位置后,接着访问DataNode1,就可以读到数据块。如果客户端需要写数据,也是通过访问NameNode,得到数据位置,然后发起写请求,所写的数据会同时写到多个DataNode上,以保证必要的数据复制数。如果某一个DataNode崩溃,上面的数据会从其它正常的DataNode复制到另一个正常的DataNode,以保证必要的数据复制数。
在本发明实施方式中,针对分布式文件系统(比如上述HDFS系统)和块同步并行计算系统的统一模型,提出了一种块同步并行计算中实现检查点的系统。
图6为根据本发明实施方式的块同步并行计算中实现检查点的系统结构示意图。
如图6所示,该系统包括分布式文件子系统和块同步并行计算子系统。分布式文件子系统和块同步并行计算子系统通过分割线M进行逻辑区分。分割线M之上的各个实体属于分布式文件子系统,在分割线M之下的各个实体为块同步并行计算子系统。示范性地,该分布式文件子系统具体为HDFS系统。
该HDFS系统包括一个名字节点(NameNode)和多个数据节点(DataNode)。
该块同步并行计算子系统包括对应于DataNode的多个工作节点(Worker)以及一个主人节点(Master)。DataNode和对应的Worker)布置在同一物理设备上。
Master负责协同块同步并行计算子系统中各个Worker的工作,包括分配计算任务、通知Worker产生检查点等。Worker具体执行块同步并行计算子系统中的多个超步,在每一个超步中执行本地计算、发送接收通信信息,最后配合Master进行栅栏同步。
如图6所示,具体地:在物理节点1上布置有DataNode1以及相对应的Worker1;在物理节点2上布置有DataNode2以及相对应的Worker2;在物理节点3上布置有DataNode3以及相对应的Worker1’;在物理节点N上布置有DataNodeN以及相对应的WorkerN。
各个Worker用于按照分布式文件子系统的文件带区格式对其上的检查点数据文件进行划分,并创建相对应的校验文件,且将划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到DataNode。
各个DataNode,用于将移动到其上的检查点数据文件和校验文件复制到该块同步并行计算子系统的另外数据节点中。具体地:NameNode,用于基于移动到DataNode的检查点数据文件和校验文件,修改在自身所存储的文件元数据;DataNode,用于根据所修改的文件元数据,将移动到DataNode的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
在一个实施方式中,各个Worker用于在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从Worker并行复制到相对于的DataNode,并删除自身的所述划分后的检查点数据文件和相对应的校验文件。
该系统可以进一步包括位于所述块同步并行计算子系统中的备份工作节点;
备份工作节点,用于当Worker的计算工作需要被转移时,从所述该块同步并行计算系统的另外DataNode中并行下载所述检查点数据文件和相对应的校验文件,并基于所述检查点数据文件和相对应的校验文件,恢复该Worker的计算工作。
基于上述系统,如图6所示,实现检查点的流程具体包括:
步骤1:各个Worker输出格式化;
在这里,各个Worker按照大规模并行分布式文件子系统的存储格式,对可能进入检查点的Worker输出数据文件进行预处理,即把文件根据文件带区格式进行划分,同时创建对应的校验文件。
步骤2:检查点产生;
在这里,Master根据运行情况通知各个Worker产生检查点。
步骤3:Worker上传文件到DataNode;
在这里,产生检查点的Worker将文件检查点数据预处理后的结果,本地传输到相对应DataNode中。由于Worker与相对应的DataNode位于同一物理节点中,此时只需要在本地移动数据。
步骤4:NameNode上的元数据更新;
在这里,当各个Worker将检查点数据块(包括文件带区文件和校验文件),上传到相对应的DataNode完毕后,统一更改NameNode上的文件元数据(包括文件名、数据块列表、访问控制记录、副本数等信息),从而完成检查点数据块文件的写入。
步骤5:流水线传输;
在这里,根据由分布式文件子系统内部复制机制,将步骤4上传的检查点数据块流水线传输复制到该分布式文件子系统的多个DataNode上。
步骤6:检查点数据下载;
当系统出现错误时,比如:当Worker1不能正常工作、而且期望它的未完成工作转移到Worker’时,此时Worker’将从分布式文件子系统的多个DataNode上并行下载与Worker1相关的检查点数据,并基于该检查点数据恢复Worker1保存的文件。
比如,以Worker1为实例对该检查点数据文件的处理过程进行说明。
由图6可见,Worker1的检查点数据为方块4…方块3,而且方块4…方块3下面都具有对应的无标号方块,该无标号方块为对应于方块4…方块3的相应校验文件。
Worker1将方块4…方块3以及相应的校验文件,本地并行上传到相应的DataNode1,然后DataNode1在NameNode的协助下,将该方块4…方块3以及相应的校验文件存储到DataNode2和DataNode3。
当Worker1出故障时,假设期望由worker1’恢复Worker1的相应工作,则worker1’从DataNode2和DataNode3分别取回方块4…方块3以及相应的校验文件,并基于方块4…方块3以及相应的校验文件继续Worker1的工作。
以上虽然以HDFS系统为实例对本发明实施方式进行了详细说明,本领域技术人员可以意识到,上述说明仅仅是阐述性质,并不用于限定本发明实施方式的保护范围。
综上所述,在本发明实施方式中,将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;按照分布式文件系统的文件带区格式对工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;将划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从工作节点移动到数据节点;将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。由此可见,应用本发明实施方式之后,通过将数据文件预先划分为文件带区(块),并计算校验,然后一次性上传到并行分布式容错文件系统中,减少了复制拷贝数据的时间并降低数据传输的开销,从而提高了数据处理效率。
另外,本发明实施方式还提供了一种在块同步并行计算系统中,结合并行分布式文件系统快速恢复数据的方法,通过并行下载保存的检查点文件带区和校验文件,能够快速恢复检查点,从而保证系统稳定性。
而且,当进行检查点恢复时,通过同时加载多个文件带区,可以降低数据的导入时间。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种块同步并行计算中实现检查点的方法,其特征在于,该方法包括:
将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;
按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;
将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
2.根据权利要求1所述的块同步并行计算中实现检查点的方法,其特征在于,所述将划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点包括:
在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从所述工作节点并行复制到数据节点;
删除工作节点上的所述划分后的检查点数据文件和相对应的校验文件。
3.根据权利要求1所述的块同步并行计算中实现检查点的方法,其特征在于,该方法进一步包括:
当该工作节点的计算工作需要被转移到预先设定的备份工作节点时,备份工作节点从所述该块同步并行计算系统的另外数据节点中并行下载所述检查点数据文件和相对应的校验文件;
备份工作节点基于所述检查点数据文件和相对应的校验文件,恢复该工作节点的计算工作。
4.根据权利要求1所述的块同步并行计算中实现检查点的方法,其特征在于,所述将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中包括:
基于移动到数据节点的检查点数据文件和校验文件,修改在名字节点上所存储的文件元数据;
根据所修改的文件元数据,将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
5.根据权利要求1-4中任一项所述的块同步并行计算中实现检查点的方法,其特征在于,所述按照分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件包括:
预先设置工作节点上的检查点;
按照分布式文件系统的文件带区格式,对所述预先设置检查点的检查点数据文件进行划分,并创建相对应的校验文件数据文件。
6.根据权利要求1-4中任一项所述的块同步并行计算中实现检查点的方法,其特征在于,所述按照分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件包括:
基于所述块同步并行计算系统的运行状况确定检查点;
按照分布式文件系统的文件带区格式,对所述确定检查点的检查点数据文件进行划分,并创建相对应的校验文件数据文件。
7.一种块同步并行计算中实现检查点的装置,其特征在于,该装置包括节点布置单元、检查点数据文件划分单元、数据移动单元和数据复制单元,其中:
节点布置单元,用于将分布式文件系统中的数据节点和块同步并行计算系统中对应的工作节点布置在同一物理设备上;
检查点数据文件划分单元,用于按照所述分布式文件系统的文件带区格式对所述工作节点上的检查点数据文件进行划分,并创建相对应的校验文件;
数据移动单元,用于将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
数据复制单元,用于将移动到该数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点中。
8.根据权利要求7所述的块同步并行计算中实现检查点的装置,其特征在于,
数据移动单元,用于在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从所述工作节点并行复制到数据节点;删除工作节点上的所述划分后的检查点数据文件和相对应的校验文件。
9.根据权利要求7所述的块同步并行计算中实现检查点的装置,其特征在于,该装置进一步包括计算工作恢复单元;
所述计算工作恢复单元,用于当该工作节点的计算工作需要被转移到预先设定的备份工作节点时,使能备份工作节点从所述该块同步并行计算系统的另外数据节点中并行下载所述检查点数据文件和相对应的校验文件,并使能备份工作节点基于所述检查点数据文件和相对应的校验文件,恢复该工作节点的计算工作。
10.根据权利要求7所述的块同步并行计算中实现检查点的装置,其特征在于,
数据移动单元,用于基于移动到数据节点的检查点数据文件和校验文件,修改在名字节点上所存储的文件元数据;根据所修改的文件元数据,将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
11.一种块同步并行计算中实现检查点的系统,其特征在于,该系统包括分布式文件子系统和块同步并行计算子系统,所述分布式文件子系统包括数据节点;所述块同步并行计算子系统包括对应于数据节点的工作节点;所述数据节点和对应的工作节点布置在同一物理设备上;
所述工作节点,用于按照所述分布式文件子系统的文件带区格式对其上的检查点数据文件进行划分,并创建相对应的校验文件,且将所述划分后的检查点数据文件和相对应的校验文件,在该同一物理设备上从所述工作节点移动到数据节点;
所述数据节点,用于将移动到其上的检查点数据文件和校验文件复制到该块同步并行计算子系统的另外数据节点中。
12.根据权利要求11所述的块同步并行计算中实现检查点的系统,其特征在于,
所述工作节点,用于在该同一物理设备上将划分后的检查点数据文件和相对应的校验文件,从所述工作节点并行复制到数据节点,并删除自身的所述划分后的检查点数据文件和相对应的校验文件。
13.根据权利要求11所述的块同步并行计算中实现检查点的系统,其特征在于,该系统进一步包括位于所述块同步并行计算子系统中的备份工作节点;
所述备份工作节点,用于当所述工作节点的计算工作需要被转移时,从所述该块同步并行计算系统的另外数据节点中并行下载所述检查点数据文件和相对应的校验文件,并基于所述检查点数据文件和相对应的校验文件,恢复该工作节点的计算工作。
14.根据权利要求11所述的块同步并行计算中实现检查点的系统,其特征在于,该系统进一步包括位于所述分布式文件子系统中的名字节点;
所述名字节点,用于基于移动到数据节点的检查点数据文件和校验文件,修改在自身所存储的文件元数据;
所述数据节点,用于根据所修改的文件元数据,将移动到数据节点的检查点数据文件和校验文件复制到该块同步并行计算系统的另外数据节点。
CN201210306762.5A 2012-08-27 2012-08-27 块同步并行计算中实现检查点的方法、装置和系统 Active CN103631815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210306762.5A CN103631815B (zh) 2012-08-27 2012-08-27 块同步并行计算中实现检查点的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210306762.5A CN103631815B (zh) 2012-08-27 2012-08-27 块同步并行计算中实现检查点的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103631815A CN103631815A (zh) 2014-03-12
CN103631815B true CN103631815B (zh) 2018-01-12

Family

ID=50212882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210306762.5A Active CN103631815B (zh) 2012-08-27 2012-08-27 块同步并行计算中实现检查点的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN103631815B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161523B (zh) * 2015-04-02 2019-11-22 腾讯科技(深圳)有限公司 一种数据处理方法和设备
CN106294357B (zh) * 2015-05-14 2019-07-09 阿里巴巴集团控股有限公司 数据处理方法和流计算系统
CN105955837B (zh) * 2015-05-21 2019-07-30 中国科学院计算技术研究所 一种虚拟机容错内存同步方法及系统
CN107194490B (zh) * 2016-03-14 2022-08-12 商业对象软件有限公司 预测建模优化
CN108491159B (zh) * 2018-03-07 2020-07-17 北京航空航天大学 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法
CN109831342A (zh) * 2019-03-19 2019-05-31 江苏汇智达信息科技有限公司 一种基于分布式系统的故障恢复方法
CN110781134A (zh) * 2019-10-30 2020-02-11 泰康保险集团股份有限公司 数据处理方法及装置、计算机存储介质、电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441557A (zh) * 2008-11-08 2009-05-27 腾讯科技(深圳)有限公司 基于动态数据拆分的分布式并行计算的系统及其方法
CN102281312A (zh) * 2010-06-12 2011-12-14 深圳市腾讯计算机系统有限公司 一种数据加载方法、系统和数据处理方法、系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441557A (zh) * 2008-11-08 2009-05-27 腾讯科技(深圳)有限公司 基于动态数据拆分的分布式并行计算的系统及其方法
CN102281312A (zh) * 2010-06-12 2011-12-14 深圳市腾讯计算机系统有限公司 一种数据加载方法、系统和数据处理方法、系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一个适合大规模集群并行计算的检查点系统;周恩强等;《计算机研究与发展》;20050616;第42卷(第6期);第987-992页 *

Also Published As

Publication number Publication date
CN103631815A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN103631815B (zh) 块同步并行计算中实现检查点的方法、装置和系统
Carbone et al. Apache flink: Stream and batch processing in a single engine
TWI509423B (zh) 在叢集檔案系統間之同步更新
US11841844B2 (en) Index update pipeline
CN107315760B (zh) 用于连续图更新和计算的平台
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
Tsai et al. Scalable architectures for SaaS
Hasani et al. Lambda architecture for real time big data analytic
Malensek et al. Galileo: A framework for distributed storage of high-throughput data streams
Pundir et al. Zorro: Zero-cost reactive failure recovery in distributed graph processing
US10515228B2 (en) Commit and rollback of data streams provided by partially trusted entities
Srinivasa et al. Guide to high performance distributed computing
Oruganti et al. Exploring Hadoop as a platform for distributed association rule mining
Yan et al. Lightweight fault tolerance in pregel-like systems
Kavitha et al. Task failure resilience technique for improving the performance of MapReduce in Hadoop
US20110289059A1 (en) Ordering volumes and tracks for data transfer based on usage characteristics
Dhole Poonam et al. Survey paper on traditional hadoop and pipelined map reduce
WO2023111765A1 (en) System and method for handling data consolidation from an edge device to a target database
Dai et al. Trigger-based incremental data processing with unified sync and async model
US10169083B1 (en) Scalable method for optimizing information pathway
Yadav et al. Mathematical framework for a novel database replication algorithm
Li Modernization of databases in the cloud era: Building databases that run like Legos
US10311019B1 (en) Distributed architecture model and management
Li et al. A method of data integrity check and repair in big data storage platform
CN106484379B (zh) 一种应用的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant