CN111611225A - 数据存储管理方法、查询方法、装置、电子设备及介质 - Google Patents

数据存储管理方法、查询方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN111611225A
CN111611225A CN202010412509.2A CN202010412509A CN111611225A CN 111611225 A CN111611225 A CN 111611225A CN 202010412509 A CN202010412509 A CN 202010412509A CN 111611225 A CN111611225 A CN 111611225A
Authority
CN
China
Prior art keywords
data
key value
cached
virtual key
information
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202010412509.2A
Other languages
English (en)
Inventor
伍东方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010412509.2A priority Critical patent/CN111611225A/zh
Publication of CN111611225A publication Critical patent/CN111611225A/zh
Pending legal-status Critical Current

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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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
    • 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/24552Database cache management

Abstract

本发明涉及数据处理技术领域,具体是数据存储管理方法、查询方法、装置、电子设备及介质,所述数据存储管理方法包括:获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。本发明通过在键‑值数据库缓存数据时,建立多索引单值的数据结构以及两级索引,能够实现多维度快速查询数据,提高数据查询效率。

Description

数据存储管理方法、查询方法、装置、电子设备及介质
技术领域
本发明涉及数据处理技术领域,特别涉及数据存储管理方法、查询方法、装置、电子设备及介质。
背景技术
随着互联网技术的不断发展,产生了各种各样的以计算机模拟环境为基础的、用户在其中生活、交流的网络世界(或虚拟平台)。当前,在线直播越来越受到用户的喜爱,由于其具有强大的传播性、互动性,在线直播逐渐成为互联网的主流表达方式。
随着在线直播数据的爆炸式增长,数据的维度也随之在激增,用户对数据的访问速度要求也越来越高,基于传统的文件系统和关系型数据库对这些数据的存储、分析、访问等操作都受到了极大的限制。
现有技术中,主要采用键-值缓存存储系统或者关系数据库存储系统存储数据来解决海量多维数据的存储和访问的问题。在键-值缓存存储系统中,数据以键-值(key-value)形式存于内存,输入键值key即可查询返回其对应的值value;可以通过多个key对应多个value的方式,实现多维度快速查询,但是数据需要存储多份,多份数据之间同步会存在问题。在关系数据库存储系统中,采用了关系模型来组织数据,以关系表形式存储数据集,虽然数据只需存储一份,但是数据访问速度会随数据容量增大而变慢。
发明内容
针对现有技术的上述问题,本发明的目的在于提供数据存储管理方法、查询方法、装置、电子设备及介质,能够实现多维度快速查询数据,并且提高数据查询效率。
为了解决上述问题,本发明提供一种数据存储管理方法,包括:
获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;
基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;
基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;
建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;
建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
本发明另一方面保护一种数据查询方法,包括:
接收数据查询请求,所述数据查询请求包括第一查询数据;
基于所述第一查询数据生成具有目标结构的键值信息;
查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系;
查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系;
返回与所述虚拟键值信息对应的目标数据。
本发明另一方面保护一种数据存储管理装置,包括:
获取模块,用于获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;
确定模块,用于基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;
第一生成模块,用于基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;
第一建立模块,用于建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;
第二建立模块,用于建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
本发明另一方面保护一种数据查询装置,包括:
第一接收模块,用于接收数据查询请求,所述数据查询请求包括第一查询数据;
第二生成模块,用于基于所述第一查询数据生成具有目标结构的键值信息;
第一查询模块,用于查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系;
第二查询模块,用于查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系;
第一发送模块,用于返回与所述虚拟键值信息对应的目标数据。
本发明另一方面保护一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述的方法。
本发明另一方面保护一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述的方法。
由于上述技术方案,本发明具有以下有益效果:
本发明的方法在键-值数据库缓存数据时,根据待缓存数据的数据结构、内存地址及字段信息生成与所述待缓存数据对应的键值集合和虚拟键值,并建立所述键值集合与所述虚拟键值、所述虚拟键值与所述待缓存数据之间的两级索引,形成多索引单值的数据结构,使得查询数据时,可以通过任一索引直接检索出所述待缓存数据,中间无需转换成指定索引,实现多维度快速查询数据,并且提高数据查询效率。另外,本发明的方法使用键-值数据库缓存数据,并且不存储多分冗余信息,能够节省存储空间,减少数据库的负载。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明一个实施例提供的实施环境示意图;
图2是本发明一个实施例提供的数据存储管理方法的流程图;
图3是本发明一个实施例提供的数据结构模型的示意图;
图4是本发明一个实施例提供的数据结构模型中的数据结构的示意图;
图5是本发明一个实施例提供的数据查询方法的流程图;
图6是本发明一个实施例提供的键值集合与虚拟键值的映射关系示意图;
图7是本发明一个实施例提供的虚拟键值与数据的映射关系示意图;
图8是本发明另一个实施例提供的数据查询方法的流程图;
图9是本发明一个实施例提供的虚拟键值与键值集合的映射关系示意图;
图10是本发明一个实施例提供的数据存储管理装置的结构示意图;
图11是本发明一个实施例提供的数据查询装置的结构示意图;
图12是本发明一个实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参考说明书附图1,其示出了本发明一个实施例提供的数据存储管理方法以及数据查询方法涉及的实施环境示意图,如图1所示,该实施环境可以至少包括客户端110和服务器120。
所述客户端110可以包括智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等实体设备,也可以包括运行于实体设备中的软体,例如服务商提供给用户的网页页面,以及这些服务商提供给用户的应用。
所述服务器120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。所述服务器120可以通过无线或者有线网络与所述客户端110建立通信连接。所述服务器120可以用于执行所述数据存储管理方法以及数据查询方法。
具体地,所述服务器120可以采用键-值数据库缓存数据,当获取到待缓存数据信息后,可以根据所述待缓存数据信息建立与所述待缓存数据对应的两级索引。所述客户端110可以向所述服务器120发送数据查询请求,所述服务器120接收到所述数据查询请求后,可以基于所述两级索引进行数据查询,得到目标数据,并将查询到的目标数据发送给所述客户端110。
请参考说明书附图2,其示出了本发明一个实施例提供的数据存储管理方法的流程。该方法可应用于图1所示的实施环境中,可以采用键-值数据库缓存数据。如图2所示,所述方法可以包括以下步骤:
S210:获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址。
本发明实施例中,所述待缓存数据的数据结构可以包括多个字段信息,所述待缓存数据可以为包括多个字段值的数据,所述待缓存数据的内存地址可以包括为所述待缓存数据分配的内存地址。可以为所述待缓存数据建立多个维度的索引,使得当需要查询数据时能够通过多个维度快速的查询到所述待缓存数据。
S220:基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合。
本发明实施例中,可以根据所述数据结构中的字段信息和与其对应的字段值生成与所述待缓存数据对应的键值,通过生成多个键值可以确定所述待缓存数据的多个索引,当需要查询数据时可以通过其中的一个或者多个索引的键值查询到所述待缓存数据。
在一个可能的实施例中,所述基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合可以包括:
从所述待缓存数据的数据结构中确定多个目标字段;
对每个目标字段,获取所述目标字段的字段标识和字段值;
根据所述字段标识和字段值生成与所述待缓存数据对应的键值。
本发明实施例中,可以根据实际需要预先从所述数据结构中指定多个字段作为目标字段,并获取所述待缓存数据中与所述目标字段对应的字段值,然后根据所述目标字段的字段标识和对应的字段值生成与所述待缓存数据对应的键值。例如,可以通过定义“字段标识_字段值”的数据结构来表示所述所述待缓存数据对应的键值信息。
在一个具体的实施例中,假设所述待缓存数据为用户信息,用户可以具有多个属性,例如姓名、身份证号、手机号、QQ号、爱好和住址等。在不同实际应用场景中,有时需要根据手机号检索该用户的信息,有时需要根据QQ号检索该用户的信息,有时需要根据身份证号检索该用户的信息。因此可以选择身份证号、手机号和QQ号为目标字段,根据所述目标字段的字段标识和待缓存数据中的身份证号、手机号和QQ号的值生成与所述用户信息对应的键值。
S230:基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值。
本发明实施例中,通过所述虚拟键值可以唯一确定一个内存地址,进而可以从键-值数据库中确定一个缓存数据。本发明实施例中,可以采用键-值数据库缓存数据,所述键-值数据库可以使用Redis数据库、CKV数据库等数据库。
在一个可能的实施例中,所述基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值可以包括:
获取所述待缓存数据对应的时间戳;
根据所述内存地址和所述时间戳生成与所述待缓存数据对应的虚拟键值。
本发明实施例中,所述时间戳可以包括为所述待缓存数据分配内存地址的时间,根据所述内存地址以及所述时间戳即可唯一确定所述待缓存数据。所述虚拟键值可以用于建立所述键值集合与所述待缓存数据之间的两级索引,以便后续通过多个维度快速查询所述待缓存数据。
S240:建立所述键值集合与所述虚拟键值的映射关系,生成一级索引。
本发明实施例中,可以通过建立所述键值集合到所述虚拟键值之间的映射关系,将所述键值集合中的每个键值均与所述虚拟键值进行对应,当查询数据时只需要输入所述键值集合中的一个或者多个键值信息,就可以确定一个虚拟键值。
S250:建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
本发明实施例中,可以通过建立所述虚拟键值到所述待缓存数据的映射关系,就可以通过虚拟键值检索到所述待缓存数据。在实际应用中,不论所述待缓存数据有多少个键值,也不论当查询数据时输入的是哪一个键值信息,都可以通过与所述键值信息对应的虚拟键值直接查询到数据,不需要将输入的键值信息转换为某个指定索引的键值信息,所述待缓存数据也不需要存储多份。
本发明实施例中,生成所述一级索引和二级索引后,可以将上述索引信息与所述待缓存数据存储到键-值数据库中,当进行数据查询时,可以根据输入的查询数据基于上述索引信息进行数据查询,所述键-值数据库可以使用Redis数据库、CKV数据库等数据库。
在一个具体的实施例中,假设所述待缓存数据为用户信息,可以根据所述用户的身份证号、手机号和QQ号生成与之对应的多个键值,根据所述用户信息的内存地址结合时间戳生成与所述用户信息对应的虚拟键值;并分别建立多个键值组成的键值集合到所述虚拟键值的一级索引,建立所述虚拟键值到所述用户信息的二级索引,即可根据身份证号、手机号和QQ号的值中任意一个或者多个检索到与所述用户信息对应的虚拟键值,进而检索到所述用户信息。
在一个可能的实施例中,所述方法还可以包括:
建立所述虚拟键值与所述键值集合的映射关系,生成关联索引。
本发明实施例中,可以通过建立所述虚拟键值到所述键值集合的映射关系,就可以通过所述虚拟键值检索到与所述待缓存数据对应的键值集合,进而确定所述待缓存数据的所有键值的键值信息而无需访问所述待缓存数据。
在一个具体的实施例中,假设所述待缓存数据为用户信息,在实际应用场景中,有时需要根据身份证号快速查找该用户的手机号或者QQ号。可以根据所述用户的身份证号、手机号和QQ号生成与之对应的多个键值,得到键值集合,根据所述用户信息的内存地址结合时间戳生成与所述用户信息对应的虚拟键值,通过建立所述键值集合与虚拟键值之间的索引关系,以及建立所述虚拟键值与所述键值集合的索引关系,即可根据用户身份证号确定所述虚拟键值,进而通过所述虚拟键值检索到所述用户的手机号和QQ号。通过这种方式可以实现索引之间的快速转换,并且不需要访问数据的整体信息。
本发明实施例中,生成所述关联索引后,也可以将所述关联索引与所述一级索引、二级索引和所述待缓存数据存储到键-值数据库中,当查询数据时,可以根据输入的查询数据基于所述关联索引进行数据查询。
在一个示例中,结合参考说明书附图3和图4,可以通过如图3所示的基于多索引单值的数据结构模型存储所述一级索引、二级索引和关联索引。如图4所示,所述数据结构模型可以存储4个数据结构:检索数据信息所需要的键值集合(记为MKeyHC),所述键值集合映射虚拟键值(记为MVKey),虚拟键值映射数据信息(记为MRValue),虚拟键值映射键值集合(记为MVKKeys);其中“A→B”表示从A到B的映射,例如“键值集合→虚拟键值”表示从键值集合到虚拟键值的映射。
在一个具体的实施例中,假设所述待缓存数据为用户信息,所述用户信息可以记为Value:姓名为用户1、身份证号(Identification,ID)为432、手机号(PhoneNum)为136、QQ号为100、爱好为钓鱼和住址为深圳市。则可以根据所述用户的身份证号、手机号和QQ号生成与之对应的多个键值(记为key-value),包括ID_432,PhoneNum_136和QQ_100,得到键值集合{ID_432,PhoneNum_136,QQ_100};可以根据所述用户信息的内存地址结合时间戳生成与所述用户信息对应的虚拟键值Vkey,例如可以记为V1;可以建立所述键值集合虚拟键值之间的索引关系,包括ID_432对应V1,PhoneNum_136对应V1和QQ_100对应V1;建立所述虚拟键值与所述用户信息之间的索引关系V1对应Value;建立所述虚拟键值与所述键值集合的索引关系V1对应集合{ID_432,PhoneNum_136,QQ_100}。具体的,上述信息可以通过如下表所示的映射关系表进行存储。
Figure BDA0002493797090000081
当查找数据时,可以通过键值集合中的一个或者多个键值检索到虚拟键值V1(例如输入查询数据QQ号为100,可以根据所述查询数据生成键值信息QQ_100,即可检索到虚拟键值V1),然后可以根据虚拟键值V1检索到用户信息Value的详细信息,从而实现多维度快速访问。也可以通过其中一个键值的信息检索到虚拟键值V1,然后根据虚拟键值V1直接检索出其他键值的信息,无需要访问用户数据的详细信息,从而实现索引之间快速查询和转换,例如可以根据键值信息QQ_100检索到虚拟键值V1,然后根据虚拟键值V1检索到PhoneNum_136和ID_432,即对应的其他键值信息为手机号为136和身份证号为432。
本发明的方法在键-值数据库缓存数据时,根据待缓存数据的数据结构、内存地址及字段信息生成与所述待缓存数据对应的键值集合和虚拟键值,并建立所述键值集合与所述虚拟键值、所述虚拟键值与所述待缓存数据之间的两级索引,形成多索引单值的数据结构,使得查询数据时,可以通过任一索引直接检索出所述待缓存数据,中间无需转换成指定索引,实现多维度快速查询数据,并且提高数据查询效率。另外,本发明的方法使用键-值数据库缓存数据,并且不存储多分冗余信息,能够节省存储空间,减少数据库的负载。
本发明实施例提供的数据存储管理方法还通过建立所述虚拟键值与所述待缓存数据对应的键值集合之间的关联索引,使得可以通过任一索引快速检索到所述待缓存数据的其他索引的信息,无需访问所述待缓存数据的整体信息,实现索引之间信息的快速转换。
请参考说明书附图5,其示出了本发明一个实施例提供的数据查询方法的流程。该方法可应用于图1所示实施环境中。如图5所示,所述方法可以包括:
S510:接收数据查询请求,所述数据查询请求包括第一查询数据。
本发明实施例中,所述数据查询请求可以由用户通过客户端发送给服务器,所述数据查询请求可以包括用户输入的查询信息,例如用户信息中的身份证号、手机号或者QQ号的信息。
S520:基于所述第一查询数据生成具有目标结构的键值信息。
本发明实施例中,可以根据所述第一查询数据生成与数据库中存储的键值信息格式相同的键值信息,例如可以根据所述第一查询数据对应的字段的字段标识以及所述第一查询数据生成数据结构为“字段标识_字段值”的键值信息。例如,如果用户输入的第一查询数据为身份证号为3220283940,则可以生成键值“身份证号_3220283940”。
在一个可能的实施例中,还可以对所述查询数据进行预处理后,根据预处理结果生成具有目标结构的键值信息。例如,可以先对所述第一查询数据进行哈希运算得到固定长度的值,再根据与之对应的字段的字段标识生成键值信息。
S530:查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系。
本发明实施例中,可以根据所述键值信息确定与之对应的一级索引,然后通过查询所述一级索引确定与所述键值信息对应的虚拟键值信息。
在一个示例中,如图6所示,每个数据对应的键值集合中的所有键值均映射至与所述数据对应的虚拟键值,所述键值与虚拟键值之间为多对一的关系,当确定同一键值集合中的一个或者多个键值时即可确定对应的数据的虚拟键值。
S540:查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系。
本发明实施例中,可以通过所述虚拟键值信息确定与之对应的二级索引,然后通过查询所述二级索引确定与所述虚拟键值信息对应的目标数据,由于所述虚拟键值与存储的数据为一一对应关系,因此可以确定唯一的一个目标数据。
在一个示例中,如图7所示,每个数据对应的虚拟键值映射至所述数据,所述虚拟键值与所述数据为一一对应关系,当确定虚拟键值后即可确定对应的数据信息。
S550:返回与所述虚拟键值信息对应的目标数据。
本发明实施例中,与所述虚拟键值信息对应的目标数据即为根据所述数据查询请求查询得到的数据,可以将所述目标数据返回至客户端,所述客户端接收到所述目标数据后,可以通过指定界面展示给用户。
在一个可能的实施例中,如图8所示,所述方法还可以包括:
S810:接收键值查询请求,所述键值查询请求包括第二查询数据。
S820:基于所述第二查询数据生成具有目标结构的键值信息。
S830:查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息。
本发明实施例中,步骤S810至步骤S830的详细信息可以参考图5所示的方法实施例中的步骤S510至S530。
S840:查询所述虚拟键值信息对应的关联索引,得到与所述虚拟键值信息对应的目标键值集合,所述关联索引存储有数据的虚拟键值与数据的键值集合的映射关系。
本发明实施例中,可以通过所述虚拟键值信息确定与之对应的关联索引,然后通过查询所述关联索引确定与所述虚拟键值信息对应的目标键值集合。
在一个示例中,如图9所示,每个数据对应的虚拟键值映射至与所述数据对应的键值集合,所述虚拟键值与所述键值集合为一一对应关系,当确定虚拟键值后即可确定对应的数据的键值集合,不需要先确定所述数据的整体信息。
S850:返回所述目标键值集合中的键值信息。
本发明实施例中,所述目标键值集合中的键值信息即为根据所述键值查询请求查询得到的键值信息,可以将所述键值信息返回至客户端,所述客户端接收到所述键值信息后,可以通过指定界面展示给用户。
综上所述,本发明实施例提供的数据查询方法通过检索键值集合与虚拟键值、虚拟键值与数据之间的两级索引,可以直接检索出与输入的查询数据对应的数据信息,无需转换成指定索引,实现了多维度快速查询数据,并且提高了数据查询效率。
本发明实施例提供的数据查询方法通过检索键值与虚拟键值之间的一级索引、虚拟键值与键值集合之间的关联索引,可以通过数据的任一索引快速检索到数据的其他索引的信息,无需访问所述数据的整体信息,实现了数据索引之间信息的快速转换。
请参考说明书附图10,其示出了本发明一个实施例提供的数据存储管理装置1000的结构。如图10所示,所述装置1000可以包括:
获取模块1010,用于获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;
确定模块1020,用于基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;
第一生成模块1030,用于基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;
第一建立模块1040,用于建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;
第二建立模块1050,用于建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
在一个可能的实施例中,所述装置1000还可以包括:
第三建立模块,用于建立所述虚拟键值与所述键值集合的映射关系,生成关联索引。
请参考说明书附图11,其示出了本发明一个实施例提供的数据查询装置1100的结构。如图11所示,所述装置1100可以包括:
第一接收模块1110,用于接收数据查询请求,所述数据查询请求包括第一查询数据;
第二生成模块1120,用于基于所述第一查询数据生成具有目标结构的键值信息;
第一查询模块1130,用于查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系;
第二查询模块1140,用于查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系;
第一发送模块1150,用于返回与所述虚拟键值信息对应的目标数据。
在一个可能的实施例中,所述装置1100还可以包括:
第二接收模块,用于接收键值查询请求,所述键值查询请求包括第二查询数据;
第三生成模块,用于基于所述第二查询数据生成具有目标结构的键值信息;
第三查询模块,用于查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息;
第四查询模块,用于查询所述虚拟键值信息对应的关联索引,得到与所述虚拟键值信息对应的目标键值集合,所述关联索引存储有数据的虚拟键值与数据的键值集合的映射关系;
第二发送模块,用于返回所述目标键值集合中的键值信息。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明一个实施例还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序可以由所述处理器加载并执行以实现如上述方法实施例所提供的数据存储管理方法,也可以由所述处理器加载并执行以实现如上述方法实施例所提供的数据查询方法。
其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据存储管理或者数据查询。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在终端、服务器或者类似的运算装置中执行,即上述电子设备可以包括终端、服务器或者类似的运算装置。以运行在服务器上为例,如图12所示,其示出了本发明实施例提供的服务器的结构示意图。该服务器可以用于实施上述实施例中提供的数据存储管理方法,也可以用于实施上述实施例中提供的数据查询方法。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Unit,CPU)1210(例如,一个或一个以上处理器)和存储器1230,一个或一个以上存储应用程序1223或数据1222的存储介质1220(例如一个或一个以上海量存储设备)。其中,存储器1230和存储介质1220可以是短暂存储或持久存储。存储在存储介质1220的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1210可以设置为与存储介质1220通信,在服务器1200上执行存储介质1220中的一系列指令操作。服务器1200还可以包括一个或一个以上电源1260,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1240,和/或,一个或一个以上操作系统1221,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1240可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1200的通信供应商提供的无线网络。在一个实例中,输入输出接口1240包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1240可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯,所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
本领域普通技术人员可以理解,图12所示的结构仅为示意,服务器1200还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
本发明一个实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序可以由服务器的处理器加载并执行以实现如上述方法实施例中所提供的数据存储管理方法的各个步骤,也可以由服务器的处理器加载并执行以实现如上述方法实施例中所提供的数据查询方法的各个步骤。
可选地,在本发明实施例中,上述计算机存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据存储管理方法,其特征在于,包括:
获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;
基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;
基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;
建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;
建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述虚拟键值与所述键值集合的映射关系,生成关联索引。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合包括:
从所述待缓存数据的数据结构中确定多个目标字段;
对每个目标字段,获取所述目标字段的字段标识和字段值;
根据所述字段标识和字段值生成与所述待缓存数据对应的键值。
4.根据权利要求1或2所述的方法,其特征在于,所述基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值包括:
获取所述待缓存数据对应的时间戳;
根据所述内存地址和所述时间戳生成与所述待缓存数据对应的虚拟键值。
5.一种数据查询方法,其特征在于,包括:
接收数据查询请求,所述数据查询请求包括第一查询数据;
基于所述第一查询数据生成具有目标结构的键值信息;
查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系;
查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系;
返回与所述虚拟键值信息对应的目标数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收键值查询请求,所述键值查询请求包括第二查询数据;
基于所述第二查询数据生成具有目标结构的键值信息;
查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息;
查询所述虚拟键值信息对应的关联索引,得到与所述虚拟键值信息对应的目标键值集合,所述关联索引存储有数据的虚拟键值与数据的键值集合的映射关系;
返回所述目标键值集合中的键值信息。
7.一种数据存储管理装置,其特征在于,包括:
获取模块,用于获取待缓存数据信息,所述待缓存数据信息包括待缓存数据的数据结构和内存地址;
确定模块,用于基于所述待缓存数据的数据结构确定多个与所述待缓存数据对应的键值,生成键值集合;
第一生成模块,用于基于所述待缓存数据的内存地址生成与所述待缓存数据对应的虚拟键值;
第一建立模块,用于建立所述键值集合与所述虚拟键值的映射关系,生成一级索引;
第二建立模块,用于建立所述虚拟键值与所述待缓存数据的映射关系,生成二级索引。
8.一种数据查询装置,其特征在于,包括:
第一接收模块,用于接收数据查询请求,所述数据查询请求包括第一查询数据;
第二生成模块,用于基于所述第一查询数据生成具有目标结构的键值信息;
第一查询模块,用于查询所述键值信息对应的一级索引,得到与所述键值信息对应的虚拟键值信息,所述一级索引存储有数据的键值集合与数据的虚拟键值的映射关系;
第二查询模块,用于查询所述虚拟键值信息对应的二级索引,得到与所述虚拟键值信息对应的目标数据,所述二级索引存储有数据的虚拟键值与数据的映射关系;
第一发送模块,用于返回与所述虚拟键值信息对应的目标数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-6任意一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-6任意一项所述的方法。
CN202010412509.2A 2020-05-15 2020-05-15 数据存储管理方法、查询方法、装置、电子设备及介质 Pending CN111611225A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010412509.2A CN111611225A (zh) 2020-05-15 2020-05-15 数据存储管理方法、查询方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010412509.2A CN111611225A (zh) 2020-05-15 2020-05-15 数据存储管理方法、查询方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN111611225A true CN111611225A (zh) 2020-09-01

