• (转)关于多人操作数据的处理策略


    在系统中可能会出现这样的状况:

    1 对同一条数据,两人同时进行操作,其人第一个人想做修改的操作,第二个人想做删除的操作。第二个人做删除的操作比第一个人要快,这时第一个人修改完成,进行提交时,并不会提示出错,只会提示0条记录被修改。

    2 对同一条数据,两人同时进行修改操作,第一个人先进去修改,然后,第二人个又进去修改,第一个人改完后提交,第二人也修改完提交,其中第一个人比第二个人速度快,这样就造成,二个人修改前读取的数据是一样的,而第二人个修改的数据,覆盖了第一个人修改的内容,造成第一人的工作白做了。

     

    这样就造成了数据操作的问题,基于以上问题,我想到以下的方案来解决。

     

    方案一 乐观锁机制

    在表中增加一个字段,版本号或时间戳,当第一个人准备修改数据前,先查出这条数据的版本号或时间戳,前执行修改时,再去库中查出版本号或时间戳是否与之前一至。如果不一至,提示用户数据已被改变;如果一至可进行修改,修改时,更新库中的版本号(增加版本号)或时间戳(最后修改时间)。

     

    方案二 申请操作机制

    多人操作数据时,可以建立一个申请机制,当有人想对某条记录操作时,需求先申请该条记录的操作权,申请成功,可以进行修改或删除的操作,操作成功,则自动释放该条数据。如果不想操作该条数据,则可以手动释放,让别人去做。

  • 相关阅读:
    项目打包发布到tomcat中,中文出现乱码
    打war包时无法把src/main/java里的xml文件打包上去
    Activemq和Rabbitmq端口冲突
    博客园皮肤炫酷效果
    centos7 ffmpeg安装
    centos7 nginx开启启动
    磁盘满了,找不到占磁盘的文件或者日志
    turn服务部署
    kvm虚拟机配置被克隆rhel6客户机的网卡
    jenkins自动构建
  • 原文地址:https://www.cnblogs.com/toge/p/6114691.html
Copyright © 2020-2023  润新知