DataManager: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 19: | Строка 19: | ||
Загрузка данных из файла в справочник | Загрузка данных из файла в справочник | ||
|- | |- | ||
− | |/DataConverter/ConvertXmlToJson || DataConverter (дополнительный функционал) || | + | |/DataConverter/ConvertXmlToJson || DataConverter (дополнительный функционал) || Метод для преобразования данных из формата XML в Json || Json-модель результата преобразования данных |
|- | |- | ||
− | |/DataConverter/ConvertCsvToJson || DataConverter (дополнительный функционал) || | + | |/DataConverter/ConvertCsvToJson || DataConverter (дополнительный функционал) || Метод для преобразования данных из формата CSV в Json || Json-модель результата преобразования данных |
|- | |- | ||
− | |/DataConverter/ConvertExcelToJson|| DataConverter (дополнительный функционал) || | + | |/DataConverter/ConvertExcelToJson|| DataConverter (дополнительный функционал) || Метод для преобразования данных из формата Excel в Json || Json-модель результата преобразования данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для копирования элемента справочника || Идентификатор нового элемента справочника |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для копирования данных показателя || Json-модель скопированных данных показателя |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для загрузки данных в таблицу || Json-модель загруженных в таблицу данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для загрузки данных в справочник || Json-модель загруженных в справочник данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для передачи данных от сервера клиенту || Json-модель результата передачи данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Тестовый метод для передачи данных от сервера клиенту || Json-модель результата передачи данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для передачи данных от клиента, ответ порождается сервером || Json-модель результата передачи данных |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для установки объектов DataManager: |
+ | |||
+ | * FirstInstallTechObjects | ||
+ | * DataManagerTasks | ||
+ | * DataManagerTasksResults | ||
+ | || Json-модель результата установки объектов DataManager | ||
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для проверки задачи на завершение и формирования логов и статистики || Json-модель результатов проверки и формирования логов и статистики |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для добавления результата задачи для ведения статистики и логирования || Json-модель результатов добавления задачи |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для формирования логов и статистики по задаче || Json-модель результатов формирования логов и статистики |
|- | |- | ||
− | | Текст ячейки || Текст ячейки || | + | | Текст ячейки || Текст ячейки || Метод для получения информации по задаче || Json-модель задачи |
|} | |} | ||
=== Объекты репозитория === | === Объекты репозитория === |
Версия 12:58, 5 сентября 2022
DataManager - сервис по работе с загрузкой данных в объекты платформы 3V / объекты БД
Цель:
- Организация загрузки данных из внешних источников без привлечения разработчиков
- Снижение времени на выполнение интеграций с внешними источниками данных
Задачи:
- Передача данные из внешних источников в объекты платформы 3V
- Загрузка данные из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.))
Содержание
Методы
Название | Конроллер | Описание | Результат |
---|---|---|---|
/Data/Load | Data | Метод для загрузки данных в таблицу | Json-модель загруженных в таблицу данных |
/Data/LoadFromFile/LoadFromFile | Data | Метод для загрузки данных из файла | Json-модель результата загрузки данных из файла
Загрузка данных из файла в справочник |
/DataConverter/ConvertXmlToJson | DataConverter (дополнительный функционал) | Метод для преобразования данных из формата XML в Json | Json-модель результата преобразования данных |
/DataConverter/ConvertCsvToJson | DataConverter (дополнительный функционал) | Метод для преобразования данных из формата CSV в Json | Json-модель результата преобразования данных |
/DataConverter/ConvertExcelToJson | DataConverter (дополнительный функционал) | Метод для преобразования данных из формата Excel в Json | Json-модель результата преобразования данных |
Текст ячейки | Текст ячейки | Метод для копирования элемента справочника | Идентификатор нового элемента справочника |
Текст ячейки | Текст ячейки | Метод для копирования данных показателя | Json-модель скопированных данных показателя |
Текст ячейки | Текст ячейки | Метод для загрузки данных в таблицу | Json-модель загруженных в таблицу данных |
Текст ячейки | Текст ячейки | Метод для загрузки данных в справочник | Json-модель загруженных в справочник данных |
Текст ячейки | Текст ячейки | Метод для передачи данных от сервера клиенту | Json-модель результата передачи данных |
Текст ячейки | Текст ячейки | Тестовый метод для передачи данных от сервера клиенту | Json-модель результата передачи данных |
Текст ячейки | Текст ячейки | Метод для передачи данных от клиента, ответ порождается сервером | Json-модель результата передачи данных |
Текст ячейки | Текст ячейки | Метод для установки объектов DataManager:
|
Json-модель результата установки объектов DataManager |
Текст ячейки | Текст ячейки | Метод для проверки задачи на завершение и формирования логов и статистики | Json-модель результатов проверки и формирования логов и статистики |
Текст ячейки | Текст ячейки | Метод для добавления результата задачи для ведения статистики и логирования | Json-модель результатов добавления задачи |
Текст ячейки | Текст ячейки | Метод для формирования логов и статистики по задаче | Json-модель результатов формирования логов и статистики |
Текст ячейки | Текст ячейки | Метод для получения информации по задаче | Json-модель задачи |
Объекты репозитория
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)
- Поддерживает выражения