2010-01-14 6 views
3

J'ai un système d'analyse vidéo distribuée, qui est composé de:passage de messages et de signalisation dans le système distribué

1. feature extraction: generated lots of features(20+) from each frame of the video 
2. multiple detectors(in different machine): 
    * Each of them will get a subset of feature 
    * Each of them needs the features from multiple frames. 
    * Eg. Detector 1 needs feature 1-5 from 3 frames to start processing; Detector 2 needs feature 2-8 from 8 frames to start processing 

Ma question est la suivante: comment faire la communication entre le bloc fonction d'extraction et de multiples détecteurs, de préférence en temps réel -temps? J'ai regardé un bus d'événement, mais c'est seulement pour un processus, ZooKeeper dans Hadoop sera-t-il une meilleure solution?

J'utilise Java. Toute suggestion est la bienvenue.

+0

Combien de données y a-t-il dans une fonction? Comme 8 octets par fonctionnalité? Si vous avez vraiment peu de données, il y a beaucoup de choses simples que vous pouvez faire, comme la diffusion de toutes les fonctions à tous les détecteurs. –

Répondre

3

En Java, vous pouvez utiliser le bus de messages RabbitMQ. Il y a une bibliothèque avec Java bindings.

RabbitMQ est basé sur une plate-forme éprouvée , offrant une grande fiabilité exceptionnelle , la disponibilité et l'évolutivité avec un bon débit et les performances de latence qui est prévisible et uniforme. Il a une base de code compacte et facilement maintenable permettant une personnalisation rapide et un déploiement à chaud . Il y a de vastes installations pour la gestion, le suivi, le contrôle et le débogage et il est pris en charge par une gamme complète de services de soutien commerciaux et une communauté contribuer activement au développement des paquets qui étendent le système de base.

+0

merci jldupont, il semble que la licence ne convient pas à l'utilisation en entreprise ... – Lily

+1

La licence est la licence publique de Mozilla, oui? Si oui, il devrait être une licence tout à fait admissible pour une utilisation en entreprise. –

+0

Le texte de présentation de Rabbit n'est pas vraiment véridique. Il n'est pas hautement disponible de la manière attendue par la plupart des gens - des files d'attente réparties sur plusieurs machines afin de résister à une panne de nœud. Son regroupement est conçu pour augmenter * la vitesse en cas de charge lourde * mais ne le rend pas plus accessible dans l'éventualité d'une panne. – drewr

Questions connexes