BR112019013379A2 - método para consenso com base em protocolo de confiança e dispositivo para consenso com base em protocolo de confiança - Google Patents

método para consenso com base em protocolo de confiança e dispositivo para consenso com base em protocolo de confiança Download PDF

Info

Publication number
BR112019013379A2
BR112019013379A2 BR112019013379A BR112019013379A BR112019013379A2 BR 112019013379 A2 BR112019013379 A2 BR 112019013379A2 BR 112019013379 A BR112019013379 A BR 112019013379A BR 112019013379 A BR112019013379 A BR 112019013379A BR 112019013379 A2 BR112019013379 A2 BR 112019013379A2
Authority
BR
Brazil
Prior art keywords
consensus
server
procedure
message
database
Prior art date
Application number
BR112019013379A
Other languages
English (en)
Other versions
BR112019013379B1 (pt
Inventor
Tang Qiang
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of BR112019013379A2 publication Critical patent/BR112019013379A2/pt
Publication of BR112019013379B1 publication Critical patent/BR112019013379B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

as formas de realização do presente pedido revelam um método e dispositivo de consenso com base em protocolo de confiança. um nó de protocolo de confiança inclui um primeiro servidor, um segundo servidor e pelo menos um banco de dados. o método inclui: armazenar, pelo banco de dados, dados de consenso necessários para a realização de um procedimento de consenso, em que os dados de consenso são invocados pelo primeiro servidor e pelo segundo servidor durante o procedimento de consenso; obter, pelo segundo servidor no lugar do primeiro servidor, dados de consenso a partir do banco de dados e executar o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso, em resposta à determinação de que o primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso; e armazenar, pelo segundo servidor, o resultado de consenso no banco de dados. de acordo com as formas de realização da presente invenção, um servidor normal em um nó pode obter, em lugar de um servidor com defeito, dados de consenso de um banco de dados para executar o procedimento de consenso. ele assegura a execução normal do procedimento de consenso e pode, até certo ponto, melhorar a taxa de sucesso de um procedimento de consenso, melhorando, assim, a eficiência do processamento de serviços de um protocolo de confiança.

Description

“MÉTODO PARA CONSENSO COM BASE EM PROTOCOLO DE CONFIANÇA E DISPOSITIVO PARA CONSENSO COM BASE EM PROTOCOLO DE CONFIANÇA”
Campo Técnico [001] O presente pedido relaciona-se com o campo das tecnologias para computadores e, em particular, com um método e dispositivo de consenso com base em protocolo de confiança (blockchain).
Antecedentes da Invenção [002] Atualmente, a tecnologia de protocolo de confiança é amplamente aplicada e seu modo de descentralização garante que os dados não sejam facilmente adulterados, melhorando assim a segurança.
[003] Em um cenário de aplicação prática, um protocolo de confiança pode fornecer um serviço correspondente para um cliente, e um nó de protocolo de confiança pode processar uma solicitação de serviço de um usuário e gerar um resultado de processamento correspondente. No entanto, o protocolo de confiança pode incluir um nó malicioso ou um nó com defeito. Indubitavelmente, afetando o serviço obtido pelo cliente. Portanto, por exemplo, um procedimento de consenso com base em Tolerância a Falhas Bizantinas Práticas (PBFT) pode ser executado entre nós no protocolo de confiança, de forma que os nós possam concordar com um resultado de processamento correto.
[004] O procedimento de consenso com base em PBFT é usado como um exemplo. Como mostrado na Figura 1, o procedimento de consenso com base em PBFT inclui uma etapa de pré-preparação (pré-preparação), uma etapa de preparação (preparação) e uma etapa de confirmação (confirmação). Um nó (um nó numerado 0 na Figura 1) que recebe uma solicitação de serviço de um cliente (representado por C na Figura 1) envia a solicitação de serviço para outros nós (por exemplo, nós numerados 1, 2 e 3) para executar um
Petição 870190059821, de 27/06/2019, pág. 80/109
2/26 procedimento de consenso. Em cada estágio, os nós enviam uma mensagem de consenso entre si, para que os nós executem um procedimento de consenso. Após o procedimento de consenso em três etapas, pode-se considerar que um consenso é alcançado. Nesse caso, os nós processam separadamente a solicitação de serviço e cada um retorna um resultado de processamento ao cliente.
[005] Em alguns cenários na tecnologia existente, para processar uma grande quantidade de procedimentos de consenso, uma pluralidade de servidores são geralmente dispostas em cada nó na no protocolo de confiança descrito anteriormente, e diferentes servidores podem participar separadamente em diferentes procedimentos de consenso, para melhorar um quantidade de processamento e eficiência de processamento do protocolo de confiança.
[006] No entanto, na prática, um servidor em um nó pode estar com defeito, por exemplo, pode estar offline ou reiniciado. Por exemplo, no procedimento de consenso com base em PBFT, uma vez que um servidor está com defeito, o servidor não pode continuar participando do consenso e afeta a probabilidade de chegar a um consenso. Se um consenso não for alcançado em uma determinada rodada, o consenso precisa ser reiniciado a partir do estágio de pré-preparação, independentemente de uma etapa de consenso no qual o protocolo de confiança esteja atualmente. Aparentemente, isso sem dúvida afeta a eficiência do consenso do protocolo de confiança, e afeta ainda mais a eficiência do processamento de serviço de confiança.
Descrição Resumida da Invenção [007] As formas de realização da presente invenção fornecem um método e dispositivo de consenso com base em protocolo de confiança, para resolver um problema atual de que a eficiência de consenso é relativamente baixa quando um servidor em um nó está com defeito.
Petição 870190059821, de 27/06/2019, pág. 81/109
3/26 [008] Uma forma de realização da presente invenção fornece um método de consenso com base em protocolo de confiança. Um nó de protocolo de confiança inclui um primeiro servidor, um segundo servidor e pelo menos um banco de dados. O método inclui: armazenar, pelo banco de dados, dados de consenso necessários para realizar um procedimento de consenso, em que os dados de consenso são invocados pelo primeiro servidor e pelo segundo servidor durante o procedimento de consenso; obter, pelo segundo servidor no lugar do primeiro servidor, dados de consenso a partir do banco de dados e executar o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso, em resposta a determinação de que o primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso; e armazenar, pelo segundo servidor, o resultado de consenso no banco de dados.
[009] Uma forma de realização da presente invenção fornece um dispositivo de consenso com base em protocolo de confiança, em que um nó de protocolo de confiança inclui um primeiro servidor, um segundo servidor e pelo menos um banco de dados; o banco de dados armazena os dados de consenso necessários para executar um procedimento de consenso, em que os dados de consenso são invocados pelo primeiro servidor e pelo segundo servidor durante o procedimento de consenso; o primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso; e o dispositivo inclui: um módulo de aquisição, configurado para obter dados de consenso correspondentes a uma mensagem de consenso a partir do banco de dados com base na mensagem de consenso; um módulo de execução de consenso, configurado para executar o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso; e um módulo de armazenamento, configurado para armazenar a mensagem de consenso e o resultado de consenso no banco de dados.
Petição 870190059821, de 27/06/2019, pág. 82/109
4/26 [0010] De acordo com o método de consenso com base em protocolo de confiança e dispositivo fornecido nas formas de realização da presente invenção, para cada servidor em um nó de protocolo de confiança, um servidor participante de um determinado procedimento de consenso “publicamente” armazena mensagens de consenso em diferentes estágios de consenso ou um resultado de consenso gerado pelo servidor em uma etapa atual. Em outras palavras, o servidor armazena, em um banco de dados no nó de protocolo de confiança, as mensagens de consenso nos diferentes estágios de consenso ou o resultado de consenso gerado pelo servidor na etapa atual, e o banco de dados pode ser usado para todos os servidores no nó de protocolo de confiança. Como tal, se um servidor participando de uma certa rodada de consenso está com defeito, por exemplo, está offline ou reiniciado, os dados de consenso do servidor podem ser usados por outro servidor no nó de protocolo de confiança, e o outro servidor pode continuar executando o procedimento de consenso correspondente no lugar do servidor com defeito.
[0011] Aparentemente, comparado com a tecnologia existente, no método em que cada servidor em um nó de protocolo de confiança armazena dados de consenso em um banco de dados no nó de protocolo de confiança, mesmo quando um determinado servidor está com defeito, um servidor que está funcionando normalmente pode obter dados de consenso correspondentes a partir do banco de dados e consenso completo no lugar do servidor com defeito. Ele assegura a execução normal do procedimento de consenso e pode melhorar até certo ponto uma taxa de sucesso do procedimento de consenso, enquanto o número de vezes de reinicialização de consenso é reduzido, melhorando assim a eficiência de processamento de serviço de um protocolo de confiança.
Breve Descrição dos Desenhos [0012] Os desenhos anexos aqui descritos pretendem fornecer
Petição 870190059821, de 27/06/2019, pág. 83/109
5/26 uma compreensão adicional do presente pedido e constituem uma parte do presente pedido. As formas de realização ilustrativas do presente pedido e suas descrições destinam-se a descrever o presente pedido e não constituem qualquer limitação ao presente pedido. Nos desenhos anexos:
A Figura 1 ilustra um procedimento de consenso com base em PBFT na tecnologia existente;
A Figura 2a ilustra uma arquitetura de um protocolo de confiança em um procedimento de consenso com base em protocolo de confiança, de acordo com uma forma de realização do presente pedido;
A Figura 2b ilustra uma arquitetura de um nó de protocolo de confiança em um procedimento de consenso com base em protocolo de confiança, de acordo com uma forma de realização do presente pedido;
A Figura 2c ilustra um procedimento de consenso com base em protocolo de confiança no lado do servidor, de acordo com uma forma de realização do presente pedido;
A Figura 2d ilustra uma arquitetura de outro tipo de nó de protocolo de confiança, de acordo com uma forma de realização da presente invenção;
A Figura 3a e a Figura 3b são diagramas esquemáticos que ilustram um processo de mudança de servidor no mesmo procedimento de consenso, de acordo com uma forma de realização do presente pedido; e
A Figura 4 é um diagrama estrutural esquemático que ilustra um dispositivo de consenso com base em protocolo de confiança em um lado do servidor, de acordo com uma forma de realização do presente pedido.
Descrição Detalhada da Invenção [0013] Para tornar mais claros e abrangentes os objetivos, as soluções técnicas e as vantagens do presente pedido, descreve-se a seguir as soluções técnicas do presente pedido com referência às formas de realização
Petição 870190059821, de 27/06/2019, pág. 84/109
6/26 específicas e desenhos anexos correspondentes do presente pedido. Aparentemente, as formas de realização descritas são apenas algumas e não todas as formas de realização do presente pedido. Todas as outras formas de realização obtidas por um técnico no assunto com base nas formas de realização do presente pedido sem esforços criativos devem caber no escopo de proteção do presente pedido.
[0014] Como descrito acima, durante qualquer momento de consenso executado entre nós em um protocolo de confiança, um servidor participando do tempo atual de consenso em qualquer nó pode estar com defeito, por exemplo, pode estar offline ou reiniciado e, consequentemente, o servidor não pode continuar participando no consenso. Portanto, uma taxa de sucesso de consenso pode ser reduzida. Em particular, em um caso de consenso com base em PBFT, um certo número de falhas de consenso pode acionar um mecanismo de coleta de lixo no PBFT, para limpar dados de consenso em cada servidor. Aparentemente, isso afeta, sem dúvida, o processamento de serviço do protocolo de confiança.
[0015] Com base nas descrições anteriores, as formas de realização da presente invenção fornecem um método de consenso com base em protocolo de confiança. No método, os dados de consenso são armazenados em um banco de dados em um nó de protocolo de confiança, de modo que quando um servidor está com defeito (está offline ou reiniciado), um servidor que está funcionando normalmente no nó de protocolo de confiança também pode ler os dados de consenso que foram armazenados no banco de dados e continua executando um procedimento de consenso no lugar do servidor com defeito. Certamente, o método de consenso com base em protocolo de confiança nas formas de realização do presente pedido não se limita apenas a um procedimento de consenso com base em PBFT, e pode ser ainda usado em um procedimento de consenso que é com base em um
Petição 870190059821, de 27/06/2019, pág. 85/109
7/26 algoritmo de consenso como o Paxos.
[0016] Vale a pena notar que, nas formas de realização do presente pedido, uma arquitetura utilizada no método de consenso com base em protocolo de confiança é mostrada na Figura 2a. Pode ser visto a partir da Figura 2a que, um protocolo de confiança inclui uma pluralidade de nós de protocolo de confiança. Para facilitar a descrição subsequente, um nó de protocolo de confiança é referido abaixo brevemente como um nó.
[0017] Uma pluralidade de clientes pode realizar a interação de serviço com o protocolo de confiança. O protocolo de confiança pode ser uma cadeia consórcio e/ ou uma cadeia privada, e pode fornecer um serviço para um usuário. O cliente pode incluir um navegador, um aplicativo, etc. O cliente pode executar em um terminal, um servidor, um banco de dados etc. As formas de realização não são especificamente limitadas aqui.
[0018] Com base na arquitetura mostrada na Figura 2a, uma arquitetura de qualquer nó pode ser mostrada na Figura 2b. Pode ser visto a partir da Figura 2b que, o nó inclui n servidores e um banco de dados compartilhado pelos servidores. Diferentes servidores podem participar em diferentes procedimentos de consenso, e os servidores podem executar de forma independente um do outro. O banco de dados é configurado para fornecer um serviço de armazenamento de dados para os servidores no nó. Em outras palavras, cada servidor pode armazenar os dados de consenso correspondentes no banco de dados em um procedimento de consenso. Certamente, o número de bancos de dados no nó mostrado na Figura 2b é meramente um número comum. Na prática, o número de bancos de dados no nó pode ser ajustado com base em uma demanda real. Além disso, em alguns cenários, o servidor no nó pode ser substituído por um dispositivo que tenha uma função de processamento de computação, como um computador.
[0019] Vale ainda a pena notar que, para facilidade de descrição,
Petição 870190059821, de 27/06/2019, pág. 86/109
8/26 a seguir, um servidor que pode estar com defeito durante a execução é referido como um primeiro servidor, e um servidor que pode executar normalmente é referido como um segundo servidor. Portanto, na arquitetura mostrada na Figura 2b, pode ser considerado que a arquitetura inclui dois tipos de servidores: o primeiro servidor e o segundo servidor. O conteúdo anterior não deve ser interpretado como uma limitação do presente pedido.
[0020] Com base na arquitetura de relacionamento mostrada na Figura 2b, uma forma de realização da presente invenção fornece um procedimento de consenso com base em protocolo de confiança. Como mostrado na Figura 2c, o procedimento inclui especificamente as seguintes etapas.
[0021] (S201). Um banco de dados armazena os dados de consenso necessários para executar um procedimento de consenso, em que os dados de consenso são invocados por um primeiro servidor e por um segundo servidor durante o procedimento de consenso.
[0022] Baseado na arquitetura da Figura 2b, o banco de dados é disposto em um nó em que os servidores estão localizados e é compartilhado por todos os servidores no nó. Depois de receber uma mensagem de consenso ou gerar um resultado de consenso, qualquer servidor no nó armazena a mensagem de consenso ou o resultado de consenso no banco de dados. Em seguida, um servidor pode obter, a partir do banco de dados, dados de consenso necessários para realizar um procedimento de consenso. Os dados de consenso podem incluir uma mensagem de consenso que é recebida pelo servidor a partir de um servidor em outro nó, um resultado de consenso gerado pelo servidor, uma solicitação de serviço enviada por um cliente e que pode acionar um procedimento de consenso, etc.
[0023] Vale a pena observar aqui que armazenar os dados de consenso no banco de dados garante que os dados de consenso estejam
Petição 870190059821, de 27/06/2019, pág. 87/109
9/26 disponíveis para todos os servidores no nó. Ou seja, se o primeiro servidor estiver com falha, embora o primeiro servidor não possa continuar participando do consenso, o segundo servidor no nó poderá executar o consenso no lugar do servidor com defeito com base nos dados de consenso armazenados no banco de dados.
[0024] (S202). O segundo servidor obtém, no lugar do primeiro servidor, dados de consenso do banco de dados e executa o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso, em resposta a determinação de que o primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso.
[0025] Durante a execução prática, o primeiro servidor participante do consenso pode estar com defeito (por exemplo, pode ser desabilitado ou reiniciado), e a falha pode ocorrer em uma ocasião aleatória, mas a implementação do procedimento de consenso é afetada independentemente de o primeiro servidor estar com defeito antes do procedimento de consenso ou durante o procedimento de consenso. Nesse caso, para garantir que o procedimento de consenso não seja afetado, o segundo servidor que está funcionando normalmente o nó de protocolo de confiança pode executar o consenso no lugar do primeiro servidor com defeito.
[0026] Como o primeiro servidor está com defeito e não pode continuar executando o consenso. Portanto, o segundo servidor pode receber uma mensagem de consenso no lugar do primeiro servidor e participar do procedimento de consenso do qual o primeiro servidor participa originalmente.
[0027] Como descrito acima, qualquer servidor no nó armazena dados de consenso no banco de dados, para que o segundo servidor possa procurar no banco de dados e obter os dados de consenso necessários no procedimento de consenso, para executar o consenso no lugar do primeiro
Petição 870190059821, de 27/06/2019, pág. 88/109
10/26 servidor com defeito, e gerar ainda o resultado de consenso correspondente.
[0028] Aparentemente, o servidor que está funcionando normalmente executa o consenso no lugar do servidor com defeito, de modo que é assegurado que o procedimento de consenso não seja afetado.
[0029] (S203). O segundo servidor armazena o resultado do consenso no banco de dados.
[0030] Nesta forma de realização da presente invenção, o segundo servidor que executa o consenso no lugar do primeiro servidor também armazena o resultado de consenso no banco de dados como um tipo de dados de consenso com base em um mecanismo de armazenamento de dados na presente invenção.
[0031] De acordo com as etapas anteriores, para cada servidor em um nó de protocolo de confiança, um servidor que participa de um determinado procedimento de consenso “publicamente” armazena mensagens de consenso em diferentes estágios de consenso ou um resultado de consenso gerado pelo servidor em uma etapa atual. Em outras palavras, o servidor armazena, em um banco de dados no nó de protocolo de confiança, as mensagens de consenso nos diferentes estágios de consenso ou o resultado de consenso gerado pelo servidor na etapa atual, e o banco de dados pode ser usado para todos os servidores no nó de protocolo de confiança. Como tal, se um servidor participando de uma certa rodada de consenso está com defeito, por exemplo, está offline ou reiniciado, os dados de consenso do servidor podem ser usados por outro servidor no nó de protocolo de confiança, e o outro servidor pode continuar executando o procedimento de consenso correspondente no lugar do servidor com defeito.
[0032] Aparentemente, comparado com a tecnologia existente, no método em que cada servidor em um nó armazena dados de consenso em um banco de dados no nó, mesmo quando um determinado servidor está com
Petição 870190059821, de 27/06/2019, pág. 89/109
11/26 defeito, um servidor que está funcionando normalmente pode obter dados de consenso correspondentes a partir do banco de dados e concluir o consenso no lugar do servidor com defeito. Ele assegura a execução normal do procedimento de consenso e pode melhorar até certo ponto uma taxa de sucesso do procedimento de consenso, enquanto o número de vezes de reinicialização de consenso é reduzido, melhorando assim a eficiência de processamento de serviço de um protocolo de confiança.
[0033] Vale a pena observar aqui que, durante o procedimento de consenso, qualquer servidor no nó recebe uma mensagem de consenso que é enviada por outro dispositivo participando do mesmo procedimento de consenso. O outro dispositivo inclui, mas não está limitado a outro nó e/ ou cliente participando do procedimento de consenso. A mensagem de consenso pode incluir uma solicitação de serviço que é enviada por um cliente e que pode acionar o consenso ou pode incluir dados de consenso enviados por outro nó no procedimento de consenso.
[0034] Aparentemente, para um determinado procedimento de consenso, se o primeiro servidor estiver com defeito, o segundo servidor recebe uma mensagem de consenso no lugar do primeiro servidor, para participar do procedimento de consenso do primeiro servidor.
[0035] Portanto, em resposta a determinação de que o primeiro servidor está com defeito antes do procedimento de consenso, que o segundo servidor obtém, no lugar do primeiro servidor, dados de consenso a partir do banco de dados pode incluir: receber, pelo segundo servidor no lugar do primeiro servidor, uma mensagem de consenso que é enviada por outro dispositivo participando do procedimento de consenso e obter dados de consenso correspondentes à mensagem de consenso a partir do banco de dados com base na mensagem de consenso, em resposta à determinação de que o primeiro servidor está com defeito antes do procedimento de consenso.
Petição 870190059821, de 27/06/2019, pág. 90/109
12/26 [0036] Além disso, nesta forma de realização da presente invenção, existe um mecanismo de nova tentativa. Especificamente, depois que outro dispositivo que participa do procedimento de consenso enviar uma mensagem de consenso ou solicitação de serviço, o outro dispositivo reenvia a mesma mensagem de consenso ou solicitação de serviço se o outro dispositivo não receber resposta de um par (peer) final em um período especificado. Pode ser aprendido que, se o primeiro servidor estiver com falha durante o procedimento de consenso, o primeiro servidor não poderá responder a outro dispositivo no momento especificado.
[0037] Portanto, em resposta a determinação de que o primeiro servidor está com defeito durante o procedimento de consenso, o segundo servidor recebe, no lugar do primeiro servidor, uma mensagem de consenso de que outro dispositivo participante do procedimento de consenso tenta novamente enviar, e obtém dados de consenso correspondentes a mensagem de consenso a partir do banco de dados com base na mensagem de consenso.
[0038] O segundo servidor geralmente obtém dados de consenso a partir do banco de dados com base em um identificador correspondente em uma mensagem de consenso. O seguinte descreve um processo de obtenção de dados de consenso a partir do banco de dados.
[0039] Durante um procedimento de consenso com base em PBFT, uma solicitação de serviço corresponde a um procedimento de consenso e um nó (também referido como um nó mestre) que recebe uma solicitação de serviço a partir de um número de cliente (por exemplo, índices) da solicitação de serviço. Em outras palavras, um número associado à solicitação de serviço pode corresponder exclusivamente a um procedimento de consenso.
[0040] Especificamente, em um determinado procedimento de consenso em que qualquer servidor em um nó participa, um número (ou seja,
Petição 870190059821, de 27/06/2019, pág. 91/109
13/26 um identificador de solicitação de serviço) de uma solicitação de serviço no procedimento de consenso pode identificar exclusivamente um procedimento de consenso. O número associado à solicitação de serviço pode ser usado para distinguir o procedimento de consenso de um procedimento de consenso do qual outro servidor no nó participa. Portanto, se o servidor receber uma mensagem de consenso que transporta um número associado a uma determinada solicitação de serviço, o servidor pode obter dados de consenso (os dados de consenso obtidos e a mensagem de consenso pertencem ao mesmo procedimento de consenso) que possui o mesmo número de solicitação de serviço do banco de dados com base no número de solicitação de serviço.
[0041] Por exemplo, em um procedimento de consenso, um formato de mensagem de consenso pode ser: <identificador de estágio de consenso, um número de exibição, um número de solicitação de serviço e um resumo de solicitação de serviço>. Supõe-se que um servidor recebe uma mensagem de consenso específico ccommit, v, n, D(m)>, em que commit indica que o nó entrou em uma etapa de confirmação, v indica um número de visualização, n indica um número associado a uma solicitação de serviço, e D(m) indica uma assinatura, de um nó enviando uma mensagem de notificação, para o pedido de serviço. Neste caso, o servidor pode procurar no banco de dados por todos os dados de consenso correspondentes ao número “n” com base no número “n”.
[0042] Com base nas descrições anteriores, um processo de obtenção, pelo segundo servidor do banco de dados, dos dados de consenso correspondentes à mensagem de consenso é o seguinte: O segundo servidor pesquisa, com base em um identificador de solicitação de serviço incluído na mensagem de consenso, no banco de dados e obtém os dados de consenso correspondentes ao identificador.
[0043] Além do conteúdo anterior, na prática, para evitar que uma
Petição 870190059821, de 27/06/2019, pág. 92/109
14/26 mensagem de consenso seja enviada para o primeiro servidor com defeito, nesta forma de realização da presente invenção, a mensagem de consenso pode ser agendada usando uma porta de acesso (gateway) no nó. Ou seja, o nó de protocolo de confiança inclui ainda a porta de acesso. Neste caso, uma arquitetura do nó pode ser mostrada na Figura 2d. Pode ser visto que a porta de acesso é responsável por agendar uma mensagem de consenso para o servidor no nó. Uma vez que o primeiro servidor está com defeito, a porta de acesso não envia uma mensagem de consenso para o primeiro servidor com defeito; em vez disso, envia a mensagem de consenso para o segundo servidor que está funcionando normalmente.
[0044] Portanto, especificamente, para o segundo servidor, um processo de receber uma mensagem de consenso pode ser o seguinte:
[0045] A porta de acesso encaminha, para o segundo servidor que está funcionando normalmente, a mensagem de consenso recebida que é enviada pelo outro dispositivo que participa do procedimento de consenso, quando a porta de acesso determina que o primeiro servidor está com defeito antes do procedimento de consenso. Nesse caso, o segundo servidor recebe a mensagem de consenso que é enviada pelo outro dispositivo participante do procedimento de consenso e que é encaminhada pela porta de acesso.
[0046] Além disso, a porta de acesso encaminha, para o segundo servidor que está funcionando normalmente, a mensagem de consenso recebida de que o outro dispositivo participando do procedimento de consenso tenta enviar novamente, quando a porta de acesso determina que o primeiro servidor está com defeito durante o procedimento de consenso. Correspondentemente, o segundo servidor recebe a mensagem de consenso de que o outro dispositivo participante no procedimento de consenso tenta novamente enviar e que é encaminhado pela porta de acesso.
[0047] Pode ser entendido que, nesta forma de realização da
Petição 870190059821, de 27/06/2019, pág. 93/109
15/26 presente invenção, a porta de acesso encaminha a mensagem de consenso para o segundo servidor normal no nó. Em outras palavras, a porta de acesso precisa conhecer um servidor com defeito e um servidor que continua funcionando normalmente no nó.
[0048] Nesta forma de realização da presente invenção, cada servidor no nó pode se comunicar com a porta de acesso usando um mecanismo de batida de coração (heartbeat), de modo que a porta de acesso possa conhecer um estado de funcionamento de cada servidor. Ou seja, a porta de acesso determina um estado de funcionamento do primeiro servidor e um estado de funcionamento do segundo servidor no seguinte método: receber, pela porta de acesso, mensagens de estado de funcionamento que são enviadas pelo primeiro servidor e pelo segundo servidor à porta de acesso com base em um período predeterminado; e determinar, pela porta de acesso, o estado de funcionamento do primeiro servidor e o estado de funcionamento do segundo servidor com base nas mensagens de estado de funcionamento.
[0049] Ou seja, se a porta de acesso puder receber uma mensagem de estado de funcionamento periódica, a porta de acesso pode determinar que um servidor que envia a mensagem de estado de funcionamento opera normalmente; e se a porta de acesso não receber nenhuma mensagem de estado de funcionamento de um determinado servidor em um determinado período, a porta de acesso poderá determinar que o servidor está com defeito.
[0050] O seguinte usa um exemplo de aplicação para descrição.
[0051] Por exemplo, como mostrado na Figura 3a, assume-se que tanto o servidor (11) no nó (1) como o servidor (21) no nó (2) participam de um certo procedimento de consenso (a Figura 3a mostra, em cinza, que os dois servidores estão no mesmo procedimento de consenso). É ainda assumido que o servidor (21) está offline (isto é, no nó (2), o servidor (21) é o primeiro
Petição 870190059821, de 27/06/2019, pág. 94/109
16/26 servidor). Neste caso, o servidor (11) envia uma certa mensagem de consenso ao servidor (21). Aparentemente, como o servidor (21) está offline, o servidor (21) não fornece nenhum feedback. Neste caso, após esperar por um período de tempo específico, o servidor (11) inicia uma nova tentativa (a nova tentativa também pode ser considerada como uma nova tentativa iniciada pelo nó (1)), em outras palavras, reenvia a mensagem de consenso. Depois que uma porta de acesso no nó (2) recebe a mensagem de consenso de que o nó (1) tenta enviar novamente, a porta de acesso seleciona um determinado servidor que opera normalmente dentro do nó (2), para processar a nova tentativa do nó (1). Como mostrado na Figura 3b, neste exemplo, o servidor (22) no nó (2) é selecionado (isto é, o servidor (22) é o segundo servidor). Isto é, a porta de acesso encaminha, para o servidor (22), a mensagem de consenso que o nó (1) tenta novamente enviar, e o servidor (22) executa o procedimento de consenso no lugar do servidor (21).
[0052] Além disso, para um processo de armazenamento, pelo segundo servidor, os dados de consenso no servidor, em um método nesta forma de realização da presente invenção, o segundo servidor pode armazenar uma mensagem de consenso recebida (a mensagem de consenso pode ser considerada como um tipo de dado de consenso) no banco de dados imediatamente depois de receber a mensagem de consenso, e armazenar um resultado consenso (o resultado de consenso pode também ser considerado como um tipo de dado de consenso) correspondente à mensagem de consenso no banco de dados depois de gerar o resultado consenso através de um procedimento de consenso.
[0053] Adicionalmente, em outro método nesta forma de realização da presente invenção, depois de receber uma mensagem de consenso, o segundo servidor espera por um resultado de consenso para gerar através do processo precedente, e depois armazena a mensagem de consenso
Petição 870190059821, de 27/06/2019, pág. 95/109
17/26 em conjunto com o resultado de consenso no banco de dados.
[0054] Os dois métodos anteriores de armazenamento não constituem nenhuma limitação no presente pedido.
[0055] O método de consenso com base em protocolo de confiança fornecido nas formas de realização do presente pedido é descrito acima. Com base na mesma ideia, como mostrado na Figura 4, uma forma de realização da presente invenção fornece ainda um dispositivo de consenso com base em protocolo de confiança. Um nó de protocolo de confiança inclui uma pluralidade de servidores e pelo menos um banco de dados. O banco de dados armazena os dados de consenso necessários para a execução de um procedimento de consenso, em que os dados de consenso são invocados por um primeiro servidor e por um segundo servidor durante o procedimento de consenso.
[0056] O primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso.
[0057] O dispositivo de consenso com base em protocolo de confiança inclui pelo menos um módulo receptor (401), um módulo de aquisição (402), um módulo de execução de consenso (403) e um módulo de armazenamento (404).
[0058] O módulo de aquisição (402) é configurado para obter dados de consenso a partir do banco de dados.
[0059] O módulo de execução de consenso (403) é configurado para executar o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso.
[0060] O módulo de armazenamento (404) é configurado para armazenar o resultado de consenso no banco de dados.
[0061] O módulo de recepção (401) é configurado para receber uma mensagem de consenso que é enviada por outro dispositivo participante
Petição 870190059821, de 27/06/2019, pág. 96/109
18/26 no procedimento de consenso, e o módulo de aquisição é configurado para obter dados de consenso correspondentes à mensagem de consenso a partir do banco de dados com base na mensagem de consenso, em resposta a determinação de que o primeiro servidor está com defeito antes do procedimento de consenso.
[0062] O módulo de recepção (401) é configurado para receber uma mensagem de consenso de que outro dispositivo participante do procedimento de consenso tenta enviar novamente, e o módulo de aquisição é configurado para obter dados de consenso correspondentes à mensagem de consenso a partir do banco de dados com base na mensagem de consenso, em resposta a determinação de que o primeiro servidor está com defeito durante o procedimento de consenso.
[0063] O outro dispositivo tenta enviar novamente a mensagem de consenso quando o outro dispositivo envia a mensagem de consenso, mas não recebe resposta após um tempo especificado.
[0064] A mensagem de consenso inclui um identificador de solicitação de serviço. O módulo de aquisição (402) é configurado para procurar, com base no identificador de solicitação de serviço incluído na mensagem de consenso, o banco de dados e obter dados de consenso correspondentes ao identificador.
[0065] Além disso, o nó de protocolo de confiança pode incluir ainda uma porta de acesso. Neste caso, o dispositivo inclui ainda pelo menos um módulo receptor de porta de acesso (405), um módulo de determinação estado de funcionamento (406), e um módulo de encaminhamento (407).
[0066] O módulo de encaminhamento (407) é configurado para encaminhar, para o segundo servidor que funciona normalmente, a mensagem de consenso recebida que é enviada pelo outro dispositivo participante no procedimento de consenso, quando o módulo de determinação de estado de
Petição 870190059821, de 27/06/2019, pág. 97/109
19/26 funcionamento (406) determina que o primeiro servidor está com defeito antes do procedimento de consenso.
[0067] O módulo de encaminhamento (407) é configurado para encaminhar, para o segundo servidor que funciona normalmente, a mensagem de consenso recebida de que o outro dispositivo participante do procedimento de consenso tenta enviar novamente, quando o módulo de determinação de estado de funcionamento (406) determina que o primeiro servidor está com defeito durante o procedimento de consenso.
[0068] O módulo receptor de porta de acesso (405) é configurado para receber mensagens de estado de funcionamento que são enviadas pelo primeiro servidor e pelo segundo servidor à porta de acesso com base em um período predeterminado.
[0069] O módulo de determinação de estado de funcionamento (406) está configurado para determinar um estado de funcionamento do primeiro servidor e um estado de funcionamento do segundo servidor com base nas mensagens de estado de funcionamento.
[0070] Na década de 1990, se uma melhoria técnica é uma melhoria de hardware (por exemplo, uma melhoria para uma estrutura de circuito como um diodo, um transistor ou um switch) ou uma melhoria de software (uma melhoria para um procedimento de método) pode ser claramente distinguida. No entanto, conforme as tecnologias se desenvolvem, as melhorias atuais em muitos procedimentos de métodos podem ser consideradas como melhorias diretas nas estruturas dos circuitos de hardware. Quase todos os projetistas programam um procedimento de método aprimorado em um circuito de hardware, para obter uma estrutura de circuito de hardware correspondente. Portanto, um procedimento de método pode ser aprimorado usando um módulo de entidade de hardware. Por exemplo, um dispositivo lógico programável (PLD) (por exemplo, um FPGA (Field
Petição 870190059821, de 27/06/2019, pág. 98/109
20/26
Programmable Gate Array)) é um circuito integrado, e uma função lógica do PLD é determinada por um usuário através da programação do dispositivo. O projetista realiza a programação para “integrar” um sistema digital em um PLD sem solicitar a um fabricante de chip para projetar e fabricar um chip de circuito integrado específico para a aplicação. Além disso, atualmente, em vez de fabricar manualmente um chip de circuito integrado, esse tipo de programação é implementado principalmente usando o software “compilador lógico”. O software “compilador lógico” é semelhante a um compilador de software usado para desenvolver e escrever um programa. O código original precisa ser escrito em uma linguagem de programação específica antes de ser compilado. A linguagem é referida como uma linguagem de descrição de hardware (HDL). Existem muitas HDLs, como o Linguagem de Expressão Booleana Avançada (ABEL), a Linguagem de Descrição de Hardware Altera (AHDL), Confluence, a Linguagem de Programação da Universidade de Cornell (CUPL), HDCal, a
Linguagem de Descrição de Hardware Java (JHDL), Lava, Lola, MyHDL,
PALASM e a linguagem de descrição de hardware de Ruby (RHDL). A linguagem de descrição de hardware de circuito integrado de altíssima velocidade (VHDL) e a Verilog são mais usadas atualmente. Um técnico no assunto também deve compreender que um circuito de hardware que implementa um procedimento de método lógico pode ser facilmente obtido desde que o procedimento de método seja logicamente programado usando as várias linguagens de descrição de hardware precedentes e programado em um circuito integrado.
[0071] Um controlador pode ser implementado de qualquer maneira apropriada. Por exemplo, o controlador pode estar na forma de um microprocessador, um processador, um meio legível por computador que armazena código de programa legível por computador (tal como software ou firmware) que pode ser executado pelo microprocessador ou pelo processador,
Petição 870190059821, de 27/06/2019, pág. 99/109
21/26 uma porta lógica, um interruptor, um circuito integrado específico de aplicação (ASIC), um controlador lógico programável ou um microprocessador incorporado. Exemplos do controlador incluem, mas não estão limitados aos seguintes microprocessadores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 e Silicone Labs C8051F320. Um controlador de memória pode, alternativamente, ser implementado como parte da lógica de controle de uma memória. Um técnico no assunto também sabe que, além de implementar o controlador usando o código de programa legível por computador, etapas do método podem ser logicamente programadas para permitir que o controlador implemente a mesma função na forma da porta lógica, do comutador, do circuito integrado específico de aplicação, do controlador lógico programável, do microcontrolador embutido, etc. Portanto, o controlador pode ser considerado como um componente de hardware, e um dispositivo que está incluído no controlador e configurado para implementar várias funções também pode ser considerado como uma estrutura no componente de hardware. Alternativamente, o dispositivo configurado para implementar várias funções pode até mesmo ser considerado como um módulo de software para implementar o método e uma estrutura no componente de hardware.
[0072] O sistema, dispositivo, módulo ou unidade ilustrado nas formas de realização anteriores podem ser implementados especificamente usando um chip de computador ou uma entidade, ou usando um produto tendo uma certa função. Um dispositivo de implementação típico é um computador. Especificamente, o computador pode ser, por exemplo, um computador pessoal, um computador portátil, um telefone celular, um telefone com câmera, um smartphone, um assistente digital pessoal, um reprodutor de mídia, um dispositivo de navegação, um dispositivo de e-mail, um console de jogos, um computador tablet, um dispositivo que pode ser vestido ou uma combinação de qualquer um desses dispositivos.
Petição 870190059821, de 27/06/2019, pág. 100/109
22/26 [0073] Para facilitar a descrição, o dispositivo anterior é descrito dividindo o dispositivo em várias unidades com base nas funções. Certamente, quando a presente invenção é implementada, as funções das unidades podem ser implementadas em uma ou mais partes de software e/ ou hardware.
[0074] Um técnico no assunto deve compreender que as formas de realização da presente invenção podem ser fornecidas como um método, um sistema ou um produto de programa de computador. Por conseguinte, a presente invenção pode utilizar uma forma de implementações por de hardware, implementações apenas por software ou implementações por uma combinação de software e hardware. Além disso, a presente invenção pode usar uma forma de produto de programa de computador que é implementado em uma ou mais mídias de armazenamento usáveis por computador (incluindo mas não limitado a um armazenamento em disco magnético, um CD-ROM, uma memória óptica, etc.) que incluem código de programa utilizável por computador.
[0075] A presente descrição é descrita com referência aos fluxogramas e/ ou diagramas de blocos do método, o dispositivo (sistema) e o produto de programa de computador de acordo com as formas de realização da presente invenção. Vale a pena notar que as instruções do programa de computador podem ser usadas para implementar cada processo e/ ou cada bloco nos fluxogramas e/ ou nos diagramas de blocos e uma combinação de processos e/ ou blocos nos fluxogramas e/ ou nos diagramas de blocos. Estas instruções de programas de computador podem ser fornecidas para um computador de propósito geral, um computador dedicado, um processador incorporado ou um processador de outro dispositivo de processamento de dados programável para gerar uma máquina, para que as instruções executadas pelo computador ou pelo processador do outro dispositivo de processamento de dados programável gere um dispositivo para implementar
Petição 870190059821, de 27/06/2019, pág. 101/109
23/26 uma função específica em um ou mais processos nos fluxogramas e/ ou em um ou mais blocos nos diagramas de blocos.
[0076] Estas instruções de programas de computador podem alternativamente ser armazenadas em uma memória legível por computador que pode instruir um computador ou outro dispositivo de processamento de dados programável a funcionar de uma maneira específica, para que as instruções armazenadas na memória legível por computador gerem um artefato que inclua um dispositivo de instrução. O dispositivo de instrução implementa uma função específica em um ou mais processos nos fluxogramas e/ ou em um ou mais blocos nos diagramas de bloco.
[0077] Estas instruções de programas de computador podem, alternativamente, ser carregadas em um computador ou outro dispositivo de processamento de dados programável, de modo que uma série de operações e etapas sejam executados no computador ou no outro dispositivo programável, gerando assim processamento implementado por computador. Portanto, as instruções executadas no computador ou no outro dispositivo programável fornecem etapas para implementar uma função específica em um ou mais processos nos fluxogramas e/ ou em um ou mais blocos nos diagramas de bloco.
[0078] Em uma configuração típica, um dispositivo de computação inclui um ou mais processadores (CPU), uma ou mais interfaces de entrada/ saída, uma ou mais de interfaces de rede, e uma ou mais memórias.
[0079] A memória pode incluir uma memória não persistente, uma memória de acesso aleatório (RAM), uma memória não volátil e/ ou outra forma de memória em mídia legível por computador, por exemplo, uma memória somente leitura (ROM) ou uma memória flash (RAM flash). A memória é um exemplo do meio legível por computador.
[0080] O meio legível por computador inclui mídia persistente, não
Petição 870190059821, de 27/06/2019, pág. 102/109
24/26 persistente, móvel e imóvel que pode armazenar informações usando qualquer método ou tecnologia. A informação pode ser uma instrução legível por computador, uma estrutura de dados, um módulo de programa ou outros dados. Exemplos de um meio de armazenamento de computador incluem mas não estão limitados a uma memória de acesso aleatório de parâmetro (PRAM), uma memória de acesso aleatório estática (SRAM), uma memória de acesso aleatório dinâmica (DRAM), outro tipo de memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), uma memória de leitura programável apagável eletricamente (EEPROM), uma memória flash ou outra tecnologia de memória, uma memória de leitura em disco compacto (CD-ROM), um disco versátil digital (DVD) ou outro armazenamento óptico, uma cassete magnética, uma fita magnética, uma memória em disco magnético ou outro dispositivo de armazenamento magnético ou qualquer outro meio de não transmissão que possa ser usado para armazenar informações acessíveis ao dispositivo de computação. Com base na definição deste relatório descritivo, o meio legível por computador não inclui meios transitórios legíveis por computador (meios transitórios), tais como um sinal de dados modulado e veículo.
[0081] Vale a pena notar ainda que, os termos “compreendem”, “incluem”, ou quaisquer outras variantes do mesmo, pretendem cobrir uma inclusão não exclusiva, de modo que um processo, um método, um produto ou um dispositivo que inclua uma lista de elementos não inclui apenas esses elementos, mas também inclui outros elementos que não estão expressamente listados ou ainda inclui elementos inerentes a tal processo, método, produto ou dispositivo. Sem mais restrições, um elemento precedido por “inclui um...” não exclui a existência de elementos idênticos adicionais no processo, método, produto ou dispositivo que inclui o elemento.
[0082] Um técnico no assunto deve compreender que as formas de realização da presente invenção podem ser fornecidas como um método,
Petição 870190059821, de 27/06/2019, pág. 103/109
25/26 um sistema ou um produto de programa de computador. Portanto, o presente pedido pode usar uma forma de implementações somente por hardware, implementações somente por software ou implementações com uma combinação de software e hardware. Além disso, a presente invenção pode usar uma forma de produto de programa de computador que é implementado em uma ou mais mídias de armazenamento usáveis por computador (incluindo, mas não limitado a, armazenamento em disco magnético, CD-ROM, memória óptica, etc.) que incluem código de programa utilizável por computador.
[0083] A presente invenção pode ser descrita no contexto geral de instruções executáveis por computador executadas por um computador, por exemplo, um módulo de programa. Geralmente, o módulo do programa inclui uma rotina, um programa, um objeto, um componente, uma estrutura de dados, etc. para executar uma tarefa específica ou implementar um tipo de dados abstrato específico. A presente invenção pode alternativamente ser praticada em ambientes de computação distribuída. Nesses ambientes de computação distribuída, as tarefas são executadas por dispositivos de processamento remoto que são conectados por meio de uma rede de comunicações. Nos ambientes de computação distribuída, o módulo do programa pode estar localizado tanto em mídias de armazenamento de computadores locais quanto remotas, incluindo dispositivos de armazenamento.
[0084] As formas de realização no presente relatório descritivo são descritas de uma maneira progressiva. Para partes iguais ou semelhantes das formas de realização, referências mútuas podem ser feitas para as formas de realização. Cada forma de realização se concentra em uma diferença de outras formas de realização. Particularmente, uma forma de realização de sistema é basicamente semelhante a uma forma de realização de método e, portanto, é descrita resumidamente. Para partes relacionadas, referências podem ser feitas a algumas descrições na forma de realização do método.
Petição 870190059821, de 27/06/2019, pág. 104/109
26/26 [0085] As descrições anteriores são meramente formas de realização do presente pedido e não se destinam a limitar o presente pedido. Um técnico no assunto pode fazer várias modificações e alterações no presente pedido. Qualquer modificação, substituição equivalente, melhoria, etc., feita sem se afastar do espírito e princípio do presente pedido, deve cair dentro do escopo das reivindicações do presente pedido.

