关于多人并发审核的问题

sinat_37284920 2017-01-08 01:53:11
假设有这样一个场景:
有一批待审核的数据,需要多名审核人员同时在线进行审核。
审核的过程是:首先查询数据列表,可以由审核人员从数据列表中任意选择数据进行审核,
某条数据审核结果被提交之后,不能再被查询和修改。
假设在审核的过程中有审核人员A和B,A在数据列表选中了一条数据进行审核,A还在审核的时候,B也选中了同一条数据进行审核,并且比A更早的提交了审核结果。A要提交的时候发现审核已经不可提交(已提交的数据不可再被修改)。导致了审核人员资源的浪费。
问题:在这种情况下,如何才能避免多个人选中同一条信息进行审核?
...全文
991 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
红尘依旧 2017-01-09
  • 打赏
  • 举报
回复
加锁、数据表加上一个version,再简单一点可以在提交的判断记录是否改变过
tony4geek 2017-01-09
  • 打赏
  • 举报
回复
redis 也可以的,单线程操作。redis 里面取出来,然后删掉。
ylovep 2017-01-09
  • 打赏
  • 举报
回复
要不就从业务上区分 不同部门的人员 只能审核自己部门的 楼主的A和B同时打开并且审核,虽然对数据没有太大的影响(给出友好提示) 要防止资源浪费的话 可以把数据业务区分 不同的人员审核不同的单据 或者做成级别审核 ,也就是第一个审核完, 第二个人在审核互不影响
树成 2017-01-08
  • 打赏
  • 举报
回复 1
都是些技术派,这种东西不需要什么锁,在业务上做处理即可,当业务数据生成时就直接指派给固定的人做处理就可以了,这样就不会有脏读的问题,如果指派人不能处理,重新指派就行了,做系统最怕钻入技术大坑
sinat_37284920 2017-01-08
  • 打赏
  • 举报
回复
引用 1 楼 JE_GE 的回复:
Hibernate乐观锁 redis分布式锁
乐观锁的话有一个问题,像这种情况,一个审核分两步,取出审核数据,提交审核结果。 如果是用乐观锁的话,就是说要维护版本字段,取出数据的时候维护一次,更改的时候维护一次。 要是A只是取出了数据,版本号变了却没有提交审核,B那边如果是在A之前查询的列表,B就取不出来了,就得刷新。
JE_GE 2017-01-08
  • 打赏
  • 举报
回复
Hibernate乐观锁 redis分布式锁

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