2011-12-19 2 views
-2

온라인 버스 예약 프로젝트는 온라인 버스 예약, 내가 전문가에서 몇 가지 제안을 기대하고있다, 버스 예약

,

이가 sitution이지만, capcity 지금까지 25 좌석 예약, 30 가정 온라인

상황을 처리하는 방법

, 때 4 티켓을 예약하기위한 노력이 사용자, 사용자 X 사이트를보고, 시스템이 여전히 5 개 좌석이 avaiable이다 말할 때

가, 가정,

이 같은 상태 사용자 y는 또한 보는3210

, 지금은 모두 사용자가

x와 y 사용자가이 복잡한 situtaion를 처리하는 방법, 무슨 일이 일어날 지 4 석을, 필요한 가정들이 예약,

Becuase 우리가 바보해야 시작 고객, 즉, 지불 게이트웨이 후 우리는

그래서 내가 그와 함께 한 최고의 로직을 필요로 좌석 avaiable이다 그들의 아닌, 불편을 드려 죄송합니다, 말을 안 난이 톰,

진정을이 예약 프로세스를 유지 나는 이 situtaion을 어떻게 다뤄야하는지 전혀 모릅니다.

+3

1) 트랜잭션을 사용하십시오. 2) "무료"및 "예약"보다 많은 주를 보유합니다. 또한 사용자가 체크 아웃을 시작할 때 "예약 됨"상태를 포함하십시오. 적절한 시간 내에 결제가 완료되지 않으면 예약석을 무료로 반환하십시오. – GordonM

+1

가능한 복제본 : [과도한 구독을 막기 위해 데이터베이스의 임시 레코드를 조정하여 총계를 계산] (http://stackoverflow.com/q/8069503/367456) – hakre

+0

@lion : 온라인 버스 예약 적은 수의 티켓 할당을 시도합니다. – user1102364

답변

4

대부분의 티켓 판매 서비스는이 상황에서 수행해야합니다. 사용자가 티켓을 구입하기 위해 클릭하면 (지불 정보를 입력하기 전에) @GordonM이 말한 것처럼 백엔드에서 티켓을 "예약 됨"으로 표시하고 타임 스탬프를 표시합니다. 트랜잭션이 주어진 시간 내에 완료되지 않으면 티켓이 다시 "열린"상태로 표시되고 구매할 수 있습니다. 티켓을 "만료"하기 전에 거래를 완료해야한다는 사실을 고객에게 알리십시오. 또한 AJAX를 주문 페이지에 추가하여 사용 가능한 티켓을 자주 업데이트하고 고객의 최신 정보를 고객에게 제공 할 수 있도록 버스 출발을 가깝게 유지할 수 있습니다. 숫자