Orkas Orkas
Inicio Blog Arquitectura
Arquitectura

Sincronización en la nube en la práctica: cómo Orkas sincroniza datos entre dispositivos

Cómo Orkas sincroniza los datos del usuario entre dispositivos mediante transferencia cifrada, almacenamiento de contenido, confirmaciones de cambios gestionadas por el servidor, bloqueos de cuenta, reglas de sincronización, resolución de conflictos asistida por modelos, confirmación de eliminación y una papelera de reciclaje.

La sincronización de datos de usuario en la nube no consiste solo en subir y descargar. Debe proteger el contenido privado durante la transferencia, mantener bajos los costos de almacenamiento, secuenciar las escrituras desde varios dispositivos, comprender distintas estructuras de datos, pedir confirmación antes de realizar eliminaciones peligrosas y conservar una vía de recuperación cuando una decisión resulta equivocada.

Orkas trata la sincronización en la nube como un límite de responsabilidad del producto, no como una utilidad en segundo plano. Las conversaciones, los agentes, las habilidades, el estado de las tareas, los archivos de conocimiento y la configuración deben poder trasladarse entre dispositivos manteniendo una cadena de responsabilidad clara: el dispositivo prepara el contenido, el almacenamiento de objetos guarda los bytes y el servidor controla el índice autoritativo.

El marco que presentamos a continuación es el que usamos para analizar el sistema: flujo de contenido cifrado, almacenamiento direccionado por contenido, bloqueo de sincronización por cuenta, confirmación de cambios a cargo del servidor, reglas de sincronización deterministas, gestión de conflictos asistida por modelos, confirmación de eliminación, papelera y marcadores de recuperación.

La sincronización en la nube de un vistazo
Datos del dispositivoExamina los datos del usuario y los compara con el último estado de referencia sin cambios pendientes.
Capa de seguridadCifra, calcula hashes, verifica y firma la intención de cada ciclo de sincronización.
Almacenamiento en la nubeAlmacena objetos de contenido y un índice compacto de lo que debería existir.
Capa de recuperaciónConserva marcadores de eliminación, archivos de conflictos, solicitudes de confirmación de eliminación y elementos de la papelera.
El sistema está construido como un conjunto de controles en torno al flujo de datos, no como una réplica ciega de archivos.
En pocas palabras Prioridad local, también en tu otro equipo La sincronización requiere tu activación; el espacio de trabajo permanece en tu equipo de forma predeterminada. Encontrarás más información sobre este límite en la página del agente de IA con prioridad local.
Descarga Orkas — gratis

El contrato de sincronización

Cada ciclo de sincronización responde a cuatro preguntas sobre el producto: ¿qué contenido puede trasladarse, cómo se protege, quién tiene permiso para publicar un nuevo índice en la nube y cómo puede el usuario recuperar los datos si la sincronización tomó una decisión equivocada?

El contrato de cada ciclo
AlcanceSolo se tienen en cuenta los datos del usuario.
CifrarLas cargas de datos se protegen antes de salir del dispositivo.
AlmacenarLos objetos se direccionan según la identidad de su contenido.
BloquearSolo un ciclo de sincronización de la cuenta publica a la vez.
Confirmar cambiosEl servidor valida y escribe el siguiente índice.
RecuperarLas eliminaciones y los conflictos conservan una vía de recuperación.
La sincronización es fiable porque cada etapa tiene una responsabilidad acotada.

El recorrido del contenido cifrado

Los datos del usuario se preparan en el dispositivo antes de llegar al almacenamiento. El motor de sincronización normaliza el conjunto de datos candidatos, calcula la identidad del contenido, cifra las cargas de datos, las sube mediante credenciales de corta duración y verifica los bytes descargados antes de volver a escribirlos en el dispositivo.

De los datos del usuario a un objeto protegido en la nube
SeleccionarElegir datos creados por el usuario.
Calcular hashCalcular la identidad del contenido y los metadatos de tamaño.
CifrarProteger la carga de datos antes de subirla.
SubirEnviar los bytes del objeto con credenciales temporales.
VerificarComprobar el hash y los metadatos esperados al descargar.
AplicarEscribir únicamente contenido verificado en el dispositivo.
El almacenamiento de objetos ve cargas de datos cifradas; el motor de sincronización verifica la identidad del contenido antes de confiar en una descarga.

Almacenamiento e índice

Orkas separa los bytes almacenados del índice en la nube. Los objetos de contenido contienen los datos cifrados. El índice registra qué elementos lógicos de datos deberían existir, la identidad de su contenido, los contadores de versión, el tamaño almacenado, la revisión en la nube y el estado de los marcadores de eliminación. El dispositivo también conserva un estado de referencia del último ciclo completado correctamente para poder distinguir el estado anterior de las nuevas modificaciones.

Tres registros, tres funciones
Estado de referencia del dispositivoEl registro que conserva el dispositivo de la última sincronización completada.
Índice en la nubeLa lista de elementos actuales, versiones y marcadores de eliminación controlada por el servidor.
Objetos de contenidoBytes cifrados direccionados según la identidad del contenido.
¿Por qué separarlos? Los grandes volúmenes de bytes pueden residir en el almacenamiento de objetos, mientras que el pequeño índice sigue siendo la única fuente para las decisiones de sincronización.
El índice indica a los dispositivos qué debería existir; los objetos de contenido proporcionan los bytes.

Un ciclo de sincronización

Un ciclo comienza con un costo bajo y solo aplica controles estrictos cuando hay trabajo real que hacer. Orkas primero comprueba si algo ha cambiado, después obtiene el bloqueo de sincronización de la cuenta, vuelve a calcular los cambios mientras mantiene ese bloqueo, transfiere el contenido, solicita al servidor que confirme las operaciones del índice y, por último, actualiza el estado de referencia del dispositivo.

Ciclo de vida de una sincronización
Comprobación previaExaminar los datos y obtener los metadatos más recientes del índice en la nube.
Bloqueo de sincronizaciónReservar el turno de sincronización de la cuenta para este dispositivo.
Volver a comprobarCalcular de nuevo los cambios una vez obtenido el bloqueo.
TransferirSubir, descargar, combinar o preparar eliminaciones.
Confirmar cambiosEl servidor valida la revisión en la nube, la cuota y el esquema.
Estado de referenciaRegistrar el nuevo estado sin cambios pendientes tras completar el ciclo correctamente.
La segunda comparación es importante: la información de la comprobación previa puede haber quedado desactualizada cuando comienza el trabajo.

Bloqueo de sincronización y confirmación de cambios

El bloqueo de sincronización y la comprobación de la confirmación de cambios resuelven problemas distintos. El bloqueo de sincronización reduce el trabajo simultáneo desperdiciado entre dispositivos. El bloqueo del servidor secuencia las escrituras del índice. La comprobación de la revisión esperada en la nube impide que una lectura antigua se convierta en el siguiente estado autoritativo. Las comprobaciones de cuota y esquema se ejecutan en el mismo proceso de confirmación de cambios controlado por el servidor.

El control de confirmación de cambios
El dispositivo pregunta¿Está disponible el turno de sincronización de la cuenta?
Bloqueo concedidoEl ciclo obtiene un breve plazo sujeto a señales periódicas de actividad.
Objetos listosLos bytes del contenido ya se han subido u obtenido.
Bloqueo del servidorLas escrituras del índice se secuencian por cuenta.
Comprobación de versiónRechazar si la revisión en la nube ha cambiado.
PublicarEscribir el siguiente índice y actualizar el uso.
Los dispositivos transfieren los bytes; el servidor publica el estado autoritativo.

Reglas antes de los conflictos

La mayoría de las decisiones de sincronización no son conflictos. El dispositivo compara el estado de referencia, los datos actuales del dispositivo y el índice en la nube. Si solo cambió la nube, descarga. Si solo cambió el dispositivo, sube. Si ambos cambiaron, decide según el tipo de contenido. Si algo desapareció, entra en el proceso de eliminación segura en lugar de borrar los datos inmediatamente.

Motor de decisiones
Estado de referenciaLo último que confirmó este dispositivo.
Datos actuales del dispositivoLo que tiene este dispositivo en este momento.
Estado actual de la nubeLo que declara el índice del servidor.
AcciónDescargar, subir, combinar, marcar como eliminado, confirmar o restaurar.
El estado de referencia permite aplicar una regla sencilla: los lados que no han cambiado no necesitan combinarse.

Gestión de conflictos

