ES2563297T3 - Método y dispositivo para la sincronización de archivos - Google Patents

Método y dispositivo para la sincronización de archivos Download PDF

Info

Publication number
ES2563297T3
ES2563297T3 ES12856915.9T ES12856915T ES2563297T3 ES 2563297 T3 ES2563297 T3 ES 2563297T3 ES 12856915 T ES12856915 T ES 12856915T ES 2563297 T3 ES2563297 T3 ES 2563297T3
Authority
ES
Spain
Prior art keywords
file
copy
file list
list
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12856915.9T
Other languages
English (en)
Inventor
Fei Wu
Jin Zhang
Gaofeng Li
Xubin LIU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2563297T3 publication Critical patent/ES2563297T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un método para sincronizar archivos, que comprende: obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos comprende información de una lista de archivos locales almacenada al finalizar la última sincronización; comparar la primera copia de la lista de archivos con la información de una lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos comprende una operación de actualización de la lista actual de archivos locales; enviarle a un servidor una petición de una copia de la lista de archivos; recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos comprende información de una lista de archivos del servidor; y determinar, en función de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, un identificador y una operación de un archivo que es necesario sincronizar, y realizar la sincronización del archivo con el servidor de acuerdo con el identificador y la operación del archivo que es necesario sincronizar.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Metodo y dispositivo para la sincronizacion de archivos Campo de la invencion
La presente invencion esta relacionada con el campo de las tecnologfas de las comunicaciones y, en particular, con un metodo y un dispositivo para la sincronizacion de archivos.
Antecedentes de la invencion
Con el desarrollo de las tecnologfas de Internet cada vez mas usuarios prefieren utilizar la sincronizacion de archivos para la gestion de archivos en un terminal, de tal modo que con el tiempo los usuarios pueden sincronizar la actualizacion de los archivos con un servidor desde diferentes lugares y en diferentes terminales, y los usuarios pueden recuperar facilmente desde el servidor la informacion mas reciente del archivo.
En las tecnologfas de sincronizacion de archivos disponibles, despues de que un usuario haya realizado una operacion de actualizacion de los archivos en un directorio de sincronizacion del terminal, el terminal realiza una vez una exploracion completa del directorio local de sincronizacion y le envfa al servidor la informacion de cada uno de los archivos obtenida mediante la realizacion de la exploracion para su autenticacion, con el fin de determinar un estado de actualizacion del archivo, como por ejemplo agregar o eliminar. Si el archivo ha sido actualizado, el archivo se sincroniza con el servidor. El inconveniente de la sincronizacion radica en que no es posible llevar a cabo a la vez la sincronizacion bidireccional entre el terminal y el servidor, esto es, la sincronizacion de las actualizaciones del terminal con el servidor y la sincronizacion de las actualizaciones del servidor con el terminal. En este caso, la actualizacion del servidor puede ser una actualizacion despues de que el servidor haya interactuado con otro terminal, y tambien puede ser una actualizacion de una operacion en el servidor.
El documento US 7734826 B2 divulga un proceso de sincronizacion que es iniciado por la SA de un cliente al realizar una llamada de consulta de sincronizacion al servidor, pasandole a este el mdice de sincronizacion del cliente (CSI) que identifica su estado actual conocido de la cuenta. Si el valor del SSI coincide con el valor del CSI transmitido por el cliente que solicita la consulta, el cliente se encuentra actualizado respecto al estado actual de su cuenta en el servidor. En ese caso, el SFS del servidor le devuelve al cliente el SSI (que tiene el mismo valor que el CSI). En caso contrario, el SFS devuelve un nuevo SSI mas alto junto con la informacion de metadatos del servidor que el cliente necesita para pasar su cuenta de su estado actual al estado actual en el servidor. El SFS del servidor mantiene una jerarqrna de tres niveles de indices de sincronizacion (SI) en sus metadatos. En el nivel mas alto se encuentra un campo SSI de la cuenta que identifica el estado actual de la cuenta. Este es el primer valor comprobado por el SFS del servidor al recibir una llamada de consulta del cliente. Si este valor coincide con el valor del CSI transmitido por el cliente que realiza la consulta el directorio del cliente se encuentra actualizado. Los campos indices de sincronizacion de directorio (DSI) residen en el nivel intermedio de la jerarqrna. El SFS del servidor mantiene una tabla de directorios para cada una de las cuentas de usuario con un item de tipo directorio para cada uno de los directorios del usuario. Cada uno de los items de tipo directorio contiene un valor de DSI asociado a la ultima modificacion de un archivo o un directorio dentro del directorio. El SFS del servidor utiliza este valor para localizar rapidamente directorios que hayan tenido modificaciones que deban ser enviadas al cliente que ha solicitado la sincronizacion. Los items de tipo directorio cuyos valores de DSI sean mayores que el valor transmitido por la SA del cliente que ha realizado la consulta identifican los directorios que han sido modificados.
El documento US 20110151837 A1 divulga un terminal movil de comunicacion que se comunica con un nodo central con el fin de proporcionar una sincronizacion automatica del contenido del usuario almacenado en el dispositivo movil con el contenido del usuario almacenado en el nodo central, como por ejemplo en un servidor de sincronizacion. De este modo se puede proporcionar una sincronizacion bidireccional automatica, el usuario puede monitorizar, comprobar, actualizar, modificar, agregar o eliminar todos o uno cualquiera de los campos del contenido de usuario mediante una interfaz Web para dispositivos moviles almacenada en un nodo central, como por ejemplo en un servidor de sincronizacion en la nube o un almacen de datos en la nube, utilizando un dispositivo remoto, incluyendo un dispositivo sin conexion. En el nodo central tambien se puede rastrear la posicion actual del terminal movil.
Resumen de la invencion
Los modos de realizacion de la presente invencion proporcionan un metodo y un dispositivo para la sincronizacion de archivos, capaces de implementar una sincronizacion bidireccional entre un dispositivo para la sincronizacion y un servidor.
Un modo de realizacion de la presente invencion proporciona un metodo para sincronizar archivos, que incluye:
obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion;
comparar la primera copia de la lista de archivos con la informacion de una lista actual de archivos locales con el fin
5
10
15
20
25
30
35
40
45
50
de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos incluye una operacion de actualizacion de la lista actual de archivos locales;
enviarle a un servidor una peticion de una copia de la lista de archivos;
recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos comprende informacion de una lista de archivos del servidor; y
determinar, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
Un modo de realizacion de la presente invencion proporciona un dispositivo para la sincronizacion, que incluye:
una primera unidad de adquisicion, configurada para obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion;
una segunda unidad de adquisicion, configurada para comparar la primera copia de la lista de archivos con la informacion de una lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos incluye una operacion de actualizacion de la lista actual de archivos locales;
una unidad de envfo, configurada para enviarle una peticion de una copia de la lista de archivos a un servidor;
una unidad de recepcion, configurada para recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos incluye informacion de una lista de archivos del servidor; y
una unidad de sincronizacion, configurada para determinar, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
A partir de las soluciones tecnicas precedentes proporcionadas por los modos de realizacion de la presente invencion se puede observar que, en los modos de realizacion de la presente invencion, una segunda copia de la lista de archivos incluye una operacion de actualizacion de una lista actual de archivos locales, una tercera copia de la lista de archivos incluye informacion de una lista de archivos de un servidor, y una operacion de un archivo que es necesario sincronizar que se determina en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos incluye tanto una operacion de actualizacion de un archivo de la lista de archivos locales como una operacion de actualizacion de un archivo de la lista de archivos del servidor. Como resultado se puede implementar una sincronizacion bidireccional entre el dispositivo para la sincronizacion y el servidor de acuerdo con un identificador y la operacion del archivo que es necesario sincronizar.
Breve descripcion de los dibujos
Con el fin de ilustrar de forma mas clara las soluciones tecnicas descritas en los modos de realizacion de la presente invencion o en la tecnica anterior, a continuacion se describen brevemente los dibujos adjuntos necesarios para la descripcion de los modos de realizacion o la tecnica anterior. Evidentemente, los dibujos que se acompanan en la siguiente descripcion unicamente ilustran algunos modos de realizacion de la presente invencion, y, a partir de estos dibujos adjuntos, las personas con un conocimiento normal de la tecnica pueden obtener otros dibujos sin esfuerzos creativos.
La FIG. 1 es un diagrama de flujo de un metodo para sincronizar archivos proporcionado por un modo de realizacion de la presente invencion;
la FIG. 2 es un diagrama de flujo de senalizacion de un metodo para sincronizar archivos proporcionado por un modo de realizacion de la presente invencion; y
la FIG. 3 es un diagrama de la estructura de un dispositivo para la sincronizacion proporcionado por un modo de realizacion de la presente invencion.
Descripcion detallada de los modos de realizacion
A continuacion se describen de forma clara y completa las soluciones tecnicas de acuerdo con los modos de realizacion de la presente invencion haciendo referencia a los dibujos adjuntos en los modos de realizacion de la presente invencion. Evidentemente, los modos de realizacion de la siguiente descripcion son solo una parte en lugar de todos los modos de realizacion de la presente invencion. Todos los otros modos de realizacion, obtenidos sin esfuerzos creativos por personas con un conocimiento normal de la tecnica a partir de los modos de realizacion de la presente invencion se consideraran dentro del alcance de proteccion de la presente invencion.
5
10
15
20
25
30
35
40
45
50
La FIG. 1 muestra un flujo de un metodo para sincronizar archivos proporcionado por un modo de realizacion de la presente invencion. Preferiblemente, en este modo de realizacion se utiliza un terminal como dispositivo para la sincronizacion, esto es, como sujeto para llevar a cabo la sincronizacion de los archivos. El modo de realizacion incluye concretamente los siguientes pasos:
101: Obtener una primera copia de la lista de archivos.
Concretamente, el terminal obtiene una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion, y la informacion se refiere a informacion de multiples archivos en la lista de archivos. En el modo de realizacion de la presente invencion, la copia de la lista de archivos se refiere a informacion de la imagen de una lista de archivos en un instante de tiempo determinado. La copia de la lista de archivos incluye esencialmente informacion de la lista de archivos y un estado de los archivos, en donde el estado de los archivos se puede configurar con un estado inicial y el estado de los archivos se utiliza para indicar una operacion de actualizacion de un archivo de la lista de archivos durante una comparacion posterior, con el fin de determinar una operacion futura de un archivo.
102: Comparar la primera copia de la lista de archivos con la informacion de la lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos.
Concretamente, el terminal explora su lista de archivos locales, compara la informacion de una lista actual de archivos locales obtenida mediante la exploracion de la lista de archivos locales con la informacion de la primera copia de la lista de archivos, obtiene una operacion de actualizacion finalizada de la lista de archivos locales con respecto a la primera copia de la lista de archivos, en donde la operacion de actualizacion se refiere a una operacion de actualizacion de un archivo de la copia de la lista de archivos, como por ejemplo Local File Add (Agregar Archivo Local), Local File Delete (Eliminar Archivo Local) o Local File Modify (Modificar Archivo Local), y el terminal incorpora la operacion de actualizacion de la lista de archivos locales a la segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos puede ser una primera copia de la lista de archivos actualizada o una copia de la lista de archivos generada de nuevo.
103: Enviarle una peticion de una copia de la lista de archivos a un servidor.
Concretamente, el terminal le envfa una peticion de una copia de la lista de archivos al servidor, con el fin de obtener informacion de una lista de archivos del servidor.
104: Recibir una tercera copia de la lista de archivos enviada por el servidor.
Concretamente, el terminal recibe una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos se genera despues de que el servidor haya recibido la peticion de una copia de la lista de archivos, e incluye informacion de una lista de archivos del servidor.
Adicionalmente, como en un penodo comprendido entre el final de la ultima sincronizacion del terminal y el envfo de la peticion de una copia de la lista de archivos al servidor en la sincronizacion actual el servidor puede realizar una operacion de sincronizacion con otro terminal, se actualiza la informacion de los archivos en el servidor. Por consiguiente, la informacion de la lista de archivos del servidor puede incluir informacion de actualizacion.
105: Determinar, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, un identificador y una operacion de un archivo que es necesario sincronizar y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
Concretamente, el terminal compara la segunda copia de la lista de archivos con la tercera copia de la lista de archivos con el fin de determinar una operacion de actualizacion finalizada en la lista de archivos del servidor. Como resultado se determinan un identificador y una operacion de un archivo que es necesario sincronizar en funcion de una operacion de actualizacion finalizada de la lista de archivos locales incluidos en la segunda copia de la lista de archivos y la operacion de actualizacion finalizada de la lista de archivos del servidor, en donde la operacion del archivo que es necesario sincronizar incluye subirlo, descargarlo, cambiar su nombre o eliminarlo.
Preferiblemente, el terminal determina una categona de operaciones en funcion de la operacion de actualizacion de la lista de archivos locales incluidos en la segunda copia de la lista de archivos y la operacion de actualizacion de la lista de archivos del servidor y, de acuerdo con la categona de las operaciones, combina la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor, con el fin de determinar el identificador y la operacion del archivo que es necesario sincronizar.
Despues de haber determinado el identificador y la operacion del archivo que es necesario sincronizar, el terminal realiza una operacion de sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
A partir de la descripcion anterior se puede observar que, en este modo de realizacion, una segunda copia de la lista de archivos incluye una operacion de actualizacion de una lista actual de archivos locales, una tercera copia de la
5
10
15
20
25
30
35
40
45
50
lista de archivos incluye informacion de una lista de archivos de un servidor, y una operacion de un archivo que es necesario sincronizar que ha sido determinada a partir de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos incluye tanto una operacion de actualizacion de un archivo de la lista de archivos locales como una operacion de actualizacion de un archivo de la lista de archivos del servidor. Por consiguiente, se puede implementar la sincronizacion bidireccional entre el dispositivo para la sincronizacion y el servidor a partir del identificador y la operacion del archivo que es necesario sincronizar.
La FIG. 2 muestra un flujo de senalizacion de un metodo para sincronizar archivos proporcionado por un modo de realizacion de la presente invencion. En este modo de realizacion, preferiblemente, se utiliza un terminal como dispositivo para la sincronizacion. El modo de realizacion incluye espedficamente los siguientes pasos:
201: Enviar una peticion de inicio de sesion.
Concretamente, el terminal le envfa una peticion de inicio de sesion a un servidor, en donde la peticion de inicio de sesion incluye un identificador de usuario, y el identificador de usuario puede ser un nombre o una contrasena de usuario. La peticion de inicio de sesion puede incluir, ademas, un identificador del terminal, de tal modo que cuando varios terminales inician una sesion al mismo tiempo utilizando el mismo nombre de usuario, el servidor puede distinguir los terminales en funcion de los identificadores de los terminales.
202: Realizar la autenticacion del inicio de sesion.
Concretamente, despues de haber recibido la peticion de inicio de sesion, el servidor obtiene el identificador de usuario a partir de la peticion de inicio de sesion, autentica el permiso del identificador de usuario consultando la informacion de una base de datos de usuarios, y le envfa el resultado de la autenticacion al terminal. El servidor puede autenticar ademas los identificadores de los terminales con el fin de distinguir los diferentes terminales.
203: Devolver una respuesta al inicio de sesion.
Concretamente, el terminal recibe el resultado de la autenticacion enviado por el servidor, en donde el resultado de la autenticacion puede ser un fallo de inicio de sesion o la aceptacion del inicio de sesion. Despues de que el inicio de sesion haya sido aceptado, el terminal puede establecer un directorio de sincronizacion, y al mismo tiempo, el terminal puede establecer, ademas, un modo de sincronizacion teniendo en cuenta los requisitos de servicio, como por ejemplo la limitacion del trafico de la red. El modo de sincronizacion puede consistir en una sincronizacion unidireccional (que incluye la sincronizacion unidireccional de subida y la sincronizacion unidireccional de descarga), una sincronizacion bidireccional o una sincronizacion selectiva. La sincronizacion unidireccional se refiere a que en el proceso de sincronizacion la actualizacion se realiza de forma smcrona desde el terminal al servidor o desde el servidor al terminal; la sincronizacion bidireccional se refiere a que la sincronizacion se lleva a cabo de forma bidireccional entre el terminal y el servidor; y la sincronizacion selectiva se refiere a que al usuario se le permite sincronizar archivos de forma selectiva, por ejemplo, sincronizar unicamente un subdirectorio o unos archivos determinados de un tipo concreto.
204: Obtener una primera copia de la lista de archivos.
Concretamente, despues de que el inicio de sesion haya sido aceptado, el terminal obtiene una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos almacenados despues de que haya finalizado la ultima sincronizacion entre el terminal y el servidor, y la informacion se puede almacenar localmente en el terminal. Por consiguiente, el terminal puede leer directamente la primera copia de la lista de archivos localmente. Adicionalmente, la primera copia de la lista de archivos puede incluir un identificador de archivo, una ruta del archivo, la hora de creacion del archivo, un indicador de si se trata de un archivo o un directorio, o un estado del archivo, en donde el identificador de archivo puede ser un nombre de archivo u otra informacion de identificacion del archivo; y el estado del archivo se utiliza para indicar una operacion de actualizacion de un archivo en la lista de archivos. Por otro lado, la primera copia de la lista de archivos puede incluir, ademas, un numero de version, en donde el numero de version identifica la informacion de la version de las listas de archivos en los directorios que deben ser sincronizados en el terminal y en el servidor al finalizar la ultima sincronizacion.
Se debe observar que, si es la primera vez que el terminal realiza la sincronizacion, esto es, no existe un ultimo proceso de sincronizacion, en el terminal no existe ninguna primera copia de la lista de archivos; en otros casos, incluso si existe una primera copia de la lista de archivos en el terminal, es posible que la primera copia de la lista de archivos no pueda ser lefda por que, por ejemplo, la primera copia de la lista de archivos se ha perdido o esta danada; en este caso el terminal tiene que explorar directamente los archivos y directorios en un directorio de sincronizacion local para reconstruir una primera copia de la lista de archivos.
Por ejemplo, a continuacion se muestra un ejemplo de la primera copia de la lista de archivos.
5
10
15
20
25
30
35
40
Identificador del archivo
ruta del archivo hora de creacion del archivo archivo o directorio estado del archivo
1.txt
\ 1319162967 0 initial (inicial)
2.txt
\ 1319163850 0 initial
Hola
\ 1319199057 1 initial
a.txt
\ Hola 1313916412 0 initial
En este ejemplo, la primera copia de la lista de archivos incluye informacion relacionada con archivos como, por ejemplo, 1.txt, 2.txt, un directorio Hola y a.txt en el directorio Hola; cada registro incluye un identificador de archivo, una ruta del archivo, la hora de creacion del archivo, si se trata de un archivo o un directorio, y un estado del archivo, en donde en la columna de archivo o directorio, un 0 representa un archivo y un 1 representa un directorio; y el estado del archivo se ha establecido inicialmente como initial.
205: Realizar una comparacion por primera vez y obtener una segunda copia de la lista de archivos.
El terminal explora una lista de archivos local, compara la informacion (por ejemplo, el identificador de archivo, la ruta del archivo, la hora de creacion del archivo, el indicador de archivo o directorio, o el estado del archivo) relacionada con un archivo obtenida mediante la exploracion de la lista de archivos locales con la informacion (por ejemplo, el identificador de archivo, la ruta del archivo, la hora de creacion del archivo, el indicador de archivo o directorio, o el estado del archivo) en la primera copia de la lista de archivos, determina el cambio del archivo en cuestion comparando la informacion de dicho archivo con la informacion correspondiente en la primera copia de la lista de archivos, y genera una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos puede ser una primera copia de la lista de archivos actualizada o una copia generada de nuevo.
La segunda copia de la lista de archivos incluye una operacion de actualizacion de la lista de archivos locales. Preferiblemente, en la segunda copia de la lista de archivos se registra en la columna del estado del archivo una operacion de actualizacion de cada archivo, y en ese momento se modifica el estado del archivo del estado inicial a una operacion de actualizacion, en donde la operacion de actualizacion incluye Local File Add, Local File Delete, o Local File Modify.
Opcionalmente, la operacion de actualizacion de la lista actual de archivos locales se registra en la primera copia de la lista de archivos, es decir, se utiliza como segunda copia de la lista de archivos la primera copia de la lista de archivos actualizada. Concretamente, si la primera copia de la lista de archivos incluye informacion de un archivo correspondiente, en la primera copia de la lista de archivos se modifica el estado de archivo correspondiente al archivo; si la primera copia de la lista de archivos no incluye la informacion del archivo correspondiente, en la primera copia de la lista de archivos se agrega un registro en relacion con el archivo, y al estado del archivo se le asigna una operacion de actualizacion.
Por ejemplo, siguiendo con el ejemplo anterior, y suponiendo que la operacion de actualizacion del terminal incluye: eliminar el archivo 1.txt, cambiar el nombre de 2.txt a 2-renombrado.txt, y cambiar el nombre del directorio Hola a Hola-renombrado, la informacion acerca de los archivos y el directorio en el directorio de sincronizacion actual obtenida por el terminal al realizar la exploracion es la siguiente:
Identificador del archivo ruta del archivo
2-renombrado.txt
Hola-renombrado
a.txt
\
\
\ Hola-renombrado
hora de creacion del archivo
1319163850
1319199057
1313916412
archivo o directorio 0 1 0
Cuando se explora la informacion del archivo 2-renombrado.txt, el terminal comprueba que no existe ningun registro relacionado con el archivo en la primera copia de la lista de archivos; entonces el terminal agrega el registro a la primera copia de la lista de archivos y establece como estado del archivo Local Add (local_add). Cuando se explora el archivo a.txt en el directorio Hola-renombrado como en la primera copia de la lista de archivos no existe ningun registro Hola-renombrado\a.txt, el terminal agrega el registro a la primera copia de la lista de archivos y establece como estado del archivo Local Add (local_add). Cuando el terminal termina de explorar todos los archivos del directorio Hola-renombrado, el terminal no encuentra el registro correspondiente a Hola-renombrado en la primera copia de la lista de archivos; entonces, el terminal agrega el registro correspondiente a Hola-renombrado a la primera copia de la lista de archivos y, ademas, actualiza el estado a Local Add (local_add).
Despues de que los archivos y directorios actuales en el directorio de sincronizacion hayan sido completamente explorados, para todos los registros cuyo estado en la primera copia de la lista de archivos no sea un estado de actualizacion se establece como estado Local Delete (local_del). Como resultado, despues de que se haya completado la primera comparacion, la informacion de actualizacion incluida en la primera copia de la lista de
5
10
15
20
25
30
35
40
archivos actualizada es la siguiente: Identificador del archivo ruta del archivo
hora de creacion del archivo archivo o directorio estado del archivo
1.txt
\ 1319162967 0 local_del
2.txt
\ 1319163850 0 local_del
Hola
\ 1319199057 1 local_del
a.txt
\Hola 1313916412 0 local_del
2-renombrado.txt
\ 1319163850 0 local_add
Hola-renombrado
\ 1319199057 1 local_add
a.txt
\Hola-renombrado 1313916412 0 local_add
Despues de la primera comparacion, la primera copia de la lista de archivos actualizada, esto es, la segunda copia de la lista de archivos, incluye una operacion de actualizacion de un archivo de la lista de archivos locales.
206: Enviar una peticion de una copia de la lista de archivos.
Concretamente, el terminal le envfa una peticion de una copia de la lista de archivos al servidor, con el fin de obtener la informacion actual de una lista de archivos del servidor.
207: Generar una tercera copia de la lista de archivos.
Concretamente, despues de haber recibido la peticion de una copia de la lista de archivos enviada por el terminal, el servidor genera una tercera copia de la lista de archivos a partir de la informacion de la lista de archivos del servidor, en donde la tercera copia de la lista de archivos incluye la informacion de la lista de archivos del servidor y, espedficamente, puede incluir un identificador de archivo, una ruta del archivo, la hora de creacion del archivo, un indicador de archivo o directorio, o un estado del archivo; el estado inicial del archivo puede ser un estado inicial.
Se debe observar que, si el servidor no ha realizado una operacion de sincronizacion con otro terminal en el penodo comprendido entre el final de la ultima sincronizacion del terminal y la sincronizacion actual, la informacion de la lista de archivos en el directorio de sincronizacion del servidor permanece inalterada. Si el servidor ha realizado una operacion de sincronizacion con otro terminal en el penodo comprendido entre el final de la ultima sincronizacion del terminal y la sincronizacion actual, la informacion de los archivos en el directorio de sincronizacion del servidor ha cambiado y, en ese caso, la segunda copia de la lista de archivos incluye la informacion de actualizacion de la lista de archivos.
208: Devolver la tercera copia de la lista de archivos.
Concretamente, despues de haber generado la tercera copia de la lista de archivos, el servidor le envfa la tercera copia de la lista de archivos al terminal.
209: Obtener la tercera copia de la lista de archivos.
Concretamente, el terminal recibe y obtiene la tercera copia de la lista de archivos enviada por el servidor.
210: Realizar la comparacion por segunda vez y determinar un identificador y una operacion de un archivo que es necesario sincronizar.
Despues de haber obtenido la tercera copia de la lista de archivos, el terminal compara la segunda copia de la lista de archivos con la tercera copia de la lista de archivos con el fin de determinar una operacion de actualizacion de la lista de archivos del servidor, como por ejemplo Server Add Operation (Operacion Agregar al Servidor), Server Delete Operation (Operacion Eliminar del Servidor), Server Modify Operation (Operacion Modificar en el Servidor) u otras operaciones. Asf pues, se determinan un identificador y una operacion de un archivo que es necesario sincronizar en funcion de la operacion de actualizacion de la lista de archivos locales incluida en la segunda copia de la lista de archivos y la operacion de actualizacion de la lista de archivos del servidor, en donde la operacion del archivo que es necesario sincronizar incluye Upload (Subida), Download (Descarga), Rename (Cambio de nombre) o Delete (Eliminacion).
Concretamente, la tercera copia de la lista de archivos puede incluir, ademas, un numero de version, en donde el numero de version identifica la informacion de la version de la lista de archivos en el directorio de sincronizacion del servidor al finalizar la ultima sincronizacion, y si el servidor ha realizado una operacion de sincronizacion con otro terminal entre la sincronizacion actual y la ultima sincronizacion se actualiza la lista de archivos del servidor y a continuacion se cambia el numero de version. De igual modo, la primera copia de la lista de archivos en el terminal puede incluir, ademas, un numero de version, en donde el numero de version identifica la informacion de la version de una lista de archivos en un directorio de sincronizacion local al finalizar la ultima sincronizacion, y como la informacion de la lista de archivos en el directorio de sincronizacion local es consistente con la de la lista de archivos en el directorio de sincronizacion del servidor al finalizar la ultima sincronizacion, el numero de version tambien
5
10
15
20
25
30
35
40
45
50
55
60
refleja la informacion de la version de la lista de archivos en el directorio de sincronizacion del servidor al finalizar la ultima sincronizacion. Esto es, si el servidor no ha realizado una operacion de sincronizacion con otro terminal, el numero de version en la primera copia de la lista de archivos es el mismo que el numero de version en la tercera copia de la lista de archivos.
El terminal compara el numero de version en la primera copia de la lista de archivos en el terminal con el numero de version en la tercera copia de la lista de archivos obtenida del servidor, y si los dos numeros de version son iguales, ello indica que entre la sincronizacion actual y la ultima sincronizacion el servidor no ha realizado ninguna operacion de sincronizacion con otro terminal, es decir, que la lista de archivos en el directorio de sincronizacion del servidor permanece inalterada. En este caso el terminal puede determinar, en funcion de la operacion de actualizacion de la lista de archivos en la segunda copia de la lista de archivos, el identificador y la operacion del archivo que es necesario sincronizar.
Concretamente, el terminal clasifica en primer lugar las operaciones de actualizacion en la segunda copia de la lista de archivos con el fin de determinar una categona de operaciones, como por ejemplo Local Add (local_add), Local Delete (local_del) o Local Modify (local_modify). Como los estados de algunos de los archivos se pueden combinar logicamente, los estados de los archivos en la categona anterior se combinan segun una regla de combinacion apropiada, con el fin de determinar la operacion correspondiente del archivo; mientras que para los estados de archivos que no se pueden combinar, la operacion de archivo se determina directamente en funcion del estado del archivo. Por ejemplo, para una operacion de cambio de nombre de un archivo local, la segunda copia de la lista de archivos incluye una operacion Local Delete (local_del) del archivo original, asf como una operacion Local Add (local_add) del archivo renombrado. En este caso se puede comparar la informacion relacionada del archivo original con la del archivo renombrado para determinar la combinacion de local_del y local_add y determinar una operacion renameFile (cambiar el nombre del archivo) de cambio de nombre del archivo. En este caso se le envfa al servidor una peticion para realizar una operacion renameFile sobre el archivo original, y el servidor puede llevar a cabo la sincronizacion con el archivo en el terminal simplemente realizando una operacion de cambio de nombre del archivo original. Si no se realiza la combinacion, es necesario enviarle al servidor en primer lugar una peticion de operacion para eliminar el archivo original, y a continuacion enviarle una peticion para agregar el archivo renombrado. El servidor tiene que eliminar en primer lugar el archivo original de acuerdo con la peticion de operacion de eliminacion del archivo original, y a continuacion recibir, de acuerdo con la peticion para agregar el archivo renombrado, el archivo renombrado subido por el terminal. Asf pues, la combinacion de los estados de los archivos puede mejorar la eficiencia de la sincronizacion de archivos.
Si los dos numeros de version son diferentes, ello indica que entre la sincronizacion actual y la ultima sincronizacion el servidor ha realizado una operacion de sincronizacion con otro terminal, esto es, que la lista de archivos en el directorio de sincronizacion del servidor ha cambiado. En este caso, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, el terminal determina un identificador y una operacion del archivo que es necesario sincronizar. Concretamente, despues de comparar la segunda copia de la lista de archivos con la tercera copia de la lista de archivos, el terminal determina en primer lugar la operacion de actualizacion de la lista de archivos del servidor y, a continuacion, determina un identificador y una operacion del archivo que es necesario sincronizar en tal caso en funcion de la operacion de actualizacion de la lista de archivos en la segunda copia de la lista de archivos y la operacion de actualizacion de la lista de archivos del servidor, y aplicando el mismo metodo para determinar el identificador y la operacion del archivo que es necesario sincronizar utilizado cuando los numeros de version son iguales.
Adicionalmente, este modo de realizacion simplemente enumera algunas reglas de combinacion y operaciones de archivo sencillas. Para una operacion de archivo complicada, como por ejemplo la modificacion de un archivo, el terminal tiene que determinar el archivo que es necesario modificar, y el usuario determina el archivo que hay que mantener y el archivo que se debe eliminar.
211: Realizar la sincronizacion de archivos con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
Concretamente, despues de haber determinado el identificador y la operacion de los archivos que es necesario sincronizar, el terminal le envfa una peticion de sincronizacion de archivos al servidor, en donde la peticion de sincronizacion incluye informacion de las operaciones de los archivos que es necesario sincronizar; el servidor recibe la peticion de sincronizacion de los archivos y obtiene la informacion de las operaciones incluidas en la peticion con el fin de realizar las operaciones pertinentes sobre los archivos en el directorio de sincronizacion del servidor, llevando a cabo de este modo la sincronizacion con la lista de archivos en el directorio de sincronizacion del terminal. Despues de que la sincronizacion haya finalizado, se sincroniza la actualizacion en la lista de archivos del terminal con el servidor, y analogamente, la actualizacion en la lista de archivos del servidor se sincroniza con el terminal, esto es, finalmente se realiza la sincronizacion bidireccional entre el terminal y el servidor.
Se debe observar que, despues de que el terminal le haya enviado la peticion de sincronizacion de archivos al servidor, si el servidor esta realizando la operacion de sincronizacion de archivos con otro terminal, esto es, el servidor se encuentra en un estado de realizacion de la sincronizacion de archivos con otro terminal, el servidor le puede enviar al terminal el estado que indica que el servidor esta realizando la sincronizacion de archivos con otro
5
10
15
20
25
30
35
40
45
50
terminal. As^ pues, en este caso el terminal puede recibir el estado que indica que el servidor esta realizando la sincronizacion de archivos con otro terminal y suspender la operacion de sincronizacion de archivos con el servidor. Ademas, despues de haber suspendido la operacion de sincronizacion de archivos con el servidor, el terminal le puede volver a enviar al servidor la peticion de sincronizacion de archivos transcurrido un determinado intervalo de tiempo (por ejemplo, 30 segundos); o el terminal recibe un mensaje enviado por el servidor que indica que el servidor se encuentra en un estado de inactividad y a continuacion le envfa la peticion de sincronizacion de archivos al servidor, con el fin de realizar la operacion de sincronizacion de archivos con el servidor.
Por ejemplo, se supone que los identificadores generados y las operaciones de los archivos que es necesario sincronizar son como sigue:
identificador de archivo Operacion
1. txt removefile (eliminar fichero)
2. txt renamefile
La operacion de 1.txt y 2.txt es una operacion de Delete File, y a continuacion el terminal le envfa al servidor la peticion del protocolo de transferencia de hipertexto (HTTP: HyperText Transfer Protocol) que se muestra del siguiente modo:
POST
http://syncbox.dbank.com/app/pc/disk.removefile.php HTTP/1.1 NSP-Auth: AccessToken ClientID=3d4e901399d4c0a9aeae4727 Host: syncbox.dbank.com Path =%2F&files=["1%2Etxt"]
HTTP/1.1 200 ok
{"action":"true", "successList":[{"name":"1.txt"}]}
POST
http://syncbox.dbank.com/app/pc/disk.removefile.php HTTP/1.1 NSP-Auth:AccessToken ClientID=3d4e901399d4c0a9aeae4727 Host: syncbox.dbank.com Path =%2F&files=["1%2Etxt"]
HTTP/1.1 200 ok
{"action":"true", "successList":[{"name":"2.txt"}]}
Despues de recibir la peticion HTTP, el servidor elimina, de acuerdo con la informacion de Delete File (removefile) 1.txt y removefile 2.txt incluida en la peticion, los archivos 1.txt y 2.txt en el directorio que es necesario sincronizar en el servidor. Para otros archivos y operaciones, el terminal puede enviar peticiones similares de sincronizacion de archivos con el fin de dar por terminada la sincronizacion con el servidor.
Al completarse satisfactoriamente el proceso de la sincronizacion de los archivos en los directorios de sincronizacion del terminal y el servidor, el terminal almacena, ademas, una copia de una lista de archivos en el directorio de sincronizacion del servidor o del terminal (en ese instante, las listas de archivos en los directorios de sincronizacion del servidor y el terminal son consistentes entre sf), y utiliza la copia como una primera copia de la lista de archivos durante la siguiente sincronizacion. Ademas, se vuelve a generar un numero de version de la primera copia de la lista de archivos, y el numero de version de la lista de archivos en el directorio de sincronizacion del servidor tambien se actualiza para que coincida con el numero de version regenerado, con el fin de que indique la consistencia entre las listas de archivos en los directorios de sincronizacion del terminal y el servidor.
A partir de este modo de realizacion se puede observar que el terminal determina mediante dos etapas de comparacion el identificador y la operacion del archivo que es necesario sincronizar, y lleva a cabo la sincronizacion con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar. En el proceso de sincronizacion concreto, el terminal le envfa al servidor una peticion de operacion correspondiente, como por ejemplo una peticion de subida, una peticion de descarga, una peticion de cambio de nombre o una peticion de eliminacion, de acuerdo con la operacion del archivo que es necesario sincronizar, y el servidor realiza el procesamiento correspondiente de acuerdo con la peticion de operacion pertinente recibida. En todo el proceso de sincronizacion el servidor no necesita determinar el identificador y la operacion del archivo que es necesario sincronizar, por lo que un metodo de sincronizacion semejante puede reducir de forma efectiva la carga de procesamiento del servidor.
A partir de la descripcion anterior se puede observar que, en este modo de realizacion, una segunda copia de la lista de archivos incluye una operacion de actualizacion de una lista actual de archivos locales, una tercera copia de la lista de archivos incluye informacion de una lista de archivos de un servidor, y una operacion de un archivo que es necesario sincronizar que se determina en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos incluye tanto una operacion de actualizacion de un archivo de la lista de archivos locales como una
5
10
15
20
25
30
35
40
45
50
55
operacion de actualizacion de un archivo de la lista de archivos del servidor. De este modo se puede implementar la sincronizacion bidireccional entre el dispositivo para la sincronizacion y el servidor de acuerdo con un identificador y la operacion del archivo que es necesario sincronizar.
En correspondencia, la FIG. 3 muestra un dispositivo para la sincronizacion proporcionado por otro modo de realizacion de la presente invencion, en donde el dispositivo incluye:
una primera unidad 308 de adquisicion, configurada para obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos locales almacenada al haber finalizado la ultima sincronizacion;
una segunda unidad 309 de adquisicion, configurada para comparar la primera copia de la lista de archivos obtenida por la primera unidad 308 de adquisicion con la informacion de una lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos incluye una operacion de actualizacion de la lista actual de archivos locales, en donde, espedficamente, el dispositivo para la sincronizacion explora una lista de archivos locales, compara la informacion relacionada con un archivo obtenida mediante la exploracion de la lista de archivos locales con la informacion de la primera copia de la lista de archivos, determina si el archivo actual ha sido modificado comparando la informacion del archivo actual con la informacion correspondiente en la primera copia de la lista de archivos, y genera una segunda copia de la lista de archivos, y la segunda copia de la lista de archivos puede ser una primera copia de la lista de archivos actualizada o una copia generada de nuevo;
una unidad 310 de envfo, configurada para enviarle una peticion de una copia de la lista de archivos al servidor, con el fin de obtener la informacion actual de una lista de archivos del servidor;
una unidad 311 de recepcion, configurada para recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos incluye informacion de la lista de archivos del servidor; y
una unidad 312 de sincronizacion, configurada para determinar, en funcion de la segunda copia de la lista de archivos obtenida por la segunda unidad 309 de adquisicion y la tercera copia de la lista de archivos recibida por la unidad 311 de recepcion, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
El dispositivo anterior para la sincronizacion, puede ser un terminal que lleva a cabo un intercambio de datos con el servidor. La FIG. 3 muestra, ademas, la estructura de un terminal proporcionado por un modo de realizacion de la presente invencion, en donde el terminal puede incluir al menos un procesador 301, al menos una interfaz 304 de red, un dispositivo 305 de almacenamiento, y al menos un bus 302 de comunicacion configurado para permitir la conexion y comunicacion entre los componentes. El terminal puede incluir, ademas, una interfaz 303 de usuario configurada para permitir la interaccion con un usuario. El dispositivo 305 de almacenamiento puede incluir:
un sistema operativo 306, configurado para procesar varios servicios basicos del sistema y ejecutar las tareas basadas en cooperacion con el hardware; y
una unidad 307 de aplicacion, configurada para determinar, en funcion de una operacion de actualizacion obtenida de una lista de archivos locales y una operacion de actualizacion de una lista de archivos del servidor, un identificador y una operacion de un archivo que es necesario sincronizar y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar. La unidad 307 de aplicacion incluye, espedficamente:
una primera unidad 308 de adquisicion, configurada para obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos incluye informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion;
una segunda unidad 309 de adquisicion, configurada para comparar la primera copia de la lista de archivos obtenida por la primera unidad 308 de adquisicion con la informacion de la lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos incluye una operacion de actualizacion de la lista actual de archivos locales, en donde, espedficamente, el terminal explora una lista de archivos locales, compara la informacion relacionada con un archivo obtenida mediante la exploracion de la lista de archivos locales con la informacion de la primera copia de la lista de archivos, determina si el archivo actual ha sido modificado comparando la informacion del archivo actual con la informacion correspondiente en la primera copia de la lista de archivos, y genera una segunda copia de la lista de archivos, y la segunda copia de la lista de archivos puede ser una primera copia de la lista de archivos actualizada o una copia generada de nuevo;
una unidad 310 de envfo, configurada para enviarle una peticion de una copia de la lista de archivos al servidor, con el fin de obtener la informacion actual de una lista de archivos del servidor;
una unidad 311 de recepcion, configurada para recibir una tercera copia de la lista de archivos enviada por el
5
10
15
20
25
30
35
40
servidor, en donde la tercera copia de la lista de archivos incluye informacion de la lista de archivos del servidor; y
una unidad 312 de sincronizacion, configurada para determinar, en funcion de la segunda copia de la lista de archivos obtenida por la segunda unidad 309 de adquisicion y la tercera copia de la lista de archivos recibida por la unidad 311 de recepcion, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
Concretamente, la unidad 312 de sincronizacion esta configurada para determinar una operacion de actualizacion de la lista de archivos del servidor en funcion de la segunda copia de la lista de archivos obtenida por la segunda unidad 309 de adquisicion y la tercera copia de la lista de archivos recibida por la unidad 311 de recepcion, y a continuacion determinar, de acuerdo con la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor, los identificadores y las operaciones de los archivos que es necesario sincronizar. Adicionalmente, la unidad 312 de sincronizacion puede estar configurada, ademas, para suspender la operacion de sincronizacion de archivos con el servidor al recibir un estado enviado por el servidor que indica que el servidor esta realizando la sincronizacion de archivos con otro terminal.
En otro modo de realizacion de la presente invencion, el dispositivo puede incluir, ademas:
una unidad 313 de configuracion, configurada para establecer un modo de sincronizacion, en donde el modo de sincronizacion incluye una sincronizacion unidireccional, una sincronizacion bidireccional o una sincronizacion selectiva, y despues de que la unidad 313 de configuracion haya establecido el modo de sincronizacion espedfico, la unidad 312 de sincronizacion realiza la sincronizacion de archivos con el servidor de acuerdo con el modo de sincronizacion establecido por la unidad 313 de configuracion.
A partir de la descripcion anterior se puede observar que, en este modo de realizacion, una segunda copia de la lista de archivos incluye una operacion de actualizacion de una lista actual de archivos locales, una tercera copia de la lista de archivos incluye informacion de una lista de archivos de un servidor, y una operacion de un archivo que es necesario sincronizar que se ha determinado en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos incluye tanto una operacion de actualizacion de un archivo de la lista de archivos locales como una operacion de actualizacion de un archivo de la lista de archivos del servidor. De este modo se puede implementar la sincronizacion bidireccional entre el dispositivo para la sincronizacion y el servidor de acuerdo con un identificador y la operacion del archivo que es necesario sincronizar.
El terminal anterior puede participar en la ejecucion del metodo que se muestra en la FIG. 1 o la FIG. 2, y en la presente peticion no se describe de nuevo de forma detallada el flujo de la operacion.
Las personas con un conocimiento normal en la tecnica deben entender que la totalidad o una parte de los procesos de los metodos de los modos de realizacion se pueden implementar mediante un programa de ordenador que controle un hardware apropiado. El programa puede estar almacenado en un medio de almacenamiento legible por ordenador. Al ejecutarse el programa se ponen en practica los procesos de los metodos de los modos de realizacion. El medio de almacenamiento puede ser un disco magnetico, un disco optico, una Memoria de Solo Lectura (ROM), o una Memoria de Acceso Aleatorio (RAM).
Los casos concretos se utilizan para ilustrar los principios y las formas de implementacion de la presente invencion. Las descripciones de los modos de realizacion son solamente para comprender las soluciones tecnicas de la presente invencion. Por otro lado, aquellos con un conocimiento normal en la tecnica pueden realizar modificaciones a las formas de implementacion espedficas y a los rangos de aplicacion de acuerdo con las ideas de la presente invencion. En conclusion, el contenido de esta memoria no debe interpretarse como una limitacion a la presente invencion.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un metodo para sincronizar archivos, que comprende:
    obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos comprende informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion;
    comparar la primera copia de la lista de archivos con la informacion de una lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos comprende una operacion de actualizacion de la lista actual de archivos locales;
    enviarle a un servidor una peticion de una copia de la lista de archivos;
    recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos comprende informacion de una lista de archivos del servidor; y
    determinar, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
  2. 2. El metodo de acuerdo con la reivindicacion 1, en el que la operacion de actualizacion de la lista actual de archivos locales comprende Local Add (Agregar Local), Local Delete (Eliminar Local) y Local Modify (Modificar Local).
  3. 3. El metodo de acuerdo con la reivindicacion 2, en el que la determinacion, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, del identificador y la operacion del archivo que es necesario sincronizar comprende:
    determinar, en funcion de la segunda copia de la lista de archivos y la tercera copia de la lista de archivos, una operacion de actualizacion de la lista de archivos del servidor; y
    determinar, de acuerdo con la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor, el identificador y la operacion del archivo que es necesario sincronizar.
  4. 4. El metodo de acuerdo con la reivindicacion 3, en el que la determinacion, de acuerdo con la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor, del identificador y la operacion del archivo que es necesario sincronizar comprende:
    determinar una categona de operaciones de acuerdo con la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor;
    combinar la operacion de actualizacion de la lista de archivos locales y la operacion de actualizacion de la lista de archivos del servidor de acuerdo con la categona de las operaciones, con el fin de determinar el identificador y la operacion del archivo que es necesario sincronizar.
  5. 5. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en el que la realizacion de la sincronizacion de archivos con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar comprende, ademas:
    suspender la operacion de sincronizacion de archivos con el servidor cuando se recibe un estado enviado por el servidor que indica que el servidor esta realizando una sincronizacion de archivos con otro dispositivo para la sincronizacion.
  6. 6. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 5, en el que una operacion especificada mediante el identificador y la operacion del archivo que es necesario sincronizar comprende subir, descargar, cambiar el nombre o eliminar.
  7. 7. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 6, que comprende, ademas:
    establecer un modo de sincronizacion, en donde el modo de sincronizacion comprende una sincronizacion unidireccional, una sincronizacion bidireccional o una sincronizacion selectiva.
  8. 8. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 7, en el que una copia de la lista de archivos se refiere a la informacion de una imagen de una lista de archivos en un instante determinado, la copia de la lista de archivos incluye informacion de una lista de archivos y un estado de los archivos, en donde al estado de los archivos se le ha asignado un estado inicial, y el estado de los archivos se utiliza para indicar una operacion de actualizacion de un archivo de la lista de archivos durante la comparacion con el fin de determinar una operacion futura de un archivo.
    5
    10
    15
    20
    25
    30
    35
    40
    45
  9. 9. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en el que la comparacion de la primera copia de la lista de archivos con la informacion de una lista actual de archivos locales comprende, ademas:
    detectar que en la primera copia de la lista de archivos no existe ningun registro acerca de un archivo;
    agregarle a la primera copia de la lista de archivos un registro del archivo; y
    establecer como estado del archivo Local Add.
  10. 10. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en el que la comparacion de la primera copia de la lista de archivos con la informacion de una lista actual de archivos locales comprende, ademas: marcar como Local Delete todos los registros de la primera copia de la lista de archivos cuyo estado no indique actualizacion.
  11. 11. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 10, en el que la obtencion de una segunda copia de la lista de archivos comprende, ademas:
    determinar un cambio de la lista de archivos actual comparando la informacion de la lista de archivos actual con la informacion correspondiente de la primera copia de la lista de archivos; y
    generar una segunda copia de la lista de archivos.
  12. 12. El metodo de acuerdo con una cualquiera de las reivindicaciones 1 a 11, en el que la segunda copia de la lista de archivos es una primera copia de la lista de archivos actualizada o una copia generada de nuevo.
  13. 13. Un dispositivo para la sincronizacion, que comprende:
    una primera unidad de adquisicion, configurada para obtener una primera copia de la lista de archivos, en donde la primera copia de la lista de archivos comprende informacion de una lista de archivos locales almacenada al finalizar la ultima sincronizacion;
    una segunda unidad de adquisicion, configurada para comparar la primera copia de la lista de archivos obtenida por la primera unidad de adquisicion con la informacion de una lista actual de archivos locales con el fin de obtener una segunda copia de la lista de archivos, en donde la segunda copia de la lista de archivos comprende una operacion de actualizacion de la lista actual de archivos locales;
    una unidad de envfo, configurada para enviarle a un servidor una peticion de una copia de la lista de archivos;
    una unidad de recepcion, configurada para recibir una tercera copia de la lista de archivos enviada por el servidor, en donde la tercera copia de la lista de archivos comprende informacion de una lista de archivos del servidor; y
    una unidad de sincronizacion, configurada para determinar, en funcion de la segunda copia de la lista de archivos obtenida por la segunda unidad de adquisicion y la tercera copia de la lista de archivos recibida por la unidad de recepcion, un identificador y una operacion de un archivo que es necesario sincronizar, y realizar la sincronizacion del archivo con el servidor de acuerdo con el identificador y la operacion del archivo que es necesario sincronizar.
  14. 14. El dispositivo de acuerdo con la reivindicacion 13, en el que la unidad de sincronizacion esta configurada espedficamente para determinar, en funcion de la segunda copia de la lista de archivos obtenida por la segunda unidad de adquisicion y la tercera copia de la lista de archivos recibida por la unidad de recepcion, una operacion de actualizacion de la lista de archivos del servidor; y
    determinar, de acuerdo con la operacion de actualizacion de la lista de archivos locales y la operacion de
    actualizacion de la lista de archivos del servidor, el identificador y la operacion del archivo que es necesario
    sincronizar.
  15. 15. El dispositivo de acuerdo con una cualquiera de las reivindicaciones 13 a 14, en el que la unidad de sincronizacion esta configurada, ademas, para suspender la operacion de sincronizacion de archivos con el servidor cuando se recibe un estado enviado por el servidor que indica que el servidor esta realizando una sincronizacion de archivos con otro dispositivo para la sincronizacion.
  16. 16. El dispositivo de acuerdo con una cualquiera de las reivindicaciones 13 a 15, que comprende, ademas:
    una unidad de configuracion, configurada para establecer un modo de sincronizacion, en donde el modo de
    sincronizacion comprende una sincronizacion unidireccional, una sincronizacion bidireccional o una sincronizacion selectiva.
ES12856915.9T 2011-12-13 2012-06-12 Método y dispositivo para la sincronización de archivos Active ES2563297T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110415376.5A CN102404338B (zh) 2011-12-13 2011-12-13 一种文件同步方法和装置
CN201110415376 2011-12-13
PCT/CN2012/076773 WO2013086842A1 (zh) 2011-12-13 2012-06-12 一种文件同步方法和装置

Publications (1)

Publication Number Publication Date
ES2563297T3 true ES2563297T3 (es) 2016-03-14

Family

ID=45886124

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12856915.9T Active ES2563297T3 (es) 2011-12-13 2012-06-12 Método y dispositivo para la sincronización de archivos

Country Status (6)

Country Link
EP (1) EP2706719B1 (es)
JP (1) JP5870193B2 (es)
KR (1) KR20140010187A (es)
CN (1) CN102404338B (es)
ES (1) ES2563297T3 (es)
WO (1) WO2013086842A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404338B (zh) * 2011-12-13 2014-08-20 华为技术有限公司 一种文件同步方法和装置
CN103581240B (zh) * 2012-07-27 2017-07-21 华为终端有限公司 下载应用程序的方法、用户设备和应用服务器
CN103237007A (zh) * 2013-03-22 2013-08-07 华为技术有限公司 媒体文件更新方法及装置
CN103220358B (zh) * 2013-04-19 2016-12-28 深圳如果技术有限公司 一种多终端在线文件同步方法、系统、服务器及终端设备
CN103258018B (zh) * 2013-04-27 2016-08-10 北京金和软件股份有限公司 一种精确监控目录文件夹中文件变化的文件同步方法
CN103369037A (zh) * 2013-06-28 2013-10-23 深圳市掌讯通讯设备有限公司 一种安卓智能设备间数据自动同步方法
CN103365688B (zh) * 2013-06-28 2018-08-31 深圳市掌讯通讯设备有限公司 一种安卓智能设备间软件自动安装与同步方法
CN103473341A (zh) * 2013-09-23 2013-12-25 网易(杭州)网络有限公司 一种播放列表生成方法和设备
CN104796442B (zh) * 2014-01-17 2020-08-07 腾讯科技(深圳)有限公司 网页访问信息同步方法、装置及系统
EP3125501B1 (en) * 2014-04-15 2018-08-22 Huawei Technologies Co., Ltd. File synchronization method, server, and terminal
JP6442915B2 (ja) * 2014-08-15 2018-12-26 富士ゼロックス株式会社 通信端末、通信システム及びプログラム
JP6298903B2 (ja) * 2015-01-30 2018-03-20 株式会社日立製作所 計算機システム、分散オブジェクト共有方法、エッジノード
CN104580533B (zh) * 2015-02-05 2018-06-19 中国农业银行股份有限公司 一种交易文件的下发方法及装置
CN106682040A (zh) * 2015-11-11 2017-05-17 中兴通讯股份有限公司 数据管理方法及装置
CN106101265A (zh) * 2016-07-26 2016-11-09 浪潮软件股份有限公司 一种在网盘和桌面端之间进行文件同步的方法
CN106302672A (zh) * 2016-08-05 2017-01-04 上海斐讯数据通信技术有限公司 网络管理系统及其数据同步方法
CN106375861A (zh) * 2016-10-10 2017-02-01 合网络技术(北京)有限公司 视频播放方法及装置
CN106657274A (zh) * 2016-11-16 2017-05-10 武汉斗鱼网络科技有限公司 对应用文件进行处理的方法及装置
CN107103192A (zh) * 2017-04-21 2017-08-29 上海联影医疗科技有限公司 医学图像处理系统及其数据管理方法
CN107819871B (zh) * 2017-11-22 2020-12-25 北京小米移动软件有限公司 应用状态确定方法及装置
CN108573014B (zh) * 2017-12-19 2021-05-28 北京金山云网络技术有限公司 一种文件同步方法、装置、电子设备及可读存储介质
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
CN108921712A (zh) * 2018-06-13 2018-11-30 泰康保险集团股份有限公司 数据处理方法、装置、介质及电子设备
KR102133925B1 (ko) * 2018-07-30 2020-07-14 네이버 주식회사 데이터 동기화 트래픽을 최소화하기 위한 방법 및 시스템
CN109246245A (zh) * 2018-10-31 2019-01-18 武汉新迪数字工程系统有限公司 实现文件同步的方法、服务器、系统及存储介质
CN112084159B (zh) * 2020-07-28 2023-02-21 重庆攸亮科技股份有限公司 一种基于蓝牙通信的文件同步系统和同步方法
CN117112508B (zh) * 2023-10-20 2024-02-06 杭州美创科技股份有限公司 基于序号的文件同步方法、装置、计算机设备及存储介质
CN117290328B (zh) * 2023-11-22 2024-02-27 苏州元脑智能科技有限公司 存储系统文件并发同步方法、装置、设备及可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
EP1410202B1 (en) * 2001-03-16 2006-07-26 Novell, Inc. Client-server model for synchronization of files
JP4142866B2 (ja) * 2001-11-07 2008-09-03 カシオソフト株式会社 データベース同期化装置及びプログラム
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
KR100678921B1 (ko) * 2005-10-18 2007-02-05 삼성전자주식회사 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치
CN101453418B (zh) * 2007-12-05 2011-01-12 高德软件有限公司 客户端与服务器同步的更新方法
US8503984B2 (en) * 2009-12-23 2013-08-06 Amos Winbush, III Mobile communication device user content synchronization with central web-based records and information sharing system
CN102404338B (zh) * 2011-12-13 2014-08-20 华为技术有限公司 一种文件同步方法和装置

Also Published As

Publication number Publication date
EP2706719A1 (en) 2014-03-12
EP2706719B1 (en) 2015-12-16
JP2014524621A (ja) 2014-09-22
CN102404338A (zh) 2012-04-04
KR20140010187A (ko) 2014-01-23
CN102404338B (zh) 2014-08-20
EP2706719A4 (en) 2014-05-07
WO2013086842A1 (zh) 2013-06-20
JP5870193B2 (ja) 2016-02-24

Similar Documents

Publication Publication Date Title
ES2563297T3 (es) Método y dispositivo para la sincronización de archivos
AU2016346891B2 (en) Synchronization protocol for multi-premises hosting of digital content items
US9852147B2 (en) Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items
CN103930879B (zh) 投影存储网关
JP2021507557A (ja) クロスブロックチェーン認証方法および装置
WO2018119585A1 (zh) 区块链的权限控制方法、装置、系统及节点设备
KR100776047B1 (ko) 서버의 주소 정보를 업데이트하는 dns의 동작 방법 및그 방법을 채용한 dns
US20170124170A1 (en) Synchronization protocol for multi-premises hosting of digital content items
US20130151468A1 (en) File synchronization method and device
ES2641439T3 (es) Extracción de archivos de un dispositivo cliente remoto
JP2015535970A5 (es)
TW200400444A (en) System and method for accessing different types of back end data stores
CN109691057A (zh) 经由私人内容分发网络可交换地取回敏感内容
CN108027828A (zh) 与无状态同步节点的托管文件同步
WO2016004768A1 (zh) 一种社交关系管理的方法、设备及系统
US20150154211A1 (en) File storage service system and method for the same
WO2014110972A1 (zh) 更新终端通讯录的方法及装置
JP2016212656A (ja) 情報処理装置、端末、情報処理装置と端末を有するシステム、情報処理方法及びプログラム
CN112003943A (zh) 语音数据同步方法和装置
BR112012031387B1 (pt) Sistema que compreende um cliente de microblog e um servidor de rede externo, método para exibir uma mensagem do microblog e método
CN116489170A (zh) 基于云平台的源端数据同步方法、系统及介质
CN109729121A (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN110071964A (zh) 文件同步方法、装置、文件共享网络、文件共系统及存储介质
CN109600254A (zh) 全链路日志的生成方法及相关系统
CN111309796B (zh) 一种数据处理方法、装置以及计算机可读存储介质