一种基于回归分析的时序数据索引方法技术

技术编号:19388933 阅读:69 留言:0更新日期:2018-11-10 02:02
本发明专利技术公开了一种基于回归分析的时序数据索引方法,构建与数据块所对应的结构体变量,并将结构体变量依次新增到容器中,同时构建一个线性回归方程,回归方程的自变量为结构体变量中的最小时间,因变量为对应的结构体变量序号。每次新增结构体变量时,使用最小二乘法重新构造回归方程。查询时,将查询条件中的起始时间和终止时间代入查询目标数据列所对应的回归方程,确定目标数据所在的数据块,然后从数据块中提取起始时间和终止时间之间的数据。本发明专利技术不仅提高了海量时序数据的查询速度,避免了由于存贮量的快速增长而出现查询效率降低的情况,同时还能减少时序数据的空间占用。

A time series data indexing method based on regression analysis

The invention discloses a time series data indexing method based on regression analysis, which constructs structural variables corresponding to data blocks, adds structural variables to containers in turn, and constructs a linear regression equation. The independent variable of the regression equation is the minimum time in structural variables, and the dependent variable is the corresponding structure. The ordinal number of body variable. Every time the new structural variables are added, the least squares method is used to reconstruct the regression equation. When querying, the start time and end time of query conditions are substituted into the regression equation corresponding to the query target data column to determine the data block where the target data is located, and then the data between the start time and the end time is extracted from the data block. The invention not only improves the query speed of massive time series data, avoids the situation that the query efficiency decreases due to the rapid growth of storage, but also reduces the space occupation of time series data.

【技术实现步骤摘要】
一种基于回归分析的时序数据索引方法
本专利技术涉及一种数据存贮及索引技术,具体来说是一种基于回归分析的时序数据索引方法。
技术介绍
时序数据是指同一指标按时间顺序记录的数据。随着大数据时代的到来,计算机技术迅速发展并被广泛应用于工业自动化领域。由于工业自动化领域的控制、管理水平的提升以及规模的不断扩大,越来越多的时序数据正被更广范围、更大密度的采集存贮,形成TB级甚至PB级的海量时序数据。如何在这些海量时序数据中快速检索出用户需要的数据,是时序数据块亟待解决的主要问题。为了实现时序数据的快速查询,目前普遍采用B-Tree索引、B+Tree索引等技术,这些索引方法在数据量不大的情况下效率较好,能够满足时序数据快速检索的需求,但随着时序数据存贮量的不断增长,查询效率会逐渐下降。在时序数据达到TB级甚至更大的级别的时候,传统索引方法无论在存贮空间还是查询效率方面,都难以满足需求。
技术实现思路
本专利技术提出了一种基于回归分析的时序数据索引方法,其目的是:(1)提高海量时序数据的查询速度,避免由于存贮量的快速增长而出现查询效率降低的情况;(2)减少时序数据的空间占用。一种基于回归分析的时序数据索引方法,步骤为:所述时序数据依次存贮在数据块中,每个数据块只存贮一个数据列的时序数据,当前数据块存满后创建新的数据块继续存放;每新建一个数据块时,对应该数据块新建一个结构体变量,结构体变量中记录数据块的全局编号、数据块中时序数据的最小时间以及最大时间;数据块中每存入一条新记录时,更改结构体变量中的最大时间值;每存贮一个新的数据列的时序数据时,对应该数据列新建一个有序的容器并定义一个回归方程;所述回归方程的自变量为结构体变量中的最小时间,因变量为对应的结构体变量序号;同一数据列所对应的结构体变量均存放在该数据列所对应的容器中,每次新建结构体变量后,将新增结构体变量添加到对应的容器中;容器中每次新增结构体变量后,依据当前所包含的各结构体变量的最小时间及序号,重新构造所述的回归方程;执行上述步骤直至存贮过程完成;查询时,将查询条件中的起始时间和终止时间代入查询目标数据列所对应的回归方程,确定目标数据所在的数据块,然后从数据块中提取起始时间和终止时间之间的数据。进一步的,当数据块中存贮的记录条数为1时,把当前存入的时序数据的时间作为对应的结构体变量的最小时间值;当数据块中存贮的记录条数大于1时,把当前存入的时序数据的时间作为对应的结构体变量的最大时间值。进一步的,使用最小二乘法构造回归方程。进一步的,第i个数据列所对应的回归方程F[i]为y=ax+b,式中:a、b为根据各结构体变量的最小时间及序号进行拟合所求得的参数值,y为时间值,x为根据时间值y求得的结构体变量序号的计算值。进一步的,a、b初始值设为0。进一步的,构造回归方程的步骤为:1)按序获取容器中所有结构体变量中的序号,得到矢量其中xj为容器中第j个结构体变量的序号,n为容器中最后一个结构体变量的序号;并且,按序获取容器中所有结构体变量中的最小时间值,得到矢量其中yj为容器中第j个结构体变量中记录的最小时间值;2)计算3)计算4)计算5)计算进一步的,查询的具体步骤为:1)将查询条件中的起始时间记为start_t,终止时间记为end_t;2)将start_t作为自变量带入回归方程,求得的因变量向下取整记为x_min,将序号x_min对应的结构体变量中的最小时间值记为start_min_t、最大时间值记为start_max_t;并且,将end_t作为自变量带入回归方程,求得的因变量向下取整记为x_max,将序号x_max对应的结构体变量中的最小时间值记为end_min_t、最大时间值记为end_max_t;3)将“start_t在start_min_t与start_max_t之间”作为判断准则A:如果start_t<start_min_t,则x_min=x_min-1,然后重新计算start_min_t与start_max_t,再次判断准则A,直至满足准则A,或x_min与容器中第一个结构体变量的序号为止;如果start_t>start_max_t,则x_min=x_min+1,然后重新计算start_min_t与start_max_t,再次判断准则A,直至满足准则A,或x_min与容器中最后一个结构体变量的序号相等为止;将“end_t在end_min_t与end_max_t之间”作为判断准则B:如果end_t<end_min_t,则x_max=x_max-1,然后重新计算end_min_t与end_max_t,再次判断准则B,直至满足准则B,或x_max与容器中第一个结构体变量的序号相等为止;如果end_t>end_max_t,则x_max=x_max+1,然后重新计算end_min_t与end_max_t并再次判断准则B,直至满足准则B,或x_max与容器中最后一个结构体变量的序号相等为止;4)从x_min至x_max所对应的数据块中提取符合查询条件的时序数据。相对于现有技术,本专利技术具有以下积极效果:(1)本专利技术结合时序数据时序性、规律性的特点,利用时序数据时间关键字与存贮数据块号的线性关系,采用回归方程索引时序数据,代替传统的索引方法,提高了时序数据的查询效率,并且不会因为时序数据存贮量的快速增长而著降低查询效率;(2)本专利技术通过一个回归方程和一个自定义容器实现索引的存贮,与传统索引方法相比,显著降低了空间占用;(3)本专利技术的索引数据,即回归方程和容器中的数据,可以利用数据块重新计算生成,因此在灾难恢复时相比传统方法更容易快速恢复。附图说明图1为采用最小二乘法拟合出的回归方程的示意图。具体实施方式下面详细说明本专利技术的技术方案:一种基于回归分析的时序数据索引方法,用于不同测点的时序数据的存贮和索引查询。首先进行数据的存贮:将时序数据依次存贮在数据块中,每个数据块只存贮一个数据列即同一个测点的时序数据,当前数据块存满后创建新的数据块继续存放。每新建一个数据块时,对应该数据块新建一个结构体变量,结构体的定义为:structtIndex{unsignedintg_no;unsignedintmax_tunsignedintmin_t;};结构体变量中记录对应的数据块的全局编号g_no、数据块中时序数据的最小时间min_t以及最大时间max_t;数据块中每存入一条新记录时,需要更改结构体变量中的最大时间值max_t:当数据块中存贮的记录条数为1时,把当前存入的时序数据的时间作为对应的结构体变量的最小时间值min_t;当数据块中存贮的记录条数大于1时,把当前存入的时序数据的时间作为对应的结构体变量的最大时间值max_t。每存贮一个新的测点的时序数据时,对应该测点新建一个有序的容器vector<structtIndex>B[i],并定义一个回归方程F[i],i表示测点的ID号。所述回归方程的自变量为结构体变量中的最小时间min_t,因变量为对应的结构体变量序号,该序号从0开始编号,显然最大值为B[i].size()-1。优选的,回归方程F[i]为y=ax+b,用于拟合各数据块最小时间值与数据块序号之间的线性关系。其中,a、b为根据各结构体变量的最本文档来自技高网...

