对压缩文件进行差异同步的系统及方法技术方案

技术编号:15690996 阅读:56 留言:0更新日期:2017-06-24 03:50
本发明专利技术公开了一种对压缩文件进行差异同步的系统及方法,涉及文件差异同步技术领域。该系统包括目标端、源端,目标端从目标压缩文件中提取目标清单文件,将目标清单文件发送给源端;源端收到目标清单文件后,从源压缩文件中读取源清单文件,如果源清单文件和目标清单文件之间存在差异,则生成差异清单文件;目标端从源端获取差异清单文件和目标压缩文件需要新增替换的差异数据,将差异清单文件合并到目标清单文件中,对目标压缩文件进行修改。本发明专利技术为压缩文件提供了一种快速差异比较和精准获得差异内容的差异同步方法,进而提高压缩文件的差异同步效率,适用于加密压缩文件。

System and method for differential synchronization of compressed files

The invention discloses a system and a method for differential synchronization of compressed files, relating to the technical field of file differential synchronization. The system includes target, source, target extraction target list file from the target file, send the file to the target list source; the source receives target list file, read the source file from the source list in the compressed file, if the source file and the target list of the list of differences, differences are generated the list of documents; data acquisition end goal difference difference list file and the target from the source file compression needs new replacement, the difference list files into the target list file, modify the target file compression. The invention provides a differential synchronization method for fast differential comparison and accurate acquisition of differential content for compressed files, thereby improving the differential synchronization efficiency of compressed files, and is suitable for encrypting compressed files.

