基本介紹
- 中文名:CNC 1.0
- 目的:讓兩個客戶機直接通訊
- 實現方法:用Socket編程實現
- 管理方法:CNC 伺服器將客戶機分組管理
最簡單的協同工作模式是讓兩個客戶機直接通訊,可以用Socket編程實現。假設有 n 個客戶機參加協同工作,每個客戶機將與所有其它的客戶機通訊。那么總共存在n(n-1)/2 個Socket直接通訊,並且每個客戶機的變動將導致其它客戶機的修改。這種Socket直接通訊使得協同工作的管理和客戶機的程式設計變得非常困難。CNC系統提供了支持“發布—訂閱(Publish-Subscribe)”與“組播(Multicast)” 模式的伺服器與API,可以高效地管理多個組群的協同工作,並使得客戶機的程式設計十分簡單。CNC 1.0的系統結構如圖所示。
CNC 伺服器將客戶機分組管理。在“發布—訂閱”模式中,將產生數據的進程稱為生產者(Producer),將接受數據的進程稱為消費者(Consumer)。生產者可以向伺服器發布數據,伺服器保存這些數據。消費者可以向伺服器訂閱數據。每個客戶機可能是很多數據的生產者或消費者。同一時刻,CNC系統允許有任意多個生產者和消費者存在。CNC的“發布—訂閱” 功能是用TCP協定實現的。