DataManager: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 84: Строка 84:
 
* Выполняет загрузку данных в зависимости от метода записи (api / sql)
 
* Выполняет загрузку данных в зависимости от метода записи (api / sql)
 
* Поддерживает выражения
 
* Поддерживает выражения
 +
 +
=== Целевая схема использования ===
 +
[[Файл:DM- Целевая схема.png|слева|1000px|border]]

Версия 05:59, 2 сентября 2022

DataManager - сервис по работе с загрузкой данных в объекты платформы 3V / объекты БД

Цель:

  • Организация загрузки данных из внешних источников без привлечения разработчиков
  • Снижение времени на выполнение интеграций с внешними источниками данных

Задачи:

  • Передача данные из внешних источников в объекты платформы 3V
  • Загрузка данные из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.))

Методы

*на примере 3v-group.net

Название Конроллер Описание Результат
/Data/Load Data Метод для загрузки данных в таблицу Json-модель загруженных в таблицу данных
/Data/LoadFromFile/LoadFromFile Data Метод для загрузки данных из файла Json-модель результата загрузки данных из файла

Загрузка данных из файла в справочник

/DataConverter/ConvertXmlToJson DataConverter (дополнительный функционал) Текст ячейки Текст ячейки
/DataConverter/ConvertCsvToJson DataConverter (дополнительный функционал) Текст ячейки Текст ячейки
/DataConverter/ConvertExcelToJson DataConverter (дополнительный функционал) Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки Текст ячейки
Текст ячейки Текст ячейки Текст ячейки Текст ячейки

Объекты репозитория

DataManagerTasks - Задачи загрузки данных

  • NAME - наименование задачи
  • OPTIONS - Json настройка с описанием источника, приемника, перекодировки данных
  • BEGIN_DATE - дата последнего запуска
  • NEXT_DATE - дата следующего запуска
  • COOLDOWN - периодичность запуска
  • DESCRIPTION - описание задачи

DataManagerTasksResults - Результаты загрузки данных

  • RESULT - результат выполнения экземпляра задачи
  • STATUS - статус выполнения
  • BEGIN_DATE - дата начала
  • END_DATE - дата завершения
  • TASK - сама задача загрузки данных

Источники данных

  • files
  • dbase
  • https

Поддерживаемые форматы для предоставления данных - JSON, XML, CSV, XLSX

Приемники данных

  • Справочники (методы записи -platform API, DB script, - задается в настройках задачи);
  • Показатели (методы записи - DB script, - задается в настройках задачи);
  • Таблица DB (методы записи - DB script, - задается в настройках задачи).

Логика работы

Producer (host)

  • Producer опрашивает все тенанты указанные в конфигурационном файле;
  • Рассчитывает задачу и ее параметры;
  • Предоставляет интерфейс для получения задачи consumer-ом.

Задачи берутся по очереди из каждого тенанта с одним набором параметров. Т.е. в рамках тенанта задачи выполняются по очереди, в рамках сервиса каждая следующая задача берется из следующего тенанта. (из навигаторе берется самый первый справочник справочника Задачи загрузки данных

Consumer

  • После запуска consumer обращается к producer;
  • Получает от него модель задачи с параметрами на выполнение;
  • После выполнения задачи, независимо от результата, запрашивает новую задачу для выполнения;
  • Результат выполнения задачи записывается в справочник с результатами выполнения задач.

DataMapper

Сервис который занимается преобразованием данных.

  • Приводит все данные к формату json;
  • Исходя из настроек маппинга, разворачивает json в плоский (табличный) вид;
  • Выполняет загрузку данных в зависимости от метода записи (api / sql)
  • Поддерживает выражения

Целевая схема использования

DM- Целевая схема.png