管道-过滤器, 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主,老曹同学的马甲线,仅个人学习记录。侵删。
管道-过滤器架构是一种面向数据流的软件设计模式,通过将数据处理过程分解成一系列独立的过滤器,每个过滤器负责单一的数据处理任务,数据在过滤器间通过管道传输。这种模式支持高效并行处理,过滤器的重用与替换,但也有数据传输开销大和错误处理复杂的缺点。主动和被动过滤器的概念进一步丰富了架构的灵活性。
856

被折叠的 条评论
为什么被折叠?



