CN104778214B - 基于资源定位器跳转的分布式文件系统及其数据同步方法 - Google Patents
基于资源定位器跳转的分布式文件系统及其数据同步方法 Download PDFInfo
- Publication number
- CN104778214B CN104778214B CN201510124672.8A CN201510124672A CN104778214B CN 104778214 B CN104778214 B CN 104778214B CN 201510124672 A CN201510124672 A CN 201510124672A CN 104778214 B CN104778214 B CN 104778214B
- Authority
- CN
- China
- Prior art keywords
- file
- data storage
- storage server
- client
- server node
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于资源定位器跳转的分布式文件系统及其数据同步方法,涉及数据存储领域。系统它包括资源定位器端,数据存储服务器端和客户端。资源定位器端主要做调度工作,在内存中只记录数据存储服务器端的状态信息和分组情况,是客户端和数据存储服务器端交互的枢纽。本系统通过采用在数据存储服务器端进行分组存储的方式来提高数据的可靠性,以及利用资源定位器来解决由于异步同步带来的文件同步延迟的问题,既保证了用户文件的安全,又解决了下载找不到文件的问题,为用户带来更好的体验。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种基于资源定位器跳转的分布式文件系统及其数据同步方法。
背景技术
如今,人类已经步入了信息化的时代,信息总量正以几何级数方式增长,以社交网站、云计算为代表的信息系统,需要处理的数据已经达到PB级别,并朝着EB级别发展,为了解决日益增长的海量数据存储需求,分布式文件存储逐步成为了研究热点。分布式文件存储系统包含多台数据存储服务器,为了提高数据的可靠性,这些存储服务器间会根据文件的上传记录进行同步复制。这种文件同步方法属于异步方式,异步方式会带来文件同步延迟的问题,即如果用户上传完一个文件,马上在没有完成文件同步的数据存储服务器上发起下载请求,就会出现找不到文件的现象。
发明内容
本发明的目的是解决上述分布式文件存储服务的文件同步延迟问题,本发明提出一种基于资源定位器跳转的分布式文件系统及其数据同步方法。
为了达到上述的技术效果,本发明采取以下技术方案:一种基于资源定位器跳转的分布式文件系统,它包括资源定位器端,数据存储服务器端和客户端。所述数据存储服务器端包括至少一组数据存储服务器组,每一组数据存储服务器组有一个或者多个数据存储服务器节点,所述数据存储服务器端用于完成对数据的存储、同步和主动连接资源定位器端。所述资源定位器端用于处理由客户端传递来的请求、监控数据存储服务器端运行状况和为用户分配可用的数据存储服务器节点,起调度作用。所述客户端是用户的操作入口。
进一步的技术方案是:所述资源定位器端包括至少一台定位服务器,各个定位服务器间相互独立。
进一步的技术方案是:同一组的数据存储服务器节点存储的文件是一致的,不同组的数据存储服务器节点是相互独立的。
本发明同时还提供一种基于资源定位器跳转的分布式文件系统的数据同步方法,包括以下步骤:
S1、布置分布式文件系统,所述分布式文件系统包含资源定位器端、数据存储服务器端和客户端;所述数据存储服务器端包括至少一组数据存储服务器组,每一组数据存储服务器组有一个或者多个数据存储服务器节点,所述数据存储服务器端用于完成对数据的存储、同步和主动连接资源定位器端;所述资源定位器端用于处理由客户端传递来的请求、监控数据存储服务器端运行状况和为用户分配可用的数据存储服务器节点;所述客户端是用户的操作入口,当用户需要文件操作时,首先由客户端向资源定位器端发起请求。
S2、资源定位器端根据客户端的请求,判定用户是上传文件,还是下载文件;若是上传文件,则执行步骤S3后再执行步骤S4,若是下载文件,则执行步骤S5。
S3、资源定位器端查询到可用的数据存储服务器节点后,将数据存储服务器节点的IP和端口信息返回给客户端;客户端上传文件到数据存储服务器节点;数据存储服务器节点将上传的文件内容写入磁盘、生成文件ID,并将文件ID返回给客户端,客户端存储返回的文件ID信息,上传操作完毕。
S4、数据存储服务器节点采用主动推送的方式,将文件同步到其他数据存储服务器节点。
S5、客户端将要下载文件ID报告给资源定位器端;资源定位器端根据文件ID定位到客户端需要访问的数据存储服务器节点所在的组,资源定位器的端检查数据存储服务器节点的同步状态,查询可用的数据存储服务器节点,并将可用的数据存储服务器节点的信息返回给客户端;客户端将要下载文件的文件ID传到可用的数据存储服务器节点;数据存储服务器节点根据要下载文件的文件ID所包含的信息和文件路径信息,快速定位到要下载文件所在目录,并根据文件名找到该文件;数据存储服务器节点将该文件内容返回到客户端;下载操作完毕。
所述文件ID包含组名、路径信息以及文件名,文件名包含的字段有:可用的数据存储服务器节点的IP地址和文件的创建时间点。
进一步的技术方案是:步骤S4的具体方法为:
S41、数据存储服务器节点的日志文件记录文件上传或删除操作,日志只记录文件名,不记录文件内容;
S42、数据存储服务器节点对同组内除了自己以外的每一个节点都启动一个线程来进行文件同步;
S43、分布式文件系统系统一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询;
S44、每个数据存储服务器节点定时将自身的状态信息上报给资源定位器端,并向资源定位器端报告向每个数据存储服务器节点同步到的最新文件的时间点;资源定位器端根据数据存储服务器节点的同步信息,就能知道组内的其他数据存储服务器节点的同步情况以及最新文件被同步的时间点。
进一步的技术方案是:步骤S5中可用的数据存储服务器节点是指以下任意一种情况时的节点:当文件创建时间点等于该数据存储服务器节点上的文件的被同步时间点时;或当文件创建时间点小于数据节点上的文件的被同步时间点时;或系统设定同步延迟阀值,所述同步延迟阀值是同步产生延迟的可接受范围,当当前时间点减去文件创建时间点大于该同步延迟阀值时。
本发明与现有技术相比,具有以下的有益效果:基于资源定位器跳转的分布式文件系统,资源定位器端主要做调度工作,在内存中只记录数据存储服务器端的状态信息和分组情况,是客户端和数据存储服务器端交互的枢纽。本系统通过采用在数据存储服务器端进行分组存储的方式来提高数据的可靠性,以及利用资源定位器来解决由于异步同步带来的文件同步延迟的问题,既保证了用户文件的安全,又解决了下载找不到文件的问题,为用户带来更好的体验。
附图说明
图1是本发明所述的基于资源定位器跳转解决分布式文件系统同步延迟的总流程示意图;
图2是本发明所述的基于资源定位器跳转解决分布式文件系统同步延迟的结构框图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图2所示,一种基于资源定位器跳转的分布式文件系统,包括
资源定位器端,包括一台或者多台定位服务器,各个定位服务器间相互独立,主要起调度作用以及处理由客户端传递而来的请求和监控文件存储服务器的运行状况。
数据存储服务器端,包括一个或者多个数据存储服务器组,每一个组有一个或者多个数据存储节点,主要完成对数据的存储、同步,能主动连接资源定位器。同一组的数据存储节点存储的文件是一致的,不同组的数据存储节点是相互独立的。
客户端,用户的操作入口,连接资源定位器端,由资源定位器端为它分配可用的数据存储节点。
一种基于资源定位器跳转的分布式文件系统的数据同步方法,其具体的方法为,首先布置分布式文件系统,系统包含资源定位器端、数据存储服务器端、客户端。当用户需要上传文件时,首先由客户端向资源定位器发起上传请求;资源定位器查询到可用的数据存储服务器节点(即源节点)后,将源节点的ip和端口信息返回给客户端;客户端再进行上传动作。数据存储服务器节点将上传的内容写入磁盘,并将文件ID返回给客户端,上传操作完毕。
当文件上传到源节点后,源节点采用主动推送的方式,将文件同步到其他源节点,且只有源节点数据才需要同步,备份数据不需要再次同步。该系统会一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询。
当用户需要马上下载之前上传的文件时,首先由客户端发起下载请求,并将要下载文件ID传到资源定位器端。资源定位器端会根据规则返回合适的数据存储节点来提供下载服务,客户端与数据存储节点直接相连,完成下载操作。
如图1所示,在本具体实施例中,具体方法步骤为:
第一步,部署分布式文件系统。本发明所提及的分布式文件系统,由客户端,资源定位器端、数据存储服务器端三部分组成,包括以下步骤:
步骤1.1,部署资源定位器。资源定位器端包括一台或者多台定位服务器,各个定位服务器间相互独立,主要起调度作用以及处理由客户端传递而来的请求和监控文件存储服务器的运行状况。
步骤1.2,部署数据存储服务器。数据存储服务器端包括一个或者多个数据存储服务器组,每一个组有一个或者多个数据存储服务器节点,主要完成对数据的存储、同步,能主动连接资源定位器。同一组的数据存储节点存储的文件是一致的,不同组的数据存储服务器是相互独立的。
步骤1.3,部署客户端。客户端是用户的操作入口,连接资源定位器端,由资源定位器端为它分配可用的数据存储节点。
本发明所提及的分布式文件系统,客户端通过连接资源定位器端,由资源定位器端为用户分配可用的数据存储服务器节点,可以称为源节点。客户端直接和源节点通信完成文件的上传,源节点返回文件ID,文件ID包含组名、路径信息以及文件名,文件名包含的字段有:源节点的IP地址,文件的创建时间点。
第二步,系统根据客户端的请求,判定用户是上传文件,还是下载文件。如果上传文件,执行第三步,如果是下载文件,则执行第五步。
第三步,用户将文件上传到分布式文件存储系统,包括以下具体步骤:
步骤3.1,用户需要上传文件时,首先由客户端向资源定位器发起上传请求。
步骤3.2,资源定位器查询可用的数据存储服务器节点(即源节点)。
步骤3.3,资源定位器将源节点的IP和端口信息返回给客户端。
步骤3.4,客户端上传文件到源节点。
步骤3.5,源节点将上传的内容写入磁盘、生成文件ID,并将文件ID返回给客户端,
步骤3.6,客户端存储返回的文件ID信息
步骤3.7,上传操作完毕。
第四步,源节点采用主动推送的方式,将文件同步到其他数据节点,包括以下具体步骤:
步骤4.1,数据存储服务器节点的日志文件记录文件上传、删除等更新操作,日志只记录文件名,不记录文件内容。
步骤4.2,源节点对同组内除了自己以外的每一个节点都启动一个线程来进行文件同步,且只有源节点数据才需要同步,备份数据不需要再次同步。
步骤4.3,该系统会一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询。
步骤4.4,每个数据存储服务器节点都需要定时将自身的状态信息上报给资源定位器端,其中源节点还需要向资源定位器端报告向每个目标数据存储服务器节点同步到的最新文件的时间点。资源定位器根据源节点的同步信息,就能知道组内的其他节点的同步情况以及最新文件被同步的时间点。
第五步,当一个文件上传成功后,用户需要马上下载之前上传的文件时,包含以下具体步骤:
步骤5.1,由客户端发起下载请求,并将文件ID信息报告给资源定位器。
步骤5.2,通过组名,资源定位器能够很快的定位到客户端需要访问的数据存储服务器节点所在的组。
步骤5.3,资源定位器检查数据存储服务器节点的同步状态,查询可用的数据存储服务器节点。
进一步,资源定位器端返回可用的数据存储服务器节点的具体方法为:
步骤5.3.1,当文件创建时间点等于该数据存储服务器节点上的文件的被同步时间点时,即该数据存储服务器节点就是可用的数据存储服务器节点,资源定位器判定该数据存储服务器节点可用。
步骤5.3.2,当文件创建时间点小于数据存储服务器节点上的文件的被同步时间点时,证明该文件已经同步到当前数据存储服务器节点上,资源定位器判定该数据节点可用;如果文件创建时间点大于文件的被同步时间点,证明该文件是修改后的文件,尚未同步。
步骤5.3.3,系统设定同步延迟阀值,即同步产生延迟的可接受范围,当当前时间减去文件创建时间点大于该同步延迟阀值时,资源定位器判定该数据存储服务器节点可用。
步骤5.4,资源定位器将可用的数据存储服务器节点的信息返回给客户端。
步骤5.5,客户端将要下载文件的文件ID传到可用的数据存储服务器节点。
步骤5.6,数据存储服务器节点会根据文件ID所包含的信息,文件路径信息,快速定位到文件所在目录,并根据文件名找到该文件。
步骤5.7,数据存储服务器节点将文件内容返回到客户端。
步骤5.8,下载操作完毕。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (3)
1.基于资源定位器跳转的分布式文件系统的数据同步方法,其特征在于包括以下步骤:
S1、布置分布式文件系统,所述分布式文件系统包含资源定位器端、数据存储服务器端和客户端;所述数据存储服务器端包括至少一组数据存储服务器组,每一组数据存储服务器组有一个或者多个数据存储服务器节点,所述数据存储服务器端用于完成对数据的存储、同步和主动连接资源定位器端;所述资源定位器端用于处理由客户端传递来的请求、监控数据存储服务器端运行状况和为用户分配可用的数据存储服务器节点,可用的数据存储服务器节点是指以下任意一种情况时的节点:当文件创建时间点等于该数据存储服务器节点上的文件的被同步时间点时;或当文件创建时间点小于数据节点上的文件的被同步时间点时;或系统设定同步延迟阀值,所述同步延迟阀值是同步产生延迟的可接受范围,当当前时间点减去文件创建时间点大于该同步延迟阀值时;所述客户端是用户的操作入口,当用户需要文件操作时,首先由客户端向资源定位器端发起请求;S2、资源定位器端根据客户端的请求,判定用户是上传文件,还是下载文件;若是上传文件,则执行步骤S3后再执行步骤S4,若是下载文件,则执行步骤S5;
S3、资源定位器端查询到可用的数据存储服务器节点后,将数据存储服务器节点的IP和端口信息返回给客户端;客户端上传文件到数据存储服务器节点;数据存储服务器节点将上传的文件内容写入磁盘、生成文件ID,并将文件ID返回给客户端,客户端存储返回的文件ID信息,上传操作完毕;
S4、数据存储服务器节点采用主动推送的方式,将文件同步到其他数据存储服务器节点;
S5、客户端将要下载文件ID报告给资源定位器端;资源定位器端根据文件ID定位到客户端需要访问的数据存储服务器节点所在的组,资源定位器的端检查数据存储服务器节点的同步状态,查询可用的数据存储服务器节点,并将可用的数据存储服务器节点的信息返回给客户端;客户端将要下载文件的文件ID传到可用的数据存储服务器节点;数据存储服务器节点根据要下载文件的文件ID所包含的信息和文件路径信息,快速定位到要下载文件所在目录,并根据文件名找到该文件;数据存储服务器节点将该文件内容返回到客户端;下载操作完毕。
2.根据权利要求1所述的基于资源定位器跳转的分布式文件系统的数据同步方法,其特征在于,步骤S4的具体方法为:
S41、数据存储服务器节点的日志文件记录文件上传或删除操作,日志只记录文件名,不记录文件内容;
S42、数据存储服务器节点对同组内除了自己以外的每一个节点都启动一个线程来进行文件同步;
S43、分布式文件系统系统一直启动一个线程,对日志文件进行轮询,检查是否有需要同步的文件,并将已同步的文件记录到另一个标识文件中,以便查询;
S44、每个数据存储服务器节点定时将自身的状态信息上报给资源定位器端,并向资源定位器端报告向每个数据存储服务器节点同步到的最新文件的时间点;资源定位器端根据数据存储服务器节点的同步信息,就能知道组内的其他数据存储服务器节点的同步情况以及最新文件被同步的时间点。
3.根据权利要求1所述的基于资源定位器跳转的分布式文件系统的数据同步方法,其特征在于,所述文件ID包含组名、路径信息以及文件名,文件名包含的字段有:可用的数据存储服务器节点的IP地址和文件的创建时间点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124672.8A CN104778214B (zh) | 2015-03-20 | 2015-03-20 | 基于资源定位器跳转的分布式文件系统及其数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124672.8A CN104778214B (zh) | 2015-03-20 | 2015-03-20 | 基于资源定位器跳转的分布式文件系统及其数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778214A CN104778214A (zh) | 2015-07-15 |
CN104778214B true CN104778214B (zh) | 2018-02-06 |
Family
ID=53619678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510124672.8A Active CN104778214B (zh) | 2015-03-20 | 2015-03-20 | 基于资源定位器跳转的分布式文件系统及其数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778214B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138571B (zh) * | 2015-07-24 | 2019-12-24 | 四川长虹电器股份有限公司 | 分布式文件系统及其存储海量小文件的方法 |
CN105208078A (zh) * | 2015-08-13 | 2015-12-30 | 飞狐信息技术(天津)有限公司 | 一种文件存储系统及方法 |
CN107257388A (zh) * | 2017-08-21 | 2017-10-17 | 郑州云海信息技术有限公司 | 一种基于分布式集群系统的信息推送方法及装置 |
CN110990359A (zh) * | 2019-12-18 | 2020-04-10 | 北京华峰创业科技有限公司 | 一种同步构架中对无用数据清理的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1480859A (zh) * | 2002-09-03 | 2004-03-10 | 鸿富锦精密工业(深圳)有限公司 | 分布式文件同步系统及方法 |
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
CN101133623A (zh) * | 2004-12-30 | 2008-02-27 | 茨特里克斯系统公司 | 用于提供客户端加速技术的系统和方法 |
CN101583939A (zh) * | 2007-01-03 | 2009-11-18 | 微软公司 | 用于松耦合设备的同步协议 |
CN101610190A (zh) * | 2009-07-22 | 2009-12-23 | 刘文祥 | 数据网络和系统 |
CN102447742A (zh) * | 2011-11-24 | 2012-05-09 | 中兴通讯股份有限公司 | 一种动态数据主备同步的方法、系统及一种元数据服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603518B2 (en) * | 2005-12-19 | 2009-10-13 | Commvault Systems, Inc. | System and method for improved media identification in a storage device |
TWI220713B (en) * | 2002-10-04 | 2004-09-01 | Hon Hai Prec Ind Co Ltd | System and method for synchronizing documents between multi-nodes |
-
2015
- 2015-03-20 CN CN201510124672.8A patent/CN104778214B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1480859A (zh) * | 2002-09-03 | 2004-03-10 | 鸿富锦精密工业(深圳)有限公司 | 分布式文件同步系统及方法 |
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
CN101133623A (zh) * | 2004-12-30 | 2008-02-27 | 茨特里克斯系统公司 | 用于提供客户端加速技术的系统和方法 |
CN101583939A (zh) * | 2007-01-03 | 2009-11-18 | 微软公司 | 用于松耦合设备的同步协议 |
CN101610190A (zh) * | 2009-07-22 | 2009-12-23 | 刘文祥 | 数据网络和系统 |
CN102447742A (zh) * | 2011-11-24 | 2012-05-09 | 中兴通讯股份有限公司 | 一种动态数据主备同步的方法、系统及一种元数据服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104778214A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294585A (zh) | 一种云计算平台下的存储方法 | |
WO2015192661A1 (zh) | 一种分布式存储系统中的数据同步方法、装置及系统 | |
CN110209726A (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CA2938768C (en) | Geographically-distributed file system using coordinated namespace replication | |
CN104778214B (zh) | 基于资源定位器跳转的分布式文件系统及其数据同步方法 | |
CN104320401A (zh) | 一种基于分布式文件系统的大数据存储访问系统及方法 | |
CN106484565B (zh) | 多数据中心间的数据同步方法及相关设备 | |
JP6225262B2 (ja) | 分散データグリッドにおいてデータを同期させるためにパーティションレベルジャーナリングをサポートするためのシステムおよび方法 | |
CN105471960A (zh) | 一种私有云与公有云的信息交互系统及方法 | |
CN105208058B (zh) | 基于web会话共享的信息交互系统 | |
CN103220358B (zh) | 一种多终端在线文件同步方法、系统、服务器及终端设备 | |
CN107832138A (zh) | 一种扁平化的高可用namenode模型的实现方法 | |
CN102624768B (zh) | 在不同设备之间进行文件同步处理的方法和系统 | |
CN105208060B (zh) | 业务数据同步方法、装置及系统 | |
CN105610947A (zh) | 一种高可用分布式队列服务实现方法、装置和系统 | |
CN103902410A (zh) | 云存储系统的数据备份加速方法 | |
CN107315745B (zh) | 一种私信存储方法及系统 | |
CN104104739A (zh) | 一种云存储系统元数据服务集群的数据同步方法 | |
CN107040576A (zh) | 信息推送方法及装置、通讯系统 | |
CN106599106A (zh) | 基于分布式文件系统的数据同步方法及装置 | |
CN105956207A (zh) | 一种基于binlog的可配置的mysql数据库实时同步方法 | |
CN102591749B (zh) | 一种连续数据存储方法 | |
Liao et al. | A novel data replication mechanism in P2P VoD system | |
CN109005246B (zh) | 一种数据的同步方法、装置及系统 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |