constru.ai
Программное обеспечение
Россия
IOS, Android
Сентябрь 2022
Инвестиционный международный проект по использованию компьютерного зрению для оптимизации процессов учета и контроля при многоэтажном строительстве Contru.ai от Silicon Valley Bank обратился к нашей команде в сентябре 2021 года, чтобы мы провели аудит разработанных нативных мобильных Android и IOS приложений предыдущим подрядчиком на предмет расчета стоимости их доработки и поддержки, которая необходима заказчику для понимания инвестиционной привлекательности проекта.
В результате проведенного полного аудита мобильных приложений заказчику были предложены несколько вариантов решения проблемы на основе двух принципиально разных подходов:
Точечно модифицировать существующие приложения с целью исправить существующие недостатки;
Перейти на кросс платформу и на нулевом этапе произвести полное проектирование архитектуры системы на несколько лет развития.
Нашей командой для каждого из предложений были проведены финансовые расчеты стоимости реализации продуктовых планов — по результату которых заказчик принял решение выбрать второй подход, а именно сделать новое кросс платформенное мобильное приложение.
В рамках разработки были выполнены следующие работы:
Оптимизация клиентской части:
• Обработка видеопотока: Критическая информация из каждого кадра потокового видео теперь обрабатывается непосредственно на мобильном устройстве.
• Эффективная передача данных: Мобильное устройство больше не использует технологию потоковой передачи видео на сервер. Вместо этого оно выбирает оптимальный кадр из видео и отправляет его с предварительно рассчитанными данными.
• Сжатие и упаковка данных: При отправке фотографии мобильное устройство применяет технологии сжатия и упаковки для уменьшения объема данных.
• Обработка на сервере: Сервер работает с сжатыми файлами и распаковывает их только в случае необходимости. Малоиспользуемые данные также сжимаются и хранятся в холодном хранилище.
• Многофакторное определение локации: Для определения местоположения используется не только GPS, но и IP-адрес, а также методы калибровки локации.
• Переписание приложений: Нативные мобильные приложения были переписаны на кроссплатформу с использованием Flutter.
Улучшение производительности:
• Оптимизация пакетов сообщений: Мобильное приложение отправляет пакеты сообщений оптимального размера, определенного в ходе полнофакторного эксперимента.
• Геораспределенность: На сервере внедрена геораспределенность с использованием кластеризации для повышения масштабируемости и надежности.
• Замена RMQ на Kafka: RMQ заменен на Kafka, которая обеспечивает более эффективное взаимодействие с пакетами сообщений.
Модернизация баз данных:
• Разделение базы данных: Одна существующая база данных была разделена на несколько распределенных по разным регионам мира.
Повышение надежности и тестирование:
• Архитектурное планирование: Спроектирован план на несколько лет для модификации и настройки системы с целью минимизации операционных издержек.
• Репликация и резервное копирование: Внедрены средства репликации и резервного копирования данных для повышения надежности.
• CI/CD: Реализованы методы непрерывной интеграции и непрерывного развертывания (CI/CD).
Оптимизация функциональности:
• Перепроектирование интерфейса: Интерфейс был перепроектирован, что позволило использовать специалистов низкой квалификации для выполнения данной работы.
ingry.tech с удовольствием обсудит вашу задачу