Репликация данных между системами на платформе FindFace Multi
В некоторых случаях требуется, чтобы распознанные FindFace Multi объекты (изображения лица или силуэта человека, изображения транспортного средства) реплицировались во внешней системе FindFace Multi, где они будут в дальнейшем обрабатываться. Такая возможность появилась в версиях FindFace Multi 2.4+.
Система, которая непосредственно распознаёт объекты в обрабатываемых ею видеопотоках, называется Источником, в то время как система, в которую изображения этих объектов реплицируются — Приёмником. Любая система на платформе FindFace Multi может выступать как Источником, так и Приёмником, а также функционировать в обеих этих ролях одновременно — принимая данные, реплицируемые нижестоящими Источниками, и передавая их вышестоящему Приёмнику. В последнем случае будут реплицироваться как данные, полученные в самом Источнике при обработке им видеопотоков, так и данные, принятые из нижестоящих Источников.
При обмене данными Источник передаёт Приёмнику:
Сведения о камерах, которые обрабатывает Источник, включая данные об адресе их установки и координаты местоположения, и группах камер, в которые они объединены.
События, порождаемые при обработке видеопотоков камер, подключённых к Источнику, включая такие данные как полный кадр, миниатюра распознанного объекта, нормализованное изображение, вектор признаков, значения дополнительных атрибутов распознанного объекта и др.
Вышесказанное также справедливо и для камер и событий, передаваемых Источнику системами FindFace Multi, выступающими в качестве Источников относительно него.
Примечание
События, полученные при обработке Источником загруженных в него видеофайлов, Приёмнику передаваться не будут.
Репликация данных выполняется на условиях гарантированной доставки, что делает возможным наладить обмен даже в условиях неустойчивой работы линий передачи данных. В частности, такая особенность будет востребована при сборе данных с мобильных детекторов, размещённых на подвижном составе наземного общественного или железнодорожного транспорта, в едином центре управления. Гарантированная доставка устроена таким образом, что при восстановлении линии связи в первую очередь будут реплицированы наиболее свежие данные, что обеспечивает возможность повысить оперативность реагирования на регистрируемые инциденты и ситуации.
Примечание
Из соображений защиты информации обмен данными при репликации инициируется на стороне Источника; Приёмник ни при каких условиях не передаёт какие-либо данные Источнику и не направляет Источнику запросы на передачу данных.
При развертывании FindFace Multi с помощью инсталлятора автоматически устанавливаются сервисы, связанные с репликацией данных между системами: findface-multi-replication-sender, findface-multi-replication-receiver, findface-multi-replication-sender-migrate, findface-multi-replication-receiver-migrate.
Чтобы начать работать с Источником и Приёмником в пользовательском интерфейсе, включите раздел Интеграции.
В этом разделе:
Включение раздела интеграций в пользовательском интерфейсе
Для включения раздела Интеграции в веб-интерфейсе сделайте следующее:
В файле конфигурации
/opt/findface-multi/configs/findface-multi-legacy/ui-config.yamlнайдите и раскомментируйте секциюmulti_source_system.sudo vi /opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml multi_source_system: enabled: true
Выполните перезапуск контейнеров FindFace Multi.
cd /opt/findface-multi/ sudo docker-compose restart
В настройках FindFace Multi появится раздел Интеграции. Теперь все готово для того, чтобы объявить Источник и Приемник. Сначала следует настроить Источник.
Настройка Источника
Важно
Источник должен создаваться на системе, которую вы определили как Приёмник.
В системе Приёмника перейдите в Интеграции → Источники. Нажмите + Новый Источник. В открывшейся боковой панели введите название Источника и нажмите Сохранить. После сохранения Источника появится токен подключения. Он понадобится вам для настройки Приёмника.
Настройка Приёмника
Важно
Приёмник должен создаваться на системе, которую вы определили как Источник.
В системе Источника перейдите в Интеграции → Приёмники. Нажмите + Новый Приёмник. В открывшейся боковой панели введите название Приёмника, токен подключения, который сгенерировался при создании Источника, и URL системы Приёмника. Нажмите Сохранить.
По завершении конфигурации проверьте успешность синхронизации между Источником и Приёмником. Статус обеих систем должен быть активным, а время синхронизации должно обновляться при ping-запросах одной системы к другой.
Настройка систем репликации данных с включенным SSL-шифрованием
Если в системах, задействованных в репликации данных, включено SSL-шифрование, необходимо выполнить следующие настройки:
В Приёмнике скопируйте файл сертификата SSL
/opt/findface-multi/configs/ssl/domain.crtи сохраните его какreceiver.crtв каталоге/opt/findface-multi/configs/ssl/Источника. В результате каталог хранения данных SSL-шифрования Источника будет выглядеть следующим образом:ls /opt/findface-multi/configs/ssl domain.crt domain.key receiver.crt
В Источнике скопируйте файл сертификата SSL
/opt/findface-multi/configs/ssl/domain.crtи сохраните его какsender.crtв каталоге/opt/findface-multi/configs/ssl/Приёмника. В результате каталог хранения данных SSL-шифрования Приёмника будет выглядеть следующим образом:ls /opt/findface-multi/configs/ssl domain.crt domain.key sender.crt
Смонтируйте сертификат каждой из систем репликации данных в другую в томах (
volumes) файлаdocker-compose.yaml.В Источнике смонтируйте файл сертификата
./configs/ssl/receiver.crtв тома (volumes) сервисаfindface-multi-replication-sender:sudo vi /opt/findface-multi/docker-compose.yaml ... findface-multi-replication-sender: command: [run, --config=/etc/config.yml] depends_on: findface-multi-replication-sender-migrate: {condition: service_completed_successfully} findface-ntls: {condition: service_started} nats: {condition: service_started} postgresql: {condition: service_healthy} extra_hosts: ['findface-ntls:host-gateway'] healthcheck: {interval: 5s, retries: 3, start_period: 300s, test: 'curl -f http://localhost:8015/healthcheck/ || exit 1', timeout: 3s} image: docker.int.ntl/ntech/multi/multi/replication-sender:ffmulti-2.4.1 networks: [product-network] restart: always volumes: ['./configs/findface-multi-replication-sender/findface-multi-replication-sender.yaml:/etc/config.yml:ro', './configs/ssl/domain.crt:/usr/local/share/ca-certificates/domain.crt:ro', './configs/ssl/receiver.crt:/usr/local/share/ca-certificates/receiver.crt:ro'] ...
В Приёмнике смонтируйте файл сертификата
./configs/ssl/sender.crtв тома (volumes) сервисаfindface-multi-replication-receiver:sudo vi /opt/findface-multi/docker-compose.yaml ... findface-multi-replication-receiver: command: [run, --config=/etc/config.yml] depends_on: findface-multi-replication-receiver-migrate: {condition: service_completed_successfully} postgresql: {condition: service_healthy} extra_hosts: ['findface-ntls:host-gateway'] healthcheck: {interval: 5s, retries: 3, start_period: 300s, test: 'curl -f http://localhost:8014/healthcheck/ || exit 1', timeout: 3s} image: docker.int.ntl/ntech/multi/multi/replication-receiver:ffmulti-2.4.1 networks: [product-network] restart: always volumes: ['./configs/findface-multi-replication-receiver/findface-multi-replication-receiver.yaml:/etc/config.yml:ro', './configs/ssl/domain.crt:/usr/local/share/ca-certificates/domain.crt:ro', './configs/ssl/sender.crt:/usr/local/share/ca-certificates/sender.crt:ro'] ...
В случае использования доверенного SSL-сертификата потребуется смонтировать всю цепочку сертификатов.
Выполните перезапуск контейнеров FindFace Multi.
cd /opt/findface-multi/ sudo docker-compose down sudo docker-compose up -d
Репликация камер и групп камер
В системе Источника создайте группу камер. При создании в Источнике группа камер будет реплицирована в Приёмнике. По умолчанию группа камер реплицируется неактивной. Определить группы камер Источника в Приёмнике можно по наличию названий, по которым также доступна фильтрация.
В системе Источника создайте камеру. При создании в Источнике камера будет реплицирована в Приёмнике.
Удаление реплицированных камер и групп камер
Если камера удалена из Источника, и в Приёмнике не осталось никаких событий, связанных с ней, камера автоматически удаляется из Приёмника.
Если группа камер удалена из Источника, и в Приёмнике больше нет связанных с ней камер, группа камер автоматически удаляется из Приёмника.
По умолчанию удаление камер и групп камер запускается один раз в сутки и регулируется в конфигурационном файле Приёмника findface-multi-replication-receiver.yaml настройкой daily_cleanup_settings. При необходимости укажите время удаления камер и групп камер из Приёмника в параметре start_time. По умолчанию удаление будет происходить в 12:30:
sudo vi /opt/findface-multi/configs/findface-multi-replication-receiver/findface-multi-replication-receiver.yaml
daily_cleanup_settings:
on_startup: false
start_time: '12:30'
Систему можно настроить таким образом, чтобы камеры и группы камер удалялись при перезапуске сервиса findface-multi-replication-receiver. Для этого установите параметр on_startup в значение true:
sudo vi /opt/findface-multi/configs/findface-multi-replication-receiver/findface-multi-replication-receiver.yaml
daily_cleanup_settings:
on_startup: true
...
Репликация событий
При появлении в Источнике события реплицируются в Приёмнике. Перейдите на вкладку События в Приёмнике, чтобы увидеть события, которые передаются из Источника. Работа с реплицируемыми событиями не отличается от обычной работы с событиями.
Лицензирование при репликации
Лицензии Источника отображаются в Приёмнике в разделе Лицензии → Основное → Лицензии источников. Лицензионные ограничения на камеры Источников суммируются.
В Приёмнике камеры из Источника лицензируются как реплицируемые ресурсы: Реплицируемые камеры, Реплицируемые потоки: Лица, Реплицируемые потоки: Силуэты и Реплицируемые потоки: ТС.
Примечание
При сложной иерархии задействованных систем вам может понадобиться консультация по лицензированию. Наши специалисты доступны по адресу support@ntechlab.com.



