электронная система мониторинга Traxbean
Traxbean — это платформа безопасности и мониторинга здоровья на основе SaaS, которая предоставляет комплексное решение для мониторинга для тех, кто находится под опекой. Платформа в основном опирается на умные часы, интеллектуальные GPS-локаторы, маячки Bluetooth и устройства IoT для мониторинга в режиме реального времени информации о местоположении людей, моделях поведения и показателях здоровья. Наши решения включают в себя:
- Электронный мониторинг исправительных учреждений: Мониторинг заключенных за пределами тюрем.
- Контроль персонала на строительных площадках, рудниках и крупных объектах.
- Эпиднадзор за пожилыми людьми и особыми группами населения.
Traxbean предлагает гибкие варианты обслуживания, которые позволяют клиентам использовать нашу платформу напрямую для обслуживания своих конечных клиентов или выбрать частное развертывание. Независимо от того, используете ли вы облачные серверы Traxbean или развертываете их в частном порядке, мы можем обеспечить высокую степень индивидуализации, включая настройку фирменного стиля клиента, экрана входа в систему, национального языка, а также конкретных функций и стиля интерфейса. Кроме того, Traxbean не только предоставляет веб-интерфейс входа в систему, но и разрабатывает мобильное приложение и предоставляет решение для светодиодных дисплеев с большим экраном для клиентов, развернутых в частных развертываниях, которое широко используется в центрах обработки вызовов.
Система Traxbean разработана с учетом передового распределенного дизайна, гибкости и масштабируемости и поддерживает миллионы одновременных подключений, обслуживая тысячи предприятий одновременно, что делает ее идеальным выбором для крупномасштабных электронных платформ видеонаблюдения. В сценарии частного развертывания все компоненты и базы данных могут быть централизованно установлены на одном сервере, что снижает затраты на использование и сложность обслуживания.
Кроме того, Traxbean может предоставлять RESTful API для сторонних платформ или мобильных приложений, упрощая процесс системной интеграции и способствуя бесшовной интеграции с другими системами.
Развертывание на одном сервере
В зависимости от требований к нагрузке умных часов и устройств IoT, системы электронного мониторинга Traxbean могут быть развернуты на одном сервере с небольшим количеством устройств и небольшим количеством пользователей. Архитектура системы состоит из трех основных модулей:
1. Шлюз: отвечает за связь с умными часами и устройствами IoT для обеспечения передачи данных в режиме реального времени.
2. API: Являясь основным слоем базы данных и бизнес-логики, все взаимодействия с сервисами осуществляются через этот модуль.
3. Приложение: Предоставляет интерфейс управления и бизнес-процессы для работы и мониторинга пользователями.
Вся система основана на Node.js разработке и использует TypeScript в качестве языка разработки. Бизнес-база данных использует MySQL и представляет Redis для управления очередями и кэшем для оптимизации производительности. Кроме того, MongoDB используется для хранения данных, связанных с устройством, включая данные о местоположении, данные о состоянии, данные о состоянии и данные о сигналах тревоги. MongoDB — это база данных с самой высокой частотой доступа к данным и объемом запросов, и система разработана для удовлетворения потребностей в эффективных запросах и гибком и безопасном долгосрочном хранении данных.
Требования к серверу
Электронные системы мониторинга Traxbean — это платформонезависимое программное обеспечение, которое работает на серверах Linux и Windows. Например, если вы размещаете 5 000 умных часов (80% одновременного онлайн-трафика), рекомендуемая конфигурация сервера следующая:
Windows Server:
— Процессор: 8 ядер ≥ частоте 2,5 ГГц, оперативная память: ≥ 32 ГБ, жесткий диск SSD ≥ 500 ГБ, количество операций ввода-вывода в секунду ≥ 5000, операционная система: Windows Server 2016 или более поздняя версия.
— Программное обеспечение :Node.js, PM2, Nginx, MySQL, MongoDB и Redis
Сервер Linux:
— Процессор: 8 ядер ≥ частотой 2,5 ГГц, память: ≥ 32 ГБ, жесткий диск SSD ≥ 500 ГБ, количество операций ввода-вывода в секунду ≥ 5000, ОС: Ubuntu 20.04 или выше или CentOS 8.0 или выше.
— Программное обеспечение :Node.js, PM2, Nginx, MySQL, MongoDB и Redis
Такая конфигурация обеспечивает эффективную работу системы и удовлетворяет потребность в шестимесячном хранении исторических данных.
Архитектура распределенного развертывания с несколькими серверами
В основном мы обслуживаем профессиональных клиентов, которым необходимо управлять большим количеством онлайн-устройств, таких как умные часы и другие устройства IoT. Для этого клиенты обычно развертывают три или более серверов, работающих на платформе Traxbean, чтобы обеспечить большее количество одновременных подключений, учитывая при этом резервное копирование данных, аварийное восстановление и быстрое восстановление после сбоев.
Хотя эта архитектура слишком сложна, чтобы подробно останавливаться на ней в одной статье, мы можем дать примерное представление о том, как ее развернуть. Рекомендуется развертывать базу данных, шлюз и приложение на трех разных серверах. Компоненты API устанавливаются на том же сервере, что и основная база данных, что повышает эффективность доступа к данным и упрощает обслуживание. MongoDB и Redis устанавливаются на сервере шлюза, потому что шлюзу необходимо обрабатывать службы очередей и большой объем данных устройства по восходящему потоку, что может повысить эффективность обработки.
Эта конфигурация с тремя серверами аналогична описанной выше и может обрабатывать в 3-5 раз больше одновременных соединений, чем один сервер. Для получения более подробной информации обратитесь к нашим инженерам.
Балансировка нагрузки на шлюзе
Когда дело доходит до управления большим количеством одновременных онлайн-устройств, архитектура с одним или тремя серверами может быть не в состоянии эффективно обрабатывать огромный объем данных. Дальнейшее использование этой архитектуры может привести к сбоям системы, увеличению задержки данных и значительному снижению скорости запросов. Поэтому для решения этих проблем нам нужно начинать со стороны шлюза.
Мы представляем подсистему балансировки нагрузки для распределения больших объемов данных по нескольким серверам для обработки. Внедрение балансировщика нагрузки позволяет динамически масштабировать серверы в зависимости от увеличения количества онлайн-устройств, не влияя на нормальную работу системы. Такая возможность динамического масштабирования повышает гибкость и масштабируемость системы.
Чтобы еще больше ускорить обработку данных, MongoDB, в которой хранятся данные об устройствах, будет развернута на том же сервере, что и шлюз. MongoDB сформирует набор реплик с другими экземплярами MongoDB в виде наборов реплик. Такая конфигурация не только улучшает избыточность и доступность данных, но и значительно повышает эффективность запросов данных на прикладном уровне, гарантируя, что система может быстро реагировать даже при высокой нагрузке. Этот архитектурный проект сочетает в себе балансировку нагрузки и эффективные решения для хранения данных для удовлетворения потребностей управления крупномасштабными устройствами.
Проектирование распределенной архитектуры с глобальными многими центрами данных
Когда платформа Traxbean сталкивается с более сложными проблемами, такими как обслуживание клиентов по всему миру, обработка огромного количества онлайн-устройств и удовлетворение потребностей клиентов из разных стран и регионов, один набор балансировщиков нагрузки не может удовлетворить эти требования. Для этого нам необходимо развернуть дата-центры на всех континентах, обеспечив наличие серверов в каждом регионе для эффективной обработки данных.
Использование локального центра обработки данных для приема данных может значительно сократить время отклика и повысить эффективность передачи данных. Создавая архитектуру набора реплик через магистральную сеть между различными центрами обработки данных, мы можем синхронизировать данные в режиме реального времени. Такая архитектура обеспечивает своевременность глобальных данных и позволяет избежать потерь данных из-за задержки в сети. Например, когда пользователь запрашивает данные, расположенные в Европе, в азиатском филиале, архитектура набора репликации может эффективно сократить задержку запросов и повысить общую производительность системы.
Кроме того, такая распределенная архитектура повышает отказоустойчивость и масштабируемость системы, позволяя динамически добавлять серверы для обработки растущего числа онлайн-устройств и запросов пользователей. Сочетание высокоскоростных соединений между центрами обработки данных и конфигурации балансировщиков нагрузки позволяет всей системе гибко реагировать на потребности различных регионов, обеспечивая эффективную и стабильную обработку данных. Общий архитектурный проект представлен на рисунке.
Архитектура интеграции балансировки нагрузки на уровне приложений
В сценарии, когда группа управляет большим количеством сетевых устройств, пользователи могут быть распределены по разным регионам и часовым поясам и часто запрашивать данные. Таким образом, в дополнение к обеспечению того, чтобы шлюз для приема данных устройств обладал эффективными возможностями балансировки нагрузки, наша конструкция также должна включать балансировку нагрузки на прикладном уровне.
На прикладном уровне нам нужен не только балансировщик нагрузки для интеллектуального распределения запросов по разным серверам, но и максимально локализовать обработку данных, чтобы уменьшить задержку. Для часто запрашиваемых данных мы примем архитектуру разделения на чтение и запись, в которой основная база данных отвечает за операции записи, а вторичная база данных сосредоточена на запросах на чтение. Этот метод не только обеспечивает согласованность данных, но и повышает эффективность запросов за счет избыточности данных, чтобы система могла быстро реагировать на высокий уровень параллелизма.
Кроме того, учитывая необходимость хранения большого количества фото- и видеофайлов в системе, необходимо оптимизировать стратегию управления файлами. Невозможно быстро синхронизировать файлы напрямую с отдельными серверами приложений за балансировщиком нагрузки, поэтому мы представляем решение для объектного хранения, такое как AWS S3 или аналогичные сервисы, для хранения больших файлов и управления ими. Это не только снижает нагрузку на серверы приложений, но и увеличивает скорость доступа к файлам через CDN (Content Delivery Networks), гарантируя, что пользователи могут быстро загружать и просматривать медиаконтент в любом регионе.
Подводя итог, можно сказать, что наш проект не только ориентирован на эффективную обработку данных и балансировку нагрузки, но и всесторонне рассматривает оптимизацию управления файлами и хранения для создания эффективной, гибкой и глобально реагирующей системной архитектуры.
О ThinkRace
ThinkRace — это завод по производству умных часов, и хотя мы не являемся традиционной компанией-разработчиком программного обеспечения, мы приняли участие в сотнях масштабных проектов после более чем 10 лет напряженной работы и упорства, включая такие важные события, как Всемирные игры Специальной Олимпиады. У нас есть партнеры по всему миру, которые тесно сотрудничают с более чем 20 операторами связи, а наши продукты и программное обеспечение используются более чем в 50 странах, включая министерства здравоохранения и юстиции.
В этом процессе мы всегда считали, что нашей миссией и ответственностью является защита безопасности и здоровья работников. Наши продукты и программное обеспечение помогают управлять сотнями рабочих площадок, гарантируя безопасность каждого работника. Это не только наш бизнес, но и наши обязательства перед обществом. Перед лицом вызовов мы никогда не забываем о своем первоначальном намерении и стремимся улучшить качество своей работы, потому что знаем, что речь идет о жизни и здоровье каждого.
Несмотря на то, что мы, возможно, не лучшая компания-разработчик программного обеспечения в отрасли, и мы не можем быть идеальными с точки зрения документации и дизайна, мы твердо верим, что именно эта преданность миссии и приверженность социальной ответственности делают нас самой преданной командой в этой области. Мы будем продолжать стремиться к совершенству и неустанно работать над созданием более безопасного и здорового будущего.