CN111382197A - 分区管理、数据存储和查询方法及装置、设备、介质 - Google Patents
分区管理、数据存储和查询方法及装置、设备、介质 Download PDFInfo
- Publication number
- CN111382197A CN111382197A CN201811628668.5A CN201811628668A CN111382197A CN 111382197 A CN111382197 A CN 111382197A CN 201811628668 A CN201811628668 A CN 201811628668A CN 111382197 A CN111382197 A CN 111382197A
- Authority
- CN
- China
- Prior art keywords
- partition
- data
- partition information
- determining
- time interval
- 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
- 238000005192 partition Methods 0.000 title claims abstract description 656
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000007726 management method Methods 0.000 title claims abstract description 53
- 238000013500 data storage Methods 0.000 title claims abstract description 45
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000032297 kinesis Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分区管理、数据存储和查询方法及装置、设备、介质,该分区管理方法,包括:在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。创建的分区是按照时间区间划分的,数据查询时只需查找时间区间对应的分区,有利于提升查找效率。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及的是一种分区管理、数据存储和查询方法及装置、设备、介质。
背景技术
分布式数据库比如HBase,是数据库技术与网络技术相结合的产物。分布式数据库可以包括多个用于分布式存储及负载均衡的分区,数据可存入到分区中。
相关的分区管理方式中,分区是统一创建的,创建时会一次性划分好所有分区的分区号,分区号是对应分区的序号,一般依据分区总数来划分所有分区号,比如有32个分区,则分区号比如包括0~31。在存储数据时,根据数据计算分区号后,将该数据存入到该分区号对应的分区中,在查询数据时,依据数据的时间戳从各个分区中查找出需要的数据。
此种方式中,一段时间内获取到的数据可能会分散地存储在很多分区内,相应的,查询一段时间内的数据时,需要对所有分区中的数据进行查找,导致查找效率较低。
发明内容
有鉴于此,本发明提供一种分区管理、数据存储和查询方法及装置、设备、介质,创建的分区是按照时间区间划分的,数据查询时只需查找时间区间对应的分区,有利于提升查找效率。
本发明第一方面提供一种分区管理方法,包括:
在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
根据本发明的一个实施例,所述确定在第一时间区间T1内存储数据所需的第一分区的数量N,包括:
从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
根据本发明的一个实施例,依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量,包括:
计算所述数据总量与所述设定的单个分区存储量的比;
对所述比进行向上取整,将取整所得值确定为所述数量。
根据本发明的一个实施例,该方法还进一步包括:
在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
根据本发明的一个实施例,该方法还进一步包括:
在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
本发明第二方面提供一种数据存储方法,包括:
获取待存储的第一数据中的时间戳;
从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
根据本发明的一个实施例,依据所述第四分区信息确定用于存储所述第一数据的第二分区,包括:
当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
本发明第三方面提供一种数据查询方法,包括:
获取查询第二数据所需的查询条件;
从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
根据本发明的一个实施例,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
从数据库的与所述第五分区信息对应的分区中查询所述第二数据,包括:
遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
若是,则确定遍历到的数据为所述第二数据。
根据本发明的一个实施例,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,包括:
遍历所述分区信息表中的时间区间;
针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
本发明第四方面提供一种分区管理装置,包括:
数量确定模块,用于在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
分区创建模块,用于在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
根据本发明的一个实施例,所述数量确定模块,包括:
历史信息确定单元,用于从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
数据总量确定单元,确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
数量确定单元,用于依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
根据本发明的一个实施例,所述数量确定单元,包括:
第一计算子单元,用于计算所述数据总量与所述设定的单个分区存储量的比;
第二计算子单元,用于对所述比进行向上取整,将取整所得值确定为所述数量。
根据本发明的一个实施例,该装置还进一步包括:
过期信息确定模块,用于在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
第一删除模块,用于删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
根据本发明的一个实施例,该装置还进一步包括:
删除判断模块,用于在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
第二删除模块,用于若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
本发明第五方面提供一种数据存储装置,包括:
时间戳获取模块,用于获取待存储的第一数据中的时间戳;
第一信息确定模块,用于从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据存储模块,用于依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
根据本发明的一个实施例,所述数据存储模块,包括:
第一确定单元,用于当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
第二确定单元,用于当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
本发明第六方面提供一种数据查询装置,包括:
条件获取模块,用于获取查询第二数据所需的查询条件;
第二信息确定模块,用于从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据查询模块,用于从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
根据本发明的一个实施例,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述数据查询模块,包括:
遍历查找单元,用于遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
数据确定单元,用于若是,则确定遍历到的数据为所述第二数据。
根据本发明的一个实施例,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述第二信息确定模块,包括:
时间区间遍历单元,用于遍历所述分区信息表中的时间区间;
时间区间确定单元,用于针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
本发明第七方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的分区管理方法、数据存储方法、或数据查询方法。
本发明第八方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的分区管理方法、数据存储方法、或数据查询方法。
本发明实施例具有以下有益效果:
本发明实施例中,创建的分区是按照时间区间划分的,分区创建时,将时间区间与该时间区间内存储数据所需分区的分区信息对应地记录在分区信息表中,后续进行数据存储时,一段时间内的数据可集中存储到几个时间区间对应的分区中,查询数据时不必在所有分区中查找一段时间内的数据时,只需要查找符合的时间区间对应的分区即可,减少所需查找的数据量,有利于提升查找效率;
可以根据未来一段时间内存储数据所需的分区的数量创建新的分区,换言之,分区可以根据需要而动态创建,无需进行分区分裂来增加分区,减少HBase服务的压力,也可以避免分区过多而导致的查找负担大的问题。
附图说明
图1是本发明一实施例的分区管理方法的流程示意图;
图2是本发明一实施例的分区管理装置的结构框图;
图3是本发明一实施例的数据存储方法的流程示意图;
图4是本发明一实施例的数据存储装置的结构框图;
图5是本发明一实施例的数据查询方法的流程示意图;
图6是本发明一实施例的数据查询装置的结构框图;
图7是本发明一实施例的电子设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种器件,但这些信息不应限于这些术语。这些术语仅用来将同一类型的器件彼此区分开。例如,在不脱离本发明范围的情况下,第一器件也可以被称为第二器件,类似地,第二器件也可以被称为第一器件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使得本发明的描述更清楚简洁,下面对本发明中的一些技术术语进行解释:
HBase:Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价物理机上搭建起大规模结构化存储集群。
本发明第一方面提供一种分区管理方法,下面对本发明实施例的分区管理方法进行更具体的描述,但不应以此为限。在一个实施例中,参看图1,示出了本发明实施例的一种分区管理方法,包括以下步骤:
S100:在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
S200:在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
本发明实施例的分区管理方法可以应用于电子设备,电子设备可以是计算机设备等。数据库为分布式数据库,包括但不限于HBase,电子设备创建的分区可以处于电子设备上或处于其他设备上,只要是在数据库中即可。
以数据库为HBase为例,电子设备可以是HBase集群中的分区服务节点HRegionServer所在物理机、或管理节点HMaster所在物理机。HRegionServer可以服务多个分区Region;HMaster管理HRegionServer的负载均衡,调整分区的分布。
步骤S100中,在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N。
一种确定需创建第一分区的方式比如是,当收到指示创建的第一指令时,确定需创建第一分区。该第一指令可以是电子设备中定时触发的,每隔一段时间触发一次,比如可以每隔一个月触发一次指令(所隔时间也可以是一天或几天等,具体时间不限),如此,可以定期地为新数据创建新的分区。当然,该第一指令也可以由外部输入,具体不限。
该N可以是固定值,即每次创建的第一分区的数量都相同;或者,该N可以是可变,每次创建的第一分区的数量可以根据需要来确定。可以理解,N大于等于1。
具体的,在首次创建分区时,可以创建设定数量的分区,满足一定时间内的数据存储需求即可;在后续创建第一分区时,可以根据数据库中已创建的分区中存储的数据量来确定N,当然,N的确定方式也不限于此。步骤S200中,在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
每个第一分区都有相应的分区信息,第一分区的分区信息比如可以包括第一分区在数据库中的起始行位置信息和结束行位置信息等,具体不限,只要依据第一分区的分区信息可以在数据库中找到对应的第一分区即可。
本次创建的N个第一分区的分区信息与T1对应,如果每次的N不同,则每次的T1对应的第一分区的分区信息也不同。每个第一分区的大小可以是相同的,当然也可以不同。
所述T1的较小时间端点晚于当前时间t0,该t0可以是在需创建第一分区时本设备的系统时钟的时间,说明T1中的任一个时间都是未来的时间,当前创建的第一分区用于存储未来时间获取到的数据。
该数据可以从较多的数据源中获取,比如KafKa、Flume、Twitter、ZeroMQ、Kinesis、TCP sockets等数据源,当然也可以是其他数据源,只要数据中具有时间戳即可。优选的,该数据是时序数据,即具有时间列且按照时间顺序记录的数据。如此,在数据存储到第一分区时,可以根据时间戳找到匹配的时间区间,从而可依据匹配的时间区间对应的分区信息确定用于存储该数据的第一分区。
T1和当前创建的N个第一分区的分区信息对应地记录在分区信息表中,从而当需要查找第一分区中的数据时,可先在分区信息表中确定出T1,根据查找到的T1对应的分区信息找到数据库中的第一分区,再从第一分区中找到所需的数据。
本发明实施例中,创建的分区是按照时间区间划分的,分区创建时,将时间区间与该时间区间内存储数据所需分区的分区信息对应地记录在分区信息表中,后续进行数据存储时,一段时间内的数据可集中存储到几个时间区间对应的分区中,查询数据时不必在所有分区中查找一段时间内的数据时,只需要查找符合的时间区间对应的分区即可,减少所需查找的数据量,有利于提升查找效率。
此外,相关的分区管理方式中,分区一旦创建之后,后续不能动态创建新的分区,导致分区中存储的数据达到一定量之后,只能通过分区分裂,由一个分区分裂成多个分区,来实现分区数量的增加,但是分裂时给HBase服务带来压力,对应用使用带来影响,同时随着分区的分裂,数据查询时所需查找的分区更多了,给查询造成了更大的负担。
而本发明实施例中,可以根据未来一段时间内存储数据所需的分区的数量创建新的分区,换言之,分区可以根据需要而动态创建,无需进行分区分裂来增加分区,减少HBase服务的压力,也可以避免分区过多而导致的查找负担大的问题。
在一个实施例中,上述分区管理方法可由分区管理装置执行,如图2所示,分区管理装置100主要包含2个模块:数量确定模块101和分区创建模块102。数量确定模块101用于执行上述步骤S100,分区创建模块102用于执行上述步骤S200。
在一个实施例中,步骤S100中,所述确定在第一时间区间T1内存储数据所需的第一分区的数量N,包括以下步骤:
S101:从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
S102:确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
S103:依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
步骤S101中,可从分区信息表中找到早于当前时间的一个或几个第二时间区间对应第一分区信息。
为了保证数据存储的时间连续性,T2的较大时间端点与T1的较小时间端点可以是两个相邻的时间,比如T2的较大时间端点为2018年12月6日10点10分10秒,而T1的较小时间端点为2018年12月6日10点10分11秒;或者,T2的较大时间端点与T1的较小时间端点可以是相同的,当然为了避免时间区间的范围存在重叠,时间区间可以是半开半闭的区间,比如T1和T2都是左开右闭的区间。
步骤S101中,T2对应的第一分区信息所对应的分区存储的数据总量,可以体现在单位时间内所需存储的数据量,由此可用来评估T1内所需存储的数据量,相应便可确定所需创建的第一分区的数量。
T2可以包括多个时间区间,从而对应有多个第一分区信息,当然,T2也可以仅包含一个时间区间。计算第一分区的数量时,若T2的时长比T1的时长大,则可先计算T2与T1的时长比,计算确定出的所有第一分区信息对应的分区所存储的数据总量与该时长比的比值,将该比值确定为T1内所需存储的数据量,从而可以确定第一分区的数量;若T2的时长与T1的时长一样大,则将所有第一分区信息对应的分区所存储的数据总量确定为T1内所需存储的数据量,从而可以确定第一分区的数量。
步骤S103中,可通过数据总量与单个分区存储量来计算出第一分区的数量,可通过简单的除法运算来计算得到。
单个分区存储量比如是20GB,该20GB是HBase中一个分区合理的存储数据量,分区中实际可存储的数据量当然可以超过20GB,但是分区过大有可能造成分区浪费,而过小则有可能导致分区数量过多,因而可选择适中的大小。当然,单个分区存储量具体不限,可以根据实际情况确定。
相关的分区管理方式中,所需创建分区的数量是依据服务器的数量而定的,一般是服务器的整数倍。但是,所需存储的数据总量是无法预先确定的,数据量有可能多也有可能少。该方式中,所需存储的数据总量小、且服务器多时,划分的分区会过多,单个分区可存储的数据量较小,增加HBase服务负担;而需存储的数据总量大、且服务器数量少时,划分的分区会过少,单个分区可存储的数据量太多,为查询使用数据带来不便。
本发明实施例中,分区可随时间的推移而创建,未来需要的分区数量可以依据已有分区中存储的数据量预估,可灵活地在HBase中创建新的分区,灵活性、可扩展性更高。
优选的,步骤S103中,依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量,包括以下步骤:
计算所述数据总量与所述设定的单个分区存储量的比;
对所述比进行向上取整,将取整所得值确定为所述数量。
比如,当前需要创建10月份数据存储所用的分区,可以依据9月份对应的分区所存储的数据量计算10月所需的分区数量,比如,9月份有310GB的数据量,单个分区存储量是20GB,310GB与20GB之比为15.5,那么,10月份应该需要创建16个分区。
在一个实施例中,该方法还进一步包括以下步骤:
S300:在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的最大早于较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
S400:删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
步骤S300中,一种确定需删除分区的方式比如是,当收到指示删除的第二指令时,确定需删除分区。该第二指令可以是电子设备中定时触发的,每隔一段时间触发一次指令,比如可以每隔一个月触发一次指令(所隔时间也可以是一天或几天等,具体时间不限),如此,可以定期删除所需删除的分区。该第二指令也可以由外部触发,具体不限。
设定有效时长比如可以是两年,则t1是距当前两年前的时间,即两年是数据的有效期,第二分区信息所对应的分区存储的是两年前的数据,用处已不大,可将这些无效数据删除。比如,t0为2018年12月6日10点10分11秒,则早于2016年12月6日10点10分11秒的数据及分区可被删除。当然,设定有效时长可以根据需要而定。
步骤S400中,将数据库中与第二分区信息对应的分区删除,分区上的数据也便会被一并删除,同时,将分区信息表中的所述第二分区信息所在表项删除,避免分区信息表的表项过多。
相关分区管理方式中,由于一个段时间内的数据可能分散地存储在很多个甚至所有的分区内,因而无法对已创建的分区进行删除,否则会导致需要的数据被删除。
本发明实施例中,可以将存储了早于当前时间设定有效时长的数据的分区进行删除,使得每个分区都有生命期,当超出生命期时就会被删除,实现删除过早的无效数据及释放存储空间的目的。
在一个实施例中,该方法还进一步包括以下步骤:
S500:在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
S600:若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
一种确定需判断是否删除分区的方式比如是,当收到指示判断是否删除分区的第三指令时,确定需判断是否删除分区。该第三指令可以是电子设备中定时触发的,每隔一段时间触发一次指令,比如可以每隔一个月触发一次指令(所隔时间也可以是一天或几天等,具体时间不限),如此,可以定期地检查是否需要删除分区。该第三指令也可以由外部触发,具体不限。
设定数据量比如500GB,当数据库中所有分区已存储的数据量大于500GB时,可删除最早的一个分区或者一批分区,使得数据库中已存储的数据量不超过设定数据量,并删除分区信息表中的第三分区信息所在表项。
本发明实施例中,可以对数据库存储的数据量进行限额,在超过设定数据量时,删除最早时间区间对应的分区,从而释放存储空间,使得数据库中已存储的数据量不超过设定数据量,避免新的数据因数据库已存储数据量过大而无法存入的问题。
本发明第二方面提供一种数据存储方法,下面对本发明实施例的数据存储方法进行更具体的描述,但不应以此为限。在一个实施例中,参看图3,示出了本发明实施例的一种数据存储方法,包括以下步骤:
T100:获取待存储的第一数据中的时间戳;
T200:从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
T300:依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
本发明实施例的数据存储方法同样可应用于电子设备,电子设备的相关内容可参看前述实施例的分区管理方法中的内容,在此不再赘述。
步骤T100中,第一数据中携带有时间戳,该第一数据可以是时序数据,具体不限。第一数据中的时间戳比如是与第一数据关联的事件发生的时间,数据源会将时间戳携带在第一数据中。
步骤T200中,可遍历分区信息表中的时间区间,判断时间戳与遍历到的时间区间是否匹配,如果匹配,则该遍历到的时间区间对应的分区信息即为第四分区信息。
判断时间戳与遍历到的时间区间是否匹配比如可以是,将时间戳与时间区间的较小时间端点和较大时间端点比较,若时间戳大于等于较小时间端点且小于等于较大时间端点,则确定时间戳与遍历到的时间区间匹配。
分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间,可以基于前述实施例的分区管理方法来实现。分区信息表中与时间戳匹配的时间区间只会有一个,但是该时间区间所对应的第四分区信息可以包括一个或两个以上,每个第四分区信息对应于不同的分区。
步骤T300中,依据确定出的第四分区信息可以确定存储第一数据所需的第二分区,具体确定第二分区的方式可以视确定出的第四分区信息的数量而定。
将所述第一数据存储至所述数据库的第二分区中,在将第一数据存入至第二分区之前,还可以生成数据库所需的第一数据的主键,其值能唯一地标识数据库中的每一条记录。主键比如可以包括第一数据的时间戳、及唯一标识,不同数据的时间戳可能会相同,该唯一标识可以使得数据库中数据的主键均是唯一的,唯一标识可随机生成。
每个分区都有相应的分区信息,分区信息比如可以包括分区在数据库中的起始行位置信息和结束行位置信息等,具体不限,只要依据分区信息可以在数据库中找到对应的分区即可。
本发明实施例中,分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间,在进行数据存储时,一段时间内的数据可集中存储到几个时间区间对应的分区中,查询数据时不必在所有分区中查找一段时间内的数据时,只需要查找符合的时间区间对应的分区即可,减少所需查找的数据量,有利于提升查找效率。
在一个实施例中,上述数据存储方法可由数据存储装置执行,如图4所示,数据存储装置200主要包含3个模块:时间戳获取模块201,第一信息确定模块202和数据存储模块203。时间戳获取模块201用于执行上述步骤T100,第一信息确定模块202用于执行上述步骤T200,数据存储模块203用于执行上述步骤T300。
在一个实施例中,步骤T300中,依据所述第四分区信息确定用于存储所述第一数据的第二分区,包括:
T301:当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
T302:当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
从所有第四分区信息中选取出一个第四分区信息时,可以采用随机选取方式,或者选取存储数据最少的分区对应的第四分区信息,具体不限。
本发明实施例的数据存储方法可以是基于本发明实施例前述的分区管理方法的基础上实现的,在初始创建好用于存储数据的分区、记录好分区信息表后,便可进行数据存储,随时间推移,可不断创建新的分区,删除过早的分区,保证数据可持续存储。
本发明第三方面提供一种数据查询方法,下面对本发明实施例的数据查询方法进行更具体的描述,但不应以此为限。在一个实施例中,参看图5,示出了本发明实施例的一种数据查询方法,包括以下步骤:
U100:获取查询第二数据所需的查询条件;
U200:从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
U300:从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
本发明实施例的数据查询方法同样可应用于电子设备,电子设备的相关内容可参看前述实施例的分区管理方法中的内容,在此不再赘述。
步骤U100中,查询条件可以是外部输入的,查询条件的具体格式及内容不限,只要能够找出需要的目标时间区间即可。
步骤U200中,依据查询条件先从分区信息表中确定出满足所述查询条件的至少一个T4,由于分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间,因而在确定出T4时,便可确定出与T4对应的第五分区信息。第五分区信息可以包括一个或两个以上,每个第五分区信息对应于不同的分区。
每个分区都有相应的分区信息,分区信息比如可以包括分区在数据库中的起始行位置信息和结束行位置信息等,具体不限,只要依据分区信息可以在数据库中找到对应的分区即可。
步骤U300中,确定查询数据所需的分区后,便可从数据库的与所述第五分区信息对应的分区中查询第二数据。
本发明实施例中,分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间,查询数据时不必在所有分区中查找一段时间内的数据时,只需要查找符合的时间区间对应的分区即可,减少所需查找的数据量,有利于提升查找效率。
在一个实施例中,上述数据查询方法可由数据查询装置执行,如图6所示,数据查询装置300主要包含3个模块:条件获取模块301,第二信息确定模块302和数据查询模块303。条件获取模块301用于执行上述步骤U100,第二信息确定模块302用于执行上述步骤U200,数据查询模块303用于执行上述步骤U300。
在一个实施例中,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
步骤U300中,从数据库的与所述第五分区信息对应的分区中查询所述第二数据,包括以下步骤:
U301:遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
U302:若是,则确定遍历到的数据为所述第二数据。
查询条件确定分区时,为了避免数据遗漏,会将有可能存在所需数据的分区都确定出来,在确定出所需查找的分区后,可再依据查询条件从这些分区中精确找到所需时间段内的数据,实现数据的二次过滤。
在一个实施例中,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
步骤U200中,从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,包括以下步骤:
U201:遍历所述分区信息表中的时间区间;
U202:针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
上述查询方式可保证全部或部分时间范围处于查询条件的第一指定值与第二指定值之间的时间区间均被查询到,同时也可避免过多的时间区间被查询到,从而保证了查全率及查询速度。
比如,一个时间区间中,较小时间端点为20180715181001.100,较大时间端点为20180715184001.100,第一指定值为20180715180501.100,第二指定值为20180715183501.100,那么,20180715183501.100(第二指定值)大于较小时间端点且小于较大时间端点,因而该时间区间为T4。
本发明实施例的数据查询方法可以是基于本发明实施例前述的分区管理方法和数据存储方法的基础上实现的,在初始创建好用于存储数据的分区、记录好分区信息表、存储好数据后,便可采用上述方式进行数据查询。
本发明第四方面提供一种分区管理装置,在一个实施例中,参看图2,该分区管理装置100包括:
数量确定模块101,用于在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
分区创建模块102,用于在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
在一个实施例中,所述数量确定模块,包括:
历史信息确定单元,用于从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
数据总量确定单元,确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
数量确定单元,用于依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
在一个实施例中,所述数量确定单元,包括:
第一计算子单元,用于计算所述数据总量与所述设定的单个分区存储量的比;
第二计算子单元,用于对所述比进行向上取整,将取整所得值确定为所述数量。
在一个实施例中,该装置还进一步包括:
过期信息确定模块,用于在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
第一删除模块,用于删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
在一个实施例中,该装置还进一步包括:
删除判断模块,用于在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
第二删除模块,用于若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
上述分区管理装置中各个单元的功能和作用的实现过程具体详见上述分区管理方法中对应步骤的实现过程,在此不再赘述。
本发明第五方面提供一种数据存储装置,在一个实施例中,参看图4,该数据存储装置200包括:
时间戳获取模块201,用于获取待存储的第一数据中的时间戳;
第一信息确定模块202,用于从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据存储模块203,用于依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
在一个实施例中,所述数据存储模块,包括:
第一确定单元,用于当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
第二确定单元,用于当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
上述数据存储装置中各个单元的功能和作用的实现过程具体详见上述数据存储方法中对应步骤的实现过程,在此不再赘述。
本发明第六方面提供一种数据查询装置,在一个实施例中,参看图6,该数据查询装置300包括:
条件获取模块301,用于获取查询第二数据所需的查询条件;
第二信息确定模块302,用于从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据查询模块303,用于从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
在一个实施例中,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述数据查询模块,包括:
遍历查找单元,用于遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
数据确定单元,用于若是,则确定遍历到的数据为所述第二数据。
在一个实施例中,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述第二信息确定模块,包括:
时间区间遍历单元,用于遍历所述分区信息表中的时间区间;
时间区间确定单元,用于针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
上述数据查询装置中各个单元的功能和作用的实现过程具体详见上述数据查询方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本发明还提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例中所述的分区管理方法、数据存储方法、或数据查询方法。
本发明分区管理装置、数据存储装置、数据查询装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,图7是本发明根据一示例性实施例示出的分区管理装置10所在电子设备的一种硬件结构图,除了图7所示的处理器510、内存530、接口520、以及非易失性存储器540之外,实施例中装置10所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中任意一项所述的分区管理方法、数据存储方法、或数据查询方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (22)
1.一种分区管理方法,其特征在于,包括:
在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
2.如权利要求1所述的分区管理方法,其特征在于,所述确定在第一时间区间T1内存储数据所需的第一分区的数量N,包括:
从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
3.如权利要求2所述的分区管理方法,其特征在于,依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量,包括:
计算所述数据总量与所述设定的单个分区存储量的比;
对所述比进行向上取整,将取整所得值确定为所述数量。
4.如权利要求1所述的分区管理方法,其特征在于,该方法还进一步包括:
在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
5.如权利要求1所述的分区管理方法,其特征在于,该方法还进一步包括:
在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
6.一种数据存储方法,其特征在于,包括:
获取待存储的第一数据中的时间戳;
从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
7.如权利要求6所述的数据存储方法,其特征在于,依据所述第四分区信息确定用于存储所述第一数据的第二分区,包括:
当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
8.一种数据查询方法,其特征在于,包括:
获取查询第二数据所需的查询条件;
从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
9.如权利要求8所述的数据查询方法,其特征在于,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
从数据库的与所述第五分区信息对应的分区中查询所述第二数据,包括:
遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
若是,则确定遍历到的数据为所述第二数据。
10.如权利要求8所述的数据查询方法,其特征在于,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,包括:
遍历所述分区信息表中的时间区间;
针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
11.一种分区管理装置,其特征在于,包括:
数量确定模块,用于在需创建第一分区时,确定在第一时间区间T1内存储数据所需的第一分区的数量N;所述T1的较小时间端点晚于当前时间t0;
分区创建模块,用于在数据库中创建所述N个第一分区,并将所述T1与所述第一分区的分区信息对应地记录在预设的分区信息表中。
12.如权利要求11所述的分区管理装置,其特征在于,所述数量确定模块,包括:
历史信息确定单元,用于从所述分区信息表中确定出第二时间区间T2对应的第一分区信息,所述T2的较大时间端点不晚于所述t0;
数据总量确定单元,确定数据库中与所述第一分区信息对应的分区所存储的数据总量;
数量确定单元,用于依据所述数据总量、及设定的单个分区存储量确定所述第一分区的数量。
13.如权利要求12所述的分区管理装置,其特征在于,所述数量确定单元,包括:
第一计算子单元,用于计算所述数据总量与所述设定的单个分区存储量的比;
第二计算子单元,用于对所述比进行向上取整,将取整所得值确定为所述数量。
14.如权利要求11所述的分区管理装置,其特征在于,该装置还进一步包括:
过期信息确定模块,用于在需删除分区时,从所述分区信息表中确定出至少一个第三时间区间T3对应的第二分区信息,所述T3的较大时间端点早于指定时间t1,所述t1比所述t0早设定有效时长;
第一删除模块,用于删除数据库中与所述第二分区信息对应的分区,并删除所述分区信息表中的所述第二分区信息所在表项。
15.如权利要求11所述的分区管理装置,其特征在于,该装置还进一步包括:
删除判断模块,用于在需判断是否删除分区时,判断所述数据库中已存储的数据量是否超过设定数据量;
第二删除模块,用于若是,从所述分区信息表中确定出至少一个最早记录至所述分区信息表中的第三分区信息,删除数据库中与所述第三分区信息对应的分区,并删除所述分区信息表中的所述第三分区信息所在表项。
16.一种数据存储装置,其特征在于,包括:
时间戳获取模块,用于获取待存储的第一数据中的时间戳;
第一信息确定模块,用于从预设的分区信息表中确定出与所述时间戳匹配的时间区间所对应的至少一个第四分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据存储模块,用于依据所述第四分区信息确定用于存储所述第一数据的第二分区,并将所述第一数据存储至所述数据库的第二分区中。
17.如权利要求16所述的数据存储装置,其特征在于,所述数据存储模块,包括:
第一确定单元,用于当确定出一个第四分区信息时,将所述第四分区信息对应的分区确定为所述第二分区;
第二确定单元,用于当确定出至少两个第四分区信息时,从所有第四分区信息中选取出一个第四分区信息,将选取出的第四分区信息对应的分区确定为所述第二分区。
18.一种数据查询装置,其特征在于,包括:
条件获取模块,用于获取查询第二数据所需的查询条件;
第二信息确定模块,用于从预设的分区信息表中确定出满足所述查询条件的至少一个目标时间区间T4,并确定分区信息表中与所述T4对应的第五分区信息;所述分区信息表中记录有数据库中已创建分区的分区信息及对应的时间区间;
数据查询模块,用于从数据库的与所述第五分区信息对应的分区中查询所述第二数据。
19.如权利要求18所述的数据查询装置,其特征在于,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述数据查询模块,包括:
遍历查找单元,用于遍历所述第五分区信息对应的分区中的数据,判断遍历到的数据中的时间戳是否大于等于所述第一指定值且小于等于所述第二指定值;
数据确定单元,用于若是,则确定遍历到的数据为所述第二数据。
20.如权利要求18所述的数据查询装置,其特征在于,所述查询条件包括第一指定值和第二指定值,所述第一指定值小于第二指定值;
所述第二信息确定模块,包括:
时间区间遍历单元,用于遍历所述分区信息表中的时间区间;
时间区间确定单元,用于针对遍历到的时间区间,当第一指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第二指定值大于等于该时间区间的最小时间戳且小于等于该时间区间的最大时间戳,或者当第一指定值小于该时间区间的最小时间戳且第二指定值大于该时间区间的最大时间戳时,将该时间区间确定为所述T4。
21.一种电子设备,其特征在于,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如权利要求1-5中任意一项所述的分区管理方法、权利要求6或7所述的数据存储方法、或权利要求8-10中任意一项所述的数据查询方法。
22.一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1-5中任意一项所述的分区管理方法、权利要求6或7所述的数据存储方法、或权利要求8-10中任意一项所述的数据查询方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628668.5A CN111382197B (zh) | 2018-12-28 | 2018-12-28 | 分区管理、数据存储和查询方法及装置、设备、介质 |
PCT/CN2019/129277 WO2020135737A1 (zh) | 2018-12-28 | 2019-12-27 | 分区管理、数据存储和查询方法及装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628668.5A CN111382197B (zh) | 2018-12-28 | 2018-12-28 | 分区管理、数据存储和查询方法及装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382197A true CN111382197A (zh) | 2020-07-07 |
CN111382197B CN111382197B (zh) | 2023-10-27 |
Family
ID=71127771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811628668.5A Active CN111382197B (zh) | 2018-12-28 | 2018-12-28 | 分区管理、数据存储和查询方法及装置、设备、介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111382197B (zh) |
WO (1) | WO2020135737A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271504A1 (en) * | 2005-05-26 | 2006-11-30 | Inernational Business Machines Corporation | Performance data for query optimization of database partitions |
US20080228783A1 (en) * | 2007-03-14 | 2008-09-18 | Dawn Moffat | Data Partitioning Systems |
US20090198736A1 (en) * | 2008-01-31 | 2009-08-06 | Jinmei Shen | Time-Based Multiple Data Partitioning |
CN102063490A (zh) * | 2010-12-20 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种数据库分区方法和分区装置 |
WO2016004813A1 (zh) * | 2014-07-07 | 2016-01-14 | 阿里巴巴集团控股有限公司 | 数据存储方法、查询方法及设备 |
CN105868071A (zh) * | 2016-03-23 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 监测数据的处理方法及装置 |
CN106407191A (zh) * | 2015-07-27 | 2017-02-15 | 中国移动通信集团公司 | 一种数据处理方法及服务器 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN107861989A (zh) * | 2017-10-17 | 2018-03-30 | 平安科技(深圳)有限公司 | 数据的分区存储方法、装置、计算机设备及存储介质 |
CN108197267A (zh) * | 2018-01-02 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | 数据库分区表的扩展分析方法、装置及终端设备 |
US10108690B1 (en) * | 2013-06-06 | 2018-10-23 | Amazon Technologies, Inc. | Rolling subpartition management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172526A1 (en) * | 2007-01-11 | 2008-07-17 | Akshat Verma | Method and System for Placement of Logical Data Stores to Minimize Request Response Time |
CN105573889A (zh) * | 2015-12-15 | 2016-05-11 | 上海仪电(集团)有限公司 | 虚拟机监控数据的存取方法及装置 |
-
2018
- 2018-12-28 CN CN201811628668.5A patent/CN111382197B/zh active Active
-
2019
- 2019-12-27 WO PCT/CN2019/129277 patent/WO2020135737A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271504A1 (en) * | 2005-05-26 | 2006-11-30 | Inernational Business Machines Corporation | Performance data for query optimization of database partitions |
US20080228783A1 (en) * | 2007-03-14 | 2008-09-18 | Dawn Moffat | Data Partitioning Systems |
US20090198736A1 (en) * | 2008-01-31 | 2009-08-06 | Jinmei Shen | Time-Based Multiple Data Partitioning |
CN102063490A (zh) * | 2010-12-20 | 2011-05-18 | 大唐移动通信设备有限公司 | 一种数据库分区方法和分区装置 |
US10108690B1 (en) * | 2013-06-06 | 2018-10-23 | Amazon Technologies, Inc. | Rolling subpartition management |
WO2016004813A1 (zh) * | 2014-07-07 | 2016-01-14 | 阿里巴巴集团控股有限公司 | 数据存储方法、查询方法及设备 |
CN106407191A (zh) * | 2015-07-27 | 2017-02-15 | 中国移动通信集团公司 | 一种数据处理方法及服务器 |
CN105868071A (zh) * | 2016-03-23 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 监测数据的处理方法及装置 |
CN107861989A (zh) * | 2017-10-17 | 2018-03-30 | 平安科技(深圳)有限公司 | 数据的分区存储方法、装置、计算机设备及存储介质 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN108197267A (zh) * | 2018-01-02 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | 数据库分区表的扩展分析方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020135737A1 (zh) | 2020-07-02 |
CN111382197B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459898B2 (en) | Configurable-capacity time-series tables | |
CN106648446B (zh) | 一种用于时序数据的存储方法、装置及电子设备 | |
EP3944556B1 (en) | Block data storage method and apparatus, and block data access method and apparatus | |
US8775483B2 (en) | In-memory data grid hash scheme optimization | |
US11468011B2 (en) | Database management system | |
US20170031959A1 (en) | Scheduling database compaction in ip drives | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN111638995A (zh) | 元数据备份方法、装置及设备、存储介质 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
CN111125171A (zh) | 一种监测数据存取方法、装置、设备及可读存储介质 | |
CN107092624B (zh) | 数据存储方法、装置及系统 | |
CN113377292A (zh) | 一种单机存储引擎 | |
CN110688065A (zh) | 一种存储空间管理方法、系统、电子设备及存储介质 | |
CN114090577A (zh) | 时序数据的存储、读取方法及装置 | |
CN111400255B (zh) | 数据清理方法、装置及设备、存储介质 | |
US20200142875A1 (en) | Random walking and cluster-based random walking method, apparatus and device | |
CN111382197B (zh) | 分区管理、数据存储和查询方法及装置、设备、介质 | |
KR20120082176A (ko) | 데이터베이스 관리 시스템의 데이터 처리 방법 및 시스템 | |
US11803525B2 (en) | Selection and movement of data between nodes of a distributed storage system | |
CN111190949B (zh) | 数据存储及处理方法、装置、设备、介质 | |
CN107819804B (zh) | 云端储存设备系统及决定其架构的高速缓存中数据的方法 | |
EP3712780A1 (en) | Storing objects in data structures | |
CN113626490B (zh) | 数据查询方法、装置及设备、存储介质 | |
JP6901005B2 (ja) | 情報蓄積装置、データ処理システム、およびプログラム | |
CN113127493B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |