管道—过滤器简介 软件体系结构

管道-过滤器, Pipes and Filters是面向数据流的软件体系结构。

它为处理数据流的系统提供了一种结构。
单步数据处理封装在一个过滤器中,数据在过滤器之间的管道传输。
以便实现对数据的多次操作。

如下图所示:
在这里插入图片描述
data source(数据源),filter(过滤器)和data sink(数据汇点)三者,使用pipe(管道)进行连接
过滤器视为组件。
管道视为连接件。
管道将一个过滤器的输出传给另一个过滤器的输入。

优点:
1.高效的并行效率(灵活使用active(主动) 过滤器)
2.过滤器可以重组/重用/可替换
3.不需要中间保存

缺点:
1.数据传输和转化开销大
2.错误处理复杂

过滤器有主动/被动之分(active/passive)
主动过滤器是指从上一级管道中取出pull数据
被动过滤器指接受上一级管道中的数据只接受push进来的数据

介绍几个情况:

Write,向下一级组件写操作(push)
data,数据流的流向
Read,向上一级组件读(pull)
Transform,数据转化操作

[1] 主动数据源 + 被动过滤器 + 被动数据汇点
在这里插入图片描述
[2] 被动数据源 + 被动过滤器 + 主动数据汇点
在这里插入图片描述

[3] 被动数据源 + 主动过滤器 + 主动数据汇点
在这里插入图片描述
[4] 被动数据源 + 多种主动过滤器 + 被动数据汇点
在这里插入图片描述

图片参考B站up主,老曹同学的马甲线,仅个人学习记录。侵删。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章