1.本发明属于数据检索领域,涉及一种时序数据库中快速相似检索技术,具体是一种时序数据库中快速相似搜索方法。
背景技术:
2.时序数据在当前生产活动中有着极其广泛的应用,如天气预报、股票走势和系统行为的预测和控制,因此快速获取相似的时序数据变成了时序数据处理中非常关键的步骤。
3.现有技术(公开号为cn113268636a的发明专利)在数据存储时,构造快速索引和全文索引,在数据检索时再根据构造的索引完成数据提取。现有技术能够提高相似时序数据的检索效率,但是在数据检索之前需要耗费较大精力,在检索相似时序数据时的作用不大。因此,亟需一种时序数据库中快速相似搜索方法。
技术实现要素:
4.本发明旨在至少解决现有技术中存在的技术问题之一;为此,本发明提出了一种时序数据库中快速相似搜索方法,用于解决现有技术在快速检索时序数据时,工作量大,且检索相似时序数据时效率低下的技术问题,本发明获取原始数据的波形数据,根据波形数据从时序数据库中获取与其波形相似的时序数据,在保证搜索效率的同时还能提高搜索精度,以解决上述问题。
5.为实现上述目的,本发明的第一方面提供了一种时序数据库中快速相似搜索方法,包括时序数据库;
6.获取时序数据,并标记为原始数据;获取原始数据的波形数据;其中,波形数据通过多项式拟合法或者sdl语言获取;
7.根据波形数据从时序数据库中获取相似波形对应的时序数据,并标记为相似数据。
8.优选的,在将获取的所述时序数据标记为原始数据之前,对所述时序数据进行核验;其中,所述核验包括完整性核验和内容核验。
9.优选的,根据所述多项式拟合法获取时序数据的波形数据,包括:
10.通过多项式拟合法对时序数据进行拟合,获取对应的时序函数;其中,时序函数对应的决定系数不低于0.9;
11.根据时序函数获取时序数据对应的波形数据;其中,波形数据包括若干个时刻,以及对应的一阶导数值。
12.优选的,根据所述时序函数获取波形数据,包括:
13.随机选择若干个时刻,将若干个时刻按照先后顺序进行排序获取时刻序列;
14.获取时序函数的一阶导数,根据一阶导数分别获取时刻序列中的时刻对应的一阶导数值,生成导数值序列;
15.将时刻序列,以及对应的导数值序列整合生成波形数据。
16.优选的,根据所述波形数据搜索相似的时序数据,包括:
17.提取波形数据中的时刻序列;
18.从时序数据库中遍历选取时序数据,并标记为待验证数据;
19.根据时刻序列获取待验证数据对应的导数值序列;
20.对原始数据和待验证数据的导数值序列进行比对,根据比对结果将待验证数据标记为相似数据或者非相似数据。
21.优选的,对所述导数值序列进行比对,包括:
22.从原始数据和待验证数据的导数值序列中获取同一时刻对应的导数值,并分别标记为第一导数值和第二导数值;
23.当第一导数值和第二导数值同号,且二者差值的绝对值小于差值阈值时,则比对通过;其中,差值阈值根据经验设定;
24.当导数值序列中所有的导数值均比对通过时,则将待验证数据标记为相似数据;否则,将待验证数据标记为非相似数据。
25.优选的,获取所述原始数据的波形数据和频域数据,通过波形数据和频域数据同时对比获取相似的时序数据;其中,频域数据通过离散傅立叶变换或者小波变换获取。
26.优选的,通过所述波形数据和所述频域数据获取原始数据对应的相似数据,包括:
27.根据原始数据的波形数据从时序数据库中获取相似波形对应的时序数据,并标记为中间数据;
28.比较原始数据和中间数据的频域数据,获取与原始数据相似的时序数据,并标记为相似数据。
29.与现有技术相比,本发明的有益效果是:
30.1、本发明获取原始数据的波形数据,根据波形数据从时序数据库中获取与其波形相似的时序数据;本发明对时序数据库进行遍历,通过波形数据对比获取相似的时序数据,既能够降低数据处理量提高效率,又能够保证搜索的精度。
31.2、本发明随机选择若干个时刻获取时刻序列,根据时序函数获取对应的导数值序列,再对比导数值序列获取相似的时序数据;本发明没有将时序数据中所有时刻作为分析对象,降低了数据处理量,通过导数值之间的比对,能够表征两个时序函数之间变化趋势的一致性,提高搜索精度。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明的工作步骤示意图。
具体实施方式
34.下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实
施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
35.现有技术(公开号为cn113268636a的发明专利)在数据存储时,构造快速索引和全文索引,在数据检索时再根据构造的索引完成数据提取。现有技术能够提高相似时序数据的检索效率,但是在数据检索之前需要耗费较大精力设置索引,将这一部分时间算上的话,然后不能有效提高相似时序数据的检索效率;本发明获取原始数据的波形数据,根据波形数据从时序数据库中获取与其波形相似的时序数据,在保证搜索效率的同时还能提高搜索精度,以解决上述问题。
36.请参阅图1,本技术第一方面实施例提供了一种时序数据库中快速相似搜索方法,包括时序数据库;
37.获取时序数据,并标记为原始数据;获取原始数据的波形数据;
38.根据波形数据从时序数据库中获取相似波形对应的时序数据,并标记为相似数据;波形相似具体指两个波形数据比对成功。
39.本技术中的波形数据通过多项式拟合法或者sdl语言获取;sdl语言实质就是波形描述语言,通过波形描述语法将历史数据描述为一系列叠代的形式语言序列,通过比较波形描述来寻找相似的时序数据,效率较高。
40.本技术通过波形相似来判定时序数据的相似,避免在时序数据存储时设置索引所消耗的精力,提高搜索效率。
41.本技术在将获取的时序数据标记为原始数据之前,对时序数据进行核验。核验包括完整性核验和内容核验,即需要验证原始数据是否完成,以及内容是否有效,有效且完整的原始数据才能够从时序数据库中搜索到与之相似的时序数据,否则就是在做无用功。
42.在一个实施例中,根据多项式拟合法获取时序数据的波形数据,包括:
43.通过多项式拟合法对时序数据进行拟合,获取对应的时序函数;
44.根据时序函数获取时序数据对应的波形数据。
45.本实施例用于获取时序数据的波形数据;值得注意的是,这里的波形数据包括原始数据以及时序数据库中的时序数据,原始数据也可以是从时序数据库中提取的数据。
46.本实施例中的时序函数对应的决定系数不低于0.9,目的是尽可能保证时序函数与对应时序数据的匹配度,进而保证接下来波形数据获取也能够跟时序数据相匹配。
47.本实施例中的波形数据包括若干个时刻,以及对应的一阶导数值;在另外一些优选的实施例中,波形数据除了包括若干个时刻,以及对应的一阶导数值之外,还包括时序函数对应的决定系数。
48.在一个具体的实施例中,根据时序函数获取波形数据,包括:
49.随机选择若干个时刻,将若干个时刻按照先后顺序进行排序获取时刻序列;
50.获取时序函数的一阶导数,根据一阶导数分别获取时刻序列中的时刻对应的一阶导数值,生成导数值序列;
51.将时刻序列,以及对应的导数值序列整合生成波形数据。
52.本实施例中随机选择的若干个时刻均为时序数据中的对应的时刻,随机选择之后对其进行排序获取时刻序列;可以理解的是,随机选择的时刻应尽可能多,以保证时刻序列
的代表性,也为提高波形数据对比准确度提供数据基础。
53.本实施例获取时刻序列中时刻对应的一阶导数值,并按照其对应时刻的顺序生成导数值序列;可以理解的是,在获取一阶导数值时,若某个时刻的数据处理不符合数学运算规则,则从时刻序列中将该时刻直接删除。
54.在一个可选的实施例中,在获取到时刻序列和导数值序列之后,将时序函数对应的决定系数,以及获取的时刻序列和导数值序列整合生成波形数据。
55.在一个具体的实施例中,根据波形数据搜索相似的时序数据,包括:
56.提取波形数据中的时刻序列;
57.从时序数据库中遍历选取时序数据,并标记为待验证数据;
58.根据时刻序列获取待验证数据对应的导数值序列;
59.对原始数据和待验证数据的导数值序列进行比对,根据比对结果将待验证数据标记为相似数据或者非相似数据。
60.本实施例通过对比原始数据和时序数据库中的待验证数据之间的导数值序列,实质是两个导数值序列的对比,当导数值序列中对应导数值均符合预设条件时,则可以理解为原始数据和待验证数据为相似的时序数据。
61.可以理解的是,需要将时序数据库中的时序数据遍历之后,获取与原始数据相似的所有时序数据。
62.在一个可选的实施例中,可以先比对原始数据和待验证数据时序函数的决定系数,当决定系数的差值不大时(如差值小于0.1),再进行导数值序列之间的比对。
63.在一个具体的实施例中,对导数值序列进行比对,包括:
64.从原始数据和待验证数据的导数值序列中获取同一时刻对应的导数值,并分别标记为第一导数值和第二导数值;
65.当第一导数值和第二导数值同号,且二者差值的绝对值小于差值阈值时,则比对通过;
66.当导数值序列中所有的导数值均比对通过时,则将待验证数据标记为相似数据;否则,将待验证数据标记为非相似数据。
67.本实施例中将两个导数值序列中同一时刻的导数值进行比较,先判定导数值的符号是否相同,导数值符号决定着时序函数是增大还是减小,再比较导数差值,当所有导数差值的绝对值均小于差值阈值时,则将该导数值序列对应的待验证数据记为与原始数据相似的时序数据。再另外一些优选的实施例中,个别时刻对应导数差值的绝对值不小于差值阈值时,也可将该导数值序列对应的待验证数据记为与原始数据相似的时序数据。
68.本技术第二方面的实施例提供了一种时序数据库中快速相似搜索方法,包括时序数据库;
69.获取原始数据的波形数据和频域数据,通过波形数据和频域数据同时对比获取相似的时序数据。
70.本技术中的频域数据通过离散傅立叶变换或者小波变换获取,与sdl语言均可参考发表在期刊《小型微型计算机系统》第25卷第5期的论文《相似时间序列的快速检索算法》,以及该论文的相关引用文章。
71.在一个实施例中,通过波形数据和频域数据获取原始数据对应的相似数据,包括:
72.根据原始数据的波形数据从时序数据库中获取相似波形对应的时序数据,并标记为中间数据;
73.比较原始数据和中间数据的频域数据,获取与原始数据相似的时序数据,并标记为相似数据。
74.本实施例中将波形数据比对成功的待验证数据标记为中间数据,再进行一步频域数据的对比,当频域数据也对比成功时,则将该中间数据对应的时序数据记为与原始数据相似的时序数据。
75.本发明的工作原理:
76.获取时序数据,对时序数据进行完整性核验和内容核验,核验通过之后标记为原始数据。
77.通过多项式拟合法对时序数据进行拟合,获取对应的时序函数;根据时序函数获取时序数据对应的波形数据。
78.根据波形数据从时序数据库中获取相似波形对应的时序数据,标记为相似数据,遍历时序数据库获取所有与原始数据相似的时序数据。
79.以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。
技术特征:
1.一种时序数据库中快速相似搜索方法,包括时序数据库,其特征在于,获取时序数据,并标记为原始数据;获取原始数据的波形数据;其中,波形数据通过多项式拟合法获取;根据波形数据从时序数据库中获取相似波形对应的时序数据,并标记为相似数据。2.根据权利要求1所述的一种时序数据库中快速相似搜索方法,其特征在于,在将获取的所述时序数据标记为原始数据之前,对所述时序数据进行核验;其中,所述核验包括完整性核验和内容核验。3.根据权利要求1所述的一种时序数据库中快速相似搜索方法,其特征在于,获取所述原始数据的波形数据和频域数据,通过波形数据和频域数据同时对比获取相似的时序数据;其中,频域数据通过离散傅立叶变换或者小波变换获取。4.根据权利要求3所述的一种时序数据库中快速相似搜索方法,其特征在于,通过所述波形数据和所述频域数据获取原始数据对应的相似数据,包括:根据原始数据的波形数据从时序数据库中获取相似波形对应的时序数据,并标记为中间数据;比较原始数据和中间数据的频域数据,获取与原始数据相似的时序数据,并标记为相似数据。5.根据权利要求1或3所述的一种时序数据库中快速相似搜索方法,其特征在于,根据所述多项式拟合法获取时序数据的波形数据,包括:通过多项式拟合法对时序数据进行拟合,获取对应的时序函数;其中,时序函数对应的决定系数不低于0.9;根据时序函数获取时序数据对应的波形数据;其中,波形数据包括若干个时刻,以及对应的一阶导数值。6.根据权利要求5所述的一种时序数据库中快速相似搜索方法,其特征在于,根据所述时序函数获取波形数据,包括:随机选择若干个时刻,将若干个时刻按照先后顺序进行排序获取时刻序列;获取时序函数的一阶导数,根据一阶导数分别获取时刻序列中的时刻对应的一阶导数值,生成导数值序列;将时刻序列,以及对应的导数值序列整合生成波形数据。7.根据权利要求6所述的一种时序数据库中快速相似搜索方法,其特征在于,根据所述波形数据搜索相似的时序数据,包括:提取波形数据中的时刻序列;从时序数据库中遍历选取时序数据,并标记为待验证数据;根据时刻序列获取待验证数据对应的导数值序列;对原始数据和待验证数据的导数值序列进行比对,根据比对结果将待验证数据标记为相似数据或者非相似数据。8.根据权利要求7所述的一种时序数据库中快速相似搜索方法,其特征在于,对所述导数值序列进行比对,包括:从原始数据和待验证数据的导数值序列中获取同一时刻对应的导数值,并分别标记为第一导数值和第二导数值;当第一导数值和第二导数值同号,且二者差值的绝对值小于差值阈值时,则比对通过;
当导数值序列中所有的导数值均比对通过时,则将待验证数据标记为相似数据;否则,将待验证数据标记为非相似数据。
技术总结
本发明公开了一种时序数据库中快速相似搜索方法,涉及数据检索技术领域,解决了现有技术在快速检索时序数据时,工作量大,且检索相似时序数据时效率低下的技术问题;本发明获取原始数据的波形数据,根据波形数据从时序数据库中获取与其波形相似的时序数据;本发明对时序数据库进行遍历,通过波形数据对比获取相似的时序数据,既能够降低数据处理量提高效率,又能够保证搜索的精度;本发明随机选择若干个时刻获取时刻序列,根据时序函数获取对应的导数值序列,再对比导数值序列获取相似的时序数据;本发明没有将时序数据中所有时刻作为分析对象,降低了数据处理量,通过导数值之间的比对,表征两个时序函数之间变化趋势的一致性,提高搜索精度。提高搜索精度。提高搜索精度。
技术研发人员:杨剑南
受保护的技术使用者:重庆伏特猫科技有限公司
技术研发日:2022.02.18
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-9625.html