Claims (11)

  1. Reivindicações
    1. MÉTODO PARA CONSENSO COM BASE EM PROTOCOLO DE CONFIANÇA (blockchain), caracterizado pelo fato de que o método compreende:
    armazenar, por uma base de dados de um nó de protocolo de confiança, dados de consenso necessários para realizar um procedimento de consenso, em que os dados de consenso são invocados por um primeiro servidor e por um segundo servidor durante o procedimento de consenso, em que o nó de protocolo de confiança é incluído em um protocolo de confiança e compreende o primeiro servidor, o segundo servidor e o banco de dados;
    receber, pelo segundo servidor no lugar do primeiro servidor e a partir de outro dispositivo, uma mensagem de consenso que é enviada pelo outro dispositivo que participa do procedimento de consenso;
    em resposta a determinar que o primeiro servidor está com defeito, obter, pelo segundo servidor no lugar do primeiro servidor, dados de consenso a partir do banco de dados; os dados de consenso correspondentes à mensagem de consenso do banco de dados com base na mensagem de consenso;
    executar o procedimento de consenso com base nos dados de consenso para gerar um resultado de consenso, em resposta à determinação de que o primeiro servidor está com defeito antes do procedimento de consenso ou durante o procedimento de consenso; e armazenar, pelo segundo servidor, o resultado de consenso no banco de dados.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação de que o primeiro servidor está com defeito antes ou durante o procedimento de consenso compreende determinar que o primeiro servidor foi reiniciado.
  3. 3. MÉTODO, de acordo com a reivindicação 1, caracterizado
    Petição 870190059821, de 27/06/2019, pág. 106/109
    2/3 pelo fato de que o outro dispositivo tenta novamente enviar a mensagem de consenso quando o outro dispositivo envia a mensagem de consenso, mas não recebe resposta após um tempo especificado.
  4. 4. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem de consenso compreende um identificador de pedido de serviço.
  5. 5. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que a obtenção dos dados de consenso correspondentes à mensagem de consenso a partir do banco de dados, com base na mensagem de consenso, compreende especificamente:
    pesquisar, pelo segundo servidor com base no identificador de solicitação de serviço incluído na mensagem de consenso, o banco de dados e obter dados de consenso correspondentes ao identificador.
  6. 6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que o nó de protocolo de confiança compreende ainda uma porta de acesso.
  7. 7. MÉTODO, de acordo com a reivindicação 6, caracterizado pelo fato de que o recebimento da mensagem de consenso enviada por outro dispositivo participante do procedimento de consenso compreende:
    encaminhar, pela porta de acesso para o segundo servidor que está funcionando normalmente, a mensagem de consenso enviada pelo outro dispositivo que participa do procedimento de consenso, em resposta à determinação de que o primeiro servidor está com defeito antes do procedimento de consenso; e receber, pelo segundo servidor, a mensagem de consenso que é enviada pelo outro dispositivo participante no procedimento de consenso e que é encaminhada pela porta de acesso.
  8. 8. MÉTODO, de acordo com a reivindicação 7, caracterizado
    Petição 870190059821, de 27/06/2019, pág. 107/109
    3/3 pelo fato de que receber a mensagem de consenso de que outro dispositivo participante no procedimento de consenso tenta enviar novamente compreende:
    encaminhar, pela porta de acesso para o segundo servidor que está funcionando normalmente, a mensagem de consenso de que o outro dispositivo participante do procedimento de consenso tenta enviar novamente, em resposta à determinação de que o primeiro servidor está com falha durante o procedimento de consenso; e receber, pelo segundo servidor, a mensagem de consenso de que o outro dispositivo participante no procedimento de consenso tenta enviar novamente e que é encaminhado pela porta de acesso.
  9. 9. MÉTODO, de acordo com a reivindicação 8, caracterizado pelo fato de que a porta de acesso determina um estado de funcionamento do primeiro servidor e um estado de funcionamento do segundo servidor, realizando operações compreendendo:
    receber, pela porta de acesso, mensagens de estado de funcionamento que são enviadas pelo primeiro servidor e pelo segundo servidor à porta de acesso com base em um período predeterminado; e determinar, pela porta de acesso, o estado de funcionamento do primeiro servidor e o estado de funcionamento do segundo servidor com base nas mensagens de estado de funcionamento.
  10. 10. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que o protocolo de confiança compreende pelo menos uma cadeia de consórcio e uma cadeia privada.
  11. 11. DISPOSITIVO PARA CONSENSO COM BASE EM PROTOCOLO DE CONFIANÇA, caracterizado pelo fato de que o dispositivo compreende uma pluralidade de módulos configurados para executar o método, conforme definido em qualquer uma das reivindicações 1 a 10.
