以数据为中心的架构


在以数据为中心的架构中,数据是集中的,并且被其他组件频繁访问,从而修改数据。这种风格的主要目的是实现数据的完整性。以数据为中心的体系结构由通过共享数据存储库进行通信的不同组件组成。这些组件访问共享数据结构并且相对独立,因为它们仅通过数据存储进行交互。

以数据为中心的架构最著名的例子是数据库架构,其中通用数据库模式是使用数据定义协议创建的——例如,RDBMS 中一组具有字段和数据类型的相关表。

以数据为中心的体系结构的另一个示例是 Web 体系结构,它具有通用数据模式(即 Web 的元结构)并遵循超媒体数据模型,并且进程通过使用共享的基于 Web 的数据服务进行通信。

以数据为中心的架构

组件类型

有两种类型的组件 -

  • 中央数据结构或数据存储或数据存储库,负责提供永久数据存储。它代表当前状态。

  • 数据访问器或独立组件的集合,在中央数据存储上运行、执行计算并可能返回结果。

数据访问者之间的交互或通信仅通过数据存储进行。数据是客户之间唯一的沟通方式。控制流将架构分为两类 -

  • 存储库架构风格
  • 黑板架构风格

存储库架构风格

在存储库架构风格中,数据存储是被动的,数据存储的客户端(软件组件或代理)是主动的,它们控制逻辑流。参与的组件检查数据存储中的更改。

  • 客户端向系统发送请求以执行操作(例如插入数据)。

  • 计算过程是独立的,并由传入请求触发。

  • 如果事务输入流中的事务类型触发要执行的流程的选择,则它是传统数据库或存储库体系结构,或被动存储库。

  • 这种方法广泛应用于 DBMS、图书馆信息系统、CORBA 中的接口存储库、编译器和 CASE(计算机辅助软件工程)环境。

存储库架构风格

优点

  • 提供数据完整性、备份和恢复功能。

  • 提供代理的可扩展性和可重用性,因为它们彼此之间没有直接通信。

  • 减少软件组件之间瞬态数据的开销。

缺点

  • 它更容易出现故障,并且可能发生数据复制或重复。

  • 数据存储的数据结构及其代理之间的高度依赖性。

  • 数据结构的变化对客户端影响很大。

  • 数据的演变是困难且昂贵的。

  • 在网络上移动分布式数据的数据的成本。

黑板架构风格

在 Blackboard 架构风格中,数据存储是主动的,其客户端是被动的。因此,逻辑流由数据存储中的当前数据状态决定。它有一个黑板组件,充当中央数据存储库,并且内部表示由不同的计算元素构建和作用。

  • 黑板中存储了许多独立作用于公共数据结构的组件。

  • 在这种风格中,组件仅通过黑板进行交互。每当数据存储发生更改时,数据存储都会向客户端发出警报。

  • 解决方案的当前状态存储在黑板中,并由黑板的状态触发处理。

  • 当数据发生变化时,系统向客户端发送称为触发器和数据的通知。

  • 这种方法存在于某些人工智能应用和复杂应用中,例如语音识别、图像识别、安全系统和业务资源管理系统等。

  • 如果中央数据结构的当前状态是选择要执行的进程的主要触发因素,则存储库可以是黑板,并且该共享数据源是活动代理。

  • 与传统数据库系统的主要区别在于,黑板架构中计算元素的调用是由黑板的当前状态触发的,而不是由外部输入触发。

黑板模型部分

黑板模型通常由三个主要部分组成 -

知识来源(KS)

知识源,也称为听众订阅者,是独特且独立的单位。他们解决问题的一部分并汇总部分结果。知识源之间的交互是通过黑板独特地进行的。

黑板数据结构

解决问题的状态数据被组织成依赖于应用程序的层次结构。知识源对黑板进行更改,从而逐步解决问题。

控制

控制管理任务并检查工作状态。

黑板数据结构

优点

  • 提供可扩展性,可轻松添加或更新知识源。

  • 提供并发性,允许所有知识源并行工作,因为它们彼此独立。

  • 支持假设实验。

  • 支持知识源代理的可重用性。

缺点

  • 由于黑板和知识源之间存在紧密的依赖关系,黑板的结构变化可能对其所有智能体产生重大影响。

  • 由于只期望近似解,因此很难决定何时终止推理。

  • 多个代理的同步问题。

  • 系统设计和测试的主要挑战。