管道—過濾器簡介 軟件體系結構

管道-過濾器, 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主,老曹同學的馬甲線,僅個人學習記錄。侵刪。

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