时序数据,即时间序列数据(time-series data),它们是一组按照时间发生先后顺序进行排列的序列数据。通常一组时间序列的时间间隔为一恒定值(如 1 秒,5 分钟,12 小时,7 天,1 年),因此时序数据可以作为离散时间数据被分析处理。时序数据广泛应用于数理统计、信号处理、模式识别、计量经济学、数学金融、天气预报、地震预测、脑电图、控制工程、航空学、通信工程以及绝大多数涉及到时间数据测量的应用科学与工程学。(from Wikipedia)
在物联网、工业领域中,有着时序数据最典型的应用:
随着人类数据通讯成本的急剧下降,以及各种传感技术和智能设备的出现,工业、物联网企业为了监测设备、生产线及整个系统的运行状态,在各个关键点都配有传感器,采集各种数据。从手环、共享出行、智能电表、环境监测设备到电梯、数控机床、挖掘机、工业生产线等都在源源不断的产生海量的实时数据,这些数据最显著的特点,就是按照时间发生先后顺序进行排列的序列数据,因此属于典型的时序数据(Time-Series Data)。
这些数据是周期或准周期产生的,有的采集频率高,有的采集频率低。一般被发送至服务器中进行汇总并实时处理,对系统的运行做出实时监测或预警。 这些数据也可以被长期保存下来,用以进行离线数据分析,比如:统计设备状态,分析它们每个时刻的状态是正常还是故障;统计时间区间内设备的运行节奏与产出,分析如何进一步优化配置来提升生产效率;统计一段时间内生产过程中的成本分布,分析如何降低生产成本;统计一段时间内的设备异常值,结合业务分析潜在的安全隐患,以降低故障时长。
时序数据本身由时间戳(timestamp)和相应的数据(data)组成。但为了把工业、物联网时序数据的特征、关系和规律进行更好的抽象,我们还需要了解标签和设备 id 的概念: 标签是指物联网、工业设备或其他类型数据采集点的一类特征或属性,这个属性是不随时间变化的,比如设备型号、颜色等。
设备 ID 则是一个可以自定义的唯一的设备名,通常是由一串字符、数字或编码组成。通过设备ID,系统可以准确地辨识出特定的设备。
假设智能电表的采集量(Collected Metrics) 有电流(current)、电压(voltage) 和相位(phase) 三个,有多个带有独立设备 ID(Device ID)的智能电表,每个智能电表都有位置(Location) 和分组(Group ID)这些静态属性。
那么,这些电表采集到的数据集便类似于如下的表格:
可以看到,每一行记录都是有着属于自己的设备 ID(Device ID)、产生时间(Timestamp)、以及每个设备的位置(location)和分组(groupid)的。这样的数据模型很容易让我们把时序数据和物理世界建立起直观的联系。 像这样的时序数据流,但凡有信息设备的地方就会产生,在人类的生产活动中几乎无处不在。尤其是信息智能化高度发达的今天,在蓬勃的工业 4.0 和物联网浪潮之下,时序数据的体量正处于井喷之势:
如果一台智能电表每隔 15 分钟采集一次数据,每天会自动生成 96 条记录,假设全国有 5 亿台智能电表的话,就会生成近 500 亿条时序数据。如果一台联网的汽车每隔 10 到 15 秒就采集一次数据发到云端,那么一天下来就很容易产生 1000 条记录。假设中国有 2 亿车辆联网,它们每天将产生总计 2000 亿条甚至更多的时序数据。(from https://www.taosdata.com/chinese/105.html) 而如何对海量的时序数据集中化存储管理,做好实时计算分析从而支撑科学决策,是物联网、工业大数据平台最大的难题之一。