首页 新闻 会员 周边 捐助

关于业务逻辑的问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-03-10 10:29
<p style="text-align: left;">  库存现在为10,A现在做出库3个,但是还没有提交,也就是没有改变库存,B也做出库,查到是还有10,出库8个,那后面提交库存就会为负数。因为是批量提交,判断库存都是在单条记录增加的时候判断的。大家都怎么解决的。</p>
清海扬波的主页 清海扬波 | 小虾三级 | 园豆:825
提问于:2010-12-04 12:44
< >
分享
所有回答(3)
1

可以在数据库层控制,则需要设置事务的隔离级别,已更新但未提交的数据不能读。

如果在中间层控制,可以用锁机制,锁的存储可以用缓存,可用单机缓存,单机缓存可以用dictionary结合静态变量自己实现,自己控制并发。也可以用分布式缓存产品实现,如memcached

冰绿茶—— | 园豆:6 (初学一级) | 2010-12-04 14:08
加中间表,存储出库但为提交的数据。
支持(0) 反对(0) fullSunlight | 园豆:232 (菜鸟二级) | 2010-12-04 16:18
0

做库存占用处理,把库存分成几个类别,如可用库存,订单库存等情况,对于未出库但是已下单的就是订单占用库存。

Justin.zhang | 园豆:440 (菜鸟二级) | 2010-12-05 00:33
0

楼主这个问题可以说是比较常见的一个问题,用锁解决,乐观锁 悲观锁 。

追索 | 园豆:625 (小虾三级) | 2010-12-06 10:06
锁只是针对数据库而言,在客户端操作的时候怎么来判断呢。
支持(0) 反对(0) 清海扬波 | 园豆:825 (小虾三级) | 2010-12-06 10:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册