BR112019009591B1 - Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador - Google Patents

Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador Download PDF

Info

Publication number
BR112019009591B1
BR112019009591B1 BR112019009591-8A BR112019009591A BR112019009591B1 BR 112019009591 B1 BR112019009591 B1 BR 112019009591B1 BR 112019009591 A BR112019009591 A BR 112019009591A BR 112019009591 B1 BR112019009591 B1 BR 112019009591B1
Authority
BR
Brazil
Prior art keywords
node
consensus
service request
primary
protocol
Prior art date
Application number
BR112019009591-8A
Other languages
English (en)
Other versions
BR112019009591A2 (pt
Inventor
Qiang Tang
Original Assignee
Advanced New Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co., Ltd. filed Critical Advanced New Technologies Co., Ltd.
Publication of BR112019009591A2 publication Critical patent/BR112019009591A2/pt
Publication of BR112019009591B1 publication Critical patent/BR112019009591B1/pt

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Retry When Errors Occur (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Logic Circuits (AREA)
  • Read Only Memory (AREA)
  • Electronic Switches (AREA)
  • Computer And Data Communications (AREA)

Abstract

as formas de realização do presente pedido revelam um método e aparelho de consenso, em que o método inclui o seguinte: monitorar, por um nó primário de protocolo de confiança, acionar uma condição de troca de exibição; selecionar, pelo nó primário de protocolo de confiança, um nó sucessor quando o acionamento da condição de troca de exibição é monitorado; e trocar, pelo nó primário de protocolo de confiança baseado no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário de protocolo de confiança sucessor, de forma que o nó primário de protocolo de confiança sucessor inicie um consenso na próxima exibição. de acordo com as formas de realização do presente pedido, qualquer troca de exibição iniciada por um nó primário de protocolo de confiança, e nenhum processo de consenso adicional é necessário. como tal, uma quantidade de computação adicional e consumo de tempo de processamento em uma rede de protocolo de confiança podem ser reduzidos.

Description

CAMPO DA INVENÇÃO
[001] A presente invenção refere-se ao campo das tecnologias informáticas e, em particular, a um método e dispositivo de consenso.
ANTECEDENTES DA INVENÇÃO
[002] Atualmente, a tecnologia de protocolo de confiança (blockchain) é amplamente usada, e um modo descentralizado na tecnologia de protocolo de confiança garante que os dados não sejam facilmente adulterados, melhorando assim a segurança.
[003] Na prática, uma rede de protocolo de confiança que inclui múltiplos nós (os nós podem ser considerados como dispositivos na rede de protocolo de confiança que participam em serviços de processamento) pode fornecer serviços correspondentes para os dispositivos de cliente. Os nós na rede de protocolo de confiança executam o processamento para solicitações de serviço dos dispositivos de clientes e retornam resultados de processamento aos dispositivos de clientes. Nesse processo, os resultados de processamento gerados pelos nós de execução independente podem ser inconsistentes. Para garantir que o dispositivo de cliente receba um resultado de processamento correto, um consenso entre os nós é implementado usando um algoritmo de Tolerância de Falha Bizantino Prático (PBFT) (isto é, um resultado de processamento correto pode ser reconhecido em conjunto ou aceito pelos nós).
[004] Em um processo de uso do algoritmo PBFT, um consenso é geralmente realizado em uma exibição. Em uma exibição, um nó em uma rede de protocolo de confiança é usado como um nó primário (principal) e outros nós são usados como nós de cópia de segurança (backup). Nesse caso, o nó primário recebe uma solicitação de serviço do dispositivo de cliente e transmite a solicitação de serviço para todos os nós de cópia de segurança, e o nó primário inicia um consenso. Os nós que atingem o consenso executam o processamento para a solicitação de serviço e retornam um resultado de processamento para o dispositivo de cliente.
[005] Na tecnologia existente, um nó de cópia de segurança inicia a alternância de exibições e a alternância de exibições iniciada pelo nó de cópia de segurança geralmente precisa ser reconhecida ou aceita por outros nós na exibição. O nó de cópia de segurança inicia uma solicitação de troca de exibição para outros nós (incluindo o nó primário) na exibição, ou seja, inicia um consenso na solicitação de troca de exibição para outros nós (este consenso ainda usa PBFT. Diferente do processo do consenso na solicitação de serviço, em um processo de consenso baseado na solicitação de troca de exibição, cada nó suspende o consenso na solicitação de serviço. Portanto, o consenso na solicitação de troca de exibição é essencialmente um processo de consenso adicional). Depois de uma quantidade predeterminada de nós chegar a um consenso, é determinado que um nó de cópia de segurança se torne um novo nó primário. O novo nó primário transmite uma nova mensagem de exibição para completar a troca de exibição.
[006] No entanto, no mecanismo anterior, um processo de consenso adicional precisa ser executado para a troca de exibição iniciada pelo nó de cópia de segurança, e o processo de consenso adicional aumenta a quantidade de cálculo do sistema. Além disso, no processo de consenso de troca de exibição, um consenso pode ser alcançado depois de ser confirmado por uma quantidade de nós predeterminada. Finalmente, um novo nó primário transmite uma nova mensagem de exibição e todo o processo consome um período de tempo. Aparentemente, uma maneira de troca de exibição existente não apenas aumenta uma quantidade de cálculo do sistema, mas também aumenta o tempo consumido para processar uma solicitação de serviço. Consequentemente, a eficiência de processamento relativamente baixa é causada.
DESCRIÇÃO DA INVENÇÃO
[007] As formas de realização do presente pedido fornecem um método e dispositivo de consenso, para aliviar um problema que uma forma atual de troca de exibição aumenta a quantidade de cálculo de uma rede de protocolo de confiança e aumenta o consumo de tempo de processamento.
[008] Uma forma de realização do presente pedido fornece um método de consenso, em que o método inclui o seguinte: monitoramento, por um nó primário de protocolo de confiança, acionamento de uma condição de troca de exibição; seleção, pelo nó primário de protocolo de confiança, de um nó sucessor quando o acionamento da condição de troca de exibição é monitorado; e troca, pelo nó primário de protocolo de confiança baseado no nó sucessor, de uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário de protocolo de confiança sucessor, para que o nó primário de protocolo de confiança subsequente inicie um consenso na próxima exibição.
[009] Uma forma de realização do presente pedido fornece um dispositivo de consenso, em que o dispositivo inclui o seguinte: um módulo de monitoramento, configurado para monitorar o acionamento de uma condição de troca de exibição; um módulo de determinação de nó, configurado para selecionar um nó sucessor quando o módulo de monitoramento monitora o acionamento da condição de troca de exibição; e um módulo de troca de exibição, configurado para trocar, com base no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário sucessor de protocolo de confiança, para que o nó primário de protocolo de confiança subsequente inicie um consenso na próxima exibição.
[0010] As formas de realização do presente pedido fornecem um método e um dispositivo de consenso. Em qualquer exibição, o nó primário de protocolo de confiança monitora ativamente o acionamento da condição de troca de exibição. Se a condição de troca de exibição for acionada, o nó primário de protocolo de confiança precisará executar a troca de exibição. Além disso, o nó primário de protocolo de confiança seleciona um nó sucessor a partir de outros nós de protocolo de confiança como um nó primário de protocolo de confiança na próxima exibição. Assim, o nó primário de protocolo de confiança realiza a troca de exibição. Na exibição trocada, o nó sucessor é usado como um novo nó primário de protocolo de confiança para processar um serviço. Além disso, a troca de exibição ainda é executada com base no processo anterior. Aparentemente, a troca de exibição anterior é iniciada pelo nó primário de protocolo de confiança. Isso evita que o nó de cópia de segurança de protocolo de confiança inicie o consenso de troca de exibição. Em outras palavras, um consenso adicional pode ser evitado. Como tal, uma quantidade adicional de cálculo e consumo de tempo de processamento em uma rede de protocolo de confiança podem ser reduzidos.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] Os desenhos anexos aqui descritos pretendem proporcionar 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 limitações no presente pedido. Nos desenhos anexos: A Figura 1a ilustra uma arquitetura na qual se baseia um processo de consenso, de acordo com uma forma de realização do presente pedido; A Figura 1b ilustrando um processo de consenso, de acordo com uma forma de realização do presente pedido; A Figura 2 é um diagrama esquemático que ilustra um processo de consenso que é baseado em três protocolos de fase em qualquer exibição, de acordo com uma forma de realização do presente pedido; A Figura 3 é um diagrama esquemático ilustrando um processo de execução de um exemplo de aplicativo de troca de exibição, 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, de acordo com uma forma de realização do presente pedido.
DESCRIÇÃO DE REALIZAÇÕES DA INVENÇÃO
[0012] Para tornar os objetivos, as soluções técnicas e as vantagens do presente pedido mais claros, o seguinte descreve as soluções técnicas do presente pedido com referência às formas de realização específicas e desenhos anexos do presente pedido de forma clara e compreensiva. 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.
[0013] Como descrito acima, em um processo em que os nós em uma rede de protocolo de confiança realizam um consenso usando o algoritmo PBFT, uma vez que um nó primário de protocolo de confiança se torna defeituoso, um nó de cópia de segurança de protocolo de confiança inicia a troca de exibição. Um consenso adicional é necessário para a troca de exibição iniciada pelo nó de cópia de segurança de protocolo de confiança. Ou seja, a mudança de exibição só pode ser concluída depois de ser reconhecida ou aceita por outros nós de protocolo de confiança. Aparentemente, um processo de consenso adicional aumenta a quantidade de cálculo de uma rede de protocolo de confiança e também aumenta o consumo de tempo de processamento.
[0014] Consequentemente, uma forma de realização do presente pedido fornece um método de consenso. Para um nó primário de protocolo de confiança em qualquer exibição, depois que um consenso termina, o nó primário de protocolo de confiança inicia a troca de exibição, para alterar um nó primário de protocolo de confiança, e nenhum processo de consenso adicional é necessário. Para facilitar a descrição, um nó primário de protocolo de confiança é simplesmente chamado de nó primário e um nó de cópia de segurança de protocolo de confiança é simplesmente chamado de nó de cópia de segurança. Além disso, os “nós” descritos abaixo devem ser entendidos como nós em uma rede de protocolo de confiança que participam de um consenso.
[0015] Vale a pena notar que, em uma forma de realização do presente pedido, uma arquitetura usada no método de consenso é mostrada na Figura 1a. Pode ser visto a partir da Figura 1a que uma rede de protocolo de confiança inclui múltiplos nós e múltiplos dispositivos de cliente podem executar a interação de serviço com a rede de protocolo de confiança. Um tipo de aplicação da rede de protocolo de confiança pode ser em uma rede de protocolo de confiança de consórcio ou uma rede de protocolo de confiança privada, e a rede de protocolo de confiança pode fornecer um serviço para um usuário. O nó inclui, mas não está limitado a, um servidor, um computador, um dispositivo móvel e outros dispositivos que tenham uma função de processamento de computação. O dispositivo de cliente pode ser configurado para executar um navegador, um aplicativo, etc., e o dispositivo de cliente pode ser um dispositivo de usuário final, um servidor ou um banco de dados. As formas de realização não são aqui limitadas.
[0016] Com base na arquitetura de relacionamento mostrada na Figura 1a, um processo de consenso fornecido em uma forma de realização do presente pedido é mostrado na Figura 1b. O processo inclui as seguintes etapas.
[0017] (S101): Um nó primário monitora o acionamento de uma condição de troca de exibição.
[0018] Nesta forma de realização do presente pedido, a condição de troca de exibição pode ser considerada como uma condição que necessita de ser satisfeita para executar troca de exibição. Por exemplo, o nó primário não transmite uma solicitação de serviço nem completa um consenso dentro de um período de tempo predeterminado.
[0019] De um modo possível, nesta forma de realização do presente pedido, pode ser definido um temporizador no nó primário para monitorar o acionamento da condição de troca de exibição. Por exemplo, um temporizador pode ser usado para cronometrar um comportamento de transmissão de uma solicitação de serviço pelo nó primário, para detectar se o comportamento de transmitir uma solicitação de serviço pelo nó primário expira. O temporizador pode ser considerado como uma função ou serviço de temporização que é executado no nó primário e, certamente, não constitui limitações no presente pedido.
[0020] (S102): O nó primário seleciona um nó sucessor quando o acionamento da condição de troca de exibição é monitorado.
[0021] Se a condição de troca de exibição for acionada, o nó primário precisará executar a troca de exibição. Vale a pena observar que, em qualquer exibição, existe apenas um nó primário e outros nós são nós de cópia de segurança. Portanto, a troca de exibição indica a troca do nó primário. Portanto, na presente etapa, o nó primário seleciona um nó sucessor como um próximo nó primário (o nó sucessor nesta forma de realização do presente pedido não é o mesmo nó do nó primário na exibição atual, ou seja, o nó primário na exibição atual não pode ser usado como um nó sucessor).
[0022] (S103): O nó primário muda, com base no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário sucessor, para que o nó primário sucessor inicie um consenso na próxima exibição.
[0023] Depois que o nó sucessor for determinado, o nó primário executa a troca de exibição. De um modo existente que um nó de cópia de segurança inicia um consenso de troca de exibição, um processo que o nó de cópia de segurança inicia o consenso de troca de exibição pode ser considerado como um processo de “impeachment” do nó primário na exibição. Diferentemente do modo existente, nesta forma de realização do presente pedido, um processo em que o nó primário realiza de maneira independente a troca de exibição pode ser considerado como um processo de “abdicação ativa”, e o nó primário realiza a troca de exibição sem iniciar um consenso. Aparentemente, um processo de consenso adicional também é evitado. Depois que a troca da exibição é realizada, um nó primário recém nomeado é responsável por iniciar um consenso na exibição trocada, e pode ser entendido que o nó primário recém nomeado também executa o processo de troca da exibição anterior. Detalhes são omitidos aqui para simplificar.
[0024] De acordo com as etapas anteriores, em qualquer exibição, o nó primário monitora ativamente o acionamento da condição de troca de exibição. Se a condição de troca de exibição for acionada, o nó primário precisará executar a troca de exibição. Além disso, o nó primário seleciona um nó sucessor a partir de outros nós como um nó primário na próxima exibição. Assim, o nó primário realiza a troca de exibição. Na exibição trocada, o nó sucessor é usado como um novo nó primário para processar um serviço. Além disso, a troca de exibição ainda é executada com base no processo anterior. Aparentemente, a troca de exibição anterior é iniciada pelo nó primário. Isso evita que um nó de cópia de segurança inicie um consenso de troca de exibição. Em outras palavras, um consenso adicional pode ser evitado. Como tal, uma quantidade adicional de cálculo e consumo de tempo de processamento em uma rede de protocolo de confiança podem ser reduzidos.
[0025] Na prática, existem diferentes condições de troca de exibição. O seguinte descreve em detalhes o acionamento da condição de troca de exibição.
- Primeiro cenário:
[0026] Na prática, um dispositivo de cliente envia uma solicitação de serviço para um nó primário. Em um status normal, depois de receber a solicitação de serviço, o nó primário transmite a solicitação de serviço aos nós de cópia de segurança em uma exibição, para realizar um consenso na solicitação de serviço. No entanto, o nó primário pode ser um nó anormal e não transmite a solicitação de serviço por um longo tempo após receber a solicitação de serviço. Como tal, o nó de cópia de segurança inicia um consenso de troca de exibição. Portanto, para impedir um consenso de troca de exibição iniciado pelo nó de cópia de segurança, uma vez que o nó primário não transmitiu uma solicitação de serviço dentro de um período de tempo predeterminado, o nó primário realiza a temporização de maneira independente e monitora ativamente um fenômeno de expiração do nó primário.
[0027] Em outras palavras, nesse cenário, se a condição de troca de exibição é que o nó primário não transmita uma solicitação de serviço dentro de um período de tempo predeterminado, o acionamento da condição de troca de exibição inclui o seguinte: receber, pelo nó primário, uma solicitação de serviço e não iniciar um consenso sobre a solicitação de serviço dentro de um tempo predeterminado.
[0028] Em uma operação real, a temporização pode ser implementada por um programa ou serviço que tenha uma função de temporização no nó primário, por exemplo, o temporizador mencionado anteriormente. A temporização pode ser iniciada a partir de um momento no qual o nó primário recebe a solicitação de serviço. O tempo predeterminado pode ser definido para 5s, 10s, etc., pode ser determinado com base em um requisito na prática e não constitui limitações no presente pedido.
- Segundo cenário:
[0029] Diferente do cenário anterior, nesse cenário, depois de receber uma solicitação de serviço, o nó primário transmite a solicitação de serviço aos nós de cópia de segurança em uma exibição atual. Em outras palavras, o nó primário iniciou um consenso na solicitação de serviço antes que o tempo predeterminado expire. Correspondentemente, os nós na exibição executam um consenso na solicitação de serviço e geram um resultado de consenso.
[0030] Vale a pena observar que, aqui, com base em um mecanismo de troca de exibição existente, se um resultado de consenso for que um consenso falhe, o nó de cópia de segurança inicia um consenso de troca de exibição. Aparentemente, uma falha de consenso pode ser considerada como uma condição de troca de exibição. Em outras palavras, nesse cenário, quando o consenso falha, o nó primário realiza ativamente a troca de exibição, para evitar que o nó de cópia de segurança inicie um consenso de troca de exibição adicional.
[0031] Além disso, com base no mecanismo de troca de exibição existente, se um resultado de consenso é que um consenso é alcançado, o nó primário continua a iniciar um consenso em outra solicitação de serviço. No entanto, o nó primário pode estar com defeito em um processo em execução subsequente. Quando o nó primário se torna defeituoso, o nó de cópia de segurança inicia ainda um consenso de troca de exibição. Portanto, para evitar este caso, nesta forma de realização do presente pedido, após um consenso ser alcançado, o nó primário ainda realiza a troca de exibição.
[0032] Pode ser observado que, nesse cenário, independentemente do resultado do consenso ser que um consenso foi alcançado ou que um consenso falhou, o nó primário executa a troca de exibição depois de determinar o resultado do consenso. Em outras palavras, o acionamento da condição de troca de exibição inclui o seguinte: receber, pelo nó primário, uma solicitação de serviço, iniciar um consenso sobre a solicitação de serviço e determinar um resultado de consenso.
[0033] Ou seja, nesse cenário, o nó primário precisa determinar se um consenso foi atingido ou se um consenso falhou. O seguinte descreve em detalhes como o nó primário determina que um consenso foi alcançado ou que um consenso falhou.
[0034] Primeiro, vale a pena notar que um processo de consenso baseado em uma solicitação de serviço é essencialmente um processo de consenso baseado em um protocolo de fase. As três fases incluem uma fase de pré-preparação, uma fase de preparação e uma fase de comprometimento, e formam um processo de consenso completo. Em cada fase, os nós (incluindo um nó primário e nós de cópia de segurança) enviam mensagens de consenso entre si. Ou seja, para cada nó na exibição, a entrada de diferentes fases precisa ser reconhecida ou aceita por outros nós. Portanto, cada uma das três fases pode ser considerada como um processo de consenso. Geralmente, quando todos os nós entram em uma fase de comprometimento, pode-se considerar que o processo de consenso está completo.
[0035] A Figura 2 é um processo de consenso de nós baseado em três protocolos de fase em uma exibição. Na Figura 2, um dispositivo de cliente inicia uma solicitação de serviço para um nó numerado 0 (réplica 0, ou seja, um nó primário) e o nó primário transmite a solicitação de serviço para nós de cópia de segurança (réplica 1, réplica 2 e réplica 3) e inicia a execução de três fases de consenso. Os nós que atingem um consenso processam a solicitação de serviço e retornam um resultado de processamento ao dispositivo de cliente.
[0036] Assim, as seguintes operações são realizadas.
1. O nó primário determina que um consenso falha.
[0037] Nesta forma de realização do presente pedido, que um consenso falha é representado como expiração do processo de consenso (simplesmente referido como expiração de consenso abaixo, onde a expiração de consenso significa que o tempo consumido por um processo de consenso excede a duração de consenso predeterminada, e o tempo consumido pelo processo de consenso pode ser contado a partir de um momento em que o nó primário inicia o consenso). As razões são as seguintes.
[0038] Em um caso, o nó primário é um nó defeituoso (se um nó estiver com defeito, pode-se considerar que os dados usados para realizar um consenso no nó estão com defeito ou a lógica de consenso no nó está com defeito). Ou seja, as solicitações de serviço enviadas pelo nó primário aos nós de cópia de segurança podem incluir dados incorretos (por exemplo, um número de sequência de solicitação de serviço incorreto). Garantido pelo mecanismo BPFT, os nós de cópia de segurança verificam as solicitações de serviço transmitidas pelo nó primário. Depois que os dados incorretos são incluídos em uma solicitação de serviço, um nó de cópia de segurança normal não confirma ou aceita o pedido de serviço. Nesse caso, o nó primário pode repetir o processo de envio de solicitações de serviço e, consequentemente, o consenso expira.
[0039] Como alternativa, em outro caso, o nó primário também é um nó defeituoso. Nesse caso, o nó primário pode enviar uma mensagem de notificação incorreta indicando uma fase de consenso para outros nós de cópia de segurança, ou seja, o nó primário “incorretamente” considera que uma determinada fase foi inserida. Neste caso, nós de cópia de segurança realizam um consenso na mensagem de notificação do nó primário, para confirmar a autenticidade da mensagem de notificação do nó primário. Da mesma forma, um nó de cópia de segurança normal ainda não confirma ou aceita uma mensagem de notificação enviada pelo nó primário. Nesse caso, o nó primário pode repetir um processo de envio de uma mensagem de notificação incorreta e, consequentemente, o consenso expira.
[0040] Certamente, o conteúdo anterior tem apenas dois casos possíveis que podem levar à expiração de consenso na prática, e não devem ser considerados como limitações no presente requerimento. Aparentemente, pode ser visto no conteúdo anterior que, uma vez que um consenso expira, o consenso falha.
[0041] Portanto, nesta forma de realização do presente pedido, o nó primário pode detectar se um consenso falha, monitorando um consumo de tempo global de um processo de consenso. Uma vez que o processo de consenso expira, o nó primário inicia imediatamente uma operação de troca de exibição e um processo de consenso adicional de troca de exibição iniciado por um nó de cópia de segurança pode ser evitado. Isto é, nesta forma de realização do presente pedido, um processo que o nó primário determina que o consenso falhe pode ser o seguinte: O nó primário monitora o tempo consumido por um processo de consenso a partir de um momento em que um consenso sobre a solicitação de serviço é iniciada entre os nós de cópia de segurança na exibição e determina que o consenso falha quando é detectado que o tempo consumido pelo consenso excede um tempo predeterminado.
2. O nó primário determina que um consenso foi alcançado.
[0042] Pode ser visto no protocolo três fases anterior que, se um nó entrar em uma fase de comprometimento, o nó pode processar uma solicitação de serviço e fornecer um resultado de processamento gerado a um dispositivo de cliente. Além disso, para inserir uma fase, cada nó precisa ser reconhecido ou aceito por outros nós em uma exibição. Portanto, se um nó entrar em uma fase de comprometimento, isso indica que o nó é reconhecido ou aceito por outros nós. Pode ser visto que, se o nó primário entrar na fase de comprometimento, isso indica que o consenso foi alcançado. Isso ocorre porque, no mecanismo PBFT, se um nó entrar em uma fase, isso indica que o status do nó é reconhecido ou aceito pela maioria dos nós na exibição. Assim, indica que a maioria dos nós são nós corretos.
[0043] Portanto, de tal forma, um processo que o nó primário determina que um consenso foi alcançado pode ser o seguinte: O nó primário monitora uma fase correspondente do nó primário e quando o nó primário detecta que o nó primário entra em uma fase de comprometimento e a duração de consenso predeterminada não expira, determina que o consenso foi concluído. Ou seja, ao confirmar que o nó primário entra na fase de comprometimento, o nó primário precisa ainda garantir que o tempo consumido pelo nó primário para entrar na fase de comprometimento não exceda o tempo predeterminado.
[0044] De outra maneira, nesta forma de realização do presente pedido, o nó primário pode não enviar uma mensagem de notificação para outros nós (ou seja, o nó primário pode ser um nó defeituoso). No entanto, o nó primário ainda pode receber uma mensagem de notificação enviada por um nó de cópia de segurança. Neste caso, se uma quantidade predeterminada de nós entrar em uma fase de comprometimento, pode-se considerar que o consenso está completo.
[0045] Na prática, depois que um nó entra em uma fase de comprometimento, o nó geralmente envia mensagens de notificação para outros nós na exibição, onde a mensagem de notificação pode ser, por exemplo, <commit, v, n, D(m)>, onde “commit” indica que o nó entrou em uma fase de consolidação, “v” indica um número de exibição, “n” indica um número de sequência de uma solicitação de serviço e “D(m)” indica uma assinatura realizada na solicitação de serviço pelo nó que envia a mensagem de notificação.
[0046] O nó primário pode coletar estatísticas sobre mensagens de notificação que são recebidas pelo nó primário e que indicam que uma fase de comprometimento foi inserida. Se uma quantidade de mensagens de notificação recebidas for maior que 2f + 1, isso indica que um número suficiente de nós chegou a um consenso. Então, indica que o consenso está completo. f é uma quantidade máxima de nós incorretos toleráveis no mecanismo PBFT. Nesse caso, o nó primário pode determinar que o consenso está completo.
[0047] Portanto, um processo no qual o nó primário determina que o consenso é alcançado também pode ser o seguinte: O nó primário monitora uma mensagem de notificação que é recebida pelo nó primário e que indica que o nó de cópia de segurança entra em uma fase de comprometimento e quando o principal nó detecta que uma quantidade de mensagens de notificação recebidas excede uma quantidade predeterminada e a duração de consenso predeterminada não expira, determina que o consenso foi concluído.
[0048] Depois que o consenso é concluído, o nó primário inicia a troca de exibição, para alterar o nó primário e inserir a nova exibição.
[0049] O seguinte descreve um processo de troca de exibição nesta forma de realização do presente pedido.
[0050] No mecanismo PBFT, cada exibição tem um número correspondente. Por exemplo, v no exemplo anterior, representa o número da exibição atual. Correspondentemente, cada nó na rede de protocolo de confiança tem um número correspondente. Se houver um total de nós R na rede de protocolo de confiança, os números dos nós serão de 0 a R - 1, por exemplo, réplica 0, réplica 1,... e réplica R - 1. Existe uma relação entre um número de nó e um número de exibição. Se a réplica p for usada para representar o nó com o número p, número do nó e um número de exibição satisfazem a seguinte equação: p = v mod R, onde v é um inteiro de 0 a infinito positivo.
[0051] Esta relação indica que o número de nó p é obtido após o número de exibição v modular a quantidade R de nós incluídos em uma rede de protocolo de confiança.
[0052] Em outras palavras, como v varia de 0 a R - 1, é assegurado que a identidade do nó primário seja entregue sequencialmente a nós diferentes. Por exemplo, se o nó primário da exibição atual for réplica 0 (que corresponde ao número de exibição 0), o nó primário na próxima exibição (numerado 1) será réplica 1. Todos os nós são percorridos dessa maneira.
[0053] Portanto, pode ser visto que, nesta forma de realização do presente pedido, um processo de troca de exibição inclui o seguinte: determinar, pelo nó primário, um número do nó primário; determinar, com base no número do nó primário, um nó cujo número é organizado após o número do nó primário; gerar uma mensagem de notificação de troca de exibição com base no nó determinado; e enviar a mensagem de troca de exibição para cada nó de cópia de segurança para executar a troca de exibição, para que o nó determinado se torne um nó primário em uma próxima exibição.
[0054] O seguinte usa um exemplo de aplicativo específico para descrição. Como mostrado na Figura 3, o exemplo inclui as seguintes etapas:
[0055] (S301): O nó primário p em uma exibição numerada v recebe uma solicitação de serviço enviada por um dispositivo de cliente e executa a temporização.
[0056] (S302): Quando um tempo predeterminado expira, determina se deve iniciar um consenso na solicitação de serviço para cada nó de cópia de segurança na exibição; se sim, executa a etapa (S303); e caso contrário, executa a etapa (S305).
[0057] (S303): Obtém um resultado de consenso.
[0058] (S304): Determina se o consenso é alcançado e executa a etapa (S305).
[0059] (S305): Troca a exibição v para a exibição v + 1 e determina um nó numerado como p + 1 como um nó primário na exibição v + 1.
[0060] A troca de exibição anterior é iniciada pelo nó primário. Isso evita que um nó de cópia de segurança inicie um consenso de troca de exibição.
[0061] O acima é um método de consenso fornecido na forma de realização do presente pedido. Com base na mesma ideia, as formas de realização do presente pedido fornecem ainda um dispositivo de consenso. Como mostrado na Figura 4, para qualquer exibição, o dispositivo de consenso inclui o seguinte: um módulo de monitoramento (401), configurado para monitorar o acionamento de uma condição de troca de exibição; um módulo de determinação de nó (402), configurado para selecionar um nó sucessor quando o módulo de monitoramento monitora o acionamento da condição de troca de exibição; e um módulo de troca de exibição (403), configurado para trocar, com base no nó sucessor, uma exibição atual para uma exibição seguinte que usa o nó sucessor como um nó primário sucessor de protocolo de confiança, de forma que o nó primário de protocolo de confiança subsequente inicia um consenso na próxima exibição.
[0062] Em resposta à determinação de que uma solicitação de serviço é recebida e um consenso sobre a solicitação de serviço não é iniciado dentro de um tempo predeterminado, o módulo de monitoramento (401) determina que o acionamento da condição de troca de exibição seja monitorado.
[0063] Em resposta a determinar que uma solicitação de serviço seja recebida, um consenso na solicitação de serviço é iniciado e é determinado um resultado de consenso, o módulo de monitoramento (401) determina que o acionamento da condição de troca de exibição seja monitorado.
[0064] O módulo de determinação de nó (402) determina uma exibição seguinte da exibição atual e determina um nó sucessor que corresponde à exibição seguinte.
[0065] O módulo de troca de exibição (403) muda a exibição atual para a próxima exibição determinada, onde o nó sucessor é usado como um nó primário na próxima exibição.
[0066] Um nó em qualquer exibição inclui um nó em uma rede de protocolo de confiança de consórcio ou uma rede de protocolo de confiança privada.
[0067] 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 distinguido. 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. Um projetista geralmente programa 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 (Arranjo de Portas Programáveis em Campo)) é tal como 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 a um PLD sem solicitar um fabricante de chip para projetar e produzir um chip de circuito integrado específico da aplicação. Além disso, atualmente, em vez de fabricar manualmente um chip de circuito integrado, essa programação é implementada 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 para compilação. A linguagem é referida como uma linguagem de descrição de hardware (HDL). Existem muitos HDLs, como Linguagem de Expressão Booleana Avançada (ABEL), Linguagem de Descrição de Hardware Altera (AHDL), Confluence, Linguagem de Programação da Cornell University (CUPL), HDCal, Linguagem de Descrição de Hardware Java (JHDL), Lava, Lola, MyHDL, PALASM e Linguagem de Descrição de Ruby Hardware (RHDL). A linguagem de descrição de hardware de circuito integrado de altíssima velocidade (VHDL) e a Verilog são as mais usadas. 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 prontamente obtido uma vez que o procedimento do método é logicamente programado usando as várias linguagens de descrição de hardware descritas e é programado em um circuito integrado.
[0068] Um controlador pode ser implementado usando qualquer método apropriado. Por exemplo, o controlador pode ser um microprocessador ou um processador ou um meio legível por computador que armazena código de programa legível por computador (como software ou firmware) que pode ser executado pelo microprocessador ou pelo processador, uma porta lógica, um comutador, um circuito integrado específico para aplicativo (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 Silicon Labs C8051F320. O controlador de memória também pode ser implementado como parte da lógica de controle da 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, a programação lógica pode ser executada nas etapas do método para permitir que o controlador implemente a mesma função nas formas da porta lógica, do comutador, do circuito integrado específico para aplicativo, do controlador lógico programável e do microcontrolador incorporado. Portanto, o controlador pode ser considerado como um componente de hardware, e um dispositivo configurado para implementar várias funções no controlador também pode ser considerado como uma estrutura no componente de hardware. Ou o dispositivo configurado para implementar várias funções pode até ser considerado como um módulo de software que implementa o método e uma estrutura no componente de hardware.
[0069] O sistema, dispositivo, módulo ou unidade ilustrados nas formas de realização anteriores podem ser implementados usando um chip de computador ou uma entidade, ou podem ser implementados usando um produto tendo uma certa função. Um dispositivo de forma de realização típico é um computador. 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 tablet computador, ou um dispositivo que pode ser vestido, ou uma combinação de qualquer um desses dispositivos.
[0070] Para facilitar a descrição, o dispositivo acima é descrito dividindo funções em várias unidades. Certamente, quando o presente pedido é implementado, uma função de cada unidade pode ser implementada em uma ou mais partes de software e/ ou de hardware.
[0071] Um técnico no assunto deve compreender que uma forma de realização da presente invenção pode ser fornecida 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 somente de hardware, implementações apenas de 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 se limitando a uma memória de disco, um CD-ROM, uma memória ótica, etc.) que incluem código de programa utilizável pelo computador.
[0072] A presente invençã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 com base nas 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 diagramas de blocos e uma combinação de um processo e/ ou um bloco nos fluxogramas e/ ou nos diagramas de blocos. Estas instruções do programa 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, de modo que as instruções executadas pelo computador ou pelo processador do outro dispositivo de processamento de dados programável gerem um dispositivo 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.
[0073] Essas instruções de programa de computador podem ser armazenadas em uma memória legível por computador que instrui o computador ou o outro dispositivo de processamento de dados programável a funcionar de maneira específica, de modo que as instruções armazenadas na memória gerada 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.
[0074] Estas instruções de programas de computador podem ser carregadas no computador ou outro dispositivo de processamento de dados programável, de modo que uma série de operações e etapas sejam realizadas no computador ou em 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.
[0075] Em uma realização, 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.
[0076] 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 que esteja em um meio legível por computador, por exemplo, uma memória somente leitura (ROM) ou uma memória flash (flash RAM). A memória é um exemplo do meio legível por computador.
[0077] O meio legível por computador inclui mídia persistente, não 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 leitura (ROM), uma memória de leitura programável apagável eletricamente (EEPROM), 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 fita magnética cassete, uma fita magnética/ armazenamento em disco magnético ou outro dispositivo de armazenamento magnético. O meio de armazenamento por computador pode ser usado para armazenar informações acessíveis pelo dispositivo de computação. Com base na definição do presente 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.
[0078] Vale a pena observar ainda que os termos “incluir”, “conter” ou quaisquer outras variantes pretendem cobrir uma inclusão não exclusiva, portanto, um processo, um método, um produto ou um dispositivo que inclua uma lista de elementos não só inclui esses elementos mas também inclui outros elementos que não estejam expressamente listados ou ainda inclui elementos inerentes para tal um processo, método, dispositivo ou produto. 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.
[0079] Um técnico no assunto deve compreender que uma forma de realização do presente pedido pode ser fornecida como um método, um sistema ou um produto de programa de computador. Portanto, o presente pedido pode usar uma forma de implementações somente de hardware, implementações somente de software ou implementações com uma combinação de software e hardware. Além disso, o presente pedido pode usar uma forma de um produto programa de computador que é implementada em um ou mais meios de armazenamento utilizáveis em computador (incluindo mas não se limitando a uma memória de disco, um CD-ROM, uma memória óptica, etc.) que incluem código de programa utilizável por computador.
[0080] 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., executando uma tarefa específica ou implementando um tipo de dados abstrato específico. O presente pedido também pode ser praticado em ambientes de computação distribuída. Nos ambientes de computação distribuída, as tarefas são executadas por dispositivos de processamento remoto conectados por meio de uma rede de comunicações. Em um ambiente de computação distribuída, o módulo do programa pode estar localizado tanto na mídia de armazenamento do computador local quanto remoto, incluindo dispositivos de armazenamento.
[0081] 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 podem ser feitas às formas de realização. Cada forma de realização se concentra em uma diferença em relação às outras formas de realização. Particularmente, uma forma de realização do sistema é basicamente semelhante à forma de realização de um método e, portanto, é descrita resumidamente. Para partes relacionadas, podem ser feitas referências a descrições relacionadas na forma de realização do método.
[0082] As formas de realização anteriores são 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, ou melhoria feita sem se afastar do escopo do presente pedido, cairá no escopo das reivindicações do presente pedido.

Claims (18)

1. MÉTODO IMPLEMENTADO POR COMPUTADOR PARA EXECUTAR TROCA DE EXIBIÇÃO EM UMA REDE DE PROTOCOLO DE CONFIANÇA, em que a rede de protocolo de confiança compreende um nó primário de protocolo de confiança e uma pluralidade de nós de cópia, em que o nó primário de protocolo de confiança inicia um consenso para uma solicitação de serviço dentro de uma rede de protocolo de confiança, e em que a solicitação de serviço não é para iniciar uma troca de exibição, caracterizado pelo método compreender as etapas de: receber (S101), por um nó primário de protocolo de confiança, um acionamento de uma condição de troca de exibição na rede de protocolo de confiança, em que o acionamento indica um dentre: (a) receber a solicitação de serviço, iniciar o consenso para a solicitação de serviço e determinar um resultado do consenso para a solicitação de serviço, ou (b) uma falha ao iniciar o consenso para a solicitação de serviço dentro de um tempo predeterminado; selecionar (S102), pelo nó primário de protocolo de confiança, um nó sucessor da pluralidade de nós de cópia com base no acionamento da condição de troca de exibição; e trocar (S103), pelo nó primário de protocolo de confiança baseado no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário de protocolo de confiança sucessor, em que o nó primário de protocolo de confiança sucessor inicie um consenso adicional na próxima exibição.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado por receber o acionamento da condição de troca de exibição compreender: receber, pelo nó primário de protocolo de confiança, a solicitação de serviço; e determinar que um consenso sobre a solicitação de serviço falha ao ser iniciado com um tempo predeterminado.
3. MÉTODO, de acordo com a reivindicação 2, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que os dados incluídos na solicitação de serviço estão incorretos.
4. MÉTODO, de acordo com a reivindicação 2, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que o nó primário de protocolo de confiança enviou uma mensagem de notificação incorreta indicando uma fase de consenso para o nó sucessor.
5. MÉTODO, de acordo com a reivindicação 1, caracterizado pela seleção, pelo nó primário de protocolo de confiança, do nó sucessor compreender: determinar, pelo nó primário de protocolo de confiança, a próxima exibição da exibição atual; e selecionar o nó sucessor que corresponde à próxima exibição.
6. MÉTODO, de acordo com a reivindicação 5, caracterizado pela troca da exibição atual para uma próxima exibição que usa o nó sucessor como o nó primário de protocolo de confiança sucessor compreender: trocar a exibição atual para a exibição seguinte, em que o nó sucessor é usado como um nó primário de protocolo de confiança na próxima exibição.
7. MÉTODO, de acordo com qualquer a reivindicação 1, caracterizado pela rede de protocolo de confiança compreender uma rede de protocolo de confiança de consórcio ou uma rede de protocolo de confiança privada.
8. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , que compreende uma ou mais instruções executáveis por um sistema de computador para realizar operações de um método para executar troca de exibição em uma rede de protocolo de confiança, em que a rede de protocolo de confiança compreende um nó primário de protocolo de confiança e uma pluralidade de nós de cópia, em que o nó primário de protocolo de confiança inicia um consenso para uma solicitação de serviço dentro da rede de protocolo de confiança, e em que a solicitação de serviço não é para iniciar uma troca de exibição, caracterizado pelo método compreender as etapas de: receber (S101), por um nó primário de protocolo de confiança, um acionamento de uma condição de troca de exibição na rede de protocolo de confiança, em que o acionamento indica um dentre: (a) receber a solicitação de serviço, iniciar o consenso para a solicitação de serviço e determinar um resultado do consenso para a solicitação de serviço, ou (b) uma falha ao iniciar o consenso para a solicitação de serviço dentro de um tempo predeterminado; selecionar (S102), pelo nó primário de protocolo de confiança, um nó sucessor da pluralidade de nós de cópia com base no acionamento da condição de troca de exibição; e trocar (S103), pelo nó primário de protocolo de confiança baseado no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário de protocolo de confiança sucessor, em que o nó primário de protocolo de confiança sucessor inicia um consenso adicional na próxima exibição.
9. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 8, caracterizado por receber o acionamento da condição de troca de exibição compreender: receber, pelo nó primário de protocolo de confiança, a solicitação de serviço; e determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado.
10. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 9, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que os dados incluídos na solicitação de serviço estão incorretos.
11. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 9, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que o nó primário de protocolo de confiança enviou uma mensagem de notificação incorreta indicando uma fase de consenso para o nó sucessor.
12. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 8, caracterizado pela seleção, pelo nó primário de protocolo de confiança, do nó sucessor compreender: determinar, pelo nó primário de protocolo de confiança, a próxima exibição da exibição atual; e selecionar o nó sucessor que corresponda à próxima exibição.
13. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 12, caracterizado pela troca da exibição atual para uma próxima exibição que usa o nó sucessor como o nó primário de protocolo de confiança sucessor compreender: trocar a exibição atual para a exibição seguinte, em que o nó sucessor é usado como um nó primário de protocolo de confiança na próxima exibição.
14. MEIO LEGÍVEL POR COMPUTADOR, NÃO TRANSITÓRIO , de acordo com a reivindicação 8, caracterizado pela rede de protocolo de confiança compreender uma rede de protocolo de confiança de consórcio ou uma rede de protocolo de confiança privada.
15. SISTEMA IMPLEMENTADO POR COMPUTADOR, compreendendo: um ou mais computadores; e um ou mais dispositivos de memória de computador acoplados de forma interoperável com um ou mais computadores e tendo uma mídia tangível, não transitória, legível por máquina, compreendendo uma ou mais instruções que, quando executadas por um ou mais computadores, executam uma ou mais operações para executar troca de exibição em uma rede de protocolo de confiança, em que a rede de protocolo de confiança compreende um nó primário de protocolo de confiança e uma pluralidade de nós de cópia, em que o nó primário de protocolo de confiança inicia um consenso para uma solicitação de serviço dentro da rede de protocolo de confiança, e em que a solicitação de serviço não é para iniciar uma troca de exibição, caracterizado por compreender as etapas de: receber (S101), por um nó primário de protocolo de confiança, um acionamento de uma condição de troca de exibição em na rede de protocolo de confiança, em que o acionamento indica um dentre: (a) receber a solicitação de serviço, iniciar o consenso para a solicitação de serviço e determinar um resultado do consenso para a solicitação de serviço, ou (b) uma falha ao iniciar o consenso para a solicitação de serviço dentro de um tempo predeterminado; selecionar (S102), pelo nó primário de protocolo de confiança, um nó sucessor da pluralidade de nós de cópia com base no acionamento da condição de troca de exibição; e trocar (S103), pelo nó primário de protocolo de confiança baseado no nó sucessor, uma exibição atual para uma próxima exibição que usa o nó sucessor como um nó primário de protocolo de confiança sucessor, em que o nó primário de protocolo de confiança sucessor inicia um consenso adicional na próxima exibição.
16. SISTEMA, de acordo com a reivindicação 15, caracterizado por receber o acionamento da condição de troca de exibição compreender: receber, pelo nó primário de protocolo de confiança, a solicitação de serviço; e determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado.
17. SISTEMA, de acordo com a reivindicação 16, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que o nó primário de protocolo de confiança enviou uma mensagem de notificação incorreta indicando uma fase de consenso para o nó sucessor.
18. SISTEMA, de acordo com a reivindicação 16, caracterizado por determinar que o consenso sobre a solicitação de serviço falha ao ser iniciado com o tempo predeterminado compreender: determinar que os dados incluídos na solicitação de serviço estão incorretos.
BR112019009591-8A 2017-03-10 2018-03-06 Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador BR112019009591B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710142252.1A CN107391320B (zh) 2017-03-10 2017-03-10 一种共识方法及装置
CN201710142252.1 2017-03-10
PCT/CN2018/078169 WO2018161901A1 (zh) 2017-03-10 2018-03-06 一种共识方法及装置

Publications (2)

Publication Number Publication Date
BR112019009591A2 BR112019009591A2 (pt) 2019-12-17
BR112019009591B1 true BR112019009591B1 (pt) 2021-11-23

Family

ID=60338823

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019009591-8A BR112019009591B1 (pt) 2017-03-10 2018-03-06 Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador

Country Status (16)

Country Link
US (1) US10684925B2 (pt)
EP (1) EP3525102B1 (pt)
JP (1) JP6756918B2 (pt)
KR (1) KR102140903B1 (pt)
CN (1) CN107391320B (pt)
AU (1) AU2018230202B2 (pt)
BR (1) BR112019009591B1 (pt)
CA (1) CA3043532C (pt)
ES (1) ES2880448T3 (pt)
MX (1) MX2019005525A (pt)
PH (1) PH12019501053A1 (pt)
PL (1) PL3525102T3 (pt)
RU (1) RU2733221C1 (pt)
TW (1) TW201833855A (pt)
WO (1) WO2018161901A1 (pt)
ZA (1) ZA201902935B (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391320B (zh) * 2017-03-10 2020-07-10 创新先进技术有限公司 一种共识方法及装置
CN110445619B (zh) * 2017-03-30 2020-10-16 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN108282539A (zh) * 2018-02-06 2018-07-13 北京奇虎科技有限公司 基于双层网络的去中心化存储系统
US10599835B2 (en) 2018-02-06 2020-03-24 Vmware, Inc. 32-bit address space containment to secure processes from speculative rogue cache loads
US10951626B2 (en) 2018-03-06 2021-03-16 Americorp Investments Llc Blockchain-based commercial inventory systems and methods
US11700265B2 (en) 2018-03-06 2023-07-11 Americorp Investments Llc Customized view of restricted information recorded into a blockchain
CA3092940C (en) 2018-03-06 2023-03-28 Americorp Investments Llc Customized view of restricted information recorded into a blockchain
CN108416593B (zh) * 2018-03-20 2021-02-12 杨鉴 一种基于网络分散度证明的区块链共识方法和系统
CN108596622A (zh) * 2018-05-02 2018-09-28 北京链链信息技术有限公司 交易信息的共享系统及方法
WO2019222993A1 (zh) * 2018-05-25 2019-11-28 北京大学深圳研究生院 一种基于信任关系的区块链共识方法
US10747629B2 (en) * 2018-06-11 2020-08-18 Vmware, Inc. Linear view-change BFT with optimistic responsiveness
US10713133B2 (en) * 2018-06-11 2020-07-14 Vmware, Inc. Linear view-change BFT
GB2574828A (en) * 2018-06-19 2019-12-25 Setl Ltd Leader selection for permissioned blockchain
CN109087204B (zh) * 2018-07-27 2023-04-14 杭州复杂美科技有限公司 跨链交易校验方法、设备和存储介质
CN112689834A (zh) * 2018-08-02 2021-04-20 神经技术有限公司 在区块链上进行选举的证明的方法和系统
CN109039750B (zh) * 2018-08-13 2021-06-15 浙商银行股份有限公司 一种提升区块链应用系统多城多园区部署灾备能力的方法
KR102121157B1 (ko) * 2018-11-30 2020-06-10 알리바바 그룹 홀딩 리미티드 동시 블록체인 트랜잭션 실패를 해결하기 위한 넌스 테이블의 이용
CN111291110A (zh) * 2018-12-06 2020-06-16 中国电信股份有限公司 基于区块链网络的共识方法和系统
CN111327436B (zh) * 2018-12-13 2023-04-07 北京果仁宝软件技术有限责任公司 预测区块链出块节点的方法、装置和系统
SG11201907346UA (en) * 2018-12-13 2019-09-27 Alibaba Group Holding Ltd Performing a change of primary node in a distributed system
CN109660545B (zh) * 2018-12-27 2021-04-09 北京新唐思创教育科技有限公司 一种联盟链共识方法及计算机存储介质
CN109886681B (zh) * 2019-01-31 2021-06-18 北京瑞卓喜投科技发展有限公司 区块链共识方法及共识系统
KR102170347B1 (ko) * 2019-03-18 2020-10-28 알리바바 그룹 홀딩 리미티드 뷰 변경 프로토콜을 종료하기 위한 시스템 및 방법
EP3889780A1 (en) 2019-03-18 2021-10-06 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
US11398895B2 (en) 2019-03-26 2022-07-26 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11418322B2 (en) * 2019-03-26 2022-08-16 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11269858B2 (en) 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
EP3701701A4 (en) 2019-06-05 2020-12-30 Alibaba Group Holding Limited CONSENSUS SYSTEM AND PROCESS
US10944624B2 (en) 2019-06-28 2021-03-09 Advanced New Technologies Co., Ltd. Changing a master node in a blockchain system
CN110351133B (zh) * 2019-06-28 2021-09-17 创新先进技术有限公司 用于区块链系统中的主节点切换处理的方法及装置
CN110727731B (zh) * 2019-09-05 2021-12-21 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN110673914B (zh) * 2019-09-24 2021-06-29 支付宝(杭州)信息技术有限公司 一种区块链共识的视图切换方法及区块链系统
KR102151939B1 (ko) * 2019-11-18 2020-09-04 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법
CN111130879B (zh) * 2019-12-24 2022-11-18 杭州趣链科技有限公司 一种基于pbft算法的集群异常恢复方法
CN111327414A (zh) * 2020-01-20 2020-06-23 布比(北京)网络技术有限公司 一种区块链共识方法、系统及计算机存储介质、电子设备
CN115136178A (zh) * 2020-02-21 2022-09-30 松下电器(美国)知识产权公司 控制方法、控制装置及程序
CN111510317B (zh) * 2020-03-06 2022-08-26 杜晓楠 弱化dbft中连续多个节点故障导致的延迟的方法、计算机可读存储介质和dbft网络
CN112511326B (zh) * 2020-03-16 2024-02-02 中兴通讯股份有限公司 一种切换方法、装置、设备和存储介质
CN111464356B (zh) * 2020-04-01 2021-11-05 腾讯科技(深圳)有限公司 一种区块共识周期切换方法、装置及计算机设备
CN111698315B (zh) * 2020-06-09 2021-10-15 腾讯科技(深圳)有限公司 针对区块的数据处理方法、数据处理装置及计算机设备
CN111522683B (zh) 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的共识节点变更方法及相关装置
CN112182113A (zh) * 2020-10-23 2021-01-05 网易(杭州)网络有限公司 区块链共识方法、系统、电子设备及存储介质
CN112507019A (zh) * 2020-11-20 2021-03-16 南京航空航天大学 一种基于智能合约的pbft共识系统及方法
CN112991066A (zh) * 2021-04-27 2021-06-18 支付宝(杭州)信息技术有限公司 联盟链中的共识方法、装置和电子设备
CN113395165B (zh) * 2021-05-28 2022-08-16 网易(杭州)网络有限公司 共识流程处理方法、装置、存储介质及计算机设备
WO2023281690A1 (ja) * 2021-07-08 2023-01-12 富士通株式会社 判定方法、情報処理装置、判定システム、及び判定プログラム
CN114047980B (zh) * 2021-11-29 2024-01-19 珠海格力电器股份有限公司 可编程控制器配置数据的管理系统
WO2024009650A1 (ja) * 2022-07-04 2024-01-11 株式会社CountUp ブロックチェーンネットワークの構成方法及びその方法を実施するためのコンピュータソフトウエアプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4569015A (en) * 1983-02-09 1986-02-04 International Business Machines Corporation Method for achieving multiple processor agreement optimized for no faults
US6671821B1 (en) * 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
US7499865B2 (en) * 2004-12-17 2009-03-03 International Business Machines Corporation Identification of discrepancies in actual and expected inventories in computing environment having multiple provisioning orchestration server pool boundaries
US7917596B2 (en) * 2009-01-07 2011-03-29 Oracle International Corporation Super master
US8639793B2 (en) * 2010-10-29 2014-01-28 Cisco Technology, Inc. Disaster recovery and automatic relocation of cloud services
DE102011088884A1 (de) * 2011-12-16 2013-06-20 Siemens Aktiengesellschaft Verfahren zur Übertragung von Daten in einem Kommunikationsnetz
US9501363B1 (en) * 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
US9329950B2 (en) 2014-01-01 2016-05-03 International Business Machines Corporation Efficient fail-over in replicated systems
US11394773B2 (en) 2014-06-19 2022-07-19 Jim Austin Joseph Cryptographic currency block chain based voting system
TWI524289B (zh) 2014-11-12 2016-03-01 Jetsream Holding Ltd Data transfer method between bit currency trading devices
CN104679604A (zh) * 2015-02-12 2015-06-03 大唐移动通信设备有限公司 一种主节点和备节点切换的方法和装置
CN106161495A (zh) * 2015-03-25 2016-11-23 中兴通讯股份有限公司 一种主节点选举方法、装置及存储系统
CN115174089B (zh) * 2015-04-20 2024-05-03 欧吉达克斯公司 物权电子凭证(edt)的分布式管理方法及其系统
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN106060036B (zh) * 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
CN106157142A (zh) * 2016-06-30 2016-11-23 惠众商务顾问(北京)有限公司 一种区块链共识及同步方法、系统和装置
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
US10049017B2 (en) * 2016-10-04 2018-08-14 Nec Corporation Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
CN107391320B (zh) * 2017-03-10 2020-07-10 创新先进技术有限公司 一种共识方法及装置
US10601907B2 (en) * 2017-09-22 2020-03-24 Artiste QB Net Inc. System and method for platform to securely distribute compute workload to web capable devices
US10671492B2 (en) * 2017-12-18 2020-06-02 International Business Machines Corporation Forecast recommended backup destination
US11474994B2 (en) * 2018-12-27 2022-10-18 Intel Corporation Distributed blockchain oracle

Also Published As

Publication number Publication date
AU2018230202A1 (en) 2019-05-30
KR20190077000A (ko) 2019-07-02
JP6756918B2 (ja) 2020-09-16
AU2018230202B2 (en) 2020-07-16
PH12019501053A1 (en) 2021-02-05
US10684925B2 (en) 2020-06-16
EP3525102B1 (en) 2021-05-05
KR102140903B1 (ko) 2020-08-04
ZA201902935B (en) 2020-05-27
BR112019009591A2 (pt) 2019-12-17
WO2018161901A1 (zh) 2018-09-13
CA3043532C (en) 2022-08-30
MX2019005525A (es) 2019-08-12
JP2020507142A (ja) 2020-03-05
CN107391320A (zh) 2017-11-24
CA3043532A1 (en) 2018-09-13
RU2733221C1 (ru) 2020-09-30
US20190294514A1 (en) 2019-09-26
EP3525102A1 (en) 2019-08-14
TW201833855A (zh) 2018-09-16
ES2880448T3 (es) 2021-11-24
CN107391320B (zh) 2020-07-10
PL3525102T3 (pl) 2021-10-25
EP3525102A4 (en) 2019-12-25

Similar Documents

Publication Publication Date Title
BR112019009591B1 (pt) Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador
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) Способ и устройство обработки услуг и консенсуса
ES2876311T3 (es) Replicación de estado de instancias de función de red virtual
BR112019020374B1 (pt) Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain
BR112019010368B1 (pt) Método para processar uma solicitação de serviço e dispositivo para processar uma solicitação de serviço
BR112019012905A2 (pt) método para o envio das informações de transação e dispositivo para o envio das informações de transação
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
BR112019013412B1 (pt) Método para processamento de dados com base em um protocolo de confiança, meio legível por computador e sistema implementado por computador.
BR112019010520B1 (pt) Método implementado por computador para transmitir mensagens e sistema para transmitir mensagens
US20180081776A1 (en) Automated System-Level Failure and Recovery
JP6246210B2 (ja) ミドルウェアマシン環境でインターネットプロトコル(ip)アドレスおよびノード名の整合性を確実にするためのシステムおよび方法
WO2017215430A1 (zh) 一种集群内的节点管理方法及节点设备
WO2017025203A1 (en) Managing lifecycle of a software container
US11163630B2 (en) Using real-time analytics to manage application features
WO2019119269A1 (zh) 一种网络故障探测方法及控制中心设备
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
US20220086037A1 (en) Technique for Connection Handling in a Distributed System
JP2016513309A (ja) 分散コンピューティングシステムのコンピューティングノードにおける障害に起因するエラー伝播の制御
CN113254264B (zh) 一种区块链的数据备份方法、装置及存储介质
Fetzer Enforcing perfect failure detection
CN115952055A (zh) 一种分布式存储系统及使用方法
WO2015015544A1 (ja) 情報処理システム、装置、方法及びプログラム
Lembke Practical Cloud Computing Infrastructure

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)

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
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 06/03/2018, OBSERVADAS AS CONDICOES LEGAIS.