基于数据并行的时间序列分析方法与系统技术方案

技术编号:17162230 阅读:81 留言:0更新日期:2018-02-01 20:28
本发明专利技术的公开了一种基于数据并行的时间序列分析方法及系统,本方法在解决时间序列数据分析问题时,不需要划分应用程序,也不需要将问题映射到分布式进程集合,根据本方法设计的应用程序将数据作为一个整体对待,运行时由计算平台自适应地创建进程,无需人为干预;本方法采用分段冗余的方式,通过计算过程中的数据冗余减少了通信量,提高了并行效率,并且对各计算节点的任务量平均分配,降低了集群资源要求,故不需要解决通信延迟大和负载不平衡的问题;根据本方法所适用的计算平台,设计出的应用程序可靠性强,即便某个进程或计算节点失效,剩余计算任务也可由其他进程或计算节点接替和完成,可以保证计算结果的正确性。

Time series analysis method and system based on data parallel

The invention discloses a method and system for analyzing time series data parallel based on the method in solving the problem of time series data, do not need to divide the application, also do not need to be mapped to the problem of distributed process sets, according to the design method of the application data will be treated as a whole, operation the adaptive computing platform to create the process without human intervention; the method of using piecewise redundancy, reduce the amount of communication through the data redundancy calculation process, improve the efficiency of parallel tasks, and the amount of each computing node average allocation, reduce the cluster resource requirements, it does not need to solve the communication delay and load imbalance; according to the method for computing platform, application design reliability, even if a process or node failure The remaining computation tasks can also be replaced and completed by other processes or computing nodes, which can ensure the correctness of the calculation results.

