Новый механизм синхронизации данных с подсистемой отчетов

Прежний механизм синхронизации основан на использовании возможностей mssql integration services. Процесс синхронизации осуществлялся путем запуска специально созданных dts пакетов (для каждой библиотеки документов). И хотя такие dts пакеты формировались автоматически, они имели ряд существенных недостатков:

  • Процесс синхронизации не поддерживал инкрементальный режим в полной мере
  • Ресурсоемкость и длительность выполнения, не позволяющая обеспечить актуальность данных в отчетах в течение рабочего дня
  • Изменения в структуре библиотеки документов приводили к полной не работоспособности пакета и потере всех имеющихся данных
  • Невозможность синхронизировать данные, перемещенные в архив

Приняв во внимание эти недочеты, был разработан новый механизм синхронизации данных. Результатом этого стала служба FlowPoint.ReportService. Новый механизм предусматривает:

  • Динамическое изменение структуры таблиц в базе данных в соответствии со структурой библиотеки документов
  • Частичное обновление существующих данных при изменении структуры библиотеки документов
  • Инкрементальный режим работы без потери существующих данных
  • Возможность синхронизации данных, перемещенных в архив
  • Существенное увеличение быстродействия и небольшое потребление ресурсов *

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

* Быстродействие и потребление ресурсов зависит от источника данных. Если источником данных для библиотеки выступает архив (по факту таблица в базе данных, куда переносится xml описание элемента списка), то синхронизация большого объема данных может серьезно увеличить нагрузку на сеть, потребление оперативной памяти, а общее время выполнения может существенно вырасти.

Диспетчер служб Windows: