用于分布式系统的数据处理方法及装置制造方法及图纸

技术编号:10049847 阅读:164 留言:0更新日期:2014-05-15 20:14
本发明专利技术涉及用于分布式系统的数据处理方法及装置。在一个实施例中,该技术方案包括:响应于写入数据文件的请求,在所述多个从存储节点上存储所述数据文件的多个副本,每个所述副本划分为大小相同的数据块,其中至少两个副本所划分出的数据块大小不同;存储所述多个副本的分布信息。采用本发明专利技术的技术方案,可以在分布式系统中存储数据文件的多个备份时,能够综合以不同的数据块大小进行存储所带来的优势。

【技术实现步骤摘要】

本专利技术涉及分布式系统,更具体地,涉及一种用于分布式系统的数据处理方法及装置
技术介绍
HDFS(Hadoop Distributed File System)是分布式文件系统的一个典型示例,接下来,以HDFS为例阐述现有的分布式文件系统的特点以及不足之处。HDFS采用的是主从架构(Master/Slave),一个HDFS集群中包括一个名字节点(NameNode),多个数据节点(DataNode)。名字节点是主存储节点,管理整个文件系统的命名空间和客户端的接入请求。在名字节点,可以执行打开/关闭/重命名文件或目录等操作。数据节点是从存储节点,用于接收来自客户端的读/写请求,同时根据名字节点的指令完成文件块的建立,删除和复制。为了提高存储的可靠性,通常为一个文件存储三个副本,并以固定块大小的方式存储各个副本,HDFS默认数据块大小是64MB。HDFS的备份机制根据文件副本因子的数量,将切分的块分别复制到其它数据节点,然后由名字节点记录并保存一个文件副本包括哪些数据块,以及分布在哪些数据节点的存储分布信息,也称为文件系统的元数据信息。然而,现有的分布式文件系统并没有考虑分布式程序的有效运行。以MapReduce程序为例,当处理以小的数据块所存储的数据文件时,会启动更多的映射(map)任务,但也会造成较大的开销。当采用大块时,可以减少客户端和主服务器通讯的需求,也会降低主服务器需要保存的元数据的空间,却不能有效地利用可用的并行计算资源。参看表1的示例,当在20个节点对1TB数据进行排序时,假设每个节点最大可同时运行的map任务数量是40,即共计800个映射槽(map slots)。可见,当采用大块时,在第二轮仅利用了200个map任务,并不能充分利用可用的计算资源。表1分布式文件系统的另外一个典型示例是GFS(Google File System),两者在术语上存在对应关系,例如GFS的主节点(master)对应着HDFS中的名字节点(NameNode),GFS块服务器(chunkserver)对应着HDFS中的数据节点(DataNode),GFS中的块(Chunk)对应着HDFS中的块(Block),而对于GFS而言,也同样存在着上述问题。。综上,现有技术仍然存在着改善的空间,需要一种改进的用于分布式系统的数据处理方法及装置。
技术实现思路
根据本专利技术的一个方面,提供了一种用于分布式系统的数据处理方法,该分布式系统包括一个主存储节点以及多个从存储节点,所述方法包括:响应于写入数据文件的请求,在所述多个从存储节点上存储所述数据文件的多个副本,每个所述副本划分为大小相同的数据块,其中至少两个副本所划分出的数据块大小不同;存储所述多个副本的分布信息。根据本专利技术的另一个方面,提供了一种用于分布式系统的数据处理装置,该分布式系统包括一个主存储节点以及多个从存储节点,所述装置包括:数据文件存储模块,配置为响应于写入数据文件的请求,在所述多个从存储节点上存储所述数据文件的多个副本,每个所述副本划分为大小相同的数据块,其中至少两个副本所划分出的数据块大小不同;分布信息存储模块,配置为存储所述多个副本的分布信息。采用本申请的技术方案,可以在分布式系统中存储数据文件的多个备份时,能够综合以不同的数据块大小进行存储所带来的优势。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图2示出根据本专利技术实施例的用于分布式系统的数据处理方法流程图。图3以HDFS为例示出了图2中步骤210的一种实施方式。图4示出了按照本申请的一个实施例在分布式系统中进行读文件操作的方法流程。图5示出了一种根据本专利技术实施例的用于分布式系统的数据处理装置的示意性方框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括本文档来自技高网
...
用于分布式系统的数据处理方法及装置

【技术保护点】
一种用于分布式系统的数据处理方法,该分布式系统包括一个主存储节点以及多个从存储节点,所述方法包括:响应于写入数据文件的请求,在所述多个从存储节点上存储所述数据文件的多个副本,每个所述副本划分为大小相同的数据块,其中至少两个副本所划分出的数据块大小不同;存储所述多个副本的分布信息。

【技术特征摘要】
1.一种用于分布式系统的数据处理方法,该分布式系统包括一个主
存储节点以及多个从存储节点,所述方法包括:
响应于写入数据文件的请求,在所述多个从存储节点上存储所述数据
文件的多个副本,每个所述副本划分为大小相同的数据块,其中至少两个
副本所划分出的数据块大小不同;
存储所述多个副本的分布信息。
2.根据权利要求1所述的方法,其中,所述分布式系统还包括一个
主计算节点以及多个从计算节点,所述方法还包括:
获取包含可用计算单元数量以及所述多个副本的分布信息的运行时
信息,所述计算单元是所述从计算节点所包括的可分配的计算资源;
响应于读取数据文件的请求,根据所述运行时信息确定副本读取策
略。
3.根据权利要求2所述的方法,所述副本读取策略可以最大程度利
用可用计算单元并且读取的副本的数据块最大。
4.根据权利要求3所述的方法,其中,采用贪婪算法确定所述副本
读取策略以最大程度利用可用计算单元并且读取的副本的数据块最大。
5.根据权利要求2所述的方法,根据所述运行时信息确定所述副本
读取策略包括:
确定出最大程度利用所述可周计算单元的副本集合;
根据每个副本的数据块大小以及副本的获取成本确定所述副本集合
中每个副本的特征值;
根据所述特征值确定要读取的副本。
6.根据权利要求5所述的方法,至少使用以下方式中的一种确定所
述获取成本:
该副本所在的从存储节点的忙碌程度;
该副本所在的从存储节点至所述可用计算单元所在的从计算节点的
距离。
7.根据权利要求1所述的方法,所述响应于写入数据文件的请求,
在所述多个从存储节点上存储所述数据文件的多个副本包括:
响应于写入所述数据文件的一个数据块的写入请求,确定该数据块的
放置策略,该放置策略包括用于存放该数据块的从存储节点列表;
由该从存储节点列表中的任一从存储节点接收该数据块,并通过该任
一从存储节点将该数据块传送至其它从存储节点,直至创建完所需数量的
副本。
8.根据权利要求1所述的方法,其中,将一个副本所包括的多个数
据块存储在不同的从存储节点上。
9.根据权利要求1所述的方法,所述数据块的大小是可配置的。
10.一种用于分布式系统的数据处理装置,该分布式系统包括一个主
存储节点以及多个从存储节点,所...

【专利技术属性】
技术研发人员:陈冠诚李严李欣滕启明李剑
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1