【技术实现步骤摘要】
基于数据并行的时间序列分析方法与系统
本专利技术涉及时间序列分析
,具体而言,涉及一种基于数据并行的时间序列分析方法及系统。
技术介绍
随着物联网、大数据等新一代信息技术逐渐向工业领域渗透,现代工业设备中安装了数以千计的传感器,来探测温度、压力、振动和噪声。传感器产生的数据经过解码和转换后形成一维或高维的序列数据,数据量远大于企业中计算机和人工产生的数据。利用这些序列数据可以找出被监测对象的一些特征,进而实现设备诊断、故障预测等分析。现有的时间序列分析方法主要有两种:(1)一种是通过单台计算机上的串行或多线程的矩阵运算方法对时间序列数据进行分析;(2)还有一种是通过基于超性能计算框架MPI实现的并行计算平台,利用多个计算节点上的计算资源结合并行的矩阵运算方法对时间序列数据进行并行分析。其中第一种时间序列分析方法缺点在于:计算效率低,适用范围小,仅适用于小规模的时间序列数据,分析所使用的算法难以在可接受的时间内完成计算。第二种时间序列分析方法虽然适用于大规模的时间序列数据,但其易用性差:并行效率较低,对集群资源要求较高,如果集群资源不足以启动所有计算实例,则可能造成分析任务一直等待的问题,并且计算实例较多时会极大地增加通信开销,导致分析任务所用时间过度增长。现有的时间序列分析系统主要有两种:第一种是借助于运行在单机上的矩阵运算系统中的时间序列分析功能实现,如SPSS、Matlab和R等系统中包含的大量的时间序列分析算法和开源库;第二种是借助于运行在分布式集群上的计算系统中的时间序列分析功能实现,例如MLlib、RHadoop和Mahout等分布式矩阵运算系统中含有的少量时间序列分析算法。然而现有的时间序列分析系统存在以下问题:第一种时间序列分析系统的缺点在于:可处理数据规模小,在需要进行分析的时间序列数据的数量变得巨大时,数据处理速度远远低于数据生成速度,甚至因为超出算法运行所需内存的容量而无法运行,无法做到实时分析。第二种时间序列分析系统的缺点在于:第二种时间序列分析系统中所含有的开源库算法数量非常有限,并且大多数适用于时间序列分析的算法是基于特定计算平台的任务并行型算法。面对不同的分析应用问题需求,通常需要重复编写和测试新的并行化算法,把实际分析工作的大部分时间花费在底层复杂的并行化和分布式编程和调试上,给上层数据分析和算法设计工作带来很大的不便和困难。除此之外,第二种还存在易用性差的问题,其并行效率较低,对集群资源要求较高,如果集群资源不足以启动所有计算实例,则可能造成分析任务一直等待的问题,并且计算实例较多时会极大地增加通信开销,导致分析任务所用时间过度增长。
技术实现思路
本专利技术的主要目的在于提供基于数据并行的时间序列分析方法及系统,以解决现有技术中时间序列分析方法和系统中的可处理数据规模小、算法可移植性差、易用性差等问题。为了实现上述目的,根据本专利技术的一个方面,提供了一种基于数据并行的时间序列分析方法,其步骤如下:a.输入分析时间序列数据所要使用的分析算法;b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;所述步骤b具体包括如下步骤:(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数。c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果。所述步骤c具体包括如下步骤:(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。本方法在解决时间序列数据分析问题时,不需要划分应用程序,也不需要将问题映射到分布式进程集合,根据本方法设计的应用程序将数据作为一个整体对待,运行时由计算平台自适应地创建进程,无需人为干预;本方法采用分段冗余的方式,通过计算过程中的数据冗余减少了通信量,提高了并行效率,并且对各计算节点的任务量平均分配,降低了集群资源要求,故不需要解决通信延迟大和负载不平衡的问题;根据本方法所适用的计算平台,设计出的应用程序可靠性强,即便某个进程或计算节点失效,剩余计算任务也可由其他进程或计算节点接替和完成,可以保证计算结果的正确性。由于本方法有划分数据的步骤,故实际处理时的单次运算量在可控范围内,不易出现内存溢出问题。根据计算平台的配置,可以设置合适的计算节点数量,例如可以通过增加计算节点的方式有效地减少计算时间。进一步地,子步骤(b4)和子步骤(b5)在度量分析结果的相似程度时,衡量标准为皮尔逊相关系数,定义相关系数ρxy:式中,xn和yn是两个能量有限的确定性信号.当xn=yn时,ρxy=1表明两个信号完全相等;若ρxy=0,则表明它们完全无关.如果两个信号有某种程度上的相似,则ρxy在0到1之间取值。进一步地,所述子步骤(b5)具体为,多次迭代的模拟分析过程中,分析结果的相似程度取得最高值时所采用的分段长度作为最小分段长度,该值作为上述迭代分析的初始条件。获取最小分段长度的具体方法如下:对于总长度为m的待分析时间序列X={x1,x2,...,xm},被分割成m/LS个长度为LS的非重叠子序列,每个子序列分别向左右两侧各取长度为LR的冗余,由此形成m/LS个长度为n的并行单元,其中n=2LR+LS。由于增大LR会导致时间和空间效率均呈上升趋势,故后续分析将寻找最优分段长度LS以取得时间代价和空间代价的平衡。定义采用数据并行的时空代价CostT(LS):式中,T(n)是指长度为n的单个并行单元在利用分析算法计算时的时间复杂度;T(m)是指总长度为m的时间序列在利用相同的分析算法计算时的时间复杂度;C为常数,是除计算外的其他时间开销,具体是根据计算工具的启动时间和通信时间开销等实际情况进行测定和设置.由时间代价定义式计算得到的时间代价取值范围0<CostT(LS)<1。当计算时间T(n)超过启动时间C时,LS越大,时间代价则越大,在长度为n的并行单元中,非重叠子序列的长度为LS,定义采本文档来自技高网
...
基于数据并行的时间序列分析方法与系统

【技术保护点】
基于数据并行的时间序列分析方法,其步骤如下:a.输入分析时间序列数据所要使用的分析算法;b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;所述步骤b具体包括如下步骤:(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数,c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果,所述步骤c具体包括如下步骤:(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。...

【技术特征摘要】
1.基于数据并行的时间序列分析方法,其步骤如下:a.输入分析时间序列数据所要使用的分析算法;b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;所述步骤b具体包括如下步骤:(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数,c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果,所述步骤c具体包括如下步骤:(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。2.如权利要求1所述的基于数据并行的时间序列分析方法,其特征在于,子步骤(b4)和子步骤(b5)在度量分析结果的相似程度时,衡量标准为皮尔逊相关系数,定义相关系数ρxy:式中,xn和yn是两个能量有限的确定性信号.当xn=yn时,ρxy=1表明两个信号完全相等;若ρxy=0,则表明它们完全无关.如果两个信号有某种程度上的相似,则ρxy在0到1之间取值。3.如权利要求2所述的基于数据并行的时间序列分析方法,其特征在于,所述子步骤(b5)具体为,多次迭代的模拟分析过程中,分析结果的相似程度取得最高值时所采用的分段长度作为最小分段长度,该值作为上述迭代分析的初始条件。4.如权利要求2所述的基于数据并行的时间序列分析方法,其特征在于,获取最小分段长度的具体方法如下:对于总长度为m的待分析时间序列X={x1,x2,...,xm},被分割成m/LS个长度为LS的非重叠子序列,每个子序列分别向左右两侧各取长度为LR的冗余,由此形成m/LS个长度为n的并行单元,其中n=2LR+LS,定义采用数据并行的时空代价CostT(LS):式中,T(n)是指长度为n的单个并行单元在利用分析算法计算时的时间复杂度;T(m)是指总长度为m的时间序列在利用相同的分析算法计算时的时间复杂度;C为常数,是除计算外的其他时间开销,由时间代价定义式计算得到的时间代价取值范围0<CostT(LS)<1,在长度为n的并行单元中,非...

【专利技术属性】
技术研发人员:滕飞黄齐川李勇李天瑞
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川,51

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

1