DispatchPulse — Узбекистан · национальный мониторинг СЭС
· O'zbekiston Национальный мониторинг СЭС · серверы РУз ← сайт DispatchPulse
Предложение · национальный контур мониторинга СЭС

85 000 солнечных станций под единым контролем

Суверенная платформа диспетчеризации для энергетики Узбекистана: развёртывается на внутренних серверах страны, рассчитана на массовый поток телеметрии, отказоустойчива и защищена по слоям. Данные не покидают периметр Республики.

O'zbekiston energetikasi uchun suveren dispetcherlik platformasi — mamlakat serverlarida, ma'lumotlar davlat perimetridan chiqmaydi.

Заказчик: Минэнерго Республики Узбекистан Развёртывание: on-premise, серверы РУз Язык: RU / O'zbek Связка: SmartEnergy · DispatchPulse

▶ Открыть интерактивную демонстрацию одна панель → станция → парк СЭС на карте РУз → баланс страны · ~1 минута, всё кликабельно

85 000
СЭС · национальный охват

Запрос ведомства — взять под единый мониторинг и диспетчеризацию до 85 000 солнечных электростанций: от крупных утилити-парков до кровельных установок. Единая картина генерации по стране, раннее выявление аварий, управляемость — и полный суверенитет над данными.

01

Масштаб задачи: от станций к потоку данных

85 000 станций — это не «85 тысяч графиков», а миллионы одновременных потоков телеметрии в секунду. Именно способность кода держать такой объём — ядро предложения. Ниже — проектная оценка нагрузки установившегося режима.

объекты
85 000
солнечных станций под контролем
параметры
~3,4 млн
живых сигналов (≈40 на станцию)
запись
~5 млрд/сут
точек измерений в сутки
40–120 тысизмерений/сек в установившемся режиме
×10–20сжатие временных рядов (TimescaleDB)
< 1 сот прихода данных до дашборда (SSE)
14региональных «ячеек» — шардинг по областям
Цифры — проектные оценки для сайзинга (≈40 сигналов на станцию, опрос ~раз в минуту). Точный профиль уточняется по реальному парку инверторов и требуемой частоте.
02

Архитектура высоких нагрузок

Платформа спроектирована «ячейками»: страна делится на региональные контуры, каждый обрабатывает свой поток независимо и горизонтально масштабируется. Никакого единого узкого места — добавляем узлы, а не переписываем систему.

Приём

MQTT-кластер

Брокер масштабируется горизонтально (EMQX-класс); шлюзы станций подключаются по TLS 8883 с индивидуальными учётными данными. Компактный протокол (CBOR) снижает трафик в разы.

Обработка

Stateless-воркеры

Приём, нормализация, пороги и правила — на масштабируемых воркерах без состояния. Батч-запись, обратное давление (backpressure) и очереди сглаживают пики без потерь.

Хранение

Временные ряды

TimescaleDB: гипертаблицы, колоночное сжатие ×10–20, непрерывные агрегаты (1 мин/1 ч/1 сут). Горячие данные — быстро, холодные — дёшево, годы истории под контролем объёма.

Край сети

Шлюз со store-and-forward

Полевой шлюз читает инверторы локально (Modbus/RS-485) и копит данные при обрыве связи, досылая после восстановления. Ни одна точка не теряется при сбое канала.

Доставка

Живой поток (SSE)

Диспетчер видит состояние в реальном времени; сервер шлёт только изменения. Рейтинг объектов, карта, алерты и отчёты — из одного потока.

Рост

Ячейки по регионам

Каждая область — отдельный контур. Нагрузка одного региона не влияет на другой; охват наращивается добавлением ячеек на дешёвом железе.

Проектная пропускная способность (иллюстрация сайзинга)

Установившийся режим~40 тыс/сек
Утренний старт парка~120 тыс/сек
Заложенный запас×3–4 к пику
03

Отказоустойчивость

Национальный контур не имеет права «упасть целиком». Заложены резервирование на каждом слое, автоматический переход на резерв и защита от потери данных при любом сбое — сети, узла или ЦОД.

Нет единой точки отказа

Active-active узлы

Каждый слой — брокер, воркеры, БД — дублирован. Падение узла не роняет сервис: нагрузка перетекает на резерв автоматически.

Данные не теряются

Store-and-forward + репликация

Шлюзы копят при обрыве, БД реплицируется, тиражные бэкапы — в контуре РУз. Обрыв канала или узла = задержка, а не потеря.

Изоляция сбоев

Региональные ячейки

Инцидент в одном регионе локализован в его ячейке; остальные области работают штатно. «Взрывной радиус» ограничен.

Прозрачность

Самомониторинг

Платформа следит за собой: связь шлюзов (LWT), задержки, очереди, здоровье узлов — с алертами оператору до того, как заметит пользователь.

Региональные ячейки — пример охвата

Ташкент Навои Бухара Самарканд Кашкадарья Сурхандарья Джизак Сырдарья Наманган Андижан Фергана Хорезм Каракалпакстан
Пары узлов (active-active) на регион; солнечно-нагруженные области (Навои, Бухара, Кашкадарья, Самарканд) получают приоритетную ёмкость.
04

Безопасность и суверенитет данных

Ключевое требование — данные и управление энергообъектами остаются в Республике. Мы буквально строим «не как у Solarman/Deye»: без облака зарубежного вендора, с защитой по слоям и полным аудитом.

01

Периметр — серверы Узбекистана

Развёртывание on-premise в ЦОД Республики. Телеметрия, координаты станций и персональные данные не покидают страну — соответствие требованиям локализации данных РУз. Возможен изолированный (air-gapped) контур для критичных объектов.

02

Шифрование в канале и на диске

MQTT-TLS 8883 от шлюза до брокера, HTTPS для интерфейса, шифрование БД at-rest. Компрометация канала или носителя не раскрывает данные.

03

Доступ по ролям и объектам

RBAC: министерство видит агрегат по стране, регион — свою область, владелец — свои станции. Никаких API-ответов с координатами вне зоны доступа (именно на этом «погорел» Solarman).

04

Управление — с двойной защитой

Команды на объект — только для роли с правом, с подтверждением, ack и read-back; никогда «вслепую» при потере связи. Полный журнал команд и событий для аудита.

05

Без хардкод-учёток и предсказуемых токенов

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

05

Что проверено в бою и что разворачиваем под контракт

Честная граница. Ядро платформы уже работает и управляет реальным железом — это фундамент. Национальный отказоустойчивый контур на 85 000 объектов строится под задачу по описанной выше архитектуре.

✓ Проверено на проде
  • ядро: MQTT-приём, хранение, REST/SSE, роли и мультитенант;
  • реальные BMS/энергообъекты через мост, живые дашборды;
  • сквозное управление реле на боевой плате (< 1 с);
  • пороги/алерты, движок правил ЕСЛИ..ТО, астро-автоматика;
  • прогноз разряда АКБ, рейтинг объектов, отчёты в мессенджер;
  • суверенность как принцип: данные на наших серверах, локальный шлюз.
⧉ Разворачиваем под национальный контур
  • переход node:sqlite → TimescaleDB (гипертаблицы, сжатие, агрегаты);
  • MQTT-кластер + TLS 8883, компактный протокол (CBOR);
  • active-active узлы, автоматический failover, репликация;
  • региональные ячейки и шардинг по областям;
  • бэкапы в контуре РУз, самомониторинг, runbook;
  • нагрузочные испытания на профиле 85 000 станций, пентест.
06

План развёртывания: от пилота к нации

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

Фаза 11–2 мес

Пилотный регион + стенд

  • развёртывание в ЦОД РУз, одна региональная ячейка;
  • подключение первых парков и кровельных СЭС через шлюзы;
  • нагрузочный стенд с эмуляцией 85 000 станций.
Фаза 22–4 мес

Отказоустойчивый контур

  • TimescaleDB, MQTT-кластер, active-active, репликация, бэкапы;
  • TLS 8883 на боевых шлюзах, шифрование at-rest;
  • пентест и приёмо-сдаточные нагрузочные испытания.
Фаза 34–8 мес

Региональное масштабирование

  • развёртывание ячеек по областям, шардинг;
  • ролевой доступ: министерство / регион / владелец;
  • интеграция с диспетчерскими и отчётность генерации.
Фаза 4далее

Национальный охват + развитие

  • полный охват до 85 000 станций, единая картина по стране;
  • прогнозы генерации, предиктивное ТО, авто-сценарии;
  • интеграция ERP/SCADA, мобильный доступ владельцам.
07

Почему мы

Суверенность

Данные в Узбекистане

Не облако вендора, а платформа на серверах Республики. Прямой ответ на риски утечки координат и удалённого отключения через чужое облако (уроки Solarman/Deye, 2024).

Масштаб в коде

Спроектировано на миллионы

Лёгкое ядро + ячеистая архитектура: горизонтальный рост на дешёвом железе вместо дорогой проектной SCADA «под ключ».

Готовность

Работающее ядро, не слайды

Платформа уже в проде и управляет реальным железом. Национальный контур — инженерное масштабирование доказанной основы, а не разработка с нуля.

Локализация: интерфейс и отчёты на русском и узбекском; поддержка местного парка инверторов через Modbus/MQTT; сопровождение и обучение диспетчерского персонала.