Режим доски — это новый режим.
Определение шаблона доски
Шаблон Blackboard является расширением шаблона Observer, широко используемого архитектурного шаблона. Определение шаблона доски выглядит следующим образом:
Позволяет одновременно читать и писать сообщения, широко взаимодействовать с сообщениями.
Режим доски позволяет одновременно читать и записывать несколько сообщений, а различные логические схемы обработки данных в приложении взаимодействуют и взаимодействуют друг с другом для выполнения анализа и обработки данных. Это похоже на то, как несколько разных экспертов обмениваются идеями на одной доске, каждый эксперт может получать информацию, написанную другими экспертами на доске, а также может обновлять информацию на доске своим собственным анализом, тем самым влияя на других экспертов.
Архитектурный стиль классной доски
Архитектура доски включает в себя три части: источник знаний, доску и элемент управления. Источник знаний состоит из нескольких отдельных блоков независимых вычислений, предоставляющих знания для решения проблемы, а источник знаний реагирует на изменения на доске и только модифицирует доску. Доска — это глобальная база данных, которая содержит полное состояние детерриторизации и является единственным средством, через которое взаимодействуют источники знаний. Ответы источника знаний контролируются изменениями состояния доски. Доски обычно используются в системах, которые не имеют детерминированных алгоритмов для решения задач, таких как проектирование программных систем, таких как обработка сигналов, планирование задач и оптимизация компилятора.
Этот шаблон полезен для проблем без определенной стратегии решения. Режим Blackboard состоит из 3 основных компонентов.
- Blackboard: структурированная глобальная память, содержащая объекты из пространства решений.
- Источники знаний: специализированные модули и их собственные представления
- Компоненты управления: выбор, настройка и выполнение модулей
Все компоненты имеют доступ к доске. Компоненты могут генерировать новые объекты данных, которые добавляются на доску. Компоненты ищут определенные типы данных на доске и находят их путем сопоставления с существующими источниками знаний.
Сценарии применения
Шаблон Blackboard не позволяет найти подходящее решение для преобразования необработанных данных в высокоуровневые структуры данных (диаграммы или английские фразы). Области, в которых существуют эти проблемы, включают, среди прочего, визуальное распознавание, распознавание изображений, распознавание речи и наблюдение. Этот тип проблемы имеет следующие характеристики: ее можно разложить на несколько подзадач, но каждая подзадача относится к разным профессиональным областям.
Для такого рода задач силы, влияющие на ее решение, следующие:
- Невозможно обойти все пространство решений за разумное время;
- Учитывая незрелость поля, может потребоваться попробовать разные алгоритмы для одной и той же подзадачи;
- Алгоритмы для подзадач различаются;
- Входы, промежуточные результаты и конечные результаты представляются по-разному, и разные алгоритмы реализуются в соответствии с разными парадигмами;
- Один алгоритм обычно использует результаты другого алгоритма;
- Включает недостоверные данные и приблизительные решения;
- Поддержка параллелизма может также потребоваться, когда порядок выполнения алгоритма не определен.
Решаемая проблема: может быть разложена на несколько подзадач, но каждая подзадача относится к другой области знаний.
Решение: Режим доски предназначен для решения этой проблемы. Режим доски подобен нескольким экспертам, обменивающимся идеями на одной доске. Каждый эксперт может получить информацию, написанную другими экспертами на доске. Мой собственный анализ для обновления информации на доске. доске, тем самым влияя на других экспертов, просто решают проблему, которую можно разложить на несколько подзадач, но каждая подзадача принадлежит к другой профессиональной области.
база данных как доска
Используя базу данных в качестве доски, производители обновляют информацию о данных, а различные потребители обмениваются информацией в базе данных.Это наиболее распространенная реализация. Этот метод технически прост в реализации, требует меньше усилий и хорошо знаком. Недостатком является то, что в случае большого количества сообщений и высокочастотного доступа производительность будет несколько снижена.
В этом режиме чтение сообщений активно «вытягивается» потребителями, поэтому этот режим также называется «режимом вытягивания».
очередь сообщений в виде доски
Используя очередь сообщений в качестве доски, режим доски можно реализовать с помощью модели подписки-публикации. Это тоже важная причина, по которой был забыт режим доски: Очередь сообщений (MessageQueue) стала очень популярной. Она может выполнять как синхронную, так и асинхронную обработку сообщений. Я считаю, что все широко использовались в разработке и стали кроссом. -border Стандарт де-факто для системного взаимодействия.
В этом режиме сообщения, полученные потребителями, активно отправляются, поэтому этот режим также называется «режимом отправки».
Суммировать
Этот документ в основном кратко представляет режим доски, который является общим архитектурным режимом.Различная логика обработки данных в приложении взаимодействует и взаимодействует друг с другом для завершения анализа и обработки данных. Преимущества режима доски: его можно использовать для недетерминированного решения задач, эвристического процесса решения, ремонтопригодности и возможности повторного использования. Но это не гарантирует ожидаемого результата, неэффективно, откатывается назад, не поддерживает параллелизм, а доступ к разделяемому пространству нужно синхронизировать.
На самом деле, мы много использовали очереди сообщений, которые позволяют не только добиться синхронной обработки сообщений, но и добиться асинхронной обработки, которая широко используется в разработке.
Подписывайтесь на свежие статьи, приглашаю обратить внимание на мой публичный номер
Ссылаться на
- Дзен шаблонов проектирования
- Режим Blackboard архитектуры программного обеспечения