注册 登录
编程论坛 ASP.NET技术论坛

关于淘宝网物品出售的疑问

slokra 发布于 2008-09-03 15:01, 908 次点击
类似于淘宝网的物品出售。限量出售一个物品,有用户点击购买后其他用户无法就无法购买。
问题:
用户点击购买后没有立即付款,又迟迟不取消购买,如何让其他用户可以购买?

个人想法:添加一个新表,purchase,有三个字段userId,productId,purchaseTime(用户编号,产品编号,预购买时间)
当用户点击购买时就往purchase中添加一条数据并记录发生时间,如果时间超过规定的预购买时间则将该数据删除,产品返回为可购买状态。

想问一下有没有其他更好的解决方法?
在同一时刻,不同的用户同时点击购买,怎么解决?

[[it] 本帖最后由 slokra 于 2008-9-3 15:11 编辑 [/it]]
2 回复
#2
hebingbing2008-09-03 17:10
第一个问题的解决方法其实很多,你的那个办法是可行的……
第二个问题嘛就有些麻烦了,不过我想应该不会那么巧吧,所以如果发生这样的事情你就让让商品谁都别买走,再选一次……看谁选的快……
呵呵……
#3
slokra2008-09-04 08:53
[bo][un]hebingbing[/un] 在 2008-9-3 17:10 的发言:[/bo]

第一个问题的解决方法其实很多,你的那个办法是可行的……
第二个问题嘛就有些麻烦了,不过我想应该不会那么巧吧,所以如果发生这样的事情你就让让商品谁都别买走,再选一次……看谁选的快……
呵呵……

像奥运门票的网购,出现购买人数比票数多的情况肯定是有的,这时候要怎么去解决?
在事务的S锁和X锁上应该有解决的方案,但没有具体的思路。
1