2010-01-14 12 views
3

я распределенная система анализа видеоданных, в состав которого входят:передачи сообщений и сигнализации в распределенной системе

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 

Мой вопрос: как сделать связь между блоком выделения признаков и нескольких детекторов, предпочтительно в режиме реального времени -время? Я смотрю на автобус событий, но это только для одного процесса, будет ли ZooKeeper в Hadoop лучшим решением?

Я использую Java. Любое предложение приветствуется.

+0

Сколько данных в функции? Как 8 байт на каждую функцию? Если у вас действительно небольшие данные, вы можете сделать много простых вещей, например, передавать все функции всем детекторам. –

ответ

3

В Java вы можете рассмотреть возможность использования RabbitMQ сообщений. Существует библиотека с Java bindings.

RabbitMQ основан на проверенной платформе , предлагая исключительно высокую надежности, доступность и масштабируемость наряду с хорошими пропускной способностью и латентной производительностью, что является предсказуемыми и последовательным. Он имеет компактную, легко ремонтируемую базовую базу , позволяющую быстро настраивать и устанавливать . Есть обширные средства для управления, мониторинга, контроля и отладки, и он поддерживается полный спектр коммерческих услуг поддержку и активного сообщества разработки пакетов , расширяющих базовую систему.

+0

благодарит jldupont, кажется, что лицензия не подходит для корпоративного использования ... – Lily

+1

Лицензия является публичной лицензией Mozilla, да? Если это так, это должна быть лицензия, вполне допустимая для корпоративного использования. –

+0

Разговор Кролика не правдивый. Он недоступен большинству людей - очереди, распределенные на нескольких машинах, чтобы выдержать отказ узла. Его кластеризация предназначена для увеличения * скорости при большой нагрузке *, но не делает ее более доступной в смысле события. – drewr