ES2610784T3 - Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento - Google Patents

Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento Download PDF

Info

Publication number
ES2610784T3
ES2610784T3 ES13878530.8T ES13878530T ES2610784T3 ES 2610784 T3 ES2610784 T3 ES 2610784T3 ES 13878530 T ES13878530 T ES 13878530T ES 2610784 T3 ES2610784 T3 ES 2610784T3
Authority
ES
Spain
Prior art keywords
data
storage device
write
time period
replicated
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
ES13878530.8T
Other languages
English (en)
Inventor
Ji Ouyang
Ye ZOU
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 ES2610784T3 publication Critical patent/ES2610784T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

Un método de replicación de datos, que comprende: determinar (E41), mediante un primer dispositivo de almacenamiento, cuándo se desencadena una primera tarea de replicación; leer (E41) un número de período de tiempo actual; modificar (E104, E304) el número de período de tiempo actual; el método se caracteriza por lo siguiente: leer (E106, E42) un segundo número, donde el segundo número es un número correspondiente a una última tarea de replicación completada que está correlacionada con la tarea de replicación actual; determinar (E107, E43) un primer número de acuerdo con el número de período de tiempo actual modificado y el segundo número, donde el primer número es un número anterior al número de período de tiempo actual modificado y el primer número es un número posterior al segundo número; y replicar (E108, E43) los datos que han de replicarse y la información de dirección de los datos que han de replicarse almacenados en una memoria caché del primer dispositivo de almacenamiento y correspondientes al primer número en un segundo dispositivo de almacenamiento.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Metodo de envfo de datos, metodo de recepcion de datos y dispositivo de almacenamiento.
Campo de la invencion
La presente invencion se refiere a tecnologfas de almacenamiento, y en particular, a un metodo de envfo de datos, un metodo de recepcion de datos y un dispositivo de almacenamiento.
Antecedentes
La recuperacion de datos ante desastres, conocida tambien como tecnologfas de replicacion de datos a distancia, se refiere a la configuracion de un sistema de datos no locales que es una replicacion disponible de datos locales. Cuando se produce un desastre en datos locales o en la totalidad de un sistema de aplicaciones, al menos una copia disponible de datos de servicios esenciales del sistema se almacena no localmente.
Un sistema de recuperacion de datos ante desastres tfpico incluye un centro de produccion y un centro de recuperacion ante desastres. En el centro de produccion, se despliegan servidores y una matriz de almacenamiento para el funcionamiento normal de los servicios; y en el centro de recuperacion ante desastres, se despliegan servidores y una matriz de almacenamiento para asumir los servicios del centro de produccion cuando se produce un desastre en dicho centro. La matriz de almacenamiento bien del centro de produccion o del centro de recuperacion ante desastres incluye multiples volumenes de datos, y un volumen de datos es un espacio de almacenamiento logico que se forma asignando espacio de almacenamiento ffsico. Despues de que los datos generados por los servicios en el centro de produccion se hayan escrito en la matriz de produccion, los datos pueden replicarse al centro de recuperacion ante desastres usando un enlace de recuperacion ante desastres y escribirse en la matriz de recuperacion ante desastres. Para que los datos del centro de recuperacion ante desastres puedan asumir la prestacion de los servicios tras producirse un desastre, debe garantizarse la coherencia de los datos replicados en la matriz de recuperacion ante desastres. La garantfa de la coherencia de los datos reposa en solicitudes de datos de escritura basados en dependencias, en donde es preciso garantizar la dependencia. Todas las aplicaciones, los sistemas operativos y las bases de datos dependen por su propia naturaleza de la logica de esta dependencia de solicitudes de datos de escritura para el funcionamiento de sus servicios. Por ejemplo, datos de escritura no ejecutados hasta que la solicitud de datos de escritura 1 esta completada. La orden esta confirmada. Es decir, el sistema no emitira la solicitud de datos de escritura 2 hasta que se asegure que la solicitud de datos de escritura 1 se ha devuelto con exito y de forma completa. De este modo, los servicios pueden restaurarse en funcion de un metodo inherente cuando un proceso de ejecucion se interrumpe debido a un fallo. De otro modo, es posible que, por ejemplo, cuando se leen datos, los datos almacenados por la solicitud de datos de escritura 2 puedan leerse mientras que los datos almacenados por la solicitud de datos de escritura 1 no puedan leerse, y como resultado de ello, no puedan restaurarse los servicios.
En la tecnica anterior, se utiliza una tecnologfa de instantanea para solucionar el problema. Una instantanea es una imagen de datos en un instante dado (instante en que se inicia el copiado). El proposito de una instantanea es crear una vista de estado para un volumen de datos en un instante espedfico. Desde esta vista, solo pueden visualizarse los datos del volumen de datos en el momento de la creacion mientras que las modificaciones (nuevos datos escritos) del volumen de datos despues de ese instante no se reflejaran en la vista de instantanea. Utilizando esta vista de instantanea, puede llevarse a cabo la replicacion de los datos. Para el centro de produccion, los datos de instantanea son «estaticos». Por consiguiente, el centro de produccion puede replicar datos de instantanea al centro de recuperacion ante desastres tras haber tomado una instantanea de datos en cada instante. Esto no solo implementa la replicacion de datos a distancia sino que no afectara a la ejecucion de una solicitud de datos de escritura posterior en el centro de produccion. Respecto del centro de recuperacion ante desastres, puede satisfacerse tambien el requisito de la coherencia de los datos. Por ejemplo, cuando los datos de la solicitud de datos de escritura 2 se replican al centro de recuperacion ante desastres con exito mientras que los datos de la solicitud de datos de escritura 1 no se replican con exito, pueden usarse los datos de instantanea antes de la solicitud de datos de escritura 2 para restaurar los datos en el centro de recuperacion ante desastres a un estado anterior.
Puesto que el centro de produccion necesita procesar una instantanea al ejecutar una solicitud de datos de escritura, y almacenar los datos de instantanea generados en un volumen de datos dedicado al almacenamiento de datos de instantanea, cuando el centro de produccion replica los datos de almacenamiento de instantanea al centro de recuperacion ante desastres, es necesario leer los datos de instantanea almacenados en el volumen de datos en una memoria cache y luego enviar los datos de instantanea al centro de recuperacion ante desastres. Los datos usados para generar los datos de instantanea, no obstante, existen todavfa posiblemente en la memoria cache pero no pueden utilizarse adecuadamente. Cada replicacion requiere leer los datos de instantanea desde el volumen de datos, lo que da como resultado una replicacion de datos larga y baja eficiencia.
El documento CN102306115A describe un metodo de replicacion remota asmcrona. El metodo comprende las siguientes etapas: despues de que un centro de produccion recibe una solicitud de escritura de un servidor, etiquetar con un numero de penodo la solicitud de escritura segun el numero de penodo actual; escribir la solicitud etiquetada
con el numero de penodo en un servidor de replicacion remoto local LUN y etiquetar con un numero de secuencia la solicitud de escritura etiquetada con el numero de penodo de acuerdo con una secuencia de escritura de la solicitud de escritura en el servidor de replicacion remoto LUN; y enviar la solicitud de escritura etiquetada con el numero de penodo y el numero de secuencia a un centro de recuperacion ante desastres.
5 El documento CN101751230A describe un dispositivo y un metodo de calibracion de una indicacion de hora de datos de entrada y salida, en el que en un dispositivo de memoria a gran escala, se utiliza un metodo integrado para calibrar una indicacion de hora de datos de entrada y salida de un controlador de matriz de discos; y durante el proceso de calibracion de la indicacion de hora, todos los datos de entrada y salida pasan a traves de una placa de conmutacion de memoria cache de alta velocidad para calibrar la indicacion de hora.
10 La patente europea EP1624376A describe una disposicion de copiado de datos a distancia para replicar escrituras de datos de servidores emitidas a un primer sistema de almacenamiento de datos a un segundo sistema de almacenamiento remoto, en el que la coherencia de los datos se asegura llevando a cabo solicitudes de escritura al segundo sistema de almacenamiento mientras se mantiene la secuencia de solicitud de escritura de servidor original asociando cada solicitud de escritura con un numero de actualizacion secuencial.
15 Compendio
La presente invencion proporciona un metodo de envfo de datos por el cual la informacion transportada en una solicitud de datos de escritura puede enviarse a un segundo dispositivo de almacenamiento directamente desde una memoria cache de un primer dispositivo de almacenamiento, lo que aumenta la eficiencia de la replicacion de datos.
La presente invencion esta definida en las reivindicaciones independientes adjuntas 1 y 5.
20 En la presente invencion, despues de que un primer dispositivo de almacenamiento recibe una solicitud de datos de escritura enviada por un servidor, donde la informacion transportada en la solicitud de datos de escritura incluye datos que han de escribirse e informacion de direccion, el primer dispositivo de almacenamiento anade un primer numero a los datos que han de escribirse y a la informacion de direccion y escribe la informacion en la memoria cache, donde el primer numero es un numero de penodo de tiempo actual. Cuando se desencadena una tarea de 25 replicacion, el primer dispositivo de almacenamiento lee los datos que han de escribirse y la informacion de direccion correspondientes al primer numero de la memoria cache y envfa la informacion al segundo dispositivo de almacenamiento. Ademas, cuando se desencadena una tarea de replicacion, el primer dispositivo de almacenamiento modifica el numero del penodo de tiempo actual, de modo que el primer dispositivo de almacenamiento, cuando recibe una solicitud de datos de escritura subsiguientemente, anada el mismo numero que 30 el numero de penodo de tiempo actual modificado a la informacion transportada en la solicitud de datos de escritura. Por lo tanto, en la memoria cache, la informacion transportada en una solicitud de datos de escritura que ha de enviarse al segundo dispositivo de almacenamiento se distingue de la informacion transportada en una solicitud de datos de escritura recibida por el primer dispositivo de almacenamiento. Esto ejecuta un envfo directo de la informacion transportada en una solicitud de datos de escritura desde la memoria cache al segundo dispositivo de 35 almacenamiento. Puesto que la informacion se envfa directamente desde la memoria cache sin necesidad de leerla desde un volumen de datos, el tiempo de replicacion de datos es corto, lo que incrementa la eficiencia de la replicacion de datos.
Breve descripcion de los dibujos
Con el fin de ilustrar con mayor claridad las soluciones tecnicas de la presente invencion, se adjuntan dibujos que 40 describen realizaciones de la presente invencion o la tecnica anterior. Aparentemente, los dibujos que acompanan la siguiente descripcion muestran solo algunas realizaciones de la presente invencion.
La Figura 1 es un diagrama esquematico de arquitectura de red de aplicaciones de un metodo de envfo de datos segun una realizacion de la presente invencion;
La Figura 2 es un diagrama de flujo de un metodo de envfo de datos segun una realizacion de la presente invencion;
45 La Figura 3 es un diagrama de flujo de un metodo de envfo de datos segun una realizacion de la presente invencion;
La Figura 4 es un diagrama de flujo de senalizacion de un metodo de envfo de datos segun una realizacion de la presente invencion;
La Figura 5 es un diagrama estructural esquematico de un dispositivo de almacenamiento segun una realizacion de la presente invencion;
50 La Figura 6 es un diagrama estructural esquematico de otro dispositivo de almacenamiento segun una realizacion de la presente invencion;
La Figura 7 es un diagrama estructural esquematico de incluso otro dispositivo de almacenamiento segun una realizacion de la presente invencion;
5
10
15
20
25
30
35
40
45
50
55
La Figura 8 es un diagrama estructural esquematico de incluso otro dispositivo de almacenamiento segun una realizacion de la presente invencion;
La Figura 9 es un diagrama esquematico de otra arquitectura de red de aplicacion de un metodo de envfo de datos segun una realizacion de la presente invencion;
La Figura 10 es un diagrama de flujo de un metodo de replicacion de datos segun una realizacion de la presente invencion;
La Figura 11 es un diagrama estructural esquematico de otro dispositivo de almacenamiento segun una realizacion de la presente invencion;
La Figura 12 es un diagrama estructural esquematico de incluso otro dispositivo de almacenamiento segun una realizacion de la presente invencion.
Descripcion de las realizaciones
Para hacer mas comprensibles los objetivos, las soluciones tecnicas y las ventajas de la presente invencion, lo siguiente describe de forma clara y completa las soluciones tecnicas de la presente invencion con referencia a los dibujos que acompanan las realizaciones de la presente invencion.
Un metodo de envfo de datos proporcionado en una realizacion de la presente invencion puede implementarse en un dispositivo de almacenamiento. La Figura 1 es un diagrama esquematico de arquitectura de sistema de un metodo de envfo de datos proporcionado en una realizacion de la presente invencion. Tal y como se muestra en la Figura 1, un centro de produccion incluye uno o mas servidores de produccion, un dispositivo de conexion y una matriz de produccion (correspondiente a un primer dispositivo de almacenamiento en las siguientes realizaciones); y una arquitectura de sistema de un centro de recuperacion ante desastres es similar a la del centro de produccion, e incluye servidores de recuperacion ante desastres, un dispositivo de conexion y una matriz de recuperacion ante desastres (correspondiente a un segundo dispositivo de almacenamiento en las siguientes realizaciones). En la realizacion de la presente invencion, puede haber mas de un centro de recuperacion ante desastres. El centro de produccion y el centro de recuperacion ante desastres pueden transmitir datos por IP (protocolo de Internet (Internet Protocol)) o FC (canal de fibra (Fiber Channel)). Puede haber un centro de control entre el centro de produccion y el centro de recuperacion ante desastres. El centro de control puede desplegarse en el centro de produccion o en el centro de recuperacion ante desastres, o bien desplegarse en un dispositivo de terceros entre el centro de produccion y el centro de recuperacion ante desastres. El centro de control esta configurado para enviar una senal a la matriz de recuperacion ante desastres cuando la matriz de produccion tenga un fallo, de modo que la matriz de recuperacion ante desastres asuma las funciones de servidor de la matriz de produccion.
Los servidores de produccion y los servidores de recuperacion ante desastres pueden ser cualquier dispositivo informatico conocido en la tecnica anterior, como servidores y ordenadores de sobremesa. Dentro de un servidor, hay instalado un sistema operativo y otras aplicaciones.
El dispositivo de conexion puede incluir cualquier interfaz conocida en la tecnica anterior, entre un dispositivo de almacenamiento y un servidor, como un conmutador de fibra u otros conmutadores actualmente disponibles.
La matriz de produccion y la matriz de recuperacion ante desastres pueden ser ambas un dispositivo de almacenamiento conocido en la tecnica anterior, como puede ser una unidad de disco formada por una o mas matrices redundantes de discos economicos (RAID, por sus siglas en ingles), una concatenacion de discos (JBOD), y una o mas unidades de disco interconectadas, como una biblioteca de cintas, o un dispositivo de almacenamiento de cintas de una o mas unidades de almacenamiento, donde la unidad o las unidades de disco interconectadas pertenecen a un dispositivo de almacenamiento de acceso directo (DASD, por sus siglas en ingles).
El espacio de almacenamiento de la matriz de produccion puede incluir multiples volumenes de datos. Un volumen de datos es un espacio de almacenamiento logico formado mediante la asignacion de espacio de almacenamiento ffsico. Por ejemplo, un volumen de datos puede ser un numero de unidad logica (LUN, por sus siglas en ingles), o un sistema de archivos. En esta realizacion de la presente invencion, la matriz de recuperacion ante desastres tiene una estructura similar a la matriz de produccion.
En relacion con la Figura 1, esta ilustra un metodo de envfo de datos segun una realizacion de la presente invencion. Esta realizacion de la presente invencion se aplica en un primer dispositivo de almacenamiento, donde el primer dispositivo de almacenamiento incluye un controlador, una memoria cache (en adelante referida como memoria cache) y un medio de almacenamiento. El controlador es un procesador del primer dispositivo de almacenamiento y esta configurado para ejecutar ordenes de entrada y salida y otros servicios de datos. La memoria cache es una memoria situada entre el controlador y un disco duro, con menor capacidad pero mucha mayor velocidad que un disco duro. El medio de almacenamiento es una memoria primaria del primer dispositivo de almacenamiento, que generalmente es un medio de almacenamiento no volatil, como puede ser un disco magnetico. En la realizacion de la presente invencion, se hace referencia a todo el espacio de almacenamiento ffsico incluido en el primer dispositivo de almacenamiento como el medio de almacenamiento. En particular, las siguientes etapas pueden ser ejecutadas
5
10
15
20
25
30
35
40
45
50
55
por el controlador en el primer dispositivo de almacenamiento.
Etapa E101: el primer dispositivo de almacenamiento recibe una primera solicitud de datos de escritura enviada por un servidor, donde la primera solicitud de datos de escritura transporta datos que han de escribirse e informacion de direccion.
La informacion de direccion puede incluir una direccion del bloque logico (LBA, por sus siglas en ingles). Cuando el primer dispositivo de almacenamiento incluye multiples volumenes de datos, la informacion de direccion puede incluir ademas un identificador de un volumen de datos del primer dispositivo de almacenamiento.
Etapa E102: anadir un primer numero a los datos que han de escribirse y a la informacion de direccion, y escribir los datos que han de escribirse y la informacion de direccion en la memoria cache, donde el primer numero es un numero de penodo de tiempo actual.
El primer dispositivo de almacenamiento puede incluir un gestor de numero de penodo de tiempo actual, y el gestor de numero de penodo de tiempo actual almacena el numero de penodo de tiempo actual. El numero de penodo de tiempo actual puede ser un valor numerico, como 0, 1 o 2, o una letra, como a, b o c, lo que no esta limitado en la presente memoria.
Cuando se recibe la primera solicitud de datos de escritura, se anade un primer numero a los datos que han de escribirse y a la informacion de direccion portada en la primera solicitud de datos de escritura, donde el primer numero es un valor asignado por el numero de penodo de tiempo actual.
Despues de haberse anadido el primer numero a la informacion transportada en la primera solicitud de datos de escritura, se escribe en la memoria cache la informacion modificada transportada en la primera solicitud de datos de escritura, de forma que los datos que han de escribirse, la informacion de direccion y el primer numero que son transportados en la primera solicitud de datos de escritura se almacenen todos en la memoria cache.
Ademas, dentro de un penodo de tiempo, puede recibirse tambien otra solicitud de datos de escritura, y es necesario tambien anadir el primer numero a la informacion transportada en la solicitud de datos de escritura y escribir la informacion en la memoria cache. Hay que observar que, antes de que cambie el numero de penodo de tiempo actual, el primer numero se anade a la informacion transportada en todas las solicitudes de datos de escritura.
Etapa E103: leer los datos que han de escribirse y la informacion de direccion correspondiente al primer numero desde la memoria cache.
Cuando se desencadena una tarea de replicacion, el primer dispositivo de almacenamiento puede leer los datos que han de escribirse y la informacion de direccion correspondientes al primer numero desde la memoria cache. Es comprensible que haya multiples piezas de datos que han de escribirse e informacion de direccion correspondientes al primer numero.
Una tarea de replicacion significa que el primer dispositivo de almacenamiento envfa informacion transportada en solicitudes de datos de escritura recibidos por un volumen de datos dentro de un penodo de tiempo a un segundo dispositivo de almacenamiento, donde se anade un mismo numero que el numero de penodo de tiempo actual a la informacion transportada en todas las solicitudes de datos de escritura. Una tarea de replicacion puede ser desencadenada por un temporizador o desencadenarse manualmente, lo cual no esta limitado en la presente memoria. El proposito de la replicacion es enviar los datos que han de escribirse transportados en solicitudes de datos de escritura que son recibidas por el primer dispositivo de almacenamiento al segundo dispositivo de almacenamiento, para que el segundo dispositivo de almacenamiento pueda asumir el trabajo del primer dispositivo de almacenamiento cuando este tenga un fallo. Es comprensible que la informacion de direccion (como una LBA) transportada en la solicitud de datos de escritura necesite tambien enviarse al segundo dispositivo de almacenamiento, donde la LBA se usa para indicar una direccion en la que el segundo dispositivo de almacenamiento almacena los datos que han de escribirse. Puesto que el segundo dispositivo de almacenamiento tiene la misma estructura ffsica que el primer dispositivo de almacenamiento, una LBA aplicable al primer dispositivo de almacenamiento es tambien aplicable al segundo dispositivo de almacenamiento.
En la realizacion de la presente invencion, una tarea de replicacion es espedfica de un volumen de datos del primer dispositivo de almacenamiento. Cuando el primer dispositivo de almacenamiento incluye multiples volumenes de datos, cada volumen de datos corresponde a una tarea de replicacion.
Etapa E104: modificar el numero de penodo de tiempo actual para identificar la informacion transportada en una solicitud de datos de escritura subsiguiente.
Cuando se desencadena una tarea de replicacion, el gestor del numero de penodo de tiempo actual necesita modificar el numero de penodo de tiempo actual. Cuando se recibe una solicitud de datos de escritura subsiguiente, es preciso anadir otro numero a la informacion transportada en la solicitud de datos de escritura subsiguiente, donde ese otro numero es un valor asignado por el numero de penodo de tiempo actual modificado. Por lo tanto, en la memoria cache, la informacion transportada en una solicitud de datos de escritura que ha de enviarse al segundo
5
10
15
20
25
30
35
40
45
50
55
dispositivo de almacenamiento puede distinguirse de la informacion transportada en una solicitud de datos de escritura que recibe el primer dispositivo de almacenamiento.
Debe senalarse que la etapa E103 y la etapa E104 no estan sujetas a una secuencia temporal.
Etapa E105: enviar los datos que han de escribirse y la informacion de direccion al segundo dispositivo de almacenamiento.
El primer dispositivo de almacenamiento envfa los datos que han de escribirse y la informacion de direccion correspondiente al primer numero y lefdos desde la memoria cache al segundo dispositivo de almacenamiento.
En particular, el primer dispositivo de almacenamiento puede enviar todos los datos lefdos que han de escribirse y la informacion de direccion al segundo dispositivo de almacenamiento directamente. O bien, el primer dispositivo de almacenamiento puede, tras obtener los identificadores de los volumenes de datos del segundo dispositivo de almacenamiento, generar nuevas solicitudes de datos de escritura de acuerdo con los datos han de escribirse y la informacion de direccion transportada en cada solicitud de datos de escritura y los identificadores de los volumenes de datos del segundo dispositivo de almacenamiento, y posteriormente enviar las nuevas solicitudes de datos de escritura al segundo dispositivo de almacenamiento.
En la realizacion de la presente invencion, despues de que el primer dispositivo de almacenamiento recibe una solicitud de datos de escritura enviada por un servidor, donde la informacion transportada en la solicitud de datos de escritura incluye datos que han de escribirse e informacion de direccion, el primer dispositivo de almacenamiento anade un primer numero a los datos que han de escribirse y a la informacion de direccion y escribe la informacion en la memoria cache, donde el primer numero es un numero de penodo de tiempo actual. Cuando se desencadena una tarea de replicacion, el primer dispositivo de almacenamiento lee los datos que han de escribirse y la informacion de direccion correspondientes al primer numero desde la memoria cache y envfa la informacion al segundo dispositivo de almacenamiento. Ademas, cuando se desencadena una tarea de replicacion, el primer dispositivo de almacenamiento modifica el numero de penodo de tiempo actual, de modo que el primer dispositivo de almacenamiento, al recibir posteriormente una solicitud de datos de escritura, anada un mismo numero que el numero de penodo de tiempo actual modificado a la informacion transportada en la solicitud de datos de escritura. Por consiguiente, en la memoria cache, la informacion transportada en una solicitud de datos de escritura que ha de enviarse al segundo dispositivo de almacenamiento se distingue de la informacion transportada en una solicitud de datos de escritura que recibe el primer dispositivo de almacenamiento. Esto ejecuta un envfo directo de informacion transportada en una solicitud de datos de escritura desde la memoria cache al segundo dispositivo de almacenamiento. Puesto que la informacion se envfa directamente desde la memoria cache sin necesidad de leerla desde un volumen de datos, el tiempo de replicacion de datos es corto, lo que incrementa la eficiencia de la replicacion de datos.
Es comprensible que, en la realizacion precedente, cuando se desencadena una tarea de replicacion, el primer dispositivo de almacenamiento envfe los datos que han de escribirse y la informacion de direccion correspondientes al numero de penodo de tiempo actual al segundo dispositivo de almacenamiento, y tambien modifique el numero de penodo de tiempo actual para identificar la informacion transportada en una solicitud de datos de escritura subsiguiente. Cuando se desencadena una tarea de replicacion subsiguiente, el primer dispositivo de almacenamiento envfa los datos que han de escribirse y la informacion de direccion correspondientes al numero de penodo de tiempo actual modificado al segundo dispositivo de almacenamiento, y modifica de nuevo el numero de penodo de tiempo actual. Esto garantiza que el primer dispositivo de almacenamiento envfe completamente la informacion transportada en las solicitudes de datos de escritura recibidas al segundo dispositivo de almacenamiento en lote.
No obstante, cuando hay multiples centros de recuperacion ante desastres, suponiendo que un dispositivo de almacenamiento correspondiente a un segundo centro de recuperacion ante desastres sea un tercer dispositivo de almacenamiento, el primer dispositivo de almacenamiento tambien necesita enviar informacion transportada en solicitudes de datos de escritura recibidas por el primer dispositivo de almacenamiento al tercer dispositivo de almacenamiento. Para el segundo dispositivo de almacenamiento, cuando se desencadene una tarea de replicacion, el gestor del numero de penodo de tiempo actual modificara dicho numero. En este momento, el numero asignado por el numero de penodo de tiempo actual al segundo dispositivo de almacenamiento y el asignado al tercer dispositivo de almacenamiento son ambos los numeros modificados. La informacion transportada en las solicitudes de datos de escritura correspondientes al numero anterior a la modificacion del numero de penodo de tiempo actual, no obstante, no se ha enviado aun al tercer dispositivo de almacenamiento.
Por lo tanto, en una situacion de multiples centros de recuperacion ante desastres, la realizacion precedente puede incluir ademas las siguientes etapas:
Etapa E106: registrar un segundo numero, donde el segundo numero es un numero correspondiente a la ultima tarea de replicacion completada antes de una tarea de replicacion actual.
En la realizacion precedente, el primer numero es el mismo que el numero de penodo de tiempo actual y puede usarse para identificar la tarea de replicacion actual. La tarea de replicacion actual significa que el primer dispositivo
5
10
15
20
25
30
35
40
45
50
de almacenamiento env^a la informacion transportada en solicitudes de datos de escritura recibidas por un volumen de datos dentro del penodo de tiempo actual al segundo dispositivo de almacenamiento, donde se anade un mismo numero que el numero de penodo de tiempo actual a la informacion transportada en todas las solicitudes de datos de escritura.
El segundo numero es un numero correspondiente a la ultima tarea de replicacion completada antes de la tarea de replicacion actual.
Cuando existen multiples centros de recuperacion ante desastres, el numero de penodo de tiempo actual puede modificarse cuando se inicia una tarea de replicacion a un dispositivo de almacenamiento en otro centro de recuperacion ante desastres. Por consiguiente, es necesario registrar el numero correspondiente a una tarea de replicacion completada previamente.
Si existe otro numero entre el segundo numero y el primer numero, la informacion transportada en una solicitud de datos de escritura correspondiente a este numero no se envfa al segundo dispositivo de almacenamiento y debe ejecutarse la etapa E107.
Etapa E107: Leer, a partir de la memoria cache, los datos que han de escribirse y la informacion de direccion que corresponde a un numero posterior al segundo numero y anterior al primer numero.
El proceso espedfico de lectura es similar a la etapa E103, que no se describira mas en la presente memoria.
Debe senalarse que la etapa E107 y la etapa E103 pueden no estar sujetas a una secuencia temporal y por lo tanto pueden ejecutarse simultaneamente.
Etapa E108: enviar los datos que han de escribirse y la informacion de direccion correspondientes al numero siguiente al segundo numero y anterior al primer numero al segundo dispositivo de almacenamiento.
El proceso espedfico de envfo es similar a la etapa E105, que no se describira mas en la presente memoria.
En la realizacion de la presente invencion, no solo la informacion transportada en solicitudes de datos de escritura correspondientes al numero de penodo de tiempo actual se envfa al segundo dispositivo de almacenamiento, sino que tambien se envfa al segundo dispositivo de almacenamiento la informacion transportada en solicitudes de datos de escritura correspondientes a un numero entre el numero correspondiente a la tarea de replicacion previamente completada y el numero de penodo de tiempo actual. Esto es aplicable a una situacion de multiples centros de recuperacion ante desastres y garantiza la integridad de la replicacion de datos.
En relacion con la Figura 2, esta ilustra una realizacion de un metodo de recepcion de datos de acuerdo con la presente invencion. La realizacion de la presente invencion es aplicable a una situacion en la que un centro de recuperacion ante desastres recibe informacion transportada en una solicitud de datos de escritura enviada por un centro de produccion. El metodo puede incluir las siguientes etapas:
Etapa E201: un segundo dispositivo de almacenamiento recibe informacion de direccion enviada por un primer dispositivo de almacenamiento.
En particular, el segundo dispositivo de almacenamiento puede recibir datos que han de escribirse e informacion de direccion enviados por el primer dispositivo de almacenamiento; o bien el segundo dispositivo de almacenamiento puede recibir una solicitud de datos de escritura enviada por el primer dispositivo de almacenamiento, donde la solicitud de datos de escritura incluye datos que han de escribirse e informacion de direccion, donde la informacion de direccion puede ser una direccion de unidad logica (LBA). Cuando el segundo dispositivo de almacenamiento incluye multiples volumenes de datos, la informacion de direccion puede incluir ademas un identificador de un volumen de datos del segundo dispositivo de almacenamiento. Es comprensible que pueda haber mas de una pieza de informacion de direccion.
Tras recibir los datos que han de escribirse y la informacion de direccion, el segundo dispositivo de almacenamiento anade un mismo numero que el numero de penodo de tiempo actual a los datos que han de escribirse y la informacion de direccion, y escribe la informacion en una memoria cache, de forma que se almacene en la memoria cache el mismo numero que el numero de penodo de tiempo actual, los datos que han de escribirse y la informacion de direccion.
Cabe destacar que el segundo dispositivo de almacenamiento incluye tambien un gestor de numero de penodo de tiempo actual, y el gestor de numero de fraccion de tiempo almacena el numero de penodo de tiempo actual. El numero de penodo de tiempo actual puede ser un valor numerico, como 0, 1 o 2, o una letra, como a, b o c, lo cual no esta limitado en la presente memoria. El numero de penodo de tiempo actual expresado aqrn puede no guardar relacion con el numero de penodo de tiempo actual del primer dispositivo de almacenamiento.
Etapa E202: cuando se determina que el primer dispositivo de almacenamiento ha fallado, el segundo dispositivo de almacenamiento obtiene, de acuerdo con la informacion de direccion, datos que han de escribirse correspondientes a un primer numero, donde la informacion de direccion correspondiente al primer numero es la misma que la
5
10
15
20
25
30
35
40
45
50
55
informacion de direccion recibida y el primer numero es un numero que precede al numero de penodo de tiempo actual.
Como regla general, si tanto el primer dispositivo de almacenamiento como el segundo dispositivo de almacenamiento funcionan con normalidad, el segundo dispositivo de almacenamiento puede recibir informacion transportada en todas las solicitudes de datos de escritura enviadas por el primer dispositivo de almacenamiento, anadir un mismo numero que el numero de penodo de tiempo actual a la informacion transportada en cada solicitud de datos de escritura y almacenar la informacion en la memoria cache. No obstante, si el primer dispositivo de almacenamiento es defectuoso, el segundo dispositivo de almacenamiento puede recibir posiblemente solo una parte de los datos que han de escribirse correspondiente al numero de penodo de tiempo actual del primer dispositivo de almacenamiento. En este caso, los datos almacenados por el segundo dispositivo de almacenamiento posiblemente no son correctos, y si el segundo dispositivo de almacenamiento asume el trabajo del primer dispositivo de almacenamiento directamente, no puede garantizarse la coherencia de los datos. Por ejemplo, si un servidor envfa una solicitud de datos de lectura al segundo dispositivo de almacenamiento en ese momento, solicitando leer datos almacenados en la informacion de direccion, el segundo dispositivo de almacenamiento buscara un ultimo numero correspondiente a la informacion de direccion y luego enviara los datos que han de escribirse correspondientes al numero de penodo de tiempo actual al servidor, pero los datos no seran correctos. Por lo tanto, en ese caso, es necesario restaurar los datos correspondientes a un numero anterior al numero de penodo de tiempo actual del segundo dispositivo de almacenamiento a partir de los datos guardados en la memoria cache del segundo dispositivo de almacenamiento.
En particular, puede determinarse que el primer dispositivo de almacenamiento ha fallado mediante un procedimiento por el cual un centro de control envfa una senal al segundo dispositivo de almacenamiento, donde la senal se usa para indicar que el primer dispositivo de almacenamiento ha fallado y que el segundo dispositivo de almacenamiento necesita asumir las funciones de servidor del primer dispositivo de almacenamiento.
Generalmente, cuando una tarea de replicacion se ha completado, el centro de control puede enviar una indicacion de replicacion satisfactoria tanto al primer dispositivo de almacenamiento como al segundo dispositivo de almacenamiento. Si el segundo dispositivo de almacenamiento no recibe la indicacion, esto quiere decir que la tarea de replicacion en curso no se ha completado. La conclusion de una tarea de replicacion significa que el primer dispositivo de almacenamiento ha enviado informacion transportada en todas las solicitudes de datos de escritura correspondientes al numero de penodo de tiempo actual al segundo dispositivo de almacenamiento y que el segundo dispositivo de almacenamiento ha terminado de recibir la informacion.
Cuando el segundo dispositivo de almacenamiento determina que el primer dispositivo de almacenamiento ha fallado, si la tarea de replicacion en curso se ha completado, el segundo dispositivo de almacenamiento puede asumir el trabajo del primer dispositivo de almacenamiento directamente y de ese modo puede garantizarse la coherencia de los datos. Esta situacion va mas alla de lo expuesto en la realizacion de la presente invencion.
No obstante, si la tarea de replicacion en curso no se ha completado, es necesario restaurar los datos correspondientes al numero anterior al numero de penodo de tiempo actual del segundo dispositivo de almacenamiento a partir de los datos guardados en la memoria cache del segundo dispositivo de almacenamiento.
Un procedimiento de restauracion espedfico puede ser el siguiente: de acuerdo con la informacion de direccion recibida, comprobar si la informacion de direccion correspondiente al numero anterior al numero de fraccion de tiempo actual es identica a la informacion de direccion recibida y, en caso contrario, continuar comprobando la informacion de direccion correspondiente a otro numero precedente hasta que se encuentre informacion de direccion identica a la informacion de direccion recibida, y posteriormente obtener los datos que han de escribirse correspondientes a un numero de la informacion de direccion recibida.
Etapa E203: anadir un segundo numero a los datos que han de escribirse y la informacion de direccion correspondientes al primer numero y escribir la informacion en una memoria cache.
El segundo numero es un numero obtenido modificando el numero de penodo de tiempo actual y tambien el ultimo numero almacenado en la memoria cache en la realizacion de la presente invencion. Cuando un servidor envfa una solicitud de datos de lectura al segundo dispositivo de almacenamiento, solicitando datos almacenados en la informacion de direccion, el segundo dispositivo de almacenamiento aprende mediante busqueda que el ultimo numero correspondiente a la informacion de direccion es el segundo numero y envfa los datos que han de escribirse correspondientes al segundo numero al servidor. Por lo tanto, se garantiza la coherencia de los datos.
En la realizacion de la presente invencion, el segundo dispositivo de almacenamiento recibe informacion de direccion enviada por el primer dispositivo de almacenamiento, y cuando el primer dispositivo de almacenamiento es defectuoso, obtiene datos que han de escribirse correspondientes a un numero anterior al numero de penodo de tiempo actual, anade un segundo numero a los datos que han de escribirse y la informacion de direccion correspondientes al numero anterior al numero de fraccion de tiempo actual, y almacena la informacion en una memoria cache. Por lo tanto, se garantiza la coherencia de los datos.
En relacion con la Figura 3, la Figura 3 ilustra una realizacion de un metodo de envfo de datos de acuerdo con la
5
10
15
20
25
30
35
40
45
presente invencion. En la realizacion de la presente invencion, para distinguir entre una memoria cache en una matriz de produccion y una memoria cache en una matriz de recuperacion ante desastres, la memoria cache en la matriz de produccion se refiere como primera memoria cache y la memoria cache en la matriz de recuperacion ante desastres se refiere como segunda memoria cache en la realizacion de la presente invencion.
Tal como se muestra en la Figura 3, el metodo incluye las siguientes etapas:
Etapa E301: la matriz de produccion recibe una solicitud de datos de escritura A de un servidor de produccion.
La solicitud de datos de escritura A incluye un identificador de volumen, una direccion de escritura A y datos que han de escribirse A. La direccion de escritura A es una direccion logica de una matriz de produccion en la que han de escribirse los datos de escritura A, como puede ser una LBA. Generalmente, cuando la matriz de produccion ejecuta la solicitud de datos de escritura A, necesita traducir la LBA a la direccion de bloque ffsico (PBA) y luego escribe los datos de escritura A en un medio de almacenamiento de acuerdo con la PBA. El identificador es un identificador de un volumen de datos correspondiente a la solicitud de datos de escritura A. En esta realizacion, se supone que la matriz de produccion incluye un volumen (en lo sucesivo referido como volumen primario). A continuacion, la informacion transportada en la solicitud de datos de escritura A incluye un identificador del volumen primario, la direccion de escritura A y los datos que han de escribirse A.
Etapa E302: la matriz de produccion modifica la solicitud de datos de escritura A convirtiendola en una solicitud de datos de escritura A', y la solicitud de datos de escritura A' incluye informacion transportada en la solicitud de datos de escritura A y un primer numero.
En la realizacion de la presente invencion, un controlador de la matriz de produccion puede incluir un gestor del numero de penodo de tiempo actual (CTPN, por sus siglas en ingles). El gestor del numero de penodo de tiempo actual registra un numero de penodo de tiempo actual que se usa para generar el primer numero, y en particular el primer numero equivale al numero de penodo de tiempo actual.
Tras recibir la solicitud de datos de escritura A, la matriz de produccion modifica la solicitud de datos de escritura A y la convierte en solicitud de datos de escritura A'. En particular, un procedimiento de modificacion puede ser anadir el primer numero a la informacion transportada en la solicitud de datos de escritura A. Por ejemplo, cuando el numero de penodo de tiempo actual es 1, el primer numero es tambien 1.
Opcionalmente, puede grabarse una marca horaria cuando se recibe la solicitud de datos de escritura A y dicha marca horaria se hace corresponder en una secuencia numerica pre-almacenada de manera que se determine un numero correspondiente a la marca horaria. En particular, la secuencia numerica puede ser una tabla de asignacion o presentarse de otras formas, lo que no esta limitado en la presente memoria. La secuencia numerica incluye multiples numeros, donde cada numero corresponde a una seccion de las marcas horarias, tal y como se muestra en la tabla 1.
Tabla 1
Numero
Seccion de las marcas horarias
1
9:01-10:00
2
10:01-11:00
3
11:01-12:00
Suponiendo que la marca horaria cuando se recibe la solicitud de datos de escritura A es 9:30, el numero correspondiente es 1 y luego la solicitud de datos de escritura puede modificarse y convertirse en la solicitud de datos de escritura A' de acuerdo con el numero.
Etapa E303: la matriz de produccion escribe la solicitud de datos de escritura A' en la primera memoria cache, de modo que la informacion transportada en la solicitud de datos de escritura A' se almacene en la primera memoria cache. La informacion transportada en la solicitud de datos de escritura A' incluye el primer numero, el Identificador del volumen primario, la direccion de escritura A y los datos que han de escribirse A.
En la realizacion de la presente invencion, el primer numero puede corresponder a multiples solicitudes de datos de escritura. Antes de modificar el numero de penodo de tiempo actual en el CTPN, se anade el primer numero a la informacion transportada en todas las solicitudes de datos de escritura recibidas.
Es comprensible que, despues de haberse recibido la solicitud de datos de escritura A, pueda recibirse una solicitud de datos de escritura B y modificarse a solicitud de datos de escritura B', de modo que la solicitud de datos de escritura B' incluya ademas el primer numero; y una solicitud de datos de escritura C puede recibirse tambien y modificarse a una solicitud de datos de escritura C', de modo que la solicitud de datos de escritura C' incluya ademas 5 el primer numero.
Por ejemplo, despues de que se haya escrito en la primera memoria cache la solicitud de datos de escritura A', la solicitud de datos de escritura B' y la solicitud de datos de escritura C', la informacion almacenada en la primera memoria cache puede mostrarse en la tabla 2.
10 Tabla 2
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
1
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse A
1
Identificador del volumen primario Direccion de escritura B Datos que han de escribirse B
1
Identificador del volumen primario Direccion de escritura C Datos que han de escribirse C
Debe senalarse que, en la realizacion de la presente invencion, se parte de que la matriz de produccion incluye un volumen de datos (al que se puede referir como volumen primario), los identificadores de los volumenes de datos 15 transportados en la solicitud de datos de escritura A', la solicitud de datos de escritura B' y la solicitud de datos de escritura C' constituyen en conjunto los identificadores del volumen primario. En otra realizacion de la presente invencion, la matriz de produccion puede incluir multiples volumenes de datos, y por consiguiente los identificadores de los volumenes de datos transportados en la solicitud de datos de escritura A', la solicitud de datos de escritura B' y la solicitud de datos de escritura C' pueden ser diferentes. Ademas, la tabla 2 es solo un ejemplo de 20 almacenamiento de informacion transportada en solicitudes de datos de escritura en la memoria cache. Opcionalmente, la informacion puede almacenarse en forma de arbol. La forma de almacenamiento no esta limitada en la presente memoria.
Tomando la tabla 2 como ejemplo, los numeros, los identificadores del volumen y las direcciones de escritura pueden considerarse indices de la tabla 2. De acuerdo con dichos indices, es posible encontrar los datos que han de 25 escribirse correspondientes. Cuando los indices son los mismos, los datos que han de escribirse correspondientes a los indices tambien debenan ser los mismos. Por lo tanto, cuando se escribe una nueva solicitud de datos de escritura, es necesario determinar si la misma informacion tal y como el numero, el identificador de volumen y la direccion de escritura de la nueva solicitud de datos de escritura esta almacenada en la memoria cache, y si es asf, la informacion transportada en la nueva solicitud de datos de escritura se usa para sustituir la informacion antigua. 30 Es comprensible que, cuando la solicitud de datos de escritura A', la solicitud de datos de escritura B' y la solicitud de datos de escritura C' se escriben en la primera memoria, es tambien necesario determinar si sus numeros, identificadores de volumen y direcciones de escritura son los mismos que la informacion ya almacenada en la primera memoria cache, y puesto que sus numeros, identificadores de volumen y direcciones de escritura son diferentes de la informacion ya almacenada en la primera memoria cache, la solicitud de datos de escritura A', la 35 solicitud de datos de escritura B' y la solicitud de datos de escritura C' pueden escribirse todas en la primera memoria cache.
Por ejemplo, si se recibe una solicitud de datos de escritura D luego y dicha solicitud incluye el identificador del volumen primario, la direccion de escritura B y los datos que han de escribirse D, la solicitud de datos de escritura D se modifica a solicitud de datos de escritura D', de manera que la solicitud de datos de escritura D' incluya ademas el 40 primer numero. Por lo tanto, cuando la solicitud de datos de escritura D' se escribe en la memoria cache, es necesario determinar si la misma informacion que el numero, el identificador del volumen y la direccion de escritura de la solicitud de datos de escritura D' esta almacenada en la primera memoria cache, y si es asf, la informacion transportada en la solicitud de datos de escritura D' se usa para sustituir a la informacion antigua. Puesto que el numero, el identificador del volumen y la direccion de escritura transportados en la solicitud de datos de escritura D' 45 son los mismos que el numero, el identificador de volumen y la direccion de escritura incluidos en la solicitud de datos de escritura B', en la primera memoria cache, la informacion de la solicitud de datos de escritura D' sustituira a la informacion de la solicitud de datos de escritura B'.
5
10
15
20
25
En particular, despues de que la solicitud de datos de escritura D' se ha escrito en la primera memoria cache, la informacion almacenada en la primera memoria cache puede mostrarse en la tabla 3.
Tabla 3
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
1
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse A
1
Identificador del volumen primario Direccion de escritura B Datos que han de escribirse D
1
Identificador del volumen primario Direccion de escritura C Datos que han de escribirse C
Etapa E304:
cuando se desencadena una tarea de replicacion, la matriz de produccion modifica el numero de penodo de tiempo actual incluido en el gestor del CTPN; por ejemplo, puede modificar el numero de penodo de tiempo actual de 1 a 2.
A fin de distinguir entre el numero de penodo de tiempo actual de la matriz de produccion y el numero de penodo de tiempo actual de la matriz de recuperacion ante desastres, en la realizacion de la presente invencion, el numero de penodo de tiempo actual de la matriz de produccion se refiere como un primer numero de penodo de tiempo actual, y el numero de penodo de tiempo actual de la matriz de recuperacion ante desastres se refiere como un segundo numero de penodo de tiempo actual.
Es comprensible que, despues de que el primer numero de penodo de tiempo actual se ha modificado de 1 a 2, correspondientemente, el numero 2 se anadira a la informacion transportada en todas las solicitudes de datos de escritura recibidas posteriormente. Por ejemplo, se recibe una solicitud de datos de escritura E y esta incluye el identificador del volumen primario, la direccion de escritura A y los datos que han de escribirse E, y luego la solicitud de datos de escritura E se modifica a solicitud de datos de escritura E', de manera que la solicitud de datos de escritura E' incluya ademas el numero 2. Se recibe una solicitud de datos de escritura F y esta incluye el identificador del volumen primario, una direccion de escritura F y los datos que han de escribirse F, y luego la solicitud de datos de escritura F se modifica a solicitud de datos de escritura F', de modo que la solicitud de datos de escritura F' incluya ademas el numero 2. Despues de que la solicitud de datos de escritura E' y la solicitud de datos de escritura F' se escriben en la primera memoria cache, la informacion almacenada en la primera memoria cache puede mostrarse en la tabla 4.
Tabla 4
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
1
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse A
1
Identificador del volumen primario Direccion de escritura B Datos que han de escribirse D
1
Identificador del volumen primario Direccion de escritura C Datos que han de escribirse C
2
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse E
2
Identificador del volumen primario Direccion de escritura F Datos que han de escribirse F
5
10
15
20
25
30
35
40
45
Etapa E305: la matriz de recuperacion ante desastres modifica el segundo numero de penodo de tiempo actual incluido en su gestor del CTPN; por ejemplo, puede modificarlo de 11 a 12.
En la realizacion de la presente invencion, la matriz de recuperacion ante desastres puede incluir tambien su propio gestor del CTPN. Cuando se desencadena una tarea de replicacion de la matriz de produccion, el gestor del CTPN de la matriz de produccion modifica el primer numero de penodo de tiempo actual, y el centro de control puede enviar tambien una senal de control a la matriz de recuperacion ante desastres, de modo que la matriz de recuperacion ante desastres modifica tambien el segundo numero de penodo de tiempo actual incluido en su gestor del CTPN. Por lo tanto, la etapa E305 y la etapa E304 no estan sujetas a una secuencia temporal.
Etapa E306A: la matriz de produccion lee informacion transportada en solicitudes de datos de escritura correspondientes al primer numero de la primera memoria cache.
En particular, de acuerdo con la descripcion anterior, la informacion transportada en solicitudes de datos de escritura correspondientes al primer numero se muestra en la tabla 3.
Etapa E306B: la matriz de produccion obtiene un identificador de un volumen de datos que han de escribirse en la matriz de recuperacion ante desastres.
Etapa E306C: la matriz de produccion genera nuevas solicitudes de datos de escritura de acuerdo con el identificador del volumen de datos y la informacion transportada en las solicitudes de datos de escritura correspondientes al primer numero.
En particular, puede generarse una solicitud de datos de escritura A'' de acuerdo con el identificador del volumen de datos, la direccion de escritura A y los datos que han de escribirse A; puede generarse una solicitud de datos de escritura D'' de acuerdo con el identificador del volumen de datos, la direccion de escritura B y los datos que han de escribirse D; y puede generarse una solicitud de datos de escritura C'' de acuerdo con el identificador del volumen de datos, la direccion de escritura C y los datos que han de escribirse C.
En otra realizacion de la presente invencion, tanto la matriz de produccion como la matriz de recuperacion ante desastres pueden incluir multiples volumenes de datos, y por lo tanto los identificadores del volumen de datos incluidos en la solicitud de datos de escritura A'', la solicitud de datos de escritura D'' y la solicitud de datos de escritura C'' pueden ser diferentes. No obstante, los identificadores de volumenes de datos de la matriz de recuperacion ante desastres se corresponden con los identificadores de volumenes de datos de la matriz de produccion.
Etapa E307: la matriz de produccion envfa las nuevas solicitudes de datos de escritura generadas a la matriz de recuperacion ante desastres.
En particular, la matriz de produccion envfa la solicitud de datos de escritura A'', la solicitud de datos de escritura D'' y la solicitud de datos de escritura C'' a la matriz de recuperacion ante desastres.
Etapa E308: la matriz de recuperacion ante desastres modifica las solicitudes de datos de escritura recibidas.
Por ejemplo, la matriz de recuperacion ante desastres puede modificar la solicitud de datos de escritura A'' para escribir una solicitud de datos de escritura A''' de acuerdo con el segundo numero de penodo de tiempo actual registrado en el gestor del CTPN. En particular, un procedimiento de modificacion puede ser anadir el numero 12 a la informacion transportada en la solicitud de datos de escritura A''.
De modo similar, puede anadirse el numero 12 a la informacion transportada en la solicitud de datos de escritura B'' y la solicitud de datos de escritura B'' se modificara a solicitud de datos de escritura B'''; y el numero 12 puede anadirse a la informacion transportada en la solicitud de datos de escritura C'', modificandose esta a solicitud de datos de escritura C'''.
Etapa E309: la matriz de recuperacion ante desastres escribe las solicitudes de datos de escritura modificadas en la segunda memoria cache.
En particular, la informacion almacenada en la segunda memoria cache puede mostrarse en la tabla 5.
5
10
15
20
25
Tabla 5
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
12
Identificador del volumen secundario Direccion de escritura A Datos que han de escribirse A
12
Identificador del volumen secundario Direccion de escritura B Datos que han de escribirse D
12
Identificador del volumen secundario Direccion de escritura C Datos que han de escribirse C
Etapa E310: de acuerdo con las direcciones de escritura existentes en las solicitudes de datos de escritura, la matriz de recuperacion ante desastres escribe los datos que han de escribirse en medios de almacenamiento correspondientes a dichas direcciones de escritura.
Por lo general, el espacio de memoria cache es limitado. Por lo tanto, cuando su tasa de utilizacion alcanza un umbral espedfico, es necesario escribir los datos en la memoria cache a un disco duro. En particular, los datos que han de escribirse A se escriben en un medio de almacenamiento correspondiente a la direccion de escritura A, los datos que han de escribirse D se escriben en un medio de almacenamiento correspondiente a la direccion de escritura B, y los datos que han de escribirse C se escriben en un medio de almacenamiento correspondiente a la direccion de escritura C.
Etapa E311: de acuerdo con las direcciones de escritura existentes en las solicitudes de datos de escritura, la matriz de produccion escribe los datos que han de escribirse en medios de almacenamiento correspondientes a dichas direcciones de escritura.
De modo similar, cuando la tasa de utilizacion del espacio de la memoria cache de la matriz de produccion alcanza un umbral espedfico, es necesario tambien escribir los datos de la memoria cache en un disco duro. Como puede deducirse de la descripcion anterior, la siguiente informacion se almacena en la primera memoria cache.
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
1
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse A
1
Identificador del volumen primario Direccion de escritura B Datos que han de escribirse D
1
Identificador del volumen primario Direccion de escritura C Datos que han de escribirse C
2
Identificador del volumen primario Direccion de escritura A Datos que han de escribirse E
2
Identificador del volumen primario Direccion de escritura F Datos que han de escribirse F
En particular, para las solicitudes de datos de escritura con el mismo identificador de volumen, la misma direccion de escritura pero diferentes numeros, se escriben primero los datos que han de escribirse transportados en una solicitud de datos de escritura con un numero mas pequeno, y luego se escriben los datos que han de escribirse transportados en una solicitud de datos de escritura con un numero mas grande. Por ejemplo, se escriben primero los datos que han de escribirse D y luego los datos que han de escribirse E. O bien, se escriben directamente los datos que han de escribirse transportados en una solicitud de datos de escritura con un numero mas grande sin escribir los datos que han de escribirse transportados en una solicitud de datos de escritura con un numero mas pequeno. Por ejemplo, los datos que han de escribirse E se escriben directamente.
Las etapas E310 y E311 no estan sujetas a una secuencia temporal.
5
10
15
20
25
30
35
40
45
50
55
Etapa E312: cuando se desencadena una tarea de replicacion, la matriz de produccion modifica el primer numero de penodo de tiempo actual incluido en su gestor del CTPN; por ejemplo, puede modificar el numero de penodo de tiempo actual de 2 a 3.
Es comprensible que, despues de que el primer numero de penodo de tiempo actual en el CTPN de la matriz de produccion se modifique de 2 a 3, correspondientemente, el numero tres se anadira a la informacion transportada en todas las solicitudes de datos de escritura recibidas por la matriz de produccion posteriormente.
Etapa E313: la matriz de recuperacion ante desastres modifica el segundo numero de penodo de tiempo actual incluido en su gestor del CTPN; por ejemplo, puede modificar el segundo numero de penodo de tiempo actual de 12 a 13.
Es comprensible que, despues de que el segundo numero de penodo de tiempo actual existente en el gestor del CTPN de la matriz de recuperacion ante desastres se modifique de 12 a 13, correspondientemente, el numero 13 se anadira a la informacion transportada en todas las solicitudes de datos de escritura recibidas por la matriz de recuperacion ante desastres posteriormente.
Etapa E314: la matriz de produccion lee la informacion transportada en solicitudes de datos de escritura correspondientes al numero 2, genera solicitudes de datos de escritura correspondientes y envfa las solicitudes de datos de escritura generadas a la matriz de recuperacion ante desastres.
En particular, como puede deducirse de la anterior descripcion, la informacion transportada en solicitudes de datos de escritura correspondientes al numero 2 incluye la informacion transportada en la solicitud de datos de escritura E y la informacion transportada en la solicitud de datos de escritura F. De modo similar, despues de que la matriz de produccion obtiene el identificador del volumen de datos de la matriz de recuperacion ante desastres, la matriz de produccion puede generar una solicitud de datos de escritura E'' de acuerdo con el identificador del volumen de datos, la direccion de escritura A y los datos que han de escribirse E, y generar una solicitud de datos de escritura F'' de acuerdo con el identificador del volumen de datos, la direccion de escritura F y los datos que han de escribirse F. Por consiguiente, las solicitudes de datos de escritura enviadas por la matriz de produccion a la matriz de recuperacion ante desastres son la solicitud de datos de escritura E'' y la solicitud de datos de escritura F''.
Debe senalarse que, en la realizacion de la presente invencion, la matriz de produccion no envfa las solicitudes de datos de escritura a la matriz de recuperacion ante desastres en una secuencia temporal, y puede tambien enviar las solicitudes de datos de escritura de forma aleatoria. En particular, la matriz de produccion puede enviar primero la solicitud de datos de escritura E'' y luego la solicitud de datos de escritura F'', o enviar primero la solicitud de datos de escritura F'' y luego la solicitud de datos de escritura E''.
Como puede deducirse de la anterior descripcion, en este momento, el segundo numero de penodo de tiempo actual del gestor del CTPN de la matriz de recuperacion ante desastres es 13. Por lo tanto, tras recibir la solicitud de datos de escritura E'', la matriz de recuperacion ante desastres necesita modificar la solicitud de datos de escritura E'' a una solicitud de datos de escritura E''' que incluya el numero 13. De modo similar, tras recibir la solicitud de datos de escritura F'', la matriz de recuperacion ante desastres necesita modificar la solicitud de datos de escritura F'' a una solicitud de datos de escritura F''' que incluya el numero 13.
Etapa E315: la matriz de recuperacion ante desastres recibe una instruccion de asumir las funciones de servidor de la matriz de produccion.
En la realizacion de la presente invencion, si la matriz de produccion presenta un fallo, la matriz de recuperacion ante desastres necesita asumir las funciones de servidor de la matriz de produccion. Por lo tanto, la matriz de recuperacion ante desastres necesita satisfacer la exigencia de coherencia de los datos.
Como se puede deducir de la etapa E314, en una tarea de replicacion en curso, las solicitudes de datos de escritura que debe recibir la matriz de recuperacion ante desastres incluyen la solicitud de datos de escritura E'' y la solicitud de datos de escritura F''. La matriz de recuperacion ante desastres no asumira funciones de servidor de la matriz de produccion hasta que la solicitud de datos de escritura E'' modificada y la solicitud de datos de escritura F'' se escriban ambas con exito en la segunda memoria cache. Cuando la matriz de recuperacion ante desastres empieza asumir las funciones de servidor, indica que el ciclo de replicacion en curso esta completado y se ha satisfecho el requisito de coherencia de los datos.
Despues de que la matriz de recuperacion ante desastres haya modificado la solicitud de datos de escritura E'' a solicitud de datos de escritura E''' y escrito con exito la solicitud de datos de escritura E''' en la segunda memoria cache pero antes de que la solicitud de datos de escritura F''' se escriba con exito en la segunda memoria cache, si la matriz de produccion presenta un fallo y la matriz de recuperacion ante desastres comienza a asumir las funciones de servidor de la matriz de produccion, la tarea de replicacion en curso no esta completada y el requisito de coherencia de los datos no se ha satisfecho. De modo similar, despues de que la matriz de recuperacion ante desastres haya modificado la solicitud de datos de escritura F'' a la solicitud de datos de escritura F''' y escrito la solicitud de datos de escritura F''' con exito en la segunda memoria cache pero antes de que la solicitud de datos de escritura E''' se haya escrito con exito en la segunda memoria cache, si la matriz de produccion tiene un fallo y la
5
10
15
20
25
30
35
matriz de recuperacion ante desastres comienza a asumir las funciones de servidor de la matriz de produccion, la tarea de replicacion en curso no esta completada tampoco y no se satisface el requisito de coherencia de los datos.
En este caso, es necesario restaurar los datos presentes en la memoria cache de la matriz de recuperacion ante desastres a un estado en el que la tarea de replicacion correspondiente al numero 12 este completada. En el siguiente, se supone que la matriz de recuperacion ante desastres ha modificado la solicitud de datos de escritura E'' a solicitud de datos de escritura E''' y ha escrito con exito la solicitud de datos de escritura E''' en la segunda memoria cache y que la solicitud de datos de escritura F''' no se ha escrito con exito en la segunda memoria cache.
Etapa E316: la matriz de recuperacion ante desastres obtiene una direccion de escritura transportada en una solicitud de datos de escritura que se ha escrito con exito en la segunda memoria cache del ciclo de replicacion en curso.
Como puede deducirse de la anterior descripcion, en la tarea de replicacion correspondiente al numero 13, la solicitud de datos de escritura E''' se ha escrito con exito en la segunda memoria cache y la direccion de escritura transportada en la solicitud de datos de escritura E''' es la direccion de escritura A.
Etapa E317: de acuerdo con la direccion de escritura, la matriz de recuperacion ante desastres comprueba la correspondencia de la informacion transportada en solicitudes de datos de escritura correspondientes al numero anterior para buscar una misma direccion de escritura que la direccion de escritura A.
Cuando se encuentra una misma direccion de escritura que la direccion de escritura, se ejecuta la etapa E318. En caso contrario, se sigue comprobando la correspondencia en la informacion transportada en las solicitudes de datos de escritura correspondientes a otro numero precedente (por ejemplo, el numero 11) hasta que se encuentra la misma direccion de escritura que la direccion de escritura A transportada en la solicitud de datos de escritura E'''.
Como puede deducirse de la anterior descripcion, la informacion transportada en solicitudes de datos de escritura correspondientes al numero 12 se muestra en la tabla 5. La direccion de escritura transportada en la solicitud de datos de escritura A'' es la misma que la direccion de escritura transportada en la solicitud de datos de escritura E'''.
Es comprensible que, cuando la matriz de recuperacion ante desastres incluye multiples volumenes de datos y la informacion transportada en cada solicitud de datos de escritura incluye el identificador de un volumen de datos, se requiere que tanto la direccion de escritura como el identificador del volumen de datos se correspondan.
Etapa E318: generar una nueva solicitud de datos de escritura de acuerdo con la informacion incluida en la direccion de escritura encontrada, y escribir la nueva solicitud de datos de escritura en la segunda memoria cache, donde la nueva solicitud de datos de escritura incluye un numero modificado.
Por ejemplo, la informacion lefda de la segunda memoria cache incluye la direccion de escritura A y los datos que han de escribirse A (y puede incluir tambien el identificador del volumen secundario), y luego puede generarse una nueva solicitud de datos de escritura de acuerdo con la informacion lefda y el numero modificado (por ejemplo, el numero se modifica de 13 a 14). Despues de que la nueva solicitud de datos de escritura se escribe en la segunda memoria cache, se muestra una relacion de correspondencia en la memoria cache en la tabla 6.
Tabla 6
Numero
Identificador de volumen Direccion de escritura Datos que han de escribirse
12
Identificador del volumen secundario Direccion de escritura A Datos que han de escribirse A
12
Identificador del volumen secundario Direccion de escritura B Datos que han de escribirse D
12
Identificador del volumen secundario Direccion de escritura C Datos que han de escribirse C
13
Identificador del volumen secundario Direccion de escritura A Datos que han de escribirse E
14
Identificador del volumen secundario Direccion de escritura A Datos que han de escribirse A
Cuando un servidor envfa una solicitud de datos de lectura a la matriz de recuperacion ante desastres, el
5
10
15
20
25
30
35
40
45
50
55
identificador del volumen de datos solicitados es el identificador del volumen secundario y la direccion de escritura es la direccion de escritura A, la matriz de recuperacion ante desastres buscara en la segunda memoria cache los datos que han de escribirse con el identificador del volumen secundario y la direccion de escritura A, correspondiente al ultimo numero, y enviara los datos que han de escribirse al servidor. En la realizacion de la presente invencion, los datos que han de escribirse A correspondientes al numero 14 se envfan desde la segunda memoria cache al servidor.
En la realizacion de la presente invencion, la matriz de produccion puede enviar la informacion transportada en las solicitudes de datos de escritura recibidas de una memoria cache a la matriz de recuperacion ante desastres directamente sin necesidad de leer informacion relacionada de un volumen de datos, lo que incrementa la eficiencia de la replicacion de datos y garantiza la coherencia de los datos para la matriz de recuperacion ante desastres.
En la tecnica anterior, la replicacion de datos se lleva a cabo utilizando datos de instantanea, donde, cada vez que la matriz de produccion ejecuta una solicitud de datos de escritura, es necesario en primer lugar situar los datos transportados en la solicitud de datos de escritura en una memoria cache, leer, de acuerdo con una direccion de escritura transportada en la solicitud de datos de escritura, los datos antiguos almacenados en la direccion, y almacenar los datos en un volumen de datos, y luego escribir los datos en la memoria cache con la direccion de escritura. No se devuelve un mensaje de respuesta de la solicitud de datos de escritura hasta que todas estas operaciones se han completado. Debido a las etapas adicionales de procesamiento de la instantanea, el retraso en el procesamiento de una solicitud de datos de escritura es prolongado. En la realizacion de la presente edicion, sin embargo, no se necesita llevar a cabo el procesamiento de instantanea en los datos y por consiguiente, aunque se modifican las solicitudes de datos de escritura, el tiempo empleado es corto. Por lo tanto, comparada con la tecnica anterior, la realizacion de la presente invencion reduce el retraso en el procesamiento de una solicitud de datos de escritura.
En relacion con la Figura 5, esta es un diagrama estructural esquematico de un dispositivo 50 de almacenamiento segun una realizacion de la presente invencion. Tal como se muestra en la Figura 5, el dispositivo de almacenamiento incluye un modulo 501 de recepcion, un modulo 502 de lectura y escritura, un gestor 503 de numero de penodo de tiempo actual, y un modulo 504 de envfo.
El modulo 501 de recepcion esta configurado para recibir una primera solicitud de datos de escritura enviada por un servidor, donde la primera solicitud de datos de escritura transporta datos que han de escribirse e informacion de direccion.
La informacion de direccion puede incluir una direccion de bloque logico (direccion de unidad logica, LBA). Cuando el dispositivo 50 de almacenamiento incluye multiples volumenes de datos, la informacion de direccion puede incluir ademas un identificador de un volumen de datos del dispositivo 50 de almacenamiento.
El modulo 502 de lectura y escritura esta configurado para anadir un primer numero a los datos que han de escribirse y la informacion de direccion y escribir la informacion en una memoria cache, donde el primer numero es un numero de penodo de tiempo actual; y leer los datos que han de escribirse y la informacion de direccion correspondiente al primer numero desde la memoria cache.
El dispositivo 50 de almacenamiento puede incluir un gestor 503 de numero de penodo de tiempo actual, y el gestor 503 de numero de penodo de tiempo actual almacena el numero de penodo de tiempo actual, donde el numero de penodo de tiempo actual puede ser un valor numerico, como 0, 1 o 2, o una letra, como a, b o c, lo que no esta limitado en la presente memoria.
Cuando se recibe la primera solicitud de datos de escritura, se anade un primer numero a los datos que han de escribirse y la informacion de direccion transportada en la primera solicitud de datos de escritura, donde el primer numero es un valor asignado por el numero de penodo de tiempo actual.
Despues de que se anade el primer numero a la informacion transportada en la primera solicitud de datos de escritura, la informacion modificada transportada en la primera solicitud de datos de escritura se escribe en la memoria cache, de forma que los datos que han de escribirse, la informacion de direccion y el primer numero portados en la primera solicitud de datos de escritura se almacenen todos en la memoria cache.
Ademas, dentro de un penodo de tiempo dado, puede recibirse tambien otra solicitud de datos de escritura, y es necesario tambien anadir el primer numero a la informacion transportada en la solicitud de datos de escritura y escribir la informacion en la memoria cache. Debe senalarse que, antes de que cambie el numero de penodo de tiempo actual, el primer numero se anade a la informacion transportada en todas las solicitudes de datos de escritura.
Cuando se desencadena una tarea de replicacion, el dispositivo 50 de almacenamiento puede leer los datos que han de escribirse y la informacion de direccion correspondientes al primer numero desde la memoria cache. Es comprensible que haya multiples piezas de datos que han de escribirse e informacion de direccion correspondientes al primer numero.
5
10
15
20
25
30
35
40
45
50
55
Una tarea de replicacion significa que el dispositivo 50 de almacenamiento env^a informacion transportada en las solicitudes de datos de escritura que recibe un volumen de datos dentro de un penodo de tiempo a un dispositivo de almacenamiento en un centro de recuperacion ante desastres, donde se anade un mismo numero que el numero de penodo de tiempo actual a la informacion transportada en todas las solicitudes de datos de escritura. Puede iniciarse una tarea de replicacion mediante un temporizador, o hacerse manualmente, lo que no esta limitado en la presente memoria. La finalidad de la replicacion es enviar los datos que han de escribirse transportados en solicitudes de datos de escritura recibidos por el dispositivo 50 de almacenamiento al dispositivo de almacenamiento en el centro de recuperacion ante desastres, de forma que el dispositivo de almacenamiento en el centro de recuperacion ante desastres pueda asumir el trabajo del dispositivo 50 de almacenamiento cuando el dispositivo 50 de almacenamiento presente un fallo. Es comprensible que la informacion de direccion (como puede ser una LBA) transportada en la solicitud de datos de escritura tambien deba mandarse al dispositivo de almacenamiento en el centro de recuperacion ante desastres, donde la LBA se usa para indicar una direccion donde el dispositivo de almacenamiento en el centro de recuperacion ante desastres almacena los datos que han de escribirse. El dispositivo de almacenamiento en el centro de recuperacion ante desastres tiene la misma estructura ffsica que el dispositivo 50 de almacenamiento. Por consiguiente, una LBA aplicable al dispositivo 50 de almacenamiento es tambien aplicable al dispositivo de almacenamiento en el centro de recuperacion ante desastres.
En la realizacion de la presente invencion, una tarea de replicacion es espedfica de un volumen de datos del dispositivo 50 de almacenamiento. Cuando el dispositivo 50 de almacenamiento incluye multiples volumenes de datos, cada volumen de datos corresponde a una tarea de replicacion.
El gestor 503 de numero de penodo de tiempo actual esta configurado para modificar el numero de penodo de tiempo actual a fin de identificar la informacion transportada en una solicitud de datos de escritura subsiguiente.
Cuando se desencadena una tarea de replicacion, el gestor 503 de numero de penodo de tiempo actual necesita modificar el numero de penodo de tiempo actual. Cuando se recibe una solicitud de datos de escritura subsiguiente, debe anadirse otro numero a la informacion transportada en la solicitud de datos de escritura subsiguiente, donde dicho otro numero es un valor asignado por el numero de penodo de tiempo actual modificado. Por lo tanto, en la memoria cache, la informacion transportada en una solicitud de datos de escritura que debe enviarse al dispositivo de almacenamiento en el centro de recuperacion ante desastres puede distinguirse de la informacion transportada en una solicitud de datos de escritura que recibe el dispositivo 50 de almacenamiento.
El modulo 504 de envfo esta configurado para enviar los datos que han de escribirse y la informacion de direccion al dispositivo de almacenamiento en el centro de recuperacion ante desastres.
El dispositivo 50 de almacenamiento envfa los datos que han de escribirse y la informacion de direccion correspondientes al primer numero lefdo de la memoria cache al segundo dispositivo de almacenamiento en el centro de recuperacion ante desastres.
En particular, el dispositivo 50 de almacenamiento puede enviar todos los datos que han de escribirse lefdos y la informacion de direccion al dispositivo de almacenamiento en el centro de recuperacion ante desastres directamente. O bien, el dispositivo 50 de almacenamiento puede, tras obtener identificadores de volumen de datos del dispositivo de almacenamiento en el centro de recuperacion ante desastres, generar nuevas solicitudes de datos de escritura de acuerdo con los datos que han de escribirse y la informacion de direccion transportados en cada solicitud de datos de escritura y los identificadores de los volumenes de datos del dispositivo de almacenamiento en el centro de recuperacion ante desastres, y luego enviar las nuevas solicitudes de datos de escritura al dispositivo de almacenamiento en el centro de recuperacion ante desastres.
En la realizacion de la presente invencion, despues de que el dispositivo 50 de almacenamiento recibe una solicitud de datos de escritura enviada por un servidor, donde la informacion transportada en la solicitud de datos de escritura incluye datos que han de escribirse e informacion de direccion, el dispositivo 50 de almacenamiento anade un primer numero a los datos que han de escribirse y la informacion de direccion y escribe la informacion en la memoria cache, donde el primer numero es un numero de penodo de tiempo actual. Cuando se desencadena una tarea de replicacion, el dispositivo 50 de almacenamiento lee los datos que han de escribirse y la informacion de direccion correspondientes al primer numero desde la memoria cache y envfa la informacion al dispositivo de almacenamiento en el centro de recuperacion ante desastres. Ademas, cuando se desencadena una tarea de replicacion, el dispositivo 50 de almacenamiento modifica el numero de penodo de tiempo actual, de forma que el dispositivo 50 de almacenamiento, cuando recibe posteriormente una solicitud de datos de escritura, anada el mismo numero que el numero de penodo de tiempo actual modificado a la informacion transportada en la solicitud de datos de escritura. Por lo tanto, en la memoria cache, la informacion transportada en una solicitud de datos de escritura que debe enviarse al dispositivo de almacenamiento en el centro de recuperacion ante desastres se distingue de la informacion transportada en una solicitud de datos de escritura que recibe el dispositivo 50 de almacenamiento. Con esto se efectua el envfo directo de la informacion transportada en una solicitud de datos de escritura desde la memoria cache al dispositivo de almacenamiento en el centro de recuperacion ante desastres. Puesto que la informacion se envfa directamente desde la memoria cache sin necesidad de leerla desde un volumen de datos, el tiempo de replicacion de datos es corto, lo que incrementa la eficiencia de la replicacion de datos.
5
10
15
20
25
30
35
40
45
50
55
En relacion con la Figura 6, esta es un diagrama estructural esquematico de un dispositivo 60 de almacenamiento segun una realizacion de la presente invencion. Como se muestra en la Figura 6, el dispositivo 60 de almacenamiento incluye un modulo 601 de recepcion, un modulo 602 de busqueda y un modulo 604 de escritura.
El modulo 601 de recepcion esta configurado para recibir informacion de direccion enviada por un dispositivo 50 de almacenamiento.
En particular, el dispositivo 60 de almacenamiento puede recibir datos que han de escribirse e informacion de direccion enviados por el dispositivo 50 de almacenamiento; o el dispositivo 60 de almacenamiento puede recibir una solicitud de datos de escritura enviada por el dispositivo 50 de almacenamiento, donde la solicitud de datos de escritura incluye datos que han de escribirse e informacion de direccion, donde la informacion de direccion puede ser una direccion de bloque logico (direccion de unidad logica, LBA). Cuando el dispositivo 60 de almacenamiento incluye multiples volumenes de datos, la informacion de direccion puede incluir ademas un identificador de un volumen de datos del dispositivo 60 de almacenamiento. Es comprensible que pueda haber mas de una pieza de informacion de direccion.
Tras recibir los datos que han de escribirse y la informacion de direccion, el dispositivo 60 de almacenamiento anade un mismo numero que el numero de penodo de tiempo actual a los datos que han de escribirse y la informacion de direccion y escribe la informacion en una memoria cache, de forma que se almacene en la memoria cache el mismo numero que el numero de penodo de tiempo actual, los datos que han de escribirse y la informacion de direccion.
Debe senalarse que el dispositivo 60 de almacenamiento puede incluir tambien un gestor de numero de penodo de tiempo actual 603, y el gestor 603 de numero de penodo de tiempo actual almacena el numero de penodo de tiempo actual. El numero de penodo de tiempo actual puede ser un valor numerico, como 0, 1 o 2, o una letra, como a, b o c, lo cual no esta limitado en la presente memoria. El numero de penodo de tiempo actual aqrn puede no tener relacion con el numero de penodo de tiempo actual en el dispositivo 50 de almacenamiento.
El modulo 602 de busqueda esta configurado para que cuando se determine que el dispositivo 50 de almacenamiento ha fallado, el dispositivo 60 de almacenamiento obtenga, de acuerdo con la informacion de direccion, los datos que han de escribirse correspondientes a un primer numero, donde la informacion de direccion correspondiente al primer numero es la misma que la informacion de direccion recibida y el primer numero es un numero que precede al numero de penodo de tiempo actual.
Generalmente, si tanto el dispositivo 50 de almacenamiento como el dispositivo 60 de almacenamiento funcionan de modo normal, el dispositivo 60 de almacenamiento puede recibir informacion transportada en todas las solicitudes de datos de escritura enviadas por el dispositivo 50 de almacenamiento, anadir un mismo numero que el numero de penodo de tiempo actual a la informacion transportada en cada solicitud de datos de escritura, y almacenar la informacion en la memoria cache. Sin embargo, si el dispositivo 50 de almacenamiento presenta un fallo, el dispositivo 60 de almacenamiento puede que solo reciba una parte de los datos que han de escribirse correspondiente al numero de penodo de tiempo actual del dispositivo 50 de almacenamiento. En este caso, los datos almacenados por el dispositivo 60 de almacenamiento son posiblemente incorrectos, y si el dispositivo 60 de almacenamiento asume el trabajo del dispositivo 50 de almacenamiento directamente, la coherencia de los datos no puede garantizarse. Por ejemplo, si un servidor envfa una solicitud de datos de lectura al dispositivo 60 de almacenamiento en ese momento, solicitando leer datos almacenados en la informacion de direccion (como puede ser una LBA), el dispositivo 60 de almacenamiento buscara un ultimo numero correspondiente a la informacion de direccion y luego enviara los datos que han de escribirse correspondientes al numero de penodo de tiempo actual al servidor, pero esos datos no seran correctos. Por lo tanto, en este caso, es necesario restaurar los datos correspondientes a un numero anterior al numero de penodo de tiempo actual del dispositivo 60 de almacenamiento a partir de los datos existentes en la memoria cache del dispositivo 60 de almacenamiento.
En particular, puede determinarse si el dispositivo 50 de almacenamiento ha fallado mediante un procedimiento por el cual un centro de control envfa una senal al dispositivo 60 de almacenamiento, donde la senal se usa para indicar que el dispositivo 50 de almacenamiento ha fallado y que el dispositivo 60 de almacenamiento necesita asumir las funciones de servidor del dispositivo 50 de almacenamiento.
Como regla general, cuando una tarea de replicacion esta completada, el centro de control puede enviar una indicacion de replicacion satisfactoria tanto al dispositivo 50 de almacenamiento como al dispositivo 60 de almacenamiento. Si el dispositivo 60 de almacenamiento no recibe la indicacion, esto quiere decir que la tarea de replicacion en curso no se ha completado. La conclusion de una tarea de replicacion significa que el dispositivo 50 de almacenamiento ha enviado informacion transportada en todas las solicitudes de datos de escritura correspondientes al numero de penodo de tiempo actual al dispositivo 60 de almacenamiento y el dispositivo 60 de almacenamiento ha acabado de recibir la informacion.
Cuando el dispositivo 60 de almacenamiento determina que el dispositivo 50 de almacenamiento ha fallado, si la tarea de replicacion actual esta completada, el dispositivo 60 de almacenamiento puede asumir el trabajo del dispositivo 50 de almacenamiento directamente, garantizandose asf la coherencia de los datos. Esta situacion va mas alla de lo expuesto por la realizacion de la presente invencion.
5
10
15
20
25
30
35
40
45
50
No obstante, si la tarea de replicacion en curso no esta completada, es necesario restaurar los datos correspondientes al numero anterior al numero de penodo de tiempo actual del dispositivo 60 de almacenamiento a partir de los datos existentes en la memoria cache del dispositivo 60 de almacenamiento.
Un modo de restauracion espedfico es el siguiente: de acuerdo con la informacion de direccion recibida, buscar informacion de direccion correspondiente a un numero anterior al numero de penodo de tiempo actual para la misma informacion de direccion que la informacion de direccion recibida, si no se encuentra la misma informacion de direccion, continuar buscando informacion de direccion correspondiente a otro numero anterior hasta que se encuentre la informacion de direccion, y luego obtener los datos que han de escribirse correspondientes al numero.
El modulo 604 de escritura esta configurado para anadir un segundo numero a los datos que han de escribirse y la informacion de direccion correspondientes al primer numero y escribir la informacion en una memoria cache.
El segundo numero es un numero obtenido modificando el numero de penodo de tiempo actual y tambien el ultimo numero almacenado en la memoria cache en esta realizacion. Cuando un servidor envfa una solicitud de datos de lectura al dispositivo 60 de almacenamiento, solicitando leer datos almacenados en la informacion de direccion (como puede ser una LBA), el dispositivo 60 de almacenamiento aprende mediante busqueda que el ultimo numero correspondiente a la informacion de direccion es el segundo numero y envfa los datos que han de escribirse correspondientes al segundo numero al servidor. De ese modo se garantiza la coherencia de los datos.
En la realizacion de la presente invencion, el dispositivo 60 de almacenamiento recibe informacion de direccion enviada por el dispositivo 50 de almacenamiento, y cuando el dispositivo 50 de almacenamiento falla, obtiene los datos que han de escribirse correspondientes a un numero anterior al numero de penodo de tiempo actual, anade un segundo numero a los datos que han de escribirse y la informacion de direccion correspondientes al numero anterior al numero de penodo de tiempo actual, y almacena la informacion en una memoria cache. De ese modo se garantiza la coherencia de los datos.
En relacion con la Figura 7, una realizacion de la presente invencion ofrece un dispositivo 700 de almacenamiento. Dicho dispositivo 700 de almacenamiento puede incluir un dispositivo de almacenamiento ya conocido en la tecnica anterior. La realizacion de la presente invencion no limita la implementacion espedfica del dispositivo 700 de almacenamiento. El dispositivo 700 de almacenamiento incluye:
Un procesador 710, una interfaz 720 de comunicaciones, una memoria 730, y un bus 740 de comunicaciones.
El procesador 710, la interfaz 720 de comunicaciones y la memoria 730 se comunican entre sf mediante el bus 740 de comunicaciones.
La interfaz 720 de comunicaciones esta configurada para comunicarse con un elemento de red, por ejemplo, con un servidor o un conmutador.
El procesador 710 esta configurado para ejecutar un programa 732.
En particular, el programa 732 puede incluir un codigo de programa, y el codigo del programa incluye una instruccion para el funcionamiento del ordenador.
El procesador 710 puede ser una unidad de procesamiento central CPU, o un circuito integrado espedfico de la aplicacion ASIC, o estar configurado como uno o mas circuitos integrados que implementan las realizaciones de la presente invencion.
La memoria 730 esta configurada para almacenar el programa 732. La memoria 730 puede incluir una RAM de alta velocidad, o una memoria no volatil, por ejemplo, al menos una memoria de disco magnetico.
El programa 732 puede incluir, en particular:
un modulo 501 de recepcion, configurado para recibir una primera solicitud de datos de escritura enviada por un servidor, donde la primera solicitud de datos de escritura transporta datos que han de escribirse e informacion de direccion;
un modulo 502 de lectura y escritura, configurado para anadir un primer numero a los datos que han de escribirse y la informacion de direccion y escribir la informacion en una memoria cache, donde el primer numero es un numero de penodo de tiempo actual, y leer los datos que han de escribirse y la informacion de direccion correspondientes al primer numero desde la memoria cache;
un gestor 503 de numero de penodo de tiempo actual, configurado para modificar el numero de penodo de tiempo actual para identificar la informacion transportada en una solicitud de datos de escritura subsiguiente; y
un modulo 504 de envfo, configurado para enviar los datos que han de escribirse y la informacion de direccion a un dispositivo de almacenamiento en el centro de recuperacion ante desastres.
5
10
15
20
25
30
35
40
45
50
Para implementaciones espedficas de los modulos del programa 732, puede hacerse referencia a los modulos correspondientes en la realizacion ilustrada en la Figura 5, que no se describen mas en la presente memoria.
En relacion con la Figura 8, una realizacion de la presente invencion ofrece un dispositivo 800 de almacenamiento.
Dicho dispositivo 800 de almacenamiento puede incluir un dispositivo de almacenamiento ya conocido en la tecnica anterior. La realizacion de la presente invencion no limita la implementacion espedfica del dispositivo 800 de almacenamiento. El dispositivo 800 de almacenamiento incluye:
un procesador 810, una interfaz 820 de comunicaciones, una memoria 830 y un bus de comunicaciones 840.
El procesador 810, la interfaz 820 de comunicaciones y la memoria 830 se comunican entre sf mediante el bus de comunicaciones 840.
La interfaz 820 de comunicaciones esta configurada para comunicarse con un elemento de red, por ejemplo, con un servidor o un conmutador.
El procesador 810 esta configurado para ejecutar un programa 832.
En particular, el programa 832 puede incluir un codigo de programa, y el codigo de programa incluye una instruccion para el funcionamiento del ordenador.
El procesador 810 puede ser una unidad de procesamiento central CPU, o un circuito integrado espedfico de la aplicacion (ASIC), o estar configurado como uno o mas circuitos integrados que implementan las realizaciones de la presente invencion.
La memoria 830 esta configurada para almacenar el programa 832. La memoria 830 puede incluir una RAM de alta velocidad o una memoria no volatil, por ejemplo, al menos una memoria de disco magnetico.
El programa 832 puede incluir, en particular:
un modulo 601 de recepcion, configurado para recibir informacion de direccion enviada por un dispositivo 50 de almacenamiento;
un modulo 602 de busqueda, configurado para cuando se determine que el dispositivo de almacenamiento ha fallado, un dispositivo 60 de almacenamiento obtenga, de acuerdo con la informacion de direccion, los datos que han de escribirse correspondientes a un primer numero, donde la informacion de direccion correspondiente al primer numero es la misma que la informacion de direccion recibida y el primer numero es un numero anterior al numero de penodo de tiempo actual; y
un modulo 604 de escritura, configurado para anadir un segundo numero a los datos que han de escribirse y la informacion de direccion correspondientes al primer numero y escribir la informacion en una memoria cache.
Para implementaciones espedficas de los modulos en el programa 832, puede hacerse referencia a los modulos correspondientes en la realizacion ilustrada en la Figura 6, que no es objeto de mayor descripcion en la presente memoria.
Es posible que los expertos en la tecnica comprendan claramente que, a los efectos de conseguir una descripcion conveniente y breve, por lo que respecta al proceso de funcionamiento detallado del dispositivo y modulo anteriormente expuesto, se puede hacer referencia al proceso correspondiente en las realizaciones del metodo anteriormente descritas, por lo que en la presente memoria no se vuelven a exponer los detalles.
Lo siguiente describe una aplicacion del metodo ofrecido por esta realizacion de la presente invencion a un supuesto que incluye al menos dos centros de recuperacion ante desastres.
Tal y como se muestra en la Figura 9, un sistema de almacenamiento incluye un centro de produccion y al menos dos centros de recuperacion ante desastres.
El centro de produccion incluye un servidor de produccion, un dispositivo de conexion y una matriz de produccion. Una arquitectura de sistema de un centro de recuperacion ante desastres es similar a la del centro de produccion, e incluye un servidor de recuperacion ante desastres, un dispositivo de conexion y una matriz de recuperacion ante desastres. El centro de produccion y el centro de recuperacion ante desastres pueden realizar la transmision de datos a traves de protocolo de Internet (IP) o canal de fibra (FC). Puede haber un centro de control entre el centro de produccion y el centro de recuperacion ante desastres. El centro de control puede instalarse en el centro de produccion o en el centro de recuperacion ante desastres, o instalarse en un dispositivo de terceros entre el centro de produccion y el centro de recuperacion ante desastres. El centro de control esta configurado para enviar una senal a la matriz de recuperacion ante desastres cuando la matriz de produccion falle, de forma que la matriz de recuperacion ante desastres asuma las funciones de servidor de la matriz de produccion.
5
10
15
20
25
30
35
40
45
50
55
El servidor de produccion y el servidor de recuperacion ante desastres pueden ser cualquier dispositivo informatico conocido en la tecnica anterior, como servidores y ordenadores de sobremesa. Dentro de un servidor hay instalado un sistema operativo y otras aplicaciones.
El dispositivo de conexion puede incluir cualquier interfaz, conocida en la tecnica anterior, entre un dispositivo de almacenamiento y un servidor, como puede ser un conmutador de fibra u otros conmutadores disponibles actualmente.
Tanto la matriz de produccion como la matriz de recuperacion ante desastres pueden ser un dispositivo de almacenamiento conocido en la tecnica anterior, como puede ser una matriz redundante de discos economicos (RAID), una concatenacion de discos (JBOD) y una o mas unidades de disco interconectadas, como una biblioteca de cintas, un dispositivo de almacenamiento en cinta de una o mas unidades de almacenamiento, donde dichas unidades de disco interconectadas son un dispositivo de almacenamiento de acceso directo (DASD, por sus siglas en ingles).
El espacio de almacenamiento de la matriz de produccion puede incluir multiples volumenes de datos. Un volumen de datos es espacio de almacenamiento logico formado mediante la asignacion de espacio de almacenamiento ffsico. Por ejemplo, un volumen de datos puede ser un numero de unidad logica (LUN), o un sistema de archivos. En esta realizacion de la invencion, la matriz de recuperacion ante desastres tiene una estructura similar a la de la matriz de produccion.
Para garantizar la seguridad de los datos en el centro de produccion, generalmente debe instalarse una pluralidad de centros de recuperacion ante desastres. Los datos del centro de produccion se replican a la pluralidad de los centros de recuperacion ante desastres, de forma que cuando tanto el centro de produccion como alguno de los centros de recuperacion ante desastres sufran un desastre, otro centro de recuperacion ante desastres pueda seguir almacenando los datos y estos no se pierdan. En esta realizacion de la presente invencion, se hace referencia a una tarea por la que la matriz de produccion replica datos que almacena en un volumen de datos en una matriz de recuperacion ante desastres como una relacion de replicacion (tambien referida como un par). Cada relacion de replicacion corresponde a un identificador exclusivo (por ejemplo, identificador ID). Antes de que se produzca un desastre, debido a que la matriz de produccion recibe continuamente solicitudes de datos de escritura enviadas por el servidor, la matriz de produccion necesita tambien replicar continuamente los datos que almacena en la matriz de recuperacion ante desastres. Por consiguiente, una relacion de replicacion puede dividirse en un cierto numero de penodos de tiempo, y una tarea por la que la matriz de produccion envfa, dentro de cada penodo de tiempo, la informacion transportada en una solicitud de datos de escritura recibida por un volumen de datos a la matriz de recuperacion ante desastres se refiere como tarea de replicacion.
La matriz de produccion puede incluir un gestor de numero de penodo de tiempo actual que almacena los numeros de penodo de tiempo actual. Un numero de penodo de tiempo actual puede ser un valor numerico, como 0, 1 o 2, o una letra, como a, b o c, lo cual no esta limitado en la presente memoria. Debe senalarse que el numero de penodo de tiempo actual es aplicable a todas las matrices de recuperacion ante desastres. Cada vez que se desencadena una tarea de replicacion, el numero de penodo de tiempo actual se modifica.
El hecho de que el numero de penodo de tiempo actual sea 1 se utiliza como ejemplo. Cuando la matriz de produccion recibe una solicitud de datos de escritura, se anade un numero de valor numerico 1 a los datos que han de escribirse y la informacion de direccion transportados en la solicitud de datos de escritura, y luego los datos que han de escribirse y la informacion de direccion transportados en la solicitud de datos de escritura junto con el numero con valor numerico 1 se escriben todos en una memoria cache.
Cuando se desencadena una tarea de replicacion correspondiente a una primera matriz de recuperacion ante desastres, la matriz de produccion modifica el numero de penodo de tiempo actual desde un valor numerico 1 a un valor numerico 2, de forma que se anade un numero con valor numerico 2 a los datos que han de escribirse y la informacion de direccion transportados en una solicitud de datos de escritura recibida posteriormente. A continuacion, los datos que han de escribirse y la informacion de direccion correspondientes al numero con valor numerico 1 se envfan a la primera matriz de recuperacion ante desastres.
Cuando se desencadena una tarea de replicacion correspondiente a una segunda matriz de recuperacion ante desastres, la matriz de produccion modifica el numero de penodo de tiempo actual desde un valor numerico 2 a un valor numerico 3, de forma que se anada un numero con valor numerico 3 a los datos que han de escribirse y la informacion de direccion transportados en una solicitud de datos de escritura recibida posteriormente.
Cuando se desencadena una tarea de replicacion correspondiente a una tercera matriz de recuperacion ante desastres, la matriz de produccion modifica el numero de penodo de tiempo actual desde un valor numerico 3 a un valor numerico 4, de forma que se anada un numero con valor numerico 4 a los datos que han de escribirse y la informacion de direccion transportados en una solicitud de datos de escritura recibida posteriormente.
No obstante, cuando se desencadena otra vez la tarea de replicacion correspondiente a la primera matriz de recuperacion ante desastres, la matriz de produccion modifica el numero de penodo de tiempo actual desde un valor numerico 4 a un valor numerico 5, de forma que se anada un numero con valor numerico 5 a los datos que han de
5
10
15
20
25
30
35
40
45
50
55
escribirse y la informacion de direccion transportados en una solicitud de datos de escritura recibida posteriormente. Se parte de que la matriz de produccion registra solo el numero de penodo de tiempo actual. Por lo tanto, en este momento, de acuerdo con esto, solo se envfan al primer centro de recuperacion ante desastres los datos que han de escribirse y la informacion de direccion correspondientes al numero 4. Consiguientemente, se omiten los datos que han de escribirse y la informacion de direccion correspondientes al numero con valor numerico 2 y los datos que han de escribirse y la informacion de direccion correspondientes al numero con valor numerico 3, y los datos almacenados en la primera matriz de recuperacion ante desastres son incoherentes con los que se encuentran en la matriz de produccion. De modo similar, la segunda y la tercera matrices de recuperacion ante desastres se enfrentan tambien al problema de que los datos recibidos que han de escribirse y la informacion de direccion estan incompletos.
En relacion con la Figura 10, esta muestra una realizacion del metodo de replicacion de datos propuesto por la presente invencion para solucionar el problema. El metodo se aplica a una matriz de produccion que corresponde a al menos dos matrices de recuperacion ante desastres. En esta realizacion de la presente invencion, para facilitar la descripcion, se hace referencia a la matriz de produccion como un primer dispositivo de almacenamiento y a una de las al menos dos matrices de recuperacion ante desastres como un segundo dispositivo de almacenamiento. Debe senalarse que se hara referencia posiblemente a las realizaciones mostradas en las figuras 2 a 4 para la ejecucion espedfica de las siguientes etapas.
El metodo incluye las siguientes etapas:
Etapa 41: cuando se desencadena una tarea de replicacion actual, el primer dispositivo de almacenamiento lee un numero de penodo de tiempo actual.
La tarea de replicacion puede desencadenarse mediante un temporizador, o hacerse manualmente, o bien desencadenarse mediante otros procedimientos desencadenadores, lo cual no esta limitado en la presente memoria. Cuando la tarea de replicacion se desencadena, el primer dispositivo de almacenamiento puede leer el numero de penodo de tiempo actual desde un gestor de numero de penodo de tiempo actual. Debe senalarse que, cuando se desencadena la tarea de replicacion, el primer dispositivo de almacenamiento modifica el numero de penodo de tiempo actual en un momento de desencadenamiento, y aqrn, el numero de penodo de tiempo actual lefdo por el primer dispositivo de almacenamiento es el numero de penodo de tiempo actual modificado. Para facilitar la descripcion, en las siguientes etapas se hace referencia al numero de penodo de tiempo actual antes de la modificacion como un numero de penodo de tiempo historico.
Etapa 42: leer un segundo numero, donde el segundo numero es un numero correspondiente a una ultima tarea de replicacion completada que esta correlacionada con la tarea de replicacion actual.
En esta realizacion de la presente invencion, el hecho de que la ultima tarea de replicacion completada esta correlacionada con la tarea de replicacion actual significa que la tarea de replicacion actual y la ultima tarea de replicacion completada pertenecen a una misma relacion de replicacion, y de la anterior descripcion, puede deducirse que cada relacion de replicacion posee un identificador exclusivo. Cuando se desencadena la tarea de replicacion, el primer dispositivo de almacenamiento puede recibir el identificador y leer el segundo numero de acuerdo con dicho identificador.
En particular, cuando se desencadena la tarea de replicacion actual mediante un temporizador, el identificador puede transportarse en el temporizador; y cuando se desencadena la tarea de replicacion actual manualmente, el primer dispositivo de almacenamiento puede recibir el identificador en forma de senal o en otras formas.
En esta realizacion de la presente invencion, cada vez que se completa una tarea de replicacion, se registra un numero correspondiente a la tarea de replicacion completada. De modo opcional, puede almacenarse solo un numero correspondiente a la ultima tarea de replicacion completada, y dicho numero se actualiza cuando se completa una siguiente tarea de replicacion; o bien, puede almacenarse los numeros correspondientes a todas las tareas de replicacion completadas, lo cual no esta limitado en la presente memoria.
Es comprensible que se registre un numero correspondiente a la ultima tarea de replicacion completada en cada relacion de replicacion.
Etapa 43: determinar, de acuerdo con el numero de penodo de tiempo actual y el segundo numero, un primer numero, donde el primer numero es un numero anterior al numero de penodo de tiempo actual cuando se desencadena la tarea de replicacion y el primer numero es un numero posterior al segundo numero.
Por ejemplo, el numero de penodo de tiempo actual es un valor numerico 5 y el segundo numero es un valor numerico 2, y cualquier numero en un intervalo (2-5) puede determinarse como el primer numero. Debe senalarse que el intervalo es un intervalo abierto que excluye el valor numerico 2 y el valor numerico 5.
Etapa 44: replicar datos que han de replicarse e informacion de direccion de los datos que han de replicarse que se encuentran almacenados en la memoria cache y que corresponden al primer numero en un segundo dispositivo de almacenamiento.
En particular, los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse que corresponden al primer numero se leen de la memoria cache y los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse se envfan al segundo dispositivo de almacenamiento.
Opcionalmente, el primer dispositivo de almacenamiento puede enviar directamente los datos que han de replicarse 5 y la informacion de direccion de los datos que han de replicarse al segundo dispositivo de almacenamiento, o generar una solicitud de datos de escritura de acuerdo con los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse y enviar la solicitud de datos de escritura al segundo dispositivo de almacenamiento.
Opcionalmente, cuando una serie de numeros satisface la condicion de ser anterior al numero de penodo de tiempo 10 actual al momento de desencadenar la tarea de replicacion actual y posterior al numero correspondiente a la ultima tarea de replicacion completada, y todos los numeros corresponden a la misma informacion de direccion, solo puede enviarse al segundo dispositivo de almacenamiento la informacion de direccion y los datos que han de replicarse correspondientes a un ultimo numero. Dicho ultimo numero es el numero generado mas recientemente. Por ejemplo, se supone que el numero de penodo de tiempo actual se modifica anadiendo 1 cada vez, y el ultimo numero es el 15 numero con el valor numerico mas alto.
En esta realizacion de la presente invencion, cuando se desencadena la tarea de replicacion actual, el primer dispositivo de almacenamiento determina el primer numero de acuerdo con el numero de penodo de tiempo actual y el segundo numero, donde el segundo numero es un numero correspondiente a la ultima tarea de replicacion anterior a la tarea de replicacion actual y el primer numero es un numero anterior al numero de penodo de tiempo 20 actual en el momento en que se desencadeno la tarea de replicacion actual y posterior al segundo numero, y replica los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse que se encuentran almacenados en la memoria cache y corresponden al primer numero en el segundo dispositivo de almacenamiento. Puesto que todos los numeros entre el segundo numero y el numero de penodo de tiempo actual pueden determinarse como el primer numero, siempre que un numero se determine como el primer numero, los datos que 25 han de replicarse y la informacion de direccion de los datos que han de replicarse que corresponden al numero pueden replicarse en el segundo dispositivo de almacenamiento. Por lo tanto, incluso si el numero de penodo de tiempo actual se modifica cuando se desencadena una tarea de replicacion correspondiente a otra matriz de recuperacion ante desastres, el primer dispositivo de almacenamiento puede seguir encontrando, de acuerdo con el segundo numero, los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse 30 que no se encuentran replicados en el segundo dispositivo de almacenamiento, y replicarlos en el segundo dispositivo de almacenamiento, garantizando asf la integridad de la replicacion.
Opcionalmente, en la realizacion expuesta, antes de que se desencadene la tarea de replicacion actual, el metodo incluye ademas:
Recibir una primera solicitud de datos de escritura, donde dicha primera solicitud de datos de escritura incluye los 35 datos que han de replicarse y la informacion de direccion de los datos que han de replicarse; y anadir el primer numero a los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse y escribirlos en la memoria cache, donde el primer numero es un numero de penodo de tiempo historico. En particular, el numero de penodo de tiempo historico se refiere a un numero de penodo de tiempo actual correspondiente a un momento en que se recibio la primera solicitud de datos de escritura. Puede deducirse de las realizaciones 40 mostradas en las figuras 2 a 4 que, cuando se desencadena una tarea de replicacion, el numero de penodo de tiempo historico debe modificarse a un numero de penodo de tiempo actual.
Opcionalmente, el metodo puede incluir ademas:
recibir una segunda solicitud de datos de escritura, donde dicha segunda solicitud de datos de escritura incluye datos de destino e informacion de direccion de los datos de destino;
45 anadir un tercer numero a los datos de destino y la informacion de direccion de los datos de destino;
determinar si el tercer numero es el mismo que el primer numero;
cuando el tercer numero es el mismo que el primer numero, determinar si la informacion de direccion de los datos de destino es la misma que la informacion de direccion de los datos que han de replicarse;
cuando la informacion de direccion de los datos de destino es la misma que la informacion de direccion de los datos 50 que han de replicarse, sustituir los datos que han de replicarse almacenados en la memoria cache por los datos de destino; y
cuando la informacion de direccion de los datos de destino no es la misma que la informacion de direccion de los datos que han de replicarse, escribir, en la memoria cache, los datos de destino y la informacion de direccion de los datos de destino despues de anadir el tercer numero.
55 Cuando el tercer numero no es el mismo que el primer numero, los datos de destino y la informacion de direccion de
5
10
15
20
25
30
35
40
45
50
los datos de destino despues de anadir el tercer numero se escriben en la memoria cache.
En relacion con la Figura 11, esta es un diagrama estructural esquematico de un dispositivo de almacenamiento segun una realizacion de la presente invencion. Tal y como se muestra en la Figura 11, el dispositivo de almacenamiento incluye:
un modulo 52 de lectura y escritura, un modulo de determinacion 53, y un modulo 54 de replicacion.
El modulo 52 de lectura y escritura esta configurado para leer un numero de penodo de tiempo actual cuando se desencadena una tarea de replicacion actual, y leer un segundo numero, donde el segundo numero es un numero correspondiente a una ultima tarea de replicacion completada que esta correlacionada con la tarea de replicacion actual.
El modulo de determinacion 53 esta configurado para determinar, de acuerdo con el numero de penodo de tiempo actual y el segundo numero, un primer numero, donde el primer numero es un numero anterior al numero de penodo de tiempo actual en el momento en que se desencadeno la tarea de replicacion actual y el primer numero es un numero posterior al segundo numero.
El modulo 54 de replicacion esta configurado para replicar los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en la memoria cache y correspondientes al primer numero en un segundo dispositivo de almacenamiento.
En la realizacion de la presente invencion, cuando se desencadena la tarea de replicacion actual, el primer dispositivo de almacenamiento determina el primer numero de acuerdo con el numero de penodo de tiempo actual y el segundo numero, donde el segundo numero es un numero correspondiente a la ultima tarea de replicacion completada antes de la tarea de replicacion actual, el primer numero es un numero anterior al numero de penodo de tiempo actual en el momento en que se desencadeno la tarea de replicacion actual y posterior al segundo numero, y replica los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en la memoria cache y correspondientes al primer numero en el segundo dispositivo de almacenamiento. Puesto que todos los numeros entre el segundo numero y el numero de penodo de tiempo actual pueden determinarse como el primer numero, siempre que un numero se determine como el primer numero, los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse correspondientes al numero pueden replicarse en el segundo dispositivo de almacenamiento. Por lo tanto, incluso si el numero de penodo de tiempo actual se modifica cuando se desencadena una tarea de replicacion correspondiente a la matriz de recuperacion ante desastres, el primer dispositivo de almacenamiento puede seguir encontrando, de acuerdo con el segundo numero, los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse que no esten replicados en el segundo dispositivo de almacenamiento, y replicarlos en el segundo dispositivo de almacenamiento, garantizando asf la integridad de la replicacion.
Opcionalmente, el dispositivo de almacenamiento puede incluir ademas un modulo 55 de registro, configurado para registrar el segundo numero.
Opcionalmente, el hecho de que la ultima tarea de replicacion completada esta correlacionada con la tarea de replicacion actual significa que la tarea de replicacion actual y la ultima tarea de replicacion completada pertenecen a una misma relacion de replicacion; y el dispositivo de almacenamiento incluye ademas un modulo 51 de recepcion.
El modulo 51 de recepcion esta configurado para recibir un identificador correspondiente a la relacion de replicacion.
El modulo de lectura y escritura esta configurado, en particular, para leer, de acuerdo con el identificador, el segundo numero correspondiente a la tarea de replicacion actual.
Opcionalmente, el modulo 51 de recepcion esta configurado para recibir una primera solicitud de datos de escritura antes de que se desencadene la tarea de replicacion actual, donde la primera solicitud de datos de escritura incluye los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse; y
el modulo 52 de lectura y escritura esta configurado ademas para anadir el primer numero a los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse, y escribirlos en la memoria cache, donde el primer numero es un numero de penodo de tiempo historico. El numero de penodo de tiempo actual se forma modificando el numero de penodo de tiempo historico.
Opcionalmente, el modulo 54 de replicacion esta configurado, en particular, para cuando la informacion de direccion corresponde a una pluralidad de numeros, determinar un ultimo numero de estos numeros correspondiente a la informacion de direccion como el primer numero; y replicar los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en la memoria cache y correspondientes al primer numero en el segundo dispositivo de almacenamiento.
El dispositivo de almacenamiento proporcionado por esta realizacion de la presente invencion se usa para ejecutar el metodo de replicacion de datos descrito en la realizacion expuesta. Puede consultarse la descripcion de la
5
10
15
20
25
30
35
40
realizacion del metodo para obtener una descripcion detallada de las funciones de los modulos; no se ofrecen mas detalles en la presente memoria.
Como puede verse en la Figura 12, esta muestra un dispositivo de almacenamiento proporcionado por una realizacion de la presente invencion, que incluye lo siguiente:
Un procesador 101, una memoria 102, un bus 105 de sistema (para abreviar, bus), y una interfaz 103 de comunicaciones. El procesador 101, la memoria 102 y la interfaz 103 de comunicaciones se encuentran conectados y se comunican entre sf mediante el bus 105 de sistema.
El procesador 101 puede ser una unidad de procesamiento central de nucleo unico o de multiples nucleos, o un circuito integrado espedfico, o estar configurado con uno o mas circuitos integrados que implementan las realizaciones de la presente invencion.
La memoria 102 puede ser una memoria RAM de alta velocidad, o una memoria no volatil (memoria no volatil), por ejemplo, al menos una memoria de disco magnetico.
La interfaz 103 de comunicaciones esta configurada para comunicarse con un dispositivo de almacenamiento.
La memoria 102 esta configurada para almacenar una instruccion ejecutable 1021 del ordenador. En particular, la instruccion ejecutable 1021 del ordenador puede incluir codigo de programa.
Cuando un ordenador esta en funcionamiento, el procesador 101 ejecuta la instruccion ejecutable 1021 del ordenador y puede ejecutar el proceso de metodo ilustrado en la Figura 10.
En las diversas realizaciones expuestas en la presente aplicacion, debe entenderse que el dispositivo y metodo descritos pueden incrementarse de otras maneras. Por ejemplo, la realizacion del dispositivo descrito es meramente ejemplificativa. Por ejemplo, la division de modulos es meramente una division de funciones logicas y en la implementacion real puede haber otras divisiones. Por ejemplo, una pluralidad de modulos o componentes puede combinarse o integrarse en otro dispositivo, o algunas funciones pueden ignorarse o no llevarse a cabo. Ademas, los acoplamientos mutuos o acoplamientos directos o conexiones de comunicacion mostrados o expuestos pueden implementarse utilizando algunas interfaces. Los acoplamientos o conexiones de comunicaciones indirectos entre los aparatos o modulos pueden implementarse de forma electronica, mecanica o de otras formas.
Los modulos descritos como partes separadas pueden estar o no separados ffsicamente, y las partes mostradas como modulos pueden ser o no submodulos ffsicos, pueden estar ubicados en una posicion, o pueden estar distribuidos en una pluralidad de submodulos de red. Algunos o la totalidad de los modulos pueden seleccionarse para lograr los objetivos de la solucion de la realizacion de acuerdo con las necesidades reales.
Ademas, los modulos de funcion en las realizaciones de la presente invencion pueden integrarse en un modulo de procesamiento, o cada uno de los modulos puede existir solo ffsicamente, o dos o mas modulos pueden integrarse en un modulo.
Las personas con experiencia ordinaria en la tecnica pueden comprender que la totalidad o parte de las etapas de las realizaciones expuestas puede implementarse mediante hardware, o puede implementarse mediante un programa que de instrucciones al hardware correspondiente. El programa puede estar almacenado en un medio de almacenamiento legible por ordenador. El medio de almacenamiento puede ser una memoria de solo lectura, un disco magnetico o un disco optico.
Por ultimo, debe senalarse que las realizaciones expuestas tienen un fin meramente descriptivo de las soluciones tecnicas de la presente invencion y no pretenden limitarla.

