📅  最后修改于: 2020-12-14 03:29:36             🧑  作者: Mango
在以数据为中心的体系结构中,数据是集中的,并由修改数据的其他组件频繁访问。这种样式的主要目的是实现数据的完整性。以数据为中心的体系结构由通过共享数据存储库进行通信的不同组件组成。组件访问共享的数据结构并且相对独立,因为它们仅通过数据存储进行交互。
以数据为中心的体系结构最著名的示例是数据库体系结构,在该体系结构中,通用数据库模式是使用数据定义协议创建的,例如,一组相关的表以及RDBMS中的字段和数据类型。
以数据为中心的体系结构的另一个示例是具有通用数据模式(即Web的元结构)并遵循超媒体数据模型的Web体系结构,并且进程通过使用基于Web的共享数据服务进行通信。
有两种类型的组件-
中央数据结构或数据存储或数据存储库,负责提供永久性数据存储。它代表当前状态。
数据访问器或在中央数据存储上运行,执行计算并可能返回结果的独立组件的集合。
数据访问者之间的交互或通信仅通过数据存储进行。数据是客户端之间唯一的通信方式。控制流将架构分为两类-
在“存储库体系结构样式”中,数据存储是被动的,数据存储的客户端(软件组件或代理)是主动的,它们控制逻辑流。参与组件检查数据存储是否有更改。
客户端向系统发送请求以执行操作(例如,插入数据)。
计算过程是独立的,并由传入请求触发。
如果事务输入流中的事务类型触发要执行的流程的选择,则它是传统的数据库或存储库体系结构,还是被动存储库。
这种方法广泛用于DBMS,图书馆信息系统,CORBA中的接口存储库,编译器和CASE(计算机辅助软件工程)环境中。
提供数据完整性,备份和还原功能。
提供代理的可伸缩性和可重用性,因为它们彼此之间没有直接的通信。
减少软件组件之间瞬态数据的开销。
它更容易出现故障,并且可能进行数据复制或复制。
数据存储及其代理的数据结构之间的高度依赖。
数据结构的变化会极大地影响客户。
数据的演进既困难又昂贵。
在网络上为分布式数据移动数据的成本。
在Blackboard Architecture样式中,数据存储为主动存储,而其客户端为被动存储。因此,逻辑流由数据存储中的当前数据状态确定。它具有用作中央数据存储库的黑板组件,并且内部表示是由不同的计算元素构建和执行的。
黑板上存储了许多独立于公共数据结构起作用的组件。
在这种样式中,组件仅通过黑板交互。每当数据存储发生更改时,数据存储都会向客户端发出警报。
解决方案的当前状态存储在黑板中,并且处理由黑板状态触发。
当数据发生更改时,系统会向客户端发送称为触发器和数据的通知。
在某些AI应用程序和复杂的应用程序(例如语音识别,图像识别,安全系统和业务资源管理系统等)中可以找到这种方法。
如果中央数据结构的当前状态是选择要执行的过程的主要触发因素,则存储库可以是黑板,并且此共享数据源是活动代理。
与传统数据库系统的主要区别在于,黑板体系结构中计算元素的调用是由黑板的当前状态而不是外部输入触发的。
黑板模型通常包含三个主要部分-
知识来源(KS)
知识源,也称为侦听器或订户,是不同且独立的单元。他们解决了部分问题并汇总了部分结果。知识资源之间的互动是唯一通过黑板进行的。
黑板数据结构
解决问题的状态数据被组织成一个与应用程序相关的层次结构。知识来源对黑板进行了更改,从而逐步解决了该问题。
控制
Control管理任务并检查工作状态。
提供可扩展性,可轻松添加或更新知识源。
提供并发性,因为所有知识源彼此独立,因此可以并行工作。
支持假设的实验。
支持知识源代理的可重用性。
黑板的结构变化可能会对所有代理产生重大影响,因为黑板和知识源之间存在密切的依赖关系。
由于仅期望近似解决方案,因此很难决定何时终止推理。
多个代理同步中的问题。
系统设计和测试中的主要挑战。