【技术保护点】
1.一种基于回归分析的时序数据索引方法,其特征在于:所述时序数据依次存贮在数据块中,每个数据块只存贮一个数据列的时序数据,当前数据块存满后创建新的数据块继续存放;每新建一个数据块时,对应该数据块新建一个结构体变量,结构体变量中记录数据块的全局编号、数据块中时序数据的最小时间以及最大时间;数据块中每存入一条新记录时,更改结构体变量中的最大时间值;每存贮一个新的数据列的时序数据时,对应该数据列新建一个有序的容器并定义一个回归方程;所述回归方程的自变量为结构体变量中的最小时间,因变量为对应的结构体变量序号;同一数据列所对应的结构体变量均存放在该数据列所对应的容器中,每次新建结构体变量后,将新增结构体变量添加到对应的容器中;容器中每次新增结构体变量后,依据当前所包含的各结构体变量的最小时间及序号,重新构造所述的回归方程;执行上述步骤直至存贮过程完成;查询时,将查询条件中的起始时间和终止时间代入查询目标数据列所对应的回归方程,确定目标数据所在的数据块,然后从数据块中提取起始时间和终止时间之间的数据。

【技术特征摘要】
1.一种基于回归分析的时序数据索引方法,其特征在于:所述时序数据依次存贮在数据块中,每个数据块只存贮一个数据列的时序数据,当前数据块存满后创建新的数据块继续存放;每新建一个数据块时,对应该数据块新建一个结构体变量,结构体变量中记录数据块的全局编号、数据块中时序数据的最小时间以及最大时间;数据块中每存入一条新记录时,更改结构体变量中的最大时间值;每存贮一个新的数据列的时序数据时,对应该数据列新建一个有序的容器并定义一个回归方程;所述回归方程的自变量为结构体变量中的最小时间,因变量为对应的结构体变量序号;同一数据列所对应的结构体变量均存放在该数据列所对应的容器中,每次新建结构体变量后,将新增结构体变量添加到对应的容器中;容器中每次新增结构体变量后,依据当前所包含的各结构体变量的最小时间及序号,重新构造所述的回归方程;执行上述步骤直至存贮过程完成;查询时,将查询条件中的起始时间和终止时间代入查询目标数据列所对应的回归方程,确定目标数据所在的数据块,然后从数据块中提取起始时间和终止时间之间的数据。2.如权利要求1所述的基于回归分析的时序数据索引方法,其特征在于:当数据块中存贮的记录条数为1时,把当前存入的时序数据的时间作为对应的结构体变量的最小时间值;当数据块中存贮的记录条数大于1时,把当前存入的时序数据的时间作为对应的结构体变量的最大时间值。3.如权利要求1所述的基于回归分析的时序数据索引方法,其特征在于:使用最小二乘法构造回归方程。4.如权利要求3所述的基于回归分析的时序数据索引方法,其特征在于:第i个数据列所对应的回归方程F[i]为y=ax+b,式中:a、b为根据各结构体变量的最小时间及序号进行拟合所求得的参数值,y为时间值,x为根据时间值y求得的结构体变量序号的计算值。5.如权利要求4所述的基于回归分析的时序数据索引方法,其特征在于:a、b初始值设为0。6.如权利要求4所述的基于回归分析的时序数据索引方法,其特征在于构造回归方程的步骤为:1)按序获取容器中所有结构体变量中的序号,得到矢量其中xj为容器中第j个结构体变量的序号,n为容器中最后一个...

【专利技术属性】
技术研发人员:王兴信唐军沛高贞彦吴海勇王飞杜忠晓刘芳荣辛红
申请(专利权)人:东方电子股份有限公司
类型:发明
国别省市:山东,37

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

1