Заказать демо

Серверная архитектура

Архитектура платформы Docsvision реализована c расчетом на неограниченное масштабирование, удобство интеграции и сопровождения системы.
Скачать описание платформы
Платформа Docsvision 5.5 создавалась с учетом следующих архитектурных концепций
  • Многоуровневая модель
  • Сервисная архитектура
  • Возможность работы в самом разнообразном аппаратном окружении
  • Возможность независимого масштабирования каждого компонента системы
  • Оптимальное распределение функций между отдельными сервисами, для обеспечения производительности системы и максимальной утилизации оборудования
  • Возможность независимой установки и Upgrade каждого компонента системы
  • Возможность облачного базирования отдельных сервисов системы
  • Возможность независимого программного расширения каждого сервиса системы
  • Наличие полнофункционального API и WEB - API для обеспечения возможности программной реализации произвольных функций использования системы и интеграционных сценариев
Docsvision 5.5
Компоненты серверной архитектуры

Платформа Docsvision 5.5 включает в состав следующие компоненты:

Сервисы хранения данных

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

  • Сервис баз данных реализован на базе одного из промышленных SQL серверов – MicrosoftSQL или PostgreSQL. В зависимости от редакции системы и потребностей в масштабировании может включать в себя либо один сервер, либо использовать дополнительные сервисы масштабирования – кластер сервиса базы данных, который включает один сервер создания объектов, произвольное количество серверов представления.
  • Файловое хранилище может располагаться внутри сервера БД, во внешней базе данных или на сетевом файловом ресурсе.

Сервер приложений

Сервер приложений — основной сервис системы, реализующий прикладные сервисы доступа данным, разграничение прав доступа, управление пользовательскими сессиями и их контекстом и пр. Все взаимодействие клиентских компонент системы и внешних приложений осуществляется через сервер приложения, который является основным инструментом контроля за доступом к данным. Сервер приложений реализован в архитектуре web-сервиса и предоставляет серверный API для доступа к функциям системы. Также, сервер приложений управляет файловыми хранилищами.

Сервис управления бизнес-процессами (BPM)

Сервис управления бизнес-процессами (BPM) — данный сервис реализует бизнес-процессы, созданные в системе c помощью конструктора бизнес-процессов или автоматически сгенерированные отдельными приложениями. Сервис бизнес-процессов управляет приоритетами выполняемых процессов, запускает подпроцессы и контролирует их синхронизацию, реализует отдельные функции процессов, маршрутизирует задания, вносит изменения в документы, реализует функции взаимодействия с внешними системами через функции шлюзов и пр.

Сервер web-клиента

Сервер web-клиента реализует функции web-клиента Docsvision и предоставляет доступ к WEBAPI системы.

Сервис полнотекстового индексирования и поиска

Сервис реализует функции полнотекстового индексирования содержимого структурированных объектов системы и файлов и предоставляет возможность полнотекстового поиска. В системе возможно использование двух вариантов полнотекстового поиска.

1. На базе стандартных инструментов полнотекстового поиска MicrosoftSQL-сервера, который не требует отдельного физического сервера и работает в контексте MicrosoftSQL-сервиса, что обычно используется в относительно небольших внедрениях.

2. На базе службы Elasticsearch, которая обеспечивает масштабирование сервиса поиска и обладает большими возможностями по обеспечению интеллектуального писка.

Файловый сервис

Файловый сервис – обеспечивает управление расположением бинарных данных в файловых хранилищах, перемещает файлы между различными хранилищами согласно правилам управления хранением.

Кэш-сервер

Кэш сервер – обеспечивает временное хранение данных для минимизации повторных обращений к базе данных.

Средства масштабирования и повышения производительности

Система Docsvision 5.5 обеспечивает разнообразные инструменты масштабирования, и средства независимой кластеризации каждого сервиса платформы.
1
Сервер базы данных
Инструменты повышения производительности и масштабирования сервиса базы данных Docsvision 5.5 включают:
  • Разделение бизнес и служебных данных
    Бизнес-данные отделены от служебных — системных журналов (логов), временных данных, которые создаются при генерации представлений и выполнении каких-то служебных операций и т.п. Все служебные данные могут быть вынесены в сателлитные базы данных. Это снижает нагрузку на основную базу, повышает ее быстродействие и дает возможность масштабирования, кроме того, это позволяет осуществлять гибкое управление ресурсами серверов.
  • Возможность создания кластеров серверов баз данных
    Кластер реализуется посредством технологии MS SQL AlwaysOn. Отказоустойчивый и высокопроизводительный кластер позволяет распределять нагрузку между master (запись данных) и slave (чтение данных) узлами кластера. Для распределения нагрузки на стороне сервера применяется алгоритм round Robin, что в совокупности с оптимизацией сервера для работы с учетом особенностей AlwaysOn и использованием технологии SQL сервера In-memory OLTP, позволяет добиться небывалой масштабируемости.
  • Возможность создания архивных баз данных
    Cоздание архивных баз данных, позволяет разделять структурированные данные на оперативные и архивные с возможностью автоматического вытеснения архивных данных в отдельную БД. Политика вытеснения гибко настраивается. Это позволяет не только снизить нагрузку на оперативную базу данных, но и оптимизировать стратегии резервного копирования и восстановления данных.
Другие возможности масштабирования
Сервер приложений

Сервер приложений Docsvision 5.5 реализован на базе State Less архитектуры, что позволяет устанавливать несколько серверов приложения в кластер в режиме распределения нагрузки (Network Load Balancing, NLB). При этом, запросы от разных клиентов динамически перенаправляются на наименее загруженный узел кластера. Для каждого узла в NLB можно определить долю общей нагрузки, которую он в состоянии обработать, либо задать равномерное распределение нагрузки по узлам. Такой кластер снижает нагрузку на отдельный сервер приложений при работе большого количества конкурентных пользователей, что позволяет реализовывать стратегию горизонтального масштабирования и постепенно наращивать аппаратную мощность кластера сервера приложений. 

Сервер бизнес-процессов

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

Кэш-сервер

Дополнительное повышение производительности системы и возможности масштабирования дает использование кэш-сервера в системе. Кэш-сервер реализован с использованием не реляционной In-memorу базы данных Redis. Существенно сокращается количество обращений к сервису базы данных, за счет временного хранения данных на дополнительном кэш-сервере для повторного использования. Сервер дает возможность построения единого сервера кэширования для кластера серверов приложений, обеспечивая быстрый доступ к данным, повторное использование их на различных узлах кластера и снижение нагрузки на БД.

Файловый сервис

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

  • Локальной БД Docsvision на основе полей таблиц;
  • Встроенный в БД Docsvision на основе FileStream;
  • Внешней MSSQL БД на основе полей таблиц;
  • Внешней MSSQL БД на основе FileStream;
  • Провайдер внешнего файлового хранилища.

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

Полное описание платформы Docsvision 5.5

Скачайте полное описание платформы
Docsvision 5.5
Подробное описание из чего состоит и как работает платформа Docsvision.
Документ будет полезен системным архитекторам и другим техническим специалистам, ответственным за внедрение корпоративных систем электронного документооборота.
Заполняя настоящую форму, Вы подтверждаете свое полное согласие на обработку Ваших персональных данных, в соответствии с Федеральным законом от 27.07.2006 г. № 152-ФЗ "О персональных данных". Обработка персональных данных ООО «ДоксВижн» осуществляется в соответствии Политикой ООО «ДоксВижн» в отношении обработки персональных данных, в которой также содержатся сведения о реализуемых требованиях к защите персональных данных