求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
软件架构与设计教程
1.介绍
2.关键原则
3.架构建模
4.面向对象范式
5.数据流体系结构
6.以数据为中心的架构
7.分层架构
8.面向交互的架构
9.分布式架构
10.基于组件的架构
11.用户界面
12.架构设计
 
 
软件架构与设计-以数据为中心的架构
来源: Tutorials Point     翻译:Alice(火龙果软件)

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



401 次浏览
6次

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

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

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

组件类型

有两种类型的组件 -

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

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

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

  • 存储库架构风格

  • Blackboard 架构风格

存储库架构风格

在存储库体系结构样式中,数据存储是被动的,数据存储的客户端(软件组件或代理)是主动的,它们控制逻辑流。参与的组件检查数据存储是否有更改。

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

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

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

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

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

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

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

    缺点

    • 它更容易出现故障,并且可能会进行数据复制或复制。

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

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

    • 数据的演进既困难又昂贵。

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

    Blackboard 架构风格

    在 Blackboard Architecture Style 中,数据存储处于活动状态,其客户端处于被动状态。因此,逻辑流由数据存储中的当前数据状态决定。它有一个黑板组件,充当中央数据存储库,内部表示由不同的计算元素构建和操作。

    • 许多独立作用于通用数据结构的组件都存储在黑板中。

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

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

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

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

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

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

    Blackboard 模型的组成部分

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

    知识源 (KS)

    知识源,也称为侦听器或订阅者,是不同且独立的单元。它们解决部分问题并汇总部分结果。知识源之间的交互通过黑板独特地进行。

    Blackboard 数据结构

    解决问题的状态数据被组织到一个与应用程序相关的层次结构中。知识源对黑板进行更改,以逐步导致问题的解决方案。

    控制

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

    优势

    • 提供可扩展性,提供易于添加或更新知识源的功能。

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

    • 支持假设的实验。

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

    缺点

    • Blackboard 的结构变化可能会对其所有智能体产生重大影响,因为 Blackboard 和知识源之间存在密切的依赖关系。

    • 可能很难决定何时终止推理,因为只期望近似解决方案。

    • 多个代理的同步问题。

    • 系统设计和测试的主要挑战。
    401 次浏览
    6次