文件同步方法及其终端的制作方法

文档序号:7779925阅读:175来源:国知局
文件同步方法及其终端的制作方法
【专利摘要】本发明公开了一种文件同步方法及其终端,包括:终端存储同步文件夹上一次进行文件同步的快照;所述终端向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号;通过云服务器的认证后,所述终端从云服务器获取云端文件列表;从终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失。本发明提供的文件同步方法及其终端能够解决减少云服务器的处理量,提升了文件同步的速度,通过云服务器同步信息的效率更高、改善了用户体验。
【专利说明】文件同步方法及其终端
【技术领域】
[0001]本发明涉及通信【技术领域】,特别是涉及文件同步方法及其终端。
【背景技术】
[0002]伴随着移动互联网的快速发展,以及移动互联网用户的持续增加,一般一份文件要在一种终端上进行查看、修改、保存,在另一种终端上获取文件、查看,用户需要通过数据线链接多个终端,或者通过蓝牙、红外等方式传输共享文件。而云存储则是近几年来与云计算同时兴起的概念,通常对“云存储”的解释是:存储可以作为一种服务,通过网络提供给用户。这样,只要各个终端能联网,就可以保持各终端间的文件同步。因此,利用云存储技术是用户的文件在多个终端保持最新的内容,文件同步是不错的选择。但是目前终端与云服务器进行同步时,云服务器的处理量较大,文件同步速度较慢,尤其是当同步文件较多时,这个问题尤为明显。

【发明内容】

[0003]有鉴于此,本发明的目的在于提出一种文件同步方法及其终端,以解决云服务器处理量过大、文件同步速度较慢的问题,。
[0004]基于上述目的,本发明提供的文件同步方法包括:
[0005]S1、终端存储同步文件夹上一次进行文件同步的快照;
[0006]S2、所述终端向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号;
[0007]S3、通过云服务器的认证后,所述终端从云服务器获取云端文件列表;
[0008]S4、所述终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失;若列表项三方有缺失,则进入步骤5 ;若列表项三方无缺失,则进入步骤6 ;
[0009]S5、执行本地或者云端文件的删除、下载或者上传操作;
[0010]S6、执行本地或者云端文件的更新操作。
[0011]可选地,所述快照是指当云服务器和终端进行同步后,终端获取各同步文件的云端属性和本地属性,并将其转换成一个包含云端属性和本地属性的集合对象。
[0012]较佳地,所述终端和云服务器每进行一次文件同步后,该终端存储同步文件夹中各同步文件的快照。
[0013]可选地,所述执行本地或者云端文件的删除、下载或者上传操作的步骤具体包括:
[0014]如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云%5文件删除;
[0015]如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地;[0016]如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除;
[0017]如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端。
[0018]可选地,所述执行本地或者云端文件的更新操作的步骤具体包括:
[0019]通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步;
[0020]通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
[0021]本发明还提供了一种实现文件同步的终端,包括:
[0022]快照存储单元,用于存储同步文件夹上一次进行文件同步的快照;
[0023]请求单元,用于向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号;
[0024]判断单元,用于当通过云服务器的认证后,从云服务器获取云端文件列表;同时从终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失;若列表项三方有缺失,则由第一同步单元进行处理;若列表项三方有缺失,则由第二同步单元进行处理;
[0025]第一同步单元,用于执行本地或者云端文件的删除、下载或者上传操作;
[0026]第二同步单元,用于执行本地或者云端文件的更新操作。
[0027]可选地,所述终端和云服务器每进行一次文件同步后,该终端的快照存储单元存储同步文件夹中各同步文件的快照。
[0028]可选地,当终端同步文件夹的文件发生变化时,请求单元向云服务器发送文件同步请求,或者每经过一个时间间隔阈值时,请求单元向云服务器发送文件同步请求。
[0029]较佳地,所述第一同步单元,用于如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云端文件删除;
[0030]如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地;
[0031]如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除。
[0032]如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端;
[0033]所述第二同步单元,用于如果三方列表无缺失,通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步;通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
[0034]优选地,所述终端还包括云端文件列表存储单元,用于预先存储同步文件夹上一次进行文件同步的云端文件列表,当云端文件列表发生更新时,终端更新云端文件列表存储单元中存储的云端文件列表。
[0035]从上面所述可以看出,本发明提供的文件同步方法及其终端通过增加快照与本地、云端的对比,避免所有文件都采用文件MD5值来计算,节省了计算时间,加快了同步效率。本发明能够解决减少云服务器的处理量,提升了文件同步的速度,通过云服务器同步信息的效率更高、改善了用户体验。
【专利附图】

