CN105468643B - 分布式文件系统的访问方法和系统 - Google Patents

分布式文件系统的访问方法和系统 Download PDF

Info

Publication number
CN105468643B
CN105468643B CN201410456530.7A CN201410456530A CN105468643B CN 105468643 B CN105468643 B CN 105468643B CN 201410456530 A CN201410456530 A CN 201410456530A CN 105468643 B CN105468643 B CN 105468643B
Authority
CN
China
Prior art keywords
data
file system
operation requests
distributed file
access method
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
CN201410456530.7A
Other languages
English (en)
Other versions
CN105468643A (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.)
Burson Marsteller Network Game Development (shenzhen) Co Ltd
Original Assignee
Burson Marsteller Network Game Development (shenzhen) 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 Burson Marsteller Network Game Development (shenzhen) Co Ltd filed Critical Burson Marsteller Network Game Development (shenzhen) Co Ltd
Priority to CN201410456530.7A priority Critical patent/CN105468643B/zh
Publication of CN105468643A publication Critical patent/CN105468643A/zh
Application granted granted Critical
Publication of CN105468643B publication Critical patent/CN105468643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种分布式文件系统的访问方法和系统,其中,所述分布式文件系统的访问方法包括:接收对分布式文件系统的操作请求;根据所述操作请求建立与所述分布式文件系统之间的连接;调用第二数据访问方法在所述分布式文件系统中响应所述操作请求,所述第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,所述第一数据访问方法是指数据传输的通信协议包含的数据访问方法;返回响应所述操作请求得到的结果。上述分布式文件系统的访问方法和系统节省了应用系统开发所需的时间和资金。

Description

分布式文件系统的访问方法和系统
技术领域
本发明涉及分布式数据处理技术,特别是涉及一种分布式文件系统的访问方法和系统。
背景技术
随着互联网技术的飞速发展,用户的数据量也出现成倍地增长。这对企业的网络系统提出了更大的容量存储能力和更高的系统性能要求。
NAS(Network Attached Storage,网络附加存储)作为一种专用的文件系统,具有易部署、易维护的特点,是中小企业发展初期主要的存储备份设备,但是NAS也存在一些缺点:一是任何时刻只有一个节点处于活动状态,容易出现负荷热点。二是扩展性差,系统性能和空间不能随需求动态变化。随着数据量的增长原有应用系统的NAS文件系统将不能满足企业需求。
分布式文件系统是一种高性能、高可扩展的文件系统,它采用scale-out(水平扩展)架构设计,通过增加普通服务器的方式,在不停机的情况下动态扩展其运算、存储和I/O带宽的规模,并利用集群技术将I/O负载分配到多个数据节点上处理,提高系统的整体性能。
企业若要在原有的应用系统上使用分布式文件系统代替原有的NAS,传统的方法,需要对企业的应用系统重新开发或重构,增加了应用系统开发的工作量。
发明内容
基于此,有必要针对上述技术问题,提供一种不需要对应用系统重新开发的分布式文件系统的访问方法和系统。
一种分布式文件系统的访问方法,所述方法包括:
接收对分布式文件系统的操作请求;
根据所述操作请求建立与所述分布式文件系统之间的连接;
调用第二数据访问方法在所述分布式文件系统中响应所述操作请求,所述第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,所述第一数据访问方法是指数据传输的通信协议包含的数据访问方法;
返回响应所述操作请求得到的结果。
在其中一个实施例中,所述第二数据访问方法包括:
文件读取方法、文件上传方法、文件复制方法、文件删除方法、文件重命名方法、创建目录方法和查找当前目录文件列表方法中的至少一种第二数据访问方法。
在其中一个实施例中,所述根据所述操作请求建立与所述分布式文件系统之间的连接的步骤,包括:
加载分布式文件系统的配置信息,所述配置信息包括访问地址和访问端口;
根据所述操作请求创建系统连接器对象,通过所述系统连接器对象根据所述访问地址和访问端口建立与分布式文件系统之间的连接。
在其中一个实施例中,所述调用第二数据访问方法在所述分布式文件系统中响应所述操作请求的步骤,包括:
检查所述第二数据访问方法对分布式文件系统是否有操作权限;
当有操作权限时,判断所述操作请求是否是修改所述分布式文件系统中数据的操作请求,若是,进一步判断所述分布式文件系统中数据是否已被占用;
当所述分布式文件系统的数据没有被占用时,则修改所述分布式文件系统中数据,否则等待所述占有被释放。
在其中一个实施例中,所述分布式文件系统包括控制节点和数据节点;所述方法还包括:
所述控制节点接收所述操作请求,将所述操作请求记录在日志文件中,并定期合并所述日志文件;和/或
所述控制节点接收数据节点发送的心跳,若在预设时间内未接收到所述数据节点发送的心跳,则将所述数据节点标记为失效数据节点;所述控制节点优先选择未被标记为失效数据节点的数据节点对所述操作请求进行响应。
一种分布式文件系统的访问系统,其特征在于所述系统包括:
操作请求接收模块,用于接收对分布式文件系统的操作请求;
连接建立模块,用于根据所述操作请求建立与所述分布式文件系统之间的连接;
操作请求响应模块,用于调用第二数据访问方法在所述分布式文件系统中响应所述操作请求,所述第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,所述第一数据访问方法是指数据传输的通信协议包含的数据访问方法;
结果返回模块,返回响应所述操作请求得到的结果。
在其中一个实施例中,所述第二数据访问方法包括:
文件读取系统、文件上传系统、文件复制系统、文件删除系统、文件重命名系统、创建目录系统和查找当前目录文件列表系统中的至少一种第二数据访问方法。
在其中一个实施例中,所述连接建立模块包括:
配置信息加载模块,用于加载分布式文件系统的配置信息,所述配置信息包括访问地址和访问端口;
对象连接模块,用于根据所述操作请求创建系统连接器对象,通过所述系统连接器对象根据所述访问地址和访问端口建立与分布式文件系统之间的连接。
在其中一个实施例中,所述操作请求响应模块包括:
操作权限检查模块,用于检查所述第二数据访问方法对分布式文件系统是否有操作权限;
操作请求判断模块,用于当有操作权限时,判断所述操作请求是否是修改所述分布式文件系统中数据的操作请求,若是,进一步判断所述分布式文件系统中数据是否已被占用;
数据修改模块,用于当所述分布式文件系统中数据没有被占用时,则修改所述分布式文件系统中数据,否则等待所述占有被释放。
在其中一个实施例中,所述分布式文件系统包括控制节点和数据节点;所述系统还包括:
所述控制节点,用于接收所述操作请求,将所述操作请求记录在日志文件中,并定期合并所述日志文件;和/或
所述控制节点,还用于接收数据节点发送的心跳,若在预设时间内未接收到所述数据节点发送的心跳,则将所述数据节点标记为失效数据节点;所述控制节点优先选择未被标记为失效数据节点的数据节点对所述操作请求进行响应。
上述分布式文件系统的访问方法和系统,通过调用第二数据访问方法就能像访问本地文件系统一样访问分布式文件系统。应用系统只需要将原有的文件系统下的数据转移至分布式文件系统即可,应用系统本身不需要做任何改变,便可实现用分布式文件系统代替应用系统原有的文件系统。由于不需要对应用系统重新开发也可在应用系统上使用分布式文件系统,节省了应用系统开发所需的时间和资金。
附图说明
图1为一个实施例中分布式文件系统的访问方法的应用环境图;
图2为一个实施例中分布式文件系统的访问方法的流程示意图;
图3为一个实施例中访问HDFS的一个界面图;
图4为一个实施例中调用通信协议中重新封装了处理逻辑的数据访问方法响应所述操作请求步骤的流程示意图;
图5为一个实施例中分布式文件系统的访问系统的结构示意图;
图6为一个实施例中连接建立模块的结构示意图;
图7为一个实施例中操作请求响应模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供的一种分布式文件系统的访问方法,该方法应用在如图1所示的应用环境图中,应用系统是指安装在操作系统上的应用程序,其中NAS是应用系统下原先使用的文件系统,分布式文件系统是本方法将在应用系统下重新构建的文件系统。应用系统对应的客户端通过Web服务器发起访问分布式文件系统的操作请求,访问控制器通过通信协议中重新封装了处理逻辑的数据访问方法响应操作请求,系统连接器负责与分布式文件系统通讯,并将响应操作请求的结果通过系统连接器返回给应用系统。使得应用系统本身不需要做任何修改的情况下使用分布式文件系统。
如图2所示,在一个实施例中,提供的一种分布式文件系统的访问方法,该方法包括:
步骤202,接收对分布式文件系统的操作请求。
本实施例中,分布式文件系统用来存储应用系统产生的数据,应用系统对应的客户端可以向分布式文件系统中发送操作请求,具体的,应用系统对应的客户端向Web服务器发送操作请求,访问控制器从Web服务器接收到客户端发送的操作请求。例如,客户端要读取分布式文件系统中的数据,先向Web服务器发送数据读取请求,访问控制器从Web服务器中接收到数据读取请求。
步骤204,根据操作请求建立与分布式文件系统之间的连接。
本实施例中,访问控制器将操作请求传输至系统连接器,系统连接器根据操作请求实例化系统连接器对象,通过系统连接器对象建立客户端与分布式文件系统之间的通讯。
步骤206调用第二数据访问方法在分布式文件系统中响应操作请求。
本实施例中,第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,第一数据访问方法是指数据传输的通信协议包含的数据访问方法。通信协议是指应用程序的客户端与对应的文件系统进行数据传输的一种通信规则。通信协议中包含的数据访问方法包括:读取、删除、修改、锁定、解锁等。由于通信协议中的包含的第一数据访问方法只能访问本地服务器上文件系统的数据,不能访问分布式文件系统中的数据。将通信协议中包含的第一数据访问方法的处理逻辑进行重新封装得到第二数据访问方法,使得第二数据访问方法(及重新封装了处理逻辑的第一数据访问方法)能对分布式文件系统的数据进行访问。
重新封装了处理逻辑的第一数据访问方法可以理解为,将通信协议中对本地服务器上文件系统数据操作命令转换为对分布式文件系统的数据操作命令。本实施例中,访问控制器接收到操作请求后,进一步的,将触发通信协议处理该操作请求的事件,通过访问控制器调用第二数据访问方法响应处理该操作请求的事件。
步骤208,返回响应操作请求得到的结果。
本实施例中,将响应操作请求得到的结果通过系统连接器返回给发起操作请求方。例如,应用系统对应的客户端要读取分布式文件系统中的数据,访问控制器接收到客户端对分布式文件系统的数据读取请求,进一步的,调用通信协议中重新封装了处理逻辑的数据读取方法响应该数据读取请求,并将最终读到的数据通过系统连接器返回给客户端。
通过调用第二数据访问方法就能像访问本地文件系统一样访问分布式文件系统。应用系统只需要将原有的文件系统下的数据转移至分布式文件系统即可,应用系统本身不需要做任何改变,便可实现用分布式文件系统代替应用系统原有的文件系统。由于不需要对应用系统重新开发也可在应用系统上使用分布式文件系统,因而,企业不需要重新开发新的应用系统,节省了企业大量的时间和资金。
在一个实施例中,第二数据访问方法包括:文件读取方法、文件上传方法、文件复制方法、文件删除方法、文件重命名方法、创建目录方法和查找当前目录文件列表方法中的至少一种第二数据访问方法。
在一个实施例中,提供的一种分布式文件系统的访问方法还包括:
控制节点接收操作请求,将操作请求记录在日志文件中,并定期合并日志文件;和/或
控制节点接收数据节点发送的心跳,若在预设时间内未接收到数据节点发送的心跳,则将数据节点标记为失效数据节点;控制节点优先选择未被标记为失效数据节点的数据节点对操作请求进行响应。
本实施例中,分布式文件系统包括控制节点和数据节点,其中,控制节点将客户端对分布式文件系统的操作请求记录在日志文件中,并定期合并日志文件;控制节点将标记失效的数据节点,失效的数据节点作为第二数据访问方法最后一个选择访问的数据节点。
控制节点是分布式文件系统中最重要的节点,它负责管理文件系统的名字空间(namespace)以及客户端的访问。控制节点中的日志文件负责记录客户端对分布式文件系统每一次的操作请求,并在下次重启分布式文件系统时对日志文件进行合并,如果分布式文件系统长时间不重启,日志文件中的记录的操作请求数量就会很多,重启过程中将花费大量的时间来合并日志文件中的记录,通过定期合并日志文件,减少了分布式文件系统重启时合并日志文件中记录的时间。优选的,定期的时间设置为30分钟。
数据节点利用集群技术将I/O(Input/Output)负载分配到多个数据节点的多个磁盘中,提高了应用系统在数据节点I/O处理上的性能。存储在分布式文件系统中的数据一般有多个副本,当某一个数据节点失效后,保存在该数据节点的副本将会被拷贝到其它活跃的数据节点,如果有多个数据节点同时失效,可能会造成分布式文件系统中副本拷贝风暴,影响分布式文件系统的正常服务。
数据节点会周期性的向控制节点发送心跳,当一定时间内控制节点没有收到数据节点发送的心跳,即表示该数据节点失效了,失效的数据节点会抛出时间异常,控制节点通过设置参数标记失效的数据节点,第二数据访问方法优先访问其它活跃的数据节点,只有在第二数据访问方法在其它活跃的数据节点中获取不到数据的情况下,才会访问到被标记的数据节点。
具体的,分布式文件系统为HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),Hadoop是一个开源分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。
在不停机的情况下,企业的应用系统通过使用HDFS,可以根据数据量动态的调整数据节点的数量,提高了应用系统的可扩展性,降低了企业数据存储成本。
在一个实施例中,通信协议为WebDAV协议(Web Distributed Authoring andVersioning,万维网分布式创作和版本控制),WebDAV协议是一种基于HTTP1.1协议的通信协议。WebDAV协议在HTTP 1.1基础上添加了一些新的方法使得应用程序可直接将文件写入web服务器。
本实施例中,重新封装了WebDAV协议中的GET(文件读取方法)、PUT(文件上传方法)、COPY(文件复制方法)、DELETE(文件删除方法)、MOVE(文件重命名方法)、MKCOL(创建目录方法)和PROPFIND(查找当前目录文件列表方法)的处理逻辑,通过调用WebDAV协议中重新封装了处理逻辑的数据访问方法响应客户端对分布式文件系统的操作请求,使得客户端可以像访问本地服务器资源一样访问分布式文件系统的资源。
具体的,访问控制器接收到客户端对分布式文件系统的操作请求后,将触发WebDAV协议处理该操作请求的事件,访问控制器调用WebDAV协议中对应的重新封装了处理逻辑的数据访问方法响应处理该操作请求的事件,并将得到的结果通过系统连接器返回给客户端。
如图3所示为通过浏览器访问HDFS的一个界面图,在Linux服务器下,通过Web服务器访问HDFS上的数据资源,在浏览器中输入链接地址:http://localhost:8080/hdfs-WebDAV/便可出现如图3所示的界面图。通过执行创建用户命令和挂载资源的命令,将上述HDFS的数据资源挂在到本地文件服务器的目录中,
例如,执行创建用户命令:useradd davfs2创建davfs2用户,执行mount.davfshttp://localhost:8080/hdfs-WebDAV//home/hadoop/hdfs命令,将HDFS挂载到本地文件服务器的/home/hadoop/hdfs目录中。挂载成功后,客户端便可像访问本地文件服务器中的数据资源一样访问HDFS上的数据资源了。
在一个实施例中,步骤204,根据操作请求建立与分布式文件系统之间的连接包括:
加载分布式文件系统的配置信息,配置信息包括访问地址和访问端口;根据操作请求创建系统连接器对象,通过系统连接器对象根据访问地址和访问端口建立与分布式文件系统之间的连接。
本实施例中,系统连接器负责与分布式文件系统通讯,该通讯协议是建立在TCP/IP协议上的。客户端对分布式文件系统的操作请求都将通过系统连接器的一个可配置的TCP端口转发给分布式文件系统,系统连接器在初始化时需要加载分布式文件系统的配置信息,该配置信息中包括分布式文件系统的访问地址、端口号和数据块存储路径列表。其中,分布式文件系统可以配置多个磁盘路径,每个路径之间用逗号分隔,以提高磁盘I/O的并发度,通过设置参数指定存储在分布式文件系统中数据的副本数量。
接收到操作请求后,进一步的,实例化一个系统连接器对象,系统连接器对象根据上述的访问地址和访问端口建立客户端与分布式文件系统之间的连接。建立连接后,通过第二数据访问方法操作分布式文件系统,并将操作结果通过系统连接器对象返回给客户端。第二数据访问方法对分布式文件系统操作完毕后,系统连接器对象将关闭客户端与分布式文件系统之间的连接。
在一个实施例中,步骤208,调用第二数据访问方法在分布式文件系统中响应操作请求包括:
步骤402,检测第二数据访问方法对分布式文件系统是否有操作权限,若否,则拒绝操作分布式文件系统。若是,则进入步骤404。
步骤404,判断操作请求是否是修改分布式文件系统中数据的操作请求,若是,则进入步骤406,若否,则响应操作请求。
步骤406,判断分布式文件系统中数据是否已被占用,若否,则进入步骤408,若是,则等待占有被释放。
步骤408,修改分布式文件系统中数据。
本实施例中,当第二数据访问方法是对分布式文件系统中的数据进行修改时,需要进一步判断数据是否被锁定,若数据没被锁定,则可以通过数据修改方法来修改该数据,若数据被锁定则表示数据正被占用,需要等待数据被解锁后才可修改该数据。
在一个实施例中,如图5所示,提供了一种分布式文件系统的访问系统,该系统包括:操作请求接收模块52、连接建立模块54、操作请求响应模块56和结果返回模块58。
操作请求接收模块52,用于接收对分布式文件系统的操作请求。
连接建立模块54,用于根据操作请求建立与分布式文件系统之间的连接。
操作请求响应模块56,用于调用第二数据访问方法在分布式文件系统中响应操作请求。本实施例中,第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,第一数据访问方法是指数据传输的通信协议包含的数据访问方法。
结果返回模块58,用于返回响应操作请求得到的结果。
在一个实施例中,分布式文件系统的访问系统中第二数据访问方法包括:文件读取系统、文件上传系统、文件复制系统、文件删除系统、文件重命名系统、创建目录系统和查找当前目录文件列表系统中的至少一种第二数据访问方法。
在一个实施例中,如图6所示,连接建立模块54包括:
配置信息加载模块542,用于加载分布式文件系统的配置信息,配置信息包括访问地址和访问端口。
对象连接模块544,用于根据操作请求创建系统连接器对象,通过系统连接器对象根据访问地址和访问端口建立与分布式文件系统之间的连接。
在一个实施例中,如图7所示,操作请求响应模块56包括:
操作权限检查模块562,用于检查第二数据访问方法对分布式文件系统是否有操作权限。
操作请求判断模块564,用于当有操作权限时,判断操作请求是否是修改分布式文件系统中数据的操作请求,若是,进一步判断分布式文件系统中数据是否已被占用。
数据修改模块566,用于当分布式文件系统中数据没有被占用时,修改分布式文件系统中数据,否则等待占有被释放。
本实施例中,操作请求判断模块564判断第二数据访问方法是对分布式文件系统中的数据进行修改时,需要进一步判断数据是否被锁定,若数据没被锁定,则可以通过数据修改方法来修改该数据,若数据被锁定则表示数据正被占用,需要等待数据被解锁后才可修改该数据。
在一个实施例中,分布式文件系统包括控制节点和数据节点,其中,分布式文件系统的访问系统还包括:
控制节点,用于接收操作请求,将操作请求记录在日志文件中,并定期合并日志文件。和/或
控制节点,还用于接收数据节点发送的心跳,若在预设时间内未接收到数据节点发送的心跳,则将数据节点标记为失效数据节点。
本实施例中,控制节点是分布式文件系统中最重要的节点,它负责管理文件系统的名字空间(namespace)以及客户端的访问。控制节点中的日志文件负责记录客户端对分布式文件系统每一次的操作请求,并在下次重启分布式文件系统时对日志文件进行合并,如果分布式文件系统长时间不重启,日志文件中的记录的操作请求数量就会很多,重启过程中将花费大量的时间来合并日志文件中的记录,控制节点通过定期合并日志文件,减少了分布式文件系统重启时合并日志文件中记录的时间。优选的,定期的时间设置为30分钟。
数据节点利用集群技术将I/O(Input/Output)负载分配到多个数据节点的多个磁盘中,提高了应用系统在数据节点I/O处理上的性能。存储在分布式文件系统中的数据一般有多个副本,当某一个数据节点失效后,保存在该数据节点的副本将会被拷贝到其它活跃的数据节点,如果有多个数据节点同时失效,可能会造成分布式文件系统中副本拷贝风暴,影响分布式文件系统的正常服务。
数据节点会周期性的向控制节点发送心跳,当一定时间内控制节点没有收到数据节点发送的心跳,即表示该数据节点失效了,失效的数据节点会抛出时间异常,控制节点通过设置参数标记失效的数据节点。控制节点优先选择未被标记为失效数据节点的数据节点对操作请求进行响应。第二数据访问方法优先访问其它活跃的数据节点,只有在第二数据访问方法在其它活跃的数据节点中获取不到数据的情况下,才会访问到被标记的数据节点。
具体的,分布式文件系统为HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),Hadoop是一个开源分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种分布式文件系统的访问方法,所述方法包括:
接收对分布式文件系统的操作请求;
根据所述操作请求建立与所述分布式文件系统之间的连接;
调用第二数据访问方法,检查所述第二数据访问方法对分布式文件系统是否有操作权限;
当有操作权限时,基于所述第二数据访问方法在所述分布式文件系统中响应所述操作请求;所述第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,所述第一数据访问方法是指数据传输的通信协议包含的数据访问方法;所述重新封装处理逻辑为将通信协议中对本地服务器上文件系统数据操作命令转换为对分布式文件系统的数据操作指令;
返回响应所述操作请求得到的结果。
2.根据权利要求1所述的方法,其特征在于,所述第二数据访问方法包括:
文件读取方法、文件上传方法、文件复制方法、文件删除方法、文件重命名方法、创建目录方法和查找当前目录文件列表方法中的至少一种第二数据访问方法。
3.根据权利要求1所述的方法,其特征在于,所述根据所述操作请求建立与所述分布式文件系统之间的连接的步骤,包括:
加载分布式文件系统的配置信息,所述配置信息包括访问地址和访问端口;
根据所述操作请求创建系统连接器对象,通过所述系统连接器对象根据所述访问地址和访问端口建立与分布式文件系统之间的连接。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二数据访问方法在所述分布式文件系统中响应所述操作请求的步骤,包括:
判断所述操作请求是否是修改所述分布式文件系统中数据的操作请求,若是,进一步判断所述分布式文件系统中数据是否已被占用;
当所述分布式文件系统的数据没有被占用时,则修改所述分布式文件系统中数据,否则等待所述占用被释放。
5.根据权利要求1所述的方法,其特征在于,所述分布式文件系统包括控制节点和数据节点;所述方法还包括:
所述控制节点接收所述操作请求,将所述操作请求记录在日志文件中,并定期合并所述日志文件;和/或
所述控制节点接收数据节点发送的心跳,若在预设时间内未接收到所述数据节点发送的心跳,则将所述数据节点标记为失效数据节点;所述控制节点优先选择未被标记为失效数据节点的数据节点对所述操作请求进行响应。
6.一种分布式文件系统的访问系统,其特征在于,所述系统包括:
操作请求接收模块,用于接收对分布式文件系统的操作请求;
连接建立模块,用于根据所述操作请求建立与所述分布式文件系统之间的连接;
操作请求响应模块,用于调用第二数据访问方法,检查所述第二数据访问方法对分布式文件系统是否有操作权限;当有操作权限时,基于所述第二数据访问方法在所述分布式文件系统中响应所述操作请求;所述第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,所述第一数据访问方法是指数据传输的通信协议包含的数据访问方法;所述重新封装处理逻辑为将通信协议中对本地服务器上文件系统数据操作命令转换为对分布式文件系统的数据操作指令;
结果返回模块,返回响应所述操作请求得到的结果。
7.根据权利要求6所述的系统,其特征在于,所述第二数据访问方法包括:
文件读取系统、文件上传系统、文件复制系统、文件删除系统、文件重命名系统、创建目录系统和查找当前目录文件列表系统中的至少一种第二数据访问方法。
8.根据权利要求6所述的系统,其特征在于,所述连接建立模块包括:
配置信息加载模块,用于加载分布式文件系统的配置信息,所述配置信息包括访问地址和访问端口;
对象连接模块,用于根据所述操作请求创建系统连接器对象,通过所述系统连接器对象根据所述访问地址和访问端口建立与分布式文件系统之间的连接。
9.根据权利要求6所述的系统,其特征在于,所述操作请求响应模块包括:
操作请求判断模块,用于判断所述操作请求是否是修改所述分布式文件系统中数据的操作请求,若是,进一步判断所述分布式文件系统中数据是否已被占用;
数据修改模块,用于当所述分布式文件系统中数据没有被占用时,则修改所述分布式文件系统中数据,否则等待所述占用被释放。
10.根据权利要求6所述的系统,其特征在于,所述分布式文件系统包括控制节点和数据节点;所述系统还包括:
所述控制节点,用于接收所述操作请求,将所述操作请求记录在日志文件中,并定期合并所述日志文件;和/或
所述控制节点,还用于接收数据节点发送的心跳,若在预设时间内未接收到所述数据节点发送的心跳,则将所述数据节点标记为失效数据节点;所述控制节点优先选择未被标记为失效数据节点的数据节点对所述操作请求进行响应。
CN201410456530.7A 2014-09-09 2014-09-09 分布式文件系统的访问方法和系统 Active CN105468643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410456530.7A CN105468643B (zh) 2014-09-09 2014-09-09 分布式文件系统的访问方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410456530.7A CN105468643B (zh) 2014-09-09 2014-09-09 分布式文件系统的访问方法和系统

Publications (2)

Publication Number Publication Date
CN105468643A CN105468643A (zh) 2016-04-06
CN105468643B true CN105468643B (zh) 2019-05-03

Family

ID=55606348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410456530.7A Active CN105468643B (zh) 2014-09-09 2014-09-09 分布式文件系统的访问方法和系统

Country Status (1)

Country Link
CN (1) CN105468643B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649555A (zh) * 2016-11-08 2017-05-10 深圳市中博睿存科技有限公司 存储单元状态标记方法及分布式存储系统
CN106713300A (zh) * 2016-12-16 2017-05-24 普华基础软件股份有限公司 一种基于webdav的通用文件共享系统及方法
CN109033328B (zh) * 2018-07-19 2022-08-02 郑州云海信息技术有限公司 一种访问请求处理方法、装置、设备及可读存储介质
CN110290002B (zh) * 2019-06-27 2023-08-01 北京百度网讯科技有限公司 一种更新方法、终端及电子设备
CN112579525A (zh) * 2019-09-30 2021-03-30 成都长虹网络科技有限责任公司 一种基于web的统一文件处理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464453A (zh) * 2002-06-06 2003-12-31 联想(北京)有限公司 基于分布式文件系统的文件存储系统及其文件访问方法
US7363352B2 (en) * 2003-03-13 2008-04-22 Hitachi, Ltd. Method for accessing distributed file system
CN101227460A (zh) * 2007-01-19 2008-07-23 秦晨 分布式文件上传、下载方法及其装置和系统
CN102075584A (zh) * 2011-01-30 2011-05-25 中国科学院计算技术研究所 一种分布式文件系统及其访问方法
CN102646121A (zh) * 2012-02-23 2012-08-22 武汉大学 结合RDBMS和Hadoop云存储的两级存储方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464453A (zh) * 2002-06-06 2003-12-31 联想(北京)有限公司 基于分布式文件系统的文件存储系统及其文件访问方法
US7363352B2 (en) * 2003-03-13 2008-04-22 Hitachi, Ltd. Method for accessing distributed file system
CN101227460A (zh) * 2007-01-19 2008-07-23 秦晨 分布式文件上传、下载方法及其装置和系统
CN102075584A (zh) * 2011-01-30 2011-05-25 中国科学院计算技术研究所 一种分布式文件系统及其访问方法
CN102646121A (zh) * 2012-02-23 2012-08-22 武汉大学 结合RDBMS和Hadoop云存储的两级存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于Hadoop的分布式文件系统技术分析及应用";郝向涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215(第S2期);第13-15、43-49、53、54页

