时序模型设计

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

时序表结构

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

字段名称

类型

描述

_m_name

String

度量名称,表示时间线数据所度量的物理量或者监控指标的名称。

_data_source

String

数据源,表示产生时间线的数据源标识,可以为空。

_tags

String

时间线的标签信息。您可以自定义多个字符串类型的key-value对。

_time

Integer

数据上报时间。

vin_id

String

车辆识别代码,即车架号,用于唯一标识车辆。

mfrs

String

生产厂商。

model

String

车辆型号。

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

车辆型号。

speed

Double

当前速度。

gps

VARCHAR

车辆GPS坐标,格式为纬度,经度,纬度在前,经度在后,且纬度范围为[-90,+90],经度范围为[-180,+180]。例如30.23,52.78

mileage

Double

当前里程数。

emission

Double

排放值。

时间线元数据映射表结构

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

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

字段名称

类型

描述

_m_name

VARCHAR

度量名称。

_data_source

VARCHAR

数据源。

_tags

VARCHAR

时间线标签。

_attributes

VARCHAR

时间线属性。

_meta_update_time

BIGINT

时间线的元数据更新时间。

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