DSDL 透過提供預先決定的模型來瞭解實施故障監視器的大部分複雜性。 當資源在某節點上啟動時,Monitor_start 方法將在 PMF 的控制下啟動故障監視器。 只要資源正在該節點上執行,故障監視器就會在迴圈中執行。 DSDL 故障監視器的高階邏輯如下所示。
scds_fm_sleep 函式使用 Thorough_probe_interval 屬性決定探測之間的間隔時間。 在此間隔期間由 PMF 決定的任何應用程式程式故障都將導致重新啟動資源。
探測本身將傳回一個值,指示從 0 (無故障) 到 100 (完全故障) 的故障程度。
探測傳回值被傳送給 scds_action 函式,該函式維護在 Retry_interval 屬性的間隔時間內的累計故障歷史。
scds_action 函式決定在發生故障情況下應執行的作業,如下所示。
如果累計的故障低於 100,則不執行任何作業。
如果累計的故障達到 100 (完全故障),則重新啟動資料服務。 如果超過 Retry_interval,則重設歷史。
如果在 Retry_interval 指定的時間內,重新啟動的次數超過 Retry_count 屬性值,則對資料服務進行故障轉移。