论文部分内容阅读
随着计算机技术的迅猛发展和电子技术的高速发展,个人电脑的价格也越来越低廉,应用也越来越普及。Windows系列操作系统在个人电脑上有非常高的市场占有率。在Windows上运行的软件不计其数,文件操作非常频繁,所以本文研究了一种文件监控系统,可以监控文件的IO操作。我们不仅可以通过这些IO操作,对文件系统有更深入的学习和研究,还可以利用这些IO操作恢复文件。本文首先介绍了Windows系统的总体框架,研究了一些重要的管理器。然后介绍了Windows驱动开发的工具——WDK。WDK中包含了驱动开发的头文件、库文件、文档和代码。接着分析了文件监控的三种方法:第一种是利用Windows提供的函数。该方法的优势是实现简单,缺点是不能获取IO操作的内容;第二种是利用钩子技术。该方法实现上比前一种方法复杂,但能够获取IO操作的内容。由于文件操作涉及到的函数很多,所以该方法的缺点是工作量大,不易于扩展,容易丢失IO操作;第三种是利用文件过滤驱动,该方法捕捉文件IO操作完整、准确,但是实现难度较大。接着本文深入地研究了文件过滤驱动的原理和实现。最后,本文分析了文件恢复技术的发展以及各种技术之间的优劣。结合上面的理论研究,本文设计并实现了一个基于文件过滤驱动的文件监控系统。该系统首先实现了文件过滤驱动,通过该文件过滤驱动捕捉文件的IO操作。该系统能够远程保存这些IO操作,提供给用户查询和使用。在文件监控系统的应用上,本文利用远程存储的文件IO操作,对丢失的文件进行恢复。由于该系统保存了监控文件的所有写操作,当需要恢复文件的时候,该系统从远程读取需要的写操作的内容,然后组合成恢复文件的内容,最后存入在磁盘中,从而达到恢复文件的目的。该系统在驱动级捕捉IO操作,所以能够完整的、准确的记录IO操作。该系统远程保存IO操作,防止因为灾难等非人为因素损坏或者丢失资料。对于备份和恢复这种文件恢复策略而言,该系统每次只存储的了修改的部分,就减少了带宽的使用,也减少了冗余数据的存储。