Ольга Решетняк › oreshka
Довожу до работы: боты, приложения, парсинг. 20 лет в IT
Рейтинг
1 713
№ 620 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Санкт-Петербург
Опыт работы
21 год
На сайте с
2026 года
Юридический статус
ИП

Серверная платформа для умных зданий на C++: ядро переписано с Qt на C++17 без потери данных (A7)

Используемые навыки C/C++/C# Linux Qt

Описание

Серверная платформа A7 на C++ управляет умными домами, зданиями и диспетчеризацией: инженерные системы, устройства, сценарии. Платформа написана с нуля и много лет работает на объектах; я ведущий разработчик её сервера, а в 2026 году сама переписала ядро с Qt на чистый C++17.

Задача: новая архитектура без потери накопленных данных и с проверяемым путём перехода со старой версии. Платформа эксплуатируется на действующих объектах, поэтому каждый шаг переезда должен быть проверяемым.

Решение

Что спроектировано заново:
• Хранилище: объекты в арене, ссылки «слот + поколение» вместо голых указателей, журнал изменений (WAL) и снимки.
• Снимок без остановки сервера.
• Мигратор со старой базы с независимой проверкой результата.
• Паспорт схемы вместо пересборки на каждом старте.
• Скриптовый движок: JS-подобный язык, компилятор и виртуальная машина с бюджетом времени и отменой.
• Сеть и оборудование — в плагинах с бинарно стабильным C-интерфейсом; правки конфигурации без рестарта.

Старый сервер служил эталоном: новое ядро сверялось с ним на реальных данных, на границах этапов — санитайзеры адресов и гонок.

Результат

• Пауза на снимок базы: 3,63 с → 12 мс на стенде с 33 000 устройств и 5 000 кадров в секунду, потерянных кадров нет.
• Выгрузка из 3,39 млн строк совпала со старой побайтно.
• Готовность сервера: 2 973 → 2 173 мс на базе из 580 тыс. объектов.
• Около 380 тыс. строк C++ вместе с тестами, 6 100 автотестов, полный прогон без отказов, 155 файлов документации.

Ядро работает на стендах и в песочнице. Так же подхожу к чужому коду: сначала разобраться в связях и формате данных, потом менять архитектуру, не теряя данные и путь перехода со старой версии.

В оформлении обложки использованы изображения, созданные нейросетью; экраны на снимках — из самих проектов.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Парсинг и мониторинг: цены конкурентов для магазина и новые документы на сайтах ведомств — «Срез» и DocMonitor
Парсинг и мониторинг: цены конкурентов для магазина и новые документы на сайтах ведомств — «Срез» и DocMonitor
28
Веб-разработка и IT Старый и чужой код: починка, доработка и перенос — от бота до серверной платформы
Старый и чужой код: починка, доработка и перенос — от бота до серверной платформы
14
ИИ и Нейросети ИИ-помощники для компании: подбор по каталогу с артикулом, ответы по документам, сводки чатов
ИИ-помощники для компании: подбор по каталогу с артикулом, ответы по документам, сводки чатов
27
Веб-разработка и IT Мобильное приложение для обходов и осмотров оборудования и кабинет руководителя — «Обход»
Мобильное приложение для обходов и осмотров оборудования и кабинет руководителя — «Обход»
37