2010-03-27 6 views
0

Eh bien, j'ai essayé de poser cette question comme un commentaire sur this question, mais je pensais que peut-être personne ne le remarquera, donc j'ai décidé de le demander en tant que séparé.Quelle est la meilleure solution côté serveur pour un système de suivi GPS en temps réel

La question est de savoir comment faire en temps réel des choses du système de suivi GPS; si nous avons le scénario suivant:

  1. Plutôt que de connecter un récepteur GPS à un PC, l'utilisateur disposera d'un appareil mobile avec un récepteur GPS intégré.

  2. Les données de localisation seront envoyées sur un réseau mobile en utilisant une connexion de données GPRS vers un serveur.

  3. Les données seront traitées et un fichier de chemin KML sera créé et mis à jour à intervalles de temps et utilisé pour suivre l'utilisateur à l'aide de Google Earth.

La question est: quelle est la meilleure méthode pour accomplir ce scénario pour le côté serveur; Est-ce un service Web, une application Web, un service Windows, une application Windows ou quoi exactement? Tenant compte du fait que le système servira un certain nombre d'utilisateurs simultanément, et que plus d'utilisateurs pourront utiliser le système à l'avenir (problèmes d'évolutivité).

Merci à l'avance et j'apprécie fortement toute aide :)

Répondre

0

Quel type d'appareil utilisez-vous exactement, quelque chose comme this ou quelque chose de plus sophistiqué/configurable? Si nous partons du principe que l'appareil envoie ses données sur TCP, je considérerais l'approche suivante avec les processus d'entrée/sortie distincts:

  • entrée: un processus d'écoute le port TCP spécifique et qui stocke les coordonnées entrants vers la base de données avec un identifiant de périphérique . De préférence, votre boucle d'écoute doit être capable de gérer simultaneous connections sans qu'ils se bloquent mutuellement.

  • Sortie: application Web lisant les coordonnées de la base de données pour un identifiant de périphérique donné et les affichant via le Google Earth API.

Utilisez le (s) langage (s) de programmation que vous connaissez.

+0

Merci pour la réponse très utile !! En ce qui concerne votre question sur l'appareil que je vais utiliser, comme je l'ai dit dans la description du problème, ce seront les appareils Windows Mobile 6, je sais que l'utilisation d'un appareil dédié comme celui que vous avez noté est beaucoup mieux, mais Je ne veux pas charger le client avec plus de dépenses, et je pense que le seul problème avec l'utilisation d'un appareil mobile avec un récepteur GPS intégré est le problème de consommation de la batterie, qui peut être surmonté en connectant l'appareil au chargeur de voiture. – Ayman

+0

En ce qui concerne l'approche suggérée, le processus de stockage vers la base de données, puis la lecture des données stockées par une application Web et leur affichage sur Google Earth ne seraient-ils pas lents et tueraient l'essence d'un système en temps réel? – Ayman

+0

Dépend de votre résolution "en temps réel" (1, 20, 60 secs?), Mais d'une manière générale, je ne pense pas que la base de données _per se_ ne sera pas un goulot d'étranglement. Pour minimiser les retards dans l'application Web, n'utilisez pas l'interrogation mais le push HTTP (Comet). Ne pas être familier avec les technologies Windows/Microsoft, ne peut pas vous aider plus spécifiquement avec cela. – jholster

0

Pour moi, il y a une limitation technique/risque ici -> l'appareil mobile, et sa connectivité.

1) Quelles sont vos exigences? Avez-vous besoin de prendre en charge divers appareils mobiles ou vous concentrez-vous sur une seule plate-forme?

2) Plus important encore, vous devez comprendre que les connexions de données GPRS diffèrent d'un PC connecté à Internet. Il existe différentes restrictions de connexion imposées par différents opérateurs mobiles. Si je devais concevoir un tel système afin de minimiser ces risques, j'irais avec un serveur web fonctionnant sur le port 80 que les appareils mobiles téléchargeraient leur Long/Lat via POST (ou même GET pour simplifier les choses).

EDIT: En ce qui concerne l'évolutivité, il serait très facile de faire évoluer les choses à l'avenir en utilisant des techniques d'équilibrage de charge testées et éprouvées &.

EDIT2: Quelle que soit la technologie que vous décidez d'utiliser, je recommande fortement que la première chose que vous faites est de simuler un prototype. Ces restrictions de connexion pourraient être des «show-stoppers». Idéalement, vous devez les explorer avant d'avoir fait un investissement sérieux.

+0

Merci pour votre réponse. En ce qui concerne les deux questions que vous avez posées: 1) Pour l'instant, je cible les appareils Windows Mobile 6, car je suis censé fournir les appareils aux clients, donc ce n'est pas quelque chose de commercial. 2) Je comprends qu'il y a une différence, en fait, j'ai essayé d'utiliser Google Maps pour mobile sur l'appareil compatible HTC Touch Diamond GPS pour la durée du voyage de 45 minutes et c'était génial, et je parle de la fonction de suivi en temps réel de Google Maps utilisant le GPS n'est pas basée sur les cellules, donc je ne sais pas de quelles restrictions de connexion vous parlez, pourriez-vous être plus clair? – Ayman

+0

Aussi je dois dire que je fais un prototype ou une démo pour le montrer au client, bien sûr je ne fais rien de sérieux: D – Ayman

Questions connexes