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 등록 정보 값을 초과할 경우 데이터 서비스를 페일오버합니다.