BR112019017863A2 - Método e aparelho para gravar dados de serviço em cadeia de blocos e método para determinar subconjunto de serviços - Google Patents
Método e aparelho para gravar dados de serviço em cadeia de blocos e método para determinar subconjunto de serviços Download PDFInfo
- Publication number
- BR112019017863A2 BR112019017863A2 BR112019017863-5A BR112019017863A BR112019017863A2 BR 112019017863 A2 BR112019017863 A2 BR 112019017863A2 BR 112019017863 A BR112019017863 A BR 112019017863A BR 112019017863 A2 BR112019017863 A2 BR 112019017863A2
- Authority
- BR
- Brazil
- Prior art keywords
- transaction
- data
- transaction data
- subset
- transactions
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008859 change Effects 0.000 claims abstract description 182
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000004075 alteration Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Abstract
o presente pedido revela um método para gravar dados de transação em uma cadeia de blocos que compreende: obter uma pluralidade de partes de dados de transação a ser gravada em um cadeia de blocos; determinar subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos. o presente pedido revela adicionalmente um aparelho para gravar dados de transação em uma cadeia de blocos e um método para determinar um subconjunto de transações. o presente pedido pode alcançar a execução em paralelo de dados de transação sem uma relação de dependência de transação, reduzindo, por meio disso, o custo exigido para aprimorar a eficiência de execução de processamento de dados e aprimorar a expansibilidade.
Description
“MÉTODO E APARELHO PARA GRAVAR DADOS DE SERVIÇO EM CADEIA DE BLOCOS E MÉTODO PARA DETERMINAR SUBCONJUNTO DE SERVIÇOS”
CAMPO DA TÉCNICA
[001] O presente pedido se refere ao campo de tecnologias da informação e, em particular, a um método e a um aparelho para gravar dados de transação em uma cadeia de blocos e a um método para determinar um subconjunto de transações de dados de transação de cadeia de blocos.
ANTECEDENTES
[002] Com o desenvolvimento de tecnologias da informação, tecnologias de cadeia de blocos (chamadas também de rede de conta corrente distribuída) têm sido usadas extensivamente em inúmeros campos, como contratos inteligentes, transações de títulos, comércio eletrônico, Internet das Coisas, comunicações sociais, armazenamento de arquivo, prova de existência, verificação de identidade e coleta de recursos de capital, devidos a vantagens, como descentralização, abertura e transparência, imutabilidade e credibilidade.
[003] Em um exemplo, as tecnologias de cadeia de blocos são um tipo de tecnologias de base de dados descentralizados e distribuídos. Cada parte de dados em uma cadeia de blocos será difundida para todos os nós de cadeia de blocos de toda a rede e cada nó mantém a quantidade completa de dados que é consistente entre si. As tecnologias de cadeia de blocos exigem que todos os nós mantenham o mesmo estado, incluindo o estado de base de dados e similares. Para garantir a consistência no estado de base de dados, exige-se que transações de cadeia de blocos sejam uma sequência ordenada que é consistente para todos os nós, e todos os nós executam transações em tal sequência para concluir a verificação de transação, implementação, inclusão de dados na cadeia, etc. Adotando o aplicativo de cadeia de blocos de Ethereum como um exemplo, um carimbo de data e hora é
Petição 870190083900, de 27/08/2019, pág. 8/67
2/35 criado quando cada transação é recebida, as transações são gravadas em um conjunto de transações, e as transações são classificadas de acordo com os carimbos de data e hora; durante a mineração, as transações são executadas de acordo com a sequência de carimbos de data e hora de transação e as informações de conta após a execução de cada transação são atualizadas em uma base de dados, alcançando, por meio disso, a atualização do estado de conta de base de dados.
[004] Nas tecnologias atuais, para garantir consistência no estado de base de dados, os dados precisam ser processados de acordo com uma série de carimbos de data e hora de recepção de transação (que podem ser construídos à medida que os dados de transação são gravados em uma cadeia de blocos). Portanto, limita-se que apenas uma única máquina possa realizar a execução, causando o desempenho e a eficiência de gravação de uma base de dados a serem limitados pelo desempenho da uma única máquina. Para aprimorar o desempenho e a eficiência de gravação, as propriedades físicas, como CPU, de uma única máquina devem ser aprimoradas, como aumentar o número central de CPU, o que não leva a um custo alto, mas limita também a expansibilidade.
SUMÁRIO
[005] As modalidades do presente pedido fornecem um método e um aparelho para gravar dados de transação em uma cadeia de blocos, que são destinados a reduzir o custo exigido para aprimorar a eficiência de execução de processamento de dados e aprimorar a expansibilidade.
[006] As modalidades do presente pedido fornecem adicionalmente um método para determinar um subconjunto de transações de dados de transação de cadeia de blocos, que é destinado a dividir razoavelmente os dados de transação, reduzindo, por meio disso, o custo exigido para aprimorar a eficiência de execução de processamento de dados e aprimorar a expansibilidade.
Petição 870190083900, de 27/08/2019, pág. 9/67
3/35
[007] As modalidades do presente pedido empregam as soluções técnicas a seguir:
[008]De acordo com um primeiro aspecto, o método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido compreende:
[009] obter uma pluralidade de partes de dados de transação a serem executadas;
[010] determinar subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e
[011] executar subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
[012] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação compreende:
[013] determinar os subconjuntos de transações aos quais os dados de transação pertencem de acordo com os atributos de dados dos dados de transação, em que um atributo de dados tem uma relação correspondente a um tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir um relação de dependência de transação dos dados de transação.
[014] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a execução dos
Petição 870190083900, de 27/08/2019, pág. 10/67
4/35 subconjuntos de transações em paralelo compreende:
[015] executar os subconjuntos de transações em paralelo com o uso de linha de execução múltipla ou um agrupamento de máquinas.
[016] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, há uma relação correspondente entre os dados de transação e os carimbos de data e hora, e a execução dos subconjuntos de transações compreende:
[017] executar dados de transação compreendidos nos subconjuntos de transações em série de acordo com uma ordem temporal correspondente aos carimbos de data e hora.
[018] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação dos dados de transação compreende:
[019] de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação no mesmo subconjunto de transações, e dividir dados de transação de tipos diferentes de transação em subconjuntos de transações diferentes.
[020] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação compreende:
[021] de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo subconjunto de transações, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes.
Petição 870190083900, de 27/08/2019, pág. 11/67
5/35
[022] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo conjunto de transações, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes compreende:
[023] percorrer as faixas de alteração de dados dos dados de transação;
[024] se a faixa de alteração de dados de primeira parte de dados de transação sobrepor a faixa de alteração de dados de um primeiro subconjunto de transações, adicionar a primeira parte de dados de transação ao primeiro subconjunto de transações; e
[025] se a faixa de alteração de dados da primeira parte de dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de transações, criar um segundo subconjunto de transações que compreende a primeira parte de dados de transação;
[026]em que a primeira parte de dados de transação é qualquer uma das partes de dados de transação, o primeiro subconjunto de transações é qualquer um dos subconjuntos de transações e o segundo subconjunto de transações é diferente do primeiro subconjunto de transações.
[027] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a faixa de alteração de dados do subconjunto de transações é determinada para ser uma união de faixas de alteração de dados de dados de transação compreendida no subconjunto de transações.
[028] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, há uma relação correspondente entre os dados de transação e os carimbos de data e hora, e as
Petição 870190083900, de 27/08/2019, pág. 12/67
6/35 faixas de alteração de dados de deslocamento dos dados de transação compreende:
[029] percorrer uma ordem temporal correspondente aos carimbos de data e hora de acordo com os carimbos de data e hora dos dados de transação.
[030] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação compreende:
[031] determinar um subconjunto de nível I aos qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; e
[032] determinar um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de transação, e usar o subconjunto de nível II como um dos subconjuntos de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
[033] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação compreendem:
[034] de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação em um mesmo subconjunto de nível I, e dividir dados de transação de tipos diferentes de transação em subconjuntos de nível I diferentes.
[035] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, a determinação de um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de
Petição 870190083900, de 27/08/2019, pág. 13/67
7/35 transação compreende:
[036] de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo subconjunto de nível II, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes.
[037] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo subconjunto de nível II, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes compreende:
[038] percorrer faixas de alteração de dados de dados de transação em um primeiro subconjunto de nível I;
[039] se a faixa de alteração de dados de uma segunda parte de dados de transação sobrepor a faixa de alteração de dados de um primeiro subconjunto de nível II, adicionar a segunda parte de dados de transação ao primeiro subconjunto de nível II; e
[040]se a faixa de alteração de dados da segunda parte de dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de nível II, criar um segundo subconjunto de nível II que compreende os segundos dados de transação;
[041] em que o primeiro subconjunto de nível I é qualquer subconjunto de nível I nos subconjuntos de nível I, a segunda parte de dados de transação é qualquer parte dos dados de transação no primeiro subconjunto de nível I, o primeiro subconjunto de nível II é qualquer subconjunto de nível II no primeiro subconjunto de
Petição 870190083900, de 27/08/2019, pág. 14/67
8/35 nível I e o segundo subconjunto de nível II é diferente do primeiro subconjunto de nível II.
[042] De preferência, no método para gravar dados de transação em uma cadeia de blocos fornecido pelas modalidades do presente pedido, uma pluralidade de partes de dados de transação a ser executada é obtida para formar um conjunto de transações a ser executado compreendendo os dados de transação, e o conjunto de transações é determinado uma quantidade de processamento de dados predefinida e/ou tempo de dados de transação predefinido.
[043] De acordo com um segundo aspecto, as modalidades do presente pedido fornecem adicionalmente um outro método para gravar dados de transação em uma cadeia de blocos que compreende:
[044]obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
[045] determinar os primeiros dados de transação sem uma relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os primeiros dados de transação; e
[046] executar os primeiros dados de transação em paralelo, e gravar um resultado de execução na cadeia de blocos.
[047] De preferência, no método para gravar dados de transação em uma cadeia de blocos descrito acima, a determinação dos primeiros dados de transação sem uma relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação compreende:
[048] de acordo com as faixas de alteração de dados dos dados de transação, determinar dados de transação com uma faixa de alteração de dados que não se sobrepõem uma outra faixa de alteração de dados de qualquer outra parte de dados de transação como os primeiros dados de transação não têm relação de
Petição 870190083900, de 27/08/2019, pág. 15/67
9/35 dependência de transação.
[049] De acordo com um terceiro aspecto, as modalidades do presente pedido adicionalmente fornecem um aparelho para gravar dados de transação em uma cadeia de blocos que compreende:
[050] um módulo de obtenção configurado para obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
[051] um módulo de determinação de subconjunto de transações configurado para determinar um subconjunto de transações ao qual os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e
[052] um módulo de execução de dados configurado para executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
[053] De acordo com um quarto aspecto, as modalidades do presente pedido fornecem adicionalmente um método para determinar um subconjunto de transações de dados de transação de cadeia de blocos, compreendendo, após uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos ser obtida, determinar subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação para executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes.
[054] De preferência, no método para determinar um subconjunto de transações fornecido pelas modalidades do presente pedido, a determinação de
Petição 870190083900, de 27/08/2019, pág. 16/67
10/35 subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação compreende:
[055] determinar os subconjuntos de transações aos quais os dados de transação pertencem de acordo com os atributos de dados dos dados de transação, em que um atributo de dados tem uma relação correspondente ao tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir uma relação de dependência de transação dos dados de transação.
[056] De preferência, no método para determinar um subconjunto de transações fornecido pelas modalidades do presente pedido, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação dos dados de transação compreende:
[057] de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação em um mesmo conjunto de transações, e dividir dados de transação de tipos diferentes de transação em subconjuntos de transações diferentes; ou
[058] a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação compreende:
[059] de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo conjunto de transações, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes.
[060] De preferência, no método para determinar um subconjunto de transações fornecidos pelas modalidades do presente pedido, a determinação de
Petição 870190083900, de 27/08/2019, pág. 17/67
11/35 subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação compreende:
[061] determinar um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; e
[062] determinar um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de transação, e usar o subconjunto de nível II como um dos subconjuntos de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
[063] A pelo menos solução técnica descrita acima empregada pelas modalidades do presente pedido pode alcançar os efeitos vantajosos a seguir:
[064] Nas modalidades do presente pedido, após os dados de transação a serem gravados em uma cadeia de blocos serem obtidos, se há uma relação de dependência de transação entre os dados de transação pode ser determinado de acordo com os tipos de transação ou a faixa de alteração de dados dos dados de transação e, então, os dados de transação podem ser divididos em subconjuntos de transações diferentes de acordo com a situação de dependência de transação entre os dados de transação. Uma vez que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes, os subconjuntos de transações diferentes podem ser executados em paralelo sem afetar a consistência no estado de base de dados. De acordo com as soluções fornecidas pelas modalidades do presente pedido, executar dados de transação sem uma relação de dependência de transação em paralelo não apenas garante a consistência no estado de base de dados, mas aprimora também a eficiência de execução de processamento de dados sem depender de aprimoramentos do desempenho de máquinas individuais. Portanto, os requisitos de desempenho para
Petição 870190083900, de 27/08/2019, pág. 18/67
12/35 máquinas individuais podem ser diminuídos, o que favorece uma economia de custo e leva a uma melhor expansibilidade.
BREVE DESCRIÇÃO DOS DESENHOS
[065] Os desenhos anexos a serem descritos no documento são usados para fornecer um melhor entendimento do presente pedido e constituem partes do presente pedido. As modalidades exemplificativas do presente pedido e a descrição das modalidades exemplificativas são usadas para descrever o presente pedido e não constituem limitações impróprias ao presente pedido. Nos desenhos anexos:
[066] A Figura 1 é um fluxograma de um método para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido;
[067] A Figura 2 é um fluxograma de um segundo método para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido;
[068] A Figura 3 é um fluxograma de um terceiro método para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido;
[069] A Figura 4 é um diagrama esquemático de um cenário de aplicação exemplificative do método para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido;
[070] A Figura 5 é um diagrama estrutural esquemático de um aparelho para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido.
DESCRIÇÃO DETALHADA
[071] Para tornar mais claros os objetivos, as soluções técnicas e as vantagens do presente pedido, as soluções técnicas do presente pedido serão descritas clara e completamente abaixo com referência às modalidades e aos
Petição 870190083900, de 27/08/2019, pág. 19/67
13/35 desenhos anexos do presente pedido. É óbvio que as modalidades descritas são meramente 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 elemento de habilidade comum na técnica sem esforço criativo devem estar dentro do escopo do presente pedido.
[072] As soluções técnicas fornecidas nas modalidades do presente pedido serão descritas em detalhe abaixo com referência aos desenhos anexos.
MODALIDADE 1
[073] A Figura 1 ilustra um método para gravar dados de transação em uma cadeia de blocos de acordo com algumas modalidades do presente pedido que compreende:
[074] S101: obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
[075] S102: determinar subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e
[076] S103: executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
[077] Na modalidade descrita acima, após a etapa S101 ser executada para obter dados de transação a serem gravados em uma cadeia de blocos, se há uma relação de dependência de transação entre os dados de transação pode ser determinado de acordo com os tipos de transação ou faixa de alteração de dados dos dados de transação e, então, os dados de transação podem ser divididos em subconjuntos de transações diferentes de acordo com a situação de dependência de transação entre os dados de transação. Uma vez que não há relação de
Petição 870190083900, de 27/08/2019, pág. 20/67
14/35 dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes, os subconjuntos de transações diferentes podem ser executados em paralelo sem afetar a consistência no estado de base de dados. De acordo com as soluções fornecidas pelas modalidades do presente pedido, a maneira na qual os dados de transação em um subconjunto de transações são executados em paralelo pode aprimorar a eficiência de execução de processamento de dados sem depender de aprimoramentos do desempenho de máquinas individuais. Portanto, os requisitos de desempenho para máquinas individuais podem ser diminuídos, o que favorece uma economia de custo e leva a uma melhor expansibilidade.
[078] Após uma pluralidade de partes de dados de transação ser obtida após a etapa S101 ser executada na presente modalidade, um conjunto de transações a ser executado compreendendo os dados de transação a serem executados pode ser formado, e o conjunto de transações pode ser determinado por uma quantidade de processamento de dados predefinida e/ou tempo de dados de transação predefinido. Em um exemplo, dados de transação a serem executados no mesmo lote podem ser determinados pela pré-definição de uma quantidade de processamento de dados, e um valor exemplificative da quantidade de processamento de dados predefinida pode ser determinado de acordo com uma quantidade de dados permitida a ser gravada em uma cadeia de blocos. Por exemplo, uma quantidade de dados de transação permitida a ser gravada em uma cadeia de blocos é 1.000 e, então, a quantidade de processamento de dados predefinida pode ser definida para ser menos que 1.000, por exemplo, 800, com a finalidade de atender ao requisito. Em uma implementação exemplificativa, toda vez que um servidor recebe 800 partes de dados de transação, o servidor pode formar um conjunto de transações a ser executado para processamento posterior. Quando o conjunto de transações a ser executado é determinado, dados de transação a serem executados no mesmo lote
Petição 870190083900, de 27/08/2019, pág. 21/67
15/35 podem ser determinados pela pré-definição de dados de transação time. Por exemplo, o tempo de dados de transação predefinido é definido para ser 1 s e, então, os dados de transação a serem executados no mesmo lote são dados de transação gerados em paralelo dentro de 1 s.
[079] Quando a etapa S103 é executada, uma vez que os dados de transação foram divididos em uma pluralidade de subconjuntos de transações sem uma relação de dependência de transação, os subconjuntos de transações podem ser executados em paralelo com o uso de linha de execução múltipla ou um agrupamento de máquinas, que não apenas atende o requisito para consistência no estado de base de dados, mas alcança também o objetivo de aprimoramento dos eficiência de execução de dados. Dessa maneira, a eficiência de execução de dados pode ser aprimorada sem depender de aprimoramentos do desempenho de máquinas individuais. Portanto, os requisitos de desempenho para máquinas individuais podem ser diminuídos, o que favorece uma economia de custo e leva a uma melhor expansibilidade pelo uso da maneira de agrupamento de máquinas.
[080] Em um outro exemplo, quando os subconjuntos de transações que compreendem os dados de transação são executados, não há relação de dependência de transação entre os dados de transação divididos em subconjuntos de transações diferentes, enquanto há uma relação de dependência de transação entre os dados de transação inseridos no mesmo conjunto de transações. Portanto, subconjuntos de transações diferentes podem ser executados em paralelo para aprimorar a eficiência de execução de dados, enquanto dados de transação no mesmo conjunto de transações podem ser executados em série para garantir a consistência no estado de base de dados. Em um exemplo, há uma relação correspondente entre os dados de transação e os carimbos de data e hora e, então, quando um subconjunto de transações é executado, os dados de transação compreendidos no subconjunto de transações são executados em série de acordo
Petição 870190083900, de 27/08/2019, pág. 22/67
16/35 com uma ordem temporal correspondente aos carimbos de data e hora. Adicionalmente, a execução de cada parte de dados de transação é realizada em uma ordem de verificação de transação, implementação de transação e inclusão de dados na cadeia para gravar finalmente um resultado de execução na cadeia de blocos.
[081] Quando a etapa S102 é executada, os subconjuntos de transações podem ser determinados em uma variedade de maneiras diferentes, desde que os dados de transação com uma relação de dependência de transação sejam separados dos dados de transação sem uma relação de dependência de transação. Em um exemplo, um subconjunto de transações ao qual os dados de transação pertencem pode ser determinado de acordo com um atributo de dados dos dados de transação, em que o atributo de dados tem uma relação correspondente a um tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir uma relação de dependência de transação dos dados de transação. Então, os dados de transação com uma relação de dependência de transação podem ser inseridos no mesmo conjunto de transações, e os dados de transação sem uma relação de dependência de transação podem ser divididos em subconjuntos de transações diferentes de acordo com o atributos de dados extraído dos dados de transação, alcançando, por meio disso, a execução em paralelo de subconjuntos de transações diferentes. Em um exemplo adicional, um atributo de dados pode ser incorporado sob forma de um campo de identificador compreendido nos dados de transação ou pode ser incorporado sob forma de informações características carregadas pelos dados de transação. Se um campo de identificador designado for compreendido pode ser determinado, ou informações características dos dados de transação podem ser extraídas e, então, se as informações características atenderem a uma presente condição podem ser determinadas, determinando, por meio disso, uma relação de dependência de transação dos dados
Petição 870190083900, de 27/08/2019, pág. 23/67
17/35 de transação de acordo com o atributo de dados.
[082] A relação de dependência de transação entre os dados de transações apresentada nas modalidades do presente pedido pode ser incorporada por associação de transação que está presente quando dados de transação diferentes são executados, por exemplo, a associação em aspectos, como ordem temporal, objeto de transação ou resultado de execução. Por exemplo, se uma execução de dados de transação com um tempo de execução posterior é dependente do resultado de execução de dados de transação com um tempo de execução anterior, ou se execuções de dados de transação diferentes impactarem o mesmo estado de dados, então, considera-se que essas duas partes de dados de transação têm uma relação de dependência de transação. Por outro lado, pode ser considerado que essas duas partes de dados de transação não têm uma relação de dependência de transação.
[083] Um processo de determinação de um subconjunto de transações será descrito em detalhe ao longo dos exemplos.
[084] (I) Determinação de um subconjunto de transações de acordo com os tipos de transação dos dados de transação
[085] Nas modalidades do presente pedido, um subconjunto de transações pode ser determinado de acordo com os tipos de transação dos dados de transação. Em um exemplo, dados de transação do mesmo tipo de transação são inseridos no mesmo conjunto de transações e dados de transação de tipos diferentes de transação são divididos em subconjuntos de transações diferentes. Uma vez que não há relação de dependência de transação entre os dados de transação de tipos diferentes de transação, o resultado de execução de dados não será afetado independentemente de uma ordem na qual os dados de transação de tipos diferentes de transação são executados. A determinação de se os dados de transação pertencem ao mesmo conjunto de transações de acordo com os tipos de
Petição 870190083900, de 27/08/2019, pág. 24/67
18/35 transação dos dados de transação pode garantir que não haja relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes, atendendo, por meio disso, a necessidade por processamento em paralelo de dados de transação em subconjuntos de transações diferentes e favorecendo o aprimoramento da eficiência de execução de processamento de dados.
[086] Por exemplo, após uma transação do tipo contrato (que pode ser chamada também de uma transação) ser executada, apenas os dados contratuais correspondentes são alterados, enquanto após uma transação do tipo transferência (que pode ser chamada também de uma transação) ser executada, os dados de saldo de conta de ambas as partes da transferência são alterados. Pode ser visto que a ordem na qual esses dois tipos de transações são executados não têm um impacto sobre o resultado de execução. Portanto, a divisão de dois tipos diferentes de transações em subconjuntos de transações diferentes pode garantir que os dados de transação pertencentes a subconjuntos de transações diferentes não tenham uma relação de dependência de transação e, assim, os subconjuntos de transações podem ser processados em paralelo sem afetar a consistência no estado de base de dados.
[087] (II) Determinação de um subconjunto de transações de acordo com as faixas de alteração de dados dos dados de transação
[088] A faixa de alteração de dados no presente pedido se refere a um objetivo para execução de dados de transação. Nas modalidades do presente pedido, de acordo com as faixas de alteração de dados dos dados de transação, dados de transação que têm faixas de alteração de dados que se sobrepõem podem ser inseridos no mesmo conjunto de transações e dados de transação que têm faixas de alteração de dados que não se sobrepõem podem ser divididos em subconjuntos de transações diferentes. Quando um subconjunto de transações é
Petição 870190083900, de 27/08/2019, pág. 25/67
19/35 determinado de acordo com as faixas de alteração de dados dos dados de transação partes diferentes de dados de transação precisam ser executadas em uma ordem na qual essas partes de dados de transação são geradas, se as faixas de dados afetadas pela execução dessas partes de dados de transação se sobreporem, de outro modo, o resultado de execução de dados será afetado. Por outro lado, se as faixas de dados ranges afetadas pela execução de partes diferentes de dados de transação não se sobreporem, uma ordem de execução dessas partes de dados de transação não afetará o resultado de processamento de dados. Portanto, a determinação de um subconjunto de transações de acordo com as faixas de alteração de dados dos dados de transação pode atender à necessidade por processamento em paralelo de subconjuntos de transações diferentes, favorecendo, por meio disso, o aprimoramento da eficiência de execução de processamento de dados.
[089] Em um exemplo, a inserção de dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo conjunto de transações e a divisão de dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes podem compreender:
[090] percorrer faixas de alteração de dados dos dados de transação;
[091] se a faixa de alteração de dados de primeiros dados de transação sobrepor a faixa de alteração de dados de um primeiro subconjunto de transações, adicionar os primeiros dados de transação ao primeiro subconjunto de transações; e
[092] se a faixa de alteração de dados dos primeiros dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de transações, criar um segundo subconjunto de transações que compreende os primeiros dados de transação;
[093] em que os primeiros dados de transação são qualquer parte de dados de transação, o primeiro subconjunto de transações é qualquer subconjunto de
Petição 870190083900, de 27/08/2019, pág. 26/67
20/35 transações nos subconjuntos de transações e o segundo subconjunto de transações é diferente do primeiro subconjunto de transações.
[094] O processo descrito acima será descrito abaixo com referência ao fluxograma mostrado na Figura 2.
[095] S1021: determinar se todas as partes de dados de transação no conjunto de transações foram percorridas, o processo termina se sim, de outro modo, o processo prossegue para executar a etapa S1022;
[096] S1022: obter qualquer parte de dados de transação TX a partir do conjunto de transações; deve ser observado que os dados de transação TX podem ser extraídos e gerados tipicamente a partir de dados de transação que não foram inseridos em um subconjunto de transações; entretanto, se os dados de transação TX extraídos já tiverem sido inseridos em um subconjunto de transações, os dados de transação TX serão inseridos no mesmo conjunto de transações após etapas posteriores serem executadas sem afetar o alcance do objetivo da técnica;
[097] S1023: computar uma faixa de alteração de dados dos dados de transação TX;
[098] S1024: determinar se a faixa de alteração de dados dos dados de transação TX sobrepor a faixa de alteração de dados de um subconjunto de transações TXB existente;
[099] S1025: se um resultado de determinação na etapa S1024 for sim, adicionar os dados de transação TX ao subconjunto de transações TXB;
[0100] S1026: se o resultado de determinação na etapa S1024 for não, criar um novo subconjunto de transações TXN, e adicionar os dados de transação TX ao subconjunto de transações TXN.
[0101] Deve ser observado que a faixa de alteração de dados de um subconjunto de transações precisa ser recalculada quando os dados de transação compreendidos no subconjunto de transações se alteram, e uma união de faixas de
Petição 870190083900, de 27/08/2019, pág. 27/67
21/35 alteração de dados de dados de transação compreendidos no subconjunto de transações pode ser usada como a faixa de alteração de dados do subconjunto de transações.
[0102] Por exemplo, o objeto de execução de uma transação do tipo contrato é um ID de contrato, e os dados contratuais correspondentes ao ID de contrato serão alterados após a execução. Então, o ID de contrato pode ser interpretado como a faixa de alteração de dados dos dados de transação. Se duas partes de dados de transação forem executadas para o mesmo ID de contrato, pode ser considerado que as faixas de alteração de dados dessas duas partes de dados de transação se sobrepõem e, então, essas duas partes de dados de transação devem ser incluídas no mesmo conjunto de transações e executadas em uma ordem determinada de acordo com os carimbos de data e hora correspondentes aos dados de transação. Se duas partes de dados de transação forem executadas para IDs de contrato diferentes, pode ser considerado que as faixas de alteração de dados dessas duas partes de dados de transação não se sobrepõem, e os dados contratuais correspondentes aos IDs de contrato diferentes serão alterados quando essas duas partes de dados de transação forem executadas. Portanto, a ordem de execução does não tem impacto sobre o resultado de execução. Essas duas partes de dados de transação podem ser incluídas em subconjuntos de transações diferentes e executadas em paralelo.
[0103] In um outro exemplo, os objetos de execução de uma transação do tipo transferência são contas de ambas as partes da transferência, e após a transação do tipo transferência ser executada, os dados de saldo de conta de ambas as partes da transferência serão alterados. Portanto, as contas de ambas as partes da transferência podem ser interpretadas como a faixa de alteração de dados dos dados de transação do tipo transferência. Considera-se que o conjunto de transações compreende as cinco partes de dados de transação a seguir:
Petição 870190083900, de 27/08/2019, pág. 28/67
22/35
[0104] dados de transação 1: transferir da conta A para a conta B, então, a faixa de alteração de dados dos dados de transação 1 pode ser expressada como (A, B);
[0105] dados de transação 2: transferir da conta B para a conta A, então, a faixa de alteração de dados dos dados de transação 2 pode ser expressada como (B, A);
[0106] dados de transação 3: transferir da conta C para a conta E, então, a faixa de alteração de dados dos dados de transação 3 pode ser expressada como (C, E);
[0107] dados de transação 4: transferir da conta F para a X, então, a faixa de alteração de dados dos dados de transação 4 pode ser expressada como (F, X);
[0108] dados de transação 5: transferir da conta X para a conta E, então, a faixa de alteração de dados dos dados de transação 5 pode ser expressada como (X, E).
[0109] Pode ser visto que as faixas de alteração de dados dos dados de transação 1 e dos dados de transação 2 se sobrepõem, as faixas de alteração de dados dos dados de transação 3 e dos dados de transação 5 se sobrepõem e as faixas de alteração de dados dos dados de transação 4 e dos dados de transação 5 se sobrepõem. Portanto, o conjunto de transações que compreende os dados de transação 1 aos dados de transação 5 podem ser divididos em subconjuntos de transações a seguir:
[0110] subconjunto de transações 1: compreendendo os dados de transação 1 e os dados de transação 2, e a faixa de alteração de dados sendo (A, B); e
[0111] subconjunto de transações 2: compreendendo os dados de transação 3, os dados de transação 4 e os dados de transação 5, e a faixa de alteração de dados sendo (C, E, F, X).
[0112] Pode ser visto que as faixas de alteração de dados do subconjunto de
Petição 870190083900, de 27/08/2019, pág. 29/67
23/35 transações 1 e do subconjunto de transações 2 não se sobrepõem, e uma execução em paralelo do subconjunto de transações 1 e do subconjunto de transações 2 não afetará um resultado de execução. Portanto, o subconjunto de transações 1 e o subconjunto de transações 2 podem ser executados em paralelo para aprimorar a eficiência de execução. Para o subconjunto de transações 1, as faixas de alteração de dados dos dados de transação 1 e dos dados de transação 2 se sobrepõem (que são até mesmo completamente idênticas), e a execução dessas duas partes de dados de transação pode depender de dados de transação antes da execução dessas duas partes de dados de transação. Portanto, uma ordem de execução precisa ser determinada de acordo com os carimbos de data e hora correspondentes a essas duas partes de dados de transação, e essas duas partes de dados de transação serão executadas em série na ordem temporal. É o mesmo para o subconjunto de transações 2. Por exemplo, pode ser determinado de acordo com os carimbos de data e hora que os dados de transação 4 de transferência da conta F para a conta X sejam executados primeiramente e, então, os dados de transação 5 de transferência da conta X para a conta E é executado. Essa ordem de execução pode nem ser em paralelo nem invertida, uma vez que é possível o fundo exigido pela transferência da conta X para a conta E quando os dados de transação 5 são executados dependa da execução dos dados de transação 4 de transferência da conta F para a conta X.
[0113] Deve ser observado que as faixas de alteração de dados de deslocamento dos dados de transação no conjunto de transações podem ser implementadas da maneira da S1022: obter qualquer parte de dados de transação conforme mostrado no exemplo na Figura 2. Alternativamente, o deslocamento pode ser implementado de acordo com a ordem temporal de geração dos dados de transação no conjunto de transações de acordo com os carimbos de data e hora dos dados de transação.
Petição 870190083900, de 27/08/2019, pág. 30/67
24/35
[0114] (III) Determinação de um subconjunto de transações de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação
[0115] Nas modalidades do presente pedido, o tipo de transação e a faixa de alteração de dados podem ser combinados para determinar um subconjunto de transações em fases e níveis. Em uma implementação exemplificativa, a divisão pode ser realizada primeiramente de acordo com as faixas de alteração de dados com base nas quais uma segunda divisão pode ser realizada de acordo com os tipos de transação, ou uma ordem invertida pode ser seguida. Adotando a primeira divisão de acordo com os tipos de transação e, então a segunda divisão de acordo com as faixas de alteração de dados como um exemplo, o processo de implementação de determinação de um subconjunto de transações de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação pode compreender:
[0116] Etapa S1027: determinar um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; então determinar um subconjunto de nível II ao qual os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, e usar o subconjunto de nível II como o subconjunto de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
[0117] No documento, a realização de uma primeira divisão de nível no conjunto de transações de acordo com o tipo de transação e a determinação de um subconjunto de nível I ao qual os dados de transação pertencem podem compreender adicionalmente:
[0118] de acordo com os tipos de transação dos dados de transação no conjunto de transações, inserir dados de transação do mesmo tipo de transação no mesmo subconjunto de nível I, e dividir dados de transação de tipos diferentes de
Petição 870190083900, de 27/08/2019, pág. 31/67
25/35 transação em subconjuntos de nível I diferentes.
[0119] Uma vez que há um número muito limitado de tipos de transação de dados de transação, a determinação de subconjuntos de transações que pode ser executada apenas em paralelo de acordo com os tipos de transação pode aprimorar a eficiência de execução para um grau, mas pode não alcançar um efeito satisfatório em casos em que uma grande quantidade como uma alta quantidade de dados de transação concorrentes é gerada. Portanto, com base na divisão descrita acima, os subconjuntos de nível I determinados de acordo com os tipos de transação são submetidos à segunda divisão de nível de acordo com as faixas de alteração de dados, e os subconjuntos de nível II obtidos através da segunda divisão de nível são usados como subconjuntos de transações para processamento em paralelo com a finalidade de aprimorar adicionalmente a eficiência de execução.
[0120] Em um exemplo, a determinação de um subconjunto de nível II ao qual os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I compreende:
[0121] de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo subconjunto de nível II, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes.
[0122] Adicionalmente, de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, a inserção de dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo subconjunto de nível II e divisão de dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes podem compreender conforme mostrado na Figura 3:
[0123] S1028: percorrer faixas de alteração de dados de dados de transação
Petição 870190083900, de 27/08/2019, pág. 32/67
26/35 em um primeiro subconjunto de nível I;
[0124]S1029: determinar se a faixa de alteração de dados de segundos dados de transação sobrepõe a faixa de alteração de dados de um primeiro subconjunto de nível II;
[0125] S1030: se a faixa de alteração de dados dos segundos dados de transação sobrepor a faixa de alteração de dados do primeiro subconjunto de nível II, adicionar os segundos dados de transação ao primeiro subconjunto de nível II; e
[0126] S1031: se a faixa de alteração de dados dos segundos dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de nível II, criar um segundo subconjunto de nível II que compreende os segundos dados de transação;
[0127] em que o primeiro subconjunto de nível I é qualquer subconjunto de nível I nos subconjuntos de nível I, os segundos dados de transação é qualquer parte de dados de transação no primeiro subconjunto de nível I, o primeiro subconjunto de nível II é qualquer subconjunto de nível II no primeiro subconjunto de nível I e o segundo subconjunto de nível II é diferente do primeiro subconjunto de nível II.
[0128] O processo de divisão de subconjuntos de nível II dos subconjuntos de nível I é similar ao processo e ao princípio de divisão de subconjuntos de transações de um conjunto de transações conforme descrito no n° (II), que não será elaborado aqui.
[0129] Após o processo de implementação descrito acima ser usado para divisão de subconjuntos de transações, os subconjuntos de transações podem ser executados em paralelo para concluir o processo de execução de dados de transação de cadeia de blocos para gravar o resultado de execução na cadeia de blocos. Conforme mostrado na Figura 4, um módulo de disposição de dados de transação é configurado para alcançar a divisão de subconjuntos de transações. Um
Petição 870190083900, de 27/08/2019, pág. 33/67
27/35 agrupamento de execução de dados de transação executa dados de transação em subconjuntos de transações diferentes em paralelo, executa dados de transação contidos em um subconjunto de transações em série de acordo com os carimbos de data e hora correspondentes aos dados de transação e, então, grava o resultado de execução na cadeia de blocos, garantindo, por meio disso, a consistência no estado de base de dados de cadeia de blocos, reduz o custo exigido para aprimorar a eficiência de execução e processamento de dados, e aprimora a expansibilidade. Quando o resultado de execução é gravado em um bloco da cadeia de blocos, os resultados de execução de dados de transação pelo agrupamento de execução de dados de transação podem ser compactados e, então, gravados na cadeia de blocos. Em um exemplo, um computador designado no agrupamento pode concluir a compactação de resultados de execução.
[0130] Nas tecnologias atuais, adota-se uma aplicação de Ethereum como um exemplo, os dados de transação são classificados de acordo com os carimbos de data e hora recebidos dos dados de transação quando os dados de transação são executados e, então, a execução é realizada em série na ordem temporal para atualizar as informações de conta após cada parte de dados de transação ser executada. Nas modalidades do presente pedido, após os dados de transação a serem gravados em uma cadeia de blocos (isto é, os dados de transação recebidos pela cadeia de blocos) serem obtidos, os dados de transação são classificados primeiramente de acordo com os tipos de transação e/ou faixas de alteração de dados para formar subconjuntos de transações, fazendo com que dados de transação sem uma relação de dependência de transação sejam divididos em subconjuntos de transações diferentes e dados de transação com uma relação de dependência de transação sejam inseridos no mesmo conjunto de transações. A divisão de dados de transação e a determinação de subconjuntos de transações podem ser implementadas pelo módulo de disposição de dados de transação
Petição 870190083900, de 27/08/2019, pág. 34/67
28/35 mostrado na Figura 4. Após o módulo de disposição de dados de transação concluir a divisão de dados de transação, o módulo de disposição de dados de transação pode distribuir os subconjuntos de transações para computadores no agrupamento de execução de dados de transação para processamento de dados. Cada computador no agrupamento de execução de dados de transação executa apenas dados de transação em um subconjunto de transações alocado, segue o processo de verificação, implementação e registro em uma cadeia de blocos para gravar um resultado de execução na cadeia de blocos. Em uma implementação exemplificativa, o módulo de disposição de dados de transação e o agrupamento de execução de dados de transação podem também ser interpretados conjuntamente como um agrupamento de execução de transação para implementar funções de recepção, classificação, distribuição e execução de dados de transação, compactar resultados de execução de dados de transação e gravar os resultados de execução compactados na cadeia de blocos.
MODALIDADE 2
[0131] As modalidades do presente pedido adicionalmente fornecem um outro método para gravar dados de transação em uma cadeia de blocos que compreende:
[0132] obter uma pluralidade de partes de dados de transação a ser executada;
[0133] determinar primeiros dados de transação sem uma relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os primeiros dados de transação; e
[0134] executar os primeiros dados de transação em paralelo, e gravar um resultado de execução na cadeia de blocos.
[0135] Em um exemplo, quando os primeiros dados de transação são
Petição 870190083900, de 27/08/2019, pág. 35/67
29/35 determinados, dados de transação com uma faixa de alteração de dados que não sobrepõem uma outra faixa de alteração de dados de qualquer outra parte de dados de transação podem ser determinados como os primeiros dados de transação que não têm relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação.
[0136] Considera-se que a pluralidade de partes de dados de transação
obtida seja conforme a seguir: | |||
n° de Dados | Tipo de transação | Faixa de alteração de dados | Observações |
1 | Contrato | IDA | A execução alterará dados de ID A |
2 | Contrato | IDA | A execução alterará dados de ID A |
3 | Contrato | ID B | A execução alterará dados de ID B |
4 | Contrato | ID C | A execução alterará dados de ID C |
5 | Transferência | Conta X, Conta Y | A execução alterará dados de Conta X e da Conta Y |
6 | Transferência | Conta Z, Conta D | A execução alterará dados de Conta Z e da Conta D |
7 | Transferência | Conta X, Conta M | A execução alterará dados de Conta X e da Conta M |
8 | Transferência | Conta N, Conta L | A execução alterará dados de Conta N e da Conta L |
[0137] De acordo com as faixas de alteração de dados dos dados de transação, pode ser visto que as faixas de alteração de dados dos dados de transação 3, 4, 6 e 8 não sobrepõem a faixa de alteração de dados de quaisquer outros dados de transação. Portanto, a ordem de execução dessas partes de dados de transação não afeta a consistência no estado de base de dados. Como um resultado, a execução em paralelo dessas partes de dados de transação favorece o aprimoramento da eficiência de execução de processamento de dados, reduzindo, por meio disso, o custo exigido para aprimorar a eficiência de execução de processamento de dados e aprimorar a expansibilidade.
MODALIDADE 3
[0138] Conforme mostrado na Figura 5, um aparelho para gravar dados de
Petição 870190083900, de 27/08/2019, pág. 36/67
30/35 transação em uma cadeia de blocos de acordo com o presente pedido pode compreender:
[0139] um módulo de obtenção 101 configurado para obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
[0140] um módulo de determinação de subconjunto de transações 102 configurado para determinar um subconjunto de transações ao qual os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e
[0141] um módulo de execução de dados 103 configurado para executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
[0142] A presente modalidade consiste em um aparelho correspondente ao método para gravar dados de transação em uma cadeia de blocos na modalidade 1. Todas as descrições da modalidade 1 são aplicáveis à presente modalidade, que não será elaborada aqui.
MODALIDADE 4
[0143] O presente pedido fornece adicionalmente um método para determinar um subconjunto de transações de dados de transação de cadeia de blocos. Os dados de transação podem ser divididos razoavelmente com o uso desse método, fazendo com que dados de transação sem uma relação de dependência de transação sejam executados em paralelo, reduzindo, por meio disso, o custo exigido para aprimorar a eficiência de execução de processamento de dados e aprimorar a expansibilidade. O método compreende:
[0144] após uma pluralidade de partes de dados de transação a ser executada ser obtida, os subconjuntos de transações aos quais dos dados de
Petição 870190083900, de 27/08/2019, pág. 37/67
31/35 transação pertencem são determinados de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação para executar os subconjuntos de transações em paralelo, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes.
[0145] Em um exemplo, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação pode compreender:
[0146] determinar os subconjuntos de transações aos quais os dados de transação pertencem de acordo com os atributos de dados dos dados de transação, em que um atributo de dados tem uma relação correspondente a um tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir uma relação de dependência de transação dos dados de transação.
[0147] Adicionalmente, a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação dos dados de transação pode compreender: de acordo com os tipos de transação dos dados de transação, inserir dados de transação do mesmo tipo de transação no mesmo conjunto de transações, e dividir dados de transação de tipos diferentes de transação em subconjuntos de transações diferentes.
[0148] A determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação pode compreender: de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo conjunto de transações, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes.
[0149] A determinação de subconjuntos de transações aos quais os dados
Petição 870190083900, de 27/08/2019, pág. 38/67
32/35 de transação pertencem de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação podem compreender adicionalmente:
[0150] determinar um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; e
[0151] determinar um subconjunto de nível II ao qual os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, e usar o subconjunto de nível II como o subconjunto de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
[0152] A implementação detalhada da presente modalidade corresponde à etapa S102 na Modalidade 1, e todas as descrições relevantes da Modalidade 1 são aplicáveis à presente modalidade, que não será elaborada aqui.
[0153] Um elemento de habilidade comum na técnica deve entender que as modalidades da presente invenção podem ser fornecidas, como um método, um sistema ou 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 sob forma de um produto de programa de computador implementado em um ou mais meios de armazenamento úteis para computador (incluindo, mas não limitados a uma memória de disco magnético, CDROM, uma memória ótica, etc.) compreendendo códigos de programa úteis de computador.
[0154] A presente invenção é descrita com referência a fluxogramas e/ou diagramas de bloco 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
Petição 870190083900, de 27/08/2019, pág. 39/67
33/35 uma combinação de processos e/ou blocos nos fluxogramas e/ou diagramas de bloco. Essas instruções de programa de computador podem ser fornecidas para um computador de propósito geral, um computador de propósito especial, um processador embutido, ou um processador de outros dispositivos de processamento de dados programáveis para gerar uma máquina, causando as instruções executadas por um computador ou um processador de outros dispositivos de processamento de dados programáveis para gerar 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.
[0155] Essas instruções de programa de computador podem armazenar também em uma memória legível por computador que pode instruir um computador ou outros dispositivos de processamento de dados programáveis a funcionar de uma maneira particular, fazendo com que as instruções armazenadas na memória legível por computador gerem um artigo fabricado que inclui um aparelho de instrução. O aparelho de instrução implementa uma função especificada em um ou mais processes nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[0156] Essas instruções de programa de computador podem ser carregadas também em um computador ou outros dispositivos de processamento de dados programáveis, fazendo com que uma série de etapas operacionais seja realizada no computador ou outros dispositivos programáveis, gerando, por meio disso, 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.
[0157] Em uma configuração típica, o dispositivo de computação inclui um ou mais processadores (CPUs), interfaces de entrada/saída, interfaces de rede e uma memória.
Petição 870190083900, de 27/08/2019, pág. 40/67
34/35
[0158] A memória pode incluir meios legíveis por computador, como uma memória volátil, um 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 flash (RAM flash). A memória é um exemplo de um meio legível por computador.
[0159] Meios legíveis por computador incluem meios permanentes, móveis, voláteis e imóveis, que podem implementar armazenamento de informações através de qualquer método ou tecnologia. As informações podem instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Exemplos de meios de armazenamento de computadores incluem, mas não são limitados, Memórias de Acesso Aleatório de Mudança de Fase (PRAMs), Memórias de Acesso Aleatório Estáticas (SRAMs), Memórias de Acesso Aleatório Dinâmicas (DRAMs), outros tipos de Memórias de Acesso Aleatório (RAMs), Memórias Somente de Leitura (ROMs), Memórias Somente de Leitura Programáveis Eletricamente Apagáveis (EEPROMs), memórias flash ou outras tecnologias de memória, Memórias Somente de Leitura de Disco Compacto (CD-ROMs), Discos Versáteis Digitais (DVDs) ou outras memórias óticas, cassetes, memórias de cassete e disco ou outros dispositivos de memória magnética, ou quaisquer outros meios de não transmissão, que podem ser usados para armazenar informações acessíveis a um dispositivo de computação. De acordo com as definições no relatório descritivo, os meios legíveis por computador não incluem meios transitórios (meios transitórios), como sinais de dados modulados e portadoras.
[0160] Deve ser observado adicionalmente que se pretende que os termos “incluindo”, “compreendendo” ou quaisquer outras variantes dos termos englobem uma inclusão não exclusiva, fazendo com que um processo, um método, uma mercadoria ou um dispositivo que compreende um série de elementos não compreenda apenas esses elementos, mas compreende também outros elementos que não são listados claramente, ou compreende adicionalmente elementos que são
Petição 870190083900, de 27/08/2019, pág. 41/67
35/35 inerentes ao processo, método, mercadoria ou dispositivo. Quando não há adicionalmente restrição, os elementos definidos pela declaração “compreendendo um...” não excluem um processo, método, mercadoria ou dispositivo compreendendo os elementos acima de compreender elementos idênticos adicionais.
[0161] Um elemento de habilidade comum na técnica deve entender 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 sob forma de um produto de programa de computador implementado em um ou mais meios de armazenamento úteis para computador (incluindo, mas não limitados a, uma memória de disco magnético, CD-ROM, uma memória ótica, etc.) que compreende códigos de programa úteis de computador.
[0162] O supracitado descrito são meras modalidades do presente pedido, que não são usadas para limitar o presente pedido. Para um elemento de habilidade comum na técnica, o presente pedido pode ter várias modificações e alterações. Qualquer modificação, substituição equivalente ou aprimoramento feito dentro do espírito e princípio do presente pedido deve ser englobado pelas reivindicações do presente pedido.
Claims (21)
1. Método para gravar dados de transação em uma cadeia de blocos CARACTERIZADO pelo fato de que compreende:
obter (S101) uma pluralidade de partes de dados de transação a ser gravada na cadeia de blocos;
determinar (S102) subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e executar (S103) os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação compreende:
determinar os subconjuntos de transações aos quais os dados de transação pertencem de acordo com os atributos de dados dos dados de transação, em que um atributo de dados tem uma relação correspondente a um tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir uma relação de dependência de transação dos dados de transação.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a execução dos subconjuntos de transações em paralelo compreende:
executar os subconjuntos de transações em paralelo com o uso de linha de execução múltipla ou um agrupamento de máquinas.
Petição 870190083900, de 27/08/2019, pág. 60/67
2/8
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que há uma relação correspondente entre os dados de transação e os carimbos de data e hora, e a execução dos subconjuntos de transações compreende:
executar dados de transação compreendidos nos subconjuntos de transações em série de acordo com uma ordem temporal correspondente aos carimbos de data e hora.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação dos dados de transação compreende:
de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação em um mesmo conjunto de transações, e dividir dados de transação de tipos diferentes de transação em subconjuntos de transações diferentes.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação compreende:
de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo conjunto de transações, e dividir dados de transação que têm faixas de alteração de dados não se sobrepõem em subconjuntos de transações diferentes.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que, de acordo com as faixas de alteração de dados dos dados de transação, a inserção de dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo conjunto de transações e a divisão de dados de
Petição 870190083900, de 27/08/2019, pág. 61/67
3/8 transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes compreendem:
percorrer faixas de alteração de dados dos dados de transação;
se a faixa de alteração de dados de uma primeira parte de dados de transação sobrepor a faixa de alteração de dados de um primeiro subconjunto de transações, adicionar a primeira parte de dados de transação ao primeiro subconjunto de transações; e se a faixa de alteração de dados da primeira parte de dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de transações, criar um segundo subconjunto de transações que compreende a primeira parte de dados de transação;
em que a primeira parte de dados de transação é qualquer uma das partes de dados de transação, o primeiro subconjunto de transações é qualquer um dos subconjuntos de transações e o segundo subconjunto de transações é diferente do primeiro subconjunto de transações.
8. Método, de acordo com a reivindicação 6 ou 7, CARACTERIZADO pelo fato de que a faixa de alteração de dados do subconjunto de transações é determinada para ser uma união de faixas de alteração de dados de dados de transação compreendidos no subconjunto de transações.
9. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que há uma relação correspondente entre os dados de transação e os carimbos de data e hora, e as faixas de alteração de dados de deslocamento dos dados de transação compreende:
percorrer em uma ordem temporal correspondente aos carimbos de data e hora de acordo com os carimbos de data e hora dos dados de transação.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de
Petição 870190083900, de 27/08/2019, pág. 62/67
4/8 transação pertencem de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação compreende:
determinar um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; e determinar um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de transação, e usar o subconjunto de nível II como um dos subconjuntos de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a determinação de um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação compreende:
de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação em um mesmo subconjunto de nível I, e dividir dados de transação de tipos diferentes de transação em subconjuntos de nível I diferentes.
12. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a determinação de um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de transação compreende:
de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo subconjunto de nível II, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes.
Petição 870190083900, de 27/08/2019, pág. 63/67
5/8
13. Método, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que, de acordo com as faixas de alteração de dados dos dados de transação no subconjunto de nível I, a inserção de dados de transação que têm faixas de alteração de dados que se sobrepõem no mesmo subconjunto de nível II e a divisão de dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de nível II diferentes compreende:
percorrer faixas de alteração de dados de dados de transação em um primeiro subconjunto de nível I;
se a faixa de alteração de dados de uma segunda parte de dados de transação sobrepor a faixa de alteração de dados de um primeiro subconjunto de nível II, adicionar a segunda parte de dados de transação ao primeiro subconjunto de nível II; e se a faixa de alteração de dados da segunda parte de dados de transação não sobrepor a faixa de alteração de dados do primeiro subconjunto de nível II, criar um segundo subconjunto de nível II que compreende a segunda parte de dados de transação;
em que o primeiro subconjunto de nível I é qualquer subconjunto de nível I nos subconjuntos de nível I, a segunda parte de dados de transação é qualquer parte dos dados de transação no primeiro subconjunto de nível I, o primeiro subconjunto de nível II é qualquer subconjunto de nível II no primeiro subconjunto de nível I e o segundo subconjunto de nível II é diferente do primeiro subconjunto de nível II.
14. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a pluralidade de partes de dados de transação a ser executada é obtida para formar um conjunto de transações a ser executado que compreende os dados de transação, e o conjunto de transações é determinado por uma quantidade de processamento de dados predefinida e/ou tempo de dados de transação predefinido.
Petição 870190083900, de 27/08/2019, pág. 64/67
6/8
15. Método para gravar dados de transação em uma cadeia de blocos CARACTERIZADO pelo fato de que compreende:
obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
determinar os primeiros dados de transação sem uma relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação, em que não há relação de dependência de transação entre os primeiros dados de transação; e executar os primeiros dados de transação em paralelo, e gravar um resultado de execução na cadeia de blocos.
16. Método, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que a determinação dos primeiros dados de transação sem uma relação de dependência de transação de acordo com as faixas de alteração de dados dos dados de transação compreende:
de acordo com as faixas de alteração de dados dos dados de transação, determinar dados de transação com uma faixa de alteração de dados que não sobrepõe a faixa de alteração de dados de qualquer outra parte de dados de transação como os primeiros dados de transação não têm relação de dependência de transação.
17. Aparelho para gravar dados de transação em uma cadeia de blocos CARACTERIZADO pelo fato de que compreende:
um módulo de obtenção (101) configurado para obter uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos;
um módulo de determinação (102) de subconjunto de transações configurado para determinar um subconjunto de transações ao qual os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação, em que não há relação de dependência de
Petição 870190083900, de 27/08/2019, pág. 65/67
7/8 transação entre os dados de transação pertencentes a subconjuntos de transações diferentes; e um módulo de execução (103) de dados configurado para executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos.
18. Método para determinar um subconjunto de transações de dados de transação de cadeia de blocos CARACTERIZADO pelo fato de que compreende:
após uma pluralidade de partes de dados de transação a ser gravada em uma cadeia de blocos ser obtida, determinar subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação para executar os subconjuntos de transações em paralelo, e gravar um resultado de execução na cadeia de blocos, em que não há relação de dependência de transação entre os dados de transação pertencentes a subconjuntos de transações diferentes.
19. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e/ou faixas de alteração de dados dos dados de transação compreende:
determinar os subconjuntos de transações aos quais os dados de transação pertencem de acordo com os atributos de dados dos dados de transação, em que um atributo de dados tem uma relação correspondente a um tipo de transação e/ou faixa de alteração de dados dos dados de transação, e o atributo de dados é usado para refletir uma relação de dependência de transação dos dados de transação.
20. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação dos dados de transação
Petição 870190083900, de 27/08/2019, pág. 66/67
8/8 compreende: de acordo com os tipos de transação dos dados de transação, inserir dados de transação de um mesmo tipo de transação em um mesmo conjunto de transações, e dividir dados de transação de tipos diferentes de transação em subconjuntos de transações diferentes; ou a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com as faixas de alteração de dados dos dados de transação compreende: de acordo com as faixas de alteração de dados dos dados de transação, inserir dados de transação que têm faixas de alteração de dados que se sobrepõem em um mesmo conjunto de transações, e dividir dados de transação que têm faixas de alteração de dados que não se sobrepõem em subconjuntos de transações diferentes.
21. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que a determinação de subconjuntos de transações aos quais os dados de transação pertencem de acordo com os tipos de transação e faixas de alteração de dados dos dados de transação compreende:
determinar um subconjunto de nível I ao qual os dados de transação pertencem de acordo com os tipos de transação dos dados de transação; e determinar um subconjunto de nível II ao qual os dados de transação no subconjunto de nível I pertencem de acordo com as faixas de alteração de dados dos dados de transação, e o uso do subconjunto de nível II como um dos subconjuntos de transações, em que o subconjunto de nível II é um subconjunto do subconjunto de nível I.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710116539.7A CN106980649B (zh) | 2017-02-28 | 2017-02-28 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN201710116539.7 | 2017-02-28 | ||
PCT/CN2018/077286 WO2018157778A1 (zh) | 2017-02-28 | 2018-02-26 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112019017863A2 true BR112019017863A2 (pt) | 2020-05-12 |
Family
ID=59339366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112019017863-5A BR112019017863A2 (pt) | 2017-02-28 | 2018-02-26 | Método e aparelho para gravar dados de serviço em cadeia de blocos e método para determinar subconjunto de serviços |
Country Status (16)
Country | Link |
---|---|
US (2) | US10642643B2 (pt) |
EP (1) | EP3561700A4 (pt) |
JP (1) | JP6928104B2 (pt) |
KR (1) | KR102103130B1 (pt) |
CN (1) | CN106980649B (pt) |
AU (2) | AU2018228540B2 (pt) |
BR (1) | BR112019017863A2 (pt) |
CA (1) | CA3054813C (pt) |
MX (1) | MX2019009728A (pt) |
MY (1) | MY197445A (pt) |
PH (1) | PH12019501795A1 (pt) |
RU (1) | RU2744585C2 (pt) |
SG (1) | SG11201907212SA (pt) |
TW (1) | TWI660281B (pt) |
WO (1) | WO2018157778A1 (pt) |
ZA (1) | ZA201904916B (pt) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
GB201707296D0 (en) * | 2017-05-08 | 2017-06-21 | Nchain Holdings Ltd | Computer-implemented system and method |
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
CN107729137B (zh) * | 2017-09-04 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN107786642B (zh) * | 2017-09-30 | 2020-04-17 | 上海数据交易中心有限公司 | 用于数据流通的区块链构建方法及装置、存储介质、服务器 |
CN107734021B (zh) * | 2017-09-30 | 2020-04-07 | 深圳壹账通智能科技有限公司 | 区块链数据上传方法、系统、计算机系统及存储介质 |
CN107833060B (zh) * | 2017-11-13 | 2020-12-25 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
CN108322309B (zh) * | 2017-12-27 | 2019-10-11 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108513669A (zh) * | 2017-12-29 | 2018-09-07 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 |
CN110083437A (zh) * | 2018-01-25 | 2019-08-02 | 北京欧链科技有限公司 | 处理区块链事务的方法及装置 |
CN108471510A (zh) * | 2018-01-29 | 2018-08-31 | 东莞理工学院 | 一种基于区块链的视频操作记录保护方法及系统 |
CN108564470B (zh) * | 2018-04-17 | 2021-09-28 | 北京天德科技有限公司 | 一种区块链中并行建块的交易分发方法 |
CN108958925B (zh) * | 2018-04-26 | 2023-06-20 | 武汉龙津科技有限公司 | 一种节能的工作量证明方法与系统 |
CN108768994B (zh) * | 2018-05-22 | 2021-07-27 | 北京小米移动软件有限公司 | 数据匹配方法、装置及计算机可读存储介质 |
JP7063142B2 (ja) * | 2018-06-25 | 2022-05-09 | 日本電信電話株式会社 | 番号管理システム、番号管理方法および番号管理装置 |
CN109087097B (zh) * | 2018-07-26 | 2020-11-03 | 京东数字科技控股有限公司 | 一种更新链码同一标识的方法和装置 |
CN109191295A (zh) * | 2018-08-15 | 2019-01-11 | 深圳市元征科技股份有限公司 | 一种信息处理方法及其设备 |
CN109325366B (zh) * | 2018-08-22 | 2022-08-12 | 深圳前海微众银行股份有限公司 | 基于联盟链的业务处理方法、设备及计算机可读存储介质 |
US10860659B1 (en) * | 2018-09-06 | 2020-12-08 | Amazon Technologies, Inc. | Distributed verification of digital work product |
TWI698100B (zh) * | 2018-09-18 | 2020-07-01 | 柯賓漢數位金融科技有限公司 | 多區塊鏈產生及整合方法暨區塊鏈系統 |
CN109493211A (zh) * | 2018-09-27 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于区块链的信贷数据存储方法、装置、设备及存储介质 |
CN109088722B (zh) * | 2018-10-08 | 2021-10-19 | 深圳投时科技有限公司 | 区块链节点演进方法及区块链节点 |
CN109299195A (zh) * | 2018-10-23 | 2019-02-01 | 杭州能链科技有限公司 | 数据处理方法、装置及存储介质 |
CN111782275B (zh) * | 2018-10-25 | 2024-02-06 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
US11138597B2 (en) | 2018-11-27 | 2021-10-05 | Advanced New Technologies Co., Ltd. | System and method for improving security of smart contract on blockchain |
US11354727B2 (en) * | 2018-11-27 | 2022-06-07 | Advanced New Technologies Co., Ltd. | System and method for improving security of smart contract on blockchain |
CN111291018B (zh) * | 2018-12-07 | 2023-06-23 | 北京沃东天骏信息技术有限公司 | 数据管理方法、装置、设备及存储介质 |
CN109766727B (zh) * | 2018-12-25 | 2021-04-06 | 苏州朗润创新知识产权运营有限公司 | 智能区块网络构建方法及系统 |
BR112019016064A2 (pt) * | 2018-12-28 | 2020-03-31 | Alibaba Group Holding Limited | Método implementado por computador, meio de armazenamento legível e sistema |
MX2019009344A (es) | 2018-12-28 | 2019-10-02 | Alibaba Group Holding Ltd | Ejecucion paralela de transacciones en una red de cadena de bloques con base en listas blancas de contratos inteligentes. |
WO2019072311A2 (en) * | 2018-12-29 | 2019-04-18 | Alibaba Group Holding Limited | PARTICIPATORY PRODUCTION BASED ON A CHAIN OF BLOCKS OF MAPPING APPLICATIONS |
KR102354776B1 (ko) | 2019-03-04 | 2022-01-25 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스 |
JP6955026B2 (ja) * | 2019-03-28 | 2021-10-27 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | 並列処理ブロックチェーントランザクションのためのシステムおよび方法 |
SG11201910057QA (en) | 2019-04-12 | 2019-11-28 | Alibaba Group Holding Ltd | Performing parallel execution of transactions in a distributed ledger system |
CN111095326B (zh) * | 2019-04-12 | 2023-08-22 | 创新先进技术有限公司 | 用于在区块链网络中执行多个交易的方法、系统和装置 |
CA3060790C (en) | 2019-04-12 | 2021-06-08 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
KR102118178B1 (ko) * | 2019-04-24 | 2020-06-02 | 주식회사 데이터젠 | 블록체인을 위한 다중 트랜잭션 병렬 처리 방법 및 시스템 |
CN110209671A (zh) * | 2019-05-17 | 2019-09-06 | 无锡朝阳供应链科技股份有限公司 | 一种分布式账本数据的存取系统及其应用 |
CN112001713B (zh) * | 2019-05-27 | 2024-03-29 | 深圳市红砖坊技术有限公司 | 区块链系统以及请求处理方法和装置 |
US11405204B2 (en) | 2019-06-15 | 2022-08-02 | Meta Platforms, Inc | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
EP3983923A1 (en) * | 2019-06-15 | 2022-04-20 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11249947B2 (en) | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure |
US11126593B2 (en) | 2019-06-15 | 2021-09-21 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11249985B2 (en) * | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
CN110570311B (zh) * | 2019-09-17 | 2021-05-25 | 北京海益同展信息科技有限公司 | 区块链的共识方法、装置及设备 |
CN110659308B (zh) * | 2019-09-24 | 2020-12-22 | 华润网络(深圳)有限公司 | 一种数据清算处理方法及装置 |
CN110728578A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 区块链交易的并行执行方法、系统及存储介质 |
CN110806923B (zh) * | 2019-10-29 | 2023-02-24 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN111126978B (zh) * | 2019-12-28 | 2023-03-14 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
US11682095B2 (en) | 2020-02-25 | 2023-06-20 | Mark Coast | Methods and apparatus for performing agricultural transactions |
KR102461553B1 (ko) * | 2020-02-28 | 2022-11-01 | 주식회사 시큐어링크 | 대용량 정보 공유를 위한 계층 블록체인 시스템 |
CN111405037A (zh) * | 2020-03-13 | 2020-07-10 | 杭州复杂美科技有限公司 | 区块同步方法、设备和存储介质 |
KR102315226B1 (ko) * | 2020-03-16 | 2021-10-20 | 이정우 | 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법 |
CN113779016A (zh) * | 2020-07-06 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据管理的方法和装置 |
CN112508574A (zh) * | 2021-02-03 | 2021-03-16 | 北京全息智信科技有限公司 | 一种区块链的并行交易执行方法、装置和电子设备 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10002019B2 (en) * | 2009-05-11 | 2018-06-19 | International Business Machines Corporation | System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups |
RU2554509C2 (ru) * | 2010-10-06 | 2015-06-27 | Александр Яковлевич Богданов | Система и способ распределенных вычислений |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US9553982B2 (en) | 2013-07-06 | 2017-01-24 | Newvoicemedia, Ltd. | System and methods for tamper proof interaction recording and timestamping |
US11126627B2 (en) | 2014-01-14 | 2021-09-21 | Change Healthcare Holdings, Llc | System and method for dynamic transactional data streaming |
EP2961168A1 (en) * | 2014-06-27 | 2015-12-30 | Thomson Licensing | Method and apparatus for predicting image samples for encoding or decoding |
TWI528217B (zh) * | 2014-07-02 | 2016-04-01 | 柯呈翰 | 於線上加上即時檔案動態標籤、加密之系統及方法 |
US9594644B2 (en) | 2014-09-19 | 2017-03-14 | Sybase, Inc. | Converting a serial transaction schedule to a parallel transaction schedule |
US9967334B2 (en) | 2015-03-02 | 2018-05-08 | Dell Products Lp | Computing device configuration and management using a secure decentralized transaction ledger |
US9967333B2 (en) | 2015-03-02 | 2018-05-08 | Dell Products Lp | Deferred configuration or instruction execution using a secure distributed transaction ledger |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
EP3394818A4 (en) | 2015-12-21 | 2019-08-14 | Kochava Inc. | AUTOREGULATING TRANSACTION SYSTEM AND ASSOCIATED METHODS |
US10255108B2 (en) | 2016-01-26 | 2019-04-09 | International Business Machines Corporation | Parallel execution of blockchain transactions |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
GB2604540B (en) | 2016-02-03 | 2023-01-11 | Luther Systems | System and method for secure management of digital contracts |
WO2017134281A1 (en) | 2016-02-04 | 2017-08-10 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
US10129238B2 (en) | 2016-02-10 | 2018-11-13 | Bank Of America Corporation | System for control of secure access and communication with different process data networks with separate security features |
US10142312B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US20170264428A1 (en) | 2016-03-08 | 2017-09-14 | Manifold Technology, Inc. | Data storage system with blockchain technology |
WO2017173399A1 (en) | 2016-03-31 | 2017-10-05 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
CN105893042A (zh) * | 2016-03-31 | 2016-08-24 | 北京航空航天大学 | 一种基于区块链的智能合约的实现方法 |
CA3019642C (en) | 2016-04-01 | 2023-03-07 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing data privacy in a private distributed ledger |
GB201607476D0 (en) | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | Operating system for blockchain IOT devices |
EP3455996A4 (en) | 2016-05-09 | 2020-01-22 | Nokia Technologies Oy | BLOCK CHAIN-BASED RESOURCE MANAGEMENT |
GB201611698D0 (en) | 2016-07-05 | 2016-08-17 | Eitc Holdings Ltd | Blockchain-implemented control method and system |
EP3472779A4 (en) | 2016-07-14 | 2020-01-08 | Digital Asset Holdings, LLC | DIGITAL ASSETS PLATFORM |
CN106330431A (zh) | 2016-08-29 | 2017-01-11 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的数据处理方法、装置及系统 |
CN106406896B (zh) * | 2016-09-27 | 2020-03-17 | 北京天德科技有限公司 | 一种并行PipeLine技术的区块链建块方法 |
CN106682984B (zh) * | 2016-10-27 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
-
2017
- 2017-02-28 CN CN201710116539.7A patent/CN106980649B/zh active Active
- 2017-11-14 TW TW106139289A patent/TWI660281B/zh active
-
2018
- 2018-02-26 CA CA3054813A patent/CA3054813C/en active Active
- 2018-02-26 BR BR112019017863-5A patent/BR112019017863A2/pt not_active IP Right Cessation
- 2018-02-26 JP JP2019546907A patent/JP6928104B2/ja active Active
- 2018-02-26 KR KR1020197023701A patent/KR102103130B1/ko active IP Right Grant
- 2018-02-26 RU RU2019124224A patent/RU2744585C2/ru active
- 2018-02-26 AU AU2018228540A patent/AU2018228540B2/en active Active
- 2018-02-26 MX MX2019009728A patent/MX2019009728A/es unknown
- 2018-02-26 MY MYPI2019004229A patent/MY197445A/en unknown
- 2018-02-26 SG SG11201907212SA patent/SG11201907212SA/en unknown
- 2018-02-26 EP EP18760329.5A patent/EP3561700A4/en not_active Ceased
- 2018-02-26 WO PCT/CN2018/077286 patent/WO2018157778A1/zh unknown
-
2019
- 2019-07-26 ZA ZA2019/04916A patent/ZA201904916B/en unknown
- 2019-08-05 PH PH12019501795A patent/PH12019501795A1/en unknown
- 2019-08-07 US US16/535,035 patent/US10642643B2/en active Active
- 2019-12-16 AU AU2019101606A patent/AU2019101606A4/en active Active
-
2020
- 2020-01-17 US US16/745,519 patent/US10664305B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI660281B (zh) | 2019-05-21 |
JP6928104B2 (ja) | 2021-09-01 |
RU2744585C2 (ru) | 2021-03-11 |
US10642643B2 (en) | 2020-05-05 |
EP3561700A1 (en) | 2019-10-30 |
MY197445A (en) | 2023-06-19 |
US10664305B1 (en) | 2020-05-26 |
TW201833796A (zh) | 2018-09-16 |
AU2018228540B2 (en) | 2020-09-03 |
CA3054813C (en) | 2021-04-20 |
KR102103130B1 (ko) | 2020-04-22 |
CN106980649A (zh) | 2017-07-25 |
MX2019009728A (es) | 2019-10-22 |
AU2019101606A4 (en) | 2020-01-23 |
AU2018228540A1 (en) | 2019-08-22 |
SG11201907212SA (en) | 2019-09-27 |
RU2019124224A3 (pt) | 2021-02-01 |
JP2020509495A (ja) | 2020-03-26 |
US20200150999A1 (en) | 2020-05-14 |
WO2018157778A1 (zh) | 2018-09-07 |
RU2019124224A (ru) | 2021-02-01 |
KR20190099087A (ko) | 2019-08-23 |
PH12019501795A1 (en) | 2020-03-09 |
US20190361731A1 (en) | 2019-11-28 |
CA3054813A1 (en) | 2018-09-07 |
CN106980649B (zh) | 2020-07-10 |
ZA201904916B (en) | 2020-08-26 |
EP3561700A4 (en) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112019017863A2 (pt) | Método e aparelho para gravar dados de serviço em cadeia de blocos e método para determinar subconjunto de serviços | |
US20210099285A1 (en) | Data storage, data check, and data linkage method and apparatus | |
JP6940615B2 (ja) | データ処理方法およびデバイス | |
US9811684B1 (en) | Token-based storage service | |
US11626972B2 (en) | Data processing method and apparatus | |
CN105718455B (zh) | 一种数据查询方法及装置 | |
CN108846749B (zh) | 一种基于区块链技术的分片化的交易执行系统及方法 | |
CN109669709A (zh) | 一种区块链升级的数据迁移方法及数据迁移系统 | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN107085570A (zh) | 数据处理方法、应用服务器和路由器 | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
WO2024000897A1 (zh) | 一种基于区块链的数字资产合成方法及装置 | |
CN111522873B (zh) | 区块生成方法、装置、计算机设备和存储介质 | |
CN104598567A (zh) | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 | |
CN109032804B (zh) | 数据处理方法和装置、服务器 | |
CN114172895A (zh) | 一种路由方法、装置、计算机设备及存储介质 | |
CN108351797B (zh) | 用于控制与中间目录相关联的重解析行为的方法和系统 | |
CN107085501B (zh) | 一种数据存储、数据迁移方法及装置 | |
US20240078222A1 (en) | Selective Addition of Datum to a Tree Data Structure | |
CN116881361A (zh) | 交易的执行方法、节点和区块链系统 | |
CN115525443A (zh) | 一种数据存储方法以及相关设备 | |
CN116243964A (zh) | 一种变更需求的可行性的确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B25A | Requested transfer of rights approved |
Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) |
|
B25A | Requested transfer of rights approved |
Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) |
|
B350 | Update of information on the portal [chapter 15.35 patent gazette] | ||
B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 6A ANUIDADE. |
|
B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2763 DE 19/12/2023. |