ES2875849T3 - Método y dispositivo de ejecución de servicio - Google Patents
Método y dispositivo de ejecución de servicio Download PDFInfo
- Publication number
- ES2875849T3 ES2875849T3 ES18806660T ES18806660T ES2875849T3 ES 2875849 T3 ES2875849 T3 ES 2875849T3 ES 18806660 T ES18806660 T ES 18806660T ES 18806660 T ES18806660 T ES 18806660T ES 2875849 T3 ES2875849 T3 ES 2875849T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- service
- user device
- blockchain
- service platform
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
Un método para ejecutar un servicio, el método que comprende: generar continuamente, por un nodo, primeros bloques (A), almacenar los primeros bloques en una cadena de bloques; proporcionar la cadena de bloques para un dispositivo de usuario final; obtener, mediante el dispositivo de usuario final, una regla de generación de bloques de una plataforma de servicio; generar (S202), por el dispositivo de usuario final y en base a la cadena de bloques, un bloque de procesamiento previo que coincide con la regla de generación de bloques; realizar (S203), mediante el dispositivo de usuario final, un procedimiento para generar un consenso sobre el bloque de procesamiento previo utilizando uno o más dispositivos de usuario final y el nodo, en donde realizar el procedimiento incluye enviar, mediante el dispositivo de usuario final, el bloque de procesamiento previo a una red de consenso para realizar el procedimiento de consenso en el bloque de procesamiento previo utilizando la red de consenso; en respuesta a determinar que se alcanza el consenso sobre el bloque de procesamiento previo, almacenar (S203), mediante el dispositivo de usuario final, el bloque de procesamiento previo en la cadena de bloques como un segundo bloque (B); en respuesta a determinar que se cumple con una condición predeterminada, obtener (S204), mediante la plataforma de servicio, al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o el nodo; en respuesta a determinar que el momento actual es un momento predeterminado del servicio, determinar, mediante la plataforma de servicio, un primer bloque actual de la cadena de bloques en el momento actual; seleccionar un segundo bloque actual en base al primer bloque actual; y ejecutar (S204), por la plataforma de servicio, el servicio en base a un identificador de usuario comprendido en el segundo bloque actual.
Description
DESCRIPCIÓN
Método y dispositivo de ejecución de servicio
CAMPO TÉCNICO
La presente solicitud se refiere al campo de las tecnologías informáticas y, en particular, a un método y dispositivo de ejecución de servicio.
ANTECEDENTES
Con el desarrollo continuo de las tecnologías informáticas, aparece sucesivamente una pluralidad de patrones de servicio emergentes. Estos patrones de servicio emergentes facilitan la ejecución de servicio de los usuarios, y la innovación de los patrones brinda una experiencia completamente nueva a los usuarios en un proceso de ejecución de servicio.
Actualmente, en estos patrones de servicio emergentes, algunos servicios, tales como una venta flash, son particularmente atractivos y populares. Los usuarios pueden obtener, a bajo precio mediante contención en un tiempo especificado por el servicio, una calificación para ejecutar el servicio.
En la práctica, cuando una plataforma de servicios detecta que un momento actual es un momento predeterminado de un servicio, se abre a todos los usuarios una ventana para participar en una actividad de adquisición de calificación del servicio. En consecuencia, todos los usuarios pueden enviar una solicitud de adquisición de calificación para el servicio a la plataforma de servicio en este momento, y la plataforma de servicio puede seleccionar varios usuarios de los usuarios que envían la solicitud de adquisición de calificación y otorgar calificación para ejecutar el servicio a los usuarios seleccionados.
Por ejemplo, en una venta flash de productos (la oferta relámpago de productos mencionada aquí es un servicio proporcionado por la plataforma de servicio para los usuarios). Cuando se inicia la búsqueda de la venta flash de productos (en otras palabras, llega el momento predeterminado del servicio) utilizando un dispositivo de usuario final, todos los usuarios envían una solicitud de selección de productos (es decir, la solicitud de adquisición de calificación previa) a la plataforma de servicio que proporciona la venta flash de productos, y la plataforma de servicio otorga, a los primeros usuarios que envían la solicitud de oferta relámpago de productos, una calificación para la oferta relámpago con éxito de un producto (en otras palabras, otorga una calificación para ejecutar el servicio). Ciertamente, después de que comience la venta flash de productos, la plataforma de servicio puede recibir primero de forma continua las solicitudes de oferta relámpago de productos enviadas por todos los usuarios, y cuando llega una fecha límite para recibir las solicitudes de oferta relámpago de productos, seleccionar al azar varios usuarios de los usuarios que envían las solicitudes de oferta relámpago de productos en este período de tiempo, y otorgar la calificación de oferta relámpago de productos a los usuarios seleccionados.
A veces, cuando llega el momento predeterminado, la plataforma de servicio recibe instantáneamente solicitudes de adquisición de calificación que se envían por una gran cantidad de usuarios para el servicio. En consecuencia, la plataforma de servicio se enfrenta una gran cantidad de presión de acceso en este período de tiempo, lo que provoca una falla operativa de la plataforma de servicio y reduce la eficiencia de ejecución del servicio.
El documento US 2016/260171 A1 describe sistemas y métodos que abordan problemas de cómo participar en un intercambio de mercado sin utilizar un intermediario centralizado. Por ejemplo, se puede utilizar un libro de transacciones distribuido seguro como un marco de trabajo de integración que respalda las comunicaciones entre las partes, la transferencia de fondos de una parte a otra y la capacidad de aprovisionamiento o transferencia de entregables mediante un vendedor a un comprador o en beneficio de un comprador. En otro ejemplo, un comprador, un vendedor y una entidad de depósito en garantía tienen funciones definidas que facilitan las transacciones y ayudan a generar más confianza en el mercado.
RESUMEN
Los ejemplos de la presente patente proporcionan un sistema de ejecución de servicio, para aliviar un problema en la tecnología existente de que una plataforma de servicio se enfrenta una presión de acceso relativamente alta cuando llega un momento predeterminado.
La invención se define por las reivindicaciones adjuntas. Un ejemplo de la presente patente proporciona un método de ejecución de servicio, que incluye: generar continuamente, mediante un nodo, primeros bloques, almacenar los primeros bloques en una cadena de bloques y proporcionar la cadena de bloques para un dispositivo de usuario final que obtiene una regla de generación de bloques; obtener, mediante el dispositivo de usuario final, la regla de generación de bloques de una plataforma de servicio, y generar, en base a la cadena de bloques, un bloque de procesamiento previo que coincide con la regla de generación de bloques; realizar, mediante el dispositivo de usuario final, un procedimiento de consenso sobre el bloque de procesamiento previo utilizando uno o más dispositivos de usuario final y el nodo, y almacenar el bloque de procesamiento previo en la cadena de bloques como un segundo
bloque después de determinar que se alcanza el consenso sobre el bloque de procesamiento previo; obtener, mediante la plataforma de servicio, al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o al menos un nodo cuando se determina que se cumple una condición predeterminada; determinar, mediante la plataforma de servicio, un primer bloque de la cadena de bloques obtenida en el momento actual en base a un momento predeterminado, y seleccionar un segundo bloque en base al primer bloque determinado; y ejecutar, mediante la plataforma de servicio, un servicio en base a un identificador de usuario incluido en el segundo bloque seleccionado.
Los ejemplos de la presente patente proporcionan un método de ejecución de servicio, para aliviar un problema en la tecnología existente de que una plataforma de servicio se enfrenta una presión de acceso relativamente alta cuando llega un momento predeterminado.
Un ejemplo de la presente patente proporciona un método de ejecución de servicio, donde un nodo genera continuamente primeros bloques, almacena los primeros bloques en una cadena de bloques y proporciona la cadena de bloques para un dispositivo de usuario final que obtiene una regla de generación de bloques, y el método incluye: recibir, mediante una plataforma de servicio, una solicitud de adquisición de calificación enviada por el dispositivo de usuario final; devolver la regla de generación de bloques al dispositivo de usuario final en base a la solicitud de adquisición de calificación, de modo que el dispositivo de usuario final genera un segundo bloque en base a la cadena de bloques y la regla de generación de bloques, y almacena el segundo bloque en la cadena de bloques; obtener al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o al menos un nodo cuando se determina que se cumple una condición predeterminada; determinar un primer bloque de la cadena de bloques obtenida en el momento actual en base a un momento predeterminado, y seleccionar un segundo bloque en base al primer bloque determinado; y ejecutar un servicio en base a un identificador de usuario incluido en el segundo bloque seleccionado.
Los ejemplos de la presente patente proporcionan un dispositivo de ejecución de servicio, para aliviar un problema en la tecnología existente de que una plataforma de servicio se enfrenta una presión de acceso relativamente alta cuando llega un momento predeterminado.
Un ejemplo de la presente patente proporciona un dispositivo de ejecución de servicio, donde un nodo genera continuamente primeros bloques, almacena los primeros bloques en una cadena de bloques y proporciona la cadena de bloques para un dispositivo de usuario final que obtiene una regla de generación de bloques, y el dispositivo incluye: un módulo de recepción, configurado para recibir una solicitud de adquisición de calificación enviada por el dispositivo de usuario final; un módulo de retorno, configurado para devolver la regla de generación de bloques al dispositivo de usuario final en base a la solicitud de adquisición de calificación, de modo que el dispositivo de usuario final genera un segundo bloque en base a la cadena de bloques y la regla de generación de bloques, y almacena el segundo bloque en la cadena de bloques; un módulo de adquisición, configurado para obtener al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o al menos un nodo cuando se determina que se cumple una condición predeterminada; un módulo de selección, configurado para determinar un primer bloque de la cadena de bloques obtenida en el momento actual en base a un momento predeterminado, y seleccionar un segundo bloque en base al primer bloque determinado; y un módulo de ejecución, configurado para ejecutar un servicio en base a un identificador de usuario incluido en el segundo bloque seleccionado.
Los ejemplos de la presente patente proporcionan un método de ejecución de servicio, para aliviar un problema en la tecnología existente de que una plataforma de servicio se enfrenta una presión de acceso relativamente alta cuando llega un momento predeterminado.
Un ejemplo de la presente patente proporciona un método de ejecución de servicio, donde un nodo genera continuamente primeros bloques, almacena los primeros bloques en una cadena de bloques y proporciona la cadena de bloques para un dispositivo de usuario final que obtiene una regla de generación de bloques, y el método incluye: enviar, mediante el dispositivo de usuario final, una solicitud de adquisición de calificación a una plataforma de servicio, de modo que la plataforma de servicio devuelva la regla de generación de bloques al dispositivo de usuario final; generar un bloque de procesamiento previo en base a la cadena de bloques y la regla de generación de bloques; realizar un procedimiento de consenso sobre el bloque de procesamiento previo utilizando uno o más de otros dispositivos de usuario final y el nodo, y almacenar el bloque de procesamiento previo en el que se alcanza el consenso en la cadena de bloques como un segundo bloque; y, al recibir la información de confirmación de calificación enviada por la plataforma de servicio, enviar la cadena de bloques en un momento actual que está almacenada por el dispositivo de usuario final a la plataforma de servicio, para que la plataforma de servicio ejecute un servicio en base a un primer bloque y un segundo bloque en la cadena de bloques en el momento actual.
Los ejemplos de la presente patente proporcionan un dispositivo de ejecución de servicio, para aliviar un problema en la tecnología existente de que una plataforma de servicio se enfrenta una presión de acceso relativamente alta cuando llega un momento predeterminado.
Un ejemplo de la presente patente proporciona un dispositivo de ejecución de servicio, donde un nodo genera continuamente primeros bloques, almacena los primeros bloques en una cadena de bloques y proporciona la cadena
de bloques para el dispositivo que obtiene una regla de generación de bloques, y el dispositivo incluye: un módulo de envío, configurado para enviar una solicitud de adquisición de calificación a una plataforma de servicio, de modo que la plataforma de servicio devuelve la regla de generación de bloques al dispositivo; un módulo de generación, configurado para generar un bloque de procesamiento previo en base a la cadena de bloques y la regla de generación de bloques; un módulo de consenso, configurado para realizar un procedimiento de consenso sobre el bloque de procesamiento previo utilizando uno o más dispositivos de usuario final y el nodo, y almacenar el bloque de procesamiento previo en el que se alcanza el consenso en la cadena de bloques como un segundo bloque; y un módulo de recepción, configurado para: al recibir información de confirmación de calificación enviada por la plataforma de servicio, enviar la cadena de bloques en un momento actual que está almacenada por el dispositivo a la plataforma de servicio, para que la plataforma de servicio ejecute un servicio en base a un primer bloque y un segundo bloque en la cadena de bloques en el momento actual.
Al menos una de las soluciones técnicas anteriores utilizadas en las implementaciones de la presente patente puede lograr los siguientes efectos beneficiosos:
En los ejemplos de la presente patente, después de recibir la solicitud de adquisición de calificación enviada por el dispositivo de usuario final, la plataforma de servicio puede devolver la regla de generación de bloques al dispositivo de usuario final, en lugar de devolver la regla de generación de bloques al dispositivo de usuario final solo cuando llega el momento predeterminado. Por lo tanto, incluso si el dispositivo de usuario final envía la solicitud de adquisición de calificación a la plataforma de servicio antes del momento predeterminado, la plataforma de servicio todavía devuelve la regla de generación de bloques al dispositivo de usuario final. Es decir, la plataforma de servicio puede separar, en términos de tiempo, a los usuarios que participan en la obtención de la calificación del servicio, de modo que algunos usuarios pueden obtener la regla de generación de bloques antes del momento predeterminado, y luego participar en un servicio en base a la regla de generación de bloques obtenida cuando llega el momento predeterminado.
Además, al seleccionar un usuario que ejecuta el servicio, la plataforma de servicio puede seleccionar el segundo bloque utilizando el primer bloque incluido en la cadena de bloques como una referencia de tiempo, y determinar, en base al segundo bloque seleccionado, el usuario que ejecuta el servicio. Como tal, incluso si el dispositivo de usuario final puede obtener la regla de generación de bloques en diferentes puntos de tiempo, para ejecutar el servicio, el dispositivo de usuario final puede generar, en base a la referencia de tiempo (p. ej., el primer bloque), un segundo bloque que cumple la regla de generación de bloques. Por lo tanto, como tal, no solo se puede aliviar en gran medida la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega el momento predeterminado, sino que también se puede garantizar el funcionamiento normal de la plataforma de servicio después de llegar el momento predeterminado. Se puede garantizar además que si el usuario puede ejecutar el servicio utilizando el dispositivo de usuario final, incluso si la regla de generación de bloques se obtiene utilizando el dispositivo de usuario final antes del momento predeterminado, el segundo bloque que cumple con la regla de generación de bloques debe generarse solo cuando llega el momento predeterminado, lo que garantiza la equidad en la ejecución del servicio.
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 sus descripciones están destinadas a describir la presente solicitud y no constituyen limitaciones de la presente solicitud. En los dibujos adjuntos:
la FIG. 1 es un diagrama esquemático que ilustra un sistema de ejecución de servicio, de acuerdo con una implementación de la presente solicitud;
la FIG. 2 es un diagrama esquemático que ilustra un proceso de ejecución de servicio, de acuerdo con una implementación de la presente solicitud;
la FIG. 3 es un diagrama esquemático que ilustra una parte, de una cadena de bloques, generada después de un momento predeterminado especificado por un servicio, de acuerdo con una implementación de la presente solicitud;
la FIG. 4 es un diagrama esquemático que ilustra un dispositivo de ejecución de servicio, de acuerdo con una implementación de la presente solicitud; y
la FIG. 5 es un diagrama esquemático que ilustra otro dispositivo de ejecución de servicio, de acuerdo con una implementación de la presente solicitud.
DESCRIPCIÓN DE LAS IMPLEMENTACIONES
En las implementaciones de la presente solicitud, una plataforma de servicio, al menos un nodo y al menos un dispositivo de usuario final pueden formar un sistema de ejecución de servicio, como se muestra en la FIG. 1.
La FIG. 1 es un diagrama esquemático que ilustra un sistema de ejecución de servicio, de acuerdo con una implementación de la presente solicitud.
En el sistema mostrado en la FIG. 1, una plataforma de servicio puede proporcionar a un usuario un servicio a ser ejecutado y devolver una regla de generación de bloques correspondiente a un dispositivo de usuario final cuando recibe una solicitud de adquisición de calificación para el servicio que envía el usuario utilizando el dispositivo de usuario final, de modo que el dispositivo de usuario final que recibe la regla de generación de bloque puede tener una oportunidad de ejecutar el servicio. Posteriormente, la plataforma de servicio necesita obtener una cadena de bloques de un nodo o al menos un dispositivo de usuario final que envía una solicitud de adquisición de calificación y determinar un usuario que ejecuta el servicio desde la cadena de bloques.
Puede haber al menos un nodo en el sistema y estos nodos pueden formar una pequeña red de consenso. Cada uno de los nodos puede generar bloques de procesamiento previo de forma continua y enviar los bloques de procesamiento previo generados por el nodo a la pequeña red de consenso para un consenso. Una vez que se determina que se logra un consenso sobre un bloque de procesamiento previo generado por el nodo, el nodo puede almacenar, como un primer bloque, el bloque de procesamiento previo en una cadena de bloques almacenada por el nodo.
El nodo en el sistema funciona para proporcionar una referencia de tiempo para la plataforma de servicio y todos los dispositivos de usuario final que participan en una actividad de adquisición de calificación del servicio, de modo que incluso si los dispositivos de usuario final obtienen la regla de generación de bloques de la plataforma de servicio en diferentes puntos de tiempo, los dispositivos de usuario final necesitan generar, en base a la misma referencia de tiempo, segundos bloques que satisfagan la regla de generación de bloques. Como tal, la equidad de la participación en la ejecución del servicio mediante cada uno de los usuarios se puede garantizar tanto como sea posible. Más adelante se describe una razón por la que una cadena de bloques formada al generar el primer bloque por el nodo puede servir como referencia de tiempo.
En el sistema, si el usuario desea participar en la actividad de adquisición de calificación del servicio, el usuario puede utilizar un dispositivo de usuario final que es propiedad del usuario para enviar la solicitud de adquisición de calificación para el servicio a la plataforma de servicio y generar, en base a la regla de generación de bloques devuelta por la plataforma de servicio y la cadena de bloques obtenida del nodo, un bloque de procesamiento previo que cumple con la regla de generación de bloques. En la implementación actual de la presente solicitud, el dispositivo de usuario final puede enviar la solicitud de adquisición de calificación a la plataforma de servicio en cualquier momento para aliviar de manera eficaz la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega un momento predeterminado. Por ejemplo, el dispositivo de usuario final puede enviar la solicitud de adquisición de calificación a la plataforma de servicio antes, cuando o después de que llegue el momento predeterminado. Sin embargo, la plataforma de servicio puede devolver la regla de generación de bloques al dispositivo de usuario final siempre que la plataforma de servicio reciba la solicitud de adquisición de calificación enviada por el dispositivo de usuario final.
Los primeros bloques incluidos en la cadena de bloques se obtienen por el nodo generando continuamente bloques de procesamiento previo. Para ser específicos, una vez que se logra un consenso sobre un bloque de procesamiento previo generado por el nodo, el bloque de procesamiento previo se puede almacenar en la cadena de bloques como un primer bloque. El nodo genera el primer bloque no para el servicio. El primer bloque puede entenderse como un bloque regular y el primer bloque puede no incluir datos cualesquiera sobre el servicio.
El segundo bloque mencionado anteriormente se obtiene por el dispositivo de usuario final generando un bloque de procesamiento previo. Para ser específicos, una vez que se logra un consenso sobre un bloque de procesamiento previo generado por el dispositivo de usuario final en base a la cadena de bloques y la regla de generación de bloques, el bloque de procesamiento previo se puede almacenar en la cadena de bloques como un segundo bloque. El segundo bloque lo genera el dispositivo de usuario final para el servicio. En otras palabras, el segundo bloque puede incluir datos sobre el servicio, tal como un identificador de usuario. El "primero" y el "segundo" aquí solo se utilizan para distinguir entre diferentes bloques y no tienen un significado especial.
Para que un experto en la técnica comprenda mejor las soluciones técnicas en la presente solicitud, a continuación, se describen clara y exhaustivamente las soluciones técnicas en las implementaciones de la presente solicitud con referencia a los dibujos adjuntos en las implementaciones de la presente solicitud. Aparentemente, las implementaciones descritas son simplemente algunas, pero no todas, las implementaciones de la presente solicitud.
Para facilitar la descripción de un método de ejecución de servicio proporcionado en las implementaciones de la presente solicitud, a continuación, se describe en detalle un proceso de ejecución de servicio completo en un escenario de oferta relámpago de productos.
La FIG. 2 es un diagrama esquemático que ilustra un proceso de ejecución de servicio, de acuerdo con una implementación de la presente solicitud. El proceso de ejecución del servicio incluye los siguientes pasos.
S201: Un dispositivo de usuario final envía una solicitud de adquisición de calificación a una plataforma de servicio, de modo que la plataforma de servicio devuelve una regla de generación de bloques al dispositivo de usuario final.
En la implementación actual de la presente solicitud, un proceso en el que un usuario ejecuta un servicio de oferta relámpago de productos se puede dividir aproximadamente en las siguientes dos etapas:
1. Etapa de adquisición de calificación: en esta etapa, un usuario que desea ejecutar el servicio puede enviar la solicitud de adquisición de calificación para el servicio a la plataforma de servicio utilizando un dispositivo de usuario final que es propiedad del usuario. En esta etapa, la plataforma de servicio devuelve la regla de generación de bloques al dispositivo de usuario final cuando recibe la solicitud de adquisición de calificación enviada por el dispositivo de usuario final, de modo que el dispositivo de usuario final que obtiene la regla de generación de bloques puede tener la oportunidad de ejecutar el servicio, en otras palabras, tener la oportunidad de adquirir un producto.
2. Etapa de confirmación de calificación: después de la etapa de adquisición de calificación, la plataforma de servicio debe seleccionar, en un método determinado, un usuario que puede ejecutar el servicio del usuario que envía la solicitud de adquisición de calificación en la etapa de adquisición de calificación, y publicar el usuario determinado que puede ejecutar el servicio (un usuario que accede con éxito a la oferta relámpago del producto).
En la implementación actual de la presente solicitud, para aliviar la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega un momento predeterminado del servicio, y garantizar el funcionamiento normal de la plataforma de servicio, la plataforma de servicio puede devolver la regla de generación de bloques al dispositivo de usuario final cada vez que la plataforma de servicio recibe la solicitud de adquisición de calificación enviada por el dispositivo de usuario final. En otras palabras, el dispositivo de usuario final puede obtener la regla de generación de bloques de la plataforma de servicio independientemente de si el usuario envía la solicitud de adquisición de calificación a la plataforma de servicio utilizando el dispositivo de usuario final antes, cuando o después de llegar el momento predeterminado del servicio. Como tal, los puntos de tiempo en los que los dispositivos de usuario final envían la solicitud de adquisición de calificación a la plataforma de servicio pueden ser discretos, para aliviar de manera efectiva la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega el momento predeterminado. El momento predeterminado mencionado aquí puede ser una hora de inicio de la etapa de adquisición de calificación del servicio, es decir, una hora de inicio de una venta flash de productos. Cuando llega el momento predeterminado, el usuario puede participar en la venta flash de productos.
Vale la pena señalar que el dispositivo de usuario final no participa realmente en la venta flash de productos cuando obtiene la regla de generación de bloques antes de que llegue el momento predeterminado (es decir, la hora de inicio de la venta flash de productos). El dispositivo de usuario final realmente participa en la venta flash de productos solo cuando llega el momento predeterminado.
En la implementación actual de la presente solicitud, un método específico por el cual el dispositivo de usuario final envía la solicitud de adquisición de calificación para el servicio (la venta flash de productos) a la plataforma de servicio antes de que llegue el momento predeterminado puede ser el siguiente: La plataforma de servicio puede publicar información sobre el servicio en la plataforma de servicio antes de que llegue el momento predeterminado. Cuando el usuario inicia el software de cliente correspondiente a la plataforma de servicio en el dispositivo de usuario final, el dispositivo de usuario final se activa para enviar la solicitud de adquisición de calificación para el servicio a la plataforma de servicio, de modo que la plataforma de servicio puede devolver la correspondiente regla de generación de bloques al dispositivo de usuario final en base a la solicitud de adquisición de calificación enviada por el dispositivo de usuario final.
Además, cuando el usuario inicia el software de cliente correspondiente a la plataforma de servicio en el dispositivo de usuario final, el usuario puede realizar una operación específica en el cliente, de modo que el dispositivo de usuario final envía la solicitud de adquisición de calificación para el servicio a la plataforma de servicio después de detectar que el usuario realiza la operación especificada. Por ejemplo, suponiendo que después de que el usuario inicia el software de cliente en el dispositivo de usuario final, el software de cliente puede mostrar información sobre la venta flash de productos y un control de operación para el usuario. Al detectar que el usuario hace clic en el control de operación en el software de cliente, el dispositivo de usuario final puede enviar la solicitud de adquisición de calificación para la venta flash de productos a la plataforma de servicio.
Ciertamente, en la presente implementación de la presente solicitud, además de los dos casos anteriores, el dispositivo de usuario final puede activarse en otros métodos para enviar la solicitud de adquisición de calificación para el servicio a la plataforma de servicio. Por ejemplo, cuando el software de cliente se ejecuta y el dispositivo de usuario final detecta que la información sobre el servicio (la venta flash del producto) se publica en el software de cliente, el dispositivo de usuario final puede enviar activamente la solicitud de adquisición de calificación para el servicio a la plataforma de servicio antes de que llegue el momento predeterminado del servicio. El dispositivo de usuario final puede enviar la solicitud de adquisición de calificación para el servicio a la plataforma de servicio en cualquier momento antes del momento predeterminado o en un momento que se encuentra a una distancia de duración especificada del momento predeterminado.
Por dar otro ejemplo, la plataforma de servicio también puede seleccionar, en base a una condición específica, un usuario que puede participar en la venta flash de productos. Por ejemplo, la plataforma de servicio puede determinar un usuario cuyo nivel de membresía alcanza un nivel especificado como un usuario que puede participar en la venta flash de productos y enviar activamente al usuario utilizando un número de cuenta de usuario, un mensaje de consulta sobre si el usuario necesita participar en la venta flash de productos. Al detectar que el usuario ve el mensaje de
consulta y decide participar en la venta flash de productos, el dispositivo de usuario final puede enviar la solicitud de adquisición de calificación para la venta flash de productos a la plataforma de servicio. En consecuencia, la plataforma de servicio también puede devolver la regla de generación de bloques correspondiente al dispositivo de usuario final. Además, existen otros métodos de activación. Los ejemplos se omiten aquí por simplicidad.
S202: Generar un bloque de procesamiento previo en base a una cadena de bloques y la regla de generación de bloques.
En la implementación actual de la presente solicitud, al determinar que llega el momento predeterminado, el dispositivo de usuario final puede obtener una cadena de bloques almacenada por al menos un nodo predeterminado en un momento actual desde el nodo, y además generar, en base a la cadena de bloques, un bloque de procesamiento previo que satisface la regla de generación de bloques.
En la implementación actual de la presente solicitud, al determinar que llega el momento predeterminado del servicio, el dispositivo de usuario final necesita obtener la cadena de bloques del al menos un nodo predeterminado porque el dispositivo de usuario final puede obtener la regla de generación de bloques para el servicio (la venta flash de productos) desde la plataforma de servicio antes del momento predeterminado, y después de obtener la regla de generación de bloques, el dispositivo de usuario final puede comenzar inmediatamente a generar el bloque de procesamiento previo que satisface la regla de generación de bloques. Como tal, antes del momento predeterminado, el dispositivo de usuario final puede completar la generación del bloque de procesamiento previo que satisface la regla de generación de bloques. Cuando llega el momento predeterminado, el dispositivo de usuario final envía directamente el bloque de procesamiento previo generado a una red de consenso para un consenso. En otras palabras, en comparación con un dispositivo de usuario final que obtiene la regla de generación de bloques después del momento predeterminado, el dispositivo de usuario final que obtiene preferentemente la regla de generación de bloques antes del momento predeterminado puede enviar preferentemente, en un método de "primera obtención y primera generación" a la red de consenso para un consenso, el bloque de procesamiento previo que genera el dispositivo de usuario final y que satisface la regla de generación de bloques.
Sin embargo, para el dispositivo de usuario final que obtiene la regla de generación de bloques después del momento predeterminado, cuando no se considera la capacidad de cálculo real del dispositivo de usuario final, el momento en que el dispositivo de usuario final obtiene la regla de generación de bloques es posterior a un momento en el que el dispositivo de usuario final obtiene la regla de generación de bloques antes del momento predeterminado. Por lo tanto, el dispositivo de usuario final que obtiene la regla de generación de bloques después del momento predeterminado también puede generar un bloque de procesamiento previo más tarde que el dispositivo de usuario final que obtiene la regla de generación de bloques antes del momento predeterminado. En consecuencia, el dispositivo de usuario final también envía, más tarde que el dispositivo de usuario final que obtiene la regla de generación de bloques antes del momento predeterminado, el bloque de procesamiento previo generado por el dispositivo de usuario final a la red de consenso para un consenso.
Por lo tanto, si no se puede garantizar que todos los dispositivos de usuario final (incluido el dispositivo de usuario final que obtiene la regla de generación de bloques antes del momento predeterminado y el dispositivo de usuario final que obtiene la regla de generación de bloques después del momento predeterminado) comiencen a generar, al mismo tiempo (o la misma referencia de tiempo) tanto como sea posible, el bloque de procesamiento previo que satisface la regla de generación de bloques, existe una gran probabilidad de que el dispositivo de usuario final que primero obtiene la regla de generación de bloques puede generar primero, en el método de "primera obtención y primera generación" descrito anteriormente, el bloque de procesamiento previo que satisface la regla de generación de bloques, de modo que una probabilidad de ejecutar el servicio (es decir, una probabilidad de acceder a la oferta relámpago del producto) mediante el dispositivo de usuario final se mejora hasta cierto punto. En consecuencia, falta la equidad en la ejecución del servicio.
Para aliviar de manera efectiva el problema anterior, en la presente implementación de la presente solicitud, el al menos un nodo puede predeterminarse, y estos nodos pueden generar continuamente bloques de procesamiento previo a lo largo del tiempo, y almacenar un bloque de procesamiento previo sobre el que se alcanza un consenso en una cadena de bloques del nodo como un primer bloque. En otras palabras, es equivalente que estos nodos formen una pequeña red de consenso. Cada uno de los nodos puede generar continuamente bloques de procesamiento previo que no sean para el servicio y enviar los bloques de procesamiento previo generados a la pequeña red de consenso para un consenso. Una vez que la pequeña red de consenso alcanza un consenso sobre un bloque de procesamiento previo, cada uno de los nodos de la pequeña red de consenso también puede almacenar el bloque de procesamiento previo en la cadena de bloques del nodo como un primer bloque.
Una razón por la que se puede alcanzar una referencia de tiempo mediante el primer bloque generado por el nodo es la siguiente: En la práctica, cada uno de los bloques de la cadena de bloques incluye un resumen de encabezado de un bloque anterior. Por lo tanto, cuando el dispositivo de usuario final puede generar, en base a una cadena de bloques almacenada por estos nodos, el bloque de procesamiento previo que satisface la regla de generación de bloques, si el dispositivo de usuario final genera, antes del momento predeterminado del servicio, el bloque de procesamiento previo que satisface la regla de generación de bloques, un bloque (el bloque puede ser un primer bloque, o puede ser
un segundo bloque) correspondiente a un resumen de encabezado de un bloque anterior incluido en el bloque de procesamiento previo es necesariamente un bloque generado antes del momento predeterminado en la cadena de bloques. Por lo tanto, una vez que se alcanza un consenso sobre el bloque de procesamiento previo, el bloque de procesamiento previo se conecta necesariamente después del bloque, y estos nodos aún generan bloques de procesamiento previo de forma continua, y conectan un bloque de procesamiento previo en el que se alcanza un consenso con el bloque de procesamiento previo (generado por el dispositivo de usuario final) como un primer bloque.
Por lo tanto, para reducir una tasa de ocurrencia de un caso en el que el dispositivo de usuario final que obtiene la regla de generación de bloques antes del momento predeterminado puede tener una probabilidad mayor de ejecutar el servicio (accediendo a la oferta relámpago del producto) que el dispositivo de usuario final que obtiene la regla de generación de bloques después del momento predeterminado, para determinar el usuario que puede ejecutar el servicio, la plataforma de servicio puede obtener, utilizando el momento predeterminado como un límite, una última parte de una cadena de bloques a partir de una cadena de bloques obtenida de cada uno de los dispositivos de usuario final (un dispositivo de usuario final que obtiene la regla de generación de bloques en este momento) o el nodo, y utiliza la última parte de la cadena de bloques como la cadena de bloques para determinar el usuario que puede tener la oportunidad de ejecutar el servicio.
En tal caso, si el dispositivo de usuario final completa, antes del momento predeterminado del servicio, la generación del bloque de procesamiento previo que satisface la regla de generación de bloques, porque el bloque correspondiente al resumen de encabezado del bloque anterior incluido en el bloque de procesamiento previo está ubicado en el bloque generado antes del momento predeterminado en la cadena de bloques, incluso si el dispositivo de usuario final envía el bloque de procesamiento previo a la red de consenso para un consenso solo cuando llega el momento predeterminado, el bloque de procesamiento previo está necesariamente conectado después del bloque (es decir, el bloque anterior) como un segundo bloque después de que se alcance el consenso sobre el bloque de procesamiento previo y, por lo tanto, es muy probable que el segundo bloque caiga en la parte antes del momento predeterminado en la cadena de bloques. En consecuencia, en la etapa de confirmación de calificación, la plataforma de servicio puede ignorar la parte antes del momento predeterminado en la cadena de bloques, de modo que el procesamiento realizado previamente por el dispositivo de usuario final es inútil.
Por lo tanto, si el dispositivo de usuario final que obtiene la regla de generación de bloques antes de que llegue el momento predeterminado quiere ejecutar el servicio, al determinar que el momento actual es el momento predeterminado del servicio, el dispositivo de usuario final necesita obtener la cadena de bloques almacenada por el nodo en el momento actual desde el nodo predeterminado, de modo que solo un bloque de procesamiento previo que se genera por el dispositivo de usuario final en base a la cadena de bloques y que satisface la regla de generación de bloques puede seleccionarse por la plataforma de servicio después de que se alcance un consenso sobre el bloque de procesamiento previo y existe la probabilidad de que el dispositivo de usuario final (es decir, un usuario que posee el dispositivo de usuario final) que genera el bloque de procesamiento previo pueda ejecutar el servicio (acceder a la oferta relámpago del producto).
En la implementación actual de la presente solicitud, después de obtener la cadena de bloques almacenada en el momento actual desde el al menos un nodo predeterminado, el dispositivo de usuario final puede determinar además un valor de característica de bloque de un último bloque en la cadena de bloques en el momento actual, generar, en base al valor de la característica de bloque, un identificador de usuario y un parámetro de ajuste, un valor de característica a ser verificado que satisface la regla de generación de bloques, y generar además, en base al valor de característica a ser verificado generado, el identificador de usuario, el valor de característica de bloque y el parámetro de ajuste, el bloque procesado previamente que satisface la regla de generación de bloques.
El valor de característica (que incluye tanto el valor de característica de bloque como el valor de característica a ser verificado) mencionado anteriormente puede identificar de forma única un bloque, para garantizar la unicidad del bloque en la cadena de bloques. El valor de característica de bloque mencionado aquí puede entenderse como el resumen de encabezado del bloque anterior, y el valor de característica a ser verificado se puede entender como un resumen de encabezado del bloque de procesamiento previo. En la presente implementación de la presente solicitud, el valor de característica de bloque puede existir en una forma adicional a una forma de valor de resumen. Por ejemplo, si se utiliza un algoritmo de resumen de mensajes 5 (MD5), el valor de característica de bloque puede existir en forma de un valor MD5. Ciertamente, de manera correspondiente, el valor de característica a ser verificado también puede existir en la forma del valor MD5. Se puede determinar una forma específica del valor de característica en base a un algoritmo de cifrado asimétrico específico, siempre que el valor de característica obtenido sea único.
El identificador de usuario mencionado anteriormente es un identificador de usuario (tal como un número de cuenta de usuario o un número de tarjeta de identidad) que se utiliza cuando el usuario genera el bloque de procesamiento previo utilizando el dispositivo de usuario final. Posteriormente, la plataforma de servicio debe determinar, utilizando un identificador de usuario incluido en el segundo bloque de la cadena de bloques, el usuario que puede ejecutar el servicio (es decir, el usuario que accede con con éxito a la oferta relámpago del producto). Por lo tanto, al generar el bloque de procesamiento previo, el dispositivo de usuario final necesita escribir el identificador de usuario en el bloque de procesamiento previo como contenido incluido en el bloque de procesamiento previo.
El parámetro de ajuste mencionado anteriormente se utiliza para hacer que el valor de característica a ser verificado generado por el dispositivo de usuario final en base al valor de característica de bloque, el identificador de usuario y el parámetro de ajuste satisfagan la regla de generación de bloques. Por ejemplo, suponiendo que la regla de generación de bloques especifica que el valor de característica a ser verificado generado por el dispositivo de usuario final debe ser un valor de resumen cuyos primeros ocho bits son 0. Si el valor de característica a ser verificado generado por el dispositivo de usuario final en base al valor de característica de bloque (es decir, el valor de resumen del bloque anterior), el identificador del usuario y un parámetro de ajuste seleccionado aleatoriamente no cumple con el requisito, el dispositivo de usuario final puede ajustar continuamente el parámetro de ajuste, de modo que después de varios ajustes, el dispositivo de usuario final puede obtener un valor de característica a ser verificado cuyos primeros ocho bits son 0 en base al valor de característica de bloque, el identificador de usuario y el parámetro de ajuste.
Después de generar el valor de característica a ser verificado que satisface la regla de generación de bloques, el dispositivo de usuario final puede generar además, en base al valor de característica a ser verificado generado, el identificador de usuario, el valor de característica de bloque y parámetro de ajuste finalmente obtenido, el bloque de procesamiento previo que satisface la regla de generación de bloques y, además, envía el bloque de procesamiento previo a la red de consenso para un consenso en un proceso posterior.
S203: Realizar un procedimiento de consenso sobre el bloque de procesamiento previo utilizando uno o más dispositivos de usuario final y un nodo, y almacenar el bloque de procesamiento previo sobre el que se alcanza el consenso en la cadena de bloques como un segundo bloque.
Después de generar el bloque de procesamiento previo que satisface la regla de generación de bloques, el dispositivo de usuario final puede enviar el bloque de procesamiento previo a la red de consenso, para realizar el procedimiento de consenso sobre el bloque de procesamiento previo utilizando la red de consenso. La red de consenso puede incluir cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques en el momento actual (es decir, un dispositivo de usuario final propiedad de cada uno de los usuarios que participa en la venta flash de productos en el momento actual) y el al menos un nodo predeterminado. Por lo tanto, en un proceso en el que el dispositivo de usuario final envía el bloque de procesamiento previo a la red de consenso, el dispositivo de usuario final puede obtener primero, de la plataforma de servicio, una dirección de cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques en el momento actual y luego envía el bloque de procesamiento previo a cada uno de los dispositivos de usuario final para un consenso utilizando la dirección obtenida.
Las direcciones de los nodos se pueden escribir en el dispositivo de usuario final por adelantado (o en el software de cliente instalado en el dispositivo de usuario final). El dispositivo de usuario final puede enviar directamente el bloque de procesamiento previo a los nodos utilizando las direcciones de los nodos que están almacenados por el dispositivo de usuario final, de modo que los nodos y cada uno de los dispositivos de usuario final que obtienen la regla de generación de bloques en el momento alcanzan un consenso sobre el bloque de procesamiento previo. Ciertamente, el dispositivo de usuario final también puede obtener las direcciones de los nodos de la plataforma de servicio.
Una vez que la red de consenso alcanza el consenso sobre el bloque de procesamiento previo, cada uno de los dispositivos de usuario final (cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques en el momento actual) y el al menos un nodo pueden almacenar, como un segundo bloque, el bloque de procesamiento previo en una cadena de bloques almacenada por cada uno de los dispositivos de usuario final o el al menos un nodo.
Vale la pena señalar que, después de llegar el momento predeterminado del servicio, el al menos un nodo predeterminado puede participar en un consenso sobre cada uno de los bloques de procesamiento previo generado por cada uno de los dispositivos de usuario final (es decir, el dispositivo de usuario final que obtiene la regla de generación de bloques). En este proceso, los nodos aún pueden generar bloques de procesamiento previo de forma continua y enviar los bloques de procesamiento previo a la red de consenso para un consenso. El bloque de procesamiento previo generado por cada uno de los nodos en la etapa de adquisición de calificación del servicio se puede enviar solo a los otros nodos para un consenso, y el bloque de procesamiento previo no se envía al dispositivo de usuario final que obtiene la regla de generación de bloques en el momento actual.
Ciertamente, cuando llega el momento predeterminado del servicio, la plataforma de servicio puede enviar un mensaje a los nodos predeterminados, para indicar a los nodos que dejen de generar temporalmente el bloque de procesamiento previo y se unan al consenso sobre el bloque de procesamiento previo generado por cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques. En consecuencia, en la etapa de adquisición de calificación del servicio, todos los bloques que están conectados a la cadena de bloques se generan por cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques.
S204: Al recibir información de confirmación de calificación enviada por la plataforma de servicio, enviar una cadena de bloques en un momento actual que está almacenada por el dispositivo de usuario final a la plataforma de servicio, para que la plataforma de servicio ejecute un servicio en base a un primer bloque y un segundo bloque en la cadena de bloques en el momento actual.
Al determinar que el servicio cumple con una condición predeterminada, la plataforma de servicio puede obtener una cadena de bloques almacenada por al menos un dispositivo de usuario final o al menos un nodo en el momento actual desde el dispositivo de usuario final o el nodo, y determinar el usuario que puede ejecutar el servicio desde la cadena de bloques.
La condición predeterminada mencionada aquí puede ser: monitorizar si el momento actual es una fecha límite de la etapa de adquisición de calificación (es decir, una fecha límite para participar en la venta flash de productos) especificada por el servicio. Al determinar que el momento actual es la fecha límite de la etapa de adquisición de calificación especificada por el servicio, la plataforma de servicio puede determinar que el servicio cumple con la condición predeterminada y obtener además la cadena de bloques correspondiente al momento actual de al menos un dispositivo de usuario final que obtiene la regla de generación de bloques en el momento actual o el al menos un nodo predeterminado.
Además, la condición predeterminada mencionada aquí puede ser alternativamente: monitorizar si un número de bloques en la cadena de bloques alcanza un número predeterminado especificado por el servicio. La plataforma de servicio siempre puede monitorizar una cantidad de bloques en una cadena de bloques almacenada en cada uno de los dispositivos de usuario final (el dispositivo de usuario final que obtiene la regla de generación de bloques) o en cada uno de los nodos. Al detectar que el número de bloques en la cadena de bloques alcanza el número predeterminado especificado por el servicio, la plataforma de servicio puede determinar que el servicio cumple con la condición predeterminada y luego obtener la cadena de bloques de cada uno de los dispositivos de usuario final o del nodo. El número predeterminado especificado por el servicio puede ser un número total de bloques en la cadena de bloques, o puede ser un número de bloques que están conectados con la cadena de bloques después del momento predeterminado del servicio. Ciertamente, la condición predeterminada puede existir alternativamente en otra forma y un miembro del personal de la plataforma de servicio puede establecer el contenido específico de la condición predeterminada. Los ejemplos se omiten aquí por simplicidad.
En un proceso de obtención de la cadena de bloques, la plataforma de servicio puede enviar la información de confirmación de calificación a cada uno de los dispositivos de usuario final (cada uno de los dispositivos de usuario final que obtiene la regla de generación de bloques) o al nodo, de modo que al recibir la información de confirmación de calificación, el dispositivo de usuario final o el nodo puede enviar, a la plataforma de servicio, una cadena de bloques que corresponde al momento actual y que está almacenada por el dispositivo de usuario final o el nodo, de modo que la plataforma de servicio puede determinar el usuario que puede ejecutar el servicio de la cadena de bloques.
Después de recibir la información de determinación de calificación, el dispositivo de usuario final o el nodo puede enviar toda la cadena de bloques almacenada por el dispositivo de usuario final o el nodo en el momento actual a la plataforma de servicio, o puede enviar una parte de la cadena de bloques a la plataforma de servicio. La parte de la cadena de bloques que envía el dispositivo de usuario final o el nodo a la plataforma de servicio puede ser una parte generada después de llegar momento predeterminado del servicio a la cadena de bloques, por ejemplo, una parte que incluye un bloque de procesamiento previo en el que se alcanza un consenso y está almacenado por cada uno de los dispositivos de usuario final o el nodo en la cadena de bloques en forma de un primer bloque o un segundo bloque después de comenzar la venta flash de productos, como se muestra en la FIG. 3.
La FIG. 3 es un diagrama esquemático que ilustra una parte, de una cadena de bloques, generada después de un momento predeterminado especificado por un servicio, de acuerdo con una implementación de la presente solicitud.
En la FIG. 3, la cadena de bloques incluye dos tipos de bloques. Un tipo de bloque es un primer bloque generado por un nodo, y se denota como A, y el otro tipo de bloque es un segundo bloque generado por un dispositivo de usuario final, y se denota como B. La cadena de bloques se puede dividir en dos partes: Una parte de la cadena de bloques se forma antes del momento predeterminado especificado por el servicio, y se puede denominar una primera parte. En la primera parte, la mayoría de los bloques son primeros bloques (es decir, bloques A) generados por el nodo. La otra parte de la cadena de bloques es una parte de la cadena de bloques formada después de la primera parte de la cadena de bloques, es decir, una parte de la cadena de bloques formada al generar un bloque de procesamiento previo por el dispositivo de usuario final o el nodo llega después del momento predeterminado especificado por el servicio y puede denominarse una segunda parte. En la segunda parte, el nodo obtiene algunos bloques generando un primer bloque (es decir, el bloque A), y el dispositivo de usuario final obtiene los otros bloques generando un segundo bloque (es decir, el bloque B).
En base a esto, después de recibir la información de confirmación de calificación enviada por una plataforma de servicio, el dispositivo de usuario final o el nodo puede enviar la segunda parte de la cadena de bloques a la plataforma de servicio, y la plataforma de servicio puede determinar, en base a la parte obtenida de la cadena de bloques, un usuario que ejecuta el servicio.
Ciertamente, el dispositivo de usuario final o el nodo también puede seleccionar aleatoriamente una parte de la primera parte de la cadena de bloques para obtener y enviar la otra parte de la cadena de bloques (incluida una parte de la primera parte y la segunda parte completa) a la plataforma de servicio.
Después de obtener la cadena de bloques, la plataforma de servicio puede determinar un primer bloque de la cadena de bloques en base al momento predeterminado y seleccionar un segundo bloque de la cadena de bloques en base al primer bloque determinado. En la implementación actual de la presente solicitud, cada uno de los primeros bloques puede incluir un tiempo de generación del primer bloque. Debido a que los bloques en la cadena de bloques están conectados secuencialmente en una secuencia de tiempo, la plataforma de servicio puede determinar los tiempos de generación de todos los primeros bloques de la cadena de bloques, determinar además un primer bloque cuyo tiempo de generación es el más cercano al momento predeterminado y luego determinar el primer bloque como un bloque marcado.
Vale la pena señalar que en la implementación actual de la presente solicitud, al determinar el bloque marcado, la plataforma de servicio puede dividir la cadena de bloques obtenida en dos partes utilizando el momento predeterminado como un límite. Cada uno de los bloques incluido en una parte es un bloque generado antes del momento predeterminado (por ejemplo, un bloque incluido en la primera parte en la FIG. 3), y cada uno de los bloques en la otra parte es un bloque generado después del momento predeterminado (por ejemplo, un bloque incluido en la segunda parte de la FIG. 3). La plataforma de servicio puede determinar un primer bloque cuyo tiempo de generación es el más cercano al momento predeterminado de la otra parte, y determinar el primer bloque como el bloque marcado.
Después de determinar el bloque marcado, la plataforma de servicio puede seleccionar al menos un segundo bloque ubicado después del bloque marcado de la cadena de bloques, y además determinar, en base a un identificador de usuario incluido en el al menos un segundo bloque seleccionado, un usuario que puede ejecutar el servicio (un usuario que tiene la oportunidad de accede a la oferta relámpago de un producto). La plataforma de servicio puede seleccionar primero cada uno de los segundos bloques ubicado después del bloque marcado (el segundo bloque mencionado aquí es un bloque generado por cada uno de los dispositivos de usuario final en una etapa de adquisición de calificación). Luego, se selecciona un número predeterminado de segundos bloques clasificados en una secuencia de clasificación de bloques en la cadena de bloques, y luego se determina el usuario que ejecuta el servicio (es decir, se determina un usuario que accede con éxito a la oferta relámpago del producto) en base a un identificador de usuario incluido en el número predeterminado de segundos bloques.
La plataforma de servicio puede seleccionar directamente un número predeterminado de bloques ubicados después del bloque marcado en una secuencia de clasificación de los bloques en la cadena de bloques después de determinar el bloque marcado. Al seleccionar el número predeterminado de bloques, cada vez que la plataforma de servicio encuentra un bloque, la plataforma de servicio puede determinar si el bloque es un primer bloque o un segundo bloque. Cuando el bloque es un primer bloque, la plataforma de servicio no selecciona el primer bloque y salta al siguiente bloque, y al determinar que el bloque es un segundo bloque, la plataforma de servicio selecciona el bloque. En otras palabras, la plataforma de servicio necesita seleccionar el número predeterminado de segundos bloques clasificados en primer lugar después del bloque marcado en dicho método.
Después de seleccionar el número predeterminado de segundos bloques de la cadena de bloques, la plataforma de servicio puede determinar además los identificadores de usuario incluidos en los segundos bloques y determinar además el usuario que puede ejecutar el servicio.
Vale la pena señalar que en la implementación actual de la presente solicitud, después de obtener la cadena de bloques de cada uno de los dispositivos de usuario final o del nodo, la plataforma de servicio puede determinar una cadena principal a partir de la cadena de bloques y determinar, en base a la cadena principal, el usuario que puede ejecutar el servicio. En la implementación actual de la presente solicitud, la plataforma de servicio puede determinar la cadena más larga de la cadena de bloques obtenida y determinar la cadena más larga como la cadena principal.
En consecuencia, después de determinar la cadena principal a partir de la cadena de bloques obtenida, la plataforma de servicio determina, a partir de la cadena principal, un primer bloque cuyo tiempo de generación es el más cercano al momento predeterminado, y determina el primer bloque como el bloque marcado. Luego, la plataforma de servicio selecciona el número predeterminado de segundos bloques ubicados después del bloque marcado de la cadena principal en la secuencia de clasificación de los bloques en la cadena principal, y luego determina, en base a los identificadores de usuario incluidos en los segundos bloques seleccionados, el usuario que ejecuta el servicio.
Ciertamente, en la implementación actual de la presente solicitud, un miembro del personal de la plataforma de servicio puede establecer una regla de adquisición de calificación para el servicio, y la regla de adquisición de calificación puede especificar cómo un usuario puede tener una oportunidad de ejecutar el servicio. Por ejemplo, para un servicio de oferta relámpago de productos, una regla de adquisición de calificación correspondiente al servicio especifica uno o más bloques que satisfacen la regla de adquisición de calificación en una cadena de bloques almacenada posteriormente por cada uno de los dispositivos de usuario final. En otras palabras, la regla de adquisición de calificación especifica uno o más bloques, generados por un usuario utilizando el dispositivo de usuario final en los usuarios que obtienen una regla de generación de bloques, que satisface la regla de adquisición de calificación.
El miembro del personal de la plataforma de servicio puede formular una pluralidad de reglas de adquisición de calificación para el servicio con referencia a una situación real, de modo que la plataforma de servicio puede determinar posteriormente un segundo bloque que satisface las reglas de adquisición de calificación de la cadena de bloques
obtenida en base a las reglas de adquisición de calificación, en lugar de utilizar solo el número predeterminado de segundos bloques clasificados en primer lugar ubicados después del bloque marcado en la cadena de bloques como base para determinar un usuario "ganador del premio" (el usuario "ganador del premio" es el usuario que accede con éxito a la oferta relámpago del producto). Como tal, después de llegar el momento predeterminado del servicio, el usuario que luego obtiene la regla de generación de bloques también tiene la oportunidad de ejecutar el servicio, de modo que el servicio brinda una mejor experiencia de usuario al usuario.
En la implementación actual de la presente solicitud, después de recibir una solicitud de adquisición de calificación para el servicio enviada por el dispositivo de usuario final, la plataforma de servicio puede devolver una regla de generación de bloques correspondiente al servicio y la regla de adquisición de calificación al dispositivo de usuario final. Después de obtener la regla de adquisición de calificación, el dispositivo de usuario final puede almacenar la regla de adquisición de calificación. Ciertamente, la plataforma de servicio puede enviar por separado la regla de generación de bloques y la regla de adquisición de calificación al dispositivo de usuario final. Por ejemplo, después de recibir la solicitud de adquisición de calificación enviada por el dispositivo de usuario final, la plataforma de servicio puede devolver solo la regla de generación de bloques al dispositivo de usuario final y puede enviar la regla de adquisición de calificación a cada uno de los dispositivos de usuario final en un periodo de tiempo unificado.
El dispositivo de usuario final almacena la regla de adquisición de calificación, de modo que después de determinar, en una etapa de confirmación de calificación, al menos un usuario que puede ejecutar el servicio, la plataforma de servicio puede publicar un identificador de usuario (es decir, un identificador del usuario que puede ejecutar el servicio) incluido en al menos un segundo bloque seleccionado. En consecuencia, el dispositivo de usuario final puede verificar, utilizando la regla de adquisición de calificación almacenada por el dispositivo de usuario final, el identificador de usuario publicado por la plataforma de servicio, para determinar si un usuario correspondiente al identificador de usuario está calificado para ejecutar el servicio.
Se puede ver en el método anterior que la plataforma de servicio puede separar, en términos de tiempo, a los usuarios que participan en la obtención de calificación del servicio, de modo que algunos usuarios pueden obtener la regla de generación de bloques antes del momento predeterminado, y luego participar en el servicio en base a la regla de generación de bloques obtenida cuando llega el momento predeterminado. Además, al seleccionar el usuario que ejecuta el servicio, la plataforma de servicio puede seleccionar el segundo bloque utilizando el primer bloque incluido en la cadena de bloques como referencia de tiempo, y determinar, en base al segundo bloque seleccionado, el usuario que ejecuta el servicio. Como tal, incluso si el dispositivo de usuario final puede obtener la regla de generación de bloques en diferentes puntos de tiempo, para ejecutar el servicio, el dispositivo de usuario final necesita generar, en base a la referencia de tiempo (p. ej., el primer bloque), un segundo bloque que satisface la regla de generación de bloques.
Por lo tanto, como tal, no solo se puede aliviar en gran medida la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega el momento predeterminado, sino que también se puede garantizar el funcionamiento normal de la plataforma de servicio después de llegar el momento predeterminado. Se puede garantizar además que si el usuario puede ejecutar el servicio utilizando el dispositivo de usuario final, incluso si la regla de generación de bloques se obtiene utilizando el dispositivo de usuario final antes del momento predeterminado, el segundo bloque que cumple con la regla de generación de bloques debe generarse solo cuando llega el momento predeterminado, lo que garantiza la equidad en la ejecución del servicio.
Vale la pena señalar que al detectar que el momento actual es el momento predeterminado del servicio, la plataforma de servicio puede obtener la cadena de bloques del nodo, determinar el último bloque en la cadena de bloques en el momento actual y luego determinar el bloque como un bloque marcado. Luego, al detectar que el servicio cumple con una condición predeterminada, la plataforma de servicio puede obtener una cadena de bloques en este momento desde el nodo o el dispositivo de usuario final, y determinar cada uno de los bloques ubicado después del bloque marcado en la cadena de bloques en este momento. La plataforma de servicio puede marcar cada uno de los bloques después del bloque marcado, para determinar el usuario que ejecuta el servicio. Una diferencia entre el bloque marcado mencionado aquí y el bloque marcado anterior es que el bloque marcado anterior se determina en base al primer bloque. Sin embargo, en la cadena de bloques obtenida por la plataforma de servicio en el momento predeterminado, el último bloque en la cadena de bloques puede ser un primer bloque o puede ser un segundo bloque. Por lo tanto, el bloque marcado mencionado aquí se puede obtener en base al primer bloque o se puede obtener en base al segundo bloque.
El método de ejecución de servicio descrito anteriormente se puede aplicar tanto a un escenario de oferta relámpago de productos como a un escenario de servicio, tal como una lotería de matrículas o un sorteo de premios. Los ejemplos se omiten aquí por simplicidad. En consecuencia, debido a que el método de ejecución de servicio puede ser aplicable a una pluralidad de escenarios de servicio similares a una oferta relámpago de productos, el momento predeterminado mencionado anteriormente puede ser otro momento. Por ejemplo, el momento predeterminado también puede ser una fecha límite de la etapa de adquisición de calificación del servicio. En consecuencia, al detectar que el momento actual es el momento predeterminado, la plataforma de servicio puede determinar un primer bloque cuyo tiempo de generación es el más cercano al momento predeterminado, y determinar el primer bloque determinado como un bloque marcado. Luego, la plataforma de servicio puede determinar además cada uno de los segundos bloques que se
encuentra antes del bloque marcado en la cadena de bloques, y seleccionar un número predeterminado de segundos bloques que están más cerca del bloque marcado en los segundos bloques en una secuencia de clasificación de los segundos bloques en la cadena de bloques, para determinar, utilizando los segundos bloques seleccionados, el usuario que ejecuta el servicio.
Vale la pena señalar además que, en la implementación actual de la presente solicitud, todos los dispositivos de usuario final o nodos pueden generar bloques de procesamiento previo en el mismo momento, pero los consensos sobre todos los bloques de procesamiento previo se alcanzan en momentos diferentes. En base a esto, cuando cada uno de los dispositivos de usuario final o nodos realiza un procedimiento de consenso sobre el bloque de procesamiento previo generado por el dispositivo de usuario final, el dispositivo de usuario final o el nodo puede añadir una marca de tiempo al bloque de procesamiento previo después de determinar que se alcanza el consenso sobre el bloque de procesamiento previo. La marca de tiempo indica un momento en el que se alcanza el consenso sobre el bloque de procesamiento previo. Como tal, cuando cada uno de los dispositivo de usuario final o nodos almacena posteriormente bloques de procesamiento previo que incluyen una marca de tiempo en la cadena de bloques como segundos bloques, el dispositivo de usuario final o el nodo puede ordenar los segundos bloques en una secuencia de tiempo, de modo que los segundos bloques se clasifican en una cadena tanto como sea posible, reduciendo así la posibilidad de generar una cadena ramificada en la cadena de bloques. Ciertamente, después de que se alcanza un consenso sobre un bloque de procesamiento previo generado por el nodo, se puede agregar una marca de tiempo al bloque de procesamiento previo, y el bloque de procesamiento previo se almacena en la cadena de bloques en forma de un primer bloque en una secuencia de tiempo.
Anteriormente, se describe el método de ejecución de servicio proporcionado en las implementaciones de la presente solicitud. En base a la misma idea, las implementaciones de la presente solicitud proporcionan además dos dispositivos de ejecución de servicio, como se muestra en la FIG. 4 y FIG. 5.
La FIG. 4 es un diagrama esquemático que ilustra un dispositivo de ejecución de servicio, de acuerdo con una implementación de la presente solicitud. El dispositivo incluye: un módulo 401 de recepción, configurado para recibir una solicitud de adquisición de calificación enviada por un dispositivo de usuario final; un módulo 402 de retorno, configurado para devolver una regla de generación de bloques al dispositivo de usuario final en base a la solicitud de adquisición de calificación, de modo que el dispositivo de usuario final genera un segundo bloque en base a una cadena de bloques y la regla de generación de bloques, y almacena el segundo bloque en la cadena de bloques; un módulo 403 de adquisición, configurado para obtener al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o al menos un nodo cuando se determina que se cumple con una condición predeterminada; un módulo 404 de selección, configurado para determinar un primer bloque de la cadena de bloques obtenida en el momento actual en base a un momento predeterminado, y seleccionar un segundo bloque en base al primer bloque determinado; y un módulo 405 de ejecución, configurado para ejecutar un servicio en base a un identificador de usuario incluido en el segundo bloque seleccionado.
El módulo 404 de selección está configurado para determinar los tiempos de generación de todos los primeros bloques en la cadena de bloques; determinar un primer bloque cuyo tiempo de generación es el más cercano al momento predeterminado, y determinar el primer bloque como un bloque marcado; y seleccionar un segundo bloque que se encuentra después del bloque marcado de la cadena de bloques obtenida en el momento actual.
El módulo 404 de selección está configurado para seleccionar un número predeterminado de segundos bloques que están ubicados después del bloque marcado de la cadena de bloques en el momento actual en una secuencia de clasificación de bloques en la cadena de bloques en el momento actual.
La FIG. 5 es un diagrama esquemático que ilustra otro dispositivo de ejecución de servicio, de acuerdo con una implementación de la presente solicitud. El dispositivo incluye: un módulo 501 de envío, configurado para enviar una solicitud de adquisición de calificación a una plataforma de servicio, de modo que la plataforma de servicio devuelve una regla de generación de bloques al dispositivo; un módulo 502 de generación, configurado para generar un bloque de procesamiento previo en base a una cadena de bloques y la regla de generación de bloques; un módulo 503 de consenso, configurado para realizar un procedimiento de consenso en el bloque de procesamiento previo utilizando uno o más de otros dispositivos de usuario final y un nodo, y almacenar el bloque de procesamiento previo en el que se alcanza el consenso en la cadena de bloques como un segundo bloque; y un módulo 504 de recepción, configurado para: al recibir información de confirmación de calificación enviada por la plataforma de servicio, enviar la cadena de bloques en un momento actual que está almacenada por el dispositivo a la plataforma de servicio, de modo que la plataforma de servicio ejecuta un servicio en base a un primer bloque y un segundo bloque en la cadena de bloques en el momento actual.
El módulo 502 de generación está configurado para determinar un valor de característica de bloque del último bloque en la cadena de bloques; determinar un parámetro de ajuste, de modo que un valor de característica a ser verificado generado utilizando el parámetro de ajuste, el valor de característica de bloque y un identificador de usuario satisface la regla de generación de bloques; y generar el bloque de procesamiento previo en base al valor de característica a ser verificado, el valor de característica de bloque, el parámetro de ajuste y el identificador de usuario.
En la implementación actual de la presente solicitud, después de recibir la solicitud de adquisición de calificación enviada por el dispositivo de usuario final, la plataforma de servicio puede devolver la regla de generación de bloques al dispositivo de usuario final, en lugar de devolver la regla de generación de bloques al dispositivo de usuario final solo cuando llega el momento predeterminado. Por lo tanto, incluso si el dispositivo de usuario final envía la solicitud de adquisición de calificación a la plataforma de servicio antes del momento predeterminado, la plataforma de servicio todavía devuelve la regla de generación de bloques al dispositivo de usuario final. En otras palabras, la plataforma de servicio puede separar, en términos de tiempo, a los usuarios que participan en la obtención de la calificación del servicio, de modo que algunos usuarios puedan obtener la regla de generación de bloques antes del momento predeterminado, y luego participar en el servicio en base a la regla de generación de bloques obtenida cuando llega el momento predeterminado.
Además, al seleccionar un usuario que ejecuta el servicio, la plataforma de servicio puede seleccionar el segundo bloque utilizando el primer bloque incluido en la cadena de bloques como una referencia de tiempo, y determinar, en base al segundo bloque seleccionado, el usuario que ejecuta el servicio. Como tal, incluso si el dispositivo de usuario final puede obtener la regla de generación de bloques en diferentes puntos de tiempo, para ejecutar el servicio, el dispositivo de usuario final necesita generar, en base a la referencia de tiempo (p. ej., el primer bloque), un segundo bloque que satisface la regla de generación de bloques. Por lo tanto, como tal, no solo se puede aliviar en gran medida la presión de acceso a la que se enfrenta la plataforma de servicio cuando llega el momento predeterminado, sino que también se puede garantizar el funcionamiento normal de la plataforma de servicio después de llegar el momento predeterminado. Se puede garantizar además que si el usuario puede ejecutar el servicio utilizando el dispositivo de usuario final, incluso si la regla de generación de bloques se obtiene utilizando el dispositivo de usuario final antes del momento predeterminado, el segundo bloque que cumple con la regla de generación de bloques debe generarse solo cuando llega el momento predeterminado, lo que garantiza la equidad en la ejecución del servicio.
En la década de 1990, se puede distinguir claramente si una mejora técnica es una mejora de hardware (por ejemplo, una mejora de la estructura de un circuito, tal como un diodo, un transistor o un interruptor) o una mejora de software (una mejora de un procedimiento de método). Sin embargo, a medida que se desarrollan las tecnologías, las mejoras actuales de muchos procedimientos de métodos pueden considerarse mejoras directas a las estructuras de circuitos de hardware. Un diseñador suele programar un procedimiento de método mejorado en un circuito de hardware para obtener la estructura de circuito de hardware correspondiente. Por lo tanto, un procedimiento de método puede mejorarse utilizando un módulo de entidad de hardware. Por ejemplo, un dispositivo lógico programable (PLD) (por ejemplo, una matriz de compuertas programables en campo (FPGA)) es un circuito integrado de este tipo, y un usuario determina una función lógica del PLD a través de la programación del dispositivo. El diseñador realiza la programación para "integrar" un sistema digital a un PLD sin solicitar al fabricante de chips que diseñe y produzca un chip de circuito integrado de aplicación específica. Además, en la actualidad, en lugar de fabricar manualmente un chip integrado, este tipo de programación se implementa principalmente utilizando software de "compilador lógico (compilador lógico)". La programación es similar a un compilador de software que se utiliza para desarrollar y escribir un programa. El código original debe estar escrito en un lenguaje de programación particular para su compilación. El lenguaje se conoce como lenguaje de descripción de hardware (HDL). Hay muchos HDL, tales como el lenguaje de expresión booleano avanzado (ABEL), el lenguaje de descripción de hardware Altera (AHDL), el Confluence, el lenguaje de programación de la Universidad de Cornell (CUPL), el HDCal, el lenguaje de descripción de hardware Java (JHDL), el Lava, el Lola, el MyHDL, el PALASM y el lenguaje de descripción de hardware Ruby (RHDL). El lenguaje de descripción de hardware de circuito integrado de muy alta velocidad (VHDL) y el Verilog son los más utilizados. Un experto en la técnica también debería comprender que un circuito de hardware que implementa un procedimiento de método lógico puede obtenerse fácilmente una vez que el procedimiento de método se programa lógicamente utilizando los diversos lenguajes de descripción de hardware descritos y se programa en un circuito integrado.
Un controlador puede implementarse utilizando cualquier método apropiado. Por ejemplo, el controlador puede ser un microprocesador o un procesador, o un medio legible por computadora que almacena código de programa legible por computadora (tal como software o firmware) que puede ejecutarse por el microprocesador o el procesador, una puerta lógica, un interruptor, un circuito integrado de aplicación específica (ASIC), un controlador lógico programable o un microcontrolador incorporado. Los ejemplos del controlador incluyen, entre otros a los siguientes microcontroladores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 y Silicone Labs C8051F320. También se puede implementar un controlador de memoria como parte de la lógica de control de la memoria. Un experto en la técnica también sabe que, además de implementar el controlador utilizando únicamente el código de programa legible por computadora, los pasos del método pueden programarse lógicamente para permitir que el controlador implemente la misma función en las formas de la puerta lógica, el interruptor, el circuito integrado de aplicación específica, el controlador lógico programable y el microcontrolador incorporado. Por lo tanto, el controlador puede considerarse como un componente de hardware, y los dispositivos configurados para implementar diversas funciones en el controlador también pueden considerarse como una estructura dentro del componente de hardware. O los dispositivos configurados para implementar diversas funciones pueden incluso considerarse como módulos de software que implementan el método y una estructura dentro del componente de hardware.
El sistema, dispositivo, módulo o unidad ilustrado en las implementaciones anteriores puede implementarse utilizando un chip de computadora o una entidad, o puede implementarse utilizando un producto que tiene una determinada función. Un dispositivo de implementación típico es una computadora. La computadora puede ser, por ejemplo, una
computadora personal, una computadora portátil, un teléfono móvil, un teléfono con cámara, un teléfono inteligente, un asistente digital personal, un reproductor multimedia, un dispositivo de navegación, un dispositivo de correo electrónico, una consola de juegos, una computadora tableta o un dispositivo ponible, o una combinación de cualquiera de estos dispositivos.
Para facilitar la descripción, el dispositivo anterior se describe dividiendo las funciones en diversas unidades. Ciertamente, cuando se implementa la presente solicitud, las funciones de las unidades se pueden implementar en una o más piezas de software y/o hardware.
Un experto en la técnica debería comprender que una implementación de la presente divulgación puede proporcionarse como un método, un sistema o un producto de programa informático. Por consiguiente, la presente descripción puede utilizar una forma de implementaciones sólo de hardware, implementaciones sólo de software, o implementaciones con una combinación de software y hardware. Además, la presente divulgación 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 limitan a, una memoria de disco, un CD-ROM, una memoria óptica, etc.) que incluyen código de programa utilizable por computadora.
La presente divulgación se describe con referencia a los diagramas de flujo y/o diagramas de bloques del método, el dispositivo (sistema) y el producto de programa informático en base a las implementaciones de la presente divulgación. Debe entenderse que se pueden utilizar instrucciones de programa informático para implementar cada uno de los procesos y/o cada uno de los bloques en los diagramas de flujo y/o los diagramas de bloques y una combinación de un proceso 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 integrado 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 del otro dispositivo de procesamiento de datos programable genera un dispositivo para implementar una función específica 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 ordenador que puede instruir al ordenador o a otro dispositivo programable de procesamiento de datos para que funcione de una manera específica, de modo que las instrucciones almacenadas en la memoria legible por ordenador generan un artefacto que incluye un dispositivo de instrucción. El dispositivo de instrucción implementa una función específica 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 del 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 pasos operativos en la computadora o en el otro dispositivo programable, generando así un procesamiento implementado por computadora. Por tanto, las instrucciones ejecutadas en la computadora o en el otro dispositivo programable proporcionan pasos para implementar una función específica 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 o más interfaces de entrada/salida, una o más interfaces de red y una o más memorias.
La memoria puede incluir una memoria no persistente, una memoria de acceso aleatorio (RAM), una memoria no volátil y/u otra forma en el medio legible por computadora, por ejemplo, una memoria de solo lectura (ROM) o una memoria flash (flash RAM). La memoria es un ejemplo del medio legible por computadora.
El medio legible por computadora incluye medios persistentes, no persistentes, móviles e inamovibles que pueden almacenar 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. Los ejemplos de un medio de almacenamiento informático incluyen, entre otros, una memoria de acceso aleatorio de parámetros (PRAM), una memoria de acceso aleatorio estática (SRAM), una memoria de acceso aleatorio dinámica (DRAM), otra categoría de memoria de acceso aleatorio (RAM), una memoria de solo lectura (ROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), una memoria flash u otra tecnología de memoria, una memoria de disco compacto de solo lectura (CD-ROM), un disco versátil digital (DVD) u otro almacenamiento óptico, una cinta magnética en casete, un almacenamiento en cinta magnética/disco magnético, otro dispositivo de almacenamiento magnético o cualquier otro medio que no sea de transmisión. El medio de almacenamiento informático se puede utilizar para almacenar información accesible para el dispositivo informático. En base a la definición de la presente memoria descriptiva, el medio legible por computadora no incluye los medios legibles por computadora transitorios (medios transitorios) tales como una señal de datos modulada y un portador.
Vale la pena señalar además que los términos "incluye", "comprende" o cualquier otra variante están destinados a cubrir una inclusión no exclusiva, por lo que un proceso, un método, un producto o un dispositivo que incluye una lista de elementos no solo incluye esos elementos, sino que también incluye otros elementos que no se enumeran expresamente, o incluye además elementos inherentes a dicho proceso, método, producto o dispositivo. Sin más
restricciones, un elemento precedido por "incluye un..." no excluye 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 debería comprender que una implementación de la presente solicitud puede proporcionarse como un método, un sistema o un producto de programa informático. Por lo tanto, la presente solicitud puede utilizar una forma de implementaciones de solo hardware, implementaciones de solo 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, un CD-ROM, una memoria óptica, etc.) que incluye código de programa utilizable por computadora.
La presente solicitud puede describirse en el contexto general de instrucciones ejecutables por computadora ejecutadas por una computadora, por ejemplo, un módulo de programa. Normalmente, el módulo de programa incluye una rutina, un programa, un objeto, un componente, una estructura de datos, etc. que ejecuta una tarea específica o implementa una categoría de datos abstracta específica. La presente solicitud también se puede practicar en entornos informáticos distribuidos. En los entornos informáticos distribuidos, las tareas se realizan mediante dispositivos de procesamiento remoto conectados a través de una red de comunicaciones. En un entorno informático distribuido, el módulo de programa puede ubicarse en medios de almacenamiento informáticos tanto locales como remotos, incluidos dispositivos de almacenamiento.
Las implementaciones en la presente memoria descriptiva se describen de forma progresiva. Para partes iguales o similares de las implementaciones, se pueden hacer referencias a las implementaciones. Cada una de las implementaciones se centra en una diferencia con respecto a otras implementaciones. En particular, la implementación de un sistema es básicamente similar a la implementación de un método y, por lo tanto, se describe brevemente. Para las partes relacionadas, se pueden hacer referencias a descripciones relacionadas en la implementación del método.
Claims (9)
1. Un método para ejecutar un servicio, el método que comprende:
generar continuamente, por un nodo, primeros bloques (A), almacenar los primeros bloques en una cadena de bloques; proporcionar la cadena de bloques para un dispositivo de usuario final;
obtener, mediante el dispositivo de usuario final, una regla de generación de bloques de una plataforma de servicio; generar (S202), por el dispositivo de usuario final y en base a la cadena de bloques, un bloque de procesamiento previo que coincide con la regla de generación de bloques;
realizar (S203), mediante el dispositivo de usuario final, un procedimiento para generar un consenso sobre el bloque de procesamiento previo utilizando uno o más dispositivos de usuario final y el nodo, en donde realizar el procedimiento incluye enviar, mediante el dispositivo de usuario final, el bloque de procesamiento previo a una red de consenso para realizar el procedimiento de consenso en el bloque de procesamiento previo utilizando la red de consenso;
en respuesta a determinar que se alcanza el consenso sobre el bloque de procesamiento previo, almacenar (S203), mediante el dispositivo de usuario final, el bloque de procesamiento previo en la cadena de bloques como un segundo bloque (B);
en respuesta a determinar que se cumple con una condición predeterminada, obtener (S204), mediante la plataforma de servicio, al menos una parte de la cadena de bloques en un momento actual de al menos un dispositivo de usuario final o el nodo;
en respuesta a determinar que el momento actual es un momento predeterminado del servicio, determinar, mediante la plataforma de servicio, un primer bloque actual de la cadena de bloques en el momento actual;
seleccionar un segundo bloque actual en base al primer bloque actual; y
ejecutar (S204), por la plataforma de servicio, el servicio en base a un identificador de usuario comprendido en el segundo bloque actual.
2. El método de acuerdo con la reivindicación 1, que comprende, además:
recibir, mediante la plataforma de servicio, una solicitud de adquisición de calificación enviada por el dispositivo de usuario final; y
devolver (S201), por la plataforma de servicio, la regla de generación de bloques al dispositivo de usuario final en base a la solicitud de adquisición de calificación.
3. El método de acuerdo con una cualquiera de las reivindicaciones 1 o 2, en donde determinar, mediante la plataforma de servicio, el primer bloque comprende:
determinar los tiempos de generación de todos los primeros bloques en la cadena de bloques;
determinar un primer bloque más cercano de todos los primeros bloques cuyo tiempo de generación es el más cercano al momento predeterminado; y
determinar el primer bloque más cercano como un bloque marcado.
4. El método de acuerdo con la reivindicación 3, en donde seleccionar el segundo bloque comprende seleccionar el segundo bloque que se encuentra después del bloque marcado de la cadena de bloques en el momento actual.
5. El método de acuerdo con la reivindicación 4, en donde la selección de un segundo bloque que se encuentra después del bloque marcado comprende:
seleccionar un número predeterminado de segundos bloques que se encuentran después del bloque marcado de la cadena de bloques en el momento actual en una secuencia de clasificación de bloques en la cadena de bloques en el momento actual.
6. El método de una cualquiera de las reivindicaciones 1 a 5, que comprende además:
en respuesta a recibir información de confirmación de calificación enviada por la plataforma de servicio, enviar (S204) la cadena de bloques en un momento actual que está almacenada por el dispositivo de usuario final a la plataforma de servicio.
7. El método de acuerdo con la reivindicación 6, en donde generar el bloque de procesamiento previo comprende: determinar un valor de característica de bloque de un último bloque en la cadena de bloques;
determinar un parámetro de ajuste, de modo que un valor de característica a ser verificado generado utilizando el parámetro de ajuste, el valor de característica de bloque y un identificador de usuario satisface la regla de generación de bloques; y
generar el bloque de procesamiento previo en base al valor de característica a ser verificado, el valor de característica de bloque, el parámetro de ajuste y el identificador de usuario.
8. El método de acuerdo con la reivindicación 7, en donde el valor de característica de bloque comprende un resumen de encabezado del bloque de procesamiento previo.
9. Un dispositivo para la ejecución de servicios, el dispositivo que comprende una pluralidad de módulos (401, 402, 403, 404, 405) configurados para realizar el método de una cualquiera de las reivindicaciones 1 a 8.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710362074.3A CN107395664B (zh) | 2017-05-22 | 2017-05-22 | 一种业务执行的方法及装置 |
PCT/CN2018/087601 WO2018214834A1 (zh) | 2017-05-22 | 2018-05-21 | 一种业务执行的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2875849T3 true ES2875849T3 (es) | 2021-11-11 |
Family
ID=60338964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18806660T Active ES2875849T3 (es) | 2017-05-22 | 2018-05-21 | Método y dispositivo de ejecución de servicio |
Country Status (12)
Country | Link |
---|---|
US (1) | US10554388B2 (es) |
EP (1) | EP3565219B1 (es) |
JP (1) | JP6727633B2 (es) |
KR (1) | KR102050006B1 (es) |
CN (1) | CN107395664B (es) |
ES (1) | ES2875849T3 (es) |
MY (1) | MY194399A (es) |
PH (1) | PH12019501751A1 (es) |
PL (1) | PL3565219T3 (es) |
SG (1) | SG11201906901WA (es) |
TW (1) | TWI664549B (es) |
WO (1) | WO2018214834A1 (es) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395664B (zh) | 2017-05-22 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
CN108648078B (zh) * | 2018-05-02 | 2021-03-23 | 杭州溪塔科技有限公司 | 一种交易预处理方法、装置及电子设备 |
US11444769B2 (en) * | 2018-07-02 | 2022-09-13 | Ares Technologies, Inc. | Systems, devices, and methods for signal localization and verification of sensor data |
CN109218424B (zh) * | 2018-09-14 | 2020-11-03 | 四川海纳仁东科技有限公司 | 基于区块链节点算力的任务分配方法 |
US11614769B2 (en) * | 2019-07-15 | 2023-03-28 | Ecole Polytechnique Federale De Lausanne (Epfl) | Asynchronous distributed coordination and consensus with threshold logical clocks |
CN110598471A (zh) * | 2019-09-17 | 2019-12-20 | 深圳市网心科技有限公司 | 基于区块链的时间戳生成方法、装置、系统及存储介质 |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US11682095B2 (en) | 2020-02-25 | 2023-06-20 | Mark Coast | Methods and apparatus for performing agricultural transactions |
CN111614968B (zh) * | 2020-05-11 | 2021-12-17 | 厦门潭宏信息科技有限公司 | 一种直播方法、设备及存储介质 |
CN113761179A (zh) | 2020-06-03 | 2021-12-07 | 富泰华工业(深圳)有限公司 | 评论管控方法、服务器及可读存储介质 |
CN112162671B (zh) * | 2020-10-13 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 直播数据处理方法、装置、电子设备及存储介质 |
CN113765665B (zh) * | 2021-11-10 | 2022-02-08 | 济南量子技术研究院 | 基于量子密钥的区块链网络及数据安全传输方法 |
CN116204110A (zh) * | 2021-11-30 | 2023-06-02 | 腾讯科技(深圳)有限公司 | 基于区块链的区块处理方法、装置及设备、介质、产品 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496667B2 (en) * | 2006-01-31 | 2009-02-24 | International Business Machines Corporation | Decentralized application placement for web application middleware |
US20090138328A1 (en) * | 2007-11-26 | 2009-05-28 | Yahoo! Inc. | Targeted distribution of commercial incentives |
CN105096132A (zh) * | 2014-05-22 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 交易资格的控制、获取方法及装置 |
US9608829B2 (en) * | 2014-07-25 | 2017-03-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
CN105991731A (zh) * | 2015-02-13 | 2016-10-05 | 中兴通讯股份有限公司 | 一种获取信息的方法、智能终端和服务端 |
US10592985B2 (en) * | 2015-03-02 | 2020-03-17 | Dell Products L.P. | Systems and methods for a commodity contracts market using a secure distributed transaction ledger |
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
US20170011460A1 (en) * | 2015-07-09 | 2017-01-12 | Ouisa, LLC | Systems and methods for trading, clearing and settling securities transactions using blockchain technology |
CN108140180A (zh) * | 2015-07-28 | 2018-06-08 | 雷蛇(亚太)私人有限公司 | 用于奖励产生分布式数字资源场的服务器及控制用于奖励产生分布式数字资源场的服务器的方法 |
US10402792B2 (en) | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
CN105160572A (zh) * | 2015-09-30 | 2015-12-16 | 努比亚技术有限公司 | 控制订单生成的装置、方法及秒杀系统 |
JP6355168B2 (ja) * | 2015-11-09 | 2018-07-11 | 日本電信電話株式会社 | ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム |
US20170132630A1 (en) | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
CN105976248A (zh) * | 2016-04-29 | 2016-09-28 | 邓迪 | 一种众筹抽签方法及系统 |
US20170330159A1 (en) * | 2016-05-13 | 2017-11-16 | Bank Of America Corporation | Resource allocation and transfer in a distributed network |
CN106202505B (zh) * | 2016-07-20 | 2019-09-20 | 北京京东尚科信息技术有限公司 | 数据处理方法及其系统 |
CN106446067B (zh) * | 2016-09-06 | 2020-02-18 | 联动优势科技有限公司 | 一种获取交易数据的方法和装置 |
CN106411777A (zh) * | 2016-09-27 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种处理高并发数据的方法和系统 |
CN106504174A (zh) * | 2016-09-27 | 2017-03-15 | 布比(北京)网络技术有限公司 | 基于区块链的博彩发行系统及装置 |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN106651332B (zh) * | 2016-12-29 | 2020-11-06 | 成都质数斯达克科技有限公司 | 一种区块链中新区块的生成方法及区块链 |
US11095432B2 (en) * | 2017-04-05 | 2021-08-17 | Samsung Sds Co., Ltd. | System for processing data based on blockchain and operating method thereof |
CN107395664B (zh) * | 2017-05-22 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
-
2017
- 2017-05-22 CN CN201710362074.3A patent/CN107395664B/zh active Active
-
2018
- 2018-03-09 TW TW107108042A patent/TWI664549B/zh active
- 2018-05-21 WO PCT/CN2018/087601 patent/WO2018214834A1/zh unknown
- 2018-05-21 JP JP2019541111A patent/JP6727633B2/ja active Active
- 2018-05-21 SG SG11201906901WA patent/SG11201906901WA/en unknown
- 2018-05-21 KR KR1020197022359A patent/KR102050006B1/ko active IP Right Grant
- 2018-05-21 MY MYPI2019004274A patent/MY194399A/en unknown
- 2018-05-21 EP EP18806660.9A patent/EP3565219B1/en active Active
- 2018-05-21 ES ES18806660T patent/ES2875849T3/es active Active
- 2018-05-21 PL PL18806660T patent/PL3565219T3/pl unknown
-
2019
- 2019-07-10 US US16/507,896 patent/US10554388B2/en active Active
- 2019-07-29 PH PH12019501751A patent/PH12019501751A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
MY194399A (en) | 2022-11-30 |
PH12019501751A1 (en) | 2019-09-16 |
CN107395664B (zh) | 2019-09-03 |
EP3565219A1 (en) | 2019-11-06 |
WO2018214834A1 (zh) | 2018-11-29 |
CN107395664A (zh) | 2017-11-24 |
KR102050006B1 (ko) | 2019-11-28 |
TWI664549B (zh) | 2019-07-01 |
EP3565219A4 (en) | 2020-02-26 |
TW201901502A (zh) | 2019-01-01 |
US20190334699A1 (en) | 2019-10-31 |
US10554388B2 (en) | 2020-02-04 |
KR20190099317A (ko) | 2019-08-26 |
SG11201906901WA (en) | 2019-08-27 |
JP2020515940A (ja) | 2020-05-28 |
JP6727633B2 (ja) | 2020-07-22 |
EP3565219B1 (en) | 2021-03-31 |
PL3565219T3 (pl) | 2021-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2875849T3 (es) | Método y dispositivo de ejecución de servicio | |
US11438165B2 (en) | Method and apparatus for processing transaction requests | |
KR102304492B1 (ko) | 합의 검증을 위한 방법 및 장치 | |
ES2866161T3 (es) | Método y aparato para la comunicación entre nodos de la cadena de bloques | |
TWI671699B (zh) | 一種事務請求的處理方法及裝置 | |
KR102315306B1 (ko) | 비즈니스 검증 방법 및 장치 | |
RU2728820C1 (ru) | Способ и устройство обработки данных на основе блокчейна | |
KR102288344B1 (ko) | 서비스 실행 방법 및 디바이스 | |
JP2020508594A (ja) | サービス処理およびコンセンサスの方法およびデバイス | |
TW201832100A (zh) | 區塊鏈系統、資料儲存方法及裝置 | |
JP2020508593A (ja) | コンセンサス検証方法およびデバイス | |
TW201904251A (zh) | 區塊鏈共識方法及設備 | |
TW201901516A (zh) | 基於區塊鏈的資料處理方法及設備 | |
WO2023109520A1 (zh) | 基于区块链的随机数生成方法及装置 | |
US20220171789A1 (en) | Sgx based flow control for distributed ledgers |