论文部分内容阅读
远程文件同步技术关注于在低带宽网络环境下位于两个不同机器上的相似文件如何有效地实现一致的问题。远程文件同步问题出现在许多应用场合,例如,分布式网络环境下的软件版本更新、在不同机器和设备上的个人文件同步,移动计算等等。更一般地说,在当前许多基于网络的应用中文件都被大范围复制,频繁修改,这些场合都需要应用到远程文件同步技术。传统的远程文件同步算法包括基于滑动块技术的文件同步算法、基于可变大小切块的文件同步算法、基于固定大小切块的同步算法以及多轮文件同步算法。这些算法存在着带宽利用率不高或者计算复杂度太高而实现难度大的缺点,本文在这些算法的基础上,提出了一种两轮远程文件同步算法Tpsync,通过不同数据集下的大量文件同步实验,实验结果表明,Tpsync的网络带宽开销比Linux下的著名开源文件同步软件Rsync降低了12%,且同步时间减少了18.9%。本文的另外一个贡献在于对当前存在的主流文件同步算法的性能进行了一个较为详尽的实验对比和分析,评估的对象包括不同文件同步算法的网络带宽占用率、CPU开销以及内存开销,评估的结果可以给用户提供一个指导,在不同的应用场合下采用最合适的文件同步算法可以获得最大效率的同步性能。本文首先介绍了远程文件同步技术的研究与发展现状,并介绍了本课题所研究内容的相关基础理论知识。然后对当前存在的几类远程文件同步算法进行了一个分析与总结,并给出了给自的优缺点。随后提出了改进的两轮文件同步算法Tpsync,介绍了该算法的研究背景以及算法的基本原理和算法描述。接着本文介绍了Tpsync原型的实现过程,并将它与Rsync在不同数据集下进行了大量的文件同步测试实验,随后本文通过大量的实验来评估当前存在的几类远程文件同步算法之间的性能差异,并对实验结果进行总结和分析。最后对本课题的研究进行总结与展望。