CN113779077A - 时间段查询方法、装置、电子设备和存储介质 - Google Patents
时间段查询方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113779077A CN113779077A CN202111146169.4A CN202111146169A CN113779077A CN 113779077 A CN113779077 A CN 113779077A CN 202111146169 A CN202111146169 A CN 202111146169A CN 113779077 A CN113779077 A CN 113779077A
- Authority
- CN
- China
- Prior art keywords
- time period
- statistical
- period
- time
- count value
- 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 58
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出一种时间段查询方法、装置、电子设备和存储介质,其中,方法包括:获取时段集合的查询请求,读取索引结构,其中,索引结构中包括各统计时段对应的起点总计数值和终点总计数值,根据查询请求中查询时段的起点所在的第一统计时段查询索引结构,以得到第一统计时段对应的起点总计数值,根据查询请求中查询时段的终点所在的第二统计时段查询索引结构,以得到第二统计时段对应的终点总计数值,根据时段集合的时段总个数、第一统计时段对应的起点总计数值和第二统计时段对应的终点总计数值,确定时段集合中与查询时段相交的时段数量,通过构建轻量的索引结构,实现了快速获取时间段集合中和查询时段相交的时段数量,提高时间段查询的效率。
Description
技术领域
本公开涉及查询优化技术领域,尤其涉及一种时间段查询方法、装置、电子设备和存储介质。
背景技术
针对给定时间段,从时间段数据库中查询和给定时间段相交的最少时间段数目非常有用,其中,一个典型的应用是数据库中的查询优化,若能够快速得知满足条件的结果数目,数据库的查询优化器就能够基于得到的结果数目,确定出更好的查询计划,从而加快执行效率。而在一些不需要精确的查询结果的情景下,只需要快速返回与给定查询时间段相交的时间段数目。因此,针对时间段,获取查询结果具有重要意义。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开提出一种时间段查询方法、装置、电子设备和存储介质,以提高时间段查询的效率。
本公开一方面实施例提出了一种时间段查询方法,包括以下步骤:
获取时段集合的查询请求;
读取索引结构;其中,所述索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,所述起点总计数值,用于指示所述时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;所述终点总计数值,用于指示所述时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数;
根据所述查询请求中查询时段的起点所在的第一统计时段,查询所述索引结构,以得到所述第一统计时段对应的起点总计数值;
根据所述查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到所述第二统计时段对应的终点总计数值;
根据所述时段集合的时段总个数、所述第一统计时段对应的起点总计数值和所述第二统计时段对应的终点总计数值,确定所述时段集合中与所述查询时段相交的时段数量。
本公开另一方面实施例提出了一种时间段查询装置,包括:
获取模块,用于获取时段集合的查询请求;
读取模块,用于读取索引结构;其中,所述索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,所述起点总计数值,用于指示所述时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;所述终点总计数值,用于指示所述时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数;
查询模块,用于根据所述查询请求中查询时段的起点所在的第一统计时段,查询所述索引结构,以得到所述第一统计时段对应的起点总计数值;
所述查询模块,还用于根据所述查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到所述第二统计时段对应的终点总计数值;
确定模块,用于根据所述时段集合的时段总个数、所述第一统计时段对应的起点总计数值和所述第二统计时段对应的终点总计数值,确定所述时段集合中与所述查询时段相交的时段数量。
本公开另一方面实施例提出了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述一方面所述的方法。
本公开另一方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述一方面所述的方法。
本公开另一方面实施例提出了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现前述一方面所述的方法。
本公开实施例所提供的技术方案包含如下的有益效果:
获取时段集合的查询请求,读取索引结构,其中,索引结构中包括各统计时段对应的起点总计数值,和终点总计数值,其中,起点总计数值,用于指示时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;终点总计数值,用于指示时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数,根据查询请求中查询时段的起点所在的第一统计时段,查询索引结构,以得到第一统计时段对应的起点总计数值,根据查询请求中查询时段的终点所在的第二统计时段,查询索引结构,以得到第二统计时段对应的终点总计数值,根据时段集合的时段总个数、第一统计时段对应的起点总计数值和第二统计时段对应的终点总计数值,确定时段集合中与查询时段相交的时段数量,通过构建轻量的索引结构,实现了快速获取时间段集合中和查询时段相交的时段数量,提高时间段查询的效率。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例所提供的一种时间段查询方法的流程示意图;
图2为本公开实施例提供的一种时间段相交的示意图;
图3为本公开实施例所提供的另一种时间段查询方法的流程示意图;
图4为本公开实施例所提供的时段集合和统计时段划分的示意图;
图5为本公开实施例提供的索引结构的示意图;
图6为本公开实施例提供的另一种时间段查询方法的流程示意图;
图7为本公开实施例提供的另一种时间段查询方法的流程示意图;
图8为本公开实施例提供的一种时间段查询装置的结构示意图;
图9为本公开实施例提供的一种电子设备10的结构框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的时间段查询方法、装置、电子设备和存储介质。
图1为本公开实施例所提供的一种时间段查询方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取时段集合的查询请求。
其中,时段集合中包含多个时段,时段是一个二维数据,具有起始时间和终止时间,时段可表示为[ts,te],其中,起始时间为ts,终止时间为te。
本公开中,查询请求中携带了查询时段,例如,查询时段为[2,4]。
步骤102,读取索引结构。
其中,索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,起点总计数值,用于指示时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;终点总计数值,用于指示时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数。
本公开实施例中,索引结构可以是预先确定的。索引结构中包含多个统计时段,多个统计时段是离散不相交的,作为一种实现方式,各统计时段可以是离散不相交,但是长度相同的统计时段,例如,各统计时段为[0,4),[4,8),[8,12)和[12,16],其中,各统计时段均具有对应的起点总计数值和终点总计数值。
其中,本公开实施例中的索引结构为时间段计数索引(Time Range Count Index,TRC-Index),包含各统计时段对应的起点总计数值和终点总计数值。其中,起点总计数值和终点总计数值可以通过数组表示,或者是通过哈希表表示。
步骤103,根据查询请求中查询时段的起点所在的第一统计时段,查询索引结构,以得到第一统计时段对应的终点总计数值。
其中,查询请求中包含查询时段,例如,查询时段为[2,4]。
本公开实施例中,查询时段的起点为2,将查询时段的起点与各统计时段比较,可确定查询时段的起点所在的统计时段,为了便于区分,称为第一统计时段。通过查询索引结构,可查询索引结构中对应统计时段对应的起点总计数值,将查询到的起点总计数值作为第一统计时段对应的终点总计数值。例如,查询时段[2,4]的起点所在的统计时段为上述的[0,4),从而统计时段[0,4)为第一统计时段,查询索引结构中统计时段[0,4)对应的终点总计数值为0,则确定第一统计时段对应的终点总计数值为0。
需要说明的是第一统计时段对应的终点总计数值,指示了时段集合中个时段的终点对应的时间小于查询时段中起点对应的时间的时段的总数,也就是和查询时段不相交的时段的总数。
步骤104,根据查询请求中查询时段的终点所在的第二统计时段,查询索引结构,以得到第二统计时段对应的起点总计数值。
本公开实施例中,查询时段的终点为4,将查询时段的终点与各统计时段比较,可确定查询时段的终点所在的统计时段,为了便于区分,称为第二统计时段。通过查询索引结构,可查询索引结构中对应统计时段对应的起点总计数值,将查询到的起点总计数值作为第二统计时段对应的起点总计数值。
例如,查询时段[2,4]的终点所在的统计时段为上述的[4,8),从而统计时段[4,8)为第一统计时段,查询索引结构中统计时段[4,8)对应的起点总计数值为3,则确定第一统计时段对应的起点总计数值为3。
需要说明的是第二统计时段对应的起点总计数值,指示了时段集合中各时段的起点对应的时间大于查询时段中终点对应的时间的时段的总数,也就是和查询时段不相交的时段的总数。
步骤105,根据时段集合的时段总个数、第一统计时段对应的终点总计数值和第二统计时段对应的起点总计数值,确定时段集合中与查询时段相交的时段数量。
本公开实施例中,时段集合中包含多个时段,确定集合中包含的时段总个数,例如为5个。
图2为本公开实施例提供的一种时间段相交的示意图,图2中展示了两个时间段存在相交的4种情形,例如,给定一个时间段数据库D,一个查询时间段q=[tqs,tqe],D中与q相交的时间段共分成图1四种情形,形式化定义为:D’={tr|tr.ts≤tqe并且tr.te≥tqs},从而,4种情形之外的情形,即为两个时间段不存在相交的情形,即一个时间段A的结束时间小于另一时间段B的开始时间,或者是一个时间段A的开始时间大于另一时间段B的结束时间。
本公开实施例中,通过构建的索引结构,确定查询时间段在时间段集合中不存在相交的时间段的数量,根据查询时间段在时间段集合中不存在相交的时间段的数量,确定和查询时间段相交的时间段和对应的数量,实现了快速获取时间段集合中时间段数量。在本公开实施例的一种实现方式中,从时段集合的时段总个数中,减去第一统计时段对应的终点总计数值和第二统计时段对应的起点总计数值,以得到时段集合中与查询时段相交的时段数量。
本公开实施例的时间段查询方法中,获取时段集合的查询请求,读取索引结构,其中,索引结构中包括各统计时段对应的起点总计数值,和终点总计数值,其中,起点总计数值,用于指示时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;终点总计数值,用于指示时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数,根据查询请求中查询时段的起点所在的第一统计时段,查询索引结构,以得到第一统计时段对应的起点总计数值,根据查询请求中查询时段的终点所在的第二统计时段,查询索引结构,以得到第二统计时段对应的终点总计数值,根据时段集合的时段总个数、第一统计时段对应的起点总计数值和第二统计时段对应的终点总计数值,确定时段集合中与查询时段相交的时段数量,通过构建轻量的索引结构,实现了快速获取时间段集合中时间段数量,提高时间段查询的效率。
基于上述实施例,本公开实施例提供了另一种时间段查询方法,图3为本公开实施例所提供的另一种时间段查询方法的流程示意图,如图3所示,该方法包含以下步骤:
步骤301,获取时段集合的查询请求。
其中,步骤301,可参照前述实施例中的解释说明,原理相同,本实施例中不再赘述。
步骤302,根据设定的等分数量,对时段集合的时间跨度进行等分,以得到等分数量的统计时段。
本公开实施例的一种实现方式中,根据时段集合中包含的时间段确定时间跨度,根据设定的等分数量,例如为4等分,对时段集合的时间跨度进行等分,以得到等分数量的统计时间,可通过以下公式表示:
BinLen=[|TD(D)|/binNum],其中,TD(D)为集合中所有时间段的时间跨度,binNum为设定的等分数量。
如图4所示,时段集合中包含的时间段tr1-tr5中,时间的最小值为1,最大值为15,则为了提高准确性,确定连续的时间跨度为0-16,其中,设定的等分数量为4,则等分后得到的等分数量的统计时段,分别为b1:[0,4),b2:[4,8),b3:[8,12)和b4:[12,16]。
本公开实施例的一种实现方式中,等分数量与时段集合的查询精度为正向关系。当等分数量越大时,意味着时段集合的查询精度越高,但是对应的空间占用越大,在某些场景中,例如分布式计算时,需要传输的数据越多。本公开实施例中,通过等分数量提供了一个空间占用和查询精度的权衡,以满足不同场景的查询需求,使得查询精度和空间占用得到有效的平衡。
步骤303,根据各统计时段,对时段集合进行统计,以得到索引结构。
本公开实施例中,根据各统计时段,对时段集合进行统计,以得到索引结构中包括的各统计时段对应的起点总计数值和终点总计数值。其中,起点总计数值,用于指示时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;终点总计数值,用于指示时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数。
图5为本公开实施例提供的索引结构的示意图,如图5所示,本公开实施例中,采用两个数组,分别表示各统计时段对应的起点总计数值和终点中计数值,数组中的各个统计时段采用离散不相交,且长度相同的容器来表示,例如,容器为桶,其中,[0,4)对应一个容器,[4,8)也对一个容器,此处不一一列举。图5中(c)图对应的即为索引结构,其中,数组中为各统计时间对应的起点总计数值,为各统计时间对应的终点总计数值。本公开实施例中,根据生成的索引结构,可以利用快速求得集合的各时间段中,开始时间大于查询时段的结束时间的时间段数目,以及利用快速求得集合的各时间段中,结束时间小于查询时段的开始时间的时间段数目,即实现快速确定集合中和查询时间段不相交的各个时间段数量,提高了查询效率。
步骤304,读取索引结构。
步骤305,根据查询请求中查询时段的起点所在的第一统计时段,查询索引结构,以得到第一统计时段对应的终点总计数值。
步骤306,根据查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到第二统计时段对应的起点总计数值。
步骤307,根据时段集合的时段总个数、第一统计时段对应的终点总计数值和第二统计时段对应的起点总计数值,确定时段集合中与查询时段相交的时段数量。
具体地,步骤304-步骤307,可参照前述方法实施例中的解释说明,原理相同,本实施例中不再赘述。
本公开实施例的时间段查询方法中,根据设定的等分数量,对时段集合的时间跨度进行等分,以得到等分数量的统计时段,根据各统计时段,对时段集合进行统计,以得到索引结构,索引结构是基于时段集合的时间跨度进行等分得到的,索引结构中包含各统计时间对应的起点总计数值,和各统计时间对应的终点总计数值,根据生成的索引结构,可以利用各统计时间对应的起点总计数值快速求得集合的各时间段中,开始时间大于查询时段的结束时间的时间段数目,以及利用各统计时间对应的终点总计数值快速求得集合的各时间段中,结束时间小于查询时段的开始时间的时间段数目,即实现快速确定集合中和查询时间段不相交的各个时间段数量,提高了查询效率。
为了实现上述实施例,本公开实施例提供了一种时间段查询方法,图6为本公开实施例提供的另一种时间段查询方法的流程示意图,具体说明了在生成索引结构时,如何生成各统计时段对应的起点总计数值。如图6所示,上述步骤303包含以下步骤:
步骤601,在时段集合中,统计起点在各统计时段的时段数。
本公开实施例中,结合图4和图5进行说明。其中,时段集合中包含5个时间段,以时间段tr1为例说明。对于时间段tr1=[5,14],我们计算其起点对应的统计时段为bmin=[(5-0)/4]=2,则将b2对应的统计时段中时段数加1。其中,集合中的其它时间段采样相同的方式计算,直到所有的时间段计算完毕,以统计出时段集合中起点在各统计时段的时段数。其中,图5中(b)图中数组Tmin中展示的即为起点在各统计时段的时段数,例如,统计时段b1,即[0,4],对应的起点的时段数为2;b4,即[12,16],对应的起点的时段数为2,此处不一一列举。
步骤602,根据起点在各统计时段的时段数,对任意的一统计时段将对应的时段数,以及晚于一统计时段的各统计时段所对应的时段数进行累加,以得到一统计时段对应的第一时段总数。
如图4和5所示,针对起点在各统计时段的时段数,以统计时段b1为例,将统计时段b1对应的时段数以及晚于统计时段b1的统计时段对应的时段数进行累加,即b2,b3和b4对应的时段数和b1进行累加,从而统计时段b1对应的第一时段总数=2+0+1+2=5;以统计时段b3为例,将统计时段b3对应的时段数,以及晚于统计时段b3的统计时段的时段数进行累加,即将b4和b3对应的时段数进行累加,统计时段b3对应的第一时段总数=2+0=2。此处不一一列举。
步骤603,将各统计时段对应的第一时段总数作为索引结构中各统计时段对应的起点总计数值。
本公开实施例的时间段查询方法中,在时段集合中,统计起点在各统计时段的时段数,根据起点在各统计时段的时段数,对任意的一统计时段将对应的时段数,以及晚于一统计时段的各统计时段所对应的时段数进行累加,以得到一统计时段对应的第一时段总数,将各统计时段对应的第一时段总数作为索引结构中各统计时段对应的起点总计数值,实现了根据各统计时段,快速确定了时段集合中各时段的起点所对应的统计时段,进而通过累加确定各统计时段对应的起点的累加值,即索引结构中各统计时段对应的起点总计数值,实现了索引的数据结构的建立,以用于后续进行时间段的快速查询。
为了实现上述实施例,本公开实施例提供了一种时间段查询方法,图7为本公开实施例提供的另一种时间段查询方法的流程示意图,具体说明了在生成索引结构时如何生成各统计时段对应的终点总计数值。如图7所示,上述步骤303包含以下步骤:
步骤701,在时段集合中,统计终点在各统计时段的时段数。
本公开实施例中,结合图4和图5进行说明。其中,集合中包含5个时间段,以时间段tr1为例说明。对于时间段tr1=[5,14],我们计算其终点对应的统计时段bmax=[(14-0)/4]=4,则将b4对应的统计时段中时段数加1。其中,集合中的其它时间段直到所有的时间段计算完毕。
其中,集合中的其它时间段采样相同的方式计算,直到所有的时间段计算完毕,以统计出时段集合中终点在各统计时段的时段数。其中,图5中(b)图中数组Tmax中展示的即为终点在各统计时段的时段数,例如,统计时段b1,即[0,4],对应的终点的时段数为0;b4,即[12,16],对应的终点的时段数为3,此处不一一列举。
步骤702,根据终点在各统计时段的时段数,对任意的一统计时段将对应的时段数,以及早于一统计时段的各统计时段所对应的时段数进行累加,以得到一统计时段对应的第二时段总数。
如图4和5所示,针对终点在各统计时段的时段数,以统计时段b4为例,将统计时段b4对应的时段数以及早于统计时段b4的统计时段对应的时段数进行累加,即b1,b2、b3和b4对应的时段数进行累加,从而统计时段b4对应的第二时段总数=0+1+1+3=5;以统计时段b3为例,将统计时段b3对应的时段数以及早于统计时段b3的统计时段对应的时段数进行累加,即b1,b2和b3对应的时段数进行累加,统计时段b3对应的第二时段总数=0+1+1=2。此处不一一列举。
步骤703,将各统计时段对应的第二时段总数作为索引结构中各统计时段对应的起点总计数值。
本公开实施例的时间段查询方法中,实现了根据各统计时段,快速确定了时段集合中各时段的终点所对应的统计时段,进而通过累加确定各统计时段对应的终点的累加值,即索引结构中各统计时段对应的终点总计数值,实现了索引的数据结构的建立,以用于后续进行时间段的快速查询。
为了实现上述实施例,本公开还提出一种时间段查询装置。
图8为本公开实施例提供的一种时间段查询装置的结构示意图。
如图8所示,该装置包括:
获取模块81,用于获取时段集合的查询请求。
读取模块82,用于读取索引结构;其中,所述索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,所述起点总计数值,用于指示所述时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;所述终点总计数值,用于指示所述时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数。
查询模块83,用于根据所述查询请求中查询时段的起点所在的第一统计时段,查询所述索引结构,以得到所述第一统计时段对应的终点总计数值。
查询模块83,还用于根据所述查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到所述第二统计时段对应的起点总计数值。
确定模块84,用于根据所述时段集合的时段总个数、所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,确定所述时段集合中与所述查询时段相交的时段数量。
进一步,在本公开实施例的一种实现方式中,该装置,还包括:
划分模块,用于根据设定的等分数量,对所述时段集合的时间跨度进行等分,以得到所述等分数量的统计时段。
统计模块,用于根据各所述统计时段,对所述时段集合进行统计,以得到所述索引结构。
在本公开实施例的一种实现方式中,统计模块,具体用于:
在所述时段集合中,统计起点在各所述统计时段的时段数;根据所述起点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及晚于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第一时段总数;将各所述统计时段对应的第一时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
在本公开实施例的一种实现方式中,统计模块,具体用于:
在所述时段集合中,统计终点在各所述统计时段的时段数;根据所述终点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及早于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第二时段总数;将各所述统计时段对应的第二时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
在本公开实施例的一种实现方式中,所述等分数量与所述时段集合的查询精度为正向关系。
在本公开实施例的一种实现方式中,确定模块84,具体用于:
从所述时段集合的时段总个数中,减去所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,以得到所述时段集合中与所述查询时段相交的时段数量。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,原理相同,此处不再赘述。
本公开实施例的时间段查询装置中,获取时段集合的查询请求,读取索引结构,其中,索引结构中包括各统计时段对应的起点总计数值,和终点总计数值,其中,起点总计数值,用于指示时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;终点总计数值,用于指示时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数,根据查询请求中查询时段的起点所在的第一统计时段,查询索引结构,以得到第一统计时段对应的起点总计数值,根据查询请求中查询时段的终点所在的第二统计时段,查询索引结构,以得到第二统计时段对应的终点总计数值,根据时段集合的时段总个数、第一统计时段对应的起点总计数值和第二统计时段对应的终点总计数值,确定时段集合中与查询时段相交的时段数量,通过构建轻量的索引结构,实现了快速获取时间段集合中时间段数量,提高时间段查询的效率。
为了实现上述实施例,本公开实施例提出了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例所述的方法。
为了实现上述实施例,本公开实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述方法实施例所述的方法。
为了实现上述实施例,本公开实施例提出了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现前述方法实施例所述的方法。
图9为本公开实施例提供的一种电子设备10的结构框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备10包括处理器11,其可以根据存储在只读存储器(ROM,ReadOnly Memory)12中的程序或者从存储器16加载到随机访问存储器(RAM,Random AccessMemory)13中的程序而执行各种适当的动作和处理。在RAM 13中,还存储有电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O,Input/Output)接口15也连接至总线14。
以下部件连接至I/O接口15:包括硬盘等的存储器16;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分17,通信部分17经由诸如因特网的网络执行通信处理;驱动器18也根据需要连接至I/O接口15。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分17从网络上被下载和安装。在该计算机程序被处理器11执行时,执行本公开的方法中限定的上述功能。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器16,上述指令可由电子设备10的处理器11执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (15)
1.一种时间段查询方法,其特征在于,包括以下步骤:
获取时段集合的查询请求;
读取索引结构;其中,所述索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,所述起点总计数值,用于指示所述时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;所述终点总计数值,用于指示所述时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数;
根据所述查询请求中查询时段的起点所在的第一统计时段,查询所述索引结构,以得到所述第一统计时段对应的终点总计数值;
根据所述查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到所述第二统计时段对应的起点总计数值;
根据所述时段集合的时段总个数、所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,确定所述时段集合中与所述查询时段相交的时段数量。
2.根据权利要求1所述的方法,其特征在于,所述读取索引结构之前,还包括:
根据设定的等分数量,对所述时段集合的时间跨度进行等分,以得到所述等分数量的统计时段;
根据各所述统计时段,对所述时段集合进行统计,以得到所述索引结构。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述统计时段,对所述时段集合进行统计,以得到所述索引结构,包括:
在所述时段集合中,统计起点在各所述统计时段的时段数;
根据所述起点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及晚于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第一时段总数;
将各所述统计时段对应的第一时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
4.根据权利要求2所述的方法,其特征在于,所述根据各所述统计时段,对所述时段集合进行统计,以得到所述索引结构,包括:
在所述时段集合中,统计终点在各所述统计时段的时段数;
根据所述终点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及早于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第二时段总数;
将各所述统计时段对应的第二时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
5.根据权利要求2所述的方法,其特征在于,所述等分数量与所述时段集合的查询精度为正向关系。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述时段集合的时段总个数、所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,确定所述时段集合中与所述查询时段相交的时段数量,包括:
从所述时段集合的时段总个数中,减去所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,以得到所述时段集合中与所述查询时段相交的时段数量。
7.一种时间段查询装置,其特征在于,包括:
获取模块,用于获取时段集合的查询请求;
读取模块,用于读取索引结构;其中,所述索引结构中包括各统计时段对应的起点总计数值,和终点总计数值;其中,所述起点总计数值,用于指示所述时段集合中起点在对应统计时段和晚于对应统计时段的第一时段总数;所述终点总计数值,用于指示所述时段集合中终点在对应统计时段和早于对应统计时段的第二时段总数;
查询模块,用于根据所述查询请求中查询时段的起点所在的第一统计时段,查询所述索引结构,以得到所述第一统计时段对应的终点总计数值;
所述查询模块,还用于根据所述查询请求中查询时段的终点所在的第二统计时段,查询所述索引结构,以得到所述第二统计时段对应的起点总计数值;
确定模块,用于根据所述时段集合的时段总个数、所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,确定所述时段集合中与所述查询时段相交的时段数量。
8.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
划分模块,用于根据设定的等分数量,对所述时段集合的时间跨度进行等分,以得到所述等分数量的统计时段;
统计模块,用于根据各所述统计时段,对所述时段集合进行统计,以得到所述索引结构。
9.根据权利要求8所述的装置,其特征在于,所述统计模块,具体用于:
在所述时段集合中,统计起点在各所述统计时段的时段数;
根据所述起点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及晚于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第一时段总数;
将各所述统计时段对应的第一时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
10.根据权利要求8所述的装置,其特征在于,所述统计模块,具体用于:
在所述时段集合中,统计终点在各所述统计时段的时段数;
根据所述终点在各所述统计时段的时段数,对任意的一统计时段将对应的时段数,以及早于所述一统计时段的各统计时段所对应的时段数进行累加,以得到所述一统计时段对应的第二时段总数;
将各所述统计时段对应的第二时段总数作为所述索引结构中各所述统计时段对应的起点总计数值。
11.根据权利要求8所述的装置,其特征在于,所述等分数量与所述时段集合的查询精度为正向关系。
12.根据权利要求7-10任一项所述的装置,其特征在于,所述确定模块,具体用于:
从所述时段集合的时段总个数中,减去所述第一统计时段对应的终点总计数值和所述第二统计时段对应的起点总计数值,以得到所述时段集合中与所述查询时段相交的时段数量。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令在被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146169.4A CN113779077B (zh) | 2021-09-28 | 2021-09-28 | 时间段查询方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146169.4A CN113779077B (zh) | 2021-09-28 | 2021-09-28 | 时间段查询方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779077A true CN113779077A (zh) | 2021-12-10 |
CN113779077B CN113779077B (zh) | 2024-06-18 |
Family
ID=78854197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146169.4A Active CN113779077B (zh) | 2021-09-28 | 2021-09-28 | 时间段查询方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779077B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013051101A1 (ja) * | 2011-10-04 | 2013-04-11 | 株式会社日立製作所 | 時系列データ管理システム,および方法 |
CN107391502A (zh) * | 2016-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
US20190236183A1 (en) * | 2018-01-26 | 2019-08-01 | Vmware, Inc. | Splitting a time-range query into multiple sub-queries for parallel execution |
CN110704507A (zh) * | 2019-09-27 | 2020-01-17 | 京东城市(北京)数字科技有限公司 | 用于存储数据的方法、装置和用于查询数据的方法、装置 |
CN111694839A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于大数据的时间序列指数构建方法、装置及计算机设备 |
US20200301899A1 (en) * | 2017-12-08 | 2020-09-24 | Alibaba Group Holding Limited | Data Storage and Query Method and Device |
CN113326257A (zh) * | 2020-04-30 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 索引构建方法、推荐方法、装置、电子设备和计算机存储介质 |
-
2021
- 2021-09-28 CN CN202111146169.4A patent/CN113779077B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013051101A1 (ja) * | 2011-10-04 | 2013-04-11 | 株式会社日立製作所 | 時系列データ管理システム,および方法 |
CN107391502A (zh) * | 2016-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
US20200301899A1 (en) * | 2017-12-08 | 2020-09-24 | Alibaba Group Holding Limited | Data Storage and Query Method and Device |
US20190236183A1 (en) * | 2018-01-26 | 2019-08-01 | Vmware, Inc. | Splitting a time-range query into multiple sub-queries for parallel execution |
CN110704507A (zh) * | 2019-09-27 | 2020-01-17 | 京东城市(北京)数字科技有限公司 | 用于存储数据的方法、装置和用于查询数据的方法、装置 |
CN111694839A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于大数据的时间序列指数构建方法、装置及计算机设备 |
CN113326257A (zh) * | 2020-04-30 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 索引构建方法、推荐方法、装置、电子设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113779077B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090183037A1 (en) | Statistical processing apparatus capable of reducing storage space for storing statistical occurrence frequency data and a processing method therefor | |
CN112286953A (zh) | 多维数据查询方法、装置和电子设备 | |
CN106708822B (zh) | 一种文件存储方法和装置 | |
CN101673461B (zh) | 一种路况信息的处理方法、装置和系统 | |
CN114861579A (zh) | 集成电路中时序瓶颈节点分析和时序优化方法及系统 | |
CN115616266A (zh) | 一种波形幅度值测量方法、装置、终端设备以及存储介质 | |
CN110727682A (zh) | 数据存储方法及装置 | |
CN113779077A (zh) | 时间段查询方法、装置、电子设备和存储介质 | |
CN111191778A (zh) | 深度学习网络处理方法、装置与编译器 | |
CN117708547A (zh) | 一种新型汽轮机组振动信号处理的方法及系统 | |
CN108463813B (zh) | 一种进行数据处理的方法和装置 | |
CN117787550A (zh) | 基于增量计算模型的指标处理方法、装置及电子设备 | |
CN112765155A (zh) | 基于区块链的键值存储方法、装置、终端设备及介质 | |
CN115422293A (zh) | 一种分布式数据库及其数据检索方法 | |
CN112785082B (zh) | 基于学习的路网最短路距离近似计算模型训练方法和装置 | |
CN114069660B (zh) | 计算储能系统谐波的方法及设备 | |
CN114048231A (zh) | 数据处理方法、装置及计算机程序产品 | |
CN112684398A (zh) | 基于动态线损的电能表运行误差监测方法及系统 | |
KR101543855B1 (ko) | 중복된 자료 개수의 근사치를 추정하는 방법 및 시스템 | |
JP2689872B2 (ja) | データ駆動型確率分布推定装置 | |
CN115864914B (zh) | 一种任意正交脉冲分频输出方法、系统、装置与存储介质 | |
CN118037321A (zh) | 一种数据资产的成本分摊方法、装置、设备及存储介质 | |
CN116226231B (zh) | 数据分割方法及相关装置 | |
CN112084227B (zh) | 数据查询装置、方法及其计算机存储介质 | |
CN115809820A (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 |