一种文件同步方法及装置的制造方法

文档序号:9931359阅读:404来源:国知局
一种文件同步方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种文件同步方法及装置。
【背景技术】
[0002]近年来,随着基于云服务的同步文件方法的流行,越来越多的人通过这些简便的服务来上传个人文件、同步装置和分享内容,这种广泛流行的服务也更加吸引了各式各样的供应商积极加入到云存储市场。Dropbox、OneDrive和GoogleDrive这些服务在人们的日常生活中已经非常普遍,OneDrive已经服务了 2亿用户、上传了 14PB数据量,每天有I亿的用户用Dropbox上传或更新10亿文件等。这些应用是数据集中型,随着使用量的增加,它们会产生非常大的网络流量。Dropbox已经占了大约4%的网络流量,为YouTube (全世界最大的视频网站)产生流量的1/3。
[0003]数据同步是个人云存储服务的一个主要特征,客户端通过网络交互自动的向云端更新本地的文件状态从而实现云端数据的更新。同步效率、网络流量开销也是一个用于测量云存储服务性能的指标。近年来,很多研究工作围绕着降低个人云存储的网络开销展开。
[0004]随着个人云存储服务更广泛的应用、上传的文件量越来越多,不可避免的产生了更多的网络流量。在有限的网络带宽条件下,网络流量成为了人们更加广泛的使用这些应用的一大障碍。
[0005]目前采用增量编码方式,可以在客户端数据发生改变时,仅将客户端和服务器之间不同之处传至服务器端,减少传输流量。但这种方式只适合同步已完成的文件发生改变的情况,而对于在同步的文件发生修改时,由于在同步的文件尚未在服务器端形成索引,无法通过现有增量编码方式来减少网络流量。
[0006]现有技术不足在于:
[0007]虽然现有方案可以在一定程度上降低了网络流量,但是对于在同步的文件发生修改的情况仍然无法降低网络流量的开销,对应用性能、用户体验造成很大的影响。

【发明内容】

[0008]本发明实施例提出了一种文件同步方法及装置,解决了现有技术中在同步的文件发生修改时无法根据服务器确定文件的不同之处,只能将修改后的整个文件重新上传导致网络流量较大的技术问题。
[0009]本发明实施例提供了一种文件同步方法,包括如下步骤:
[0010]确定在同步的文件,同步的文件是将置于本地缓存中通过网络上传到云端服务器的文件;
[0011]在确定同步的文件发生修改后,确定该同步的文件是否已经上传成功;
[0012]若未上传成功,则将修改后的文件与置于本地缓存中上传云端服务器的文件比较,将文件不同的部分置于本地缓存中通过网络上传到云端服务器;
[0013]若上传成功,则将修改后的文件与已上传云端服务器的文件比较,将文件不同的部分置于本地缓存中通过网络上传到云端服务器。
[0014]本发明实施例提供了一种文件同步装置,包括:
[0015]同步文件确定模块,用于确定在同步的文件,同步的文件是将置于本地缓存中通过网络上传到云端服务器的文件;
[0016]上传状态确定模块,用于在确定同步的文件发生修改后,确定该同步的文件是否已经上传成功;
[0017]上传模块,用于若未上传成功,则将修改后的文件与置于本地缓存中上传云端服务器的文件比较,将文件不同的部分置于本地缓存中通过网络上传到云端服务器;若上传成功,则将修改后的文件与已上传云端服务器的文件比较,将文件不同的部分置于本地缓存中通过网络上传到云端服务器。
[0018]有益效果如下:
[0019]针对目前在同步的文件发生改变时所带来的网络流量较大的问题,本发明实施例通过确定在同步的文件,该同步的文件是将置于本地缓存中通过网络上传到云端服务器的文件;当该文件发生修改后,确定其是否已经上传成功;如果没有上传成功,则将修改后的文件与置于本地缓存中上传云端服务器的文件比较,如果上传成功,则将修改后的文件与已上传云端服务器的文件比较,最后将文件不同的部分置于本地缓存中通过网络上传到云端服务器;由于本发明实施例所提供的技术方案当同步的文件发生修改时,增加了确定该文件是否已经上传成功的判断步骤,仅将文件不同的部分上传到云端服务器,而不是将整个文件重新上传,从而解决了现有技术中相同数据重复上传的问题,减少了网络流量。
【附图说明】
[0020]下面将参照附图描述本发明的具体实施例,其中:
[0021]图1示出了本发明实施例中文件同步场景的示意性框图;
[0022]图2示出了本发明实施例中文件同步方法实施的流程示意图;
[0023]图3示出了本发明实施例中文件同步装置的结构示意图;
[0024]图4示出了本发明实施例中文件同步实例的流程示意图。
【具体实施方式】
[0025]为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
[0026]发明人在发明过程中注意到:
[0027]很多云存储都执行了切块(Chunking)、捆绑(Bundling)、冗余消除(Deduplicat1n)、增量编码(Delta encoding)和压缩(Compress1n)等方案来优化存储性能。
[0028]其中,增量编码的原理是:在客户端和服务器端有对整个文件的索引(Index),在控制存储器端一直监视客户端的数据。一旦检测到客户端数据发生改变,即识别出两个副本之间不同之处,客户端只将文本中变动的地方传输到服务器端,而不需要将原始的整个文件重新传送。这种方式大大减少了传输过程中需要传送的数据量,从而降低网络开销。
[0029]然而现有方案却还是远远没有达到满意状态,当正在上传至同步文件夹中的文件发生改变时,服务器端并没有此文件的索引,因此增量编码也就无法执行。最后当服务器端检测到改变发生时,客户端再上传原始的和经过改变的数据块,这样会使同步流量加倍。虽然执行了增量编码,但在一些情况下仍然无法降低网络流量的开销。对于网络流量敏感的用户,数据同步占的流量开销比较大,会对应用性能、用户体验造成很大的影响。
[0030]针对上述不足,本发明实施例提出了一种文件同步方法及装置,在保证应用性能的前提下进行网络流量优化,减少不必要的网络流量。下面进行说明。
[0031]本发明实施例在内存中设置了本地缓存(Cache),通过在本地磁盘和云端服务器之间增加本地缓存,来作为本地磁盘与云端服务器的中间媒介,数据均通过本地缓存同步到云端服务器。
[0032]图1示出了本发明实施例文件同步场景的示意性框图,如图所示,整个同步过程可以由以下几个部分组成:
[0033]本地磁盘,作为同步文件夹和文件修改的载体;
[0034]本地缓存,是本地磁盘数据上传同步文件夹的媒介,文件不是直接和云端进行交互,都是需要将其放入本地缓存中,再通过本地缓存上传至云端服务器;
[0035]同步文件夹,是本地和云端共同维护的文件夹,位于本地磁盘
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1