BR112014021885B1 - Método e dispositivo de armazenamento de dados - Google Patents

Método e dispositivo de armazenamento de dados Download PDF

Info

Publication number
BR112014021885B1
BR112014021885B1 BR112014021885-4A BR112014021885A BR112014021885B1 BR 112014021885 B1 BR112014021885 B1 BR 112014021885B1 BR 112014021885 A BR112014021885 A BR 112014021885A BR 112014021885 B1 BR112014021885 B1 BR 112014021885B1
Authority
BR
Brazil
Prior art keywords
data
status
sub
block
blocks
Prior art date
Application number
BR112014021885-4A
Other languages
English (en)
Other versions
BR112014021885A2 (pt
Inventor
Aimin Lin
Jiong Tang
Junshuai Wang
Original Assignee
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of BR112014021885A2 publication Critical patent/BR112014021885A2/pt
Publication of BR112014021885B1 publication Critical patent/BR112014021885B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • H04L29/08

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

método e dispositivo de armazenamento de dados. a presente invenção refere-se a um método e um aparelho para o armazenamento de dados. no método, uma matriz de buffer de dados bidimensionais e extensíveis é configurada em uma memória local compartilhada de acordo com uma política de configuração predefinida, a matriz de buffer de dados bidimensionais e extensíveis que compreende múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos que compreende múltiplos sub-blocos de dados para o armazenamento de dados. os dados em um dispositivo de armazenamento de rede são armazenados em um sub-bloco de dados que corresponde aos dados de acordo com os requisitos de serviço lógico. de acordo com as modalidades da presente descrição, os dados são armazenados de modo local, melhorando assim a eficiência do armazenamento de dados e da troca de dados. além disso, a extensibilidade da estrutura de dados é aprimorada uma vez que a matriz de buffer de dados bidimensionais e extensíveis para o armazenamento de dados é extensível e assim, o requisito da lógica de serviço é atendido.

Description

CAMPO TÉCNICO
[001] A presente invenção refere-se às tecnologias de computador e, mais particularmente, a um método e a um aparelho para o armazenamento de dados.
ANTECEDENTES
[002] Com o desenvolvimento de tecnologias de informática, as tecnologias de jogo se desenvolvem rapidamente.. O número de pessoas que participa em um jogo aumentou de somente uma para muitas. À medida que o número de pessoas aumenta, a quantidade de dados gerados durante o jogo aumenta e, portanto, a lógica de serviço se torna mais complicada. É importante que os fabricantes de jogos armazenem de forma eficaz os dados gerados pela lógica de serviço, de forma a prestar melhores serviços aos usuários.
[003] Em soluções convencionais, quando os dados gerados pela lógica de serviço são armazenados, os dados gerados pela lógica de serviço são transmitidos a um dispositivo de armazenamento de rede através de uma rede e armazenados em um banco de dados no dispositivo de armazenamento de rede. Um espaço de buffer é estabelecido no dispositivo de armazenamento de rede, e os dados que tem alta frequência de troca são armazenados no espaço de buffer, de modo a aprimorar a velocidade da troca de dados.
[004] No entanto, na tecnologia de jogo, os dados são atualizados com frequência, e exige-se o acesso ao dispositivo de armazenamento de rede através da rede de maneira repetida, não importando se os dados gerados pela lógica de serviço estão armazenados no espaço de buffer do dispositivo de armazenamento de rede ou armazenados no banco de dados do dispositivo de armazenamento de rede. O procedimento de acesso ao dispositivo de armazenamento de rede através da rede pode reduzir a eficiência do armazenamento, e pode influenciar a eficiência da troca de dados subsequente. Além disso, se as estruturas de dados do banco de dados forem fixas e não forem extensíveis, os requisitos da variação de estrutura de dados conforme exigido pela lógica de serviço não serão atendidos.
SUMÁRIO
[005] As modalidades da presente invenção fornecem um método e um aparelho para o armazenamento de dados, de modo a aprimorar a eficiência de armazenamento de dados ao mesmo tempo em que melhora a extensibilidade da estrutura de dados, e satisfaz o requisito da lógica de serviço.
[006] Um método para o armazenamento de dados inclui: configurar uma matriz de buffer de dados bidimensionais e extensíveis em uma memória local compartilhada de acordo com uma política de configuração predefinida; a matriz de buffer de dados bidimensionais e extensíveis que compreende múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos que compreende múltiplos sub-blocos de dados para o armazenamento de dados; e armazenar os dados em um dispositivo de armazenamento de rede em um sub-bloco de dados que corresponde aos dados de acordo com as requisitos de serviço lógico.
[007] Um aparelho para o armazenamento de dados inclui:
[008] um módulo de configuração, configurado para configurar uma matriz de buffer de dados bidimensionais e extensíveis em uma memória local compartilhada de acordo com uma política de configuração predefinida; a matriz de buffer de dados bidimensionais e extensíveis que compreende múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos que compreende múltiplos sub- blocos de dados para o armazenamento de dados; e
[009] um módulo de carregamento, configurado para armazenar os dados em um dispositivo de armazenamento de rede em um sub- bloco de dados que corresponde aos dados de acordo com os requisitos de serviço lógico.
[0010] Os dados são armazenados de modo local ao configurar a matriz de buffer de dados bidimensionais e extensíveis na memória local compartilhada de acordo com a política de configuração predefi- nida e armazenar os dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, aprimorando assim a eficiência do ar-mazenamento de dados e da troca de dados. A extensibilidade da estrutura de dados é aprimorada uma vez que a matriz de buffer de dados bidimensionais e extensíveis para o armazenamento de dados é extensível, e assim, o requisitos da lógica de serviço são satisfeitos. Além disso, os dados na memória local compartilhada e o dispositivo de armazenamento de rede são sincronizados ao sincronizar os dados modificados ao dispositivo de armazenamento de rede depois que os dados no bloco de dados são modificados e assim, a perda de dados é evitada.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] A fim de descrever as soluções técnicas das modalidades da presente descrição de forma mais clara, os desenhos anexos utilizados nas modalidades da presente descrição são descritos abaixo. Os desenhos anexos descritos fazem parte das modalidades da presente descrição. Outros desenhos anexos podem ser obtidos pelos versados na técnica sem o trabalho criativo com base nos desenhos anexos da presente descrição.
[0012] a Figura 1 é um fluxograma esquemático que ilustra um método para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0013] a Figura 2 é um diagrama esquemático que ilustra uma es- trutura de um sistema para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0014] a Figura 3 é um fluxograma esquemático que ilustra um método para o armazenamento de dados de acordo com outra modalidade da presente descrição;
[0015] a Figura 4 é um diagrama esquemático que ilustra a transformação de status dos dados de acordo com uma modalidade da presente descrição;
[0016] a Figura 5 é um diagrama esquemático que ilustra um blocos de dados lógicos de acordo com uma modalidade da presente descrição;
[0017] a Figura 6 é um diagrama esquemático que ilustra as tabelas de relação de acordo com uma modalidade da presente descrição;
[0018] a Figura 7 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0019] a Figura 8 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0020] a Figura 9 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0021] a Figura 10 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0022] a Figura 11 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição;
[0023] a Figura 12 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modali- dade da presente descrição;
[0024] a Figura 13 é um diagrama esquemático que ilustra um aparelho para o armazenamento de dados de acordo com uma modalidade da presente descrição.
DESCRIÇÃO DETALHADA
[0025] A fim de tornar o objetivo, a solução técnica e os méritos da presente descrição mais claros, a presente descrição será ilustrada em detalhes mais adiante neste documento com referência aos desenhos anexos e as modalidades específicas.
[0026] De acordo com uma modalidade da presente descrição, um método para o armazenamento de dados é fornecido. Com referência à Figura 1, o método inclui o processamento a seguir.
[0027] Em 101, uma matriz de buffer de dados bidimensionais e extensíveis é configurada em uma memória local compartilhada de acordo com uma política de configuração predefinida. A matriz de buffer de dados bidimensionais inclui múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos inclui múltiplos sub- blocos de dados para o armazenamento de dados.
[0028] Em 102, os dados em um dispositivo de armazenamento de rede são armazenados em um sub-bloco de dados que corresponde aos dados de acordo com os requisitos de serviço lógico.
[0029] De acordo com uma modalidade, depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada na memória local compartilhada de acordo com a política de configuração pre- definida, o processamento a seguir é ainda incluído. Um status dos dados é configurado para cada um dos múltiplos sub-blocos de dados de acordo com uma situação de armazenamento de dados em cada um dos múltiplos sub-blocos de dados. O status dos dados é um de um status livre, um status de carregamento, um status normal, um status modificado, um status de remoção e um status de assinalar a re- moção.
[0030] De acordo com uma modalidade, depois que os dados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, o processamento a seguir é ainda incluído. Os dados armazenados no sub-bloco de dados que corresponde à lógica de serviço são modificados, e os dados modificados são sincronizados para o dispositivo de armazenamento de rede. De acordo com uma modalidade, o processamento a seguir é realizado ao sincronizar os dados modificados para o dispositivo de armazenamento de rede, o status dos dados de cada um dos múltiplos sub-blocos de dados é classificado de modo regular, e quando o status dos dados de um sub- bloco de dados é o status modificado, os dados no sub-bloco de dados são sincronizados para o dispositivo de armazenamento de rede. Além disso, depois que os dados no sub-bloco de dados são sincronizados para o dispositivo de armazenamento de rede, o status dos dados desse sub-bloco de dados é modificados para o status normal.
[0031] De acordo com uma modalidade, depois que os dados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, o processamento a seguir é ainda incluído. Os dados armazenados no sub-bloco de dados que corresponde à lógica de serviço são sincronizados para o dispositivo de armazenamento de rede, e a memória compartilhada que corresponde ao sub-bloco de dados é removida. De acordo com uma modalidade, o processamento a seguir é realizado quando a sincronização dos dados armazenados no sub-bloco de dados que corresponde à lógica de serviço para o dispositivo de armazenamento de rede, o status dos dados de cada um dos múltiplos sub-blocos de dados é consultado, e os dados de um sub-bloco de dados no status de assinalar a remoção são sincroniza- dos para o dispositivo de armazenamento de rede. Além disso, depois que os dados do sub-bloco de dados no status de assinalar a remoção são sincronizados para o dispositivo de armazenamento de rede, o status dos dados do sub-bloco de dados no status de assinalar a remoção é modificado para o status livre.
[0032] De acordo com uma modalidade, ao armazenar os dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, um sub-bloco de dados no status livre é selecionado a partir de todos os múltiplos sub-blocos de dados, e os dados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados se-lecionados de acordo com os requisitos da lógica de serviço. Além disso, depois que os dados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados selecionados, o status dos dados do sub-bloco de dados selecionados é modificado a partir do status livre para o status de carregamento. Depois de carregar os dados é finalizado, o status dos dados do sub-bloco de dados selecionado é modificado a partir do status de carregamento para o status normal.
[0033] De acordo com uma modalidade, depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada na memória local compartilhada de acordo com a política de configuração pre- definida, uma tabela de relação de uma matriz de buffer de dados bidimensionais e extensíveis e o dispositivo de armazenamento de rede, é estabelecida e atualizada de acordo com uma alteração dos dados nos sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis. A tabela de relação é armazenada no dispositivo de armazenamento de rede, e grava uma situação de armazenamento de dados de cada um dos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis. Cada um dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis corresponde a uma tabela de relação, e cada um dos sub-blocos de dados no bloco de dados lógicos corresponde a uma gravação na tabela de relação.
[0034] Ao usar o método de acordo com a modalidade, a matriz de buffer de dados bidimensionais e extensíveis é configurada na memória local compartilhada de acordo com a política de configuração pre- definida, e os dados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, portanto, os dados são armazenados de modo local, e a eficiência do armazenamento de dados e da troca de dados é aprimorada. A extensibilidade da estrutura de dados é aprimorada uma vez que a matriz de buffer de dados bidimensionais e extensíveis para o armazenamento de dados é extensível, e assim, o requisitos da lógica de serviço são satisfeitos. Além disso, depois que os dados no sub-bloco de dados são modificados, os dados modificados são enviados ao dispositivo de armazenamento de rede, de modo que os dados na memória local compartilhada e o dispositivo de armazenamento de rede são sincronizados e assim, a perda de dados é evitada.
[0035] De acordo com outra modalidade da presente descrição, um método para o armazenamento de dados é fornecido. De acordo com o método, uma matriz de buffer de dados bidimensionais e extensíveis é configurada em uma memória local compartilhada, e os dados variam de modo contínuo à medida que o sistema executado é armazenado tanto em um dispositivo de armazenamento de rede quanto nos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis. Por conveniência de descrição, o método será descrito com referência a um sistema de armazenamento de dados mostrado na Figura 2. Com referência à Figura 3, o método inclui o processamento a seguir.
[0036] Em 301, uma matriz de buffer de dados bidimensionais e extensíveis é configurada em uma memória local compartilhada de acordo com uma política de configuração predefinida. A matriz de buffer de dados bidimensionais inclui múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos inclui múltiplos sub- blocos de dados para o armazenamento de dados.
[0037] De acordo com uma modalidade, a política de configuração predefinida é usada para configurar o número dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis e para configurar o número e a capacidade dos sub-bloco de dados em cada um dos blocos de dados lógicos, estendendo assim a estrutura de dados. Em uma modalidade da presente descrição, a extensão da estrutura de dados inclui aumentar ou reduzir o número dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis, e aumentar o reduzir o número e a capacidade dos sub-bloco de dados em cada um dos blocos de dados lógicos. A política de configuração pode ser definida de acordo com os requisitos práticos. Para a modalidade, o número dos blocos de dados lógicos e o número e a capacidade dos sub-bloco de dados configurados na política de configuração podem ser definidos de acordo com uma estrutura de dados exigida pela lógica de serviço, ou podem ser definidos de outras maneiras. O número dos blocos de dados lógicos e o número e a capacidade dos sub-bloco de dados configurados na política de configuração não são limitados na modalidade. A memória local compartilhada se refere a uma memória de grande capacidade que pode ser acessada por diferentes unidades de processamento central (CPUs) em um sistema de computador com múltiplos processadores. A memória local compartilhada pode ser lida ou gravada diretamente, aprimorando assim a eficiência de processamento dos processadores.
[0038] Em 301, em conjunto com a estrutura do sistema de armazenamento de dados mostrado na Figura 2, um processo pode ser chamado para configurar a matriz de buffer de dados bidimensionais e extensíveis na memória local compartilhada, o processo é um de processo de lógica de serviço e um processo proxy de sincronização de dados que é iniciado primeiro. Para a modalidade, se o processo de lógica de serviço for iniciado primeiro que o processo proxy de sincro-nização de dados, a matriz de buffer de dados bidimensionais e extensíveis pode ser configurada pelo processo de lógica de serviço na memória local compartilhada de acordo com a política de configuração predefinida, e se o processo proxy de sincronização de dados for iniciado primeiro que o processo de lógica de serviço, a matriz de buffer de dados bidimensionais e extensíveis pode ser configurada pelo processo proxy de sincronização de dados na memória local compartilhada de acordo com a política de configuração predefinida. Independente do processo usado para executar a configuração, a aplicação para a memória local compartilhada de acordo com a política de configuração predefinida é realizada primeiro e, em seguida, a matriz de buffer de dados bidimensionais e extensíveis é configurada na memória local compartilhada aplicada. A matriz de buffer de dados bidimensionais configurada inclui múltiplos blocos de dados lógicos, e cada um dos blocos de dados lógicos inclui múltiplos sub-blocos de dados para o armazenamento de dados. Os sub-blocos de dados podem ser identificados de maneira coordenada de modo a distinguir os sub-blocos de dados em diferentes blocos de dados lógicos. Conforme mostrado na Figura 2, como uma modalidade, a matriz de buffer de dados bidimensionais configurada inclui N blocos de dados lógicos, e cada um dos blocos de dados lógicos inclui n sub-blocos de dados, o nth sub-bloco de dados nos Nth blocos de dados lógicos pode ser identificado com coordenadas de dados bidimensionais (N, n).
[0039] De acordo com uma modalidade, independente da maneira usada para identificar os sub-blocos de dados, cada um dos sub-bloco de dados pode ser usado para armazenar os dados. Os blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis, de acordo com as funções lógicas, podem ser classificados em blocos de dados lógicos dinâmicos e blocos de dados lógicos estáti-cos. Os sub-blocos de dados nos blocos de dados lógicos dinâmicos são usados para armazenar os dados dinâmicos, e os sub-blocos de dados nos blocos de dados lógicos estáticos são usados para armazenar os dados estáticos. Os dados dinâmicos incluem os dados que podem ser carregados, removidos e sincronizados de maneira dinâmica, e o espaço de memória compartilhada que corresponde aos sub- bloco de dados para armazenar os dados dinâmicos pode ser usado de maneira repetida. Ao considerar os dados do papel do jogador na lógica de serviço como uma modalidade, os papéis on-line e off-line referem-se à sincronização de dados de puxar e armazenar. Os dados estáticos são armazenados na memória compartilhada, e não são removidos até que os dados estáticos sejam carregados, de modo que não há necessidade de liberar o espaço de memória compartilhada que corresponde aos sub-bloco de dados para armazenar os dados estáticos, e os dados estáticos, como os dados do salão de mercado de jogos, são sincronizados para o dispositivo de armazenamento de rede com o uso de mecanismo de temporização. Os blocos de dados lógicos não são limitados aos blocos de dados lógicos dinâmicos ou aos blocos de dados lógicos estáticos na modalidade, e na prática, os blocos de dados lógicos podem ser configurados de acordo com a política de configuração.
[0040] De acordo com uma modalidade, depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada, a matriz de buffer de dados bidimensionais e extensíveis é configurada na me- mória compartilhada, e os endereços dos blocos de dados lógicos e os endereços dos sub-bloco de dados são endereços físicos da memória compartilhada, enquanto um endereço do processo de lógica de serviço e um endereço do processo proxy de sincronização de dados são ambos endereços lógicos. Portanto, é necessário que o espaço de memória de uma matriz de buffer de dados bidimensionais e extensíveis seja mapeado para o espaço de memória do processo que configura a matriz de buffer de dados bidimensionais e extensíveis, isto é, os endereços físicos são traduzidos em endereços lógicos, de modo que os dados na matriz de buffer de dados bidimensionais configurada podem ser operados pelo processo de lógica de serviço e/ou pelo processo proxy de sincronização de dados subsequentemente. O espaço de memória de uma matriz de buffer de dados bidimensionais e extensíveis pode ser mapeado para o espaço de memória do outro processo que não é usado para configurar a matriz de buffer de dados bidimensionais e extensíveis, depois que esse processo é iniciado.
[0041] Observa-se que, depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada, a matriz de buffer de dados bidimensionais e extensíveis e os dados armazenados em uma matriz de buffer de dados bidimensionais e extensíveis são mantidos de modo sucessional e individual, contanto que o sistema não seja desligado, a memória não é limpa ou danificada manualmente. Em outras palavras, uma vez que a configuração de uma matriz de buffer de dados bidimensionais e extensíveis é finalizada, a estrutura de dados de uma matriz de buffer de dados bidimensionais e extensíveis e dos dados nela sempre existe, caso o sistema não seja desligado, e a memória existe. Se o sistema não for desligado, ou a memória for limpa ou danificada, a matriz de buffer de dados bidimensionais e exten-síveis deve ser configurada novamente. Não importa se o sistema não for desligado e se a memória for modificada ou danificada, a tradução entre os endereços físicos e os endereços lógicos é solicitada ser realizada de novo, se o processo de lógica de serviço ou o processo proxy de sincronização de dados forem reiniciados.
[0042] Em 302, um status dos dados é configurado para cada um dos sub-blocos de dados de acordo com situação de armazenamento de dados em cada um dos múltiplos sub-blocos de dados. O status dos dados é um de um status livre, um status de carregamento, um status normal, um status modificado, um status de remoção e um status de assinalar a remoção.
[0043] De acordo com uma modalidade, depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada em 301, o status dos dados de cada um dos múltiplos sub-blocos de dados é definido de acordo com a situação de armazenamento de dados em cada um dos sub-blocos de dados, e o status dos dados de cada um dos sub-blocos de dados inclui, mas não se limita aos seis status dos da-dos a seguir:
[0044] 1. Livre: os dados devem ser atribuídos;
[0045] 2. Carregamento: os dados sendo carregados;
[0046] 3. Normal: os dados são carregados;
[0047] 4. Modificar: os dados são modificados;
[0048] 5. Remover: os dados são armazenados e estão sendo removidos;
[0049] 6. Assinalar remover: se a remoção de dados falhar, o status dos dados do sub-bloco de dados é configurado como esse status, de modo que os dados podem ser removidos de modo regular pelo controle de modo regular até que os dados sejam removidos corretamente.
[0050] No procedimento de armazenamento e de atualização dos dados, o status dos dados dos sub-bloco de dados pode variar entre os seis status mencionados acima, como mostrado na Figura 4. Quan- do a matriz de buffer de dados bidimensionais e extensíveis é inicialmente configurada, nenhum dado é armazenado nos sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis, e assim os status dos dados dos sub-bloco de dados são os status livres e podem ser atualizados de tempo em tempo de acordo com a variação do armazenamento de dados subsequentemente.
[0051] Depois que o status dos dados de cada um dos sub-blocos de dados é configurado, a configuração de uma matriz de buffer de dados bidimensionais e extensíveis é finalizada. Cada um dos blocos de dados lógicos de uma matriz de buffer de dados bidimensionais e extensíveis pode consistir em uma cabeça geral e em sub-blocos de dados. Ao considerar a estrutura dos blocos de dados lógicos mostrado na Figura 5 como uma modalidade, a cabeça geral dos blocos de dados lógicos inclui 4 bytes para a gravação do comprimento dos dados armazenados no bloco de dados lógicos. Cada um dos sub-bloco de dados consiste em uma estrutura de cabeça e os dados, e a estrutura de cabeça do sub-bloco de dados pode ser da seguinte forma. cabeçalho { tecla // valor de tecla que corresponde aos dados Ver //número da versão dos dados tempo // modificar o tempo dos dados Status // status dos dados }
[0052] O valor de tecla dos dados no sub-bloco de dados é idêntico a uma tecla dos dados no dispositivo de armazenamento de rede. Portanto, não importa se os dados são armazenados na memória local compartilhada ou armazenados no dispositivo de armazenamento de rede, a tecla para cada um dos dados é inalterada, o que facilita a busca pelos dados armazenados em diferentes locais. Depois que a matriz de buffer de dados bidimensionais e extensíveis é configurada, quando um sub-bloco de dados é atribuído com os dados, a tecla, ver, tempo, e valores de status da estrutura de cabeça do sub-bloco de dados são modificados em conformidade, e o sub-bloco de dados não será atribuído com dados novamente, a menos que os dados no sub- bloco de dados sejam removidos e o status do sub-bloco de dados seja o status livre. Quando os dados em um sub-bloco de dados são removidos, os dados no sub-bloco de dados são limpos em conformidade e a tecla, ver, tempo e valores de status da estrutura de cabeça do sub-bloco de dados são modificados.
[0053] De acordo com uma modalidade, uma vez que os sub- blocos de dados em uma matriz de buffer de dados bidimensionais e extensíveis são usados para o armazenamento de dados, a fim de manter a sincronização dos dados na memória local compartilhada e os dados no dispositivo de armazenamento de rede, o processamento a seguir é realizado depois de configurar a matriz de buffer de dados bidimensionais e extensíveis.
[0054] Uma tabela de relação de uma matriz de buffer de dados bidimensionais e extensíveis e o dispositivo de armazenamento de rede é estabelecida, e a tabela de relação é atualizada de acordo com a variação de dados nos sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis. A tabela de relação é armazenada no dispositivo de armazenamento de rede, e grava a situação de ar-mazenamento de dados de cada um dos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis.
[0055] De acordo com uma modalidade, cada um dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis corresponde a uma tabela de relação, e cada um dos sub- blocos de dados no bloco de dados lógicos corresponde a uma gravação na tabela de relação de mapeamento.
[0056] A Figura 6 é um diagrama esquemático que ilustra as tabelas de relação de acordo com uma modalidade da presente descrição; Conforme mostrado na Figura 6, um bloco de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis corresponde a uma tabela de relação armazenada em um banco de dados, e a tabela de relação grava uma estrutura dos blocos de dados lógicos. Cada dos sub-bloco de dados no bloco de dados lógicos corresponde a uma gravação na tabela de relação, e o tamanho de cada um dos dados é fixo e corresponde ao tamanho da estrutura dos sub-bloco de dados nos blocos de dados lógicos. Além disso, uma vez que os dados no sub-bloco de dados podem ser modificados algumas vezes, a gravação na tabela de relação que corresponde ao sub-bloco de dados pode ser atualizada em conformidade. De acordo com uma modalidade, depois que a tabela de relação é estabelecida, a tabela de relação deve ser atualizada de acordo com a variação de dados no sub-bloco de dados.
[0057] Assim, o armazenamento e a interação dos dados locais são garantidos pelas operações de configurações realizadas em 301 a 302.
[0058] Em 303, pelo menos um sub-bloco de dados no status livre é selecionado a partir de todos os múltiplos sub-blocos de dados, e os dados armazenados no dispositivo de armazenamento de rede são armazenados no sub-bloco de dados selecionados de acordo com os requisitos da lógica de serviço.
[0059] Nesse processamento, os dados armazenados no dispositivo de armazenamento de rede são armazenados em uma matriz de buffer de dados bidimensionais e extensíveis da memória local compartilhada, e assim alcança o armazenamento de dados locais, de modo a solucionar o problema de baixa eficiência causado pela conexão ao dispositivo de armazenamento de rede através da rede a cada vez ao armazenar os dados e realizar a troca de dados. Quando os dados armazenados no dispositivo de armazenamento de rede devem ser armazenados na memória local compartilhada, deve ser determinado primeiro se há memória livre. Uma vez que a situação de armazenamento de dados de cada um dos sub-blocos de dados é identificada pelo status dos dados, e assim um sub-bloco de dados cujo status dos dados é o status livre pode ser selecionado a partir de todos dos sub- blocos de dados, e os dados armazenados no dispositivo de armazenamento de rede a serem armazenados nos sub-blocos de dados selecionados podem ser determinados de acordo com a lógica de serviço. O procedimento de carregamento nesse processamento será descrito em conjunto com a estrutura de sistema para o armazenamento de dados mostrado na Figura 2.
[0060] Na Figura 2, os endereços físicos da memória compartilhada são traduzidos para o endereço lógico de cada um do processo de lógica de serviço e do processo proxy de sincronização de dados durante a configuração de uma matriz de buffer de dados bidimensionais e extensíveis, e assim o endereço de cada um dos sub-blocos de dados em uma matriz de buffer de dados bidimensionais e extensíveis pode ser obtida pelo processo de lógica de serviço e os processos proxy de sincronização de dados. Quando os dados no dispositivo de armazenamento de rede são determinados ser armazenados na memória local compartilhada de acordo com a lógica de serviço, o processo de lógica de serviço seleciona pelo menos um sub-bloco de dados no status livre a partir de todos os sub-blocos de dados através de uma interface de dados de um dispositivo onde o processo de lógica de serviço está situado, obtém as coordenadas (N, n) do sub-bloco de dados ao qual os dados devem ser carregados. Em seguida, uma mensagem de carregamento de dados é enviada ao processo proxy de sincronização de dados por uma fila de mensagem através da inter face de dados do dispositivo onde o processo de lógica de serviço está situado. A mensagem de carregamento de dados carrega pelo menos as coordenadas do sub-bloco de dados selecionados, um tipo de operação e um identificador para os dados a serem carregados, de modo que o processo proxy de sincronização de dados saberá que a operação deve ser realizada para qual sub-bloco de dados. Esse processa-mento é para o carregamento de dados, e assim o tipo de operação contido na mensagem de carregamento de dados é "carregamento" e o identificador para os dados a serem carregados é usado para identificar os dados no dispositivo de armazenamento de rede a serem carregados. Na modalidade, o valor de tecla é considerado como o identificador para cada um dos dados, não importando se os dados são armazenados no dispositivo de armazenamento de rede ou armazenados na memória local compartilhada.
[0061] Depois de receber a mensagem de carregamento de dados, o processo proxy de sincronização de dados seleciona um segmento ocioso em um grupo de segmento e, em seguida, os dados a serem carregados são adquiridos a partir do dispositivo de armazenamento de rede via the segmento ocioso de acordo com a valor de tecla dos dados para serem carregados na mensagem de carregamento de dados. Na modalidade, o dispositivo de armazenamento de rede armazena todos os dados em um banco de dados. Com o propósito de aprimorar o armazenamento de dados e a eficiência da troca de dados, na modalidade, a frequência de chamada dos dados no banco de dados é determinada com antecedência, em seguida, os dados são classificados de acordo com uma frequência de chamada, como a partir de uma frequência de chamada mais alta para uma frequência de chamada mais baixa, e os dados que tem alta frequência de chamada são armazenados em um espaço de buffer e assim, os dados a serem carregados podem ser lidos pelo segmento no processo proxy de sin- cronização de dados diretamente a partir do espaço de buffer, aprimorando assim a eficiência de leitura dos dados. De acordo com uma modalidade, o segmento no processo proxy de sincronização de dados também pode operar diretamente o banco de dados se for permitido pelo desempenho de sistema, e não for limitado pela modalidade.
[0062] Enquanto adquire os dados a serem carregados, o segmento no processo proxy de sincronização de dados busca pelo espaço de buffer para os dados a serem carregados de acordo com um valor de tecla dos dados a serem carregados transportado pela mensagem de carregamento de dados. Se o espaço de buffer inclui os dados a serem carregados, o segmento transmite os dados a serem carregados ao processo proxy de sincronização de dados através de uma interface de sincronização de dados entre o espaço de buffer e os processo proxy de sincronização de dados. Se o espaço de buffer não inclui os dados a serem carregados, o segmento busca no banco de dados os dados a serem carregados, armazena os dados a serem carregados no espaço de buffer, e transmite os dados a serem carregados ao pro-cesso proxy de sincronização de dados através da interface de sincronização de dados entre o espaço de buffer e os processos proxy de sincronização de dados. Depois de receber os dados a serem carregados, ou encontrados a partir do espaço de buffer diretamente ou encontrados a partir do banco de dados, o processo proxy de sincronização de dados grava os dados a serem carregados em um sub-bloco de dados correspondente, isto é, o sub-bloco de dados que corresponde às coordenadas transportadas pela mensagem de carregamento de dados, através de uma interface de dados do processo proxy de sincronização de dados. Durante o processo de carregamento, o status dos dados do sub-bloco de dados ao qual os dados estão sendo carregados é modificado a partir do status livre para o status de carre-gamento. Depois que o processo de carregamento é finalizado, o sta tus dos dados é modificado a partir do status de carregamento para o status normal. Assim, o procedimento de carregamento dos dados armazenados no dispositivo de armazenamento de rede para a memória local compartilhada é finalizado. Se os dados são solicitados para serem chamados ou operados de modo subsequente, isso pode ser feito de modo local em vez de acessar o dispositivo de armazenamento de rede através da rede. Se os dados carregados na memória local compartilhada precisam ser modificados de acordo com a lógica de serviço, um processo de modificação é da seguinte forma.
[0063] Em 304, os dados no sub-bloco de dados são modificados de acordo com a lógica de serviço.
[0064] De acordo com uma modalidade, uma vez que os dados armazenados na memória local compartilhada variam de forma contínua à medida que o sistema é executado, é provável que os dados serão atualizados durante a troca de dados subsequente, e assim, é com frequência que os dados armazenados no sub-bloco de dados sejam modificados. Na modalidade, as condições de acionamento para modificar os dados não são limitadas. Para a modalidade, os dados armazenados no sub-bloco de dados podem ser modificados de acordo com a lógica de serviço quando um papel de um jogador sofre alterações, ou quando o estado do papel é trocado entre on-line e off-line. Quando os dados são modificados, o processo de lógica de serviço pode substituir os dados armazenados no sub-bloco de dados pelos dados modificados através de uma interface de dados de um dispositivo onde o processo de lógica de serviço está situado. Depois que a modificação é finalizada, o status dos dados do sub-bloco de dados é modificado a partir do status normal para o status modificado.
[0065] Em 305, o status dos dados de cada um dos múltiplos sub- blocos de dados é agrupado de modo regular, e se o status dos dados dos dados no sub-bloco de dados for o status modificado, os dados são sincronizados para o dispositivo de armazenamento de rede.
[0066] De acordo com uma modalidade, depois que os dados no sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis são modificados, com o propósito de manter a sincronização de dados entre a memória local compartilhada e o dispositivo de armazenamento de rede e assim, evitar a eficiência de perda de dados, o status dos dados de cada um dos sub-blocos de dados é agru-pado de modo regular pelo processo proxy de sincronização de dados, e se o status dos dados dos dados em um sub-bloco de dados é o status modificado, os dados são sincronizados no dispositivo de armazenamento de rede. De acordo com uma modalidade, o processo proxy de sincronização de dados de modo regular agrupa o status dos dados da estrutura de cabeça de cada sub-bloco de dados através de uma interface de dados de um dispositivo onde o processo proxy de sincronização de dados está situado. Determina-se que o status dos dados de um sub-bloco de dados é o status modificado, o que significa que os dados no sub-bloco de dados são os dados modificados, o processo proxy de sincronização de dados adquire os dados modificados e o valor de tecla dos dados modificados a partir do sub-bloco de dados através de uma interface de dados de um dispositivo onde o processo proxy de sincronização de dados está situado, e seleciona um segmento ocioso a partir de um grupo de segmento. Os dados no espaço de buffer que têm o mesmo valor de tecla que os dados modificados são substituídos pelos dados modificados através do segmento ocioso. Depois disso, o dispositivo de armazenamento de rede pode sincronizar imediatamente os dados modificados no espaço de buffer com o banco de dados, ou pode verificar os dados atualizados no espaço de buffer e sincronizar os dados modificados em um determinado período de tempo no banco de dados de uma só vez.
[0067] De acordo com uma modalidade, a fim de evitar o molde de que os mesmos dados modificados sejam sincronizados de maneira repetida ao dispositivo de armazenamento de rede em processamento subsequente, depois da sincronização dos dados no sub-bloco de dados cujo status dos dados é o status modificado ao dispositivo de armazenamento de rede, o processo proxy de sincronização de dados modifica o status dos dados do sub-bloco de dados cujo status dos dados foi o status modificado para o status normal.
[0068] Além disso, de acordo com uma modalidade, quando os dados no sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis são modificados com frequência, os dados precisam ser sincronizados no dispositivo de armazenamento de rede com frequência. Se o processo proxy de sincronização de dados não tem tempo suficiente para responder, um fenômeno de hora extra pode ocorrer ao sincronizar os dados. Para solucionar esse problema, de acordo com uma modalidade, um tempo extra de sincronização de dados é configurado de acordo com uma política de configuração predeterminada, e o tempo gasto pelo processo proxy de sincronização de dados na sincronização dos dados é monitorado. Se o tempo gasto pelo processo proxy de sincronização de dados na sincronização dos dados exceder o tempo extra de sincronização de dados, um código de status de tempo extra de serviço de dados pode retornar ao processo de lógica de serviço através de uma interface de dados de um dispositivo onde o processo de lógica de serviço está situado, e o processo de lógica de serviço pode determinar se sincroniza os dados novamente.
[0069] Além disso, além da operação de sincronização de dados acionada pela modificação dos dados no sub-bloco de dados, de acordo com a lógica de serviço, os dados no sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis podem não mais variar à medida que o sistema é executado e assim, o armaze- namento permanente dos dados é exigido. A fim de alcançar o armazenamento permanente dos dados, as operações de sincronização de dados a seguir são exigidas.
[0070] Em 306, os dados no sub-bloco de dados são sincronizados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço, e a memória compartilhada que corresponde ao sub- bloco de dados é liberada.
[0071] A operação de sincronização em 306 é diferente daquela em 305. A operação de sincronização em 305 é acionada pela modificação de dados em um sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis, de modo a manter a consistência dos dados entre a memória local compartilhada e o dispositivo de armazenamento de rede. A operação de sincronização em 306 é acionada caso seja determinado de acordo com a lógica de serviço que os dados em um sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis não variam mais à medida que o sistema é executado e o armazenamento permanente dos dados é exigido. Uma vez que os dados não variam à medida que o sistema é executado e assim, a memória compartilhada ocupada por tais dados pode ser liberada.
[0072] De acordo com uma modalidade, conforme mostrado na Figura 2, quando a lógica de serviço precisa liberar o espaço de memória, o status dos dados do sub-bloco de dados que armazena os dados a serem liberado é modificado através de uma interface de dados de um dispositivo onde o processo de lógica de serviço está situado chamado pelo processo de lógica de serviço, isto é, o status dos dados do sub-bloco de dados que armazena os dados a serem removidos é modificados a partir do status normal para o status de remoção e, em seguida, uma mensagem de liberação de sincronização de dados é enviada ao processo proxy de sincronização de dados através de uma fila de mensagem através da interface de dados. A mensagem de liberação de sincronização de dados transporta as coordenadas do sub-bloco de dados que armazena os dados a serem removidos, um tipo de operação e um identificador dos dados a serem removidos, de modo que o processo proxy de sincronização de dados pode determinar qual operação deve ser realizada para qual sub-bloco de dados. Uma vez que essa operação é a operação de liberação de sincronização, o tipo de operação transportado na mensagem de liberação de sincronização de dados é "remover", e o identificador dos dados a serem removidos é usado para identificar os dados a serem removidos no sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis. De acordo com uma modalidade, o valor de tecla é considerado como o identificador de cada dado, não importa se os dados são armazenados no dispositivo de armazenamento de rede ou armazenados na memória local compartilhada.
[0073] Depois de receber a mensagem de liberação de sincronização de dados, o processo proxy de sincronização de dados obtém os dados a partir do sub-bloco de dados que corresponde às coordenadas carregadas na mensagem de liberação de sincronização de dados ao chamar uma interface de dados de um dispositivo onde o processo proxy de sincronização de dados está situado, e seleciona um segmento ocioso em um grupo de segmento, de modo que os dados obtidos a partir do sub-bloco de dados são sincronizados para o banco de dados no dispositivo de armazenamento de rede através do segmento ocioso, e armazenados pelo banco de dados por um período prolongado.
[0074] De acordo com uma modalidade, durante a operação de liberação de sincronização de dados realizada pelo processo proxy de sincronização de dados, a interface de dados de um dispositivo onde o processo de lógica de serviço está situado de modo regular detecta se os dados foram removidos completamente. Se for detectado que nenhum dado está included no sub-bloco de dados que corresponde às coordenadas carregadas na mensagem de liberação de sincronização de dados, é determinado que a remoção é finalizada, isto é, a memória compartilhada ocupada pelo sub-bloco de dados é liberada. O status dos dados do sub-bloco de dados é modificado para o status livre a partir do status de remoção e assim, o sub-bloco de dados pode ser atribuído novamente para o carregamento de dados. É detectado que o sub-bloco de dados que corresponde às coordenadas carregadas na mensagem de liberação de sincronização de dados inclui os dados, é determinado que a remoção não foi finalizada. Se a remoção não for finalizada depois de um período predeterminado, é determinado que a remoção falhou, isto é, a memória compartilhada ocupada pelo sub- bloco de dados não é liberada corretamente, e o status dos dados do sub-bloco de dados é modificado para o status de assinalar a remoção a partir do status de remoção. O período predeterminado não é limitado na modalidade.
[0075] De acordo com uma modalidade, se o status dos dados do sub-bloco de dados for o assinalar remover, para liberar a memória compartilhada ocupada pelo sub-bloco de dados corretamente, o status dos dados de cada sub-bloco de dados é consultado de modo regular pelo processo proxy de sincronização de dados. Se o sub-bloco de dados que tem o status dos dados de remover assinalado for en-contrado, o processamento de sincronização dos dados do sub-bloco de dados no dispositivo de armazenamento de rede realizado pelo processo proxy de sincronização de dados é acionado. Depois que a interface de dados do dispositivo onde o processo de lógica de serviço está situado detecta que os dados no sub-bloco de dados que têm o status dos dados do status de assinalar a remoção é removido corretamente, o status dos dados do sub-bloco de dados é modificado para o status livre a partir do status de assinalar a remoção, de modo que o sub-bloco de dados pode ser atribuído novamente para o carregamento de dados.
[0076] De acordo com os métodos fornecidos pelas modalidades da presente descrição, os dados são armazenados de modo local ao configurar a matriz de buffer de dados bidimensionais e extensíveis na memória local compartilhada de acordo com a política de configuração predefinida e armazenar os dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, aprimorando assim a eficiência do armazenamento de dados e da troca de dados. A extensibilidade da estrutura de dados é aprimorada uma vez que a matriz de buffer de dados bidimensionais e extensíveis para o armazenamento de dados é extensível, e assim, o requisitos da lógica de serviço são satisfeitos. Além disso, os dados na memória local compartilhada e o dispositivo de armazenamento de rede são sincronizados ao sincronizar os dados modificados ao dispositivo de armazenamento de rede depois que os dados no bloco de dados são modificados e assim, a perda de dados é evitada.
[0077] De acordo com uma modalidade da presente descrição, um aparelho para o armazenamento de dados é fornecido. O aparelho é usado para executar o método para o armazenamento de dados de acordo com a modalidade acima. Com referência à Figura 7, o aparelho inclui um módulo de configuração 701 e um módulo de carregamento 702.
[0078] O módulo de configuração 701 deve configurar uma matriz de buffer de dados bidimensionais e extensíveis em uma memória de compartilhamento local de acordo com uma política de configuração predefinida. A matriz de buffer de dados bidimensionais inclui múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados ló- gicos inclui múltiplos sub-blocos de dados para o armazenamento de dados.
[0079] O módulo de carregamento 702 deve armazenar os dados em um dispositivo de armazenamento de rede em um sub-bloco de dados que corresponde aos dados de acordo com um requisito de lógica de serviço.
[0080] A memória local compartilhada se refere a uma memória de grande capacidade que pode ser acessada por diferentes CPUs em um sistema de computador com múltiplos processadores. A memória local compartilhada pode ser lida ou gravada diretamente, aprimorando assim a eficiência de processamento dos processadores. As operações realizadas pelo módulo de configuração 701 para configurar a matriz de buffer de dados bidimensionais e extensíveis na memória local compartilhada podem se referir ao processamento em 301 na modalidade acima, que não será aqui descrita.
[0081] Com referência à Figura 8, o aparelho pode incluir ainda um módulo de definição 703. O módulo de definição 703 deve definir um status dos dados para cada um dos múltiplos sub-blocos de dados de acordo com situação de armazenamento de dados em cada um dos múltiplos sub-blocos de dados. O status dos dados é um de: um status livre, um status de carregamento, um status normal, um status modificado, um status de remoção e um status de assinalar a remoção. As operações realizadas pelo módulo de definição 703 para definir o status dos dados podem se referir ao processamento em 302 descrito na modalidade acima, que não será descrita aqui.
[0082] Com referência à Figura 9, o aparelho pode incluir ainda um módulo de modificação 704 e um módulo de sincronização de modificação 705. O módulo de modificação 704 deve modificar os dados armazenados no sub-bloco de dados de acordo com lógica de serviço. O módulo de sincronização de modificação 705 deve sincronizar os da dos modificados pelo módulo de modificação 704 com o dispositivo de armazenamento de rede.
[0083] Com referência à Figura 10, o módulo de sincronização de modificação 705 inclui uma unidade de classificação 7051 e uma unidade de sincronização de modificação 7052. A unidade de classificação 7051 deve classificar de modo regular o status dos dados de cada um dos múltiplos sub-blocos de dados. A unidade de sincronização de modificação 7052 deve sincronizar os dados no sub-bloco de dados que têm o status dos dados do status modificado classificado pela unidade de classificação 7051 com o dispositivo de armazenamento de rede. De acordo com uma modalidade, o módulo de sincronização de modificação 705 inclui ainda uma unidade de modificação de status 7053 para modificar o status dos dados do sub-bloco de dados a partir do status modificado para o status normal. As operações realizadas pela unidade de classificação do módulo de sincronização de modificação 705 para classificar o status dos dados dos sub-bloco de dados e as operações realizadas pela unidade de sincronização de modificação 7052 para modificar os dados podem se referir ao processamento em 304 na modalidade acima, que não será descrita de maneira repetida aqui.
[0084] Com referência à Figura 11, o aparelho pode incluir ainda um módulo de sincronização de liberação 706 e um módulo de liberação 707.
[0085] O módulo de sincronização de liberação 706 deve sincronizar os dados no sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com lógica de serviço. O módulo de liberação 707 deve remover a memória compartilhada que corresponde ao sub-bloco de dados, depois que o módulo de sincronização de liberação 706 sincroniza os dados no sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço.
[0086] Além disso, com referência à Figura 11, o módulo de sincronização de liberação 706 inclui uma unidade de consulta 7061 e uma unidade de sincronização de liberação 7062. A unidade de consulta 7061 deve consultar o status dos dados de cada um dos múltiplos sub-blocos de dados. A unidade de sincronização de liberação 7062 deve sincronizar os dados no sub-bloco de dados que têm o status dos dados do status de assinalar a remoção consultado pela unidade de consulta com o dispositivo de armazenamento de rede. Além disso, o módulo de sincronização de liberação 706 inclui ainda uma unidade de modificação de status 7063 para modificar o status dos dados do sub-bloco de dados que têm o status dos dados do status de assinalar a remoção para o status normal. As operações realizadas pela unidade de consulta 7061 para consultar o status dos dados e as operações realizadas pela unidade de sincronização de liberação 7062 podem se referir ao processamento em 305 na modalidade acima, que não será descrita aqui.
[0087] Com referência à Figura 12, o módulo de carregamento 702 inclui uma unidade de seleção 7021 e uma unidade de carregamento 7022. A unidade de seleção 7021 deve selecionar um sub-bloco de dados que tem o status dos dados do status livre a partir de todos os múltiplos sub-blocos de dados. A unidade de carregamento 7022 deve armazenar os dados armazenados no dispositivo de armazenamento de rede no sub-bloco de dados selecionado pela unidade de seleção 7021 de acordo com requisitos de serviço lógico. Além disso, o módulo de carregamento 702 inclui ainda uma unidade de modificação de status 7023 para modificar o status dos dados do sub-bloco de dados selecionados a partir do status livre para o status de carregamento. Depois do carregamento dos dados é finalizado, a unidade de modificação de status 7023 deve modificar o status dos dados do sub-bloco de dados selecionados a partir do status de carregamento para o status normal. A maneira usada pela unidade de seleção 7021 para selecionar o sub-bloco de dados e as operações realizadas pela unidade de carregamento 7022 para o carregamento dos dados pode se referir ao processamento em 303 na modalidade acima, que não será descrita aqui.
[0088] Com referência à Figura 13, o aparelho inclui ainda um módulo de estabelecimento 708 e um módulo de atualização 709. O módulo de estabelecimento 708 deve estabelecer uma tabela de relação entre uma matriz de buffer de dados bidimensionais e extensíveis e o dispositivo de armazenamento de rede, e gravar a situação de armazenamento de dados de cada um dos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis. A tabela de relação é armazenada no dispositivo de armazenamento de rede. O módulo de atualização 709 deve atualizar a tabela de relação de acordo com a variação de dados nos sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis. Cada um dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e ex-tensíveis corresponde a uma tabela de relação, e cada um dos sub- blocos de dados no bloco de dados lógicos corresponde a uma gravação na tabela de relação.
[0089] De acordo com o aparelho fornecido pelas modalidades da presente descrição, os dados são armazenados de modo local ao configurar a matriz de buffer de dados bidimensionais e extensíveis na memória local compartilhada de acordo com a política de configuração predefinida e armazenar os dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, aprimorando assim a eficiência do armazenamento de dados e da troca de dados. A extensibilidade da estrutura de dados é aprimorada uma vez que a matriz de buffer de dados bidimensionais e extensíveis para o armazenamento de dados é extensível, e assim, o requisitos da lógica de serviço são satisfeitos. Além disso, os dados na memória local compartilhada e o dispositivo de armazenamento de rede são sincronizados ao sincronizar os dados modificados ao dispositivo de armazenamento de rede depois que os dados no bloco de dados são modificados e assim, a perda de dados é evitada.
[0090] Observa-se que, ao armazenar os dados, o aparelho para o armazenamento de dados de acordo com uma modalidade é dividido em módulos de função apenas a título de modalidade. Na prática, as funções podem ser realizadas por diferentes módulos de função, conforme necessário, isto é, a estrutura interna do aparelho pode ser dividida em diferentes módulos de função para executar todas ou parte das funções descritas acima. Além disso, o aparelho para o armazenamento de dados de acordo com a modalidade e o método para o armazenamento de dados pertence a um conceito geral, as modalidades que se referem ao aparelho não serão descritas aqui.
[0091] Os métodos, módulos e dispositivos aqui descritos podem ser utilizados por hardware, instruções legíveis por máquina ou uma combinação de hardware e instruções legíveis por máquina. As instruções legíveis por máquina usadas nas modalidades apresentadas aqui podem ser armazenadas no meio de armazenamento legível por múltiplos processadores, como disco rígido, CD-ROM, DVD, disco com-pacto, disco floppy, unidade de fita magnética, RAM, ROM ou outro dispositivo de armazenamento adequado. Ou, pelo menos parte das instruções legíveis por máquina pode ser substituída pelo hardware de propósito específico, como os circuitos integrados personalizados, o conjunto de porta, FPGA, PLD e os computadores de propósito específico, e assim por diante.
[0092] Um meio de armazenamento legível por máquina também é fornecido, que deve armazenar as instruções para fazer com que uma máquina execute um método conforme descrito na presente invenção. De maneira específica, um sistema ou aparelho que tem um meio de armazenamento que armazena os códigos de programa legíveis por máquina para implementar as funções de qualquer uma das modalidades acima e que pode fazer com que o sistema ou o aparelho (ou CPU ou MPU) leiam e executem os códigos de programa armazenados no meio de armazenamento.
[0093] Nessa situação, os códigos de programa lidos a partir do meio de armazenamento podem implementar qualquer uma das modalidades anteriores, sendo que os códigos de programa e o meio de armazenamento que armazenam os códigos de programa fazem parte do sistema técnico.
[0094] O meio de armazenamento para fornecer os códigos de programa pode incluir disco floppy, unidade rígida, disco magneto- óptico, disco compacto (como CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), unidade de fita magnética, cartão flash, ROM e assim em diante. De modo opcional, o código de pro-grama pode ser transferido a partir de um computador de servidor através de uma rede de computador.
[0095] Observa-se que, de modo alternativo aos códigos de programa sendo executados por um computador, pelo menos parte das operações realizadas pelos códigos de programa pode ser implementada por um sistema operacional sendo executado em um computador que segue as instruções com base nos códigos de programa para realizar um esquema técnico de qualquer uma das modalidades acima.
[0096] Além disso, os códigos de programa utilizados a partir de um meio de armazenamento são gravados em um armazenamento em uma placa de extensão inserida no computador ou em um armazenamento em uma unidade de extensão conectada ao computador. Nessa modalidade, uma CPU na placa de extensão ou na unidade de exten- são executa pelo menos parte das operações de acordo com as instruções com base nos códigos de programa para realizar um esquema técnico de qualquer uma das modalidades acima.
[0097] Embora tenha sido descrito especificamente em toda a totalidade da presente descrição, as modalidades representativas do presente descrição têm utilidade sobre uma ampla gama de aplicações, e a discussão acima não pretende e não deve ser interpretada como sendo limitante, mas é oferecida como uma discussão ilustrativa de aspectos da descrição.

Claims (20)

1. Método para o armazenamento de dados, caracterizado pelo fato de que compreende: configurar (101) uma matriz de buffer de dados bidimensionais e extensíveis em uma memória local compartilhada de acordo com uma política de configuração predefinida; a matriz de buffer de dados bidimensionais e extensíveis que compreende múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos que compreende múltiplos sub-blocos de dados para o armazenamento de dados; e armazenar (102) os dados em um dispositivo de armazenamento de rede em um sub-bloco de dados que corresponde aos dados de acordo com os requisitos de serviço lógico; em que após configurar (101) a matriz de buffer de dados bidimensional extensível na memória compartilhada local de acordo com a política de configuração predefinida, o método compreende ainda: estabelecer uma tabela de relação entre uma matriz de buffer de dados bidimensionais e extensíveis e o dispositivo de armazenamento de rede; e atualizar a tabela de relação de acordo com a variação de dados nos sub-bloco de dados de uma matriz de buffer de dados bidimensionais e extensíveis; a tabela de relação sendo armazenada no dispositivo de armazenamento de rede e que grava a situação de armazenamento de dados de cada um dos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis; e cada um dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis que corresponde a uma tabela de relação, e cada um dos sub-blocos de dados no bloco de dados lógicos que corresponde a uma gravação na tabela de relação.
2. Método, de acordo com a reivindicação 1, caracterizado por depois da configuração (101) da matriz de buffer de dados bidi-mensionais e extensíveis na memória local compartilhada de acordo com a política de configuração predefinida, compreende ainda: Definir (302) um status dos dados para cada um dos múltiplos sub-blocos de dados de acordo com a situação de armazenamento de dados em cada um dos múltiplos sub-blocos de dados; o status dos dados que compreende um dentre um status livre, um status de carregamento, um status normal, um status modificado, um status de remoção e um status de assinalar a remoção.
3. Método, de acordo com a reivindicação 2, caracterizado por depois do armazenamento (102) dos dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, compreende ainda: modificar (304) os dados armazenados em um sub-bloco de dados de acordo com a lógica de serviço, e sincronizar os dados modificados para o dispositivo de armazenamento de rede.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a sincronização dos dados modificados para o dispositivo de armazenamento de rede compreende: Classificar (305) o status dos dados de cada um dos múltiplos sub-blocos de dados de modo regular, e sincronizar (305) os dados em um sub-bloco de dados para o dispositivo de armazenamento de rede quando um status dos dados do sub-bloco de dados é um status modificado.
5. Método, de acordo com a reivindicação 4, caracterizado por depois da sincronização dos dados no sub-bloco de dados para o dispositivo de armazenamento de rede, o método compreende ainda: modificar o status dos dados do sub-bloco de dados a partir de um status modificado para um status normal.
6. Método, de acordo com a reivindicação 2, caracterizado por depois do armazenamento (102) dos dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço, caracterizado pelo fato de que compreende ainda: sincronizar (306) os dados em um sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço, e liberar (306) a memória compartilhada que corresponde ao sub-bloco de dados.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a sincronização dos dados no sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço compreende: consultar o status dos dados de cada um dos múltiplos sub- blocos de dados; e sincronizar os dados em um sub-bloco de dados para o dispositivo de armazenamento de rede quando um status dos dados do sub-bloco de dados é um status de assinalar a remoção.
8. Método, de acordo com a reivindicação 7, caracterizado por depois da sincronização dos dados no sub-bloco de dados para o dispositivo de armazenamento de rede, o método compreende ainda: modificar o status dos dados do sub-bloco de dados a partir de um status de assinalar a remoção para um status normal.
9. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o armazenamento (102) dos dados no dispositivo de armazenamento de rede no sub-bloco de dados que corresponde aos dados de acordo com os requisitos da lógica de serviço compreende: selecionar um sub-bloco de dados que tem um status dos dados de um status livre a partir de todos os múltiplos sub-blocos de dados, e armazenar os dados no dispositivo de armazenamento de rede no sub-bloco de dados selecionados de acordo com os requisitos da lógica de serviço.
10. Método, de acordo com a reivindicação 9, caracterizado por depois do armazenamento (102) dos dados no dispositivo de armazenamento de rede nos sub-blocos de dados selecionados, compreende ainda: modificar o status dos dados do sub-bloco de dados selecionados a partir de um status livre para um status de carregamento; e modificar o status dos dados do sub-bloco de dados selecionados a partir do status de carregamento para um status normal depois que o carregamento dos dados é finalizado.
11. Aparelho para o armazenamento de dados, caracterizado pelo fato de que compreende: um módulo de configuração (701), configurado para configurar uma matriz de buffer de dados bidimensionais e extensíveis em uma memória local compartilhada de acordo com uma política de configuração predefinida; a matriz de buffer de dados bidimensionais e extensíveis que compreende múltiplos blocos de dados lógicos, e cada um dos múltiplos blocos de dados lógicos que compreende múltiplos sub-blocos de dados para o armazenamento de dados; e um módulo de carregamento (702), configurado para armazenar os dados em um dispositivo de armazenamento de rede em um sub-bloco de dados que corresponde aos dados de acordo com os requisitos de serviço lógico; o aparelho compreendendo ainda: um módulo de estabelecimento (708), configurado para estabelecer uma tabela de relação entre uma matriz de buffer de dados bidimensionais e extensíveis e o dispositivo de armazenamento de rede; a tabela de relação sendo armazenada no dispositivo de armazenamento de rede e que grava a situação de armazenamento de dados de cada um dos sub-blocos de dados de uma matriz de buffer de da- dos bidimensionais e extensíveis; e um módulo de atualização (709), para atualizar a tabela de relação de acordo com a variação de dados nos sub-blocos de dados de uma matriz de buffer de dados bidimensionais e extensíveis; em que cada um dos blocos de dados lógicos em uma matriz de buffer de dados bidimensionais e extensíveis corresponde a uma tabela de relação, e cada um dos sub-blocos de dados no bloco de dados lógicos corresponde a uma gravação na tabela de relação.
12. Aparelho, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende ainda: um módulo de definição (703), configurado para definir um status dos dados para cada um dos múltiplos sub-blocos de dados de acordo com a situação de armazenamento de dados em cada um dos múltiplos sub-blocos de dados; o status dos dados que compreende um dentre um status livre, um status de carregamento, um status normal, um status modificado, um status de remoção e um status de assinalar a remoção.
13. Aparelho, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende ainda: um módulo de modificação (704), configurado para modificar os dados armazenados em um sub-bloco de dados de acordo com a lógica de serviço; e um módulo de sincronização de modificação (705), configurado para sincronizar os dados modificados pelo módulo de modificação (704) para o dispositivo de armazenamento de rede.
14. Aparelho, de acordo com a reivindicação 13, caracterizado pelo fato de que o módulo de sincronização de modificação (705) compreende: uma unidade de classificação (7051), configurada para classificar o status dos dados de cada um dos múltiplos sub-blocos de dados de modo regular; e uma unidade de sincronização de modificação (7052), configurada para sincronizar os dados em um sub-bloco de dados para o dispositivo de armazenamento de rede, quando um status dos dados do sub-bloco de dados classificado pela unidade de classificação (7051) é um status modificado.
15. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que o módulo de sincronização de modificação (705) compreende ainda: uma unidade de modificação de status (7053), configurada para modificar o status dos dados do sub-bloco de dados a partir de um status modificado para um status normal.
16. Aparelho, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende ainda: um módulo de sincronização de liberação (706), configurado para sincronizar os dados em um sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço; e um módulo de liberação (707), configurado para liberar a memória compartilhada que corresponde ao sub-bloco de dados, depois que o módulo de sincronização de liberação (706) sincroniza os dados no sub-bloco de dados para o dispositivo de armazenamento de rede de acordo com a lógica de serviço.
17. Aparelho, de acordo com a reivindicação 16, caracterizado pelo fato de que o módulo de sincronização de liberação (706) compreende: uma unidade de consulta (7061), configurada para consultar o status dos dados de cada um dos múltiplos sub-blocos de dados; e uma unidade de sincronização de liberação (7062), configurada para sincronizar os dados em um sub-bloco de dados para o dis- positivo de armazenamento de rede, quando um status dos dados do sub-bloco de dados consultado pela unidade de consulta (7061) é um status de assinalar a remoção.
18. Aparelho, de acordo com a reivindicação 17, caracterizado pelo fato de que o módulo de sincronização de liberação (706) compreende ainda: uma unidade de modificação de status (7063), configurada para modificar o status dos dados do sub-bloco de dados a partir de um status de assinalar a remoção para um status normal.
19. Aparelho, de acordo com a reivindicação 12, caracterizado pelo fato de que o módulo de carregamento (702) compreende: uma unidade de seleção (7021), configurada para selecionar um sub-bloco de dados que tem um status dos dados de um status livre a partir de todos os múltiplos sub-blocos de dados; e uma unidade de carregamento (7022), configurada para armazenar os dados armazenados no dispositivo de armazenamento de rede no sub-bloco de dados selecionado pela unidade de seleção (7021) de acordo com os requisitos da lógica de serviço.
20. Aparelho, de acordo com a reivindicação 19, caracterizado pelo fato de que o módulo de carregamento (702) compreende ainda: uma unidade de modificação de status (7023), configurada para modificar o status dos dados do sub-bloco de dados selecionado pela unidade de seleção (7021) a partir de um status livre para um status de carregamento; e modificar o status dos dados do sub-bloco de dados selecionado pela unidade de seleção (7021) a partir do status de carregamento para um status normal depois que o carregamento dos dados é finalizado.
BR112014021885-4A 2012-03-09 2013-03-01 Método e dispositivo de armazenamento de dados BR112014021885B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210061555.8 2012-03-09
CN201210061555.8A CN103309818B (zh) 2012-03-09 2012-03-09 存储数据的方法及装置
PCT/CN2013/072042 WO2013131443A1 (zh) 2012-03-09 2013-03-01 存储数据的方法及装置

Publications (2)

Publication Number Publication Date
BR112014021885A2 BR112014021885A2 (pt) 2017-06-20
BR112014021885B1 true BR112014021885B1 (pt) 2022-05-17

Family

ID=49115942

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014021885-4A BR112014021885B1 (pt) 2012-03-09 2013-03-01 Método e dispositivo de armazenamento de dados

Country Status (9)

Country Link
US (1) US20150006486A1 (pt)
EP (1) EP2824893B1 (pt)
JP (1) JP5851055B2 (pt)
KR (1) KR101663215B1 (pt)
CN (1) CN103309818B (pt)
BR (1) BR112014021885B1 (pt)
MX (1) MX352050B (pt)
PH (1) PH12014501932A1 (pt)
WO (1) WO2013131443A1 (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL235729A (en) * 2014-11-17 2017-06-29 Kaluzhny Uri A device and method for securely storing information
CN107040396A (zh) * 2016-02-03 2017-08-11 博雅网络游戏开发(深圳)有限公司 配置信息获取方法和装置
CN107346307B (zh) * 2016-05-04 2021-02-26 北京京东尚科信息技术有限公司 分布式缓存系统及方法
CN107562775B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107608627B (zh) * 2017-08-21 2020-10-02 云宏信息科技股份有限公司 一种远端数据分级存储方法、电子设备及存储介质
CN108073687B (zh) * 2017-11-17 2020-09-08 阿里巴巴集团控股有限公司 随机游走、基于集群的随机游走方法、装置以及设备
CN108566552B (zh) * 2018-04-20 2021-05-25 四川长虹网络科技有限责任公司 适用于数字机顶盒的多媒体播放方法及系统
CN109284236B (zh) * 2018-08-28 2020-04-17 北京三快在线科技有限公司 数据预热方法、装置、电子设备及存储介质
CN112448983B (zh) * 2019-09-02 2023-09-19 广州彩熠灯光股份有限公司 一种将多个物理设备集群为一逻辑设备的方法
CN113971195A (zh) * 2020-07-23 2022-01-25 北京字节跳动网络技术有限公司 同步数据方法、装置、电子设备和介质
CN115617770B (zh) * 2022-11-17 2023-03-28 达芬骑动力科技(北京)有限公司 一种用于车辆状态信号数据存储的数据磁盘存储管理方法
CN116107517B (zh) * 2023-04-11 2023-06-09 远江盛邦(北京)网络安全科技股份有限公司 数据同步方法、装置、电子设备和存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269608B2 (en) * 2001-05-30 2007-09-11 Sun Microsystems, Inc. Apparatus and methods for caching objects using main memory and persistent memory
JP2005004282A (ja) * 2003-06-09 2005-01-06 Nec Corp ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
CN1279455C (zh) * 2003-11-14 2006-10-11 清华大学 光纤通道-存储区域网络系统的逻辑单元号高速缓存方法
US7117310B2 (en) * 2004-02-18 2006-10-03 Lsi Logic Corporation Systems and methods for cache synchronization between redundant storage controllers
US7272687B2 (en) * 2005-02-01 2007-09-18 Lsi Corporation Cache redundancy for LSI raid controllers
JP4819369B2 (ja) * 2005-02-15 2011-11-24 株式会社日立製作所 ストレージシステム
US8035650B2 (en) * 2006-07-25 2011-10-11 Qualcomm Incorporated Tiled cache for multiple software programs
US20080091895A1 (en) * 2006-10-11 2008-04-17 Inventec Corporation Cache data backup method and system for computer clustering systems
CN101329657A (zh) * 2007-06-19 2008-12-24 瑞达信息安全产业股份有限公司 一种用于多应用间的安全共享动态内存系统和方法
JP4430092B2 (ja) * 2007-08-28 2010-03-10 富士通株式会社 Raid装置、raid装置の制御部およびraid装置のライトバック制御方法
CN101398821A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 基于本地缓存和虚拟文件系统技术的网络存储方法及系统
CN101431525B (zh) * 2007-11-06 2012-08-29 北京傲游天下科技有限公司 网络内容加载的加速方法、系统及其服务器和终端
CN101330510A (zh) * 2008-06-19 2008-12-24 腾讯数码(深圳)有限公司 下发目录树数据的方法、系统和服务器,以及一种客户端
US8868838B1 (en) * 2008-11-21 2014-10-21 Nvidia Corporation Multi-class data cache policies
WO2011149564A1 (en) * 2010-05-28 2011-12-01 Tetris Online, Inc. Interactive hybrid asynchronous computer game infrastructure
CN102035881B (zh) * 2010-11-19 2013-01-16 清华大学 一种云端存储系统的数据缓存方法
CN103609117B (zh) * 2011-06-16 2017-07-04 飞思卡尔半导体公司 编码和解码图像的方法及装置

Also Published As

Publication number Publication date
BR112014021885A2 (pt) 2017-06-20
US20150006486A1 (en) 2015-01-01
CN103309818A (zh) 2013-09-18
JP5851055B2 (ja) 2016-02-03
WO2013131443A1 (zh) 2013-09-12
EP2824893A1 (en) 2015-01-14
MX2014010780A (es) 2014-10-14
PH12014501932B1 (en) 2014-11-24
EP2824893B1 (en) 2018-06-13
KR20140133603A (ko) 2014-11-19
MX352050B (es) 2017-11-06
EP2824893A4 (en) 2015-05-27
KR101663215B1 (ko) 2016-10-14
PH12014501932A1 (en) 2014-11-24
JP2015509635A (ja) 2015-03-30
CN103309818B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
BR112014021885B1 (pt) Método e dispositivo de armazenamento de dados
US9891858B1 (en) Deduplication of regions with a storage system
US9454533B2 (en) Reducing metadata in a write-anywhere storage system
CN106354425B (zh) 基于数据属性的数据布局的方法和系统
US9213489B1 (en) Data storage architecture and system for high performance computing incorporating a distributed hash table and using a hash on metadata of data items to obtain storage locations
TWI804466B (zh) 擷取記憶體中儲存的資料的方法與去重複模組
TWI828901B (zh) 使用電路實現的軟體和用於金鑰值儲存的方法
TWI771933B (zh) 借助命令相關過濾器來進行重複資料刪除管理的方法、主裝置以及儲存伺服器
US8407437B1 (en) Scalable metadata acceleration with datapath metadata backup
WO2013071882A1 (zh) 用于机群文件系统的元数据存储系统和管理方法
WO2017113888A1 (zh) 数据写入装置及方法
WO2021223468A1 (zh) 一种基于ssd的日志数据保存方法、装置、设备和介质
WO2014012390A1 (zh) 数据处理方法及装置、共享存储设备
WO2016095761A1 (zh) 缓存的处理方法和装置
TWI617924B (zh) 記憶體資料分版技術
WO2022121471A1 (zh) 一种l2p表的保存方法、系统、设备以及介质
US20150242128A1 (en) Hardware interconnect based communication between solid state drive controllers
Guo et al. HP-mapper: A high performance storage driver for docker containers
WO2020057479A1 (zh) 地址映射表项页管理
TW201308193A (zh) 一種文件分配表的資料儲存方法
WO2016206070A1 (zh) 一种文件更新方法及存储设备
CN102868739B (zh) 应用于ip san集群存储系统的交换设备
US8655892B2 (en) Data reorganization
US10503409B2 (en) Low-latency lightweight distributed storage system
JP2018504689A5 (pt)

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 29/08

Ipc: H04L 29/08 (2006.01), G06F 3/06 (2006.01), G06F 16

B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 29/08 , G06F 3/06 , G06F 16/27

Ipc: G06F 12/00 (2006.01), G06F 3/06 (2006.01), G06F 16

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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