2014-10-23 2 views
-1

택시 회사의 웹 애플리케이션 (JavaScript + PHP)을 작성 중입니다. 각 앱 사용자 (회사 직원)가 어떤 유형의 알림을 받고 싶은지 지정할 수있는 고급 알림 시스템을 추가해야합니다. 사용자 # 1이 택시 # 101을 추적하고 고객의 지역에 들어서고 세부 정보를 표시 할 때마다 알림을 받고 싶다고합시다. 사용자 # 2는 택시 # 202 및 택시 # 303이 고객의 지역에 진입 할 때마다 경고를 받기를 원했습니다.WORK 앱 + 무거운 처리를 처리하는 데 가장 적합한 기술

참고. 경고에 대한 다른 많은 경우가 있지만 주제를 하나씩 생각하는 것을 선호합니다.

  1. 내가 응용 프로그램에 각 택시에게 경고 옵션을 추가 할 것입니다 :

    나는 다음과 같이 높은 수준의 설계를 긁적 시작했다.
  2. 사용자 # 1은 알림을 받으려면 택시 # 101을 선택합니다.
  3. userID가있는 DB 테이블에 택시 ID가 추가됩니다.
  4. 3 시간마다 배치 처리를 수행하고이 테이블을 다른 테이블과 합치면 택시의 위치가 지정됩니다.
  5. 위치 + 지역 + 사용자 ID 목록을 가져옵니다 (이 목록을 생성하려면 여기에서 어떤 기술을 사용해야하는지 잘 모름).
  6. 스크립트를 실행하고 목록에서 각 영역을 확인하고 그 안에 모든 고객 정보를 얻으십시오.
  7. 6 단계의 결과 표와 3 단계의 표를 결합하십시오.
  8. 사용자가 로그인 할 때마다 scrip이 실행되어 표를 확인하고 택시가 근처에 오는 고객 정보를 나열합니다.

내 질문은 다음과 같습니다

  1. 어떻게 실제 소프트웨어 설계 흐름으로 다음 단계를 번역 할 수 있습니다? (정확한 기술)

  2. 이 모든 두통을 처리 할 기술이 있어야합니다. 50 명의 사용자와 5000 명이 넘는 택시를 상상해보십시오. 나는 침을 생각하고 그것에 대해 읽기 시작했지만 여전히 여기에 맞는 방법을 모르겠다.

모든 힌트에 감사드립니다.

EDIT 당신에게 알렉산더 감사드립니다.

Q: why would any one user even need to get alerted? 
A: I'm not sure. For generating reports or something like that. 

Q: Do you always know the positions of Taxis? 
A: Yes, The system receives real time positions through GPS 

Q: Do you always know the positions of Users? 
A: No, it's not important. thy are regular employees. I just need their IDs so I can show each one the info he asked for. 

Q: How do you know what an 'area' is, and what determines if a user/taxi is in range? 
A: When I get the position of the taxi, I draw a virtual zone around it and call it and area. It should inserted in the DB as well. 

Q: are the rules predefined? Or must the user be able to create them dynamically? 
A: Yes, they are predefined. There are many other rules such as [The user can choose to get alerted when specified taxi has not moved for a long time]. but I started with this one. 

시나리오, 각 사용자가 다른 택시에 대해 서로 다른 경보를 요청하고 좀 처리가 각 사용자에 대한 결과를 표시해야한다 : 여기에 귀하의 질문에 대한 답변입니다.

이 다양한 변수를 처리하는 방법을 알 수 없었으며이 경우 가장 좋은 해결책은 무엇입니까?

+1

50 명의 사용자 .... 이것은 복잡하고 무거운 전화입니까? –

+0

실제로 5000 명이 넘는 사용자가 있지만 한 부서에서 시작하여 10 가지 이상의 다른 유형의 알리미를 요청하므로 처리량이 매우 높습니다. – Shadin

+0

뭔가 잘못 이해했거나 테이블 만 비교하는 것이 어려울까요? 실시간 고객 포지셔닝으로 3 시간마다 업데이트됩니까? –

답변

관련 문제