FlashTsDB时序数据库-SDT算法(Java)实现
FLashDB基于开源模式开发,地址:https://github.com/amon1991/flashdb
1、SDT原理

2、压缩算法
Point对象
public class Point implements Comparable<Point> {
private long x; // 时间戳
private double y; // 测点值
// ... 此处省略set,get方法
}
SdtPeriod对象
public class SdtPeriod {
private long bgTime; // 压缩段开始时间
private double bgValue; // 压缩段开始值
private long endTime; // 压缩段结束时间
private double endValue;// 压缩段结束值
private double gradient; // 梯度
// ... 此处省略set,get方法
}
压缩算法
/**
* SDT algorithm compress function
*
* @param originPoints 待压缩的点集
* @param accuracyE 旋转门大小
* @return
*/
public List<SdtPeriod> sdtCompress(List<Point> originPoints, double accuracyE) {
List<SdtPeriod> sdtPeriodList = new ArrayList<>();
if (null != originPoints && originPoints.size() > 0) {
SdtPoints sdtPoints = new SdtPoints();
double upGate = -Double.MAX_VALUE;
double downGate = Double.MAX_VALUE;
for (int i = 0, size = originPoints.size(); i < size; i++

本文介绍了FlashTsDB时序数据库中SDT算法的Java实现,包括SDT原理、压缩算法(Point对象和SdtPeriod对象)及解压算法的详细内容。
实现&spm=1001.2101.3001.5002&articleId=111885751&d=1&t=3&u=636dabff32d44289bcebca0f7cf7971c)
1890

被折叠的 条评论
为什么被折叠?