Family

ID=72200350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010412509.2A Pending CN111611225A (zh) 2020-05-15 2020-05-15 数据存储管理方法、查询方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN111611225A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434027A (zh) * 2020-10-30 2021-03-02 金蝶软件(中国)有限公司 多维度数据的索引方法、装置、计算机设备和存储介质
CN112861022A (zh) * 2021-02-01 2021-05-28 杭州全拓科技有限公司 一种基于人工智能的人员活动大数据记录查询方法
CN113268506A (zh) * 2021-05-24 2021-08-17 北京京东振世信息技术有限公司 缓存数据库的查询方法、装置、电子设备和可读存储介质
CN113535857A (zh) * 2021-08-04 2021-10-22 阿波罗智联(北京)科技有限公司 数据同步方法及装置
CN113611383A (zh) * 2021-08-20 2021-11-05 平安国际智慧城市科技股份有限公司 医疗信息获取方法、装置、电子设备及存储介质
CN114448890A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质
WO2022127883A1 (zh) * 2020-12-18 2022-06-23 南京中兴新软件有限责任公司 信令数据查询方法、信令数据索引库的构建方法及服务器
CN114706925A (zh) * 2022-03-30 2022-07-05 苏州浪潮智能科技有限公司 一种多服务多key值的缓存同步方法、装置及系统
CN115061952A (zh) * 2022-08-19 2022-09-16 飞狐信息技术(天津)有限公司 一种数据缓存方法、装置、电子设备、及计算机存储介质
CN117149100A (zh) * 2023-11-01 2023-12-01 恒生电子股份有限公司 数据存储方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434027A (zh) * 2020-10-30 2021-03-02 金蝶软件(中国)有限公司 多维度数据的索引方法、装置、计算机设备和存储介质
WO2022127883A1 (zh) * 2020-12-18 2022-06-23 南京中兴新软件有限责任公司 信令数据查询方法、信令数据索引库的构建方法及服务器
CN112861022A (zh) * 2021-02-01 2021-05-28 杭州全拓科技有限公司 一种基于人工智能的人员活动大数据记录查询方法
CN113268506B (zh) * 2021-05-24 2023-09-26 北京京东振世信息技术有限公司 缓存数据库的查询方法、装置、电子设备和可读存储介质
CN113268506A (zh) * 2021-05-24 2021-08-17 北京京东振世信息技术有限公司 缓存数据库的查询方法、装置、电子设备和可读存储介质
CN113535857A (zh) * 2021-08-04 2021-10-22 阿波罗智联(北京)科技有限公司 数据同步方法及装置
CN113611383A (zh) * 2021-08-20 2021-11-05 平安国际智慧城市科技股份有限公司 医疗信息获取方法、装置、电子设备及存储介质
CN113611383B (zh) * 2021-08-20 2024-02-02 深圳平安智慧医健科技有限公司 医疗信息获取方法、装置、电子设备及存储介质
CN114448890A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质
CN114448890B (zh) * 2021-12-22 2023-10-10 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质
CN114706925A (zh) * 2022-03-30 2022-07-05 苏州浪潮智能科技有限公司 一种多服务多key值的缓存同步方法、装置及系统
CN114706925B (zh) * 2022-03-30 2024-02-02 苏州浪潮智能科技有限公司 一种多服务多key值的缓存同步方法、装置及系统
CN115061952A (zh) * 2022-08-19 2022-09-16 飞狐信息技术(天津)有限公司 一种数据缓存方法、装置、电子设备、及计算机存储介质
CN117149100A (zh) * 2023-11-01 2023-12-01 恒生电子股份有限公司 数据存储方法及装置
CN117149100B (zh) * 2023-11-01 2024-04-23 恒生电子股份有限公司 数据存储方法及装置

