CN117573703B - 时序数据的通用检索方法、系统、设备及存储介质 - Google Patents
时序数据的通用检索方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117573703B CN117573703B CN202410057573.1A CN202410057573A CN117573703B CN 117573703 B CN117573703 B CN 117573703B CN 202410057573 A CN202410057573 A CN 202410057573A CN 117573703 B CN117573703 B CN 117573703B
- Authority
- CN
- China
- Prior art keywords
- time sequence
- universal
- universal index
- index
- sequence data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006835 compression Effects 0.000 claims abstract description 9
- 238000007906 compression Methods 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- 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/2474—Sequence data queries, e.g. querying versioned data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (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
本发明提供一种时序数据的通用检索方法、系统、设备及存储介质,该方法包括:根据每个时间点的时序数据表分别构建通用索引;将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中;从磁盘中读取通用索引,根据通用索引过滤并检索时序数据。本发明根据通用索引中位置信息快速精确的检索时序数据,通用索引构造简单,适用于所有时序数据表,同时避免读写磁盘IO的浪费,消耗的CPU和内存资源较少,进而提高时序数据的有效利用率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种时序数据的通用检索方法、系统、设备及存储介质。
背景技术
随着物联网和5G时代的到来,物联网、应用监测、工业互联网等时序场景的数据呈爆发式增长,因此需要实时处理大规模的时序数据。时序数据是一种按时间维度索引的数据,由于时序数据能够有效反映数据指标在时间维度的变化规律,因此时序数据被广泛应用于包括用户行为分析、用户标签计算和网络统计工程等大数据分析场景中。在这些大数据分析场景中,通常会生成很多数据表,在对数据表查询的过程中需要进行全量的数据查询和数据检索,数据查询是查询某一时间点或时间段统计表的所有数据,数据检索则是检索某一时间点或时间段统计表中满足一定条件的数据。
目前时序数据常用的检索方案通常为先遍历时间找到需要检索的时间,然后从磁盘读出对应时间的数据根据检索条件过滤得到需要的数据,该方案要从磁盘读取数据的规模太大时,会严重浪费IO资源,同时读取的数据中很多不是我们需要检索的数据,导致数据的有效利用率低。有的方案提出采用时间投影索引过滤掉无效的时间点,进而提升检索性能,但是该方案只能从时间级别过滤,不能准确定位到数据的位置,同样会导致IO资源的浪费和数据有效利用率低。还有的方案提出构建快速索引,通过读取索引获取数据的准确位置,但是该方案构建快速索引的代价太大,需要数据表大量的磁盘空间来存储索引,同时构造索引时会消耗大量的CPU和内存资源,并不适合所有数据表。因此,目前亟需一种可以有效提高检索效率、同时适用范围广的时序数据查询检索方案。
发明内容
鉴于现有技术的上述不足,本发明提供一种时序数据的通用检索方法、系统、设备及存储介质,有效解决现有技术中时序数据检索方法检索效率低、数据的有效利用率低和适用范围较小的问题。
第一方面,本发明提供一种时序数据的通用检索方法,所述方法包括如下步骤:
根据每个时间点的时序数据表分别构建通用索引;
将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;
从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索所述时序数据。
进一步的,所述根据每个时间点的时序数据表分别构建通用索引具体包括:
根据所述时序数据表配置的键值字段的长度申请缓存;
拷贝所述时序数据表的键值数据到所述缓存的起始地址;
对所述时序数据表每行的键值进行排序,并将排序后的顺序值记录在申请缓存的键值数据的后面;
将所述时序数据表每行产生的所述键值数据和所述顺序值组合构成所述通用索引。
进一步的,采用以下公式计算所述缓存的大小:
上式中,T为所述缓存的大小,n为所述键值字段的总数,H i为第i个键值字段的大小,Z为所述顺序值的字节大小。
进一步的,将所述通用索引进行分块压缩得到压缩后的通用索引具体包括:
将所述通用索引按照第一设定值进行分割获得相同大小的数据块;
将所述数据块进行压缩形成压缩数据块,将所述压缩数据块按照压缩前所述数据块的顺序重新组合得到压缩后的通用索引用于存储至磁盘中。
进一步的,所述第一设定值根据所述压缩数据块的大小设定,所述压缩数据块的大小根据所述磁盘的参数设置。
进一步的,从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据具体包括:
从磁盘中读取要检索时间范围内的通用索引,根据所述通用索引进行过滤;
若过滤到没有时序数据,则结束检索,返回结果显示没有时序数据;
若过滤到存在时序数据,则根据所述通用索引中的位置去读取所述时序数据,并返回读取到的所述时序数据作为检索结果。
进一步的,根据所述通用索引进行过滤具体包括:
若所述通用索引具有顺序值,构造一个具有通用索引行数大小的数组,扫描所述通用索引中的顺序值,根据所述顺序值寻找所述数组中所述顺序值对应的位置并填入通用索引行号,获得所述通用索引的有序数组,采用二分查找法在所述有序数组中查找过滤值;
若所述通用索引没有顺序值,则遍历所述通用索引并匹配过滤值,直至遍历完全部所述通用索引。
第二方面,本发明提供一种时序数据的通用检索系统,所述系统包括:
索引构建模块,用于根据同一时间的时序数据表构建通用索引;
数据存储模块,用于将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;
数据检索模块,用于从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索所述时序数据。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序实现如本发明第一方面所述时序数据的通用检索方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述时序数据的通用检索方法的步骤。
本发明提供的时序数据的通用检索方法、系统、设备及存储介质,在时序数据存储之前构造通用索引先进行存储,该通用索引按时间点进行聚合并包含键值数据和记录行位置信息,可以精确定位到磁盘上对应的时序数据表记录的位置,同时可以提前过滤掉这个时间点不存在的键值信息。通用索引构造简单,适用于所有时序数据表,将通用索引分块压缩后写入磁盘并存储,根据通用索引中位置信息快速精确的检索时序数据,避免读写磁盘IO的浪费,消耗的CPU和内存资源较少,进而提高时序数据的有效利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种时序数据的通用检索方法流程图;
图2是本发明实施例中通用索引的内存数据组织示意图;
图3是本发明实施例提供的一种时序数据的通用检索系统结构图;
图4是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在模板的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
目前时序数据常用的检索方案通常为先遍历时间找到需要检索的时间,然后从磁盘读出对应时间的数据根据检索条件过滤得到需要的数据,该方案要从磁盘读取数据的规模太大时,会严重浪费IO资源,同时读取的数据中很多不是我们需要检索的数据,导致数据的有效利用率低。有的方案提出采用时间投影索引过滤掉无效的时间点,进而提升检索性能,但是该方案只能从时间级别过滤,不能准确定位到数据的位置,同样会导致IO资源的浪费和数据有效利用率低。还有的方案提出构建快速索引,通过读取索引获取数据的准确位置,但是该方案构建快速索引的代价太大,需要数据表大量的磁盘空间来存储索引,同时构造索引时会消耗大量的CPU和内存资源,并不适合所有数据表。
鉴于现有技术的上述不足,本发明提供一种时序数据的通用检索方法、系统、设备及存储介质,有效解决现有技术中时序数据检索方法检索效率低、数据的有效利用率低和适用范围较小的问题。
本发明实施例提供一种时序数据的通用检索方法,图1是本发明实施例提供的一种时序数据的通用检索方法流程图,如图1所示,该方法包括如下步骤:
步骤S100、根据每个时间点的时序数据表分别构建通用索引,具体包括:
对每个时间点的时序数据表的通用索引进行单独构建,具体构建步骤如下所示:
先根据时序数据表配置的键值字段的长度申请缓存,该缓存的大小计算公式如下:
上式中,T为缓存的大小,n为键值字段的总数,H i为第i个键值字段的大小,Z为顺序值的字节大小,在本发明实施例中Z为4个字节。
然后拷贝时序数据表的键值数据到上述缓存的起始地址,对时序数据表每行的键值进行排序,并将排序后的顺序值记录在申请缓存的键值数据的后面,缓存的大小计算公式中的Z代表的4个字节就是用来存该行在排序后的顺序值。
时序数据表的每行都会产生一个键值数据和4个字节的顺序值,所有行的这些数据组合在一起形成该时间点的时序数据表的通用索引,图2是本发明实施例中通用索引的内存数据组织示意图。
步骤S200、将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中,具体包括:
将通用索引按照第一设定值进行分割获得相同大小的数据块,由于将每个分割后的数据块进行压缩后可以节省磁盘的使用空间,便于同样的磁盘空间使用更长时间,因此将数据块进行压缩形成压缩数据块再写入磁盘中。其中第一设定值根据压缩数据块的大小设定,该压缩数据块的大小则根据磁盘的参数设置,1-2M在适配的硬件中写磁盘的效率最高,为了保证压缩数据块的大小为1-2M,本发明实施例中的第一设定值设定为4M,即将全部通用索引按照4M大小进行分割形成相同大小的数据块,大部分数据块在压缩后的大小为1-2M。
将压缩数据块按照数据块压缩前的顺序重新组合形成得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中,这样可以利用磁盘顺序读写性能最高的原理,使得读写数据方案达到最优状态。因为在读取时序数据时,必须先读取通用索引再读取时序数据,在读取完通用索引后,磁盘不用偏转磁头,继续读取磁盘上顺序的时序数据;同时在写当前时间点该时序数据表的时序数据时,先写通用索引,再写时序数据表的时序数据。
步骤S300、从磁盘中读取通用索引,根据通用索引过滤并检索时序数据,具体包括:
从磁盘中读取要检索时间范围内的通用索引,根据通用索引进行过滤,若通用索引具有顺序值,构造一个具有通用索引行数大小的数组,扫描通用索引中的顺序值,根据所述顺序值寻找所述数组中顺序值对应的位置并填入通用索引行号,例如顺序值为5,则找到数组的第5个元素,填入该通用索引的行号,依次获得通用索引的有序数组,在有序数组中采用二分查找的方法去查找过滤值。若通用索引没有顺序值,则遍历通用索引,边遍历边匹配过滤值,直到遍历完全部通用索引。
若过滤到没有时序数据,则结束检索,返回结果显示没有时序数据。
若过滤到存在时序数据,则根据通用索引中的位置去读取时序数据,读取的时序数据就是满足过滤条件的时序数据,返回读取到的时序数据作为检索结果。
本发明实施例还提供一种时序数据的通用检索系统,图3是本发明实施例提供的一种时序数据的通用检索系统结构图,如图3所示,该系统包括:
索引构建模块310,用于根据同一时间的时序数据表构建通用索引;
数据存储模块320,用于将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中;
数据检索模块330,用于从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据。
基于相同的构思,本发明实施例还提供了一种电子设备结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如上述各实施例所述时序数据的通用检索方法的步骤。例如包括:
步骤S100、根据每个时间点的时序数据表分别构建通用索引;
步骤S200、将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中;
步骤S300、从磁盘中读取通用索引,根据通用索引过滤并检索时序数据。
其中,处理器410可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
存储器430可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于相同的构思,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由主控设备执行,以控制主控设备用以实现如上述各实施例所述时序数据的通用检索方法的步骤。例如包括:
步骤S100、根据每个时间点的时序数据表分别构建通用索引;
步骤S200、将通用索引进行分块压缩得到压缩后的通用索引,先将压缩后的通用索引存储至磁盘中,再将时序数据表中的时序数据存储至磁盘中;
步骤S300、从磁盘中读取通用索引,根据通用索引过滤并检索时序数据。
基于相同的技术构思,本发明实施例还提供一种计算机程序,当该计算机程序被主控设备执行时,用以实现上述方法实施例。
所述程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
基于相同的技术构思,本发明实施例还提供一种处理器,该处理器用以实现上述方法实施例。上述处理器可以为芯片。
综上所述,本发明提供的时序数据的通用检索方法、系统、设备及存储介质,在时序数据存储之前构造通用索引先进行存储,该通用索引按时间点进行聚合并包含键值数据和记录行位置信息,可以精确定位到磁盘上对应的时序数据表记录的位置,同时可以提前过滤掉这个时间点不存在的键值信息。通用索引构造简单,适用于所有时序数据表,将通用索引分块压缩后写入磁盘并存储,根据通用索引中位置信息快速精确的检索时序数据,避免读写磁盘IO的浪费,消耗的CPU和内存资源较少,进而提高时序数据的有效利用率。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种时序数据的通用检索方法,其特征在于,所述方法包括如下步骤:
根据每个时间点的时序数据表分别构建通用索引;
将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;
从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索所述时序数据;其中:
所述根据每个时间点的时序数据表分别构建通用索引,包括:
根据所述时序数据表配置的键值字段的长度申请缓存;
拷贝所述时序数据表的键值数据到所述缓存的起始地址;
对所述时序数据表每行的键值进行排序,并将排序后的顺序值记录在申请缓存的键值数据的后面;
将所述时序数据表每行产生的所述键值数据和所述顺序值组合构成所述通用索引;
所述从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据,包括:
从磁盘中读取要检索时间范围内的通用索引,若所述通用索引具有顺序值,构造一个具有通用索引行数大小的数组,扫描所述通用索引中的所述顺序值,根据所述顺序值寻找所述数组中所述顺序值对应的位置并填入通用索引行号,获得所述通用索引的有序数组,采用二分查找法在所述有序数组中查找过滤值;
若所述通用索引没有顺序值,则遍历所述通用索引并匹配过滤值,直至遍历完全部所述通用索引;
若过滤到没有时序数据,则结束检索,返回结果显示没有时序数据;
若过滤到存在时序数据,则根据所述通用索引中的位置去读取所述时序数据,并返回读取到的所述时序数据作为检索结果。
2.根据权利要求1所述的时序数据的通用检索方法,其特征在于,采用以下公式计算所述缓存的大小:
上式中,T为所述缓存的大小,n为所述键值字段的总数,H i为第i个键值字段的大小,Z为所述顺序值的字节大小。
3.根据权利要求1所述的时序数据的通用检索方法,其特征在于,将所述通用索引进行分块压缩得到压缩后的通用索引具体包括:
将所述通用索引按照第一设定值进行分割获得相同大小的数据块;
将所述数据块进行压缩形成压缩数据块,将所述压缩数据块按照压缩前所述数据块的顺序重新组合得到压缩后的通用索引用于存储至磁盘中。
4.根据权利要求3所述的时序数据的通用检索方法,其特征在于,所述第一设定值根据所述压缩数据块的大小设定,所述压缩数据块的大小根据所述磁盘的参数设置。
5.一种时序数据的通用检索系统,其特征在于,所述系统包括:
索引构建模块,用于根据每个时间点的时序数据表分别构建通用索引;
数据存储模块,用于将所述通用索引进行分块压缩得到压缩后的通用索引,先将所述压缩后的通用索引存储至磁盘中,再将所述时序数据表中的时序数据存储至所述磁盘中;
数据检索模块,用于从所述磁盘中读取所述通用索引,根据所述通用索引过滤数据并检索所述时序数据;其中:
所述根据每个时间点的时序数据表分别构建通用索引,包括:
根据所述时序数据表配置的键值字段的长度申请缓存;
拷贝所述时序数据表的键值数据到所述缓存的起始地址;
对所述时序数据表每行的键值进行排序,并将排序后的顺序值记录在申请缓存的键值数据的后面;
将所述时序数据表每行产生的所述键值数据和所述顺序值组合构成所述通用索引;
所述从所述磁盘中读取所述通用索引,根据所述通用索引过滤并检索时序数据,包括:
从磁盘中读取要检索时间范围内的通用索引,若所述通用索引具有顺序值,构造一个具有通用索引行数大小的数组,扫描所述通用索引中的所述顺序值,根据所述顺序值寻找所述数组中所述顺序值对应的位置并填入通用索引行号,获得所述通用索引的有序数组,采用二分查找法在所述有序数组中查找过滤值;
若所述通用索引没有顺序值,则遍历所述通用索引并匹配过滤值,直至遍历完全部所述通用索引;
若过滤到没有时序数据,则结束检索,返回结果显示没有时序数据;
若过滤到存在时序数据,则根据所述通用索引中的位置去读取所述时序数据,并返回读取到的所述时序数据作为检索结果。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现如权利要求1至4任一项所述时序数据的通用检索方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述时序数据的通用检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057573.1A CN117573703B (zh) | 2024-01-16 | 2024-01-16 | 时序数据的通用检索方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057573.1A CN117573703B (zh) | 2024-01-16 | 2024-01-16 | 时序数据的通用检索方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573703A CN117573703A (zh) | 2024-02-20 |
CN117573703B true CN117573703B (zh) | 2024-04-09 |
Family
ID=89864720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410057573.1A Active CN117573703B (zh) | 2024-01-16 | 2024-01-16 | 时序数据的通用检索方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573703B (zh) |
Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613110A (en) * | 1995-01-05 | 1997-03-18 | International Business Machines Corporation | Indexing method and apparatus facilitating a binary search of digital data |
US5918225A (en) * | 1993-04-16 | 1999-06-29 | Sybase, Inc. | SQL-based database system with improved indexing methodology |
CN102446184A (zh) * | 2010-10-12 | 2012-05-09 | 上海可鲁系统软件有限公司 | 一种基于时间序列的工业数据存储及索引方法 |
CN103092844A (zh) * | 2011-10-28 | 2013-05-08 | 腾讯科技(深圳)有限公司 | 一种索引建立方法和系统、搜索方法和系统 |
CN103488709A (zh) * | 2013-09-09 | 2014-01-01 | 东软集团股份有限公司 | 一种索引建立方法及系统、检索方法及系统 |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
CN106844664A (zh) * | 2017-01-20 | 2017-06-13 | 北京理工大学 | 一种基于摘要的时间序列数据索引构建方法 |
CN106991102A (zh) * | 2016-01-21 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 倒排索引中键值对的处理方法及处理系统 |
CN107871022A (zh) * | 2017-12-20 | 2018-04-03 | 清华大学 | 一种时序数据列式存储、查询方法及系统 |
CN109164980A (zh) * | 2018-08-03 | 2019-01-08 | 北京涛思数据科技有限公司 | 一种时序数据的聚合优化处理方法 |
CN109325032A (zh) * | 2018-09-18 | 2019-02-12 | 厦门市美亚柏科信息股份有限公司 | 一种索引数据存储及检索方法、装置及存储介质 |
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN110765138A (zh) * | 2019-10-31 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110888886A (zh) * | 2019-11-29 | 2020-03-17 | 华中科技大学 | 一种索引结构及构建方法、键值存储系统及请求处理方法 |
CN111125120A (zh) * | 2019-12-30 | 2020-05-08 | 广州数锐智能科技有限公司 | 一种面向流数据的快速索引方法、装置、设备及存储介质 |
CN111782659A (zh) * | 2020-07-10 | 2020-10-16 | 东北大学 | 数据库索引创建方法、装置、计算机设备和存储介质 |
CN112286867A (zh) * | 2020-10-27 | 2021-01-29 | 山东鼎滏软件科技有限公司 | 油气田时序数据存储方法、查询方法及其装置、存储介质 |
CN112650756A (zh) * | 2020-12-29 | 2021-04-13 | 成都科来网络技术有限公司 | 一种基于时序数据的时间投影的索引方法及系统 |
CN113268636A (zh) * | 2021-06-22 | 2021-08-17 | 成都科来网络技术有限公司 | 一种基于时序数据的快速检索方法及装置 |
CN113312313A (zh) * | 2021-01-29 | 2021-08-27 | 淘宝(中国)软件有限公司 | 数据查询方法、非易失性存储介质及电子设备 |
CN113360551A (zh) * | 2021-08-11 | 2021-09-07 | 南京赛宁信息技术有限公司 | 一种靶场中时序数据的存储与快速统计方法及系统 |
CN113656397A (zh) * | 2021-07-02 | 2021-11-16 | 阿里巴巴新加坡控股有限公司 | 一种针对时序数据的索引构建及查询的方法、装置 |
CN114398373A (zh) * | 2022-01-16 | 2022-04-26 | 瞰客信息科技(上海)有限公司 | 应用于数据库存储的文件数据存储读取方法及装置 |
CN114647658A (zh) * | 2022-03-30 | 2022-06-21 | 新华三信息技术有限公司 | 一种数据检索方法、装置、设备及机器可读存储介质 |
CN115510339A (zh) * | 2022-09-29 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种时空查询的方法、装置、设备及存储介质 |
CN116126864A (zh) * | 2023-01-18 | 2023-05-16 | 阿里云计算有限公司 | 索引构建方法、数据查询方法及相关设备 |
CN116501760A (zh) * | 2023-04-04 | 2023-07-28 | 杭州电子科技大学 | 一种内存与前缀树相结合的高效分布式元数据管理方法 |
CN117235069A (zh) * | 2023-09-12 | 2023-12-15 | 京东科技信息技术有限公司 | 索引创建方法、数据查询方法、装置、设备及存储介质 |
CN117312308A (zh) * | 2023-09-18 | 2023-12-29 | 上海沄熹科技有限公司 | 时序数据库中索引的创建方法、装置及时序数据库系统 |
-
2024
- 2024-01-16 CN CN202410057573.1A patent/CN117573703B/zh active Active
Patent Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5918225A (en) * | 1993-04-16 | 1999-06-29 | Sybase, Inc. | SQL-based database system with improved indexing methodology |
US5613110A (en) * | 1995-01-05 | 1997-03-18 | International Business Machines Corporation | Indexing method and apparatus facilitating a binary search of digital data |
CN102446184A (zh) * | 2010-10-12 | 2012-05-09 | 上海可鲁系统软件有限公司 | 一种基于时间序列的工业数据存储及索引方法 |
CN103092844A (zh) * | 2011-10-28 | 2013-05-08 | 腾讯科技(深圳)有限公司 | 一种索引建立方法和系统、搜索方法和系统 |
CN103488709A (zh) * | 2013-09-09 | 2014-01-01 | 东软集团股份有限公司 | 一种索引建立方法及系统、检索方法及系统 |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
CN106991102A (zh) * | 2016-01-21 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 倒排索引中键值对的处理方法及处理系统 |
CN106844664A (zh) * | 2017-01-20 | 2017-06-13 | 北京理工大学 | 一种基于摘要的时间序列数据索引构建方法 |
CN107871022A (zh) * | 2017-12-20 | 2018-04-03 | 清华大学 | 一种时序数据列式存储、查询方法及系统 |
CN109164980A (zh) * | 2018-08-03 | 2019-01-08 | 北京涛思数据科技有限公司 | 一种时序数据的聚合优化处理方法 |
CN109325032A (zh) * | 2018-09-18 | 2019-02-12 | 厦门市美亚柏科信息股份有限公司 | 一种索引数据存储及检索方法、装置及存储介质 |
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN110765138A (zh) * | 2019-10-31 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110888886A (zh) * | 2019-11-29 | 2020-03-17 | 华中科技大学 | 一种索引结构及构建方法、键值存储系统及请求处理方法 |
CN111125120A (zh) * | 2019-12-30 | 2020-05-08 | 广州数锐智能科技有限公司 | 一种面向流数据的快速索引方法、装置、设备及存储介质 |
CN111782659A (zh) * | 2020-07-10 | 2020-10-16 | 东北大学 | 数据库索引创建方法、装置、计算机设备和存储介质 |
CN112286867A (zh) * | 2020-10-27 | 2021-01-29 | 山东鼎滏软件科技有限公司 | 油气田时序数据存储方法、查询方法及其装置、存储介质 |
CN112650756A (zh) * | 2020-12-29 | 2021-04-13 | 成都科来网络技术有限公司 | 一种基于时序数据的时间投影的索引方法及系统 |
CN113312313A (zh) * | 2021-01-29 | 2021-08-27 | 淘宝(中国)软件有限公司 | 数据查询方法、非易失性存储介质及电子设备 |
CN113268636A (zh) * | 2021-06-22 | 2021-08-17 | 成都科来网络技术有限公司 | 一种基于时序数据的快速检索方法及装置 |
CN113656397A (zh) * | 2021-07-02 | 2021-11-16 | 阿里巴巴新加坡控股有限公司 | 一种针对时序数据的索引构建及查询的方法、装置 |
CN113360551A (zh) * | 2021-08-11 | 2021-09-07 | 南京赛宁信息技术有限公司 | 一种靶场中时序数据的存储与快速统计方法及系统 |
CN114398373A (zh) * | 2022-01-16 | 2022-04-26 | 瞰客信息科技(上海)有限公司 | 应用于数据库存储的文件数据存储读取方法及装置 |
CN114647658A (zh) * | 2022-03-30 | 2022-06-21 | 新华三信息技术有限公司 | 一种数据检索方法、装置、设备及机器可读存储介质 |
CN115510339A (zh) * | 2022-09-29 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种时空查询的方法、装置、设备及存储介质 |
CN116126864A (zh) * | 2023-01-18 | 2023-05-16 | 阿里云计算有限公司 | 索引构建方法、数据查询方法及相关设备 |
CN116501760A (zh) * | 2023-04-04 | 2023-07-28 | 杭州电子科技大学 | 一种内存与前缀树相结合的高效分布式元数据管理方法 |
CN117235069A (zh) * | 2023-09-12 | 2023-12-15 | 京东科技信息技术有限公司 | 索引创建方法、数据查询方法、装置、设备及存储介质 |
CN117312308A (zh) * | 2023-09-18 | 2023-12-29 | 上海沄熹科技有限公司 | 时序数据库中索引的创建方法、装置及时序数据库系统 |
Non-Patent Citations (2)
Title |
---|
Hyeontaek Lim.SILT: a memory-efficient, high-performance key-value store.《SOSP '11: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles》.2011,1-13. * |
姚婷.基于新型存储器件的键值存储系统性能优化研究.《中国优秀硕士学位论文全文数据库 信息科技》.2022,I137-9. * |
Also Published As
Publication number | Publication date |
---|---|
CN117573703A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149803B (zh) | 数据存储方法、系统及终端设备 | |
US20200409925A1 (en) | Data processing method and apparatus, storage medium and electronic device | |
KR102564170B1 (ko) | 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체 | |
US9507821B2 (en) | Mail indexing and searching using hierarchical caches | |
CN111309720B (zh) | 时序数据的存储、读取方法、装置、电子设备及存储介质 | |
US20100228914A1 (en) | Data caching system and method for implementing large capacity cache | |
CN113779286B (zh) | 管理图数据的方法及装置 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN116909939A (zh) | 基于lsm树的键值分离存储引擎垃圾回收方法、系统及设备 | |
CN117633105A (zh) | 基于时间分区索引的时序数据存储管理方法及系统 | |
CN117573703B (zh) | 时序数据的通用检索方法、系统、设备及存储介质 | |
CN106126555B (zh) | 一种文件管理方法及文件系统 | |
CN116610636A (zh) | 一种文件系统的数据处理方法、装置、电子设备及存储介质 | |
CN112181302A (zh) | 一种数据多级存储和访问方法及系统 | |
CN110413724A (zh) | 一种数据检索方法和装置 | |
CN115809248A (zh) | 数据查询方法和装置以及存储介质 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN109408462A (zh) | 一种基于教育系统的文件存储管理方法及电子设备 | |
CN115576947A (zh) | 一种数据管理方法、装置、组合库、电子设备及存储介质 | |
CN114461635A (zh) | 一种MySQL数据库数据存储方法、装置和电子设备 | |
CN115455040A (zh) | 提高数据库sql查询效率的方法、装置、设备、介质 | |
WO2020238750A1 (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN114579617A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111723266A (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 |