Валидация данных в АСКУЭ «яЭнергетик». Часть 2: Уровень внутренней логики и базы данных

    Банер

    В прошлой статье мы разобрали валидацию на уровне сбора данных. Но этот уровень проверок — это только начало. Дело в том, что АСКУЭ «яЭнергетик» — это система сложная и многослойная. Связано это с тем, что она закрывает большой пласт задач в области энергетики. И чтобы система была действительно полезной и предоставляла только достоверную информацию, валидация присутствует на всех этапах обработки данных. Далее мы поговорим о методах распознования ошибочных данных на уровне базы и внутренней логики, другими словами на бэкенде.

    Глоссарий:

    Валидация данных – проверка данных на соответствие установленным требованиям и правилам.

    БД – база данных.

    Бэкенд – невидимая серверная часть приложения, отвечающая за логику.

    Сервер сборщик – сервер, который собирает данные с приборов учета и УСПД.

    В первую очередь, после того как сервер-сборщик обработал данные, он передает их в БД в том виде, в котором они поступили. Далее в работу включается бэкенд. Полученные данные он начинает вытягивать для необходимых задач, и здесь же начинается проверка корректности данных.

    Валидация показаний счётчика

    Главное, что система проверяет на уровне бэкенда у показания, – это формат и обязательные поля.

    • Дата и время как раз являются такими обязательными полями, без них запись не имеет никакого смысла. Также с датой есть множество других проверок: например, проверяется статус счётчика в системе (установлен/снят), и если система видит, что показание пришло с датой раньше установки или позже снятия, то, само собой, это значение не пройдёт проверку.

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

    • Следом за проверкой даты следует контроль характеристик показания (контрольное показание, блокировка, игнорирование, id). Если хоть одно поле не соответствует формату, то система забракует эти значения.

    поле

    тип

    обязательное (да/нет)

    Дата и время показания

    date, time

    да

    Статусы значения (контрольное показание, блокировка, игнорирование)

    bool

    нет

    id показания

    int64

    да

    • С дубликатами тоже строго: если есть показания без ошибки на одну дату и время (например, на 1.11.2026 00:00) для одного счётчика, система также блокирует последнее поступившее показание.

    Показание может состоять из зон, и для них тоже есть проверки. Здесь система сравнивает предыдущее и новое показания одного счётчика. Количество тарифных зон и их порядок (T1, T2 и т. д.) должны совпадать между собой, а также с настройками счетчика в системе АСКУЭ. Если количество или порядок зон различаются система отклоняет поступившее показание и не использует его.

    Validaciya Tarifnyh Zon

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

    Валидация профиля мощности

    Для профиля мощности ключевыми являются проверки времени. Первая проверка – «ровное» время: метка времени делится на период интегрирования. Если без остатка – время ровное (14:00 или 14:30 при периоде 30 минут), это стандартные данные, которые идут в расчёт энергии. Если с остатком (Например, 14:17) – неровное, обычно после ручной настройки или сбоя прибора. Система не выбрасывает такие значения, но при расчете профиля энергии эти данные не учитываются.

    Validaciya Vremeni Profilya

    Дальше профиль проверяется на непрерывность: считается разница между концом предыдущего профиля и началом запрашиваемого – если ноль, профили идут друг за другом без разрывов.

    Валидация мгновенных значений

    Мгновенные значения – это напряжение, ток, мощность, коэффициент мощности, частота и другие физические параметры. Здесь проверки делятся на две группы: форматную и физическую. Сначала система смотрит, что запись привязана к счётчику и к конкретному моменту времени, иначе сохранять нечего. Все физические величины проверяются на числовой формат.Chrome 8w Aj F3cs Pk

    Кроме формата, система проверяет физическую допустимость коэффициента мощности. Его значение должно находиться в диапазоне от −1 до 1. Например, 1,5 − корректное число по формату, но недопустимое значение коэффициента мощности. Такое значение система будет блокировать.

    Сквозные валидации

    Помимо проверок отдельных моделей, на бэкенде работают сквозные механизмы.

    • Data Provenance – маркировка происхождения данных. Система знает, откуда пришло значение: от прибора, вручную, из импорта или расчёта.

    • Эталонные профили – сравнение с типовыми профилями для выявления аномалий.

    • Автоматическое восстановление – при разрыве данных запускается ретроспективный доопрос прибора. Если это невозможно, применяется алгоритмическое замещение с фиксацией причины и метода расчёта.

    • Блокировка показаний, участвовавших в отчётности, – закрытые периоды не пересчитываются.

    • Расчётные параметры – Ктт, Ктн, потери. Реальная замена трансформаторов тока не должна приводить к перерасчёту прошлых периодов. В системе это реализуется через смену счётчика с новыми параметрами: старые периоды остаются неизменными.

    Рекомендация: изменения Ктт, Ктн и потерь мы рекомендуем оформлять через замену счётчика с новыми параметрами, чтобы сохранить корректность расчётов за прошлые периоды. Подробнее про замену счётчика можно почитать здесь: «Замена электросчётчика в системе „яЭнергетик“: просто и понятно».

    В заключении хотим акцентировать внимание на том, что наша система данные не изменяет произвольно и не корректирует под себя. Она именно отсеивает неверные данные. Значения, рассчитанные для заполнения пропусков всегда явно обозначены, чтобы вы могли отличить их от данных прибора. Например, в разделе «Сбор данных / Обзор» на вкладке «Интервальный учёт» такие интервалы выделяются красным на тепловой карте. Другими словами мы концентрируем внимание на чистоте данных, а в случае отсутствия данных производим допустимые заполнения известными рассчетными методами для экономии ресурсов клиента, к слову об этом мы подробно рассказываем в нашей статье О расчетах, балансах и отчетах на яЭнергетик.рф.

    В следующей части: Валидация на пользовательском уровне: ошибки в примечаниях, игнорирование показаниях и другие инструменты нашей системы.

    Вопросы и ответы

    Хотите получать вовремя новости о выходе статей в нашем блоге? Подписывайтесь на телеграм-канал yaenergetikru

    Статья является объектом авторского права ООО "Технологии энергоучета". Запрещается любое использование текста и материалов данной статьи без указания источника: яЭнергетик.рф или yaenergetik.ru

    Последнее обновление: 11.11.2026 13:10

    АСКУЭ яЭнергетик

    Учет электроэнергии онлайн
    Быстрая настройка удалённого опроса
    7 дней бесплатного пользования
    Узнать подробнее
    Статья
    Валидация данных в АСКУЭ «яЭнергетик». Часть 2: Уровень внутренней логики и базы данных