CN106649625B - 文件同步的方法和系统 - Google Patents
文件同步的方法和系统 Download PDFInfo
- Publication number
- CN106649625B CN106649625B CN201611110697.3A CN201611110697A CN106649625B CN 106649625 B CN106649625 B CN 106649625B CN 201611110697 A CN201611110697 A CN 201611110697A CN 106649625 B CN106649625 B CN 106649625B
- Authority
- CN
- China
- Prior art keywords
- file
- replication
- subtask
- task
- directory
- 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
Images
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 (9)
1.一种文件同步的方法,其特征在于,包括:
获取用户设置的策略并根据所述策略获取已经修改的目录和文件列表;
将所述目录和所述文件列表分解为复制子任务,所述复制子任务包括:文件夹子任务、文件子任务和目录层深子任务;
当正在执行的策略数小于设定的策略数时,向文件复制控制器发送文件夹子任务,并在所述文件子任务完成的情况下向所述文件复制控制器发送目录层深子任务,以完成所述文件子任务的复制;
其中,当父文件目录未创建时,进行文件夹比对,并在所述文件夹比对完成之后进行所述文件夹子任务的复制,然后进行文件比对,并在所述文件比对之后进行文件子任务的复制。
2.根据权利要求1所述的文件同步的方法,其特征在于,从所述目录的最深一层形开始,逐层完成所述目录的元数据修改。
3.根据权利要求1所述的文件同步的方法,其特征在于,还包括:
将所述复制子任务下盘保存。
4.根据权利要求3所述的文件同步的方法,其特征在于,在将所述复制子任务下盘保存之后,还包括:
将所述复制子任务添加到策略中。
5.根据权利要求1所述的文件同步的方法,其特征在于,所述文件子任务包括:小文件子任务和大文件子任务。
6.根据权利要求5所述的文件同步的方法,其特征在于,完成所述文件子任务的复制,包括:
完成所述小文件子任务的复制;以及
完成所述大文件子任务的复制。
7.根据权利要求5所述的文件同步的方法,其特征在于,
所述大文件子任务为文件大小在4M以上的文件子任务;以及
所述小文件子任务为文件大小小于4M的文件子任务。
8.一种文件同步的系统,其特征在于,包括:
管理节点,用于获取用户设置的策略;
文件复制控制器,与所述管理节点通信连接,用于保存所述策略并管理所述策略的执行;
文件扫描控制器,与所述文件复制控制器通信连接,用于根据所述策略获取已经修改的目录和文件列表;以及
文件复制服务器,与所述文件复制控制器通信连接,用于将所述目录和所述文件列表分解为复制子任务,所述复制子任务包括:文件夹子任务、文件子任务和目录层深子任务,当正在执行的策略数小于设定的策略数时,向文件复制控制器发送文件夹子任务,并在所述文件子任务完成的情况下向所述文件复制控制器发送目录层深子任务,以完成复制子任务的复制;
其中,当父文件目录未创建时,进行文件夹比对,并在所述文件夹比对完成之后进行所述文件夹子任务的复制,然后进行文件比对,并在所述文件比对之后进行文件子任务的复制。
9.根据权利要求8所述的文件同步的系统,其特征在于,还包括:
所述管理节点还用于管理文件复制控制器和文件复制服务器;以及
所述文件复制控制器还用于完成目录的元数据修改。
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 CN106649625A (zh) | 2017-05-10 |
CN106649625B true 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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956452A (zh) * | 2005-10-27 | 2007-05-02 | 华为技术有限公司 | 一种实现数据同步的方法、系统、客户端及服务器 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN106101265A (zh) * | 2016-07-26 | 2016-11-09 | 浪潮软件股份有限公司 | 一种在网盘和桌面端之间进行文件同步的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033960A (zh) * | 2010-12-31 | 2011-04-27 | 中国建筑东北设计研究院有限公司 | 文件夹比较系统 |
CN103258018B (zh) * | 2013-04-27 | 2016-08-10 | 北京金和软件股份有限公司 | 一种精确监控目录文件夹中文件变化的文件同步方法 |
CN105376277B (zh) * | 2014-08-25 | 2019-02-01 | Tcl集团股份有限公司 | 一种数据同步方法及装置 |
CN105554051A (zh) * | 2015-08-29 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 家庭云服务快捷同步相册的方法 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件系统中异步批量创建文件的系统及方法 |
-
2016
- 2016-12-06 CN CN201611110697.3A patent/CN106649625B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956452A (zh) * | 2005-10-27 | 2007-05-02 | 华为技术有限公司 | 一种实现数据同步的方法、系统、客户端及服务器 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN106101265A (zh) * | 2016-07-26 | 2016-11-09 | 浪潮软件股份有限公司 | 一种在网盘和桌面端之间进行文件同步的方法 |
Non-Patent Citations (1)
Title |
---|
蓝鲸分布式文件系统元数据服务;杨德志 等;《计算机工程》;20080405;第34卷(第7期);4-6、9 * |
Also Published As
Publication number | Publication date |
---|---|
CN106649625A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102432304B1 (ko) | 클라이언트 동기화에서의 위반 해결 | |
CN109493076B (zh) | 一种Kafka消息唯一消费方法、系统、服务器及存储介质 | |
US10289692B2 (en) | Preserving file metadata during atomic save operations | |
CN105700939A (zh) | 一种分布式系统中多线程同步的方法和系统 | |
WO2015117426A1 (zh) | 文件管理方法及装置 | |
CN110022338B (zh) | 文件读取方法、系统、元数据服务器和用户设备 | |
CN104657158A (zh) | 一种业务系统中业务处理的方法和装置 | |
US9934240B2 (en) | On demand access to client cached files | |
CN111913793A (zh) | 分布式任务调度方法、装置、节点设备和系统 | |
CN111240892A (zh) | 数据备份方法及装置 | |
CN113672255A (zh) | 一种分布式存储软件升级方法及装置 | |
CN102375888A (zh) | 一种分布式文件系统中大文件高效删除的方法 | |
CN112783835A (zh) | 索引管理方法、装置及电子设备 | |
CN106649625B (zh) | 文件同步的方法和系统 | |
CN110532000B (zh) | 一种用于运营发布的kbroker分布式操作系统和运营发布系统 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN104461382A (zh) | 运行多个文件系统的文件服务器的内部写方法和服务器 | |
CN112269677A (zh) | 一种异构云平台下的回滚操作装置、方法、设备及介质 | |
CN116719604A (zh) | 容器迁移方法及装置、存储介质和电子设备 | |
CN118377434A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115469891A (zh) | 一种Kubernetes集群环境中容器镜像管理控制方法及系统 | |
CN114661675A (zh) | 网盘文件处理方法及装置 | |
CN118227571A (zh) | 一种文件重划分方法、装置、设备及存储介质 | |
US20170308542A1 (en) | File system configuration data storage | |
CN111756562A (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 |