在Windows中作弊独家访问锁定文件(7)

时间:2011-03-06 23:33:17

标签: windows file-io

我目前正在执行将文件加载到pagecache的任务,我也想加载锁定的文件。目标只不过是主动将数据集保存在RAM中,从而减少了第三方应用程序中的加载时间。

影子副本是我第一次想到这一点,但不幸的是似乎已经分离了页面缓存。

那么有没有办法欺骗独家锁定机制?就像在磁盘上获取文件片段位置一样,访问整个磁盘并直接读取(我担心这是另一个分离的pagecache,反正)?

或者是否有一种非常不同的方法来指导页面缓存,例如可以告诉某些Windows API将特定文件加载到pagecache中吗?

1 个答案:

答案 0 :(得分:0)

您可以从内核模式驱动程序或使用我们的RawDisk产品访问Windows中的锁定文件。但是对于您的任务(加速数据库文件访问),这将无法正常工作,因为Windows的文件系统缓存大小有限(它不会容纳GB的数据)。

一般来说,如果我要开发一个大型软件项目(对于小型应用程序,所需的工作量非常大)我会执行以下操作:创建一个由内存存储支持的虚拟驱动器,显示数据库文件通过该虚拟磁盘到应用程序并在异步更改时将驱动器内容刷新到磁盘。所有这些都应该在内核模式下完成(这是开发时间增长到12-15个人工作月的地方)。

理论上,使用我们的虚拟存储产品可以做同样的事情,但回到用户模式进行回调处理会消除将数据移入RAM所能获得的所有功能。