학습 데이터를 따로 보관·관리하는 시스템(이 문서에서는 DataOps 서버라고 부릅니다)이 있다면, 플랫폼이 그 서버에 접속해 데이터셋을 내려받아 플랫폼 데이터셋으로 만들 수 있습니다. 사람이 파일을 옮겨 올릴 필요가 없습니다.

구분역할담당
DataOps 서버HTTP REST 서버: 목록 · 매니페스트 · 파일 API 3개데이터를 가진 쪽
Geo-MLOpsHTTP 클라이언트: 사용자가 버튼을 누르면 접속해 비교 · 다운로드플랫폼

새 서버를 크게 만들 필요는 없습니다. 이미 가진 데이터에 조회·다운로드 엔드포인트 3개만 열어 주면 됩니다. 방향은 Pull 한 가지이고, 플랫폼에서 DataOps 로 올려 보내는 기능은 없습니다.

동기화가 하는 일

 DataOps 서버                              Geo-MLOps 데이터셋
 ───────────────────────────               ──────────────────────────────────────
 manifest                                   파일                      출처
   f-0001  a.png   sha256=9f8a…   ──같음──▶  a.png   (sha256 9f8a…)   동기화  → 유지
   f-0002  b.png   sha256=77c1…   ──다름──▶  b.png   (sha256 12de…)   동기화  → 다시 받음(같은 행 교체)
   f-0003  c.png   sha256=0b4e…   ──없음──▶                                    → 새로 받음
   (없음)                                    d.png                     동기화  → 지움
   f-0005  e.png                  ──이름 겹침  e.png                    업로드  → 건너뜀 + 경고
                                             x.png                     업로드  → 손대지 않음
  1. 원격 매니페스트(파일 목록 + SHA-256)를 읽습니다.
  2. 이 데이터셋에 이미 있는 동기화로 받은 파일file_id · sha256 으로 비교합니다.
  3. 새 파일과 바뀐 파일만 내려받고, 원격에서 사라진 파일은 지웁니다.
  4. 받은 파일은 직접 업로드한 파일과 똑같은 과정을 거칩니다(같은 검증기, 같은 집계, 같은 manifest.json 재기록). 그래서 학습은 파일이 어떻게 들어왔는지 모르고, 알 필요도 없습니다.

이 절의 순서

  1. DataOps 쪽이 구현할 API 3개: 데이터 제공 측 개발자
  2. 참조 구현: 표준 라이브러리만 쓰는 최소 서버
  3. 플랫폼에 연결하기: 소스 등록 → 연결 확인 → 데이터셋 만들기 → 결과 보기
  4. 동기화 규칙과 한계

2026-09-21 기준 플랫폼에 맞춰 작성했습니다.

© Geo-MLOps