基于资源定位器跳转的分布式文件系统及其数据同步方法
【技术领域】
[0001]本发明涉及数据存储领域,特别涉及一种基于资源定位器跳转的分布式文件系统及其数据同步方法。
【背景技术】
[0002]如今,人类已经步入了信息化的时代,信息总量正以几何级数方式增长,以社交网站、云计算为代表的信息系统,需要处理的数据已经达到PB级别,并朝着EB级别发展,为了解决日益增长的海量数据存储需求,分布式文件存储逐步成为了研宄热点。分布式文件存储系统包含多台数据存储服务器,为了提高数据的可靠性,这些存储服务器间会根据文件的上传记录进行同步复制。这种文件同步方法属于异步方式,异步方式会带来文件同步延迟的问题,即如果用户上传完一个文件,马上在没有完成文件同步的数据存储服务器上发起下载请求,就会出现找不到文件的现象。
【发明内容】
[0003]本发明的目的是解决上述分布式文件存储服务的文件同步延迟问题,本发明提出一种基于资源定位器跳转的分布式文件系统及其数据同步方法。
[0004]为了达到上述的技术效果,本发明采取以下技术方案:一种基于资源定位器跳转的分布式文件系统,它包括资源定位器端,数据存储服务器端和客户端。所述数据存储服务器端包括至少一组数据存储服务器组,每一组数据存储服务器组有一个或者多个数据存储服务器节点,所述数据存储服务器端用于完成对数据的存储、同步和主动连接资源定位器端。所述资源定位器端用于处理由客户端传递来的请求、监控数据存储服务器端运行状况和为用户分配可用的数据存储服务器节点,起调度作用。所述客户端是用户的操作入口。
[0005]进一步的技术方案是:所述资源定位器端包括至少一台定位服务器,各个定位服务器间相互独立。
[0006]进一步的技术方案是:同一组的数据存储服务器节点存储的文件是一致的,不同组的数据存储服务器节点是相互独立的。
[0007]本发明同时还提供一种基于资源定位器跳转的分布式文件系统的数据同步方法,包括以下步骤:
[0008]S1、布置分布式文件系统,所述分布式文件系统包含资源定位器端、数据存储服务器端和客户端;所述数据存储服务器端包括至少一组数据存储服务器组,每一组数据存储服务器组有一个或者多个数据存储服务器节点,所述数据存储服务器端用于完成对数据的存储、同步和主动连接资源定位器端;所述资源定位器端用于处理由客户端传递来的请求、监控数据存储服务器端运行状况和为用户分配可用的数据存储服务器节点;所述客户端是用户的操作入口,当用户需要文件操作时,首先由客户端向资源定位器端发起请求。
[0009]S2、资源定位器端根据客户端的请求,判定用户是上传文件,还是下载文件;若是上传文件,则执行步骤S3后再执行步骤S4,若是下载文件,则执行步骤S5。
[0010]S3、资源定位器端查询到可用的数据存储服务器节点后,将数据存储服务器节点的IP和端口信息返回给客户端;客户端上传文件到数据存储服务器节点;数据存储服务器节点将上传的文件内容写入磁盘、生成文件ID,并将文件ID返回给客户端,客户端存储返回的文件ID信息,上传操作完毕。
[0011]S4、数据存储服务器节点采用主动推送的方式,将文件同步到其他数据存储服务器节点。
[0012]S5、客户端将要下载文件ID报告给资源定位器端;资源定位器端根据文件ID定位到客户端需要访问的数据存储服务器节点所在的组,资源定位器的端检查数据存储服务器节点的同步状态,查询可用的数据存储服务器节点,并将可用的数据存储服务器节点的信息返回给客户端;客户端将要下载文件的文件ID传到可用的数据存储服务器节点;数据存储服务器节点根据要下载文件的文件ID所包含的信息和文件路径信息,快速定位到要下载文件所在目录,并根据文件名找到该文件;数据存储服务器节点将该文件内容返回到客户端;下载操作完毕。
[0013]所述文件ID包含组名、路径信息以及文件名,文件名包含的字段有:可用的数据存储服务器节点的IP地址和文件的创建时间点。
[0014]进一步的技术方案是:步骤S4的具体方法为:
[0015]S41、数据存储服务器节点的日志文件记录文件上传或删除操作,日志只记录文件名,不记录文件内容;
[0016]S42、数据存储服务器节点对同组内除了自己以外的每一个节点都启动一个线程来进行文件同步;
[0017]S43、分布式文件系统系统一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询;
[0018]S44、每个数据存储服务器节点定时将自身的状态信息上报给资源定位器端,并向资源定位器端报告向每个数据存储服务器节点同步到的最新文件的时间点;资源定位器端根据数据存储服务器节点的同步信息,就能知道组内的其他数据存储服务器节点的同步情况以及最新文件被同步的时间点。
[0019]进一步的技术方案是:步骤S5中可用的数据存储服务器节点是指以下任意一种情况时的节点:当文件创建时间点等于该数据存储服务器节点上的文件的被同步时间点时;或当文件创建时间点小于数据节点上的文件的被同步时间点时;或系统设定同步延迟阀值,所述同步延迟阀值是同步产生延迟的可接受范围,当当前时间点减去文件创建时间点大于该同步延迟阀值时。
[0020]本发明与现有技术相比,具有以下的有益效果:基于资源定位器跳转的分布式文件系统,资源定位器端主要做调度工作,在内存中只记录数据存储服务器端的状态信息和分组情况,是客户端和数据存储服务器端交互的枢纽。本系统通过采用在数据存储服务器端进行分组存储的方式来提高数据的可靠性,以及利用资源定位器来解决由于异步同步带来的文件同步延迟的问题,既保证了用户文件的安全,又解决了下载找不到文件的问题,为用户带来更好的体验。
【附图说明】
[0021]图1是本发明所述的基于资源定位器跳转解决分布式文件系统同步延迟的总流程不意图;
[0022]图2是本发明所述的基于资源定位器跳转解决分布式文件系统同步延迟的结构框图。
【具体实施方式】
[0023]下面结合本发明的实施例对本发明作进一步的阐述和说明。
[0024]实施例:
[0025]如图2所示,一种基于资源定位器跳转的分布式文件系统,包括
[0026]资源定位器端,包括一台或者多台定位服务器,各个定位服务器间相互独立,主要起调度作用以及处理由客户端传递而来的请求和监控文件存储服务器的运行状况。
[0027]数据存储服务器端,包括一个或者多个数据存储服务器组,每一个组有一个或者多个数据存储节点,主要完成对数据的存储、同步,能主动连接资源定位器。同一组的数据存储节点存储的文件是一致的,不同组的数据存储节点是相互独立的。
[0028]客户端,用户的操作入口,连接资源定位器端,由资源定位器端为它分配可用的数据存储节点。
[0029]一种基于资源定位器跳转的分布式文件系统的数据同步方法,其具体的方法为,首先布置分布式文件系统,系统包含资源定位器端、数据存储服务器端、客户端。当用户需要上传文件时,首先由客户端向资源定位器发起上传请求;资源定位器查询到可用的数据存储服务器节点(即源节点)后,将源节点的ip和端口信息返回给客户端;客户端再进行上传动作。数据存储服务器节点将上传的内容写入磁盘,并将文件ID返回给客户端,上传操作完毕。
[0030]当文件上传到源节点后,源节点采用主动推送的方式,将文件同步到其他源节点,且只有源节点数据才需要同步,备份数据不需要再次同步。该系统会一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询。
[0031]当用户需要马上下载之前上传的文件时,首先由客户端发起下载请求,并将要下载文件ID传到资源定位器端。资源定位器端会根据规则返回合适的数据存储节点来提供下载服务,客户端与数据存储节点直接相连,完成下载操作。
[0032]如图1所示,在本具体实施例中,具体方法步骤为:
[0033]第一步,部署分布式文件系统。本发明所提及的分布式文件系统,由客户端,资源定位器端、数据存储服务器端三部分组成,包括以下步骤:
[0034]步骤1.1,部署资源定位器。资源定位器端包括一台或者多台定位服务器,各个定位服务器间相互独立,主要起调度作用以及处理由客户端传递而来的请求和监控文件存储服务器的运行状况。
[0035]步骤1.2,部署数据存储服务器。数据存储服务器端包括一个或者多个数据存储服务器组,每一个组有一个或者多个数据存储服务器节点,主要完成对数据的存储、同步,能主动连接资源定位器。同一组的数据存储节点存储的文件是一致的,不同组的数据存储服务器是相互独立的。
[0036]步骤1.3,部署客户端。客户端是用户的操作入口,连接资源定位器端,由资源定位器端为它分配可用的数据存储节点。
[0037]本发明所提及的分布式文件系统,客户端通过连接资源定位器端,由资源定位器端为用户分配可用的数据存储服务器节点,可以称为源节点。客户端直接和源节点通信完成文件的上传,源节点返回文件ID,文件ID包含组名、路径信息以及文件名,文件名包含的字段有:源节点的IP地址,文件的创建时间点。