Similar Documents

Publication Publication Date Title
CN111611225A (zh) 数据存储管理方法、查询方法、装置、电子设备及介质
CN109299110B (zh) 数据查询方法、装置、存储介质和电子设备
CN108304444B (zh) 信息查询方法及装置
CN102246172A (zh) 用于电子内容的分布式索引搜索的系统及方法
CN106326475B (zh) 一种高效的静态哈希表实现方法及系统
CN104462430A (zh) 关系型数据库的数据处理方法及装置
CN111159219B (zh) 一种数据管理方法、装置、服务器及存储介质
CN1924854B (zh) 智能移动终端的桌面搜索方法
CN110765138A (zh) 数据查询方法、装置、服务器及存储介质
CN103036697B (zh) 一种多维度数据去重方法及系统
CN110737663A (zh) 一种数据存储方法、装置、设备及存储介质
CN105912696A (zh) 一种基于对数归并的dns索引创建方法及查询方法
CN111400301B (zh) 一种数据查询方法、装置及设备
CN114398520A (zh) 数据检索方法、系统、装置、电子设备及存储介质
CN113849499A (zh) 数据的查询方法、装置、存储介质及电子装置
CN111625600B (zh) 数据存储的处理方法、系统、计算机设备及存储介质
CN112181302A (zh) 一种数据多级存储和访问方法及系统
CN107977381B (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN107291875B (zh) 一种基于元数据图的元数据组织管理方法和系统
CN112416626B (zh) 一种数据处理方法和装置
CN113407702B (zh) 员工合作关系强度量化方法、系统、计算机和存储介质
CN112148925B (zh) 用户标识关联查询方法、装置、设备及可读存储介质
CN114238334A (zh) 异构数据编码、解码方法和装置、计算机设备和存储介质
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
CN112817980A (zh) 一种数据索引处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination