BR112016004490B1 - aparelho e método de armazenamento de dados - Google Patents

aparelho e método de armazenamento de dados Download PDF

Info

Publication number
BR112016004490B1
BR112016004490B1 BR112016004490-8A BR112016004490A BR112016004490B1 BR 112016004490 B1 BR112016004490 B1 BR 112016004490B1 BR 112016004490 A BR112016004490 A BR 112016004490A BR 112016004490 B1 BR112016004490 B1 BR 112016004490B1
Authority
BR
Brazil
Prior art keywords
data
data object
row identifier
keyvalue
format
Prior art date
Application number
BR112016004490-8A
Other languages
English (en)
Other versions
BR112016004490B8 (pt
Inventor
Jieshan BI
Wei ZHI
Original Assignee
Huawei Technologies Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Publication of BR112016004490B1 publication Critical patent/BR112016004490B1/pt
Publication of BR112016004490B8 publication Critical patent/BR112016004490B8/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24562Pointer or reference processing operations
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Abstract

APARELHO E MÉTODO DE ARMAZENAMENTO DE DADOS. Trata-se de um aparelho e método de armazenamento de dados. O método inclui: determinar (110) um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue; determinar (120) um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; determinar (130) um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; e armazenar (140) o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de (...).

Description

CAMPO DA TÉCNICA
[001] A presente invenção refere-se ao campo de tecnologia da informação e, em particular, a um aparelho e método de armazenamento de dados.
ANTECEDENTES DA TÉCNICA
[002] Como um banco de dados de armazenamento em coluna distribuído, um banco de dados distribuído do tipo de valor de chave (KeyValue) tem alta escalabilidade e robustez e foi amplamente aplicado em mais e mais sistemas. Uma tabela de usuário do banco de dados distribuído do tipo KeyValue é geralmente projetada para armazenar dados que estão em um formato de dados relativamente simples, que tem correlação simples, mas pode ser massivo em quantidade, por exemplo, para armazenar informações de endereço de página da web, para armazenar informações de registro de chamada ou para armazenar informações de registro de acesso à rede e semelhantes. 0 banco de dados distribuído do tipo KeyValue pode fornecer uma consulta rápida de acordo com uma chave de fileira (RowKey) de um registro de dados, e a consulta rápida é irrelevante para uma quantidade de dados. Um nó físico pode ser dinamicamente adicionado ao banco de dados distribuído do tipo KeyValue quando um uso de espaço de armazenamento atual alcança um limiar.
[003] Em aplicações de banco de dados existentes de empresas, geralmente muitas tabelas de dados de usuário são correlacionadas, essas tabelas de dados têm tamanhos diferentes, e uma correlação interna pode existir entre dados de tabelas. Entretanto, o banco de dados distribuído do tipo KeyValue com base em uma matriz feita em períodos irregulares é adequado para armazenar uma tabela com uma grande quantidade de dados. Caso essas tabelas originais sejam diretamente importadas para dentro do banco de dados distribuído do tipo KeyValue, tabelas excessivamente pequenas existem; portanto, é difícil implantar consulta correlacionada em tabela cruzada, e a complexidade de administração também aumenta. Isto é, quando dados em aplicações convencionais são migrados para dentro do banco de dados distribuído do tipo KeyValue, para completar a consulta de correlação entre uma tabela de usuário e outra tabela de usuário, diferentes tabelas precisam ser consultadas, e uma localização de dados constante precisa ser realizada, o que causa uma baixa eficiência.
SUMÁRIO
[004] As modalidades da presente invenção fornecem um aparelho e método de armazenamento de dados que podem aprimorar a eficiência de consulta de dados.
[005] Um primeiro aspecto fornece um método de armazenamento de dados, que inclui: determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue; determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; e armazenar o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[006] Em uma primeira maneira de implantação possível, o método inclui adicionalmente: para valores de identificador de fileira de todos os registros de dados, classificar todos os registros de dados em uma primeira ordem, de modo que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento.
[007] Com referência à primeira maneira de implantação possível do primeiro aspecto, em uma segunda maneira de implantação possível, a primeira ordem é uma ordem lexicográfica.
[008] Com referência ao primeiro aspecto ou à primeira ou segunda maneira de implantação possível do primeiro aspecto, em uma terceira maneira de implantação possível, o método inclui adicionalmente: receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta incluem o mesmo atributo de coluna; e exportar, de acordo com as informações de consulta, um registro de dados cujo índice primário inclui as informações de consulta do banco de dados distribuído do tipo KeyValue.
[009] Com referência ao primeiro aspecto ou qualquer maneira de implantação possível nas primeira a terceira maneiras de implantação possíveis do primeiro aspecto, em uma quarta maneira de implantação possível, a determinação de um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados inclui: especificar um primeiro prefixo do identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[010] Com referência à quarta maneira de implantação possível do primeiro aspecto, em uma quinta maneira de implantação possível, as informações de consulta incluem o primeiro prefixo e o mesmo atributo de coluna.
[01l] Com referência à quarta ou quinta maneira de implantação possível do primeiro aspecto, em uma sexta maneira de implantação possível, o método inclui adicionalmente: determinar que um formato de um índice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; determinar o índice secundário do qualquer objeto de dados de acordo com o formato do índice secundário do qualquer objeto de dados; e armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.
[012] Com referência ao primeiro aspecto ou qualquer maneira de implantação possível nas primeira a sexta maneiras de implantação possíveis do primeiro aspecto, em uma sétima maneira de implantação possível, um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
[013] Um segundo aspecto fornece um aparelho de armazenamento de dados, que inclui: um módulo de determinação, configurado para determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue de valor de chave; determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; e determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; e um módulo de armazenamento, configurado para armazenar o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[014] Em uma primeira maneira de implantação possível, o módulo de armazenamento é adicionalmente configurado para: para valores de identificador de fileira de todos os registros de dados, classificar todos os registros de dados em uma primeira ordem, de modo que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento.
[015] Com referência à primeira maneira de implantação possível do segundo aspecto, em uma segunda maneira de implantação possível, a primeira ordem é uma ordem lexicográfica.
[016] Com referência ao segundo aspecto ou à primeira ou segunda maneira de implantação possível do Segundo aspecto, em uma terceira maneira de implantação possível, o aparelho inclui adicionalmente: um módulo de recebimento, configurado para receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; e um módulo de consulta, configurado para construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta incluem o mesmo atributo de coluna; e exportar, de acordo com as informações de consulta, um registro de dados cujo índice primário inclui as informações de consulta do banco de dados distribuído do tipo KeyValue.
[017] Com referência ao segundo aspecto ou qualquer maneira de implantação possível nas primeira a terceira maneiras de implantação possíveis do segundo aspecto, em uma quarta maneira de implantação possível, o módulo de determinação é especificamente configurado para especificar um primeiro prefixo do identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[018] Com referência à quarta maneira de implantação possível do segundo aspecto, em uma quinta maneira de implantação possível, as informações de consulta incluem o primeiro prefixo e o mesmo atributo de coluna.
[019] Com referência à quarta ou quinta maneira de implantação possível do segundo aspecto, em uma sexta maneira de implantação possível, o módulo de determinação é adicionalmente configurado para determinar que um formato de um índice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; e determinar o índice secundário do qualquer objeto de dados de acordo com o formato do índice secundário do qualquer objeto de dados; e o módulo de armazenamento é adicionalmente configurado para armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.
[020] Com referência ao segundo aspecto ou qualquer maneira de implantação possível nas primeira a sexta maneiras de implantação possíveis do segundo aspecto, em uma sétima maneira de implantação possível, um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
[021] Com base nas soluções técnicas supracitadas, no aparelho e método de armazenamento de dados nas modalidades da presente invenção, objetos de dados correlacionados são armazenados em um banco de dados distribuído do tipo KeyValue através do uso de um formato de identificador de fileira que inclui um mesmo atributo de coluna, de modo que a consulta correlacionada possa ser implantada em múltiplos objetos de dados que, desse modo, aprimora a eficiência de consulta de dados.
BREVE DESCRIÇÃO DOS DESENHOS
[022] Para descrever as soluções técnicas nas modalidades da presente invenção mais claramente, o seguinte introduz brevemente os desenhos anexos exigidos para descrever as modalidades da presente invenção. Evidentemente, os desenhos anexos na descrição a seguir mostram meramente algumas modalidades da presente invenção, e uma pessoa de conhecimento comum na técnica ainda pode derivar outros desenhos desses desenhos em anexos sem esforços criativos.
[023] A Figura 1 é um fluxograma esquemático de um método de armazenamento de dados de acordo com uma modalidade da presente invenção.
[024] A Figura 2 é um fluxograma esquemático de um método para determinar um formato de identificador de fileira de acordo com uma modalidade da presente invenção.
[025] A Figura 3 é um fluxograma esquemático de um método de armazenamento de dados de acordo com outra modalidade da presente invenção.
[026] A Figura 4 é um fluxograma esquemático de um método de armazenamento de dados de acordo com ainda outra modalidade da presente invenção.
[027] A Figura 5 é um diagrama de blocos esquemático de um aparelho de armazenamento de dados de acordo com uma modalidade da presente invenção.
[028] A Figura 6 é um diagrama de blocos esquemático de um aparelho de armazenamento de dados de acordo com outra modalidade da presente invenção.
[029] A Figura 7 é um diagrama estrutural esquemático de um aparelho de armazenamento de dados de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DAS MODALIDADES
[030] A seguir, as soluções técnicas nas modalidades da presente invenção são descritas de forma clara e completa com referência aos desenhos anexos nas modalidades da presente invenção. Evidentemente, as modalidades descritas são algumas, mas não todas, as modalidades da presente invenção. Todas as outras modalidades obtidas por uma pessoa versada na técnica com base nas modalidades da presente invenção sem esforços criativos devem ser abrangidas pelo escopo de proteção da presente invenção.
[031] As soluções técnicas nas modalidades da presente invenção podem ser aplicadas a um banco de dados distribuído do tipo KeyValue.
[032] Nas modalidades da presente invenção, um objeto de dados é uma tabela de dados (também brevemente chamado de uma tabela) ou dados em um formato de tabela de dados. Por exemplo, os dados podem ser dados de registro de chamada, dados de registro de acesso à rede ou semelhantes. Para facilidade de descrição, nas modalidades a seguir, a descrição é efetuada através do uso de uma tabela de dados como um exemplo.
[033] A Figura 1 mostra um fluxograma esquemático de um método de armazenamento de dados 100 de acordo com uma modalidade da presente invenção. 0 método na Figura 1 é executado por um aparelho de armazenamento de dados. Conforme mostrado na Figura 1, o método 100 inclui: S110: Determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue. S120: Determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna. S130: Determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados. S140: Armazenar o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[034] Nessa modalidade da presente invenção, quando múltiplos (isto é, pelo menos dois) objetos de dados são correlacionados, isto é, múltiplos objetos de dados têm um mesmo atributo de coluna, para facilitar uma consulta correlacionada nos múltiplos objetos de dados, o aparelho de armazenamento de dados armazena os múltiplos objetos de dados em uma tabela do banco de dados distribuído do tipo KeyValue. 0 aparelho de armazenamento de dados determina, com base no mesmo atributo de coluna, um formato de um identificador de fileira (por exemplo, uma RowKey), no banco de dados distribuído do tipo KeyValue, de cada objeto de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna. Isto é, formatos de identificador de fileira de todos os objetos de dados incluem o mesmo atributo de coluna de modo a facilitar uma consulta, e incluem adicionalmente identificadores de objeto de dados que correspondem aos objetos de dados de modo a distinguir objetos de dados diferentes. Os identificadores de objeto de dados de objetos de dados diferentes estão em uma mesma localização em formatos de identificador de fileira e localizados atrás do mesmo atributo de coluna, de modo que os formatos de identificador de fileira dos objetos de dados diferentes sejam de uma estrutura consistente. Então o aparelho de armazenamento de dados determina um valor de identificador de fileira de cada registro de dados em cada objeto de dados de acordo com o formato de identificador de fileira determinado, e armazena o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados. Devido ao fato de que formatos de identificador de fileira consistentes são usados para os múltiplos objetos de dados correlacionados, desse modo, durante a consulta de dados, informações de consulta são construídas de acordo com os formatos de identificador de fileira, de modo que a consulta correlacionada possa ser implantada nos múltiplos objetos de dados em uma tabela de dados que, desse modo, aprimora a eficiência de consulta de dados.
[035] Portanto, no método de armazenamento de dados nessa modalidade da presente invenção, objetos de dados correlacionados são armazenados em um banco de dados distribuído do tipo KeyValue através do uso de um formato de identificador de fileira que inclui um mesmo atributo de coluna, de modo que a consulta correlacionada possa ser implantada em múltiplos objetos de dados que, desse modo, aprimora a eficiência de consulta de dados.
[036] Deve-se compreender que, nessa modalidade da presente invenção, um identificador de fileira é um identificador de cada fileira de dados. 0 identificador de fileira pode ser expressado como uma RowKey ou uma chave, que não se limita na presente invenção. Para facilidade de descrição, nas modalidades a seguir, a descrição é efetuada através do uso de uma RowKey como um exemplo.
[037] Essa modalidade da presente invenção é descrita abaixo em detalhe através do uso de um exemplo específico. Deve-se notar que, o exemplo é meramente intencionado a ajudar uma pessoa versada na técnica para melhor compreender essa modalidade da presente invenção, mas não são intencionados a limitar o escopo dessa modalidade da presente invenção.
[038] Na etapa S110, o aparelho de armazenamento de dados determina um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados no banco de dados distribuído do tipo KeyValue.
[039] Tais múltiplos objetos de dados têm um mesmo meio de atributo de coluna que os múltiplos objetos de dados são correlacionados.
[040] Por exemplo, para um objeto de dados A, ao qual a tabela 1 que registra informações de estudante é usada como um exemplo, informações de atributo da mesma incluem atributos de coluna (Coluna) tal como nome (Nome), número do estudante (ID), sexo (Sexo) e departamento (Dept). Tabela 1
Figure img0001
[041] Para um objeto de dados B, ao qual a tabela 2 que registra informações de currículo variável de estudante é usada como um exemplo, informações de atributo da mesma incluem atributos de coluna tal como número de sequência (n°), número do estudante (ID) e curso (Curso). Tabela 2
Figure img0002
[042] Ambas as tabelas 1 e 2 têm uma coluna de ID, isto é, a tabela 1 e a tabela 2 têm um mesmo ID de atributo de coluna; portanto, a tabela 1 e a tabela 2 são objetos de dados correlacionados.
[043] Na etapa S120, o aparelho de armazenamento de dados determina um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados.
[044] O formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna.
[045] Especificamente, nessa modalidade da presente invenção, para aprimorar a eficiência de consulta de dados, cada objeto de dados não é armazenado em uma tabela independente, mas em vez disso, múltiplos objetos de dados são armazenados em uma tabela de acordo com um formato uniforme que, desse modo, implanta a consulta correlacionada. Para armazenar os múltiplos objetos de dados em uma tabela, um formato de identificador de fileira precisa ser configurado antes, e em que um formato de RowKey que é projetado antes é usado como um exemplo, isto é, uma RowKey inclui quais elementos de composição e como os elementos de composição que são combinados são especificados antes. Nessa modalidade, os elementos de composição do identificador de fileira incluem: o mesmo atributo de coluna dos pelo menos dois objetos de dados e um identificador de objeto de dados. 0 mesmo atributo de coluna é usado para armazenar os pelo menos dois objetos de dados em uma maneira correlacionada, e o identificador de objeto de dados é usado para indicar um objeto de dados do qual cada fileira de dados se origina. 0 identificador de objeto de dados é localizado atrás do mesmo atributo de coluna, e identificadores de objeto de dados de todos os objetos de dados estão em uma mesma localização em formatos de identificador de fileira. Especificamente, identificadores de objeto de dados de objetos de dados diferentes podem ser constantes diferentes, para distinguir os objetos de dados diferentes.
[046] Nessa modalidade da presente invenção, opcionalmente, conforme mostrado na Figura 2, a etapa S120 inclui: S121: Especificar um primeiro prefixo de um identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante. S122: Determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados. Alternativamente, S123: Determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[047] Especificamente, nessa modalidade, um identificador de fileira inclui um mesmo prefixo (expressado como um primeiro prefixo) . Com o uso de uma RowKey como um exemplo, a RowKey está no seguinte formato: RowKey = primeiro prefixo + mesmo atributo de coluna + identificador de objeto de dados (+ outro atributo).
[048] Nessa modalidade, para objetos de dados diferentes, o formato de RowKey inclui o mesmo primeiro prefixo e o mesmo atributo. Desse modo, quando registros de dados são armazenados em uma ordem de valores de RowKey, registros de dados de objetos de dados diferentes podem ser armazenados de forma adjacente (que é chamado de armazenamento em agrupamento). Então os objetos de dados diferentes são distinguidos através do uso de um identificador de objeto de dados de cada objeto de dados. Além disso, quando o mesmo atributo de coluna pode distinguir todos os registros de dados de um objeto de dados (expressado como um primeiro objeto de dados), por exemplo, o atributo de ID na tabela 1 pode distinguir todos os registros de dados da tabela 1, um formato de RowKey do primeiro objeto de dados não inclui outro atributo. Quando o mesmo atributo não pode distinguir todos os registros de dados de um objeto de dados (expressado como um segundo objeto de dados), por exemplo, o atributo de ID na tabela 2 não pode distinguir todos os registros de dados da tabela 2, um formato de RowKey do segundo objeto de dados precisa incluir adicionalmente um atributo que está em outros atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados, por exemplo, o atributo de n° na tabela 2.
[049] Com o uso da tabela 1 e da tabela 2 como exemplos, o mesmo atributo de coluna das mesmas é ID. Para a tabela 1, ID pode distinguir todos os registros de dados da tabela 1; portanto, um formato de RowKey da tabela 1 pode ser: A (primeiro prefixo) + ID + M (M é um identificador de objeto de dados que corresponde à tabela 1)
[050] Para a tabela 2, ID não pode distinguir todos os registros de dados da tabela 2, e n° pode distinguir todos os registros de dados da tabela 2; portanto, um formato de RowKey da tabela 2 pode ser: A (primeiro prefixo) + ID + N (N é um identificador de objeto de dados que corresponde à tabela 2) + n°
[051] Nessa modalidade da presente invenção, opcionalmente, um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
[052] Isto é, " + " no formato de RowKey supracitado pode ser um separador. Alternativamente, os campos no formato de RowKey podem ser definidos para terem um comprimento fixo; nesse caso, "+" na verdade não existe.
[053] Na etapa S130, o aparelho de armazenamento de dados determina um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados.
[054] Especificamente, com o uso de uma RowKey como um exemplo, o aparelho de armazenamento de dados determina um valor de RowKey de cada registro de dados em cada objeto de dados de acordo com o determinado formato de RowKey.
[055] Por exemplo, para o primeiro registro de dados no objeto de dados A, um valor de RowKey é A0001M; e para o primeiro registro de dados no objeto de dados B, um valor de RowKey é A0001N1, e assim por diante.
[056] Na etapa S140, o aparelho de armazenamento de dados armazena o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue.
[057] 0 valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[058] Nessa modalidade da presente invenção, opcionalmente, conforme mostrado na Figura 3, o método 100 inclui adicionalmente: S150: Para valores de identificador de fileira de todos os registros de dados, classificar todos os registros de dados em uma primeira ordem, de modo que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento.
[059] Nessa modalidade da presente invenção, registros de dados são armazenados no banco de dados distribuído do tipo KeyValue em uma ordem de valores de identificador de fileira, de modo que registros de dados de múltiplos objetos de dados formem uma tabela de agrupamento. Nessa maneira de armazenamento em tabela em agrupamento, uma faixa de um valor de identificador de fileira pode corresponder a uma partição, isto é, quando um valor de identificador de fileira de um registro de dados pertence a uma faixa, o registro de dados está em uma partição que corresponde a essa faixa; portanto, uma consulta de acordo com uma faixa pode ser suportada.
[060] A primeira ordem pode ser uma ordem lexicográfica, por exemplo, todos os registros de dados podem ser classificados no banco de dados distribuído do tipo KeyValue em uma ordem lexicográfica de valores de RowKey. A primeira ordem também pode ser outra ordem, por exemplo, uma ordem de magnitude, isto é, os registros de dados podem ser armazenados sequencialmente em uma ordem de magnitude dos valores de RowKey, em que um pequeno valor de RowKey é armazenado antes de um grande valor de RowKey, ou um grande valor de RowKey é armazenado antes de um pequeno valor de RowKey. A primeira ordem não se limita nessa modalidade da presente invenção. Para facilidade de descrição, nas modalidades a seguir, a descrição é efetuada através do uso de uma ordem lexicográfica de valores de  RowKey como um exemplo.
[061] Com o uso da tabela 1 e da tabela 2 como exemplos, a tabela 3 é obtida quando o armazenamento é realizado no banco de dados distribuído do tipo KeyValue em uma ordem lexicográfica de valores de RowKey. Tabela 3
Figure img0003
(uma coluna que inclui uma diagonal indica que uma fileira de dados atual não tem a coluna, que não ocupa qualquer espaço em armazenamento, e o mesmo ocorre abaixo).
[062] Através do uso do método de armazenamento de dados nessa modalidade da presente invenção, registros de dados de diferentes objetos de dados correlacionados podem ser armazenados de forma adjacente, para formar uma tabela de agrupamento. Por exemplo, o primeiro registro de dados na tabela 3 é o primeiro registro da tabela 1 original, do segundo ao quarto registro na tabela 3 são do primeiro ao terceiro registro da tabela 2 original, e esses registros de dados são armazenados de forma adjacente no banco de dados distribuído do tipo KeyValue devido ao fato de que os mesmos têm o mesmo ID. Por meio de armazenamento adjacente, uma taxa de acesso de dados pode ser aumentada, e a eficiência de consulta pode ser adicionalmente aprimorada.
[063] A seguir descreve-se uma maneira de implantação de consulta de uma tabela de dados obtida de acordo com o método de armazenamento supracitado.
[064] Nessa modalidade da presente invenção, opcionalmente, conforme mostrado na Figura 4, o método 100 inclui adicionalmente: S160: Receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados. S170: Construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta incluem o mesmo atributo de coluna. S180: Exportar, de acordo com as informações de consulta, um registro de dados cujo índice primário inclui as informações de consulta do banco de dados distribuído do tipo KeyValue.
[065] Especificamente, quando uma solicitação de dados para consultar ou obter um registro de dados é recebida, o aparelho de armazenamento de dados constrói informações de consulta de acordo com o formato de identificador de fileira, em que as informações de consulta precisam incluir o mesmo atributo de coluna, e então o aparelho de armazenamento de dados realiza a consulta através do uso das informações de consulta construídas, para obter um registro de dados cujo índice primário inclui as informações de consulta no banco de dados distribuído do tipo KeyValue.
[066] Opcionalmente, quando o formato de identificador de fileira inclui o primeiro prefixo, as informações de consulta incluem o primeiro prefixo e o mesmo atributo de coluna.
[067] Por exemplo, quando informações de estudante e informações de currículo variável de estudante são obtidas através do uso de um número do estudante (ID = 0001) de um estudante, informações de consulta: A0001 pode ser construído, informações de estudante e informações de currículo variável de estudante do estudante com o número do estudante (ID = 0001) podem ser obtidas na tabela 3 por meio de consulta de faixa. Um resultado de consulta obtido é mostrado na tabela 4. No processo de consulta, somente uma tabela precisa ser consultada, e a localização de dados de usuário precisa ser completada somente uma vez. Conforme as informações de estudante e informações de currículo variável de estudante são armazenadas de forma adjacente, um retorno rápido pode ser implantado. Tabela 4
Figure img0004
Figure img0005
[068] Portanto, no método de armazenamento de dados nessa modalidade da presente invenção, objetos de dados correlacionados são armazenados em um banco de dados distribuído do tipo KeyValue através do uso de um formato de identificador de fileira que inclui um mesmo atributo de coluna, de modo que os objetos de dados correlacionados possam ser armazenados como um agrupamento em uma tabela de dados, e a consulta correlacionada pode ser implantada em uma tabela de dados que, desse modo, aprimora a eficiência de consulta de dados.
[069] Nessa modalidade da presente invenção, opcionalmente, o método 100 inclui adicionalmente:
[070] Determinar que um formato de um índice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo.
[071] Determinar o índice secundário do qualquer objeto de dados de acordo com o formato do índice secundário do qualquer objeto de dados.
[072] Armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.  Especificamente, para satisfazer um cenário de consulta complexa, informações de índice secundário podem ser construídas para um objeto de dados. Os dados de um índice primário e índice secundário de um mesmo objeto de dados são armazenados em uma mesma tabela, mas diferentes formatos de identificador de fileira são usados, para implantar separação de dados na mesma tabela. Além disso, a consulta correlacionada pode ser completada através do uso das informações de índice secundário. Um formato de identificador de fileira de um índice secundário é um segundo prefixo, um segundo atributo e o mesmo atributo. 0 segundo prefixo é diferente do primeiro prefixo de modo a implantar separação de dados; o segundo atributo é um atributo diferente do mesmo atributo de modo a facilitar a construção de informações de consulta de acordo com o segundo atributo; e o mesmo atributo é usado para correlação com um índice primário.
[073] Por exemplo, quando o objeto de tabela de dados 1 e o objeto de tabela de dados 2 são armazenados no banco de dados distribuído do tipo KeyValue, um formato de RowKey de índice primário da tabela 1 pode ser: A + ID + M; um formato de RowKey de índice primário da tabela 2 pode ser: A + ID + N + n°; e um formato de RowKey de índice secundário da tabela 1 pode ser: B + nome + ID. Desse modo, a tabela 5 é obtida quando o armazenamento é realizado no banco de dados distribuído do tipo KeyValue em uma ordem lexicográfica de valores de RowKey. Tabela 5
Figure img0006
Figure img0007
[074] Deve-se compreender que, em colunas que correspondem a RowKeys de índice secundário, informações de coluna, tal como uma peça crítica específica de informações de coluna, também podem ser armazenadas, o que não se limita nessa modalidade da presente invenção.
[075] Quando informações de estudante e informações de currículo variável de estudante são obtidas através do uso de um nome de estudante (nome = Zhang San), informações de consulta: BZhang San pode ser construído, informações completas de RowKey de índice secundário: BZhang SanOOOl pode ser obtido na tabela 5 por meio de consulta de faixa. A RowKey de índice secundário é analisada, para obter ID = 0001. Então, informações de consulta: A0001 é adicionalmente construído, e informações de estudante e informações de currículo variável de estudante podem ser obtidas na tabela 5 através da realização de consulta adicional. Isso ajuda um usuário a realizar consulta quando o usuário sabe somente um nome, mas não sabe um ID.
[076] Portanto, no método de armazenamento de dados nessa modalidade da presente invenção, um índice secundário de um objeto de dados é armazenado em um banco de dados distribuído do tipo KeyValue, de modo que cenários de consulta mais diversificados podem ser fornecidos para um usuário, e a consulta pelo usuário pode ser facilitada que, desse modo, aprimora a eficiência de consulta de dados.
[077] Nessa modalidade da presente invenção, formatos de identificador de fileira de múltiplos objetos de dados também podem ser implantados em outra maneira, por exemplo, formatos de identificador de fileira de objetos de dados diferentes podem incluir prefixos diferentes, ou não incluir nenhum prefixo.
[078] Por exemplo, quando nenhum prefixo é usado, uma RowKey está no seguinte formato: RowKey = mesmo atributo de coluna + identificador de objeto de dados (+ outro atributo).
[079] Registros de dados de objetos de dados diferentes podem ser armazenados de forma adjacente através do uso do mesmo atributo de coluna, e os objetos de dados diferentes são distinguidos através do uso de um identificador de objeto de dados que corresponde a cada objeto de dados. Além disso, quando o mesmo atributo de coluna pode distinguir todos os registros de dados de um objeto de dados (expressado como um primeiro objeto de dados), um formato de RowKey do primeiro objeto de dados não inclui outro atributo; e quando o mesmo atributo de coluna não pode distinguir todos os registros de dados de um objeto de dados (expressado como um segundo objeto de dados), um formato de RowKey do segundo objeto de dados precisa incluir adicionalmente um atributo que está em outros atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[080] Com o uso da tabela 1 e da tabela 2 como exemplos, o mesmo atributo de coluna das mesmas é ID. Para a tabela 1, ID pode distinguir todos os registros de dados da tabela 1; portanto, um formato de RowKey da tabela 1 pode ser: ID + M
[081] Para a tabela 2, ID não pode distinguir todos os registros de dados da tabela 2, e n° pode distinguir todos os registros de dados da tabela 2; portanto, um formato de RowKey da tabela 2 pode ser: ID + N + n°
[082] Desse modo, a tabela 6 é obtida quando o armazenamento é realizado no banco de dados distribuído do tipo KeyValue em uma ordem lexicográfica de valores de  RowKey. Tabela 6
Figure img0008
[083] Quando informações de estudante e informações de currículo variável de estudante são obtidas através do uso de um número do estudante (ID = 0001) de um estudante, informações de consulta: 0001 pode ser construído, informações de estudante e informações de currículo variável de estudante do estudante com o número do estudante (ID = 0001) podem ser obtidas por meio de consulta de faixa. No processo de consulta, somente uma tabela precisa ser consultada, e a localização de dados de usuário precisa ser completada somente uma vez. Conforme as informações de estudante e informações de currículo variável de estudante são armazenadas de forma adjacente, um retorno rápido pode ser implantado.
[084] Quando prefixos diferentes são usados para objetos de dados diferentes, uma RowKey está no seguinte formato: RowKey = prefixo que corresponde a objeto de dados + mesmo atributo de coluna (+ outro atributo).
[085] Quando prefixos diferentes são usados para objetos de dados diferentes, implanta-se que os objetos de dados diferentes são armazenados em diferentes partições. Além disso, quando o mesmo atributo de coluna pode distinguir todos os registros de dados de um objeto de dados (expressado como um primeiro objeto de dados), um formato de RowKey do primeiro objeto de dados não inclui outro atributo; e quando o mesmo atributo de coluna não pode distinguir todos os registros de dados de um objeto de dados (expressado como um segundo objeto de dados), um formato de RowKey do segundo objeto de dados precisa incluir adicionalmente um atributo que está em outros atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[086] Com o uso da tabela 1 e da tabela 2 como exemplos, o mesmo atributo de coluna das mesmas é ID. Para a tabela 1, ID pode distinguir todos os registros de dados da tabela 1; portanto, um formato de RowKey da tabela 1 pode ser: A + ID
[087] Para a tabela 2, ID não pode distinguir todos os registros de dados da tabela 2, e n° pode identificar todos os registros de dados da tabela 2; portanto, um formato de RowKey da tabela 2 pode ser: B + ID + n°
[088] Desse modo, a tabela 7 é obtida quando o armazenamento é realizado no banco de dados distribuído do tipo KeyValue em uma ordem lexicográfica de valores de RowKey. Tabela 7
Figure img0009
[089] Os formatos de RowKey de objetos de dados diferentes incluem prefixos diferentes, de modo que os objetos de dados diferentes possam ser armazenados em diferentes partições no banco de dados distribuído do tipo KeyValue.
[090] Deve-se compreender que os números de sequência dos processos supracitados não significam ordens de execução em várias modalidades da presente invenção. As ordens de execução dos processos deveriam ser determinadas de acordo com funções e lógica interna dos processos, e não deveriam ser interpretadas como qualquer limitação nos processos de implantação das modalidades da presente invenção.
[091] No método de armazenamento de dados nessa modalidade da presente invenção, múltiplos objetos de dados são armazenados em uma tabela de dados em um banco de dados distribuído do tipo KeyValue de acordo com um formato uniforme de identificador de fileira que, desse modo, facilita a administração no banco de dados e aprimora a eficiência de consulta de dados.
[092] Um método de armazenamento de dados de acordo com uma modalidade da presente invenção é descrito acima em detalhe, e um aparelho de armazenamento de dados de acordo com uma modalidade da presente invenção é descrito abaixo.
[093] A Figura 5 mostra um diagrama de blocos esquemático de um aparelho de armazenamento de dados 500 de acordo com uma modalidade da presente invenção. Conforme mostrado na Figura 5, o aparelho 500 inclui: um módulo de determinação 510, configurado para determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue de valor de chave; determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; e determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; e um módulo de armazenamento 520, configurado para armazenar o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[094] Quando múltiplos (isto é, pelo menos dois) objetos de dados são correlacionados, isto é, múltiplos objetos de dados têm um mesmo atributo de coluna, para facilitar uma consulta correlacionada nos múltiplos objetos de dados, o aparelho de armazenamento de dados 500 armazena os múltiplos objetos de dados em uma tabela do banco de dados distribuído do tipo KeyValue. 0 módulo de determinação 510 determina, com base no mesmo atributo de coluna, um formato de um identificador de fileira (por exemplo, uma RowKey), no banco de dados distribuído do tipo KeyValue, de cada objeto de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna. Isto é, formatos de identificador de fileira de todos os objetos de dados incluem o mesmo atributo de coluna de modo a facilitar uma consulta, e incluem adicionalmente identificadores de objeto de dados que correspondem aos objetos de dados de modo a distinguir objetos de dados diferentes. Os identificadores de objeto de dados de objetos de dados diferentes estão em uma mesma localização em formatos de identificador de fileira e localizados atrás do mesmo atributo de coluna, de modo que os formatos de identificador de fileira dos objetos de dados diferentes sejam de uma estrutura consistente. Então, o módulo de determinação 510 determina um valor de identificador de fileira de cada registro de dados em cada objeto de dados de acordo com o formato de identificador de fileira determinado. 0 módulo de armazenamento 520 armazena o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados. Devido ao fato de que formatos de identificador de fileira consistentes são usados para os múltiplos objetos de dados correlacionados, desse modo, durante a consulta de dados, informações de consulta são construídas de acordo com os formatos de identificador de fileira, de modo que a consulta correlacionada possa ser implantada nos múltiplos objetos de dados em uma tabela de dados que, desse modo, aprimora a eficiência de consulta de dados.
[095] Portanto, no aparelho de armazenamento de dados nessa modalidade da presente invenção, objetos de dados correlacionados são armazenados em um banco de dados distribuído do tipo KeyValue através do uso de um formato de identificador de fileira que inclui um mesmo atributo de coluna, de modo que a consulta correlacionada possa ser implantada em múltiplos objetos de dados que, desse modo, aprimora a eficiência de consulta de dados.
[096] Nessa modalidade da presente invenção, opcionalmente, o módulo de armazenamento 520 é adicionalmente configurado para: para valores de identificador de fileira de todos os registros de dados, classificar todos os registros de dados em uma primeira ordem, de modo que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento.
[097] Nessa modalidade da presente invenção, opcionalmente, a primeira ordem é uma ordem lexicográfica.
[098] Nessa modalidade da presente invenção, opcionalmente, o módulo de determinação 510 é especificamente configurado para especificar um primeiro prefixo de um identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[099] Nessa modalidade da presente invenção, opcionalmente, conforme mostrado na Figura 6, o aparelho 500 inclui adicionalmente: um módulo de recebimento 530, configurado para receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; e
[100] Um módulo de consulta 540, configurado para construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta incluem o mesmo atributo de coluna; e exportar, de acordo com as informações de consulta, um registro de dados cujo índice primário inclui as informações de consulta do banco de dados distribuído do tipo KeyValue.
[101] Opcionalmente, quando o formato de identificador de fileira inclui o primeiro prefixo, as informações de consulta incluem o primeiro prefixo e o mesmo atributo de coluna.
[102] Nessa modalidade da presente invenção, opcionalmente, o módulo de determinação 510 é adicionalmente configurado para determinar que um formato de um índice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; e determinar o índice secundário do qualquer objeto de dados de acordo com o formato do índice secundário do qualquer objeto de dados; e o módulo de armazenamento 520 é adicionalmente configurado para armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.
[103] No aparelho de armazenamento de dados nessa modalidade da presente invenção, um índice secundário de um objeto de dados é armazenado em um banco de dados distribuído do tipo KeyValue, de modo que cenários de consulta mais diversificados podem ser fornecidos para um usuário, e a consulta pelo usuário pode ser facilitada que, desse modo, aprimora a eficiência de consulta de dados.
[104] Nessa modalidade da presente invenção, opcionalmente, um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
[105] O aparelho de armazenamento de dados 500 de acordo com essa modalidade da presente invenção pode corresponder ao aparelho de armazenamento de dados no método de acordo com a modalidade supracitada da presente invenção, e as supracitadas e outras operações e/ou funções dos módulos do aparelho de armazenamento de dados 500 são separadamente realizadas para implantar procedimentos correspondentes dos métodos na Figura 1 à Figura 4. Visando a brevidade, detalhes não são repetidos no presente documento.
[106] No aparelho de armazenamento de dados nessa modalidade da presente invenção, múltiplos objetos de dados são armazenados em uma tabela de dados em um banco de dados distribuído do tipo KeyValue de acordo com um formato uniforme de identificador de fileira que, desse modo, facilita a administração no banco de dados e aprimora a eficiência de consulta de dados.
[107] A Figura 7 mostra uma estrutura de um aparelho de armazenamento de dados de acordo com outra modalidade da presente invenção, que inclui pelo menos um processador 702 (por exemplo, um CPU), pelo menos uma interface de rede 705 ou outra interface de comunicações, uma memória 706, e pelo menos um barramento de comunicações 703 configurado para implantar conexão e comunicação entre esses aparelhos. 0 processador 702 é configurado para executar um módulo executável, tal como um programa de computador, armazenado na memória 706. A memória 706 pode incluir uma memória de acesso aleatório de alta velocidade (RAM: memória de acesso aleatório), e pode incluir adicionalmente uma memória não volátil (memória não volátil), por exemplo, pelo menos um armazenamento em disco magnético. Comunicação e conexão com pelo menos outro elemento de rede são implantadas através do uso da pelo menos uma interface de rede 705 (que pode ser com ou sem fio).
[108] Em algumas maneiras de implantação, a memória 706 armazena um programa 7061, o programa 7061 pode ser executado pelo processador 702, e o programa inclui: determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue; determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira inclui o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; e armazenar o valor de identificador de fileira de cada registro de dados e cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados.
[109] Opcionalmente, o programa inclui adicionalmente: para valores de identificador de fileira de todos os registros de dados, classificar todos os registros de dados em uma primeira ordem, de modo que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento.
[110] Opcionalmente, a primeira ordem é uma ordem lexicográfica.
[111] Opcionalmente, o programa inclui adicionalmente: receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta incluem o mesmo atributo de coluna; e exportar, de acordo com as informações de consulta, um registro de dados cujo índice primário inclui as informações de consulta do banco de dados distribuído do tipo KeyValue.
[112] Opcionalmente, a determinação de um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados inclui: especificar um primeiro prefixo de um identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados inclui o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
[113] Opcionalmente, as informações de consulta incluem o primeiro prefixo e o mesmo atributo de coluna.
[114] Opcionalmente, o programa inclui adicionalmente: determinar que um formato de um índice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; determinar o índice secundário do qualquer objeto de dados de acordo com o formato do índice secundário do qualquer objeto de dados; e armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.
[115] Opcionalmente, um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
[116] Pode-se perceber a partir das soluções técnicas supracitadas fornecidas nas modalidades da presente invenção, nas modalidades da presente invenção, que objetos de dados correlacionados são armazenados em um banco de dados distribuído do tipo KeyValue através do uso de um formato de identificador de fileira que inclui um mesmo atributo de coluna, de modo que a consulta correlacionada possa ser implantada em múltiplos objetos de dados que, desse modo, aprimora a eficiência de consulta de dados.
[117] Deve-se compreender que o termo "e/ou", nessa modalidade da presente invenção, descreve somente uma correlação para descrever objetos correlacionados e representa que três relacionamentos podem existir. Por exemplo, A e/ou B podem representar os três casos a seguir: Somente A existe, tanto A e B existem e somente B existe. Além disso, o caractere "/" nesse relatório descritivo geralmente indica um "ou" o relacionamento entre os objetos correlacionados.
[118] Uma pessoa de conhecimento comum na técnica pode estar ciente de que, em combinação com os exemplos descritos nas modalidades reveladas no relatório descritivo, etapas de unidades e algoritmo podem ser implantadas por hardware eletrônico, software de computador ou uma combinação dos mesmos. Para descrever claramente a intercambialidade entre o hardware e o software, o anteriormente mencionado descreveu de modo geral as composições e etapas de cada exemplo de acordo com as funções. Se as funções são executadas por um hardware ou software depende de condições de limitação de modelo e pedidos particulares das soluções técnicas. Uma pessoa versada na técnica pode usar métodos diferentes para implantar as funções descritas para cada pedido particular, mas não deve ser considerado que as implantações vão além de escopo da presente invenção.
[119] Pode ser claramente compreendido por uma pessoa versada na técnica que, para o propósito de uma descrição breve e conveniente, para um processo de trabalho detalhado do sistema, aparelho, e unidade supracitados, pode ser feita referência a um processo correspondente nas modalidades dos métodos anteriormente mencionados, e os detalhes não são descritos novamente no presente documento.
[120] Nas várias modalidades fornecidas no presente pedido, deve-se compreender que o sistema, aparelho, e método revelados podem ser implementados de outras maneiras. Por exemplo, as modalidades de aparelho descritas são meramente exemplificativas. Por exemplo, a divisão de unidade é meramente uma divisão de função lógica e pode ser outra divisão em uma implementação real. Por exemplo, uma pluralidade de unidades ou componentes pode ser combinada ou integrada em outro sistema, ou algumas características podem ser ignoradas ou não realizadas. Além disso, os acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou discutidos podem ser implementados através do uso de algumas interfaces. Os acoplamentos indiretos ou conexões de comunicação entre os aparelhos ou unidades podem ser implementados em formas eletrônicas, mecânicas, ou outras.
[121] As unidades descritas como partes separadas podem ou não serem separadas fisicamente, e as partes exibidas como unidades podem ou não serem unidades físicas, podem estar localizadas em uma posição, ou podem estar distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com as reais necessidades para alcançar os objetivos das soluções da presente invenção.
[122] Além disso, as unidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir fisicamente sozinha, ou duas ou mais unidades são integradas em uma unidade. A unidade integrada pode ser implantada em uma forma de hardware ou pode ser implantada em uma forma de uma unidade funcional de software.
[123] Quando a unidade integrada é implantada na forma de uma unidade funcional de software e comercializada ou usada como um produto independente, a unidade integrada pode ser armazenada em uma mídia de armazenamento legível por computador. Com base em tal compreensão, essencialmente as soluções técnicas da presente invenção, ou a parte que contribui para a técnica anterior, ou todas ou uma parte das soluções técnicas podem ser implantadas na forma de um produto de software. 0 produto de software é armazenado em uma mídia de armazenamento e inclui diversas instruções para instruir um dispositivo de computador (que pode ser um computador pessoal, um servidor ou um dispositivo de rede) de modo a realizar todas ou uma parte das etapas dos métodos descritos nas modalidades da presente invenção. 0 meio de armazenamento supracitado inclui: qualquer meio que possa armazenar um código de programa, tal qual uma unidade flash USB, um disco rígido removível, uma memória só de leitura (ROM, Read-Only Memory), uma memória de acesso aleatório (RAM, Random Access Memory), um disco magnético ou um disco óptico.
[124] As descrições mencionadas anteriormente são meramente modalidades específicas da presente invenção, porém, não se destinam a limitar o escopo de proteção da presente invenção. Qualquer modificação ou substituição prontamente percebida por uma pessoa versada na técnica abrangida pelo escopo técnico revelado na presente invenção deve ser abrangida pelo escopo de proteção da presente invenção. Portanto, o escopo de proteção da presente invenção deve ser submetido ao escopo de proteção das reivindicações.

Claims (12)

1. Método de armazenamento de dados, CARACTERIZADO pelo fato de que compreende: determinar (110) um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue de valor de chave; determinar (120) um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira compreende o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; determinar (130) um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; classificar (150) todos os registros de dados dos pelo menos dois objetos de dados em uma primeira ordem de acordo com valores de identificador de fileira de todos os registros de dados, em que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento; armazenar (140) cada registro de dados na tabela de agrupamento e o valor de identificador de fileira de cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um índice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados; receber (160) uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; construir (170), de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta compreendem o mesmo atributo de coluna; e exportar (180), de acordo com as informações de consulta, um registro de dados cujo índice primário compreende as informações de consulta do banco de dados distribuído do tipo KeyValue.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a primeira ordem é uma ordem lexicográfica.
3. Método, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que a determinação de um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados compreende: especificar um primeiro prefixo do identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados compreende o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados compreende o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que as informações de consulta compreendem o primeiro prefixo e o mesmo atributo de coluna.
5. Método, de acordo com a reivindicação 3 ou 4, CARACTERI ZADO pelo fato de que o método compreende adicionalmente: determinar que um formato de um indice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; determinar o indice secundário do qualquer objeto de dados de acordo com o formato do indice secundário do qualquer objeto de dados; e armazenar o indice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue. Ml
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, CARACTERI ZADO pelo fato de que um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
7. Aparelho de armazenamento de dados, CARACTERIZADO pelo fato de que compreende: um módulo de determinação (510), configurado para determinar um mesmo atributo de coluna de pelo menos dois objetos de dados que devem ser armazenados em um banco de dados distribuído do tipo KeyValue de valor de chave; determinar um formato de um identificador de fileira, no banco de dados distribuído do tipo KeyValue, de cada objeto de dados nos pelo menos dois objetos de dados, em que o formato de identificador de fileira compreende o mesmo atributo de coluna e um identificador de objeto de dados, e identificadores de objeto de dados de objetos de dados diferentes nos pelo menos dois objetos de dados estão em uma mesma localização no formato de identificador de fileira e localizados atrás do mesmo atributo de coluna; e determinar um valor de identificador de fileira de cada registro de dados de cada objeto de dados de acordo com o formato de identificador de fileira determinado de cada objeto de dados; um módulo de armazenamento (520), configurado para classificar todos os registros de dados dos pelo menos dois objetos de dados em uma primeira ordem de acordo com valores de identificador de fileira de todos os registros de dados, em que todos os registros de dados dos pelo menos dois objetos de dados formem uma tabela de agrupamento, e para armazenar cada registro de dados na tabela de agrupamento e o valor de identificador de fileira de cada registro de dados no banco de dados distribuído do tipo KeyValue, em que o valor de identificador de fileira de cada registro de dados é usado como um indice primário, no banco de dados distribuído do tipo KeyValue, de cada registro de dados; um módulo de recebimento (530), configurado para receber uma solicitação de dados, em que a solicitação de dados instrui a consultar ou obter um registro de dados nos pelo menos dois objetos de dados; e um módulo de consulta (540), configurado para construir, de acordo com o formato de identificador de fileira, informações de consulta para consultar o banco de dados distribuído do tipo KeyValue, em que as informações de consulta compreendem o mesmo atributo de coluna; e exportar, de acordo com as informações de consulta, um registro de dados cujo indice primário compreende as informações de consulta do banco de dados distribuído do tipo KeyValue.
8. Aparelho, de acordo com a reivindicação 7, CARACTERIZADOpelo fato de que a primeira ordem é uma ordem lexicográfica.
9. Aparelho, de acordo com a reivindicação 7 ou 8, CARACTERIZADO pelo fato de que o módulo de determinação (510) é especificamente configurado para especificar um primeiro prefixo do identificador de fileira no banco de dados distribuído do tipo KeyValue para os pelo menos dois objetos de dados, em que o primeiro prefixo é uma constante; e determinar que um formato de identificador de fileira de um primeiro objeto de dados nos pelo menos dois objetos de dados compreende o primeiro prefixo, o mesmo atributo de coluna e um identificador de objeto de dados do primeiro objeto de dados; ou determinar que um formato de identificador de fileira de um segundo objeto de dados nos pelo menos dois objetos de dados compreende o primeiro prefixo, o mesmo atributo de coluna, um identificador de objeto de dados do segundo objeto de dados e um atributo de coluna que está em atributos de coluna do segundo objeto de dados e pode distinguir todos os registros de dados do segundo objeto de dados.
10. Aparelho, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que as informações de consulta compreendem o primeiro prefixo e o mesmo atributo de coluna.
11. Aparelho, de acordo com a reivindicação 9 ou 10, CARACTERI ZADO pelo fato de que o módulo de determinação (510) é adicionalmente configurado para determinar que um formato de um indice secundário, no banco de dados distribuído do tipo KeyValue, de qualquer objeto de dados nos pelo menos dois objetos de dados é um segundo prefixo, um segundo atributo e o mesmo atributo de coluna, em que o segundo atributo é um atributo de coluna que está em atributos de coluna do qualquer objeto de dados e é diferente do mesmo atributo, e o segundo prefixo é uma constante diferente do primeiro prefixo; e determinar o indice secundário do qualquer objeto de dados de acordo com o formato do indice secundário do qualquer objeto de dados; e o módulo de armazenamento (520) é adicionalmente configurado para armazenar o índice secundário do qualquer objeto de dados no banco de dados distribuído do tipo KeyValue.
12. Aparelho, de acordo com qualquer uma das reivindicações 7 a 11, CARACTERIZADO pelo fato de que um separador é definido entre campos no formato de identificador de fileira, ou os campos têm um comprimento fixo.
BR112016004490A 2013-08-29 2013-08-29 Aparelho e método de armazenamento de dados BR112016004490B8 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/082544 WO2015027425A1 (zh) 2013-08-29 2013-08-29 存储数据的方法和装置

Publications (2)

Publication Number Publication Date
BR112016004490B1 true BR112016004490B1 (pt) 2020-11-10
BR112016004490B8 BR112016004490B8 (pt) 2022-08-23

Family

ID=50363919

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016004490A BR112016004490B8 (pt) 2013-08-29 2013-08-29 Aparelho e método de armazenamento de dados

Country Status (8)

Country Link
US (2) US9589004B2 (pt)
EP (1) EP3023885B1 (pt)
JP (1) JP6225261B2 (pt)
KR (1) KR101720602B1 (pt)
CN (2) CN106649708A (pt)
BR (1) BR112016004490B8 (pt)
CA (1) CA2921616C (pt)
WO (1) WO2015027425A1 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027425A1 (zh) * 2013-08-29 2015-03-05 华为技术有限公司 存储数据的方法和装置
CN105095268A (zh) * 2014-05-12 2015-11-25 深圳市同洲电子股份有限公司 结构化数据的存取方法以及装置
CN104021161B (zh) * 2014-05-27 2018-06-15 华为技术有限公司 一种聚簇存储方法及装置
CN104102711B (zh) * 2014-07-15 2017-12-01 中国联合网络通信集团有限公司 一种HBase数据库存储上网记录的方法和系统
US10671594B2 (en) 2014-09-17 2020-06-02 Futurewei Technologies, Inc. Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems
US9836507B2 (en) * 2014-09-17 2017-12-05 Futurewei Technologies, Inc. Method and system for adaptively building a column store database from a temporal row store database based on query demands
CN104408150A (zh) * 2014-12-03 2015-03-11 天津南大通用数据技术股份有限公司 一种适应多种数据库数据格式的数据导入导出方法及装置
CN106326305A (zh) * 2015-06-30 2017-01-11 星环信息科技(上海)有限公司 一种数据文件的存储和查询方法及设备
CN108170726A (zh) * 2015-10-21 2018-06-15 华为技术有限公司 数据查询方法和装置
CN105630934A (zh) * 2015-12-23 2016-06-01 浪潮电子信息产业股份有限公司 一种数据统计方法及系统
CN105653611B (zh) * 2015-12-24 2019-08-20 深圳市汇朗科技有限公司 分表分页排序查询方法及装置
CN105740405B (zh) * 2016-01-29 2020-06-26 华为技术有限公司 存储数据的方法和装置
CN107463512B (zh) * 2017-06-26 2020-11-13 上海高顿教育培训有限公司 分布式高速存储系统的数据更新方法
CN107832389B (zh) * 2017-10-31 2020-12-25 新华三大数据技术有限公司 数据管理方法及装置
CN108681563B (zh) * 2018-04-28 2021-08-27 新疆熙菱信息技术股份有限公司 基于一表多用户的服务发布及访问系统
CN110647517B (zh) * 2018-06-11 2022-06-24 北京神州泰岳软件股份有限公司 一种表格数据结构的处理方法和装置
CN108920725B (zh) 2018-08-02 2020-08-04 网宿科技股份有限公司 一种对象存储的方法及对象存储网关
CN109101641B (zh) * 2018-08-20 2022-09-23 联想(北京)有限公司 表格处理方法、装置、系统和介质
CN109918472A (zh) * 2019-02-27 2019-06-21 北京百度网讯科技有限公司 存储和查询数据的方法、装置、设备和介质
CN110297832B (zh) * 2019-07-01 2021-12-24 联想(北京)有限公司 一种时序数据存储方法及装置、时序数据查询方法及装置
CN111324605B (zh) * 2020-01-22 2020-11-10 北京东方金信科技有限公司 数据库中数据混合存储动态调整方法及应用
CN112465294B (zh) * 2020-10-21 2023-08-22 郑州大学第一附属医院 基于审计结果的医院药品智能供货方法及装置
CN112835901A (zh) * 2021-02-01 2021-05-25 长沙市到家悠享家政服务有限公司 文件存储方法及装置、计算机设备、计算机可读存储介质
CN112835938A (zh) * 2021-02-23 2021-05-25 百度在线网络技术(北京)有限公司 数据处理方法、装置、电子设备和计算机可读存储介质
CN113360776B (zh) * 2021-07-19 2023-07-21 西南大学 基于跨表数据挖掘的科技资源推荐方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
JPH0567159A (ja) 1991-09-10 1993-03-19 Nec Software Kansai Ltd 表形式データ処理装置
JPH0736756A (ja) * 1993-07-21 1995-02-07 Hitachi Ltd オブジェクト管理方式
US5878411A (en) * 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5995973A (en) * 1997-08-29 1999-11-30 International Business Machines Corporation Storing relationship tables identifying object relationships
AU743821B2 (en) * 1997-09-26 2002-02-07 Ontos, Inc. Object model mapping and runtime engine for employing relational database with object oriented software
US6112207A (en) * 1997-10-31 2000-08-29 Oracle Corporation Apparatus and method which features linearizing attributes of an information object into a string of bytes for object representation and storage in a database system
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6360223B1 (en) * 1997-12-22 2002-03-19 Sun Microsystems, Inc. Rule-based approach to object-relational mapping strategies
US6374256B1 (en) * 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6385618B1 (en) * 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
US6769124B1 (en) * 1998-07-22 2004-07-27 Cisco Technology, Inc. Persistent storage of information objects
US6341289B1 (en) * 1999-05-06 2002-01-22 International Business Machines Corporation Object identity and partitioning for user defined extents
US6754670B1 (en) * 1999-12-17 2004-06-22 International Business Machines Corporation Mapping relational tables to object oriented classes
US6591275B1 (en) * 2000-06-02 2003-07-08 Sun Microsystems, Inc. Object-relational mapping for tables without primary keys
CA2430333A1 (en) 2000-11-29 2002-06-06 Lafayette Software Inc. Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
EP1211610A1 (en) * 2000-11-29 2002-06-05 Lafayette Software Inc. Methods of organising data and processing queries in a database system
EP1217541A1 (en) * 2000-11-29 2002-06-26 Lafayette Software Inc. Method of processing queries in a database system, and database system and software product for implementing such method
JP2005234612A (ja) 2001-05-07 2005-09-02 I-Ze Communications Inc データベースの統合
US20030154197A1 (en) * 2002-02-13 2003-08-14 Permutta Technologies Flexible relational data storage method and apparatus
US7103588B2 (en) 2003-05-05 2006-09-05 International Business Machines Corporation Range-clustered tables in a database management system
US7203712B2 (en) * 2004-02-26 2007-04-10 International Business Machines Corporation Algorithm to find LOB value in a relational table after key columns have been modified
JP2006065467A (ja) 2004-08-25 2006-03-09 Hitachi Ltd データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
US7493313B2 (en) * 2004-09-17 2009-02-17 Microsoft Corporation Durable storage of .NET data types and instances
US7954090B1 (en) * 2004-12-21 2011-05-31 Zenprise, Inc. Systems and methods for detecting behavioral features of software application deployments for automated deployment management
EP1880315A1 (en) * 2005-05-13 2008-01-23 Abb Research Ltd. Generating a unique representation of physical assets
US20080059492A1 (en) * 2006-08-31 2008-03-06 Tarin Stephen A Systems, methods, and storage structures for cached databases
CN102193917B (zh) * 2010-03-01 2014-03-26 中国移动通信集团公司 一种数据处理和查询方法和装置
US8458191B2 (en) * 2010-03-15 2013-06-04 International Business Machines Corporation Method and system to store RDF data in a relational store
WO2012074529A1 (en) 2010-12-03 2012-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for performing a nested join operation
JP5727258B2 (ja) * 2011-02-25 2015-06-03 ウイングアーク1st株式会社 分散型データベースシステム
CN107451225B (zh) * 2011-12-23 2021-02-05 亚马逊科技公司 用于半结构化数据的可缩放分析平台
CN103116625A (zh) * 2013-01-31 2013-05-22 重庆大学 一种基于Hadoop的海量RDF数据分布式查询处理方法
GB2513329A (en) * 2013-04-23 2014-10-29 Ibm Method and system for scoring data in a database
US10235391B2 (en) * 2013-06-18 2019-03-19 Change Healthcare Holdings, Llc Method and apparatus for implementing dynamic database traversal
WO2015027425A1 (zh) * 2013-08-29 2015-03-05 华为技术有限公司 存储数据的方法和装置

Also Published As

Publication number Publication date
JP2016534456A (ja) 2016-11-04
US20160179856A1 (en) 2016-06-23
CA2921616A1 (en) 2015-03-05
JP6225261B2 (ja) 2017-11-01
CN103703467B (zh) 2017-02-08
CN106649708A (zh) 2017-05-10
CN103703467A (zh) 2014-04-02
CA2921616C (en) 2017-03-07
EP3023885A1 (en) 2016-05-25
EP3023885B1 (en) 2019-10-30
EP3023885A4 (en) 2016-06-29
WO2015027425A1 (zh) 2015-03-05
BR112016004490B8 (pt) 2022-08-23
KR101720602B1 (ko) 2017-03-29
KR20160040282A (ko) 2016-04-12
US10331642B2 (en) 2019-06-25
US9589004B2 (en) 2017-03-07
US20170132260A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
BR112016004490B1 (pt) aparelho e método de armazenamento de dados
US9798774B1 (en) Graph data search method and apparatus
US9886464B2 (en) Versioned bloom filter
US11182365B2 (en) Systems and methods for distributed storage of data across multiple hash tables
JP2016534456A5 (pt)
WO2020052379A1 (zh) 分布式存储系统中处理对象的元数据的方法及装置
JP2018505501A5 (pt)
JP2013541090A5 (pt)
JP2016505932A5 (pt)
US20160162506A1 (en) Bloom Filter Generation Method and Apparatus
WO2018090606A1 (zh) 数据存储方法及装置
EP3289483A1 (en) Secure multi-party information retrieval
US9811481B2 (en) Distributed intelligent platform management interface (D-IPMI) system and method thereof
US20190014016A1 (en) Data acquisition device, data acquisition method and storage medium
WO2016037499A1 (zh) 一种内存迁移方法及设备
WO2016173172A1 (zh) 堆内存操作的检测方法及装置
WO2017206562A1 (zh) 一种数据表的处理方法、装置及系统
US9519527B1 (en) System and method for performing internal system interface-based communications in management controller
JP2012064012A5 (ja) 計算機システム及びストレージ・ボリューム管理方法
US20140297953A1 (en) Removable Storage Device Identity and Configuration Information
TWI639924B (zh) 存儲管理系統、管理裝置及方法
WO2019134623A1 (zh) 扩缩容方法、装置、设备及计算机可读存储介质
JP6397105B2 (ja) データを記憶する方法及び装置
US10572671B2 (en) Checking method, checking system and checking device for processor security
RU2750642C2 (ru) Система и способ регистрации уникального идентификатора мобильного устройства

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 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 29/08/2013, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD. (CN)