← 목록으로

modeling/5.scheduling-execution-domain.md


5. 스케줄링 실행 통제 ERD

도메인 개요

스케줄링/실행 통제는 촬영 후보를 실제 운용 일정으로 배치하고, 명령 요청과 실행을 통제하는 업무 도메인이다.

서브 도메인별 업무

포함 테이블

도메인 ERD (Mermaid)

erDiagram

SCHEDULE_RUN {
  uuid schedule_run_id PK
  datetime horizon_start
  datetime horizon_end
  datetime freeze_from
  datetime freeze_to
  string objective_policy
  string status
  datetime created_at
}

SCHEDULE_SLOT {
  uuid slot_id PK
  uuid schedule_run_id FK
  uuid satellite_id FK
  uuid candidate_id FK
  uuid superseded_by_slot_id FK
  datetime start_time
  datetime end_time
  string slot_type
  string state
  int version
  boolean locked
  datetime created_at
}

SCHEDULE_SLOT_HISTORY {
  uuid slot_hist_id PK
  uuid slot_id FK
  uuid actor_user_id FK
  string action
  string prev_state
  string new_state
  datetime changed_at
  string reason_code
}

COMMAND_DICTIONARY {
  uuid cmd_dict_id PK
  string command_type
  string schema_version
  string validation_rules_uri
  string status
}

COMMAND_REQUEST {
  uuid cmd_req_id PK
  uuid satellite_id FK
  uuid tenant_id FK
  uuid user_id FK
  uuid cmd_dict_id FK
  uuid approved_by_user_id FK
  string command_type
  json payload_json
  int priority
  string status
  uuid correlation_id
  datetime requested_at
  datetime approved_at
}

COMMAND_EXECUTION {
  uuid cmd_exec_id PK
  uuid cmd_req_id FK
  uuid session_id FK
  datetime sent_at
  datetime ack_at
  string result
  string error_code
  string raw_log_uri
}

SCHEDULE_RUN ||--o{ SCHEDULE_SLOT : produces
SCHEDULE_SLOT ||--o{ SCHEDULE_SLOT_HISTORY : changes
SCHEDULE_SLOT ||--o{ SCHEDULE_SLOT : supersedes
COMMAND_DICTIONARY ||--o{ COMMAND_REQUEST : validates
COMMAND_REQUEST ||--o{ COMMAND_EXECUTION : executed_as

외부 연계

테이블 정의서

SCHEDULE_RUN

SCHEDULE_SLOT

SCHEDULE_SLOT_HISTORY

COMMAND_DICTIONARY

COMMAND_REQUEST

COMMAND_EXECUTION

구현 권장사항

SCHEDULE_RUN

SCHEDULE_SLOT

SCHEDULE_SLOT_HISTORY

COMMAND_DICTIONARY

COMMAND_REQUEST

COMMAND_EXECUTION