一种基于摘要的时间序列数据索引构建方法技术

技术编号:15639602 阅读:62 留言:0更新日期:2017-06-16 00:35
一种基于摘要的时间序列数据索引构建方法,属于大数据以及数据库技术领域。其核心内容是将时间序列数据分成小的时间片段,然后用线性拟合的方法压缩表示每个时间片段以形成该片段的摘要,对于压缩后的摘要数据构建树状索引结构;当需要可视化查询时,基于构建的索引结构采用增量式可视化技术,确保可视化方法准确高效,而且索引结构建立一次,可供多次查询使用。本方法构造的树状索引结构中,自上而下节点的拟合误差由大变小,可以按照不同查询精度查询展示而且查询结果只搜索索引结构,相比每次查询扫描原始数据数据量大大减小,确保在用户规定的时间延迟内返回查询结果,确保可视化方法高效。

【技术实现步骤摘要】
一种基于摘要的时间序列数据索引构建方法
本专利技术涉及一种基于摘要的时间序列数据索引构建方法,属于大数据以及数据库

技术介绍
时间序列数据表示由传感器网络、金融市场、医疗保健、监控和其他诸多领域中产生的流式数据。随着高频流式数据源的激增,迫切需要针对大量数据的交互式分析和实时可视化技术。例如趋势分析、模式识别、相关性分析、交互式数据发现等。一个时间序列数据可视化的典型例子是显示一个传感器在特定时间范围的值。现在的可视化工具处理该问题,一般分为两种方法:第一种首先从数据库中查询所有满足条件的值,交由可视化模块渲染展示。这种方式需要反馈大量数据从而导致数据传输过程中消耗很大的带宽进而造成很高的延迟。第二种是首先在对查询的结果进行数据压缩,然后返回给可视化模块,这样可以极大的减少数据传输过程中的带宽消耗,但是在压缩数据时,仍然需要扫描所有符合查询条件的数据,这个过程时间代价仍然很高。为了降低扫描压缩数据的时间,可以利用数据摘要算法来压缩时间序列数据的存储量。但两种方法都具有查询时延长、数据传输量大的缺陷。
技术实现思路
本专利技术的目的旨在解决目前常用可视化方法在处理海量时间序列数据时,遇到的查询时延长、数据传输量大的缺陷,提出了一种基于摘要的时间序列数据索引构建方法。本专利技术一种基于摘要的时间序列数据索引构建方法,核心内容是:将时间序列数据分成小的时间片段,然后用线性拟合的方法压缩表示每个时间片段以形成该片段的摘要,对于压缩后的摘要数据构建树状索引结构;当需要可视化查询时,基于构建的索引结构采用增量式可视化技术,确保可视化方法准确高效,而且索引结构建立一次,可供多次查询使用。一种基于摘要的时间序列数据索引构建方法,通过以下步骤实现:步骤1:基于时间序列数据,初始化系统参数;其中,系统参数包括时间序列标号、分段最大误差以及树状索引结构中间节点的子节点个数基准、时间序列片段数组以及保存索引结构时初始化内存缓冲区的大小;其中,时间序列标号,记为i,代表时间序列数据T中第i个时刻,此第i个时刻的值记为vi,第i时刻记为ti,下标i是大于等于0的整数;将原始时间序列分段时最大的误差,即分段最大误差记为ε;树状索引结构中间节点的子节点个数基准记为B,B是一个大于0的整数;时间序列片段数组,记为U,初始化为空;保存索引结构时初始化内存缓冲区的大小,记为X,单位是兆字节;步骤2:对时间序列数据进行分段,输出时间序列片段并保存到时间序列片段数组中;对时间序列数据进行分段可以按照等间隔分段,还可以按照不等间隔分段;若为不等间隔分段,可使用《文献1》中提出的旋转门算法进行分段;《文献1》:BristolEH.Swingingdoortrending:adaptivetrendrecording[C]//ISANationalConferenceProceedings.1990,45;其中,文献1中所述的算法输入对应本专利中的时间序列数据T,文献1中所述算法里的误差对应本专利技术中分段最大误差ε;使用旋转门算法时,将时间序列数据T作为旋转门算法的输入,将分段最大误差ε作为旋转门算法中的最大误差;旋转门算法输出的时间序列片段保存在时间序列片段数组U中;采用旋转门算法进行不等间隔分段,分段结束后,时间序列数据变成了不等间隔的时间片段;步骤3:采用拟合函数对步骤2输出的每一段时间序列片段进行拟合,得到每一段时间序列片段的数据摘要信息;将步骤2输出结果,时间序列片段数组U中的每一项采用线性回归进行拟合,并记录每一项的数据摘要信息下标j对应时间序列片段在U中的顺序,j是大于0小于|U|的整数,|U|代表数组U的长度;其中,ts和te分别代表时间序列片段的开始时刻和结束时刻,vs和ve分别表示ts时刻和te时刻的值,e代表用线性拟合后的直线代替时间序列数据产生的误差,即拟合误差,M代表每一时刻的值累加后的和,P代表每一时刻和该时刻的值相乘后累加的和;vs根据公式(1)计算,ve根据公式(2)计算,e根据公式(3)计算,M根据公式(4)计算,P根据公式(5)计算;vs=f(ts)(1)其中,f(ts)代表ts时刻函数f(t)的值,f(t)代表拟合后直线的函数表达式,用公式(6)表示;ve=f(te)(2)其中,f(te)代表te时刻函数f(t)的值;其中,V(t)代表时间序列数据中t时刻对应的值;代表从ts到te时刻对V(t)与f(t)差值的平方求和;其中,代表从ts到te时刻对V(t)求和;其中,代表从ts到te时刻对V(t)与t的乘积求和;f(t)=ηt+θ(6)其中,η和θ分别为f(t)的拟合斜率和拟合偏置,分别用公式(7)和公式(8)计算:其中,代表从ts到te时刻对的平方求和,代表从ts到te时刻对和V(t)的乘积求和;步骤4:利用步骤3得到的数据摘要信息,构建树状索引结构;具体为:将步骤3中每一项数据摘要信息,当作树中最底层节点,自下而上合并产生上层节点,构建树状索引结构;其中,自下而上合并产生上层节点,即由下一层节点合并产生上一层节点的过程如下:步骤4.1:顺序读取一个下一层节点到数据缓冲区中,数据缓冲区用来暂时保存读到的节点数据,判断节点数据的数量,并进行相应操作:4.1A:当数据缓冲区节点数量达到2*B时,跳至步骤4.2;4.1B:当数据缓冲区节点数量不足2*B且读取的节点不是最后一个节点时,跳回步骤4.1;否则,若数据缓冲区节点数量不足2*B且读取的节点是最后一个节点,跳转至步骤4.5;步骤4.2:合并相邻两个节点为一个节点,将合并产生节点的拟合误差作为合并代价,计算数据缓冲区中合并任意两个相邻节点的合并代价,采用自下而上的方式,选择合并代价最小的两个节点合并,产生一个合并节点;其中,将“合并相邻两个节点为一个节点”中相邻两个节点的一个节点记为N1,另一个节点记为N2,产生的合并节点记为Na,按照步骤3中的描述合并过程是利用N1和N2的数据摘要信息计算出合并节点Na的数据摘要信息;在公式(9)-(20)中,用下标k用来区分不同的节点,即k可以是1,2,a;即用下标k用来区分不同的节点,即k为1时对应节点N1,k为2时对应节点N2,k为a时对应节点Na;如和分别表示节点Nk对应的时间序列片段的开始时刻和结束时刻,和分别表示节点Nk对应的时间序列片段开始时刻的值和结束时刻的值,根据公式(9)计算,根据公式(10)计算;其中,和分别代表时刻和时刻fa(t)的值,并分别记为和和分别为节点Na数据摘要信息中的开始时刻和结束时刻,且节点Na的开始时刻为节点N1的开始时刻节点Na的结束时刻为节点N2的结束时刻fa(t)表示对和之间的时间序列片段采用线性回归拟合后直线的函数表达式,用公式(11)表示,其中,ηa是fa(t)的拟合斜率,Ma为节点N1中M1和节点N2中M2相加的和,表示节点N1对应的时间序列片段的开始时刻,表示节点N2对应的时间序列片段的结束时刻;ea为节点Na的拟合误差,同时也看作为N1和N2的合并代价,拟合误差越小,合并代价越小,反之,拟合误差越大,合并代价越大,ea根据公式(12)计算;其中,e1表示节点N1的拟合误差,e2表示节点N2的拟合误差;f1(t)表示对节点N1对应的时间序列片段,采用线性回归拟合后直线本文档来自技高网...
一种基于摘要的时间序列数据索引构建方法

