摘要:目前,物联网、工业互联网、车联网等智能互联技术在各个行业场景下快速普及应用,导致联网传感器、智能设备数量急剧增加,随之而来的海量时序监控数据存储、处理问题,也为时序数据库高效压缩、存储数据能力提出了更高的要求。对于通量愈加庞大的物联网时序大数据存储,尽管标准压缩方法还能发挥其价值,但某些场景对时序数据压缩解压技术效率、性能提出了新的需求。本文介绍了现有的时序数据压缩解压技术,分类介绍了不同算法的特点和优劣势。
时序数据普遍存在于IoT物联网、工业互联网、车联网等相关场景,物联网设备已遍布各种行业场景应用,从可穿戴设备到工业生产设备,都会或将会产生大量数据。比如,新型波音787客机每次飞行传感器产生的数据量都在500GB左右。在这些场景下,通常具备高并发写和高通量数据处理特点,选择时序数据压缩算法需要全方位考虑数据采集、存储、分析的需要。特别需要注意的是业务应用对时序数据当前和历史数据分析的方式,选择压缩算法不当将可能导致关键信息丢失,从而影响分析结果。对于业务来说,更直接使用时序数据压缩技术的应用就是时序数据库,对于时序数据库压缩解压是关键数据处理步骤,压缩算法性能直接影响时序数据库建设投入的ROI。
一 时序数据压缩
对于数据压缩算法,业界存在更普遍的解释,通常是针对通用场景和业务相关场景,比如视频、音频、图像数据流压缩。本文重点介绍时序数据库中常用的面向时序数据设计或可用于时序数据处理的通用压缩算法。我们选择分析的算法具备对更普遍场景下持续产生时序数据压缩处理的能力,并对IoT物联网场景传感器数据压缩的以下特点做了特殊设计:
1、数据冗余(Redundancy):一些特定模式的时序数据经常性重复出现在一个或多个时间序列。
2、函数估算(Approximability):某些传感器产生的时序数据生成模式可以根据预定义函数估算。
3、趋势预测(Predictability):某些时序数据未来趋势可以通过算法预测,例如利用回归、深度神经网络等技术。
图 时序数据压缩算法分类
本文重点总结了时序数据库和物联网IoT传感器管理常用压缩算法,并根据技术方法(dictionary-based, functional approximation, autoencoders, sequential等)和技术属性(adaptiveness, lossless reconstruction, symmetry, tuneability)对碎片化的压缩技术进行了分类,详细参考上图,并针对主要算法性能进行了对比分析。
二 背景技术介绍
在介绍压缩算法之前,我们先对时序数据、压缩和品质指数(quality indices)几个关键的概念进行定义。
1 时序数据(Time Series)
时序数据指数据元组根据时间戳(ti)升序排列的数据集合,可以被划分为:
1、单变量时序(Univariate Time Series,UTS):每次采集的数据元组集合为单个实数变量。
2、多变量时序(Multivariate Time Series ,MTS):每次采集的数据元组集合由多个实数序列组成,每个组成部分对映时序一个特征。
比如,图2中股票价格在指定时间窗口的波动可以被定义为单变量时序数据,而每天交易信息(如:开盘、收盘价格,交易量等)则可以定义为多变量时序数据。