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

Ядро серверной платформы A7: переписано с Qt на C++17 с переносом всех данных

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

Описание

Серверная платформа A7 управляет умными домами, зданиями и диспетчеризацией: инженерные системы, устройства, сценарии. Я написала основную часть исходного сервера, а в 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 Крошка: магазин пекарни в MAX, Telegram и мобильном приложении с общей админкой
Крошка: магазин пекарни в MAX, Telegram и мобильном приложении с общей админкой
7
ИИ и Нейросети ИИ-помощники: подбор оборудования по каталогу, вопросы к документу и сводки чатов по расписанию
ИИ-помощники: подбор оборудования по каталогу, вопросы к документу и сводки чатов по расписанию
6
Веб-разработка и IT Боты с мини-приложением для MAX и Telegram: помощник по учёбе с ИИ и запись в салон красоты
Боты с мини-приложением для MAX и Telegram: помощник по учёбе с ИИ и запись в салон красоты
6
Веб-разработка и IT Форма: приложение салона красоты в собственном бренде, учёт остаётся в YCLIENTS
Форма: приложение салона красоты в собственном бренде, учёт остаётся в YCLIENTS
5