ES2809174T3 - Método y dispositivo de procesamiento de datos - Google Patents
Método y dispositivo de procesamiento de datos Download PDFInfo
- Publication number
- ES2809174T3 ES2809174T3 ES17814595T ES17814595T ES2809174T3 ES 2809174 T3 ES2809174 T3 ES 2809174T3 ES 17814595 T ES17814595 T ES 17814595T ES 17814595 T ES17814595 T ES 17814595T ES 2809174 T3 ES2809174 T3 ES 2809174T3
- Authority
- ES
- Spain
- Prior art keywords
- server
- data
- instruction
- primary server
- servers
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
Un método para procesar datos, aplicado a un sistema de almacenamiento de datos que comprende un servidor primario y al menos dos servidores secundarios, el método que comprende: recibir (101) una solicitud de actualización de datos enviada por un usuario, en donde la solicitud de actualización de datos comprende actualizaciones de datos; enviar (102) una instrucción de actualización de registro por separado al servidor primario y los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro; caracterizado por que el método comprende, además: cuando se determina que la operación de actualización de registro se ha completado, enviar (103) una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos; determinar un segundo servidor secundario a partir de los al menos dos servidores secundarios; y cuando se determina que el segundo servidor secundario ha completado la operación de actualización de registro, enviar una instrucción de operación nula al segundo servidor secundario, en donde la instrucción de operación nula se utiliza para indicar al segundo servidor secundario que no realice operación alguna.
Description
DESCRIPCIÓN
Método y dispositivo de procesamiento de datos
La presente solicitud reivindica prioridad a la Solicitud de Patente China No. 201610444320.5, presentada el 20 de junio de 2016 y titulada "MÉTODO Y DISPOSITIVO DE PROCESAMIENTO DE DATOS".
CAMPO TÉCNICO
La presente divulgación se refiere al campo de las tecnologías informáticas y, en particular, a un método y un dispositivo de procesamiento de datos.
ANTECEDENTES
En un sistema de almacenamiento de datos distribuido, un servidor da servicio como servidor primario y otro servidor da servicio como servidor dependiente (en adelante denominado servidor secundario). El servidor primario puede proporcionar un servicio externo de lectura/escritura de datos. El servidor secundario mantiene la sincronización de datos con el servidor primario y cuando el servidor primario falla, el servidor secundario puede proporcionar el servicio externo de lectura/escritura de datos.
Por lo general, al recibir y almacenar datos, el servidor primario puede almacenar sincrónicamente los datos en el servidor secundario para garantizar la consistencia de datos entre el servidor primario y el servidor secundario. Sin embargo, en la práctica, debido a que hay un retraso de operación en la sincronización de datos entre el servidor primario y el servidor secundario, algunos datos en el servidor secundario pueden perderse, lo que no puede garantizar la consistencia de datos entre el servidor secundario y el servidor primario.
Para garantizar la consistencia de datos entre el servidor primario y el servidor secundario, en la tecnología existente, cuando los datos almacenados en el servidor primario se sincronizan con el servidor secundario, los datos se pueden sincronizar con una pluralidad de servidores secundarios. En otras palabras, se puede almacenar una pluralidad de copias de datos en el servidor primario. Cuando se pierden datos en un servidor secundario, los datos perdidos se pueden obtener desde los otros servidores secundarios. Como tal, cuando el servidor primario falla, la pluralidad de servidores secundarios puede proporcionar un servicio externo de lectura/escritura de datos.
Sin embargo, dado que es necesario almacenar la pluralidad de copias de datos en el servidor primario, se necesita una cantidad relativamente grande de recursos para el almacenamiento de datos.
CN 104657 382 describe un método para detectar la consistencia de los datos de los servidores MySQL maestros y esclavos. El método comprende los pasos de: configurar los motores de almacenamiento predeterminados de los servidores maestro y esclavo para que sean InnoDB; realizar una operación especial de la base de datos en el servidor maestro, en donde la operación debe escribirse en un archivo binlog del servidor maestro; determinar si la operación actual de la base de datos a ser escrita en el archivo binlog es la operación especial de la base de datos realizada mediante el servidor maestro mientras se escribe en el archivo binlog; si es así, exportar los datos del servidor maestro; determinar si la operación de la base de datos realizada actualmente es la operación especial de la base de datos mientras se lee e implementa el contenido del archivo binlog escrito en el servidor maestro a través de un servidor; si es así, exportar el servidor esclavo; determinar si los datos del servidor maestro exportados son los mismos que los datos del esclavo maestro exportados; si es así, determinar que los datos del servidor maestro exportados son consistentes con los datos del esclavo maestro exportados. Además, se describe un dispositivo para detectar la consistencia de datos de los servidores MySQL maestro y esclavo. La invención se define por las reivindicaciones adjuntas.
RESUMEN
En vista de esto, las implementaciones de la presente solicitud proporcionan un método y un dispositivo de procesamiento de datos, a fin de resolver un problema de que se necesita una cantidad relativamente grande de recursos para el almacenamiento de datos dado que se necesita una pluralidad de copias de los mismos datos almacenados en un sistema de almacenamiento de datos distribuido.
Una implementación de la presente solicitud proporciona un método de procesamiento de datos, donde el método se aplica a un sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuidos incluye un servidor primario y al menos dos servidores secundarios, y el método incluye: recibir una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos; enviar una instrucción de actualización de registro por separado al servidor primario y los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro; y cuando se determina que la operación de actualización de registro se ha completado, enviar una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario
en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Una implementación de la presente solicitud proporciona además un método de procesamiento de datos, donde el método se aplica a un sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuido incluye un servidor primario y al menos dos servidores secundarios, y el método incluye: recibir, por servidor primario, una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos; iniciar, mediante el servidor primario, una operación de actualización de registro en base a la solicitud de actualización de datos, y enviar una instrucción de actualización de registro por separado a los al menos dos servidores secundarios, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro; y al determinar que la operación de actualización de registro se ha completado, iniciando, mediante el servidor primario, una operación de almacenamiento de datos, y enviar una instrucción de almacenamiento de datos a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el primer servidor secundario realice, en base a las instrucciones de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Una implementación de la presente solicitud proporciona un dispositivo de procesamiento de datos, donde el dispositivo se aplica a un sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuido incluye un servidor primario y al menos dos servidores secundarios, y el dispositivo incluye una unidad de recepción y un unidad de envío. La unidad de recepción está configurada para recibir una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos; la unidad de envío está configurada para enviar una instrucción de actualización de registro por separado al servidor primario y los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro; y, al determinar que la operación de actualización de registro se ha completado, la unidad de envío está configurada para enviar una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a las instrucciones de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Una implementación de la presente solicitud proporciona además un dispositivo de procesamiento de datos, donde el dispositivo se aplica a un sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuido incluye un servidor primario y al menos dos servidores secundarios, y el dispositivo incluye una unidad de recepción y una unidad de envío. La unidad de recepción está configurada para recibir una solicitud de actualización de datos enviada mediante un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos; la unidad de envío está configurada para iniciar una operación de actualización de registro en base a la solicitud de actualización de datos y enviar una instrucción de actualización de registro a los al menos dos servidores secundarios, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro; y, al determinar que la operación de actualización de registro se ha completado, la unidad de envío está configurada para iniciar una operación de almacenamiento de datos y enviar una instrucción de almacenamiento de datos a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el primer servidor secundario realice, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Al menos una de las soluciones técnicas descritas anteriormente adoptadas en las implementaciones de la presente solicitud puede lograr los siguientes efectos beneficiosos: al recibir la solicitud de actualización de datos, el sistema de almacenamiento de datos distribuido puede enviar una instrucción de actualización de registro por separado al servidor primario y a los servidores secundarios, de modo que el servidor primario y los servidores secundarios realicen una operación de actualización de registro y envíen una instrucción de almacenamiento de datos al servidor primario y a uno de los servidores secundarios cuando se determina que la operación de actualización de registro se ha completado. Como tal, cuando se pierden datos en el servidor secundario, los datos perdidos se pueden restaurar utilizando el registro guardado previamente en el servidor primario y el servidor secundario, con el fin de garantizar la consistencia de datos entre el servidor primario y el servidor secundario, y solo el el servidor primario y uno de los servidores secundarios almacenan las actualizaciones de datos, reduciendo efectivamente así los recursos necesarios para el almacenamiento de datos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los dibujos adjuntos descritos aquí están destinados a proporcionar una mayor comprensión de la presente solicitud y constituyen una parte de la presente solicitud. Las implementaciones ilustrativas de la presente solicitud y las descripciones de las implementaciones ilustrativas están destinadas a describir la presente solicitud, y no constituyen limitaciones en la presente solicitud. Los dibujos adjuntos incluyen los siguientes diagramas::
la FIG. 1 es un diagrama de flujo esquemático que ilustra un método de procesamiento de datos, de acuerdo con una implementación de la presente solicitud;
la FIG. 2 es un diagrama de flujo esquemático que ilustra un método de procesamiento de datos, de acuerdo con una implementación de la presente solicitud;
la FIG. 3 es un diagrama esquemático que ilustra un procedimiento de determinación del servidor primario, de acuerdo con una implementación de la presente solicitud;
la FIG. 4 es un diagrama estructural esquemático que ilustra la resolución de problemas del servidor, de acuerdo con una implementación de la presente solicitud;
la FIG. 5 es un diagrama estructural esquemático que ilustra la resolución de problemas del servidor, de acuerdo con una implementación de la presente solicitud;
la FIG. 6 es un diagrama estructural esquemático que ilustra la resolución de problemas del servidor, de acuerdo con una implementación de la presente solicitud;
FIG. 7 es un diagrama estructural esquemático de un servidor en una sala de equipos local y un servidor en una sala de equipos remota, de acuerdo con una implementación de la presente solicitud;
la FIG. 8 es un diagrama estructural esquemático que ilustra un dispositivo de procesamiento de datos, de acuerdo con una implementación de la presente solicitud; y
la FIG. 9 es un diagrama estructural esquemático que ilustra un dispositivo de procesamiento de datos, de acuerdo con una implementación de la presente solicitud.
DESCRIPCIÓN DE IMPLEMENTACIONES
Por lo general, en un sistema de almacenamiento de base de datos distribuido, al recibir y almacenar actualizaciones de datos, un servidor primario puede almacenar sincrónicamente, en un servidor secundario, las actualizaciones de datos. Sin embargo, en la práctica, debido a que el servidor primario y el servidor secundario están ubicados en diferentes áreas, etc., existe un retardo durante la sincronización de datos entre el servidor primario y el servidor secundario. En otras palabras, después de que el servidor primario complete el almacenamiento de las actualizaciones de datos, es posible que el servidor secundario aún no haya completado el almacenamiento de las actualizaciones de datos. Como tal, si el servidor primario falla, el servidor secundario puede perder algunos datos.
En la tecnología existente, para garantizar que el servidor secundario no pierda datos (para ser específicos, para garantizar la consistencia de datos entre el servidor primario y el servidor secundario), los datos en el servidor primario pueden sincronizarse con una pluralidad de (al menos dos) servidores secundarios. Sin embargo, en comparación con el sistema original de almacenamiento de datos distribuido, es necesario almacenar una cantidad relativamente grande de copias de datos, lo que fácilmente causa un desperdicio de recursos.
En la práctica, en aras de la seguridad del sistema, antes de almacenar las actualizaciones de datos, el servidor primario (o el servidor secundario) primero debe realizar la actualización de registro, y luego el servidor primario (o el servidor secundario) almacena las actualizaciones de datos. Como tal, se puede garantizar la consistencia entre los datos almacenados en el servidor primario (o el servidor secundario) y el registro. Cuando el servidor primario (o el servidor secundario) no puede almacenar los datos, los datos pueden restaurarse utilizando el registro almacenado previamente.
Se puede ver que, en el sistema de almacenamiento de datos distribuido, antes de que el servidor primario sincronice las actualizaciones de datos, si el servidor primario y el servidor secundario primero realizan la actualización de registro y luego almacenan las actualizaciones de datos, cuando los datos almacenados en el servidor secundario se pierden, los datos perdidos pueden restaurarse utilizando el registro almacenado previamente. Como tal, la consistencia de registro entre el servidor primario y el servidor secundario garantiza la consistencia de datos entre el servidor primario y el servidor secundario, de modo que el número de copias de las actualizaciones de datos se puede reducir cuando se almacenan los datos.
En base a la idea anterior, en las soluciones técnicas proporcionadas en la presente implementación de la presente solicitud, se puede reducir el número de copias de los datos mientras se asegura la consistencia de los datos entre el servidor primario y el servidor secundario, reduciendo así los recursos necesarios para almacenamiento de datos.
Para lograr el propósito de la presente solicitud, las implementaciones de la presente solicitud proporcionan un método y un dispositivo de procesamiento de datos. El método se aplica a un sistema de almacenamiento de datos distribuido, y el sistema de almacenamiento de datos distribuidos incluye un servidor primario y al menos dos servidores secundarios. El método incluye: recibir una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos; enviar una instrucción de actualización de registro por separado al servidor primario y a los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro; y al determinar que la operación de actualización de registro se ha completado, enviar una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Al recibir la solicitud de actualización de datos, el sistema de almacenamiento de datos distribuido puede enviar una instrucción de actualización de registro por separado al servidor primario y a los servidores secundarios, de modo que el servidor primario y los servidores secundarios realicen una operación de actualización de registro y envíen una instrucción de almacenamiento de datos a el servidor primario y uno de los servidores secundarios cuando se determina que la operación de actualización de registro se ha completado. Como tal, cuando se pierden datos en el servidor secundario, los datos perdidos se pueden restaurar utilizando el registro almacenado previamente en el servidor primario y el servidor secundario, con el fin de garantizar la consistencia de datos entre el servidor primario y el servidor secundario, y solo el el servidor primario y uno de los servidores secundarios almacenan las actualizaciones de datos, reduciendo efectivamente así los recursos necesarios para el almacenamiento de datos.
Vale la pena señalar que las soluciones técnicas proporcionadas en las presentes implementaciones de la presente solicitud pueden basarse en un protocolo de consistencia distribuido y aplicarse a un sistema de almacenamiento de datos distribuido en base al protocolo de consistencia distribuido. El protocolo de consistencia distribuido puede ser el protocolo de Paxos u otros protocolos de consistencia, lo cual no está limitado.
El sistema de almacenamiento de datos distribuido basado en el protocolo de consistencia distribuido puede incluir el servidor primario y los al menos dos servidores secundarios. El servidor primario puede estar configurado para proporcionar un servicio externo de lectura/escritura de datos, y después de que el servidor primario falla, los al menos dos servidores secundarios pueden proporcionar el servicio externo de lectura/escritura de datos.
Lo siguiente describe clara y exhaustivamente las soluciones técnicas en la presente solicitud con referencia a las implementaciones específicas de la presente solicitud y correspondientes los dibujos adjuntos. Aparentemente, las implementaciones descritas son simplemente algunas, en lugar de todas, las implementaciones de la presente solicitud. Otras implementaciones obtenidas sin esfuerzos creativos por un experto en la técnica en base a las implementaciones de la presente solicitud caerán dentro del alcance de protección de la presente solicitud.
Las soluciones técnicas proporcionadas en las implementaciones de la presente solicitud se describen en detalle a continuación con referencia a los dibujos adjuntos.
Implementación 1
la FIG. 1 es un diagrama de flujo esquemático que ilustra un método de procesamiento de datos, de acuerdo con una implementación de la presente solicitud. El método se describe a continuación. Un cuerpo de ejecución en la presente implementación de la presente solicitud puede ser un sistema de almacenamiento de datos distribuido basado en un protocolo de consistencia distribuido (en adelante denominado el sistema de almacenamiento de datos distribuido).
Paso 101: Recibir una solicitud de actualización de datos enviada por un usuario.
La solicitud de actualización de datos incluye actualizaciones de datos.
En el paso 101, después de iniciar una solicitud de servicio y recibir un mensaje de respuesta, el usuario puede enviar la solicitud de actualización de datos al sistema de almacenamiento de datos distribuido. En este momento, el sistema de almacenamiento de datos distribuido puede recibir la solicitud de actualización de datos enviada por el usuario.
En la presente implementación de la presente solicitud, la solicitud de servicio iniciada por el usuario puede ser una solicitud de pago, una solicitud de agregar amigo u otra solicitud de servicio, lo cual no está limitado aquí.
El usuario envía la solicitud de actualización de datos al sistema de almacenamiento de datos distribuido, la solicitud de actualización de datos puede incluir las actualizaciones de datos, y la solicitud de actualización de datos se utiliza para solicitar al sistema de almacenamiento de datos distribuido que almacene las actualizaciones de datos.
Por ejemplo, el usuario inicia una solicitud de pago en una plataforma de pago, la plataforma de pago puede responder a la solicitud de pago enviada por el usuario y, después de recibir un mensaje de respuesta, el usuario puede enviar la solicitud de actualización de datos al sistema de almacenamiento de datos distribuido. La solicitud de actualización de datos incluye datos que están relacionados con la solicitud de pago y que deben actualizarse, y la solicitud de actualización de datos se utiliza para solicitar al sistema de almacenamiento de datos distribuido que almacene los datos que están relacionados con la solicitud de pago y que deben actualizarse.
Paso 102: Enviar una instrucción de actualización de registro por separado al servidor primario y a los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro.
En el paso 102, al recibir la solicitud de actualización de datos enviada por el usuario, el sistema de almacenamiento de datos distribuido puede enviar la instrucción de actualización de registro por separado al servidor primario y a los al menos dos servidores secundarios en el sistema de almacenamiento de datos distribuido en base a la solicitud de
datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro.
Vale la pena señalar que, en la práctica, antes de que el sistema de almacenamiento de datos distribuido reciba la solicitud de actualización de datos, es decir, cuando los datos almacenados en el sistema de almacenamiento de datos distribuido están vacíos, el sistema de almacenamiento de datos distribuido necesita determinar un servidor primario, y el servidor primario determinado proporciona el servicio externo de lectura/escritura de datos.
El servidor primario puede determinarse por el sistema de almacenamiento de datos distribuido en base a una regla aleatoria, o el servidor primario puede determinarse, en una elección (la elección aquí puede celebrarse por una pluralidad de servidores basados en el protocolo de consistencia distribuido) , de la pluralidad de servidores incluidos en el sistema de almacenamiento de datos distribuido, o un servidor en el sistema de almacenamiento de datos distribuido puede seleccionarse como el servidor primario en base a un caso real. El método para determinar el servidor primario no está limitado aquí.
Después de determinar el servidor primario, otro servidor en el sistema de almacenamiento de datos distribuido puede dar servicio como servidor secundario. En la presente implementación de la presente solicitud hay al menos dos servidores secundarios.
Después de determinar el servidor primario y el servidor secundario, el sistema de almacenamiento de datos distribuido puede enviar la instrucción de actualización de registro al servidor primario cuando recibe la instrucción de actualización de datos, de modo que el servidor primario realiza la operación de actualización de registro en base a la instrucción de actualización de registro.
Al enviar la instrucción de actualización de registro al servidor primario, el sistema de almacenamiento de datos distribuido puede enviar sincrónicamente la instrucción de actualización de registro a los al menos dos servidores secundarios, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro.
Vale la pena señalar que, cuando la instrucción de actualización de registro se envía a los al menos dos servidores secundarios, la instrucción de actualización de registro se puede enviar a cada uno de los al menos dos servidores secundarios; o se pueden seleccionar varios (al menos dos) servidores secundarios de los al menos dos servidores secundarios, y la instrucción de actualización de registro se envía a los varios servidores secundarios seleccionados, lo cual no está limitado.
Por ejemplo, si el sistema de almacenamiento de datos distribuido incluye dos servidores secundarios, la instrucción de actualización de registro puede enviarse por separado a los dos servidores secundarios; o, si el sistema de almacenamiento de datos distribuido incluye cuatro servidores secundarios, la instrucción de actualización de registro puede enviarse a dos de los servidores secundarios, o la instrucción de actualización de registro puede enviarse a tres cualesquiera de los servidores secundarios, o la instrucción de actualización de registro también puede enviarse por separado a los cuatro servidores secundarios, lo cual no está limitado.
En la presente implementación de la presente solicitud, para proporcionar una descripción de ejemplo, la instrucción de actualización de registro se puede enviar a cada uno de los al menos dos servidores secundarios.
Al recibir la instrucción de actualización de registro, el servidor primario y los al menos dos servidores secundarios pueden realizar la operación de actualización de registro en base a la instrucción de actualización de registro.
Paso 103: cuando se determina que la operación de actualización de registro se ha completado, enviar una instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
En el paso 103, al determinar que la operación de actualización de registro se ha completado, el sistema de almacenamiento de datos distribuido puede seleccionar uno de los al menos dos servidores secundarios como el primer servidor secundario y enviar la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario, de modo que el servidor primario y el primer servidor secundario almacenen las actualizaciones de datos.
En la presente implementación de la presente solicitud, al menos en los dos casos siguientes, se puede determinar que la operación de actualización de registro se ha completado. Los dos casos son los siguientes:
El primer caso: al determinar que el servidor primario ha completado la operación de actualización de registro, se determina que la operación de actualización de registro se ha completado.
El segundo caso: cuando se determina que el servidor primario y al menos un servidor secundario en los al menos dos servidores secundarios completan la operación de actualización del registro, se determina que la operación de actualización de registro se ha completado.
En el primer caso, en la práctica, debido a que el servidor primario está configurado para proporcionar el servicio externo de lectura/escritura de datos, al determinar si se ha completado la operación de actualización de registro, el sistema de almacenamiento de datos distribuido debe determinar primero si el servidor primario ha completado el registro actualización, y puede determinar que la operación de actualización de registro se ha completado al determinar que el servidor primario ha completado la operación de actualización de registro.
En el segundo caso, para garantizar la consistencia de registro entre el servidor primario y el servidor secundario, una vez que se ha determinado que el servidor primario ha completado la operación de actualización de registro, se puede determinar también si los al menos dos servidores secundarios han completado la operación de actualización de registro. En este momento, si el al menos un servidor secundario en los al menos dos servidores secundarios ha completado la operación de actualización de registro, puede indicar la consistencia de registro entre el servidor primario y el servidor secundario. En otras palabras, se puede determinar que la operación de actualización de registro se ha completado.
Como tal, después de determinarse que la operación de actualización de registro se ha completado, uno de los al menos dos servidores secundarios se puede seleccionar como el primer servidor secundario y la instrucción de almacenamiento de datos se envía por separado al servidor primario y al primer servidor secundario, de modo que el servidor primario y el primer servidor secundario realicen la operación de almacenamiento en las actualizaciones de datos.
En la presente implementación de la presente solicitud, la instrucción de almacenamiento de datos se puede enviar por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios en base a los dos casos anteriores.
En el primer caso, la instrucción de almacenamiento de datos se envía por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios, lo que incluye: cuando se determina que el servidor primario ha completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al servidor primario, y después de que la instrucción de almacenamiento de datos se envía al servidor primario y se determina que al menos un servidor en los al menos dos servidores secundarios ha completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al primer servidor secundario en los al menos dos servidores secundarios.
Cuando se determina que el servidor primario ha completado la operación de actualización de registro, la instrucción de almacenamiento de datos se puede enviar al servidor primario, y el servidor primario puede recibir la instrucción de almacenamiento de datos y realizar, en base a la instrucción de almacenamiento de datos, la operación de almacenamiento en las actualizaciones de datos.
En este momento, también se puede determinar si los al menos dos servidores secundarios han completado la operación de actualización de registro. Si al menos un servidor secundario ha completado la operación de actualización de registro, uno de los al menos dos servidores secundarios se puede seleccionar como el primer servidor secundario y la instrucción de almacenamiento de datos se envía al primer servidor secundario.
En el segundo caso, la instrucción de almacenamiento de datos se envía por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios, lo que incluye: cuando se determina que el servidor primario y el al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios.
Cuando se determina que el servidor primario y al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, uno de los al menos dos servidores secundarios puede seleccionarse como el primer servidor secundario, y la instrucción de almacenamiento de datos se envía por separado al servidor primario y al primer servidor secundario.
Vale la pena señalar que, en los dos casos descritos anteriormente, cuando uno de los al menos dos servidores secundarios se selecciona como el primer servidor secundario, un servidor secundario se puede seleccionar aleatoriamente como el primer servidor secundario de los servidores que reciben las instrucciones de operación de actualización de registro, o se puede seleccionar un servidor secundario como el primer servidor secundario en base a un caso real, lo cual no está limitado.
Después de que el sistema de almacenamiento de datos distribuido envíe la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios, el
servidor primario y el primer servidor secundario pueden recibir la instrucción de almacenamiento de datos y realizar, en base a instrucción de almacenamiento de datos, la operación de almacenamiento en las actualizaciones de datos.
En la práctica, pueden predeterminarse algunos servidores secundarios en el sistema de almacenamiento de datos distribuido que no realizan la operación de almacenamiento en las actualizaciones de datos. Como tal, al recibir la solicitud de actualización de datos, el sistema de almacenamiento de datos distribuido no puede enviar la instrucción de almacenamiento de datos a estos servidores secundarios determinados.
Opcionalmente, el método incluye, además: determinar un segundo servidor secundario a partir de los al menos dos servidores secundarios, y cuando se determina que el segundo servidor secundario ha completado la operación de actualización de registro, enviar una instrucción de operación nula al segundo servidor secundario, donde la instrucción de operación nula se utiliza para indicar al segundo servidor secundario que no realice operación alguna.
En la presente implementación de la presente solicitud, cuando se envía, la instrucción de actualización de registro se puede enviar por separado a los al menos dos servidores secundarios. Sin embargo, cuando se determina que la operación de actualización de registro se ha completado, la instrucción de almacenamiento de datos se envía a uno de los al menos dos servidores secundarios. Por lo tanto, el segundo servidor secundario se puede determinar a partir de los al menos dos servidores secundarios, y cuando se determina que el segundo servidor secundario ha completado la operación de actualización de registro, la instrucción de operación nula se envía al segundo servidor secundario, de modo que el segundo servidor secundario no realiza operación alguna. En otras palabras, el segundo servidor secundario no almacena las actualizaciones de datos. Como tal, se puede reducir el número de copias de las actualizaciones de datos.
Vale la pena señalar que “segundo” en el segundo servidor secundario y “primero” en el primer servidor secundario descritos anteriormente están destinados simplemente a distinguir diferentes servidores secundarios y no tienen cualquier otro significado especial.
En la presente implementación de la presente solicitud, cuando se determina, el segundo servidor secundario se puede determinar mientras se determina el servidor primario, o el segundo servidor secundario se puede determinar mientras se envía la instrucción de actualización de registro, o el segundo servidor secundario se puede determinar mientras se envía la instrucción de almacenamiento de datos, lo cual no está limitado.
Como tal, los al menos dos servidores secundarios pueden incluir un primer servidor secundario y al menos un segundo servidor secundario. Por ejemplo, si el sistema de almacenamiento de datos distribuido incluye dos servidores secundarios, se incluyen un primer servidor secundario y un segundo servidor secundario; o si el sistema de almacenamiento de datos distribuido incluye tres servidores secundarios, se incluyen un primer servidor secundario y dos segundos servidores secundarios.
Al enviar la instrucción de almacenamiento de datos, el sistema de almacenamiento de datos distribuido envía la instrucción de almacenamiento de datos solo al servidor primario y al primer servidor secundario. Como tal, el servidor primario y el primer servidor secundario almacenan las actualizaciones de datos, y el segundo servidor secundario no almacena las actualizaciones de datos, reduciendo así los recursos necesarios para el almacenamiento de datos.
Además, en la presente implementación actual de la presente solicitud, cuando falla cualquier servidor (el servidor primario o el servidor secundario) en el sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuido puede proporcionar el servicio externo de lectura/escritura de datos al tiempo que garantiza la consistencia de datos entre el servidor primario y el servidor secundario.
En el sistema de almacenamiento de datos distribuido, existen al menos los siguientes casos de fallas:
El primer caso de falla: el servidor primario falla.
El segundo caso de falla: el primer servidor secundario falla.
El tercer caso de falla: el segundo servidor secundario falla.
Específico para los tres casos de fallas anteriores, lo siguiente describe por separado cómo el sistema de almacenamiento de datos distribuido proporciona el servicio de datos externo al tiempo que garantiza la consistencia de datos.
En el primer caso de falla y el segundo caso de falla, el sistema de almacenamiento de datos distribuido realiza la siguiente operación: cuando se determina que el servidor primario o el primer servidor secundario falla, determinar un tercer servidor secundario y enviar una instrucción de sincronización de datos al tercer servidor secundario, de modo que el tercer servidor secundario complete, en base a la instrucción de sincronización de datos, la sincronización de datos con un servidor que no falla y que almacena los datos.
En el primer caso de falla, los detalles son los siguientes:
Cuando se determina que el servidor primario falla, debido a que el primer servidor secundario almacena datos, el primer servidor secundario puede dar servicio como un nuevo servidor primario y el primer servidor secundario proporciona el servicio externo de lectura/escritura de datos. En este momento, si se produce una pérdida de datos en el primer servidor secundario en comparación con el servidor primario, los datos perdidos se pueden restaurar utilizando el registro almacenado en el primer servidor secundario y/o el registro almacenado en el segundo servidor secundario.
Además, es necesario realizar una copia de seguridad de los datos almacenados en el primer servidor secundario. Por lo tanto, es necesario determinar un tercer servidor secundario y se realiza una copia de seguridad de los datos almacenados en el primer servidor secundario.
Cuando se determina el tercer servidor secundario, se puede seleccionar un servidor secundario como el tercer servidor secundario de otros servidores secundarios incluidos en los al menos dos servidores secundarios, o se puede determinar un nuevo servidor como el tercer servidor secundario, lo cual no está limitado.
Después de determinar el tercer servidor secundario, se puede enviar una instrucción de sincronización de datos al tercer servidor, de modo que el tercer servidor secundario complete, en base a la instrucción de sincronización de datos, la sincronización de datos con un servidor que no falla y que almacena los datos. Aquí, el servidor que no falla y que almacena los datos puede ser el primer servidor secundario, y el tercer servidor secundario ha completado la sincronización de datos con el primer servidor secundario.
Vale la pena señalar que “tercero” en el tercer servidor secundario está destinado a distinguir del primer servidor secundario y del segundo servidor secundario, y no tiene otro significado especial.
Opcionalmente, para garantizar la consistencia de registro entre el primer servidor secundario, el segundo servidor secundario y el tercer servidor secundario en base al protocolo de consistencia distribuido, se puede enviar también una instrucción de sincronización de registro al tercer servidor secundario, de modo que el tercer servidor secundario realice una operación de sincronización de registro en base al registro almacenado en el primer servidor secundario.
En el segundo caso de falla, los detalles son los siguientes:
Cuando se determina que el primer servidor secundario falla, el servidor primario aún puede proporcionar el servicio de datos externo. Sin embargo, debido a que el primer servidor secundario falla, se debe determinar un nuevo servidor secundario y se realiza una copia de seguridad de los datos almacenados en el servidor primario.
El método para determinar el nuevo servidor secundario es el mismo que el método descrito anteriormente para determinar el tercer servidor secundario. Los detalles se omiten aquí por simplicidad.
Una vez que se determina el nuevo servidor secundario, se puede enviar una instrucción de sincronización de datos al nuevo servidor secundario, de modo que el nuevo servidor secundario complete, en base a la instrucción de sincronización de datos, la sincronización de datos con un servidor que no falla y que almacena los datos. Aquí, el servidor que no falla y que almacena los datos puede ser el servidor primario, y el nuevo servidor secundario ha completado la sincronización de datos con el servidor primario.
Opcionalmente, para garantizar la consistencia de registro entre el servidor primario, el segundo servidor secundario y el nuevo servidor secundario en base al protocolo de consistencia distribuido, se puede enviar también una instrucción de sincronización de registro al nuevo servidor secundario, de modo que el nuevo servidor secundario realice una operación de sincronización de registro en base al registro almacenado en el servidor primario.
En el tercer caso de falla, cuando se determina que el segundo servidor secundario falla, determinar un cuarto servidor secundario y enviar una instrucción de sincronización de registro al cuarto servidor secundario, de modo que el cuarto servidor secundario complete, en base a la instrucción de sincronización de registro, la sincronización de registro con un servidor que no falla.
Cuando se determina que el segundo servidor secundario falla, el servidor primario aún puede proporcionar el servicio externo de lectura/escritura de datos, y el primer servidor secundario puede hacer una copia de seguridad de los datos almacenados en el servidor primario. Sin embargo, en este momento, para garantizar la consistencia de registro entre el servidor primario y el primer servidor secundario en base al protocolo de consistencia distribuido, es necesario determinar un cuarto servidor secundario.
El método para determinar el cuarto servidor secundario es el mismo que el método descrito anteriormente para determinar el tercer servidor secundario. Los detalles se omiten aquí por simplicidad.
Una vez que se determina el cuarto servidor secundario, se puede enviar una instrucción de sincronización de registro al cuarto servidor secundario, de modo que después de recibir la instrucción de sincronización de registro, el cuarto servidor secundario ha completado, en base a la instrucción de sincronización de registro, la sincronización de registro con el servidor que no falla.
Aquí, el servidor que no falla puede ser otro servidor que no sea el segundo servidor secundario, o puede ser el servidor primario, el primer servidor secundario u otro servidor que complete la operación de actualización de registro, lo cual no está limitado.
“Cuarto” en el cuarto servidor secundario está destinado a distinguir del primer servidor secundario, del segundo servidor secundario y del tercer servidor secundario, y no tiene otro significado especial.
Vale la pena señalar que, dado que el segundo servidor secundario no almacena datos, después de determinar el cuarto servidor secundario, no es necesario enviar una instrucción de sincronización de datos al cuarto servidor secundario.
En las soluciones técnicas proporcionadas en la presente implementación de la presente solicitud, cuando se recibe la solicitud de actualización de datos, la instrucción de actualización de registro se puede enviar por separado al servidor primario y a los servidores secundarios, de modo que el servidor primario y los servidores secundarios realicen la operación de actualización de registro, y la instrucción de almacenamiento de datos se envía al servidor primario y a uno de los servidores secundarios cuando se determina que la operación de actualización de registro se ha completado. Como tal, cuando se pierden datos en el servidor secundario, los datos perdidos se pueden restaurar utilizando el registro almacenado previamente en el servidor primario y el servidor secundario, con el fin de garantizar la consistencia de datos entre el servidor primario y el servidor secundario, y solo en el servidor primario y uno de los servidores secundarios almacenan las actualizaciones de datos, reduciendo efectivamente así los recursos necesarios para el almacenamiento de datos.
Implementación 2
la FIG. 2 es un diagrama de flujo esquemático que ilustra un método de procesamiento de datos, de acuerdo con una implementación de la presente solicitud. El método se describe a continuación. Un cuerpo de ejecución de la presente implementación de la presente solicitud puede ser un servidor primario en un sistema de almacenamiento de datos distribuido basado en un protocolo de consistencia.
Paso 201: El servidor primario recibe una solicitud de actualización de datos enviada por un usuario.
La solicitud de actualización de datos incluye actualizaciones de datos.
En el paso 201, después de iniciar una solicitud de servicio y recibir un mensaje de respuesta, el usuario puede enviar la solicitud de actualización de datos al servidor primario en el sistema de almacenamiento de datos distribuido. En este momento, el servidor primario en el sistema de almacenamiento de datos distribuido puede recibir la solicitud de actualización de datos enviada por el usuario.
En la presente implementación de la presente solicitud, el servidor primario se determina cuando los datos almacenados en el sistema de almacenamiento de datos distribuido están vacíos. El método para determinar el servidor primario es el mismo que el descrito en la Implementación 1 anterior. Los detalles se omiten aquí por simplicidad.
Paso 202: el servidor primario inicia una operación de actualización de registro en base a la solicitud de actualización de datos y envía una instrucción de actualización de registro a los al menos dos servidores secundarios, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro.
En el paso 202, al recibir la solicitud de actualización de datos enviada por el usuario, el servidor primario puede iniciar la operación de actualización de registro y enviar la instrucción de actualización de registro a los al menos dos servidores secundarios en el sistema de almacenamiento de datos distribuido en base a la solicitud de datos, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro.
Al recibir la solicitud de actualización de datos, el servidor primario puede iniciar la operación de actualización de registro en base a la solicitud de actualización de datos, y también enviar la instrucción de actualización de registro a los al menos dos servidores secundarios en base a la solicitud de actualización de datos; o, al recibir la solicitud de actualización de datos, el servidor primario puede enviar la instrucción de actualización de registro a los al menos dos servidores secundarios en base a la solicitud de actualización de datos, e iniciar también la operación de actualización de registro en base a la solicitud de actualización de datos, lo cual no está limitado.
Después de que el servidor primario envía la instrucción de actualización de registro a los al menos dos servidores secundarios, los al menos dos servidores secundarios pueden recibir la instrucción de actualización de registro y realizar la operación de actualización de registro en base a la instrucción de actualización de registro.
Paso 203: Al determinar que la operación de actualización de registro se ha completado, el servidor primario inicia una operación de almacenamiento de datos y envía una instrucción de almacenamiento de datos a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el primer servidor secundario realice, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
En el paso 203, al determinar que la operación de actualización de registro se ha completado, el servidor primario puede iniciar la operación de almacenamiento de datos, seleccionar uno de los al menos dos servidores secundarios como primer servidor secundario y enviar la instrucción de almacenamiento de datos al primer servidor secundario, de modo que el servidor primario y el primer servidor secundario almacenen las actualizaciones de datos.
El servidor primario puede determinar, al menos en los dos casos siguientes, que la operación de actualización de registro se ha completado. Los dos casos son los siguientes:
El primer caso: al determinar que el servidor primario completa la operación de actualización de registro, se determina que la operación de actualización de registro se ha completado.
El segundo caso: cuando se determina que el servidor primario y al menos un servidor secundario en los al menos dos servidores secundarios completan la operación de actualización del registro, se determina que la operación de actualización de registro se ha completado.
Después de determinar que la operación de actualización de registro se ha completado, el servidor primario puede iniciar la operación de almacenamiento de datos, de modo que el servidor primario proporciona un servicio externo de lectura/escritura de datos. En este momento, el servidor primario también puede seleccionar uno de los al menos dos servidores secundarios como un primer servidor secundario y enviar la instrucción de almacenamiento de datos al primer servidor secundario, de modo que el primer servidor secundario realice, en base a la instrucción de almacenamiento de datos, la operación de almacenamiento de datos en las actualizaciones de datos.
El servidor primario puede iniciar la operación de almacenamiento de datos antes de enviar la instrucción de almacenamiento de datos, o puede iniciar la operación de almacenamiento de datos después de enviar la instrucción de almacenamiento de datos, lo cual no está limitado.
Como tal, después de recibir la solicitud de actualización de datos, el servidor primario puede enviar la instrucción de actualización de registro al primer servidor secundario y al segundo servidor secundario, y al determinar que la operación de actualización de registro se ha completado, el servidor primario realiza la operación de almacenamiento de datos y envía la instrucción de almacenamiento de datos al primer servidor secundario. Como tal, cuando se pierden datos en el primer servidor secundario, los datos perdidos se pueden restaurar en base al registro almacenado previamente en el servidor primario y/o al registro almacenado previamente en el primer servidor secundario y/o al registro almacenado previamente en el segundo servidor secundario, con el fin de garantizar la consistencia de datos entre el servidor primario y el primer servidor secundario. Además, solo el servidor primario y el primer servidor secundario almacenan las actualizaciones de datos, reduciendo así los recursos necesarios para el almacenamiento de datos.
Implementación 3
A continuación, se utiliza un sistema de almacenamiento de datos distribuido que incluye tres servidores (un servidor primario y dos servidores secundarios) como descripción de ejemplo de soluciones técnicas proporcionadas en la presente implementación de la presente solicitud. Un cuerpo de ejecución de la presente implementación de la presente solicitud puede ser un servidor primario.
Paso 1: Determinar el servidor primario, un primer servidor secundario y un segundo servidor secundario del sistema de almacenamiento de datos distribuido.
Cuando los datos almacenados en el sistema de almacenamiento de datos distribuido están vacíos, el servidor primario y los dos servidores secundarios pueden determinarse a partir del sistema de almacenamiento de datos distribuido. Para facilitar la distinción, los dos servidores secundarios pueden denominarse respectivamente el primer servidor secundario y el segundo servidor secundario.
En la presente implementación de la presente solicitud, el servidor primario puede almacenar las actualizaciones de datos y proporcionar un servicio externo de lectura/escritura de datos. El primer servidor secundario puede almacenar las actualizaciones de datos y el segundo servidor secundario no almacena las actualizaciones de datos.
En la presente implementación de la presente solicitud, no está limitada una secuencia de determinación del servidor primario, del primer servidor secundario y del segundo servidor secundario.
A continuación, se utiliza una descripción de ejemplo de una secuencia de determinación del segundo servidor secundario, del servidor primario y del primer servidor secundario.
Primero, se determina el segundo servidor secundario.
Cuando se determina, el segundo servidor secundario se puede determinar en base a un protocolo de consistencia distribuido, a saber, el protocolo Paxos, en un método de elección celebrada mediante los tres servidores incluidos en el sistema de almacenamiento de datos distribuido.
Cuando se determina el segundo servidor secundario, un servidor se puede seleccionar aleatoriamente como el segundo servidor secundario o el segundo servidor secundario se determina en base a un caso real. Aquí, no está limitado un método para determinar el segundo servidor secundario.
En segundo lugar, se determina el servidor primario.
Una vez que se determina el segundo servidor secundario, el servidor primario se puede determinar en base al protocolo de consistencia distribuido, es decir, el protocolo Paxos, en un método de elección celebrado mediante el segundo servidor secundario y los dos servidores restantes en el sistema de almacenamiento de datos distribuido. Vale la pena señalar que, cuando el servidor primario se determina en el método de elección, ni el segundo servidor secundario ni los otros dos servidores pueden elegir el segundo servidor secundario como el servidor primario. Haciendo referencia a la FIG. 3, la FIG. 3 es un diagrama esquemático que ilustra un procedimiento de determinación del servidor primario, de acuerdo con una implementación de la presente solicitud.
Se puede observar en la FIG. 3 que después de determinarse el segundo servidor C secundario en el método de elección, el servidor A, el servidor B y el segundo servidor C secundario pueden determinar el servidor primario en el método de elección. El servidor A puede elegir el servidor A o el servidor B como el servidor primario, pero no puede elegir el segundo servidor C secundario como el servidor primario. El servidor B puede elegir el servidor B o el servidor A como servidor primario, pero no puede elegir el segundo servidor C secundario como el servidor primario. El segundo servidor C secundario no puede elegir el segundo servidor C secundario como el servidor primario, pero puede elegir el servidor A o el servidor B como el servidor primario.
Al determinar el servidor primario, uno de los dos servidores que no sea el segundo servidor secundario puede seleccionarse aleatoriamente como el servidor primario, o un servidor puede seleccionarse como el servidor primario en base a un caso real, lo cual no está limitado.
Finalmente, se determina el primer servidor secundario.
Después de determinar el segundo servidor secundario y el servidor primario a partir de los tres servidores incluidos en el sistema de almacenamiento de datos distribuido, el servidor restante puede servir como el primer servidor secundario.
Paso 2: El servidor primario recibe una solicitud de actualización de datos enviada por un usuario.
La solicitud de actualización de datos incluye actualizaciones de datos.
Paso 3: El servidor primario envía una instrucción de actualización de registro al primer servidor secundario y al segundo servidor secundario, de modo que el primer servidor secundario y el segundo servidor secundario realizan una operación de actualización de registro en base a la instrucción de actualización de registro.
Después de que el servidor primario envíe la instrucción de actualización de registro al primer servidor secundario y al segundo servidor secundario, el primer servidor secundario y el segundo servidor secundario pueden recibir la instrucción de actualización de registro. En este momento, el servidor primario, el primer servidor secundario y el segundo servidor secundario pueden realizar actualizaciones de registro basadas en el protocolo de consistencia distribuido, es decir, el protocolo Paxos. Cuando se determina que el servidor primario y al menos uno del primer servidor secundario y del segundo servidor secundario han completado la operación de actualización de registro, se determina que la operación de actualización de registro se ha completado.
Paso 4: el servidor primario envía una instrucción de almacenamiento de datos al primer servidor secundario, de modo que el primer servidor secundario realiza, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Al determinar que la operación de actualización de registro se ha completado, el servidor primario puede realizar la operación de almacenamiento en las actualizaciones de datos y enviar la instrucción de almacenamiento de datos al primer servidor secundario. El primer servidor secundario puede recibir la instrucción de almacenamiento de datos. En este momento, si el primer servidor secundario ha completado la operación de actualización de registro, el primer servidor secundario puede realizar, en base a la instrucción de almacenamiento de datos, la operación de almacenamiento en las actualizaciones de datos; o, si el primer servidor secundario no ha completado la operación de actualización de registro, el primer servidor secundario necesita continuar realizando la operación de actualización de registro y, al completar la operación de actualización de registro, el primer servidor secundario puede realizar, en base a la instrucción de almacenamiento de datos recibida, la operación de almacenamiento en las actualizaciones de datos.
Como tal, al recibir la solicitud de actualización de datos, el servidor primario puede enviar la instrucción de actualización de registro al primer servidor secundario y al segundo servidor secundario, y al determinar que la operación de actualización de registro se ha completado, el servidor primario realiza la operación de almacenamiento de datos y envía la instrucción de almacenamiento de datos al primer servidor secundario. Como tal, solo el servidor primario y el primer servidor secundario almacenan las actualizaciones de datos, reduciendo así los recursos necesarios para el almacenamiento de datos.
En la presente implementación de la presente solicitud, cuando falla uno cualquiera del servidores primario, del primer servidor secundario y del segundo servidor secundario, el sistema de almacenamiento de datos distribuido puede proporcionar un servicio externo de lectura/escritura de datos al tiempo que garantiza la consistencia de datos.
Cuando el servidor primario falla, los detalles son los siguientes:
Como se muestra en la FIG. 4, cuando el servidor primario falla, el servidor primario no puede continuar proporcionando el servicio de lectura/escritura para un usuario y, en este momento, el primer servidor B secundario puede determinarse como un nuevo servidor primario, y el servidor D se determina como el nuevo primer servidor secundario. El primer servidor B secundario puede proporcionar el servicio de lectura/escritura de datos para el usuario y mantener la sincronización de registro con el segundo servidor C secundario. El servidor D obtiene una copia de datos por duplicación desde el primer servidor B secundario para completar la sincronización de datos con el primer servidor B secundario, y el servidor D realiza la operación de sincronización de registro para completar la sincronización de registro con el primer servidor B secundario.
Cuando falla el primer servidor secundario, los detalles son los siguientes:
Como se muestra en la FIG. 5, cuando el primer servidor secundario falla, el servidor A primario puede continuar proporcionando el servicio de lectura/escritura de datos para el usuario. En este momento, el servidor E se puede determinar como el nuevo primer servidor secundario. El servidor E obtiene una copia de datos por duplicación desde el servidor A primario para completar la sincronización de datos con el servidor A primario, y el servidor E realiza la operación de sincronización de registro para completar la sincronización de registro con el servidor A primario.
Cuando el segundo servidor secundario falla, los detalles son los siguientes:
Como se muestra en la FIG. 6, cuando el segundo servidor secundario falla, el servidor A primario puede continuar proporcionando el servicio de lectura/escritura de datos para el usuario. En este momento, el servidor F se puede determinar como el nuevo segundo servidor secundario, y el servidor F realiza la operación de sincronización de registro para completar la sincronización de registro con el servidor A primario.
En la práctica, puede haber un sistema de almacenamiento de datos distribuido remoto. En otras palabras, para los mismos datos, además del almacenamiento local de una copia de datos, se necesita el almacenamiento remoto de copias de datos, con el fin de mejorar la estabilidad del sistema de almacenamiento de datos distribuido. Para el sistema de almacenamiento de datos distribuido remoto, para reducir los recursos necesarios para el almacenamiento de datos, se pueden utilizar al menos tres servidores localmente, el servidor primario almacena las actualizaciones de datos y los otros servidores secundarios almacenan solo el registro (es decir, los otros servidores secundarios realizan solo la operación de actualización de registro); y se utilizan al menos tres servidores de forma remota, el servidor primario almacena una copia de datos de los datos en el servidor primario local y los otros servidores secundarios almacenan solo el registro (es decir, los otros servidores secundarios realizan solo la operación de actualización de registro).
Como se muestra en la FIG. 7, en una sala de equipos local, se pueden utilizar tres servidores etiquetados A, B y C, el servidor A es el servidor primario y almacena las actualizaciones de datos, y el servidor B y el servidor C son los servidores secundarios y realizan solo la operación de actualización de registro, pero no almacenan las actualizaciones de datos. En una sala de equipos remota, se pueden utilizar los servidores D, E y F, el servidor D es el servidor primario y almacena una copia de datos de los datos almacenados en el servidor A en la sala de equipos local, y el servidor E y el servidor F solo realizan la operación de actualización de registro, pero no almacenan las actualizaciones de datos.
Cuando el servidor A falla, el servidor D puede proporcionar el servicio externo de lectura/escritura de datos.
Cuando el servidor D falla, el servidor A aún puede continuar proporcionando el servicio externo de lectura/escritura de datos. En este momento, se necesita determinar un nuevo servidor primario en la sala de equipos remota. El nuevo servidor primario puede completar la sincronización de datos y la sincronización de registro con el servidor A.
Cuando cualquiera de los servidores B, C, E y F falla, el servidor A puede continuar proporcionando el servicio externo de lectura/escritura.
la FIG. 8 es un diagrama estructural esquemático que ilustra un dispositivo de procesamiento de datos, de acuerdo con una implementación de la presente solicitud. El dispositivo se aplica al sistema de almacenamiento de datos distribuido, el sistema de almacenamiento de datos distribuido incluye un servidor primario y al menos dos servidores secundarios, y el dispositivo incluye una unidad 81 de recepción, una unidad 82 de envío y una unidad 83 de determinación.
La unidad 81 de recepción está configurada para recibir una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos.
La unidad 82 de envío está configurada para enviar una instrucción de actualización de registro por separado al servidor primario y a los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registros en base a la instrucción de actualización de registro.
Al determinar que la operación de actualización de registro se ha completado, la unidad 82 de envío está configurada para enviar una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realizan, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
La unidad 82 de envío determina que la operación de actualización de registro se ha completado, lo que incluye: cuando se determina que el servidor primario ha completado la operación de actualización de registro, determinar que la operación de actualización de registro se ha completado; o cuando se determina que el servidor primario y al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, determinar que la operación de actualización de registro se ha completado.
La unidad 82 de envío envía la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios, que incluye: cuando se determina que el servidor primario ha completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al servidor primario, y después de que la instrucción de almacenamiento de datos se envía al servidor primario y se determina que el al menos un servidor en los al menos dos servidores secundarios ha completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al primer servidor secundario en los al menos dos servidores secundarios; o, cuando se determina que el servidor primario y el al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en al menos dos servidores secundarios.
Opcionalmente, el dispositivo de procesamiento de datos incluye además la unidad 83 de determinación.
La unidad 83 de determinación está configurada para determinar un segundo servidor secundario a partir de los al menos dos servidores secundarios, y enviar una instrucción de operación nula al segundo servidor secundario al determinar que el segundo servidor secundario ha completado la operación de actualización de registro, donde la instrucción de operación nula se utiliza para indicar al segundo servidor secundario que no realice operación alguna.
Opcionalmente, al determinar que el servidor primario o el primer servidor secundario falla, la unidad 83 de determinación está configurada para determinar un tercer servidor secundario y enviar una instrucción de sincronización de datos al tercer servidor secundario, de modo que el tercer servidor secundario ha completado, en base a la instrucción de sincronización de datos, la sincronización de datos con un servidor que no falla y que almacena los datos.
Opcionalmente, al determinar que el segundo servidor secundario falla, la unidad 83 de determinación está configurada para determinar un cuarto servidor secundario y enviar una instrucción de sincronización de registro al cuarto servidor secundario, de modo que el cuarto servidor secundario ha completado, en base a la instrucción de sincronización de registro, la sincronización de registro con el servidor que no falla.
la FIG. 9 es un diagrama estructural esquemático que ilustra un dispositivo de procesamiento de datos, de acuerdo con una implementación de la presente solicitud. El dispositivo se aplica al sistema de almacenamiento de datos
distribuido, el sistema de almacenamiento de datos distribuido incluye un servidor primario y al menos dos servidores secundarios, y el dispositivo incluye una unidad 91 de recepción y una unidad 92 de envío.
La unidad 91 de recepción está configurada para recibir una solicitud de actualización de datos enviada por un usuario, donde la solicitud de actualización de datos incluye actualizaciones de datos.
La unidad 92 de envío está configurada para iniciar una operación de actualización de registro en base a la solicitud de actualización de datos, y enviar una instrucción de actualización de registro a los al menos dos servidores secundarios, de modo que los al menos dos servidores secundarios realicen la operación de actualización de registro en base a la instrucción de actualización de registro.
Al determinar que la operación de actualización de registro se ha completado, la unidad 92 de envío está configurada para iniciar una operación de almacenamiento de datos y enviar una instrucción de almacenamiento de datos a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el primer servidor secundario realice, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos.
Un experto en la técnica debe comprender que las implementaciones de la presente solicitud pueden proporcionarse como un método, un sistema o un producto de programa informático. Por lo tanto, la presente solicitud puede utilizar implementaciones solo de hardware, implementaciones solo de software o implementaciones con una combinación de software y hardware. Además, la presente solicitud puede utilizar una forma de producto de programa informático que se implementa en uno o más medios de almacenamiento utilizables por computadora (que incluyen, pero no se limita a una memoria de disco magnético, un CD-ROM, una memoria óptica, etc.) que incluyen código de programa utilizable por computadora.
La presente solicitud se describe con referencia a los diagramas de flujo y/o diagramas de bloques del método, el dispositivo (sistema) y el producto del programa informático de acuerdo con las implementaciones de la presente solicitud. Debe entenderse que las instrucciones del programa de computadora pueden utilizarse para implementar cada procedimiento y/o cada bloque en los diagramas de flujo y/o los diagramas de bloques y una combinación de un procedimiento y/o un bloque en los diagramas de flujo y/o los diagramas de bloques. Estas instrucciones de programa informático se pueden proporcionar para una computadora de propósito general, una computadora dedicada, un procesador incorporado o un procesador de otro dispositivo de procesamiento de datos programable para generar una máquina, de modo que las instrucciones ejecutadas por la computadora o el procesador de otro dispositivo de procesamiento de datos programable se utilizan para generar un aparato para implementar una función especificada en uno o más procedimientos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques.
Estas instrucciones de programa informático se pueden almacenar en una memoria legible por computadora que puede instruir a la computadora u otro dispositivo de procesamiento de datos programable para que trabaje de una manera específica, de modo que las instrucciones almacenadas en la memoria legible por computadora se utilizan para generar un artefacto que incluya un aparato de instrucción. El aparato de instrucción implementa una función especificada en uno o más procedimientos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques.
Estas instrucciones de programa informático se pueden cargar en la computadora u otro dispositivo de procesamiento de datos programable, de modo que se realicen una serie de operaciones y pasos en la computadora u otro dispositivo programable, generando así el procesamiento implementado por computadora. Por lo tanto, las instrucciones ejecutadas en la computadora u otro dispositivo programable proporcionan pasos para implementar una función especificada en uno o más procedimientos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques.
En una configuración típica, un dispositivo informático incluye uno o más procesadores (CPU), una interfaz de entrada/salida, una interfaz de red y una memoria.
La memoria puede incluir una memoria no persistente, una RAM, una memoria no volátil y/u otra forma en un medio legible por computadora, por ejemplo, una ROM o una memoria flash (RAM flash). La memoria es un ejemplo del medio legible por computadora.
El medio legible por computadora incluye medios persistentes, no persistentes, móviles e inmóviles que pueden implementar el almacenamiento de información utilizando cualquier método o tecnología. La información puede ser una instrucción legible por computadora, una estructura de datos, un módulo de programa u otros datos. Un medio de almacenamiento de una computadora incluye, pero no se limita a una memoria de acceso aleatorio de cambio de fase (PRAM), una RAM estática (SRAM), una rA m dinámica (DRAM), una memoria de acceso aleatorio (RAM) de otro tipo, una memoria de solo lectura (ROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), una memoria flash u otro dispositivo de almacenamiento de memoria, una memoria de solo lectura de disco compacto (CD-ROM), un disco versátil digital (DVD) u otra memoria óptica, un cassette, un disco magnético u otro dispositivo de almacenamiento magnético o cualquier otro medio sin transmisión. El medio de almacenamiento de computadora
puede estar configurado para almacenar información accesible para un dispositivo informático. En base a la descripción en la presente memoria descriptiva, el medio legible por computadora no incluye medios transitorios legibles por computadora, tales como una señal de datos modulada y una portadora.
También vale la pena señalar que el término “incluye”, “comprende” o cualquier otra variante está destinado a cubrir la inclusión no exclusiva, de modo que un proceso, un método, un producto o un dispositivo que incluya una serie de los elementos no solo incluyen estos elementos, sino que también incluyen otros elementos que no están enumerados expresamente, o que además incluye elementos inherentes a dicho proceso, método, producto o dispositivo. Un elemento precedido por “incluye un...” no excluye, sin más restricciones, la existencia de elementos idénticos adicionales en el proceso, método, producto o dispositivo que incluye el elemento.
Un experto en la técnica debe comprender que las implementaciones de la presente solicitud pueden proporcionarse como un método, un sistema o un producto de programa informático. Por lo tanto, la presente solicitud puede utilizar implementaciones solo de hardware, implementaciones solo de software o implementaciones con una combinación de software y hardware. Además, la presente solicitud puede utilizar una forma de producto de programa informático que se implementa en uno o más medios de almacenamiento utilizables por computadora (que incluyen, entre otros, una memoria de disco magnético, un CD-ROM, una memoria óptica, etc.) que incluyen código de programa utilizable por computadora.
Las descripciones anteriores son meramente implementaciones de la presente solicitud y no están destinadas a limitar la presente solicitud. Un experto en la materia puede realizar diversas modificaciones y cambios a la presente solicitud.
Claims (10)
1. Un método para procesar datos, aplicado a un sistema de almacenamiento de datos que comprende un servidor primario y al menos dos servidores secundarios, el método que comprende:
recibir (101) una solicitud de actualización de datos enviada por un usuario, en donde la solicitud de actualización de datos comprende actualizaciones de datos;
enviar (102) una instrucción de actualización de registro por separado al servidor primario y los al menos dos servidores secundarios en base a la solicitud de actualización de datos, de modo que el servidor primario y los al menos dos servidores secundarios realicen una operación de actualización de registro en base a la instrucción de actualización de registro; caracterizado por que el método comprende, además: cuando se determina que la operación de actualización de registro se ha completado, enviar (103) una instrucción de almacenamiento de datos por separado al servidor primario y a un primer servidor secundario en los al menos dos servidores secundarios, de modo que el servidor primario y el primer servidor secundario realicen, en base a la instrucción de almacenamiento de datos, una operación de almacenamiento en las actualizaciones de datos;
determinar un segundo servidor secundario a partir de los al menos dos servidores secundarios; y cuando se determina que el segundo servidor secundario ha completado la operación de actualización de registro, enviar una instrucción de operación nula al segundo servidor secundario, en donde la instrucción de operación nula se utiliza para indicar al segundo servidor secundario que no realice operación alguna.
2. El método de acuerdo con la reivindicación 1, en donde determinar que la operación de actualización de registro se ha completado comprende:
cuando se determina que el servidor primario ha completado la operación de actualización de registro, determinar que la operación de actualización de registro se ha completado; o
cuando se determina que el servidor primario y al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, determinar que la operación de actualización de registro se ha completado.
3. El método de acuerdo con la reivindicación 2, en donde el envío de una instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios comprende:
cuando se determina que el servidor primario ha completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al servidor primario y, después de que la instrucción de almacenamiento de datos se envía al servidor primario y se determina que al menos un servidor secundario en el al menos dos servidores secundarios han completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos al primer servidor secundario en los al menos dos servidores secundarios; o
cuando se determina que el servidor primario y el al menos un servidor secundario en los al menos dos servidores secundarios han completado la operación de actualización de registro, enviar la instrucción de almacenamiento de datos por separado al servidor primario y al primer servidor secundario en los al menos dos servidores secundarios.
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en donde el segundo servidor secundario está configurado para, al recibir la instrucción de operación nula, no realizar una operación de almacenamiento en las actualizaciones de datos.
5. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en donde el método comprende, además: cuando se determina que el servidor primario o el primer servidor secundario falla, determinar un tercer servidor secundario y enviar una instrucción de sincronización de datos al tercer servidor secundario, de modo que el tercer servidor secundario complete, en base a la instrucción de sincronización de datos, la sincronización de datos con un servidor que no falla y que almacena los datos.
6. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en donde el método comprende, además: cuando se determina que el segundo servidor secundario falla, determinar un cuarto servidor secundario y enviar una instrucción de sincronización de registro al cuarto servidor secundario, de modo que el cuarto servidor secundario complete, en base a la instrucción de sincronización de registro, la sincronización de registro con un servidor que no falla.
7. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 6, en donde el servidor primario está en comunicación con un dispositivo informático externo para realizar operaciones externas de lectura o escritura asociadas con las actualizaciones de datos.
8. Método de acuerdo con una cualquiera de las reivindicaciones 1 a 7, en donde la solicitud de actualización de datos comprende una solicitud de pago.
9. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en donde el servidor primario se determina en base a una regla aleatoria o en base a un protocolo de consistencia distribuido.
10. Un sistema para procesar datos, el sistema comprende un servidor primario y al menos dos servidores secundarios, el sistema está configurado para realizar el método de una
cualquiera de las reivindicaciones 1 a 9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610444320.5A CN106899648B (zh) | 2016-06-20 | 2016-06-20 | 一种数据处理方法和设备 |
PCT/CN2017/087378 WO2017219857A1 (zh) | 2016-06-20 | 2017-06-07 | 一种数据处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2809174T3 true ES2809174T3 (es) | 2021-03-03 |
Family
ID=59190336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17814595T Active ES2809174T3 (es) | 2016-06-20 | 2017-06-07 | Método y dispositivo de procesamiento de datos |
Country Status (18)
Country | Link |
---|---|
US (2) | US10798168B2 (es) |
EP (1) | EP3474516B1 (es) |
JP (1) | JP6684367B2 (es) |
KR (1) | KR102145136B1 (es) |
CN (2) | CN111314479B (es) |
AU (1) | AU2017282817B2 (es) |
BR (1) | BR112018076689B1 (es) |
CA (1) | CA3028504C (es) |
ES (1) | ES2809174T3 (es) |
MX (1) | MX2018016249A (es) |
MY (1) | MY191234A (es) |
PH (1) | PH12018502712B1 (es) |
PL (1) | PL3474516T3 (es) |
RU (1) | RU2714098C1 (es) |
SG (1) | SG11201811389PA (es) |
TW (1) | TWI689181B (es) |
WO (1) | WO2017219857A1 (es) |
ZA (1) | ZA201900306B (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314479B (zh) | 2016-06-20 | 2022-08-23 | 北京奥星贝斯科技有限公司 | 一种数据处理方法和设备 |
CN110233905B (zh) * | 2017-04-20 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 节点设备运行方法、节点设备及存储介质 |
CN107908370B (zh) * | 2017-11-30 | 2021-07-06 | 新华三技术有限公司 | 数据存储方法及装置 |
CN108616598B (zh) * | 2018-05-10 | 2021-01-01 | 新华三技术有限公司成都分公司 | 数据同步方法、装置和分布式存储系统 |
US12013856B2 (en) | 2018-08-13 | 2024-06-18 | Amazon Technologies, Inc. | Burst performance of database queries according to query size |
CN109117312B (zh) * | 2018-08-23 | 2022-03-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN110968561B (zh) * | 2018-09-30 | 2024-02-13 | 北京国双科技有限公司 | 日志存储方法和分布式系统 |
CN111352943A (zh) * | 2018-12-24 | 2020-06-30 | 华为技术有限公司 | 实现数据一致性的方法和装置、服务器和终端 |
US11308100B2 (en) * | 2019-06-25 | 2022-04-19 | Amazon Technologies, Inc. | Dynamically assigning queries to secondary query processing resources |
CN110597673B (zh) * | 2019-09-25 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 存储系统的容灾方法、装置、设备及计算机可读存储介质 |
CN112835885B (zh) * | 2019-11-22 | 2023-09-01 | 北京金山云网络技术有限公司 | 一种分布式表格存储的处理方法、装置及系统 |
CN111159292A (zh) * | 2019-12-20 | 2020-05-15 | 深圳前海微众银行股份有限公司 | 一种数据存储方法及装置 |
CN111209333B (zh) * | 2019-12-20 | 2023-06-20 | 中国平安财产保险股份有限公司 | 数据更新方法、装置、终端及存储介质 |
CN112434054A (zh) * | 2020-12-09 | 2021-03-02 | 杭州海量存储技术有限公司 | 一种审计日志的更新方法及装置 |
CN112615944B (zh) * | 2020-12-11 | 2023-07-11 | 互联网域名系统北京市工程研究中心有限公司 | 分布式dns主辅同步的方法和系统 |
CN113472469B (zh) * | 2021-07-27 | 2023-12-05 | 厦门亿联网络技术股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN114090545A (zh) * | 2021-11-22 | 2022-02-25 | 中国建设银行股份有限公司 | 分布式数据库的维护方法、装置、存储介质及程序产品 |
CN114201473A (zh) * | 2021-12-15 | 2022-03-18 | 上海达梦数据库有限公司 | 日志管理方法及服务器集群 |
CN116095098B (zh) * | 2022-11-28 | 2024-04-09 | 华南农业大学 | 数据的分布式存储方法及装置 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1568467B (zh) * | 2001-09-06 | 2010-06-16 | Bea系统公司 | 正好一次高速缓存器结构 |
KR100483742B1 (ko) * | 2002-02-18 | 2005-04-18 | 주식회사 케이티프리텔 | 이동 통신 단말기를 이용한 대금 지불 및 개인 정보 관리방법 |
US7158985B1 (en) * | 2003-04-09 | 2007-01-02 | Cisco Technology, Inc. | Method and apparatus for efficient propagation of large datasets under failure conditions |
US7188273B2 (en) * | 2003-11-24 | 2007-03-06 | Tsx Inc. | System and method for failover |
US7577661B2 (en) * | 2005-06-30 | 2009-08-18 | Microsoft Corporation | Extensible and automatically replicating server farm configuration management infrastructure |
JP4998549B2 (ja) * | 2007-02-28 | 2012-08-15 | 富士通株式会社 | メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置 |
KR100926880B1 (ko) * | 2007-05-21 | 2009-11-16 | 엔에이치엔(주) | Dbms에서의 데이터 복제 방법 및 시스템 |
US7631214B2 (en) * | 2007-05-31 | 2009-12-08 | International Business Machines Corporation | Failover processing in multi-tier distributed data-handling systems |
KR101001946B1 (ko) | 2008-10-22 | 2010-12-17 | 한국과학기술연구원 | 수소 저장 물질 및 그 제조 방법 |
KR20100044428A (ko) * | 2008-10-22 | 2010-04-30 | 현대중공업 주식회사 | 다중서버 상위구조를 갖는 선박자동화 시스템 |
CN101582920B (zh) * | 2009-06-09 | 2012-09-05 | 中兴通讯股份有限公司 | 一种分布式文件系统中校验和同步数据块的方法及装置 |
JP5039891B2 (ja) * | 2009-10-19 | 2012-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースの複製を生成する装置及び方法 |
CN101741911B (zh) | 2009-12-18 | 2014-04-30 | 中兴通讯股份有限公司 | 基于多副本协同的写操作方法、系统及节点 |
US8572022B2 (en) * | 2010-03-02 | 2013-10-29 | Microsoft Corporation | Automatic synchronization conflict resolution |
US8510270B2 (en) * | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
US8301600B1 (en) * | 2010-11-15 | 2012-10-30 | Amazon Technologies, Inc. | Failover recovery in a distributed data store |
US9251021B2 (en) * | 2011-05-23 | 2016-02-02 | Bradley Gene Calder | Asynchronous replication in a distributed storage environment |
US9348883B2 (en) * | 2011-06-01 | 2016-05-24 | Clustrix, Inc. | Systems and methods for replication replay in a relational database |
CN103580891A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、系统及服务器 |
JP6056453B2 (ja) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | プログラム、データ管理方法および情報処理装置 |
CN104346373B (zh) * | 2013-07-31 | 2017-12-15 | 华为技术有限公司 | 分区日志队列同步管理方法及设备 |
CN103560906B (zh) * | 2013-10-22 | 2017-01-25 | 珠海多玩信息技术有限公司 | 数据复制的方法及装置 |
CN103546579B (zh) * | 2013-11-07 | 2017-01-04 | 陈靓 | 一种用数据日志提高分布式存储系统可用性的方法 |
CN104657382B (zh) * | 2013-11-21 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 用于MySQL主从服务器数据一致性检测的方法和装置 |
JP6318902B2 (ja) * | 2014-06-20 | 2018-05-09 | 富士通株式会社 | 冗長システムおよび冗長化方法 |
US9367410B2 (en) * | 2014-09-12 | 2016-06-14 | Facebook, Inc. | Failover mechanism in a distributed computing system |
CN104506643A (zh) * | 2014-12-30 | 2015-04-08 | 北京奇虎科技有限公司 | 分布式存储系统的服务器及服务器之间的数据同步方法 |
CN105426439B (zh) * | 2015-11-05 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 一种元数据的处理方法和装置 |
CN105468297A (zh) * | 2015-11-18 | 2016-04-06 | 临沂大学 | 一种云存储系统内主从设备数据快速同步的方法 |
CN105554142B (zh) * | 2015-12-24 | 2019-02-01 | 北京奇虎科技有限公司 | 消息推送的方法、装置及系统 |
CN111314479B (zh) * | 2016-06-20 | 2022-08-23 | 北京奥星贝斯科技有限公司 | 一种数据处理方法和设备 |
-
2016
- 2016-06-20 CN CN202010118286.9A patent/CN111314479B/zh active Active
- 2016-06-20 CN CN201610444320.5A patent/CN106899648B/zh active Active
-
2017
- 2017-04-14 TW TW106112612A patent/TWI689181B/zh active
- 2017-06-07 MY MYPI2018002792A patent/MY191234A/en unknown
- 2017-06-07 WO PCT/CN2017/087378 patent/WO2017219857A1/zh unknown
- 2017-06-07 MX MX2018016249A patent/MX2018016249A/es unknown
- 2017-06-07 PL PL17814595T patent/PL3474516T3/pl unknown
- 2017-06-07 RU RU2019101198A patent/RU2714098C1/ru active
- 2017-06-07 ES ES17814595T patent/ES2809174T3/es active Active
- 2017-06-07 EP EP17814595.9A patent/EP3474516B1/en active Active
- 2017-06-07 BR BR112018076689-5A patent/BR112018076689B1/pt active IP Right Grant
- 2017-06-07 AU AU2017282817A patent/AU2017282817B2/en active Active
- 2017-06-07 JP JP2018566899A patent/JP6684367B2/ja active Active
- 2017-06-07 SG SG11201811389PA patent/SG11201811389PA/en unknown
- 2017-06-07 CA CA3028504A patent/CA3028504C/en active Active
- 2017-06-07 KR KR1020197001800A patent/KR102145136B1/ko active Active
-
2018
- 2018-12-20 PH PH12018502712A patent/PH12018502712B1/en unknown
- 2018-12-20 US US16/227,611 patent/US10798168B2/en active Active
-
2019
- 2019-01-16 ZA ZA2019/00306A patent/ZA201900306B/en unknown
- 2019-12-20 US US16/722,531 patent/US10693965B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2017219857A1 (zh) | 2017-12-28 |
ZA201900306B (en) | 2021-01-27 |
CA3028504C (en) | 2021-02-16 |
CA3028504A1 (en) | 2017-12-28 |
RU2714098C1 (ru) | 2020-02-11 |
PL3474516T3 (pl) | 2021-02-08 |
AU2017282817B2 (en) | 2020-01-02 |
TWI689181B (zh) | 2020-03-21 |
KR20190020099A (ko) | 2019-02-27 |
MX2018016249A (es) | 2019-08-29 |
CN106899648A (zh) | 2017-06-27 |
US10798168B2 (en) | 2020-10-06 |
BR112018076689A2 (pt) | 2019-04-02 |
US10693965B2 (en) | 2020-06-23 |
JP6684367B2 (ja) | 2020-04-22 |
CN106899648B (zh) | 2020-02-14 |
TW201801495A (zh) | 2018-01-01 |
PH12018502712B1 (en) | 2022-01-19 |
SG11201811389PA (en) | 2019-01-30 |
EP3474516B1 (en) | 2020-05-13 |
KR102145136B1 (ko) | 2020-08-18 |
BR112018076689B1 (pt) | 2021-09-08 |
EP3474516A4 (en) | 2019-04-24 |
AU2017282817A1 (en) | 2019-01-31 |
JP2019526106A (ja) | 2019-09-12 |
CN111314479B (zh) | 2022-08-23 |
PH12018502712A1 (en) | 2019-07-29 |
US20200128076A1 (en) | 2020-04-23 |
CN111314479A (zh) | 2020-06-19 |
MY191234A (en) | 2022-06-10 |
US20190149605A1 (en) | 2019-05-16 |
EP3474516A1 (en) | 2019-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2809174T3 (es) | Método y dispositivo de procesamiento de datos | |
ES2917891T3 (es) | Gráfico de claves de vinculación de elemento de ejecución cifrada | |
US10740455B2 (en) | Encave pool management | |
BR112019020374B1 (pt) | Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain | |
ES2359488T3 (es) | Método, dispositivo y sistema para el almacenamiento de datos en una memoria caché ne caso de fallo de la alimentación. | |
CN107430538A (zh) | 基于错误类型的ecc的动态应用 | |
BR112019020197A2 (pt) | método e aparelho para processar solicitações de transação | |
BR112019012905A2 (pt) | método para o envio das informações de transação e dispositivo para o envio das informações de transação | |
WO2018208426A1 (en) | Enclave pool shared key | |
US10452502B2 (en) | Handling node failure in multi-node data storage systems | |
CN106850315B (zh) | 一种自动化容灾系统 | |
US10387053B1 (en) | Memory synchronization in a distributed computing system | |
CN106855834B (zh) | 一种数据备份方法、装置和系统 | |
CN110198331B (zh) | 一种同步数据的方法及系统 | |
US9930140B2 (en) | Tie-breaking for high availability clusters | |
US11093171B2 (en) | System and method for networkless peer communication for dual storage processor virtual storage appliances | |
US10133647B2 (en) | Operating a computer system in an operating system test mode in which an interrupt is generated in response to a memory page being available in physical memory but not pinned in virtual memory | |
CN107370785B (zh) | 一种用于处理用户业务状态信息的方法与设备 | |
US10127100B2 (en) | Correcting a data storage error caused by a broken conductor using bit inversion | |
ES2997967T3 (en) | Method for computer-assisted operation of a memory unit and execution of application programs with memory check for memory errors | |
US11372665B2 (en) | System and method for native and non-native replication for virtual volume based machines | |
WO2016039784A1 (en) | Determining optimum resources for an asymmetric disaster recovery site of a computer cluster | |
CN113157391A (zh) | 云路由高可用方法及设备 |