
数据流体系结构风格
定义
the availability of data controls the computation
the structure of the design is decided by orderly motion of data from process to process
in a pure data flow system, there is no other interaction between processes
组成
基本构件:处理
作用
- 数据处理
接口
- 输入输出端口
计算模型
- 输入端口读数,经过计算,写到输出端口
连接件:数据流
作用
- 传递数据流
特点
- 单向
- 异步
- 有缓冲
接口
- reader
- writer
计算模型
- 构件A的输出
- 构件B的输入
分类
批处理体系结构风格
定义
- 基本构件:独立的应用程序
- 连接件:某种类型的媒质
- 连接件定义了相应的数据流图,表达拓扑结构
- 每个处理步骤是一个独立的程序
- 每一步必须在前一步结束后才能开始
- 数据必须是完整的,以整体的方式传递
特点
- 整体传递数据
- 构件粒度大
- 延迟高,实时性差
- 无并发(应该说的是构件之间)
栗子
- 相似代码检测
管道-过滤器体系结构风格
场景
- 数据源源不断的产生
定义
- 把系统分解为几个连贯的通过数据流连接的处理步骤
- 递增的读取和消费数据流
组成
构件:过滤器
作用
- 将源数据变换成目标数据
变换类型
- 增删
- 改类型
- 分解、合并数据流
特点:独立
- 无上下文信息
- 不保留状态
- 不感知其它过滤器
连接件:管道
- 单向传输
优势
- 构件粒度小
- 高内聚、低耦合
- 软件复用
- 并行执行
劣势
- 格式转换
- 不适合处理交互的应用??
栗子
- pipe and filter
- 编译器
- Unix pipes
- Image processing