BR112019013379-8A 2017-03-28 2018-03-26 Método implementado por computador para consenso com base em protocolo de confiança e sistema implementado por computador BR112019013379B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710190786.1A CN107368507B (zh) 2017-03-28 2017-03-28 一种基于区块链的共识方法及装置
CN201710190786.1 2017-03-28
PCT/CN2018/080513 WO2018177255A1 (zh) 2017-03-28 2018-03-26 一种基于区块链的共识方法及装置

Publications (2)

Publication Number Publication Date
BR112019013379A2 true BR112019013379A2 (pt) 2019-12-17
BR112019013379B1 BR112019013379B1 (pt) 2022-03-15

Family

ID=60304778

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019013379-8A BR112019013379B1 (pt) 2017-03-28 2018-03-26 Método implementado por computador para consenso com base em protocolo de confiança e sistema implementado por computador

Country Status (15)

Country Link
US (2) US10642699B2 (pt)
EP (1) EP3547170B1 (pt)
JP (1) JP6756924B2 (pt)
KR (1) KR102255724B1 (pt)
CN (2) CN107368507B (pt)
AU (1) AU2018241568B2 (pt)
BR (1) BR112019013379B1 (pt)
CA (1) CA3048742C (pt)
MX (1) MX2019007808A (pt)
MY (1) MY192616A (pt)
PH (1) PH12019501519A1 (pt)
RU (1) RU2731331C1 (pt)
TW (1) TWI696083B (pt)
WO (1) WO2018177255A1 (pt)
ZA (1) ZA201904224B (pt)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
CN107368507B (zh) 2017-03-28 2020-03-27 创新先进技术有限公司 一种基于区块链的共识方法及装置
CN110445619B (zh) * 2017-03-30 2020-10-16 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
US10685399B2 (en) 2017-03-31 2020-06-16 Factom, Inc. Due diligence in electronic documents
US10270599B2 (en) 2017-04-27 2019-04-23 Factom, Inc. Data reproducibility using blockchains
CN108111604B (zh) * 2017-12-21 2020-08-14 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108200208B (zh) * 2018-02-11 2021-01-05 南宁师范大学 基于云计算的物流区块链共识算法
CN108537525B (zh) 2018-03-09 2020-06-09 阿里巴巴集团控股有限公司 一种共识验证方法、装置及设备
CN108763302A (zh) * 2018-04-19 2018-11-06 深圳市网心科技有限公司 区块链共识处理方法、电子装置及计算机可读存储介质
CN108665363B (zh) * 2018-05-09 2021-08-03 合肥达朴汇联科技有限公司 一种区块链共识达成装置
US11134120B2 (en) 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
US10783164B2 (en) * 2018-05-18 2020-09-22 Factom, Inc. Import and export in blockchain environments
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US20200042982A1 (en) 2018-08-06 2020-02-06 Factom Digital Contracts in Blockchain Environments
CN109144781B (zh) * 2018-08-13 2021-06-18 浙商银行股份有限公司 一种提升基于区块链技术实现的应用系统单园区部署灾备能力的方法
CN110969527B (zh) * 2018-09-29 2023-02-24 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
RU2724181C1 (ru) * 2018-11-07 2020-06-22 Алибаба Груп Холдинг Лимитед Упрощение консенсуса в цепочках блоков по принципу практичной отказоустойчивости на основе византийского соглашения и синхронизации узлов
CN111291110A (zh) * 2018-12-06 2020-06-16 中国电信股份有限公司 基于区块链网络的共识方法和系统
CN110221938A (zh) * 2019-05-06 2019-09-10 深圳壹账通智能科技有限公司 电子装置、区块链共识的方法及存储介质
CN110266765B (zh) * 2019-05-21 2022-03-01 西安中星测控有限公司 一种基于区块链的物联网在线共识节点实时更新方法和装置
CN110492988B (zh) * 2019-07-03 2020-07-21 特斯联(北京)科技有限公司 一种多路并行复用的大数据系统及其处理方法
CN110336707A (zh) * 2019-08-07 2019-10-15 卓尔智联(武汉)研究院有限公司 区块链共识装置、方法及计算机可读存储介质
CN111104282B (zh) * 2019-11-26 2024-01-16 众安信息技术服务有限公司 一种基于区块链的节点处理方法和装置
CN111125131B (zh) * 2019-12-16 2023-06-06 武汉大学 一种具备状态缓冲能力的两级共识区块链系统及部署方法
CN111147261B (zh) * 2019-12-31 2022-07-12 南京可信区块链与算法经济研究院有限公司 在区块链中使用HotStuff共识算法的方法及系统
US11343075B2 (en) 2020-01-17 2022-05-24 Inveniam Capital Partners, Inc. RAM hashing in blockchain environments
JPWO2021166931A1 (pt) * 2020-02-21 2021-08-26
CN111064813B (zh) * 2020-03-16 2020-06-30 支付宝(杭州)信息技术有限公司 在区块链共识处理时进行处理消息同步的方法及装置
CN111654415B (zh) * 2020-05-28 2021-09-10 腾讯科技(深圳)有限公司 基于区块链的信息处理方法、装置、设备及可读存储介质
CN112286731A (zh) * 2020-07-03 2021-01-29 支付宝(杭州)信息技术有限公司 区块链共识节点的重启处理方法、共识节点及区块链系统
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN111522696B (zh) * 2020-07-03 2020-12-29 支付宝(杭州)信息技术有限公司 区块链共识节点的宕机处理方法、数据持久化方法及硬件
CN112100234B (zh) * 2020-08-12 2021-09-10 北京大学 基于随机共识的图式账本的内容寻址方法和系统
CN112564902A (zh) * 2020-12-09 2021-03-26 苏州市星际云通区块链科技有限公司 一种区块链上可验证随机函数的共识方法及其系统
CN112738178B (zh) * 2020-12-23 2023-04-07 北京米弘科技有限公司 区块链共识方法和装置
CN113254306B (zh) * 2021-05-10 2022-03-25 支付宝(杭州)信息技术有限公司 运行状态监控方法、装置、设备和存储介质
CN113067895B (zh) * 2021-06-02 2021-08-31 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
CN113572140B (zh) * 2021-07-15 2024-04-12 国网上海市电力公司 基于可变共识机制的配网故障隔离指令传输方法和设备
CN114064343B (zh) * 2022-01-13 2022-04-08 北京溪塔科技有限公司 一种区块链的异常处置方法及装置
CN114640500B (zh) * 2022-02-14 2023-07-28 南京邮电大学 一种基于服务的联盟链高效共识方法
US11881980B2 (en) 2022-04-22 2024-01-23 Red Hat, Inc. Byzantine fault prevention in mesh networks
CN115471301B (zh) * 2022-11-11 2023-04-07 浙江云针信息科技有限公司 无人驾驶车辆去中心化派单方法及装置、存储介质和终端

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215766B1 (en) * 1998-01-30 2001-04-10 Lucent Technologies Inc. Hierarchical rate control of receivers in a communication system transmitting layered video multicast data with retransmission (LVMR)
US9361311B2 (en) 2005-01-12 2016-06-07 Wandisco, Inc. Distributed file system using consensus nodes
TWI416901B (zh) 2005-11-30 2013-11-21 Ibm 故障容忍之異動處理系統
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
CN101394306B (zh) * 2008-07-08 2010-10-27 国电南瑞科技股份有限公司 一种双服务器系统的无缝切换方法
CN102724272B (zh) * 2011-12-30 2017-12-29 新奥特(北京)视频技术有限公司 一种电视台业务发布数据的备份方法
RU2510623C2 (ru) * 2012-04-19 2014-04-10 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ репликации информации в распределенных базах данных с конкурентным распределением потоков
WO2014008495A2 (en) * 2012-07-06 2014-01-09 Cornell University Managing dependencies between operations in a distributed system
CN103220165B (zh) * 2013-03-20 2017-04-19 杭州华三通信技术有限公司 一种服务器主动宕机的处理方法和装置
US9553982B2 (en) * 2013-07-06 2017-01-24 Newvoicemedia, Ltd. System and methods for tamper proof interaction recording and timestamping
CN103744809B (zh) * 2013-12-23 2016-10-05 天泽信息产业股份有限公司 基于vrrp的车辆信息管理系统双机热备方法
US20150310476A1 (en) * 2014-04-24 2015-10-29 Elizabeth M. Gadwa System and method for attention based currency
US20160125403A1 (en) * 2014-04-28 2016-05-05 Chin-hao Hu Offline virtual currency transaction
US9690675B2 (en) * 2014-07-17 2017-06-27 Cohesity, Inc. Dynamically changing members of a consensus group in a distributed self-healing coordination service
US9436923B1 (en) * 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
TWI676943B (zh) * 2015-05-06 2019-11-11 現代財富控股有限公司 加密貨幣的電子交易系統及其方法
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US10268744B2 (en) * 2015-09-22 2019-04-23 Walmart Apollo, Llc System for maintaining consistency across a decentralized database cluster and method therefor
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法
CN105912618B (zh) * 2016-04-07 2019-04-23 浙江万马新能源有限公司 基于区块链的充电桩充电交易通讯方法及装置
KR101701131B1 (ko) 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN106060036B (zh) 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
CN106101242B (zh) * 2016-06-24 2019-08-06 深圳前海微众银行股份有限公司 区块链云服务平台的构建方法和装置
CN106209877A (zh) * 2016-07-19 2016-12-07 井创(北京)科技有限公司 一种以区块链后台为认证核心的防伪认证系统
CN106296191A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种区块链功耗感知的PoW共识机制
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN106339639A (zh) * 2016-08-30 2017-01-18 弗洛格(武汉)信息科技有限公司 基于区块链的学分成绩管理方法及系统
US20180062831A1 (en) * 2016-08-31 2018-03-01 Jiangang Zhang Massively Scalable Blockchain Ledger
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN106528775B (zh) * 2016-10-28 2020-01-03 济南大学 支持逻辑多链的私有区块链运行支撑系统及其工作方法
US10158527B2 (en) * 2016-10-28 2018-12-18 International Business Machines Corporation Changing an existing blockchain trust configuration
CN106341421B (zh) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
CN106534273B (zh) * 2016-10-31 2022-04-15 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
US10862959B2 (en) 2016-11-28 2020-12-08 Keir Finlow-Bates Consensus system and method for adding data to a blockchain
WO2018112949A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 区块链的挖矿方法、装置和节点设备
US10291413B2 (en) * 2017-02-17 2019-05-14 Accenture Global Solutions Limited Hardware blockchain corrective consensus operating procedure enforcement
US20180267539A1 (en) * 2017-03-17 2018-09-20 Jeanne Louise Shih Distributive networks of groups of moveable autonomous devices
CN107368507B (zh) * 2017-03-28 2020-03-27 创新先进技术有限公司 一种基于区块链的共识方法及装置
US10984134B2 (en) * 2017-07-14 2021-04-20 Microsoft Technology Licensing, Llc Blockchain system for leveraging member nodes to achieve consensus

