管道过滤器架构

多用于串行多步骤的任务处理。

大致结构为:source -> pipe -> filter -> pipe -> filter -> pipe -> sink

例如shell命令:cat xxx.txt | sort | gunzip

就是一个管道过滤器。|为管道符,连接各阶段处理,而各个阶段的处理cat sort gunzip 就是一个过滤器(相对穿过它们的真正的文本数据而言)

几种工作方式:

active source/ passive filter / passive sink

passive source / passive filter / active sink

passive source / active filter / passive sink

passiive source / active multiple filter / passive sink

filter:流水线的处理单元,在上个例子中的cat, sort, gunzip,管道过滤器中的数据都会顺次接受处理

pipe:一般用队列实现,起到缓冲或者同步的作用

优点:

1,过滤器可以重用,自由组合

2,中间结果自然传递

3,在多个filter都主动执行时可以高效并行处理

缺点:

1,数据传输的开销较大

2,转换开销也较大

3,错误处理比较复杂

4,处理流中,实现用户交互,控制各部状态比较复杂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值