DataManager: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 7: | Строка 7: | ||
* Передача данные из внешних источников в объекты платформы 3V | * Передача данные из внешних источников в объекты платформы 3V | ||
* Загрузка данные из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.)) | * Загрузка данные из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.)) | ||
+ | |||
+ | === Методы === | ||
+ | [https://3v.3v-group.net/data-manager-public/swagger/index.html#/ ''*на примере 3v-group.net''] | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название !! Конроллер !! Описание !! Результат | ||
+ | |- | ||
+ | |[https://3v.3v-group.net/data-manager-public/swagger/index.html#/Data/Data_Load /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) | ||
+ | * Поддерживает выражения |
Версия 05:46, 2 сентября 2022
DataManager - сервис по работе с загрузкой данных в объекты платформы 3V / объекты БД
Цель:
- Организация загрузки данных из внешних источников без привлечения разработчиков
- Снижение времени на выполнение интеграций с внешними источниками данных
Задачи:
- Передача данные из внешних источников в объекты платформы 3V
- Загрузка данные из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.))
Методы
Название | Конроллер | Описание | Результат |
---|---|---|---|
/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)
- Поддерживает выражения