BR112019016423A2 - dispositivo e método de processamento de dados - Google Patents

dispositivo e método de processamento de dados Download PDF

Info

Publication number
BR112019016423A2
BR112019016423A2 BR112019016423A BR112019016423A BR112019016423A2 BR 112019016423 A2 BR112019016423 A2 BR 112019016423A2 BR 112019016423 A BR112019016423 A BR 112019016423A BR 112019016423 A BR112019016423 A BR 112019016423A BR 112019016423 A2 BR112019016423 A2 BR 112019016423A2
Authority
BR
Brazil
Prior art keywords
data
leaf
node
checksum
nodes
Prior art date
Application number
BR112019016423A
Other languages
English (en)
Other versions
BR112019016423B1 (pt
Inventor
Qiu Honglin
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 BR112019016423A2 publication Critical patent/BR112019016423A2/pt
Publication of BR112019016423B1 publication Critical patent/BR112019016423B1/pt

Links

Classifications

    • 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
    • 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
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

as modalidades do presente pedido fornecem um dispositivo e método de processamento de dados. o método inclui: distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain. as modalidades do presente pedido podem ser usadas para reduzir o tempo gasto por um processo de cálculo de soma de verificação de dados, melhorar a eficiência do cálculo e assegurar a geração normal de blocos e operações normais de uma blockchain.

Description

“DISPOSITIVO E MÉTODO DE PROCESSAMENTO DE DADOS”
Campo Técnico [001] O presente pedido se refere ao domínio das tecnologias de computador e, em particular, a um dispositivo e método de processamento de dados.
Antecedentes [002] A blockchain (cadeia em bloco) é uma nova prática de aplicativo de tecnologias de computador, como armazenamento de dados distribuídos, transmissão de ponto-a-ponto, mecanismo de consenso, algoritmo de criptografia, etc., que exige que todos os nós de blockchain permaneçam no mesmo estado (incluindo o estado dos bancos de dados). Dessa forma, quando uma nova transação é produzida (isto é, novos dados são gerados) em um nó de blockchain, os novos dados precisam ser sincronizados com todos os nós de blockchain, e todos os nós de blockchain precisam verificar os dados.
[003] Nas tecnologias atuais, um método de verificação usado por nós de blockchain em dados é normalmente determinado através de uma soma de verificação com base em árvore de balde (por exemplo, um valor de Hash). Em um exemplo, os dados nos nós de blockchain de tecido (um aplicativo de blockchain que foi implementado) são armazenados em uma estrutura de árvore de Merkle, e a árvore de Merkle compreende um ou mais nós de folhas (ou seja, os baldes). Um único dispositivo de cálculo (por exemplo, um dispositivo ou servidor terminal) é normalmente usado para os nós de blockchain obterem uma soma de verificação (por exemplo, um valor de Hash) dos dados acima. Por exemplo, o dispositivo de cálculo atravessa cada nó de folha , seleciona e une os dados do nó de folha em uma cadeia de caracteres e calcula uma soma de verificação da cadeia de caracteres como a soma de verificação dos dados do nó de folha correspondente. Então, com base na soma de verificação dos dados de cada nó de folha , o dispositivo de cálculo calcula uma soma de verificação de raiz (por exemplo, um valor de Hash de raiz) da árvore
Petição 870190076433, de 08/08/2019, pág. 10/64
2/42 de Merkle, ou seja, uma soma de verificação dos dados no nó de blockchain, e os dados acima podem ser verificados com base nesta soma de verificação.
[004] No entanto, como um único dispositivo de cálculo é usado para calcular uma soma de verificação de raiz de dados nos nós de blockchain, e uma vez que cada cálculo é completado pela junção de dados dos nós de folha em uma cadeia de caracteres, levará muito tempo para que o único dispositivo de cálculo execute o processo de cálculo descrito acima, quando a quantidade acumulada de dados em um ou mais nós de folha é muito alta (por exemplo, 10 milhões de peças de dados), o que leva a uma baixa eficiência de cálculo e pode até atrasar o tempo de geração de blocos e impedir operações normais de uma cadeia de blocos.
Sumário [005] O objetivo das modalidades do presente pedido é fornecer um dispositivo e um método de processamento de dados, de modo a reduzir o tempo gasto por um processo de cálculo, melhorar a eficiência do cálculo e garantir a geração normal de blocos e operações normais de um blockchain.
[006] Para resolver o problema técnico descrito acima, as modalidades do presente pedido são implementadas da seguinte forma:
[007] as modalidades do presente pedido fornecem um método de processamento de dados, que compreende:
distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain.
[008] Opcionalmente, a obtenção, de acordo com as somas de verificação dos
Petição 870190076433, de 08/08/2019, pág. 11/64
3/42 dados dos nós de folhas calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain compreende:
receber a soma de verificação de raiz dos dados no nó de blockchain enviados pelos servidores no cluster de servidor.
[009] Opcionalmente, a obtenção, de acordo com as somas de verificação dos dados dos nós de folhas calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain compreende:
determinar, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle que corresponda aos nós de folha; e atribuir a soma de verificação de raiz da árvore de Merkle à soma de verificação de raiz dos dados no nó de blockchain.
[010] Opcionalmente, a distribuição, para os servidores em um cluster de servidor, de dados de nós de folha pré-armazenados em um nó de blockchain compreende:
de acordo com vários nós de folha pré-armazenados no nó de blockchain, respectivamente, enviar dados de um número predefinido de nós de folha para os servidores no cluster de servidor.
[011] Opcionalmente, as somas de verificação são valores de Hash.
[012] As modalidades do presente pedido fornecem adicionalmente um método de processamento de dados, que compreende:
receber dados de um nó de folha distribuído por um nó de blockchain; e calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain.
[013] Opcionalmente, após receber os dados de um nó de folha distribuídos por um nó de blockchain, o método compreende ainda:
de acordo com uma quantidade de dados de nó de folha, distribuir os dados
Petição 870190076433, de 08/08/2019, pág. 12/64
4/42 de nó de folha em sub-nós de folha predefinidos; e calcular uma soma de verificação de dados de cada sub-nó de folha, e em que, o cálculo de uma soma de verificação dos dados do nó de folha distribuídos compreende:
de acordo com a soma de verificação dos dados de cada sub-nó de folha, calcular a soma de verificação dos dados de nó de folha distribuído.
[014] Opcionalmente, de acordo com uma quantidade de dados de nó de folha, a distribuição dos dados de nó de folha em sub-nós de folha predefinidos compreende: classificar os dados de nó de folha, selecionar sequencialmente um número predefinido de peças de dados a partir dos dados classificados para colocação nos sub-nós de folha, e definir identificadores de sub-nó para os sub-nós de folha, e em que, de acordo com a soma de verificação dos dados de cada sub-nó de folha, o cálculo da soma de verificação dos dados do nó de folha distribuídos compreende:
de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada um dos sub-nós de folha, calcular uma soma de verificação dos dados de nó de folha distribuído.
[015] Opcionalmente, o cálculo de uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain compreende:
calcular a soma de verificação dos dados do nó de folha distribuídos e enviar a soma de verificação dos dados do nó de folha distribuídos para o nó de blockchain para o nó de blockchain calcular a soma de verificação de raiz dos dados no nó de blockchain de acordo com a soma de verificação dos dados do nó de folha; ou calcular a soma de verificação dos dados do nó de folha distribuído, obter a soma de verificação de raiz dos dados no nó blockchain com base na soma de
Petição 870190076433, de 08/08/2019, pág. 13/64
5/42 verificação dos dados do nó de folha distribuídos e enviar a soma de verificação de raiz para o nó de blockchain.
[016] As modalidades do presente pedido fornecem um dispositivo de processamento de dados, que compreende:
um módulo de distribuição de dados configurado para distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e um módulo de obtenção de soma de verificação de raiz configurado para obter, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain.
[017] Opcionalmente, o módulo de obtenção de soma de verificação de raiz é configurado para receber a soma de verificação de raiz dos dados no nó de blockchain enviado pelos servidores no cluster de servidor.
[018] Opcionalmente, o módulo de obtenção de soma de verificação de raiz é configurado para determinar, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha; e designar a soma de verificação de raiz da árvore de Merkle para a soma de verificação de raiz dos dados no nó de blockchain.
[019] Opcionalmente, o módulo de distribuição de dados é configurado para, de acordo com um número de nós de folha pré-armazenados no nó de blockchain, enviar, respectivamente, dados de um número predefinido de nós de folha para os servidores no cluster de servidor.
[020] Opcionalmente, as somas de verificação são valores de Hash.
[021] As modalidades do presente pedido fornecem adicionalmente um dispositivo de processamento de dados, que compreende:
Petição 870190076433, de 08/08/2019, pág. 14/64
6/42 um módulo de recepção de dados configurado para receber dados de um nó de folha distribuídos por um nó de blockchain; e um módulo de obtenção de soma de verificação configurado para calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain.
[022] Opcionalmente, o dispositivo compreende ainda:
um módulo de distribuição de dados configurado para, de acordo com uma quantidade de dados do nó de folha, distribuir os dados do nó de folha em sub-nós de folha predefinidos;
um módulo de cálculo configurado para calcular uma soma de verificação de dados de cada sub-nó de folha, e em que o módulo de obtenção de soma de verificação é configurado para, de acordo com a soma de verificação dos dados de cada sub-nó de folha, calcular a soma de verificação dos dados do nó de folha distribuídos.
[023] Opcionalmente, o módulo de distribuição de dados é configurado para classificar os dados de nó de folha, selecionar sequencialmente um número predefinido de peças de dados a partir dos dados classificados para colocação nos sub-nós de folha, e definir identificadores de sub-nós correspondentes para os subnós de folha, e em que o módulo de obtenção de soma de verificação é configurado para, de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada um dos sub-nós de folha, calcular a soma de verificação dos dados de nó de folha distribuído.
[024] Opcionalmente, o módulo de obtenção de soma de verificação é configurado para calcular a soma de verificação dos dados do nó de folha distribuído, e enviar a soma de verificação dos dados do nó de folha distribuídos para o nó de blockchain para o nó de blockchain calcular a soma de verificação de raiz dos dados no nó de blockchain de acordo com a soma de verificação dos dados do nó de folha;
Petição 870190076433, de 08/08/2019, pág. 15/64
7/42 ou calcular a soma de verificação dos dados do nó de folha distribuído, obter a soma de verificação de raiz dos dados no nó de blockchain com base na soma de verificação dos dados do nó de folha distribuído, e enviar a soma de verificação de raiz para o nó de blockchain.
[025] Das soluções técnicas descritas acima fornecidas pelas modalidades do presente pedido, pode-se ver que, nas modalidades do presente pedido, os dados dos nós de folha pré-armazenados em um nó de blockchain são distribuídos aos servidores em um cluster de servidor para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; então, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain é ainda obtida. Dessa forma, como os dados dos nós de folha são distribuídos para o cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para o cálculo paralelo de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
Breve Descrição dos Desenhos [026] Para descrever mais claramente as soluções técnicas nas modalidades do presente pedido ou tecnologias atuais, os desenhos anexos a serem usados na descrição das modalidades ou nas tecnologias atuais serão brevemente descritos abaixo. É óbvio que os desenhos anexos na descrição abaixo são apenas algumas modalidades no presente pedido. Com base nestes desenhos anexos, outros desenhos relevantes são obteníveis por um versado na técnica sem esforço criativo.
[027] A FIG. 1 é um método de processamento de dados de acordo com o
Petição 870190076433, de 08/08/2019, pág. 16/64
8/42 presente pedido;
[028] A FIG. 2 é um diagrama esquemático de uma lógica de processamento de dados de acordo com o presente pedido;
[029] A FIG. 3 é outro método de processamento de dados de acordo com algumas modalidades do presente pedido;
[030] A FIG. 4 é ainda outro método de processamento de dados de acordo com algumas modalidades do presente pedido;
[031] A FIG. 5 é um diagrama estrutural esquemático de um sistema de processamento de dados de acordo com o presente pedido;
[032] A FIG. 6 é ainda outro método de processamento de dados de acordo com algumas modalidades do presente pedido;
[033] A FIG. 7 é ainda outro método de processamento de dados de acordo com algumas modalidades do presente pedido;
[034] A FIG. 8 é um diagrama estrutural esquemático de outro sistema de processamento de dados de acordo com o presente pedido;
[035] A FIG. 9 é um dispositivo de processamento de dados de acordo com algumas modalidades do presente pedido;
[036] A FIG. 10 é outro dispositivo de processamento de dados de acordo com algumas modalidades do presente pedido.
Descrição Detalhada [037] As modalidades do presente pedido fornecem um dispositivo e um método de processamento de dados.
[038] Para habilitar uma pessoa versada na técnica comum para entender melhor as soluções técnicas do presente pedido, as soluções técnicas nas modalidades do presente pedido serão clara e completamente descritas abaixo com referência aos desenhos em anexo nas modalidades do presente pedido. É óbvio que as modalidades descritas são apenas algumas, mas não todas as modalidades do
Petição 870190076433, de 08/08/2019, pág. 17/64
9/42 presente pedido. Com base nas modalidades do presente pedido, todas as outras modalidades obteníveis por um versado na técnica sem esforço criativo devem estar dentro do escopo do presente pedido.
Modalidade I [039] Como mostrado na FIG. 1, as modalidades do presente pedido fornecem um método de processamento de dados. Uma entidade para executar o método pode ser um nó de blockchain. O método pode compreender as seguintes etapas:
[040] Na Etapa S101, distribuir, para os servidores em um cluster de servidor, dados dos nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente [041] Aqui, o nó de folha pode não ter sub-nó. Um nó de blockchain tipicamente compreende um ou mais nós (ou seja, baldes) e cada nó de folha armazena uma quantidade de dados (que podem, por exemplo, ser dados de transação). Um valor numérico correspondente pode ser definido para a quantidade de dados de cada dado armazenado no nó de folha. Por exemplo, a quantidade de dados de cada peça dos dados está dentro de uma faixa de 100 KB a 5 MB, e 1 MB em um exemplo. O cluster de servidor pode ser um grupo formado por uma pluralidade de servidores idênticos ou diferentes e pode ser capaz de fornecer serviços correspondentes para uma ou mais transações. A soma de verificação pode ser uma cadeia de caracteres (por exemplo, um valor numérico ou um código) usada para verificar um arquivo ou dados. Em uma aplicação exemplificadora, a soma de verificação pode ser um valor numérico obtido a partir do cálculo com o uso de um algoritmo de verificação com base no resumo de dados e similares. O algoritmo de verificação baseado no sumário de dados pode incluir o algoritmo de verificação de redundância cíclica, algoritmo de resumo de mensagem, algoritmo de Hash seguro,
Petição 870190076433, de 08/08/2019, pág. 18/64
10/42 etc.
[042] Nas implementações, uma blockchain pode ser um banco de dados distribuído descentralizado, que também é chamado de ledger distribuído. Com base na tecnologia de blockchain, uma rede distribuída formada por muitas memórias de registro de informações (por exemplo, dispositivos de terminal ou servidores) é necessária. A propagação de cada nova transação pode usar a rede distribuída e, de acordo com um protocolo de camada de rede ponto a ponto (P2P), as informações associadas à transação são enviadas diretamente para todos os outros nós de blockchain da rede por um nó de blockchain individual, para garantir que os dados armazenados em todos os nós de blockchain na rede distribuída sejam consistentes. Quando um nó de blockchain registra uma nova transação, os dados da nova transação registrada precisam ser sincronizados com outros nós de blockchain, enquanto outros nós de blockchain precisam verificar os dados. Um processo de verificação exemplificador pode ser o seguinte:
[043] um nó de blockchain compreende um ou mais nós de folha, e dados no nó de blockchain são distribuídos no nó de folha, em que todos os dados nos nós de folha compreendem timestamps de recepção e uma ordem de transações pode ser determinada de acordo com os timestamps. Durante a verificação, um nó de blockchain pode primeiro obter os nós de folha pré-armazenados no nó de blockchain. Para poder determinar rapidamente quais nós de folha são armazenados no nó de blockchain e um número de nós de folha, um identificador de nó correspondente (por exemplo, uma ID (IDentidade) de nó), como 5 ou A8, pode ser definido para cada nó de folha quando o nó de folha é gerado. Quando um nó de folha deve ser obtido, o nó de folha correspondente é pesquisado por identificadores de nó pré-registrado, e os dados armazenados em cada nó de folha podem ser obtidos.
[044] Como a quantidade de dados armazenados pode ser diferente devido a impactos por fatores como diferentes períodos de tempo e/ou áreas diferentes, a
Petição 870190076433, de 08/08/2019, pág. 19/64
11/42 quantidade de dados acumulados em um ou mais nós de folha pode, consequentemente, ser relativamente alta, enquanto a quantidade de dados em alguns outros nós de folha podem ser relativamente pequenos. Desta forma, pode haver um desequilíbrio nas quantidades de dados armazenados nos nós de folha de um nó de blockchain. Para não impactar a geração de blocos e para reduzir o tempo de cálculo de uma soma de verificação de dados em um nó de folha, os dados em um nó de folha podem ser distribuídos a uma pluralidade de processadores em um cluster de servidor para processamento, e o carga de cálculo pode ser espalhada por todo o cluster de servidor, melhorando assim a eficiência de cálculo.
[045] Depois do nó de blockchain obter os dados de todos os nós de folha, o nó de blockchain pode distribuir, em unidades de nó de folha, os dados dos nós de folha para os servidores no cluster de servidor. Por exemplo, o número de servidores em um cluster de servidor pode ser igual ao número de nós de folha e, em seguida, o nó de blockchain pode enviar dados de um nó de folha para cada servidor no cluster de servidor, fazendo com que cada servidor no cluster de servidor compreenda apenas dados de um nó de folha. Além do modo de distribuição acima descrito, também uma pluralidade de formas de distribuição pode ser usada. Por exemplo, os nós de folha e os dados dos nós de folha são enviados aos servidores em um cluster de servidor em uma maneira de distribuição aleatória. Desta forma, servidores diferentes podem receber o mesmo número ou números diferentes de nós de folha. Como outro exemplo, os dados dos nós de folha podem ser distribuídos de acordo com a quantidade de dados dos nós de folha. Em um exemplo, um nó de blockchain pode contar a quantidade de dados de cada nó de folha e depois distribuir uniformemente os dados dos nós de folha para os servidores em um cluster de servidor. Por exemplo, existem seis nós de folhas com uma quantidade de dados de 50 MB, 20 MB, 30 MB, 40 MB, 10 MB e 10 MB, respectivamente, e depois os dados de nó de folha com uma quantidade de dados de 50 MB pode ser enviado para o
Petição 870190076433, de 08/08/2019, pág. 20/64
12/42 primeiro servidor no cluster de servidor, os dados dos nós de folha com quantidades de dados de 20 MB e 30 MB podem ser enviados para o segundo servidor no cluster de servidor, e os dados dos nós de folha com quantidades de dados de 40 MB, 10 MB e 10 MB podem ser enviados para o terceiro servidor no cluster de servidor.
[046] Após os servidores receberem os dados distribuídos de nós de folha, os servidores podem calcular uma soma de verificação dos dados recebidos de cada nó de folha. Por exemplo, os servidores calculam um valor de MD5 dos dados recebidos dos nós de folha com o uso de um algoritmo de resumo de mensagem (por exemplo, o algoritmo MD5 (Message-Digest algorithm)). Se um servidor recebe dados de dois nós de folhas, isto é, os dados de nó de folha 1 e os dados de nó de folha 2, respectivamente, o servidor pode calcular um valor de MD5 dos dados do nó de folha 1 e calcular um valor de MD5 dos dados do nó de folha 2, obtendo assim uma soma de verificação dos dados recebidos de cada nó de folha.
[047] Na etapa S102, obter, de acordo com as somas de verificação dos dados dos nós de folhas calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain.
[048] Nas implementações, após os servidores no cluster de servidor terem calculado as somas de verificação dos dados dos nós de folha, cada servidor pode enviar as somas de verificação dos dados dos nós de folha calculados pelo servidor para o nó de blockchain. Após o nó de blockchain receber as somas de verificação dos dados de todos os nós de folha armazenados no nó de blockchain, o nó de blockchain pode calcular uma soma de verificação de raiz dos dados no nó de blockchain (ou seja, o estado) com base nas somas de verificação dos dados de todos os nós de folha. Aqui, quando o nó de blockchain calcula a soma de verificação de raiz dos dados no nó de blockchain, uma pluralidade de nós intermediários pode ser fornecida entre os nós de folha e o nó de raiz correspondente à soma de verificação de raiz. Como mostrado na FIG. 2, A, B, C, e D são nós de folha, e A1, A2, A3, Ap,
Petição 870190076433, de 08/08/2019, pág. 21/64
13/42
B1, B2, B3, ..., Bq, C1, C2, C3, ..., Cr, e D1, D2, D3, ..., Dk representam dados, respectivamente. Tomando a soma de verificação como sendo um valor de Hash como um exemplo, o valor de Hash do nó de folha A é hash (A1A2A3 ... Ap), o valor de Hash do nó de folha B é hash (B1B2B3 ... Bq), o valor de Hash do nó de folha C é hash (C1C2C3 ... Cr) e o valor de Hash do nó de folha D é hash (D1D2D3 ... Dk). M e N são nós intermediários e, portanto, o valor de Hash do nó de folha M é hash (AB), o valor de Hash do nó de folha N é hash (CD). Então, a soma de verificação de raiz do nó raiz é hash (MN). Ao comparar a soma de verificação de raiz obtida dos dados no nó de blockchain com a soma de verificação de raiz descrita acima, calculada pelo nó de blockchain que envia novos dados da transação, o nó de blockchain pode verificar se os novos dados da transação são válidos. Se os novos dados de transação forem válidos, o nó de blockchain poderá registrar os dados associados com a transação; se os novos dados de transação não forem válidos, o nó de blockchain pode se recusar a registrar os dados associados com a transação.
[049] Deve-se observar que o processo de cálculo de soma de verificação de raiz descrito acima também pode ser concluído pelo cluster de servidor. Em um exemplo, um servidor de gerenciamento ou um cluster de servidor de gerenciamento pode ser fornecido no cluster de servidor, e o servidor de gerenciamento ou cluster de servidor de gerenciamento pode ajustar e controlar outros servidores no cluster de servidor. Depois que outros servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha, os outros servidores poderão enviar as somas de verificação dos dados dos nós de folha para o servidor de gerenciamento ou cluster de servidor de gerenciamento, respectivamente. O servidor de gerenciamento ou cluster de servidor de gerenciamento pode calcular uma soma de verificação de raiz dos dados no nó de blockchain usando o método de cálculo descrito acima. O servidor de gerenciamento ou cluster de servidor de gerenciamento pode enviar a soma de verificação de raiz obtida dos dados no nó de blockchain para o nó de blockchain, e o
Petição 870190076433, de 08/08/2019, pág. 22/64
14/42 nó de blockchain recebe a soma de verificação de raiz. Então, o nó de blockchain pode realizar a verificação através da soma de verificação de raiz. O conteúdo relacionado acima pode ser referenciado para detalhes, que não serão elaborados aqui.
[050] Desse modo, as somas de verificação dos dados dos nós de folha no nó de blockchain são obtidas através de cálculo paralela por uma pluralidade de servidores no cluster de servidor, fazendo com que o cálculo de uma soma de verificação de raiz dos dados no nó de blockchain seja independente do processamento por uma única máquina, melhorando assim a eficiência do cálculo da soma de verificação dos dados.
[051] As modalidades do presente pedido fornecem um método de processamento de dados, que compreende: distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain. Dessa forma, como os dados dos nós de folha são distribuídos para o cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para o cálculo paralelo de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
[052] Como mostrado na FIG. 3, as modalidades do presente pedido fornecem um método de processamento de dados. Uma entidade para executar o método pode ser um cluster de servidor, o cluster de servidor pode compreender uma
Petição 870190076433, de 08/08/2019, pág. 23/64
15/42 pluralidade de servidores e cada servidor pode calcular uma soma de verificação de dados. O método pode compreenderas seguintes etapas:
[053] Na Etapa S301, receber dados de um nó de folha distribuído por um nó de blockchain.
[054] Nas implementações, quando os dados em um nó de blockchain precisam ser verificados, o nó de blockchain pode obter dados de nós de folha armazenados no nó de blockchain e pode distribuir, em unidades de nó de folha, os dados dos nós de folha para os servidores no cluster de servidor. O conteúdo relacionado na etapa S101 descrita acima pode ser referenciado para os modos de distribuição detalhados e processos de distribuição, que não serão elaborados aqui. Os servidores no cluster de servidor podem receber, respectivamente, os dados dos nós de folha distribuídos pelo nó de blockchain, e o conteúdo relacionado na Etapa S101 descrito acima pode ser referenciado para detalhes, que não serão elaborados aqui.
[055] Na Etapa S302, calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain.
[056] Nas implementações, os servidores no cluster de servidor podem calcular uma soma de verificação dos dados de cada nó de folha recebido. Após o cálculo ser concluído, os servidores no cluster de servidor podem enviar as somas de verificação obtidas dos dados dos nós de folha, respectivamente, para o nó de blockchain. O nó de blockchain pode ainda calcular uma soma de verificação de raiz dos dados no nó de blockchain com base nas somas de verificação dos dados dos nós de folha retomados pelos servidores, e o conteúdo relacionado na Etapa S102 descrita acima pode ser referenciado para detalhes, que não serão elaborados aqui.
[057] Em algumas outras modalidades do presente pedido, a soma de verificação de raiz dos dados no nó de blockchain também pode ser calculada pelo
Petição 870190076433, de 08/08/2019, pág. 24/64
16/42 cluster de servidor. Conforme descrito acima, um servidor de gerenciamento ou um cluster de servidor de gerenciamento pode ser fornecido no cluster de servidor para realizar o cálculo de modo agregado na soma de verificação computada dos dados de cada nó de folha para obter a soma de verificação de raiz dos dados no nó de blockchain. O conteúdo relacionado na Etapa S102 descrita acima pode ser referenciado para detalhes, que não serão elaborados aqui.
[058] As modalidades do presente pedido fornecem um método de processamento de dados, que compreende: distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain. Dessa forma, como os dados dos nós de folha são distribuídos para o cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para o cálculo paralelo de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
Modalidade II [059] Como mostrado na FIG. 4, as modalidades do presente pedido fornecem um método de processamento de dados. O método de processamento de dados pode ser executado em conjunto por um nó de blockchain e um cluster de servidor. As modalidades do presente pedido serão descritas em detalhe, tomando a soma de verificação como sendo um valor de Hash de um exemplo. As somas de verificação de outras formas podem ser executadas com referência ao conteúdo
Petição 870190076433, de 08/08/2019, pág. 25/64
17/42 relacionado nas modalidades do presente pedido, que não serão aqui elaboradas. O método pode compreender as seguintes etapas:
[060] Na etapa S401, de acordo com um número de nós de folha préarmazenados, o nó de blockchain envia dados de um número predefinido de nós de folha para os servidores no cluster de servidor, respectivamente.
[061] Aqui, o número predefinido pode ser definido de acordo com situações reais, como 5,10, etc., que não serão elaboradas nas modalidades do presente pedido.
[062] Nas implementações, quando os dados de transação são verificados, um mecanismo de design da árvore de Merkle é frequentemente empregado para os dados no nó de blockchain, de modo a melhorar a eficiência da verificação e reduzir o consumo de recursos. A fim de melhorar, na maior medida, a eficiência do cálculo para as somas de verificação dos dados no nó de blockchain sem alterar o mecanismo de design existente de dados de blockchain nas modalidades do presente pedido, os dados do nó de blockchain nas modalidades do presente pedido pode ainda usar o mecanismo de design da árvore de Merkle. Uma árvore de Merkle pode compreender uma pluralidade de nós de folha (ou seja, os baldes), e os identificadores de nó de todos os nós de folha na árvore de Merkle podem ser registrados no nó de blockchain. Quando os dados da transação precisam ser verificados, os identificadores de nó de todos os nós de folha na árvore de Merkle podem ser obtidos.
[063] Como mostrado na FIG. 5, o nó de blockchain pode obter dados de todos os nós de folha com base em identificadores de nó de todos os nós de folha, respectivamente, e também podem obter o número de nós de folha armazenado no nó de blockchain e o número de servidores no cluster de servidor. De acordo com o número de servidores e o número de nós de folha, o nó de blockchain pode determinar um número de nós de folha a serem distribuídos para cada servidor. Por exemplo, há um total de 10 nós de folha e o cluster de servidor tem um total de 10 servidores. Em seguida, os dados de um nó de folha podem ser enviados para cada servidor, ou os
Petição 870190076433, de 08/08/2019, pág. 26/64
18/42 dados de um grupo de dois ou cinco nós de folha podem ser enviados para um servidor no cluster de servidor, respectivamente.
[064] No processo em que o nó de blockchain distribui os dados dos nós de folha para o cluster de servidor, o nó de blockchain também pode distribuir identificadores de nó dos nós de folha para os servidores no cluster de servidor. De acordo com o nó de identificador distribuído, um servidor pode enviar uma instrução de obtenção de dados compreendendo o identificador de nó para o nó de blockchain. Quando o nó de blockchain recebe a instrução de obtenção de dados, o nó de blockchain pode extrair o identificador de nó na instrução de obtenção de dados, procurar os dados de um nó de folha correspondente através do identificador de nó, e enviar os dados para o servidor correspondente. Desta forma, o cluster de servidor pode extrair os dados dos nós de folha correspondentes dos dados de um nó de folha correspondente, respectivamente.
[065] Deve-se notar que, em uma aplicação exemplificadora, os dados dos nós de folha também podem ser distribuídos para os servidores no cluster de servidor de acordo com as quantidades de dados dos nós de folha, ou os dados dos nós de folha podem também ser distribuídos para os servidores no cluster de servidor de maneira aleatória. O conteúdo relacionado na Etapa S101 na Modalidade I pode ser referenciado para detalhes, que não serão elaborados aqui.
[066] Na Etapa S402, o cluster de servidor calcula as somas de verificação dos dados dos nós de folha distribuídos.
[067] Na etapa S403, o cluster de servidor envia as somas de verificação dos dados dos nós de folha distribuídos para o nó de blockchain.
[068] O conteúdo relacionado na Modalidade I pode ser referenciado para processos detalhados da Etapa S402 e Etapa S403 acima, que não serão elaborados aqui.
[069] Na etapa S404, o nó de blockchain determina, de acordo com as somas
Petição 870190076433, de 08/08/2019, pág. 27/64
19/42 de verificação acima dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha.
[070] Nas implementações, após o nó de blockchain receber as somas de verificação dos nós de folha enviados pelos servidores no cluster de servidor, o nó de blockchain pode construir uma árvore de Merkle correspondente através dos nós de folha. Como os valores de Hash dos nós de folha na árvore de Merkle foram determinados e apenas o valor de Hash do nó de raiz da árvore de Merkle (ou seja, a soma de verificação de raiz da árvore de Merkle) ainda não foi obtido, o valor de Hash da árvore de Merkle correspondente aos nós de folhas pode ser calculado para cima a partir dos valores de Hash dos nós de folha, obtendo assim a soma de verificação de raiz da árvore de Merkle correspondente aos nós de folha.
[071] Na Etapa S405, o nó de blockchain atribui a soma de verificação de raiz da árvore de Merkle à soma de verificação de raiz dos dados no nó de blockchain.
[072] Em uma aplicação exemplificadora, a soma de verificação de raiz também pode ser calculada pelo cluster de servidor, e o processamento pode compreender: calcular as somas de verificação dos dados dos nós de folha distribuídos; obter, com base nas somas de verificação dos dados dos nós de folha distribuídos, uma soma de verificação de raiz dos dados no nó de blockchain e enviar a soma de verificação de raiz para o nó de blockchain. O conteúdo relacionado na Modalidade I pode ser referenciado para o processo detalhado, que não será elaborado aqui.
[073] As modalidades do presente pedido fornecem um método de processamento de dados, que compreende: distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos
Petição 870190076433, de 08/08/2019, pág. 28/64
20/42 servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain. Dessa forma, como os dados dos nós de folha são distribuídos para ο cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para a computação paralela de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
Modalidade III [074] Como mostrado na FIG. 6, as modalidades do presente pedido fornecem um método de processamento de dados. O método de processamento de dados pode ser executado em conjunto por um nó de blockchain e um cluster de servidor. As modalidades do presente pedido serão descritas em detalhe, tomando a soma de verificação como sendo um valor de Hash de um exemplo. As somas de verificação de outras formas podem ser executadas com referência ao conteúdo relacionado nas modalidades do presente pedido, que não serão aqui elaboradas. O método pode compreender as seguintes etapas:
[075] Na Etapa S601 - o nó de blockchain distribui dados de um nó de folha pré-armazenados para os servidores no cluster de servidor.
[076] Os conteúdos relacionados na Modalidade I e na Modalidade II podem ser referenciados para o processo detalhado da Etapa S601, que não será elaborado aqui.
[077] Na etapa S602, o cluster de servidor distribui, de acordo com uma quantidade de dados do nó de folha, os dados do nó de folha em sub-nós de folha predefinidos [078] Aqui, não há relação de associação entre os sub-nós de folha e o nó de folha, como uma relação de pertencimento, uma relação de subordinação, uma
Petição 870190076433, de 08/08/2019, pág. 29/64
21/42 relação de pai ou uma relação de filho. Um sub-nó de folha pode ser um pacote de dados que compreende uma ou mais peças de dados, enquanto um nó de folha (balde) pode ser um contêiner na árvore de Merkle para armazenamento de dados. 0 número de sub-nós de folha pode ser maior que o número de nós de folha. Por exemplo, se o número de nós de folha é 5, então o número de sub-nós de folha pode ser 20.
[079] Nas implementações, um ou mais nós de folha entre os nós de folha pré-armazenados no nó de blockchain podem ter uma alta quantidade de dados (por exemplo, compreendendo um milhão de peças de dados, etc.). Dessa forma, quando os dados de nó de folha são distribuídos a um servidor no cluster de servidor para calcular o valor de Hash do nó de folha, o servidor precisa unir a grande quantidade de dados nos nós de folha para obter uma cadeia de caracteres dividida, e, em seguida, calcula o valor de Hash da cadeia de caracteres unida. Esse processo ainda leva muito tempo e o consumo de recursos pelo servidor ainda é alto. Em vista disso, uma pluralidade de sub-nós de folha pode ser predefinida, ou uma quantidade máxima de dados que cada sub-nó de folha pode acomodar pode ser definida para cada subnó de folha de acordo com as necessidades reais, por exemplo, 1 GB ou 500 MB. Os dados do nó de folha podem ser distribuídos para a pluralidade predefinida de subnós de folha de uma forma de distribuição aleatória ou mesmo de distribuição.
[080] Pode haver várias maneiras de implementar a Etapa S602. Um método de processamento opcional será fornecido abaixo, o qual pode compreender: classificar os dados de nó de folha, selecionar sequencialmente um número predefinido de dados dos dados selecionados para colocação nos sub-nós de folha, respectivamente, e definir os identificadores de sub-nó correspondentes para os subnós de folha.
[081] De acordo com a taxa de processamento de dados e a taxa de cálculo de soma de verificação de cada servidor no cluster de servidor e de acordo com o número de servidores no cluster de servidor, o cluster de servidor pode determinar
Petição 870190076433, de 08/08/2019, pág. 30/64
22/42 uma quantidade de dados que cada servidor é capaz de processar, garantindo uma alta eficiência de processamento de dados global (por exemplo, maior que um limite de eficiência definido) e, em seguida, pode determinar uma quantidade de dados ou um número de peças de dados que cada sub-nó de folha pode acomodar. O cluster de servidor pode calcular a quantidade total de dados dos nós de folha distribuídos para cada servidor. Em seguida, o cluster de servidor pode classificar os dados dos nós de folha distribuídos de acordo com timestamps indicando o momento em que os dados são armazenados no nó de blockchain, distribuir sequencialmente um número predefinido de dados da pluralidade classificada de dados para cada sub-nó de folha, e definir identificadores de sub-nó correspondentes para os sub-nós de folha, respectivamente, de acordo com a ordem dos dados, de modo a indicar a posição dos dados de um sub-nó de folha nos dados de todos os sub-nós de folha.
[082] Por exemplo, um sub-nó de folha distribuído por um servidor no cluster de servidor é armazenado com 50 peças de dados, cada peça de dados é de 5 MB e, em seguida, a quantidade de dados é de 250 MB. Se a quantidade de dados que pode ser acomodada por cada sub-nó de folha é de 25 MB, então 250/25 = 10 e, portanto, 10 sub-nós de folha podem ser obtidos. Em seguida, os sub-nós de folha são numerados como 1-10 como identificadores de sub-nó de acordo com a ordem dos dados. Após o processamento descrito acima, as posições de armazenamento das 50 peças de dados são as seguintes: As peças de dados 1 -5 na ordem são armazenadas em um sub-nó de folha numerado como 1, os n°s. peças de dados 6-10 na ordem são armazenados em um sub-nó de folha numerado como 2, os n°s. peças de dados 1115 na ordem são armazenados em um sub-nó de folha numerado como 3, e assim por diante, obtendo assim a posição de armazenamento de cada peça de dados. Como cada peça de dados é de 5 MB, cada sub-nó de folha pode conter 5 peças de dados.
[083] Na etapa S603, o cluster de servidor calcula uma soma de verificação
Petição 870190076433, de 08/08/2019, pág. 31/64
23/42 dos dados de cada sub-nó de folha.
[084] Nas implementações, após os servidores no cluster de servidor obterem os sub-nós de folha correspondentes, os servidores podem obter dados armazenados nos sub-nós de folha e, em seguida, calcular uma soma de verificação de cada subnó de folha com o uso de um algoritmo de verificação predefinido. Por exemplo, os dados armazenados em um sub-nó de folha podem ser classificados e, então, SHA256 (Secure Hash Algorithm (Algoritmo de Hash Seguro) 256) pode ser usado para os dados classificados para calcular um valor de SHA256 (ou seja, o valor de Hash) como a soma de verificação do sub -nó de folha.
[085] Na etapa S604, o cluster de servidor calcula uma soma de verificação dos dados do nó de folha distribuídos de acordo com a soma de verificação dos dados de cada sub-nó de folha [086] Nas implementações, depois que o cluster de servidor obtém a soma de verificação de cada sub-nó de folha, as somas de verificação dos sub-nós de folha podem ser classificadas de acordo com a ordem dos identificadores de sub-nó. Em seguida, o cluster de servidor pode executar o cálculo de modo agregado com base nas somas de verificação dos sub-nós de folha com o uso de um algoritmo de verificação predefinido para obter uma soma de verificação do nó de folha correspondente, obtendo assim uma soma de verificação dos dados do nó de folha distribuídos pelo nó de blockchain.
[087] Por exemplo, com base no exemplo da Etapa S602, os respectivos valores de Hash dos dados de sub-nós de folha 10 podem ser obtidos através do processamento na Etapa S603. Uma vez que os dados dos sub-nós de folha 10 são distribuídos a partir dos dados de um nó de folha, o cálculo executado de modo agregado mostrado na FIG. 2 pode ser realizado nos valores de Hash obtidos dos dados de sub-nós de folha 10 para obter um valor de Hash do nó de folha correspondente.
Petição 870190076433, de 08/08/2019, pág. 32/64
24/42 [088] Deve-se notar que os dados dos sub-nós de folha também podem ser obtidos de forma puxada através dos identificadores de sub-nós definidos dos subnós de folha. Correspondentemente, o processamento na Etapa S604 pode ser como segue: calcular uma soma de verificação dos dados do nó de folha distribuídos de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada sub-nó de folha. O conteúdo relacionado acima pode ser referenciado para o processamento detalhado, que não será elaborado aqui.
[089] Na Etapa S605, o cluster de servidor envia a soma de verificação dos dados dos nós de folha distribuídos para o nó de blockchain.
[090] Na etapa S606, o nó de blockchain determina uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha de acordo com as somas de verificação dos nós de folha [091] Nas implementações, uma soma de verificação de raiz de dados no nó de blockchain pode ser calculada com o uso de um algoritmo de verificação predefinido com base nas somas de verificação dos nós de folha. Por exemplo, de acordo com as posições dos nós de folha correspondentes aos identificadores de nó registrados em todos os nós de folha no nó de blockchain, uma árvore de distribuição de nós (isto é, a árvore de Merkle) formada pelos nós de folha pode ser obtida, como A-B-C-F, A-B-E, e A-D. Quando as somas de verificação dos nós de folha (ou seja, somas de verificação de B+C+D+E+F) são obtidas, uma soma de verificação de raiz da árvore de Merkle pode ser calculada de acordo com as somas de verificação dos nós de folha, obtendo assim a soma de verificação de raiz os dados do nó de blockchain.
[092] Na Etapa S607, o nó de blockchain atribui a soma de verificação de raiz da árvore de Merkle à soma de verificação de raiz dos dados no nó de blockchain.
[093] Os conteúdos relacionados na Modalidade I e na Modalidade II podem ser referenciados para os processos detalhados da Etapa S605 e da Etapa S607, que
Petição 870190076433, de 08/08/2019, pág. 33/64
25/42 não serão elaborados aqui.
[094] As modalidades do presente pedido fornecem um método de processamento de dados, que compreende: distribuir identificadores de nó dos nós de folha para um cluster de servidor, fazendo com que o cluster de servidor distribua cada número predefinido de peças de dados para os sub-nós de folha de acordo com as quantidades obtidas de dados armazenados nos nós de folha em uma blockchain alvo, em seguida, calcular uma soma de verificação de cada sub-nó de folha, determinar as somas de verificação dos nós de folha correspondentes e, por fim, fornecer as somas de verificação dos nós de folha a um nó de blockchain para calcular uma soma de verificação dos dados no nó de blockchain. Desta forma, os dados armazenados nos nós de folha são redistribuídos pelo cluster de servidor para obter os sub-nós de folha e, em seguida, as somas de verificação dos sub-nós de folha são calculadas, fazendo com que os dados sejam distribuídos uniformemente para o cluster de servidor de cálculo para o cálculo paralelo das somas de verificação, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência do cálculo e garantindo a geração normal de blocos e operações normais de uma blockchain.
Modalidade IV [095] Como mostrado na FIG. 7, as modalidades do presente pedido fornecem um método de processamento de dados. O método de processamento de dados pode ser executado em conjunto por um nó de blockchain e um cluster de servidor. Aqui, o cluster de servidor pode compreender ainda um primeiro cluster de servidor e um segundo cluster de servidor, como mostrado na FIG. 8. A FIG. 8 fornece um sistema de processamento de dados. O sistema de processamento de dados pode compreender clusters de servidor em dois níveis, isto é, o primeiro cluster de servidor e o segundo cluster de servidor, em que o primeiro cluster de servidor está em um nível abaixo da blockchain, e o segundo cluster de servidor está em um nível abaixo
Petição 870190076433, de 08/08/2019, pág. 34/64
26/42 do primeiro cluster de servidor. A estrutura hierárquica acima pode atingir objetivos como recombinação de dados, distribuição de dados, etc. para acelerar a taxa de processamento de dados. As modalidades do presente pedido serão descritas em detalhe, tomando a soma de verificação como sendo um valor de Hash de um exemplo. As somas de verificação de outras formas podem ser executadas com referência ao conteúdo relacionado nas modalidades do presente pedido, que não serão aqui elaboradas. O método pode compreender as seguintes etapas:
[096] Na etapa S701, o nó de blockchain obtém um identificador de nó de um nó de folha pré-armazenado.
[097] Nas implementações, sempre que os dados são armazenados no nó de blockchain, um nó de folha é correspondentemente gerado no nó de blockchain, e um identificador de nó do nó de folha também é gerado. Deste modo, a blockchain pode compreender uma pluralidade de nós de folha, e cada nó de folha armazena uma quantidade de dados. Sempre que um identificador de nó é gerado, o identificador de nó pode ser armazenado, e a posição de um nó de folha correspondente ao identificador de nó em todos os nós de folha do nó de blockchain pode ser registrada. Por exemplo, o identificador de nó gerado é F e a posição do nó de folha correspondente ao identificador de nó pode ser A-B-C-F.
[098] Na Etapa S702, o nó de blockchain envia o identificador de nó aos servidores no cluster de servidor.
[099] Nas implementações, com base na estrutura do sistema mostrada na FIG. 8, o nó de blockchain pode obter dados armazenados nos nós de folha compreendidos no nó de blockchain, e pode dividir os identificadores de nó dos nós de folha em um grupo ou em múltiplos grupos de acordo com uma regra de distribuição pré-desenvolvida ou de uma maneira aleatória. Cada grupo de identificadores de nó pode ser enviado para um servidor no primeiro cluster de servidor.
[0100] Na Etapa S703, o primeiro cluster de servidor obtém, de acordo com
Petição 870190076433, de 08/08/2019, pág. 35/64
27/42 os identificadores de nó distribuídos, dados dos nós de folha correspondentes aos identificadores de nó do nó de blockchain [0101 ] Nas implementações, um servidor no primeiro cluster de servidor pode enviar uma instrução de obtenção de dados que compreende os identificadores de nó para um dispositivo de blockchain e, em seguida, buscar dados dos nós de folha correspondentes aos identificadores de nó do nó de blockchain.
[0102] Na Etapa S704, o primeiro cluster de servidor gera um ou mais subnós de folha de acordo com as quantidades de dados obtidos dos nós de folha.
[0103] Aqui, como descrito acima, não há relação de associação entre os subnós de folha e o nó de folha nas modalidades do presente pedido, como uma relação de pertencimento, uma relação de subordinação, uma relação de pai ou uma relação de filho. Um sub-nó de folha pode ser um pacote de dados que compreende uma ou mais peças de dados, enquanto um nó de folha (balde) pode ser um contêiner na árvore de Merkle para armazenamento de dados.
[0104] Nas implementações, uma quantidade de dados ou um número de peças de dados que um sub-nó de folha pode acomodar pode ser predefinido, por exemplo, 100 MB ou 10 peças. A quantidade total de dados dos nós de folha distribuídos para cada servidor no primeiro cluster de servidor pode ser calculada, e um ou mais sub-nós de folha podem ser gerados de acordo com a quantidade de dados ou o número de peças de dados que cada sub-nó de folha pode acomodar.
[0105] Na etapa S705, o primeiro cluster de servidor classifica os dados dos nós de folha, seleciona sequencialmente um número predefinido de peças de dados dos dados classificados para colocação nos sub-nós de folha correspondentes, respectivamente, e define os identificadores de sub-nó correspondentes para os subnós de folha.
[0106] Nas implementações, as durações de tempo tomadas por qualquer servidor no primeiro cluster de servidor para calcular os valores de Hash para uma e
Petição 870190076433, de 08/08/2019, pág. 36/64
28/42 várias peças de dados podem ser pré-testadas de uma forma repetida, a partir da qual um número de dados correspondentes a uma duração de tempo relativamente curta e uma carga de processamento relativamente baixa no servidor pode ser selecionada. Este número de peças pode ser definido como o número predefinido de peças, por exemplo, 30 ou 50 peças. Como cada peça de dados é fornecida com um timestamp no processo de armazenamento ou transação de blockchain, o tempo de armazenamento ou transação de cada peça de dados pode ser determinado através do timestamp. Desta forma, o timestamp em cada peça de dados pode ser obtido, e uma pluralidade de peças de dados pode ser ordenada de acordo com a ordem dos timestamps. Um número predefinido de peças de dados pode ser selecionado sequencialmente a partir da pluralidade ordenada de peças de dados e distribuído em sub-nós de folha correspondentes, respectivamente. Para marcar a ordem dos dados distribuídos em diferentes sub-nós de folha, os identificadores de sub-nó podem ser definidos para os sub-nós de folha correspondentes com base nos dados distribuídos.
[0107] Por exemplo, o número predefinido de peças é três peças e os dados de um nó de folha podem incluir A, B, C, D, E, F, G, H e K. Depois que os dados são classificados de acordo com os timestamps, a ordem dos dados acima pode ser H-GF-E-D-C-B-A-K. Então, três peças de dados H-G-F podem ser distribuídas em um subnó de folha, três peças de dados E-D-C podem ser distribuídas em um sub-nó de folha, e três peças de dados B-A-K podem ser distribuídas em um sub-nó de folha. Para marcar a ordem dos dados armazenados nos três sub-nós de folha, o identificador de sub-nó do sub-nó de folha onde H-G-F está localizado pode ser definido como sub-nó 1, o identificador de sub-nó do sub-nó de folha onde o E-D-C está localizado pode ser definido como sub-nó 2, e o identificador de sub-nó do sub-nó de folha onde o B-A-K está localizado pode ser definido como sub-nó 3.
[0108] Na Etapa S706, o primeiro cluster de servidor distribui os dados dos sub-nós de folha para os servidores no segundo cluster de servidor.
Petição 870190076433, de 08/08/2019, pág. 37/64
29/42 [0109] Nas implementações, os dados de índice, como a largura de banda atualmente restante e/ou a taxa de transmissão de dados de cada servidor no segundo cluster de servidor, podem ser obtidos, respectivamente. A recurso de cálculo de cada servidor no primeiro cluster de servidor pode ser avaliada com base nos dados de índice obtidos, e os dados dos sub-nós de folha correspondentes podem ser enviados para os servidores no segundo cluster de servidor de acordo com a magnitude dos recursos de cálculo.
[0110] Além disso, para melhorar ao máximo a eficiência de cálculo, o número de sub-nós de folha distribuídos aos servidores no segundo cluster de servidor pode ser ajustado. Em um exemplo, os dados de índice, como largura de banda atual restante e/ou a taxa de transmissão de dados de cada servidor no segundo cluster de servidor, podem ser obtidos, respectivamente. O recurso de cálculo de cada servidor pode ser avaliado com base nos dados de índice obtidos e os sub-nós de folha correspondentes podem ser distribuídos aos servidores no segundo cluster de servidor de acordo com a magnitude dos recursos de cálculo. Por exemplo, o segundo cluster de servidor compreende cinco servidores e dois sub-nós de folha podem ser distribuídos para cada servidor. Se for determinado, através de cálculo, que um servidor no segundo cluster de servidor possui o mais poderoso recurso de cálculo, então os dados de 3 dos 10 sub-nós de folha acima podem ser enviados para este servidor. Se for determinado, através de cálculo, que um servidor no segundo cluster de servidor tem o recurso de cálculo mais fraco, então os dados de 1 dos 10 sub-nós de folha acima podem ser enviados para este servidor. Na maneira descrita acima, os um ou mais sub-nós de folha gerados podem ser fornecidos aos servidores no segundo cluster de servidor de uma maneira equilibrada.
[0111] Na Etapa S707, o segundo cluster de servidor calcula um valor de Hash de cada sub-nó de folha e retoma o valor de Hash aos servidores correspondentes no primeiro cluster de servidor.
Petição 870190076433, de 08/08/2019, pág. 38/64
30/42 [0112] Nas implementações, depois que um servidor no segundo cluster de servidor recebe os sub-nós de folha correspondentes, o servidor pode extrair dados em cada sub-nó de folha e classificar os dados de acordo com a ordem dos timestamps dos dados. O servidor pode obter uma cadeia de caracteres formada pelos dados classificados e usar um algoritmo de Hash predefinido para calcular um valor de Hash dessa cadeia de caracteres, ou seja, o valor de Hash do sub-nó de folha. Com o método descrito acima, o segundo cluster de servidor pode obter um valor de Hash de cada sub-nó de folha, que pode então ser enviado, por meio dos servidores correspondentes, para os servidores correspondentes no primeiro cluster de servidor.
[0113] Na Etapa S708, o primeiro cluster de servidor determina um valor de Hash do nó de folha distribuído de acordo com o valor de Hash de cada sub-nó de folha e identificadores de sub-nó dos sub-nós de folha enviados pelo segundo cluster de servidor.
[0114] Nas implementações, depois que os servidores no primeiro cluster de servidor receberem as somas de verificação dos sub-nós de folha retomados pelo segundo cluster de servidor, os servidores poderão obter um identificador de sub-nó de cada sub-nó de folha, respectivamente. Em seguida, os servidores podem classificar os sub-nós de folha de acordo com o identificador de sub-nó de cada subnó de folha e podem coletar valores de Hash dos sub-nós de folha classificados para obter um valor de Hash dos sub-nós de folha. Por exemplo, uma ordem de valores de Hash dos sub-nós de folha pode ser determinada de acordo com a ordem dos subnós de folha e os valores de hash classificados podem formar uma cadeia de caracteres. Um valor de Hash da cadeia de caracteres pode ser calculado com o uso de um algoritmo de Hash predefinido e o valor de Hash é o valor de Hash do nó de folha correspondente. Além disso, outras maneiras de cálculo de valor de Hash podem ser usadas para determinar o valor de Hash do nó de folha. Por exemplo, uma média de valores de Hash de um ou mais sub-nós de folha pode ser calculada como o valor
Petição 870190076433, de 08/08/2019, pág. 39/64
31/42 de Hash do nó de folha; alternativamente, o valor de Hash do nó de folha pode ser obtido com base no peso de cada sub-nó de folha e um valor de Hash de cada subnó de folha.
[0115] Na Etapa S709, o primeiro cluster de servidor envia o valor de Hash do nó de folha distribuído para o nó de blockchain.
[0116] Na Etapa S710, o nó de blockchain determina, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha, e atribui a soma de verificação de raiz da árvore de Merkle a uma soma de verificação de raiz dos dados no nó de blockchain.
[0117] As modalidades do presente pedido fornecem um método de processamento de dados, que compreende: gerar, de acordo com uma quantidade de dados de nós de folha em um nó de blockchain, um ou mais sub-nós de folha distribuídos com um número predefinido de dados, distribuir então os sub-nós de folha a um segundo cluster de servidor para calcular uma soma de verificação de cada subnó de folha, determinar as somas de verificação dos nós de folha correspondentes de acordo com o soma de verificação de cada sub-nó de folha e, por último, fornecer as somas de verificação dos nós folha ao nó de blockchain para calcular uma soma de verificação de raiz dos dados no nó de blockchain. Desta forma, os dados armazenados no nó de folha são redistribuídos por um primeiro cluster de servidor para obter os sub-nós de folha e, em seguida, os sub-nós de folha são distribuídos para o segundo cluster de servidor para calcular as somas de verificação, fazendo com que os dados sejam distribuídos uniformemente ao segundo cluster de servidor para o cálculo paralelo das somas de verificação, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência do cálculo e garantindo a geração normal de blocos e operações normais de uma blockchain.
Modalidade V [0118] O acima descrito são os métodos de processamento de dados
Petição 870190076433, de 08/08/2019, pág. 40/64
32/42 fornecidos pelas modalidades do presente pedido. Com base no mesmo conceito, as modalidades do presente pedido fornecem ainda um dispositivo de processamento de dados, como mostrado na FIG. 9.
[0119] O dispositivo de processamento de dados pode ser o nó de blockchain fornecido nas modalidades acima, e em um exemplo, pode ser um dispositivo terminal (por exemplo, um computador pessoal, etc.) ou um servidor. O dispositivo pode compreender um módulo de distribuição de dados 901 e um módulo de obtenção de soma de verificação de raiz 902, em que:
[0120] o módulo de distribuição de dados 901 é configurado para distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e [0121 ] o módulo de obtenção de soma de verificação 902 de raiz é configurado para obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain.
[0122] Nas modalidades do presente pedido, o módulo de obtenção de soma de verificação de raiz 902 é configurado para receber a soma de verificação de raiz dos dados no nó de blockchain enviado pelos servidores no cluster de servidor.
[0123] Nas modalidades do presente pedido, o módulo de obtenção de soma de verificação 902 de raiz é configurado para determinar, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha; e designar a soma de verificação de raiz da árvore de Merkle para a soma de verificação de raiz dos dados no nó de blockchain.
[0124] Nas modalidades do presente pedido, o módulo de distribuição de dados 901 é configurado para, de acordo com um número de nós de folha préarmazenados no nó de blockchain, enviar dados de um número predefinido de nós de
Petição 870190076433, de 08/08/2019, pág. 41/64
33/42 folhas para os servidores no cluster de servidor, respectivamente.
[0125] Nas modalidades do presente pedido, a soma de verificação é um valor de Hash.
[0126] As modalidades do presente pedido fornecem um dispositivo de processamento de dados configurado para distribuir, distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain. Dessa forma, como os dados dos nós de folha são distribuídos para o cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para a computação paralela de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
Modalidade IV [0127] Com base no mesmo conceito, as modalidades do presente pedido fornecem ainda um dispositivo de processamento de dados, como mostrado na FIG. 10.
[0128] O dispositivo de processamento de dados pode ser o cluster de servidor fornecido nas modalidades, e o dispositivo pode compreender um módulo de recepção de dados 1001 e um módulo de obtenção de soma de verificação 1002, em que:
um módulo de recepção de dados 1001 é configurado para receber dados de um nó de folha distribuídos por um nó de blockchain; e
Petição 870190076433, de 08/08/2019, pág. 42/64
34/42 o módulo de obtenção de soma de verificação 1002 é configurado para calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain.
[0129] Nos modalidades do presente pedido, o dispositivo compreende ainda: um módulo de distribuição de dados configurado para, de acordo com uma quantidade de dados do nó de folha, distribuir os dados do nó de folha em sub-nós de folha predefinidos;
um módulo de cálculo é configurado para calcular uma soma de verificação dos dados de cada sub-nó de folha; e correspondentemente, o módulo de obtenção de soma de verificação 1002 é configurado para, de acordo com a soma de verificação dos dados de cada sub-nó de folha, calcular uma soma de verificação dos dados de nó de folha distribuído.
[0130] Nas modalidades do presente pedido, o módulo de distribuição de dados é configurado para classificar os dados de nó de folha, selecionar sequencialmente um número predefinido de peças de dados dos dados classificados para colocação nos sub-nós de folha, respectivamente, e definir identificadores de sub-nó correspondentes para o subitem nós de folha; e correspondentemente, o módulo de obtenção de soma de verificação 1002 é configurado para, de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada um dos sub-nós de folha, calcular uma soma de verificação dos dados do nó de folha distribuído.
[0131] Nas modalidades do presente pedido, o módulo de obtenção de soma de verificação é configurado para calcular a soma de verificação dos dados do nó de folha distribuído, e enviar a soma de verificação dos dados do nó de folha distribuídos para o nó de blockchain para o nó de blockchain calcular a soma de verificação de raiz dos dados no nó de blockchain de acordo com a soma de verificação dos dados do nó de folha; ou calcular a soma de verificação dos dados do nó de folha distribuído,
Petição 870190076433, de 08/08/2019, pág. 43/64
35/42 obter a soma de verificação de raiz dos dados no nó de blockchain com base na soma de verificação dos dados do nó de folha distribuído, e enviar a soma de verificação de raiz para o nó de blockchain.
[0132] As modalidades do presente pedido fornecem um dispositivo de processamento de dados configurado para distribuir, distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter adicionalmente, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de blockchain. Dessa forma, como os dados dos nós de folha são distribuídos para o cluster de servidor e, em seguida, as somas de verificação dos dados dos nós de folha distribuídos são calculadas por cada servidor no cluster de servidor, os dados podem ser distribuídos para o cluster de servidor para a computação paralela de somas de verificação dos dados dos nós de folhas, reduzindo assim o tempo gasto pelo processo de cálculo, melhorando a eficiência de cálculo, e garantindo a geração normal de blocos e operações normais de um blockchain.
[0133] Na década de 1990, uma melhoria para uma tecnologia pode ser obviamente diferenciada em uma melhoria de hardware (por exemplo, uma melhoria para uma estrutura de circuito, como um diodo, um transistor, um comutador, etc.) ou um aprimoramento de software (uma melhoria para um fluxo de um método). Com o desenvolvimento tecnológico, no entanto, muitas melhorias atuais nos fluxos de métodos podem ser consideradas como melhorias diretas nas estruturas dos circuitos de hardware. Os projetistas quase sempre obtêm uma estrutura de circuito de hardware correspondente, programando um fluxo de método aprimorado em um circuito de hardware. Portanto, não se pode concluir que uma melhoria em um fluxo de método não possa ser realizada com um módulo de hardware. Por exemplo, o
Petição 870190076433, de 08/08/2019, pág. 44/64
36/42
Dispositivo Lógico Programável (Programmable Logic Device - PLD) (por exemplo, Matriz de Porta Programável em Campo (Field Programmable Gate Array - FPGA)) é um circuito integrado em que as funções lógicas do circuito integrado são determinadas por um usuário através da programação do dispositivo. Um projetista programa por si só para “integrar” um sistema digital em uma peça de PLD, que não precisa solicitar a um fabricante de chips para projetar e fabricar um chip IC dedicado. Atualmente, além disso, esse tipo de programação tem sido implementado principalmente por meio do software de “compilador lógico”, em vez de fabricar manualmente os chips IC. O software do compilador lógico é semelhante a um compilador de software usado para desenvolvimento e gravação de programas, enquanto uma linguagem de programação específica deve ser usada para escrever códigos-fonte antes de compilar, o que é chamado de Linguagem de Descrição de Hardware (Hardware Description Language - HDL). Não há apenas um, mas muitos tipos de HDL, como ABEL (Advanced Boolean Expression Language - Linguagem de Expressão Booleana Avançada), AHDL (Altera Hardware Description Language Linguagem de Descrição de Hardware Altera), Confluência, CUPL (Cornell University Programming Language - Linguagem de Programação da Universidade de Cornell), HDCal, JHDL (Java Hardware Description Language - Linguagem de Descrição de Java Hardware), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language - Linguagem de Descrição de Hardware Ruby), etc. O mais comumente usado atualmente inclui o VHDL (Very-High-Speed Integrated Circuit Hardware Description Language - Linguagem de Descrição de Hardware de Circuito Integrado de Alta Velocidade) e Verilog. Um versado na técnica também deve estar ciente de que seria muito fácil obter um circuito de hardware para implementar um fluxo de método lógico usando as HDLs acima para realizar um pouco de programação lógica no fluxo do método e programar o fluxo do método em um IC.
[0134] Um controlador pode ser implementado de qualquer maneira
Petição 870190076433, de 08/08/2019, pág. 45/64
37/42 apropriada. Por exemplo, um controlador pode estar, por exemplo, em uma forma de microprocessador ou processador, bem como em um meio legível por computador que armazena códigos de programas legíveis por computador (por exemplo, software ou firmware) capazes de serem executados pelo (micro)processador, uma porta lógica, um comutador, um Circuito Integrado Específico de Aplicativo (Application Specific Integrated Circuit - ASIC), um controlador lógico programável e um microcontrolador incorporado. Exemplos de controlador incluem, mas não se limitam a, os seguintes controladores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, e Silicone Labs C8051F320. Um controlador de memória pode ainda ser implementado como parte de uma lógica de controle de uma memória. Um versado na técnica comum deve também estar ciente de que, além disso, um controlador é implementado em uma forma de códigos de programa legíveis por calculador puros, é totalmente praticável realizar a programação lógica em etapas de um método para permitir que um controlador implemente as mesmas funções na forma de uma porta lógica, um comutador, um ASIC, um controlador lógico programável, um microcontrolador embutido, etc. Portanto, tal controlador pode ser considerado uma peça de hardware, enquanto dispositivos compreendidos no controlador e configurados para alcançar várias funções também podem ser considerados como uma estrutura dentro da peça de hardware. Alternativamente, os dispositivos configurados para alcançar várias funções podem até ser considerados como módulos de software para implementar um método e uma estrutura dentro de uma peça de hardware.
[0135] O sistema, aparelho, módulo ou unidade descritos nas modalidades acima podem ser implementados por um chip ou entidade de calculador, ou implementados por um produto que tem uma função. Um dispositivo de implementação típico é um computador. Em um exemplo, um computador pode ser, por exemplo, um computador pessoal, um computador portátil, um telefone celular, um telefone com câmera, um telefone inteligente, um assistente digital pessoal, um
Petição 870190076433, de 08/08/2019, pág. 46/64
38/42 reprodutor de meio, um dispositivo de navegação, um dispositivo de email, um console de jogos, um computador tipo tablet, um dispositivo para ser usado junto ao corpo ou uma combinação de quaisquer dispositivos nestes dispositivos.
[0136] Por conveniência de descrição, o dispositivo acima é dividido em várias unidades de acordo com funções para descrição. As funções das unidades podem ser implementadas em uma ou mais peças de software e/ou hardware quando a presente aplicação é implementada.
[0137] Um versado na técnica deve compreender que as modalidades da presente invenção podem ser fornecidas como um método, um sistema ou um produto de programa de computador. Portanto, a presente invenção pode ser implementada como uma modalidade de hardware completa, uma modalidade de software completa ou uma modalidade que combina software e hardware. Além disso, a presente invenção pode estar na forma de um produto de programa de computador implementado em um ou mais meios de armazenamento utilizáveis em computador (incluindo, mas não limitado a, uma memória de disco magnético, CD-ROM, uma memória óptica, etc.) compreendendo códigos de programa utilizáveis em computador.
[0138] A presente invenção é descrita com referência a fluxogramas e/ou diagramas de blocos do método, dispositivo (sistema) e produto de programa de computador de acordo com as modalidades da presente invenção. Deve ser entendido que uma instrução de programa de computador pode ser usada para implementar cada processo e/ou bloco nos fluxogramas e/ou diagramas de bloco e uma combinação de processos e/ou blocos nos fluxogramas e/ou diagramas de bloco. Estas instruções de programa de computador podem ser fornecidas para um computador de propósito geral, um computador de propósito especial, um processador incorporado, ou um processador de outros dispositivos de processamento de dados programáveis para gerar uma máquina, fazendo com que as instruções executadas por um computador ou processador de outro dispositivos de
Petição 870190076433, de 08/08/2019, pág. 47/64
39/42 processamento de dados programáveis gerem um aparelho para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[0139] Estas instruções de programas de computador podem também ser armazenadas em uma memória legível por computador que pode instruir um computador ou outros dispositivos de processamento de dados programáveis para trabalhar de uma maneira particular, fazendo com que as instruções armazenadas na memória de computador gerem um artigo fabricado que inclua um aparelho de instrução. O aparelho de instrução implementa uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[0140] Estas instruções de programas de computador podem também ser carregadas em um computador ou outros dispositivos de processamento de dados programáveis, fazendo com que uma série de etapas operacionais sejam executadas no computador ou outros dispositivos programáveis, gerando assim processamento implementado por computador. Portanto, as instruções executadas no computador ou outros dispositivos programáveis fornecem etapas para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[0141] Em uma configuração típica, o dispositivo de cálculo inclui um ou mais processadores (CPUs), interfaces de entrada/saída, interfaces de rede e uma memória.
[0142] A memória pode incluir meio legível por computador, como uma memória volátil, uma Memória de Acesso Aleatório (RAM) e/ou uma memória não volátil, por exemplo, uma Memória Somente de Leitura (ROM) ou uma memória RAM flash. A memória é um exemplo de um meio legível por computador.
[0143] Os meios legíveis por computador incluem meios permanentes, voláteis, móveis e imóveis, que podem implementar armazenamento de informações
Petição 870190076433, de 08/08/2019, pág. 48/64
40/42 por meio de qualquer método ou tecnologia. As informações podem ser instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Exemplos de meio de armazenamento de computador incluem, mas não estão limitados a Memórias de Acesso Aleatório de Mudança de Fase (Phase-change Random Access Memories - PRAMs), Memórias de Acesso Aleatório Estático (Static Random Access Memories - SRAMs), Memórias de Acesso Aleatório Dinâmico (Dynamic Random Access Memories - DRAMs), outros tipos de Memórias de Acesso Aleatório (Random Access Memories - RAMs), Memórias Somente de Leitura (ReadOnly Memories - ROMs), Memórias Somente de Leitura Programáveis e Apagáveis Eletricamente (Electrically Erasable Programmable Read-Only Memories - EEPROM), memórias flash ou outras tecnologias de memória, Memórias Somente de Leitura de Discos Compactos (Compact Disk Read-Only Memories - CD-ROM), Discos Digitais Versáteis (Digital Versatile Discs - DVDs) ou outras memórias ópticas, cassetes, memórias de cassetes e discos ou outros dispositivos de memória magnética, ou qualquer outro meio de não transmissão, que possa ser usado para armazenar informações acessíveis a um dispositivo de cálculo. De acordo com as definições da especificação, os meios legíveis por computador não incluem meios transitórios, tais como sinais de dados modulados e portadores.
[0144] Deve-se notar ainda que os termos “incluindo”, “compreendendo” ou quaisquer outras variantes dos termos têm a intenção de abranger uma inclusão não exclusiva, fazendo com que um processo, método, mercadoria ou dispositivo compreendendo uma série de elementos não apenas compreendam esses elementos, mas também compreendam outros elementos que não estão claramente listados, ou ainda compreendam elementos que são inerentes ao processo, método, mercadoria ou dispositivo. Quando não há restrição adicional, os elementos definidos pela afirmação compreendendo um ... não excluem que um processo, método, mercadoria ou dispositivo compreendendo os elementos acima compreendam ainda
Petição 870190076433, de 08/08/2019, pág. 49/64
41/42 elementos idênticos adicionais.
[0145] Um versado na técnica deve compreender que as modalidades do presente pedido podem ser fornecidas como um método, um sistema ou um produto de programa de computador. Portanto, o presente pedido pode ser implementada como uma modalidade de hardware completa, uma modalidade de software completa ou uma modalidade que combina software e hardware. Além disso, o presente pedido pode estar na forma de um produto de programa de computador implementado em um ou mais meios de armazenamento utilizáveis em computador (incluindo, mas não limitado a, uma memória de disco magnético, CD-ROM, uma memória óptica, etc.) compreendendo códigos de programa utilizáveis em computador.
[0146] O presente pedido pode ser descrito em um contexto regular de uma instrução executável por computador que é executada por um computador, tal como um módulo de programa. Geralmente, o módulo de programa compreende 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. O presente pedido também pode ser praticado em ambientes de cálculo distribuídos. Nestes ambientes de cálculo distribuído, os dispositivos de processamento remoto conectados através de redes de comunicação realizam tarefas. Nos ambientes de cálculo distribuído, um módulo de programa pode estar localizado em meio de armazenamento em computador local e remoto, incluindo dispositivos de armazenamento.
[0147] As modalidades neste relatório descritivo são descritas de uma maneira progressiva, com cada modalidade focada em diferenças de outras modalidades, e as modalidades podem ser mutuamente referenciadas para partes idênticas ou semelhantes. Em particular, a modalidade do sistema é descrita em uma maneira relativamente simples, uma vez que a modalidade do sistema é substancialmente semelhante à modalidade do método. A descrição da modalidade
Petição 870190076433, de 08/08/2019, pág. 50/64
42/42 do método pode ser referenciada para as partes relacionadas.
[0148] O acima descrito são apenas modalidades do presente pedido, que não são usadas para limitar o presente pedido. Para um versado na técnica, o presente pedido pode ter várias modificações e alterações. Qualquer modificação, substituição equivalente, ou melhoria feita dentro do espírito e princípio do presente pedido deve ser englobada pelas reivindicações do presente pedido.

Claims (18)

  1. REIVINDICAÇÕES
    1. Método de processamento de dados, CARACTERIZADO pelo fato de que compreende:
    distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e obter, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain.
  2. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a obtenção, de acordo com as verificações de soma dos dados dos nós de folha calculados pelos servidores no cluster de servidor, de uma soma de verificação de raiz dos dados no nó de blockchain compreende:
    receber a soma de verificação de raiz dos dados no nó de blockchain enviados pelos servidores no cluster de servidor.
  3. 3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a obtenção, de acordo com as verificações de soma dos dados dos nós de folha calculados pelos servidores no cluster de servidor, de uma soma de verificação de raiz dos dados no nó de blockchain compreende:
    determinar, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle que corresponda aos nós de folha; e atribuir a soma de verificação de raiz da árvore de Merkle à soma de verificação de raiz dos dados no nó de blockchain.
  4. 4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a distribuição, para os servidores em um cluster de servidor, de dados de nós de
    Petição 870190076433, de 08/08/2019, pág. 52/64
    2/5 folha pré-armazenados em um nó de blockchain compreende:
    de acordo com vários nós de folha pré-armazenados no nó de blockchain, respectivamente, enviar dados de um número predefinido de nós de folha para os servidores no cluster de servidor.
  5. 5. Método, de acordo com qualquer uma das reivindicações 1-4, CARACTERIZADO pelo fato de que as somas de verificação são valores de Hash.
  6. 6. Método de processamento de dados, CARACTERIZADO pelo fato de que compreende:
    receber dados de um nó de folha distribuído por um nó de blockchain; e calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz dos dados no nó de blockchain.
  7. 7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que, após o recebimento dos dados de um nó de folha distribuídos por um nó de blockchain, o método compreende ainda:
    de acordo com uma quantidade de dados de nó de folha, distribuir os dados de nó de folha em sub-nós de folha predefinidos; e calcular uma soma de verificação de dados de cada sub-nó de folha, e em que, o cálculo de uma soma de verificação dos dados do nó de folha distribuídos compreende:
    de acordo com a soma de verificação dos dados de cada sub-nó de folha, calcular a soma de verificação dos dados de nó de folha distribuído.
  8. 8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que, de acordo com uma quantidade de dados do nó de folha, a distribuição dos dados de nó de folha em sub-nós de folha predefinidos compreende:
    classificar os dados de nó de folha;
    selecionar sequencialmente um número predefinido de dados dos dados classificados para colocação nos sub-nós de folha; e
    Petição 870190076433, de 08/08/2019, pág. 53/64
    3/5 definir identificadores de sub-nó correspondentes para os sub-nós de folha, e em que, de acordo com a soma de verificação dos dados de cada sub-nó de folha, o cálculo da soma de verificação dos dados do nó de folha distribuídos compreende:
    de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada um dos sub-nós de folha, calcular a soma de verificação dos dados de nó de folha distribuído.
  9. 9. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o cálculo de uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz dos dados no nó de blockchain compreende:
    calcular a soma de verificação dos dados do nó de folha distribuídos e enviar a soma de verificação dos dados do nó de folha distribuídos para o nó de blockchain para o nó de blockchain calcular a soma de verificação de raiz dos dados no nó de blockchain de acordo com a soma de verificação dos dados do nó de folha; ou calcular a soma de verificação dos dados do nó de folha distribuído, obter a soma de verificação de raiz dos dados no nó blockchain com base na soma de verificação dos dados do nó de folha distribuídos e enviar a soma de verificação de raiz para o nó de blockchain.
  10. 10. Dispositivo de processamento de dados, CARACTERIZADO pelo fato de que compreende:
    um módulo de distribuição de dados configurado para distribuir, para os servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente; e um módulo de obtenção de soma de verificação de raiz configurado para obter, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz de dados no nó de
    Petição 870190076433, de 08/08/2019, pág. 54/64
    4/5 blockchain.
  11. 11. Dispositivo, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o módulo de obtenção de soma de verificação de raiz é configurado para receber a soma de verificação de raiz dos dados no nó de blockchain enviados pelos servidores no cluster de servidor.
  12. 12. Dispositivo, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o módulo de obtenção de soma de verificação de raiz é configurado para determinar, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha; e designar a soma de verificação de raiz da árvore de Merkle para a soma de verificação de raiz dos dados no nó de blockchain.
  13. 13. Dispositivo, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o módulo de distribuição de dados é configurado para, de acordo com um número de nós de folha pré-armazenados no nó de blockchain, enviar, respectivamente, dados de um número predefinido de nós de folha para os servidores no cluster de servidor.
  14. 14. Dispositivo, de acordo com qualquer uma das reivindicações 10-13, CARACTERIZADO pelo fato de que as somas de verificação são valores de Hash.
  15. 15. Dispositivo de processamento de dados, CARACTERIZADO pelo fato de que compreende:
    um módulo de recepção de dados configurado para receber dados de um nó de folha distribuídos por um nó de blockchain; e um módulo de obtenção de soma de verificação configurado para calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz de dados no nó de blockchain.
  16. 16. Dispositivo, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que compreende ainda:
    Petição 870190076433, de 08/08/2019, pág. 55/64
    5/5 um módulo de distribuição de dados configurado para, de acordo com uma quantidade de dados do nó de folha, distribuir os dados do nó de folha em sub-nós de folha predefinidos;
    um módulo de cálculo configurado para calcular uma soma de verificação de dados de cada sub-nó de folha, e em que o módulo de obtenção de soma de verificação é configurado para, de acordo com a soma de verificação dos dados de cada sub-nó de folha, calcular a soma de verificação dos dados do nó de folha distribuídos.
  17. 17. Dispositivo, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que o módulo de distribuição de dados está configurado para classificar os dados do nó de folha, selecionar sequencialmente um número predefinido de peças de dados a partir dos dados classificados para colocação nos sub-nós de folha, e definir identificadores de sub-nó para os sub-nós de folha, e em que o módulo de obtenção de soma de verificação é configurado para, de acordo com os identificadores de sub-nó dos sub-nós de folha e a soma de verificação de cada um dos sub-nós de folha, calcular a soma de verificação dos dados do nó de folha distribuído.
  18. 18. Dispositivo, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que o módulo de obtenção de soma de verificação é configurado para calcular a soma de verificação dos dados do nó de folha distribuídos e enviar a soma de verificação dos dados do nó de folha distribuídos para o nó de blockchain para o nó de blockchain calcular o soma de verificação de raiz dos dados no nó de blockchain de acordo com a soma de verificação dos dados de nó de folha; ou calcular a soma de verificação dos dados do nó de folha distribuído, obter a soma de verificação de raiz dos dados no nó de blockchain com base na soma de verificação dos dados do nó de folha distribuídos e enviar a soma de verificação de raiz para o nó de blockchain.
    Petição 870190076433, de 08/08/2019, pág. 56/64
    1/7
    Distribuir, para os servidores em um cluster de servidor, dados dos nós de folha pré-armazenados em um nó de blockchain, para os servidores no cluster de servidor calcularem as somas de verificação dos dados dos nós de folha distribuídos, respectivamente
    Obter, de acordo com as somas de verificação dos dados dos nós de folhas calculados pelos servidores no cluster de servidor, uma soma de verificação de raiz dos dados no nó de blockchain
    SlOl
    SI 02
    FIG. 1
    Figure BR112019016423A2_C0001
    FIG. 2
    Petição 870190076433, de 08/08/2019, pág. 57/64
    2/7
    8301
    Receber dados de um nó de folha distribuído por um nó de blockchain
    Calcular uma soma de verificação dos dados do nó de folha distribuídos para obter uma soma de verificação de raiz dos dados no nó de blockchain
    FIG. 3
    De acordo com um número de nós de folha préarmazenados, o nó de blockchain envia dados de um número predefinido de nós de folha para os servidores no ...........................cluster de sertidor, re.spe.ç.tiYaril.e ..........................
    S401
    O cluster de servidor calcula as somas de verificação dos dados dos nós de folha distribuídos $402
    O cluster de servidor envia as somas de verificação dos dados dos nós de folha distribuídos para o nó de blockchain
    I ~~~~ O nó de blockchain determina, de acordo com as somas de verificação dos nós de folha, uma soma de verificação de raiz de uma árvore de Merkle correspondente aos nós de folha
    O nó de blockchain atribui a soma de verificação de raiz da árvore de Merkle à soma de verificação de raiz dos dados no ------------------------nó,,d,e,,hlo£kcham----------------------S405
    FIG. 4
    Petição 870190076433, de 08/08/2019, pág. 58/64
    3/7 nó de blockchain
    Wi
    Figure BR112019016423A2_C0002
    FIG. 5
    Petição 870190076433, de 08/08/2019, pág. 59/64
    4/7
    Figure BR112019016423A2_C0003
    FIG. 6
    Petição 870190076433, de 08/08/2019, pág. 60/64
    5/7
    O nó de blockchain obtém um identificador de nó de um nó de folha pré-armazenado
    Figure BR112019016423A2_C0004
    O nó de blockchain envia o identificador de nó aos servidores no cluster de servidor
    0 primeiro cluster de servidor obtém, de acordo com os identificadores de nó distribuídos, dados dos nós de folha correspondentes aos identificadores de nó do nó de blockchain
    Figure BR112019016423A2_C0005
    O primeiro cluster de servidor gera um ou mais sub-nós de folha de acordo com as quantidades de dados obtidos dos nós de folha
    O primeiro cluster de servidor classifica os dados dos nós de folha, seleciona sequencialmente um número predefinido de peças de dados dos dados classificados para colocação nos sub-nós de folha correspondentes, respectivamente, e define os identificadores de sub-nó correspondentes para os sub-nós de folha
    O primeiro cluster de servidor distribui os dados dos sub-nós de folha para os servidores no segundo cluster de servidor
    Figure BR112019016423A2_C0006
    O segundo cluster de servidor calcula um valor de Hash de cada sub-nó de folha e retoma o valor de Hash aos servidores correspondentes no primeiro cluster de servidor
    O primeiro cluster de servidor determina um valor de Hash do nó de folha distribuído de acordo com o valor de Hash de cada sub-nó de folha e identificadores de sub-nó dos sub-nós de folha enviados pelo segundo cluster de servidor
    O primeiro cluster de servidor envia o valor de Hash do nó de folha distribuído para o nó de blockchain
    O nó de blockchain determina, de acordo com as somas de J verificação dos nós de folha, uma soma de verificação de raiz d de uma árvore de Merkle correspondente aos nós de folha, e atribui a soma de verificação de raiz da árvore de Merkle a i uma soma de verificação de raiz dos dados no nó de i ........................................................blockchain...........................................................i
BR112019016423-5A 2017-02-17 2018-02-07 Dispositivos e métodos de processamento de dados BR112019016423B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710085752.6A CN107040582B (zh) 2017-02-17 2017-02-17 一种数据处理方法及装置
CN201710085752.6 2017-02-17
PCT/CN2018/075571 WO2018149345A1 (zh) 2017-02-17 2018-02-07 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
BR112019016423A2 true BR112019016423A2 (pt) 2020-04-07
BR112019016423B1 BR112019016423B1 (pt) 2021-08-31

Family

ID=59533525

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019016423-5A BR112019016423B1 (pt) 2017-02-17 2018-02-07 Dispositivos e métodos de processamento de dados

Country Status (18)

Country Link
US (2) US11392612B2 (pt)
EP (1) EP3554051B1 (pt)
JP (1) JP6940615B2 (pt)
KR (1) KR102284972B1 (pt)
CN (1) CN107040582B (pt)
AU (2) AU2018221097B2 (pt)
BR (1) BR112019016423B1 (pt)
CA (1) CA3051065C (pt)
ES (1) ES2859560T3 (pt)
MX (1) MX2019009291A (pt)
MY (1) MY190059A (pt)
PH (1) PH12019501852A1 (pt)
PL (1) PL3554051T3 (pt)
RU (1) RU2724136C1 (pt)
SG (1) SG11201906738SA (pt)
TW (1) TWI682652B (pt)
WO (1) WO2018149345A1 (pt)
ZA (1) ZA201904735B (pt)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040582B (zh) 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
CN107612973B (zh) * 2017-08-18 2020-12-11 暨南大学 用于智能移动端的区块链结构、生成方法及交易验证方法
CN107705208A (zh) * 2017-10-12 2018-02-16 南京网数信息科技有限公司 一种基于哈希树的数字资产处理方法和系统
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN108521328B (zh) * 2018-03-26 2020-08-28 杭州秘猿科技有限公司 一种区块链共识方法、装置及电子设备
WO2019207503A1 (en) 2018-04-27 2019-10-31 nChain Holdings Limited Partitioning a blockchain network
CN109032803B (zh) 2018-08-01 2021-02-12 创新先进技术有限公司 数据处理方法和装置、客户端
CN109359222B (zh) * 2018-08-06 2021-07-06 杭州复杂美科技有限公司 数据存储方法及系统、设备和存储介质
CN109412600A (zh) * 2018-09-03 2019-03-01 何祥果 一种基于磁性特征的标识号编码方法
WO2020056570A1 (zh) * 2018-09-18 2020-03-26 柯宾汉数位金融科技有限公司 应用分片机制的区块网的区块产生方法及区块网系统
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN109360095A (zh) * 2018-09-27 2019-02-19 深圳技术大学(筹) 一种区块链交易数据的处理方法、装置及终端设备
CN109361661B (zh) * 2018-10-08 2020-07-10 莆田市烛火信息技术有限公司 一种依附相关链算力的区块链的共识装置
US11520773B2 (en) 2018-10-09 2022-12-06 International Business Machines Corporation Blockchain notification board storing blockchain resources
US11303442B2 (en) 2018-10-09 2022-04-12 International Business Machines Corporation Blockchain notification board storing blockchain resources
US10997159B2 (en) * 2018-10-09 2021-05-04 International Business Machines Corporation Blockchain notification board storing blockchain resources
CN109658238B (zh) * 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 数据处理方法及装置
CN109754251B (zh) * 2018-12-27 2022-02-01 石更箭数据科技(上海)有限公司 一种数据处理方法及其装置、介质、终端
US20220092209A1 (en) * 2019-01-10 2022-03-24 Bitnobi, Inc. Distributed governance for sharing of big data
CN110009510A (zh) * 2019-01-22 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的业务处理系统、方法、计算设备及存储介质
TWI708154B (zh) * 2019-04-24 2020-10-21 國際信任機器股份有限公司 適用於區塊鏈與鏈下間協作的驗證系統與方法
SG11202002912XA (en) * 2019-08-01 2021-03-30 Advanced New Technologies Co Ltd Shared blockchain data storage based on error correction code
CN110528600A (zh) * 2019-08-06 2019-12-03 福建工大岩土工程研究所有限公司 一种桩基检测系统及方法
CN110445684B (zh) * 2019-08-09 2021-04-02 中国信息通信研究院 一种区块链性能基准测试方法和装置
KR102163930B1 (ko) * 2019-09-30 2020-10-12 넷마블 주식회사 블록체인 보상을 통한 분산 컴파일 시스템
CN110753105B (zh) * 2019-10-17 2022-09-06 中国建设银行股份有限公司 数据传输方法、装置、系统、电子设备及存储介质
US11838400B2 (en) * 2019-11-19 2023-12-05 International Business Machines Corporation Image encoding for blockchain
TWI728571B (zh) * 2019-11-26 2021-05-21 中華電信股份有限公司 區塊鏈服務的資源管理方法及系統
CN111209336B (zh) * 2019-12-30 2020-09-15 广州博士信息技术研究院有限公司 基于区块链的数据分配方法、装置及服务器
CN111367916B (zh) * 2020-03-04 2023-03-31 浙江大华技术股份有限公司 一种数据存储方法及装置
CN111488343A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的电商数据上链方法及装置
CN111708844B (zh) * 2020-08-24 2020-12-01 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及设备
CN112905607B (zh) * 2021-05-07 2022-02-01 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988908B (zh) * 2021-05-07 2021-10-15 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988912B (zh) * 2021-05-07 2021-11-02 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988761B (zh) * 2021-05-07 2022-04-08 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN113839989B (zh) * 2021-08-28 2022-08-05 西安交通大学 一种多节点数据处理方法
CN113765665B (zh) * 2021-11-10 2022-02-08 济南量子技术研究院 基于量子密钥的区块链网络及数据安全传输方法
CN114466004A (zh) * 2022-03-24 2022-05-10 成都新希望金融信息有限公司 一种文件传输方法、系统、电子设备及存储介质
CN114844911A (zh) * 2022-04-20 2022-08-02 网易(杭州)网络有限公司 数据存储方法、装置、电子设备及计算机可读存储介质

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
EP1654649B1 (en) 2003-08-14 2015-12-23 Oracle International Corporation On demand node and server instance allocation and de-allocation
US20070038572A1 (en) * 2005-08-09 2007-02-15 International Business Machines Corporation Method, system and computer program for metering software usage
JP2007257556A (ja) 2006-03-26 2007-10-04 Wiz Win Kk 文字入力装置
JP4767057B2 (ja) * 2006-03-27 2011-09-07 富士通株式会社 ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置
US8204912B2 (en) * 2006-09-08 2012-06-19 Oracle International Corporation Insertion rate aware b-tree
US7992037B2 (en) * 2008-09-11 2011-08-02 Nec Laboratories America, Inc. Scalable secondary storage systems and methods
US9740727B2 (en) * 2008-10-10 2017-08-22 Abb Schweiz Ag Method and a system for replicating databases
US8345707B2 (en) 2009-06-03 2013-01-01 Voxer Ip Llc Method for synchronizing data maintained at a plurality of nodes
CN101651719B (zh) * 2009-09-11 2013-06-12 广东宇天科技有限公司 通信系统、均衡服务器及数据验证方法
CA2810991C (en) 2010-09-09 2016-06-21 Nec Corporation Storage system
CN102158559B (zh) * 2011-04-18 2016-05-18 浙江工业大学 一种基于p2p网络的负载均衡的方法
TWI483138B (zh) * 2012-10-12 2015-05-01 Acer Inc 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體
CN103902617B (zh) 2012-12-28 2017-06-09 华为技术有限公司 分布式数据库同步方法和系统
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
RU2609078C2 (ru) 2013-08-29 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Система управления индексацией партнерских объявлений
US9870591B2 (en) 2013-09-12 2018-01-16 Netspective Communications Llc Distributed electronic document review in a blockchain system and computerized scoring based on textual and visual feedback
EP3095044B1 (en) * 2013-11-19 2020-09-23 Top Galore Limited Block mining methods and apparatus
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
US10664530B2 (en) 2014-03-08 2020-05-26 Microsoft Technology Licensing, Llc Control of automated tasks executed over search engine results
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
RU2580425C1 (ru) 2014-11-28 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ структуризации хранящихся объектов в связи с пользователем на сервере и сервер
US9659047B2 (en) * 2014-12-03 2017-05-23 Netapp, Inc. Data deduplication utilizing extent ID database
US9547555B2 (en) * 2015-01-12 2017-01-17 Microsoft Technology Licensing, Llc Change tracking using redundancy in logical time
PT3259871T (pt) * 2015-02-20 2020-11-10 Ericsson Telefon Ab L M Método para proporcionar um valor de dispersão para uma parte de dados, dispositivo eletrónico e programa de computador
US9911007B2 (en) * 2015-02-27 2018-03-06 Guardtime IP Holdings, Ltd. Redundant fail-safe synchronization in a data authentication infrastructure
US10503445B2 (en) * 2015-03-23 2019-12-10 Netapp, Inc. Data structure store and data management
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
SG11201708000PA (en) 2015-03-31 2017-10-30 Nasdaq Inc Systems and methods of blockchain transaction recordation
US10509684B2 (en) 2015-04-06 2019-12-17 EMC IP Holding Company LLC Blockchain integration for scalable distributed computations
EP3281145B1 (en) * 2015-04-10 2019-11-06 Telefonaktiebolaget LM Ericsson (publ) Verification paths of leaves of a tree
US20160306373A1 (en) * 2015-04-16 2016-10-20 Fujitsu Limited Authenticated down-sampling of time-series data
JP6571375B2 (ja) * 2015-04-24 2019-09-04 国立大学法人 筑波大学 著作物保護支援装置
AU2016288644A1 (en) 2015-07-02 2018-02-22 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9298806B1 (en) 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170031676A1 (en) 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US10713210B2 (en) * 2015-10-13 2020-07-14 Microsoft Technology Licensing, Llc Distributed self-directed lock-free RDMA-based B-tree key-value manager
EP3362965A4 (en) 2015-10-13 2019-08-07 Transactive Grid Inc. USING A DISTRIBUTED CONSENSUS CONTROL BASED ON A BLOCK CHAIN
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法
AU2017216289A1 (en) 2016-02-04 2018-09-27 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US20170243193A1 (en) * 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
KR101637868B1 (ko) * 2016-02-22 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US20170264428A1 (en) 2016-03-08 2017-09-14 Manifold Technology, Inc. Data storage system with blockchain technology
US9985964B2 (en) 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
CN105868369B (zh) * 2016-03-30 2019-10-01 电子科技大学 一种基于Merkle树结构的数据模型验证系统与方法
US10204341B2 (en) 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
CN106126722B (zh) * 2016-06-30 2019-10-18 中国科学院计算技术研究所 一种基于验证的前缀混合树及设计方法
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及系统
US10177908B2 (en) * 2016-08-30 2019-01-08 Workday, Inc. Secure storage decryption system
US10187203B2 (en) * 2016-08-30 2019-01-22 Workday, Inc. Secure storage encryption system
US10785022B2 (en) 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US10565570B2 (en) * 2016-09-27 2020-02-18 The Toronto-Dominion Bank Processing network architecture with companion database
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
US20180114205A1 (en) 2016-10-21 2018-04-26 Bank Of America Corporation Distributed ledger system for providing aggregate tracking and threshold triggering
CN106341421B (zh) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
US10169872B2 (en) * 2016-11-02 2019-01-01 International Business Machines Corporation Classification of severity of pathological condition using hybrid image representation
US10116450B1 (en) 2016-11-02 2018-10-30 ISARA Corporation Merkle signature scheme using subtrees
CN106603198A (zh) 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
CN106796688B (zh) 2016-12-26 2020-12-18 深圳前海达闼云端智能科技有限公司 区块链的权限控制方法、装置、系统及节点设备
US10523526B2 (en) * 2016-12-28 2019-12-31 Acronis International Gmbh System and method for managing services and licenses using a blockchain network
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
DE112017006701T5 (de) 2016-12-30 2019-09-19 Intel Corporation Internet der Dinge
CN106686087A (zh) 2016-12-30 2017-05-17 先锋支付有限公司 一种区块链截断方法及分布式节点
US10572872B2 (en) 2017-01-06 2020-02-25 FirstBlood Technologies, Inc. Decentralized competitive arbitration using digital ledgering
CN107040582B (zh) 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
RU2724136C1 (ru) 2020-06-22
PH12019501852A1 (en) 2020-06-15
TW201832099A (zh) 2018-09-01
ES2859560T3 (es) 2021-10-04
US20200167366A1 (en) 2020-05-28
JP6940615B2 (ja) 2021-09-29
AU2018221097A1 (en) 2019-08-01
EP3554051A4 (en) 2020-01-01
KR102284972B1 (ko) 2021-08-03
CN107040582A (zh) 2017-08-11
CA3051065A1 (en) 2018-08-23
MX2019009291A (es) 2019-10-30
CN107040582B (zh) 2020-08-14
PL3554051T3 (pl) 2021-07-05
US20190332608A1 (en) 2019-10-31
BR112019016423B1 (pt) 2021-08-31
CA3051065C (en) 2020-08-18
TWI682652B (zh) 2020-01-11
EP3554051B1 (en) 2021-01-20
KR20190098765A (ko) 2019-08-22
JP2020507866A (ja) 2020-03-12
US11392612B2 (en) 2022-07-19
SG11201906738SA (en) 2019-09-27
US10747780B2 (en) 2020-08-18
ZA201904735B (en) 2020-08-26
EP3554051A1 (en) 2019-10-16
AU2019101603A4 (en) 2020-01-23
AU2018221097B2 (en) 2020-07-09
WO2018149345A1 (zh) 2018-08-23
MY190059A (en) 2022-03-24

Similar Documents

Publication Publication Date Title
BR112019016423A2 (pt) dispositivo e método de processamento de dados
TWI695260B (zh) 區塊資料校驗方法和裝置
US9811684B1 (en) Token-based storage service
CN105320773B (zh) 一种基于Hadoop平台的分布式重复数据删除系统和方法
CN101853190A (zh) 一种适用于嵌入式处理器的数据完整性验证方法
US10592153B1 (en) Redistributing a data set amongst partitions according to a secondary hashing scheme
Rahman et al. Topology-custom UGAL routing on dragonfly
US20230040635A1 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
WO2015054877A1 (en) Method and apparatus for data storage and retrieval
Henzinger et al. Efficient distributed workload (re-) embedding
CN110032470A (zh) 一种基于哈夫曼树的异构部分重复码的构造方法
US11409724B2 (en) Hashed balanced tree data structure
BR112020027062B1 (pt) Sistema e método para classificação de segurança de dados
US10419527B2 (en) Surgical corruption repair in large file systems
Vijayakumar et al. FIR3: A fuzzy inference based reliable replica replacement strategy for cloud Data Centre
US10223394B1 (en) Data reconciliation
US11301492B1 (en) Network address range storage and retrieval
Zhang et al. Hyper: A High-Performance and Memory-Efficient Learned Index via Hybrid Construction
Jonsson Data Retrieval Strategy for Modern Database Models in a Serverless Architecture
CN116366667A (zh) 区块链网络的数据传输方法、装置、电子设备及存储介质

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)

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09W Correction of the decision to grant [chapter 9.1.4 patent gazette]

Free format text: IINCORRECOES NA REIVINDICACAO INDEPENDENTE 9, CONFORME APRESENTADO NA PETICAO 870210061107.

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 07/02/2018, OBSERVADAS AS CONDICOES LEGAIS.