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

文档序号:9708342阅读:来源:国知局
]图5为一个实施例中分布式文件系统的访问系统的结构示意图;
[0047]图6为一个实施例中连接建立模块的结构示意图;
[0048]图7为一个实施例中操作请求响应模块的结构示意图。
【具体实施方式】
[0049]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0050]如图1所示,在一个实施例中,提供的一种分布式文件系统的访问方法,该方法应用在如图1所示的应用环境图中,应用系统是指安装在操作系统上的应用程序,其中NAS是应用系统下原先使用的文件系统,分布式文件系统是本方法将在应用系统下重新构建的文件系统。应用系统对应的客户端通过Web服务器发起访问分布式文件系统的操作请求,访问控制器通过通信协议中重新封装了处理逻辑的数据访问方法响应操作请求,系统连接器负责与分布式文件系统通讯,并将响应操作请求的结果通过系统连接器返回给应用系统。使得应用系统本身不需要做任何修改的情况下使用分布式文件系统。
[0051]如图2所示,在一个实施例中,提供的一种分布式文件系统的访问方法,该方法包括:
[0052]步骤202,接收对分布式文件系统的操作请求。
[0053]本实施例中,分布式文件系统用来存储应用系统产生的数据,应用系统对应的客户端可以向分布式文件系统中发送操作请求,具体的,应用系统对应的客户端向Web服务器发送操作请求,访问控制器从Web服务器接收到客户端发送的操作请求。例如,客户端要读取分布式文件系统中的数据,先向Web服务器发送数据读取请求,访问控制器从Web服务器中接收到数据读取请求。
[0054]步骤204,根据操作请求建立与分布式文件系统之间的连接。
[0055]本实施例中,访问控制器将操作请求传输至系统连接器,系统连接器根据操作请求实例化系统连接器对象,通过系统连接器对象建立客户端与分布式文件系统之间的通τΗ ο
[0056]步骤206调用第二数据访问方法在分布式文件系统中响应操作请求。
[0057]本实施例中,第二数据访问方法为重新封装了处理逻辑的第一数据访问方法,第一数据访问方法是指数据传输的通信协议包含的数据访问方法。通信协议是指应用程序的客户端与对应的文件系统进行数据传输的一种通信规则。通信协议中包含的数据访问方法包括:读取、删除、修改、锁定、解锁等。由于通信协议中的包含的第一数据访问方法只能访问本地服务器上文件系统的数据,不能访问分布式文件系统中的数据。将通信协议中包含的第一数据访问方法的处理逻辑进行重新封装得到第二数据访问方法,使得第二数据访问方法(及重新封装了处理逻辑的第一数据访问方法)能对分布式文件系统的数据进行访问。
[0058]重新封装了处理逻辑的第一数据访问方法可以理解为,将通信协议中对本地服务器上文件系统数据操作命令转换为对分布式文件系统的数据操作命令。本实施例中,访问控制器接收到操作请求后,进一步的,将触发通信协议处理该操作请求的事件,通过访问控制器调用第二数据访问方法响应处理该操作请求的事件。
[0059]步骤208,返回响应操作请求得到的结果。
[0060]本实施例中,将响应操作请求得到的结果通过系统连接器返回给发起操作请求方。例如,应用系统对应的客户端要读取分布式文件系统中的数据,访问控制器接收到客户端对分布式文件系统的数据读取请求,进一步的,调用通信协议中重新封装了处理逻辑的数据读取方法响应该数据读取请求,并将最终读到的数据通过系统连接器返回给客户端。
[0061]通过调用第二数据访问方法就能像访问本地文件系统一样访问分布式文件系统。应用系统只需要将原有的文件系统下的数据转移至分布式文件系统即可,应用系统本身不需要做任何改变,便可实现用分布式文件系统代替应用系统原有的文件系统。由于不需要对应用系统重新开发也可在应用系统上使用分布式文件系统,因而,企业不需要重新开发新的应用系统,节省了企业大量的时间和资金。
[0062]在一个实施例中,第二数据访问方法包括:文件读取方法、文件上传方法、文件复制方法、文件删除方法、文件重命名方法、创建目录方法和查找当前目录文件列表方法中的至少一种第二数据访问方法。
[0063]在一个实施例中,提供的一种分布式文件系统的访问方法还包括:
[0064]控制节点接收操作请求,将操作请求记录在日志文件中,并定期合并日志文件;和/或
[0065]控制节点接收数据节点发送的心跳,若在预设时间内未接收到数据节点发送的心跳,则将数据节点标记为失效数据节点;控制节点优先选择未被标记为失效数据节点的数据节点对操作请求进行响应。
[0066]本实施例中,分布式文件系统包括控制节点和数据节点,其中,控制节点将客户端对分布式文件系统的操作请求记录在日志文件中,并定期合并日志文件;控制节点将标记失效的数据节点,失效的数据节点作为第二数据访问方法最后一个选择访问的数据节点。
[0067]控制节点是分布式文件系统中最重要的节点,它负责管理文件系统的名字空间(namespace)以及客户端的访问。控制节点中的日志文件负责记录客户端对分布式文件系统每一次的操作请求,并在下次重启分布式文件系统时对日志文件进行合并,如果分布式文件系统长时间不重启,日志文件中的记录的操作请求数量就会很多,重启过程中将花费大量的时间来合并日志文件中的记录,通过定期合并日志文件,减少了分布式文件系统重启时合并日志文件中记录的时间。优选的,定期的时间设置为30分钟。
[0068]数据节点利用集群技术将I/O (Input/Output)负载分配到多个数据节点的多个磁盘中,提高了应用系统在数据节点I/o处理上的性能。存储在分布式文件系统中的数据一般有多个副本,当某一个数据节点失效后,保存在该数据节点的副本将会被拷贝到其它活跃的数据节点,如果有多个数据节点同时失效,可能会造成分布式文件系统中副本拷贝风暴,影响分布式文件系统的正常服务。
[0069]数据节点会周期性的向控制节点发送心跳,当一定时间内控制节点没有收到数据节点发送的心跳,即表示该数据节点失效了,失效的数据节点会抛出时间异常,控制节点通过设置参数标记失效的数据节点,第二数据访问方法优先访问其它活跃的数据节点,只有在第二数据访问方法在其它活跃的数据节点中获取不到数据的情况下,才会访问到被标记的数据节点。
[0070]具体的,分布式文件系统为HDFS(HadoopDistributed File System,Hadoop分布式文件系统),Hadoop是一个开源分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。
[0071]在不停机的情况下,企业的应用系统通过使用HDFS,可以根据数据量动态的调整数据节点的数量,提高了应用系统的可扩展性,降低了企业数据存储成本。
[0072]在一个实施例中,通信协议为WebDAV 协议(Web Distributed Authoring
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1