Claims (8)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un metodo de replicacion de datos, que comprende:
    determinar (E41), mediante un primer dispositivo de almacenamiento, cuando se desencadena una primera tarea de replicacion;
    leer (E41) un numero de penodo de tiempo actual; modificar (E104, E304) el numero de penodo de tiempo actual; el metodo se caracteriza por lo siguiente:
    leer (E106, E42) un segundo numero, donde el segundo numero es un numero correspondiente a una ultima tarea de replicacion completada que esta correlacionada con la tarea de replicacion actual;
    determinar (E107, E43) un primer numero de acuerdo con el numero de penodo de tiempo actual modificado y el segundo numero, donde el primer numero es un numero anterior al numero de penodo de tiempo actual modificado y el primer numero es un numero posterior al segundo numero; y
    replicar (E108, E43) los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en una memoria cache del primer dispositivo de almacenamiento y correspondientes al primer numero en un segundo dispositivo de almacenamiento.
  2. 2. El metodo segun la reivindicacion 1, en la que la tarea de replicacion correlacionada con la tarea de replicacion actual se refiere a una tarea de replicacion que pertenece a una misma relacion de replicacion que la tarea de replicacion actual;
    cuando se desencadena una tarea de replicacion actual, el metodo comprende ademas: recibir un identificador correspondiente a la relacion de replicacion; y
    la lectura de un segundo numero comprende:
    leer el segundo numero de acuerdo con el identificador.
  3. 3. El metodo segun la reivindicacion 1, en el que, antes de que se desencadene la tarea de replicacion actual, el metodo comprende ademas:
    recibir (E101) una primera solicitud de datos de escritura, en la que la primera solicitud de datos de escritura comprende datos que han de replicarse e informacion de direccion de los datos que han de replicarse; y
    anadir (E102) el primer numero a los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse, y
    escribir (E102) los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse a los que se ha anadido el numero de penodo de tiempo actual en la memoria cache.
  4. 4. El metodo segun la reivindicacion 1, en el que la replicacion de los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en una memoria cache del primer dispositivo de almacenamiento y correspondientes al primer numero en un segundo dispositivo de almacenamiento comprende:
    cuando la informacion de direccion corresponde a una pluralidad de numeros, determinar que un ultimo numero de los numeros correspondientes a la informacion de direccion es el primer numero; y
    replicar los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en la memoria cache y correspondientes al primer numero en el segundo dispositivo de almacenamiento.
  5. 5. Un dispositivo de almacenamiento, que comprende:
    un modulo (53) de determinacion, configurado para determinar cuando se desencadena una tarea de replicacion;
    un modulo (52) de lectura y escritura, configurado para leer un numero de penodo de tiempo actual; modificar el numero de penodo de tiempo actual; y caracterizado por que el modulo (52) de lectura y escritura esta configurado ademas para leer un segundo numero, en el que el segundo numero
    es un numero correspondiente a la ultima tarea de replicacion completada que esta correlacionada con la tarea de replicacion actual;
    y por que
    5
    10
    15
    20
    25
    el modulo (53) de determinacion esta configurado ademas para determinar un primer numero de acuerdo con el numero de penodo de tiempo actual y el segundo numero, en el que el primer numero es un numero anterior al numero de penodo de tiempo actual modificado y el primer numero es un numero posterior al segundo numero; y
    un modulo (54) de replicacion, configurado para replicar datos que han de replicarse e informacion de direccion de los datos que han de replicarse almacenados en una memoria cache del primer dispositivo de almacenamiento y correspondientes al primer numero en un segundo dispositivo de almacenamiento.
  6. 6. El dispositivo de almacenamiento segun la reivindicacion 5, en el que la tarea de replicacion correlacionada con la tarea de replicacion actual se refiere a una tarea de replicacion que pertenece a una misma relacion de replicacion que la tarea de replicacion actual;
    el dispositivo de almacenamiento comprende ademas: un modulo (51) de recepcion;
    el modulo (51) de recepcion esta configurado para recibir un identificador correspondiente a la relacion de replicacion; y
    el modulo (52) de lectura y escritura esta configurado en particular para leer el segundo numero de acuerdo con el identificador.
  7. 7. El dispositivo de almacenamiento segun la reivindicacion 5, en el que el modulo (51) de recepcion esta configurado ademas para recibir una primera solicitud de datos de escritura antes de que se desencadene la tarea de replicacion actual, en el que la primera solicitud de datos de escritura comprende los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse; y
    el modulo (52) de lectura y escritura esta configurado ademas para anadir el primer numero a los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse, y escribir los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse a los que se ha anadido el numero de penodo de tiempo actual en la memoria cache.
  8. 8. El dispositivo de almacenamiento segun la reivindicacion 5, en el que el modulo (54) de replicacion esta configurado en particular para cuando la informacion de direccion corresponde a una pluralidad de numeros, determinar un ultimo numero de los numeros correspondientes a la informacion de direccion como el primer numero; y replicar los datos que han de replicarse y la informacion de direccion de los datos que han de replicarse almacenados en la memoria cache y correspondientes al primer numero en el segundo dispositivo de almacenamiento.
ES13878530.8T 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento Active ES2610784T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2013/080203 WO2015010327A1 (zh) 2013-07-26 2013-07-26 数据发送方法、数据接收方法和存储设备
WOPCT/CN2013/080203 2013-07-26
PCT/CN2013/087229 WO2015010394A1 (zh) 2013-07-26 2013-11-15 数据发送方法、数据接收方法和存储设备

Publications (1)

Publication Number Publication Date
ES2610784T3 true ES2610784T3 (es) 2017-05-03

Family

ID=50253404

Family Applications (2)

Application Number Title Priority Date Filing Date
ES13878530.8T Active ES2610784T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
ES16177686.9T Active ES2666580T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES16177686.9T Active ES2666580T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento

Country Status (13)

Country Link
US (2) US9311191B2 (es)
EP (2) EP3179359B1 (es)
JP (2) JP6344798B2 (es)
KR (1) KR101602312B1 (es)
CN (1) CN103649901A (es)
AU (2) AU2013385792B2 (es)
CA (1) CA2868247C (es)
DK (1) DK3179359T3 (es)
ES (2) ES2610784T3 (es)
HU (1) HUE037094T2 (es)
NO (1) NO3179359T3 (es)
RU (1) RU2596585C2 (es)
WO (2) WO2015010327A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103649901A (zh) * 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备
CN103488431A (zh) * 2013-09-10 2014-01-01 华为技术有限公司 一种写数据方法及存储设备
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US10545987B2 (en) * 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
CN106407040B (zh) 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及***
CN107844259B (zh) * 2016-09-18 2020-06-16 华为技术有限公司 数据访问方法、路由装置和存储***
CN112068992A (zh) * 2016-10-28 2020-12-11 华为技术有限公司 一种远程数据复制方法、存储设备及存储***
CN108076090B (zh) * 2016-11-11 2021-05-18 华为技术有限公司 数据处理方法和存储管理***
CN106598768B (zh) * 2016-11-28 2020-02-14 华为技术有限公司 一种处理写请求的方法、装置和数据中心
CN108449277B (zh) * 2016-12-12 2020-07-24 华为技术有限公司 一种报文发送方法及装置
CN106776369B (zh) * 2016-12-12 2020-07-24 苏州浪潮智能科技有限公司 一种缓存镜像的方法及装置
CN108475254A (zh) * 2016-12-16 2018-08-31 华为技术有限公司 对象复制方法、装置及对象存储设备
CN106776147B (zh) * 2016-12-29 2020-10-09 华为技术有限公司 一种差异数据备份方法和差异数据备份装置
CN107122261B (zh) * 2017-04-18 2020-04-07 杭州宏杉科技股份有限公司 一种存储设备的数据读写方法及装置
CN107577421A (zh) * 2017-07-31 2018-01-12 深圳市牛鼎丰科技有限公司 智能设备扩容方法、装置、存储介质和计算机设备
AU2018357856B2 (en) * 2017-10-31 2021-03-18 Ab Initio Technology Llc Managing a computing cluster using time interval counters
CN108052294B (zh) * 2017-12-26 2021-05-28 郑州云海信息技术有限公司 一种分布式存储***的修改写方法和修改写***
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
US10642521B2 (en) * 2018-05-11 2020-05-05 International Business Machines Corporation Scaling distributed queues in a distributed storage network
CN109032527B (zh) * 2018-07-27 2021-07-27 深圳华大北斗科技有限公司 数据处理方法、存储介质及计算机设备
US10942725B2 (en) * 2018-07-30 2021-03-09 Ford Global Technologies, Llc Over the air Ecu update
US11038961B2 (en) 2018-10-26 2021-06-15 Western Digital Technologies, Inc. Ethernet in data storage device
CN109697035B (zh) * 2018-12-24 2022-03-29 深圳市明微电子股份有限公司 级联设备的地址数据的写入方法、写入设备及存储介质
US11620230B2 (en) * 2019-05-24 2023-04-04 Texas Instruments Incorporated Methods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths
US11119862B2 (en) * 2019-10-11 2021-09-14 Seagate Technology Llc Delta information volumes to enable chained replication of data by uploading snapshots of data to cloud
CN114731282B (zh) * 2019-11-22 2023-06-02 华为技术有限公司 处理非缓存写数据请求的方法、缓存器和节点
US11755230B2 (en) * 2021-04-22 2023-09-12 EMC IP Holding Company LLC Asynchronous remote replication of snapshots
US12008018B2 (en) * 2021-04-22 2024-06-11 EMC IP Holding Company LLC Synchronous remote replication of snapshots

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5758359A (en) * 1996-10-24 1998-05-26 Digital Equipment Corporation Method and apparatus for performing retroactive backups in a computer system
US6081875A (en) 1997-05-19 2000-06-27 Emc Corporation Apparatus and method for backup of a disk storage system
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6675177B1 (en) * 2000-06-21 2004-01-06 Teradactyl, Llc Method and system for backing up digital data
US6988165B2 (en) * 2002-05-20 2006-01-17 Pervasive Software, Inc. System and method for intelligent write management of disk pages in cache checkpoint operations
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7761421B2 (en) 2003-05-16 2010-07-20 Hewlett-Packard Development Company, L.P. Read, write, and recovery operations for replicated data
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4267421B2 (ja) * 2003-10-24 2009-05-27 株式会社日立製作所 リモートサイト及び/又はローカルサイトのストレージシステム及びリモートサイトストレージシステムのファイル参照方法
US7054883B2 (en) * 2003-12-01 2006-05-30 Emc Corporation Virtual ordered writes for multiple storage devices
ES2345388T3 (es) * 2004-02-12 2010-09-22 Irdeto Access B.V. Metodo y sistema de almacenamiento de datos externo.
JP4455927B2 (ja) * 2004-04-22 2010-04-21 株式会社日立製作所 バックアップ処理方法及び実施装置並びに処理プログラム
CN100359476C (zh) * 2004-06-03 2008-01-02 华为技术有限公司 一种快照备份的方法
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP4377790B2 (ja) * 2004-09-30 2009-12-02 株式会社日立製作所 リモートコピーシステムおよびリモートコピー方法
US7519851B2 (en) * 2005-02-08 2009-04-14 Hitachi, Ltd. Apparatus for replicating volumes between heterogenous storage systems
US8127174B1 (en) * 2005-02-28 2012-02-28 Symantec Operating Corporation Method and apparatus for performing transparent in-memory checkpointing
US8005795B2 (en) * 2005-03-04 2011-08-23 Emc Corporation Techniques for recording file operations and consistency points for producing a consistent copy
US7310716B2 (en) * 2005-03-04 2007-12-18 Emc Corporation Techniques for producing a consistent copy of source data at a target location
JP2007066154A (ja) 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
CA2632935C (en) * 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US7761663B2 (en) * 2006-02-16 2010-07-20 Hewlett-Packard Development Company, L.P. Operating a replicated cache that includes receiving confirmation that a flush operation was initiated
JP2007323507A (ja) * 2006-06-02 2007-12-13 Hitachi Ltd 記憶システム並びにこれを用いたデータの処理方法
US8150805B1 (en) * 2006-06-30 2012-04-03 Symantec Operating Corporation Consistency interval marker assisted in-band commands in distributed systems
US7885923B1 (en) * 2006-06-30 2011-02-08 Symantec Operating Corporation On demand consistency checkpoints for temporal volumes within consistency interval marker based replication
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
CN100485629C (zh) * 2006-08-15 2009-05-06 英业达股份有限公司 群聚式计算机***高速缓存数据备份处理方法及***
GB0616257D0 (en) * 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
US8145865B1 (en) * 2006-09-29 2012-03-27 Emc Corporation Virtual ordered writes spillover mechanism
KR20080033763A (ko) 2006-10-13 2008-04-17 삼성전자주식회사 와이브로 네트워크에서의 상호인증을 통한 핸드오버 방법및 그 시스템
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
JP4964714B2 (ja) * 2007-09-05 2012-07-04 株式会社日立製作所 ストレージ装置及びデータの管理方法
US8073922B2 (en) * 2007-07-27 2011-12-06 Twinstrata, Inc System and method for remote asynchronous data replication
US8140772B1 (en) * 2007-11-06 2012-03-20 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method for maintaining redundant storages coherent using sliding windows of eager execution transactions
CN101634968B (zh) * 2008-01-17 2011-12-14 四川格瑞特科技有限公司 一种用于备份***的海量数据高速缓存器的构造方法
EP3699765A1 (en) 2008-08-08 2020-08-26 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8767934B2 (en) 2008-09-03 2014-07-01 Avaya Inc. Associating a topic with a telecommunications address
US8762642B2 (en) * 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
CN101751230B (zh) * 2009-12-29 2011-11-09 成都市华为赛门铁克科技有限公司 标定i/o数据的时间戳的设备及方法
US9389892B2 (en) * 2010-03-17 2016-07-12 Zerto Ltd. Multiple points in time disk images for disaster recovery
JP5170169B2 (ja) * 2010-06-18 2013-03-27 Necシステムテクノロジー株式会社 ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム
CN101901173A (zh) * 2010-07-22 2010-12-01 上海骊畅信息科技有限公司 一种灾备***及灾备方法
US8443149B2 (en) * 2010-09-01 2013-05-14 International Business Machines Corporation Evicting data from a cache via a batch file
US8255637B2 (en) * 2010-09-27 2012-08-28 Infinidat Ltd. Mass storage system and method of operating using consistency checkpoints and destaging
US8667236B2 (en) * 2010-09-29 2014-03-04 Hewlett-Packard Development Company, L.P. Host based write ordering for asynchronous replication
US9792941B2 (en) * 2011-03-23 2017-10-17 Stormagic Limited Method and system for data replication
CN102306115B (zh) * 2011-05-20 2014-01-08 华为数字技术(成都)有限公司 异步远程复制方法、***及设备
CN103092526B (zh) 2011-10-31 2016-03-30 国际商业机器公司 在存储设备间进行数据迁移的方法和装置
US8806281B1 (en) * 2012-01-23 2014-08-12 Symantec Corporation Systems and methods for displaying backup-status information for computing resources
JP6183876B2 (ja) * 2012-03-30 2017-08-23 日本電気株式会社 レプリケーション装置、レプリケーション方法及びプログラム
US20130339569A1 (en) * 2012-06-14 2013-12-19 Infinidat Ltd. Storage System and Method for Operating Thereof
US10318495B2 (en) * 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
CN103649901A (zh) * 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备

Also Published As

Publication number Publication date
WO2015010394A1 (zh) 2015-01-29
US9311191B2 (en) 2016-04-12
AU2013385792B2 (en) 2016-04-14
EP2849048A1 (en) 2015-03-18
RU2596585C2 (ru) 2016-09-10
EP2849048B1 (en) 2016-10-19
AU2016203273A1 (en) 2016-06-09
US20160188240A1 (en) 2016-06-30
AU2013385792A1 (en) 2015-02-12
EP2849048A4 (en) 2015-05-27
WO2015010327A1 (zh) 2015-01-29
CN103649901A (zh) 2014-03-19
NO3179359T3 (es) 2018-08-04
KR101602312B1 (ko) 2016-03-21
ES2666580T3 (es) 2018-05-07
HUE037094T2 (hu) 2018-08-28
CA2868247A1 (en) 2015-01-26
EP3179359A1 (en) 2017-06-14
JP2015527670A (ja) 2015-09-17
EP3179359B1 (en) 2018-03-07
RU2014145359A (ru) 2016-05-27
KR20150035507A (ko) 2015-04-06
US10108367B2 (en) 2018-10-23
DK3179359T3 (en) 2018-06-14
JP2018041506A (ja) 2018-03-15
JP6344798B2 (ja) 2018-06-20
US20150113317A1 (en) 2015-04-23
CA2868247C (en) 2017-04-04