Also Published As

Publication number Publication date
CN105468643A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
US11086531B2 (en) Scaling events for hosting hierarchical data structures
CN106537881B (zh) 基于存根追踪允许同步访问云存储系统的方法及计算设备
CN105468643B (zh) 分布式文件系统的访问方法和系统
US8954786B2 (en) Failover data replication to a preferred list of instances
US8209365B2 (en) Technique for virtualizing storage using stateless servers
US20130318061A1 (en) Sharing business data across networked applications
US20090063556A1 (en) Root node for carrying out file level virtualization and migration
US8380815B2 (en) Root node for file level virtualization
US20080235300A1 (en) Data migration processing device
JP2012504262A (ja) 分散キャッシュ配置
WO2006089479A1 (fr) Méthode de gestion de données dans un système de stockage en réseau et système de stockage en réseau reposant sur la méthode
JP2023532947A (ja) データ転送方法、プロキシサーバ、記憶媒体及び電子デバイス
CN109213571B (zh) 一种内存共享方法、容器管理平台及计算机可读存储介质
US20130198309A1 (en) Clustering Without Shared Storage
CA2177020A1 (en) Customer information control system and method in a loosely coupled parallel processing environment
US9747291B1 (en) Non-disruptive upgrade configuration translator
CN106648462B (zh) 数据存储方法及装置
CN110352401A (zh) 具有按需代码执行能力的本地装置协调器
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
CN105022779A (zh) 一种利用Filesystem API实现HDFS文件存取方法
US11916998B2 (en) Multi-cloud edge system
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
US9875120B2 (en) Virtualized components in computing systems
Delavergne et al. A service mesh for collaboration between geo-distributed services: the replication case
US10148503B1 (en) Mechanism for dynamic delivery of network configuration states to protocol heads

Legal Events

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