【附图说明】
[0036]图1为本发明实施例的文件同步方法的流程图;
[0037]图2为本发明实施例中并列列表的排列示意图;
[0038]图3为本发明实施例实现文件同步的终端的结构框图。
【具体实施方式】
[0039]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0040]参考图1,其为本发明实施例文件同步方法的流程图,所述文件同步方法包括:
[0041]步骤101、终端预先存储同步文件夹上一次进行文件同步的快照。
[0042]其中所述快照是指定对一个文件的所有属性(包含云端和本地)一个完全可用拷贝,该拷贝包括同步文件在完成同步后的映像。当云端和本地进行同步后,终端获取各同步文件的云端属性和本地属性,并将其转换成一个包含云端属性和本地属性的集合对象,这个集合对象就是快照。
[0043]较佳地,云服务器和终端每进行一次文件同步后,终端就会存储同步文件夹中各同步文件的快照。
[0044]步骤102、所述终端向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号。用户通过账号和密码登录客户端,每个用户在客户端对应有属于自己的独立的同步文件夹。可以根据用户设定,触发自动同步文件或者定时同步文件。当本地同步文件夹发生改变需要同步到云端或者是云端的同步文件夹被其他端改变需要同步到本地时,本地终端触发自动同步文件。
[0045]所述终端同云服务器网络连接,所述终端可以是手机、电脑、数码相框、相机等各种数码设备。
[0046]所述云服务器包括云存储管理服务器、云存储读写服务器和云存储空间,所述云存储空间包括云端同步文件夹,该云端同步文件夹用于存储用户的同步文件,所述云存储管理服务器包括云存储空间中存储的文件的地址的文件地址列表,以及注册用户列表、用户终端列表、云端文件列表。所述注册用户列表记录所述云存储服务器用户的信息,所述用户终端列表记录注册和登陆相同用户的终端的信息,所述云端文件列表记录该用户在所述云端同步文件夹中存储的文件的列表。所述云存储读写服务器根据云存储管理服务器的指令和文件地址,对所述云端同步文件夹中的文件执行相应的更新操作。所述更新操作可以包括上传、下载、删除、更新等。
[0047]终端将用户登陆信息和终端信息发送给所述云服务器,所述云服务器接收用户登陆信息和终端信息,并将用户登陆信息和终端信息同注册用户列表和用户终端列表比对,判断所述用户是否是合法用户,判断登陆终端是否是合法终端,若是,则进入步骤103,若否,则工作结束。[0048]步骤103、通过云服务器认证后,所述终端从云服务器获取云端文件列表。
[0049]优选地,终端也可以预先存储同步文件夹上一次进行文件同步的云端文件列表。那么,当云端文件列表发生更新时,终端只需相应地更新终端存储的云端文件列表,无需重新获取云端文件列表,可以缩短终端获取云端文件列表的时间。
[0050]步骤104、所述终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失。若列表项三方有缺失,贝1J进入步骤105 ;若列表项三方无缺失,则进入步骤106。
[0051]所述本地文件列表记录该用户在所述终端的同步文件夹中存储的文件的列表。由于本地预存了同步文件夹上一次进行文件同步的快照,因此快照文件列表记录用户在所述终端的上一次同步后同步文件夹中存储的文件的列表。
[0052]作文本发明的一个实施例,将三方按照如图2所示的并列列表中,第一列为本地文件列表,第二列为快照文件列表,第三列为云端文件列表,三方并列地排列在一个列表中。分别遍历本地文件列表、快照文件列表和云端文件列表的列表项,判断某个文件是否在三方列表中有缺失。例如,判断三方列表中是否都有文件A,可以先遍历本地文件列表,然后遍历快照文件列表,再遍历云端文件列表。结束文件A的缺失判断后,可以继续依次进行文件C、文件D、文件S的缺失判断。当本地文件列表中的所有文件都结束缺失判断后,可以继续进行快照文件列表和云端文件列表的文件缺失判断(文件W、文件E、文件H和文件I )。优选地,列表中的每个文件仅进行一次缺失判断,以避免重复判断,提高对比速度。
[0053]需要说明的是,可以调整三方列表在并列列表中的排列顺序,也可以改变列表项的遍历顺序,并不限于上述实施例。
[0054]步骤105、执行本地或者云端文件的删除、下载或者上传操作。
[0055]具体地,将三方列表放到一个并列列表中,遍历该并列列表的列表项,根据每列的本地、云端和快照的文件数据,对比出该列的操作,如下:
[0056]如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云%5文件删除。
[0057]如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地。
[0058]如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除。
[0059]如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端。
[0060]如果快照不存在,亦即终端没有同云服务器进行过文件同步,无法形成三方列表,则执行云端文件下载操作。
[0061]步骤106、执行本地或者云端文件的更新操作。
[0062]具体地,在上述列表中,如果三方列表无缺失,通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步;通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
[0063]优选地,当终端后台更新需要同步的文件时,同时将更新过程显示到UI层。[0064]步骤107、终端存储同步文件夹完成本次文件同步后的快照。
[0065]作为本发明的一个较佳实施例,当完成本次文件同步后,终端存储同步文件夹完成本次文件同步后的快照,以便终端同云服务器进行下一次文件同步时获取快照文件列表。
[0066]在本实施例中,服务器端的文件同步到客户端的同步文件夹中以及客户端同步文件夹中的文件同步到服务器端均采用断点续传同步和文件分片传输机制。由于采用文件分片传输,当上传经修改的文件时,会对文件分片进行上传传输。同时由于断点续传机制,当用户没有对该片文件进行修改,会触发秒传操作。这样只上传修改的分片,有利于加速上传并减少流量使用。
[0067]通过本发明上述实施例的文件同步方法,本发明还提供了一种实现文件同步的终端,如图3所示,所述终端包括:
[0068]快照存储单元301,用于存储同步文件夹上一次进行文件同步的快照。具体如上述实施例所述。
[0069]所述快照是指当云服务器和终端进行同步后,终端获取各同步文件的云端属性和本地属性,并将其转换成一个包含云端属性和本地属性的集合对象。优选地,所述终端和云服务器每进行一次文件同步后,该终端的快照存储单元301存储同步文件夹中各同步文件的快照。
[0070]请求单元302,用于向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号。具体如上述实施例所述。
[0071]可以根据用户设定,触发自动同步文件或者定时同步文件。可以设定当终端同步文件夹的文件发生变化时,请求单元302立即触发自动同步文件,即请求单元302立即向云服务器发送文件同步请求。也可以根据用户需要设定时间间隔阈值,每经过一个时间间隔阈值时,请求单元302便立即向云服务器发送文件同步请求。
[0072]判断单元303,用于当通过云服务器的认证后,从云服务器获取云端文件列表;同时从终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失;若列表项三方有缺失,则由第一同步单元304进行处理;若列表项三方有缺失,则由第二同步单元305进行处理。具体如上述实施例所述。
[0073]优选地,所述终端还包括云端文件列表存储单元306,用于预先存储同步文件夹上一次进行文件同步的云端文件列表。当云端文件列表发生更新时,终端只需相应地更新云端文件列表存储单元306中存储的云端文件列表,无需重新获取云端文件列表,可以缩短终端获取云端文件列表的时间。
[0074]第一同步单元304、用于执行本地或者云端文件的删除、下载或者上传操作。具体如上述实施例所述。
[0075]具体地,将三方列表放到一个并列列表中,遍历该并列列表的列表项,根据每列的本地、云端和快照的文件数据,对比出该列的操作,如下:
[0076]如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云%5文件删除。
[0077]如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地。
[0078]如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除。
[0079]如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端。
[0080]如果快照不存在,亦即终端没有同云服务器进行过文件同步,则执行云端文件下载操作。
[0081]第二同步单元305、用于执行本地或者云端文件的更新操作。具体如上述实施例所述。
[0082]具体地,在上述列表中,如果三方列表无缺失,通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步;通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
[0083]如上所述,本发明提供的文件同步方法及其终端通过增加快照与本地、云端的对t匕,避免所有文件都采用文件MD5值来计算,节省了计算时间,加快了同步效率。本发明能够解决减少云服务器的处理量,提升了文件同步的速度,通过云服务器同步信息的效率更高、改善了用户体验。
[0084]所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种文件同步方法,其特征在于,包括: 51、终端存储同步文件夹上一次进行文件同步的快照; 52、所述终端向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号; 53、通过云服务器的认证后,所述终端从云服务器获取云端文件列表; 54、所述终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失;若列表项三方有缺失,则进入步骤5 ;若列表项三方无缺失,则进入步骤6 ; 55、执行本地或者云端文件的删除、下载或者上传操作; 56、执行本地或者云端文件的更新操作。
2.根据权利要求1所述的文件同步方法,其特征在于,所述快照是指当云服务器和终端进行同步后,终端获取各同步文件的云端属性和本地属性,并将其转换成一个包含云端属性和本地属性的集合对象。
3.根据权利要求2所述的文件同步方法,其特征`在于,所述终端和云服务器每进行一次文件同步后,该终端存储同步文件夹中各同步文件的快照。
4.根据权利要求1所述的文件同步方法,其特征在于,所述执行本地或者云端文件的删除、下载或者上传操作的步骤具体包括: 如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云端文件删除; 如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地; 如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除; 如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端。
5.根据权利要求1所述的文件同步方法,其特征在于,所述执行本地或者云端文件的更新操作的步骤具体包括: 通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步; 通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
6.一种实现文件同步的终端,其特征在于,所述终端包括: 快照存储单元,用于存储同步文件夹上一次进行文件同步的快照; 请求单元,用于向云服务器发送文件同步请求,其中所述同步请求中携带有该终端的标识、该终端与云服务器进行文件同步的同步账号; 判断单元,用于当通过云服务器的认证后,从云服务器获取云端文件列表;同时从终端获取本地文件列表和快照文件列表,根据路径将三方列表放到一个并列列表中,遍历该并列列表的列表项,判断三方有无缺失;若列表项三方有缺失,则由第一同步单元进行处理;若列表项三方有缺失,则由第二同步单元进行处理;第一同步单元,用于执行本地或者云端文件的删除、下载或者上传操作; 第二同步单元,用于执行本地或者云端文件的更新操作。
7.根据权利要求6所述的实现文件同步的终端,其特征在于,所述终端和云服务器每进行一次文件同步后,该终端的快照存储单元存储同步文件夹中各同步文件的快照。
8.根据权利要求6所述的实现文件同步的终端,其特征在于,当终端同步文件夹的文件发生变化时,请求单元向云服务器发送文件同步请求,或者每经过一个时间间隔阈值时,请求单元向云服务器发送文件同步请求。
9.根据权利要求6所述的实现文件同步的终端,其特征在于,所述第一同步单元,用于如果本地文件数据项不存在,快照文件记录项存在,云端文件数据项存在,则将云端文件删除; 如果本地文件数据项不存在,快照文件记录项不存在,云端文件数据项存在,则将云端文件下载至本地; 如果云端文件数据项不存在,快照文件记录项存在,本地文件数据项存在,则将本地文件删除。 如果云端文件数据项不存在,快照文件记录项不存在,本地文件数据项存在,则将本地文件上传至云端; 所述第二同步单元,用于如果三方列表无缺失,通过本地与快照的文件路径和MD5值对比,判断本地文件的内容是否发生改变,如果是,将云端文件更新,使其与本地文件同步;通过云端与快照的文件路径和MD5值对比,判断云端文件的内容是否发生改变,如果是,则将本地文件更新,使其与云端文件同步。
10.根据权利要求6所述的实现文件同步的终端,其特征在于,所述终端还包括云端文件列表存储单元,用于预先存储同步文件夹上一次进行文件同步的云端文件列表,当云端文件列表发生更新时,终端更新云端文件列表存储单元中存储的云端文件列表。
【文档编号】H04L29/08GK103634406SQ201310674444
【公开日】2014年3月12日 申请日期:2013年12月11日 优先权日:2013年12月11日
【发明者】刘畅, 樊世彬 申请人:北京荣之联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1