- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这与另一个问题类似,但不完全相同。
我的目标是设计一个电影预订系统。用户可以点击电影时间表的一个或多个空座位来预订它们。但他需要在 15 分钟结束前付款,否则预留的座位将不得不自动让给其他用户。
我有以下伪 MySQL:
桌面电影:
id int primary key,
name varchar,
.....
表电影时间表:
movie_id foreign key refers to Movie,
sched_id int primary key,
showtime datetime, // date and time of schedule
count_signup int, // number of sign ups
max_size int // max number of seats
表 MovieSchedSignUp:
sched_id foreign key refers to MovieSched,
user_id foreign key refers to User,
signup datetime // datetime of signup
每个电影时间表都有一个可以注册的max_size
用户数。为了注册用户,我在 MovieSchedSignUp 中插入一行包含当前日期和时间。
这些要求自然会产生一些限制:
由于接口(interface)和数据库之间可能存在不一致,当用户A尝试预订座位时,我需要通知用户A,当没有足够的可用座位时。 (例如,另一个用户 B 可能在 A 之前购买了所有座位。)
我需要自动在 MovieSchedSignUp 中插入一行,同时确保时间表不会“超额预订”(count_signup
<= max_size
)并同时更新count_signup
。
我需要确保在 15 分钟内付款,否则保留的座位必须被释放。
我的想法是:
MovieSchedSignUp 中有额外的列来跟踪付款时间。
使用事务,但是如何返回有关是否有足够座位的信息?
在后台运行批处理作业以删除 MovieSchedSignUp 中的“过期”行。
最有效的方法是什么?还有其他想法吗?确实不想使用批处理作业,但是还有其他出路吗?
最佳答案
我认为在这种情况下你将不得不使用事务。
关于MySQL电影预订系统设计第2部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029834/
概述 限流,其基础含义为对流量进行限制,其既包括在速率上的限制,又包括在资源上的限制,这里主要讨论的是对速率进行限制。 本文分为三部分,第一部分中我们将讨论在做限流前必须要弄清的问题: 为什么要去做限
我在一个项目中与两位顾问合作。问题是我们已经到了一个地步,他们都无法达成协议(protocol),而且每个人都提供了不同的方法。 问题是我们有一家商店有四个部门,我们想找到在同一个数据库中与所有部门合
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
从系统设计/可扩展性的角度来看,在处理需要大量写入数据库中特定表的系统时,有哪些行业标准策略。 为简单起见,假设该表是产品的库存表,有一个“产品名称”列和一个“计数”列,并且每次将新产品购买到系统中时
我需要构建一个 /search API,允许某人发送 POST,并检索稍后可以通过单独的 /results API 查询的 ID。 我查看了 Spring 方法: DeferredResult @As
我是一名优秀的程序员,十分优秀!