Cuando ambos lados realmente han cambiado, Orkas no lo reduce todo a que prevalezca la última escritura. Los registros a los que se añaden entradas al final pueden combinarse incorporando las entradas que faltan. Las listas pueden combinarse según la identidad estable de cada registro. El contenido JSON estructurado puede usar contadores de versión y marcas de tiempo. Con Markdown y los archivos binarios se actúa con cautela: si el sistema no puede demostrar que la combinación no causa pérdidas, conserva una copia completa de la versión descartada.

En los conflictos ambiguos de texto o contenido estructurado, el producto puede agrupar las versiones pertinentes para gestionarlas con la ayuda de un modelo. El modelo puede explicar el conflicto, redactar una versión combinada o ayudar al usuario a elegir. No es la única medida de protección: la validación determinista, los originales archivados y las opciones de recuperación visibles para el usuario siguen formando parte del proceso.

Proceso de resolución de conflictos
ClasificarDetectar la estructura del archivo y los metadatos de versión disponibles.
Combinar según reglasUsar una combinación determinista cuando sea seguro.
Asistencia del modeloExplicar conflictos de texto ambiguos o redactar una propuesta.
ArchivarConservar los originales cuando la seguridad sea incierta.
ValidarComprobar el esquema, la identidad y la estructura esperada.
PublicarConfirmar únicamente el resultado aceptado.
La asistencia del modelo mejora la calidad de la resolución, mientras que las comprobaciones deterministas la mantienen dentro de los límites establecidos.

Confirmación de eliminación

Las eliminaciones se tratan como transiciones de estado. Una eliminación remota se convierte en un marcador de eliminación. Una eliminación en el dispositivo se convierte en una operación candidata. Orkas comprueba las escrituras recientes, vigila las oleadas de eliminaciones masivas y pausa el ciclo para pedir confirmación cuando la cantidad de datos del usuario que desaparecen parece arriesgada.

Proceso de confirmación de eliminación
Eliminación detectadaFalta un elemento de datos o está marcado como eliminado.
Escritura recienteComprobar si se volvió a crear o se modificó.
Control de eliminaciones masivasDetectar lotes de eliminación inusualmente grandes.
SolicitarPedir confirmación cuando el riesgo sea alto.
ConfirmarConfirmar los marcadores de eliminación tras la aprobación.
CancelarVolver a descargar las copias de la nube cuando la eliminación haya sido accidental.
Una eliminación arriesgada puede interrumpirse; el usuario puede elegir antes de que se convierta en un estado persistente en la nube.

Papelera y recuperación

Antes de que una eliminación válida borre una copia del dispositivo, Orkas la mueve a la papelera de sincronización. Las versiones descartadas en los conflictos se archivan para su revisión. Las subidas pendientes se conservan si falla la confirmación de cambios, de modo que el siguiente ciclo pueda reutilizar los bytes. Si un usuario borra deliberadamente los datos de la nube, los demás dispositivos ven un marcador de limpieza y dejan de volver a subir contenido desactualizado.

Mecanismos de recuperación
PapeleraLas copias eliminadas del dispositivo siguen siendo recuperables.
Archivo de conflictosLas versiones descartadas se conservan cuando hay dudas sobre la combinación.
Subidas pendientesLos objetos subidos correctamente pueden reutilizarse tras un fallo en la confirmación de cambios.
Marcador de limpiezaLas cuentas cuyos datos en la nube se han borrado no vuelven a incorporar datos antiguos sin avisar.
La recuperación de la sincronización no es una sola función; son varias pequeñas vías de salida situadas en los puntos donde pueden producirse fallos.

Qué nos aporta todo esto

El resultado es un sistema de sincronización con límites claros. Los dispositivos preparan y verifican el contenido. El almacenamiento de objetos guarda los bytes cifrados. El servidor publica el índice. El bloqueo de sincronización de la cuenta y el bloqueo del servidor mantienen los ciclos en orden. Las reglas resuelven los casos habituales. La asistencia del modelo ayuda con los conflictos ambiguos. La confirmación de eliminación y la papelera protegen a los usuarios de los errores más costosos.

Ese es el estándar que Orkas necesita para la sincronización en la nube: no magia, ni una réplica ciega, sino un mecanismo cuidadoso que permita trasladar los datos del usuario entre dispositivos y seguir ofreciendo una experiencia coherente.