5277 (5277) wrote,
5277
5277

Category:

Основные функции сервера

Мое решение позволяет работать с контроллером напрямую (через клиента).
Кроме этого есть сервер предоставляющий облачное решение.

Здесь описан функционал именно сервера, много другого функционала будет описано при рассмотрении остальных узлов системы.

1) Сбор статистики с возможностью выгрузки с агрегацией за час, день, неделю и детальной за любой период
2) Передача команд контроллеру, далее конечным устройствам, с гарантией доставки данных и таймаутом. Реализован механизм обратной связи клиента - вы всегда будете знать выполнена ваша команда или нет.
3) Лог истории действий над исполнительным устройством, а также API для его выгрузки.
4) Хранение проекта с поддержкой версионности (частичная реализация), здесь же механизмы оффлайн редактирования проекта с защитой от одновременного редактирования несколькими пользователями и полноценного информирования.
5) Обеспечение связи всех узлов, узлы могут быть в локальной сети(за натом). Никаких статических внешних IP и настроек NAT не требуется. Также гарантируется передача информации между узлами без задержек за исключением действительных проблем с сетью.
6) Кроме механизмов передачи команд контроллеру и показаний клиенту реализован механизм заявок как мгновенных (синхронных) так и без ожидания ответа (асинхронных), в том числе и односторонних.
7) Возможность изменения 'на лету' некоторых данных проекта, не существенных для контроллера, например название исполнительного устройства.
8) Механизмы взаимодействия клиента с сервером не зависят от состояния контроллера. К примеру, настройки проекта активируются даже если контроллер в данный момент недоступен.
9) Возможность привязки к проекту локаций другого проекта.
10) Поддержка неограниченного количества пользоваетелей  с одновременным использованием устройств и функционала.
11) Разграничение доступов как на уровне локаций так и на уровне конечных устройств.
12) Профили пользователей, полный функционал - смена паролей, подтверждение email, ФИО, контактные данные и т.п.
13) Поддержка сценариев как независимого функционала от проекта, пользователь может иметь доступ к сценариям не имея доступа к редактированию проекта, в том числе когда проект кем-то редактируется.
14) Поддержка сторонних сервисов, таких как Алиса, Telegram и SMS(частичная реализация)
15) На базе п.6, возможность организации моста между клиентом и контроллером(далее интерфейсом конечного устройства - к примеру моста TCP/IP c хоста клиента в интерфейс RS232 конечного устройства)
16) Широкие возможности информирования, в клиент, email, Telegram, SMS(частичная реализация)
17) Наблюдение за доступностью узлов - возможность информирования при потери связи с контроллером и т.п.
18) Много языковая поддержка(частичная реализация).
19) Вся служебная информация хранится в виде словарей, которая обновляется налету и не требует обновления контроллера или клиента. Т.е. обновлять эти узлы необходимо только в случае значительных изменений функционала узла, такие изменения, как ввод новых устройств в систему обновления не требуют.

При этом обращаю внимание, что проект постоянно дорабатывается, т.е. функционал постоянно растет по мере необходимости.
Tags: Сервер
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments