CN106649625A - 文件同步的方法和系统 - Google Patents
文件同步的方法和系统 Download PDFInfo
- Publication number
- CN106649625A CN106649625A CN201611110697.3A CN201611110697A CN106649625A CN 106649625 A CN106649625 A CN 106649625A CN 201611110697 A CN201611110697 A CN 201611110697A CN 106649625 A CN106649625 A CN 106649625A
- Authority
- CN
- China
- Prior art keywords
- file
- subtask
- duplication
- strategy
- folder
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件同步的方法和系统。该文件同步的方法包括:获取用户设置的策略并根据策略获取已经修改的数据,数据包括文件列表;将文件列表分解为复制子任务,复制子任务包括:文件夹子任务和文件子任务;对文件夹子任务进行文件夹比对,并完成文件夹子任务的复制;对文件子任务进行文件比对,完成文件子任务的复制。本发明通过将文件列表分解为子文件夹子任务和文件子任务,并通过在进行文件夹子任务的复制前进行文件夹比对、在进行文件子任务的复制前进行文件比对,避免了父文件目录未创建时频繁创建文件不成功的问题。
Description
技术领域
本发明涉及计算机领域,具体来说,涉及一种文件同步的方法和一种文件同步的系统。
背景技术
在计算机领域中,数据是信息的载体,所以对数据的保护十分重要。因此如何正确、有效地将数据保护起来,是当今较为重要的研究课题。复制,即是实现数据保护的途径之一。复制,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合并复制到其它的存储介质的过程。按复制的对象来区分,现有的复制可分为文件复制、数据库复制、块级复制、虚拟化复制等。其中,文件复制是所有复制方式中使用最为广泛的一种。
现有的一种远程文件复制技术,在复制文件过程中,在父目录未创建时,会导致文件频繁创建不成功,文件可能晚于父目录到达访问修改文件,引起父目录元数据的变化。
针对相关技术中父目录未创建时文件创建不成功及因此导致的父目录元数据变化的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中父目录未创建时文件创建不成功及其导致的父目录元数据变化的问题,本发明提出一种文件同步的方法和一种文件同步的系统,能够提高复制系统的服务能力,避免父目录未创建时文件创建不成功及因此导致的父目录元数据变化的问题。
本发明的技术方案是这样实现的:根据本发明的一个方面,提供了一种文件同步的方法。
该文件同步的方法包括:获取用户设置的策略并根据策略获取已经修改的数据,数据包括文件列表;将文件列表分解为复制子任务,复制子任务包括:文件夹子任务和文件子任务;对文件夹子任务进行文件夹比对,并完成文件夹子任务的复制;以及对文件子任务进行文件比对,完成文件子任务的复制。
优选地,数据还包括:目录;以及复制子任务还包括:目录层深子任务。
优选地,在对文件子任务进行文件比对,完成文件子任务的复制之后,还包括:从目录的最深一层形开始,逐层完成目录的元数据修改。
优选地,在对文件夹子任务进行文件夹比对,并完成文件夹子任务的复制之前,还包括:将复制子任务下盘保存。
优选地,在将复制子任务下盘保存之后,还包括:将复制子任务添加到策略中。
优选地,文件子任务包括:小文件子任务和大文件子任务。
优选地,完成文件子任务的复制,包括:完成小文件子任务的复制;以及完成大文件子任务的复制。
优选地,大文件子任务为文件大小在4M以上的文件子任务;以及小文件子任务为文件大小小于4M的文件子任务。
根据本发明的另一个方面,还提供了一种文件同步的系统。
该文件同步的系统包括:管理节点,用于获取用户设置的策略;文件复制控制器,与管理节点通信连接,用于保存策略并管理策略的执行;文件扫描控制器,与文件复制控制器通信连接,用于根据策略获取已经修改的数据;以及文件复制服务器,与文件复制控制器通信连接,用于将数据分解为复制子任务、进行文件夹比对、进行文件比对、完成复制子任务的复制。
优选地,还包括:管理节点还用于管理文件复制控制器和文件复制服务器;以及文件复制控制器还用于完成目录的元数据修改。
本发明通过将文件列表分解为子文件夹子任务和文件子任务,并通过在进行文件夹子任务的复制前进行文件夹比对、在进行文件子任务的复制前进行文件比对,避免了父文件目录未创建时频繁创建文件不成功的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的文件同步的方法的流程图;
图2是根据本发明另一个实施例的文件同步的方法的流程图;
图3是根据本发明实施例的文件同步的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种文件同步的方法。
如图1所示,根据本发明实施例的文件同步的方法包括:
步骤S101,获取用户设置的策略并根据策略获取已经修改的数据,数据包括文件列表;
步骤S103,将文件列表分解为复制子任务,复制子任务包括:文件夹子任务和文件子任务;
步骤S105,对文件夹子任务进行文件夹比对,并完成文件夹子任务的复制;
步骤S107,对文件子任务进行文件比对,完成文件子任务的复制。
本发明的文件同步的方法,通过将文件列表分解为子文件夹子任务和文件子任务,并通过在进行文件夹子任务的复制前进行文件夹比对、在进行文件子任务的复制前进行文件比对,避免了父文件目录未创建时频繁创建文件不成功的问题。
在一个实施例中,上述数据还包括目录,相应的复制子任务还包括目录层深子任务。
进一步地,在步骤S107之后,还包括以下步骤:从目录的最深一层形开始,逐层完成目录的元数据修改。
由于文件可能晚于父目录到达访问修改文件将引起父目录元数据的变化,最终影响目录的元数据属性。通过将目录按层级关系,从最深层到根,逐层进行目录的元数据修改,能够保证目录元数据属性的一致性、所有文件夹的元数据属性都和源端一致。
在一个实施例中,在步骤S105之前还包括以下步骤:
将复制子任务下盘保存;
将复制子任务添加到策略中。
在本实施例中,当所有复制子任务均处理完成后,更新策略的执行信息为已完成。如果策略为周期执行,则返回步骤S101。
如图2所示,根据本发明另一个实施例的文件同步的方法,具体包括如下步骤:
在步骤S201中,查看策略调度时间;
在步骤S202中,判断执行时间是否到来,如果执行时间没有到,则返回步骤S201;
在步骤S203中,当执行时间到来后,从文件扫描控制器oScan获取目录和文件列表;
在步骤S204中,将目录和文件列表分解为文件夹子任务、文件子任务、和目录层深子任务;
在步骤S205中,将文件夹子任务、文件子任务、和目录层深子任务下盘保存;
在步骤S206中,将文件夹子任务、文件子任务、和目录层深子保存在策略链表中;
在步骤S207中,检测正在执行的策略数,并将正在执行的策略数与设定的策略数进行比较;
在步骤S208中,当正在执行的策略数小于设定的策略数时,选取可执行任务的文件复制控制器oBks;
在步骤S209中,向文件复制控制器oBks发送文件夹子任务;
在步骤S210中,判断文件夹子任务是否完成;
在步骤S211中,在文件夹子任务完成的情况下,向文件复制控制器oBks发送文件子任务;
在步骤S212中,判断文件子任务是否完成;
在步骤S213中,在文件子任务完成的情况下,向文件复制控制器oBks发送目录层深子任务;
在步骤S214中,等待目录层深子任务完成。
在本实施例中,通过将文件列表和目录分解为文件夹子任务、文件子任务、和目录层深子任务,将文件夹子任务、文件子任务、和目录层深子任务下盘存储,并依次完成文件夹子任务、文件子任务、目录层深子任务的复制,降低了内存使用,提高了复制系统的服务能力。
在一个实施例中,文件子任务包括:小文件子任务和大文件子任务。
其中,小文件子任务和大文件子任务可以根据实际需要进行划分。例如,大文件子任务为文件大小在4M以上的文件子任务;小文件子任务为文件大小小于4M的文件子任务。
进一步地,完成文件子任务的复制,包括以下步骤:
完成小文件子任务的复制;
完成大文件子任务的复制。
根据本发明的实施例,还提供了一种文件同步的系统。
根据本发明实施例的文件同步的系统包括:
管理节点模块:用于获取用户设置的策略;
文件复制控制器,用于保存策略并管理策略的执行;
文件扫描控制器,用于根据策略获取已经修改的数据;
文件复制服务器,用于将数据分解为复制子任务、进行文件夹比对、进行文件比对、完成复制子任务的复制。
本发明的文件同步的系统,通过文件复制服务器将文件列表分解为子文件夹子任务和文件子任务、并在进行文件夹子任务的复制前进行文件夹比对、在进行文件子任务的复制前进行文件比对,避免了父文件目录未创建时频繁创建文件不成功的问题。
在一个实施例中,管理节点还用于管理文件复制控制器和文件复制服务器;文件复制控制器还用于完成目录的元数据修改。
具体的,文件复制控制器控制各个策略的生命周期,保证策略间按照调度方案有序的执行,在策略运行的过程中,触发策略进入不同的策略状态,执行文件的同步。文件复制控制器还可以用于查询策略,若策略执行时间到来,则启动策略执行。
参考图3,对应于源端设置有第一文件扫描控制器oScan1、与第一文件扫描控制器oScan1通信连接的第一文件复制控制器oBke1、与第一文件复制控制器oBke1通信连接的至少一组第一文件复制服务器oBks1和第一管理节点模块MGR1;对应于目标端设置有第二文件扫描控制器oScan2、与第二文件扫描控制器oScan2通信连接的第二文件复制控制器oBke2、与第二文件复制控制器oBke2通信连接的至少一组第二文件复制服务器oBks2和第二管理节点模块MGR2;其中,源端对应的第一文件复制控制器oBke1与目标端对应的第二文件复制控制器oBke2通信连接,源端对应的第一文件复制服务器oBks1与目标端对应的第二文件复制服务器oBks2通信连接。
用户可以从界面添加复制的源端和目标端节点,设置策略,设定成功的策略保存在第一文件复制控制器oBke1和第二文件复制控制器oBke2;目标端的第二文件复制控制器oBke2从第二文件扫描控制器oScan2上获取基于该策略所修改的数据并将这些数据分解成子任务;在子任务分解完成后,会向各个第二文件复制服务器oBks2推送子任务,第二文件复制服务器oBks2接到子任务后将执行,从而将数据从源端复制到目标端,并修改元数据,同时将子任务执行结果返回给第二文件复制控制器oBke2。
综上所述,借助于本发明的上述技术方案,通过将文件列表和目录分解为文件夹子任务、文件子任务、目录层深子任务并下盘存储,依次完成文件夹子任务、文件子任务、目录层深子任务的复制,并在进行文件夹子任务的复制前进行文件夹比对、在进行文件子任务的复制前进行文件比对,避免了父文件目录未创建时频繁创建文件不成功的现象,解决了因文件晚于父目录到达访问修改文件引起的父目录元数据变化的问题;通过按照层级关系从最深层到根逐层进行目录元数据的修改,保证了目录元数据属性与源端的一致性,降低了内存使用,提高了复制系统的服务能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文件同步的方法,其特征在于,包括:
获取用户设置的策略并根据所述策略获取已经修改的数据,所述数据包括文件列表;
将所述文件列表分解为复制子任务,所述复制子任务包括:文件夹子任务和文件子任务;
对所述文件夹子任务进行文件夹比对,并完成所述文件夹子任务的复制;以及
对所述文件子任务进行文件比对,完成所述文件子任务的复制。
2.根据权利要求1所述的文件同步的方法,其特征在于,
所述数据还包括目录;以及
所述复制子任务还包括目录层深子任务。
3.根据权利要求2所述的文件同步的方法,其特征在于,在对所述文件子任务进行文件比对,完成所述文件子任务的复制之后,还包括:
从所述目录的最深一层形开始,逐层完成所述目录的元数据修改。
4.根据权利要求1所述的文件同步的方法,其特征在于,在对所述文件夹子任务进行文件夹比对,并完成所述文件夹子任务的复制之前,还包括:
将所述复制子任务下盘保存。
5.根据权利要求4所述的文件同步的方法,其特征在于,在将所述复制子任务下盘保存之后,还包括:
将所述复制子任务添加到策略中。
6.根据权利要求1所述的文件同步的方法,其特征在于,所述文件子任务包括:小文件子任务和大文件子任务。
7.根据权利要求6所述的文件同步的方法,其特征在于,完成所述文件子任务的复制,包括:
完成所述小文件子任务的复制;以及
完成所述大文件子任务的复制。
8.根据权利要求6所述的文件同步的方法,其特征在于,
所述大文件子任务为文件大小在4M以上的文件子任务;以及
所述小文件子任务为文件大小小于4M的文件子任务。
9.一种文件同步的系统,其特征在于,包括:
管理节点,用于获取用户设置的策略;
文件复制控制器,与所述管理节点通信连接,用于保存所述策略并管理所述策略的执行;
文件扫描控制器,与所述文件复制控制器通信连接,用于根据所述策略获取已经修改的数据;以及
文件复制服务器,与所述文件复制控制器通信连接,用于将所述数据分解为复制子任务、进行文件夹比对、进行文件比对、完成复制子任务的复制。
10.根据权利要求9所述的文件同步的系统,其特征在于,还包括:
所述管理节点还用于管理文件复制控制器和文件复制服务器;以及
所述文件复制控制器还用于完成目录的元数据修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110697.3A CN106649625B (zh) | 2016-12-06 | 2016-12-06 | 文件同步的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110697.3A CN106649625B (zh) | 2016-12-06 | 2016-12-06 | 文件同步的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649625A true CN106649625A (zh) | 2017-05-10 |
CN106649625B CN106649625B (zh) | 2020-12-22 |
Family
ID=58819153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611110697.3A Active CN106649625B (zh) | 2016-12-06 | 2016-12-06 | 文件同步的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649625B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956452A (zh) * | 2005-10-27 | 2007-05-02 | 华为技术有限公司 | 一种实现数据同步的方法、系统、客户端及服务器 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN102033960A (zh) * | 2010-12-31 | 2011-04-27 | 中国建筑东北设计研究院有限公司 | 文件夹比较系统 |
CN103258018A (zh) * | 2013-04-27 | 2013-08-21 | 北京金和软件股份有限公司 | 一种精确监控目录文件夹中文件变化的文件同步方法 |
CN105376277A (zh) * | 2014-08-25 | 2016-03-02 | Tcl集团股份有限公司 | 一种数据同步方法及装置 |
CN105554051A (zh) * | 2015-08-29 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 家庭云服务快捷同步相册的方法 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件系统中异步批量创建文件的系统及方法 |
CN106101265A (zh) * | 2016-07-26 | 2016-11-09 | 浪潮软件股份有限公司 | 一种在网盘和桌面端之间进行文件同步的方法 |
-
2016
- 2016-12-06 CN CN201611110697.3A patent/CN106649625B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956452A (zh) * | 2005-10-27 | 2007-05-02 | 华为技术有限公司 | 一种实现数据同步的方法、系统、客户端及服务器 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN102033960A (zh) * | 2010-12-31 | 2011-04-27 | 中国建筑东北设计研究院有限公司 | 文件夹比较系统 |
CN103258018A (zh) * | 2013-04-27 | 2013-08-21 | 北京金和软件股份有限公司 | 一种精确监控目录文件夹中文件变化的文件同步方法 |
CN105376277A (zh) * | 2014-08-25 | 2016-03-02 | Tcl集团股份有限公司 | 一种数据同步方法及装置 |
CN105554051A (zh) * | 2015-08-29 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 家庭云服务快捷同步相册的方法 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件系统中异步批量创建文件的系统及方法 |
CN106101265A (zh) * | 2016-07-26 | 2016-11-09 | 浪潮软件股份有限公司 | 一种在网盘和桌面端之间进行文件同步的方法 |
Non-Patent Citations (1)
Title |
---|
杨德志 等: "蓝鲸分布式文件系统元数据服务", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106649625B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532247B (zh) | 数据迁移方法和数据迁移系统 | |
RU2421799C2 (ru) | Безопасность в приложениях синхронизации равноправных узлов | |
US9648059B2 (en) | System and methods for multi-user CAx editing conflict management | |
US9298752B2 (en) | Facilitating data migration between database clusters while the database continues operating | |
US9311326B2 (en) | Virtual file system for automated data replication and review | |
US7760767B2 (en) | Wide area peer-to-peer synching in a decentralized environment | |
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN102360410B (zh) | 一种文件系统的用户操作发现方法和装置 | |
WO2015117426A1 (zh) | 文件管理方法及装置 | |
CN104462185B (zh) | 一种基于混合结构的数字图书馆云存储系统 | |
EP2923284A1 (en) | System, method, and apparatus for collaborative cax editing | |
EP2461615A1 (en) | Method for backing up terminal data and system thereof | |
CN103150079A (zh) | 一种基于Firefox OS平台的应用图标管理方法及装置 | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
US9401957B2 (en) | System and method for synchronization between servers | |
CN114281253B (zh) | 存储卷的管理方法 | |
CN109299046B (zh) | 一种基于TCP WebSocket协议的协同编辑方法 | |
CN105468785A (zh) | 一种计算机文件管理方法 | |
CN106354566A (zh) | 一种命令处理的方法以及服务器 | |
CN107580032A (zh) | 数据处理方法、装置及设备 | |
CN103123651A (zh) | 一种快速查看多个同类文件的方法、装置和移动设备 | |
CN107408239B (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
CN112272137B (zh) | 通过多个邮箱在通信应用中进行海量数据管理的方法、计算设备和计算机可读存储器设备 | |
CN102902768A (zh) | 文件内容搜索显示方法及系统 | |
CN101789963A (zh) | 数据同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211011 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |