CN107562374B - 一种非易失性存储器时序数据压缩的量化方法 - Google Patents
一种非易失性存储器时序数据压缩的量化方法 Download PDFInfo
- Publication number
- CN107562374B CN107562374B CN201710689473.0A CN201710689473A CN107562374B CN 107562374 B CN107562374 B CN 107562374B CN 201710689473 A CN201710689473 A CN 201710689473A CN 107562374 B CN107562374 B CN 107562374B
- Authority
- CN
- China
- Prior art keywords
- time
- data
- series data
- time series
- distance
- 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
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种适用于非易失性存储器时序数据压缩的量化方法,包括步骤1、对待压缩的时间序列数据S进行平滑处理得到平滑时间序列数据S',提取S'中的特征点,并记录原始时间序列数据S中对应位置的值;步骤2、利用线性插值法进行时间序列重构,得到重构时间序列T;步骤3、利用动态时间扭曲算法将序列T与S进行对比,求出两序列间的距离,设定距离阈值,若两时间序列间的距离小于此阈值,则这两个时间序列相似,反之则不相似,此时重新调节平滑窗口宽度;本发明的技术效果是,在非易失性存储器存储时间序列数据时,实现了快速重构时间序列数据,确保压缩数据与原始数据的差异处于可接受的范围内的同时,减少了非易失性存储器的写入数据量。
Description
技术领域
本发明属于数据存储技术领域,具体涉及一种非易失性存储器的时序数据压缩。
背景技术
随着半导体技术的发展,非易失存储器(NVM)包括相变存储器(PCM)和忆阻器(memristor)正在受到越来越广泛的关注。由这些新型NVM所产生的RAM有PCRAM、STT-RAM和RRAM等,保存在NVM里的数据具有掉电不丢失的特性,即非易失性。与DRAM相比,NVM具有有限的擦写次数。为了延长NVM的使用寿命,现有的技术可以分为两类:减少写和损耗均衡;减少对NVM的写能延长使用寿命。
目前,许多应用领域都会产生时间序列数据,如无线传感器网络、监控系统以及物联网场景等。同时,在许多应用领域都需要及时存储这些时间序列数据,并保证断电不丢失,这就使得非易失性存储器与时间序列数据的结合成为必然。
在容量一定的情况下,非易失性存储器的寿命会随着数据量的增加而缩短,为了保证数据存储过程的正常进行需要对大量的时间序列数据进行压缩处理,压缩处理需要发现时间序列数据的隐藏趋势或相似之处,发掘隐藏趋势的技术手段能应用于经济预测,天气预报以及物理或环境科学等领域。
欧氏距离是目前使用最广泛的量化两个时间序列数据之间差异的方法,如图1所示,横坐标表示时间戳,纵坐标表示数据值,两条曲线分别表示两条时间序列数据。欧氏距离能在线性时间内(线性时间表示为欧式距离运行时间与数据量成比例)准确地度量时间序列数据之间差异,但是,欧氏距离不能随时间轴自适应地对数据进行位移,即它对时间失真也是非常敏感。这就使得欧氏距离在对时间失真问题等常见的领域(如语音识别)不适用。此外,欧氏距离不能在两个不同长度的时间序列上使用。
动态时间扭曲算法(DTW)可以克服欧式距离的局限性并且正确解决时间序列数据中的时间失真问题。与欧氏距离仅考虑两个时间序列中配对数据点之间的距离不同,动态时间扭曲算法(DTW)可以在另一个时间序列中搜索距离本时间序列中数据点x最近的数据点并计算距离。此外,在添加约束条件之后,DTW可以容忍不同程度的时间失真,或者排除不合理的情况来减少搜索时间。由于其弹性匹配能力和实现的简单性,DTW算法被广泛应用于指纹验证系统,文字识别,色谱数据预处理和面部识别等不同领域。
随着DTW在特定场景的应用,DTW占用的空间很大。例如,DTW用于语音识别时,在参考数据库中必须保持大量的时间序列数据,其中每个时间序列数据包含目标语言中特定单词或短语的声音波形。虽然可以降低时间序列的采样率(即下采样)来减小参考数据库的大小,但这会使语音识别的精度降低。由于非易失性存储器内存空间通常是有限制的,不能承受动态时间扭曲算法(DTW)的内存空间耗用量。
发明内容
本发明所要解决的技术问题就是提供一种非易失性存储器时序数据压缩的量化方法,它能高效压缩并快速重构时间序列,并确保压缩数据与原始数据的差异处于可接受范围内,减少非易失性存储器的写入数据量,从而提高基于非易失性存储器的内存数据分析平台的空间效率。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:
步骤1、设置一个平滑窗口宽度,并对待压缩的时间序列数据S进行平滑处理,得到平滑时间序列数据S',提取平滑时间序列数据S'中的特征点,记录原始时间序列数据S中对应位置的值;
步骤2、根据步骤1保存的特征点,利用线性插值法对平滑时间序列数据S'进行时间序列数据重构,得到重构时间序列数据T;
步骤3、利用动态时间扭曲算法,求出时间序列数据S与重构时间序列数据T之间的距离;设定一个距离阈值,若是两个时间序列数据之间的距离大于此阈值,这两个时间序列数据不相似,则重新调节平滑窗口宽度,直到选取出合适的平滑窗口宽度使得所求距离小于距离阈值。
本发明的技术效果是:当存储原始时间序列数据前,压缩了原始时间序列数据,实现了快速重构时间序列数据,且在确保压缩数据与原始数据的差异处于可接受范围内的同时,减少了非易失性存储器的写入数据量。
附图说明
本发明的附图说明如下:
图1为欧式距离量化的示意图;
图2为本发明的流程图;
图3为实施例的时序数据压缩结果图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明的运行环境是:一台电脑设备,它包含CPU,NVRAM等必要的硬件设备,能够运行基于Linux kernel的操作系统。
依次读取数据集的时间序列数据,将其保存到数组S中,每个元素依次为时间戳对应的数据点。如图2所示,本发明的流程包括以下步骤:
在步骤S01,选取平滑窗口长度ω,从时间序列数据S=(d1,d2…dn)的第一个数据点开始执行步骤S02;
假设时间序列数据S共有n个数据点,且n>>ω,ω初始值为1。
在步骤S02,通过求平滑窗口中所有数据点的平均值,依次计算时间序列数据S中各个数据点的值,计算方法如公式(1):
式(1)中,di'表示时间序列数据S中第i个时间点平滑后得到的新值,dk表示时间序列数据S中第k个时间点的值,并将求得到新的时间序列数据保存到平滑时间序列数据S'中;
平滑后的序列相对原始时间序列消除了轻微的噪声,对每个原始时间序列进行平滑处理,以消除数据点中的局部变化。
在步骤S03,依次读取平滑时间序列数据S'各点的值,判断是否为特征点,特征点选择符合以下四个条件中的一个,&&表示“与”:
(d'(i-1)<d'i&&d' i≥d'(i+1))
(d'(i-1)≤d'i&&d'i>d'(i+1))
(d'(i-1)>d'i&&d'i≤d'(i+1))
(d'(i-1)≥d'i&&d'i<d'(i+1))
若为特征点,则执行步骤S04,若不是,则继续选取点判断;
由本步骤可以看出,特征点为平滑时间序列数据S'中的波峰或者波谷点。
在步骤S04,将特征点的时间戳和数值记录到元组(t,dt)中;
其中t为特征点对应的原始时间序列数据的时间戳,dt为时间戳对应的原始时间序列数据S值。
在步骤S05,根据记录的特征点,利用线性插值法进行时间序列数据重构,得到重构时间序列数据T;
假设两个相邻特征点(t1,dt1)与(t2,dt2),其中,t2>t1,dt2>dt1。因此,在这两个特征点间,需要对t2-t1-1(t1、t2是整数)个丢失的数据进行重构。
式(2)中,dt1为原始时间序列数据S在t1时刻的值,dt2为原始时间序列数据S在t2时刻的值;
式(2)中1≤q≤(t2-t1-1),依次读取任意两个相邻特征点进行重构,得到完整的重构时间序列数据T;
在步骤S06,计算欧式距离,将重构时间序列数据T与原始时间序列数据S间的序列点两两相减,获得一个序列距离矩阵M,M中的每个元素计算如下:
在步骤S07,根据距离矩阵M生成损失矩阵M'(又称为累积距离矩阵),损失矩阵中各元素(M'(a,b))的值则需要逐步计算,具体值的计算式如下:
m'(a,b)=Min[m'(a-1,b-1),m'(a-1,b),m'(a,b-1)]+m(a,b)………(4)
其中,a为损失矩阵M'行坐标,b为损失矩阵M'列坐标;
得到损失矩阵后,矩阵M'的最后一个元素为重构时间序列数据T与时间序列数据S间的距离,记为Cm;
在步骤S08,判断Cm是否大于距离阈值C,C与待压缩的原始时间序列数据相关,不同数据有不同的C,若大于C,则认为此时两序列不相似,则执行步骤S09;否则认为两序列相似,并将特征点存入非易失性存储器中;
在步骤S09,滑动窗口长度增加1,即ω=ω+1,再次执行步骤S01。
实施例
本实施例所用数据为心电图时间序列数据数据集,参见Yanping Chen,EamonnKeogh,Bing Hu,Nurjahan Begum,Anthony Bagnall,Abdullah Mueen and GustavoBatista(2015).The UCR Time Series Classification Archive.URL(UCR时间序列数据的分类存档)www.cs.ucr.edu/~eamonn/time_series_data/;
该时间序列数据集包括一段时间内人类心跳的电活动,共有300条时间序列数据,每条时间序列数据表示一个心跳周期。本实施例以该数据集的第一个心跳周期为例进行说明,整个数据集需要重复执行此实施例300次。
在步骤S01,选取平滑窗口长度ω=1,从心跳周期数据S=(d1,d2…dn)的第一个数据点开始执行步骤S02;其中,n=140,即S中共有140个心跳采样数据;
在步骤S02,通过公式(1),利用平滑窗口依次计算140个心跳采样数据的平滑值;
在步骤S03,依次读取平滑处理后的140个心跳采样数据,判断其是否为特征点。若为特征点,则执行步骤S04,若不是,则继续选取点判断;
在步骤S04,将特征点的时间戳和数值记录到元组(t,dt)中;
在步骤S05,根据记录的特征点,利用公式(2)的线性插值法进行重构,得到重构后的心跳周期数据T;
在步骤S06,计算欧式距离,将重构心跳周期数据T与原始心跳周期数据S间的140个心跳采样数据根据公式(3)进行计算,获得一个距离矩阵M,其中M为一个140*140的矩阵;
在步骤S07,根据公式(4),将步骤S06中的距离矩阵M转换成损失矩阵。得到损失矩阵后,矩阵的最后一个元素为重构后的心跳周期数据T与原始心跳周期数据S间的距离,记为Cm;
在步骤S08,判断Cm是否大于距离阈值C,在本实施例中,我们取C=0。若是,则心跳周期数据T与原始心跳周期数据S不相似,则执行步骤S09;否则两序列相似,将特征点存入非易失性存储器中;
在步骤S09,滑动窗口长度增加1,即ω=ω+1,再次执行步骤S01。
本实施例时序数据压缩结果图3所示,横坐标为平滑窗口宽度,纵坐标为压缩率,由图3看出,随着平滑窗口长度ω的增加,需要存储的特征点个数不断减少,压缩率也在不断提高。
Claims (4)
1.一种非易失性存储器时序数据压缩的量化方法,其特征是,包括以下步骤:
步骤1、设置一个平滑窗口宽度,并对待压缩的时间序列数据S进行平滑处理,得到平滑时间序列数据S',提取平滑时间序列数据S'中的特征点,记录原始时间序列数据S中对应位置的值;
步骤2、根据步骤1保存的特征点,利用线性插值法对平滑时间序列数据S'进行时间序列数据重构,得到重构时间序列数据T;
步骤3、利用动态时间扭曲算法,计算欧式距离,将重构时间序列数据T与原始时间序列数据S间的序列点两两相减,获得一个序列距离矩阵M,M中的每个元素计算如下:
根据距离矩阵M生成损失矩阵M'(又称为累积距离矩阵),损失矩阵中各元素(M'(a,b))的值则需要逐步计算,具体值的计算式如下:
m'(a,b)=Min[m'(a-1,b-1),m'(a-1,b),m'(a,b-1)]+m(a,b)………(4)
其中,a为损失矩阵M'行坐标,b为损失矩阵M'列坐标;
得到损失矩阵后,矩阵M'的最后一个元素为重构时间序列数据T与时间序列数据S间的距离,记为Cm;设定一个距离阈值,若是两个时间序列数据之间的距离大于此阈值,这两个时间序列数据不相似,则重新调节平滑窗口宽度,直到选取出合适的平滑窗口宽度使得所求距离小于距离阈值。
3.根据权利要求2所述的非易失性存储器时序数据压缩的量化方法,其特征是:在步骤1中,所述的平滑时间序列数据S'特征点为平滑时间序列数据S'中的波峰或者波谷点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710689473.0A CN107562374B (zh) | 2017-08-14 | 2017-08-14 | 一种非易失性存储器时序数据压缩的量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710689473.0A CN107562374B (zh) | 2017-08-14 | 2017-08-14 | 一种非易失性存储器时序数据压缩的量化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562374A CN107562374A (zh) | 2018-01-09 |
CN107562374B true CN107562374B (zh) | 2020-05-26 |
Family
ID=60975372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710689473.0A Active CN107562374B (zh) | 2017-08-14 | 2017-08-14 | 一种非易失性存储器时序数据压缩的量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562374B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325060B (zh) * | 2018-07-27 | 2021-10-12 | 山东大学 | 一种基于数据特征的时间序列流数据快速搜索方法 |
CN110188920A (zh) * | 2019-04-26 | 2019-08-30 | 华中科技大学 | 一种锂电池剩余寿命预测方法 |
CN110522441B (zh) * | 2019-08-01 | 2022-03-08 | 北京今科医疗科技有限公司 | 一种心电数据处理方法及装置 |
CN110688362A (zh) * | 2019-08-27 | 2020-01-14 | 浙江浙大中控信息技术有限公司 | 基于时间戳的数据分段式存储方法 |
CN112380268B (zh) * | 2020-10-27 | 2022-03-18 | 国网宁夏电力有限公司经济技术研究院 | 等间隔时间序列压缩方法、装置、设备和存储介质 |
CN114579063B (zh) * | 2022-05-07 | 2022-09-02 | 浙江口碑网络技术有限公司 | Od数据的存储及读取方法、装置、存储介质及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590538B2 (en) * | 1999-08-31 | 2009-09-15 | Accenture Llp | Voice recognition system for navigating on the internet |
US7143352B2 (en) * | 2002-11-01 | 2006-11-28 | Mitsubishi Electric Research Laboratories, Inc | Blind summarization of video content |
US20080111887A1 (en) * | 2006-11-13 | 2008-05-15 | Pixel Instruments, Corp. | Method, system, and program product for measuring audio video synchronization independent of speaker characteristics |
CN101483652A (zh) * | 2009-01-10 | 2009-07-15 | 五邑大学 | 生物特征识别系统 |
-
2017
- 2017-08-14 CN CN201710689473.0A patent/CN107562374B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107562374A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562374B (zh) | 一种非易失性存储器时序数据压缩的量化方法 | |
JP5203693B2 (ja) | メモリ・セル集合体を操作するための方法、メモリ・コントローラ、メモリ・チップ、およびコンピュータ・プログラム | |
CN109887562B (zh) | 电子病历的相似度确定方法、装置、设备和存储介质 | |
US8990792B2 (en) | Method for constructing dynamic call graph of application | |
EP2710472B1 (en) | Memory with metadata stored in a portion of the memory pages | |
CN107391046B (zh) | 一种raid系统的数据写入方法及装置 | |
CN115049169A (zh) | 基于频域和空域结合的区域用电量预测方法、系统及介质 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
US20170271022A1 (en) | Determination of a read voltage to be applied to a page based on read voltages of other pages | |
CN106649143B (zh) | 一种访问缓存的方法、装置及电子设备 | |
US10996739B2 (en) | Reducing power consumption in a neural network environment using data management | |
US10761769B2 (en) | Accessible accumulated memory temperature readings in a memory sub-system | |
Liu et al. | Downsizing without downgrading: Approximated dynamic time warping on nonvolatile memories | |
Li et al. | Downsampling of time-series data for approximated dynamic time warping on nonvolatile memories | |
CN115083506A (zh) | 固态硬盘存储性能测试方法、系统、图像存储设备和硬盘 | |
US11232024B2 (en) | Predictive caching in device for media seek in playback or scrolling | |
CN114138469B (zh) | 固态硬盘的线程自适应分配方法、装置和固态硬盘 | |
CN108984340A (zh) | 存储器数据的容错保护方法、装置、设备及存储介质 | |
CN111954241B (zh) | Wban网络传输的信号数据恢复方法和装置 | |
US11983424B2 (en) | Read disturb information isolation system | |
CN115934577A (zh) | DRAM-less固态硬盘的映射表预加载方法和装置 | |
US20160162326A1 (en) | Compression Within A Set Of Images | |
KR102500904B1 (ko) | 딥러닝 기반 데이터 압축 방법 및 데이터 압축 장치 | |
CN110888823B (zh) | 页扫描效率的提升方法、装置及计算机设备 | |
Wang et al. | A novel SSD fault detection method using GRU-based sparse auto-encoder for dimensionality reduction |
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 |