如何防止多个人同时编辑文件

  控制并发访问文件的思想

在使用ntko office文档控件的时候 ,有可能服务器端不愿意让多个用户同时编辑同一个word文档,当一个用户请求编辑该word文档时使用下图所示的流程就可以解决这个问题.




首先应该在保存文件信息的数据库表中附加以下几个字段(如果没有这样一个表就应该在数据库中建立类似结构的这样一个表): filestate,openner,openedtime 分别表示: 文件的状态(是否被打开),打开文件的用户,文件被打开时的时间。
要使用上面这个流程来对服务器上的word文档进行访问控制的前提条件是用户必须先登陆才可以请求编辑文件.
图中流程设计思想为:
  • ⑴文件只能被一个用户打开.
    ⑵用户打开文件的时间超过规定的时间,其他的用户就能够打开该文件并编辑,这时先前打开文件的用户不能保存编辑结果.
    ⑶用户打开文件的时间超过规定时间,但其他用户没有请求编辑该文件,他依然可以保存.
其实在上面的流程图中还有一种情况没有包含:
  • 当用户直接关闭编辑文档的页面的时候,该用户还拥有对文档的编辑权限,其它想要编辑该文件的用户必须要等到规定的时限过后才可以。这是我们不愿意看到的情况,所以当用户直接关闭该页面的时候,应该向服务器发送一个信息,代表放弃对该文件的编辑权限。服务器收到消息后,重置数据库中该文件记录的3个字段.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值