CN110858210A - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN110858210A CN110858210A CN201810943162.7A CN201810943162A CN110858210A CN 110858210 A CN110858210 A CN 110858210A CN 201810943162 A CN201810943162 A CN 201810943162A CN 110858210 A CN110858210 A CN 110858210A
- Authority
- CN
- China
- Prior art keywords
- data
- heat
- hot
- query
- cold
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013500 data storage Methods 0.000 claims abstract description 67
- 238000012216 screening Methods 0.000 claims abstract description 34
- 230000000875 corresponding effect Effects 0.000 claims description 82
- 230000006835 compression Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 238000000926 separation method Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 235000019633 pungent taste Nutrition 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种数据查询方法及装置,该方法可以包括:接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
Description
技术领域
本说明书一个或多个实施例涉及数据存储技术领域,尤其涉及一种数据查询方法及装置。
背景技术
随着业务的发展和持续运行,系统会产生大量的数据。如果将所有数据进行不加区分地统一存储,需要付出高昂的存储代价。因此,相关技术中基于数据热度,将数据划分为热度相对更高的热数据、热度相对更低的冷数据等,从而针对不同热度的数据实施差异化的存储管理。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据查询方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种数据查询方法,包括:
接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;
分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;
按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
根据本说明书一个或多个实施例的第二方面,提出了一种数据存储方法,包括:
获取数据存储空间中的数据;
根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
根据本说明书一个或多个实施例的第三方面,提出了一种数据查询装置,包括:
接收单元,接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;
获取单元,分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;
查询单元,按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
根据本说明书一个或多个实施例的第四方面,提出了一种数据存储装置,包括:
获取单元,获取数据存储空间中的数据;
划分单元,根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
附图说明
图1是一示例性实施例提供的一种数据存储系统的架构示意图。
图2A是一示例性实施例提供的一种数据存储方法的流程图。
图2B是一示例性实施例提供的一种数据查询方法的流程图。
图3是一示例性实施例提供的一种针对冷热数据进行分离的原理示意图。
图4是一示例性实施例提供的一种实施冷热数据分离的示意图。
图5是一示例性实施例提供的一种数据访问的示意图。
图6是一示例性实施例提供的另一种数据访问的示意图。
图7是一示例性实施例提供的又一种数据访问的示意图。
图8是一示例性实施例提供的一种设备的结构示意图。
图9是一示例性实施例提供的一种数据查询装置的框图。
图10是一示例性实施例提供的一种设备的结构示意图。
图11是一示例性实施例提供的一种数据查询装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种数据存储系统的架构示意图。如图1所示,该系统可以包括存储设备10、服务器11、网络12、服务器13、PC14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以对存储设备10进行存储管理,包括对存储设备10内部的存储数据进行新添、删除、合并、读写操作等。其中,存储设备10可以包括由机械硬盘、固态硬盘等一种或多种存储介质构成的存储空间,以实现基于HDFS(HadoopDistributed File System)的分布式文件系统等。
服务器13可以为包含一独立主机的物理服务器,或者该服务器13可以为主机集群承载的虚拟服务器。PC14是可以使用的一种类型的电子设备;当然,还可以使用平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等其他类型的电子设备,本说明书并不对此进行限制。在运行过程中,服务器13、PC14可以分别向服务器11发起数据查询请求,以获取存储设备10内存储的数据。
而对于服务器13、PC14与服务器11之间进行交互的网络12,可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(Public SwitchedTelephone Network,PSTN)和因特网。
图2A是一示例性实施例提供的一种数据存储方法的流程图。如图2A所示,该方法可以包括以下步骤:
步骤202A,获取数据存储空间中的数据。
在一实施例中,以HBase为例,当缓存空间中积攒的数据较多时,可以将缓存空间中的数据刷写(flush)至磁盘空间中,该磁盘空间属于本说明书中的数据存储空间,即本说明书的技术方案可以对磁盘空间中的数据进行划分,使其分别存储至不同的数据集合中,以实现对不同热度的数据进行异构存储。
在一实施例中,所有数据处于同一数据存储空间,但该数据存储空间内部可以进一步划分为多个异构存储子空间,以用于对不同数据集合中的数据采用异构形式进行存储,从而确保热度相对更高的数据能够被高效访问、降低热度相对更低的数据所需的存储成本。例如,不同数据集合在下述维度中至少之一实现异构:存储介质、压缩算法、Cache(缓存)优先级、Block Size(块大小)等,本说明书并不对此进行限制。
步骤202B,根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
在一实施例中,通过将数据按热度划分至不同的数据集合,可以避免对不同热度的数据进行异构数据库存储,而可以将这些数据均存储于同一数据存储空间(如数据库),有助于降低维护难度、避免针对多个数据库实施查询而造成的复杂度过高的问题。
在一实施例中,数据集合可以采用任意的表征形式,本说明书并不对此进行限制。例如,数据集合可以表征为数据文件,不同数据文件用于存储不同热度的数据。
在一实施例中,数据的热度可以通过时间、频率、类型等多种维度进行表征,本说明书并不对此进行限制。例如,从时间维度而言,数据对应的业务发生时刻越近时,可以认为数据的热度越高,反之则认为热度越低;从频率维度而言,数据对应的读取频率越高时,可以认为数据的热度越高,反之则认为热度越低;从类型维度而言,在已确定的场景中,部分类型的数据被认为热度相对更高,其他类型的数据被认为热度相对更低。
在一实施例中,基于热度高低可以将数据划分为多个层,并分别存储至相应的数据集合中,而本说明书并不限制数据被划分的层数;比如,热度相对较高的层包含热数据(Hot Data)、热度相对较低的层包含冷数据(Cold Data);再比如,热度相对更高的层包含热数据、热度相对较高的层包含温数据(Warm Data)、热度相对更低的层包含冷数据。
在一实施例中,同一数据的热度可能发生变化;例如,在基于时间维度划分热度的情况下,热数据随着时间的推移可以变化为冷数据。因此,需要针对数据存储空间中的各个数据集合所包含的数据进行热度监控,并基于热度变化而调整各个数据集合所包含的数据。
在一实施例中,针对数据结合的数据调整可以是实时发生的,即当某一数据的热度发生变化后,可以无故意延迟地将该数据从原先所处的数据集合调整至符合其变化后热度的数据集合。比如,当数据存储空间中包括热数据文件、冷数据文件这两个数据集合,以分别存储热数据和冷数据;当热数据文件中的某一热数据变化为冷数据时,该冷数据可以被实时调整至冷数据文件中,以确保热数据文件中仅包含热数据、冷数据文件中仅包含冷数据。
在一实施例中,针对任一热度对应的数据集合,可以统计热度不符合所述任一热度的数据所占的数据比例,并当所述数据比例达到预设比例时,将不符合所述任一热度的数据整理至热度相符的其他数据集合,从而避免过度频繁的数据调整造成过量的资源消耗、影响系统的快速响应或高效运行。比如,当数据存储空间中包括热数据文件、冷数据文件这两个数据集合,以分别存储热数据和冷数据;当热数据文件中的冷数据比例未达到预设比例时,不需要对热数据文件中的冷数据进行调整,而当热数据文件中的冷数据比例达到预设比例时,将热数据文件中的冷数据调整至冷数据文件。
在一实施例中,可以利用相关技术中的LSM树(Log-Structured Merge Tree)存储引擎的compaction(合并)机制,将数据存储空间中对应于同一热度的数据合并至同一数据集合,从而对数据存储空间中不同热度的数据实现了高效、准确地整合处理。当然,还可以采用其他任意手段对不同热度的数据进行划分,本说明书并不对此进行限制。
图2B是一示例性实施例提供的一种数据查询方法的流程图。如图2B所示,该方法可以包括以下步骤:
步骤202B,接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合。
在一实施例中,通过将数据按热度划分至不同的数据集合,可以避免对不同热度的数据进行异构数据库存储,而可以将这些数据均存储于同一数据存储空间(如数据库),有助于降低维护难度、避免针对多个数据库实施查询而造成的复杂度过高的问题。
在一实施例中,数据集合可以采用任意的表征形式,本说明书并不对此进行限制。例如,数据集合可以表征为数据文件,不同数据文件用于存储不同热度的数据。
在一实施例中,数据的热度可以通过时间、频率、类型等多种维度进行表征,本说明书并不对此进行限制。例如,从时间维度而言,数据对应的业务发生时刻越近时,可以认为数据的热度越高,反之则认为热度越低;从频率维度而言,数据对应的读取频率越高时,可以认为数据的热度越高,反之则认为热度越低;从类型维度而言,在已确定的场景中,部分类型的数据被认为热度相对更高,其他类型的数据被认为热度相对更低。
在一实施例中,基于热度高低可以将数据划分为多个层,并分别存储至相应的数据集合中,而本说明书并不限制数据被划分的层数;比如,热度相对较高的层包含热数据、热度相对较低的层包含冷数据;再比如,热度相对更高的层包含热数据、热度相对较高的层包含温数据、热度相对更低的层包含冷数据。
在一实施例中,同一数据的热度可能发生变化;例如,在基于时间维度划分热度的情况下,热数据随着时间的推移可以变化为冷数据。因此,需要针对数据存储空间中的各个数据集合所包含的数据进行热度监控,并基于热度变化而调整各个数据集合所包含的数据。
在一实施例中,针对数据结合的数据调整可以是实时发生的,即当某一数据的热度发生变化后,可以无故意延迟地将该数据从原先所处的数据集合调整至符合其变化后热度的数据集合。比如,当数据存储空间中包括热数据文件、冷数据文件这两个数据集合,以分别存储热数据和冷数据;当热数据文件中的某一热数据变化为冷数据时,该冷数据可以被实时调整至冷数据文件中,以确保热数据文件中仅包含热数据、冷数据文件中仅包含冷数据。
在一实施例中,针对任一热度对应的数据集合,可以统计热度不符合所述任一热度的数据所占的数据比例,并当所述数据比例达到预设比例时,将不符合所述任一热度的数据整理至热度相符的其他数据集合,从而避免过度频繁的数据调整造成过量的资源消耗、影响系统的快速响应或高效运行。比如,当数据存储空间中包括热数据文件、冷数据文件这两个数据集合,以分别存储热数据和冷数据;当热数据文件中的冷数据比例未达到预设比例时,不需要对热数据文件中的冷数据进行调整,而当热数据文件中的冷数据比例达到预设比例时,将热数据文件中的冷数据调整至冷数据文件。
在一实施例中,可以利用相关技术中的LSM树存储引擎的compaction机制,将数据存储空间中对应于同一热度的数据合并至同一数据集合,从而对数据存储空间中不同热度的数据实现了高效、准确地整合处理。当然,还可以采用其他任意手段对不同热度的数据进行划分,本说明书并不对此进行限制。
在一实施例中,所有数据处于同一数据存储空间,但该数据存储空间内部可以进一步划分为多个异构存储子空间,以用于对不同数据集合中的数据采用异构形式进行存储,从而确保热度相对更高的数据能够被高效访问、降低热度相对更低的数据所需的存储成本。例如,不同数据集合在下述维度中至少之一实现异构:存储介质、压缩算法、Cache优先级、Block Size等,本说明书并不对此进行限制。
步骤204B,分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值。
在一实施例中,数据包括对应于筛选条件的数据字段,根据数据集合包含的数据在相关数据字段的取值情况,可以返回针对筛选条件的预测值。虽然预测值是预估数据,并非数据集合中包含的实际数据,但能够反映出:各个数据集合是否能够提供匹配于筛选条件的数据、所提供的数据的大致情况等,以便于实施后续的查询操作。
在一实施例中,可以通过调用Predict函数,以实现对各个数据集合的预测操作,并获得相应的预测值。当然,还可以通过其他方式获得预测值,本说明书并不对此进行限制。
在一实施例中,可以对数据存储空间中的数据集合进行筛选,以缩小后续操作的实施范围。例如,通过Bloom Filter(布隆过滤器)或前缀Bloom Filter,可以确定所述数据存储空间中一定不包含所述数据查询请求的目标数据的数据集合,那么后续步骤(如步骤204B-206B)可以仅针对其他可能包含该目标数据的数据集合实施,而无需针对一定不包含该目标数据的数据集合实施。再例如,通过Bloom Filter或前缀Bloom Filter,可以确定所述数据存储空间中可能包含所述数据查询请求的目标数据的数据集合,那么后续步骤可以仅针对这些可能包含该目标数据的数据集合实施,而无需针对其他一定不包含该目标数据的数据集合实施。以热数据文件和冷数据文件为例,如果确定出目标数据一定不存在于冷数据文件,那么仅需要针对热数据文件实施数据访问,而无需访问冷数据文件,从而有助于提升数据访问效率。
当然,除了Bloom Filter或前缀Bloom Filter之外,还可以通过其他任意方式对数据集合进行筛选,本说明书并不对此进行限制。
步骤206B,按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
在一实施例中,通过将数据存储空间中的数据划分至多个数据集合,并基于预测值表征的热度从高至低的顺序对各个数据集合实施查询操作,往往能够在热度相对更高的若干数据集合中获得所需的数据,而无需对数据存储空间中的所有数据实施查询操作,可以极大地缩小查询操作实施的范围,有助于提升查询效率、缩短响应时长。
在一实施例中,数据查询请求可以指示所需获取的目标数据的数量;例如,当数据查询请求用于获取某一用户的历史消费记录时,虽然该用户的历史消费记录总量很大,但是当该用户所查看的展示界面中采用分页展示时,该数据查询请求仅用于获取每页所能够展示的数据,比如当每页能够展示5条数据时,数据查询请求所指示的数量为5条。
相应地,当查询到的数据达到所述数据查询请求所指示的数量时,可以终止所述查询操作,以实现对该数据查询请求的高效反馈。例如,当数据查询请求指示的数量为5条时,如果从首个数据集合中已经查询到5条数据,那么就无需继续对该首个数据集合和其他数据集合实施查询操作;如果从首个数据集合中总共查询到3条数据,那么就需要继续对其他数据集合实施查询操作,直至查询到5条数据。以数据集合为热数据文件、冷数据文件为例,如果热数据文件中可以查询到5条数据,那么就无需对冷数据文件实施查询操作,尤其是当热数据文件与冷数据文件被实施了异构存储时,可以从热数据文件中高效地获取所需查询的数据,而避免对冷数据文件实施查询操作而降低性能。
在一实施例中,当针对任一数据集合实施所述查询操作时,可以按照对应热度从高至低的顺序依次选取所述任一数据集合中匹配于所述筛选条件的数据。当各个数据集合所包含的数据被实时地按照热度而整理时,由于查询操作被按照预测值表征的热度从高至低的顺序依次对各个数据集合而实施,可以确保所述任一数据集合中每一被选取数据必然热度高于其他未实施查询操作的数据集合对应的预测值,可以直接将被选取数据作为所述查询到的数据,直至查询到的数据达到所述数据查询请求所指示的数量。
在一实施例中,当针对任一数据集合实施所述查询操作时,可以按照对应热度从高至低的顺序依次选取所述任一数据集合中匹配于所述筛选条件的数据。当各个数据集合所包含的数据并非实时地按照热度而整理时,譬如在热度不符的数据占比达到预设比例时才实施整理或者按照预设周期进行定期整理等,由于查询操作被按照预测值表征的热度从高至低的顺序依次对各个数据集合而实施,那么所述任一数据集合中的被选取数据的热度可能与所述任一数据集合对应的热度不符,即被选取数据的热度可能相对更小。因此,可以将下述三者进行比较:所述任一数据集合中的任一被选取数据、已实施查询操作的数据集合中未被确定为所述查询到的数据的历史被选取数据、所述任一数据集合的后一数据集合对应的预测值;其中,若所述任一被选取数据的热度最高,则将所述任一被选取数据确定为所述查询到的数据,若所述历史被选取数据的热度最高,则将所述历史被选取数据确定为所述查询到的数据。
一种情况下,当所述任一数据集合为实施查询操作的首个数据集合时,由于并不存在其他已实施查询操作的数据集合,因而上述的“历史被选取数据”可以为“空”,即实际上只需要将任一被选取数据与未实施查询操作的数据集合对应的预测值进行比较;其中,当任一被选取数据的热度更高时,可以将所述任一被选取数据确定为所述查询到的数据;当后一数据集合的预测值的热度更高时,可以切换至对所述后一数据集合实施所述查询操作,相当于将该后一数据集合重新作为上述的“任一数据集合”而实施相关操作。
另一种情况下,当所述任一数据集合并非实施查询操作的首个数据集合时,需要将任一被选取数据、历史被选取数据、后一数据集合对应的预测值进行比较;其中,当任一被选取数据的热度最高时,可以将所述任一被选取数据确定为所述查询到的数据;当历史被选取数据的热度最高时,可以将所述历史被选取数据确定为所述查询到的数据;当后一数据集合的预测值的热度最高时,可以切换至对所述后一数据集合实施所述查询操作,相当于将该后一数据集合重新作为上述的“任一数据集合”而实施相关操作。
在一实施例中,假定基于时间维度实施本说明书的数据查询方案,数据存储空间中的各个数据集合分别存在对应的业务发生时间段,以表征所包含数据的热度,使得所述数据存储空间中的数据被基于业务发生时刻所处的业务发生时间段而划分至相应的数据集合;所述筛选条件可以包括:将数据对应的业务发生时刻限制于特定时间段的第一条件;其中,在满足所述筛选条件的数据中,业务发生时刻越早的数据被确定为热度越高。例如,第一条件限定的特定时间段为最近10天;假定第一数据集合返回的预测值为业务发生时刻处于最近3小时的数据、第二数据集合返回的预测值为业务发生时刻处于最近3天和最近5天的数据,可以判定第一数据集合的预测值热度相对更高、第二数据集合的预测值热度相对更低。再例如,在针对第一数据集合实施查询操作时,假定第一数据集合实际上包含最近3小时的数据、最近7小时的数据,那么按照热度从高至低的顺序,应当先查询到最近3小时的数据,然后查询到最近7小时的数据。
在一实施例中,除了上述的第一条件之外,所述筛选条件还可以包括:与时间维度无关的至少一项第二条件,比如该第二条件可以与用户名、业务名称、业务类型等维度中至少之一相关,本说明书并不对此进行限制。举例而言,筛选条件可以为:用户X在3天之内的消费记录,其中包含了第一条件为“特定时间段=3天之内”、第二条件1为“用户名=X”、第二条件2为“业务类型=消费记录”。
在一实施例中,基于筛选条件中第一条件所指示的特定时间段,可以确定与所述特定时间段存在交集的特定业务发生时间段,从而仅针对所述特定业务发生时间段对应的数据集合实施后续操作,比如在步骤204B中获取相应的预测值、在步骤206B中查询数据等,这样可以缩小后续操作的处理范围,有助于提升处理效率。
在一实施例中,可以不区分同一数据集合中匹配于筛选条件的各条数据之间的热度高低情况,并将从数据集合中查询出的匹配于筛选条件的所有数据均作为所述查询到的数据,从而在查询到的数据达到所述数据查询请求所指示的数量时,终止所述查询操作。那么,当预测值表征的热度相对更高的数据集合中能够查询到足够数量的数据时,就不必继续针对预测值表征的热度相对更低的其他数据集合实施查询操作,即便由于数据整理的滞后性而使得该预测值表征的热度相对更低的其他数据集合中可能实际上存在热度相对更高的数据,但却可以提升对数据查询请求的响应速度。
在本说明书的技术方案中,可以在基于HBase(Hadoop Database)或其相关技术建立的数据库中,对冷热数据实现无感知地分离处理,并实现对数据访问过程的优化处理,尽可能地避免访问冷数据,以提升数据访问效率和反馈速度。
例如,图3是一示例性实施例提供的一种针对冷热数据进行分离的原理示意图。如图3所示,本实施例涉及缓存空间(如Memstore)和分布式文件系统(如HDFS系统)所提供的磁盘空间。其中,业务产生的数据首先会存入缓存空间中,形成如图3所示的缓存数据;然后,HBase所采用的LSM结构可以定时或者在缓存空间中积攒的数据量达到预设量(即定量)时,将缓存空间中的数据刷写(flush)至磁盘空间中形成对应的文件(HFile)。
从硬件角度而言,分布式文件系统中可以包括若干数据节点,每一数据节点可以包括NVMe接口SSD(对应于标号31)、SATA接口SSD(对应于标号32)、HDD机械硬盘(对应于标号33)等多种类型的存储介质,其中NVMe接口SSD、SATA接口SSD的数据读写效率高、成本高,HDD的数据读写效率低、成本低,以用于满足不同的数据存储需求。
从逻辑角度而言,分布式文件系统可以包括热数据层和冷数据层,其中热数据层用于存储热数据文件(热数据文件中包含热数据)、冷数据层用于存储冷数据文件(冷数据文件中包含冷数据)。“热数据”与“冷数据”反映出不同数据的热度,其中热数据的热度相对更高、对应的读写需求更高,冷数据的热度相对更低、对应的读写需求更低,因而需要确保热数据实现相对更快的数据读写速度,而冷数据则需要相对更低的数据存储成本。例如,可以将NVMe接口SSD、SATA接口SSD等成本相对较高但数据读写速度更快的存储介质用于存储热数据文件,将HDD等数据读写速度较慢但成本相对更低的存储介质用于存储冷数据文件。
因此,通过对不同存储介质的应用,如图3所示的分布式存储系统可以对冷数据、热数据实现差异化的异构存储。当然,除了存储介质之外,还可以从其他的一个或多个维度实现异构存储,本说明书并不对此进行限制;例如,可以基于压缩算法实现异构,比如热数据可以采用LZ4、Snappy等算法,冷数据可以采用ZSTD、Gzip等算法;再例如,可以基于Cache优先级实现异构,比如热数据采用的优先级相对更高、冷数据采用的优先级相对更低;又例如,可以基于Block Size实现异构,比如热数据采用的Block Size相对更小、以实现更快的访问速度,冷数据采用的Block Size相对更大、以实现更高的存储压缩率。
基于上述差异化的异构存储,本说明书为热数据、冷数据提供了满足各自需求的存储环境;相应地,需要对热数据、冷数据进行有效的分离,以确保热数据存储于热数据层、冷数据尽可能地存储于冷数据层,从而在确保对热数据的高效访问的同时,降低冷数据的存储成本。
例如,在相关技术中,LSM结构可以针对磁盘空间中的文件异步实施合并(Compact/Compaction)操作,以合并磁盘中的文件,并去除过期数据、被删除的数据和重复数据等。由于上述的合并操作具备对数据的加工整合能力,因而本说明书中可以利用合并操作的能力,对冷热数据实现对用户无感知的分离。
在一实施例中,本说明书中的冷数据、热数据可以基于时间维度对磁盘中的文件所包含的数据进行划分得到。例如,本说明书中的每条数据的行键(rowkey)中包括Secondary Field(次级域)字段,以用于记录相应数据的业务发生时刻(或者,每条数据的key-value结构中记录有时间戳,该业务发生时刻与时间戳之间可以相同或者由于延迟等原因而存在一些微小差异,因而基于准确性考虑可以优先选用Secondary Field记载的业务发生时刻,但本说明书并不排除对时间戳的使用),因而可以基于每条数据的SecondaryField所记载的业务发生时刻,将业务发生时刻与当前时刻之间的时差达到预设时长的数据划分为冷数据、将业务发生时刻与当前时刻之间的时差小于预设时长的数据划分为热数据。例如,当该预设时长为7天时,可以将业务发生时刻处于7天内的数据划分为热数据、将业务发生时刻处于7天之前的数据划分为冷数据。
在一实施例中,实现冷热数据分离的过程如下:
首先,缓存空间中的缓存数据被刷写至热数据层后,形成热数据层的热数据文件。然后,基于上述合并操作的能力,将冷数据从热数据文件中予以分离。
虽然可以实时地将冷数据从热数据文件中予以分离,但是这样将产生过量的资源消耗,并且会导致冷数据形成大量的小文件、不利于冷数据的存储,因而可以对热数据层中包含的冷数据进行统计。其中,当冷数据的占比达到预设比例(如10%或其他数值)时,基于上述合并操作的能力,可以实施如图3所示的操作①,该操作①可以将冷数据从热数据文件中予以分离,并将分离出的冷数据挪入冷数据层,形成如图3所示的冷数据文件。正如上文所述,可以通过解析热数据文件中的各条数据对应的Secondary Field,以确定各条数据是否为热数据或冷数据,此处不再赘述。
为了提升对热数据、冷数据的读写效率,在相关技术中还可以通过MajorCompaction操作将同一区域(region)内的所有文件合并为一个文件。而基于该MajorCompaction操作的文件合并能力,本说明书中可以对同一区域内的热数据文件、冷数据文件实施如图3所示的操作②,该操作②与相关技术中的Major Compaction操作之间的差异在于:操作②分别针对同一区域内的热数据文件、冷数据文件分别实施合并,从而将同一区域内的所有热数据文件合并为一个热数据文件、将同一区域内的所有冷数据文件合并为一个冷数据文件,从而在文件合并的同时,保持热数据与冷数据之间的分离状态。
基于如图3所示的冷热数据分离方案,图4是一示例性实施例提供的一种实施冷热数据分离的示意图。如图4所示,存储空间包括缓存空间和磁盘空间。缓存空间采用的存储介质可以为传统内存或AEP(Apache Pass,即基于Optane技术的存储介质)等。磁盘空间进一步划分为图4中左侧的热数据层和右侧的冷数据层;其中,热数据层采用的存储介质可以为AEP或NVMe接口的SSD等、采用的压缩算法可以为LZ4、Snappy等,而冷数据层采用的存储介质可以为SATA接口SSD或HDD等、采用的压缩算法可以为ZSTD或Gzip等,从而实现热数据层与冷数据层之间的异构存储,满足热数据的高效访问需求、冷数据的低成本需求。
业务产生的数据在缓存空间中积攒后,可以通过刷写操作进入磁盘空间,在热数据层形成如图4所示的热数据文件41~43。虽然热数据文件41~43中可能包含部分冷数据,但是通过刷写至热数据层而非冷数据层,可以在冷数据对热数据层造成一定空间占用的情况下,确保热数据能够被高效访问。
假定针对冷热数据的热度划分阈值为7天,即业务发生时刻在7天内的数据为热数据、在7天之前的数据为冷数据。因此,通过对热数据文件41~43中各条数据的SecondaryField进行解析,可以确定出各条数据为热数据还是冷数据。
在一实施例中,可以对热数据层中的冷数据进行占比统计;例如,当冷数据的占比达到10%时,可以触发实施如图4所示的操作①,以将热数据文件41~43包含的冷数据从热数据层挪入冷数据层;譬如,当热数据文件41包含1小时内的数据、热数据文件42包含1天内的数据、热数据文件43包含8天内的数据时,可以确定出热数据文件43中包含冷数据,可以将相关冷数据挪入冷数据层,在冷数据层形成冷数据文件44。可选的,操作①还可以对热数据层中剩余的热数据进行合并,形成如图4所示的热数据文件47,该热数据文件47中包含7天内的数据。
在一实施例中,通过实施如图4所示的操作②,可以分别对热数据层中的所有热数据文件、冷数据层中的所有冷数据文件进行合并。比如,当热数据层中包含热数据文件47等时,可以合并生成热数据文件48,该热数据文件48包含热数据层中所有7天内的热数据;当然,如果操作①未合并生成热数据文件47,可以通过操作②对热数据文件41、热数据文件42、热数据文件43(仅包含热数据)等进行合并,以生成热数据文件48。再比如,当冷数据层中包含冷数据文件44~46时,可以合并生成冷数据文件49,该冷数据文件49包含冷数据层中所有7天以上的冷数据。
当冷热数据通过如图3-4所示的实施例完成基于时间维度的分离,并异构存储至分布式文件系统中的各个数据节点后,可以实现高效的数据访问。例如,图5是一示例性实施例提供的一种数据访问的示意图。如图5所示,假定热数据层包括一份热数据文件,冷数据层包括冷数据文件1、冷数据文件2和冷数据文件3。
当收到查询请求时,假定该查询请求希望对用户X在45天内的消费记录进行查询;同时,访问方的展示界面采用分页展示形式,每页可以展示3条消费记录。因此,对于该查询请求的响应可以包括:查询用户X在45天内形成的最近3条消费记录。
在一实施例中,由于查询请求的目标数据处于“45天内”,因而可以通过解析各个文件所包含数据的Secondary Field取值范围,筛除一定不包含目标数据的文件。例如,由于冷数据文件3对应的Secondary Field取值范围为2个月~3年,与“45天内”不存在交集,因而可以筛除冷数据文件3、无需对冷数据文件3实施查询操作。
在一实施例中,由于查询请求的目标数据归属于“用户X”、类型为“消费记录”,可以据此对各个文件进行过滤。例如,可以通过Bloom Filter或者前缀Bloom Filter进行过滤;假定热数据文件、冷数据文件1、冷数据文件3被认为包含目标数据,冷数据文件2被认为不包含目标数据,那么基于Bloom Filter或者前缀Bloom Filter的特性,可以确定冷数据文件2必然不包含目标数据,可以滤除冷数据文件2、无需对冷数据文件2实施查询操作。
假定基于上述操作,仅剩下热数据文件和冷数据文件1可能包含目标数据,可以通过下述方式实现数据查询:
首先,针对热数据文件、冷数据文件1分别记录的Secondary Field的取值范围,通过调用Predict函数分别对热数据文件、冷数据文件1进行预测,确定出热数据文件、冷数据文件1分别对应的预测值,即热数据文件、冷数据文件1分别可能返回的数据,并将所有预测值添加至一个heap(堆)中。
例如,热数据文件对应的预测值可以为“现在(now)的消费记录”、冷数据文件1对应的预测值可以为“8天前的消费记录”。那么,从heap中读取的最近一条消费记录为“现在的消费记录”;当然,由于是预测值、并非实际业务数据,因而需要针对相应的热数据文件实施查询操作,以找到实际上的第一条消费记录数据,比如可以查询到用户X在1小时前的消费记录。
然后,通过将该“1小时前的消费记录”放入heap中进行比较,可以确定这条数据是heap中最早的一条实际业务数据;由于实际业务数据的优先级高于heap中预测值的优先级,因而可以确定该“1小时前的消费记录”为需要返回的查询结果之一。
进一步地,通过对热数据文件继续实施查询操作,可以查找到用户X在1天前的消费记录。类似地,通过放入heap中进行比较,可以确定这条数据是heap中最早的一条实际业务数据,可以确定该“1天前的消费记录”为需要返回的查询结果之一。类似地,还可以确定从热数据文件中查询到的“3天前的消费记录”为需要返回的查询结果之一。
由于“1小时前的消费记录”、“1天前的消费记录”和“3天前的消费记录”已经满足了“用户X在45天内形成的最近3条消费记录”,因而可以生成查询结果并返回,而无需继续对热数据文件实施查询操作,更不需要对冷数据文件1实施查询操作。
因此,通过对冷热数据的分离和异构存储,并通过上述方案实施查询操作,可以确保优先对热数据文件实施高效的查询操作,而尽可能地避免对冷数据文件实施查询操作,以实现对查询请求的快速响应。
图6是一示例性实施例提供的另一种数据访问的示意图。如图6所示,假定其他条件均相同的情况下,查询请求所指示的每页显示数据为4条,那么在从热数据文件中查询到上述的“1小时前的消费记录”、“1天前的消费记录”和“3天前的消费记录”之后,还应当继续查询第4条数据。
例如,通过对热数据文件继续实施查询操作,可以查找到用户X在10天前的消费记录。需要说明的是:虽然热数据文件本身用于记录7天以内的热数据,但是由于如图4所示的冷热数据分离并非实时执行、而是在冷数据的占比达到预设阈值后实施,所以热数据文件中往往会包含部分冷数据,比如该“10天前的消费记录”。将“10天前的消费记录”放入heap中进行比较,可以确定冷数据文件1对应的预测值“8天前的消费记录”相比于“10天前的消费记录”更早,即冷数据文件1中可能包含比“10天前的消费记录”更早的消费记录,因此需要对冷数据文件1实施查询操作。
假定通过对冷数据文件1实施查询操作,查找到用户X在9天前的消费记录,通过将该“9天前的消费记录”放入heap中进行比较,可以确定“9天前的消费记录”是heap中最早的一条实际业务数据,可以确定该“9天前的消费记录”为需要返回的查询结果之一。可见,预测值的业务发生时刻应当等于或早于实际业务数据的业务发生时刻,避免对实际业务数据造成遗漏;例如,当冷数据文件1的预测值为“11天前的消费记录”时,将不会对冷数据文件1实施查询操作,造成“9天前的消费记录”被遗漏。
由于“1小时前的消费记录”、“1天前的消费记录”、“3天前的消费记录”和“9天前的消费记录”已经满足了“用户X在45天内形成的最近4条消费记录”,因而可以生成查询结果并返回,而无需继续对冷数据文件1实施查询操作。
图7是一示例性实施例提供的又一种数据访问的示意图。如图7所示,假定其他条件均相同的情况下,查询请求所指示的每页显示数据为5条,那么在从热数据文件中查询到上述的“1小时前的消费记录”、“1天前的消费记录”和“3天前的消费记录”之后,还应当继续查询第4-5条数据。
例如,通过对冷数据文件1继续实施查询操作,可以查找到用户X在19天前的消费记录。将“19天前的消费记录”放入heap中进行比较,可以确定先前放入heap中的“10天前的消费记录”相比于“19天前的消费记录”更早,即“10天前的消费记录”是heap中最早的一条实际业务数据,可以确定该“10天前的消费记录”为需要返回的查询结果之一。
由于“1小时前的消费记录”、“1天前的消费记录”、“3天前的消费记录”、“9天前的消费记录”和“10天前的消费记录”已经满足了“用户X在45天内形成的最近5条消费记录”,因而可以生成查询结果并返回,而无需继续对冷数据文件1实施查询操作。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行,在逻辑层面上形成数据查询装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在软件实施方式中,该数据查询装置可以包括:
接收单元91,接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;
获取单元92,分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;
查询单元93,按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
可选的,还包括:
控制单元94,当查询到的数据达到所述数据查询请求所指示的数量时,终止所述查询操作。
可选的,所述查询单元93具体用于:
当针对任一数据集合实施所述查询操作时,按照对应热度从高至低的顺序依次选取所述任一数据集合中匹配于所述筛选条件的数据;
在所述任一数据集合中的任一被选取数据、已实施查询操作的数据集合中未被确定为所述查询到的数据的历史被选取数据、所述任一数据集合的后一数据集合对应的预测值中,若所述任一被选取数据的热度最高,则将所述任一被选取数据确定为所述查询到的数据,若所述历史被选取数据的热度最高,则将所述历史被选取数据确定为所述查询到的数据。
可选的,所述查询单元93具体还用于:
当所述后一数据集合对应的预测值的热度最高时,切换至对所述后一数据集合实施所述查询操作。
可选的,所述查询到的数据包括:所述查询操作查询出的所有数据。
可选的,各个数据集合分别存在对应的业务发生时间段,以表征所包含数据的热度;所述数据存储空间中的数据被基于业务发生时刻所处的业务发生时间段而划分至相应的数据集合;
所述筛选条件包括:将数据对应的业务发生时刻限制于特定时间段的第一条件;其中,在满足所述筛选条件的数据中,业务发生时刻越早的数据被确定为热度越高。
可选的,所述筛选条件还包括:与时间维度无关的至少一项第二条件。
可选的,
还包括:时间段确定单元95,确定与所述特定时间段存在交集的特定业务发生时间段;
所述获取单元92具体用于:针对所述特定业务发生时间段对应的数据集合,获取相应的预测值。
可选的,
还包括:集合确定单元96,确定所述数据存储空间中不包含所述数据查询请求的目标数据的数据集合,或者确定所述数据存储空间中包含所述数据查询请求的目标数据的数据集合;
所述获取单元92具体用于:针对包含所述目标数据的数据集合,获取相应的预测值。
可选的,不同数据集合中的数据采用异构形式进行存储。
可选的,不同数据集合在下述维度中至少之一实现异构:存储介质、压缩算法、缓存优先级、块大小。
可选的,还包括:
统计单元97,针对任一热度对应的数据集合,统计热度不符合所述任一热度的数据所占的数据比例;
整理单元98,当所述数据比例达到预设比例时,将不符合所述任一热度的数据整理至热度相符的其他数据集合。
图10是一示例性实施例提供的一种设备的示意结构图。请参考图10,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行,在逻辑层面上形成数据存储装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图11,在软件实施方式中,该数据存储装置可以包括:
获取单元1101,获取数据存储空间中的数据;
划分单元1102,根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (16)
1.一种数据查询方法,其特征在于,包括:
接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;
分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;
按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
当查询到的数据达到所述数据查询请求所指示的数量时,终止所述查询操作。
3.根据权利要求2所述的方法,其特征在于,所述按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作,包括:
当针对任一数据集合实施所述查询操作时,按照对应热度从高至低的顺序依次选取所述任一数据集合中匹配于所述筛选条件的数据;
在所述任一数据集合中的任一被选取数据、已实施查询操作的数据集合中未被确定为所述查询到的数据的历史被选取数据、所述任一数据集合的后一数据集合对应的预测值中,若所述任一被选取数据的热度最高,则将所述任一被选取数据确定为所述查询到的数据,若所述历史被选取数据的热度最高,则将所述历史被选取数据确定为所述查询到的数据。
4.根据权利要求3所述的方法,其特征在于,所述按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作,还包括:
当所述后一数据集合对应的预测值的热度最高时,切换至对所述后一数据集合实施所述查询操作。
5.根据权利要求2所述的方法,其特征在于,所述查询到的数据包括:所述查询操作查询出的所有数据。
6.根据权利要求1所述的方法,其特征在于,各个数据集合分别存在对应的业务发生时间段,以表征所包含数据的热度;所述数据存储空间中的数据被基于业务发生时刻所处的业务发生时间段而划分至相应的数据集合;
所述筛选条件包括:将数据对应的业务发生时刻限制于特定时间段的第一条件;其中,在满足所述筛选条件的数据中,业务发生时刻越早的数据被确定为热度越高。
7.根据权利要求6所述的方法,其特征在于,所述筛选条件还包括:与时间维度无关的至少一项第二条件。
8.根据权利要求6所述的方法,其特征在于,
还包括:确定与所述特定时间段存在交集的特定业务发生时间段;
所述分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值,包括:针对所述特定业务发生时间段对应的数据集合,获取相应的预测值。
9.根据权利要求1所述的方法,其特征在于,
还包括:确定所述数据存储空间中不包含所述数据查询请求的目标数据的数据集合,或者确定所述数据存储空间中包含所述数据查询请求的目标数据的数据集合;
所述分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值,包括:针对包含所述目标数据的数据集合,获取相应的预测值。
10.根据权利要求1所述的方法,其特征在于,不同数据集合中的数据采用异构形式进行存储。
11.根据权利要求10所述的方法,其特征在于,不同数据集合在下述维度中至少之一实现异构:存储介质、压缩算法、缓存优先级、块大小。
12.根据权利要求1所述的方法,其特征在于,还包括:
针对任一热度对应的数据集合,统计热度不符合所述任一热度的数据所占的数据比例;
当所述数据比例达到预设比例时,将不符合所述任一热度的数据整理至热度相符的其他数据集合。
13.一种数据存储方法,其特征在于,包括:
获取数据存储空间中的数据;
根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
14.一种数据查询装置,其特征在于,包括:
接收单元,接收针对数据存储空间的数据查询请求,所述数据存储空间包含用于划分不同热度的数据的多个数据集合;
获取单元,分别获取各个数据集合针对所述数据查询请求所指示的筛选条件而返回的预测值;
查询单元,按照所述预测值表征的热度从高至低的顺序,对相应的数据集合实施基于所述筛选条件的查询操作。
15.根据权利要求14所述的装置,其特征在于,还包括:
控制单元,当查询到的数据达到所述数据查询请求所指示的数量时,终止所述查询操作。
16.一种数据存储装置,其特征在于,包括:
获取单元,获取数据存储空间中的数据;
划分单元,根据所述数据的热度,将所述数据划分至所述数据存储空间中对应于所述热度的数据集合;其中,数据集合的热度高低与对应的数据访问效率之间呈正相关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810943162.7A CN110858210B (zh) | 2018-08-17 | 2018-08-17 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810943162.7A CN110858210B (zh) | 2018-08-17 | 2018-08-17 | 数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110858210A true CN110858210A (zh) | 2020-03-03 |
CN110858210B CN110858210B (zh) | 2023-11-21 |
Family
ID=69634800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810943162.7A Active CN110858210B (zh) | 2018-08-17 | 2018-08-17 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110858210B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459939A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 数据的处理方法及装置 |
CN113704346A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
CN113835986A (zh) * | 2021-11-25 | 2021-12-24 | 中航金网(北京)电子商务有限公司 | 系统冷热日志的动态切换方法、装置及计算机设备 |
CN115640370A (zh) * | 2022-12-08 | 2023-01-24 | 深圳市智多兴投控科技有限公司 | 一种数据分析方法及相关设备 |
CN113704346B (zh) * | 2020-05-20 | 2024-06-04 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050065921A1 (en) * | 2003-09-22 | 2005-03-24 | International Business Machines Corporation | System and method for performing a query in a computer system to retrieve data from a database |
AU2014100238A4 (en) * | 2013-03-15 | 2014-04-17 | Sajari Pty Ltd | Search methods and systems |
US20140195542A1 (en) * | 2013-01-10 | 2014-07-10 | Microsoft Corporation | Adaptive range filters for range and point queries |
US20150019463A1 (en) * | 2013-07-12 | 2015-01-15 | Microsoft Corporation | Active featuring in computer-human interactive learning |
CN104361109A (zh) * | 2014-11-27 | 2015-02-18 | 北京奇虎科技有限公司 | 确定图片筛选结果的方法和装置 |
CN104408163A (zh) * | 2014-12-05 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法和装置 |
CN105740232A (zh) * | 2016-01-28 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 一种自动提取反馈热点的方法和装置 |
CN105740472A (zh) * | 2016-03-14 | 2016-07-06 | 中国科学院计算技术研究所 | 一种分布式实时全文检索方法及系统 |
CN106933875A (zh) * | 2015-12-31 | 2017-07-07 | 北京城市网邻信息技术有限公司 | 数据查询方法及装置 |
CN108268217A (zh) * | 2018-01-10 | 2018-07-10 | 北京航天云路有限公司 | 一种基于时序数据冷热分类的分层存储方法 |
-
2018
- 2018-08-17 CN CN201810943162.7A patent/CN110858210B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050065921A1 (en) * | 2003-09-22 | 2005-03-24 | International Business Machines Corporation | System and method for performing a query in a computer system to retrieve data from a database |
US20140195542A1 (en) * | 2013-01-10 | 2014-07-10 | Microsoft Corporation | Adaptive range filters for range and point queries |
AU2014100238A4 (en) * | 2013-03-15 | 2014-04-17 | Sajari Pty Ltd | Search methods and systems |
US20150019463A1 (en) * | 2013-07-12 | 2015-01-15 | Microsoft Corporation | Active featuring in computer-human interactive learning |
CN104361109A (zh) * | 2014-11-27 | 2015-02-18 | 北京奇虎科技有限公司 | 确定图片筛选结果的方法和装置 |
CN104408163A (zh) * | 2014-12-05 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法和装置 |
CN106933875A (zh) * | 2015-12-31 | 2017-07-07 | 北京城市网邻信息技术有限公司 | 数据查询方法及装置 |
CN105740232A (zh) * | 2016-01-28 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 一种自动提取反馈热点的方法和装置 |
CN105740472A (zh) * | 2016-03-14 | 2016-07-06 | 中国科学院计算技术研究所 | 一种分布式实时全文检索方法及系统 |
CN108268217A (zh) * | 2018-01-10 | 2018-07-10 | 北京航天云路有限公司 | 一种基于时序数据冷热分类的分层存储方法 |
Non-Patent Citations (2)
Title |
---|
DONGCHUL PARK ETC.: "Hot Data Identification with Multiple Bloom Filters:Block-Level Decision vs I/O Request-Level Decision", pages 79 - 97 * |
瞿龙俊: "基于HBase的交通流数据实时存储与查询优化方案的设计与实现", pages 034 - 435 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459939A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 数据的处理方法及装置 |
CN111459939B (zh) * | 2020-03-31 | 2023-09-19 | 中国银行股份有限公司 | 数据的处理方法及装置 |
CN113704346A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
CN113704346B (zh) * | 2020-05-20 | 2024-06-04 | 杭州海康威视数字技术股份有限公司 | 一种Hbase表中冷热数据转换方法、装置及电子设备 |
CN113835986A (zh) * | 2021-11-25 | 2021-12-24 | 中航金网(北京)电子商务有限公司 | 系统冷热日志的动态切换方法、装置及计算机设备 |
CN115640370A (zh) * | 2022-12-08 | 2023-01-24 | 深圳市智多兴投控科技有限公司 | 一种数据分析方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110858210B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Whitman et al. | Spatial indexing and analytics on Hadoop | |
US7689574B2 (en) | Index and method for extending and querying index | |
EP2735978B1 (en) | Storage system and management method used for metadata of cluster file system | |
KR102564170B1 (ko) | 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체 | |
KR20170054299A (ko) | 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법 | |
JP5233233B2 (ja) | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム | |
US20120303627A1 (en) | Responding to a query in a data processing system | |
CN110162528A (zh) | 海量大数据检索方法及系统 | |
WO2008044542A1 (fr) | Système et procédé de recherche d'informations et programme | |
CN103176754A (zh) | 一种海量小文件读取存储方法 | |
CN110858210B (zh) | 数据查询方法及装置 | |
US11372568B2 (en) | System and method for storing and accessing blockchain data | |
CN112262379A (zh) | 存储数据项并且标识存储的数据项 | |
CN102968464A (zh) | 一种基于索引的本地资源快速检索系统及其检索方法 | |
US20190294590A1 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
CN111443867B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
EP3859536B1 (en) | Method and device for buffering data blocks, computer device, and computer-readable storage medium | |
CN110309143A (zh) | 数据相似度确定方法、装置及处理设备 | |
Zhao et al. | LS-AMS: An adaptive indexing structure for realtime search on microblogs | |
US20230161795A1 (en) | Time series data management systems and methods | |
CN110187840A (zh) | 一种数据迁移方法、装置、服务器及存储介质 | |
WO2018077092A1 (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
CN113835613B (zh) | 一种文件读取方法、装置、电子设备和存储介质 | |
CN112328587A (zh) | ElasticSearch的数据处理方法和装置 | |
Ge et al. | Cinhba: A secondary index with hotscore caching policy on key-value data store |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |