Дата-центрированная архитектура
В архитектуре, ориентированной на данные, данные централизованы, и к ним часто обращаются другие компоненты, которые изменяют данные. Основная цель этого стиля - добиться целостности данных. Архитектура, ориентированная на данные, состоит из различных компонентов, которые обмениваются данными через общие репозитории данных. Компоненты имеют доступ к общей структуре данных и относительно независимы, поскольку взаимодействуют только через хранилище данных.
Наиболее известными примерами архитектуры, ориентированной на данные, являются архитектура базы данных, в которой общая схема базы данных создается с помощью протокола определения данных - например, набор связанных таблиц с полями и типами данных в СУБД.
Другим примером архитектуры, ориентированной на данные, является веб-архитектура, которая имеет общую схему данных (т. Е. Мета-структуру Интернета) и следует модели данных гипермедиа, а процессы взаимодействуют посредством использования общих сетевых служб данных.
Типы компонентов
Есть два типа компонентов -
А central dataструктура или хранилище данных или репозиторий данных, которое отвечает за обеспечение постоянного хранения данных. Он представляет текущее состояние.
А data accessor или набор независимых компонентов, которые работают с центральным хранилищем данных, выполняют вычисления и могут возвращать результаты.
Взаимодействие или обмен данными между устройствами доступа к данным осуществляется только через хранилище данных. Данные - единственное средство связи между клиентами. Поток управления разделяет архитектуру на две категории:
- Стиль архитектуры репозитория
- Архитектурный стиль доски
Стиль архитектуры репозитория
В стиле архитектуры репозитория хранилище данных является пассивным, а клиенты (программные компоненты или агенты) хранилища данных активны, которые управляют логическим потоком. Участвующие компоненты проверяют хранилище данных на предмет изменений.
Клиент отправляет в систему запрос на выполнение действий (например, вставку данных).
Вычислительные процессы независимы и запускаются входящими запросами.
Если типы транзакций во входном потоке транзакций инициируют выбор процессов для выполнения, то это традиционная архитектура базы данных или репозитория или пассивный репозиторий.
Этот подход широко используется в СУБД, библиотечной информационной системе, репозитарии интерфейсов в CORBA, компиляторах и средах CASE (автоматизированная разработка программного обеспечения).
Преимущества
Обеспечивает целостность данных, функции резервного копирования и восстановления.
Обеспечивает масштабируемость и возможность многократного использования агентов, поскольку они не имеют прямого взаимодействия друг с другом.
Снижает накладные расходы на переходные данные между программными компонентами.
Недостатки
Он более уязвим к сбоям, и возможна репликация или дублирование данных.
Высокая зависимость между структурой данных хранилища данных и его агентами.
Изменения в структуре данных сильно влияют на клиентов.
Эволюция данных сложна и дорога.
Стоимость перемещения данных по сети для распределенных данных.
Архитектурный стиль доски
В архитектурном стиле Blackboard хранилище данных активно, а его клиенты пассивны. Следовательно, логический поток определяется текущим статусом данных в хранилище данных. В нем есть компонент «классная доска», который действует как центральное хранилище данных, а внутреннее представление создается и используется различными вычислительными элементами.
На доске хранится ряд компонентов, которые действуют независимо от общей структуры данных.
В этом стиле компоненты взаимодействуют только через доску. Хранилище данных предупреждает клиентов о каждом изменении хранилища данных.
Текущее состояние решения сохраняется на доске, и обработка запускается по состоянию доски.
Система отправляет уведомления, известные как trigger и данные для клиентов, когда в данных происходят изменения.
Этот подход используется в некоторых приложениях искусственного интеллекта и сложных приложениях, таких как распознавание речи, распознавание изображений, системы безопасности, системы управления бизнес-ресурсами и т. Д.
Если текущее состояние центральной структуры данных является основным триггером выбора процессов для выполнения, репозиторий может быть доской, а этот общий источник данных - активным агентом.
Основное отличие от традиционных систем баз данных состоит в том, что вызов вычислительных элементов в архитектуре классной доски запускается текущим состоянием доски, а не внешними входами.
Части модели Blackboard
Модель доски обычно представлена тремя основными частями:
Knowledge Sources (KS)
Источники знаний, также известные как Listeners или же Subscribersявляются отдельными и независимыми единицами. Они решают части проблемы и объединяют частичные результаты. Взаимодействие между источниками знаний происходит исключительно через школьную доску.
Blackboard Data Structure
Данные о состоянии решения проблем организованы в иерархию, зависящую от приложения. Источники знаний вносят изменения в доску, которые постепенно приводят к решению проблемы.
Control
Control управляет задачами и проверяет состояние работы.
Преимущества
Обеспечивает масштабируемость, что позволяет легко добавлять или обновлять источник знаний.
Обеспечивает параллелизм, который позволяет всем источникам знаний работать параллельно, поскольку они независимы друг от друга.
Поддерживает экспериментирование с гипотезами.
Поддерживает возможность повторного использования агентов источников знаний.
Недостатки
Изменение структуры доски может оказать значительное влияние на всех ее агентов, поскольку существует тесная зависимость между классной доской и источником знаний.
Может быть трудно решить, когда прекратить рассуждения, поскольку ожидается только приблизительное решение.
Проблемы с синхронизацией нескольких агентов.
Основные проблемы при проектировании и тестировании системы.