我有一个程序(部署到每个用户计算机的副本),以便用户将文件存储在具有压缩(CAB文件)的集中式文件服务器上。如何锁定多用户文件管理系统中的文件
添加文件时,用户需要将文件提取到自己的磁盘上,添加文件并将其压缩回服务器。因此,如果两个用户同时处理相同的压缩文件,则稍后上载的文件将会更早更新并导致数据丢失。
我的策略是防止这种情况出现在用户提取压缩文件之前,程序会检查服务器上是否存在指定的临时文件。如果没有,程序会创建这样的临时文件以防止其他用户的干扰,并且会在上传后删除临时文件;如果是,程序将等待,直到临时文件被删除。
有没有更好的方法来做到这一点?并且会经常创建和删除空文件损坏磁盘?
我不知道如果我使用链接中的示例锁定它,是否仍然可以提取压缩文件。 – Bolu 2011-05-18 13:58:55
@Bolu - 你有没有试过。 – 2011-05-18 14:24:59
@Ramhound,我不能在不释放锁的情况下更新压缩文件。 – Bolu 2011-05-18 14:58:48