The invention provides a parallel data difference method comprises the following steps: (1) file pretreatment: source file and the target file initialization, suffix array to generate source files, create a patch file and initialize; (2) the target file segmentation: according to the number of threads cut the target file for each part of the target document segmentation after adding a thread to be processed independently; (3) threading process: in each thread, segmentation of the target file initialization, create a patch file, the suffix array comparison files to generate differential data, the differential data is written to the patch file; (4) the main process combined treatment: the thread has been written into the differential data patch file to the patch file. This method uses multithreading parallel technology to improve the speed of patch generation.
【技术实现步骤摘要】
一种并行的数据差分方法
本专利技术涉及计算机信息
,具体涉及一种并行的数据差分方法。
技术介绍
随着互联网时代的到来,数据总量增长迅速,数据压缩在数据传输和存储中起到重要作用。数据差分也是一种压缩技术,其利用源文件和目标文件的差异实现对目标文件的压缩和解压。数据差分是指通过比较源数据和目标数据的差异,并产生差分数据补丁。同时利用差分数据补丁和源数据可以还原目标数据,从而帮助减少磁盘或宽带等资源消耗。数据差分技术主要应用在软件更新、数据传输和数据备份等具有对比性质的数据处理中。例如,在软件更新中,可以通过产生两个版本的差分文件来更新软件,减少了宽带资源消耗。形式上,一个数据差分算法如图1和图2所示,需要输入源数据和目标数据,通过源数据和目标数据的对比,产生差分数据,用于记录两个数据间的差异;并且通过差分数据和源数据可以无损还原目标数据。目前常用的差分算法有Diff算法、Rsync算法、Xdelta算法和Bsdiff算法等。Diff是一个文件比较工具,用来输出两个文件之间的差异。它通常是用来显示一个版本的文件和以前版本的文件之间的变化。该方法能很好地处理文本文件,因为文本文件的变化往往是局部的:从一个版本到下一个版本的变化可能是只有几行,但是大部分行将保持不变。然而这种方法不适合用在可执行文件上,因为当可执行文件改变时,通常会导致大范围的改变。Rsync是类Unix系统下的数据镜像备份公户RemoteSync,该算法不需要两个文件在同一台机器上,会先找出目标文件和源文件中相同的部分,只将那些认为不相同的数据同步过去。由于在第一次同步时Rsync会复制全部 ...
【技术保护点】
一种并行的数据差分方法,步骤包括:(1)文件预处理:将源文件和目标文件初始化,生成源文件的后缀数组,创建补丁文件并初始化;(2)目标文件切分:根据线程数目切分目标文件,为切分后的每一部分目标文件增加一个线程进行独立处理;(3)线程处理过程:在每一线程中,初始化切分后的目标文件,创建patch文件,通过上述后缀数组比较源文件与目标文件生成差分数据,将该差分数据写入该patch文件;(4)主进程合并处理:将上述各线程的已写入差分数据的patch文件一起写入上述补丁文件。
【技术特征摘要】
1.一种并行的数据差分方法,步骤包括:(1)文件预处理:将源文件和目标文件初始化,生成源文件的后缀数组,创建补丁文件并初始化;(2)目标文件切分:根据线程数目切分目标文件,为切分后的每一部分目标文件增加一个线程进行独立处理;(3)线程处理过程:在每一线程中,初始化切分后的目标文件,创建patch文件,通过上述后缀数组比较源文件与目标文件生成差分数据,将该差分数据写入该patch文件;(4)主进程合并处理:将上述各线程的已写入差分数据的patch文件一起写入上述补丁文件。2.根据权利要求1所述的方法,其特征在于,将源文件和目标文件初始化是指,为源文件和目标文件分配内存空间,将源文件和目标文件读入内存中,记录该两个文件大小。3.根据权利要求1所述的方法,其特征在于,初始化的补丁文件所含信息包...
【专利技术属性】
技术研发人员:刘燕兵,卢毓海,王歧,张春燕,谭建龙,郭莉,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。