锁定老帖子 主题:多人操作数据的处理策略--讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-24
szcs10138456 写道 小盆友们不用争了,先查询,加上乐观锁不就OK了。
这压根不是这个问题,主要是考虑后台操作人员工作重复,人家是通过这个统计工作量的 |
|
返回顶楼 | |
发表时间:2011-05-24
使用乐观锁解决方案,可以用版本号、时间戳,让用户自己处理!
|
|
返回顶楼 | |
发表时间:2011-05-24
记录操作日志么。
|
|
返回顶楼 | |
发表时间:2011-05-24
乐观锁
加上 时间字段 or 版本号 |
|
返回顶楼 | |
发表时间:2011-05-24
rocketball 写道 szcs10138456 写道 小盆友们不用争了,先查询,加上乐观锁不就OK了。
这压根不是这个问题,主要是考虑后台操作人员工作重复,人家是通过这个统计工作量的 我表示鸭梨很大。。。。。。我不懂。 |
|
返回顶楼 | |
发表时间:2011-05-24
在数据更新操作之前,再次查询表的时间戳,与前次查询结果进行比较,一致的情况下,进行更新操作。不一致的情况,说明数据状态已经更改,要报信息给终端用户,更新数据!
|
|
返回顶楼 | |
发表时间:2011-05-24
1.表中增加 版本号或者最后更新时间(如果增加最后更新者,如果有冲突时可以有更好的用户提示)
2.读取数据时把版本号或者最后更新时间一起读取下来, 3.操作数据时比较版本号或者最后更新时间,如果一致,才能操作数据,更新数据时需要更新版本号或者最后更新时间。 4.删除采用伦理删除,表中增加一个删除标志。删除时更新标志即可,同时也需要需要更新版本号或者最后更新时间。 5.有更新数据时,请主要先在开始时把需要更新的数据进行锁定操作。 简单的想了下,暂时想到了上面的这些。 扩充话题:如果数据只能让一个用户操作。 在数据中增加一个是否被读取的标志? 如果有读取标志的用户最后异常退出,没有更新回读取的标志的话,该如何处理? 或者采用别的什么方法呢? |
|
返回顶楼 | |
发表时间:2011-05-24
最后修改:2011-05-24
rocketball 写道 szcs10138456 写道 小盆友们不用争了,先查询,加上乐观锁不就OK了。
这压根不是这个问题,主要是考虑后台操作人员工作重复,人家是通过这个统计工作量的 由于多人操作数据,数据是共用的,所以设立一个机制,做某笔数据前,先申请,申请成功再开始操作(修改、删除)。 看到数据列表后,先把某笔数据申请下来(数据库表中记录申请人信息,便于统计工作量),申请成功则开始做该任务,如果不想做该数据,则可以释放,让别人去做。 ps.如果要统计工作量,删除应该是逻辑删除。 |
|
返回顶楼 | |
发表时间:2011-05-24
乐观锁,和ArrayList里面的ConcurrentModificationCount一样
|
|
返回顶楼 | |
发表时间:2011-05-24
railway 写道 rocketball 写道 szcs10138456 写道 小盆友们不用争了,先查询,加上乐观锁不就OK了。
这压根不是这个问题,主要是考虑后台操作人员工作重复,人家是通过这个统计工作量的 看到任务列表后,先把某笔任务申请下来(数据库表中记录申请人信息,便于统计工作量),申请成功则开始做该任务,如果不想做该任务,则可以释放,让别人去做。 这个是排它锁,和synchronized一样 |
|
返回顶楼 | |