Тема: Разработка сервиса для сбора информации с датчиков автомобилей различных категорий с последующим декодированием и аккумуляцией на серверах.
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1. ОПИСАНИЕ И РЕАЛИЗАЦИЯ ПРОТОКОЛОВ 6
1.1 Протокол: ASC-6 6
1.1.1 Описание методов 8
1.1.2 Описание данных пакета 10
1.2 Протокол: АвтоГРАФ 11
1.2.1 Описание данных пакета 11
1.2.2 Описание методов 13
1.3 Протокол: ГалилеоСкай 14
1.3.1 Описание данных пакета 14
1.3.2 Описание методов 19
1.4 Протокол: Wialon 22
1.4.1 Описание данных пакета 22
1.4.2 Описание методов 30
Глава 2. ВЫБОР СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 32
2.1 PostgreSQL 32
2.2 MongoDB 33
2.3 Apache Kafka 34
Глава 3. АРХИТЕКТУРА СЕРВИСА 35
3.1 Incoming data 36
3.2 Packaging 36
3.3 Workers 37
3.4 Db-inserters 38
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 41
📖 Введение
Существует множество решений для бизнеса, помогающих получить эту информацию, но зачастую все они узкоспециализированы и стоят больших денег.
Проблема, с который может столкнуться компания - это большая растрата средств на закупку узкоспециализированных решений и их дальнейшая интеграция в общую систему, что не всегда представляется возможным. Стоит еще учитывать тот факт, что подобные решения редко бывают масштабируемы и не всегда могут выдержать большие нагрузки.
Следовательно, необходимо решение, позволяющее компании выбрать определенный список функций, которые легко масштабируются и способны давать большой набор возможностей для сбора данных , не привязываясь к конкретному типу или марке транспортного средства, сохраняя при этом высокие показатели скорости и отказоустойчивости.
Целью данной дипломной работы является разработка сервиса для сбора данных с блоков управления автомобилей,не привязываясь к определенному типу или марке транспортного средства, тем самым давая возможность интегрировать данный сервис в любые транспортные средства.
Наиболее важным аспектом является возможность выдерживать большой объем данных при наименьших затратах на оборудование. Так как сбор информации происходит по таким датчикам как: датчик топлива, нагрузки на оси, датчик зажигания (вклвыкл) и т.д., а также сбор информации о положении машины в конкретный момент времени, зачастую подобные решения продаются по отдельности. У нас же было решено включить данный функционалв один сервис.
После сбора информации, сервис упаковывает данные в удобный для чтения и хранения формат, и отправляет на сервера компании или в облачное хранилище.
Для достижения цели были решены следующие задачи:
1. Разбор протоколов и реализация обработки данных из пакетов, что приходят с датчиков.
2. Разработка масштабируемой архитектуры, поддерживающую модульное подключения дополнительных протоколов.
В первой главе данной дипломной работы описан разбор протоколов передачи данных:
• Формат пакетов в сжатом и полном виде
• Описание параметров и их последовательность в пакете
• Реализация программного кода, отвечающего за разбор пакетных данных
Во второй главе описан выбор СУБД и ее дальнейшая роль в данном сервисе. Проводятся сравнения документо-ориентированных СУБД с последующим анализом производительности систем в контексте поставленных задач.
Третья глава описывает архитектуру сервиса. Архитектура раскладывается на слои, и дается описания функционала каждого слоя, а также взаимодействие слоев между собой.
✅ Заключение
Результатом работы стала готовыйсервис, позволяющийсобирать
данные из блоков управления, расположенных на автомобилях.
Сервис написан на низкоуровневом языке Go[5], позволяющем выдерживать большие нагрузки, при относительно малых ресурсах, тем самым отлично отвечая поставленным требованиям.Часть разработанного кода приведена в приложении.
Сервис собирает данные с датчиков и отправляет их на сервера компании, где в последующем представители компании могут наблюдать за показателями в реальном времени. Так как сервис был рассчитан на большие нагрузки, то компания будет получать данные с минимальной задержкой, от отправной точки, коим является транспортное средство, и до базы данных.
Данная сервис существенно сокращает затраты компании на покупку отдельных решений под тривиальныезадачи.
Сервис был протестирован в реальных компаниях г. Москвы и активно используется для мониторинга транспортных средств.



