2

我需要制作一个票务系统,正在研究应用程序的架构,让它保持非常简单。我必须放置一个文本框,其中将显示可用的票号,并​​在这几个 moew 文本框下,以获取一般信息,然后单击购买按钮。注意:票号必须显示在屏幕上,因为它们已与座位号映射。现在我被困的问题是

  1. 如果我有 50 张门票可用,并且用户打开网站,他看到门票 #1 可用,另一个用户打开网站,他也看到门票 #1 可用,因为第一个用户还没有购买该门票。现在绝对是第一个按下购买按钮的人,他将被分配到那张票。

  2. 如果我实施了某种锁定机制,即如果一个用户可以访问票证,则不得将其显示给另一个用户。但是如果已经打开购买的票的用户,由于任何原因没有购买,甚至没有关闭页面或没有按下取消按钮怎么办。表示将保留票,直到用户执行某些操作,或者我可能会在几分钟后自动刷新页面,但仍然会在这几分钟内保留票。

为此需要一些适当的解决方案,以便我可以开始实施。

提前致谢

4

2 回答 2

1

我更喜欢方法#2。我已经看到了火车座位预订机制问题的实现。

锁定票证,并记住会话中的锁定。然后在会话到期时自动解锁锁定的票证。将会话配置为仅持续一分钟。

于 2013-05-24T13:27:53.850 回答
1

我能想到的解决方案之一是使用帮助 Windows 服务。当曾经订过书的用户点击购票时,它会在数据库中更新日期时间和用户识别号。在客户端,您可以将 javascript 时间设置为 10 分钟后刷新。同时在后台运行的Windows服务会检查所有超过X时间的仍处于挂起状态的预定时间,并将更新该项目以使其过期。另一个用户的客户端将 ping 数据库并检查座位是否再次可用,您可以显示用户座位可用。现在,如果第一个用户尝试预订票,您的服务器端将再次从数据库验证状态并给出需要再次选择票的消息。

于 2013-05-24T14:02:55.253 回答