Also Published As

Publication number Publication date
CN107368507B (zh) 2020-03-27
PH12019501519A1 (en) 2020-03-09
US20200201719A1 (en) 2020-06-25
CN111327703B (zh) 2022-05-31
KR102255724B1 (ko) 2021-05-27
EP3547170B1 (en) 2021-09-01
US10846182B2 (en) 2020-11-24
CN107368507A (zh) 2017-11-21
ZA201904224B (en) 2021-05-26
JP6756924B2 (ja) 2020-09-16
TW201837748A (zh) 2018-10-16
WO2018177255A1 (zh) 2018-10-04
TWI696083B (zh) 2020-06-11
KR20190099222A (ko) 2019-08-26
MY192616A (en) 2022-08-29
CN111327703A (zh) 2020-06-23
BR112019013379B1 (pt) 2022-03-15
RU2731331C1 (ru) 2020-09-01
AU2018241568B2 (en) 2020-12-03
AU2018241568A1 (en) 2019-07-18
MX2019007808A (es) 2019-09-04
EP3547170A1 (en) 2019-10-02
US10642699B2 (en) 2020-05-05
CA3048742A1 (en) 2018-10-04
CA3048742C (en) 2021-07-20
EP3547170A4 (en) 2019-11-20
US20190324867A1 (en) 2019-10-24
JP2020514865A (ja) 2020-05-21

Similar Documents

Publication Publication Date Title
BR112019013379A2 (pt) método para consenso com base em protocolo de confiança e dispositivo para consenso com base em protocolo de confiança
RU2735096C1 (ru) Способ и устройство обработки услуг и консенсуса
CN109347675B (zh) 服务器配置方法、装置以及电子设备
BR112019020374B1 (pt) Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain
BR112019009591A2 (pt) método de consenso de protocolo de confiança e dispositivo de consenso de protocolo de confiança
ES2626655T3 (es) Conmutación por error de clientes agrupados
BR112019012905A2 (pt) método para o envio das informações de transação e dispositivo para o envio das informações de transação
BR112019014478A2 (pt) Método para a determinação do estado da base de dados e dispositivo para a determinação do estado da base de dados
BR112019010368A2 (pt) métodos para processar uma solicitação de serviço e dispositivos para processar uma solicitação de serviço
BR112019019871A2 (pt) método e aparelho para verificação de consenso
US20180157516A1 (en) Allocating or announcing availability of a software container
WO2017025203A1 (en) Managing lifecycle of a software container
WO2018004403A1 (en) Managing a lifecycle of a software container
CN110870286B (zh) 容错处理的方法、装置和服务器
CN106708551B (zh) 一种热添加中央处理器cpu的配置方法及系统

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: G06F 17/30

Ipc: G06F 11/14 (2006.01), H04L 29/08 (2006.01)

B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/03/2018, OBSERVADAS AS CONDICOES LEGAIS.