CN104348859A - 文件同步方法、装置、服务器、终端及系统 - Google Patents
文件同步方法、装置、服务器、终端及系统 Download PDFInfo
- Publication number
- CN104348859A CN104348859A CN201310326519.4A CN201310326519A CN104348859A CN 104348859 A CN104348859 A CN 104348859A CN 201310326519 A CN201310326519 A CN 201310326519A CN 104348859 A CN104348859 A CN 104348859A
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- index
- terminal
- sync
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件同步方法、装置、服务器、终端及系统,属于计算机技术领域。所述方法用于服务器中,包括:获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步。本发明解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种文件同步方法、装置、服务器、终端及系统。
背景技术
随着网络技术的发展,终端可以将文件上传至服务器,以便其他终端可以通过网络访问该服务器,获取该服务器中的文件,实现了终端之间的文件共享。若终端对服务器中的文件进行了修改,其他终端需要及时与服务器进行文件同步,以获取到最新的文件。
现有的一种文件同步方法通过比较文件索引进行文件同步。其中,文件索引用于记录终端中的文件目录、每个目录中存储的文件、每个文件的文件名称、文件版本号、文件同步时间和对文件内容进行加密运算得到的加密数值等。具体地,终端获取上次文件同步后终端中所有文件的第一文件索引,并获取当前时刻终端中所有文件的第二文件索引;终端根据第一文件索引和第二文件索引生成更新文件索引;由于终端将文件同步至服务器后,其他终端可以通过服务器对该文件进行修改,为了区别于原来的文件,服务器可以对其他终端修改后的文件的名称或版本号等信息进行修改,生成第三文件索引,因此,终端获取当前时刻服务器中与终端对应的所有文件的第三文件索引;终端根据更新文件索引和第三文件索引确定需要同步的文件,实现文件同步。
若服务器中与终端对应的文件较多,则第三文件索引的数据量较大,比较更新文件索引和第三文件索引会占用大量的系统资源,降低了文件同步效率。
发明内容
为了解决比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步效率的问题,本发明实施例提供了一种文件同步方法、装置、服务器、终端及系统。所述技术方案如下:
第一方面,本发明实施例提供了一种文件同步方法,用于服务器中,所述方法包括:
获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;
查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;
获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;
向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步。
第二方面,本发明实施例提供了一种文件同步方法,用于终端中,所述方法包括:
向服务器发送所述终端最近一次进行文件同步的第一同步标识,以便所述服务器获取所述终端最近一次进行文件同步的所述第一同步标识;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;向所述终端反馈与所述文件目录对应的目录索引,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间,所述目录索引用于记录所述文件目录的信息;
接收所述服务器反馈的所述目录索引;
根据所述目录索引进行文件同步。
第三方面,本发明实施例提供了一种文件同步服务装置,用于服务器中,所述装置包括:
第一获取模块,用于获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;
查找模块,用于查找在所述第一获取模块获取到的所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;
第二获取模块,用于获取与所述查找模块查找到的所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;
反馈模块,用于向所述终端反馈所述第二获取模块获取到的所述目录索引,以便所述终端根据所述目录索引进行文件同步。
第四方面,本发明实施例提供了一种文件同步应用装置,用于终端中,所述装置包括:
第一发送模块,用于向服务器发送所述终端最近一次进行文件同步的第一同步标识,以便所述服务器获取所述终端最近一次进行文件同步的所述第一同步标识;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;向所述终端反馈与所述文件目录对应的目录索引,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间,所述目录索引用于记录所述文件目录的信息;
第二接收模块,用于接收所述服务器根据所述第一发送模块发送的所述第一同步标识反馈的所述目录索引;
同步模块,用于根据所述第二接收模块接收到的所述目录索引进行文件同步。
第五方面,本发明实施例提供了一种服务器,所述服务器包括如第三方面所述的文件同步服务装置。
第六方面,本发明实施例提供了一种终端,所述终端包括如第四方面所述的文件同步应用装置。
第七方面,本发明实施例提供了一种文件同步系统,所述系统包括如第五方面所述的服务器和如第六方面所述的终端。
通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的文件同步方法的方法流程图;
图2是本发明另一实施例提供的文件同步方法的方法流程图;
图3是本发明实施例提供的文件、目录索引和同步索引的示意图;
图4是本发明再一实施例提供的文件同步方法的方法流程图;
图5是本发明一个实施例提供的文件同步系统的结构框架图;
图6是本发明再一实施例提供的文件同步系统的结构框架图;
图7是本发明又一实施例提供的文件同步系统的结构框架图;
图8是本发明一个实施例提供的文件同步系统的结构框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的文件同步方法的方法流程图,该文件同步方法可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。该文件同步方法,包括:
步骤101,终端向服务器发送终端最近一次进行文件同步的第一同步标识,该第一同步标识用于标识终端最近一次进行文件同步的同步时间;
第一同步标识用于标识终端最近一次进行文件同步的同步时间。其中,第一同步标识可以是终端最近一次进行文件同步的同步时间,由服务器记录并发送给该终端,比如,2013年7月24日11点;也可以是用于表示文件同步时间先后的文件版本号,比如,xx文件V1.2、xx文件V3.0;也可以是用于表示目录同步时间先后的目录版本号,比如,xx目录V1.0、xx目录V2.0。
本实施例中,终端可以主动向服务器发送第一同步标识,比如,终端可以定时向服务器发送第一同步标识,或,终端可以检测预定参数是否满足预定条件,在预定参数满足该预定条件后向服务器发送第一同步标识等。或者,终端可以接收其他设备发送的同步命令,根据同步命令向服务器发送第一同步标识,比如,服务器或第三方设备发送的同步命令等,本实施例不限定终端向服务器发送第一同步标识的触发方式。
进一步地,终端可以通过有线网络或无线网络向服务器发送第一同步标识。
步骤102,服务器获取终端最近一次进行文件同步的第一同步标识;
服务器可以通过有线网络或无线网络接收终端发送的第一同步标识。
步骤103,服务器查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
由于服务器中存储的文件可以被任意一个终端修改,因此,服务器可以在接收到终端发送的第一同步标识后,检测在第一同步标识所标识的同步时间之后,文件是否被除该终端之外的其他终端修改过。若检测到文件被其他终端修改过,则获取根据修改过的文件生成的文件目录;若检测到文件未被其他终端修改过,则可以获取空的文件目录。
步骤104,服务器获取与文件目录对应的目录索引,该目录索引用于记录文件目录的信息;
目录索引用于记录文件目录的信息。通常,一条目录索引对应于一个文件目录。由于文件目录可以包括文件或文件目录,因此,目录索引可以包括文件目录的标识、该文件目录包括的文件信息、该文件目录包括的文件目录的标识等,文件信息用来描述该文件目录包括的文件的信息,可以包括文件名、文件版本号、文件同步时间和对文件内容进行加密运算得到的加密数值等。
本实施例中,服务器可以为每一个文件目录设置一条目录索引,避免了对所有文件设置一条文件索引造成的单条索引的数据量较大,在文件索引中查找和同步文件占用的系统资源较多,响应较慢的问题,达到了提高文件查找效率和同步效率的效果。另外,终端还可以将目录索引应用于分布式系统中,以避免文件索引存储在多个服务器中时,需要与多台服务器进行交互的问题,进一步提高了文件查找效率和同步效率。
步骤105,服务器向终端反馈目录索引;
步骤106,终端接收服务器反馈的目录索引;
步骤107,终端根据目录索引进行文件同步。
若目录索引非空,则终端可以根据目录索引中的文件信息确定需要同步的文件,再根据确定的文件与服务器进行文件同步;若目录索引为空,则终端可以确定终端中需要同步的文件,并将该文件同步至服务器。
综上所述,本发明实施例提供的文件同步方法,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。
请参考图2,其示出了本发明另一实施例提供的文件同步方法的方法流程图,该文件同步方法可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。该文件同步方法,包括:
步骤201,终端获取终端最近一次进行文件同步时记录的历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,该历史内容标识用于标识历史文件的文件内容,该当前内容标识用于标识当前文件的文件内容;
在终端与服务器进行文件同步之后,若终端对上次同步的文件进行了修改,则终端需要将修改后的文件上传至服务器,以便其他终端可以获取到修改后的文件,实现了文件共享。因此,终端在下次进行文件同步之前,需要确定是否对上次同步的文件进行了修改。
具体地,终端可以获取终端中存储的历史文件,并获取当前时刻终端中存储的当前文件,根据历史文件和当前文件确定是否需要进行文件同步。其中,历史文件是指终端最后一次与服务器进行文件同步时,终端中存储的文件,当前文件是指当前时刻终端中存储的文件。
由于文件内容通常较多,因此,终端比较历史文件和当前文件需要占用大量的系统资源,降低了比较效率。优选地,可以对文件设置内容标识,即对历史文件设置历史内容标识、对当前文件设置当前文件标识,则终端可以根据历史内容标识和当前内容标识确定是否需要进行文件同步。其中,内容标识用来对文件内容进行标识,可以是通过加密算法对文件内容进行加密得到加密数值等。加密算法可以是MD5(Message Digest Algorithm5,消息摘要算法第五版),也可以是SHA(Secure Hash Algorithm,安全散列算法)等,本实施例不对加密算法作限定。
进一步地,历史文件标识可以由终端对历史文件进行加密计算得到,也可以由服务器对历史文件进行加密计算得到,本实施例不限定历史内容标识的设置方式。
步骤202,终端检测历史内容标识和当前内容标识是否相同;若检测结果为历史内容标识与当前内容标识不同,则执行203;
终端在检测历史内容标识和当前内容标识是否相同时,若检测结果为历史内容标识与当前内容标识相同,则确定历史文件与当前文件相同,终端没有对历史文件进行修改,此时终端不需要进行文件同步;若检测结果为历史内容标识与当前内容标识不同,则确定历史文件与当前文件不同,终端对历史文件进行了修改,此时终端需要进行文件同步,即执行步骤203。
步骤203,终端向服务器发送终端最近一次进行文件同步的第一同步标识,该第一同步标识用于标识终端最近一次进行文件同步的同步时间;
第一同步标识用于标识终端最近一次进行文件同步的同步时间。其中,第一同步标识可以是终端最近一次进行文件同步的同步时间,由服务器记录并发送给该终端,比如,2013年7月24日11点;也可以是用于表示文件同步时间先后的文件版本号,比如,xx文件V1.2、xx文件V3.0;也可以是用于表示目录同步时间先后的目录版本号,比如,xx目录V1.0、xx目录V2.0。
本实施例中,终端在检测到历史内容标识与当前内容标识不同后,触发对第一同步标识的发送。具体地,终端可以通过有线网络或无线网络向服务器发送第一同步标识。
步骤204,服务器获取终端最近一次进行文件同步的第一同步标识;
服务器可以通过有线网络或无线网络接收终端发送的第一同步标识。
步骤205,服务器查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
由于服务器中存储的文件可以被任意一个终端修改,因此,服务器可以在接收到终端发送的第一同步标识后,检测在第一同步标识所标识的同步时间之后,文件是否被除该终端之外的其他终端修改过。若检测到文件被其他终端修改过,则获取根据修改过的文件生成的文件目录;若检测到文件未被其他终端修改过,则可以获取空的文件目录。
具体地,查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录,可以包括:
在服务器存储的同步索引中,查找在第一同步标识所标识的同步时间之后,由服务器根据其他终端的最近一次修改生成的第二同步标识;
在同步索引中查找与第二同步标识对应的文件目录,该同步索引包括第二同步标识和与第二同步标识对应的文件目录。
本实施例中,服务器可以为终端的全部或部分文件目录创建同步索引,该同步索引可以包括文件目录和与该文件目录对应的第二同步标识。其中,第二同步标识用于标识文件目录的修改时间,与第一同步标识的类型相同。比如,第一同步标识和第二同步标识均为同步时间,或,第一同步标识和第二同步标识均为文件版本号。
终端最近一次进行文件同步后,若其他终端对该文件进行了修改,则服务器可以确定该文件所属的文件目录,并根据其他终端的最近一次修改对同步索引中与该文件目录对应的第二同步标识进行修改。
本实施例以第二同步标识为同步时间为例进行说明,假设同步索引为“根目录,2013年6月15日8点30分;目录1,2013年6月18日12点;目录2,2013年5月24日15点20分”,若服务器接收到的第一同步标识为“2013年6月1日18点”,则服务器可以确定查找到的第二同步标识为“2013年6月15日8点30分”和“2013年6月18日12点”,在同步索引中查找到的文件目录为根目录和目录1。
步骤206,服务器获取与文件目录对应的目录索引,该目录索引用于记录文件目录的信息;
目录索引用于记录文件目录的信息。通常,一条目录索引对应于一个文件目录。由于文件目录可以包括文件或文件目录,因此,目录索引可以包括文件目录的标识、该文件目录包括的文件信息、该文件目录包括的文件目录的标识等,文件信息用来描述该文件目录包括的文件的信息,可以包括文件名、文件版本号、文件同步时间和对文件内容进行加密运算得到的加密数值等。
请参考图3所示的文件、目录索引和同步索引的示意图。图3(a)为终端中存储的文件的示意图,图3(a)中包括根目录,根目录包括文件1、文件2、文件3、目录2和目录3,目录3包括文件4、文件5和目录4。
请参考图3(b)所示的目录索引的示意图,图3(b)中的目录索引的内容如上所述。比如,目录3包括文件4、文件5和文件目录4,则与目录3对应的目录索引可以是“文件4(文件名称、文件版本号、文件同步时间、加密数值);文件5(文件名称、文件版本号、文件同步时间、加密数值);目录4:目录名称”。进一步地,服务器还可以设置一条包括终端标识、账号、终端容量和根目录的标识的目录索引,以记录终端的信息。
请参考图3(c)所示的同步索引的示意图,图3(c)中的同步索引包括文件目录和与该文件目录对应的第二同步标识,本实施例以第二同步标识为同步时间为例进行说明。
本实施例中,服务器可以为每一个文件目录设置一条目录索引,避免了对所有文件设置一条文件索引造成的单条索引的数据量较大,在文件索引中查找和同步文件占用的系统资源较多,响应较慢的问题,达到了提高文件查找效率和同步效率的效果。另外,终端还可以将目录索引应用于分布式系统中,以避免文件索引存储在多个服务器中时,需要与多台服务器进行交互的问题,进一步提高了文件查找效率和同步效率。
若同步索引与目录索引存储在同一个服务器中,则服务器获取到文件目录后,可以获取与该文件目录对应的目录索引;若同步索引与目录索引存储在不同的服务器中,比如,分布式系统,则服务器获取到文件目录后,可以向终端发送该文件目录,终端根据该文件目录向存储目录索引的服务器发送目录索引请求,以便该存储目录索引的服务器根据该目录索引请求获取与该文件目录对应的目录索引。
步骤207,服务器向终端反馈目录索引;
服务器可以通过有线网络或无线网络将获取到的目录索引发送给终端。
步骤208,终端接收服务器反馈的目录索引;
终端可以通过有线网络或无线网络接收服务器发送的目录索引。
步骤209,终端在目录索引中获取文件的文件同步标识,并获取历史文件的历史文件同步标识,该文件同步标识用于标识在目录索引中获取的文件的同步时间,该历史文件同步标识用于标识历史文件的同步时间;
若服务器反馈的目录索引为空,则终端可以确定终端最近一次进行文件同步后,其他终端未对该文件进行修改,终端中存储的当前文件为最新的文件,此时,终端可以将该当前文件确定为同步文件,并将该同步文件发送给服务器。
若服务器反馈的目录索引非空,则终端可以获取目录索引中该文件的文件同步标识。文件同步标识用于标识在目录索引中获取的文件的同步时间,该文件是当前时刻服务器中存储的文件。其中,文件同步时间可以是其他终端最近一次对该文件进行修改的修改时间,比如,2013年7月24日13点;也可以是用于表示文件同步时间先后的文件版本号,比如,xx文件V1.2、xx文件V3.0。
终端还需要获取历史文件的历史文件同步标识。历史文件同步标识用于标识历史文件的同步时间,该历史文件时终端最后一次进行文件同步时,终端中存储的文件。其中,历史文件同步时间可以是终端最近一次对该文件进行文件同步的同步时间,比如,2013年7月15日11点;也可以是用于表示文件同步时间先后的文件版本号,比如,xx文件V1.8、xx文件V2.0。
步骤210,终端检测文件同步标识与历史文件同步标识是否相同;若检测结果为文件同步标识与历史文件同步标识相同,则执行步骤211;若检测结果为文件同步标识与历史文件同步标识不同,则执行步骤212;
终端在检测文件同步标识与历史文件同步标识是否相同时,若检测结果为文件同步标识与历史文件同步标识相同,则确定服务器中存储的该文件未被其他终端修改过,此时执行步骤211;若检测结果为文件同步标识与历史文件同步标识不同,则确定服务器中存储的该文件被其他终端修改过,此时执行步骤212。
步骤211,终端将当前文件确定为同步文件,将同步文件发送给服务器,流程结束;
由于服务器中存储的文件未被其他终端修改过,因此,终端可以确定当前文件为最新的文件,此时,终端可以将该当前文件确定为同步文件,并将该同步文件发送给服务器。由于服务器既存储同步文件,也存储同步索引和目录索引,使得对服务器的管理难度增大,因此,优选地,可以将服务器按照功能进行划分,即为同步文件设置文件服务器、为同步索引设置同步索引服务器、为目录索引设置目录索引服务器。若设置了文件服务器,则终端可以将同步文件发送给文件服务器。
需要补充说明的是,终端接收到目录索引且该目录索引中的该文件未被其他终端修改过,则终端可以确定该目录索引中的其他文件被其他终端修改过。因此,终端可以将该文件发送给服务器,并在终端下次进行文件同步时同步该文件目录中的其他文件;或者,终端可以同步该文件目录中的其他文件,并在终端下次进行文件同步时将该文件发送给服务器;或者,终端可以将该文件发送给服务器,并同步该文件目录中的其他文件。
进一步地,该方法还包括:
获取同步文件所属的文件目录,将文件目录携带在文件修改信息中发送给服务器,文件修改信息用于服务器对同步索引和与同步文件所属的文件目录对应的目录索引进行同步。
由于目录索引中包括文件信息,而服务器可以根据同步文件生成文件信息,因此,终端可以仅向服务器发送同步文件和文件目录。可选地,终端还可以将文件信息添加到文件修改信息中发送给服务器,以便服务器端可以直接将该文件信息写入目录索引。
需要补充说明的是,文件修改请求还可以包括新建目录请求和文件目录,以便服务器根据文件修改请求对同步索引和目录索引进行修改,新建目录请求用于在文件目录中新建文件目录;和/或,文件修改请求还可以包括删除目录请求、文件目录和文件目录中的待删除的文件目录,以便服务器根据文件修改信息对同步索引和目录索引进行修改,删除目录请求用于在文件目录中删除待删除的文件目录。
终端不仅可以对文件进行修改,还可以对文件目录进行修改。比如,终端可以在某一个文件目录中新建一个文件目录,又如,终端还可以删除某一个文件目录中的待删除的文件目录等。终端修改了文件目录之后,还需要通过文件修改信息对服务器中的同步索引和目录索引进行同步。
具体地,向终端反馈目录索引之后,该方法还可以包括:
服务器接收终端发送的文件修改信息,该文件修改信息用于对同步索引和与同步文件所属的文件目录对应的目录索引进行同步;
根据文件修改信息对同步索引进行修改,并根据文件修改信息对目录索引进行修改。
其中,同步文件为终端发送的终端中的当前文件。
本实施例中,服务器可以先修改目录索引、再修改同步索引,则终端向服务器发送第一同步标识后,服务器根据同步索引查找文件目录。由于同步索引未进行修改,因此,服务器不会向终端反馈该修改的目录索引,此时,终端不能及时对修改的目录索引进行同步,降低了同步效率。因此,优选地,服务器可以先修改同步索引、再修改目录索引,以避免终端不能及时对修改的目录索引进行同步的问题,提高了同步效率。
其中,服务器根据文件修改信息对同步索引进行修改,可以包括:
若文件修改信息包括同步文件所属的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改;和/或,
若文件修改信息包括新建目录请求和文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并获取在文件目录中新建的文件目录,在同步索引中增加新建的文件目录和与新建的文件目录对应的第二同步标识,新建目录请求用于在文件目录中新建文件目录;和/或,
若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并在同步索引中删除待删除的文件目录和与待删除文件目录对应的第二同步标识,删除目录请求用于在文件目录中删除待删除的文件目录。
若文件修改信息包括同步文件所属的文件目录,则服务器可以读取该文件目录,并在同步索引中生成该文件目录的第二同步标识。比如,服务器可以记录将当前时间作为第二同步标识,或,服务器对文件版本号或目录版本号进行修改,生成第二同步标识等。进一步地,服务器可以向终端发送该第二同步标识,以便下次该终端进行文件同步时,可以将本次的第二同步标识作为第一同步标识发送给服务器。
若文件修改信息包括新建目录请求和文件目录,则服务器可以在该文件目录中新建文件目录,并为新建的文件目录分配文件目录的标识,比如,该新建的文件目录的目录名称等。在服务器获取到新建的文件目录的标识后,可以在同步索引中增加新建的文件目录和与新建的文件目录对应的第二同步标识。比如,终端需要在目录2中新建目录,则文件修改信息可以包括新建目录请求和目录2,服务器可以在目录2中新建目录3。进一步地,服务器可以在同步索引中修改与目录2对应的第二同步标识,并在同步索引中增加目录3和与目录3对应的第二同步标识。
若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则服务器可以删除该待删除的文件目录。比如,终端需要删除目录2中的目录3,则文件修改信息可以包括删除目录请求、目录2和目录3,服务器可以在同步索引中修改与目录2对应的第二同步标识,并在同步索引中删除目录3和与目录3对应的第二同步标识。
其中,服务器根据文件修改信息对目录索引进行修改,可以包括:
若文件修改信息包括同步文件所属的文件目录,则确定与文件目录对应的目录索引,对目录索引中同步文件的内容标识和文件同步标识进行修改,内容标识用于标识同步文件的文件内容,文件同步标识用于标识同步文件的同步时间;和/或,
若文件修改信息包括新建目录请求和文件目录,则确定与文件目录对应的目录索引,在目录索引中增加新建的文件目录,并增加与新建的文件目录对应的目录索引,新建目录请求用于在文件目录中新建文件目录;和/或,
若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则确定与文件目录对应的目录索引,在目录索引中删除待删除的文件目录,并删除与待删除的文件目录对应的目录索引,删除目录请求用于在文件目录中删除待删除的文件目录。
服务器可以根据同步文件生成内容标识和文件同步标识,比如,对同步文件的文件内容进行加密运算得到加密数值,或,对文件生成新的文件版本号等。服务器也可以根据文件修改信息中携带的文件信息修改同步文件的内容标识和文件同步标识,本实施例不作限定。
若文件修改信息包括新建目录请求和文件目录,则服务器可以在该文件目录中新建文件目录,并为新建的文件目录分配文件目录的标识,比如,该新建的文件目录的目录名称等。在服务器获取到新建的文件目录的标识后,可以在目录索引中增加与新建的文件目录对应的目录索引。比如,终端需要在目录2中新建目录,则文件修改信息可以包括新建目录请求和目录2,服务器可以在目录2中新建目录3。进一步地,服务器可以在与目录2对应的目录索引中增加目录3的标识,并在目录索引中增加与目录3对应的目录索引,该与目录3对应的目录索引可以包括目录3中包括的文件和文件目录等。
若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则服务器可以删除该待删除的文件目录。比如,终端需要删除目录2中的目录3,则文件修改信息可以包括删除目录请求、目录2和目录3,服务器可以删除目录3。进一步地,服务器可以在与目录2对应的目录索引中删除目录3,并删除与目录3对应的目录索引。
步骤212,终端确定当前文件与服务器中存储的由其他终端修改的文件相冲突,将对当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将同步文件发送给服务器。
由于服务器中存储的当前文件被其他终端修改过,因此,终端可以确定当前文件与服务器中存储的由其他终端修改的文件相冲突,此时,终端可以对该当前文件进行冲突标识,得到冲突文件。比如,将该文件命名为冲突文件等。终端将该冲突文件确定为同步文件,并将该同步文件发送给服务器,使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题。
进一步地,该方法还包括:
获取同步文件所属的文件目录,将文件目录携带在文件修改信息中发送给服务器,文件修改信息用于服务器对同步索引和与同步文件所属的文件目录对应的目录索引进行同步。
其中,同步文件为终端对终端中的当前文件进行冲突标识后发送的冲突文件,冲突标识用于标识当前时刻终端中存储的当前文件与服务器中存储的由其他终端修改的文件相冲突。
另外,终端还可以向服务器发送文件修改信息,服务器可以根据该文件修改信息对同步索引和与该同步文件所属的文件目录对应的目录索引进行修改,具体修改方式详见步骤211中的描述,此处不赘述。
综上所述,本发明实施例提供的文件同步方法,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。另外,所述同步文件为所述终端对所述终端中存储的文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的文件与所述服务器中存储的由所述其他终端修改的文件相冲突,可以使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题,达到了提高同步效率的效果。
请参考图4,其示出了本发明再一实施例提供的文件同步方法的方法流程图,该文件同步方法可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。该文件同步方法,包括:
步骤401,终端向服务器发送终端最近一次进行文件同步的第一同步标识,该第一同步标识用于标识终端最近一次进行文件同步的同步时间;
第一同步标识用于标识终端最近一次进行文件同步的同步时间。其中,第一同步标识可以是终端最近一次进行文件同步的同步时间,由服务器记录并发送给该终端,比如,2013年7月24日11点;也可以是用于表示文件同步时间先后的文件版本号,比如,xx文件V1.2、xx文件V3.0;也可以是用于表示目录同步时间先后的目录版本号,比如,xx目录V1.0、xx目录V2.0。
本实施例中,终端可以主动向服务器发送第一同步标识,比如,终端可以定时向服务器发送第一同步标识,或,终端可以检测预定参数是否满足预定条件,在预定参数满足该预定条件后向服务器发送第一同步标识等。或者,终端可以接收其他设备发送的同步命令,根据同步命令向服务器发送第一同步标识,比如,服务器或第三方设备发送的同步命令等,本实施例不限定终端向服务器发送第一同步标识的触发方式。
进一步地,终端可以通过有线网络或无线网络向服务器发送第一同步标识。
步骤402,服务器获取终端最近一次进行文件同步的第一同步标识;
服务器可以通过有线网络或无线网络接收终端发送的第一同步标识。
步骤403,服务器查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
由于服务器中存储的文件可以被任意一个终端修改,因此,服务器可以在接收到终端发送的第一同步标识后,检测在第一同步标识所标识的同步时间之后,文件是否被除该终端之外的其他终端修改过。若检测到文件被其他终端修改过,则获取根据修改过的文件生成的文件目录;若检测到文件未被其他终端修改过,则可以获取空的文件目录。其中,其他终端将修改后的文件发送给服务器的流程详见图2所示的实施例中的描述,此处不赘述。
具体地,查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录,可以包括:
在服务器存储的同步索引中,查找在第一同步标识所标识的同步时间之后,由服务器根据其他终端的最近一次修改生成的第二同步标识;
在同步索引中查找与第二同步标识对应的文件目录,同步索引包括第二同步标识和与第二同步标识对应的文件目录。
本实施例中,服务器可以为终端的全部或部分文件目录创建同步索引,该同步索引可以包括文件目录和与该文件目录对应的第二同步标识。其中,第二同步标识用于标识文件目录的修改时间,与第一同步标识的类型相同。比如,第一同步标识和第二同步标识均为同步时间,或,第一同步标识和第二同步标识均为文件版本号。
步骤404,服务器获取与文件目录对应的目录索引,该目录索引用于记录文件目录的信息;
目录索引用于记录文件目录的信息。通常,一条目录索引对应于一个文件目录。由于文件目录可以包括文件或文件目录,因此,目录索引可以包括文件目录的标识、该文件目录包括的文件信息、该文件目录包括的文件目录的标识等,文件信息用来描述该文件目录包括的文件的信息,可以包括文件名、文件版本号、文件同步时间和对文件内容进行加密运算得到的加密数值等。具体请参考图3所示的文件、目录索引和同步索引的示意图。
本实施例中,服务器可以为每一个文件目录设置一条目录索引,避免了对所有文件设置一条文件索引造成的单条索引的数据量较大,在文件索引中查找和同步文件占用的系统资源较多,响应较慢的问题,达到了提高文件查找效率和同步效率的效果。另外,终端还可以将目录索引应用于分布式系统中,以避免文件索引存储在多个服务器中时,需要与多台服务器进行交互的问题,进一步提高了文件查找效率和同步效率。
若同步索引与目录索引存储在同一个服务器中,则服务器获取到文件目录后,可以获取与该文件目录对应的目录索引;若同步索引与目录索引存储在不同的服务器中,比如,分布式系统,则服务器获取到文件目录后,可以向终端发送该文件目录,终端根据该文件目录向存储目录索引的服务器发送目录索引请求,以便该存储目录索引的服务器根据该目录索引请求获取与该文件目录对应的目录索引。
步骤405,服务器向终端反馈目录索引;
服务器可以通过有线网络或无线网络将获取到的目录索引发送给终端。
步骤406,终端接收服务器反馈的目录索引;
终端可以通过有线网络或无线网络接收服务器发送的目录索引。
步骤407,在目录索引中获取文件的文件同步标识,并获取终端最近一次进行文件同步时记录的历史文件的历史文件同步标识,该文件同步标识用于标识在目录索引中获取的文件的同步时间,该历史文件同步标识用于标识历史文件的同步时间;
若服务器反馈的目录索引为空,则终端可以确定终端最近一次进行文件同步后,其他终端没有修改过服务器中的文件,结束流程。
若服务器反馈的目录索引非空,则终端可以获取目录索引中该文件的文件同步标识。文件同步标识用于标识在目录索引中获取的文件的同步时间,该文件是当前时刻服务器中存储的文件。终端还需要获取历史文件的历史文件同步标识。历史文件同步标识用于标识历史文件的同步时间,该历史文件时终端最后一次进行文件同步时,终端中存储的文件。
步骤408,终端检测文件同步标识与历史文件同步标识是否相同;若检测结果为文件同步标识与历史文件同步标识不同,则执行步骤409;若检测结果为文件同步标识与历史文件同步标识相同,则执行步骤410;
终端在检测文件同步标识与历史文件同步标识是否相同时,若检测结果为文件同步标识与历史文件同步标识不同,则终端可以确定终端最近一次进行文件同步后,其他终端对该文件进行了修改,执行步骤409;若检测结果为文件同步标识与历史文件同步标识相同,则终端可以确定终端最近一次进行文件同步后,其他终端未对该文件进行修改,执行步骤410。
步骤409,终端确定文件被其他终端修改过,对被其他终端修改过的文件进行同步,流程结束;
具体地,对被其他终端修改过的文件进行同步,可以包括:
获取历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,历史内容标识用于标识历史文件的文件内容,当前内容标识用于标识当前文件的文件内容;
检测历史内容标识和当前内容标识是否相同;
若检测结果为历史内容标识与当前内容标识相同,则从服务器中获取修改过的文件;
若检测结果为历史内容标识与当前内容标识不同,则确定当前文件与被其他终端修改过的文件相冲突,将对当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将同步文件发送给服务器。
具体地,终端可以获取终端中存储的历史文件,并获取当前时刻终端中存储的当前文件,根据历史文件和当前文件确定被其他终端修改过的文件。其中,历史文件是指终端最后一次与服务器进行文件同步时,终端中存储的文件,当前文件是指当前时刻终端中存储的文件。由于文件内容通常较多,因此,终端比较历史文件和当前文件需要占用大量的系统资源,降低了比较效率。优选地,可以对文件设置内容标识,即对历史文件设置历史内容标识、对当前文件设置当前文件标识,则终端可以根据历史内容标识和当前内容标识确定被其他终端修改过的文件。其中,内容标识用来对文件内容进行标识,可以是通过加密算法对文件内容进行加密得到加密数值等。加密算法可以是MD5,也可以是SHA等,本实施例不对加密算法作限定。
由于文件同步标识与历史文件同步标识不同,因此,可以确定服务器中存储的文件被其他终端修改过。终端在检测历史内容标识和当前内容标识是否相同时,若检测结果为历史内容标识和当前内容标识相同,则确定历史文件与当前文件相同,此时,终端可以直接从服务器中获取其他终端修改后的该文件。若检测结果为历史内容标识与当前内容标识不同,则确定历史文件与当前文件不同,此时,终端可以对该当前文件进行冲突标识,得到冲突文件。比如,将该文件命名为冲突文件等。终端将该冲突文件确定为同步文件,并将该同步文件发送给服务器,使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题。
步骤410,终端确定文件未被其他终端修改过,对未被其他终端修改过的文件进行同步。
具体地,对未被其他终端修改过的文件进行同步,可以包括:
获取历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,历史内容标识用于标识历史文件的文件内容,当前内容标识用于标识当前文件的文件内容;
检测历史内容标识和当前内容标识是否相同;
若检测结果为历史内容标识与当前内容标识不同,则将当前文件确定为同步文件,将同步文件发送给服务器。
由于文件同步标识与历史文件同步标识相同,因此,可以确定服务器中存储的文件未被其他终端修改过。终端在检测历史内容标识和当前内容标识是否相同时,若检测结果为历史内容标识和当前内容标识不同,则终端可以确定当前文件为最新的文件,此时,终端可以将该当前文件确定为同步文件,并将该同步文件发送给服务器。
进一步地,终端将同步文件发送给服务器之后,还可以向服务器发送文件修改信息,服务器可以根据该文件修改信息对同步索引和与该同步文件所属的文件目录对应的目录索引进行修改,具体修改方式详见图2所示的实施例中的描述,此处不赘述。
综上所述,本发明实施例提供的文件同步方法,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。另外,所述同步文件为所述终端对所述终端中存储的文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的文件与所述服务器中存储的由所述其他终端修改的文件相冲突,可以使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题,达到了提高同步效率的效果。
请参考图5,其示出了本发明一个实施例提供的文件同步系统的结构框架图,该文件同步系统可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。其中,服务器可以包括文件同步服务装置,该文件同步服务装置包括:第一获取模块510、查找模块520、第二获取模块530和反馈模块540;终端可以包括文件同步应用装置,该文件同步应用装置包括:第一发送模块610、第二接收模块620和同步模块630。该文件同步系统,包括:
第一发送模块610,用于向服务器发送终端最近一次进行文件同步的第一同步标识,以便服务器获取终端最近一次进行文件同步的第一同步标识;查找在第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;向终端反馈与文件目录对应的目录索引,第一同步标识用于标识终端最近一次进行文件同步的同步时间,目录索引用于记录文件目录的信息;
第一获取模块510,用于获取终端最近一次进行文件同步的第一同步标识,第一同步标识用于标识终端最近一次进行文件同步的同步时间;
查找模块520,用于查找在第一获取模块510获取到的第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
第二获取模块530,用于获取与查找模块520查找到的文件目录对应的目录索引,目录索引用于记录文件目录的信息;
反馈模块540,用于向终端反馈第二获取模块530获取到的目录索引,以便终端根据目录索引进行文件同步;
第二接收模块620,用于接收服务器根据第一发送模块610发送的第一同步标识反馈的目录索引;
同步模块630,用于根据第二接收模块620接收到的目录索引进行文件同步。
综上所述,本发明实施例提供的文件同步系统,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。
请参考图6,其示出了本发明再一实施例提供的文件同步系统的结构框架图,该文件同步系统可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。其中,服务器可以包括文件同步服务装置,该文件同步服务装置包括:第一获取模块510、查找模块520、第二获取模块530和反馈模块540;终端可以包括文件同步应用装置,该文件同步应用装置包括:第一发送模块610、第二接收模块620和同步模块630。该文件同步系统,包括:
第一获取模块510,用于获取终端最近一次进行文件同步的第一同步标识,第一同步标识用于标识终端最近一次进行文件同步的同步时间;
查找模块520,用于查找在第一获取模块510获取到的第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
第二获取模块530,用于获取与查找模块520查找到的文件目录对应的目录索引,目录索引用于记录文件目录的信息;
反馈模块540,用于向终端反馈第二获取模块530获取到的目录索引,以便终端根据目录索引进行文件同步;
第二接收模块620,用于接收服务器根据第一发送模块610发送的第一同步标识反馈的目录索引;
同步模块630,用于根据第二接收模块620接收到的目录索引进行文件同步。
具体地,查找模块520,可以包括:
第一查找单元521,用于在服务器存储的同步索引中,查找在第一同步标识所标识的同步时间之后,由服务器根据其他终端的最近一次修改生成的第二同步标识;
第二查找单元522,用于在同步索引中查找与第一查找单元查找到的第二同步标识对应的文件目录,同步索引包括第二同步标识和与第二同步标识对应的文件目录。
具体地,同步模块630,可以包括:
第一获取单元631,用于在目录索引中获取文件的文件同步标识,并获取历史文件的历史文件同步标识,文件同步标识用于标识在目录索引中获取的文件的同步时间,历史文件同步标识用于标识历史文件的同步时间;
第一检测单元632,用于检测第一获取单元631获取到的文件同步标识与历史文件同步标识是否相同;
第一同步单元633,用于若第一检测单元632检测的结果为文件同步标识与历史文件同步标识相同,则将当前文件确定为同步文件,将同步文件发送给服务器;
第二同步单元634,用于若第一检测单元632检测的结果为文件同步标识与历史文件同步标识不同,则确定当前文件与服务器中存储的由其他终端修改的文件相冲突,将对当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将同步文件发送给服务器。
进一步地,文件同步应用装置还可以包括:
第二发送模块,用于获取同步文件所属的文件目录,将文件目录携带在文件修改信息中发送给服务器,文件修改信息用于服务器对同步索引和与同步文件所属的文件目录对应的目录索引进行同步。
相应的,文件同步服务装置还可以包括:
第一接收模块550,用于反馈模块540向终端反馈目录索引之后,接收终端发送的文件修改信息,文件修改信息用于对同步索引和与同步文件所属的文件目录对应的目录索引进行同步;
修改模块560,用于根据第一接收模块550接收到的文件修改信息对同步索引进行修改,并根据第一接收模块接收到的文件修改信息对目录索引进行修改。
具体地,同步文件为终端发送的终端中存储的当前文件;或,同步文件为终端对终端中存储的当前文件进行冲突标识后发送的冲突文件,冲突标识用于标识当前时刻终端中存储的当前文件与服务器中存储的由其他终端修改的文件相冲突。
优选地,文件修改请求还包括新建目录请求和文件目录,以便服务器根据文件修改请求对同步索引和目录索引进行修改,新建目录请求用于在文件目录中新建文件目录;和/或,
文件修改请求还包括删除目录请求、文件目录和文件目录中的待删除的文件目录,以便服务器根据文件修改信息对同步索引和目录索引进行修改,删除目录请求用于在文件目录中删除待删除的文件目录。
相应的,修改模块560,可以包括:
第一修改单元561,用于若文件修改信息包括同步文件所属的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改;和/或,
第二修改单元562,用于若文件修改信息包括新建目录请求和文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并获取在文件目录中新建的文件目录,在同步索引中增加新建的文件目录和与新建的文件目录对应的第二同步标识,新建目录请求用于在文件目录中新建文件目录;和/或,
第三修改单元563,用于若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并在同步索引中删除待删除的文件目录和与待删除文件目录对应的第二同步标识,删除目录请求用于在文件目录中删除待删除的文件目录。
进一步地,修改模块560,可以包括:
第四修改单元564,用于若文件修改信息包括同步文件所属的文件目录,则确定与文件目录对应的目录索引,对目录索引中同步文件的内容标识和文件同步标识进行修改,内容标识用于标识同步文件的文件内容,文件同步标识用于标识同步文件的同步时间;和/或,
第五修改单元565,用于若文件修改信息包括新建目录请求和文件目录,则确定与文件目录对应的目录索引,在目录索引中增加新建的文件目录,并增加与新建的文件目录对应的目录索引,新建目录请求用于在文件目录中新建文件目录;和/或,
第六修改单元566,用于若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则确定与文件目录对应的目录索引,在目录索引中删除待删除的文件目录,并删除与待删除的文件目录对应的目录索引,删除目录请求用于在文件目录中删除待删除的文件目录。
进一步地,文件同步应用装置还可以包括:
第三获取模块640,用于第一发送模块610向服务器发送终端最近一次进行文件同步的第一同步标识之前,获取终端最近一次进行文件同步时记录的历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,历史内容标识用于标识历史文件的文件内容,当前内容标识用于标识当前文件的文件内容;
检测模块650,用于检测第三获取模块640获取到的历史内容标识和当前内容标识是否相同;
确定模块660,用于若检测模块650检测的结果为历史内容标识与当前内容标识不同,则确定执行向服务器发送终端最近一次进行文件同步的第一同步标识的步骤。
综上所述,本发明实施例提供的文件同步系统,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。另外,所述同步文件为所述终端对所述终端中存储的文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的文件与所述服务器中存储的由所述其他终端修改的文件相冲突,可以使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题,达到了提高同步效率的效果。
请参考图7,其示出了本发明又一实施例提供的文件同步系统的结构框架图,该文件同步系统可以应用于包括终端和服务器的系统中,该终端可以是智能电视、智能手机或者平板电脑等等。其中,服务器可以包括文件同步服务装置,该文件同步服务装置包括:第一获取模块510、查找模块520、第二获取模块530和反馈模块540;终端可以包括文件同步应用装置,该文件同步应用装置包括:第一发送模块610、第二接收模块620和同步模块630。该文件同步系统,包括:
第一获取模块510,用于获取终端最近一次进行文件同步的第一同步标识,第一同步标识用于标识终端最近一次进行文件同步的同步时间;
查找模块520,用于查找在第一获取模块510获取到的第一同步标识所标识的同步时间之后,由除终端之外的其他终端修改的文件目录;
第二获取模块530,用于获取与查找模块520查找到的文件目录对应的目录索引,目录索引用于记录文件目录的信息;
反馈模块540,用于向终端反馈第二获取模块530获取到的目录索引,以便终端根据目录索引进行文件同步;
第二接收模块620,用于接收服务器根据第一发送模块610发送的第一同步标识反馈的目录索引;
同步模块630,用于根据第二接收模块620接收到的目录索引进行文件同步。
具体地,查找模块520,可以包括:
第一查找单元521,用于在服务器存储的同步索引中,查找在第一同步标识所标识的同步时间之后,由服务器根据其他终端的最近一次修改生成的第二同步标识;
第二查找单元522,用于在同步索引中查找与第一查找单元查找到的第二同步标识对应的文件目录,同步索引包括第二同步标识和与第二同步标识对应的文件目录。
进一步地,同步模块630,可以包括:
第二获取单元635,用于在目录索引中获取文件的文件同步标识,并获取终端最近一次进行文件同步时记录的历史文件的历史文件同步标识,文件同步标识用于标识在目录索引中获取的文件的同步时间,历史文件同步标识用于标识历史文件的同步时间;
第二检测单元636,用于检测第二获取单元635获取到的文件同步标识与历史文件同步标识是否相同;
第三同步单元637,用于若第二检测单元636检测的结果为文件同步标识与历史文件同步标识不同,则确定文件被其他终端修改过,对被其他终端修改过的文件进行同步;
第四同步单元638,用于若第二检测单元636检测的结果为文件同步标识与历史文件同步标识相同,则确定文件未被其他终端修改过,对未被其他终端修改过的文件进行同步。
具体地,第三同步单元637,用于获取历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,历史内容标识用于标识历史文件的文件内容,当前内容标识用于标识当前文件的文件内容;检测历史内容标识和当前内容标识是否相同;若检测结果为历史内容标识与当前内容标识相同,则从服务器中获取修改过的文件;若检测结果为历史内容标识与当前内容标识不同,则确定当前文件与修改过的文件相冲突,将对当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将同步文件发送给服务器。
具体地,第四同步单元638,用于获取历史文件的历史内容标识,并获取当前时刻终端中存储的当前文件的当前内容标识,历史内容标识用于标识历史文件的文件内容,当前内容标识用于标识当前文件的文件内容;检测历史内容标识和当前内容标识是否相同;若检测结果为历史内容标识与当前内容标识不同,则将当前文件确定为同步文件,将同步文件发送给服务器。
进一步地,文件同步应用装置还可以包括:
第二发送模块,用于获取同步文件所属的文件目录,将文件目录携带在文件修改信息中发送给服务器,文件修改信息用于服务器对同步索引和与同步文件所属的文件目录对应的目录索引进行同步。
相应的,文件同步服务装置还可以包括:
第一接收模块550,用于反馈模块540向终端反馈目录索引之后,接收终端发送的文件修改信息,文件修改信息用于对同步索引和与同步文件所属的文件目录对应的目录索引进行同步;
修改模块560,用于根据第一接收模块550接收到的文件修改信息对同步索引进行修改,并根据第一接收模块接收到的文件修改信息对目录索引进行修改。
具体地,同步文件为终端发送的终端中存储的当前文件;或,同步文件为终端对终端中存储的当前文件进行冲突标识后发送的冲突文件,冲突标识用于标识当前时刻终端中存储的当前文件与服务器中存储的由其他终端修改的文件相冲突。
优选地,文件修改请求还包括新建目录请求和文件目录,以便服务器根据文件修改请求对同步索引和目录索引进行修改,新建目录请求用于在文件目录中新建文件目录;和/或,
文件修改请求还包括删除目录请求、文件目录和文件目录中的待删除的文件目录,以便服务器根据文件修改信息对同步索引和目录索引进行修改,删除目录请求用于在文件目录中删除待删除的文件目录。
相应的,修改模块560,可以包括:
第一修改单元561,用于若文件修改信息包括同步文件所属的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改;和/或,
第二修改单元562,用于若文件修改信息包括新建目录请求和文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并获取在文件目录中新建的文件目录,在同步索引中增加新建的文件目录和与新建的文件目录对应的第二同步标识,新建目录请求用于在文件目录中新建文件目录;和/或,
第三修改单元563,用于若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则对同步索引中与文件目录对应的第二同步标识进行修改,并在同步索引中删除待删除的文件目录和与待删除文件目录对应的第二同步标识,删除目录请求用于在文件目录中删除待删除的文件目录。
进一步地,修改模块560,可以包括:
第四修改单元564,用于若文件修改信息包括同步文件所属的文件目录,则确定与文件目录对应的目录索引,对目录索引中同步文件的内容标识和文件同步标识进行修改,内容标识用于标识同步文件的文件内容,文件同步标识用于标识同步文件的同步时间;和/或,
第五修改单元565,用于若文件修改信息包括新建目录请求和文件目录,则确定与文件目录对应的目录索引,在目录索引中增加新建的文件目录,并增加与新建的文件目录对应的目录索引,新建目录请求用于在文件目录中新建文件目录;和/或,
第六修改单元566,用于若文件修改信息包括删除目录请求、文件目录和文件目录中的待删除的文件目录,则确定与文件目录对应的目录索引,在目录索引中删除待删除的文件目录,并删除与待删除的文件目录对应的目录索引,删除目录请求用于在文件目录中删除待删除的文件目录。
综上所述,本发明实施例提供的文件同步系统,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。另外,所述同步文件为所述终端对所述终端中存储的文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的文件与所述服务器中存储的由所述其他终端修改的文件相冲突,可以使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题,达到了提高同步效率的效果。
请参考图8,其示出了本发明一个实施例提供的文件同步系统的结构框架图。该文件同步系统,包括:服务器810和终端820,服务器810与终端820之间通过有线网络或无线网络连接。
服务器810可以是图5或图6或图7所示的服务器,终端820可以是图5或图6或图7所示的终端。
综上所述,本发明实施例提供的文件同步系统,通过获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步,可以根据文件目录进行文件同步,解决了比较文件索引进行文件同步会占用大量系统资源的、降低了文件同步的效率的问题,达到了节省系统资源、提高文件同步效率的效果。另外,所述同步文件为所述终端对所述终端中存储的文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的文件与所述服务器中存储的由所述其他终端修改的文件相冲突,可以使得服务器可以存储该文件的所有修改版本,以便对该文件的修改版本进行合并或删除,避免了多个终端不能同时修改同一文件造成的降低同步效率的问题,达到了提高同步效率的效果。
需要说明的是:上述实施例提供的文件同步服务装置和文件同步应用装置在进行文件同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将文件同步服务装置和文件同步应用装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件同步服务装置和文件同步应用装置与文件同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (31)
1.一种文件同步方法,其特征在于,用于服务器中,所述方法包括:
获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;
查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;
获取与所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;
向所述终端反馈所述目录索引,以便所述终端根据所述目录索引进行文件同步。
2.根据权利要求1所述的文件同步方法,其特征在于,所述查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录,包括:
在所述服务器存储的同步索引中,查找在所述第一同步标识所标识的同步时间之后,由所述服务器根据所述其他终端的最近一次修改生成的第二同步标识;
在所述同步索引中查找与所述第二同步标识对应的所述文件目录,所述同步索引包括所述第二同步标识和与所述第二同步标识对应的文件目录。
3.根据权利要求2所述的文件同步方法,其特征在于,所述向所述终端反馈所述目录索引之后,所述方法还包括:
接收所述终端发送的文件修改信息,所述文件修改信息用于对所述同步索引和与同步文件所属的文件目录对应的目录索引进行同步;
根据所述文件修改信息对所述同步索引进行修改,并根据所述文件修改信息对所述目录索引进行修改。
4.根据权利要求3所述的文件同步方法,其特征在于,所述同步文件为所述终端发送的所述终端中存储的当前文件;或,所述同步文件为所述终端对所述终端中存储的当前文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的当前文件与所述服务器中存储的由所述其他终端修改的文件相冲突。
5.根据权利要求3所述的文件同步方法,其特征在于,所述根据所述文件修改信息对所述同步索引进行修改,包括:
若所述文件修改信息包括所述同步文件所属的文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改;和/或,
若所述文件修改信息包括新建目录请求和文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改,并获取在所述文件目录中新建的文件目录,在所述同步索引中增加所述新建的文件目录和与所述新建的文件目录对应的第二同步标识,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
若所述文件修改信息包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改,并在所述同步索引中删除所述待删除的文件目录和与所述待删除文件目录对应的第二同步标识,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
6.根据权利要求3所述的文件同步方法,其特征在于,所述根据所述文件修改信息对所述目录索引进行修改,包括:
若所述文件修改信息包括所述同步文件所属的文件目录,则确定与所述文件目录对应的目录索引,对所述目录索引中所述同步文件的内容标识和文件同步标识进行修改,所述内容标识用于标识所述同步文件的文件内容,所述文件同步标识用于标识所述同步文件的同步时间;和/或,
若所述文件修改信息包括新建目录请求和文件目录,则确定与所述文件目录对应的目录索引,在所述目录索引中增加新建的文件目录,并增加与所述新建的文件目录对应的目录索引,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
若所述文件修改信息包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,则确定与所述文件目录对应的目录索引,在所述目录索引中删除所述待删除的文件目录,并删除与所述待删除的文件目录对应的目录索引,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
7.一种文件同步方法,其特征在于,用于终端中,所述方法包括:
向服务器发送所述终端最近一次进行文件同步的第一同步标识,以便所述服务器获取所述终端最近一次进行文件同步的所述第一同步标识;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;向所述终端反馈与所述文件目录对应的目录索引,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间,所述目录索引用于记录所述文件目录的信息;
接收所述服务器反馈的所述目录索引;
根据所述目录索引进行文件同步。
8.根据权利要求7所述的文件同步方法,其特征在于,所述向服务器发送所述终端最近一次进行文件同步的第一同步标识之前,所述方法还包括:
获取所述终端最近一次进行文件同步时记录的历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;
检测所述历史内容标识和所述当前内容标识是否相同;
若检测结果为所述历史内容标识与所述当前内容标识不同,则确定执行所述向服务器发送所述终端最近一次进行文件同步的第一同步标识的步骤。
9.根据权利要求8所述的文件同步方法,其特征在于,所述根据所述目录索引进行文件同步,包括:
在所述目录索引中获取文件的文件同步标识,并获取所述历史文件的历史文件同步标识,所述文件同步标识用于标识在所述目录索引中获取的所述文件的同步时间,所述历史文件同步标识用于标识所述历史文件的同步时间;
检测所述文件同步标识与所述历史文件同步标识是否相同;
若检测结果为所述文件同步标识与所述历史文件同步标识相同,则将所述当前文件确定为同步文件,将所述同步文件发送给所述服务器;
若检测结果为所述文件同步标识与所述历史文件同步标识不同,则确定所述当前文件与所述服务器中存储的由所述其他终端修改的文件相冲突,将对所述当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将所述同步文件发送给所述服务器。
10.根据权利要求7所述的文件同步方法,其特征在于,所述根据所述目录索引进行文件同步,包括:
在所述目录索引中获取文件的文件同步标识,并获取所述终端最近一次进行文件同步时记录的历史文件的历史文件同步标识,所述文件同步标识用于标识在所述目录索引中获取的所述文件的同步时间,所述历史文件同步标识用于标识所述历史文件的同步时间;
检测所述文件同步标识与所述历史文件同步标识是否相同;
若检测结果为所述文件同步标识与所述历史文件同步标识不同,则确定所述文件被所述其他终端修改过,对被所述其他终端修改过的所述文件进行同步;
若检测结果为所述文件同步标识与所述历史文件同步标识相同,则确定所述文件未被所述其他终端修改过,对未被所述其他终端修改过的所述文件进行同步。
11.根据权利要求10所述的文件同步方法,其特征在于,所述对被所述其他终端修改过的所述文件进行同步,包括:
获取所述历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;
检测所述历史内容标识和所述当前内容标识是否相同;
若检测结果为所述历史内容标识与所述当前内容标识相同,则从所述服务器中获取修改过的所述文件;
若检测结果为所述历史内容标识与所述当前内容标识不同,则确定所述当前文件与修改过的所述文件相冲突,将对所述文件进行冲突标识后得到的冲突文件确定为同步文件,并将所述同步文件发送给所述服务器。
12.根据权利要求11所述的文件同步方法,其特征在于,所述对未被所述其他终端修改过的所述文件进行同步,包括:
获取所述历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;
检测所述历史内容标识和所述当前内容标识是否相同;
若检测结果为所述历史内容标识与所述当前内容标识不同,则将所述当前文件确定为同步文件,将所述同步文件发送给所述服务器。
13.根据权利要求9或11或12所述的文件同步方法,其特征在于,所述方法还包括:
获取所述同步文件所属的文件目录,将所述文件目录携带在文件修改信息中发送给所述服务器,所述文件修改信息用于所述服务器对同步索引和与所述同步文件所属的文件目录对应的目录索引进行同步。
14.根据权利要求13所述的文件同步方法,其特征在于,
所述文件修改请求还包括新建目录请求和文件目录,以便所述服务器根据所述文件修改请求对所述同步索引和所述目录索引进行修改,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
所述文件修改请求还包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,以便所述服务器根据所述文件修改信息对所述同步索引和所述目录索引进行修改,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
15.一种文件同步服务装置,其特征在于,用于服务器中,所述装置包括:
第一获取模块,用于获取终端最近一次进行文件同步的第一同步标识,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间;
查找模块,用于查找在所述第一获取模块获取到的所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;
第二获取模块,用于获取与所述查找模块查找到的所述文件目录对应的目录索引,所述目录索引用于记录所述文件目录的信息;
反馈模块,用于向所述终端反馈所述第二获取模块获取到的所述目录索引,以便所述终端根据所述目录索引进行文件同步。
16.根据权利要求15所述的文件同步服务装置,其特征在于,所述查找模块,包括:
第一查找单元,用于在所述服务器存储的同步索引中,查找在所述第一同步标识所标识的同步时间之后,由所述服务器根据所述其他终端的最近一次修改生成的第二同步标识;
第二查找单元,用于在所述同步索引中查找与所述第一查找单元查找到的所述第二同步标识对应的所述文件目录,所述同步索引包括所述第二同步标识和与所述第二同步标识对应的文件目录。
17.根据权利要求16所述的文件同步方法,其特征在于,所述装置还包括:
第一接收模块,用于所述反馈模块向所述终端反馈所述目录索引之后,接收所述终端发送的文件修改信息,所述文件修改信息用于对所述同步索引和与同步文件所属的文件目录对应的目录索引进行同步;
修改模块,用于根据所述第一接收模块接收到的所述文件修改信息对所述同步索引进行修改,并根据所述第一接收模块接收到的所述文件修改信息对所述目录索引进行修改。
18.根据权利要求17所述的文件同步服务装置,其特征在于,所述同步文件为所述终端发送的所述终端中存储的当前文件;或,所述同步文件为所述终端对所述终端中存储的当前文件进行冲突标识后发送的冲突文件,所述冲突标识用于标识当前时刻所述终端中存储的当前文件与所述服务器中存储的由所述其他终端修改的文件相冲突。
19.根据权利要求17所述的文件同步服务装置,其特征在于,所述修改模块,包括:
第一修改单元,用于若所述文件修改信息包括所述同步文件所属的文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改;和/或,
第二修改单元,用于若所述文件修改信息包括新建目录请求和文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改,并获取在所述文件目录中新建的文件目录,在所述同步索引中增加所述新建的文件目录和与所述新建的文件目录对应的第二同步标识,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
第三修改单元,用于若所述文件修改信息包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,则对所述同步索引中与所述文件目录对应的第二同步标识进行修改,并在所述同步索引中删除所述待删除的文件目录和与所述待删除文件目录对应的第二同步标识,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
20.根据权利要求17所述的文件同步服务装置,其特征在于,所述修改模块,包括:
第四修改单元,用于若所述文件修改信息包括所述同步文件所属的文件目录,则确定与所述文件目录对应的目录索引,对所述目录索引中所述同步文件的内容标识和文件同步标识进行修改,所述内容标识用于标识所述同步文件的文件内容,所述文件同步标识用于标识所述同步文件的同步时间;和/或,
第五修改单元,用于若所述文件修改信息包括新建目录请求和文件目录,则确定与所述文件目录对应的目录索引,在所述目录索引中增加新建的文件目录,并增加与所述新建的文件目录对应的目录索引,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
第六修改单元,用于若所述文件修改信息包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,则确定与所述文件目录对应的目录索引,在所述目录索引中删除所述待删除的文件目录,并删除与所述待删除的文件目录对应的目录索引,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
21.一种文件同步应用装置,其特征在于,用于终端中,所述装置包括:
第一发送模块,用于向服务器发送所述终端最近一次进行文件同步的第一同步标识,以便所述服务器获取所述终端最近一次进行文件同步的所述第一同步标识;查找在所述第一同步标识所标识的同步时间之后,由除所述终端之外的其他终端修改的文件目录;向所述终端反馈与所述文件目录对应的目录索引,所述第一同步标识用于标识所述终端最近一次进行文件同步的同步时间,所述目录索引用于记录所述文件目录的信息;
第二接收模块,用于接收所述服务器根据所述第一发送模块发送的所述第一同步标识反馈的所述目录索引;
同步模块,用于根据所述第二接收模块接收到的所述目录索引进行文件同步。
22.根据权利要求21所述的文件同步应用装置,其特征在于,所述装置还包括:
第三获取模块,用于所述第一发送模块向服务器发送所述终端最近一次进行文件同步的第一同步标识之前,获取所述终端最近一次进行文件同步时记录的历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;
检测模块,用于检测所述第三获取模块获取到的所述历史内容标识和所述当前内容标识是否相同;
确定模块,用于若所述检测模块检测的结果为所述历史内容标识与所述当前内容标识不同,则确定执行所述向服务器发送所述终端最近一次进行文件同步的第一同步标识的步骤。
23.根据权利要求22所述的文件同步应用装置,其特征在于,所述同步模块,包括:
第一获取单元,用于在所述目录索引中获取文件的文件同步标识,并获取所述历史文件的历史文件同步标识,所述文件同步标识用于标识在所述目录索引中获取的所述文件的同步时间,所述历史文件同步标识用于标识所述历史文件的同步时间;
第一检测单元,用于检测所述第一获取单元获取到的所述文件同步标识与所述历史文件同步标识是否相同;
第一同步单元,用于若所述第一检测单元检测的结果为所述文件同步标识与所述历史文件同步标识相同,则将所述当前文件确定为同步文件,将所述同步文件发送给所述服务器;
第二同步单元,用于若所述第一检测单元检测的结果为所述文件同步标识与所述历史文件同步标识不同,则确定所述当前文件与所述服务器中存储的由所述其他终端修改的文件相冲突,将对所述当前文件进行冲突标识后得到的冲突文件确定为同步文件,并将所述同步文件发送给所述服务器。
24.根据权利要求20所述的文件同步应用装置,其特征在于,所述同步模块,包括:
第二获取单元,用于在所述目录索引中获取文件的文件同步标识,并获取所述终端最近一次进行文件同步时记录的历史文件的历史文件同步标识,所述文件同步标识用于标识在所述目录索引中获取的所述文件的同步时间,所述历史文件同步标识用于标识所述历史文件的同步时间;
第二检测单元,用于检测所述第二获取单元获取到的所述文件同步标识与所述历史文件同步标识是否相同;
第三同步单元,用于若所述第二检测单元检测的结果为所述文件同步标识与所述历史文件同步标识不同,则确定所述文件被所述其他终端修改过,对被所述其他终端修改过的所述文件进行同步;
第四同步单元,用于若所述第二检测单元检测的结果为所述文件同步标识与所述历史文件同步标识相同,则确定所述文件未被所述其他终端修改过,对未被所述其他终端修改过的所述文件进行同步。
25.根据权利要求24所述的文件同步应用装置,其特征在于,所述第三同步单元,用于获取所述历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;检测所述历史内容标识和所述当前内容标识是否相同;若检测结果为所述历史内容标识与所述当前内容标识相同,则从所述服务器中获取修改过的所述文件;若检测结果为所述历史内容标识与所述当前内容标识不同,则确定所述当前文件与修改过的所述文件相冲突,将对所述文件进行冲突标识后得到的冲突文件确定为同步文件,并将所述同步文件发送给所述服务器。
26.根据权利要求25所述的文件同步应用装置,其特征在于,所述第四同步单元,用于获取所述历史文件的历史内容标识,并获取当前时刻所述终端中存储的当前文件的当前内容标识,所述历史内容标识用于标识所述历史文件的文件内容,所述当前内容标识用于标识所述当前文件的文件内容;检测所述历史内容标识和所述当前内容标识是否相同;若检测结果为所述历史内容标识与所述当前内容标识不同,则将所述当前文件确定为同步文件,将所述同步文件发送给所述服务器。
27.根据权利要求23或25或26所述的文件同步应用装置,其特征在于,所述装置还包括:
第二发送模块,用于获取所述同步文件所属的文件目录,将所述文件目录携带在文件修改信息中发送给所述服务器,所述文件修改信息用于所述服务器对同步索引和与所述同步文件所属的文件目录对应的目录索引进行同步。
28.根据权利要求27所述的文件同步应用装置,其特征在于,
所述文件修改请求还包括新建目录请求和文件目录,以便所述服务器根据所述文件修改请求对所述同步索引和所述目录索引进行修改,所述新建目录请求用于在所述文件目录中新建文件目录;和/或,
所述文件修改请求还包括删除目录请求、文件目录和所述文件目录中的待删除的文件目录,以便所述服务器根据所述文件修改信息对所述同步索引和所述目录索引进行修改,所述删除目录请求用于在所述文件目录中删除所述待删除的文件目录。
29.一种服务器,其特征在于,所述服务器包括如权利要求15至20任一所述的文件同步服务装置。
30.一种终端,其特征在于,所述终端包括如权利要求21至28任一所述的文件同步应用装置。
31.一种文件同步系统,其特征在于,所述系统包括如权利要求29所述的服务器和如权利要求30所述的终端;
所述服务器与所述终端之间通过有线网络或无线网络连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310326519.4A CN104348859B (zh) | 2013-07-30 | 2013-07-30 | 文件同步方法、装置、服务器、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310326519.4A CN104348859B (zh) | 2013-07-30 | 2013-07-30 | 文件同步方法、装置、服务器、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104348859A true CN104348859A (zh) | 2015-02-11 |
CN104348859B CN104348859B (zh) | 2019-05-07 |
Family
ID=52503652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310326519.4A Active CN104348859B (zh) | 2013-07-30 | 2013-07-30 | 文件同步方法、装置、服务器、终端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104348859B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021373A (zh) * | 2016-05-11 | 2016-10-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种文件更新方法及装置 |
CN106294860A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种实时索引数据同步的系统及其实现方法 |
WO2018045820A1 (zh) * | 2016-09-07 | 2018-03-15 | 华为技术有限公司 | 一种文件同步的方法、设备及系统 |
CN109428942A (zh) * | 2017-09-05 | 2019-03-05 | 南京南瑞继保电气有限公司 | 一种多现场文件服务系统及文件服务器跨现场同步方法 |
CN110018761A (zh) * | 2018-01-10 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 对最近使用文件进行管理的方法、装置及终端 |
WO2019205348A1 (zh) * | 2018-04-23 | 2019-10-31 | 平安科技(深圳)有限公司 | 文件同步方法、装置、计算机装置及存储介质 |
CN111614743A (zh) * | 2020-05-14 | 2020-09-01 | 深圳华锐金融技术股份有限公司 | 文件检测方法、装置、计算机设备和存储介质 |
US10979501B2 (en) | 2015-09-15 | 2021-04-13 | Microsoft Technology Licensing, Llc | Synchronizing file data between computer systems |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281543A (zh) * | 2008-05-13 | 2008-10-08 | 华为技术有限公司 | 文件同步方法及装置 |
US20090157802A1 (en) * | 2006-01-26 | 2009-06-18 | Huawei Technologies Co., Ltd. | Method and system for data synchronization, and apparatus thereof |
CN101777148A (zh) * | 2010-01-14 | 2010-07-14 | 中国建设银行股份有限公司 | 一种收单商户管理方法、管理系统及商户管理服务端设备 |
CN102638578A (zh) * | 2012-03-29 | 2012-08-15 | 深圳市高正软件有限公司 | 一种基于移动设备的数据同步方法及系统 |
CN103067453A (zh) * | 2012-12-14 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种通讯录共享方法及系统 |
CN103152398A (zh) * | 2013-02-07 | 2013-06-12 | 中国科学院计算技术研究所 | 一种多终端文件间的文件同步方法及系统 |
-
2013
- 2013-07-30 CN CN201310326519.4A patent/CN104348859B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157802A1 (en) * | 2006-01-26 | 2009-06-18 | Huawei Technologies Co., Ltd. | Method and system for data synchronization, and apparatus thereof |
CN101281543A (zh) * | 2008-05-13 | 2008-10-08 | 华为技术有限公司 | 文件同步方法及装置 |
CN101777148A (zh) * | 2010-01-14 | 2010-07-14 | 中国建设银行股份有限公司 | 一种收单商户管理方法、管理系统及商户管理服务端设备 |
CN102638578A (zh) * | 2012-03-29 | 2012-08-15 | 深圳市高正软件有限公司 | 一种基于移动设备的数据同步方法及系统 |
CN103067453A (zh) * | 2012-12-14 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种通讯录共享方法及系统 |
CN103152398A (zh) * | 2013-02-07 | 2013-06-12 | 中国科学院计算技术研究所 | 一种多终端文件间的文件同步方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10979501B2 (en) | 2015-09-15 | 2021-04-13 | Microsoft Technology Licensing, Llc | Synchronizing file data between computer systems |
CN106021373A (zh) * | 2016-05-11 | 2016-10-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种文件更新方法及装置 |
CN106294860A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种实时索引数据同步的系统及其实现方法 |
WO2018045820A1 (zh) * | 2016-09-07 | 2018-03-15 | 华为技术有限公司 | 一种文件同步的方法、设备及系统 |
CN109428942A (zh) * | 2017-09-05 | 2019-03-05 | 南京南瑞继保电气有限公司 | 一种多现场文件服务系统及文件服务器跨现场同步方法 |
CN110018761A (zh) * | 2018-01-10 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 对最近使用文件进行管理的方法、装置及终端 |
CN110018761B (zh) * | 2018-01-10 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 对最近使用文件进行管理的方法、装置及终端 |
WO2019205348A1 (zh) * | 2018-04-23 | 2019-10-31 | 平安科技(深圳)有限公司 | 文件同步方法、装置、计算机装置及存储介质 |
CN111614743A (zh) * | 2020-05-14 | 2020-09-01 | 深圳华锐金融技术股份有限公司 | 文件检测方法、装置、计算机设备和存储介质 |
CN111614743B (zh) * | 2020-05-14 | 2021-08-17 | 深圳华锐金融技术股份有限公司 | 文件检测方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104348859B (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104348859A (zh) | 文件同步方法、装置、服务器、终端及系统 | |
CN102882985B (zh) | 基于云存储的文件共享方法 | |
CN101313495B (zh) | 数据同步方法、系统及装置 | |
CN101160903B (zh) | 一种实现数据同步的方法、系统、客户端及服务器 | |
US20080098042A1 (en) | Method for data synchronization and apparatus thereof | |
US20170031948A1 (en) | File synchronization method, server, and terminal | |
CN107181686B (zh) | 路由表的同步方法、装置及系统 | |
JP2011520189A (ja) | ステートレスなプロトコルを介したドキュメントの同期 | |
CN112445626B (zh) | 一种基于消息中间件的数据处理方法和装置 | |
CN101923571B (zh) | 管理终端数据记录的方法及装置 | |
CN103312489A (zh) | 一种终端与服务器进行同步的方法和装置 | |
CN104079623A (zh) | 多级云存储同步控制方法及系统 | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
CN112866406B (zh) | 一种数据存储方法、系统、装置、设备及存储介质 | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN103092988A (zh) | 一种直接在桌面管理手机媒体资源的实现方法 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN108848180A (zh) | 一种元数据同步方法、装置、设备及可读存储介质 | |
CN110347656B (zh) | 文件存储系统中请求的管理方法和装置 | |
WO2014146448A1 (en) | Method and system for synchronizing browser bookmarks | |
CN104463619A (zh) | 基于ldap的互联网产品目录销售系统及控制方法 | |
CN114422537B (zh) | 多云存储系统、多云数据读写方法及电子设备 | |
CN102932513B (zh) | 一种名片维护方法、装置及设备 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |