CN107992491A - 一种分布式文件***、数据访问和数据存储的方法及装置 - Google Patents
一种分布式文件***、数据访问和数据存储的方法及装置 Download PDFInfo
- Publication number
- CN107992491A CN107992491A CN201610949569.1A CN201610949569A CN107992491A CN 107992491 A CN107992491 A CN 107992491A CN 201610949569 A CN201610949569 A CN 201610949569A CN 107992491 A CN107992491 A CN 107992491A
- Authority
- CN
- China
- Prior art keywords
- client
- namenode
- data
- data access
- access request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理领域,尤其涉及一种分布式文件***、数据访问和数据存储的方法及装置,用以解决现有技术中HDFS集群的架构在NameNode出现故障的情况下会导致整个HDFS无法正常工作的问题;本申请实施例提供的***包括:上层名字节点,多个下层名字节点以及多个数据节点;上层名字节点,用于接收客户端发送的数据访问请求,基于客户端与下层名字节点的映射关系将数据访问请求转发至与客户端对应的下层名字节点;下层名字节点,用于接收由上层名字节点转发的数据访问请求,并查找数据访问请求对应的数据节点,将查找到的数据节点的信息返回至客户端;数据节点,用于向客户端提供与数据访问请求相对应的数据信息。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种分布式文件***、数据访问和数据存储的方法及装置。
背景技术
随着网络技术的不断发展,我们迎来了大数据时代。在大数据时代下,分布式存储、大文件的读写都成为热点话题。分布式文件***(Hadoop Distributed File System,HDFS)是针对大数据而存在的,HDFS能够提供高吞吐量的数据访问,适合有着超大规模数据集的应用程序。
目前,HDFS集群是由一个名字节点(NameNode)和上千个数据节点(DataNode)组成,其中,NameNode作为一个中心服务器,负责管理文件***的命名空间(如打开、关闭、重命名文件或目录)以及客户端对文件的访问,也负责确定数据块到具体DataNode的映射。DataNode上真正存储数据块,负责处理文件***客户端的读写请求,同时也会周期性向NameNode发送心跳信号和块状态报告(当一个DataNode启动时,它会扫描本地文件***,产生一个这些本地文件对应的所有HDFS数据块的列表,然后作为报告发送到NameNode,这个报告就是块状态报告)。由于在HDFS集群中所有的元数据信息的读取和操作都需要与NameNode进行通信,这就导致在NameNode出现故障时,整个HDFS也无法正常工作。另外,当集群大到一定程度之后,NameNode进程使用的内存会很大,也会影响HDFS的正常使用。
综上,现有技术中HDFS集群的架构在NameNode出现故障的情况下会导致整个HDFS无法正常工作的问题。
发明内容
本申请实施例提供一种分布式文件***、数据访问和数据存储的方法及装置,用以解决现有技术中HDFS集群的架构在NameNode出现故障的情况下会导致整个HDFS无法正常工作的问题。
本申请实施例提供一种分布式文件***,该***包括:上层名字节点HNameNode,多个下层名字节点NameNode以及多个数据节点DataNode;
所述HNameNode,用于接收客户端发送的数据访问请求,基于客户端与NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode;
所述NameNode,用于接收由所述HNameNode转发的数据访问请求,并查找所述数据访问请求对应的DataNode,将查找到的所述DataNode的信息返回至所述客户端;
所述DataNode,用于向所述客户端提供与所述数据访问请求相对应的数据信息。
本申请实施例提供一种分布式文件***的数据访问方法,包括:
上层名字节点HNameNode接收客户端发送的数据访问请求;
基于客户端与下层名字节点NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode。
本申请又一实施例提供一种分布式文件***的数据访问方法,包括:
下层名字节点NameNode接收由上层名字节点HNameNode转发的来自客户端的数据访问请求;
基于接收到的所述数据访问请求,查找与所述数据访问请求对应的数据节点DataNode;
将查找到的DataNode的信息发送至客户端,以便所述客户端向所述DataNode获取数据信息。
本申请实施例提供一种分布式文件***的数据存储方法,包括:
上层名字节点HNameNode接收客户端发送的数据存储请求;
基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode;
将选择的用于存储数据的DataNode的信息发送至所述客户端,以便所述客户端将请求存储的数据写入选择的DataNode中。
本申请实施例提供一种分布式文件***的数据访问装置,包括:
接收模块,用于接收客户端发送的数据访问请求;
发送模块,用于基于客户端与下层名字节点NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode。
本申请又一实施例提供一种分布式文件***的数据访问装置,包括:
接收模块,用于接收由上层名字节点HNameNode转发的来自客户端的数据访问请求;
查找模块,用于基于接收到的所述数据访问请求,查找与所述数据访问请求对应的数据节点DataNode;
发送模块,用于将查找到的DataNode的信息发送至客户端,以便所述客户端向所述DataNode获取数据信息。
本申请实施例提供一种分布式文件***的数据存储装置,包括:
接收模块,用于接收客户端发送的数据存储请求;
选择模块,用于基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode;
发送模块,用于将选择的用于存储数据的DataNode的信息发送至所述客户端,以便所述客户端将请求存储的数据写入选择的DataNode中。
本申请实施例中,在HDFS集群中采用了两层的NameNode架构,当上层HNameNode接收到客户端发送的数据访问请求时,会基于客户端与下层NameNode的映射关系将数据访问请求转发至与该客户端对应的下层NameNode,再由确定的下层NameNode查找出其辖区内与该数据访问请求对应的DataNode并将该DataNode的信息告知给客户端,以便客户端向该DataNode获取相应的数据。采用这种方式,能够有效地避免在现有技术中单一的NameNode出现故障时导致整个HDFS无法正常工作的问题。另外,本申请实施例中,在进行数据访问的过程中,上层HNameNode会对接收到的数据访问请求进行身份认证以及权限检查,只有具有合法身份且具有相关权限的客户端发来的数据访问请求才能被转发至下层NameNode,从而对下层NameNode以及各个NameNode辖区内DataNode中的数据进行了安全防护。
附图说明
图1为本申请实施例一提供的分布式文件***的组网示意图;
图2为本申请实施例二提供的分布式文件***的数据访问方法流程图;
图3为本申请实施例三提供的分布式文件***的数据存储方法流程图;
图4为本申请实施例四提供的分布式文件***的数据访问装置结构图;
图5为本申请实施例五提供的分布式文件***的数据访问装置结构图;
图6为本申请实施例六提供的分布式文件***的数据存储装置结构图。
具体实施方式
本申请实施例中,在HDFS集群中采用了两层的NameNode架构,当上层HNameNode接收到客户端发送的数据访问请求时,会基于客户端与下层NameNode的映射关系将数据访问请求转发至与该客户端对应的下层NameNode,再由确定的下层NameNode查找出其辖区内与该数据访问请求对应的DataNode并将该DataNode的信息告知给客户端,以便客户端向该DataNode获取相应的数据。采用这种方式,能够有效地避免在现有技术中单一的NameNode出现故障时导致整个HDFS无法正常工作的问题。另外,本申请实施例中,在进行数据访问的过程中,上层HNameNode会对接收到的数据访问请求进行身份认证以及权限检查,只有具有合法身份且具有相关权限的客户端发来的数据访问请求才能被转发至下层NameNode,从而对下层NameNode以及各个NameNode辖区内DataNode中的数据进行了安全防护。
如图1所示,为本申请实施例一提供的分布式文件***的组网示意图,该***包括:上层名字节点(Hierarchical NameNode,简称为HNameNode),多个下层名字节点(简称为NameNode)以及多个数据节点(DataNode)。
这里,HNameNode作为整个分布式文件***(Hadoop Distributed File System,HDFS)的总协调者和全局管理者。HNameNode可以分别与N个NameNode建立连接关系,当客户端需要访问HDFS中的数据时,首先要向HNameNode发送数据访问请求,这里,对于HDFS外部的客户端来说只能看到一个HNameNode,即HNameNode为HDFS中对外唯一可见的节点,可以为客户端提供数据的访问或者存储等服务。
在具体实施中,HNameNode接收到客户端发送的数据访问请求后,可以基于客户端与NameNode的映射关系来确定将该数据访问请求转发至与客户端对应的NameNode,由确定出的NameNode来进行后续的数据访问过程的处理。此外,HNameNode还可以接收由各个NameNode定期上报自身的运行状态信息,并根据该运行状态信息,调整NameNode辖区内分配的DataNode。如果下层的N个NameNode中有一个NameNode没有按期上报自身的运行状态信息或者上报的运行状态信息显示为非正常运行状态,则HNameNode可以识别出该NameNode处于非正常的工作状态,并将该NameNode辖区内所管理的各个DataNode分配至其它NameNode所管辖的区域内。
这里,HNameNode还可以分别与N个NameNode辖区内所管理的各个DataNode直接建立连接关系,以便各个DataNode向HNameNode定期上报本地存储资源的可用情况信息。当HNameNode接收到客户端发来的数据存储请求时,可以基于各个DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode,将客户端请求存储的数据写入选择的DataNode中。在选择用于存储数据的DataNode时,可以根据各个DataNode上报的本地存储资源的可用空间的大小选择出存储空间充足的DataNode。
此外,HNameNode也可以采用主备的方式部署,当HNameNode发生故障时,可以立即启动备用的HNameNode来负责协调和管理整个分布式文件***。
这里,HDFS集群中的各个NameNode除了与上层的HNameNode保持连接关系之外,还与自己辖区内的DataNode建立了连接关系。这里,NameNode辖区内的DataNode可以有一个,也可以有多个,在图1所示的组网示意图中描述的N个NameNode均分别与一个DataNode建立连接关系,仅作为一个举例说明,在实际应用中,NameNode辖区内可以有多个DataNode,并且NameNode可以与辖区内的这些DataNode建立连接关系,定期地接收各个DataNode上报的运行状态信息,以便在DataNode发生故障时,能够迅速做出响应,将发生故障的DataNode中的数据块重新分配给其它正常的DataNode。
在本申请实施例提供的分布式文件***中,上层HNameNode作为整个HDFS的总协调者和全局管理者,负责整个HDFS集群中存储资源的协调及访问,同时负责监视下层的NameNode的运作情况,而NameNode只负责管理其辖区内的DataNode的命名空间并监测各个DataNode的运作情况,从而有效的解决了现有技术中单一的NameNode出现故障时导致整个HDFS无法正常工作的问题。
如图2所示,为本申请实施例二提供的分布式文件***的数据访问方法流程图,包括以下步骤:
S201:客户端向HNameNode发送数据访问请求,该数据访问请求中携带有身份认证信息。
这里,身份认证信息可以是由Hadoop集群中的其它认证***或者网关提供的对客户端的身份认证结果,若该身份认证结果表明该客户端是合法的,则HNameNode也将认为该客户端是合法的。
S202:HNameNode检查该数据访问请求中携带的身份认证信息是否合法,若确认该身份认证信息是合法的,则继续执行S203;否则,结束处理。
S203:HNameNode基于记录有客户端的访问权限的权限控制表,进行访问权限检查,若权限检查状态显示为通过状态,则继续执行S204;否则结束处理。
这里,记录有客户端的访问权限的权限控制表可以认为是由管理员提前配置或导入至HNameNode的,该权限控制表中包含请求访问的操作对象以及数据操作的类型。其中,操作对象可以为用户名、IP地址或者应用软件的名称等。数据操作的类型可以是针对HDFS中目录的操作,还可以是针对HDFS中文件的操作。其中,对HDFS中目录的操作可以包括对目录的的创建、重命名、移动、删除、描述以及列出目录下所有的文件等,另外,对HDFS中目录的操作还可以是将客户端当前对该目录的操作权限授权给其它的客户端。对HDFS中文件的操作可以包括文件的上传、下载、重命名、移动、删除以及描述等,另外,对HDFS中文件的操作还可以是将客户端当前对该文件的操作权限授权给其它的客户端。
在具体实施中,HNameNode首先确定接收到的数据访问请求是以用户名,还是以IP地址或者应用软件的名称来进行访问的,在明确了执行该数据访问请求具体的操作对象之后,再去判断该操作对象是否具有执行与所述数据访问请求对应的数据操作的权限。比如,HNameNode接收的数据访问请求需要请求删除某个目录,那么HNameNode会针对该数据访问请求进行权限检查,首先确定其操作对象是用户名,IP地址还是应用软件的名称,若确定出是该数据访问请求是以用户名的方式进行的访问之后再去判断该用户名是否具有执行删除某个目录的权限。若判断结果为是,则该数据访问请求通过了上述权限检查。
S204:HNameNode基于客户端与下层的NameNode的映射关系将数据访问请求转发至与该客户端对应的NameNode。
这里,客户端与下层的NameNode的映射关系可以是预先保存在上层HNameNode中的,还可以是携带在客户端发送的数据访问请求中,由上层HNameNode实时获取到的。
S205:NameNode基于接收到的数据访问请求,查找与数据访问请求对应的数据节点DataNode。
S206:NameNode将查找到的DataNode的信息发送至客户端。
S207:客户端向由NameNode查找到的DataNode获取相应的数据信息。
本申请实施例中,在进行数据访问的过程中,上层HNameNode会对接收到的数据访问请求进行身份认证以及权限检查,只有具有合法身份且具有相关权限的客户端发来的数据访问请求才能被转发至下层NameNode,从而在解决了现有技术中单一的NameNode出现故障时导致整个HDFS无法正常工作的问题的基础上,还对下层NameNode以及各个NameNode辖区内DataNode中的数据进行了安全防护。
在实施中,如果不采用两层NameNode架构,直接在HDFS集群中配置多个独立的NameNode,不配置HnameNode,也可以避免单点故障,但是这种方式需要集群中每一个DataNode都定期向所有的NameNode汇报本地存储的可用资源情况,这样一方面会造成网络资源的浪费,另一方面,由于所有的NameNode都能接收到每一个DataNode上报的本地存储的可用资源情况,可能出现在某一时刻所有的NameNode均认为某个DataNode存储资源充足且可用的情况,以至于所有的NameNode均指示客户端向同一个DataNode存储数据,最终造成数据存储出错。为避免上述问题,本申请以下实施例中基于两层NameNode架构进行分布式文件***的数据存储,在该方法中,DataNode只需向集群中负责管理的HNameNode上报本地存储资源的可用情况信息,无需向所有的NameNode汇报本地存储的可用资源情况,详见实施例三的描述。
如图3所示,为本申请实施例三提供的分布式文件***的数据存储方法流程图,包括以下步骤:
S301:客户端向HNameNode发送数据存储请求。
S302:DataNode向HNameNode上报本地存储资源的可用情况信息。
这里,步骤S301与步骤S302是两个相互独立的步骤,在执行顺序上不分先后。并且,DataNode可以周期性地向HNameNode上报本地存储资源的可用情况信息。
S303:HNameNode基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode。
S304:HNameNode将选择的用于存储数据的DataNode的信息发送至客户端。
S305:客户端将请求存储的数据写入选择的DataNode中。
本申请实施例中,HDFS中所有的DataNode只向上层HNameNode上报本地存储资源的可用情况信息,这样在进行数据存储的过程中,上层HNameNode就可以基于各个数据节点DataNode上报的本地存储资源的可用情况信息来选择出用于存储数据的DataNode。这种利用上层HNameNode进行***存储资源调配的方式,在解决了现有技术中单一的NameNode出现故障时导致整个HDFS无法正常工作的问题的基础上,还有效避免了多个NameNode对同一DataNode存储资源的资源进行争夺抢占,导致数据存储出错的问题。
基于同一申请构思,本申请实施例中还提供了一种分布式文件***的数据访问方法绑定的分布式文件***的数据访问装置,由于该装置解决问题的原理与本申请实施例分布式文件***的数据访问方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,为本申请实施例四提供的分布式文件***的数据访问装置结构图,包括以下步骤:
接收模块41,用于接收客户端发送的数据访问请求;
发送模块42,用于基于客户端与下层名字节点NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode。
可选地,所述数据访问请求中携带有身份认证信息;
所述发送模块42具体用于:
在确定所述身份认证信息合法之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
可选地,所述装置还包括:
权限检查模块43,用于基于记录有客户端的访问权限的权限控制表,进行访问权限检查;在访问权限检查通过之后,利用所述发送模块将所述数据访问请求转发至与所述客户端对应的NameNode。
可选地,所述权限检查模块43具体用于:
基于记录有客户端的访问权限的权限控制表,确定执行所述数据访问请求的操作对象并判断该操作对象是否具有执行与所述数据访问请求对应的数据操作的权限。
如图5所示,为本申请实施例五提供的分布式文件***的数据访问装置结构图,包括以下步骤:
接收模块51,用于接收由上层名字节点HNameNode转发的来自客户端的数据访问请求;
查找模块52,用于基于接收到的所述数据访问请求,查找与所述数据访问请求对应的数据节点DataNode;
发送模块53,用于将查找到的DataNode的信息发送至客户端,以便所述客户端向所述DataNode获取数据信息。
基于同一申请构思,本申请实施例中还提供了一种分布式文件***的数据存储方法绑定的分布式文件***的数据存储装置,由于该装置解决问题的原理与本申请实施例分布式文件***的数据存储方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,为本申请实施例六提供的分布式文件***的数据存储装置结构图,包括以下步骤:
接收模块61,用于接收客户端发送的数据存储请求;
选择模块62,用于基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode;
发送模块63,用于将选择的用于存储数据的DataNode的信息发送至所述客户端,以便所述客户端将请求存储的数据写入选择的DataNode中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种分布式文件***,其特征在于,该***包括:上层名字节点HNameNode,多个下层名字节点NameNode以及多个数据节点DataNode;
所述HNameNode,用于接收客户端发送的数据访问请求,基于客户端与NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode;
所述NameNode,用于接收由所述HNameNode转发的数据访问请求,并查找所述数据访问请求对应的DataNode,将查找到的所述DataNode的信息返回至所述客户端;
所述DataNode,用于向所述客户端提供与所述数据访问请求相对应的数据信息。
2.如权利要求1所述的***,其特征在于,所述HNameNode还用于:
接收客户端发送的数据存储请求;
基于各个DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode,并将选择的用于存储数据的DataNode的信息发送至所述客户端。
3.如权利要求1所述的***,其特征在于,所述NameNode还用于:
向所述HNameNode上报自身的运行状态信息;
所述HNameNode还用于:根据所述NameNode上报的运行状态信息,调整NameNode辖区内分配的DataNode。
4.如权利要求1所述的***,其特征在于,所述数据访问请求中携带有身份认证信息;
所述HNameNode具体用于:
在确定所述身份认证信息合法之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
5.如权利要求4所述的***,其特征在于,所述HNameNode具体用于:
在确定所述身份认证信息合法之后,基于记录有所述客户端的访问权限的权限控制表,进行访问权限检查;
在访问权限检查通过之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
6.如权利要求5所述的***,其特征在于,所述HNameNode具体用于根据以下步骤进行访问权限检查:
确定执行所述数据访问请求的操作对象,并判断该操作对象是否具有执行与所述数据访问请求对应的数据操作的权限。
7.一种分布式文件***的数据访问方法,其特征在于,该方法包括:
上层名字节点HNameNode接收客户端发送的数据访问请求;
基于客户端与下层名字节点NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode。
8.如权利要求7所述的方法,其特征在于,所述数据访问请求中携带有身份认证信息;
所述HNameNode将所述数据访问请求转发至与所述客户端对应的NameNode,包括:
在确定所述身份认证信息合法之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
9.如权利要求8所述的方法,其特征在于,所述HNameNode在确定所述身份认证信息合法之后,还包括:
基于记录有所述客户端的访问权限的权限控制表,进行访问权限检查;
在访问权限检查通过之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
10.如权利要求9所述的方法,其特征在于,所述基于记录有所述客户端的访问权限的权限控制表,进行访问权限检查,包括:
基于记录有所述客户端的访问权限的权限控制表,确定执行所述数据访问请求的操作对象并判断该操作对象是否具有执行与所述数据访问请求对应的数据操作的权限。
11.一种分布式文件***的数据访问方法,其特征在于,该方法包括:
下层名字节点NameNode接收由上层名字节点HNameNode转发的来自客户端的数据访问请求;
基于接收到的所述数据访问请求,查找与所述数据访问请求对应的数据节点DataNode;
将查找到的DataNode的信息发送至客户端,以便所述客户端向所述DataNode获取数据信息。
12.一种分布式文件***的数据存储方法,其特征在于,该方法包括:
上层名字节点HNameNode接收客户端发送的数据存储请求;
基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode;
将选择的用于存储数据的DataNode的信息发送至所述客户端,以便所述客户端将请求存储的数据写入选择的DataNode中。
13.一种分布式文件***的数据访问装置,其特征在于,该装置包括:
接收模块,用于接收客户端发送的数据访问请求;
发送模块,用于基于客户端与下层名字节点NameNode的映射关系将所述数据访问请求转发至与所述客户端对应的NameNode。
14.如权利要求13所述的装置,其特征在于,所述数据访问请求中携带有身份认证信息;
所述发送模块具体用于:
在确定所述身份认证信息合法之后,将所述数据访问请求转发至与所述客户端对应的NameNode。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
权限检查模块,用于基于记录有所述客户端的访问权限的权限控制表,进行访问权限检查;
在访问权限检查通过之后,利用所述发送模块将所述数据访问请求转发至与所述客户端对应的NameNode。
16.如权利要求15所述的装置,其特征在于,所述权限检查模块具体用于:
基于记录有所述客户端的访问权限的的权限控制表,确定执行所述数据访问请求的操作对象并判断该操作对象是否具有执行与所述数据访问请求对应的数据操作的权限。
17.一种分布式文件***的数据访问装置,其特征在于,该装置包括:
接收模块,用于接收由上层名字节点HNameNode转发的来自客户端的数据访问请求;
查找模块,用于基于接收到的所述数据访问请求,查找与所述数据访问请求对应的数据节点DataNode;
发送模块,用于将查找到的DataNode的信息发送至客户端,以便所述客户端向所述DataNode获取数据信息。
18.一种分布式文件***的数据存储装置,其特征在于,该装置包括:
接收模块,用于接收客户端发送的数据存储请求;
选择模块,用于基于各个数据节点DataNode上报的本地存储资源的可用情况信息,选择用于存储数据的DataNode;
发送模块,用于将选择的用于存储数据的DataNode的信息发送至所述客户端,以便所述客户端将请求存储的数据写入选择的DataNode中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610949569.1A CN107992491A (zh) | 2016-10-26 | 2016-10-26 | 一种分布式文件***、数据访问和数据存储的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610949569.1A CN107992491A (zh) | 2016-10-26 | 2016-10-26 | 一种分布式文件***、数据访问和数据存储的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107992491A true CN107992491A (zh) | 2018-05-04 |
Family
ID=62029391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610949569.1A Pending CN107992491A (zh) | 2016-10-26 | 2016-10-26 | 一种分布式文件***、数据访问和数据存储的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992491A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246190A (zh) * | 2018-08-07 | 2019-01-18 | 深圳市先河***技术有限公司 | 网络寻址方法、数据编辑方法、装置及存储介质 |
CN109302497A (zh) * | 2018-11-29 | 2019-02-01 | 北京京东尚科信息技术有限公司 | 基于hadoop的数据处理方法、访问代理装置和*** |
CN112528348A (zh) * | 2021-01-13 | 2021-03-19 | 何春江 | 一种web信息安全存储方法 |
CN114201446A (zh) * | 2021-11-22 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 实现hdfs远端存储挂载的方法及*** |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN116055493A (zh) * | 2023-03-31 | 2023-05-02 | 北京比格大数据有限公司 | 一种跨架构的数据获取方法、网关节点及跨架构平台 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件***及其文件处理方法 |
CN102546664A (zh) * | 2012-02-27 | 2012-07-04 | 中国科学院计算技术研究所 | 用于分布式文件***的用户与权限管理方法及*** |
US20130325812A1 (en) * | 2012-05-30 | 2013-12-05 | Spectra Logic Corporation | System and method for archive in a distributed file system |
US20140067992A1 (en) * | 2012-08-28 | 2014-03-06 | Fujitsu Limited | Computer product, communication node, and transmission control method |
CN103647797A (zh) * | 2013-11-15 | 2014-03-19 | 北京邮电大学 | 一种分布式文件***及其数据访问方法 |
CN104023058A (zh) * | 2014-06-03 | 2014-09-03 | 浙江宇视科技有限公司 | 一种存储资源的管理和分配方法和*** |
-
2016
- 2016-10-26 CN CN201610949569.1A patent/CN107992491A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件***及其文件处理方法 |
CN102546664A (zh) * | 2012-02-27 | 2012-07-04 | 中国科学院计算技术研究所 | 用于分布式文件***的用户与权限管理方法及*** |
US20130325812A1 (en) * | 2012-05-30 | 2013-12-05 | Spectra Logic Corporation | System and method for archive in a distributed file system |
US20140067992A1 (en) * | 2012-08-28 | 2014-03-06 | Fujitsu Limited | Computer product, communication node, and transmission control method |
CN103647797A (zh) * | 2013-11-15 | 2014-03-19 | 北京邮电大学 | 一种分布式文件***及其数据访问方法 |
CN104023058A (zh) * | 2014-06-03 | 2014-09-03 | 浙江宇视科技有限公司 | 一种存储资源的管理和分配方法和*** |
Non-Patent Citations (1)
Title |
---|
陈燕,张金松: "《大数据技术及其应用》", 31 December 2015 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246190A (zh) * | 2018-08-07 | 2019-01-18 | 深圳市先河***技术有限公司 | 网络寻址方法、数据编辑方法、装置及存储介质 |
CN109302497A (zh) * | 2018-11-29 | 2019-02-01 | 北京京东尚科信息技术有限公司 | 基于hadoop的数据处理方法、访问代理装置和*** |
CN112528348A (zh) * | 2021-01-13 | 2021-03-19 | 何春江 | 一种web信息安全存储方法 |
CN112528348B (zh) * | 2021-01-13 | 2022-05-20 | 何春江 | 一种web信息安全存储方法 |
CN114201446A (zh) * | 2021-11-22 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 实现hdfs远端存储挂载的方法及*** |
CN114201446B (zh) * | 2021-11-22 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 实现hdfs远端存储挂载的方法及*** |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN114374706B (zh) * | 2022-01-11 | 2024-05-28 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN116055493A (zh) * | 2023-03-31 | 2023-05-02 | 北京比格大数据有限公司 | 一种跨架构的数据获取方法、网关节点及跨架构平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550630B2 (en) | Monitoring and automatic scaling of data volumes | |
CN107992491A (zh) | 一种分布式文件***、数据访问和数据存储的方法及装置 | |
CN113169952B (zh) | 一种基于区块链技术的容器云管理*** | |
CN107229520B (zh) | 一种数据中心操作*** | |
TWI473029B (zh) | 可延伸及可程式化之多租戶服務結構 | |
KR102013004B1 (ko) | 확장 가능한 환경에서의 동적 로드 밸런싱 기법 | |
US9304815B1 (en) | Dynamic replica failure detection and healing | |
KR102013005B1 (ko) | 확장 가능한 환경에서의 파티션 관리 기법 | |
CN103608798B (zh) | 集群文件服务 | |
US20170099292A1 (en) | Systems and Methods for Access Permission Revocation and Reinstatement | |
CN113515499B (zh) | 一种数据库服务方法及*** | |
US11106497B2 (en) | Distributed scheduling in a virtual machine environment | |
CN106790092B (zh) | 远程过程调用服务端控制***及方法 | |
JP7389793B2 (ja) | 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム | |
CN102640108A (zh) | 已复制数据的监控 | |
US11922155B2 (en) | Post-upgrade debugging in a remote network management platform | |
CN103488526A (zh) | 在分布式***中锁定业务资源的***和方法 | |
US11582083B2 (en) | Multi-tenant event sourcing and audit logging in a cloud-based computing infrastructure | |
CN112364110A (zh) | 元数据管理方法、装置、设备及计算机存储介质 | |
US20130239004A1 (en) | System and method for providing an in-memory data grid application container | |
US9813496B2 (en) | Method and apparatus for collaborating in a work environment | |
CN111698126B (zh) | 信息监控方法、***及计算机可读存储介质 | |
US8788474B2 (en) | Inode event notification for cluster file systems | |
CN107832159A (zh) | 管理分布式锁的方法和计算机可读存储介质 | |
US20220278989A1 (en) | Access control for private channels in a channel-based discussion system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180504 |
|
RJ01 | Rejection of invention patent application after publication |