以数据为中心的架构
在以数据为中心的架构中,数据集中,并由其他组件频繁访问,从而修改数据。这种风格的主要目的是实现数据的完整性。以数据为中心的架构由通过共享数据存储库进行通信的不同组件组成。组件访问共享数据结构,并且相对独立,即它们仅通过数据存储进行交互。
以数据为中心的架构最著名的例子是数据库架构,其中使用数据定义协议创建通用数据库模式 - 例如,RDBMS 中一组具有字段和数据类型的相关表。
以数据为中心的架构的另一个例子是 Web 架构,它具有通用数据模式(即 Web 的元结构)并遵循超媒体数据模型,并且流程通过使用基于 Web 的共享数据服务进行通信。

组件类型
有两种类型的组件 −
一个中央数据结构或数据存储或数据存储库,负责提供永久数据存储。它代表当前状态。
数据访问器或一组独立组件,它们在中央数据存储上运行、执行计算并可能返回结果。
数据访问器之间的交互或通信只能通过数据存储进行。数据是客户端之间唯一的通信方式。控制流将架构分为两类 −
- 存储库架构风格
- 黑板架构风格
存储库架构风格
在存储库架构风格中,数据存储是被动的,数据存储的客户端(软件组件或代理)是主动的,它们控制逻辑流。参与组件检查数据存储是否有变化。
客户端向系统发送请求以执行操作(例如插入数据)。
计算过程是独立的,由传入的请求触发。
如果事务输入流中的事务类型触发要执行的进程的选择,则它是传统的数据库或存储库架构,或被动存储库。
这种方法广泛用于 DBMS、图书馆信息系统、CORBA 中的接口存储库、编译器和 CASE(计算机辅助软件工程)环境。

优点
提供数据完整性、备份和恢复功能。
提供代理的可扩展性和可重用性,因为它们彼此之间没有直接通信。
减少软件组件之间瞬态数据的开销。
缺点
更容易发生故障,并且可能进行数据复制或重复。
数据存储的数据结构与其代理之间的高度依赖性。
数据结构的变化会严重影响客户端。
数据的演变既困难又昂贵。
分布式数据在网络上移动数据的成本。
黑板架构风格
在黑板架构风格中,数据存储是主动的,而其客户端是被动的。因此,逻辑流程由数据存储中的当前数据状态决定。它有一个黑板组件,充当中央数据存储库,并由不同的计算元素构建和执行内部表示。
黑板中存储了许多独立作用于公共数据结构的组件。
在这种风格中,组件仅通过黑板进行交互。每当数据存储发生变化时,数据存储都会向客户端发出警报。
解决方案的当前状态存储在黑板中,处理由黑板的状态触发。
当数据发生变化时,系统会向客户端发送通知(称为触发器和数据)。
这种方法可用于某些 AI 应用程序和复杂应用程序,例如语音识别、图像识别、安全系统和业务资源管理系统等。
如果中央数据结构的当前状态是选择要执行的流程的主要触发器,则存储库可以是黑板,并且此共享数据源是活动代理。
与传统数据库系统的主要区别在于,黑板架构中计算元素的调用是由黑板的当前状态触发的,而不是由外部输入触发的。
黑板的组成部分模型
黑板模型通常由三个主要部分组成 −
知识源 (KS)
知识源,也称为监听器或订阅器,是独特且独立的单元。它们解决问题的各个部分并汇总部分结果。知识源之间的交互通过黑板进行。
黑板数据结构
问题解决状态数据被组织成依赖于应用程序的层次结构。知识源对黑板进行更改,从而逐步解决问题。
控制
控制管理任务并检查工作状态。

优点
提供可扩展性,可轻松添加或更新知识源。
提供并发性,允许所有知识源并行工作,因为它们彼此独立。
支持假设实验。
支持知识源代理的可重用性。
缺点
结构变化黑板可能会对其所有代理产生重大影响,因为黑板和知识源之间存在密切的依赖关系。
由于只期望近似解,因此很难决定何时终止推理。
多个代理同步的问题。
系统设计和测试的主要挑战。