CN116089491B - 基于时序数据库的检索匹配方法和装置 - Google Patents
基于时序数据库的检索匹配方法和装置 Download PDFInfo
- Publication number
- CN116089491B CN116089491B CN202211616863.2A CN202211616863A CN116089491B CN 116089491 B CN116089491 B CN 116089491B CN 202211616863 A CN202211616863 A CN 202211616863A CN 116089491 B CN116089491 B CN 116089491B
- Authority
- CN
- China
- Prior art keywords
- sequence
- time
- matching
- subsequence
- candidate
- 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 60
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 238000012216 screening Methods 0.000 claims abstract description 22
- 238000013138 pruning Methods 0.000 claims description 17
- 238000010606 normalization Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009191 jumping Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011218 segmentation Effects 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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
-
- 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/2462—Approximate or statistical queries
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于时序数据库的检索匹配方法和装置,包括:获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。本发明根据时间序列元信息和时序数据变化趋势信息,从时序数据库筛选出候选序列集,再进行匹配计算,查询出数据库中最匹配用户所描述形状的子序列,支持了用户利用混合信息查出所需序列段,实现了时延更短的查询,从而使序列匹配的性能大幅提升。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种基于时序数据库的检索匹配方法和装置。
背景技术
随着工业互联网、移动互联网、物联网、车联网、智能电网等新概念的迅速发展,越来越多的行业都需要存储和分析实时产生的时序数据,因此也推动了各种时序数据库如雨后春笋般快速产生与发展。在时序数据分析中,用户通常需要进行时序列匹配检索,或是查询符合某种变化趋势的时序列,如查询最近两小时内A机房CPU占用率暴涨后又暴跌的物理机,查询最近几天内经历过三次大幅涨跌的股票等。
在时序数据库中检索匹配某种时序变化趋势的子序列,需要计算时序列之间的相似度,目前衡量时序数据的相似度主要方法是动态时间规整(Dynamic Time Wrapping,DTW)。DTW算法是用来度量时间序列相似性的一个主要算法,解决了欧式距离作为度量指标时难以处理形状相似性的问题。DTW算法核心是基于动态规划进行计算,时间复杂度是O(n×m2),n为符合要求的子序列个数,m为查询序列长度,导致在用户的查询时延过长。此外,DTW算法虽然能较好的计算两个序列之间的相似性,但是还是需要给定一个序列作为输入,该序列的值往往无法精确地给出。
综上,现有技术存在查询时延过长以及输入无法精确给出的问题。
发明内容
本发明提供一种基于时序数据库的检索匹配方法和装置,用以解决现有技术中查询时延过长以及输入无法精确给出的缺陷,支持用户利用混合信息查出所需序列段,实现时延更短的查询。
本发明提供一种基于时序数据库的检索匹配方法,包括:
获取时间序列元信息和时序数据变化趋势信息;
基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;
基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
根据本发明提供的一种基于时序数据库的检索匹配方法,基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集,具体包括:
利用所述时间序列元信息从所述时序数据库中查询目标时序数据,并得到查询结果;
构建包含所有查询结果的查询结果集;
在所述查询结果集为非空集的情况下,以所述查询结果集作为所述候选序列集。
根据本发明提供的一种基于时序数据库的检索匹配方法,所述时序数据变化趋势信息包括固定长度的序列Q以及序列Q中各相邻数据点之间的时间间隔,以用于筛选出所述候选序列集中与序列Q相似度最高的子序列,并以相似度最高的子序列作为所述最匹配子序列。
根据本发明提供的一种基于时序数据库的检索匹配方法,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列,具体包括:
对所述候选序列集中的各条序列进行数据归一化处理,以得到所述候选序列集中每条序列的形状序列;
将序列Q的形状序列和所述候选序列集中每条序列的形状序列间并行计算形状距离,以得到形状距离计算结果;
对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列。
根据本发明提供的一种基于时序数据库的检索匹配方法,利用预先创建的曲线匹配模块,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算;
其中,所述曲线匹配模块包括:
归一化模块,用户输入的固定长度的序列Q和候选序列集通过所述归一化模块进行归一化处理,以转换为形状序列;
并行计算模块,形状序列和给定形状序列集的每条序列通过所述并行计算模块并行计算形状距离;
结果汇总模块;形状距离的计算结果通过所述结果汇总模块进行汇总,并输出与用户输入的时间序列变化趋势最相似的子序列。
根据本发明提供的一种基于时序数据库的检索匹配方法,利用预设公式作为所述匹配计算的转换公式;
其中,所述预设公式为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+dis[i][j]
其中,dp[i][j]表示子序列i在长度为j处两序列之间的最小dtw距离;dis[i][j]表示子序列i在长度为j处两序列之间的最短距离;min()表示返回指定的数字中带有最小值的数字;i为子序列下标,j为查询序列长度。
根据本发明提供的一种基于时序数据库的检索匹配方法,对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列,具体包括:
计算Kim_FL下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
计算Keogh下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
在所述候选序列集中当前子序列在当前DTW的距离矩阵中的距离超过历史最短距离时,则放弃当前子序列。
本发明还提供一种基于时序数据库的检索匹配装置,包括:
获取模块,用于获取时间序列元信息和时序数据变化趋势信息;
筛选模块,用于基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;
匹配模块,用于基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于时序数据库的检索匹配方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于时序数据库的检索匹配方法。
本发明提供的基于时序数据库的检索匹配方法和装置,通过获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。本发明根据时间序列元信息和时序数据变化趋势信息,从时序数据库筛选出候选序列集,再进行匹配计算,查询出数据库中最匹配用户所描述形状的子序列,支持了用户利用混合信息查出所需序列段,实现了时延更短的查询,从而使序列匹配的性能大幅提升。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于时序数据库的检索匹配方法的流程示意图之一;
图2是本发明提供的基于时序数据库的检索匹配方法的流程示意图之二;
图3是本发明提供的基于时序数据库的检索匹配方法一个实施例的模式序列示意图;
图4是本发明提供的基于时序数据库的检索匹配方法的曲线匹配模块结构示意图;
图5是本发明提供的基于时序数据库的检索匹配方法的改进DTW算法流程图;
图6是本发明提供的基于时序数据库的检索匹配装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
附图标记:
610:获取模块;620:筛选模块;630:匹配模块;
710:处理器;720:通信接口;730:存储器;740:通信总线。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图5描述本发明的基于时序数据库的检索匹配方法。图1和图2是本发明提供的基于时序数据库的检索匹配方法的流程示意图,如图1所示,本发明实施例提供一种基于时序数据库的检索匹配方法,包括:
步骤110:获取时间序列元信息和时序数据变化趋势信息。其中,时间序列元信息和时序数据变化趋势信息可以是用户输入的信息,这个数据输入是基于用户意愿的,采用变化趋势的描述来代替一条明确的时序列作为查询匹配的输入。也就是说,数据输入是用户给定的时间序列元信息和用户定义的时序数据变化趋势。时序数据变化趋势由固定长度的序列Q以及该序列数据点之间的时间间隔来描述。
步骤120:基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集。
获取到用户给定的时间序列元信息和时序数据变化趋势信息之后,根据时间序列元信息查询时序数据库,得到候选时序列集合。时序数据库是预先创建的。
在实际操作过程中,根据用户给定的时间序列元信息,在时序数据库中查询对应的时序数据,如果查询结果集为空,则返回不存在最匹配子序列;若结果集不为空,以查询结果集作为候选序列集。
序列Q为描述时序数据变化趋势的固定长度的序列。时序数据变化趋势由固定长度的序列Q以及该序列数据点之间的时间间隔来描述,支持查询候选时序列集合中和Q最相似的子序列。
步骤130:基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
获得候选序列集后,根据时序数据变化趋势信息,对所述候选序列集进行匹配计算,从候选时序列集合中找到每条序列的最匹配子序列。
本发明根据用户描述曲线形状以及提供时间序列元信息,从海量时序数据中检索匹配最相似的序列段,开拓了时序数据库新的应用场景。
基于上述实施例,该方法中,基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集,具体包括:
利用所述时间序列元信息从所述时序数据库中查询目标时序数据,并得到查询结果;
构建包含所有查询结果的查询结果集;
在所述查询结果集为非空集的情况下,以所述查询结果集作为所述候选序列集。
具体地,根据获取到的时间序列元信息,在时序数据库中查询对应的时序数据,如果查询结果集为空,则返回不存在最匹配子序列;若结果集不为空,以查询结果集作为候选序列集。
基于上述实施例,该方法中,所述时序数据变化趋势信息包括固定长度的序列Q以及序列Q中各相邻数据点之间的时间间隔,以用于筛选出所述候选序列集中与序列Q相似度最高的子序列,并以相似度最高的子序列作为所述最匹配子序列。
具体地,时序数据变化趋势由固定长度的序列Q以及该序列数据点之间的时间间隔来描述,用来查询候选时序列集合中和Q最相似的子序列,并把和Q最相似的子序列作为所述最匹配子序列。
基于上述实施例,该方法中,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列,具体包括:
对所述候选序列集中的各条序列进行数据归一化处理,以得到所述候选序列集中每条序列的形状序列;
将序列Q的形状序列和所述候选序列集中每条序列的形状序列间并行计算形状距离,以得到形状距离计算结果;
对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列。
具体地,得到候选序列集之后,对候选序列集中的各条序列进行数据归一化处理,也就是说,对结果数据集和序列Q进行归一化处理,得到形状序列。
任意序列的归一化处理过程如下:
一个时间序列,一般有三种状态:上升、下降和不变,将这种状态对应表示为{1,-1,0}。假设有某个长度为S的序列,将其等分为K段。对于每一段计算一个斜率,斜率为正表示上升,为负表示下降,为0表示不变。那么就可以将这个序列表示为[1,1,0,-1,-1...]这样的序列,将相邻的相同模式进行合并,得到[1,0,-1...]的模式序列。
因为将相邻的相同模式进行了合并,所以得到的模式序列一定是1,-1,0间隔排列的,每一个模式可能跨越了不同的时间长度,在合并模式后,序列S1可能有N个模式,S2可能有M个模式,如图3所示。现在要将他们等模式数化,即取所有变化端点的并集重新计算两个序列的模式。这样就能使得两条序列使用共同的分割点,以获得最后长度相等的模式序列。
在模式序列的基础上,形状序列进一步提升了度量效果。具体来说就是根据变化趋势复杂化模式,根据斜率的变化趋势将原先的三个模式扩展到7种状态:{加速下降,水平下降,减速下降,不变,减速上升,水平上升,加速上升},用模式M={-3,-2,-1,0,1,2,3}来描述这一点。现在设定一个阈值th来帮助区分这7种状态,对于每一段模式的斜率ki具体如下表所示。
表1序列模式对照表
在原始序列统一化成形状序列之后,将序列Q的形状序列和数据集中的每一条序列的形状序列间并行计算DTW距离,即形状距离。
对计算得到的形状距离结果进行剪枝处理,以得到候选序列集中每条序列的最匹配子序列。
本发明在传统方法基础上,提出了用模式距离和形状距离来代替欧式距离,使得用户能够使用时序变化趋势来代替一条明确的时序列作为查询匹配的输入。
基于上述实施例,该方法中,利用预先创建的曲线匹配模块,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算;
其中,所述曲线匹配模块包括:
归一化模块,用户输入的固定长度的序列Q和候选序列集通过所述归一化模块进行归一化处理,以转换为形状序列;
并行计算模块,形状序列和给定形状序列集的每条序列通过所述并行计算模块并行计算形状距离;
结果汇总模块;形状距离的计算结果通过所述结果汇总模块进行汇总,并输出与用户输入的时间序列变化趋势最相似的子序列。
具体地,如图4,利用曲线匹配模块对候选序列集进行匹配计算。曲线匹配模块包括归一化模块(1-1)、并行计算模块(1-2)、结果汇总模块(1-3)。
归一化模块(1-1)的输入为用户定义的时序数据变化趋势中的固定长度的序列Q、根据时间序列元信息查询时序数据库得到的候选序列集,输出为形状序列。也就是说,用户输入的变化趋势序列Q和给定序列数据集合统一由归一化模块(1-1)进行上述的归一化处理,转换为形状序列。
并行计算模块(1-2)的输入为形状序列和给定形状序列集的每条序列,输出为形状距离。也就是说,形状序列和给定形状序列集的每条序列由并行计算模块(1-2)利用转换公式并行计算DTW距离。
结果汇总模块(1-3)汇总结果,返回和用户输入的时间序列变化趋势最相似的子序列。
基于上述实施例,该方法中,利用预设公式作为所述匹配计算的转换公式;
其中,所述预设公式为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+dis[i][j]
其中,dp[i][j]表示子序列i在长度为j处两序列之间的最小dtw距离;dis[i][j]表示子序列i在长度为j处两序列之间的最短距离;min()表示返回指定的数字中带有最小值的数字;i为子序列下标,j为查询序列长度。
具体地,如图5,由于原始的DTW算法时间复杂度过高,查询时延过长,本发明提供的方法对原有的DTW算法进行了优化,使得其执行速度会根据数据规模有十几倍到几十倍的提升。
图5是本发明提供的基于时序数据库的检索匹配方法的改进DTW算法流程图,如图5所示,改进DTW算法用来计算用户输入的形状序列Q和待匹配的形状序列S之间的最小dtw(Dynamic Time Warping,动态时间归整)距离,输入为形状序列Q和S,输出位二者间的最小dtw距离。
进一步地,申明一个变量dtw_distance来表示迭代过程中的dtw距离,并将其初始化为当前已计算过的形状子序列与输入形状序列Q之间的最小DTW值,根据形状序列Q、C计算Kim_FL下界,将结果记为lb,如果lb大于dtw_distance,则输出dtw_distance,算法结束(即剪枝1);反之,则根据形状序列Q、C计算Keogh下界,将结果记为lb如果lb大于dtw_distance,则输出dtw_distance,算法结束(即剪枝2);反之,则通过动态规划迭代计算形状序列Q、C之间的dtw距离,如果在迭代计算的过程中,lb+dis[i][j]大于dtw_distance,则令dtw_distance等于lb+dis[i][j],算法结束(即剪枝3);反之,当i大于等于Q的长度时,算法结束。
其中,dis[i][j]表示子序列i在长度为j处两序列之间的最短距离。
通过动态规划迭代计算形状序列Q、C之间的dtw距离,具体的步骤描述如下:
1.申明变量i=0;
2.如果i小于形状序列Q的长度,则继续步骤3,否则跳转到步骤9;
3.申明变量j=0;
4.如果变量j小于形状距离S的长度,则继续步骤5,否则跳转到步骤7;
5.dis[i][j]=min(dis[i-1][j-1],dis[i-1][j],dis[i][j-1])
+Math.pow(Q.get(i)-S.get(j),2);
其中,dis[i][j]表示子序列i在长度为j处两序列之间的最小dtw距离,Math.pow(Q.get(i)-S.get(j),2)为形状序列Q在i处取值和形状序列S在j处取值差的平方;
6.若lb+dis[i][j]大于dtw_distance,则令dtw_distance等于lb+dis[i][j],跳转到步骤10(即剪枝3),否则继续步骤7;
7.j++,跳转到步骤4;
8.i++,跳转到步骤2;
9.dtw_distance=dis[Q.size-1][S.size-1];
10.输出dtw_distance。
DTW的算法核心是基于动态规划进行计算的,对于任意给定两个序列A和B,长度分别是N和M,DTW算法会计算A序列的前i个点,以及B序列的前j个点所构成的子序列之间的距离,和欧式距离不同的是序列之间允许两个点并非一一对应,而是可以一对多。这样,易得转换公式即为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+dis[i][j]
计算完成的dp[N][M]即为所求的形状距离。算法的时间复杂度为O(n×m2),n为符合要求的子序列个数,m为查询序列长度。上述公式限制了范围dp转移时两个序列的误差范围,即上文的转换公式中限制i和j的距离不超过某个给定值,这样复杂度就从O(n×m2)变为了O(n×m×k),k为给定值,代表的现实意义是两个序列之间的匹配误差不能超过给定的距离。
基于上述实施例,该方法中,对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列,具体包括:
计算Kim_FL下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
计算Keogh下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
在所述候选序列集中当前子序列在当前DTW的距离矩阵中的距离超过历史最短距离时,则放弃当前子序列。
具体地,根据转换公式进行匹配计算得到形状距离之后,利用计算时间复杂度低的下界距离对候选子序列进行过滤。
1)Kim_FL下界,即计算两个序列起始值,结束值,最大值以及最小值的距离中的最大值,因此复杂度为O(n)。但是由于计算前对所有时序列统一进行了归一化,每个点的取值只可能为{-3,-2,-1,0,1,2,3}中的一个,因此时间复杂度可以优化至O(1)。
2)Keogh下界,对于查询序列Q建立了一个upper bound U(查找第一个大于U的位置)和lower bound L(查找第一个大于或等于L的位置)来封装查询序列.具体的U和L的计算方式根据问题的不同。通过如下公式来计算图中阴影部分面积。通过对查询序列Q进行O(m)的预处理获取U和L两个序列,并在每次输入序列C时做O(m)的预处理计算Keogh下界。
上述公式用于计算Keogh下界,其中,Q为用户输入的待查询的形状序列;C为当前进行距离计算的形状序列;i为子序列下标;qi为形状序列C在i处的取值;Ui为形状序列U在i处的取值;Li为形状序列L在i处的取值。
在计算序列的Kim_FL和Keogh下界时,如果其距离已经超过了之前记录的最短距离,那么就可以放弃这个子序列。
在计算DTW的时候,由于DTW是从左向右计算的,所以可以通过计算已有的DTW距离加上从当前位置向后Keogh下界的来再进行一次剪枝,即计算dtw[k][k]+keogh[k+1~n][k+1~n]作为一个更紧的下界进行计算并剪枝。
将所有DTW计算结果通过汇总模块进行汇总,得出最匹配时间序列变化趋势Q的子序列。
本发明通过限制动态规划过程中两个序列匹配误差的范围,以及多样化的剪枝,从候选序列集的序列中找到每条序列的最相似子序列,使得序列匹配的性能得到大幅提升。该方法可有效解决大飞机制造等我国重要制造业相关领域的工业物联网数据检索与管理中的具体问题,支撑基于大数据的更广泛应用,盘活数据资产。
基于上述实施例,本发明提供一种使用上述基于时序数据库的检索匹配方法完成一次检索匹配的举例说明,本发明通过以下S1到S5步骤所述的技术方案来进行实施:
S1:用户给定时间序列元信息、趋势描述序列Q、序列Q中各相邻数据点之间的时间间隔;
S2:根据时间序列元信息从预先创建的时序数据库中筛选出候选序列集,候选序列集包括候选序列1-候选序列n;
S3:对序列Q、候选序列1-候选序列n进行数据归一化处理,得到形状序列Q’,形状序列1’-形状序列n’;
S4:将形状序列Q’,形状序列1’-形状序列n’利用转换公式并行计算形状距离;
S5:对形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列。
在上述具体实施方式中,本发明提供一种基于时序数据库的检索匹配方法,通过获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。本发明根据时间序列元信息和时序数据变化趋势信息,从时序数据库筛选出候选序列集,再进行匹配计算,查询出数据库中最匹配用户所描述形状的子序列,支持了用户利用混合信息查出所需序列段,实现了时延更短的查询,从而使序列匹配的性能大幅提升。本发明基于用户提供的时间序列元信息,从时序数据库筛选出候选序列集,再根据用户定义的时序数据变化趋势描述,在传统动态时间规整算法(Dynamic Time Warping,DTW)算法的基础上通过用模式距离和形状距离来代替欧式距离,使得用户能够使用时序变化趋势来代替一条明确的时序列作为查询匹配的输入;此外通过限制动态规划过程中两个序列匹配误差的范围,以及多样化的剪枝,从候选序列集的序列中找到每条序列的最相似子序列,使得序列匹配的性能得到大幅提升,并支持了用户利用混合信息查出所需序列段,以支持多样化的工业应用。
下面对本发明提供的基于时序数据库的检索匹配装置进行描述,下文描述的基于时序数据库的检索匹配装置与上文描述的基于时序数据库的检索匹配可相互对应参照。
图6是本发明实施例提供基于时序数据库的检索匹配装置的结构示意图,如图6所示,本发明实施例提供一种基于时序数据库的检索匹配装置,包括:获取模块610;筛选模块620;匹配模块630;
其中:
获取模块610,用于获取时间序列元信息和时序数据变化趋势信息;
筛选模块620,用于基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;
匹配模块630,用于基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
基于上述实施例,该装置中,基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集,具体包括:
利用所述时间序列元信息从所述时序数据库中查询目标时序数据,并得到查询结果;
构建包含所有查询结果的查询结果集;
在所述查询结果集为非空集的情况下,以所述查询结果集作为所述候选序列集。
基于上述实施例,该装置中,所述时序数据变化趋势信息包括固定长度的序列Q以及序列Q中各相邻数据点之间的时间间隔,以用于筛选出所述候选序列集中与序列Q相似度最高的子序列,并以相似度最高的子序列作为所述最匹配子序列。
基于上述实施例,该装置中,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列,具体包括:
对所述候选序列集中的各条序列进行数据归一化处理,以得到所述候选序列集中每条序列的形状序列;
将序列Q的形状序列和所述候选序列集中每条序列的形状序列间并行计算形状距离,以得到形状距离计算结果;
对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列。
基于上述实施例,该装置中,利用预先创建的曲线匹配模块,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算;
其中,所述曲线匹配模块包括:
归一化模块,用户输入的固定长度的序列Q和候选序列集通过所述归一化模块进行归一化处理,以转换为形状序列;
并行计算模块,形状序列和给定形状序列集的每条序列通过所述并行计算模块并行计算形状距离;
结果汇总模块;形状距离的计算结果通过所述结果汇总模块进行汇总,并输出与用户输入的时间序列变化趋势最相似的子序列。
基于上述实施例,该装置中,利用预设公式作为所述匹配计算的转换公式;
其中,所述预设公式为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+dis[i][j]
其中,dp[i][j]表示子序列i在长度为j处两序列之间的最小dtw距离;dis[i][j]表示子序列i在长度为j处两序列之间的最短距离;min()表示返回指定的数字中带有最小值的数字;i为子序列下标,j为查询序列长度。
基于上述实施例,该装置中,对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列,具体包括:
计算Kim_FL下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
计算Keogh下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
在所述候选序列集中当前子序列在当前DTW的距离矩阵中的距离超过历史最短距离时,则放弃当前子序列。
在上述具体实施方式中,本发明提供一种基于时序数据库的检索匹配装置,通过获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。本发明根据时间序列元信息和时序数据变化趋势信息,从时序数据库筛选出候选序列集,再进行匹配计算,查询出数据库中最匹配用户所描述形状的子序列,支持了用户利用混合信息查出所需序列段,实现了时延更短的查询,从而使序列匹配的性能大幅提升。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于时序数据库的检索匹配方法,该方法包括:获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于时序数据库的检索匹配方法,该方法包括:获取时间序列元信息和时序数据变化趋势信息;基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于时序数据库的检索匹配方法,其特征在于,包括:
获取时间序列元信息和时序数据变化趋势信息;
基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;
基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列;
所述时序数据变化趋势信息包括固定长度的序列Q以及序列Q中各相邻数据点之间的时间间隔,以用于筛选出所述候选序列集中与序列Q相似度最高的子序列,并以相似度最高的子序列作为所述最匹配子序列。
2.根据权利要求1所述的基于时序数据库的检索匹配方法,其特征在于,基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集,具体包括:
利用所述时间序列元信息从所述时序数据库中查询目标时序数据,并得到查询结果;
构建包含所有查询结果的查询结果集;
在所述查询结果集为非空集的情况下,以所述查询结果集作为所述候选序列集。
3.根据权利要求1所述的基于时序数据库的检索匹配方法,其特征在于,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列,具体包括:
对所述候选序列集中的各条序列进行数据归一化处理,以得到所述候选序列集中每条序列的形状序列;
将序列Q的形状序列和所述候选序列集中每条序列的形状序列间并行计算形状距离,以得到形状距离计算结果;
对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列。
4.根据权利要求3所述的基于时序数据库的检索匹配方法,其特征在于,利用预先创建的曲线匹配模块,基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算;
其中,所述曲线匹配模块包括:
归一化模块,用户输入的固定长度的序列Q和候选序列集通过所述归一化模块进行归一化处理,以转换为形状序列;
并行计算模块,形状序列和给定形状序列集的每条序列通过所述并行计算模块并行计算形状距离;
结果汇总模块;形状距离的计算结果通过所述结果汇总模块进行汇总,并输出与用户输入的时间序列变化趋势最相似的子序列。
5.根据权利要求3所述的基于时序数据库的检索匹配方法,其特征在于,利用预设公式作为所述匹配计算的转换公式;
其中,所述预设公式为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+dis[i][j]其中,dp[i][j]表示子序列i在长度为j处两序列之间的最小dtw距离;dis[i][j]表示子序列i在长度为j处两序列之间的最短距离;min()表示返回指定的数字中带有最小值的数字;i为子序列下标,j为查询序列长度。
6.根据权利要求3所述的基于时序数据库的检索匹配方法,其特征在于,对所述形状距离计算结果进行剪枝处理,以得到所述候选序列集中每条序列的最匹配子序列,具体包括:
计算Kim_FL下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
计算Keogh下界时,在所述候选序列集中当前子序列的距离超过历史最短距离的情况下,放弃当前子序列;
在所述候选序列集中当前子序列在当前DTW的距离矩阵中的距离超过历史最短距离时,则放弃当前子序列。
7.一种基于时序数据库的检索匹配装置,其特征在于,包括:
获取模块,用于获取时间序列元信息和时序数据变化趋势信息;
筛选模块,用于基于所述时间序列元信息从预先创建的时序数据库中筛选出候选序列集;
匹配模块,用于基于所述时序数据变化趋势信息对所述候选序列集进行匹配计算,以便从所述候选序列集的序列中找到每条序列的最匹配子序列;
所述时序数据变化趋势信息包括固定长度的序列Q以及序列Q中各相邻数据点之间的时间间隔,以用于筛选出所述候选序列集中与序列Q相似度最高的子序列,并以相似度最高的子序列作为所述最匹配子序列。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于时序数据库的检索匹配方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于时序数据库的检索匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211616863.2A CN116089491B (zh) | 2022-12-15 | 2022-12-15 | 基于时序数据库的检索匹配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211616863.2A CN116089491B (zh) | 2022-12-15 | 2022-12-15 | 基于时序数据库的检索匹配方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089491A CN116089491A (zh) | 2023-05-09 |
CN116089491B true CN116089491B (zh) | 2024-01-30 |
Family
ID=86211215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211616863.2A Active CN116089491B (zh) | 2022-12-15 | 2022-12-15 | 基于时序数据库的检索匹配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089491B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305940A (ja) * | 1999-04-21 | 2000-11-02 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ検索方法及び装置及び時系列データ検索プログラムを格納した記憶媒体 |
JP2004348594A (ja) * | 2003-05-23 | 2004-12-09 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ検索方法、時系列データ検索装置、時系列データ検索プログラム、およびプログラム記録媒体 |
WO2021052156A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 数据分析方法、装置、设备及计算机可读存储介质 |
CN113360725A (zh) * | 2021-06-04 | 2021-09-07 | 重庆邮电大学 | 基于边缘协同分类的电力时序数据检索方法 |
CN114218292A (zh) * | 2021-11-08 | 2022-03-22 | 中国人民解放军国防科技大学 | 一种多元时间序列相似性检索方法 |
CN114357037A (zh) * | 2022-03-22 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种时序数据分析方法、装置及电子设备和存储介质 |
-
2022
- 2022-12-15 CN CN202211616863.2A patent/CN116089491B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305940A (ja) * | 1999-04-21 | 2000-11-02 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ検索方法及び装置及び時系列データ検索プログラムを格納した記憶媒体 |
JP2004348594A (ja) * | 2003-05-23 | 2004-12-09 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ検索方法、時系列データ検索装置、時系列データ検索プログラム、およびプログラム記録媒体 |
WO2021052156A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 数据分析方法、装置、设备及计算机可读存储介质 |
CN113360725A (zh) * | 2021-06-04 | 2021-09-07 | 重庆邮电大学 | 基于边缘协同分类的电力时序数据检索方法 |
CN114218292A (zh) * | 2021-11-08 | 2022-03-22 | 中国人民解放军国防科技大学 | 一种多元时间序列相似性检索方法 |
CN114357037A (zh) * | 2022-03-22 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种时序数据分析方法、装置及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
褚蓉 ; 钮焱 ; .基于形状特征的DTW距离相似性搜索算法.软件导刊.2018,(第03期),82-84+87. * |
Also Published As
Publication number | Publication date |
---|---|
CN116089491A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7343568B2 (ja) | 機械学習のためのハイパーパラメータの識別および適用 | |
Norouzi et al. | Fast exact search in hamming space with multi-index hashing | |
CN106096066B (zh) | 基于随机近邻嵌入的文本聚类方法 | |
CN102254015B (zh) | 基于视觉词组的图像检索方法 | |
US8972415B2 (en) | Similarity search initialization | |
EP2457151A1 (en) | Ranking search results based on word weight | |
CN106033426A (zh) | 一种基于潜在语义最小哈希的图像检索方法 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
Mueen et al. | AWarp: Fast warping distance for sparse time series | |
CN102184205A (zh) | 基于可扩展精度混沌哈希的多模式串匹配算法 | |
Yuen et al. | Superseding nearest neighbor search on uncertain spatial databases | |
CN111723360B (zh) | 凭证码处理方法、装置及存储介质 | |
WO2017053779A1 (en) | Data storage and retrieval system using online supervised hashing | |
US11763136B2 (en) | Neural hashing for similarity search | |
CN116089491B (zh) | 基于时序数据库的检索匹配方法和装置 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN114880360A (zh) | 一种基于贝叶斯优化的数据检索方法及装置 | |
Li et al. | Linear time motif discovery in time series | |
CN113495901B (zh) | 一种面向可变长数据块的快速检索方法 | |
CN112416754B (zh) | 一种模型评测方法、终端、***及存储介质 | |
Chen et al. | CGAP-align: a high performance DNA short read alignment tool | |
WO2016110125A1 (zh) | 高维向量的哈希方法、向量量化方法及装置 | |
CN116760723B (zh) | 基于预测树模型的数据预测方法、装置、设备及介质 | |
CN116665772B (zh) | 一种基于内存计算的基因组图分析方法、装置和介质 | |
CN113590260A (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 |