muymuy
驱动牛犊
驱动牛犊
  • 注册日期2008-02-14
  • 最后登录2008-09-04
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1106回复:1

网络磁盘驱动开发的问题

楼主#
更多 发布于:2008-02-14 18:24
为了说清楚问题,写得比较多,请大家耐心看。

本人目前准备开发一个网络磁盘的Driver(Windows中虽然已有现成的,但由于项目需要,不能使用),与之对应的还需要开发一个文件服务器。

基本思路:
文件服务器上保存影像文件(image),网络磁盘Driver通过TDI进行网络通信访问文件服务器上的影像文件,并将影像文件虚拟为一个磁盘。

文件服务器属于用户态的应用程序,基本没什么问题,但是客户端的网络磁盘Driver却存在一些难题。

在网上找了两个OpenSource的Driver:TrueCrpyt和HttpDisk,将两者结合起来基本上就可以了,但是存在两个问题:
1、多人同时通过网络磁盘写文件时,可能会出现并发问题(这只是我的猜测,实际是否如此,还需检验);
2、文件服务器上需要对文件及目录的访问进行权限控制,那么就需要在Driver中区分出文件及目录的各种操作,包括:创建、删除、改名、读取和写入等,然后才能对这些操作进行权限控制。

我分析了一下TrueCrpyt和HttpDisk的源码,没有找到文件的创建、删除、改名、读取和写入等操作,而只是简单的读写影像文件。

难道Driver中就不能区分出文件的各种操作?那么如何进行权限控制?
或者我这种思路就有问题?

以上问题望各位不吝赐教,如果有更好的思路也希望分享一下。
Thanks in Advance
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-02-19 17:05
对于硬盘驱动来说,它只处理块读和块写的请求(当然还要实现一些查询控制命令),至于硬盘上数据的组织管理,是由文件系统来负责的。如果你需要截获文件的创建、删除、改名、读取和写入等操作,需要写一个文件系统过滤驱动。
游客

返回顶部