数据压缩算法¶
EnOS 存储策略支持对数据进行有损压缩后存储。支持的数据压缩算法为死区压缩和旋转门压缩。本文介绍这2种压缩算法的原理。
死区压缩¶
死区压缩算法的原理如下图所示:
具体算法说明如下:
假设数据点1已保存。
在数据点2到达时,比较数据2和数据点1之间的差值。若数据点2在指定的死区范围内,则丢弃该数据点。
在数据点3到达时,比较数据3和数据点1之间的差值。若数据点3不在指定的死区范围内,则保存该数据点。
将数据点3作为新的起始点。在数据点4到达时,比较数据4和数据点3之间的差值。若数据点4在指定的死区范围内,则丢弃该数据点。
旋转门压缩¶
旋转门压缩算法的原理如下图所示:
具体算法说明如下:
假设数据点1已保存。
数据点2到达时,需判断是否保存。
数据点3到达时,在数据点1和数据点3之间形成一条直线,并按照△y上下平移形成两条上下边界。判断数据点2是否在此上下边界内。如果数据点2在边界内,则丢弃该数据点。
数据点4到达时,在数据点1和数据点4之间重新形成一条直线,并按照△y上下平移形成两条上下边界。判断数据点3是否在此上下边界内。如果数据点3在边界内,则丢弃该数据点。
数据点5到达时。在数据点1和数据点5之间重新形成一条直线,并按照△y上下平移形成两条上下边界。判断数据点4是否在此上下边界内。如果数据点4不在边界内,则保存该数据点。
将数据点4作为新的起始点,在数据点4和后续数据点之间形成两条上下边界,判断数据点5是否应被保存。