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


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

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

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

     

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

     

    方案一 乐观锁机制

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

     

    方案二 申请操作机制

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

  • 相关阅读:
    Hibernate事务代码规范写法
    关于hibernate插入数据时的乱码问题
    搭建hibernate环境(重点)
    接口测试概念以及用postman进行接口测试
    Atom编辑器之加快React开发的插件汇总
    如何搭建git服务器
    phpstorm 配置 xdebug调试工具
    linux 获取指定行范围文本内容
    odoo 创建一个qweb
    linux nohup 使用
  • 原文地址:https://www.cnblogs.com/toge/p/6114691.html
Copyright © 2020-2023  润新知