论文摘要
随着计算机技术的日臻成熟,越来越多的关键数据被存储在计算机系统中,因此数据的安全性至关重要。近年来,容灾尤其是跨网络远距离容灾得到了业内人士越来越多的重视和认可。本文在对基于数据流的无结构容灾技术进行深入研究的基础上,提出了一套在Linux平台下、与结构无关的、可由第三方承担实现的数据流容灾系统的原型设计方案。该方案面向网络通信中的客户端/服务器模式,对一般容灾技术所涉及的三个重要方面——备份、存储和恢复——用数据流容灾的思想进行了详细的阐述,并对每个部分提出了可行的措施。主要的研究内容包括:通过网络数据流的本地劫持与复制实现客户端发往服务器的单向数据流的备份;根据数据流的特点设计高效的、适合动态插入和选择性抽取的索引结构与相关算法;研究数据流的回放技术,实现回放顺序与原始数据变化顺序完全一致。本文提出了在Linux内核空间利用Netfilter框架劫持数据包并在用户空间保存和重发数据包的办法,实现了网络速度对于备份系统硬件性能的自适应,从根本上消除了丢包对数据流备份准确性的影响;同时,数据流回放也基于上述这种思想,采用了在内核空间用Netfilter接收服务器的回应包并在用户空间读取和修改备份数据包,然后发送给服务器的策略,成功的对原始通信过程进行了再现,保证了数据的正确恢复;另外,在备份数据流的存储方面,本文选择了实时顺序备份数据流、异步为备份数据流建立索引的方法。根据数据流的特征,为其量身定制了类B+树的分层索引结构——数据流生成树,以及相应的插入和抽取算法,在索引的快速建立和选择性抽取方面都具有很高的效率。