七、其他調度系統
7.1 上傳數據調度系統
數據上傳跟數據採集是類似的,具體區別有兩點:
(1)上傳設備較少,一般只有一個平臺。
(2)上傳以主動推送爲主,有定時性。
由於上傳數據一般需要查詢歷史記錄,所以需要把記錄存放在數據庫中。上傳函數定時執行,當檢測到某種數據已經到了發送時間時,從數據庫中提取相關數據,拼接出要上傳的內容。把上傳內容存放到數據庫中,標記未上傳。
另外有一個獨立線程,定時掃描數據庫,找出未上傳的記錄。當有相關記錄時,把記錄標記爲已上傳。
7.2 內部觸發調度系統
對設備的控制有可能來自內部,基於數據的變化。當數據滿足一定條件時,觸發若干設備產生一系列的動作。如果使用硬編碼實現這一功能,則系統跟某一特定需求耦合度過高。
創建一個可配置的列表,每一項包含以下內容:
觸發條件 |
觸發事件 |
時延 |
優先級 |
基於設備/因子虛擬化,觸發條件的寫法類似:
A設備.a因子==1 && B設備.b因子>3
而觸發事件的寫法類似:
A設備.a因子=0
在每一個觸發項裏面,觸發事件可以有多個。
調度系統運行時,根據優先級對觸發列表進行排序,然後循環每一項,檢查觸發條件。如果條件滿足,則把觸發事件交給反控調度系統處理。
7.3 他方系統調度系統
他方系統要調取我方數據,方式有兩種:
(1)我方主動定時推送
(2)他方請求,我方響應相應數據
無論是何種方式,皆可把他方系統看成平臺,通過平臺通訊協議(如212協議)進行交互。