Построение территориально распределенной информационной системы

Преимущества платформы ODANT в полной мере раскрываются при проектировании сложной территориально распределенной системы большой организации.

Формулировка задачи

Существует класс организаций, которые ведут территориально распределенную деятельность. В частности, к этому классу относятся организации связи. Исходя из особенностей деятельности, у данных организаций распределенными территориально являются как объекты (например, инфраструктура связи), так и органы управления (территориальные филиалы). Можно выделить два крайних подхода к построению архитектуры информационной системы такого рода организации.

Полностью децентрализованная система. Каждое территориально обособленное подразделение само создает и эксплуатирует информационную систему.

Облачная система. Информационная система полностью централизованная, находится в одном дата-центре, и все подразделения работают с ним удаленно через интернет.

Каждый из подходов имеет свои преимущества и недостатки, которые сведены в таблицу

Облачная системаДецентрализованная системаСетецентрическая система
Остается работоспособной в случае возникновения проблем на глобальных каналах связи++
Остается работоспособной в случае возникновения проблем на центральном сервере
++
Полностью совместимые данные по всем территориальным объектам
++
Возможность быстро получать отчеты и анализировать данные по всей системе
++
Снижение стоимость разработки в целом для системы за счет централизации
++
Способна обрабатывать большое количество данных, поступающих от оборудования
++

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

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

Базовый вариант архитектуры распределенной информационной системы ODANT

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

При изменении конфигурации, она выкладывается на сервер поддержки ODANT, и оттуда автоматически обновляется на каждом локальном сервере. Также на сервере поддержки хранятся общие данные для системы (справочники НСИ). При обращении к справочникам в своей локальной системе пользователи автоматически подключаются к общим справочникам.

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

Технические решения построения для распределенной системы ODANT

Единая система безопасности

На платформе ODANT реализована единая система безопасности для всех серверов. Пользователь регистрируется в системе один раз. И далее с одной учетной записью может работать на любом из серверов, с соблюдением политики безопасности

Мгновенное обновление конфигураций

После того, как на сервере поддержки обновлена конфигурация, пользователи на всех локальных серверах сразу начинают работать с обновленной конфигурацией. Для этого не требуется останавливать и перезагружать сервера.

Объектная информационная модель

Технология ODANT построена на хранении данных в XML-подобном бинарном формате. В такой технологии при изменении описания информационной модели (изменения полей, типов данных и проч.) не требуется производить преобразование имеющейся информации. Поэтому после обновления конфигурации не нужно останавливать базы данных для проведения конвертации. То есть, обновления конфигурации всегда происходят в «горячем» режиме без остановки локальных серверов.

Глобальная адресация всех сущностей

Каждый объект в ODANT имеет свой уникальный адрес. Например H:1CA540F779EA7DD/D:WORK/D:1D049250731F853/C:1CBA020785BECD9/O:1CDEE77AC0E68FB

  • H:1CA540F779EA7DD — уникальный адрес хоста (сервера);
  • D:1D049250731F853 — уникальный адрес базы внутри хоста;
  • C:1CBA020785BECD9 — уникальный адрес класса;
  • O:1CDEE77AC0E68FB — уникальный адрес объекта.

Используя данных уникальный адрес мы можем обратиться к нужному объекту без каких-либо дополнительных процедур поиска. Как например, мы обращаемся к странице в web-браузере. Глобальные уникальные адреса имеют все сущности системы: классы, файлы, базы и т.д.

Автоматическая маршрутизация

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

Общие справочники

Наиболее частое применение общих данных в распределенных системах — это общие справочники. В ODANT справочник, размещенный на сервере поддержки, автоматически становится общим, доступный для использования на всех локальных серверах.

Возможность автономной работы дочерних серверов

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

Механизм автоматического сбора аналитической информации

В технологии ODANT реализован механизм автоматического сбора аналитической информации с дочерних серверов. На уровне сервера территориального управления мы будем видеть аналитическую информацию со всех подчиненных подразделений территории, на сервере поддержки — агрегированную аналитическую информацию по всем подразделениям.

Базовая логика работы распределенной базы данных ODANT

Распределенное хранение классов и объектов

В ODANT минимальной структурной единицей данных является класс. Например, класс «Акт ввода в эксплуатацию».

Каждый уникальный класс в системе ODANT имеет свой уникальный id. Например, «Акт ввода в эксплуатацию» может иметь cid 1CBA020785BECD9. Этот cid (class id) присваивается при создании класса и в дальнейшем не изменяется.

Минимальной единицей данных в ODANT является объект. Каждый уникальный объект в системе ODANT имеет свой уникальный id. Например oid 1CDEE77AC0E68FB. Этот oid (object id) присваивается при создании объекта и в дальнейшем не изменяется. По правилам платформы ODANT класс с одним cid может быть расположен на разных серверах. Например, мы располагаем этот класс на серверах локальных подразделений и на сервере поддержки. Система автоматически обеспечит нам полную идентичность функционала всех одинаковых классов, расположенных на локальных серверах за счет описанного выше мгновенного обновления. То есть, когда мы обновляем класс на сервере поддержки, он автоматически обновляется на всех локальных серверах.

При этом объекты, созданные на разных серверах будут четко отделены друг от друга уникальным oid. Данный oid всегда уникален вне зависимости от того, на каком сервере объект создан.

Так мы получаем структурно одинаковые данные, которые находятся на разных серверах. При локальной работе с данными мы просто работаем с данными на необходимом нам сервере. В случае, если нам необходимо получить отчет на основании данных со всех локальных серверов, мы сделаем запрос, в котором укажем в качестве класса источника необходимый нам cid класса, и полученные с каждого сервера данные объединим (это объяснение принципа, в реальной работе применяются инструменты, которые выполняют данные запросы автоматически). Так как система обеспечивает нам полную идентичность структуры данных, то полученные обобщенные данные будут корректными.

Конфигурация в понятиях ODANT — это набор классов, которые обеспечивают необходимый функционал. Соответственно, распределенная работа конфигураций — это распределенная работа классов.

Более сложные варианты построения распределенных информационной системы ODANT

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