Similar Documents

Publication Publication Date Title
ES2610784T3 (es) Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
US11829607B2 (en) Enabling data integrity checking and faster application recovery in synchronous replicated datasets
US10795788B2 (en) Remote data replication method and system
US10599357B2 (en) Method and system for managing storage system
CN109213618B (zh) 用于管理存储***的方法、设备和计算机程序产品
US11099934B2 (en) Data rebuilding
ES2669274T3 (es) Método de réplica de datos y sistema de almacenamiento
US9921910B2 (en) Virtual chunk service based data recovery in a distributed data storage system
ES2658993T3 (es) Sistemas y métodos para almacenamiento distribuido
US20180300212A1 (en) Method, device and computer readable storage media for rebuilding redundant array of independent disks
KR101758544B1 (ko) 비휘발성 메모리 시스템에서의 동기 미러링
ES2566947T3 (es) Localización de servicio de recuperación para un servicio
US9569122B2 (en) System, method and a non-transitory computer readable medium for transaction aware snapshot
US20140208012A1 (en) Virtual disk replication using log files
US9307011B2 (en) Synchronous mirroring of NVLog to multiple destinations (architecture level)
TW201911041A (zh) 用於儲存資料的系統以及方法
TWI510932B (zh) 塊儲存閘道模組、儲存中介系統、雲端儲存系統、提供對塊儲存的存取的方法、儲存中介方法與內容遞送裝置
CN109313538A (zh) 内联去重
US10423589B2 (en) Quick initialization of data regions in a distributed storage system
WO2019080370A1 (zh) 一种数据读写方法、装置和存储服务器
US10884886B2 (en) Copy-on-read process in disaster recovery
US20230068214A1 (en) Storage system
US9798638B2 (en) Systems and methods providing mount catalogs for rapid volume mount
US10013171B2 (en) Reducing stress on RAIDS under rebuild
US20180300252A1 (en) Method, device and computer-readable medium for storage management