Skip to main content

Архітектура Fledge

На наступній діаграмі показано архітектуру Fledge:

  • Компоненти, виділені синім, є плагінами. Плагіни — це легкі модулі, які дозволяють розширювати Fledge. Існує безліч типів плагінів: орієнтований на південь, на північ, механізм зберігання, фільтри, правила подій і механізми доставки подій. Плагіни можуть бути написані на Python (для швидкої розробки) або C++ (для високої продуктивності).
  • Компоненти з синьою лінією у верхній частині поля є мікросервісами. Вони можуть співіснувати в одному робочому середовищі або можуть бути розподілені між кількома середовищами.

fledge_architecture

Ядро Fledge

Мікросервіс Core координує всі операції Fledge. Лише одна основний сервіс може бути активною в будь-який час.

Основні функції включають:

Scheduler : Гнучке планування для запуску процесів.

Configuration Management: підтримує конфігурацію всіх компонентів Fledge. Дозволяє оновлення програмного забезпечення для всіх компонентів Fledge.

Monitoring: стежить за всіма компонентами Fledge і, якщо буде виявлено проблему (наприклад, мікросервіс, що не відповідає), пробує самовідновитися.

REST API: надає зовнішнє керування та API даних для функціональності всіх компонентів.

Backup: функція резервного копіювання та відновлення системи Fledge.

Audit Logging: ведення журналів системних змін для цілей аудиту.

Certificate Storage: підтримує сертифікати безпеки для різних компонентів, включаючи південні сервіси, північні сервіси та безпеку API.

User Management: підтримує інформацію про автентифікацію та дозволи для адміністраторів Fledge.

Asset Browsing: дозволяє запит щодо збережених даних активів.

Рівень зберігання

Мікросервіс Storage забезпечує дві основні функції: a) підтримка конфігурації Fledge і стану виконання, і b) зберігання/буферизація даних активів. Тип механізму зберігання даних підключається, тому в інсталяціях з невеликою площею можна вибрати плагін для SQLite, або в інсталяціях з великою кількістю одночасних запитів і більшим розміром може підійти Postgresql. У мікроінсталяціях, наприклад на пристроях Edge, або коли потрібна висока пропускна здатність, найкращим варіантом може бути тимчасове сховище в пам’яті.

Південні Мікросервіси

Південні Мікросервіси дозволяють двонаправлену передачу даних і метаданих між пристроями Edge, такими як датчики, виконавчі пристрої або ПЛК, і Fledge. У невеликих системах цей сервіс може бути встановлена на бортових пристроях Edge. Південні компоненти зазвичай розгортаються як постійно запущені сервіси, які постійно чекають нових даних.

Північні Мікросервіси

Північні Мікросервіси дозволяють двонаправлену передачу даних і метаданих між платформою Fledge і більшими системами, розташованими локально або в хмарі. Більші системи можуть бути приватними та загальнодоступними хмарними сервісами даних, пропрієтарними рішеннями або примірниками Fledge з більшою площею. Північні компоненти зазвичай розгортаються як одноразові завдання, які періодично обертаються та надсилають пакетні дані, а потім зменшуються. Однак їх також можна розгортати як безперервно працюючі сервіси.

Фільтри

Фільтри — це плагіни, які змінюють потоки даних, що проходять через Fledge. Вони можуть бути розгорнуті на вході (у південному сервісі) або на виході (у північному сервісі). Як правило, вхідні фільтри використовуються для перетворення або збагачення даних, а вихідні фільтри використовуються для зменшення потоку до північних труб та інфраструктури, тобто шляхом стиснення або зменшення даних, які витікають. У «трубопроводах» можна застосувати кілька фільтрів, і після налаштування трубопроводи можна застосовувати до кількох південних або північних служб.

Зразок існуючих фільтрів:

Expression: застосувати довільне математичне рівняння до одного чи кількох активів.

Python35: запускати вказаний користувачем код python для одного чи кількох активів.

Metadata: застосувати теги до даних, щоб відзначити пристрій/розташування, звідки вони надійшли, або приписати дані виготовленій частині.

RMS/Peak: узагальнити дані про вібрацію шляхом генерації середньоквадратичного значення (RMS) для n зразків.

FFT: генерувати швидке перетворення Фур’є (ШПФ) даних вібрації для виявлення форм сигналів компонентів.

Delta: Надсилайте лише дані, які змінилися на вказану кількість.

Rate: буферизувати дані, але не надсилати їх, тоді, якщо станеться помилка, надіслати попередні дані.

Contrast: Посилення контрастності даних типу зображення

Фільтри можуть бути об’єднані разом, щоб сформувати трубопровід даних від джерела даних до рівня зберігання в південному мікросервісі. Від шару зберігання до місця призначення на півночі.

pipelines

Це дозволяє створювати обробку даних за допомогою графічного інтерфейсу Fledge з мінімальною потребою або взагалі без кодування. Фільтри, застосовані в південному сервісі, впливатимуть на всі вихідні потоки, тоді як ті, що застосовуються на півночі, впливатимуть лише на дані, які надсилаються через це конкретне підключення до зовнішньої системи.

Сервіс подій

Механізм подій підтримує нуль або більше пар правило/дія. Кожне правило підписується на потрібні дані активу та оцінює їх. Якщо правило спрацьовує, виконується пов’язана з ним дія.

Data Subscriptions:Правила можуть оцінювати кожну точку даних для певного активу або вони можуть оцінювати мінімальне, максимальне чи середнє значення вказаного вікна точок даних.

Rules: найосновніше правило оцінює, чи значення перевищують/нижче вказаного порогу. Плагін Expression оцінить довільне математичне рівняння для одного або кількох активів. Плагін Python35 виконає вказаний користувачем код python для одного або кількох активів.

Actions: Існують різноманітні механізми доставки для виконання програми Python, створення довільних даних, зміни конфігурації Fledge, надсилання контрольного повідомлення, підняття квитка в системі перевірки проблем або електронної пошти/slack/hangout/повідомлення.

Сервіс Встановлення Точки Контролю

Fledge не призначений для заміни систем керування в реальному часі, проте він дозволяє здійснювати некритичне керування за допомогою мікросервісу керування. Керуючі повідомлення можуть надходити з кількох джерел; північний мікросервіс, службу подій, REST API або із запланованих подій. Завданням сервіси керування є направлення цих керуючих повідомлень до правильного пункту призначення. Він також забезпечує просту форму скриптів, щоб дозволити керуючим повідомленням генерувати ланцюжки записів і операцій у південному сервісі, а також змінювати конфігурацію самого Fledge.

REST API

API Fledge надає методи адміністрування Fledge і взаємодії з даними в ньому.

Графічний інтерфейс користувача

Графічний інтерфейс користувача дозволяє адмініструвати Fledge. Усі можливості графічного інтерфейсу доступні через REST API, тому Fledge також можна адмініструвати за допомогою скриптів або інших інструментів керування. Графічний інтерфейс містить сторінки для:

Health: Подивіться, чи реагують сервіси. Переглядайте дані, які надходять і виходять із Fledge

Assets & Readings: аналітика даних у Fledge

South: управління південними сервісами

North: управління північними сервісами

Notifications: управління правилами механізму подій і механізмами доставки

Configuration Management: управління конфігурацією всіх компонентів

Schedules: гнучке управління планувальником процесів і завдань

Certificate Store: управління сертифікатами

Backup & Restore: резервне копіювання/відновлення Fledge

Logs: переглянути інформацію про систему, сповіщення, аудит, пакети та журнали завдань

Support: підтримка вмісту комплекту зі звітами про діагностику системи

Settings: встановлення/скидання параметрів з’єднання та GUI