0%

数据流体系风格

数据流体系结构风格

定义

  • 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

过程控制