[发明专利]一种实现数据读写的方法以及分布式文件系统、客户端有效
申请号: | 201210030425.8 | 申请日: | 2012-02-10 |
公开(公告)号: | CN103248656B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 张云龙 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 黄志华 |
地址: | 100085 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 数据 读写 方法 以及 分布式 文件系统 客户端 | ||
技术领域
本发明涉及分布式系统领域,尤其涉及一种实现数据读写的方法以及分布式文件系统、客户端。
背景技术
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。在HDFS架构中必要角色有三个,Namenode(控制节点)、Datanode(数据节点)和Client(客户端),其中Namenode为集群单点,在整体架构中,Namenode既充当Client的Server,也充当Datanode的Server,其架构简图如图1所示。当HDFS集群增加到一定规模,如Datanode的数量达到1000以上,Client数量达到1000以上,而每个Client 100+RW/s(Read&Write per second,每秒读写请求次数),这时Namenode上承载的长连接数即为2000,且Namenode RWS数量达到100万左右。
发明人在发明过程中,发现现有的HDFS架构中要完成一次完整的文件读写过程会被Client分解成M次Client与Namenode之间的RPC连接和N次Client与Datanode之间的TCP连接,当其中任何一个环节阻塞时,会影响后续环节。
HDFS原生RPC架构为1 Selector+N handler模式,当Namenode连接数大于N时,其他请求处于缓冲队列等待读取。
因此,运用现有的分布式文件系统,由于以上限制,在大规模集群访问时,会存在严重的排队延迟现象,造成读写请求延时过高。
同时,因Namenode节点只有一个,无法有效应对Client和Datanode数量的线性增长,存在集群扩容方面的瓶颈。
发明内容
本申请实施例提供一种实现数据读写的方法以及分布式文件系统、客户端,用于解决现有的分布式文件系统在大规模集群访问时,会存在严重的排队延迟现象,造成读写请求延时过高的问题,实现读写分离。
本申请实施例一提供一种实现数据读写的方法,应用在分布式文件系统的第一客户端中,所述分布式文件系统包括至少两个控制节点,与所述至少两个控制节点分别连接的至少一个数据节点,所述第一客户端分别与所述至少两个控制节点及所述至少一个数据节点分别连接,其中,所述至少两个控制节点中至少包括第一控制节点及至少一个第二控制节点,所述方法包括:
判断发出的第一请求为写数据请求还是读数据请求,所述写数据请求为写入第一数据的请求,所述读数据请求为读取第二数据的请求;
如果是写数据请求,将所述第一数据写入写目标数据节点,其中,所述写目标数据节点具体为所述第一控制节点基于所述写数据请求从所述至少一个数据节点中确定的数据节点;所述第一控制节点为能将所述写目标数据节点的信息发送至所述至少一个第二控制节点的节点;
如果是读数据请求,从读目标数据节点读取所述第二数据,其中,所述读目标数据节点为所述至少一个第二控制节点中一个第二控制节点基于所述读数据请求从所述至少一个数据节点中确定的数据节点;
其中,所述第一数据与所述第二数据为相同或不相同的数据,所述写目标数据节点与所述读目标数据节点为相同或不相同的数据节点。
进一步的,如上所述的方法,所述如果是写数据请求,将所述第一数据写入写目标数据节点,具体包括:
获取所述第一控制节点的地址信息;
向所述第一控制节点发送写数据请求,接收所述第一控制节点发送的基于所述写数据请求从所述至少一个数据节点中确定的写目标数据节点的地址信息;
基于所述写目标数据节点的地址信息,将所述第一数据写入所述写目标数据节点。
进一步的,如上所述的方法,所述如果是读数据请求,从读目标数据节点读取所述第二数据,具体包括:
获取所述至少一个第二控制节点中的一个第二控制节点的地址信息;
向所述地址信息对应的第二控制节点发送读数据请求,接收所述地址信息对应的第二控制节点发送的基于所述读数据请求从所述至少一个数据节点中确定的读目标数据节点的地址信息;
基于所述读目标数据节点的地址信息,从所述读目标数据节点获取所述第二数据。
其中,所述分布式系统还包括协调服务模块,所述方法还包括:
当检测到有新增第二控制节点,建立与所述增加第二控制节点的连接;
其中,所述新增第二控制节点具体为新增控制节点通过所述协调服务模块认证的非第一控制节点的节点。
所述新增控制节点通过所述协调服务模块认证,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210030425.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:纸箱板自动碰线机
- 下一篇:实现访问网站资源的方法、正向代理服务器和系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置