黑板模式是一種常用的架構模式,套用中的多種不同數據處理邏輯相互影響和協同來完成數據分析處理。就好像多位不同的專家在同一黑板上交流思想,每個專家都可以獲得別的專家寫在黑板上的信息,同時也可以用自己的分析去更新黑板上的信息,從而影響其它專家。
基本介紹
- 中文名:黑板模式
- 性質:架構模式
- 特點:分為多個任務解決
- 缺點:效率低下
套用場景,優缺點,實際套用,
套用場景
黑板模式的套用場景是要解決的任務可以分為多個子任務。解決方案如下圖所示:
優缺點
黑板模式的優點:可用於非確定性問題求解,啟發式解決過程,可維護性,可重用
不足:不能確保期望結果,效率低下,回退,不支持並行,共享空間的訪問需要同步
實際套用
在實際套用中常見的實現模式有:
A 利用資料庫
利用資料庫充當黑板,不同的套用共享資料庫中信息,並且可以更新數據信息。這也是最常見的實現方式。
特點:
1 便於實現信息的查詢,篩選和統計,這方面關係資料庫提供了SQL 92的強大支持。
2 不能用於較高實時性要求的環境,這種實現是工作在“拉模式”下的,並且高頻率的訪問資料庫會導致嚴重的系統性能問題。
B 利用發布—訂閱模式
這種實現方式通常採用訊息佇列作為黑板,佇列工作在主題模式(Topic),專家作為佇列的訂閱者,同時可以向佇列傳送訊息,訊息會被傳送至所有訂閱者。以上過程實現了專家間的信息交流。
特點:
1 可以有效套用於實時性要求較高的系統,這種實現工作在“推模式”下。
2 難於實現信息的統計分析,不像實現方式一那樣可以通過SQL支持,這些工作必須開發者自己完成。