사용자 데이터의 클라우드 동기화는 단순한 업로드와 다운로드가 아닙니다. 전송 중 비공개 콘텐츠를 보호하고, 저장 비용을 낮게 유지하며, 여러 기기의 쓰기를 순차 처리하고, 서로 다른 데이터 형태를 이해하며, 위험한 삭제 전에 확인을 요청하고, 판단이 잘못되었을 때 되돌아갈 길을 보존해야 합니다.
Orkas는 클라우드 동기화를 백그라운드 유틸리티가 아니라 제품의 경계로 다룹니다. 대화, 에이전트, 스킬, 작업 상태, 지식 파일, 설정은 모두 명확한 책임 체계를 유지하면서 기기 사이를 이동해야 합니다. 기기는 콘텐츠를 준비하고, 개체 저장소는 바이트를 보관하며, 서버는 기준이 되는 인덱스를 관리합니다.
아래 체계는 우리가 시스템을 이해하는 데 사용하는 틀입니다. 암호화된 콘텐츠 흐름, 콘텐츠 주소 기반 저장소, 계정 수준 동기화 잠금, 서버가 관리하는 커밋, 결정론적 동기화 규칙, 모델 지원 충돌 처리, 삭제 확인, 휴지통, 복구 표식으로 구성됩니다.
동기화 계약
각 동기화 회차는 제품에 관한 네 가지 질문에 답합니다. 어떤 콘텐츠를 이동할 수 있는지, 어떻게 보호하는지, 누가 새 클라우드 인덱스를 게시할 수 있는지, 동기화가 잘못 판단했을 때 사용자가 어떻게 복구할 수 있는지입니다.
암호화된 콘텐츠 경로
사용자 데이터는 저장소에 도달하기 전에 기기에서 준비됩니다. 동기화 엔진은 대상 후보를 정규화하고, 콘텐츠 식별값을 계산하며, 페이로드를 암호화하고, 수명이 짧은 인증 정보로 업로드하며, 다운로드한 바이트를 기기에 다시 쓰기 전에 검증합니다.
저장소와 인덱스
Orkas는 저장된 바이트와 클라우드 인덱스를 분리합니다. 콘텐츠 개체에는 암호화된 데이터가 들어 있습니다. 인덱스는 어떤 논리적 데이터 항목이 존재해야 하는지, 콘텐츠 식별값, 버전 카운터, 저장 크기, 클라우드 리비전, 삭제 표식 상태를 기록합니다. 기기는 이전 상태와 새 편집을 구분할 수 있도록 마지막으로 성공한 회차의 기준 상태도 보관합니다.
한 번의 동기화 회차
회차는 적은 비용으로 시작하고 실제 작업이 있을 때만 엄격해집니다. Orkas는 먼저 변경 여부를 확인한 뒤 계정 동기화 잠금을 얻고, 잠금을 유지한 상태에서 변경 사항을 다시 계산하며, 콘텐츠를 이동하고, 서버에 인덱스 작업 커밋을 요청한 다음, 마지막으로 기기의 기준 상태를 업데이트합니다.
동기화 잠금과 커밋
동기화 잠금과 커밋 검사는 서로 다른 문제를 해결합니다. 동기화 잠금은 여러 기기의 동시 작업에서 낭비를 줄입니다. 서버 측 잠금은 인덱스 쓰기를 순차 처리합니다. 예상 클라우드 리비전 검사는 오래된 읽기 결과가 다음 기준 상태가 되는 것을 막습니다. 할당량과 스키마 검사도 서버가 관리하는 같은 커밋 경로에서 실행됩니다.
충돌에 앞서는 규칙
대부분의 동기화 결정은 충돌이 아닙니다. 기기는 기준 상태, 현재 기기 데이터, 클라우드 인덱스를 비교합니다. 클라우드만 변경되었으면 가져옵니다. 기기만 변경되었으면 올립니다. 둘 다 변경되었으면 콘텐츠 유형에 따라 처리합니다. 무언가 사라졌으면 데이터를 즉시 제거하는 대신 삭제 안전 경로로 들어갑니다.
충돌 처리
양쪽이 실제로 변경되었을 때 Orkas는 모든 것을 마지막 쓰기 우선 방식으로 처리하지 않습니다. 추가형 로그는 누락된 레코드를 기준으로 병합할 수 있습니다. 목록은 안정적인 레코드 식별값으로 병합할 수 있습니다. 구조화된 JSON은 버전 카운터와 타임스탬프를 사용할 수 있습니다. Markdown과 바이너리 파일은 보수적으로 처리합니다. 시스템이 손실 없는 병합을 입증할 수 없으면 선택되지 않은 버전의 전체 사본을 보관합니다.
모호한 텍스트 또는 구조화된 콘텐츠 충돌의 경우, 제품은 관련 버전을 묶어 모델의 도움을 받아 처리할 수 있습니다. 모델은 충돌을 설명하거나 병합 버전의 초안을 작성하거나 사용자의 선택을 도울 수 있습니다. 이것만이 유일한 안전장치는 아닙니다. 결정론적 검증, 원본 보관, 사용자가 확인할 수 있는 복구도 계속 이 경로에 포함됩니다.
삭제 확인
삭제는 상태 전이로 취급합니다. 원격 삭제는 삭제 표식이 됩니다. 기기 측 삭제는 후보 작업이 됩니다. Orkas는 최근 쓰기를 확인하고 대규모 삭제가 발생하는지 감시하며, 사라지는 사용자 데이터의 양이 위험해 보이면 해당 회차를 일시 중지하고 확인을 요청합니다.
휴지통과 복구
유효한 삭제가 기기 사본을 제거하기 전에 Orkas는 이를 동기화 휴지통으로 옮깁니다. 충돌에서 선택되지 않은 버전은 검토용으로 보관합니다. 대기 중인 업로드는 커밋이 실패해도 유지되어 다음 회차에서 바이트를 재사용할 수 있습니다. 사용자가 의도적으로 클라우드 데이터를 지우면 다른 기기는 정리 표식을 보고 오래된 콘텐츠의 재업로드를 중지합니다.
이 구조로 얻는 것
그 결과 경계가 명확한 동기화 시스템이 만들어집니다. 기기는 콘텐츠를 준비하고 검증합니다. 개체 저장소는 암호화된 바이트를 보관합니다. 서버는 인덱스를 게시합니다. 계정 동기화 잠금과 서버 잠금은 회차를 질서 있게 유지합니다. 규칙은 일반적인 사례를 처리합니다. 모델 지원은 모호한 충돌을 돕습니다. 삭제 확인과 휴지통은 가장 큰 대가를 치르는 실수로부터 사용자를 보호합니다.
이것이 Orkas가 클라우드 동기화에 요구하는 기준입니다. 마법도, 무조건적인 복제도 아닌 신중한 메커니즘으로, 사용자 데이터가 기기 사이를 이동해도 일관된 경험을 유지하도록 합니다.