在车联网场景中车辆的时序数据主要包含了车辆轨迹信息(例如车辆速度、车辆GPS坐标等)。本文介绍如何设计车联网场景下的时序表结构和映射表结构。

时序表结构

假设存储车辆元数据的数据表名称为vehicles_timeseriesdata,表结构请参见下表。

字段名称 类型 描述
measurement String 度量名称,表示时间线数据所度量的物理量或者监控指标的名称。
data source String 数据源,表示产生时间线的数据源标识,可以为空。
tags String 时间线的标签信息。您可以自定义多个字符串类型的key-value对。
attributes String 时间线的属性列,用于记录该时间线的一些属性信息,但不作为时间线的标识,不用于唯一确定一个时间线。时间线的属性在格式上类似于标签,为多个字符串类型的key-value对。
timestamp Integer 时间线元数据更新时间的时间戳,单位为微秒。
vin_id String 车辆识别代码,即车架号,用于唯一标识车辆。
mfrs String 生产厂商。
model String 车辆型号。
time Integer 数据上报时间。
speed Double 当前速度。
gps String 车辆GPS坐标,格式为纬度,经度,纬度在前,经度在后,且纬度范围为[-90,+90],经度范围为[-180,+180]。例如30.23,52.78
mileage Double 当前里程数。
emission Double 排放值。

映射表结构

根据每个时间线每个时刻对应一个值或者多个值,时序模型分为“单值模型”和“多值模型”。对于同一个时序表,您可以建立三种SQL映射关系用于数据查询。

单值模型映射表结构

时序表创建后,系统会自动创建单值模型映射关系。在SQL中表名与时序表名称相同,用于以单值模型查询时序数据。

单值模型映射表名称为vehicles_timeseriesdata,表结构请参见下表。

字段名称 类型 描述
_m_name VARCHAR 度量名称。
_data_source VARCHAR 数据源。
_tags VARCHAR 时间线标签,以数组表示。多个标签的格式为 ["tagKey1=tagValue1","tagKey2=tagValue2"] 。

您可以使用tag_value_at函数提取某个标签的值。

_time BIGINT 数据点的时间戳,单位微秒。
_field_name VARCHAR 数据列名。
_long_value BIGINT 整型的数据值。如果该数据列为非整型,则值为NULL。
_double_value DOUBLE 浮点数类型的数据值。如果该数据列为非浮点数,则值为NULL。
_bool_value BOOL 布尔类型的数据值。如果该数据列为非布尔值,则值为NULL。
_string_value VARCHAR 字符串类型的数据值。如果该数据列为非字符串,则值为NULL。
_binary_value MEDIUMBLOB 二进制类型的数据值。如果该数据列为非二进制,则值为NULL。
_attributes VARCHAR 时间线属性,格式与标签相同。
_meta_update_time BIGINT 时间线的元数据更新时间。

当用户更新时间线属性时,系统会自动更新时间线元数据更新时间。此外,如果该时间线的数据持续写入,系统也会定时更新该时间,可用于判断一条时间线是否活跃。

多值模型映射表结构

当以多值模型查询时序数据时,您需要执行CREATE TABLE语句来创建多值模型映射关系。在SQL中表名为时序表名称后拼接::后缀,其中后缀由用户自定义。一个时序表支持创建多个多值模型映射关系。

假设后缀为multi_model,则多值模型映射表名称为vehicles_timeseriesdata::multi_model,表结构请参见下表。

字段名称 类型 描述
_m_name VARCHAR 度量名称。
_data_source VARCHAR 数据源。
_tags VARCHAR 时间线标签,以数组表示。多个标签的格式为 ["tagKey1=tagValue1","tagKey2=tagValue2"] 。您可以使用tag_value_at函数提取某个标签的值。
_time BIGINT 数据点的时间戳,单位微秒。
vin_id VARCHAR 车辆识别代码,即车架号,用于唯一标识车辆。
mfrs VARCHAR 生产厂商。
model VARCHAR 车辆型号。
time BIGINT 数据上报时间。
speed Double 当前速度。
gps VARCHAR 车辆GPS坐标,格式为纬度,经度,纬度在前,经度在后,且纬度范围为[-90,+90],经度范围为[-180,+180]。例如30.23,52.78
mileage Double 当前里程数。
emission Double 排放值。
_attributes(可选) MEDIUMTEXT 时间线属性,格式与标签相同。
_meta_update_time(可选) BIGINT 时间线的元数据更新时间。

时间线元数据映射表结构

时序表创建后,系统会自动创建时间线元数据映射关系。在SQL中表名为时序表名称后拼接::meta,用于查询时间线元数据。假如时序表名称为timeseries_table,则时序元数据表的名称为timeseries_table::meta

时间线元数据映射表名称为vehicles_timeseriesdata::meta,表结构请参见下表。

字段名称 类型 描述
_m_name VARCHAR 度量名称。
_data_source VARCHAR 数据源。
_tags VARCHAR 时间线标签。
_attributes VARCHAR 时间线属性。
_meta_update_time BIGINT 时间线的元数据更新时间。