CN109299087A - 数据缓存方法、装置、计算机设备及存储介质 - Google Patents
数据缓存方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109299087A CN109299087A CN201810922367.7A CN201810922367A CN109299087A CN 109299087 A CN109299087 A CN 109299087A CN 201810922367 A CN201810922367 A CN 201810922367A CN 109299087 A CN109299087 A CN 109299087A
- Authority
- CN
- China
- Prior art keywords
- data
- data buffer
- buffer area
- index
- preset condition
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据缓存方法、装置、计算机设备及存储介质。该方法包括:设置多个预设条件;根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;若检测到待缓存的数据,获取所述待缓存的数据;获取所述多级索引;依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。利用本发明的方法进行的数据处理,主要是通过依据预设条件构建多级数据缓存区和多级索引,依据多级索引将数据按照预设条件分类分级缓存到多级数据缓存区,避免了重复缓存相同的数据,浪费缓存空间的情况。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种数据缓存方法、装置、计算机设备及存储介质。
背景技术
随着社会网络化,网络数据量越来越大,为了达到快速查询数据的目的,一般通过索引来查询,而为了实现索引查询,缓存数据时必须按照索引的结构来缓存数据。目前常见的为满足索引查询采用的缓存为一级缓存,其结构以下:K(key1)→V(val1),K(key2)→V(val2),……,K(keyn)→V(valn),即满足条件keyn的值有valn,这种缓存结构存在一个问题:如果val1,val2…valn存在很多交集,会造成重复存储大量数据,浪费存储空间。
例如缓存人员信息,针对不同条件(例如1990年出生的人、1990年出生在广东的人、1990年出生在广东的男性等信息)的一级缓存,需要的数据缓存方式如下:
Key(1990年出生)->value(所有1990年出生的人的信息)
Key(1990年出生、籍贯广东)->value(所有1990年出生在广东的人的信息)
Key(1990年出生、籍贯广东,男性)->value(所有1990年出生在广东的男性的信息)
由此可见,按照以上一级缓存的方式存储数据,所有1990年出生在广东的人的信息、所有1990年出生在广东的男性的信息都被重复存储了,浪费了缓存空间。
发明内容
本发明实施例提供了一种数据缓存方法、装置、计算机设备及存储介质,以节约缓存空间。
第一方面,本发明实施例提供了一种数据缓存方法,该方法包括:设置多个预设条件;根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;若检测到待缓存的数据,获取所述待缓存的数据;获取所述多级索引;依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
第二方面,本发明实施例还提供了一种数据缓存装置,所述数据缓存装置包括用于实现第一方面所述的数据缓存方法的单元。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器,以及与所述存储器相连的处理器;所述存储器用于存储实现数据缓存方法的计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如上述第一方面所述的方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现上述第一方面所述的方法。
本发明实施例提供了一种数据缓存方法、装置、计算机设备及存储介质。本发明实施例依据预设条件构建多级数据缓存区和多级索引,依据多级索引将数据按照预设条件分类分级缓存到多级数据缓存区,避免了重复缓存相同的数据,浪费缓存空间的情况。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种数据缓存方法的流程示意图;
图2是本发明一实施例提供的多级数据缓存区的结构示意图;
图3是本发明一实施例提供的一种数据缓存方法的子流程示意图;
图4是本发明另一实施例提供的一种数据缓存方法的子流程示意图;
图5是本发明另一实施例提供的一种数据缓存方法的流程示意图;
图6是本发明一实施例提供的一种数据缓存装置的示意性框图;
图7是本发明一实施例提供的一种数据缓存装置的子单元示意性框图;
图8是本发明另一实施例提供的一种数据缓存装置的子单元示意性框图;
图9是本发明另一实施例提供的一种数据缓存装置的单元示意性框图;
图10是本发明实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
也应当理解,尽管术语第一、第二等可以在此用来描述各种元素,但这些元素不应该受限于这些术语,这些术语仅用来将这些元素彼此区分开。
图1为本发明实施例提供的一种数据缓存方法的流程示意图,该方法包括步骤S101~S106。
S101,设置多个预设条件。
本发明实施例是通过数据中的某些条件对数据进行分类、分级缓存,因此需要预设多个可用于查询或分类的预设条件来构建数据的多级索引以及多级数据缓存区。
S102,根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集。
在本发明实施例中,每一个数据缓存区都对应不同的预设条件,且数据缓存区是分级的,一个数据缓存区的下一级数据缓存区是该数据缓存区的子集,根据多级数据缓存区之间的关系可知,越下一级的数据缓存区满足的条件越多。
在一实施例中,假设预设条件为i个,步骤S102具体为:根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集。
假设预设条件为学历(k1)、婚姻状态(k2)和性别(k3)三个,第一个预设条件为学历,第二个预设条件为婚姻状态,第三个预设学历为性别,则根据第三个预设条件性别建立该预设条件对应的第一级数据缓存区(如图2所示的文件名分别为男性和女性的数据缓存区),在第一级数据缓存区下建立关于第二个预设条件婚姻状态对应的第二级数据缓存区(已婚和未婚),在第二级数据缓存区下建立关于第一个预设条件学历对应的第三级数据缓存区,第三级数据缓存区为最后一级数据缓存区,用来保存满足具体学历、婚姻状态和性别的数据(例如仅保存人员的唯一标识号ID,或证件号码,仅保存ID或证件号码有利于节约缓存空间)。
第一级数据缓存区用于将性别不同的人区分开,第二级数据缓存区用于将相同性别但不同婚姻状态的人区分开,第三级数据缓存区用于将相同性别、相同婚姻状态、但不同学历的人区分开,实现数据分类分级缓存,因此,不同的人的信息不会因为某些条件相同而在不同的数据缓存区中交叉保存,避免了重复缓存数据。
S103,根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配。
数据的索引结构需要与数据缓存结构相匹配,如此在数据缓存和数据查询过程才能实现索引的指针功能。
在一实施例中,如图3所示,步骤S103包括子步骤S1031-S1032。
S1031,根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区。
S1032,根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
假设i个预设条件分别为k1、k2、……、ki,构建i+1级索引的,索引的结构表示如下:
第i+1级索引:Key(i+1)(k1,k2,……,ki)->Value(i+1)(k1,k2,……,ki-1);
第i级索引:Keyi(k1,k2,……,ki-1)……->Valuei(k1,k2,……,ki-2);
……
第3级索引:Key3(k1,k2)……->Value3(k1)
第2级索引:Key2(k1)->Value2(主键值);
第1级索引:Key1(主键值)->Value1(该主键值对应的所有信息)。
第i+1级至第2级索引定义指针的指向以提供指针路径,路径为:满足条件ki的第一级数据缓存区→满足条件ki-1的第二级数据缓存区→……→满足条件k2的第i-1级数据缓存区→满足条件k1的第i级数据缓存区;第i级数据缓存区中用于保存的是数据的主键值。
根据这个指针路径,首先查询满足条件ki的第一级数据缓存区,再在第一级数据缓存区中查询满足条件ki-1的下一级数据缓存区(即第二级数据缓存区),……,再在第i-1级数据缓存区中查询满足条件k1的最后一级数据缓存区(即第i级数据缓存区),在第i级数据缓存区中获取主键值,如此获取的主键值满足所有条件k1,k2,……,ki,最后根据第一级索引的指针指向,从数据库中查询主键值对应的完整信息。
例如预设条件为学历(k1)、婚姻状态(k2)和性别(k3)三个,第一个预设条件为学历,第二个预设条件为婚姻状态,第三个预设学历为性别,则根据第三个预设条件构建性别对应的第4级索引:Key4(学历,婚姻状态,性别)->Value3(学历,婚姻状态),该级索引指向图2中的第一级数据缓存区;根据第二个预设条件构建婚姻状态对应的第3级索引:Key3(学历,婚姻状态)->Value3(学历),该级索引指向图2中的第二级数据缓存区;根据第一个预设条件构建第2级索引:Key2(学历)->Value2(主键值),该级索引指向图2中的第三级数据缓存区,第三级数据缓存区用于保存数据的主键值;根据待缓存的数据的主键值构建第1级索引:Key1(主键值)->Value1(该主键值对应的所有信息),该级索引指向数据库,数据库中保存有所有数据,根据主键值从数据库中获取主键值对应数据的全部信息。
S104,若检测到待缓存的数据,获取所述待缓存的数据。
S105,获取所述多级索引。
多级索引提供指针路径,根据指针路径可以获知数据的保存路径。
S106,依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
当存在待缓存的数据时,需要将待缓存的数据缓存至数据缓存区中。依据每一级索引对应的预设条件将待缓存进行分类保存在对应一级的数据缓存区中,实现数据按预设条件的分类分级缓存,不同的数据不会因为某些条件相同而在不同的数据缓存区中交叉保存,避免了重复缓存数据,节约缓存空间。
如图4所示,步骤S106包括步骤S1061-S1062。
S1061,根据所述多级索引中最高一级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区。
S1062,将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
仍以图2为例,4级索引的结构如下:
第4级索引:Key4(学历,婚姻状态,性别)……->Value3(学历,婚姻状态);
第3级索引:Key3(学历,婚姻状态)……->Value3(学历)
第2级索引:Key2(学历)->Value2(主键值);
第1级索引:Key1(主键值)->Value1(该主键值对应的所有信息)。
根据索引可知,将所有人员信息依据性别分类保存在第一级数据缓存区,将第一级数据缓存区的人员信息依据婚姻状态分类保存在第二级数据缓存区,将第二级数据缓存区的人员信息依据学历状态分类保存在第三级数据缓存区,保存在第三级数据缓存区的人员信息仅为对应人员的主键值,即ID号。
本发明实施例提供的数据缓存方法,依据预设条件构建多级数据缓存区和多级索引,依据多级索引将数据分级保存在不同预设条件对应的数据缓存区中,数据按照预设条件分级缓存,避免重复缓存相同的数据,浪费缓存空间。
依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存之后,当需要查询数据时,可以根据查询条件找到对应的索引,依据索引查询数据。
如图5所示,在步骤S106之后还包括步骤S107-S109。
S107,若接收到查询数据的查询指令,所述查询指令包括查询条件,从所述多级索引中获取所述查询条件对应的索引结构。
查询条件与预设条件相关,查询条件是预设条件的具体状态,例如查询条件为本科、已婚、女。
假设用户输入的查询条件为已婚、硕士,则根据这两个查询条件可找到对应的三级索引,索引如下:
第3级索引:Key3(学历,婚姻状态)……->Value3(学历);
第2级索引:Key2(学历)->Value2(主键值);
第1级索引:Key1(主键值)->Value1(该主键值对应的所有信息)。
S108,确定所述索引结构对应的查询路径。
S109,按照所述查询路径查询数据。
依据第3级和第2级索引确定的指针路径为:第二级数据缓存区中已婚类的数据区到第三级数据缓存区中硕士类的数据区。由图2可得,从第二级数据缓存区中已婚类的数据区到第三级数据缓存区中硕士类的数据区中可获得所有已婚硕士的人员(包括男性和女性)对应的主键值,即ID号。
根据第1级索引,获取ID之后便可以从数据库中调取ID对应的人员的所有信息。
本实施例的数据缓存方法,数据的缓存是根据预设条件分类分级缓存的,查询时根据查询条件可以快速找到满足该查询条件的数据区,不需要遍历查找,查询速度非常快。
图6为本发明实施例提供的一种数据缓存装置100的示意性框图。该数据缓存装置100包括用于执行上述数据缓存方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。该数据缓存装置100包括设置单元101、建立单元102、构建单元103、第一获取单元、第二获取单元105以及缓存单元106。
设置单元101用于设置多个预设条件。
建立单元102用于根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集。
构建单元103用于根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配。
第一获取单元104用于若检测到待缓存的数据,获取所述待缓存的数据。
第二获取单元105用于获取所述多级索引。
缓存单元106用于依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
在一实施例中,所述预设条件为i个,所述建立单元102具体用于:根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集。
如图7所示,所述构建单元103包括第一构建子单元1031和第二构建子单元1032。
第一构建子单元1031用于根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区。
第二构建子单元1032用于根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
如图8所示,所述缓存单元106包括第一缓存子单元1061以及第二缓存子单元1062。
第一缓存子单元1061用于根据所述多级索引中最高一级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区。
第二缓存子单元1062用于将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
在另一实施例中,如图9该数据缓存装置100还包括第三获取单元107、确定单元108和查询单元109。
第三获取单元107用于若接收到查询数据的查询指令,所述查询指令包括查询条件,从所述多级索引中获取所述查询条件对应的索引结构。
确定单元108用于确定所述索引结构对应的查询路径。
查询单元109用于按照所述查询路径查询数据。
上述数据缓存装置100与前述数据缓存方法对应,本实施例中对数据缓存装置100未详尽之处可参考前述方法实施例,此处不做赘述。
上述数据缓存装置100可以实现为一种计算机程序的形式,计算机程序可以在如图10所示的计算机设备上运行。
图10为本发明实施例提供的一种计算机设备200的结构示意性框图。该计算机设备200,该计算机设备200可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
该计算机设备200,包括通过***总线201连接的处理器202、存储器和网络接口205,其中,存储器可以包括非易失性存储介质203和内存储器204。
该计算机设备200的非易失性存储介质203可存储操作***2031和计算机程序2032,该计算机程序2032被执行时,可使得处理器202执行一种数据缓存方法。该内存储器204为非易失性存储介质203中的计算机程序2032的运行提供环境。该计算机设备200的处理器202用于提供计算和控制能力,支撑整个计算机设备200的运行。计算机设备200的网络接口205用于进行网络通信,如发送分配的任务、接收数据等。
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
处理器202运行非易失性存储介质203中的计算机程序2032时,处理器202执行以下步骤:设置多个预设条件;根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;若检测到待缓存的数据,获取所述待缓存的数据;获取所述多级索引;依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
在一实施例中,所述预设条件为i个;所述处理器202在执行所述根据所述多个预设条件建立多级数据缓存区的步骤时,具体执行以下步骤:根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集。
在一实施例中,所述处理器202在执行所述根据所述多个预设条件构建多级索引的步骤时,具体执行以下步骤:根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区;根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
在一实施例中,所述处理器202在执行所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件的步骤时,具体执行以下步骤:根据所述多级索引中最高一级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区;将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
在一实施例中,所述处理器202在执行所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件的步骤之后,还执行还以下步骤:若接收到查询数据的查询指令,所述查询指令包括查询条件,从所述多级索引中获取所述查询条件对应的索引结构;确定所述索引结构对应的查询路径;按照所述查询路径查询数据。
应当理解,在本申请实施例中,处理器202可以是中央处理单元(CentralProcessing Unit,CPU),该处理器202还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,可实现以下步骤:设置多个预设条件;根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;若检测到待缓存的数据,获取所述待缓存的数据;获取所述多级索引;依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
在一实施例中,所述预设条件为i个;在实现所述根据所述多个预设条件建立多级数据缓存区的步骤时,具体实现以下步骤:根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集。
在一实施例中,在实现所述根据所述多个预设条件构建多级索引的步骤时,具体实现以下步骤:根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区;根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
在一实施例中,在实现所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件的步骤时,具体实现以下步骤:根据所述多级索引中最高一级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区;将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
在一实施例中,在实现所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件的步骤之后,还实现还以下步骤:若接收到查询数据的查询指令,所述查询指令包括查询条件,从所述多级索引中获取所述查询条件对应的索引结构;确定所述索引结构对应的查询路径;按照所述查询路径查询数据。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据缓存方法,其特征在于,包括:
设置多个预设条件;
根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;
根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;
若检测到待缓存的数据,获取所述待缓存的数据;
获取所述多级索引;
依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
2.根据权利要求1所述的数据缓存方法,其特征在于,所述预设条件为i个;
所述根据所述多个预设条件建立多级数据缓存区,包括:
根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集。
3.根据权利要求2所述的数据缓存方法,其特征在于,所述根据所述多个预设条件构建多级索引,包括:
根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区;
根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
4.根据权利要求3所述的数据缓存方法,其特征在于,所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件,包括:
根据所述多级索引中最高一级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区;
将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
5.根据权利要求1所述的数据缓存方法,其特征在于,所述依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存预设条件之后,还包括:
若接收到查询数据的查询指令,所述查询指令包括查询条件,从所述多级索引中获取所述查询条件对应的索引结构;
确定所述索引结构对应的查询路径;
按照所述查询路径查询数据。
6.一种数据缓存装置,其特征在于,包括:
设置单元,用于设置多个预设条件;
建立单元,用于根据所述多个预设条件建立多级数据缓存区,其中,每一级数据缓存区是其上一级数据缓存区的子集;
构建单元,用于根据所述多个预设条件构建多级索引,以使所述多级索引与所述多级数据缓存区匹配;
第一获取单元,用于若检测到待缓存的数据,获取所述待缓存的数据;
第二获取单元,用于获取所述多级索引;
缓存单元,用于依据所述多级索引将所述待缓存的数据按照所述预设条件在所述多级数据缓存区进行分类分级缓存。
7.根据权利要求6所述的数据缓存装置,其特征在于,所述预设条件为i个;
所述建立单元具体用于:根据第n个预设条件建立所述第n个预设条件对应的第(i+1)-n级数据缓存区,其中,n=i,i-1,……,2,1,且令第(i+1)-(n-1)级数据缓存区是第(i+1)-n级数据缓存区的子集;
所述构建单元,包括:
第一构建子单元,用于根据第n个预设条件构建第n+1级索引,所述第n+1级索引指向所述第(i+1)-n级数据缓存区;
第二构建子单元,用于根据待缓存的数据的主键值构建第1级索引,所述第1级索引指向用于保存所述待缓存的数据的数据库。
8.根据权利要求7所述的数据缓存装置,其特征在于,所述缓存单元,包括:
第一缓存子单元,用于根据所述多级索引中最一高级索引对应的预设条件将所述待缓存的数据进行分类保存至所述最高一级索引对应的数据缓存区;
第二缓存子单元,用于将分类保存在所述数据缓存区中的数据根据下一级索引对应的预设条件进行分类保存至所述下一级索引对应的数据缓存区,反复执行该步骤直至将数据分类保存至最后一级数据缓存区,其中,所述最后一级数据缓存区保存数据的主键值。
9.一种计算机设备,其特征在于,包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现数据缓存方法的计算机程序;
所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1至5任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922367.7A CN109299087A (zh) | 2018-08-14 | 2018-08-14 | 数据缓存方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922367.7A CN109299087A (zh) | 2018-08-14 | 2018-08-14 | 数据缓存方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109299087A true CN109299087A (zh) | 2019-02-01 |
Family
ID=65172530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810922367.7A Pending CN109299087A (zh) | 2018-08-14 | 2018-08-14 | 数据缓存方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299087A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977129A (zh) * | 2019-03-28 | 2019-07-05 | 中国联合网络通信集团有限公司 | 多级数据缓存方法及设备 |
CN110222073A (zh) * | 2019-06-10 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种数据查询的方法以及相关装置 |
CN110955682A (zh) * | 2019-11-22 | 2020-04-03 | 北京金山云网络技术有限公司 | 缓存数据的删除、数据缓存及缓存数据的读取方法及装置 |
CN111241350A (zh) * | 2020-01-07 | 2020-06-05 | 平安科技(深圳)有限公司 | 图数据查询方法、装置、计算机设备和存储介质 |
CN111338986A (zh) * | 2020-03-13 | 2020-06-26 | 北京艾克斯特科技有限公司 | 一种三维模型数据结构、创建及数据获取方法 |
CN112073385A (zh) * | 2020-08-17 | 2020-12-11 | 浙江鸿城科技有限责任公司 | 一种基于基准缓存多态构建的协议格式快速编码的方法 |
CN112448979A (zh) * | 2019-08-30 | 2021-03-05 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、装置及介质 |
CN113158097A (zh) * | 2020-01-07 | 2021-07-23 | 广州探途天下科技有限公司 | 一种网络访问处理方法、装置、设备及*** |
CN115186854A (zh) * | 2022-09-07 | 2022-10-14 | 艾斯特国际安全技术(深圳)有限公司 | 证件领取的管控方法、装置、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161569A1 (en) * | 2008-12-18 | 2010-06-24 | Sap Ag | Method and system for dynamically partitioning very large database indices on write-once tables |
CN103412962A (zh) * | 2013-09-04 | 2013-11-27 | 国家测绘地理信息局卫星测绘应用中心 | 一种海量瓦片数据的存储方法及读取方法 |
CN104317536A (zh) * | 2014-11-12 | 2015-01-28 | 中国石油集团川庆钻探工程有限公司地球物理勘探公司 | 存储地震数据体和读取地震道的地震数据的设备及方法 |
CN107688438A (zh) * | 2017-08-03 | 2018-02-13 | 中国石油集团川庆钻探工程有限公司地球物理勘探公司 | 适用于大规模地震数据存储、快速定位的方法及装置 |
CN108255958A (zh) * | 2017-12-21 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置和存储介质 |
-
2018
- 2018-08-14 CN CN201810922367.7A patent/CN109299087A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161569A1 (en) * | 2008-12-18 | 2010-06-24 | Sap Ag | Method and system for dynamically partitioning very large database indices on write-once tables |
CN103412962A (zh) * | 2013-09-04 | 2013-11-27 | 国家测绘地理信息局卫星测绘应用中心 | 一种海量瓦片数据的存储方法及读取方法 |
CN104317536A (zh) * | 2014-11-12 | 2015-01-28 | 中国石油集团川庆钻探工程有限公司地球物理勘探公司 | 存储地震数据体和读取地震道的地震数据的设备及方法 |
CN107688438A (zh) * | 2017-08-03 | 2018-02-13 | 中国石油集团川庆钻探工程有限公司地球物理勘探公司 | 适用于大规模地震数据存储、快速定位的方法及装置 |
CN108255958A (zh) * | 2017-12-21 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置和存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977129A (zh) * | 2019-03-28 | 2019-07-05 | 中国联合网络通信集团有限公司 | 多级数据缓存方法及设备 |
CN110222073A (zh) * | 2019-06-10 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种数据查询的方法以及相关装置 |
CN110222073B (zh) * | 2019-06-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种数据查询的方法以及相关装置 |
CN112448979B (zh) * | 2019-08-30 | 2022-09-13 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、装置及介质 |
US11853229B2 (en) | 2019-08-30 | 2023-12-26 | Guizhou Baishancloud Technology Co., Ltd. | Method and apparatus for updating cached information, device, and medium |
CN112448979A (zh) * | 2019-08-30 | 2021-03-05 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、装置及介质 |
CN110955682A (zh) * | 2019-11-22 | 2020-04-03 | 北京金山云网络技术有限公司 | 缓存数据的删除、数据缓存及缓存数据的读取方法及装置 |
CN111241350A (zh) * | 2020-01-07 | 2020-06-05 | 平安科技(深圳)有限公司 | 图数据查询方法、装置、计算机设备和存储介质 |
CN113158097A (zh) * | 2020-01-07 | 2021-07-23 | 广州探途天下科技有限公司 | 一种网络访问处理方法、装置、设备及*** |
CN111241350B (zh) * | 2020-01-07 | 2024-02-02 | 平安科技(深圳)有限公司 | 图数据查询方法、装置、计算机设备和存储介质 |
CN111338986B (zh) * | 2020-03-13 | 2023-08-04 | 北京艾克斯特科技有限公司 | 一种获取三维模型数据结构中数据的方法 |
CN111338986A (zh) * | 2020-03-13 | 2020-06-26 | 北京艾克斯特科技有限公司 | 一种三维模型数据结构、创建及数据获取方法 |
CN112073385A (zh) * | 2020-08-17 | 2020-12-11 | 浙江鸿城科技有限责任公司 | 一种基于基准缓存多态构建的协议格式快速编码的方法 |
CN115186854A (zh) * | 2022-09-07 | 2022-10-14 | 艾斯特国际安全技术(深圳)有限公司 | 证件领取的管控方法、装置、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299087A (zh) | 数据缓存方法、装置、计算机设备及存储介质 | |
CN107665252B (zh) | 一种创建知识图谱的方法及装置 | |
Papalexakis et al. | Tensors for data mining and data fusion: Models, applications, and scalable algorithms | |
CN109345399B (zh) | 理赔风险评估方法、装置、计算机设备及存储介质 | |
CN104462084B (zh) | 基于多个查询提供搜索细化建议 | |
Akter et al. | Prediction of cervical cancer from behavior risk using machine learning techniques | |
Chen et al. | Big data: related technologies, challenges and future prospects | |
US11497988B2 (en) | Event categorization and key prospect identification from storylines | |
AU2020385264B2 (en) | Fusing multimodal data using recurrent neural networks | |
CN109255586B (zh) | 一种面向电子政务办事的在线个性化推荐方法 | |
CN106940679A (zh) | 数据处理方法及装置 | |
US9069880B2 (en) | Prediction and isolation of patterns across datasets | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN104077723B (zh) | 一种社交网络推荐***及方法 | |
US11514054B1 (en) | Supervised graph partitioning for record matching | |
CN106156135A (zh) | 查询数据的方法及装置 | |
CN113392150A (zh) | 一种基于业务域的数据表展示方法、装置、设备及介质 | |
Cheng et al. | Mining research trends with anomaly detection models: the case of social computing research | |
WO2014201109A1 (en) | Search term clustering | |
CN105740448A (zh) | 面向话题的多微博时序文摘方法 | |
Zhou et al. | Multiple attribute decision making based on hesitant fuzzy Einstein geometric aggregation operators | |
Area et al. | Analysis of Bayes, neural network and tree classifier of classification technique in data mining using WEKA | |
KR20210121921A (ko) | 키워드 공동출현 네트워크를 기반으로 핵심 키워드를 추출하는 방법 및 장치 | |
CN110245684A (zh) | 数据处理方法、电子设备和介质 | |
Kang et al. | RETRACTED ARTICLE: Construction of fast retrieval model of e-commerce supply chain information system based on Bayesian network |
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 |