【技术实现步骤摘要】
对压缩文件进行差异同步的系统及方法
本专利技术涉及文件差异同步
,具体涉及一种对压缩文件进行差异同步的系统及方法。
技术介绍
目前,在对两个文件进行差异同步时,一般采用分块校验算法,例如rsync(remotesynchronize,远程同步)算法。rsync类算法的原理是将需要进行同步的目标文件和源文件按一定大小进行分块,循环校验计算出差异内容。这种算法对于小文件,或者差异部分较小的情况适用,对于压缩文件,尤其是加密处理后的压缩文件并不适用。加密处理的压缩文件,即使目标文件和源文件二者之间的差异部分较小,由于经过了加密、压缩处理,当采用分块校验算法进行差异同步时,计算时间也会非常长,这是因为对于压缩文件而言,即使只修改很小的内容,加密处理后两个文件字节上的差异非常大。同时,分块校验算法生成的差异文件内容几乎与原始文件同等大小,由于需要传输的信息较多,导致占用大量的存储空间。综上所述,一般的分块校验算法在用于压缩文件的差异同步时,同步效率低,还需要占用大量的存储空间。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种对压缩文件进行差异同步的系统及方法,本专利技术为压缩文件提供了一种快速差异比较和精准获得差异内容的差异同步方法,进而提高压缩文件的差异同步效率,适用于加密压缩文件。本专利技术提供一种对压缩文件进行差异同步的系统,该系统包括目标端、源端,所述目标端存储有目标压缩文件,所述源端存储有源压缩文件,所述目标压缩文件包括目标清单文件,所述源压缩文件包括源清单文件;目标端从目标压缩文件中提取目标清单文件,将目标清单文件发送给源端;源端收到目标清单文件后,从源压缩文件中读取源清单文件,判断源清单文件和目标清单文件之间是否存在差异,如果源清单文件和目标清单文件之间不存在差异,同步结束;如果源清单文件和目标清单文件之间存在差异,则生成差异清单文件,所述差异清单文件用于记录目标压缩文件与源压缩文件之间的差异;源端根据差异清单文件,从源压缩文件中提取出目标压缩文件需要新增替换的差异数据;目标端从源端获取差异清单文件和目标压缩文件需要新增替换的差异数据,将差异清单文件合并到目标清单文件中,对目标压缩文件进行修改,同步结束。在上述技术方案的基础上,所述源端还将所述差异清单文件和目标压缩文件需要新增替换的差异数据压缩打包,形成一个同步文件包,将所述同步文件包发送给目标端;所述目标端收到所述同步文件包后,解压得到差异清单文件和目标压缩文件需要新增替换的差异数据。在上述技术方案的基础上,所述差异清单文件包括三类描述信息,所述三类描述信息分别为目标压缩文件需要新增、替换、删减的差异数据所对应的描述信息。在上述技术方案的基础上,所述目标端将差异清单文件合并到目标清单文件中时,所述目标端根据差异清单文件中的三类描述信息,对目标清单文件中相对应的描述信息进行新增、替换、删减操作;所述目标端对目标压缩文件进行修改时,所述目标端根据差异清单文件中的三类描述信息,将需要新增替换的差异数据合并到目标压缩文件中,对目标压缩文件中需要删减的差异数据进行删减。在上述技术方案的基础上,所述目标端为客户端时,所述源端为服务器端;所述目标端为服务器端时,所述源端为客户端。本专利技术还提供一种应用于上述系统的对压缩文件进行差异同步的方法,包括以下步骤:A、目标端从目标压缩文件中提取目标清单文件,将目标清单文件发送给源端;B、源端收到目标清单文件后,从源压缩文件中读取源清单文件,判断源清单文件和目标清单文件之间是否存在差异,如果源清单文件和目标清单文件之间不存在差异,同步结束;如果源清单文件和目标清单文件之间存在差异,则生成差异清单文件,所述差异清单文件用于记录目标压缩文件与源压缩文件之间的差异;源端根据差异清单文件,从源压缩文件中提取出目标压缩文件需要新增替换的差异数据;C、目标端从源端获取差异清单文件和目标压缩文件需要新增替换的差异数据,将差异清单文件合并到目标清单文件中,对目标压缩文件进行修改,同步结束。在上述技术方案的基础上,步骤C还包括以下过程:所述源端将所述差异清单文件和目标压缩文件需要新增替换的差异数据压缩打包,形成一个同步文件包,将所述同步文件包发送给目标端;目标端收到所述同步文件包后,解压得到差异清单文件和目标压缩文件需要新增替换的差异数据。在上述技术方案的基础上,所述差异清单文件包括三类描述信息,所述三类描述信息分别为目标压缩文件需要新增、替换、删减的差异数据所对应的描述信息。在上述技术方案的基础上,步骤C中,所述目标端将差异清单文件合并到目标清单文件中的过程为:所述目标端根据差异清单文件中的三类描述信息,对目标清单文件中相对应的描述信息进行新增、替换、删减操作;所述目标端对目标压缩文件进行修改的过程为:所述目标端根据差异清单文件中的三类描述信息,将需要新增替换的差异数据合并到目标压缩文件中,对目标压缩文件中需要删减的差异数据进行删减。在上述技术方案的基础上,所述目标端为客户端时,所述源端为服务器端;所述目标端为服务器端时,所述源端为客户端。与现有技术相比,本专利技术的优点如下:本专利技术实施的前提条件是:进行同步的源压缩文件和目标压缩文件内部各包含有一份描述性的清单文件,用于记录内部文件的文件名、相对路径和MD5特征码。本专利技术通过比较目标端的目标清单文件与源端的源清单文件的差异,生成差异清单文件,得到差异数据,再将差异数据和差异清单文件打包发送给目标端;目标端根据差异清单文件,修改目标压缩文件。本专利技术通过源清单文件描述源压缩文件的内部组织结构和文件特征,通过目标清单文件描述目标压缩文件的内部组织结构和文件特征,从而能够很快比较出同步源端和目标端的压缩文件是否存在差异,定位到差异数据,且生成的差异数据大小远小于原始文件。因此,本专利技术同步效率高、传输信息少,不需要占用大量的存储空间。附图说明图1是本专利技术实施例中对压缩文件进行差异同步的流程图;图2是本专利技术实施例中目标压缩文件或者源压缩文件的示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。本专利技术实施例提供一种对压缩文件进行差异同步的系统,该系统包括目标端、源端,目标端存储有目标压缩文件dst.edux,源端存储有源压缩文件src.edux,目标压缩文件dst.edux包括目标清单文件manifest1.xml,源压缩文件src.edux包括源清单文件manifest0.xml;该系统中,目标端为客户端时,源端为服务器端;目标端为服务器端时,源端为客户端。参见图1所示,本专利技术实施例还提供一种应用于上述系统的对压缩文件进行差异同步的方法,包括以下步骤:S1、目标端从dst.edux中提取manifest1.xml,将manifest1.xml发送给源端;目标端为客户端时,源端为服务器端;目标端为服务器端时,源端为客户端;S2、源端收到manifest1.xml后,从src.edux中读取manifest0.xml;S3、源端判断manifest0.xml和manifest1.xml之间是否存在差异,如果manifest0.xml和manifest1.xml之间不存在差异,同步结束;S4、如果manifest0.xml和manifest1.xml之间存在差异,则本文档来自技高网...
对压缩文件进行差异同步的系统及方法

【技术保护点】
一种对压缩文件进行差异同步的系统,其特征在于:该系统包括目标端、源端,所述目标端存储有目标压缩文件,所述源端存储有源压缩文件,所述目标压缩文件包括目标清单文件,所述源压缩文件包括源清单文件;目标端从目标压缩文件中提取目标清单文件,将目标清单文件发送给源端;源端收到目标清单文件后,从源压缩文件中读取源清单文件,判断源清单文件和目标清单文件之间是否存在差异,如果源清单文件和目标清单文件之间不存在差异,同步结束;如果源清单文件和目标清单文件之间存在差异,则生成差异清单文件,所述差异清单文件用于记录目标压缩文件与源压缩文件之间的差异;源端根据差异清单文件,从源压缩文件中提取出目标压缩文件需要新增替换的差异数据;目标端从源端获取差异清单文件和目标压缩文件需要新增替换的差异数据,将差异清单文件合并到目标清单文件中,对目标压缩文件进行修改,同步结束。

【技术特征摘要】
1.一种对压缩文件进行差异同步的系统,其特征在于:该系统包括目标端、源端,所述目标端存储有目标压缩文件,所述源端存储有源压缩文件,所述目标压缩文件包括目标清单文件,所述源压缩文件包括源清单文件;目标端从目标压缩文件中提取目标清单文件,将目标清单文件发送给源端;源端收到目标清单文件后,从源压缩文件中读取源清单文件,判断源清单文件和目标清单文件之间是否存在差异,如果源清单文件和目标清单文件之间不存在差异,同步结束;如果源清单文件和目标清单文件之间存在差异,则生成差异清单文件,所述差异清单文件用于记录目标压缩文件与源压缩文件之间的差异;源端根据差异清单文件,从源压缩文件中提取出目标压缩文件需要新增替换的差异数据;目标端从源端获取差异清单文件和目标压缩文件需要新增替换的差异数据,将差异清单文件合并到目标清单文件中,对目标压缩文件进行修改,同步结束。2.如权利要求1所述的对压缩文件进行差异同步的系统,其特征在于:所述源端还将所述差异清单文件和目标压缩文件需要新增替换的差异数据压缩打包,形成一个同步文件包,将所述同步文件包发送给目标端;所述目标端收到所述同步文件包后,解压得到差异清单文件和目标压缩文件需要新增替换的差异数据。3.如权利要求1所述的对压缩文件进行差异同步的系统,其特征在于:所述差异清单文件包括三类描述信息,所述三类描述信息分别为目标压缩文件需要新增、替换、删减的差异数据所对应的描述信息。4.如权利要求3所述的对压缩文件进行差异同步的系统,其特征在于:所述目标端将差异清单文件合并到目标清单文件中时,所述目标端根据差异清单文件中的三类描述信息,对目标清单文件中相对应的描述信息进行新增、替换、删减操作;所述目标端对目标压缩文件进行修改时,所述目标端根据差异清单文件中的三类描述信息,将需要新增替换的差异数据合并到目标压缩文件中,对目标压缩文件中需要删减的差异数据进行删减。5.如权利要求1所述的对压缩文件进行差异同步的系统,其特征在于:所述目标端为客户端时,所述源端为服务器端;所述目标端为服务...

【专利技术属性】
技术研发人员:戴有勇
申请(专利权)人:武汉天喻教育科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1