파일 동기화
파일 동기화 기능은 관리자가 HandyCafe 서버에서 클라이언트 PC로 파일을 배포할 수 있도록 합니다. 변경되거나 새로운 파일만 전송하여 대역폭 사용과 동기화 시간을 최소화하는 매니페스트 기반 접근 방식을 사용합니다.
동기화 탐색기
동기화 탐색기는 클라이언트에 동기화할 디렉토리와 파일을 선택할 수 있는 파일 탐색기 인터페이스를 제공합니다. 관리자는 서버의 파일 시스템을 탐색하여 원하는 콘텐츠를 선택하고 동기화 작업을 시작합니다.
동기화 작동 방식
매니페스트 기반 비교
동기화 작업이 시작되면 서버는 파일 매니페스트를 생성합니다. 이는 동기화할 모든 파일과 그 체크섬의 목록입니다. 각 클라이언트는 이 매니페스트를 자신의 로컬 파일과 비교합니다:
- 클라이언트에 존재하지 않는 파일은 다운로드 대상으로 표시됩니다.
- 체크섬이 다른 파일(수정된 파일)은 다운로드 대상으로 표시됩니다.
- 일치하는 파일은 완전히 건너뜁니다.
이 접근 방식은 서버와 클라이언트 간의 차이점만 전송되도록 하여 반복적인 동기화를 빠르고 효율적으로 만듭니다.
청크 기반 전송
큰 파일은 TCP를 통해 전송하기 위해 작은 청크로 분할됩니다. 이는 여러 가지 이점을 제공합니다:
- 신뢰성: 청크 전송이 실패하면 전체 파일이 아닌 해당 청크만 다시 시도하면 됩니다.
- 진행 상황 추적: 전송 진행 상황을 청크 수준에서 보고할 수 있습니다.
- 네트워크 효율성: 청크 크기는 일반적인 LAN 조건에 잘 맞도록 조정됩니다.
동기화 트리거
관리자는 두 가지 방법으로 파일 동기화를 트리거할 수 있습니다:
- 모든 클라이언트에 동기화: 선택한 파일을 모든 연결된 클라이언트에 동시에 푸시합니다.
- 특정 클라이언트에 동기화: 하나 이상의 개별 클라이언트를 대상으로 동기화 작업을 수행합니다.
새로운 콘텐츠를 배포해야 할 때마다 동기화 탐색기 인터페이스에서 수동으로 동기화를 트리거할 수 있습니다.
동기화 보고
동기화 작업 후 각 클라이언트는 서버에 상태를 보고합니다:
- 성공: 모든 파일이 오류 없이 동기화되었습니다.
- 실패: 하나 이상의 파일 전송에 실패했으며, 어떤 파일이 왜 실패했는지에 대한 세부 정보가 포함됩니다.
- 동기화된 파일: 실제로 다운로드된 파일의 수(이미 최신 상태인 건너뛴 파일 제외).
이 보고서는 동기화 탐색기에서 확인할 수 있어 관리자가 작업이 예상대로 완료되었는지 확인할 수 있습니다.
사용 사례
- 게임 업데이트 배포: 모든 게임 PC에 게임 패치나 업데이트를 한 번에 푸시하여 모든 기기가 동일한 버전을 실행하도록 합니다.
- 설정 파일 푸시: 네트워크 설정이나 애플리케이션 환경 설정과 같은 업데이트된 설정 파일을 모든 클라이언트에 배포합니다.
- 소프트웨어 배포: 설치 패키지나 포터블 애플리케이션을 동기화하여 클라이언트 PC에 새로운 애플리케이션을 설치합니다.
- 클라이언트 메뉴 자산 업데이트: 클라이언트 메뉴 인터페이스에서 사용하는 새로운 아이콘, 포스터, 미디어 파일을 동기화합니다.