BR112019016423B1 - Dispositivos e métodos de processamento de dados - Google Patents

Dispositivos e métodos de processamento de dados Download PDF

Info

Publication number
BR112019016423B1
BR112019016423B1 BR112019016423-5A BR112019016423A BR112019016423B1 BR 112019016423 B1 BR112019016423 B1 BR 112019016423B1 BR 112019016423 A BR112019016423 A BR 112019016423A BR 112019016423 B1 BR112019016423 B1 BR 112019016423B1
Authority
BR
Brazil
Prior art keywords
data
node
checksum
leaf
nodes
Prior art date
Application number
BR112019016423-5A
Other languages
English (en)
Other versions
BR112019016423A2 (pt
Inventor
Honglin Qiu
Original Assignee
Advanced New Technologies Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co., Ltd filed Critical Advanced New Technologies Co., Ltd
Publication of BR112019016423A2 publication Critical patent/BR112019016423A2/pt
Publication of BR112019016423B1 publication Critical patent/BR112019016423B1/pt

Links

Images

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
    • 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
    • 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
    • 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)
  • Quality & Reliability (AREA)
  • Power Engineering (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

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 (checksum) 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 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 pedaços 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 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ído 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 de nó de folha em nós de subfolha predefinidos; e calcular uma soma de verificação de dados de cada nó de subfolha, e em que, o cálculo de uma soma de verificação dos dados do nó de folha distribuído compreende: de acordo com a soma de verificação dos dados de cada nó de subfolha, 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 nós de subfolha predefinidos compreende: classificar os dados de nó de folha, selecionar sequencialmente um número predefinido de pedaços de dados a partir dos dados classificados para colocação nos nós de subfolha, e definir identificadores de subnó para os nós de subfolha, e em que, de acordo com a soma de verificação dos dados de cada nó de subfolha, o cálculo da soma de verificação dos dados do nó de folha distribuído compreende: de acordo com os identificadores de subnó dos nós de subfolha e a soma de verificação de cada um dos nós de subfolha, 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ído 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ído e enviar a soma de verificação dos dados do nó de folha distribuído 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ído 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: 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ído 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 nós de subfolha predefinidos; um módulo de cálculo configurado para calcular uma soma de verificação de dados de cada nó de subfolha, 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 nó de subfolha, calcular a soma de verificação dos dados do nó de folha distribuído.
[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 pedaços de dados a partir dos dados classificados para colocação nos nós de subfolha, e definir identificadores de subnós correspondentes para os nós de subfolha, e em que o módulo de obtenção de soma de verificação é configurado para, de acordo com os identificadores de subnó dos nós de subfolha e a soma de verificação de cada um dos nós de subfolha, 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ído 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ó 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 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 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 subnó. 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, 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 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 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, 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 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 pluralidade de servidores e cada servidor pode calcular uma soma de verificação de dados. O método pode compreender as 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ído 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 retornados 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 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 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 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 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 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 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 nós de subfolha predefinidos
[078] Aqui, não há relação de associação entre os nós de subfolha e o nó de folha, como uma relação de pertencimento, uma relação de subordinação, uma relação de pai ou uma relação de filho. Um nó de subfolha pode ser um pacote de dados que compreende um ou mais pedaços de dados, enquanto um nó de folha (balde) pode ser um contêiner na árvore de Merkle para armazenamento de dados. O número de nós de subfolha 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 nós de subfolha 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 pedaços 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 nós de subfolha pode ser predefinida, ou uma quantidade máxima de dados que cada nó de subfolha pode acomodar pode ser definida para cada nó de subfolha 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 nós de subfolha 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 nós de subfolha, respectivamente, e definir os identificadores de subnó correspondentes para os nós de subfolha.
[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 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 pedaços de dados que cada nó de subfolha 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 nó de subfolha, e definir identificadores de subnó correspondentes para os nós de subfolha, respectivamente, de acordo com a ordem dos dados, de modo a indicar a posição dos dados de um nó de subfolha nos dados de todos os nós de subfolha.
[082] Por exemplo, um nó de subfolha distribuído por um servidor no cluster de servidor é armazenado com 50 pedaços 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 nó de subfolha é de 25 MB, então 250/25 = 10 e, portanto, 10 nós de subfolha podem ser obtidos. Em seguida, os nós de subfolha são numerados como 1-10 como identificadores de subnó de acordo com a ordem dos dados. Após o processamento descrito acima, as posições de armazenamento das 50 pedaços de dados são as seguintes: Os pedaços de dados 1-5 na ordem são armazenadas em um nó de subfolha numerado como 1, os n°s. pedaços de dados 6-10 na ordem são armazenados em um nó de subfolha numerado como 2, os n°s. pedaços de dados 11-15 na ordem são armazenados em um nó de subfolha 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 nó de subfolha pode conter 5 pedaços de dados.
[083] Na etapa S603, o cluster de servidor calcula uma soma de verificação dos dados de cada nó de subfolha.
[084] Nas implementações, após os servidores no cluster de servidor obterem os nós de subfolha correspondentes, os servidores podem obter dados armazenados nos nós de subfolha e, em seguida, calcular uma soma de verificação de cada nó de subfolha com o uso de um algoritmo de verificação predefinido. Por exemplo, os dados armazenados em um nó de subfolha 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ído de acordo com a soma de verificação dos dados de cada nó de subfolha
[086] Nas implementações, depois que o cluster de servidor obtém a soma de verificação de cada nó de subfolha, as somas de verificação dos nós de subfolha podem ser classificadas de acordo com a ordem dos identificadores de subnó. Em seguida, o cluster de servidor pode executar o cálculo de modo agregado com base nas somas de verificação dos nós de subfolha 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ído pelo nó de blockchain.
[087] Por exemplo, com base no exemplo da Etapa S602, os respectivos valores de Hash dos dados de nós de subfolha 10 podem ser obtidos através do processamento na Etapa S603. Uma vez que os dados dos nós de subfolha 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 nós de subfolha 10 para obter um valor de Hash do nó de folha correspondente.
[088] Deve-se notar que os dados dos nós de subfolha também podem ser obtidos de forma puxada através dos identificadores de subnós definidos dos nós de subfolha. Correspondentemente, o processamento na Etapa S604 pode ser como segue: calcular uma soma de verificação dos dados do nó de folha distribuído de acordo com os identificadores de subnó dos nós de subfolha e a soma de verificação de cada nó de subfolha. 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 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 pedaços de dados para os nós de subfolha 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 nó de subfolha, 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 nós de subfolha e, em seguida, as somas de verificação dos nós de subfolha 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 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 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 nós de subfolha 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 nós de subfolha 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 nó de subfolha pode ser um pacote de dados que compreende um ou mais pedaços 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 pedaços de dados que um nó de subfolha 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 nós de subfolha podem ser gerados de acordo com a quantidade de dados ou o número de pedaços de dados que cada nó de subfolha 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 pedaços de dados dos dados classificados para colocação nos nós de subfolha correspondentes, respectivamente, e define os identificadores de subnó correspondentes para os nós de subfolha.
[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 um e vários pedaços 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 pedaços de dados pode ser ordenada de acordo com a ordem dos timestamps. Um número predefinido de pedaços de dados pode ser selecionado sequencialmente a partir da pluralidade ordenada de pedaços de dados e distribuído em nós de subfolha correspondentes, respectivamente. Para marcar a ordem dos dados distribuídos em diferentes nós de subfolha, os identificadores de subnó podem ser definidos para os nós de subfolha 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-G- F-E-D-C-B-A-K. Então, três pedaços de dados H-G-F podem ser distribuídas em um nó de subfolha, três pedaços de dados E-D-C podem ser distribuídas em um nó de subfolha, e três pedaços de dados B-A-K podem ser distribuídas em um nó de subfolha. Para marcar a ordem dos dados armazenados nos três nós de subfolha, o identificador de subnó do nó de subfolha onde H-G-F está localizado pode ser definido como subnó 1, o identificador de subnó do nó de subfolha onde o E-D-C está localizado pode ser definido como subnó 2, e o identificador de subnó do nó de subfolha onde o B-A-K está localizado pode ser definido como subnó 3.
[0108] Na Etapa S706, o primeiro cluster de servidor distribui os dados dos nós de subfolha para os servidores no segundo cluster de servidor.
[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 nós de subfolha 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 nós de subfolha 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 nós de subfolha 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 nós de subfolha 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 nós de subfolha 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 nós de subfolha acima podem ser enviados para este servidor. Na maneira descrita acima, os um ou mais nós de subfolha 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 nó de subfolha e retorna o valor de Hash aos servidores correspondentes no primeiro cluster de servidor.
[0112] Nas implementações, depois que um servidor no segundo cluster de servidor recebe os nós de subfolha correspondentes, o servidor pode extrair dados em cada nó de subfolha 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 nó de subfolha. Com o método descrito acima, o segundo cluster de servidor pode obter um valor de Hash de cada nó de subfolha, 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 nó de subfolha e identificadores de subnó dos nós de subfolha 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 nós de subfolha retornados pelo segundo cluster de servidor, os servidores poderão obter um identificador de subnó de cada nó de subfolha, respectivamente. Em seguida, os servidores podem classificar os nós de subfolha de acordo com o identificador de subnó de cada nó de subfolha e podem coletar valores de Hash dos nós de subfolha classificados para obter um valor de Hash dos nós de subfolha. Por exemplo, uma ordem de valores de Hash dos nós de subfolha pode ser determinada de acordo com a ordem dos nós de subfolha 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 nós de subfolha pode ser calculada como o valor de Hash do nó de folha; alternativamente, o valor de Hash do nó de folha pode ser obtido com base no peso de cada nó de subfolha e um valor de Hash de cada nó de subfolha.
[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 nós de subfolha distribuídos com um número predefinido de dados, distribuir então os nós de subfolha a um segundo cluster de servidor para calcular uma soma de verificação de cada nó de subfolha, determinar as somas de verificação dos nós de folha correspondentes de acordo com o soma de verificação de cada nó de subfolha 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 nós de subfolha e, em seguida, os nós de subfolha 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 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 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 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ído para obter uma soma de verificação de raiz de dados no nó de blockchain.
[0129] Nas 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 nós de subfolha predefinidos; um módulo de cálculo é configurado para calcular uma soma de verificação dos dados de cada nó de subfolha; 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 nó de subfolha, 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 pedaços de dados dos dados classificados para colocação nos nós de subfolha, respectivamente, e definir identificadores de subnó 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 subnó dos nós de subfolha e a soma de verificação de cada um dos nós de subfolha, 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ído 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ó 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 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 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 reprodutor de meio, um dispositivo de navegação, um dispositivo de e-mail, 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 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 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 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 implementado 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 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 (15)

1. Método de processamento de dados, CARACTERIZADO pelo fato de que compreende: distribuir (S601), por um nó de blockchain, para servidores em um cluster de servidor, dados de nós de folha pré-armazenados no nó de blockchain, distribuir (S602), por cada servidor no cluster de servidor, os dados do nó de folha correspondente uniformemente em uma pluralidade de nós de subfolha de acordo com uma quantidade de dados do nó de folha correspondente; calcular (S603), pelos servidores no cluster de servidor, uma soma de verificação (checksum) para os dados de cada um dentre a pluralidade correspondente de nós de subfolha em paralelo; calcular (S604), pelos servidores no cluster de servidor, uma soma de verificação dos dados dos nós de folha de acordo com a soma de verificação dos dados de cada nó de subfolha; obter, por um nó de blockchain, 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.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a obtenção, pelo nó de blockchain, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, de uma soma de verificação de raiz de 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. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a obtenção, pelo nó de blockchain, de acordo com as somas de verificação dos dados dos nós de folha calculados pelos servidores no cluster de servidor, de uma soma de verificação de raiz de 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 corresponde 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. Método, de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que a distribuição, pelo nó de blockchain, para servidores em um cluster de servidor, de dados de nós de folha pré-armazenados em no nó de blockchain compreende: de acordo com um número dos 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. Método, de acordo com qualquer uma das reivindicações 1 a 4, CARACTERIZADO pelo fato de que as somas de verificação são valores de Hash.
6. Método de processamento de dados, CARACTERIZADO pelo fato de que compreende: receber, por um servidor de um cluster de servidor, dados de um nó de folha distribuído por um nó de blockchain; e distribuir (S602), pelo servidor, dados do nó de folha uniformemente em uma pluralidade de nós de subfolha de acordo com uma quantidade de dados do nó de folha; calcular (S603), pelo servidor, uma soma de verificação (checksum) para os dados de cada um dentre a pluralidade de nós de subfolha em paralelo; calcular, pelo servidor, de acordo com as somas de verificação dos dados da pluralidade de nós de subfolha, uma soma de verificação dos dados do nó de folha distribuído para o nó de blockchain para obter uma soma de verificação de raiz de dados no nó de blockchain.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que, a distribuição, pelo servidor, de dados do nó de folha uniformemente em uma pluralidade de nós de subfolha de acordo com uma quantidade de dados do nó de folha compreende: classificar os dados do nó de folha; selecionar sequencialmente um número predefinido de pedaços de dados a partir dos dados classificados para colocação nos nós de subfolha; e definir identificadores de subnó correspondentes para os nós de subfolha, e em que, de acordo com as somas de verificação dos dados da pluralidade de nós de subfolha, calcular a soma de verificação dos dados do nó de folha distribuído compreende: de acordo com os identificadores de subnó dos nós de subfolha e a soma de verificação de cada um dos nós de subfolha, calcular a soma de verificação dos dados de nó de folha distribuído.
8. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o cálculo, de acordo com as somas de verificação dos dados da pluralidade de nós de subfolha, de uma soma de verificação dos dados do nó de folha distribuído 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ído e enviar a soma de verificação dos dados do nó de folha distribuído 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ído e enviar a soma de verificação de raiz para o nó de blockchain.
9. Dispositivo de processamento de dados, CARACTERIZADO pelo fato de que compreende: um módulo de distribuição de dados (901) configurado para distribuir, para servidores em um cluster de servidor, dados de nós de folha pré-armazenados em um nó de blockchain, para cada servidor no cluster de servidor distribuir os dados do nó folha correspondente uniformemente em uma pluralidade de nós de subfolha de acordo com uma quantidade de dados do nó de folha, calcular uma soma de verificação para os de cada um dentre a pluralidade de nós de subfolha em paralelo, e calcular, de acordo com as somas de verificação dos dados da pluralidade de nós de subfolha, uma soma de verificação dos dados do nó folha correspondente, respectivamente; e um módulo de obtenção de soma de verificação de raiz (902) 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.
10. Dispositivo, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que 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 enviados pelos servidores no cluster de servidor, ou, em que o módulo de obtenção de soma de verificação de raiz (902) é 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 atribuir 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.
11. Dispositivo, de acordo com a reivindicação 9 ou 10, CARACTERIZADO pelo fato de que 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, respectivamente, dados de um número predefinido de nós de folha para servidores no cluster de servidor.
12. Dispositivo, de acordo com qualquer uma das reivindicações 9 a 11, CARACTERIZADO pelo fato de que as somas de verificação são valores de Hash.
13. 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; um módulo de distribuição de dados (1001) configurado para distribuir os dados do nó de folha uniformemente em uma pluralidade de nós de subfolha de acordo com uma quantidade de dados do nó de folha; um módulo de cálculo configurado para calcular uma soma de verificação dos dados de cada nó de subfolha em paralelo; e um módulo de obtenção de soma de verificação (1002) configurado para, de acordo com as somas de verificação dos dados da pluralidade de nós de subfolha, calcular uma soma de verificação dos dados do nó de folha distribuído para obter uma soma de verificação de raiz de dados no nó de blockchain.
14. Dispositivo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o módulo de distribuição de dados (1001) está configurado para classificar os dados do nó de folha, selecionar sequencialmente um número predefinido de pedaços de dados a partir dos dados classificados para colocação nos nós de subfolha, e definir identificadores de subnó correspondentes para os nós de subfolha, e em que o módulo de obtenção de soma de verificação (1002) é configurado para, de acordo com os identificadores de subnó dos nós de subfolha e a soma de verificação de cada um dos nós de subfolha, calcular a soma de verificação dos dados do nó de folha distribuído.
15. Dispositivo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o módulo de obtenção de soma de verificação (1002) é 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ído 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 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ó 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.
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.6 2017-02-17
CN201710085752.6A CN107040582B (zh) 2017-02-17 2017-02-17 一种数据处理方法及装置
PCT/CN2018/075571 WO2018149345A1 (zh) 2017-02-17 2018-02-07 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
BR112019016423A2 BR112019016423A2 (pt) 2020-04-07
BR112019016423B1 true 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 杭州秘猿科技有限公司 一种区块链共识方法、装置及电子设备
SG11202008861TA (en) 2018-04-27 2020-11-27 Nchain Holdings Ltd 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 莆田市烛火信息技术有限公司 一种依附相关链算力的区块链的共识装置
US10997159B2 (en) * 2018-10-09 2021-05-04 International Business Machines Corporation Blockchain notification board storing blockchain resources
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
CN109658238B (zh) 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 数据处理方法及装置
CN109754251B (zh) * 2018-12-27 2022-02-01 石更箭数据科技(上海)有限公司 一种数据处理方法及其装置、介质、终端
WO2020142835A1 (en) * 2019-01-10 2020-07-16 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 國際信任機器股份有限公司 適用於區塊鏈與鏈下間協作的驗證系統與方法
EP3791538B1 (en) * 2019-08-01 2023-04-12 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 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及设备
CN112988912B (zh) * 2021-05-07 2021-11-02 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112905607B (zh) * 2021-05-07 2022-02-01 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988761B (zh) * 2021-05-07 2022-04-08 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
CN112988908B (zh) * 2021-05-07 2021-10-15 支付宝(杭州)信息技术有限公司 区块链数据存储方法及装置、电子设备
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
WO2005017783A2 (en) 2003-08-14 2005-02-24 Oracle International Corporation Hierarchical management of the dynamic allocation of resourses in a multi-node system
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 广东宇天科技有限公司 通信系统、均衡服务器及数据验证方法
CN103080910B (zh) 2010-09-09 2016-06-01 日本电气株式会社 存储系统
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
WO2016131559A1 (en) * 2015-02-20 2016-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Method of providing a hash value for a piece of data, electronic device and computer program
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
CA2981511C (en) 2015-03-31 2018-08-28 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
WO2016162094A1 (en) * 2015-04-10 2016-10-13 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 国立大学法人 筑波大学 著作物保護支援装置
EP3317775B1 (en) 2015-07-02 2022-02-16 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 杭州复杂美科技有限公司 区块链的数据对比及共识方法
SG11201806404SA (en) 2016-02-04 2018-08-30 Nasdaq Tech 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
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
KR101637868B1 (ko) * 2016-02-22 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
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 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
US10116450B1 (en) 2016-11-02 2018-10-30 ISARA Corporation Merkle signature scheme using subtrees
US10169872B2 (en) * 2016-11-02 2019-01-01 International Business Machines Corporation Classification of severity of pathological condition using hybrid image representation
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
US20190238550A1 (en) 2016-12-26 2019-08-01 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Permission control method, apparatus and system for block chain, and node device
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
CN106686087A (zh) 2016-12-30 2017-05-17 先锋支付有限公司 一种区块链截断方法及分布式节点
US11196623B2 (en) 2016-12-30 2021-12-07 Intel Corporation Data packaging protocols for communications between IoT devices
WO2018129118A1 (en) 2017-01-06 2018-07-12 FirstBlood Technologies, Inc. Decentralized competitive arbitration using digital ledgering
CN107040582B (zh) * 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112019016423B1 (pt) Dispositivos e métodos de processamento de dados
US9811684B1 (en) Token-based storage service
CN101853190B (zh) 一种适用于嵌入式处理器的数据完整性验证方法
JP6804668B2 (ja) ブロックデータ検証方法および装置
Zahavi et al. Optimized InfiniBandTM fat‐tree routing for shift all‐to‐all communication patterns
Esiner et al. Flexdpdp: Flexlist-based optimized dynamic provable data possession
US9641598B1 (en) Contextually unique identifier generation service
CN104298687B (zh) 一种哈希分区管理方法及装置
CN109191287A (zh) 一种区块链智能合约的分片方法、装置及电子设备
Wang et al. {MAPX}: Controlled data migration in the expansion of decentralized {Object-Based} storage systems
CN110032470A (zh) 一种基于哈夫曼树的异构部分重复码的构造方法
CN109460406A (zh) 一种数据处理方法及装置
Korupolu et al. Robust and probabilistic failure-aware placement
Ramya et al. SecDedoop: secure deduplication with access control of big data in the HDFS/hadoop environment
US10387578B1 (en) Utilization limiting for nested object queries
BR112020027062A2 (pt) Sistema e método para classificação de segurança de dados
Liu et al. Smash: Flexible, fast, and resource-efficient placement and lookup of distributed storage
Stanton et al. Fastad: an authenticated directory for billions of objects
CN103399876A (zh) 分布式文件系统及其文件定位方法
Logins et al. On the robustness of diffusion in a network under node attacks
Safaei et al. Implicit effect of decoding time on fault tolerance in erasure coded cloud storage systems
Mustard et al. Jumpgate: automating integration of network connected accelerators
US10467191B1 (en) Large scale data join service within a service provider network
Chang et al. Realization of secondary indexing to NoSQL database with intelligent adaptation

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.