论文部分内容阅读
如今随着计算机的发展,数据作为企业的重要资源越来越受到重视,为了防止各种灾难对数据造成的损坏或者摧毁,建立起一个可以保证数据安全和服务连续性的容灾系统具有十分重要的意义。在容灾系统中,当灾难发生后,使用备份数据中心提供的数据可以快速的恢复本地数据中心的数据,保持业务的连续性,将损失降到最低。但如果备份数据与被损坏前的源数据不一致,这就说明备份数据不能用来进行对源数据的恢复,这样就会造成无法挽回的损失。所以,为了确保备份数据在数据恢复时具有高可用性,就需要定期的对源数据和备份数据进行数据一致性检测,数据一致性检测在容灾系统中具有非常重要的作用。现有的一些数据一致性检测技术,要求源数据与备份数据的结构是一致的,对异构的源数据与备份数据考虑不足。本文通过深入学习相关的知识,采用了一种基于网络数据包的数据一致性检测方法。在源数据的发送端和备份数据的接收端,分别使用WinPcap对数据包进行捕获,并采用开辟捕包线程的方法来提高WinPcap的捕包效率。将捕获的数据包进行分析并获取该数据包的数据部分,再对数据部分进行数据分块和数据摘要值的计算。在摘要值计算中,本文选取MD5算法作为基础,并对其进行了改进,以便提高摘要值计算的效率。因为数据一致性检测对摘要算法的效率也有很高的要求。当计算完所有数据块的摘要值后,通过对每个数据块摘要值的比对,完成数据一致性检测,如果摘要值相同,说明源数据与备份数据一致,备份数据可用来进行数据恢复;如果摘要值不同,说明源数据与备份数据不一致,记录下不一致的数据块号,通过重传等其他操作对数据进行修改直到数据一致。通过实验验证了基于网络数据包的数据一致性检测方法的可行性。