黑板架构模式及其常见实现方式
2014-01-23 10:02
1091 查看
黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的分析去更新黑板上的信息,从而影响其它专家。
黑板模式的应用场景是要解决的任务可以分为多个子任务。解决方案如下图所示:
优缺点:
黑板模式的优点:可用于非确定性问题求解,启发式解决过程,可维护性,可重用
不足:不能确保期望结果,效率低下,回退,不支持并行,共享空间的访问需要同步。
在实际应用中常见的实现模式有:
A 利用数据库
利用数据库充当黑板,不同的应用共享数据库中信息,并且可以更新数据信息。这也是最常见的实现方式。
特点:
1 便于实现信息的查询,筛选和统计,这方面关系数据库提供了SQL 92的强大支持。
2 不能用于较高实时性要求的环境,这种实现是工作在“拉模式”下的,并且高频率的访问数据库会导致严重的系统性能问题。
B 利用发布—订阅模式
这种实现方式通常采用消息队列作为黑板,队列工作在主题模式(Topic),专家作为队列的订阅者,同时可以向队列发送消息,消息会被发送至所有订阅者。以上过程实现了专家间的信息交流。
特点:
1 可以有效应用于实时性要求较高的系统,这种实现工作在“推模式”下。
2 难于实现信息的统计分析,不像实现方式一那样可以通过SQL支持,这些工作必须开发者自己完成。
黑板模式的应用场景是要解决的任务可以分为多个子任务。解决方案如下图所示:
优缺点:
黑板模式的优点:可用于非确定性问题求解,启发式解决过程,可维护性,可重用
不足:不能确保期望结果,效率低下,回退,不支持并行,共享空间的访问需要同步。
在实际应用中常见的实现模式有:
A 利用数据库
利用数据库充当黑板,不同的应用共享数据库中信息,并且可以更新数据信息。这也是最常见的实现方式。
特点:
1 便于实现信息的查询,筛选和统计,这方面关系数据库提供了SQL 92的强大支持。
2 不能用于较高实时性要求的环境,这种实现是工作在“拉模式”下的,并且高频率的访问数据库会导致严重的系统性能问题。
B 利用发布—订阅模式
这种实现方式通常采用消息队列作为黑板,队列工作在主题模式(Topic),专家作为队列的订阅者,同时可以向队列发送消息,消息会被发送至所有订阅者。以上过程实现了专家间的信息交流。
特点:
1 可以有效应用于实时性要求较高的系统,这种实现工作在“推模式”下。
2 难于实现信息的统计分析,不像实现方式一那样可以通过SQL支持,这些工作必须开发者自己完成。
相关文章推荐
- 黑板模式的常见实现方式
- 单例模式的3种实现方式, 及其性能对比
- 单例模式 及其实现方式
- 常见的五种单例模式实现方式
- 【转】单例模式的几种实现方式及其特点
- 架构设计之设计模式 (四) Java中多种方式实现单例模式
- 架构设计之设计模式 (四) Java中多种方式实现单例模式
- Windows Phone 7 MVVM模式通讯方式之实现Attached Behavior
- 日常小结-多线程的单例模式的三种实现方式
- 常见三种存储方式DAS、NAS、SAN的架构及比较
- Android常见的按钮监听器实现方式
- Struts+Hibernate模式: jsp->servlet->session bean->DAO->Hibernate->Database 各层面的功能及其实现
- Mysql实现企业级主从复制和互为主从模式架构
- 常用的五种单例模式实现方式
- BlogEngine.Net架构与源代码分析系列part3:数据存储——基于Provider模式的实现
- 转:jQuery 常见操作实现方式
- 常见设计模式的解析和实现(C++)之十三-FlyWeight模式
- 常见设计模式的解析和实现(C++)之二-Abstract Factory模式
- 压缩感知中的常见测量矩阵及其MATLAB实现代码
- C# 实现AOP 的几种常见方式