Orkas Orkas
首頁 博客 架構
架構

雲端同步實戰:Orkas 如何做好資料同步

Orkas 如何用加密傳輸、內容存儲、服務端提交、帳號級鎖、同步規則、模型輔助衝突處理、刪除確認和回收站,把使用者資料可靠同步到多台設備。

資料的雲端同步不是“把檔案傳上去再拉下來”這麼簡單。它要保護傳輸中的隱私,要讓雲端存儲成本可控,要串行化多設備寫入,要理解不同資料的結構,還要在危險刪除前確認,並在判斷出錯時保留回退路徑。

Orkas 把雲同步當作一條產品邊界,而不是後台小功能。會話、智能體、技能、任務狀態、知識檔案和設定都要在設備之間流動,同時保持清晰的責任鏈:設備準備內容,對象存儲儲存字節,服務端發佈權威索引。

這篇文章按機制梳理 Orkas 的雲同步:加密內容流、按內容尋址的存儲、帳號級同步租約、服務端提交、確定性同步規則、模型輔助衝突處理、刪除確認、回收站,以及失敗恢復標記。

雲同步總覽
設備資料掃描使用者資料,並與上次乾淨同步的基線比較。
安全層加密、哈希、校驗,並表達本輪同步意圖。
雲端存儲儲存內容對象,以及一份緊湊的雲端索引。
恢復層保留刪除標記、衝突歸檔、刪除確認和回收站記錄。
Orkas 的雲同步不是盲目鏡像,而是在資料同步鏈路周圍放置一組安全檢查。
一句話版本 本地優先,同時也能在你另一台機器上 同步是可選的,工作區預設留在你自己的機器上。這條邊界在本地優先 AI Agent 頁里講得更細。
下載 Orkas — 免費

同步契約

每一輪同步都會回答四個產品問題:哪些內容允許移動,內容如何被保護,誰有權發佈下一版雲端索引,以及如果判斷失誤,使用者如何恢復。

每一輪同步的契約
範圍只考慮使用者資料。
加密內容離開設備前先被保護。
存儲對象按內容身份儲存。
加鎖同一帳號一次只發佈一輪同步。
提交服務端校驗並寫入下一版索引。
恢復刪除和衝突都保留回退路徑。
同步可靠,來自每個階段都只承擔一個清晰職責。

加密內容流

使用者資料到達雲端存儲前,會先在設備上被整理。同步引擎選擇候選內容,計算內容身份,加密載荷,通過短期憑證上傳;拉取時再校驗內容身份和元資料,確認可信後才寫回設備。

從使用者資料到受保護雲端對象
選擇挑選使用者建立的資料。
哈希計算內容身份和大小資訊。
加密上傳前保護載荷。
上傳用臨時憑證發送對象字節。
校驗拉取時核對哈希和預期元資料。
應用只把驗證通過的內容寫回設備。
對象存儲看到的是受保護的載荷;設備在寫入前重新確認內容身份。

存儲與索引

Orkas 把檔案內容和雲端索引拆開。內容對象儲存加密字節;雲端索引記錄哪些資料條目應該存在、它們的內容身份、版本、大小、雲端版本號和刪除標記。設備還會儲存上次成功同步後的基線,用來區分舊狀態和新編輯。

三份記錄,各司其職
設備基線這台設備上次完成同步後確認過的狀態。
雲端索引由服務端發佈的條目、版本和刪除標記列表。
內容對象按內容身份儲存的加密字節。
為什麼要拆開? 大體積內容交給對象存儲,小而關鍵的索引作為同步判斷的真值。
索引告訴設備“應該有什麼”,內容對象提供真正的字節。

一輪同步

同步先低成本檢查,只有確實有工作時才進入嚴格流程。Orkas 先判斷是否有變化,再拿到帳號級同步租約,在租約有效期內重新計算差異,移動內容,請求服務端提交索引操作,最後更新本機基線。

一輪同步的生命週期
預檢查掃描設備狀態並獲取雲端索引元資料。
獲取同步租約為當前設備保留帳號同步通道。
重算差異拿到租約後重新比較狀態。
傳輸內容上傳、下載、合併或準備刪除。
提交服務端檢查雲端版本、配額和資料版本。
更新基線成功後記錄新的乾淨狀態。
二次差異計算很關鍵:預檢查時看到的雲端狀態,真正開始工作時可能已經過期。

同步租約、鎖與提交

同步租約、服務端鎖和提交前版本檢查解決的是不同問題。同步租約減少多設備同時跑完整同步輪次的浪費;服務端鎖串行化索引寫入;提交前版本檢查會確認雲端索引仍是設備剛剛讀取的那一版,防止舊判斷被發佈成新事實。配額計算和資料版本校驗也在同一個服務端提交入口完成。

提交入口
設備申請帳號同步通道是否可用?
授予同步租約本輪同步獲得短時心跳續約窗口。
對象就緒內容字節已經上傳或拉取完成。
服務端鎖同一帳號的索引寫入被串行化。
提交前版本檢查雲端版本已變化則拒絕提交。
發佈索引寫入下一版索引並更新用量。
設備負責移動字節,服務端負責發佈權威狀態。

先規則,後衝突

大多數同步判斷並不是衝突。設備同時比較基線、當前設備資料狀態和雲端索引。只有雲端變了就拉取,只有設備變了就推送,兩邊都變了才按內容類型進入合併;如果發現內容消失,則進入刪除安全路徑,而不是立刻移除。

決策引擎
基線這台設備上次確認過的狀態。
當前設備資料這台設備此刻擁有的內容。
當前雲端服務端索引聲明的內容。
動作拉取、推送、合併、標記刪除、確認或恢復。
有了基線,系統才能把“這邊沒動”和“這邊也改了”區分開。

衝突處理

當兩邊確實都發生變化時,Orkas 不會簡單採用最後寫入者獲勝。追加型日誌可以按缺失記錄合併;列表型資料可以按穩定記錄身份合併;結構化 JSON 可以參考版本號和時間戳;Markdown 和二進制檔案更保守,無法證明無損時會保留輸掉版本的完整副本。

對於語義不清的文本或結構化內容衝突,產品可以把相關版本打包交給模型輔助處理。模型可以解釋差異、草擬合併結果,或幫助使用者選擇。但模型不是唯一防線:確定性校驗、原始版本歸檔和使用者可見的恢復路徑仍然保留。

衝突處理流水線
分類識別資料形態和可用版本元資料。
規則合併安全時使用確定性合併。
模型輔助解釋或草擬語義衝突的合併方案。
歸檔無法證明安全時保留原始版本。
校驗檢查結構、身份和預期形態。
發佈只提交被接受的結果。
模型輔助提升處理質量,確定性校驗負責把邊界守住。

刪除確認

刪除在 Orkas 里是一種狀態遷移。遠端刪除會成為刪除標記,設備端刪除會成為候選操作。Orkas 會檢查最近寫入、識別大批刪除,並在消失的使用者資料看起來有風險時暫停本輪同步,等待確認。

刪除確認路徑
發現刪除某個資料條目缺失或已被標記刪除。
最近寫入檢查它是否剛被重新建立或編輯。
批量檢查識別異常大的刪除波次。
提示確認風險高時讓使用者決定。
確認批准後提交刪除標記。
取消誤刪時從雲端拉回內容。
高風險刪除是可中斷的;它成為雲端事實之前,使用者還有選擇權。

回收站與恢復

一次有效刪除真正移除設備副本前,Orkas 會先把它放入同步回收站。衝突中輸掉的版本會進入歸檔以便復查。對象上傳成功但提交失敗時,下一輪可以復用已上傳內容。使用者主動清空雲端資料後,其它設備會看到清理標記,避免把舊內容重新灌回雲端。

恢復面
回收站被刪除的設備副本仍可恢復。
衝突歸檔無法安全合併時保留輸掉版本。
待確認上傳提交失敗後可復用已上傳對象。
清理標記帳號雲端清空後,不會被舊設備重新上傳。
同步恢復不是單個功能,而是多個失敗點上的逃生口。

這套設計換來了什麼

這套同步系統的邊界很清楚:設備準備並校驗內容,對象存儲儲存加密字節,服務端發佈索引,同步租約和服務端鎖讓流程有序,規則處理常見變化,模型輔助處理語義不清的衝突,刪除確認和回收站保護使用者免於最昂貴的錯誤。

這就是 Orkas 對雲同步的要求:不是魔法,也不是盲目鏡像,而是一套讓使用者資料在多設備之間可靠流動、並保持一致體驗的機制。