分布式文件系统及其数据同步的方法

文档序号:9219851阅读:1093来源:国知局
分布式文件系统及其数据同步的方法
【技术领域】
[0001]本发明涉及数据存储领域,特别涉及一种分布式文件系统及其数据同步的方法。
【背景技术】
[0002]目前,人类已经步入了信息化的时代,信息总量正以几何级数方式增长,以社交网站、云计算为代表的信息系统,需要处理的数据已经达到PB级别,并朝着EB级别发展,为了解决日益增长的海量数据存储需求,分布式文件存储逐步成为了研宄热点。文件的访问主要分为两种情况:一种是对文件进行修改,包括设置文件附件属性以及删除文件等操作;另一种则是文件的下载。由于文件系统是天生的静态资源,因此在大多数时候,我们都需要文件系统提供文件的下载服务。由于分布式文件存储系统的数据存储服务器,通常由普通的、廉价的硬件组成,为了提高数据的可靠性,需要对不同服务器间的数据进行同步。但是目前的分布式文件系统的文件同步方式属于异步方式,异步方式会带来文件同步延迟的问题,即如果用户上传完一个文件,马上在没有完成文件同步的数据存储服务器上发起下载请求,就会出现查找不到文件的现象。

【发明内容】

[0003]【要解决的技术问题】
[0004]本发明的目的是提供一种分布式文件系统及其数据同步的方法,以解决目前的分布式文件系统数据同步时存在延迟的问题。
[0005]【技术方案】
[0006]本发明是通过以下技术方案实现的。
[0007]本发明涉及一种分布式文件系统,该系统包括:
[0008]客户端,被配置成向资源定位模块发送文件上传请求、向选择的数据存储节点发送文件下载请求;
[0009]资源定位模块,包括至少一个资源定位器,所述资源定位器被配置成处理客户端发送的文件上传和/或下载请求、监控数据存储模块的运行状态;
[0010]数据存储模块,包括至少一组数据存储服务器,所述数据存储服务器包括至少一个数据存储节点,所述数据存储节点均连接有Web服务器和扩展模块,所述数据存储节点用于实现文件的存储、同步,所述Web服务器和扩展模块用于提供HTTP下载服务。
[0011]作为一种优选的实施方式,所述数据存储模块被配置成:当客户端选择数据存储节点发送下载请求,所选择的数据存储节点解析客户端的下载请求得到待下载文件的文件ID,根据文件ID判定该数据存储节点是否存储有待下载文件,如果该数据存储节点存储有待下载文件,则该数据存储节点根据文件ID定位到文件所在目录,根据文件名查找待下载文件并由该数据存储节点的Web服务器完成下载;反之则由该数据存储节点的扩展模块向源节点发送Redirect指令或向其他数据存储节点发送Proxy指令,源节点接收指令后根据文件ID查找得到待下载文件并由源节点的Web服务器完成下载或其他数据存储节点接收指令后根据文件ID查找得到待下载文件并由该数据存储节点的Web服务器完成下载,所述源节点为用户上传所述待下载文件时资源定位模块为用户分配的数据存储节点。
[0012]本发明还涉及一种分布式文件系统数据同步的方法,包括:
[0013]初始化分布式文件系统中数据存储模块的Web服务器和扩展模块;
[0014]当用户上传文件时,客户端向资源定位模块发起上传请求,资源定位模块中的资源定位器根据客户端的上传请求将客户端与资源定位模块连接,通过资源定位模块为用户分配源节点,客户端与源节点通信完成文件的上传并返回文件ID,所述源节点为资源定位器查询得到的可用的数据存储节点,所述文件ID至少包括数据存储服务器的组名、文件路径信息、文件名;
[0015]源节点将上传的文件主动推送至与源节点同组的数据存储节点。
[0016]作为一种优选的实施方式,还包括:
[0017]当用户下载所述上传成功的文件时,客户端选择数据存储节点发送下载请求,所选择的数据存储节点解析客户端的下载请求得到待下载文件的文件ID,根据文件ID判定该数据存储节点是否存储有待下载文件,如果该数据存储节点存储有待下载文件,则该数据存储节点根据文件ID定位到文件所在目录,根据文件名查找待下载文件并由该数据存储节点的Web服务器完成下载;反之则由该数据存储节点的扩展模块向源节点发送Redirect指令或向其他数据存储节点发送Proxy指令,源节点接收指令后根据文件ID查找得到待下载文件并由源节点的Web服务器完成下载或其他数据存储节点接收指令后根据文件ID查找得到待下载文件并由该数据存储节点的Web服务器完成下载。
[0018]作为另一种优选的实施方式,所述初始化分布式文件系统中数据存储模块的Web服务器和扩展模块具体包括:
[0019]加载分布式文件系统的WEB服务器的配置文件,得到数据存储模块中的Web服务器的监听端口、所存储文件的路径、扩展模块信息;
[0020]加载分布式文件系统的扩展模块的配置文件,得到所存储文件的资源定位器IP地址以及端口号、数据存储模块中的数据存储服务器信息。
[0021]作为另一种优选的实施方式,还包括:更新数据存储节点的日志文件;启动线程对日志文件进行轮询,检查是否有需要同步的文件,并记录已同步的文件。
[0022]作为另一种优选的实施方式,所述日志文件为文件名称。
[0023]【有益效果】
[0024]本发明提出的技术方案具有以下有益效果:
[0025]本发明提供了一种基于扩展模块的分布式文件系统,它通过资源定位器来做调度工作,在内存中只记录数据存储模块的状态信息和分组情况,是客户端和数据存储服务器端交互的枢纽。
[0026]本发明提供的分布式文件系统将数据存储在不同的数据存储节点上,通过将数据存储节点之间的数据进行同步、互相备份,提高了数据可靠性。
[0027]通过在数据存储服务器端上配置WEB服务器以及扩展模块,不仅解决了数据存储节点间数据同步带来的同步延迟问题,还可以提供负载均衡等高性能的HTTP下载服务。
[0028]因此,本发明既保证了用户文件的安全,又解决了下载过程中无法查找到文件的问题,为用户带来更好的操作体验。
【附图说明】
[0029]图1为本发明的实施例一提供的分布式文件系统的结构框图。
【具体实施方式】
[0030]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的【具体实施方式】进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0031]实施例一提供一种分布式文件系统。
[0032]图1为本发明实施例一提供的分布式文件系统的结构框图。如图1所示,该系统包括客户端、资源定位模块和数据存储模块。
[0033]客户端被配置成向资源定位模块发送文件上传请求、向选择的数据存储节点发送文件下载请求。客户端是用户与分布式文件系统进行交互的操作入口。
[0034]资源定位模块包括至少一个资源定位器,资源定位器被配置成处理客户端发送的文件上传和/或下载请求、监控数据存储模块的运行状态。
[0035]数据存储模块包括至少一组数据存储服务器,数据存储服务器包括至少一个数据存储节点,数据存储节点均连接有Web服务器和扩展模块,数据存储节点用于实现文件的存储、同步,以及主动连接资源定位模块的资源定位器,Web服务器和扩展模块用于提供HTTP下载服务。需要说明,同一组数据存储服务器的数据存储节点所存储的文件是一致的,不同组数据存储服务器的数据存储节点是相互独立的。
[0036]本实施例中,数据存储模块被配置成:当用户上传文件时,客户端向资源定位模块发起上传请求,资源定位模块中的资源定位器根据客户端的上传请求将客户端与资源定位模块连接,通过资源定位模块为用户分配源节点,客户端与源节点通信完成文件的上传并返回文件ID,源节点为资源定位器查询得到的可用的数据存储节点,文件ID至少包括数据存储服务器的组名、文件路径信息、文件名
[0037]本实施例中,数据存储模块还被配置成:当客户端选择数据存储节点发送下载请求,所选择的数据存储节点解析客户端的下载请求得到待下载文件的文件ID,根据文件ID判定该数据存储节点是否存储有待下载文件,如果该数据存储节点存储有待下载文件,则该数据存储节点根据文件ID定位到文件所在目录,根据文件名查找待下载文件并由该数据存储节点的Web服务器完成下载;反之则由该数据存储节点的扩展模块向源节点发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1