【技术保护点】
一种基于摘要的时间序列数据索引构建方法,其特征在于:其核心内容是将时间序列数据分成小的时间片段,然后用线性拟合的方法压缩表示每个时间片段以形成该片段的摘要,对于压缩后的摘要数据构建树状索引结构;当需要可视化查询时,基于构建的索引结构采用增量式可视化技术,确保可视化方法准确高效,而且索引结构建立一次,可供多次查询使用,通过以下步骤实现:步骤1:基于时间序列数据,初始化系统参数;步骤2:对时间序列数据进行分段,输出时间序列片段并保存到时间序列片段数组中;步骤3:采用拟合函数对步骤2输出的每一段时间序列片段进行拟合,得到每一段时间序列片段的数据摘要信息;步骤4:利用步骤3得到的数据摘要信息,构建树状索引结构;步骤5:保存步骤4生成的树状索引结构;至此,经过步骤1到步骤5,完成了一种基于摘要的时间序列数据索引构建方法。

【技术特征摘要】
1.一种基于摘要的时间序列数据索引构建方法,其特征在于:其核心内容是将时间序列数据分成小的时间片段,然后用线性拟合的方法压缩表示每个时间片段以形成该片段的摘要,对于压缩后的摘要数据构建树状索引结构;当需要可视化查询时,基于构建的索引结构采用增量式可视化技术,确保可视化方法准确高效,而且索引结构建立一次,可供多次查询使用,通过以下步骤实现:步骤1:基于时间序列数据,初始化系统参数;步骤2:对时间序列数据进行分段,输出时间序列片段并保存到时间序列片段数组中;步骤3:采用拟合函数对步骤2输出的每一段时间序列片段进行拟合,得到每一段时间序列片段的数据摘要信息;步骤4:利用步骤3得到的数据摘要信息,构建树状索引结构;步骤5:保存步骤4生成的树状索引结构;至此,经过步骤1到步骤5,完成了一种基于摘要的时间序列数据索引构建方法。2.根据权利要求1所述的一种基于摘要的时间序列数据索引构建方法,其特征在于:步骤1中,系统参数包括时间序列标号、分段最大误差以及树状索引结构中间节点的子节点个数基准、时间序列片段数组以及保存索引结构时初始化内存缓冲区的大小;其中,时间序列标号,记为i,代表时间序列数据T中第i个时刻,此第i个时刻的值记为vi,第i时刻记为ti,下标i是大于等于0的整数;将原始时间序列分段时最大的误差,即分段最大误差记为ε;树状索引结构中间节点的子节点个数基准记为B,B是一个大于0的整数;时间序列片段数组,记为U,初始化为空;保存索引结构时初始化内存缓冲区的大小,记为X,单位是兆字节。3.根据权利要求1所述的一种基于摘要的时间序列数据索引构建方法,其特征在于:步骤2对时间序列数据进行分段使用下述《文献1》中提出的旋转门算法进行分段;《文献1》:BristolEH.Swingingdoortrending:adaptivetrendrecording[C]//ISANationalConferenceProceedings.1990,45;其中,文献1中所述的算法输入对应本专利中的时间序列数据T,文献1中所述算法里的误差对应本发明中分段最大误差ε;使用旋转门算法时,将时间序列数据T作为旋转门算法的输入,将分段最大误差ε作为旋转门算法中的最大误差;旋转门算法输出的时间序列片段保存在时间序列片段数组U中;采用旋转门算法进行不等间隔分段,分段结束后,时间序列数据变成了不等间隔的时间片段。4.根据权利要求1所述的一种基于摘要的时间序列数据索引构建方法,其特征在于:步骤2对时间序列数据进行分段还可以按照等间隔分段。5.根据权利要求1所述的一种基于摘要的时间序列数据索引构建方法,其特征在于:步骤3将步骤2输出结果,时间序列片段数组U中的每一项采用线性回归进行拟合,并记录每一项的数据摘要信息下标j对应时间序列片段在U中的顺序,j是大于0小于|U|的整数,|U|代表数组U的长度;其中,ts和te分别代表时间序列片段的开始时刻和结束时刻,vs和ve分别表示ts时刻和te时刻的值,e代表用线性拟合后的直线代替时间序列数据产生的误差,即拟合误差,M代表每一时刻的值累加后的和,P代表每一时刻和该时刻的值相乘后累加的和;vs根据公式(1)计算,ve根据公式(2)计算,e根据公式(3)计算,M根据公式(4)计算,P根据公式(5)计算;vs=f(ts)(1)其中,f(ts)代表ts时刻函数f(t)的值,f(t)代表拟合后直线的函数表达式,用公式(6)表示;ve=f(te)(2)其中,f(te)代表te时刻函数f(t)的值;其中,V(t)代表时间序列数据中t时刻对应的值;代表从ts到te时刻对V(t)与f(t)差值的平方求和;其中,代表从ts到te时刻对V(t)求和;其中,代表从ts到te时刻对V(t)与t的乘积求和;f(t)=ηt+θ(6)其中η和θ分别为f(t)的拟合斜率和拟合偏置,分别用公式(7)和公式(8)计算:其中,代表从ts到te时刻对的平方求和,代表从ts到te时刻对和V(t)的乘积求和;6.根据权利要求1所述的一种基于摘要的时间序列数据索引构建方法,其特征在于:步骤4将步骤3中每一项数据摘要信息,当作树中最底层节点,自下而上合并产生上层节点,构建树状索引结构;其中,自下而上合并产生上层节点,即由下一层节点合并产生上一层节点的过程如下:步骤4.1:顺序读取一个下一层节点到数据缓冲区中,数据缓冲区用来暂时保存读到的节点数据,判断节点数据的数量,并进行相应操作:4.1A:当数据缓冲区节点数量达到2*B时,跳至步骤4.2;4.1B:当数据缓冲区节点数量不足2*B且读取的节点不是最后一个节点时,跳回步骤4.1;否则,若数据缓冲区节点数量不足2*B且读取的节点是最后一个节点,跳转至步骤4.5;步骤4.2:合并相邻两个节点为一个节点,将合并产生节点的拟合误差作为合并代价,计算数据缓冲区中合并任意两个相邻节点的合并代价,采用自下而上的方式,选择合并代价最小的两个节点合并,产生一个合并节点;其中,将“合并相邻两个节点为一个节点”中相邻两个节点的一个节点记为N1,另一个节点记为N2,产生的合并节点记为Na,按照步骤3中的描述合并过程是将N1和N2的数据摘要信...

【专利技术属性】
技术研发人员:曹朝曲大成张林
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1