2009-11-18 2 views
0

젠드 프레임 워크로 웹 애플리케이션을 개발 중입니다. 영화 티켓 판매 앱입니다. 앱을 사용하면 사용자가 좌석을 선택한 다음 티켓을 구매할 수 있습니다. (문제는 클래식 항공권 예약과 비슷합니다.) 두 가지 문제가 있습니다.젠드 프레임 워크 동시성과 아약스

문제 1 : 모든 좌석을 표시하는 페이지는 ajax로 새로 고쳐야합니다 (좌석이 녹색이면 사용 가능하고 빨간색이면 사용할 수 없음). 각 좌석은 페이지의 div입니다. 예를 들어, USER A가 좌석이있는 페이지를보고 다른 USER B가 티켓을 구입 한 경우 페이지를 새로 고치지 않고 USER A의 해당 좌석이 빨간색이되어야합니다. 어떻게 모든 div를 새로 고칠 수 있습니까? jquery를 사용하고 싶습니다. 매 초마다 각 div에 대해 json 요청을 시도했지만 속도가 너무 느립니다. 어떤 생각?

문제점 2 : 어떻게 동시성을 관리 할 수 ​​있습니까? 사용자 A와 사용자 B가 동일한 티켓 (동일한 좌석의 티켓)을 동시에 구매하려면 어떻게해야합니까? InnoDB 엔진을 사용하고 있지만 상대 컨트롤러에서 트랜잭션을 관리해야합니까?

고맙습니다.

답변

0

문제 1에 대해 Comet을 사용하면 웹 서버의 데이터를 브라우저로 보낼 수 있다고 생각합니다.

불행히도이 방법을 실제로 사용하는 방법을 모르겠습니다.

0

아마도 문제 1과 2를 다르게 해결할 것입니다 (많은 발권 사이트에서 보았 듯이). 사용자가 좌석을 선택하면 데이터베이스의 타임 스탬프로 좌석을 업데이트합니다. 그것은 좌석이 잡혔다는 것을 추론 할 것입니다. 사용자는 티켓을 구매할 때 1 분 (또는 약간의 시간)을 갖는다. 값이 같지 않으면 시간 소인이 다시 널로 변경됩니다.

SQL은 매우 쉽습니다. 기본적으로 시스템은 사람 B에 대해 해당 테이블을 스캔하여 타임 스탬프가 null이거나 (현재 타임 스탬프> 1 분) 사용 가능한 모든 시트 (데이터베이스의 행)를 반환합니다.