分布式文件系统的访问方法和系统的制作方法_3

文档序号:9708342阅读:来源:国知局
andVers1ning,万维网分布式创作和版本控制),WebDAV协议是一种基于HTTP1.1协议的通信协议。WebDAV协议在HTTP 1.1基础上添加了一些新的方法使得应用程序可直接将文件写入web服务器。
[0073]本实施例中,重新封装了 WebDAV协议中的GET (文件读取方法)、HJT (文件上传方法)、COPY (文件复制方法)、DELETE (文件删除方法)、MOVE (文件重命名方法)、MKC0L (创建目录方法)和PR0PFIND (查找当前目录文件列表方法)的处理逻辑,通过调用WebDAV协议中重新封装了处理逻辑的数据访问方法响应客户端对分布式文件系统的操作请求,使得客户端可以像访问本地服务器资源一样访问分布式文件系统的资源。
[0074]具体的,访问控制器接收到客户端对分布式文件系统的操作请求后,将触发WebDAV协议处理该操作请求的事件,访问控制器调用WebDAV协议中对应的重新封装了处理逻辑的数据访问方法响应处理该操作请求的事件,并将得到的结果通过系统连接器返回给客户端。
[0075]如图3所示为通过浏览器访问HDFS的一个界面图,在Linux服务器下,通过Web服务器访问HDFS上的数据资源,在浏览器中输入链接地址:http://l0Calh0st:8080/hdfs-WebDAV/便可出现如图3所示的界面图。通过执行创建用户命令和挂载资源的命令,将上述HDFS的数据资源挂在到本地文件服务器的目录中,
[0076]例如,执行创建用户命令:useradd davf s2创建davf s2用户,执行mount, davf shttp: //localhost: 8080/hdf s-ffebDAV//home/hadoop/hdf s 命令,将 HDFS 挂载到本地文件服务器的/home/hadoop/hdfs目录中。挂载成功后,客户端便可像访问本地文件服务器中的数据资源一样访问HDFS上的数据资源了。
[0077]在一个实施例中,步骤204,根据操作请求建立与分布式文件系统之间的连接包括:
[0078]加载分布式文件系统的配置信息,配置信息包括访问地址和访问端口 ;根据操作请求创建系统连接器对象,通过系统连接器对象根据访问地址和访问端口建立与分布式文件系统之间的连接。
[0079]本实施例中,系统连接器负责与分布式文件系统通讯,该通讯协议是建立在TCP/IP协议上的。客户端对分布式文件系统的操作请求都将通过系统连接器的一个可配置的TCP端口转发给分布式文件系统,系统连接器在初始化时需要加载分布式文件系统的配置信息,该配置信息中包括分布式文件系统的访问地址、端口号和数据块存储路径列表。其中,分布式文件系统可以配置多个磁盘路径,每个路径之间用逗号分隔,以提高磁盘1/0的并发度,通过设置参数指定存储在分布式文件系统中数据的副本数量。
[0080]接收到操作请求后,进一步的,实例化一个系统连接器对象,系统连接器对象根据上述的访问地址和访问端口建立客户端与分布式文件系统之间的连接。建立连接后,通过第二数据访问方法操作分布式文件系统,并将操作结果通过系统连接器对象返回给客户端。第二数据访问方法对分布式文件系统操作完毕后,系统连接器对象将关闭客户端与分布式文件系统之间的连接。
[0081]在一个实施例中,步骤208,调用第二数据访问方法在分布式文件系统中响应操作请求包括:
[0082]步骤402,检测第二数据访问方法对分布式文件系统是否有操作权限,若否,则拒绝操作分布式文件系统。若是,则进入步骤404。
[0083]步骤404,判断操作请求是否是修改分布式文件系统中数据的操作请求,若是,则进入步骤406,若否,则响应操作请求。
[0084]步骤406,判断分布式文件系统中数据是否已被占用,若否,则进入步骤408,若是,则等待占有被释放。
[0085]步骤408,修改分布式文件系统中数据。
[0086]本实施例中,当第二数据访问方法是对分布式文件系统中的数据进行修改时,需要进一步判断数据是否被锁定,若数据没被锁定,则可以通过数据修改方法来修改该数据,若数据被锁定则表示数据正被占用,需要等待数据被解锁后才可修改该数据。
[0087]在一个实施例中,如图5所示,提供了一种分布式文件系统的访问系统,该系统包括:操作请求接收模块52、连接建立模块54、操作请求响应模块56和结果返回模块58。
[0088]操作请求接收模块52,用于接收对分布式文件系统的操作请求。
[0089]连接建立模块54,用于根据操作请求建立与分布式文件系统之间的连接。
[0090]操作请求响应模块56,用于调用第二数据访问方法在分布式文件系统中响应操作请求。本实施例中,第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,第一数据访问方法是指数据传输的通信协议包含的数据访问方法。
[0091]结果返回模块58,用于返回响应操作请求得到的结果。
[0092]在一个实施例中,分布式文件系统的访问系统中第二数据访问方法包括:文件读取系统、文件上传系统、文件复制系统、文件删除系统、文件重命名系统、创建目录系统和查找当前目录文件列表系统中的至少一种第二数据访问方法。
[0093]在一个实施例中,如图6所示,连接建立模块54包括:
[0094]配置信息加载模块542,用于加载分布式文件系统的配置信息,配置信息包括访问地址和访问端口。
[0095]对象连接模块544,用于根据操作请求创建系统连接器对象,通过系统连接器对象根据访问地址和访问端口建立与分布式文件系统之间的连接。
[0096]在一个实施例中,如图7所示,操作请求响应模块56包括:
[0097]操作权限检查模块562,用于检查第二数据访问方法对分布式文件系统是否有操作权限。
[0098]操作请求判断模块564,用于当有操作权限时,判断操作请求是否是修改分布式文件系统中数据的操作请求,若是,进一步判断分布式文件系统中数据是否已被占用。
[0099]数据修改模块566,用于当分布式文件系统中数据没有被占用时,修改分布式文件系统中数据,否则等待占有被释放。
[0100]本实施例中,操作请求判断模块564判断第二数据访问方法是对分布式文件系统中的数据进行修改时,需要进一步判断数据是否被锁定,若数据没被锁定,则可以通过数据修改方法来修改该数据,若数据被锁定则表示数据正被占用,需要等待数据被解锁后才可修改该数据。
[0101]在一个实施例中,分布式文件系统包括控制节点和数据节点,其中,分布式文件系统的访问系统还包括:
[0102]控制节点,用于接收操作请求,将操作请求记录在日志文件中,并定期合并日志文件。和/或
[0103]控制节点,还用于接收数据节点发送的心跳,若在预设时间内未接收到数据节点发送的心跳,则将数据节点标记为失效数据节点。
[0104]本实施例中,控制节点是分布式文件系统中最重要的节点,它负责管理文件系统的名字空间(na
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1